All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:40,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:41,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:42,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:43,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:44,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:45,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:47,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:48,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:50,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:51,1
    - Dst: exit
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: usage
    functionSourceFile: /src/PROJ/test/benchmark/bench_proj_trans.cpp
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:65,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:66,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:68,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:71,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:72,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:74,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:77,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:78,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:80,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:83,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:84,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:86,1
    - Dst: atoi
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:87,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:89,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:91,1
    - Dst: atof
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:92,1
    - Dst: strcmp
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:94,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:96,1
    - Dst: atof
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:97,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:101,1
    - Dst: atof
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:103,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:105,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:109,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:111,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:113,1
    - Dst: proj_create
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:114,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:114,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:115,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:115,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:116,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:116,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:116,1
    - Dst: usage
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:119,1
    - Dst: exit
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:122,1
    - Dst: proj_trans
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:130,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:132,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:135,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:138,1
    - Dst: tvrealnow
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:144,1
    - Dst: rand
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:147,1
    - Dst: rand
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:149,1
    - Dst: tvrealnow
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:153,1
    - Dst: tvrealnow
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:155,1
    - Dst: rand
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:158,1
    - Dst: rand
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:160,1
    - Dst: proj_trans
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:163,1
    - Dst: tvrealnow
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:165,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:167,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:168,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:170,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:172,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:172,1
    - Dst: auto::count
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:172,1
    - Dst: printf
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:173,1
    - Dst: static_cast<double>
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:174,1
    - Dst: static_cast<double>
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:175,1
    - Dst: auto::count
      Src: /src/PROJ/test/benchmark/bench_proj_trans.cpp:175,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/PROJ/test/benchmark/bench_proj_trans.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_create_crs_to_crs
    - proj_context_destroy
    - proj_context_create
    - proj_destroy
    - static_cast<double>
    - rand
    - auto::count
    - std::string::empty
    - printf
    - atof
    - static_cast<int>
    - usage
    - proj_trans
    - exit
    - atoi
    - strcmp
    - proj_create
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - tvrealnow
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:7,1
    - Dst: proj_coord
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:16,1
    - Dst: proj_trans
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:17,1
    - Dst: precision
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:18,1
    - Dst: setf
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:19,1
    - Dst: proj_trans
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:21,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 26
    functionName: test_transform
    functionSourceFile: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - precision
    - proj_destroy
    - proj_trans
    - setf
    - proj_coord
    linkageType: ''
    returnType: int
    signature: int test_transform()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proj_info
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:30,1
    - Dst: test_transform
      Src: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp
    functionUses: 0
    functionsReached:
    - proj_info
    - test_transform
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:7,1
    - Dst: fprintf
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:12,1
    - Dst: proj_coord
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:16,1
    - Dst: proj_trans
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:17,1
    - Dst: printf
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:18,1
    - Dst: proj_trans
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:19,1
    - Dst: printf
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:20,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: test_transform
    functionSourceFile: /src/PROJ/test/postinstall/c_app/c_app.c
    functionUses: 1
    functionsReached:
    - printf
    - proj_create_crs_to_crs
    - proj_destroy
    - fprintf
    - proj_trans
    - proj_coord
    linkageType: ''
    returnType: int
    signature: int test_transform()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proj_info
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:27,1
    - Dst: test_transform
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:31,1
    - Dst: printf
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:33,1
    - Dst: printf
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:36,1
    - Dst: fprintf
      Src: /src/PROJ/test/postinstall/c_app/c_app.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/PROJ/test/postinstall/c_app/c_app.c
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - proj_info
    - test_transform
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:50,1
    - Dst: strrchr
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:51,1
    - Dst: setenv
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:54,1
    - Dst: setenv
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:56,1
    - Dst: free
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - strrchr
    - free
    - strdup
    - setenv
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int * /*argc*/, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:65,1
    - Dst: malloc
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:72,1
    - Dst: memcpy
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:73,1
    - Dst: strchr
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:76,1
    - Dst: free
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:78,1
    - Dst: fprintf
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:85,1
    - Dst: fprintf
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:86,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:89,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:90,1
    - Dst: free
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:92,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - free
    - proj_create_crs_to_crs
    - memcpy
    - strchr
    - proj_destroy
    - malloc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:104,1
    - Dst: fopen
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:113,1
    - Dst: fprintf
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:115,1
    - Dst: exit
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:116,1
    - Dst: fseek
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:118,1
    - Dst: ftell
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:119,1
    - Dst: fseek
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:120,1
    - Dst: malloc
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:121,1
    - Dst: fprintf
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:123,1
    - Dst: fclose
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:124,1
    - Dst: exit
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:125,1
    - Dst: fread
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:127,1
    - Dst: fprintf
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:128,1
    - Dst: fclose
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:129,1
    - Dst: free
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:130,1
    - Dst: exit
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:131,1
    - Dst: fclose
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:133,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:134,1
    - Dst: free
      Src: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - free
    - ftell
    - fopen
    - LLVMFuzzerTestOneInput
    - fclose
    - fseek
    - exit
    - malloc
    - fread
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_fork.c:44,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_fork.c:45,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_fork.c:49,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_fork.c:51,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_fork.c:54,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_fork.c:57,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_fork.c:59,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_fork.c:60,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_fork.c:63,1
    - Dst: fork
      Src: /src/PROJ/test/unit/test_fork.c:69,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_fork.c:71,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_fork.c:76,1
    - Dst: _exit
      Src: /src/PROJ/test/unit/test_fork.c:78,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_fork.c:79,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_fork.c:82,1
    - Dst: _exit
      Src: /src/PROJ/test/unit/test_fork.c:84,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_fork.c:85,1
    - Dst: _exit
      Src: /src/PROJ/test/unit/test_fork.c:87,1
    - Dst: waitpid
      Src: /src/PROJ/test/unit/test_fork.c:92,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_fork.c:94,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_fork.c:100,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_fork.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/PROJ/test/unit/test_fork.c
    functionUses: 0
    functionsReached:
    - _exit
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - fork
    - proj_context_create
    - waitpid
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/PROJ/test/unit/test_fork.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:39,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:42,1
    - Dst: projinfo
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:53,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:54,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    - projinfo
    - std::string::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(projinfo_lib, simple)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:60,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:63,1
    - Dst: projinfo
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:74,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:75,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    - projinfo
    - std::string::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(projinfo_lib, error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:81,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:84,1
    - Dst: projinfo
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:96,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    - projinfo
    - std::string::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(projinfo_lib, warning)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:102,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:105,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:111,1
    - Dst: projinfo
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:119,1
    - Dst: projinfo
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:128,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 131
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - projinfo
    - EXPECT_EQ
    - proj_context_destroy
    - std::string::find
    - proj_context_create
    - static_cast<bool *>
    linkageType: ''
    returnType: void
    signature: void TEST(projinfo_lib, use_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: projinfo
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_projinfo_lib.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - projinfo
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(projinfo_lib, works_without_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char *>
      Src: /src/PROJ/test/unit/test_network.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dataIn
    - word_size
    - word_count
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: swap_words
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char *>
    linkageType: ''
    returnType: void
    signature: void swap_words(void *dataIn, size_t word_size, size_t word_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nmemb
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: noop_curl_write_func
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t noop_curl_write_func(void *, size_t, size_t nmemb, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/test/unit/test_network.cpp:91,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/test/unit/test_network.cpp:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/test/unit/test_network.cpp:97,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/test/unit/test_network.cpp:98,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/test/unit/test_network.cpp:100,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/test/unit/test_network.cpp:103,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:105,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TEST(networking, initial_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: silent_logger
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void silent_logger(void *, int, const char *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:129,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:130,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:131,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:132,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:133,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:134,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:136,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:140,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:140,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:141,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:142,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:144,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:146,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:147,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:148,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:148,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:151,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:154,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:155,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:156,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:157,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:158,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:159,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:161,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:164,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:165,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:166,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:167,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:172,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:173,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:178,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:180,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:181,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:183,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:185,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:187,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 189
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_cleanup
    - ASSERT_EQ
    - proj_context_set_enable_network
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - EXPECT_NEAR
    - const_cast<char *>
    - putenv
    - proj_trans_generic
    linkageType: ''
    returnType: void
    signature: void TEST(networking, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:196,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:197,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:198,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:199,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:200,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - ASSERT_EQ
    - proj_create
    - proj_context_destroy
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_invalid_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: Event::~Event()
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Event::~Event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: OpenEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: CloseEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CloseEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: GetHeaderValueEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetHeaderValueEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: ReadRangeEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadRangeEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/test/unit/test_network.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: allConsumedAndNoError
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool allConsumedAndNoError() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:271,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:274,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:275,1
    - Dst: dynamic_cast<OpenEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:281,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:281,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:283,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:287,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:295,1
    - Dst: auto::url::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:298,1
    - Dst: auto::errorMsg::empty
      Src: /src/PROJ/test/unit/test_network.cpp:303,1
    - Dst: snprintf
      Src: /src/PROJ/test/unit/test_network.cpp:304,1
    - Dst: auto::errorMsg::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:305,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:309,1
    - Dst: auto::response::data
      Src: /src/PROJ/test/unit/test_network.cpp:309,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:309,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:310,1
    - Dst: reinterpret_cast<PROJ_NETWORK_HANDLE *>
      Src: /src/PROJ/test/unit/test_network.cpp:311,1
    - Dst: File::File
      Src: /src/PROJ/test/unit/test_network.cpp:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 9
    argNames:
    - ctx
    - url
    - offset
    - size_to_read
    - buffer
    - out_size_read
    - error_string_max_size
    - out_error_string
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - char*
    - unsigned long long
    - size_t
    - void*
    - size_t*
    - size_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 314
    functionName: open_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - File::File
    - auto::errorMsg::c_str
    - dynamic_cast<OpenEvent *>
    - get
    - memcpy
    - auto::response::data
    - reinterpret_cast<PROJ_NETWORK_HANDLE *>
    - snprintf
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - auto::errorMsg::empty
    - auto::url::c_str
    - type::c_str
    - auto::response::size
    - fprintf
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *open_cbk(PJ_CONTEXT *ctx, const char *url,\n
      \                                    unsigned long long offset,\n                                     size_t
      size_to_read, void *buffer,\n                                     size_t *out_size_read,\n
      \                                    size_t error_string_max_size,\n                                     char
      *out_error_string, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:318,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:321,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:322,1
    - Dst: dynamic_cast<CloseEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:327,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:327,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:329,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:332,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:337,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:342,1
    - Dst: reinterpret_cast<File *>
      Src: /src/PROJ/test/unit/test_network.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - handle
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: close_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - get
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - dynamic_cast<CloseEvent *>
    - reinterpret_cast<File *>
    - type::c_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void close_cbk(PJ_CONTEXT *ctx, PROJ_NETWORK_HANDLE *handle,\n                      void
      *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:354,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:357,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:358,1
    - Dst: dynamic_cast<GetHeaderValueEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:362,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:363,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:365,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:368,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:373,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:378,1
    - Dst: auto::key::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:381,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:386,1
    - Dst: auto::value::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - handle
    - header_name
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 392
    functionName: get_header_value_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GetHeaderValueEvent *>
    - auto::key::c_str
    - auto::value::c_str
    - get
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - type::c_str
    - fprintf
    linkageType: ''
    returnType: char
    signature: "char *get_header_value_cbk(PJ_CONTEXT *ctx,\n                                        PROJ_NETWORK_HANDLE
      *handle,\n                                        const char *header_name,\n
      \                                       void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:398,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:401,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:402,1
    - Dst: dynamic_cast<ReadRangeEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:407,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:408,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:410,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:413,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:418,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:424,1
    - Dst: auto::errorMsg::empty
      Src: /src/PROJ/test/unit/test_network.cpp:433,1
    - Dst: snprintf
      Src: /src/PROJ/test/unit/test_network.cpp:434,1
    - Dst: auto::errorMsg::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:435,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:438,1
    - Dst: auto::response::data
      Src: /src/PROJ/test/unit/test_network.cpp:438,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:439,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 8
    argNames:
    - ctx
    - handle
    - offset
    - size_to_read
    - buffer
    - error_string_max_size
    - out_error_string
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - unsigned long long
    - size_t
    - void*
    - size_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 441
    functionName: read_range_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<ReadRangeEvent *>
    - auto::errorMsg::c_str
    - get
    - memcpy
    - auto::response::data
    - snprintf
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - auto::errorMsg::empty
    - type::c_str
    - auto::response::size
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t read_range_cbk(PJ_CONTEXT *ctx, PROJ_NETWORK_HANDLE *handle,\n
      \                            unsigned long long offset, size_t size_to_read,\n
      \                            void *buffer, size_t error_string_max_size,\n                             char
      *out_error_string, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:444,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:445,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:446,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:448,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:448,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:453,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:458,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:461,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:462,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:465,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:466,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:467,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:467,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:468,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:469,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:469,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:472,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:477,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:477,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:480,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:485,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:485,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:488,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:493,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:493,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:496,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:499,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:499,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:502,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:505,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:506,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:506,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:509,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:514,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:518,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:521,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:523,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:523,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:526,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:531,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:531,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:534,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:539,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:539,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:542,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:547,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:547,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:553,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:557,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:560,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:560,1
    - Dst: ReadRangeEvent::ReadRangeEvent
      Src: /src/PROJ/test/unit/test_network.cpp:563,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:567,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:571,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:574,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:576,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:576,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:579,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:584,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:584,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:587,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:592,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:592,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:595,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:600,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:600,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:607,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:611,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:614,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:617,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:617,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:619,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:621,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:621,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:625,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:627,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:633,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:637,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:640,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:642,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:642,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 645
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - EXPECT_EQ
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ReadRangeEvent::ReadRangeEvent
    - ASSERT_EQ
    - memcpy
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - swap_words
    - ASSERT_TRUE
    - proj_trans_generic
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, custom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:650,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:651,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:652,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:654,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:654,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:659,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:664,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:667,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:668,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:671,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:671,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:672,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:673,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:673,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:674,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:675,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:675,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:678,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:683,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:683,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:686,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:691,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:691,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:694,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:699,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:699,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:702,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:705,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:705,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:708,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:712,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:713,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:713,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:715,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:717,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:721,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:722,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:722,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:724,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 727
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ASSERT_EQ
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - ASSERT_TRUE
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, getfilesize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:732,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:733,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:734,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:735,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:737,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:737,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:742,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:750,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:750,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:757,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:758,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:758,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 761
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_network_callbacks
    - proj_context_set_enable_network
    - ASSERT_EQ
    - proj_create
    - OpenEvent::OpenEvent
    - std::move
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - ASSERT_TRUE
    - proj_log_func
    - proj_context_create
    - ExchangeWithCallback::events::emplace_back
    linkageType: ''
    returnType: void
    signature: void TEST(networking, simul_open_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:766,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:767,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:768,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:770,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:770,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:775,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:780,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:783,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:784,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:787,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:787,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:788,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:789,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:789,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:790,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:791,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:791,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:794,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:799,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:799,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:802,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:807,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:807,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:810,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:815,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:815,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:818,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:821,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:821,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:824,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:828,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:829,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:829,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:832,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:837,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:841,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:844,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:846,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:846,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:849,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:854,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:854,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:857,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:862,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:862,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:865,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:870,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:870,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:877,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:881,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:884,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:884,1
    - Dst: ReadRangeEvent::ReadRangeEvent
      Src: /src/PROJ/test/unit/test_network.cpp:887,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:893,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:893,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:900,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:901,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:901,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:905,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:908,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:911,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:911,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:915,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:915,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 918
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - EXPECT_EQ
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ReadRangeEvent::ReadRangeEvent
    - ASSERT_EQ
    - memcpy
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - swap_words
    - ASSERT_TRUE
    - proj_trans_generic
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, simul_read_range_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:923,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:924,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:925,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:927,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:927,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:932,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:937,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:940,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:941,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:944,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:944,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:945,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:946,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:946,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:947,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:948,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:948,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:951,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:956,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:956,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:959,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:964,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:964,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:967,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:972,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:972,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:975,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:978,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:978,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:981,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:985,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:986,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:986,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:989,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:994,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:998,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:1001,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1003,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1003,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1006,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1011,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1011,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1014,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1019,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1019,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1022,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1027,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1027,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1030,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1033,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1033,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1036,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:1041,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:1044,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1045,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:1048,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:1048,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1049,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1050,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:1050,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:1051,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1052,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1052,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1055,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1060,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1060,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1063,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1068,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1068,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1071,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1076,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1076,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1083,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1087,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1090,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:1090,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1093,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1096,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1096,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1098,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1100,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:1100,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 1103
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - EXPECT_EQ
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ASSERT_EQ
    - memcpy
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - swap_words
    - ASSERT_TRUE
    - proj_trans_generic
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, simul_file_change_while_opened)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1114,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1115,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1116,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1119,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1120,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1126,1
    - Dst: proj_assign_context
      Src: /src/PROJ/test/unit/test_network.cpp:1128,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1130,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1131,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1133,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1134,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1136
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_assign_context
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_hgridshift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1149,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1150,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1151,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1155,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1156,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1162,1
    - Dst: proj_assign_context
      Src: /src/PROJ/test/unit/test_network.cpp:1164,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1166,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1167,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1169,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1170,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1172
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_assign_context
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_vgridshift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1185,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1186,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1187,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1190,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1192,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1198,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1200,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1201,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1203,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1204,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1206
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_vgridshift_vertcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1215,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1215,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1216,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1217,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1218,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1221,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1222,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1228,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1229,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1229,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1231,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1232,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1235
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - const_cast<char *>
    - putenv
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_env_variable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1244,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1245,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1246,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1247,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1251,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1252,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1263,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1263,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1264,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1265,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1265,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1267,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1270,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1274,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1276,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1276,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1277,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1278,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1278,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1280,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1283,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1288,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1289,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1289,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1290,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1291,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1291,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1293,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1296,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1298
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_gridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1307,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1308,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1309,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1310,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1313,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1314,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1325,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1325,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1326,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1327,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1327,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1329,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1332,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1338,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1338,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1339,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1340,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1340,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1342,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1345,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1349,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1351,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1351,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1352,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1353,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1353,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1355,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1358,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1360
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_xyzgridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1369,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1370,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1371,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1372,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1375,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1376,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1387,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1387,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1388,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1389,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1389,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1391,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1394,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1400,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1400,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1401,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1402,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1402,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1404,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1407,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1412,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1413,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1413,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1414,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1415,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1415,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1417,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1420,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1422
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_hgridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1431,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1432,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1433,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1434,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1437,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1438,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1447,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1449,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1449,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1450,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1451,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1451,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1453,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1456,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1461,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1462,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1462,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1463,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1464,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1464,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1466,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1469,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1475,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1475,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1476,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1477,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1477,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1479,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1482,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1484
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_vgridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1498
    functionName: dummy_open_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *dummy_open_cbk(PJ_CONTEXT *, const char *,\n
      \                                          unsigned long long, size_t, void
      *,\n                                           size_t *, size_t, char *,\n                                           void
      *pUserData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: dummy_close_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: void
    signature: "void dummy_close_cbk(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *,\n                            void
      *pUserData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1510
    functionName: dummy_get_header_value_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: char
    signature: "char *dummy_get_header_value_cbk(PJ_CONTEXT *,\n                                              PROJ_NETWORK_HANDLE
      *,\n                                              const char *, void *pUserData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1517
    functionName: dummy_read_range_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: size_t
    signature: "size_t dummy_read_range_cbk(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *,\n
      \                                  unsigned long long, size_t, void *, size_t,\n
      \                                  char *, void *pUserData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1524,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1532,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1533,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1535,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1536,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1537,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1539,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1539,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1542,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1542,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1544,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1546,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1551,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1552,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1552,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1554,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1554,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1555,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1556,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1556,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1557,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1557,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1558,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1559,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1565,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:1565,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1568,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1569,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1570,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1571,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1574
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - EXPECT_TRUE
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - sqlite3_column_text
    - proj_context_create
    - ASSERT_NE
    - ASSERT_EQ
    - reinterpret_cast<const char *>
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - std::string
    - sqlite3_column_int64
    - proj_cleanup
    - proj_context_set_enable_network
    - sqlite3_step
    - ASSERT_TRUE
    - sqlite3_close
    - proj_create
    - EXPECT_FALSE
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_basic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1588,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1590,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1591,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1592,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1593,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1593,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1594,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1596,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1598,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1599,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1600,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1605,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1606,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1606,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1609,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1612,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1617,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1618,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1618,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1621,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1625
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - proj_context_set_enable_network
    - ASSERT_EQ
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - sqlite3_close
    - pj_context_get_grid_cache_filename
    - proj_grid_cache_clear
    - std::string
    - sqlite3_open_v2
    - proj_grid_cache_set_filename
    linkageType: ''
    returnType: void
    signature: void TEST(networking, proj_grid_cache_clear)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1639,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1641,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1642,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1643,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1645,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1648,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1648,1
    - Dst: proj_grid_cache_set_max_size
      Src: /src/PROJ/test/unit/test_network.cpp:1649,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1650,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1650,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1652,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1653,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1657,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1659,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1660,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1662,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1665,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1665,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1667,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1670,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1675,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1676,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1676,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1677,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1677,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1678,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1678,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1679,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1679,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1680,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1680,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1681,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1681,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1682,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1683,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1685,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1688
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - proj_context_create
    - ASSERT_NE
    - putenv
    - ASSERT_EQ
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - EXPECT_NEAR
    - sqlite3_column_int64
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - sqlite3_step
    - sqlite3_close
    - proj_grid_cache_clear
    - proj_trans_generic
    - proj_grid_cache_set_filename
    - proj_grid_cache_set_max_size
    - proj_create
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_saturation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1702,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1704,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1705,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1706,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1708,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1710,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1711,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1715,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1717,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1718,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1720,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1723,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1723,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1725,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1729,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1733,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1734,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1734,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1735,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1739,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1741,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1742,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1742,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1743,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1744,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1746,1
    - Dst: proj_grid_cache_set_ttl
      Src: /src/PROJ/test/unit/test_network.cpp:1749,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:1752,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1753,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1754,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1755,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1757,1
    - Dst: proj_grid_cache_set_ttl
      Src: /src/PROJ/test/unit/test_network.cpp:1760,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1763,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1764,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1765,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1768,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1768,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1770,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1772,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1775,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1776,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1777,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1777,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1778,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1778,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1779,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1779,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1779,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1780,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1782,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1782,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1783,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1783,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1783,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1784,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1786,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1787,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1789,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1792
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - sqlite3_column_text
    - ASSERT_EQ
    - reinterpret_cast<const char *>
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - EXPECT_NEAR
    - sqlite3_column_int64
    - std::string
    - proj_cleanup
    - proj_context_set_enable_network
    - sqlite3_step
    - sqlite3_close
    - proj_grid_cache_clear
    - proj_trans_generic
    - proj_grid_cache_set_filename
    - proj_create
    - sqlite3_open_v2
    - proj_grid_cache_set_ttl
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1806,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1808,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1809,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1810,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1812,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1815,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1819,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1821,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1822,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1824,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1828,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1828,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1830,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1832,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1833,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1834,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1834,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1835,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1837,1
    - Dst: time
      Src: /src/PROJ/test/unit/test_network.cpp:1840,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1842,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1842,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1843,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1844,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1844,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1845,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1846,1
    - Dst: time
      Src: /src/PROJ/test/unit/test_network.cpp:1850,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_network.cpp:1851,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1853,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1855,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1858
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - proj_context_create
    - ASSERT_NE
    - putenv
    - ASSERT_EQ
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - EXPECT_NEAR
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - ASSERT_GE
    - sqlite3_step
    - sqlite3_close
    - proj_grid_cache_clear
    - proj_trans_generic
    - proj_grid_cache_set_filename
    - time
    - proj_create
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1867,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:1868,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:1869,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:1870,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1872,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1872,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1873,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1873,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1874,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1874,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1876,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/test_network.cpp:1877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1878,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1878,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1879,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1880,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1880,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1881,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1883,1
    - Dst: auto::get_cpp_context
      Src: /src/PROJ/test/unit/test_network.cpp:1885,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1892,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/test/unit/test_network.cpp:1892,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1895,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1897,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1899,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1899,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1902,1
    - Dst: pj_find_file
      Src: /src/PROJ/test/unit/test_network.cpp:1902,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1907,1
    - Dst: proj_download_file
      Src: /src/PROJ/test/unit/test_network.cpp:1908,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1910,1
    - Dst: pj_find_file
      Src: /src/PROJ/test/unit/test_network.cpp:1910,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1913,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1917,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/test/unit/test_network.cpp:1917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1920,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:1922,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1923,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:1924,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1926,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1934,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1935,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1940,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1942,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1943,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1945,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1947,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1947,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1951,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1953,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1956,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1959,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1960,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1960,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1961,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1962,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1966,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1966,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1970,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1972,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1975,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1978,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1979,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1979,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1980,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1980,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1981,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1982,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1986,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1986,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1990,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1992,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1995,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1998,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1999,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1999,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:2000,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:2000,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:2001,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:2005,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:2010,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2011,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:2011,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:2012,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:2013,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2016,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:2016,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2019,1
    - Dst: static_cast<std::vector<std::pair<PJ_CONTEXT *, double>> *>
      Src: /src/PROJ/test/unit/test_network.cpp:2022,1
    - Dst: auto::push_back
      Src: /src/PROJ/test/unit/test_network.cpp:2024,1
    - Dst: std::pair<PJ_CONTEXT *, double>
      Src: /src/PROJ/test/unit/test_network.cpp:2024,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2029,1
    - Dst: proj_download_file
      Src: /src/PROJ/test/unit/test_network.cpp:2030,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2031,1
    - Dst: std::vector::size
      Src: /src/PROJ/test/unit/test_network.cpp:2031,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2032,1
    - Dst: std::vector::back
      Src: /src/PROJ/test/unit/test_network.cpp:2032,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2033,1
    - Dst: std::vector::back
      Src: /src/PROJ/test/unit/test_network.cpp:2033,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2035,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2036,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2036,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2037,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2037,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2038,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2038,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2039,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2040,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:2041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 2042
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::push_back
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - std::vector::size
    - proj_context_create
    - ASSERT_NE
    - fclose
    - ASSERT_FALSE
    - std::pair<PJ_CONTEXT *, double>
    - auto::get_cpp_context
    - static_cast<std::vector<std::pair<PJ_CONTEXT *, double>> *>
    - putenv
    - ASSERT_EQ
    - EXPECT_NE
    - proj_destroy
    - std::vector::back
    - std::string
    - EXPECT_NEAR
    - sqlite3_column_int64
    - auto::lookForGridInfo
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - proj_download_file
    - sqlite3_step
    - ASSERT_TRUE
    - unlink
    - sqlite3_close
    - EXPECT_STREQ
    - proj_trans_generic
    - rmdir
    - proj_create
    - EXPECT_FALSE
    - proj_grid_info
    - pj_find_file
    - sqlite3_open_v2
    - proj_is_download_needed
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, download_whole_files)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:2051,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2052,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2053,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:2054,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2056,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2056,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2057,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2057,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2058,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2058,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2059,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2060,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2080,1
    - Dst: reinterpret_cast<PROJ_FILE_HANDLE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2081,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:2082,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2088,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:2089,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2089,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2094,1
    - Dst: fwrite
      Src: /src/PROJ/test/unit/test_network.cpp:2095,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2095,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2099,1
    - Dst: fseek
      Src: /src/PROJ/test/unit/test_network.cpp:2100,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2100,1
    - Dst: static_cast<long>
      Src: /src/PROJ/test/unit/test_network.cpp:2101,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2105,1
    - Dst: ftell
      Src: /src/PROJ/test/unit/test_network.cpp:2106,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2106,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2110,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:2111,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2111,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2115,1
    - Dst: stat
      Src: /src/PROJ/test/unit/test_network.cpp:2117,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2121,1
    - Dst: mkdir
      Src: /src/PROJ/test/unit/test_network.cpp:2123,1
    - Dst: mkdir
      Src: /src/PROJ/test/unit/test_network.cpp:2125,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2130,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2131,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2135,1
    - Dst: rename
      Src: /src/PROJ/test/unit/test_network.cpp:2136,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2140,1
    - Dst: proj_context_set_fileapi
      Src: /src/PROJ/test/unit/test_network.cpp:2140,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2142,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:2142,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2144,1
    - Dst: proj_download_file
      Src: /src/PROJ/test/unit/test_network.cpp:2145,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2147,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:2148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2149,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2150,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2151,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2152,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2153,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2154,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2156,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2164,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:2165,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:2170,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:2172,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2174,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2176,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2177,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2179,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2180,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2180,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2181,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2181,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2182,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2182,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2183,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2184,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:2185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2046
    functionDepth: 1
    functionLinenumber: 2046
    functionLinenumberEnd: 2186
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - proj_context_create
    - ASSERT_FALSE
    - fclose
    - ASSERT_NE
    - fseek
    - fread
    - putenv
    - ftell
    - fwrite
    - proj_context_set_fileapi
    - proj_destroy
    - reinterpret_cast<FILE *>
    - EXPECT_NEAR
    - rename
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - proj_download_file
    - ASSERT_TRUE
    - unlink
    - proj_trans_generic
    - rmdir
    - reinterpret_cast<PROJ_FILE_HANDLE *>
    - stat
    - proj_create
    - static_cast<long>
    - mkdir
    - proj_is_download_needed
    - fopen
    - static_cast<UserData *>
    linkageType: ''
    returnType: void
    signature: void TEST(networking, file_api)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2199,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:2200,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2201,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2209,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_network.cpp:2219,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2223,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:2223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2225,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:2225,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2226,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:2227,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2230,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2194
    functionDepth: 1
    functionLinenumber: 2194
    functionLinenumberEnd: 2234
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - proj_coordoperation_get_grid_used
    - proj_destroy
    - proj_context_create
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(networking, proj_coordoperation_get_grid_used)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_network.cpp:2249,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_network.cpp:2250,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_network.cpp:2252,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2254,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2255,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_network.cpp:2257,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2258,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2259,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_network.cpp:2260,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_network.cpp:2262,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/test/unit/test_network.cpp:2263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2265,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:2265,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2267,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2269,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2270,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2273,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:2274,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2275,1
    - Dst: doTest
      Src: /src/PROJ/test/unit/test_network.cpp:2276,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2277,1
    - Dst: doTest
      Src: /src/PROJ/test/unit/test_network.cpp:2278,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2242
    functionDepth: 1
    functionLinenumber: 2242
    functionLinenumberEnd: 2281
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - EXPECT_TRUE
    - proj_context_set_enable_network
    - proj_create
    - proj_create_operations
    - proj_context_destroy
    - proj_operation_factory_context_set_spatial_criterion
    - proj_coordoperation_is_instantiable
    - proj_destroy
    - proj_create_operation_factory_context
    - proj_pj_info
    - proj_list_get
    - proj_context_create
    - proj_list_destroy
    - doTest
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST(networking, pyproj_issue_1192)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_network.cpp:2297,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_network.cpp:2298,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_network.cpp:2300,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2302,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2303,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_network.cpp:2305,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2306,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2307,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_network.cpp:2308,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_network.cpp:2309,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2310,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2311,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2314,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2315,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2319,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:2319,1
    - Dst: doTest
      Src: /src/PROJ/test/unit/test_network.cpp:2323,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:2324,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2289
    functionDepth: 1
    functionLinenumber: 2289
    functionLinenumberEnd: 2327
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - proj_context_set_enable_network
    - proj_create
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_FALSE
    - proj_context_destroy
    - proj_destroy
    - proj_create_operation_factory_context
    - ASSERT_TRUE
    - doTest
    - proj_context_create
    - proj_list_destroy
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST(networking, do_not_attempt_network_access_known_available_network_on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char *>
      Src: /src/PROJ/test/unit/test_network.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dataIn
    - word_size
    - word_count
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: swap_words
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char *>
    linkageType: ''
    returnType: void
    signature: void swap_words(void *dataIn, size_t word_size, size_t word_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nmemb
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: noop_curl_write_func
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t noop_curl_write_func(void *, size_t, size_t nmemb, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/test/unit/test_network.cpp:91,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/test/unit/test_network.cpp:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/test/unit/test_network.cpp:97,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/test/unit/test_network.cpp:98,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/test/unit/test_network.cpp:100,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/test/unit/test_network.cpp:103,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:105,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TEST(networking, initial_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: silent_logger
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void silent_logger(void *, int, const char *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:129,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:130,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:131,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:132,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:133,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:134,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:136,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:140,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:140,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:141,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:142,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:144,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:146,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:147,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:148,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:148,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:151,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:154,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:155,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:156,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:157,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:158,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:159,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:161,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:164,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:165,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:166,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:167,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:172,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:173,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:178,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:180,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:181,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:183,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:185,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:187,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 189
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_cleanup
    - ASSERT_EQ
    - proj_context_set_enable_network
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - EXPECT_NEAR
    - const_cast<char *>
    - putenv
    - proj_trans_generic
    linkageType: ''
    returnType: void
    signature: void TEST(networking, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:196,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:197,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:198,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:199,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:200,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - ASSERT_EQ
    - proj_create
    - proj_context_destroy
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_invalid_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: Event::~Event()
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Event::~Event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: OpenEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: CloseEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CloseEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: GetHeaderValueEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetHeaderValueEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: ReadRangeEvent
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadRangeEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/test/unit/test_network.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: allConsumedAndNoError
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool allConsumedAndNoError() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:271,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:274,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:275,1
    - Dst: dynamic_cast<OpenEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:281,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:281,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:283,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:287,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:295,1
    - Dst: auto::url::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:298,1
    - Dst: auto::errorMsg::empty
      Src: /src/PROJ/test/unit/test_network.cpp:303,1
    - Dst: snprintf
      Src: /src/PROJ/test/unit/test_network.cpp:304,1
    - Dst: auto::errorMsg::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:305,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:309,1
    - Dst: auto::response::data
      Src: /src/PROJ/test/unit/test_network.cpp:309,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:309,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:310,1
    - Dst: reinterpret_cast<PROJ_NETWORK_HANDLE *>
      Src: /src/PROJ/test/unit/test_network.cpp:311,1
    - Dst: File::File
      Src: /src/PROJ/test/unit/test_network.cpp:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 9
    argNames:
    - ctx
    - url
    - offset
    - size_to_read
    - buffer
    - out_size_read
    - error_string_max_size
    - out_error_string
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - char*
    - unsigned long long
    - size_t
    - void*
    - size_t*
    - size_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 314
    functionName: open_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - File::File
    - auto::errorMsg::c_str
    - dynamic_cast<OpenEvent *>
    - get
    - memcpy
    - auto::response::data
    - reinterpret_cast<PROJ_NETWORK_HANDLE *>
    - snprintf
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - auto::errorMsg::empty
    - auto::url::c_str
    - type::c_str
    - auto::response::size
    - fprintf
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *open_cbk(PJ_CONTEXT *ctx, const char *url,\n
      \                                    unsigned long long offset,\n                                     size_t
      size_to_read, void *buffer,\n                                     size_t *out_size_read,\n
      \                                    size_t error_string_max_size,\n                                     char
      *out_error_string, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:318,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:321,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:322,1
    - Dst: dynamic_cast<CloseEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:327,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:327,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:329,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:332,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:337,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:342,1
    - Dst: reinterpret_cast<File *>
      Src: /src/PROJ/test/unit/test_network.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - handle
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: close_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - get
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - dynamic_cast<CloseEvent *>
    - reinterpret_cast<File *>
    - type::c_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void close_cbk(PJ_CONTEXT *ctx, PROJ_NETWORK_HANDLE *handle,\n                      void
      *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:354,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:357,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:358,1
    - Dst: dynamic_cast<GetHeaderValueEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:362,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:363,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:365,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:368,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:373,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:378,1
    - Dst: auto::key::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:381,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:386,1
    - Dst: auto::value::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - handle
    - header_name
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 392
    functionName: get_header_value_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GetHeaderValueEvent *>
    - auto::key::c_str
    - auto::value::c_str
    - get
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - type::c_str
    - fprintf
    linkageType: ''
    returnType: char
    signature: "char *get_header_value_cbk(PJ_CONTEXT *ctx,\n                                        PROJ_NETWORK_HANDLE
      *handle,\n                                        const char *header_name,\n
      \                                       void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExchangeWithCallback *>
      Src: /src/PROJ/test/unit/test_network.cpp:398,1
    - Dst: auto::events::size
      Src: /src/PROJ/test/unit/test_network.cpp:401,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:402,1
    - Dst: dynamic_cast<ReadRangeEvent *>
      Src: /src/PROJ/test/unit/test_network.cpp:407,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_network.cpp:408,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:410,1
    - Dst: type::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:413,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:418,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/test_network.cpp:424,1
    - Dst: auto::errorMsg::empty
      Src: /src/PROJ/test/unit/test_network.cpp:433,1
    - Dst: snprintf
      Src: /src/PROJ/test/unit/test_network.cpp:434,1
    - Dst: auto::errorMsg::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:435,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:438,1
    - Dst: auto::response::data
      Src: /src/PROJ/test/unit/test_network.cpp:438,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:439,1
    - Dst: auto::response::size
      Src: /src/PROJ/test/unit/test_network.cpp:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 8
    argNames:
    - ctx
    - handle
    - offset
    - size_to_read
    - buffer
    - error_string_max_size
    - out_error_string
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - unsigned long long
    - size_t
    - void*
    - size_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 441
    functionName: read_range_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<ReadRangeEvent *>
    - auto::errorMsg::c_str
    - get
    - memcpy
    - auto::response::data
    - snprintf
    - auto::events::size
    - static_cast<ExchangeWithCallback *>
    - auto::errorMsg::empty
    - type::c_str
    - auto::response::size
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t read_range_cbk(PJ_CONTEXT *ctx, PROJ_NETWORK_HANDLE *handle,\n
      \                            unsigned long long offset, size_t size_to_read,\n
      \                            void *buffer, size_t error_string_max_size,\n                             char
      *out_error_string, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:444,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:445,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:446,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:448,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:448,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:453,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:458,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:461,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:462,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:465,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:466,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:467,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:467,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:468,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:469,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:469,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:472,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:477,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:477,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:480,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:485,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:485,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:488,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:493,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:493,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:496,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:499,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:499,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:502,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:505,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:506,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:506,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:509,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:514,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:518,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:521,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:523,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:523,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:526,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:531,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:531,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:534,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:539,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:539,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:542,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:547,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:547,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:553,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:557,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:560,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:560,1
    - Dst: ReadRangeEvent::ReadRangeEvent
      Src: /src/PROJ/test/unit/test_network.cpp:563,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:567,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:571,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:574,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:576,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:576,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:579,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:584,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:584,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:587,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:592,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:592,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:595,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:600,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:600,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:607,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:611,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:614,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:617,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:617,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:619,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:621,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:621,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:625,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:627,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:633,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:637,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:640,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:642,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:642,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 645
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - EXPECT_EQ
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ReadRangeEvent::ReadRangeEvent
    - ASSERT_EQ
    - memcpy
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - swap_words
    - ASSERT_TRUE
    - proj_trans_generic
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, custom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:650,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:651,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:652,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:654,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:654,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:659,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:664,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:667,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:668,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:671,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:671,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:672,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:673,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:673,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:674,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:675,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:675,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:678,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:683,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:683,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:686,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:691,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:691,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:694,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:699,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:699,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:702,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:705,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:705,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:708,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:712,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:713,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:713,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:715,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:717,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:721,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:722,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:722,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:724,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 727
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ASSERT_EQ
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - ASSERT_TRUE
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, getfilesize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:732,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:733,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:734,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:735,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:737,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:737,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:742,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:750,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:750,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:757,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:758,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:758,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 761
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_network_callbacks
    - proj_context_set_enable_network
    - ASSERT_EQ
    - proj_create
    - OpenEvent::OpenEvent
    - std::move
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - ASSERT_TRUE
    - proj_log_func
    - proj_context_create
    - ExchangeWithCallback::events::emplace_back
    linkageType: ''
    returnType: void
    signature: void TEST(networking, simul_open_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:766,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:767,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:768,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:770,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:770,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:775,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:780,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:783,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:784,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:787,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:787,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:788,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:789,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:789,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:790,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:791,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:791,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:794,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:799,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:799,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:802,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:807,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:807,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:810,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:815,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:815,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:818,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:821,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:821,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:824,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:828,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:829,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:829,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:832,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:837,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:841,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:844,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:846,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:846,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:849,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:854,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:854,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:857,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:862,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:862,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:865,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:870,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:870,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:877,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:881,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:884,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:884,1
    - Dst: ReadRangeEvent::ReadRangeEvent
      Src: /src/PROJ/test/unit/test_network.cpp:887,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:893,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:893,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:900,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:901,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:901,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:905,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:908,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:911,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:911,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:915,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:915,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 918
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - EXPECT_EQ
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ReadRangeEvent::ReadRangeEvent
    - ASSERT_EQ
    - memcpy
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - swap_words
    - ASSERT_TRUE
    - proj_trans_generic
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, simul_read_range_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:923,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:924,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:925,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:927,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:927,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:932,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:937,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:940,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:941,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:944,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:944,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:945,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:946,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:946,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:947,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:948,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:948,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:951,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:956,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:956,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:959,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:964,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:964,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:967,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:972,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:972,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:975,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:978,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:978,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:981,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:985,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:986,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:986,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:989,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:994,1
    - Dst: swap_words
      Src: /src/PROJ/test/unit/test_network.cpp:998,1
    - Dst: memcpy
      Src: /src/PROJ/test/unit/test_network.cpp:1001,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1003,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1003,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1006,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1011,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1011,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1014,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1019,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1019,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1022,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1027,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1027,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1030,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1033,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1033,1
    - Dst: OpenEvent::OpenEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1036,1
    - Dst: std::unique_ptr::response::resize
      Src: /src/PROJ/test/unit/test_network.cpp:1041,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_network.cpp:1044,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1045,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:1048,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_network.cpp:1048,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1049,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1050,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:1050,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:1051,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1052,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1052,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1055,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1060,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1060,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1063,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1068,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1068,1
    - Dst: GetHeaderValueEvent::GetHeaderValueEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1071,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1076,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1076,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1083,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1087,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1090,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:1090,1
    - Dst: CloseEvent::CloseEvent
      Src: /src/PROJ/test/unit/test_network.cpp:1093,1
    - Dst: ExchangeWithCallback::events::emplace_back
      Src: /src/PROJ/test/unit/test_network.cpp:1096,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_network.cpp:1096,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1098,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1100,1
    - Dst: ExchangeWithCallback::allConsumedAndNoError
      Src: /src/PROJ/test/unit/test_network.cpp:1100,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 1103
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - getenv
    - std::string::c_str
    - EXPECT_EQ
    - ExchangeWithCallback::allConsumedAndNoError
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fread
    - ExchangeWithCallback::events::emplace_back
    - ASSERT_EQ
    - memcpy
    - OpenEvent::OpenEvent
    - std::move
    - proj_destroy
    - GetHeaderValueEvent::GetHeaderValueEvent
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - swap_words
    - ASSERT_TRUE
    - proj_trans_generic
    - CloseEvent::CloseEvent
    - std::unique_ptr::response::resize
    - proj_create
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, simul_file_change_while_opened)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1114,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1115,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1116,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1119,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1120,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1126,1
    - Dst: proj_assign_context
      Src: /src/PROJ/test/unit/test_network.cpp:1128,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1130,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1131,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1133,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1134,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1136
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_assign_context
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_hgridshift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1149,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1150,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1151,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1155,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1156,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1162,1
    - Dst: proj_assign_context
      Src: /src/PROJ/test/unit/test_network.cpp:1164,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1166,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1167,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1169,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1170,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1172
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_assign_context
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_vgridshift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1185,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1186,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1187,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1190,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1192,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1198,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1200,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1201,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1203,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1204,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1206
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(networking, curl_vgridshift_vertcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1215,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1215,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1216,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1217,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1218,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1221,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1222,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1228,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1229,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1229,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1231,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1232,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1235
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans
    - const_cast<char *>
    - putenv
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_env_variable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1244,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1245,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1246,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1247,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1251,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1252,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1263,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1263,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1264,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1265,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1265,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1267,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1270,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1274,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1276,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1276,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1277,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1278,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1278,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1280,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1283,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1288,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1289,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1289,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1290,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1291,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1291,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1293,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1296,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1298
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_gridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1307,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1308,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1309,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1310,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1313,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1314,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1325,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1325,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1326,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1327,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1327,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1329,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1332,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1338,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1338,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1339,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1340,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1340,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1342,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1345,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1349,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1351,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1351,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1352,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1353,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1353,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1355,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1358,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1360
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_xyzgridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1369,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1370,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1371,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1372,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1375,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1376,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1387,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1387,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1388,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1389,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1389,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1391,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1394,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1400,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1400,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1401,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1402,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1402,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1404,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1407,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1412,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1413,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1413,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1414,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1415,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1415,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1417,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1420,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1422
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_hgridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1431,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:1432,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1433,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_network.cpp:1434,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_network.cpp:1437,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1438,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1447,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1449,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1449,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1450,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1451,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1451,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1453,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1456,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1461,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1462,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1462,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1463,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1464,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1464,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1466,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/test_network.cpp:1469,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_network.cpp:1473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1475,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/test_network.cpp:1475,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_network.cpp:1476,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1477,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:1477,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1479,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1482,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1484
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - proj_create_crs_to_crs
    - proj_errno_reset
    - EXPECT_EQ
    - proj_context_destroy
    - proj_errno
    - proj_context_set_url_endpoint
    - proj_pj_info
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(networking, network_endpoint_api_and_not_reachable_vgridshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1498
    functionName: dummy_open_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *dummy_open_cbk(PJ_CONTEXT *, const char *,\n
      \                                          unsigned long long, size_t, void
      *,\n                                           size_t *, size_t, char *,\n                                           void
      *pUserData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: dummy_close_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: void
    signature: "void dummy_close_cbk(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *,\n                            void
      *pUserData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1510
    functionName: dummy_get_header_value_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: char
    signature: "char *dummy_get_header_value_cbk(PJ_CONTEXT *,\n                                              PROJ_NETWORK_HANDLE
      *,\n                                              const char *, void *pUserData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool *>
      Src: /src/PROJ/test/unit/test_network.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pUserData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1517
    functionName: dummy_read_range_cbk
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool *>
    linkageType: ''
    returnType: size_t
    signature: "size_t dummy_read_range_cbk(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *,\n
      \                                  unsigned long long, size_t, void *, size_t,\n
      \                                  char *, void *pUserData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1524,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1532,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1533,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1535,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1536,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1537,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1539,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1539,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1542,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1542,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1544,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1546,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1551,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1552,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1552,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1554,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1554,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1555,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1556,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1556,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1557,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1557,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1558,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1559,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1565,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:1565,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1568,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1569,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1570,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1571,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1574
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - EXPECT_TRUE
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - sqlite3_column_text
    - proj_context_create
    - ASSERT_NE
    - ASSERT_EQ
    - reinterpret_cast<const char *>
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - std::string
    - sqlite3_column_int64
    - proj_cleanup
    - proj_context_set_enable_network
    - sqlite3_step
    - ASSERT_TRUE
    - sqlite3_close
    - proj_create
    - EXPECT_FALSE
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_basic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1588,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1590,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1591,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1592,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1593,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1593,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1594,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1596,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1598,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1599,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1600,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1605,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1606,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1606,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1609,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1612,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1617,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1618,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1618,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1621,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1625
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - proj_context_set_enable_network
    - ASSERT_EQ
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - ASSERT_NE
    - sqlite3_close
    - pj_context_get_grid_cache_filename
    - proj_grid_cache_clear
    - std::string
    - sqlite3_open_v2
    - proj_grid_cache_set_filename
    linkageType: ''
    returnType: void
    signature: void TEST(networking, proj_grid_cache_clear)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1639,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1641,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1642,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1643,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1645,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1648,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1648,1
    - Dst: proj_grid_cache_set_max_size
      Src: /src/PROJ/test/unit/test_network.cpp:1649,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1650,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1650,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1652,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1653,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1657,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1659,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1660,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1662,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1665,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1665,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1667,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1670,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1675,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1676,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1676,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1677,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1677,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1678,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1678,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1679,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1679,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1680,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1680,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1681,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1681,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1682,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1683,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1685,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1688
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - proj_context_create
    - ASSERT_NE
    - putenv
    - ASSERT_EQ
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - EXPECT_NEAR
    - sqlite3_column_int64
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - sqlite3_step
    - sqlite3_close
    - proj_grid_cache_clear
    - proj_trans_generic
    - proj_grid_cache_set_filename
    - proj_grid_cache_set_max_size
    - proj_create
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_saturation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1702,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1704,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1705,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1706,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1708,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1710,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1711,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1715,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1717,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1718,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1720,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1723,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1723,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1725,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1729,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1733,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1734,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1734,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1735,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1739,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1741,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1742,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1742,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1743,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1744,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1746,1
    - Dst: proj_grid_cache_set_ttl
      Src: /src/PROJ/test/unit/test_network.cpp:1749,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_network.cpp:1752,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1753,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1754,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1755,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1757,1
    - Dst: proj_grid_cache_set_ttl
      Src: /src/PROJ/test/unit/test_network.cpp:1760,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1763,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1764,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1765,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1768,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1768,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1770,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1772,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1775,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1776,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1777,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1777,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1778,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1778,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1779,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1779,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1779,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1780,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1782,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1782,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1783,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1783,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1783,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/test/unit/test_network.cpp:1784,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1786,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1787,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1789,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1792
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - sqlite3_column_text
    - ASSERT_EQ
    - reinterpret_cast<const char *>
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - EXPECT_NEAR
    - sqlite3_column_int64
    - std::string
    - proj_cleanup
    - proj_context_set_enable_network
    - sqlite3_step
    - sqlite3_close
    - proj_grid_cache_clear
    - proj_trans_generic
    - proj_grid_cache_set_filename
    - proj_create
    - sqlite3_open_v2
    - proj_grid_cache_set_ttl
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1806,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1808,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1809,1
    - Dst: proj_grid_cache_set_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1810,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1812,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1815,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1819,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1821,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1822,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1824,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1828,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/test/unit/test_network.cpp:1828,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1830,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1832,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1833,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1834,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1834,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1835,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1837,1
    - Dst: time
      Src: /src/PROJ/test/unit/test_network.cpp:1840,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1842,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1842,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1843,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1844,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1844,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1845,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1846,1
    - Dst: time
      Src: /src/PROJ/test/unit/test_network.cpp:1850,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_network.cpp:1851,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1853,1
    - Dst: proj_grid_cache_clear
      Src: /src/PROJ/test/unit/test_network.cpp:1855,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1858
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - proj_context_create
    - ASSERT_NE
    - putenv
    - ASSERT_EQ
    - proj_destroy
    - pj_context_get_grid_cache_filename
    - EXPECT_NEAR
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - ASSERT_GE
    - sqlite3_step
    - sqlite3_close
    - proj_grid_cache_clear
    - proj_trans_generic
    - proj_grid_cache_set_filename
    - time
    - proj_create
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: void TEST(networking, cache_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:1867,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:1868,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:1869,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:1870,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1872,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1872,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1873,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1873,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:1874,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:1874,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1876,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/test_network.cpp:1877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1878,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1878,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1879,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1880,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:1880,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1881,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:1883,1
    - Dst: auto::get_cpp_context
      Src: /src/PROJ/test/unit/test_network.cpp:1885,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1892,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/test/unit/test_network.cpp:1892,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1895,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1897,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1899,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1899,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1902,1
    - Dst: pj_find_file
      Src: /src/PROJ/test/unit/test_network.cpp:1902,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_network.cpp:1905,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1907,1
    - Dst: proj_download_file
      Src: /src/PROJ/test/unit/test_network.cpp:1908,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1910,1
    - Dst: pj_find_file
      Src: /src/PROJ/test/unit/test_network.cpp:1910,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1913,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1917,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/test/unit/test_network.cpp:1917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:1920,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:1922,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1923,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:1924,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1926,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:1934,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1935,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:1940,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:1942,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:1943,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:1945,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1947,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1947,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1951,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1953,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1956,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1959,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1960,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1960,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1961,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1962,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1966,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1966,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1970,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1972,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1975,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1978,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1979,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1979,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1980,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:1980,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:1981,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:1982,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:1986,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:1986,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1990,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1992,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:1995,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:1998,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:1999,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:1999,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:2000,1
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/test/unit/test_network.cpp:2000,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:2001,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/test/unit/test_network.cpp:2005,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:2010,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2011,1
    - Dst: sqlite3_step
      Src: /src/PROJ/test/unit/test_network.cpp:2011,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/test/unit/test_network.cpp:2012,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_network.cpp:2013,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2016,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:2016,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2019,1
    - Dst: static_cast<std::vector<std::pair<PJ_CONTEXT *, double>> *>
      Src: /src/PROJ/test/unit/test_network.cpp:2022,1
    - Dst: auto::push_back
      Src: /src/PROJ/test/unit/test_network.cpp:2024,1
    - Dst: std::pair<PJ_CONTEXT *, double>
      Src: /src/PROJ/test/unit/test_network.cpp:2024,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2029,1
    - Dst: proj_download_file
      Src: /src/PROJ/test/unit/test_network.cpp:2030,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2031,1
    - Dst: std::vector::size
      Src: /src/PROJ/test/unit/test_network.cpp:2031,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2032,1
    - Dst: std::vector::back
      Src: /src/PROJ/test/unit/test_network.cpp:2032,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2033,1
    - Dst: std::vector::back
      Src: /src/PROJ/test/unit/test_network.cpp:2033,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2035,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2036,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2036,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2037,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2037,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2038,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2038,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2039,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2040,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:2041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 2042
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::push_back
    - proj_context_destroy
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - std::vector::size
    - proj_context_create
    - ASSERT_NE
    - fclose
    - ASSERT_FALSE
    - std::pair<PJ_CONTEXT *, double>
    - auto::get_cpp_context
    - static_cast<std::vector<std::pair<PJ_CONTEXT *, double>> *>
    - putenv
    - ASSERT_EQ
    - EXPECT_NE
    - proj_destroy
    - std::vector::back
    - std::string
    - EXPECT_NEAR
    - sqlite3_column_int64
    - auto::lookForGridInfo
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - proj_download_file
    - sqlite3_step
    - ASSERT_TRUE
    - unlink
    - sqlite3_close
    - EXPECT_STREQ
    - proj_trans_generic
    - rmdir
    - proj_create
    - EXPECT_FALSE
    - proj_grid_info
    - pj_find_file
    - sqlite3_open_v2
    - proj_is_download_needed
    - fopen
    linkageType: ''
    returnType: void
    signature: void TEST(networking, download_whole_files)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_network.cpp:2051,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2052,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2053,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:2054,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2056,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2056,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2057,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2057,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2058,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2058,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2059,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2060,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2080,1
    - Dst: reinterpret_cast<PROJ_FILE_HANDLE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2081,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_network.cpp:2082,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2088,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_network.cpp:2089,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2089,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2094,1
    - Dst: fwrite
      Src: /src/PROJ/test/unit/test_network.cpp:2095,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2095,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2099,1
    - Dst: fseek
      Src: /src/PROJ/test/unit/test_network.cpp:2100,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2100,1
    - Dst: static_cast<long>
      Src: /src/PROJ/test/unit/test_network.cpp:2101,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2105,1
    - Dst: ftell
      Src: /src/PROJ/test/unit/test_network.cpp:2106,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2106,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2110,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_network.cpp:2111,1
    - Dst: reinterpret_cast<FILE *>
      Src: /src/PROJ/test/unit/test_network.cpp:2111,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2115,1
    - Dst: stat
      Src: /src/PROJ/test/unit/test_network.cpp:2117,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2121,1
    - Dst: mkdir
      Src: /src/PROJ/test/unit/test_network.cpp:2123,1
    - Dst: mkdir
      Src: /src/PROJ/test/unit/test_network.cpp:2125,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2130,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2131,1
    - Dst: static_cast<UserData *>
      Src: /src/PROJ/test/unit/test_network.cpp:2135,1
    - Dst: rename
      Src: /src/PROJ/test/unit/test_network.cpp:2136,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2140,1
    - Dst: proj_context_set_fileapi
      Src: /src/PROJ/test/unit/test_network.cpp:2140,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2142,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/test/unit/test_network.cpp:2142,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2144,1
    - Dst: proj_download_file
      Src: /src/PROJ/test/unit/test_network.cpp:2145,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2147,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:2148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2149,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2150,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2151,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2152,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2153,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2154,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2156,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2164,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_network.cpp:2165,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/test_network.cpp:2170,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_network.cpp:2172,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2174,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2176,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2177,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2179,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2180,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2180,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2181,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2181,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/test_network.cpp:2182,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/test_network.cpp:2182,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2183,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/test_network.cpp:2184,1
    - Dst: rmdir
      Src: /src/PROJ/test/unit/test_network.cpp:2185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2046
    functionDepth: 1
    functionLinenumber: 2046
    functionLinenumberEnd: 2186
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - proj_context_create
    - ASSERT_FALSE
    - fclose
    - ASSERT_NE
    - fseek
    - fread
    - putenv
    - ftell
    - fwrite
    - proj_context_set_fileapi
    - proj_destroy
    - reinterpret_cast<FILE *>
    - EXPECT_NEAR
    - rename
    - const_cast<char *>
    - proj_cleanup
    - proj_context_set_enable_network
    - proj_download_file
    - ASSERT_TRUE
    - unlink
    - proj_trans_generic
    - rmdir
    - reinterpret_cast<PROJ_FILE_HANDLE *>
    - stat
    - proj_create
    - static_cast<long>
    - mkdir
    - proj_is_download_needed
    - fopen
    - static_cast<UserData *>
    linkageType: ''
    returnType: void
    signature: void TEST(networking, file_api)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2199,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:2200,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2201,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2209,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_network.cpp:2219,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2223,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:2223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2225,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:2225,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_network.cpp:2226,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_network.cpp:2227,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2230,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2194
    functionDepth: 1
    functionLinenumber: 2194
    functionLinenumberEnd: 2234
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - proj_context_set_enable_network
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - proj_coordoperation_get_grid_used
    - proj_destroy
    - proj_context_create
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(networking, proj_coordoperation_get_grid_used)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_network.cpp:2249,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_network.cpp:2250,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_network.cpp:2252,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2254,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2255,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_network.cpp:2257,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2258,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2259,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_network.cpp:2260,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_network.cpp:2262,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/test/unit/test_network.cpp:2263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2265,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_network.cpp:2265,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2267,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2269,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2270,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2273,1
    - Dst: proj_grid_cache_set_enable
      Src: /src/PROJ/test/unit/test_network.cpp:2274,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2275,1
    - Dst: doTest
      Src: /src/PROJ/test/unit/test_network.cpp:2276,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2277,1
    - Dst: doTest
      Src: /src/PROJ/test/unit/test_network.cpp:2278,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2242
    functionDepth: 1
    functionLinenumber: 2242
    functionLinenumberEnd: 2281
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_grid_cache_set_enable
    - EXPECT_TRUE
    - proj_context_set_enable_network
    - proj_create
    - proj_create_operations
    - proj_context_destroy
    - proj_operation_factory_context_set_spatial_criterion
    - proj_coordoperation_is_instantiable
    - proj_destroy
    - proj_create_operation_factory_context
    - proj_pj_info
    - proj_list_get
    - proj_context_create
    - proj_list_destroy
    - doTest
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST(networking, pyproj_issue_1192)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_network.cpp:2297,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_network.cpp:2298,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_network.cpp:2300,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2302,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_network.cpp:2303,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_network.cpp:2305,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2306,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2307,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_network.cpp:2308,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_network.cpp:2309,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2310,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2311,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_network.cpp:2314,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_network.cpp:2315,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_network.cpp:2319,1
    - Dst: proj_context_set_network_callbacks
      Src: /src/PROJ/test/unit/test_network.cpp:2319,1
    - Dst: doTest
      Src: /src/PROJ/test/unit/test_network.cpp:2323,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_network.cpp:2324,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_network.cpp:2326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2289
    functionDepth: 1
    functionLinenumber: 2289
    functionLinenumberEnd: 2327
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_network.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_network_callbacks
    - proj_context_set_enable_network
    - proj_create
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_FALSE
    - proj_context_destroy
    - proj_destroy
    - proj_create_operation_factory_context
    - ASSERT_TRUE
    - doTest
    - proj_context_create
    - proj_list_destroy
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST(networking, do_not_attempt_network_access_known_available_network_on)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PROJ/test/unit/test_primitives.hpp:48,1
    - Dst: split
      Src: /src/PROJ/test/unit/test_primitives.hpp:49,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:50,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:50,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:52,1
    - Dst: split
      Src: /src/PROJ/test/unit/test_primitives.hpp:53,1
    - Dst: split
      Src: /src/PROJ/test/unit/test_primitives.hpp:54,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:55,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:55,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:59,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_primitives.hpp:59,1
    - Dst: c_locale_stod
      Src: /src/PROJ/test/unit/test_primitives.hpp:68,1
    - Dst: c_locale_stod
      Src: /src/PROJ/test/unit/test_primitives.hpp:76,1
    - Dst: abs
      Src: /src/PROJ/test/unit/test_primitives.hpp:86,1
    - Dst: abs
      Src: /src/PROJ/test/unit/test_primitives.hpp:86,1
    - Dst: ::testing::AssertionSuccess
      Src: /src/PROJ/test/unit/test_primitives.hpp:97,1
    - Dst: ::testing::AssertionFailure
      Src: /src/PROJ/test/unit/test_primitives.hpp:101,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - m_expr
    - n_expr
    - m
    - n
    argTypes:
    - char*
    - char*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 104
    functionName: ComparePROJString
    functionSourceFile: /src/PROJ/test/unit/test_primitives.hpp
    functionUses: 0
    functionsReached:
    - abs
    - auto::size
    - ::testing::AssertionSuccess
    - c_locale_stod
    - ::testing::AssertionFailure
    - split
    linkageType: ''
    returnType: ::testing::AssertionResult
    signature: "::testing::AssertionResult ComparePROJString(const char *m_expr,\n
      \                                                   const char *n_expr,\n                                                    const
      std::string &m,\n                                                    const std::string
      &n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: CApi::DummyLogFunction
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogFunction(void *, int, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:75,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CApi::SetUp
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CApi::TearDown
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:85,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:87,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:88,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:89,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:90,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:91,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:92,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_c_api.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: CApi::createBoundCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - ParameterValue::create
    - PropertyMap
    - Transformation::create
    - Measure
    - OperationParameter::create
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: BoundCRSNNPtr createBoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:98,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:99,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:102,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_c_api.cpp:104,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:104,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_c_api.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: CApi::createProjectedCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - ProjectedCRS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr createProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:109,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:110,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:111,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:115,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:116,1
    - Dst: CApi::createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:118,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_c_api.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: CApi::createDerivedProjectedCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - CartesianCS::createEastingNorthing
    - Conversion::create
    - CApi::createProjectedCRS
    - DerivedProjectedCRS::create
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: DerivedProjectedCRSNNPtr createDerivedProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:123,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:124,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:127,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:128,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:129,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:132,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_c_api.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: CApi::createVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr createVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:138,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:139,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:142,1
    - Dst: CApi::createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:144,1
    - Dst: CApi::createVerticalCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: CApi::createCompoundCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - CompoundCRS::create
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - CApi::createProjectedCRS
    - CApi::createVerticalCRS
    linkageType: ''
    returnType: CompoundCRSNNPtr
    signature: CompoundCRSNNPtr createCompoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: CApi::ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: ~ObjectKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjectKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: CApi::clear
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: CApi::ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '&operator=(const ObjectKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectKeeper
    signature: ObjectKeeper &operator=(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: CApi::PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(PJ_CONTEXT *ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~PjContextKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~PjContextKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: CApi::PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: '&operator=(const PjContextKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PjContextKeeper
    signature: PjContextKeeper &operator=(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - op_ctxt
    argTypes:
    - PJ_OPERATION_FACTORY_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: CApi::ContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextKeeper(PJ_OPERATION_FACTORY_CONTEXT *op_ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ~ContextKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_operation_factory_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~ContextKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: CApi::ContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextKeeper(const ContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: '&operator=(const ContextKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ContextKeeper
    signature: ContextKeeper &operator=(const ContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - res
    argTypes:
    - PJ_OBJ_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: CApi::ObjListKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjListKeeper(PJ_OBJ_LIST *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~ObjListKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_list_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjListKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: CApi::ObjListKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjListKeeper(const ObjListKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: '&operator=(const ObjListKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjListKeeper
    signature: ObjListKeeper &operator=(const ObjListKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:195,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:195,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:198,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:198,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:199,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:216,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:216,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_c_api.cpp:217,1
    - Dst: proj_geod
      Src: /src/PROJ/test/unit/test_c_api.cpp:220,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:221,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:222,1
    - Dst: proj_geod_direct
      Src: /src/PROJ/test/unit/test_c_api.cpp:225,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:226,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:227,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:230,1
    - Dst: proj_lp_dist
      Src: /src/PROJ/test/unit/test_c_api.cpp:230,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:233,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:235,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:235,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:237,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:237,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:240,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:242,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:246,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:248,1
    - Dst: static_cast<std::string *>
      Src: /src/PROJ/test/unit/test_c_api.cpp:249,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:251,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:252,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:253,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:254,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:255,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 258
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - EXPECT_EQ
    - proj_context_destroy
    - proj_pj_info
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - static_cast<std::string *>
    - WKTFormatter::create
    - proj_lp_dist
    - EXPECT_NE
    - proj_destroy
    - proj_geod
    - EXPECT_NEAR
    - std::string
    - EXPECT_STREQ
    - proj_trans
    - proj_geod_direct
    - proj_create
    - exportToWKT
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:265,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:272,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:275,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:276,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:277,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:278,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:281,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:283,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:283,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:287,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:290,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:299,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:304,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:314,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:315,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:316,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:317,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:323,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:333,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:334,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:335,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:336,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:362,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:366,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:368,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:369,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:395,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:398,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:399,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:401,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:402,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:407,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:409,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:409,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:415,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:421,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:434,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:435,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:436,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:437,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:438,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:441,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:454,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:467,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:471,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 482
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_string_list_destroy
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_from_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:487,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:489,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:489,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:493,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:496,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:497,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:498,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:498,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:502,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:503,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:504,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:504,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:505,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:505,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:510,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:511,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:512,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:512,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:516,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:517,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:518,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:518,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:519,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:519,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:524,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:525,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:526,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:526,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:530,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:531,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:532,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:532,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:539,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:540,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:541,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:541,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:547,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:548,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:549,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:549,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:556,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:557,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:558,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:558,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:564,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:565,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:566,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:566,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:572,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:573,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:574,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:574,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:577,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:579,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:583,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:585,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:585,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:590,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:591,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:592,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:592,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:599,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:600,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:601,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:601,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:608,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:609,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:610,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:610,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:617,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:618,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:619,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:619,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:626,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 629
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_as_wkt
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:634,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:641,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:644,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 649
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_as_wkt
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_wkt_check_db_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:654,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:654,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:656,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:656,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:658,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::c_str
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_as_wkt
    - createBoundCRS
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_wkt_incompatible_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:667,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:669,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:669,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:673,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:676,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:677,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:678,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:678,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:682,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:683,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:684,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 687
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_as_proj_string
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_proj_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:692,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:694,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:694,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:697,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:699,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_as_proj_string
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_proj_string_incompatible_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:706,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:708,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:711,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:713,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 716
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_proj_string_approx_tmerc_option_yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:721,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:724,1
    - Dst: proj_crs_create_bound_crs_to_WGS84
      Src: /src/PROJ/test/unit/test_c_api.cpp:726,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:728,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:730,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:731,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:732,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:732,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:736,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:738,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:740,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:742,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:744,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:746,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:749,1
    - Dst: proj_coordoperation_get_towgs84_values
      Src: /src/PROJ/test/unit/test_c_api.cpp:749,1
    - Dst: std::vector::data
      Src: /src/PROJ/test/unit/test_c_api.cpp:750,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:752,1
    - Dst: proj_crs_create_bound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:754,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:756,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:758,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 759
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_create_bound_crs
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_as_proj_string
    - proj_create_from_database
    - proj_coordoperation_get_towgs84_values
    - proj_crs_create_bound_crs_to_WGS84
    - ASSERT_NE
    - std::vector::data
    - std::string
    - proj_crs_get_coordoperation
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_bound_crs_to_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:764,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:765,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:767,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:767,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:769,1
    - Dst: proj_crs_create_bound_crs_to_WGS84
      Src: /src/PROJ/test/unit/test_c_api.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 773
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::c_str
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_crs_create_bound_crs_to_WGS84
    - ASSERT_NE
    - createProjectedCRS
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_bound_crs_to_WGS84_on_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:778,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:780,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:780,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:784,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:785,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:787,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:787,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:788,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_TRUE
    - proj_get_name
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:794,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:796,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:796,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:800,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:801,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:803,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:803,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:804,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:804,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:805,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:805,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:806,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 807
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_TRUE
    - ASSERT_NE
    - proj_get_id_auth_name
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_id_auth_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:812,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:814,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:818,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:819,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:820,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:821,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:822,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:822,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:823,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:823,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:824,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_id_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:831,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:833,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:833,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:838,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:838,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:841,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:843,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:843,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:847,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:848,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:848,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:851,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:853,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:853,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:857,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:858,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:858,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:862,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:863,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:864,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:868,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:869,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:869,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:873,1
    - Dst: ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:874,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:875,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:880,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:880,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:884,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:885,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:886,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:890,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:891,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:891,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:894,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:896,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:898,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:903,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:904,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:904,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:908,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:909,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:910,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:915,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:915,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:923,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:925,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:926,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:926,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:931,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:933,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:933,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:938,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:940,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:940,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:944,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:945,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:947,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:951,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:952,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:952,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:956,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:957,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:959,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:964,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:964,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:967,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:969,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:969,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:972,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:973,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:973,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:977,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:978,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:980,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:984,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:985,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:985,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:988,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:991,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:992,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 994
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - createProjectedCRS
    - ellipsoid
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - createVerticalCRS
    - createBoundCRS
    - ASSERT_NE
    - datum
    - createDerivedProjectedCRS
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1000,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1002,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1005,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1007,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1009,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1009,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1010,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:1010,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1011,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1011,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:1013,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1014,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1015,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1015,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1018,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1020,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1022,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1023,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1023,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1026,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1028,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1030,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1031,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1031,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1034,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1036,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1038,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1038,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1041,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1043,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1045,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1045,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1048,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1050,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1052,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1052,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1055,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1057,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1059,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1059,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1063,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1065,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1067,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1067,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1069,1
    - Dst: proj_dynamic_datum_get_frame_reference_epoch
      Src: /src/PROJ/test/unit/test_c_api.cpp:1069,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1074,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1078,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1080,1
    - Dst: proj_dynamic_datum_get_frame_reference_epoch
      Src: /src/PROJ/test/unit/test_c_api.cpp:1080,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1084,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1087,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1089,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1089,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1091,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1093,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1093,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1094,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1095,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1095,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1096,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1097,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1097,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1098,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1101,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1106,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1106,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1108,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1110,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1110,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1112,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1112,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1113,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1114,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1126,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1130,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:1132,1
    - Dst: static_cast<std::string *>
      Src: /src/PROJ/test/unit/test_c_api.cpp:1133,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1135,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:1137,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:1138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1139,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1140,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1144
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_TRUE
    - std::string::c_str
    - EXPECT_EQ
    - proj_context_destroy
    - proj_pj_info
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - proj_is_deprecated
    - static_cast<std::string *>
    - ASSERT_EQ
    - EXPECT_NE
    - proj_create_from_database
    - proj_destroy
    - std::string
    - proj_get_type
    - proj_dynamic_datum_get_frame_reference_epoch
    - proj_is_crs
    - EXPECT_STREQ
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1149,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1151,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1153,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1156,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1158,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1158,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1160,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1161,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1163,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1163,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1164,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1166,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1166,1
    - Dst: proj_crs_get_horizontal_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:1168,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1169,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:1172,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1173,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1176,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:1176,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1178,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1179,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1180,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1180,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:1182,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1183,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1185,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1187,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1187,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:1189,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1193,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:1193,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1194,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1200,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1202,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1202,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1204,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1206,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:1207,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1209,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:1210,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1212,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1213
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_get_id_code
    - EXPECT_TRUE
    - EXPECT_EQ
    - ASSERT_NE
    - proj_crs_get_datum
    - proj_crs_get_horizontal_datum
    - WKTFormatter::create
    - proj_create_from_wkt
    - EXPECT_NEAR
    - std::string
    - proj_ellipsoid_get_parameters
    - proj_crs_get_geodetic_crs
    - proj_is_crs
    - ASSERT_TRUE
    - proj_get_name
    - createProjectedCRS
    - EXPECT_FALSE
    - proj_get_ellipsoid
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1221,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1223,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1226,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1227,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1228,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1228,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1233,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1235,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1238,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1239,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1240,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1240,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1245,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1247,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1250,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1252,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1252,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1257,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1259,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1262,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1263,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1264,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1264,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1269,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1271,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1274,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1276,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1276,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1281,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1283,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1286,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1288,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1288,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1293,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1295,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1298,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1299,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1300,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1300,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1305,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1307,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1310,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1311,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1312,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1312,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1317,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1319,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1322,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1324,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1324,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1329,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1332,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1335,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1338
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - proj_get_celestial_body_name
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_celestial_body_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1343,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1345,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1347,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1350,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/test/unit/test_c_api.cpp:1353,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1354,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1356,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1357,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1358,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1360,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/test/unit/test_c_api.cpp:1360,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1362,1
    - Dst: proj_prime_meridian_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1362,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1367,1
    - Dst: proj_prime_meridian_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1369,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:1370,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_c_api.cpp:1370,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1372,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1372,1
    - Dst: proj_crs_get_horizontal_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:1374,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1375,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/test/unit/test_c_api.cpp:1377,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1380
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_prime_meridian_get_parameters
    - conversionToSI
    - EXPECT_NEAR
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - ASSERT_TRUE
    - proj_get_prime_meridian
    - ASSERT_NE
    - proj_get_name
    - createProjectedCRS
    - std::string
    - proj_crs_get_horizontal_datum
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_prime_meridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1385,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1387,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1387,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1391,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1393,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1393,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1394,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1394,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1396,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1397,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1399,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1400,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1400,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1402,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1405,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1406
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - createCompoundCRS
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_crs_get_sub_crs
    - proj_create_from_wkt
    - ASSERT_NE
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_compound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1411,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1413,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1413,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1415,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1418,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1421,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1421,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1421,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1423,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1424,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1426,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1426,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1427
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_bound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1433,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1434,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1436,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1439,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1442,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1443,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1445,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1445,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1445,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1447,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1450,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1450,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1451
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1456,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1458,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1458,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1460,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1463,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1466,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1466,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1467
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - ASSERT_NE
    - proj_get_name
    - createProjectedCRS
    - std::string
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_crs_of_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1472,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1475,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1478,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1479,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1481,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1483
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_conversion_without_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1488,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1491,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1494,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1495,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1497,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1499
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_create_from_wkt
    - ASSERT_NE
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_invalid_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptrIn
    argTypes:
    - PROJ_STRING_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1505
    functionName: ListFreer
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListFreer(PROJ_STRING_LIST ptrIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1506
    functionName: ~ListFreer()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_string_list_destroy
    linkageType: ''
    returnType: void
    signature: void ~ListFreer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1507
    functionName: ListFreer
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListFreer(const ListFreer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1508
    functionName: '&operator=(const ListFreer &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListFreer
    signature: ListFreer &operator=(const ListFreer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_authorities_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1514,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1516,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1517,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1518,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1518,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1520,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1520,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1522,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1522,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1524,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1525,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1526,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1526,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1527,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1528,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1530,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1530,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1532,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1532,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1534
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_authorities_from_database
    - EXPECT_EQ
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_authorities_from_database)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_codes_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1574,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1581,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1582,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1585,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1587,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1589,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1593
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_codes_from_database
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_codes_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1598,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1600,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1604,1
    - Dst: proj_coordoperation_get_method_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1604,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1608,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1609,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1612,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1612,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1615,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1616,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1619,1
    - Dst: proj_coordoperation_get_method_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1619,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1625,1
    - Dst: proj_coordoperation_get_method_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1625,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1628,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1629,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1630,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1631,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1631,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1632,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1632,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1633,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1635,1
    - Dst: proj_coordoperation_get_param_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1635,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1636,1
    - Dst: proj_coordoperation_get_param_index
      Src: /src/PROJ/test/unit/test_c_api.cpp:1636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1637,1
    - Dst: proj_coordoperation_get_param_index
      Src: /src/PROJ/test/unit/test_c_api.cpp:1638,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1640,1
    - Dst: proj_coordoperation_get_param
      Src: /src/PROJ/test/unit/test_c_api.cpp:1640,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1643,1
    - Dst: proj_coordoperation_get_param
      Src: /src/PROJ/test/unit/test_c_api.cpp:1643,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1657,1
    - Dst: proj_coordoperation_get_param
      Src: /src/PROJ/test/unit/test_c_api.cpp:1657,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1661,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1662,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1663,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1664,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1665,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1666,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1667,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1669,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1670,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1671,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1671,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1672,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1673,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1674,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1674,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1675,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1675,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1676,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1676,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1677,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1678
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_coordoperation_get_method_info
    - proj_create_from_database
    - proj_coordoperation_get_param_index
    - ASSERT_NE
    - proj_coordoperation_get_param_count
    - std::string
    - proj_coordoperation_get_param
    - proj_crs_get_coordoperation
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1683,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1685,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1685,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1687,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1690,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1693
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    - proj_crs_get_coordoperation
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, transformation_from_boundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_c_api.cpp:1708,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1710,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1713,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1716,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1717,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1718,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1718,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_c_api.cpp:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1724
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_enable_network
    - EXPECT_TRUE
    - proj_pj_info
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CApi,\n       proj_create_from_database_grid_alternative_null_old_proj_grid_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1729,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1732,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/test/unit/test_c_api.cpp:1735,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_c_api.cpp:1736,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1738,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1738,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1746,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1746,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1750,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1750,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1754,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1754,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1758,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1759,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1760,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1761,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1762,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1762,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1764,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1764,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1765,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1765,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1766,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1767,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_c_api.cpp:1769,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1770
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_coordoperation_get_grid_used_count
    - EXPECT_EQ
    - proj_coordoperation_get_grid_used
    - proj_context_set_url_endpoint
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    - proj_context_get_url_endpoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_get_grid_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1781,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1792,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1796,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1797,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1797,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1801
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - proj_coordoperation_get_grid_used
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_get_grid_used_fullname_caching)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1807,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1810,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1812,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/test/unit/test_c_api.cpp:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1813
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_NE
    - proj_coordoperation_is_instantiable
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_is_instantiable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1818,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1819,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1822,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1824,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1827,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1829,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1832,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1835,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1838,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1839,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1842,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1842,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1844,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1844,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1845,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1845,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1845,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1847,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1848,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1850,1
    - Dst: proj_coordoperation_has_ballpark_transformation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1851,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1852,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1852,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1852,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1859,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1860,1
    - Dst: ASSERT_LT
      Src: /src/PROJ/test/unit/test_c_api.cpp:1861,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1861,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1862,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1863,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1866,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1866,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1866,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1873,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1876
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - EXPECT_EQ
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_FALSE
    - ASSERT_LT
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - ASSERT_NE
    - proj_get_name
    - proj_get_suggested_operation
    - std::string
    - proj_list_get_count
    - proj_coordoperation_has_ballpark_transformation
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1881,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1882,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1885,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1887,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1890,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1892,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1895,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1898,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1901,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1902,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1909,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1910,1
    - Dst: ASSERT_LT
      Src: /src/PROJ/test/unit/test_c_api.cpp:1911,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1911,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1912,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1913,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1916,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1918
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - ASSERT_LT
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - ASSERT_NE
    - proj_get_name
    - proj_get_suggested_operation
    - EXPECT_STREQ
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_suggested_operation_for_NAD83_to_NAD83_HARN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1923,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1924,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1927,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1930,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1933,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1935,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1938,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1941,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1944,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1945,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1953,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1954,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1955,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1956,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1959,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1961
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - proj_coordoperation_get_grid_used_count
    - EXPECT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - ASSERT_NE
    - proj_get_suggested_operation
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_prime_meridian_non_greenwich)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1966,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1967,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1971,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1973,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1977,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1979,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1982,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1985,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1988,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1989,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1996,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1998
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_get_suggested_operation
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_suggested_operation_with_operations_without_area_of_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2003,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2004,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2007,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2009,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2012,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2014,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:2017,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2020,1
    - Dst: proj_operation_factory_context_set_discard_superseded
      Src: /src/PROJ/test/unit/test_c_api.cpp:2023,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2025,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2029,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2030
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_operation_factory_context_set_discard_superseded
    - proj_create_operations
    - EXPECT_EQ
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_discard_superseded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2035,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2036,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2039,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2041,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2044,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2046,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:2049,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2052,1
    - Dst: proj_operation_factory_context_set_discard_superseded
      Src: /src/PROJ/test/unit/test_c_api.cpp:2055,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2057,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2058,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2061,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2062
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_operation_factory_context_set_discard_superseded
    - proj_create_operations
    - EXPECT_EQ
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_dont_discard_superseded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2068,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2070,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2074,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2076,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2083,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2084,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2087,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2090,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2090,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2091,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2095,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2095,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2096,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2102,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2103,1
    - Dst: proj_operation_factory_context_set_allow_use_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2105,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2108,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2111,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2111,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2112,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2113,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2116,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2116,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2117,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2123,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2124,1
    - Dst: proj_operation_factory_context_set_allowed_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2128,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2131,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2134,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2134,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2135,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2136,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2139,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2139,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2140,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2146,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2147,1
    - Dst: proj_operation_factory_context_set_allowed_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2151,1
    - Dst: proj_operation_factory_context_set_allow_use_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2153,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2156,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2159,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2159,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2160,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2164,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2164,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2168
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_operations
    - proj_create_from_database
    - proj_list_get
    - proj_operation_factory_context_set_allow_use_intermediate_crs
    - ASSERT_NE
    - proj_get_name
    - proj_operation_factory_context_set_allowed_intermediate_crs
    - std::string
    - proj_list_get_count
    - proj_create_operation_factory_context
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_with_pivot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2173,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2174,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2177,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2179,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2182,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2184,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:2187,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2190,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2195,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2199,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2199,1
    - Dst: proj_operation_factory_context_set_allow_ballpark_transformations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2204,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2207,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2211,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2211,1
    - Dst: proj_operation_factory_context_set_allow_ballpark_transformations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2216,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2219,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2223,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2225
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_operation_factory_context_set_allow_ballpark_transformations
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_allow_ballpark_transformations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2231,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2232,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2233,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2238
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_context_set_database_path
    - ASSERT_NE
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_c_api.cpp:2248,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:2249,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2251,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2252,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2252,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2255,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_c_api.cpp:2256,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2258,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2258,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:2258,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2263,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2263,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2269,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2269,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:2272,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2274,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2275,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_c_api.cpp:2277,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2280,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2283,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2288,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2242
    functionDepth: 1
    functionLinenumber: 2242
    functionLinenumberEnd: 2294
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - EXPECT_TRUE
    - auto::getDatabaseStructure
    - ASSERT_TRUE
    - proj_create_from_database
    - sqlite3_close
    - sqlite3_exec
    - DatabaseContext::create
    - ASSERT_NE
    - sqlite3_open_v2
    - proj_context_set_database_path
    - c_str
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_aux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2300,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2300,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2304,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2298
    functionDepth: 1
    functionLinenumber: 2298
    functionLinenumberEnd: 2309
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - proj_context_set_database_path
    - ASSERT_NE
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_error_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2316,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2317,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2320,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2325
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - proj_context_set_database_path
    - ASSERT_NE
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_error_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2331,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2334,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2341,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2352,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2352,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2363,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2329
    functionDepth: 1
    functionLinenumber: 2329
    functionLinenumberEnd: 2365
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_guess_wkt_dialect
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_guess_wkt_dialect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2381,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2385,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2385,1
    - Dst: proj_create_from_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2388,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2392,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2392,1
    - Dst: proj_create_from_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2396,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2400,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2402
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_list_get_count
    - ASSERT_NE
    - proj_create_from_name
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_from_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:2407,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2409,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2409,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2413,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2415,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2417,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2417,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2423,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2423,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2424,1
    - Dst: proj_int_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2425,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:2428,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2430,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2430,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2434,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2435,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2437,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2440,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2443,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2445,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2447,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2447,1
    - Dst: proj_int_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2448,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2451,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2454,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2458,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2458,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2459,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2460,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2462,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2464,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2464,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:2465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2467,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2468,1
    - Dst: proj_int_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2471
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - proj_int_list_destroy
    - proj_get_id_auth_name
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - proj_create_from_database
    - ASSERT_TRUE
    - ASSERT_NE
    - proj_identify
    - std::string
    - proj_list_get_count
    - proj_list_get
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_identify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2477,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2479,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2481,1
    - Dst: proj_get_domain_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2484,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2484,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2486,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2487,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2487,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2491,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2492,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2493,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2496,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2496,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2498,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2499,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2499,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2501,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2502,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2503,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2505,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2505,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2507,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2509,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2510,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2511
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_get_area_of_use_ex
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_TRUE
    - proj_get_scope_ex
    - ASSERT_NE
    - EXPECT_STREQ
    - proj_get_domain_count
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_domain_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2517,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2519,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2521,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2521,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2528,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2530,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2532,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2534,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2534,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2537,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2539,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2540,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2515
    functionDepth: 1
    functionLinenumber: 2515
    functionLinenumberEnd: 2543
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - EXPECT_FALSE
    - proj_get_area_of_use
    - proj_create_from_database
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_area_of_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2549,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2551,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2553,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2553,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2556,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2561,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2561,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2564,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2567,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2569
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_coordoperation_get_accuracy
    - proj_create_from_database
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_get_accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2575,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2578,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2581,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2585,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2588,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2588,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2589,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2592,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2594,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2594,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2596,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2598,1
    - Dst: proj_create_geographic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2601,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2603,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2605,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2605,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2609,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2612,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2617,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2621,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2624,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2624,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2625,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2628,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2630,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2630,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2635,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2639,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2642,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2642,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2643,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2646,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2648,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2648,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2653,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2659,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2661,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2662,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2666,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2667,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2668,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2674,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2679,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2681,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2683,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2683,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2684,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:2684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2573
    functionDepth: 1
    functionLinenumber: 2573
    functionLinenumberEnd: 2686
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_is_deprecated
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - WKTFormatter::create
    - proj_create_geographic_crs
    - exportToWKT
    - EXPECT_NE
    - ASSERT_TRUE
    - proj_create_geographic_crs_from_datum
    - ASSERT_NE
    - proj_get_name
    - proj_crs_get_datum
    - std::string
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_geographic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_geocentric_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2692,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2697,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2700,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2700,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2701,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2704,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2706,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2706,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2708,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2710,1
    - Dst: proj_create_geocentric_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2712,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2715,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2717,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2717,1
    - Dst: proj_create_geocentric_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2690
    functionDepth: 1
    functionLinenumber: 2690
    functionLinenumberEnd: 2726
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_create_geocentric_crs
    - EXPECT_TRUE
    - proj_create
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NE
    - ASSERT_NE
    - proj_create_geocentric_crs_from_datum
    - proj_crs_get_datum
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_geocentric_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_conversion_utm
      Src: /src/PROJ/test/unit/test_c_api.cpp:2733,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2735,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:2738,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2739,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/test_c_api.cpp:2743,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:2747,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:2747,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:2750,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2751,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2752,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2756
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_create_conversion_utm
    - ASSERT_EQ
    - ASSERT_TRUE
    - proj_destroy
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_NEAR
    - proj_torad
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, check_coord_op_obj_can_be_used_with_proj_trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_conversion_utm
      Src: /src/PROJ/test/unit/test_c_api.cpp:2764,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2766,1
    - Dst: proj_create_conversion_utm
      Src: /src/PROJ/test/unit/test_c_api.cpp:2771,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2773,1
    - Dst: proj_create_conversion_transverse_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:2776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2779,1
    - Dst: proj_create_conversion_gauss_schreiber_transverse_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:2783,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2787,1
    - Dst: proj_create_conversion_transverse_mercator_south_oriented
      Src: /src/PROJ/test/unit/test_c_api.cpp:2791,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2795,1
    - Dst: proj_create_conversion_two_point_equidistant
      Src: /src/PROJ/test/unit/test_c_api.cpp:2798,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2802,1
    - Dst: proj_create_conversion_tunisia_mining_grid
      Src: /src/PROJ/test/unit/test_c_api.cpp:2805,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2808,1
    - Dst: proj_create_conversion_albers_equal_area
      Src: /src/PROJ/test/unit/test_c_api.cpp:2811,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2815,1
    - Dst: proj_create_conversion_lambert_conic_conformal_1sp
      Src: /src/PROJ/test/unit/test_c_api.cpp:2818,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2821,1
    - Dst: proj_create_conversion_lambert_conic_conformal_1sp_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:2825,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2829,1
    - Dst: proj_create_conversion_lambert_conic_conformal_2sp
      Src: /src/PROJ/test/unit/test_c_api.cpp:2832,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2836,1
    - Dst: proj_create_conversion_lambert_conic_conformal_2sp_michigan
      Src: /src/PROJ/test/unit/test_c_api.cpp:2840,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2844,1
    - Dst: proj_create_conversion_lambert_conic_conformal_2sp_belgium
      Src: /src/PROJ/test/unit/test_c_api.cpp:2848,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2852,1
    - Dst: proj_create_conversion_azimuthal_equidistant
      Src: /src/PROJ/test/unit/test_c_api.cpp:2855,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2858,1
    - Dst: proj_create_conversion_guam_projection
      Src: /src/PROJ/test/unit/test_c_api.cpp:2861,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2864,1
    - Dst: proj_create_conversion_bonne
      Src: /src/PROJ/test/unit/test_c_api.cpp:2867,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2870,1
    - Dst: proj_create_conversion_lambert_cylindrical_equal_area_spherical
      Src: /src/PROJ/test/unit/test_c_api.cpp:2874,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2877,1
    - Dst: proj_create_conversion_lambert_cylindrical_equal_area
      Src: /src/PROJ/test/unit/test_c_api.cpp:2880,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2883,1
    - Dst: proj_create_conversion_cassini_soldner
      Src: /src/PROJ/test/unit/test_c_api.cpp:2886,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2889,1
    - Dst: proj_create_conversion_equidistant_conic
      Src: /src/PROJ/test/unit/test_c_api.cpp:2892,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2896,1
    - Dst: proj_create_conversion_eckert_i
      Src: /src/PROJ/test/unit/test_c_api.cpp:2899,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2902,1
    - Dst: proj_create_conversion_eckert_ii
      Src: /src/PROJ/test/unit/test_c_api.cpp:2905,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2908,1
    - Dst: proj_create_conversion_eckert_iii
      Src: /src/PROJ/test/unit/test_c_api.cpp:2911,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2914,1
    - Dst: proj_create_conversion_eckert_iv
      Src: /src/PROJ/test/unit/test_c_api.cpp:2917,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2920,1
    - Dst: proj_create_conversion_eckert_v
      Src: /src/PROJ/test/unit/test_c_api.cpp:2923,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2926,1
    - Dst: proj_create_conversion_eckert_vi
      Src: /src/PROJ/test/unit/test_c_api.cpp:2929,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2932,1
    - Dst: proj_create_conversion_equidistant_cylindrical
      Src: /src/PROJ/test/unit/test_c_api.cpp:2935,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2938,1
    - Dst: proj_create_conversion_equidistant_cylindrical_spherical
      Src: /src/PROJ/test/unit/test_c_api.cpp:2941,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2944,1
    - Dst: proj_create_conversion_gall
      Src: /src/PROJ/test/unit/test_c_api.cpp:2947,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2950,1
    - Dst: proj_create_conversion_goode_homolosine
      Src: /src/PROJ/test/unit/test_c_api.cpp:2953,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2956,1
    - Dst: proj_create_conversion_interrupted_goode_homolosine
      Src: /src/PROJ/test/unit/test_c_api.cpp:2959,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2962,1
    - Dst: proj_create_conversion_geostationary_satellite_sweep_x
      Src: /src/PROJ/test/unit/test_c_api.cpp:2965,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2968,1
    - Dst: proj_create_conversion_geostationary_satellite_sweep_y
      Src: /src/PROJ/test/unit/test_c_api.cpp:2971,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2974,1
    - Dst: proj_create_conversion_gnomonic
      Src: /src/PROJ/test/unit/test_c_api.cpp:2977,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2980,1
    - Dst: proj_create_conversion_hotine_oblique_mercator_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:2983,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2987,1
    - Dst: proj_create_conversion_hotine_oblique_mercator_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:2990,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2994,1
    - Dst: proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
      Src: /src/PROJ/test/unit/test_c_api.cpp:2998,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3002,1
    - Dst: proj_create_conversion_laborde_oblique_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:3005,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3009,1
    - Dst: proj_create_conversion_international_map_world_polyconic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3012,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3015,1
    - Dst: proj_create_conversion_krovak_north_oriented
      Src: /src/PROJ/test/unit/test_c_api.cpp:3018,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3022,1
    - Dst: proj_create_conversion_krovak
      Src: /src/PROJ/test/unit/test_c_api.cpp:3026,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3029,1
    - Dst: proj_create_conversion_lambert_azimuthal_equal_area
      Src: /src/PROJ/test/unit/test_c_api.cpp:3032,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3035,1
    - Dst: proj_create_conversion_miller_cylindrical
      Src: /src/PROJ/test/unit/test_c_api.cpp:3038,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3041,1
    - Dst: proj_create_conversion_mercator_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:3044,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3047,1
    - Dst: proj_create_conversion_mercator_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:3050,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3053,1
    - Dst: proj_create_conversion_popular_visualisation_pseudo_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:3057,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3060,1
    - Dst: proj_create_conversion_mollweide
      Src: /src/PROJ/test/unit/test_c_api.cpp:3063,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3066,1
    - Dst: proj_create_conversion_new_zealand_mapping_grid
      Src: /src/PROJ/test/unit/test_c_api.cpp:3069,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3072,1
    - Dst: proj_create_conversion_oblique_stereographic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3075,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3078,1
    - Dst: proj_create_conversion_orthographic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3081,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3084,1
    - Dst: proj_create_conversion_american_polyconic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3087,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3090,1
    - Dst: proj_create_conversion_polar_stereographic_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:3093,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3096,1
    - Dst: proj_create_conversion_polar_stereographic_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:3099,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3102,1
    - Dst: proj_create_conversion_robinson
      Src: /src/PROJ/test/unit/test_c_api.cpp:3105,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3108,1
    - Dst: proj_create_conversion_sinusoidal
      Src: /src/PROJ/test/unit/test_c_api.cpp:3111,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3114,1
    - Dst: proj_create_conversion_stereographic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3117,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3120,1
    - Dst: proj_create_conversion_van_der_grinten
      Src: /src/PROJ/test/unit/test_c_api.cpp:3123,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3126,1
    - Dst: proj_create_conversion_wagner_i
      Src: /src/PROJ/test/unit/test_c_api.cpp:3129,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3132,1
    - Dst: proj_create_conversion_wagner_ii
      Src: /src/PROJ/test/unit/test_c_api.cpp:3135,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3138,1
    - Dst: proj_create_conversion_wagner_iii
      Src: /src/PROJ/test/unit/test_c_api.cpp:3141,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3144,1
    - Dst: proj_create_conversion_wagner_iv
      Src: /src/PROJ/test/unit/test_c_api.cpp:3147,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3150,1
    - Dst: proj_create_conversion_wagner_v
      Src: /src/PROJ/test/unit/test_c_api.cpp:3153,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3156,1
    - Dst: proj_create_conversion_wagner_vi
      Src: /src/PROJ/test/unit/test_c_api.cpp:3159,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3162,1
    - Dst: proj_create_conversion_wagner_vii
      Src: /src/PROJ/test/unit/test_c_api.cpp:3165,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3168,1
    - Dst: proj_create_conversion_quadrilateralized_spherical_cube
      Src: /src/PROJ/test/unit/test_c_api.cpp:3171,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3174,1
    - Dst: proj_create_conversion_spherical_cross_track_height
      Src: /src/PROJ/test/unit/test_c_api.cpp:3177,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3180,1
    - Dst: proj_create_conversion_equal_earth
      Src: /src/PROJ/test/unit/test_c_api.cpp:3183,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3186,1
    - Dst: proj_create_conversion_vertical_perspective
      Src: /src/PROJ/test/unit/test_c_api.cpp:3189,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3193,1
    - Dst: proj_create_conversion_pole_rotation_grib_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:3196,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3199,1
    - Dst: proj_create_conversion_pole_rotation_netcdf_cf_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:3203,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 2760
    functionDepth: 1
    functionLinenumber: 2760
    functionLinenumberEnd: 3209
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_conversion_bonne
    - proj_create_conversion_lambert_conic_conformal_2sp_michigan
    - proj_create_conversion_krovak
    - proj_create_conversion_lambert_azimuthal_equal_area
    - proj_create_conversion_equidistant_cylindrical
    - proj_create_conversion_lambert_conic_conformal_1sp
    - proj_create_conversion_geostationary_satellite_sweep_y
    - proj_create_conversion_orthographic
    - proj_create_conversion_stereographic
    - ASSERT_NE
    - proj_create_conversion_mollweide
    - proj_create_conversion_transverse_mercator_south_oriented
    - proj_create_conversion_goode_homolosine
    - proj_create_conversion_wagner_ii
    - proj_create_conversion_vertical_perspective
    - proj_create_conversion_laborde_oblique_mercator
    - proj_create_conversion_utm
    - proj_create_conversion_robinson
    - ASSERT_EQ
    - proj_create_conversion_two_point_equidistant
    - proj_create_conversion_lambert_conic_conformal_2sp
    - proj_create_conversion_van_der_grinten
    - proj_create_conversion_wagner_vi
    - proj_create_conversion_azimuthal_equidistant
    - proj_create_conversion_international_map_world_polyconic
    - proj_create_conversion_eckert_i
    - proj_create_conversion_transverse_mercator
    - proj_create_conversion_polar_stereographic_variant_b
    - proj_create_conversion_wagner_iv
    - proj_create_conversion_lambert_cylindrical_equal_area
    - proj_create_conversion_oblique_stereographic
    - proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
    - proj_create_conversion_eckert_ii
    - proj_create_conversion_quadrilateralized_spherical_cube
    - proj_create_conversion_sinusoidal
    - proj_create_conversion_wagner_iii
    - proj_create_conversion_albers_equal_area
    - proj_create_conversion_lambert_cylindrical_equal_area_spherical
    - proj_create_conversion_new_zealand_mapping_grid
    - proj_create_conversion_pole_rotation_netcdf_cf_convention
    - proj_create_conversion_equidistant_cylindrical_spherical
    - proj_create_conversion_equidistant_conic
    - proj_create_conversion_geostationary_satellite_sweep_x
    - proj_create_conversion_gnomonic
    - proj_create_conversion_popular_visualisation_pseudo_mercator
    - proj_create_conversion_equal_earth
    - proj_create_conversion_gauss_schreiber_transverse_mercator
    - proj_create_conversion_tunisia_mining_grid
    - proj_create_conversion_eckert_v
    - proj_create_conversion_polar_stereographic_variant_a
    - proj_create_conversion_hotine_oblique_mercator_variant_b
    - proj_create_conversion_spherical_cross_track_height
    - proj_create_conversion_american_polyconic
    - proj_create_conversion_eckert_iii
    - proj_create_conversion_mercator_variant_b
    - proj_create_conversion_eckert_vi
    - proj_create_conversion_gall
    - proj_create_conversion_miller_cylindrical
    - proj_create_conversion_lambert_conic_conformal_2sp_belgium
    - proj_create_conversion_eckert_iv
    - proj_create_conversion_mercator_variant_a
    - proj_create_conversion_wagner_v
    - proj_create_conversion_krovak_north_oriented
    - proj_create_conversion_wagner_vii
    - proj_create_conversion_wagner_i
    - proj_create_conversion_lambert_conic_conformal_1sp_variant_b
    - proj_create_conversion_guam_projection
    - proj_create_conversion_pole_rotation_grib_convention
    - proj_create_conversion_hotine_oblique_mercator_variant_a
    - proj_create_conversion_interrupted_goode_homolosine
    - proj_create_conversion_cassini_soldner
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_projections)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3215,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3217,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3220,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3224,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:3224,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3226,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3226,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3228,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3228,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3232,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3232,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3236,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3236,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3248,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3248,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3251,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3252,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3253,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3254,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3255,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3257,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3258,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3258,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3259,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3261,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3262,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3263,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3263,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3268,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3273,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3273,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3275,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:3275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3277,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3277,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3279,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3213
    functionDepth: 1
    functionLinenumber: 3213
    functionLinenumberEnd: 3283
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - proj_cs_get_type
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_cs_get_axis_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3288,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/test/unit/test_c_api.cpp:3288,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3291,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/test/unit/test_c_api.cpp:3291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3287
    functionDepth: 1
    functionLinenumber: 3287
    functionLinenumberEnd: 3292
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_get_database_metadata
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_get_database_metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_database_structure
      Src: /src/PROJ/test/unit/test_c_api.cpp:3297,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3298,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3299,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:3300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3296
    functionDepth: 1
    functionLinenumber: 3296
    functionLinenumberEnd: 3301
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_string_list_destroy
    - proj_context_get_database_structure
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_get_database_structure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3306,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3308,1
    - Dst: proj_clone
      Src: /src/PROJ/test/unit/test_c_api.cpp:3310,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3314,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3305
    functionDepth: 1
    functionLinenumber: 3305
    functionLinenumberEnd: 3315
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - proj_create
    - ASSERT_NE
    - proj_clone
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_clone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3322,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3324,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:3331,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3332,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:3333,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:3334,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3336,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3337,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:3338,1
    - Dst: proj_clone
      Src: /src/PROJ/test/unit/test_c_api.cpp:3340,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3342,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3344,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3344,1
    - Dst: ObjectKeeper::clear
      Src: /src/PROJ/test/unit/test_c_api.cpp:3346,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:3350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3351,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3319
    functionDepth: 1
    functionLinenumber: 3319
    functionLinenumberEnd: 3353
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ObjectKeeper::clear
    - EXPECT_EQ
    - EXPECT_NE
    - proj_destroy
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_NEAR
    - proj_clone
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_clone_of_obj_with_alternative_operations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3358,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:3360,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3360,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3363,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3365,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3367,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3369,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3371,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3374,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3376,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3377,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3378,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3382,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3386,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:3386,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3389,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3391,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3393,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3393,1
    - Dst: proj_alter_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3400,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3402,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3405,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3407,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3409,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3409,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3409,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3410,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3412
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_is_deprecated
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - std::string
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_get_type
    - ASSERT_NE
    - proj_get_name
    - proj_crs_alter_geodetic_crs
    - createProjectedCRS
    - proj_alter_name
    - proj_crs_get_geodetic_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_geodetic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3417,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:3419,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3419,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3423,1
    - Dst: proj_crs_alter_cs_angular_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3426,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3429,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3431,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3432,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3437,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3437,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3441,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3442,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3442,1
    - Dst: proj_crs_alter_cs_angular_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3446,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3449,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3451,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3452,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3459,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3459,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3462,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3464,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3464,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3465,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3466,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3466,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3468,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3470
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - proj_crs_alter_cs_angular_unit
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_cs_angular_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3475,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:3477,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3477,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3480,1
    - Dst: proj_crs_alter_cs_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3483,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3486,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3488,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3489,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3494,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3494,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3497,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3498,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3499,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3499,1
    - Dst: proj_crs_alter_cs_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3503,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3506,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3508,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3509,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3516,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3516,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3521,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3521,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3523,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3523,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3524,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3525,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3474
    functionDepth: 1
    functionLinenumber: 3474
    functionLinenumberEnd: 3527
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_alter_cs_linear_unit
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - ASSERT_NE
    - createProjectedCRS
    - proj_crs_get_coordinate_system
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_cs_linear_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3532,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:3534,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3534,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3537,1
    - Dst: proj_crs_alter_parameters_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3540,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3543,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3545,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3546,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3547,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3547,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3549,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3549,1
    - Dst: proj_crs_alter_parameters_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3554,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3557,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3559,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3560,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3561,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3561,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3563,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3531
    functionDepth: 1
    functionLinenumber: 3531
    functionLinenumberEnd: 3566
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_as_wkt
    - ASSERT_NE
    - createProjectedCRS
    - proj_crs_alter_parameters_linear_unit
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_parameters_linear_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_engineering_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3572,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3574,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3575,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3576,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3577,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3570
    functionDepth: 1
    functionLinenumber: 3570
    functionLinenumberEnd: 3583
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_engineering_crs
    - EXPECT_EQ
    - proj_as_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_engineering_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3589,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3592,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3594,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3598,1
    - Dst: proj_alter_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3601,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3603,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3605,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3605,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3605,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3606,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3606,1
    - Dst: proj_alter_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3610,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3612,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3614,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3614,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3614,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3615,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3587
    functionDepth: 1
    functionLinenumber: 3587
    functionLinenumberEnd: 3617
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_deprecated
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_create_geographic_crs
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_alter_name
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_alter_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3623,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3626,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3628,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3632,1
    - Dst: proj_alter_id
      Src: /src/PROJ/test/unit/test_c_api.cpp:3634,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3638,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3638,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3638,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3639,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3639,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:3639,1
    - Dst: proj_alter_id
      Src: /src/PROJ/test/unit/test_c_api.cpp:3641,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3645,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3645,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3645,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3646,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3646,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:3646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3647
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create_geographic_crs
    - ASSERT_NE
    - proj_alter_id
    - proj_get_id_auth_name
    - std::string
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_alter_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:3662,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3666,1
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3668,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3671,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3673,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3677,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3679,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3682,1
    - Dst: proj_create_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3685,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3651
    functionDepth: 1
    functionLinenumber: 3651
    functionLinenumberEnd: 3688
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - proj_create_geographic_crs
    - proj_create_projected_crs
    - ASSERT_NE
    - proj_create_conversion
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3703,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3706,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3708,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3712,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3714,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3718,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3725,1
    - Dst: proj_create_transformation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3728,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3733,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3735,1
    - Dst: proj_coordoperation_get_param_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3735,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3737,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3739,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3740,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3741,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3743,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3745,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3746,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3747,1
    - Dst: proj_create_transformation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3751,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3692
    functionDepth: 1
    functionLinenumber: 3692
    functionLinenumberEnd: 3758
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create_transformation
    - proj_create_geographic_crs
    - ASSERT_NE
    - proj_coordoperation_get_param_count
    - proj_get_target_crs
    - proj_get_source_crs
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3764,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3767,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3769,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3774,1
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3779,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3781,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3781,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3781,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3784,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3788,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3788,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3788,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3790,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3791,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3793,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3793,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3795,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3798,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3762
    functionDepth: 1
    functionLinenumber: 3762
    functionLinenumberEnd: 3799
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_crs_get_sub_crs
    - proj_create_geographic_crs
    - proj_create_compound_crs
    - proj_create_vertical_crs
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_compound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3805,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3808,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3810,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3815,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3817,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3820,1
    - Dst: proj_create_conversion_mercator_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:3822,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3826,1
    - Dst: proj_create_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3829,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3831,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3834,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3835,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3839,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3841,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3844,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3844,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3848,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3851,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3853,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3854,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3855,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3856,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3858,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3861,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3863,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3863,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3866,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3869,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3871,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3803
    functionDepth: 1
    functionLinenumber: 3803
    functionLinenumberEnd: 3874
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - proj_convert_conversion_to_other_method
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_create_geographic_crs
    - proj_create_projected_crs
    - ASSERT_NE
    - proj_create_conversion_mercator_variant_a
    - proj_crs_get_coordoperation
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_convert_conversion_to_other_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3879,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3882,1
    - Dst: proj_get_non_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3884,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3885,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3887,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3878
    functionDepth: 1
    functionLinenumber: 3878
    functionLinenumberEnd: 3888
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_non_deprecated
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_non_deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_query_geodetic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:3894,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3896,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3898,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3898,1
    - Dst: proj_query_geodetic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:3901,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3903,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3905,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3892
    functionDepth: 1
    functionLinenumber: 3892
    functionLinenumberEnd: 3907
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_query_geodetic_crs_from_datum
    - EXPECT_EQ
    - EXPECT_GE
    - ASSERT_NE
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_query_geodetic_crs_from_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3913,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3913,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3917,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3924,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3924,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3926,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3927,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3928,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3928,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3929,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3930,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3930,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3936,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3936,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3938,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3939,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3940,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3940,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:3941,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_c_api.cpp:3941,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3942,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3911
    functionDepth: 1
    functionLinenumber: 3911
    functionLinenumberEnd: 3944
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_NEAR
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - ASSERT_NE
    - proj_uom_get_info_from_database
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_uom_get_info_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3950,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3950,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3955,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3955,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3966,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3966,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3969,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3971,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3972,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3973,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3974,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3975,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3975,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3977,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3978,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3988,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3988,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3991,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3993,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3994,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3995,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3996,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3997,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3997,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3999,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3948
    functionDepth: 1
    functionLinenumber: 3948
    functionLinenumberEnd: 4002
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - ASSERT_NE
    - std::string
    - proj_grid_get_info_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_grid_get_info_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4008,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4011,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4014,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4017,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4020,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4024,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4027,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4031,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4034,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4006
    functionDepth: 1
    functionLinenumber: 4006
    functionLinenumberEnd: 4039
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_cartesian_2D_cs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4044,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4046,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4050,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4052,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4053,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4054,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4055,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4056,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4057,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4063,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4064,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4066,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4067,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4068,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4069,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4078,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4078,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4079,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4082,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4083,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4084,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4086,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4087,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4089,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4090,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4091,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4091,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4093,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4096,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4099,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4102,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4103,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4103,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4112,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4114,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4115,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4116,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4117,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4118,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4119,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4120,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4126,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4147,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4148,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4149,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4150,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4151,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4152,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4158,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4162,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4169,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4172,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4173,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4174,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4175,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4181,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4186,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4193,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4196,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4197,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4198,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4199,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4205,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4214,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4216,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4217,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4220,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4221,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4223,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4224,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4226,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4227,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4233,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4243,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4245,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4246,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4249,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4250,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4252,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4253,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4255,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4256,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4262,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4264,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4267,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4268,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4269,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4275,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4277,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4279,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4280,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4281,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4284
      start: 4043
    functionDepth: 1
    functionLinenumber: 4043
    functionLinenumberEnd: 4284
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_crs_info_list_from_database
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_LE
    - proj_get_crs_list_parameters_destroy
    - EXPECT_GE
    - EXPECT_NE
    - EXPECT_GT
    - ASSERT_NE
    - std::string
    - proj_crs_info_list_destroy
    - proj_get_crs_list_parameters_create
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_crs_info_list_from_database)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4289,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4292,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4294,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4295,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4296,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4297,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4298,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4299,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4304,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4306,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4311,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4311,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4312,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4313,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4314,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4315,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4316,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4317,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4321,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4323,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4326
      start: 4288
    functionDepth: 1
    functionLinenumber: 4288
    functionLinenumberEnd: 4326
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_unit_list_destroy
    - ASSERT_NE
    - std::string
    - proj_get_units_from_database
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_units_from_database)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4331,1
    - Dst: proj_get_celestial_body_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4334,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4336,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4337,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4338,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4339,1
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4340,1
    - Dst: proj_get_celestial_body_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4344,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4346,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4348,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4351,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4351,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4352,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4356,1
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4359
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_get_celestial_body_list_from_database
    - proj_celestial_body_list_destroy
    - ASSERT_NE
    - std::string
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_celestial_body_list_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4366,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4368,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4369,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4371,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4374,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4376,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4377,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4379,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4380,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4382,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4382,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4386,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/test_c_api.cpp:4386,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4387,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/test_c_api.cpp:4387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4388
      start: 4363
    functionDepth: 1
    functionLinenumber: 4363
    functionLinenumberEnd: 4388
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_normalize_for_visualization
    - EXPECT_FALSE
    - ASSERT_NE
    - std::string
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4394,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4396,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4397,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4399,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4401,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/test_c_api.cpp:4401,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4402,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/test_c_api.cpp:4402,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4411,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4412,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4413,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4414,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4415,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4416,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4416,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4433,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4434,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4437
      start: 4392
    functionDepth: 1
    functionLinenumber: 4392
    functionLinenumberEnd: 4437
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_normalize_for_visualization
    - EXPECT_FALSE
    - proj_pj_info
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    - std::string
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization_with_alternatives)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4443,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4445,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4446,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4448,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4450,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/test_c_api.cpp:4450,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4451,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/test_c_api.cpp:4451,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4459,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4460,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4441
    functionDepth: 1
    functionLinenumber: 4441
    functionLinenumberEnd: 4462
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_normalize_for_visualization
    - EXPECT_FALSE
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization_with_alternatives_reverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4468,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4470,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4471,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4474,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:4474,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:4476,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4477,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4481,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4481,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4483,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4484,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4485
      start: 4466
    functionDepth: 1
    functionLinenumber: 4466
    functionLinenumberEnd: 4485
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - proj_create
    - proj_normalize_for_visualization
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization_on_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4491,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4500,1
    - Dst: proj_coordoperation_create_inverse
      Src: /src/PROJ/test/unit/test_c_api.cpp:4501,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4503,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4507,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4524,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4525
      start: 4489
    functionDepth: 1
    functionLinenumber: 4489
    functionLinenumberEnd: 4525
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_coordoperation_create_inverse
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_create_inverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4532,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4536,1
    - Dst: proj_get_remarks
      Src: /src/PROJ/test/unit/test_c_api.cpp:4538,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4539,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4540,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4540,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4547,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4551,1
    - Dst: proj_get_remarks
      Src: /src/PROJ/test/unit/test_c_api.cpp:4553,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4554,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4555,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4529
    functionDepth: 1
    functionLinenumber: 4529
    functionLinenumberEnd: 4557
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_get_remarks
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_remarks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4564,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4568,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4570,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4571,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4572,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4573,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4583,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4585,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4586,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4587,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4588,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4592,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4594,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4595,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4561
    functionDepth: 1
    functionLinenumber: 4561
    functionLinenumberEnd: 4598
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - proj_create
    - proj_create_from_database
    - proj_get_scope
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4605,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4609,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4610,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:4610,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4612,1
    - Dst: proj_concatoperation_get_step_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:4612,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4613,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4613,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:4617,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4618,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4622,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4624,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4628,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4630,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:4633,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:4636,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:4639,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4640,1
    - Dst: ASSERT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4643,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:4643,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:4645,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4646,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4649,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:4649,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4650,1
    - Dst: proj_concatoperation_get_step_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:4650,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4652,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4652,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4653,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4653,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4655,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4656,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4659,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4660,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4661,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4661,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4661,1
    - Dst: proj_get_remarks
      Src: /src/PROJ/test/unit/test_c_api.cpp:4663,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4664,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4665,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4665,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4667
      start: 4602
    functionDepth: 1
    functionLinenumber: 4602
    functionLinenumberEnd: 4667
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_concatoperation_get_step_count
    - ASSERT_GT
    - EXPECT_EQ
    - proj_create_operations
    - proj_get_remarks
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_NE
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - proj_get_scope
    - ASSERT_NE
    - proj_operation_factory_context_set_grid_availability_use
    - std::string
    - proj_list_get_count
    - proj_concatoperation_get_step
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_concatoperation_get_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4672,1
    - Dst: exportToJSON
      Src: /src/PROJ/test/unit/test_c_api.cpp:4674,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4674,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4676,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:4679,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4681,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4681,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:4698,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4699,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4700,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4700,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:4714,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4715,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4716,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4671
    functionDepth: 1
    functionLinenumber: 4671
    functionLinenumberEnd: 4722
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_as_projjson
    - JSONFormatter::create
    - EXPECT_EQ
    - proj_create
    - exportToJSON
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_projjson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4728,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4729,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_c_api.cpp:4732,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4732,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4733,1
    - Dst: fseek
      Src: /src/PROJ/test/unit/test_c_api.cpp:4734,1
    - Dst: ftell
      Src: /src/PROJ/test/unit/test_c_api.cpp:4735,1
    - Dst: std::string::resize
      Src: /src/PROJ/test/unit/test_c_api.cpp:4737,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/test/unit/test_c_api.cpp:4737,1
    - Dst: fseek
      Src: /src/PROJ/test/unit/test_c_api.cpp:4738,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_c_api.cpp:4739,1
    - Dst: std::string::size
      Src: /src/PROJ/test/unit/test_c_api.cpp:4739,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4740,1
    - Dst: std::string::size
      Src: /src/PROJ/test/unit/test_c_api.cpp:4740,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_c_api.cpp:4741,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_c_api.cpp:4742,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_c_api.cpp:4744,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4749,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_c_api.cpp:4751,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4751,1
    - Dst: fwrite
      Src: /src/PROJ/test/unit/test_c_api.cpp:4756,1
    - Dst: std::string::data
      Src: /src/PROJ/test/unit/test_c_api.cpp:4756,1
    - Dst: std::string::size
      Src: /src/PROJ/test/unit/test_c_api.cpp:4756,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_c_api.cpp:4757,1
    - Dst: proj_context_get_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4759,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4761,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4761,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4761,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4764,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4765,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4765,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/unit/test_c_api.cpp:4766,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4766,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4769,1
    - Dst: proj_context_get_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4771,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4772,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4775
      start: 4727
    functionDepth: 1
    functionLinenumber: 4727
    functionLinenumberEnd: 4775
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - std::string::c_str
    - EXPECT_TRUE
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fseek
    - proj_context_set_database_path
    - fread
    - ftell
    - ASSERT_EQ
    - fwrite
    - static_cast<size_t>
    - EXPECT_NE
    - std::string
    - std::string::size
    - std::string::empty
    - std::string::resize
    - ASSERT_TRUE
    - fopen
    - std::string::data
    - proj_context_get_database_path
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_copy_from_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4782,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4783,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4784,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4786,1
    - Dst: proj_context_clone
      Src: /src/PROJ/test/unit/test_c_api.cpp:4787,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4788,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4790,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4790,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4791,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4792,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4792,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4780
    functionDepth: 1
    functionLinenumber: 4780
    functionLinenumberEnd: 4794
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - proj_context_create
    - proj_context_use_proj4_init_rules
    - proj_context_get_use_proj4_init_rules
    - proj_context_clone
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_clone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4800,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4802,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4804,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4806,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4808,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4810,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4811,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4813,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4815,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4816,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4819
      start: 4798
    functionDepth: 1
    functionLinenumber: 4798
    functionLinenumberEnd: 4819
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_normalize_for_visualization
    - proj_create_crs_to_crs_from_pj
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_from_pj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4825,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4827,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4829,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4831,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4836,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4838,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4844,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4848
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_create_crs_to_crs_from_pj
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_from_pj_accuracy_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4854,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4856,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4858,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4860,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4865,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4867,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4873,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4877
      start: 4852
    functionDepth: 1
    functionLinenumber: 4852
    functionLinenumberEnd: 4877
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_create_crs_to_crs_from_pj
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_from_pj_ballpark_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4884,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4886,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4894,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4895,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4881
    functionDepth: 1
    functionLinenumber: 4881
    functionLinenumberEnd: 4897
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create_crs_to_crs
    - ASSERT_NE
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_coordinate_metadata_in_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4904,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4906,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4914,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4915,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4901
    functionDepth: 1
    functionLinenumber: 4901
    functionLinenumberEnd: 4917
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create_crs_to_crs
    - ASSERT_NE
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_coordinate_metadata_in_target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4935,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4935,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4938,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4939,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4940,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4941,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4943,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4946,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4946,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4947,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4947,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4948,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4948,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4950,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4950,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4952,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4952,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4953,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cs
    - axis_number
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4955
      start: 4921
    functionDepth: 1
    functionLinenumber: 4921
    functionLinenumberEnd: 4955
    functionName: check_axis_is_latitude
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void check_axis_is_latitude(PJ_CONTEXT *ctx, PJ *cs, int axis_number,\n
      \                      const char *unit_name = \"degree\",\n                       double
      unit_conv_factor = 0.017453292519943295,\n                       const char
      *auth = \"EPSG\", const char *code = \"9122\")"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4973,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4973,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4976,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4977,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4978,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4979,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4981,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4982,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4984,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4984,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4985,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4985,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4986,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4986,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4987,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4988,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4988,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4990,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4990,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4991,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cs
    - axis_number
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4993
      start: 4959
    functionDepth: 1
    functionLinenumber: 4959
    functionLinenumberEnd: 4993
    functionName: check_axis_is_longitude
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void check_axis_is_longitude(PJ_CONTEXT *ctx, PJ *cs, int axis_number,\n
      \                       const char *unit_name = \"degree\",\n                        double
      unit_conv_factor = 0.017453292519943295,\n                        const char
      *auth = \"EPSG\", const char *code = \"9122\")"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5011,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:5011,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5014,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5015,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5016,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5017,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5019,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5020,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5022,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5023,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5023,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5024,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5024,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5025,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5026,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5028,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5028,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5029,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cs
    - axis_number
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5031
      start: 4997
    functionDepth: 1
    functionLinenumber: 4997
    functionLinenumberEnd: 5031
    functionName: check_axis_is_height
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void check_axis_is_height(PJ_CONTEXT *ctx, PJ *cs, int axis_number,\n
      \                                const char *unit_name = \"metre\",\n                                 double
      unit_conv_factor = 1,\n                                 const char *auth = \"EPSG\",\n
      \                                const char *code = \"9001\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_3D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5038,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5042,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5044,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5044,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5046,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5046,1
    - Dst: check_axis_is_latitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5048,1
    - Dst: check_axis_is_longitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5050,1
    - Dst: check_axis_is_height
      Src: /src/PROJ/test/unit/test_c_api.cpp:5052,1
    - Dst: proj_create_ellipsoidal_3D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5056,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5060,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5062,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5062,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5064,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5064,1
    - Dst: check_axis_is_longitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5066,1
    - Dst: check_axis_is_latitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5068,1
    - Dst: check_axis_is_height
      Src: /src/PROJ/test/unit/test_c_api.cpp:5070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5072
      start: 5035
    functionDepth: 2
    functionLinenumber: 5035
    functionLinenumberEnd: 5072
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - check_axis_is_height
    - proj_cs_get_type
    - EXPECT_EQ
    - check_axis_is_longitude
    - proj_create_ellipsoidal_3D_cs
    - ASSERT_NE
    - check_axis_is_latitude
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_ellipsoidal_3D_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5079,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:5079,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5080,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5083,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5085,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5087,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5089,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5090,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5092,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5092,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5094,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5095,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5096,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5076
    functionDepth: 1
    functionLinenumber: 5076
    functionLinenumberEnd: 5097
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_promote_to_3D
    - proj_cs_get_axis_count
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NE
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_promote_to_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5103,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5105,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5107,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5109,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5111,1
    - Dst: proj_coordinate_metadata_get_epoch
      Src: /src/PROJ/test/unit/test_c_api.cpp:5111,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5114,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5116,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5118,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5121,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5121,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5123,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5125,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5126
      start: 5101
    functionDepth: 1
    functionLinenumber: 5101
    functionLinenumberEnd: 5126
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_promote_to_3D
    - proj_cs_get_axis_count
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - EXPECT_NE
    - ASSERT_TRUE
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_crs_get_coordinate_system
    - std::string
    - proj_coordinate_metadata_get_epoch
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_promote_to_3D_on_coordinate_metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5133,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:5133,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5134,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5137,1
    - Dst: proj_crs_demote_to_2D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5139,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5141,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5143,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5144,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5146,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5146,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5149,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5150,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5151
      start: 5130
    functionDepth: 1
    functionLinenumber: 5130
    functionLinenumberEnd: 5151
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NE
    - ASSERT_TRUE
    - ASSERT_NE
    - proj_crs_demote_to_2D
    - proj_crs_get_coordinate_system
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_demote_to_2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5157,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5159,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5163,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5165,1
    - Dst: proj_crs_create_projected_3D_crs_from_2D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5168,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5171,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5173,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5175,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5175,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5175,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5176,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5176,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5178,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5179,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5181,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5181,1
    - Dst: proj_crs_create_projected_3D_crs_from_2D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5185,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5190,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5192,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5192,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5192,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5193,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5193,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5195,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5198,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5155
    functionDepth: 1
    functionLinenumber: 5155
    functionLinenumberEnd: 5200
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - EXPECT_EQ
    - proj_crs_create_projected_3D_crs_from_2D
    - EXPECT_NE
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_crs_get_coordinate_system
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_projected_3D_crs_from_2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5206,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5209,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5211,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:5213,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5213,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5217,1
    - Dst: proj_crs_create_bound_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5219,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5222,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5224,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5226,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5230,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5232,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5234,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5236,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5204
    functionDepth: 1
    functionLinenumber: 5204
    functionLinenumberEnd: 5240
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_as_proj_string
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - proj_create_from_database
    - proj_create_compound_crs
    - proj_create_vertical_crs
    - ASSERT_NE
    - proj_crs_create_bound_vertical_crs
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_bound_vertical_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5247,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5249,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:5250,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5252,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:5259,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5260,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5261,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5263
      start: 5244
    functionDepth: 1
    functionLinenumber: 5244
    functionLinenumberEnd: 5263
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_normalize_for_visualization
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_with_only_ballpark_transformations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5273,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5275,1
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5277,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5279,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5281,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5283,1
    - Dst: proj_crs_create_bound_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5285,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5287,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5288,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5289,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5292,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5293,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5294,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5295,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5297,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5298,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:5308,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5310,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5311,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5312,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:5320,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5321,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5323,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5324,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5267
    functionDepth: 1
    functionLinenumber: 5267
    functionLinenumberEnd: 5326
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create
    - proj_destroy
    - proj_create_from_database
    - proj_create_crs_to_crs_from_pj
    - proj_create_compound_crs
    - ASSERT_NE
    - proj_create_vertical_crs
    - proj_trans
    - proj_crs_create_bound_vertical_crs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    CApi,\n    proj_create_crs_to_crs_from_custom_compound_crs_with_NAD83_2011_and_geoidgrid_ref_against_WGS84_to_WGS84_G1762)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5337,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5339,1
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5341,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5343,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5346,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5348,1
    - Dst: proj_crs_create_bound_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5352,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5354,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5355,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5356,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5359,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5360,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5361,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5362,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5365,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5366,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:5368,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5370,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5371,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5372,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:5380,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5381,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5383,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5384,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5330
    functionDepth: 1
    functionLinenumber: 5330
    functionLinenumberEnd: 5386
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create
    - proj_destroy
    - proj_create_from_database
    - proj_create_crs_to_crs_from_pj
    - proj_create_compound_crs
    - ASSERT_NE
    - proj_create_vertical_crs
    - proj_trans
    - proj_crs_create_bound_vertical_crs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    CApi,\n    proj_create_crs_to_crs_from_custom_compound_crs_with_NAD83_2011_and_geoidgrid_ref_against_NAD83_2011_to_WGS84_G1762)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5393,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5396,1
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:5399,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5404,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5407,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5409,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5412,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5414,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:5417,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5418,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5420,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:5422,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5425,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5426,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5428,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5428,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5429,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5432,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5433,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5434,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5435,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5439,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5441,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5441,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5449,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5450
      start: 5390
    functionDepth: 1
    functionLinenumber: 5390
    functionLinenumberEnd: 5450
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_GE
    - ASSERT_NE
    - proj_create_vertical_crs_ex
    - proj_create_operation_factory_context
    - ASSERT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - std::string
    - proj_coordoperation_get_accuracy
    - ASSERT_TRUE
    - proj_create_compound_crs
    - proj_get_name
    - proj_list_get
    - proj_operation_factory_context_set_grid_availability_use
    - proj_create
    - proj_as_proj_string
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_vertical_crs_ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5457,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5460,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5463,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5465,1
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:5467,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5471,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5474,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5476,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5479,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5481,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:5484,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5485,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5487,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:5489,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5492,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5493,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5495,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5495,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5496,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5499,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5500,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5501,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5502,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5507,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5509,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5509,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:5519,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5520,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5521,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5523,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5526,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5527,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5529,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5529,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5530,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5533,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5534,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5535,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5535,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5535,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5537,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5538,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5539,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5539,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5454
    functionDepth: 1
    functionLinenumber: 5454
    functionLinenumberEnd: 5540
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_as_projjson
    - EXPECT_EQ
    - proj_create
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - proj_as_proj_string
    - proj_create_from_database
    - ASSERT_TRUE
    - proj_list_get
    - proj_create_compound_crs
    - ASSERT_NE
    - proj_get_name
    - proj_operation_factory_context_set_grid_availability_use
    - std::string
    - proj_list_get_count
    - proj_create_vertical_crs_ex
    - proj_create_operation_factory_context
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_vertical_crs_ex_with_geog_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5546,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5547,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5549,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5550,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5552,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5553,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5556,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5558,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5559,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5560,1
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:5561,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5566,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:5571,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5572,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5574,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:5576,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5580,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5582,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5582,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5583,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5587,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5588,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5595,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5595,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5599,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5601
      start: 5544
    functionDepth: 1
    functionLinenumber: 5544
    functionLinenumberEnd: 5601
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_GE
    - proj_get_area_of_use
    - ASSERT_NE
    - proj_crs_get_datum
    - proj_create_vertical_crs_ex
    - proj_create_operation_factory_context
    - ASSERT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_NEAR
    - EXPECT_LE
    - proj_coordoperation_get_accuracy
    - proj_create_compound_crs
    - proj_get_name
    - proj_get_id_auth_name
    - proj_list_get
    - proj_operation_factory_context_set_grid_availability_use
    - proj_create
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_vertical_crs_ex_implied_accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5607,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5609,1
    - Dst: proj_create_conversion_pole_rotation_grib_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:5611,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5614,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5616,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5618,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5620,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5621,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5626,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5627,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5632,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5632,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5638,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5641,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5643,1
    - Dst: proj_is_derived_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5643,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5644,1
    - Dst: proj_is_derived_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5644,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5646,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5689,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5689,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5691,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5692,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5693,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5605
    functionDepth: 1
    functionLinenumber: 5605
    functionLinenumberEnd: 5696
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - EXPECT_FALSE
    - proj_as_wkt
    - ASSERT_NE
    - proj_is_derived_crs
    - std::string
    - proj_crs_get_coordinate_system
    - proj_create_conversion_pole_rotation_grib_convention
    - proj_create_derived_geographic_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_derived_geographic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5702,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5704,1
    - Dst: proj_create_conversion_pole_rotation_netcdf_cf_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:5706,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5709,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5711,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5713,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5715,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5718,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5754,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5755,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5755,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5757,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5759,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5700
    functionDepth: 1
    functionLinenumber: 5700
    functionLinenumberEnd: 5762
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_as_wkt
    - proj_create_conversion_pole_rotation_netcdf_cf_convention
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    - proj_create_derived_geographic_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_derived_geographic_crs_netcdf_cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5768,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:5769,1
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5773,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5774,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5774,1
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5777,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5778,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5779,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5780,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5766
    functionDepth: 1
    functionLinenumber: 5766
    functionLinenumberEnd: 5783
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_context_set_sqlite3_vfs_name
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_sqlite3_vfs_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5791,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5793,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:5794,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5796,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5796,1
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5799,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5787
    functionDepth: 1
    functionLinenumber: 5787
    functionLinenumberEnd: 5801
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_context_set_sqlite3_vfs_name
    - proj_create
    - proj_context_destroy
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_sqlite3_vfs_name__from_global_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5806,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5807,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5808,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5808,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5812,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5814,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5816,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5817,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5820,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5822,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5822,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5824,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5825,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5826,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5826,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5835,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5837,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5839,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5841,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5841,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5847,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5848,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5848,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5805
    functionDepth: 1
    functionLinenumber: 5805
    functionLinenumberEnd: 5850
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_context_destroy
    - ASSERT_TRUE
    - proj_context_create
    - ASSERT_NE
    - proj_context_use_proj4_init_rules
    - proj_get_name
    - proj_crs_get_datum
    - std::string
    - proj_context_get_use_proj4_init_rules
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, use_proj4_init_rules)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5856,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5857,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5858,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5859,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5859,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5860,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5861,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5862,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5863,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5863,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5864,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5854
    functionDepth: 1
    functionLinenumber: 5854
    functionLinenumberEnd: 5866
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - ASSERT_TRUE
    - proj_context_create
    - proj_context_use_proj4_init_rules
    - proj_context_get_use_proj4_init_rules
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, use_proj4_init_rules_from_global_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5871,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5874,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5890,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5892,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5894,1
    - Dst: proj_is_equivalent_to_with_ctx
      Src: /src/PROJ/test/unit/test_c_api.cpp:5894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5896
      start: 5870
    functionDepth: 1
    functionLinenumber: 5870
    functionLinenumberEnd: 5896
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_NE
    - proj_create_from_wkt
    - proj_create_from_database
    - proj_is_equivalent_to_with_ctx
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_is_equivalent_to_with_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5928,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5930,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5932,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5934,1
    - Dst: proj_crs_get_datum_ensemble
      Src: /src/PROJ/test/unit/test_c_api.cpp:5936,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5938,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5940,1
    - Dst: proj_datum_ensemble_get_member_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5940,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5941,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5941,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5943,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5943,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5947,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5951,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5951,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5952,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5957,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5959,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5961,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5961,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5962,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5965,1
    - Dst: proj_datum_ensemble_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5965,1
    - Dst: proj_crs_get_datum_forced
      Src: /src/PROJ/test/unit/test_c_api.cpp:5967,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5969,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5971,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5971,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5972,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5974,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5976,1
    - Dst: proj_create_geographic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5979,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5980,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5982,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5984,1
    - Dst: proj_is_equivalent_to_with_ctx
      Src: /src/PROJ/test/unit/test_c_api.cpp:5984,1
    - Dst: proj_create_geocentric_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5989,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5990,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5994
      start: 5900
    functionDepth: 1
    functionLinenumber: 5900
    functionLinenumberEnd: 5994
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_datum_ensemble_get_member_count
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::string
    - proj_datum_ensemble_get_accuracy
    - proj_crs_get_datum_forced
    - EXPECT_NE
    - proj_create_from_wkt
    - proj_is_equivalent_to_with_ctx
    - proj_create_geographic_crs_from_datum
    - ASSERT_NE
    - proj_get_name
    - proj_create_geocentric_crs_from_datum
    - proj_crs_get_datum_ensemble
    - proj_crs_get_datum
    - proj_crs_get_coordinate_system
    - proj_datum_ensemble_get_member
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:6001,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6001,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:6002,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:6002,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6005,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6007,1
    - Dst: proj_crs_is_derived
      Src: /src/PROJ/test/unit/test_c_api.cpp:6007,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:6011,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6012,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:6013,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:6013,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6016,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6018,1
    - Dst: proj_crs_is_derived
      Src: /src/PROJ/test/unit/test_c_api.cpp:6018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 5998
    functionDepth: 1
    functionLinenumber: 5998
    functionLinenumberEnd: 6020
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::c_str
    - WKTFormatter::create
    - EXPECT_FALSE
    - proj_create_from_wkt
    - proj_crs_is_derived
    - ASSERT_NE
    - createProjectedCRS
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_is_derived)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6026,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6027,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6029,1
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6029,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6031,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6034,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:6049,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6051,1
    - Dst: proj_suggests_code_for
      Src: /src/PROJ/test/unit/test_c_api.cpp:6055,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6056,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6057,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6057,1
    - Dst: proj_string_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6058,1
    - Dst: proj_suggests_code_for
      Src: /src/PROJ/test/unit/test_c_api.cpp:6063,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6064,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6065,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6065,1
    - Dst: proj_string_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6066,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6081,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6083,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6084,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6085,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6089,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6089,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6090,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6100,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6100,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6101,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6111,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6111,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6112,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6121,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6121,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6122,1
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6125,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6126,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6129,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6131,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6133,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6133,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6137,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6142,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6144,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6145,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6146,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6151
      start: 6024
    functionDepth: 1
    functionLinenumber: 6024
    functionLinenumberEnd: 6151
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - sizeOfStringList
    - ASSERT_EQ
    - proj_get_insert_statements
    - EXPECT_EQ
    - proj_insert_object_session_create
    - proj_string_list_destroy
    - proj_insert_object_session_destroy
    - proj_suggests_code_for
    - EXPECT_NE
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    - proj_string_destroy
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_insert_statements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6157,1
    - Dst: proj_get_geoid_models_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:6166,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6168,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6168,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6169,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6169,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6170,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6170,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6171,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6172
      start: 6154
    functionDepth: 1
    functionLinenumber: 6154
    functionLinenumberEnd: 6172
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - proj_get_geoid_models_from_database
    - std::string
    - findInList
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_geoid_models_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6178,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6183,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6189,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6191,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6192,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6193,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6194,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6196
      start: 6176
    functionDepth: 1
    functionLinenumber: 6176
    functionLinenumberEnd: 6196
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_densify_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6202,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6207,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6213,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6215,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6216,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6217,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6218,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6220
      start: 6200
    functionDepth: 1
    functionLinenumber: 6200
    functionLinenumberEnd: 6220
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_densify_100)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6226,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6231,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6232,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6234,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6240,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6242,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6243,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6244,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6245,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6247
      start: 6224
    functionDepth: 1
    functionLinenumber: 6224
    functionLinenumberEnd: 6247
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_normalized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6252,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6254,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6255,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6257,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6262,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6265,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6266,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6267,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6268,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6269,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6274,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6278,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6279,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6280,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6281,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6283
      start: 6251
    functionDepth: 1
    functionLinenumber: 6251
    functionLinenumberEnd: 6283
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_antimeridian_xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6288,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6290,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6296,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6298,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6299,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6300,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6301,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6302,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6307,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6311,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6312,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6313,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6314,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6316
      start: 6287
    functionDepth: 1
    functionLinenumber: 6287
    functionLinenumberEnd: 6316
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_antimeridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6321,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6323,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6324,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6326,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6332,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6335,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6336,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6337,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6338,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6320
    functionDepth: 1
    functionLinenumber: 6320
    functionLinenumberEnd: 6340
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_beyond_global_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6346,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6348,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6368,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6370,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6371,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6372,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6373,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6375
      start: 6344
    functionDepth: 1
    functionLinenumber: 6344
    functionLinenumberEnd: 6375
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_ignore_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6380,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6391,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6396,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6399,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6400,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6401,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6402,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6404
      start: 6379
    functionDepth: 1
    functionLinenumber: 6379
    functionLinenumberEnd: 6404
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_ignore_inf_geographic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6409,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6411,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6417,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6419,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6420,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6421,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6422,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6424
      start: 6408
    functionDepth: 1
    functionLinenumber: 6408
    functionLinenumberEnd: 6424
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_noop_geographic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6429,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6431,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6432,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6434,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6439,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6443,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6444,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6445,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6446,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6447,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6452,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6455,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6456,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6457,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6458,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6460
      start: 6428
    functionDepth: 1
    functionLinenumber: 6428
    functionLinenumberEnd: 6460
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__north_pole_xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6465,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6467,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6472,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6476,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6477,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6478,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6479,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6480,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6485,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6488,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6489,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6490,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6491,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6464
    functionDepth: 1
    functionLinenumber: 6464
    functionLinenumberEnd: 6493
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__north_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6498,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6500,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6501,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6503,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6508,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6512,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6513,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6514,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6515,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6516,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6521,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6524,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6525,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6526,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6527,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6497
    functionDepth: 1
    functionLinenumber: 6497
    functionLinenumberEnd: 6529
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__south_pole_xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6534,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6536,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6541,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6545,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6546,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6547,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6548,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6549,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6554,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6557,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6558,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6559,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6560,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6562
      start: 6533
    functionDepth: 1
    functionLinenumber: 6533
    functionLinenumberEnd: 6562
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__south_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6568,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6570,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6576,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6578,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6579,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6580,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6581,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6583
      start: 6566
    functionDepth: 1
    functionLinenumber: 6566
    functionLinenumberEnd: 6583
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_to_compound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6589,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6598,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6605,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6607,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6608,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6609,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6610,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6611,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6618,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6621,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6622,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6623,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6624,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6627
      start: 6587
    functionDepth: 1
    functionLinenumber: 6587
    functionLinenumberEnd: 6627
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_lon_lat_to_x_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6633,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6643,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6650,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6652,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6653,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6654,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6655,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6656,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6663,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6666,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6667,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6668,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6669,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6672
      start: 6631
    functionDepth: 1
    functionLinenumber: 6631
    functionLinenumberEnd: 6672
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_lat_lon_to_x_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6678,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6687,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6694,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6696,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6697,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6698,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6699,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6700,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6707,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6710,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6711,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6712,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6713,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6716
      start: 6676
    functionDepth: 1
    functionLinenumber: 6676
    functionLinenumberEnd: 6716
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_x_y_to_lon_lat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6722,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6732,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6739,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6741,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6742,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6743,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6744,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6745,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6752,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6755,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6756,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6757,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6758,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6761
      start: 6720
    functionDepth: 1
    functionLinenumber: 6720
    functionLinenumberEnd: 6761
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_x_y_to_lat_lon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6766,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6768,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6774,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6776,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6777,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6778,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6779,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6781
      start: 6765
    functionDepth: 1
    functionLinenumber: 6765
    functionLinenumberEnd: 6781
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_world_geodetic_to_spilhaus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6787,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6792,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6799,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6802,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6803,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6804,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6805,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6806,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6809
      start: 6785
    functionDepth: 1
    functionLinenumber: 6785
    functionLinenumberEnd: 6809
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_densify_0_geog3D_to_proj2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6816,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6823,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6826,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6827,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6828,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6829,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6830,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6831,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6833
      start: 6813
    functionDepth: 1
    functionLinenumber: 6813
    functionLinenumberEnd: 6833
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_NE
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6838,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6840,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6848,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6850,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6851,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6852,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6853,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6854,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6855,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6857
      start: 6837
    functionDepth: 1
    functionLinenumber: 6837
    functionLinenumberEnd: 6857
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_geog3D_to_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6862,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6864,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6872,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6874,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6875,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6876,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6877,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6878,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6879,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6881
      start: 6861
    functionDepth: 1
    functionLinenumber: 6861
    functionLinenumberEnd: 6881
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_inverse_of_geog3D_to_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6886,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6888,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6895,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6898,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6899,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6900,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6901,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6902,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6903,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6905
      start: 6885
    functionDepth: 1
    functionLinenumber: 6885
    functionLinenumberEnd: 6905
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_geocentric_to_geog3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6910,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6913,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6920,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6923,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6924,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6925,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6926,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6927,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6928,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6930
      start: 6909
    functionDepth: 1
    functionLinenumber: 6909
    functionLinenumberEnd: 6930
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_geocentric_to_geog2D_lon_lat_ordered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6937,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6939,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6946,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6949,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6950,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6951,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6952,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6953,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6954,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6956
      start: 6934
    functionDepth: 1
    functionLinenumber: 6934
    functionLinenumberEnd: 6956
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3D_ignore_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:6961,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6962,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:6966,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6968,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6970,1
    - Dst: proj_crs_has_point_motion_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:6970,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:6975,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6977,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6979,1
    - Dst: proj_crs_has_point_motion_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:6979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6981
      start: 6960
    functionDepth: 1
    functionLinenumber: 6960
    functionLinenumberEnd: 6981
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_NE
    - proj_crs_has_point_motion_operation
    - proj_create_operation_factory_context
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_has_point_motion_operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6987,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6989,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:6990,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6994,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6996,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:6997,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7002,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7006,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7007,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7011,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7015,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7016,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7021,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7024,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7025,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7029,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7032,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7033,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7038,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7038,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7043,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7045,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7049
      start: 6985
    functionDepth: 1
    functionLinenumber: 6985
    functionLinenumberEnd: 7049
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_coordoperation_requires_per_coordinate_input_time
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_requires_per_coordinate_input_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/PROJ/test/unit/test_c_api.cpp:7063,1
    - Dst: setrlimit
      Src: /src/PROJ/test/unit/test_c_api.cpp:7068,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_c_api.cpp:7071,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7072,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/test/unit/test_c_api.cpp:7073,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7076,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7077,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7078,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7080,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/test/unit/test_c_api.cpp:7081,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:7084,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_c_api.cpp:7087,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_c_api.cpp:7089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7090
      start: 7054
    functionDepth: 1
    functionLinenumber: 7054
    functionLinenumberEnd: 7090
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - proj_create
    - proj_context_destroy
    - std::vector::push_back
    - EXPECT_NE
    - ASSERT_TRUE
    - proj_context_create
    - fclose
    - getrlimit
    - fopen
    - setrlimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, open_plenty_of_contexts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/test/unit/test_c_api.cpp:7102,1
    - Dst: std::thread
      Src: /src/PROJ/test/unit/test_c_api.cpp:7102,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7104,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7106,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7108,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7111,1
    - Dst: std::to_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:7112,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:7112,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7114,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:7116,1
    - Dst: join
      Src: /src/PROJ/test/unit/test_c_api.cpp:7121,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_c_api.cpp:7123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7124
      start: 7098
    functionDepth: 1
    functionLinenumber: 7098
    functionLinenumberEnd: 7124
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - proj_create
    - std::thread
    - proj_context_destroy
    - EXPECT_NE
    - join
    - proj_context_create
    - std::to_string
    - std::vector::emplace_back
    - c_str
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, concurrent_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7133,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7137,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7138,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7139,1
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7163,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7168,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7169,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7192
      start: 7130
    functionDepth: 1
    functionLinenumber: 7130
    functionLinenumberEnd: 7192
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_linear_affine_parametric_conversion
    - ASSERT_NE
    - EXPECT_STREQ
    - proj_as_wkt
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_linear_affine_parametric_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_linear_3D_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7199,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7205,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7206,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7207,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:7247,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7248,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7254
      start: 7196
    functionDepth: 1
    functionLinenumber: 7196
    functionLinenumberEnd: 7254
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_as_proj_string
    - proj_as_wkt
    - ASSERT_NE
    - EXPECT_STREQ
    - proj_create_linear_3D_affine_parametric_conversion
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_linear_3D_affine_parametric_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7260,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7261,1
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7263,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7266,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7269,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7271,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7275,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7277,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7280,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7281,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7282,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7354,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7356,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7362,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7365,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7368,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7372,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7373,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7375,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7378,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7382
      start: 7258
    functionDepth: 1
    functionLinenumber: 7258
    functionLinenumberEnd: 7382
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - EXPECT_EQ
    - proj_create
    - proj_create_derived_projected_crs
    - proj_as_wkt
    - proj_create_linear_affine_parametric_conversion
    - ASSERT_NE
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_derived_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7388,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7391,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7394,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7396,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7400,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7401,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7404,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7406,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7409,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7410,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7411,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7483,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7484,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7487,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7489,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7492,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7493,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7494,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7586,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7588,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7591,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7593,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7596,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7597,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7598,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7696,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7697,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7700,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7700,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7703,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7703,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7706,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7706,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7710,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7710,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7713,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7713,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7716,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7716,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7721,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7724,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7728
      start: 7386
    functionDepth: 1
    functionLinenumber: 7386
    functionLinenumberEnd: 7728
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - proj_crs_add_horizontal_derived_conversion
    - EXPECT_EQ
    - proj_create
    - proj_as_wkt
    - proj_create_linear_affine_parametric_conversion
    - ASSERT_NE
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_add_horizontal_derived_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7736,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7738,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7741,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7741,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7746,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7748,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7751,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7751,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7756,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7758,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7761,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7761,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7766,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7768,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7771,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7771,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7778,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7781,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7781,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7786,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7788,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7791,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7793
      start: 7732
    functionDepth: 1
    functionLinenumber: 7732
    functionLinenumberEnd: 7793
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_NE
    - proj_crs_is_dynamic
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_is_dynamic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: CApi::DummyLogFunction
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogFunction(void *, int, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:75,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CApi::SetUp
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CApi::TearDown
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:85,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:87,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:88,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:89,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:90,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:91,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:92,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_c_api.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: CApi::createBoundCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - ParameterValue::create
    - PropertyMap
    - Transformation::create
    - Measure
    - OperationParameter::create
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: BoundCRSNNPtr createBoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:98,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:99,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:102,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_c_api.cpp:104,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:104,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_c_api.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: CApi::createProjectedCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 2
    functionsReached:
    - PropertyMap
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - ProjectedCRS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr createProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:109,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:110,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:111,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:115,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:116,1
    - Dst: CApi::createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:118,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_c_api.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: CApi::createDerivedProjectedCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - CartesianCS::createEastingNorthing
    - Conversion::create
    - CApi::createProjectedCRS
    - DerivedProjectedCRS::create
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: DerivedProjectedCRSNNPtr createDerivedProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:123,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:124,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:127,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:128,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:129,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:132,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_c_api.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: CApi::createVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr createVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_c_api.cpp:138,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_c_api.cpp:139,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:142,1
    - Dst: CApi::createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:144,1
    - Dst: CApi::createVerticalCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: CApi::createCompoundCRS
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - CompoundCRS::create
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - CApi::createProjectedCRS
    - CApi::createVerticalCRS
    linkageType: ''
    returnType: CompoundCRSNNPtr
    signature: CompoundCRSNNPtr createCompoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: CApi::ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: ~ObjectKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjectKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: CApi::clear
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: CApi::ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '&operator=(const ObjectKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectKeeper
    signature: ObjectKeeper &operator=(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: CApi::PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(PJ_CONTEXT *ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~PjContextKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~PjContextKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: CApi::PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: '&operator=(const PjContextKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PjContextKeeper
    signature: PjContextKeeper &operator=(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - op_ctxt
    argTypes:
    - PJ_OPERATION_FACTORY_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: CApi::ContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextKeeper(PJ_OPERATION_FACTORY_CONTEXT *op_ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ~ContextKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_operation_factory_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~ContextKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: CApi::ContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextKeeper(const ContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: '&operator=(const ContextKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ContextKeeper
    signature: ContextKeeper &operator=(const ContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - res
    argTypes:
    - PJ_OBJ_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: CApi::ObjListKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjListKeeper(PJ_OBJ_LIST *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~ObjListKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_list_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjListKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: CApi::ObjListKeeper
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjListKeeper(const ObjListKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: '&operator=(const ObjListKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjListKeeper
    signature: ObjListKeeper &operator=(const ObjListKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:195,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:195,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:198,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:198,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:199,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:216,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:216,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_c_api.cpp:217,1
    - Dst: proj_geod
      Src: /src/PROJ/test/unit/test_c_api.cpp:220,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:221,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:222,1
    - Dst: proj_geod_direct
      Src: /src/PROJ/test/unit/test_c_api.cpp:225,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:226,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:227,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:230,1
    - Dst: proj_lp_dist
      Src: /src/PROJ/test/unit/test_c_api.cpp:230,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:233,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:235,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:235,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:237,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:237,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:240,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:242,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:246,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:248,1
    - Dst: static_cast<std::string *>
      Src: /src/PROJ/test/unit/test_c_api.cpp:249,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:251,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:252,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:253,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:254,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:255,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 258
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - EXPECT_EQ
    - proj_context_destroy
    - proj_pj_info
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - static_cast<std::string *>
    - WKTFormatter::create
    - proj_lp_dist
    - EXPECT_NE
    - proj_destroy
    - proj_geod
    - EXPECT_NEAR
    - std::string
    - EXPECT_STREQ
    - proj_trans
    - proj_geod_direct
    - proj_create
    - exportToWKT
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:265,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:272,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:275,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:276,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:277,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:278,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:281,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:283,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:283,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:287,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:290,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:299,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:304,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:314,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:315,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:316,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:317,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:323,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:333,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:334,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:335,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:336,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:362,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:366,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:368,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:369,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:395,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:398,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:399,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:401,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:402,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:407,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:409,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:409,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:415,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:421,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:434,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:435,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:436,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:437,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:438,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:441,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:454,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:467,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:471,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 482
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_string_list_destroy
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_from_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:487,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:489,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:489,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:493,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:496,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:497,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:498,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:498,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:502,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:503,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:504,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:504,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:505,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:505,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:510,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:511,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:512,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:512,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:516,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:517,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:518,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:518,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:519,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:519,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:524,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:525,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:526,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:526,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:530,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:531,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:532,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:532,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:539,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:540,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:541,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:541,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:547,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:548,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:549,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:549,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:556,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:557,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:558,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:558,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:564,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:565,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:566,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:566,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:572,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:573,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:574,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:574,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:577,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:579,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:583,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:585,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:585,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:590,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:591,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:592,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:592,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:599,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:600,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:601,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:601,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:608,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:609,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:610,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:610,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:617,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:618,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:619,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:619,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:626,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 629
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_as_wkt
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:634,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:641,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:644,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 649
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_as_wkt
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_wkt_check_db_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:654,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:654,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:656,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:656,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:658,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::c_str
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_as_wkt
    - createBoundCRS
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_wkt_incompatible_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:667,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:669,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:669,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:673,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:676,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:677,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:678,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:678,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:682,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:683,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:684,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 687
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_as_proj_string
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_proj_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:692,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:694,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:694,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:697,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:699,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_as_proj_string
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_proj_string_incompatible_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:706,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:708,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:711,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:713,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 716
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_proj_string_approx_tmerc_option_yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:721,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:724,1
    - Dst: proj_crs_create_bound_crs_to_WGS84
      Src: /src/PROJ/test/unit/test_c_api.cpp:726,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:728,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:730,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:731,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:732,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:732,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:736,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:738,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:740,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:742,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:744,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:746,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:749,1
    - Dst: proj_coordoperation_get_towgs84_values
      Src: /src/PROJ/test/unit/test_c_api.cpp:749,1
    - Dst: std::vector::data
      Src: /src/PROJ/test/unit/test_c_api.cpp:750,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:752,1
    - Dst: proj_crs_create_bound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:754,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:756,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:758,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 759
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_create_bound_crs
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_as_proj_string
    - proj_create_from_database
    - proj_coordoperation_get_towgs84_values
    - proj_crs_create_bound_crs_to_WGS84
    - ASSERT_NE
    - std::vector::data
    - std::string
    - proj_crs_get_coordoperation
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_bound_crs_to_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:764,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:765,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:767,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:767,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:769,1
    - Dst: proj_crs_create_bound_crs_to_WGS84
      Src: /src/PROJ/test/unit/test_c_api.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 773
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::c_str
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_crs_create_bound_crs_to_WGS84
    - ASSERT_NE
    - createProjectedCRS
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_bound_crs_to_WGS84_on_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:778,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:780,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:780,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:784,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:785,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:787,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:787,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:788,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_TRUE
    - proj_get_name
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:794,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:796,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:796,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:800,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:801,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:803,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:803,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:804,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:804,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:805,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:805,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:806,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 807
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_TRUE
    - ASSERT_NE
    - proj_get_id_auth_name
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_id_auth_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:812,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:814,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:818,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:819,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:820,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:821,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:822,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:822,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:823,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:823,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:824,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_id_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:831,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:833,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:833,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:838,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:838,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:841,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:843,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:843,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:847,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:848,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:848,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:851,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:853,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:853,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:857,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:858,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:858,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:862,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:863,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:864,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:868,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:869,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:869,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:873,1
    - Dst: ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:874,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:875,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:880,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:880,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:884,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:885,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:886,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:890,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:891,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:891,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:894,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:896,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:898,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:903,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:904,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:904,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:908,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:909,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:910,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:915,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:915,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:923,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:925,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:926,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:926,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:931,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:933,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:933,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:938,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:940,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:940,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:944,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:945,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:947,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:951,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:952,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:952,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:956,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:957,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:959,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:964,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:964,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:967,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:969,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:969,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:972,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:973,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:973,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:977,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:978,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:980,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:984,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:985,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:985,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:988,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:991,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:992,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 994
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - createProjectedCRS
    - ellipsoid
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - createVerticalCRS
    - createBoundCRS
    - ASSERT_NE
    - datum
    - createDerivedProjectedCRS
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1000,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1002,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1005,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1007,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1009,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1009,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1010,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:1010,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1011,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1011,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:1013,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1014,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1015,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1015,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1018,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1020,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1022,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1023,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1023,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1026,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1028,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1030,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1031,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1031,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1034,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1036,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1038,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1038,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1041,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1043,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1045,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1045,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1048,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1050,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1052,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1052,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1055,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1057,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1059,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1059,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1063,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1065,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1067,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1067,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1069,1
    - Dst: proj_dynamic_datum_get_frame_reference_epoch
      Src: /src/PROJ/test/unit/test_c_api.cpp:1069,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1074,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1078,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1080,1
    - Dst: proj_dynamic_datum_get_frame_reference_epoch
      Src: /src/PROJ/test/unit/test_c_api.cpp:1080,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1084,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1087,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1089,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1089,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1091,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1093,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1093,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1094,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1095,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1095,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1096,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1097,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1097,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1098,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1101,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1106,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1106,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1108,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1110,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1110,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1112,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1112,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1113,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1114,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1126,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1130,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:1132,1
    - Dst: static_cast<std::string *>
      Src: /src/PROJ/test/unit/test_c_api.cpp:1133,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1135,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:1137,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:1138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1139,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1140,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1144
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_TRUE
    - std::string::c_str
    - EXPECT_EQ
    - proj_context_destroy
    - proj_pj_info
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    - proj_is_deprecated
    - static_cast<std::string *>
    - ASSERT_EQ
    - EXPECT_NE
    - proj_create_from_database
    - proj_destroy
    - std::string
    - proj_get_type
    - proj_dynamic_datum_get_frame_reference_epoch
    - proj_is_crs
    - EXPECT_STREQ
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1149,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1151,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1153,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1156,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1158,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1158,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1160,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1161,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1163,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1163,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1164,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1166,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1166,1
    - Dst: proj_crs_get_horizontal_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:1168,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1169,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:1172,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1173,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1176,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:1176,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1178,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1179,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1180,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1180,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:1182,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1183,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1185,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1187,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1187,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:1189,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1193,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/test/unit/test_c_api.cpp:1193,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1194,1
    - Dst: proj_is_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1200,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1202,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1202,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1204,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1206,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:1207,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1209,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:1210,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1212,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1213
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_get_id_code
    - EXPECT_TRUE
    - EXPECT_EQ
    - ASSERT_NE
    - proj_crs_get_datum
    - proj_crs_get_horizontal_datum
    - WKTFormatter::create
    - proj_create_from_wkt
    - EXPECT_NEAR
    - std::string
    - proj_ellipsoid_get_parameters
    - proj_crs_get_geodetic_crs
    - proj_is_crs
    - ASSERT_TRUE
    - proj_get_name
    - createProjectedCRS
    - EXPECT_FALSE
    - proj_get_ellipsoid
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1221,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1223,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1226,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1227,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1228,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1228,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1233,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1235,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1238,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1239,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1240,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1240,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1245,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1247,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1250,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1252,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1252,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1257,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1259,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1262,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1263,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1264,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1264,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1269,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1271,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1274,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1276,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1276,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1281,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1283,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1286,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1288,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1288,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1293,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1295,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1298,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1299,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1300,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1300,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1305,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1307,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1310,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1311,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1312,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1312,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1317,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1319,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1322,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1324,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1324,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1329,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1332,1
    - Dst: proj_get_celestial_body_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1335,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1338
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - proj_get_celestial_body_name
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_celestial_body_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1343,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1345,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1347,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1350,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/test/unit/test_c_api.cpp:1353,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1354,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1356,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1357,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1358,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1360,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/test/unit/test_c_api.cpp:1360,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1362,1
    - Dst: proj_prime_meridian_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1362,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1367,1
    - Dst: proj_prime_meridian_get_parameters
      Src: /src/PROJ/test/unit/test_c_api.cpp:1367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1369,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:1370,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_c_api.cpp:1370,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1372,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1372,1
    - Dst: proj_crs_get_horizontal_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:1374,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1375,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/test/unit/test_c_api.cpp:1377,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1380
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_prime_meridian_get_parameters
    - conversionToSI
    - EXPECT_NEAR
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - ASSERT_TRUE
    - proj_get_prime_meridian
    - ASSERT_NE
    - proj_get_name
    - createProjectedCRS
    - std::string
    - proj_crs_get_horizontal_datum
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_prime_meridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1385,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1387,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1387,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1391,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1393,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1393,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1394,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1394,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1396,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1397,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1399,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1400,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1400,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1402,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1405,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1406
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - createCompoundCRS
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_crs_get_sub_crs
    - proj_create_from_wkt
    - ASSERT_NE
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_compound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1411,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1413,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1413,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1415,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1418,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1421,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1421,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1421,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1423,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1424,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1426,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1426,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1427
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_bound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1433,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1434,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1436,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1439,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1442,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1443,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1445,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1445,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1445,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1447,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1450,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1450,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1451
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1456,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1458,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1458,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1460,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1463,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1466,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1466,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1467
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - ASSERT_NE
    - proj_get_name
    - createProjectedCRS
    - std::string
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_crs_of_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1472,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1475,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1478,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1479,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1481,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1483
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_conversion_without_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1488,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1491,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1494,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1495,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:1497,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1499
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_create_from_wkt
    - ASSERT_NE
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_source_target_crs_invalid_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptrIn
    argTypes:
    - PROJ_STRING_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1505
    functionName: ListFreer
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListFreer(PROJ_STRING_LIST ptrIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1506
    functionName: ~ListFreer()
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_string_list_destroy
    linkageType: ''
    returnType: void
    signature: void ~ListFreer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1507
    functionName: ListFreer
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListFreer(const ListFreer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1508
    functionName: '&operator=(const ListFreer &)'
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListFreer
    signature: ListFreer &operator=(const ListFreer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_authorities_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1514,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1516,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1517,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1518,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1518,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1520,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1520,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1522,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1522,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1524,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1525,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1526,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1526,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1527,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1528,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1530,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1530,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1532,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1532,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1534
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_authorities_from_database
    - EXPECT_EQ
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_authorities_from_database)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_codes_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1574,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1581,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1582,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1585,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1587,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1589,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:1589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1593
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_codes_from_database
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_codes_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1598,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1600,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1604,1
    - Dst: proj_coordoperation_get_method_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1604,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1608,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1609,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1612,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1612,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1615,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1616,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1619,1
    - Dst: proj_coordoperation_get_method_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1619,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1625,1
    - Dst: proj_coordoperation_get_method_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1625,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1628,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1629,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1630,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1631,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1631,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1632,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1632,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1633,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1635,1
    - Dst: proj_coordoperation_get_param_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1635,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1636,1
    - Dst: proj_coordoperation_get_param_index
      Src: /src/PROJ/test/unit/test_c_api.cpp:1636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1637,1
    - Dst: proj_coordoperation_get_param_index
      Src: /src/PROJ/test/unit/test_c_api.cpp:1638,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1640,1
    - Dst: proj_coordoperation_get_param
      Src: /src/PROJ/test/unit/test_c_api.cpp:1640,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1643,1
    - Dst: proj_coordoperation_get_param
      Src: /src/PROJ/test/unit/test_c_api.cpp:1643,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1657,1
    - Dst: proj_coordoperation_get_param
      Src: /src/PROJ/test/unit/test_c_api.cpp:1657,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1661,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1662,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1663,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1664,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1665,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1666,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1667,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1669,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1670,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1671,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1671,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1672,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1673,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1674,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1674,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1675,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1675,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1676,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1676,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1677,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1678
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_coordoperation_get_method_info
    - proj_create_from_database
    - proj_coordoperation_get_param_index
    - ASSERT_NE
    - proj_coordoperation_get_param_count
    - std::string
    - proj_coordoperation_get_param
    - proj_crs_get_coordoperation
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:1683,1
    - Dst: createBoundCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:1685,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1685,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1687,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1690,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1693
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - proj_create_from_wkt
    - createBoundCRS
    - ASSERT_NE
    - proj_crs_get_coordoperation
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, transformation_from_boundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_c_api.cpp:1708,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1710,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1713,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:1716,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1717,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1718,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1718,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/test/unit/test_c_api.cpp:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1724
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_enable_network
    - EXPECT_TRUE
    - proj_pj_info
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CApi,\n       proj_create_from_database_grid_alternative_null_old_proj_grid_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1729,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1732,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/test/unit/test_c_api.cpp:1735,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_c_api.cpp:1736,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1738,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1738,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1746,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1746,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1750,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1750,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1754,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1754,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1758,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1759,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1760,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1761,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1762,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1762,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1764,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1764,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1765,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1765,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1766,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1767,1
    - Dst: proj_context_set_url_endpoint
      Src: /src/PROJ/test/unit/test_c_api.cpp:1769,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1770
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_coordoperation_get_grid_used_count
    - EXPECT_EQ
    - proj_coordoperation_get_grid_used
    - proj_context_set_url_endpoint
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    - proj_context_get_url_endpoint
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_get_grid_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:1781,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/test/unit/test_c_api.cpp:1792,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1796,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1797,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1797,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1801
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - proj_coordoperation_get_grid_used
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_get_grid_used_fullname_caching)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1807,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1810,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1812,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/test/unit/test_c_api.cpp:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1813
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_NE
    - proj_coordoperation_is_instantiable
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_is_instantiable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1818,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1819,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1822,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1824,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1827,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1829,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1832,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1835,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1838,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1839,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1842,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1842,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1844,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1844,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1845,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1845,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1845,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1847,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1848,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1850,1
    - Dst: proj_coordoperation_has_ballpark_transformation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1851,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1852,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1852,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1852,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1859,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1860,1
    - Dst: ASSERT_LT
      Src: /src/PROJ/test/unit/test_c_api.cpp:1861,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1861,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1862,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1863,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1866,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1866,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:1866,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1873,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1876
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - EXPECT_EQ
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_FALSE
    - ASSERT_LT
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - ASSERT_NE
    - proj_get_name
    - proj_get_suggested_operation
    - std::string
    - proj_list_get_count
    - proj_coordoperation_has_ballpark_transformation
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1881,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1882,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1885,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1887,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1890,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1892,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1895,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1898,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1901,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1902,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1909,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1910,1
    - Dst: ASSERT_LT
      Src: /src/PROJ/test/unit/test_c_api.cpp:1911,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1911,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1912,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1913,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1916,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1918
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - ASSERT_LT
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - ASSERT_NE
    - proj_get_name
    - proj_get_suggested_operation
    - EXPECT_STREQ
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_suggested_operation_for_NAD83_to_NAD83_HARN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1923,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1924,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1927,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1930,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1933,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1935,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1938,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1941,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1944,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1945,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1953,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1954,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:1955,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1956,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:1959,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1961
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - proj_coordoperation_get_grid_used_count
    - EXPECT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - ASSERT_NE
    - proj_get_suggested_operation
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_prime_meridian_non_greenwich)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:1966,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1967,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1971,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1973,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:1977,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1979,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:1982,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:1985,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:1988,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1989,1
    - Dst: proj_get_suggested_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:1996,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1998
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_get_suggested_operation
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_suggested_operation_with_operations_without_area_of_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2003,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2004,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2007,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2009,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2012,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2014,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:2017,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2020,1
    - Dst: proj_operation_factory_context_set_discard_superseded
      Src: /src/PROJ/test/unit/test_c_api.cpp:2023,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2025,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2029,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2030
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_operation_factory_context_set_discard_superseded
    - proj_create_operations
    - EXPECT_EQ
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_discard_superseded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2035,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2036,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2039,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2041,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2044,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2046,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:2049,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2052,1
    - Dst: proj_operation_factory_context_set_discard_superseded
      Src: /src/PROJ/test/unit/test_c_api.cpp:2055,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2057,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2058,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2061,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2062
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_operation_factory_context_set_discard_superseded
    - proj_create_operations
    - EXPECT_EQ
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_dont_discard_superseded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2068,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2070,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2074,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2076,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2083,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2084,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2087,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2090,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2090,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2091,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2095,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2095,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2096,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2102,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2103,1
    - Dst: proj_operation_factory_context_set_allow_use_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2105,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2108,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2111,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2111,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2112,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2113,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2116,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2116,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2117,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2123,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2124,1
    - Dst: proj_operation_factory_context_set_allowed_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2128,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2131,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2134,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2134,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2135,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2136,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2139,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2139,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2140,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2146,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2147,1
    - Dst: proj_operation_factory_context_set_allowed_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2151,1
    - Dst: proj_operation_factory_context_set_allow_use_intermediate_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2153,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2156,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2159,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2159,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2160,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2164,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2164,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2168
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_operations
    - proj_create_from_database
    - proj_list_get
    - proj_operation_factory_context_set_allow_use_intermediate_crs
    - ASSERT_NE
    - proj_get_name
    - proj_operation_factory_context_set_allowed_intermediate_crs
    - std::string
    - proj_list_get_count
    - proj_create_operation_factory_context
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_with_pivot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:2173,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2174,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2177,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2179,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2182,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2184,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:2187,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2190,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2195,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2199,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2199,1
    - Dst: proj_operation_factory_context_set_allow_ballpark_transformations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2204,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2207,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2211,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2211,1
    - Dst: proj_operation_factory_context_set_allow_ballpark_transformations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2216,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:2219,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2223,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2225
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - proj_create_operation_factory_context
    - ASSERT_NE
    - proj_operation_factory_context_set_allow_ballpark_transformations
    - proj_list_get_count
    - proj_operation_factory_context_set_grid_availability_use
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_operations_allow_ballpark_transformations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2231,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2232,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2233,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2238
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_context_set_database_path
    - ASSERT_NE
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_c_api.cpp:2248,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:2249,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2251,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2252,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2252,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2255,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_c_api.cpp:2256,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2258,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2258,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:2258,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2263,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2263,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2269,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_c_api.cpp:2269,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:2272,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2274,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2275,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_c_api.cpp:2277,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2280,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2283,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2288,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2242
    functionDepth: 1
    functionLinenumber: 2242
    functionLinenumberEnd: 2294
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - EXPECT_TRUE
    - auto::getDatabaseStructure
    - ASSERT_TRUE
    - proj_create_from_database
    - sqlite3_close
    - sqlite3_exec
    - DatabaseContext::create
    - ASSERT_NE
    - sqlite3_open_v2
    - proj_context_set_database_path
    - c_str
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_aux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2300,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2300,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2304,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2298
    functionDepth: 1
    functionLinenumber: 2298
    functionLinenumberEnd: 2309
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - proj_context_set_database_path
    - ASSERT_NE
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_error_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2316,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:2317,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2320,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2325
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - proj_context_set_database_path
    - ASSERT_NE
    - proj_create_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_database_path_error_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2331,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2334,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2341,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2352,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2352,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2363,1
    - Dst: proj_context_guess_wkt_dialect
      Src: /src/PROJ/test/unit/test_c_api.cpp:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2329
    functionDepth: 1
    functionLinenumber: 2329
    functionLinenumberEnd: 2365
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_guess_wkt_dialect
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_guess_wkt_dialect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2381,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2385,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2385,1
    - Dst: proj_create_from_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2388,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2392,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2392,1
    - Dst: proj_create_from_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2396,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2400,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2402
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_list_get_count
    - ASSERT_NE
    - proj_create_from_name
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_from_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:2407,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2409,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2409,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2413,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2415,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2417,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2417,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2423,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2423,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2424,1
    - Dst: proj_int_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2425,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:2428,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2430,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2430,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2434,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2435,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2437,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2440,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2443,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2445,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2447,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2447,1
    - Dst: proj_int_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2448,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2451,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2454,1
    - Dst: proj_identify
      Src: /src/PROJ/test/unit/test_c_api.cpp:2456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2458,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2458,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:2459,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2460,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2462,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2464,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2464,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:2465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2467,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2468,1
    - Dst: proj_int_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2471
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - proj_int_list_destroy
    - proj_get_id_auth_name
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - proj_create_from_database
    - ASSERT_TRUE
    - ASSERT_NE
    - proj_identify
    - std::string
    - proj_list_get_count
    - proj_list_get
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_identify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2477,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2479,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2481,1
    - Dst: proj_get_domain_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:2481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2484,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2484,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2486,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2487,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2487,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2491,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2492,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2493,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2496,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2496,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2498,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2499,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2499,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2501,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2502,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2503,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2505,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2505,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2507,1
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2509,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2510,1
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:2510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2511
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_get_area_of_use_ex
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_TRUE
    - proj_get_scope_ex
    - ASSERT_NE
    - EXPECT_STREQ
    - proj_get_domain_count
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_domain_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2517,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2519,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2521,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2521,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2528,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2530,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2532,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2534,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2534,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2537,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2539,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2540,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2515
    functionDepth: 1
    functionLinenumber: 2515
    functionLinenumberEnd: 2543
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - EXPECT_FALSE
    - proj_get_area_of_use
    - proj_create_from_database
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_area_of_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2549,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2551,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2553,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2553,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:2556,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2561,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2561,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2564,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2567,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2569
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_coordoperation_get_accuracy
    - proj_create_from_database
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_get_accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2575,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2578,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2581,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2585,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2588,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2588,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2589,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2592,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2594,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2594,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2596,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2598,1
    - Dst: proj_create_geographic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2601,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2603,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2605,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2605,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2609,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2612,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2617,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2621,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2624,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2624,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2625,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2628,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2630,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2630,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2635,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2639,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2642,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2642,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2643,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2646,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2648,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2648,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2653,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2659,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2661,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2662,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2666,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2667,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2668,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2674,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2679,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:2681,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2683,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:2683,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2684,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:2684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2573
    functionDepth: 1
    functionLinenumber: 2573
    functionLinenumberEnd: 2686
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_is_deprecated
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - WKTFormatter::create
    - proj_create_geographic_crs
    - exportToWKT
    - EXPECT_NE
    - ASSERT_TRUE
    - proj_create_geographic_crs_from_datum
    - ASSERT_NE
    - proj_get_name
    - proj_crs_get_datum
    - std::string
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_geographic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_geocentric_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2692,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2697,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2700,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:2700,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:2701,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2704,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2706,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2706,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2708,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2710,1
    - Dst: proj_create_geocentric_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:2712,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2715,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2717,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2717,1
    - Dst: proj_create_geocentric_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:2720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2690
    functionDepth: 1
    functionLinenumber: 2690
    functionLinenumberEnd: 2726
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_create_geocentric_crs
    - EXPECT_TRUE
    - proj_create
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NE
    - ASSERT_NE
    - proj_create_geocentric_crs_from_datum
    - proj_crs_get_datum
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_geocentric_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_conversion_utm
      Src: /src/PROJ/test/unit/test_c_api.cpp:2733,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2735,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:2738,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2739,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/test_c_api.cpp:2743,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:2747,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:2747,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:2750,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2751,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:2752,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:2753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2756
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_create_conversion_utm
    - ASSERT_EQ
    - ASSERT_TRUE
    - proj_destroy
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_NEAR
    - proj_torad
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, check_coord_op_obj_can_be_used_with_proj_trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_conversion_utm
      Src: /src/PROJ/test/unit/test_c_api.cpp:2764,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:2766,1
    - Dst: proj_create_conversion_utm
      Src: /src/PROJ/test/unit/test_c_api.cpp:2771,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2773,1
    - Dst: proj_create_conversion_transverse_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:2776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2779,1
    - Dst: proj_create_conversion_gauss_schreiber_transverse_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:2783,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2787,1
    - Dst: proj_create_conversion_transverse_mercator_south_oriented
      Src: /src/PROJ/test/unit/test_c_api.cpp:2791,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2795,1
    - Dst: proj_create_conversion_two_point_equidistant
      Src: /src/PROJ/test/unit/test_c_api.cpp:2798,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2802,1
    - Dst: proj_create_conversion_tunisia_mining_grid
      Src: /src/PROJ/test/unit/test_c_api.cpp:2805,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2808,1
    - Dst: proj_create_conversion_albers_equal_area
      Src: /src/PROJ/test/unit/test_c_api.cpp:2811,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2815,1
    - Dst: proj_create_conversion_lambert_conic_conformal_1sp
      Src: /src/PROJ/test/unit/test_c_api.cpp:2818,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2821,1
    - Dst: proj_create_conversion_lambert_conic_conformal_1sp_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:2825,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2829,1
    - Dst: proj_create_conversion_lambert_conic_conformal_2sp
      Src: /src/PROJ/test/unit/test_c_api.cpp:2832,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2836,1
    - Dst: proj_create_conversion_lambert_conic_conformal_2sp_michigan
      Src: /src/PROJ/test/unit/test_c_api.cpp:2840,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2844,1
    - Dst: proj_create_conversion_lambert_conic_conformal_2sp_belgium
      Src: /src/PROJ/test/unit/test_c_api.cpp:2848,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2852,1
    - Dst: proj_create_conversion_azimuthal_equidistant
      Src: /src/PROJ/test/unit/test_c_api.cpp:2855,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2858,1
    - Dst: proj_create_conversion_guam_projection
      Src: /src/PROJ/test/unit/test_c_api.cpp:2861,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2864,1
    - Dst: proj_create_conversion_bonne
      Src: /src/PROJ/test/unit/test_c_api.cpp:2867,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2870,1
    - Dst: proj_create_conversion_lambert_cylindrical_equal_area_spherical
      Src: /src/PROJ/test/unit/test_c_api.cpp:2874,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2877,1
    - Dst: proj_create_conversion_lambert_cylindrical_equal_area
      Src: /src/PROJ/test/unit/test_c_api.cpp:2880,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2883,1
    - Dst: proj_create_conversion_cassini_soldner
      Src: /src/PROJ/test/unit/test_c_api.cpp:2886,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2889,1
    - Dst: proj_create_conversion_equidistant_conic
      Src: /src/PROJ/test/unit/test_c_api.cpp:2892,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2896,1
    - Dst: proj_create_conversion_eckert_i
      Src: /src/PROJ/test/unit/test_c_api.cpp:2899,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2902,1
    - Dst: proj_create_conversion_eckert_ii
      Src: /src/PROJ/test/unit/test_c_api.cpp:2905,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2908,1
    - Dst: proj_create_conversion_eckert_iii
      Src: /src/PROJ/test/unit/test_c_api.cpp:2911,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2914,1
    - Dst: proj_create_conversion_eckert_iv
      Src: /src/PROJ/test/unit/test_c_api.cpp:2917,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2920,1
    - Dst: proj_create_conversion_eckert_v
      Src: /src/PROJ/test/unit/test_c_api.cpp:2923,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2926,1
    - Dst: proj_create_conversion_eckert_vi
      Src: /src/PROJ/test/unit/test_c_api.cpp:2929,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2932,1
    - Dst: proj_create_conversion_equidistant_cylindrical
      Src: /src/PROJ/test/unit/test_c_api.cpp:2935,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2938,1
    - Dst: proj_create_conversion_equidistant_cylindrical_spherical
      Src: /src/PROJ/test/unit/test_c_api.cpp:2941,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2944,1
    - Dst: proj_create_conversion_gall
      Src: /src/PROJ/test/unit/test_c_api.cpp:2947,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2950,1
    - Dst: proj_create_conversion_goode_homolosine
      Src: /src/PROJ/test/unit/test_c_api.cpp:2953,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2956,1
    - Dst: proj_create_conversion_interrupted_goode_homolosine
      Src: /src/PROJ/test/unit/test_c_api.cpp:2959,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2962,1
    - Dst: proj_create_conversion_geostationary_satellite_sweep_x
      Src: /src/PROJ/test/unit/test_c_api.cpp:2965,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2968,1
    - Dst: proj_create_conversion_geostationary_satellite_sweep_y
      Src: /src/PROJ/test/unit/test_c_api.cpp:2971,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2974,1
    - Dst: proj_create_conversion_gnomonic
      Src: /src/PROJ/test/unit/test_c_api.cpp:2977,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2980,1
    - Dst: proj_create_conversion_hotine_oblique_mercator_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:2983,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2987,1
    - Dst: proj_create_conversion_hotine_oblique_mercator_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:2990,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:2994,1
    - Dst: proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
      Src: /src/PROJ/test/unit/test_c_api.cpp:2998,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3002,1
    - Dst: proj_create_conversion_laborde_oblique_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:3005,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3009,1
    - Dst: proj_create_conversion_international_map_world_polyconic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3012,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3015,1
    - Dst: proj_create_conversion_krovak_north_oriented
      Src: /src/PROJ/test/unit/test_c_api.cpp:3018,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3022,1
    - Dst: proj_create_conversion_krovak
      Src: /src/PROJ/test/unit/test_c_api.cpp:3026,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3029,1
    - Dst: proj_create_conversion_lambert_azimuthal_equal_area
      Src: /src/PROJ/test/unit/test_c_api.cpp:3032,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3035,1
    - Dst: proj_create_conversion_miller_cylindrical
      Src: /src/PROJ/test/unit/test_c_api.cpp:3038,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3041,1
    - Dst: proj_create_conversion_mercator_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:3044,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3047,1
    - Dst: proj_create_conversion_mercator_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:3050,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3053,1
    - Dst: proj_create_conversion_popular_visualisation_pseudo_mercator
      Src: /src/PROJ/test/unit/test_c_api.cpp:3057,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3060,1
    - Dst: proj_create_conversion_mollweide
      Src: /src/PROJ/test/unit/test_c_api.cpp:3063,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3066,1
    - Dst: proj_create_conversion_new_zealand_mapping_grid
      Src: /src/PROJ/test/unit/test_c_api.cpp:3069,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3072,1
    - Dst: proj_create_conversion_oblique_stereographic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3075,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3078,1
    - Dst: proj_create_conversion_orthographic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3081,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3084,1
    - Dst: proj_create_conversion_american_polyconic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3087,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3090,1
    - Dst: proj_create_conversion_polar_stereographic_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:3093,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3096,1
    - Dst: proj_create_conversion_polar_stereographic_variant_b
      Src: /src/PROJ/test/unit/test_c_api.cpp:3099,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3102,1
    - Dst: proj_create_conversion_robinson
      Src: /src/PROJ/test/unit/test_c_api.cpp:3105,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3108,1
    - Dst: proj_create_conversion_sinusoidal
      Src: /src/PROJ/test/unit/test_c_api.cpp:3111,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3114,1
    - Dst: proj_create_conversion_stereographic
      Src: /src/PROJ/test/unit/test_c_api.cpp:3117,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3120,1
    - Dst: proj_create_conversion_van_der_grinten
      Src: /src/PROJ/test/unit/test_c_api.cpp:3123,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3126,1
    - Dst: proj_create_conversion_wagner_i
      Src: /src/PROJ/test/unit/test_c_api.cpp:3129,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3132,1
    - Dst: proj_create_conversion_wagner_ii
      Src: /src/PROJ/test/unit/test_c_api.cpp:3135,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3138,1
    - Dst: proj_create_conversion_wagner_iii
      Src: /src/PROJ/test/unit/test_c_api.cpp:3141,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3144,1
    - Dst: proj_create_conversion_wagner_iv
      Src: /src/PROJ/test/unit/test_c_api.cpp:3147,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3150,1
    - Dst: proj_create_conversion_wagner_v
      Src: /src/PROJ/test/unit/test_c_api.cpp:3153,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3156,1
    - Dst: proj_create_conversion_wagner_vi
      Src: /src/PROJ/test/unit/test_c_api.cpp:3159,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3162,1
    - Dst: proj_create_conversion_wagner_vii
      Src: /src/PROJ/test/unit/test_c_api.cpp:3165,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3168,1
    - Dst: proj_create_conversion_quadrilateralized_spherical_cube
      Src: /src/PROJ/test/unit/test_c_api.cpp:3171,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3174,1
    - Dst: proj_create_conversion_spherical_cross_track_height
      Src: /src/PROJ/test/unit/test_c_api.cpp:3177,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3180,1
    - Dst: proj_create_conversion_equal_earth
      Src: /src/PROJ/test/unit/test_c_api.cpp:3183,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3186,1
    - Dst: proj_create_conversion_vertical_perspective
      Src: /src/PROJ/test/unit/test_c_api.cpp:3189,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3193,1
    - Dst: proj_create_conversion_pole_rotation_grib_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:3196,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3199,1
    - Dst: proj_create_conversion_pole_rotation_netcdf_cf_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:3203,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 2760
    functionDepth: 1
    functionLinenumber: 2760
    functionLinenumberEnd: 3209
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_conversion_bonne
    - proj_create_conversion_lambert_conic_conformal_2sp_michigan
    - proj_create_conversion_krovak
    - proj_create_conversion_lambert_azimuthal_equal_area
    - proj_create_conversion_equidistant_cylindrical
    - proj_create_conversion_lambert_conic_conformal_1sp
    - proj_create_conversion_geostationary_satellite_sweep_y
    - proj_create_conversion_orthographic
    - proj_create_conversion_stereographic
    - ASSERT_NE
    - proj_create_conversion_mollweide
    - proj_create_conversion_transverse_mercator_south_oriented
    - proj_create_conversion_goode_homolosine
    - proj_create_conversion_wagner_ii
    - proj_create_conversion_vertical_perspective
    - proj_create_conversion_laborde_oblique_mercator
    - proj_create_conversion_utm
    - proj_create_conversion_robinson
    - ASSERT_EQ
    - proj_create_conversion_two_point_equidistant
    - proj_create_conversion_lambert_conic_conformal_2sp
    - proj_create_conversion_van_der_grinten
    - proj_create_conversion_wagner_vi
    - proj_create_conversion_azimuthal_equidistant
    - proj_create_conversion_international_map_world_polyconic
    - proj_create_conversion_eckert_i
    - proj_create_conversion_transverse_mercator
    - proj_create_conversion_polar_stereographic_variant_b
    - proj_create_conversion_wagner_iv
    - proj_create_conversion_lambert_cylindrical_equal_area
    - proj_create_conversion_oblique_stereographic
    - proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
    - proj_create_conversion_eckert_ii
    - proj_create_conversion_quadrilateralized_spherical_cube
    - proj_create_conversion_sinusoidal
    - proj_create_conversion_wagner_iii
    - proj_create_conversion_albers_equal_area
    - proj_create_conversion_lambert_cylindrical_equal_area_spherical
    - proj_create_conversion_new_zealand_mapping_grid
    - proj_create_conversion_pole_rotation_netcdf_cf_convention
    - proj_create_conversion_equidistant_cylindrical_spherical
    - proj_create_conversion_equidistant_conic
    - proj_create_conversion_geostationary_satellite_sweep_x
    - proj_create_conversion_gnomonic
    - proj_create_conversion_popular_visualisation_pseudo_mercator
    - proj_create_conversion_equal_earth
    - proj_create_conversion_gauss_schreiber_transverse_mercator
    - proj_create_conversion_tunisia_mining_grid
    - proj_create_conversion_eckert_v
    - proj_create_conversion_polar_stereographic_variant_a
    - proj_create_conversion_hotine_oblique_mercator_variant_b
    - proj_create_conversion_spherical_cross_track_height
    - proj_create_conversion_american_polyconic
    - proj_create_conversion_eckert_iii
    - proj_create_conversion_mercator_variant_b
    - proj_create_conversion_eckert_vi
    - proj_create_conversion_gall
    - proj_create_conversion_miller_cylindrical
    - proj_create_conversion_lambert_conic_conformal_2sp_belgium
    - proj_create_conversion_eckert_iv
    - proj_create_conversion_mercator_variant_a
    - proj_create_conversion_wagner_v
    - proj_create_conversion_krovak_north_oriented
    - proj_create_conversion_wagner_vii
    - proj_create_conversion_wagner_i
    - proj_create_conversion_lambert_conic_conformal_1sp_variant_b
    - proj_create_conversion_guam_projection
    - proj_create_conversion_pole_rotation_grib_convention
    - proj_create_conversion_hotine_oblique_mercator_variant_a
    - proj_create_conversion_interrupted_goode_homolosine
    - proj_create_conversion_cassini_soldner
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_projections)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3215,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3217,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3220,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3224,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:3224,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3226,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3226,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3228,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3228,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3232,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3232,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3236,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3236,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3248,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3248,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3251,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3252,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3253,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3254,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3255,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3257,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3258,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3258,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3259,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3261,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3262,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3263,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3263,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3268,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3273,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3273,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3275,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:3275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3277,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3277,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3279,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3213
    functionDepth: 1
    functionLinenumber: 3213
    functionLinenumberEnd: 3283
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - proj_cs_get_type
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_cs_get_axis_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3288,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/test/unit/test_c_api.cpp:3288,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3291,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/test/unit/test_c_api.cpp:3291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3287
    functionDepth: 1
    functionLinenumber: 3287
    functionLinenumberEnd: 3292
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_get_database_metadata
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_get_database_metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_database_structure
      Src: /src/PROJ/test/unit/test_c_api.cpp:3297,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3298,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3299,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:3300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3296
    functionDepth: 1
    functionLinenumber: 3296
    functionLinenumberEnd: 3301
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_string_list_destroy
    - proj_context_get_database_structure
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_get_database_structure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3306,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3308,1
    - Dst: proj_clone
      Src: /src/PROJ/test/unit/test_c_api.cpp:3310,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3314,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3305
    functionDepth: 1
    functionLinenumber: 3305
    functionLinenumberEnd: 3315
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - proj_create
    - ASSERT_NE
    - proj_clone
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_clone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3322,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3324,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:3331,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3332,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:3333,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:3334,1
    - Dst: proj_trans_get_last_used_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3336,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3337,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:3338,1
    - Dst: proj_clone
      Src: /src/PROJ/test/unit/test_c_api.cpp:3340,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3342,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3344,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3344,1
    - Dst: ObjectKeeper::clear
      Src: /src/PROJ/test/unit/test_c_api.cpp:3346,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:3350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3351,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3319
    functionDepth: 1
    functionLinenumber: 3319
    functionLinenumberEnd: 3353
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ObjectKeeper::clear
    - EXPECT_EQ
    - EXPECT_NE
    - proj_destroy
    - ASSERT_NE
    - proj_trans_get_last_used_operation
    - proj_trans
    - EXPECT_NEAR
    - proj_clone
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_clone_of_obj_with_alternative_operations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3358,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:3360,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3360,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3363,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3365,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3367,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3369,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3371,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3374,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3376,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3377,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3378,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3382,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3386,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:3386,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3389,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3391,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3393,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3393,1
    - Dst: proj_alter_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3400,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3402,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3405,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3407,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3409,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3409,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3409,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3410,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3412
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - proj_is_deprecated
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - std::string
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_get_type
    - ASSERT_NE
    - proj_get_name
    - proj_crs_alter_geodetic_crs
    - createProjectedCRS
    - proj_alter_name
    - proj_crs_get_geodetic_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_geodetic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3417,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:3419,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3419,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3423,1
    - Dst: proj_crs_alter_cs_angular_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3426,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3429,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3431,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3432,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3437,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3437,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3441,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3442,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3442,1
    - Dst: proj_crs_alter_cs_angular_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3446,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3449,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3451,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3452,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3459,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3459,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3462,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3464,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3464,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3465,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3466,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3466,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3468,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3470
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - proj_crs_alter_cs_angular_unit
    - EXPECT_EQ
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_cs_angular_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3475,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:3477,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3477,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3480,1
    - Dst: proj_crs_alter_cs_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3483,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3486,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3488,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3489,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3494,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3494,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3497,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3498,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3499,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3499,1
    - Dst: proj_crs_alter_cs_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3503,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3506,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:3508,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3509,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3516,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:3516,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3521,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3521,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3523,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3523,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3524,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3525,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3474
    functionDepth: 1
    functionLinenumber: 3474
    functionLinenumberEnd: 3527
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_alter_cs_linear_unit
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - WKTFormatter::create
    - proj_create_from_wkt
    - ASSERT_NE
    - createProjectedCRS
    - proj_crs_get_coordinate_system
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_cs_linear_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3532,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:3534,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:3534,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3537,1
    - Dst: proj_crs_alter_parameters_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3540,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3543,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3545,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3546,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3547,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3547,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3549,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3549,1
    - Dst: proj_crs_alter_parameters_linear_unit
      Src: /src/PROJ/test/unit/test_c_api.cpp:3554,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3557,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3559,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3560,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3561,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3561,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3563,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3531
    functionDepth: 1
    functionLinenumber: 3531
    functionLinenumberEnd: 3566
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - proj_create_from_wkt
    - proj_as_wkt
    - ASSERT_NE
    - createProjectedCRS
    - proj_crs_alter_parameters_linear_unit
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_alter_parameters_linear_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_engineering_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3572,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3574,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:3575,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3576,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3577,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3570
    functionDepth: 1
    functionLinenumber: 3570
    functionLinenumberEnd: 3583
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_engineering_crs
    - EXPECT_EQ
    - proj_as_wkt
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_engineering_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3589,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3592,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3594,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3598,1
    - Dst: proj_alter_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3601,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3603,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3605,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3605,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3605,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3606,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3606,1
    - Dst: proj_alter_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3610,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3612,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3614,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3614,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3614,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3615,1
    - Dst: proj_is_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3587
    functionDepth: 1
    functionLinenumber: 3587
    functionLinenumberEnd: 3617
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_deprecated
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_create_geographic_crs
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_alter_name
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_alter_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3623,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3626,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3628,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3632,1
    - Dst: proj_alter_id
      Src: /src/PROJ/test/unit/test_c_api.cpp:3634,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3638,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3638,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3638,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3639,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3639,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:3639,1
    - Dst: proj_alter_id
      Src: /src/PROJ/test/unit/test_c_api.cpp:3641,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3645,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3645,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3645,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3646,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3646,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:3646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3647
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create_geographic_crs
    - ASSERT_NE
    - proj_alter_id
    - proj_get_id_auth_name
    - std::string
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_alter_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:3662,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3666,1
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3668,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3671,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3673,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3677,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3679,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3682,1
    - Dst: proj_create_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3685,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3651
    functionDepth: 1
    functionLinenumber: 3651
    functionLinenumberEnd: 3688
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - proj_create_geographic_crs
    - proj_create_projected_crs
    - ASSERT_NE
    - proj_create_conversion
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3703,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3706,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3708,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3712,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3714,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3718,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3725,1
    - Dst: proj_create_transformation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3728,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3733,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3735,1
    - Dst: proj_coordoperation_get_param_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3735,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3737,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3739,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3740,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3741,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3743,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3745,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3746,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3747,1
    - Dst: proj_create_transformation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3751,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3692
    functionDepth: 1
    functionLinenumber: 3692
    functionLinenumberEnd: 3758
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create_transformation
    - proj_create_geographic_crs
    - ASSERT_NE
    - proj_coordoperation_get_param_count
    - proj_get_target_crs
    - proj_get_source_crs
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3764,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3767,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3769,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3774,1
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3779,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3781,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3781,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3781,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3784,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3788,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:3788,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3788,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3790,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3791,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3793,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3793,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3795,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3798,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3762
    functionDepth: 1
    functionLinenumber: 3762
    functionLinenumberEnd: 3799
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_crs_get_sub_crs
    - proj_create_geographic_crs
    - proj_create_compound_crs
    - proj_create_vertical_crs
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_compound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3805,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3808,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3810,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3815,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3817,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3820,1
    - Dst: proj_create_conversion_mercator_variant_a
      Src: /src/PROJ/test/unit/test_c_api.cpp:3822,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3826,1
    - Dst: proj_create_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:3829,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3831,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3834,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3835,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/test/unit/test_c_api.cpp:3839,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3841,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3844,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3844,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3848,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3851,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3853,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3854,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3855,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3856,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3858,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3861,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3863,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3863,1
    - Dst: proj_convert_conversion_to_other_method
      Src: /src/PROJ/test/unit/test_c_api.cpp:3866,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3869,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3871,1
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/test/unit/test_c_api.cpp:3872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3803
    functionDepth: 1
    functionLinenumber: 3803
    functionLinenumberEnd: 3874
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - proj_convert_conversion_to_other_method
    - proj_is_equivalent_to
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - proj_create_geographic_crs
    - proj_create_projected_crs
    - ASSERT_NE
    - proj_create_conversion_mercator_variant_a
    - proj_crs_get_coordoperation
    - proj_create_ellipsoidal_2D_cs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_convert_conversion_to_other_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3879,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3882,1
    - Dst: proj_get_non_deprecated
      Src: /src/PROJ/test/unit/test_c_api.cpp:3884,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3885,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3887,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3878
    functionDepth: 1
    functionLinenumber: 3878
    functionLinenumberEnd: 3888
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_non_deprecated
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_non_deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_query_geodetic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:3894,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3896,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3898,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3898,1
    - Dst: proj_query_geodetic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:3901,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3903,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3905,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:3905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3892
    functionDepth: 1
    functionLinenumber: 3892
    functionLinenumberEnd: 3907
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_query_geodetic_crs_from_datum
    - EXPECT_EQ
    - EXPECT_GE
    - ASSERT_NE
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_query_geodetic_crs_from_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3913,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3913,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3917,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3924,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3924,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3926,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3927,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3928,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3928,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3929,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3930,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3930,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3936,1
    - Dst: proj_uom_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3936,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3938,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3939,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3940,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3940,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:3941,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_c_api.cpp:3941,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3942,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3911
    functionDepth: 1
    functionLinenumber: 3911
    functionLinenumberEnd: 3944
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_NEAR
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - ASSERT_NE
    - proj_uom_get_info_from_database
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_uom_get_info_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3950,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3950,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3955,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3955,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3966,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3966,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3969,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3971,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3972,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3973,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3974,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3975,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3975,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3977,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3978,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3988,1
    - Dst: proj_grid_get_info_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:3988,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3991,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3993,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3994,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3995,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:3996,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3997,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:3997,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:3999,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3948
    functionDepth: 1
    functionLinenumber: 3948
    functionLinenumberEnd: 4002
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - ASSERT_NE
    - std::string
    - proj_grid_get_info_from_database
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_grid_get_info_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4008,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4011,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4014,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4017,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4020,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4024,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4027,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4031,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4034,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4006
    functionDepth: 1
    functionLinenumber: 4006
    functionLinenumberEnd: 4039
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_cartesian_2D_cs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4044,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4046,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4050,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4052,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4053,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4054,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4055,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4056,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4057,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4063,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4064,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4066,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4067,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4068,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4069,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4078,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4078,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4079,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4082,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4083,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4084,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4086,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4087,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4089,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4090,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4091,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4091,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4093,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4096,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4099,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4102,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4103,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4103,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4112,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4114,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4115,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4116,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4117,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4118,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4119,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4120,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4126,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4147,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4148,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4149,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4150,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4151,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4152,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4158,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4162,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4169,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4172,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4173,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4174,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4175,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4181,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4186,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4193,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4196,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4197,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4198,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4199,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4205,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4214,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4216,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4217,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4220,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4221,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4223,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4224,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4226,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4227,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4233,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4243,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4245,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4246,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4249,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4250,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4252,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4253,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4255,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4256,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4262,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4264,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4267,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4268,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4269,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4275,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4277,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4279,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4280,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4281,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4284
      start: 4043
    functionDepth: 1
    functionLinenumber: 4043
    functionLinenumberEnd: 4284
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_crs_info_list_from_database
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_LE
    - proj_get_crs_list_parameters_destroy
    - EXPECT_GE
    - EXPECT_NE
    - EXPECT_GT
    - ASSERT_NE
    - std::string
    - proj_crs_info_list_destroy
    - proj_get_crs_list_parameters_create
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_crs_info_list_from_database)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4289,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4292,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4294,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4295,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4296,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4297,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4298,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4299,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4304,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4306,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4311,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4311,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4312,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4313,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4314,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4315,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4316,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4317,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4321,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4323,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4326
      start: 4288
    functionDepth: 1
    functionLinenumber: 4288
    functionLinenumberEnd: 4326
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_unit_list_destroy
    - ASSERT_NE
    - std::string
    - proj_get_units_from_database
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_units_from_database)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4331,1
    - Dst: proj_get_celestial_body_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4334,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4336,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4337,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4338,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4339,1
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4340,1
    - Dst: proj_get_celestial_body_list_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4344,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4346,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4348,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4351,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4351,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4352,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4356,1
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:4357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4359
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_get_celestial_body_list_from_database
    - proj_celestial_body_list_destroy
    - ASSERT_NE
    - std::string
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_celestial_body_list_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4366,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4368,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4369,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4371,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4374,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4376,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4377,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4379,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4380,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4382,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4382,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4386,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/test_c_api.cpp:4386,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4387,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/test_c_api.cpp:4387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4388
      start: 4363
    functionDepth: 1
    functionLinenumber: 4363
    functionLinenumberEnd: 4388
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_normalize_for_visualization
    - EXPECT_FALSE
    - ASSERT_NE
    - std::string
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4394,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4396,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4397,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4399,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4401,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/test_c_api.cpp:4401,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4402,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/test_c_api.cpp:4402,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4411,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4412,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4413,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4414,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4415,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4416,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4416,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4433,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4434,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4437
      start: 4392
    functionDepth: 1
    functionLinenumber: 4392
    functionLinenumberEnd: 4437
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_normalize_for_visualization
    - EXPECT_FALSE
    - proj_pj_info
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    - std::string
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization_with_alternatives)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4443,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4445,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4446,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4448,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4450,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/test_c_api.cpp:4450,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4451,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/test_c_api.cpp:4451,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4459,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4460,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4441
    functionDepth: 1
    functionLinenumber: 4441
    functionLinenumberEnd: 4462
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_normalize_for_visualization
    - EXPECT_FALSE
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization_with_alternatives_reverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4468,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4470,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4471,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4474,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:4474,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:4476,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4477,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4481,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4481,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4483,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4484,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4485
      start: 4466
    functionDepth: 1
    functionLinenumber: 4466
    functionLinenumberEnd: 4485
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - proj_create
    - proj_normalize_for_visualization
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_normalize_for_visualization_on_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4491,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4500,1
    - Dst: proj_coordoperation_create_inverse
      Src: /src/PROJ/test/unit/test_c_api.cpp:4501,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4503,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4507,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4524,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4525
      start: 4489
    functionDepth: 1
    functionLinenumber: 4489
    functionLinenumberEnd: 4525
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_coordoperation_create_inverse
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_create_inverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4532,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4536,1
    - Dst: proj_get_remarks
      Src: /src/PROJ/test/unit/test_c_api.cpp:4538,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4539,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4540,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4540,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4547,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4551,1
    - Dst: proj_get_remarks
      Src: /src/PROJ/test/unit/test_c_api.cpp:4553,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4554,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4555,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4529
    functionDepth: 1
    functionLinenumber: 4529
    functionLinenumberEnd: 4557
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_get_remarks
    - proj_create_from_database
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_remarks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4564,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4568,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4570,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4571,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4572,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4573,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4583,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4585,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4586,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4587,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4588,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4592,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4594,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4595,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4561
    functionDepth: 1
    functionLinenumber: 4561
    functionLinenumberEnd: 4598
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - proj_create
    - proj_create_from_database
    - proj_get_scope
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4605,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4609,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4610,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:4610,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4612,1
    - Dst: proj_concatoperation_get_step_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:4612,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4613,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4613,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:4617,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4618,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4622,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4624,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:4628,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4630,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:4633,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:4636,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:4639,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4640,1
    - Dst: ASSERT_GT
      Src: /src/PROJ/test/unit/test_c_api.cpp:4643,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:4643,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:4645,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4646,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4649,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:4649,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4650,1
    - Dst: proj_concatoperation_get_step_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:4650,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4652,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4652,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4653,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4653,1
    - Dst: proj_concatoperation_get_step
      Src: /src/PROJ/test/unit/test_c_api.cpp:4655,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4656,1
    - Dst: proj_get_scope
      Src: /src/PROJ/test/unit/test_c_api.cpp:4659,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4660,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4661,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4661,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4661,1
    - Dst: proj_get_remarks
      Src: /src/PROJ/test/unit/test_c_api.cpp:4663,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4664,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4665,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4665,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4667
      start: 4602
    functionDepth: 1
    functionLinenumber: 4602
    functionLinenumberEnd: 4667
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_concatoperation_get_step_count
    - ASSERT_GT
    - EXPECT_EQ
    - proj_create_operations
    - proj_get_remarks
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_NE
    - proj_create_from_database
    - proj_create_operation_factory_context
    - proj_list_get
    - proj_get_scope
    - ASSERT_NE
    - proj_operation_factory_context_set_grid_availability_use
    - std::string
    - proj_list_get_count
    - proj_concatoperation_get_step
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_concatoperation_get_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4672,1
    - Dst: exportToJSON
      Src: /src/PROJ/test/unit/test_c_api.cpp:4674,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4674,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4676,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:4679,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4681,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4681,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:4698,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4699,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4700,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4700,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:4714,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4715,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4716,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4671
    functionDepth: 1
    functionLinenumber: 4671
    functionLinenumberEnd: 4722
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_as_projjson
    - JSONFormatter::create
    - EXPECT_EQ
    - proj_create
    - exportToJSON
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_as_projjson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4728,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4729,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_c_api.cpp:4732,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4732,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4733,1
    - Dst: fseek
      Src: /src/PROJ/test/unit/test_c_api.cpp:4734,1
    - Dst: ftell
      Src: /src/PROJ/test/unit/test_c_api.cpp:4735,1
    - Dst: std::string::resize
      Src: /src/PROJ/test/unit/test_c_api.cpp:4737,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/test/unit/test_c_api.cpp:4737,1
    - Dst: fseek
      Src: /src/PROJ/test/unit/test_c_api.cpp:4738,1
    - Dst: fread
      Src: /src/PROJ/test/unit/test_c_api.cpp:4739,1
    - Dst: std::string::size
      Src: /src/PROJ/test/unit/test_c_api.cpp:4739,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4740,1
    - Dst: std::string::size
      Src: /src/PROJ/test/unit/test_c_api.cpp:4740,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_c_api.cpp:4741,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_c_api.cpp:4742,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/test_c_api.cpp:4744,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4749,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_c_api.cpp:4751,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4751,1
    - Dst: fwrite
      Src: /src/PROJ/test/unit/test_c_api.cpp:4756,1
    - Dst: std::string::data
      Src: /src/PROJ/test/unit/test_c_api.cpp:4756,1
    - Dst: std::string::size
      Src: /src/PROJ/test/unit/test_c_api.cpp:4756,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_c_api.cpp:4757,1
    - Dst: proj_context_get_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4759,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4761,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4761,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4761,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4764,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4765,1
    - Dst: proj_context_set_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4765,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/unit/test_c_api.cpp:4766,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:4766,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4769,1
    - Dst: proj_context_get_database_path
      Src: /src/PROJ/test/unit/test_c_api.cpp:4771,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4772,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4775
      start: 4727
    functionDepth: 1
    functionLinenumber: 4727
    functionLinenumberEnd: 4775
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - std::string::c_str
    - EXPECT_TRUE
    - proj_context_create
    - ASSERT_NE
    - fclose
    - fseek
    - proj_context_set_database_path
    - fread
    - ftell
    - ASSERT_EQ
    - fwrite
    - static_cast<size_t>
    - EXPECT_NE
    - std::string
    - std::string::size
    - std::string::empty
    - std::string::resize
    - ASSERT_TRUE
    - fopen
    - std::string::data
    - proj_context_get_database_path
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_copy_from_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4782,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4783,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4784,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4786,1
    - Dst: proj_context_clone
      Src: /src/PROJ/test/unit/test_c_api.cpp:4787,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4788,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4790,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4790,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4791,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4792,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4792,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:4793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4780
    functionDepth: 1
    functionLinenumber: 4780
    functionLinenumberEnd: 4794
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - proj_context_create
    - proj_context_use_proj4_init_rules
    - proj_context_get_use_proj4_init_rules
    - proj_context_clone
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_clone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4800,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4802,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4804,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4806,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4808,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4810,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:4811,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4813,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4815,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4816,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4819
      start: 4798
    functionDepth: 1
    functionLinenumber: 4798
    functionLinenumberEnd: 4819
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_normalize_for_visualization
    - proj_create_crs_to_crs_from_pj
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_from_pj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4825,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4827,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4829,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4831,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4836,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4838,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4844,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4848
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_create_crs_to_crs_from_pj
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_from_pj_accuracy_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4854,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4856,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:4858,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4860,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4865,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4867,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:4873,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4877
      start: 4852
    functionDepth: 1
    functionLinenumber: 4852
    functionLinenumberEnd: 4877
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_create_crs_to_crs_from_pj
    - ASSERT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_from_pj_ballpark_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4884,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4886,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4894,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4895,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4881
    functionDepth: 1
    functionLinenumber: 4881
    functionLinenumberEnd: 4897
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create_crs_to_crs
    - ASSERT_NE
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_coordinate_metadata_in_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:4904,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4906,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:4914,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4915,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:4916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4901
    functionDepth: 1
    functionLinenumber: 4901
    functionLinenumberEnd: 4917
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create_crs_to_crs
    - ASSERT_NE
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_coordinate_metadata_in_target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4935,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4935,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4938,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4939,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4940,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4941,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4943,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4946,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4946,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4947,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4947,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4948,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4948,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4950,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4950,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4952,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4952,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4953,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cs
    - axis_number
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4955
      start: 4921
    functionDepth: 1
    functionLinenumber: 4921
    functionLinenumberEnd: 4955
    functionName: check_axis_is_latitude
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void check_axis_is_latitude(PJ_CONTEXT *ctx, PJ *cs, int axis_number,\n
      \                      const char *unit_name = \"degree\",\n                       double
      unit_conv_factor = 0.017453292519943295,\n                       const char
      *auth = \"EPSG\", const char *code = \"9122\")"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4973,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:4973,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4976,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4977,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4978,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4979,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4981,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:4982,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4984,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4984,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4985,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4985,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4986,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4986,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4987,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4988,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4988,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4990,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4990,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:4991,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:4991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cs
    - axis_number
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4993
      start: 4959
    functionDepth: 1
    functionLinenumber: 4959
    functionLinenumberEnd: 4993
    functionName: check_axis_is_longitude
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void check_axis_is_longitude(PJ_CONTEXT *ctx, PJ *cs, int axis_number,\n
      \                       const char *unit_name = \"degree\",\n                        double
      unit_conv_factor = 0.017453292519943295,\n                        const char
      *auth = \"EPSG\", const char *code = \"9122\")"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5011,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/test/unit/test_c_api.cpp:5011,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5014,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5015,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5016,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5017,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5019,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5020,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5022,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5023,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5023,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5024,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5024,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5025,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5026,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5028,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5028,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5029,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - cs
    - axis_number
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5031
      start: 4997
    functionDepth: 1
    functionLinenumber: 4997
    functionLinenumberEnd: 5031
    functionName: check_axis_is_height
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 1
    functionsReached:
    - EXPECT_TRUE
    - proj_cs_get_axis_info
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    linkageType: ''
    returnType: void
    signature: "void check_axis_is_height(PJ_CONTEXT *ctx, PJ *cs, int axis_number,\n
      \                                const char *unit_name = \"metre\",\n                                 double
      unit_conv_factor = 1,\n                                 const char *auth = \"EPSG\",\n
      \                                const char *code = \"9001\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_ellipsoidal_3D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5038,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5042,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5044,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5044,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5046,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5046,1
    - Dst: check_axis_is_latitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5048,1
    - Dst: check_axis_is_longitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5050,1
    - Dst: check_axis_is_height
      Src: /src/PROJ/test/unit/test_c_api.cpp:5052,1
    - Dst: proj_create_ellipsoidal_3D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5056,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5060,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5062,1
    - Dst: proj_cs_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5062,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5064,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5064,1
    - Dst: check_axis_is_longitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5066,1
    - Dst: check_axis_is_latitude
      Src: /src/PROJ/test/unit/test_c_api.cpp:5068,1
    - Dst: check_axis_is_height
      Src: /src/PROJ/test/unit/test_c_api.cpp:5070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5072
      start: 5035
    functionDepth: 2
    functionLinenumber: 5035
    functionLinenumberEnd: 5072
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - check_axis_is_height
    - proj_cs_get_type
    - EXPECT_EQ
    - check_axis_is_longitude
    - proj_create_ellipsoidal_3D_cs
    - ASSERT_NE
    - check_axis_is_latitude
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_ellipsoidal_3D_cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5079,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:5079,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5080,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5083,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5085,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5087,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5089,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5090,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5092,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5092,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5094,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5095,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5096,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5076
    functionDepth: 1
    functionLinenumber: 5076
    functionLinenumberEnd: 5097
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_promote_to_3D
    - proj_cs_get_axis_count
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NE
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_promote_to_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5103,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5105,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5107,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5109,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5111,1
    - Dst: proj_coordinate_metadata_get_epoch
      Src: /src/PROJ/test/unit/test_c_api.cpp:5111,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5114,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5116,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5118,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5121,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5121,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5123,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5125,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5126
      start: 5101
    functionDepth: 1
    functionLinenumber: 5101
    functionLinenumberEnd: 5126
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_crs_promote_to_3D
    - proj_cs_get_axis_count
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - EXPECT_NE
    - ASSERT_TRUE
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_crs_get_coordinate_system
    - std::string
    - proj_coordinate_metadata_get_epoch
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_promote_to_3D_on_coordinate_metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5133,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:5133,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5134,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5137,1
    - Dst: proj_crs_demote_to_2D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5139,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5141,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5143,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5144,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5146,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5146,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5149,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5150,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5151
      start: 5130
    functionDepth: 1
    functionLinenumber: 5130
    functionLinenumberEnd: 5151
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - proj_get_id_code
    - EXPECT_EQ
    - proj_create
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NE
    - ASSERT_TRUE
    - ASSERT_NE
    - proj_crs_demote_to_2D
    - proj_crs_get_coordinate_system
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_demote_to_2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5157,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5159,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5163,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5165,1
    - Dst: proj_crs_create_projected_3D_crs_from_2D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5168,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5171,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5173,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5175,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5175,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5175,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5176,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5176,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5178,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5179,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5181,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5181,1
    - Dst: proj_crs_create_projected_3D_crs_from_2D
      Src: /src/PROJ/test/unit/test_c_api.cpp:5185,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5190,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_c_api.cpp:5190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5192,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5192,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5192,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5193,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5193,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5195,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5198,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5155
    functionDepth: 1
    functionLinenumber: 5155
    functionLinenumberEnd: 5200
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_count
    - EXPECT_EQ
    - proj_crs_create_projected_3D_crs_from_2D
    - EXPECT_NE
    - proj_create_from_database
    - ASSERT_NE
    - proj_get_name
    - std::string
    - proj_crs_get_coordinate_system
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_projected_3D_crs_from_2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5206,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5209,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5211,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_c_api.cpp:5213,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5213,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5217,1
    - Dst: proj_crs_create_bound_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5219,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5222,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5224,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5226,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5230,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5232,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5234,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5236,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5204
    functionDepth: 1
    functionLinenumber: 5204
    functionLinenumberEnd: 5240
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_as_proj_string
    - WKTFormatter::create
    - exportToWKT
    - proj_create_from_wkt
    - proj_create_from_database
    - proj_create_compound_crs
    - proj_create_vertical_crs
    - ASSERT_NE
    - proj_crs_create_bound_vertical_crs
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_create_bound_vertical_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5247,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5249,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:5250,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5252,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:5259,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5260,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5261,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5263
      start: 5244
    functionDepth: 1
    functionLinenumber: 5244
    functionLinenumberEnd: 5263
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_normalize_for_visualization
    - ASSERT_NE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_crs_to_crs_with_only_ballpark_transformations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5273,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5275,1
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5277,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5279,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5281,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5283,1
    - Dst: proj_crs_create_bound_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5285,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5287,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5288,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5289,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5292,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5293,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5294,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5295,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5297,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5298,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:5308,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5310,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5311,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5312,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:5320,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5321,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5323,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5324,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5267
    functionDepth: 1
    functionLinenumber: 5267
    functionLinenumberEnd: 5326
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create
    - proj_destroy
    - proj_create_from_database
    - proj_create_crs_to_crs_from_pj
    - proj_create_compound_crs
    - ASSERT_NE
    - proj_create_vertical_crs
    - proj_trans
    - proj_crs_create_bound_vertical_crs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    CApi,\n    proj_create_crs_to_crs_from_custom_compound_crs_with_NAD83_2011_and_geoidgrid_ref_against_WGS84_to_WGS84_G1762)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5337,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5339,1
    - Dst: proj_create_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5341,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5343,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5346,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5348,1
    - Dst: proj_crs_create_bound_vertical_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5352,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5354,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5355,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5356,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5359,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5360,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5361,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5362,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5365,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5366,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/test_c_api.cpp:5368,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5370,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5371,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5372,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/test_c_api.cpp:5380,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5381,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5383,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5384,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5330
    functionDepth: 1
    functionLinenumber: 5330
    functionLinenumberEnd: 5386
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - proj_create
    - proj_destroy
    - proj_create_from_database
    - proj_create_crs_to_crs_from_pj
    - proj_create_compound_crs
    - ASSERT_NE
    - proj_create_vertical_crs
    - proj_trans
    - proj_crs_create_bound_vertical_crs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    CApi,\n    proj_create_crs_to_crs_from_custom_compound_crs_with_NAD83_2011_and_geoidgrid_ref_against_NAD83_2011_to_WGS84_G1762)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5393,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5396,1
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:5399,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5404,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5407,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5409,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5412,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5414,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:5417,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5418,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5420,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:5422,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5425,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5426,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5428,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5428,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5429,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5432,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5433,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5434,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5435,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5439,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5441,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5441,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5449,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5450
      start: 5390
    functionDepth: 1
    functionLinenumber: 5390
    functionLinenumberEnd: 5450
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_GE
    - ASSERT_NE
    - proj_create_vertical_crs_ex
    - proj_create_operation_factory_context
    - ASSERT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_create_from_database
    - std::string
    - proj_coordoperation_get_accuracy
    - ASSERT_TRUE
    - proj_create_compound_crs
    - proj_get_name
    - proj_list_get
    - proj_operation_factory_context_set_grid_availability_use
    - proj_create
    - proj_as_proj_string
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_vertical_crs_ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5457,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5460,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5463,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5465,1
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:5467,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5471,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5474,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5476,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5479,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5481,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:5484,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5485,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5487,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:5489,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5492,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5493,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5495,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5495,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5496,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5499,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5500,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5501,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5502,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5507,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5509,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5509,1
    - Dst: proj_as_projjson
      Src: /src/PROJ/test/unit/test_c_api.cpp:5519,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5520,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5521,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5523,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5526,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5527,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5529,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5529,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5530,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5533,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5534,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5535,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5535,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5535,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5537,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5538,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5539,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5539,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5454
    functionDepth: 1
    functionLinenumber: 5454
    functionLinenumberEnd: 5540
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_as_projjson
    - EXPECT_EQ
    - proj_create
    - proj_create_operations
    - EXPECT_GE
    - proj_operation_factory_context_set_spatial_criterion
    - proj_as_proj_string
    - proj_create_from_database
    - ASSERT_TRUE
    - proj_list_get
    - proj_create_compound_crs
    - ASSERT_NE
    - proj_get_name
    - proj_operation_factory_context_set_grid_availability_use
    - std::string
    - proj_list_get_count
    - proj_create_vertical_crs_ex
    - proj_create_operation_factory_context
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_vertical_crs_ex_with_geog_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5546,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5547,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5549,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5550,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5552,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5553,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5556,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5558,1
    - Dst: proj_get_id_auth_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5559,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/test/unit/test_c_api.cpp:5560,1
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/test/unit/test_c_api.cpp:5561,1
    - Dst: proj_create_compound_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5566,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:5571,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5572,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5574,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/test/unit/test_c_api.cpp:5576,1
    - Dst: proj_create_operations
      Src: /src/PROJ/test/unit/test_c_api.cpp:5579,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5580,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5582,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5582,1
    - Dst: proj_list_get
      Src: /src/PROJ/test/unit/test_c_api.cpp:5583,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5587,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:5588,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5595,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/test/unit/test_c_api.cpp:5595,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5599,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5601
      start: 5544
    functionDepth: 1
    functionLinenumber: 5544
    functionLinenumberEnd: 5601
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_get_id_code
    - EXPECT_GE
    - proj_get_area_of_use
    - ASSERT_NE
    - proj_crs_get_datum
    - proj_create_vertical_crs_ex
    - proj_create_operation_factory_context
    - ASSERT_EQ
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - EXPECT_NEAR
    - EXPECT_LE
    - proj_coordoperation_get_accuracy
    - proj_create_compound_crs
    - proj_get_name
    - proj_get_id_auth_name
    - proj_list_get
    - proj_operation_factory_context_set_grid_availability_use
    - proj_create
    - proj_list_get_count
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_vertical_crs_ex_implied_accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5607,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5609,1
    - Dst: proj_create_conversion_pole_rotation_grib_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:5611,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5614,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5616,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5618,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5620,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5621,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5626,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5627,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5632,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5632,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5638,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5641,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5643,1
    - Dst: proj_is_derived_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5643,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5644,1
    - Dst: proj_is_derived_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5644,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5646,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5689,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5689,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5691,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5692,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5693,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5605
    functionDepth: 1
    functionLinenumber: 5605
    functionLinenumberEnd: 5696
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - EXPECT_FALSE
    - proj_as_wkt
    - ASSERT_NE
    - proj_is_derived_crs
    - std::string
    - proj_crs_get_coordinate_system
    - proj_create_conversion_pole_rotation_grib_convention
    - proj_create_derived_geographic_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_derived_geographic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5702,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5704,1
    - Dst: proj_create_conversion_pole_rotation_netcdf_cf_convention
      Src: /src/PROJ/test/unit/test_c_api.cpp:5706,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5709,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5711,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5713,1
    - Dst: proj_create_derived_geographic_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:5715,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5718,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5754,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5755,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5755,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5757,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5759,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5700
    functionDepth: 1
    functionLinenumber: 5700
    functionLinenumberEnd: 5762
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_as_wkt
    - proj_create_conversion_pole_rotation_netcdf_cf_convention
    - ASSERT_NE
    - std::string
    - proj_crs_get_coordinate_system
    - proj_create_derived_geographic_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_derived_geographic_crs_netcdf_cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5768,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:5769,1
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5773,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5774,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5774,1
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5777,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5778,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5779,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5780,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5766
    functionDepth: 1
    functionLinenumber: 5766
    functionLinenumberEnd: 5783
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_context_set_sqlite3_vfs_name
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_log_func
    - proj_context_create
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_sqlite3_vfs_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5791,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5793,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_c_api.cpp:5794,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5796,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5796,1
    - Dst: proj_context_set_sqlite3_vfs_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5799,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5787
    functionDepth: 1
    functionLinenumber: 5787
    functionLinenumberEnd: 5801
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_context_set_sqlite3_vfs_name
    - proj_create
    - proj_context_destroy
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_context_set_sqlite3_vfs_name__from_global_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5806,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5807,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5808,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5808,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5812,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5814,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5816,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5817,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5820,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5822,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5822,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5824,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5825,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5826,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5826,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5835,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5837,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5839,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5841,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5841,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5847,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5848,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5848,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5805
    functionDepth: 1
    functionLinenumber: 5805
    functionLinenumberEnd: 5850
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_as_proj_string
    - proj_context_destroy
    - ASSERT_TRUE
    - proj_context_create
    - ASSERT_NE
    - proj_context_use_proj4_init_rules
    - proj_get_name
    - proj_crs_get_datum
    - std::string
    - proj_context_get_use_proj4_init_rules
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, use_proj4_init_rules)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5856,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5857,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5858,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5859,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5859,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5860,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5861,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:5862,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5863,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5863,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5864,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/test/unit/test_c_api.cpp:5865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5854
    functionDepth: 1
    functionLinenumber: 5854
    functionLinenumberEnd: 5866
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - ASSERT_TRUE
    - proj_context_create
    - proj_context_use_proj4_init_rules
    - proj_context_get_use_proj4_init_rules
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, use_proj4_init_rules_from_global_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:5871,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5874,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5890,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5892,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5894,1
    - Dst: proj_is_equivalent_to_with_ctx
      Src: /src/PROJ/test/unit/test_c_api.cpp:5894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5896
      start: 5870
    functionDepth: 1
    functionLinenumber: 5870
    functionLinenumberEnd: 5896
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_NE
    - proj_create_from_wkt
    - proj_create_from_database
    - proj_is_equivalent_to_with_ctx
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_is_equivalent_to_with_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:5928,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5930,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5932,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5934,1
    - Dst: proj_crs_get_datum_ensemble
      Src: /src/PROJ/test/unit/test_c_api.cpp:5936,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5938,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5940,1
    - Dst: proj_datum_ensemble_get_member_count
      Src: /src/PROJ/test/unit/test_c_api.cpp:5940,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5941,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5941,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5943,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5943,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5947,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5951,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5951,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5952,1
    - Dst: proj_datum_ensemble_get_member
      Src: /src/PROJ/test/unit/test_c_api.cpp:5957,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5959,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5961,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5961,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5962,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5965,1
    - Dst: proj_datum_ensemble_get_accuracy
      Src: /src/PROJ/test/unit/test_c_api.cpp:5965,1
    - Dst: proj_crs_get_datum_forced
      Src: /src/PROJ/test/unit/test_c_api.cpp:5967,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5969,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:5971,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5971,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:5972,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/test/unit/test_c_api.cpp:5974,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5976,1
    - Dst: proj_create_geographic_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5979,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5980,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5982,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5984,1
    - Dst: proj_is_equivalent_to_with_ctx
      Src: /src/PROJ/test/unit/test_c_api.cpp:5984,1
    - Dst: proj_create_geocentric_crs_from_datum
      Src: /src/PROJ/test/unit/test_c_api.cpp:5989,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/test_c_api.cpp:5990,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:5992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5994
      start: 5900
    functionDepth: 1
    functionLinenumber: 5900
    functionLinenumberEnd: 5994
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_datum_ensemble_get_member_count
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::string
    - proj_datum_ensemble_get_accuracy
    - proj_crs_get_datum_forced
    - EXPECT_NE
    - proj_create_from_wkt
    - proj_is_equivalent_to_with_ctx
    - proj_create_geographic_crs_from_datum
    - ASSERT_NE
    - proj_get_name
    - proj_create_geocentric_crs_from_datum
    - proj_crs_get_datum_ensemble
    - proj_crs_get_datum
    - proj_crs_get_coordinate_system
    - proj_datum_ensemble_get_member
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:6001,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6001,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:6002,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:6002,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6005,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6007,1
    - Dst: proj_crs_is_derived
      Src: /src/PROJ/test/unit/test_c_api.cpp:6007,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/test/unit/test_c_api.cpp:6011,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6012,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:6013,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:6013,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6016,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6018,1
    - Dst: proj_crs_is_derived
      Src: /src/PROJ/test/unit/test_c_api.cpp:6018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 5998
    functionDepth: 1
    functionLinenumber: 5998
    functionLinenumberEnd: 6020
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::c_str
    - WKTFormatter::create
    - EXPECT_FALSE
    - proj_create_from_wkt
    - proj_crs_is_derived
    - ASSERT_NE
    - createProjectedCRS
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_is_derived)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6026,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6027,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6029,1
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6029,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6031,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6034,1
    - Dst: proj_create_from_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:6049,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6051,1
    - Dst: proj_suggests_code_for
      Src: /src/PROJ/test/unit/test_c_api.cpp:6055,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6056,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6057,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6057,1
    - Dst: proj_string_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6058,1
    - Dst: proj_suggests_code_for
      Src: /src/PROJ/test/unit/test_c_api.cpp:6063,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6064,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6065,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6065,1
    - Dst: proj_string_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6066,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6081,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6083,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6084,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6085,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6089,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6089,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6090,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6100,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6100,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6101,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6111,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6111,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6112,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6121,1
    - Dst: sizeOfStringList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6121,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6122,1
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6125,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6126,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6129,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6131,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6133,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6133,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6137,1
    - Dst: proj_get_insert_statements
      Src: /src/PROJ/test/unit/test_c_api.cpp:6142,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6144,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6145,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6146,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:6149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6151
      start: 6024
    functionDepth: 1
    functionLinenumber: 6024
    functionLinenumberEnd: 6151
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - sizeOfStringList
    - ASSERT_EQ
    - proj_get_insert_statements
    - EXPECT_EQ
    - proj_insert_object_session_create
    - proj_string_list_destroy
    - proj_insert_object_session_destroy
    - proj_suggests_code_for
    - EXPECT_NE
    - proj_create_from_wkt
    - ASSERT_NE
    - std::string
    - proj_string_destroy
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_insert_statements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_c_api.cpp:6157,1
    - Dst: proj_get_geoid_models_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:6166,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6168,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6168,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6169,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6169,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6170,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6170,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6171,1
    - Dst: findInList
      Src: /src/PROJ/test/unit/test_c_api.cpp:6171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6172
      start: 6154
    functionDepth: 1
    functionLinenumber: 6154
    functionLinenumberEnd: 6172
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - proj_get_geoid_models_from_database
    - std::string
    - findInList
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_get_geoid_models_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6178,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6183,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6189,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6191,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6192,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6193,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6194,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6196
      start: 6176
    functionDepth: 1
    functionLinenumber: 6176
    functionLinenumberEnd: 6196
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_densify_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6202,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6207,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6213,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6215,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6216,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6217,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6218,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6220
      start: 6200
    functionDepth: 1
    functionLinenumber: 6200
    functionLinenumberEnd: 6220
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_densify_100)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6226,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6231,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6232,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6234,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6240,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6242,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6243,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6244,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6245,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6247
      start: 6224
    functionDepth: 1
    functionLinenumber: 6224
    functionLinenumberEnd: 6247
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_normalized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6252,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6254,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6255,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6257,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6262,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6265,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6266,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6267,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6268,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6269,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6274,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6278,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6279,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6280,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6281,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6283
      start: 6251
    functionDepth: 1
    functionLinenumber: 6251
    functionLinenumberEnd: 6283
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_antimeridian_xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6288,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6290,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6296,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6298,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6299,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6300,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6301,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6302,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6307,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6311,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6312,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6313,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6314,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6316
      start: 6287
    functionDepth: 1
    functionLinenumber: 6287
    functionLinenumberEnd: 6316
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_antimeridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6321,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6323,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6324,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6326,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6332,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6335,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6336,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6337,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6338,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6320
    functionDepth: 1
    functionLinenumber: 6320
    functionLinenumberEnd: 6340
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_beyond_global_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6346,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6348,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6368,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6370,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6371,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6372,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6373,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6375
      start: 6344
    functionDepth: 1
    functionLinenumber: 6344
    functionLinenumberEnd: 6375
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_ignore_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6380,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6391,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6396,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6399,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6400,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6401,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6402,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6404
      start: 6379
    functionDepth: 1
    functionLinenumber: 6379
    functionLinenumberEnd: 6404
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_ignore_inf_geographic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6409,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6411,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6417,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6419,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6420,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6421,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6422,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6424
      start: 6408
    functionDepth: 1
    functionLinenumber: 6408
    functionLinenumberEnd: 6424
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_noop_geographic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6429,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6431,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6432,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6434,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6439,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6443,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6444,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6445,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6446,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6447,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6452,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6455,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6456,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6457,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6458,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6460
      start: 6428
    functionDepth: 1
    functionLinenumber: 6428
    functionLinenumberEnd: 6460
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__north_pole_xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6465,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6467,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6472,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6476,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6477,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6478,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6479,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6480,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6485,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6488,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6489,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6490,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6491,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6464
    functionDepth: 1
    functionLinenumber: 6464
    functionLinenumberEnd: 6493
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__north_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6498,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6500,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/test_c_api.cpp:6501,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6503,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6508,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6512,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6513,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6514,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6515,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6516,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6521,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6524,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6525,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6526,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6527,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6497
    functionDepth: 1
    functionLinenumber: 6497
    functionLinenumberEnd: 6529
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - proj_normalize_for_visualization
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__south_pole_xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6534,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6536,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6541,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6545,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6546,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6547,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6548,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6549,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6554,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6557,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6558,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6559,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6560,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6562
      start: 6533
    functionDepth: 1
    functionLinenumber: 6533
    functionLinenumberEnd: 6562
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds__south_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6568,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6570,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6576,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6578,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6579,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6580,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6581,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6583
      start: 6566
    functionDepth: 1
    functionLinenumber: 6566
    functionLinenumberEnd: 6583
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_to_compound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6589,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6598,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6605,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6607,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6608,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6609,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6610,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6611,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6618,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6621,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6622,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6623,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6624,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6627
      start: 6587
    functionDepth: 1
    functionLinenumber: 6587
    functionLinenumberEnd: 6627
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_lon_lat_to_x_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6633,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6643,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6650,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6652,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6653,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6654,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6655,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6656,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6663,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6666,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6667,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6668,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6669,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6672
      start: 6631
    functionDepth: 1
    functionLinenumber: 6631
    functionLinenumberEnd: 6672
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_lat_lon_to_x_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6678,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6687,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6694,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6696,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6697,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6698,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6699,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6700,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6707,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6710,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6711,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6712,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6713,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6716
      start: 6676
    functionDepth: 1
    functionLinenumber: 6676
    functionLinenumberEnd: 6716
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_x_y_to_lon_lat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6722,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6732,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6739,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6741,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6742,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6743,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6744,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6745,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6752,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6755,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6756,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6757,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6758,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6761
      start: 6720
    functionDepth: 1
    functionLinenumber: 6720
    functionLinenumberEnd: 6761
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_trans_bounds
    - proj_create
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_from_pipeline_x_y_to_lat_lon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6766,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6768,1
    - Dst: proj_trans_bounds
      Src: /src/PROJ/test/unit/test_c_api.cpp:6774,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6776,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6777,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6778,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6779,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6781
      start: 6765
    functionDepth: 1
    functionLinenumber: 6765
    functionLinenumberEnd: 6781
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - proj_trans_bounds
    - ASSERT_NE
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_world_geodetic_to_spilhaus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6787,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6792,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6799,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6802,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6803,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6804,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6805,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6806,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6809
      start: 6785
    functionDepth: 1
    functionLinenumber: 6785
    functionLinenumberEnd: 6809
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_densify_0_geog3D_to_proj2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6814,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6816,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6823,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6826,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6827,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6828,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6829,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6830,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6831,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6833
      start: 6813
    functionDepth: 1
    functionLinenumber: 6813
    functionLinenumberEnd: 6833
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_NE
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6838,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6840,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6848,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6850,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6851,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6852,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6853,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6854,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6855,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6857
      start: 6837
    functionDepth: 1
    functionLinenumber: 6837
    functionLinenumberEnd: 6857
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_geog3D_to_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6862,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6864,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6872,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6874,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6875,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6876,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6877,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6878,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6879,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6881
      start: 6861
    functionDepth: 1
    functionLinenumber: 6861
    functionLinenumberEnd: 6881
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_inverse_of_geog3D_to_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6886,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6888,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6895,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6898,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6899,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6900,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6901,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6902,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6903,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6905
      start: 6885
    functionDepth: 1
    functionLinenumber: 6885
    functionLinenumberEnd: 6905
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_geocentric_to_geog3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6910,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6913,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6920,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6923,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6924,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6925,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6926,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6927,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6928,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6930
      start: 6909
    functionDepth: 1
    functionLinenumber: 6909
    functionLinenumberEnd: 6930
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3d_geocentric_to_geog2D_lon_lat_ordered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:6937,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6939,1
    - Dst: proj_trans_bounds_3D
      Src: /src/PROJ/test/unit/test_c_api.cpp:6946,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6949,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6950,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6951,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6952,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6953,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6954,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_c_api.cpp:6955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6956
      start: 6934
    functionDepth: 1
    functionLinenumber: 6934
    functionLinenumberEnd: 6956
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - ASSERT_NE
    - EXPECT_NEAR
    - proj_trans_bounds_3D
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_trans_bounds_3D_ignore_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/test/unit/test_c_api.cpp:6961,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6962,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:6966,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6968,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6970,1
    - Dst: proj_crs_has_point_motion_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:6970,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:6975,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6977,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:6979,1
    - Dst: proj_crs_has_point_motion_operation
      Src: /src/PROJ/test/unit/test_c_api.cpp:6979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6981
      start: 6960
    functionDepth: 1
    functionLinenumber: 6960
    functionLinenumberEnd: 6981
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_NE
    - proj_crs_has_point_motion_operation
    - proj_create_operation_factory_context
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_has_point_motion_operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6987,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6989,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:6990,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:6994,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:6996,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:6997,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7002,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7006,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7007,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7011,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7015,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7016,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7021,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7024,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7025,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7029,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7032,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7033,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7038,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7038,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7043,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7045,1
    - Dst: proj_coordoperation_requires_per_coordinate_input_time
      Src: /src/PROJ/test/unit/test_c_api.cpp:7046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7049
      start: 6985
    functionDepth: 1
    functionLinenumber: 6985
    functionLinenumberEnd: 7049
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_coordoperation_requires_per_coordinate_input_time
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_coordoperation_requires_per_coordinate_input_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/PROJ/test/unit/test_c_api.cpp:7063,1
    - Dst: setrlimit
      Src: /src/PROJ/test/unit/test_c_api.cpp:7068,1
    - Dst: fopen
      Src: /src/PROJ/test/unit/test_c_api.cpp:7071,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7072,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/test/unit/test_c_api.cpp:7073,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7076,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7077,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7078,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7080,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/test/unit/test_c_api.cpp:7081,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:7084,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/test_c_api.cpp:7087,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_c_api.cpp:7089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7090
      start: 7054
    functionDepth: 1
    functionLinenumber: 7054
    functionLinenumberEnd: 7090
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - proj_create
    - proj_context_destroy
    - std::vector::push_back
    - EXPECT_NE
    - ASSERT_TRUE
    - proj_context_create
    - fclose
    - getrlimit
    - fopen
    - setrlimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, open_plenty_of_contexts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/test/unit/test_c_api.cpp:7102,1
    - Dst: std::thread
      Src: /src/PROJ/test/unit/test_c_api.cpp:7102,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7104,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7106,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7108,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7111,1
    - Dst: std::to_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:7112,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_c_api.cpp:7112,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7114,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_c_api.cpp:7116,1
    - Dst: join
      Src: /src/PROJ/test/unit/test_c_api.cpp:7121,1
    - Dst: proj_cleanup
      Src: /src/PROJ/test/unit/test_c_api.cpp:7123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7124
      start: 7098
    functionDepth: 1
    functionLinenumber: 7098
    functionLinenumberEnd: 7124
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_cleanup
    - proj_create
    - std::thread
    - proj_context_destroy
    - EXPECT_NE
    - join
    - proj_context_create
    - std::to_string
    - std::vector::emplace_back
    - c_str
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, concurrent_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7133,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7137,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7138,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7139,1
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7163,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7168,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7169,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7192
      start: 7130
    functionDepth: 1
    functionLinenumber: 7130
    functionLinenumberEnd: 7192
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_linear_affine_parametric_conversion
    - ASSERT_NE
    - EXPECT_STREQ
    - proj_as_wkt
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_linear_affine_parametric_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_linear_3D_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7199,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7205,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7206,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7207,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/test/unit/test_c_api.cpp:7247,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7248,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7254
      start: 7196
    functionDepth: 1
    functionLinenumber: 7196
    functionLinenumberEnd: 7254
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_as_proj_string
    - proj_as_wkt
    - ASSERT_NE
    - EXPECT_STREQ
    - proj_create_linear_3D_affine_parametric_conversion
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_linear_3D_affine_parametric_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7260,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7261,1
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7263,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7266,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7269,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7271,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7275,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7277,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7280,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7281,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7282,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7354,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7356,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7362,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7365,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7368,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7372,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7373,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7375,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7378,1
    - Dst: proj_create_derived_projected_crs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7382
      start: 7258
    functionDepth: 1
    functionLinenumber: 7258
    functionLinenumberEnd: 7382
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - EXPECT_EQ
    - proj_create
    - proj_create_derived_projected_crs
    - proj_as_wkt
    - proj_create_linear_affine_parametric_conversion
    - ASSERT_NE
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_create_derived_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_linear_affine_parametric_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7388,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7391,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/test/unit/test_c_api.cpp:7394,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7396,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7400,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7401,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7404,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7406,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7409,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7410,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7411,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7483,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7484,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7487,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7489,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7492,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7493,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7494,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7586,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7588,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7591,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7593,1
    - Dst: proj_as_wkt
      Src: /src/PROJ/test/unit/test_c_api.cpp:7596,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7597,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7598,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7696,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7697,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7700,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7700,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7703,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7703,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7706,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7706,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7710,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7710,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7713,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7713,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7716,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7716,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_c_api.cpp:7720,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7721,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_c_api.cpp:7724,1
    - Dst: proj_crs_add_horizontal_derived_conversion
      Src: /src/PROJ/test/unit/test_c_api.cpp:7724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7728
      start: 7386
    functionDepth: 1
    functionLinenumber: 7386
    functionLinenumberEnd: 7728
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_create_cartesian_2D_cs
    - proj_crs_add_horizontal_derived_conversion
    - EXPECT_EQ
    - proj_create
    - proj_as_wkt
    - proj_create_linear_affine_parametric_conversion
    - ASSERT_NE
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_add_horizontal_derived_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7736,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7738,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7741,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7741,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7746,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7748,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7751,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7751,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7756,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7758,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7761,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7761,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7766,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7768,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7771,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7771,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7776,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7778,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7781,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7781,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/test/unit/test_c_api.cpp:7786,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7788,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_c_api.cpp:7791,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/test/unit/test_c_api.cpp:7791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7793
      start: 7732
    functionDepth: 1
    functionLinenumber: 7732
    functionLinenumberEnd: 7793
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_c_api.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - proj_create_from_database
    - ASSERT_NE
    - proj_crs_is_dynamic
    linkageType: ''
    returnType: void
    signature: void TEST_F(CApi, proj_crs_is_dynamic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:70,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:72,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:73,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:74,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:85,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:85,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:85,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:87,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:87,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:88,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:89,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:91,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:96,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:97,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:99,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:101,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:103,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:106,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:106,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:107,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:108,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:109,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:112,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:113,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:113,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:126,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:127,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:129,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:129,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:131,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:133,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:134,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 144
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::setAllowUseIntermediateCRS
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - getEPSGCode
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:150,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:150,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:151,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:152,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:154,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:156,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:157,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:158,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:159,1
    - Dst: datumEnsemble
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:160,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:161,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:162,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:164,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:168,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:168,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:169,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:169,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:169,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:170,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - EXPECT_GE
    - auto::setAllowUseIntermediateCRS
    - GeographicCRS::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - datum
    - coordinateSystem
    - datumEnsemble
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_match_by_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:177,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:177,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:177,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:179,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:179,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:183,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:184,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:187,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:188,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:189,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:190,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:191,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:191,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:195,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:196,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:199,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:200,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:201,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:202,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - getEPSGCode
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_filter_accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:210,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:210,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:210,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:212,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:212,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:217,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:218,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:220,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:221,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:223,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:224,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:224,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:225,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:225,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:228,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:230,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:233,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:234,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:235,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:236,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:237,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:238,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:238,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:241,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:243,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:246,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:247,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:248,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:249,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:250,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:251,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 254
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - Extent::createFromBBOX
    - exportToPROJString
    - DatabaseContext::create
    - getEPSGCode
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_filter_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:260,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:260,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:261,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:262,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:263,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:264,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:266,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:267,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:267,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_incompatible_area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:275,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:275,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:278,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:279,1
    - Dst: auto::setUsePROJAlternativeGridNames
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:282,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:283,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:284,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:285,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:287,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:289,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:289,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:290,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:305,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:305,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:306,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:322,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:322,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:323,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:325,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:336,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:337,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:340,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:341,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:344,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:345,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:345,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:346,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:348,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:362,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:362,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:363,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:374,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:374,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:375,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:377,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:392,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:393,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:396,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:397,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:400,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:401,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:401,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:402,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:418,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:418,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:419,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:430,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:430,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:431,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 446
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::databaseContext
    - PROJStringFormatter::create
    - auto::setUsePROJAlternativeGridNames
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_inverse_needed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:452,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:452,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:453,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:454,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:456,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:460,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:461,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:462,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:464,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:465,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:465,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:465,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:470,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:470,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:470,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:475,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:475,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 481
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_ntv1_ntv2_ctable2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:487,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:487,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:488,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:489,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:491,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:495,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:496,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:497,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:499,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:499,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:500,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:500,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:502,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:502,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:504,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:506,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 508
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_NAD27_to_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:514,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:514,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:514,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:515,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:516,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:518,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:523,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:523,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:524,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:526,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:528,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:529,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:530,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:530,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:532,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:532,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:532,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:538,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:540,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:540,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:542,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 544
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_NAD27_to_WGS84_G1762)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:554,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:554,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:554,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:555,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:558,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:558,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:559,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:561,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:563,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:564,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:564,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:565,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:565,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_WGS84_G1674_to_WGS84_G1762)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:581,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:581,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:582,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:583,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:586,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:587,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:588,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:589,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:592,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:592,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:598,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:598,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:601,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 602
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - getEPSGCode
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_EPSG_4240_Indian1975_to_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:608,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:608,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:609,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:611,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:612,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:613,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:615,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:615,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:618,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:618,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 629
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_helmert_geog3D_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:635,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:635,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:636,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:638,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:640,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:642,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:643,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:646,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:646,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:646,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:650,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:650,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 656
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_helmert_geocentric_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:662,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:662,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:663,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:665,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:667,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:669,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:670,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:673,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:673,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 681
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_helmert_geog3D_to_geocentirc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:687,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:687,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:688,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:690,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:697,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:698,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:700,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:701,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:702,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 703
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_invalid_EPSG_ID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:709,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:709,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:710,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:742,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:743,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:744,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:746,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:747,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:749,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:749,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:750,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 751
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - WKTParser
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:757,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:757,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:757,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:759,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:759,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:761,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:761,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:762,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:763,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:764,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:765,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - EXPECT_THROW
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_incompatible_celestial_body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:777,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:777,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:777,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:779,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:779,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:781,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:781,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:782,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:783,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:783,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:784,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - EXPECT_THROW
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geogCRS_to_geogCRS_context_incompatible_celestial_body_but_same_radius)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:795,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:796,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:796,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:798,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:799,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:801,1
    - Dst: auto::getQueryCounter
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:802,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:803,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:804,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:805,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:806,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:806,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:807,1
    - Dst: auto::getQueryCounter
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:807,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:808,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:809,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:809,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 811
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - NN_NO_CHECK
    - auto::getQueryCounter
    - exportToPROJString
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_compatible_unknown_celestial_body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:816,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:817,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:817,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:819,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:820,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:822,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:823,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:824,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:825,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:825,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:826,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - EXPECT_THROW
    - NN_NO_CHECK
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_incompatible_unknown_celestial_body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:835,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:835,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:835,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:837,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:837,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:838,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:853,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:854,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:856,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:857,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:858,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:859,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:859,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:860,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:860,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 862
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - NN_NO_CHECK
    - exportToPROJString
    - WKTParser
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geogCRS_to_geogCRS_compatible_celestial_body_through_semi_major_axis)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:868,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:868,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:869,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:870,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:908,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:909,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:910,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:912,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:913,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:914,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:915,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:915,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:916,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:917,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:919,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:919,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 929
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_derived_geogCRS_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:935,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:935,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:938,1
    - Dst: auto::setUsePROJAlternativeGridNames
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:939,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:940,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:941,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:943,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:945,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:945,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:946,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:947,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:948,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:950,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:961,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:962,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:963,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:965,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:967,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:967,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:968,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:969,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:969,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:979,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:980,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:981,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:982,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:985,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:985,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:986,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:987,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:987,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:998,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:999,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1001,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1002,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1003,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1004,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1005,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1005,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1010,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1011,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1013,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1015,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1016,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1017,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1018,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1018,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1032,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1033,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1033,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1033,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1035,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1037,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1039,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1041,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1042,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1042,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1043,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1044,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1054
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::databaseContext
    - PROJStringFormatter::create
    - auto::setUsePROJAlternativeGridNames
    - exportToPROJString
    - DatabaseContext::create
    - auto::setSpatialCriterion
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vertCRS_to_geogCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1060,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1060,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1060,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1062,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1062,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1065,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1066,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1068,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1070,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1072,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1073,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1073,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1074,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1075,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1075,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1083,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1086,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1087,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1087,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1095,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1098
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geog3DCRS_to_geog2DCRS_plus_vertCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1104,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1104,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1107,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1108,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1110,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1111,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1112,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1115,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1115,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1116,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1116,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1117,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1119,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1132,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1133,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1135,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1136,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1138,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1140,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1140,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1141,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1141,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1142,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1155
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::databaseContext
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geog3DCRS_to_vertCRS_depth_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1163,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1163,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1165,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1165,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1166,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1170,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1171,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1174,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1175,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1177,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1178,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1179,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1180,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1181,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1183,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1196,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1197,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1200,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1202,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1203,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1205,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1205,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1206,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1207,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1208,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1210,1
    - Dst: test
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1223,1
    - Dst: test
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1224,1
    - Dst: test
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1226
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::databaseContext
    - PROJStringFormatter::create
    - test
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geog3DCRS_to_geog2DCRS_plus_vertCRS_depth_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1232,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1235,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1236,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1236,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1238,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1238,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1239
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1245,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1246,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1247,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1247,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1248,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1250,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1251,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1252,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1253,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1253,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1254,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1256,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1258,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1260,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1260,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1265,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1265,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1265,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1266,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1268,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1269,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1270,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1273
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - GeographicCRS::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - CoordinateOperationFactory::create
    - EllipsoidalCS::createLatitudeLongitude
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_longitude_rotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1279,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1279,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1280,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1281,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1282,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1283,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1285,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1285,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1286,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1287,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1287,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1293,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1293,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1294,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1294,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1300
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_longitude_rotation_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1306,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1306,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1307,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1308,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1311,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1313,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1314,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1315,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1317,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1318,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1323,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1325,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1327
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_lonlat_vs_latlon_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1333,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1333,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1334,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1335,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1338,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1340,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1341,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1342,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1344,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1346,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1346,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1347,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1347,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1361,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1361,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1362,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1362,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1362,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1371,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1371,1
    - Dst: gridsNeeded
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1373,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1373,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1374,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1375
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::setAllowUseIntermediateCRS
    - PROJStringFormatter::create
    - nameStr
    - gridsNeeded
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_concatenated_operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1382,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1382,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1383,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1384,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1385,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1386,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1388,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1390,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1390,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1391,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1392,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1392,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1393
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geogCRS_to_geogCRS_context_concatenated_operation_Egypt1907_to_WGS84)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1399,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1399,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1400,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1401,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1403,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1404,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1405,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1407,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1407,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1411,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1411,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1414
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_ED50_to_WGS72_no_NTF_intermediate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1420,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1420,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1421,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1422,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1425,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1426,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1427,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1429,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1429,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1430,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1430,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1431,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1431,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1436
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_same_grid_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1442,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1442,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1443,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1444,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1445,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1446,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1448,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1449,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1449,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1450,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1450,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1455
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_geographic_offset_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1461,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1461,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1462,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1463,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1465,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1468,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1469,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1470,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1472,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1472,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1474,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1475,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1475,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1481
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::setAllowUseIntermediateCRS
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_CH1903_to_CH1903plus_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1487,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1489,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1493,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1494,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1496,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1500,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1501,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1503,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1503,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1504,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1505,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1506,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1506,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1507,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1509,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1511,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1511,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1515
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - NN_CHECK_ASSERT
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_init_IGNF_to_init_IGNF_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1521,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1521,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1522,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1523,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1524,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1526,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1528,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1529,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1531
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - ASSERT_TRUE
    - nameStr
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_context_deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1537,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1539,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1540,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1542,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1544,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1545,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1548,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1549,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1549,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1550,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1551,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1551,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1551,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1556,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1557,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1557,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1558,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1559,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1559,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1559,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1563,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1566,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1567,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1570,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1571,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1571,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1573,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1573,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1579
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1596,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1597,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1598,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1600,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1602,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1603,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1605,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1606,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1606,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1607,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1608,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1608,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1611
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - WKTParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_3D_lat_long_non_metre_to_geogCRS_longlat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1617,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1617,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1618,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1619,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1622,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1624,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1626,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1627,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1627,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1646,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1647,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1648,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1649,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1650,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1651,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1651,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1652,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1652,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1652,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1653,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1656,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1657,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1657,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1658,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1660
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - nn_dynamic_pointer_cast<CRS>
    - auto::createCoordinateReferenceSystem
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_without_id_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1665,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1666,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1666,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1667,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1668,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1669,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1671,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1675,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1676,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1677,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1679,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1682,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1684,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1684,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1690,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1691,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1693,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1694,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1697,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1697,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1699,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1705
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_promoted_to_3D_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1710,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1711,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1714,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1717
    functionName: createGeocentricDatumWGS84
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - GeodeticCRS::create
    - CartesianCS::createGeocentric
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr createGeocentricDatumWGS84()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1722,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1723,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1724,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1726,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1728
    functionName: createGeocentricKM
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - GeodeticCRS::create
    - CartesianCS::createGeocentric
    - UnitOfMeasure
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr createGeocentricKM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1734,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1735,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1736,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1737,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1737,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1741
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createGeocentricDatumWGS84
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geogCRS_same_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1747,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1748,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1749,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1750,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1750,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1753,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1753,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1758
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createGeocentricDatumWGS84
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geogCRS_different_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1764,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1765,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1766,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1767,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1767,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1770,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1770,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1775
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createGeocentricDatumWGS84
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geocentricCRS_different_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1781,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1782,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1782,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1783,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1784,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1784,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1786,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1786,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1788,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1788,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1789
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - createGeocentricDatumWGS84
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geocentricCRS_same_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1795,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1796,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1799,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1801,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1803,1
    - Dst: createGeocentricKM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1804,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1805,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1806,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1809,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1809,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1793
    functionDepth: 1
    functionLinenumber: 1793
    functionLinenumberEnd: 1811
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - GeodeticCRS::create
    - createGeocentricKM
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CartesianCS::createGeocentric
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geocentricCRS_different_ballpark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1817,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1817,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1818,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1819,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1820,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1822,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1823,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1823,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1825,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1825,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1827,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1827,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1827,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1832,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1832,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1834,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1834,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1839
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geogCRS_same_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1846,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1846,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1848,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1848,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1848,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1850,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1851,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1852,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1854,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1855,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1855,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1857,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1859
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geogCRS_same_datum_context_all_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1865,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1865,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1866,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1867,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1869,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1871,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1872,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1872,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1873,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1873,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1874,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1876,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1881
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geocentricCRS_different_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1887,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1887,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1888,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1889,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1891,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1892,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1893,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1893,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1894,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1894,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1896,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1896,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1900
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_geocentricCRS_same_datum_to_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1909,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1909,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1910,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1911,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1912,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1913,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1915,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1915,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1916,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1916,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1918
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geog2D_to_geog3D_same_datum_but_with_potential_other_pivot_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1925,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1925,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1926,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1927,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1929,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1931,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1932,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1932,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1933,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1933,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1937,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1939,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1939,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1949,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1950
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - requiresPerCoordinateInputTime
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geogCRS_to_geogCRS_different_datum_though_geocentric_transform_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1956,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1956,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1957,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1958,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1960,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1962,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1963,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1964,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1964,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1967,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1969,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1976
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geocentricCRS_different_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1982,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1982,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1983,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1984,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1986,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1988,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1989,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1989,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1990,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1990,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1993,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1995,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1980
    functionDepth: 1
    functionLinenumber: 1980
    functionLinenumberEnd: 2002
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_geogCRS_different_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2008,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2009,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2009,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2010,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2011,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2012,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2014,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2016,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2018,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2019,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2021,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2021,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2022,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2027,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2027,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2027,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2036,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2036,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2046
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_3D_to_geogCRS_3D_different_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2052,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2053,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2053,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2054,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2055,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2056,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2058,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2060,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2062,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2063,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2065,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2065,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2066,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2066,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2073,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2073,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2073,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2079,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2079,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2086
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentric_to_geogCRS_3D_different_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2091,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2092,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2094,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2095,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2097,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2099,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2100,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2101,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2101,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2107,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2109,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2111,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2112,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2113,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2118
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createBetweenGeodeticCRSWithDatumBasedIntermediates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2122,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2123,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2124,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2126,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2127,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2129,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2131,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2132,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2133,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2133,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2140,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2142,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2157
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, esri_projectedCRS_to_geogCRS_with_ITRF_intermediate_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2163,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2164,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2165,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2166,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2168,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2172,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2174,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2176,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2177,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2177,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2178,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2178,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2183,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2185,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2187,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2188,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2189,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2161
    functionDepth: 1
    functionLinenumber: 2161
    functionLinenumberEnd: 2191
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_WGS84_to_GDA2020)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2197,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2198,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2198,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2199,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2200,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2202,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2206,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2227,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2228,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2230,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2251,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2252,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2255,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2256,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2256,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2257,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2259,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2266
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_geogCRS_with_intermediate_no_ids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2272,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2273,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2274,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2276,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2296,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2297,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2299,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2300,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2300,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2302,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2303,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2303,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2305,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2307
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - exportToPROJString
    - WKTParser
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_3D_source_datum_name_is_alias_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2312,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2313,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2314,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2314,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2316
    functionName: createUTM31_WGS84
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - PropertyMap
    - ProjectedCRS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr createUTM31_WGS84()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2321,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2322,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2323,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2323,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2320
    functionDepth: 1
    functionLinenumber: 2320
    functionLinenumberEnd: 2325
    functionName: createUTM32_WGS84
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - PropertyMap
    - ProjectedCRS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr createUTM32_WGS84()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2331,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2332,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2333,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2334,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2335,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2335,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2335,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2340,1
    - Dst: auto::coordinateTransformer
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2341,1
    - Dst: auto::transform
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2347,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2348,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2349,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2329
    functionDepth: 2
    functionLinenumber: 2329
    functionLinenumberEnd: 2351
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_NEAR
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::coordinateTransformer
    - proj_context_destroy
    - PROJStringFormatter::create
    - std::dynamic_pointer_cast<Conversion>
    - ASSERT_TRUE
    - proj_context_create
    - auto::transform
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_projCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2359,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2361,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2362,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2363,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2364,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2364,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2365,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2365,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2366,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2366,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2367,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2368,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2368,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2368,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2370,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2370,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2371,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2372,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2372,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2373,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2373,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2374,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2374,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2375,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2376,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2376,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2376,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2377,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2377,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2378,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2378,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2379
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - EXPECT_TRUE
    - auto::method
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::sourceCRS
    - PROJStringFormatter::create
    - std::dynamic_pointer_cast<Conversion>
    - ASSERT_TRUE
    - auto::targetCRS
    - nn_dynamic_pointer_cast<Conversion>
    - auto::inverse
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_longlat_to_geogCS_latlong)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2386,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2386,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2386,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2387,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2388,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2389,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2389,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2391,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2391,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2394,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2394,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2395,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2395,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2383
    functionDepth: 1
    functionLinenumber: 2383
    functionLinenumberEnd: 2397
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_longlat_to_geogCS_latlong_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2403,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2404,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2405,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2406,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2406,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2401
    functionDepth: 2
    functionLinenumber: 2401
    functionLinenumberEnd: 2409
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_longlat_to_projCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2415,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2416,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2417,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2418,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2419,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2413
    functionDepth: 2
    functionLinenumber: 2413
    functionLinenumberEnd: 2424
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_different_from_baseCRS_to_projCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2430,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2431,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2431,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2432,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2434,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2441,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2442,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2443,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2443,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2445,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2453,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2454,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2458,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2459,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2459,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2460,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2461,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2461,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2470,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2471,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2472,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2472,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2473,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2474,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2428
    functionDepth: 1
    functionLinenumber: 2428
    functionLinenumberEnd: 2481
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::promoteTo3D
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_EQ
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - exportToPROJString
    - WKTParser
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_with_towgs84_to_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2488,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2488,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2489,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2490,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2493,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2495,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2496,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2497,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2499,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2499,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2500,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2501,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2503,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2503,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2504,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2504,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2505,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2506,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2485
    functionDepth: 1
    functionLinenumber: 2485
    functionLinenumberEnd: 2511
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - auto::setAllowUseIntermediateCRS
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geogCRS_different_from_baseCRS_to_projCRS_context_compatible_area)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2517,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2518,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2518,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2520,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2520,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2515
    functionDepth: 2
    functionLinenumber: 2515
    functionLinenumberEnd: 2523
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createGeocentricDatumWGS84
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentricCRS_to_projCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2529,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2530,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2532,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2532,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2527
    functionDepth: 2
    functionLinenumber: 2527
    functionLinenumberEnd: 2536
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2542,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2542,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2543,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2544,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2547,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2549,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2550,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2550,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2568,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2569,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2570,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2571,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2572,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2573,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2573,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2573,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2574,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2577,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2578,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2540
    functionDepth: 1
    functionLinenumber: 2540
    functionLinenumberEnd: 2580
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - nn_dynamic_pointer_cast<CRS>
    - auto::createCoordinateReferenceSystem
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - NN_NO_CHECK
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_no_id_to_geogCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2586,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2586,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2587,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2588,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2629,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2630,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2630,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2631,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2634,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2635,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2635,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2636,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2636,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2584
    functionDepth: 1
    functionLinenumber: 2584
    functionLinenumberEnd: 2644
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - NN_CHECK_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_3D_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2649,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2649,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2650,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2651,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2694,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2695,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2695,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2697,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2700,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2701,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2647
    functionDepth: 1
    functionLinenumber: 2647
    functionLinenumberEnd: 2702
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - AuthorityFactory::create
    - NN_CHECK_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_3D_to_projCRS_2D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2709,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2709,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2710,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2712,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2715,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2718,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2719,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2720,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2720,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2720,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2733,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2734,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2734,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2735,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2736,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2746
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_3D_to_projCRS_with_2D_geocentric_translation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2752,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2753,1
    - Dst: createUTM32_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2753,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2754,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2755,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2755,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2750
    functionDepth: 2
    functionLinenumber: 2750
    functionLinenumberEnd: 2758
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createUTM32_WGS84
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2764,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2765,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2766,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2766,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2767,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2769,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2770,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2772,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2772,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2762
    functionDepth: 2
    functionLinenumber: 2762
    functionLinenumberEnd: 2775
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - PROJStringFormatter::create
    - Conversion::createUTM
    - ProjectedCRS::create
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_different_baseCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2781,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2781,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2782,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2783,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2784,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2785,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2788,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2788,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2789,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2789,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2792,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2792,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2793,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2793,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2779
    functionDepth: 1
    functionLinenumber: 2779
    functionLinenumberEnd: 2794
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_compatible_area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2800,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2800,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2801,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2802,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2803,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2805,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2807,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2808,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2808,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2811,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2811,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2812,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2812,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2798
    functionDepth: 1
    functionLinenumber: 2798
    functionLinenumberEnd: 2813
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_compatible_area_bis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2819,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2819,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2820,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2821,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2822,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2823,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2826,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2826,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2827,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2827,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2830,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2830,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2831,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2831,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2817
    functionDepth: 1
    functionLinenumber: 2817
    functionLinenumberEnd: 2832
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_one_incompatible_area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2838,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2838,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2839,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2840,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2841,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2842,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2844,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2844,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2845,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2845,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2846,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2846,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2847,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2847,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2848
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_incompatible_areas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2854,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2854,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2855,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2856,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2857,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2858,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2861,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2861,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2862,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2852
    functionDepth: 1
    functionLinenumber: 2852
    functionLinenumberEnd: 2863
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - hasBallparkTransformation
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_incompatible_areas_ballpark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2869,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2869,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2870,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2871,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2874,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2875,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2877,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2880,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2880,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2881,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2881,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2883,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2884,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2884,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2888,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2889,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2891,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2894,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2894,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2895,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2895,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2897,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2898,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2901
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_grid_offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2907,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2907,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2908,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2909,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2911,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2914,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2915,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2917,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2920,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2920,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2921,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2921,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2923,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2923,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2905
    functionDepth: 1
    functionLinenumber: 2905
    functionLinenumberEnd: 2925
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_context_grid_offsets_non_metre_unit_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2933,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2933,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2934,1
    - Dst: auto::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2935,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2937,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2938,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2939,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2942,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2943
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - auto::setSourceAndTargetCRSExtentUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    projCRS_to_projCRS_context_incompatible_areas_crs_extent_use_intersection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2949,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2949,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2952,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2953,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2954,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2955,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2958,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2964,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2968,1
    - Dst: auto::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2970,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2972,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2973,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2974,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2977,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2947
    functionDepth: 1
    functionLinenumber: 2947
    functionLinenumberEnd: 2984
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - auto::setSourceAndTargetCRSExtentUse
    - EXPECT_FALSE
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_geogCRS_crs_extent_use_none)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2992,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:2992,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3003,1
    - Dst: auto::setDiscardSuperseded
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3004,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3005,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3006,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3007,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3010,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3016,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3022,1
    - Dst: auto::setDiscardSuperseded
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3023,1
    - Dst: auto::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3024,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3026,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3027,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3028,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3031,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 2990
    functionDepth: 1
    functionLinenumber: 2990
    functionLinenumberEnd: 3038
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - auto::setDiscardSuperseded
    - auto::createCoordinateReferenceSystem
    - auto::setSourceAndTargetCRSExtentUse
    - EXPECT_FALSE
    - nameStr
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_geogCRS_concatenated_operation_extent_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3045,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3045,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3045,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3046,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3047,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3048,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3048,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3050,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3050,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3053,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3053,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3054,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3054,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3042
    functionDepth: 1
    functionLinenumber: 3042
    functionLinenumberEnd: 3056
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_north_pole_inverted_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3063,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3063,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3063,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3064,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3065,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3066,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3066,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3068,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3068,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3071,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3071,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3072,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3072,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3074
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_south_pole_inverted_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3084,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3084,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3085,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3086,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3087,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3088,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3091,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3091,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3092,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3092,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3078
    functionDepth: 1
    functionLinenumber: 3078
    functionLinenumberEnd: 3105
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_to_projCRS_through_geog3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3111,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3111,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3112,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3113,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3115,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3116,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3117,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3118,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3118,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3119,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3120
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transform_from_amersfoort_rd_new_to_epsg_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3125,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3127,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3129,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3130,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3130,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3124
    functionDepth: 1
    functionLinenumber: 3124
    functionLinenumberEnd: 3139
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3144,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3146,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3148,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3149,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3149,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3143
    functionDepth: 1
    functionLinenumber: 3143
    functionLinenumberEnd: 3157
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_geodCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3163,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3163,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3164,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3166,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3167,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3170,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3171,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3171,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3172,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3172,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3184
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_geodCRS_not_related_to_hub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3189,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3192,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3192,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3193,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3194,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3196,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3196,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3188
    functionDepth: 1
    functionLinenumber: 3188
    functionLinenumberEnd: 3204
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_geogCRS_with_area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3209,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3211,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3213,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3214,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3214,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3214,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3215,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3208
    functionDepth: 1
    functionLinenumber: 3208
    functionLinenumberEnd: 3219
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_unrelated_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3224,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3226,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3227,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3229,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3232,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3233,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3235,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3236,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3236,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3237,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3238,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3238,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3238,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3245,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3246,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3246,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3247,1
    - Dst: auto::getQueryCounter
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3248,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3249,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3250,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3250,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3251,1
    - Dst: auto::getQueryCounter
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3251,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3252,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3252,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3253,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3253,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3254
      start: 3223
    functionDepth: 1
    functionLinenumber: 3223
    functionLinenumberEnd: 3254
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::getQueryCounter
    - ASSERT_EQ
    - isEquivalentTo
    - nn_dynamic_pointer_cast<BoundCRS>
    - NN_CHECK_ASSERT
    - std::string
    - auto::exportToPROJString
    - auto::size
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_boundCRS_identified_by_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3259,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3261,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3262,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3264,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3266,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3267,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3269,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3270,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3270,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3272,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3272,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3272,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3277,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3278,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3278,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3279,1
    - Dst: auto::getQueryCounter
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3280,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3281,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3282,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3282,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3284,1
    - Dst: auto::getQueryCounter
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3284,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3285,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3285,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3286,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3286,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3258
    functionDepth: 1
    functionLinenumber: 3258
    functionLinenumberEnd: 3287
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - EXPECT_TRUE
    - isEquivalentTo
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - auto::getQueryCounter
    - DatabaseContext::create
    - NN_CHECK_ASSERT
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_clrk_66_geogCRS_to_nad83_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3292,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3295,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3296,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3298,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3300,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3301,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3303,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3304,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3304,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3306,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3306,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3291
    functionDepth: 1
    functionLinenumber: 3291
    functionLinenumberEnd: 3310
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_clrk_66_projCRS_to_nad83_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3315,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3316,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3317,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3317,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3318,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3319,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3321,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3324,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3324,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3314
    functionDepth: 1
    functionLinenumber: 3314
    functionLinenumberEnd: 3331
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - PROJStringFormatter::create
    - Conversion::createUTM
    - ProjectedCRS::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_projCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3336,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3338,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3339,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3340,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3340,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3341,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3343,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3345,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3345,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3335
    functionDepth: 1
    functionLinenumber: 3335
    functionLinenumberEnd: 3353
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - PROJStringFormatter::create
    - Conversion::createUTM
    - ProjectedCRS::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_projCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3358,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3361,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3361,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3363,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3364,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3366,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3367,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3367,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3370,1
    - Dst: dynamic_cast<ConcatenatedOperation *>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3370,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3370,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3372,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3372,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3374,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3374,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3385
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - get
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - nameStr
    - exportToPROJString
    - DatabaseContext::create
    - dynamic_cast<ConcatenatedOperation *>
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_geogCRS_to_unrelated_geogCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3390,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3392,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3394,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3395,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3395,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3389
    functionDepth: 1
    functionLinenumber: 3389
    functionLinenumberEnd: 3404
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geogCRS_to_boundCRS_of_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3409,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3411,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3412,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3413,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3414,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3417,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3419,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3421,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3422,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3422,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3408
    functionDepth: 1
    functionLinenumber: 3408
    functionLinenumberEnd: 3424
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_to_geogCRS_same_datum_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3448,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3449,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3450,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3451,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3452,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3453,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3454,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3457,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3459,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3460,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3461,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3461,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3462,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3462,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3464
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_to_geogCRS_hubCRS_and_targetCRS_same_but_baseCRS_not)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3748,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3749,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3750,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3751,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3752,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3753,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3754,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3757,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3759,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3760,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3761,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3761,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3762,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3762,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3772
      start: 3468
    functionDepth: 1
    functionLinenumber: 3468
    functionLinenumberEnd: 3772
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    boundCRS_to_derived_geog_with_transformation_with_source_crs_being_base_crs_of_source_crs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3777,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3778,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3779,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3779,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3780,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3781,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3782,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3783,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3783,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3784,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3785,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3787,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3789,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3791,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3792,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3792,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3776
    functionDepth: 1
    functionLinenumber: 3776
    functionLinenumberEnd: 3800
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - PROJStringFormatter::create
    - Conversion::createUTM
    - ProjectedCRS::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_to_boundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3805,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3807,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3809,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3811,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3812,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3812,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3804
    functionDepth: 1
    functionLinenumber: 3804
    functionLinenumberEnd: 3819
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_to_boundCRS_noop_for_TOWGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3824,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3826,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3828,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3829,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3830,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3831,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3833,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3834,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3834,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3834,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3835,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3836,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3836,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3823
    functionDepth: 1
    functionLinenumber: 3823
    functionLinenumberEnd: 3838
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - auto::exportToPROJString
    - PropertyMap
    - Transformation::createGeocentricTranslations
    - std::vector<PositionalAccuracyNNPtr>
    - EXPECT_EQ
    - auto::baseCRS
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_to_boundCRS_unralated_hub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3843,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3846,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3847,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3848,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3851,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3852,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3853,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3854,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3854,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3855,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3856,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3856,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3842
    functionDepth: 1
    functionLinenumber: 3842
    functionLinenumberEnd: 3861
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_projCRS_towgs84_to_boundCRS_of_projCRS_nadgrids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3866,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3869,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3870,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3871,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3873,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3874,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3875,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3876,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3876,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3878,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3878,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3865
    functionDepth: 1
    functionLinenumber: 3865
    functionLinenumberEnd: 3883
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_of_projCRS_towgs84_non_metre_unit_to_geocentric)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3888,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3889,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3893,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3894,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3894,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3895,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - projStr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3900
      start: 3887
    functionDepth: 1
    functionLinenumber: 3887
    functionLinenumberEnd: 3900
    functionName: buildCRSFromProjStrThroughWKT
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - WKTFormatter::create
    - PROJStringParser
    - NN_NO_CHECK
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr buildCRSFromProjStrThroughWKT(const std::string &projStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCRSFromProjStrThroughWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3905,1
    - Dst: buildCRSFromProjStrThroughWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3909,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3915,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3915,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:3915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3922
      start: 3902
    functionDepth: 2
    functionLinenumber: 3902
    functionLinenumberEnd: 3922
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - buildCRSFromProjStrThroughWKT
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     boundCRS_to_boundCRS_with_base_geog_crs_different_from_source_of_transf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4006,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4007,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4008,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4009,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4010,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4011,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4012,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3926
    functionDepth: 1
    functionLinenumber: 3926
    functionLinenumberEnd: 4014
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - WKTParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_with_basecrs_with_extent_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4020,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4020,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4022,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4023,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4029,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4030,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4031,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4032,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4033,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4034,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4034,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4035,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4035,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4018
    functionDepth: 1
    functionLinenumber: 4018
    functionLinenumberEnd: 4045
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, ETRS89_3D_to_proj_string_with_geoidgrids_nadgrids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4051,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4051,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4052,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4056,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4057,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4058,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4059,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4060,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4061,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4062,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4062,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4063,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4063,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4063,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4073,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4074,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4075,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4076,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4077,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4077,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4077,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4087,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4088,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4088,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4089,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4090,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4091,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4092,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4093,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4094,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4094,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4095,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4095,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4049
    functionDepth: 1
    functionLinenumber: 4049
    functionLinenumberEnd: 4103
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - NN_NO_CHECK
    - auto::exportToWKT
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - ASSERT_GE
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, nadgrids_with_pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4110,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4111,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4111,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4113,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4118,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4119,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4120,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4120,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4122,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4124,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4125,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4126,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4126,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4139,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4141,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4143,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4143,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4144,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4145,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4145,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4151,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4151,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4152,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4153,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4154,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4155,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4155,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4156,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4157,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4158,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4159,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4160,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4160,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4161,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4162,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4163,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4107
    functionDepth: 1
    functionLinenumber: 4107
    functionLinenumberEnd: 4166
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::promoteTo3D
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_EQ
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - exportToPROJString
    - DatabaseContext::create
    - WKTParser
    - std::string
    - auto::exportToWKT
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, towgs84_pm_3d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4172,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4172,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4174,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4175,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4177,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4178,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4180,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4180,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4180,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4181,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4182,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4184,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4187,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4188,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4189,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4190,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4190,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4196
      start: 4170
    functionDepth: 1
    functionLinenumber: 4170
    functionLinenumberEnd: 4196
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, WGS84_G1762_to_compoundCRS_with_bound_vertCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4201,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4202,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4205,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4206,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4207,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4210,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4200
    functionDepth: 1
    functionLinenumber: 4200
    functionLinenumberEnd: 4213
    functionName: createVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr createVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4219,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4220,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4221,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4222,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4224,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4225,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4225,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4225,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4226,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4230
      start: 4217
    functionDepth: 1
    functionLinenumber: 4217
    functionLinenumberEnd: 4230
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - CompoundCRS::create
    - PropertyMap
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createVerticalCRS
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4235,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4237,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4238,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4239,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4241
      start: 4234
    functionDepth: 1
    functionLinenumber: 4234
    functionLinenumberEnd: 4241
    functionName: createBoundVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - PropertyMap
    - std::vector<PositionalAccuracyNNPtr>
    - Transformation::createGravityRelatedHeightToGeographic3D
    - createVerticalCRS
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: BoundCRSNNPtr createBoundVerticalCRS()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createBoundVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4247,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4247,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4247,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4256,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4256,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4257,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4257,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4258,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4259,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4260,1
    - Dst: auto::packageName::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4261,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4263,1
    - Dst: auto::fullName::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4264,1
    - Dst: auto::fullName::find
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4264,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4268,1
    - Dst: auto::fullName::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4268,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4270,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4272
      start: 4245
    functionDepth: 2
    functionLinenumber: 4245
    functionLinenumberEnd: 4272
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::begin
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - auto::fullName::find
    - EXPECT_EQ
    - auto::packageName::empty
    - PROJStringFormatter::create
    - auto::fullName::empty
    - auto::gridsNeeded
    - DatabaseContext::create
    - createBoundVerticalCRS
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_height_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4316,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4317,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4322,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4322,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4276
    functionDepth: 1
    functionLinenumber: 4276
    functionLinenumberEnd: 4330
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_Geographic3D_to_GravityRelatedHeight_gtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4335,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4336,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4338,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4339,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4344
      start: 4334
    functionDepth: 1
    functionLinenumber: 4334
    functionLinenumberEnd: 4344
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - PROJStringFormatter::create
    - Transformation::createNTv2
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_ntv2_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4349,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4351,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4352,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4352,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4352,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4353,1
    - Dst: Transformation::createVERTCON
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4358,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4359,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4361,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4361,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4364
      start: 4348
    functionDepth: 1
    functionLinenumber: 4348
    functionLinenumberEnd: 4364
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - Transformation::createVERTCON
    - VerticalCS::createGravityRelatedHeight
    - PROJStringFormatter::create
    - VerticalCRS::create
    - createVerticalCRS
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_VERTCON_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4368,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4369,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4370,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4371,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4371,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4367
    functionDepth: 1
    functionLinenumber: 4367
    functionLinenumberEnd: 4377
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_NZLVD_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4382,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4383,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4385,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4385,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4391
      start: 4381
    functionDepth: 1
    functionLinenumber: 4381
    functionLinenumberEnd: 4391
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_BEV_AT_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4397,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4398,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4399,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4399,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4400,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4402,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4403,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4404,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4405,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4405,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4406,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4408,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4409,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4410,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4410,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4411,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4412,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4413,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4418,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4418,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4395
    functionDepth: 1
    functionLinenumber: 4395
    functionLinenumberEnd: 4424
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - GeographicCRS::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::inverse
    - Transformation::createLongitudeRotation
    - EllipsoidalCS::createLatitudeLongitude
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_longitude_rotation_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeographic2DOffsets
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4430,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4431,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4432,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4432,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4433,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4433,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4435,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4436,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4436,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4441,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4441,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4447
      start: 4428
    functionDepth: 1
    functionLinenumber: 4428
    functionLinenumberEnd: 4447
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::inverse
    - Transformation::createGeographic2DOffsets
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_Geographic2D_offsets_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeographic3DOffsets
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4453,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4454,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4455,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4455,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4455,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4456,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4458,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4459,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4459,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4464,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4464,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4470
      start: 4451
    functionDepth: 1
    functionLinenumber: 4451
    functionLinenumberEnd: 4470
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - Transformation::createGeographic3DOffsets
    - PropertyMap
    - Angle
    - EXPECT_TRUE
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::inverse
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_Geographic3D_offsets_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeographic2DWithHeightOffsets
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4477,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4478,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4479,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4479,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4480,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4481,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4481,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4482,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4482,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4484,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4485,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4485,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4490,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4490,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4496
      start: 4474
    functionDepth: 1
    functionLinenumber: 4474
    functionLinenumberEnd: 4496
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - CompoundCRS::create
    - PropertyMap
    - Angle
    - EXPECT_TRUE
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::validateParameters
    - createVerticalCRS
    - auto::inverse
    - Transformation::createGeographic2DWithHeightOffsets
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     transformation_Geographic2D_with_height_offsets_to_PROJ_string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createVerticalOffset
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4502,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4503,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4503,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4503,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4503,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4504,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4506,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4507,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4509,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4509,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4512
      start: 4500
    functionDepth: 1
    functionLinenumber: 4500
    functionLinenumberEnd: 4512
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - EXPECT_EQ
    - Transformation::createVerticalOffset
    - PROJStringFormatter::create
    - auto::validateParameters
    - createVerticalCRS
    - auto::inverse
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_vertical_offset_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4518,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4519,1
    - Dst: createBoundVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4520,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4521,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4524,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4525,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4530
      start: 4516
    functionDepth: 2
    functionLinenumber: 4516
    functionLinenumberEnd: 4530
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - CompoundCRS::create
    - PropertyMap
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createBoundVerticalCRS
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_boundVerticalCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4536,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4537,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4538,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4538,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4539,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4541,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4542,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4544,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4545,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4546,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4547,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4549,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4550,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4550,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4534
    functionDepth: 1
    functionLinenumber: 4534
    functionLinenumberEnd: 4562
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - CompoundCRS::create
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - GeographicCRS::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - createVerticalCRS
    - CoordinateOperationFactory::create
    - EllipsoidalCS::createLatitudeLongitude
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_boundGeogCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4568,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4570,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4571,1
    - Dst: createBoundVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4572,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4573,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4575,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4578,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4578,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4578,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4593,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4593,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4594,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4594,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4596,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4598,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4599,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4599,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4600
      start: 4566
    functionDepth: 2
    functionLinenumber: 4566
    functionLinenumberEnd: 4600
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - CompoundCRS::create
    - PropertyMap
    - auto::size
    - EXPECT_TRUE
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - auto::gridsNeeded
    - DatabaseContext::create
    - createBoundVerticalCRS
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_boundGeogCRS_and_boundVerticalCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4606,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4607,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4608,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4609,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4609,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4610,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4612,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4613,1
    - Dst: createBoundVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4614,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4615,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4617,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4620,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4620,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4620,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4633,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4635,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4636,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4636,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4637
      start: 4604
    functionDepth: 2
    functionLinenumber: 4604
    functionLinenumberEnd: 4637
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - PropertyMap
    - CompoundCRS::create
    - EXPECT_TRUE
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - PROJStringFormatter::create
    - Conversion::createUTM
    - auto::inverse
    - ProjectedCRS::create
    - createBoundVerticalCRS
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_boundProjCRS_and_boundVerticalCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4644,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4646,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4647,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4648,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4649,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4650,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4651,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4651,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4641
    functionDepth: 1
    functionLinenumber: 4641
    functionLinenumberEnd: 4657
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_boundVerticalCRS_from_geoidgrids_with_m_to_geogCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4664,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4667,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4668,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4669,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4670,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4671,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4672,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4673,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4661
    functionDepth: 1
    functionLinenumber: 4661
    functionLinenumberEnd: 4679
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_boundVerticalCRS_from_geoidgrids_with_ftus_to_geogCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4718,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4719,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4720,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4721,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4722,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4723,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4725,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4725,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4734
      start: 4683
    functionDepth: 1
    functionLinenumber: 4683
    functionLinenumberEnd: 4734
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_boundProjCRS_with_ftus_and_boundVerticalCRS_to_geogCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4741,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4764,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4765,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4766,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4786,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4787,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4788,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4790,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4791,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4792,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4795,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4797,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4798,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4798,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4799,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4799,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4800,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4800,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4738
    functionDepth: 1
    functionLinenumber: 4738
    functionLinenumberEnd: 4808
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_boundVerticalCRS_from_grids_to_geogCRS_with_ftus_ctxt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4818,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4842,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4843,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4844,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4865,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4866,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4867,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4869,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4870,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4871,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4874,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4876,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4877,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4877,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4878,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4878,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4879,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4879,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4812
    functionDepth: 1
    functionLinenumber: 4812
    functionLinenumberEnd: 4887
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_with_boundGeogCRS_boundVerticalCRS_from_grids_to_boundGeogCRS_with_ftus_ctxt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4897,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4920,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4921,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4922,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4943,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4944,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4945,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4947,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4948,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4949,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4952,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4954,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4955,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4955,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4956,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4956,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4957,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4957,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4965
      start: 4891
    functionDepth: 1
    functionLinenumber: 4891
    functionLinenumberEnd: 4965
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_with_boundVerticalCRS_from_grids_to_boundGeogCRS_with_ftus_ctxt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:4972,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5007,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5008,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5009,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5011,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5013,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5016,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5017,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5020,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5022,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5023,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5024,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5024,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5025,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5025,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5033
      start: 4969
    functionDepth: 1
    functionLinenumber: 4969
    functionLinenumberEnd: 5033
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_bound_of_projected_and_bound_of_vertical_to_geog3D)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5040,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5077,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5078,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5079,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5081,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5083,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5085,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5085,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5086,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5087,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5090,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5092,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5093,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5096,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5105,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5106,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5118,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5124
      start: 5037
    functionDepth: 1
    functionLinenumber: 5037
    functionLinenumberEnd: 5124
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - std::string
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_boundGeogCRS_and_geoid_to_geodCRS_NAD2011_ctxt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5131,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5203,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5204,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5205,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5279,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5280,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5281,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5283,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5283,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5284,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5285,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5288,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5290,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5291,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5291,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5292,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5293,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5293,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5300
      start: 5128
    functionDepth: 1
    functionLinenumber: 5128
    functionLinenumberEnd: 5300
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - std::string
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_vert_bound_to_bound_geog3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5368,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5369,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5370,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5372,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5373,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5375,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5375,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5375,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5381,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5381,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5382,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5382,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5383,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5384,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5384,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5385
      start: 5304
    functionDepth: 1
    functionLinenumber: 5304
    functionLinenumberEnd: 5385
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - value
    - EXPECT_EQ
    - auto::hasBallparkTransformation
    - EXPECT_FALSE
    - auto::coordinateOperationAccuracies
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - EXPECT_STREQ
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_derivedVerticalCRS_ellipsoidal_height_to_geog)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5390,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5392,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5393,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5394,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5398,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5399,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5400,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5401,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5401,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5402,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5403,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5403,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5409
      start: 5389
    functionDepth: 1
    functionLinenumber: 5389
    functionLinenumberEnd: 5409
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocent_to_compoundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5415,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5415,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5417,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5418,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5422,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5423,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5424,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5425,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5426,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5427,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5427,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5428,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5428,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5434
      start: 5413
    functionDepth: 1
    functionLinenumber: 5413
    functionLinenumberEnd: 5434
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - exportToPROJString
    - DatabaseContext::create
    - NN_CHECK_ASSERT
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocent_to_compoundCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5439,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5440,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5441,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5441,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5442,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5443,1
    - Dst: createUTM32_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5444,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5444,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5445,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5447,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5448,1
    - Dst: createUTM31_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5449,1
    - Dst: createUTM32_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5449,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5450,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5451,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5451,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5452
      start: 5438
    functionDepth: 2
    functionLinenumber: 5438
    functionLinenumberEnd: 5452
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - CompoundCRS::create
    - PropertyMap
    - EXPECT_TRUE
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - createUTM32_WGS84
    - createVerticalCRS
    - CoordinateOperationFactory::create
    - createUTM31_WGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5457,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5459,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5460,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5460,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5460,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5461,1
    - Dst: Transformation::createVERTCON
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5466,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5467,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5468,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5470,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5471,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5473,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5474,1
    - Dst: Conversion::createTransverseMercator
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5475,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5475,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5475,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5476,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5476,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5477,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5477,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5478,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5479,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5480,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5481,1
    - Dst: createUTM32_WGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5482,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5484,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5486,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5487,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5487,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5487,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5494,1
    - Dst: auto::setUseApproxTMerc
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5496,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5497,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5497,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5505,1
    - Dst: auto::setUseApproxTMerc
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5506,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5507,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5508,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5508,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5515,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5517,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5519,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5521,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5521,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5521,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5522,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5524
      start: 5456
    functionDepth: 2
    functionLinenumber: 5456
    functionLinenumberEnd: 5524
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - EXPECT_EQ
    - createUTM32_WGS84
    - auto::inverse
    - VerticalReferenceFrame::create
    - BoundCRS::create
    - std::vector<PositionalAccuracyNNPtr>
    - Transformation::createVERTCON
    - Conversion::createTransverseMercator
    - VerticalCRS::create
    - ProjectedCRS::create
    - auto::exportToPROJString
    - CompoundCRS::create
    - Angle
    - ASSERT_TRUE
    - createVerticalCRS
    - Length
    - PropertyMap
    - VerticalCS::createGravityRelatedHeight
    - CartesianCS::createEastingNorthing
    - PROJStringFormatter::create
    - auto::setUseApproxTMerc
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_with_vertical_transform)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5529,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5533,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5534,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5535,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5539,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5540,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5541,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5542,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5542,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5543,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5544,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5544,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5551
      start: 5528
    functionDepth: 1
    functionLinenumber: 5528
    functionLinenumberEnd: 5551
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5558,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5562,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5563,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5564,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5568,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5569,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5570,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5571,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5571,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5573,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5573,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5581
      start: 5555
    functionDepth: 1
    functionLinenumber: 5555
    functionLinenumberEnd: 5581
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert_same_geoidgrids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5588,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5592,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5593,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5594,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5598,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5599,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5600,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5601,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5601,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5602,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5603,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5603,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5612
      start: 5585
    functionDepth: 1
    functionLinenumber: 5585
    functionLinenumberEnd: 5612
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert_same_geoidgrids_different_vunits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5619,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5623,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5624,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5625,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5629,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5630,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5631,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5632,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5632,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5634,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5634,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5636
      start: 5616
    functionDepth: 1
    functionLinenumber: 5616
    functionLinenumberEnd: 5636
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert_same_nadgrids_same_geoidgrids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5643,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5647,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5648,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5649,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5653,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5654,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5655,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5656,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5656,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5657,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5658,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5658,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5666
      start: 5640
    functionDepth: 1
    functionLinenumber: 5640
    functionLinenumberEnd: 5666
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert_same_towgs84_same_geoidgrids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5673,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5677,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5678,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5679,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5683,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5684,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5686,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5687,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5688,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5688,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5689,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5690,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5691,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5691,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5692,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5692,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5693,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5695,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5696,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5696,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5697,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5699,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5699,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5670
    functionDepth: 1
    functionLinenumber: 5670
    functionLinenumberEnd: 5708
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - CoordinateOperationFactory::create
    - NN_CHECK_ASSERT
    - auto::datum
    - auto::extractGeographicCRS
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert_same_ellsp_but_different_towgs84_different_geoidgrids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5715,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5751,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5752,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5753,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5786,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5787,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5789,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5790,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5791,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5792,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5795,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5797,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5798,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5798,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5799,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5799,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5800,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5800,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5808
      start: 5712
    functionDepth: 1
    functionLinenumber: 5712
    functionLinenumberEnd: 5808
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - NN_CHECK_ASSERT
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - WKTParser
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_with_bound_crs_in_horiz_and_vert_WKT1_same_geoidgrids_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5813,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5847,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5848,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5850,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5868,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5869,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5871,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5872,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5873,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5874,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5877,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5880,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5881,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5881,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5882,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5882,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5884,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5885,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5885,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5886,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5886,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5887
      start: 5812
    functionDepth: 1
    functionLinenumber: 5812
    functionLinenumberEnd: 5887
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - NN_CHECK_ASSERT
    - EXPECT_EQ
    - EXPECT_GE
    - ASSERT_TRUE
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - WKTParser
    - auto::setGridAvailabilityUse
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_issue_2232)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5893,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5893,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5894,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5895,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5898,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5900,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5902,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5904,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5906,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5906,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5907,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5907,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5908,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5908,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5911,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5912,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5912,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5922,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5923,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5924,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5925,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5926,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5927,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5928,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5928,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5929,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5929,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5933,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5935,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5935,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5936,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5937,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5940,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5941,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5944,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5945,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5945,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5949,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5961
      start: 5891
    functionDepth: 1
    functionLinenumber: 5891
    functionLinenumberEnd: 5961
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<CoordinateOperation>
    - auto::exportToPROJString
    - ASSERT_GE
    - auto::size
    - auto::find
    - ASSERT_TRUE
    - hasBallparkTransformation
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - exportToWKT
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5966,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5967,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5968,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5969,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5972,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5975,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5976,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5977,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5979,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5980,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5981,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5982,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5983,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5983,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5984,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5984,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5985,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5985,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5965
    functionDepth: 1
    functionLinenumber: 5965
    functionLinenumberEnd: 5987
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_context_helmert_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5994,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5995,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5996,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:5997,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6000,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6003,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6004,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6005,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6007,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6008,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6009,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6010,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6011,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6011,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6012,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6012,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6013,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6013,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6017,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6017,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6025
      start: 5993
    functionDepth: 1
    functionLinenumber: 5993
    functionLinenumberEnd: 6025
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_WGS84_EGM96_to_ETRS89_Belfast)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6032,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6033,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6034,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6035,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6038,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6041,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6042,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6043,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6045,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6046,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6047,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6048,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6049,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6049,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6050,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6050,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6051,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6051,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6054,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6054,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6062
      start: 6031
    functionDepth: 1
    functionLinenumber: 6031
    functionLinenumberEnd: 6062
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_WGS84_EGM96_to_WGS84_Belfast)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6068,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6069,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6069,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6070,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6071,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6075,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6076,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6077,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6079,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6079,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6080,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6084,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6085,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6086,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6086,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6087,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6087,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6103,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6104,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6104,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6109,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6110,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6111,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6112,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6129,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6130,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6133
      start: 6066
    functionDepth: 1
    functionLinenumber: 6066
    functionLinenumberEnd: 6133
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_compoundCRS_OSGB36_BNG_ODN_height_to_WGS84_EGM96)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6138,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6139,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6140,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6141,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6144,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6147,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6149,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6151,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6152,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6153,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6154,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6155,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6155,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6156,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6156,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6158,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6158,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6171
      start: 6137
    functionDepth: 1
    functionLinenumber: 6137
    functionLinenumberEnd: 6171
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_context_helmert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6176,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6177,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6178,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6179,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6182,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6184,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6186,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6188,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6189,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6190,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6194,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6194,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6209
      start: 6175
    functionDepth: 1
    functionLinenumber: 6175
    functionLinenumberEnd: 6209
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_GDA94_AHD_to_GDA2020_AVWS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6216,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6217,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6302,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6303,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6306,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6307,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6308,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6309,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6311,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6312,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6312,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6313,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6315,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6316,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6316,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6317,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6319,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6319,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6331
      start: 6213
    functionDepth: 1
    functionLinenumber: 6213
    functionLinenumberEnd: 6331
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_with_horizontal_boundCRS_to_compoundCRS_and_same_vertical)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6339,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6340,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6414,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6415,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6418,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6419,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6420,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6421,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6423,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6424,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6424,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6425,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6428,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6429,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6429,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6430,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6430,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6432,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6433,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6433,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6450,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6451,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6451,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6452,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6452,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6454,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6455,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6470
      start: 6335
    functionDepth: 1
    functionLinenumber: 6335
    functionLinenumberEnd: 6470
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_with_horizontal_boundCRS_to_compoundCRS_with_derived_vertical)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6478,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6478,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6478,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6480,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6480,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6483,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6484,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6486,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6488,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6490,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6491,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6494,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6495,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6503,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6503,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6507,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6508,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6518,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6521,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6525
      start: 6474
    functionDepth: 1
    functionLinenumber: 6474
    functionLinenumberEnd: 6525
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_concatenated_operation_with_two_vert_transformation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6537,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6537,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6539,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6540,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6541,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6542,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6545,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6546,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6547,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6548,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6550,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6551,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6554,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6556,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6557,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6557,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6558,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6558,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6559,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6563,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6563,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6574
      start: 6533
    functionDepth: 1
    functionLinenumber: 6533
    functionLinenumberEnd: 6574
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_concatenated_operation_with_two_vert_transformation_and_different_source_dest_interp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6580,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6581,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6602,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6603,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6605,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6623,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6624,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6626,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6627,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6628,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6632,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6633,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6634,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6634,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6636,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6636,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6642
      start: 6579
    functionDepth: 1
    functionLinenumber: 6579
    functionLinenumberEnd: 6642
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - NN_CHECK_ASSERT
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - exportToPROJString
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_issue_2720)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6648,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6648,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6648,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6650,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6651,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6652,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6653,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6656,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6657,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6658,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6659,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6661,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6662,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6665,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6667,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6668,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6668,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6669,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6670,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6673,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6673,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6698
      start: 6646
    functionDepth: 1
    functionLinenumber: 6646
    functionLinenumberEnd: 6698
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_issue_3328)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6704,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6704,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6705,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6706,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6709,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6711,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6713,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6715,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6717,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6717,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6719,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6720,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6720,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6725,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6726,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6726,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6736,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6736,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6737,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6737,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6737,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6739,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6739,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6740,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6740,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6745,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6746,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6746,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6746,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6749,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6749,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6750,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6750,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6757,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6757,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6758,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6763
      start: 6702
    functionDepth: 1
    functionLinenumber: 6702
    functionLinenumberEnd: 6763
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - value
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - coordinateOperationAccuracies
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - nameStr
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_WGS84_EGM2008_to_RD_new_NAP_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6771,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6771,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6773,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6774,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6775,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6776,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6779,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6780,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6781,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6782,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6784,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6785,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6788,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6789,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6789,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6790,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6790,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6791,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6791,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6807,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6808,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6811,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6812,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6812,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6813,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6813,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6816,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6816,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6825,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6826,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6826,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6827,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6827,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6830,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6838
      start: 6767
    functionDepth: 1
    functionLinenumber: 6767
    functionLinenumberEnd: 6838
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_compoundCRS_concatenated_operation_with_two_vert_transformation_and_ballpark_geog)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6843,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6844,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6844,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6845,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6846,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6848,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6941,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6942,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6943,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6945,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6945,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6946,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6949,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6950,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6951,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6951,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6953,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6953,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6960,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6960,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6960,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6979,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6980,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6981,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6981,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6982,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6989
      start: 6842
    functionDepth: 1
    functionLinenumber: 6842
    functionLinenumberEnd: 6989
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_issue_3152_ch1903lv03_ln02_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6995,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6996,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6996,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6997,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:6998,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7002,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7003,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7004,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7006,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7006,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7007,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7011,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7012,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7013,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7013,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7014,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7014,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7029,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7030,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7030,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7035,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7036,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7037,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7037,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7038,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7038,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7052,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7053,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 6993
    functionDepth: 1
    functionLinenumber: 6993
    functionLinenumberEnd: 7056
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_compoundCRS_issue_3191_BD72_Ostend_height_to_WGS84_EGM96)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7061,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7062,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7062,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7063,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7064,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7097,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7098,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7099,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7101,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7102,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7103,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7105,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7106,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7106,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7107,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7108,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7108,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7116
      start: 7060
    functionDepth: 1
    functionLinenumber: 7060
    functionLinenumberEnd: 7116
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_issue_4550)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7126,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7127,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7127,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7128,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7129,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7134,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7135,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7136,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7198,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7199,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7200,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7202,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7203,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7203,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7204,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7205,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7205,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7205,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7212,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7212,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7215,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7216
      start: 7120
    functionDepth: 1
    functionLinenumber: 7120
    functionLinenumberEnd: 7216
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - NN_NO_CHECK
    - std::string
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - auto::size
    - nn_dynamic_pointer_cast<CompoundCRS>
    - ASSERT_TRUE
    - EXPECT_STREQ
    - hasBallparkTransformation
    - createFromUserInput
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_compoundCRS_with_derivedVerticalCRS_ellipsoidal_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7223,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7224,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7224,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7225,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7226,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7228,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7231,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7232,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7233,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7235,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7236,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7237,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7239,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7240,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7240,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7241,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7241,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7242,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7243,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7250,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7250,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7259
      start: 7220
    functionDepth: 1
    functionLinenumber: 7220
    functionLinenumberEnd: 7259
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_compoundCRS_using_intermediate_of_horizontal_transform)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7265,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7266,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7267,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7269,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7270,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7271,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7274,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7276,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7277,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7280,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7281,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7281,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7282,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7283,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7283,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7283,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7287,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7288,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7288,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7289,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7290,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7290,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7291,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7295,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7296,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7296,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7298,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7298,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7298,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7302,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7303,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7303,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7305,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7305,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7305,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7309,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7310,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7310,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7311,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7312,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7312,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7312,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7317,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7317,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7321,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7324,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7324,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7327,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7330,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7330,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7334,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7337,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7338,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7338,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7340,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7340,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7340,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7345,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7346,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7347,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7348,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7349,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7349,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7352
      start: 7263
    functionDepth: 1
    functionLinenumber: 7263
    functionLinenumberEnd: 7352
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - auto::inverse
    - WKTParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vertCRS_to_vertCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7358,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7358,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7359,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7360,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7362,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7364,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7366,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7367,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7368,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7369,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7369,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7371
      start: 7356
    functionDepth: 1
    functionLinenumber: 7356
    functionLinenumberEnd: 7371
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vertCRS_to_vertCRS_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7377,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7377,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7378,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7379,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7381,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7383,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7384,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7385,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7385,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7388
      start: 7375
    functionDepth: 1
    functionLinenumber: 7375
    functionLinenumberEnd: 7388
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vertCRS_to_vertCRS_New_Zealand_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7397,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7397,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7398,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7399,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7405,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7406,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7407,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7408,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7408,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7409,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7410,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7411,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7411,1
    - Dst: checkPipeline
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7419,1
    - Dst: checkPipeline
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7427,1
    - Dst: checkPipeline
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7433,1
    - Dst: checkPipeline
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7441,1
    - Dst: checkPipeline
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7450,1
    - Dst: checkPipeline
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7464
      start: 7392
    functionDepth: 1
    functionLinenumber: 7392
    functionLinenumberEnd: 7464
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - checkPipeline
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vertCRS_to_vertCRS_pivot_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7470,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7472,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7473,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7475,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7477,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7478,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7481,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7482,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7482,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7483,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7484,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7485,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7485,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7485,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7496,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7497,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7497,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7498,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7499,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7499,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7500,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7501,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7508
      start: 7468
    functionDepth: 1
    functionLinenumber: 7468
    functionLinenumberEnd: 7508
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - auto::hasBallparkTransformation
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, projCRS_3D_to_geogCRS_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7514,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7558,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7559,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7561,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7563,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7564,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7567,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7568,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7568,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7569,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7570,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7570,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7571,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7571,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7571,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7578,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7579,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7579,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7580,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7581,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7582,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7582,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7587
      start: 7512
    functionDepth: 1
    functionLinenumber: 7512
    functionLinenumberEnd: 7587
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - auto::hasBallparkTransformation
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - WKTParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_3D)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7593,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7593,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7598,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7599,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7602,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7603,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7605,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7607,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7607,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7608,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7608,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7609,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7609,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7613,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7613,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7614,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7616,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7631,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7632,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7635,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7636,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7638,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7640,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7640,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7641,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7641,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7644,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7644,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7645,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7647,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7656,1
    - Dst: remarks
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7656,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7668,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7669,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7671,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7675,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7676,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7677,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7678,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7679,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7681,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7683,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7685,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7685,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7687,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7687,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7693,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7693,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7694,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7696,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7722,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7723,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7725,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7729,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7730,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7731,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7732,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7733,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7735,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7737,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7739,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7739,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7741,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7741,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7745,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7745,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7746,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7748,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7770,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7770,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7770,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7772,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7773,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7775,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7779,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7780,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7781,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7782,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7783,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7785,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7787,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7793,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7794,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7796,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7798,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7800,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7806,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7809
      start: 7591
    functionDepth: 1
    functionLinenumber: 7591
    functionLinenumberEnd: 7809
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - NN_NO_CHECK
    - auto::createCoordinateReferenceSystem
    - std::string
    - ASSERT_GE
    - auto::size
    - nn_dynamic_pointer_cast<CRS>
    - auto::find
    - ASSERT_TRUE
    - auto::databaseContext
    - hasBallparkTransformation
    - createFromUserInput
    - PROJStringFormatter::create
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - auto::setSpatialCriterion
    - remarks
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7815,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7816,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7817,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7818,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7820,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7824,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7825,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7826,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7827,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7828,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7830,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7831,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7833,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7833,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7834,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7834,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7847,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7847,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7852
      start: 7813
    functionDepth: 1
    functionLinenumber: 7813
    functionLinenumberEnd: 7852
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_3D_with_3D_helmert_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7861,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7862,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7863,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7864,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7866,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7870,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7871,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7872,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7873,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7874,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7876,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7877,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7879,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7900,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7900,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7905
      start: 7856
    functionDepth: 1
    functionLinenumber: 7856
    functionLinenumberEnd: 7905
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_geogCRS_3D_with_3D_helmert_same_geog_src_target_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7915,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7916,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7917,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7918,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7920,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7924,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7925,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7926,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7927,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7928,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7930,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7931,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7931,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7940,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7940,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7945
      start: 7909
    functionDepth: 1
    functionLinenumber: 7909
    functionLinenumberEnd: 7945
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_geogCRS_3D_with_null_helmert_same_geog_src_target_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7951,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7955,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7956,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7957,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7959,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:7962,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8010,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8011,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8012,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8014,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8015,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8015,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8023,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8023,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8028
      start: 7949
    functionDepth: 1
    functionLinenumber: 7949
    functionLinenumberEnd: 8028
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - WKTParser
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_geogCRS_3D_with_same_geog_src_target_interp_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8034,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8035,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8036,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8037,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8039,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8043,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8045,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8047,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8048,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8048,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8049,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8049,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8055,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8057,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8059,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8060,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8060,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8061,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8032
    functionDepth: 1
    functionLinenumber: 8032
    functionLinenumberEnd: 8064
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_3D_WGS84_to_GDA2020_AHD_Height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8070,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8070,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8071,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8072,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8074,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8078,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8079,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8080,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8081,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8082,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8084,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8085,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8085,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8092,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8092,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8095,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8097,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8097,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8098
      start: 8068
    functionDepth: 1
    functionLinenumber: 8068
    functionLinenumberEnd: 8098
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - CoordinateOperationFactory::create
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_2D_promote_to_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8104,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8104,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8105,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8106,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8108,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8112,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8113,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8114,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8115,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8116,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8118,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8119,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8119,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8121,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8129,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8129,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8130,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8130,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8134,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8152
      start: 8102
    functionDepth: 1
    functionLinenumber: 8102
    functionLinenumberEnd: 8152
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - ASSERT_GE
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_of_projCRS_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8158,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8158,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8160,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8161,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8163,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8164,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8166,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8168,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8171,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8171,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8174,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8177
      start: 8156
    functionDepth: 1
    functionLinenumber: 8156
    functionLinenumberEnd: 8177
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_3D_KNOWN_AVAILABLE_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8183,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8183,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8184,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8185,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8187,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8211,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8211,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8212,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8213,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8215,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8217,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8218,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8220,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8221,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8222,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8223,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8224,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8225,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8225,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8226,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8227,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8229,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8229,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8230
      start: 8181
    functionDepth: 1
    functionLinenumber: 8181
    functionLinenumberEnd: 8230
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::get
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_from_wkt_without_id_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8237,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8237,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8238,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8239,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8241,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8289,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8289,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8290,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8291,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8292,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8294,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8295,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8297,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8298,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8299,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8300,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8301,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8302,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8302,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8303,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8306,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8306,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8307
      start: 8234
    functionDepth: 1
    functionLinenumber: 8234
    functionLinenumberEnd: 8307
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::get
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_of_projCRS_from_wkt_without_id_or_extent_to_geogCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8313,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8313,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8314,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8315,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8317,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8321,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8322,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8323,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8324,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8325,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8327,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8330,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8332,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8332,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8335,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8336,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8337,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8338,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8340,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8341,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8345,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8345,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8345,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8347,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8347,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8349,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8350,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8351,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8352,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8353,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8355,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8355,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8356,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8358,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8366,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8368,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8368,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8369
      start: 8311
    functionDepth: 1
    functionLinenumber: 8311
    functionLinenumberEnd: 8369
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - NN_NO_CHECK
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - replaceAll
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - ASSERT_TRUE
    - auto::databaseContext
    - createFromUserInput
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_with_vertical_unit_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8376,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8376,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8377,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8378,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8380,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8384,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8385,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8386,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8387,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8388,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8390,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8393,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8395,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8395,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8397,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8398,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8399,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8409,1
    - Dst: auto::back
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8410,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8411,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8412,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8416,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8418,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8418,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8420,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8421,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8422,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8423,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8432,1
    - Dst: auto::back
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8433,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8434,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8438
      start: 8374
    functionDepth: 1
    functionLinenumber: 8374
    functionLinenumberEnd: 8438
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::back
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - auto::empty
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_ftUS_to_geogCRS_ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8445,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8445,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8446,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8447,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8449,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8453,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8454,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8455,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8456,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8457,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8459,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8462,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8464,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8466,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8467,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8468,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8469,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8478,1
    - Dst: auto::back
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8479,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8480,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8481,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8485,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8487,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8487,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8489,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8490,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8491,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8492,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8501,1
    - Dst: auto::back
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8502,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8503,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8507
      start: 8443
    functionDepth: 1
    functionLinenumber: 8443
    functionLinenumberEnd: 8507
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::back
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - auto::empty
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_ft_to_geogCRS_ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8514,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8514,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8515,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8516,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8518,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8522,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8523,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8524,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8525,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8526,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8528,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8531,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8533,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8535,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8536,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8537,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8538,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8547,1
    - Dst: auto::back
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8548,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8549,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8550,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8554,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8556,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8556,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8558,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8559,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8560,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8561,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8570,1
    - Dst: auto::back
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8571,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8572,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8576
      start: 8512
    functionDepth: 1
    functionLinenumber: 8512
    functionLinenumberEnd: 8576
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::back
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - auto::empty
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_m_to_geogCRS_ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8584,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8584,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8585,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8586,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8588,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8592,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8593,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8594,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8595,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8596,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8598,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8601,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8605,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8606,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8607,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8608,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8610,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8611,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8615,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8615,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8615,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8617,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8617,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8619,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8619,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8621,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8622,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8623,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8624,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8625,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8627,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8627,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8628,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8635
      start: 8580
    functionDepth: 1
    functionLinenumber: 8580
    functionLinenumberEnd: 8635
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - NN_NO_CHECK
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - replaceAll
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - ASSERT_GE
    - ASSERT_TRUE
    - auto::databaseContext
    - createFromUserInput
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_geogCRS_with_vertical_unit_change_and_complex_horizontal_change)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8641,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8641,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8642,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8643,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8645,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8649,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8650,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8651,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8652,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8653,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8655,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8658,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8660,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8660,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8663,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8664,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8666,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8668,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8669,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8673,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8673,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8673,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8675,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8675,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8677,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8678,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8679,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8680,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8681,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8683,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8683,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8684,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8686,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8694,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8696,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8696,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8697
      start: 8639
    functionDepth: 1
    functionLinenumber: 8639
    functionLinenumberEnd: 8697
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - NN_NO_CHECK
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - replaceAll
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - ASSERT_TRUE
    - auto::databaseContext
    - createFromUserInput
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_with_height_depth_reversal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8705,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8705,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8706,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8707,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8709,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8713,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8714,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8715,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8716,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8717,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8719,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8722,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8724,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8724,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8727,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8728,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8729,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8730,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8732,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8733,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8737,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8737,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8737,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8739,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8739,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8741,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8742,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8743,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8744,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8745,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8747,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8747,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8748,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8750,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8760,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8760,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8761
      start: 8701
    functionDepth: 1
    functionLinenumber: 8701
    functionLinenumberEnd: 8761
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - nameStr
    - NN_NO_CHECK
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - replaceAll
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - ASSERT_TRUE
    - auto::databaseContext
    - createFromUserInput
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_to_geogCRS_with_vertical_unit_change_and_height_depth_reversal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8767,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8767,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8768,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8769,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8771,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8820,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8820,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8821,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8822,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8824,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8825,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8825,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8827,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8828,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8829,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8829,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8830,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8830,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8836,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8836,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8846
      start: 8765
    functionDepth: 1
    functionLinenumber: 8765
    functionLinenumberEnd: 8846
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::empty
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_of_vertCRS_with_geoid_model_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8853,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8853,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8854,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8855,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8857,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8882,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8882,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8883,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8884,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8886,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8888,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8889,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8890,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8890,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8892,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8892,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8899
      start: 8850
    functionDepth: 1
    functionLinenumber: 8850
    functionLinenumberEnd: 8899
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_of_horizCRS_with_TOWGS84_vertCRS_with_geoid_model_to_geogCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8905,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8905,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8906,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8907,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8909,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8955,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8955,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8956,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8957,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8959,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8960,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8960,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8962,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8963,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8964,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8964,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8965,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8970
      start: 8903
    functionDepth: 1
    functionLinenumber: 8903
    functionLinenumberEnd: 8970
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::empty
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - CoordinateOperationFactory::create
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_of_vertCRS_with_geoid_model_by_id_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8978,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8978,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8979,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8980,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:8982,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9041,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9041,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9042,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9043,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9045,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9046,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9046,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9048,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9049,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9050,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9050,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9051,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9051,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9056,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9056,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9057,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9057,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9066,1
    - Dst: domains
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9066,1
    - Dst: domains
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9067,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9068,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9068,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9069,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9069,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9072,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9075
      start: 8974
    functionDepth: 1
    functionLinenumber: 8974
    functionLinenumberEnd: 9075
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - auto::c_str
    - nameStr
    - NN_NO_CHECK
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - std::string
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_TRUE
    - EXPECT_STREQ
    - auto::domainOfValidity
    - auto::databaseContext
    - createFromUserInput
    - PROJStringFormatter::create
    - domains
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    compoundCRS_of_vertCRS_with_geoid_model_by_name_and_several_records_to_geogCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9082,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9082,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9083,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9084,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9086,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9141,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9141,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9142,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9143,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9144,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9147,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9149,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9149,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9151,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9151,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9152,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9161
      start: 9079
    functionDepth: 1
    functionLinenumber: 9079
    functionLinenumberEnd: 9161
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - auto::c_str
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - auto::empty
    - exportToPROJString
    - EXPECT_STREQ
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_of_vertCRS_with_geoid_model_by_name_and_datum_ensemble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9167,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9167,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9168,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9169,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9282,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9282,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9283,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9284,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9286,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9288,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9289,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9290,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9290,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9292,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9306
      start: 9165
    functionDepth: 1
    functionLinenumber: 9165
    functionLinenumberEnd: 9306
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_of_bound_horizCRS_and_bound_vertCRS_to_geogCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9312,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9312,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9313,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9314,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9317,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9319,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9320,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9320,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9321,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9322,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9323,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9324,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9325,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9326,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9327,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9328,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9328,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9328,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9329,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9332,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9333,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9335
      start: 9310
    functionDepth: 1
    functionLinenumber: 9310
    functionLinenumberEnd: 9335
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - nn_dynamic_pointer_cast<CRS>
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - NN_NO_CHECK
    - DatabaseContext::create
    - auto::exportToWKT
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_from_WKT2_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9341,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9341,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9342,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9343,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9345,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9349,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9351,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9352,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9352,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9356,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9356,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9357,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9396,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9397,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9398,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9399,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9400,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9401,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9401,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9402,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9402,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9407,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9407,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9409,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9410,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9411,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9413
      start: 9339
    functionDepth: 1
    functionLinenumber: 9339
    functionLinenumberEnd: 9413
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<CRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_from_WKT2_no_id_to_geogCRS_3D_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9418,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9419,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9420,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9421,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9424,1
    - Dst: auto::setAllowBallparkTransformations
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9426,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9427,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9429,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9431,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9432,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9435,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9435,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9440,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9444,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9445,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9471
      start: 9417
    functionDepth: 1
    functionLinenumber: 9417
    functionLinenumberEnd: 9471
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - auto::setAllowBallparkTransformations
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_geogCRS_3D_Amersfoort_NAP_height_to_Amersfoort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9476,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9478,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9479,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9481,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9481,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9482,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9483,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9484,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9484,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9486,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9486,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9488,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9488,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9495
      start: 9475
    functionDepth: 1
    functionLinenumber: 9475
    functionLinenumberEnd: 9495
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - exportToPROJString
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, proj3DCRS_with_non_meter_horiz_and_vertical_to_geog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9500,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9547,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9548,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9550,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9550,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9551,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9552,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9553,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9553,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9555,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9555,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9557,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9557,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9564
      start: 9499
    functionDepth: 1
    functionLinenumber: 9499
    functionLinenumberEnd: 9564
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - exportToPROJString
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_non_meter_horiz_and_vertical_to_geog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9571,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9572,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9572,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9573,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9574,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9575,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9577,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9580,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9581,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9582,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9584,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9585,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9587,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9588,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9588,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9589,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9595,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9595,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9602
      start: 9568
    functionDepth: 1
    functionLinenumber: 9568
    functionLinenumberEnd: 9602
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     compoundCRS_to_geogCRS_3D_using_intermediate_of_horizontal_transform)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9607,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9609,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9610,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9611,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9615,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9616,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9618,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9619,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9619,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9620,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9621,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9621,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9621,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9629,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9630,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9630,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9631,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9632,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9632,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9633
      start: 9606
    functionDepth: 1
    functionLinenumber: 9606
    functionLinenumberEnd: 9633
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - auto::inverse
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, boundCRS_to_compoundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9640,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9640,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9641,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9642,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9644,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9743,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9743,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9744,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9745,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9746,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9749,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9750,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9751,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9753,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9753,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9766
      start: 9637
    functionDepth: 1
    functionLinenumber: 9637
    functionLinenumberEnd: 9766
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    - exportToPROJString
    - AuthorityFactory::create
    - auto::databaseContext
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     boundCRS_to_compoundCRS_with_hubCRS_same_as_compound_geographicCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9772,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9772,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9772,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9773,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9774,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9777,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9779,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9780,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9780,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9782,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9782,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9785,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9785,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9787,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9787,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9788,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9788,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9788,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9795,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9795,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9796,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9796,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9796,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9805,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9806,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9806,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9809,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9809,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9812,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9812,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9814,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9814,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9814,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9815,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9817,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9817,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9822,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9822,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9822,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9823,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9825,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9826
      start: 9770
    functionDepth: 1
    functionLinenumber: 9770
    functionLinenumberEnd: 9826
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - replaceAll
    - EXPECT_FALSE
    - auto::setAllowUseIntermediateCRS
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - exportToPROJString
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, IGNF_LAMB1_TO_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9831,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9832,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9832,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9833,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9834,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9835,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9837,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9839,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9841,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9842,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9842,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9844,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9844,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9850,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9850,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9852,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9852,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9858
      start: 9830
    functionDepth: 1
    functionLinenumber: 9830
    functionLinenumberEnd: 9858
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, NAD83_to_projected_CRS_based_on_NAD83_2011)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9865,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9866,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9868,1
    - Dst: auto::isPROJInstantiable
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9868,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9869,1
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9874,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9875,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9876,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9877,1
    - Dst: auto::isPROJInstantiable
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9877,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9878,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9883,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9884,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9886,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9886,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9890,1
    - Dst: auto::isPROJInstantiable
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9890,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9893
      start: 9862
    functionDepth: 1
    functionLinenumber: 9862
    functionLinenumberEnd: 9893
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - PropertyMap
    - Transformation::createGeocentricTranslations
    - std::vector<PositionalAccuracyNNPtr>
    - OperationMethod::create
    - EXPECT_FALSE
    - Transformation::create
    - DatabaseContext::create
    - auto::isPROJInstantiable
    - Transformation::createNTv2
    linkageType: ''
    returnType: void
    signature: void TEST(operation, isPROJInstantiable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9898,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9900,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9902,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9904,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9905,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9905,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9905,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9907,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9908,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9910,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9911,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9913,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9917,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9919,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9920,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9921,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9921,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9923,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9924,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9926,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9927,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9932
      start: 9897
    functionDepth: 1
    functionLinenumber: 9897
    functionLinenumberEnd: 9932
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - auto::baseCRSWithCanonicalBoundCRS
    - EXPECT_TRUE
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - WKTFormatter::create
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - auto::exportToWKT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_on_crs_with_canonical_bound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9937,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9939,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9940,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9942,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9943,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9945,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9945,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9950
      start: 9936
    functionDepth: 1
    functionLinenumber: 9936
    functionLinenumberEnd: 9950
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_fallback_to_proj4_strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9955,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9957,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9958,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9960,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9962,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9963,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9965,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9966,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9966,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9967,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9968,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9968,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9974
      start: 9954
    functionDepth: 1
    functionLinenumber: 9954
    functionLinenumberEnd: 9974
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_fallback_to_proj4_strings_bound_of_geog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9981,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9983,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9984,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9986,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9988,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9989,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9991,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9992,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9992,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9993,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9994,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9994,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:9994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9999
      start: 9978
    functionDepth: 1
    functionLinenumber: 9978
    functionLinenumberEnd: 9999
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_fallback_to_proj4_strings_regular_with_datum_to_projliteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10005,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10007,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10008,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10010,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10012,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10013,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10015,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10016,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10016,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10017,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10018,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10018,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10023
      start: 10003
    functionDepth: 1
    functionLinenumber: 10003
    functionLinenumberEnd: 10023
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_fallback_to_proj4_strings_proj_NAD83_to_projliteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10029,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10031,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10032,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10034,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10036,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10037,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10039,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10040,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10040,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10041,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10042,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10042,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10047
      start: 10027
    functionDepth: 1
    functionLinenumber: 10027
    functionLinenumberEnd: 10047
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_fallback_to_proj4_strings_geog_NAD83_to_projliteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10054,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10056,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10057,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10059,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10061,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10062,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10064,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10065,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10065,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10066,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10067,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10067,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10072
      start: 10051
    functionDepth: 1
    functionLinenumber: 10051
    functionLinenumberEnd: 10072
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_fallback_to_proj4_strings_regular_with_nadgrids_to_projliteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10078,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10080,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10081,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10083,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10085,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10086,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10088,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10089,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10089,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10090,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10091,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10091,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10096
      start: 10076
    functionDepth: 1
    functionLinenumber: 10076
    functionLinenumberEnd: 10096
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_fallback_to_proj4_strings_projliteral_to_projliteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10104,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10104,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10105,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10106,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10108,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10110,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10111,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10113,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10114,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10114,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10115,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10116,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10116,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10120
      start: 10100
    functionDepth: 1
    functionLinenumber: 10100
    functionLinenumberEnd: 10120
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - DatabaseContext::create
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_fallback_to_proj4_strings_regular_to_projliteral_with_towgs84)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10125,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10129,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10130,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10132,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10135,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10136,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10138,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10139,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10139,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10140,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10141,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10141,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10146
      start: 10124
    functionDepth: 1
    functionLinenumber: 10124
    functionLinenumberEnd: 10146
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_on_crs_with_bound_crs_and_wktext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10153,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10153,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10154,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10155,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10157,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10159,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10160,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10162,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10163,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10163,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10165,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10165,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10172
      start: 10150
    functionDepth: 1
    functionLinenumber: 10150
    functionLinenumberEnd: 10172
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - DatabaseContext::create
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_fallback_to_proj4_strings_with_axis_inverted_projCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10178,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10178,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10179,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10180,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10182,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10184,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10185,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10188,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10188,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10189,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10190,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10192,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10193,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10193,1
    - Dst: ASSERT_GT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10194,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10196,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10197,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10203
      start: 10176
    functionDepth: 1
    functionLinenumber: 10176
    functionLinenumberEnd: 10203
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_GT
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_proj_string_with_non_metre_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10209,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10210,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10213,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10214,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10215,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10270,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10271,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10272,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10274,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10275,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10277,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10278,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10278,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10279,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10279,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10280,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10280,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10282,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10283,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10291
      start: 10207
    functionDepth: 1
    functionLinenumber: 10207
    functionLinenumberEnd: 10291
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_with_derived_vertical_CRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10520,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10520,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10521,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10522,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10680,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10680,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10681,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10682,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10685,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10685,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10686,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10687,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10689,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10690,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10690,1
    - Dst: ASSERT_GT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10691,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10691,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10693,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10694,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10703
      start: 10295
    functionDepth: 1
    functionLinenumber: 10295
    functionLinenumberEnd: 10703
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - ASSERT_GT
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_PROJJSON_with_non_metre_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10709,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10709,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10710,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10711,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10714,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10717,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10718,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10722,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10723,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10726
      start: 10707
    functionDepth: 1
    functionLinenumber: 10707
    functionLinenumberEnd: 10726
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_TRUE
    - PROJStringParser
    - DatabaseContext::create
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ossfuzz_18587)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10737,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10739,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10740,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10743,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10744,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10758,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10759,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10759,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10762,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10763,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10764,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10765,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10766,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10766,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10771,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10772,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10773,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10784,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10785,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10785,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10788,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10789,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10790,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10791,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10792,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10795
      start: 10736
    functionDepth: 1
    functionLinenumber: 10736
    functionLinenumberEnd: 10795
    functionName: derivedGeographicCRS_with_to_wgs84_to_geographicCRS::run
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_static_pointer_cast<CRS>
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void run(const CRSNNPtr &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10799
      start: 10798
    functionDepth: 0
    functionLinenumber: 10798
    functionLinenumberEnd: 10799
    functionName: "derivedGeographicCRS_with_to_wgs84_to_geographicCRS::\n    ~derivedGeographicCRS_with_to_wgs84_to_geographicCRS()"
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void derivedGeographicCRS_with_to_wgs84_to_geographicCRS::\n    ~derivedGeographicCRS_with_to_wgs84_to_geographicCRS()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10804,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10807,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10808,1
    - Dst: run
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10809,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10810
      start: 10803
    functionDepth: 1
    functionLinenumber: 10803
    functionLinenumberEnd: 10810
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(derivedGeographicCRS_with_to_wgs84_to_geographicCRS, src_from_proj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10818,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10821,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10822,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10823,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10823,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10824,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10824,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10825,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10826,1
    - Dst: run
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10827,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10828
      start: 10814
    functionDepth: 1
    functionLinenumber: 10814
    functionLinenumberEnd: 10828
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - DatabaseContext::create
    - run
    - NN_CHECK_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(derivedGeographicCRS_with_to_wgs84_to_geographicCRS, src_from_wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10833,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10835,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10836,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10838,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10839,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10841,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10841,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10847
      start: 10832
    functionDepth: 1
    functionLinenumber: 10832
    functionLinenumberEnd: 10847
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_spherical_ocentric_to_geographic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10852,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10854,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10855,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10857,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10858,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10859,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10860,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10860,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10866
      start: 10851
    functionDepth: 1
    functionLinenumber: 10851
    functionLinenumberEnd: 10866
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_geographic_to_spherical_ocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10871,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10873,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10874,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10876,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10878,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10879,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10881,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10882,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10882,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10883,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10884,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10884,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10889
      start: 10870
    functionDepth: 1
    functionLinenumber: 10870
    functionLinenumberEnd: 10889
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_spherical_ocentric_to_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10894,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10896,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10897,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10899,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10901,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10902,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10904,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10905,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10905,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10906,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10907,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10907,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10918
      start: 10893
    functionDepth: 1
    functionLinenumber: 10893
    functionLinenumberEnd: 10918
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_bound_of_spherical_ocentric_to_same_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10923,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10925,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10926,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10928,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10930,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10931,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10933,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10934,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10934,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10936,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10936,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10941
      start: 10922
    functionDepth: 1
    functionLinenumber: 10922
    functionLinenumberEnd: 10941
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_spherical_ocentric_to_projected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10947,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10949,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10950,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10952,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10954,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10955,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10957,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10958,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10958,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10959,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10960,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10960,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10965
      start: 10945
    functionDepth: 1
    functionLinenumber: 10945
    functionLinenumberEnd: 10965
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_spherical_ocentric_to_projected_of_spherical_ocentric)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10971,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10985,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10986,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:10988,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11004,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11005,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11008,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11009,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11009,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11010,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11011,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11011,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11011,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11016,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11017,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11017,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11018,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11019,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11019,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11022
      start: 10969
    functionDepth: 1
    functionLinenumber: 10969
    functionLinenumberEnd: 11022
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_spherical_ocentric_spherical_to_ellipsoidal_north_west)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11030,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11030,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11031,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11032,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11033,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11034,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11035,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11035,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11035,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11044,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11045,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11046,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11047,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11048,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11048,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11055
      start: 11026
    functionDepth: 1
    functionLinenumber: 11026
    functionLinenumberEnd: 11055
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_ellipsoidal_ographic_west_to_projected_of_ellipsoidal_ographic_west)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11063,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11063,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11064,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11065,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11066,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11067,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11068,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11068,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11068,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11076,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11077,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11078,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11079,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11080,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11080,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11086
      start: 11059
    functionDepth: 1
    functionLinenumber: 11059
    functionLinenumberEnd: 11086
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_ellipsoidal_ographic_west_to_projected_of_ellipsoidal_ocentric)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11094,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11094,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11095,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11096,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11097,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11099,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11099,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11099,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11108,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11109,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11110,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11112,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11112,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11119
      start: 11090
    functionDepth: 1
    functionLinenumber: 11090
    functionLinenumberEnd: 11119
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_ellipsoidal_ocentric_to_projected_of_ellipsoidal_ocentric)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11127,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11127,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11128,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11129,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11130,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11131,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11132,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11132,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11132,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11142,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11143,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11144,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11145,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11146,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11146,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11154
      start: 11123
    functionDepth: 1
    functionLinenumber: 11123
    functionLinenumberEnd: 11154
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_ellipsoidal_ocentric_to_projected_of_ellipsoidal_ographic_west)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11159,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11162,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11163,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11164,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11166,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11167,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11171,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11172,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11175
      start: 11158
    functionDepth: 1
    functionLinenumber: 11158
    functionLinenumberEnd: 11175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_TRUE
    - PROJStringParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ossfuzz_47873)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11226,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11227,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11228,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11231,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11231,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11232,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11236,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11240
      start: 11179
    functionDepth: 1
    functionLinenumber: 11179
    functionLinenumberEnd: 11240
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CRS>
    - NN_CHECK_ASSERT
    - auto::createCoordinateReferenceSystem
    - ASSERT_TRUE
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ossfuzz_47873_simplified_if_i_might_say)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11247,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11247,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11248,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11291,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11292,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11293,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11295,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11296,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11298,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11298,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11302
      start: 11244
    functionDepth: 1
    functionLinenumber: 11244
    functionLinenumberEnd: 11302
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_derived_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11349,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11350,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11351,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11353,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11354,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11355,1
    - Dst: createBoundVerticalCRS
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11355,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11356,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11359,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11359,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11370
      start: 11306
    functionDepth: 2
    functionLinenumber: 11306
    functionLinenumberEnd: 11370
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - CompoundCRS::create
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - createBoundVerticalCRS
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     geogCRS_to_compoundCRS_with_boundVerticalCRS_and_derivedProjected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11375,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11376,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11378,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11379,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11380,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11381,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11382,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11382,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11383,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11385,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11388,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11390,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11390,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11391,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11392,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11392,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11392,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11406,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11406,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11407,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11407,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11409
      start: 11374
    functionDepth: 1
    functionLinenumber: 11374
    functionLinenumberEnd: 11409
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_point_motion_operation_geog2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11414,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11415,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11417,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11418,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11419,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11420,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11421,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11421,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11422,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11424,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11427,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11429,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11429,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11430,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11430,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11431,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11431,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11431,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11443,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11443,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11444,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11444,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11446
      start: 11413
    functionDepth: 1
    functionLinenumber: 11413
    functionLinenumberEnd: 11446
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_point_motion_operation_geog3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11451,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11452,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11454,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11455,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11456,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11457,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11458,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11458,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11459,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11461,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11464,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11466,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11466,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11467,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11468,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11468,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11468,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11474,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11474,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11475,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11481,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11481,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11482,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11483,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11485
      start: 11450
    functionDepth: 1
    functionLinenumber: 11450
    functionLinenumberEnd: 11485
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - inverse
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_point_motion_operation_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11490,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11491,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11493,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11495,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11496,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11497,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11498,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11499,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11499,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11500,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11502,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11505,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11507,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11507,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11508,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11509,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11509,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11509,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11519,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11520,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11520,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11525
      start: 11489
    functionDepth: 1
    functionLinenumber: 11489
    functionLinenumberEnd: 11525
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_point_motion_operation_geocentric_to_geog3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11531,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11532,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11534,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11535,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11537,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11538,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11539,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11540,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11540,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11541,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11543,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11546,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11548,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11548,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11549,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11549,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11550,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11551,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11551,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11570,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11571
      start: 11529
    functionDepth: 1
    functionLinenumber: 11529
    functionLinenumberEnd: 11571
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_point_motion_operation_NAD83_CSRS_v7_TO_ITRF2014)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11577,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11578,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11580,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11581,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11583,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11584,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11585,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11586,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11586,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11587,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11589,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11592,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11594,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11594,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11595,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11595,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11596,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11597,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11597,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11615,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11616
      start: 11575
    functionDepth: 1
    functionLinenumber: 11575
    functionLinenumberEnd: 11616
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_point_motion_operation_ITRF2014_to_NAD83_CSRS_v7)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11621,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11622,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11623,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11624,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11625,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11626,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11627,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11627,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11628,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11630,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11633,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11635,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11635,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11636,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11637,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11637,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11649
      start: 11620
    functionDepth: 1
    functionLinenumber: 11620
    functionLinenumberEnd: 11649
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_point_motion_operation_nkg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11655,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11656,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11658,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11659,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11661,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11662,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11662,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11663,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11665,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11668,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11670,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11670,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11671,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11671,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11672,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11672,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11688
      start: 11653
    functionDepth: 1
    functionLinenumber: 11653
    functionLinenumberEnd: 11688
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateMetadata
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_compound_to_compound_with_point_motion_operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11694,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11695,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11697,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11698,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11700,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11701,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11701,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11702,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11704,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11708,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11710,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11710,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11711,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11711,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11712,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11713,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11713,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11722,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11724,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11724,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11725,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11725,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11726,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11727,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11736
      start: 11692
    functionDepth: 1
    functionLinenumber: 11692
    functionLinenumberEnd: 11736
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateMetadata
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_compound_to_compound_with_epoch_HT2_1997_CGG2013a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11742,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11743,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11745,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11746,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11748,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11749,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11749,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11750,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11752,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11756,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11758,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11758,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11759,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11759,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11760,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11761,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11761,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11770,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11772,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11772,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11773,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11773,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11774,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11775,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11784
      start: 11740
    functionDepth: 1
    functionLinenumber: 11740
    functionLinenumberEnd: 11784
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateMetadata
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_compound_to_compound_with_epoch_HT2_2002_CGG2013a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11790,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11791,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11793,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11794,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11796,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11797,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11797,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11798,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11800,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11804,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11806,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11806,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11807,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11808,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11809,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11809,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11818,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11820,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11820,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11821,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11822,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11823,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11832
      start: 11788
    functionDepth: 1
    functionLinenumber: 11788
    functionLinenumberEnd: 11832
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateMetadata
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     createOperation_compound_to_compound_with_epoch_HT2_2010_CGG2013a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11839,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11885,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11886,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11887,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11889,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11891,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11892,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11894,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11895,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11895,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11896,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11898,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11901,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11902,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11902,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11903,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11903,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11904,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11904,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11907,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11907,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11920
      start: 11836
    functionDepth: 1
    functionLinenumber: 11836
    functionLinenumberEnd: 11920
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - NN_NO_CHECK
    - std::string
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - auto::size
    - ASSERT_TRUE
    - hasBallparkTransformation
    - createFromUserInput
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - WKTParser
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_compound_to_compound_with_Geographic3D_Offset_by_velocity_grid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11927,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11928,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11929,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11931,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11933,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11934,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11934,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11935,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11937,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11940,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11942,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11942,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11943,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11943,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11944,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11944,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11960
      start: 11924
    functionDepth: 1
    functionLinenumber: 11924
    functionLinenumberEnd: 11960
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateMetadata
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    createOperation_compound_to_compound_with_point_motion_operation_special_case_CGVD2013a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11965,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11966,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11968,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11970,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11971,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11972,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11972,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11973,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11975,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11978,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11980,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11980,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11981,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11981,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11982,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11982,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:11982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11992
      start: 11964
    functionDepth: 1
    functionLinenumber: 11964
    functionLinenumberEnd: 11992
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_Geographic3D_Offset_by_velocity_grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12000,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12001,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12003,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12005,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12006,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12007,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12007,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12010,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12013,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12015,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12015,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12016,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12016,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12017,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12017,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12023,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12023,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12025
      start: 11996
    functionDepth: 1
    functionLinenumber: 11996
    functionLinenumberEnd: 12025
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - nameStr
    - hasBallparkTransformation
    - exportToPROJString
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - EXPECT_STREQ
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_test_createOperationsWithDatumPivot_iter_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12030,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12032,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12034,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12035,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12037,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12039,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12040,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12042,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12043,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12043,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12044,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12046,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12049,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12050,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12050,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12051,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12051,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12052,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12052,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12053,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12053,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12065
      start: 12029
    functionDepth: 1
    functionLinenumber: 12029
    functionLinenumberEnd: 12065
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_Vrtical_Offset_by_velocity_grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12070,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12072,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12073,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12074,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12076,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12077,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12078,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12080,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12081,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12081,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12082,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12084,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12087,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12088,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12088,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12089,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12089,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12090,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12090,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12091,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12091,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12097
      start: 12069
    functionDepth: 1
    functionLinenumber: 12069
    functionLinenumberEnd: 12097
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CRS>
    - ASSERT_GE
    - CoordinateOperationContext::create
    - auto::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_epsg_10622_local_orthographic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12102,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12103,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12103,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12104,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12105,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12106,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12108,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12111,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12113,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12115,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12123,1
    - Dst: gridsNeeded
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12124,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12132
      start: 12101
    functionDepth: 1
    functionLinenumber: 12101
    functionLinenumberEnd: 12132
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - gridsNeeded
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ITRF2000_to_ETRS89)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12137,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12138,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12138,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12139,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12140,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12141,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12143,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12146,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12148,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12150,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12151,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12151,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12152,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12153,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12153,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12166
      start: 12136
    functionDepth: 1
    functionLinenumber: 12136
    functionLinenumberEnd: 12166
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - hasBallparkTransformation
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ITRF2014_to_ETRS89_DNK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12171,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12172,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12172,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12173,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12174,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12175,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12177,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12180,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12182,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12184,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12185,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12185,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12187,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12187,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12194,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12195,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12195,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12195,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12208,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12209,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12209,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12209,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12211,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12211,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12214,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12214,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12215,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12215,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12215,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12217,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12217,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12218,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12218,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12219
      start: 12170
    functionDepth: 1
    functionLinenumber: 12170
    functionLinenumberEnd: 12219
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - coordinateOperationAccuracies
    - nameStr
    - value
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - std::string
    - ASSERT_GE
    - auto::size
    - EXPECT_STREQ
    - hasBallparkTransformation
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ETRS89_XXX_to_ETRS89_YYY_using_ETRF2000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12224,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12225,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12226,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12228,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12229,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12230,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12231,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12231,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12232,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12234,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12238,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12240,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12240,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12242,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12242,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12242,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12250,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12250,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12251,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12260,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12262,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12263,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12263,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12263,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12271,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12271,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12280
      start: 12223
    functionDepth: 1
    functionLinenumber: 12223
    functionLinenumberEnd: 12280
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_time_dependent_helmert_directly_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12285,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12286,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12287,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12288,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12289,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12290,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12291,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12291,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12292,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12294,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12298,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12300,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12300,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12302,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12302,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12311,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12311,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12312,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12322,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12324,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12325,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12325,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12325,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12334,1
    - Dst: inverse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12334,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12344
      start: 12284
    functionDepth: 1
    functionLinenumber: 12284
    functionLinenumberEnd: 12344
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - inverse
    - PROJStringFormatter::create
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - CoordinateMetadata::create
    - exportToPROJString
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_defmodel_from_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12355,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12355,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12370,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12371,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12374,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12376,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12377,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12378,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12379,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12380,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12386,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12387,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12390,1
    - Dst: auto::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12392,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12394,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12395,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12396,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12397,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12404
      start: 12353
    functionDepth: 1
    functionLinenumber: 12353
    functionLinenumberEnd: 12404
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - auto::setSourceAndTargetCRSExtentUse
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, compoundCRS_to_compoundCRS_context_extent_use_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12409,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12410,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12410,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12411,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12412,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12413,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12415,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12419,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12421,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12423,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12424,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12424,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12427,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12428,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12436,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12438,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12440,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12441,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12441,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12444,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12451
      start: 12408
    functionDepth: 1
    functionLinenumber: 12408
    functionLinenumberEnd: 12451
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ETRF2000_to_Amersfoort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12456,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12457,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12457,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12458,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12459,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12460,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12462,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12466,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12468,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12470,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12471,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12471,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12474,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12474,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12479,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12481,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12483,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12484,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12487,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operationfactory.cpp:12487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12491
      start: 12455
    functionDepth: 1
    functionLinenumber: 12455
    functionLinenumberEnd: 12491
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operationfactory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GE
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - nameStr
    - auto::setSpatialCriterion
    - DatabaseContext::create
    - auto::setGridAvailabilityUse
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createOperation_ETRS89_to_Amersfoort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:66,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:66,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:67,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:68,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:68,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:71,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:72,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:72,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:73,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:73,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:75,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:75,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:76,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:76,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:77,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:77,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:78,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:78,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:79,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:79,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:82,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:83,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:83,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:84,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:85,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:85,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:86,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:86,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:89,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:89,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:93,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:93,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:94,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:95,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:95,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:95,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:100,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:100,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:101,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:102,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:102,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:102,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:103,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:103,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:103,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:104,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:104,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:107,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:107,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:111,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:111,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:112,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:113,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:113,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:114,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:114,1
    - Dst: children
      Src: /src/PROJ/test/unit/test_io.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:115,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:115,1
    - Dst: children
      Src: /src/PROJ/test/unit/test_io.cpp:115,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:116,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:116,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:119,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:119,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:125,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:129,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 131
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - value
    - EXPECT_TRUE
    - WKTNode::createFrom
    - ASSERT_EQ
    - auto::toString
    - EXPECT_EQ
    - auto::children
    - children
    - EXPECT_THROW
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(io, wkt_parsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:138,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - WKTNode::createFrom
    - auto::toString
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, wkt_parsing_with_parenthesis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:145,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:146,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:146,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:147,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:147,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:149,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - value
    - WKTNode::createFrom
    - auto::toString
    - EXPECT_EQ
    - EXPECT_THROW
    - auto::children
    linkageType: ''
    returnType: void
    signature: void TEST(io, wkt_parsing_with_double_quotes_inside)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/test/unit/test_io.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:160,1
    - Dst: auto::children
      Src: /src/PROJ/test/unit/test_io.cpp:160,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:160,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:161,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - value
    - WKTNode::createFrom
    - auto::toString
    - EXPECT_EQ
    - auto::children
    linkageType: ''
    returnType: void
    signature: void TEST(io, wkt_parsing_with_printed_quotes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:167,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:169,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:170,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:171,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_io.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - auto::isSphere
    - nn_dynamic_pointer_cast<Ellipsoid>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:177,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:184,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:185,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:186,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:187,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:187,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:188,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:189,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:190,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:191,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - auto::ellipsoid
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::primeMeridian
    - EXPECT_FALSE
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    - auto::has_value
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, datum_with_ANCHOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:197,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:203,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:204,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:205,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:206,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:206,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:207,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/test/unit/test_io.cpp:207,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:208,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::convertToUnit
    - EXPECT_FALSE
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    - auto::has_value
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, datum_with_ANCHOREPOCH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:219,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, datum_with_invalid_ANCHOREPOCH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:230,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, datum_with_invalid_ANCHOREPOCH_too_many_children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:245,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:246,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:247,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:248,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:249,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:250,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::primeMeridian
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, datum_with_pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:258,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:261,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:263,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:263,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:264,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - auto::primeMeridian
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, datum_no_pm_not_earth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:270,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:271,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:275,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:276,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:277,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, guess_celestial_body_from_ellipsoid_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:283,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:284,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:288,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:289,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:290,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, guess_celestial_body_from_ellipsoid_name_false_positive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:296,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:307,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:308,1
    - Dst: std::dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:310,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:310,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:311,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:313,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:314,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:315,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:315,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_io.cpp:316,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/test/unit/test_io.cpp:317,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:318,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::anchorDefinition
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - std::dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - ASSERT_TRUE
    - WKTParser
    - Measure
    - auto::deformationModelName
    - auto::has_value
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, dynamic_geodetic_reference_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:324,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:335,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:336,1
    - Dst: std::dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:338,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:338,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:339,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:340,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:341,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:342,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:343,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:343,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_io.cpp:344,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/test/unit/test_io.cpp:345,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:346,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:346,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 348
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::anchorDefinition
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - std::dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - ASSERT_TRUE
    - WKTParser
    - Measure
    - auto::deformationModelName
    - auto::has_value
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, dynamic_geodetic_reference_frame_with_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:353,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:364,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:365,1
    - Dst: std::dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:367,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:367,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:368,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:369,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:370,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:370,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:371,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:372,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:372,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_io.cpp:373,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/test/unit/test_io.cpp:374,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:375,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 377
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::anchorDefinition
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - std::dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - ASSERT_TRUE
    - WKTParser
    - Measure
    - auto::deformationModelName
    - auto::has_value
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, dynamic_geodetic_reference_frame_with_velocitygrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:382,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:400,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:401,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:402,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:402,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:403,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_io.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:404,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_io.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 405
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_EQ
    - auto::datumEnsemble
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, geogcrs_with_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:426,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_geogcrs_with_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:442,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:443,1
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/test/unit/test_io.cpp:445,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:445,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:446,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_io.cpp:447,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_io.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_GE
    - auto::datumEnsemble
    - ASSERT_TRUE
    - dynamic_cast<const GeodeticCRS *>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ensemble_without_members)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:463,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ensemble_without_members_no_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:479,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:479,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ensemble_without_members_unknown_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:490,1
    - Dst: GeographicCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:491,1
    - Dst: GeographicCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:491,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:492,1
    - Dst: GeographicCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:492,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:492,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:494,1
    - Dst: GeographicCRSPtr::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:494,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:496,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:497,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:497,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:499,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:499,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:499,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:500,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:500,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:501,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:501,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:502,1
    - Dst: tolower
      Src: /src/PROJ/test/unit/test_io.cpp:502,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:502,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:502,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:503,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:503,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:503,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:505,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:505,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:505,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:506,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:506,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:507,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:508,1
    - Dst: tolower
      Src: /src/PROJ/test/unit/test_io.cpp:508,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:508,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:509,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:509,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:511,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:511,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:511,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:512,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:512,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:512,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:513,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:513,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:515,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:515,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:516,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:516,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:517,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:517,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:517,1
    - Dst: GeographicCRSPtr::datum
      Src: /src/PROJ/test/unit/test_io.cpp:520,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:522,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:523,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:523,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:524,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:524,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:524,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:526,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:526,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:529,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_io.cpp:529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:530,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_io.cpp:530,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:531,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_io.cpp:531,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:533,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:534,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:534,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:534,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:535,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:535,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:535,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:537,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - crs
    argTypes:
    - GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 538
    functionName: checkEPSG_4326
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GeographicCRSPtr::identifiers
    - GeographicCRSPtr::nameStr
    - nameStr
    - codeSpace
    - auto::inverseFlattening
    - code
    - auto::nameStr
    - ASSERT_EQ
    - tolower
    - auto::semiMajorAxis
    - direction
    - GeographicCRSPtr::datum
    - auto::ellipsoid
    - GeographicCRSPtr::coordinateSystem
    - abbreviation
    - auto::identifiers
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: "void checkEPSG_4326(GeographicCRSPtr crs, bool latLong = true,\n                           bool
      checkEPSGCodes = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:543,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:554,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:555,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:563,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:564,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:576,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:577,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:579,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:580,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:580,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:581,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:581,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:582,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:582,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:582,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:583,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 584
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - auto::identifiers
    - codeSpace
    - WKTParser
    - DatabaseContext::create
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_EPSG_4267)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:589,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:603,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:604,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:606,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:608,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:608,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:610,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 611
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::primeMeridian
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    - auto::longitude
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_EPSG_4807_grad_mess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:617,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:618,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:623,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:624,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:626,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:627,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:628,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:628,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:630,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:630,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:631,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 632
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::primeMeridian
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - EXPECT_NEAR
    - auto::datum
    - auto::longitude
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_EPSG_4901_grad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:642,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:643,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:645,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:646,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:648,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:648,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:649,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:649,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:651,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:651,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:653,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - auto::size
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_LINUNIT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:662,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:682,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:683,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:685,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:686,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:687,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:687,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:688,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 689
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::primeMeridian
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - EXPECT_NEAR
    - auto::datum
    - auto::longitude
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_epsg_org_EPSG_4901_PRIMEM_weird_sexagesimal_DMS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:706,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:707,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:709,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:710,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:713,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 716
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_old_datum_name_from_EPSG_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:728,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:729,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:731,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:732,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:734,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:735,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 738
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_old_datum_name_without_EPSG_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:753,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:754,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:756,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:757,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:759,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:759,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:760,1
    - Dst: auto::isDeprecated
      Src: /src/PROJ/test/unit/test_io.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 761
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - auto::isDeprecated
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:797,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:799,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:800,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:801,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:802,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:803,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:806,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:807,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:808,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:812,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:813,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:813,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:816,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:817,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 820
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_with_PROJ4_extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:837,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:838,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:839,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:841,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:842,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 843
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_epsg_org_api_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:860,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:861,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:862,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:864,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:865,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 866
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_epsg_org_api_4258)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:875,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:875,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:877,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:878,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:879,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:881,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:882,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:882,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:883,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:883,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 884
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - EXPECT_THROW
    - WKTParser
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geographic_missing_unit_and_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:898,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:900,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:901,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:902,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:903,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:904,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:907,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:908,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:909,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:913,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:914,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 916
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geocentric_with_PROJ4_extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:925,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:925,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:927,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:928,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:929,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:931,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:932,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:932,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:933,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:933,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 934
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - EXPECT_THROW
    - WKTParser
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geocentric_missing_unit_and_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:943,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:947,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:948,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:949,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 950
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_non_conformant_inf_inverse_flattening)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:955,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:959,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:960,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:961,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:961,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:962,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 963
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_GCS_unknown_D_unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:968,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:972,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:973,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:974,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:974,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:975,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 976
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_GCS_unknown_D_Unknown_based_on_WGS_84_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:981,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:982,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:983,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_GEODCRS_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:990,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:991,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:992,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_long_GEODETICCRS_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:999,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1000,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1001,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_GEOGCRS_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1009,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1010,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1011,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1013
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_long_GEOGRAPHICCRS_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1018,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1028,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1029,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1031
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_simplified_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1036,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1045,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1046,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1048
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_GEODETICDATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1053,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1062,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1063,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1065
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkEPSG_4326
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_TRF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1070,1
    - Dst: GeographicCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:1070,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1071,1
    - Dst: GeographicCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:1071,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:1071,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1072,1
    - Dst: GeographicCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:1072,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:1072,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1073,1
    - Dst: GeographicCRSPtr::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1073,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:1075,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1076,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1077,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1077,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1077,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1078,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1078,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1079,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1079,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1079,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1081,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1081,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1081,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1082,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1082,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1083,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1083,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1085,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1085,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1086,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1086,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1086,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1087,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1087,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1087,1
    - Dst: GeographicCRSPtr::datum
      Src: /src/PROJ/test/unit/test_io.cpp:1089,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1090,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1090,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:1092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1093,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_io.cpp:1093,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1094,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_io.cpp:1094,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1095,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_io.cpp:1095,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1096,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - crs
    argTypes:
    - GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1097
    functionName: checkEPSG_4979
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::ellipsoid
    - EXPECT_EQ
    - GeographicCRSPtr::coordinateSystem
    - GeographicCRSPtr::datum
    - GeographicCRSPtr::identifiers
    - GeographicCRSPtr::nameStr
    - nameStr
    - abbreviation
    - codeSpace
    - auto::inverseFlattening
    - auto::semiMajorAxis
    - direction
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void checkEPSG_4979(GeographicCRSPtr crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1102,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1114,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1115,1
    - Dst: checkEPSG_4979
      Src: /src/PROJ/test/unit/test_io.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1117
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeographicCRS>
    - checkEPSG_4979
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_EPSG_4979)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1140,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1141,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1143,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/test/unit/test_io.cpp:1143,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1144,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1145,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1148
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::isSphericalPlanetocentric
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_spherical_planetocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1154,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/test/unit/test_io.cpp:1154,1
    - Dst: GeodeticCRSPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:1154,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1156,1
    - Dst: GeodeticCRSPtr::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1156,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1158,1
    - Dst: GeodeticCRSPtr::isGeocentric
      Src: /src/PROJ/test/unit/test_io.cpp:1158,1
    - Dst: GeodeticCRSPtr::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:1159,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1160,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1160,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1162,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1162,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1162,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1163,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1163,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1163,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1164,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1164,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1166,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1166,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1166,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1167,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1167,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1167,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1168,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1168,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1170,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1170,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1171,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1171,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1171,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1172,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1172,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1172,1
    - Dst: GeodeticCRSPtr::datum
      Src: /src/PROJ/test/unit/test_io.cpp:1174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1175,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1175,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:1177,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1178,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_io.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1179,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_io.cpp:1179,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1180,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_io.cpp:1180,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1181,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1181,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_io.cpp:1183,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1184,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - crs
    argTypes:
    - GeodeticCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1185
    functionName: checkGeocentric
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - nameStr
    - auto::inverseFlattening
    - GeodeticCRSPtr::coordinateSystem
    - GeodeticCRSPtr::isGeocentric
    - GeodeticCRSPtr::nameStr
    - auto::nameStr
    - ASSERT_EQ
    - dynamic_cast<GeographicCRS *>
    - GeodeticCRSPtr::datum
    - auto::semiMajorAxis
    - direction
    - auto::primeMeridian
    - GeodeticCRSPtr::get
    - auto::ellipsoid
    - abbreviation
    - auto::longitude
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void checkGeocentric(GeodeticCRSPtr crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1216,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1217,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1218,1
    - Dst: checkGeocentric
      Src: /src/PROJ/test/unit/test_io.cpp:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1220
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - checkGeocentric
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1234,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1235,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1236,1
    - Dst: checkGeocentric
      Src: /src/PROJ/test/unit/test_io.cpp:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1224
    functionDepth: 2
    functionLinenumber: 1224
    functionLinenumberEnd: 1238
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - checkGeocentric
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_simplified_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1256,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1257,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1258,1
    - Dst: checkGeocentric
      Src: /src/PROJ/test/unit/test_io.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1260
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - checkGeocentric
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1278,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1279,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1280,1
    - Dst: checkGeocentric
      Src: /src/PROJ/test/unit/test_io.cpp:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1282
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - checkGeocentric
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_geocentric_with_z_OTHER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1287,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1300,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1321,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1322,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1325
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_geocentric_DEFININGTRANSFORMATION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1330,1
    - Dst: ProjectedCRSPtr::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1330,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1331,1
    - Dst: ProjectedCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:1331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1332,1
    - Dst: ProjectedCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:1332,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:1332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1333,1
    - Dst: ProjectedCRSPtr::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:1333,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:1333,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1335,1
    - Dst: ProjectedCRSPtr::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1335,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1336,1
    - Dst: checkEPSG_4326
      Src: /src/PROJ/test/unit/test_io.cpp:1337,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_io.cpp:1337,1
    - Dst: ProjectedCRSPtr::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:1339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1340,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1340,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_io.cpp:1341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1342,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1342,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_io.cpp:1343,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1344,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:1344,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:1347,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1348,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:1349,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:1350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1351,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1352,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:1352,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1353,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1354,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:1354,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1355,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1355,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:1359,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1360,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:1361,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:1362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1363,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1364,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:1364,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1366,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:1366,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1367,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1367,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:1371,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1372,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:1373,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:1374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1376,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:1376,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1377,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1378,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:1378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1379,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1379,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:1383,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1384,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:1385,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1387,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1388,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:1388,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1390,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:1390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1391,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1391,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:1395,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1396,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:1397,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:1398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1400,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:1400,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1401,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1402,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:1402,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1403,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:1403,1
    - Dst: ProjectedCRSPtr::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:1406,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1407,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1407,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1409,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1409,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1410,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1410,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1410,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1411,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1411,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1413,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1413,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:1413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1414,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1414,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:1414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1415,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1415,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 1
    argNames:
    - crs
    argTypes:
    - ProjectedCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1416
    functionName: checkProjected
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ProjectedCRSPtr::coordinateSystem
    - auto::parameterValues
    - EXPECT_EQ
    - auto::parameter
    - nameStr
    - ProjectedCRSPtr::baseCRS
    - codeSpace
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::method
    - NN_CHECK_ASSERT
    - direction
    - ProjectedCRSPtr::derivingConversion
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - auto::size
    - ProjectedCRSPtr::identifiers
    - ASSERT_TRUE
    - checkEPSG_4326
    - ProjectedCRSPtr::nameStr
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::unit
    - abbreviation
    - auto::parameterValue
    - auto::type
    - auto::value
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void checkProjected(ProjectedCRSPtr crs, bool checkEPSGCodes = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1443,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:1444,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1446,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1447,1
    - Dst: checkProjected
      Src: /src/PROJ/test/unit/test_io.cpp:1448,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1450,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1420
    functionDepth: 3
    functionLinenumber: 1420
    functionLinenumberEnd: 1451
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::baseCRS
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - checkProjected
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_projected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1478,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1479,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1480,1
    - Dst: checkProjected
      Src: /src/PROJ/test/unit/test_io.cpp:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1482
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkProjected
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_projected_no_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1510,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/test/unit/test_io.cpp:1511,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:1512,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1513,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1514,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/test/unit/test_io.cpp:1514,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1515,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1516,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1518,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1518,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1520,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1521,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1522,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1522,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1523,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1523,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:1523,1
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1526,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/test/unit/test_io.cpp:1527,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:1529,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1530,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1531,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/test/unit/test_io.cpp:1531,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1532,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1533,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1535,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1537
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTParser::createFromWKT
    - ASSERT_EQ
    - WKTParser::WKTParser
    - auto::baseCRS
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser::warningList
    - DatabaseContext::create
    - WKTParser::setStrict
    - direction
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_projected_wrong_axis_geogcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1562,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/test/unit/test_io.cpp:1563,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:1564,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1565,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1566,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/test/unit/test_io.cpp:1566,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1567,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1568,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1571,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1571,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1573,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1574,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1574,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:1575,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1575,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:1575,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_io.cpp:1576,1
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1579,1
    - Dst: WKTParser::setUnsetIdentifiersIfIncompatibleDef
      Src: /src/PROJ/test/unit/test_io.cpp:1580,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:1581,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1582,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1583,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/test/unit/test_io.cpp:1583,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1584,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1585,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1588,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1588,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:1590,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1591,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1591,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:1592,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1592,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:1592,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_io.cpp:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1595
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_TRUE
    - WKTParser::createFromWKT
    - ASSERT_EQ
    - unit
    - WKTParser::WKTParser
    - auto::baseCRS
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser::warningList
    - DatabaseContext::create
    - EXPECT_NEAR
    - WKTParser::setUnsetIdentifiersIfIncompatibleDef
    - WKTParser::setStrict
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_projected_wrong_angular_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1615,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1617,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1618,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1619,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1620,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1621,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1624,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:1625,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1626,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1630,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1631,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1631,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1634,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1635,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1638
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_projected_with_PROJ4_extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:1658,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1658,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1660,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1661,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1662,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:1664,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1665,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1665,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1666,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:1666,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1667
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_projected_missing_unit_and_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1687,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1689,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1690,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1691,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1692,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1693,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:1693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1694
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_Mercator_1SP_with_latitude_origin_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1713,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/test/unit/test_io.cpp:1714,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:1714,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1715,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1716,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/test/unit/test_io.cpp:1716,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1718,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1719,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1720,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1721,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1722,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:1722,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1725,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:1725,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1728
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - WKTParser::createFromWKT
    - WKTParser::WKTParser
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser::warningList
    - DatabaseContext::create
    - auto::exportToWKT
    - WKTParser::setStrict
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_Mercator_1SP_without_scale_factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1759,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1760,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1761,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1763,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:1763,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1807,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1807,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1807,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:1810,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1810,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1815,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:1817,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1819,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1820,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1820,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1821,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:1821,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1822,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:1823,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1826,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:1827,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1830,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:1830,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1830,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:1833,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1840,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1841,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1842,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1842,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1843,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1844
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_krovak_south_west)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1875,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1876,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1879,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:1879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1882,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1883,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1883,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1925,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:1925,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1929
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_krovak_north_oriented)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:1982,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:1983,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:1984,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1986,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:1986,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:1989,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:1990,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1991,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:1995,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:1995,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2000,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:2002,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2003,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2004,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2005,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2005,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2006,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2006,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2008,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2009,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2012,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2013,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2016,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2016,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2016,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:2019,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2026,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2027,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2028,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2028,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2029,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 2031
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_krovak_modified_south_west)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2084,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2085,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2086,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2088,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:2088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2091,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2092,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2093,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2097,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2097,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2102,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:2104,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2105,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2106,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2107,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2107,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2108,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2111,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2112,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2115,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2119,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2119,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2119,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:2122,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2128,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2129,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2130,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2131,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2134
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_krovak_modified_east_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2157,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2158,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2159,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2161,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2162,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2167,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2169,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2169,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:2169,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2170,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2170,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:2170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2172,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2172,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:2172,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2173,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2173,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::coordinateSystem
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_polar_stereographic_latitude_of_origin_70)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2198,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2199,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2200,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2202,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2202,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:2202,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2203,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2203,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:2203,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2205,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2205,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:2205,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2206,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2206,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2208
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_polar_stereographic_latitude_of_origin_minus_70)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2231,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2232,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2233,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2235,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2242
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_polar_stereographic_latitude_of_origin_90)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2266,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2267,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2268,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2270,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2246
    functionDepth: 1
    functionLinenumber: 2246
    functionLinenumberEnd: 2277
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_polar_stereographic_latitude_of_origin_90_scale_factor_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2301,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2302,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2303,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2305,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2306,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2311
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_polar_stereographic_scale_factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2334,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2335,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2336,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2338,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2315
    functionDepth: 1
    functionLinenumber: 2315
    functionLinenumberEnd: 2344
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_Spherical_Cross_Track_Height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2364,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2365,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2366,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2369,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2370,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2371,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2348
    functionDepth: 1
    functionLinenumber: 2348
    functionLinenumberEnd: 2374
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_hotine_oblique_mercator_without_rectified_grid_angle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2395,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2396,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2397,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2400,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2401,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2402,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2378
    functionDepth: 1
    functionLinenumber: 2378
    functionLinenumberEnd: 2405
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_hotine_oblique_mercator_with_rectified_grid_angle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2427,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2428,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2429,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2432,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2433,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2434,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2409
    functionDepth: 1
    functionLinenumber: 2409
    functionLinenumberEnd: 2437
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     wkt1_hotine_oblique_mercator_azimuth_center_with_rectified_grid_angle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2480,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2481,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2482,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2491,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2492,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2441
    functionDepth: 1
    functionLinenumber: 2441
    functionLinenumberEnd: 2496
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(proj_export, wkt2_hotine_oblique_mercator_without_rectified_grid_angle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2552,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2553,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2554,1
    - Dst: checkProjected
      Src: /src/PROJ/test/unit/test_io.cpp:2555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2556
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkProjected
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_projected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2578,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2579,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2580,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2581,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:2581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2582,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:2582,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2585,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2586,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2587,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2587,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2592,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2593,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2595,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2560
    functionDepth: 1
    functionLinenumber: 2560
    functionLinenumberEnd: 2598
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::baseCRS
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_projected_with_id_in_basegeodcrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2619,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2620,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2621,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2623,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2624,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2625,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:2625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2602
    functionDepth: 1
    functionLinenumber: 2602
    functionLinenumberEnd: 2627
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_projected_no_id_but_id_in_basegeodcrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2649,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2650,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2651,1
    - Dst: checkProjected
      Src: /src/PROJ/test/unit/test_io.cpp:2652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2631
    functionDepth: 3
    functionLinenumber: 2631
    functionLinenumberEnd: 2653
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - checkProjected
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_simplified_projected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2680,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2681,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2684,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2685,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2686,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:2691,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2692,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2693,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:2696,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2696,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2698
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - EXPECT_NO_THROW
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_projected_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2726,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2727,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2730,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2731,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2732,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:2736,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2737,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2738,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:2741,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2741,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2702
    functionDepth: 1
    functionLinenumber: 2702
    functionLinenumberEnd: 2743
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - EXPECT_NO_THROW
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_projected_utm_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:2791,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2793,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2794,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2795,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2796,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:2796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2747
    functionDepth: 1
    functionLinenumber: 2747
    functionLinenumberEnd: 2797
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::baseCRS
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_projected_with_base_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2841,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2842,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2843,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2845,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:2846,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2801
    functionDepth: 1
    functionLinenumber: 2801
    functionLinenumberEnd: 2851
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt2_2019_eqdc_non_epsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2856,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2878,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2880,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:2880,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:2880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2855
    functionDepth: 1
    functionLinenumber: 2855
    functionLinenumberEnd: 2882
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - unit
    - EXPECT_EQ
    - auto::baseCRS
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_angular_unit_from_primem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2902,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2903,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2904,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2905,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2905,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2906,1
    - Dst: auto::meridian
      Src: /src/PROJ/test/unit/test_io.cpp:2907,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2908,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2909,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:2909,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2910,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_io.cpp:2910,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2911,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2911,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_io.cpp:2911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2912
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::meridian
    - meridian
    - WKTParser
    - auto::longitude
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_MERIDIAN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2928,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2930,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2931,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:2931,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2932,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:2932,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2933,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:2933,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:2933,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2934,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:2934,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:2934,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2935,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:2935,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:2935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2936,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:2936,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:2936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2937
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - code
    - auto::nameStr
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::identifiers
    - codeSpace
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_multiple_ID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:2965,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:2966,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2967,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2968,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2968,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2970,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:2971,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/test/unit/test_io.cpp:2971,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:2972,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/test/unit/test_io.cpp:2972,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:2973,1
    - Dst: auto::rangeMeaning
      Src: /src/PROJ/test/unit/test_io.cpp:2973,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:2976,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2977,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/test/unit/test_io.cpp:2977,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2978,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/test/unit/test_io.cpp:2978,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2979,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/test/unit/test_io.cpp:2979,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2980,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/test/unit/test_io.cpp:2980,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:2981,1
    - Dst: auto::rangeMeaning
      Src: /src/PROJ/test/unit/test_io.cpp:2981,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2982,1
    - Dst: auto::rangeMeaning
      Src: /src/PROJ/test/unit/test_io.cpp:2982,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:2985,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:2986,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:2987,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:2988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 2989
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::minimumValue
    - EXPECT_FALSE
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    - auto::maximumValue
    - replaceAll
    - auto::rangeMeaning
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_AXISMINVAL_AXISMAXVAL_RANGEMEANING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3014,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 3015
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_invalid_AXISMINVAL_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3040,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3019
    functionDepth: 0
    functionLinenumber: 3019
    functionLinenumberEnd: 3041
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_invalid_AXISMINVAL_too_many_children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3066,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3067
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_invalid_AXISMAXVAL_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3092,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3093
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_invalid_AXISMAXVAL_too_many_children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3120,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3121
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_invalid_RANGEMEANING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3148,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3149
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, cs_with_invalid_RANGEMEANING_too_many_children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3161,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3162,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3163,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3164,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3164,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3165,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3166,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3166,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3166,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3167,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3167,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3167,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3169,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3170,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3170,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3175,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3176,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3176,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3177,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3177,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3177,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3178,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3178,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:3178,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3179,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3179,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3153
    functionDepth: 1
    functionLinenumber: 3153
    functionLinenumberEnd: 3180
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nameStr
    - abbreviation
    - auto::identifiers
    - codeSpace
    - WKTParser
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3192,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3193,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3195
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3195
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<VerticalCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_VRF_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3209,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3210,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3212,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:3213,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:3214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3216
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_with_GEOIDMODEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3229,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3230,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3231,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3232,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3232,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3233,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3233,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3234,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3234,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3235,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3235,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3235,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3237,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3238,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3238,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3239,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3239,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3240,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3240,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3240,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3241,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3241,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3241,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3243,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3244,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3245,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3245,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3245,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3246,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3246,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:3246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3247,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3247,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3220
    functionDepth: 1
    functionLinenumber: 3220
    functionLinenumberEnd: 3248
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nameStr
    - abbreviation
    - auto::identifiers
    - codeSpace
    - WKTParser
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3257,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3258,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3259,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3259,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3262,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3262,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3264,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3265,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3266,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3266,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3267,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3267,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3267,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3268,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3268,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:3268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3252
    functionDepth: 1
    functionLinenumber: 3252
    functionLinenumberEnd: 3269
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - nameStr
    - WKTParser
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT1_GDAL_minimum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3278,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3278,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3280,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3281,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3282,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3282,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3284,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3285,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3285,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3287,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3288,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3288,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3289,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3289,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3289,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3290,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3290,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3290,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3291,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3291,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:3291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3273
    functionDepth: 1
    functionLinenumber: 3273
    functionLinenumberEnd: 3292
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - nameStr
    - EXPECT_THROW
    - WKTParser
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT1_GDAL_missing_unit_and_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:3302,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3302,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3304,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3306,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3306,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3309,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3309,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3311,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3312,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3312,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3313,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3313,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3314,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3314,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3315,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3315,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:3315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3296
    functionDepth: 1
    functionLinenumber: 3296
    functionLinenumberEnd: 3316
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - nameStr
    - EXPECT_THROW
    - WKTParser
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT1_GDAl_missing_unit_with_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3325,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3326,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3327,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3328,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3328,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3330,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3331,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3331,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3333,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3334,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3335,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3335,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3337,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3320
    functionDepth: 1
    functionLinenumber: 3320
    functionLinenumberEnd: 3339
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, VERTCS_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3348,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:3349,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3351,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3352,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3353,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3353,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3355,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3356,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3356,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3358,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3359,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3359,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3360,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3360,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3362,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3343
    functionDepth: 1
    functionLinenumber: 3343
    functionLinenumberEnd: 3364
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, VERTCS_WKT1_ESRI_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3373,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3374,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3375,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3377,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3378,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3379,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:3379,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:3379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3368
    functionDepth: 1
    functionLinenumber: 3368
    functionLinenumberEnd: 3380
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    - direction
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, VERTCS_WKT1_ESRI_down)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3391,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3392,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3393,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3394,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3394,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3395,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3395,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3396,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3396,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3396,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3397,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3397,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3397,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/test/unit/test_io.cpp:3399,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3400,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_io.cpp:3400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3401,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3401,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3404,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3404,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3405,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3405,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3406,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3406,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3406,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3407,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3407,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3407,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3410,1
    - Dst: auto::direction
      Src: /src/PROJ/test/unit/test_io.cpp:3410,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3411,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:3411,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:3412,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:3412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3384
    functionDepth: 1
    functionLinenumber: 3384
    functionLinenumberEnd: 3413
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::empty
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nameStr
    - auto::unit
    - auto::identifiers
    - codeSpace
    - WKTParser
    - auto::direction
    - EXPECT_NEAR
    - auto::geoidModel
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT1_LAS_ftUS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3424,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3425,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3426,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3427,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3427,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3428,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3428,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3429,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3429,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3429,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3430,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3430,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3430,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/test/unit/test_io.cpp:3432,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3433,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_io.cpp:3433,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3434,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3434,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3436,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3437,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3437,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3438,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3438,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3439,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3439,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3439,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3440,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3440,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3440,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3442,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3443,1
    - Dst: auto::direction
      Src: /src/PROJ/test/unit/test_io.cpp:3443,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3444,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:3444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3445
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::empty
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nameStr
    - auto::unit
    - auto::identifiers
    - codeSpace
    - WKTParser
    - auto::direction
    - auto::geoidModel
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_WKT1_LAS_metre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3480,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3481,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3482,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3483,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_io.cpp:3484,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3485,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3486,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3486,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3487,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3487,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3488,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3488,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3488,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/test/unit/test_io.cpp:3490,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3491,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_io.cpp:3491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3492,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3492,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3494,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3495,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3495,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3496,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3496,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3497,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3497,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3497,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3498,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3498,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3498,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3500,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3501,1
    - Dst: auto::direction
      Src: /src/PROJ/test/unit/test_io.cpp:3501,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3502,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:3502,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:3503,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:3503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3449
    functionDepth: 1
    functionLinenumber: 3449
    functionLinenumberEnd: 3504
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - EXPECT_EQ
    - nameStr
    - codeSpace
    - auto::geoidModel
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::direction
    - EXPECT_NEAR
    - auto::datum
    - auto::componentReferenceSystems
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::unit
    - auto::identifiers
    - WKTParser
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, compoundcrs_WKT1_LAS_only_geoid_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3509,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3517,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3518,1
    - Dst: std::dynamic_pointer_cast<DynamicVerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:3520,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3520,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3521,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:3522,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3523,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:3523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3524,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3525,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:3525,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_io.cpp:3526,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/test/unit/test_io.cpp:3527,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3528,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:3528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3530
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - std::dynamic_pointer_cast<DynamicVerticalReferenceFrame>
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    - Measure
    - auto::deformationModelName
    - auto::has_value
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, dynamic_vertical_reference_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3535,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3544,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3545,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3546,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:3546,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3547,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_io.cpp:3547,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3548,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_io.cpp:3548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3549
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::datumEnsemble
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vertcrs_with_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3554,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:3557,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3558,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:3559,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3560,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:3560,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3561,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:3562,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:3562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3553
    functionDepth: 0
    functionLinenumber: 3553
    functionLinenumberEnd: 3563
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - ASSERT_TRUE
    - WKTParser
    - auto::has_value
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vdatum_with_ANCHOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3568,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:3570,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3571,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_io.cpp:3572,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3573,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:3573,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3574,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/test/unit/test_io.cpp:3574,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:3575,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:3575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3567
    functionDepth: 0
    functionLinenumber: 3567
    functionLinenumberEnd: 3576
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::convertToUnit
    - EXPECT_FALSE
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - ASSERT_TRUE
    - WKTParser
    - auto::has_value
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, vdatum_with_ANCHOREPOCH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3594,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3595,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3596,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3597,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:3597,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:3598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3600
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    - nn_dynamic_pointer_cast<EngineeringCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, engineeringCRS_WKT2_affine_CS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3605,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3645,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3646,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3647,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3647,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3648,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_io.cpp:3648,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3649,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3649,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3650,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3650,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3650,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3651,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3651,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3604
    functionDepth: 0
    functionLinenumber: 3604
    functionLinenumberEnd: 3652
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - auto::componentReferenceSystems
    - ASSERT_EQ
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - ASSERT_TRUE
    - auto::identifiers
    - codeSpace
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPOUNDCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3657,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3679,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3681
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CompoundCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPOUNDCRS_spatio_parametric_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3686,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3709,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3711
      start: 3685
    functionDepth: 0
    functionLinenumber: 3685
    functionLinenumberEnd: 3711
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CompoundCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPOUNDCRS_spatio_parametric_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3716,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3734,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3715
    functionDepth: 0
    functionLinenumber: 3715
    functionLinenumberEnd: 3736
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CompoundCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPOUNDCRS_spatio_temporal_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3741,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3759,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3761
      start: 3740
    functionDepth: 0
    functionLinenumber: 3740
    functionLinenumberEnd: 3761
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<CompoundCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPOUNDCRS_spatio_temporal_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3766,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3800,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3801,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3802,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3803,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_io.cpp:3803,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3804,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3804,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3805,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3805,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:3805,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3806,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:3806,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:3806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3765
    functionDepth: 0
    functionLinenumber: 3765
    functionLinenumberEnd: 3807
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - auto::componentReferenceSystems
    - ASSERT_EQ
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - ASSERT_TRUE
    - auto::identifiers
    - codeSpace
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPD_CS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3812,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3850,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3851,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3852,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3852,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3853,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3811
    functionDepth: 0
    functionLinenumber: 3811
    functionLinenumberEnd: 3854
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COMPD_CS_non_conformant_horizontal_plus_horizontal_as_in_LAS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:3883,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3884,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3885,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3886,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3887,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:3887,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3888,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3889,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3889,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3890,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3890,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3892,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:3893,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:3894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3858
    functionDepth: 1
    functionLinenumber: 3858
    functionLinenumberEnd: 3897
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - auto::baseCRS
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     COMPD_CS_non_conformant_horizontal_TOWGS84_plus_horizontal_as_in_LAS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:3922,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3923,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3924,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3925,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3926,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:3926,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3927,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3928,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3928,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3929,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3929,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3931,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:3931,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:3931,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:3932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3937
      start: 3901
    functionDepth: 1
    functionLinenumber: 3901
    functionLinenumberEnd: 3937
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - auto::baseCRS
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - replaceAll
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     COMPD_CS_horizontal_bound_geog_plus_vertical_ellipsoidal_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:3973,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:3974,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:3975,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:3976,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3977,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:3977,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3978,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:3978,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:3980,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:3980,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:3980,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:3981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3941
    functionDepth: 1
    functionLinenumber: 3941
    functionLinenumberEnd: 3986
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - replaceAll
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     COMPD_CS_horizontal_projected_plus_vertical_ellipsoidal_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:4010,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4011,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4012,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4013,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4014,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4014,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4015,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:4015,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:4016,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:4016,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:4016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4019,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4019,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4019,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 3990
    functionDepth: 1
    functionLinenumber: 3990
    functionLinenumberEnd: 4025
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - EXPECT_NEAR
    - auto::exportToWKT
    - replaceAll
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     COMPD_CS_horizontal_geog_plus_vertical_ellipsoidal_height_non_metre)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:4051,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4052,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4053,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4054,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4055,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4055,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4058,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4059,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4063
      start: 4029
    functionDepth: 1
    functionLinenumber: 4029
    functionLinenumberEnd: 4063
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - WKTFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, implicit_compound_CRS_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:4072,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4073,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4074,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4075,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4077,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4078,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4079,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4089,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4090,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4067
    functionDepth: 1
    functionLinenumber: 4067
    functionLinenumberEnd: 4094
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, VERTCS_with_ellipsoidal_height_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:4107,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4108,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4109,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4111,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:4111,1
    - Dst: WKTFormatterNNPtr::setAllowLINUNITNode
      Src: /src/PROJ/test/unit/test_io.cpp:4114,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4115,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4115,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:4115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4116
      start: 4098
    functionDepth: 1
    functionLinenumber: 4098
    functionLinenumberEnd: 4116
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::setAllowLINUNITNode
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, implicit_compound_CRS_geographic_with_ellipsoidal_height_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:4138,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4139,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4140,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4141,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4142,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:4142,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4144,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4145,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4149
      start: 4120
    functionDepth: 1
    functionLinenumber: 4120
    functionLinenumberEnd: 4149
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, implicit_compound_CRS_projected_with_ellipsoidal_height_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4157,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:4158,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4159,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:4159,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4164,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:4165,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4166,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:4166,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4171,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:4172,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4174,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:4174,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4195,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_io.cpp:4196,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4198,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4198,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4199,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4200,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4200,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:4200,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4201,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4201,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:4201,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4203,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_io.cpp:4203,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4204,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_io.cpp:4204,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:4204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4205,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4205,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4206,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4207,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4207,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4208,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4209,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4210,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4210,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4212,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_io.cpp:4212,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4213,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_io.cpp:4213,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4216,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4216,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4217,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4217,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4217,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4218,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4220
      start: 4153
    functionDepth: 1
    functionLinenumber: 4153
    functionLinenumberEnd: 4220
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::parameterValues
    - EXPECT_EQ
    - auto::coordinateOperationAccuracies
    - nameStr
    - auto::targetCRS
    - auto::setOutputId
    - codeSpace
    - auto::exportToWKT
    - auto::interpolationCRS
    - code
    - auto::nameStr
    - ASSERT_EQ
    - value
    - auto::method
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<Transformation>
    - replaceAll
    - auto::sourceCRS
    - ASSERT_TRUE
    - exportToWKT
    - auto::identifiers
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COORDINATEOPERATION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4299,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_io.cpp:4300,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4301,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4302,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4303,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_io.cpp:4303,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:4307,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4310,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_io.cpp:4311,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4313,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4314,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_io.cpp:4314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4316
      start: 4224
    functionDepth: 1
    functionLinenumber: 4224
    functionLinenumberEnd: 4316
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::parameterValues
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Transformation>
    - WKTParser
    - DatabaseContext::create
    - auto::interpolationCRS
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COORDINATEOPERATION_with_interpolation_as_parameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4325,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:4326,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4327,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:4327,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4333,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:4334,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4335,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:4335,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4341,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:4342,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4344,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:4344,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4366,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_io.cpp:4367,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4369,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4369,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4370,1
    - Dst: auto::operationVersion
      Src: /src/PROJ/test/unit/test_io.cpp:4370,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4371,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4372,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4372,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:4372,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4373,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4373,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:4373,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4375,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_io.cpp:4375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4376,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_io.cpp:4376,1
    - Dst: value
      Src: /src/PROJ/test/unit/test_io.cpp:4376,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4377,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4377,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4379,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4379,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4380,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4381,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4382,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4382,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4384,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_io.cpp:4384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4385,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_io.cpp:4385,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4388,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4390,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4390,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4390,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4391,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:4391,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4395,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4396,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:4397,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:4397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4400
      start: 4320
    functionDepth: 1
    functionLinenumber: 4320
    functionLinenumberEnd: 4400
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::parameterValues
    - EXPECT_EQ
    - auto::coordinateOperationAccuracies
    - nameStr
    - auto::targetCRS
    - auto::setOutputId
    - codeSpace
    - auto::exportToWKT
    - auto::interpolationCRS
    - code
    - auto::nameStr
    - ASSERT_EQ
    - value
    - auto::method
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<Transformation>
    - replaceAll
    - auto::sourceCRS
    - auto::find
    - ASSERT_TRUE
    - auto::operationVersion
    - EXPECT_FALSE
    - exportToWKT
    - auto::identifiers
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, COORDINATEOPERATION_wkt2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4409,1
    - Dst: nn_dynamic_pointer_cast<SingleOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:4410,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4412,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:4412,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4414
      start: 4404
    functionDepth: 1
    functionLinenumber: 4404
    functionLinenumberEnd: 4414
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<SingleOperation>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, conversion_proj_based)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4440,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_io.cpp:4441,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4442,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4443,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/test/unit/test_io.cpp:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4418
    functionDepth: 0
    functionLinenumber: 4418
    functionLinenumberEnd: 4444
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Conversion>
    - WKTParser
    - auto::getEPSGCode
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, conversion_utm_zone_south_wrong_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_io.cpp:4450,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4451,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4452,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4453,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4454,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4455,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4456,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_io.cpp:4458,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_io.cpp:4459,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_io.cpp:4461,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4462,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4463,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:4464,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4465,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4466,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4467,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_io.cpp:4469,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_io.cpp:4470,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_io.cpp:4472,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:4473,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_io.cpp:4480,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4482,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4483,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4485,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:4486,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4487,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4488,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4488,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_io.cpp:4489,1
    - Dst: auto::operationVersion
      Src: /src/PROJ/test/unit/test_io.cpp:4489,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4490,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4491,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4491,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:4491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4492,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:4492,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:4492,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4493,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_io.cpp:4493,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4494,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_io.cpp:4494,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4494,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4494,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4495,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_io.cpp:4495,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4495,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:4495,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4496,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4496,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4497,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4497,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4498,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4498,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4498,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4499,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4499,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:4499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4500
      start: 4448
    functionDepth: 1
    functionLinenumber: 4448
    functionLinenumberEnd: 4500
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::operations
    - EXPECT_EQ
    - nameStr
    - auto::targetCRS
    - Transformation::create
    - codeSpace
    - auto::exportToWKT
    - PositionalAccuracy::create
    - code
    - auto::nameStr
    - ASSERT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - nn_static_pointer_cast<CRS>
    - ConcatenatedOperation::create
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::sourceCRS
    - ASSERT_TRUE
    - auto::operationVersion
    - PropertyMap
    - EXPECT_FALSE
    - auto::identifiers
    - WKTParser
    - OperationParameter::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, CONCATENATEDOPERATION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4617,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:4618,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4619,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4621,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:4621,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4621,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4625,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4626,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4628
      start: 4504
    functionDepth: 1
    functionLinenumber: 4504
    functionLinenumberEnd: 4628
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, CONCATENATEDOPERATION_with_conversion_and_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4788,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:4789,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4790,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4791,1
    - Dst: auto::operationVersion
      Src: /src/PROJ/test/unit/test_io.cpp:4791,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4793,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:4793,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4793,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:4798,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4799,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4801
      start: 4632
    functionDepth: 1
    functionLinenumber: 4632
    functionLinenumberEnd: 4801
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::operationVersion
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     CONCATENATEDOPERATION_with_conversion_coordinateoperation_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:4961,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:4962,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:4963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:4965,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:4965,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:4965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4805
    functionDepth: 1
    functionLinenumber: 4805
    functionLinenumberEnd: 4969
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    wkt_parse,\n    CONCATENATEDOPERATION_with_conversion_coordinateoperation_to_inverse_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5150,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:5151,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5154,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:5154,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 4973
    functionDepth: 1
    functionLinenumber: 4973
    functionLinenumberEnd: 5164
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, CONCATENATEDOPERATION_with_inverse_conversion_of_compound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:5170,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:5171,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:5172,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:5173,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_io.cpp:5175,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_io.cpp:5176,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:5176,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_io.cpp:5177,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5181,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5181,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5183,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5183,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5195,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5196,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5199,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5199,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5201,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5201,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5201,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5203,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5203,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5204,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5204,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5205,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5207,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5209,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5209,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5209,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:5211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5213
      start: 5168
    functionDepth: 1
    functionLinenumber: 5168
    functionLinenumberEnd: 5213
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - EXPECT_EQ
    - auto::baseCRS
    - nameStr
    - auto::exportToWKT
    - EllipsoidalCS::createLatitudeLongitude
    - auto::hubCRS
    - auto::nameStr
    - ASSERT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ProjectedCRS::create
    - EXPECT_NEAR
    - auto::size
    - GeographicCRS::create
    - ASSERT_TRUE
    - PropertyMap
    - CartesianCS::createEastingNorthing
    - exportToWKT
    - Conversion::createUTM
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, BOUNDCRS_transformation_from_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:5219,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:5220,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:5221,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:5222,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_io.cpp:5224,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_io.cpp:5225,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:5225,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_io.cpp:5226,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5230,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5230,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5232,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5232,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5244,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5245,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5248,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5248,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5250,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5250,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5250,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5252,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5253,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5253,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5254,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5256,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5258,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5258,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5258,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:5260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5217
    functionDepth: 1
    functionLinenumber: 5217
    functionLinenumberEnd: 5262
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - EXPECT_EQ
    - auto::baseCRS
    - nameStr
    - auto::exportToWKT
    - EllipsoidalCS::createLatitudeLongitude
    - auto::hubCRS
    - auto::nameStr
    - ASSERT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ProjectedCRS::create
    - EXPECT_NEAR
    - auto::size
    - GeographicCRS::create
    - ASSERT_TRUE
    - PropertyMap
    - CartesianCS::createEastingNorthing
    - exportToWKT
    - Conversion::createUTM
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, BOUNDCRS_transformation_from_codes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5302,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5303,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5304,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5305,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5306,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5306,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:5310,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5313,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5314,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5315,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5316,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5316,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5317,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5317,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5321,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5322,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5323,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:5324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5329
      start: 5266
    functionDepth: 1
    functionLinenumber: 5266
    functionLinenumberEnd: 5329
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::find
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, BOUNDCRS_with_interpolation_as_parameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5368,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5369,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5370,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5372,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5372,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5374,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5374,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5375
      start: 5333
    functionDepth: 1
    functionLinenumber: 5333
    functionLinenumberEnd: 5375
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - nameStr
    - WKTParser
    - auto::hubCRS
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, boundcrs_of_verticalcrs_to_geog3Dcrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5387,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5388,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5391,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5393,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5393,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5393,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5395,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5395,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5396,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5396,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5398,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5400,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5400,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5400,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:5402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5404
      start: 5379
    functionDepth: 1
    functionLinenumber: 5379
    functionLinenumberEnd: 5404
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - nameStr
    - WKTParser
    - EXPECT_NEAR
    - auto::hubCRS
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, geogcs_TOWGS84_3terms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5433,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5434,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5435,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5437,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5437,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5439,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5439,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5439,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5441,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5441,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5442,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5442,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5444,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5446,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5446,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5446,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:5448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5450
      start: 5408
    functionDepth: 1
    functionLinenumber: 5408
    functionLinenumberEnd: 5450
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - nameStr
    - WKTParser
    - EXPECT_NEAR
    - auto::hubCRS
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, projcs_TOWGS84_7terms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:5482,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5483,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5484,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5485,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5487,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5490,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5490,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:5490,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:5492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5494
      start: 5454
    functionDepth: 1
    functionLinenumber: 5454
    functionLinenumberEnd: 5494
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - ASSERT_EQ
    - auto::size
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(io, projcs_TOWGS84_7terms_autocorrect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5508,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5509,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5510,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5512,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5512,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5514,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5514,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5514,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5516,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5517,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5517,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5518,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5520,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5521,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5521,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5524,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5524,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5526,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5526,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5528,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5528,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:5531,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5532,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5533,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:5534,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:5535,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5536,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:5536,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5537,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5538,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:5538,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5539,1
    - Dst: auto::valueFile
      Src: /src/PROJ/test/unit/test_io.cpp:5539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5541
      start: 5498
    functionDepth: 1
    functionLinenumber: 5498
    functionLinenumberEnd: 5541
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::parameter
    - ASSERT_TRUE
    - nameStr
    - WKTParser
    - auto::parameterValue
    - auto::valueFile
    - auto::type
    - auto::hubCRS
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, WKT1_VERT_DATUM_EXTENSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5555,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5556,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5557,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5559,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5559,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5561,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5563,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5564,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:5565,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:5565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5567
      start: 5545
    functionDepth: 1
    functionLinenumber: 5545
    functionLinenumberEnd: 5567
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, WKT1_VERT_DATUM_EXTENSION_units_ftUS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5593,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5594,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5595,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5598,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_io.cpp:5598,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5599,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5601,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5601,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5604,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5605,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5608
      start: 5571
    functionDepth: 1
    functionLinenumber: 5571
    functionLinenumberEnd: 5608
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - auto::componentReferenceSystems
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, WKT1_COMPD_CS_VERT_DATUM_EXTENSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5628,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5629,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5630,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5632,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5632,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5634,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5634,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5634,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5636,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5637,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5637,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5640,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5640,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5641,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5641,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5642,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5644,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5644,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5646,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5646,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5647,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5647,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:5650,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_io.cpp:5651,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5652,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:5653,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:5654,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5655,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:5655,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5656,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5657,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:5657,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5658,1
    - Dst: auto::valueFile
      Src: /src/PROJ/test/unit/test_io.cpp:5658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5660
      start: 5612
    functionDepth: 1
    functionLinenumber: 5612
    functionLinenumberEnd: 5660
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::parameter
    - ASSERT_TRUE
    - nameStr
    - WKTParser
    - auto::parameterValue
    - auto::valueFile
    - auto::type
    - auto::hubCRS
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, WKT1_DATUM_EXTENSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5693,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5694,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5695,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5697,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5697,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5699,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5699,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5700,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5700,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5700,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5703,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:5703,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5705,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/test/unit/test_io.cpp:5705,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:5706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5707
      start: 5664
    functionDepth: 1
    functionLinenumber: 5664
    functionLinenumberEnd: 5707
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedGeographicCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5740,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5741,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5742,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5744,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5744,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5746,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5746,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5747,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5747,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5747,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5750,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:5750,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5752,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/test/unit/test_io.cpp:5752,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:5753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5754
      start: 5711
    functionDepth: 1
    functionLinenumber: 5711
    functionLinenumberEnd: 5754
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedGeographicCRS_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5783,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5784,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5785,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5787,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5787,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5789,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5789,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5790,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5790,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5790,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5793,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:5793,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5795,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/test/unit/test_io.cpp:5795,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:5795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5758
    functionDepth: 1
    functionLinenumber: 5758
    functionLinenumberEnd: 5797
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<DerivedGeodeticCRS>
    - WKTParser
    - nn_dynamic_pointer_cast<CartesianCS>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedGeodeticCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5854,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5855,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5856,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5858,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5858,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5859,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5861,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/test/unit/test_io.cpp:5861,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:5863,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5864,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_io.cpp:5865,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_io.cpp:5865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5801
    functionDepth: 1
    functionLinenumber: 5801
    functionLinenumberEnd: 5866
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::isGeocentric
    - EXPECT_TRUE
    - auto::baseCRS
    - WKTFormatter::create
    - auto::c_str
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<DerivedGeodeticCRS>
    - WKTParser
    - auto::exportToWKT
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedGeodeticCRS_where_base_is_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5885,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5886,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5887,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:5889,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5893,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5894,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5896,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:5897,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:5897,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:5900,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5901,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:5901,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5902,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5903,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:5903,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5903,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:5912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:5913,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5915,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:5916,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:5916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5923
      start: 5870
    functionDepth: 1
    functionLinenumber: 5870
    functionLinenumberEnd: 5923
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - EXPECT_TRUE
    - auto::baseCRS
    - EXPECT_EQ
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - NN_NO_CHECK
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedGeographicCRS_GDAL_PROJ4_EXSTENSION_hack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:5968,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5969,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5970,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5972,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:5972,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5974,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5974,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5975,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:5975,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:5975,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:5978,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:5978,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:5980,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/test/unit/test_io.cpp:5980,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:5980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5982
      start: 5927
    functionDepth: 1
    functionLinenumber: 5927
    functionLinenumberEnd: 5982
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - nn_dynamic_pointer_cast<CartesianCS>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedProjectedCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6042,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6043,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6044,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:6046,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6047,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:6047,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6048,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6048,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6112,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6113,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6114,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:6117,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6118,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6119,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6123
      start: 5986
    functionDepth: 1
    functionLinenumber: 5986
    functionLinenumberEnd: 6123
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::size
    - auto::baseCRS
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedProjectedCRS_base_crs_cs_non_metre_from_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:6168,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6169,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6170,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6171,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:6173,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6174,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:6174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6175,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6175,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6177,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6178,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6182
      start: 6127
    functionDepth: 1
    functionLinenumber: 6127
    functionLinenumberEnd: 6182
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::size
    - auto::baseCRS
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    wkt_parse,\n    DerivedProjectedCRS_base_crs_cs_non_metre_from_conversion_context_from_baseprojcrs_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:6228,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6229,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6230,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6231,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:6233,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6234,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:6234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6235,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6237,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6238,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6186
    functionDepth: 1
    functionLinenumber: 6186
    functionLinenumberEnd: 6242
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::size
    - auto::baseCRS
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    wkt_parse,\n    DerivedProjectedCRS_base_crs_cs_non_metre_from_conversion_context_from_baseprojcrs_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6272,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6273,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6274,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6275,1
    - Dst: nn_dynamic_pointer_cast<OrdinalCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6275,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6278,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6279,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6282
      start: 6246
    functionDepth: 1
    functionLinenumber: 6246
    functionLinenumberEnd: 6282
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<OrdinalCS>
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - WKTFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedProjectedCRS_ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6291,1
    - Dst: nn_dynamic_pointer_cast<TemporalDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:6292,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6293,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6295,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6295,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6296,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6296,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6297,1
    - Dst: auto::calendar
      Src: /src/PROJ/test/unit/test_io.cpp:6297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6298
      start: 6286
    functionDepth: 0
    functionLinenumber: 6286
    functionLinenumberEnd: 6298
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::calendar
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::temporalOrigin
    - nn_dynamic_pointer_cast<TemporalDatum>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, TemporalDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6306,1
    - Dst: nn_dynamic_pointer_cast<TemporalDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:6307,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6310,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6310,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6311,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6311,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6312,1
    - Dst: auto::calendar
      Src: /src/PROJ/test/unit/test_io.cpp:6312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6313
      start: 6302
    functionDepth: 0
    functionLinenumber: 6302
    functionLinenumberEnd: 6313
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::calendar
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::temporalOrigin
    - nn_dynamic_pointer_cast<TemporalDatum>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, TemporalDatum_no_calendar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6324,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6325,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6326,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6328,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6328,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6329,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6330,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6330,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6331,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6332,1
    - Dst: auto::calendar
      Src: /src/PROJ/test/unit/test_io.cpp:6332,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6333,1
    - Dst: nn_dynamic_pointer_cast<DateTimeTemporalCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6333,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6334,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6335,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6336,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6336,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6338,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6338,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6317
    functionDepth: 0
    functionLinenumber: 6317
    functionLinenumberEnd: 6339
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<DateTimeTemporalCS>
    - auto::coordinateSystem
    - auto::calendar
    - EXPECT_EQ
    - ASSERT_EQ
    - unit
    - ASSERT_TRUE
    - auto::temporalOrigin
    - WKTParser
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, dateTimeTemporalCRS_WKT2_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6351,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6352,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6353,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6355,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6355,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6356,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6357,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6357,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6358,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6359,1
    - Dst: auto::calendar
      Src: /src/PROJ/test/unit/test_io.cpp:6359,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6360,1
    - Dst: nn_dynamic_pointer_cast<DateTimeTemporalCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6360,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6361,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6362,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6363,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6363,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6363,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6365,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6365,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6343
    functionDepth: 0
    functionLinenumber: 6343
    functionLinenumberEnd: 6366
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<DateTimeTemporalCS>
    - auto::coordinateSystem
    - auto::calendar
    - EXPECT_EQ
    - ASSERT_EQ
    - unit
    - ASSERT_TRUE
    - auto::temporalOrigin
    - WKTParser
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, dateTimeTemporalCRS_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6378,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6379,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6382,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6382,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6384,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6385,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6386,1
    - Dst: auto::calendar
      Src: /src/PROJ/test/unit/test_io.cpp:6386,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6387,1
    - Dst: nn_dynamic_pointer_cast<TemporalCountCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6387,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6388,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6389,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6390,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6390,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6392,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6392,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6394
      start: 6370
    functionDepth: 0
    functionLinenumber: 6370
    functionLinenumberEnd: 6394
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<TemporalCountCS>
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::coordinateSystem
    - auto::calendar
    - EXPECT_EQ
    - unit
    - ASSERT_TRUE
    - auto::temporalOrigin
    - WKTParser
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, temporalCountCRSWithConvFactor_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6407,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6408,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6411,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6411,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6412,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6413,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6414,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6414,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6415,1
    - Dst: nn_dynamic_pointer_cast<TemporalCountCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6415,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6416,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6417,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6417,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6418,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6418,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6418,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6419,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6419,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:6419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6421
      start: 6398
    functionDepth: 0
    functionLinenumber: 6398
    functionLinenumberEnd: 6421
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<TemporalCountCS>
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::coordinateSystem
    - unit
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::temporalOrigin
    - WKTParser
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, temporalCountCRSWithoutConvFactor_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6433,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6434,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6435,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6437,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6437,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6438,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6439,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6439,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6440,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6440,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6441,1
    - Dst: nn_dynamic_pointer_cast<TemporalMeasureCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6441,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6442,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6443,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6444,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6444,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6445,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6446,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6446,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6447,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6447,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6448,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6449
      start: 6425
    functionDepth: 0
    functionLinenumber: 6425
    functionLinenumberEnd: 6449
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::unit
    - auto::temporalOrigin
    - WKTParser
    - nn_dynamic_pointer_cast<TemporalMeasureCS>
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, temporalMeasureCRS_WKT2_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6461,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6462,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6465,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6465,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6467,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6468,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/test/unit/test_io.cpp:6468,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6469,1
    - Dst: nn_dynamic_pointer_cast<TemporalMeasureCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6469,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6470,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6471,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6472,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6472,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6474,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6475,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6475,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6476,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6477
      start: 6453
    functionDepth: 0
    functionLinenumber: 6453
    functionLinenumberEnd: 6477
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::unit
    - auto::temporalOrigin
    - WKTParser
    - nn_dynamic_pointer_cast<TemporalMeasureCS>
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, temporalMeasureCRSWithoutConvFactor_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6485,1
    - Dst: nn_dynamic_pointer_cast<EngineeringDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:6486,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6487,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6489,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6489,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:6490,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6491,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:6491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6481
    functionDepth: 0
    functionLinenumber: 6481
    functionLinenumberEnd: 6493
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - auto::nameStr
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<EngineeringDatum>
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, EDATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6500,1
    - Dst: nn_dynamic_pointer_cast<EngineeringDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:6501,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6502,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6504,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6504,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:6505,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6506,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:6506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6507
      start: 6497
    functionDepth: 0
    functionLinenumber: 6497
    functionLinenumberEnd: 6507
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - auto::nameStr
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<EngineeringDatum>
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ENGINEERINGDATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6524,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6525,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6526,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6528,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6529,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6529,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6530,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6531,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6532
      start: 6511
    functionDepth: 0
    functionLinenumber: 6511
    functionLinenumberEnd: 6532
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ENGCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6549,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6550,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6551,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6553,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6553,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6554,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6554,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6555,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6556,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6557
      start: 6536
    functionDepth: 0
    functionLinenumber: 6536
    functionLinenumberEnd: 6557
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ENGINEERINGCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6572,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6573,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6574,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6576,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6576,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6577,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6577,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6578,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6579,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6579,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6580,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6581,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6582,1
    - Dst: auto::direction
      Src: /src/PROJ/test/unit/test_io.cpp:6582,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6583,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6583,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6584,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6584,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6585,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6586,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6586,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6587,1
    - Dst: auto::direction
      Src: /src/PROJ/test/unit/test_io.cpp:6587,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6588,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6588,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6589,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6590
      start: 6561
    functionDepth: 1
    functionLinenumber: 6561
    functionLinenumberEnd: 6590
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::unit
    - WKTParser
    - auto::direction
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ENGCRS_unknown_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6597,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6598,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6599,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6601,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6601,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6602,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6602,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6603,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6604,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6604,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6611,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6612,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6615
      start: 6594
    functionDepth: 1
    functionLinenumber: 6594
    functionLinenumberEnd: 6615
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, LOCAL_CS_short)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6625,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6626,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6627,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6629,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6629,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6630,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6630,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6631,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6632,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6633
      start: 6619
    functionDepth: 0
    functionLinenumber: 6619
    functionLinenumberEnd: 6633
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, LOCAL_CS_long_one_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6644,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6645,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6646,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6648,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6648,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6649,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6649,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6650,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6651,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6652
      start: 6637
    functionDepth: 0
    functionLinenumber: 6637
    functionLinenumberEnd: 6652
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, LOCAL_CS_long_two_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6664,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6666,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6668,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6669,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6669,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6670,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6671,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6672
      start: 6656
    functionDepth: 0
    functionLinenumber: 6656
    functionLinenumberEnd: 6672
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, LOCAL_CS_long_three_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6680,1
    - Dst: nn_dynamic_pointer_cast<ParametricDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:6681,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6684,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6684,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:6685,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6686,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:6686,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6688
      start: 6676
    functionDepth: 0
    functionLinenumber: 6676
    functionLinenumberEnd: 6688
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - auto::nameStr
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::has_value
    - ASSERT_TRUE
    - WKTParser
    - nn_dynamic_pointer_cast<ParametricDatum>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, PDATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6696,1
    - Dst: nn_dynamic_pointer_cast<ParametricDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:6697,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6698,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6700,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6700,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_io.cpp:6701,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6702,1
    - Dst: auto::has_value
      Src: /src/PROJ/test/unit/test_io.cpp:6702,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6704
      start: 6692
    functionDepth: 0
    functionLinenumber: 6692
    functionLinenumberEnd: 6704
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - auto::nameStr
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::has_value
    - ASSERT_TRUE
    - WKTParser
    - nn_dynamic_pointer_cast<ParametricDatum>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, PARAMETRICDATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6717,1
    - Dst: nn_dynamic_pointer_cast<ParametricCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6718,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6721,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6721,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6722,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6722,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:6723,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6724,1
    - Dst: nn_dynamic_pointer_cast<ParametricCS>
      Src: /src/PROJ/test/unit/test_io.cpp:6724,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6725,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6725,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:6726,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6727,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6727,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6728,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6729,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6729,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6730,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_io.cpp:6730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6731
      start: 6708
    functionDepth: 0
    functionLinenumber: 6708
    functionLinenumberEnd: 6731
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ParametricCS>
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::unit
    - WKTParser
    - nn_dynamic_pointer_cast<ParametricCRS>
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, PARAMETRICCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6743,1
    - Dst: nn_dynamic_pointer_cast<ParametricCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6744,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6746
      start: 6735
    functionDepth: 0
    functionLinenumber: 6735
    functionLinenumberEnd: 6746
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ParametricCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, PARAMETRICCRS_PARAMETRICDATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6764,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6765,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6767
      start: 6750
    functionDepth: 0
    functionLinenumber: 6750
    functionLinenumberEnd: 6767
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedVerticalCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedVerticalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6789,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:6790,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6792,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6793,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6795,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:6795,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6796,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:6796,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6798,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:6799,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:6800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6802
      start: 6771
    functionDepth: 1
    functionLinenumber: 6771
    functionLinenumberEnd: 6802
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::derivingConversion
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedVerticalCRS>
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedVerticalCRS_EPSG_code_for_horizontal_CRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6826,1
    - Dst: nn_dynamic_pointer_cast<DerivedEngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6827,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6829
      start: 6806
    functionDepth: 0
    functionLinenumber: 6806
    functionLinenumberEnd: 6829
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<DerivedEngineeringCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedEngineeringCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6847,1
    - Dst: nn_dynamic_pointer_cast<DerivedParametricCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6848,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6850
      start: 6833
    functionDepth: 0
    functionLinenumber: 6833
    functionLinenumberEnd: 6850
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<DerivedParametricCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedParametricCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6869,1
    - Dst: nn_dynamic_pointer_cast<DerivedTemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6870,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6872
      start: 6854
    functionDepth: 0
    functionLinenumber: 6854
    functionLinenumberEnd: 6872
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<DerivedTemporalCRS>
    - WKTParser
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, DerivedTemporalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6886,1
    - Dst: nn_dynamic_pointer_cast<DatumEnsemble>
      Src: /src/PROJ/test/unit/test_io.cpp:6887,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6888,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6890,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_io.cpp:6890,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:6892,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_io.cpp:6892,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6893,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6894,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6894,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6895,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:6895,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6896,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:6896,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:6896,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6897,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:6897,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:6897,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6899,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:6899,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6901,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_io.cpp:6901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6902
      start: 6876
    functionDepth: 0
    functionLinenumber: 6876
    functionLinenumberEnd: 6902
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::positionalAccuracy
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::ellipsoid
    - EXPECT_EQ
    - auto::datums
    - nn_dynamic_pointer_cast<DatumEnsemble>
    - ASSERT_TRUE
    - auto::identifiers
    - codeSpace
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6912,1
    - Dst: nn_dynamic_pointer_cast<DatumEnsemble>
      Src: /src/PROJ/test/unit/test_io.cpp:6913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6914,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6916,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_io.cpp:6916,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:6918,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_io.cpp:6918,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6919,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6920,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6920,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6922,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_io.cpp:6922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6923
      start: 6906
    functionDepth: 0
    functionLinenumber: 6906
    functionLinenumberEnd: 6923
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::positionalAccuracy
    - auto::nameStr
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::datums
    - nn_dynamic_pointer_cast<DatumEnsemble>
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, ensemble_vdatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6935,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6936,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6937,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6939,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6939,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6940,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6940,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6941,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:6941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6942
      start: 6927
    functionDepth: 0
    functionLinenumber: 6927
    functionLinenumberEnd: 6942
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::nameStr
    - auto::ellipsoid
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, esri_geogcs_datum_spheroid_name_hardcoded_substitution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6954,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:6955,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6957,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6958,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6960,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6960,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6961,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6961,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6962,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:6962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6963
      start: 6946
    functionDepth: 1
    functionLinenumber: 6946
    functionLinenumberEnd: 6963
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::nameStr
    - auto::ellipsoid
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, esri_geogcs_datum_spheroid_name_from_db_substitution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:6976,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:6977,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:6979,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:6980,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6982,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:6982,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6983,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:6983,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:6985,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:6985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6986
      start: 6967
    functionDepth: 1
    functionLinenumber: 6967
    functionLinenumberEnd: 6986
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::nameStr
    - auto::ellipsoid
    - EXPECT_EQ
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, esri_datum_name_with_prime_meridian)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/test/unit/test_io.cpp:8035,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_io.cpp:8049,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8054,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8055,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8056,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8058,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_io.cpp:8059,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8060,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:8060,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_io.cpp:8061,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8062,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:8062,1
    - Dst: wkt2Params::size
      Src: /src/PROJ/test/unit/test_io.cpp:8062,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:8063,1
    - Dst: wkt2Params::size
      Src: /src/PROJ/test/unit/test_io.cpp:8063,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:8064,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_io.cpp:8066,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8067,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_io.cpp:8068,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_io.cpp:8069,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8070,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8071,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_io.cpp:8071,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:8073,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8074,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_io.cpp:8074,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8078,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8079,1
    - Dst: strcmp
      Src: /src/PROJ/test/unit/test_io.cpp:8083,1
    - Dst: strcmp
      Src: /src/PROJ/test/unit/test_io.cpp:8086,1
    - Dst: strcmp
      Src: /src/PROJ/test/unit/test_io.cpp:8089,1
    - Dst: strcmp
      Src: /src/PROJ/test/unit/test_io.cpp:8091,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8094,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:8094,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_io.cpp:8094,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8100
      start: 8031
    functionDepth: 1
    functionLinenumber: 8031
    functionLinenumberEnd: 8100
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::parameterValues
    - EXPECT_TRUE
    - toString
    - EXPECT_EQ
    - auto::parameter
    - auto::exportToWKT
    - auto::nameStr
    - auto::method
    - WKTFormatter::create
    - std::string
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - auto::size
    - auto::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - wkt2Params::size
    - strcmp
    - auto::derivingConversion
    - WKTParser
    - auto::parameterValue
    - auto::type
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, esri_projcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8115,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8116,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8117,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8121,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8121,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8122,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8124
      start: 8104
    functionDepth: 0
    functionLinenumber: 8104
    functionLinenumberEnd: 8124
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_case_insensitive_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8141,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8142,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8143,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8147,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8147,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8148,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8150
      start: 8128
    functionDepth: 0
    functionLinenumber: 8128
    functionLinenumberEnd: 8150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_non_expected_param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8170,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8171,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8173,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8176,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8176,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8223,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8223,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8224
      start: 8154
    functionDepth: 1
    functionLinenumber: 8154
    functionLinenumberEnd: 8224
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_krovak_south_west)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8242,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8243,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8245,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8248,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8296,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8296,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8297
      start: 8228
    functionDepth: 1
    functionLinenumber: 8228
    functionLinenumberEnd: 8297
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(wkt_parse,\n     wkt1_esri_krovak_east_north_non_standard_likely_from_GDAL_wkt1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8313,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8314,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8316,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8319,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8319,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:8319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8321
      start: 8301
    functionDepth: 1
    functionLinenumber: 8301
    functionLinenumberEnd: 8321
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_normalize_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8339,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8340,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8341,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8342,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8344,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:8344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8345,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8345,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8345,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8349,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8349,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8349,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8350,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8350,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8352,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8352,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8352,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8354,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8355,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8359
      start: 8325
    functionDepth: 1
    functionLinenumber: 8325
    functionLinenumberEnd: 8359
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - abbreviation
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_ups_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8377,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8378,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8379,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8382,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:8382,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8383,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8383,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8387,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8387,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8387,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8388,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8388,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8388,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8390,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8390,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8392,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8393,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8397
      start: 8363
    functionDepth: 1
    functionLinenumber: 8363
    functionLinenumberEnd: 8397
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - abbreviation
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_ups_south)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8416,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8417,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8418,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8421,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:8421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8422,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8422,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8422,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8424,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8424,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8424,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8425,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8425,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8425,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8427,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8427,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8427,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8429,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8430,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8434
      start: 8401
    functionDepth: 1
    functionLinenumber: 8401
    functionLinenumberEnd: 8434
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - abbreviation
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_wgs_1984_ups_north_E_N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8453,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8454,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8455,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8458,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:8458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8459,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8459,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8459,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8461,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8461,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8461,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8462,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8462,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_io.cpp:8462,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8464,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:8464,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_io.cpp:8464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8466,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8467,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8471
      start: 8438
    functionDepth: 1
    functionLinenumber: 8438
    functionLinenumberEnd: 8471
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::coordinateSystem
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - abbreviation
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_wgs_1984_ups_south_E_N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8489,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8490,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8491,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8492,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8494,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8495,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8496,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:8500,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8503,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:8504,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:8505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8508
      start: 8475
    functionDepth: 1
    functionLinenumber: 8475
    functionLinenumberEnd: 8508
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_gauss_kruger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8525,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8526,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8531,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8533
      start: 8512
    functionDepth: 1
    functionLinenumber: 8512
    functionLinenumberEnd: 8533
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_esri_goode_homolosine_without_option_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8553,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8554,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8555,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8556,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8558,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:8558,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8560,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:8560,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8561,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8561,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:8564,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_io.cpp:8564,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_io.cpp:8565,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_io.cpp:8566,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:8566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8567,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_io.cpp:8567,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_io.cpp:8567,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8568,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_io.cpp:8568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8569
      start: 8537
    functionDepth: 1
    functionLinenumber: 8537
    functionLinenumberEnd: 8569
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - ASSERT_GE
    - auto::size
    - EXPECT_EQ
    - auto::baseCRS
    - auto::identify
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - std::string
    - getEPSGCode
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_oracle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8593,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8594,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8595,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8596,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8598,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8598,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:8601,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_io.cpp:8601,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_io.cpp:8602,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_io.cpp:8603,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:8603,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8604,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_io.cpp:8604,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_io.cpp:8604,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8605,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_io.cpp:8605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8606
      start: 8573
    functionDepth: 1
    functionLinenumber: 8573
    functionLinenumberEnd: 8606
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - ASSERT_GE
    - auto::size
    - EXPECT_EQ
    - auto::identify
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - std::string
    - getEPSGCode
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_oracle_albers_conical_equal_area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8630,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8631,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8632,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8633,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8635,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8637
      start: 8610
    functionDepth: 1
    functionLinenumber: 8610
    functionLinenumberEnd: 8637
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_lcc_1sp_without_1sp_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:8659,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8660,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:8661,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:8662,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8664,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8664,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:8666,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:8666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8667
      start: 8641
    functionDepth: 1
    functionLinenumber: 8641
    functionLinenumberEnd: 8667
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, wkt1_pseudo_wkt1_gdal_pseudo_wkt1_esri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8672,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8672,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8673,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8673,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8674,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8674,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8676,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8676,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8677,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8678
      start: 8671
    functionDepth: 0
    functionLinenumber: 8671
    functionLinenumberEnd: 8678
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8683,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8683,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8684,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8684,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8686,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8686,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8688,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8690
      start: 8682
    functionDepth: 0
    functionLinenumber: 8682
    functionLinenumberEnd: 8690
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_SPHEROID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8695,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8696,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8697,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8697,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8698,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8700
      start: 8694
    functionDepth: 0
    functionLinenumber: 8694
    functionLinenumberEnd: 8700
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DATUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8705,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8705,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8706,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8706,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8708,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8708,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8711,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8712,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8715,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8716,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8719,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8722
      start: 8704
    functionDepth: 0
    functionLinenumber: 8704
    functionLinenumberEnd: 8722
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_ENSEMBLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8727,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8727,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8737,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8737,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8748,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8748,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8759,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8769
      start: 8726
    functionDepth: 0
    functionLinenumber: 8726
    functionLinenumberEnd: 8769
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_BBOX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8774,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8774,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8779,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8780,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8785,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8786,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8790,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8790,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8791,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8791,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8795,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8796,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8801,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8801,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8808,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8808,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8812,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8812,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8817,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8818,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8824,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8824,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8829,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8829,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8835,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8835,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8842,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8848
      start: 8773
    functionDepth: 0
    functionLinenumber: 8773
    functionLinenumberEnd: 8848
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_GEOGCS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8857,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8857,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8861,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8861,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8865,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8866,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8870,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8873
      start: 8852
    functionDepth: 0
    functionLinenumber: 8852
    functionLinenumberEnd: 8873
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_UNIT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8878,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8879,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8883,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8883,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8888,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8889,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8894,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8894,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8902,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8902,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8913,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8918
      start: 8877
    functionDepth: 0
    functionLinenumber: 8877
    functionLinenumberEnd: 8918
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_GEOCCS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8927,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8927,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8930,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8930,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8934,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8934,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8938,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8938,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8942,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8943,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8947,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8947,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8953,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8953,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8958,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8958,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8965,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8965,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8971,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8972,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8979,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8979,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8987,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8988,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:8995,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:8996,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9003,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9009
      start: 8922
    functionDepth: 0
    functionLinenumber: 8922
    functionLinenumberEnd: 9009
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    - EXPECT_NO_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_CS_of_GEODCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9015,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9020
      start: 9013
    functionDepth: 0
    functionLinenumber: 9013
    functionLinenumberEnd: 9020
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_CS_of_GEOGRAPHICCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9035,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9035,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9038,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9038,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9040,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9041,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9043,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9046
      start: 9024
    functionDepth: 0
    functionLinenumber: 9024
    functionLinenumberEnd: 9046
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DYNAMIC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9052,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9053,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9062,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9062,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9065,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9065,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9069,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9070,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9074,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9075,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9080,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9081,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9087,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9087,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9092,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9092,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9099,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9099,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9107,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9115
      start: 9050
    functionDepth: 0
    functionLinenumber: 9050
    functionLinenumberEnd: 9115
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_PROJCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9136,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9136,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9139,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9139,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9144,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9144,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9150,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9150,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9155,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9155,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9159,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9162
      start: 9119
    functionDepth: 0
    functionLinenumber: 9119
    functionLinenumberEnd: 9162
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    - EXPECT_NO_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_PROJCS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9169,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9169,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9174,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9174,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9178,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9178,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9185,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9190
      start: 9166
    functionDepth: 0
    functionLinenumber: 9166
    functionLinenumberEnd: 9190
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_VERTCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9197,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9206
      start: 9194
    functionDepth: 0
    functionLinenumber: 9194
    functionLinenumberEnd: 9206
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_esri_VERTCS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9212,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9212,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9216,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9216,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9220,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9223
      start: 9210
    functionDepth: 0
    functionLinenumber: 9210
    functionLinenumberEnd: 9223
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_VERT_CS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9231,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:9232,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9233,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:9233,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9238,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:9239,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9240,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:9240,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9245,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_io.cpp:9246,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9248,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:9248,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9263,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9263,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9275,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9275,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9288,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9288,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9300,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9300,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9313,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9313,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9325,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9325,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9340,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9342
      start: 9227
    functionDepth: 1
    functionLinenumber: 9227
    functionLinenumberEnd: 9342
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - WKTFormatter::create
    - exportToWKT
    - EXPECT_NO_THROW
    - auto::setOutputId
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_COORDINATEOPERATION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9349,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9349,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_io.cpp:9352,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:9353,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:9354,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:9355,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:9356,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9357,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:9358,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_io.cpp:9360,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_io.cpp:9361,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9368,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9368,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9371,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9371,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9374,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9374,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9379,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9379,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9387,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9387,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9390,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9390,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9396,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9396,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9404,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9404,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9407,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9407,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9410,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9410,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_io.cpp:9413,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9413,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9418,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9420
      start: 9346
    functionDepth: 1
    functionLinenumber: 9346
    functionLinenumberEnd: 9420
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - auto::sourceCRS
    - auto::targetCRS
    - EXPECT_THROW
    - Transformation::create
    - nn_static_pointer_cast<CRS>
    - WKTParser
    - auto::exportToWKT
    - OperationParameter::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_CONCATENATEDOPERATION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:9426,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:9427,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:9428,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:9429,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_io.cpp:9431,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_io.cpp:9432,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:9432,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_io.cpp:9433,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9437,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9437,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9439,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9439,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9443,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9443,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9446,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9447,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9448,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9449,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9457,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9458,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9459,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9460,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9468,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9468,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9470,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9470,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9478,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9478,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9480,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9480,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9488,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9488,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9490,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9490,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9492,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9493,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9498,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9498,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9500,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9500,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9502,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9503,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9510,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9510,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9512,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9512,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:9514,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:9515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9520
      start: 9424
    functionDepth: 1
    functionLinenumber: 9424
    functionLinenumberEnd: 9520
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - WKTFormatter::create
    - GeographicCRS::create
    - CartesianCS::createEastingNorthing
    - exportToWKT
    - Conversion::createUTM
    - EXPECT_NO_THROW
    - EXPECT_THROW
    - ProjectedCRS::create
    - auto::exportToWKT
    - WKTParser
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_BOUNDCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9525,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9525,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9534,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9542
      start: 9524
    functionDepth: 0
    functionLinenumber: 9524
    functionLinenumberEnd: 9542
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_TOWGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9548,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9548,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9562,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9563,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9575,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9576,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9587,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9588,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9604,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9605,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9620,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9633
      start: 9546
    functionDepth: 0
    functionLinenumber: 9546
    functionLinenumberEnd: 9633
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DerivedGeographicCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9639,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9640,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9647,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9648,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9654,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9655,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9661,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9662,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9672,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9673,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9682,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9683,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9692,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9693,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9702,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9710
      start: 9637
    functionDepth: 0
    functionLinenumber: 9637
    functionLinenumberEnd: 9710
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_TemporalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9716,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9717,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9723,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9724,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9730,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9733
      start: 9714
    functionDepth: 0
    functionLinenumber: 9714
    functionLinenumberEnd: 9733
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_EngineeingCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9739,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9746
      start: 9737
    functionDepth: 0
    functionLinenumber: 9737
    functionLinenumberEnd: 9746
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_LOCAL_CS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9752,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9752,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9760,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9760,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9768,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9768,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9773,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9773,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9784,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9790
      start: 9750
    functionDepth: 0
    functionLinenumber: 9750
    functionLinenumberEnd: 9790
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_ParametricCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9795,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9795,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9813,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9813,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9825,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9826,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9843,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9858
      start: 9794
    functionDepth: 0
    functionLinenumber: 9794
    functionLinenumberEnd: 9858
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DERIVEDPROJCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9863,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9863,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9875,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9875,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9885,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9885,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9895,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9906
      start: 9862
    functionDepth: 0
    functionLinenumber: 9862
    functionLinenumberEnd: 9906
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DerivedVerticalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9911,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9911,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9924,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9925,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9935,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9943
      start: 9910
    functionDepth: 0
    functionLinenumber: 9910
    functionLinenumberEnd: 9943
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DerivedEngineeringCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9948,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9948,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9960,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9960,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9970,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9970,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9980,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9990
      start: 9947
    functionDepth: 0
    functionLinenumber: 9947
    functionLinenumberEnd: 9990
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DerivedParametricCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:9995,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:9995,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10008,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10008,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10019,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10019,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10031,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10044
      start: 9994
    functionDepth: 0
    functionLinenumber: 9994
    functionLinenumberEnd: 10044
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_DerivedTemporalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10049,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10049,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10052,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10052,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10057,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10058,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:10085,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:10086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10111
      start: 10048
    functionDepth: 0
    functionLinenumber: 10048
    functionLinenumberEnd: 10111
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, invalid_CoordinateMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10118,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10120,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10120,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10124,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10125,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10127,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10127,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10131,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10132,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10134,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10134,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10139,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10140,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10141,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10142,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10143,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10144,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10149,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10150,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10151,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10152,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10153,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10154,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10155,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10156,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10161,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10162,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10163,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10164,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10165,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10166,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10167,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10169,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10172
      start: 10115
    functionDepth: 1
    functionLinenumber: 10115
    functionLinenumberEnd: 10172
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::startInversion
    - auto::toString
    - EXPECT_EQ
    - auto::stopInversion
    - auto::setCurrentStepInverted
    - PROJStringFormatter::create
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10177,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10178,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10179,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10180,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10181,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10182,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10183
      start: 10176
    functionDepth: 1
    functionLinenumber: 10176
    functionLinenumberEnd: 10183
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_helmert_3_param_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10188,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10189,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10190,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10191,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10192,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10193,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10194,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10195,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10196,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10198,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10199
      start: 10187
    functionDepth: 1
    functionLinenumber: 10187
    functionLinenumberEnd: 10199
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_helmert_7_param_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10205,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10206,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10207,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10208,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10209,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10211,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10212,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10213,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10214,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10215,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10215,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10219,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10220,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10221,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10222,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10223,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10225,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10226,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10227,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10228,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10229,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10230,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10230,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10234,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10235,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10236,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10237,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10238,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10239,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10241,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10242,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10243,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10245,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10247
      start: 10203
    functionDepth: 1
    functionLinenumber: 10203
    functionLinenumberEnd: 10247
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::setCurrentStepInverted
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_merge_consecutive_helmert_3_param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10253,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10254,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10255,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10256,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10257,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10259,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10260,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10261,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10263,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10263,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10267,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10268,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10269,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10270,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10271,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10272,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10274,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10275,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10276,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10277,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10278,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10279,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10281
      start: 10251
    functionDepth: 1
    functionLinenumber: 10251
    functionLinenumberEnd: 10281
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::setCurrentStepInverted
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_merge_consecutive_helmert_3_param_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10287,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10288,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10289,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10290,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10291,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10292,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10293,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10294,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10295,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10296,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10298,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10299,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10300,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10301,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10302,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10303,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10304,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10305,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10306,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10307,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10307,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10311,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10312,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10313,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10314,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10315,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10316,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10317,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10318,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10319,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10320,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10321,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10323,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10324,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10325,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10326,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10327,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10328,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10329,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10330,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10331,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10333,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10335
      start: 10285
    functionDepth: 1
    functionLinenumber: 10285
    functionLinenumberEnd: 10335
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::setCurrentStepInverted
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_merge_consecutive_helmert_7_param_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10341,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10342,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10343,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10344,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10345,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10346,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10347,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10348,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10349,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10350,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10352,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10353,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10354,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10355,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10356,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10357,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10358,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10359,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10360,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10361,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10362,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10362,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10366,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10367,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10368,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10369,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10370,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10371,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10372,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10373,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10374,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10375,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10376,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10378,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10379,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10380,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10381,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10382,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10383,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10384,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10385,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10387,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10387,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10391,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10392,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10393,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10394,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10395,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10396,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10397,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10398,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10399,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10400,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10401,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10403,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10404,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10405,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10406,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10407,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10408,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10409,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10410,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10412,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10412,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10417,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10418,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10419,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10420,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10421,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10422,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10423,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10424,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10425,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10426,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10428,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10430,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10431,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10432,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10433,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10434,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10435,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10436,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10437,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10438,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10438,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10443,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10444,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10445,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10446,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10447,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10448,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10449,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10450,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10451,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10452,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10454,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10455,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10456,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10457,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10458,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10459,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10460,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10461,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10462,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10463,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10464,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10464,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10469,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10470,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10471,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10472,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10473,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10474,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10475,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10476,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10477,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10478,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10480,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10481,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10482,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10483,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10484,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10485,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10486,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10487,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10488,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10489,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10490,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10490,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10495,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10496,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10497,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10498,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10499,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10500,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10501,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10502,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10503,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10504,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10506,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10507,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10508,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10509,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10510,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10511,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10512,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10513,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10514,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10515,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10516,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10518
      start: 10339
    functionDepth: 1
    functionLinenumber: 10339
    functionLinenumberEnd: 10518
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::setCurrentStepInverted
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_merge_inverted_helmert_with_opposite_conventions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10523,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10524,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10525,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10526,1
    - Dst: auto::setCurrentStepInverted
      Src: /src/PROJ/test/unit/test_io.cpp:10527,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10529,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10530
      start: 10522
    functionDepth: 1
    functionLinenumber: 10522
    functionLinenumberEnd: 10530
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::setCurrentStepInverted
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_cart_grs80_wgs84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10535,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10536,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10537,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10538,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10539,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10540,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10541,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10542,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10543,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10544
      start: 10534
    functionDepth: 1
    functionLinenumber: 10534
    functionLinenumberEnd: 10544
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_axisswap_unitconvert_axisswap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10549,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10550,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10552,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10553
      start: 10548
    functionDepth: 1
    functionLinenumber: 10548
    functionLinenumberEnd: 10553
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_axisswap_one_minus_two_inv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10558,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10562,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10563
      start: 10557
    functionDepth: 1
    functionLinenumber: 10557
    functionLinenumberEnd: 10563
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_axisswap_two_one_followed_two_minus_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10568,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10572,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10573
      start: 10567
    functionDepth: 1
    functionLinenumber: 10567
    functionLinenumberEnd: 10573
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_axisswap_minus_two_one_followed_two_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10578,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10579,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10582,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10583
      start: 10577
    functionDepth: 1
    functionLinenumber: 10577
    functionLinenumberEnd: 10583
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_axisswap_two_minus_one_followed_minus_two_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10588,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10592,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10593
      start: 10587
    functionDepth: 1
    functionLinenumber: 10587
    functionLinenumberEnd: 10593
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_axisswap_two_minus_one_followed_one_minus_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10603,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10604,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10608,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10608,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10615,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10616,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10620,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10621,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10630,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10631,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10635,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10636,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10645,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10646,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10650,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10651,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10659,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10660,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10665,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10666,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10674,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10675,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10681,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10597
    functionDepth: 1
    functionLinenumber: 10597
    functionLinenumberEnd: 10685
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_unitconvert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10702,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10703,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10704,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10706
      start: 10689
    functionDepth: 1
    functionLinenumber: 10689
    functionLinenumberEnd: 10706
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ingestPROJString
    - auto::toString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_unmodified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10713,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10714,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10715,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10717,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10718,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10720,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10721,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10722,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10723,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10725,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10725,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10736,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10737,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10738,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10739,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10741,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10741,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10748,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10749,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10750,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10753,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10753,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10760,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10762,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10763,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10764,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10765,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10767,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10768,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10770,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10773,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10773,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10784,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10785,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10786,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10788,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10789,1
    - Dst: auto::startInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10791,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10792,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10793,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/test/unit/test_io.cpp:10794,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10796,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10796,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10804,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10805,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10806,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10808,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10809,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10811,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10812,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10814,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10819
      start: 10710
    functionDepth: 1
    functionLinenumber: 10710
    functionLinenumberEnd: 10819
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::startInversion
    - auto::toString
    - EXPECT_EQ
    - auto::ingestPROJString
    - auto::stopInversion
    - PROJStringFormatter::create
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_optim_hgridshift_vgridshift_hgridshift_inv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10826,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10827,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10828,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10830,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10831,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10832,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10834,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10835,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10837,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10838,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10839,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10841,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10842,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10844,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10845,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10846,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10848,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10849,1
    - Dst: auto::addStep
      Src: /src/PROJ/test/unit/test_io.cpp:10851,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10852,1
    - Dst: auto::addParam
      Src: /src/PROJ/test/unit/test_io.cpp:10853,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10855,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10862
      start: 10823
    functionDepth: 1
    functionLinenumber: 10823
    functionLinenumberEnd: 10862
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::addParam
    - auto::addStep
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_optim_as_uc_vgridshift_uc_as_push_as_uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10869,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10870,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10877,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10877,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10882,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10883,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_io.cpp:10891,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10891,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10896,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10897,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_io.cpp:10905,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10907
      start: 10866
    functionDepth: 1
    functionLinenumber: 10866
    functionLinenumberEnd: 10907
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - auto::ingestPROJString
    - EXPECT_NE
    - PROJStringFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_krovak_to_krovak_east_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10914,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10915,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10921,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10921,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10926,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10927,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_io.cpp:10934,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10934,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:10939,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:10940,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_io.cpp:10947,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10949
      start: 10911
    functionDepth: 1
    functionLinenumber: 10911
    functionLinenumberEnd: 10949
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - EXPECT_EQ
    - auto::ingestPROJString
    - EXPECT_NE
    - PROJStringFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projstringformatter_krovak_east_north_to_krovak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:10974,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:10975,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10976,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:10978,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:10978,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10979,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10979,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:10983,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:10985,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10986,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:10988,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:10988,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:10989,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:10989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10991
      start: 10953
    functionDepth: 1
    functionLinenumber: 10953
    functionLinenumberEnd: 10991
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:10996,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:10998,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:10999,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11001,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11001,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11002,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11020
      start: 10995
    functionDepth: 1
    functionLinenumber: 10995
    functionLinenumberEnd: 11020
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_datum_NAD83)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11025,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11027,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11028,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11030,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11031,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11049
      start: 11024
    functionDepth: 1
    functionLinenumber: 11024
    functionLinenumberEnd: 11049
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_datum_NAD27)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11054,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11056,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11057,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11059,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11059,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11060,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11078
      start: 11053
    functionDepth: 1
    functionLinenumber: 11053
    functionLinenumberEnd: 11078
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_datum_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11083,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11085,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11086,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11088,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11089,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11089,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11103,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11104
      start: 11082
    functionDepth: 1
    functionLinenumber: 11082
    functionLinenumberEnd: 11104
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_ellps_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11109,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11111,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11112,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11114,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11115,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11115,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11129,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11130
      start: 11108
    functionDepth: 1
    functionLinenumber: 11108
    functionLinenumberEnd: 11130
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_ellps_GRS80)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11135,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11137,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11138,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11140,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11141,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11141,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11155,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11155,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11156,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11157
      start: 11134
    functionDepth: 1
    functionLinenumber: 11134
    functionLinenumberEnd: 11157
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11162,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11164,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11165,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11167,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11168,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11182,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11182,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11183,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11184
      start: 11161
    functionDepth: 1
    functionLinenumber: 11161
    functionLinenumberEnd: 11184
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_rf_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11189,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11191,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11192,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11194,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11195,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11209,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11210
      start: 11188
    functionDepth: 1
    functionLinenumber: 11188
    functionLinenumberEnd: 11210
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11215,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11217,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11218,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11220,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11221,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11235,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11236
      start: 11214
    functionDepth: 1
    functionLinenumber: 11214
    functionLinenumberEnd: 11236
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_f_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11241,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11243,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11245,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11245,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11248
      start: 11240
    functionDepth: 0
    functionLinenumber: 11240
    functionLinenumberEnd: 11248
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_f_non_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11253,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11255,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11257,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11257,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11258,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:11259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11260
      start: 11252
    functionDepth: 0
    functionLinenumber: 11252
    functionLinenumberEnd: 11260
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11265,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11267,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11268,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11269,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11269,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11270,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_io.cpp:11271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11272
      start: 11264
    functionDepth: 0
    functionLinenumber: 11264
    functionLinenumberEnd: 11272
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11278,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11279,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11280,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11281,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11281,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11282,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11283
      start: 11276
    functionDepth: 0
    functionLinenumber: 11276
    functionLinenumberEnd: 11283
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11289,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11290,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11291,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11292,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11293,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11294
      start: 11287
    functionDepth: 0
    functionLinenumber: 11287
    functionLinenumberEnd: 11294
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11299,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11301,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11302,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11303,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11304,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11305,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11305,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_io.cpp:11306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11307
      start: 11298
    functionDepth: 0
    functionLinenumber: 11298
    functionLinenumberEnd: 11307
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::ellipsoid
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_a_override_ellps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11312,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11314,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11315,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11317,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11318,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11333,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11334
      start: 11311
    functionDepth: 1
    functionLinenumber: 11311
    functionLinenumberEnd: 11334
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_pm_paris)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11339,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11341,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11342,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11344,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11345,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11345,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11361,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11362
      start: 11338
    functionDepth: 1
    functionLinenumber: 11338
    functionLinenumberEnd: 11362
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_pm_ferro)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11367,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11369,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11370,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11372,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11373,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11373,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11388,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11389
      start: 11366
    functionDepth: 1
    functionLinenumber: 11366
    functionLinenumberEnd: 11389
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_pm_numeric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11399,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11401,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11402,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11403,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:11403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11404,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:11404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11405
      start: 11393
    functionDepth: 0
    functionLinenumber: 11393
    functionLinenumberEnd: 11405
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - PROJStringParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_pm_overriding_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11414,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11416,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11417,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11418,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11419,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11420,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11421,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11421,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11425
      start: 11409
    functionDepth: 1
    functionLinenumber: 11409
    functionLinenumberEnd: 11425
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_complex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11430,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11432,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11433,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11435,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11436,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11436,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11438,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11439,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11439,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11442,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11442,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11445,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11445,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11448,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11452,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11453,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11458
      start: 11429
    functionDepth: 1
    functionLinenumber: 11429
    functionLinenumberEnd: 11458
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_towgs84_3_terms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11463,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11466,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11468,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11469,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11469,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11471,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11472,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11472,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11475,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11475,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11478,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11478,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11481,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11484,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11488,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11489,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11494
      start: 11462
    functionDepth: 1
    functionLinenumber: 11462
    functionLinenumberEnd: 11494
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_towgs84_7_terms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:11501,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:11502,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11508,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11511,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11512,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11519
      start: 11498
    functionDepth: 1
    functionLinenumber: 11498
    functionLinenumberEnd: 11519
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_towgs84_7_terms_autocorrect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11524,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11526,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11527,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11529,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11530,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11530,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11532,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11533,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11533,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11534,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11534,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11538,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11539,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11543
      start: 11523
    functionDepth: 1
    functionLinenumber: 11523
    functionLinenumberEnd: 11543
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_nadgrids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11548,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11551,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11552,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11553,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/test/unit/test_io.cpp:11553,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:11553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11554
      start: 11547
    functionDepth: 1
    functionLinenumber: 11547
    functionLinenumberEnd: 11554
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::baseCRS
    - dynamic_cast<GeographicCRS *>
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_nadgrids_towgs84_ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11559,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11562,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11564,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11565,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11565,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11567,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11568,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11568,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11571,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11571,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11575,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11576,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11582
      start: 11558
    functionDepth: 1
    functionLinenumber: 11558
    functionLinenumberEnd: 11582
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_geoidgrids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11587,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11589,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11590,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11592,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11593,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11594,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11594,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11596,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11597,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11601
      start: 11586
    functionDepth: 1
    functionLinenumber: 11586
    functionLinenumberEnd: 11601
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - nn_dynamic_pointer_cast<CompoundCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_geoidgrids_vunits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11606,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11608,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11609,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11611,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11612,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11613,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11613,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11615,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11616,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11620
      start: 11605
    functionDepth: 1
    functionLinenumber: 11605
    functionLinenumberEnd: 11620
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_vunits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11625,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11626,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11627,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11628,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11628,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11630
      start: 11624
    functionDepth: 1
    functionLinenumber: 11624
    functionLinenumberEnd: 11630
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_vunits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11636,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11637,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11638,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11639,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11639,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11641
      start: 11634
    functionDepth: 1
    functionLinenumber: 11634
    functionLinenumberEnd: 11641
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_vto_meter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11646,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11648,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11649,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11651,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11652,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11653,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11653,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11655,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11656,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11656,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11659,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11659,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11663,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11664,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11665,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11666,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11666,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11668
      start: 11645
    functionDepth: 1
    functionLinenumber: 11645
    functionLinenumberEnd: 11668
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_axis_enu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11673,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11675,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11676,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11678,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11679,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11680,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11680,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11682,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11683,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11683,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11686,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11686,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11690,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11691,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11692,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11693,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11693,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11695
      start: 11672
    functionDepth: 1
    functionLinenumber: 11672
    functionLinenumberEnd: 11695
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_axis_neu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11700,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11702,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11703,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11705,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11706,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11707,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11707,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11709,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11710,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11710,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11713,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11713,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11717,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11718,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11720,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11720,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11723
      start: 11699
    functionDepth: 1
    functionLinenumber: 11699
    functionLinenumberEnd: 11723
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_axis_swu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11728,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11731,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11732,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11734,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11735,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11736,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11737,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11737,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11739
      start: 11727
    functionDepth: 1
    functionLinenumber: 11727
    functionLinenumberEnd: 11739
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_unitconvert_deg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11744,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11747,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11748,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11751,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11752,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11753,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11753,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11757
      start: 11743
    functionDepth: 1
    functionLinenumber: 11743
    functionLinenumberEnd: 11757
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_unitconvert_grad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11762,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11765,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11766,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11768,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11769,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11770,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11771,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11771,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11774
      start: 11761
    functionDepth: 1
    functionLinenumber: 11761
    functionLinenumberEnd: 11774
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_unitconvert_rad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/PROJ/test/unit/test_io.cpp:11781,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11781,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11781,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11782,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11782,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_io.cpp:11786,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11787,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11788,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11789,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:11791,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:11792,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11793,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11794,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:11795,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:11795,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11796,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11796,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11797,1
    - Dst: atoi
      Src: /src/PROJ/test/unit/test_io.cpp:11797,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_io.cpp:11802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11806
      start: 11778
    functionDepth: 1
    functionLinenumber: 11778
    functionLinenumberEnd: 11806
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - abs
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    - std::string
    - atoi
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_axisswap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11811,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11813,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11814,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11816,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11817,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11817,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11851,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11810
    functionDepth: 1
    functionLinenumber: 11810
    functionLinenumberEnd: 11852
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_tmerc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11857,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11859,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11860,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11862,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11863,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11863,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11898,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11898,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11900,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11905,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:11906,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:11906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11908
      start: 11856
    functionDepth: 1
    functionLinenumber: 11856
    functionLinenumberEnd: 11908
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_tmerc_south_oriented)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11913,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11915,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11916,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11918,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11919,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11920,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11920,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11921,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11922,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11924
      start: 11912
    functionDepth: 1
    functionLinenumber: 11912
    functionLinenumberEnd: 11924
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_lcc_as_lcc1sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11929,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11931,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11932,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11934,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11935,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11936,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11936,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11937,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11938,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11941
      start: 11928
    functionDepth: 1
    functionLinenumber: 11928
    functionLinenumberEnd: 11941
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_lcc_as_lcc1sp_variant_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11946,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11948,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11949,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11951,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11952,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11953,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11953,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11954,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11955,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11957
      start: 11945
    functionDepth: 1
    functionLinenumber: 11945
    functionLinenumberEnd: 11957
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_lcc_as_lcc2sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11962,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11964,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11965,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11967,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11968,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11969,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11969,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11970,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11971,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11974
      start: 11961
    functionDepth: 1
    functionLinenumber: 11961
    functionLinenumberEnd: 11974
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_lcc_as_lcc2sp_michigan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11980,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11981,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11982,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:11984,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:11985,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:11986,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:11986,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:11987,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11988,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:11988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11989
      start: 11978
    functionDepth: 1
    functionLinenumber: 11978
    functionLinenumberEnd: 11989
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_aeqd_guam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:11997,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:11998,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:11999,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12000,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12000,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12002,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12003,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12004,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:12008,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:12009,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:12009,1
    - Dst: Conversion::createLambertCylindricalEqualArea
      Src: /src/PROJ/test/unit/test_io.cpp:12010,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:12011,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_io.cpp:12011,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_io.cpp:12011,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_io.cpp:12011,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_io.cpp:12011,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:12012,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12013,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12013,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12016,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12017,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12017,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12018,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12019,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12020
      start: 11993
    functionDepth: 1
    functionLinenumber: 11993
    functionLinenumberEnd: 12020
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Conversion::createLambertCylindricalEqualArea
    - Angle
    - EXPECT_EQ
    - auto::baseCRS
    - auto::coordinateSystem
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - auto::isEquivalentTo
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_cea_spherical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12027,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12028,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12029,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12030,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12032,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12033,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12037
      start: 12024
    functionDepth: 1
    functionLinenumber: 12024
    functionLinenumberEnd: 12037
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_cea_spherical_on_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12042,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12044,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12045,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12047,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12048,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12049,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12049,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12050,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12051,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12056
      start: 12041
    functionDepth: 1
    functionLinenumber: 12041
    functionLinenumberEnd: 12056
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_cea_ellipsoidal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12061,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12063,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12064,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12066,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12067,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12068,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12068,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12069,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12070,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12074
      start: 12060
    functionDepth: 1
    functionLinenumber: 12060
    functionLinenumberEnd: 12074
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_cea_ellipsoidal_with_k_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12081,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12082,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12084,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12084,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12086,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12087,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12091
      start: 12078
    functionDepth: 1
    functionLinenumber: 12078
    functionLinenumberEnd: 12091
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_spherical_on_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12096,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12098,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12099,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12101,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12102,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12103,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12103,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12104,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12105,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12108
      start: 12095
    functionDepth: 1
    functionLinenumber: 12095
    functionLinenumberEnd: 12108
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_geos_sweep_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12114,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12115,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12116,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12118,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12119,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12120,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12120,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12121,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12122,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12125
      start: 12112
    functionDepth: 1
    functionLinenumber: 12112
    functionLinenumberEnd: 12125
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_geos_sweep_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12130,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12132,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12133,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12135,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12136,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12137,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12137,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12138,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12139,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12139,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12142,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12145,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12148
      start: 12129
    functionDepth: 1
    functionLinenumber: 12129
    functionLinenumberEnd: 12148
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_omerc_nouoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12153,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12155,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12156,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12158,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12159,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12160,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12160,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12161,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12162,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12167
      start: 12152
    functionDepth: 1
    functionLinenumber: 12152
    functionLinenumberEnd: 12167
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_omerc_tpno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12172,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12174,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12175,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12177,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12178,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12179,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12179,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12180,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12181,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12181,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12184,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12187
      start: 12171
    functionDepth: 1
    functionLinenumber: 12171
    functionLinenumberEnd: 12187
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_omerc_variant_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12192,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12194,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12195,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12197,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12198,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12199,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12199,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12201,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12201,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12204,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12204,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12207,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12207,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12210,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12210,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12213,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12213,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12216,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12216,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12219,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12219,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12222,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12222,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12226,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12227,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12228,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12229
      start: 12191
    functionDepth: 1
    functionLinenumber: 12191
    functionLinenumberEnd: 12229
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - WKTFormatter::create
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_somerc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12235,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12236,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12237,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12239,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12240,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12241,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12241,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12242,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12243,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12247
      start: 12233
    functionDepth: 1
    functionLinenumber: 12233
    functionLinenumberEnd: 12247
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_krovak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12252,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12254,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12255,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12257,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12258,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12259,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12259,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12260,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12261,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12264
      start: 12251
    functionDepth: 1
    functionLinenumber: 12251
    functionLinenumberEnd: 12264
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_krovak_axis_swu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12269,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12271,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12273,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12273,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12273,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12278,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12279,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12280,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12280,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12281,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12282,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12282,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12285,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12285,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12288,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12291
      start: 12268
    functionDepth: 1
    functionLinenumber: 12268
    functionLinenumberEnd: 12291
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - WKTFormatterNNPtr::get
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_krovak_czech)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12297,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12298,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12299,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12301,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12302,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12303,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12303,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12304,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12305,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12309
      start: 12295
    functionDepth: 1
    functionLinenumber: 12295
    functionLinenumberEnd: 12309
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_krovak_modified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12314,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12316,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12317,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12319,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12320,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12321,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12321,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12322,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12323,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12326
      start: 12313
    functionDepth: 1
    functionLinenumber: 12313
    functionLinenumberEnd: 12326
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_krovak_modified_axis_swu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12331,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12333,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12335,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12335,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12335,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12340,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12341,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12342,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12342,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12343,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12344,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12344,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12347,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12347,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12350,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12353
      start: 12330
    functionDepth: 1
    functionLinenumber: 12330
    functionLinenumberEnd: 12353
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - WKTFormatterNNPtr::get
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_krovak_modified_czech)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12359,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12360,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12361,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12362,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12363,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12364,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12369,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12370,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12371,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12376,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12377,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12378,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12379
      start: 12357
    functionDepth: 1
    functionLinenumber: 12357
    functionLinenumberEnd: 12379
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_etmerc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12384,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12386,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12387,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12388,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12389,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12390,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12395,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12396,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12397,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12402,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12403,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12404,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12408
      start: 12383
    functionDepth: 1
    functionLinenumber: 12383
    functionLinenumberEnd: 12408
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_tmerc_approx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12413,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12415,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12416,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12418,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12419,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12420,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12420,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12421,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12422,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12423,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12426,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12429
      start: 12412
    functionDepth: 1
    functionLinenumber: 12412
    functionLinenumberEnd: 12429
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_variant_B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12437,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12438,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12439,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12441,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12442,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12443,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12443,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12444,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12445,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12445,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12448,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12448,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12452,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:12453,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12453,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12456
      start: 12433
    functionDepth: 1
    functionLinenumber: 12433
    functionLinenumberEnd: 12456
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - replaceAll
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_google_mercator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12464,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12467,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:12467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12468,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12468,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12470,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:12471,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12471,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12471,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12475,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12476,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12510,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:12512,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12513,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12514,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12515,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12515,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12517
      start: 12460
    functionDepth: 1
    functionLinenumber: 12460
    functionLinenumberEnd: 12517
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - auto::nameStr
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - auto::derivingConversion
    - auto::isEquivalentTo
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    - replaceAll
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_google_mercator_non_metre_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12525,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12526,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12527,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12529,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12530,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12531,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12531,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12532,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12533,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12533,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12536,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12536,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12540,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_io.cpp:12541,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12541,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12544
      start: 12521
    functionDepth: 1
    functionLinenumber: 12521
    functionLinenumberEnd: 12544
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - replaceAll
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_not_quite_google_mercator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12549,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12551,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12552,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12554,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12555,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12556,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12556,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12557,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12558,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12563
      start: 12548
    functionDepth: 1
    functionLinenumber: 12548
    functionLinenumberEnd: 12563
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_stere_polar_variant_B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12568,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12570,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12571,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12573,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12574,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12575,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12575,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12576,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12577,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12567
    functionDepth: 1
    functionLinenumber: 12567
    functionLinenumberEnd: 12582
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_stere_polar_variant_A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12587,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12589,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12590,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12591,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12592,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12593,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12594,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12598,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12598,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12601,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12602,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12607
      start: 12586
    functionDepth: 1
    functionLinenumber: 12586
    functionLinenumberEnd: 12607
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_stere_polar_k_and_lat_ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:12612,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12615
      start: 12611
    functionDepth: 0
    functionLinenumber: 12611
    functionLinenumberEnd: 12615
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - PROJStringParser
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_stere_polar_k_and_lat_ts_incompatible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12620,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12622,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12623,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12625,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12626,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12627,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12627,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12628,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12629,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12631
      start: 12619
    functionDepth: 1
    functionLinenumber: 12619
    functionLinenumberEnd: 12631
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_merc_stere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12637,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12638,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12639,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12641,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12642,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12643,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12643,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12644,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12645,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12645,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12648,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12648,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12651,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12652
      start: 12635
    functionDepth: 1
    functionLinenumber: 12635
    functionLinenumberEnd: 12652
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_utm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12657,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12659,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12660,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12662,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12663,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12664,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12664,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12665,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12666,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12666,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12669,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12669,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12672,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12674
      start: 12656
    functionDepth: 1
    functionLinenumber: 12656
    functionLinenumberEnd: 12674
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_utm_south)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12679,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12681,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12682,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12684,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12685,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12686,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12686,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12687,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12688,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12688,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12689,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12690
      start: 12678
    functionDepth: 1
    functionLinenumber: 12678
    functionLinenumberEnd: 12690
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_laea_north_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12695,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12697,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12698,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:12700,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:12701,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:12702,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:12702,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:12703,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12704,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12704,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12705,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:12705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12706
      start: 12694
    functionDepth: 1
    functionLinenumber: 12694
    functionLinenumberEnd: 12706
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_laea_south_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12711,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12713,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12714,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12715,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12715,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:12718,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:12719,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:12719,1
    - Dst: Conversion::createLambertAzimuthalEqualArea
      Src: /src/PROJ/test/unit/test_io.cpp:12720,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:12721,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_io.cpp:12721,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_io.cpp:12721,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_io.cpp:12721,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_io.cpp:12721,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:12722,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12723,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12723,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12726,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12727,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12727,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12728,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12729,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12730
      start: 12710
    functionDepth: 1
    functionLinenumber: 12710
    functionLinenumberEnd: 12730
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - auto::isEquivalentTo
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - Conversion::createLambertAzimuthalEqualArea
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_laea_spherical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12735,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12737,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12738,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12739,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12741
      start: 12734
    functionDepth: 0
    functionLinenumber: 12734
    functionLinenumberEnd: 12741
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_laea_ellipsoidal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12748,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12749,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12750,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12751,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12753,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12754,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12758
      start: 12745
    functionDepth: 1
    functionLinenumber: 12745
    functionLinenumberEnd: 12758
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_laea_spherical_on_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12763,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12765,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12766,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12767,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12767,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_io.cpp:12770,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:12771,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:12771,1
    - Dst: Conversion::createEquidistantCylindrical
      Src: /src/PROJ/test/unit/test_io.cpp:12772,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_io.cpp:12773,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_io.cpp:12773,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_io.cpp:12773,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_io.cpp:12773,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_io.cpp:12773,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:12774,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12775,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12775,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12778,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12779,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12779,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12780,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_io.cpp:12781,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:12781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12782
      start: 12762
    functionDepth: 1
    functionLinenumber: 12762
    functionLinenumberEnd: 12782
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - Conversion::createEquidistantCylindrical
    - EXPECT_EQ
    - auto::baseCRS
    - auto::coordinateSystem
    - auto::isEquivalentTo
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_eqc_spherical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12787,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12789,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12790,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12791,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12793
      start: 12786
    functionDepth: 0
    functionLinenumber: 12786
    functionLinenumberEnd: 12793
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_eqc_ellipsoidal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12800,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12801,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12803,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12804,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12808
      start: 12797
    functionDepth: 1
    functionLinenumber: 12797
    functionLinenumberEnd: 12808
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_non_earth_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12815,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12816,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12817,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12818,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12818,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12820,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12821,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12825
      start: 12812
    functionDepth: 1
    functionLinenumber: 12812
    functionLinenumberEnd: 12825
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ortho_ellipsoidal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12832,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12833,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12834,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12835,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12835,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12837,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12838,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12842
      start: 12829
    functionDepth: 1
    functionLinenumber: 12829
    functionLinenumberEnd: 12842
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ortho_with_alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12849,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12850,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12851,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12852,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12852,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12854,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12855,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12859
      start: 12846
    functionDepth: 1
    functionLinenumber: 12846
    functionLinenumberEnd: 12859
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ortho_with_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12866,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12867,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12868,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12869,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:12869,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12871,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12872,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12876
      start: 12863
    functionDepth: 1
    functionLinenumber: 12863
    functionLinenumberEnd: 12876
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ortho_spherical_on_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12883,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12884,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12885,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12886,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12887,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12891
      start: 12880
    functionDepth: 1
    functionLinenumber: 12880
    functionLinenumberEnd: 12891
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ortho_spherical_on_sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12897,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12898,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12899,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12900,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12901,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12906
      start: 12895
    functionDepth: 1
    functionLinenumber: 12895
    functionLinenumberEnd: 12906
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_peirce_q_square)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12912,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12915,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12916,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12921
      start: 12910
    functionDepth: 1
    functionLinenumber: 12910
    functionLinenumberEnd: 12921
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_peirce_q_diamond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12928,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12930,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12931,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12932,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12936
      start: 12925
    functionDepth: 1
    functionLinenumber: 12925
    functionLinenumberEnd: 12936
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_peirce_q_horizontal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12942,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12943,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12944,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:12945,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12946,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12950
      start: 12940
    functionDepth: 1
    functionLinenumber: 12940
    functionLinenumberEnd: 12950
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_peirce_q_invalid_lat_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12956,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12957,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12958,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:12959,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12960,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12964
      start: 12954
    functionDepth: 1
    functionLinenumber: 12954
    functionLinenumberEnd: 12964
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_peirce_q_invalid_k_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12975,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12976,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12977,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:12978,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:12979,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12980,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:12981,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:12981,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:12981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12986
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 12986
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_axisswap_unitconvert_longlat_proj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:12995,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:12996,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:12997,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:12998,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:12999,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13000,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13001,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13001,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13006
      start: 12990
    functionDepth: 1
    functionLinenumber: 12990
    functionLinenumberEnd: 13006
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_axisswap_unitconvert_proj_axisswap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13016,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13017,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13018,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:13019,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:13020,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13021,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13022,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13022,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13027
      start: 13010
    functionDepth: 1
    functionLinenumber: 13010
    functionLinenumberEnd: 13027
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_axisswap_unitconvert_proj_unitconvert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13037,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13038,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13039,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:13040,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:13041,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13042,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13043,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13043,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13049
      start: 13031
    functionDepth: 1
    functionLinenumber: 13031
    functionLinenumberEnd: 13049
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_axisswap_unitconvert_proj_unitconvert_numeric_axisswap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13054,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13056,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13057,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13059,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13060,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13061,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13061,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13062,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13063,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13063,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13066,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13069
      start: 13053
    functionDepth: 1
    functionLinenumber: 13053
    functionLinenumberEnd: 13069
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_units)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13074,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13076,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13077,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13079,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13080,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13081,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13081,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13082,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13083,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13083,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13086,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13089
      start: 13073
    functionDepth: 1
    functionLinenumber: 13073
    functionLinenumberEnd: 13089
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_to_meter_known)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13094,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13096,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13097,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13099,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13100,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13101,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13101,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13102,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13103,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13104,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13108,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13112
      start: 13093
    functionDepth: 1
    functionLinenumber: 13093
    functionLinenumberEnd: 13112
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_to_meter_unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13117,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13119,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13120,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13121,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13122,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:13122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13123,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_io.cpp:13123,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_io.cpp:13123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13124
      start: 13116
    functionDepth: 0
    functionLinenumber: 13116
    functionLinenumberEnd: 13124
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - unit
    - auto::coordinateSystem
    - EXPECT_EQ
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_vunits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13129,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13132,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13133,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13137,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13138,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13139,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13139,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13140,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13141,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13142,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13167,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13168,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13169,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13169,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13171,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13174,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13174,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13174,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:13179,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13180,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13181,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13184,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13185,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13186,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13186,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13187,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13188,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13198
      start: 13128
    functionDepth: 1
    functionLinenumber: 13128
    functionLinenumberEnd: 13198
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13203,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13205,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13206,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13208,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13209,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13210,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13210,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13220
      start: 13202
    functionDepth: 1
    functionLinenumber: 13202
    functionLinenumberEnd: 13220
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_geocent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13225,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13227,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13228,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_io.cpp:13230,1
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_io.cpp:13231,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13232,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_io.cpp:13232,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_io.cpp:13233,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13234,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13235,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13238,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13238,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13241,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13241,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13244,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13248,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13249,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13254
      start: 13224
    functionDepth: 1
    functionLinenumber: 13224
    functionLinenumberEnd: 13254
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - nn_dynamic_pointer_cast<BoundCRS>
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - PROJStringParser
    - PROJStringFormatter::create
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_geocent_towgs84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13262,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13263,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13264,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:13265,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:13266,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13267,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13268,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13268,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13274
      start: 13258
    functionDepth: 1
    functionLinenumber: 13258
    functionLinenumberEnd: 13274
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_cart_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13282,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13283,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13284,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:13285,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:13286,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13288,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13289,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13295
      start: 13278
    functionDepth: 1
    functionLinenumber: 13278
    functionLinenumberEnd: 13295
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_cart_unit_numeric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13301,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13302,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13304,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13305,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13309
      start: 13299
    functionDepth: 1
    functionLinenumber: 13299
    functionLinenumberEnd: 13309
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_wktext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13315,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13316,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13318,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13319,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13323
      start: 13313
    functionDepth: 1
    functionLinenumber: 13313
    functionLinenumberEnd: 13323
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_geocent_wktext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13329,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13330,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13331,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13332,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/test/unit/test_io.cpp:13332,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13334,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13335,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13340,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13341,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13346
      start: 13327
    functionDepth: 1
    functionLinenumber: 13327
    functionLinenumberEnd: 13346
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::isSphericalPlanetocentric
    - PROJStringParser
    - ASSERT_TRUE
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_geoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13351,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13354,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13355,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13392,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13393,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13396
      start: 13350
    functionDepth: 1
    functionLinenumber: 13350
    functionLinenumberEnd: 13396
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_topocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13402,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13403,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13404,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13405,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13406,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13411
      start: 13400
    functionDepth: 1
    functionLinenumber: 13400
    functionLinenumberEnd: 13411
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_wktext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13424,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13425,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13426,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_io.cpp:13427,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_io.cpp:13428,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13429,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13439,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13439,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13442
      start: 13415
    functionDepth: 1
    functionLinenumber: 13415
    functionLinenumberEnd: 13442
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - NN_NO_CHECK
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ob_tran_longlat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13450,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13451,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13452,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13453,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13453,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13455
      start: 13446
    functionDepth: 1
    functionLinenumber: 13446
    functionLinenumberEnd: 13455
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_ob_tran_rhealpix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13464,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13466,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13467,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13467,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13468,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13469,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13469,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13470,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:13470,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13471,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13472,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13477
      start: 13459
    functionDepth: 1
    functionLinenumber: 13459
    functionLinenumberEnd: 13477
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - auto::baseCRS
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13488,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13489,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13490,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13491,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13491,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13492,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13493,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13494,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13494,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13495,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13496,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13502
      start: 13481
    functionDepth: 1
    functionLinenumber: 13481
    functionLinenumberEnd: 13502
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::nameStr
    - auto::baseCRS
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:13507,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13510,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13511,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13517,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13518,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13519,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13520,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13520,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/test/unit/test_io.cpp:13521,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13527,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13529,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13530,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13532,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13532,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13533,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_io.cpp:13533,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13540,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13541,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13542,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13543,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13543,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_io.cpp:13544,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13549,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:13550,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13551,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13552,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13552,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13552,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13559,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13562,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13563,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13563,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13564,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13564,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13564,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13569,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:13572,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13573,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13574,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:13574,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13578
      start: 13506
    functionDepth: 1
    functionLinenumber: 13506
    functionLinenumberEnd: 13578
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::exportToWKT
    - auto::nameStr
    - EllipsoidalCS::createLongitudeLatitude
    - WKTFormatter::create
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<CoordinateOperation>
    - auto::exportToPROJString
    - auto::find
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - createFromUserInput
    - nn_dynamic_pointer_cast<GeographicCRS>
    - CartesianCS::createEastingNorthing
    - PROJStringFormatter::create
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13583,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13583,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13585,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13585,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13588,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13588,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13591,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13591,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13594,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13595,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13598,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13599,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13603,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13603,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13607,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13607,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13611,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13614
      start: 13582
    functionDepth: 0
    functionLinenumber: 13582
    functionLinenumberEnd: 13614
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - PROJStringParser
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13619,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13619,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13623,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13623,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13627,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13627,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13631,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13631,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13635,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13635,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13639,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13639,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13643,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13643,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13647,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13647,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13651,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13652,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13655,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13655,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13659,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13660,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13663,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13663,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13667,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13667,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13672,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13672,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13676,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13676,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13681,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13681,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13686,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13686,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13694
      start: 13618
    functionDepth: 0
    functionLinenumber: 13618
    functionLinenumberEnd: 13694
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - PROJStringParser
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_longlat_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13699,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13699,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13702,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13702,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13705,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13705,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13709,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:13710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13714
      start: 13698
    functionDepth: 0
    functionLinenumber: 13698
    functionLinenumberEnd: 13714
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - PROJStringParser
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(io, projparse_projected_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:13719,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13720,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13720,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13721,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13721,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13722,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13722,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13724,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13724,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13725,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13725,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13727,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13728,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13730,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13730,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13733,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13733,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13737,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13737,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13741,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13742,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13746,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13746,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13751,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13752,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13757,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13758,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13764,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13764,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13765,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13765,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13766,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13766,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13767,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13767,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13768,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13769,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13770,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13771,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13772,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13772,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13774,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13774,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13776,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13777,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13778,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13779,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13780,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13781,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13782,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13783,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13785,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13785,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13786,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13786,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13787,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13788,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13789,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13790,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13791,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13792,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13794,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13794,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13796,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13796,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13800,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13801,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13804,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13805,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13806,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13807,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13808,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13809,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13810,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13811,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13812,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13812,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13814,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13815,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13819,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13820,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13822,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13822,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13827,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13828,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13829,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13830,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13830,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13834,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13835,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13836,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13837,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13837,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13840,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13840,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13842,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13842,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13846,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13848,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13849,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13850,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13850,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13855,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13859,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13860,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13861,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13861,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13862,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13862,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13863,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13863,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13864,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:13864,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13869,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13870,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13871,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13872,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13872,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13873,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/test/unit/test_io.cpp:13873,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13874,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13874,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13899,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13900,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13900,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13907,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13907,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13912,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13913,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13915,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:13915,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13916,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13916,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13917,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13917,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13918,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13918,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13955,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:13956,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:13956,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13962,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13962,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13968,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13968,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13973,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13973,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:13978,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13978,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13986,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:13990,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:13991,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13992,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:13992,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13993,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:13993,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:13994,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:13994,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:13998,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14002,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14004,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:14004,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14005,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:14005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14006,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14006,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14010,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14014,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14015,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14016,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:14016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14017,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:14017,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14018,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14018,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14024,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14028,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14029,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14030,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14031,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:14031,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14032,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:14032,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14033,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14033,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14039,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14043,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14044,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14045,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14045,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14051,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14055,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14056,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14057,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14057,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14062,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14066,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14067,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14068,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14068,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14074,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14078,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14079,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14080,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14080,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14086,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14090,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14091,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14092,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14092,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14096,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:14100,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14102,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14102,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14105,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14105,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14120,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14120,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14123,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14124,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14125,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14129,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14131,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14133,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14133,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14134,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14134,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14136,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14136,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14137,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14137,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14141,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14143,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14144,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14144,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14149,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14150,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14151,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14152,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14152,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14157,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14159,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14161,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14161,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14166,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14167,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14169,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14169,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14174,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14175,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14176,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14177,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14177,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14182,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14183,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14184,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14185,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14185,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14190,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14192,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14194,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:14194,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14197,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14197,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14199,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14199,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14203,1
    - Dst: nn_dynamic_pointer_cast<DatumEnsemble>
      Src: /src/PROJ/test/unit/test_io.cpp:14205,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14206,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14207,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:14207,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14211,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14211,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14214,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14214,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14217,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14217,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14220,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14220,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14223,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14223,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14226,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14226,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14230,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14230,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14233,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14233,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14236,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14236,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14240,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_io.cpp:14242,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14243,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14244,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_io.cpp:14244,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14249,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_io.cpp:14251,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14253,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_io.cpp:14253,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14257,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_io.cpp:14259,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14261,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_io.cpp:14261,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14267,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14268,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14269,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14270,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14270,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14274,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14275
      start: 13718
    functionDepth: 1
    functionLinenumber: 13718
    functionLinenumberEnd: 14275
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - auto::exportToWKT
    - auto::nameStr
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<CoordinateMetadata>
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<DerivedVerticalCRS>
    - auto::coordinateEpochAsDecimalYear
    - auto::getEPSGCode
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - nn_dynamic_pointer_cast<DatumEnsemble>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    - createFromUserInput
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::derivingConversion
    - EXPECT_NO_THROW
    - auto::identifiers
    - nn_dynamic_pointer_cast<DerivedGeodeticCRS>
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, createFromUserInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:14280,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14283,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14285,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14286,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14290,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14292,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14293,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14300,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14302,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14303,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14306,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14307,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14310,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14311,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14314,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14314,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14318,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14319,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14324,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14328,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14329,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14330,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_io.cpp:14330,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14334,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14334,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14339,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14340,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14346,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14347,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14354,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14355,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14362,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14363,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14369,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14375
      start: 14279
    functionDepth: 1
    functionLinenumber: 14279
    functionLinenumberEnd: 14375
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::nameStr
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - ASSERT_TRUE
    - EXPECT_THROW
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, createFromUserInput_ogc_crs_url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14383,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14384,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14386,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14387,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14388,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14388,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14394,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14395,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14396,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14397,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14397,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14398,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14398,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14398,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14405,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14406,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14407,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14408,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14408,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14409,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14410,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14410,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14416,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14417,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14418,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14419,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14420,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14421,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14421,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14427,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14428,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14429,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14430,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14430,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14431,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14432,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14432,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14437,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14437,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14441,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14441,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14443,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14443,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14444,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14444,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14446,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14446,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14449,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14449,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14453,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14454,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14455,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14456,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14457,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14457,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14457,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14464,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14465,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14467,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:14467,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14468,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14468,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14468,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14475,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14476,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14477,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14478,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14478,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14478,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14485,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14486,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14487,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14488,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14488,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14488,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14495,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14496,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14497,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14498,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14498,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14498,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14505,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14506,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14508,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14508,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14508,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14514,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14514,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14519,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14521,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14523,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:14524,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14527
      start: 14379
    functionDepth: 1
    functionLinenumber: 14379
    functionLinenumberEnd: 14527
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - EXPECT_NO_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(io, createFromUserInput_OGC_AUTO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:14532,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14533,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14534,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14535,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_io.cpp:14536,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14537,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_io.cpp:14537,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14539,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_io.cpp:14539,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14540,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_io.cpp:14540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14541
      start: 14531
    functionDepth: 1
    functionLinenumber: 14531
    functionLinenumberEnd: 14541
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - code
    - ASSERT_EQ
    - nn_dynamic_pointer_cast<CRS>
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(io, createFromUserInput_hack_EPSG_102100)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14546,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14546,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14549,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14549,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14555,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14555,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14565,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14574,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14574,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14584,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14584,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14586,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14588
      start: 14545
    functionDepth: 0
    functionLinenumber: 14545
    functionLinenumberEnd: 14588
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - WKTParser
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(io, guessDialect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14614,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14615,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14616,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14618,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:14619,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14622
      start: 14595
    functionDepth: 1
    functionLinenumber: 14595
    functionLinenumberEnd: 14622
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_export, precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14643,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14644,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14645,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14647,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:14648,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14651
      start: 14628
    functionDepth: 1
    functionLinenumber: 14628
    functionLinenumberEnd: 14651
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_export, invalid_linear_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:14672,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:14673,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14674,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14676,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:14677,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14680
      start: 14657
    functionDepth: 1
    functionLinenumber: 14657
    functionLinenumberEnd: 14680
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_export, invalid_angular_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14696,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:14697,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14698,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14699,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14699,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14701
      start: 14684
    functionDepth: 1
    functionLinenumber: 14684
    functionLinenumberEnd: 14701
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ellipsoid_flattened_sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14720,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:14721,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14722,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14723,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14723,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14725
      start: 14705
    functionDepth: 1
    functionLinenumber: 14705
    functionLinenumberEnd: 14725
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ellipsoid_major_minor_custom_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14740,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:14741,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14742,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14743,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14743,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14745
      start: 14729
    functionDepth: 1
    functionLinenumber: 14729
    functionLinenumberEnd: 14745
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ellipsoid_sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14750,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14750,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14751,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14751,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14752,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14752,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14754,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14754,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14757,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14758,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14762,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14766
      start: 14749
    functionDepth: 1
    functionLinenumber: 14749
    functionLinenumberEnd: 14766
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ellipsoid_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14782,1
    - Dst: nn_dynamic_pointer_cast<CoordinateSystemAxis>
      Src: /src/PROJ/test/unit/test_io.cpp:14783,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14784,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14785,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14785,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14787
      start: 14770
    functionDepth: 1
    functionLinenumber: 14770
    functionLinenumberEnd: 14787
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CoordinateSystemAxis>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_meridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14810,1
    - Dst: nn_dynamic_pointer_cast<CoordinateSystemAxis>
      Src: /src/PROJ/test/unit/test_io.cpp:14811,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14812,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14813,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14813,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14815
      start: 14791
    functionDepth: 1
    functionLinenumber: 14791
    functionLinenumberEnd: 14815
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CoordinateSystemAxis>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_meridian_with_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14831,1
    - Dst: nn_dynamic_pointer_cast<CoordinateSystemAxis>
      Src: /src/PROJ/test/unit/test_io.cpp:14832,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14833,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14834,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14834,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14836
      start: 14819
    functionDepth: 1
    functionLinenumber: 14819
    functionLinenumberEnd: 14836
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<CoordinateSystemAxis>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_minimum_value_maximum_value_range_meaning)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14850,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14851
      start: 14840
    functionDepth: 1
    functionLinenumber: 14840
    functionLinenumberEnd: 14851
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_invalid_minimum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14865,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14866
      start: 14855
    functionDepth: 1
    functionLinenumber: 14855
    functionLinenumberEnd: 14866
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_invalid_maximum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14880,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14881
      start: 14870
    functionDepth: 1
    functionLinenumber: 14870
    functionLinenumberEnd: 14881
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_invalid_range_meaning_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14895,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14896
      start: 14885
    functionDepth: 1
    functionLinenumber: 14885
    functionLinenumberEnd: 14896
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, axis_with_invalid_range_meaning_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14914,1
    - Dst: nn_dynamic_pointer_cast<PrimeMeridian>
      Src: /src/PROJ/test/unit/test_io.cpp:14915,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14916,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14917,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14917,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14919
      start: 14900
    functionDepth: 1
    functionLinenumber: 14900
    functionLinenumberEnd: 14919
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<PrimeMeridian>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, prime_meridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14924,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14924,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14928,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14932
      start: 14923
    functionDepth: 1
    functionLinenumber: 14923
    functionLinenumberEnd: 14932
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, prime_meridian_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14947,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:14948,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:14949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:14950,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:14950,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:14950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14952
      start: 14936
    functionDepth: 1
    functionLinenumber: 14936
    functionLinenumberEnd: 14952
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geodetic_reference_frame_with_implicit_prime_meridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14974,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14974,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:14993,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:14993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14995
      start: 14956
    functionDepth: 1
    functionLinenumber: 14956
    functionLinenumberEnd: 14995
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_NO_THROW
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, invalid_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15021,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15022,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15023,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15024,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15024,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15026
      start: 14999
    functionDepth: 1
    functionLinenumber: 14999
    functionLinenumberEnd: 15026
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geodetic_reference_frame_with_explicit_prime_meridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15044,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15045,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15046,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15047,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15047,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15049
      start: 15030
    functionDepth: 1
    functionLinenumber: 15030
    functionLinenumberEnd: 15049
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geodetic_reference_frame_with_anchor_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:15065,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15066
      start: 15053
    functionDepth: 1
    functionLinenumber: 15053
    functionLinenumberEnd: 15066
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geodetic_reference_frame_with_invalid_anchor_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15083,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15084,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15086,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15086,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15088
      start: 15070
    functionDepth: 1
    functionLinenumber: 15070
    functionLinenumberEnd: 15088
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: "void TEST(json_import,\n     dynamic_geodetic_reference_frame_with_implicit_prime_meridian)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15107,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15108,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15110,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15110,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15112
      start: 15092
    functionDepth: 1
    functionLinenumber: 15092
    functionLinenumberEnd: 15112
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_extent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15136,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15137,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15139,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15139,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15141
      start: 15116
    functionDepth: 1
    functionLinenumber: 15116
    functionLinenumberEnd: 15141
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_extent_with_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15160,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15161,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15162,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15163,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15163,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15165
      start: 15145
    functionDepth: 1
    functionLinenumber: 15145
    functionLinenumberEnd: 15165
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, temporal_extent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:15170,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15175
      start: 15169
    functionDepth: 1
    functionLinenumber: 15169
    functionLinenumberEnd: 15175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geodetic_reference_frame_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15186,1
    - Dst: nn_dynamic_pointer_cast<DynamicVerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15187,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15189,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15189,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15191
      start: 15179
    functionDepth: 1
    functionLinenumber: 15179
    functionLinenumberEnd: 15191
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<DynamicVerticalReferenceFrame>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, dynamic_vertical_reference_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15221,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:15222,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15224,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15224,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15226
      start: 15195
    functionDepth: 1
    functionLinenumber: 15195
    functionLinenumberEnd: 15226
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, several_usages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15274,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15275,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15276,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15277,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15277,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15279
      start: 15230
    functionDepth: 1
    functionLinenumber: 15230
    functionLinenumberEnd: 15279
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geographic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15321,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15322,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15324,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15324,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15326
      start: 15283
    functionDepth: 1
    functionLinenumber: 15283
    functionLinenumberEnd: 15326
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geographic_crs_with_deformation_models)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15373,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15374,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15375,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15376,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/test/unit/test_io.cpp:15376,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15377,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15377,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15379
      start: 15330
    functionDepth: 1
    functionLinenumber: 15330
    functionLinenumberEnd: 15379
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_TRUE
    - JSONFormatter::create
    - EXPECT_EQ
    - auto::isSphericalPlanetocentric
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, spherical_planetocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:15384,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15385,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:15388,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15389,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:15404,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15437
      start: 15383
    functionDepth: 1
    functionLinenumber: 15383
    functionLinenumberEnd: 15437
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geographic_crs_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15479,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15480,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15481,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15482,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15482,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15484
      start: 15441
    functionDepth: 1
    functionLinenumber: 15441
    functionLinenumberEnd: 15484
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geocentric_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15601,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15602,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15603,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15605,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15605,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_io.cpp:15607,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15608,1
    - Dst: std::string::substr
      Src: /src/PROJ/test/unit/test_io.cpp:15609,1
    - Dst: std::string::substr
      Src: /src/PROJ/test/unit/test_io.cpp:15610,1
    - Dst: strlen
      Src: /src/PROJ/test/unit/test_io.cpp:15610,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_io.cpp:15611,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_io.cpp:15611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15612
      start: 15488
    functionDepth: 1
    functionLinenumber: 15488
    functionLinenumberEnd: 15612
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - std::string::c_str
    - EXPECT_TRUE
    - JSONFormatter::create
    - std::string::substr
    - std::string::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - strlen
    - EXPECT_STREQ
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15689,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_io.cpp:15690,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15691,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15692,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/test/unit/test_io.cpp:15692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15693
      start: 15616
    functionDepth: 1
    functionLinenumber: 15616
    functionLinenumberEnd: 15693
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Conversion>
    - auto::getEPSGCode
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, conversion_utm_zone_south_wrong_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15836,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15837,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15838,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15839,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_io.cpp:15839,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15841,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15841,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_io.cpp:15843,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15844,1
    - Dst: std::string::substr
      Src: /src/PROJ/test/unit/test_io.cpp:15845,1
    - Dst: std::string::substr
      Src: /src/PROJ/test/unit/test_io.cpp:15846,1
    - Dst: strlen
      Src: /src/PROJ/test/unit/test_io.cpp:15846,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_io.cpp:15847,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_io.cpp:15847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15848
      start: 15697
    functionDepth: 1
    functionLinenumber: 15697
    functionLinenumberEnd: 15848
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - std::string::c_str
    - EXPECT_TRUE
    - JSONFormatter::create
    - std::string::substr
    - auto::baseCRS
    - std::string::find
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - strlen
    - EXPECT_STREQ
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, projected_crs_with_geocentric_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:15917,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:15918,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:15919,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:15920,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:15921,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:15921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15923
      start: 15852
    functionDepth: 1
    functionLinenumber: 15852
    functionLinenumberEnd: 15923
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<CompoundCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, compound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:16021,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:16022,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:16023,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:16024,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:16025,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:16025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16027
      start: 15927
    functionDepth: 1
    functionLinenumber: 15927
    functionLinenumberEnd: 16027
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, bound_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:16138,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:16139,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:16140,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:16141,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:16142,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:16142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16144
      start: 16031
    functionDepth: 1
    functionLinenumber: 16031
    functionLinenumberEnd: 16144
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, bound_crs_with_name_and_usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:16426,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:16427,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:16428,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:16429,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:16430,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:16430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16432
      start: 16148
    functionDepth: 1
    functionLinenumber: 16148
    functionLinenumberEnd: 16432
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, bound_crs_with_source_crs_in_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:16616,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_io.cpp:16617,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:16618,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:16619,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:16620,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:16620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16622
      start: 16436
    functionDepth: 1
    functionLinenumber: 16436
    functionLinenumberEnd: 16622
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17051,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:17052,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17053,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17054,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17055,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17057
      start: 16626
    functionDepth: 1
    functionLinenumber: 16626
    functionLinenumberEnd: 17057
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, concatenated_operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17171,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17172,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17174,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17175,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17175,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17179,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:17179,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17180,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17181,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17182,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17183,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17183,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17188,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:17188,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17189,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17191,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17192,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17195
      start: 17061
    functionDepth: 1
    functionLinenumber: 17061
    functionLinenumberEnd: 17195
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, geographic_crs_with_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17216,1
    - Dst: nn_dynamic_pointer_cast<DatumEnsemble>
      Src: /src/PROJ/test/unit/test_io.cpp:17217,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17218,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17219,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17220,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17222
      start: 17199
    functionDepth: 1
    functionLinenumber: 17199
    functionLinenumberEnd: 17222
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<DatumEnsemble>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, datum_ensemble_without_ellipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17261,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:17261,1
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/test/unit/test_io.cpp:17262,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_io.cpp:17262,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17263,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_io.cpp:17264,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_io.cpp:17264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17265
      start: 17226
    functionDepth: 1
    functionLinenumber: 17226
    functionLinenumberEnd: 17265
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::get
    - EXPECT_GE
    - auto::datumEnsemble
    - ASSERT_TRUE
    - dynamic_cast<const GeodeticCRS *>
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ensemble_without_members)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:17304,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17305
      start: 17269
    functionDepth: 1
    functionLinenumber: 17269
    functionLinenumberEnd: 17305
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ensemble_without_members_no_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:17344,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17344,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:17344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17346
      start: 17309
    functionDepth: 1
    functionLinenumber: 17309
    functionLinenumberEnd: 17346
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, ensemble_without_members_unknown_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17372,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17373,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17375,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17375,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17375,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:17378,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17380,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17380,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17381,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:17382,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17384
      start: 17350
    functionDepth: 1
    functionLinenumber: 17350
    functionLinenumberEnd: 17384
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - auto::exportToJSON
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17419,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17420,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17422,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17422,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17424
      start: 17388
    functionDepth: 1
    functionLinenumber: 17388
    functionLinenumberEnd: 17424
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_crs_with_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17458,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17459,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17461,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17461,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17463
      start: 17428
    functionDepth: 1
    functionLinenumber: 17428
    functionLinenumberEnd: 17463
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_crs_with_geoid_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17502,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17503,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17505,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17505,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17507
      start: 17467
    functionDepth: 1
    functionLinenumber: 17467
    functionLinenumberEnd: 17507
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_crs_with_geoid_models)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17540,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17541,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17542,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17543,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17543,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17545
      start: 17511
    functionDepth: 1
    functionLinenumber: 17511
    functionLinenumberEnd: 17545
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_crs_with_deformation_models)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17616,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17617,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17618,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17619,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17619,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17621
      start: 17549
    functionDepth: 1
    functionLinenumber: 17549
    functionLinenumberEnd: 17621
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_crs_with_geoid_model_and_interpolation_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17635,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_io.cpp:17636,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17638,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17638,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17640
      start: 17625
    functionDepth: 1
    functionLinenumber: 17625
    functionLinenumberEnd: 17640
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, vertical_reference_frame_with_anchor_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17670,1
    - Dst: nn_dynamic_pointer_cast<ParametricCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17671,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17672,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17673,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17673,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17673,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:17676,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17678,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17678,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17679,1
    - Dst: nn_dynamic_pointer_cast<ParametricDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:17680,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17682
      start: 17644
    functionDepth: 1
    functionLinenumber: 17644
    functionLinenumberEnd: 17682
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<ParametricDatum>
    - ASSERT_TRUE
    - auto::exportToJSON
    - nn_dynamic_pointer_cast<ParametricCRS>
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, parametric_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17713,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17714,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17715,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17716,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17716,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17716,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:17719,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17721,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17721,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17722,1
    - Dst: nn_dynamic_pointer_cast<EngineeringDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:17723,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17725
      start: 17686
    functionDepth: 1
    functionLinenumber: 17686
    functionLinenumberEnd: 17725
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - nn_dynamic_pointer_cast<EngineeringDatum>
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    - auto::datum
    - nn_dynamic_pointer_cast<EngineeringCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, engineering_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17757,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17758,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17759,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17760,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17760,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17762
      start: 17729
    functionDepth: 1
    functionLinenumber: 17729
    functionLinenumberEnd: 17762
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    - nn_dynamic_pointer_cast<EngineeringCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, engineering_crs_affine_CS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17788,1
    - Dst: nn_dynamic_pointer_cast<TemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17789,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17790,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17791,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17791,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17791,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_io.cpp:17794,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17796,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17796,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17797,1
    - Dst: nn_dynamic_pointer_cast<TemporalDatum>
      Src: /src/PROJ/test/unit/test_io.cpp:17798,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17800
      start: 17766
    functionDepth: 1
    functionLinenumber: 17766
    functionLinenumberEnd: 17800
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<TemporalDatum>
    - auto::exportToJSON
    - nn_dynamic_pointer_cast<TemporalCRS>
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, temporal_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17876,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeodeticCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17877,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17878,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17879,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17879,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17881
      start: 17804
    functionDepth: 1
    functionLinenumber: 17804
    functionLinenumberEnd: 17881
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<DerivedGeodeticCRS>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_geodetic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:17961,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:17962,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:17963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:17964,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:17964,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:17964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17966
      start: 17885
    functionDepth: 1
    functionLinenumber: 17885
    functionLinenumberEnd: 17966
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_geographic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18114,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18115,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18117,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18117,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18119
      start: 17970
    functionDepth: 1
    functionLinenumber: 17970
    functionLinenumberEnd: 18119
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18172,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18173,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18175,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18175,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18177
      start: 18123
    functionDepth: 1
    functionLinenumber: 18123
    functionLinenumberEnd: 18177
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<DerivedVerticalCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_vertical_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18251,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:18251,1
    - Dst: nn_dynamic_pointer_cast<DerivedVerticalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18252,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18253,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18255,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:18255,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18256,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_io.cpp:18256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18258,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18258,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18260
      start: 18181
    functionDepth: 1
    functionLinenumber: 18181
    functionLinenumberEnd: 18260
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_TRUE
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::derivingConversion
    - auto::exportToJSON
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<DerivedVerticalCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_vertical_crs_EPSG_code_for_horizontal_CRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18324,1
    - Dst: nn_dynamic_pointer_cast<DerivedEngineeringCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18325,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18326,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18327,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18327,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18329
      start: 18264
    functionDepth: 1
    functionLinenumber: 18264
    functionLinenumberEnd: 18329
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<DerivedEngineeringCRS>
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_engineering_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18389,1
    - Dst: nn_dynamic_pointer_cast<DerivedParametricCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18390,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18392,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18392,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18394
      start: 18333
    functionDepth: 1
    functionLinenumber: 18333
    functionLinenumberEnd: 18394
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - nn_dynamic_pointer_cast<DerivedParametricCRS>
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_parametric_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18451,1
    - Dst: nn_dynamic_pointer_cast<DerivedTemporalCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18452,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18453,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18454,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18454,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18456
      start: 18398
    functionDepth: 1
    functionLinenumber: 18398
    functionLinenumberEnd: 18456
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::exportToJSON
    - nn_dynamic_pointer_cast<DerivedTemporalCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, derived_temporal_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18475,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:18476,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18477,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18478,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18478,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18480
      start: 18460
    functionDepth: 1
    functionLinenumber: 18460
    functionLinenumberEnd: 18480
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18499,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:18500,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18501,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18502,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18502,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18504
      start: 18484
    functionDepth: 1
    functionLinenumber: 18484
    functionLinenumberEnd: 18504
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, id_code_string_version_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18523,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:18524,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18525,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18526,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18526,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18528
      start: 18508
    functionDepth: 1
    functionLinenumber: 18508
    functionLinenumberEnd: 18528
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, id_code_string_version_double)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18550,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_io.cpp:18551,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18552,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18553,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18553,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18555
      start: 18532
    functionDepth: 1
    functionLinenumber: 18532
    functionLinenumberEnd: 18555
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<Ellipsoid>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, multiple_ids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_io.cpp:18584,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18585,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18586,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18587,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_io.cpp:18588,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18590,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18590,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18592
      start: 18559
    functionDepth: 1
    functionLinenumber: 18559
    functionLinenumberEnd: 18592
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_export, coordinate_system_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:18602,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18602,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:18611,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18611,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_io.cpp:18657,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18659
      start: 18596
    functionDepth: 1
    functionLinenumber: 18596
    functionLinenumberEnd: 18659
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, invalid_CoordinateMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_io.cpp:18665,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18667,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18669,1
    - Dst: auto::remarks
      Src: /src/PROJ/test/unit/test_io.cpp:18669,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:18674,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18674,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:18675,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18676,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18677,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18678,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:18678,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18678,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:18723,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_io.cpp:18724,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18725,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18726,1
    - Dst: auto::remarks
      Src: /src/PROJ/test/unit/test_io.cpp:18726,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18728,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_io.cpp:18728,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18730
      start: 18663
    functionDepth: 1
    functionLinenumber: 18663
    functionLinenumberEnd: 18730
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::remarks
    - PROJStringParser
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(io, EXTENSION_PROJ4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_io.cpp:18766,1
    - Dst: nn_dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:18767,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18768,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18769,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_io.cpp:18770,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18773
      start: 18734
    functionDepth: 1
    functionLinenumber: 18734
    functionLinenumberEnd: 18773
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<PointMotionOperation>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(wkt_parse, PointMotionOperation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_io.cpp:18851,1
    - Dst: nn_dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/test/unit/test_io.cpp:18852,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_io.cpp:18853,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_io.cpp:18854,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_io.cpp:18854,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_io.cpp:18854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18856
      start: 18777
    functionDepth: 1
    functionLinenumber: 18777
    functionLinenumberEnd: 18856
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_io.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - JSONFormatter::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<PointMotionOperation>
    - auto::exportToJSON
    linkageType: ''
    returnType: void
    signature: void TEST(json_import, PointMotionOperation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:37,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:38,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:40,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:40,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:41,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:41,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:42,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:42,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:43,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:43,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:45,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:50,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:52,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:55,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:55,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:56,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:56,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:57,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:57,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:58,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:58,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:60,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Pipelines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:65,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:66,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:76,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:76,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:77,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:77,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:79,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_context_destroy
    - EXPECT_FALSE
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Pipelines2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:84,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:85,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:94,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:94,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:95,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:95,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:97,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - EXPECT_FALSE
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Pipelines3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:102,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:104,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:108,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:109,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:109,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:110,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:110,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:111,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:111,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:113,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - EXPECT_FALSE
    - proj_destroy
    - proj_context_create
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Degrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:37,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:38,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:40,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:40,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:41,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:41,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:42,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:42,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:43,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:43,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:45,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:50,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:52,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:55,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:55,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:56,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:56,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:57,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:57,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:58,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:58,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:60,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Pipelines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:65,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:66,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:76,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:76,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:77,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:77,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:79,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - proj_context_destroy
    - EXPECT_FALSE
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Pipelines2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:84,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:85,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:94,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:94,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:95,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:95,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:97,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - EXPECT_FALSE
    - proj_angular_output
    - proj_destroy
    - proj_context_create
    - proj_angular_input
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Pipelines3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:102,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:104,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:108,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:109,1
    - Dst: proj_degree_input
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:109,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:110,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:110,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:111,1
    - Dst: proj_degree_output
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:111,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:113,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_angular_io_test.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_angular_io_test.cpp
    functionUses: 0
    functionsReached:
    - proj_degree_input
    - EXPECT_TRUE
    - proj_create
    - proj_context_destroy
    - EXPECT_FALSE
    - proj_destroy
    - proj_context_create
    - proj_degree_output
    linkageType: ''
    returnType: void
    signature: void TEST(AngularUnits, Degrees)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/test/unit/proj_context_test.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:44,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/proj_context_test.cpp:47,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/proj_context_test.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: createTmpFile
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    - std::string::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: bool
    signature: bool createTmpFile(const std::string &filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:57,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:59,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:67,1
    - Dst: createTmpFile
      Src: /src/PROJ/test/unit/proj_context_test.cpp:76,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: createTempDict
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - getenv
    - createTmpFile
    linkageType: ''
    returnType: std::string
    signature: std::string createTempDict(std::string &dirname, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _unlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:83,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:83,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: MyUnlink
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - _unlink
    - unlink
    linkageType: ''
    returnType: int
    signature: int MyUnlink(const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createTempDict
      Src: /src/PROJ/test/unit/proj_context_test.cpp:94,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:95,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:98,1
    - Dst: static_cast<FinderData *>
      Src: /src/PROJ/test/unit/proj_context_test.cpp:108,1
    - Dst: auto::tmpFilename::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:113,1
    - Dst: proj_context_set_file_finder
      Src: /src/PROJ/test/unit/proj_context_test.cpp:118,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:120,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:121,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:124,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 127
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - auto::tmpFilename::c_str
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - EXPECT_NE
    - proj_destroy
    - proj_context_create
    - createTempDict
    - auto::empty
    - proj_context_set_file_finder
    - static_cast<FinderData *>
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_file_finder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createTempDict
      Src: /src/PROJ/test/unit/proj_context_test.cpp:134,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:135,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:138,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:140,1
    - Dst: proj_context_set_search_paths
      Src: /src/PROJ/test/unit/proj_context_test.cpp:141,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:143,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:144,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:145,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:147,1
    - Dst: MyUnlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_create
    - proj_context_destroy
    - MyUnlink
    - EXPECT_NE
    - proj_destroy
    - proj_context_create
    - createTempDict
    - auto::empty
    - proj_context_set_search_paths
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_search_paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:156,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:158,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:159,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:159,1
    - Dst: proj_context_set_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:162,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:162,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:164,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:164,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:165,1
    - Dst: proj_context_set_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:167,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:169,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:169,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:170,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:172,1
    - Dst: MyUnlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_user_writable_directory
    - EXPECT_TRUE
    - proj_context_destroy
    - auto::c_str
    - MyUnlink
    - proj_context_get_user_writable_directory
    - proj_context_create
    - EXPECT_STREQ
    - std::string
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_user_writable_directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:180,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:182,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:182,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:183,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:183,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:185,1
    - Dst: createTmpFile
      Src: /src/PROJ/test/unit/proj_context_test.cpp:185,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:190,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:191,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:195,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/proj_context_test.cpp:195,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:196,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:197,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:198,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/proj_context_test.cpp:199,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:200,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:202,1
    - Dst: MyUnlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - MyUnlink
    - EXPECT_NE
    - proj_destroy
    - proj_context_get_user_writable_directory
    - proj_context_create
    - createTmpFile
    - std::string
    - auto::empty
    - const_cast<char *>
    - putenv
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, read_grid_from_user_writable_directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:210,1
    - Dst: proj_context_set_ca_bundle_path
      Src: /src/PROJ/test/unit/proj_context_test.cpp:211,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:212,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - ASSERT_EQ
    - proj_context_destroy
    - proj_context_set_ca_bundle_path
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_ca_bundle_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/test/unit/proj_context_test.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:44,1
    - Dst: fprintf
      Src: /src/PROJ/test/unit/proj_context_test.cpp:47,1
    - Dst: fclose
      Src: /src/PROJ/test/unit/proj_context_test.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: createTmpFile
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 2
    functionsReached:
    - fprintf
    - std::string::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: bool
    signature: bool createTmpFile(const std::string &filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:57,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:59,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:67,1
    - Dst: createTmpFile
      Src: /src/PROJ/test/unit/proj_context_test.cpp:76,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: createTempDict
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 2
    functionsReached:
    - std::string
    - getenv
    - createTmpFile
    linkageType: ''
    returnType: std::string
    signature: std::string createTempDict(std::string &dirname, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _unlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:83,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:83,1
    - Dst: unlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: MyUnlink
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 3
    functionsReached:
    - std::string::c_str
    - _unlink
    - unlink
    linkageType: ''
    returnType: int
    signature: int MyUnlink(const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createTempDict
      Src: /src/PROJ/test/unit/proj_context_test.cpp:94,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:95,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:98,1
    - Dst: static_cast<FinderData *>
      Src: /src/PROJ/test/unit/proj_context_test.cpp:108,1
    - Dst: auto::tmpFilename::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:113,1
    - Dst: proj_context_set_file_finder
      Src: /src/PROJ/test/unit/proj_context_test.cpp:118,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:120,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:121,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:124,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 127
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - auto::tmpFilename::c_str
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - EXPECT_NE
    - proj_destroy
    - proj_context_create
    - createTempDict
    - auto::empty
    - proj_context_set_file_finder
    - static_cast<FinderData *>
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_file_finder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createTempDict
      Src: /src/PROJ/test/unit/proj_context_test.cpp:134,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:135,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:138,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:140,1
    - Dst: proj_context_set_search_paths
      Src: /src/PROJ/test/unit/proj_context_test.cpp:141,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:143,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:144,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:145,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:147,1
    - Dst: MyUnlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_create
    - proj_context_destroy
    - MyUnlink
    - EXPECT_NE
    - proj_destroy
    - proj_context_create
    - createTempDict
    - auto::empty
    - proj_context_set_search_paths
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_search_paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:156,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:158,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:159,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:159,1
    - Dst: proj_context_set_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:162,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:162,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:164,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:164,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:165,1
    - Dst: proj_context_set_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:167,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:169,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:169,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:170,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:172,1
    - Dst: MyUnlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_user_writable_directory
    - EXPECT_TRUE
    - proj_context_destroy
    - auto::c_str
    - MyUnlink
    - proj_context_get_user_writable_directory
    - proj_context_create
    - EXPECT_STREQ
    - std::string
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_user_writable_directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:180,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/proj_context_test.cpp:182,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/test/unit/proj_context_test.cpp:182,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:183,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/proj_context_test.cpp:183,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:185,1
    - Dst: createTmpFile
      Src: /src/PROJ/test/unit/proj_context_test.cpp:185,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:190,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:191,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:195,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/proj_context_test.cpp:195,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:196,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/proj_context_test.cpp:197,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/proj_context_test.cpp:198,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/proj_context_test.cpp:199,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:200,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:202,1
    - Dst: MyUnlink
      Src: /src/PROJ/test/unit/proj_context_test.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - MyUnlink
    - EXPECT_NE
    - proj_destroy
    - proj_context_get_user_writable_directory
    - proj_context_create
    - createTmpFile
    - std::string
    - auto::empty
    - const_cast<char *>
    - putenv
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, read_grid_from_user_writable_directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_context_test.cpp:210,1
    - Dst: proj_context_set_ca_bundle_path
      Src: /src/PROJ/test/unit/proj_context_test.cpp:211,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/proj_context_test.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/proj_context_test.cpp:212,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_context_test.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_context_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - ASSERT_EQ
    - proj_context_destroy
    - proj_context_set_ca_bundle_path
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void TEST(proj_context, proj_context_set_ca_bundle_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: TINShiftEvaluator::~TINShiftEvaluator()
    functionSourceFile: /src/PROJ/test/unit/test_tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftEvaluator::~TINShiftEvaluator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: getMinValidContent
    functionSourceFile: /src/PROJ/test/unit/test_tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json
    signature: json getMinValidContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:59,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:59,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:60,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:60,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:61,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:61,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:65,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:66,1
    - Dst: auto::fileType
      Src: /src/PROJ/test/unit/test_tinshift.cpp:66,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:67,1
    - Dst: auto::formatVersion
      Src: /src/PROJ/test/unit/test_tinshift.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:68,1
    - Dst: auto::inputCRS
      Src: /src/PROJ/test/unit/test_tinshift.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:69,1
    - Dst: auto::outputCRS
      Src: /src/PROJ/test/unit/test_tinshift.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:70,1
    - Dst: auto::fallbackStrategy
      Src: /src/PROJ/test/unit/test_tinshift.cpp:70,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:72,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:72,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:77,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:77,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:79,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:80,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:82,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:84,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:86,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:87,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:89,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:89,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:90,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:92,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:94,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:96,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:97,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:99,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:102,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:104,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:106,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:107,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:109,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:112,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:126,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:126,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:127,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:127,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:132,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:135,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:137,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:140,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:142,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:142,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:143,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:145,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:157,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:157,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:158,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:163,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:163,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:166,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:168,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:171,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:173,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:176,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:191,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:191,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:192,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:192,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:197,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:198,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:202,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:203,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:205,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:207,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:207,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:210,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:217,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:217,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:217,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:225,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:225,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:225,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/test_tinshift.cpp:233,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:235,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:235,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:236,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:236,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:241,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:241,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:252,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:252,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:253,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:253,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:258,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:258,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:270,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:270,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:271,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:271,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:276,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 278
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_tinshift.cpp
    functionUses: 0
    functionsReached:
    - proj_trans_array
    - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
    - auto::fileType
    - auto::formatVersion
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::move
    - EXPECT_FALSE
    - auto::inverse
    - EXPECT_THROW
    - TINShiftJSONEvaluator
    - auto::outputCRS
    - auto::forward
    - auto::dump
    - auto::fallbackStrategy
    - auto::inputCRS
    linkageType: ''
    returnType: void
    signature: void TEST(tinshift, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: getMinValidContent
    functionSourceFile: /src/PROJ/test/unit/test_tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json
    signature: json getMinValidContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:59,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:59,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:60,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:60,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:61,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:61,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:65,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:66,1
    - Dst: auto::fileType
      Src: /src/PROJ/test/unit/test_tinshift.cpp:66,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:67,1
    - Dst: auto::formatVersion
      Src: /src/PROJ/test/unit/test_tinshift.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:68,1
    - Dst: auto::inputCRS
      Src: /src/PROJ/test/unit/test_tinshift.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:69,1
    - Dst: auto::outputCRS
      Src: /src/PROJ/test/unit/test_tinshift.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:70,1
    - Dst: auto::fallbackStrategy
      Src: /src/PROJ/test/unit/test_tinshift.cpp:70,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:72,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:72,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:77,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:77,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:79,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:80,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:82,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:84,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:86,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:87,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:89,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:89,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:90,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:92,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:94,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:95,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:96,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:97,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:99,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:102,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:104,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:106,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:107,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:109,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:112,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:126,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:126,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:127,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:127,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:132,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:135,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:137,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:140,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:142,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:142,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:143,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:145,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:157,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:157,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:158,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:163,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:163,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:166,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:168,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:171,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:173,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:176,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:191,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:191,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:192,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:192,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:197,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:198,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:202,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:203,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:205,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:207,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:207,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_tinshift.cpp:210,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:217,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:217,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:217,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_tinshift.cpp:225,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:225,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:225,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/test_tinshift.cpp:233,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:235,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:235,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:236,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:236,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:241,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:241,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:252,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:252,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:253,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:253,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:258,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:258,1
    - Dst: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
      Src: /src/PROJ/test/unit/test_tinshift.cpp:270,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_tinshift.cpp:270,1
    - Dst: TINShiftJSONEvaluator
      Src: /src/PROJ/test/unit/test_tinshift.cpp:271,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_tinshift.cpp:271,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_tinshift.cpp:276,1
    - Dst: auto::forward
      Src: /src/PROJ/test/unit/test_tinshift.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 278
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_tinshift.cpp
    functionUses: 0
    functionsReached:
    - proj_trans_array
    - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
    - auto::fileType
    - auto::formatVersion
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::move
    - EXPECT_FALSE
    - auto::inverse
    - EXPECT_THROW
    - TINShiftJSONEvaluator
    - auto::outputCRS
    - auto::forward
    - auto::dump
    - auto::fallbackStrategy
    - auto::inputCRS
    linkageType: ''
    returnType: void
    signature: void TEST(tinshift, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:38,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_errno_string_test.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_string
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ProjErrnoStringTest, NoError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:41,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:41,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:42,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:43,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:44,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:46,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:47,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_errno_string_test.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_string
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(ProjErrnoStringTest, ProjErrnos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:52,1
    - Dst: proj_context_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:53,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:54,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:55,1
    - Dst: proj_context_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:56,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_errno_string_test.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_string
    - proj_context_create
    - EXPECT_STREQ
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(ProjErrnoStringTest, proj_context_errno_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:38,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_errno_string_test.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_string
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ProjErrnoStringTest, NoError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:41,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:41,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:42,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:43,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:44,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:46,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:47,1
    - Dst: proj_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_errno_string_test.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_string
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(ProjErrnoStringTest, ProjErrnos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:52,1
    - Dst: proj_context_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:53,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:54,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:55,1
    - Dst: proj_context_errno_string
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:56,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/proj_errno_string_test.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/proj_errno_string_test.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_string
    - proj_context_create
    - EXPECT_STREQ
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(ProjErrnoStringTest, proj_context_errno_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: GridTest::DummyLogFunction
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogFunction(void *, int, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_grids.cpp:45,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_grids.cpp:46,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_grids.cpp:47,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_grids.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: GridTest::SetUp
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_grids.cpp:52,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_grids.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: GridTest::TearDown
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:63,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:64,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:65,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:66,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:67,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:68,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:69,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:69,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:70,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:70,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:71,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:71,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:73,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:73,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:74,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:75,1
    - Dst: auto::isNodata
      Src: /src/PROJ/test/unit/test_grids.cpp:75,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:76,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - VerticalShiftGridSet::open
    - auto::height
    - EXPECT_TRUE
    - auto::gridAt
    - EXPECT_EQ
    - auto::reopen
    - auto::width
    - auto::isNullGrid
    - EXPECT_FALSE
    - auto::extentAndRes
    - auto::valueAt
    - ASSERT_NE
    - auto::isNodata
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, VerticalShiftGridSet_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:83,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:83,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:85,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:87,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:87,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:88,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:89,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:90,1
    - Dst: auto::isNodata
      Src: /src/PROJ/test/unit/test_grids.cpp:90,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:91,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:92,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:93,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - VerticalShiftGridSet::open
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::gridAt
    - auto::reopen
    - EXPECT_NE
    - ASSERT_NE
    - auto::isNodata
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, VerticalShiftGridSet_gtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:100,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:101,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:102,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:103,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:104,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:105,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:106,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:107,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:107,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:108,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:111,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:113,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:114,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - auto::height
    - EXPECT_TRUE
    - auto::gridAt
    - EXPECT_EQ
    - auto::reopen
    - auto::width
    - auto::isNullGrid
    - EXPECT_FALSE
    - auto::extentAndRes
    - auto::valueAt
    - ASSERT_NE
    - HorizontalShiftGridSet::open
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, HorizontalShiftGridSet_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:121,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:122,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:123,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:125,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:126,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:127,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:127,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:128,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:128,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:129,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:129,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:131,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:133,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_grids.cpp:133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:134,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_grids.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:135,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:136,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/test/unit/test_grids.cpp:136,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:137,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - auto::height
    - EXPECT_TRUE
    - auto::description
    - auto::gridAt
    - EXPECT_EQ
    - auto::reopen
    - auto::width
    - auto::isNullGrid
    - EXPECT_FALSE
    - auto::metadataItem
    - auto::unit
    - GenericShiftGridSet::open
    - auto::extentAndRes
    - auto::valueAt
    - auto::samplesPerPixel
    - ASSERT_NE
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:147,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:149,1
    - Dst: auto::format
      Src: /src/PROJ/test/unit/test_grids.cpp:149,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:150,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_grids.cpp:150,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_grids.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:153,1
    - Dst: auto::grids
      Src: /src/PROJ/test/unit/test_grids.cpp:153,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:154,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:154,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:155,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:157,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:158,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:159,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:159,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:160,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:160,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:161,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:161,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:164,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:165,1
    - Dst: static_cast<float>
      Src: /src/PROJ/test/unit/test_grids.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:166,1
    - Dst: static_cast<float>
      Src: /src/PROJ/test/unit/test_grids.cpp:166,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:167,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:168,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:169,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::isNullGrid
    - auto::valueAt
    - ASSERT_NE
    - auto::reassign_context
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - auto::name
    - EXPECT_NE
    - auto::extentAndRes
    - auto::format
    - auto::reopen
    - static_cast<float>
    - auto::hasChanged
    - auto::grids
    - auto::width
    - EXPECT_FALSE
    - HorizontalShiftGridSet::open
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, HorizontalShiftGridSet_gtiff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:176,1
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:176,1
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:177,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:180,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:180,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:181,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:183,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:184,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:185,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:185,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:186,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:186,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:187,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:187,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:188,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:188,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:190,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:190,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/test/unit/test_grids.cpp:190,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:191,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:192,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:193,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:195,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:196,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:199,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:208,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:208,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:214,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:215,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:216,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:221,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:222,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:222,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_grids.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:223,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:223,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_grids.cpp:223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:224,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:224,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_grids.cpp:224,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:225,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:226,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:227,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 229
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::isNullGrid
    - auto::valueAt
    - ASSERT_NE
    - auto::reassign_context
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - auto::metadataItem
    - EXPECT_NE
    - auto::extentAndRes
    - auto::valuesAt
    - std::string
    - auto::reopen
    - auto::samplesPerPixel
    - GenericShiftGridSet::open
    - auto::hasChanged
    - auto::width
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:234,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:237,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:237,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:238,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:240,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:241,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:242,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:242,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:243,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:243,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:244,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:244,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:245,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:245,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:247,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:247,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/test/unit/test_grids.cpp:247,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:248,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:249,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:250,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:251,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:252,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:253,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:256,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:257,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:265,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:265,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:270,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:272,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:279,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:279,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:284,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 291
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - EXPECT_FALSE
    - auto::isNullGrid
    - auto::samplesPerPixel
    - GenericShiftGridSet::open
    - auto::extentAndRes
    - auto::valueAt
    - ASSERT_NE
    - auto::valuesAt
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff_valuesAt_tiled_optim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:296,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:298,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:299,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:299,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:301,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:303,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:304,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:305,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - auto::metadataItem
    - GenericShiftGridSet::open
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff_with_subgrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:312,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:314,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:315,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:315,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:316,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:318,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:319,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - GenericShiftGridSet::open
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GridTest,\n       GenericShiftGridSet_gtiff_with_two_level_of_subgrids_no_grid_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:325,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:328,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:328,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:329,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:331,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:332,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:333,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:333,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:334,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:335,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:336,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:337,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:338,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:339,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 340
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - GenericShiftGridSet::open
    - auto::extentAndRes
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff_projected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: GridTest::DummyLogFunction
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogFunction(void *, int, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_grids.cpp:45,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_grids.cpp:46,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_grids.cpp:47,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/test_grids.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: GridTest::SetUp
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_grids.cpp:52,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_grids.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: GridTest::TearDown
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:63,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:64,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:65,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:66,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:67,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:68,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:69,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:69,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:70,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:70,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:71,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:71,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:73,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:73,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:74,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:75,1
    - Dst: auto::isNodata
      Src: /src/PROJ/test/unit/test_grids.cpp:75,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:76,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - VerticalShiftGridSet::open
    - auto::height
    - EXPECT_TRUE
    - auto::gridAt
    - EXPECT_EQ
    - auto::reopen
    - auto::width
    - auto::isNullGrid
    - EXPECT_FALSE
    - auto::extentAndRes
    - auto::valueAt
    - ASSERT_NE
    - auto::isNodata
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, VerticalShiftGridSet_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:83,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:83,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:85,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:87,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:87,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:88,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:89,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:90,1
    - Dst: auto::isNodata
      Src: /src/PROJ/test/unit/test_grids.cpp:90,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:91,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:92,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:93,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - VerticalShiftGridSet::open
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::gridAt
    - auto::reopen
    - EXPECT_NE
    - ASSERT_NE
    - auto::isNodata
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, VerticalShiftGridSet_gtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:100,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:101,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:102,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:103,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:104,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:105,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:106,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:107,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:107,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:108,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:111,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:113,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:114,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - auto::height
    - EXPECT_TRUE
    - auto::gridAt
    - EXPECT_EQ
    - auto::reopen
    - auto::width
    - auto::isNullGrid
    - EXPECT_FALSE
    - auto::extentAndRes
    - auto::valueAt
    - ASSERT_NE
    - HorizontalShiftGridSet::open
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, HorizontalShiftGridSet_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:121,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:122,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:123,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:125,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:126,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:127,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:127,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:128,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:128,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:129,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:129,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:131,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:132,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:133,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_grids.cpp:133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:134,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_grids.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:135,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:136,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/test/unit/test_grids.cpp:136,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:137,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::reassign_context
    - auto::height
    - EXPECT_TRUE
    - auto::description
    - auto::gridAt
    - EXPECT_EQ
    - auto::reopen
    - auto::width
    - auto::isNullGrid
    - EXPECT_FALSE
    - auto::metadataItem
    - auto::unit
    - GenericShiftGridSet::open
    - auto::extentAndRes
    - auto::valueAt
    - auto::samplesPerPixel
    - ASSERT_NE
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:147,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:149,1
    - Dst: auto::format
      Src: /src/PROJ/test/unit/test_grids.cpp:149,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:150,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_grids.cpp:150,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_grids.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:153,1
    - Dst: auto::grids
      Src: /src/PROJ/test/unit/test_grids.cpp:153,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:154,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:154,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:155,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:157,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:158,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:159,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:159,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:160,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:160,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:161,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:161,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:164,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:165,1
    - Dst: static_cast<float>
      Src: /src/PROJ/test/unit/test_grids.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:166,1
    - Dst: static_cast<float>
      Src: /src/PROJ/test/unit/test_grids.cpp:166,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:167,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:168,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:169,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::isNullGrid
    - auto::valueAt
    - ASSERT_NE
    - auto::reassign_context
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - auto::name
    - EXPECT_NE
    - auto::extentAndRes
    - auto::format
    - auto::reopen
    - static_cast<float>
    - auto::hasChanged
    - auto::grids
    - auto::width
    - EXPECT_FALSE
    - HorizontalShiftGridSet::open
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, HorizontalShiftGridSet_gtiff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:176,1
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:176,1
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:177,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:180,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:180,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:181,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:183,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:184,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:185,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:185,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:186,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:186,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:187,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:187,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:188,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:188,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:190,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:190,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/test/unit/test_grids.cpp:190,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:191,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:192,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:193,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:195,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:196,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:199,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:208,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:208,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:214,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:215,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:216,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:221,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:222,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:222,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_grids.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:223,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:223,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_grids.cpp:223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:224,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:224,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_grids.cpp:224,1
    - Dst: auto::reassign_context
      Src: /src/PROJ/test/unit/test_grids.cpp:225,1
    - Dst: auto::reopen
      Src: /src/PROJ/test/unit/test_grids.cpp:226,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:227,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 229
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::isNullGrid
    - auto::valueAt
    - ASSERT_NE
    - auto::reassign_context
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - auto::metadataItem
    - EXPECT_NE
    - auto::extentAndRes
    - auto::valuesAt
    - std::string
    - auto::reopen
    - auto::samplesPerPixel
    - GenericShiftGridSet::open
    - auto::hasChanged
    - auto::width
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:234,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:237,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:237,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:238,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:240,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:241,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:242,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:242,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:243,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:243,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:244,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/test/unit/test_grids.cpp:244,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:245,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/test/unit/test_grids.cpp:245,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_grids.cpp:247,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:247,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/test/unit/test_grids.cpp:247,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:248,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:249,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:250,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:251,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:252,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:253,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:256,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:257,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:265,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:265,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:270,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:272,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:279,1
    - Dst: auto::valuesAt
      Src: /src/PROJ/test/unit/test_grids.cpp:279,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_grids.cpp:284,1
    - Dst: auto::valueAt
      Src: /src/PROJ/test/unit/test_grids.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 291
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - EXPECT_FALSE
    - auto::isNullGrid
    - auto::samplesPerPixel
    - GenericShiftGridSet::open
    - auto::extentAndRes
    - auto::valueAt
    - ASSERT_NE
    - auto::valuesAt
    - auto::hasChanged
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff_valuesAt_tiled_optim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:296,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:298,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:299,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:299,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:301,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:303,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:304,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:305,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/test/unit/test_grids.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - auto::metadataItem
    - GenericShiftGridSet::open
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff_with_subgrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:312,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:314,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:315,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:315,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:316,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:318,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:319,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - GenericShiftGridSet::open
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: "void TEST_F(GridTest,\n       GenericShiftGridSet_gtiff_with_two_level_of_subgrids_no_grid_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/test/unit/test_grids.cpp:325,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:328,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:328,1
    - Dst: auto::gridAt
      Src: /src/PROJ/test/unit/test_grids.cpp:329,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_grids.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:331,1
    - Dst: auto::width
      Src: /src/PROJ/test/unit/test_grids.cpp:331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:332,1
    - Dst: auto::height
      Src: /src/PROJ/test/unit/test_grids.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:333,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:333,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:334,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:335,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:336,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:337,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:338,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_grids.cpp:339,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/test/unit/test_grids.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 340
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_grids.cpp
    functionUses: 0
    functionsReached:
    - auto::height
    - ASSERT_EQ
    - auto::gridAt
    - EXPECT_EQ
    - auto::width
    - GenericShiftGridSet::open
    - auto::extentAndRes
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(GridTest, GenericShiftGridSet_gtiff_projected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:40,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:46,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:47,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:50,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:50,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:51,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:51,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:52,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:52,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:56,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:57,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:58,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:61,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:62,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:62,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:63,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:63,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:64,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:64,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:65,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:66,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:66,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:68,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:68,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:68,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:69,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:69,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:69,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:70,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:70,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:70,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:71,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:71,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:71,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:72,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:72,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:72,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:73,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:73,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:73,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:74,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:74,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:74,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:75,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:75,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:75,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:76,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:76,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:76,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:78,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:78,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:78,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:79,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:79,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:79,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:80,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:80,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:80,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:81,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:81,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:81,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:82,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:82,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:82,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:83,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:83,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:83,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:86,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:86,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:87,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:87,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:88,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:88,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:89,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:89,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:90,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:90,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:91,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 92
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/pj_phi2_test.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - sqrt
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::isnan
    - std::numeric_limits<double>::quiet_NaN
    - std::numeric_limits<double>::infinity
    - EXPECT_DOUBLE_EQ
    - pj_phi2
    linkageType: ''
    returnType: void
    signature: void TEST(PjPhi2Test, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:40,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:46,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:47,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:50,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:50,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:51,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:51,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:52,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:52,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:56,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:57,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:58,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:61,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:62,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:62,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:63,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:63,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:64,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:64,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:65,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:66,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:66,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:68,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:68,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:68,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:69,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:69,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:69,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:70,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:70,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:70,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:71,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:71,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:71,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:72,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:72,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:72,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:73,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:73,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:73,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:74,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:74,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:74,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:75,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:75,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:75,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:76,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:76,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:76,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:78,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:78,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:78,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:79,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:79,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:79,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:80,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:80,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:80,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:81,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:81,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:81,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:82,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:82,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:82,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:83,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:83,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:83,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:86,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:86,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:87,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:87,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:88,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:88,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:89,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:89,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:90,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:90,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:91,1
    - Dst: pj_phi2
      Src: /src/PROJ/test/unit/pj_phi2_test.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 92
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/pj_phi2_test.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - sqrt
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::isnan
    - std::numeric_limits<double>::quiet_NaN
    - std::numeric_limits<double>::infinity
    - EXPECT_DOUBLE_EQ
    - pj_phi2
    linkageType: ''
    returnType: void
    signature: void TEST(PjPhi2Test, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:57,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:58,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:61,1
    - Dst: proj_create_argv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:64,1
    - Dst: const_cast<char **>
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:64,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:65,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:68,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:70,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:71,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:74,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:77,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:80,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:83,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:85,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:86,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:89,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:92,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:95,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:96,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:100,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:101,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:102,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:106,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:109,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:110,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:111,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:114,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:115,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:116,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:120,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:121,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:124,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:125,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:126,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:131,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:132,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:135,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:138,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:139,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:139,1
    - Dst: proj_context_set
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:142,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:144,1
    - Dst: proj_context_set
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:147,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:148,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:148,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:150,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:153,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:154,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:159,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:160,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:162,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:162,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:162,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:163,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:163,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:163,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:167,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:168,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:180,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:183,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:183,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:183,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:184,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:184,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:184,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:187,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:189,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:192,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:193,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:196,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:197,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:201,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:201,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:201,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:202,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:202,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:203,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:203,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:206,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:207,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:208,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:209,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:210,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:215,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:215,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:215,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:216,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:216,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:216,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:218,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:218,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:219,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:227,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:230,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:235,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:235,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:235,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:237,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:237,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:239,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:239,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 243
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_argv
    - pj_get_default_ctx
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_roundtrip
    - ASSERT_EQ
    - proj_destroy
    - proj_coord
    - ASSERT_TRUE
    - proj_context_set
    - proj_trans
    - proj_xy_dist
    - proj_trans_generic
    - proj_trans_array
    - proj_create
    - const_cast<char **>
    - ASSERT_LE
    - proj_errno_reset
    - proj_torad
    linkageType: ''
    returnType: void
    signature: void TEST(gie, cart_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: gieTest::DummyLogFunction
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogFunction(void *, int, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:253,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: gieTest::SetUp
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: gieTest::TearDown
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:266,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:268,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:278,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:279,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:280,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:282,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:283,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:284,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:284,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:284,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:285,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:287,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:290,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:292,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:295,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:295,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:297,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 299
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_TRUE
    - proj_destroy
    - proj_get_name
    - proj_trans
    - EXPECT_NEAR
    - std::string
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(gieTest, proj_create_crs_to_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:305,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:307,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:319,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:320,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:321,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_destroy
    - ASSERT_TRUE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(gieTest, proj_create_crs_to_crs_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:329,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:331,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:343,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:344,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:345,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 347
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_destroy
    - ASSERT_TRUE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(gieTest, proj_create_crs_to_crs_proj_longlat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:367,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:367,1
    - Dst: proj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:368,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:369,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:369,1
    - Dst: snprintf
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:375,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:375,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:375,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:377,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:377,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:378,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:378,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:378,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:379,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:379,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:379,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:382,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:382,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:387,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:389,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:390,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:391,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:394,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:395,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:396,1
    - Dst: pj_shrink
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:397,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:398,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:399,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:399,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:401,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:405,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:406,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:406,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:407,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:407,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:408,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:410,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:411,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:412,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:413,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:414,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:415,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:416,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:419,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:420,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:420,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:423,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:424,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:424,1
    - Dst: proj_init_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:427,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:428,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:428,1
    - Dst: proj_init_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:430,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:433,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:433,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:434,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:435,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:436,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:436,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:439,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:439,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:440,1
    - Dst: std::vector::size
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:442,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:442,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:444,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:444,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:445,1
    - Dst: std::vector::size
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:448,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:448,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:451,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:451,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:452,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:455,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:455,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:456,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:459,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:459,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:459,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:462,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:462,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:463,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:466,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:466,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:467,1
    - Dst: ASSERT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:470,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:470,1
    - Dst: ASSERT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:473,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:473,1
    - Dst: ASSERT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:476,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 482
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - proj_info
    - EXPECT_EQ
    - snprintf
    - std::vector::size
    - proj_pj_info
    - ASSERT_FALSE
    - ASSERT_NE
    - putenv
    - ASSERT_EQ
    - proj_destroy
    - pj_shrink
    - EXPECT_NEAR
    - std::string
    - const_cast<char *>
    - proj_dmstor
    - proj_rtodms2
    - ASSERT_TRUE
    - proj_init_info
    - ASSERT_NEAR
    - proj_create
    - proj_grid_info
    linkageType: ''
    returnType: void
    signature: void TEST(gie, info_functions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:488,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:489,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:490,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:491,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:493,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:494,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:494,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:497,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:501,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:504,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:507,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:511,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:519,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:521,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:527,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:528,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:530,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:533,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:534,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:536,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:538,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:540,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:542,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:544,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:546,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:548,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:549,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:550,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:552,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:555,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:561,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:562,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:564,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:565,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:566,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:568,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:570,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:572,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:574,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:576,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:578,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:580,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:582,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:583,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:584,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:586,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:588,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:590,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:595,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:598,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:599,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:600,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:602,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:604,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:609,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:612,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:613,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:616,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:617,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:623,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:624,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:628,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:633,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:635,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:636,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:636,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:638,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:640,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:646,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:647,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:707,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:708,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:709,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:711,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:713,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:715,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:717,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:719,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:725,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:726,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:786,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:787,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:788,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:790,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:792,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:794,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:796,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:798,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:804,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:805,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:867,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:868,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:869,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:871,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:873,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:875,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:877,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 881
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_reset
    - EXPECT_EQ
    - proj_create
    - EXPECT_NE
    - proj_destroy
    - ASSERT_FALSE
    - proj_coord
    - proj_errno
    - EXPECT_NEAR
    - proj_torad
    - proj_factors
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_factors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_list_operations
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:893,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:895,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:898,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:900,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:903,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 907
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_list_prime_meridians
    - proj_list_ellps
    - EXPECT_EQ
    - ASSERT_NE
    - proj_list_operations
    linkageType: ''
    returnType: void
    signature: void TEST(gie, list_functions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:915,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:916,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:917,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:917,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:918,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:918,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:919,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:919,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:920,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:920,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:922,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:922,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:923,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:923,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:924,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:924,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:925,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:925,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:926,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:933,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:934,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:934,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:935,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:935,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:936,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:936,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:937,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:937,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:939,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:939,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:940,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:940,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:941,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:941,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:942,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:942,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:943,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:946,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:953,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:954,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:954,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:955,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:955,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:956,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:956,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:957,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:957,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:959,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:959,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:960,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:960,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:961,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:961,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:962,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:962,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:965,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:966,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:967,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:970,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:971,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:972,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:973,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:974,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:974,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:974,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:975,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:975,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:977,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:978,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:979,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:979,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:979,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:980,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:980,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 982
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_trans
    - proj_create
    - proj_angular_output
    - ASSERT_TRUE
    - proj_destroy
    - std::isnan
    - ASSERT_FALSE
    - proj_angular_input
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void TEST(gie, io_predicates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:988,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:990,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:992,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:994,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:995,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:997,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:998,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1000,1
    - Dst: proj_log_level
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - args
    - tol
    - t_in
    - t_exp
    argTypes:
    - char*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1003
    functionName: test_time
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - ASSERT_TRUE
    - proj_destroy
    - proj_log_level
    - proj_trans
    - EXPECT_NEAR
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void test_time(const char *args, double tol, double t_in, double t_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1023,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1024,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1025,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1026,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - test_time
    linkageType: ''
    returnType: void
    signature: void TEST(gie, unitconvert_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1032,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1034,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1036,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1038,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1039,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1041,1
    - Dst: proj_log_level
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - args
    - tol
    - t_in
    - t_exp
    argTypes:
    - char*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: test_date
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - ASSERT_TRUE
    - proj_destroy
    - proj_log_level
    - proj_trans
    - EXPECT_NEAR
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void test_date(const char *args, double tol, double t_in, double t_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1048,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1049,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1050,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1051,1
    - Dst: strcpy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1053,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1054,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1055,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1056,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1058
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - test_date
    - strcpy
    linkageType: ''
    returnType: void
    signature: void TEST(gie, unitconvert_selftest_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1109,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1110,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1112,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1119,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1120,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1121,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1125,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1126,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1130,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1137,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1138,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1139,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1142,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1143,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1144,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1147,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1148,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1151
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - EXPECT_LE
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - proj_roundtrip
    - proj_xy_dist
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void TEST(gie, horner_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1191,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1192,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1194,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1200,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1201,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1203,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1208,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1212,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1216,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1217,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1220,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1221,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1222,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1225,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1226,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1227,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1231,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1232,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1234,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1238,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1239,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1241,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1242,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1243,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1250,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1251,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1252,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1255,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1256,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1257,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1260,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1261,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1265
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - EXPECT_LE
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - proj_roundtrip
    - proj_xy_dist
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void TEST(gie, horner_only_fwd_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1270,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1275,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1275,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1277,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1278,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1279,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1280,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1283,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1285,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1285,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1285,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1286,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1289,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1290,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1291,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1291,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1291,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1292,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1299,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1300,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1302,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1302,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1302,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1314,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1315,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1316,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1322,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1325,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1326,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1332,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1333,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1335,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1335,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1335,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1347
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_pj_info
    - ASSERT_TRUE
    - proj_destroy
    - proj_get_name
    - proj_trans
    - std::string
    - proj_trans_generic
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_PULKOVO42_ETRS89)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1352,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1354,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1356,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1356,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1356,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1362
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_pj_info
    - ASSERT_TRUE
    - proj_destroy
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_WGS84_EGM08_to_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1369,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1374,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1381,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1382,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1383,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1386
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_outside_area_of_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_area_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1393,1
    - Dst: proj_area_set_bbox
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1394,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1396,1
    - Dst: proj_area_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1397,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1398,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1405,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1406,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1407,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1410
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_area_create
    - proj_create_crs_to_crs
    - ASSERT_TRUE
    - proj_destroy
    - proj_area_set_bbox
    - proj_area_destroy
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_with_area_large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1417,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1419,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1426,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1427,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1428,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1434,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1435,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1436,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1442,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1443,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1444,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1450,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1451,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1452,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1454,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1460,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1461,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1462,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1468,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1469,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1470,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1472,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1475
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_normalize_for_visualization
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_with_longitude_outside_minus_180_180)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1481,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1494,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1497,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1498,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1501
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - EXPECT_NEAR
    - proj_trans_generic
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_trans_generic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1506,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1512,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1513,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1513,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1514,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1516
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_destroy
    - proj_errno
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_trans_with_a_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1525,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1527,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1528,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1530,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1531,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1533,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1534,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1538,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1540,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1541,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1557,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1558,1
    - Dst: proj_clone
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1560,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1561,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1562,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1564,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1565,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1569,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1570,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1572,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1573,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1575,1
    - Dst: fabs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1579,1
    - Dst: fabs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1580,1
    - Dst: fabs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1581,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1583,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1587,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1588,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1589,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1590,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1592,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1593,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1601,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1602,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1604,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1606,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1613,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1615,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1616,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1630,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1631,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1633,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1634,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1636,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1637,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1639,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1644,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1646,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1647,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1661,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1662,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1664,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1665,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1667,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1668,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1670,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1677,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1679,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1680,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1694,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1695,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1698,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1699,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1700,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1701,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1703,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1704,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1706,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1715,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1716,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1717,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1719,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1721,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1727,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1729,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1730,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1744,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1745,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1747,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1748,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1749,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1750,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1752,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1755,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1756,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1757,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1759
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - proj_normalize_for_visualization
    - ASSERT_TRUE
    - proj_create_crs_to_crs_from_pj
    - proj_destroy
    - EXPECT_LT
    - proj_context_create
    - ASSERT_FALSE
    - proj_trans
    - EXPECT_NEAR
    - proj_clone
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_from_pj_force_over)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:57,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:58,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:61,1
    - Dst: proj_create_argv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:64,1
    - Dst: const_cast<char **>
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:64,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:65,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:68,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:70,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:71,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:74,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:77,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:80,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:83,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:85,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:86,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:89,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:92,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:95,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:96,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:100,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:101,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:102,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:106,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:109,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:110,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:111,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:114,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:115,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:116,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:120,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:121,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:124,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:125,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:126,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:131,1
    - Dst: ASSERT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:132,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:135,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:138,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:139,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:139,1
    - Dst: proj_context_set
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:142,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:144,1
    - Dst: proj_context_set
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:147,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:148,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:148,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:150,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:153,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:154,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:159,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:160,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:162,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:162,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:162,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:163,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:163,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:163,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:167,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:168,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:180,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:183,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:183,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:183,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:184,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:184,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:184,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:187,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:189,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:192,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:193,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:196,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:197,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:201,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:201,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:201,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:202,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:202,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:203,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:203,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:206,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:207,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:208,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:209,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:210,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:215,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:215,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:215,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:216,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:216,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:216,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:218,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:218,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:219,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:227,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:230,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:235,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:235,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:235,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:237,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:237,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:239,1
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:239,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 243
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_argv
    - pj_get_default_ctx
    - proj_context_destroy
    - proj_context_create
    - ASSERT_NE
    - proj_roundtrip
    - ASSERT_EQ
    - proj_destroy
    - proj_coord
    - ASSERT_TRUE
    - proj_context_set
    - proj_trans
    - proj_xy_dist
    - proj_trans_generic
    - proj_trans_array
    - proj_create
    - const_cast<char **>
    - ASSERT_LE
    - proj_errno_reset
    - proj_torad
    linkageType: ''
    returnType: void
    signature: void TEST(gie, cart_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: gieTest::DummyLogFunction
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogFunction(void *, int, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:253,1
    - Dst: proj_log_func
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: gieTest::SetUp
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_log_func
    - proj_context_create
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: gieTest::TearDown
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:266,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:268,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:278,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:279,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:280,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:282,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:283,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:284,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:284,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:284,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:285,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:287,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:290,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:292,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:295,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:295,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:297,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 299
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_TRUE
    - proj_destroy
    - proj_get_name
    - proj_trans
    - EXPECT_NEAR
    - std::string
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST_F(gieTest, proj_create_crs_to_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:305,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:307,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:319,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:320,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:321,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_destroy
    - ASSERT_TRUE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(gieTest, proj_create_crs_to_crs_EPSG_4326)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:329,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:331,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:343,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:344,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:345,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 347
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_destroy
    - ASSERT_TRUE
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST_F(gieTest, proj_create_crs_to_crs_proj_longlat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:367,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:367,1
    - Dst: proj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:368,1
    - Dst: putenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:369,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:369,1
    - Dst: snprintf
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:375,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:375,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:375,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:377,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:377,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:378,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:378,1
    - Dst: getenv
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:378,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:379,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:379,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:379,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:382,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:382,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:387,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:389,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:390,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:391,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:394,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:395,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:396,1
    - Dst: pj_shrink
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:397,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:398,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:399,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:399,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:401,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:405,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:406,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:406,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:407,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:407,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:408,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:410,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:411,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:412,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:413,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:414,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:415,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:416,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:419,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:420,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:420,1
    - Dst: proj_grid_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:423,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:424,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:424,1
    - Dst: proj_init_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:427,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:428,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:428,1
    - Dst: proj_init_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:430,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:433,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:433,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:434,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:435,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:436,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:436,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:439,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:439,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:440,1
    - Dst: std::vector::size
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:442,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:442,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:444,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:444,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:445,1
    - Dst: std::vector::size
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:448,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:448,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:451,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:451,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:452,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:455,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:455,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:456,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:459,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:459,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:459,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:462,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:462,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:463,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:466,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:466,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:467,1
    - Dst: ASSERT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:470,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:470,1
    - Dst: ASSERT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:473,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:473,1
    - Dst: ASSERT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:476,1
    - Dst: proj_dmstor
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 482
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - proj_info
    - EXPECT_EQ
    - snprintf
    - std::vector::size
    - proj_pj_info
    - ASSERT_FALSE
    - ASSERT_NE
    - putenv
    - ASSERT_EQ
    - proj_destroy
    - pj_shrink
    - EXPECT_NEAR
    - std::string
    - const_cast<char *>
    - proj_dmstor
    - proj_rtodms2
    - ASSERT_TRUE
    - proj_init_info
    - ASSERT_NEAR
    - proj_create
    - proj_grid_info
    linkageType: ''
    returnType: void
    signature: void TEST(gie, info_functions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:488,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:489,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:490,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:491,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:493,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:494,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:494,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:497,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:501,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:504,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:507,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:511,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:519,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:521,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:527,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:528,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:530,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:533,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:534,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:536,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:538,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:540,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:542,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:544,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:546,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:548,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:549,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:550,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:552,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:555,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:561,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:562,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:564,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:565,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:566,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:568,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:570,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:572,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:574,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:576,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:578,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:580,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:582,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:583,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:584,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:586,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:588,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:590,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:595,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:598,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:599,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:600,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:602,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:604,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:609,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:612,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:613,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:616,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:617,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:623,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:624,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:628,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:633,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:635,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:636,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:636,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:638,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:640,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:646,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:647,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:707,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:708,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:709,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:711,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:713,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:715,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:717,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:719,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:725,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:726,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:786,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:787,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:788,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:790,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:792,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:794,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:796,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:798,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:804,1
    - Dst: proj_torad
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:805,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:867,1
    - Dst: proj_factors
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:868,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:869,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:871,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:873,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:875,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:877,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 881
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_reset
    - EXPECT_EQ
    - proj_create
    - EXPECT_NE
    - proj_destroy
    - ASSERT_FALSE
    - proj_coord
    - proj_errno
    - EXPECT_NEAR
    - proj_torad
    - proj_factors
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_factors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_list_operations
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:893,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:895,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:898,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:900,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:903,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 907
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_list_prime_meridians
    - proj_list_ellps
    - EXPECT_EQ
    - ASSERT_NE
    - proj_list_operations
    linkageType: ''
    returnType: void
    signature: void TEST(gie, list_functions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:915,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:916,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:917,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:917,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:918,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:918,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:919,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:919,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:920,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:920,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:922,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:922,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:923,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:923,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:924,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:924,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:925,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:925,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:926,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:933,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:934,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:934,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:935,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:935,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:936,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:936,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:937,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:937,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:939,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:939,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:940,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:940,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:941,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:941,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:942,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:942,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:943,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:946,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:953,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:954,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:954,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:955,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:955,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:956,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:956,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:957,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:957,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:959,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:959,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:960,1
    - Dst: proj_angular_input
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:960,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:961,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:961,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:962,1
    - Dst: proj_angular_output
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:962,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:965,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:966,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:967,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:970,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:971,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:972,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:973,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:974,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:974,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:974,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:975,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:975,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:977,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:978,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:979,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:979,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:979,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:980,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:980,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 982
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - proj_trans
    - proj_create
    - proj_angular_output
    - ASSERT_TRUE
    - proj_destroy
    - std::isnan
    - ASSERT_FALSE
    - proj_angular_input
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void TEST(gie, io_predicates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:988,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:990,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:992,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:994,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:995,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:997,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:998,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1000,1
    - Dst: proj_log_level
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - args
    - tol
    - t_in
    - t_exp
    argTypes:
    - char*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1003
    functionName: test_time
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 1
    functionsReached:
    - proj_create
    - ASSERT_TRUE
    - proj_destroy
    - proj_log_level
    - proj_trans
    - EXPECT_NEAR
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void test_time(const char *args, double tol, double t_in, double t_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1023,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1024,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1025,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1026,1
    - Dst: test_time
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - test_time
    linkageType: ''
    returnType: void
    signature: void TEST(gie, unitconvert_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1032,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1034,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1036,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1038,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1039,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1041,1
    - Dst: proj_log_level
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - args
    - tol
    - t_in
    - t_exp
    argTypes:
    - char*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: test_date
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 1
    functionsReached:
    - proj_create
    - ASSERT_TRUE
    - proj_destroy
    - proj_log_level
    - proj_trans
    - EXPECT_NEAR
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void test_date(const char *args, double tol, double t_in, double t_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1048,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1049,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1050,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1051,1
    - Dst: strcpy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1053,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1054,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1055,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1056,1
    - Dst: test_date
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1058
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - test_date
    - strcpy
    linkageType: ''
    returnType: void
    signature: void TEST(gie, unitconvert_selftest_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1109,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1110,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1112,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1119,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1120,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1121,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1125,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1126,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1130,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1137,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1138,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1139,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1142,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1143,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1144,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1147,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1148,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1151
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - EXPECT_LE
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - proj_roundtrip
    - proj_xy_dist
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void TEST(gie, horner_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1191,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1192,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1194,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1200,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1201,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1203,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1208,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1212,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1216,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1217,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1220,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1221,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1222,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1225,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1226,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1227,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1231,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1232,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1234,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1238,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1239,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1241,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1242,1
    - Dst: proj_coord
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1243,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1250,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1251,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1252,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1255,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1256,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1257,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1260,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1261,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1265
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - EXPECT_LE
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - proj_roundtrip
    - proj_xy_dist
    - proj_coord
    linkageType: ''
    returnType: void
    signature: void TEST(gie, horner_only_fwd_selftest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1270,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1275,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1275,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1277,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1278,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1279,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1280,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1283,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1285,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1285,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1285,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1286,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1289,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1290,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1291,1
    - Dst: proj_get_name
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1291,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1291,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1292,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1299,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1300,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1302,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1302,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1302,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1314,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1315,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1316,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1322,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1325,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1326,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1332,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1333,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1335,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1335,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1335,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1347
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_TRUE
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_pj_info
    - ASSERT_TRUE
    - proj_destroy
    - proj_get_name
    - proj_trans
    - std::string
    - proj_trans_generic
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_PULKOVO42_ETRS89)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1352,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1354,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1356,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1356,1
    - Dst: proj_pj_info
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1356,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1362
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - proj_pj_info
    - ASSERT_TRUE
    - proj_destroy
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_WGS84_EGM08_to_WGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1369,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1374,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1381,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1382,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1383,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1386
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - EXPECT_EQ
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_outside_area_of_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_area_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1393,1
    - Dst: proj_area_set_bbox
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1394,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1396,1
    - Dst: proj_area_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1397,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1398,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1405,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1406,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1407,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1410
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_area_create
    - proj_create_crs_to_crs
    - ASSERT_TRUE
    - proj_destroy
    - proj_area_set_bbox
    - proj_area_destroy
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_with_area_large)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1417,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1419,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1426,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1427,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1428,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1434,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1435,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1436,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1442,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1443,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1444,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1450,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1451,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1452,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1454,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1460,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1461,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1462,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1468,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1469,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1470,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1472,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1475
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create_crs_to_crs
    - proj_normalize_for_visualization
    - ASSERT_TRUE
    - proj_destroy
    - proj_trans
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_with_longitude_outside_minus_180_180)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1481,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1494,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1497,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1498,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1501
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - EXPECT_NEAR
    - proj_trans_generic
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_trans_generic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1506,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1512,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1513,1
    - Dst: proj_errno
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1513,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1514,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1516
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - proj_create
    - proj_destroy
    - proj_errno
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_trans_with_a_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1524,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1525,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1527,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1528,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1530,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1531,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1533,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1534,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1538,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1540,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1541,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1557,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1558,1
    - Dst: proj_clone
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1560,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1561,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1562,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1564,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1565,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1569,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1570,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1572,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1573,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1575,1
    - Dst: fabs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1579,1
    - Dst: fabs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1580,1
    - Dst: fabs
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1581,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1583,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1587,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1588,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1589,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1590,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1592,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1593,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1601,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1602,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1604,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1606,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1613,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1615,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1616,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1630,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1631,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1633,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1634,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1636,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1637,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1639,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1644,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1646,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1647,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1661,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1662,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1664,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1665,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1667,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1668,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1670,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1677,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1679,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1680,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1694,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1695,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1698,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1699,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1700,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1701,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1703,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1704,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1706,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1715,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1716,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1717,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1719,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1721,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1727,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1729,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1730,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1744,1
    - Dst: proj_trans
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1745,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1747,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1748,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1749,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1750,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1752,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1755,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1756,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1757,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/gie_self_tests.cpp:1758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1759
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/gie_self_tests.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - EXPECT_EQ
    - proj_create
    - proj_context_destroy
    - proj_normalize_for_visualization
    - ASSERT_TRUE
    - proj_create_crs_to_crs_from_pj
    - proj_destroy
    - EXPECT_LT
    - proj_context_create
    - ASSERT_FALSE
    - proj_trans
    - EXPECT_NEAR
    - proj_clone
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(gie, proj_create_crs_to_crs_from_pj_force_over)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: UnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_datum.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/PROJ/test/unit/test_datum.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: _isEquivalentTo
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(const IComparable *, Criterion,\n                         const
      DatabaseContextPtr &) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_make_shared<UnrelatedObject>
      Src: /src/PROJ/test/unit/test_datum.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: createUnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - nn_make_shared<UnrelatedObject>
    linkageType: ''
    returnType: nn<std::shared_ptr<UnrelatedObject>>
    signature: nn<std::shared_ptr<UnrelatedObject>> createUnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: UnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_datum.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/PROJ/test/unit/test_datum.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: _isEquivalentTo
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(const IComparable *, Criterion,\n                         const
      DatabaseContextPtr &) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_make_shared<UnrelatedObject>
      Src: /src/PROJ/test/unit/test_datum.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: createUnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - nn_make_shared<UnrelatedObject>
    linkageType: ''
    returnType: nn<std::shared_ptr<UnrelatedObject>>
    signature: nn<std::shared_ptr<UnrelatedObject>> createUnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:63,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:63,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:63,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:64,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:64,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:65,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:65,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:66,1
    - Dst: auto::semiMedianAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:66,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:67,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:68,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:68,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:69,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/test/unit/test_datum.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:71,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:71,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:71,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:72,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:72,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:74,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:75,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:75,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:78,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:78,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:78,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:79,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:79,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_datum.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::celestialBody
    - auto::get
    - EXPECT_TRUE
    - auto::semiMedianAxis
    - EXPECT_EQ
    - auto::isSphere
    - auto::inverseFlattening
    - auto::computeSemiMinorAxis
    - auto::computedInverseFlattening
    - auto::semiMinorAxis
    - auto::semiMajorAxis
    - Ellipsoid::createSphere
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - auto::isEquivalentTo
    linkageType: ''
    returnType: void
    signature: void TEST(datum, ellipsoid_from_sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:87,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:87,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:88,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/test/unit/test_datum.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::celestialBody
    - Length
    - PropertyMap
    - EXPECT_EQ
    - Ellipsoid::createSphere
    linkageType: ''
    returnType: void
    signature: void TEST(datum, ellipsoid_non_earth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:95,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:96,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:96,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_datum.cpp:96,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:97,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:98,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:98,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:99,1
    - Dst: auto::semiMedianAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:99,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:100,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:101,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:101,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:102,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:102,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_datum.cpp:102,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:104,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:104,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:105,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_datum.cpp:106,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:106,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:108,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:110,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:111,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:111,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:114,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:114,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:114,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:115,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:115,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:116,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:116,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:116,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:117,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:119,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:119,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:120,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:120,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:120,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:121,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:125,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:125,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_datum.cpp:126,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:128,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:128,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:128,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:129,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:129,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:130,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:131,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:131,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_datum.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - EXPECT_TRUE
    - auto::semiMedianAxis
    - EXPECT_EQ
    - auto::isSphere
    - auto::inverseFlattening
    - auto::computeSemiMinorAxis
    - isEquivalentTo
    - auto::computedInverseFlattening
    - auto::semiMinorAxis
    - auto::semiMajorAxis
    - EXPECT_NEAR
    - Ellipsoid::createSphere
    - Ellipsoid::createFlattenedSphere
    - auto::exportToPROJString
    - Ellipsoid::createTwoAxis
    - Length
    - PropertyMap
    - get
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - auto::isEquivalentTo
    linkageType: ''
    returnType: void
    signature: void TEST(datum, ellipsoid_from_inverse_flattening)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:139,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:140,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:140,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_datum.cpp:140,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:141,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:141,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:142,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:142,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:143,1
    - Dst: auto::semiMedianAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:143,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:144,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - auto::semiMedianAxis
    - EXPECT_TRUE
    - EXPECT_FALSE
    - auto::isSphere
    - auto::semiMinorAxis
    - auto::inverseFlattening
    - Ellipsoid::createFlattenedSphere
    linkageType: ''
    returnType: void
    signature: void TEST(datum, ellipsoid_from_null_inverse_flattening)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:151,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:151,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:151,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:152,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:153,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:153,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:154,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:154,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:155,1
    - Dst: auto::semiMedianAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:155,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:156,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:157,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:157,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:158,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:158,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:160,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:160,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:160,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_datum.cpp:161,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/test/unit/test_datum.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:163,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:164,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:167,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:167,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:167,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:168,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:168,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:169,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:169,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:169,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_datum.cpp:170,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:172,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:172,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:173,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:173,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:173,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_datum.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - EXPECT_TRUE
    - auto::semiMedianAxis
    - EXPECT_EQ
    - auto::isSphere
    - auto::inverseFlattening
    - auto::computeSemiMinorAxis
    - auto::computedInverseFlattening
    - auto::semiMinorAxis
    - auto::semiMajorAxis
    - EXPECT_NEAR
    - Ellipsoid::createFlattenedSphere
    - auto::exportToPROJString
    - Ellipsoid::createTwoAxis
    - Length
    - PropertyMap
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - auto::isEquivalentTo
    linkageType: ''
    returnType: void
    signature: void TEST(datum, ellipsoid_from_semi_minor_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:183,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:183,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:187,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:187,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:191,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_datum.cpp:191,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:191,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_datum.cpp:191,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:195,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_datum.cpp:196,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:196,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_datum.cpp:196,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:200,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_datum.cpp:201,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:202,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_datum.cpp:203,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:204,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:207,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:207,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_datum.cpp:208,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:209,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:209,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_datum.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - isEquivalentTo
    - EXPECT_EQ
    - get
    - createUnrelatedObject
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - PrimeMeridian::create
    - exportToPROJString
    linkageType: ''
    returnType: void
    signature: void TEST(datum, prime_meridian_to_PROJString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:217,1
    - Dst: exportToJSON
      Src: /src/PROJ/test/unit/test_datum.cpp:217,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:218,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:229,1
    - Dst: exportToJSON
      Src: /src/PROJ/test/unit/test_datum.cpp:229,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 247
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - exportToJSON
    - JSONFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(datum, prime_meridian_to_JSON)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:252,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:253,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:254,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:257,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_datum.cpp:257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:258,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_datum.cpp:258,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:259,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_datum.cpp:259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:267,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:267,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - ASSERT_FALSE
    - auto::exportToWKT
    - GeodeticReferenceFrame::create
    - optional<std::string>
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(datum, datum_with_ANCHOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:273,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:274,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:275,1
    - Dst: optional<Measure>
      Src: /src/PROJ/test/unit/test_datum.cpp:276,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_datum.cpp:276,1
    - Dst: ASSERT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:279,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_datum.cpp:279,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:280,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_datum.cpp:280,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_datum.cpp:281,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_datum.cpp:281,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:290,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:291,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::anchorDefinition
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - ASSERT_FALSE
    - Measure
    - auto::exportToWKT
    - EXPECT_NEAR
    - optional<Measure>
    - GeodeticReferenceFrame::create
    - optional<std::string>
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(datum, datum_with_ANCHOREPOCH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:299,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:300,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:301,1
    - Dst: optional<Measure>
      Src: /src/PROJ/test/unit/test_datum.cpp:301,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:303,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:304,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:305,1
    - Dst: optional<Measure>
      Src: /src/PROJ/test/unit/test_datum.cpp:305,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:308,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:308,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:308,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:310,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:310,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:310,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:312,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:312,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:314,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:314,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 316
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - optional<Measure>
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, unknown_datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:321,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:322,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:323,1
    - Dst: optional<Measure>
      Src: /src/PROJ/test/unit/test_datum.cpp:323,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:325,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:326,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:327,1
    - Dst: optional<Measure>
      Src: /src/PROJ/test/unit/test_datum.cpp:327,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:330,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:330,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:330,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:332,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:332,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:332,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:334,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:334,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:334,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:336,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:336,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:336,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:339,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:340,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:341,1
    - Dst: optional<Measure>
      Src: /src/PROJ/test/unit/test_datum.cpp:341,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:343,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:343,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:343,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:345,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:345,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:346,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:347,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:347,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 349
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - optional<Measure>
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, compare_with_D_prefixing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:354,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:355,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:356,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_datum.cpp:357,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:366,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:366,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:377,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:378,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:379,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:382,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:382,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:382,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:383,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:384,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:384,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:385,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:385,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_datum.cpp:385,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:388,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:389,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:390,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:391,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:391,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:391,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:392,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:392,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:392,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:393,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:394,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:394,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:395,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:396,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:396,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:398,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:399,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:400,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:402,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:402,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:402,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:403,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:403,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:403,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:404,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:404,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:405,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:406,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:406,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 408
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - DynamicGeodeticReferenceFrame::create
    - Measure
    - auto::exportToWKT
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, dynamic_geodetic_reference_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:414,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:414,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:415,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:418,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_datum.cpp:418,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:422,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_datum.cpp:423,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:424,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:424,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_datum.cpp:424,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_datum.cpp:424,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:425,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:428,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/test/unit/test_datum.cpp:428,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:428,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:429,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_datum.cpp:429,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_datum.cpp:430,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_datum.cpp:430,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 433
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_EQ
    - Ellipsoid::createTwoAxis
    - PROJStringFormatter::create
    - exportToPROJString
    - UnitOfMeasure
    - Ellipsoid::createFlattenedSphere
    linkageType: ''
    returnType: void
    signature: void TEST(datum, ellipsoid_to_PROJString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_datum.cpp:438,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:439,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_datum.cpp:440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:446,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:446,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:447,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:450,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:451,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:452,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:455,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:455,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:455,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:456,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:456,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_datum.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 457
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - DateTime::create
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - TemporalDatum::create
    - EXPECT_THROW
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(datum, temporal_datum_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_datum.cpp:462,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:463,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_datum.cpp:464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:470,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:470,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - DateTime::create
    - WKTFormatter::create
    - TemporalDatum::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(datum, temporal_datum_time_origin_non_ISO8601)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_datum.cpp:478,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:479,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_datum.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:487,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:488,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - DateTime::create
    - WKTFormatter::create
    - TemporalDatum::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(datum, temporal_datum_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:496,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:497,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:498,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/test/unit/test_datum.cpp:498,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_datum.cpp:499,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:500,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:505,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:505,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:505,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:512,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:513,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:514,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:517,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:517,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:517,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:518,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:519,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:519,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:520,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:520,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_datum.cpp:520,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:523,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:524,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:525,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/test/unit/test_datum.cpp:525,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:526,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:526,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:526,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:527,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:527,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:527,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:528,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:529,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:529,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_datum.cpp:530,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:531,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:531,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:533,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:534,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:535,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/test/unit/test_datum.cpp:535,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:536,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:536,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:536,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:537,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:537,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:537,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:538,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:538,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:539,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_datum.cpp:540,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_datum.cpp:540,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_datum.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 542
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - DynamicVerticalReferenceFrame::create
    - optional<std::string>
    - VerticalReferenceFrame::create
    - Measure
    - auto::exportToWKT
    - optional<RealizationMethod>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, dynamic_vertical_reference_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:547,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:548,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:549,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:550,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:551,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:554,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_datum.cpp:554,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:555,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_datum.cpp:555,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:557,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:558,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:569,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:570,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 576
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - auto::positionalAccuracy
    - PropertyMap
    - EXPECT_EQ
    - auto::datums
    - WKTFormatter::create
    - auto::exportToWKT
    - DatumEnsemble::create
    - PositionalAccuracy::create
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:581,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:582,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:584,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:585,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:586,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:587,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:588,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:589,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:590,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 596
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - VerticalReferenceFrame::create
    - auto::exportToWKT
    - DatumEnsemble::create
    - PositionalAccuracy::create
    linkageType: ''
    returnType: void
    signature: void TEST(datum, datum_ensemble_vertical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:602,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:602,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:602,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:603,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:607,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:607,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:608,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:610,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:613,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:614,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:617,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:618,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:619,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:621,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:625,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:626,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:627,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:629,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:633,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:633,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:634,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:637,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_datum.cpp:641,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_datum.cpp:641,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:642,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_datum.cpp:645,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:646,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:648,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_datum.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 652
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_THROW
    - VerticalReferenceFrame::create
    - DatumEnsemble::create
    - PositionalAccuracy::create
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, datum_ensemble_exceptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/test/unit/test_datum.cpp:657,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:658,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:659,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:664,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:664,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 667
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::exportToWKT
    - EngineeringDatum::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, edatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricDatum::create
      Src: /src/PROJ/test/unit/test_datum.cpp:672,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_datum.cpp:673,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_datum.cpp:674,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_datum.cpp:679,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_datum.cpp:679,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_datum.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 682
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - ParametricDatum::create
    - auto::exportToWKT
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, pdatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_misc.cpp:36,1
    - Dst: PROJ_COMPUTE_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:36,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_misc.cpp:37,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_misc.cpp:40,1
    - Dst: PROJ_AT_LEAST_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:40,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_misc.cpp:42,1
    - Dst: PROJ_AT_LEAST_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:42,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_misc.cpp:44,1
    - Dst: PROJ_AT_LEAST_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_misc.cpp
    functionUses: 0
    functionsReached:
    - PROJ_COMPUTE_VERSION
    - EXPECT_TRUE
    - PROJ_AT_LEAST_VERSION
    - EXPECT_EQ
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(misc, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_misc.cpp:36,1
    - Dst: PROJ_COMPUTE_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:36,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_misc.cpp:37,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_misc.cpp:40,1
    - Dst: PROJ_AT_LEAST_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:40,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_misc.cpp:42,1
    - Dst: PROJ_AT_LEAST_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:42,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_misc.cpp:44,1
    - Dst: PROJ_AT_LEAST_VERSION
      Src: /src/PROJ/test/unit/test_misc.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_misc.cpp
    functionUses: 0
    functionsReached:
    - PROJ_COMPUTE_VERSION
    - EXPECT_TRUE
    - PROJ_AT_LEAST_VERSION
    - EXPECT_EQ
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(misc, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/test/unit/test_util.cpp:40,1
    - Dst: LocalNameNNPtr::scope
      Src: /src/PROJ/test/unit/test_util.cpp:41,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:42,1
    - Dst: auto::isGlobal
      Src: /src/PROJ/test/unit/test_util.cpp:42,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:43,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_util.cpp:43,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:44,1
    - Dst: LocalNameNNPtr::toFullyQualifiedName
      Src: /src/PROJ/test/unit/test_util.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_util.cpp
    functionUses: 0
    functionsReached:
    - LocalNameNNPtr::toFullyQualifiedName
    - EXPECT_EQ
    - auto::name
    - NameFactory::createLocalName
    - auto::isGlobal
    - LocalNameNNPtr::scope
    linkageType: ''
    returnType: void
    signature: void TEST(util, NameFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_util.cpp:50,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_util.cpp:51,1
    - Dst: NameFactory::createNameSpace
      Src: /src/PROJ/test/unit/test_util.cpp:52,1
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/test/unit/test_util.cpp:53,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_util.cpp:53,1
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/test/unit/test_util.cpp:55,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_util.cpp:55,1
    - Dst: LocalNameNNPtr::scope
      Src: /src/PROJ/test/unit/test_util.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:57,1
    - Dst: auto::isGlobal
      Src: /src/PROJ/test/unit/test_util.cpp:57,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_util.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:59,1
    - Dst: auto::toString
      Src: /src/PROJ/test/unit/test_util.cpp:59,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:60,1
    - Dst: auto::scope
      Src: /src/PROJ/test/unit/test_util.cpp:60,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:61,1
    - Dst: auto::scope
      Src: /src/PROJ/test/unit/test_util.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_util.cpp:62,1
    - Dst: LocalNameNNPtr::toFullyQualifiedName
      Src: /src/PROJ/test/unit/test_util.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_util.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - NameFactory::createLocalName
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - auto::name
    - LocalNameNNPtr::toFullyQualifiedName
    - auto::scope
    - auto::isGlobal
    - std::string
    - NameFactory::createNameSpace
    - LocalNameNNPtr::scope
    linkageType: ''
    returnType: void
    signature: void TEST(util, NameFactory2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/PROJ/test/unit/main.cpp:35,1
    - Dst: testing::InitGoogleTest
      Src: /src/PROJ/test/unit/main.cpp:37,1
    - Dst: RUN_ALL_TESTS
      Src: /src/PROJ/test/unit/main.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/PROJ/test/unit/main.cpp
    functionUses: 0
    functionsReached:
    - setlocale
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: GTEST_API_
    signature: GTEST_API_ main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/PROJ/test/unit/include_proj_h_from_c.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/test_defmodel.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: getMinValidContent
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - proj_trans_array
    linkageType: ''
    returnType: json
    signature: json getMinValidContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_parser::start_object
      Src: /src/PROJ/test/unit/test_defmodel.cpp:128,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:132,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:138,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:144,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:150,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 177
    functionName: getFullValidContent
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_object
    - push_back
    linkageType: ''
    returnType: json
    signature: json getFullValidContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:182,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:182,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:183,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:183,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:184,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:184,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:188,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:189,1
    - Dst: auto::fileType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:190,1
    - Dst: auto::formatVersion
      Src: /src/PROJ/test/unit/test_defmodel.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:191,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_defmodel.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:192,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_defmodel.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:193,1
    - Dst: auto::definitionCRS
      Src: /src/PROJ/test/unit/test_defmodel.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:194,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:195,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:196,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:197,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:198,1
    - Dst: auto::timeExtent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:198,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:198,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:199,1
    - Dst: auto::timeExtent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:199,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:199,1
    - Dst: auto::items
      Src: /src/PROJ/test/unit/test_defmodel.cpp:203,1
    - Dst: json::erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:205,1
    - Dst: key
      Src: /src/PROJ/test/unit/test_defmodel.cpp:205,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:206,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:206,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:206,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:212,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:212,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:212,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:218,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:218,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:218,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:223,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:224,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:224,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:224,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:229,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:230,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:230,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:230,1
    - Dst: clear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:235,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:236,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:236,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:236,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:241,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:242,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:242,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:242,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:248,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:248,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:248,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:254,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:254,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:254,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:260,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:260,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:260,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:266,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:266,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:266,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:271,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:272,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:272,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:272,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:277,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:278,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:278,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 280
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::fileType
    - auto::formatVersion
    - auto::timeExtent
    - toString
    - EXPECT_EQ
    - auto::extent
    - erase
    - json::erase
    - auto::sourceCRS
    - clear
    - key
    - auto::targetCRS
    - EXPECT_THROW
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::definitionCRS
    - auto::dump
    - auto::items
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:286,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:287,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_defmodel.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:288,1
    - Dst: auto::version
      Src: /src/PROJ/test/unit/test_defmodel.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:289,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_defmodel.cpp:289,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:290,1
    - Dst: auto::license
      Src: /src/PROJ/test/unit/test_defmodel.cpp:290,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:291,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_defmodel.cpp:291,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:292,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:293,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:293,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:294,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:294,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:295,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:296,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:297,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:298,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:299,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:299,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:300,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:301,1
    - Dst: auto::referenceEpoch
      Src: /src/PROJ/test/unit/test_defmodel.cpp:301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:302,1
    - Dst: auto::uncertaintyReferenceEpoch
      Src: /src/PROJ/test/unit/test_defmodel.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:303,1
    - Dst: auto::horizontalOffsetUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:304,1
    - Dst: auto::verticalOffsetUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:305,1
    - Dst: auto::horizontalUncertaintyType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:306,1
    - Dst: auto::horizontalUncertaintyUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:307,1
    - Dst: auto::verticalUncertaintyType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:308,1
    - Dst: auto::verticalUncertaintyUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:309,1
    - Dst: auto::horizontalOffsetMethod
      Src: /src/PROJ/test/unit/test_defmodel.cpp:309,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:310,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:310,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:313,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_defmodel.cpp:313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:314,1
    - Dst: auto::displacementType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:315,1
    - Dst: auto::uncertaintyType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:316,1
    - Dst: auto::horizontalUncertainty
      Src: /src/PROJ/test/unit/test_defmodel.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:317,1
    - Dst: auto::verticalUncertainty
      Src: /src/PROJ/test/unit/test_defmodel.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:318,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:319,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:319,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:320,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:320,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:321,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:322,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:323,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:324,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:325,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:325,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:327,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:328,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:328,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:331,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:332,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:332,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:333,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:333,1
    - Dst: static_cast<const Component::VelocityTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:335,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:337,1
    - Dst: auto::referenceEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:337,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:340,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:341,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:342,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:342,1
    - Dst: static_cast<const Component::StepTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:343,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:345,1
    - Dst: auto::stepEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:345,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:348,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:349,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:349,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:350,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:350,1
    - Dst: static_cast<const Component::ReverseStepTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:352,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:353,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:354,1
    - Dst: auto::stepEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:354,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:357,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:358,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:358,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:359,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:359,1
    - Dst: static_cast<const Component::PiecewiseTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:361,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:363,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:365,1
    - Dst: auto::model::size
      Src: /src/PROJ/test/unit/test_defmodel.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:366,1
    - Dst: epoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:367,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:370,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:371,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:371,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:372,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:372,1
    - Dst: static_cast<const Component::ExponentialTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:374,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:376,1
    - Dst: auto::referenceEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:376,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:378,1
    - Dst: auto::endEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:379,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 384
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::stepEpoch::toString
    - auto::referenceEpoch
    - auto::spatialModel
    - epoch::toString
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - ASSERT_NE
    - static_cast<const Component::ExponentialTimeFunction *>
    - auto::verticalUncertaintyUnit
    - auto::horizontalOffsetMethod
    - auto::description
    - ASSERT_EQ
    - auto::model::size
    - auto::name
    - auto::components
    - auto::authority
    - auto::license
    - auto::horizontalUncertainty
    - auto::version
    - auto::horizontalUncertaintyUnit
    - auto::uncertaintyReferenceEpoch
    - auto::horizontalOffsetUnit
    - auto::verticalUncertaintyType
    - auto::verticalOffsetUnit
    - static_cast<const Component::PiecewiseTimeFunction *>
    - auto::extent
    - auto::endEpoch::toString
    - auto::links
    - auto::referenceEpoch::toString
    - auto::verticalUncertainty
    - auto::uncertaintyType
    - static_cast<const Component::ReverseStepTimeFunction *>
    - auto::publicationDate
    - static_cast<const Component::StepTimeFunction *>
    - static_cast<const Component::VelocityTimeFunction *>
    - auto::dump
    - auto::displacementType
    - auto::horizontalUncertaintyType
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:393,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:393,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:393,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:399,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:399,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:399,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:405,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:405,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:405,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:412,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:412,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:412,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:418,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:418,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:418,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:425,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:425,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:425,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:432,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:432,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:432,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:439,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:439,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:439,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:445,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:445,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:445,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:452,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:452,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:452,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:457,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:457,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:457,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:463,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:463,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:463,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:471,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:471,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:471,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:476,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:476,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:476,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:483,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:483,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 485
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - json::dump
    - EXPECT_NO_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, error_cases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:490,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:491,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:493,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:495,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:496,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:496,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:498,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:498,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:499,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:499,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:501,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:501,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:503,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:503,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:505,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:505,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:507,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:507,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:509,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:509,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:511,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 513
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - ISO8601ToDecimalYear
    - EXPECT_THROW
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, ISO8601ToDecimalYear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:519,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:519,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:521,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:522,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:523,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:530,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:530,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:532,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:532,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:533,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:534,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_velocity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:541,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:541,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:542,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:543,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:544,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:544,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:545,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:552,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:552,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:554,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:554,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:555,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:555,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:556,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_reverse_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:564,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:564,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:566,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:567,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:567,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:568,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:568,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:569,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:570,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:570,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:571,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:571,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:572,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:573,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:573,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:580,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:580,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:582,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:582,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:589,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:589,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:590,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:591,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:591,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:598,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:598,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:599,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:600,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:600,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:607,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:607,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:608,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:609,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:609,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:616,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:616,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:617,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:618,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:618,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:625,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:625,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:626,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:627,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:627,1
    - Dst: clear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:633,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:636,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:636,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:638,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:638,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:651,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:651,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:652,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:653,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:653,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:654,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:654,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:668,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:668,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:670,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:671,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 673
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - clear
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - EXPECT_NEAR
    - auto::dump
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_piecewise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:679,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:679,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:681,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:681,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:682,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:683,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:683,1
    - Dst: std::exp
      Src: /src/PROJ/test/unit/test_defmodel.cpp:684,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:685,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:685,1
    - Dst: std::exp
      Src: /src/PROJ/test/unit/test_defmodel.cpp:686,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:687,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:687,1
    - Dst: std::exp
      Src: /src/PROJ/test/unit/test_defmodel.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    - std::exp
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_exponential)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: RadToDeg
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RadToDeg(double d)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:746,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:748,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:753,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:755,1
    - Dst: getLongLatOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:779,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:781,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:785,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:794,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:795,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:796,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:797,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:799,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:801,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:823,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:823,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:838,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:838,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:840,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:841,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:853,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:853,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:858,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:859,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:863,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:920,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:920,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:921,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:921,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:922,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:931,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:931,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:932,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:932,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:933,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:942,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:942,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:943,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:943,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:944,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:953,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:953,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:954,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:954,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:955,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:964,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:964,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:965,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:965,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:966,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:973,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:973,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:980,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:980,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:980,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:981,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:983,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:983,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:984,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:984,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:991,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:998,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:998,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1008,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1008,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1013,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1014,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1024,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 1027
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - Evaluator::forward
    - EXPECT_NEAR
    - getLongLatOffset
    - EXPECT_TRUE
    - EXPECT_EQ
    - static_cast<int>
    - GridSet::GridSet
    - RadToDeg
    - EXPECT_FALSE
    - std::unique_ptr<GridSet>
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - std::string
    - DegToRad
    - getZOffset
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluator_horizontal_unit_degree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:746,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:748,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:753,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: getLongLatOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 1
    functionsReached:
    - DegToRad
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatOffset(int ix, int iy, double &longOffsetRadian,\n
      \                             double &latOffsetRadian) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ix
    - iy
    - zOffset
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: getZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int ix, int iy, double &zOffset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLongLatOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:779,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: getLongLatZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - getLongLatOffset
    - getZOffset
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatZOffset(int ix, int iy, double &longOffsetRadian,\n
      \                              double &latOffsetRadian, double &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: name
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 75
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:794,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:795,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:796,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:797,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:799,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 802
    functionName: GridSet
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - DegToRad
    linkageType: ''
    returnType: void
    signature: void GridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: gridAt
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: open
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 39
    functionsReached:
    - GridSet::GridSet
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: log
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1034,1
    - Dst: cos
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1035,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - phi
    - dlam
    - dphi
    - a
    - b
    - de
    - dn
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1042
    functionName: DeltaLongLatToEastingNorthing
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: "void DeltaLongLatToEastingNorthing(double phi, double dlam, double
      dphi,\n                                          double a, double b, double
      &de,\n                                          double &dn)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getEastingNorthingOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1138,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1140,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1144,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1153,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1154,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1155,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1156,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1180,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1181,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1184,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1190,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1194,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1195,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1201,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1202,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1205,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1211,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1215,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1216,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1263,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1274,1
    - Dst: DeltaLongLatToEastingNorthing
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1280,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1280,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1281,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1282,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1283,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1286,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1299,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1302,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1302,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1302,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1303,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1309,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1310,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1311,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1314,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1314,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1314,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1315,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1321,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1323,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1334,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1334,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1347,1
    - Dst: Evaluator::inverse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1347,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1349,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1349,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1350,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1350,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1351,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1361,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1361,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: DeltaLongLatToEastingNorthing
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1375,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1375,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1376,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1377,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1378,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1379,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1380,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1382
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - toString
    - EXPECT_EQ
    - proj_context_destroy
    - proj_context_create
    - PJ*::fwd3d
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - PJ*::inv3d
    - Evaluator::inverse
    - GridSet::GridSet
    - proj_destroy
    - EXPECT_NEAR
    - std::string
    - std::unique_ptr<GridSet>
    - getEastingNorthingOffset
    - DegToRad
    - getZOffset
    - c_str
    - Evaluator::forward
    - proj_create
    - RadToDeg
    - DeltaLongLatToEastingNorthing
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluator_horizontal_unit_metre)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1112
    functionName: getEastingNorthingOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int ix, int iy, double &eastingOffset,\n
      \                                     double &northingOffset) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ix
    - iy
    - zOffset
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1133
    functionName: getZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int ix, int iy, double &zOffset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEastingNorthingOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1138,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1141
    functionName: getEastingNorthingZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - getZOffset
    - getEastingNorthingOffset
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingZOffset(int ix, int iy, double &eastingOffset,\n
      \                                      double &northingOffset,\n                                       double
      &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1144
    functionName: name
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 75
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1153,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1154,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1155,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1159
    functionName: GridSet
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 3
    functionsReached:
    - DegToRad
    linkageType: ''
    returnType: void
    signature: void GridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: gridAt
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1169
    functionName: open
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 39
    functionsReached:
    - GridSet::GridSet
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1171
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1174
    functionName: log
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1180,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1181,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1184,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1190,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1194,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - lam
    - phi
    - height
    - a
    - es
    - X
    - Y
    - Z
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1196
    functionName: geographicToGeocentric
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - toString
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - PJ*::fwd3d
    - c_str
    linkageType: ''
    returnType: void
    signature: "void geographicToGeocentric(double lam, double phi, double height,\n
      \                                   double a, double /*b*/, double es,\n                                    double
      &X, double &Y, double &Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1201,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1202,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1205,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1211,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1215,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - X
    - Y
    - Z
    - a
    - es
    - lam
    - phi
    - height
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1217
    functionName: geocentricToGeographic
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - PJ*::inv3d
    - toString
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - c_str
    linkageType: ''
    returnType: void
    signature: "void geocentricToGeographic(double X, double Y, double Z, double a,\n
      \                                   double /*b*/, double es, double &lam,\n
      \                                   double &phi, double &height)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1438,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1478,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1478,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1484,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1484,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1486,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1487,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1488,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1493,1
    - Dst: Evaluator<Grid, GridSet, EvaluatorIface>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1493,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1494,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1494,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1501,1
    - Dst: Evaluator<Grid, GridSet, EvaluatorIface>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1501,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1502,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1502,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1510,1
    - Dst: Evaluator<Grid, GridSet, EvaluatorIface>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1510,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1511,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1514
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - Evaluator::forward
    - EXPECT_NEAR
    - EXPECT_TRUE
    - GridSet::GridSet
    - EXPECT_THROW
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - Evaluator<Grid, GridSet, EvaluatorIface>
    - std::string
    - std::unique_ptr<GridSet>
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluator_projected_crs)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1435
    functionName: getEastingNorthingOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int ix, int iy, double &eastingOffset,\n
      \                                     double &northingOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1438
    functionName: name
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 75
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1453
    functionName: GridSet
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1455
    functionName: gridAt
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1463
    functionName: open
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 39
    functionsReached:
    - GridSet::GridSet
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1465
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1468
    functionName: log
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_trans_array
      Src: /src/PROJ/test/unit/test_defmodel.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: getMinValidContent
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - proj_trans_array
    linkageType: ''
    returnType: json
    signature: json getMinValidContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_parser::start_object
      Src: /src/PROJ/test/unit/test_defmodel.cpp:128,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:132,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:138,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:144,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:150,1
    - Dst: push_back
      Src: /src/PROJ/test/unit/test_defmodel.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 177
    functionName: getFullValidContent
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_object
    - push_back
    linkageType: ''
    returnType: json
    signature: json getFullValidContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:182,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:182,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:183,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:183,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:184,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:184,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:188,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:189,1
    - Dst: auto::fileType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:190,1
    - Dst: auto::formatVersion
      Src: /src/PROJ/test/unit/test_defmodel.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:191,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_defmodel.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:192,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_defmodel.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:193,1
    - Dst: auto::definitionCRS
      Src: /src/PROJ/test/unit/test_defmodel.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:194,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:195,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:196,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:197,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:198,1
    - Dst: auto::timeExtent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:198,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:198,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:199,1
    - Dst: auto::timeExtent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:199,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:199,1
    - Dst: auto::items
      Src: /src/PROJ/test/unit/test_defmodel.cpp:203,1
    - Dst: json::erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:205,1
    - Dst: key
      Src: /src/PROJ/test/unit/test_defmodel.cpp:205,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:206,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:206,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:206,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:212,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:212,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:212,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:218,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:218,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:218,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:223,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:224,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:224,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:224,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:229,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:230,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:230,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:230,1
    - Dst: clear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:235,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:236,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:236,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:236,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:241,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:242,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:242,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:242,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:248,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:248,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:248,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:254,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:254,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:254,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:260,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:260,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:260,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:266,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:266,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:266,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:271,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:272,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:272,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:272,1
    - Dst: erase
      Src: /src/PROJ/test/unit/test_defmodel.cpp:277,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:278,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:278,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 280
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::fileType
    - auto::formatVersion
    - auto::timeExtent
    - toString
    - EXPECT_EQ
    - auto::extent
    - erase
    - json::erase
    - auto::sourceCRS
    - clear
    - key
    - auto::targetCRS
    - EXPECT_THROW
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::definitionCRS
    - auto::dump
    - auto::items
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:286,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:287,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_defmodel.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:288,1
    - Dst: auto::version
      Src: /src/PROJ/test/unit/test_defmodel.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:289,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_defmodel.cpp:289,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:290,1
    - Dst: auto::license
      Src: /src/PROJ/test/unit/test_defmodel.cpp:290,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:291,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_defmodel.cpp:291,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:292,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:293,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:293,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:294,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:294,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:295,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_defmodel.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:296,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:297,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:298,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:299,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:299,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:300,1
    - Dst: auto::links
      Src: /src/PROJ/test/unit/test_defmodel.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:301,1
    - Dst: auto::referenceEpoch
      Src: /src/PROJ/test/unit/test_defmodel.cpp:301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:302,1
    - Dst: auto::uncertaintyReferenceEpoch
      Src: /src/PROJ/test/unit/test_defmodel.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:303,1
    - Dst: auto::horizontalOffsetUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:304,1
    - Dst: auto::verticalOffsetUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:305,1
    - Dst: auto::horizontalUncertaintyType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:306,1
    - Dst: auto::horizontalUncertaintyUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:307,1
    - Dst: auto::verticalUncertaintyType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:308,1
    - Dst: auto::verticalUncertaintyUnit
      Src: /src/PROJ/test/unit/test_defmodel.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:309,1
    - Dst: auto::horizontalOffsetMethod
      Src: /src/PROJ/test/unit/test_defmodel.cpp:309,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:310,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:310,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:313,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_defmodel.cpp:313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:314,1
    - Dst: auto::displacementType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:315,1
    - Dst: auto::uncertaintyType
      Src: /src/PROJ/test/unit/test_defmodel.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:316,1
    - Dst: auto::horizontalUncertainty
      Src: /src/PROJ/test/unit/test_defmodel.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:317,1
    - Dst: auto::verticalUncertainty
      Src: /src/PROJ/test/unit/test_defmodel.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:318,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:319,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:319,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:320,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:320,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:321,1
    - Dst: auto::extent
      Src: /src/PROJ/test/unit/test_defmodel.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:322,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:323,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:324,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:325,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/test/unit/test_defmodel.cpp:325,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:327,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:328,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:328,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:331,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:332,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:332,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:333,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:333,1
    - Dst: static_cast<const Component::VelocityTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:335,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:337,1
    - Dst: auto::referenceEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:337,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:340,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:341,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:342,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:342,1
    - Dst: static_cast<const Component::StepTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:343,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:345,1
    - Dst: auto::stepEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:345,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:348,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:349,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:349,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:350,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:350,1
    - Dst: static_cast<const Component::ReverseStepTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:352,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:353,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:354,1
    - Dst: auto::stepEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:354,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:357,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:358,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:358,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:359,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:359,1
    - Dst: static_cast<const Component::PiecewiseTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:361,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:363,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:365,1
    - Dst: auto::model::size
      Src: /src/PROJ/test/unit/test_defmodel.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:366,1
    - Dst: epoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:367,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:370,1
    - Dst: ASSERT_NE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:371,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:371,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:372,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:372,1
    - Dst: static_cast<const Component::ExponentialTimeFunction *>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:374,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:376,1
    - Dst: auto::referenceEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:376,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:378,1
    - Dst: auto::endEpoch::toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:379,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 384
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::stepEpoch::toString
    - auto::referenceEpoch
    - auto::spatialModel
    - epoch::toString
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - ASSERT_NE
    - static_cast<const Component::ExponentialTimeFunction *>
    - auto::verticalUncertaintyUnit
    - auto::horizontalOffsetMethod
    - auto::description
    - ASSERT_EQ
    - auto::model::size
    - auto::name
    - auto::components
    - auto::authority
    - auto::license
    - auto::horizontalUncertainty
    - auto::version
    - auto::horizontalUncertaintyUnit
    - auto::uncertaintyReferenceEpoch
    - auto::horizontalOffsetUnit
    - auto::verticalUncertaintyType
    - auto::verticalOffsetUnit
    - static_cast<const Component::PiecewiseTimeFunction *>
    - auto::extent
    - auto::endEpoch::toString
    - auto::links
    - auto::referenceEpoch::toString
    - auto::verticalUncertainty
    - auto::uncertaintyType
    - static_cast<const Component::ReverseStepTimeFunction *>
    - auto::publicationDate
    - static_cast<const Component::StepTimeFunction *>
    - static_cast<const Component::VelocityTimeFunction *>
    - auto::dump
    - auto::displacementType
    - auto::horizontalUncertaintyType
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:393,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:393,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:393,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:399,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:399,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:399,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:405,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:405,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:405,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:412,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:412,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:412,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:418,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:418,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:418,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:425,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:425,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:425,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:432,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:432,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:432,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:439,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:439,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:439,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:445,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:445,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:445,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:452,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:452,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:452,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:457,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:457,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:457,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:463,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:463,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:463,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:471,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:471,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:471,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:476,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:476,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:476,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:483,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:483,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 485
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - json::dump
    - EXPECT_NO_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, error_cases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:490,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:491,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:493,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:495,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:496,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:496,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:498,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:498,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:499,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:499,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:501,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:501,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:503,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:503,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:505,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:505,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:507,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:507,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:509,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:509,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:511,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 513
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - ISO8601ToDecimalYear
    - EXPECT_THROW
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, ISO8601ToDecimalYear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:519,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:519,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:521,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:522,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:523,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:530,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:530,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:532,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:532,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:533,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:534,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_velocity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:541,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:541,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:542,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:543,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:544,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:544,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:545,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:552,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:552,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:554,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:554,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:555,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:555,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:556,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_reverse_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:564,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:564,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:566,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:567,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:567,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:568,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:568,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:569,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:570,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:570,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:571,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:571,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:572,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:573,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:573,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:580,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:580,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:582,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:582,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:589,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:589,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:590,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:591,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:591,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:598,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:598,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:599,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:600,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:600,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:607,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:607,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:608,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:609,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:609,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:616,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:616,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:617,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:618,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:618,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:625,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:625,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:626,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:627,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:627,1
    - Dst: clear
      Src: /src/PROJ/test/unit/test_defmodel.cpp:633,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:636,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:636,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:638,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:638,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:651,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:651,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:652,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:653,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:653,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:654,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:654,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:668,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:668,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:670,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:671,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 673
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - clear
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - EXPECT_NEAR
    - auto::dump
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_piecewise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:679,1
    - Dst: auto::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:679,1
    - Dst: auto::components
      Src: /src/PROJ/test/unit/test_defmodel.cpp:680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:681,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:681,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:682,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:682,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:683,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:683,1
    - Dst: std::exp
      Src: /src/PROJ/test/unit/test_defmodel.cpp:684,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:685,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:685,1
    - Dst: std::exp
      Src: /src/PROJ/test/unit/test_defmodel.cpp:686,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:687,1
    - Dst: auto::timeFunction
      Src: /src/PROJ/test/unit/test_defmodel.cpp:687,1
    - Dst: std::exp
      Src: /src/PROJ/test/unit/test_defmodel.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::timeFunction
    - EXPECT_EQ
    - auto::components
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - auto::dump
    - std::exp
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluate_exponential)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: RadToDeg
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RadToDeg(double d)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:746,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:748,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:753,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:755,1
    - Dst: getLongLatOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:779,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:781,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:785,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:794,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:795,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:796,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:797,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:799,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:801,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:823,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:823,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:836,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:838,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:838,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:840,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:841,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:851,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:853,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:853,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:858,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:859,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:863,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:870,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:878,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:886,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:894,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:902,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:910,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:918,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:920,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:920,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:921,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:921,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:922,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:929,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:931,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:931,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:932,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:932,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:933,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:940,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:942,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:942,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:943,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:943,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:944,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:951,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:953,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:953,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:954,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:954,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:955,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:962,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:964,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:964,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:965,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:965,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:966,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:973,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:973,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:980,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:980,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:980,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:981,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:983,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:983,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:984,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:984,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:991,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:998,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:998,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1006,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1008,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1008,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1013,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1014,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1024,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 1027
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - Evaluator::forward
    - EXPECT_NEAR
    - getLongLatOffset
    - EXPECT_TRUE
    - EXPECT_EQ
    - static_cast<int>
    - GridSet::GridSet
    - RadToDeg
    - EXPECT_FALSE
    - std::unique_ptr<GridSet>
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - std::string
    - DegToRad
    - getZOffset
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluator_horizontal_unit_degree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:746,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:748,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:753,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: getLongLatOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 3
    functionsReached:
    - DegToRad
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatOffset(int ix, int iy, double &longOffsetRadian,\n
      \                             double &latOffsetRadian) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ix
    - iy
    - zOffset
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: getZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int ix, int iy, double &zOffset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLongLatOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:779,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: getLongLatZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - getLongLatOffset
    - getZOffset
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatZOffset(int ix, int iy, double &longOffsetRadian,\n
      \                              double &latOffsetRadian, double &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: name
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 76
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:794,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:795,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:796,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:797,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:799,1
    - Dst: static_cast<int>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 802
    functionName: GridSet
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - DegToRad
    linkageType: ''
    returnType: void
    signature: void GridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: gridAt
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: open
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 39
    functionsReached:
    - GridSet::GridSet
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: log
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1034,1
    - Dst: cos
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1035,1
    - Dst: sqrt
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - phi
    - dlam
    - dphi
    - a
    - b
    - de
    - dn
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1042
    functionName: DeltaLongLatToEastingNorthing
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 1
    functionsReached:
    - sqrt
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: "void DeltaLongLatToEastingNorthing(double phi, double dlam, double
      dphi,\n                                          double a, double b, double
      &de,\n                                          double &dn)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getEastingNorthingOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1138,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1140,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1144,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1153,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1154,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1155,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1156,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1180,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1181,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1184,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1190,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1194,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1195,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1201,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1202,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1205,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1211,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1215,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1216,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1263,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1270,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1274,1
    - Dst: DeltaLongLatToEastingNorthing
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1280,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1280,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1281,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1282,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1283,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1286,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1295,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1299,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1302,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1302,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1302,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1303,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1309,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1310,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1311,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1314,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1314,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1314,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1315,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1319,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1321,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1323,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1334,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1334,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1341,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1347,1
    - Dst: Evaluator::inverse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1347,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1349,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1349,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1350,1
    - Dst: RadToDeg
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1350,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1351,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1361,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1361,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1368,1
    - Dst: DeltaLongLatToEastingNorthing
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1375,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1375,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1376,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1377,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1378,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1379,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1380,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1382
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - toString
    - EXPECT_EQ
    - proj_context_destroy
    - proj_context_create
    - PJ*::fwd3d
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - PJ*::inv3d
    - Evaluator::inverse
    - GridSet::GridSet
    - proj_destroy
    - EXPECT_NEAR
    - std::string
    - std::unique_ptr<GridSet>
    - getEastingNorthingOffset
    - DegToRad
    - getZOffset
    - c_str
    - Evaluator::forward
    - proj_create
    - RadToDeg
    - DeltaLongLatToEastingNorthing
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluator_horizontal_unit_metre)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1112
    functionName: getEastingNorthingOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int ix, int iy, double &eastingOffset,\n
      \                                     double &northingOffset) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ix
    - iy
    - zOffset
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1133
    functionName: getZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int ix, int iy, double &zOffset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEastingNorthingOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1138,1
    - Dst: getZOffset
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1141
    functionName: getEastingNorthingZOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - getZOffset
    - getEastingNorthingOffset
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingZOffset(int ix, int iy, double &eastingOffset,\n
      \                                      double &northingOffset,\n                                       double
      &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1144
    functionName: name
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 76
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1153,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1154,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1155,1
    - Dst: DegToRad
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1159
    functionName: GridSet
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 9
    functionsReached:
    - DegToRad
    linkageType: ''
    returnType: void
    signature: void GridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: gridAt
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1169
    functionName: open
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 39
    functionsReached:
    - GridSet::GridSet
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1171
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1174
    functionName: log
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1180,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1181,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1184,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1183,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1190,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1194,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - lam
    - phi
    - height
    - a
    - es
    - X
    - Y
    - Z
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1196
    functionName: geographicToGeocentric
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - toString
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - PJ*::fwd3d
    - c_str
    linkageType: ''
    returnType: void
    signature: "void geographicToGeocentric(double lam, double phi, double height,\n
      \                                   double a, double /*b*/, double es,\n                                    double
      &X, double &Y, double &Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1201,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1202,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1205,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1204,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1211,1
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1215,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - X
    - Y
    - Z
    - a
    - es
    - lam
    - phi
    - height
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1217
    functionName: geocentricToGeographic
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - PJ*::inv3d
    - toString
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_context_create
    - c_str
    linkageType: ''
    returnType: void
    signature: "void geocentricToGeographic(double X, double Y, double Z, double a,\n
      \                                   double /*b*/, double es, double &lam,\n
      \                                   double &phi, double &height)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1438,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1478,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1478,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1484,1
    - Dst: Evaluator::forward
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1484,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1486,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1487,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1488,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1493,1
    - Dst: Evaluator<Grid, GridSet, EvaluatorIface>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1493,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1494,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1494,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1501,1
    - Dst: Evaluator<Grid, GridSet, EvaluatorIface>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1501,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1502,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1502,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1510,1
    - Dst: Evaluator<Grid, GridSet, EvaluatorIface>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1510,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1511,1
    - Dst: json::dump
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1514
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached:
    - Evaluator::forward
    - EXPECT_NEAR
    - EXPECT_TRUE
    - GridSet::GridSet
    - EXPECT_THROW
    - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    - Evaluator<Grid, GridSet, EvaluatorIface>
    - std::string
    - std::unique_ptr<GridSet>
    - json::dump
    linkageType: ''
    returnType: void
    signature: void TEST(defmodel, evaluator_projected_crs)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1435
    functionName: getEastingNorthingOffset
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int ix, int iy, double &eastingOffset,\n
      \                                     double &northingOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1438
    functionName: name
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 76
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1453
    functionName: GridSet
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1455
    functionName: gridAt
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/test/unit/test_defmodel.cpp:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1463
    functionName: open
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 39
    functionsReached:
    - GridSet::GridSet
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1465
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1468
    functionName: log
    functionSourceFile: /src/PROJ/test/unit/test_defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_coordinates.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~ObjectKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjectKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '&operator=(const ObjectKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectKeeper
    signature: ObjectKeeper &operator=(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(PJ_CONTEXT *ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_coordinates.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PjContextKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~PjContextKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '&operator=(const PjContextKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PjContextKeeper
    signature: PjContextKeeper &operator=(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/test/unit/test_coordinates.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~ObjectKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjectKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '&operator=(const ObjectKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectKeeper
    signature: ObjectKeeper &operator=(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(PJ_CONTEXT *ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/test/unit/test_coordinates.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PjContextKeeper()
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~PjContextKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: PjContextKeeper
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PjContextKeeper(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '&operator=(const PjContextKeeper &)'
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PjContextKeeper
    signature: PjContextKeeper &operator=(const PjContextKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_coordinates.cpp:81,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_coordinates.cpp:82,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:85,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_coordinates.cpp:86,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_coordinates.cpp:87,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:90,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_coordinates.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: createVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 12
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr createVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:99,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:100,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:100,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:101,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:102,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:102,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_coordinates.cpp:105,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:106,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_coordinates.cpp:109,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:109,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_coordinates.cpp:109,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_coordinates.cpp:114,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:114,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_coordinates.cpp:115,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_coordinates.cpp:117,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:118,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:119,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:119,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:120,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:121,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:121,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:123,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:125,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_coordinates.cpp:125,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_coordinates.cpp:128,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_coordinates.cpp:128,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:129,1
    - Dst: std::isnan
      Src: /src/PROJ/test/unit/test_coordinates.cpp:129,1
    - Dst: proj_coordinate_metadata_get_epoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:129,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:132,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_coordinates.cpp:135,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:135,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_coordinates.cpp:136,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_coordinates.cpp:138,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:139,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:140,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:140,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:141,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:142,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 143
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::c_str
    - WKTFormatterNNPtr::get
    - proj_context_create
    - auto::exportToWKT
    - auto::exportToJSON
    - CoordinateMetadata::create
    - auto::crs
    - nn_dynamic_pointer_cast<CoordinateMetadata>
    - EXPECT_THROW
    - proj_get_type
    - ASSERT_TRUE
    - createVerticalCRS
    - proj_coordinate_metadata_get_epoch
    - proj_get_source_crs
    - createFromUserInput
    - JSONFormatter::create
    - get
    - proj_create
    - EXPECT_FALSE
    - auto::coordinateEpoch
    - EXPECT_NO_THROW
    - WKTParser
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void TEST(coordinateMetadata, static_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:148,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_coordinates.cpp:149,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_coordinates.cpp:150,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_coordinates.cpp:151,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_coordinates.cpp:152,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:153,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_coordinates.cpp:154,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_coordinates.cpp:155,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:156,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:157,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:157,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:157,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:158,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:158,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_coordinates.cpp:159,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_coordinates.cpp:159,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_coordinates.cpp:163,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:163,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_coordinates.cpp:167,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:167,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_coordinates.cpp:168,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_coordinates.cpp:170,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:171,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:171,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:171,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:172,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:172,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_coordinates.cpp:173,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_coordinates.cpp:173,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:176,1
    - Dst: proj_create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:178,1
    - Dst: auto::c_str
      Src: /src/PROJ/test/unit/test_coordinates.cpp:178,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:180,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_coordinates.cpp:181,1
    - Dst: proj_get_type
      Src: /src/PROJ/test/unit/test_coordinates.cpp:181,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_coordinates.cpp:182,1
    - Dst: proj_coordinate_metadata_get_epoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:182,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_coordinates.cpp:185,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:185,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_coordinates.cpp:186,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/test/unit/test_coordinates.cpp:188,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:189,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:189,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_coordinates.cpp:190,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:191,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:191,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_coordinates.cpp:192,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_coordinates.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 194
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::c_str
    - WKTFormatterNNPtr::get
    - proj_context_create
    - auto::exportToWKT
    - auto::exportToJSON
    - CoordinateMetadata::create
    - EllipsoidalCS::createLatitudeLongitude
    - auto::crs
    - nn_dynamic_pointer_cast<CoordinateMetadata>
    - DynamicGeodeticReferenceFrame::create
    - EXPECT_THROW
    - auto::coordinateEpochAsDecimalYear
    - EXPECT_NEAR
    - proj_get_type
    - GeographicCRS::create
    - ASSERT_TRUE
    - proj_coordinate_metadata_get_epoch
    - optional<std::string>
    - createFromUserInput
    - PropertyMap
    - JSONFormatter::create
    - proj_create
    - auto::coordinateEpoch
    - Measure
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(coordinateMetadata, dynamic_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:199,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:200,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_coordinates.cpp:203,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_coordinates.cpp:204,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:204,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_coordinates.cpp:205,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:205,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:206,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_coordinates.cpp:207,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:208,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:208,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_coordinates.cpp:209,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_coordinates.cpp:209,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:210,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:210,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_coordinates.cpp:211,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_coordinates.cpp:211,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_coordinates.cpp:214,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_coordinates.cpp:215,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:215,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/test/unit/test_coordinates.cpp:217,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_coordinates.cpp:217,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:219,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_coordinates.cpp:219,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_coordinates.cpp:220,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_coordinates.cpp:220,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_coordinates.cpp:221,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_coordinates.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 223
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_coordinates.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - EXPECT_TRUE
    - auto::promoteTo3D
    - auto::createCoordinateReferenceSystem
    - auto::crs
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - auto::coordinateEpoch
    - DatabaseContext::create
    - auto::coordinateEpochAsDecimalYear
    - std::string
    - CoordinateMetadata::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(coordinateMetadata, crs_with_point_motion_operation_and_promote_to_3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:68,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:71,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, databasecontext_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:78,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:78,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:79,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:79,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:80,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::createObject
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:87,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:87,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:88,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:88,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:90,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:91,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:92,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:93,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:93,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:94,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:95,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - EXPECT_THROW
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:101,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:101,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:102,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:103,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:109,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:109,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:111,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:112,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:113,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:113,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:113,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:114,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:115,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_angular)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:121,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:121,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:123,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:124,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:125,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:125,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:126,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:127,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_angular_9107)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:133,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:133,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:135,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:136,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:137,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:138,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:139,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:145,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:145,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:147,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:148,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:149,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:150,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:151,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:157,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:157,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:158,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:160,1
    - Dst: nn_dynamic_pointer_cast<PrimeMeridian>
      Src: /src/PROJ/test/unit/test_factory.cpp:160,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:161,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:161,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:163,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:164,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:165,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:165,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:166,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:166,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:167,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:168,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_factory.cpp:168,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_factory.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - EXPECT_TRUE
    - ASSERT_EQ
    - Angle
    - EXPECT_EQ
    - auto::name
    - auto::createPrimeMeridian
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<PrimeMeridian>
    - AuthorityFactory::create
    - auto::longitude
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createPrimeMeridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:174,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:175,1
    - Dst: auto::identifyBodyFromSemiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:175,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:176,1
    - Dst: auto::identifyBodyFromSemiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_THROW
    - DatabaseContext::create
    - auto::identifyBodyFromSemiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_identifyBodyFromSemiMajorAxis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:183,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:183,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:184,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:184,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:186,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:187,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:187,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:187,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:188,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:188,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:189,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:189,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:190,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_factory.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:191,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:191,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:192,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_factory.cpp:192,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:193,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/test/unit/test_factory.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::celestialBody
    - code
    - Length
    - ASSERT_EQ
    - EXPECT_TRUE
    - Scale
    - auto::createEllipsoid
    - EXPECT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - auto::inverseFlattening
    - DatabaseContext::create
    - auto::semiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEllipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:199,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:199,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:201,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:201,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:202,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:202,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - auto::createEllipsoid
    - EXPECT_EQ
    - auto::isSphere
    - DatabaseContext::create
    - auto::semiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEllipsoid_sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:208,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:208,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:209,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:210,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:210,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:211,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:211,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:212,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:212,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - auto::createEllipsoid
    - EXPECT_EQ
    - auto::semiMinorAxis
    - DatabaseContext::create
    - auto::semiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEllipsoid_with_semi_minor_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:218,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:218,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:219,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:219,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:221,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_factory.cpp:221,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_factory.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:223,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:223,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_factory.cpp:224,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:226,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/test/unit/test_factory.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:227,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/test/unit/test_factory.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:228,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/test/unit/test_factory.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:229,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/test/unit/test_factory.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createExtent
    - auto::description
    - auto::geographicElements
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - auto::westBoundLongitude
    - auto::northBoundLatitude
    - nn_dynamic_pointer_cast<GeographicBoundingBox>
    - ASSERT_TRUE
    - EXPECT_THROW
    - DatabaseContext::create
    - auto::eastBoundLongitude
    - AuthorityFactory::create
    - auto::southBoundLatitude
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createExtent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:235,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:235,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:237,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_factory.cpp:237,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_factory.cpp:238,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:239,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createExtent
    - auto::description
    - auto::geographicElements
    - EXPECT_TRUE
    - EXPECT_EQ
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createExtent_no_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:245,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:245,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:246,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:246,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:248,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:249,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:249,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:251,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:252,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:252,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:253,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:253,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:253,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:254,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:254,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:255,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:255,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:256,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:257,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:257,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:259,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:259,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:260,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:261,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:262,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:263,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:263,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:263,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:264,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::createGeodeticDatum
    - auto::createEllipsoid
    - auto::name
    - auto::createPrimeMeridian
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - auto::primeMeridian
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::ellipsoid
    - auto::publicationDate
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:270,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:270,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:272,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:273,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:273,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:275,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:276,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createGeodeticDatum
    - EXPECT_EQ
    - auto::publicationDate
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticDatum_with_publication_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:282,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:282,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:283,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:284,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:286,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createGeodeticDatum
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDynamicGeodeticDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:292,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:292,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:293,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:293,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:295,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:296,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:297,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:297,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:298,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:298,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:299,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:299,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:300,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:301,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:302,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:303,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:303,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:303,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:304,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:305,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:305,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:306,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::createVerticalDatum
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::name
    - auto::publicationDate
    - auto::domains
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::domainOfValidity
    - AuthorityFactory::create
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:312,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:312,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:314,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:315,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:315,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:316,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createVerticalDatum
    - DatabaseContext::create
    - EXPECT_NEAR
    - AuthorityFactory::create
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalDatum_with_anchor_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:324,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:324,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:325,1
    - Dst: nn_dynamic_pointer_cast<DynamicVerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:326,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:328,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<DynamicVerticalReferenceFrame>
    - auto::createVerticalDatum
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDynamicVerticalDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:335,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:335,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:336,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:336,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:338,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:339,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:340,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:340,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:341,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:341,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:342,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:342,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:343,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:344,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:345,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:346,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:346,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:346,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:347,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:348,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:348,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:349,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 350
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createExtent
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::name
    - auto::publicationDate
    - auto::createEngineeringDatum
    - auto::domains
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::domainOfValidity
    - AuthorityFactory::create
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEngineeringDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:355,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:355,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:356,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:356,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:357,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:357,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:358,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:359,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:359,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createVerticalDatum
    - auto::createGeodeticDatum
    - EXPECT_THROW
    - AuthorityFactory::create
    - DatabaseContext::create
    - auto::createDatum
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:366,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:366,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:367,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:367,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:369,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:369,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:372,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:372,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:373,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:373,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:374,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:374,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:375,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:375,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:376,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_factory.cpp:376,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:377,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_factory.cpp:377,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:378,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:378,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:379,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:380,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:381,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:382,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:382,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:382,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:387,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:387,1
    - Dst: dynamic_cast<GeodeticReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:388,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:388,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:389,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:390,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:390,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:390,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:395,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:396,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:396,1
    - Dst: dynamic_cast<GeodeticReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:397,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:397,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:398,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:399,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:399,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 401
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::createExtent
    - auto::datums
    - EXPECT_THROW
    - auto::createDatum
    - ASSERT_TRUE
    - dynamic_cast<GeodeticReferenceFrame *>
    - auto::domainOfValidity
    - auto::createDatumEnsemble
    - auto::positionalAccuracy
    - auto::isEquivalentTo
    - auto::identifiers
    - auto::asDatum
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDatumEnsembleGeodetic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:406,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:406,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:407,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:407,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:410,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:410,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:411,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:412,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:412,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:413,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:413,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:414,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_factory.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:415,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_factory.cpp:415,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:416,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:416,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:417,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:418,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:419,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:420,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:420,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:420,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:424,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:425,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:425,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:426,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:427,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:427,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:427,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:432,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:432,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:433,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:433,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:434,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:435,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:435,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::createExtent
    - auto::datums
    - EXPECT_THROW
    - auto::createDatum
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::createDatumEnsemble
    - dynamic_cast<VerticalReferenceFrame *>
    - auto::positionalAccuracy
    - auto::isEquivalentTo
    - auto::identifiers
    - auto::asDatum
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDatumEnsembleVertical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:442,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:442,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:443,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:443,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:445,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:446,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:447,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:449,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:449,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:450,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:450,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:450,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:451,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:451,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:451,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:453,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:454,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:454,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:456,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:457,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:457,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:458,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:459,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:459,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:461,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:461,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:462,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:462,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:463,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:464,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - auto::size
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - auto::createCoordinateSystem
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - name
    - DatabaseContext::create
    - abbreviation
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_ellipsoidal_2_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:470,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:470,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:472,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:474,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:476,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:476,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:477,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:477,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:477,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:478,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:478,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:478,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:481,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:481,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:483,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:483,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:484,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:485,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:485,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:486,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:486,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:488,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:488,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:489,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:489,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:490,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:491,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:493,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:494,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:494,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:495,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:496,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 497
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - auto::createCoordinateSystem
    - name
    - auto::identifiers
    - codeSpace
    - abbreviation
    - DatabaseContext::create
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_ellipsoidal_3_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:502,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:502,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:504,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:505,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:506,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:508,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:509,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:509,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:510,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:510,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:510,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:512,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:513,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:515,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:516,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:517,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:517,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:518,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:520,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:521,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:522,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:523,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:525,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:525,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:526,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:526,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:527,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:527,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:528,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 529
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::createCoordinateSystem
    - name
    - abbreviation
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<CartesianCS>
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:534,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:534,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:535,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:535,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:538,1
    - Dst: nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:539,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:540,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:542,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:542,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:543,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:543,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:544,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:544,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:544,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:546,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:547,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:547,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:549,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:549,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:550,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:550,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:551,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:551,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:552,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - nn_dynamic_pointer_cast<VerticalCS>
    - auto::size
    - EXPECT_EQ
    - auto::createCoordinateSystem
    - ASSERT_TRUE
    - name
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - abbreviation
    - DatabaseContext::create
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_vertical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:558,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:558,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:559,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:559,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:561,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:562,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:563,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:564,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:564,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:565,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:565,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:566,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:566,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:567,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:567,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:568,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:568,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:569,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:569,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:570,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:570,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:571,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:572,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:572,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:573,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:574,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:575,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:576,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:577,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:577,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:577,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:579,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:579,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 581
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - auto::datumEnsemble
    - EXPECT_THROW
    - auto::datum
    - auto::exportToPROJString
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::createDatumEnsemble
    - auto::createGeodeticCRS
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::isEquivalentTo
    - PROJStringFormatter::create
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geographic2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:586,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:586,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:587,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:588,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:589,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:590,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:591,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:591,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createExtent
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - auto::domains
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - auto::domainOfValidity
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geographic2D_area_no_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:597,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:597,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:598,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:599,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:600,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:601,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:601,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:602,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:602,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:602,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:603,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:603,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:603,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:604,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:604,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:605,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:605,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:606,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:606,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:607,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:607,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:608,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:609,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:609,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 611
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createGeodeticCRS
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::name
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::datumEnsemble
    - ASSERT_TRUE
    - auto::createCoordinateSystem
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::datum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geographic3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:616,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:616,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:617,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:618,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:619,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:619,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:620,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:620,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:620,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:621,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:621,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:621,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:622,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:622,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:623,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:623,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:624,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:624,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:625,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:625,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:626,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:627,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:627,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createGeodeticCRS
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::name
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::datumEnsemble
    - ASSERT_TRUE
    - auto::createCoordinateSystem
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::datum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:634,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:634,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:635,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:636,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:637,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:638,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:638,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:638,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:640,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 641
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    - auto::createGeographicCRS
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeographicCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:646,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:646,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:647,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:647,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:650,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:651,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:651,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:652,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:652,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:652,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:653,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:653,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:653,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:654,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:654,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:655,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:656,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:656,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:657,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:657,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:658,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:660,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:661,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:662,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:663,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:663,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 664
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::datum
    - auto::createDatum
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::isEquivalentTo
    - auto::createVerticalCRS
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:669,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:669,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:670,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:670,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:673,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:674,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:674,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:675,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:675,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:676,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:676,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::datumEnsemble
    - ASSERT_TRUE
    - auto::createVerticalCRS
    - EXPECT_THROW
    - DatabaseContext::create
    - auto::datum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalCRS_with_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:683,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:683,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:684,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:684,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:688,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:689,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:689,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:689,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:690,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:690,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:690,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:691,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:691,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:692,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:693,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:693,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:694,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:694,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:695,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:697,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:698,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:699,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:700,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:700,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::datum
    - auto::createDatum
    - auto::createEngineeringCRS
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::isEquivalentTo
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEngineeringCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:706,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:706,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:707,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:707,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:709,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:710,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:710,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:711,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:711,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:711,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:712,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:712,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:713,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:713,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_factory.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:716,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:716,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:717,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:717,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:717,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:718,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:718,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:718,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:719,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:719,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_factory.cpp:721,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:722,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:722,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_factory.cpp:725,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:726,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:728,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_factory.cpp:729,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:730,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:730,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:731,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:732,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:732,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:733,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:734,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_factory.cpp:734,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:735,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:735,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_factory.cpp:739,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:740,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:742,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_factory.cpp:743,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:744,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:744,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:746,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:746,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:747,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:748,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_factory.cpp:748,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:749,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 751
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::parameterValues
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::parameter
    - codeSpace
    - code
    - ASSERT_EQ
    - auto::method
    - auto::name
    - EXPECT_THROW
    - auto::createConversion
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - auto::size
    - ASSERT_TRUE
    - auto::unit
    - auto::identifiers
    - DatabaseContext::create
    - auto::parameterValue
    - auto::type
    - AuthorityFactory::create
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createConversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:756,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:756,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:757,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_factory.cpp:758,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 760
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - nn_dynamic_pointer_cast<Conversion>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createConversion_from_other_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:765,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:765,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:766,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:766,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:770,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:771,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:771,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:772,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:772,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:772,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:773,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:773,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:774,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:774,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:775,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:776,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:776,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:777,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:778,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:778,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:779,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:781,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:782,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:783,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:784,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:784,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 785
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - auto::createProjectedCRS
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::createConversion
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::createGeodeticCRS
    - auto::isEquivalentTo
    - auto::derivingConversion
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createProjectedCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:790,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:790,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:791,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:791,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:794,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:795,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:796,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:797,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:797,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:798,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:798,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:799,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:800,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:802,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:803,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 806
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - auto::size
    - EXPECT_EQ
    - EXPECT_THROW
    - meridian
    - DatabaseContext::create
    - auto::createProjectedCRS
    - direction
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createProjectedCRS_south_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:811,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:811,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:813,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:815,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:815,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:816,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:816,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:817,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:818,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:819,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:821,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:822,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 825
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - auto::size
    - EXPECT_EQ
    - meridian
    - DatabaseContext::create
    - auto::createProjectedCRS
    - direction
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createProjectedCRS_north_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:830,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:830,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:831,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:831,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:835,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:835,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:836,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:836,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:836,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:837,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:837,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:838,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:838,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_factory.cpp:841,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:842,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:842,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:843,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:843,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:844,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:845,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:845,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:846,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:848,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:849,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:850,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:851,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:851,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 852
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - auto::createProjectedCRS
    - code
    - auto::createExtent
    - ASSERT_EQ
    - isEquivalentTo
    - auto::createCompoundCRS
    - auto::name
    - EXPECT_THROW
    - auto::componentReferenceSystems
    - auto::size
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::isEquivalentTo
    - auto::createVerticalCRS
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCompoundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:857,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:857,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:858,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:858,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:860,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:860,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:861,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:862,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:862,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:863,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:864,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:864,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:865,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:866,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:866,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:867,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:868,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:868,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:869,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:870,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:870,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 872
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_TRUE
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<GeographicCRS>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateReferenceSystem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:876,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:876,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:877,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:877,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:880,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:880,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - EXPECT_THROW
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:893,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:893,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:894,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:895,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:895,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 903
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_7_CF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:908,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:908,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:909,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:910,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:910,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:911,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - auto::find
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_7_PV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:920,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:920,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:921,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:926,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:927,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:928,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_8_CF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:934,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:934,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1042,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1043,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1046
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_15_CF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1051,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1051,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1052,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1053,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1053,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_15_PV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1064,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1064,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1065,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1066,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1066,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1070
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_helmert_15_PV_rounding_of_drz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1075,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1075,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1077,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1077,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1089
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_CF_full_matrix_geog3D)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1095,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1095,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1096,1
    - Dst: nn_dynamic_pointer_cast<SingleOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1098,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1099,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1100,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_factory.cpp:1100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1102,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1102,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1112
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<SingleOperation>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_molodensky_badekas_PV)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1119,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1119,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1120,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1167,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1168,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1171
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_grid_transformation_one_parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1178,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1178,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1179,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1184,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1185,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1186,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1187
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_grid_transformation_two_parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1192,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1192,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1241,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1242,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1245
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_other_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1250,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1250,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1252,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_factory.cpp:1253,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1255,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1259
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - DatabaseContext::create
    - auto::createProjectedCRS
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_test_uom_9110)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1264,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1264,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1267,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1267,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_affine_parametric_transform)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1276,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1276,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1278,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1278,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_10566_issue_4212)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1286,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1286,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1287,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1288,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1289,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1290,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1291,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1291,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1292,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1292,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1294,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1294,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1296
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_concatenated_operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1303,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1303,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1304,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1305,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1306,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1307,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1308,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1308,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1309,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1309,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1310,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1311,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1311,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1313,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1313,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1315
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_three_steps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1322,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1322,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1323,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1324,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1325,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1326,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1327,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1327,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1328,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1328,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1329,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1330,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1330,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1332
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_inverse_step1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1339,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1339,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1340,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1341,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1342,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1343,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1344,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1344,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1345,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1345,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1346,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1347,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1347,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1349
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_inverse_step2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1356,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1356,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1357,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1358,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1359,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1360,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1361,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1361,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1362,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1362,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1363,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1364,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1364,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1366
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_step1_is_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1373,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1373,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1374,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1375,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1376,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1377,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1378,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1378,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1379,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1379,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1380,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1381,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1381,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1382,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1383,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1383,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1386,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1387,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1387,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1389,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1390,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1396,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_factory.cpp:1396,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1402
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - targetCRS
    - sourceCRS
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_step_2_and_3_are_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1409,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1409,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1410,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1411,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1412,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1413,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1414,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1416,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1416,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1417,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1417,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1418,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1421,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1423,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1424
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_epsg_9103)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str
    - list
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1435
    functionName: in
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool in(const std::string &str, const std::vector<std::string> &list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1440,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1440,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1441,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1443,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1445,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1445,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1445,1
    - Dst: in
      Src: /src/PROJ/test/unit/test_factory.cpp:1447,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:1449,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1449,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1456
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - in
    - auto::size
    - auto::getAuthorityCodes
    - EXPECT_LT
    - EXPECT_THROW
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_build_all_concatenated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1461,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1461,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1462,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_factory.cpp:1463,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1465
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - nn_dynamic_pointer_cast<Conversion>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1471,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1471,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1472,1
    - Dst: nn_dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1520,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1521,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1524
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - nn_dynamic_pointer_cast<PointMotionOperation>
    - DatabaseContext::create
    - auto::exportToWKT
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_point_motion_operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1529,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1529,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1531,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1533,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1533,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:1534,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1534,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1538,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1539,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1539,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1540,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1540,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1544,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1545,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1545,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1546,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1546,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1548,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1550,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1550,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1551,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1551,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1553,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1555,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1555,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1557,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1557,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1558,1
    - Dst: dynamic_cast<DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1558,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1558,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1560,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1560,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1560,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1562,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1564,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1564,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1565,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1565,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1567,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1569,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1569,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1571,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1571,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1572,1
    - Dst: dynamic_cast<DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1572,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1572,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1574,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1576,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1578,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1578,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1579,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1579,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1583,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1586,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1591,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1595,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1596,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1596,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1597,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1597,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1599,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1601,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1601,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1602,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1602,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1604,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1606,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1606,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1607,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1607,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1608,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1608,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1608,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1610,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1612,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1612,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1613,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1613,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1614,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1614,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1614,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1616,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:1616,1
    - Dst: auto::end
      Src: /src/PROJ/test/unit/test_factory.cpp:1616,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1619,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1621,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1621,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1622,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1622,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1624,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1626,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1626,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1627,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1627,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1629,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1629,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1629,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1630,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1632,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1632,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1632,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1633,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1635,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1637,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1637,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1638,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1638,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1640,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1642,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1642,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1643,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1643,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1645,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1647,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1647,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1648,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1648,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1650,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1652,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1652,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1653,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1653,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1657,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1660,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1663,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1666,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1671,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1674,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1676,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1676,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1677,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1677,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1679,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1681,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1681,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:1682,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1682,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1684,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1686,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1686,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1687,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1687,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1688,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1689,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1691,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1693,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1693,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1694,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1694,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1695,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1696,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1700,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1703,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1706,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1708,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1708,1
    - Dst: std::set::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1708,1
    - Dst: std::set::find
      Src: /src/PROJ/test/unit/test_factory.cpp:1711,1
    - Dst: std::set::end
      Src: /src/PROJ/test/unit/test_factory.cpp:1711,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1715,1
    - Dst: std::set<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:1715,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1716,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1718
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - std::set::size
    - EXPECT_TRUE
    - auto::getAuthorityCodes
    - EXPECT_EQ
    - auto::createEngineeringDatum
    - dynamic_cast<DynamicVerticalReferenceFrame *>
    - auto::createProjectedCRS
    - std::set<std::string>
    - std::set::insert
    - auto::createGeographicCRS
    - auto::createGeodeticDatum
    - auto::createEllipsoid
    - auto::createCompoundCRS
    - auto::createCoordinateReferenceSystem
    - auto::createPrimeMeridian
    - EXPECT_LT
    - auto::createConversion
    - auto::createDatum
    - nn_dynamic_pointer_cast<Transformation>
    - auto::begin
    - auto::createVerticalDatum
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::size
    - auto::createEngineeringCRS
    - auto::find
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - dynamic_cast<DynamicGeodeticReferenceFrame *>
    - auto::createGeodeticCRS
    - std::set::find
    - auto::createVerticalCRS
    - auto::end
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    - std::set::end
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_getAuthorityCodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1723,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1723,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:1724,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:1724,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1726,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:1726,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1731,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1732
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::getDescriptionText
    - EXPECT_THROW
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_getDescriptionText)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1738,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1738,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1741,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1742,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1742,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1744,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1745,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:1745,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1746,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1746,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1748,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1749,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1749,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1751,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1752,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1752,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1753,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1753,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1754,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1754,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1756,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1756,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1757,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1757,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1758,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1759,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1759,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1763,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1764,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1764,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1766,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1767,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:1767,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1768,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1768,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1769,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1769,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1772,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1772,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1774,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1774,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1775,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1775,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1776,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1776,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1777,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1777,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1779,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1779,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1780,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1780,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1781,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1781,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1782,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1782,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1787,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1787,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1788,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1788,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1788,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1790,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1791,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:1791,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1792,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1792,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1793,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1793,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1795,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1796,1
    - Dst: dynamic_cast<SphericalCS *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1796,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1796,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:1797,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1798,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1798,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1800,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1800,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1802,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1803,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1803,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1804,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1804,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1806,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1806,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1808,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1809,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1809,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1810,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1812
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::isSphere
    - auto::computeSemiMinorAxis
    - auto::createGeographicCRS
    - auto::nameStr
    - dynamic_cast<GeographicCRS *>
    - auto::semiMajorAxis
    - EXPECT_NEAR
    - direction
    - unit
    - auto::size
    - dynamic_cast<SphericalCS *>
    - auto::ellipsoid
    - auto::createGeodeticCRS
    - name
    - abbreviation
    - DatabaseContext::create
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_IAU_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open
      Src: /src/PROJ/test/unit/test_factory.cpp:1818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1818
    functionName: FactoryWithTmpDatabase::SetUp
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_open
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_free_table
      Src: /src/PROJ/test/unit/test_factory.cpp:1821,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_factory.cpp:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1823
    functionName: FactoryWithTmpDatabase::TearDown
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - sqlite3_free_table
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1826,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:1827,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1829,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1829,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1829,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1831,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1831,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1832
    functionName: FactoryWithTmpDatabase::createStructure
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::getDatabaseStructure
    - ASSERT_TRUE
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void createStructure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1836,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1836,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1839,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1840,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1840,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1844,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1844,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1849,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1850,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1851,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1854,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1855,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1856,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1857,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1858,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1859,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1861,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1862,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1863,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1865,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1866,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1867,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1870,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1871,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1872,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1876,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1877,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1877,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1881,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1882,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1884,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1885,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1885,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1888,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1889,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1889,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1891,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1892,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1893,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1895,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1896,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1897,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1899,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1900,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1901,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1905,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1905,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1908,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1910,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1910,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1912,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1913,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1914,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1916,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1917,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1918,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1920,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1921,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1921,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1924,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1926,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1926,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1931,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1931,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1934,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1936,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1936,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1949,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1950,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1950,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1953,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1955,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1955,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1958,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1960,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1960,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1962,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1963,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1964,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1968,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1969,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1972,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1974,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1974,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1978,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1979,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1979,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1982,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1984,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1984,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1987,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1988,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1989,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1992,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1994,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1994,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2002,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2003,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2004,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2008,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2010,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2010,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2021,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2022,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2023,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2028,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2030,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2030,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2033,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2035,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2035,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2048,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2049,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2050,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2055,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2057,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2057,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2062,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2063,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2063,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2068,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2070,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2070,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2073,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2075,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2075,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 2079
    functionName: FactoryWithTmpDatabase::populateWithFakeEPSG
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void populateWithFakeEPSG()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2085,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2085,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2091,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2092,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2092,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2101,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2103,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2103,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2109,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2110,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2110,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2120
    functionName: FactoryWithTmpDatabase::createSourceTargetPivotCRS
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void createSourceTargetPivotCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2125,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2125,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2135,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2136,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2136,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2146
    functionName: FactoryWithTmpDatabase::createTransformationForPivotTesting
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void createTransformationForPivotTesting(const std::string &src,\n
      \                                            const std::string &dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2150,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2151,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2155,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2155,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2156,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2156,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2157,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2159,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2162,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2162,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2163,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2164,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2165,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2165,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2166,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2168,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2171,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2171,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2172,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2173,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2173,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2175,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2178,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2178,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2178,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2179,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2179,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2181,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2184,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2184,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2185,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2185,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2186,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2189,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2190,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2190,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2194,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2195,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2195,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2196,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2198,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2199,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2201,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2202,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2207,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2210,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2210,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2211,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2212,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2213,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2218,1
    - Dst: auto::setIntermediateCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2219,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2219,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2220,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2220,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2223,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2223,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2224,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2225,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2226,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2231,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2232,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2236,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2236,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2237,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2237,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2238,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2243,1
    - Dst: auto::setIntermediateCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2244,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2244,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2245,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2245,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2248,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2248,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2249,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2249,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2148
    functionDepth: 1
    functionLinenumber: 2148
    functionLinenumberEnd: 2253
    functionName: FactoryWithTmpDatabase::checkSourceToOther
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createFromCRSCodesWithIntermediates
    - std::make_pair
    - auto::setAllowUseIntermediateCRS
    - nn_dynamic_pointer_cast<Transformation>
    - DatabaseContext::create
    - auto::setIntermediateCRS
    - std::string
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void checkSourceToOther()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:2256,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_factory.cpp:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sql
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2258
    functionName: FactoryWithTmpDatabase::execute
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 4
    functionsReached:
    - std::string::c_str
    - sqlite3_exec
    linkageType: ''
    returnType: bool
    signature: bool execute(const std::string &sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/test/unit/test_factory.cpp:2261,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2263
    functionName: FactoryWithTmpDatabase::last_error
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 4
    functionsReached:
    - std::string
    - sqlite3_errmsg
    linkageType: ''
    returnType: std::string
    signature: std::string last_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2274,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2275,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2278,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2278,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2280,1
    - Dst: nn_dynamic_pointer_cast<UnitOfMeasure>
      Src: /src/PROJ/test/unit/test_factory.cpp:2280,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2281,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2283,1
    - Dst: nn_dynamic_pointer_cast<Extent>
      Src: /src/PROJ/test/unit/test_factory.cpp:2283,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2284,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2286,1
    - Dst: nn_dynamic_pointer_cast<PrimeMeridian>
      Src: /src/PROJ/test/unit/test_factory.cpp:2286,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2287,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2289,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_factory.cpp:2289,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2290,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:2292,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2293,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2294,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2295,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_factory.cpp:2295,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:2297,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2298,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2299,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2300,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_factory.cpp:2300,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2302,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2302,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2303,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2305,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2305,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2306,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2308,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_factory.cpp:2308,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2309,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2311,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2311,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2314,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2314,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2315,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2317,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2317,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2318,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2320,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2320,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2320,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2323,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2323,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2323,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2326,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2326,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2328
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<Conversion>
    - nn_dynamic_pointer_cast<UnitOfMeasure>
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - nn_dynamic_pointer_cast<Ellipsoid>
    - AuthorityFactory::create
    - nn_dynamic_pointer_cast<Transformation>
    - populateWithFakeEPSG
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - nn_dynamic_pointer_cast<PrimeMeridian>
    - auto::anchorDefinition
    - auto::createObject
    - nn_dynamic_pointer_cast<GeographicCRS>
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<Extent>
    - createStructure
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, AuthorityFactory_test_with_fake_EPSG_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2333,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2333,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2334,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2335,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2338,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2339,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2339,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2340,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2340,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2341,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2341,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2342,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:2343,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:2343,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2347,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2348,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2348,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2350,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2350,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2351,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2351,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2352,1
    - Dst: isDeprecated
      Src: /src/PROJ/test/unit/test_factory.cpp:2352,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2357,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2358,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2360,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2361,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2361,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2365,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2367,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2369,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2369,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2370,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2372
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - isEquivalentTo
    - isDeprecated
    - EXPECT_EQ
    - auto::createConversion
    - auto::empty
    - EXPECT_FALSE
    - auto::createFromCoordinateReferenceSystemCodes
    - DatabaseContext::create
    - getEPSGCode
    - targetCRS
    - sourceCRS
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createFromCoordinateReferenceSystemCodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2380,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2380,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2380,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2383,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2385,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2385,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2388,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2390,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2390,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2392,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2392,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2393,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2393,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2394,1
    - Dst: isDeprecated
      Src: /src/PROJ/test/unit/test_factory.cpp:2394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2397
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - targetCRS
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - isDeprecated
    - EXPECT_FALSE
    - auto::createFromCoordinateReferenceSystemCodes
    - DatabaseContext::create
    - std::string
    - auto::empty
    - sourceCRS
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createFromCoordinateReferenceSystemCodes_anonymous_authority)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2417,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2417,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2420,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2421,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2421,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2425,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2426,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2429,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2430,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2433,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2434,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2437,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2438,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2441,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2442,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2446,1
    - Dst: checkOdn
      Src: /src/PROJ/test/unit/test_factory.cpp:2447,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2450,1
    - Dst: checkOdn
      Src: /src/PROJ/test/unit/test_factory.cpp:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2453
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkNavd88
    - EXPECT_TRUE
    - begin
    - EXPECT_FALSE
    - end
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::getGeoidModels
    - auto::empty
    - find
    - AuthorityFactory::create
    - checkOdn
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_getAvailableGeoidmodels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2459,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2460,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2464,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2464,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2468,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2469,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2470,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2474,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2474,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2486,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2487,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2487,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2499,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2500,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2500,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2505,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2506,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2506,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2509,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2511,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2511,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2514,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2516,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2516,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2517,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2518,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2518,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2457
    functionDepth: 1
    functionLinenumber: 2457
    functionLinenumberEnd: 2521
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::createObject
    - ASSERT_TRUE
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_test_inversion_first_and_last_steps_of_concat_op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2527,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2530,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2531,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2534,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2535,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2535,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2538,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2540,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2540,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2544,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2545,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2545,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2548,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2550,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2551,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2551,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2553,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2556,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2556,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2560,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2560,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2562,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2565,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2565,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2569,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2569,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2571,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2573,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2573,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2576,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2576,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2585,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2586,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2586,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2591,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2594,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2596,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2596,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2599,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2601,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2601,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2604,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2606,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2608
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - ASSERT_TRUE
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_test_with_fake_EPSG_and_OTHER_database)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2614,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2615,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2617,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2617,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2625,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2626,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2627,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2631,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2633,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2634,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2642,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2643,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2644,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2649,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2651,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2651,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2659,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2660,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2661,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2667,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2667,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2675,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2676,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2677,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2682,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2685,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2685,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2686,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2688,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2689,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:2689,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2690,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:2690,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2691,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:2691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2612
    functionDepth: 1
    functionLinenumber: 2612
    functionLinenumberEnd: 2693
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - name
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_test_sorting_of_coordinate_operations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2700,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2701,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2703,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2703,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2704,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2705,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2707,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2708
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - EXPECT_EQ
    - auto::createFromCRSCodesWithIntermediates
    - createStructure
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_source_equals_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2715,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2716,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2717,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2719,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2720,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2723
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_source_pivot_target_pivot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2730,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2731,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2732,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2734,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2735,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2738
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_source_pivot_pivot_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2745,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2746,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2747,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2749,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2750,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2753
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_pivot_source_pivot_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2760,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2761,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2762,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2764,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2765,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2768
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_pivot_source_target_pivot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2773,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2774,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2776,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2776,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2786,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2787,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2787,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2792,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2795,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2795,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2796,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2798,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2798,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2799,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:2799,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2800,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:2800,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2772
    functionDepth: 1
    functionLinenumber: 2772
    functionLinenumberEnd: 2802
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - exportToPROJString
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, AuthorityFactory_proj_based_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2807,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2808,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2842,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2842,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2846,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2854,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2855,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2855,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2860,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2863,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2863,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2864,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2866,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2866,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2867,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:2867,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2868,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:2868,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2806
    functionDepth: 1
    functionLinenumber: 2806
    functionLinenumberEnd: 2875
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - exportToPROJString
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, AuthorityFactory_wkt_based_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2881,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2882,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2884,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2884,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2888,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2896,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2897,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2897,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2902,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2905,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2905,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:2906,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2910
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_wkt_based_transformation_not_wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2916,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2917,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2919,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2919,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2923,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2931,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2932,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2932,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2937,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2940,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2940,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:2941,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2914
    functionDepth: 1
    functionLinenumber: 2914
    functionLinenumberEnd: 2945
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_wkt_based_transformation_not_co_wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2950,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2950,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2951,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:2952,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2953,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:2953,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_factory.cpp:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2949
    functionDepth: 1
    functionLinenumber: 2949
    functionLinenumberEnd: 2955
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - get
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::isEquivalentTo
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_EPSG_4326_approximate_equivalent_to_builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2960,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2961,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2964,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2964,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2965,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:2965,1
    - Dst: auto::end
      Src: /src/PROJ/test/unit/test_factory.cpp:2965,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2966,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:2966,1
    - Dst: auto::end
      Src: /src/PROJ/test/unit/test_factory.cpp:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2959
    functionDepth: 1
    functionLinenumber: 2959
    functionLinenumberEnd: 2967
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - auto::find
    - auto::end
    - DatabaseContext::create
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, getAuthorities)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2972,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2974,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2974,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2991,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2999,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2999,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3002,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3002,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3003,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3004,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3006,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2971
    functionDepth: 1
    functionLinenumber: 2971
    functionLinenumberEnd: 3008
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - EXPECT_TRUE
    - EXPECT_EQ
    - ASSERT_TRUE
    - last_error
    - execute
    - DatabaseContext::create
    - createStructure
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, lookForGridInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3014,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3016,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3016,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3033,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3041,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3041,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3044,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_factory.cpp:3045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3049
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::string::find
    - ASSERT_TRUE
    - last_error
    - execute
    - DatabaseContext::create
    - createStructure
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       lookForGridInfo_from_old_name_with_new_grid_available)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3054,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3055,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3057,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3057,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3061,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3063,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3063,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3068,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3070,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3070,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3073,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3075,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3075,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3080,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3082,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3082,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3086,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3088,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3088,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3092,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3095,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3095,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3097,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3098,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3099,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3099,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3100,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3101,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3101,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3102,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3102,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3102,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3103,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3103,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3107,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3108,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3109,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3110,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3110,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3111,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3111,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3111,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3112,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3112,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3115,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3116,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3117,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3117,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3118,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3118,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3119,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3119,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3120,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3120,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3120,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3123,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3124,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3125,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3126,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3127,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3127,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3128,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3128,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3128,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3131,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3131,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3133,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3053
    functionDepth: 1
    functionLinenumber: 3053
    functionLinenumberEnd: 3135
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - auto::ellipsoid
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - Length
    - EXPECT_EQ
    - auto::name
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::identifiers
    - last_error
    - execute
    - DatabaseContext::create
    - auto::canonicalBoundCRS
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, custom_geodetic_crs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3140,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3141,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3143,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3143,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3150,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3150,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3155,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3157,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3157,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3162,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3165,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3165,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3169,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3172,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3172,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3176,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3179,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3180,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3203,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3206,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3206,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3209,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3210,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3210,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3211,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:3211,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3212,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:3212,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3212,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3214,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3214,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3217,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3218,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3218,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3219,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3219,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3220,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:3220,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3221,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:3221,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3221,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3223,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3223,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3226,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3226,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3229,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3231,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3232,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3233,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3234,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3234,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3236,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3236,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3236,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3241,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3243,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3244,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3245,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3246,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3246,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3247,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3248,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3248,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3248,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3253,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3255,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3256,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3258,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3258,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3260,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3260,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3260,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3265,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3267,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3268,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3269,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3270,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3270,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3272,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3272,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3272,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:3277,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3139
    functionDepth: 1
    functionLinenumber: 3139
    functionLinenumberEnd: 3287
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::identify
    - nameStr
    - execute
    - auto::createProjectedCRS
    - createStructure
    - auto::name
    - EXPECT_THROW
    - populateWithFakeEPSG
    - auto::exportToPROJString
    - auto::front
    - auto::size
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - last_error
    - auto::canonicalBoundCRS
    - auto::getCRSInfoList
    - PROJStringFormatter::create
    - auto::derivingConversion
    - auto::identifiers
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, custom_projected_crs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3292,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3293,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3299,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3300,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3310,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3311,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3311,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3315,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3318,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3318,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3325,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3326,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3326,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3330,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3333,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3333,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3365,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3368,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3368,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3373,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3377,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3377,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3408,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3411,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3411,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3418,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3418,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3420,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3421,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3421,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3426,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3426,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3428,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3431,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3431,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3438,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3439,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3446,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3446,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3453,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3453,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3457,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3458,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3459,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3459,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3460,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3460,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3462,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3462,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:3467,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3468,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3468,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3475,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3475,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3476,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3476,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3476,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3481,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3481,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3485,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3485,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:3490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3492,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3492,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3493,1
    - Dst: auto::count
      Src: /src/PROJ/test/unit/test_factory.cpp:3493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3498,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:3498,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:3504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3510,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3291
    functionDepth: 1
    functionLinenumber: 3291
    functionLinenumberEnd: 3517
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createDerivedProjectedCRS
    - EXPECT_TRUE
    - auto::getAuthorityCodes
    - EXPECT_EQ
    - auto::baseCRS
    - execute
    - auto::createProjectedCRS
    - createStructure
    - auto::nameStr
    - auto::createCoordinateReferenceSystem
    - auto::getDescriptionText
    - EXPECT_THROW
    - populateWithFakeEPSG
    - auto::count
    - auto::size
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - last_error
    - auto::getCRSInfoList
    - EXPECT_FALSE
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, custom_derived_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3522,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3523,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3525,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3525,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3557,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3557,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3563,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3563,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3566,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3568,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3569,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:3570,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3571,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:3573,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3574,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3574,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3574,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3575,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3575,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:3576,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_factory.cpp:3576,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:3579,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3580,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3580,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3581,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3582,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3582,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:3583,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_factory.cpp:3583,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:3586,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3587,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3587,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3587,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3588,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3588,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_factory.cpp:3591,1
    - Dst: dynamic_cast<CoordinateMetadata *>
      Src: /src/PROJ/test/unit/test_factory.cpp:3593,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3593,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3594,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3595,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3595,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3595,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3596,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3596,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:3597,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_factory.cpp:3597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3521
    functionDepth: 1
    functionLinenumber: 3521
    functionLinenumberEnd: 3599
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - createFromUserInput
    - EXPECT_TRUE
    - dynamic_cast<CoordinateMetadata *>
    - auto::createCoordinateMetadata
    - auto::createCoordinateReferenceSystem
    - auto::crs
    - EXPECT_FALSE
    - ASSERT_TRUE
    - auto::coordinateEpoch
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - EXPECT_NEAR
    - auto::coordinateEpochAsDecimalYear
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, CoordinateMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3604,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3604,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3605,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3606,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3607,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3603
    functionDepth: 1
    functionLinenumber: 3603
    functionLinenumberEnd: 3609
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<GeographicCRS>
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, attachExtraDatabases_none)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_factory.cpp:3619,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_factory.cpp:3620,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3622,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3623,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3623,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3628,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3629,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:3631,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3632,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3632,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_factory.cpp:3632,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3638,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3638,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3644,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3644,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3648,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3648,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3651,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3652,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3653,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3654,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3658,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3659,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3660,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3661,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3664,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3665,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3670,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3670,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3673,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3674,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3675,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3676,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3680,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3681,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3682,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3683,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3688,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3688,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3691,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3692,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3693,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3694,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3698,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3699,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3699,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_factory.cpp:3704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3705
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::getDatabaseStructure
    - ASSERT_TRUE
    - EXPECT_THROW
    - sqlite3_close
    - sqlite3_exec
    - DatabaseContext::create
    - std::string
    - sqlite3_open_v2
    - find
    - AuthorityFactory::create
    - c_str
    linkageType: ''
    returnType: void
    signature: void TEST(factory, attachExtraDatabases_auxiliary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3710,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3710,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3709
    functionDepth: 1
    functionLinenumber: 3709
    functionLinenumberEnd: 3712
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_THROW
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, attachExtraDatabases_auxiliary_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3717,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3717,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3718,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3718,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3724,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3725,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3725,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3727,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3729,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3730,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3734,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3737,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3738,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3739,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3740,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3744,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3745,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3747,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3751,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3753,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3716
    functionDepth: 1
    functionLinenumber: 3716
    functionLinenumberEnd: 3759
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::getOfficialNameFromAlias
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getOfficialNameFromAlias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3765,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3766,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3768,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3768,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3779,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3780,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3780,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3783,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3785,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3785,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3796,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3797,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3797,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3800,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3802,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3804,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3804,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3805,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_factory.cpp:3806,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3808,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3809,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3811,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3814,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3814,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3815,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3815,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3816,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3763
    functionDepth: 1
    functionLinenumber: 3763
    functionLinenumberEnd: 3817
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - auto::setSpatialCriterion
    - createStructure
    - CoordinateOperationFactory::create
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       createOperations_exact_transform_not_whole_area)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3826,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3827,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3829,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3829,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3840,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3842,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3843,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3848,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3850,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3850,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3861,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3863,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3863,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3868,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3870,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3870,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3874,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3875,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3875,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3880,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3883,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3883,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3886,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3889,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3889,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3892,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3895,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3895,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3898,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3901,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3901,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3907,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3907,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3910,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3913,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3913,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3916,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3919,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3919,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3922,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3924,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3925,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3925,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:3927,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:3928,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3928,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3821
    functionDepth: 1
    functionLinenumber: 3821
    functionLinenumberEnd: 3930
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       check_fixup_direction_concatenated_inverse_map_projection)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3935,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3936,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3936,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3937,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3939,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3939,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3942,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3942,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3944,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3947,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3947,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3953,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3954,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3961,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3966,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3966,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3967,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3968,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3968,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3974,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3974,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3980,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3980,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3985,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3985,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3988,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3989,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3993,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3994,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3998,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3998,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4002,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4009,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4009,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4016,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4022,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4026,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4033,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4034,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4039,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4040,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4044,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4049,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4049,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4055,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4055,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4061,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4062,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4068,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4068,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4075,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4082,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4093,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4094,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4107,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4107,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4109,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4109,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4110,1
    - Dst: dynamic_cast<DatumEnsemble *>
      Src: /src/PROJ/test/unit/test_factory.cpp:4110,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4110,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4118,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4118,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4120,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4120,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4121,1
    - Dst: dynamic_cast<DatumEnsemble *>
      Src: /src/PROJ/test/unit/test_factory.cpp:4121,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4121,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4152,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4154,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4160,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4160,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4162,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4165
      start: 3934
    functionDepth: 1
    functionLinenumber: 3934
    functionLinenumberEnd: 4165
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<DatumEnsemble *>
    - auto::front
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - auto::createObjectsFromName
    - DatabaseContext::create
    - std::string
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, createObjectsFromName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4171,1
    - Dst: auto::getMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:4171,1
    - Dst: auto::getMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:4172,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4174,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4169
    functionDepth: 1
    functionLinenumber: 4169
    functionLinenumberEnd: 4175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::getMetadata
    - EXPECT_EQ
    - ASSERT_TRUE
    - DatabaseContext::create
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4180,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4181,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4181,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4182,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4184,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4185,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4185,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4186,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4187,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4187,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4190,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4191,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4191,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4194,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4195,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4197
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4197
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - DatabaseContext::create
    - std::string
    - auto::listAreaOfUseFromName
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, listAreaOfUseFromName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4202,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4204,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4204,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:4205,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4206,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4206,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4218,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4222,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4223,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4224,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4225,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4228,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:4229,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4230,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4230,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4238,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4240,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4241,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4243,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4245,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4247,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4248,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4249,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4249,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4250,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4251,1
    - Dst: projectionMethodName::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4254,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4255,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4258,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4270,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4273,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4274,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4276,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4278,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4279,1
    - Dst: areaName::find
      Src: /src/PROJ/test/unit/test_factory.cpp:4279,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4283,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4291,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4298,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4299,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4300,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4301,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4302,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4305
      start: 4201
    functionDepth: 1
    functionLinenumber: 4201
    functionLinenumberEnd: 4305
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::getCRSInfoList
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - areaName::find
    - projectionMethodName::empty
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getCRSInfoList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4310,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4312,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4312,1
    - Dst: auto::getUnitList
      Src: /src/PROJ/test/unit/test_factory.cpp:4313,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4314,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4327,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4328,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4343,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4345,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4346,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:4347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4351,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:4352,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4356,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4357,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4358,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4359,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4360,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4361,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4362,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4363,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4366,1
    - Dst: auto::getUnitList
      Src: /src/PROJ/test/unit/test_factory.cpp:4367,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4368,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4370,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4373
      start: 4309
    functionDepth: 1
    functionLinenumber: 4309
    functionLinenumberEnd: 4373
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - auto::getUnitList
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getUnitList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4378,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4380,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4380,1
    - Dst: auto::getCelestialBodyList
      Src: /src/PROJ/test/unit/test_factory.cpp:4381,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4382,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4382,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4390,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4394,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4395,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4396,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4399,1
    - Dst: auto::getCelestialBodyList
      Src: /src/PROJ/test/unit/test_factory.cpp:4400,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4401,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4401,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4377
    functionDepth: 1
    functionLinenumber: 4377
    functionLinenumberEnd: 4406
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - auto::getCelestialBodyList
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getCelestialBodyList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4414,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4415,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:4416,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4416,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4420,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4422,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4426,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4428,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4434,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:4435,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4435,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4441,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4442,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4444,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4444,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4447,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4452,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4453,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4454,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4455,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_factory.cpp:4456,1
    - Dst: datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:4457,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4460,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4461,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4461,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4466,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4466,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4468,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4468,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4469,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4472,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4478,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4478,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4478,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4479,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4479,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4480,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4481,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4483,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4483,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4483,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4485,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4485,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4486,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4487,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4488,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4489,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4489,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:4491,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4491,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4491,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4498,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4499,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4500,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4500,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_factory.cpp:4505,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4508,1
    - Dst: auto::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4509,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/test/unit/test_factory.cpp:4510,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4512,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_factory.cpp:4512,1
    - Dst: datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:4513,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4514,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4516,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4517,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4517,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4521,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4527,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4527,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4527,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4528,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4529,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4530,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4530,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4532,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4532,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4532,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4534,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4534,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4535,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4536,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4537,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4542,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4543,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4545,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_factory.cpp:4547,1
    - Dst: optional::optional
      Src: /src/PROJ/test/unit/test_factory.cpp:4548,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_factory.cpp:4550,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4550,1
    - Dst: auto::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4551,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/test/unit/test_factory.cpp:4552,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4553,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:4554,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_factory.cpp:4554,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:4555,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:4555,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4556,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_factory.cpp:4557,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4560,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4561,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4561,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4562,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4572,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4578,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4578,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4578,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4579,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4579,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4580,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4581,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4581,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4583,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4583,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4583,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4584,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4585,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4585,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4586,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4587,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4589,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4594,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4595,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4596,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4597,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4600,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4602,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4603,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4604,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4606,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4607,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4607,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4608,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4613,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4613,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4613,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4614,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4614,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4615,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4616,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4616,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4618,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4618,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4618,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4619,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4620,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4620,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4621,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4622,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4623,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4628,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4629,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4630,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4631,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4632,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4634,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4635,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4636,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4638,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4640,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4640,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4642,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4642,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4643,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4649,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4649,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4649,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4650,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4650,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4651,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4652,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4652,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4654,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4654,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4654,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4655,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4656,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4656,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4657,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4658,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4660,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4665,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4666,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:4667,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4668,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:4669,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:4669,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4670,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4671,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4672,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4673,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4674,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4675,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4677,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4678,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4678,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4679,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4683,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4683,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4683,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4684,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4684,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4685,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4686,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4686,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4688,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4688,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4688,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4689,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4690,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4690,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4691,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4692,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4693,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4698,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4699,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:4700,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4701,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:4702,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:4702,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4703,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4704,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4705,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4706,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4707,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4708,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4710,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4711,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4711,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4712,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4718,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4718,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4718,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4719,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4720,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4721,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4721,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4723,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4723,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4723,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4724,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4725,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4725,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4726,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4727,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4728,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4733,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4734,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4735,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4736,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_factory.cpp:4737,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4738,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4739,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4740,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4741,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4742,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4743,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4745,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4746,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4746,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4747,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4750,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4750,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4750,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4751,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4752,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4753,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4753,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4755,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4755,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4755,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4756,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4757,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4757,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4758,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4759,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4760,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4765,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4766,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4767,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4768,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_factory.cpp:4769,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4770,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4771,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4772,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4773,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4774,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4775,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4777,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4778,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4778,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4779,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4783,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4783,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4783,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4784,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4784,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4785,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4786,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4786,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4788,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4788,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4788,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4789,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4790,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4790,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4791,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4792,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4793,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4798,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4799,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4800,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4801,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_factory.cpp:4803,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4803,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_factory.cpp:4804,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4806,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4807,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4820,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4824,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4828,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4834,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4834,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4834,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4835,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4835,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4836,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4837,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4837,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4839,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4839,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4839,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4841,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4841,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4842,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4843,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4844,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4849,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4850,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4851,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4852,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4855,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4856,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4857,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:4859,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4860,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_factory.cpp:4861,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4863,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4864,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4864,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4865,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4867,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4869,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4873,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4876,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4881,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4881,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4881,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4882,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4882,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4883,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4884,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4884,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4886,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4886,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4886,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4887,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4888,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4888,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4889,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4890,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4891,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4896,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4897,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4898,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4899,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4900,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4901,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4902,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4903,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4904,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_factory.cpp:4906,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4908,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4909,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4909,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4910,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4914,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4914,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4914,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4915,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4915,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4916,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4917,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4919,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4919,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4919,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4920,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4921,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4921,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4922,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4923,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4924,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4929,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4930,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4931,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4932,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4933,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4934,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4935,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4936,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4937,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4938,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_factory.cpp:4940,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4942,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4943,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4943,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4944,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4948,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4948,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4948,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4949,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4950,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4951,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4951,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4953,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4953,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4953,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4954,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4955,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4955,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4956,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4957,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4958,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4963,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4964,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:4991,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:4991,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4992,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4993,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:4993,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4995,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4995,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4996,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4999,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:5004,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5004,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:5004,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5005,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:5005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5006,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5007,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:5007,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5009,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5009,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5009,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5010,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5012,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5012,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5013,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5013,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5016,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5021,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5022,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5023,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5025,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5027,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5027,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5029,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5030,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5030,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5031,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5032,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5037,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5038,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5039,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5041,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5043,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5043,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5045,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5046,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5046,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5047,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5048,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5053,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5054,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5055,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5057,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5059,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5059,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5061,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5062,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5062,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5063,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5064,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5069,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5070,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5071,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5074,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5075,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5075,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5077,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5078,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5078,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5079,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5080,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5085,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5086,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5089,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5090,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5092,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5092,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5094,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5095,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5095,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5096,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5097,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5102,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5103,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5104,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5105,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5108,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5109,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5110,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5113,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5118,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5118,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5121,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5123,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5124,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5124,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5124,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5126,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5132,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5133,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5162,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5162,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5163,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5164,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5165,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5179,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5181,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5181,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5184,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5186,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5187,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5187,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5187,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5189,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5194,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5195,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5214,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5214,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5215,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:5216,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5216,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5216,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5223,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5224,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5245,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5245,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5246,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:5247,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5247,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 242
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5251
      start: 4410
    functionDepth: 1
    functionLinenumber: 4410
    functionLinenumberEnd: 5251
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - Scale
    - auto::startInsertStatementsSession
    - EXPECT_TRUE
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - BoundCRS::createFromTOWGS84
    - auto::add
    - auto::identify
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - Extent::createFromBBOX
    - PrimeMeridian::create
    - VerticalReferenceFrame::create
    - UnitOfMeasure
    - coordinateSystem
    - datumEnsemble
    - auto::suggestsCodeFor
    - ASSERT_EQ
    - isEquivalentTo
    - nn_static_pointer_cast<BaseObject>
    - PropertyMap::set
    - GeodeticCRS::create
    - auto::stopInsertStatementsSession
    - VerticalCRS::create
    - EXPECT_THROW
    - ProjectedCRS::create
    - nn_dynamic_pointer_cast<CartesianCS>
    - std::string
    - GeodeticReferenceFrame::create
    - Ellipsoid::createFlattenedSphere
    - auto::front
    - auto::set
    - auto::size
    - Angle
    - nn_dynamic_pointer_cast<CRS>
    - Ellipsoid::createTwoAxis
    - GeographicCRS::create
    - auto::find
    - ASSERT_TRUE
    - PROJStringParser
    - optional<std::string>
    - Length
    - PropertyMap
    - optional::optional
    - ObjectDomain::create
    - CartesianCS::createEastingNorthing
    - VerticalCS::createGravityRelatedHeight
    - auto::isEquivalentTo
    - Conversion::createUTM
    - DatabaseContext::create
    - WKTParser
    - datum
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, objectInsertion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5256,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5257,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5258,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5259,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5255
    functionDepth: 1
    functionLinenumber: 5255
    functionLinenumberEnd: 5261
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createCoordinateReferenceSystem
    - AuthorityFactory::create
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, ogc_timecrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5266,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5267,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5268,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5269,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5270,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5272
      start: 5265
    functionDepth: 1
    functionLinenumber: 5265
    functionLinenumberEnd: 5272
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createCoordinateReferenceSystem
    - AuthorityFactory::create
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, ogc_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5277,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5278,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5278,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:5280,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5281,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5282,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5282,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5283,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5276
    functionDepth: 1
    functionLinenumber: 5276
    functionLinenumberEnd: 5284
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - auto::createGeodeticCRS
    - EXPECT_EQ
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::getPointMotionOperationsFor
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getPointMotionOperationsFor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5289,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5298,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5300,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5306,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5318,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5320,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5321,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5325,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5326,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5337,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5342,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5343,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5345,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5357,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5357,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5359,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5361,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5363,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5364,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5365,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5378,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5382,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5388
      start: 5288
    functionDepth: 1
    functionLinenumber: 5288
    functionLinenumberEnd: 5388
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - DatabaseContext::create
    - auto::toWGS84AutocorrectWrongValues
    linkageType: ''
    returnType: void
    signature: void TEST(factory, toWGS84AutocorrectWrongValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:68,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:71,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, databasecontext_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:78,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:78,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:79,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:79,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:80,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::createObject
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:87,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:87,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:88,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:88,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:90,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:91,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:92,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:93,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:93,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:94,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:95,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - EXPECT_THROW
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:101,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:101,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:102,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:103,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:109,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:109,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:111,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:112,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:113,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:113,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:113,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:114,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:115,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_angular)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:121,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:121,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:123,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:124,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:125,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:125,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:126,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:127,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_angular_9107)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:133,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:133,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:135,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:136,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:137,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:138,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:139,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:145,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:145,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:147,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:148,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:149,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/test/unit/test_factory.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:150,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:151,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_factory.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::name
    - auto::codeSpace
    - auto::code
    - DatabaseContext::create
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createUnitOfMeasure_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:157,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:157,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:158,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:160,1
    - Dst: nn_dynamic_pointer_cast<PrimeMeridian>
      Src: /src/PROJ/test/unit/test_factory.cpp:160,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:161,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:161,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:163,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:164,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:165,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:165,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:166,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:166,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:167,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:168,1
    - Dst: auto::longitude
      Src: /src/PROJ/test/unit/test_factory.cpp:168,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_factory.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - EXPECT_TRUE
    - ASSERT_EQ
    - Angle
    - EXPECT_EQ
    - auto::name
    - auto::createPrimeMeridian
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<PrimeMeridian>
    - AuthorityFactory::create
    - auto::longitude
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createPrimeMeridian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:174,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:175,1
    - Dst: auto::identifyBodyFromSemiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:175,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:176,1
    - Dst: auto::identifyBodyFromSemiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_THROW
    - DatabaseContext::create
    - auto::identifyBodyFromSemiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_identifyBodyFromSemiMajorAxis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:183,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:183,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:184,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:184,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:186,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:187,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:187,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:187,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:188,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:188,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:189,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:189,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:190,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_factory.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:191,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:191,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:192,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_factory.cpp:192,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:193,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/test/unit/test_factory.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::celestialBody
    - code
    - Length
    - ASSERT_EQ
    - EXPECT_TRUE
    - Scale
    - auto::createEllipsoid
    - EXPECT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - auto::inverseFlattening
    - DatabaseContext::create
    - auto::semiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEllipsoid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:199,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:199,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:201,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:201,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:202,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:202,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - auto::createEllipsoid
    - EXPECT_EQ
    - auto::isSphere
    - DatabaseContext::create
    - auto::semiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEllipsoid_sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:208,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:208,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:209,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:210,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:210,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:211,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:211,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:212,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:212,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - Length
    - EXPECT_TRUE
    - auto::createEllipsoid
    - EXPECT_EQ
    - auto::semiMinorAxis
    - DatabaseContext::create
    - auto::semiMajorAxis
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEllipsoid_with_semi_minor_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:218,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:218,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:219,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:219,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:221,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_factory.cpp:221,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_factory.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:223,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:223,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_factory.cpp:224,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:226,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/test/unit/test_factory.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:227,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/test/unit/test_factory.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:228,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/test/unit/test_factory.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:229,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/test/unit/test_factory.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createExtent
    - auto::description
    - auto::geographicElements
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - auto::westBoundLongitude
    - auto::northBoundLatitude
    - nn_dynamic_pointer_cast<GeographicBoundingBox>
    - ASSERT_TRUE
    - EXPECT_THROW
    - DatabaseContext::create
    - auto::eastBoundLongitude
    - AuthorityFactory::create
    - auto::southBoundLatitude
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createExtent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:235,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:235,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:237,1
    - Dst: auto::description
      Src: /src/PROJ/test/unit/test_factory.cpp:237,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_factory.cpp:238,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:239,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createExtent
    - auto::description
    - auto::geographicElements
    - EXPECT_TRUE
    - EXPECT_EQ
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createExtent_no_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:245,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:245,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:246,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:246,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:248,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:249,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:249,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:251,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:252,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:252,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:253,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:253,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:253,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:254,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:254,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:255,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:255,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:256,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:257,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:257,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:259,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:259,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:260,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:261,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:262,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:263,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:263,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:263,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:264,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::createGeodeticDatum
    - auto::createEllipsoid
    - auto::name
    - auto::createPrimeMeridian
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - auto::primeMeridian
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::ellipsoid
    - auto::publicationDate
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:270,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:270,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:272,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:273,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:273,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:275,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:276,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createGeodeticDatum
    - EXPECT_EQ
    - auto::publicationDate
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticDatum_with_publication_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:282,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:282,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:283,1
    - Dst: nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:284,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:286,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createGeodeticDatum
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<DynamicGeodeticReferenceFrame>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDynamicGeodeticDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:292,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:292,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:293,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:293,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:295,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:296,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:297,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:297,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:298,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:298,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:299,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:299,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:300,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:301,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:302,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:303,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:303,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:303,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:304,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:305,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:305,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:306,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::createVerticalDatum
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::name
    - auto::publicationDate
    - auto::domains
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::domainOfValidity
    - AuthorityFactory::create
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:312,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:312,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:314,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:315,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:315,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:316,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createVerticalDatum
    - DatabaseContext::create
    - EXPECT_NEAR
    - AuthorityFactory::create
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalDatum_with_anchor_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:324,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:324,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:325,1
    - Dst: nn_dynamic_pointer_cast<DynamicVerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:326,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:328,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<DynamicVerticalReferenceFrame>
    - auto::createVerticalDatum
    - EXPECT_EQ
    - auto::frameReferenceEpoch
    - ASSERT_TRUE
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDynamicVerticalDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:335,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:335,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:336,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:336,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:338,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:339,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:340,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:340,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:341,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:341,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:342,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:342,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:343,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:344,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:345,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:346,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:346,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:346,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:347,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:348,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/test/unit/test_factory.cpp:348,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:349,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 350
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createExtent
    - ASSERT_EQ
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::name
    - auto::publicationDate
    - auto::createEngineeringDatum
    - auto::domains
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::domainOfValidity
    - AuthorityFactory::create
    - auto::anchorEpoch
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEngineeringDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:355,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:355,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:356,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:356,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:357,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:357,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:358,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:359,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:359,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createVerticalDatum
    - auto::createGeodeticDatum
    - EXPECT_THROW
    - AuthorityFactory::create
    - DatabaseContext::create
    - auto::createDatum
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDatum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:366,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:366,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:367,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:367,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:369,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:369,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:372,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:372,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:373,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:373,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:374,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:374,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:375,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:375,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:376,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_factory.cpp:376,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:377,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_factory.cpp:377,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:378,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:378,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:379,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:380,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:381,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:382,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:382,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:382,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:387,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:387,1
    - Dst: dynamic_cast<GeodeticReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:388,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:388,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:389,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:390,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:390,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:390,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:395,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:396,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:396,1
    - Dst: dynamic_cast<GeodeticReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:397,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:397,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:398,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:399,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:399,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 401
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::createExtent
    - auto::datums
    - EXPECT_THROW
    - auto::createDatum
    - ASSERT_TRUE
    - dynamic_cast<GeodeticReferenceFrame *>
    - auto::domainOfValidity
    - auto::createDatumEnsemble
    - auto::positionalAccuracy
    - auto::isEquivalentTo
    - auto::identifiers
    - auto::asDatum
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDatumEnsembleGeodetic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:406,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:406,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:407,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:407,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:410,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:410,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:411,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:412,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:412,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:413,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:413,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:414,1
    - Dst: auto::datums
      Src: /src/PROJ/test/unit/test_factory.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:415,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/test/unit/test_factory.cpp:415,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:416,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:416,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:417,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:418,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:419,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:420,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:420,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:420,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:424,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:425,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:425,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:426,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:427,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:427,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:427,1
    - Dst: auto::asDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:432,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:432,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:433,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:433,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:434,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:435,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:435,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::createExtent
    - auto::datums
    - EXPECT_THROW
    - auto::createDatum
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::createDatumEnsemble
    - dynamic_cast<VerticalReferenceFrame *>
    - auto::positionalAccuracy
    - auto::isEquivalentTo
    - auto::identifiers
    - auto::asDatum
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createDatumEnsembleVertical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:442,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:442,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:443,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:443,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:445,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:446,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:447,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:449,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:449,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:450,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:450,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:450,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:451,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:451,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:451,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:453,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:454,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:454,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:456,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:456,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:457,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:457,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:458,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:459,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:459,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:461,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:461,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:462,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:462,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:463,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:464,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - auto::size
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - auto::createCoordinateSystem
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - name
    - DatabaseContext::create
    - abbreviation
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_ellipsoidal_2_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:470,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:470,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:472,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:474,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:476,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:476,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:477,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:477,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:477,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:478,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:478,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:478,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:481,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:481,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:483,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:483,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:484,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:485,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:485,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:486,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:486,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:488,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:488,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:489,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:489,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:490,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:491,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:493,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:494,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:494,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:495,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:496,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 497
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - auto::createCoordinateSystem
    - name
    - auto::identifiers
    - codeSpace
    - abbreviation
    - DatabaseContext::create
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_ellipsoidal_3_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:502,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:502,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:504,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:505,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:506,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:508,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:509,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:509,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:510,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:510,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:510,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:512,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:513,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:515,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:516,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:517,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:517,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:518,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:520,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:520,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:521,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:522,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:523,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:525,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:525,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:526,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:526,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:527,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:527,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:528,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 529
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - auto::createCoordinateSystem
    - name
    - abbreviation
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<CartesianCS>
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:534,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:534,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:535,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:535,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:538,1
    - Dst: nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:539,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:540,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:542,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:542,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:543,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:543,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:544,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:544,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:544,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:546,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:547,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:547,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:549,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:549,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:550,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:550,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:551,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:551,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:552,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - unit
    - nn_dynamic_pointer_cast<VerticalCS>
    - auto::size
    - EXPECT_EQ
    - auto::createCoordinateSystem
    - ASSERT_TRUE
    - name
    - EXPECT_THROW
    - auto::identifiers
    - codeSpace
    - abbreviation
    - DatabaseContext::create
    - direction
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateSystem_vertical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:558,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:558,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:559,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:559,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:561,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:562,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:563,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:564,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:564,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:565,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:565,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:566,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:566,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:567,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:567,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:568,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:568,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:569,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:569,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:570,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:570,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:571,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:572,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:572,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:573,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:574,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:575,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:576,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:577,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:577,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:577,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:579,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:579,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 581
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - auto::datumEnsemble
    - EXPECT_THROW
    - auto::datum
    - auto::exportToPROJString
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::createDatumEnsemble
    - auto::createGeodeticCRS
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::isEquivalentTo
    - PROJStringFormatter::create
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geographic2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:586,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:586,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:587,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:588,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:589,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:590,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:591,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:591,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createExtent
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - auto::domains
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - auto::domainOfValidity
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geographic2D_area_no_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:597,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:597,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:598,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:599,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:600,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:601,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:601,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:602,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:602,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:602,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:603,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:603,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:603,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:604,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:604,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:605,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:605,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:606,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:606,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:607,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:607,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:608,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:609,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:609,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 611
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createGeodeticCRS
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::name
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::datumEnsemble
    - ASSERT_TRUE
    - auto::createCoordinateSystem
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::datum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geographic3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:616,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:616,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:617,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:618,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:619,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:619,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:620,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:620,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:620,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:621,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:621,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:621,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:622,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:622,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:623,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:623,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:624,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:624,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:625,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:625,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:626,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:627,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:627,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::createGeodeticCRS
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::name
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::datumEnsemble
    - ASSERT_TRUE
    - auto::createCoordinateSystem
    - auto::identifiers
    - codeSpace
    - DatabaseContext::create
    - auto::datum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeodeticCRS_geocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:634,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:634,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:635,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:636,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:637,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:638,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:638,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:638,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:640,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 641
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - EXPECT_THROW
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    - auto::createGeographicCRS
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createGeographicCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:646,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:646,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:647,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:647,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:650,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:651,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:651,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:652,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:652,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:652,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:653,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:653,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:653,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:654,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:654,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:655,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:656,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:656,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:657,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:657,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:658,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:660,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:661,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:662,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:663,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:663,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 664
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::datum
    - auto::createDatum
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::isEquivalentTo
    - auto::createVerticalCRS
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:669,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:669,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:670,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:670,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:673,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:674,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:674,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:675,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:675,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:676,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:676,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::datumEnsemble
    - ASSERT_TRUE
    - auto::createVerticalCRS
    - EXPECT_THROW
    - DatabaseContext::create
    - auto::datum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createVerticalCRS_with_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:683,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:683,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:684,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:684,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:688,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:689,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:689,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:689,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:690,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:690,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:690,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:691,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:691,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:692,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_factory.cpp:693,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:693,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:694,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:694,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:695,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:697,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:698,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:699,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:700,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:700,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::datum
    - auto::createDatum
    - auto::createEngineeringCRS
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::isEquivalentTo
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createEngineeringCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:706,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:706,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:707,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:707,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:709,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:710,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:710,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:711,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:711,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:711,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:712,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:712,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:713,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:713,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_factory.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:716,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:716,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:717,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:717,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:717,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:718,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:718,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:718,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:719,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:719,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/test/unit/test_factory.cpp:721,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:722,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:722,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_factory.cpp:725,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:726,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:728,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_factory.cpp:729,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:730,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:730,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:731,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:732,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:732,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:733,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:734,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_factory.cpp:734,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:735,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:735,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_factory.cpp:739,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:740,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:742,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_factory.cpp:743,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:744,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_factory.cpp:744,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:746,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_factory.cpp:746,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:747,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:748,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_factory.cpp:748,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:749,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_factory.cpp:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 751
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::parameterValues
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::parameter
    - codeSpace
    - code
    - ASSERT_EQ
    - auto::method
    - auto::name
    - EXPECT_THROW
    - auto::createConversion
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - auto::size
    - ASSERT_TRUE
    - auto::unit
    - auto::identifiers
    - DatabaseContext::create
    - auto::parameterValue
    - auto::type
    - AuthorityFactory::create
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createConversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:756,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:756,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:757,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_factory.cpp:758,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 760
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - nn_dynamic_pointer_cast<Conversion>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createConversion_from_other_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:765,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:765,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:766,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:766,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:770,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:771,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:771,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:772,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:772,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:772,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:773,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:773,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:774,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:774,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:775,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:776,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:776,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:777,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:778,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:778,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:779,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:781,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:782,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:783,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:784,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:784,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 785
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - auto::domains
    - auto::createCoordinateSystem
    - codeSpace
    - auto::createProjectedCRS
    - code
    - auto::createExtent
    - ASSERT_EQ
    - auto::name
    - EXPECT_THROW
    - auto::createConversion
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::createGeodeticCRS
    - auto::isEquivalentTo
    - auto::derivingConversion
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createProjectedCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:790,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:790,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:791,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:791,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:794,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:795,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:796,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:797,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:797,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:798,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:798,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:799,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:800,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:802,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:803,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 806
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - auto::size
    - EXPECT_EQ
    - EXPECT_THROW
    - meridian
    - DatabaseContext::create
    - auto::createProjectedCRS
    - direction
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createProjectedCRS_south_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:811,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:811,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:813,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:815,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:815,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:816,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:816,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:817,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:818,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:819,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:821,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:822,1
    - Dst: meridian
      Src: /src/PROJ/test/unit/test_factory.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 825
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::coordinateSystem
    - auto::size
    - EXPECT_EQ
    - meridian
    - DatabaseContext::create
    - auto::createProjectedCRS
    - direction
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createProjectedCRS_north_pole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:830,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:830,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:831,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:831,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:835,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:835,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:836,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:836,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_factory.cpp:836,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:837,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:837,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_factory.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:838,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:838,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_factory.cpp:841,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:842,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:842,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:843,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:843,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:844,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:845,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:845,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:846,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_factory.cpp:848,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_factory.cpp:849,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:850,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:851,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:851,1
    - Dst: auto::createExtent
      Src: /src/PROJ/test/unit/test_factory.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 852
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::domains
    - codeSpace
    - auto::createProjectedCRS
    - code
    - auto::createExtent
    - ASSERT_EQ
    - isEquivalentTo
    - auto::createCompoundCRS
    - auto::name
    - EXPECT_THROW
    - auto::componentReferenceSystems
    - auto::size
    - ASSERT_TRUE
    - auto::domainOfValidity
    - auto::isEquivalentTo
    - auto::createVerticalCRS
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCompoundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:857,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:857,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:858,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:858,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:860,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:860,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:861,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:862,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:862,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:863,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:864,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:864,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:865,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:866,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:866,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:867,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:868,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:868,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:869,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:870,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:870,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 872
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_TRUE
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<GeographicCRS>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateReferenceSystem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:876,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:876,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:877,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:877,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:879,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:880,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:880,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - EXPECT_THROW
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:893,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:893,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:894,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:895,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:895,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 903
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_7_CF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:908,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:908,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:909,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:910,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:910,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:911,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - auto::find
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_7_PV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:920,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:920,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:921,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:926,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:927,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:928,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_8_CF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:934,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:934,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1042,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1043,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1046
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_15_CF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1051,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1051,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1052,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1053,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1053,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_helmert_15_PV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1064,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1064,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1065,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1066,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1066,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1070
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_helmert_15_PV_rounding_of_drz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1075,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1075,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1077,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1077,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1089
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_CF_full_matrix_geog3D)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1095,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1095,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1096,1
    - Dst: nn_dynamic_pointer_cast<SingleOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1098,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1099,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1100,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_factory.cpp:1100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1102,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1102,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1112
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<SingleOperation>
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_molodensky_badekas_PV)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1119,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1119,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1120,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1167,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1168,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1171
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_grid_transformation_one_parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1178,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1178,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1179,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1184,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1185,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1186,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1187
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - WKTFormatter::create
    - auto::find
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_grid_transformation_two_parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1192,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1192,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1193,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1241,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1242,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1245
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::createCoordinateOperation
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_other_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1250,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1250,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1252,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/PROJ/test/unit/test_factory.cpp:1253,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1255,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1259
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - DatabaseContext::create
    - auto::createProjectedCRS
    - EXPECT_PRED_FORMAT2
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_test_uom_9110)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1264,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1264,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1267,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1267,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_affine_parametric_transform)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1276,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1276,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1278,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1278,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_10566_issue_4212)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1286,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1286,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1287,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1288,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1289,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1290,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1291,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1291,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1292,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1292,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1294,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1294,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1296
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_concatenated_operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1303,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1303,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1304,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1305,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1306,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1307,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1308,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1308,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1309,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1309,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1310,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1311,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1311,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1313,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1313,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1315
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_three_steps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1322,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1322,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1323,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1324,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1325,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1326,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1327,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1327,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1328,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1328,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1329,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1330,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1330,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1332
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_inverse_step1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1339,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1339,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1340,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1341,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1342,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1343,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1344,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1344,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1345,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1345,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1346,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1347,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1347,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1349
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_inverse_step2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1356,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1356,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1357,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1358,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1359,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1360,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1361,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1361,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1362,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1362,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1363,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1364,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1364,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1366
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_step1_is_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1373,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1373,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1374,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1375,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1376,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1377,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1378,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1378,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1379,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1379,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1380,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1381,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1381,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1382,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1383,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:1383,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1386,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1387,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1387,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1389,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:1390,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1396,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_factory.cpp:1396,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1402
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_TRUE
    - isEquivalentTo
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - targetCRS
    - sourceCRS
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_step_2_and_3_are_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1409,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1409,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1410,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1411,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1412,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_factory.cpp:1413,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1414,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1414,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1416,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1416,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1417,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1417,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1418,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1421,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1421,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1423,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1424
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::operations
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createCoordinateOperation_concatenated_operation_epsg_9103)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str
    - list
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1435
    functionName: in
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool in(const std::string &str, const std::vector<std::string> &list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1440,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1440,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1441,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1443,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1445,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1445,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1445,1
    - Dst: in
      Src: /src/PROJ/test/unit/test_factory.cpp:1447,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:1449,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1449,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1456
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - in
    - auto::size
    - auto::getAuthorityCodes
    - EXPECT_LT
    - EXPECT_THROW
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_build_all_concatenated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1461,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1461,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1462,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_factory.cpp:1463,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1465
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - nn_dynamic_pointer_cast<Conversion>
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createCoordinateOperation_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1471,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1471,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1472,1
    - Dst: nn_dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1520,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_factory.cpp:1521,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1524
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - nn_dynamic_pointer_cast<PointMotionOperation>
    - DatabaseContext::create
    - auto::exportToWKT
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(factory,\n     AuthorityFactory_createCoordinateOperation_point_motion_operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1529,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1529,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1531,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1533,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1533,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/test/unit/test_factory.cpp:1534,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1534,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1538,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1539,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1539,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1540,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1540,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1544,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1545,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1545,1
    - Dst: auto::createDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1546,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1546,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1548,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1550,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1550,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1551,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1551,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1553,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1555,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1555,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1557,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1557,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1558,1
    - Dst: dynamic_cast<DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1558,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1558,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1560,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1560,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1560,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1562,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1564,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1564,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1565,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1565,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1567,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1569,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1569,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1571,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1571,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1572,1
    - Dst: dynamic_cast<DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1572,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1572,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1574,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1576,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1578,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1578,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/test/unit/test_factory.cpp:1579,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1579,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1583,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1586,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1591,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1595,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1596,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1596,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1597,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1597,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1599,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1601,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1601,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1602,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1602,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1604,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1606,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1606,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1607,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1607,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1608,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1608,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1608,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1610,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1612,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1612,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1613,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1613,1
    - Dst: EXPECT_LT
      Src: /src/PROJ/test/unit/test_factory.cpp:1614,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1614,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1614,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1616,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:1616,1
    - Dst: auto::end
      Src: /src/PROJ/test/unit/test_factory.cpp:1616,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1619,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1621,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1621,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1622,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1622,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1624,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1626,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1626,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1627,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1627,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1629,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1629,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1629,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1630,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1632,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1632,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1632,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1633,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1635,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1637,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1637,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1638,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1638,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1640,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1642,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1642,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1643,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1643,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1645,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1647,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1647,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1648,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1648,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1650,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1652,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1652,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1653,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1653,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1657,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1660,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1663,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1666,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1671,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1674,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1676,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1676,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1677,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1677,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1679,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1681,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1681,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:1682,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1682,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1684,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1686,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1686,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1687,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1687,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1688,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1689,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:1691,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1693,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:1693,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1694,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:1694,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:1695,1
    - Dst: auto::begin
      Src: /src/PROJ/test/unit/test_factory.cpp:1696,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1700,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1703,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1706,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1708,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1708,1
    - Dst: std::set::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1708,1
    - Dst: std::set::find
      Src: /src/PROJ/test/unit/test_factory.cpp:1711,1
    - Dst: std::set::end
      Src: /src/PROJ/test/unit/test_factory.cpp:1711,1
    - Dst: std::set::insert
      Src: /src/PROJ/test/unit/test_factory.cpp:1712,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1715,1
    - Dst: std::set<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:1715,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1716,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1718
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - std::set::size
    - EXPECT_TRUE
    - auto::getAuthorityCodes
    - EXPECT_EQ
    - auto::createEngineeringDatum
    - dynamic_cast<DynamicVerticalReferenceFrame *>
    - auto::createProjectedCRS
    - std::set<std::string>
    - std::set::insert
    - auto::createGeographicCRS
    - auto::createGeodeticDatum
    - auto::createEllipsoid
    - auto::createCompoundCRS
    - auto::createCoordinateReferenceSystem
    - auto::createPrimeMeridian
    - EXPECT_LT
    - auto::createConversion
    - auto::createDatum
    - nn_dynamic_pointer_cast<Transformation>
    - auto::begin
    - auto::createVerticalDatum
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::size
    - auto::createEngineeringCRS
    - auto::find
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - dynamic_cast<DynamicGeodeticReferenceFrame *>
    - auto::createGeodeticCRS
    - std::set::find
    - auto::createVerticalCRS
    - auto::end
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    - std::set::end
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_getAuthorityCodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1723,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1723,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:1724,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:1724,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1726,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:1726,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1731,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1732
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::getDescriptionText
    - EXPECT_THROW
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_getDescriptionText)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1738,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1738,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1741,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1742,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1742,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1744,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1745,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:1745,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1746,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1746,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1748,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1749,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1749,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1751,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1752,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1752,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1753,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1753,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1754,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1754,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1756,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1756,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1757,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1757,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1758,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1759,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1759,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1763,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1764,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1764,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1766,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1767,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:1767,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1768,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1768,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1769,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1769,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1772,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1772,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1774,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1774,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1775,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1775,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1776,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1776,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1777,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1777,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1779,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1779,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1780,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1780,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1781,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1781,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1782,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1782,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:1786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1787,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:1787,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1788,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1788,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1788,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:1790,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1791,1
    - Dst: auto::isSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:1791,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1792,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1792,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:1793,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:1793,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:1795,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1796,1
    - Dst: dynamic_cast<SphericalCS *>
      Src: /src/PROJ/test/unit/test_factory.cpp:1796,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:1796,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_factory.cpp:1797,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1798,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:1798,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1800,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1800,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1802,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1803,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1803,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1804,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1804,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1806,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:1806,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1808,1
    - Dst: abbreviation
      Src: /src/PROJ/test/unit/test_factory.cpp:1808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1809,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_factory.cpp:1809,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:1810,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_factory.cpp:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1812
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::isSphere
    - auto::computeSemiMinorAxis
    - auto::createGeographicCRS
    - auto::nameStr
    - dynamic_cast<GeographicCRS *>
    - auto::semiMajorAxis
    - EXPECT_NEAR
    - direction
    - unit
    - auto::size
    - dynamic_cast<SphericalCS *>
    - auto::ellipsoid
    - auto::createGeodeticCRS
    - name
    - abbreviation
    - DatabaseContext::create
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_IAU_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open
      Src: /src/PROJ/test/unit/test_factory.cpp:1818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1818
    functionName: FactoryWithTmpDatabase::SetUp
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_open
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_free_table
      Src: /src/PROJ/test/unit/test_factory.cpp:1821,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_factory.cpp:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1823
    functionName: FactoryWithTmpDatabase::TearDown
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - sqlite3_free_table
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:1826,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:1827,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1829,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1829,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1829,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1831,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1831,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1832
    functionName: FactoryWithTmpDatabase::createStructure
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::getDatabaseStructure
    - ASSERT_TRUE
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void createStructure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1836,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1836,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1839,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1840,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1840,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1843,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1844,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1844,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1849,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1850,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1851,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1854,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1855,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1856,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1857,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1858,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1859,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1861,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1862,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1863,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1865,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1866,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1867,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1870,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1871,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1872,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1876,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1877,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1877,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1880,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1881,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1882,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1884,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1885,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1885,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1888,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1889,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1889,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1891,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1892,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1893,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1895,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1896,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1897,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1899,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1900,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1901,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1905,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1905,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1908,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1910,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1910,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1912,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1913,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1914,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1916,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1917,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1918,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1920,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1921,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1921,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1924,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1926,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1926,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1931,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1931,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1934,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1936,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1936,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1949,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1950,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1950,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1953,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1955,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1955,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1958,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1960,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1960,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1962,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1963,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1964,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1967,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1968,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1969,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1972,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1974,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1974,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1978,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1979,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1979,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1982,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1984,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1984,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1987,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1988,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1989,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:1992,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:1994,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:1994,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2002,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2003,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2004,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2008,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2010,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2010,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2021,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2022,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2023,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2028,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2030,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2030,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2033,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2035,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2035,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2048,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2049,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2050,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2055,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2057,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2057,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2062,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2063,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2063,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2068,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2070,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2070,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2073,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2075,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2075,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 2079
    functionName: FactoryWithTmpDatabase::populateWithFakeEPSG
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void populateWithFakeEPSG()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2085,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2085,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2091,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2092,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2092,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2101,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2103,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2103,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2109,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2110,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2110,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2120
    functionName: FactoryWithTmpDatabase::createSourceTargetPivotCRS
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void createSourceTargetPivotCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2125,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2125,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2135,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2136,1
    - Dst: FactoryWithTmpDatabase::execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2136,1
    - Dst: FactoryWithTmpDatabase::last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2146
    functionName: FactoryWithTmpDatabase::createTransformationForPivotTesting
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryWithTmpDatabase::last_error
    - FactoryWithTmpDatabase::execute
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void createTransformationForPivotTesting(const std::string &src,\n
      \                                            const std::string &dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2150,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2151,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2155,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2155,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2156,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2156,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2157,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2159,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2162,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2162,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2163,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2164,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2165,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2165,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2166,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2168,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2171,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2171,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2172,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2173,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2173,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2175,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2178,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2178,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2178,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2179,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2179,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2181,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2184,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2184,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2185,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2185,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2186,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2189,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2190,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2190,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2191,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2194,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2195,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2195,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2196,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2198,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2199,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2201,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2202,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2207,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2210,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2210,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2211,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2212,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2213,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2218,1
    - Dst: auto::setIntermediateCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2219,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2219,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2220,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2220,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2223,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2223,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2224,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2225,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2226,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2231,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2232,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2236,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2236,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2237,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2237,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2238,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2243,1
    - Dst: auto::setIntermediateCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2244,1
    - Dst: std::make_pair
      Src: /src/PROJ/test/unit/test_factory.cpp:2244,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2245,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2245,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2248,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2248,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2249,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2249,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2148
    functionDepth: 1
    functionLinenumber: 2148
    functionLinenumberEnd: 2253
    functionName: FactoryWithTmpDatabase::checkSourceToOther
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - auto::createFromCRSCodesWithIntermediates
    - std::make_pair
    - auto::setAllowUseIntermediateCRS
    - nn_dynamic_pointer_cast<Transformation>
    - DatabaseContext::create
    - auto::setIntermediateCRS
    - std::string
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void checkSourceToOther()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:2256,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_factory.cpp:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sql
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2258
    functionName: FactoryWithTmpDatabase::execute
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 8
    functionsReached:
    - std::string::c_str
    - sqlite3_exec
    linkageType: ''
    returnType: bool
    signature: bool execute(const std::string &sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/test/unit/test_factory.cpp:2261,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2263
    functionName: FactoryWithTmpDatabase::last_error
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 8
    functionsReached:
    - std::string
    - sqlite3_errmsg
    linkageType: ''
    returnType: std::string
    signature: std::string last_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2274,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2275,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2278,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2278,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2280,1
    - Dst: nn_dynamic_pointer_cast<UnitOfMeasure>
      Src: /src/PROJ/test/unit/test_factory.cpp:2280,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2281,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2283,1
    - Dst: nn_dynamic_pointer_cast<Extent>
      Src: /src/PROJ/test/unit/test_factory.cpp:2283,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2284,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2286,1
    - Dst: nn_dynamic_pointer_cast<PrimeMeridian>
      Src: /src/PROJ/test/unit/test_factory.cpp:2286,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2287,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2289,1
    - Dst: nn_dynamic_pointer_cast<Ellipsoid>
      Src: /src/PROJ/test/unit/test_factory.cpp:2289,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2290,1
    - Dst: nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:2292,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2293,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2294,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2295,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_factory.cpp:2295,1
    - Dst: nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/test/unit/test_factory.cpp:2297,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2298,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2299,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2300,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/test/unit/test_factory.cpp:2300,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2302,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2302,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2303,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2305,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2305,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2306,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2308,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/test/unit/test_factory.cpp:2308,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2309,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2311,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2311,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2314,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2314,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2315,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2317,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2317,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2318,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2320,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2320,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2320,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2323,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2323,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2323,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2326,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2326,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2328
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<Conversion>
    - nn_dynamic_pointer_cast<UnitOfMeasure>
    - nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - nn_dynamic_pointer_cast<Ellipsoid>
    - AuthorityFactory::create
    - nn_dynamic_pointer_cast<Transformation>
    - populateWithFakeEPSG
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - nn_dynamic_pointer_cast<CompoundCRS>
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - nn_dynamic_pointer_cast<PrimeMeridian>
    - auto::anchorDefinition
    - auto::createObject
    - nn_dynamic_pointer_cast<GeographicCRS>
    - DatabaseContext::create
    - nn_dynamic_pointer_cast<Extent>
    - createStructure
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, AuthorityFactory_test_with_fake_EPSG_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2333,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2333,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2334,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2335,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2338,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2339,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2339,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2340,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2340,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2341,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2341,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2342,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:2343,1
    - Dst: auto::createConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:2343,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2347,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2348,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2348,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2350,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2350,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2351,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2351,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2352,1
    - Dst: isDeprecated
      Src: /src/PROJ/test/unit/test_factory.cpp:2352,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2357,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2358,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2360,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2361,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2361,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2365,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2367,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2369,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2369,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2370,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_factory.cpp:2370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2372
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - isEquivalentTo
    - isDeprecated
    - EXPECT_EQ
    - auto::createConversion
    - auto::empty
    - EXPECT_FALSE
    - auto::createFromCoordinateReferenceSystemCodes
    - DatabaseContext::create
    - getEPSGCode
    - targetCRS
    - sourceCRS
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_createFromCoordinateReferenceSystemCodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2380,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2380,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2380,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2383,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2385,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2385,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2388,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2390,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2390,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2392,1
    - Dst: sourceCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2392,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2393,1
    - Dst: targetCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2393,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2394,1
    - Dst: isDeprecated
      Src: /src/PROJ/test/unit/test_factory.cpp:2394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2397
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - targetCRS
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - isDeprecated
    - EXPECT_FALSE
    - auto::createFromCoordinateReferenceSystemCodes
    - DatabaseContext::create
    - std::string
    - auto::empty
    - sourceCRS
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    factory,\n    AuthorityFactory_createFromCoordinateReferenceSystemCodes_anonymous_authority)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2406,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2407,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2408,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2412,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2413,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: begin
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: end
      Src: /src/PROJ/test/unit/test_factory.cpp:2414,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2417,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2417,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2420,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2421,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:2421,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2425,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2426,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2429,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2430,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2433,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2434,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2437,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2438,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2441,1
    - Dst: checkNavd88
      Src: /src/PROJ/test/unit/test_factory.cpp:2442,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2446,1
    - Dst: checkOdn
      Src: /src/PROJ/test/unit/test_factory.cpp:2447,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/test/unit/test_factory.cpp:2450,1
    - Dst: checkOdn
      Src: /src/PROJ/test/unit/test_factory.cpp:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2453
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkNavd88
    - EXPECT_TRUE
    - begin
    - EXPECT_FALSE
    - end
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::getGeoidModels
    - auto::empty
    - find
    - AuthorityFactory::create
    - checkOdn
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_getAvailableGeoidmodels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2459,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2460,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2464,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2464,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2468,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2469,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2470,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2474,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2474,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2486,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2487,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2487,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2499,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2500,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2500,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2505,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2506,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2506,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2509,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2511,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2511,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2514,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2516,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2516,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2517,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2518,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_factory.cpp:2518,1
    - Dst: auto::createObject
      Src: /src/PROJ/test/unit/test_factory.cpp:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2457
    functionDepth: 1
    functionLinenumber: 2457
    functionLinenumberEnd: 2521
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::createObject
    - ASSERT_TRUE
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_test_inversion_first_and_last_steps_of_concat_op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2527,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2530,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2531,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2534,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2535,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2535,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2538,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2540,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2540,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2544,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2545,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2545,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2548,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2550,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2551,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2551,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2553,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2556,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2556,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2560,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2560,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2562,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2565,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2565,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2569,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2569,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2571,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2573,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2573,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2576,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2576,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2585,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2586,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2586,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2591,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2594,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2596,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2596,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2599,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2601,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2601,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2604,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2606,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2608
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - ASSERT_TRUE
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_test_with_fake_EPSG_and_OTHER_database)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2614,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2615,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2617,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2617,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2625,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2626,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2627,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2631,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2633,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2634,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2642,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2643,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2644,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2649,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2651,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2651,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2659,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2660,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2661,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2667,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2667,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2675,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2676,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2677,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2682,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2685,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2685,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2686,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2688,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2689,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:2689,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2690,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:2690,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2691,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_factory.cpp:2691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2612
    functionDepth: 1
    functionLinenumber: 2612
    functionLinenumberEnd: 2693
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - ASSERT_TRUE
    - name
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_test_sorting_of_coordinate_operations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2700,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2701,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2703,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2703,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2704,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/test/unit/test_factory.cpp:2705,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2707,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2708
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - EXPECT_EQ
    - auto::createFromCRSCodesWithIntermediates
    - createStructure
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_source_equals_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2715,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2716,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2717,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2719,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2720,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2723
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_source_pivot_target_pivot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2730,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2731,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2732,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2734,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2735,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2738
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_source_pivot_pivot_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2745,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2746,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2747,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2749,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2750,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2753
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_pivot_source_pivot_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2760,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2761,1
    - Dst: createSourceTargetPivotCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:2762,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2764,1
    - Dst: createTransformationForPivotTesting
      Src: /src/PROJ/test/unit/test_factory.cpp:2765,1
    - Dst: checkSourceToOther
      Src: /src/PROJ/test/unit/test_factory.cpp:2767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2768
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - checkSourceToOther
    - createSourceTargetPivotCRS
    - createTransformationForPivotTesting
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    FactoryWithTmpDatabase,\n    AuthorityFactory_createFromCRSCodesWithIntermediates_case_pivot_source_target_pivot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2773,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2774,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2776,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2776,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2786,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2787,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2787,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2792,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2795,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2795,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2796,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2798,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2798,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2799,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:2799,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2800,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:2800,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2772
    functionDepth: 1
    functionLinenumber: 2772
    functionLinenumberEnd: 2802
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - exportToPROJString
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, AuthorityFactory_proj_based_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2807,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2808,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2842,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2842,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2846,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2854,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2855,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2855,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2860,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2863,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2863,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2864,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2866,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2866,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2867,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:2867,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2868,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:2868,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2806
    functionDepth: 1
    functionLinenumber: 2806
    functionLinenumberEnd: 2875
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nameStr
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - exportToPROJString
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, AuthorityFactory_wkt_based_transformation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2881,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2882,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2884,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2884,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2888,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2896,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2897,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2897,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2902,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2905,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2905,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:2906,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2910
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_wkt_based_transformation_not_wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2916,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2917,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2919,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2919,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:2923,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2931,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2932,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2932,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2937,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2940,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2940,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:2941,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:2942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2914
    functionDepth: 1
    functionLinenumber: 2914
    functionLinenumberEnd: 2945
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::createFromCoordinateReferenceSystemCodes
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       AuthorityFactory_wkt_based_transformation_not_co_wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2950,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2950,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:2951,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:2952,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2953,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:2953,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_factory.cpp:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2949
    functionDepth: 1
    functionLinenumber: 2949
    functionLinenumberEnd: 2955
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - get
    - auto::createCoordinateReferenceSystem
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::isEquivalentTo
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, AuthorityFactory_EPSG_4326_approximate_equivalent_to_builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2960,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:2961,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:2964,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:2964,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2965,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:2965,1
    - Dst: auto::end
      Src: /src/PROJ/test/unit/test_factory.cpp:2965,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2966,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:2966,1
    - Dst: auto::end
      Src: /src/PROJ/test/unit/test_factory.cpp:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2959
    functionDepth: 1
    functionLinenumber: 2959
    functionLinenumberEnd: 2967
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - auto::find
    - auto::end
    - DatabaseContext::create
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, getAuthorities)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:2972,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2974,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:2974,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:2991,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:2999,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:2999,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3002,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3002,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3003,1
    - Dst: std::string::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3004,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3006,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2971
    functionDepth: 1
    functionLinenumber: 2971
    functionLinenumberEnd: 3008
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - EXPECT_TRUE
    - EXPECT_EQ
    - ASSERT_TRUE
    - last_error
    - execute
    - DatabaseContext::create
    - createStructure
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, lookForGridInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3014,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3016,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3016,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3033,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3041,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3041,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3044,1
    - Dst: std::string::find
      Src: /src/PROJ/test/unit/test_factory.cpp:3045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3049
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::string::find
    - ASSERT_TRUE
    - last_error
    - execute
    - DatabaseContext::create
    - createStructure
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       lookForGridInfo_from_old_name_with_new_grid_available)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3054,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3055,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3057,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3057,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3061,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3063,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3063,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3068,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3070,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3070,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3073,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3075,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3075,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3080,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3082,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3082,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3086,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3088,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3088,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3092,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3095,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3095,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3097,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3098,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3099,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3099,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3100,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3100,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3101,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3101,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3101,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3102,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3102,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3102,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3103,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3103,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3107,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3108,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3109,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3110,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3110,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3111,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3111,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3111,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3112,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3112,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3115,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3116,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3117,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3117,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3118,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3118,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3119,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3119,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3120,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3120,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3120,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3123,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3124,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3125,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3126,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3127,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3127,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:3127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3128,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_factory.cpp:3128,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:3128,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3131,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3131,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3133,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3053
    functionDepth: 1
    functionLinenumber: 3053
    functionLinenumberEnd: 3135
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - auto::ellipsoid
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - Length
    - EXPECT_EQ
    - auto::name
    - nn_dynamic_pointer_cast<GeographicCRS>
    - ASSERT_TRUE
    - EXPECT_THROW
    - AuthorityFactory::create
    - auto::identifiers
    - last_error
    - execute
    - DatabaseContext::create
    - auto::canonicalBoundCRS
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, custom_geodetic_crs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3140,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3141,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3143,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3143,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3150,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3150,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3155,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3157,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3157,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3162,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3165,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3165,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3169,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3172,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3172,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3176,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3179,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3180,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3203,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3206,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3206,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3209,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3210,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3210,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3211,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:3211,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3211,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3212,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:3212,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3212,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3214,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3214,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3217,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3218,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_factory.cpp:3218,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3219,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3219,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3220,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_factory.cpp:3220,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3221,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:3221,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3221,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3223,1
    - Dst: auto::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3223,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3226,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3226,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3229,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3231,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3232,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3233,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3234,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3234,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3236,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3236,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3236,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3241,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3243,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3244,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3245,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3246,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3246,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3247,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3248,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3248,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3248,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3253,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3255,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3256,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3258,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3258,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3260,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3260,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3260,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:3265,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3267,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3268,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:3269,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3270,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3270,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3272,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3272,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3272,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:3277,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3139
    functionDepth: 1
    functionLinenumber: 3139
    functionLinenumberEnd: 3287
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::identify
    - nameStr
    - execute
    - auto::createProjectedCRS
    - createStructure
    - auto::name
    - EXPECT_THROW
    - populateWithFakeEPSG
    - auto::exportToPROJString
    - auto::front
    - auto::size
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - last_error
    - auto::canonicalBoundCRS
    - auto::getCRSInfoList
    - PROJStringFormatter::create
    - auto::derivingConversion
    - auto::identifiers
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, custom_projected_crs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3292,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3293,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3299,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3300,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3310,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3311,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3311,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3315,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3318,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3318,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3325,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3326,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3326,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3330,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3333,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3333,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3365,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3368,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3368,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3373,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3377,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3377,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3408,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3411,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3411,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3418,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3418,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3420,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3421,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3421,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3426,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3426,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3428,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3431,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3431,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3438,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3439,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3446,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3446,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3453,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3453,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3457,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3458,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3459,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:3459,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3460,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3460,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3462,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3462,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:3467,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3468,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3468,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3474,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3475,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3475,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3476,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3476,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3476,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3481,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3481,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3485,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3485,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/test/unit/test_factory.cpp:3490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3492,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3492,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3493,1
    - Dst: auto::count
      Src: /src/PROJ/test/unit/test_factory.cpp:3493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3498,1
    - Dst: auto::getDescriptionText
      Src: /src/PROJ/test/unit/test_factory.cpp:3498,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:3504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3510,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3291
    functionDepth: 1
    functionLinenumber: 3291
    functionLinenumberEnd: 3517
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createDerivedProjectedCRS
    - EXPECT_TRUE
    - auto::getAuthorityCodes
    - EXPECT_EQ
    - auto::baseCRS
    - execute
    - auto::createProjectedCRS
    - createStructure
    - auto::nameStr
    - auto::createCoordinateReferenceSystem
    - auto::getDescriptionText
    - EXPECT_THROW
    - populateWithFakeEPSG
    - auto::count
    - auto::size
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - last_error
    - auto::getCRSInfoList
    - EXPECT_FALSE
    - auto::identifiers
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, custom_derived_projected_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3522,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3523,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3525,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3525,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3528,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3557,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3557,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3563,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3563,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3566,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3568,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3569,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:3570,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3571,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:3573,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3574,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3574,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3574,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3575,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3575,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:3576,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_factory.cpp:3576,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:3579,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3580,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3580,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3581,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3582,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3582,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:3583,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_factory.cpp:3583,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:3586,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3587,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3587,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3587,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:3588,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3588,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_factory.cpp:3591,1
    - Dst: dynamic_cast<CoordinateMetadata *>
      Src: /src/PROJ/test/unit/test_factory.cpp:3593,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3593,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3594,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3595,1
    - Dst: auto::crs
      Src: /src/PROJ/test/unit/test_factory.cpp:3595,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:3595,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3596,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/test/unit/test_factory.cpp:3596,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_factory.cpp:3597,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/test/unit/test_factory.cpp:3597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3521
    functionDepth: 1
    functionLinenumber: 3521
    functionLinenumberEnd: 3599
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - createFromUserInput
    - EXPECT_TRUE
    - dynamic_cast<CoordinateMetadata *>
    - auto::createCoordinateMetadata
    - auto::createCoordinateReferenceSystem
    - auto::crs
    - EXPECT_FALSE
    - ASSERT_TRUE
    - auto::coordinateEpoch
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - EXPECT_NEAR
    - auto::coordinateEpochAsDecimalYear
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: void TEST_F(FactoryWithTmpDatabase, CoordinateMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3604,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3604,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3605,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3606,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3607,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3603
    functionDepth: 1
    functionLinenumber: 3603
    functionLinenumberEnd: 3609
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<GeographicCRS>
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, attachExtraDatabases_none)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/test/unit/test_factory.cpp:3619,1
    - Dst: std::string::c_str
      Src: /src/PROJ/test/unit/test_factory.cpp:3620,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3622,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3623,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3623,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3628,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3629,1
    - Dst: find
      Src: /src/PROJ/test/unit/test_factory.cpp:3631,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3632,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3632,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_factory.cpp:3632,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3638,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3638,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3644,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/test/unit/test_factory.cpp:3644,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3648,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3648,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3651,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3652,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3653,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3654,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3658,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3659,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3660,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3661,1
    - Dst: auto::getDatabaseStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3664,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3665,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3670,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3670,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3673,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3674,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3675,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3676,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3680,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3681,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3682,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3683,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3688,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3688,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3691,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3692,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:3693,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3694,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3698,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3699,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:3699,1
    - Dst: sqlite3_close
      Src: /src/PROJ/test/unit/test_factory.cpp:3704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3705
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::createGeodeticCRS
    - EXPECT_TRUE
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::getDatabaseStructure
    - ASSERT_TRUE
    - EXPECT_THROW
    - sqlite3_close
    - sqlite3_exec
    - DatabaseContext::create
    - std::string
    - sqlite3_open_v2
    - find
    - AuthorityFactory::create
    - c_str
    linkageType: ''
    returnType: void
    signature: void TEST(factory, attachExtraDatabases_auxiliary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:3710,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3710,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3709
    functionDepth: 1
    functionLinenumber: 3709
    functionLinenumberEnd: 3712
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_THROW
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, attachExtraDatabases_auxiliary_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3717,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3717,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3718,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3718,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3724,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3725,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3725,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3727,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3729,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3730,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3734,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3737,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3738,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3739,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3740,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3744,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3745,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3747,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/test/unit/test_factory.cpp:3751,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3753,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3716
    functionDepth: 1
    functionLinenumber: 3716
    functionLinenumberEnd: 3759
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::getOfficialNameFromAlias
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getOfficialNameFromAlias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3765,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3766,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3768,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3768,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3779,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3780,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3780,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3783,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3785,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3785,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3796,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3797,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3797,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3800,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3802,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3804,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3804,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3805,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/test/unit/test_factory.cpp:3806,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3808,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3809,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3811,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3814,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3814,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3815,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3815,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3816,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_factory.cpp:3816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3763
    functionDepth: 1
    functionLinenumber: 3763
    functionLinenumberEnd: 3817
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::size
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - ASSERT_TRUE
    - nameStr
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - auto::setSpatialCriterion
    - createStructure
    - CoordinateOperationFactory::create
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       createOperations_exact_transform_not_whole_area)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createStructure
      Src: /src/PROJ/test/unit/test_factory.cpp:3826,1
    - Dst: populateWithFakeEPSG
      Src: /src/PROJ/test/unit/test_factory.cpp:3827,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3829,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3829,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3840,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3842,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3843,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3848,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3850,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3850,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3861,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3863,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3863,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3868,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3870,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3870,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3874,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3875,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3875,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3880,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3883,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3883,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3886,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3889,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3889,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3892,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3895,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3895,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3898,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3901,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3901,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3907,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3907,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3910,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3913,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3913,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3916,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:3919,1
    - Dst: execute
      Src: /src/PROJ/test/unit/test_factory.cpp:3919,1
    - Dst: last_error
      Src: /src/PROJ/test/unit/test_factory.cpp:3922,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3924,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3925,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3925,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_factory.cpp:3927,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_factory.cpp:3928,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3928,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3821
    functionDepth: 1
    functionLinenumber: 3821
    functionLinenumberEnd: 3930
    functionName: TEST_F
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - AuthorityFactory::create
    - last_error
    - execute
    - DatabaseContext::create
    - std::string
    - createStructure
    - populateWithFakeEPSG
    linkageType: ''
    returnType: void
    signature: "void TEST_F(FactoryWithTmpDatabase,\n       check_fixup_direction_concatenated_inverse_map_projection)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3935,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3936,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:3936,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:3937,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3939,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3939,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3942,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3942,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3944,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3947,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3947,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3953,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3954,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3961,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3966,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:3966,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:3967,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3968,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:3968,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3974,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3974,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3980,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3980,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3985,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3985,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3988,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3989,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3993,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3994,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:3998,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:3998,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4002,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4009,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4009,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4016,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4022,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4022,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4026,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4033,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4034,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4039,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4040,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4044,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4049,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4049,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4055,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4055,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4061,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4062,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4068,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4068,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4075,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4076,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4082,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4093,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4094,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4107,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4107,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4109,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4109,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4110,1
    - Dst: dynamic_cast<DatumEnsemble *>
      Src: /src/PROJ/test/unit/test_factory.cpp:4110,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4110,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4118,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4118,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4120,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4120,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4121,1
    - Dst: dynamic_cast<DatumEnsemble *>
      Src: /src/PROJ/test/unit/test_factory.cpp:4121,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4121,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4152,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4154,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4160,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4160,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4162,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4165
      start: 3934
    functionDepth: 1
    functionLinenumber: 3934
    functionLinenumberEnd: 4165
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<DatumEnsemble *>
    - auto::front
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - auto::createObjectsFromName
    - DatabaseContext::create
    - std::string
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, createObjectsFromName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4171,1
    - Dst: auto::getMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:4171,1
    - Dst: auto::getMetadata
      Src: /src/PROJ/test/unit/test_factory.cpp:4172,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4174,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4169
    functionDepth: 1
    functionLinenumber: 4169
    functionLinenumberEnd: 4175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::getMetadata
    - EXPECT_EQ
    - ASSERT_TRUE
    - DatabaseContext::create
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4180,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4181,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4181,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4182,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4184,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4185,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4185,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4186,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4186,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4187,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4187,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4190,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4191,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4191,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/test/unit/test_factory.cpp:4194,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4195,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4197
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4197
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - DatabaseContext::create
    - std::string
    - auto::listAreaOfUseFromName
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, listAreaOfUseFromName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4202,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4204,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4204,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:4205,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4206,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4206,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4218,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4222,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4223,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4224,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4225,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4228,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/test/unit/test_factory.cpp:4229,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4230,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4230,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4238,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4240,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4241,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4243,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4245,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4247,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4248,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4249,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4249,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4250,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4251,1
    - Dst: projectionMethodName::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:4251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4254,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4255,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4256,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4258,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4270,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4271,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4273,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4274,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4276,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4278,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4279,1
    - Dst: areaName::find
      Src: /src/PROJ/test/unit/test_factory.cpp:4279,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4283,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4287,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4291,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4298,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4299,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4300,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4301,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4302,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4305
      start: 4201
    functionDepth: 1
    functionLinenumber: 4201
    functionLinenumberEnd: 4305
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::getCRSInfoList
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - areaName::find
    - projectionMethodName::empty
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getCRSInfoList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4310,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4312,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4312,1
    - Dst: auto::getUnitList
      Src: /src/PROJ/test/unit/test_factory.cpp:4313,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4314,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4327,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4328,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4332,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4336,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4343,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4345,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4346,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:4347,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4351,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:4352,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4356,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4357,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4358,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4359,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4360,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4361,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4362,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4363,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4366,1
    - Dst: auto::getUnitList
      Src: /src/PROJ/test/unit/test_factory.cpp:4367,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4368,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4370,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4373
      start: 4309
    functionDepth: 1
    functionLinenumber: 4309
    functionLinenumberEnd: 4373
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - auto::getUnitList
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getUnitList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4378,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4380,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4380,1
    - Dst: auto::getCelestialBodyList
      Src: /src/PROJ/test/unit/test_factory.cpp:4381,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4382,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4382,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4390,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4394,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4395,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4396,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4399,1
    - Dst: auto::getCelestialBodyList
      Src: /src/PROJ/test/unit/test_factory.cpp:4400,1
    - Dst: EXPECT_GT
      Src: /src/PROJ/test/unit/test_factory.cpp:4401,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4401,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4377
    functionDepth: 1
    functionLinenumber: 4377
    functionLinenumberEnd: 4406
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - EXPECT_EQ
    - auto::getCelestialBodyList
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getCelestialBodyList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4414,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4415,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:4416,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4416,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4420,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4422,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4426,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4428,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4434,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:4435,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4435,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4441,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4442,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4444,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4444,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4447,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4452,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4453,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4454,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4455,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_factory.cpp:4456,1
    - Dst: datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:4457,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4458,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4460,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4460,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4461,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4461,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4464,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4466,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4466,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4468,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4468,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4469,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4472,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4478,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4478,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4478,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4479,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4479,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4480,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4481,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4483,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4483,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4483,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4484,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4485,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4485,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4486,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4487,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4488,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4489,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4489,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:4491,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4491,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4491,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4498,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4499,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4500,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4500,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_factory.cpp:4505,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4508,1
    - Dst: auto::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4509,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/test/unit/test_factory.cpp:4510,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4512,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_factory.cpp:4512,1
    - Dst: datumEnsemble
      Src: /src/PROJ/test/unit/test_factory.cpp:4513,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4514,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4516,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4517,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4517,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4521,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4527,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4527,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4527,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4528,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4529,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4530,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4530,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4532,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4532,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4532,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4534,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4534,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4535,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4536,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4537,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4542,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4543,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4545,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_factory.cpp:4547,1
    - Dst: optional::optional
      Src: /src/PROJ/test/unit/test_factory.cpp:4548,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_factory.cpp:4550,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4550,1
    - Dst: auto::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4551,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/test/unit/test_factory.cpp:4552,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4553,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:4554,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_factory.cpp:4554,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:4555,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/test/unit/test_factory.cpp:4555,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4556,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_factory.cpp:4557,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4560,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4561,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4561,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4562,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4572,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4578,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4578,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4578,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4579,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4579,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4580,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4581,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4581,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4583,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4583,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4583,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4584,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4585,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4585,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4586,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4587,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4589,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4594,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4595,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4596,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4597,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4600,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4602,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4603,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4604,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4606,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4607,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4607,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4608,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4613,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4613,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4613,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4614,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4614,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4615,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4616,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4616,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4618,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4618,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4618,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4619,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4620,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4620,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4621,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4622,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4623,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4628,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4629,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4630,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4631,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4632,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4634,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4635,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4636,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4638,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4640,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4640,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4642,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4642,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4643,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4649,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4649,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4649,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4650,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4650,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4651,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4652,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4652,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4654,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4654,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4654,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4655,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4656,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4656,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4657,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4658,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4660,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4665,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4666,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_factory.cpp:4667,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4668,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:4669,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_factory.cpp:4669,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4670,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4671,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4672,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4673,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4674,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4675,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4677,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4678,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4678,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4679,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4683,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4683,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4683,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4684,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4684,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4685,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4686,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4686,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4688,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4688,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4688,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4689,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4690,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4690,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4691,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4692,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4693,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4698,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4699,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/test/unit/test_factory.cpp:4700,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4701,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:4702,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_factory.cpp:4702,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4703,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4704,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4705,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4706,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4707,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4708,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4710,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4711,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4711,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4712,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4718,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4718,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4718,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4719,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4720,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4721,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4721,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4723,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4723,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4723,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4724,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4725,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4725,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4726,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4727,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4728,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4733,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4734,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4735,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4736,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_factory.cpp:4737,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4738,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4739,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4740,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4741,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4742,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4743,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4745,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4746,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4746,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4747,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4750,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4750,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4750,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4751,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4751,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4752,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4753,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4753,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4755,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4755,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4755,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4756,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4757,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4757,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4758,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4759,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4760,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4765,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4766,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4767,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4768,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_factory.cpp:4769,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4770,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4771,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4772,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4773,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4774,1
    - Dst: coordinateSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:4775,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4777,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4778,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4778,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4779,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4783,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4783,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4783,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4784,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4784,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4785,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4786,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4786,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4788,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4788,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4788,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4789,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4790,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4790,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4791,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4792,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4793,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4798,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4799,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4800,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4801,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_factory.cpp:4803,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4803,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_factory.cpp:4804,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4806,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4807,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4807,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4820,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4824,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4828,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4834,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4834,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4834,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4835,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4835,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4836,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4837,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4837,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4839,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4839,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4839,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4840,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4841,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4841,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4842,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4843,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4844,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4849,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4850,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4851,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4852,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4855,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4856,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4857,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_factory.cpp:4859,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4860,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_factory.cpp:4861,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4863,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4864,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4864,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4865,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4867,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4869,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4873,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4876,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4881,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4881,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4881,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4882,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4882,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4883,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4884,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4884,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4886,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4886,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4886,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4887,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4888,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4888,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4889,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4890,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4891,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4896,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4897,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4898,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4899,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4900,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4901,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4902,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4903,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4904,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_factory.cpp:4906,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4908,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4909,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4909,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4910,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4914,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4914,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4914,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4915,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4915,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4916,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4917,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4919,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4919,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4919,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4920,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4921,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4921,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4922,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4923,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4924,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4929,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4930,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4931,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4932,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4933,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4934,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_factory.cpp:4935,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_factory.cpp:4936,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_factory.cpp:4937,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4938,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_factory.cpp:4940,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4942,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4943,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4943,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4944,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:4948,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4948,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:4948,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4949,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4949,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4950,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4951,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:4951,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4953,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4953,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:4953,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:4954,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4955,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:4955,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4956,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4957,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4958,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:4963,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:4964,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:4991,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:4991,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:4992,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:4993,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:4993,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4995,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:4995,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4996,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:4999,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_factory.cpp:5004,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5004,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_factory.cpp:5004,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5005,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_factory.cpp:5005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5006,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5007,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_factory.cpp:5007,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5009,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5009,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5009,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5010,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5012,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5012,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5013,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5013,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5016,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5021,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5022,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5023,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5025,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5027,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5027,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5029,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5030,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5030,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5031,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5032,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5037,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5038,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5039,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5041,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5043,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5043,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5045,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5046,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5046,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5047,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5048,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5053,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5054,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5055,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5057,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5059,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5059,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5061,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5062,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5062,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5063,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5064,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5069,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5070,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5071,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5074,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5075,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5075,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5077,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5078,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5078,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5079,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5080,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5085,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5086,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5089,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5090,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5092,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5092,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5094,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5095,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5095,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5096,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5097,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5102,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5103,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5104,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5105,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5108,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5109,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5110,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5113,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5118,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5118,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5121,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5123,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5124,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5124,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5124,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5126,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5132,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5133,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5162,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5162,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5163,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5164,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5165,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5179,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5181,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_factory.cpp:5181,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5184,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5186,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5187,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_factory.cpp:5187,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_factory.cpp:5187,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5189,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5194,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5195,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5214,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5214,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5215,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:5216,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5216,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5216,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5223,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/test/unit/test_factory.cpp:5224,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_factory.cpp:5245,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_factory.cpp:5245,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5246,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_factory.cpp:5247,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5247,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_factory.cpp:5247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 242
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5251
      start: 4410
    functionDepth: 1
    functionLinenumber: 4410
    functionLinenumberEnd: 5251
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - Scale
    - auto::startInsertStatementsSession
    - EXPECT_TRUE
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - BoundCRS::createFromTOWGS84
    - auto::add
    - auto::identify
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - Extent::createFromBBOX
    - PrimeMeridian::create
    - VerticalReferenceFrame::create
    - UnitOfMeasure
    - coordinateSystem
    - datumEnsemble
    - auto::suggestsCodeFor
    - ASSERT_EQ
    - isEquivalentTo
    - nn_static_pointer_cast<BaseObject>
    - PropertyMap::set
    - GeodeticCRS::create
    - auto::stopInsertStatementsSession
    - VerticalCRS::create
    - EXPECT_THROW
    - ProjectedCRS::create
    - nn_dynamic_pointer_cast<CartesianCS>
    - std::string
    - GeodeticReferenceFrame::create
    - Ellipsoid::createFlattenedSphere
    - auto::front
    - auto::set
    - auto::size
    - Angle
    - nn_dynamic_pointer_cast<CRS>
    - Ellipsoid::createTwoAxis
    - GeographicCRS::create
    - auto::find
    - ASSERT_TRUE
    - PROJStringParser
    - optional<std::string>
    - Length
    - PropertyMap
    - optional::optional
    - ObjectDomain::create
    - CartesianCS::createEastingNorthing
    - VerticalCS::createGravityRelatedHeight
    - auto::isEquivalentTo
    - Conversion::createUTM
    - DatabaseContext::create
    - WKTParser
    - datum
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, objectInsertion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5256,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5257,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5258,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5259,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5255
    functionDepth: 1
    functionLinenumber: 5255
    functionLinenumberEnd: 5261
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createCoordinateReferenceSystem
    - AuthorityFactory::create
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, ogc_timecrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5266,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5267,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5268,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5269,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5270,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_factory.cpp:5271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5272
      start: 5265
    functionDepth: 1
    functionLinenumber: 5265
    functionLinenumberEnd: 5272
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createCoordinateReferenceSystem
    - AuthorityFactory::create
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, ogc_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5277,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5278,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5278,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_factory.cpp:5280,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/test/unit/test_factory.cpp:5281,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5282,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_factory.cpp:5282,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5283,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_factory.cpp:5283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5276
    functionDepth: 1
    functionLinenumber: 5276
    functionLinenumberEnd: 5284
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - auto::createGeodeticCRS
    - EXPECT_EQ
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::getPointMotionOperationsFor
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(factory, getPointMotionOperationsFor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_factory.cpp:5289,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5298,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5298,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5300,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5301,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5306,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_factory.cpp:5318,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5320,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5321,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5325,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5326,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5337,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5337,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5342,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5343,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5345,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5357,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5357,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5359,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5361,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5362,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5363,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5364,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5365,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_factory.cpp:5378,1
    - Dst: auto::toWGS84AutocorrectWrongValues
      Src: /src/PROJ/test/unit/test_factory.cpp:5378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5382,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5383,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_factory.cpp:5386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5388
      start: 5288
    functionDepth: 1
    functionLinenumber: 5288
    functionLinenumberEnd: 5388
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_factory.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - EXPECT_FALSE
    - DatabaseContext::create
    - auto::toWGS84AutocorrectWrongValues
    linkageType: ''
    returnType: void
    signature: void TEST(factory, toWGS84AutocorrectWrongValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: UnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_operation.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/PROJ/test/unit/test_operation.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: _isEquivalentTo
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(const IComparable *, Criterion,\n                         const
      DatabaseContextPtr &) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_make_shared<UnrelatedObject>
      Src: /src/PROJ/test/unit/test_operation.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: createUnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 5
    functionsReached:
    - nn_make_shared<UnrelatedObject>
    linkageType: ''
    returnType: nn<std::shared_ptr<UnrelatedObject>>
    signature: nn<std::shared_ptr<UnrelatedObject>> createUnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: UnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_operation.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/PROJ/test/unit/test_operation.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: _isEquivalentTo
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(const IComparable *, Criterion,\n                         const
      DatabaseContextPtr &) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_make_shared<UnrelatedObject>
      Src: /src/PROJ/test/unit/test_operation.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: createUnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 5
    functionsReached:
    - nn_make_shared<UnrelatedObject>
    linkageType: ''
    returnType: nn<std::shared_ptr<UnrelatedObject>>
    signature: nn<std::shared_ptr<UnrelatedObject>> createUnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operation.cpp:82,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:83,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:84,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:84,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:84,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:85,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:85,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:85,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operation.cpp:86,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:87,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:88,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:89,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:90,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:90,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:90,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:91,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:91,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:91,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operation.cpp:92,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:93,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:94,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:95,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:96,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:96,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:96,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:97,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:97,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - createUnrelatedObject
    - OperationMethod::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operation.cpp:105,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:106,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:107,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:107,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:109,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:109,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operation.cpp:112,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:113,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:114,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:114,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:116,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:116,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/test/unit/test_operation.cpp:119,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:120,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:121,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:121,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:123,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:123,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:126,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:126,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:126,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:127,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:127,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:127,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:129,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:129,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 131
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - OperationMethod::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, method_parameter_different_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:137,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:138,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:139,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:139,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:139,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:140,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:140,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:140,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:141,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:141,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:141,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:143,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:143,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:144,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:144,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:145,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:145,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:146,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:146,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:146,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:147,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:147,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:148,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:149,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:149,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:149,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:150,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:150,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:151,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:153,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:153,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:153,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:154,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:154,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:154,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:155,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:155,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:156,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:158,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:159,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:160,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:160,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:160,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:161,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:161,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:161,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:163,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:165,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:165,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:165,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:166,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:166,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - ParameterValue::create
    - Angle
    - createUnrelatedObject
    - EXPECT_FALSE
    - auto::isEquivalentTo
    linkageType: ''
    returnType: void
    signature: void TEST(operation, ParameterValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:173,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:174,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:175,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:176,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:177,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:177,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:177,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:178,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:178,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:178,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:179,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:179,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, OperationParameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:186,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:187,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:188,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:189,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:190,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:191,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:192,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:193,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:193,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:193,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:194,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:194,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:194,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:195,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:196,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:196,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:196,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:197,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:198,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:198,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - ParameterValue::create
    - EXPECT_TRUE
    - createUnrelatedObject
    - OperationParameterValue::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, OperationParameterValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:205,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:206,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:206,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:207,1
    - Dst: static_cast<CRSPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:208,1
    - Dst: as_nullable
      Src: /src/PROJ/test/unit/test_operation.cpp:208,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:209,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:210,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:211,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:213,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:215,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:217,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:217,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:217,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:218,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:218,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:218,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:220,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:221,1
    - Dst: auto::CoordinateOperation::shallowClone
      Src: /src/PROJ/test/unit/test_operation.cpp:221,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:222,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:222,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:223,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:225,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:226,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:226,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:227,1
    - Dst: static_cast<CRSPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:228,1
    - Dst: as_nullable
      Src: /src/PROJ/test/unit/test_operation.cpp:228,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:229,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:230,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:231,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:233,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:235,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:236,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:236,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:236,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:238,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:239,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:239,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:240,1
    - Dst: static_cast<CRSPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:241,1
    - Dst: as_nullable
      Src: /src/PROJ/test/unit/test_operation.cpp:241,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:242,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:244,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:245,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:246,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:247,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:249,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:250,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:252,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:253,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:253,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:253,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:255,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:256,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:256,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:257,1
    - Dst: static_cast<CRSPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:258,1
    - Dst: as_nullable
      Src: /src/PROJ/test/unit/test_operation.cpp:258,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:259,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:260,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:261,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:263,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:265,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:266,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:266,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 267
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - static_cast<CRSPtr>
    - auto::CoordinateOperation::shallowClone
    - createUnrelatedObject
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::inverse
    - Transformation::create
    - nn_static_pointer_cast<CRS>
    - as_nullable
    - OperationParameter::create
    - PositionalAccuracy::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(operation, SingleOperation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:273,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:274,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:276,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:278,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:279,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:280,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:281,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:283,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:284,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:287,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:288,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:290,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:292,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:293,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:294,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:295,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:297,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:298,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:301,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:302,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:304,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:306,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:307,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:308,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:309,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:311,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:312,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:315,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:315,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:315,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:316,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:317,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:317,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:318,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:319,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 320
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - Transformation::create
    - OperationParameter::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(operation, SingleOperation_different_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:325,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operation.cpp:326,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:332,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:334,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:335,1
    - Dst: static_cast<CRSPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:336,1
    - Dst: as_nullable
      Src: /src/PROJ/test/unit/test_operation.cpp:336,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:337,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:341,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:342,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:344,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:346,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:350,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_operation.cpp:351,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:352,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:352,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:357,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_operation.cpp:358,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:359,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:359,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:364,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_operation.cpp:365,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:367,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:367,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:388,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:389,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:389,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:389,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:389,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:392,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:392,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:394,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:395,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:396,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:399,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:399,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:399,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:400,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:400,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 401
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - Transformation::create
    - auto::setOutputId
    - auto::exportToWKT
    - PositionalAccuracy::create
    - static_cast<CRSPtr>
    - PropertyMap::set
    - WKTFormatter::create
    - EXPECT_THROW
    - nn_static_pointer_cast<CRS>
    - replaceAll
    - as_nullable
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_FALSE
    - exportToWKT
    - auto::isEquivalentTo
    - OperationParameter::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_to_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:407,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operation.cpp:408,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:414,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:416,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:417,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:418,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:419,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:420,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:422,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:423,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:425,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:427,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:428,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:429,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:430,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:431,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:433,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:434,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:436,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:437,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:444,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:449,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:450,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:450,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:456,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:457,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:457,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:463,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:464,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:464,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:470,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:471,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:471,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:491,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:491,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:491,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:491,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:492,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:497,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:497,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:499,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:499,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:499,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:502,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:502,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:503,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:505,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:508,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:509,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operation.cpp:509,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:510,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:510,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:510,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:511,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:511,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:511,1
    - Dst: nn_dynamic_pointer_cast<ConcatenatedOperation>
      Src: /src/PROJ/test/unit/test_operation.cpp:512,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:513,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:515,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_operation.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:516,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_operation.cpp:516,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operation.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:518,1
    - Dst: auto::operations
      Src: /src/PROJ/test/unit/test_operation.cpp:518,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_operation.cpp:518,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:521,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:521,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:521,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:522,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:522,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:522,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:523,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:523,1
    - Dst: auto::CoordinateOperation::shallowClone
      Src: /src/PROJ/test/unit/test_operation.cpp:524,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:525,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:526,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:526,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:528,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:529,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:530,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:531,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:533,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:534,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:536,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:537,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:537,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:539,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:540,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:541,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:542,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:544,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 547
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::operations
    - EXPECT_TRUE
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - nameStr
    - auto::inverse
    - auto::targetCRS
    - Transformation::create
    - auto::exportToWKT
    - PositionalAccuracy::create
    - auto::nameStr
    - ASSERT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - PropertyMap::set
    - WKTFormatter::create
    - EXPECT_THROW
    - nn_static_pointer_cast<CRS>
    - ConcatenatedOperation::create
    - replaceAll
    - nn_dynamic_pointer_cast<ConcatenatedOperation>
    - auto::sourceCRS
    - ASSERT_TRUE
    - PropertyMap
    - auto::CoordinateOperation::shallowClone
    - createUnrelatedObject
    - EXPECT_FALSE
    - exportToWKT
    - auto::isEquivalentTo
    - OperationParameter::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(operation, concatenated_operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:553,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:554,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:555,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:556,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:556,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/test/unit/test_operation.cpp:558,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:560,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:562,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:564,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:567,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:567,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:568,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:569,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:569,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:570,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:573,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/test/unit/test_operation.cpp:573,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:575,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:575,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 582
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - Transformation::createGeocentricTranslations
    - std::vector<PositionalAccuracyNNPtr>
    - EXPECT_EQ
    - auto::sourceCRS
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - auto::inverse
    - auto::targetCRS
    - auto::getTOWGS84Parameters
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createGeocentricTranslations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:587,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operation.cpp:588,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:591,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_operation.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: createGeocentricDatumWGS84
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 5
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - GeodeticCRS::create
    - CartesianCS::createGeocentric
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr createGeocentricDatumWGS84()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:599,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operation.cpp:600,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:601,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_operation.cpp:603,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_operation.cpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: createGeocentricKM
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - GeodeticCRS::create
    - CartesianCS::createGeocentric
    - UnitOfMeasure
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr createGeocentricKM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:612,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:613,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:613,1
    - Dst: createGeocentricKM
      Src: /src/PROJ/test/unit/test_operation.cpp:613,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:614,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:616,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:616,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:616,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:620,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:621,1
    - Dst: createGeocentricKM
      Src: /src/PROJ/test/unit/test_operation.cpp:621,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:621,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:622,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:624,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:624,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:624,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:628,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:629,1
    - Dst: createGeocentricKM
      Src: /src/PROJ/test/unit/test_operation.cpp:629,1
    - Dst: createGeocentricKM
      Src: /src/PROJ/test/unit/test_operation.cpp:629,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:630,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:632,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:632,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 636
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - Transformation::createGeocentricTranslations
    - std::vector<PositionalAccuracyNNPtr>
    - EXPECT_EQ
    - createGeocentricKM
    - PROJStringFormatter::create
    - createGeocentricDatumWGS84
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     transformation_createGeocentricTranslations_between_geocentricCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:642,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:643,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:643,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:644,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:645,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:647,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:647,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 650
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - Transformation::createGeocentricTranslations
    - PROJStringFormatter::create
    - auto::inverse
    - createGeocentricDatumWGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createGeocentricTranslations_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:656,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:657,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:657,1
    - Dst: createGeocentricDatumWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:658,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:659,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:661,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:661,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - Transformation::createGeocentricTranslations
    - PROJStringFormatter::create
    - auto::inverse
    - createGeocentricDatumWGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createGeocentricTranslations_neg_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:670,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:671,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:674,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:675,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:675,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:677,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operation.cpp:677,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:680,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/test/unit/test_operation.cpp:680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:682,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:682,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:682,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:691,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:692,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operation.cpp:692,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:694,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:694,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:695,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:696,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:696,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:697,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:701,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:702,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:704,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:705,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:705,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:714,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:714,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:715,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:716,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:719,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:719,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:722,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:722,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:723,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:723,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:725,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:725,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:727,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:727,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:729,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:729,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:730,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:730,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:731,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:731,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:732,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 735
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::coordinateOperationAccuracies
    - auto::inverse
    - auto::targetCRS
    - auto::exportToWKT
    - PositionalAccuracy::create
    - ASSERT_EQ
    - WKTFormatter::create
    - auto::validateParameters
    - nn_dynamic_pointer_cast<Transformation>
    - auto::exportToPROJString
    - auto::sourceCRS
    - auto::find
    - ASSERT_TRUE
    - PropertyMap
    - Transformation::createPositionVector
    - PROJStringFormatter::create
    - auto::getTOWGS84Parameters
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createPositionVector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createCoordinateFrameRotation
      Src: /src/PROJ/test/unit/test_operation.cpp:741,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:742,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:744,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:745,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:745,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/test/unit/test_operation.cpp:747,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:749,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:751,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:751,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:751,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:761,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operation.cpp:761,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:763,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:763,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:764,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:765,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:765,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:766,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:770,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:771,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:773,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:774,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:774,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:783,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:783,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:784,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:785,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:788,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:788,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:791,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:791,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:792,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:792,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:794,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:794,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:796,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:796,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:798,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:798,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:799,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:799,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:800,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:800,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:801,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 804
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::coordinateOperationAccuracies
    - auto::inverse
    - auto::targetCRS
    - auto::exportToWKT
    - ASSERT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - auto::validateParameters
    - nn_dynamic_pointer_cast<Transformation>
    - auto::exportToPROJString
    - auto::sourceCRS
    - auto::find
    - ASSERT_TRUE
    - Transformation::createCoordinateFrameRotation
    - PropertyMap
    - PROJStringFormatter::create
    - auto::getTOWGS84Parameters
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createCoordinateFrameRotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createTimeDependentPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:810,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:811,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:813,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:814,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:814,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:816,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/test/unit/test_operation.cpp:816,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:818,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:820,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:820,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:822,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:822,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:823,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:825,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/test/unit/test_operation.cpp:825,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:828,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:828,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:829,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:829,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:837,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:837,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:838,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:839,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:842,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:842,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:845,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:845,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:846,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:846,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:848,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:848,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:850,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:850,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:852,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:852,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:853,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:853,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:854,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:854,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:855,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:855,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:857,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:857,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:860,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:860,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:863,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:863,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:866,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:866,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:869,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:869,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:872,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:872,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:875,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:875,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:878,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 881
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - auto::sourceCRS
    - PROJStringFormatter::create
    - auto::find
    - auto::validateParameters
    - auto::requiresPerCoordinateInputTime
    - auto::inverse
    - auto::targetCRS
    - Transformation::createTimeDependentPositionVector
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createTimeDependentPositionVector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createTimeDependentCoordinateFrameRotation
      Src: /src/PROJ/test/unit/test_operation.cpp:887,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:888,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:890,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:891,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:891,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:893,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:895,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:895,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:896,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:897,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:897,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:898,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:901,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:901,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:902,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:902,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:910,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:910,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:911,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:912,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:915,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:915,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:918,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:918,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:919,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:919,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:921,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:921,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:923,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:923,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:925,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:925,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:926,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:926,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:927,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:927,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:928,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:928,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:930,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:930,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:933,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:933,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:936,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:936,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:939,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:939,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:942,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:942,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:945,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:945,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:948,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:948,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:951,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 954
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - auto::sourceCRS
    - PROJStringFormatter::create
    - auto::find
    - auto::validateParameters
    - auto::inverse
    - auto::targetCRS
    - Transformation::createTimeDependentCoordinateFrameRotation
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createTimeDependentCoordinateFrameRotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:960,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:961,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:962,1
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:963,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:964,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:966,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:968,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:969,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:973,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:973,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 975
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - Transformation::createPositionVector
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - PROJStringFormatter::create
    - ConcatenatedOperation::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_successive_helmert_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:981,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:982,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:983,1
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:984,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:985,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:987,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:989,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:990,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_operation.cpp:994,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:994,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 996
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - Transformation::createPositionVector
    - std::vector<PositionalAccuracyNNPtr>
    - EXPECT_NE
    - PROJStringFormatter::create
    - ConcatenatedOperation::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_successive_helmert_non_trivial_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:1002,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1003,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:1004,1
    - Dst: Transformation::createCoordinateFrameRotation
      Src: /src/PROJ/test/unit/test_operation.cpp:1005,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1006,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:1008,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1010,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1011,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_operation.cpp:1015,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1015,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1017
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - Transformation::createPositionVector
    - std::vector<PositionalAccuracyNNPtr>
    - EXPECT_NE
    - PROJStringFormatter::create
    - Transformation::createCoordinateFrameRotation
    - ConcatenatedOperation::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_successive_helmert_non_trivial_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createMolodensky
      Src: /src/PROJ/test/unit/test_operation.cpp:1023,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1024,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:1025,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1026,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1026,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1028,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1028,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1029,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:1029,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:1029,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:1034,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:1036,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1037,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1039,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1039,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1040,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1041,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1041,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1042,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1044,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1052
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - Transformation::createMolodensky
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - auto::sourceCRS
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - auto::inverse
    - auto::targetCRS
    - nn_dynamic_pointer_cast<Transformation>
    - auto::exportToWKT
    - replaceAll
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createMolodensky)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createAbridgedMolodensky
      Src: /src/PROJ/test/unit/test_operation.cpp:1058,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1059,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_operation.cpp:1060,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1062,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1062,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1063,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:1063,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:1063,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_operation.cpp:1064,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:1069,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:1071,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1072,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1074,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1074,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1075,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1076,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1076,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1077,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1079,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1080,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1087
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - auto::sourceCRS
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - auto::targetCRS
    - nn_dynamic_pointer_cast<Transformation>
    - auto::exportToWKT
    - replaceAll
    - Transformation::createAbridgedMolodensky
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createAbridgedMolodensky)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1093,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1094,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1099,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1103,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1104,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/test/unit/test_operation.cpp:1106,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1108,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:1109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1110,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:1110,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1111,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1112,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1112,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1148,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1148,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::inverse
    - EXPECT_THROW
    - Transformation::create
    - auto::exportToWKT
    - OperationParameter::create
    - PositionalAccuracy::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_inverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1155,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operation.cpp:1156,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1159,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1160,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_operation.cpp:1161,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1164,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_operation.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1167
    functionName: createVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 21
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr createVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1173,1
    - Dst: Transformation::createTOWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:1173,1
    - Dst: std::vector<double>
      Src: /src/PROJ/test/unit/test_operation.cpp:1174,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1177,1
    - Dst: Transformation::createTOWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:1177,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_operation.cpp:1177,1
    - Dst: std::vector<double>
      Src: /src/PROJ/test/unit/test_operation.cpp:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1180
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - std::vector<double>
    - createVerticalCRS
    - EXPECT_THROW
    - Transformation::createTOWGS84
    linkageType: ''
    returnType: void
    signature: void TEST(operation, transformation_createTOWGS84)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/test/unit/test_operation.cpp:1187,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1188,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1188,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/test/unit/test_operation.cpp:1191,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1192,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1192,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1195,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1196,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operation.cpp:1197,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1198,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1199,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/test/unit/test_operation.cpp:1200,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1202,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1204,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1205,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1205,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1205,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1209,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1210,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/test/unit/test_operation.cpp:1211,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1212,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1214,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1215,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1215,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1219
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_TRUE
    - EllipsoidalCS::createLongitudeLatitude
    - EXPECT_EQ
    - GeographicCRS::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - Conversion::createAxisOrderReversal
    - EllipsoidalCS::createLatitudeLongitude
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createAxisOrderReversal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_operation.cpp:1224,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1224,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1225,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1225,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1226,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1226,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1226,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1229,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1229,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1229,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1250,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1251,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1259
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - PropertyMap
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - Conversion::createUTM
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, utm_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createTransverseMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:1264,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1265,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1265,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1265,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:1265,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1265,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1265,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1266,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1266,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1267,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1267,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1267,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1271,1
    - Dst: auto::setUseApproxTMerc
      Src: /src/PROJ/test/unit/test_operation.cpp:1272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1273,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1273,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:1273,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1277,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1277,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1297,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1298,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1306
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - Conversion::createTransverseMercator
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::setUseApproxTMerc
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, tmerc_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGaussSchreiberTransverseMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:1311,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1312,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1312,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1312,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:1312,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1312,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1313,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1314,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1314,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1314,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1317,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1317,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1336,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1337,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1345
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Conversion::createGaussSchreiberTransverseMercator
    - Angle
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::exportToPROJString
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, gstmerc_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createTransverseMercatorSouthOriented
      Src: /src/PROJ/test/unit/test_operation.cpp:1350,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1351,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1351,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1351,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:1351,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1351,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1351,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1352,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1352,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1355,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1355,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1355,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1358,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1358,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1358,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1378,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1379,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1380,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:1409,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:1410,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1412,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1412,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1415
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    - Conversion::createTransverseMercatorSouthOriented
    linkageType: ''
    returnType: void
    signature: void TEST(operation, tmerc_south_oriented_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:1433,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:1434,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1435,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1436,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1436,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1439
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, tmerc_south_oriented_export_esri_102470)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createTwoPointEquidistant
      Src: /src/PROJ/test/unit/test_operation.cpp:1444,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1445,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1445,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1445,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1445,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1445,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1445,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1446,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1447,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1447,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1449,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1449,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1449,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1452,1
    - Dst: auto::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_operation.cpp:1453,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1454,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1454,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:1454,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1472,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1473,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1482
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - Conversion::createTwoPointEquidistant
    - auto::exportToWKT
    - auto::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(operation, tped_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createTunisiaMiningGrid
      Src: /src/PROJ/test/unit/test_operation.cpp:1487,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1488,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1488,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1488,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1488,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1488,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1489,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1489,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1491,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1491,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1494,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1494,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1494,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1511,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1512,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1519
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createTunisiaMiningGrid
    - auto::validateParameters
    - EXPECT_THROW
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, tmg_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createAlbersEqualArea
      Src: /src/PROJ/test/unit/test_operation.cpp:1524,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1524,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1524,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1525,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1525,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1525,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1526,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1526,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1527,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1527,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1529,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1529,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1532,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1532,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1532,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1555,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1556,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1565
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Conversion::createAlbersEqualArea
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, aea_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createAzimuthalEquidistant
      Src: /src/PROJ/test/unit/test_operation.cpp:1570,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1571,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1571,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1571,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1571,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1571,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1572,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1574,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1574,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1574,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1577,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1577,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1577,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1594,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1595,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1602
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Conversion::createAzimuthalEquidistant
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, azimuthal_equidistant_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGuamProjection
      Src: /src/PROJ/test/unit/test_operation.cpp:1607,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1608,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1608,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1608,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1608,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1608,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1609,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1609,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1611,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1611,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1611,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1614,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1614,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1614,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1631,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1632,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1635
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createGuamProjection
    - auto::validateParameters
    - EXPECT_THROW
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, guam_projection_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createBonne
      Src: /src/PROJ/test/unit/test_operation.cpp:1640,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1640,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1640,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1640,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1641,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1641,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1642,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1642,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1644,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1644,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1644,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1647,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1647,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1647,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1664,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1665,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1666,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:1673,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:1686,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1687,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1688,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1688,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1691
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::validateParameters
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - Conversion::createBonne
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, bonne_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertCylindricalEqualAreaSpherical
      Src: /src/PROJ/test/unit/test_operation.cpp:1696,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1697,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1697,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1697,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1697,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1697,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1698,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1698,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1700,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1700,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1700,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1703,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1703,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1703,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1720,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1721,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1728
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Conversion::createLambertCylindricalEqualAreaSpherical
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lambert_cylindrical_equal_area_spherical_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertCylindricalEqualArea
      Src: /src/PROJ/test/unit/test_operation.cpp:1733,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1734,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1734,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1734,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1734,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1734,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1735,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1735,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1737,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1737,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1737,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1740,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1740,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1740,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1757,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1758,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1765
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - Conversion::createLambertCylindricalEqualArea
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lambert_cylindrical_equal_area_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/test/unit/test_operation.cpp:1770,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1771,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1771,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1771,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:1771,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1771,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1771,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1772,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1772,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1774,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1774,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1774,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1777,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1777,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1777,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1797,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1798,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1769
    functionDepth: 1
    functionLinenumber: 1769
    functionLinenumberEnd: 1806
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createLambertConicConformal_1SP
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc1sp_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertConicConformal_1SP_VariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:1811,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1812,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1812,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:1812,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1812,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1812,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1812,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1813,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1814,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1814,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1816,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1816,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1816,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1819,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1819,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1841
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - Conversion::createLambertConicConformal_1SP_VariantB
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc1sp_variant_b_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:1846,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1847,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1847,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1847,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1847,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1847,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1847,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1848,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1849,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1849,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1851,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1851,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1851,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1854,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1854,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1854,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1877,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1878,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1887
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:1892,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1893,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1893,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1893,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1893,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1893,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1893,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1894,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:1895,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1896,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1896,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1896,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1896,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1896,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1896,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1897,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1899,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:1900,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:1900,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:1902,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1903,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1903,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1903,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1903,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1903,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1903,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1904,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:1906,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:1907,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:1907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1908
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_isEquivalentTo_parallels_switched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertConicConformal_2SP_Michigan
      Src: /src/PROJ/test/unit/test_operation.cpp:1913,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1914,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1914,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1914,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1914,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1914,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1914,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1915,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:1915,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:1916,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:1916,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1918,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1919,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1919,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1922,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1922,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1922,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:1948,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1949,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1952
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - EXPECT_THROW
    - auto::exportToWKT
    - Conversion::createLambertConicConformal_2SP_Michigan
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_michigan_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertConicConformal_2SP_Belgium
      Src: /src/PROJ/test/unit/test_operation.cpp:1957,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:1958,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1958,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1958,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1958,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:1958,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1958,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:1959,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1960,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:1960,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1960,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1963,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1963,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:1986,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:1987,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1996
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createLambertConicConformal_2SP_Belgium
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_belgium_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createCassiniSoldner
      Src: /src/PROJ/test/unit/test_operation.cpp:2001,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2002,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2002,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2002,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2002,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2002,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2003,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2005,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2005,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2008,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2008,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2008,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2025,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2026,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2033
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - Conversion::createCassiniSoldner
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, cassini_soldner_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createEquidistantConic
      Src: /src/PROJ/test/unit/test_operation.cpp:2038,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2038,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2038,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2039,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2039,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2039,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2040,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2040,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2041,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2041,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2043,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2043,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2043,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2046,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2046,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2046,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2069,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2070,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2079
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createEquidistantConic
    linkageType: ''
    returnType: void
    signature: void TEST(operation, equidistant_conic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createEckertI
      Src: /src/PROJ/test/unit/test_operation.cpp:2091,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2091,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2091,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2092,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2092,1
    - Dst: Conversion::createEckertII
      Src: /src/PROJ/test/unit/test_operation.cpp:2093,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2093,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2093,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2094,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2094,1
    - Dst: Conversion::createEckertIII
      Src: /src/PROJ/test/unit/test_operation.cpp:2095,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2095,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2095,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2096,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2096,1
    - Dst: Conversion::createEckertIV
      Src: /src/PROJ/test/unit/test_operation.cpp:2097,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2097,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2097,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2098,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2098,1
    - Dst: Conversion::createEckertV
      Src: /src/PROJ/test/unit/test_operation.cpp:2099,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2099,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2099,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2100,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2100,1
    - Dst: Conversion::createEckertVI
      Src: /src/PROJ/test/unit/test_operation.cpp:2103,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2103,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2103,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2104,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2104,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2106,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2106,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2108,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2108,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2111,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2111,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2127,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2127,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2136
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Conversion::createEckertIV
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - Conversion::createEckertI
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createEckertIII
    - Conversion::createEckertV
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createEckertVI
    - Conversion::createEckertII
    linkageType: ''
    returnType: void
    signature: void TEST(operation, eckert_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createEquidistantCylindrical
      Src: /src/PROJ/test/unit/test_operation.cpp:2141,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2142,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2142,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2142,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2142,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2143,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2143,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2145,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2145,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2145,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2148,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2148,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2148,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2165,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2166,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2167,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2174,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2140
    functionDepth: 1
    functionLinenumber: 2140
    functionLinenumberEnd: 2175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - Conversion::createEquidistantCylindrical
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createEquidistantCylindrical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createEquidistantCylindricalSpherical
      Src: /src/PROJ/test/unit/test_operation.cpp:2180,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2181,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2181,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2181,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2181,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2181,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2182,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2182,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2184,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2184,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2184,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2187,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2187,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2187,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2204,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2205,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2206,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2213,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2214
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createEquidistantCylindricalSpherical
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createEquidistantCylindricalSpherical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operation.cpp:2220,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:2222,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2223,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2225,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2225,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2226,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:2226,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2230,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2231,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2218
    functionDepth: 1
    functionLinenumber: 2218
    functionLinenumberEnd: 2236
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, equidistant_cylindrical_lat_0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGall
      Src: /src/PROJ/test/unit/test_operation.cpp:2243,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2243,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2243,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2243,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2243,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2244,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2246,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2246,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2249,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2249,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2249,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2262,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2263,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2240
    functionDepth: 1
    functionLinenumber: 2240
    functionLinenumberEnd: 2269
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createGall
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, gall_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGoodeHomolosine
      Src: /src/PROJ/test/unit/test_operation.cpp:2275,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2275,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2275,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2276,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2276,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2277,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2279,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2279,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2279,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2282,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2282,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2282,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2295,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2296,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2302
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createGoodeHomolosine
    linkageType: ''
    returnType: void
    signature: void TEST(operation, goode_homolosine_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createInterruptedGoodeHomolosine
      Src: /src/PROJ/test/unit/test_operation.cpp:2308,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2309,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2309,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2309,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2309,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2310,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2310,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2312,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2312,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2312,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2315,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2315,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2315,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2328,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2329,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2306
    functionDepth: 1
    functionLinenumber: 2306
    functionLinenumberEnd: 2335
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createInterruptedGoodeHomolosine
    linkageType: ''
    returnType: void
    signature: void TEST(operation, interrupted_goode_homolosine_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGeostationarySatelliteSweepX
      Src: /src/PROJ/test/unit/test_operation.cpp:2341,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2342,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2342,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2342,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2342,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2342,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2343,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2343,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2345,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2345,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2345,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2348,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2348,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2348,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2364,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2365,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:2366,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2367,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2368,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2369,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:2369,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2372,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2376
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - Conversion::createGeostationarySatelliteSweepX
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::find
    - PROJStringFormatter::create
    - CartesianCS::createEastingNorthing
    - auto::validateParameters
    - auto::exportToWKT
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geostationary_satellite_sweep_x_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGeostationarySatelliteSweepY
      Src: /src/PROJ/test/unit/test_operation.cpp:2382,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2383,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2383,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2383,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2383,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2383,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2384,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2386,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2386,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2389,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2389,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2405,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2406,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2413
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createGeostationarySatelliteSweepY
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geostationary_satellite_sweep_y_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGnomonic
      Src: /src/PROJ/test/unit/test_operation.cpp:2418,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2418,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2418,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2418,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2419,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2419,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2420,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2420,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2422,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2422,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2422,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2425,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2425,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2425,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2441,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2442,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2449
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - Conversion::createGnomonic
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, gnomonic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createHotineObliqueMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:2454,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2455,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2455,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2455,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2455,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2455,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2455,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2456,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2456,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2457,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2457,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2459,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2459,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2459,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2463,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2463,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2489,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2490,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2453
    functionDepth: 1
    functionLinenumber: 2453
    functionLinenumberEnd: 2500
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createHotineObliqueMercatorVariantA
    linkageType: ''
    returnType: void
    signature: void TEST(operation, hotine_oblique_mercator_variant_A_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createHotineObliqueMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:2505,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2506,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2506,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2506,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2506,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2506,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2506,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2507,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2507,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2508,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2508,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2504
    functionDepth: 1
    functionLinenumber: 2504
    functionLinenumberEnd: 2511
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - auto::exportToPROJString
    - Angle
    - EXPECT_EQ
    - PROJStringFormatter::create
    - Conversion::createHotineObliqueMercatorVariantA
    linkageType: ''
    returnType: void
    signature: void TEST(operation, hotine_oblique_mercator_variant_A_export_swiss_mercator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createHotineObliqueMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:2516,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2517,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2517,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2517,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2517,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2517,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2517,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2518,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2518,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2519,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2521,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2521,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2521,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2525,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2525,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2525,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2551,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2552,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2515
    functionDepth: 1
    functionLinenumber: 2515
    functionLinenumberEnd: 2562
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createHotineObliqueMercatorVariantB
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, hotine_oblique_mercator_variant_B_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createHotineObliqueMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:2567,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2568,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2568,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2568,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2568,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2568,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2568,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2569,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2570,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2570,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2566
    functionDepth: 1
    functionLinenumber: 2566
    functionLinenumberEnd: 2573
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - auto::exportToPROJString
    - Angle
    - EXPECT_EQ
    - PROJStringFormatter::create
    - Conversion::createHotineObliqueMercatorVariantB
    linkageType: ''
    returnType: void
    signature: void TEST(operation, hotine_oblique_mercator_variant_B_export_swiss_mercator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
      Src: /src/PROJ/test/unit/test_operation.cpp:2578,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2579,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2579,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2579,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2579,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2579,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2579,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2580,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2580,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2580,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2581,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2583,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2583,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2583,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2587,1
    - Dst: auto::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_operation.cpp:2588,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2589,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2590,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:2590,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2614,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2615,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2626
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
    - EXPECT_EQ
    - auto::exportToPROJString
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - auto::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(operation, hotine_oblique_mercator_two_point_natural_origin_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLabordeObliqueMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:2631,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2632,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2632,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2632,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2632,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2632,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2632,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2633,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2634,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2634,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2636,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2636,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2636,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2639,1
    - Dst: auto::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_operation.cpp:2640,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2641,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2641,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:2641,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2664,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2665,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2630
    functionDepth: 1
    functionLinenumber: 2630
    functionLinenumberEnd: 2674
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createLabordeObliqueMercator
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - auto::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(operation, laborde_oblique_mercator_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createInternationalMapWorldPolyconic
      Src: /src/PROJ/test/unit/test_operation.cpp:2679,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2680,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2680,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2680,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2680,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2680,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2680,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2681,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2681,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2683,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2683,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2683,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2686,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2686,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2686,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2705,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2706,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2714
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - Conversion::createInternationalMapWorldPolyconic
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, imw_polyconic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createKrovakNorthOriented
      Src: /src/PROJ/test/unit/test_operation.cpp:2719,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2720,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2720,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2720,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2720,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2721,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2721,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2721,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2721,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2722,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2722,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2724,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2724,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2724,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2728,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2729,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2729,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2755,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2756,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2718
    functionDepth: 1
    functionLinenumber: 2718
    functionLinenumberEnd: 2766
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Conversion::createKrovakNorthOriented
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, krovak_north_oriented_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createKrovak
      Src: /src/PROJ/test/unit/test_operation.cpp:2771,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2772,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2772,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2772,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2772,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2773,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2773,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2773,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2773,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2774,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2774,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2776,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2776,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2776,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2781,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2782,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2782,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2808,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2809,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2770
    functionDepth: 1
    functionLinenumber: 2770
    functionLinenumberEnd: 2819
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createKrovak
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, krovak_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLambertAzimuthalEqualArea
      Src: /src/PROJ/test/unit/test_operation.cpp:2824,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2825,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2825,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2825,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2825,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2825,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2826,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2826,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2828,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2828,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2828,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2831,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2831,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2831,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2848,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2849,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2823
    functionDepth: 1
    functionLinenumber: 2823
    functionLinenumberEnd: 2856
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createLambertAzimuthalEqualArea
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lambert_azimuthal_equal_area_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMillerCylindrical
      Src: /src/PROJ/test/unit/test_operation.cpp:2861,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2861,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2861,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2862,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2862,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2863,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2863,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2865,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2865,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2865,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2868,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2868,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2868,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2881,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2882,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2888
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - Conversion::createMillerCylindrical
    - PropertyMap
    - Angle
    - EXPECT_TRUE
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, miller_cylindrical_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:2893,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2894,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2894,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2894,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2894,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2894,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2894,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2895,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:2895,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2897,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2897,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2897,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2900,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2900,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2900,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2920,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2921,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2892
    functionDepth: 1
    functionLinenumber: 2892
    functionLinenumberEnd: 2928
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - Conversion::createMercatorVariantA
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:2933,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2934,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2934,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2934,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2934,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2934,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2934,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:2936,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:2936,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2932
    functionDepth: 1
    functionLinenumber: 2932
    functionLinenumberEnd: 2938
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - auto::exportToPROJString
    - Angle
    - Conversion::createMercatorVariantA
    - PROJStringFormatter::create
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_export_latitude_origin_non_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:2955,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:2956,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2957,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:2959,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:2960,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2961,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2961,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2962,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:2962,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2962,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2962,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:2964,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2964,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2964,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:2965,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:2965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2942
    functionDepth: 1
    functionLinenumber: 2942
    functionLinenumberEnd: 2966
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createMercatorVariantA
    - WKTFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wkt1_import_mercator_variant_A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:2985,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:2986,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2987,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:2989,1
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:2990,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:2991,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2991,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:2992,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2992,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:2992,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:2994,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:2994,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:2994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2970
    functionDepth: 1
    functionLinenumber: 2970
    functionLinenumberEnd: 2996
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - Conversion::createMercatorVariantB
    - auto::isEquivalentTo
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wkt1_import_mercator_variant_A_that_is_variant_B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:3001,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3002,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3002,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3002,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3002,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3002,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3003,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3003,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3005,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3005,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3008,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3008,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3008,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3025,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3026,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3033
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createMercatorVariantB
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_B_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3038,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3060,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3061,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:3063,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3063,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3037
    functionDepth: 1
    functionLinenumber: 3037
    functionLinenumberEnd: 3065
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, odd_mercator_1sp_with_non_null_latitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3070,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3092,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3093,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:3095,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3095,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 3069
    functionDepth: 1
    functionLinenumber: 3069
    functionLinenumberEnd: 3097
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, odd_mercator_2sp_with_latitude_of_origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createPopularVisualisationPseudoMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:3102,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3103,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3103,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3103,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3103,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3103,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3104,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3104,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3106,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3106,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3106,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3109,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3109,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3109,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3126,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3127,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:3129,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3131,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3132,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3133,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3159,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3161,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3162,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3162,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3162,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3167,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3168,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3101
    functionDepth: 1
    functionLinenumber: 3101
    functionLinenumberEnd: 3171
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - Conversion::createPopularVisualisationPseudoMercator
    - WKTFormatter::create
    - PROJStringFormatter::create
    - CartesianCS::createEastingNorthing
    - auto::validateParameters
    - ASSERT_TRUE
    - auto::exportToWKT
    - ProjectedCRS::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, webmerc_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3177,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3178,1
    - Dst: Conversion::createPopularVisualisationPseudoMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:3180,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3181,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3181,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3181,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3181,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3181,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:3182,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3184,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3185,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3186,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3187,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3188,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3192,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3192,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3175
    functionDepth: 1
    functionLinenumber: 3175
    functionLinenumberEnd: 3208
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createPopularVisualisationPseudoMercator
    - WKTFormatter::create
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - ProjectedCRS::create
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, webmerc_import_from_GDAL_wkt1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3214,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3215,1
    - Dst: Conversion::createPopularVisualisationPseudoMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:3220,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3221,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3221,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3221,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3221,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3221,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:3222,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3224,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3225,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3226,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_operation.cpp:3226,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3227,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3228,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3229,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3230,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_operation.cpp:3230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3212
    functionDepth: 1
    functionLinenumber: 3212
    functionLinenumberEnd: 3231
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - Conversion::createPopularVisualisationPseudoMercator
    - WKTFormatter::create
    - auto::find
    - CartesianCS::createEastingNorthing
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::identifiers
    - ProjectedCRS::create
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, webmerc_import_from_GDAL_wkt1_with_EPSG_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3263,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3264,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3267,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3268,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3268,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3274,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3274,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3235
    functionDepth: 1
    functionLinenumber: 3235
    functionLinenumberEnd: 3290
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, webmerc_import_from_GDAL_wkt1_EPSG_3785_deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3329,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3330,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3331,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3333,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3334,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3338,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3339,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3343,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3344,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3345,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3294
    functionDepth: 1
    functionLinenumber: 3294
    functionLinenumberEnd: 3366
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, webmerc_import_from_WKT2_EPSG_3785_deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3382,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3383,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3384,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3386,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3388,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3388,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3370
    functionDepth: 1
    functionLinenumber: 3370
    functionLinenumberEnd: 3404
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, webmerc_import_from_broken_esri_WGS_84_Pseudo_Mercator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMercatorSpherical
      Src: /src/PROJ/test/unit/test_operation.cpp:3409,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3410,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3410,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3410,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3410,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3410,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3411,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3411,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3413,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3413,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3413,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3416,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3416,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3408
    functionDepth: 1
    functionLinenumber: 3408
    functionLinenumberEnd: 3432
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createMercatorSpherical
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_spherical_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3471,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3472,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3475,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3475,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3475,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3479,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3480,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3436
    functionDepth: 1
    functionLinenumber: 3436
    functionLinenumberEnd: 3483
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_spherical_import)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMollweide
      Src: /src/PROJ/test/unit/test_operation.cpp:3489,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3489,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3489,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3489,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3490,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3491,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3491,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3493,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3493,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3496,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3496,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3496,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3509,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3510,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3487
    functionDepth: 1
    functionLinenumber: 3487
    functionLinenumberEnd: 3516
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - Conversion::createMollweide
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mollweide_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createNewZealandMappingGrid
      Src: /src/PROJ/test/unit/test_operation.cpp:3520,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3521,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3521,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3521,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3521,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3521,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3522,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3524,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3524,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3524,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3527,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3527,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3527,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3544,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3545,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3519
    functionDepth: 1
    functionLinenumber: 3519
    functionLinenumberEnd: 3552
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - Conversion::createNewZealandMappingGrid
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, nzmg_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createObliqueStereographic
      Src: /src/PROJ/test/unit/test_operation.cpp:3557,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3558,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3558,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3558,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:3558,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3558,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3558,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3559,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3561,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3561,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3561,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3564,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3564,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3564,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3584,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3585,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3556
    functionDepth: 1
    functionLinenumber: 3556
    functionLinenumberEnd: 3593
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createObliqueStereographic
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, oblique_stereographic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createOrthographic
      Src: /src/PROJ/test/unit/test_operation.cpp:3598,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3598,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3598,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3599,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3599,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3599,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3600,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3600,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3602,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3602,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3602,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3605,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3605,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3605,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3622,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3623,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3597
    functionDepth: 1
    functionLinenumber: 3597
    functionLinenumberEnd: 3630
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createOrthographic
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, orthographic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createLocalOrthographic
      Src: /src/PROJ/test/unit/test_operation.cpp:3635,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3636,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3636,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3636,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3636,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:3636,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3636,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3637,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3638,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3638,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3640,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3640,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3640,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3643,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3643,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3666,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3667,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3634
    functionDepth: 1
    functionLinenumber: 3634
    functionLinenumberEnd: 3676
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Conversion::createLocalOrthographic
    - Angle
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::exportToPROJString
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, local_orthographic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createAmericanPolyconic
      Src: /src/PROJ/test/unit/test_operation.cpp:3681,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3682,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3682,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3682,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3682,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3682,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3683,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3683,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3685,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3685,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3685,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3688,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3688,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3705,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3706,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3680
    functionDepth: 1
    functionLinenumber: 3680
    functionLinenumberEnd: 3713
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createAmericanPolyconic
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, american_polyconic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createPolarStereographicVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:3718,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3719,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3719,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3719,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:3719,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3719,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3719,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3720,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3720,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3722,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3722,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3722,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3725,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3725,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3725,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3745,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3746,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3754
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createPolarStereographicVariantA
    linkageType: ''
    returnType: void
    signature: void TEST(operation, polar_stereographic_variant_A_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createPolarStereographicVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:3759,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3760,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3760,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3760,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3760,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3760,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3761,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3761,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3763,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3763,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3763,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3766,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3766,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3766,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3783,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3784,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3791
      start: 3758
    functionDepth: 1
    functionLinenumber: 3758
    functionLinenumberEnd: 3791
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - Conversion::createPolarStereographicVariantB
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, polar_stereographic_variant_B_export_positive_lat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createPolarStereographicVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:3796,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3797,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3797,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3797,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3797,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3797,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3799,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3799,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3801
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - Angle
    - Conversion::createPolarStereographicVariantB
    - EXPECT_EQ
    - PROJStringFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, polar_stereographic_variant_B_export_negative_lat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3819,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3820,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3821,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3823,1
    - Dst: Conversion::createPolarStereographicVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:3824,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3825,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3825,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3826,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:3826,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3826,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3826,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3828,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3828,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3828,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3829,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3805
    functionDepth: 1
    functionLinenumber: 3805
    functionLinenumberEnd: 3830
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    - Conversion::createPolarStereographicVariantA
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wkt1_import_polar_stereographic_variantA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3848,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3849,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3850,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3852,1
    - Dst: Conversion::createPolarStereographicVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:3853,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3854,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3854,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3855,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3855,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3855,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3857,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3857,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3857,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3858,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3834
    functionDepth: 1
    functionLinenumber: 3834
    functionLinenumberEnd: 3859
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Conversion::createPolarStereographicVariantB
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wkt1_import_polar_stereographic_variantB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3877,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3878,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3879,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3881,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3882,1
    - Dst: auto::method
      Src: /src/PROJ/test/unit/test_operation.cpp:3882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3883
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::method
    - EXPECT_EQ
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wkt1_import_polar_stereographic_ambiguous)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:3905,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:3906,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3907,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:3909,1
    - Dst: Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
      Src: /src/PROJ/test/unit/test_operation.cpp:3910,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3911,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3911,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3911,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3911,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3911,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3911,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:3912,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3912,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3912,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3914,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3915,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3916,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3917,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3887
    functionDepth: 1
    functionLinenumber: 3887
    functionLinenumberEnd: 3919
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wkt1_import_equivalent_parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createRobinson
      Src: /src/PROJ/test/unit/test_operation.cpp:3925,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3925,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3925,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3925,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3926,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3927,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3927,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3929,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3929,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3929,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3932,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3932,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3932,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3945,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3946,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3952
      start: 3923
    functionDepth: 1
    functionLinenumber: 3923
    functionLinenumberEnd: 3952
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createRobinson
    linkageType: ''
    returnType: void
    signature: void TEST(operation, robinson_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createSinusoidal
      Src: /src/PROJ/test/unit/test_operation.cpp:3958,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3958,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3958,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3958,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3959,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3960,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3960,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3962,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3962,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3962,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3965,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3965,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3965,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3978,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3979,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3985
      start: 3956
    functionDepth: 1
    functionLinenumber: 3956
    functionLinenumberEnd: 3985
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - Conversion::createSinusoidal
    linkageType: ''
    returnType: void
    signature: void TEST(operation, sinusoidal_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createStereographic
      Src: /src/PROJ/test/unit/test_operation.cpp:3990,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:3991,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3991,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:3991,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:3991,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3991,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:3991,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:3992,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:3992,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3994,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:3994,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3994,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:3997,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:3997,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:3997,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4016,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4017,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 3989
    functionDepth: 1
    functionLinenumber: 3989
    functionLinenumberEnd: 4025
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createStereographic
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, stereographic_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createVanDerGrinten
      Src: /src/PROJ/test/unit/test_operation.cpp:4031,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4031,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4031,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4032,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4032,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4033,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:4033,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4035,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4035,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4035,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4038,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4038,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4038,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4051,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4052,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4029
    functionDepth: 1
    functionLinenumber: 4029
    functionLinenumberEnd: 4058
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createVanDerGrinten
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vandergrinten_export)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createWagnerI
      Src: /src/PROJ/test/unit/test_operation.cpp:4072,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4072,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4072,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4073,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4073,1
    - Dst: Conversion::createWagnerII
      Src: /src/PROJ/test/unit/test_operation.cpp:4074,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4074,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4074,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4075,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4075,1
    - Dst: Conversion::createWagnerIV
      Src: /src/PROJ/test/unit/test_operation.cpp:4076,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4076,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4076,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4077,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4077,1
    - Dst: Conversion::createWagnerV
      Src: /src/PROJ/test/unit/test_operation.cpp:4078,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4078,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4078,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4079,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4079,1
    - Dst: Conversion::createWagnerVI
      Src: /src/PROJ/test/unit/test_operation.cpp:4082,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4082,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4082,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4083,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4083,1
    - Dst: Conversion::createWagnerVII
      Src: /src/PROJ/test/unit/test_operation.cpp:4086,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4086,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4086,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4087,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4087,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4088,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:4088,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4090,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4090,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4090,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4093,1
    - Dst: auto::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_operation.cpp:4094,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4095,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4095,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4095,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4111,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4111,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4120
      start: 4062
    functionDepth: 1
    functionLinenumber: 4062
    functionLinenumberEnd: 4120
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - Conversion::createWagnerV
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::validateParameters
    - Conversion::createWagnerI
    - Conversion::createWagnerIV
    - Conversion::createWagnerII
    - auto::exportToWKT
    - Conversion::createWagnerVI
    - auto::simulCurNodeHasId
    - Conversion::createWagnerVII
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wagner_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createWagnerIII
      Src: /src/PROJ/test/unit/test_operation.cpp:4126,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4126,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4126,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4126,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4127,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4129,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4129,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4129,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4132,1
    - Dst: auto::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_operation.cpp:4133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4134,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4134,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4149,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4150,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4124
    functionDepth: 1
    functionLinenumber: 4124
    functionLinenumberEnd: 4157
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - Length
    - Conversion::createWagnerIII
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::exportToWKT
    - auto::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(operation, wagnerIII_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createQuadrilateralizedSphericalCube
      Src: /src/PROJ/test/unit/test_operation.cpp:4163,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4164,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4164,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4164,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4164,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4165,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:4165,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4167,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4167,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4167,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4170,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4170,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4170,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4186,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4187,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4194
      start: 4161
    functionDepth: 1
    functionLinenumber: 4161
    functionLinenumberEnd: 4194
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - EXPECT_TRUE
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createQuadrilateralizedSphericalCube
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, qsc_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createSphericalCrossTrackHeight
      Src: /src/PROJ/test/unit/test_operation.cpp:4200,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4201,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4201,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4201,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4201,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4201,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4202,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:4202,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4204,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4204,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4204,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4207,1
    - Dst: auto::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_operation.cpp:4208,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4209,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4209,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4221,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4222,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4198
    functionDepth: 1
    functionLinenumber: 4198
    functionLinenumberEnd: 4229
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - Conversion::createSphericalCrossTrackHeight
    - PROJStringFormatter::create
    - auto::validateParameters
    - auto::exportToWKT
    - auto::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(operation, sch_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createTransverseMercator
      Src: /src/PROJ/test/unit/test_operation.cpp:4234,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4235,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4235,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4235,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4235,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4235,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4235,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:4236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4237,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:4237,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4238,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4238,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4238,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4258,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4258,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4258,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4262,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4262,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4262,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4263,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4263,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_operation.cpp:4263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4265,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4266,1
    - Dst: auto::CoordinateOperation::shallowClone
      Src: /src/PROJ/test/unit/test_operation.cpp:4266,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4267,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4268,1
    - Dst: auto::CoordinateOperation::shallowClone
      Src: /src/PROJ/test/unit/test_operation.cpp:4268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4269
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - Length
    - PropertyMap
    - auto::exportToPROJString
    - Angle
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - auto::CoordinateOperation::shallowClone
    - Conversion::createTransverseMercator
    - WKTFormatter::create
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - auto::isEquivalentTo
    - auto::inverse
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, conversion_inverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createEqualEarth
      Src: /src/PROJ/test/unit/test_operation.cpp:4275,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4275,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4275,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4275,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4276,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4278,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4278,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4278,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4281,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4281,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4294
      start: 4273
    functionDepth: 1
    functionLinenumber: 4273
    functionLinenumberEnd: 4294
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - Conversion::createEqualEarth
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, eqearth_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createVerticalPerspective
      Src: /src/PROJ/test/unit/test_operation.cpp:4300,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4301,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4301,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4301,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4301,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4301,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4301,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4302,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4304,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4304,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4307,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4307,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4329
      start: 4298
    functionDepth: 1
    functionLinenumber: 4298
    functionLinenumberEnd: 4329
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createVerticalPerspective
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, vertical_perspective_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createVerticalPerspective
      Src: /src/PROJ/test/unit/test_operation.cpp:4337,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4338,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4338,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4338,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4338,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4338,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4338,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4341,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4341,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4341,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4346,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4346,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4362
      start: 4333
    functionDepth: 1
    functionLinenumber: 4333
    functionLinenumberEnd: 4362
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createVerticalPerspective
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    vertical_perspective_export_no_topocentric_height_and_false_easting_northing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_operation.cpp:4372,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:4373,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4375,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4375,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4366
    functionDepth: 1
    functionLinenumber: 4366
    functionLinenumberEnd: 4377
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, laborde_oblique_mercator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4382,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4386,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4386,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4389
      start: 4381
    functionDepth: 1
    functionLinenumber: 4381
    functionLinenumberEnd: 4389
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, adams_ws2_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4394,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4396,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4398,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4398,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4402
      start: 4393
    functionDepth: 1
    functionLinenumber: 4393
    functionLinenumberEnd: 4402
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, spilhaus_esri_export)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4407,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4409,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4410,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4410,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4414
      start: 4406
    functionDepth: 1
    functionLinenumber: 4406
    functionLinenumberEnd: 4414
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, hyperbolic_cassini_soldner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/test/unit/test_operation.cpp:4419,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4419,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4422,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4422,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4422,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4425,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4425,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4425,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4429,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:4429,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4430,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4436,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/test/unit/test_operation.cpp:4437,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4437,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4438,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:4441,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/test/unit/test_operation.cpp:4441,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4442,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4418
    functionDepth: 1
    functionLinenumber: 4418
    functionLinenumberEnd: 4446
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - SingleOperation::createPROJBased
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::inverse
    - EXPECT_THROW
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, PROJ_based)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/test/unit/test_operation.cpp:4452,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4452,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4454,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4454,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4454,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4457,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4457,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4457,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_operation.cpp:4461,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:4462,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4463,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4466,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:4466,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4469
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4469
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - SingleOperation::createPROJBased
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::inverse
    - EXPECT_THROW
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(operation, PROJ_based_empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/test/unit/test_operation.cpp:4474,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4475,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4478,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4478,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4473
    functionDepth: 1
    functionLinenumber: 4473
    functionLinenumberEnd: 4480
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - SingleOperation::createPROJBased
    - PROJStringFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, PROJ_based_with_global_parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:4528,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:4529,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4530,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4531,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operation.cpp:4532,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4533,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4534,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4534,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4484
    functionDepth: 1
    functionLinenumber: 4484
    functionLinenumberEnd: 4540
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - NN_CHECK_ASSERT
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geographic_topocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4588,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:4590,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:4591,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4592,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4595,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_operation.cpp:4596,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4597,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4598,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:4598,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4601
      start: 4544
    functionDepth: 1
    functionLinenumber: 4544
    functionLinenumberEnd: 4601
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - NN_CHECK_ASSERT
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, geocentric_topocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4606,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4607,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:4608,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4608,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4608,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4608,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4609,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4609,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4609,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4610,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4612,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4614,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4615,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4616,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4616,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4616,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4619,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4620,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4622,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4624,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4626,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4626,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4631,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4631,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4635,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4635,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4639,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4640,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4640,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4641,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4641,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4641,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4643,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4643,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4645
      start: 4605
    functionDepth: 1
    functionLinenumber: 4605
    functionLinenumberEnd: 4645
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_EQ
    - Conversion::createMercatorVariantA
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - auto::convertToOtherMethod
    - ASSERT_TRUE
    - auto::isEquivalentTo
    - auto::parameterValueNumeric
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_to_variant_B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4650,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4651,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:4652,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4652,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4652,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4652,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4653,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4653,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4653,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4654,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4656,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4658,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4660,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4663
      start: 4649
    functionDepth: 1
    functionLinenumber: 4649
    functionLinenumberEnd: 4663
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createMercatorVariantA
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ASSERT_TRUE
    - auto::parameterValueNumeric
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_to_variant_B_scale_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:4669,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4669,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4669,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4669,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4670,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4670,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4670,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4673
      start: 4667
    functionDepth: 1
    functionLinenumber: 4667
    functionLinenumberEnd: 4673
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantA
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_to_variant_B_no_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4678,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4679,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:4680,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4680,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4680,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4680,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4681,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4681,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4681,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4682,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4684,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4687
      start: 4677
    functionDepth: 1
    functionLinenumber: 4677
    functionLinenumberEnd: 4687
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantA
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_to_variant_B_invalid_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4692,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4693,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4694,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4695,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_operation.cpp:4696,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4696,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4696,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4697,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_operation.cpp:4698,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_operation.cpp:4699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4691
    functionDepth: 1
    functionLinenumber: 4691
    functionLinenumberEnd: 4700
    functionName: geographicCRSInvalidEccentricity
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Ellipsoid::createFlattenedSphere
    - GeographicCRS::create
    - EllipsoidalCS::createLatitudeLongitude
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr geographicCRSInvalidEccentricity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4705,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4706,1
    - Dst: geographicCRSInvalidEccentricity
      Src: /src/PROJ/test/unit/test_operation.cpp:4706,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:4707,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4707,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4707,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4707,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:4708,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4708,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4708,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4709,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4711,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4714
      start: 4704
    functionDepth: 2
    functionLinenumber: 4704
    functionLinenumberEnd: 4714
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantA
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - geographicCRSInvalidEccentricity
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_A_to_variant_B_invalid_eccentricity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4719,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4720,1
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:4721,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4721,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4722,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4722,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4723,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4723,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4724,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4725,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4727,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4729,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4729,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4734,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4734,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4739,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4742,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4744,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4744,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:4748,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4718
    functionDepth: 1
    functionLinenumber: 4718
    functionLinenumberEnd: 4751
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - Conversion::createMercatorVariantB
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ASSERT_TRUE
    - auto::parameterValueNumeric
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_B_to_variant_A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4756,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4757,1
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:4758,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4758,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4758,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4758,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4759,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4759,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4760,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4761,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4755
    functionDepth: 1
    functionLinenumber: 4755
    functionLinenumberEnd: 4764
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantB
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_B_to_variant_A_invalid_std1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4769,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4770,1
    - Dst: geographicCRSInvalidEccentricity
      Src: /src/PROJ/test/unit/test_operation.cpp:4770,1
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/test/unit/test_operation.cpp:4771,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4771,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4771,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4771,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4772,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4772,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4773,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4774,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4777
      start: 4768
    functionDepth: 2
    functionLinenumber: 4768
    functionLinenumberEnd: 4777
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantB
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - geographicCRSInvalidEccentricity
    linkageType: ''
    returnType: void
    signature: void TEST(operation, mercator_variant_B_to_variant_A_invalid_eccentricity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4783,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4784,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:4785,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4786,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4786,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4786,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4786,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4786,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4787,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4787,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4788,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4790,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4791,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4793,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4796,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4799,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4801,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4804,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4806,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4809,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4811,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4813,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4815,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4817,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4820,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4822,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4825,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4827,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4829,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4831,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4833,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4836,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4838,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4841,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4843,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4845,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4847,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4849,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:4852,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4853,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4853,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4854,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4854,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4854,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4856,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4856,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4858
      start: 4781
    functionDepth: 1
    functionLinenumber: 4781
    functionLinenumberEnd: 4858
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - auto::convertToOtherMethod
    - ASSERT_TRUE
    - auto::parameterValueNumeric
    - auto::isEquivalentTo
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4863,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4864,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:4865,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4866,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4866,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4866,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4866,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4866,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4867,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4867,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4868,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4870,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4871,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4873,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4876,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4879,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4881,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4884,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4886,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4889,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4891,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4893,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4895,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4897,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4900,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4902,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4905,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4907,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4909,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4911,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4913,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4916,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4918,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4921,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4923,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4925,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4927,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4929,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4932,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4932,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4932,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4934,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:4934,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:4934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4936
      start: 4862
    functionDepth: 1
    functionLinenumber: 4862
    functionLinenumberEnd: 4936
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - auto::convertToOtherMethod
    - ASSERT_TRUE
    - auto::parameterValueNumeric
    - auto::isEquivalentTo
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_phi0_eq_phi1_eq_phi2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:4942,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4943,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:4944,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:4945,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4945,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4945,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4945,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:4946,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4946,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:4946,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:4947,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:4949,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4950,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4952,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4955,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4958,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4960,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4963,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4965,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4968,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4970,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4972,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4974,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4976,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/test/unit/test_operation.cpp:4979,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:4981,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4984,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4986,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4988,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4990,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4992,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:4995,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:4997,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:5000,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:5002,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:5004,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/test/unit/test_operation.cpp:5006,1
    - Dst: EXPECT_NEAR
      Src: /src/PROJ/test/unit/test_operation.cpp:5008,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5011,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5011,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5011,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5013,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5013,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5013,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5016,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5016,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5017,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5018,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5018,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5018,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5021,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5021,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5023
      start: 4940
    functionDepth: 1
    functionLinenumber: 4940
    functionLinenumberEnd: 5023
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - auto::convertToOtherMethod
    - ASSERT_TRUE
    - auto::parameterValueNumeric
    - auto::isEquivalentTo
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_phi0_diff_phi1_and_phi1_eq_phi2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5028,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5029,1
    - Dst: geographicCRSInvalidEccentricity
      Src: /src/PROJ/test/unit/test_operation.cpp:5029,1
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5030,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5030,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5030,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5031,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5031,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5032,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5032,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5033,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5034,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5027
    functionDepth: 2
    functionLinenumber: 5027
    functionLinenumberEnd: 5037
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - Conversion::createLambertConicConformal_1SP
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - geographicCRSInvalidEccentricity
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc1sp_to_lcc2sp_invalid_eccentricity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5042,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5043,1
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5044,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5045,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5045,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5045,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5045,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5045,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5045,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5046,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5047,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5050
      start: 5041
    functionDepth: 1
    functionLinenumber: 5041
    functionLinenumberEnd: 5050
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - Conversion::createLambertConicConformal_1SP
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc1sp_to_lcc2sp_invalid_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5055,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5056,1
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5057,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5057,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5057,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5058,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5058,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5059,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5059,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5060,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5061,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5064
      start: 5054
    functionDepth: 1
    functionLinenumber: 5054
    functionLinenumberEnd: 5064
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - Conversion::createLambertConicConformal_1SP
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc1sp_to_lcc2sp_invalid_lat0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5069,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5070,1
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5071,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5071,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5071,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5072,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5072,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5073,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5073,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5074,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5075,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5078
      start: 5068
    functionDepth: 1
    functionLinenumber: 5068
    functionLinenumberEnd: 5078
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - Conversion::createLambertConicConformal_1SP
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc1sp_to_lcc2sp_null_lat0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5083,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5084,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5085,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5086,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5086,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5086,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5086,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5086,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5087,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5087,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5088,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5089,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5082
    functionDepth: 1
    functionLinenumber: 5082
    functionLinenumberEnd: 5092
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_invalid_lat0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5097,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5098,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5099,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5100,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5100,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5100,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5100,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5100,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5101,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5101,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5102,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5103,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5106
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_invalid_lat1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5111,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5112,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5113,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5114,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5114,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5114,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5114,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5114,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5115,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5115,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5116,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5117,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5120
      start: 5110
    functionDepth: 1
    functionLinenumber: 5110
    functionLinenumberEnd: 5120
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_invalid_lat2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5125,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5126,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5127,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5128,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5128,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5128,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5128,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5128,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5129,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5129,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5130,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5131,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5124
    functionDepth: 1
    functionLinenumber: 5124
    functionLinenumberEnd: 5134
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_invalid_lat1_opposite_lat2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5139,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5140,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5141,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5142,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5142,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5142,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5142,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5143,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5143,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5143,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5144,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5145,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5148
      start: 5138
    functionDepth: 1
    functionLinenumber: 5138
    functionLinenumberEnd: 5148
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_invalid_lat1_and_lat2_close_to_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5153,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5154,1
    - Dst: geographicCRSInvalidEccentricity
      Src: /src/PROJ/test/unit/test_operation.cpp:5154,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/test/unit/test_operation.cpp:5155,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5156,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5156,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5156,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5156,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5156,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5157,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5157,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_operation.cpp:5158,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_operation.cpp:5159,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5162
      start: 5152
    functionDepth: 2
    functionLinenumber: 5152
    functionLinenumberEnd: 5162
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::derivingConversion
    - ProjectedCRS::create
    - Conversion::createLambertConicConformal_2SP
    - geographicCRSInvalidEccentricity
    linkageType: ''
    returnType: void
    signature: void TEST(operation, lcc2sp_to_lcc1sp_invalid_eccentricity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_operation.cpp:5168,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5169,1
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:5172,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5173,1
    - Dst: Transformation::createCoordinateFrameRotation
      Src: /src/PROJ/test/unit/test_operation.cpp:5176,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5177,1
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:5180,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5181,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5184,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5184,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5185,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5187,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5187,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5188,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5190,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5190,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5191,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5193,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5193,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5194,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5196,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5196,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5198
      start: 5166
    functionDepth: 1
    functionLinenumber: 5166
    functionLinenumberEnd: 5198
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - Transformation::createPositionVector
    - Transformation::createGeocentricTranslations
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - Transformation::createCoordinateFrameRotation
    linkageType: ''
    returnType: void
    signature: void TEST(operation, three_param_equivalent_to_seven_param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/test/unit/test_operation.cpp:5204,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5205,1
    - Dst: Transformation::createCoordinateFrameRotation
      Src: /src/PROJ/test/unit/test_operation.cpp:5208,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5209,1
    - Dst: Transformation::createCoordinateFrameRotation
      Src: /src/PROJ/test/unit/test_operation.cpp:5212,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5213,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5216,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5217,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5217,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5219,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5220,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5220,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5222,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5222,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5224
      start: 5202
    functionDepth: 1
    functionLinenumber: 5202
    functionLinenumberEnd: 5224
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - EXPECT_TRUE
    - Transformation::createPositionVector
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - Transformation::createCoordinateFrameRotation
    linkageType: ''
    returnType: void
    signature: void TEST(operation, position_vector_equivalent_coordinate_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5251,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5252,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5253,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5278,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5279,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5280,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5305,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5306,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5307,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5333,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5334,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5335,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5360,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5361,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5362,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5364,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5365,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5365,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5366,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5367,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5367,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5368,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5369,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5369,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5370,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5371,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5371,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5372,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5373,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5373,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5374,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5375,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5375,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5377,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5378,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5378,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5379,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5380,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5380,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5382,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5383,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5383,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5384,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5385,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5228
    functionDepth: 1
    functionLinenumber: 5228
    functionLinenumberEnd: 5386
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, conversion_missing_parameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5406,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5407,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5408,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5424,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5425,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5426,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5442,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5443,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5444,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5446,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5447,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5447,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5448,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5449,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5449,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5451,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5452,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5452,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5453,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5454,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5454,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5455,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5456,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5456,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5457,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5458,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5459
      start: 5390
    functionDepth: 1
    functionLinenumber: 5390
    functionLinenumberEnd: 5459
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, conversion_missing_parameter_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createHotineObliqueMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:5465,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5466,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5466,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5466,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5466,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5466,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5466,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5467,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5467,1
    - Dst: Conversion::createHotineObliqueMercatorVariantA
      Src: /src/PROJ/test/unit/test_operation.cpp:5468,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5469,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5469,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5469,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5469,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_operation.cpp:5469,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5470,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5470,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_operation.cpp:5470,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5472,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5473,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5474
      start: 5463
    functionDepth: 1
    functionLinenumber: 5463
    functionLinenumberEnd: 5474
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - Length
    - PropertyMap
    - EXPECT_TRUE
    - Angle
    - auto::isEquivalentTo
    - Conversion::createHotineObliqueMercatorVariantA
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     hotine_oblique_mercator_variant_A_export_equivalent_modulo_360)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/test/unit/test_operation.cpp:5479,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5479,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_operation.cpp:5479,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5480,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5481
      start: 5478
    functionDepth: 1
    functionLinenumber: 5478
    functionLinenumberEnd: 5481
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - EXPECT_TRUE
    - PropertyMap
    - auto::validateParameters
    - Conversion::createChangeVerticalUnit
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createChangeVerticalUnit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/test/unit/test_operation.cpp:5486,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5486,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5487,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5488
      start: 5485
    functionDepth: 1
    functionLinenumber: 5485
    functionLinenumberEnd: 5488
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::validateParameters
    - PropertyMap
    - Conversion::createChangeVerticalUnit
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createChangeVerticalUnitNoconvFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/test/unit/test_operation.cpp:5493,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5493,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5494,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5495
      start: 5492
    functionDepth: 1
    functionLinenumber: 5492
    functionLinenumberEnd: 5495
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::validateParameters
    - PropertyMap
    - Conversion::createGeographicGeocentric
    linkageType: ''
    returnType: void
    signature: void TEST(operation, createGeographicGeocentric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5501,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5502,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5503,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5505,1
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5510,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5510,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5511,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5514,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5519,1
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5523,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5524,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5525,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5531,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5535,1
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5539,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5540,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5541,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5547,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5552,1
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5556,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5557,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5558,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5560,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5560,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5562,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_operation.cpp:5562,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5563,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5567,1
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5571,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5572,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5573,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5575,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5576,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5581,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_operation.cpp:5581,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5582,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5586,1
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5590,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5591,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5592,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5594,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5595,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5596,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_operation.cpp:5596,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/test/unit/test_operation.cpp:5597,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5499
    functionDepth: 1
    functionLinenumber: 5499
    functionLinenumberEnd: 5603
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - ParameterValue::create
    - EXPECT_EQ
    - auto::validateParameters
    - Conversion::create
    - Measure
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, validateParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5610,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5610,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_operation.cpp:5614,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5615,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5616,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/test/unit/test_operation.cpp:5618,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5619,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5620,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5620,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5620,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5621,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5622,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5622,1
    - Dst: exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5623,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5623,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5628,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5629,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5631,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5632,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5633,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5634,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5634,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5634,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5635,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5635,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5636,1
    - Dst: checkThroughWKTRoundtrip
      Src: /src/PROJ/test/unit/test_operation.cpp:5640,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5645,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5646,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5648,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5649,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5650,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5651,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5651,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5651,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5652,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5652,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5653,1
    - Dst: checkThroughWKTRoundtrip
      Src: /src/PROJ/test/unit/test_operation.cpp:5657,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5662,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5663,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5665,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5666,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5667,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5668,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5668,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5669,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5669,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5670,1
    - Dst: checkThroughWKTRoundtrip
      Src: /src/PROJ/test/unit/test_operation.cpp:5674,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5679,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5680,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5682,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5683,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5684,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5685,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5685,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5685,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5691,1
    - Dst: auto::setUsePROJAlternativeGridNames
      Src: /src/PROJ/test/unit/test_operation.cpp:5692,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5693,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_operation.cpp:5694,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5696,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5698,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5699,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5701,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_operation.cpp:5703,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_operation.cpp:5703,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5705,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5706,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5706,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5706,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5707,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5708,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5709,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/test/unit/test_operation.cpp:5711,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_operation.cpp:5721,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_operation.cpp:5723,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5725,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5726,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5727,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5728,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5728,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5729,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5729,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5730,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operation.cpp:5747,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5748,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/test/unit/test_operation.cpp:5750,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5750,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5751,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_operation.cpp:5753,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5754,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_operation.cpp:5754,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_operation.cpp:5754,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5756,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5757,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5758,1
    - Dst: auto::empty
      Src: /src/PROJ/test/unit/test_operation.cpp:5758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5759,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operation.cpp:5759,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/test/unit/test_operation.cpp:5760,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5761,1
    - Dst: auto::remarks
      Src: /src/PROJ/test/unit/test_operation.cpp:5761,1
    - Dst: auto::remarks
      Src: /src/PROJ/test/unit/test_operation.cpp:5761,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5762,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operation.cpp:5763,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_operation.cpp:5764,1
    - Dst: c_str
      Src: /src/PROJ/test/unit/test_operation.cpp:5764,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5766,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_operation.cpp:5766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5768
      start: 5607
    functionDepth: 1
    functionLinenumber: 5607
    functionLinenumberEnd: 5768
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - CoordinateOperationContext::create
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - auto::coordinateOperationAccuracies
    - auto::domains
    - auto::remarks
    - auto::setUsePROJAlternativeGridNames
    - checkThroughWKTRoundtrip
    - auto::nameStr
    - auto::_isEquivalentTo
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<CoordinateOperation>
    - auto::exportToPROJString
    - dynamic_cast<const ConcatenatedOperation *>
    - CompoundCRS::create
    - ASSERT_GE
    - auto::size
    - auto::normalizeForVisualization
    - ASSERT_TRUE
    - auto::createCoordinateOperation
    - EXPECT_STREQ
    - auto::databaseContext
    - c_str
    - PropertyMap
    - EXPECT_FALSE
    - exportToWKT
    - _isEquivalentTo
    - PROJStringFormatter::create
    - exportToPROJString
    - WKTParser
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, normalizeForVisualization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5806,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:5807,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5811,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5811,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5811,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_operation.cpp:5819,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/test/unit/test_operation.cpp:5819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5820
      start: 5772
    functionDepth: 1
    functionLinenumber: 5772
    functionLinenumberEnd: 5820
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - EXPECT_FALSE
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::requiresPerCoordinateInputTime
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     export_of_Geographic3D_to_GravityRelatedHeight_gtx_unknown_grid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5871,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_operation.cpp:5872,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5873,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5874,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_operation.cpp:5874,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5884
      start: 5824
    functionDepth: 1
    functionLinenumber: 5824
    functionLinenumberEnd: 5884
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, export_of_boundCRS_with_proj_string_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:5919,1
    - Dst: nn_dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/test/unit/test_operation.cpp:5920,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:5921,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5922,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:5922,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5922,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5935,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:5935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:5937,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:5938,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:5938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5950
      start: 5888
    functionDepth: 1
    functionLinenumber: 5888
    functionLinenumberEnd: 5950
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - nn_dynamic_pointer_cast<PointMotionOperation>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(operation, PointMotionOperation_with_epochs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:6016,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:6017,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:6018,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6019,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6019,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6019,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6021,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6021,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6024
      start: 5954
    functionDepth: 1
    functionLinenumber: 5954
    functionLinenumberEnd: 6024
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, export_of_Cartesian_Grid_Offsets_with_EngineeringCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:6061,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:6062,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:6063,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6064,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6064,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6064,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6066,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6066,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6069
      start: 6028
    functionDepth: 1
    functionLinenumber: 6028
    functionLinenumberEnd: 6069
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, Geographic3DToGravityRelatedHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:6106,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:6107,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:6108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6109,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6109,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6111,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6111,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6114
      start: 6073
    functionDepth: 1
    functionLinenumber: 6073
    functionLinenumberEnd: 6114
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, inverse_of_Geographic3DToGravityRelatedHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:6187,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:6188,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:6189,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6190,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6190,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6190,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6204,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6204,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6219
      start: 6118
    functionDepth: 1
    functionLinenumber: 6118
    functionLinenumberEnd: 6219
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, CoordinateFrameRotationFullMatrixGeog2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6225,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6225,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operation.cpp:6226,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6228,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6228,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6228,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6231,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6232,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6234
      start: 6223
    functionDepth: 1
    functionLinenumber: 6223
    functionLinenumberEnd: 6234
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(operation,\n     operation_Geog3D_to_Geog2D_GravityRelatedHeight_with_compoundCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_operation.cpp:6316,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_operation.cpp:6317,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_operation.cpp:6318,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6319,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6319,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6319,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6331,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6331,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6343
      start: 6238
    functionDepth: 1
    functionLinenumber: 6238
    functionLinenumberEnd: 6343
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::inverse
    - WKTParser
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(operation, helmert_between_geog3D_and_compound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6348,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6348,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operation.cpp:6349,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6351,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6351,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6351,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6357,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6358,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6363
      start: 6347
    functionDepth: 1
    functionLinenumber: 6347
    functionLinenumberEnd: 6363
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, operation_Geographic2D_Offsets_by_TIN_Interpolation_JSON)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6370,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6371,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operation.cpp:6372,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6374,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6374,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6385,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6386,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6396
      start: 6367
    functionDepth: 1
    functionLinenumber: 6367
    functionLinenumberEnd: 6396
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    operation_Position_Vector_geocen_and_geocen_translations_NEU_velocities_gtg_with_source_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6403,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6404,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operation.cpp:6405,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6407,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6407,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6408,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6417,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6418,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6427
      start: 6400
    functionDepth: 1
    functionLinenumber: 6400
    functionLinenumberEnd: 6427
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(\n    operation,\n    operation_geocen_translations_by_grid_and_geocen_translations_NEU_velocities_gtg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6432,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6433,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_operation.cpp:6434,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6436,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_operation.cpp:6436,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6437,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_operation.cpp:6444,1
    - Dst: auto::inverse
      Src: /src/PROJ/test/unit/test_operation.cpp:6444,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_operation.cpp:6445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6450
      start: 6431
    functionDepth: 1
    functionLinenumber: 6431
    functionLinenumberEnd: 6450
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_operation.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::inverse
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(operation, operation_geocen_translations_NEU_velocities_gtg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: UnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_crs.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/test/unit/test_crs.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: _isEquivalentTo
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(const IComparable *, Criterion,\n                         const
      DatabaseContextPtr &) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_make_shared<UnrelatedObject>
      Src: /src/PROJ/test/unit/test_crs.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: createUnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 13
    functionsReached:
    - nn_make_shared<UnrelatedObject>
    linkageType: ''
    returnType: nn<std::shared_ptr<UnrelatedObject>>
    signature: nn<std::shared_ptr<UnrelatedObject>> createUnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: UnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_crs.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/test/unit/test_crs.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: _isEquivalentTo
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(const IComparable *, Criterion,\n                         const
      DatabaseContextPtr &) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_make_shared<UnrelatedObject>
      Src: /src/PROJ/test/unit/test_crs.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: createUnrelatedObject
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 13
    functionsReached:
    - nn_make_shared<UnrelatedObject>
    linkageType: ''
    returnType: nn<std::shared_ptr<UnrelatedObject>>
    signature: nn<std::shared_ptr<UnrelatedObject>> createUnrelatedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:75,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:76,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:79,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:80,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:83,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:84,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:87,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:87,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:87,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:88,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:88,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:88,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:90,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:91,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:94,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:94,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:94,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:96,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:96,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:96,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:98,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:99,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:99,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:101,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:101,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:101,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:103,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:104,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:104,1
    - Dst: EXPECT_NO_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:106,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:107,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 108
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - CoordinateSystemAxis::create
    - EXPECT_THROW
    - EXPECT_NO_THROW
    - CartesianCS::create
    linkageType: ''
    returnType: void
    signature: void TEST(cs, CartesianCS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:114,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:115,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:115,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:116,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:116,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:117,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:117,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:119,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:120,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:120,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:121,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:121,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:121,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:122,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:122,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:123,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:123,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/test/unit/test_crs.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:126,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_crs.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:127,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/test/unit/test_crs.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:128,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/test/unit/test_crs.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:129,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:129,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:130,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:130,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:130,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:131,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:131,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:132,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::nameStr
    - ASSERT_EQ
    - auto::ellipsoid
    - EXPECT_EQ
    - auto::identifiers
    - codeSpace
    - auto::inverseFlattening
    - auto::semiMajorAxis
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_get_components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:139,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:139,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:139,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:140,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:141,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:141,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:142,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:142,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:143,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:145,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:145,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:145,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:147,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:147,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:147,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:148,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:148,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:148,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:149,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:149,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:149,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:152,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:152,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:152,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:154,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:154,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:155,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:157,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:157,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:158,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:161,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:162,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:163,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:164,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:165,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:167,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:168,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:169,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:170,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:172,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:172,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:173,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:174,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:175,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 180
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - isEquivalentTo
    - get
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_FALSE
    - GeographicCRS::create
    - auto::isEquivalentTo
    - auto::shallowClone
    - EllipsoidalCS::createLatitudeLongitude
    - GeodeticReferenceFrame::create
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(crs, GeographicCRS_isEquivalentTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_crs.cpp:185,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:186,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_crs.cpp:189,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:191,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:192,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:197,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:200,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:200,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:220,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:220,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:224,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:225,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:227,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:230,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:254,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 256
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - GeographicCRS::create
    - PositionalAccuracy::create
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatumEnsemble::create
    - EllipsoidalCS::createLatitudeLongitude
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(crs, GeographicCRS_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:261,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:261,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:261,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:262,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_crs.cpp:266,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:267,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:269,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:270,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:271,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:272,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_crs.cpp:273,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:274,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:274,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:274,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - GeographicCRS::create
    - PositionalAccuracy::create
    - EXPECT_THROW
    - VerticalReferenceFrame::create
    - DatumEnsemble::create
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: void
    signature: void TEST(crs, GeographicCRS_ensemble_exception_in_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:285,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:286,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:309,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:310,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:333,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:333,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:334,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT2_SIMPLIFIED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatterNNPtr::setMultiLine
      Src: /src/PROJ/test/unit/test_crs.cpp:351,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:352,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:353,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::setMultiLine
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT2_SIMPLIFIED_single_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:368,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:368,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:369,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 378
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT2_2019_SIMPLIFIED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:384,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:385,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:402,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT1_GDAL_with_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:422,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:422,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:423,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:424,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:425,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 439
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_from_db_as_WKT1_GDAL_with_axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:447,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:447,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:456,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:456,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:457,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:460,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:460,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 465
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4901_as_WKT1_ESRI_with_PRIMEM_unit_name_morphing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:473,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:473,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_WKT1_ESRI_without_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:483,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:483,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4326_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:493,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:494,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4979_as_WKT2_SIMPLIFIED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:514,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:514,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:515,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 527
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4979_as_WKT2_2019_SIMPLIFIED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:533,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:534,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 554
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4979_as_WKT1_GDAL_with_axis_not_strict_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:560,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:561,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 564
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTFormatter::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4979_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:570,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:571,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 592
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4979_as_WKT1_GDAL_with_ellipsoidal_height_as_vertical_crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:606,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:606,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 607
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4979_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:612,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:613,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:614,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:624,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:624,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 625
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geographic3D_crs_as_WKT1_ESRI_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:630,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:631,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:640,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:641,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:649,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:649,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 650
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geographic3D_NAD83_as_WKT1_ESRI_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:655,1
    - Dst: is2DPartOf3D
      Src: /src/PROJ/test/unit/test_crs.cpp:655,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:656,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:656,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:657,1
    - Dst: is2DPartOf3D
      Src: /src/PROJ/test/unit/test_crs.cpp:657,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:658,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:658,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:659,1
    - Dst: is2DPartOf3D
      Src: /src/PROJ/test/unit/test_crs.cpp:659,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:660,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:660,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:661,1
    - Dst: is2DPartOf3D
      Src: /src/PROJ/test/unit/test_crs.cpp:661,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:662,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 663
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - get
    - EXPECT_FALSE
    - NN_NO_CHECK
    - is2DPartOf3D
    linkageType: ''
    returnType: void
    signature: void TEST(crs, GeographicCRS_is2DPartOf3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:670,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:671,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 687
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4807_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:695,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:695,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:696,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 707
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4807_as_WKT2_SIMPLIFIED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:715,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:715,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:716,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 729
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::toString
    - auto::exportToWKT
    - WKTFormatterNNPtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4807_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:737,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:737,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4807_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:750,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:750,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 755
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4807_as_WKT1_ESRI_without_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:761,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:761,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4807_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:769,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:769,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:769,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:784,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:784,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 786
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4267)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:794,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:794,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4267_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:805,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:805,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:805,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:820,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:820,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 822
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4269)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:827,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:828,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:829,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:832,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:832,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:833,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createCoordinateReferenceSystem
    - auto::find
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4268_geogcrs_deprecated_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:839,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:840,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:841,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:845,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:845,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 850
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, ESRI_104971_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:856,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:857,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:858,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:859,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:860,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:860,1
    - Dst: WKTFormatterNNPtr::setAllowLINUNITNode
      Src: /src/PROJ/test/unit/test_crs.cpp:863,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:865,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:865,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::setAllowLINUNITNode
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: "void TEST(crs,\n     implicit_compound_ESRI_104024_plus_115844_as_WKT1_ESRI_with_database)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:880,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:881,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:882,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:883,1
    - Dst: WKTFormatterNNPtr::setAllowLINUNITNode
      Src: /src/PROJ/test/unit/test_crs.cpp:886,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:901,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:901,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:901,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:903,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:905,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:906,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 907
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<GeographicCRS>
    - WKTFormatterNNPtr::setAllowLINUNITNode
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::exportToWKT
    - std::string
    - WKTParser
    - AuthorityFactory::create
    - auto::createGeographicCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, implicit_compound_ESRI_104971_to_3D_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:912,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:913,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:914,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:917,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:917,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 923
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, ITRF2020_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:928,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:929,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:930,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:933,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:933,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:935,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:935,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:937,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:938,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:939,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:940,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:940,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:942,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 944
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<CRS>
    - auto::createCoordinateReferenceSystem
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, IAU_1000_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:949,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:950,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:951,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/test/unit/test_crs.cpp:952,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:952,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:954,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:954,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:956,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:956,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:958,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:958,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:961,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:962,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:963,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:966,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:966,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:968,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 970
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - EXPECT_TRUE
    - JSONFormatter::create
    - nn_dynamic_pointer_cast<CRS>
    - auto::createCoordinateReferenceSystem
    - auto::find
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::exportToJSON
    - auto::exportToWKT
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, IAU_1000_as_PROJJSON)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:975,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:976,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:977,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:980,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:980,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:981,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 984
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::createCoordinateReferenceSystem
    - auto::find
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_2008_projcrs_deprecated_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:989,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1011,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1012,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1013,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1013,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1013,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_crs.cpp:1018,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1019,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:1019,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:1019,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:1020,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:1020,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:1020,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:1021,1
    - Dst: auto::DerivedCRS::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:1022,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:1022,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1024,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1025,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1026,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1028,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1047,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1048,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1049,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1065
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - EXPECT_FALSE
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::isEquivalentTo
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - NN_CHECK_ASSERT
    - auto::exportToWKT
    - DatabaseContext::create
    - auto::DerivedCRS::isEquivalentTo
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_27561_projected_with_geodetic_in_grad_as_PROJ_string_and_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1070,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1091,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1092,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1093,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1093,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1095
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_3040_projected_northing_easting_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1100,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1121,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1122,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1123,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1123,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1123,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1127,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1128,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1129,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_2222_projected_unit_foot_as_PROJ_string_and_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1155,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1173,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1174,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1176,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1177,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1197
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_with_parameter_unit_different_than_cs_unit_as_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1202,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1203,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:1204,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1205,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1206,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1214,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:1215,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1216,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1217,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1217,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1217,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:1220,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1226,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1227,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1227,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1230,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:1230,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1231,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1233
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::sourceCRS
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::normalizeForVisualization
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_32661_projected_north_pole_north_east)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1238,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1239,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:1240,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1241,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1242,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1249,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:1250,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1252,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1252,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1252,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:1255,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1261,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1262,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1264
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::normalizeForVisualization
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_5041_projected_north_pole_east_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1269,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1270,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:1271,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1272,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1273,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1280,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:1281,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1282,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1283,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1283,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1283,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:1286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1292,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1293,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1295
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::normalizeForVisualization
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_32761_projected_south_pole_north_east)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1300,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1301,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:1302,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1303,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1304,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1311,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:1312,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1313,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1314,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1314,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1314,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:1317,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1323,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1324,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1326
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::normalizeForVisualization
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_5042_projected_south_pole_east_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1331,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1332,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:1333,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1334,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1335,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1336,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:1337,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:1338,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1339,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1346,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1346,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1346,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:1349,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1355,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1356,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1358
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::normalizeForVisualization
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - DatabaseContext::create
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_5482_projected_south_pole_south_west)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1363,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1364,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1396,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1397,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1399,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1419
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, spherical_mercator_on_sphere_to_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1424,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1456,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1457,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:1459,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1459,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1460,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1464
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - ASSERT_TRUE
    - EXPECT_THROW
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, mercator_variant_A_lat0_non_zero_to_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:1468,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1468,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1469,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1472
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - CartesianCS::createGeocentric
    - EXPECT_THROW
    - GeodeticCRS::create
    - PropertyMap
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geodetic_crs_both_datum_datum_ensemble_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1477,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1478,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1481,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:1482,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1482,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1483,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1486
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - GeodeticCRS::create
    - CartesianCS::createGeocentric
    - EXPECT_THROW
    - DatumEnsemble::create
    - PositionalAccuracy::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geodetic_crs_both_datum_datum_ensemble_non_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1491,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:1492,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1495,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1498
    functionName: createGeocentric
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 8
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - GeodeticCRS::create
    - CartesianCS::createGeocentric
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr createGeocentric()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1503,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1523,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1523,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1523,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1524,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1525,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1526,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1529,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:1529,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:1529,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1530,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:1530,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:1530,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:1531,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:1531,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1502
    functionDepth: 2
    functionLinenumber: 1502
    functionLinenumberEnd: 1532
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::shallowClone
    - auto::exportToWKT
    - createGeocentric
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geocentricCRS_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1537,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1549,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1549,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1553
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createGeocentric
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geocentricCRS_as_WKT2_simplified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1558,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1561,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:1561,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1562,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1557
    functionDepth: 2
    functionLinenumber: 1557
    functionLinenumberEnd: 1576
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - createGeocentric
    - WKTFormatterNNPtr::toString
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geocentricCRS_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:1582,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1583,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1584,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1599
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, EPSG_4978_as_WKT1_GDAL_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1604,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1605,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1605,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1607
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - createGeocentric
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geocentricCRS_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1612,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1613,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1614,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:1615,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1617,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1619,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1620,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1620,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1620,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:1626,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1626,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1628
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - GeodeticCRS::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CartesianCS::createGeocentric
    - EXPECT_THROW
    - UnitOfMeasure
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geocentricCRS_non_meter_unit_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1633,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1634,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1635,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:1636,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1638,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1640,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1641,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:1641,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1646
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - GeodeticCRS::create
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CartesianCS::createGeocentric
    - UnitOfMeasure
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geocentricCRS_unsupported_unit_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1653,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1654,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1655,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1657,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1657,1
    - Dst: identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1660,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1661,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1661,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1662,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1662,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1662,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1662,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1663,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1663,1
    - Dst: static_cast<const CRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:1667,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1667,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1669,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1670,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1670,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1670,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1670,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1671,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1671,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1675,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1676,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1678,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1680,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1681,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1681,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1681,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1681,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1682,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1682,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1686,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1687,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1689,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1691,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1691,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1692,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1692,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1692,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1692,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1693,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1693,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1698,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1699,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1701,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1703,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1703,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1704,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1704,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1704,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1704,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1705,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1705,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1711,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1712,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1717,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1718,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1719,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1720,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1720,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1721,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1721,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1721,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1721,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1722,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1724
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::front
    - ASSERT_EQ
    - PropertyMap
    - auto::size
    - identify
    - EXPECT_EQ
    - get
    - EllipsoidalCS::createLongitudeLatitude
    - GeodeticCRS::create
    - GeographicCRS::create
    - static_cast<const CRS *>
    - ASSERT_TRUE
    - auto::identify
    - CartesianCS::createGeocentric
    - WKTParser
    - DatabaseContext::create
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geodeticcrs_identify_no_db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1729,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1730,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1735,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1736,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1737,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1738,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_crs.cpp:1739,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1740,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_crs.cpp:1740,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_crs.cpp:1740,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:1741,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1742,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1744,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1744,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1749,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1750,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:1751,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1753,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1753,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1754,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1754,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1754,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1755,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1755,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1760,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1761,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1763,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1765,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1765,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1766,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1766,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1766,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1767,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1767,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1772,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1773,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1775,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1777,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1777,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1778,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1778,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1778,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1779,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1779,1
    - Dst: identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1783,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1784,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1784,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1785,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1785,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1785,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1785,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1786,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1786,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1791,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1792,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1794,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1796,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1796,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1797,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1797,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1797,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:1797,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1798,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1798,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1803,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1804,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_crs.cpp:1805,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1806,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1808,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1808,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1809,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1809,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1809,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1810,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1810,1
    - Dst: identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1814,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1815,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1815,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1816,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1816,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1816,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1817,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1817,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1822,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1823,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_crs.cpp:1827,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1828,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1830,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1830,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1835,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1836,1
    - Dst: datum
      Src: /src/PROJ/test/unit/test_crs.cpp:1840,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1841,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1843,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1843,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1844,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1844,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1844,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1845,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1845,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1850,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1851,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1853,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1855,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1855,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1856,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1856,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1856,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1857,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1857,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1862,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1863,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1865,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1867,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1867,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1868,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1868,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1868,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1869,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1869,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1874,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1875,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1876,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1876,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:1877,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1879,1
    - Dst: ASSERT_GT
      Src: /src/PROJ/test/unit/test_crs.cpp:1881,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1881,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1882,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1882,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1882,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1883,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1883,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1888,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1889,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1890,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1890,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:1891,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1893,1
    - Dst: ASSERT_GT
      Src: /src/PROJ/test/unit/test_crs.cpp:1895,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1895,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1896,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1896,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1896,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1897,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1897,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1901,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1904,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1905,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1906,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:1906,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1907,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1908,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1908,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1926,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1927,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1928,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1930,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:1930,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1931,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1932,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1932,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1933,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1933,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:1933,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1934,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1934,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:1934,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:1934,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1935,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1935,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:1935,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:1935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1936,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1936,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1941,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1942,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:1946,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1947,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/test/unit/test_crs.cpp:1948,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:1949,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_crs.cpp:1949,1
    - Dst: Scale
      Src: /src/PROJ/test/unit/test_crs.cpp:1949,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:1950,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:1952,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1954,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1954,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1958,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1960,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1961,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1962,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1963,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:1963,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1964,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1964,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:1964,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1965,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1965,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:1965,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:1965,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1966,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1966,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:1966,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:1966,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1967,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:1967,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:1972,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:1974,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1975,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:1976,1
    - Dst: first::getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:1980,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:1982,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:1985,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2004,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2005,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2006,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2008,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2008,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2009,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2010,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2010,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2011,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2011,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2011,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2012,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2012,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2012,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:2012,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2013,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2013,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2013,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:2013,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2014,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2014,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2016,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2016,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2016,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:2016,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2019,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2019,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2019,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2020,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2038,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2039,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2040,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2042,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2042,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2043,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2044,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2044,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2045,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2045,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2046,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2046,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2046,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:2046,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2047,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2047,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2047,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:2047,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2048,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2048,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2050,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2050,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2050,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:2050,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2053,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2053,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2053,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2054,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2064,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2065,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2066,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2068,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2068,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2069,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2070,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2070,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2071,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2071,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2071,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2072,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2072,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2072,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:2072,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2073,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2073,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:2073,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:2073,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2074,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2074,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2108,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2109,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2110,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2112,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2112,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2113,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2114,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2114,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2115,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2115,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2115,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2116,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2116,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2150,1
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2151,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2152,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2154,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2154,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2155,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2156,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2156,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2157,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2157,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2158,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 2160
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Scale
    - identifiers
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::identify
    - CartesianCS::createGeocentric
    - codeSpace
    - EllipsoidalCS::createLatitudeLongitude
    - code
    - ASSERT_EQ
    - identify
    - EllipsoidalCS::createLongitudeLatitude
    - auto::_isEquivalentTo
    - GeodeticCRS::create
    - std::string
    - Ellipsoid::createFlattenedSphere
    - GeodeticReferenceFrame::create
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::front
    - auto::size
    - first::getEPSGCode
    - GeographicCRS::create
    - ASSERT_TRUE
    - PROJStringParser
    - getEPSGCode
    - optional<std::string>
    - Length
    - PropertyMap
    - ASSERT_GT
    - get
    - nn_dynamic_pointer_cast<GeographicCRS>
    - _isEquivalentTo
    - DatabaseContext::create
    - WKTParser
    - datum
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, geodeticcrs_identify_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2165,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:2166,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2169,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:2171,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2171,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2173
    functionName: createProjected
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - ProjectedCRS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr createProjected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2178,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:2179,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2180,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2180,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2181,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2181,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2182,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2182,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2182,1
    - Dst: std::dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2186,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2186,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2187,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:2188,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:2188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2177
    functionDepth: 2
    functionLinenumber: 2177
    functionLinenumberEnd: 2189
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::dynamic_pointer_cast<ProjectedCRS>
    - createProjected
    - auto::sourceCRS
    - EXPECT_NE
    - ASSERT_TRUE
    - auto::derivingConversion
    - auto::targetCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_derivingConversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2195,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2196,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2196,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2196,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2197,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2197,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:2197,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2198,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:2198,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2199,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2199,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2200,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:2200,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2200,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2206,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2207,1
    - Dst: createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:2207,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:2208,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2208,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:2209,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2210,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:2210,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2212,1
    - Dst: ProjectedCRSPtr::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2212,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2216
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_EQ
    - createProjected
    - auto::isEquivalentTo
    - auto::derivingConversion
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - auto::shallowClone
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - ProjectedCRSPtr::baseCRS
    - PROJStringFormatter::create
    - ProjectedCRS::create
    - createGeocentric
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_shallowClone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2221,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2258,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2258,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2220
    functionDepth: 2
    functionLinenumber: 2220
    functionLinenumberEnd: 2259
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createProjected
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2264,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2302,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2303,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2306
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createProjected
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2310,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2331,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2331,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2309
    functionDepth: 2
    functionLinenumber: 2309
    functionLinenumberEnd: 2335
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createProjected
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_WKT2_simplified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2340,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2361,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2362,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2339
    functionDepth: 2
    functionLinenumber: 2339
    functionLinenumberEnd: 2366
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createProjected
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_WKT2_2019_simplified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2371,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2396,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2397,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2401,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2401,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2370
    functionDepth: 2
    functionLinenumber: 2370
    functionLinenumberEnd: 2405
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createProjected
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2410,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2424,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2424,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2425,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2409
    functionDepth: 2
    functionLinenumber: 2409
    functionLinenumberEnd: 2429
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - createProjected
    - WKTFormatter::create
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2435,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2436,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2438,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2439,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2440,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2433
    functionDepth: 1
    functionLinenumber: 2433
    functionLinenumberEnd: 2473
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void TEST(crs,\n     projectedCRS_3D_as_WKT1_GDAL_with_ellipsoidal_height_as_vertical_crs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2478,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2482,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2495,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2496,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2497,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2502,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2503,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2505,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:2505,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2507,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2508,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2477
    functionDepth: 1
    functionLinenumber: 2477
    functionLinenumberEnd: 2512
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_with_other_deprecated_crs_of_same_name_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2517,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2533,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2534,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2516
    functionDepth: 1
    functionLinenumber: 2516
    functionLinenumberEnd: 2538
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_with_ESRI_code_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2543,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2557,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2558,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2561,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2562,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2542
    functionDepth: 1
    functionLinenumber: 2542
    functionLinenumberEnd: 2566
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_from_WKT1_ESRI_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2589,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2590,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2591,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2592,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2639,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2640,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2641,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2645,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2646,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2650
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_from_WKT1_ESRI_as_WKT1_ESRI_s_jtsk03_krovak_east_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2655,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2656,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2657,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2676,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2677,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2654
    functionDepth: 1
    functionLinenumber: 2654
    functionLinenumberEnd: 2681
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createProjectedCRS
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_from_EPSG_as_WKT1_ESRI_s_jtsk03_krovak_east_north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2686,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2688,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2707,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2708,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2712
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_from_EPSG_with_deprecated_ESRI_name_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2740,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2741,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2742,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2743,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2745,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2746,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2747,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:2747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2749
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::baseCRS
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_from_WKT1_ETRS89_with_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2767,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2768,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2769,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2770,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2772,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2773,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2774,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:2774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2753
    functionDepth: 1
    functionLinenumber: 2753
    functionLinenumberEnd: 2776
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - auto::baseCRS
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_from_WKT1_ESRI_ETRS89_with_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:2781,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2783,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2785,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2786,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:2786,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2786,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2790,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:2790,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2780
    functionDepth: 2
    functionLinenumber: 2780
    functionLinenumberEnd: 2792
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - createProjected
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2797,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2821,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2825,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2826,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:2830,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2830,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2832,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2833,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2834,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2836,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2836,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2796
    functionDepth: 1
    functionLinenumber: 2796
    functionLinenumberEnd: 2839
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - WKTFormatterNNPtr::get
    - ASSERT_TRUE
    - auto::isEquivalentTo
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_3D_is_WKT1_equivalent_to_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2844,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2844,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2845,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2847,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2848,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2849,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2850,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:2850,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2843
    functionDepth: 1
    functionLinenumber: 2843
    functionLinenumberEnd: 2857
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::baseCRS
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - DatabaseContext::create
    - auto::createProjectedCRS
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_Krovak_EPSG_5221_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2863,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2867,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2868,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2869,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:2869,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2870,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2871,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:2871,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2861
    functionDepth: 1
    functionLinenumber: 2861
    functionLinenumberEnd: 2878
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::baseCRS
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - NN_NO_CHECK
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_Krovak_with_approximate_alpha_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2885,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2886,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:2887,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2887,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:2888,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2890,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2890,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2891,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2891,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2891,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2892,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2892,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2893,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2893,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2893,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2894,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2894,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2902,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2903,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:2906,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2906,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:2907,1
    - Dst: static_cast<const CRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:2908,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2908,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2909,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2909,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2910,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2910,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2910,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2911,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2911,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2912,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2912,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2912,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2913,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2913,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2920,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2921,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:2924,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2924,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:2925,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2927,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2927,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2928,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2928,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2928,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2929,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2929,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2930,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2930,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2930,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2931,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2931,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2938,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2939,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:2940,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:2940,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:2941,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2943,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2943,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2944,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2944,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2945,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2945,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2946,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2946,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2946,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2947,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2947,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:2954,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:2956,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2957,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2958,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2959,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2959,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2960,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2960,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2960,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2961,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2961,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:2962,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2962,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:2962,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:2963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2966
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::identify
    - ASSERT_EQ
    - isEquivalentTo
    - ProjectedCRS::create
    - auto::front
    - auto::size
    - static_cast<const CRS *>
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - getEPSGCode
    - PropertyMap
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_identify_no_db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2971,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2972,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2973,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:2974,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:2974,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2977,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2979,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2980,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2980,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2981,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2981,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2981,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2982,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2982,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2985,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2986,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2986,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2989,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2990,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2990,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:2995,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:2997,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2998,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:2998,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:2999,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:2999,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:2999,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3000,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3000,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3005,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3006,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:3007,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3012,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:3012,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:3013,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3014,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3015,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3015,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3016,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3016,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3017,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3017,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3021,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3022,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:3023,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3028,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:3028,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:3029,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3030,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3031,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3031,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3032,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3032,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3032,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3033,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3033,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3037,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3038,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:3039,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3041,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:3041,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:3042,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3043,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3044,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3044,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3045,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3045,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3046,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3046,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3050,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3051,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:3052,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3054,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:3054,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:3055,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3056,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3057,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3057,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3058,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3058,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3058,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3059,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3059,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3063,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3064,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:3065,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3066,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:3066,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:3067,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3068,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3069,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3069,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3070,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3070,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3070,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3071,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3071,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3075,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3076,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:3077,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:3079,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:3079,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:3080,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3081,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3082,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3083,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3083,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3083,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3084,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3084,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3088,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3094,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3095,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3096,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3097,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3097,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3098,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3098,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3099,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3099,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3104,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3108,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3109,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3110,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3111,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3111,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3112,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3112,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3112,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3113,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3113,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3117,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3130,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3131,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3132,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3133,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3134,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3134,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3135,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3135,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3139,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3152,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3153,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3154,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3155,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3155,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3156,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3156,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3156,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3157,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3157,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3161,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3173,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3174,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3175,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3176,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3176,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3177,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3177,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3177,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3178,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3178,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3182,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3195,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3196,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3197,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3198,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3198,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3199,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3199,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3200,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3200,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3204,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3206,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3207,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3208,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3209,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3209,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3214,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3222,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3223,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3224,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3224,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3225,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3226,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3226,1
    - Dst: first::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3229,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:3229,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3231,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3235,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3241,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3246,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3247,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3249,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3249,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3250,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3250,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3250,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3251,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3251,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3255,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3261,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3262,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3263,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3264,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3264,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3265,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3265,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3266,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3266,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3271,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3284,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3285,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3286,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3286,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3287,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3288,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3288,1
    - Dst: first::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3291,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:3291,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3293,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3297,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3301,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3318,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3319,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3320,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3320,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3321,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3322,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3322,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3323,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3323,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3324,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3324,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3332,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3346,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3347,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3348,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3348,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3349,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3350,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3350,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3351,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3351,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3351,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3352,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3352,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3360,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3371,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3372,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3373,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3374,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3374,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3375,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3375,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3375,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3376,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3376,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3383,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3395,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3396,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3397,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3397,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3398,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3399,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3400,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3400,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3400,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3401,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3401,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3405,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3420,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3421,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3422,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3423,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3423,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3424,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3424,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3424,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3425,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3425,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3429,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3441,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3442,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3443,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3444,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3444,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3445,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3445,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3445,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3446,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3446,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3450,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3462,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3463,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3464,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3465,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3465,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3466,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3466,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3467,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3467,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3474,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3485,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3486,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3487,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3487,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3488,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3489,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3489,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3490,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3490,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3491,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3491,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3495,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3507,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3508,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3509,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3509,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3510,1
    - Dst: first::getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3513,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3515,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3518,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3560,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3561,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3562,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3564,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3564,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3565,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3566,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3567,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3567,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3567,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3568,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3568,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3610,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3611,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3612,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3614,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3615,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3615,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3616,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3616,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3616,1
    - Dst: EXPECT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3617,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3617,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3639,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3639,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3642,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3643,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3644,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3645,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3645,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3646,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3647,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3647,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3648,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3648,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3648,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3649,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3649,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3656,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3669,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3670,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3671,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3671,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3672,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3673,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3673,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3674,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3674,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:3674,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3675,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3675,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3681,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3714,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3715,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3716,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3716,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3717,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3718,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3718,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3719,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3719,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3719,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:3719,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3720,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3720,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3720,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:3720,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3722,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3722,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3727,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3739,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3740,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3741,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3741,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3742,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3743,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3743,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3744,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3744,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3744,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:3744,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3745,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3745,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3745,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:3745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3746,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3746,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3751,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3763,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3764,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3765,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3765,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3766,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3767,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3767,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3768,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3768,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3768,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:3768,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3769,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3769,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3769,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:3769,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3770,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3770,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3775,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3798,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3799,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3800,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:3801,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3801,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3802,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3802,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3802,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_crs.cpp:3802,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3803,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3803,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3803,1
    - Dst: codeSpace
      Src: /src/PROJ/test/unit/test_crs.cpp:3803,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3804,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3804,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3810,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3845,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3846,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3847,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3847,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3848,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3849,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3849,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 198
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3851
      start: 2970
    functionDepth: 1
    functionLinenumber: 2970
    functionLinenumberEnd: 3851
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - EXPECT_GE
    - auto::identify
    - first::identifiers
    - codeSpace
    - auto::createProjectedCRS
    - code
    - ASSERT_EQ
    - ProjectedCRS::create
    - std::string
    - auto::front
    - ASSERT_GE
    - auto::size
    - first::getEPSGCode
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - getEPSGCode
    - PropertyMap
    - auto::derivingConversion
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_identify_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3856,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3857,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:3857,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3859,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3875,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3876,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:3877,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3878,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3878,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3879,1
    - Dst: identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:3879,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3880,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:3880,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3881,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3881,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3882,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:3882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3855
    functionDepth: 1
    functionLinenumber: 3855
    functionLinenumberEnd: 3883
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - auto::front
    - ASSERT_EQ
    - auto::size
    - EXPECT_EQ
    - auto::identify
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - WKTParser
    - DatabaseContext::create
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projectedCRS_identify_wrong_auth_name_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3889,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3892,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3893,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3906,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:3906,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3907,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3887
    functionDepth: 1
    functionLinenumber: 3887
    functionLinenumberEnd: 3911
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, mercator_1SP_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3917,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3919,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3920,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3931,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:3931,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3932,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3915
    functionDepth: 1
    functionLinenumber: 3915
    functionLinenumberEnd: 3936
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Plate_Carree_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3942,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3943,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3944,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3956,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:3956,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3957,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3961
      start: 3940
    functionDepth: 1
    functionLinenumber: 3940
    functionLinenumberEnd: 3961
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Equidistant_Cylindrical_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3967,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3969,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:3970,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:3986,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:3986,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3987,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:3988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3965
    functionDepth: 1
    functionLinenumber: 3965
    functionLinenumberEnd: 3991
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Hotine_Oblique_Mercator_Azimuth_Natural_Origin_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:3997,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:3999,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4000,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4016,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4016,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4017,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 3995
    functionDepth: 1
    functionLinenumber: 3995
    functionLinenumberEnd: 4021
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Rectified_Skew_Orthomorphic_Natural_Origin_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4027,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4029,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4045,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4045,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4046,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 4025
    functionDepth: 1
    functionLinenumber: 4025
    functionLinenumberEnd: 4050
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Hotine_Oblique_Mercator_Azimuth_Center_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4056,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4058,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4059,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4075,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4075,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4076,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 4054
    functionDepth: 1
    functionLinenumber: 4054
    functionLinenumberEnd: 4080
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Rectified_Skew_Orthomorphic_Center_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4086,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4088,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4089,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4102,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4102,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4103,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4107
      start: 4084
    functionDepth: 1
    functionLinenumber: 4084
    functionLinenumberEnd: 4107
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Gauss_Kruger_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4113,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4115,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4128,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4128,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4129,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4111
    functionDepth: 1
    functionLinenumber: 4111
    functionLinenumberEnd: 4133
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Stereographic_North_Pole_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4139,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4141,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4142,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4154,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4154,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4155,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4137
    functionDepth: 1
    functionLinenumber: 4137
    functionLinenumberEnd: 4159
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Stereographic_South_Pole_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4166,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4167,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4168,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4187,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4187,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4188,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4163
    functionDepth: 1
    functionLinenumber: 4163
    functionLinenumberEnd: 4192
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Krovak_North_Orientated_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4198,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4200,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4201,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4220,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4220,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4221,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4225
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, Krovak_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4231,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4233,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4234,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4248,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4248,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4249,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4229
    functionDepth: 1
    functionLinenumber: 4229
    functionLinenumberEnd: 4253
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, LCC_1SP_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4259,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4261,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4276,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4276,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4277,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4257
    functionDepth: 1
    functionLinenumber: 4257
    functionLinenumberEnd: 4281
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, LCC_2SP_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4301,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4302,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4303,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4319,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4319,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4320,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4285
    functionDepth: 1
    functionLinenumber: 4285
    functionLinenumberEnd: 4324
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    - DatabaseContext::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, ESRI_WKT1_to_ESRI_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4330,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4331,1
    - Dst: Meridian::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4333,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_crs.cpp:4333,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4334,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4335,1
    - Dst: Meridian::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4337,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_crs.cpp:4337,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4352,1
    - Dst: auto::setOutputId
      Src: /src/PROJ/test/unit/test_crs.cpp:4353,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4354,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4354,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4355
      start: 4328
    functionDepth: 1
    functionLinenumber: 4328
    functionLinenumberEnd: 4355
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap
    - Angle
    - EXPECT_EQ
    - WKTFormatter::create
    - CoordinateSystemAxis::create
    - auto::setOutputId
    - auto::exportToWKT
    - Meridian::create
    linkageType: ''
    returnType: void
    signature: void TEST(datum, cs_with_MERIDIAN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4376,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4376,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4377,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4379,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_crs.cpp:4379,1
    - Dst: auto::domains
      Src: /src/PROJ/test/unit/test_crs.cpp:4380,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4381,1
    - Dst: auto::scope
      Src: /src/PROJ/test/unit/test_crs.cpp:4381,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4382,1
    - Dst: auto::scope
      Src: /src/PROJ/test/unit/test_crs.cpp:4382,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4383,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4383,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4384,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4384,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4385,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4385,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4386,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4386,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4387,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_crs.cpp:4388,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4389,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4390,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/test/unit/test_crs.cpp:4390,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4391,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:4391,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4392,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/test/unit/test_crs.cpp:4392,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4393,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:4393,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4395,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4395,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4396,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4397,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/test/unit/test_crs.cpp:4397,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4398,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/test/unit/test_crs.cpp:4398,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4399,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:4399,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4401,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4401,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/test/unit/test_crs.cpp:4402,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4403,1
    - Dst: auto::start
      Src: /src/PROJ/test/unit/test_crs.cpp:4403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4404,1
    - Dst: auto::stop
      Src: /src/PROJ/test/unit/test_crs.cpp:4404,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4406,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4406,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4359
    functionDepth: 1
    functionLinenumber: 4359
    functionLinenumberEnd: 4434
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::westBoundLongitude
    - EXPECT_EQ
    - auto::minimumValue
    - auto::domains
    - auto::scope
    - auto::eastBoundLongitude
    - auto::exportToWKT
    - auto::southBoundLatitude
    - ASSERT_EQ
    - WKTFormatter::create
    - auto::stop
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::northBoundLatitude
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeographicBoundingBox>
    - auto::domainOfValidity
    - auto::maximumValue
    - auto::start
    - auto::unit
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, scope_area_bbox_remark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4449,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4449,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4450,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4452,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4453,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4476
      start: 4438
    functionDepth: 1
    functionLinenumber: 4438
    functionLinenumberEnd: 4476
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<GeodeticCRS>
    - EXPECT_EQ
    - WKTFormatter::create
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4482,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:4483,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4484,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_crs.cpp:4485,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4485,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4486,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_crs.cpp:4487,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4487,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4488,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:4489,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4490,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:4492,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4494,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4480
    functionDepth: 1
    functionLinenumber: 4480
    functionLinenumberEnd: 4508
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - Identifier::create
    - ArrayOfBaseObject::create
    - auto::add
    - GeodeticCRS::create
    - WKTFormatter::create
    - CartesianCS::createGeocentric
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, multiple_ID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4513,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:4514,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4517,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4518,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:4519,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4522,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:4524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4525
      start: 4512
    functionDepth: 1
    functionLinenumber: 4512
    functionLinenumberEnd: 4525
    functionName: createVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 22
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr createVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4530,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4538,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4538,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4538,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4539,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:4539,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4539,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:4540,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4540,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:4540,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4542,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4542,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4529
    functionDepth: 1
    functionLinenumber: 4529
    functionLinenumberEnd: 4543
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createUnrelatedObject
    - EXPECT_EQ
    - EXPECT_FALSE
    - WKTFormatter::create
    - auto::isEquivalentTo
    - createVerticalCRS
    - auto::shallowClone
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4548,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4557,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4558,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4561
      start: 4547
    functionDepth: 1
    functionLinenumber: 4547
    functionLinenumberEnd: 4561
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createVerticalCRS
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4566,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4572,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4573,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4576
      start: 4565
    functionDepth: 1
    functionLinenumber: 4565
    functionLinenumberEnd: 4576
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createVerticalCRS
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4581,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4587,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4587,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4588,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4592
      start: 4580
    functionDepth: 1
    functionLinenumber: 4580
    functionLinenumberEnd: 4592
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - createVerticalCRS
    - DatabaseContext::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_as_WKT1_ESRI_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:4601,1
    - Dst: nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:4602,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4603,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4604,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4605,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4608
      start: 4596
    functionDepth: 1
    functionLinenumber: 4596
    functionLinenumberEnd: 4608
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<VerticalCRS>
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_down_as_WKT1_ESRI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4613,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4614,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4615,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4619,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4619,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4612
    functionDepth: 1
    functionLinenumber: 4612
    functionLinenumberEnd: 4625
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_ESRI_115834_as_WKT1_ESRI_with_database)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4630,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4631,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4634,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4635,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4635,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4636,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4636,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:4636,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4637,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4637,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4640,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4641,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4645,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4646,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4647,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:4648,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:4651,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_crs.cpp:4651,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4652,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:4653,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4654,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4654,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4658,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4659,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4660,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:4661,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:4664,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_crs.cpp:4664,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4665,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:4666,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4667,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4667,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4668,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4668,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:4668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4669,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4669,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4673,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4674,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4675,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:4675,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:4676,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_crs.cpp:4676,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4677,1
    - Dst: static_cast<const CRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:4678,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4678,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4679,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4679,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4680,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4680,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:4680,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4681,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4681,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4685,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4686,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4687,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:4688,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_crs.cpp:4688,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4689,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:4690,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4691,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4691,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4692,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4692,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:4692,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4693,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4693,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4697,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4698,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4699,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:4700,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_crs.cpp:4700,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4701,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:4702,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4703,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4703,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4704,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4704,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:4704,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4705,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:4705,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4708,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4709,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4710,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:4711,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/test/unit/test_crs.cpp:4711,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:4712,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:4713,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4714,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:4714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4629
    functionDepth: 1
    functionLinenumber: 4629
    functionLinenumberEnd: 4716
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::front
    - ASSERT_EQ
    - EXPECT_TRUE
    - auto::size
    - PropertyMap
    - EXPECT_EQ
    - auto::nameStr
    - auto::coordinateSystem
    - auto::datumEnsemble
    - auto::identify
    - static_cast<const CRS *>
    - VerticalCRS::create
    - auto::createVerticalCRS
    - DatabaseContext::create
    - getEPSGCode
    - auto::datum
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_identify_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4721,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4722,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4724,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4725,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4726,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4727,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4728,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4729,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4730,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:4731,1
    - Dst: WKTFormatterNNPtr::simulCurNodeHasId
      Src: /src/PROJ/test/unit/test_crs.cpp:4734,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4735,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4735,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4744,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:4744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4720
    functionDepth: 1
    functionLinenumber: 4720
    functionLinenumberEnd: 4745
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - VerticalCS::createGravityRelatedHeight
    - WKTFormatterNNPtr::get
    - VerticalCRS::create
    - VerticalReferenceFrame::create
    - auto::exportToWKT
    - DatumEnsemble::create
    - PositionalAccuracy::create
    - WKTFormatterNNPtr::toString
    - WKTFormatterNNPtr::simulCurNodeHasId
    linkageType: ''
    returnType: void
    signature: void TEST(crs, verticalCRS_datum_ensemble)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:4750,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4750,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4750,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:4751,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4755,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4756,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4759,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:4760,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4760,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4760,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:4761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4749
    functionDepth: 1
    functionLinenumber: 4749
    functionLinenumberEnd: 4764
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - EXPECT_THROW
    - DatumEnsemble::create
    - PositionalAccuracy::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, VerticalCRS_ensemble_exception_in_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4769,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:4770,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4773,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:4774,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/test/unit/test_crs.cpp:4775,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4776,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/test/unit/test_crs.cpp:4776,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4777,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/test/unit/test_crs.cpp:4777,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4783,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4783,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4783,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4785,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4785,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4785,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:4786,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4786,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:4786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4787
      start: 4768
    functionDepth: 1
    functionLinenumber: 4768
    functionLinenumberEnd: 4787
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - auto::realizationMethod
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - VerticalReferenceFrame::create
    - optional<RealizationMethod>
    - auto::exportToWKT
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(datum, vdatum_with_anchor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4792,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_crs.cpp:4793,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4796,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:4798,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4799
      start: 4791
    functionDepth: 2
    functionLinenumber: 4791
    functionLinenumberEnd: 4799
    functionName: createCompoundCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 6
    functionsReached:
    - CompoundCRS::create
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - createProjected
    - createVerticalCRS
    linkageType: ''
    returnType: CompoundCRSNNPtr
    signature: CompoundCRSNNPtr createCompoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4805,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4806,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4807,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4811,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4812,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:4813,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:4814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4803
    functionDepth: 2
    functionLinenumber: 4803
    functionLinenumberEnd: 4815
    functionName: createDerivedProjectedCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap
    - createProjected
    - CartesianCS::createEastingNorthing
    - Conversion::create
    - DerivedProjectedCRS::create
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: DerivedProjectedCRSNNPtr createDerivedProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4819,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4820,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4821,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4825,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4826,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:4827,1
    - Dst: CartesianCS::createNorthingEasting
      Src: /src/PROJ/test/unit/test_crs.cpp:4828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4829
      start: 4817
    functionDepth: 2
    functionLinenumber: 4817
    functionLinenumberEnd: 4829
    functionName: createDerivedProjectedCRSNorthingEasting
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - CartesianCS::createNorthingEasting
    - createProjected
    - Conversion::create
    - DerivedProjectedCRS::create
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: DerivedProjectedCRSNNPtr createDerivedProjectedCRSNorthingEasting()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4835,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4836,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4837,1
    - Dst: DerivedVerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4841,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4842,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4843,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:4844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4845
      start: 4833
    functionDepth: 1
    functionLinenumber: 4833
    functionLinenumberEnd: 4845
    functionName: createDerivedVerticalCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - DerivedVerticalCRS::create
    - VerticalCS::createGravityRelatedHeight
    - createVerticalCRS
    - Conversion::create
    linkageType: ''
    returnType: DerivedVerticalCRSNNPtr
    signature: DerivedVerticalCRSNNPtr createDerivedVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4851,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4852,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4853,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4856,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4857,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:4858,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4858,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4861,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4861,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4862,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4863,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4866,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4866,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4867,1
    - Dst: createDerivedVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4849
    functionDepth: 3
    functionLinenumber: 4849
    functionLinenumberEnd: 4869
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - CompoundCRS::create
    - PropertyMap
    - createProjected
    - createVerticalCRS
    - createDerivedProjectedCRS
    - createDerivedVerticalCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:4874,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4874,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4874,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:4878,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4878,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4878,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:4879,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:4883,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4884,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4884,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:4890,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4891,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4891,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4873
    functionDepth: 2
    functionLinenumber: 4873
    functionLinenumberEnd: 4895
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - CompoundCRS::create
    - PropertyMap
    - createProjected
    - createVerticalCRS
    - EXPECT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4900,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4942,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4942,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4943
      start: 4899
    functionDepth: 3
    functionLinenumber: 4899
    functionLinenumberEnd: 4943
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - createCompoundCRS
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_as_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4949,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4950,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4950,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4950,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:4951,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:4951,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4951,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:4952,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4952,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:4952,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4953,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:4954,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4955,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:4956,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:4956,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:4956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4957
      start: 4947
    functionDepth: 3
    functionLinenumber: 4947
    functionLinenumberEnd: 4957
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createCompoundCRS
    - CompoundCRS::create
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - createVerticalCRS
    - auto::shallowClone
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_isEquivalentTo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:4962,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:4996,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:4997,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:4998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4961
    functionDepth: 3
    functionLinenumber: 4961
    functionLinenumberEnd: 5000
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - createCompoundCRS
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_as_WKT1_GDAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5005,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5006,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5006,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5009
      start: 5004
    functionDepth: 3
    functionLinenumber: 5004
    functionLinenumberEnd: 5009
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - createCompoundCRS
    - PROJStringFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_as_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5014,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5015,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:5016,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5016,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5017,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5018
      start: 5013
    functionDepth: 2
    functionLinenumber: 5013
    functionLinenumberEnd: 5018
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - CompoundCRS::create
    - PropertyMap
    - EXPECT_EQ
    - createProjected
    - createVerticalCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_no_name_provided)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5023,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5024,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5027,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5028,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5028,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5029,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5029,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5029,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5030,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5030,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5033,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5034,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5038,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5039,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5040,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5041,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5044,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5045,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5046,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5046,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5050,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5051,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5052,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5053,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5056,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5057,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5058,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5058,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5059,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5059,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5059,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5060,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5060,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5064,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5065,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5066,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5066,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5067,1
    - Dst: static_cast<const CRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:5068,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5068,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5069,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5069,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5070,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5070,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5070,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5071,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5071,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5074,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_crs.cpp:5074,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5079,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5080,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5081,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5083,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5084,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5085,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5085,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5086,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5086,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5086,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5087,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5087,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5091,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5092,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5093,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5095,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5096,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5097,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5097,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5098,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5098,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5098,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5099,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5099,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5102,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5103,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5104,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5105,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5106,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5107,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5107,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5108,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5108,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5108,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5109,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5109,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5112,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5117,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5118,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5120,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5124,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5125,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5126,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5129,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5130,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5131,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5132,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5133,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5133,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5134,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5134,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5134,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5135,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5135,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:5140,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5141,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5142,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5143,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5144,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5147,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5148,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5149,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5150,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5151,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5151,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5152,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5152,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5152,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5153,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5153,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5154,1
    - Dst: componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:5154,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5155,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5155,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5156,1
    - Dst: getEPSGCode
      Src: /src/PROJ/test/unit/test_crs.cpp:5156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5158
      start: 5022
    functionDepth: 3
    functionLinenumber: 5022
    functionLinenumberEnd: 5158
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::identify
    - componentReferenceSystems
    - auto::exportToWKT
    - auto::nameStr
    - ASSERT_EQ
    - auto::createCompoundCRS
    - WKTFormatter::create
    - auto::front
    - CompoundCRS::create
    - auto::componentReferenceSystems
    - auto::size
    - nn_dynamic_pointer_cast<CompoundCRS>
    - static_cast<const CRS *>
    - ASSERT_TRUE
    - PROJStringParser
    - getEPSGCode
    - createFromUserInput
    - PropertyMap
    - DatabaseContext::create
    - WKTParser
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, compoundCRS_identify_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5164,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5165,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5166,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5167,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:5169,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:5170,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5170,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:5171,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5176,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5176,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5176,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5178,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5178,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5178,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5180,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5180,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5181,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5181,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5182,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5184,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5184,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5185,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5185,1
    - Dst: nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5186,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5188,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5189,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5189,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5192,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5193,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5194,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5195,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5196,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5197,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5198,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5198,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5200,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5200,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5201,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5201,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5205,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5206,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5207,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5208,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5209,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5209,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5210,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5211,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5211,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5212,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5213,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5213,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5214,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5214,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5218,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5219,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5220,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5221,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5222,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5222,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5223,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5224,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5224,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5225,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5226,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5226,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5227,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5227,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5231,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5232,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5233,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5234,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5235,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5235,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5237,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5237,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5238,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5239,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5239,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5240,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5240,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5244,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5245,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5246,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5247,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5248,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5248,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5249,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5250,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5250,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5251,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5252,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5252,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5253,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5253,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5257,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5258,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5259,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5260,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5261,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5263,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5263,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5264,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5265,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5265,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5266,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5266,1
    - Dst: nn_dynamic_pointer_cast<OperationParameterValue>
      Src: /src/PROJ/test/unit/test_crs.cpp:5270,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5271,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5272,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/test/unit/test_crs.cpp:5273,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5274,1
    - Dst: auto::parameter
      Src: /src/PROJ/test/unit/test_crs.cpp:5274,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5276,1
    - Dst: auto::type
      Src: /src/PROJ/test/unit/test_crs.cpp:5276,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5277,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5278,1
    - Dst: auto::unit
      Src: /src/PROJ/test/unit/test_crs.cpp:5278,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5279,1
    - Dst: auto::value
      Src: /src/PROJ/test/unit/test_crs.cpp:5279,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5284,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5284,1
    - Dst: exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5286,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5286,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5308,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_crs.cpp:5309,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_crs.cpp:5310,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5310,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5310,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_crs.cpp:5312,1
    - Dst: replaceAll
      Src: /src/PROJ/test/unit/test_crs.cpp:5312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5314,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5314,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5314,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5315,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:5315,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5315,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:5316,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5316,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:5316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5162
    functionDepth: 1
    functionLinenumber: 5162
    functionLinenumberEnd: 5317
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::baseCRS
    - BoundCRS::createFromTOWGS84
    - auto::parameter
    - nameStr
    - auto::exportToWKT
    - EllipsoidalCS::createLatitudeLongitude
    - auto::hubCRS
    - auto::nameStr
    - ASSERT_EQ
    - WKTFormatter::create
    - ProjectedCRS::create
    - replaceAll
    - nn_dynamic_pointer_cast<OperationParameterValue>
    - auto::size
    - GeographicCRS::create
    - ASSERT_TRUE
    - auto::shallowClone
    - PropertyMap
    - createUnrelatedObject
    - EXPECT_FALSE
    - CartesianCS::createEastingNorthing
    - auto::unit
    - exportToWKT
    - Conversion::createUTM
    - auto::isEquivalentTo
    - auto::parameterValue
    - auto::type
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_to_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5398,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5398,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5399,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5400,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:5400,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5402,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5403,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5321
    functionDepth: 1
    functionLinenumber: 5321
    functionLinenumberEnd: 5405
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - WKTParser
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_with_usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:5414,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/test/unit/test_crs.cpp:5415,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5416,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5416,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5418,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5420,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5420,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5422,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5422,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5424,1
    - Dst: std::weak_ptr::expired
      Src: /src/PROJ/test/unit/test_crs.cpp:5424,1
    - Dst: shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:5430,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5431,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5432,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5434,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5435,1
    - Dst: CRSPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5435,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5437,1
    - Dst: CRSPtr::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5437,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5437,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5438,1
    - Dst: CRSPtr::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5438,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5444,1
    - Dst: shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:5445,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5447,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5449,1
    - Dst: CRSPtr::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5449,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5449,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5450,1
    - Dst: CRSPtr::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5450,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5452,1
    - Dst: CRSPtr::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:5453,1
    - Dst: CRSPtr::canonicalBoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5457,1
    - Dst: shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:5465,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/test/unit/test_crs.cpp:5466,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5467,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5467,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5468,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5470,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5470,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5471,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5473,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5473,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5475,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5475,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5476,1
    - Dst: std::weak_ptr::expired
      Src: /src/PROJ/test/unit/test_crs.cpp:5476,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5477,1
    - Dst: BoundCRSPtr::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5477,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5478,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5480,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5480,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5481,1
    - Dst: std::weak_ptr::expired
      Src: /src/PROJ/test/unit/test_crs.cpp:5481,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:5489,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/test/unit/test_crs.cpp:5490,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5491,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5491,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5492,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5494,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5494,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5495,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5497,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5497,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5499,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5499,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5500,1
    - Dst: std::weak_ptr::expired
      Src: /src/PROJ/test/unit/test_crs.cpp:5500,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5501,1
    - Dst: BoundCRSPtr::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5501,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:5502,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5504,1
    - Dst: std::weak_ptr::use_count
      Src: /src/PROJ/test/unit/test_crs.cpp:5504,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5505,1
    - Dst: std::weak_ptr::expired
      Src: /src/PROJ/test/unit/test_crs.cpp:5505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5507
      start: 5409
    functionDepth: 2
    functionLinenumber: 5409
    functionLinenumberEnd: 5507
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - CRSPtr::isEquivalentTo
    - CRSPtr::canonicalBoundCRS
    - EXPECT_TRUE
    - auto::baseCRSWithCanonicalBoundCRS
    - get
    - CRSPtr::createBoundCRSToWGS84IfPossible
    - EXPECT_EQ
    - auto::baseCRS
    - BoundCRS::createFromTOWGS84
    - createProjected
    - std::weak_ptr::expired
    - auto::as_nullable
    - CRSPtr::get
    - BoundCRSPtr::baseCRS
    - std::weak_ptr::use_count
    - shallowClone
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_crs_link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5513,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5514,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5515,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5516,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:5518,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:5519,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5519,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:5520,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5522,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5546,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5547,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5511
    functionDepth: 1
    functionLinenumber: 5511
    functionLinenumberEnd: 5550
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - GeographicCRS::create
    - WKTFormatter::create
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - ProjectedCRS::create
    - auto::exportToWKT
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_to_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5556,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5557,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:5559,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5561,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5564,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5565,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5567
      start: 5554
    functionDepth: 1
    functionLinenumber: 5554
    functionLinenumberEnd: 5567
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - GeographicCRS::create
    - PROJStringFormatter::create
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_geographicCRS_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5573,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5574,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5575,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5576,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:5578,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:5579,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5579,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:5580,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:5582,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5585,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5585,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5588
      start: 5571
    functionDepth: 1
    functionLinenumber: 5571
    functionLinenumberEnd: 5588
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - PropertyMap
    - EXPECT_EQ
    - BoundCRS::createFromTOWGS84
    - GeographicCRS::create
    - CartesianCS::createEastingNorthing
    - PROJStringFormatter::create
    - Conversion::createUTM
    - ProjectedCRS::create
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_projectedCRS_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5594,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5595,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_crs.cpp:5598,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_crs.cpp:5600,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5602,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:5604,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5606,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5606,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5612
      start: 5592
    functionDepth: 1
    functionLinenumber: 5592
    functionLinenumberEnd: 5612
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - NN_CHECK_THROW
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_nadcon_to_PROJ_string_usePROJAlternativeGridNames_false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5618,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5619,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/test/unit/test_crs.cpp:5622,1
    - Dst: nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/test/unit/test_crs.cpp:5624,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5626,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:5628,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5630,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5631,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5636
      start: 5616
    functionDepth: 1
    functionLinenumber: 5616
    functionLinenumberEnd: 5636
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - NN_CHECK_THROW
    - auto::exportToPROJString
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::createCoordinateOperation
    - DatabaseContext::create
    - AuthorityFactory::create
    - nn_dynamic_pointer_cast<Transformation>
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_nadcon_to_PROJ_string_usePROJAlternativeGridNames_true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5641,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5642,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5644,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5651,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5652,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5653,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5654,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5654,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:5655,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5655,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5655,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5656,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5657,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5657,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5658,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5658,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5660,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5660,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5669,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5687,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5688,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5689,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5690,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5690,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5691,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5691,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:5692,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5692,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5692,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5693,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5694,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5694,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5695,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5695,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5700,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5703,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5704,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5705,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5706,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5706,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:5707,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5707,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5707,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5708,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5709,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5709,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5710,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5710,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5715,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5721,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5722,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5723,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5724,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5724,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5725,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5725,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:5726,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5726,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5726,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5727,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5728,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5729,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5729,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5735,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5753,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5754,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:5755,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5756,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:5756,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:5757,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5757,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:5757,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5758,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5759,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5759,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5760,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:5760,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5761,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:5761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5640
    functionDepth: 1
    functionLinenumber: 5640
    functionLinenumberEnd: 5763
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::transformation
    - auto::front
    - ASSERT_EQ
    - auto::size
    - get
    - EXPECT_EQ
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - dynamic_cast<const BoundCRS *>
    - auto::identify
    - ASSERT_TRUE
    - PROJStringParser
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, boundCRS_identify_db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5769,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/test/unit/test_crs.cpp:5771,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5772,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_crs.cpp:5773,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:5775,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5776,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5779
      start: 5767
    functionDepth: 1
    functionLinenumber: 5767
    functionLinenumberEnd: 5779
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - PropertyMap
    - Transformation::createGeocentricTranslations
    - std::vector<PositionalAccuracyNNPtr>
    - WKTFormatter::create
    - EXPECT_THROW
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, incompatible_boundCRS_hubCRS_to_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5785,1
    - Dst: Transformation::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5787,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5787,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5788,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/test/unit/test_crs.cpp:5789,1
    - Dst: std::vector<ParameterValueNNPtr>
      Src: /src/PROJ/test/unit/test_crs.cpp:5790,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/test/unit/test_crs.cpp:5791,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:5793,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5794,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5783
    functionDepth: 1
    functionLinenumber: 5783
    functionLinenumberEnd: 5797
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - PropertyMap
    - std::vector<PositionalAccuracyNNPtr>
    - std::vector<OperationParameterNNPtr>
    - WKTFormatter::create
    - std::vector<ParameterValueNNPtr>
    - EXPECT_THROW
    - Transformation::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, incompatible_boundCRS_transformation_to_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5819,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5820,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5821,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5823,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5824,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5825,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5828,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5829,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5832
      start: 5801
    functionDepth: 1
    functionLinenumber: 5801
    functionLinenumberEnd: 5832
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, WKT1_DATUM_EXTENSION_to_WKT1_and_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5846,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5847,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5848,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5850,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5851,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5854
      start: 5836
    functionDepth: 1
    functionLinenumber: 5836
    functionLinenumberEnd: 5854
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, WKT1_VERT_DATUM_EXTENSION_to_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5868,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5869,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5870,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5906,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:5906,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5909
      start: 5858
    functionDepth: 1
    functionLinenumber: 5858
    functionLinenumberEnd: 5909
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - ASSERT_TRUE
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, WKT1_VERT_DATUM_EXTENSION_to_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:5923,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:5924,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5925,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5927,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:5927,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5930
      start: 5913
    functionDepth: 1
    functionLinenumber: 5913
    functionLinenumberEnd: 5930
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - nn_dynamic_pointer_cast<BoundCRS>
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, WKT1_VERT_DATUM_EXTENSION_to_PROJ_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5935,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5935,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5937,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:5937,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5939,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5939,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5940,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5944
      start: 5934
    functionDepth: 2
    functionLinenumber: 5934
    functionLinenumberEnd: 5944
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - extractGeographicCRS
    - PropertyMap
    - CompoundCRS::create
    - EXPECT_EQ
    - createProjected
    - createVerticalCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, extractGeographicCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:5949,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5949,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5951,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5952,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5953,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5953,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5955
      start: 5948
    functionDepth: 3
    functionLinenumber: 5948
    functionLinenumberEnd: 5955
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - createCompoundCRS
    - EXPECT_EQ
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - createVerticalCRS
    - extractVerticalCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, extractVerticalCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5961,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5962,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5963,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5965,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5965,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5967,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5967,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5969,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5970,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5973,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_crs.cpp:5973,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5974,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_crs.cpp:5974,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5975,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_crs.cpp:5975,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:5978,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:5979,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:5981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5982
      start: 5959
    functionDepth: 1
    functionLinenumber: 5959
    functionLinenumberEnd: 5982
    functionName: createDerivedGeographicCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedGeographicCRS::create
    - ParameterValue::create
    - PropertyMap
    - Angle
    - Conversion::create
    - OperationParameter::create
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: DerivedGeographicCRSNNPtr
    signature: DerivedGeographicCRSNNPtr createDerivedGeographicCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5988,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:5989,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5989,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5989,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:5990,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:5990,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5991,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:5992,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:5992,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:5993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5994
      start: 5986
    functionDepth: 2
    functionLinenumber: 5986
    functionLinenumberEnd: 5994
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createDerivedGeographicCRS
    - auto::baseCRS
    - EXPECT_FALSE
    - auto::isEquivalentTo
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeographicCRS_basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6028,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6029,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6029,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6030,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6033,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6033,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6033,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6034,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6034,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6034,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6035,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6035,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6036
      start: 5998
    functionDepth: 2
    functionLinenumber: 5998
    functionLinenumberEnd: 6036
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createDerivedGeographicCRS
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::shallowClone
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeographicCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6071,1
    - Dst: createDerivedGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6072,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6075
      start: 6040
    functionDepth: 2
    functionLinenumber: 6040
    functionLinenumberEnd: 6075
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - createDerivedGeographicCRS
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeographicCRS_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6081,1
    - Dst: createDerivedGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6082,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6085
      start: 6079
    functionDepth: 2
    functionLinenumber: 6079
    functionLinenumberEnd: 6085
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTFormatter::create
    - createDerivedGeographicCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeographicCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:6114,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:6115,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6116,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6117,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:6118,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6118,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6122,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6123,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:6123,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6124,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6125,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:6126,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6132
      start: 6089
    functionDepth: 1
    functionLinenumber: 6089
    functionLinenumberEnd: 6132
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_EQ
    - auto::baseCRS
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeographicCRS_to_PROJ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:6170,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:6171,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6172,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6173,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:6173,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6174,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6175,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:6175,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6176,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6177,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:6177,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6179
      start: 6136
    functionDepth: 1
    functionLinenumber: 6136
    functionLinenumberEnd: 6179
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - EXPECT_TRUE
    - auto::baseCRS
    - EXPECT_EQ
    - PROJStringFormatter::create
    - auto::derivingConversion
    - ASSERT_TRUE
    - NN_NO_CHECK
    - WKTParser
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeographicCRS_with_affine_transform_to_PROJ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6185,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6186,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6187,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6191,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6192,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/test/unit/test_crs.cpp:6194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6195
      start: 6183
    functionDepth: 1
    functionLinenumber: 6183
    functionLinenumberEnd: 6195
    functionName: createDerivedGeodeticCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedGeodeticCRS::create
    - CartesianCS::createGeocentric
    - Conversion::create
    - PropertyMap
    linkageType: ''
    returnType: DerivedGeodeticCRSNNPtr
    signature: DerivedGeodeticCRSNNPtr createDerivedGeodeticCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6201,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6202,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6202,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6202,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6203,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6203,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6204,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6205,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6205,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6207
      start: 6199
    functionDepth: 2
    functionLinenumber: 6199
    functionLinenumberEnd: 6207
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - auto::baseCRS
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - createDerivedGeodeticCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeodeticCRS_basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6236,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6237,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6237,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6238,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6241,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6241,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6241,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6242,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6242,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6242,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6243,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6243,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6244
      start: 6211
    functionDepth: 2
    functionLinenumber: 6211
    functionLinenumberEnd: 6244
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::shallowClone
    - createDerivedGeodeticCRS
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeodeticCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6274,1
    - Dst: createDerivedGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6275,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6278
      start: 6248
    functionDepth: 2
    functionLinenumber: 6248
    functionLinenumberEnd: 6278
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - createDerivedGeodeticCRS
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeodeticCRS_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6284,1
    - Dst: createDerivedGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6285,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6288
      start: 6282
    functionDepth: 2
    functionLinenumber: 6282
    functionLinenumberEnd: 6288
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTFormatter::create
    - createDerivedGeodeticCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedGeodeticCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6335,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6336,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6337,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6340,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6340,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6340,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6341,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6341,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6341,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6342,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6342,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6342,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6344,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6346
      start: 6292
    functionDepth: 3
    functionLinenumber: 6292
    functionLinenumberEnd: 6346
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::shallowClone
    - auto::exportToWKT
    - auto::extractGeodeticCRS
    - createDerivedProjectedCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedProjectedCRS_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6352,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6353,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6354,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6357
      start: 6350
    functionDepth: 3
    functionLinenumber: 6350
    functionLinenumberEnd: 6357
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDerivedProjectedCRS
    - EXPECT_THROW
    - WKTFormatter::create
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedProjectedCRS_WKT2_2015)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6362,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6363,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6364,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6367
      start: 6361
    functionDepth: 1
    functionLinenumber: 6361
    functionLinenumberEnd: 6367
    functionName: createDateTimeTemporalCS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - DateTimeTemporalCS::create
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: DateTimeTemporalCSNNPtr
    signature: DateTimeTemporalCSNNPtr createDateTimeTemporalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6373,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6374,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6375,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6378,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6379,1
    - Dst: createDateTimeTemporalCS
      Src: /src/PROJ/test/unit/test_crs.cpp:6380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6381
      start: 6371
    functionDepth: 2
    functionLinenumber: 6371
    functionLinenumberEnd: 6381
    functionName: createDateTimeTemporalCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - TemporalCRS::create
    - PropertyMap
    - DateTime::create
    - TemporalDatum::create
    - createDateTimeTemporalCS
    linkageType: ''
    returnType: TemporalCRSNNPtr
    signature: TemporalCRSNNPtr createDateTimeTemporalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDateTimeTemporalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6393,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6394,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6394,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6395,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6398,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6399,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6400,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6403,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6403,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6403,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6404,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6404,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6404,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6405,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6405,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6406
      start: 6385
    functionDepth: 3
    functionLinenumber: 6385
    functionLinenumberEnd: 6406
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDateTimeTemporalCRS
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - createUnrelatedObject
    - WKTFormatter::create
    - auto::isEquivalentTo
    - EXPECT_THROW
    - auto::shallowClone
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, dateTimeTemporalCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6419,1
    - Dst: createDateTimeTemporalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6420,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6423
      start: 6410
    functionDepth: 3
    functionLinenumber: 6410
    functionLinenumberEnd: 6423
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDateTimeTemporalCRS
    - WKTFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, dateTimeTemporalCRS_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6429,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6430,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6431,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6434,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6435,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6436,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6436,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:6437,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6440,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6443
      start: 6427
    functionDepth: 1
    functionLinenumber: 6427
    functionLinenumberEnd: 6443
    functionName: createTemporalCountCRSWithConvFactor
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - TemporalCRS::create
    - PropertyMap
    - DateTime::create
    - CoordinateSystemAxis::create
    - TemporalDatum::create
    - UnitOfMeasure
    - TemporalCountCS::create
    linkageType: ''
    returnType: TemporalCRSNNPtr
    signature: TemporalCRSNNPtr createTemporalCountCRSWithConvFactor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6457,1
    - Dst: createTemporalCountCRSWithConvFactor
      Src: /src/PROJ/test/unit/test_crs.cpp:6458,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6461
      start: 6447
    functionDepth: 2
    functionLinenumber: 6447
    functionLinenumberEnd: 6461
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createTemporalCountCRSWithConvFactor
    - WKTFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, temporalCountCRSWithConvFactor_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6467,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6468,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6469,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6472,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6473,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6474,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6475,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:6477,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6479,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6483
      start: 6465
    functionDepth: 1
    functionLinenumber: 6465
    functionLinenumberEnd: 6483
    functionName: createTemporalCountCRSWithoutConvFactor
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - TemporalCRS::create
    - PropertyMap
    - DateTime::create
    - CoordinateSystemAxis::create
    - TemporalDatum::create
    - UnitOfMeasure
    - TemporalCountCS::create
    linkageType: ''
    returnType: TemporalCRSNNPtr
    signature: TemporalCRSNNPtr createTemporalCountCRSWithoutConvFactor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6497,1
    - Dst: createTemporalCountCRSWithoutConvFactor
      Src: /src/PROJ/test/unit/test_crs.cpp:6498,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6501
      start: 6487
    functionDepth: 2
    functionLinenumber: 6487
    functionLinenumberEnd: 6501
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createTemporalCountCRSWithoutConvFactor
    - WKTFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, temporalCountCRSWithoutConvFactor_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalDatum::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6507,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6508,1
    - Dst: DateTime::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6509,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6511,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6512,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6513,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6514,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:6516,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6518,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6521
      start: 6505
    functionDepth: 1
    functionLinenumber: 6505
    functionLinenumberEnd: 6521
    functionName: createTemporalMeasureCRSWithoutConvFactor
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - TemporalCRS::create
    - PropertyMap
    - DateTime::create
    - CoordinateSystemAxis::create
    - TemporalDatum::create
    - UnitOfMeasure
    - TemporalMeasureCS::create
    linkageType: ''
    returnType: TemporalCRSNNPtr
    signature: TemporalCRSNNPtr createTemporalMeasureCRSWithoutConvFactor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6535,1
    - Dst: createTemporalMeasureCRSWithoutConvFactor
      Src: /src/PROJ/test/unit/test_crs.cpp:6536,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6539
      start: 6525
    functionDepth: 2
    functionLinenumber: 6525
    functionLinenumberEnd: 6539
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter::create
    - createTemporalMeasureCRSWithoutConvFactor
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, temporalMeasureCRSWithoutConvFactor_WKT2_2019)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6545,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6546,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6548,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6549,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:6550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6551
      start: 6543
    functionDepth: 1
    functionLinenumber: 6543
    functionLinenumberEnd: 6551
    functionName: createEngineeringCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 4
    functionsReached:
    - EngineeringCRS::create
    - EngineeringDatum::create
    - PropertyMap
    - CartesianCS::createEastingNorthing
    linkageType: ''
    returnType: EngineeringCRSNNPtr
    signature: EngineeringCRSNNPtr createEngineeringCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6569,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6570,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6570,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6570,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6571,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6571,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6571,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6572,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6572,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6572,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6574,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6574,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6577
      start: 6555
    functionDepth: 2
    functionLinenumber: 6555
    functionLinenumberEnd: 6577
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createUnrelatedObject
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::isEquivalentTo
    - createEngineeringCRS
    - auto::shallowClone
    - auto::exportToWKT
    linkageType: ''
    returnType: void
    signature: void TEST(crs, engineeringCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6589,1
    - Dst: createEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6590,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6581
    functionDepth: 2
    functionLinenumber: 6581
    functionLinenumberEnd: 6593
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createEngineeringCRS
    - WKTFormatter::create
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, engineeringCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:6626,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:6627,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6628,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:6630,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:6631,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6632,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6634,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6635,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6635,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6636,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6637,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6638
      start: 6597
    functionDepth: 1
    functionLinenumber: 6597
    functionLinenumberEnd: 6638
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<CRS>
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, engineeringCRS_unknown_equivalence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricCS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6644,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6645,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6646,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6647,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:6649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6651
      start: 6642
    functionDepth: 1
    functionLinenumber: 6642
    functionLinenumberEnd: 6651
    functionName: createParametricCS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - UnitOfMeasure
    - ParametricCS::create
    - CoordinateSystemAxis::create
    - PropertyMap
    linkageType: ''
    returnType: ParametricCSNNPtr
    signature: ParametricCSNNPtr createParametricCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricDatum::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6657,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6658,1
    - Dst: ParametricCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6660,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6661,1
    - Dst: createParametricCS
      Src: /src/PROJ/test/unit/test_crs.cpp:6662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6663
      start: 6655
    functionDepth: 2
    functionLinenumber: 6655
    functionLinenumberEnd: 6663
    functionName: createParametricCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createParametricCS
    - ParametricDatum::create
    - ParametricCRS::create
    - PropertyMap
    linkageType: ''
    returnType: ParametricCRSNNPtr
    signature: ParametricCRSNNPtr createParametricCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6668,1
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6669
      start: 6667
    functionDepth: 3
    functionLinenumber: 6667
    functionLinenumberEnd: 6669
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createParametricCRS
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(crs, default_identify_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6680,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6681,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6681,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6681,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6682,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6682,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6682,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6683,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6683,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6683,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6685,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6685,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6688
      start: 6673
    functionDepth: 3
    functionLinenumber: 6673
    functionLinenumberEnd: 6688
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createUnrelatedObject
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::isEquivalentTo
    - auto::shallowClone
    - auto::exportToWKT
    - createParametricCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, parametricCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6694,1
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6695,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6698
      start: 6692
    functionDepth: 3
    functionLinenumber: 6692
    functionLinenumberEnd: 6698
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createParametricCRS
    - EXPECT_THROW
    - WKTFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, parametricCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6704,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6705,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6705,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6705,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6706,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6706,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6706,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6707,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6707,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6707,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6709,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6709,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6709,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:6710,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6710,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6711
      start: 6702
    functionDepth: 2
    functionLinenumber: 6702
    functionLinenumberEnd: 6711
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - createUnrelatedObject
    - auto::baseCRS
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - auto::shallowClone
    - createDerivedVerticalCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, derivedVerticalCRS_basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6728,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6729,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6729,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6732
      start: 6715
    functionDepth: 2
    functionLinenumber: 6715
    functionLinenumberEnd: 6732
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDerivedVerticalCRS
    - WKTFormatter::create
    - auto::exportToWKT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedVerticalCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6738,1
    - Dst: createDerivedVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6739,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6742
      start: 6736
    functionDepth: 2
    functionLinenumber: 6736
    functionLinenumberEnd: 6742
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDerivedVerticalCRS
    - EXPECT_THROW
    - WKTFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedVerticalCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:6749,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6749,1
    - Dst: DerivedVerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6752,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6753,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6754,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:6755,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6764,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6765,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6768
      start: 6746
    functionDepth: 1
    functionLinenumber: 6746
    functionLinenumberEnd: 6768
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - DerivedVerticalCRS::create
    - EXPECT_EQ
    - WKTFormatter::create
    - VerticalCS::createGravityRelatedHeight
    - createVerticalCRS
    - auto::exportToWKT
    - Conversion::createChangeVerticalUnit
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedVerticalCRS_WKT1_when_simple_derivation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6774,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6775,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6776,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_crs.cpp:6780,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6781,1
    - Dst: createEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6782,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:6783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6784
      start: 6772
    functionDepth: 2
    functionLinenumber: 6772
    functionLinenumberEnd: 6784
    functionName: createDerivedEngineeringCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - CartesianCS::createEastingNorthing
    - createEngineeringCRS
    - Conversion::create
    - proj_context_create
    linkageType: ''
    returnType: DerivedEngineeringCRSNNPtr
    signature: DerivedEngineeringCRSNNPtr createDerivedEngineeringCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6805,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6806,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6806,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6806,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6807,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6807,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6807,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6808,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6808,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6808,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6809,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6809,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:6810,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6811,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:6812,1
    - Dst: createEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6812,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6814,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6815,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6816,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6818,1
    - Dst: createDerivedEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6819,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6822
      start: 6788
    functionDepth: 3
    functionLinenumber: 6788
    functionLinenumberEnd: 6822
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - auto::coordinateSystem
    - createDerivedEngineeringCRS
    - createUnrelatedObject
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::isEquivalentTo
    - CartesianCS::createEastingNorthing
    - createEngineeringCRS
    - auto::shallowClone
    - EXPECT_THROW
    - auto::exportToWKT
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedEngineeringCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6828,1
    - Dst: createDerivedEngineeringCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6829,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6832
      start: 6826
    functionDepth: 3
    functionLinenumber: 6826
    functionLinenumberEnd: 6832
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTFormatter::create
    - createDerivedEngineeringCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedEngineeringCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6838,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6839,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6840,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_crs.cpp:6844,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6845,1
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6846,1
    - Dst: createParametricCS
      Src: /src/PROJ/test/unit/test_crs.cpp:6846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6847
      start: 6836
    functionDepth: 3
    functionLinenumber: 6836
    functionLinenumberEnd: 6847
    functionName: createDerivedParametricCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - createParametricCS
    - Conversion::create
    - proj_context_create
    - createParametricCRS
    linkageType: ''
    returnType: DerivedParametricCRSNNPtr
    signature: DerivedParametricCRSNNPtr createDerivedParametricCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6862,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6863,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6863,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6863,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6864,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6864,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6864,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6865,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6865,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6865,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6866,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6867,1
    - Dst: createParametricCS
      Src: /src/PROJ/test/unit/test_crs.cpp:6867,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6868,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:6869,1
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6869,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6871,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6872,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6851
    functionDepth: 4
    functionLinenumber: 6851
    functionLinenumberEnd: 6875
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - auto::coordinateSystem
    - createUnrelatedObject
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::isEquivalentTo
    - createParametricCS
    - auto::shallowClone
    - auto::exportToWKT
    - createParametricCRS
    - auto::datum
    - createDerivedParametricCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedParametricCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6881,1
    - Dst: createDerivedParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6882,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6885
      start: 6879
    functionDepth: 4
    functionLinenumber: 6879
    functionLinenumberEnd: 6885
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THROW
    - WKTFormatter::create
    - createDerivedParametricCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DerivedParametricCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6891,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6892,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6893,1
    - Dst: proj_context_create
      Src: /src/PROJ/test/unit/test_crs.cpp:6897,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:6898,1
    - Dst: createDateTimeTemporalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6899,1
    - Dst: createDateTimeTemporalCS
      Src: /src/PROJ/test/unit/test_crs.cpp:6900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6901
      start: 6889
    functionDepth: 3
    functionLinenumber: 6889
    functionLinenumberEnd: 6901
    functionName: createDerivedTemporalCRS
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDateTimeTemporalCRS
    - PropertyMap
    - Conversion::create
    - createDateTimeTemporalCS
    - proj_context_create
    linkageType: ''
    returnType: DerivedTemporalCRSNNPtr
    signature: DerivedTemporalCRSNNPtr createDerivedTemporalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedTemporalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6917,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6918,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6918,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6918,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6919,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/test/unit/test_crs.cpp:6919,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:6919,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6920,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:6920,1
    - Dst: createUnrelatedObject
      Src: /src/PROJ/test/unit/test_crs.cpp:6920,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6921,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6921,1
    - Dst: createDateTimeTemporalCS
      Src: /src/PROJ/test/unit/test_crs.cpp:6922,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6923,1
    - Dst: auto::datum
      Src: /src/PROJ/test/unit/test_crs.cpp:6923,1
    - Dst: createDateTimeTemporalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6924,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6926,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:6927,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6930
      start: 6905
    functionDepth: 4
    functionLinenumber: 6905
    functionLinenumberEnd: 6930
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - createDateTimeTemporalCRS
    - EXPECT_TRUE
    - auto::coordinateSystem
    - createUnrelatedObject
    - EXPECT_EQ
    - createDerivedTemporalCRS
    - WKTFormatter::create
    - auto::isEquivalentTo
    - auto::shallowClone
    - createDateTimeTemporalCS
    - auto::exportToWKT
    - auto::datum
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DeriveTemporalCRS_WKT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_crs.cpp:6936,1
    - Dst: createDerivedTemporalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:6937,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6940
      start: 6934
    functionDepth: 4
    functionLinenumber: 6934
    functionLinenumberEnd: 6940
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createDerivedTemporalCRS
    - EXPECT_THROW
    - WKTFormatter::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, DeriveTemporalCRS_WKT1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6945,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6946,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6948,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6949,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6949,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6955,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6956,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6956,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6963,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6964,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6964,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6971,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6972,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6972,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6979,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6980,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6980,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:6987,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6988,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:6990,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6991,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:6991,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:6995,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:6996,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:6997,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:6998,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:6998,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:7004,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7005,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7006,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7007,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7009,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7010,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7010,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7014,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7015,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7016,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7016,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7017,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7027,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7028,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7030,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7031,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7031,1
    - Dst: nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7035,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7036,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7037,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7037,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7038,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7046,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7047,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7047,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7053,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7054,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7054,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7061,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7061,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7062,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7063,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7065,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7066,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7067,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7068,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7069,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7069,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7076,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7076,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7077,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7078,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7080,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7081,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7082,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7083,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7084,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7084,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7089,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7090,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7092,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7096,1
    - Dst: ::testing::UnitTest::GetInstance
      Src: /src/PROJ/test/unit/test_crs.cpp:7098,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7099,1
    - Dst: ::testing::UnitTest::GetInstance
      Src: /src/PROJ/test/unit/test_crs.cpp:7103,1
    - Dst: EXPECT_LE
      Src: /src/PROJ/test/unit/test_crs.cpp:7104,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7109,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7110,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7110,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7119,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7120,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7120,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7130,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7133,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7133,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7138,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7139,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7142,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7143,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7144,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7145,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7150
      start: 6944
    functionDepth: 3
    functionLinenumber: 6944
    functionLinenumberEnd: 7150
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ::testing::UnitTest::GetInstance
    - auto::exportToWKT
    - createCompoundCRS
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - nn_dynamic_pointer_cast<BoundCRS>
    - EXPECT_NE
    - auto::exportToPROJString
    - nn_dynamic_pointer_cast<CRS>
    - EXPECT_LE
    - nn_dynamic_pointer_cast<CompoundCRS>
    - ASSERT_TRUE
    - createVerticalCRS
    - createFromUserInput
    - auto::createBoundCRSToWGS84IfPossible
    - PROJStringFormatter::create
    - DatabaseContext::create
    - WKTParser
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, crs_createBoundCRSToWGS84IfPossible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stripVerticalComponent
      Src: /src/PROJ/test/unit/test_crs.cpp:7157,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7158,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7159,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7160,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7160,1
    - Dst: stripVerticalComponent
      Src: /src/PROJ/test/unit/test_crs.cpp:7164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7165,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7165,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:7165,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7170,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7171,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7173,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7174,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7176,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7177,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7180,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7181,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:7182,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7182,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7183,1
    - Dst: auto::stripVerticalComponent
      Src: /src/PROJ/test/unit/test_crs.cpp:7184,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7185,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7186,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7186,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7191,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7191,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7193,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7194,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7195,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7195,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7197,1
    - Dst: auto::stripVerticalComponent
      Src: /src/PROJ/test/unit/test_crs.cpp:7198,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7199,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7200,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7202
      start: 7154
    functionDepth: 3
    functionLinenumber: 7154
    functionLinenumberEnd: 7202
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - PropertyMap
    - auto::coordinateSystem
    - stripVerticalComponent
    - EXPECT_EQ
    - get
    - nn_dynamic_pointer_cast<GeographicCRS>
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - CoordinateSystemAxis::create
    - Conversion::createUTM
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::stripVerticalComponent
    - ProjectedCRS::create
    - std::string
    - createDerivedProjectedCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, crs_stripVerticalComponent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alterGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7209,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7211,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7211,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:7211,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7216,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7217,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7217,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7218,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7219,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7220,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:7220,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7225,1
    - Dst: dynamic_cast<CompoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7226,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7226,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7227,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7228,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:7228,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7228,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:7230,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7235,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7236,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7236,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7236,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7240,1
    - Dst: dynamic_cast<DerivedProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7242,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7242,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7243,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7244,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7244,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:7245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7247
      start: 7206
    functionDepth: 3
    functionLinenumber: 7206
    functionLinenumberEnd: 7247
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - extractGeographicCRS
    - dynamic_cast<DerivedProjectedCRS *>
    - EXPECT_TRUE
    - createCompoundCRS
    - get
    - auto::componentReferenceSystems
    - auto::baseCRS
    - createProjected
    - dynamic_cast<ProjectedCRS *>
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - createVerticalCRS
    - dynamic_cast<CompoundCRS *>
    - createDerivedProjectedCRS
    - alterGeodeticCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, crs_alterGeodeticCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7255,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7255,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7256,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7256,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7257,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7258,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7259,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7260,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7260,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7260,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7261,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7261,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7261,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7262,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7262,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7262,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7263,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7263,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7263,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7267,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7268,1
    - Dst: dynamic_cast<DerivedProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7269,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7269,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7270,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7271,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7272,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7272,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7273,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7273,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7273,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7274,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7274,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7274,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7275,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7275,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7275,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7276,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7276,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7276,1
    - Dst: createDerivedProjectedCRSNorthingEasting
      Src: /src/PROJ/test/unit/test_crs.cpp:7280,1
    - Dst: auto::alterCSLinearUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:7281,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7281,1
    - Dst: dynamic_cast<DerivedProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7284,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7284,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7285,1
    - Dst: dynamic_cast<CartesianCS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7286,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7287,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7288,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7288,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7289,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7289,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7289,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7290,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7290,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7290,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7291,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7291,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7291,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7292,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7292,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7292,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7293,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7293,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7293,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7294,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7294,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7294,1
    - Dst: alterCSLinearUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:7298,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7299,1
    - Dst: dynamic_cast<GeodeticCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7300,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7300,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7301,1
    - Dst: dynamic_cast<CartesianCS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7303,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7303,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7304,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7304,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7305,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7305,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7305,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7306,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7306,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7306,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7307,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7307,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7307,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7308,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7308,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7308,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7309,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7309,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7309,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7310,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7310,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7310,1
    - Dst: alterCSLinearUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:7314,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7315,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7316,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7316,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7317,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7318,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7319,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7319,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7320,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7320,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7320,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7321,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7321,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7321,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7322,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7322,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7322,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7323,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7323,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7323,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7324,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7324,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7324,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7325,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7325,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7325,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7330,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7330,1
    - Dst: dynamic_cast<VerticalCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7331,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7331,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7332,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7333,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7334,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7334,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7335,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7335,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7335,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7336,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7336,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7336,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7340,1
    - Dst: nn_dynamic_pointer_cast<EngineeringCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7341,1
    - Dst: auto::alterCSLinearUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:7342,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7342,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7343,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7344,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7346,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7352,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7352,1
    - Dst: dynamic_cast<CompoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7353,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7353,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7354,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7355,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:7355,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/test/unit/test_crs.cpp:7356,1
    - Dst: dynamic_cast<SingleCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7357,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:7357,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7358,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7359,1
    - Dst: ASSERT_GE
      Src: /src/PROJ/test/unit/test_crs.cpp:7360,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7360,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7361,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7361,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7361,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7362,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7362,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7362,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:7368,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7369,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7370,1
    - Dst: dynamic_cast<BoundCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7372,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7372,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7373,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7374,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7375,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7375,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7376,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7377,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7378,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7378,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7378,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7379,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7379,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7379,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7380,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7380,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7380,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7381,1
    - Dst: auto::axisList
      Src: /src/PROJ/test/unit/test_crs.cpp:7381,1
    - Dst: unit
      Src: /src/PROJ/test/unit/test_crs.cpp:7381,1
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7386,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7386,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7387,1
    - Dst: createParametricCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7387,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7388
      start: 7251
    functionDepth: 3
    functionLinenumber: 7251
    functionLinenumberEnd: 7388
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - dynamic_cast<DerivedProjectedCRS *>
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - createProjected
    - BoundCRS::createFromTOWGS84
    - auto::exportToWKT
    - UnitOfMeasure
    - createDerivedProjectedCRS
    - nn_dynamic_pointer_cast<EngineeringCRS>
    - dynamic_cast<VerticalCRS *>
    - ASSERT_EQ
    - createCompoundCRS
    - dynamic_cast<SingleCRS *>
    - dynamic_cast<GeographicCRS *>
    - WKTFormatter::create
    - EXPECT_NE
    - dynamic_cast<CartesianCS *>
    - auto::alterCSLinearUnit
    - direction
    - alterCSLinearUnit
    - dynamic_cast<GeodeticCRS *>
    - auto::componentReferenceSystems
    - unit
    - ASSERT_GE
    - dynamic_cast<ProjectedCRS *>
    - ASSERT_TRUE
    - createVerticalCRS
    - dynamic_cast<BoundCRS *>
    - get
    - createDerivedProjectedCRSNorthingEasting
    - WKTParser
    - dynamic_cast<CompoundCRS *>
    - createParametricCRS
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void TEST(crs, crs_alterCSLinearUnit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7394,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7395,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7397,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7397,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7398,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:7398,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7401,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:7402,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7408,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7409,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7411,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7411,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7412,1
    - Dst: auto::find
      Src: /src/PROJ/test/unit/test_crs.cpp:7413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7418
      start: 7392
    functionDepth: 2
    functionLinenumber: 7392
    functionLinenumberEnd: 7418
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - createProjected
    - WKTFormatter::create
    - auto::find
    - auto::exportToWKT
    - UnitOfMeasure
    linkageType: ''
    returnType: void
    signature: void TEST(crs, alterParametersLinearUnit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7423,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7424,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7428,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7429,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/test/unit/test_crs.cpp:7430,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7430,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/test/unit/test_crs.cpp:7431,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7432,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7433,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7433,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7438,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7439,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7440,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7440,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:7445,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7446,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7447,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7448,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7448,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7452,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7453,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7454,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7454,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7458,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7459,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7460,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7460,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7464,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7465,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7466,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7466,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7469,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/test/unit/test_crs.cpp:7470,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7471,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7473
      start: 7422
    functionDepth: 3
    functionLinenumber: 7422
    functionLinenumberEnd: 7473
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - ASSERT_EQ
    - auto::size
    - auto::createGeodeticCRS
    - auto::createCompoundCRS
    - auto::createProjectedCRS
    - BoundCRS::createFromTOWGS84
    - createProjected
    - CartesianCS::createEastingNorthing
    - Conversion::createUTM
    - auto::createVerticalCRS
    - auto::getNonDeprecated
    - ProjectedCRS::create
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, getNonDeprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7478,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7481,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7481,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7482,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7483,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7484,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7484,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7485,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7485,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7485,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7486,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7490,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7490,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7491,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7492,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7493,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7493,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7494,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:7494,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7496,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7496,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7497,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7497,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7498,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_crs.cpp:7498,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7501,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7502,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7502,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7503,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7504,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7505,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7505,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7506,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7507,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7515,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7515,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7516,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:7516,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7517,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7518,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7519,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7519,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7520,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7521,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7525,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7525,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7525,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7526,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7528,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7528,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7529,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7529,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7530,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7530,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7534,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7535,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7535,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7536,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7537,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7538,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7538,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7539,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7540,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7542,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7542,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7544,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7544,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7545,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7545,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7546,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7546,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7548,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7548,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/test/unit/test_crs.cpp:7551,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7552,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7553,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7553,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7554,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7555,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7558,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7558,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7559,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7560,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7560,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7563,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7563,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7564,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7565,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7565,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7567,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:7568,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7569,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7570,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7570,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7572,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:7573,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7574,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7575,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7575,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7578,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7578,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7579,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7580,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7583,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7583,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7584,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7585,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7585,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7588,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7588,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7589,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7590,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7590,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7592,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:7593,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7594,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7595,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7595,1
    - Dst: nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7597,1
    - Dst: auto::transformation
      Src: /src/PROJ/test/unit/test_crs.cpp:7598,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7599,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7600,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7600,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7605,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7606,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7606,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7607,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/test/unit/test_crs.cpp:7607,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7607,1
    - Dst: createDerivedGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7612,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7613,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7613,1
    - Dst: nn_dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7615,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7616,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7617,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7617,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7622,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7622,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7624,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7624,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7624,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7625,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7627,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7627,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7628,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7628,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7630,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7630,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7631,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7631,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7632,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7633,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7633,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7633,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7634,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7638,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7639,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7639,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7641,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7642,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7643,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7643,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7648,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7648,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7650,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7650,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7650,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7651,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7658,1
    - Dst: WKTFormatterNNPtr::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7658,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7659,1
    - Dst: WKTFormatterNNPtr::toString
      Src: /src/PROJ/test/unit/test_crs.cpp:7659,1
    - Dst: nn_dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7660,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7661,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7662,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7662,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7663,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7664,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7668,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7668,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7669,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7669,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7671,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7671,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7672,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7672,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7673,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7674,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7674,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7674,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7677
      start: 7477
    functionDepth: 3
    functionLinenumber: 7477
    functionLinenumberEnd: 7677
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::transformation
    - EXPECT_TRUE
    - auto::coordinateSystem
    - EXPECT_EQ
    - auto::baseCRS
    - createProjected
    - BoundCRS::createFromTOWGS84
    - WKTFormatterNNPtr::get
    - auto::exportToWKT
    - createDerivedProjectedCRS
    - WKTFormatterNNPtr::toString
    - auto::hubCRS
    - createCompoundCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - std::string
    - auto::promoteTo3D
    - dynamic_cast<const ProjectedCRS *>
    - nn_dynamic_pointer_cast<DerivedProjectedCRS>
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - nn_dynamic_pointer_cast<DerivedGeographicCRS>
    - createDerivedGeographicCRS
    - auto::demoteTo2D
    - nn_dynamic_pointer_cast<GeographicCRS>
    - auto::isEquivalentTo
    - auto::identifiers
    - DatabaseContext::create
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, promoteTo3D_and_demoteTo2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedProjectedCRSNorthingEasting
      Src: /src/PROJ/test/unit/test_crs.cpp:7682,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7684,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7693,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7694,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7694,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7694,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:7697,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7702,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7703,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7705
      start: 7681
    functionDepth: 3
    functionLinenumber: 7681
    functionLinenumberEnd: 7705
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - createDerivedProjectedCRSNorthingEasting
    - EXPECT_EQ
    - PROJStringFormatter::create
    - ASSERT_TRUE
    - auto::normalizeForVisualization
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, normalizeForVisualization_derivedprojected_operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7711,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7712,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7715,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/test/unit/test_crs.cpp:7716,1
    - Dst: EXPECT_NE
      Src: /src/PROJ/test/unit/test_crs.cpp:7718,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7730,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7732,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7733,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7733,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7733,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:7736,1
    - Dst: nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7738,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7739,1
    - Dst: nn_dynamic_pointer_cast<SingleCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7742,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7742,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7743,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7744,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7745,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7745,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7746,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7746,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7748,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7748,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7751,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7753,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7754,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/test/unit/test_crs.cpp:7755,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7757
      start: 7709
    functionDepth: 1
    functionLinenumber: 7709
    functionLinenumberEnd: 7757
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - auto::createBoundCRSToWGS84IfPossible
    - ASSERT_EQ
    - auto::coordinateSystem
    - auto::size
    - EXPECT_EQ
    - auto::createCoordinateReferenceSystem
    - auto::baseCRS
    - nn_dynamic_pointer_cast<BoundCRS>
    - EXPECT_NE
    - ASSERT_TRUE
    - PROJStringFormatter::create
    - auto::normalizeForVisualization
    - DatabaseContext::create
    - direction
    - nn_dynamic_pointer_cast<SingleCRS>
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, normalizeForVisualization_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDerivedProjectedCRSNorthingEasting
      Src: /src/PROJ/test/unit/test_crs.cpp:7763,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7766,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7767,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7767,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7768,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7768,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7770,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7770,1
    - Dst: nn_dynamic_pointer_cast<SingleCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7775,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:7776,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7778,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7779,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7779,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7780,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7780,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7782,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7782,1
    - Dst: nn_dynamic_pointer_cast<SingleCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7787,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7788,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7788,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7791,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7792,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:7792,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7793,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7793,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7795,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7795,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7797,1
    - Dst: direction
      Src: /src/PROJ/test/unit/test_crs.cpp:7797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7800
      start: 7761
    functionDepth: 3
    functionLinenumber: 7761
    functionLinenumberEnd: 7800
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::promoteTo3D
    - auto::size
    - auto::coordinateSystem
    - createDerivedProjectedCRSNorthingEasting
    - EXPECT_EQ
    - auto::normalizeForVisualization
    - std::string
    - nn_dynamic_pointer_cast<SingleCRS>
    - direction
    linkageType: ''
    returnType: void
    signature: void TEST(crs, normalizeForVisualization_derivedprojected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7807,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7807,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7809,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7813,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7814,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/test/unit/test_crs.cpp:7816,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7818,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:7818,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7819
      start: 7804
    functionDepth: 1
    functionLinenumber: 7804
    functionLinenumberEnd: 7819
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_EQ
    - auto::normalizeForVisualization
    - ASSERT_TRUE
    - auto::derivingConversion
    - DatabaseContext::create
    - auto::createProjectedCRS
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_normalizeForVisualization_do_not_mess_deriving_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7825,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/test/unit/test_crs.cpp:7828,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7828,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7830,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:7830,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7831
      start: 7823
    functionDepth: 2
    functionLinenumber: 7823
    functionLinenumberEnd: 7831
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::promoteTo3D
    - EXPECT_EQ
    - createProjected
    - auto::derivingConversion
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_promoteTo3D_do_not_mess_deriving_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7837,1
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7838,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7838,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/test/unit/test_crs.cpp:7841,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_crs.cpp:7841,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7843,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:7843,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7844
      start: 7835
    functionDepth: 2
    functionLinenumber: 7835
    functionLinenumberEnd: 7844
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_EQ
    - auto::demoteTo2D
    - createProjected
    - auto::derivingConversion
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_demoteTo2D_do_not_mess_deriving_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7850,1
    - Dst: auto::alterGeodeticCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7853,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/test/unit/test_crs.cpp:7853,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7853,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7855,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:7855,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7856
      start: 7848
    functionDepth: 2
    functionLinenumber: 7848
    functionLinenumberEnd: 7856
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::alterGeodeticCRS
    - auto::get
    - EXPECT_EQ
    - createProjected
    - auto::derivingConversion
    - NN_NO_CHECK
    - auto::extractGeographicCRS
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_alterGeodeticCRS_do_not_mess_deriving_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7862,1
    - Dst: auto::alterCSLinearUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:7865,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_crs.cpp:7865,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7867,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:7867,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7868
      start: 7860
    functionDepth: 2
    functionLinenumber: 7860
    functionLinenumberEnd: 7868
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_EQ
    - createProjected
    - auto::derivingConversion
    - auto::alterCSLinearUnit
    - UnitOfMeasure
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_alterCSLinearUnit_do_not_mess_deriving_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjected
      Src: /src/PROJ/test/unit/test_crs.cpp:7874,1
    - Dst: auto::alterParametersLinearUnit
      Src: /src/PROJ/test/unit/test_crs.cpp:7877,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:7879,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/test/unit/test_crs.cpp:7879,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7880
      start: 7872
    functionDepth: 2
    functionLinenumber: 7872
    functionLinenumberEnd: 7880
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_EQ
    - createProjected
    - auto::alterParametersLinearUnit
    - auto::derivingConversion
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_alterParametersLinearUnit_do_not_mess_deriving_conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7885,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7888,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7889,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:7891,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7892,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7893,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7895,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7898,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7898,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7898,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7901,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7903,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7906,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7907,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7910,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7911,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7911,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7914,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7917,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7918,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7919,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7919,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7919,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7921,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7921,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7921,1
    - Dst: PROJStringParser
      Src: /src/PROJ/test/unit/test_crs.cpp:7925,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:7929,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7930,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7931,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:7931,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:7931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7933
      start: 7884
    functionDepth: 1
    functionLinenumber: 7884
    functionLinenumberEnd: 7933
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - WKTFormatter::create
    - EXPECT_FALSE
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - PROJStringParser
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - auto::exportToWKT
    - WKTParser
    linkageType: ''
    returnType: void
    signature: void TEST(crs, projected_is_equivalent_to_with_proj4_extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7939,1
    - Dst: isDynamic
      Src: /src/PROJ/test/unit/test_crs.cpp:7939,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7940,1
    - Dst: isDynamic
      Src: /src/PROJ/test/unit/test_crs.cpp:7941,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7945,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7945,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7946,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7947,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/test/unit/test_crs.cpp:7947,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7948,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/test/unit/test_crs.cpp:7948,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7952,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7953,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:7954,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_crs.cpp:7955,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:7956,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7957,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7958,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/test/unit/test_crs.cpp:7959,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7960,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/test/unit/test_crs.cpp:7960,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7963,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7963,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7966,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7967,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:7968,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/test/unit/test_crs.cpp:7968,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_crs.cpp:7969,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_crs.cpp:7970,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7971,1
    - Dst: PropertyMap
      Src: /src/PROJ/test/unit/test_crs.cpp:7972,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/test/unit/test_crs.cpp:7973,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:7974,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/test/unit/test_crs.cpp:7974,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_crs.cpp:7977,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:7977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7978
      start: 7937
    functionDepth: 3
    functionLinenumber: 7937
    functionLinenumberEnd: 7978
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DynamicVerticalReferenceFrame::create
    - EllipsoidalCS::createLatitudeLongitude
    - createCompoundCRS
    - auto::createCoordinateReferenceSystem
    - DynamicGeodeticReferenceFrame::create
    - VerticalCRS::create
    - auto::isDynamic
    - optional<RealizationMethod>
    - GeographicCRS::create
    - createVerticalCRS
    - optional<std::string>
    - PropertyMap
    - EXPECT_FALSE
    - VerticalCS::createGravityRelatedHeight
    - DatabaseContext::create
    - Measure
    - isDynamic
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, is_dynamic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7984,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:7985,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:7987,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8002,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_crs.cpp:8003,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_crs.cpp:8004,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:8009,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:8010,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8011,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8012,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:8012,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8014,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:8014,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8016,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:8016,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:8018,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8019,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:8019,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8020,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:8020,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:8020,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8020,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8021,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:8021,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:8080,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:8081,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8082,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8083,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:8083,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8083,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8085,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:8085,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8086,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:8088,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8089,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:8089,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8090,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:8090,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:8090,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8090,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8091,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:8091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8093
      start: 7982
    functionDepth: 1
    functionLinenumber: 7982
    functionLinenumberEnd: 8093
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - auto::baseCRS
    - auto::identify
    - auto::exportToWKT
    - auto::nameStr
    - ASSERT_EQ
    - auto::createCoordinateReferenceSystem
    - WKTFormatter::create
    - auto::front
    - auto::size
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - EXPECT_STREQ
    - createFromUserInput
    - get
    - auto::isEquivalentTo
    - DatabaseContext::create
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, norway_ntm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/test/unit/test_crs.cpp:8098,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/test/unit/test_crs.cpp:8099,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/test/unit/test_crs.cpp:8101,1
    - Dst: createFromUserInput
      Src: /src/PROJ/test/unit/test_crs.cpp:8145,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/test/unit/test_crs.cpp:8146,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8147,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8148,1
    - Dst: auto::nameStr
      Src: /src/PROJ/test/unit/test_crs.cpp:8148,1
    - Dst: EXPECT_STREQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8149,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/test/unit/test_crs.cpp:8149,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8151,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:8151,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8151,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_crs.cpp:8153,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_crs.cpp:8153,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8154,1
    - Dst: auto::identify
      Src: /src/PROJ/test/unit/test_crs.cpp:8156,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8157,1
    - Dst: auto::size
      Src: /src/PROJ/test/unit/test_crs.cpp:8157,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8158,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:8158,1
    - Dst: get
      Src: /src/PROJ/test/unit/test_crs.cpp:8158,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_crs.cpp:8158,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_crs.cpp:8159,1
    - Dst: auto::front
      Src: /src/PROJ/test/unit/test_crs.cpp:8159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8161
      start: 8096
    functionDepth: 1
    functionLinenumber: 8096
    functionLinenumberEnd: 8161
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_crs.cpp
    functionUses: 0
    functionsReached:
    - createFromUserInput
    - auto::get
    - auto::nameStr
    - EXPECT_TRUE
    - ASSERT_EQ
    - auto::size
    - auto::front
    - auto::baseCRS
    - auto::createCoordinateReferenceSystem
    - EXPECT_EQ
    - get
    - auto::isEquivalentTo
    - ASSERT_TRUE
    - auto::identify
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - DatabaseContext::create
    - EXPECT_STREQ
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void TEST(crs, ETRF2000_PL_CS92)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:46,1
    - Dst: Citation::title
      Src: /src/PROJ/test/unit/test_metadata.cpp:46,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:47,1
    - Dst: Citation::title
      Src: /src/PROJ/test/unit/test_metadata.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - Citation::title
    - ASSERT_EQ
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, citation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtentNNPtr::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:53,1
    - Dst: ExtentNNPtr::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - extent1
    - extent2
    argTypes:
    - ExtentNNPtr
    - ExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: equals
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - ExtentNNPtr::contains
    linkageType: ''
    returnType: bool
    signature: bool equals(ExtentNNPtr extent1, ExtentNNPtr extent2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicExtentNNPtr::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:58,1
    - Dst: GeographicExtentNNPtr::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - extent1
    - extent2
    argTypes:
    - GeographicExtentNNPtr
    - GeographicExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: equals
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - GeographicExtentNNPtr::contains
    linkageType: ''
    returnType: bool
    signature: "bool equals(GeographicExtentNNPtr extent1,\n                   GeographicExtentNNPtr
      extent2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/test/unit/test_metadata.cpp:62,1
    - Dst: ExtentNNPtr::geographicElements
      Src: /src/PROJ/test/unit/test_metadata.cpp:62,1
    - Dst: ExtentNNPtr::geographicElements
      Src: /src/PROJ/test/unit/test_metadata.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - extent
    argTypes:
    - ExtentNNPtr
    assertStmts:
    - condition: (extent->geographicElements().size() == 1)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/test/unit/test_metadata.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: getBBox
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - ExtentNNPtr::geographicElements
    - assert
    linkageType: ''
    returnType: GeographicExtentNNPtr
    signature: GeographicExtentNNPtr getBBox(ExtentNNPtr extent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extent::create
      Src: /src/PROJ/test/unit/test_metadata.cpp:67,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_metadata.cpp:68,1
    - Dst: std::vector<GeographicExtentNNPtr>
      Src: /src/PROJ/test/unit/test_metadata.cpp:68,1
    - Dst: std::vector<VerticalExtentNNPtr>
      Src: /src/PROJ/test/unit/test_metadata.cpp:69,1
    - Dst: std::vector<TemporalExtentNNPtr>
      Src: /src/PROJ/test/unit/test_metadata.cpp:69,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:71,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:72,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_metadata.cpp:72,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_metadata.cpp:72,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:73,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:73,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:75,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:76,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/test/unit/test_metadata.cpp:76,1
    - Dst: auto::get
      Src: /src/PROJ/test/unit/test_metadata.cpp:76,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:77,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:77,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:78,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:78,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:80,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:81,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:82,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:82,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:82,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:84,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:85,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:85,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:86,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:86,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:87,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:87,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:89,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:89,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:90,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:90,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:92,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:93,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:94,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:94,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:94,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:96,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:97,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:98,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:98,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:98,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:100,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:101,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:102,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:102,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:102,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:105,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:106,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:107,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:107,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:108,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:109,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:109,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:111,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:112,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:112,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:113,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:113,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:115,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:116,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:117,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:117,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:117,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:119,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:120,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:121,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:121,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:121,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:123,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:124,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:124,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:125,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:125,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:126,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:126,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:127,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:127,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:128,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:128,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:129,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:129,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:130,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:130,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:131,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:131,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:132,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:132,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:135,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:136,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:137,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:137,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:137,1
    - Dst: getBBox
      Src: /src/PROJ/test/unit/test_metadata.cpp:141,1
    - Dst: getBBox
      Src: /src/PROJ/test/unit/test_metadata.cpp:141,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:142,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:143,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:143,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:143,1
    - Dst: getBBox
      Src: /src/PROJ/test/unit/test_metadata.cpp:143,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:147,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:148,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:149,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:149,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:149,1
    - Dst: getBBox
      Src: /src/PROJ/test/unit/test_metadata.cpp:153,1
    - Dst: getBBox
      Src: /src/PROJ/test/unit/test_metadata.cpp:153,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:154,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:155,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:155,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:155,1
    - Dst: getBBox
      Src: /src/PROJ/test/unit/test_metadata.cpp:155,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:158,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:158,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:159,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:159,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:162,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:163,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:163,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:164,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:164,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:165,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:165,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:166,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:166,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:167,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:167,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:168,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:168,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:170,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:171,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:171,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:172,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:172,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:173,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:173,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:174,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:174,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:175,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:176,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:177,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:177,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:177,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:178,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:179,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:180,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:180,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:180,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:182,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:183,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:183,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:184,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:184,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:185,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:185,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:186,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:186,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:187,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:188,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:189,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:189,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:189,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:190,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:191,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:192,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:192,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:192,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:194,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:195,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:195,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:196,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:196,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:199,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:200,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:200,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:201,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:201,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:202,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:202,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:203,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:203,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:205,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:206,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:206,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:207,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:207,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:208,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:208,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:209,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:209,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:211,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:212,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:213,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:214,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:214,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:214,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:215,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:217,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:218,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:219,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:219,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:219,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:221,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:222,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:223,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:223,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:223,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:225,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:226,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:226,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:227,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:227,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:229,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:230,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:231,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:231,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:231,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:232,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:234,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:235,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:236,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:236,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:236,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:237,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:239,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:240,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:240,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:241,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:241,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:243,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:245,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_metadata.cpp:245,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_metadata.cpp:246,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:249,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_metadata.cpp:249,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_metadata.cpp:250,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:253,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:253,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:253,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:254,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:256,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:257,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:258,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_metadata.cpp:258,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_metadata.cpp:259,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:262,1
    - Dst: nn_dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/test/unit/test_metadata.cpp:262,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/test/unit/test_metadata.cpp:263,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:266,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:266,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:266,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:267,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:269,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:270,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:271,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:272,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:272,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:272,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:273,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:275,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:276,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:277,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:278,1
    - Dst: equals
      Src: /src/PROJ/test/unit/test_metadata.cpp:278,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/test/unit/test_metadata.cpp:278,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 280
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - EXPECT_TRUE
    - EXPECT_EQ
    - Extent::createFromBBOX
    - Extent::create
    - auto::intersects
    - NN_CHECK_ASSERT
    - std::vector<TemporalExtentNNPtr>
    - auto::geographicElements
    - ASSERT_TRUE
    - nn_dynamic_pointer_cast<GeographicBoundingBox>
    - optional<std::string>
    - equals
    - auto::contains
    - auto::intersection
    - auto::isEquivalentTo
    - std::vector<GeographicExtentNNPtr>
    - getBBox
    - std::vector<VerticalExtentNNPtr>
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, extent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extent::create
      Src: /src/PROJ/test/unit/test_metadata.cpp:285,1
    - Dst: optional<std::string>
      Src: /src/PROJ/test/unit/test_metadata.cpp:286,1
    - Dst: std::vector<GeographicExtentNNPtr>
      Src: /src/PROJ/test/unit/test_metadata.cpp:286,1
    - Dst: std::vector<VerticalExtentNNPtr>
      Src: /src/PROJ/test/unit/test_metadata.cpp:287,1
    - Dst: std::vector<TemporalExtentNNPtr>
      Src: /src/PROJ/test/unit/test_metadata.cpp:287,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:289,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:289,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/test/unit/test_metadata.cpp:290,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:292,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:292,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/test/unit/test_metadata.cpp:293,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:295,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:295,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/test/unit/test_metadata.cpp:296,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:298,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:298,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/test/unit/test_metadata.cpp:299,1
    - Dst: EXPECT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:303,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:303,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:309,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:310,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:311,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:311,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:312,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:312,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:313,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:313,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:314,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:314,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:317,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:318,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:319,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:319,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:320,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:320,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:321,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:321,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:322,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:322,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:327,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:328,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:329,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:329,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:330,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:330,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:331,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:331,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:332,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:332,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:333,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:333,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:334,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:334,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:339,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:340,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:341,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:341,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:342,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:342,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:343,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:343,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:344,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:344,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:345,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:345,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:346,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:346,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:351,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:352,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:353,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:353,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:354,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:354,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:355,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:355,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:356,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:356,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:357,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:357,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:358,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:358,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:363,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:364,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:365,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:365,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:366,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:366,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:367,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:367,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:368,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:368,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:369,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:369,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:370,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:370,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:375,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/test/unit/test_metadata.cpp:376,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:377,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:377,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:378,1
    - Dst: auto::intersects
      Src: /src/PROJ/test/unit/test_metadata.cpp:378,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:379,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:379,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:380,1
    - Dst: auto::contains
      Src: /src/PROJ/test/unit/test_metadata.cpp:380,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:381,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:381,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:382,1
    - Dst: auto::intersection
      Src: /src/PROJ/test/unit/test_metadata.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 384
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Extent::create
    - auto::contains
    - auto::intersection
    - EXPECT_FALSE
    - std::numeric_limits<double>::quiet_NaN
    - std::vector<GeographicExtentNNPtr>
    - EXPECT_THROW
    - auto::intersects
    - Extent::createFromBBOX
    - std::vector<VerticalExtentNNPtr>
    - std::vector<TemporalExtentNNPtr>
    - optional<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, extent_edge_cases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:391,1
    - Dst: Identifier::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:391,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:392,1
    - Dst: Identifier::code
      Src: /src/PROJ/test/unit/test_metadata.cpp:392,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:393,1
    - Dst: Identifier::codeSpace
      Src: /src/PROJ/test/unit/test_metadata.cpp:393,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:394,1
    - Dst: Identifier::version
      Src: /src/PROJ/test/unit/test_metadata.cpp:394,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:395,1
    - Dst: Identifier::description
      Src: /src/PROJ/test/unit/test_metadata.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - Identifier::description
    - Identifier::codeSpace
    - Identifier::authority
    - ASSERT_TRUE
    - Identifier::version
    - Identifier::code
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_metadata.cpp:401,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:402,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:403,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:404,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:405,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_metadata.cpp:406,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:408,1
    - Dst: Identifier::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:408,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:409,1
    - Dst: Identifier::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:410,1
    - Dst: Identifier::code
      Src: /src/PROJ/test/unit/test_metadata.cpp:410,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:411,1
    - Dst: Identifier::codeSpace
      Src: /src/PROJ/test/unit/test_metadata.cpp:411,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:412,1
    - Dst: Identifier::codeSpace
      Src: /src/PROJ/test/unit/test_metadata.cpp:412,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:413,1
    - Dst: Identifier::version
      Src: /src/PROJ/test/unit/test_metadata.cpp:413,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:414,1
    - Dst: Identifier::version
      Src: /src/PROJ/test/unit/test_metadata.cpp:414,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:415,1
    - Dst: Identifier::description
      Src: /src/PROJ/test/unit/test_metadata.cpp:415,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:416,1
    - Dst: Identifier::description
      Src: /src/PROJ/test/unit/test_metadata.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - Identifier::description
    - Identifier::authority
    - Identifier::codeSpace
    - ASSERT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - Identifier::create
    - ASSERT_TRUE
    - Identifier::version
    - Identifier::code
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_metadata.cpp:422,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:423,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:425,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_metadata.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - ASSERT_EQ
    - auto::code
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_code_integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_metadata.cpp:431,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:432,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:434,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_metadata.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - ASSERT_EQ
    - auto::code
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_code_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_metadata.cpp:440,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:441,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:442,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_metadata.cpp:442,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_metadata.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - Identifier::create
    - std::string
    - ASSERT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_code_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_metadata.cpp:449,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:450,1
    - Dst: nn_make_shared<Citation>
      Src: /src/PROJ/test/unit/test_metadata.cpp:451,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:453,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:453,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:454,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - ASSERT_TRUE
    - auto::authority
    - nn_make_shared<Citation>
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_authority_citation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_metadata.cpp:460,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_metadata.cpp:461,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_metadata.cpp:462,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_metadata.cpp:462,1
    - Dst: std::string
      Src: /src/PROJ/test/unit/test_metadata.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - Identifier::create
    - std::string
    - ASSERT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, identifier_authority_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/test/unit/test_metadata.cpp:473,1
    - Dst: WKTParser
      Src: /src/PROJ/test/unit/test_metadata.cpp:473,1
    - Dst: ASSERT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:474,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:476,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:476,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:477,1
    - Dst: auto::authority
      Src: /src/PROJ/test/unit/test_metadata.cpp:477,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:478,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/test/unit/test_metadata.cpp:478,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:479,1
    - Dst: auto::code
      Src: /src/PROJ/test/unit/test_metadata.cpp:479,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:480,1
    - Dst: auto::version
      Src: /src/PROJ/test/unit/test_metadata.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:481,1
    - Dst: auto::version
      Src: /src/PROJ/test/unit/test_metadata.cpp:481,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:482,1
    - Dst: auto::uri
      Src: /src/PROJ/test/unit/test_metadata.cpp:482,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:483,1
    - Dst: auto::uri
      Src: /src/PROJ/test/unit/test_metadata.cpp:483,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/test/unit/test_metadata.cpp:485,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/test/unit/test_metadata.cpp:485,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_metadata.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - auto::version
    - EXPECT_TRUE
    - nn_dynamic_pointer_cast<Identifier>
    - EXPECT_EQ
    - WKTFormatter::create
    - auto::codeSpace
    - ASSERT_TRUE
    - auto::uri
    - auto::code
    - WKTParser
    - auto::exportToWKT
    - auto::authority
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:492,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:492,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:493,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:493,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:494,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:494,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:495,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:495,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:496,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:496,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:497,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:497,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:498,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:498,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:499,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:499,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:502,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:502,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:503,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:503,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:505,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:505,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:506,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:506,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:508,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:508,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:510,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:510,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:514,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:514,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:515,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:515,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:516,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:516,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:518,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:518,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_metadata.cpp:519,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:519,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:520,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:521,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_metadata.cpp:522,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/test/unit/test_metadata.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 524
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_metadata.cpp
    functionUses: 0
    functionsReached:
    - Identifier::isEquivalentName
    - EXPECT_TRUE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(metadata, Identifier_isEquivalentName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:46,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_common.cpp:46,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:48,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_common.cpp:48,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:49,1
    - Dst: type
      Src: /src/PROJ/test/unit/test_common.cpp:49,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:51,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_common.cpp:51,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:52,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_common.cpp:52,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:53,1
    - Dst: type
      Src: /src/PROJ/test/unit/test_common.cpp:53,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:55,1
    - Dst: name
      Src: /src/PROJ/test/unit/test_common.cpp:55,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:56,1
    - Dst: conversionToSI
      Src: /src/PROJ/test/unit/test_common.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:57,1
    - Dst: type
      Src: /src/PROJ/test/unit/test_common.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:59,1
    - Dst: Length
      Src: /src/PROJ/test/unit/test_common.cpp:59,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/test/unit/test_common.cpp:59,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:63,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_common.cpp:64,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:67,1
    - Dst: Angle
      Src: /src/PROJ/test/unit/test_common.cpp:67,1
    - Dst: UnitOfMeasure::UnitOfMeasure
      Src: /src/PROJ/test/unit/test_common.cpp:73,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:75,1
    - Dst: std::move
      Src: /src/PROJ/test/unit/test_common.cpp:77,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - Length
    - EXPECT_TRUE
    - Angle
    - type
    - EXPECT_EQ
    - std::move
    - name
    - UnitOfMeasure::UnitOfMeasure
    - UnitOfMeasure
    linkageType: ''
    returnType: void
    signature: void TEST(common, unit_of_measure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:85,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:85,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:85,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:86,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:86,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:86,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_common.cpp:87,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:87,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:87,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_common.cpp:88,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:88,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:88,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_common.cpp:89,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:89,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:89,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:90,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:90,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:90,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:91,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:91,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:92,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:92,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:92,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:93,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:93,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_common.cpp:94,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:94,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:94,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:95,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:95,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_common.cpp:96,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:96,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:96,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:97,1
    - Dst: EXPECT_FALSE
      Src: /src/PROJ/test/unit/test_common.cpp:98,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:98,1
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:99,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/test/unit/test_common.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - EXPECT_TRUE
    - Measure
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(common, measure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:105,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:106,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:107,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_common.cpp:107,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:108,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_common.cpp:108,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:109,1
    - Dst: auto::aliases
      Src: /src/PROJ/test/unit/test_common.cpp:109,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:110,1
    - Dst: auto::remarks
      Src: /src/PROJ/test/unit/test_common.cpp:110,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:111,1
    - Dst: auto::isDeprecated
      Src: /src/PROJ/test/unit/test_common.cpp:111,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:112,1
    - Dst: auto::alias
      Src: /src/PROJ/test/unit/test_common.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::isDeprecated
    - auto::name
    - PropertyMap::PropertyMap
    - auto::aliases
    - auto::remarks
    - auto::alias
    - auto::identifiers
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:118,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:119,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:120,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_common.cpp:121,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:122,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:123,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:124,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:126,1
    - Dst: auto::name
      Src: /src/PROJ/test/unit/test_common.cpp:126,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:127,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_common.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:128,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_common.cpp:128,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_common.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:129,1
    - Dst: auto::aliases
      Src: /src/PROJ/test/unit/test_common.cpp:129,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:130,1
    - Dst: auto::aliases
      Src: /src/PROJ/test/unit/test_common.cpp:130,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_common.cpp:130,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:131,1
    - Dst: auto::remarks
      Src: /src/PROJ/test/unit/test_common.cpp:131,1
    - Dst: EXPECT_TRUE
      Src: /src/PROJ/test/unit/test_common.cpp:132,1
    - Dst: auto::isDeprecated
      Src: /src/PROJ/test/unit/test_common.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - EXPECT_TRUE
    - toString
    - auto::isDeprecated
    - EXPECT_EQ
    - auto::name
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - Identifier::create
    - auto::aliases
    - auto::remarks
    - auto::identifiers
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:138,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:139,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_common.cpp:140,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_THROW
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_name_invalid_type_integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:147,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:148,1
    - Dst: nn_make_shared<Citation>
      Src: /src/PROJ/test/unit/test_common.cpp:149,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_common.cpp:150,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - OperationParameter::create
    - ASSERT_THROW
    - nn_make_shared<Citation>
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_name_invalid_type_citation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:157,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:158,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_common.cpp:159,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_THROW
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_identifier_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:166,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/test/unit/test_common.cpp:167,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_common.cpp:168,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_common.cpp:168,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_common.cpp:169,1
    - Dst: Identifier::create
      Src: /src/PROJ/test/unit/test_common.cpp:169,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:170,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:171,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:172,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_common.cpp:172,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:173,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_common.cpp:173,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_common.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:174,1
    - Dst: auto::identifiers
      Src: /src/PROJ/test/unit/test_common.cpp:174,1
    - Dst: code
      Src: /src/PROJ/test/unit/test_common.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - code
    - ASSERT_EQ
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - Identifier::create
    - ArrayOfBaseObject::create
    - auto::add
    - auto::identifiers
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_identifier_array_of_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:180,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/test/unit/test_common.cpp:181,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_common.cpp:182,1
    - Dst: nn_make_shared<Citation>
      Src: /src/PROJ/test/unit/test_common.cpp:182,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:183,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_common.cpp:184,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - ArrayOfBaseObject::create
    - auto::add
    - OperationParameter::create
    - ASSERT_THROW
    - nn_make_shared<Citation>
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_identifier_array_of_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:191,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:192,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:195,1
    - Dst: auto::aliases
      Src: /src/PROJ/test/unit/test_common.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:196,1
    - Dst: auto::aliases
      Src: /src/PROJ/test/unit/test_common.cpp:196,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_common.cpp:196,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:197,1
    - Dst: auto::aliases
      Src: /src/PROJ/test/unit/test_common.cpp:197,1
    - Dst: toString
      Src: /src/PROJ/test/unit/test_common.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - toString
    - EXPECT_EQ
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - auto::aliases
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_alias_array_of_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:203,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:204,1
    - Dst: nn_make_shared<Citation>
      Src: /src/PROJ/test/unit/test_common.cpp:205,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_common.cpp:206,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - OperationParameter::create
    - ASSERT_THROW
    - nn_make_shared<Citation>
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_alias_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/test/unit/test_common.cpp:213,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/test/unit/test_common.cpp:214,1
    - Dst: auto::add
      Src: /src/PROJ/test/unit/test_common.cpp:215,1
    - Dst: nn_make_shared<Citation>
      Src: /src/PROJ/test/unit/test_common.cpp:215,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/test/unit/test_common.cpp:216,1
    - Dst: ASSERT_THROW
      Src: /src/PROJ/test/unit/test_common.cpp:217,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/test/unit/test_common.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - ArrayOfBaseObject::create
    - auto::add
    - OperationParameter::create
    - ASSERT_THROW
    - nn_make_shared<Citation>
    linkageType: ''
    returnType: void
    signature: void TEST(common, identifiedobject_alias_array_of_invalid_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure
      Src: /src/PROJ/test/unit/test_common.cpp:224,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:226,1
    - Dst: DataEpoch::coordinateEpoch
      Src: /src/PROJ/test/unit/test_common.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/PROJ/test/unit/test_common.cpp:227,1
    - Dst: DataEpoch::coordinateEpoch
      Src: /src/PROJ/test/unit/test_common.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: TEST
    functionSourceFile: /src/PROJ/test/unit/test_common.cpp
    functionUses: 0
    functionsReached:
    - DataEpoch::coordinateEpoch
    - Measure
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(common, DataEpoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: proj_list_ellps
    functionSourceFile: /src/PROJ/src/ellps.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PJ_ELLPS
    signature: PJ_ELLPS *proj_list_ellps(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: pj_get_datums_ref
    functionSourceFile: /src/PROJ/src/datums.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PJ_DATUMS
    signature: struct PJ_DATUMS *pj_get_datums_ref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: proj_list_prime_meridians
    functionSourceFile: /src/PROJ/src/datums.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PJ_PRIME_MERIDIANS
    signature: PJ_PRIME_MERIDIANS *proj_list_prime_meridians(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pj_wkt_parse_context
    functionSourceFile: /src/PROJ/src/wkt_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_wkt_parse_context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: pj_wkt_parse_context
    functionSourceFile: /src/PROJ/src/wkt_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_wkt_parse_context(const pj_wkt_parse_context &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '&operator=(const pj_wkt_parse_context &)'
    functionSourceFile: /src/PROJ/src/wkt_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pj_wkt_parse_context
    signature: pj_wkt_parse_context &operator=(const pj_wkt_parse_context &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/msfn.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sinphi
    - cosphi
    - es
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: pj_msfn
    functionSourceFile: /src/PROJ/src/msfn.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double pj_msfn(double sinphi, double cosphi, double es)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/datum_set.cpp:57,1
    - Dst: pj_get_datums_ref
      Src: /src/PROJ/src/datum_set.cpp:71,1
    - Dst: strcmp
      Src: /src/PROJ/src/datum_set.cpp:72,1
    - Dst: pj_log
      Src: /src/PROJ/src/datum_set.cpp:76,1
    - Dst: _
      Src: /src/PROJ/src/datum_set.cpp:76,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/datum_set.cpp:77,1
    - Dst: strlen
      Src: /src/PROJ/src/datum_set.cpp:81,1
    - Dst: strcpy
      Src: /src/PROJ/src/datum_set.cpp:84,1
    - Dst: strncpy
      Src: /src/PROJ/src/datum_set.cpp:85,1
    - Dst: strlen
      Src: /src/PROJ/src/datum_set.cpp:85,1
    - Dst: strlen
      Src: /src/PROJ/src/datum_set.cpp:86,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/datum_set.cpp:89,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/datum_set.cpp:91,1
    - Dst: strlen
      Src: /src/PROJ/src/datum_set.cpp:98,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/datum_set.cpp:99,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/datum_set.cpp:101,1
    - Dst: pj_param
      Src: /src/PROJ/src/datum_set.cpp:112,1
    - Dst: pj_param
      Src: /src/PROJ/src/datum_set.cpp:123,1
    - Dst: memset
      Src: /src/PROJ/src/datum_set.cpp:127,1
    - Dst: pj_atof
      Src: /src/PROJ/src/datum_set.cpp:131,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 3
    argNames:
    - ctx
    - pl
    - projdef
    argTypes:
    - PJ_CONTEXT*
    - paralist*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 159
    functionName: pj_datum_set
    functionSourceFile: /src/PROJ/src/datum_set.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - strcmp
    - strncpy
    - pj_log
    - proj_context_errno_set
    - memset
    - pj_get_datums_ref
    - pj_atof
    - strlen
    - _
    - pj_mkparam
    - pj_param
    linkageType: ''
    returnType: int
    signature: int pj_datum_set(PJ_CONTEXT *ctx, paralist *pl, PJ *projdef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: PROJ_HEAD
    functionSourceFile: /src/PROJ/src/list.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_HEAD(id, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: PROJ_HEAD
    functionSourceFile: /src/PROJ/src/list.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_HEAD(id, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: PROJ_HEAD
    functionSourceFile: /src/PROJ/src/list.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_HEAD(id, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: proj_list_operations
    functionSourceFile: /src/PROJ/src/list.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PJ_OPERATIONS
    signature: PJ_OPERATIONS *proj_list_operations(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: FileManager::FileManager
    functionSourceFile: /src/PROJ/src/filemanager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&name() const'
    functionSourceFile: /src/PROJ/src/filemanager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pjIn
    - omitFwdIn
    - omitInvIn
    argTypes:
    - PJ*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: Step
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Step(PJ *pjIn, bool omitFwdIn, bool omitInvIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/pipeline.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Step
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: Step
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 11
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Step(Step &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Step
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Step(const Step &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '&operator=(const Step &)'
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Step
    signature: Step &operator=(const Step &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/src/pipeline.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~Step()
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~Step()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pjIn
    - omitFwdIn
    - omitInvIn
    argTypes:
    - PJ*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: Step
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Step(PJ *pjIn, bool omitFwdIn, bool omitInvIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/pipeline.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Step
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: Step
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 11
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Step(Step &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Step
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Step(const Step &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '&operator=(const Step &)'
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Step
    signature: Step &operator=(const Step &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/src/pipeline.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~Step()
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~Step()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:158,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/pipeline.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pipeline_reassign_context
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - proj_assign_context
    - static_cast<struct Pipeline *>
    linkageType: ''
    returnType: void
    signature: void pipeline_reassign_context(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:164,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/pipeline.cpp:168,1
    - Dst: pj_inv4d
      Src: /src/PROJ/src/pipeline.cpp:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: pipeline_forward_4d
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - pj_inv4d
    - static_cast<struct Pipeline *>
    - pj_fwd4d
    linkageType: ''
    returnType: void
    signature: void pipeline_forward_4d(PJ_COORD &point, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:179,1
    - Dst: auto::steps::rbegin
      Src: /src/PROJ/src/pipeline.cpp:180,1
    - Dst: auto::steps::rend
      Src: /src/PROJ/src/pipeline.cpp:181,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/pipeline.cpp:185,1
    - Dst: pj_inv4d
      Src: /src/PROJ/src/pipeline.cpp:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: pipeline_reverse_4d
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct Pipeline *>
    - auto::steps::rbegin
    - auto::steps::rend
    - pj_inv4d
    - pj_fwd4d
    linkageType: ''
    returnType: void
    signature: void pipeline_reverse_4d(PJ_COORD &point, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:198,1
    - Dst: pj_approx_3D_trans
      Src: /src/PROJ/src/pipeline.cpp:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: pipeline_forward_3d
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - pj_approx_3D_trans
    - static_cast<struct Pipeline *>
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pipeline_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:214,1
    - Dst: auto::steps::rbegin
      Src: /src/PROJ/src/pipeline.cpp:215,1
    - Dst: auto::steps::rend
      Src: /src/PROJ/src/pipeline.cpp:216,1
    - Dst: proj_trans
      Src: /src/PROJ/src/pipeline.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: pipeline_reverse_3d
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - proj_trans
    - auto::steps::rend
    - static_cast<struct Pipeline *>
    - auto::steps::rbegin
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pipeline_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:232,1
    - Dst: pj_approx_2D_trans
      Src: /src/PROJ/src/pipeline.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: pipeline_forward
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - pj_approx_2D_trans
    - static_cast<struct Pipeline *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY pipeline_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:248,1
    - Dst: auto::steps::rbegin
      Src: /src/PROJ/src/pipeline.cpp:249,1
    - Dst: auto::steps::rend
      Src: /src/PROJ/src/pipeline.cpp:250,1
    - Dst: pj_approx_2D_trans
      Src: /src/PROJ/src/pipeline.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: pipeline_reverse
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - pj_approx_2D_trans
    - auto::steps::rend
    - static_cast<struct Pipeline *>
    - auto::steps::rbegin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pipeline_reverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/pipeline.cpp:268,1
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:270,1
    - Dst: free
      Src: /src/PROJ/src/pipeline.cpp:272,1
    - Dst: free
      Src: /src/PROJ/src/pipeline.cpp:273,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/pipeline.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: destructor
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 1
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct Pipeline *>
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - paralist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: argc_params
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t argc_params(paralist *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char **>
      Src: /src/PROJ/src/pipeline.cpp:298,1
    - Dst: calloc
      Src: /src/PROJ/src/pipeline.cpp:298,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/pipeline.cpp:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: argv_params
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    - calloc
    - static_cast<char **>
    linkageType: ''
    returnType: char
    signature: char **argv_params(paralist *params, size_t argc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/pipeline.cpp:320,1
    - Dst: strcmp
      Src: /src/PROJ/src/pipeline.cpp:328,1
    - Dst: pj_ellipsoid
      Src: /src/PROJ/src/pipeline.cpp:336,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/pipeline.cpp:345,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/pipeline.cpp:350,1
    - Dst: geod_init
      Src: /src/PROJ/src/pipeline.cpp:351,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/pipeline.cpp:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 359
    functionName: set_ellipsoid
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - geod_init
    - strcmp
    - pj_calc_ellipsoid_params
    - pj_ellipsoid
    - proj_errno_reset
    - proj_errno_restore
    linkageType: ''
    returnType: void
    signature: void set_ellipsoid(PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:646,1
    - Dst: static_cast<struct PushPop *>
      Src: /src/PROJ/src/pipeline.cpp:647,1
    - Dst: push
      Src: /src/PROJ/src/pipeline.cpp:650,1
    - Dst: push
      Src: /src/PROJ/src/pipeline.cpp:652,1
    - Dst: push
      Src: /src/PROJ/src/pipeline.cpp:654,1
    - Dst: push
      Src: /src/PROJ/src/pipeline.cpp:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: push
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 1
    functionsReached:
    - static_cast<struct PushPop *>
    - push
    - static_cast<struct Pipeline *>
    linkageType: ''
    returnType: void
    signature: void push(PJ_COORD &point, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Pipeline *>
      Src: /src/PROJ/src/pipeline.cpp:664,1
    - Dst: static_cast<struct PushPop *>
      Src: /src/PROJ/src/pipeline.cpp:665,1
    - Dst: empty
      Src: /src/PROJ/src/pipeline.cpp:667,1
    - Dst: top
      Src: /src/PROJ/src/pipeline.cpp:668,1
    - Dst: pop
      Src: /src/PROJ/src/pipeline.cpp:669,1
    - Dst: empty
      Src: /src/PROJ/src/pipeline.cpp:672,1
    - Dst: top
      Src: /src/PROJ/src/pipeline.cpp:673,1
    - Dst: pop
      Src: /src/PROJ/src/pipeline.cpp:674,1
    - Dst: empty
      Src: /src/PROJ/src/pipeline.cpp:677,1
    - Dst: top
      Src: /src/PROJ/src/pipeline.cpp:678,1
    - Dst: pop
      Src: /src/PROJ/src/pipeline.cpp:679,1
    - Dst: empty
      Src: /src/PROJ/src/pipeline.cpp:682,1
    - Dst: top
      Src: /src/PROJ/src/pipeline.cpp:683,1
    - Dst: pop
      Src: /src/PROJ/src/pipeline.cpp:684,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 686
    functionName: pop
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 1
    functionsReached:
    - static_cast<struct Pipeline *>
    - pop
    - top
    - empty
    - static_cast<struct PushPop *>
    linkageType: ''
    returnType: void
    signature: void pop(PJ_COORD &point, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct PushPop *>
      Src: /src/PROJ/src/pipeline.cpp:690,1
    - Dst: calloc
      Src: /src/PROJ/src/pipeline.cpp:690,1
    - Dst: destructor
      Src: /src/PROJ/src/pipeline.cpp:693,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/pipeline.cpp:695,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/pipeline.cpp:698,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/pipeline.cpp:701,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/pipeline.cpp:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 711
    functionName: setup_pushpop
    functionSourceFile: /src/PROJ/src/pipeline.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct PushPop *>
    - pj_param_exists
    - destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *setup_pushpop(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pj_list_linear_units
    functionSourceFile: /src/PROJ/src/units.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_UNITS
    signature: PJ_UNITS *pj_list_linear_units()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: proj_list_units
    functionSourceFile: /src/PROJ/src/units.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_UNITS
    signature: PJ_UNITS *proj_list_units()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: pj_list_angular_units
    functionSourceFile: /src/PROJ/src/units.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_UNITS
    signature: PJ_UNITS *pj_list_angular_units()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: proj_list_angular_units
    functionSourceFile: /src/PROJ/src/units.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_UNITS
    signature: PJ_UNITS *proj_list_angular_units()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_set
      Src: /src/PROJ/src/inv.cpp:41,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:42,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:55,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:71,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - P
    - coo
    argTypes:
    - PJ*
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 100
    functionName: inv_prepare
    functionSourceFile: /src/PROJ/src/inv.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - proj_coord_error
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void inv_prepare(PJ *P, PJ_COORD &coo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_set
      Src: /src/PROJ/src/inv.cpp:104,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:105,1
    - Dst: adjlon
      Src: /src/PROJ/src/inv.cpp:117,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:120,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:125,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:128,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:131,1
    - Dst: proj_trans
      Src: /src/PROJ/src/inv.cpp:132,1
    - Dst: pj_geocentric_latitude
      Src: /src/PROJ/src/inv.cpp:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - P
    - coo
    argTypes:
    - PJ*
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 142
    functionName: inv_finalize
    functionSourceFile: /src/PROJ/src/inv.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - adjlon
    - proj_coord_error
    - proj_trans
    - pj_geocentric_latitude
    linkageType: ''
    returnType: void
    signature: void inv_finalize(PJ *P, PJ_COORD &coo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - P
    - coord
    - last_errno
    argTypes:
    - PJ*
    - PJ_COORD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: error_or_coord
    functionSourceFile: /src/PROJ/src/inv.cpp
    functionUses: 0
    functionsReached:
    - proj_coord_error
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD error_or_coord(PJ *P, PJ_COORD coord, int last_errno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inv_prepare
      Src: /src/PROJ/src/inv.cpp:161,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:163,1
    - Dst: PJ*::inv
      Src: /src/PROJ/src/inv.cpp:168,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/src/inv.cpp:171,1
    - Dst: PJ*::inv4d
      Src: /src/PROJ/src/inv.cpp:174,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/inv.cpp:176,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:177,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:180,1
    - Dst: inv_finalize
      Src: /src/PROJ/src/inv.cpp:183,1
    - Dst: error_or_coord
      Src: /src/PROJ/src/inv.cpp:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 186
    functionName: pj_inv
    functionSourceFile: /src/PROJ/src/inv.cpp
    functionUses: 0
    functionsReached:
    - PJ*::inv3d
    - proj_errno_set
    - inv_finalize
    - error_or_coord
    - proj_coord_error
    - PJ*::inv
    - inv_prepare
    - PJ*::inv4d
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pj_inv(PJ_XY xy, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inv_prepare
      Src: /src/PROJ/src/inv.cpp:196,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:198,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/src/inv.cpp:203,1
    - Dst: PJ*::inv4d
      Src: /src/PROJ/src/inv.cpp:206,1
    - Dst: PJ*::inv
      Src: /src/PROJ/src/inv.cpp:208,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/inv.cpp:211,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:212,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:215,1
    - Dst: inv_finalize
      Src: /src/PROJ/src/inv.cpp:218,1
    - Dst: error_or_coord
      Src: /src/PROJ/src/inv.cpp:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 221
    functionName: pj_inv3d
    functionSourceFile: /src/PROJ/src/inv.cpp
    functionUses: 0
    functionsReached:
    - PJ*::inv3d
    - proj_errno_set
    - inv_finalize
    - error_or_coord
    - proj_coord_error
    - PJ*::inv
    - inv_prepare
    - PJ*::inv4d
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_inv3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inv_prepare
      Src: /src/PROJ/src/inv.cpp:229,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:231,1
    - Dst: PJ*::inv4d
      Src: /src/PROJ/src/inv.cpp:237,1
    - Dst: PJ*::inv3d
      Src: /src/PROJ/src/inv.cpp:239,1
    - Dst: PJ*::inv
      Src: /src/PROJ/src/inv.cpp:242,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/inv.cpp:245,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:246,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:250,1
    - Dst: inv_finalize
      Src: /src/PROJ/src/inv.cpp:255,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/inv.cpp:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 264
    functionName: pj_inv4d
    functionSourceFile: /src/PROJ/src/inv.cpp
    functionUses: 2
    functionsReached:
    - PJ*::inv3d
    - proj_errno_set
    - inv_finalize
    - proj_coord_error
    - PJ*::inv
    - inv_prepare
    - PJ*::inv4d
    linkageType: ''
    returnType: bool
    signature: bool pj_inv4d(PJ_COORD &coo, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PJ*::fwd
      Src: /src/PROJ/src/generic_inverse.cpp:52,1
    - Dst: fabs
      Src: /src/PROJ/src/generic_inverse.cpp:55,1
    - Dst: fabs
      Src: /src/PROJ/src/generic_inverse.cpp:56,1
    - Dst: fabs
      Src: /src/PROJ/src/generic_inverse.cpp:60,1
    - Dst: fabs
      Src: /src/PROJ/src/generic_inverse.cpp:60,1
    - Dst: PJ*::fwd
      Src: /src/PROJ/src/generic_inverse.cpp:68,1
    - Dst: PJ*::fwd
      Src: /src/PROJ/src/generic_inverse.cpp:75,1
    - Dst: std::max
      Src: /src/PROJ/src/generic_inverse.cpp:92,1
    - Dst: std::min
      Src: /src/PROJ/src/generic_inverse.cpp:93,1
    - Dst: std::max
      Src: /src/PROJ/src/generic_inverse.cpp:100,1
    - Dst: std::min
      Src: /src/PROJ/src/generic_inverse.cpp:101,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/generic_inverse.cpp:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - xy
    - P
    - lpInitial
    - deltaXYTolerance
    argTypes:
    - PJ_XY
    - PJ*
    - PJ_LP
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 111
    functionName: pj_generic_inverse_2d
    functionSourceFile: /src/PROJ/src/generic_inverse.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - std::min
    - proj_context_errno_set
    - PJ*::fwd
    - std::max
    linkageType: ''
    returnType: PJ_LP
    signature: "PJ_LP pj_generic_inverse_2d(PJ_XY xy, PJ *P, PJ_LP lpInitial,\n                            double
      deltaXYTolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/dist.cpp:44,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/dist.cpp:47,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:47,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:47,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:48,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - P
    - a
    - b
    argTypes:
    - PJ*
    - PJ_COORD
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: proj_geod
    functionSourceFile: /src/PROJ/src/dist.cpp
    functionUses: 2
    functionsReached:
    - PJ_TODEG
    - proj_coord_error
    - geod_inverse
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD proj_geod(const PJ *P, PJ_COORD a, PJ_COORD b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/dist.cpp:58,1
    - Dst: geod_direct
      Src: /src/PROJ/src/dist.cpp:62,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:62,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:62,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:63,1
    - Dst: proj_coord
      Src: /src/PROJ/src/dist.cpp:65,1
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/dist.cpp:65,1
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/dist.cpp:65,1
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/dist.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - P
    - a
    - azimuth
    - distance
    argTypes:
    - PJ*
    - PJ_COORD
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: proj_geod_direct
    functionSourceFile: /src/PROJ/src/dist.cpp
    functionUses: 2
    functionsReached:
    - geod_direct
    - PJ_TORAD
    - proj_coord_error
    - PJ_TODEG
    - proj_coord
    linkageType: ''
    returnType: PJ_COORD
    signature: "PJ_COORD proj_geod_direct(const PJ *P, PJ_COORD a, double azimuth,\n
      \                         double distance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geod_inverse
      Src: /src/PROJ/src/dist.cpp:76,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:76,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:76,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:77,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/dist.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - P
    - a
    - b
    argTypes:
    - PJ*
    - PJ_COORD
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: proj_lp_dist
    functionSourceFile: /src/PROJ/src/dist.cpp
    functionUses: 2
    functionsReached:
    - PJ_TODEG
    - geod_inverse
    linkageType: ''
    returnType: double
    signature: double proj_lp_dist(const PJ *P, PJ_COORD a, PJ_COORD b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/PROJ/src/dist.cpp:85,1
    - Dst: proj_lp_dist
      Src: /src/PROJ/src/dist.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - P
    - a
    - b
    argTypes:
    - PJ*
    - PJ_COORD
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: proj_lpz_dist
    functionSourceFile: /src/PROJ/src/dist.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - proj_lp_dist
    linkageType: ''
    returnType: double
    signature: double proj_lpz_dist(const PJ *P, PJ_COORD a, PJ_COORD b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/PROJ/src/dist.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PJ_COORD
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: proj_xy_dist
    functionSourceFile: /src/PROJ/src/dist.cpp
    functionUses: 6
    functionsReached:
    - hypot
    linkageType: ''
    returnType: double
    signature: double proj_xy_dist(PJ_COORD a, PJ_COORD b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/PROJ/src/dist.cpp:95,1
    - Dst: proj_xy_dist
      Src: /src/PROJ/src/dist.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PJ_COORD
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: proj_xyz_dist
    functionSourceFile: /src/PROJ/src/dist.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - proj_xy_dist
    linkageType: ''
    returnType: double
    signature: double proj_xyz_dist(PJ_COORD a, PJ_COORD b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - arr_len
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: simple_min
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double simple_min(const double *data, const int arr_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - arr_len
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: simple_max
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double simple_max(const double *data, const int arr_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - iii
    - data
    - arr_len
    argTypes:
    - int
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: find_previous_index
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int find_previous_index(const int iii, const double *data,\n                               const
      int arr_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_previous_index
      Src: /src/PROJ/src/trans_bounds.cpp:135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - data
    - arr_len
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 165
    functionName: antimeridian_min
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - find_previous_index
    linkageType: ''
    returnType: double
    signature: double antimeridian_min(const double *data, const int arr_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_previous_index
      Src: /src/PROJ/src/trans_bounds.cpp:183,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - data
    - arr_len
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 215
    functionName: antimeridian_max
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - find_previous_index
    linkageType: ''
    returnType: double
    signature: double antimeridian_max(const double *data, const int arr_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:231,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans_bounds.cpp:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 7
    argNames:
    - projobj
    - pj_direction
    - xmin
    - ymin
    - xmax
    - ymax
    - lon_lat_order
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - double
    - double
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: contains_north_pole
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - proj_trans_generic
    - pj_opposite_direction
    linkageType: ''
    returnType: bool
    signature: "bool contains_north_pole(PJ *projobj, PJ_DIRECTION pj_direction,\n
      \                               const double xmin, const double ymin,\n                                const
      double xmax, const double ymax,\n                                bool lon_lat_order)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:253,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans_bounds.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 7
    argNames:
    - projobj
    - pj_direction
    - xmin
    - ymin
    - xmax
    - ymax
    - lon_lat_order
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - double
    - double
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: contains_south_pole
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - proj_trans_generic
    - pj_opposite_direction
    linkageType: ''
    returnType: bool
    signature: "bool contains_south_pole(PJ *projobj, PJ_DIRECTION pj_direction,\n
      \                               const double xmin, const double ymin,\n                                const
      double xmax, const double ymax,\n                                bool lon_lat_order)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/trans_bounds.cpp:269,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/src/trans_bounds.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - transformer_ctx
    - transformer_pj
    - pj_direction
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: get_input_crs
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: PJ
    signature: "PJ *get_input_crs(PJ_CONTEXT *transformer_ctx, PJ *transformer_pj,\n
      \                        PJ_DIRECTION pj_direction)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_target_crs
      Src: /src/PROJ/src/trans_bounds.cpp:282,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/trans_bounds.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - transformer_ctx
    - transformer_pj
    - pj_direction
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: get_output_crs
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - proj_get_target_crs
    - proj_get_source_crs
    linkageType: ''
    returnType: PJ
    signature: "PJ *get_output_crs(PJ_CONTEXT *transformer_ctx, PJ *transformer_pj,\n
      \                         PJ_DIRECTION pj_direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/trans_bounds.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: is_geocentric
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - proj_get_type
    linkageType: ''
    returnType: bool
    signature: bool is_geocentric(PJ *crs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_output_crs
      Src: /src/PROJ/src/trans_bounds.cpp:301,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/src/trans_bounds.cpp:303,1
    - Dst: ends_with
      Src: /src/PROJ/src/trans_bounds.cpp:306,1
    - Dst: ends_with
      Src: /src/PROJ/src/trans_bounds.cpp:310,1
    - Dst: starts_with
      Src: /src/PROJ/src/trans_bounds.cpp:316,1
    - Dst: starts_with
      Src: /src/PROJ/src/trans_bounds.cpp:321,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/trans_bounds.cpp:328,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/trans_bounds.cpp:333,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/src/trans_bounds.cpp:334,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/trans_bounds.cpp:338,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/trans_bounds.cpp:339,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/trans_bounds.cpp:342,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/trans_bounds.cpp:344,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/trans_bounds.cpp:346,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/trans_bounds.cpp:351,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/trans_bounds.cpp:354,1
    - Dst: strcmp
      Src: /src/PROJ/src/trans_bounds.cpp:357,1
    - Dst: strcmp
      Src: /src/PROJ/src/trans_bounds.cpp:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - transformer_ctx
    - transformer_pj
    - pj_direction
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 358
    functionName: target_crs_lon_lat_order
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 0
    functionsReached:
    - get_output_crs
    - starts_with
    - proj_cs_get_axis_info
    - strcmp
    - proj_as_proj_string
    - proj_crs_get_sub_crs
    - ends_with
    - proj_destroy
    - proj_crs_get_coordinate_system
    - proj_context_log_debug
    - proj_get_type
    linkageType: ''
    returnType: int
    signature: "int target_crs_lon_lat_order(PJ_CONTEXT *transformer_ctx,\n                                    PJ
      *transformer_pj,\n                                    PJ_DIRECTION pj_direction)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:419,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:419,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:420,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:424,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:424,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:425,1
    - Dst: proj_pj_info
      Src: /src/PROJ/src/trans_bounds.cpp:429,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:431,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:431,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:432,1
    - Dst: strcmp
      Src: /src/PROJ/src/trans_bounds.cpp:435,1
    - Dst: proj_degree_output
      Src: /src/PROJ/src/trans_bounds.cpp:443,1
    - Dst: proj_degree_input
      Src: /src/PROJ/src/trans_bounds.cpp:444,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:446,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:448,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:449,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/trans_bounds.cpp:458,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/trans_bounds.cpp:459,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:462,1
    - Dst: what
      Src: /src/PROJ/src/trans_bounds.cpp:462,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:463,1
    - Dst: target_crs_lon_lat_order
      Src: /src/PROJ/src/trans_bounds.cpp:473,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans_bounds.cpp:474,1
    - Dst: target_crs_lon_lat_order
      Src: /src/PROJ/src/trans_bounds.cpp:480,1
    - Dst: contains_north_pole
      Src: /src/PROJ/src/trans_bounds.cpp:484,1
    - Dst: contains_south_pole
      Src: /src/PROJ/src/trans_bounds.cpp:486,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:492,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:492,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:493,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:503,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:503,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:504,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:529,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:529,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:530,1
    - Dst: std::swap
      Src: /src/PROJ/src/trans_bounds.cpp:535,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:540,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:540,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:541,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:541,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:542,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:542,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:543,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:543,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:547,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:547,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:553,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:553,1
    - Dst: antimeridian_min
      Src: /src/PROJ/src/trans_bounds.cpp:555,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:555,1
    - Dst: antimeridian_max
      Src: /src/PROJ/src/trans_bounds.cpp:556,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:556,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:558,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:558,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:559,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:559,1
    - Dst: std::swap
      Src: /src/PROJ/src/trans_bounds.cpp:564,1
    - Dst: std::swap
      Src: /src/PROJ/src/trans_bounds.cpp:565,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:575,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:575,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:577,1
    - Dst: std::isfinite
      Src: /src/PROJ/src/trans_bounds.cpp:580,1
    - Dst: std::isfinite
      Src: /src/PROJ/src/trans_bounds.cpp:581,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:582,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:583,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:584,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:585,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 132
    argCount: 12
    argNames:
    - context
    - P
    - direction
    - xmin
    - ymin
    - xmax
    - ymax
    - out_xmin
    - out_ymin
    - out_xmax
    - out_ymax
    - densify_pts
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_DIRECTION
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 592
    functionName: proj_trans_bounds
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 38
    functionsReached:
    - proj_degree_output
    - std::vector::resize
    - proj_pj_info
    - std::isfinite
    - std::vector::data
    - _
    - simple_min
    - antimeridian_min
    - contains_south_pole
    - std::swap
    - antimeridian_max
    - target_crs_lon_lat_order
    - proj_log_error
    - what
    - contains_north_pole
    - proj_errno_set
    - proj_degree_input
    - std::min
    - simple_max
    - proj_trans_generic
    - strcmp
    - std::max
    - pj_opposite_direction
    linkageType: ''
    returnType: int
    signature: "int proj_trans_bounds(PJ_CONTEXT *context, PJ *P, PJ_DIRECTION direction,\n
      \                     const double xmin, const double ymin, const double xmax,\n
      \                     const double ymax, double *out_xmin, double *out_ymin,\n
      \                     double *out_xmax, double *out_ymax,\n                      const
      int densify_pts)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:660,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:660,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:661,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:665,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:665,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:666,1
    - Dst: proj_pj_info
      Src: /src/PROJ/src/trans_bounds.cpp:670,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:672,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:672,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:673,1
    - Dst: strcmp
      Src: /src/PROJ/src/trans_bounds.cpp:676,1
    - Dst: proj_degree_output
      Src: /src/PROJ/src/trans_bounds.cpp:686,1
    - Dst: proj_degree_input
      Src: /src/PROJ/src/trans_bounds.cpp:687,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:689,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:691,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:692,1
    - Dst: get_input_crs
      Src: /src/PROJ/src/trans_bounds.cpp:697,1
    - Dst: is_geocentric
      Src: /src/PROJ/src/trans_bounds.cpp:698,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/trans_bounds.cpp:699,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/trans_bounds.cpp:705,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/trans_bounds.cpp:706,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/trans_bounds.cpp:707,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:710,1
    - Dst: what
      Src: /src/PROJ/src/trans_bounds.cpp:710,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:711,1
    - Dst: target_crs_lon_lat_order
      Src: /src/PROJ/src/trans_bounds.cpp:721,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans_bounds.cpp:722,1
    - Dst: target_crs_lon_lat_order
      Src: /src/PROJ/src/trans_bounds.cpp:728,1
    - Dst: contains_north_pole
      Src: /src/PROJ/src/trans_bounds.cpp:732,1
    - Dst: contains_south_pole
      Src: /src/PROJ/src/trans_bounds.cpp:734,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:740,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:740,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:741,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans_bounds.cpp:751,1
    - Dst: _
      Src: /src/PROJ/src/trans_bounds.cpp:751,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans_bounds.cpp:752,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:761,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:762,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:763,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/PROJ/src/trans_bounds.cpp:764,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/PROJ/src/trans_bounds.cpp:765,1
    - Dst: std::numeric_limits<double>::lowest
      Src: /src/PROJ/src/trans_bounds.cpp:766,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:840,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:840,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:842,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:843,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:846,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:847,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:847,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:848,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:849,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:849,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:850,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:851,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:851,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:852,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:853,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:853,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:854,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:855,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:855,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:856,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:857,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:857,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:883,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:883,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:885,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:886,1
    - Dst: std::swap
      Src: /src/PROJ/src/trans_bounds.cpp:891,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:898,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:899,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:899,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:901,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:902,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:902,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:904,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:905,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:905,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:907,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:908,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:908,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:913,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:914,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:914,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:921,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:922,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:922,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:924,1
    - Dst: antimeridian_min
      Src: /src/PROJ/src/trans_bounds.cpp:926,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:926,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:927,1
    - Dst: antimeridian_max
      Src: /src/PROJ/src/trans_bounds.cpp:929,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:929,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:932,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:933,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:933,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:935,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:936,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:936,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:939,1
    - Dst: simple_min
      Src: /src/PROJ/src/trans_bounds.cpp:940,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:940,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:941,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans_bounds.cpp:942,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:942,1
    - Dst: std::swap
      Src: /src/PROJ/src/trans_bounds.cpp:946,1
    - Dst: std::swap
      Src: /src/PROJ/src/trans_bounds.cpp:947,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/trans_bounds.cpp:958,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:958,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:960,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/trans_bounds.cpp:961,1
    - Dst: std::isfinite
      Src: /src/PROJ/src/trans_bounds.cpp:964,1
    - Dst: std::isfinite
      Src: /src/PROJ/src/trans_bounds.cpp:965,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:967,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:969,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:971,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:973,1
    - Dst: std::min
      Src: /src/PROJ/src/trans_bounds.cpp:976,1
    - Dst: std::max
      Src: /src/PROJ/src/trans_bounds.cpp:978,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 215
    argCount: 16
    argNames:
    - context
    - P
    - direction
    - xmin
    - ymin
    - zmin
    - xmax
    - ymax
    - zmax
    - out_xmin
    - out_ymin
    - out_zmin
    - out_xmax
    - out_ymax
    - out_zmax
    - densify_pts
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_DIRECTION
    - double
    - double
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 987
    functionName: proj_trans_bounds_3D
    functionSourceFile: /src/PROJ/src/trans_bounds.cpp
    functionUses: 14
    functionsReached:
    - proj_degree_output
    - std::vector::resize
    - proj_pj_info
    - std::isfinite
    - std::vector::data
    - _
    - simple_min
    - antimeridian_min
    - contains_south_pole
    - std::swap
    - antimeridian_max
    - std::numeric_limits<double>::lowest
    - target_crs_lon_lat_order
    - proj_destroy
    - proj_log_error
    - what
    - contains_north_pole
    - proj_errno_set
    - proj_degree_input
    - std::min
    - simple_max
    - proj_trans_generic
    - strcmp
    - get_input_crs
    - is_geocentric
    - std::max
    - pj_opposite_direction
    linkageType: ''
    returnType: int
    signature: "int proj_trans_bounds_3D(PJ_CONTEXT *context, PJ *P, PJ_DIRECTION
      direction,\n                         const double xmin, const double ymin,\n
      \                        const double zmin, const double xmax,\n                         const
      double ymax, const double zmax, double *out_xmin,\n                         double
      *out_ymin, double *out_zmin, double *out_xmax,\n                         double
      *out_ymax, double *out_zmax,\n                         const int densify_pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: YY_CAST
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: YY_CAST
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: YYSIZEOF
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSIZEOF(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 431
    functionName: YY_
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: YY_
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: YYUSE
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYUSE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: YY_INITIAL_VALUE
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INITIAL_VALUE(Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: YY_ASSERT
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ASSERT(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: YYSTACK_BYTES
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_BYTES(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Stack_alloc
    - ','
    - Stack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 600
    functionName: YYSTACK_RELOCATE
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_RELOCATE(Stack_alloc, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: YYCOPY
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: YYCOPY
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - YYX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: YYTRANSLATE
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYTRANSLATE(YYX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1043
    functionName: yypact_value_is_default
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yypact_value_is_default(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1048
    functionName: yytable_value_is_error
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yytable_value_is_error(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2505
    functionName: YYRECOVERING
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRECOVERING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Token
    - ','
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2522
    functionName: YYBACKUP
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYBACKUP(Token, Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2542
    functionName: YYDPRINTF
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2546
    functionName: YY_LOCATION_PRINT
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_LOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Title
    - ','
    - Type
    - ','
    - Value
    - ','
    - Location
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2559
    functionName: YY_SYMBOL_PRINT
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SYMBOL_PRINT(Title, Type, Value, Location)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt2_generated_parser.c:2569,1
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt2_generated_parser.c:2570,1
    - Dst: YYPRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:2575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - yyo
    - yytype
    - yyvaluep
    - context
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - pj_wkt2_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2580
    functionName: yy_symbol_value_print
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - YYPRINT
    - YYUSE
    linkageType: ''
    returnType: void
    signature: void yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const *
      const yyvaluep, pj_wkt2_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2590,1
    - Dst: yy_symbol_value_print
      Src: /src/PROJ/src/wkt2_generated_parser.c:2593,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - yyo
    - yytype
    - yyvaluep
    - context
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - pj_wkt2_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2595
    functionName: yy_symbol_print
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - yy_symbol_value_print
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const
      yyvaluep, pj_wkt2_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2605,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2609,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - yybottom
    - yytop
    argTypes:
    - yy_state_t*
    - yy_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2612
    functionName: yy_stack_print
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Bottom
    - ','
    - Top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2619
    functionName: YY_STACK_PRINT
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STACK_PRINT(Bottom, Top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2631,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2636,1
    - Dst: yy_symbol_print
      Src: /src/PROJ/src/wkt2_generated_parser.c:2637,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:2641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - yyssp
    - yyvsp
    - yyrule
    - context
    argTypes:
    - yy_state_t*
    - YYSTYPE*
    - int
    - pj_wkt2_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2643
    functionName: yy_reduce_print
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - yy_symbol_print
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule,
      pj_wkt2_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2650
    functionName: YY_REDUCE_PRINT
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REDUCE_PRINT(Rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2684
    functionName: yystrlen
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yystrlen(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - yystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2693
    functionName: yystrlen
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yystrlen (const char *yystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - yydest
    - yysrc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2713
    functionName: yystpcpy
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yystpcpy (char *yydest, const char *yysrc)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yystpcpy
      Src: /src/PROJ/src/wkt2_generated_parser.c:2762,1
    - Dst: yystrlen
      Src: /src/PROJ/src/wkt2_generated_parser.c:2764,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - yyres
    - yystr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2765
    functionName: yytnamerr
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - yystrlen
    - yystpcpy
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yytnamerr
      Src: /src/PROJ/src/wkt2_generated_parser.c:2817,1
    - Dst: yypact_value_is_default
      Src: /src/PROJ/src/wkt2_generated_parser.c:2820,1
    - Dst: yytable_value_is_error
      Src: /src/PROJ/src/wkt2_generated_parser.c:2833,1
    - Dst: yytnamerr
      Src: /src/PROJ/src/wkt2_generated_parser.c:2844,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2861,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2861,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2862,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2862,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2863,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2863,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2864,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2864,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2865,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2865,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2866,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:2866,1
    - Dst: yystrlen
      Src: /src/PROJ/src/wkt2_generated_parser.c:2873,1
    - Dst: yytnamerr
      Src: /src/PROJ/src/wkt2_generated_parser.c:2898,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - yymsg_alloc
    - yymsg
    - yyssp
    - yytoken
    argTypes:
    - YYPTRDIFF_T*
    - char**
    - yy_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2908
    functionName: yysyntax_error
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - yypact_value_is_default
    - YYCASE_
    - yytable_value_is_error
    - YY_
    - yystrlen
    - yytnamerr
    linkageType: ''
    returnType: int
    signature: "int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,\n                yy_state_t
      *yyssp, int yytoken)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2860
    functionName: YYCASE_
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCASE_(N, S)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt2_generated_parser.c:2918,1
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt2_generated_parser.c:2919,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:2922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - yymsg
    - yytype
    - yyvaluep
    - context
    argTypes:
    - char*
    - int
    - YYSTYPE*
    - pj_wkt2_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2927
    functionName: yydestruct
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - YYUSE
    - YY_SYMBOL_PRINT
    linkageType: ''
    returnType: void
    signature: void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep,
      pj_wkt2_parse_context *context)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:3000,1
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:3022,1
    - Dst: YY_ASSERT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3023,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt2_generated_parser.c:3025,1
    - Dst: yyoverflow
      Src: /src/PROJ/src/wkt2_generated_parser.c:3048,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:3048,1
    - Dst: YYSIZEOF
      Src: /src/PROJ/src/wkt2_generated_parser.c:3049,1
    - Dst: YYSIZEOF
      Src: /src/PROJ/src/wkt2_generated_parser.c:3050,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt2_generated_parser.c:3066,1
    - Dst: YYSTACK_ALLOC
      Src: /src/PROJ/src/wkt2_generated_parser.c:3067,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt2_generated_parser.c:3067,1
    - Dst: YYSTACK_BYTES
      Src: /src/PROJ/src/wkt2_generated_parser.c:3067,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3070,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3071,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3074,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt2_generated_parser.c:3083,1
    - Dst: yypact_value_is_default
      Src: /src/PROJ/src/wkt2_generated_parser.c:3106,1
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:3114,1
    - Dst: yylex
      Src: /src/PROJ/src/wkt2_generated_parser.c:3115,1
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt2_generated_parser.c:3121,1
    - Dst: YYTRANSLATE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3125,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3126,1
    - Dst: yytable_value_is_error
      Src: /src/PROJ/src/wkt2_generated_parser.c:3137,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3149,1
    - Dst: YY_REDUCE_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3188,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3206,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt2_generated_parser.c:3208,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3210,1
    - Dst: YYTRANSLATE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3234,1
    - Dst: yyerror
      Src: /src/PROJ/src/wkt2_generated_parser.c:3241,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:3241,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:3246,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3254,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt2_generated_parser.c:3255,1
    - Dst: YYSTACK_ALLOC
      Src: /src/PROJ/src/wkt2_generated_parser.c:3255,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt2_generated_parser.c:3255,1
    - Dst: yyerror
      Src: /src/PROJ/src/wkt2_generated_parser.c:3268,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt2_generated_parser.c:3291,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt2_generated_parser.c:3314,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3316,1
    - Dst: yypact_value_is_default
      Src: /src/PROJ/src/wkt2_generated_parser.c:3331,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt2_generated_parser.c:3347,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt2_generated_parser.c:3349,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3351,1
    - Dst: yyerror
      Src: /src/PROJ/src/wkt2_generated_parser.c:3387,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt2_generated_parser.c:3387,1
    - Dst: YYTRANSLATE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3401,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt2_generated_parser.c:3402,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt2_generated_parser.c:3407,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt2_generated_parser.c:3408,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt2_generated_parser.c:3411,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt2_generated_parser.c:3413,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3417,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt2_generated_parser.c:3421,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 210
    argCount: 1
    argNames:
    - context
    argTypes:
    - pj_wkt2_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 3424
    functionName: yyparse
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 0
    functionsReached:
    - YYSIZEOF
    - yylex
    - YY_REDUCE_PRINT
    - YY_
    - yyoverflow
    - YYSTACK_ALLOC
    - YY_STACK_PRINT
    - yypact_value_is_default
    - YY_CAST
    - yydestruct
    - YY_SYMBOL_PRINT
    - yyerror
    - YYSTACK_BYTES
    - YYTRANSLATE
    - YYSTACK_FREE
    - YYPOPSTACK
    - YY_ASSERT
    - yytable_value_is_error
    - YYDPRINTF
    - YYSTACK_RELOCATE
    linkageType: ''
    returnType: int
    signature: int yyparse (pj_wkt2_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 2991
    functionName: YYPOPSTACK
    functionSourceFile: /src/PROJ/src/wkt2_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPOPSTACK(N)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/src/proj_mdist.cpp:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - es
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 93
    functionName: proj_mdist_ini
    functionSourceFile: /src/PROJ/src/proj_mdist.cpp
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *proj_mdist_ini(double es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/proj_mdist.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - phi
    - sphi
    - cphi
    - data
    argTypes:
    - double
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: proj_mdist
    functionSourceFile: /src/PROJ/src/proj_mdist.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double proj_mdist(double phi, double sphi, double cphi, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/proj_mdist.cpp:116,1
    - Dst: proj_mdist
      Src: /src/PROJ/src/proj_mdist.cpp:118,1
    - Dst: cos
      Src: /src/PROJ/src/proj_mdist.cpp:118,1
    - Dst: sqrt
      Src: /src/PROJ/src/proj_mdist.cpp:118,1
    - Dst: fabs
      Src: /src/PROJ/src/proj_mdist.cpp:119,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/proj_mdist.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - dist
    - data
    argTypes:
    - PJ_CONTEXT*
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: proj_inv_mdist
    functionSourceFile: /src/PROJ/src/proj_mdist.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - cos
    - proj_mdist
    - proj_context_errno_set
    - sin
    linkageType: ''
    returnType: double
    signature: double proj_inv_mdist(PJ_CONTEXT *ctx, double dist, const void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/phi2.cpp:95,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/PROJ/src/phi2.cpp:95,1
    - Dst: std::max
      Src: /src/PROJ/src/phi2.cpp:100,1
    - Dst: fabs
      Src: /src/PROJ/src/phi2.cpp:100,1
    - Dst: fabs
      Src: /src/PROJ/src/phi2.cpp:102,1
    - Dst: exp
      Src: /src/PROJ/src/phi2.cpp:102,1
    - Dst: atanh
      Src: /src/PROJ/src/phi2.cpp:102,1
    - Dst: fabs
      Src: /src/PROJ/src/phi2.cpp:103,1
    - Dst: sqrt
      Src: /src/PROJ/src/phi2.cpp:109,1
    - Dst: sinh
      Src: /src/PROJ/src/phi2.cpp:110,1
    - Dst: atanh
      Src: /src/PROJ/src/phi2.cpp:110,1
    - Dst: sqrt
      Src: /src/PROJ/src/phi2.cpp:111,1
    - Dst: sqrt
      Src: /src/PROJ/src/phi2.cpp:113,1
    - Dst: fabs
      Src: /src/PROJ/src/phi2.cpp:115,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/phi2.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - taup
    - e
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 121
    functionName: pj_sinhpsi2tanphi
    functionSourceFile: /src/PROJ/src/phi2.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - sinh
    - atanh
    - proj_context_errno_set
    - exp
    - std::max
    - std::numeric_limits<double>::epsilon
    linkageType: ''
    returnType: double
    signature: double pj_sinhpsi2tanphi(PJ_CONTEXT *ctx, const double taup, const
      double e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/phi2.cpp:146,1
    - Dst: pj_sinhpsi2tanphi
      Src: /src/PROJ/src/phi2.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ts0
    - e
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: pj_phi2
    functionSourceFile: /src/PROJ/src/phi2.cpp
    functionUses: 2
    functionsReached:
    - pj_sinhpsi2tanphi
    - atan
    linkageType: ''
    returnType: double
    signature: double pj_phi2(PJ_CONTEXT *ctx, const double ts0, const double e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - z
    - C
    - n
    argTypes:
    - COMPLEX
    - COMPLEX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: pj_zpoly1
    functionSourceFile: /src/PROJ/src/zpoly1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COMPLEX
    signature: COMPLEX pj_zpoly1(COMPLEX z, const COMPLEX *C, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - z
    - C
    - n
    - der
    argTypes:
    - COMPLEX
    - COMPLEX*
    - int
    - COMPLEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: pj_zpolyd1
    functionSourceFile: /src/PROJ/src/zpoly1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COMPLEX
    signature: COMPLEX pj_zpolyd1(COMPLEX z, const COMPLEX *C, int n, COMPLEX *der)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pnSize
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: pj_get_embedded_proj_db
    functionSourceFile: /src/PROJ/src/embedded_resources.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *pj_get_embedded_proj_db(unsigned int *pnSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pnSize
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pj_get_embedded_proj_db
    functionSourceFile: /src/PROJ/src/embedded_resources.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *pj_get_embedded_proj_db(unsigned int *pnSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PROJ/src/gauss.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - esinp
    - ratexp
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: srat
    functionSourceFile: /src/PROJ/src/gauss.cpp
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double srat(double esinp, double ratexp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/src/gauss.cpp:53,1
    - Dst: sin
      Src: /src/PROJ/src/gauss.cpp:57,1
    - Dst: cos
      Src: /src/PROJ/src/gauss.cpp:58,1
    - Dst: sqrt
      Src: /src/PROJ/src/gauss.cpp:60,1
    - Dst: sqrt
      Src: /src/PROJ/src/gauss.cpp:61,1
    - Dst: free
      Src: /src/PROJ/src/gauss.cpp:63,1
    - Dst: asin
      Src: /src/PROJ/src/gauss.cpp:66,1
    - Dst: srat
      Src: /src/PROJ/src/gauss.cpp:68,1
    - Dst: free
      Src: /src/PROJ/src/gauss.cpp:70,1
    - Dst: tan
      Src: /src/PROJ/src/gauss.cpp:76,1
    - Dst: pow
      Src: /src/PROJ/src/gauss.cpp:77,1
    - Dst: tan
      Src: /src/PROJ/src/gauss.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - e
    - phi0
    - chi
    - rc
    argTypes:
    - double
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: pj_gauss_ini
    functionSourceFile: /src/PROJ/src/gauss.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - free
    - cos
    - tan
    - asin
    - srat
    - pow
    - malloc
    - sin
    linkageType: ''
    returnType: void
    signature: void *pj_gauss_ini(double e, double phi0, double *chi, double *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/gauss.cpp:87,1
    - Dst: pow
      Src: /src/PROJ/src/gauss.cpp:87,1
    - Dst: tan
      Src: /src/PROJ/src/gauss.cpp:87,1
    - Dst: srat
      Src: /src/PROJ/src/gauss.cpp:88,1
    - Dst: sin
      Src: /src/PROJ/src/gauss.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - elp
    - data
    argTypes:
    - PJ_CONTEXT*
    - PJ_LP
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: pj_gauss
    functionSourceFile: /src/PROJ/src/gauss.cpp
    functionUses: 0
    functionsReached:
    - tan
    - pow
    - srat
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pj_gauss(PJ_CONTEXT *ctx, PJ_LP elp, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PROJ/src/gauss.cpp:101,1
    - Dst: tan
      Src: /src/PROJ/src/gauss.cpp:101,1
    - Dst: atan
      Src: /src/PROJ/src/gauss.cpp:104,1
    - Dst: srat
      Src: /src/PROJ/src/gauss.cpp:104,1
    - Dst: sin
      Src: /src/PROJ/src/gauss.cpp:104,1
    - Dst: fabs
      Src: /src/PROJ/src/gauss.cpp:105,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/gauss.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - slp
    - data
    argTypes:
    - PJ_CONTEXT*
    - PJ_LP
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: pj_inv_gauss
    functionSourceFile: /src/PROJ/src/gauss.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - tan
    - pow
    - srat
    - proj_context_errno_set
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pj_inv_gauss(PJ_CONTEXT *ctx, PJ_LP slp, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char *>
      Src: /src/PROJ/src/grids.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dataIn
    - word_size
    - word_count
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: swap_words
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 6
    functionsReached:
    - static_cast<unsigned char *>
    linkageType: ''
    returnType: void
    signature: void swap_words(void *dataIn, size_t word_size, size_t word_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ExtentAndRes::computeInvRes
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtentAndRes::computeInvRes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: ExtentAndRes::fullWorldLongitude
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExtentAndRes::fullWorldLongitude() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ExtentAndRes::contains
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExtentAndRes::contains(const ExtentAndRes &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ExtentAndRes::intersects
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExtentAndRes::intersects(const ExtentAndRes &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - std::string
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: Grid::Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Grid::Grid(const std::string &nameIn, int widthIn, int heightIn,\n
      \          const ExtentAndRes &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Grid::~Grid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Grid::~Grid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - std::string
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: VerticalShiftGrid::VerticalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VerticalShiftGrid::VerticalShiftGrid(const std::string &nameIn,
      int widthIn,\n                                     int heightIn, const ExtentAndRes
      &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: VerticalShiftGrid::~VerticalShiftGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalShiftGrid::~VerticalShiftGrid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtentAndRes::computeInvRes
      Src: /src/PROJ/src/grids.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: globalExtent
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - ExtentAndRes::computeInvRes
    linkageType: ''
    returnType: ExtentAndRes
    signature: ExtentAndRes globalExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: globalExtent
      Src: /src/PROJ/src/grids.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: NullVerticalShiftGrid::NullVerticalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - globalExtent
    linkageType: ''
    returnType: void
    signature: void NullVerticalShiftGrid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: NullVerticalShiftGrid::isNullGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNullGrid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: NullVerticalShiftGrid::isNodata
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodata(float, double) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: NullVerticalShiftGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: NullVerticalShiftGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: NullVerticalShiftGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NullVerticalShiftGrid::valueAt(int, int, float &out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: FloatLineCache::FloatLineCache
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatLineCache(size_t maxSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FloatLineCache::insert
      Src: /src/PROJ/src/grids.cpp:190,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/src/grids.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - subgridIdx
    - lineNumber
    - data
    argTypes:
    - uint32_t
    - uint32_t
    - std::vector<float>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: FloatLineCache::insert
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - FloatLineCache::insert
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: "void FloatLineCache::insert(uint32_t subgridIdx, uint32_t lineNumber,\n
      \                           const std::vector<float> &data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPtr
      Src: /src/PROJ/src/grids.cpp:197,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/src/grids.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - subgridIdx
    - lineNumber
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: FloatLineCache::get
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - getPtr
    - static_cast<uint64_t>
    linkageType: ''
    returnType: std::vector<float>
    signature: "std::vector<float> *FloatLineCache::get(uint32_t subgridIdx,\n                                              uint32_t
      lineNumber)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: GTXVerticalShiftGrid::GTXVerticalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTXVerticalShiftGrid(const GTXVerticalShiftGrid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '&operator=(const GTXVerticalShiftGrid &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GTXVerticalShiftGrid
    signature: GTXVerticalShiftGrid &operator=(const GTXVerticalShiftGrid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:218,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 7
    argNames:
    - ctx
    - fp
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    - cache
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    - int
    - int
    - ExtentAndRes
    - std::unique_ptr<FloatLineCache>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: GTXVerticalShiftGrid::GTXVerticalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GTXVerticalShiftGrid(PJ_CONTEXT *ctx, std::unique_ptr<File> &&fp,\n
      \                                 const std::string &nameIn, int widthIn,\n
      \                                 int heightIn, const ExtentAndRes &extentIn,\n
      \                                 std::unique_ptr<FloatLineCache> &&cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTXVerticalShiftGrid::reassign_context
      Src: /src/PROJ/src/grids.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: GTXVerticalShiftGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTXVerticalShiftGrid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTXVerticalShiftGrid::hasChanged
      Src: /src/PROJ/src/grids.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: GTXVerticalShiftGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTXVerticalShiftGrid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: GTXVerticalShiftGrid::~GTXVerticalShiftGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTXVerticalShiftGrid::~GTXVerticalShiftGrid()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<File>::read
      Src: /src/PROJ/src/grids.cpp:254,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:255,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:255,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:256,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:265,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:266,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:272,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:273,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:274,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:275,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:277,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:278,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:282,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:283,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:284,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:296,1
    - Dst: ExtentAndRes::computeInvRes
      Src: /src/PROJ/src/grids.cpp:308,1
    - Dst: std::make_unique<FloatLineCache>
      Src: /src/PROJ/src/grids.cpp:312,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:313,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:314,1
    - Dst: GTXVerticalShiftGrid::GTXVerticalShiftGrid
      Src: /src/PROJ/src/grids.cpp:313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - fp
    - name
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 315
    functionName: GTXVerticalShiftGrid::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<File>::read
    - memcpy
    - std::make_unique<FloatLineCache>
    - GTXVerticalShiftGrid::GTXVerticalShiftGrid
    - std::move
    - pj_log
    - swap_words
    - ExtentAndRes::computeInvRes
    - proj_context_errno_set
    - _
    linkageType: ''
    returnType: GTXVerticalShiftGrid
    signature: "GTXVerticalShiftGrid *GTXVerticalShiftGrid::open(PJ_CONTEXT *ctx,\n
      \                                                std::unique_ptr<File> fp,\n
      \                                                const std::string &name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:320,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:322,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:325,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:327,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:327,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:327,1
    - Dst: seek
      Src: /src/PROJ/src/grids.cpp:332,1
    - Dst: static_cast<unsigned long long>
      Src: /src/PROJ/src/grids.cpp:332,1
    - Dst: read
      Src: /src/PROJ/src/grids.cpp:333,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:334,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:340,1
    - Dst: insert
      Src: /src/PROJ/src/grids.cpp:345,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:348,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:348,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - x
    - y
    - out
    argTypes:
    - int
    - int
    - float
    assertStmts:
    - condition: (x >= 0 && y >= 0 && x < m_width && y < m_height)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: GTXVerticalShiftGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - insert
    - get
    - seek
    - pj_log
    - swap_words
    - assert
    - proj_context_errno_set
    - resize
    - static_cast<unsigned long long>
    - _
    - what
    - read
    linkageType: ''
    returnType: bool
    signature: bool GTXVerticalShiftGrid::valueAt(int x, int y, float &out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - val
    - multiplier
    argTypes:
    - float
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: GTXVerticalShiftGrid::isNodata
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GTXVerticalShiftGrid::isNodata(float val, double multiplier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: VerticalShiftGridSet::VerticalShiftGridSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalShiftGridSet::VerticalShiftGridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: VerticalShiftGridSet::~VerticalShiftGridSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalShiftGridSet::~VerticalShiftGridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 2
    argNames:
    - header_size
    - header
    argTypes:
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: IsTIFF
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTIFF(size_t header_size, const unsigned char *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockCache::insert
      Src: /src/PROJ/src/grids.cpp:430,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/src/grids.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ifdIdx
    - blockNumber
    - data
    argTypes:
    - uint32_t
    - uint32_t
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: BlockCache::insert
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - BlockCache::insert
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: "void BlockCache::insert(uint32_t ifdIdx, uint32_t blockNumber,\n                        const
      std::vector<unsigned char> &data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPtr
      Src: /src/PROJ/src/grids.cpp:437,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/src/grids.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ifdIdx
    - blockNumber
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: BlockCache::get
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - getPtr
    - static_cast<uint64_t>
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: "std::vector<unsigned char> *BlockCache::get(uint32_t ifdIdx,\n                                                  uint32_t
      blockNumber)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: GTiffGrid::GTiffGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffGrid(const GTiffGrid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: '&operator=(const GTiffGrid &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GTiffGrid
    signature: GTiffGrid &operator=(const GTiffGrid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: GTiffGrid::samplesPerPixel
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t samplesPerPixel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: GTiffGrid::subfileType
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subfileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: GTiffGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffGrid::hasChanged
      Src: /src/PROJ/src/grids.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: GTiffGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffGrid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PROJ/src/grids.cpp:516,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/src/grids.cpp:518,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/src/grids.cpp:519,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:522,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:523,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:526,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/grids.cpp:527,1
    - Dst: static_cast<uint32_t>
      Src: /src/PROJ/src/grids.cpp:532,1
    - Dst: static_cast<uint32_t>
      Src: /src/PROJ/src/grids.cpp:533,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:535,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:544,1
    - Dst: strstr
      Src: /src/PROJ/src/grids.cpp:547,1
    - Dst: strchr
      Src: /src/PROJ/src/grids.cpp:550,1
    - Dst: strchr
      Src: /src/PROJ/src/grids.cpp:553,1
    - Dst: std::string::append
      Src: /src/PROJ/src/grids.cpp:558,1
    - Dst: std::string::append
      Src: /src/PROJ/src/grids.cpp:561,1
    - Dst: std::string::find
      Src: /src/PROJ/src/grids.cpp:564,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:568,1
    - Dst: std::string::find
      Src: /src/PROJ/src/grids.cpp:569,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/grids.cpp:572,1
    - Dst: std::string::find
      Src: /src/PROJ/src/grids.cpp:575,1
    - Dst: atoi
      Src: /src/PROJ/src/grids.cpp:578,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:578,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:578,1
    - Dst: std::pair<int, std::string>
      Src: /src/PROJ/src/grids.cpp:581,1
    - Dst: std::string::find
      Src: /src/PROJ/src/grids.cpp:583,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:585,1
    - Dst: std::string::find
      Src: /src/PROJ/src/grids.cpp:586,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/grids.cpp:589,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/grids.cpp:592,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:594,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:595,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:596,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/grids.cpp:598,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/grids.cpp:604,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:606,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:607,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:608,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/grids.cpp:610,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:621,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:623,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/grids.cpp:623,1
    - Dst: find
      Src: /src/PROJ/src/grids.cpp:629,1
    - Dst: std::pair<int, std::string>
      Src: /src/PROJ/src/grids.cpp:629,1
    - Dst: end
      Src: /src/PROJ/src/grids.cpp:630,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 13
    argNames:
    - ctx
    - hTIFF
    - cache
    - fp
    - ifdIdx
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    - dtIn
    - samplesPerPixelIn
    - planarConfig
    - bottomUpIn
    argTypes:
    - PJ_CONTEXT*
    - TIFF*
    - BlockCache
    - File*
    - uint32_t
    - std::string
    - int
    - int
    - ExtentAndRes
    - TIFFDataType
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 633
    functionName: GTiffGrid::GTiffGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - end
    - TIFFGetField
    - find
    - std::string::substr
    - TIFFIsTiled
    - std::string::find
    - strlen
    - static_cast<float>
    - static_cast<uint32_t>
    - std::string::append
    - atoi
    - static_cast<uint16_t>
    - std::pair<int, std::string>
    - strstr
    - static_cast<unsigned>
    - strchr
    - c_locale_stod
    - empty
    - resize
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: void
    signature: "void GTiffGrid::GTiffGrid(PJ_CONTEXT *ctx, TIFF *hTIFF, BlockCache
      &cache, File *fp,\n                     uint32_t ifdIdx, const std::string &nameIn,
      int widthIn,\n                     int heightIn, const ExtentAndRes &extentIn,\n
      \                    TIFFDataType dtIn, uint16_t samplesPerPixelIn,\n                     uint16_t
      planarConfig, bool bottomUpIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    functionName: GTiffGrid::~GTiffGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffGrid::~GTiffGrid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/PROJ/src/grids.cpp:644,1
    - Dst: std::vector<unsigned char>::data
      Src: /src/PROJ/src/grids.cpp:644,1
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:645,1
    - Dst: std::vector<unsigned char>::size
      Src: /src/PROJ/src/grids.cpp:645,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:647,1
    - Dst: size
      Src: /src/PROJ/src/grids.cpp:648,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:651,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - offsetInBlock
    - sample
    argTypes:
    - std::vector<unsigned char>
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (offsetInBlock < buffer.size() / sizeof(T))
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 655
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 655
    functionName: GTiffGrid::readValue
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - size
    - reinterpret_cast<const T *>
    - assert
    - std::vector<unsigned char>::data
    - static_cast<float>
    - std::vector<unsigned char>::size
    linkageType: ''
    returnType: float
    signature: "float GTiffGrid::readValue(const std::vector<unsigned char> &buffer,\n
      \                          uint32_t offsetInBlock, uint16_t sample) const"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:661,1
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:662,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:698,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/src/grids.cpp:700,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/src/grids.cpp:701,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:704,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/grids.cpp:705,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/src/grids.cpp:706,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/src/grids.cpp:706,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:708,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:710,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:710,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:710,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/src/grids.cpp:716,1
    - Dst: data
      Src: /src/PROJ/src/grids.cpp:716,1
    - Dst: size
      Src: /src/PROJ/src/grids.cpp:717,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/src/grids.cpp:721,1
    - Dst: data
      Src: /src/PROJ/src/grids.cpp:721,1
    - Dst: size
      Src: /src/PROJ/src/grids.cpp:722,1
    - Dst: insert
      Src: /src/PROJ/src/grids.cpp:729,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:733,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:733,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:733,1
    - Dst: GTiffGrid::readValue
      Src: /src/PROJ/src/grids.cpp:747,1
    - Dst: GTiffGrid::readValue
      Src: /src/PROJ/src/grids.cpp:751,1
    - Dst: GTiffGrid::readValue
      Src: /src/PROJ/src/grids.cpp:755,1
    - Dst: GTiffGrid::readValue
      Src: /src/PROJ/src/grids.cpp:759,1
    - Dst: GTiffGrid::readValue
      Src: /src/PROJ/src/grids.cpp:763,1
    - Dst: GTiffGrid::readValue
      Src: /src/PROJ/src/grids.cpp:767,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 4
    argNames:
    - sample
    - x
    - yFromBottom
    - out
    argTypes:
    - uint16_t
    - int
    - int
    - float
    assertStmts:
    - condition: (sample < m_samplesPerPixel)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/PROJ/src/grids.cpp
    - condition: (x >= 0 && yFromBottom >= 0 && x < m_width && yFromBottom < m_height)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 772
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 772
    functionName: GTiffGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - size
    - TIFFSetSubDirectory
    - insert
    - get
    - _
    - static_cast<size_t>
    - TIFFTileSize64
    - pj_log
    - TIFFStripSize64
    - GTiffGrid::readValue
    - assert
    - TIFFReadEncodedStrip
    - empty
    - resize
    - data
    - what
    - TIFFReadEncodedTile
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: bool
    signature: "bool GTiffGrid::valueAt(uint16_t sample, int x, int yFromBottom,\n
      \                       float &out) const"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getTIFFRow
      Src: /src/PROJ/src/grids.cpp:786,1
    - Dst: getTIFFRow
      Src: /src/PROJ/src/grids.cpp:786,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:787,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:804,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/src/grids.cpp:806,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/src/grids.cpp:807,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:810,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/grids.cpp:812,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/src/grids.cpp:812,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/src/grids.cpp:813,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:815,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:817,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:817,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:817,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/src/grids.cpp:823,1
    - Dst: data
      Src: /src/PROJ/src/grids.cpp:823,1
    - Dst: size
      Src: /src/PROJ/src/grids.cpp:824,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/src/grids.cpp:828,1
    - Dst: data
      Src: /src/PROJ/src/grids.cpp:828,1
    - Dst: size
      Src: /src/PROJ/src/grids.cpp:829,1
    - Dst: insert
      Src: /src/PROJ/src/grids.cpp:836,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:840,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:840,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:840,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:854,1
    - Dst: reinterpret_cast<const float *>
      Src: /src/PROJ/src/grids.cpp:855,1
    - Dst: std::vector*::data
      Src: /src/PROJ/src/grids.cpp:855,1
    - Dst: reinterpret_cast<const float *>
      Src: /src/PROJ/src/grids.cpp:870,1
    - Dst: std::vector*::data
      Src: /src/PROJ/src/grids.cpp:870,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:873,1
    - Dst: reinterpret_cast<const float *>
      Src: /src/PROJ/src/grids.cpp:887,1
    - Dst: std::vector*::data
      Src: /src/PROJ/src/grids.cpp:887,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:890,1
    - Dst: reinterpret_cast<const float *>
      Src: /src/PROJ/src/grids.cpp:904,1
    - Dst: std::vector*::data
      Src: /src/PROJ/src/grids.cpp:904,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:907,1
    - Dst: GTiffGrid::valueAt
      Src: /src/PROJ/src/grids.cpp:921,1
    - Dst: static_cast<uint16_t>
      Src: /src/PROJ/src/grids.cpp:921,1
    - Dst: GTiffGrid::isNodata
      Src: /src/PROJ/src/grids.cpp:924,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 88
    argCount: 8
    argNames:
    - x_start
    - y_start
    - x_count
    - y_count
    - sample_count
    - sample_idx
    - out
    - nodataFound
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int*
    - float*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 932
    functionName: GTiffGrid::valuesAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - insert
    - TIFFReadEncodedStrip
    - _
    - getTIFFRow
    - reinterpret_cast<const float *>
    - TIFFSetSubDirectory
    - GTiffGrid::valueAt
    - memcpy
    - static_cast<size_t>
    - GTiffGrid::isNodata
    - what
    - TIFFReadEncodedTile
    - size
    - TIFFTileSize64
    - pj_log
    - std::vector*::data
    - data
    - static_cast<uint16_t>
    - get
    - TIFFStripSize64
    - empty
    - resize
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: bool
    signature: "bool GTiffGrid::valuesAt(int x_start, int y_start, int x_count, int
      y_count,\n                         int sample_count, const int *sample_idx,
      float *out,\n                         bool &nodataFound) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/PROJ/src/grids.cpp:937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: GTiffGrid::isNodata
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool GTiffGrid::isNodata(float val) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/src/grids.cpp:944,1
    - Dst: std::pair<int, std::string>
      Src: /src/PROJ/src/grids.cpp:944,1
    - Dst: end
      Src: /src/PROJ/src/grids.cpp:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - sample
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: "&GTiffGrid::metadataItem(const std::string &key,\n                                           int
      sample) const"
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - std::pair<int, std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string &GTiffGrid::metadataItem(const std::string &key,\n                                           int
      sample) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: GTiffDataset::GTiffDataset
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffDataset(const GTiffDataset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 964
    functionName: '&operator=(const GTiffDataset &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GTiffDataset
    signature: GTiffDataset &operator=(const GTiffDataset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GTiffDataset *>
      Src: /src/PROJ/src/grids.cpp:968,1
    - Dst: GTiffDataset*::m_fp::read
      Src: /src/PROJ/src/grids.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: GTiffDataset::tiffReadProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - GTiffDataset*::m_fp::read
    - static_cast<GTiffDataset *>
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t tiffReadProc(thandle_t fd, tdata_t buf, tsize_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: GTiffDataset::tiffWriteProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t tiffWriteProc(thandle_t, tdata_t, tsize_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GTiffDataset *>
      Src: /src/PROJ/src/grids.cpp:978,1
    - Dst: GTiffDataset*::m_fp::seek
      Src: /src/PROJ/src/grids.cpp:979,1
    - Dst: static_cast<toff_t>
      Src: /src/PROJ/src/grids.cpp:980,1
    - Dst: GTiffDataset*::m_fp::tell
      Src: /src/PROJ/src/grids.cpp:980,1
    - Dst: static_cast<toff_t>
      Src: /src/PROJ/src/grids.cpp:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - toff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 983
    functionName: GTiffDataset::tiffSeekProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - GTiffDataset*::m_fp::seek
    - static_cast<GTiffDataset *>
    - GTiffDataset*::m_fp::tell
    - static_cast<toff_t>
    linkageType: ''
    returnType: toff_t
    signature: toff_t tiffSeekProc(thandle_t fd, toff_t off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: GTiffDataset::tiffCloseProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tiffCloseProc(thandle_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GTiffDataset *>
      Src: /src/PROJ/src/grids.cpp:991,1
    - Dst: GTiffDataset*::m_fp::tell
      Src: /src/PROJ/src/grids.cpp:992,1
    - Dst: GTiffDataset*::m_fp::seek
      Src: /src/PROJ/src/grids.cpp:993,1
    - Dst: static_cast<toff_t>
      Src: /src/PROJ/src/grids.cpp:994,1
    - Dst: GTiffDataset*::m_fp::tell
      Src: /src/PROJ/src/grids.cpp:994,1
    - Dst: GTiffDataset*::m_fp::seek
      Src: /src/PROJ/src/grids.cpp:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 997
    functionName: GTiffDataset::tiffSizeProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - GTiffDataset*::m_fp::seek
    - static_cast<GTiffDataset *>
    - GTiffDataset*::m_fp::tell
    - static_cast<toff_t>
    linkageType: ''
    returnType: toff_t
    signature: toff_t tiffSizeProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 999
    functionName: GTiffDataset::tiffMapProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tiffMapProc(thandle_t, tdata_t *, toff_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: GTiffDataset::tiffUnmapProc
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tiffUnmapProc(thandle_t, tdata_t, toff_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1005
    functionName: GTiffDataset::GTiffDataset
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GTiffDataset(PJ_CONTEXT *ctx, std::unique_ptr<File> &&fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffDataset::reassign_context
      Src: /src/PROJ/src/grids.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: GTiffDataset::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffDataset::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/PROJ/src/grids.cpp:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: GTiffDataset::~GTiffDataset()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - TIFFClose
    linkageType: ''
    returnType: void
    signature: void GTiffDataset::~GTiffDataset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1035,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1037,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1039,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1042,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1044,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1046,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1050,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/grids.cpp:1052,1
    - Dst: TIFFMergeFieldInfo
      Src: /src/PROJ/src/grids.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1061
    functionName: OneTimeTIFFTagInit::GTiffTagExtender
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - TIFFMergeFieldInfo
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void GTiffTagExtender(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:1065,1
    - Dst: TIFFSetTagExtender
      Src: /src/PROJ/src/grids.cpp:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ParentExtender == nullptr)
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: OneTimeTIFFTagInit::OneTimeTIFFTagInit
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - TIFFSetTagExtender
    - assert
    linkageType: ''
    returnType: void
    signature: void OneTimeTIFFTagInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OneTimeTIFFTagInit::OneTimeTIFFTagInit
      Src: /src/PROJ/src/grids.cpp:1076,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/src/grids.cpp:1078,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1078,1
    - Dst: static_cast<thandle_t>
      Src: /src/PROJ/src/grids.cpp:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1087
    functionName: GTiffDataset::openTIFF
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - OneTimeTIFFTagInit::OneTimeTIFFTagInit
    - static_cast<thandle_t>
    - TIFFClientOpen
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool GTiffDataset::openTIFF(const std::string &filename)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/src/grids.cpp:1094,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1099,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1100,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1102,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1102,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1107,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1108,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1108,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1112,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1112,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1117,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1118,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1118,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1123,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1124,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1124,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1129,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1130,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1130,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1148,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1149,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1155,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1158,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1158,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1163,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/PROJ/src/grids.cpp:1167,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1168,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1169,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1174,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1174,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/src/grids.cpp:1178,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/src/grids.cpp:1178,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/src/grids.cpp:1179,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1181,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1181,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1192,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1193,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1196,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1197,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1202,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1202,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1207,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1224,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1225,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1244,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1250,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1251,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1262,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1264,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1264,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1268,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1269,1
    - Dst: TIFFGetField
      Src: /src/PROJ/src/grids.cpp:1276,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1278,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1278,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1282,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1283,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1300,1
    - Dst: ExtentAndRes::computeInvRes
      Src: /src/PROJ/src/grids.cpp:1303,1
    - Dst: std::swap
      Src: /src/PROJ/src/grids.cpp:1306,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1310,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1310,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1311,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1312,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1315,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1315,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:1316,1
    - Dst: std::unique_ptr<GTiffGrid>
      Src: /src/PROJ/src/grids.cpp:1320,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:1321,1
    - Dst: GTiffGrid::GTiffGrid
      Src: /src/PROJ/src/grids.cpp:1320,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/src/grids.cpp:1324,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/src/grids.cpp:1325,1
    - Dst: std::to_string
      Src: /src/PROJ/src/grids.cpp:1331,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1336
    functionName: GTiffDataset::nextGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<GTiffGrid>
    - TIFFSetSubDirectory
    - std::swap
    - GTiffGrid::GTiffGrid
    - fabs
    - get
    - TIFFIsTiled
    - TIFFIsCODECConfigured
    - TIFFTileSize64
    - pj_log
    - TIFFStripSize64
    - ExtentAndRes::computeInvRes
    - TIFFReadDirectory
    - _
    - std::to_string
    - TIFFGetField
    - c_str
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: std::unique_ptr<GTiffGrid>
    signature: std::unique_ptr<GTiffGrid> GTiffDataset::nextGrid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1345,1
    - Dst: GTiffDataset::GTiffDataset
      Src: /src/PROJ/src/grids.cpp:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1345
    functionName: GTiffVGridShiftSet::GTiffVGridShiftSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - GTiffDataset::GTiffDataset
    linkageType: ''
    returnType: void
    signature: void GTiffVGridShiftSet(PJ_CONTEXT *ctx, std::unique_ptr<File> &&fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VerticalShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:1355,1
    - Dst: GTiffVGridShiftSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:1357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1359
    functionName: GTiffVGridShiftSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffVGridShiftSet::reassign_context
    - VerticalShiftGridSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1362,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:1363,1
    - Dst: clear
      Src: /src/PROJ/src/grids.cpp:1364,1
    - Dst: reset
      Src: /src/PROJ/src/grids.cpp:1365,1
    - Dst: FileManager::open_resource_file
      Src: /src/PROJ/src/grids.cpp:1366,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:1366,1
    - Dst: GTiffVGridShiftSet::open
      Src: /src/PROJ/src/grids.cpp:1370,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1370,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1372,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1373,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:1375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1376
    functionName: GTiffVGridShiftSet::reopen
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - reset
    - GTiffVGridShiftSet::open
    - std::move
    - clear
    - pj_log
    - empty
    - FileManager::open_resource_file
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool reopen(PJ_CONTEXT *ctx) override
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GridType>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:1387,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/grids.cpp:1391,1
    - Dst: std::map<std::string, GridType *>::find
      Src: /src/PROJ/src/grids.cpp:1392,1
    - Dst: std::map<std::string, GridType *>::end
      Src: /src/PROJ/src/grids.cpp:1392,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1393,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1394,1
    - Dst: std::unique_ptr<GridType>::get
      Src: /src/PROJ/src/grids.cpp:1396,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/grids.cpp:1399,1
    - Dst: std::map<std::string, GridType *>::find
      Src: /src/PROJ/src/grids.cpp:1400,1
    - Dst: std::map<std::string, GridType *>::end
      Src: /src/PROJ/src/grids.cpp:1401,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1402,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1405,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1405,1
    - Dst: auto::second::extentAndRes
      Src: /src/PROJ/src/grids.cpp:1407,1
    - Dst: auto::second::m_children::emplace_back
      Src: /src/PROJ/src/grids.cpp:1408,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1408,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1411,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1414,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1414,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/grids.cpp:1417,1
    - Dst: std::vector<std::unique_ptr<GenericGridType>>::emplace_back
      Src: /src/PROJ/src/grids.cpp:1418,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1418,1
    - Dst: std::unique_ptr<GridType>::metadataItem
      Src: /src/PROJ/src/grids.cpp:1422,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/grids.cpp:1426,1
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:1426,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:1430,1
    - Dst: auto::contains
      Src: /src/PROJ/src/grids.cpp:1431,1
    - Dst: static_cast<GridType *>
      Src: /src/PROJ/src/grids.cpp:1432,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:1432,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1433,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/grids.cpp:1435,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1436,1
    - Dst: std::vector<std::unique_ptr<GenericGridType>>::emplace_back
      Src: /src/PROJ/src/grids.cpp:1440,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1440,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 6
    argNames:
    - ctx
    - grid
    - gridName
    - parentName
    - topGrids
    - mapGrids
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<GridType>
    - std::string
    - std::string
    - std::vector<std::unique_ptr<GenericGridType>>
    - std::map<std::string, GridType *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1441
    functionName: insertIntoHierarchy
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::map<std::string, GridType *>::end
    - std::string::c_str
    - extentAndRes
    - get
    - std::vector<std::unique_ptr<GenericGridType>>::emplace_back
    - auto::second::extentAndRes
    - std::move
    - auto::contains
    - pj_log
    - static_cast<GridType *>
    - auto::second::m_children::emplace_back
    - std::unique_ptr<GridType>::metadataItem
    - metadataItem
    - auto::intersects
    - std::unique_ptr<GridType>::extentAndRes
    - std::map<std::string, GridType *>::find
    - std::unique_ptr<GridType>::get
    linkageType: ''
    returnType: void
    signature: "void insertIntoHierarchy(PJ_CONTEXT *ctx, std::unique_ptr<GridType>
      &&grid,\n                    const std::string &gridName, const std::string
      &parentName,\n                    std::vector<std::unique_ptr<GenericGridType>>
      &topGrids,\n                    std::map<std::string, GridType *> &mapGrids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffVGrid::valueAt
      Src: /src/PROJ/src/grids.cpp:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - out
    argTypes:
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1462
    functionName: GTiffVGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffVGrid::valueAt
    linkageType: ''
    returnType: bool
    signature: bool valueAt(int x, int y, float &out) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffVGrid::isNodata
      Src: /src/PROJ/src/grids.cpp:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1466
    functionName: GTiffVGrid::isNodata
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffVGrid::isNodata
    linkageType: ''
    returnType: bool
    signature: bool isNodata(float val, double /* multiplier */) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1471
    functionName: "&metadataItem(const std::string &key,\n                                    int
      sample = -1) const override"
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - metadataItem
    linkageType: ''
    returnType: std::string
    signature: "std::string &metadataItem(const std::string &key,\n                                    int
      sample = -1) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffVGrid::reassign_context
      Src: /src/PROJ/src/grids.cpp:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1477
    functionName: GTiffVGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffVGrid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffVGrid::hasChanged
      Src: /src/PROJ/src/grids.cpp:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1479
    functionName: GTiffVGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffVGrid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1484
    functionName: GTiffVGridShiftSet::~GTiffVGridShiftSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffVGridShiftSet::~GTiffVGridShiftSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffGrid>::name
      Src: /src/PROJ/src/grids.cpp:1489,1
    - Dst: std::unique_ptr<GTiffGrid>::width
      Src: /src/PROJ/src/grids.cpp:1489,1
    - Dst: std::unique_ptr<GTiffGrid>::height
      Src: /src/PROJ/src/grids.cpp:1489,1
    - Dst: std::unique_ptr<GTiffGrid>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:1490,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - grid
    - idxSample
    argTypes:
    - std::unique_ptr<GTiffGrid>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: GTiffVGrid::GTiffVGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr<GTiffGrid>::height
    - std::unique_ptr<GTiffGrid>::width
    - std::unique_ptr<GTiffGrid>::name
    - std::unique_ptr<GTiffGrid>::extentAndRes
    linkageType: ''
    returnType: void
    signature: void GTiffVGrid::GTiffVGrid(std::unique_ptr<GTiffGrid> &&grid, uint16_t
      idxSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1495
    functionName: GTiffVGrid::~GTiffVGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffVGrid::~GTiffVGrid()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffVGrid>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:1502,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:1504,1
    - Dst: auto::contains
      Src: /src/PROJ/src/grids.cpp:1505,1
    - Dst: static_cast<GTiffVGrid *>
      Src: /src/PROJ/src/grids.cpp:1506,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:1506,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1507,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/grids.cpp:1510,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1511,1
    - Dst: emplace_back
      Src: /src/PROJ/src/grids.cpp:1515,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - subgrid
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<GTiffVGrid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1517
    functionName: GTiffVGrid::insertGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - extentAndRes
    - get
    - auto::contains
    - std::move
    - pj_log
    - auto::intersects
    - static_cast<GTiffVGrid *>
    - emplace_back
    - std::unique_ptr<GTiffVGrid>::extentAndRes
    linkageType: ''
    returnType: void
    signature: "void GTiffVGrid::insertGrid(PJ_CONTEXT *ctx,\n                            std::unique_ptr<GTiffVGrid>
      &&subgrid)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffVGridShiftSet>
      Src: /src/PROJ/src/grids.cpp:1524,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1525,1
    - Dst: GTiffVGridShiftSet::GTiffVGridShiftSet
      Src: /src/PROJ/src/grids.cpp:1525,1
    - Dst: auto::m_GTiffDataset::openTIFF
      Src: /src/PROJ/src/grids.cpp:1528,1
    - Dst: auto::m_GTiffDataset::nextGrid
      Src: /src/PROJ/src/grids.cpp:1535,1
    - Dst: auto::subfileType
      Src: /src/PROJ/src/grids.cpp:1543,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1546,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1546,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1549,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:1559,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:1559,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:1560,1
    - Dst: auto::empty
      Src: /src/PROJ/src/grids.cpp:1561,1
    - Dst: static_cast<uint16_t>
      Src: /src/PROJ/src/grids.cpp:1567,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1579,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1586,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:1595,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1596,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1596,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:1600,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:1601,1
    - Dst: std::make_unique<GTiffVGrid>
      Src: /src/PROJ/src/grids.cpp:1603,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1603,1
    - Dst: insertIntoHierarchy
      Src: /src/PROJ/src/grids.cpp:1605,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1605,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - fp
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1521
    functionDepth: 2
    functionLinenumber: 1521
    functionLinenumberEnd: 1609
    functionName: GTiffVGridShiftSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<GTiffVGridShiftSet>
    - insertIntoHierarchy
    - std::make_unique<GTiffVGrid>
    - auto::m_GTiffDataset::nextGrid
    - static_cast<int>
    - std::move
    - auto::metadataItem
    - pj_log
    - auto::subfileType
    - GTiffVGridShiftSet::GTiffVGridShiftSet
    - auto::samplesPerPixel
    - _
    - auto::empty
    - static_cast<uint16_t>
    - auto::m_GTiffDataset::openTIFF
    linkageType: ''
    returnType: std::unique_ptr<GTiffVGridShiftSet>
    signature: "std::unique_ptr<GTiffVGridShiftSet> GTiffVGridShiftSet::open(PJ_CONTEXT
      *ctx, std::unique_ptr<File> fp,\n                         const std::string
      &filename)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<VerticalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:1618,1
    - Dst: VerticalShiftGridSet::VerticalShiftGridSet
      Src: /src/PROJ/src/grids.cpp:1618,1
    - Dst: auto::m_grids::push_back
      Src: /src/PROJ/src/grids.cpp:1621,1
    - Dst: std::unique_ptr<NullVerticalShiftGrid>
      Src: /src/PROJ/src/grids.cpp:1621,1
    - Dst: NullVerticalShiftGrid::NullVerticalShiftGrid
      Src: /src/PROJ/src/grids.cpp:1622,1
    - Dst: FileManager::open_resource_file
      Src: /src/PROJ/src/grids.cpp:1626,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1626,1
    - Dst: ends_with
      Src: /src/PROJ/src/grids.cpp:1631,1
    - Dst: ends_with
      Src: /src/PROJ/src/grids.cpp:1631,1
    - Dst: GTXVerticalShiftGrid::open
      Src: /src/PROJ/src/grids.cpp:1632,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1632,1
    - Dst: std::unique_ptr<VerticalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:1637,1
    - Dst: VerticalShiftGridSet::VerticalShiftGridSet
      Src: /src/PROJ/src/grids.cpp:1637,1
    - Dst: auto::m_grids::push_back
      Src: /src/PROJ/src/grids.cpp:1640,1
    - Dst: std::unique_ptr<VerticalShiftGrid>
      Src: /src/PROJ/src/grids.cpp:1640,1
    - Dst: auto::read
      Src: /src/PROJ/src/grids.cpp:1648,1
    - Dst: auto::seek
      Src: /src/PROJ/src/grids.cpp:1652,1
    - Dst: IsTIFF
      Src: /src/PROJ/src/grids.cpp:1654,1
    - Dst: std::unique_ptr<VerticalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:1656,1
    - Dst: GTiffVGridShiftSet::open
      Src: /src/PROJ/src/grids.cpp:1657,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1657,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:1659,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1663,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1664,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1669,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1673
    functionName: VerticalShiftGridSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<VerticalShiftGridSet>
    - auto::m_grids::push_back
    - VerticalShiftGridSet::VerticalShiftGridSet
    - NullVerticalShiftGrid::NullVerticalShiftGrid
    - std::string::c_str
    - GTiffVGridShiftSet::open
    - auto::read
    - GTXVerticalShiftGrid::open
    - std::move
    - pj_log
    - ends_with
    - IsTIFF
    - std::unique_ptr<NullVerticalShiftGrid>
    - std::unique_ptr<VerticalShiftGrid>
    - proj_context_errno_set
    - _
    - auto::seek
    - FileManager::open_resource_file
    linkageType: ''
    returnType: std::unique_ptr<VerticalShiftGridSet>
    signature: std::unique_ptr<VerticalShiftGridSet> VerticalShiftGridSet::open(PJ_CONTEXT
      *ctx, const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1678,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:1679,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:1680,1
    - Dst: clear
      Src: /src/PROJ/src/grids.cpp:1681,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1683,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1686
    functionName: VerticalShiftGridSet::reopen
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - VerticalShiftGridSet::open
    - std::move
    - clear
    - pj_log
    - empty
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool VerticalShiftGridSet::reopen(PJ_CONTEXT *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ExtentAndRes::fullWorldLongitude
      Src: /src/PROJ/src/grids.cpp:1694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - extent
    argTypes:
    - double
    - double
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1705
    functionName: isPointInExtent
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - ExtentAndRes::fullWorldLongitude
    linkageType: ''
    returnType: bool
    signature: "bool isPointInExtent(double x, double y, const ExtentAndRes &extent,\n
      \                           double eps = 0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:1712,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:1713,1
    - Dst: VerticalShiftGrid::gridAt
      Src: /src/PROJ/src/grids.cpp:1714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - longitude
    - lat
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1709
    functionDepth: 2
    functionLinenumber: 1709
    functionLinenumberEnd: 1718
    functionName: VerticalShiftGrid::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - VerticalShiftGrid::gridAt
    - extentAndRes
    - isPointInExtent
    linkageType: ''
    returnType: VerticalShiftGrid
    signature: "VerticalShiftGrid *VerticalShiftGrid::gridAt(double longitude,\n                                                   double
      lat) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNullGrid
      Src: /src/PROJ/src/grids.cpp:1724,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:1725,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:1727,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:1728,1
    - Dst: VerticalShiftGridSet::gridAt
      Src: /src/PROJ/src/grids.cpp:1729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - longitude
    - lat
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1733
    functionName: VerticalShiftGridSet::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - extentAndRes
    - isPointInExtent
    - get
    - isNullGrid
    - VerticalShiftGridSet::gridAt
    linkageType: ''
    returnType: VerticalShiftGrid
    signature: "VerticalShiftGrid *VerticalShiftGridSet::gridAt(double longitude,\n
      \                                                     double lat) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:1739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1741
    functionName: VerticalShiftGridSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 2
    functionsReached:
    - VerticalShiftGridSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void VerticalShiftGridSet::reassign_context(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - std::string
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1748
    functionName: HorizontalShiftGrid::HorizontalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HorizontalShiftGrid::HorizontalShiftGrid(const std::string &nameIn,
      int widthIn,\n                                         int heightIn,\n                                         const
      ExtentAndRes &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1752
    functionName: HorizontalShiftGrid::~HorizontalShiftGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HorizontalShiftGrid::~HorizontalShiftGrid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1756
    functionName: HorizontalShiftGridSet::HorizontalShiftGridSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HorizontalShiftGridSet::HorizontalShiftGridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1760
    functionName: HorizontalShiftGridSet::~HorizontalShiftGridSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HorizontalShiftGridSet::~HorizontalShiftGridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: globalExtent
      Src: /src/PROJ/src/grids.cpp:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1767
    functionDepth: 2
    functionLinenumber: 1767
    functionLinenumberEnd: 1768
    functionName: NullHorizontalShiftGrid::NullHorizontalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - globalExtent
    linkageType: ''
    returnType: void
    signature: void NullHorizontalShiftGrid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1770
    functionName: NullHorizontalShiftGrid::isNullGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNullGrid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1775
    functionName: NullHorizontalShiftGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1777
    functionName: NullHorizontalShiftGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1781
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - longShift
    - latShift
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1791
    functionName: NullHorizontalShiftGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool NullHorizontalShiftGrid::valueAt(int, int, bool, float &longShift,\n
      \                                     float &latShift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1799
    functionName: to_double
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: double
    signature: double to_double(const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1807
    functionName: NTv1Grid::NTv1Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NTv1Grid(const NTv1Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1808
    functionName: '&operator=(const NTv1Grid &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NTv1Grid
    signature: NTv1Grid &operator=(const NTv1Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - ctx
    - fp
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1815
    functionName: NTv1Grid::NTv1Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void NTv1Grid(PJ_CONTEXT *ctx, std::unique_ptr<File> &&fp,\n                      const
      std::string &nameIn, int widthIn, int heightIn,\n                      const
      ExtentAndRes &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NTv1Grid::reassign_context
      Src: /src/PROJ/src/grids.cpp:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1828
    functionName: NTv1Grid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - NTv1Grid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NTv1Grid::hasChanged
      Src: /src/PROJ/src/grids.cpp:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1830
    functionName: NTv1Grid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - NTv1Grid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1834
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1839
    functionName: NTv1Grid::~NTv1Grid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NTv1Grid::~NTv1Grid()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<File>::read
      Src: /src/PROJ/src/grids.cpp:1850,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:1851,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1860,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1861,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1862,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1863,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1864,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1865,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1866,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:1870,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1872,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1873,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:1874,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:1881,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:1882,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:1883,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:1884,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:1885,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:1886,1
    - Dst: ExtentAndRes::computeInvRes
      Src: /src/PROJ/src/grids.cpp:1887,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1889,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1889,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1890,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1891,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:1894,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:1894,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:1895,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:1896,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:1900,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1901,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:1902,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:1903,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1905,1
    - Dst: NTv1Grid::NTv1Grid
      Src: /src/PROJ/src/grids.cpp:1905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - fp
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1906
    functionName: NTv1Grid::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::unique_ptr<File>::read
    - memcpy
    - fabs
    - to_double
    - static_cast<int>
    - std::move
    - pj_log
    - swap_words
    - ExtentAndRes::computeInvRes
    - proj_context_errno_set
    - NTv1Grid::NTv1Grid
    - _
    linkageType: ''
    returnType: NTv1Grid
    signature: "NTv1Grid *NTv1Grid::open(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,\n
      \                        const std::string &filename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:1912,1
    - Dst: seek
      Src: /src/PROJ/src/grids.cpp:1916,1
    - Dst: read
      Src: /src/PROJ/src/grids.cpp:1917,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:1919,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1924,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:1927,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:1930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - x
    - y
    - compensateNTConvention
    - longShift
    - latShift
    argTypes:
    - int
    - int
    - bool
    - float
    - float
    assertStmts:
    - condition: (x >= 0 && y >= 0 && x < m_width && y < m_height)
      pos:
        line_end: 1911
        line_start: 1911
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 1933
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1933
    functionName: NTv1Grid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - seek
    - swap_words
    - assert
    - proj_context_errno_set
    - static_cast<float>
    - read
    linkageType: ''
    returnType: bool
    signature: "bool NTv1Grid::valueAt(int x, int y, bool compensateNTConvention,\n
      \                      float &longShift, float &latShift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1941
    functionName: CTable2Grid::CTable2Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTable2Grid(const CTable2Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1942
    functionName: '&operator=(const CTable2Grid &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTable2Grid
    signature: CTable2Grid &operator=(const CTable2Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ctx
    - fp
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1949
    functionName: CTable2Grid::CTable2Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CTable2Grid(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,\n                const
      std::string &nameIn, int widthIn, int heightIn,\n                const ExtentAndRes
      &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTable2Grid::reassign_context
      Src: /src/PROJ/src/grids.cpp:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1962
    functionName: CTable2Grid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - CTable2Grid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTable2Grid::hasChanged
      Src: /src/PROJ/src/grids.cpp:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1964
    functionName: CTable2Grid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - CTable2Grid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1968
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1973
    functionName: CTable2Grid::~CTable2Grid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CTable2Grid::~CTable2Grid()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<File>::read
      Src: /src/PROJ/src/grids.cpp:1984,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:1985,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1994,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:1995,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2004,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2005,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2006,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2007,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2008,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2008,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2010,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2010,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:2011,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2012,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2018,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2019,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2021,1
    - Dst: ExtentAndRes::computeInvRes
      Src: /src/PROJ/src/grids.cpp:2027,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2029,1
    - Dst: CTable2Grid::CTable2Grid
      Src: /src/PROJ/src/grids.cpp:2029,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - fp
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2030
    functionName: CTable2Grid::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - fabs
    - std::unique_ptr<File>::read
    - memcpy
    - std::move
    - pj_log
    - swap_words
    - ExtentAndRes::computeInvRes
    - proj_context_errno_set
    - CTable2Grid::CTable2Grid
    - _
    linkageType: ''
    returnType: CTable2Grid
    signature: "CTable2Grid *CTable2Grid::open(PJ_CONTEXT *ctx, std::unique_ptr<File>
      fp,\n                               const std::string &filename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:2036,1
    - Dst: seek
      Src: /src/PROJ/src/grids.cpp:2039,1
    - Dst: read
      Src: /src/PROJ/src/grids.cpp:2040,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2041,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:2046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - x
    - y
    - compensateNTConvention
    - longShift
    - latShift
    argTypes:
    - int
    - int
    - bool
    - float
    - float
    assertStmts:
    - condition: (x >= 0 && y >= 0 && x < m_width && y < m_height)
      pos:
        line_end: 2035
        line_start: 2035
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 2054
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2054
    functionName: CTable2Grid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - seek
    - swap_words
    - assert
    - proj_context_errno_set
    - read
    linkageType: ''
    returnType: bool
    signature: "bool CTable2Grid::valueAt(int x, int y, bool compensateNTConvention,\n
      \                         float &longShift, float &latShift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2062
    functionName: NTv2GridSet::NTv2GridSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NTv2GridSet(const NTv2GridSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2063
    functionName: '&operator=(const NTv2GridSet &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NTv2GridSet
    signature: NTv2GridSet &operator=(const NTv2GridSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fp
    argTypes:
    - std::unique_ptr<File>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2065
    functionName: NTv2GridSet::NTv2GridSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NTv2GridSet(std::unique_ptr<File> &&fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2075,1
    - Dst: NTv2GridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2077
    functionName: NTv2GridSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - NTv2GridSet::reassign_context
    - HorizontalShiftGridSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2093
    functionName: NTv2Grid::NTv2Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NTv2Grid(const NTv2Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2094
    functionName: '&operator=(const NTv2Grid &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NTv2Grid
    signature: NTv2Grid &operator=(const NTv2Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - nameIn
    - ctx
    - fp
    - gridIdx
    - offsetIn
    - mustSwapIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - std::string
    - PJ_CONTEXT*
    - File*
    - uint32_t
    - unsigned long long
    - bool
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2102
    functionName: NTv2Grid::NTv2Grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NTv2Grid(const std::string &nameIn, PJ_CONTEXT *ctx, File *fp,\n
      \            uint32_t gridIdx, unsigned long long offsetIn, bool mustSwapIn,\n
      \            int widthIn, int heightIn, const ExtentAndRes &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2109
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FloatLineCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2111
    functionName: NTv2Grid::setCache
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCache(FloatLineCache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NTv2Grid::reassign_context
      Src: /src/PROJ/src/grids.cpp:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2116
    functionName: NTv2Grid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - NTv2Grid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NTv2Grid::hasChanged
      Src: /src/PROJ/src/grids.cpp:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 1
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: NTv2Grid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - NTv2Grid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:2125,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:2127,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:2130,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2132,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2132,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:2132,1
    - Dst: seek
      Src: /src/PROJ/src/grids.cpp:2138,1
    - Dst: static_cast<unsigned long long>
      Src: /src/PROJ/src/grids.cpp:2139,1
    - Dst: read
      Src: /src/PROJ/src/grids.cpp:2140,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2141,1
    - Dst: resize
      Src: /src/PROJ/src/grids.cpp:2150,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:2152,1
    - Dst: std::swap
      Src: /src/PROJ/src/grids.cpp:2156,1
    - Dst: std::swap
      Src: /src/PROJ/src/grids.cpp:2157,1
    - Dst: insert
      Src: /src/PROJ/src/grids.cpp:2161,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2164,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2164,1
    - Dst: what
      Src: /src/PROJ/src/grids.cpp:2164,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:2170,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:2174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - x
    - y
    - compensateNTConvention
    - longShift
    - latShift
    argTypes:
    - int
    - int
    - bool
    - float
    - float
    assertStmts:
    - condition: (x >= 0 && y >= 0 && x < m_width && y < m_height)
      pos:
        line_end: 2124
        line_start: 2124
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 2176
      start: 2123
    functionDepth: 1
    functionLinenumber: 2123
    functionLinenumberEnd: 2176
    functionName: NTv2Grid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - insert
    - get
    - seek
    - pj_log
    - swap_words
    - assert
    - proj_context_errno_set
    - resize
    - static_cast<unsigned long long>
    - _
    - static_cast<float>
    - what
    - read
    linkageType: ''
    returnType: bool
    signature: "bool NTv2Grid::valueAt(int x, int y, bool compensateNTConvention,\n
      \                      float &longShift, float &latShift) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2180
    functionName: NTv2GridSet::~NTv2GridSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NTv2GridSet::~NTv2GridSet()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<File>::get
      Src: /src/PROJ/src/grids.cpp:2187,1
    - Dst: std::unique_ptr<NTv2GridSet>
      Src: /src/PROJ/src/grids.cpp:2188,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2188,1
    - Dst: NTv2GridSet::NTv2GridSet
      Src: /src/PROJ/src/grids.cpp:2188,1
    - Dst: File*::read
      Src: /src/PROJ/src/grids.cpp:2197,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2198,1
    - Dst: memcmp
      Src: /src/PROJ/src/grids.cpp:2204,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2205,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2205,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2206,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:2216,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2227,1
    - Dst: File*::read
      Src: /src/PROJ/src/grids.cpp:2237,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2238,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2243,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2244,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:2256,1
    - Dst: swap_words
      Src: /src/PROJ/src/grids.cpp:2259,1
    - Dst: std::string::append
      Src: /src/PROJ/src/grids.cpp:2263,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:2267,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:2269,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:2271,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:2273,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:2276,1
    - Dst: to_double
      Src: /src/PROJ/src/grids.cpp:2278,1
    - Dst: ExtentAndRes::computeInvRes
      Src: /src/PROJ/src/grids.cpp:2279,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2281,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2281,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2282,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2283,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2286,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2286,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:2287,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2288,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:2292,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2293,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:2294,1
    - Dst: fabs
      Src: /src/PROJ/src/grids.cpp:2295,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2299,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:2300,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:2306,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/grids.cpp:2307,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2308,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2309,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2311,1
    - Dst: File*::tell
      Src: /src/PROJ/src/grids.cpp:2316,1
    - Dst: std::unique_ptr<NTv2Grid>
      Src: /src/PROJ/src/grids.cpp:2317,1
    - Dst: std::string
      Src: /src/PROJ/src/grids.cpp:2318,1
    - Dst: NTv2Grid::NTv2Grid
      Src: /src/PROJ/src/grids.cpp:2317,1
    - Dst: std::string::assign
      Src: /src/PROJ/src/grids.cpp:2321,1
    - Dst: std::map::find
      Src: /src/PROJ/src/grids.cpp:2322,1
    - Dst: auto::get
      Src: /src/PROJ/src/grids.cpp:2323,1
    - Dst: std::map::end
      Src: /src/PROJ/src/grids.cpp:2324,1
    - Dst: auto::m_grids::emplace_back
      Src: /src/PROJ/src/grids.cpp:2325,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2325,1
    - Dst: auto::second::m_children::emplace_back
      Src: /src/PROJ/src/grids.cpp:2327,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2327,1
    - Dst: File*::seek
      Src: /src/PROJ/src/grids.cpp:2332,1
    - Dst: static_cast<unsigned long long>
      Src: /src/PROJ/src/grids.cpp:2332,1
    - Dst: std::make_unique<FloatLineCache>
      Src: /src/PROJ/src/grids.cpp:2338,1
    - Dst: second::setCache
      Src: /src/PROJ/src/grids.cpp:2340,1
    - Dst: auto::m_cache::get
      Src: /src/PROJ/src/grids.cpp:2340,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - ctx
    - fp
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2184
    functionDepth: 1
    functionLinenumber: 2184
    functionLinenumberEnd: 2344
    functionName: NTv2GridSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - std::map::end
    - strncmp
    - std::string::c_str
    - to_double
    - std::unique_ptr<NTv2Grid>
    - auto::m_cache::get
    - ExtentAndRes::computeInvRes
    - static_cast<unsigned long long>
    - memcmp
    - _
    - std::unique_ptr<File>::get
    - second::setCache
    - memcpy
    - std::make_unique<FloatLineCache>
    - std::move
    - proj_context_errno_set
    - std::string
    - File*::seek
    - std::string::assign
    - File*::tell
    - NTv2GridSet::NTv2GridSet
    - std::map::find
    - static_cast<int>
    - pj_log
    - swap_words
    - File*::read
    - std::string::append
    - auto::m_grids::emplace_back
    - fabs
    - static_cast<unsigned>
    - auto::second::m_children::emplace_back
    - std::unique_ptr<NTv2GridSet>
    - NTv2Grid::NTv2Grid
    linkageType: ''
    returnType: std::unique_ptr<NTv2GridSet>
    signature: "std::unique_ptr<NTv2GridSet> NTv2GridSet::open(PJ_CONTEXT *ctx,\n
      \                                              std::unique_ptr<File> fp,\n                                               const
      std::string &filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2355,1
    - Dst: GTiffDataset::GTiffDataset
      Src: /src/PROJ/src/grids.cpp:2355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2354
    functionDepth: 1
    functionLinenumber: 2354
    functionLinenumberEnd: 2355
    functionName: GTiffHGridShiftSet::GTiffHGridShiftSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - GTiffDataset::GTiffDataset
    linkageType: ''
    returnType: void
    signature: void GTiffHGridShiftSet(PJ_CONTEXT *ctx, std::unique_ptr<File> &&fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2365,1
    - Dst: GTiffHGridShiftSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2369
    functionName: GTiffHGridShiftSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - HorizontalShiftGridSet::reassign_context
    - GTiffHGridShiftSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2372,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:2373,1
    - Dst: clear
      Src: /src/PROJ/src/grids.cpp:2374,1
    - Dst: reset
      Src: /src/PROJ/src/grids.cpp:2375,1
    - Dst: FileManager::open_resource_file
      Src: /src/PROJ/src/grids.cpp:2376,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:2376,1
    - Dst: GTiffHGridShiftSet::open
      Src: /src/PROJ/src/grids.cpp:2380,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2380,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2382,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2383,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:2385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2386
    functionName: GTiffHGridShiftSet::reopen
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - reset
    - std::move
    - clear
    - pj_log
    - GTiffHGridShiftSet::open
    - empty
    - FileManager::open_resource_file
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool reopen(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:2416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2417
    functionName: "&metadataItem(const std::string &key,\n                                    int
      sample = -1) const override"
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - metadataItem
    linkageType: ''
    returnType: std::string
    signature: "std::string &metadataItem(const std::string &key,\n                                    int
      sample = -1) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffHGrid::reassign_context
      Src: /src/PROJ/src/grids.cpp:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2423
    functionName: GTiffHGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffHGrid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffHGrid::hasChanged
      Src: /src/PROJ/src/grids.cpp:2425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2425
    functionDepth: 1
    functionLinenumber: 2425
    functionLinenumberEnd: 2425
    functionName: GTiffHGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffHGrid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2430
    functionName: GTiffHGridShiftSet::~GTiffHGridShiftSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffHGridShiftSet::~GTiffHGridShiftSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffGrid>::name
      Src: /src/PROJ/src/grids.cpp:2437,1
    - Dst: std::unique_ptr<GTiffGrid>::width
      Src: /src/PROJ/src/grids.cpp:2437,1
    - Dst: std::unique_ptr<GTiffGrid>::height
      Src: /src/PROJ/src/grids.cpp:2437,1
    - Dst: std::unique_ptr<GTiffGrid>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:2438,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - grid
    - idxLatShift
    - idxLongShift
    - convFactorToRadian
    - positiveEast
    argTypes:
    - std::unique_ptr<GTiffGrid>
    - uint16_t
    - uint16_t
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2441
    functionName: GTiffHGrid::GTiffHGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr<GTiffGrid>::height
    - std::unique_ptr<GTiffGrid>::width
    - std::unique_ptr<GTiffGrid>::name
    - std::unique_ptr<GTiffGrid>::extentAndRes
    linkageType: ''
    returnType: void
    signature: "void GTiffHGrid::GTiffHGrid(std::unique_ptr<GTiffGrid> &&grid, uint16_t
      idxLatShift,\n                       uint16_t idxLongShift, double convFactorToRadian,\n
      \                      bool positiveEast)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2445
    functionName: GTiffHGrid::~GTiffHGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffHGrid::~GTiffHGrid()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTiffHGrid::valueAt
      Src: /src/PROJ/src/grids.cpp:2451,1
    - Dst: GTiffHGrid::valueAt
      Src: /src/PROJ/src/grids.cpp:2452,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:2456,1
    - Dst: static_cast<float>
      Src: /src/PROJ/src/grids.cpp:2457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - x
    - y
    - longShift
    - latShift
    argTypes:
    - int
    - int
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2462
    functionName: GTiffHGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - GTiffHGrid::valueAt
    linkageType: ''
    returnType: bool
    signature: "bool GTiffHGrid::valueAt(int x, int y, bool, float &longShift,\n                         float
      &latShift) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffHGrid>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:2469,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:2471,1
    - Dst: auto::contains
      Src: /src/PROJ/src/grids.cpp:2472,1
    - Dst: static_cast<GTiffHGrid *>
      Src: /src/PROJ/src/grids.cpp:2473,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:2473,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2474,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/grids.cpp:2477,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2478,1
    - Dst: emplace_back
      Src: /src/PROJ/src/grids.cpp:2482,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - subgrid
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<GTiffHGrid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2466
    functionDepth: 1
    functionLinenumber: 2466
    functionLinenumberEnd: 2484
    functionName: GTiffHGrid::insertGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - extentAndRes
    - get
    - auto::contains
    - std::move
    - std::unique_ptr<GTiffHGrid>::extentAndRes
    - pj_log
    - auto::intersects
    - static_cast<GTiffHGrid *>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void GTiffHGrid::insertGrid(PJ_CONTEXT *ctx,\n                            std::unique_ptr<GTiffHGrid>
      &&subgrid)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffHGridShiftSet>
      Src: /src/PROJ/src/grids.cpp:2491,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2492,1
    - Dst: GTiffHGridShiftSet::GTiffHGridShiftSet
      Src: /src/PROJ/src/grids.cpp:2492,1
    - Dst: auto::m_GTiffDataset::openTIFF
      Src: /src/PROJ/src/grids.cpp:2495,1
    - Dst: auto::m_GTiffDataset::nextGrid
      Src: /src/PROJ/src/grids.cpp:2508,1
    - Dst: auto::subfileType
      Src: /src/PROJ/src/grids.cpp:2516,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2519,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2519,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2522,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2523,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:2529,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2531,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2532,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2535,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2536,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:2546,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:2546,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:2547,1
    - Dst: auto::empty
      Src: /src/PROJ/src/grids.cpp:2548,1
    - Dst: static_cast<uint16_t>
      Src: /src/PROJ/src/grids.cpp:2552,1
    - Dst: static_cast<uint16_t>
      Src: /src/PROJ/src/grids.cpp:2555,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2568,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2574,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2582,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2584,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2588,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2590,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:2594,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:2595,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2596,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2596,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:2602,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/grids.cpp:2603,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2609,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2610,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:2611,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:2620,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:2622,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2624,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2625,1
    - Dst: auto::empty
      Src: /src/PROJ/src/grids.cpp:2628,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2637,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2637,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/grids.cpp:2638,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:2644,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:2645,1
    - Dst: std::make_unique<GTiffHGrid>
      Src: /src/PROJ/src/grids.cpp:2647,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2648,1
    - Dst: insertIntoHierarchy
      Src: /src/PROJ/src/grids.cpp:2651,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2651,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 102
    argCount: 3
    argNames:
    - ctx
    - fp
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2488
    functionDepth: 2
    functionLinenumber: 2488
    functionLinenumberEnd: 2655
    functionName: GTiffHGridShiftSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - std::string::c_str
    - std::make_unique<GTiffHGrid>
    - insertIntoHierarchy
    - auto::m_GTiffDataset::nextGrid
    - GTiffHGridShiftSet::GTiffHGridShiftSet
    - std::move
    - static_cast<int>
    - auto::metadataItem
    - pj_log
    - auto::c_str
    - auto::subfileType
    - auto::samplesPerPixel
    - _
    - auto::empty
    - static_cast<uint16_t>
    - auto::m_GTiffDataset::openTIFF
    - std::unique_ptr<GTiffHGridShiftSet>
    linkageType: ''
    returnType: std::unique_ptr<GTiffHGridShiftSet>
    signature: "std::unique_ptr<GTiffHGridShiftSet> GTiffHGridShiftSet::open(PJ_CONTEXT
      *ctx, std::unique_ptr<File> fp,\n                         const std::string
      &filename)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HorizontalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:2663,1
    - Dst: HorizontalShiftGridSet::HorizontalShiftGridSet
      Src: /src/PROJ/src/grids.cpp:2664,1
    - Dst: auto::m_grids::push_back
      Src: /src/PROJ/src/grids.cpp:2667,1
    - Dst: std::unique_ptr<NullHorizontalShiftGrid>
      Src: /src/PROJ/src/grids.cpp:2667,1
    - Dst: NullHorizontalShiftGrid::NullHorizontalShiftGrid
      Src: /src/PROJ/src/grids.cpp:2668,1
    - Dst: FileManager::open_resource_file
      Src: /src/PROJ/src/grids.cpp:2672,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:2672,1
    - Dst: auto::read
      Src: /src/PROJ/src/grids.cpp:2682,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2686,1
    - Dst: auto::seek
      Src: /src/PROJ/src/grids.cpp:2690,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2695,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2696,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2697,1
    - Dst: NTv1Grid::open
      Src: /src/PROJ/src/grids.cpp:2698,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2698,1
    - Dst: std::unique_ptr<HorizontalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:2702,1
    - Dst: HorizontalShiftGridSet::HorizontalShiftGridSet
      Src: /src/PROJ/src/grids.cpp:2703,1
    - Dst: auto::m_grids::push_back
      Src: /src/PROJ/src/grids.cpp:2706,1
    - Dst: std::unique_ptr<HorizontalShiftGrid>
      Src: /src/PROJ/src/grids.cpp:2706,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2708,1
    - Dst: CTable2Grid::open
      Src: /src/PROJ/src/grids.cpp:2709,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2709,1
    - Dst: std::unique_ptr<HorizontalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:2713,1
    - Dst: HorizontalShiftGridSet::HorizontalShiftGridSet
      Src: /src/PROJ/src/grids.cpp:2714,1
    - Dst: auto::m_grids::push_back
      Src: /src/PROJ/src/grids.cpp:2717,1
    - Dst: std::unique_ptr<HorizontalShiftGrid>
      Src: /src/PROJ/src/grids.cpp:2717,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2720,1
    - Dst: strncmp
      Src: /src/PROJ/src/grids.cpp:2721,1
    - Dst: NTv2GridSet::open
      Src: /src/PROJ/src/grids.cpp:2722,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2722,1
    - Dst: IsTIFF
      Src: /src/PROJ/src/grids.cpp:2723,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/grids.cpp:2724,1
    - Dst: std::unique_ptr<HorizontalShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:2726,1
    - Dst: GTiffHGridShiftSet::open
      Src: /src/PROJ/src/grids.cpp:2727,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2727,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:2729,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2733,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:2734,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2739,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:2741,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2660
    functionDepth: 3
    functionLinenumber: 2660
    functionLinenumberEnd: 2743
    functionName: HorizontalShiftGridSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 4
    functionsReached:
    - std::string::c_str
    - strncmp
    - IsTIFF
    - _
    - auto::seek
    - FileManager::open_resource_file
    - auto::m_grids::push_back
    - auto::read
    - std::move
    - proj_context_errno_set
    - NullHorizontalShiftGrid::NullHorizontalShiftGrid
    - std::unique_ptr<HorizontalShiftGridSet>
    - HorizontalShiftGridSet::HorizontalShiftGridSet
    - NTv1Grid::open
    - pj_log
    - reinterpret_cast<const unsigned char *>
    - std::unique_ptr<HorizontalShiftGrid>
    - NTv2GridSet::open
    - GTiffHGridShiftSet::open
    - CTable2Grid::open
    - std::unique_ptr<NullHorizontalShiftGrid>
    linkageType: ''
    returnType: std::unique_ptr<HorizontalShiftGridSet>
    signature: std::unique_ptr<HorizontalShiftGridSet> HorizontalShiftGridSet::open(PJ_CONTEXT
      *ctx, const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2748,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:2749,1
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:2750,1
    - Dst: clear
      Src: /src/PROJ/src/grids.cpp:2751,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2753,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:2755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2747
    functionDepth: 1
    functionLinenumber: 2747
    functionLinenumberEnd: 2756
    functionName: HorizontalShiftGridSet::reopen
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - pj_log
    - empty
    - HorizontalShiftGridSet::open
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool HorizontalShiftGridSet::reopen(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:2765,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:2768,1
    - Dst: HorizontalShiftGrid::gridAt
      Src: /src/PROJ/src/grids.cpp:2769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - longitude
    - lat
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2762
    functionDepth: 2
    functionLinenumber: 2762
    functionLinenumberEnd: 2773
    functionName: HorizontalShiftGrid::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - extentAndRes
    - isPointInExtent
    - HorizontalShiftGrid::gridAt
    linkageType: ''
    returnType: HorizontalShiftGrid
    signature: "HorizontalShiftGrid *HorizontalShiftGrid::gridAt(double longitude,\n
      \                                                      double lat) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNullGrid
      Src: /src/PROJ/src/grids.cpp:2779,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:2780,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:2782,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:2785,1
    - Dst: HorizontalShiftGridSet::gridAt
      Src: /src/PROJ/src/grids.cpp:2786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - longitude
    - lat
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2776
    functionDepth: 2
    functionLinenumber: 2776
    functionLinenumberEnd: 2790
    functionName: HorizontalShiftGridSet::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - extentAndRes
    - isPointInExtent
    - get
    - isNullGrid
    - HorizontalShiftGridSet::gridAt
    linkageType: ''
    returnType: HorizontalShiftGrid
    signature: "HorizontalShiftGrid *HorizontalShiftGridSet::gridAt(double longitude,\n
      \                                                         double lat) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2798
    functionName: HorizontalShiftGridSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 3
    functionsReached:
    - HorizontalShiftGridSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void HorizontalShiftGridSet::reassign_context(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2808,1
    - Dst: GTiffDataset::GTiffDataset
      Src: /src/PROJ/src/grids.cpp:2808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2807
    functionDepth: 1
    functionLinenumber: 2807
    functionLinenumberEnd: 2808
    functionName: GTiffGenericGridShiftSet::GTiffGenericGridShiftSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - GTiffDataset::GTiffDataset
    linkageType: ''
    returnType: void
    signature: void GTiffGenericGridShiftSet(PJ_CONTEXT *ctx, std::unique_ptr<File>
      &&fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2818,1
    - Dst: GTiffGenericGridShiftSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:2820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2817
    functionDepth: 0
    functionLinenumber: 2817
    functionLinenumberEnd: 2822
    functionName: GTiffGenericGridShiftSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GenericShiftGridSet::reassign_context
    - GTiffGenericGridShiftSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2825,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:2826,1
    - Dst: clear
      Src: /src/PROJ/src/grids.cpp:2827,1
    - Dst: reset
      Src: /src/PROJ/src/grids.cpp:2828,1
    - Dst: FileManager::open_resource_file
      Src: /src/PROJ/src/grids.cpp:2829,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:2829,1
    - Dst: GTiffGenericGridShiftSet::open
      Src: /src/PROJ/src/grids.cpp:2833,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2833,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2835,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2836,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:2838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2824
    functionDepth: 1
    functionLinenumber: 2824
    functionLinenumberEnd: 2839
    functionName: GTiffGenericGridShiftSet::reopen
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - reset
    - std::move
    - clear
    - pj_log
    - GTiffGenericGridShiftSet::open
    - empty
    - FileManager::open_resource_file
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool reopen(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffGenericGrid::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:2867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2867
    functionName: GTiffGenericGrid::samplesPerPixel
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffGenericGrid::samplesPerPixel
    linkageType: ''
    returnType: int
    signature: int samplesPerPixel() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:2870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2871
    functionName: GTiffGenericGrid::unit
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - metadataItem
    linkageType: ''
    returnType: std::string
    signature: std::string unit(int sample) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:2874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2875
    functionName: GTiffGenericGrid::description
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - metadataItem
    linkageType: ''
    returnType: std::string
    signature: std::string description(int sample) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:2879,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/grids.cpp:2880,1
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:2881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2877
    functionDepth: 1
    functionLinenumber: 2877
    functionLinenumberEnd: 2884
    functionName: "&metadataItem(const std::string &key,\n                                    int
      sample = -1) const override"
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - metadataItem
    linkageType: ''
    returnType: std::string
    signature: "std::string &metadataItem(const std::string &key,\n                                    int
      sample = -1) const override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:2889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2892
    functionName: '&type() const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - metadataItem
    linkageType: ''
    returnType: std::string
    signature: std::string &type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - firstGrid
    argTypes:
    - GenericShiftGrid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2896
    functionName: GTiffGenericGrid::setFirstGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFirstGrid(const GenericShiftGrid *firstGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffGenericGrid::reassign_context
      Src: /src/PROJ/src/grids.cpp:2902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2903
    functionName: GTiffGenericGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffGenericGrid::reassign_context
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffGenericGrid::hasChanged
      Src: /src/PROJ/src/grids.cpp:2905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2905
    functionDepth: 1
    functionLinenumber: 2905
    functionLinenumberEnd: 2905
    functionName: GTiffGenericGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffGenericGrid::hasChanged
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2908
    functionName: GTiffGenericGrid::GTiffGenericGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffGenericGrid(const GTiffGenericGrid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2909
    functionName: '&operator=(const GTiffGenericGrid &)'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GTiffGenericGrid
    signature: GTiffGenericGrid &operator=(const GTiffGenericGrid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2914
    functionName: GTiffGenericGridShiftSet::~GTiffGenericGridShiftSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffGenericGridShiftSet::~GTiffGenericGridShiftSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffGrid>::name
      Src: /src/PROJ/src/grids.cpp:2919,1
    - Dst: std::unique_ptr<GTiffGrid>::width
      Src: /src/PROJ/src/grids.cpp:2919,1
    - Dst: std::unique_ptr<GTiffGrid>::height
      Src: /src/PROJ/src/grids.cpp:2919,1
    - Dst: std::unique_ptr<GTiffGrid>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:2920,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - grid
    argTypes:
    - std::unique_ptr<GTiffGrid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2918
    functionDepth: 1
    functionLinenumber: 2918
    functionLinenumberEnd: 2921
    functionName: GTiffGenericGrid::GTiffGenericGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr<GTiffGrid>::height
    - std::unique_ptr<GTiffGrid>::width
    - std::unique_ptr<GTiffGrid>::name
    - std::unique_ptr<GTiffGrid>::extentAndRes
    linkageType: ''
    returnType: void
    signature: void GTiffGenericGrid::GTiffGenericGrid(std::unique_ptr<GTiffGrid>
      &&grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 2925
    functionName: GTiffGenericGrid::~GTiffGenericGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTiffGenericGrid::~GTiffGenericGrid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/grids.cpp:2931,1
    - Dst: GTiffGenericGrid::samplesPerPixel
      Src: /src/PROJ/src/grids.cpp:2931,1
    - Dst: GTiffGenericGrid::valueAt
      Src: /src/PROJ/src/grids.cpp:2933,1
    - Dst: static_cast<uint16_t>
      Src: /src/PROJ/src/grids.cpp:2933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - x
    - y
    - sample
    - out
    argTypes:
    - int
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2929
    functionDepth: 2
    functionLinenumber: 2929
    functionLinenumberEnd: 2934
    functionName: GTiffGenericGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - static_cast<unsigned>
    - GTiffGenericGrid::samplesPerPixel
    - GTiffGenericGrid::valueAt
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool GTiffGenericGrid::valueAt(int x, int y, int sample, float &out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTiffGenericGrid::valuesAt
      Src: /src/PROJ/src/grids.cpp:2942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - x_start
    - y_start
    - x_count
    - y_count
    - sample_count
    - sample_idx
    - out
    - nodataFound
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int*
    - float*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2938
    functionDepth: 1
    functionLinenumber: 2938
    functionLinenumberEnd: 2944
    functionName: GTiffGenericGrid::valuesAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GTiffGenericGrid::valuesAt
    linkageType: ''
    returnType: bool
    signature: "bool GTiffGenericGrid::valuesAt(int x_start, int y_start, int x_count,\n
      \                               int y_count, int sample_count,\n                                const
      int *sample_idx, float *out,\n                                bool &nodataFound)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffGenericGrid>::extentAndRes
      Src: /src/PROJ/src/grids.cpp:2951,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:2953,1
    - Dst: auto::contains
      Src: /src/PROJ/src/grids.cpp:2954,1
    - Dst: static_cast<GTiffGenericGrid *>
      Src: /src/PROJ/src/grids.cpp:2955,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:2955,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2956,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/grids.cpp:2959,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:2960,1
    - Dst: emplace_back
      Src: /src/PROJ/src/grids.cpp:2964,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:2964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - subgrid
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<GTiffGenericGrid>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2948
    functionDepth: 1
    functionLinenumber: 2948
    functionLinenumberEnd: 2966
    functionName: GTiffGenericGrid::insertGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<GTiffGenericGrid>::extentAndRes
    - extentAndRes
    - get
    - auto::contains
    - std::move
    - pj_log
    - static_cast<GTiffGenericGrid *>
    - auto::intersects
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void GTiffGenericGrid::insertGrid(PJ_CONTEXT *ctx,\n                                  std::unique_ptr<GTiffGenericGrid>
      &&subgrid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: globalExtent
      Src: /src/PROJ/src/grids.cpp:2974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2974
    functionDepth: 2
    functionLinenumber: 2974
    functionLinenumberEnd: 2974
    functionName: NullGenericShiftGrid::NullGenericShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - globalExtent
    linkageType: ''
    returnType: void
    signature: void NullGenericShiftGrid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2976
    functionDepth: 0
    functionLinenumber: 2976
    functionLinenumberEnd: 2976
    functionName: NullGenericShiftGrid::isNullGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNullGrid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2979
    functionName: '&type() const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2981
    functionName: NullGenericShiftGrid::samplesPerPixel
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int samplesPerPixel() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/grids.cpp:2983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2983
    functionName: NullGenericShiftGrid::unit
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string unit(int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/grids.cpp:2985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2985
    functionName: NullGenericShiftGrid::description
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string description(int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2989
    functionName: '&metadataItem(const std::string &, int) const override'
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &metadataItem(const std::string &, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 2991
    functionName: NullGenericShiftGrid::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 2993
    functionName: NullGenericShiftGrid::hasChanged
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2998
    functionDepth: 0
    functionLinenumber: 2998
    functionLinenumberEnd: 3001
    functionName: NullGenericShiftGrid::valueAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NullGenericShiftGrid::valueAt(int, int, int, float &out) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GTiffGenericGridShiftSet>
      Src: /src/PROJ/src/grids.cpp:3010,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3011,1
    - Dst: GTiffGenericGridShiftSet::GTiffGenericGridShiftSet
      Src: /src/PROJ/src/grids.cpp:3011,1
    - Dst: auto::m_GTiffDataset::openTIFF
      Src: /src/PROJ/src/grids.cpp:3014,1
    - Dst: auto::m_GTiffDataset::nextGrid
      Src: /src/PROJ/src/grids.cpp:3020,1
    - Dst: auto::subfileType
      Src: /src/PROJ/src/grids.cpp:3028,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3031,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:3031,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3034,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:3035,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:3041,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:3042,1
    - Dst: std::make_unique<GTiffGenericGrid>
      Src: /src/PROJ/src/grids.cpp:3044,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3044,1
    - Dst: auto::m_grids::empty
      Src: /src/PROJ/src/grids.cpp:3045,1
    - Dst: auto::metadataItem
      Src: /src/PROJ/src/grids.cpp:3045,1
    - Dst: metadataItem
      Src: /src/PROJ/src/grids.cpp:3046,1
    - Dst: auto::setFirstGrid
      Src: /src/PROJ/src/grids.cpp:3047,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:3047,1
    - Dst: insertIntoHierarchy
      Src: /src/PROJ/src/grids.cpp:3050,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3050,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - fp
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<File>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3007
    functionDepth: 2
    functionLinenumber: 3007
    functionLinenumberEnd: 3054
    functionName: GTiffGenericGridShiftSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - insertIntoHierarchy
    - get
    - auto::m_GTiffDataset::nextGrid
    - std::move
    - auto::metadataItem
    - pj_log
    - auto::subfileType
    - std::make_unique<GTiffGenericGrid>
    - std::unique_ptr<GTiffGenericGridShiftSet>
    - GTiffGenericGridShiftSet::GTiffGenericGridShiftSet
    - auto::m_grids::empty
    - metadataItem
    - auto::setFirstGrid
    - _
    - auto::m_GTiffDataset::openTIFF
    linkageType: ''
    returnType: std::unique_ptr<GTiffGenericGridShiftSet>
    signature: "std::unique_ptr<GTiffGenericGridShiftSet> GTiffGenericGridShiftSet::open(PJ_CONTEXT
      *ctx, std::unique_ptr<File> fp,\n                               const std::string
      &filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - nameIn
    - widthIn
    - heightIn
    - extentIn
    argTypes:
    - std::string
    - int
    - int
    - ExtentAndRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3061
    functionName: GenericShiftGrid::GenericShiftGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericShiftGrid::GenericShiftGrid(const std::string &nameIn,
      int widthIn,\n                                   int heightIn, const ExtentAndRes
      &extentIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3065
    functionName: GenericShiftGrid::~GenericShiftGrid()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericShiftGrid::~GenericShiftGrid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valueAt
      Src: /src/PROJ/src/grids.cpp:3077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - x_start
    - y_start
    - x_count
    - y_count
    - sample_count
    - sample_idx
    - out
    - nodataFound
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int*
    - float*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3084
    functionName: GenericShiftGrid::valuesAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - valueAt
    linkageType: ''
    returnType: bool
    signature: "bool GenericShiftGrid::valuesAt(int x_start, int y_start, int x_count,\n
      \                               int y_count, int sample_count,\n                                const
      int *sample_idx, float *out,\n                                bool &nodataFound)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3088
    functionName: GenericShiftGridSet::GenericShiftGridSet
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericShiftGridSet::GenericShiftGridSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3092
    functionName: GenericShiftGridSet::~GenericShiftGridSet()
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericShiftGridSet::~GenericShiftGridSet()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<GenericShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:3100,1
    - Dst: GenericShiftGridSet::GenericShiftGridSet
      Src: /src/PROJ/src/grids.cpp:3100,1
    - Dst: auto::m_grids::push_back
      Src: /src/PROJ/src/grids.cpp:3103,1
    - Dst: std::unique_ptr<NullGenericShiftGrid>
      Src: /src/PROJ/src/grids.cpp:3104,1
    - Dst: NullGenericShiftGrid::NullGenericShiftGrid
      Src: /src/PROJ/src/grids.cpp:3104,1
    - Dst: FileManager::open_resource_file
      Src: /src/PROJ/src/grids.cpp:3108,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:3108,1
    - Dst: auto::read
      Src: /src/PROJ/src/grids.cpp:3117,1
    - Dst: auto::seek
      Src: /src/PROJ/src/grids.cpp:3121,1
    - Dst: IsTIFF
      Src: /src/PROJ/src/grids.cpp:3123,1
    - Dst: auto::name
      Src: /src/PROJ/src/grids.cpp:3125,1
    - Dst: std::unique_ptr<GenericShiftGridSet>
      Src: /src/PROJ/src/grids.cpp:3126,1
    - Dst: GTiffGenericGridShiftSet::open
      Src: /src/PROJ/src/grids.cpp:3127,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3127,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3129,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3133,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:3134,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3139,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:3141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3096
    functionDepth: 3
    functionLinenumber: 3096
    functionLinenumberEnd: 3143
    functionName: GenericShiftGridSet::open
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 12
    functionsReached:
    - auto::m_grids::push_back
    - std::string::c_str
    - auto::read
    - auto::name
    - std::move
    - std::unique_ptr<GenericShiftGridSet>
    - GenericShiftGridSet::GenericShiftGridSet
    - NullGenericShiftGrid::NullGenericShiftGrid
    - IsTIFF
    - GTiffGenericGridShiftSet::open
    - proj_context_errno_set
    - pj_log
    - _
    - auto::seek
    - FileManager::open_resource_file
    - std::unique_ptr<NullGenericShiftGrid>
    linkageType: ''
    returnType: std::unique_ptr<GenericShiftGridSet>
    signature: std::unique_ptr<GenericShiftGridSet> GenericShiftGridSet::open(PJ_CONTEXT
      *ctx, const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3148,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:3149,1
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:3150,1
    - Dst: clear
      Src: /src/PROJ/src/grids.cpp:3151,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3153,1
    - Dst: empty
      Src: /src/PROJ/src/grids.cpp:3155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3147
    functionDepth: 1
    functionLinenumber: 3147
    functionLinenumberEnd: 3156
    functionName: GenericShiftGridSet::reopen
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - pj_log
    - GenericShiftGridSet::open
    - empty
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool GenericShiftGridSet::reopen(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:3162,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:3163,1
    - Dst: GenericShiftGrid::gridAt
      Src: /src/PROJ/src/grids.cpp:3164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3160
    functionDepth: 2
    functionLinenumber: 3160
    functionLinenumberEnd: 3168
    functionName: GenericShiftGrid::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - GenericShiftGrid::gridAt
    - extentAndRes
    - isPointInExtent
    linkageType: ''
    returnType: GenericShiftGrid
    signature: GenericShiftGrid *GenericShiftGrid::gridAt(double x, double y) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNullGrid
      Src: /src/PROJ/src/grids.cpp:3174,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:3175,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:3177,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:3178,1
    - Dst: GenericShiftGridSet::gridAt
      Src: /src/PROJ/src/grids.cpp:3179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3172
    functionDepth: 2
    functionLinenumber: 3172
    functionLinenumberEnd: 3183
    functionName: GenericShiftGridSet::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - extentAndRes
    - isPointInExtent
    - get
    - isNullGrid
    - GenericShiftGridSet::gridAt
    linkageType: ''
    returnType: GenericShiftGrid
    signature: GenericShiftGrid *GenericShiftGridSet::gridAt(double x, double y) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNullGrid
      Src: /src/PROJ/src/grids.cpp:3190,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:3191,1
    - Dst: type
      Src: /src/PROJ/src/grids.cpp:3193,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:3196,1
    - Dst: isPointInExtent
      Src: /src/PROJ/src/grids.cpp:3197,1
    - Dst: GenericShiftGridSet::gridAt
      Src: /src/PROJ/src/grids.cpp:3198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - type
    - x
    - y
    argTypes:
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3187
    functionDepth: 2
    functionLinenumber: 3187
    functionLinenumberEnd: 3202
    functionName: GenericShiftGridSet::gridAt
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 2
    functionsReached:
    - extentAndRes
    - isPointInExtent
    - get
    - type
    - isNullGrid
    - GenericShiftGridSet::gridAt
    linkageType: ''
    returnType: GenericShiftGrid
    signature: "GenericShiftGrid *GenericShiftGridSet::gridAt(const std::string &type,\n
      \                                                   double x, double y) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::reassign_context
      Src: /src/PROJ/src/grids.cpp:3208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3210
    functionName: GenericShiftGridSet::reassign_context
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 2
    functionsReached:
    - GenericShiftGridSet::reassign_context
    linkageType: ''
    returnType: void
    signature: void GenericShiftGridSet::reassign_context(PJ_CONTEXT *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:3217,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:3217,1
    - Dst: split
      Src: /src/PROJ/src/grids.cpp:3221,1
    - Dst: std::string
      Src: /src/PROJ/src/grids.cpp:3221,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:3224,1
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:3230,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/grids.cpp:3233,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3235,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3240,1
    - Dst: ListOfGenericGrids::emplace_back
      Src: /src/PROJ/src/grids.cpp:3243,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - P
    - gridkey
    argTypes:
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3214
    functionDepth: 1
    functionLinenumber: 3214
    functionLinenumberEnd: 3248
    functionName: pj_generic_grid_init
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::move
    - GenericShiftGridSet::open
    - proj_context_errno
    - proj_context_errno_set
    - std::string
    - ListOfGenericGrids::emplace_back
    - split
    - pj_param
    - c_str
    linkageType: ''
    returnType: ListOfGenericGrids
    signature: ListOfGenericGrids pj_generic_grid_init(PJ *P, const char *gridkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gridAt
      Src: /src/PROJ/src/grids.cpp:3256,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:3258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - grids
    - input
    - gridSetOut
    argTypes:
    - ListOfHGrids
    - PJ_LP
    - HorizontalShiftGridSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3252
    functionDepth: 1
    functionLinenumber: 3252
    functionLinenumberEnd: 3263
    functionName: findGrid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - gridAt
    - get
    linkageType: ''
    returnType: HorizontalShiftGrid
    signature: "HorizontalShiftGrid *\nfindGrid(const ListOfHGrids &grids, const PJ_LP
      &input,\n         HorizontalShiftGridSet *&gridSetOut)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PROJ/src/grids.cpp:3269,1
    - Dst: std::string
      Src: /src/PROJ/src/grids.cpp:3269,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:3271,1
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:3277,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/grids.cpp:3280,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3281,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3286,1
    - Dst: ListOfHGrids::emplace_back
      Src: /src/PROJ/src/grids.cpp:3288,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - grids
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3267
    functionDepth: 1
    functionLinenumber: 3267
    functionLinenumberEnd: 3292
    functionName: getListOfGridSets
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - ListOfHGrids::emplace_back
    - std::move
    - proj_context_errno
    - proj_context_errno_set
    - std::string
    - HorizontalShiftGridSet::open
    - split
    - c_str
    linkageType: ''
    returnType: ListOfHGrids
    signature: ListOfHGrids getListOfGridSets(PJ_CONTEXT *ctx, const char *grids)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:3312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:3312,1
    - Dst: getListOfGridSets
      Src: /src/PROJ/src/grids.cpp:3316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - P
    - gridkey
    argTypes:
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3295
    functionDepth: 2
    functionLinenumber: 3295
    functionLinenumberEnd: 3317
    functionName: pj_hgrid_init
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - getListOfGridSets
    - pj_param
    linkageType: ''
    returnType: ListOfHGrids
    signature: ListOfHGrids pj_hgrid_init(PJ *P, const char *gridkey)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGrid*::extentAndRes
      Src: /src/PROJ/src/grids.cpp:3332,1
    - Dst: std::isnan
      Src: /src/PROJ/src/grids.cpp:3334,1
    - Dst: lround
      Src: /src/PROJ/src/grids.cpp:3334,1
    - Dst: floor
      Src: /src/PROJ/src/grids.cpp:3334,1
    - Dst: std::isnan
      Src: /src/PROJ/src/grids.cpp:3336,1
    - Dst: lround
      Src: /src/PROJ/src/grids.cpp:3336,1
    - Dst: floor
      Src: /src/PROJ/src/grids.cpp:3336,1
    - Dst: HorizontalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3347,1
    - Dst: HorizontalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3348,1
    - Dst: HorizontalShiftGrid*::height
      Src: /src/PROJ/src/grids.cpp:3360,1
    - Dst: HorizontalShiftGrid*::height
      Src: /src/PROJ/src/grids.cpp:3361,1
    - Dst: HorizontalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3372,1
    - Dst: HorizontalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3374,1
    - Dst: HorizontalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3376,1
    - Dst: HorizontalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3378,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - t
    - grid
    - compensateNTConvention
    argTypes:
    - PJ_LP
    - HorizontalShiftGrid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3326
    functionDepth: 1
    functionLinenumber: 3326
    functionLinenumberEnd: 3395
    functionName: pj_hgrid_interpolate
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - HorizontalShiftGrid*::height
    - lround
    - HorizontalShiftGrid*::valueAt
    - HorizontalShiftGrid*::width
    - HorizontalShiftGrid*::extentAndRes
    - std::isnan
    - floor
    linkageType: ''
    returnType: PJ_LP
    signature: "PJ_LP pj_hgrid_interpolate(PJ_LP t, const HorizontalShiftGrid *grid,\n
      \                                 bool compensateNTConvention)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGrid*::extentAndRes
      Src: /src/PROJ/src/grids.cpp:3418,1
    - Dst: pj_hgrid_interpolate
      Src: /src/PROJ/src/grids.cpp:3428,1
    - Dst: HorizontalShiftGrid*::hasChanged
      Src: /src/PROJ/src/grids.cpp:3429,1
    - Dst: HorizontalShiftGridSet*::reopen
      Src: /src/PROJ/src/grids.cpp:3430,1
    - Dst: pj_hgrid_interpolate
      Src: /src/PROJ/src/grids.cpp:3446,1
    - Dst: HorizontalShiftGrid*::hasChanged
      Src: /src/PROJ/src/grids.cpp:3447,1
    - Dst: HorizontalShiftGridSet*::reopen
      Src: /src/PROJ/src/grids.cpp:3448,1
    - Dst: findGrid
      Src: /src/PROJ/src/grids.cpp:3458,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/grids.cpp:3459,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3461,1
    - Dst: HorizontalShiftGrid*::name
      Src: /src/PROJ/src/grids.cpp:3462,1
    - Dst: auto::name
      Src: /src/PROJ/src/grids.cpp:3462,1
    - Dst: HorizontalShiftGrid*::extentAndRes
      Src: /src/PROJ/src/grids.cpp:3464,1
    - Dst: simple_max
      Src: /src/PROJ/src/grids.cpp:3474,1
    - Dst: simple_max
      Src: /src/PROJ/src/grids.cpp:3475,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3488,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3490,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3497,1
    - Dst: adjlon
      Src: /src/PROJ/src/grids.cpp:3502,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 7
    argNames:
    - ctx
    - in
    - direction
    - grid
    - gridset
    - grids
    - shouldRetry
    argTypes:
    - PJ_CONTEXT*
    - PJ_LP
    - PJ_DIRECTION
    - HorizontalShiftGrid*
    - HorizontalShiftGridSet*
    - ListOfHGrids
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3402
    functionDepth: 2
    functionLinenumber: 3402
    functionLinenumberEnd: 3505
    functionName: pj_hgrid_apply_internal
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - HorizontalShiftGrid*::name
    - HorizontalShiftGrid*::hasChanged
    - auto::name
    - findGrid
    - auto::isNullGrid
    - pj_log
    - adjlon
    - pj_hgrid_interpolate
    - proj_context_errno_set
    - HorizontalShiftGrid*::extentAndRes
    - HorizontalShiftGridSet*::reopen
    - simple_max
    linkageType: ''
    returnType: PJ_LP
    signature: "PJ_LP pj_hgrid_apply_internal(PJ_CONTEXT *ctx, PJ_LP in,\n                                     PJ_DIRECTION
      direction,\n                                     const HorizontalShiftGrid *grid,\n
      \                                    HorizontalShiftGridSet *gridset,\n                                     const
      ListOfHGrids &grids,\n                                     bool &shouldRetry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: findGrid
      Src: /src/PROJ/src/grids.cpp:3518,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3520,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/grids.cpp:3523,1
    - Dst: pj_hgrid_apply_internal
      Src: /src/PROJ/src/grids.cpp:3528,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - grids
    - lp
    - direction
    argTypes:
    - PJ_CONTEXT*
    - ListOfHGrids
    - PJ_LP
    - PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3509
    functionDepth: 3
    functionLinenumber: 3509
    functionLinenumberEnd: 3539
    functionName: pj_hgrid_apply
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - findGrid
    - auto::isNullGrid
    - pj_hgrid_apply_internal
    linkageType: ''
    returnType: PJ_LP
    signature: "PJ_LP pj_hgrid_apply(PJ_CONTEXT *ctx, const ListOfHGrids &grids, PJ_LP
      lp,\n                     PJ_DIRECTION direction)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/grids.cpp:3547,1
    - Dst: findGrid
      Src: /src/PROJ/src/grids.cpp:3550,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3552,1
    - Dst: auto::extentAndRes
      Src: /src/PROJ/src/grids.cpp:3557,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3559,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:3560,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3561,1
    - Dst: pj_hgrid_interpolate
      Src: /src/PROJ/src/grids.cpp:3575,1
    - Dst: auto::hasChanged
      Src: /src/PROJ/src/grids.cpp:3576,1
    - Dst: HorizontalShiftGridSet*::reopen
      Src: /src/PROJ/src/grids.cpp:3577,1
    - Dst: pj_hgrid_value
      Src: /src/PROJ/src/grids.cpp:3578,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - P
    - grids
    - lp
    argTypes:
    - PJ*
    - ListOfHGrids
    - PJ_LP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3546
    functionDepth: 2
    functionLinenumber: 3546
    functionLinenumberEnd: 3589
    functionName: pj_hgrid_value
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - pj_hgrid_value
    - findGrid
    - pj_log
    - pj_hgrid_interpolate
    - auto::extentAndRes
    - proj_context_errno_set
    - proj_coord_error
    - _
    - HorizontalShiftGridSet*::reopen
    - auto::hasChanged
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pj_hgrid_value(PJ *P, const ListOfHGrids &grids, PJ_LP lp)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/PROJ/src/grids.cpp:3598,1
    - Dst: std::isnan
      Src: /src/PROJ/src/grids.cpp:3598,1
    - Dst: gridAt
      Src: /src/PROJ/src/grids.cpp:3605,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:3607,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3612,1
    - Dst: VerticalShiftGrid*::isNullGrid
      Src: /src/PROJ/src/grids.cpp:3615,1
    - Dst: VerticalShiftGrid*::extentAndRes
      Src: /src/PROJ/src/grids.cpp:3619,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3621,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:3622,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3623,1
    - Dst: auto::fullWorldLongitude
      Src: /src/PROJ/src/grids.cpp:3631,1
    - Dst: fmod
      Src: /src/PROJ/src/grids.cpp:3634,1
    - Dst: fmod
      Src: /src/PROJ/src/grids.cpp:3634,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3634,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3634,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3635,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3636,1
    - Dst: auto::fullWorldLongitude
      Src: /src/PROJ/src/grids.cpp:3641,1
    - Dst: fmod
      Src: /src/PROJ/src/grids.cpp:3644,1
    - Dst: fmod
      Src: /src/PROJ/src/grids.cpp:3644,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3644,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3644,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3645,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3646,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3652,1
    - Dst: lround
      Src: /src/PROJ/src/grids.cpp:3652,1
    - Dst: floor
      Src: /src/PROJ/src/grids.cpp:3652,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3653,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3655,1
    - Dst: _
      Src: /src/PROJ/src/grids.cpp:3655,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3656,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3659,1
    - Dst: lround
      Src: /src/PROJ/src/grids.cpp:3659,1
    - Dst: floor
      Src: /src/PROJ/src/grids.cpp:3659,1
    - Dst: assert
      Src: /src/PROJ/src/grids.cpp:3660,1
    - Dst: VerticalShiftGrid*::height
      Src: /src/PROJ/src/grids.cpp:3660,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3665,1
    - Dst: auto::fullWorldLongitude
      Src: /src/PROJ/src/grids.cpp:3666,1
    - Dst: VerticalShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3669,1
    - Dst: VerticalShiftGrid*::height
      Src: /src/PROJ/src/grids.cpp:3673,1
    - Dst: VerticalShiftGrid*::height
      Src: /src/PROJ/src/grids.cpp:3674,1
    - Dst: VerticalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3680,1
    - Dst: VerticalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3681,1
    - Dst: VerticalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3682,1
    - Dst: VerticalShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3683,1
    - Dst: VerticalShiftGrid*::hasChanged
      Src: /src/PROJ/src/grids.cpp:3684,1
    - Dst: VerticalShiftGridSet*::reopen
      Src: /src/PROJ/src/grids.cpp:3685,1
    - Dst: read_vgrid_value
      Src: /src/PROJ/src/grids.cpp:3686,1
    - Dst: VerticalShiftGrid*::isNodata
      Src: /src/PROJ/src/grids.cpp:3698,1
    - Dst: VerticalShiftGrid*::isNodata
      Src: /src/PROJ/src/grids.cpp:3699,1
    - Dst: VerticalShiftGrid*::isNodata
      Src: /src/PROJ/src/grids.cpp:3700,1
    - Dst: VerticalShiftGrid*::isNodata
      Src: /src/PROJ/src/grids.cpp:3701,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3703,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3703,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3704,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3704,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3723,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 4
    argNames:
    - ctx
    - grids
    - input
    - vmultiplier
    argTypes:
    - PJ_CONTEXT*
    - ListOfVGrids
    - PJ_LP
    - double
    assertStmts:
    - condition: (grid_iy >= 0 && grid_iy < grid->height())
      pos:
        line_end: 3659
        line_start: 3659
        source_file: /src/PROJ/src/grids.cpp
    constantsTouched: []
    func_position:
      end: 3751
      start: 3593
    functionDepth: 1
    functionLinenumber: 3593
    functionLinenumberEnd: 3751
    functionName: read_vgrid_value
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 1
    functionsReached:
    - lround
    - read_vgrid_value
    - VerticalShiftGrid*::valueAt
    - _
    - assert
    - VerticalShiftGrid*::width
    - proj_context_errno_set
    - VerticalShiftGrid*::hasChanged
    - VerticalShiftGrid*::isNullGrid
    - static_cast<int>
    - fmod
    - pj_log
    - gridAt
    - auto::fullWorldLongitude
    - floor
    - VerticalShiftGrid*::extentAndRes
    - VerticalShiftGrid*::height
    - get
    - std::isnan
    - VerticalShiftGridSet*::reopen
    - VerticalShiftGrid*::isNodata
    linkageType: ''
    returnType: double
    signature: "double read_vgrid_value(PJ_CONTEXT *ctx, const ListOfVGrids &grids,\n
      \                              const PJ_LP &input, const double vmultiplier)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:3770,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/grids.cpp:3770,1
    - Dst: split
      Src: /src/PROJ/src/grids.cpp:3774,1
    - Dst: std::string
      Src: /src/PROJ/src/grids.cpp:3774,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:3777,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:3783,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/grids.cpp:3786,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3788,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3793,1
    - Dst: ListOfVGrids::emplace_back
      Src: /src/PROJ/src/grids.cpp:3796,1
    - Dst: std::move
      Src: /src/PROJ/src/grids.cpp:3796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - P
    - gridkey
    argTypes:
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3754
    functionDepth: 1
    functionLinenumber: 3754
    functionLinenumberEnd: 3801
    functionName: pj_vgrid_init
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - VerticalShiftGridSet::open
    - std::move
    - ListOfVGrids::emplace_back
    - proj_context_errno
    - proj_context_errno_set
    - std::string
    - split
    - pj_param
    - c_str
    linkageType: ''
    returnType: ListOfVGrids
    signature: ListOfVGrids pj_vgrid_init(PJ *P, const char *gridkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_vgrid_value
      Src: /src/PROJ/src/grids.cpp:3817,1
    - Dst: pj_log_active
      Src: /src/PROJ/src/grids.cpp:3818,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/grids.cpp:3819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - P
    - grids
    - lp
    - vmultiplier
    argTypes:
    - PJ*
    - ListOfVGrids
    - PJ_LP
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3824
      start: 3804
    functionDepth: 2
    functionLinenumber: 3804
    functionLinenumberEnd: 3824
    functionName: pj_vgrid_value
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - read_vgrid_value
    - proj_log_trace
    - pj_log_active
    linkageType: ''
    returnType: double
    signature: "double pj_vgrid_value(PJ *P, const ListOfVGrids &grids, PJ_LP lp,\n
      \                     double vmultiplier)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gridAt
      Src: /src/PROJ/src/grids.cpp:3832,1
    - Dst: get
      Src: /src/PROJ/src/grids.cpp:3834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - grids
    - input
    - gridSetOut
    argTypes:
    - ListOfGenericGrids
    - PJ_LP
    - GenericShiftGridSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3828
    functionDepth: 1
    functionLinenumber: 3828
    functionLinenumberEnd: 3839
    functionName: pj_find_generic_grid
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - gridAt
    - get
    linkageType: ''
    returnType: GenericShiftGrid
    signature: "GenericShiftGrid *pj_find_generic_grid(const ListOfGenericGrids &grids,\n
      \                                            const PJ_LP &input,\n                                             GenericShiftGridSet
      *&gridSetOut)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGrid*::isNullGrid
      Src: /src/PROJ/src/grids.cpp:3849,1
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/grids.cpp:3856,1
    - Dst: pj_log
      Src: /src/PROJ/src/grids.cpp:3858,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:3860,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3877,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/grids.cpp:3878,1
    - Dst: std::min
      Src: /src/PROJ/src/grids.cpp:3879,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/grids.cpp:3879,1
    - Dst: std::min
      Src: /src/PROJ/src/grids.cpp:3880,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/grids.cpp:3880,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3886,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3887,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3888,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3889,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3890,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3891,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3892,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3893,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3894,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3895,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3896,1
    - Dst: GenericShiftGrid*::valueAt
      Src: /src/PROJ/src/grids.cpp:3897,1
    - Dst: GenericShiftGrid*::hasChanged
      Src: /src/PROJ/src/grids.cpp:3898,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 10
    argNames:
    - ctx
    - grid
    - lp
    - idx1
    - idx2
    - idx3
    - v1
    - v2
    - v3
    - must_retry
    argTypes:
    - PJ_CONTEXT*
    - GenericShiftGrid*
    - PJ_LP
    - int
    - int
    - int
    - double
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3845
    functionDepth: 1
    functionLinenumber: 3845
    functionLinenumberEnd: 3923
    functionName: pj_bilinear_interpolation_three_samples
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - GenericShiftGrid*::extentAndRes
    - GenericShiftGrid*::width
    - static_cast<int>
    - GenericShiftGrid*::height
    - std::min
    - pj_log
    - GenericShiftGrid*::valueAt
    - proj_context_errno_set
    - GenericShiftGrid*::hasChanged
    - GenericShiftGrid*::isNullGrid
    linkageType: ''
    returnType: bool
    signature: "bool pj_bilinear_interpolation_three_samples(\n    PJ_CONTEXT *ctx,
      const GenericShiftGrid *grid, const PJ_LP &lp, int idx1,\n    int idx2, int
      idx3, double &v1, double &v2, double &v3, bool &must_retry)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/grids.cpp:3937,1
    - Dst: memset
      Src: /src/PROJ/src/grids.cpp:3938,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/grids.cpp:3943,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:3946,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/grids.cpp:3949,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:3957,1
    - Dst: c_str
      Src: /src/PROJ/src/grids.cpp:3957,1
    - Dst: width
      Src: /src/PROJ/src/grids.cpp:3960,1
    - Dst: height
      Src: /src/PROJ/src/grids.cpp:3961,1
    - Dst: VerticalShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:3975,1
    - Dst: auto::grids
      Src: /src/PROJ/src/grids.cpp:3977,1
    - Dst: auto::empty
      Src: /src/PROJ/src/grids.cpp:3978,1
    - Dst: auto::front
      Src: /src/PROJ/src/grids.cpp:3979,1
    - Dst: fillGridInfo
      Src: /src/PROJ/src/grids.cpp:3980,1
    - Dst: auto::format
      Src: /src/PROJ/src/grids.cpp:3980,1
    - Dst: HorizontalShiftGridSet::open
      Src: /src/PROJ/src/grids.cpp:3988,1
    - Dst: auto::grids
      Src: /src/PROJ/src/grids.cpp:3990,1
    - Dst: auto::empty
      Src: /src/PROJ/src/grids.cpp:3991,1
    - Dst: auto::front
      Src: /src/PROJ/src/grids.cpp:3992,1
    - Dst: fillGridInfo
      Src: /src/PROJ/src/grids.cpp:3993,1
    - Dst: auto::format
      Src: /src/PROJ/src/grids.cpp:3993,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:3998,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - gridname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4000
      start: 3925
    functionDepth: 1
    functionLinenumber: 3925
    functionLinenumberEnd: 4000
    functionName: PJ_GRID_INFO::proj_grid_info
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 0
    functionsReached:
    - extentAndRes
    - pj_get_default_ctx
    - VerticalShiftGridSet::open
    - auto::front
    - fillGridInfo
    - strcpy
    - auto::grids
    - strncpy
    - width
    - memset
    - pj_find_file
    - height
    - auto::empty
    - HorizontalShiftGridSet::open
    - auto::format
    - c_str
    linkageType: ''
    returnType: NS_PROJ_END
    signature: NS_PROJ_END PJ_GRID_INFO proj_grid_info(const char *gridname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/grids.cpp:4021,1
    - Dst: memset
      Src: /src/PROJ/src/grids.cpp:4023,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/grids.cpp:4026,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:4028,1
    - Dst: strcmp
      Src: /src/PROJ/src/grids.cpp:4029,1
    - Dst: strcmp
      Src: /src/PROJ/src/grids.cpp:4029,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:4032,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4034,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:4035,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/src/grids.cpp:4036,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4038,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/src/grids.cpp:4040,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4042,1
    - Dst: strcmp
      Src: /src/PROJ/src/grids.cpp:4047,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/grids.cpp:4050,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4052,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:4053,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/src/grids.cpp:4054,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4056,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/src/grids.cpp:4058,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4060,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4069,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:4070,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:4071,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:4072,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4074,1
    - Dst: memcpy
      Src: /src/PROJ/src/grids.cpp:4076,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:4076,1
    - Dst: strcpy
      Src: /src/PROJ/src/grids.cpp:4077,1
    - Dst: strncat
      Src: /src/PROJ/src/grids.cpp:4079,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:4079,1
    - Dst: strlen
      Src: /src/PROJ/src/grids.cpp:4079,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/grids.cpp:4081,1
    - Dst: pj_expand_init
      Src: /src/PROJ/src/grids.cpp:4082,1
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:4084,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4085,1
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:4085,1
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:4088,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4089,1
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:4089,1
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:4092,1
    - Dst: strncpy
      Src: /src/PROJ/src/grids.cpp:4093,1
    - Dst: pj_param
      Src: /src/PROJ/src/grids.cpp:4093,1
    - Dst: free
      Src: /src/PROJ/src/grids.cpp:4098,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 1
    argNames:
    - initname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4003
    functionDepth: 1
    functionLinenumber: 4003
    functionLinenumberEnd: 4102
    functionName: proj_init_info
    functionSourceFile: /src/PROJ/src/grids.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - free
    - strcpy
    - memcpy
    - strcmp
    - strncat
    - strncpy
    - memset
    - proj_context_errno_set
    - pj_find_file
    - strlen
    - pj_expand_init
    - pj_mkparam
    - proj_context_get_database_metadata
    - pj_param
    linkageType: ''
    returnType: PJ_INIT_INFO
    signature: PJ_INIT_INFO proj_init_info(const char *initname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_strtod
      Src: /src/PROJ/src/strtod.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: pj_atof
    functionSourceFile: /src/PROJ/src/strtod.cpp
    functionUses: 1
    functionsReached:
    - pj_strtod
    linkageType: ''
    returnType: double
    signature: double pj_atof(const char *nptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/src/strtod.cpp:79,1
    - Dst: strchr
      Src: /src/PROJ/src/strtod.cpp:83,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/strtod.cpp:85,1
    - Dst: localeconv
      Src: /src/PROJ/src/strtod.cpp:97,1
    - Dst: strchr
      Src: /src/PROJ/src/strtod.cpp:103,1
    - Dst: strchr
      Src: /src/PROJ/src/strtod.cpp:104,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/strtod.cpp:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - pszNumber
    - point
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 121
    functionName: replace_point_by_locale_point
    functionSourceFile: /src/PROJ/src/strtod.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - snprintf
    - localeconv
    - pj_strdup
    linkageType: ''
    returnType: char
    signature: char *replace_point_by_locale_point(const char *pszNumber, char point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: replace_point_by_locale_point
      Src: /src/PROJ/src/strtod.cpp:151,1
    - Dst: strtod
      Src: /src/PROJ/src/strtod.cpp:154,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/strtod.cpp:160,1
    - Dst: free
      Src: /src/PROJ/src/strtod.cpp:163,1
    - Dst: strtod
      Src: /src/PROJ/src/strtod.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: pj_strtod
    functionSourceFile: /src/PROJ/src/strtod.cpp
    functionUses: 1
    functionsReached:
    - const_cast<char *>
    - strtod
    - replace_point_by_locale_point
    - free
    linkageType: ''
    returnType: double
    signature: double pj_strtod(const char *nptr, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - x
    - y
    - z
    - t
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: proj_coord
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD proj_coord(double x, double y, double z, double t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PJ_DIRECTION>
      Src: /src/PROJ/src/coordinates.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: pj_opposite_direction
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 4
    functionsReached:
    - static_cast<PJ_DIRECTION>
    linkageType: ''
    returnType: PJ_DIRECTION
    signature: PJ_DIRECTION pj_opposite_direction(PJ_DIRECTION dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_left
      Src: /src/PROJ/src/coordinates.cpp:60,1
    - Dst: pj_right
      Src: /src/PROJ/src/coordinates.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - P
    - dir
    argTypes:
    - PJ*
    - enum PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: proj_angular_input
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 10
    functionsReached:
    - pj_right
    - pj_left
    linkageType: ''
    returnType: int
    signature: int proj_angular_input(PJ *P, enum PJ_DIRECTION dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_angular_input
      Src: /src/PROJ/src/coordinates.cpp:71,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/coordinates.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - dir
    argTypes:
    - PJ*
    - enum PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: proj_angular_output
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 10
    functionsReached:
    - pj_opposite_direction
    - proj_angular_input
    linkageType: ''
    returnType: int
    signature: int proj_angular_output(PJ *P, enum PJ_DIRECTION dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_left
      Src: /src/PROJ/src/coordinates.cpp:82,1
    - Dst: pj_right
      Src: /src/PROJ/src/coordinates.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - P
    - dir
    argTypes:
    - PJ*
    - enum PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: proj_degree_input
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 10
    functionsReached:
    - pj_right
    - pj_left
    linkageType: ''
    returnType: int
    signature: int proj_degree_input(PJ *P, enum PJ_DIRECTION dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_degree_input
      Src: /src/PROJ/src/coordinates.cpp:93,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/coordinates.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - dir
    argTypes:
    - PJ*
    - enum PJ_DIRECTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: proj_degree_output
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 10
    functionsReached:
    - proj_degree_input
    - pj_opposite_direction
    linkageType: ''
    returnType: int
    signature: int proj_degree_output(PJ *P, enum PJ_DIRECTION dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/coordinates.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - angle_in_degrees
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: proj_torad
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 6
    functionsReached:
    - PJ_TORAD
    linkageType: ''
    returnType: double
    signature: double proj_torad(double angle_in_degrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/coordinates.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - angle_in_radians
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: proj_todeg
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 0
    functionsReached:
    - PJ_TODEG
    linkageType: ''
    returnType: double
    signature: double proj_todeg(double angle_in_radians)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmstor
      Src: /src/PROJ/src/coordinates.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - is
    - rs
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: proj_dmstor
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 2
    functionsReached:
    - dmstor
    linkageType: ''
    returnType: double
    signature: double proj_dmstor(const char *is, char **rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtodms
      Src: /src/PROJ/src/coordinates.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - r
    - pos
    - neg
    argTypes:
    - char*
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: proj_rtodms
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 0
    functionsReached:
    - rtodms
    linkageType: ''
    returnType: char
    signature: char *proj_rtodms(char *s, double r, int pos, int neg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtodms
      Src: /src/PROJ/src/coordinates.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - sizeof_s
    - r
    - pos
    - neg
    argTypes:
    - char*
    - size_t
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: proj_rtodms2
    functionSourceFile: /src/PROJ/src/coordinates.cpp
    functionUses: 2
    functionsReached:
    - rtodms
    linkageType: ''
    returnType: char
    signature: char *proj_rtodms2(char *s, size_t sizeof_s, double r, int pos, int
      neg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/src/initcache.cpp:50,1
    - Dst: strlen
      Src: /src/PROJ/src/initcache.cpp:50,1
    - Dst: assert
      Src: /src/PROJ/src/initcache.cpp:51,1
    - Dst: strcpy
      Src: /src/PROJ/src/initcache.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - paralist*
    assertStmts:
    - condition: (newitem)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/PROJ/src/initcache.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: pj_clone_paralist
    functionSourceFile: /src/PROJ/src/initcache.cpp
    functionUses: 0
    functionsReached:
    - malloc
    - strcpy
    - strlen
    - assert
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_clone_paralist(const paralist *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_acquire_lock
      Src: /src/PROJ/src/initcache.cpp:78,1
    - Dst: free
      Src: /src/PROJ/src/initcache.cpp:83,1
    - Dst: free
      Src: /src/PROJ/src/initcache.cpp:88,1
    - Dst: free
      Src: /src/PROJ/src/initcache.cpp:92,1
    - Dst: free
      Src: /src/PROJ/src/initcache.cpp:93,1
    - Dst: pj_release_lock
      Src: /src/PROJ/src/initcache.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 101
    functionName: pj_clear_initcache
    functionSourceFile: /src/PROJ/src/initcache.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_release_lock
    - pj_acquire_lock
    linkageType: ''
    returnType: void
    signature: void pj_clear_initcache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_acquire_lock
      Src: /src/PROJ/src/initcache.cpp:115,1
    - Dst: strcmp
      Src: /src/PROJ/src/initcache.cpp:118,1
    - Dst: pj_clone_paralist
      Src: /src/PROJ/src/initcache.cpp:119,1
    - Dst: pj_release_lock
      Src: /src/PROJ/src/initcache.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - filekey
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: pj_search_initcache
    functionSourceFile: /src/PROJ/src/initcache.cpp
    functionUses: 0
    functionsReached:
    - pj_clone_paralist
    - pj_release_lock
    - pj_acquire_lock
    - strcmp
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_search_initcache(const char *filekey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_acquire_lock
      Src: /src/PROJ/src/initcache.cpp:137,1
    - Dst: malloc
      Src: /src/PROJ/src/initcache.cpp:148,1
    - Dst: assert
      Src: /src/PROJ/src/initcache.cpp:149,1
    - Dst: memcpy
      Src: /src/PROJ/src/initcache.cpp:151,1
    - Dst: free
      Src: /src/PROJ/src/initcache.cpp:153,1
    - Dst: malloc
      Src: /src/PROJ/src/initcache.cpp:157,1
    - Dst: assert
      Src: /src/PROJ/src/initcache.cpp:158,1
    - Dst: memcpy
      Src: /src/PROJ/src/initcache.cpp:160,1
    - Dst: free
      Src: /src/PROJ/src/initcache.cpp:163,1
    - Dst: malloc
      Src: /src/PROJ/src/initcache.cpp:170,1
    - Dst: strlen
      Src: /src/PROJ/src/initcache.cpp:170,1
    - Dst: assert
      Src: /src/PROJ/src/initcache.cpp:171,1
    - Dst: strcpy
      Src: /src/PROJ/src/initcache.cpp:172,1
    - Dst: pj_clone_paralist
      Src: /src/PROJ/src/initcache.cpp:174,1
    - Dst: pj_release_lock
      Src: /src/PROJ/src/initcache.cpp:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - filekey
    - list
    argTypes:
    - char*
    - paralist*
    assertStmts:
    - condition: (cache_key_new)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/PROJ/src/initcache.cpp
    - condition: (cache_paralist_new)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/PROJ/src/initcache.cpp
    - condition: (cache_key[cache_count])
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/PROJ/src/initcache.cpp
    constantsTouched: []
    func_position:
      end: 179
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 179
    functionName: pj_insert_initcache
    functionSourceFile: /src/PROJ/src/initcache.cpp
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - memcpy
    - pj_clone_paralist
    - pj_release_lock
    - pj_acquire_lock
    - assert
    - strlen
    - malloc
    linkageType: ''
    returnType: void
    signature: void pj_insert_initcache(const char *filekey, const paralist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/tsfn.cpp:23,1
    - Dst: exp
      Src: /src/PROJ/src/tsfn.cpp:27,1
    - Dst: atanh
      Src: /src/PROJ/src/tsfn.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - phi
    - sinphi
    - e
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 29
    functionName: pj_tsfn
    functionSourceFile: /src/PROJ/src/tsfn.cpp
    functionUses: 0
    functionsReached:
    - atanh
    - cos
    - exp
    linkageType: ''
    returnType: double
    signature: double pj_tsfn(double phi, double sinphi, double e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: pj_sqlite3_vfs
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START pj_sqlite3_vfs
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: SQLite3VFS::SQLite3VFS
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLite3VFS(const SQLite3VFS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '&operator=(const SQLite3VFS &)'
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SQLite3VFS
    signature: SQLite3VFS &operator=(const SQLite3VFS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: SQLite3VFS::raw
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sqlite3_vfs
    signature: sqlite3_vfs *raw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: SQLiteStatement::SQLiteStatement
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteStatement(const SQLiteStatement &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '&operator=(const SQLiteStatement &)'
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SQLiteStatement
    signature: SQLiteStatement &operator=(const SQLiteStatement &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/sqlite3_utils.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~SQLiteStatement()
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    linkageType: ''
    returnType: void
    signature: void ~SQLiteStatement()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_step
      Src: /src/PROJ/src/sqlite3_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: SQLiteStatement::execute
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_null
      Src: /src/PROJ/src/sqlite3_utils.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: SQLiteStatement::bindNull
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_bind_null
    linkageType: ''
    returnType: void
    signature: void bindNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_text
      Src: /src/PROJ/src/sqlite3_utils.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: SQLiteStatement::bindText
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    linkageType: ''
    returnType: void
    signature: void bindText(const char *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_int64
      Src: /src/PROJ/src/sqlite3_utils.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: SQLiteStatement::bindInt64
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_bind_int64
    linkageType: ''
    returnType: void
    signature: void bindInt64(sqlite3_int64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_blob
      Src: /src/PROJ/src/sqlite3_utils.hpp:109,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/sqlite3_utils.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - blob
    - blob_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: SQLiteStatement::bindBlob
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sqlite3_bind_blob
    linkageType: ''
    returnType: void
    signature: void bindBlob(const void *blob, size_t blob_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_column_text
      Src: /src/PROJ/src/sqlite3_utils.hpp:115,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/src/sqlite3_utils.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: SQLiteStatement::getText
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_column_text
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: char *getText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_column_int64
      Src: /src/PROJ/src/sqlite3_utils.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: SQLiteStatement::getInt64
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_column_int64
    linkageType: ''
    returnType: sqlite3_int64
    signature: sqlite3_int64 getInt64()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/sqlite3_utils.hpp:127,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/sqlite3_utils.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: SQLiteStatement::getBlob
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_column_blob
    - sqlite3_column_bytes
    linkageType: ''
    returnType: void
    signature: void *getBlob(int &size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_reset
      Src: /src/PROJ/src/sqlite3_utils.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: SQLiteStatement::reset
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached:
    - sqlite3_reset
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: SQLiteStatement::resetResIndex
    functionSourceFile: /src/PROJ/src/sqlite3_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetResIndex()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:51,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: pj_get_ctx
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: PJ_CONTEXT
    signature: PJ_CONTEXT *pj_get_ctx(PJ *pj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PJ*::reassign_context
      Src: /src/PROJ/src/ctx.cpp:73,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/ctx.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pj
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: proj_assign_context
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 6
    functionsReached:
    - proj_assign_context
    - PJ*::reassign_context
    linkageType: ''
    returnType: void
    signature: void proj_assign_context(PJ *pj, PJ_CONTEXT *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pj_ctx::pj_ctx
      Src: /src/PROJ/src/ctx.cpp:85,1
    - Dst: FileManager::fillDefaultNetworkInterface
      Src: /src/PROJ/src/ctx.cpp:88,1
    - Dst: getenv
      Src: /src/PROJ/src/ctx.cpp:90,1
    - Dst: ci_equal
      Src: /src/PROJ/src/ctx.cpp:92,1
    - Dst: ci_equal
      Src: /src/PROJ/src/ctx.cpp:94,1
    - Dst: atoi
      Src: /src/PROJ/src/ctx.cpp:98,1
    - Dst: fprintf
      Src: /src/PROJ/src/ctx.cpp:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: pj_ctx::createDefault
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - FileManager::fillDefaultNetworkInterface
    - pj_ctx::pj_ctx
    - ci_equal
    - atoi
    - fprintf
    linkageType: ''
    returnType: pj_ctx
    signature: pj_ctx pj_ctx::createDefault()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: projCppContext::projCppContext
      Src: /src/PROJ/src/ctx.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: pj_ctx::get_cpp_context
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached:
    - projCppContext::projCppContext
    linkageType: ''
    returnType: projCppContext
    signature: projCppContext *pj_ctx::get_cpp_context()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/ctx.cpp:132,1
    - Dst: empty
      Src: /src/PROJ/src/ctx.cpp:136,1
    - Dst: const::const
      Src: /src/PROJ/src/ctx.cpp:137,1
    - Dst: size
      Src: /src/PROJ/src/ctx.cpp:137,1
    - Dst: size
      Src: /src/PROJ/src/ctx.cpp:138,1
    - Dst: c_str
      Src: /src/PROJ/src/ctx.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - search_paths_in
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: pj_ctx::set_search_paths
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached:
    - size
    - const::const
    - clear
    - empty
    - c_str
    linkageType: ''
    returnType: void
    signature: void pj_ctx::set_search_paths(const std::vector<std::string> &search_paths_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ca_bundle_path_in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: pj_ctx::set_ca_bundle_path
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_ctx::set_ca_bundle_path(const std::string &ca_bundle_path_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/ctx.cpp:157,1
    - Dst: pj_ctx::cpp_context::clone
      Src: /src/PROJ/src/ctx.cpp:164,1
    - Dst: pj_ctx::set_search_paths
      Src: /src/PROJ/src/ctx.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - pj_ctx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: pj_ctx::pj_ctx
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - pj_ctx::cpp_context::clone
    - pj_ctx::set_search_paths
    linkageType: ''
    returnType: void
    signature: void pj_ctx::pj_ctx(const pj_ctx &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: pj_get_default_ctx
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: PJ_CONTEXT
    signature: PJ_CONTEXT *pj_get_default_ctx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_delete_cpp_context
      Src: /src/PROJ/src/ctx.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pj_ctx::~pj_ctx()
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached:
    - proj_context_delete_cpp_context
    linkageType: ''
    returnType: void
    signature: void pj_ctx::~pj_ctx()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/src/ctx.cpp:212,1
    - Dst: pj_ctx::pj_ctx
      Src: /src/PROJ/src/ctx.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: proj_context_clone
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 2
    functionsReached:
    - proj_context_create
    - pj_ctx::pj_ctx
    linkageType: ''
    returnType: PJ_CONTEXT
    signature: PJ_CONTEXT *proj_context_clone(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno
      Src: /src/PROJ/src/ctx.cpp:222,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/ctx.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: proj_errno
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 12
    functionsReached:
    - proj_context_errno
    - pj_get_ctx
    linkageType: ''
    returnType: int
    signature: int proj_errno(const PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: proj_context_errno
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 4
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: int
    signature: int proj_context_errno(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/ctx.cpp:246,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/ctx.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - err
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: proj_errno_set
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 7
    functionsReached:
    - proj_context_errno_set
    - pj_get_ctx
    linkageType: ''
    returnType: int
    signature: int proj_errno_set(const PJ *P, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ctx.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - P
    - err
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: proj_errno_restore
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    linkageType: ''
    returnType: int
    signature: int proj_errno_restore(const PJ *P, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno
      Src: /src/PROJ/src/ctx.cpp:297,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/ctx.cpp:299,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/ctx.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 302
    functionName: proj_errno_reset
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 13
    functionsReached:
    - proj_context_errno_set
    - pj_get_ctx
    - proj_errno
    linkageType: ''
    returnType: int
    signature: int proj_errno_reset(const PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:306,1
    - Dst: pj_ctx::pj_ctx
      Src: /src/PROJ/src/ctx.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: proj_context_create
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 118
    functionsReached:
    - pj_get_default_ctx
    - pj_ctx::pj_ctx
    linkageType: ''
    returnType: PJ_CONTEXT
    signature: PJ_CONTEXT *proj_context_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: proj_context_destroy
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 112
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: PJ_CONTEXT
    signature: PJ_CONTEXT *proj_context_destroy(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - enable
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: proj_context_use_proj4_init_rules
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 6
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: void
    signature: void proj_context_use_proj4_init_rules(PJ_CONTEXT *ctx, int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _stricmp
      Src: /src/PROJ/src/ctx.cpp:339,1
    - Dst: strcasecmp
      Src: /src/PROJ/src/ctx.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: EQUAL
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 0
    functionsReached:
    - strcasecmp
    - _stricmp
    linkageType: ''
    returnType: int
    signature: int EQUAL(const char *a, const char *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/ctx.cpp:351,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/ctx.cpp:354,1
    - Dst: EQUAL
      Src: /src/PROJ/src/ctx.cpp:358,1
    - Dst: EQUAL
      Src: /src/PROJ/src/ctx.cpp:358,1
    - Dst: EQUAL
      Src: /src/PROJ/src/ctx.cpp:358,1
    - Dst: EQUAL
      Src: /src/PROJ/src/ctx.cpp:361,1
    - Dst: EQUAL
      Src: /src/PROJ/src/ctx.cpp:361,1
    - Dst: EQUAL
      Src: /src/PROJ/src/ctx.cpp:361,1
    - Dst: pj_log
      Src: /src/PROJ/src/ctx.cpp:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - from_legacy_code_path
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 372
    functionName: proj_context_get_use_proj4_init_rules
    functionSourceFile: /src/PROJ/src/ctx.cpp
    functionUses: 6
    functionsReached:
    - EQUAL
    - getenv
    - pj_log
    - pj_get_default_ctx
    linkageType: ''
    returnType: int
    signature: "int proj_context_get_use_proj4_init_rules(PJ_CONTEXT *ctx,\n                                          int
      from_legacy_code_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: skip_prep_fin
    functionSourceFile: /src/PROJ/src/create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *skip_prep_fin(PJ *P)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pj_param_exists
      Src: /src/PROJ/src/create.cpp:65,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/create.cpp:69,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/create.cpp:72,1
    - Dst: strcmp
      Src: /src/PROJ/src/create.cpp:75,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:76,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/create.cpp:77,1
    - Dst: malloc
      Src: /src/PROJ/src/create.cpp:77,1
    - Dst: snprintf
      Src: /src/PROJ/src/create.cpp:80,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/create.cpp:82,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:83,1
    - Dst: skip_prep_fin
      Src: /src/PROJ/src/create.cpp:86,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/create.cpp:90,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:92,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:92,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:93,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:94,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/create.cpp:95,1
    - Dst: malloc
      Src: /src/PROJ/src/create.cpp:95,1
    - Dst: snprintf
      Src: /src/PROJ/src/create.cpp:98,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/create.cpp:100,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/create.cpp:101,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:102,1
    - Dst: skip_prep_fin
      Src: /src/PROJ/src/create.cpp:105,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/create.cpp:109,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:111,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:111,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:112,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:113,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/create.cpp:114,1
    - Dst: malloc
      Src: /src/PROJ/src/create.cpp:114,1
    - Dst: snprintf
      Src: /src/PROJ/src/create.cpp:117,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/create.cpp:119,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/create.cpp:120,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:121,1
    - Dst: skip_prep_fin
      Src: /src/PROJ/src/create.cpp:124,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/create.cpp:128,1
    - Dst: fabs
      Src: /src/PROJ/src/create.cpp:139,1
    - Dst: fabs
      Src: /src/PROJ/src/create.cpp:140,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:146,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/create.cpp:152,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/create.cpp:156,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/create.cpp:156,1
    - Dst: pj_inherit_ellipsoid_def
      Src: /src/PROJ/src/create.cpp:159,1
    - Dst: skip_prep_fin
      Src: /src/PROJ/src/create.cpp:160,1
    - Dst: snprintf
      Src: /src/PROJ/src/create.cpp:170,1
    - Dst: strchr
      Src: /src/PROJ/src/create.cpp:182,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/create.cpp:187,1
    - Dst: skip_prep_fin
      Src: /src/PROJ/src/create.cpp:190,1
    - Dst: snprintf
      Src: /src/PROJ/src/create.cpp:193,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/create.cpp:195,1
    - Dst: skip_prep_fin
      Src: /src/PROJ/src/create.cpp:198,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 78
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 203
    functionName: cs2cs_emulation_setup
    functionSourceFile: /src/PROJ/src/create.cpp
    functionUses: 0
    functionsReached:
    - pj_inherit_ellipsoid_def
    - free
    - std::string::reserve
    - std::string::c_str
    - fabs
    - strcmp
    - strchr
    - snprintf
    - pj_param_exists
    - pj_create_internal
    - pj_double_quote_string_param_if_needed
    - skip_prep_fin
    - strlen
    - malloc
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int cs2cs_emulation_setup(PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/create.cpp:223,1
    - Dst: strlen
      Src: /src/PROJ/src/create.cpp:226,1
    - Dst: malloc
      Src: /src/PROJ/src/create.cpp:227,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/create.cpp:229,1
    - Dst: strcpy
      Src: /src/PROJ/src/create.cpp:232,1
    - Dst: pj_trim_argc
      Src: /src/PROJ/src/create.cpp:234,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:236,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/create.cpp:237,1
    - Dst: pj_trim_argv
      Src: /src/PROJ/src/create.cpp:241,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:243,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/create.cpp:244,1
    - Dst: pj_create_argv_internal
      Src: /src/PROJ/src/create.cpp:248,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:250,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - definition
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 254
    functionName: pj_create_internal
    functionSourceFile: /src/PROJ/src/create.cpp
    functionUses: 1
    functionsReached:
    - pj_get_default_ctx
    - free
    - pj_create_argv_internal
    - strcpy
    - pj_trim_argc
    - proj_context_errno_set
    - pj_trim_argv
    - strlen
    - malloc
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_create_internal(PJ_CONTEXT *ctx, const char *definition)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/create.cpp:267,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/create.cpp:269,1
    - Dst: pj_make_args
      Src: /src/PROJ/src/create.cpp:275,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/create.cpp:277,1
    - Dst: proj_create
      Src: /src/PROJ/src/create.cpp:281,1
    - Dst: free
      Src: /src/PROJ/src/create.cpp:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - PJ_CONTEXT*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: proj_create_argv
    functionSourceFile: /src/PROJ/src/create.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - pj_make_args
    - free
    - proj_create
    - proj_context_errno_set
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_create_argv(PJ_CONTEXT *ctx, int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/create.cpp:293,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/create.cpp:295,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/src/create.cpp:302,1
    - Dst: pj_init_ctx_with_allow_init_epsg
      Src: /src/PROJ/src/create.cpp:303,1
    - Dst: cs2cs_emulation_setup
      Src: /src/PROJ/src/create.cpp:306,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/create.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - PJ_CONTEXT*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: pj_create_argv_internal
    functionSourceFile: /src/PROJ/src/create.cpp
    functionUses: 1
    functionsReached:
    - pj_get_default_ctx
    - proj_destroy
    - proj_context_errno_set
    - cs2cs_emulation_setup
    - pj_init_ctx_with_allow_init_epsg
    - proj_context_get_use_proj4_init_rules
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_create_argv_internal(PJ_CONTEXT *ctx, int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PROJ/src/wkt_parser.cpp:41,1
    - Dst: std::max
      Src: /src/PROJ/src/wkt_parser.cpp:42,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/wkt_parser.cpp:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - pj_wkt_parse_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: pj_wkt_error
    functionSourceFile: /src/PROJ/src/wkt_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::max
    - std::string::clear
    linkageType: ''
    returnType: void
    signature: void pj_wkt_error(pj_wkt_parse_context *context, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/malloc.cpp:65,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/malloc.cpp:66,1
    - Dst: malloc
      Src: /src/PROJ/src/malloc.cpp:66,1
    - Dst: memcpy
      Src: /src/PROJ/src/malloc.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: pj_strdup
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 1
    functionsReached:
    - malloc
    - static_cast<char *>
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *pj_strdup(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:84,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/malloc.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - start
    - errlev
    argTypes:
    - PJ_CONTEXT*
    - paralist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: free_params
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - free
    linkageType: ''
    returnType: void
    signature: void *free_params(PJ_CONTEXT *ctx, paralist *start, int errlev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PJ*::destructor
      Src: /src/PROJ/src/malloc.cpp:108,1
    - Dst: proj_errno
      Src: /src/PROJ/src/malloc.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: proj_destroy
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 136
    functionsReached:
    - PJ*::destructor
    - proj_errno
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_destroy(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: PJconsts::PJconsts
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJconsts::PJconsts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - PJconsts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: PJconsts::copyStateFrom
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJconsts::copyStateFrom(const PJconsts &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ::PJ
      Src: /src/PROJ/src/malloc.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pj_new
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 0
    functionsReached:
    - PJ::PJ
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_new()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/malloc.cpp:148,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/malloc.cpp:148,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:153,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:154,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:155,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:156,1
    - Dst: static_cast<ListOfHGrids *>
      Src: /src/PROJ/src/malloc.cpp:158,1
    - Dst: static_cast<ListOfVGrids *>
      Src: /src/PROJ/src/malloc.cpp:159,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:168,1
    - Dst: free_params
      Src: /src/PROJ/src/malloc.cpp:171,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/malloc.cpp:171,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:172,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:175,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:176,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:177,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:178,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:179,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:180,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/malloc.cpp:182,1
    - Dst: free
      Src: /src/PROJ/src/malloc.cpp:184,1
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/malloc.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 187
    functionName: pj_default_destructor
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 1
    functionsReached:
    - free
    - free_params
    - static_cast<struct pj_opaque *>
    - pj_get_ctx
    - proj_destroy
    - proj_context_errno_set
    - static_cast<ListOfHGrids *>
    - static_cast<ListOfVGrids *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_default_destructor(PJ *P, int errlev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/malloc.cpp:194,1
    - Dst: auto::closeDb
      Src: /src/PROJ/src/malloc.cpp:198,1
    - Dst: pj_clear_initcache
      Src: /src/PROJ/src/malloc.cpp:201,1
    - Dst: FileManager::clearMemoryCache
      Src: /src/PROJ/src/malloc.cpp:202,1
    - Dst: pj_clear_hgridshift_knowngrids_cache
      Src: /src/PROJ/src/malloc.cpp:203,1
    - Dst: pj_clear_vgridshift_knowngrids_cache
      Src: /src/PROJ/src/malloc.cpp:204,1
    - Dst: pj_clear_gridshift_knowngrids_cache
      Src: /src/PROJ/src/malloc.cpp:205,1
    - Dst: pj_clear_sqlite_cache
      Src: /src/PROJ/src/malloc.cpp:206,1
    - Dst: pj_clear_proj_info
      Src: /src/PROJ/src/malloc.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: proj_cleanup
    functionSourceFile: /src/PROJ/src/malloc.cpp
    functionUses: 21
    functionsReached:
    - pj_get_default_ctx
    - pj_clear_initcache
    - pj_clear_hgridshift_knowngrids_cache
    - pj_clear_gridshift_knowngrids_cache
    - auto::closeDb
    - pj_clear_sqlite_cache
    - FileManager::clearMemoryCache
    - pj_clear_proj_info
    - pj_clear_vgridshift_knowngrids_cache
    linkageType: ''
    returnType: void
    signature: void proj_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_string
      Src: /src/PROJ/src/strerrno.cpp:12,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/strerrno.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: proj_errno_string
    functionSourceFile: /src/PROJ/src/strerrno.cpp
    functionUses: 4
    functionsReached:
    - pj_get_default_ctx
    - proj_context_errno_string
    linkageType: ''
    returnType: char
    signature: char *proj_errno_string(int err)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/strerrno.cpp:49,1
    - Dst: _
      Src: /src/PROJ/src/strerrno.cpp:63,1
    - Dst: _
      Src: /src/PROJ/src/strerrno.cpp:67,1
    - Dst: PJ_CONTEXT*::lastFullErrorMessage::resize
      Src: /src/PROJ/src/strerrno.cpp:73,1
    - Dst: snprintf
      Src: /src/PROJ/src/strerrno.cpp:74,1
    - Dst: PJ_CONTEXT*::lastFullErrorMessage::size
      Src: /src/PROJ/src/strerrno.cpp:75,1
    - Dst: _
      Src: /src/PROJ/src/strerrno.cpp:75,1
    - Dst: PJ_CONTEXT*::lastFullErrorMessage::resize
      Src: /src/PROJ/src/strerrno.cpp:77,1
    - Dst: strlen
      Src: /src/PROJ/src/strerrno.cpp:78,1
    - Dst: PJ_CONTEXT*::lastFullErrorMessage::data
      Src: /src/PROJ/src/strerrno.cpp:78,1
    - Dst: PJ_CONTEXT*::lastFullErrorMessage::c_str
      Src: /src/PROJ/src/strerrno.cpp:80,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 81
    functionName: proj_context_errno_string
    functionSourceFile: /src/PROJ/src/strerrno.cpp
    functionUses: 3
    functionsReached:
    - pj_get_default_ctx
    - PJ_CONTEXT*::lastFullErrorMessage::c_str
    - PJ_CONTEXT*::lastFullErrorMessage::data
    - snprintf
    - strlen
    - _
    - PJ_CONTEXT*::lastFullErrorMessage::size
    - PJ_CONTEXT*::lastFullErrorMessage::resize
    linkageType: ''
    returnType: char
    signature: char *proj_context_errno_string(PJ_CONTEXT *ctx, int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/src/rtodms.cpp:30,1
    - Dst: snprintf
      Src: /src/PROJ/src/rtodms.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - fract
    - con_w
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: set_rtodms
    functionSourceFile: /src/PROJ/src/rtodms.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void set_rtodms(int fract, int con_w)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/PROJ/src/rtodms.cpp:58,1
    - Dst: fmod
      Src: /src/PROJ/src/rtodms.cpp:59,1
    - Dst: floor
      Src: /src/PROJ/src/rtodms.cpp:60,1
    - Dst: fmod
      Src: /src/PROJ/src/rtodms.cpp:61,1
    - Dst: floor
      Src: /src/PROJ/src/rtodms.cpp:62,1
    - Dst: snprintf
      Src: /src/PROJ/src/rtodms.cpp:66,1
    - Dst: snprintf
      Src: /src/PROJ/src/rtodms.cpp:72,1
    - Dst: strlen
      Src: /src/PROJ/src/rtodms.cpp:80,1
    - Dst: strlen
      Src: /src/PROJ/src/rtodms.cpp:82,1
    - Dst: memmove
      Src: /src/PROJ/src/rtodms.cpp:87,1
    - Dst: snprintf
      Src: /src/PROJ/src/rtodms.cpp:89,1
    - Dst: snprintf
      Src: /src/PROJ/src/rtodms.cpp:91,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - s
    - sizeof_s
    - r
    - pos
    - neg
    argTypes:
    - char*
    - size_t
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 93
    functionName: rtodms
    functionSourceFile: /src/PROJ/src/rtodms.cpp
    functionUses: 2
    functionsReached:
    - fmod
    - snprintf
    - memmove
    - strlen
    - floor
    linkageType: ''
    returnType: char
    signature: char *rtodms(char *s, size_t sizeof_s, double r, int pos, int neg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: GEODESIC_VERSION_NUM
    functionSourceFile: /src/PROJ/src/geodesic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEODESIC_VERSION_NUM(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/src/coord_operation.cpp:43,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/coord_operation.cpp:44,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/coord_operation.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: PJCoordOperation::~PJCoordOperation()
    functionSourceFile: /src/PROJ/src/coord_operation.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void PJCoordOperation::~PJCoordOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/src/coord_operation.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: PJCoordOperation::isInstantiable
    functionSourceFile: /src/PROJ/src/coord_operation.cpp
    functionUses: 0
    functionsReached:
    - proj_coordoperation_is_instantiable
    linkageType: ''
    returnType: bool
    signature: bool PJCoordOperation::isInstantiable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/coord_operation.cpp:59,1
    - Dst: std::string::find
      Src: /src/PROJ/src/coord_operation.cpp:60,1
    - Dst: std::string::find
      Src: /src/PROJ/src/coord_operation.cpp:61,1
    - Dst: std::string::find
      Src: /src/PROJ/src/coord_operation.cpp:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - opName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: isSpecialCaseForNAD83_to_NAD83HARN
    functionSourceFile: /src/PROJ/src/coord_operation.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    linkageType: ''
    returnType: bool
    signature: bool isSpecialCaseForNAD83_to_NAD83HARN(const std::string &opName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/coord_operation.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: isSpecialCaseForGDA94_to_WGS84
    functionSourceFile: /src/PROJ/src/coord_operation.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    linkageType: ''
    returnType: bool
    signature: bool isSpecialCaseForGDA94_to_WGS84(const std::string &opName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/coord_operation.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: isSpecialCaseForWGS84_to_GDA2020
    functionSourceFile: /src/PROJ/src/coord_operation.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    linkageType: ''
    returnType: bool
    signature: bool isSpecialCaseForWGS84_to_GDA2020(const std::string &opName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/src/coord_operation.cpp:88,1
    - Dst: empty
      Src: /src/PROJ/src/coord_operation.cpp:89,1
    - Dst: isSpecialCaseForNAD83_to_NAD83HARN
      Src: /src/PROJ/src/coord_operation.cpp:90,1
    - Dst: isSpecialCaseForGDA94_to_WGS84
      Src: /src/PROJ/src/coord_operation.cpp:91,1
    - Dst: isSpecialCaseForWGS84_to_GDA2020
      Src: /src/PROJ/src/coord_operation.cpp:92,1
    - Dst: proj_clone
      Src: /src/PROJ/src/coord_operation.cpp:94,1
    - Dst: proj_clone
      Src: /src/PROJ/src/coord_operation.cpp:98,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/coord_operation.cpp:103,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/coord_operation.cpp:106,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/coord_operation.cpp:110,1
    - Dst: ci_equal
      Src: /src/PROJ/src/coord_operation.cpp:113,1
    - Dst: fabs
      Src: /src/PROJ/src/coord_operation.cpp:114,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/coord_operation.cpp:115,1
    - Dst: ci_equal
      Src: /src/PROJ/src/coord_operation.cpp:118,1
    - Dst: fabs
      Src: /src/PROJ/src/coord_operation.cpp:119,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/coord_operation.cpp:121,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/coord_operation.cpp:125,1
    - Dst: IsLonLatOrLatLon
      Src: /src/PROJ/src/coord_operation.cpp:127,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/coord_operation.cpp:128,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/src/coord_operation.cpp:131,1
    - Dst: IsLonLatOrLatLon
      Src: /src/PROJ/src/coord_operation.cpp:133,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/coord_operation.cpp:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 16
    argNames:
    - idxInOriginalListIn
    - minxSrcIn
    - minySrcIn
    - maxxSrcIn
    - maxySrcIn
    - minxDstIn
    - minyDstIn
    - maxxDstIn
    - maxyDstIn
    - pjIn
    - nameIn
    - accuracyIn
    - pseudoAreaIn
    - areaNameIn
    - pjSrcGeocentricToLonLatIn
    - pjDstGeocentricToLonLatIn
    argTypes:
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - PJ*
    - std::string
    - double
    - double
    - char*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 136
    functionName: PJCoordOperation::PJCoordOperation
    functionSourceFile: /src/PROJ/src/coord_operation.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_info
    - fabs
    - isSpecialCaseForWGS84_to_GDA2020
    - isSpecialCaseForGDA94_to_WGS84
    - IsLonLatOrLatLon
    - proj_clone
    - proj_destroy
    - isSpecialCaseForNAD83_to_NAD83HARN
    - empty
    - ci_equal
    - proj_crs_get_coordinate_system
    - find
    - proj_get_target_crs
    - proj_get_source_crs
    - proj_get_type
    linkageType: ''
    returnType: void
    signature: "void PJCoordOperation::PJCoordOperation(\n    int idxInOriginalListIn,
      double minxSrcIn, double minySrcIn,\n    double maxxSrcIn, double maxySrcIn,
      double minxDstIn, double minyDstIn,\n    double maxxDstIn, double maxyDstIn,
      PJ *pjIn, const std::string &nameIn,\n    double accuracyIn, double pseudoAreaIn,
      const char *areaNameIn,\n    const PJ *pjSrcGeocentricToLonLatIn, const PJ *pjDstGeocentricToLonLatIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: CPLAssert
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPLAssert(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:52,1
    - Dst: va_start
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:54,1
    - Dst: sqlite3_vsnprintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:55,1
    - Dst: va_end
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:56,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:57,1
    - Dst: strlen
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: CPLSPrintf
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - va_end
    - sqlite3_vsnprintf
    - std::string::resize
    - va_start
    - strlen
    linkageType: ''
    returnType: std::string
    signature: std::string CPLSPrintf(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:68,1
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:69,1
    - Dst: empty
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: CPLJSonStreamingWriter::~CPLJSonStreamingWriter()
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - empty
    - CPLAssert
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START CPLJSonStreamingWriter::~CPLJSonStreamingWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_pfnSerializationFunc
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:74,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: CPLJSonStreamingWriter::Print
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - m_pfnSerializationFunc
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Print(const std::string &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:81,1
    - Dst: clear
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:82,1
    - Dst: resize
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nSpaces
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: CPLJSonStreamingWriter::SetIndentationSize
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - clear
    - CPLAssert
    - resize
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::SetIndentationSize(int nSpaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: CPLJSonStreamingWriter::IncIndent
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::IncIndent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:93,1
    - Dst: resize
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:96,1
    - Dst: size
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:96,1
    - Dst: size
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: CPLJSonStreamingWriter::DecIndent
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - size
    - CPLAssert
    - resize
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::DecIndent()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:126,1
    - Dst: CPLSPrintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: CPLJSonStreamingWriter::FormatString
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLSPrintf
    - static_cast<unsigned char>
    linkageType: ''
    returnType: std::string
    signature: std::string CPLJSonStreamingWriter::FormatString(const std::string
      &str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:140,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:141,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:142,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:144,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:147,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:148,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: CPLJSonStreamingWriter::EmitCommaIfNeeded
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - back
    - empty
    - CPLJSonStreamingWriter::Print
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::EmitCommaIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:155,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:156,1
    - Dst: CPLJSonStreamingWriter::IncIndent
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:157,1
    - Dst: emplace_back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:158,1
    - Dst: State
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: CPLJSonStreamingWriter::StartObj
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::IncIndent
    - CPLJSonStreamingWriter::Print
    - State
    - emplace_back
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::StartObj()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:162,1
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:163,1
    - Dst: empty
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:163,1
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:164,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:164,1
    - Dst: CPLJSonStreamingWriter::DecIndent
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:165,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:166,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:168,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:169,1
    - Dst: pop_back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:172,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: CPLJSonStreamingWriter::EndObj
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::DecIndent
    - back
    - empty
    - CPLJSonStreamingWriter::Print
    - pop_back
    - CPLAssert
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::EndObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:177,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:178,1
    - Dst: CPLJSonStreamingWriter::IncIndent
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:179,1
    - Dst: emplace_back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:180,1
    - Dst: State
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: CPLJSonStreamingWriter::StartArray
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::IncIndent
    - CPLJSonStreamingWriter::Print
    - State
    - emplace_back
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::StartArray()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:184,1
    - Dst: empty
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:184,1
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:185,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:185,1
    - Dst: CPLJSonStreamingWriter::DecIndent
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:186,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:187,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:189,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:190,1
    - Dst: pop_back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:193,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: CPLJSonStreamingWriter::EndArray
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::DecIndent
    - back
    - empty
    - CPLJSonStreamingWriter::Print
    - pop_back
    - CPLAssert
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::EndArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:198,1
    - Dst: empty
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:198,1
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:199,1
    - Dst: back
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:199,1
    - Dst: CPLAssert
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:200,1
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:201,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:202,1
    - Dst: CPLJSonStreamingWriter::FormatString
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:202,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: CPLJSonStreamingWriter::AddObjKey
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - back
    - CPLJSonStreamingWriter::FormatString
    - empty
    - CPLJSonStreamingWriter::Print
    - CPLAssert
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::AddObjKey(const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:208,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bVal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(bool bVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:213,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:214,1
    - Dst: CPLJSonStreamingWriter::FormatString
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::FormatString
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:218,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:219,1
    - Dst: CPLJSonStreamingWriter::FormatString
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pszStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::FormatString
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(const char *pszStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:223,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pszStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: CPLJSonStreamingWriter::AddUnquoted
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::AddUnquoted(const char *pszStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:228,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:229,1
    - Dst: CPLSPrintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nVal
    argTypes:
    - GIntBig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLSPrintf
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(GIntBig nVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:233,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:234,1
    - Dst: CPLSPrintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:234,1
    - Dst: static_cast<GUIntBig>
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nVal
    argTypes:
    - GUInt64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLSPrintf
    - static_cast<GUIntBig>
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(GUInt64 nVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:238,1
    - Dst: CPLIsNan
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:239,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:240,1
    - Dst: CPLIsInf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:241,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:242,1
    - Dst: snprintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:245,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:246,1
    - Dst: CPLSPrintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fVal
    - nPrecision
    argTypes:
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLIsNan
    - snprintf
    - CPLSPrintf
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    - CPLIsInf
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(float fVal, int nPrecision)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:251,1
    - Dst: CPLIsNan
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:252,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:253,1
    - Dst: CPLIsInf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:254,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:255,1
    - Dst: simple_min
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:256,1
    - Dst: simple_max
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:257,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:258,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:261,1
    - Dst: CPLSPrintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:261,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:261,1
    - Dst: snprintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:264,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:265,1
    - Dst: CPLSPrintf
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - dfVal
    - nPrecision
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: CPLJSonStreamingWriter::Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLIsNan
    - static_cast<int>
    - snprintf
    - CPLSPrintf
    - CPLJSonStreamingWriter::Print
    - simple_max
    - simple_min
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    - CPLIsInf
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::Add(double dfVal, int nPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::EmitCommaIfNeeded
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:270,1
    - Dst: CPLJSonStreamingWriter::Print
      Src: /src/PROJ/src/proj_json_streaming_writer.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: CPLJSonStreamingWriter::AddNull
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.cpp
    functionUses: 0
    functionsReached:
    - CPLJSonStreamingWriter::Print
    - CPLJSonStreamingWriter::EmitCommaIfNeeded
    linkageType: ''
    returnType: void
    signature: void CPLJSonStreamingWriter::AddNull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/src/mlfn.cpp:15,1
    - Dst: pj_rectifying_radius
      Src: /src/PROJ/src/mlfn.cpp:18,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/mlfn.cpp:19,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/mlfn.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 22
    functionName: pj_enfn
    functionSourceFile: /src/PROJ/src/mlfn.cpp
    functionUses: 0
    functionsReached:
    - malloc
    - pj_rectifying_radius
    - pj_auxlat_coeffs
    linkageType: ''
    returnType: double
    signature: double *pj_enfn(double n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/mlfn.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - phi
    - sphi
    - cphi
    - en
    argTypes:
    - double
    - double
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: pj_mlfn
    functionSourceFile: /src/PROJ/src/mlfn.cpp
    functionUses: 0
    functionsReached:
    - pj_auxlat_convert
    linkageType: ''
    returnType: double
    signature: double pj_mlfn(double phi, double sphi, double cphi, const double *en)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/mlfn.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mu
    - en
    argTypes:
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: pj_inv_mlfn
    functionSourceFile: /src/PROJ/src/mlfn.cpp
    functionUses: 0
    functionsReached:
    - pj_auxlat_convert
    linkageType: ''
    returnType: double
    signature: double pj_inv_mlfn(double mu, const double *en)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: ExtentAndRes
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START ExtentAndRes
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: Grid
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL Grid
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: width
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: height
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: extentAndRes
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &extentAndRes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: name
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: isNullGrid
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST isNullGrid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: VerticalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL VerticalShiftGrid
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalShiftGridSet
      Src: /src/PROJ/src/grids.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionName: VerticalShiftGridSet
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 2
    functionsReached:
    - VerticalShiftGridSet
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL VerticalShiftGridSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: name
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: format
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: std::grids
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: "PROJ_FOR_TEST std::vector<std::unique_ptr<VerticalShiftGrid>> &\n
      \   grids() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 160
    functionName: HorizontalShiftGrid
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL HorizontalShiftGrid
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HorizontalShiftGridSet
      Src: /src/PROJ/src/grids.hpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 189
    functionName: HorizontalShiftGridSet
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 2
    functionsReached:
    - HorizontalShiftGridSet
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL HorizontalShiftGridSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: name
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: format
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: std::grids
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: "PROJ_FOR_TEST std::vector<std::unique_ptr<HorizontalShiftGrid>> &\n
      \   grids() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: GenericShiftGrid
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL GenericShiftGrid
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet
      Src: /src/PROJ/src/grids.hpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 253
    functionName: GenericShiftGridSet
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 2
    functionsReached:
    - GenericShiftGridSet
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL GenericShiftGridSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: name
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: format
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: PROJ_FOR_TEST &format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: std::grids
    functionSourceFile: /src/PROJ/src/grids.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_FOR_TEST
    signature: "PROJ_FOR_TEST std::vector<std::unique_ptr<GenericShiftGrid>> &\n    grids()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: STR_HELPER
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_HELPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: STR
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/PROJ/src/networkfilemanager.cpp:108,1
    - Dst: usleep
      Src: /src/PROJ/src/networkfilemanager.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: sleep_ms
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - usleep
    - Sleep
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START sleep_ms(int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - urlIn
    - chunkIdxIn
    argTypes:
    - std::string
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: NetworkChunkCache::Key
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(const std::string &urlIn, unsigned long long chunkIdxIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: operator==(const Key &other) const
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Key &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: operator()(const Key &k) const
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const Key &k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: DiskChunkCache::DiskChunkCache
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiskChunkCache(const DiskChunkCache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: '&operator=(const DiskChunkCache &)'
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DiskChunkCache
    signature: DiskChunkCache &operator=(const DiskChunkCache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: DiskChunkCache::handle
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sqlite3
    signature: sqlite3 *handle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: pj_context_get_grid_cache_is_enabled
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_load_ini
    linkageType: ''
    returnType: bool
    signature: bool pj_context_get_grid_cache_is_enabled(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: pj_context_get_grid_cache_max_size
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_load_ini
    linkageType: ''
    returnType: long long
    signature: long long pj_context_get_grid_cache_max_size(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: pj_context_get_grid_cache_ttl
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_load_ini
    linkageType: ''
    returnType: int
    signature: int pj_context_get_grid_cache_ttl(PJ_CONTEXT *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_context_get_grid_cache_is_enabled
      Src: /src/PROJ/src/networkfilemanager.cpp:256,1
    - Dst: pj_context_get_grid_cache_filename
      Src: /src/PROJ/src/networkfilemanager.cpp:259,1
    - Dst: auto::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:260,1
    - Dst: std::unique_ptr<DiskChunkCache>
      Src: /src/PROJ/src/networkfilemanager.cpp:265,1
    - Dst: DiskChunkCache::DiskChunkCache
      Src: /src/PROJ/src/networkfilemanager.cpp:265,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/networkfilemanager.cpp:266,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: DiskChunkCache::open
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<DiskChunkCache>
    - auto::reset
    - pj_context_get_grid_cache_filename
    - pj_context_get_grid_cache_is_enabled
    - auto::empty
    - DiskChunkCache::DiskChunkCache
    - auto::initialize
    linkageType: ''
    returnType: std::unique_ptr<DiskChunkCache>
    signature: std::unique_ptr<DiskChunkCache> DiskChunkCache::open(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: DiskChunkCache::DiskChunkCache
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiskChunkCache::DiskChunkCache(PJ_CONTEXT *ctx, const std::string
      &path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: custom_sqlite3_vfs_name::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:280,1
    - Dst: SQLite3VFS::create
      Src: /src/PROJ/src/networkfilemanager.cpp:281,1
    - Dst: name
      Src: /src/PROJ/src/networkfilemanager.cpp:285,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/networkfilemanager.cpp:289,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:289,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:291,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:293,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:293,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/networkfilemanager.cpp:300,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:305,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:305,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/networkfilemanager.cpp:306,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:310,1
    - Dst: atoi
      Src: /src/PROJ/src/networkfilemanager.cpp:311,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:313,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:314,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/networkfilemanager.cpp:315,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:319,1
    - Dst: sleep_ms
      Src: /src/PROJ/src/networkfilemanager.cpp:322,1
    - Dst: sqlite3_get_table
      Src: /src/PROJ/src/networkfilemanager.cpp:327,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/networkfilemanager.cpp:330,1
    - Dst: DiskChunkCache::createDBStructure
      Src: /src/PROJ/src/networkfilemanager.cpp:332,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/networkfilemanager.cpp:333,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:339,1
    - Dst: DiskChunkCache::checkConsistency
      Src: /src/PROJ/src/networkfilemanager.cpp:340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 343
    functionName: DiskChunkCache::initialize
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - std::string::c_str
    - sqlite3_get_table
    - sqlite3_errmsg
    - DiskChunkCache::checkConsistency
    - pj_log
    - name
    - sqlite3_close
    - SQLite3VFS::create
    - sqlite3_exec
    - DiskChunkCache::createDBStructure
    - sleep_ms
    - sqlite3_open_v2
    - custom_sqlite3_vfs_name::empty
    - atoi
    - c_str
    - sqlite3_free_table
    linkageType: ''
    returnType: bool
    signature: bool DiskChunkCache::initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:396,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/networkfilemanager.cpp:397,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:399,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: DiskChunkCache::createDBStructure
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - pj_log
    - sqlite3_exec
    - sqlite3_errmsg
    linkageType: ''
    returnType: bool
    signature: bool DiskChunkCache::createDBStructure()
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:412,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:417,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:418,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:422,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:427,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:428,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:432,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:438,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:439,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:443,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:447,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:448,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:451,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:452,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:453,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:454,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:458,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:462,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:463,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:466,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:471,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/networkfilemanager.cpp:476,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:477,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:478,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:479,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:480,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:481,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:484,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:487,1
    - Dst: std::set::find
      Src: /src/PROJ/src/networkfilemanager.cpp:493,1
    - Dst: std::set::end
      Src: /src/PROJ/src/networkfilemanager.cpp:493,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:494,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:495,1
    - Dst: std::set::size
      Src: /src/PROJ/src/networkfilemanager.cpp:500,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:500,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:501,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:506,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:514,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/networkfilemanager.cpp:519,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:520,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:521,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:522,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:523,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:524,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:527,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:530,1
    - Dst: std::set::find
      Src: /src/PROJ/src/networkfilemanager.cpp:536,1
    - Dst: std::set::end
      Src: /src/PROJ/src/networkfilemanager.cpp:536,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:537,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:538,1
    - Dst: std::set::size
      Src: /src/PROJ/src/networkfilemanager.cpp:543,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:543,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:544,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:549,1
    - Dst: fprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:554,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 556
    functionName: DiskChunkCache::checkConsistency
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - std::set::size
    - auto::getInt64
    - std::set::find
    - static_cast<int>
    - DiskChunkCache::prepare
    - static_cast<size_t>
    - auto::reset
    - auto::bindInt64
    - auto::execute
    - std::set::insert
    - fprintf
    - std::set::end
    linkageType: ''
    returnType: bool
    signature: bool DiskChunkCache::checkConsistency()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/networkfilemanager.cpp:562,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:564,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:564,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/networkfilemanager.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: DiskChunkCache::commitAndClose
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - pj_log
    - sqlite3_exec
    - sqlite3_errmsg
    linkageType: ''
    returnType: void
    signature: void DiskChunkCache::commitAndClose()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::commitAndClose
      Src: /src/PROJ/src/networkfilemanager.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: DiskChunkCache::~DiskChunkCache()
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - DiskChunkCache::commitAndClose
    linkageType: ''
    returnType: void
    signature: void DiskChunkCache::~DiskChunkCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::commitAndClose
      Src: /src/PROJ/src/networkfilemanager.cpp:578,1
    - Dst: raw
      Src: /src/PROJ/src/networkfilemanager.cpp:580,1
    - Dst: raw
      Src: /src/PROJ/src/networkfilemanager.cpp:580,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: DiskChunkCache::closeAndUnlink
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - DiskChunkCache::commitAndClose
    - raw
    - c_str
    linkageType: ''
    returnType: void
    signature: void DiskChunkCache::closeAndUnlink()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/src/networkfilemanager.cpp:588,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:590,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:590,1
    - Dst: std::unique_ptr<SQLiteStatement>
      Src: /src/PROJ/src/networkfilemanager.cpp:593,1
    - Dst: SQLiteStatement::SQLiteStatement
      Src: /src/PROJ/src/networkfilemanager.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: DiskChunkCache::prepare
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - sqlite3_errmsg
    - sqlite3_prepare_v2
    - pj_log
    - SQLiteStatement::SQLiteStatement
    - std::unique_ptr<SQLiteStatement>
    linkageType: ''
    returnType: std::unique_ptr<SQLiteStatement>
    signature: std::unique_ptr<SQLiteStatement> DiskChunkCache::prepare(const char
      *sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:602,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:605,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:607,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:609,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:609,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:613,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:614,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:615,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:617,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:619,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:621,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:621,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:625,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - chunk_id
    - link_id
    - prev
    - next
    - head
    - tail
    argTypes:
    - sqlite3_int64
    - sqlite3_int64
    - sqlite3_int64
    - sqlite3_int64
    - sqlite3_int64
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 628
    functionName: DiskChunkCache::get_links
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - auto::getInt64
    - sqlite3_errmsg
    - DiskChunkCache::prepare
    - pj_log
    - auto::bindInt64
    - auto::execute
    linkageType: ''
    returnType: bool
    signature: "bool DiskChunkCache::get_links(sqlite3_int64 chunk_id, sqlite3_int64
      &link_id,\n                               sqlite3_int64 &prev, sqlite3_int64
      &next,\n                               sqlite3_int64 &head, sqlite3_int64 &tail)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:635,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:639,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:641,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:642,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:643,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:645,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:645,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:651,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:655,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:657,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:658,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:659,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:661,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - prev
    - next
    argTypes:
    - sqlite3_int64
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 666
    functionName: DiskChunkCache::update_links_of_prev_and_next_links
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_errmsg
    - DiskChunkCache::prepare
    - pj_log
    - auto::bindNull
    - auto::bindInt64
    - auto::execute
    linkageType: ''
    returnType: bool
    signature: "bool DiskChunkCache::update_links_of_prev_and_next_links(sqlite3_int64
      prev,\n                                                         sqlite3_int64
      next)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:674,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:678,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:680,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:682,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:684,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:685,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:686,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:688,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - link_id
    - prev
    - next
    argTypes:
    - sqlite3_int64
    - sqlite3_int64
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 692
    functionName: DiskChunkCache::update_linked_chunks
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_errmsg
    - DiskChunkCache::prepare
    - pj_log
    - auto::bindNull
    - auto::bindInt64
    - auto::execute
    linkageType: ''
    returnType: bool
    signature: "bool DiskChunkCache::update_linked_chunks(sqlite3_int64 link_id,\n
      \                                         sqlite3_int64 prev,\n                                          sqlite3_int64
      next)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:699,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:703,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:705,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:707,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:709,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:710,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:712,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - head
    - tail
    argTypes:
    - sqlite3_int64
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 716
    functionName: DiskChunkCache::update_linked_chunks_head_tail
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_errmsg
    - DiskChunkCache::prepare
    - pj_log
    - auto::bindNull
    - auto::bindInt64
    - auto::execute
    linkageType: ''
    returnType: bool
    signature: "bool DiskChunkCache::update_linked_chunks_head_tail(sqlite3_int64
      head,\n                                                    sqlite3_int64 tail)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::get_links
      Src: /src/PROJ/src/networkfilemanager.cpp:727,1
    - Dst: DiskChunkCache::update_links_of_prev_and_next_links
      Src: /src/PROJ/src/networkfilemanager.cpp:735,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:740,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:743,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:744,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:745,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:747,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:747,1
    - Dst: DiskChunkCache::update_linked_chunks
      Src: /src/PROJ/src/networkfilemanager.cpp:752,1
    - Dst: DiskChunkCache::update_linked_chunks_head_tail
      Src: /src/PROJ/src/networkfilemanager.cpp:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - chunk_id
    argTypes:
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 755
    functionName: DiskChunkCache::move_to_head
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - DiskChunkCache::get_links
    - sqlite3_errmsg
    - DiskChunkCache::prepare
    - DiskChunkCache::update_linked_chunks_head_tail
    - pj_log
    - DiskChunkCache::update_links_of_prev_and_next_links
    - auto::bindInt64
    - DiskChunkCache::update_linked_chunks
    - auto::execute
    linkageType: ''
    returnType: bool
    signature: bool DiskChunkCache::move_to_head(sqlite3_int64 chunk_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::get_links
      Src: /src/PROJ/src/networkfilemanager.cpp:765,1
    - Dst: DiskChunkCache::update_links_of_prev_and_next_links
      Src: /src/PROJ/src/networkfilemanager.cpp:773,1
    - Dst: DiskChunkCache::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:778,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:781,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:782,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:783,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:785,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:785,1
    - Dst: DiskChunkCache::update_linked_chunks
      Src: /src/PROJ/src/networkfilemanager.cpp:790,1
    - Dst: DiskChunkCache::update_linked_chunks_head_tail
      Src: /src/PROJ/src/networkfilemanager.cpp:791,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - chunk_id
    argTypes:
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 793
    functionName: DiskChunkCache::move_to_tail
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - DiskChunkCache::get_links
    - sqlite3_errmsg
    - DiskChunkCache::prepare
    - DiskChunkCache::update_linked_chunks_head_tail
    - pj_log
    - DiskChunkCache::update_links_of_prev_and_next_links
    - auto::bindInt64
    - DiskChunkCache::update_linked_chunks
    - auto::execute
    linkageType: ''
    returnType: bool
    signature: bool DiskChunkCache::move_to_tail(sqlite3_int64 chunk_id)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: NetworkChunkCache::insert
      Src: /src/PROJ/src/networkfilemanager.cpp:801,1
    - Dst: NetworkChunkCache::Key
      Src: /src/PROJ/src/networkfilemanager.cpp:801,1
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:803,1
    - Dst: auto::handle
      Src: /src/PROJ/src/networkfilemanager.cpp:806,1
    - Dst: assert
      Src: /src/PROJ/src/networkfilemanager.cpp:810,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:810,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:811,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:814,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:818,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:818,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:819,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:821,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:823,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:824,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:826,1
    - Dst: auto::bindBlob
      Src: /src/PROJ/src/networkfilemanager.cpp:829,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:829,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:829,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:830,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:832,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:834,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:834,1
    - Dst: auto::move_to_head
      Src: /src/PROJ/src/networkfilemanager.cpp:839,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:843,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:843,1
    - Dst: getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:852,1
    - Dst: getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:853,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:855,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:859,1
    - Dst: auto::bindBlob
      Src: /src/PROJ/src/networkfilemanager.cpp:863,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:863,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:863,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:864,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:866,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:868,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:868,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:874,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:879,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:879,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:880,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:881,1
    - Dst: auto::size
      Src: /src/PROJ/src/networkfilemanager.cpp:881,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:882,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:883,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:885,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:887,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:887,1
    - Dst: auto::move_to_head
      Src: /src/PROJ/src/networkfilemanager.cpp:892,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:896,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:903,1
    - Dst: reuseExistingEntry
      Src: /src/PROJ/src/networkfilemanager.cpp:905,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:908,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:908,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:914,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:918,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:920,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:920,1
    - Dst: pj_context_get_grid_cache_max_size
      Src: /src/PROJ/src/networkfilemanager.cpp:925,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/networkfilemanager.cpp:927,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:927,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:929,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:935,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:937,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:937,1
    - Dst: reuseExistingEntry
      Src: /src/PROJ/src/networkfilemanager.cpp:940,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:945,1
    - Dst: auto::bindBlob
      Src: /src/PROJ/src/networkfilemanager.cpp:948,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:948,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:948,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:950,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:952,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:952,1
    - Dst: sqlite3_last_insert_rowid
      Src: /src/PROJ/src/networkfilemanager.cpp:957,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:959,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:963,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:963,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:964,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:965,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:966,1
    - Dst: auto::size
      Src: /src/PROJ/src/networkfilemanager.cpp:966,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:968,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:970,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:970,1
    - Dst: sqlite3_last_insert_rowid
      Src: /src/PROJ/src/networkfilemanager.cpp:975,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:977,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:981,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:982,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:983,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:983,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:987,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:990,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:991,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:991,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:994,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:995,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:999,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1000,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1001,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1002,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:1002,1
    - Dst: auto::move_to_head
      Src: /src/PROJ/src/networkfilemanager.cpp:1007,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 135
    argCount: 4
    argNames:
    - ctx
    - url
    - chunkIdx
    - data
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - unsigned long long
    - std::vector<unsigned char>
    assertStmts:
    - condition: (blob.size() <= DOWNLOAD_CHUNK_SIZE)
      pos:
        line_end: 809
        line_start: 809
        source_file: /src/PROJ/src/networkfilemanager.cpp
    constantsTouched: []
    func_position:
      end: 1008
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 1008
    functionName: NetworkChunkCache::insert
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - auto::getInt64
    - sqlite3_errmsg
    - std::vector::resize
    - std::vector::size
    - NetworkChunkCache::insert
    - static_cast<long long>
    - std::vector::data
    - sqlite3_last_insert_rowid
    - assert
    - auto::bindText
    - auto::bindInt64
    - pj_context_get_grid_cache_max_size
    - auto::prepare
    - NetworkChunkCache::Key
    - auto::size
    - auto::handle
    - pj_log
    - getInt64
    - DiskChunkCache::open
    - auto::execute
    - reuseExistingEntry
    - auto::bindBlob
    - auto::move_to_head
    linkageType: ''
    returnType: void
    signature: "void NetworkChunkCache::insert(PJ_CONTEXT *ctx, const std::string
      &url,\n                               unsigned long long chunkIdx,\n                               std::vector<unsigned
      char> &&data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tryGet
      Src: /src/PROJ/src/networkfilemanager.cpp:1016,1
    - Dst: NetworkChunkCache::Key
      Src: /src/PROJ/src/networkfilemanager.cpp:1016,1
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1020,1
    - Dst: auto::handle
      Src: /src/PROJ/src/networkfilemanager.cpp:1023,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1025,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1032,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1032,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1033,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1035,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1037,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1038,1
    - Dst: auto::getBlob
      Src: /src/PROJ/src/networkfilemanager.cpp:1040,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1042,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1044,1
    - Dst: static_cast<sqlite3_int64>
      Src: /src/PROJ/src/networkfilemanager.cpp:1047,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1048,1
    - Dst: std::shared_ptr::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:1051,1
    - Dst: std::vector<unsigned char>::vector<unsigned char>
      Src: /src/PROJ/src/networkfilemanager.cpp:1051,1
    - Dst: std::shared_ptr::assign
      Src: /src/PROJ/src/networkfilemanager.cpp:1052,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1052,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1053,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1054,1
    - Dst: NetworkChunkCache::insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1055,1
    - Dst: NetworkChunkCache::Key
      Src: /src/PROJ/src/networkfilemanager.cpp:1055,1
    - Dst: auto::move_to_head
      Src: /src/PROJ/src/networkfilemanager.cpp:1057,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1060,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:1060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - url
    - chunkIdx
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1064
    functionName: NetworkChunkCache::get
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::getInt64
    - sqlite3_errmsg
    - static_cast<sqlite3_int64>
    - tryGet
    - NetworkChunkCache::insert
    - std::shared_ptr::assign
    - static_cast<size_t>
    - auto::bindText
    - auto::bindInt64
    - auto::prepare
    - NetworkChunkCache::Key
    - auto::handle
    - static_cast<int>
    - pj_log
    - reinterpret_cast<const unsigned char *>
    - DiskChunkCache::open
    - auto::execute
    - std::vector<unsigned char>::vector<unsigned char>
    - std::shared_ptr::reset
    - auto::getBlob
    - auto::move_to_head
    linkageType: ''
    returnType: std::shared_ptr<std::vector<unsigned char>>
    signature: "std::shared_ptr<std::vector<unsigned char>> NetworkChunkCache::get(PJ_CONTEXT
      *ctx, const std::string &url,\n                       unsigned long long chunkIdx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGet
      Src: /src/PROJ/src/networkfilemanager.cpp:1071,1
    - Dst: NetworkChunkCache::get
      Src: /src/PROJ/src/networkfilemanager.cpp:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - url
    - chunkIdx
    - props
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - unsigned long long
    - FileProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: NetworkChunkCache::get
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - tryGet
    - NetworkChunkCache::get
    linkageType: ''
    returnType: std::shared_ptr<std::vector<unsigned char>>
    signature: "std::shared_ptr<std::vector<unsigned char>> NetworkChunkCache::get(PJ_CONTEXT
      *ctx, const std::string &url,\n                       unsigned long long chunkIdx,
      FileProperties &props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/networkfilemanager.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1080
    functionName: NetworkChunkCache::clearMemoryCache
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void NetworkChunkCache::clearMemoryCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1085,1
    - Dst: auto::closeAndUnlink
      Src: /src/PROJ/src/networkfilemanager.cpp:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: NetworkChunkCache::clearDiskChunkCache
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - auto::closeAndUnlink
    - DiskChunkCache::open
    linkageType: ''
    returnType: void
    signature: void NetworkChunkCache::clearDiskChunkCache(PJ_CONTEXT *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/src/networkfilemanager.cpp:1095,1
    - Dst: NetworkFilePropertiesCache::insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1096,1
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1098,1
    - Dst: auto::handle
      Src: /src/PROJ/src/networkfilemanager.cpp:1101,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1102,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1106,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1106,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1107,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1109,1
    - Dst: auto::getText
      Src: /src/PROJ/src/networkfilemanager.cpp:1110,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:1111,1
    - Dst: auto::getText
      Src: /src/PROJ/src/networkfilemanager.cpp:1112,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:1113,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1120,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1123,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1123,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1125,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/networkfilemanager.cpp:1126,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1126,1
    - Dst: auto::resetResIndex
      Src: /src/PROJ/src/networkfilemanager.cpp:1127,1
    - Dst: auto::move_to_tail
      Src: /src/PROJ/src/networkfilemanager.cpp:1131,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1134,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1139,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1139,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1140,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1141,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:1141,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1146,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1151,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1152,1
    - Dst: FileProperties::lastModified::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1153,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:1154,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1156,1
    - Dst: FileProperties::lastModified::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1156,1
    - Dst: FileProperties::etag::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1157,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:1158,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1160,1
    - Dst: FileProperties::etag::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1160,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1161,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1161,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1162,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1163,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:1163,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1167,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1172,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1172,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1173,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1174,1
    - Dst: FileProperties::lastModified::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1175,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:1176,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1178,1
    - Dst: FileProperties::lastModified::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1178,1
    - Dst: FileProperties::etag::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1179,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:1180,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1182,1
    - Dst: FileProperties::etag::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1182,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1183,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1184,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:1184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - ctx
    - url
    - props
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - FileProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1188
    functionName: NetworkFilePropertiesCache::insert
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - FileProperties::lastModified::c_str
    - auto::getText
    - std::string::c_str
    - auto::getInt64
    - NetworkFilePropertiesCache::insert
    - sqlite3_errmsg
    - FileProperties::etag::empty
    - auto::move_to_tail
    - FileProperties::lastModified::empty
    - auto::bindText
    - auto::bindNull
    - auto::bindInt64
    - std::string
    - auto::prepare
    - auto::handle
    - pj_log
    - DiskChunkCache::open
    - auto::execute
    - auto::resetResIndex
    - FileProperties::etag::c_str
    - time
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: "void NetworkFilePropertiesCache::insert(PJ_CONTEXT *ctx, const std::string
      &url,\n                                        FileProperties &props)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NetworkFilePropertiesCache::tryGet
      Src: /src/PROJ/src/networkfilemanager.cpp:1194,1
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1198,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:1202,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:1206,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1206,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:1207,1
    - Dst: static_cast<time_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1210,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1210,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:1211,1
    - Dst: auto::getText
      Src: /src/PROJ/src/networkfilemanager.cpp:1212,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:1213,1
    - Dst: auto::getText
      Src: /src/PROJ/src/networkfilemanager.cpp:1214,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:1215,1
    - Dst: pj_context_get_grid_cache_ttl
      Src: /src/PROJ/src/networkfilemanager.cpp:1217,1
    - Dst: time
      Src: /src/PROJ/src/networkfilemanager.cpp:1220,1
    - Dst: FileProperties
      Src: /src/PROJ/src/networkfilemanager.cpp:1222,1
    - Dst: NetworkFilePropertiesCache::insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - url
    - props
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - FileProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1228
    functionName: NetworkFilePropertiesCache::tryGet
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached:
    - NetworkFilePropertiesCache::tryGet
    - auto::getText
    - std::string::c_str
    - auto::getInt64
    - time
    - NetworkFilePropertiesCache::insert
    - FileProperties
    - auto::bindText
    - DiskChunkCache::open
    - auto::execute
    - static_cast<time_t>
    - std::string
    - auto::prepare
    - pj_context_get_grid_cache_ttl
    linkageType: ''
    returnType: bool
    signature: "bool NetworkFilePropertiesCache::tryGet(PJ_CONTEXT *ctx, const std::string
      &url,\n                                        FileProperties &props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/networkfilemanager.cpp:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1232
    functionName: NetworkFilePropertiesCache::clearMemoryCache
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void NetworkFilePropertiesCache::clearMemoryCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1247
    functionName: NetworkFile::NetworkFile
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkFile(const NetworkFile &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1248
    functionName: '&operator=(const NetworkFile &)'
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkFile
    signature: NetworkFile &operator=(const NetworkFile &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ctx
    - url
    - handle
    - lastDownloadOffset
    - props
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - PROJ_NETWORK_HANDLE*
    - unsigned long long
    - FileProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1257
    functionName: NetworkFile::NetworkFile
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NetworkFile(PJ_CONTEXT *ctx, const std::string &url,\n                PROJ_NETWORK_HANDLE
      *handle,\n                unsigned long long lastDownloadOffset,\n                const
      FileProperties &props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: NetworkFile::write
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write(const void *, size_t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1267
    functionName: NetworkFile::hasChanged
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::networking::get_header_value
      Src: /src/PROJ/src/networkfilemanager.cpp:1281,1
    - Dst: strchr
      Src: /src/PROJ/src/networkfilemanager.cpp:1284,1
    - Dst: std::stoull
      Src: /src/PROJ/src/networkfilemanager.cpp:1286,1
    - Dst: PJ_CONTEXT*::networking::get_header_value
      Src: /src/PROJ/src/networkfilemanager.cpp:1288,1
    - Dst: PJ_CONTEXT*::networking::get_header_value
      Src: /src/PROJ/src/networkfilemanager.cpp:1293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - handle
    - props
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - FileProperties
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1302
    functionName: NetworkFile::get_props_from_headers
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - PJ_CONTEXT*::networking::get_header_value
    - std::stoull
    linkageType: ''
    returnType: bool
    signature: "bool NetworkFile::get_props_from_headers(PJ_CONTEXT *ctx,\n                                         PROJ_NETWORK_HANDLE
      *handle,\n                                         FileProperties &props)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/src/networkfilemanager.cpp:1308,1
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/networkfilemanager.cpp:1309,1
    - Dst: simple_max
      Src: /src/PROJ/src/networkfilemanager.cpp:1311,1
    - Dst: NetworkFile::NetworkFile
      Src: /src/PROJ/src/networkfilemanager.cpp:1309,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1316,1
    - Dst: PJ_CONTEXT*::networking::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1318,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1319,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1319,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1320,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1322,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:1322,1
    - Dst: std::string::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1322,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1323,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1324,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/networkfilemanager.cpp:1325,1
    - Dst: NetworkFile::get_props_from_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:1326,1
    - Dst: insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1327,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1328,1
    - Dst: insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1329,1
    - Dst: std::move
      Src: /src/PROJ/src/networkfilemanager.cpp:1329,1
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/networkfilemanager.cpp:1330,1
    - Dst: NetworkFile::NetworkFile
      Src: /src/PROJ/src/networkfilemanager.cpp:1331,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:1333,1
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/networkfilemanager.cpp:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1338
    functionName: NetworkFile::open
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - insert
    - std::vector::resize
    - std::vector::size
    - std::vector::data
    - NetworkFile::get_props_from_headers
    - PJ_CONTEXT*::networking::open
    - std::unique_ptr<File>
    - std::move
    - NetworkFile::NetworkFile
    - proj_context_errno_set
    - strlen
    - PJ_CONTEXT*::networking::close
    - std::string::size
    - std::string::resize
    - pj_log
    - simple_max
    - get
    - std::string::data
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: std::unique_ptr<File> NetworkFile::open(PJ_CONTEXT *ctx, const char
      *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkFile::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1345
    functionName: pj_network_file_open
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - NetworkFile::open
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: "std::unique_ptr<File> pj_network_file_open(PJ_CONTEXT *ctx,\n                                           const
      char *filename)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/src/networkfilemanager.cpp:1359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1381,1
    - Dst: get
      Src: /src/PROJ/src/networkfilemanager.cpp:1390,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1400,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1403,1
    - Dst: networking::open
      Src: /src/PROJ/src/networkfilemanager.cpp:1405,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1406,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1408,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/networkfilemanager.cpp:1411,1
    - Dst: networking::read_range
      Src: /src/PROJ/src/networkfilemanager.cpp:1415,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1418,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1422,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:1422,1
    - Dst: std::string::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1422,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1423,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1424,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1425,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1425,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/networkfilemanager.cpp:1427,1
    - Dst: NetworkFile::get_props_from_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:1433,1
    - Dst: insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1437,1
    - Dst: clearMemoryCache
      Src: /src/PROJ/src/networkfilemanager.cpp:1438,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1444,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1448,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1451,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1452,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:1453,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1453,1
    - Dst: insert
      Src: /src/PROJ/src/networkfilemanager.cpp:1454,1
    - Dst: std::move
      Src: /src/PROJ/src/networkfilemanager.cpp:1455,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1458,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:1459,1
    - Dst: static_cast<unsigned long long>
      Src: /src/PROJ/src/networkfilemanager.cpp:1459,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1460,1
    - Dst: memcpy
      Src: /src/PROJ/src/networkfilemanager.cpp:1461,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1461,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1462,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1465,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1465,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1471,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1474
    functionName: NetworkFile::read
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - insert
    - networking::read_range
    - std::vector::resize
    - std::vector::size
    - std::vector::data
    - static_cast<unsigned long long>
    - NetworkFile::get_props_from_headers
    - memcpy
    - static_cast<size_t>
    - std::move
    - proj_context_errno_set
    - strlen
    - std::string::size
    - std::string::empty
    - clearMemoryCache
    - std::string::resize
    - std::min
    - pj_log
    - static_cast<char *>
    - c_str
    - get
    - networking::open
    - std::string::data
    linkageType: ''
    returnType: size_t
    signature: size_t NetworkFile::read(void *buffer, size_t sizeBytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - offset
    - whence
    argTypes:
    - unsigned long long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1489
    functionName: NetworkFile::seek
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NetworkFile::seek(unsigned long long offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: NetworkFile::tell
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long NetworkFile::tell()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:1499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1501
    functionName: NetworkFile::~NetworkFile()
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - networking::close
    linkageType: ''
    returnType: void
    signature: void NetworkFile::~NetworkFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1512
    functionName: NetworkFile::reassign_context
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_log
    linkageType: ''
    returnType: void
    signature: void NetworkFile::reassign_context(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1526
    functionName: CurlFileHandle
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CurlFileHandle(const CurlFileHandle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1527
    functionName: '&operator=(const CurlFileHandle &)'
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CurlFileHandle
    signature: CurlFileHandle &operator=(const CurlFileHandle &)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1543,1
    - Dst: readlink
      Src: /src/PROJ/src/networkfilemanager.cpp:1544,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1544,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1546,1
    - Dst: std::string::rfind
      Src: /src/PROJ/src/networkfilemanager.cpp:1547,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/networkfilemanager.cpp:1549,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1555,1
    - Dst: GetModuleFileNameA
      Src: /src/PROJ/src/networkfilemanager.cpp:1556,1
    - Dst: static_cast<DWORD>
      Src: /src/PROJ/src/networkfilemanager.cpp:1557,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1557,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1558,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:1558,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1558,1
    - Dst: std::string::rfind
      Src: /src/PROJ/src/networkfilemanager.cpp:1559,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/networkfilemanager.cpp:1561,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1567,1
    - Dst: static_cast<uint32_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:1568,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1568,1
    - Dst: _NSGetExecutablePath
      Src: /src/PROJ/src/networkfilemanager.cpp:1569,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1570,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:1570,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1570,1
    - Dst: std::string::rfind
      Src: /src/PROJ/src/networkfilemanager.cpp:1571,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/networkfilemanager.cpp:1573,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1584,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1585,1
    - Dst: sysctl
      Src: /src/PROJ/src/networkfilemanager.cpp:1586,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:1587,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:1587,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1587,1
    - Dst: std::string::rfind
      Src: /src/PROJ/src/networkfilemanager.cpp:1588,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/networkfilemanager.cpp:1590,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:1596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1597
    functionName: GetExecutableName
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - sysctl
    - _NSGetExecutablePath
    - std::string::substr
    - GetModuleFileNameA
    - std::string::resize
    - readlink
    - static_cast<DWORD>
    - std::string::rfind
    - strlen
    - std::string
    - static_cast<uint32_t>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string GetExecutableName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - code
    - line
    argTypes:
    - PJ_CONTEXT*
    - CURLcode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1605
    functionName: checkRet
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_log
    linkageType: ''
    returnType: void
    signature: void checkRet(PJ_CONTEXT *ctx, CURLcode code, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1608
    functionName: CHECK_RET
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RET(ctx, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1614
    functionName: pj_context_get_bundle_path
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_load_ini
    linkageType: ''
    returnType: std::string
    signature: std::string pj_context_get_bundle_path(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: pj_context_get_native_ca
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_load_ini
    linkageType: ''
    returnType: bool
    signature: bool pj_context_get_native_ca(PJ_CONTEXT *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1627,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1627,1
    - Dst: c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1627,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:1629,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1630,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1630,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1634,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1635,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1639,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1639,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1640,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1640,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:1642,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1643,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1643,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1644,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1644,1
    - Dst: static_cast<long>
      Src: /src/PROJ/src/networkfilemanager.cpp:1649,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/PROJ/src/networkfilemanager.cpp:1650,1
    - Dst: pj_context_get_native_ca
      Src: /src/PROJ/src/networkfilemanager.cpp:1651,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1655,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1655,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/PROJ/src/networkfilemanager.cpp:1657,1
    - Dst: pj_context_get_native_ca
      Src: /src/PROJ/src/networkfilemanager.cpp:1658,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1659,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1659,1
    - Dst: pj_context_get_bundle_path
      Src: /src/PROJ/src/networkfilemanager.cpp:1665,1
    - Dst: auto::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1666,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1667,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1667,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1668,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1671,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1672,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:1674,1
    - Dst: STR
      Src: /src/PROJ/src/networkfilemanager.cpp:1675,1
    - Dst: STR
      Src: /src/PROJ/src/networkfilemanager.cpp:1675,1
    - Dst: STR
      Src: /src/PROJ/src/networkfilemanager.cpp:1676,1
    - Dst: GetExecutableName
      Src: /src/PROJ/src/networkfilemanager.cpp:1677,1
    - Dst: auto::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1678,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1681,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1681,1
    - Dst: data
      Src: /src/PROJ/src/networkfilemanager.cpp:1682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - url
    - handle
    argTypes:
    - PJ_CONTEXT*
    - char*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1625
    functionDepth: 2
    functionLinenumber: 1625
    functionLinenumberEnd: 1684
    functionName: CurlFileHandle::CurlFileHandle
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - getenv
    - pj_context_get_bundle_path
    - CURL_AT_LEAST_VERSION
    - auto::c_str
    - STR
    - pj_context_get_native_ca
    - CHECK_RET
    - GetExecutableName
    - data
    - static_cast<long>
    - auto::empty
    - c_str
    linkageType: ''
    returnType: void
    signature: void CurlFileHandle::CurlFileHandle(PJ_CONTEXT *ctx, const char *url,
      CURL *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/src/networkfilemanager.cpp:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1688
    functionName: CurlFileHandle::~CurlFileHandle()
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void CurlFileHandle::~CurlFileHandle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1695,1
    - Dst: auto::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1696,1
    - Dst: auto::capacity
      Src: /src/PROJ/src/networkfilemanager.cpp:1696,1
    - Dst: auto::append
      Src: /src/PROJ/src/networkfilemanager.cpp:1701,1
    - Dst: static_cast<const char *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - count
    - nmemb
    - req
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1703
    functionName: pj_curl_write_func
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    - static_cast<std::string *>
    - auto::size
    - auto::capacity
    - auto::append
    linkageType: ''
    returnType: size_t
    signature: "size_t pj_curl_write_func(void *buffer, size_t count, size_t nmemb,\n
      \                                void *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1714,1
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1715,1
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1716,1
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1717,1
    - Dst: rand
      Src: /src/PROJ/src/networkfilemanager.cpp:1721,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 6
    argCount: 4
    argNames:
    - response_code
    - dfOldDelay
    - pszErrBuf
    - pszCurlError
    argTypes:
    - int
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1725
    functionName: GetNewRetryDelay
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - rand
    - strstr
    linkageType: ''
    returnType: double
    signature: "double GetNewRetryDelay(int response_code, double dfOldDelay,\n                               const
      char *pszErrBuf,\n                               const char *pszCurlError)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/src/networkfilemanager.cpp:1738,1
    - Dst: std::unique_ptr<CurlFileHandle>
      Src: /src/PROJ/src/networkfilemanager.cpp:1742,1
    - Dst: CurlFileHandle::CurlFileHandle
      Src: /src/PROJ/src/networkfilemanager.cpp:1743,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:1750,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1754,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1754,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/networkfilemanager.cpp:1756,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/networkfilemanager.cpp:1757,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1758,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1759,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1760,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1760,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/networkfilemanager.cpp:1763,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/networkfilemanager.cpp:1764,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1765,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1765,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1766,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1766,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/src/networkfilemanager.cpp:1771,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/src/networkfilemanager.cpp:1774,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1776,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1777,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1778,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1778,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1781,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1782,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1783,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1784,1
    - Dst: GetNewRetryDelay
      Src: /src/PROJ/src/networkfilemanager.cpp:1788,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1788,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1789,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1791,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1793,1
    - Dst: sleep_ms
      Src: /src/PROJ/src/networkfilemanager.cpp:1794,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1794,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:1799,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:1802,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1804,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1818,1
    - Dst: memcpy
      Src: /src/PROJ/src/networkfilemanager.cpp:1819,1
    - Dst: std::string::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1819,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:1819,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1819,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:1821,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1821,1
    - Dst: std::move
      Src: /src/PROJ/src/networkfilemanager.cpp:1823,1
    - Dst: reinterpret_cast<PROJ_NETWORK_HANDLE *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1824,1
    - Dst: auto::release
      Src: /src/PROJ/src/networkfilemanager.cpp:1824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 8
    argNames:
    - ctx
    - url
    - offset
    - size_to_read
    - buffer
    - out_size_read
    - error_string_max_size
    - out_error_string
    argTypes:
    - PJ_CONTEXT*
    - char*
    - unsigned long long
    - size_t
    - void*
    - size_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1732
    functionDepth: 3
    functionLinenumber: 1732
    functionLinenumberEnd: 1825
    functionName: CurlFileHandle::open
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - CurlFileHandle::CurlFileHandle
    - curl_easy_setopt
    - std::string::c_str
    - reinterpret_cast<PROJ_NETWORK_HANDLE *>
    - snprintf
    - std::string::reserve
    - GetNewRetryDelay
    - memcpy
    - curl_easy_getinfo
    - std::move
    - curl_easy_init
    - curl_easy_perform
    - auto::release
    - sleep_ms
    - std::string::size
    - std::string::empty
    - std::string::clear
    - static_cast<int>
    - std::min
    - pj_log
    - CHECK_RET
    - sqlite3_snprintf
    - std::unique_ptr<CurlFileHandle>
    - std::string::data
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *CurlFileHandle::open(PJ_CONTEXT *ctx, const char
      *url,\n                                          unsigned long long offset,\n
      \                                         size_t size_to_read, void *buffer,\n
      \                                         size_t *out_size_read,\n                                          size_t
      error_string_max_size,\n                                          char *out_error_string,
      void *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CurlFileHandle *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - PROJ_NETWORK_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1832
    functionName: pj_curl_close
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CurlFileHandle *>
    linkageType: ''
    returnType: void
    signature: "void pj_curl_close(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *handle,\n                          void
      * /*user_data*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CurlFileHandle *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1841,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:1849,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1853,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1853,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/networkfilemanager.cpp:1855,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/networkfilemanager.cpp:1856,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1857,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1858,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1859,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1859,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/networkfilemanager.cpp:1862,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/networkfilemanager.cpp:1863,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1864,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1864,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1865,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1865,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/src/networkfilemanager.cpp:1870,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/src/networkfilemanager.cpp:1873,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1875,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1876,1
    - Dst: CHECK_RET
      Src: /src/PROJ/src/networkfilemanager.cpp:1877,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/src/networkfilemanager.cpp:1878,1
    - Dst: GetNewRetryDelay
      Src: /src/PROJ/src/networkfilemanager.cpp:1882,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1882,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1883,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1885,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1887,1
    - Dst: sleep_ms
      Src: /src/PROJ/src/networkfilemanager.cpp:1888,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:1888,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:1893,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:1896,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1898,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1911,1
    - Dst: memcpy
      Src: /src/PROJ/src/networkfilemanager.cpp:1912,1
    - Dst: std::string::data
      Src: /src/PROJ/src/networkfilemanager.cpp:1912,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:1912,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1912,1
    - Dst: std::move
      Src: /src/PROJ/src/networkfilemanager.cpp:1914,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:1916,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:1916,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 7
    argNames:
    - ctx
    - raw_handle
    - offset
    - size_to_read
    - buffer
    - error_string_max_size
    - out_error_string
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - unsigned long long
    - size_t
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1917
    functionName: pj_curl_read_range
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - std::string::c_str
    - snprintf
    - std::string::reserve
    - GetNewRetryDelay
    - memcpy
    - curl_easy_getinfo
    - std::move
    - curl_easy_perform
    - sleep_ms
    - std::string::size
    - std::string::empty
    - std::string::clear
    - static_cast<int>
    - reinterpret_cast<CurlFileHandle *>
    - pj_log
    - std::min
    - CHECK_RET
    - sqlite3_snprintf
    - std::string::data
    linkageType: ''
    returnType: size_t
    signature: "size_t pj_curl_read_range(PJ_CONTEXT *ctx,\n                                 PROJ_NETWORK_HANDLE
      *raw_handle,\n                                 unsigned long long offset, size_t
      size_to_read,\n                                 void *buffer, size_t error_string_max_size,\n
      \                                char *out_error_string, void *)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CurlFileHandle *>
      Src: /src/PROJ/src/networkfilemanager.cpp:1924,1
    - Dst: ci_find
      Src: /src/PROJ/src/networkfilemanager.cpp:1925,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:1928,1
    - Dst: auto::m_headers::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1929,1
    - Dst: auto::m_headers::substr
      Src: /src/PROJ/src/networkfilemanager.cpp:1938,1
    - Dst: auto::m_lastval::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:1939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - raw_handle
    - header_name
    argTypes:
    - PROJ_NETWORK_HANDLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1940
    functionName: pj_curl_get_header_value
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - auto::m_headers::c_str
    - reinterpret_cast<CurlFileHandle *>
    - auto::m_headers::substr
    - strlen
    - ci_find
    - auto::m_lastval::c_str
    linkageType: ''
    returnType: char
    signature: "char *pj_curl_get_header_value(PJ_CONTEXT *,\n                                            PROJ_NETWORK_HANDLE
      *raw_handle,\n                                            const char *header_name,
      void *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1953
    functionName: EmscriptenFileHandle
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmscriptenFileHandle(const EmscriptenFileHandle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1954
    functionName: '&operator=(const EmscriptenFileHandle &)'
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EmscriptenFileHandle
    signature: EmscriptenFileHandle &operator=(const EmscriptenFileHandle &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:1967,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:1968,1
    - Dst: STR
      Src: /src/PROJ/src/networkfilemanager.cpp:1969,1
    - Dst: STR
      Src: /src/PROJ/src/networkfilemanager.cpp:1969,1
    - Dst: STR
      Src: /src/PROJ/src/networkfilemanager.cpp:1970,1
    - Dst: auto::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:1972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - url
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1976
    functionName: EmscriptenFileHandle::EmscriptenFileHandle
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - auto::empty
    - pj_log
    - STR
    linkageType: ''
    returnType: void
    signature: void EmscriptenFileHandle::EmscriptenFileHandle(PJ_CONTEXT *ctx, const
      char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1978
    functionName: EmscriptenFileHandle::~EmscriptenFileHandle()
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmscriptenFileHandle::~EmscriptenFileHandle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1988,1
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1989,1
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1990,1
    - Dst: strstr
      Src: /src/PROJ/src/networkfilemanager.cpp:1991,1
    - Dst: rand
      Src: /src/PROJ/src/networkfilemanager.cpp:1995,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 6
    argCount: 4
    argNames:
    - response_code
    - dfOldDelay
    - pszErrBuf
    - pszCurlError
    argTypes:
    - int
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1999
    functionName: GetNewRetryDelay
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 2
    functionsReached:
    - rand
    - strstr
    linkageType: ''
    returnType: double
    signature: "double GetNewRetryDelay(int response_code, double dfOldDelay,\n                               const
      char *pszErrBuf,\n                               const char *pszCurlError)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2007
    functionName: TRACE_FETCH
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_FETCH(data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EmscriptenFileHandle *>
      Src: /src/PROJ/src/networkfilemanager.cpp:2017,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:2022,1
    - Dst: emscripten_fetch_attr_init
      Src: /src/PROJ/src/networkfilemanager.cpp:2039,1
    - Dst: strcpy
      Src: /src/PROJ/src/networkfilemanager.cpp:2040,1
    - Dst: emscripten_fetch_close
      Src: /src/PROJ/src/networkfilemanager.cpp:2047,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2050,1
    - Dst: emscripten_fetch
      Src: /src/PROJ/src/networkfilemanager.cpp:2051,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2051,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2053,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:2056,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2058,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2062,1
    - Dst: GetNewRetryDelay
      Src: /src/PROJ/src/networkfilemanager.cpp:2065,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:2065,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2068,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:2070,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2071,1
    - Dst: sleep_ms
      Src: /src/PROJ/src/networkfilemanager.cpp:2075,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/networkfilemanager.cpp:2075,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:2080,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:2083,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2088,1
    - Dst: emscripten_fetch_close
      Src: /src/PROJ/src/networkfilemanager.cpp:2089,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:2101,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2103,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2104,1
    - Dst: std::min
      Src: /src/PROJ/src/networkfilemanager.cpp:2112,1
    - Dst: memcpy
      Src: /src/PROJ/src/networkfilemanager.cpp:2114,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2116,1
    - Dst: emscripten_fetch_get_response_headers_length
      Src: /src/PROJ/src/networkfilemanager.cpp:2122,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2123,1
    - Dst: malloc
      Src: /src/PROJ/src/networkfilemanager.cpp:2124,1
    - Dst: assert
      Src: /src/PROJ/src/networkfilemanager.cpp:2125,1
    - Dst: emscripten_fetch_get_response_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:2127,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2129,1
    - Dst: emscripten_fetch_unpack_response_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:2132,1
    - Dst: assert
      Src: /src/PROJ/src/networkfilemanager.cpp:2133,1
    - Dst: free
      Src: /src/PROJ/src/networkfilemanager.cpp:2135,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2137,1
    - Dst: assert
      Src: /src/PROJ/src/networkfilemanager.cpp:2141,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2144,1
    - Dst: transform
      Src: /src/PROJ/src/networkfilemanager.cpp:2145,1
    - Dst: std::string::begin
      Src: /src/PROJ/src/networkfilemanager.cpp:2145,1
    - Dst: std::string::end
      Src: /src/PROJ/src/networkfilemanager.cpp:2145,1
    - Dst: std::string::begin
      Src: /src/PROJ/src/networkfilemanager.cpp:2145,1
    - Dst: auto::m_headers::emplace
      Src: /src/PROJ/src/networkfilemanager.cpp:2146,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2148,1
    - Dst: emscripten_fetch_free_unpacked_response_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:2149,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2152,1
    - Dst: emscripten_fetch_close
      Src: /src/PROJ/src/networkfilemanager.cpp:2153,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2154,1
    - Dst: fetching
      Src: /src/PROJ/src/networkfilemanager.cpp:2157,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2158,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 7
    argNames:
    - ctx
    - raw_handle
    - offset
    - size_to_read
    - buffer
    - error_string_max_size
    - out_error_string
    argTypes:
    - PJ_CONTEXT*
    - PROJ_NETWORK_HANDLE*
    - unsigned long long
    - size_t
    - void*
    - size_t
    - char*
    assertStmts:
    - condition: (headerString)
      pos:
        line_end: 2124
        line_start: 2124
        source_file: /src/PROJ/src/networkfilemanager.cpp
    - condition: (responseHeaders[(numHeaders * 2) + 1])
      pos:
        line_end: 2140
        line_start: 2140
        source_file: /src/PROJ/src/networkfilemanager.cpp
    - condition: (responseHeaders)
      pos:
        line_end: 2132
        line_start: 2132
        source_file: /src/PROJ/src/networkfilemanager.cpp
    constantsTouched: []
    func_position:
      end: 2165
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2165
    functionName: pj_emscripten_read_range
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - snprintf
    - auto::m_headers::emplace
    - emscripten_fetch
    - std::string::end
    - transform
    - GetNewRetryDelay
    - memcpy
    - emscripten_fetch_get_response_headers
    - static_cast<size_t>
    - emscripten_fetch_unpack_response_headers
    - assert
    - sleep_ms
    - static_cast<int>
    - std::min
    - pj_log
    - sqlite3_snprintf
    - emscripten_fetch_attr_init
    - emscripten_fetch_close
    - free
    - strcpy
    - fetching
    - TRACE_FETCH
    - emscripten_fetch_free_unpacked_response_headers
    - reinterpret_cast<EmscriptenFileHandle *>
    - malloc
    - emscripten_fetch_get_response_headers_length
    - std::string::begin
    linkageType: ''
    returnType: size_t
    signature: "size_t pj_emscripten_read_range(PJ_CONTEXT *ctx,\n                                       PROJ_NETWORK_HANDLE
      *raw_handle,\n                                       unsigned long long offset,\n
      \                                      size_t size_to_read, void *buffer,\n
      \                                      size_t error_string_max_size,\n                                       char
      *out_error_string, void *)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2170,1
    - Dst: reinterpret_cast<EmscriptenFileHandle *>
      Src: /src/PROJ/src/networkfilemanager.cpp:2171,1
    - Dst: transform
      Src: /src/PROJ/src/networkfilemanager.cpp:2173,1
    - Dst: std::string::begin
      Src: /src/PROJ/src/networkfilemanager.cpp:2173,1
    - Dst: std::string::end
      Src: /src/PROJ/src/networkfilemanager.cpp:2173,1
    - Dst: std::string::begin
      Src: /src/PROJ/src/networkfilemanager.cpp:2173,1
    - Dst: auto::m_headers::find
      Src: /src/PROJ/src/networkfilemanager.cpp:2174,1
    - Dst: auto::m_headers::end
      Src: /src/PROJ/src/networkfilemanager.cpp:2175,1
    - Dst: TRACE_FETCH
      Src: /src/PROJ/src/networkfilemanager.cpp:2176,1
    - Dst: auto::second::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - raw_handle
    - header_name
    argTypes:
    - PROJ_NETWORK_HANDLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2180
    functionName: pj_emscripten_get_header_value
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - auto::m_headers::end
    - TRACE_FETCH
    - std::string::end
    - reinterpret_cast<EmscriptenFileHandle *>
    - auto::m_headers::find
    - transform
    - auto::second::c_str
    - std::string::begin
    linkageType: ''
    returnType: char
    signature: "char *\npj_emscripten_get_header_value(PJ_CONTEXT *, PROJ_NETWORK_HANDLE
      *raw_handle,\n                               const char *header_name, void *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EmscriptenFileHandle *>
      Src: /src/PROJ/src/networkfilemanager.cpp:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - PROJ_NETWORK_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2185
    functionName: pj_emscripten_close
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<EmscriptenFileHandle *>
    linkageType: ''
    returnType: void
    signature: "void pj_emscripten_close(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *handle,\n
      \                               void * /*user_data*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<EmscriptenFileHandle>
      Src: /src/PROJ/src/networkfilemanager.cpp:2192,1
    - Dst: EmscriptenFileHandle::EmscriptenFileHandle
      Src: /src/PROJ/src/networkfilemanager.cpp:2193,1
    - Dst: reinterpret_cast<PROJ_NETWORK_HANDLE *>
      Src: /src/PROJ/src/networkfilemanager.cpp:2196,1
    - Dst: auto::get
      Src: /src/PROJ/src/networkfilemanager.cpp:2196,1
    - Dst: pj_emscripten_read_range
      Src: /src/PROJ/src/networkfilemanager.cpp:2197,1
    - Dst: reinterpret_cast<PROJ_NETWORK_HANDLE *>
      Src: /src/PROJ/src/networkfilemanager.cpp:2201,1
    - Dst: auto::release
      Src: /src/PROJ/src/networkfilemanager.cpp:2201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - ctx
    - url
    - offset
    - size_to_read
    - buffer
    - out_size_read
    - error_string_max_size
    - out_error_string
    argTypes:
    - PJ_CONTEXT*
    - char*
    - unsigned long long
    - size_t
    - void*
    - size_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2202
    functionName: EmscriptenFileHandle::open
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - reinterpret_cast<PROJ_NETWORK_HANDLE *>
    - std::unique_ptr<EmscriptenFileHandle>
    - EmscriptenFileHandle::EmscriptenFileHandle
    - auto::release
    - pj_emscripten_read_range
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *EmscriptenFileHandle::open(\n    PJ_CONTEXT *ctx,
      const char *url, unsigned long long offset,\n    size_t size_to_read, void *buffer,
      size_t *out_size_read,\n    size_t error_string_max_size, char *out_error_string,
      void *)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:2217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - error_string_max_size
    - out_error_string
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2221
    functionName: no_op_network_open
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: PROJ_NETWORK_HANDLE
    signature: "PROJ_NETWORK_HANDLE *\nno_op_network_open(PJ_CONTEXT *, const char
      * /* url */,\n                   unsigned long long, /* offset */\n                   size_t,
      \            /* size to read */\n                   void *,             /* buffer
      to update with bytes read*/\n                   size_t *,           /* output:
      size actually read */\n                   size_t error_string_max_size, char
      *out_error_string,\n                   void * /*user_data*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2226
    functionName: no_op_network_close
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void no_op_network_close(PJ_CONTEXT *, PROJ_NETWORK_HANDLE *,\n                                void
      * /*user_data*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2247
    functionName: FileManager::fillDefaultNetworkInterface
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileManager::fillDefaultNetworkInterface(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileManager::clearMemoryCache
      Src: /src/PROJ/src/networkfilemanager.cpp:2252,1
    - Dst: FileManager::clearMemoryCache
      Src: /src/PROJ/src/networkfilemanager.cpp:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2254
    functionName: FileManager::clearMemoryCache
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 2
    functionsReached:
    - FileManager::clearMemoryCache
    linkageType: ''
    returnType: void
    signature: void FileManager::clearMemoryCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2270
    functionName: nfm_is_tilde_slash
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool nfm_is_tilde_slash(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2273,1
    - Dst: strchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2274,1
    - Dst: strncmp
      Src: /src/PROJ/src/networkfilemanager.cpp:2275,1
    - Dst: strchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2275,1
    - Dst: strchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2278
    functionName: nfm_is_rel_or_absolute_filename
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool nfm_is_rel_or_absolute_filename(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nfm_is_tilde_slash
      Src: /src/PROJ/src/networkfilemanager.cpp:2281,1
    - Dst: nfm_is_rel_or_absolute_filename
      Src: /src/PROJ/src/networkfilemanager.cpp:2281,1
    - Dst: starts_with
      Src: /src/PROJ/src/networkfilemanager.cpp:2282,1
    - Dst: starts_with
      Src: /src/PROJ/src/networkfilemanager.cpp:2282,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:2284,1
    - Dst: std::string::back
      Src: /src/PROJ/src/networkfilemanager.cpp:2285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2280
    functionDepth: 1
    functionLinenumber: 2280
    functionLinenumberEnd: 2293
    functionName: build_url
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - starts_with
    - std::string::back
    - nfm_is_tilde_slash
    - nfm_is_rel_or_absolute_filename
    linkageType: ''
    returnType: std::string
    signature: std::string build_url(PJ_CONTEXT *ctx, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - open_cbk
    - close_cbk
    - get_header_value_cbk
    - read_range_cbk
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - proj_network_open_cbk_type
    - proj_network_close_cbk_type
    - proj_network_get_header_value_cbk_type
    - proj_network_read_range_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2328
    functionName: proj_context_set_network_callbacks
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 14
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: int
    signature: "int proj_context_set_network_callbacks(\n    PJ_CONTEXT *ctx, proj_network_open_cbk_type
      open_cbk,\n    proj_network_close_cbk_type close_cbk,\n    proj_network_get_header_value_cbk_type
      get_header_value_cbk,\n    proj_network_read_range_type read_range_cbk, void
      *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2345,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - enable
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2343
    functionDepth: 1
    functionLinenumber: 2343
    functionLinenumberEnd: 2358
    functionName: proj_context_set_enable_network
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 52
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    linkageType: ''
    returnType: int
    signature: int proj_context_set_enable_network(PJ_CONTEXT *ctx, int enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2370,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2368
    functionDepth: 1
    functionLinenumber: 2368
    functionLinenumberEnd: 2374
    functionName: proj_context_is_network_enabled
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    linkageType: ''
    returnType: int
    signature: int proj_context_is_network_enabled(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2389,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - url
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2387
    functionDepth: 1
    functionLinenumber: 2387
    functionLinenumberEnd: 2394
    functionName: proj_context_set_url_endpoint
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 10
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    linkageType: ''
    returnType: void
    signature: void proj_context_set_url_endpoint(PJ_CONTEXT *ctx, const char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2408,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - enabled
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2413
    functionName: proj_grid_cache_set_enable
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 34
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    linkageType: ''
    returnType: void
    signature: void proj_grid_cache_set_enable(PJ_CONTEXT *ctx, int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2427,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2430,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fullname
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2425
    functionDepth: 1
    functionLinenumber: 2425
    functionLinenumberEnd: 2432
    functionName: proj_grid_cache_set_filename
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 8
    functionsReached:
    - std::string
    - pj_get_default_ctx
    - pj_load_ini
    linkageType: ''
    returnType: void
    signature: void proj_grid_cache_set_filename(PJ_CONTEXT *ctx, const char *fullname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2446,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2449,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/networkfilemanager.cpp:2452,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:2455,1
    - Dst: atoi
      Src: /src/PROJ/src/networkfilemanager.cpp:2457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - max_size_MB
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2460
    functionName: proj_grid_cache_set_max_size
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 2
    functionsReached:
    - getenv
    - pj_get_default_ctx
    - static_cast<long long>
    - pj_load_ini
    - atoi
    linkageType: ''
    returnType: void
    signature: void proj_grid_cache_set_max_size(PJ_CONTEXT *ctx, int max_size_MB)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2473,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ttl_seconds
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2471
    functionDepth: 1
    functionLinenumber: 2471
    functionLinenumberEnd: 2478
    functionName: proj_grid_cache_set_ttl
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    linkageType: ''
    returnType: void
    signature: void proj_grid_cache_set_ttl(PJ_CONTEXT *ctx, int ttl_seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2489,1
    - Dst: clearDiskChunkCache
      Src: /src/PROJ/src/networkfilemanager.cpp:2491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2487
    functionDepth: 1
    functionLinenumber: 2487
    functionLinenumberEnd: 2492
    functionName: proj_grid_cache_clear
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 8
    functionsReached:
    - pj_get_default_ctx
    - clearDiskChunkCache
    linkageType: ''
    returnType: void
    signature: void proj_grid_cache_clear(PJ_CONTEXT *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2526,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/networkfilemanager.cpp:2528,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2529,1
    - Dst: strrchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2534,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2534,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:2538,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/networkfilemanager.cpp:2538,1
    - Dst: FileManager::open
      Src: /src/PROJ/src/networkfilemanager.cpp:2541,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2541,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2546,1
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:2548,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:2552,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2556,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2556,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:2557,1
    - Dst: static_cast<time_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:2562,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2562,1
    - Dst: auto::getInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2563,1
    - Dst: auto::getText
      Src: /src/PROJ/src/networkfilemanager.cpp:2564,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:2565,1
    - Dst: auto::getText
      Src: /src/PROJ/src/networkfilemanager.cpp:2566,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:2567,1
    - Dst: pj_context_get_grid_cache_ttl
      Src: /src/PROJ/src/networkfilemanager.cpp:2570,1
    - Dst: time
      Src: /src/PROJ/src/networkfilemanager.cpp:2573,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2579,1
    - Dst: PJ_CONTEXT*::networking::open
      Src: /src/PROJ/src/networkfilemanager.cpp:2580,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2581,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2582,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2585,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:2585,1
    - Dst: std::string::data
      Src: /src/PROJ/src/networkfilemanager.cpp:2585,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2586,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2586,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2587,1
    - Dst: NetworkFile::get_props_from_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:2591,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2593,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2597,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:2605,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2610,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2611,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2611,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:2612,1
    - Dst: auto::handle
      Src: /src/PROJ/src/networkfilemanager.cpp:2613,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2614,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:2614,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 3
    argNames:
    - ctx
    - url_or_filename
    - ignore_ttl_setting
    argTypes:
    - PJ_CONTEXT*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2523
    functionDepth: 2
    functionLinenumber: 2523
    functionLinenumberEnd: 2622
    functionName: proj_is_download_needed
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 4
    functionsReached:
    - pj_get_default_ctx
    - auto::getText
    - std::string::c_str
    - auto::getInt64
    - sqlite3_errmsg
    - auto::c_str
    - proj_context_get_user_writable_directory
    - static_cast<time_t>
    - NetworkFile::get_props_from_headers
    - proj_context_is_network_enabled
    - FileManager::open
    - PJ_CONTEXT*::networking::open
    - auto::bindText
    - strlen
    - auto::bindInt64
    - std::string
    - PJ_CONTEXT*::networking::close
    - std::string::size
    - auto::prepare
    - auto::handle
    - std::string::resize
    - pj_log
    - DiskChunkCache::open
    - auto::execute
    - pj_context_get_grid_cache_ttl
    - time
    - strrchr
    - auto::reset
    - std::string::data
    linkageType: ''
    returnType: int
    signature: "int proj_is_download_needed(PJ_CONTEXT *ctx, const char *url_or_filename,\n
      \                           int ignore_ttl_setting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/networkfilemanager.cpp:2628,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2630,1
    - Dst: what
      Src: /src/PROJ/src/networkfilemanager.cpp:2630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2626
    functionDepth: 1
    functionLinenumber: 2626
    functionLinenumberEnd: 2633
    functionName: nfm_getDBcontext
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 0
    functionsReached:
    - what
    - pj_log
    - PJ_CONTEXT*::get_cpp_context
    linkageType: ''
    returnType: NS_PROJ::io::DatabaseContextPtr
    signature: NS_PROJ::io::DatabaseContextPtr nfm_getDBcontext(PJ_CONTEXT *ctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/networkfilemanager.cpp:2674,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/networkfilemanager.cpp:2676,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2677,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/src/networkfilemanager.cpp:2680,1
    - Dst: strrchr
      Src: /src/PROJ/src/networkfilemanager.cpp:2685,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2685,1
    - Dst: std::string
      Src: /src/PROJ/src/networkfilemanager.cpp:2689,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/networkfilemanager.cpp:2689,1
    - Dst: PJ_CONTEXT*::lookupedFiles::find
      Src: /src/PROJ/src/networkfilemanager.cpp:2697,1
    - Dst: PJ_CONTEXT*::lookupedFiles::end
      Src: /src/PROJ/src/networkfilemanager.cpp:2698,1
    - Dst: PJ_CONTEXT*::lookupedFiles::erase
      Src: /src/PROJ/src/networkfilemanager.cpp:2699,1
    - Dst: nfm_getDBcontext
      Src: /src/PROJ/src/networkfilemanager.cpp:2702,1
    - Dst: auto::invalidateGridInfo
      Src: /src/PROJ/src/networkfilemanager.cpp:2704,1
    - Dst: GetCurrentProcessId
      Src: /src/PROJ/src/networkfilemanager.cpp:2709,1
    - Dst: getpid
      Src: /src/PROJ/src/networkfilemanager.cpp:2711,1
    - Dst: snprintf
      Src: /src/PROJ/src/networkfilemanager.cpp:2714,1
    - Dst: static_cast<const void *>
      Src: /src/PROJ/src/networkfilemanager.cpp:2715,1
    - Dst: FileManager::open
      Src: /src/PROJ/src/networkfilemanager.cpp:2717,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2717,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2720,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2720,1
    - Dst: getenv
      Src: /src/PROJ/src/networkfilemanager.cpp:2728,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2731,1
    - Dst: atoi
      Src: /src/PROJ/src/networkfilemanager.cpp:2731,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2735,1
    - Dst: PJ_CONTEXT*::networking::open
      Src: /src/PROJ/src/networkfilemanager.cpp:2736,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2737,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2737,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2738,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2740,1
    - Dst: strlen
      Src: /src/PROJ/src/networkfilemanager.cpp:2740,1
    - Dst: std::string::data
      Src: /src/PROJ/src/networkfilemanager.cpp:2740,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2741,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2741,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2742,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2743,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2744,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2744,1
    - Dst: time
      Src: /src/PROJ/src/networkfilemanager.cpp:2749,1
    - Dst: NetworkFile::get_props_from_headers
      Src: /src/PROJ/src/networkfilemanager.cpp:2751,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2752,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2753,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2754,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2754,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2759,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2760,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2761,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2762,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2762,1
    - Dst: auto::write
      Src: /src/PROJ/src/networkfilemanager.cpp:2765,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:2765,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2766,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2767,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2768,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2769,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2769,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2775,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2776,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/networkfilemanager.cpp:2776,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/networkfilemanager.cpp:2778,1
    - Dst: PJ_CONTEXT*::networking::read_range
      Src: /src/PROJ/src/networkfilemanager.cpp:2779,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2780,1
    - Dst: std::string::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2781,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/networkfilemanager.cpp:2783,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2784,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2785,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2786,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2787,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2787,1
    - Dst: auto::write
      Src: /src/PROJ/src/networkfilemanager.cpp:2790,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/networkfilemanager.cpp:2790,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2791,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2792,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2793,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2794,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2794,1
    - Dst: progress_cbk
      Src: /src/PROJ/src/networkfilemanager.cpp:2800,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2802,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2803,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2804,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2804,1
    - Dst: PJ_CONTEXT*::networking::close
      Src: /src/PROJ/src/networkfilemanager.cpp:2809,1
    - Dst: auto::reset
      Src: /src/PROJ/src/networkfilemanager.cpp:2810,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/networkfilemanager.cpp:2811,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2811,1
    - Dst: FileManager::rename
      Src: /src/PROJ/src/networkfilemanager.cpp:2812,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2812,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2813,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2814,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2815,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2815,1
    - Dst: DiskChunkCache::open
      Src: /src/PROJ/src/networkfilemanager.cpp:2819,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:2823,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2827,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2827,1
    - Dst: auto::handle
      Src: /src/PROJ/src/networkfilemanager.cpp:2830,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:2832,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:2833,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2839,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2840,1
    - Dst: NS_PROJ::FileProperties::lastModified::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:2841,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:2842,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2844,1
    - Dst: NS_PROJ::FileProperties::lastModified::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2844,1
    - Dst: NS_PROJ::FileProperties::etag::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:2845,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:2846,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2848,1
    - Dst: NS_PROJ::FileProperties::etag::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2848,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2849,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2849,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:2850,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2851,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:2851,1
    - Dst: auto::prepare
      Src: /src/PROJ/src/networkfilemanager.cpp:2855,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2861,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2861,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2862,1
    - Dst: auto::bindInt64
      Src: /src/PROJ/src/networkfilemanager.cpp:2863,1
    - Dst: NS_PROJ::FileProperties::lastModified::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:2864,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:2865,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2867,1
    - Dst: NS_PROJ::FileProperties::lastModified::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2867,1
    - Dst: NS_PROJ::FileProperties::etag::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:2868,1
    - Dst: auto::bindNull
      Src: /src/PROJ/src/networkfilemanager.cpp:2869,1
    - Dst: auto::bindText
      Src: /src/PROJ/src/networkfilemanager.cpp:2871,1
    - Dst: NS_PROJ::FileProperties::etag::c_str
      Src: /src/PROJ/src/networkfilemanager.cpp:2871,1
    - Dst: auto::execute
      Src: /src/PROJ/src/networkfilemanager.cpp:2872,1
    - Dst: pj_log
      Src: /src/PROJ/src/networkfilemanager.cpp:2873,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/networkfilemanager.cpp:2873,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 134
    argCount: 4
    argNames:
    - ctx
    - url_or_filename
    - ignore_ttl_setting
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2668
    functionDepth: 3
    functionLinenumber: 2668
    functionLinenumberEnd: 2878
    functionName: proj_download_file
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 4
    functionsReached:
    - auto::write
    - pj_get_default_ctx
    - getenv
    - std::string::c_str
    - nfm_getDBcontext
    - sqlite3_errmsg
    - snprintf
    - auto::c_str
    - std::vector::resize
    - FileManager::unlink
    - std::vector::size
    - proj_context_get_user_writable_directory
    - getpid
    - std::vector::data
    - static_cast<const void *>
    - proj_context_is_network_enabled
    - FileManager::open
    - NetworkFile::get_props_from_headers
    - PJ_CONTEXT*::networking::open
    - static_cast<size_t>
    - GetCurrentProcessId
    - PJ_CONTEXT*::networking::read_range
    - auto::bindText
    - auto::bindNull
    - strlen
    - auto::bindInt64
    - std::string
    - NS_PROJ::FileProperties::etag::c_str
    - PJ_CONTEXT*::networking::close
    - std::string::size
    - auto::prepare
    - auto::handle
    - std::string::resize
    - PJ_CONTEXT*::lookupedFiles::find
    - progress_cbk
    - pj_log
    - PJ_CONTEXT*::lookupedFiles::end
    - DiskChunkCache::open
    - auto::execute
    - FileManager::rename
    - NS_PROJ::FileProperties::etag::empty
    - atoi
    - time
    - NS_PROJ::FileProperties::lastModified::empty
    - PJ_CONTEXT*::lookupedFiles::erase
    - strrchr
    - auto::reset
    - auto::invalidateGridInfo
    - proj_is_download_needed
    - NS_PROJ::FileProperties::lastModified::c_str
    - std::string::data
    linkageType: ''
    returnType: int
    signature: "int proj_download_file(PJ_CONTEXT *ctx, const char *url_or_filename,\n
      \                      int ignore_ttl_setting,\n                       int (*progress_cbk)(PJ_CONTEXT
      *, double pct,\n                                           void *user_data),\n
      \                      void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_load_ini
      Src: /src/PROJ/src/networkfilemanager.cpp:2887,1
    - Dst: PJ_CONTEXT*::gridChunkCache::filename::empty
      Src: /src/PROJ/src/networkfilemanager.cpp:2888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2886
    functionDepth: 1
    functionLinenumber: 2886
    functionLinenumberEnd: 2894
    functionName: pj_context_get_grid_cache_filename
    functionSourceFile: /src/PROJ/src/networkfilemanager.cpp
    functionUses: 11
    functionsReached:
    - pj_load_ini
    - PJ_CONTEXT*::gridChunkCache::filename::empty
    linkageType: ''
    returnType: std::string
    signature: std::string pj_context_get_grid_cache_filename(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - pj_sqlite3_vfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: SQLite3VFS::SQLite3VFS
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLite3VFS::SQLite3VFS(pj_sqlite3_vfs *vfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_vfs_unregister
      Src: /src/PROJ/src/sqlite3_utils.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: SQLite3VFS::~SQLite3VFS()
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_vfs_unregister
    linkageType: ''
    returnType: void
    signature: void SQLite3VFS::~SQLite3VFS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: namePtr::c_str
      Src: /src/PROJ/src/sqlite3_utils.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: SQLite3VFS::name
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - namePtr::c_str
    linkageType: ''
    returnType: char
    signature: char *SQLite3VFS::name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_vfs_find
      Src: /src/PROJ/src/sqlite3_utils.cpp:79,1
    - Dst: assert
      Src: /src/PROJ/src/sqlite3_utils.cpp:80,1
    - Dst: std::memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:82,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:83,1
    - Dst: const_cast<sqlite3_io_methods *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:85,1
    - Dst: defaultClosePtr
      Src: /src/PROJ/src/sqlite3_utils.cpp:86,1
    - Dst: free
      Src: /src/PROJ/src/sqlite3_utils.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - sqlite3_file*
    assertStmts:
    - condition: (defaultVFS)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: VFSClose
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - free
    - sqlite3_vfs_find
    - std::memcpy
    - defaultClosePtr
    - assert
    - reinterpret_cast<char *>
    - const_cast<sqlite3_io_methods *>
    linkageType: ''
    returnType: int
    signature: int VFSClose(sqlite3_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: VSFNoOpLockUnlockSync
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VSFNoOpLockUnlockSync(sqlite3_file *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pj_sqlite3_customvfs_appdata *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: ~pj_sqlite3_customvfs() override
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<pj_sqlite3_customvfs_appdata *>
    linkageType: ''
    returnType: void
    signature: void ~pj_sqlite3_customvfs() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pj_sqlite3_customvfs_appdata *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: ~pj_sqlite3_customvfs() override
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<pj_sqlite3_customvfs_appdata *>
    linkageType: ''
    returnType: void
    signature: void ~pj_sqlite3_customvfs() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pj_sqlite3_customvfs_appdata *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:116,1
    - Dst: sqlite3_vfs*::xOpen
      Src: /src/PROJ/src/sqlite3_utils.cpp:118,1
    - Dst: assert
      Src: /src/PROJ/src/sqlite3_utils.cpp:121,1
    - Dst: static_cast<sqlite3_io_methods *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:122,1
    - Dst: malloc
      Src: /src/PROJ/src/sqlite3_utils.cpp:123,1
    - Dst: sqlite3_file*::pMethods::xClose
      Src: /src/PROJ/src/sqlite3_utils.cpp:125,1
    - Dst: memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:128,1
    - Dst: std::memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:142,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - vfs
    - name
    - file
    - flags
    - outFlags
    argTypes:
    - sqlite3_vfs*
    - char*
    - sqlite3_file*
    - int
    - int*
    assertStmts:
    - condition: (defaultClosePtr)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    constantsTouched: []
    func_position:
      end: 146
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 146
    functionName: VFSCustomOpen
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_vfs*::xOpen
    - sqlite3_file*::pMethods::xClose
    - memcpy
    - static_cast<pj_sqlite3_customvfs_appdata *>
    - std::memcpy
    - assert
    - reinterpret_cast<char *>
    - malloc
    - static_cast<sqlite3_io_methods *>
    linkageType: ''
    returnType: int
    signature: "int VFSCustomOpen(sqlite3_vfs *vfs, const char *name, sqlite3_file
      *file,\n                         int flags, int *outFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sqlite3_vfs *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:152,1
    - Dst: std::strstr
      Src: /src/PROJ/src/sqlite3_utils.cpp:154,1
    - Dst: std::strstr
      Src: /src/PROJ/src/sqlite3_utils.cpp:154,1
    - Dst: sqlite3_vfs*::xAccess
      Src: /src/PROJ/src/sqlite3_utils.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - vfs
    - zName
    - flags
    - pResOut
    argTypes:
    - sqlite3_vfs*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: VFSCustomAccess
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sqlite3_vfs *>
    - sqlite3_vfs*::xAccess
    - std::strstr
    linkageType: ''
    returnType: int
    signature: "int VFSCustomAccess(sqlite3_vfs *vfs, const char *zName, int flags,\n
      \                          int *pResOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/sqlite3_utils.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iErrCode
    - zMsg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: projSqlite3LogCallback
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void projSqlite3LogCallback(void *, int iErrCode, const char *zMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/sqlite3_utils.cpp:171,1
    - Dst: sqlite3_config
      Src: /src/PROJ/src/sqlite3_utils.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: InstallSqliteLogger
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - sqlite3_config
    linkageType: ''
    returnType: void
    signature: void InstallSqliteLogger()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '&GetSingleton()'
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstallSqliteLogger
    signature: InstallSqliteLogger &GetSingleton()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/sqlite3_utils.cpp:171,1
    - Dst: sqlite3_config
      Src: /src/PROJ/src/sqlite3_utils.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: InstallSqliteLogger
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - sqlite3_config
    linkageType: ''
    returnType: void
    signature: void InstallSqliteLogger()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '&GetSingleton()'
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstallSqliteLogger
    signature: InstallSqliteLogger &GetSingleton()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InstallSqliteLogger::GetSingleton
      Src: /src/PROJ/src/sqlite3_utils.cpp:189,1
    - Dst: sqlite3_initialize
      Src: /src/PROJ/src/sqlite3_utils.cpp:193,1
    - Dst: sqlite3_vfs_find
      Src: /src/PROJ/src/sqlite3_utils.cpp:194,1
    - Dst: assert
      Src: /src/PROJ/src/sqlite3_utils.cpp:195,1
    - Dst: pj_sqlite3_customvfs::pj_sqlite3_customvfs
      Src: /src/PROJ/src/sqlite3_utils.cpp:197,1
    - Dst: std::unique_ptr<SQLite3VFS>
      Src: /src/PROJ/src/sqlite3_utils.cpp:199,1
    - Dst: SQLite3VFS::SQLite3VFS
      Src: /src/PROJ/src/sqlite3_utils.cpp:199,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/sqlite3_utils.cpp:203,1
    - Dst: auto::namePtr::c_str
      Src: /src/PROJ/src/sqlite3_utils.cpp:208,1
    - Dst: pj_sqlite3_customvfs_appdata::pj_sqlite3_customvfs_appdata
      Src: /src/PROJ/src/sqlite3_utils.cpp:209,1
    - Dst: sqlite3_vfs_register
      Src: /src/PROJ/src/sqlite3_utils.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - fakeSync
    - fakeLock
    - skipStatJournalAndWAL
    argTypes:
    - bool
    - bool
    - bool
    assertStmts:
    - condition: (defaultVFS)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 234
    functionName: SQLite3VFS::create
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 1
    functionsReached:
    - SQLite3VFS::SQLite3VFS
    - sqlite3_vfs_find
    - pj_sqlite3_customvfs_appdata::pj_sqlite3_customvfs_appdata
    - sqlite3_vfs_register
    - assert
    - sqlite3_initialize
    - InstallSqliteLogger::GetSingleton
    - auto::namePtr::c_str
    - pj_sqlite3_customvfs::pj_sqlite3_customvfs
    - std::ostringstream::str
    - std::unique_ptr<SQLite3VFS>
    linkageType: ''
    returnType: std::unique_ptr<SQLite3VFS>
    signature: "std::unique_ptr<SQLite3VFS> SQLite3VFS::create(bool fakeSync, bool
      fakeLock,\n                                               bool skipStatJournalAndWAL)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:240,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - sqlite3_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: VFSNetworkClose
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int VFSNetworkClose(sqlite3_file *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:251,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:251,1
    - Dst: File*::seek
      Src: /src/PROJ/src/sqlite3_utils.cpp:253,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/sqlite3_utils.cpp:255,1
    - Dst: File*::read
      Src: /src/PROJ/src/sqlite3_utils.cpp:255,1
    - Dst: memset
      Src: /src/PROJ/src/sqlite3_utils.cpp:257,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - file
    - pBuffer
    - iAmt
    - iOffset
    argTypes:
    - sqlite3_file*
    - void*
    - int
    - sqlite3_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: VFSNetworkRead
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<int>
    - memset
    - File*::read
    - reinterpret_cast<char *>
    - File*::seek
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: "int VFSNetworkRead(sqlite3_file *file, void *pBuffer, int iAmt,\n
      \                         sqlite3_int64 iOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: VFSNetworkWrite
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkWrite(sqlite3_file *, const void *, int, sqlite3_int64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:273,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:273,1
    - Dst: File*::seek
      Src: /src/PROJ/src/sqlite3_utils.cpp:275,1
    - Dst: File*::tell
      Src: /src/PROJ/src/sqlite3_utils.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - file
    - pSize
    argTypes:
    - sqlite3_file*
    - sqlite3_int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: VFSNetworkFileSize
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - File*::tell
    - File*::seek
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int VFSNetworkFileSize(sqlite3_file *file, sqlite3_int64 *pSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: VFSNetworkTruncate
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkTruncate(sqlite3_file *, sqlite3_int64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: VFSNetworkSync
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkSync(sqlite3_file *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: VFSNetworkLock
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkLock(sqlite3_file *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: VFSNetworkUnlock
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkUnlock(sqlite3_file *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pResOut
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: VFSNetworkCheckReservedLock
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkCheckReservedLock(sqlite3_file *, int *pResOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: VFSNetworkFileControl
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkFileControl(sqlite3_file *, int, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: VFSNetworkSectorSize
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkSectorSize(sqlite3_file *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: VFSNetworkDeviceCharacteristics
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkDeviceCharacteristics(sqlite3_file *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PJ_CONTEXT *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:348,1
    - Dst: pj_network_file_open
      Src: /src/PROJ/src/sqlite3_utils.cpp:349,1
    - Dst: auto::release
      Src: /src/PROJ/src/sqlite3_utils.cpp:353,1
    - Dst: memcpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:354,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/sqlite3_utils.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vfs
    - name
    - file
    argTypes:
    - sqlite3_vfs*
    - char*
    - sqlite3_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: VFSNetworkOpen
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pj_network_file_open
    - auto::release
    - reinterpret_cast<char *>
    - static_cast<PJ_CONTEXT *>
    linkageType: ''
    returnType: int
    signature: "int VFSNetworkOpen(sqlite3_vfs *vfs, const char *name,\n                          sqlite3_file
      *file, int /*flags*/,\n                          int * /*outFlags*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PROJ/src/sqlite3_utils.cpp:364,1
    - Dst: strlen
      Src: /src/PROJ/src/sqlite3_utils.cpp:364,1
    - Dst: fprintf
      Src: /src/PROJ/src/sqlite3_utils.cpp:365,1
    - Dst: strncpy
      Src: /src/PROJ/src/sqlite3_utils.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - zName
    - nOut
    - zOut
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: VFSNetworkFullPathname
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strncpy
    - strlen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int VFSNetworkFullPathname(sqlite3_vfs *, const char *zName, int nOut,\n
      \                                 char *zOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pResOut
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: VFSNetworkAccess
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkAccess(sqlite3_vfs *, const char *, int, int *pResOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: VFSNetworkDelete
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VFSNetworkDelete(sqlite3_vfs *, const char *, int)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InstallSqliteLogger::GetSingleton
      Src: /src/PROJ/src/sqlite3_utils.cpp:392,1
    - Dst: sqlite3_initialize
      Src: /src/PROJ/src/sqlite3_utils.cpp:396,1
    - Dst: sqlite3_vfs_find
      Src: /src/PROJ/src/sqlite3_utils.cpp:397,1
    - Dst: assert
      Src: /src/PROJ/src/sqlite3_utils.cpp:398,1
    - Dst: pj_sqlite3_vfs::pj_sqlite3_vfs
      Src: /src/PROJ/src/sqlite3_utils.cpp:400,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/sqlite3_utils.cpp:404,1
    - Dst: auto::namePtr::c_str
      Src: /src/PROJ/src/sqlite3_utils.cpp:409,1
    - Dst: sqlite3_vfs_register
      Src: /src/PROJ/src/sqlite3_utils.cpp:424,1
    - Dst: std::unique_ptr<SQLite3VFS>
      Src: /src/PROJ/src/sqlite3_utils.cpp:425,1
    - Dst: SQLite3VFS::SQLite3VFS
      Src: /src/PROJ/src/sqlite3_utils.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts:
    - condition: (defaultVFS)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 428
    functionName: SQLite3VFS::createNetwork
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - SQLite3VFS::SQLite3VFS
    - sqlite3_vfs_find
    - sqlite3_vfs_register
    - assert
    - sqlite3_initialize
    - InstallSqliteLogger::GetSingleton
    - auto::namePtr::c_str
    - std::ostringstream::str
    - std::unique_ptr<SQLite3VFS>
    - pj_sqlite3_vfs::pj_sqlite3_vfs
    linkageType: ''
    returnType: std::unique_ptr<SQLite3VFS>
    signature: std::unique_ptr<SQLite3VFS> SQLite3VFS::createNetwork(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sqlite3_memvfs_deallocate_user_data
      Src: /src/PROJ/src/sqlite3_utils.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: pj_sqlite3_memvfs::~pj_sqlite3_memvfs()
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - pj_sqlite3_memvfs_deallocate_user_data
    linkageType: ''
    returnType: void
    signature: void pj_sqlite3_memvfs::~pj_sqlite3_memvfs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InstallSqliteLogger::GetSingleton
      Src: /src/PROJ/src/sqlite3_utils.cpp:446,1
    - Dst: sqlite3_initialize
      Src: /src/PROJ/src/sqlite3_utils.cpp:450,1
    - Dst: pj_sqlite3_memvfs::pj_sqlite3_memvfs
      Src: /src/PROJ/src/sqlite3_utils.cpp:452,1
    - Dst: std::unique_ptr<SQLite3VFS>
      Src: /src/PROJ/src/sqlite3_utils.cpp:454,1
    - Dst: SQLite3VFS::SQLite3VFS
      Src: /src/PROJ/src/sqlite3_utils.cpp:454,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/sqlite3_utils.cpp:458,1
    - Dst: pj_sqlite3_memvfs_init
      Src: /src/PROJ/src/sqlite3_utils.cpp:459,1
    - Dst: auto::namePtr::c_str
      Src: /src/PROJ/src/sqlite3_utils.cpp:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - membuffer
    - bufferSize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 466
    functionName: SQLite3VFS::createMem
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 0
    functionsReached:
    - SQLite3VFS::SQLite3VFS
    - pj_sqlite3_memvfs::pj_sqlite3_memvfs
    - sqlite3_initialize
    - InstallSqliteLogger::GetSingleton
    - auto::namePtr::c_str
    - std::ostringstream::str
    - pj_sqlite3_memvfs_init
    - std::unique_ptr<SQLite3VFS>
    linkageType: ''
    returnType: std::unique_ptr<SQLite3VFS>
    signature: "std::unique_ptr<SQLite3VFS> SQLite3VFS::createMem(const void *membuffer,\n
      \                                                 size_t bufferSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hStmtIn
    argTypes:
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: SQLiteStatement::SQLiteStatement
    functionSourceFile: /src/PROJ/src/sqlite3_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteStatement::SQLiteStatement(sqlite3_stmt *hStmtIn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/aasincos.cpp:14,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/aasincos.cpp:16,1
    - Dst: asin
      Src: /src/PROJ/src/aasincos.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - PJ_CONTEXT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: aasin
    functionSourceFile: /src/PROJ/src/aasincos.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - asin
    - fabs
    linkageType: ''
    returnType: double
    signature: double aasin(PJ_CONTEXT *ctx, double v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/aasincos.cpp:26,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/aasincos.cpp:28,1
    - Dst: acos
      Src: /src/PROJ/src/aasincos.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - PJ_CONTEXT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: aacos
    functionSourceFile: /src/PROJ/src/aasincos.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - acos
    - fabs
    linkageType: ''
    returnType: double
    signature: double aacos(PJ_CONTEXT *ctx, double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/aasincos.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: asqrt
    functionSourceFile: /src/PROJ/src/aasincos.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double asqrt(double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/aasincos.cpp:36,1
    - Dst: fabs
      Src: /src/PROJ/src/aasincos.cpp:36,1
    - Dst: atan2
      Src: /src/PROJ/src/aasincos.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: aatan2
    functionSourceFile: /src/PROJ/src/aasincos.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - fabs
    linkageType: ''
    returnType: double
    signature: double aatan2(double n, double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_wkt_error
      Src: /src/PROJ/src/wkt1_parser.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - pj_wkt1_parse_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: pj_wkt1_error
    functionSourceFile: /src/PROJ/src/wkt1_parser.cpp
    functionUses: 0
    functionsReached:
    - pj_wkt_error
    linkageType: ''
    returnType: void
    signature: void pj_wkt1_error(pj_wkt1_parse_context *context, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/PROJ/src/wkt1_parser.cpp:59,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/wkt1_parser.cpp:60,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/wkt1_parser.cpp:61,1
    - Dst: pj_wkt1_parse
      Src: /src/PROJ/src/wkt1_parser.cpp:62,1
    - Dst: std::string
      Src: /src/PROJ/src/wkt1_parser.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: pj_wkt1_parse
    functionSourceFile: /src/PROJ/src/wkt1_parser.cpp
    functionUses: 1
    functionsReached:
    - pj_wkt1_parse
    - std::string::c_str
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string pj_wkt1_parse(const std::string &wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: PAIR
    functionSourceFile: /src/PROJ/src/wkt1_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR(X)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/PROJ/src/wkt1_parser.cpp:115,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/wkt1_parser.cpp:117,1
    - Dst: isalpha
      Src: /src/PROJ/src/wkt1_parser.cpp:118,1
    - Dst: strlen
      Src: /src/PROJ/src/wkt1_parser.cpp:118,1
    - Dst: strlen
      Src: /src/PROJ/src/wkt1_parser.cpp:119,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 56
    argCount: 1
    argNames:
    - context
    argTypes:
    - pj_wkt1_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 193
    functionName: pj_wkt1_lex
    functionSourceFile: /src/PROJ/src/wkt1_parser.cpp
    functionUses: 0
    functionsReached:
    - ci_starts_with
    - isalpha
    - strlen
    linkageType: ''
    returnType: int
    signature: int pj_wkt1_lex(YYSTYPE * /*pNode */, pj_wkt1_parse_context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:51,1
    - Dst: std::string
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:58,1
    - Dst: CPLJSonStreamingWriter
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:77,1
    - Dst: Add
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:91,1
    - Dst: static_cast<GIntBig>
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:91,1
    - Dst: Add
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:92,1
    - Dst: static_cast<GIntBig>
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:92,1
    - Dst: CPLJSonStreamingWriter::StartObj
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:110,1
    - Dst: CPLJSonStreamingWriter::EndObj
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:112,1
    - Dst: ObjectContext
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:114,1
    - Dst: GetNewLine
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:129,1
    - Dst: SetNewline
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:131,1
    - Dst: CPLJSonStreamingWriter::StartArray
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:132,1
    - Dst: CPLJSonStreamingWriter::EndArray
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:135,1
    - Dst: CPLJSonStreamingWriter::SetNewline
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:137,1
    - Dst: ArrayContext
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 146
    functionName: CPLJSonStreamingWriter
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached:
    - SetNewline
    - CPLJSonStreamingWriter
    - static_cast<GIntBig>
    - ArrayContext
    - CPLJSonStreamingWriter::StartObj
    - CPLJSonStreamingWriter::EndArray
    - CPLJSonStreamingWriter::StartArray
    - CPLJSonStreamingWriter::SetNewline
    - std::string
    - Add
    - GetNewLine
    - CPLJSonStreamingWriter::EndObj
    - ObjectContext
    linkageType: ''
    returnType: class CPL_DLL
    signature: class CPL_DLL CPLJSonStreamingWriter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bIsObjIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: State
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void State(bool bIsObjIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bPretty
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: SetPrettyFormatting
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPrettyFormatting(bool bPretty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: GetString
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &GetString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:91,1
    - Dst: static_cast<GIntBig>
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nVal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 2
    functionsReached:
    - Add
    - static_cast<GIntBig>
    linkageType: ''
    returnType: void
    signature: void Add(int nVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:92,1
    - Dst: static_cast<GIntBig>
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nVal
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Add
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 3
    functionsReached:
    - Add
    - static_cast<GIntBig>
    linkageType: ''
    returnType: void
    signature: void Add(unsigned int nVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::StartObj
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:110,1
    - Dst: CPLJSonStreamingWriter::EndObj
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: ObjectContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached:
    - CPLJSonStreamingWriter::EndObj
    - CPLJSonStreamingWriter::StartObj
    linkageType: ''
    returnType: struct CPL_DLL
    signature: struct CPL_DLL ObjectContext
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ObjectContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectContext(const ObjectContext &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ObjectContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectContext(ObjectContext &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartObj
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - CPLJSonStreamingWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ObjectContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached:
    - StartObj
    linkageType: ''
    returnType: void
    signature: void ObjectContext(CPLJSonStreamingWriter &serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndObj
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~ObjectContext()
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 0
    functionsReached:
    - EndObj
    linkageType: ''
    returnType: void
    signature: void ~ObjectContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjectContext
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: MakeObjectContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 0
    functionsReached:
    - ObjectContext
    linkageType: ''
    returnType: ObjectContext
    signature: ObjectContext MakeObjectContext()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetNewLine
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:129,1
    - Dst: SetNewline
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:131,1
    - Dst: CPLJSonStreamingWriter::StartArray
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:132,1
    - Dst: CPLJSonStreamingWriter::EndArray
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:135,1
    - Dst: CPLJSonStreamingWriter::SetNewline
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: ArrayContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached:
    - SetNewline
    - CPLJSonStreamingWriter::EndArray
    - CPLJSonStreamingWriter::StartArray
    - CPLJSonStreamingWriter::SetNewline
    - GetNewLine
    linkageType: ''
    returnType: struct CPL_DLL
    signature: struct CPL_DLL ArrayContext
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ArrayContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArrayContext(const ArrayContext &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ArrayContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArrayContext(ArrayContext &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPLJSonStreamingWriter::GetNewLine
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:129,1
    - Dst: CPLJSonStreamingWriter::SetNewline
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:131,1
    - Dst: StartArray
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - CPLJSonStreamingWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: ArrayContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 1
    functionsReached:
    - StartArray
    - CPLJSonStreamingWriter::GetNewLine
    - CPLJSonStreamingWriter::SetNewline
    linkageType: ''
    returnType: void
    signature: "void ArrayContext(CPLJSonStreamingWriter &serializer,\n                                     bool
      bForceSingleLine = false)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EndArray
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:135,1
    - Dst: SetNewline
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: ~ArrayContext()
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 0
    functionsReached:
    - SetNewline
    - EndArray
    linkageType: ''
    returnType: void
    signature: void ~ArrayContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayContext
      Src: /src/PROJ/src/proj_json_streaming_writer.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: MakeArrayContext
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 0
    functionsReached:
    - ArrayContext
    linkageType: ''
    returnType: ArrayContext
    signature: ArrayContext MakeArrayContext(bool bForceSingleLine = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: GetNewLine
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GetNewLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: SetNewline
    functionSourceFile: /src/PROJ/src/proj_json_streaming_writer.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNewline(bool bEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: YY_CAST
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: YY_CAST
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: YYSIZEOF
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSIZEOF(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: YY_
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: YY_
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: YYUSE
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYUSE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: YY_INITIAL_VALUE
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INITIAL_VALUE(Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: YY_ASSERT
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ASSERT(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: YYSTACK_BYTES
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_BYTES(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Stack_alloc
    - ','
    - Stack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 476
    functionName: YYSTACK_RELOCATE
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_RELOCATE(Stack_alloc, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: YYCOPY
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: YYCOPY
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - YYX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: YYTRANSLATE
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYTRANSLATE(YYX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: yypact_value_is_default
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yypact_value_is_default(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: yytable_value_is_error
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yytable_value_is_error(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 873
    functionName: YYRECOVERING
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRECOVERING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Token
    - ','
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 890
    functionName: YYBACKUP
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYBACKUP(Token, Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 910
    functionName: YYDPRINTF
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 914
    functionName: YY_LOCATION_PRINT
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_LOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Title
    - ','
    - Type
    - ','
    - Value
    - ','
    - Location
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 927
    functionName: YY_SYMBOL_PRINT
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SYMBOL_PRINT(Title, Type, Value, Location)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt1_generated_parser.c:937,1
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt1_generated_parser.c:938,1
    - Dst: YYPRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - yyo
    - yytype
    - yyvaluep
    - context
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - pj_wkt1_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 948
    functionName: yy_symbol_value_print
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached:
    - YYPRINT
    - YYUSE
    linkageType: ''
    returnType: void
    signature: void yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const *
      const yyvaluep, pj_wkt1_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:958,1
    - Dst: yy_symbol_value_print
      Src: /src/PROJ/src/wkt1_generated_parser.c:961,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - yyo
    - yytype
    - yyvaluep
    - context
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - pj_wkt1_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: yy_symbol_print
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached:
    - yy_symbol_value_print
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const
      yyvaluep, pj_wkt1_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:973,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:977,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - yybottom
    - yytop
    argTypes:
    - yy_state_t*
    - yy_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 980
    functionName: yy_stack_print
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Bottom
    - ','
    - Top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 987
    functionName: YY_STACK_PRINT
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STACK_PRINT(Bottom, Top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:999,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1004,1
    - Dst: yy_symbol_print
      Src: /src/PROJ/src/wkt1_generated_parser.c:1005,1
    - Dst: YYFPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - yyssp
    - yyvsp
    - yyrule
    - context
    argTypes:
    - yy_state_t*
    - YYSTYPE*
    - int
    - pj_wkt1_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1011
    functionName: yy_reduce_print
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached:
    - yy_symbol_print
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule,
      pj_wkt1_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1018
    functionName: YY_REDUCE_PRINT
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REDUCE_PRINT(Rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1052
    functionName: yystrlen
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yystrlen(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - yystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1061
    functionName: yystrlen
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yystrlen (const char *yystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - yydest
    - yysrc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1081
    functionName: yystpcpy
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yystpcpy (char *yydest, const char *yysrc)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yystpcpy
      Src: /src/PROJ/src/wkt1_generated_parser.c:1130,1
    - Dst: yystrlen
      Src: /src/PROJ/src/wkt1_generated_parser.c:1132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - yyres
    - yystr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1133
    functionName: yytnamerr
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached:
    - yystrlen
    - yystpcpy
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yytnamerr
      Src: /src/PROJ/src/wkt1_generated_parser.c:1185,1
    - Dst: yypact_value_is_default
      Src: /src/PROJ/src/wkt1_generated_parser.c:1188,1
    - Dst: yytable_value_is_error
      Src: /src/PROJ/src/wkt1_generated_parser.c:1201,1
    - Dst: yytnamerr
      Src: /src/PROJ/src/wkt1_generated_parser.c:1212,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1229,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1229,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1230,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1230,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1231,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1231,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1232,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1232,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1233,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1233,1
    - Dst: YYCASE_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1234,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1234,1
    - Dst: yystrlen
      Src: /src/PROJ/src/wkt1_generated_parser.c:1241,1
    - Dst: yytnamerr
      Src: /src/PROJ/src/wkt1_generated_parser.c:1266,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - yymsg_alloc
    - yymsg
    - yyssp
    - yytoken
    argTypes:
    - YYPTRDIFF_T*
    - char**
    - yy_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1276
    functionName: yysyntax_error
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached:
    - yypact_value_is_default
    - YYCASE_
    - yytable_value_is_error
    - YY_
    - yystrlen
    - yytnamerr
    linkageType: ''
    returnType: int
    signature: "int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,\n                yy_state_t
      *yyssp, int yytoken)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1228
    functionName: YYCASE_
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCASE_(N, S)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1286,1
    - Dst: YYUSE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1287,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - yymsg
    - yytype
    - yyvaluep
    - context
    argTypes:
    - char*
    - int
    - YYSTYPE*
    - pj_wkt1_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1295
    functionName: yydestruct
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 1
    functionsReached:
    - YYUSE
    - YY_SYMBOL_PRINT
    linkageType: ''
    returnType: void
    signature: void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep,
      pj_wkt1_parse_context *context)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1368,1
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1390,1
    - Dst: YY_ASSERT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1391,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt1_generated_parser.c:1393,1
    - Dst: yyoverflow
      Src: /src/PROJ/src/wkt1_generated_parser.c:1416,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1416,1
    - Dst: YYSIZEOF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1417,1
    - Dst: YYSIZEOF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1418,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt1_generated_parser.c:1434,1
    - Dst: YYSTACK_ALLOC
      Src: /src/PROJ/src/wkt1_generated_parser.c:1435,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt1_generated_parser.c:1435,1
    - Dst: YYSTACK_BYTES
      Src: /src/PROJ/src/wkt1_generated_parser.c:1435,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1438,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1439,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1442,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt1_generated_parser.c:1451,1
    - Dst: yypact_value_is_default
      Src: /src/PROJ/src/wkt1_generated_parser.c:1474,1
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1482,1
    - Dst: yylex
      Src: /src/PROJ/src/wkt1_generated_parser.c:1483,1
    - Dst: YYDPRINTF
      Src: /src/PROJ/src/wkt1_generated_parser.c:1489,1
    - Dst: YYTRANSLATE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1493,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1494,1
    - Dst: yytable_value_is_error
      Src: /src/PROJ/src/wkt1_generated_parser.c:1505,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1517,1
    - Dst: YY_REDUCE_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1556,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1574,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt1_generated_parser.c:1576,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1578,1
    - Dst: YYTRANSLATE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1602,1
    - Dst: yyerror
      Src: /src/PROJ/src/wkt1_generated_parser.c:1609,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1609,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1614,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1622,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt1_generated_parser.c:1623,1
    - Dst: YYSTACK_ALLOC
      Src: /src/PROJ/src/wkt1_generated_parser.c:1623,1
    - Dst: YY_CAST
      Src: /src/PROJ/src/wkt1_generated_parser.c:1623,1
    - Dst: yyerror
      Src: /src/PROJ/src/wkt1_generated_parser.c:1636,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt1_generated_parser.c:1659,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt1_generated_parser.c:1682,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1684,1
    - Dst: yypact_value_is_default
      Src: /src/PROJ/src/wkt1_generated_parser.c:1699,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt1_generated_parser.c:1715,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt1_generated_parser.c:1717,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1719,1
    - Dst: yyerror
      Src: /src/PROJ/src/wkt1_generated_parser.c:1755,1
    - Dst: YY_
      Src: /src/PROJ/src/wkt1_generated_parser.c:1755,1
    - Dst: YYTRANSLATE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1769,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt1_generated_parser.c:1770,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt1_generated_parser.c:1775,1
    - Dst: YY_STACK_PRINT
      Src: /src/PROJ/src/wkt1_generated_parser.c:1776,1
    - Dst: yydestruct
      Src: /src/PROJ/src/wkt1_generated_parser.c:1779,1
    - Dst: YYPOPSTACK
      Src: /src/PROJ/src/wkt1_generated_parser.c:1781,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1785,1
    - Dst: YYSTACK_FREE
      Src: /src/PROJ/src/wkt1_generated_parser.c:1789,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 210
    argCount: 1
    argNames:
    - context
    argTypes:
    - pj_wkt1_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1792
    functionName: yyparse
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 0
    functionsReached:
    - YYSIZEOF
    - yylex
    - YY_REDUCE_PRINT
    - YY_
    - yyoverflow
    - YYSTACK_ALLOC
    - YY_STACK_PRINT
    - yypact_value_is_default
    - YY_CAST
    - yydestruct
    - YY_SYMBOL_PRINT
    - yyerror
    - YYSTACK_BYTES
    - YYTRANSLATE
    - YYSTACK_FREE
    - YYPOPSTACK
    - YY_ASSERT
    - yytable_value_is_error
    - YYDPRINTF
    - YYSTACK_RELOCATE
    linkageType: ''
    returnType: int
    signature: int yyparse (pj_wkt1_parse_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1359
    functionName: YYPOPSTACK
    functionSourceFile: /src/PROJ/src/wkt1_generated_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPOPSTACK(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:42,1
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:42,1
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:43,1
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - coo
    argTypes:
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pj_coord_has_nans
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool pj_coord_has_nans(PJ_COORD coo)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/PROJ/src/trans.cpp:57,1
    - Dst: fmod
      Src: /src/PROJ/src/trans.cpp:61,1
    - Dst: simple_max
      Src: /src/PROJ/src/trans.cpp:69,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/trans.cpp:70,1
    - Dst: std::vector<PJCoordOperation>::size
      Src: /src/PROJ/src/trans.cpp:70,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/trans.cpp:84,1
    - Dst: normalizeLongitude
      Src: /src/PROJ/src/trans.cpp:99,1
    - Dst: normalizeLongitude
      Src: /src/PROJ/src/trans.cpp:106,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/trans.cpp:119,1
    - Dst: normalizeLongitude
      Src: /src/PROJ/src/trans.cpp:134,1
    - Dst: normalizeLongitude
      Src: /src/PROJ/src/trans.cpp:141,1
    - Dst: auto::isInstantiable
      Src: /src/PROJ/src/trans.cpp:166,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 77
    argCount: 5
    argNames:
    - opList
    - iExcluded
    - skipNonInstantiable
    - direction
    - coord
    argTypes:
    - std::vector<PJCoordOperation>
    - int[]
    - bool
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 176
    functionName: pj_get_suggested_operation
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fmod
    - normalizeLongitude
    - std::vector<PJCoordOperation>::size
    - auto::isInstantiable
    - simple_max
    - pj_fwd4d
    linkageType: ''
    returnType: int
    signature: "int pj_get_suggested_operation(PJ_CONTEXT *,\n                               const
      std::vector<PJCoordOperation> &opList,\n                               const
      int iExcluded[2], bool skipNonInstantiable,\n                               PJ_DIRECTION
      direction, PJ_COORD coord)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_name
      Src: /src/PROJ/src/trans.cpp:183,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/src/trans.cpp:185,1
    - Dst: proj_coordoperation_get_grid_used
      Src: /src/PROJ/src/trans.cpp:189,1
    - Dst: pj_log
      Src: /src/PROJ/src/trans.cpp:207,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/trans.cpp:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 211
    functionName: pj_warn_about_missing_grid
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_coordoperation_get_grid_used_count
    - proj_coordoperation_get_grid_used
    - pj_log
    - proj_get_name
    linkageType: ''
    returnType: void
    signature: void pj_warn_about_missing_grid(PJ *P)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans.cpp:225,1
    - Dst: pj_log
      Src: /src/PROJ/src/trans.cpp:228,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans.cpp:229,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/trans.cpp:230,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/trans.cpp:233,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/trans.cpp:241,1
    - Dst: PJ*::alternativeCoordinateOperations::size
      Src: /src/PROJ/src/trans.cpp:241,1
    - Dst: pj_get_suggested_operation
      Src: /src/PROJ/src/trans.cpp:251,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/trans.cpp:258,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/trans.cpp:259,1
    - Dst: pj_log
      Src: /src/PROJ/src/trans.cpp:260,1
    - Dst: proj_context_errno_string
      Src: /src/PROJ/src/trans.cpp:261,1
    - Dst: pj_log
      Src: /src/PROJ/src/trans.cpp:263,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/trans.cpp:270,1
    - Dst: pj_log
      Src: /src/PROJ/src/trans.cpp:273,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/trans.cpp:273,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/trans.cpp:281,1
    - Dst: pj_inv4d
      Src: /src/PROJ/src/trans.cpp:283,1
    - Dst: proj_errno
      Src: /src/PROJ/src/trans.cpp:284,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/trans.cpp:285,1
    - Dst: pj_warn_about_missing_grid
      Src: /src/PROJ/src/trans.cpp:291,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans.cpp:293,1
    - Dst: PJ*::ctx::cpp_context::getDatabaseContext
      Src: /src/PROJ/src/trans.cpp:312,1
    - Dst: dynamic_cast<NS_PROJ::operation::CoordinateOperation *>
      Src: /src/PROJ/src/trans.cpp:319,1
    - Dst: auto::pj::iso_obj::get
      Src: /src/PROJ/src/trans.cpp:320,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/src/trans.cpp:322,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/trans.cpp:324,1
    - Dst: pj_log
      Src: /src/PROJ/src/trans.cpp:330,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/trans.cpp:330,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/trans.cpp:335,1
    - Dst: pj_inv4d
      Src: /src/PROJ/src/trans.cpp:337,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans.cpp:344,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/trans.cpp:345,1
    - Dst: pj_coord_has_nans
      Src: /src/PROJ/src/trans.cpp:352,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/trans.cpp:354,1
    - Dst: pj_fwd4d
      Src: /src/PROJ/src/trans.cpp:356,1
    - Dst: pj_inv4d
      Src: /src/PROJ/src/trans.cpp:358,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 91
    argCount: 3
    argNames:
    - P
    - direction
    - coord
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 360
    functionName: proj_trans
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 72
    functionsReached:
    - std::string::c_str
    - pj_coord_has_nans
    - auto::gridsNeeded
    - dynamic_cast<NS_PROJ::operation::CoordinateOperation *>
    - PJ*::alternativeCoordinateOperations::empty
    - PJ*::ctx::cpp_context::getDatabaseContext
    - pj_fwd4d
    - proj_log_level
    - proj_coord_error
    - proj_errno
    - pj_inv4d
    - proj_errno_set
    - static_cast<int>
    - pj_log
    - auto::pj::iso_obj::get
    - std::numeric_limits<double>::quiet_NaN
    - pj_warn_about_missing_grid
    - pj_get_suggested_operation
    - proj_context_errno_string
    - PJ*::alternativeCoordinateOperations::size
    - proj_errno_reset
    - pj_opposite_direction
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD proj_trans(PJ *P, PJ_DIRECTION direction, PJ_COORD coord)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/trans.cpp:373,1
    - Dst: proj_clone
      Src: /src/PROJ/src/trans.cpp:374,1
    - Dst: proj_clone
      Src: /src/PROJ/src/trans.cpp:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 377
    functionName: proj_trans_get_last_used_operation
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 12
    functionsReached:
    - PJ*::alternativeCoordinateOperations::empty
    - proj_clone
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_trans_get_last_used_operation(PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/trans.cpp:401,1
    - Dst: proj_trans
      Src: /src/PROJ/src/trans.cpp:402,1
    - Dst: proj_errno
      Src: /src/PROJ/src/trans.cpp:403,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/trans.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - P
    - direction
    - n
    - coord
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - size_t
    - PJ_COORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 418
    functionName: proj_trans_array
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 6
    functionsReached:
    - proj_context_errno_set
    - proj_errno
    - proj_trans
    linkageType: ''
    returnType: int
    signature: int proj_trans_array(PJ *P, PJ_DIRECTION direction, size_t n, PJ_COORD
      *coord)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans.cpp:484,1
    - Dst: proj_trans
      Src: /src/PROJ/src/trans.cpp:547,1
    - Dst: reinterpret_cast<double *>
      Src: /src/PROJ/src/trans.cpp:555,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/trans.cpp:555,1
    - Dst: reinterpret_cast<double *>
      Src: /src/PROJ/src/trans.cpp:559,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/trans.cpp:559,1
    - Dst: reinterpret_cast<double *>
      Src: /src/PROJ/src/trans.cpp:563,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/trans.cpp:563,1
    - Dst: reinterpret_cast<double *>
      Src: /src/PROJ/src/trans.cpp:567,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/src/trans.cpp:567,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 14
    argNames:
    - P
    - direction
    - x
    - sx
    - nx
    - y
    - sy
    - ny
    - z
    - sz
    - nz
    - t
    - st
    - nt
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - double*
    - size_t
    - size_t
    - double*
    - size_t
    - size_t
    - double*
    - size_t
    - size_t
    - double*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 583
    functionName: proj_trans_generic
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 28
    functionsReached:
    - reinterpret_cast<char *>
    - reinterpret_cast<double *>
    - pj_opposite_direction
    - proj_trans
    linkageType: ''
    returnType: size_t
    signature: "size_t proj_trans_generic(PJ *P, PJ_DIRECTION direction, double *x,
      size_t sx,\n                          size_t nx, double *y, size_t sy, size_t
      ny, double *z,\n                          size_t sz, size_t nz, double *t, size_t
      st,\n                          size_t nt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:586,1
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:586,1
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:587,1
    - Dst: std::isnan
      Src: /src/PROJ/src/trans.cpp:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - coo
    argTypes:
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: coord_is_all_nans
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool coord_is_all_nans(PJ_COORD coo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_error
      Src: /src/PROJ/src/trans.cpp:599,1
    - Dst: _
      Src: /src/PROJ/src/trans.cpp:599,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/trans.cpp:600,1
    - Dst: proj_trans
      Src: /src/PROJ/src/trans.cpp:606,1
    - Dst: proj_trans
      Src: /src/PROJ/src/trans.cpp:612,1
    - Dst: proj_trans
      Src: /src/PROJ/src/trans.cpp:613,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans.cpp:613,1
    - Dst: proj_trans
      Src: /src/PROJ/src/trans.cpp:616,1
    - Dst: pj_opposite_direction
      Src: /src/PROJ/src/trans.cpp:616,1
    - Dst: pj_coord_has_nans
      Src: /src/PROJ/src/trans.cpp:619,1
    - Dst: coord_is_all_nans
      Src: /src/PROJ/src/trans.cpp:619,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/trans.cpp:625,1
    - Dst: proj_lpz_dist
      Src: /src/PROJ/src/trans.cpp:626,1
    - Dst: proj_xyz_dist
      Src: /src/PROJ/src/trans.cpp:628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - P
    - direction
    - n
    - coord
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - int
    - PJ_COORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 591
    functionDepth: 5
    functionLinenumber: 591
    functionLinenumberEnd: 629
    functionName: proj_roundtrip
    functionSourceFile: /src/PROJ/src/trans.cpp
    functionUses: 6
    functionsReached:
    - proj_errno_set
    - proj_xyz_dist
    - pj_coord_has_nans
    - _
    - proj_angular_input
    - proj_lpz_dist
    - coord_is_all_nans
    - proj_log_error
    - proj_trans
    - pj_opposite_direction
    linkageType: ''
    returnType: double
    signature: double proj_roundtrip(PJ *P, PJ_DIRECTION direction, int n, PJ_COORD
      *coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: name_
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START name_(filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: File::~File()
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File::~File()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/PROJ/src/filemanager.cpp:96,1
    - Dst: find_first_of
      Src: /src/PROJ/src/filemanager.cpp:99,1
    - Dst: substr
      Src: /src/PROJ/src/filemanager.cpp:102,1
    - Dst: substr
      Src: /src/PROJ/src/filemanager.cpp:103,1
    - Dst: substr
      Src: /src/PROJ/src/filemanager.cpp:108,1
    - Dst: substr
      Src: /src/PROJ/src/filemanager.cpp:113,1
    - Dst: size
      Src: /src/PROJ/src/filemanager.cpp:119,1
    - Dst: substr
      Src: /src/PROJ/src/filemanager.cpp:121,1
    - Dst: substr
      Src: /src/PROJ/src/filemanager.cpp:122,1
    - Dst: clear
      Src: /src/PROJ/src/filemanager.cpp:130,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:132,1
    - Dst: resize
      Src: /src/PROJ/src/filemanager.cpp:136,1
    - Dst: read
      Src: /src/PROJ/src/filemanager.cpp:138,1
    - Dst: resize
      Src: /src/PROJ/src/filemanager.cpp:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - maxLen
    - maxLenReached
    - eofReached
    argTypes:
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 143
    functionName: File::read_line
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::string::empty
    - std::min
    - clear
    - substr
    - resize
    - read
    - find_first_of
    linkageType: ''
    returnType: std::string
    signature: "std::string File::read_line(size_t maxLen, bool &maxLenReached,\n
      \                           bool &eofReached)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:237,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:255,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:261,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:266,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:267,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:278,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:289,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:290,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/PROJ/src/filemanager.cpp:296,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 82
    argCount: 3
    argNames:
    - p
    - end
    - len
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 308
    functionName: utf8decode
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const unsigned char *>
    linkageType: ''
    returnType: unsigned
    signature: unsigned utf8decode(const char *p, const char *end, int *len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: utf8decode
      Src: /src/PROJ/src/filemanager.cpp:361,1
    - Dst: static_cast<wchar_t>
      Src: /src/PROJ/src/filemanager.cpp:365,1
    - Dst: static_cast<wchar_t>
      Src: /src/PROJ/src/filemanager.cpp:373,1
    - Dst: static_cast<wchar_t>
      Src: /src/PROJ/src/filemanager.cpp:375,1
    - Dst: static_cast<wchar_t>
      Src: /src/PROJ/src/filemanager.cpp:378,1
    - Dst: utf8decode
      Src: /src/PROJ/src/filemanager.cpp:393,1
    - Dst: utf8decode
      Src: /src/PROJ/src/filemanager.cpp:398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - src
    - srclen
    - dst
    - dstlen
    argTypes:
    - char*
    - unsigned
    - wchar_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 406
    functionName: utf8towc
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - utf8decode
    - static_cast<wchar_t>
    linkageType: ''
    returnType: unsigned
    signature: "unsigned utf8towc(const char *src, unsigned srclen, wchar_t *dst,\n
      \                        unsigned dstlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::wstring::resize
      Src: /src/PROJ/src/filemanager.cpp:415,1
    - Dst: std::string::size
      Src: /src/PROJ/src/filemanager.cpp:415,1
    - Dst: std::wstring::resize
      Src: /src/PROJ/src/filemanager.cpp:416,1
    - Dst: utf8towc
      Src: /src/PROJ/src/filemanager.cpp:416,1
    - Dst: std::string::data
      Src: /src/PROJ/src/filemanager.cpp:416,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/filemanager.cpp:416,1
    - Dst: std::string::size
      Src: /src/PROJ/src/filemanager.cpp:416,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/filemanager.cpp:417,1
    - Dst: std::wstring::size
      Src: /src/PROJ/src/filemanager.cpp:417,1
    - Dst: NonValidUTF8Exception
      Src: /src/PROJ/src/filemanager.cpp:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: UTF8ToWString
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<unsigned>
    - utf8towc
    - std::wstring::size
    - NonValidUTF8Exception
    - std::wstring::resize
    - std::string::data
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring UTF8ToWString(const std::string &str)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:470,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:482,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:483,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:503,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:504,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:505,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:506,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:517,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:518,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/filemanager.cpp:519,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 72
    argCount: 4
    argNames:
    - dst
    - dstlen
    - src
    - srclen
    argTypes:
    - char*
    - unsigned
    - wchar_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 545
    functionName: utf8fromwc
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int utf8fromwc(char *dst, unsigned dstlen, const wchar_t
      *src,\n                               unsigned srclen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:551,1
    - Dst: std::wstring::size
      Src: /src/PROJ/src/filemanager.cpp:551,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:552,1
    - Dst: utf8fromwc
      Src: /src/PROJ/src/filemanager.cpp:552,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/filemanager.cpp:552,1
    - Dst: std::string::size
      Src: /src/PROJ/src/filemanager.cpp:552,1
    - Dst: std::wstring::data
      Src: /src/PROJ/src/filemanager.cpp:553,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/filemanager.cpp:553,1
    - Dst: std::wstring::size
      Src: /src/PROJ/src/filemanager.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wstr
    argTypes:
    - std::wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: WStringToUTF8
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::string::resize
    - utf8fromwc
    - std::wstring::size
    - std::wstring::data
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string WStringToUTF8(const std::wstring &wstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/src/filemanager.cpp:564,1
    - Dst: GetLastError
      Src: /src/PROJ/src/filemanager.cpp:566,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:567,1
    - Dst: std::wstring::resize
      Src: /src/PROJ/src/filemanager.cpp:572,1
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/src/filemanager.cpp:573,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/src/filemanager.cpp:578,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:583,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/src/filemanager.cpp:584,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:586,1
    - Dst: strlen
      Src: /src/PROJ/src/filemanager.cpp:586,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - src
    - src_code_page
    - dst_code_page
    argTypes:
    - char*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 589
    functionName: Win32Recode
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - WideCharToMultiByte
    - std::string::c_str
    - MultiByteToWideChar
    - std::string::resize
    - strlen
    - GetLastError
    - std::string
    - std::wstring::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string Win32Recode(const char *src, unsigned src_code_page,\n
      \                              unsigned dst_code_page)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: FileWin32::FileWin32
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileWin32(const FileWin32 &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: '&operator=(const FileWin32 &)'
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileWin32
    signature: FileWin32 &operator=(const FileWin32 &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - ctx
    - handle
    argTypes:
    - std::string
    - PJ_CONTEXT*
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: FileWin32::FileWin32
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileWin32(const std::string &name, PJ_CONTEXT *ctx, HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: FileWin32::reassign_context
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 620
    functionName: FileWin32::hasChanged
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/PROJ/src/filemanager.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: FileWin32::~FileWin32()
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void FileWin32::~FileWin32()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/PROJ/src/filemanager.cpp:636,1
    - Dst: static_cast<DWORD>
      Src: /src/PROJ/src/filemanager.cpp:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 643
    functionName: FileWin32::read
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DWORD>
    - ReadFile
    linkageType: ''
    returnType: size_t
    signature: size_t FileWin32::read(void *buffer, size_t sizeBytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/PROJ/src/filemanager.cpp:651,1
    - Dst: static_cast<DWORD>
      Src: /src/PROJ/src/filemanager.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: FileWin32::write
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DWORD>
    - WriteFile
    linkageType: ''
    returnType: size_t
    signature: size_t FileWin32::write(const void *buffer, size_t sizeBytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetLastError
      Src: /src/PROJ/src/filemanager.cpp:684,1
    - Dst: SetFilePointer
      Src: /src/PROJ/src/filemanager.cpp:685,1
    - Dst: GetLastError
      Src: /src/PROJ/src/filemanager.cpp:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - offset
    - whence
    argTypes:
    - unsigned long long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 688
    functionName: FileWin32::seek
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - SetFilePointer
    - SetLastError
    linkageType: ''
    returnType: bool
    signature: bool FileWin32::seek(unsigned long long offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointer
      Src: /src/PROJ/src/filemanager.cpp:696,1
    - Dst: static_cast<unsigned long long>
      Src: /src/PROJ/src/filemanager.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: FileWin32::tell
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - SetFilePointer
    - static_cast<unsigned long long>
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long FileWin32::tell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/PROJ/src/filemanager.cpp:715,1
    - Dst: CreateFile2
      Src: /src/PROJ/src/filemanager.cpp:718,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:719,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:719,1
    - Dst: CreateFileW
      Src: /src/PROJ/src/filemanager.cpp:723,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:724,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:724,1
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/filemanager.cpp:728,1
    - Dst: FileWin32::FileWin32
      Src: /src/PROJ/src/filemanager.cpp:729,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:732,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - filename
    - access
    argTypes:
    - PJ_CONTEXT*
    - char*
    - FileAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 735
    functionName: FileWin32::open
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<File>
    - FileWin32::FileWin32
    - pj_log
    - what
    - CreateFileW
    - std::string
    - UTF8ToWString
    - CreateFile2
    - ZeroMemory
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: "std::unique_ptr<File> FileWin32::open(PJ_CONTEXT *ctx, const char
      *filename,\n                                      FileAccess access)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: FileStdio::FileStdio
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileStdio(const FileStdio &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 746
    functionName: '&operator=(const FileStdio &)'
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileStdio
    signature: FileStdio &operator=(const FileStdio &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - ctx
    - fp
    argTypes:
    - std::string
    - PJ_CONTEXT*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: FileStdio::FileStdio
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileStdio(const std::string &filename, PJ_CONTEXT *ctx, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 759
    functionName: FileStdio::reassign_context
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 762
    functionName: FileStdio::hasChanged
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/PROJ/src/filemanager.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: FileStdio::~FileStdio()
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void FileStdio::~FileStdio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/src/filemanager.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 776
    functionName: FileStdio::read
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t FileStdio::read(void *buffer, size_t sizeBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/src/filemanager.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 782
    functionName: FileStdio::write
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t FileStdio::write(const void *buffer, size_t sizeBytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned long long>
      Src: /src/PROJ/src/filemanager.cpp:788,1
    - Dst: static_cast<long>
      Src: /src/PROJ/src/filemanager.cpp:788,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:789,1
    - Dst: fseek
      Src: /src/PROJ/src/filemanager.cpp:793,1
    - Dst: static_cast<long>
      Src: /src/PROJ/src/filemanager.cpp:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - whence
    argTypes:
    - unsigned long long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: FileStdio::seek
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fseek
    - pj_log
    - static_cast<unsigned long long>
    - static_cast<long>
    linkageType: ''
    returnType: bool
    signature: bool FileStdio::seek(unsigned long long offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/PROJ/src/filemanager.cpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: FileStdio::tell
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long FileStdio::tell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/src/filemanager.cpp:807,1
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/filemanager.cpp:810,1
    - Dst: FileStdio::FileStdio
      Src: /src/PROJ/src/filemanager.cpp:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - filename
    - access
    argTypes:
    - PJ_CONTEXT*
    - char*
    - FileAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 812
    functionName: FileStdio::open
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<File>
    - FileStdio::FileStdio
    - fopen
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: "std::unique_ptr<File> FileStdio::open(PJ_CONTEXT *ctx, const char
      *filename,\n                                      FileAccess access)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 824
    functionName: FileApiAdapter::FileApiAdapter
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileApiAdapter(const FileApiAdapter &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: '&operator=(const FileApiAdapter &)'
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileApiAdapter
    signature: FileApiAdapter &operator=(const FileApiAdapter &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - ctx
    - fp
    argTypes:
    - std::string
    - PJ_CONTEXT*
    - PROJ_FILE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: FileApiAdapter::FileApiAdapter
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileApiAdapter(const std::string &filename, PJ_CONTEXT *ctx,\n
      \                  PROJ_FILE_HANDLE *fp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 839
    functionName: FileApiAdapter::reassign_context
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 842
    functionName: FileApiAdapter::hasChanged
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileApi::close_cbk
      Src: /src/PROJ/src/filemanager.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: FileApiAdapter::~FileApiAdapter()
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fileApi::close_cbk
    linkageType: ''
    returnType: void
    signature: void FileApiAdapter::~FileApiAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileApi::read_cbk
      Src: /src/PROJ/src/filemanager.cpp:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: FileApiAdapter::read
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fileApi::read_cbk
    linkageType: ''
    returnType: size_t
    signature: size_t FileApiAdapter::read(void *buffer, size_t sizeBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileApi::write_cbk
      Src: /src/PROJ/src/filemanager.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: FileApiAdapter::write
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fileApi::write_cbk
    linkageType: ''
    returnType: size_t
    signature: size_t FileApiAdapter::write(const void *buffer, size_t sizeBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileApi::seek_cbk
      Src: /src/PROJ/src/filemanager.cpp:871,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/filemanager.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - whence
    argTypes:
    - unsigned long long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: FileApiAdapter::seek
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fileApi::seek_cbk
    - static_cast<long long>
    linkageType: ''
    returnType: bool
    signature: bool FileApiAdapter::seek(unsigned long long offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileApi::tell_cbk
      Src: /src/PROJ/src/filemanager.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: FileApiAdapter::tell
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - fileApi::tell_cbk
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long FileApiAdapter::tell()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::fileApi::open_cbk
      Src: /src/PROJ/src/filemanager.cpp:899,1
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/filemanager.cpp:900,1
    - Dst: FileApiAdapter::FileApiAdapter
      Src: /src/PROJ/src/filemanager.cpp:900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - filename
    - eAccess
    argTypes:
    - PJ_CONTEXT*
    - char*
    - FileAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 902
    functionName: FileApiAdapter::open
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - FileApiAdapter::FileApiAdapter
    - std::unique_ptr<File>
    - PJ_CONTEXT*::fileApi::open_cbk
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: "std::unique_ptr<File> FileApiAdapter::open(PJ_CONTEXT *ctx,\n                                           const
      char *filename,\n                                           FileAccess eAccess)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 914
    functionName: FileMemory::FileMemory
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileMemory(const FileMemory &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: '&operator=(const FileMemory &)'
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileMemory
    signature: FileMemory &operator=(const FileMemory &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - filename
    - ctx
    - data
    - size
    argTypes:
    - std::string
    - PJ_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 920
    functionName: FileMemory::FileMemory
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileMemory(const std::string &filename, PJ_CONTEXT *ctx,\n               const
      unsigned char *data, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 926
    functionName: FileMemory::tell
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long tell() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 927
    functionName: FileMemory::reassign_context
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ_CONTEXT *ctx) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 929
    functionName: FileMemory::hasChanged
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasChanged() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<File>
      Src: /src/PROJ/src/filemanager.cpp:936,1
    - Dst: FileMemory::FileMemory
      Src: /src/PROJ/src/filemanager.cpp:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - filename
    - access
    - data
    - size
    argTypes:
    - PJ_CONTEXT*
    - char*
    - FileAccess
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 937
    functionName: FileMemory::open
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - FileMemory::FileMemory
    - std::unique_ptr<File>
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: "std::unique_ptr<File> open(PJ_CONTEXT *ctx, const char *filename,\n
      \                                     FileAccess access,\n                                      const
      unsigned char *data, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/filemanager.cpp:945,1
    - Dst: memcpy
      Src: /src/PROJ/src/filemanager.cpp:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - sizeBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 952
    functionName: FileMemory::read
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t FileMemory::read(void *buffer, size_t sizeBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: FileMemory::write
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FileMemory::write(const void *, size_t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/filemanager.cpp:962,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/filemanager.cpp:966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - offset
    - whence
    argTypes:
    - unsigned long long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: FileMemory::seek
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool FileMemory::seek(unsigned long long offset, int whence)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:982,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:982,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/filemanager.cpp:983,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:984,1
    - Dst: pj_network_file_open
      Src: /src/PROJ/src/filemanager.cpp:991,1
    - Dst: FileApiAdapter::open
      Src: /src/PROJ/src/filemanager.cpp:994,1
    - Dst: FileWin32::open
      Src: /src/PROJ/src/filemanager.cpp:1000,1
    - Dst: FileStdio::open
      Src: /src/PROJ/src/filemanager.cpp:1002,1
    - Dst: pj_get_embedded_resource
      Src: /src/PROJ/src/filemanager.cpp:1013,1
    - Dst: FileMemory::open
      Src: /src/PROJ/src/filemanager.cpp:1015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - filename
    - access
    argTypes:
    - PJ_CONTEXT*
    - char*
    - FileAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1021
    functionName: FileManager::open
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - starts_with
    - pj_network_file_open
    - pj_log
    - FileStdio::open
    - FileMemory::open
    - FileWin32::open
    - pj_get_embedded_resource
    - proj_context_is_network_enabled
    - FileApiAdapter::open
    linkageType: ''
    returnType: std::unique_ptr<File>
    signature: "std::unique_ptr<File> FileManager::open(PJ_CONTEXT *ctx, const char
      *filename,\n                                        FileAccess access)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::fileApi::exists_cbk
      Src: /src/PROJ/src/filemanager.cpp:1027,1
    - Dst: _wstat64
      Src: /src/PROJ/src/filemanager.cpp:1034,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1034,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1036,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1036,1
    - Dst: stat
      Src: /src/PROJ/src/filemanager.cpp:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1044
    functionName: FileManager::exists
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - stat
    - _wstat64
    - PJ_CONTEXT*::fileApi::exists_cbk
    - pj_log
    - UTF8ToWString
    - what
    linkageType: ''
    returnType: bool
    signature: bool FileManager::exists(PJ_CONTEXT *ctx, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::fileApi::mkdir_cbk
      Src: /src/PROJ/src/filemanager.cpp:1050,1
    - Dst: _wmkdir
      Src: /src/PROJ/src/filemanager.cpp:1056,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1056,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1058,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1058,1
    - Dst: FileManager::mkdir
      Src: /src/PROJ/src/filemanager.cpp:1063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1065
    functionName: FileManager::mkdir
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 1
    functionsReached:
    - PJ_CONTEXT*::fileApi::mkdir_cbk
    - pj_log
    - FileManager::mkdir
    - _wmkdir
    - UTF8ToWString
    - what
    linkageType: ''
    returnType: bool
    signature: bool FileManager::mkdir(PJ_CONTEXT *ctx, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::fileApi::unlink_cbk
      Src: /src/PROJ/src/filemanager.cpp:1071,1
    - Dst: _wunlink
      Src: /src/PROJ/src/filemanager.cpp:1077,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1077,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1079,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1079,1
    - Dst: FileManager::unlink
      Src: /src/PROJ/src/filemanager.cpp:1084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1069
    functionDepth: 3
    functionLinenumber: 1069
    functionLinenumberEnd: 1086
    functionName: FileManager::unlink
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - FileManager::unlink
    - pj_log
    - PJ_CONTEXT*::fileApi::unlink_cbk
    - _wunlink
    - UTF8ToWString
    - what
    linkageType: ''
    returnType: bool
    signature: bool FileManager::unlink(PJ_CONTEXT *ctx, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::fileApi::rename_cbk
      Src: /src/PROJ/src/filemanager.cpp:1093,1
    - Dst: _wrename
      Src: /src/PROJ/src/filemanager.cpp:1099,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1099,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1100,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1102,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1102,1
    - Dst: FileManager::rename
      Src: /src/PROJ/src/filemanager.cpp:1107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - oldPath
    - newPath
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1090
    functionDepth: 3
    functionLinenumber: 1090
    functionLinenumberEnd: 1109
    functionName: FileManager::rename
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - PJ_CONTEXT*::fileApi::rename_cbk
    - pj_log
    - _wrename
    - UTF8ToWString
    - FileManager::rename
    - what
    linkageType: ''
    returnType: bool
    signature: "bool FileManager::rename(PJ_CONTEXT *ctx, const char *oldPath,\n                         const
      char *newPath)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::env_var_proj_data::empty
      Src: /src/PROJ/src/filemanager.cpp:1114,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:1119,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:1121,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1124,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1137,1
    - Dst: FileManager::exists
      Src: /src/PROJ/src/filemanager.cpp:1141,1
    - Dst: Win32Recode
      Src: /src/PROJ/src/filemanager.cpp:1142,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1143,1
    - Dst: FileManager::exists
      Src: /src/PROJ/src/filemanager.cpp:1143,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1149
    functionName: FileManager::getProjDataEnvVar
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - std::string::empty
    - std::string::c_str
    - Win32Recode
    - PJ_CONTEXT*::env_var_proj_data::empty
    - pj_log
    - FileManager::exists
    - UTF8ToWString
    linkageType: ''
    returnType: std::string
    signature: std::string FileManager::getProjDataEnvVar(PJ_CONTEXT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FileManager::exists
      Src: /src/PROJ/src/filemanager.cpp:1157,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1157,1
    - Dst: std::string::find_last_of
      Src: /src/PROJ/src/filemanager.cpp:1159,1
    - Dst: CreateDirectoryRecursively
      Src: /src/PROJ/src/filemanager.cpp:1162,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/filemanager.cpp:1162,1
    - Dst: FileManager::mkdir
      Src: /src/PROJ/src/filemanager.cpp:1163,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1151
    functionDepth: 4
    functionLinenumber: 1151
    functionLinenumberEnd: 1164
    functionName: CreateDirectoryRecursively
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::string::substr
    - FileManager::exists
    - FileManager::mkdir
    - std::string::find_last_of
    - CreateDirectoryRecursively
    linkageType: ''
    returnType: NS_PROJ_END
    signature: "NS_PROJ_END CreateDirectoryRecursively(PJ_CONTEXT *ctx,\n                                       const
      std::string &path)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1189,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - fileapi
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - PROJ_FILE_API*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1215
    functionName: proj_context_set_fileapi
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: int
    signature: "int proj_context_set_fileapi(PJ_CONTEXT *ctx, const PROJ_FILE_API
      *fileapi,\n                             void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1234,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1237
    functionName: proj_context_set_sqlite3_vfs_name
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 4
    functionsReached:
    - std::string
    - pj_get_default_ctx
    linkageType: ''
    returnType: void
    signature: void proj_context_set_sqlite3_vfs_name(PJ_CONTEXT *ctx, const char
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1349,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/filemanager.cpp:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - path
    - create
    argTypes:
    - PJ_CONTEXT*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1354
    functionName: proj_context_set_user_writable_directory
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - proj_context_get_user_writable_directory
    linkageType: ''
    returnType: void
    signature: "void proj_context_set_user_writable_directory(PJ_CONTEXT *ctx, const
      char *path,\n                                              int create)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1367,1
    - Dst: PJ_CONTEXT*::endpoint::empty
      Src: /src/PROJ/src/filemanager.cpp:1369,1
    - Dst: PJ_CONTEXT*::endpoint::c_str
      Src: /src/PROJ/src/filemanager.cpp:1370,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/filemanager.cpp:1372,1
    - Dst: PJ_CONTEXT*::endpoint::c_str
      Src: /src/PROJ/src/filemanager.cpp:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1374
    functionName: proj_context_get_url_endpoint
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    - PJ_CONTEXT*::endpoint::empty
    - PJ_CONTEXT*::endpoint::c_str
    linkageType: ''
    returnType: char
    signature: char *proj_context_get_url_endpoint(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/filemanager.cpp:1389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1390
    functionName: is_tilde_slash
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_tilde_slash(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/filemanager.cpp:1393,1
    - Dst: strchr
      Src: /src/PROJ/src/filemanager.cpp:1394,1
    - Dst: strncmp
      Src: /src/PROJ/src/filemanager.cpp:1395,1
    - Dst: strchr
      Src: /src/PROJ/src/filemanager.cpp:1395,1
    - Dst: strchr
      Src: /src/PROJ/src/filemanager.cpp:1396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1397
    functionName: is_rel_or_absolute_filename
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 1
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool is_rel_or_absolute_filename(const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleEx
      Src: /src/PROJ/src/filemanager.cpp:1406,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1409,1
    - Dst: std::wstring::clear
      Src: /src/PROJ/src/filemanager.cpp:1417,1
    - Dst: std::wstring::resize
      Src: /src/PROJ/src/filemanager.cpp:1418,1
    - Dst: GetModuleFileNameW
      Src: /src/PROJ/src/filemanager.cpp:1419,1
    - Dst: GetLastError
      Src: /src/PROJ/src/filemanager.cpp:1420,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1423,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1426,1
    - Dst: std::wstring::resize
      Src: /src/PROJ/src/filemanager.cpp:1433,1
    - Dst: wcslen
      Src: /src/PROJ/src/filemanager.cpp:1433,1
    - Dst: std::wstring::c_str
      Src: /src/PROJ/src/filemanager.cpp:1433,1
    - Dst: WStringToUTF8
      Src: /src/PROJ/src/filemanager.cpp:1434,1
    - Dst: dladdr
      Src: /src/PROJ/src/filemanager.cpp:1438,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1439,1
    - Dst: replaceAll
      Src: /src/PROJ/src/filemanager.cpp:1444,1
    - Dst: std::string::find
      Src: /src/PROJ/src/filemanager.cpp:1448,1
    - Dst: readlink
      Src: /src/PROJ/src/filemanager.cpp:1451,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/filemanager.cpp:1452,1
    - Dst: std::string::assign
      Src: /src/PROJ/src/filemanager.cpp:1453,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/filemanager.cpp:1453,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/filemanager.cpp:1453,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1457,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/filemanager.cpp:1458,1
    - Dst: std::string::find_last_of
      Src: /src/PROJ/src/filemanager.cpp:1460,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:1466,1
    - Dst: std::string::find_last_of
      Src: /src/PROJ/src/filemanager.cpp:1467,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:1473,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1480
    functionName: pj_get_relative_share_proj_internal_no_check
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::string::find_last_of
    - GetModuleFileNameW
    - std::string::substr
    - static_cast<size_t>
    - std::string::find
    - GetLastError
    - std::string
    - std::wstring::resize
    - std::string::assign
    - replaceAll
    - GetModuleHandleEx
    - std::string::resize
    - wcslen
    - WStringToUTF8
    - dladdr
    - starts_with
    - readlink
    - std::wstring::c_str
    - std::wstring::clear
    linkageType: ''
    returnType: std::string
    signature: std::string pj_get_relative_share_proj_internal_no_check()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1485,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1488,1
    - Dst: FileManager::exists
      Src: /src/PROJ/src/filemanager.cpp:1488,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1488,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1482
    functionDepth: 4
    functionLinenumber: 1482
    functionLinenumberEnd: 1492
    functionName: pj_get_relative_share_proj_internal_check_exists
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - pj_get_default_ctx
    - std::string::c_str
    - FileManager::exists
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string pj_get_relative_share_proj_internal_check_exists(PJ_CONTEXT
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: pj_get_relative_share_proj
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string pj_get_relative_share_proj(PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_relative_share_proj
      Src: /src/PROJ/src/filemanager.cpp:1504,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1505,1
    - Dst: FileManager::exists
      Src: /src/PROJ/src/filemanager.cpp:1511,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - out
    argTypes:
    - PJ_CONTEXT*
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1502
    functionDepth: 4
    functionLinenumber: 1502
    functionLinenumberEnd: 1512
    functionName: get_path_from_relative_share_proj
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - FileManager::exists
    - std::string::empty
    - std::string::c_str
    - pj_get_relative_share_proj
    linkageType: ''
    returnType: bool
    signature: "bool get_path_from_relative_share_proj(PJ_CONTEXT *ctx, const char
      *name,\n                                              std::string &out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1542
    functionName: dontReadUserWritableDirectory
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: bool
    signature: bool dontReadUserWritableDirectory()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1555,1
    - Dst: split
      Src: /src/PROJ/src/filemanager.cpp:1564,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/filemanager.cpp:1566,1
    - Dst: open_file
      Src: /src/PROJ/src/filemanager.cpp:1569,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1569,1
    - Dst: is_tilde_slash
      Src: /src/PROJ/src/filemanager.cpp:1577,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:1578,1
    - Dst: is_rel_or_absolute_filename
      Src: /src/PROJ/src/filemanager.cpp:1586,1
    - Dst: UTF8ToWString
      Src: /src/PROJ/src/filemanager.cpp:1590,1
    - Dst: Win32Recode
      Src: /src/PROJ/src/filemanager.cpp:1592,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1597,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1597,1
    - Dst: PJ_CONTEXT*::file_finder
      Src: /src/PROJ/src/filemanager.cpp:1602,1
    - Dst: PJ_CONTEXT*::search_paths::empty
      Src: /src/PROJ/src/filemanager.cpp:1608,1
    - Dst: open_file
      Src: /src/PROJ/src/filemanager.cpp:1614,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1614,1
    - Dst: dontReadUserWritableDirectory
      Src: /src/PROJ/src/filemanager.cpp:1622,1
    - Dst: open_file
      Src: /src/PROJ/src/filemanager.cpp:1623,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1625,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/filemanager.cpp:1625,1
    - Dst: c_str
      Src: /src/PROJ/src/filemanager.cpp:1625,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/filemanager.cpp:1630,1
    - Dst: FileManager::getProjDataEnvVar
      Src: /src/PROJ/src/filemanager.cpp:1638,1
    - Dst: empty
      Src: /src/PROJ/src/filemanager.cpp:1638,1
    - Dst: open_lib_from_paths
      Src: /src/PROJ/src/filemanager.cpp:1640,1
    - Dst: get_path_from_relative_share_proj
      Src: /src/PROJ/src/filemanager.cpp:1643,1
    - Dst: open_file
      Src: /src/PROJ/src/filemanager.cpp:1646,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1648,1
    - Dst: c_str
      Src: /src/PROJ/src/filemanager.cpp:1648,1
    - Dst: FileManager::getProjDataEnvVar
      Src: /src/PROJ/src/filemanager.cpp:1660,1
    - Dst: empty
      Src: /src/PROJ/src/filemanager.cpp:1660,1
    - Dst: open_lib_from_paths
      Src: /src/PROJ/src/filemanager.cpp:1662,1
    - Dst: open_file
      Src: /src/PROJ/src/filemanager.cpp:1671,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1671,1
    - Dst: strncpy
      Src: /src/PROJ/src/filemanager.cpp:1674,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1674,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1683,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1684,1
    - Dst: open_file
      Src: /src/PROJ/src/filemanager.cpp:1685,1
    - Dst: strncpy
      Src: /src/PROJ/src/filemanager.cpp:1690,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/filemanager.cpp:1700,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1702,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1703,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1708,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 94
    argCount: 6
    argNames:
    - ctx
    - name
    - mode
    - (*open_file)(PJ_CONTEXT *, const char *, const char *)
    - out_full_filename
    - out_full_filename_size
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1544
    functionDepth: 5
    functionLinenumber: 1544
    functionLinenumberEnd: 1712
    functionName: pj_open_lib_internal
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - std::string::c_str
    - getenv
    - Win32Recode
    - PJ_CONTEXT*::file_finder
    - PJ_CONTEXT*::search_paths::empty
    - proj_context_get_user_writable_directory
    - split
    - dontReadUserWritableDirectory
    - stripQuotes
    - strncpy
    - proj_context_errno_set
    - open_lib_from_paths
    - get_path_from_relative_share_proj
    - std::string
    - open_file
    - pj_log
    - is_rel_or_absolute_filename
    - is_tilde_slash
    - FileManager::getProjDataEnvVar
    - c_str
    - starts_with
    - empty
    - UTF8ToWString
    linkageType: ''
    returnType: void
    signature: "void *pj_open_lib_internal(\n    PJ_CONTEXT *ctx, const char *name,
      const char *mode,\n    void *(*open_file)(PJ_CONTEXT *, const char *, const
      char *),\n    char *out_full_filename, size_t out_full_filename_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:1724,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1727,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/filemanager.cpp:1727,1
    - Dst: FileManager::getProjDataEnvVar
      Src: /src/PROJ/src/filemanager.cpp:1730,1
    - Dst: pj_get_relative_share_proj
      Src: /src/PROJ/src/filemanager.cpp:1731,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1736,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1738,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1739,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:1739,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1741,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1742,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:1742,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1746,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1747,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:1747,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1749,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1750,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:1750,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/filemanager.cpp:1753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1718
    functionDepth: 5
    functionLinenumber: 1718
    functionLinenumberEnd: 1759
    functionName: pj_get_default_searchpaths
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - std::string::empty
    - std::move
    - std::vector::push_back
    - proj_context_get_user_writable_directory
    - FileManager::getProjDataEnvVar
    - pj_get_relative_share_proj
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> pj_get_default_searchpaths(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileManager::open
      Src: /src/PROJ/src/filemanager.cpp:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1769
    functionName: pj_open_file_with_manager
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - FileManager::open
    linkageType: ''
    returnType: void
    signature: "void *pj_open_file_with_manager(PJ_CONTEXT *ctx, const char *name,\n
      \                                      const char * /* mode */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/filemanager.cpp:1775,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1777,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1780
    functionName: getDBcontext
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 1
    functionsReached:
    - what
    - pj_log
    - PJ_CONTEXT*::get_cpp_context
    linkageType: ''
    returnType: NS_PROJ::io::DatabaseContextPtr
    signature: NS_PROJ::io::DatabaseContextPtr getDBcontext(PJ_CONTEXT *ctx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:1792,1
    - Dst: std::unique_ptr<NS_PROJ::File>
      Src: /src/PROJ/src/filemanager.cpp:1796,1
    - Dst: reinterpret_cast<NS_PROJ::File *>
      Src: /src/PROJ/src/filemanager.cpp:1796,1
    - Dst: pj_open_lib_internal
      Src: /src/PROJ/src/filemanager.cpp:1797,1
    - Dst: is_tilde_slash
      Src: /src/PROJ/src/filemanager.cpp:1802,1
    - Dst: is_rel_or_absolute_filename
      Src: /src/PROJ/src/filemanager.cpp:1803,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1803,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1804,1
    - Dst: strcmp
      Src: /src/PROJ/src/filemanager.cpp:1804,1
    - Dst: strstr
      Src: /src/PROJ/src/filemanager.cpp:1805,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/filemanager.cpp:1807,1
    - Dst: auto::getProjGridName
      Src: /src/PROJ/src/filemanager.cpp:1810,1
    - Dst: auto::empty
      Src: /src/PROJ/src/filemanager.cpp:1811,1
    - Dst: auto::reset
      Src: /src/PROJ/src/filemanager.cpp:1812,1
    - Dst: reinterpret_cast<NS_PROJ::File *>
      Src: /src/PROJ/src/filemanager.cpp:1812,1
    - Dst: pj_open_lib_internal
      Src: /src/PROJ/src/filemanager.cpp:1813,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/filemanager.cpp:1813,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/filemanager.cpp:1818,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:1822,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1823,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1827,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1827,1
    - Dst: is_tilde_slash
      Src: /src/PROJ/src/filemanager.cpp:1833,1
    - Dst: is_rel_or_absolute_filename
      Src: /src/PROJ/src/filemanager.cpp:1834,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1835,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1835,1
    - Dst: strstr
      Src: /src/PROJ/src/filemanager.cpp:1836,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/filemanager.cpp:1838,1
    - Dst: auto::getOldProjGridName
      Src: /src/PROJ/src/filemanager.cpp:1841,1
    - Dst: auto::empty
      Src: /src/PROJ/src/filemanager.cpp:1842,1
    - Dst: auto::reset
      Src: /src/PROJ/src/filemanager.cpp:1843,1
    - Dst: reinterpret_cast<NS_PROJ::File *>
      Src: /src/PROJ/src/filemanager.cpp:1843,1
    - Dst: pj_open_lib_internal
      Src: /src/PROJ/src/filemanager.cpp:1844,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/filemanager.cpp:1844,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/filemanager.cpp:1849,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1853,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1853,1
    - Dst: is_tilde_slash
      Src: /src/PROJ/src/filemanager.cpp:1859,1
    - Dst: is_rel_or_absolute_filename
      Src: /src/PROJ/src/filemanager.cpp:1860,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1860,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1861,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/filemanager.cpp:1862,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/filemanager.cpp:1865,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/filemanager.cpp:1872,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/src/filemanager.cpp:1874,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/filemanager.cpp:1878,1
    - Dst: empty
      Src: /src/PROJ/src/filemanager.cpp:1879,1
    - Dst: starts_with
      Src: /src/PROJ/src/filemanager.cpp:1881,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/src/filemanager.cpp:1883,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1884,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:1885,1
    - Dst: std::string::back
      Src: /src/PROJ/src/filemanager.cpp:1886,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/filemanager.cpp:1894,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1895,1
    - Dst: what
      Src: /src/PROJ/src/filemanager.cpp:1895,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1899,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/src/filemanager.cpp:1900,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1901,1
    - Dst: std::string::back
      Src: /src/PROJ/src/filemanager.cpp:1902,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/filemanager.cpp:1908,1
    - Dst: open
      Src: /src/PROJ/src/filemanager.cpp:1910,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1910,1
    - Dst: strncpy
      Src: /src/PROJ/src/filemanager.cpp:1913,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1913,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:1917,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/filemanager.cpp:1917,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/filemanager.cpp:1918,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 82
    argCount: 4
    argNames:
    - ctx
    - name
    - out_full_filename
    - out_full_filename_size
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1786
    functionDepth: 6
    functionLinenumber: 1786
    functionLinenumberEnd: 1923
    functionName: "NS_PROJ::FileManager::open_resource_file(PJ_CONTEXT *ctx, const
      char *name,\n                                         char *out_full_filename,\n
      \                                        size_t out_full_filename_size)"
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - pj_open_lib_internal
    - pj_get_default_ctx
    - std::string::c_str
    - auto::getProjGridName
    - auto::c_str
    - getDBcontext
    - auto::getOldProjGridName
    - std::string::back
    - proj_context_get_url_endpoint
    - proj_context_is_network_enabled
    - std::move
    - reinterpret_cast<NS_PROJ::File *>
    - strncpy
    - proj_context_errno_set
    - what
    - auto::lookForGridInfo
    - std::string::empty
    - proj_context_set_enable_network
    - std::unique_ptr<NS_PROJ::File>
    - pj_log
    - open
    - is_rel_or_absolute_filename
    - is_tilde_slash
    - starts_with
    - strstr
    - strcmp
    - empty
    - auto::reset
    - auto::empty
    linkageType: ''
    returnType: std::unique_ptr<NS_PROJ::File>
    signature: "std::unique_ptr<NS_PROJ::File> NS_PROJ::FileManager::open_resource_file(PJ_CONTEXT
      *ctx, const char *name,\n                                         char *out_full_filename,\n
      \                                        size_t out_full_filename_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::lookupedFiles::find
      Src: /src/PROJ/src/filemanager.cpp:1945,1
    - Dst: PJ_CONTEXT*::lookupedFiles::end
      Src: /src/PROJ/src/filemanager.cpp:1946,1
    - Dst: auto::second::empty
      Src: /src/PROJ/src/filemanager.cpp:1947,1
    - Dst: snprintf
      Src: /src/PROJ/src/filemanager.cpp:1951,1
    - Dst: auto::second::c_str
      Src: /src/PROJ/src/filemanager.cpp:1952,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/filemanager.cpp:1956,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/filemanager.cpp:1958,1
    - Dst: NS_PROJ::FileManager::open_resource_file
      Src: /src/PROJ/src/filemanager.cpp:1959,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/filemanager.cpp:1962,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1966,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - short_filename
    - out_full_filename
    - out_full_filename_size
    - disable_network
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1942
    functionDepth: 2
    functionLinenumber: 1942
    functionLinenumberEnd: 1969
    functionName: pj_find_file
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 4
    functionsReached:
    - proj_context_set_enable_network
    - NS_PROJ::FileManager::open_resource_file
    - auto::second::empty
    - PJ_CONTEXT*::lookupedFiles::find
    - snprintf
    - PJ_CONTEXT*::lookupedFiles::end
    - auto::second::c_str
    - std::string
    - proj_context_is_network_enabled
    linkageType: ''
    returnType: int
    signature: "int pj_find_file(PJ_CONTEXT *ctx, const char *short_filename,\n                 char
      *out_full_filename, size_t out_full_filename_size,\n                 bool disable_network)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_not_of
      Src: /src/PROJ/src/filemanager.cpp:1976,1
    - Dst: std::string::find_last_not_of
      Src: /src/PROJ/src/filemanager.cpp:1977,1
    - Dst: std::string
      Src: /src/PROJ/src/filemanager.cpp:1979,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/filemanager.cpp:1981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1982
    functionName: trim
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::string::substr
    - std::string::find_first_not_of
    - std::string::find_last_not_of
    linkageType: ''
    returnType: std::string
    signature: std::string trim(const std::string &s)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:1994,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:1996,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:1997,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:1998,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2003,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2009,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2012,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2017,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2025,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2029,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2030,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2031,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2034,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2036,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2037,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2038,1
    - Dst: std::unique_ptr<NS_PROJ::File>
      Src: /src/PROJ/src/filemanager.cpp:2045,1
    - Dst: reinterpret_cast<NS_PROJ::File *>
      Src: /src/PROJ/src/filemanager.cpp:2046,1
    - Dst: pj_open_lib_internal
      Src: /src/PROJ/src/filemanager.cpp:2046,1
    - Dst: auto::seek
      Src: /src/PROJ/src/filemanager.cpp:2049,1
    - Dst: auto::tell
      Src: /src/PROJ/src/filemanager.cpp:2050,1
    - Dst: auto::seek
      Src: /src/PROJ/src/filemanager.cpp:2053,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/filemanager.cpp:2054,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/filemanager.cpp:2054,1
    - Dst: auto::read
      Src: /src/PROJ/src/filemanager.cpp:2055,1
    - Dst: std::string::size
      Src: /src/PROJ/src/filemanager.cpp:2055,1
    - Dst: std::string::size
      Src: /src/PROJ/src/filemanager.cpp:2056,1
    - Dst: std::string::find_first_of
      Src: /src/PROJ/src/filemanager.cpp:2062,1
    - Dst: std::string::find
      Src: /src/PROJ/src/filemanager.cpp:2067,1
    - Dst: trim
      Src: /src/PROJ/src/filemanager.cpp:2069,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/filemanager.cpp:2069,1
    - Dst: trim
      Src: /src/PROJ/src/filemanager.cpp:2070,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/filemanager.cpp:2070,1
    - Dst: PJ_CONTEXT*::endpoint::empty
      Src: /src/PROJ/src/filemanager.cpp:2071,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:2072,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2074,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2075,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2076,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2078,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2079,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2080,1
    - Dst: atoi
      Src: /src/PROJ/src/filemanager.cpp:2082,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/filemanager.cpp:2082,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/filemanager.cpp:2084,1
    - Dst: atoi
      Src: /src/PROJ/src/filemanager.cpp:2086,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/filemanager.cpp:2086,1
    - Dst: pj_log
      Src: /src/PROJ/src/filemanager.cpp:2095,1
    - Dst: std::move
      Src: /src/PROJ/src/filemanager.cpp:2100,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2105,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2105,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2106,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2108,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2109,1
    - Dst: ci_equal
      Src: /src/PROJ/src/filemanager.cpp:2110,1
    - Dst: std::string::find_first_not_of
      Src: /src/PROJ/src/filemanager.cpp:2114,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 86
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 1988
    functionDepth: 6
    functionLinenumber: 1988
    functionLinenumberEnd: 2116
    functionName: pj_load_ini
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 14
    functionsReached:
    - pj_open_lib_internal
    - getenv
    - auto::c_str
    - static_cast<long long>
    - auto::tell
    - auto::seek
    - std::string::find_first_of
    - std::string::substr
    - auto::read
    - static_cast<size_t>
    - reinterpret_cast<NS_PROJ::File *>
    - std::move
    - std::string::find
    - PJ_CONTEXT*::endpoint::empty
    - std::string::size
    - std::string::find_first_not_of
    - std::unique_ptr<NS_PROJ::File>
    - std::string::resize
    - trim
    - pj_log
    - ci_equal
    - atoi
    linkageType: ''
    returnType: void
    signature: void pj_load_ini(PJ_CONTEXT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:2146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - finder
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - proj_file_finder
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2151
    functionName: proj_context_set_file_finder
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: void
    signature: "void proj_context_set_file_finder(PJ_CONTEXT *ctx, proj_file_finder
      finder,\n                                  void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:2177,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/filemanager.cpp:2183,1
    - Dst: PJ_CONTEXT*::set_search_paths
      Src: /src/PROJ/src/filemanager.cpp:2185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - count_paths
    - paths
    argTypes:
    - PJ_CONTEXT*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: proj_context_set_search_paths
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - std::vector::emplace_back
    - PJ_CONTEXT*::set_search_paths
    linkageType: ''
    returnType: void
    signature: "void proj_context_set_search_paths(PJ_CONTEXT *ctx, int count_paths,\n
      \                                  const char *const *paths)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/filemanager.cpp:2211,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/filemanager.cpp:2214,1
    - Dst: PJ_CONTEXT*::set_ca_bundle_path
      Src: /src/PROJ/src/filemanager.cpp:2216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2209
    functionDepth: 7
    functionLinenumber: 2209
    functionLinenumberEnd: 2219
    functionName: proj_context_set_ca_bundle_path
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - pj_load_ini
    - PJ_CONTEXT*::set_ca_bundle_path
    linkageType: ''
    returnType: void
    signature: void proj_context_set_ca_bundle_path(PJ_CONTEXT *ctx, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2224,1
    - Dst: getenv
      Src: /src/PROJ/src/filemanager.cpp:2224,1
    - Dst: fprintf
      Src: /src/PROJ/src/filemanager.cpp:2225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2229
    functionName: pj_stderr_proj_lib_deprecation_warning
    functionSourceFile: /src/PROJ/src/filemanager.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pj_stderr_proj_lib_deprecation_warning()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: pj_left
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum pj_io_units
    signature: enum pj_io_units pj_left(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pj_right
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum pj_io_units
    signature: enum pj_io_units pj_right(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: proj_coord_error
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD proj_coord_error(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PJ_DIRECTION>
      Src: /src/PROJ/src/internal.cpp:81,1
    - Dst: pj_fwd
      Src: /src/PROJ/src/internal.cpp:84,1
    - Dst: pj_inv
      Src: /src/PROJ/src/internal.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - P
    - direction
    - coo
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: pj_approx_2D_trans
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 2
    functionsReached:
    - pj_inv
    - pj_fwd
    - static_cast<PJ_DIRECTION>
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD pj_approx_2D_trans(PJ *P, PJ_DIRECTION direction, PJ_COORD
      coo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PJ_DIRECTION>
      Src: /src/PROJ/src/internal.cpp:111,1
    - Dst: pj_fwd3d
      Src: /src/PROJ/src/internal.cpp:114,1
    - Dst: pj_inv3d
      Src: /src/PROJ/src/internal.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - P
    - direction
    - coo
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 127
    functionName: pj_approx_3D_trans
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 1
    functionsReached:
    - pj_inv3d
    - pj_fwd3d
    - static_cast<PJ_DIRECTION>
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD pj_approx_3D_trans(PJ *P, PJ_DIRECTION direction, PJ_COORD
      coo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: pj_has_inverse
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pj_has_inverse(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/internal.cpp:141,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/internal.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: proj_context_set
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - proj_assign_context
    linkageType: ''
    returnType: void
    signature: void proj_context_set(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_assign_context
      Src: /src/PROJ/src/internal.cpp:147,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/internal.cpp:147,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/internal.cpp:149,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/internal.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: proj_context_inherit
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - proj_assign_context
    - pj_get_ctx
    linkageType: ''
    returnType: void
    signature: void proj_context_inherit(PJ *parent, PJ *child)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/internal.cpp:165,1
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:169,1
    - Dst: isspace
      Src: /src/PROJ/src/internal.cpp:174,1
    - Dst: isspace
      Src: /src/PROJ/src/internal.cpp:178,1
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:181,1
    - Dst: memmove
      Src: /src/PROJ/src/internal.cpp:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 189
    functionName: pj_chomp
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 0
    functionsReached:
    - isspace
    - strchr
    - strlen
    - memmove
    linkageType: ''
    returnType: char
    signature: char *pj_chomp(char *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pj_chomp
      Src: /src/PROJ/src/internal.cpp:205,1
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:206,1
    - Dst: isspace
      Src: /src/PROJ/src/internal.cpp:241,1
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:252,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 60
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 278
    functionName: pj_shrink
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 2
    functionsReached:
    - isspace
    - pj_chomp
    - strlen
    linkageType: ''
    returnType: char
    signature: char *pj_shrink(char *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pj_shrink
      Src: /src/PROJ/src/internal.cpp:287,1
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 308
    functionName: pj_trim_argc
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 1
    functionsReached:
    - pj_shrink
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t pj_trim_argc(char *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:312,1
    - Dst: strstr
      Src: /src/PROJ/src/internal.cpp:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - param_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 330
    functionName: unquote_string
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - strstr
    linkageType: ''
    returnType: void
    signature: void unquote_string(char *param_str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/src/internal.cpp:355,1
    - Dst: strlen
      Src: /src/PROJ/src/internal.cpp:361,1
    - Dst: unquote_string
      Src: /src/PROJ/src/internal.cpp:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 366
    functionName: pj_trim_argv
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 1
    functionsReached:
    - unquote_string
    - calloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char **pj_trim_argv(size_t argc, char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/internal.cpp:371,1
    - Dst: replaceAll
      Src: /src/PROJ/src/internal.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: pj_double_quote_string_param_if_needed
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 1
    functionsReached:
    - std::string::find
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: std::string pj_double_quote_string_param_if_needed(const std::string
      &str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/internal.cpp:395,1
    - Dst: std::string
      Src: /src/PROJ/src/internal.cpp:397,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/internal.cpp:398,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/internal.cpp:405,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/internal.cpp:405,1
    - Dst: pj_shrink
      Src: /src/PROJ/src/internal.cpp:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 410
    functionName: pj_make_args
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - pj_strdup
    - strchr
    - pj_double_quote_string_param_if_needed
    - pj_shrink
    - std::string
    linkageType: ''
    returnType: char
    signature: char *pj_make_args(size_t argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/internal.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: proj_context_errno_set
    functionSourceFile: /src/PROJ/src/internal.cpp
    functionUses: 39
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: void
    signature: void proj_context_errno_set(PJ_CONTEXT *ctx, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: STR_HELPER
    functionSourceFile: /src/PROJ/src/release.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_HELPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: STR
    functionSourceFile: /src/PROJ/src/release.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pj_get_release
    functionSourceFile: /src/PROJ/src/release.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pj_get_release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: ORIGVFS
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ORIGVFS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - sqlite3_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: memClose
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memClose(sqlite3_file *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/memvfs.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pFile
    - zBuf
    - iAmt
    - iOfst
    argTypes:
    - sqlite3_file*
    - void*
    - int
    - sqlite_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: memRead
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int memRead(sqlite3_file *pFile, void *zBuf, int iAmt,\n                   sqlite_int64
      iOfst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFile
    - z
    - iAmt
    - iOfst
    argTypes:
    - sqlite3_file*
    - void*
    - int
    - sqlite_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: memWrite
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int memWrite(sqlite3_file *pFile, const void *z, int iAmt,\n                    sqlite_int64
      iOfst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFile
    - size
    argTypes:
    - sqlite3_file*
    - sqlite_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: memTruncate
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memTruncate(sqlite3_file *pFile, sqlite_int64 size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFile
    - flags
    argTypes:
    - sqlite3_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: memSync
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memSync(sqlite3_file *pFile, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFile
    - pSize
    argTypes:
    - sqlite3_file*
    - sqlite_int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: memFileSize
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memFileSize(sqlite3_file *pFile, sqlite_int64 *pSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFile
    - eLock
    argTypes:
    - sqlite3_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: memLock
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memLock(sqlite3_file *pFile, int eLock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFile
    - eLock
    argTypes:
    - sqlite3_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: memUnlock
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memUnlock(sqlite3_file *pFile, int eLock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFile
    - pResOut
    argTypes:
    - sqlite3_file*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: memCheckReservedLock
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memCheckReservedLock(sqlite3_file *pFile, int *pResOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_mprintf
      Src: /src/PROJ/src/memvfs.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFile
    - op
    - pArg
    argTypes:
    - sqlite3_file*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: memFileControl
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - sqlite3_mprintf
    linkageType: ''
    returnType: int
    signature: int memFileControl(sqlite3_file *pFile, int op, void *pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - sqlite3_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: memSectorSize
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memSectorSize(sqlite3_file *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - sqlite3_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: memDeviceCharacteristics
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memDeviceCharacteristics(sqlite3_file *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pFile
    - iPg
    - pgsz
    - bExtend
    - pp
    argTypes:
    - sqlite3_file*
    - int
    - int
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: memShmMap
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int memShmMap(sqlite3_file *pFile, int iPg, int pgsz, int bExtend,\n
      \                    void volatile **pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFile
    - offset
    - n
    - flags
    argTypes:
    - sqlite3_file*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: memShmLock
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memShmLock(sqlite3_file *pFile, int offset, int n, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - sqlite3_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: memShmBarrier
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memShmBarrier(sqlite3_file *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFile
    - deleteFlag
    argTypes:
    - sqlite3_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: memShmUnmap
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memShmUnmap(sqlite3_file *pFile, int deleteFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pFile
    - iOfst
    - iAmt
    - pp
    argTypes:
    - sqlite3_file*
    - sqlite3_int64
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: memFetch
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int memFetch(sqlite3_file *pFile, sqlite3_int64 iOfst, int iAmt,\n
      \                   void **pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFile
    - iOfst
    - pPage
    argTypes:
    - sqlite3_file*
    - sqlite3_int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: memUnfetch
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memUnfetch(sqlite3_file *pFile, sqlite3_int64 iOfst, void *pPage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/src/memvfs.c:298,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:303,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:303,1
    - Dst: sqlite3_uri_int64
      Src: /src/PROJ/src/memvfs.c:307,1
    - Dst: sqlite3_uri_int64
      Src: /src/PROJ/src/memvfs.c:311,1
    - Dst: sqlite3_uri_int64
      Src: /src/PROJ/src/memvfs.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - pVfs
    - zName
    - pFile
    - flags
    - pOutFlags
    argTypes:
    - sqlite3_vfs*
    - char*
    - sqlite3_file*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: memOpen
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - memset
    - sqlite3_uri_int64
    - ORIGVFS
    linkageType: ''
    returnType: int
    signature: "int memOpen(sqlite3_vfs *pVfs, const char *zName, sqlite3_file *pFile,\n
      \                  int flags, int *pOutFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pVfs
    - zPath
    - dirSync
    argTypes:
    - sqlite3_vfs*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: memDelete
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pVfs
    - zPath
    - flags
    - pResOut
    argTypes:
    - sqlite3_vfs*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: memAccess
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int memAccess(sqlite3_vfs *pVfs, const char *zPath, int flags,\n                     int
      *pResOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/memvfs.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pVfs
    - zPath
    - nOut
    - zOut
    argTypes:
    - sqlite3_vfs*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: memFullPathname
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - sqlite3_snprintf
    linkageType: ''
    returnType: int
    signature: "int memFullPathname(sqlite3_vfs *pVfs, const char *zPath, int nOut,\n
      \                          char *zOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:355,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pVfs
    - zPath
    argTypes:
    - sqlite3_vfs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: memDlOpen
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: void
    signature: void *memDlOpen(sqlite3_vfs *pVfs, const char *zPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:364,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pVfs
    - nByte
    - zErrMsg
    argTypes:
    - sqlite3_vfs*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: memDlError
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: void
    signature: void memDlError(sqlite3_vfs *pVfs, int nByte, char *zErrMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:371,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: (*memDlSym(sqlite3_vfs *pVfs, void *p, const char *zSym))(void)
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: void
    signature: void (*memDlSym(sqlite3_vfs *pVfs, void *p, const char *zSym))(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:378,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pVfs
    - pHandle
    argTypes:
    - sqlite3_vfs*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: memDlClose
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: void
    signature: void memDlClose(sqlite3_vfs *pVfs, void *pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:386,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pVfs
    - nByte
    - zBufOut
    argTypes:
    - sqlite3_vfs*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: memRandomness
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: int
    signature: int memRandomness(sqlite3_vfs *pVfs, int nByte, char *zBufOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:394,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pVfs
    - nMicro
    argTypes:
    - sqlite3_vfs*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: memSleep
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: int
    signature: int memSleep(sqlite3_vfs *pVfs, int nMicro)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:401,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pVfs
    - pTimeOut
    argTypes:
    - sqlite3_vfs*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: memCurrentTime
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: int
    signature: int memCurrentTime(sqlite3_vfs *pVfs, double *pTimeOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:405,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pVfs
    - a
    - b
    argTypes:
    - sqlite3_vfs*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: memGetLastError
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: int
    signature: int memGetLastError(sqlite3_vfs *pVfs, int a, char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:408,1
    - Dst: ORIGVFS
      Src: /src/PROJ/src/memvfs.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pVfs
    - p
    argTypes:
    - sqlite3_vfs*
    - sqlite3_int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: memCurrentTimeInt64
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 0
    functionsReached:
    - ORIGVFS
    linkageType: ''
    returnType: int
    signature: int memCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/memvfs.c:416,1
    - Dst: sqlite3_vfs_find
      Src: /src/PROJ/src/memvfs.c:418,1
    - Dst: sqlite3_malloc
      Src: /src/PROJ/src/memvfs.c:422,1
    - Dst: sqlite3_vfs_register
      Src: /src/PROJ/src/memvfs.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - vfs
    - vfs_name
    - buffer
    - bufferSize
    argTypes:
    - sqlite3_vfs*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: pj_sqlite3_memvfs_init
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 1
    functionsReached:
    - sqlite3_vfs_register
    - memcpy
    - sqlite3_malloc
    - sqlite3_vfs_find
    linkageType: ''
    returnType: int
    signature: "int pj_sqlite3_memvfs_init(sqlite3_vfs *vfs, const char *vfs_name,\n
      \                          const void *buffer, size_t bufferSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_free
      Src: /src/PROJ/src/memvfs.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vfs
    argTypes:
    - sqlite3_vfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: pj_sqlite3_memvfs_deallocate_user_data
    functionSourceFile: /src/PROJ/src/memvfs.c
    functionUses: 1
    functionsReached:
    - sqlite3_free
    linkageType: ''
    returnType: void
    signature: void pj_sqlite3_memvfs_deallocate_user_data(sqlite3_vfs *vfs)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/fwd.cpp:46,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:48,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/fwd.cpp:54,1
    - Dst: _
      Src: /src/PROJ/src/fwd.cpp:54,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/fwd.cpp:55,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:56,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/fwd.cpp:62,1
    - Dst: _
      Src: /src/PROJ/src/fwd.cpp:62,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/fwd.cpp:63,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:64,1
    - Dst: std::fabs
      Src: /src/PROJ/src/fwd.cpp:72,1
    - Dst: std::fabs
      Src: /src/PROJ/src/fwd.cpp:73,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/fwd.cpp:74,1
    - Dst: _
      Src: /src/PROJ/src/fwd.cpp:74,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/fwd.cpp:75,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:76,1
    - Dst: adjlon
      Src: /src/PROJ/src/fwd.cpp:82,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:86,1
    - Dst: pj_geocentric_latitude
      Src: /src/PROJ/src/fwd.cpp:92,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:95,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:100,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:103,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:105,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:112,1
    - Dst: adjlon
      Src: /src/PROJ/src/fwd.cpp:122,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:128,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:134,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 2
    argNames:
    - P
    - coo
    argTypes:
    - PJ*
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 136
    functionName: fwd_prepare
    functionSourceFile: /src/PROJ/src/fwd.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - proj_trans
    - adjlon
    - proj_coord_error
    - proj_log_error
    - _
    - pj_geocentric_latitude
    - std::fabs
    linkageType: ''
    returnType: void
    signature: void fwd_prepare(PJ *P, PJ_COORD &coo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:146,1
    - Dst: adjlon
      Src: /src/PROJ/src/fwd.cpp:180,1
    - Dst: proj_trans
      Src: /src/PROJ/src/fwd.cpp:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - P
    - coo
    argTypes:
    - PJ*
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 189
    functionName: fwd_finalize
    functionSourceFile: /src/PROJ/src/fwd.cpp
    functionUses: 0
    functionsReached:
    - adjlon
    - proj_trans
    linkageType: ''
    returnType: void
    signature: void fwd_finalize(PJ *P, PJ_COORD &coo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - P
    - coord
    - last_errno
    argTypes:
    - PJ*
    - PJ_COORD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: error_or_coord
    functionSourceFile: /src/PROJ/src/fwd.cpp
    functionUses: 2
    functionsReached:
    - proj_coord_error
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD error_or_coord(PJ *P, PJ_COORD coord, int last_errno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fwd_prepare
      Src: /src/PROJ/src/fwd.cpp:208,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:210,1
    - Dst: PJ*::fwd
      Src: /src/PROJ/src/fwd.cpp:215,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/src/fwd.cpp:218,1
    - Dst: PJ*::fwd4d
      Src: /src/PROJ/src/fwd.cpp:221,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/fwd.cpp:223,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:224,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:227,1
    - Dst: fwd_finalize
      Src: /src/PROJ/src/fwd.cpp:230,1
    - Dst: error_or_coord
      Src: /src/PROJ/src/fwd.cpp:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 233
    functionName: pj_fwd
    functionSourceFile: /src/PROJ/src/fwd.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - PJ*::fwd4d
    - error_or_coord
    - fwd_finalize
    - PJ*::fwd3d
    - proj_coord_error
    - PJ*::fwd
    - fwd_prepare
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY pj_fwd(PJ_LP lp, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fwd_prepare
      Src: /src/PROJ/src/fwd.cpp:243,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:245,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/src/fwd.cpp:250,1
    - Dst: PJ*::fwd4d
      Src: /src/PROJ/src/fwd.cpp:253,1
    - Dst: PJ*::fwd
      Src: /src/PROJ/src/fwd.cpp:255,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/fwd.cpp:258,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:259,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:262,1
    - Dst: fwd_finalize
      Src: /src/PROJ/src/fwd.cpp:265,1
    - Dst: error_or_coord
      Src: /src/PROJ/src/fwd.cpp:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 268
    functionName: pj_fwd3d
    functionSourceFile: /src/PROJ/src/fwd.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - PJ*::fwd4d
    - error_or_coord
    - fwd_finalize
    - PJ*::fwd3d
    - proj_coord_error
    - PJ*::fwd
    - fwd_prepare
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_fwd3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fwd_prepare
      Src: /src/PROJ/src/fwd.cpp:276,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:278,1
    - Dst: PJ*::fwd4d
      Src: /src/PROJ/src/fwd.cpp:284,1
    - Dst: PJ*::fwd3d
      Src: /src/PROJ/src/fwd.cpp:286,1
    - Dst: PJ*::fwd
      Src: /src/PROJ/src/fwd.cpp:289,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/fwd.cpp:292,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:293,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:297,1
    - Dst: fwd_finalize
      Src: /src/PROJ/src/fwd.cpp:302,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/fwd.cpp:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 311
    functionName: pj_fwd4d
    functionSourceFile: /src/PROJ/src/fwd.cpp
    functionUses: 4
    functionsReached:
    - proj_errno_set
    - PJ*::fwd4d
    - fwd_finalize
    - PJ*::fwd3d
    - proj_coord_error
    - PJ*::fwd
    - fwd_prepare
    linkageType: ''
    returnType: bool
    signature: bool pj_fwd4d(PJ_COORD &coo, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/deriv.cpp:17,1
    - Dst: fabs
      Src: /src/PROJ/src/deriv.cpp:31,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - lp
    - h
    - P
    - der
    argTypes:
    - PJ_LP
    - double
    - PJ*
    - struct DERIVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 70
    functionName: pj_deriv
    functionSourceFile: /src/PROJ/src/deriv.cpp
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: int
    signature: int pj_deriv(PJ_LP lp, double h, const PJ *P, struct DERIVS *der)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PROJ/src/quadtree.hpp:109,1
    - Dst: search
      Src: /src/PROJ/src/quadtree.hpp:117,1
    - Dst: search
      Src: /src/PROJ/src/quadtree.hpp:123,1
    - Dst: subnodes::empty
      Src: /src/PROJ/src/quadtree.hpp:152,1
    - Dst: features::size
      Src: /src/PROJ/src/quadtree.hpp:155,1
    - Dst: splitBounds
      Src: /src/PROJ/src/quadtree.hpp:163,1
    - Dst: splitBounds
      Src: /src/PROJ/src/quadtree.hpp:164,1
    - Dst: splitBounds
      Src: /src/PROJ/src/quadtree.hpp:165,1
    - Dst: isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:169,1
    - Dst: isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:170,1
    - Dst: isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:171,1
    - Dst: isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:172,1
    - Dst: subnodes::reserve
      Src: /src/PROJ/src/quadtree.hpp:173,1
    - Dst: subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:174,1
    - Dst: Node
      Src: /src/PROJ/src/quadtree.hpp:174,1
    - Dst: subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:175,1
    - Dst: Node
      Src: /src/PROJ/src/quadtree.hpp:175,1
    - Dst: subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:176,1
    - Dst: Node
      Src: /src/PROJ/src/quadtree.hpp:176,1
    - Dst: subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:177,1
    - Dst: Node
      Src: /src/PROJ/src/quadtree.hpp:177,1
    - Dst: std::move
      Src: /src/PROJ/src/quadtree.hpp:179,1
    - Dst: features::clear
      Src: /src/PROJ/src/quadtree.hpp:180,1
    - Dst: insert
      Src: /src/PROJ/src/quadtree.hpp:182,1
    - Dst: insert
      Src: /src/PROJ/src/quadtree.hpp:186,1
    - Dst: isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:194,1
    - Dst: insert
      Src: /src/PROJ/src/quadtree.hpp:195,1
    - Dst: features::push_back
      Src: /src/PROJ/src/quadtree.hpp:202,1
    - Dst: std::pair<Feature, RectObj>
      Src: /src/PROJ/src/quadtree.hpp:203,1
    - Dst: rect::overlaps
      Src: /src/PROJ/src/quadtree.hpp:212,1
    - Dst: second::overlaps
      Src: /src/PROJ/src/quadtree.hpp:217,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/quadtree.hpp:218,1
    - Dst: std::reference_wrapper<const Feature>
      Src: /src/PROJ/src/quadtree.hpp:219,1
    - Dst: search
      Src: /src/PROJ/src/quadtree.hpp:225,1
    - Dst: rect::contains
      Src: /src/PROJ/src/quadtree.hpp:234,1
    - Dst: second::contains
      Src: /src/PROJ/src/quadtree.hpp:239,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/quadtree.hpp:240,1
    - Dst: search
      Src: /src/PROJ/src/quadtree.hpp:246,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 251
    functionName: namespace
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 0
    functionsReached:
    - insert
    - auto::push_back
    - subnodes::emplace_back
    - features::size
    - std::move
    - search
    - Node
    - subnodes::empty
    - splitBounds
    - std::reference_wrapper<const Feature>
    - rect::overlaps
    - second::contains
    - second::overlaps
    - features::clear
    - rect::contains
    - std::pair<Feature, RectObj>
    - subnodes::reserve
    - features::push_back
    - isContainedBy
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: isContainedBy
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isContainedBy(const RectObj &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: overlaps
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overlaps(const RectObj &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: contains
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(double x, double y) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: operator!=(const RectObj &other) const
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const RectObj &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rectIn
    argTypes:
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: QuadTree::Node
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const RectObj &rectIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - globalBounds
    argTypes:
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: QuadTree::QuadTree
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuadTree(const RectObj &globalBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadTree::insert
      Src: /src/PROJ/src/quadtree.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - feature
    - featureBounds
    argTypes:
    - Feature
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: QuadTree::insert
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 1
    functionsReached:
    - QuadTree::insert
    linkageType: ''
    returnType: void
    signature: void insert(const Feature &feature, const RectObj &featureBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadTree::search
      Src: /src/PROJ/src/quadtree.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aoiRect
    - features
    argTypes:
    - RectObj
    - std::vector<std::reference_wrapper<const Feature>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: QuadTree::search
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 1
    functionsReached:
    - QuadTree::search
    linkageType: ''
    returnType: void
    signature: "void search(const RectObj &aoiRect,\n           std::vector<std::reference_wrapper<const
      Feature>> &features) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadTree::search
      Src: /src/PROJ/src/quadtree.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - features
    argTypes:
    - double
    - double
    - std::vector<Feature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: QuadTree::search
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 2
    functionsReached:
    - QuadTree::search
    linkageType: ''
    returnType: void
    signature: void search(double x, double y, std::vector<Feature> &features) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - in
    - out1
    - out2
    argTypes:
    - RectObj
    - RectObj
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: QuadTree::splitBounds
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void splitBounds(const RectObj &in, RectObj &out1, RectObj &out2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node::subnodes::empty
      Src: /src/PROJ/src/quadtree.hpp:152,1
    - Dst: Node::features::size
      Src: /src/PROJ/src/quadtree.hpp:155,1
    - Dst: QuadTree::splitBounds
      Src: /src/PROJ/src/quadtree.hpp:163,1
    - Dst: QuadTree::splitBounds
      Src: /src/PROJ/src/quadtree.hpp:164,1
    - Dst: QuadTree::splitBounds
      Src: /src/PROJ/src/quadtree.hpp:165,1
    - Dst: RectObj::isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:169,1
    - Dst: RectObj::isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:170,1
    - Dst: RectObj::isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:171,1
    - Dst: RectObj::isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:172,1
    - Dst: Node::subnodes::reserve
      Src: /src/PROJ/src/quadtree.hpp:173,1
    - Dst: Node::subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:174,1
    - Dst: QuadTree::Node
      Src: /src/PROJ/src/quadtree.hpp:174,1
    - Dst: Node::subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:175,1
    - Dst: QuadTree::Node
      Src: /src/PROJ/src/quadtree.hpp:175,1
    - Dst: Node::subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:176,1
    - Dst: QuadTree::Node
      Src: /src/PROJ/src/quadtree.hpp:176,1
    - Dst: Node::subnodes::emplace_back
      Src: /src/PROJ/src/quadtree.hpp:177,1
    - Dst: QuadTree::Node
      Src: /src/PROJ/src/quadtree.hpp:177,1
    - Dst: std::move
      Src: /src/PROJ/src/quadtree.hpp:179,1
    - Dst: Node::features::clear
      Src: /src/PROJ/src/quadtree.hpp:180,1
    - Dst: QuadTree::insert
      Src: /src/PROJ/src/quadtree.hpp:182,1
    - Dst: QuadTree::insert
      Src: /src/PROJ/src/quadtree.hpp:186,1
    - Dst: RectObj::isContainedBy
      Src: /src/PROJ/src/quadtree.hpp:194,1
    - Dst: QuadTree::insert
      Src: /src/PROJ/src/quadtree.hpp:195,1
    - Dst: Node::features::push_back
      Src: /src/PROJ/src/quadtree.hpp:202,1
    - Dst: std::pair<Feature, RectObj>
      Src: /src/PROJ/src/quadtree.hpp:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - node
    - feature
    - featureBounds
    argTypes:
    - Node
    - Feature
    - RectObj
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 204
    functionName: QuadTree::insert
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 2
    functionsReached:
    - RectObj::isContainedBy
    - QuadTree::insert
    - std::pair<Feature, RectObj>
    - Node::subnodes::emplace_back
    - std::move
    - Node::features::push_back
    - QuadTree::Node
    - Node::features::size
    - Node::subnodes::empty
    - QuadTree::splitBounds
    - Node::subnodes::reserve
    - Node::features::clear
    linkageType: ''
    returnType: void
    signature: "void insert(Node &node, const Feature &feature,\n                const
      RectObj &featureBounds)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node::rect::overlaps
      Src: /src/PROJ/src/quadtree.hpp:212,1
    - Dst: second::overlaps
      Src: /src/PROJ/src/quadtree.hpp:217,1
    - Dst: std::vector<std::reference_wrapper<const Feature>>::push_back
      Src: /src/PROJ/src/quadtree.hpp:218,1
    - Dst: std::reference_wrapper<const Feature>
      Src: /src/PROJ/src/quadtree.hpp:219,1
    - Dst: QuadTree::search
      Src: /src/PROJ/src/quadtree.hpp:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - node
    - aoiRect
    - features
    argTypes:
    - Node
    - RectObj
    - std::vector<std::reference_wrapper<const Feature>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 227
    functionName: QuadTree::search
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 3
    functionsReached:
    - QuadTree::search
    - std::reference_wrapper<const Feature>
    - second::overlaps
    - std::vector<std::reference_wrapper<const Feature>>::push_back
    - Node::rect::overlaps
    linkageType: ''
    returnType: void
    signature: "void search(const Node &node, const RectObj &aoiRect,\n           std::vector<std::reference_wrapper<const
      Feature>> &features) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node::rect::contains
      Src: /src/PROJ/src/quadtree.hpp:234,1
    - Dst: second::contains
      Src: /src/PROJ/src/quadtree.hpp:239,1
    - Dst: std::vector<Feature>::push_back
      Src: /src/PROJ/src/quadtree.hpp:240,1
    - Dst: QuadTree::search
      Src: /src/PROJ/src/quadtree.hpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - x
    - y
    - features
    argTypes:
    - Node
    - double
    - double
    - std::vector<Feature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: QuadTree::search
    functionSourceFile: /src/PROJ/src/quadtree.hpp
    functionUses: 4
    functionsReached:
    - QuadTree::search
    - std::vector<Feature>::push_back
    - Node::rect::contains
    - second::contains
    linkageType: ''
    returnType: void
    signature: "void search(const Node &node, double x, double y,\n                       std::vector<Feature>
      &features)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/src/param.cpp:17,1
    - Dst: strlen
      Src: /src/PROJ/src/param.cpp:17,1
    - Dst: strcpy
      Src: /src/PROJ/src/param.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: pj_mkparam
    functionSourceFile: /src/PROJ/src/param.cpp
    functionUses: 2
    functionsReached:
    - malloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_mkparam(const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/param.cpp:38,1
    - Dst: isspace
      Src: /src/PROJ/src/param.cpp:52,1
    - Dst: calloc
      Src: /src/PROJ/src/param.cpp:61,1
    - Dst: memcpy
      Src: /src/PROJ/src/param.cpp:64,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - str
    - next_str
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: pj_mkparam_ws
    functionSourceFile: /src/PROJ/src/param.cpp
    functionUses: 0
    functionsReached:
    - isspace
    - calloc
    - memcpy
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_mkparam_ws(const char *str, const char **next_str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/param.cpp:90,1
    - Dst: strlen
      Src: /src/PROJ/src/param.cpp:91,1
    - Dst: strncmp
      Src: /src/PROJ/src/param.cpp:98,1
    - Dst: strcmp
      Src: /src/PROJ/src/param.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - list
    - parameter
    argTypes:
    - paralist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 108
    functionName: pj_param_exists
    functionSourceFile: /src/PROJ/src/param.cpp
    functionUses: 2
    functionsReached:
    - strchr
    - strncmp
    - strlen
    - strcmp
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_param_exists(paralist *list, const char *parameter)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/param.cpp:137,1
    - Dst: strchr
      Src: /src/PROJ/src/param.cpp:141,1
    - Dst: fprintf
      Src: /src/PROJ/src/param.cpp:142,1
    - Dst: exit
      Src: /src/PROJ/src/param.cpp:143,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/param.cpp:146,1
    - Dst: strlen
      Src: /src/PROJ/src/param.cpp:174,1
    - Dst: atoi
      Src: /src/PROJ/src/param.cpp:181,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/param.cpp:184,1
    - Dst: pj_atof
      Src: /src/PROJ/src/param.cpp:191,1
    - Dst: dmstor_ctx
      Src: /src/PROJ/src/param.cpp:194,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/param.cpp:211,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 3
    argNames:
    - ctx
    - pl
    - opt
    argTypes:
    - PJ_CONTEXT*
    - paralist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 218
    functionName: pj_param
    functionSourceFile: /src/PROJ/src/param.cpp
    functionUses: 5
    functionsReached:
    - pj_get_default_ctx
    - dmstor_ctx
    - strchr
    - pj_param_exists
    - proj_context_errno_set
    - pj_atof
    - strlen
    - exit
    - atoi
    - fprintf
    linkageType: ''
    returnType: PROJVALUE
    signature: PROJVALUE pj_param(PJ_CONTEXT *ctx, paralist *pl, const char *opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/param.cpp:222,1
    - Dst: pj_param
      Src: /src/PROJ/src/param.cpp:226,1
    - Dst: pj_param
      Src: /src/PROJ/src/param.cpp:232,1
    - Dst: strcmp
      Src: /src/PROJ/src/param.cpp:233,1
    - Dst: time
      Src: /src/PROJ/src/param.cpp:240,1
    - Dst: localtime_s
      Src: /src/PROJ/src/param.cpp:242,1
    - Dst: localtime_r
      Src: /src/PROJ/src/param.cpp:244,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/param.cpp:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 255
    functionName: pj_parse_t_final
    functionSourceFile: /src/PROJ/src/param.cpp
    functionUses: 0
    functionsReached:
    - time
    - strcmp
    - localtime_s
    - static_cast<double>
    - localtime_r
    - pj_param
    linkageType: ''
    returnType: double
    signature: double pj_parse_t_final(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - decl
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: PROJ_DEPRECATED
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_DEPRECATED(decl, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - maj
    - ','
    - min
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: PROJ_COMPUTE_VERSION
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_COMPUTE_VERSION(maj, min, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - maj
    - ','
    - min
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: PROJ_AT_LEAST_VERSION
    functionSourceFile: /src/PROJ/src/proj.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_AT_LEAST_VERSION(maj, min, patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:72,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:76,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:82,1
    - Dst: nan
      Src: /src/PROJ/src/geodesic.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: Init
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - sqrt
    - atan2
    - nan
    linkageType: ''
    returnType: void
    signature: void Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sq
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sq(double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - u
    - v
    - t
    argTypes:
    - double
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: sumx
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sumx(double u, double v, double* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - N
    - p
    - x
    argTypes:
    - int
    - double[]
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: polyvalx
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double polyvalx(int N, const double p[], double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: swapx
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swapx(double* x, double* y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:137,1
    - Dst: hypot
      Src: /src/PROJ/src/geodesic.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sinx
    - cosx
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: norm2
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - sqrt
    - hypot
    linkageType: ''
    returnType: void
    signature: void norm2(double* sinx, double* cosx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:146,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:147,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: AngNormalize
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - copysign
    - remainder
    - fabs
    linkageType: ''
    returnType: double
    signature: double AngNormalize(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: LatFix
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double LatFix(double x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sumx
      Src: /src/PROJ/src/geodesic.c:156,1
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:156,1
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:156,1
    - Dst: sumx
      Src: /src/PROJ/src/geodesic.c:159,1
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:159,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:161,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - x
    - y
    - e
    argTypes:
    - double
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: AngDiff
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - copysign
    - remainder
    - fabs
    - sumx
    linkageType: ''
    returnType: double
    signature: double AngDiff(double x, double y, double* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:172,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: AngRound
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - copysign
    - fabs
    linkageType: ''
    returnType: double
    signature: double AngRound(double x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: remquo
      Src: /src/PROJ/src/geodesic.c:183,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:187,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:187,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - x
    - sinx
    - cosx
    argTypes:
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: sincosdx
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - copysign
    - remquo
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void sincosdx(double x, double* sinx, double* cosx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AngRound
      Src: /src/PROJ/src/geodesic.c:204,1
    - Dst: remquo
      Src: /src/PROJ/src/geodesic.c:204,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:208,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:208,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - x
    - t
    - sinx
    - cosx
    argTypes:
    - double
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 219
    functionName: sincosde
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - cos
    - copysign
    - remquo
    - AngRound
    - sin
    linkageType: ''
    returnType: void
    signature: void sincosde(double x, double t, double* sinx, double* cosx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:227,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:227,1
    - Dst: swapx
      Src: /src/PROJ/src/geodesic.c:227,1
    - Dst: signbit
      Src: /src/PROJ/src/geodesic.c:228,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:230,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: atan2dx
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - fabs
    - swapx
    - atan2
    - copysign
    - signbit
    linkageType: ''
    returnType: double
    signature: double atan2dx(double y, double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/PROJ/src/geodesic.c:303,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:308,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:311,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:311,1
    - Dst: atanh
      Src: /src/PROJ/src/geodesic.c:313,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:313,1
    - Dst: atan
      Src: /src/PROJ/src/geodesic.c:313,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:313,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:314,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:314,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:325,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:325,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:325,1
    - Dst: fmin
      Src: /src/PROJ/src/geodesic.c:325,1
    - Dst: A3coeff
      Src: /src/PROJ/src/geodesic.c:327,1
    - Dst: C3coeff
      Src: /src/PROJ/src/geodesic.c:328,1
    - Dst: C4coeff
      Src: /src/PROJ/src/geodesic.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - g
    - a
    - f
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 330
    functionName: geod_init
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - sqrt
    - C3coeff
    - fabs
    - sq
    - fmin
    - Init
    - fmax
    - atanh
    - atan
    - A3coeff
    - C4coeff
    linkageType: ''
    returnType: void
    signature: void geod_init(struct geod_geodesic* g, double a, double f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LatFix
      Src: /src/PROJ/src/geodesic.c:348,1
    - Dst: sincosdx
      Src: /src/PROJ/src/geodesic.c:354,1
    - Dst: AngRound
      Src: /src/PROJ/src/geodesic.c:354,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:356,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:356,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:357,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:357,1
    - Dst: hypot
      Src: /src/PROJ/src/geodesic.c:363,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:375,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:378,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:379,1
    - Dst: A1m1f
      Src: /src/PROJ/src/geodesic.c:383,1
    - Dst: C1f
      Src: /src/PROJ/src/geodesic.c:384,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:385,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:386,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:386,1
    - Dst: C1pf
      Src: /src/PROJ/src/geodesic.c:395,1
    - Dst: A2m1f
      Src: /src/PROJ/src/geodesic.c:398,1
    - Dst: C2f
      Src: /src/PROJ/src/geodesic.c:399,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:400,1
    - Dst: C3f
      Src: /src/PROJ/src/geodesic.c:404,1
    - Dst: A3f
      Src: /src/PROJ/src/geodesic.c:405,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:406,1
    - Dst: C4f
      Src: /src/PROJ/src/geodesic.c:410,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:412,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 8
    argNames:
    - l
    - g
    - lat1
    - lon1
    - azi1
    - salp1
    - calp1
    - caps
    argTypes:
    - struct geod_geodesicline*
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 417
    functionName: geod_lineinit_int
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - hypot
    - sq
    - fmax
    - C3f
    - A3f
    - C1pf
    - C1f
    - C4f
    - LatFix
    - sincosdx
    - norm2
    - sqrt
    - A2m1f
    - AngRound
    - sin
    - cos
    - A1m1f
    - C2f
    - SinCosSeries
    linkageType: ''
    returnType: void
    signature: "void geod_lineinit_int(struct geod_geodesicline* l,\n                              const
      struct geod_geodesic* g,\n                              double lat1, double
      lon1,\n                              double azi1, double salp1, double calp1,\n
      \                             unsigned caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AngNormalize
      Src: /src/PROJ/src/geodesic.c:423,1
    - Dst: sincosdx
      Src: /src/PROJ/src/geodesic.c:425,1
    - Dst: AngRound
      Src: /src/PROJ/src/geodesic.c:425,1
    - Dst: geod_lineinit_int
      Src: /src/PROJ/src/geodesic.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - l
    - g
    - lat1
    - lon1
    - azi1
    - caps
    argTypes:
    - struct geod_geodesicline*
    - struct geod_geodesic*
    - double
    - double
    - double
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: geod_lineinit
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - sincosdx
    - AngRound
    - AngNormalize
    - geod_lineinit_int
    linkageType: ''
    returnType: void
    signature: "void geod_lineinit(struct geod_geodesicline* l,\n                   const
      struct geod_geodesic* g,\n                   double lat1, double lon1, double
      azi1, unsigned caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_lineinit
      Src: /src/PROJ/src/geodesic.c:434,1
    - Dst: geod_gensetdistance
      Src: /src/PROJ/src/geodesic.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - l
    - g
    - lat1
    - lon1
    - azi1
    - flags
    - s12_a12
    - caps
    argTypes:
    - struct geod_geodesicline*
    - struct geod_geodesic*
    - double
    - double
    - double
    - unsigned
    - double
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: geod_gendirectline
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_lineinit
    - geod_gensetdistance
    linkageType: ''
    returnType: void
    signature: "void geod_gendirectline(struct geod_geodesicline* l,\n                        const
      struct geod_geodesic* g,\n                        double lat1, double lon1,
      double azi1,\n                        unsigned flags, double s12_a12,\n                        unsigned
      caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_gendirectline
      Src: /src/PROJ/src/geodesic.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - l
    - g
    - lat1
    - lon1
    - azi1
    - s12
    - caps
    argTypes:
    - struct geod_geodesicline*
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: geod_directline
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_gendirectline
    linkageType: ''
    returnType: void
    signature: "void geod_directline(struct geod_geodesicline* l,\n                        const
      struct geod_geodesic* g,\n                        double lat1, double lon1,
      double azi1,\n                        double s12, unsigned caps)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: sincosdx
      Src: /src/PROJ/src/geodesic.c:476,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:481,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:482,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:484,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:489,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:489,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:490,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:515,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:517,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:517,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:518,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:518,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:526,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:526,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:528,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:529,1
    - Dst: hypot
      Src: /src/PROJ/src/geodesic.c:535,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:548,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:554,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:554,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:555,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:555,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:556,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:559,1
    - Dst: AngNormalize
      Src: /src/PROJ/src/geodesic.c:563,1
    - Dst: AngNormalize
      Src: /src/PROJ/src/geodesic.c:563,1
    - Dst: AngNormalize
      Src: /src/PROJ/src/geodesic.c:563,1
    - Dst: atan2dx
      Src: /src/PROJ/src/geodesic.c:567,1
    - Dst: atan2dx
      Src: /src/PROJ/src/geodesic.c:570,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:574,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:592,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:610,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:610,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:612,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 11
    argNames:
    - l
    - flags
    - s12_a12
    - plat2
    - plon2
    - pazi2
    - ps12
    - pm12
    - pM12
    - pM21
    - pS12
    argTypes:
    - struct geod_geodesicline*
    - unsigned
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 641
    functionName: geod_genposition
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - sqrt
    - hypot
    - fabs
    - cos
    - sq
    - atan2
    - atan2dx
    - sincosdx
    - copysign
    - AngNormalize
    - SinCosSeries
    - sin
    linkageType: ''
    returnType: double
    signature: "double geod_genposition(const struct geod_geodesicline* l,\n                        unsigned
      flags, double s12_a12,\n                        double* plat2, double* plon2,
      double* pazi2,\n                        double* ps12, double* pm12,\n                        double*
      pM12, double* pM21,\n                        double* pS12)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_genposition
      Src: /src/PROJ/src/geodesic.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - s13
    argTypes:
    - struct geod_geodesicline*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 3
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: geod_setdistance
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_genposition
    linkageType: ''
    returnType: void
    signature: void geod_setdistance(struct geod_geodesicline* l, double s13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_genposition
      Src: /src/PROJ/src/geodesic.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - l
    - a13
    argTypes:
    - struct geod_geodesicline*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: geod_setarc
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_genposition
    linkageType: ''
    returnType: void
    signature: void geod_setarc(struct geod_geodesicline* l, double a13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_setarc
      Src: /src/PROJ/src/geodesic.c:658,1
    - Dst: geod_setdistance
      Src: /src/PROJ/src/geodesic.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - l
    - flags
    - s13_a13
    argTypes:
    - struct geod_geodesicline*
    - unsigned
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: geod_gensetdistance
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - geod_setarc
    - geod_setdistance
    linkageType: ''
    returnType: void
    signature: "void geod_gensetdistance(struct geod_geodesicline* l,\n unsigned flags,
      double s13_a13)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_genposition
      Src: /src/PROJ/src/geodesic.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - l
    - s12
    - plat2
    - plon2
    - pazi2
    argTypes:
    - struct geod_geodesicline*
    - double
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 3
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: geod_position
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_genposition
    linkageType: ''
    returnType: void
    signature: "void geod_position(const struct geod_geodesicline* l, double s12,\n
      \                  double* plat2, double* plon2, double* pazi2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_lineinit
      Src: /src/PROJ/src/geodesic.c:684,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/geodesic.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 14
    argNames:
    - g
    - lat1
    - lon1
    - azi1
    - flags
    - s12_a12
    - plat2
    - plon2
    - pazi2
    - ps12
    - pm12
    - pM12
    - pM21
    - pS12
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - unsigned
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 690
    functionName: geod_gendirect
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_genposition
    - geod_lineinit
    linkageType: ''
    returnType: double
    signature: "double geod_gendirect(const struct geod_geodesic* g,\n                      double
      lat1, double lon1, double azi1,\n                      unsigned flags, double
      s12_a12,\n                      double* plat2, double* plon2, double* pazi2,\n
      \                     double* ps12, double* pm12, double* pM12, double* pM21,\n
      \                     double* pS12)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_gendirect
      Src: /src/PROJ/src/geodesic.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - g
    - lat1
    - lon1
    - azi1
    - s12
    - plat2
    - plon2
    - pazi2
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: geod_direct
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 3
    functionsReached:
    - geod_gendirect
    linkageType: ''
    returnType: void
    signature: "void geod_direct(const struct geod_geodesic* g,\n                 double
      lat1, double lon1, double azi1,\n                 double s12,\n                 double*
      plat2, double* plon2, double* pazi2)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: AngDiff
      Src: /src/PROJ/src/geodesic.c:729,1
    - Dst: signbit
      Src: /src/PROJ/src/geodesic.c:731,1
    - Dst: sincosde
      Src: /src/PROJ/src/geodesic.c:735,1
    - Dst: AngRound
      Src: /src/PROJ/src/geodesic.c:739,1
    - Dst: LatFix
      Src: /src/PROJ/src/geodesic.c:739,1
    - Dst: AngRound
      Src: /src/PROJ/src/geodesic.c:740,1
    - Dst: LatFix
      Src: /src/PROJ/src/geodesic.c:740,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:743,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:743,1
    - Dst: swapx
      Src: /src/PROJ/src/geodesic.c:746,1
    - Dst: signbit
      Src: /src/PROJ/src/geodesic.c:749,1
    - Dst: sincosdx
      Src: /src/PROJ/src/geodesic.c:764,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:766,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:766,1
    - Dst: sincosdx
      Src: /src/PROJ/src/geodesic.c:768,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:770,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:770,1
    - Dst: copysign
      Src: /src/PROJ/src/geodesic.c:782,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:784,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:788,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:788,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:789,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:789,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:807,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:807,1
    - Dst: Lengths
      Src: /src/PROJ/src/geodesic.c:809,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:842,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:844,1
    - Dst: InverseStart
      Src: /src/PROJ/src/geodesic.c:854,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:862,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:862,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:864,1
    - Dst: Lambda12
      Src: /src/PROJ/src/geodesic.c:890,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:896,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:908,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:910,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:910,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:915,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:919,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:934,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:936,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:937,1
    - Dst: Lengths
      Src: /src/PROJ/src/geodesic.c:939,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:948,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:948,1
    - Dst: hypot
      Src: /src/PROJ/src/geodesic.c:965,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:972,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:973,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:975,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:977,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:978,1
    - Dst: C4f
      Src: /src/PROJ/src/geodesic.c:979,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:980,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:981,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:988,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:988,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1000,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1015,1
    - Dst: swapx
      Src: /src/PROJ/src/geodesic.c:1025,1
    - Dst: swapx
      Src: /src/PROJ/src/geodesic.c:1026,1
    - Dst: swapx
      Src: /src/PROJ/src/geodesic.c:1028,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 177
    argCount: 14
    argNames:
    - g
    - lat1
    - lon1
    - lat2
    - lon2
    - ps12
    - psalp1
    - pcalp1
    - psalp2
    - pcalp2
    - pm12
    - pM12
    - pM21
    - pS12
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 1052
    functionName: geod_geninverse_int
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - hypot
    - sq
    - fmax
    - atan2
    - Lengths
    - AngDiff
    - Lambda12
    - C4f
    - LatFix
    - sincosdx
    - norm2
    - swapx
    - sqrt
    - copysign
    - AngRound
    - sincosde
    - sin
    - fabs
    - cos
    - InverseStart
    - SinCosSeries
    - signbit
    linkageType: ''
    returnType: double
    signature: "double geod_geninverse_int(const struct geod_geodesic* g,\n                                  double
      lat1, double lon1,\n                                  double lat2, double lon2,\n
      \                                 double* ps12,\n                                  double*
      psalp1, double* pcalp1,\n                                  double* psalp2, double*
      pcalp2,\n                                  double* pm12, double* pM12, double*
      pM21,\n                                  double* pS12)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geod_geninverse_int
      Src: /src/PROJ/src/geodesic.c:1060,1
    - Dst: atan2dx
      Src: /src/PROJ/src/geodesic.c:1063,1
    - Dst: atan2dx
      Src: /src/PROJ/src/geodesic.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 12
    argNames:
    - g
    - lat1
    - lon1
    - lat2
    - lon2
    - ps12
    - pazi1
    - pazi2
    - pm12
    - pM12
    - pM21
    - pS12
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1066
    functionName: geod_geninverse
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - atan2dx
    - geod_geninverse_int
    linkageType: ''
    returnType: double
    signature: "double geod_geninverse(const struct geod_geodesic* g,\n                       double
      lat1, double lon1, double lat2, double lon2,\n                       double*
      ps12, double* pazi1, double* pazi2,\n                       double* pm12, double*
      pM12, double* pM21,\n                       double* pS12)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geod_geninverse_int
      Src: /src/PROJ/src/geodesic.c:1073,1
    - Dst: atan2dx
      Src: /src/PROJ/src/geodesic.c:1076,1
    - Dst: geod_lineinit_int
      Src: /src/PROJ/src/geodesic.c:1081,1
    - Dst: geod_setarc
      Src: /src/PROJ/src/geodesic.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - l
    - g
    - lat1
    - lon1
    - lat2
    - lon2
    - caps
    argTypes:
    - struct geod_geodesicline*
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1068
    functionDepth: 4
    functionLinenumber: 1068
    functionLinenumberEnd: 1083
    functionName: geod_inverseline
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_setarc
    - geod_lineinit_int
    - atan2dx
    - geod_geninverse_int
    linkageType: ''
    returnType: void
    signature: "void geod_inverseline(struct geod_geodesicline* l,\n                      const
      struct geod_geodesic* g,\n                      double lat1, double lon1, double
      lat2, double lon2,\n                      unsigned caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_geninverse
      Src: /src/PROJ/src/geodesic.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - g
    - lat1
    - lon1
    - lat2
    - lon2
    - ps12
    - pazi1
    - pazi2
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    functionName: geod_inverse
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - geod_geninverse
    linkageType: ''
    returnType: void
    signature: "void geod_inverse(const struct geod_geodesic* g,\n                  double
      lat1, double lon1, double lat2, double lon2,\n                  double* ps12,
      double* pazi1, double* pazi2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - sinp
    - sinx
    - cosx
    - c
    - n
    argTypes:
    - boolx
    - double
    - double
    - double[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1113
    functionName: SinCosSeries
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double SinCosSeries(boolx sinp, double sinx, double cosx,\n                    const
      double c[], int n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: A1m1f
      Src: /src/PROJ/src/geodesic.c:1131,1
    - Dst: C1f
      Src: /src/PROJ/src/geodesic.c:1132,1
    - Dst: A2m1f
      Src: /src/PROJ/src/geodesic.c:1134,1
    - Dst: C2f
      Src: /src/PROJ/src/geodesic.c:1135,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1142,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1143,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1147,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1148,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1156,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 17
    argNames:
    - g
    - eps
    - sig12
    - ssig1
    - csig1
    - dn1
    - ssig2
    - csig2
    - dn2
    - cbet1
    - cbet2
    - ps12b
    - pm12b
    - pm0
    - pM12
    - pM21
    - Ca
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1174
    functionName: Lengths
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - A1m1f
    - C1f
    - A2m1f
    - C2f
    - SinCosSeries
    linkageType: ''
    returnType: void
    signature: "void Lengths(const struct geod_geodesic* g,\n             double eps,
      double sig12,\n             double ssig1, double csig1, double dn1,\n             double
      ssig2, double csig2, double dn2,\n             double cbet1, double cbet2,\n
      \            double* ps12b, double* pm12b, double* pm0,\n             double*
      pM12, double* pM21,\n             /* Scratch area of the right size */\n             double
      Ca[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1181,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1182,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1189,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1201,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1201,1
    - Dst: cbrt
      Src: /src/PROJ/src/geodesic.c:1203,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1208,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1208,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:1211,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1213,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1213,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1219,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1226
    functionName: Astroid
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - sq
    - cbrt
    - atan2
    linkageType: ''
    returnType: double
    signature: double Astroid(double x, double y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1254,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1257,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1258,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:1260,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:1260,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1267,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1268,1
    - Dst: hypot
      Src: /src/PROJ/src/geodesic.c:1270,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1277,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:1278,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1280,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:1281,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:1283,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1283,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1289,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1294,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1295,1
    - Dst: A3f
      Src: /src/PROJ/src/geodesic.c:1296,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1306,1
    - Dst: Lengths
      Src: /src/PROJ/src/geodesic.c:1310,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1315,1
    - Dst: fmin
      Src: /src/PROJ/src/geodesic.c:1323,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1323,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1323,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:1325,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1326,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1326,1
    - Dst: Astroid
      Src: /src/PROJ/src/geodesic.c:1363,1
    - Dst: sin
      Src: /src/PROJ/src/geodesic.c:1366,1
    - Dst: cos
      Src: /src/PROJ/src/geodesic.c:1366,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1369,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:1374,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 16
    argNames:
    - g
    - sbet1
    - cbet1
    - dn1
    - sbet2
    - cbet2
    - dn2
    - lam12
    - slam12
    - clam12
    - psalp1
    - pcalp1
    - psalp2
    - pcalp2
    - pdnm
    - Ca
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1388
    functionName: InverseStart
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - sqrt
    - hypot
    - cos
    - sq
    - fabs
    - fmin
    - fmax
    - atan2
    - Lengths
    - Astroid
    - norm2
    - A3f
    - sin
    linkageType: ''
    returnType: double
    signature: "double InverseStart(const struct geod_geodesic* g,\n                    double
      sbet1, double cbet1, double dn1,\n                    double sbet2, double cbet2,
      double dn2,\n                    double lam12, double slam12, double clam12,\n
      \                   double* psalp1, double* pcalp1,\n                    /*
      Only updated if return val >= 0 */\n                    double* psalp2, double*
      pcalp2,\n                    /* Only updated for short lines */\n                    double*
      pdnm,\n                    /* Scratch area of the right size */\n                    double
      Ca[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/PROJ/src/geodesic.c:1418,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:1424,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:1436,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1437,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1437,1
    - Dst: fabs
      Src: /src/PROJ/src/geodesic.c:1441,1
    - Dst: norm2
      Src: /src/PROJ/src/geodesic.c:1446,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1450,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:1450,1
    - Dst: fmax
      Src: /src/PROJ/src/geodesic.c:1454,1
    - Dst: atan2
      Src: /src/PROJ/src/geodesic.c:1457,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1459,1
    - Dst: sqrt
      Src: /src/PROJ/src/geodesic.c:1460,1
    - Dst: C3f
      Src: /src/PROJ/src/geodesic.c:1461,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1462,1
    - Dst: SinCosSeries
      Src: /src/PROJ/src/geodesic.c:1463,1
    - Dst: A3f
      Src: /src/PROJ/src/geodesic.c:1464,1
    - Dst: Lengths
      Src: /src/PROJ/src/geodesic.c:1471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 23
    argNames:
    - g
    - sbet1
    - cbet1
    - dn1
    - sbet2
    - cbet2
    - dn2
    - salp1
    - calp1
    - slam120
    - clam120
    - psalp2
    - pcalp2
    - psig12
    - pssig1
    - pcsig1
    - pssig2
    - pcsig2
    - peps
    - pdomg12
    - diffp
    - pdlam12
    - Ca
    argTypes:
    - struct geod_geodesic*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - boolx
    - double*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1490
    functionName: Lambda12
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - sqrt
    - hypot
    - fabs
    - sq
    - fmax
    - atan2
    - Lengths
    - C3f
    - norm2
    - A3f
    - SinCosSeries
    linkageType: ''
    returnType: double
    signature: "double Lambda12(const struct geod_geodesic* g,\n                double
      sbet1, double cbet1, double dn1,\n                double sbet2, double cbet2,
      double dn2,\n                double salp1, double calp1,\n                double
      slam120, double clam120,\n                double* psalp2, double* pcalp2,\n
      \               double* psig12,\n                double* pssig1, double* pcsig1,\n
      \               double* pssig2, double* pcsig2,\n                double* peps,\n
      \               double* pdomg12,\n                boolx diffp, double* pdlam12,\n
      \               /* Scratch area of the right size */\n                double
      Ca[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - eps
    argTypes:
    - struct geod_geodesic*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1495
    functionName: A3f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 3
    functionsReached:
    - polyvalx
    linkageType: ''
    returnType: double
    signature: double A3f(const struct geod_geodesic* g, double eps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - g
    - eps
    - c
    argTypes:
    - struct geod_geodesic*
    - double
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1508
    functionName: C3f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - polyvalx
    linkageType: ''
    returnType: void
    signature: void C3f(const struct geod_geodesic* g, double eps, double c[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - g
    - eps
    - c
    argTypes:
    - struct geod_geodesic*
    - double
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1521
    functionName: C4f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - polyvalx
    linkageType: ''
    returnType: void
    signature: void C4f(const struct geod_geodesic* g, double eps, double c[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1530,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eps
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1532
    functionName: A1m1f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - sq
    - polyvalx
    linkageType: ''
    returnType: double
    signature: double A1m1f(double eps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1551,1
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eps
    - c
    argTypes:
    - double
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1560
    functionName: C1f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - polyvalx
    - sq
    linkageType: ''
    returnType: void
    signature: void C1f(double eps, double c[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1579,1
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eps
    - c
    argTypes:
    - double
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1588
    functionName: C1pf
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - polyvalx
    - sq
    linkageType: ''
    returnType: void
    signature: void C1pf(double eps, double c[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1597,1
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eps
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1599
    functionName: A2m1f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - sq
    - polyvalx
    linkageType: ''
    returnType: double
    signature: double A2m1f(double eps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sq
      Src: /src/PROJ/src/geodesic.c:1618,1
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eps
    - c
    argTypes:
    - double
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1627
    functionName: C2f
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - polyvalx
    - sq
    linkageType: ''
    returnType: void
    signature: void C2f(double eps, double c[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct geod_geodesic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1651
    functionName: A3coeff
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - polyvalx
    linkageType: ''
    returnType: void
    signature: void A3coeff(struct geod_geodesic* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct geod_geodesic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1695
    functionName: C3coeff
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - polyvalx
    linkageType: ''
    returnType: void
    signature: void C3coeff(struct geod_geodesic* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvalx
      Src: /src/PROJ/src/geodesic.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct geod_geodesic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1751
    functionName: C4coeff
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - polyvalx
    linkageType: ''
    returnType: void
    signature: void C4coeff(struct geod_geodesic* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AngDiff
      Src: /src/PROJ/src/geodesic.c:1758,1
    - Dst: AngNormalize
      Src: /src/PROJ/src/geodesic.c:1759,1
    - Dst: AngNormalize
      Src: /src/PROJ/src/geodesic.c:1760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - lon1
    - lon2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1753
    functionDepth: 2
    functionLinenumber: 1753
    functionLinenumberEnd: 1765
    functionName: transit
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - AngDiff
    - AngNormalize
    linkageType: ''
    returnType: int
    signature: int transit(double lon1, double lon2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:1770,1
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - lon1
    - lon2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1773
    functionName: transitdirect
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - remainder
    linkageType: ''
    returnType: int
    signature: int transitdirect(double lon1, double lon2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: accini
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void accini(double s[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1783
    functionName: acccopy
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void acccopy(const double s[], double t[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sumx
      Src: /src/PROJ/src/geodesic.c:1787,1
    - Dst: sumx
      Src: /src/PROJ/src/geodesic.c:1788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - y
    argTypes:
    - double[]
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1793
    functionName: accadd
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - sumx
    linkageType: ''
    returnType: void
    signature: void accadd(double s[], double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acccopy
      Src: /src/PROJ/src/geodesic.c:1798,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - y
    argTypes:
    - double[]
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1795
    functionDepth: 2
    functionLinenumber: 1795
    functionLinenumberEnd: 1801
    functionName: accsum
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - acccopy
    - accadd
    linkageType: ''
    returnType: double
    signature: double accsum(const double s[], double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1806
    functionName: accneg
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void accneg(double s[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:1810,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - y
    argTypes:
    - double[]
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1808
    functionDepth: 2
    functionLinenumber: 1808
    functionLinenumberEnd: 1812
    functionName: accrem
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - remainder
    - accadd
    linkageType: ''
    returnType: void
    signature: void accrem(double s[], double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_polygon_clear
      Src: /src/PROJ/src/geodesic.c:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - polylinep
    argTypes:
    - struct geod_polygon*
    - boolx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1817
    functionName: geod_polygon_init
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_polygon_clear
    linkageType: ''
    returnType: void
    signature: void geod_polygon_init(struct geod_polygon* p, boolx polylinep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accini
      Src: /src/PROJ/src/geodesic.c:1821,1
    - Dst: accini
      Src: /src/PROJ/src/geodesic.c:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct geod_polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1824
    functionName: geod_polygon_clear
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - accini
    linkageType: ''
    returnType: void
    signature: void geod_polygon_clear(struct geod_polygon* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geod_geninverse
      Src: /src/PROJ/src/geodesic.c:1834,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1837,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1839,1
    - Dst: transit
      Src: /src/PROJ/src/geodesic.c:1840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - g
    - p
    - lat
    - lon
    argTypes:
    - struct geod_geodesic*
    - struct geod_polygon*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1826
    functionDepth: 4
    functionLinenumber: 1826
    functionLinenumberEnd: 1845
    functionName: geod_polygon_addpoint
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - transit
    - accadd
    - geod_geninverse
    linkageType: ''
    returnType: void
    signature: "void geod_polygon_addpoint(const struct geod_geodesic* g,\n                           struct
      geod_polygon* p,\n                           double lat, double lon)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geod_gendirect
      Src: /src/PROJ/src/geodesic.c:1854,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1858,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1860,1
    - Dst: transitdirect
      Src: /src/PROJ/src/geodesic.c:1861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - g
    - p
    - azi
    - s
    argTypes:
    - struct geod_geodesic*
    - struct geod_polygon*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1847
    functionDepth: 4
    functionLinenumber: 1847
    functionLinenumberEnd: 1866
    functionName: geod_polygon_addedge
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - transitdirect
    - accadd
    - geod_gendirect
    linkageType: ''
    returnType: void
    signature: "void geod_polygon_addedge(const struct geod_geodesic* g,\n                          struct
      geod_polygon* p,\n                          double azi, double s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geod_geninverse
      Src: /src/PROJ/src/geodesic.c:1882,1
    - Dst: accsum
      Src: /src/PROJ/src/geodesic.c:1884,1
    - Dst: acccopy
      Src: /src/PROJ/src/geodesic.c:1885,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1886,1
    - Dst: areareduceA
      Src: /src/PROJ/src/geodesic.c:1887,1
    - Dst: transit
      Src: /src/PROJ/src/geodesic.c:1888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - g
    - p
    - reverse
    - sign
    - pA
    - pP
    argTypes:
    - struct geod_geodesic*
    - struct geod_polygon*
    - boolx
    - boolx
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1868
    functionDepth: 4
    functionLinenumber: 1868
    functionLinenumberEnd: 1891
    functionName: geod_polygon_compute
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - acccopy
    - accsum
    - accadd
    - geod_geninverse
    - transit
    - areareduceA
    linkageType: ''
    returnType: unsigned
    signature: "unsigned geod_polygon_compute(const struct geod_geodesic* g,\n                              const
      struct geod_polygon* p,\n                              boolx reverse, boolx
      sign,\n                              double* pA, double* pP)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geod_geninverse
      Src: /src/PROJ/src/geodesic.c:1911,1
    - Dst: transit
      Src: /src/PROJ/src/geodesic.c:1919,1
    - Dst: areareduceB
      Src: /src/PROJ/src/geodesic.c:1928,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 8
    argNames:
    - g
    - p
    - lat
    - lon
    - reverse
    - sign
    - pA
    - pP
    argTypes:
    - struct geod_geodesic*
    - struct geod_polygon*
    - double
    - double
    - boolx
    - boolx
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1893
    functionDepth: 4
    functionLinenumber: 1893
    functionLinenumberEnd: 1930
    functionName: geod_polygon_testpoint
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - transit
    - areareduceB
    - geod_geninverse
    linkageType: ''
    returnType: unsigned
    signature: "unsigned geod_polygon_testpoint(const struct geod_geodesic* g,\n                                const
      struct geod_polygon* p,\n                                double lat, double
      lon,\n                                boolx reverse, boolx sign,\n                                double*
      pA, double* pP)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geod_gendirect
      Src: /src/PROJ/src/geodesic.c:1957,1
    - Dst: transitdirect
      Src: /src/PROJ/src/geodesic.c:1961,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/geodesic.c:1962,1
    - Dst: transit
      Src: /src/PROJ/src/geodesic.c:1966,1
    - Dst: areareduceB
      Src: /src/PROJ/src/geodesic.c:1970,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 8
    argNames:
    - g
    - p
    - azi
    - s
    - reverse
    - sign
    - pA
    - pP
    argTypes:
    - struct geod_geodesic*
    - struct geod_polygon*
    - double
    - double
    - boolx
    - boolx
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1932
    functionDepth: 4
    functionLinenumber: 1932
    functionLinenumberEnd: 1972
    functionName: geod_polygon_testedge
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - areareduceB
    - geod_gendirect
    - geod_geninverse
    - transit
    - transitdirect
    linkageType: ''
    returnType: unsigned
    signature: "unsigned geod_polygon_testedge(const struct geod_geodesic* g,\n                               const
      struct geod_polygon* p,\n                               double azi, double s,\n
      \                              boolx reverse, boolx sign,\n                               double*
      pA, double* pP)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/geodesic.c:1979,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/geodesic.c:1981,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/geodesic.c:1982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - g
    - lats
    - lons
    - n
    - pA
    - pP
    argTypes:
    - struct geod_geodesic*
    - double[]
    - double[]
    - int
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1974
    functionDepth: 5
    functionLinenumber: 1974
    functionLinenumberEnd: 1983
    functionName: geod_polygonarea
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_polygon_init
    - geod_polygon_addpoint
    linkageType: ''
    returnType: void
    signature: "void geod_polygonarea(const struct geod_geodesic* g,\n                      double
      lats[], double lons[], int n,\n                      double* pA, double* pP)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: accrem
      Src: /src/PROJ/src/geodesic.c:1987,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1989,1
    - Dst: accneg
      Src: /src/PROJ/src/geodesic.c:1993,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1997,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:1999,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:2002,1
    - Dst: accadd
      Src: /src/PROJ/src/geodesic.c:2004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - area
    - area0
    - crossings
    - reverse
    - sign
    argTypes:
    - double[]
    - double
    - int
    - boolx
    - boolx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 2007
    functionName: areareduceA
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 1
    functionsReached:
    - accrem
    - accadd
    - accneg
    linkageType: ''
    returnType: double
    signature: "double areareduceA(double area[], double area0,\n                   int
      crossings, boolx reverse, boolx sign)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/PROJ/src/geodesic.c:2011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - area
    - area0
    - crossings
    - reverse
    - sign
    argTypes:
    - double
    - double
    - int
    - boolx
    - boolx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2031
    functionName: areareduceB
    functionSourceFile: /src/PROJ/src/geodesic.c
    functionUses: 2
    functionsReached:
    - remainder
    linkageType: ''
    returnType: double
    signature: "double areareduceB(double area, double area0,\n                   int
      crossings, boolx reverse, boolx sign)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/ell_set.cpp:80,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:83,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:85,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:87,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:89,1
    - Dst: pj_get_param
      Src: /src/PROJ/src/ell_set.cpp:93,1
    - Dst: ellps_size
      Src: /src/PROJ/src/ell_set.cpp:94,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/ell_set.cpp:96,1
    - Dst: proj_errno
      Src: /src/PROJ/src/ell_set.cpp:97,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/ell_set.cpp:99,1
    - Dst: ellps_ellps
      Src: /src/PROJ/src/ell_set.cpp:103,1
    - Dst: ellps_size
      Src: /src/PROJ/src/ell_set.cpp:107,1
    - Dst: ellps_shape
      Src: /src/PROJ/src/ell_set.cpp:111,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/ell_set.cpp:115,1
    - Dst: ellps_spherification
      Src: /src/PROJ/src/ell_set.cpp:118,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/ell_set.cpp:121,1
    - Dst: proj_errno
      Src: /src/PROJ/src/ell_set.cpp:122,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/ell_set.cpp:123,1
    - Dst: proj_errno
      Src: /src/PROJ/src/ell_set.cpp:129,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/ell_set.cpp:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 134
    functionName: pj_ellipsoid
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 1
    functionsReached:
    - free
    - pj_get_param
    - proj_log_trace
    - ellps_size
    - ellps_spherification
    - pj_calc_ellipsoid_params
    - ellps_ellps
    - ellps_shape
    - proj_errno
    - proj_errno_reset
    - proj_errno_restore
    linkageType: ''
    returnType: int
    signature: int pj_ellipsoid(PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_param
      Src: /src/PROJ/src/ell_set.cpp:145,1
    - Dst: strlen
      Src: /src/PROJ/src/ell_set.cpp:150,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:151,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:151,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:152,1
    - Dst: pj_find_ellps
      Src: /src/PROJ/src/ell_set.cpp:155,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:157,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:157,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:158,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/ell_set.cpp:164,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/ell_set.cpp:166,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:168,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/ell_set.cpp:169,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:171,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:172,1
    - Dst: pj_inherit_ellipsoid_def
      Src: /src/PROJ/src/ell_set.cpp:179,1
    - Dst: ellps_size
      Src: /src/PROJ/src/ell_set.cpp:181,1
    - Dst: ellps_shape
      Src: /src/PROJ/src/ell_set.cpp:181,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:183,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:184,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:186,1
    - Dst: proj_errno
      Src: /src/PROJ/src/ell_set.cpp:187,1
    - Dst: proj_errno
      Src: /src/PROJ/src/ell_set.cpp:188,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/ell_set.cpp:191,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/ell_set.cpp:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 195
    functionName: ellps_ellps
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - pj_inherit_ellipsoid_def
    - free
    - pj_get_param
    - ellps_size
    - pj_strdup
    - proj_errno
    - pj_find_ellps
    - strlen
    - proj_log_error
    - _
    - proj_errno_reset
    - pj_mkparam
    - ellps_shape
    - proj_errno_restore
    linkageType: ''
    returnType: int
    signature: int ellps_ellps(PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:203,1
    - Dst: pj_get_param
      Src: /src/PROJ/src/ell_set.cpp:212,1
    - Dst: pj_get_param
      Src: /src/PROJ/src/ell_set.cpp:214,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:219,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:219,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:220,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/ell_set.cpp:223,1
    - Dst: pj_atof
      Src: /src/PROJ/src/ell_set.cpp:225,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:225,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:227,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:227,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:228,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:231,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:231,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: ellps_size
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 2
    functionsReached:
    - proj_errno_set
    - free
    - pj_get_param
    - pj_strdup
    - pj_param_value
    - pj_atof
    - proj_log_error
    - _
    linkageType: ''
    returnType: int
    signature: int ellps_size(PJ *P)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:252,1
    - Dst: pj_get_param
      Src: /src/PROJ/src/ell_set.cpp:257,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/ell_set.cpp:272,1
    - Dst: pj_atof
      Src: /src/PROJ/src/ell_set.cpp:280,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:280,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:282,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:282,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:283,1
    - Dst: pj_atof
      Src: /src/PROJ/src/ell_set.cpp:291,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:291,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:293,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:293,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:294,1
    - Dst: pj_atof
      Src: /src/PROJ/src/ell_set.cpp:303,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:303,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:305,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:306,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:307,1
    - Dst: pj_atof
      Src: /src/PROJ/src/ell_set.cpp:313,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:313,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:315,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:316,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:317,1
    - Dst: pj_atof
      Src: /src/PROJ/src/ell_set.cpp:324,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:324,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:326,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:326,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:327,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:342,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:342,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:343,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 346
    functionName: ellps_shape
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 2
    functionsReached:
    - proj_errno_set
    - free
    - pj_get_param
    - pj_strdup
    - pj_param_value
    - pj_atof
    - proj_log_error
    - _
    linkageType: ''
    returnType: int
    signature: int ellps_shape(PJ *P)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_param
      Src: /src/PROJ/src/ell_set.cpp:370,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/ell_set.cpp:380,1
    - Dst: sqrt
      Src: /src/PROJ/src/ell_set.cpp:402,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:408,1
    - Dst: pj_param_value
      Src: /src/PROJ/src/ell_set.cpp:419,1
    - Dst: proj_dmstor
      Src: /src/PROJ/src/ell_set.cpp:420,1
    - Dst: fabs
      Src: /src/PROJ/src/ell_set.cpp:421,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:422,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:423,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:424,1
    - Dst: sin
      Src: /src/PROJ/src/ell_set.cpp:426,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:429,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:429,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:430,1
    - Dst: sqrt
      Src: /src/PROJ/src/ell_set.cpp:433,1
    - Dst: sqrt
      Src: /src/PROJ/src/ell_set.cpp:435,1
    - Dst: sin
      Src: /src/PROJ/src/ell_set.cpp:445,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:448,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:448,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:449,1
    - Dst: sqrt
      Src: /src/PROJ/src/ell_set.cpp:451,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:456,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:456,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:457,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/ell_set.cpp:464,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 467
    functionName: ellps_spherification
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - sqrt
    - pj_get_param
    - fabs
    - pj_strdup
    - pj_param_value
    - pj_calc_ellipsoid_params
    - proj_log_error
    - _
    - proj_dmstor
    - sin
    linkageType: ''
    returnType: int
    signature: int ellps_spherification(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/ell_set.cpp:471,1
    - Dst: strncmp
      Src: /src/PROJ/src/ell_set.cpp:472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - list
    - key
    argTypes:
    - paralist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: pj_get_param
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 5
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_get_param(paralist *list, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/src/ell_set.cpp:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - paralist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: pj_param_value
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 3
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *pj_param_value(paralist *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/ell_set.cpp:498,1
    - Dst: strcmp
      Src: /src/PROJ/src/ell_set.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 506
    functionName: pj_find_ellps
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 1
    functionsReached:
    - proj_list_ellps
    - strcmp
    linkageType: ''
    returnType: PJ_ELLPS
    signature: PJ_ELLPS *pj_find_ellps(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 547
    functionName: pj_inherit_ellipsoid_def
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_inherit_ellipsoid_def(const PJ *src, PJ *dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/ell_set.cpp:583,1
    - Dst: asin
      Src: /src/PROJ/src/ell_set.cpp:584,1
    - Dst: tan
      Src: /src/PROJ/src/ell_set.cpp:587,1
    - Dst: sin
      Src: /src/PROJ/src/ell_set.cpp:592,1
    - Dst: sqrt
      Src: /src/PROJ/src/ell_set.cpp:592,1
    - Dst: sin
      Src: /src/PROJ/src/ell_set.cpp:592,1
    - Dst: sin
      Src: /src/PROJ/src/ell_set.cpp:592,1
    - Dst: cos
      Src: /src/PROJ/src/ell_set.cpp:598,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:600,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:600,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:601,1
    - Dst: cos
      Src: /src/PROJ/src/ell_set.cpp:607,1
    - Dst: cos
      Src: /src/PROJ/src/ell_set.cpp:607,1
    - Dst: pow
      Src: /src/PROJ/src/ell_set.cpp:611,1
    - Dst: tan
      Src: /src/PROJ/src/ell_set.cpp:611,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/ell_set.cpp:622,1
    - Dst: _
      Src: /src/PROJ/src/ell_set.cpp:622,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/ell_set.cpp:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - P
    - a
    - es
    argTypes:
    - PJ*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 630
    functionName: pj_calc_ellipsoid_params
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 3
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - tan
    - asin
    - pow
    - proj_log_error
    - _
    - sin
    linkageType: ''
    returnType: int
    signature: int pj_calc_ellipsoid_params(PJ *P, double a, double es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_ellipsoid
      Src: /src/PROJ/src/ell_set.cpp:644,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:646,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:647,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:648,1
    - Dst: free
      Src: /src/PROJ/src/ell_set.cpp:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - pl
    - a
    - es
    argTypes:
    - PJ_CONTEXT*
    - paralist*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 657
    functionName: pj_ell_set
    functionSourceFile: /src/PROJ/src/ell_set.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_ellipsoid
    linkageType: ''
    returnType: int
    signature: int pj_ell_set(PJ_CONTEXT *ctx, paralist *pl, double *a, double *es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_AREA::PJ_AREA
      Src: /src/PROJ/src/area.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proj_area_create
    functionSourceFile: /src/PROJ/src/area.cpp
    functionUses: 2
    functionsReached:
    - PJ_AREA::PJ_AREA
    linkageType: ''
    returnType: PJ_AREA
    signature: PJ_AREA *proj_area_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - area
    - west_lon_degree
    - south_lat_degree
    - east_lon_degree
    - north_lat_degree
    argTypes:
    - PJ_AREA*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: proj_area_set_bbox
    functionSourceFile: /src/PROJ/src/area.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void proj_area_set_bbox(PJ_AREA *area, double west_lon_degree,\n                        double
      south_lat_degree, double east_lon_degree,\n                        double north_lat_degree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - area
    - name
    argTypes:
    - PJ_AREA*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: proj_area_set_name
    functionSourceFile: /src/PROJ/src/area.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_area_set_name(PJ_AREA *area, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - area
    argTypes:
    - PJ_AREA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: proj_area_destroy
    functionSourceFile: /src/PROJ/src/area.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_area_destroy(PJ_AREA *area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmstor_ctx
      Src: /src/PROJ/src/dmstor.cpp:23,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/dmstor.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - is
    - rs
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: dmstor
    functionSourceFile: /src/PROJ/src/dmstor.cpp
    functionUses: 4
    functionsReached:
    - pj_get_default_ctx
    - dmstor_ctx
    linkageType: ''
    returnType: double
    signature: double dmstor(const char *is, char **rs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/dmstor.cpp:35,1
    - Dst: isgraph
      Src: /src/PROJ/src/dmstor.cpp:49,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/dmstor.cpp:49,1
    - Dst: isdigit
      Src: /src/PROJ/src/dmstor.cpp:61,1
    - Dst: proj_strtod
      Src: /src/PROJ/src/dmstor.cpp:63,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/dmstor.cpp:84,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/dmstor.cpp:99,1
    - Dst: strchr
      Src: /src/PROJ/src/dmstor.cpp:106,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 3
    argNames:
    - ctx
    - is
    - rs
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 115
    functionName: dmstor_ctx
    functionSourceFile: /src/PROJ/src/dmstor.cpp
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    - strchr
    - proj_strtod
    - isgraph
    - isdigit
    - proj_context_errno_set
    - isspace
    linkageType: ''
    returnType: double
    signature: double dmstor_ctx(PJ_CONTEXT *ctx, const char *is, char **rs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/PROJ/src/dmstor.cpp:134,1
    - Dst: pj_strtod
      Src: /src/PROJ/src/dmstor.cpp:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: proj_strtod
    functionSourceFile: /src/PROJ/src/dmstor.cpp
    functionUses: 1
    functionsReached:
    - strtod
    - pj_strtod
    linkageType: ''
    returnType: double
    signature: double proj_strtod(char *nptr, char **endptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/adjlon.cpp:10,1
    - Dst: floor
      Src: /src/PROJ/src/adjlon.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - longitude
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 23
    functionName: adjlon
    functionSourceFile: /src/PROJ/src/adjlon.cpp
    functionUses: 4
    functionsReached:
    - floor
    - fabs
    linkageType: ''
    returnType: double
    signature: double adjlon(double longitude)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/info.cpp:55,1
    - Dst: strlen
      Src: /src/PROJ/src/info.cpp:61,1
    - Dst: strlen
      Src: /src/PROJ/src/info.cpp:62,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/info.cpp:66,1
    - Dst: calloc
      Src: /src/PROJ/src/info.cpp:66,1
    - Dst: free
      Src: /src/PROJ/src/info.cpp:68,1
    - Dst: strcpy
      Src: /src/PROJ/src/info.cpp:73,1
    - Dst: free
      Src: /src/PROJ/src/info.cpp:74,1
    - Dst: assert
      Src: /src/PROJ/src/info.cpp:77,1
    - Dst: strcat
      Src: /src/PROJ/src/info.cpp:81,1
    - Dst: strcat
      Src: /src/PROJ/src/info.cpp:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - app
    - buf_size
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/PROJ/src/info.cpp
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: path_append
    functionSourceFile: /src/PROJ/src/info.cpp
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - strcat
    - assert
    - calloc
    - strlen
    - static_cast<char *>
    linkageType: ''
    returnType: char
    signature: char *path_append(char *buf, const char *app, size_t *buf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_acquire_lock
      Src: /src/PROJ/src/info.cpp:100,1
    - Dst: snprintf
      Src: /src/PROJ/src/info.cpp:108,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/info.cpp:112,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/info.cpp:115,1
    - Dst: auto::search_paths::empty
      Src: /src/PROJ/src/info.cpp:116,1
    - Dst: pj_get_default_searchpaths
      Src: /src/PROJ/src/info.cpp:117,1
    - Dst: path_append
      Src: /src/PROJ/src/info.cpp:119,1
    - Dst: c_str
      Src: /src/PROJ/src/info.cpp:119,1
    - Dst: path_append
      Src: /src/PROJ/src/info.cpp:123,1
    - Dst: c_str
      Src: /src/PROJ/src/info.cpp:123,1
    - Dst: free
      Src: /src/PROJ/src/info.cpp:128,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/info.cpp:128,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/info.cpp:132,1
    - Dst: auto::search_paths::size
      Src: /src/PROJ/src/info.cpp:132,1
    - Dst: pj_release_lock
      Src: /src/PROJ/src/info.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 136
    functionName: proj_info
    functionSourceFile: /src/PROJ/src/info.cpp
    functionUses: 5
    functionsReached:
    - pj_get_default_ctx
    - pj_get_default_searchpaths
    - free
    - static_cast<int>
    - pj_get_release
    - snprintf
    - auto::search_paths::empty
    - auto::search_paths::size
    - pj_release_lock
    - pj_acquire_lock
    - path_append
    - const_cast<char *>
    - c_str
    linkageType: ''
    returnType: PJ_INFO
    signature: PJ_INFO proj_info(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_acquire_lock
      Src: /src/PROJ/src/info.cpp:144,1
    - Dst: free
      Src: /src/PROJ/src/info.cpp:146,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/info.cpp:146,1
    - Dst: pj_release_lock
      Src: /src/PROJ/src/info.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pj_clear_proj_info
    functionSourceFile: /src/PROJ/src/info.cpp
    functionUses: 1
    functionsReached:
    - free
    - const_cast<char *>
    - pj_release_lock
    - pj_acquire_lock
    linkageType: ''
    returnType: void
    signature: void pj_clear_proj_info()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/src/info.cpp:161,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/info.cpp:169,1
    - Dst: isInstantiable
      Src: /src/PROJ/src/info.cpp:177,1
    - Dst: pj_param
      Src: /src/PROJ/src/info.cpp:198,1
    - Dst: pj_param
      Src: /src/PROJ/src/info.cpp:199,1
    - Dst: dynamic_cast<NS_PROJ::common::IdentifiedObject *>
      Src: /src/PROJ/src/info.cpp:204,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/info.cpp:204,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/info.cpp:207,1
    - Dst: dynamic_cast<const NS_PROJ::operation::Conversion *>
      Src: /src/PROJ/src/info.cpp:213,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/info.cpp:214,1
    - Dst: dynamic_cast<const NS_PROJ::operation::CoordinateOperation *>
      Src: /src/PROJ/src/info.cpp:220,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/info.cpp:221,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/src/info.cpp:224,1
    - Dst: auto::empty
      Src: /src/PROJ/src/info.cpp:225,1
    - Dst: std::stod
      Src: /src/PROJ/src/info.cpp:227,1
    - Dst: value
      Src: /src/PROJ/src/info.cpp:227,1
    - Dst: pj_get_def
      Src: /src/PROJ/src/info.cpp:239,1
    - Dst: pj_shrink
      Src: /src/PROJ/src/info.cpp:243,1
    - Dst: pj_has_inverse
      Src: /src/PROJ/src/info.cpp:247,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 249
    functionName: proj_pj_info
    functionSourceFile: /src/PROJ/src/info.cpp
    functionUses: 26
    functionsReached:
    - value
    - auto::nameStr
    - isInstantiable
    - pj_has_inverse
    - auto::empty
    - PJ*::iso_obj::get
    - pj_get_def
    - auto::coordinateOperationAccuracies
    - dynamic_cast<NS_PROJ::common::IdentifiedObject *>
    - memset
    - dynamic_cast<const NS_PROJ::operation::CoordinateOperation *>
    - pj_shrink
    - dynamic_cast<const NS_PROJ::operation::Conversion *>
    - PJ*::alternativeCoordinateOperations::empty
    - std::stod
    - pj_param
    linkageType: ''
    returnType: PJ_PROJ_INFO
    signature: PJ_PROJ_INFO proj_pj_info(PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_mkparam_ws
      Src: /src/PROJ/src/init.cpp:54,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - definition
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: string_to_paralist
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 0
    functionsReached:
    - pj_mkparam_ws
    - free_params
    linkageType: ''
    returnType: paralist
    signature: paralist *string_to_paralist(PJ_CONTEXT *ctx, char *definition)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/init.cpp:83,1
    - Dst: malloc
      Src: /src/PROJ/src/init.cpp:83,1
    - Dst: strstr
      Src: /src/PROJ/src/init.cpp:90,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:95,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:96,1
    - Dst: memmove
      Src: /src/PROJ/src/init.cpp:99,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:99,1
    - Dst: strrchr
      Src: /src/PROJ/src/init.cpp:102,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:104,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:104,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:105,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:106,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:111,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:112,1
    - Dst: NS_PROJ::FileManager::open_resource_file
      Src: /src/PROJ/src/init.cpp:116,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:118,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:118,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:119,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:120,1
    - Dst: auto::read_line
      Src: /src/PROJ/src/init.cpp:130,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:133,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:133,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:134,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:135,1
    - Dst: pj_chomp
      Src: /src/PROJ/src/init.cpp:140,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:143,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/init.cpp:143,1
    - Dst: strncmp
      Src: /src/PROJ/src/init.cpp:147,1
    - Dst: std::string::data
      Src: /src/PROJ/src/init.cpp:147,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/init.cpp:152,1
    - Dst: malloc
      Src: /src/PROJ/src/init.cpp:152,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:154,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:159,1
    - Dst: std::string::data
      Src: /src/PROJ/src/init.cpp:159,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:159,1
    - Dst: strchr
      Src: /src/PROJ/src/init.cpp:167,1
    - Dst: auto::read_line
      Src: /src/PROJ/src/init.cpp:175,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:184,1
    - Dst: pj_chomp
      Src: /src/PROJ/src/init.cpp:185,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:186,1
    - Dst: std::string::data
      Src: /src/PROJ/src/init.cpp:186,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/init.cpp:188,1
    - Dst: malloc
      Src: /src/PROJ/src/init.cpp:188,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:190,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:194,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:196,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:200,1
    - Dst: std::string::data
      Src: /src/PROJ/src/init.cpp:200,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:203,1
    - Dst: pj_shrink
      Src: /src/PROJ/src/init.cpp:206,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:207,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 209
    functionName: get_init_string
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 0
    functionsReached:
    - auto::read_line
    - pj_chomp
    - std::string::c_str
    - strncmp
    - _
    - proj_context_errno_set
    - strlen
    - pj_shrink
    - pj_log
    - memmove
    - static_cast<char *>
    - free
    - NS_PROJ::FileManager::open_resource_file
    - strcpy
    - strstr
    - strchr
    - strrchr
    - malloc
    - std::string::data
    linkageType: ''
    returnType: char
    signature: char *get_init_string(PJ_CONTEXT *ctx, const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/init.cpp:222,1
    - Dst: strstr
      Src: /src/PROJ/src/init.cpp:227,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:232,1
    - Dst: pj_search_initcache
      Src: /src/PROJ/src/init.cpp:235,1
    - Dst: strncmp
      Src: /src/PROJ/src/init.cpp:239,1
    - Dst: strncmp
      Src: /src/PROJ/src/init.cpp:239,1
    - Dst: strncpy
      Src: /src/PROJ/src/init.cpp:244,1
    - Dst: strncmp
      Src: /src/PROJ/src/init.cpp:247,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/init.cpp:250,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/init.cpp:255,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:264,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:267,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:270,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:273,1
    - Dst: strcat
      Src: /src/PROJ/src/init.cpp:274,1
    - Dst: proj_create
      Src: /src/PROJ/src/init.cpp:278,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/src/init.cpp:284,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/init.cpp:286,1
    - Dst: calloc
      Src: /src/PROJ/src/init.cpp:289,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:289,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:291,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/init.cpp:294,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:300,1
    - Dst: get_init_string
      Src: /src/PROJ/src/init.cpp:302,1
    - Dst: string_to_paralist
      Src: /src/PROJ/src/init.cpp:307,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:309,1
    - Dst: free
      Src: /src/PROJ/src/init.cpp:312,1
    - Dst: pj_insert_initcache
      Src: /src/PROJ/src/init.cpp:317,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 3
    argNames:
    - ctx
    - key
    - allow_init_epsg
    argTypes:
    - PJ_CONTEXT*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 319
    functionName: get_init
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - strncmp
    - get_init_string
    - pj_search_initcache
    - strncpy
    - proj_destroy
    - proj_context_errno_set
    - strlen
    - string_to_paralist
    - strcat
    - pj_log
    - calloc
    - free
    - strcpy
    - strstr
    - proj_create
    - proj_as_proj_string
    - pj_insert_initcache
    - pj_find_file
    linkageType: ''
    returnType: paralist
    signature: "paralist *get_init(PJ_CONTEXT *ctx, const char *key,\n                          int
      allow_init_epsg)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:329,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:331,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:334,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:336,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:341,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:343,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:345,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:347,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:349,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:351,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:353,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:355,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/init.cpp:364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - start
    argTypes:
    - paralist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 365
    functionName: append_default_ellipsoid_to_paralist
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 0
    functionsReached:
    - pj_mkparam
    - pj_param_exists
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: void append_default_ellipsoid_to_paralist(paralist *start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_init
      Src: /src/PROJ/src/init.cpp:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - init
    - allow_init_epsg
    argTypes:
    - PJ_CONTEXT*
    - paralist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 409
    functionName: pj_expand_init_internal
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 0
    functionsReached:
    - get_init
    linkageType: ''
    returnType: paralist
    signature: "paralist *pj_expand_init_internal(PJ_CONTEXT *ctx, paralist *init,\n
      \                                        int allow_init_epsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_expand_init_internal
      Src: /src/PROJ/src/init.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - init
    argTypes:
    - PJ_CONTEXT*
    - paralist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 6
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: pj_expand_init
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 1
    functionsReached:
    - pj_expand_init_internal
    linkageType: ''
    returnType: paralist
    signature: paralist *pj_expand_init(PJ_CONTEXT *ctx, paralist *init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_list_operations
      Src: /src/PROJ/src/init.cpp:428,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: locate_constructor
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 0
    functionsReached:
    - proj_list_operations
    - strcmp
    linkageType: ''
    returnType: PJ_CONSTRUCTOR
    signature: PJ_CONSTRUCTOR locate_constructor(const char *name)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/init.cpp:451,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:456,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:456,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:457,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:463,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:464,1
    - Dst: strncmp
      Src: /src/PROJ/src/init.cpp:466,1
    - Dst: strncmp
      Src: /src/PROJ/src/init.cpp:466,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:472,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:472,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:473,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:479,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:479,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/init.cpp:480,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/init.cpp:485,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:487,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/init.cpp:492,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:494,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:507,1
    - Dst: pj_expand_init_internal
      Src: /src/PROJ/src/init.cpp:509,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:511,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:516,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/init.cpp:521,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:523,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:523,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:524,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:528,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:529,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:529,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:530,1
    - Dst: locate_constructor
      Src: /src/PROJ/src/init.cpp:535,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:537,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:537,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:538,1
    - Dst: append_default_ellipsoid_to_paralist
      Src: /src/PROJ/src/init.cpp:542,1
    - Dst: proj
      Src: /src/PROJ/src/init.cpp:545,1
    - Dst: free_params
      Src: /src/PROJ/src/init.cpp:547,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:557,1
    - Dst: pj_datum_set
      Src: /src/PROJ/src/init.cpp:564,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:565,1
    - Dst: proj_errno
      Src: /src/PROJ/src/init.cpp:565,1
    - Dst: pj_ellipsoid
      Src: /src/PROJ/src/init.cpp:568,1
    - Dst: pj_log
      Src: /src/PROJ/src/init.cpp:573,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:574,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:575,1
    - Dst: proj_errno
      Src: /src/PROJ/src/init.cpp:575,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/init.cpp:578,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/init.cpp:586,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:587,1
    - Dst: ABS
      Src: /src/PROJ/src/init.cpp:594,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:600,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:603,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:609,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:611,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:614,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:616,1
    - Dst: fabs
      Src: /src/PROJ/src/init.cpp:620,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:621,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:621,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:622,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:628,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:630,1
    - Dst: strlen
      Src: /src/PROJ/src/init.cpp:631,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:632,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:632,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:633,1
    - Dst: strchr
      Src: /src/PROJ/src/init.cpp:637,1
    - Dst: strchr
      Src: /src/PROJ/src/init.cpp:638,1
    - Dst: strchr
      Src: /src/PROJ/src/init.cpp:639,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:640,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:640,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:641,1
    - Dst: strcpy
      Src: /src/PROJ/src/init.cpp:646,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:650,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:653,1
    - Dst: fabs
      Src: /src/PROJ/src/init.cpp:654,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:655,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:656,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:657,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:662,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:663,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:664,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:665,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:668,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:669,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:670,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:671,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:675,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:675,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:676,1
    - Dst: pj_list_linear_units
      Src: /src/PROJ/src/init.cpp:681,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:683,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:684,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:687,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:687,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:688,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:693,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/init.cpp:694,1
    - Dst: pj_strtod
      Src: /src/PROJ/src/init.cpp:695,1
    - Dst: pj_strtod
      Src: /src/PROJ/src/init.cpp:699,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:701,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:702,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:703,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:709,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:709,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:710,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:720,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:721,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:724,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:724,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:725,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:730,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/init.cpp:731,1
    - Dst: pj_strtod
      Src: /src/PROJ/src/init.cpp:732,1
    - Dst: pj_strtod
      Src: /src/PROJ/src/init.cpp:736,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:738,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:739,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:740,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:746,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:746,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:747,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/src/init.cpp:757,1
    - Dst: pj_param
      Src: /src/PROJ/src/init.cpp:759,1
    - Dst: strcmp
      Src: /src/PROJ/src/init.cpp:764,1
    - Dst: dmstor_ctx
      Src: /src/PROJ/src/init.cpp:771,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/init.cpp:776,1
    - Dst: _
      Src: /src/PROJ/src/init.cpp:776,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:777,1
    - Dst: dmstor_ctx
      Src: /src/PROJ/src/init.cpp:780,1
    - Dst: static_cast<struct geod_geodesic *>
      Src: /src/PROJ/src/init.cpp:785,1
    - Dst: calloc
      Src: /src/PROJ/src/init.cpp:786,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/init.cpp:788,1
    - Dst: geod_init
      Src: /src/PROJ/src/init.cpp:789,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/init.cpp:792,1
    - Dst: proj
      Src: /src/PROJ/src/init.cpp:793,1
    - Dst: proj_errno
      Src: /src/PROJ/src/init.cpp:794,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/init.cpp:795,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/init.cpp:798,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 241
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - allow_init_epsg
    argTypes:
    - PJ_CONTEXT*
    - int
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 436
    functionDepth: 6
    functionLinenumber: 436
    functionLinenumberEnd: 800
    functionName: pj_init_ctx_with_allow_init_epsg
    functionSourceFile: /src/PROJ/src/init.cpp
    functionUses: 1
    functionsReached:
    - pj_get_default_ctx
    - strncmp
    - geod_init
    - pj_param_exists
    - static_cast<struct geod_geodesic *>
    - pj_datum_set
    - locate_constructor
    - ABS
    - _
    - pj_default_destructor
    - pj_calc_ellipsoid_params
    - proj_destroy
    - proj_context_errno_set
    - strlen
    - proj_log_error
    - proj_errno
    - pj_mkparam
    - const_cast<char *>
    - free_params
    - pj_log
    - append_default_ellipsoid_to_paralist
    - pj_strtod
    - calloc
    - proj_errno_restore
    - proj_list_prime_meridians
    - strcpy
    - fabs
    - dmstor_ctx
    - strcmp
    - strchr
    - proj
    - pj_list_linear_units
    - pj_ellipsoid
    - proj_errno_reset
    - pj_expand_init_internal
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: "PJ *pj_init_ctx_with_allow_init_epsg(PJ_CONTEXT *ctx, int argc, char
      **argv,\n                                     int allow_init_epsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/log.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - app_data
    - level
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: pj_stderr_logger
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pj_stderr_logger(void *app_data, int level, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - level
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: pj_log_active
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pj_log_active(PJ_CONTEXT *ctx, int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_log_active
      Src: /src/PROJ/src/log.cpp:77,1
    - Dst: malloc
      Src: /src/PROJ/src/log.cpp:81,1
    - Dst: vsnprintf
      Src: /src/PROJ/src/log.cpp:86,1
    - Dst: vsnprintf
      Src: /src/PROJ/src/log.cpp:91,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/log.cpp:91,1
    - Dst: PJ_CONTEXT*::logger
      Src: /src/PROJ/src/log.cpp:95,1
    - Dst: free
      Src: /src/PROJ/src/log.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - level
    - P
    - fmt
    - args
    argTypes:
    - PJ_CONTEXT*
    - int
    - PJ*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: pj_vlog
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - PJ_CONTEXT*::logger
    - free
    - vsnprintf
    - pj_log_active
    - malloc
    linkageType: ''
    returnType: void
    signature: "void pj_vlog(PJ_CONTEXT *ctx, int level, const PJ *P, const char *fmt,\n
      \                   va_list args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/log.cpp:112,1
    - Dst: pj_vlog
      Src: /src/PROJ/src/log.cpp:113,1
    - Dst: va_end
      Src: /src/PROJ/src/log.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - PJ_CONTEXT*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: pj_log
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 72
    functionsReached:
    - va_end
    - va_start
    - pj_vlog
    linkageType: ''
    returnType: void
    signature: void pj_log(PJ_CONTEXT *ctx, int level, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/log.cpp:125,1
    - Dst: static_cast<PJ_LOG_LEVEL>
      Src: /src/PROJ/src/log.cpp:128,1
    - Dst: abs
      Src: /src/PROJ/src/log.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - log_level
    argTypes:
    - PJ_CONTEXT*
    - PJ_LOG_LEVEL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: proj_log_level
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 5
    functionsReached:
    - pj_get_default_ctx
    - abs
    - static_cast<PJ_LOG_LEVEL>
    linkageType: ''
    returnType: PJ_LOG_LEVEL
    signature: PJ_LOG_LEVEL proj_log_level(PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/log.cpp:141,1
    - Dst: pj_vlog
      Src: /src/PROJ/src/log.cpp:142,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/log.cpp:142,1
    - Dst: va_end
      Src: /src/PROJ/src/log.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - P
    - fmt
    argTypes:
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: proj_log_error
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 10
    functionsReached:
    - va_end
    - va_start
    - pj_vlog
    - pj_get_ctx
    linkageType: ''
    returnType: void
    signature: void proj_log_error(const PJ *P, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/log.cpp:152,1
    - Dst: pj_vlog
      Src: /src/PROJ/src/log.cpp:153,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/log.cpp:153,1
    - Dst: va_end
      Src: /src/PROJ/src/log.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - P
    - fmt
    argTypes:
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: proj_log_debug
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - pj_vlog
    - pj_get_ctx
    linkageType: ''
    returnType: void
    signature: void proj_log_debug(PJ *P, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/log.cpp:163,1
    - Dst: pj_vlog
      Src: /src/PROJ/src/log.cpp:164,1
    - Dst: va_end
      Src: /src/PROJ/src/log.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fmt
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: proj_context_log_debug
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - pj_vlog
    linkageType: ''
    returnType: void
    signature: void proj_context_log_debug(PJ_CONTEXT *ctx, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/log.cpp:174,1
    - Dst: pj_vlog
      Src: /src/PROJ/src/log.cpp:175,1
    - Dst: pj_get_ctx
      Src: /src/PROJ/src/log.cpp:175,1
    - Dst: va_end
      Src: /src/PROJ/src/log.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - P
    - fmt
    argTypes:
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: proj_log_trace
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 2
    functionsReached:
    - va_end
    - va_start
    - pj_vlog
    - pj_get_ctx
    linkageType: ''
    returnType: void
    signature: void proj_log_trace(PJ *P, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/log.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - app_data
    - logf
    argTypes:
    - PJ_CONTEXT*
    - void*
    - PJ_LOG_FUNCTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: proj_log_func
    functionSourceFile: /src/PROJ/src/log.cpp
    functionUses: 24
    functionsReached:
    - pj_get_default_ctx
    linkageType: ''
    returnType: void
    signature: void proj_log_func(PJ_CONTEXT *ctx, void *app_data, PJ_LOG_FUNCTION
      logf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CPLGettimeofday
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPLGettimeofday(t, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/PROJ/src/tracing.cpp:67,1
    - Dst: static_cast<time_t>
      Src: /src/PROJ/src/tracing.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct CPLTimeVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: tracing::CPLGettimeofday
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - _ftime
    linkageType: ''
    returnType: void
    signature: void CPLGettimeofday(struct CPLTimeVal *tp, void * /* timezonep*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tracing::Singleton
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Singleton(const Singleton &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '&operator=(const Singleton &)'
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Singleton
    signature: Singleton &operator=(const Singleton &)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:93,1
    - Dst: fopen
      Src: /src/PROJ/src/tracing.cpp:95,1
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:99,1
    - Dst: atoi
      Src: /src/PROJ/src/tracing.cpp:101,1
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:104,1
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:109,1
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:115,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/tracing.cpp:116,1
    - Dst: tracing::Singleton::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: tracing::Singleton::Singleton
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - CPLGettimeofday
    - static_cast<long long>
    - tracing::Singleton::logTraceRaw
    - atoi
    - fopen
    linkageType: ''
    returnType: void
    signature: void Singleton::Singleton()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:126,1
    - Dst: fflush
      Src: /src/PROJ/src/tracing.cpp:127,1
    - Dst: fclose
      Src: /src/PROJ/src/tracing.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: Singleton::~Singleton()
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - fflush
    - logTraceRaw
    - fclose
    linkageType: ''
    returnType: void
    signature: void Singleton::~Singleton()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tracing::getSingleton
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Singleton
    signature: Singleton &getSingleton()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:144,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/tracing.cpp:146,1
    - Dst: fprintf
      Src: /src/PROJ/src/tracing.cpp:147,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/tracing.cpp:148,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/tracing.cpp:149,1
    - Dst: fprintf
      Src: /src/PROJ/src/tracing.cpp:151,1
    - Dst: fprintf
      Src: /src/PROJ/src/tracing.cpp:152,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/tracing.cpp:152,1
    - Dst: fflush
      Src: /src/PROJ/src/tracing.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tracing::Singleton::logTraceRaw
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - CPLGettimeofday
    - static_cast<int>
    - fflush
    - static_cast<long long>
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Singleton::logTraceRaw(const std::string &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tracing::getSingleton
      Src: /src/PROJ/src/tracing.cpp:159,1
    - Dst: auto::componentsWhiteList::empty
      Src: /src/PROJ/src/tracing.cpp:160,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/tracing.cpp:161,1
    - Dst: auto::componentsWhiteList::find
      Src: /src/PROJ/src/tracing.cpp:162,1
    - Dst: auto::componentsBlackList::empty
      Src: /src/PROJ/src/tracing.cpp:165,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/tracing.cpp:165,1
    - Dst: auto::componentsBlackList::find
      Src: /src/PROJ/src/tracing.cpp:166,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/tracing.cpp:170,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - str
    - component
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: tracing::logTrace
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::componentsWhiteList::empty
    - auto::componentsWhiteList::find
    - auto::logTraceRaw
    - tracing::getSingleton
    - auto::componentsBlackList::empty
    - auto::componentsBlackList::find
    linkageType: ''
    returnType: void
    signature: void logTrace(const std::string &str, const std::string &component)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Private::Private
      Src: /src/PROJ/src/tracing.cpp:188,1
    - Dst: getSingleton
      Src: /src/PROJ/src/tracing.cpp:189,1
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:191,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:192,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:192,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: tracing::EnterBlock::EnterBlock
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - toString
    - auto::logTraceRaw
    - CPLGettimeofday
    - Private::Private
    - getSingleton
    linkageType: ''
    returnType: void
    signature: void EnterBlock::EnterBlock(const std::string &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSingleton
      Src: /src/PROJ/src/tracing.cpp:201,1
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:203,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/tracing.cpp:204,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:209,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:210,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:212,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:214,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: EnterBlock::~EnterBlock()
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - toString
    - auto::logTraceRaw
    - CPLGettimeofday
    - static_cast<int>
    - getSingleton
    linkageType: ''
    returnType: void
    signature: void EnterBlock::~EnterBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/PROJ/src/tracing.cpp:67,1
    - Dst: static_cast<time_t>
      Src: /src/PROJ/src/tracing.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct CPLTimeVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: tracing::CPLGettimeofday
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - _ftime
    linkageType: ''
    returnType: void
    signature: void CPLGettimeofday(struct CPLTimeVal *tp, void * /* timezonep*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: tracing::Singleton
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Singleton(const Singleton &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '&operator=(const Singleton &)'
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Singleton
    signature: Singleton &operator=(const Singleton &)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:93,1
    - Dst: fopen
      Src: /src/PROJ/src/tracing.cpp:95,1
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:99,1
    - Dst: atoi
      Src: /src/PROJ/src/tracing.cpp:101,1
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:104,1
    - Dst: getenv
      Src: /src/PROJ/src/tracing.cpp:109,1
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:115,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/tracing.cpp:116,1
    - Dst: tracing::Singleton::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: tracing::Singleton::Singleton
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - getenv
    - CPLGettimeofday
    - static_cast<long long>
    - tracing::Singleton::logTraceRaw
    - atoi
    - fopen
    linkageType: ''
    returnType: void
    signature: void Singleton::Singleton()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:126,1
    - Dst: fflush
      Src: /src/PROJ/src/tracing.cpp:127,1
    - Dst: fclose
      Src: /src/PROJ/src/tracing.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: Singleton::~Singleton()
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - fflush
    - logTraceRaw
    - fclose
    linkageType: ''
    returnType: void
    signature: void Singleton::~Singleton()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tracing::getSingleton
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Singleton
    signature: Singleton &getSingleton()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:144,1
    - Dst: static_cast<long long>
      Src: /src/PROJ/src/tracing.cpp:146,1
    - Dst: fprintf
      Src: /src/PROJ/src/tracing.cpp:147,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/tracing.cpp:148,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/tracing.cpp:149,1
    - Dst: fprintf
      Src: /src/PROJ/src/tracing.cpp:151,1
    - Dst: fprintf
      Src: /src/PROJ/src/tracing.cpp:152,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/tracing.cpp:152,1
    - Dst: fflush
      Src: /src/PROJ/src/tracing.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tracing::Singleton::logTraceRaw
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - CPLGettimeofday
    - static_cast<int>
    - fflush
    - static_cast<long long>
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Singleton::logTraceRaw(const std::string &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tracing::getSingleton
      Src: /src/PROJ/src/tracing.cpp:159,1
    - Dst: auto::componentsWhiteList::empty
      Src: /src/PROJ/src/tracing.cpp:160,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/tracing.cpp:161,1
    - Dst: auto::componentsWhiteList::find
      Src: /src/PROJ/src/tracing.cpp:162,1
    - Dst: auto::componentsBlackList::empty
      Src: /src/PROJ/src/tracing.cpp:165,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/tracing.cpp:165,1
    - Dst: auto::componentsBlackList::find
      Src: /src/PROJ/src/tracing.cpp:166,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/tracing.cpp:170,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - str
    - component
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: tracing::logTrace
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::componentsWhiteList::empty
    - auto::componentsWhiteList::find
    - auto::logTraceRaw
    - tracing::getSingleton
    - auto::componentsBlackList::empty
    - auto::componentsBlackList::find
    linkageType: ''
    returnType: void
    signature: void logTrace(const std::string &str, const std::string &component)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Private::Private
      Src: /src/PROJ/src/tracing.cpp:188,1
    - Dst: getSingleton
      Src: /src/PROJ/src/tracing.cpp:189,1
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:191,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:192,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:192,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: tracing::EnterBlock::EnterBlock
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - toString
    - auto::logTraceRaw
    - CPLGettimeofday
    - Private::Private
    - getSingleton
    linkageType: ''
    returnType: void
    signature: void EnterBlock::EnterBlock(const std::string &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSingleton
      Src: /src/PROJ/src/tracing.cpp:201,1
    - Dst: CPLGettimeofday
      Src: /src/PROJ/src/tracing.cpp:203,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/tracing.cpp:204,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:209,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:210,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:212,1
    - Dst: auto::logTraceRaw
      Src: /src/PROJ/src/tracing.cpp:214,1
    - Dst: toString
      Src: /src/PROJ/src/tracing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: EnterBlock::~EnterBlock()
    functionSourceFile: /src/PROJ/src/tracing.cpp
    functionUses: 0
    functionsReached:
    - toString
    - auto::logTraceRaw
    - CPLGettimeofday
    - static_cast<int>
    - getSingleton
    linkageType: ''
    returnType: void
    signature: void EnterBlock::~EnterBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COND
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: STATIC_ASSERT
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT(COND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rad
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: PJ_TODEG
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PJ_TODEG(rad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - deg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: PJ_TORAD
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PJ_TORAD(deg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: MIN
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: MAX
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: ABS
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: _
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: PJCoordOperation
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJCoordOperation(const PJCoordOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_clone
      Src: /src/PROJ/src/proj_internal.h:381,1
    - Dst: std::move
      Src: /src/PROJ/src/proj_internal.h:382,1
    - Dst: proj_clone
      Src: /src/PROJ/src/proj_internal.h:393,1
    - Dst: proj_clone
      Src: /src/PROJ/src/proj_internal.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - other
    argTypes:
    - PJ_CONTEXT*
    - PJCoordOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: PJCoordOperation
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached:
    - std::move
    - proj_clone
    linkageType: ''
    returnType: void
    signature: void PJCoordOperation(PJ_CONTEXT *ctx, const PJCoordOperation &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/proj_internal.h:405,1
    - Dst: std::move
      Src: /src/PROJ/src/proj_internal.h:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - PJCoordOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 420
    functionName: PJCoordOperation
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PJCoordOperation(PJCoordOperation &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: '&operator=(const PJCoordOperation &)'
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJCoordOperation
    signature: PJCoordOperation &operator=(const PJCoordOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_is_equivalent_to
      Src: /src/PROJ/src/proj_internal.h:431,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - PJCoordOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: operator==(const PJCoordOperation &other) const
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached:
    - proj_is_equivalent_to
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PJCoordOperation &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - PJCoordOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: operator!=(const PJCoordOperation &other) const
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const PJCoordOperation &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: PJconsts
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJconsts(const PJconsts &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: '&operator=(const PJconsts &)'
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJconsts
    signature: PJconsts &operator=(const PJconsts &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 861
    functionName: pj_ctx
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct PROJ_GCC_DLL
    signature: struct PROJ_GCC_DLL pj_ctx
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    functionName: pj_ctx
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_ctx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: PROJ_HEAD
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_HEAD(name, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - NEED_ELLPS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 888
    functionName: OPERATION
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPERATION(name, NEED_ELLPS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - need_ellps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 891
    functionName: PJ_CONVERSION
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PJ_CONVERSION(name, need_ellps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - need_ellps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 892
    functionName: PJ_TRANSFORMATION
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PJ_TRANSFORMATION(name, need_ellps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/proj_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PJ_PROJECTION(name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/factors.cpp:26,1
    - Dst: fabs
      Src: /src/PROJ/src/factors.cpp:32,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/factors.cpp:33,1
    - Dst: _
      Src: /src/PROJ/src/factors.cpp:33,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/factors.cpp:34,1
    - Dst: fabs
      Src: /src/PROJ/src/factors.cpp:37,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/factors.cpp:38,1
    - Dst: _
      Src: /src/PROJ/src/factors.cpp:38,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/factors.cpp:39,1
    - Dst: fabs
      Src: /src/PROJ/src/factors.cpp:44,1
    - Dst: pj_geocentric_latitude
      Src: /src/PROJ/src/factors.cpp:50,1
    - Dst: fabs
      Src: /src/PROJ/src/factors.cpp:54,1
    - Dst: strcmp
      Src: /src/PROJ/src/factors.cpp:63,1
    - Dst: adjlon
      Src: /src/PROJ/src/factors.cpp:67,1
    - Dst: pj_deriv
      Src: /src/PROJ/src/factors.cpp:71,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/factors.cpp:72,1
    - Dst: _
      Src: /src/PROJ/src/factors.cpp:72,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/factors.cpp:73,1
    - Dst: cos
      Src: /src/PROJ/src/factors.cpp:91,1
    - Dst: hypot
      Src: /src/PROJ/src/factors.cpp:92,1
    - Dst: hypot
      Src: /src/PROJ/src/factors.cpp:93,1
    - Dst: sin
      Src: /src/PROJ/src/factors.cpp:96,1
    - Dst: sqrt
      Src: /src/PROJ/src/factors.cpp:98,1
    - Dst: atan2
      Src: /src/PROJ/src/factors.cpp:106,1
    - Dst: aasin
      Src: /src/PROJ/src/factors.cpp:113,1
    - Dst: sqrt
      Src: /src/PROJ/src/factors.cpp:117,1
    - Dst: sqrt
      Src: /src/PROJ/src/factors.cpp:119,1
    - Dst: aasin
      Src: /src/PROJ/src/factors.cpp:125,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/factors.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 5
    argNames:
    - lp
    - toplevel
    - internal
    - h
    - fac
    argTypes:
    - PJ_LP
    - PJ*
    - PJ*
    - double
    - struct FACTORS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 129
    functionName: pj_factors
    functionSourceFile: /src/PROJ/src/factors.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - fabs
    - cos
    - strcmp
    - aasin
    - atan2
    - adjlon
    - pj_deriv
    - proj_errno_restore
    - proj_log_error
    - _
    - proj_errno_reset
    - pj_geocentric_latitude
    - sin
    linkageType: ''
    returnType: int
    signature: "int pj_factors(PJ_LP lp, PJ *toplevel, const PJ *internal, double
      h,\n                      struct FACTORS *fac)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/factors.cpp:149,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/src/factors.cpp:156,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/factors.cpp:158,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/src/factors.cpp:163,1
    - Dst: proj_prime_meridian_get_parameters
      Src: /src/PROJ/src/factors.cpp:165,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:167,1
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/src/factors.cpp:169,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/src/factors.cpp:172,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/src/factors.cpp:175,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/src/factors.cpp:178,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/factors.cpp:180,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:182,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/src/factors.cpp:184,1
    - Dst: proj_crs_get_datum_ensemble
      Src: /src/PROJ/src/factors.cpp:186,1
    - Dst: proj_create_geographic_crs_from_datum
      Src: /src/PROJ/src/factors.cpp:187,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:189,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:190,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:192,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/factors.cpp:209,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:210,1
    - Dst: createGeogCRSLonLatRad
      Src: /src/PROJ/src/factors.cpp:211,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/src/factors.cpp:212,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/src/factors.cpp:213,1
    - Dst: proj_create_projected_crs
      Src: /src/PROJ/src/factors.cpp:215,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:217,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:218,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:219,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:220,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/src/factors.cpp:221,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:223,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:224,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:225,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/factors.cpp:236,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:237,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/factors.cpp:238,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:239,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:240,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/src/factors.cpp:241,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/src/factors.cpp:242,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:244,1
    - Dst: createGeogCRSLonLatRad
      Src: /src/PROJ/src/factors.cpp:245,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/src/factors.cpp:246,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:248,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:249,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:250,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/factors.cpp:252,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/factors.cpp:254,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:257,1
    - Dst: proj_as_proj_string
      Src: /src/PROJ/src/factors.cpp:261,1
    - Dst: std::string::rfind
      Src: /src/PROJ/src/factors.cpp:265,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/factors.cpp:268,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:272,1
    - Dst: proj_create
      Src: /src/PROJ/src/factors.cpp:273,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/factors.cpp:273,1
    - Dst: assert
      Src: /src/PROJ/src/factors.cpp:274,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/factors.cpp:286,1
    - Dst: _
      Src: /src/PROJ/src/factors.cpp:286,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/factors.cpp:287,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:289,1
    - Dst: pj_factors
      Src: /src/PROJ/src/factors.cpp:294,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/factors.cpp:296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - P
    - lp
    argTypes:
    - PJ*
    - PJ_COORD
    assertStmts:
    - condition: (geodetic_crs)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/PROJ/src/factors.cpp
    - condition: (projCRSNormalized)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/PROJ/src/factors.cpp
    - condition: (newOp)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/PROJ/src/factors.cpp
    - condition: (base_proj_crs)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/PROJ/src/factors.cpp
    - condition: (newOp)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/PROJ/src/factors.cpp
    - condition: (newOp)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/PROJ/src/factors.cpp
    - condition: (geodetic_crs)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/PROJ/src/factors.cpp
    constantsTouched: []
    func_position:
      end: 318
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 318
    functionName: proj_factors
    functionSourceFile: /src/PROJ/src/factors.cpp
    functionUses: 2
    functionsReached:
    - proj_prime_meridian_get_parameters
    - std::string::c_str
    - createGeogCRSLonLatRad
    - proj_crs_get_sub_crs
    - std::string::rfind
    - pj_factors
    - proj_get_prime_meridian
    - _
    - proj_crs_get_datum
    - proj_create_ellipsoidal_2D_cs
    - proj_cs_get_axis_info
    - proj_destroy
    - assert
    - proj_create_geographic_crs_from_datum
    - proj_create_crs_to_crs_from_pj
    - proj_log_error
    - proj_ellipsoid_get_parameters
    - proj_get_type
    - proj_errno_set
    - std::string::resize
    - proj_create_geographic_crs
    - proj_get_name
    - proj_crs_get_datum_ensemble
    - proj_crs_get_coordoperation
    - proj_get_source_crs
    - proj_create_cartesian_2D_cs
    - proj_create
    - proj_as_proj_string
    - proj_create_projected_crs
    - proj_get_ellipsoid
    - proj_crs_get_coordinate_system
    linkageType: ''
    returnType: PJ_FACTORS
    signature: PJ_FACTORS proj_factors(PJ *P, PJ_COORD lp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/latitudes.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/latitudes.cpp:31,1
    - Dst: atan
      Src: /src/PROJ/src/latitudes.cpp:32,1
    - Dst: sinh
      Src: /src/PROJ/src/latitudes.cpp:32,1
    - Dst: asinh
      Src: /src/PROJ/src/latitudes.cpp:32,1
    - Dst: atanh
      Src: /src/PROJ/src/latitudes.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - phi
    - P
    argTypes:
    - double
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: pj_conformal_lat
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sinh
    - atanh
    - atan
    - asinh
    - sin
    linkageType: ''
    returnType: double
    signature: double pj_conformal_lat(double phi, const PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/latitudes.cpp:47,1
    - Dst: pj_sinhpsi2tanphi
      Src: /src/PROJ/src/latitudes.cpp:47,1
    - Dst: tan
      Src: /src/PROJ/src/latitudes.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - chi
    - P
    argTypes:
    - double
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: pj_conformal_lat_inverse
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached:
    - pj_sinhpsi2tanphi
    - atan
    - tan
    linkageType: ''
    returnType: double
    signature: double pj_conformal_lat_inverse(double chi, const PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atanh
      Src: /src/PROJ/src/latitudes.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sinphi
    - P
    argTypes:
    - double
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: pj_authalic_lat_q
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached:
    - atanh
    linkageType: ''
    returnType: double
    signature: double pj_authalic_lat_q(double sinphi, const PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: PROJ_AUTHALIC_SERIES_VALID
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_AUTHALIC_SERIES_VALID(n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_AUTHALIC_SERIES_VALID
      Src: /src/PROJ/src/latitudes.cpp:85,1
    - Dst: malloc
      Src: /src/PROJ/src/latitudes.cpp:86,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/latitudes.cpp:87,1
    - Dst: PROJ_AUTHALIC_SERIES_VALID
      Src: /src/PROJ/src/latitudes.cpp:88,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/latitudes.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: pj_authalic_lat_compute_coeffs
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached:
    - malloc
    - pj_auxlat_coeffs
    - PROJ_AUTHALIC_SERIES_VALID
    linkageType: ''
    returnType: double
    signature: double *pj_authalic_lat_compute_coeffs(double n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_AUTHALIC_SERIES_VALID
      Src: /src/PROJ/src/latitudes.cpp:101,1
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/latitudes.cpp:103,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/latitudes.cpp:107,1
    - Dst: fabs
      Src: /src/PROJ/src/latitudes.cpp:110,1
    - Dst: asin
      Src: /src/PROJ/src/latitudes.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - phi
    - sinphi
    - cosphi
    - APA
    - P
    - qp
    argTypes:
    - double
    - double
    - double
    - double*
    - PJ*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: pj_authalic_lat
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - asin
    - pj_authalic_lat_q
    - PROJ_AUTHALIC_SERIES_VALID
    - pj_auxlat_convert
    linkageType: ''
    returnType: double
    signature: "double pj_authalic_lat(double phi, double sinphi, double cosphi,\n
      \                      const double *APA, const PJ *P, double qp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/latitudes.cpp:125,1
    - Dst: PROJ_AUTHALIC_SERIES_VALID
      Src: /src/PROJ/src/latitudes.cpp:126,1
    - Dst: sin
      Src: /src/PROJ/src/latitudes.cpp:137,1
    - Dst: sin
      Src: /src/PROJ/src/latitudes.cpp:140,1
    - Dst: cos
      Src: /src/PROJ/src/latitudes.cpp:141,1
    - Dst: atanh
      Src: /src/PROJ/src/latitudes.cpp:148,1
    - Dst: fabs
      Src: /src/PROJ/src/latitudes.cpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - beta
    - APA
    - P
    - qp
    argTypes:
    - double
    - double*
    - PJ*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: pj_authalic_lat_inverse
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    - atanh
    - PROJ_AUTHALIC_SERIES_VALID
    - pj_auxlat_convert
    - sin
    linkageType: ''
    returnType: double
    signature: "double pj_authalic_lat_inverse(double beta, const double *APA, const
      PJ *P,\n                               double qp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AuxLat
      Src: /src/PROJ/src/latitudes.cpp:334,1
    - Dst: AuxLat
      Src: /src/PROJ/src/latitudes.cpp:334,1
    - Dst: std::out_of_range
      Src: /src/PROJ/src/latitudes.cpp:336,1
    - Dst: std::out_of_range
      Src: /src/PROJ/src/latitudes.cpp:339,1
    - Dst: pj_polyval
      Src: /src/PROJ/src/latitudes.cpp:345,1
    - Dst: pj_polyval
      Src: /src/PROJ/src/latitudes.cpp:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - n
    - auxin
    - auxout
    - F
    argTypes:
    - double
    - AuxLat
    - AuxLat
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 359
    functionName: pj_auxlat_coeffs
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 2
    functionsReached:
    - pj_polyval
    - std::out_of_range
    - AuxLat
    linkageType: ''
    returnType: void
    signature: void pj_auxlat_coeffs(double n, AuxLat auxin, AuxLat auxout, double
      F[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - p
    - N
    argTypes:
    - double
    - double[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: pj_polyval
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double pj_polyval(double x, const double p[], int N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - szeta
    - czeta
    - F
    - K
    argTypes:
    - double
    - double
    - double[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: pj_clenshaw
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double pj_clenshaw(double szeta, double czeta, const double F[], int
      K)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/latitudes.cpp:388,1
    - Dst: sin
      Src: /src/PROJ/src/latitudes.cpp:388,1
    - Dst: cos
      Src: /src/PROJ/src/latitudes.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zeta
    - F
    - K
    argTypes:
    - double
    - double[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: pj_auxlat_convert
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 5
    functionsReached:
    - cos
    - pj_auxlat_convert
    - sin
    linkageType: ''
    returnType: double
    signature: double pj_auxlat_convert(double zeta, const double F[], int K)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_clenshaw
      Src: /src/PROJ/src/latitudes.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - zeta
    - szeta
    - czeta
    - F
    - K
    argTypes:
    - double
    - double
    - double
    - double[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: pj_auxlat_convert
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 5
    functionsReached:
    - pj_clenshaw
    linkageType: ''
    returnType: double
    signature: "double pj_auxlat_convert(double zeta, double szeta, double czeta,\n
      \                        const double F[], int K)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_clenshaw
      Src: /src/PROJ/src/latitudes.cpp:406,1
    - Dst: sin
      Src: /src/PROJ/src/latitudes.cpp:406,1
    - Dst: cos
      Src: /src/PROJ/src/latitudes.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - szeta
    - czeta
    - seta
    - ceta
    - F
    - K
    argTypes:
    - double
    - double
    - double
    - double
    - double[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: pj_auxlat_convert
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 5
    functionsReached:
    - pj_clenshaw
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: "void pj_auxlat_convert(double szeta, double czeta, double &seta, double
      &ceta,\n                       const double F[], int K)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_polyval
      Src: /src/PROJ/src/latitudes.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: pj_rectifying_radius
    functionSourceFile: /src/PROJ/src/latitudes.cpp
    functionUses: 1
    functionsReached:
    - pj_polyval
    linkageType: ''
    returnType: double
    signature: double pj_rectifying_radius(double n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/PROJ/src/crs_to_crs.cpp:45,1
    - Dst: starts_with
      Src: /src/PROJ/src/crs_to_crs.cpp:45,1
    - Dst: starts_with
      Src: /src/PROJ/src/crs_to_crs.cpp:46,1
    - Dst: starts_with
      Src: /src/PROJ/src/crs_to_crs.cpp:46,1
    - Dst: std::string::find
      Src: /src/PROJ/src/crs_to_crs.cpp:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: pj_add_type_crs_if_needed
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - starts_with
    linkageType: ''
    returnType: std::string
    signature: std::string pj_add_type_crs_if_needed(const std::string &str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: simple_max
      Src: /src/PROJ/src/crs_to_crs.cpp:59,1
    - Dst: simple_max
      Src: /src/PROJ/src/crs_to_crs.cpp:60,1
    - Dst: simple_max
      Src: /src/PROJ/src/crs_to_crs.cpp:61,1
    - Dst: simple_max
      Src: /src/PROJ/src/crs_to_crs.cpp:62,1
    - Dst: proj_trans_generic
      Src: /src/PROJ/src/crs_to_crs.cpp:88,1
    - Dst: std::min
      Src: /src/PROJ/src/crs_to_crs.cpp:93,1
    - Dst: std::min
      Src: /src/PROJ/src/crs_to_crs.cpp:94,1
    - Dst: std::max
      Src: /src/PROJ/src/crs_to_crs.cpp:95,1
    - Dst: std::max
      Src: /src/PROJ/src/crs_to_crs.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 9
    argNames:
    - pjGeogToCrs
    - west_lon
    - south_lat
    - east_lon
    - north_lat
    - minx
    - miny
    - maxx
    - maxy
    argTypes:
    - PJ*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 100
    functionName: reproject_bbox
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - simple_max
    - std::max
    - proj_trans_generic
    linkageType: ''
    returnType: void
    signature: "void reproject_bbox(PJ *pjGeogToCrs, double west_lon, double south_lat,\n
      \                          double east_lon, double north_lat, double &minx,\n
      \                          double &miny, double &maxx, double &maxy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::sin
      Src: /src/PROJ/src/crs_to_crs.cpp:127,1
    - Dst: std::sin
      Src: /src/PROJ/src/crs_to_crs.cpp:127,1
    - Dst: reproject_bbox
      Src: /src/PROJ/src/crs_to_crs.cpp:135,1
    - Dst: reproject_bbox
      Src: /src/PROJ/src/crs_to_crs.cpp:145,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/crs_to_crs.cpp:150,1
    - Dst: proj_coordoperation_get_accuracy
      Src: /src/PROJ/src/crs_to_crs.cpp:153,1
    - Dst: std::vector<PJCoordOperation>::emplace_back
      Src: /src/PROJ/src/crs_to_crs.cpp:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 12
    argNames:
    - idxInOriginalList
    - op
    - west_lon
    - south_lat
    - east_lon
    - north_lat
    - pjGeogToSrc
    - pjGeogToDst
    - pjSrcGeocentricToLonLat
    - pjDstGeocentricToLonLat
    - areaName
    - altCoordOps
    argTypes:
    - int
    - PJ*
    - double
    - double
    - double
    - double
    - PJ*
    - PJ*
    - PJ*
    - PJ*
    - char*
    - std::vector<PJCoordOperation>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 103
    functionDepth: 7
    functionLinenumber: 103
    functionLinenumberEnd: 161
    functionName: add_coord_op_to_list
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - std::vector<PJCoordOperation>::emplace_back
    - reproject_bbox
    - proj_coordoperation_get_accuracy
    - proj_get_name
    - std::sin
    linkageType: ''
    returnType: PJ
    signature: "PJ *add_coord_op_to_list(\n    int idxInOriginalList, PJ *op, double
      west_lon, double south_lat,\n    double east_lon, double north_lat, PJ *pjGeogToSrc,
      PJ *pjGeogToDst,\n    const PJ *pjSrcGeocentricToLonLat, const PJ *pjDstGeocentricToLonLat,\n
      \   const char *areaName, std::vector<PJCoordOperation> &altCoordOps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ~ObjectKeeper()
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjectKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '&operator=(const ObjectKeeper &)'
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectKeeper
    signature: ObjectKeeper &operator=(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ~ObjectKeeper()
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void ~ObjectKeeper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ObjectKeeper
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectKeeper(const ObjectKeeper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '&operator=(const ObjectKeeper &)'
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectKeeper
    signature: ObjectKeeper &operator=(const ObjectKeeper &)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/crs_to_crs.cpp:178,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:179,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:180,1
    - Dst: std::unique_ptr::reset
      Src: /src/PROJ/src/crs_to_crs.cpp:181,1
    - Dst: ObjectKeeper::ObjectKeeper
      Src: /src/PROJ/src/crs_to_crs.cpp:181,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:188,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:190,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/crs_to_crs.cpp:194,1
    - Dst: proj_crs_get_datum_forced
      Src: /src/PROJ/src/crs_to_crs.cpp:198,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:199,1
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/src/crs_to_crs.cpp:200,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/src/crs_to_crs.cpp:202,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:203,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/src/crs_to_crs.cpp:206,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:209,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/crs_to_crs.cpp:210,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:213,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:214,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:215,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/crs_to_crs.cpp:217,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:221,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:222,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/src/crs_to_crs.cpp:227,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/src/crs_to_crs.cpp:228,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/src/crs_to_crs.cpp:230,1
    - Dst: proj_crs_demote_to_2D
      Src: /src/PROJ/src/crs_to_crs.cpp:233,1
    - Dst: proj_create_operations
      Src: /src/PROJ/src/crs_to_crs.cpp:235,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:236,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:237,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:238,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/src/crs_to_crs.cpp:242,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:244,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:246,1
    - Dst: proj_list_get
      Src: /src/PROJ/src/crs_to_crs.cpp:252,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:253,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/src/crs_to_crs.cpp:254,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:258,1
    - Dst: proj_list_get
      Src: /src/PROJ/src/crs_to_crs.cpp:261,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:262,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts:
    - condition: (datum)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/PROJ/src/crs_to_crs.cpp
    - condition: (op)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/PROJ/src/crs_to_crs.cpp
    - condition: (opGeogToCrs)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/PROJ/src/crs_to_crs.cpp
    - condition: (tmp)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/PROJ/src/crs_to_crs.cpp
    constantsTouched: []
    func_position:
      end: 266
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 266
    functionName: create_operation_to_geog_crs
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - proj_list_destroy
    - proj_context_log_debug
    - proj_create_ellipsoidal_2D_cs
    - proj_create_operation_factory_context
    - proj_coordoperation_get_grid_used_count
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - assert
    - proj_destroy
    - proj_ellipsoid_get_parameters
    - proj_crs_get_geodetic_crs
    - proj_get_type
    - proj_crs_get_datum_forced
    - proj_create_geographic_crs
    - proj_get_name
    - proj_crs_demote_to_2D
    - proj_get_source_crs
    - proj_operation_factory_context_set_grid_availability_use
    - proj_list_get
    - std::unique_ptr::reset
    - ObjectKeeper::ObjectKeeper
    - proj_get_ellipsoid
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    linkageType: ''
    returnType: PJ
    signature: PJ *create_operation_to_geog_crs(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:273,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/crs_to_crs.cpp:273,1
    - Dst: proj_crs_get_datum_forced
      Src: /src/PROJ/src/crs_to_crs.cpp:275,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:276,1
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/src/crs_to_crs.cpp:277,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/src/crs_to_crs.cpp:279,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:280,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/src/crs_to_crs.cpp:283,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:286,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/crs_to_crs.cpp:287,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:290,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:291,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/src/crs_to_crs.cpp:294,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/src/crs_to_crs.cpp:295,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/src/crs_to_crs.cpp:297,1
    - Dst: proj_create_operations
      Src: /src/PROJ/src/crs_to_crs.cpp:301,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:302,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:303,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/src/crs_to_crs.cpp:305,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:307,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:309,1
    - Dst: proj_list_get
      Src: /src/PROJ/src/crs_to_crs.cpp:313,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:314,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - geocentric_crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts:
    - condition: (datum)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/PROJ/src/crs_to_crs.cpp
    - condition: (op)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/PROJ/src/crs_to_crs.cpp
    - condition: (proj_get_type(geocentric_crs) == PJ_TYPE_GEOCENTRIC_CRS)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/PROJ/src/crs_to_crs.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 317
    functionName: create_operation_geocentric_crs_to_geog_crs
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - proj_ellipsoid_get_parameters
    - proj_create_ellipsoidal_2D_cs
    - proj_create_operations
    - proj_operation_factory_context_set_spatial_criterion
    - proj_crs_get_datum_forced
    - proj_create_geographic_crs
    - assert
    - proj_destroy
    - proj_create_operation_factory_context
    - proj_list_get
    - proj_get_name
    - proj_get_ellipsoid
    - proj_operation_factory_context_set_grid_availability_use
    - proj_list_destroy
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    - proj_context_log_debug
    - proj_get_type
    linkageType: ''
    returnType: PJ
    signature: "PJ *create_operation_geocentric_crs_to_geog_crs(PJ_CONTEXT *ctx,\n
      \                                                      const PJ *geocentric_crs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/crs_to_crs.cpp:330,1
    - Dst: proj_create
      Src: /src/PROJ/src/crs_to_crs.cpp:339,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/crs_to_crs.cpp:339,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:341,1
    - Dst: proj_create
      Src: /src/PROJ/src/crs_to_crs.cpp:345,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/crs_to_crs.cpp:345,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:347,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:348,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/src/crs_to_crs.cpp:355,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:356,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - source_crs
    - target_crs
    - area
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - PJ_AREA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: proj_create_crs_to_crs
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 94
    functionsReached:
    - pj_get_default_ctx
    - std::string::c_str
    - proj_create
    - proj_destroy
    - proj_create_crs_to_crs_from_pj
    - proj_context_log_debug
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_crs_to_crs(PJ_CONTEXT *ctx, const char *source_crs,\n
      \                          const char *target_crs, PJ_AREA *area)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/crs_to_crs.cpp:369,1
    - Dst: create_operation_geocentric_crs_to_geog_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:371,1
    - Dst: create_operation_to_geog_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:377,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:379,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/crs_to_crs.cpp:388,1
    - Dst: create_operation_geocentric_crs_to_geog_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:390,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:393,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:394,1
    - Dst: create_operation_to_geog_crs
      Src: /src/PROJ/src/crs_to_crs.cpp:398,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:400,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:403,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:404,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/src/crs_to_crs.cpp:414,1
    - Dst: proj_list_get
      Src: /src/PROJ/src/crs_to_crs.cpp:416,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:417,1
    - Dst: proj_get_area_of_use
      Src: /src/PROJ/src/crs_to_crs.cpp:424,1
    - Dst: add_coord_op_to_list
      Src: /src/PROJ/src/crs_to_crs.cpp:433,1
    - Dst: proj_clone
      Src: /src/PROJ/src/crs_to_crs.cpp:438,1
    - Dst: add_coord_op_to_list
      Src: /src/PROJ/src/crs_to_crs.cpp:440,1
    - Dst: add_coord_op_to_list
      Src: /src/PROJ/src/crs_to_crs.cpp:444,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:448,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:451,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:454,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:455,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:456,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:457,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:460,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:461,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:462,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - source_crs
    - target_crs
    - op_list
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - PJ_OBJ_LIST*
    assertStmts:
    - condition: (op)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/PROJ/src/crs_to_crs.cpp
    constantsTouched: []
    func_position:
      end: 466
      start: 362
    functionDepth: 8
    functionLinenumber: 362
    functionLinenumberEnd: 466
    functionName: pj_create_prepared_operations
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - proj_clone
    - proj_get_area_of_use
    - create_operation_geocentric_crs_to_geog_crs
    - proj_destroy
    - assert
    - create_operation_to_geog_crs
    - proj_list_get
    - add_coord_op_to_list
    - proj_list_get_count
    - proj_context_log_debug
    - proj_get_type
    linkageType: ''
    returnType: std::vector<PJCoordOperation>
    signature: "std::vector<PJCoordOperation> pj_create_prepared_operations(PJ_CONTEXT
      *ctx, const PJ *source_crs,\n                              const PJ *target_crs,
      PJ_OBJ_LIST *op_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_starts_with
      Src: /src/PROJ/src/crs_to_crs.cpp:473,1
    - Dst: strlen
      Src: /src/PROJ/src/crs_to_crs.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - option
    - keyWithEqual
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: getOptionValue
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 0
    functionsReached:
    - ci_starts_with
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *getOptionValue(const char *option,\n                                  const
      char *keyWithEqual) noexcept"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/crs_to_crs.cpp:492,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/crs_to_crs.cpp:494,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/crs_to_crs.cpp:507,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/crs_to_crs.cpp:509,1
    - Dst: pj_atof
      Src: /src/PROJ/src/crs_to_crs.cpp:510,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/crs_to_crs.cpp:511,1
    - Dst: ci_equal
      Src: /src/PROJ/src/crs_to_crs.cpp:512,1
    - Dst: ci_equal
      Src: /src/PROJ/src/crs_to_crs.cpp:514,1
    - Dst: PJ_CONTEXT*::logger
      Src: /src/PROJ/src/crs_to_crs.cpp:517,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/crs_to_crs.cpp:521,1
    - Dst: ci_equal
      Src: /src/PROJ/src/crs_to_crs.cpp:523,1
    - Dst: ci_equal
      Src: /src/PROJ/src/crs_to_crs.cpp:525,1
    - Dst: PJ_CONTEXT*::logger
      Src: /src/PROJ/src/crs_to_crs.cpp:528,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/crs_to_crs.cpp:532,1
    - Dst: ci_equal
      Src: /src/PROJ/src/crs_to_crs.cpp:533,1
    - Dst: PJ_CONTEXT*::logger
      Src: /src/PROJ/src/crs_to_crs.cpp:539,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/crs_to_crs.cpp:539,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/src/crs_to_crs.cpp:544,1
    - Dst: proj_operation_factory_context_set_allow_ballpark_transformations
      Src: /src/PROJ/src/crs_to_crs.cpp:549,1
    - Dst: proj_operation_factory_context_set_desired_accuracy
      Src: /src/PROJ/src/crs_to_crs.cpp:553,1
    - Dst: proj_operation_factory_context_set_area_of_interest
      Src: /src/PROJ/src/crs_to_crs.cpp:558,1
    - Dst: PJ_AREA*::name::empty
      Src: /src/PROJ/src/crs_to_crs.cpp:562,1
    - Dst: proj_operation_factory_context_set_area_of_interest_name
      Src: /src/PROJ/src/crs_to_crs.cpp:563,1
    - Dst: PJ_AREA*::name::c_str
      Src: /src/PROJ/src/crs_to_crs.cpp:564,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/src/crs_to_crs.cpp:568,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/src/crs_to_crs.cpp:570,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/crs_to_crs.cpp:574,1
    - Dst: proj_create_operations
      Src: /src/PROJ/src/crs_to_crs.cpp:579,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:580,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/src/crs_to_crs.cpp:586,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:588,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/crs_to_crs.cpp:590,1
    - Dst: proj_list_get
      Src: /src/PROJ/src/crs_to_crs.cpp:600,1
    - Dst: assert
      Src: /src/PROJ/src/crs_to_crs.cpp:602,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/crs_to_crs.cpp:615,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/src/crs_to_crs.cpp:618,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/crs_to_crs.cpp:621,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/crs_to_crs.cpp:625,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:626,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/src/crs_to_crs.cpp:633,1
    - Dst: pj_warn_about_missing_grid
      Src: /src/PROJ/src/crs_to_crs.cpp:636,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:638,1
    - Dst: pj_warn_about_missing_grid
      Src: /src/PROJ/src/crs_to_crs.cpp:650,1
    - Dst: pj_create_prepared_operations
      Src: /src/PROJ/src/crs_to_crs.cpp:657,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:661,1
    - Dst: auto::empty
      Src: /src/PROJ/src/crs_to_crs.cpp:663,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:664,1
    - Dst: proj_coordoperation_has_ballpark_transformation
      Src: /src/PROJ/src/crs_to_crs.cpp:678,1
    - Dst: isInstantiable
      Src: /src/PROJ/src/crs_to_crs.cpp:680,1
    - Dst: proj_create_operation_factory_context
      Src: /src/PROJ/src/crs_to_crs.cpp:691,1
    - Dst: proj_operation_factory_context_set_allow_ballpark_transformations
      Src: /src/PROJ/src/crs_to_crs.cpp:693,1
    - Dst: proj_operation_factory_context_set_desired_accuracy
      Src: /src/PROJ/src/crs_to_crs.cpp:697,1
    - Dst: proj_operation_factory_context_set_area_of_interest
      Src: /src/PROJ/src/crs_to_crs.cpp:702,1
    - Dst: PJ_AREA*::name::empty
      Src: /src/PROJ/src/crs_to_crs.cpp:707,1
    - Dst: proj_operation_factory_context_set_area_of_interest_name
      Src: /src/PROJ/src/crs_to_crs.cpp:708,1
    - Dst: PJ_AREA*::name::c_str
      Src: /src/PROJ/src/crs_to_crs.cpp:709,1
    - Dst: proj_operation_factory_context_set_spatial_criterion
      Src: /src/PROJ/src/crs_to_crs.cpp:713,1
    - Dst: proj_operation_factory_context_set_grid_availability_use
      Src: /src/PROJ/src/crs_to_crs.cpp:716,1
    - Dst: proj_create_operations
      Src: /src/PROJ/src/crs_to_crs.cpp:720,1
    - Dst: proj_operation_factory_context_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:722,1
    - Dst: pj_create_prepared_operations
      Src: /src/PROJ/src/crs_to_crs.cpp:727,1
    - Dst: proj_list_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:731,1
    - Dst: auto::empty
      Src: /src/PROJ/src/crs_to_crs.cpp:733,1
    - Dst: proj_coordoperation_has_ballpark_transformation
      Src: /src/PROJ/src/crs_to_crs.cpp:737,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/crs_to_crs.cpp:739,1
    - Dst: std::move
      Src: /src/PROJ/src/crs_to_crs.cpp:739,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/crs_to_crs.cpp:748,1
    - Dst: std::move
      Src: /src/PROJ/src/crs_to_crs.cpp:748,1
    - Dst: std::move
      Src: /src/PROJ/src/crs_to_crs.cpp:750,1
    - Dst: proj_coordoperation_is_instantiable
      Src: /src/PROJ/src/crs_to_crs.cpp:762,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:765,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/crs_to_crs.cpp:766,1
    - Dst: auto::size
      Src: /src/PROJ/src/crs_to_crs.cpp:776,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/crs_to_crs.cpp:779,1
    - Dst: std::move
      Src: /src/PROJ/src/crs_to_crs.cpp:783,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 184
    argCount: 5
    argNames:
    - ctx
    - source_crs
    - target_crs
    - area
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - PJ_AREA*
    - char**
    assertStmts:
    - condition: (P)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/PROJ/src/crs_to_crs.cpp
    constantsTouched: []
    func_position:
      end: 796
      start: 481
    functionDepth: 9
    functionLinenumber: 481
    functionLinenumberEnd: 796
    functionName: proj_create_crs_to_crs_from_pj
    functionSourceFile: /src/PROJ/src/crs_to_crs.cpp
    functionUses: 14
    functionsReached:
    - pj_get_default_ctx
    - std::string::c_str
    - PJ_CONTEXT*::logger
    - proj_context_errno
    - proj_list_destroy
    - PJ_AREA*::name::empty
    - proj_context_is_network_enabled
    - proj_context_log_debug
    - proj_create_operation_factory_context
    - PJ_AREA*::name::c_str
    - proj_create_operations
    - std::move
    - proj_operation_factory_context_set_spatial_criterion
    - proj_coordoperation_is_instantiable
    - assert
    - proj_destroy
    - proj_context_errno_set
    - pj_load_ini
    - proj_coordoperation_has_ballpark_transformation
    - proj_operation_factory_context_set_desired_accuracy
    - auto::size
    - static_cast<int>
    - ci_equal
    - proj_operation_factory_context_set_grid_availability_use
    - proj_list_get
    - pj_warn_about_missing_grid
    - proj_operation_factory_context_set_area_of_interest_name
    - isInstantiable
    - proj_operation_factory_context_set_area_of_interest
    - getOptionValue
    - std::vector::emplace_back
    - pj_atof
    - pj_create_prepared_operations
    - proj_operation_factory_context_set_allow_ballpark_transformations
    - auto::empty
    - proj_list_get_count
    - proj_operation_factory_context_destroy
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,\n
      \                                  const PJ *target_crs, PJ_AREA *area,\n                                   const
      char *const *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/PROJ/src/mutex.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pj_acquire_lock
    functionSourceFile: /src/PROJ/src/mutex.cpp
    functionUses: 5
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void pj_acquire_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/PROJ/src/mutex.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pj_release_lock
    functionSourceFile: /src/PROJ/src/mutex.cpp
    functionUses: 5
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void pj_release_lock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:15,1
    - Dst: strlen
      Src: /src/PROJ/src/pr_list.cpp:18,1
    - Dst: fputs
      Src: /src/PROJ/src/pr_list.cpp:20,1
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:23,1
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:25,1
    - Dst: fputs
      Src: /src/PROJ/src/pr_list.cpp:26,1
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - P
    - not_used
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 33
    functionName: pr_list
    functionSourceFile: /src/PROJ/src/pr_list.cpp
    functionUses: 0
    functionsReached:
    - fputs
    - putchar
    - strlen
    linkageType: ''
    returnType: int
    signature: int pr_list(PJ *P, int not_used)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:38,1
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:40,1
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:42,1
    - Dst: putchar
      Src: /src/PROJ/src/pr_list.cpp:44,1
    - Dst: pr_list
      Src: /src/PROJ/src/pr_list.cpp:45,1
    - Dst: fputs
      Src: /src/PROJ/src/pr_list.cpp:46,1
    - Dst: pr_list
      Src: /src/PROJ/src/pr_list.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: pj_pr_list
    functionSourceFile: /src/PROJ/src/pr_list.cpp
    functionUses: 0
    functionsReached:
    - fputs
    - pr_list
    - putchar
    linkageType: ''
    returnType: void
    signature: void pj_pr_list(PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/src/pr_list.cpp:68,1
    - Dst: strlen
      Src: /src/PROJ/src/pr_list.cpp:79,1
    - Dst: strlen
      Src: /src/PROJ/src/pr_list.cpp:80,1
    - Dst: malloc
      Src: /src/PROJ/src/pr_list.cpp:84,1
    - Dst: strcpy
      Src: /src/PROJ/src/pr_list.cpp:86,1
    - Dst: free
      Src: /src/PROJ/src/pr_list.cpp:87,1
    - Dst: free
      Src: /src/PROJ/src/pr_list.cpp:90,1
    - Dst: strcat
      Src: /src/PROJ/src/pr_list.cpp:96,1
    - Dst: strcat
      Src: /src/PROJ/src/pr_list.cpp:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - P
    - options
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: pj_get_def
    functionSourceFile: /src/PROJ/src/pr_list.cpp
    functionUses: 1
    functionsReached:
    - free
    - strcpy
    - strcat
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: char *pj_get_def(const PJ *P, int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_wkt_error
      Src: /src/PROJ/src/wkt2_parser.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - pj_wkt2_parse_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: pj_wkt2_error
    functionSourceFile: /src/PROJ/src/wkt2_parser.cpp
    functionUses: 0
    functionsReached:
    - pj_wkt_error
    linkageType: ''
    returnType: void
    signature: void pj_wkt2_error(pj_wkt2_parse_context *context, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/PROJ/src/wkt2_parser.cpp:61,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/wkt2_parser.cpp:62,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/wkt2_parser.cpp:63,1
    - Dst: pj_wkt2_parse
      Src: /src/PROJ/src/wkt2_parser.cpp:64,1
    - Dst: std::string
      Src: /src/PROJ/src/wkt2_parser.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: pj_wkt2_parse
    functionSourceFile: /src/PROJ/src/wkt2_parser.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - pj_wkt2_parse
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string pj_wkt2_parse(const std::string &wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: PAIR
    functionSourceFile: /src/PROJ/src/wkt2_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR(X)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/PROJ/src/wkt2_parser.cpp:264,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/wkt2_parser.cpp:266,1
    - Dst: isalpha
      Src: /src/PROJ/src/wkt2_parser.cpp:267,1
    - Dst: strlen
      Src: /src/PROJ/src/wkt2_parser.cpp:267,1
    - Dst: strlen
      Src: /src/PROJ/src/wkt2_parser.cpp:268,1
    - Dst: strncmp
      Src: /src/PROJ/src/wkt2_parser.cpp:321,1
    - Dst: strstr
      Src: /src/PROJ/src/wkt2_parser.cpp:322,1
    - Dst: strlen
      Src: /src/PROJ/src/wkt2_parser.cpp:324,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 1
    argNames:
    - context
    argTypes:
    - pj_wkt2_parse_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 336
    functionName: pj_wkt2_lex
    functionSourceFile: /src/PROJ/src/wkt2_parser.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - strstr
    - ci_starts_with
    - isalpha
    - strlen
    linkageType: ''
    returnType: int
    signature: int pj_wkt2_lex(YYSTYPE * /*pNode */, pj_wkt2_parse_context *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/src/tests/multistresstest.cpp:133,1
    - Dst: calloc
      Src: /src/PROJ/src/tests/multistresstest.cpp:135,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/src/tests/multistresstest.cpp:141,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/tests/multistresstest.cpp:155,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/src/tests/multistresstest.cpp:156,1
    - Dst: fprintf
      Src: /src/PROJ/src/tests/multistresstest.cpp:163,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/tests/multistresstest.cpp:169,1
    - Dst: proj_trans
      Src: /src/PROJ/src/tests/multistresstest.cpp:178,1
    - Dst: proj_errno
      Src: /src/PROJ/src/tests/multistresstest.cpp:180,1
    - Dst: fprintf
      Src: /src/PROJ/src/tests/multistresstest.cpp:183,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/tests/multistresstest.cpp:186,1
    - Dst: fprintf
      Src: /src/PROJ/src/tests/multistresstest.cpp:192,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/tests/multistresstest.cpp:204,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/tests/multistresstest.cpp:214,1
    - Dst: free
      Src: /src/PROJ/src/tests/multistresstest.cpp:218,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/tests/multistresstest.cpp:220,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:222,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 226
    functionName: TestThread
    functionSourceFile: /src/PROJ/src/tests/multistresstest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - free
    - proj_create_crs_to_crs
    - proj_context_destroy
    - proj_errno
    - proj_destroy
    - proj_context_create
    - calloc
    - proj_context_use_proj4_init_rules
    - proj_trans
    - proj_errno_reset
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TestThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestThread
      Src: /src/PROJ/src/tests/multistresstest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: WinTestThread
    functionSourceFile: /src/PROJ/src/tests/multistresstest.cpp
    functionUses: 0
    functionsReached:
    - TestThread
    linkageType: ''
    returnType: DWORD
    signature: DWORD WinTestThread(LPVOID lpParameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestThread
      Src: /src/PROJ/src/tests/multistresstest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 6
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: PosixTestThread
    functionSourceFile: /src/PROJ/src/tests/multistresstest.cpp
    functionUses: 0
    functionsReached:
    - TestThread
    linkageType: ''
    returnType: void
    signature: void *PosixTestThread(void *pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/tests/multistresstest.cpp:275,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/src/tests/multistresstest.cpp:276,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:280,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/tests/multistresstest.cpp:283,1
    - Dst: proj_trans
      Src: /src/PROJ/src/tests/multistresstest.cpp:287,1
    - Dst: proj_errno
      Src: /src/PROJ/src/tests/multistresstest.cpp:289,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/tests/multistresstest.cpp:291,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:296,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:301,1
    - Dst: CreateThread
      Src: /src/PROJ/src/tests/multistresstest.cpp:314,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:317,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:322,1
    - Dst: WaitForMultipleObjects
      Src: /src/PROJ/src/tests/multistresstest.cpp:324,1
    - Dst: pthread_attr_init
      Src: /src/PROJ/src/tests/multistresstest.cpp:332,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/PROJ/src/tests/multistresstest.cpp:333,1
    - Dst: pthread_create
      Src: /src/PROJ/src/tests/multistresstest.cpp:338,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:342,1
    - Dst: sleep
      Src: /src/PROJ/src/tests/multistresstest.cpp:345,1
    - Dst: printf
      Src: /src/PROJ/src/tests/multistresstest.cpp:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 352
    functionName: do_main
    functionSourceFile: /src/PROJ/src/tests/multistresstest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - CreateThread
    - pthread_attr_init
    - proj_create_crs_to_crs
    - pthread_create
    - pthread_attr_setdetachstate
    - proj_errno
    - WaitForMultipleObjects
    - proj_destroy
    - sleep
    - proj_context_use_proj4_init_rules
    - proj_trans
    linkageType: ''
    returnType: int
    signature: int do_main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/src/tests/multistresstest.cpp:357,1
    - Dst: strcmp
      Src: /src/PROJ/src/tests/multistresstest.cpp:359,1
    - Dst: atoi
      Src: /src/PROJ/src/tests/multistresstest.cpp:360,1
    - Dst: CreateThread
      Src: /src/PROJ/src/tests/multistresstest.cpp:371,1
    - Dst: WaitForSingleObject
      Src: /src/PROJ/src/tests/multistresstest.cpp:372,1
    - Dst: CloseHandle
      Src: /src/PROJ/src/tests/multistresstest.cpp:373,1
    - Dst: do_main
      Src: /src/PROJ/src/tests/multistresstest.cpp:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: main
    functionSourceFile: /src/PROJ/src/tests/multistresstest.cpp
    functionUses: 1
    functionsReached:
    - WaitForSingleObject
    - CreateThread
    - CloseHandle
    - strcmp
    - do_main
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/PROJ/src/tests/geodsigntest.c:49,1
    - Dst: isnan
      Src: /src/PROJ/src/tests/geodsigntest.c:49,1
    - Dst: signbit
      Src: /src/PROJ/src/tests/geodsigntest.c:49,1
    - Dst: signbit
      Src: /src/PROJ/src/tests/geodsigntest.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: equiv
    functionSourceFile: /src/PROJ/src/tests/geodsigntest.c
    functionUses: 0
    functionsReached:
    - isnan
    - signbit
    linkageType: ''
    returnType: int
    signature: int equiv(T x, T y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodsigntest.c:54,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - d
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: checkEquals
    functionSourceFile: /src/PROJ/src/tests/geodsigntest.c
    functionUses: 0
    functionsReached:
    - printf
    - fabs
    linkageType: ''
    returnType: int
    signature: int checkEquals(T x, T y, T d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: check
    functionSourceFile: /src/PROJ/src/tests/geodsigntest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check(expr, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: checksincosd
    functionSourceFile: /src/PROJ/src/tests/geodsigntest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checksincosd(x, s, c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: geod_Init
      Src: /src/PROJ/src/tests/geodsigntest.c:93,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:95,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:95,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:96,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:96,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:97,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:97,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:98,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:98,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:99,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:99,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:100,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:100,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:101,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:101,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:102,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:102,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:103,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:103,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:104,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:104,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:105,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:105,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:106,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:106,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:107,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:107,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:108,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:108,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:109,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:109,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:110,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:110,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:111,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:111,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:112,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:112,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:113,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:113,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:114,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:114,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:115,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:115,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:116,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:116,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:117,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:117,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:118,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:118,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:119,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:119,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:120,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:120,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:121,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:121,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:122,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:122,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:123,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:123,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:124,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:124,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:125,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:125,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:126,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:126,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:127,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:127,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:128,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:128,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:129,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:129,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:130,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:130,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:131,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:131,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:132,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:132,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:133,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:133,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:134,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:134,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:135,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:135,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:136,1
    - Dst: geod_AngRound
      Src: /src/PROJ/src/tests/geodsigntest.c:136,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:138,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:140,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:142,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:143,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:144,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:145,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:146,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:147,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:148,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:149,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:150,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:151,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:152,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:153,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:154,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:155,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:156,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:157,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:158,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:159,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:161,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:163,1
    - Dst: checksincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:164,1
    - Dst: geod_sincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:169,1
    - Dst: geod_sincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:170,1
    - Dst: geod_sincosd
      Src: /src/PROJ/src/tests/geodsigntest.c:171,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:172,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:172,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:172,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:172,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:173,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:179,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:179,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:180,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:180,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:181,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:181,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:182,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:182,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:183,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:183,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:184,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:184,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:185,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:185,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:186,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:186,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:187,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:187,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:188,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:188,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:189,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:189,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:190,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:190,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:191,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:191,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:192,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:192,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:193,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:193,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:194,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:194,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:195,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:195,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:196,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:196,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:197,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:197,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:198,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:198,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:199,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:199,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:200,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:200,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:201,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:201,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:202,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:202,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:203,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:203,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:204,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:204,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:208,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:208,1
    - Dst: geod_atan2d
      Src: /src/PROJ/src/tests/geodsigntest.c:208,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:209,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:214,1
    - Dst: geod_sum
      Src: /src/PROJ/src/tests/geodsigntest.c:214,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:215,1
    - Dst: geod_sum
      Src: /src/PROJ/src/tests/geodsigntest.c:215,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:216,1
    - Dst: geod_sum
      Src: /src/PROJ/src/tests/geodsigntest.c:216,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:217,1
    - Dst: geod_sum
      Src: /src/PROJ/src/tests/geodsigntest.c:217,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:218,1
    - Dst: geod_sum
      Src: /src/PROJ/src/tests/geodsigntest.c:218,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:219,1
    - Dst: geod_sum
      Src: /src/PROJ/src/tests/geodsigntest.c:219,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:221,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:221,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:222,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:222,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:223,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:223,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:224,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:224,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:225,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:225,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:226,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:226,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:227,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:227,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:228,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:228,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:229,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:229,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:230,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:230,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:231,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:231,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:232,1
    - Dst: geod_AngNormalize
      Src: /src/PROJ/src/tests/geodsigntest.c:232,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:234,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:234,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:235,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:235,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:236,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:236,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:237,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:237,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:238,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:238,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:239,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:239,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:240,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:240,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:241,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:241,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:242,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:242,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:243,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:243,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:244,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:244,1
    - Dst: check
      Src: /src/PROJ/src/tests/geodsigntest.c:245,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:245,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:249,1
    - Dst: geod_AngDiff
      Src: /src/PROJ/src/tests/geodsigntest.c:249,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:250,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodsigntest.c:264,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodsigntest.c:268,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:269,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:269,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:272,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodsigntest.c:285,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodsigntest.c:289,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodsigntest.c:290,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodsigntest.c:290,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:293,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodsigntest.c:309,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodsigntest.c:313,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:314,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:314,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:317,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodsigntest.c:331,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodsigntest.c:335,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:336,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:336,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:339,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodsigntest.c:355,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodsigntest.c:359,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:362,1
    - Dst: equiv
      Src: /src/PROJ/src/tests/geodsigntest.c:362,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:365,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodsigntest.c:371,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 199
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 374
    functionName: main
    functionSourceFile: /src/PROJ/src/tests/geodsigntest.c
    functionUses: 1
    functionsReached:
    - check
    - printf
    - geod_sincosd
    - geod_init
    - checksincosd
    - checkEquals
    - geod_AngRound
    - geod_AngNormalize
    - equiv
    - geod_atan2d
    - geod_sum
    - geod_AngDiff
    - geod_inverse
    - geod_gendirect
    - geod_Init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:28,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - d
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: checkEquals
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 1
    functionsReached:
    - printf
    - fabs
    linkageType: ''
    returnType: int
    signature: int checkEquals(double x, double y, double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/PROJ/src/tests/geodtest.c:36,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: checkNaN
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - printf
    - isnan
    linkageType: ''
    returnType: int
    signature: int checkNaN(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:130,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:136,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:138,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:139,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:140,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:141,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:142,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:143,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:144,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: testinverse
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_geninverse
    linkageType: ''
    returnType: int
    signature: int testinverse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:156,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodtest.c:162,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:164,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:165,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:166,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:167,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:168,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:169,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:170,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:171,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: testdirect
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_gendirect
    linkageType: ''
    returnType: int
    signature: int testdirect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:183,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodtest.c:189,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:191,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:192,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:193,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:194,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:195,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:196,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:197,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:198,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:199,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 203
    functionName: testarcdirect
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_gendirect
    linkageType: ''
    returnType: int
    signature: int testarcdirect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:209,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:210,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:211,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:212,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: GeodSolve0
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve0(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:221,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:222,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:224,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:225,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: GeodSolve1
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_direct
    linkageType: ''
    returnType: int
    signature: int GeodSolve1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:235,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:236,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:237,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:238,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:239,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:240,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:241,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:242,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: GeodSolve2
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:252,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:253,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 5
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: GeodSolve4
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:264,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:265,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:266,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:268,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:269,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:269,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:271,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: GeodSolve5
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - fabs
    - geod_direct
    linkageType: ''
    returnType: int
    signature: int GeodSolve5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:283,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:284,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:287,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:288,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:291,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:292,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: GeodSolve6
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve6(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:304,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:305,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: GeodSolve9
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve9(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:318,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:319,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: GeodSolve10
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve10(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:332,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:333,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 338
    functionName: GeodSolve11
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve11(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:347,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:348,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:349,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:350,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: GeodSolve12
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve12(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:360,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:361,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:361,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:362,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:363,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 5
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: GeodSolve14
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - nan
    - geod_inverse
    - checkNaN
    linkageType: ''
    returnType: int
    signature: int GeodSolve14(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:374,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodtest.c:375,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: GeodSolve15
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_gendirect
    linkageType: ''
    returnType: int
    signature: int GeodSolve15(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:388,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodtest.c:389,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:391,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:392,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:393,1
    - Dst: geod_lineinit
      Src: /src/PROJ/src/tests/geodtest.c:394,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:395,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:397,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:398,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:399,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:400,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:401,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:402,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:403,1
    - Dst: geod_position
      Src: /src/PROJ/src/tests/geodtest.c:404,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:405,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:406,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 409
    functionName: GeodSolve17
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - checkEquals
    - geod_lineinit
    - geod_position
    - geod_genposition
    - geod_gendirect
    - geod_direct
    linkageType: ''
    returnType: int
    signature: int GeodSolve17(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:416,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:417,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: GeodSolve26
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_geninverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve26(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:429,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodtest.c:430,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: GeodSolve28
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_gendirect
    linkageType: ''
    returnType: int
    signature: int GeodSolve28(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:443,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:444,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:445,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:446,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:447,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:448,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:449,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:450,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:451,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:452,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:453,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:454,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:454,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:455,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:456,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:457,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:458,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:458,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:459,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:460,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:461,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:462,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:463,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:464,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:465,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:466,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:467,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:467,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:468,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:469,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:470,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:471,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:471,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:472,1
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:473,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:474,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:475,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:476,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:477,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:478,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:479,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:480,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:481,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:482,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:483,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:484,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:485,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:486,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:487,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:488,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:488,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 436
    functionDepth: 5
    functionLinenumber: 436
    functionLinenumberEnd: 492
    functionName: GeodSolve33
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    - fabs
    linkageType: ''
    returnType: int
    signature: int GeodSolve33(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:500,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:501,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:501,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:502,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:503,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:504,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:505,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:505,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:506,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:507,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 510
    functionName: GeodSolve55
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - nan
    - geod_inverse
    - checkNaN
    linkageType: ''
    returnType: int
    signature: int GeodSolve55(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:517,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:518,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:519,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:520,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 5
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: GeodSolve59
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve59(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:532,1
    - Dst: geod_gendirect
      Src: /src/PROJ/src/tests/geodtest.c:533,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:536,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:537,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:538,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:538,1
    - Dst: geod_inverseline
      Src: /src/PROJ/src/tests/geodtest.c:539,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:540,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:542,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:543,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:544,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: GeodSolve61
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - fabs
    - checkEquals
    - geod_inverseline
    - geod_genposition
    - geod_gendirect
    linkageType: ''
    returnType: int
    signature: int GeodSolve61(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:557,1
    - Dst: geod_inverseline
      Src: /src/PROJ/src/tests/geodtest.c:558,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:559,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:561,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:562,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:563,1
    - Dst: fabs
      Src: /src/PROJ/src/tests/geodtest.c:563,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:564,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:565,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:566,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:567,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:568,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:569,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:570,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:572,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:573,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:574,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:575,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:576,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:577,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:578,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:579,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 548
    functionDepth: 5
    functionLinenumber: 548
    functionLinenumberEnd: 582
    functionName: GeodSolve65
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - fabs
    - checkEquals
    - geod_inverseline
    - geod_genposition
    linkageType: ''
    returnType: int
    signature: int GeodSolve65(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:592,1
    - Dst: geod_inverseline
      Src: /src/PROJ/src/tests/geodtest.c:593,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:594,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:596,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:597,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:598,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:599,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:601,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:602,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 5
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: GeodSolve67
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_inverseline
    - geod_init
    - geod_genposition
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int GeodSolve67(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:613,1
    - Dst: geod_directline
      Src: /src/PROJ/src/tests/geodtest.c:614,1
    - Dst: geod_position
      Src: /src/PROJ/src/tests/geodtest.c:615,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:616,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:617,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 620
    functionName: GeodSolve71
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_directline
    - geod_position
    linkageType: ''
    returnType: int
    signature: int GeodSolve71(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:631,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:632,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:634,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 639
    functionName: GeodSolve73
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_direct
    linkageType: ''
    returnType: int
    signature: int GeodSolve73(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:646,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:648,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - g
    - points
    - N
    - perimeter
    - area
    argTypes:
    - struct geod_geodesic*
    - double[][]
    - int
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 5
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: planimeter
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_polygon_init
    - geod_polygon_addpoint
    linkageType: ''
    returnType: void
    signature: "void planimeter(const struct geod_geodesic* g,\n                       double
      points[][2], int N,\n                       double* perimeter, double* area)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:657,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:659,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - g
    - points
    - N
    - perimeter
    argTypes:
    - struct geod_geodesic*
    - double[][]
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 661
    functionName: polylength
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_polygon_init
    - geod_polygon_addpoint
    linkageType: ''
    returnType: void
    signature: "void polylength(const struct geod_geodesic* g,\n                       double
      points[][2], int N,\n                       double* perimeter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:669,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:670,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:672,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:673,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:674,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:675,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:676,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:677,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:678,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 681
    functionName: GeodSolve74
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_geninverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve74(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:689,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:690,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:692,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:693,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 683
    functionDepth: 5
    functionLinenumber: 683
    functionLinenumberEnd: 696
    functionName: GeodSolve76
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve76(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:703,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:704,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:705,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:706,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: GeodSolve78
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve78(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:719,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:721,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:723,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:724,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:726,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:728,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:729,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:731,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:733,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:734,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:735,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:736,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:737,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:738,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:739,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:740,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:745,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:747,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:748,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:749,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:750,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:751,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:752,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:753,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:754,1
    - Dst: geod_lineinit
      Src: /src/PROJ/src/tests/geodtest.c:757,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/tests/geodtest.c:758,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 762
    functionName: GeodSolve80
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - checkEquals
    - geod_lineinit
    - checkNaN
    - geod_genposition
    - geod_geninverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve80(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:771,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:774,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:778,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:779,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:780,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:781,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:782,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:782,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:783,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:784,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:785,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:786,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:787,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:788,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:789,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:790,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:790,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:791,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:792,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:793,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:794,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:796,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:798,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:798,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:800,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:802,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:803,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:804,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:805,1
    - Dst: geod_direct
      Src: /src/PROJ/src/tests/geodtest.c:806,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:806,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:807,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:808,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 764
    functionDepth: 5
    functionLinenumber: 764
    functionLinenumberEnd: 811
    functionName: GeodSolve84
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - nan
    - geod_direct
    - checkNaN
    linkageType: ''
    returnType: int
    signature: int GeodSolve84(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:820,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:821,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:825,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:826,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 829
    functionName: GeodSolve92
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve92(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:837,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:838,1
    - Dst: nan
      Src: /src/PROJ/src/tests/geodtest.c:838,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:839,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:840,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 5
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: GeodSolve94
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_init
    - nan
    - geod_inverse
    - checkNaN
    linkageType: ''
    returnType: int
    signature: int GeodSolve94(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:853,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/tests/geodtest.c:854,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 845
    functionDepth: 4
    functionLinenumber: 845
    functionLinenumberEnd: 859
    functionName: GeodSolve96
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_geninverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve96(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:868,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:869,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:871,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:872,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 861
    functionDepth: 5
    functionLinenumber: 861
    functionLinenumberEnd: 875
    functionName: GeodSolve99
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve99(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:886,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:887,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:891,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:892,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 877
    functionDepth: 5
    functionLinenumber: 877
    functionLinenumberEnd: 895
    functionName: GeodSolve100
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - checkEquals
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: int
    signature: int GeodSolve100(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:906,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:908,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:909,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:910,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:912,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:913,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:914,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:916,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:917,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:918,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:920,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:921,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:922,1
    - Dst: polylength
      Src: /src/PROJ/src/tests/geodtest.c:924,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 897
    functionDepth: 6
    functionLinenumber: 897
    functionLinenumberEnd: 928
    functionName: Planimeter0
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - planimeter
    - geod_init
    - polylength
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int Planimeter0(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:936,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:937,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:938,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 930
    functionDepth: 6
    functionLinenumber: 930
    functionLinenumberEnd: 941
    functionName: Planimeter5
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - planimeter
    - geod_init
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int Planimeter5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:952,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:954,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:955,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:956,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:957,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:958,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:959,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:960,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:961,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:962,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:963,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:964,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 943
    functionDepth: 6
    functionLinenumber: 943
    functionLinenumberEnd: 967
    functionName: Planimeter6
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - planimeter
    - geod_init
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int Planimeter6(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:977,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:978,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:979,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 969
    functionDepth: 6
    functionLinenumber: 969
    functionLinenumberEnd: 982
    functionName: Planimeter12
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - planimeter
    - geod_init
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int Planimeter12(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:992,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:993,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:994,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 984
    functionDepth: 6
    functionLinenumber: 984
    functionLinenumberEnd: 997
    functionName: Planimeter12r
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - planimeter
    - geod_init
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int Planimeter12r(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:1006,1
    - Dst: planimeter
      Src: /src/PROJ/src/tests/geodtest.c:1007,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1008,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 999
    functionDepth: 6
    functionLinenumber: 999
    functionLinenumberEnd: 1011
    functionName: Planimeter13
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - planimeter
    - geod_init
    - checkEquals
    linkageType: ''
    returnType: int
    signature: int Planimeter13(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:1023,1
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:1024,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1025,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1026,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1027,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1028,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1029,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1030,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1031,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1032,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1033,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1034,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/tests/geodtest.c:1035,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1036,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1037,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1038,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1039,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1040,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1041,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1042,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1043,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1044,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1045,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1046,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1047,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1048,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1049,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1050,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1051,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1052,1
    - Dst: geod_polygonarea
      Src: /src/PROJ/src/tests/geodtest.c:1053,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1013
    functionDepth: 6
    functionLinenumber: 1013
    functionLinenumberEnd: 1056
    functionName: Planimeter15
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_init
    - checkEquals
    - geod_polygon_addpoint
    - geod_polygon_testpoint
    - geod_inverse
    - geod_polygonarea
    - geod_polygon_testedge
    - geod_polygon_init
    linkageType: ''
    returnType: int
    signature: int Planimeter15(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:1065,1
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:1066,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1067,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1070,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1073,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:1074,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:1075,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1076,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1077,1
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:1080,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1081,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1083,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1085,1
    - Dst: checkNaN
      Src: /src/PROJ/src/tests/geodtest.c:1086,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1087,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1088,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1090,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1091,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1092,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1093,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1096
    functionName: Planimeter19
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_init
    - checkEquals
    - geod_polygon_addpoint
    - geod_polygon_testpoint
    - checkNaN
    - geod_polygon_testedge
    - geod_polygon_init
    linkageType: ''
    returnType: int
    signature: int Planimeter19(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:1108,1
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:1109,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1110,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1111,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1112,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1113,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1114,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1115,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1117,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1118,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1119,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1120,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1121,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1122,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1123,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1124,1
    - Dst: geod_polygon_testpoint
      Src: /src/PROJ/src/tests/geodtest.c:1125,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1126,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1127,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1128,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1129,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1130,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1131,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1132,1
    - Dst: geod_polygon_testedge
      Src: /src/PROJ/src/tests/geodtest.c:1133,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1134,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1135,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1136,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1137,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1138,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1139,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1140,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1141,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1142,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1098
    functionDepth: 5
    functionLinenumber: 1098
    functionLinenumberEnd: 1146
    functionName: Planimeter21
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_init
    - checkEquals
    - geod_polygon_addpoint
    - geod_polygon_testpoint
    - geod_polygon_testedge
    - geod_polygon_init
    linkageType: ''
    returnType: int
    signature: int Planimeter21(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/tests/geodtest.c:1154,1
    - Dst: geod_polygon_init
      Src: /src/PROJ/src/tests/geodtest.c:1155,1
    - Dst: geod_polygon_addpoint
      Src: /src/PROJ/src/tests/geodtest.c:1156,1
    - Dst: geod_polygon_addedge
      Src: /src/PROJ/src/tests/geodtest.c:1157,1
    - Dst: geod_polygon_addedge
      Src: /src/PROJ/src/tests/geodtest.c:1158,1
    - Dst: geod_polygon_addedge
      Src: /src/PROJ/src/tests/geodtest.c:1159,1
    - Dst: geod_polygon_compute
      Src: /src/PROJ/src/tests/geodtest.c:1160,1
    - Dst: checkEquals
      Src: /src/PROJ/src/tests/geodtest.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1148
    functionDepth: 5
    functionLinenumber: 1148
    functionLinenumberEnd: 1165
    functionName: Planimeter29
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 0
    functionsReached:
    - geod_polygon_compute
    - geod_init
    - geod_polygon_addedge
    - checkEquals
    - geod_polygon_addpoint
    - geod_polygon_init
    linkageType: ''
    returnType: int
    signature: int Planimeter29(void)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: testinverse
      Src: /src/PROJ/src/tests/geodtest.c:1169,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1169,1
    - Dst: testdirect
      Src: /src/PROJ/src/tests/geodtest.c:1170,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1170,1
    - Dst: testarcdirect
      Src: /src/PROJ/src/tests/geodtest.c:1171,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1171,1
    - Dst: GeodSolve0
      Src: /src/PROJ/src/tests/geodtest.c:1172,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1172,1
    - Dst: GeodSolve1
      Src: /src/PROJ/src/tests/geodtest.c:1173,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1173,1
    - Dst: GeodSolve2
      Src: /src/PROJ/src/tests/geodtest.c:1174,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1174,1
    - Dst: GeodSolve4
      Src: /src/PROJ/src/tests/geodtest.c:1175,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1175,1
    - Dst: GeodSolve5
      Src: /src/PROJ/src/tests/geodtest.c:1176,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1176,1
    - Dst: GeodSolve6
      Src: /src/PROJ/src/tests/geodtest.c:1177,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1177,1
    - Dst: GeodSolve9
      Src: /src/PROJ/src/tests/geodtest.c:1178,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1178,1
    - Dst: GeodSolve10
      Src: /src/PROJ/src/tests/geodtest.c:1179,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1179,1
    - Dst: GeodSolve11
      Src: /src/PROJ/src/tests/geodtest.c:1180,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1180,1
    - Dst: GeodSolve12
      Src: /src/PROJ/src/tests/geodtest.c:1181,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1181,1
    - Dst: GeodSolve14
      Src: /src/PROJ/src/tests/geodtest.c:1182,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1182,1
    - Dst: GeodSolve15
      Src: /src/PROJ/src/tests/geodtest.c:1183,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1183,1
    - Dst: GeodSolve17
      Src: /src/PROJ/src/tests/geodtest.c:1184,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1184,1
    - Dst: GeodSolve26
      Src: /src/PROJ/src/tests/geodtest.c:1185,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1185,1
    - Dst: GeodSolve28
      Src: /src/PROJ/src/tests/geodtest.c:1186,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1186,1
    - Dst: GeodSolve33
      Src: /src/PROJ/src/tests/geodtest.c:1187,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1187,1
    - Dst: GeodSolve55
      Src: /src/PROJ/src/tests/geodtest.c:1188,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1188,1
    - Dst: GeodSolve59
      Src: /src/PROJ/src/tests/geodtest.c:1189,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1189,1
    - Dst: GeodSolve61
      Src: /src/PROJ/src/tests/geodtest.c:1190,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1190,1
    - Dst: GeodSolve65
      Src: /src/PROJ/src/tests/geodtest.c:1191,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1191,1
    - Dst: GeodSolve67
      Src: /src/PROJ/src/tests/geodtest.c:1192,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1192,1
    - Dst: GeodSolve71
      Src: /src/PROJ/src/tests/geodtest.c:1193,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1193,1
    - Dst: GeodSolve73
      Src: /src/PROJ/src/tests/geodtest.c:1194,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1194,1
    - Dst: GeodSolve74
      Src: /src/PROJ/src/tests/geodtest.c:1195,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1195,1
    - Dst: GeodSolve76
      Src: /src/PROJ/src/tests/geodtest.c:1196,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1196,1
    - Dst: GeodSolve78
      Src: /src/PROJ/src/tests/geodtest.c:1197,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1197,1
    - Dst: GeodSolve80
      Src: /src/PROJ/src/tests/geodtest.c:1198,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1198,1
    - Dst: GeodSolve84
      Src: /src/PROJ/src/tests/geodtest.c:1199,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1199,1
    - Dst: GeodSolve92
      Src: /src/PROJ/src/tests/geodtest.c:1200,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1200,1
    - Dst: GeodSolve94
      Src: /src/PROJ/src/tests/geodtest.c:1201,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1201,1
    - Dst: GeodSolve96
      Src: /src/PROJ/src/tests/geodtest.c:1202,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1202,1
    - Dst: GeodSolve99
      Src: /src/PROJ/src/tests/geodtest.c:1203,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1203,1
    - Dst: GeodSolve100
      Src: /src/PROJ/src/tests/geodtest.c:1204,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1204,1
    - Dst: Planimeter0
      Src: /src/PROJ/src/tests/geodtest.c:1205,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1205,1
    - Dst: Planimeter5
      Src: /src/PROJ/src/tests/geodtest.c:1206,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1206,1
    - Dst: Planimeter6
      Src: /src/PROJ/src/tests/geodtest.c:1207,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1207,1
    - Dst: Planimeter12
      Src: /src/PROJ/src/tests/geodtest.c:1208,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1208,1
    - Dst: Planimeter12r
      Src: /src/PROJ/src/tests/geodtest.c:1209,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1209,1
    - Dst: Planimeter13
      Src: /src/PROJ/src/tests/geodtest.c:1210,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1210,1
    - Dst: Planimeter15
      Src: /src/PROJ/src/tests/geodtest.c:1211,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1211,1
    - Dst: Planimeter19
      Src: /src/PROJ/src/tests/geodtest.c:1212,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1212,1
    - Dst: Planimeter21
      Src: /src/PROJ/src/tests/geodtest.c:1213,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1213,1
    - Dst: Planimeter29
      Src: /src/PROJ/src/tests/geodtest.c:1214,1
    - Dst: printf
      Src: /src/PROJ/src/tests/geodtest.c:1214,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 186
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1167
    functionDepth: 7
    functionLinenumber: 1167
    functionLinenumberEnd: 1216
    functionName: main
    functionSourceFile: /src/PROJ/src/tests/geodtest.c
    functionUses: 1
    functionsReached:
    - GeodSolve9
    - GeodSolve2
    - GeodSolve55
    - GeodSolve0
    - GeodSolve73
    - Planimeter19
    - GeodSolve74
    - GeodSolve12
    - Planimeter12r
    - Planimeter29
    - GeodSolve33
    - testinverse
    - GeodSolve71
    - GeodSolve96
    - GeodSolve1
    - GeodSolve99
    - GeodSolve14
    - GeodSolve15
    - GeodSolve67
    - GeodSolve92
    - GeodSolve5
    - printf
    - GeodSolve76
    - testdirect
    - GeodSolve78
    - Planimeter21
    - testarcdirect
    - GeodSolve65
    - Planimeter15
    - GeodSolve26
    - GeodSolve10
    - Planimeter0
    - Planimeter5
    - GeodSolve61
    - GeodSolve80
    - GeodSolve59
    - Planimeter6
    - GeodSolve84
    - GeodSolve17
    - GeodSolve11
    - GeodSolve94
    - GeodSolve4
    - GeodSolve100
    - Planimeter12
    - GeodSolve28
    - GeodSolve6
    - Planimeter13
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/apps/utils.cpp:40,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/apps/utils.cpp:41,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 1
    argNames:
    - formatString
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: validate_form_string_for_numbers
    functionSourceFile: /src/PROJ/src/apps/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool validate_form_string_for_numbers(const char *formatString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt0
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: MY_FPRINTF0
    functionSourceFile: /src/PROJ/src/apps/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MY_FPRINTF0(fmt0, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt0
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: MY_FPRINTF0
    functionSourceFile: /src/PROJ/src/apps/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MY_FPRINTF0(fmt0, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: MY_FPRINTF
    functionSourceFile: /src/PROJ/src/apps/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MY_FPRINTF(fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: parseInt
    functionSourceFile: /src/PROJ/src/apps/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseInt(const char *&ptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/apps/utils.cpp:131,1
    - Dst: parseInt
      Src: /src/PROJ/src/apps/utils.cpp:141,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/utils.cpp:143,1
    - Dst: parseInt
      Src: /src/PROJ/src/apps/utils.cpp:149,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/utils.cpp:151,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:155,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:157,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:161,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:163,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:168,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:170,1
    - Dst: parseInt
      Src: /src/PROJ/src/apps/utils.cpp:176,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/utils.cpp:178,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:181,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:183,1
    - Dst: MY_FPRINTF
      Src: /src/PROJ/src/apps/utils.cpp:186,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/utils.cpp:189,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - f
    - formatString
    - val
    argTypes:
    - FILE*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 192
    functionName: limited_fprintf_for_number
    functionSourceFile: /src/PROJ/src/apps/utils.cpp
    functionUses: 0
    functionsReached:
    - parseInt
    - MY_FPRINTF
    - fprintf
    linkageType: ''
    returnType: void
    signature: void limited_fprintf_for_number(FILE *f, const char *formatString,
      double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: geodesic
    functionSourceFile: /src/PROJ/src/apps/geod_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GEOD_EXTERN
    signature: GEOD_EXTERN geodesic
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:102,1
    - Dst: clear
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:103,1
    - Dst: callback
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:105,1
    - Dst: str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: Stream::doit
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - callback
    - clear
    - str
    linkageType: ''
    returnType: void
    signature: void doit(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Stream::Stream
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(const Stream &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Stream::Stream
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(Stream &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '&operator=(const Stream &)'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream &operator=(const Stream &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&operator=(Stream &&)'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream &operator=(Stream &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cb_in
    - user_data_in
    argTypes:
    - projinfo_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: Stream::Stream
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(projinfo_cb_t cb_in, void *user_data_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doit
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (*func)(std::ostream )
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '&operator<<(std::ostream &(*func)(std::ostream &))'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - doit
    linkageType: ''
    returnType: Stream
    signature: Stream &operator<<(std::ostream &(*func)(std::ostream &))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doit
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '&operator<<(const T &t)'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - doit
    linkageType: ''
    returnType: Stream
    signature: Stream &operator<<(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - callback
    - user_data
    argTypes:
    - projinfo_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: Streamer
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Streamer(projinfo_cb_t callback, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:102,1
    - Dst: clear
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:103,1
    - Dst: callback
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:105,1
    - Dst: str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: Stream::doit
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - callback
    - clear
    - str
    linkageType: ''
    returnType: void
    signature: void doit(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Stream::Stream
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(const Stream &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Stream::Stream
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(Stream &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '&operator=(const Stream &)'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream &operator=(const Stream &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&operator=(Stream &&)'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream &operator=(Stream &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cb_in
    - user_data_in
    argTypes:
    - projinfo_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: Stream::Stream
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(projinfo_cb_t cb_in, void *user_data_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doit
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (*func)(std::ostream )
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '&operator<<(std::ostream &(*func)(std::ostream &))'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - doit
    linkageType: ''
    returnType: Stream
    signature: Stream &operator<<(std::ostream &(*func)(std::ostream &))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doit
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '&operator<<(const T &t)'
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - doit
    linkageType: ''
    returnType: Stream
    signature: Stream &operator<<(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - callback
    - user_data
    argTypes:
    - projinfo_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: Streamer
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Streamer(projinfo_cb_t callback, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:201,1
    - Dst: std::stringstream::str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - strm
    argTypes:
    - Streamer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 206
    functionName: usage
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: int
    signature: int usage(Streamer &strm, bool is_error = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:212,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:212,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:213,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:214,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:215,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: un_c_ify_string
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - replaceAll
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string un_c_ify_string(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:224,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:225,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: c_ify_string
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: std::string c_ify_string(const std::string &str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:238,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:239,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:240,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:243,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:248,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:248,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:249,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:249,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:255,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:256,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:259,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:260,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:264,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:267,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:268,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:271,1
    - Dst: assert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:272,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:274,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:275,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:276,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:277,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:280,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:281,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:287,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:288,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:288,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:289,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:290,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:291,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:292,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:292,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:293,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:296,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:297,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:299,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:299,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:300,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:301,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:303,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:313,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:313,1
    - Dst: auto::description
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:318,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:325,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 5
    argNames:
    - dbContext
    - bboxStr
    - area
    - errorIfSeveralAreaMatches
    - strm
    argTypes:
    - DatabaseContextPtr
    - std::string
    - std::string
    - bool
    - Streamer
    assertStmts:
    - condition: (dbContext)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    constantsTouched: []
    func_position:
      end: 331
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 331
    functionName: makeBboxFilter
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::front
    - auto::description
    - auto::size
    - c_locale_stod
    - std::string::find
    - assert
    - what
    - usage
    - Extent::createFromBBOX
    - AuthorityFactory::create
    - NN_NO_CHECK
    - std::string
    - auto::empty
    - auto::listAreaOfUseFromName
    - split
    - std::fabs
    linkageType: ''
    returnType: std::optional<ExtentPtr>
    signature: "std::optional<ExtentPtr> makeBboxFilter(DatabaseContextPtr dbContext,\n
      \                                              const std::string &bboxStr,\n
      \                                              const std::string &area,\n                                               bool
      errorIfSeveralAreaMatches,\n                                               Streamer
      &strm)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:342,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:344,1
    - Dst: std::ifstream::open
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:345,1
    - Dst: std::ifstream::is_open
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:346,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:350,1
    - Dst: std::ifstream::eof
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:351,1
    - Dst: std::ifstream::read
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:353,1
    - Dst: std::string::append
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:354,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:354,1
    - Dst: std::ifstream::gcount
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:354,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:355,1
    - Dst: std::ifstream::close
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:356,1
    - Dst: std::ifstream::close
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:361,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:363,1
    - Dst: std::string::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:363,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:364,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:364,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:366,1
    - Dst: std::string::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:366,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:367,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:367,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:371,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:372,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:375,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:378,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:381,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:384,1
    - Dst: std::string::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:385,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:386,1
    - Dst: un_c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:387,1
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:389,1
    - Dst: WKTParser::guessDialect
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:390,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:392,1
    - Dst: WKTParser::attachDatabaseContext
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:393,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:394,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:396,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:397,1
    - Dst: WKTParser::grammarErrorList
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:402,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:403,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:409,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:410,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:413,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:416,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:419,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:421,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:424,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:426,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:426,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:427,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:430,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:433,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:434,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:438,1
    - Dst: nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:439,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:440,1
    - Dst: as_nullable
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:441,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:449,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:453,1
    - Dst: nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:461,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:470,1
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:472,1
    - Dst: BaseObjectPtr::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:472,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:473,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:474,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:474,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:475,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:479,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:480,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:481,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:482,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:486,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:487,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:492,1
    - Dst: nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:493,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:494,1
    - Dst: as_nullable
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:499,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:508,1
    - Dst: nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:516,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:522,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:530,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:535,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:537,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:544,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:546,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:546,1
    - Dst: std::dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:548,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:550,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:550,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:556,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:558,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:562,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:563,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:565,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:565,1
    - Dst: std::stod
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:565,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:575,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 163
    argCount: 11
    argNames:
    - dbContext
    - user_string
    - epoch
    - kind
    - context
    - buildBoundCRSToWGS84
    - allowUseIntermediateCRS
    - promoteTo3D
    - normalizeAxisOrder
    - quiet
    - strm
    argTypes:
    - DatabaseContextPtr
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    - CoordinateOperationContext::IntermediateCRSUse
    - bool
    - bool
    - bool
    - Streamer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 576
    functionName: buildObject
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::ifstream::read
    - WKTParser::attachDatabaseContext
    - std::stod
    - nameStr
    - NN_NO_CHECK
    - std::string::back
    - CoordinateMetadata::create
    - split
    - WKTParser::guessDialect
    - std::string::substr
    - static_cast<size_t>
    - WKTParser::grammarErrorList
    - std::move
    - std::string::find
    - WKTParser::warningList
    - std::string
    - std::dynamic_pointer_cast<CoordinateMetadata>
    - std::string::size
    - WKTParser::setStrict
    - std::ifstream::open
    - std::ifstream::is_open
    - what
    - std::string::empty
    - auto::front
    - auto::promoteTo3D
    - auto::size
    - std::string::clear
    - WKTParser::WKTParser
    - std::string::resize
    - std::dynamic_pointer_cast<CRS>
    - std::vector::push_back
    - auto::normalizeForVisualization
    - BaseObjectPtr::get
    - std::ifstream::eof
    - as_nullable
    - std::string::append
    - createFromUserInput
    - auto::createBoundCRSToWGS84IfPossible
    - WKTParser::createFromWKT
    - std::ifstream::close
    - std::ifstream::gcount
    - un_c_ify_string
    - auto::createObjectsFromName
    - dynamic_cast<CRS *>
    - auto::empty
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    linkageType: ''
    returnType: std::optional<BaseObjectNNPtr>
    signature: "std::optional<BaseObjectNNPtr> buildObject(\n    DatabaseContextPtr
      dbContext, const std::string &user_string,\n    const std::string &epoch, const
      std::string &kind,\n    const std::string &context, bool buildBoundCRSToWGS84,\n
      \   CoordinateOperationContext::IntermediateCRSUse allowUseIntermediateCRS,\n
      \   bool promoteTo3D, bool normalizeAxisOrder, bool quiet, Streamer &strm)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: nn_dynamic_pointer_cast<IdentifiedObject>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:585,1
    - Dst: auto::isDeprecated
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:586,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:588,1
    - Dst: BaseObjectNNPtr::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:588,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:591,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:591,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:592,1
    - Dst: identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:596,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:597,1
    - Dst: codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:598,1
    - Dst: code
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:599,1
    - Dst: nn_dynamic_pointer_cast<IPROJStringExportable>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:609,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:614,1
    - Dst: nn_dynamic_pointer_cast<IPROJStringExportable>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:626,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:627,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:631,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:634,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:636,1
    - Dst: std::shared_ptr::exportToPROJString
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:638,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:638,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:642,1
    - Dst: nn_dynamic_pointer_cast<IWKTExportable>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:648,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:658,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:660,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:661,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:662,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:662,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:664,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:668,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:682,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:685,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:687,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:688,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:688,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:690,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:695,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:708,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:711,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:713,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:714,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:714,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:716,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:720,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:734,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:737,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:739,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:740,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:740,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:742,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:747,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:752,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:761,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:764,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:766,1
    - Dst: auto::setAllowEllipsoidalHeightAsVerticalCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:767,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:769,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:769,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:771,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:776,1
    - Dst: nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:782,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:791,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:793,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:794,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:794,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:796,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:801,1
    - Dst: nn_dynamic_pointer_cast<IJSONExportable>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:808,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:820,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:822,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:822,1
    - Dst: c_ify_string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:824,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:828,1
    - Dst: DatabaseContextPtr::startInsertStatementsSession
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:843,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:845,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:846,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:847,1
    - Dst: DatabaseContextPtr::getInsertStatementsFor
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:849,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:850,1
    - Dst: DatabaseContextPtr::stopInsertStatementsSession
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:852,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:857,1
    - Dst: dynamic_cast<CoordinateOperation *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:863,1
    - Dst: BaseObjectNNPtr::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:863,1
    - Dst: getenv
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:865,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:867,1
    - Dst: packageName::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:877,1
    - Dst: url::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:880,1
    - Dst: url::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:884,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:891,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 234
    argCount: 5
    argNames:
    - dbContext
    - obj
    - allowUseIntermediateCRS
    - outputOpt
    - strm
    argTypes:
    - DatabaseContextPtr
    - BaseObjectNNPtr
    - CoordinateOperationContext::IntermediateCRSUse
    - OutputOptions
    - Streamer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 894
    functionName: outputObject
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - getenv
    - DatabaseContextPtr::startInsertStatementsSession
    - BaseObjectNNPtr::get
    - std::shared_ptr::exportToPROJString
    - nn_dynamic_pointer_cast<Conversion>
    - NN_NO_CHECK
    - codeSpace
    - dynamic_cast<CoordinateOperation *>
    - auto::exportToWKT
    - auto::exportToJSON
    - auto::setMultiLine
    - auto::gridsNeeded
    - auto::emplace_back
    - code
    - nn_dynamic_pointer_cast<IPROJStringExportable>
    - std::move
    - WKTFormatter::create
    - auto::setAllowEllipsoidalHeightAsVerticalCRS
    - dynamic_cast<const CRS *>
    - what
    - auto::setStrict
    - url::empty
    - auto::isDeprecated
    - nn_dynamic_pointer_cast<CRS>
    - nn_dynamic_pointer_cast<IdentifiedObject>
    - nn_dynamic_pointer_cast<IWKTExportable>
    - DatabaseContextPtr::stopInsertStatementsSession
    - DatabaseContextPtr::getInsertStatementsFor
    - packageName::empty
    - nn_dynamic_pointer_cast<IJSONExportable>
    - auto::createBoundCRSToWGS84IfPossible
    - PROJStringFormatter::create
    - c_ify_string
    - auto::getNonDeprecated
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void outputObject(\n    DatabaseContextPtr dbContext, BaseObjectNNPtr
      obj,\n    CoordinateOperationContext::IntermediateCRSUse allowUseIntermediateCRS,\n
      \   const OutputOptions &outputOpt, Streamer &strm)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationNNPtr::identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:902,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:903,1
    - Dst: codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:904,1
    - Dst: code
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:904,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:911,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:912,1
    - Dst: CoordinateOperationNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:920,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:921,1
    - Dst: value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:922,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:924,1
    - Dst: CoordinateOperationNNPtr::as_nullable
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:924,1
    - Dst: CoordinateOperationNNPtr::domains
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:933,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:934,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:934,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:935,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:936,1
    - Dst: CoordinateOperationNNPtr::hasBallparkTransformation
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:941,1
    - Dst: getenv
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:945,1
    - Dst: CoordinateOperationNNPtr::gridsNeeded
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:947,1
    - Dst: packageName::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:954,1
    - Dst: CoordinateOperationNNPtr::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:964,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 4
    argNames:
    - op
    - dbContext
    - gridAvailabilityUse
    - strm
    argTypes:
    - CoordinateOperationNNPtr
    - DatabaseContextPtr
    - CoordinateOperationContext::GridAvailabilityUse
    - Streamer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 969
    functionName: outputOperationSummary
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - code
    - value
    - getenv
    - CoordinateOperationNNPtr::domains
    - CoordinateOperationNNPtr::nameStr
    - CoordinateOperationNNPtr::requiresPerCoordinateInputTime
    - CoordinateOperationNNPtr::as_nullable
    - CoordinateOperationNNPtr::gridsNeeded
    - CoordinateOperationNNPtr::hasBallparkTransformation
    - CoordinateOperationNNPtr::identifiers
    - std::dynamic_pointer_cast<Conversion>
    - codeSpace
    - auto::empty
    - packageName::empty
    - CoordinateOperationNNPtr::coordinateOperationAccuracies
    - domainOfValidity
    linkageType: ''
    returnType: void
    signature: "void outputOperationSummary(\n    const CoordinateOperationNNPtr &op,
      const DatabaseContextPtr &dbContext,\n    CoordinateOperationContext::GridAvailabilityUse
      gridAvailabilityUse,\n    Streamer &strm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CompoundCRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:974,1
    - Dst: CRSPtr::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:974,1
    - Dst: dynamic_cast<GeodeticCRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:976,1
    - Dst: CRSPtr::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:976,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:978,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:979,1
    - Dst: CRSPtr::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:979,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - crs
    argTypes:
    - CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 983
    functionName: is3DCRS
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeodeticCRS *>
    - auto::coordinateSystem
    - dynamic_cast<ProjectedCRS *>
    - CRSPtr::get
    - dynamic_cast<CompoundCRS *>
    linkageType: ''
    returnType: bool
    signature: bool is3DCRS(const CRSPtr &crs)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: buildObject
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1001,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1005,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1007,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1007,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1011,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1011,1
    - Dst: CoordinateMetadataPtr::coordinateEpoch
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1018,1
    - Dst: CoordinateMetadataPtr::crs
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1019,1
    - Dst: CoordinateMetadataPtr::reset
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1020,1
    - Dst: buildObject
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1024,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1028,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1030,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1030,1
    - Dst: nn_dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1034,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1034,1
    - Dst: CoordinateMetadataPtr::coordinateEpoch
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1041,1
    - Dst: CoordinateMetadataPtr::crs
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1042,1
    - Dst: CoordinateMetadataPtr::reset
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1043,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1052,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1052,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1053,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1054,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1054,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1055,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1057,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1057,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1058,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1059,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1061,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1061,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1062,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1063,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1063,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1064,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1066,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1066,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1067,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1068,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1079,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1079,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1083,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1088,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1090,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1091,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1093,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1094,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1095,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1097,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1098,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1099,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1101,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1102,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1102,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1106,1
    - Dst: auto::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1107,1
    - Dst: auto::setGridAvailabilityUse
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1108,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1109,1
    - Dst: auto::setIntermediateCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1110,1
    - Dst: auto::setUsePROJAlternativeGridNames
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1111,1
    - Dst: auto::setDiscardSuperseded
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1112,1
    - Dst: auto::setAllowBallparkTransformations
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1113,1
    - Dst: auto::setDesiredAccuracy
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1115,1
    - Dst: createOperations
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1117,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1122,1
    - Dst: createOperations
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1125,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1126,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1128,1
    - Dst: nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1129,1
    - Dst: nameStr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1129,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1136,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1140,1
    - Dst: outputObject
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1141,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1145,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1146,1
    - Dst: outputOperationSummary
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1158,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1162,1
    - Dst: outputOperationSummary
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1171,1
    - Dst: outputObject
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1173,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 106
    argCount: 21
    argNames:
    - dbContext
    - sourceCRSStr
    - sourceEpoch
    - targetCRSStr
    - targetEpoch
    - bboxFilter
    - spatialCriterion
    - spatialCriterionExplicitlySpecified
    - crsExtentUse
    - gridAvailabilityUse
    - allowUseIntermediateCRS
    - pivots
    - authority
    - usePROJGridAlternatives
    - showSuperseded
    - promoteTo3D
    - normalizeAxisOrder
    - minimumAccuracy
    - outputOpt
    - summary
    - strm
    argTypes:
    - DatabaseContextPtr
    - std::string
    - std::string
    - std::string
    - std::string
    - ExtentPtr
    - CoordinateOperationContext::SpatialCriterion
    - bool
    - CoordinateOperationContext::SourceTargetCRSExtentUse
    - CoordinateOperationContext::GridAvailabilityUse
    - CoordinateOperationContext::IntermediateCRSUse
    - std::vector<std::pair<std::string, std::string>>
    - std::string
    - bool
    - bool
    - bool
    - bool
    - double
    - OutputOptions
    - bool
    - Streamer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 1178
    functionName: outputOperations
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - CoordinateOperationContext::create
    - auto::setSourceAndTargetCRSExtentUse
    - outputObject
    - std::vector::size
    - nameStr
    - auto::setUsePROJAlternativeGridNames
    - NN_NO_CHECK
    - auto::has_value
    - std::vector::empty
    - auto::nameStr
    - std::move
    - auto::setAllowUseIntermediateCRS
    - nn_dynamic_pointer_cast<CoordinateMetadata>
    - std::string
    - what
    - auto::promoteTo3D
    - nn_dynamic_pointer_cast<CRS>
    - is3DCRS
    - auto::size
    - auto::setAllowBallparkTransformations
    - CoordinateMetadataPtr::crs
    - buildObject
    - auto::setIntermediateCRS
    - outputOperationSummary
    - CoordinateMetadataPtr::reset
    - CoordinateMetadataPtr::coordinateEpoch
    - auto::setDiscardSuperseded
    - auto::setDesiredAccuracy
    - createOperations
    - auto::identifiers
    - auto::setSpatialCriterion
    - auto::setGridAvailabilityUse
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    - auto::value
    linkageType: ''
    returnType: int
    signature: "int outputOperations(\n    const DatabaseContextPtr &dbContext, const
      std::string &sourceCRSStr,\n    const std::string &sourceEpoch, const std::string
      &targetCRSStr,\n    const std::string &targetEpoch, const ExtentPtr &bboxFilter,\n
      \   CoordinateOperationContext::SpatialCriterion spatialCriterion,\n    bool
      spatialCriterionExplicitlySpecified,\n    CoordinateOperationContext::SourceTargetCRSExtentUse
      crsExtentUse,\n    CoordinateOperationContext::GridAvailabilityUse gridAvailabilityUse,\n
      \   CoordinateOperationContext::IntermediateCRSUse allowUseIntermediateCRS,\n
      \   const std::vector<std::pair<std::string, std::string>> &pivots,\n    const
      std::string &authority, bool usePROJGridAlternatives,\n    bool showSuperseded,
      bool promoteTo3D, bool normalizeAxisOrder,\n    double minimumAccuracy, const
      OutputOptions &outputOpt, bool summary,\n    Streamer &strm)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1186,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1186,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1187,1
    - Dst: empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1192,1
    - Dst: std::vector<std::string>::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1197,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1199,1
    - Dst: auto::getAuthorities
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1200,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1202,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1204,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1204,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1206,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1210,1
    - Dst: front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1210,1
    - Dst: find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1211,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1213,1
    - Dst: auto::getAuthorities
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1214,1
    - Dst: starts_with
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1215,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1217,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1219,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1219,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1227,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1228,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1228,1
    - Dst: isOption
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1231,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1232,1
    - Dst: isOption
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1236,1
    - Dst: starts_with
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1237,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1237,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1238,1
    - Dst: starts_with
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1239,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1239,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1240,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1242,1
    - Dst: isOption
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1247,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1248,1
    - Dst: isOption
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1252,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1253,1
    - Dst: isOption
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1257,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1258,1
    - Dst: isOption
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1262,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1263,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1265,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1267,1
    - Dst: auto::getAuthorities
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1268,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1269,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1269,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1271,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1277,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1313,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1318,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1320,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1322,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1326,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1327,1
    - Dst: size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1329,1
    - Dst: back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1329,1
    - Dst: size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1332,1
    - Dst: substr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1333,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1335,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1343,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1343,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1347,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1348,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1350,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1352,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1353,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1354,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1355,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1356,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1362,1
    - Dst: starts_with
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1362,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1363,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1365,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1365,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1369,1
    - Dst: std::vector::clear
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1372,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1373,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1373,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1377,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1379,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1379,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1381,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1387,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1387,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1388,1
    - Dst: starts_with
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1390,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1392,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1395,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1395,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1396,1
    - Dst: std::vector<std::string>::back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1396,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1397,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1399,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1401,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1401,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1405,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1413,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1416,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1417,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1417,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1419,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1420,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1422,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1431,1
    - Dst: dynamic_cast<const ObjectUsage *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1432,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1433,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1435,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1436,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1437,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1439,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1440,1
    - Dst: get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1440,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1443,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1447,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1449,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1451,1
    - Dst: auto::description
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1453,1
    - Dst: auto::description
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1454,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1455,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1457,1
    - Dst: starts_with
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1466,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1471,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1473,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1476,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1491,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1494,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1495,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1499,1
    - Dst: replaceAll
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1499,1
    - Dst: printf
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1506,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 176
    argCount: 2
    argNames:
    - args
    - ctx
    argTypes:
    - std::vector<std::string>
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1517
    functionName: suggestCompletion
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - back
    - std::vector::size
    - front
    - std::vector<std::string>::size
    - find
    - auto::has_value
    - std::vector::empty
    - auto::description
    - std::string::substr
    - std::move
    - std::string::find
    - substr
    - dynamic_cast<const GeographicBoundingBox *>
    - std::vector<std::string>::empty
    - auto::getAuthorities
    - std::vector::clear
    - std::string
    - std::string::size
    - dynamic_cast<const ObjectUsage *>
    - replaceAll
    - fprintf
    - size
    - printf
    - std::string::empty
    - auto::front
    - auto::geographicElements
    - auto::size
    - std::string::resize
    - std::vector::push_back
    - c_str
    - std::vector<std::string>::back
    - isOption
    - auto::getCRSInfoList
    - starts_with
    - get
    - auto::createObjectsFromName
    - empty
    - DatabaseContext::create
    - auto::empty
    - AuthorityFactory::create
    - domainOfValidity
    linkageType: ''
    returnType: void
    signature: "void suggestCompletion(const std::vector<std::string> &args,\n                              PJ_CONTEXT
      *ctx)"
  - BBCount: 137
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1524,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1525,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1528,1
    - Dst: suggestCompletion
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1529,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1529,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1551,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1578,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1580,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1589,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1594,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1596,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1598,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1599,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1603,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1604,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1608,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1609,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1610,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1612,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1613,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1614,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1616,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1617,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1618,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1620,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1621,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1622,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1624,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1625,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1626,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1628,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1629,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1630,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1632,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1633,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1634,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1636,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1637,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1638,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1640,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1641,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1642,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1644,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1645,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1646,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1648,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1649,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1650,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1652,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1653,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1654,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1656,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1657,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1658,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1660,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1662,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1664,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1666,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1671,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1680,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1682,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1684,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1692,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1692,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1694,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1696,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1698,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1700,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1705,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1727,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1731,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1738,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1741,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1747,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1752,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1755,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1758,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1761,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1767,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1772,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1775,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1778,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1781,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1787,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1792,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1792,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1795,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1795,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1799,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1799,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1803,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1805,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1806,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1810,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1812,1
    - Dst: std::make_pair
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1813,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1821,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1827,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1838,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1840,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1845,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1846,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1849,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1861,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1867,1
    - Dst: proj_info
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1867,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1872,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1874,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1876,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1890,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1893,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1895,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1895,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1899,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1899,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1904,1
    - Dst: OutputOptions::outputAuthName::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1911,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1928,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1930,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1930,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1930,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1933,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1936,1
    - Dst: assert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1941,1
    - Dst: DatabaseContextPtr::getDatabaseStructure
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1943,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1948,1
    - Dst: assert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1955,1
    - Dst: split
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1958,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1959,1
    - Dst: auto::clear
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1960,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1963,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1965,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1966,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1967,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1968,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1969,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1970,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1971,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1972,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1973,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1974,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1975,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1976,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1977,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1978,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1979,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1980,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1981,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1982,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1983,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1984,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1985,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1989,1
    - Dst: tolower
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1993,1
    - Dst: makeBboxFilter
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1997,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:1998,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2000,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2002,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2003,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2003,1
    - Dst: DatabaseContextPtr::getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2008,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2009,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2010,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2012,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2013,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2014,1
    - Dst: std::set::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2019,1
    - Dst: std::set::find
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2020,1
    - Dst: std::set::end
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2020,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2027,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2033,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2037,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2041,1
    - Dst: tolower
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2042,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2053,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2061,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2061,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2062,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2065,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2066,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2067,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2068,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2070,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2073,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2073,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2076,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2077,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2077,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2080,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2081,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2081,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2082,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2084,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2086,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2091,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2106,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2109,1
    - Dst: buildObject
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2111,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2112,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2115,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2117,1
    - Dst: WKTParser
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2119,1
    - Dst: outputObject
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2134,1
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2137,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2137,1
    - Dst: auto::identify
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2140,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2141,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2142,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2147,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2151,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2152,1
    - Dst: codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2153,1
    - Dst: code
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2154,1
    - Dst: dynamic_cast<BoundCRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2160,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2160,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2162,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2164,1
    - Dst: codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2166,1
    - Dst: code
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2167,1
    - Dst: dynamic_cast<CompoundCRS *>
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2172,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2173,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2176,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2177,1
    - Dst: identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2178,1
    - Dst: identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2179,1
    - Dst: identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2181,1
    - Dst: identifiers
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2183,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2184,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2185,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2186,1
    - Dst: auto::code
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2187,1
    - Dst: auto::code
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2188,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2200,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2206,1
    - Dst: makeBboxFilter
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2211,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2212,1
    - Dst: auto::value
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2214,1
    - Dst: outputOperations
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2216,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2224,1
    CyclomaticComplexity: 238
    EdgeCount: 238
    ICount: 541
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - strm
    argTypes:
    - PJ_CONTEXT*
    - int
    - char**
    - Streamer
    assertStmts:
    - condition: (dbContext)
      pos:
        line_end: 1940
        line_start: 1940
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    - condition: (dbContext)
      pos:
        line_end: 1954
        line_start: 1954
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    constantsTouched: []
    func_position:
      end: 2231
      start: 1521
    functionDepth: 7
    functionLinenumber: 1521
    functionLinenumberEnd: 2231
    functionName: main_projinfo
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - std::set::empty
    - proj_info
    - auto::baseCRS
    - auto::push_back
    - outputOperations
    - OutputOptions::outputAuthName::empty
    - std::make_pair
    - std::vector::resize
    - outputObject
    - std::vector::size
    - auto::identify
    - NN_NO_CHECK
    - Extent::createFromBBOX
    - codeSpace
    - auto::code
    - proj_context_get_url_endpoint
    - split
    - proj_context_is_network_enabled
    - std::vector::empty
    - std::set::insert
    - auto::has_value
    - auto::emplace_back
    - code
    - std::vector::front
    - tolower
    - std::move
    - makeBboxFilter
    - assert
    - auto::intersects
    - DatabaseContextPtr::getDatabaseStructure
    - std::string
    - what
    - std::string::empty
    - auto::componentReferenceSystems
    - auto::size
    - pj_get_release
    - std::vector::push_back
    - auto::codeSpace
    - usage
    - DatabaseContextPtr::getVersionedAuthoritiesFromName
    - ci_equal
    - buildObject
    - dynamic_cast<BoundCRS *>
    - auto::getCRSInfoList
    - strcmp
    - std::set::find
    - auto::empty
    - auto::contains
    - c_locale_stod
    - suggestCompletion
    - dynamic_cast<CompoundCRS *>
    - dynamic_cast<CRS *>
    - auto::identifiers
    - DatabaseContext::create
    - std::vector<std::string>
    - WKTParser
    - auto::clear
    - std::vector::emplace_back
    - AuthorityFactory::create
    - auto::value
    - std::set::end
    linkageType: ''
    returnType: int
    signature: "int main_projinfo(PJ_CONTEXT *ctx, int argc, char **argv,\n                         Streamer
      &strm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: main_projinfo
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2239,1
    - Dst: pj_log
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2241,1
    - Dst: what
      Src: /src/PROJ/src/apps/projinfo_lib.cpp:2241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - argc
    - argv
    - callback
    - user_data
    argTypes:
    - PJ_CONTEXT*
    - int
    - char**
    - projinfo_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2235
    functionDepth: 8
    functionLinenumber: 2235
    functionLinenumberEnd: 2244
    functionName: projinfo
    functionSourceFile: /src/PROJ/src/apps/projinfo_lib.cpp
    functionUses: 6
    functionsReached:
    - what
    - main_projinfo
    - pj_log
    linkageType: ''
    returnType: int
    signature: "int projinfo(PJ_CONTEXT *ctx, int argc, char **argv, projinfo_cb_t
      callback,\n             void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ParsingException::what
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ParsingException::what
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: usage
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 3
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json::size
      Src: /src/PROJ/src/apps/projsync.cpp:86,1
    - Dst: is_number
      Src: /src/PROJ/src/apps/projsync.cpp:86,1
    - Dst: is_number
      Src: /src/PROJ/src/apps/projsync.cpp:86,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projsync.cpp:87,1
    - Dst: get
      Src: /src/PROJ/src/apps/projsync.cpp:87,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projsync.cpp:88,1
    - Dst: get
      Src: /src/PROJ/src/apps/projsync.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projsync.cpp:89,1
    - Dst: get
      Src: /src/PROJ/src/apps/projsync.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projsync.cpp:90,1
    - Dst: get
      Src: /src/PROJ/src/apps/projsync.cpp:90,1
    - Dst: is_array
      Src: /src/PROJ/src/apps/projsync.cpp:93,1
    - Dst: get_bbox
      Src: /src/PROJ/src/apps/projsync.cpp:94,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projsync.cpp:95,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projsync.cpp:96,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projsync.cpp:97,1
    - Dst: std::min
      Src: /src/PROJ/src/apps/projsync.cpp:99,1
    - Dst: std::min
      Src: /src/PROJ/src/apps/projsync.cpp:100,1
    - Dst: std::max
      Src: /src/PROJ/src/apps/projsync.cpp:101,1
    - Dst: std::max
      Src: /src/PROJ/src/apps/projsync.cpp:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: get_bbox
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 1
    functionsReached:
    - get
    - auto::size
    - is_number
    - std::move
    - std::vector::push_back
    - std::min
    - get_bbox
    - is_array
    - json::size
    - std::max
    - std::vector::empty
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> get_bbox(const json &j)
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: pj_stderr_proj_lib_deprecation_warning
      Src: /src/PROJ/src/apps/projsync.cpp:115,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/projsync.cpp:117,1
    - Dst: pj_get_relative_share_proj
      Src: /src/PROJ/src/apps/projsync.cpp:148,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:150,1
    - Dst: split
      Src: /src/PROJ/src/apps/projsync.cpp:174,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projsync.cpp:175,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projsync.cpp:178,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projsync.cpp:181,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projsync.cpp:182,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projsync.cpp:183,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/projsync.cpp:184,1
    - Dst: what
      Src: /src/PROJ/src/apps/projsync.cpp:187,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projsync.cpp:188,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/projsync.cpp:196,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/projsync.cpp:196,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projsync.cpp:204,1
    - Dst: ci_equal
      Src: /src/PROJ/src/apps/projsync.cpp:206,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projsync.cpp:211,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projsync.cpp:226,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:229,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:229,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:230,1
    - Dst: usage
      Src: /src/PROJ/src/apps/projsync.cpp:235,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:238,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/PROJ/src/apps/projsync.cpp:239,1
    - Dst: std::string::back
      Src: /src/PROJ/src/apps/projsync.cpp:241,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/apps/projsync.cpp:242,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projsync.cpp:242,1
    - Dst: proj_context_set_user_writable_directory
      Src: /src/PROJ/src/apps/projsync.cpp:246,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projsync.cpp:246,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:249,1
    - Dst: std::string::back
      Src: /src/PROJ/src/apps/projsync.cpp:249,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/apps/projsync.cpp:250,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/projsync.cpp:250,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/apps/projsync.cpp:258,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:259,1
    - Dst: proj_download_file
      Src: /src/PROJ/src/apps/projsync.cpp:261,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projsync.cpp:261,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:264,1
    - Dst: FileManager::open
      Src: /src/PROJ/src/apps/projsync.cpp:270,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projsync.cpp:270,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:274,1
    - Dst: auto::read_line
      Src: /src/PROJ/src/apps/projsync.cpp:281,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:285,1
    - Dst: auto::reset
      Src: /src/PROJ/src/apps/projsync.cpp:290,1
    - Dst: proj_context_get_database_metadata
      Src: /src/PROJ/src/apps/projsync.cpp:301,1
    - Dst: split
      Src: /src/PROJ/src/apps/projsync.cpp:304,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projsync.cpp:305,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/projsync.cpp:306,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:306,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/projsync.cpp:307,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:307,1
    - Dst: yyparse
      Src: /src/PROJ/src/apps/projsync.cpp:314,1
    - Dst: ParsingException
      Src: /src/PROJ/src/apps/projsync.cpp:316,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/apps/projsync.cpp:325,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:325,1
    - Dst: ParsingException
      Src: /src/PROJ/src/apps/projsync.cpp:326,1
    - Dst: is_object
      Src: /src/PROJ/src/apps/projsync.cpp:332,1
    - Dst: contains
      Src: /src/PROJ/src/apps/projsync.cpp:335,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/apps/projsync.cpp:339,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:343,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/apps/projsync.cpp:347,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:350,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:353,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/apps/projsync.cpp:355,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:357,1
    - Dst: split
      Src: /src/PROJ/src/apps/projsync.cpp:358,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projsync.cpp:359,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/projsync.cpp:360,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:360,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/projsync.cpp:361,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:361,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:381,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/apps/projsync.cpp:383,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:385,1
    - Dst: split
      Src: /src/PROJ/src/apps/projsync.cpp:386,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projsync.cpp:387,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/projsync.cpp:388,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:388,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/projsync.cpp:389,1
    - Dst: c_str
      Src: /src/PROJ/src/apps/projsync.cpp:389,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projsync.cpp:408,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:410,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/apps/projsync.cpp:414,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:417,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projsync.cpp:418,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:421,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/apps/projsync.cpp:423,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:424,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/apps/projsync.cpp:425,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:430,1
    - Dst: auto::type
      Src: /src/PROJ/src/apps/projsync.cpp:432,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:433,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:438,1
    - Dst: auto::find
      Src: /src/PROJ/src/apps/projsync.cpp:439,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:440,1
    - Dst: auto::find
      Src: /src/PROJ/src/apps/projsync.cpp:441,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:446,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projsync.cpp:447,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:448,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/projsync.cpp:449,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:454,1
    - Dst: auto::find
      Src: /src/PROJ/src/apps/projsync.cpp:455,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:456,1
    - Dst: auto::find
      Src: /src/PROJ/src/apps/projsync.cpp:457,1
    - Dst: contains
      Src: /src/PROJ/src/apps/projsync.cpp:465,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/apps/projsync.cpp:472,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:478,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/apps/projsync.cpp:482,1
    - Dst: auto::contains
      Src: /src/PROJ/src/apps/projsync.cpp:485,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/apps/projsync.cpp:489,1
    - Dst: auto::get
      Src: /src/PROJ/src/apps/projsync.cpp:493,1
    - Dst: is_array
      Src: /src/PROJ/src/apps/projsync.cpp:500,1
    - Dst: get_bbox
      Src: /src/PROJ/src/apps/projsync.cpp:501,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/projsync.cpp:502,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projsync.cpp:507,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projsync.cpp:507,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/projsync.cpp:517,1
    - Dst: std::min
      Src: /src/PROJ/src/apps/projsync.cpp:520,1
    - Dst: std::min
      Src: /src/PROJ/src/apps/projsync.cpp:521,1
    - Dst: std::max
      Src: /src/PROJ/src/apps/projsync.cpp:522,1
    - Dst: std::max
      Src: /src/PROJ/src/apps/projsync.cpp:523,1
    - Dst: get_bbox
      Src: /src/PROJ/src/apps/projsync.cpp:527,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projsync.cpp:529,1
    - Dst: simple_max
      Src: /src/PROJ/src/apps/projsync.cpp:540,1
    - Dst: simple_max
      Src: /src/PROJ/src/apps/projsync.cpp:541,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/projsync.cpp:575,1
    - Dst: proj_is_download_needed
      Src: /src/PROJ/src/apps/projsync.cpp:576,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/projsync.cpp:576,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/projsync.cpp:578,1
    - Dst: std::move
      Src: /src/PROJ/src/apps/projsync.cpp:578,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projsync.cpp:597,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/projsync.cpp:606,1
    - Dst: proj_download_file
      Src: /src/PROJ/src/apps/projsync.cpp:608,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/apps/projsync.cpp:608,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:611,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:615,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:622,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:625,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:632,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/projsync.cpp:635,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:642,1
    - Dst: what
      Src: /src/PROJ/src/apps/projsync.cpp:645,1
    - Dst: exit
      Src: /src/PROJ/src/apps/projsync.cpp:646,1
    CyclomaticComplexity: 191
    EdgeCount: 191
    ICount: 368
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 650
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/projsync.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - pj_get_default_ctx
    - std::string::c_str
    - auto::read_line
    - pj_stderr_proj_lib_deprecation_warning
    - is_object
    - auto::c_str
    - std::vector::size
    - is_array
    - proj_context_get_user_writable_directory
    - std::string::back
    - auto::is_object
    - split
    - std::set::insert
    - pj_get_relative_share_proj
    - FileManager::open
    - std::vector::empty
    - ParsingException
    - std::move
    - std::string::find
    - get_bbox
    - proj_context_get_database_metadata
    - std::string
    - std::string::size
    - what
    - auto::is_string
    - std::string::empty
    - proj_context_set_enable_network
    - proj_download_file
    - auto::size
    - std::string::resize
    - yyparse
    - std::vector::push_back
    - std::min
    - auto::find
    - usage
    - ci_equal
    - exit
    - contains
    - simple_max
    - atoi
    - c_str
    - proj_context_set_user_writable_directory
    - fabs
    - auto::contains
    - c_locale_stod
    - auto::is_array
    - auto::reset
    - auto::type
    - std::max
    - proj_is_download_needed
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cct.cpp:179,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cct.cpp:185,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cct.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - level
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: logger
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 2
    functionsReached:
    - proj_log_level
    - fprintf
    linkageType: ''
    returnType: void
    signature: void logger(void *data, int level, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/apps/cct.cpp:201,1
    - Dst: malloc
      Src: /src/PROJ/src/apps/cct.cpp:204,1
    - Dst: va_end
      Src: /src/PROJ/src/apps/cct.cpp:206,1
    - Dst: vsnprintf
      Src: /src/PROJ/src/apps/cct.cpp:210,1
    - Dst: logger
      Src: /src/PROJ/src/apps/cct.cpp:212,1
    - Dst: va_end
      Src: /src/PROJ/src/apps/cct.cpp:214,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - log_level
    - fmt
    argTypes:
    - PJ_LOG_LEVEL
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: print
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 4
    functionsReached:
    - va_end
    - free
    - logger
    - va_start
    - vsnprintf
    - malloc
    linkageType: ''
    returnType: void
    signature: void print(PJ_LOG_LEVEL log_level, const char *fmt, ...)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: pj_stderr_proj_lib_deprecation_warning
      Src: /src/PROJ/src/apps/cct.cpp:238,1
    - Dst: opt_parse
      Src: /src/PROJ/src/apps/cct.cpp:241,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:245,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cct.cpp:246,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:247,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:251,1
    - Dst: std::min
      Src: /src/PROJ/src/apps/cct.cpp:254,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:254,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cct.cpp:256,1
    - Dst: static_cast<PJ_LOG_LEVEL>
      Src: /src/PROJ/src/apps/cct.cpp:256,1
    - Dst: proj_log_func
      Src: /src/PROJ/src/apps/cct.cpp:258,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:260,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:261,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/cct.cpp:261,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:262,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:266,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/cct.cpp:267,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:267,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:269,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:270,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:271,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:275,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:277,1
    - Dst: proj_atof
      Src: /src/PROJ/src/apps/cct.cpp:278,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:278,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:282,1
    - Dst: proj_atof
      Src: /src/PROJ/src/apps/cct.cpp:283,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:283,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:287,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/cct.cpp:288,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:288,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:293,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/cct.cpp:294,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:294,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:297,1
    - Dst: sscanf
      Src: /src/PROJ/src/apps/cct.cpp:304,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:304,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:307,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/cct.cpp:308,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:309,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cct.cpp:311,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cct.cpp:320,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/cct.cpp:322,1
    - Dst: std::ifstream::open
      Src: /src/PROJ/src/apps/cct.cpp:323,1
    - Dst: std::ifstream::is_open
      Src: /src/PROJ/src/apps/cct.cpp:324,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cct.cpp:326,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/apps/cct.cpp:328,1
    - Dst: std::ifstream::eof
      Src: /src/PROJ/src/apps/cct.cpp:329,1
    - Dst: std::ifstream::read
      Src: /src/PROJ/src/apps/cct.cpp:331,1
    - Dst: std::string::append
      Src: /src/PROJ/src/apps/cct.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/apps/cct.cpp:332,1
    - Dst: std::ifstream::gcount
      Src: /src/PROJ/src/apps/cct.cpp:332,1
    - Dst: std::string::size
      Src: /src/PROJ/src/apps/cct.cpp:333,1
    - Dst: std::ifstream::close
      Src: /src/PROJ/src/apps/cct.cpp:334,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cct.cpp:336,1
    - Dst: std::ifstream::close
      Src: /src/PROJ/src/apps/cct.cpp:339,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/cct.cpp:343,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/cct.cpp:345,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/apps/cct.cpp:346,1
    - Dst: std::string::length
      Src: /src/PROJ/src/apps/cct.cpp:346,1
    - Dst: proj_get_authorities_from_database
      Src: /src/PROJ/src/apps/cct.cpp:348,1
    - Dst: proj_create_from_database
      Src: /src/PROJ/src/apps/cct.cpp:352,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cct.cpp:353,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cct.cpp:353,1
    - Dst: proj_string_list_destroy
      Src: /src/PROJ/src/apps/cct.cpp:358,1
    - Dst: proj_create
      Src: /src/PROJ/src/apps/cct.cpp:366,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cct.cpp:366,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/cct.cpp:368,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:377,1
    - Dst: proj_is_crs
      Src: /src/PROJ/src/apps/cct.cpp:379,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:380,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cct.cpp:381,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cct.cpp:383,1
    - Dst: proj_create_argv
      Src: /src/PROJ/src/apps/cct.cpp:403,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:407,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/cct.cpp:409,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/cct.cpp:409,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:410,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cct.cpp:412,1
    - Dst: proj_pj_info
      Src: /src/PROJ/src/apps/cct.cpp:416,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:417,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:423,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:424,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cct.cpp:426,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/apps/cct.cpp:437,1
    - Dst: calloc
      Src: /src/PROJ/src/apps/cct.cpp:437,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:439,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cct.cpp:440,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:441,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cct.cpp:443,1
    - Dst: opt_input_loop
      Src: /src/PROJ/src/apps/cct.cpp:450,1
    - Dst: fgets
      Src: /src/PROJ/src/apps/cct.cpp:452,1
    - Dst: opt_eof
      Src: /src/PROJ/src/apps/cct.cpp:453,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:457,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/src/apps/cct.cpp:464,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/src/apps/cct.cpp:465,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/src/apps/cct.cpp:466,1
    - Dst: parse_input_line
      Src: /src/PROJ/src/apps/cct.cpp:471,1
    - Dst: column
      Src: /src/PROJ/src/apps/cct.cpp:478,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cct.cpp:480,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:486,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:488,1
    - Dst: opt_filename
      Src: /src/PROJ/src/apps/cct.cpp:489,1
    - Dst: opt_record
      Src: /src/PROJ/src/apps/cct.cpp:489,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/cct.cpp:493,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/cct.cpp:494,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/cct.cpp:495,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/cct.cpp:497,1
    - Dst: proj_trans
      Src: /src/PROJ/src/apps/cct.cpp:499,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:503,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/cct.cpp:505,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/cct.cpp:505,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/apps/cct.cpp:506,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/apps/cct.cpp:509,1
    - Dst: column
      Src: /src/PROJ/src/apps/cct.cpp:512,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/cct.cpp:513,1
    - Dst: MAX
      Src: /src/PROJ/src/apps/cct.cpp:517,1
    - Dst: column
      Src: /src/PROJ/src/apps/cct.cpp:518,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/cct.cpp:522,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/cct.cpp:530,1
    - Dst: proj_degree_output
      Src: /src/PROJ/src/apps/cct.cpp:531,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/cct.cpp:532,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/apps/cct.cpp:533,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/apps/cct.cpp:534,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:536,1
    - Dst: print
      Src: /src/PROJ/src/apps/cct.cpp:541,1
    - Dst: fflush
      Src: /src/PROJ/src/apps/cct.cpp:546,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cct.cpp:549,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cct.cpp:552,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:553,1
    - Dst: free
      Src: /src/PROJ/src/apps/cct.cpp:554,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 202
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 556
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 1
    functionsReached:
    - proj_create_argv
    - std::string::c_str
    - std::ifstream::read
    - proj_degree_output
    - proj_string_list_destroy
    - proj_todeg
    - pj_stderr_proj_lib_deprecation_warning
    - proj_pj_info
    - proj_angular_output
    - proj_log_func
    - fgets
    - fclose
    - proj_atof
    - static_cast<uint8_t>
    - proj_errno_reset
    - std::string::substr
    - opt_parse
    - static_cast<size_t>
    - column
    - std::string::find
    - proj_create_from_database
    - proj_log_level
    - proj_destroy
    - strlen
    - proj_errno
    - std::string::size
    - std::ifstream::open
    - std::ifstream::is_open
    - proj_get_type
    - fprintf
    - printf
    - std::string::empty
    - sscanf
    - std::string::clear
    - pj_get_release
    - std::min
    - proj_is_crs
    - parse_input_line
    - fflush
    - calloc
    - print
    - std::ifstream::eof
    - std::string::length
    - exit
    - proj_trans
    - std::string::append
    - static_cast<char *>
    - atoi
    - MAX
    - proj_errno_restore
    - free
    - proj_get_authorities_from_database
    - std::ifstream::close
    - proj_errno_string
    - std::ifstream::gcount
    - opt_filename
    - proj_create
    - opt_record
    - opt_arg
    - opt_input_loop
    - proj_angular_input
    - opt_given
    - opt_eof
    - proj_torad
    - static_cast<PJ_LOG_LEVEL>
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/apps/cct.cpp:564,1
    - Dst: isspace
      Src: /src/PROJ/src/apps/cct.cpp:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 572
    functionName: column
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 1
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *column(const char *buf, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/cct.cpp:575,1
    - Dst: column
      Src: /src/PROJ/src/apps/cct.cpp:575,1
    - Dst: const_cast<const char *>
      Src: /src/PROJ/src/apps/cct.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: column
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 2
    functionsReached:
    - const_cast<const char *>
    - column
    - const_cast<char *>
    linkageType: ''
    returnType: char
    signature: char *column(char *buf, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: column
      Src: /src/PROJ/src/apps/cct.cpp:582,1
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/cct.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - args
    - col
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: cold
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 0
    functionsReached:
    - column
    - proj_strtod
    linkageType: ''
    returnType: double
    signature: double cold(const char *args, int col)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord
      Src: /src/PROJ/src/apps/cct.cpp:591,1
    - Dst: cold
      Src: /src/PROJ/src/apps/cct.cpp:598,1
    - Dst: cold
      Src: /src/PROJ/src/apps/cct.cpp:599,1
    - Dst: cold
      Src: /src/PROJ/src/apps/cct.cpp:601,1
    - Dst: cold
      Src: /src/PROJ/src/apps/cct.cpp:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - columns
    - fixed_height
    - fixed_time
    argTypes:
    - char*
    - int*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 610
    functionName: parse_input_line
    functionSourceFile: /src/PROJ/src/apps/cct.cpp
    functionUses: 1
    functionsReached:
    - cold
    - proj_coord
    linkageType: ''
    returnType: PJ_COORD
    signature: "PJ_COORD parse_input_line(const char *buf, int *columns, double fixed_height,\n
      \                         double fixed_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/PROJ/src/apps/proj.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: PJ_INVERSE
    functionSourceFile: /src/PROJ/src/apps/proj.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PJ_INVERSE(P)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/src/apps/proj.cpp:72,1
    - Dst: fgets
      Src: /src/PROJ/src/apps/proj.cpp:75,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj.cpp:78,1
    - Dst: strcat
      Src: /src/PROJ/src/apps/proj.cpp:80,1
    - Dst: fgetc
      Src: /src/PROJ/src/apps/proj.cpp:82,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:88,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:109,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:111,1
    - Dst: proj_factors
      Src: /src/PROJ/src/apps/proj.cpp:123,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/proj.cpp:124,1
    - Dst: proj_factors
      Src: /src/PROJ/src/apps/proj.cpp:131,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/proj.cpp:132,1
    - Dst: fwrite
      Src: /src/PROJ/src/apps/proj.cpp:142,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:145,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:148,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/proj.cpp:148,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:150,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:151,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/proj.cpp:151,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:154,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/proj.cpp:154,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:156,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:157,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/proj.cpp:157,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/proj.cpp:163,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/proj.cpp:168,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:175,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:176,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:177,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:179,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:180,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:181,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:188,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:193,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:195,1
    - Dst: fflush
      Src: /src/PROJ/src/apps/proj.cpp:196,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 104
    argCount: 1
    argNames:
    - fid
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 198
    functionName: process
    functionSourceFile: /src/PROJ/src/apps/proj.cpp
    functionUses: 0
    functionsReached:
    - printf
    - fputs
    - fwrite
    - strcat
    - strchr
    - rtodms
    - proj_angular_input
    - fflush
    - proj_angular_output
    - limited_fprintf_for_number
    - fgets
    - putchar
    - proj_errno
    - proj_factors
    - fread
    - fgetc
    linkageType: ''
    returnType: void
    signature: void process(FILE *fid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:212,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/proj.cpp:215,1
    - Dst: fgets
      Src: /src/PROJ/src/apps/proj.cpp:218,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj.cpp:221,1
    - Dst: strcat
      Src: /src/PROJ/src/apps/proj.cpp:223,1
    - Dst: fgetc
      Src: /src/PROJ/src/apps/proj.cpp:225,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:230,1
    - Dst: PJ_INVERSE
      Src: /src/PROJ/src/apps/proj.cpp:242,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:243,1
    - Dst: strtod
      Src: /src/PROJ/src/apps/proj.cpp:246,1
    - Dst: strtod
      Src: /src/PROJ/src/apps/proj.cpp:247,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:249,1
    - Dst: pj_inv
      Src: /src/PROJ/src/apps/proj.cpp:261,1
    - Dst: proj_dmstor
      Src: /src/PROJ/src/apps/proj.cpp:263,1
    - Dst: proj_dmstor
      Src: /src/PROJ/src/apps/proj.cpp:264,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:266,1
    - Dst: pj_fwd
      Src: /src/PROJ/src/apps/proj.cpp:274,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/apps/proj.cpp:281,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:282,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/proj.cpp:282,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/apps/proj.cpp:282,1
    - Dst: proj_factors
      Src: /src/PROJ/src/apps/proj.cpp:289,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/proj.cpp:290,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:291,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:296,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:298,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:299,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/src/apps/proj.cpp:299,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:301,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:302,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:303,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/src/apps/proj.cpp:303,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:305,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:306,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:308,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:309,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:310,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:312,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:313,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:314,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:317,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:319,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:321,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:323,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:325,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/proj.cpp:326,1
    - Dst: proj_rtodms2
      Src: /src/PROJ/src/apps/proj.cpp:327,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:329,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:330,1
    - Dst: fflush
      Src: /src/PROJ/src/apps/proj.cpp:333,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 1
    argNames:
    - fid
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 201
    functionDepth: 7
    functionLinenumber: 201
    functionLinenumberEnd: 335
    functionName: vprocess
    functionSourceFile: /src/PROJ/src/apps/proj.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno
    - fgets
    - fputs
    - pj_inv
    - pj_fwd
    - emess
    - putchar
    - proj_errno
    - proj_factors
    - proj_dmstor
    - printf
    - proj_rtodms2
    - PJ_INVERSE
    - strcat
    - fflush
    - fgetc
    - proj_errno_string
    - strchr
    - limited_fprintf_for_number
    - proj_errno_reset
    - strtod
    linkageType: ''
    returnType: void
    signature: void vprocess(FILE *fid)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: pj_stderr_proj_lib_deprecation_warning
      Src: /src/PROJ/src/apps/proj.cpp:344,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:347,1
    - Dst: strrchr
      Src: /src/PROJ/src/apps/proj.cpp:350,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/proj.cpp:354,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/proj.cpp:355,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/proj.cpp:358,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/proj.cpp:358,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:359,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj.cpp:369,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:400,1
    - Dst: proj_list_operations
      Src: /src/PROJ/src/apps/proj.cpp:409,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/proj.cpp:410,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/proj.cpp:411,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/proj.cpp:412,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:415,1
    - Dst: puts
      Src: /src/PROJ/src/apps/proj.cpp:417,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:421,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:422,1
    - Dst: proj_list_operations
      Src: /src/PROJ/src/apps/proj.cpp:429,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/proj.cpp:430,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:431,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/apps/proj.cpp:437,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:438,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/src/apps/proj.cpp:441,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:445,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/src/apps/proj.cpp:451,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:453,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:454,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:460,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/proj.cpp:467,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/proj.cpp:468,1
    - Dst: atof
      Src: /src/PROJ/src/apps/proj.cpp:469,1
    - Dst: atof
      Src: /src/PROJ/src/apps/proj.cpp:472,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:474,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/proj.cpp:481,1
    - Dst: set_rtodms
      Src: /src/PROJ/src/apps/proj.cpp:482,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:485,1
    - Dst: snprintf
      Src: /src/PROJ/src/apps/proj.cpp:496,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/proj.cpp:497,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:507,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/proj.cpp:513,1
    - Dst: validate_form_string_for_numbers
      Src: /src/PROJ/src/apps/proj.cpp:519,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:520,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:521,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/apps/proj.cpp:531,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/apps/proj.cpp:533,1
    - Dst: proj_create
      Src: /src/PROJ/src/apps/proj.cpp:540,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/proj.cpp:540,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/proj.cpp:541,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/src/apps/proj.cpp:544,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/proj.cpp:546,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:547,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/proj.cpp:549,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:551,1
    - Dst: dynamic_cast<const NS_PROJ::crs::ProjectedCRS *>
      Src: /src/PROJ/src/apps/proj.cpp:557,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/apps/proj.cpp:558,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/apps/proj.cpp:560,1
    - Dst: direction
      Src: /src/PROJ/src/apps/proj.cpp:560,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/apps/proj.cpp:565,1
    - Dst: assert
      Src: /src/PROJ/src/apps/proj.cpp:566,1
    - Dst: proj_get_prime_meridian
      Src: /src/PROJ/src/apps/proj.cpp:567,1
    - Dst: proj_prime_meridian_get_parameters
      Src: /src/PROJ/src/apps/proj.cpp:569,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:571,1
    - Dst: proj_create_ellipsoidal_2D_cs
      Src: /src/PROJ/src/apps/proj.cpp:573,1
    - Dst: proj_get_ellipsoid
      Src: /src/PROJ/src/apps/proj.cpp:576,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/PROJ/src/apps/proj.cpp:579,1
    - Dst: proj_create_geographic_crs
      Src: /src/PROJ/src/apps/proj.cpp:582,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/apps/proj.cpp:584,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:587,1
    - Dst: proj_crs_get_datum
      Src: /src/PROJ/src/apps/proj.cpp:589,1
    - Dst: proj_crs_get_datum_ensemble
      Src: /src/PROJ/src/apps/proj.cpp:591,1
    - Dst: proj_create_geographic_crs_from_datum
      Src: /src/PROJ/src/apps/proj.cpp:592,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:594,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:595,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:597,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/src/apps/proj.cpp:598,1
    - Dst: proj_crs_get_coordoperation
      Src: /src/PROJ/src/apps/proj.cpp:601,1
    - Dst: proj_create_cartesian_2D_cs
      Src: /src/PROJ/src/apps/proj.cpp:602,1
    - Dst: proj_create_projected_crs
      Src: /src/PROJ/src/apps/proj.cpp:604,1
    - Dst: assert
      Src: /src/PROJ/src/apps/proj.cpp:606,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:607,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:608,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:609,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/src/apps/proj.cpp:610,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:614,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:615,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:617,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:619,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:621,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj.cpp:625,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/proj.cpp:629,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj.cpp:629,1
    - Dst: proj_create_argv
      Src: /src/PROJ/src/apps/proj.cpp:633,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/apps/proj.cpp:633,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/apps/proj.cpp:633,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/apps/proj.cpp:634,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:635,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/proj.cpp:636,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/apps/proj.cpp:636,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/proj.cpp:641,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:642,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:644,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/proj.cpp:647,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:648,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:650,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/proj.cpp:655,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/proj.cpp:656,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:662,1
    - Dst: pj_pr_list
      Src: /src/PROJ/src/apps/proj.cpp:668,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:670,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:672,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:673,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:675,1
    - Dst: sqrt
      Src: /src/PROJ/src/apps/proj.cpp:676,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:677,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj.cpp:679,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/proj.cpp:680,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/proj.cpp:682,1
    - Dst: SET_BINARY_MODE
      Src: /src/PROJ/src/apps/proj.cpp:696,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj.cpp:703,1
    - Dst: SET_BINARY_MODE
      Src: /src/PROJ/src/apps/proj.cpp:706,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/proj.cpp:710,1
    - Dst: emess
      Src: /src/PROJ/src/apps/proj.cpp:711,1
    - Dst: vprocess
      Src: /src/PROJ/src/apps/proj.cpp:718,1
    - Dst: process
      Src: /src/PROJ/src/apps/proj.cpp:720,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/proj.cpp:721,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:726,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/proj.cpp:728,1
    - Dst: exit
      Src: /src/PROJ/src/apps/proj.cpp:730,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 289
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (geodetic_crs)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/PROJ/src/apps/proj.cpp
    - condition: (projCRSNormalized)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/PROJ/src/apps/proj.cpp
    constantsTouched: []
    func_position:
      end: 731
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 731
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/proj.cpp
    functionUses: 1
    functionsReached:
    - proj_prime_meridian_get_parameters
    - strncmp
    - proj_list_ellps
    - std::string::c_str
    - auto::coordinateSystem
    - snprintf
    - pj_stderr_proj_lib_deprecation_warning
    - proj_crs_get_sub_crs
    - std::vector::size
    - proj_unit_list_destroy
    - proj_context_errno
    - proj_get_prime_meridian
    - proj_angular_output
    - std::vector::data
    - fclose
    - proj_crs_get_datum
    - std::vector::empty
    - proj_create_ellipsoidal_2D_cs
    - vprocess
    - process
    - emess
    - proj_destroy
    - assert
    - proj_create_geographic_crs_from_datum
    - proj_create_crs_to_crs_from_pj
    - putchar
    - strlen
    - limited_fprintf_for_number
    - SET_BINARY_MODE
    - proj_list_operations
    - const_cast<char *>
    - direction
    - fprintf
    - proj_get_type
    - proj_ellipsoid_get_parameters
    - printf
    - pj_pr_list
    - sqrt
    - atof
    - static_cast<int>
    - pj_get_release
    - std::vector::push_back
    - proj_create_geographic_crs
    - isdigit
    - proj_get_name
    - proj_crs_get_datum_ensemble
    - proj_get_units_from_database
    - exit
    - validate_form_string_for_numbers
    - proj_crs_get_coordoperation
    - atoi
    - proj_get_source_crs
    - set_rtodms
    - proj_create_cartesian_2D_cs
    - proj_errno_string
    - strcmp
    - proj_create
    - PJ*::iso_obj::get
    - proj_create_projected_crs
    - strrchr
    - dynamic_cast<const NS_PROJ::crs::ProjectedCRS *>
    - proj_context_use_proj4_init_rules
    - proj_get_ellipsoid
    - proj_angular_input
    - proj_create_argv
    - fopen
    - puts
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - opt
    argTypes:
    - OPTARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: opt_filename
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opt_filename(OPTARGS *opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/PROJ/src/apps/optargpm.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opt
    argTypes:
    - OPTARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: opt_eof
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached:
    - feof
    linkageType: ''
    returnType: int
    signature: int opt_eof(OPTARGS *opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opt
    argTypes:
    - OPTARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: opt_record
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_record(OPTARGS *opt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/PROJ/src/apps/optargpm.h:276,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/optargpm.h:296,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/optargpm.h:302,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:304,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - opt
    - binary
    - gotError
    argTypes:
    - OPTARGS*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 311
    functionName: opt_input_loop
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached:
    - fprintf
    - fclose
    - fopen
    - feof
    linkageType: ''
    returnType: int
    signature: int opt_input_loop(OPTARGS *opt, int binary, bool *gotError)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/apps/optargpm.h:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - opt
    - ordinal
    argTypes:
    - OPTARGS*
    - int
    assertStmts:
    - condition: (ordinal >= 0 && ordinal < OPTARG_SIZE)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/PROJ/src/apps/optargpm.h
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: opt_is_flag
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int opt_is_flag(OPTARGS *opt, int ordinal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/apps/optargpm.h:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - opt
    - ordinal
    argTypes:
    - OPTARGS*
    - int
    assertStmts:
    - condition: (ordinal >= 0 && ordinal < OPTARG_SIZE)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/PROJ/src/apps/optargpm.h
    constantsTouched: []
    func_position:
      end: 336
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 336
    functionName: opt_raise_flag
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int opt_raise_flag(OPTARGS *opt, int ordinal)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:348,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:362,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:364,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:368,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:369,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:383,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:385,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:389,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:390,1
    - Dst: opt_eof
      Src: /src/PROJ/src/apps/optargpm.h:398,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 2
    argNames:
    - opt
    - option
    argTypes:
    - OPTARGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 400
    functionName: opt_ordinal
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 0
    functionsReached:
    - opt_eof
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int opt_ordinal(OPTARGS *opt, const char *option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_ordinal
      Src: /src/PROJ/src/apps/optargpm.h:404,1
    - Dst: opt_is_flag
      Src: /src/PROJ/src/apps/optargpm.h:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - opt
    - option
    argTypes:
    - OPTARGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: opt_given
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached:
    - opt_ordinal
    - opt_is_flag
    linkageType: ''
    returnType: int
    signature: int opt_given(OPTARGS *opt, const char *option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_ordinal
      Src: /src/PROJ/src/apps/optargpm.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opt
    - option
    argTypes:
    - OPTARGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: opt_arg
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached:
    - opt_ordinal
    linkageType: ''
    returnType: char
    signature: char *opt_arg(OPTARGS *opt, const char *option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/PROJ/src/apps/optargpm.h:425,1
    - Dst: strrchr
      Src: /src/PROJ/src/apps/optargpm.h:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - full_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: opt_strip_path
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *opt_strip_path(const char *full_name)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/src/apps/optargpm.h:446,1
    - Dst: opt_strip_path
      Src: /src/PROJ/src/apps/optargpm.h:452,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:455,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:459,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:473,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/optargpm.h:477,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:478,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:481,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:487,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/optargpm.h:491,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:492,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:495,1
    - Dst: strcpy
      Src: /src/PROJ/src/apps/optargpm.h:504,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:509,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:510,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:519,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:520,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/optargpm.h:532,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/optargpm.h:563,1
    - Dst: opt_ordinal
      Src: /src/PROJ/src/apps/optargpm.h:566,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:568,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:569,1
    - Dst: opt_is_flag
      Src: /src/PROJ/src/apps/optargpm.h:576,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:577,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:579,1
    - Dst: opt_is_flag
      Src: /src/PROJ/src/apps/optargpm.h:587,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:590,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:592,1
    - Dst: opt_is_flag
      Src: /src/PROJ/src/apps/optargpm.h:600,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:601,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:605,1
    - Dst: opt_raise_flag
      Src: /src/PROJ/src/apps/optargpm.h:610,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:616,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:617,1
    - Dst: opt_is_flag
      Src: /src/PROJ/src/apps/optargpm.h:622,1
    - Dst: opt_raise_flag
      Src: /src/PROJ/src/apps/optargpm.h:623,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:633,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:635,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/optargpm.h:656,1
    - Dst: free
      Src: /src/PROJ/src/apps/optargpm.h:672,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/optargpm.h:673,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 156
    argCount: 6
    argNames:
    - argc
    - argv
    - flags
    - keys
    - longflags
    - longkeys
    argTypes:
    - int
    - char**
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 689
    functionName: opt_parse
    functionSourceFile: /src/PROJ/src/apps/optargpm.h
    functionUses: 1
    functionsReached:
    - opt_raise_flag
    - free
    - strcpy
    - opt_is_flag
    - strcmp
    - strchr
    - opt_ordinal
    - opt_strip_path
    - calloc
    - strlen
    - fprintf
    linkageType: ''
    returnType: OPTARGS
    signature: "OPTARGS *opt_parse(int argc, char **argv, const char *flags, const
      char *keys,\n                   const char **longflags, const char **longkeys)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:29,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:31,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:33,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:33,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:35,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p
    - l
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: printLL
    functionSourceFile: /src/PROJ/src/apps/geod.cpp
    functionUses: 0
    functionsReached:
    - rtodms
    - fputs
    - limited_fprintf_for_number
    linkageType: ''
    returnType: void
    signature: void printLL(double p, double l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:41,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/geod.cpp:42,1
    - Dst: adjlon
      Src: /src/PROJ/src/apps/geod.cpp:44,1
    - Dst: geod_pre
      Src: /src/PROJ/src/apps/geod.cpp:45,1
    - Dst: geod_for
      Src: /src/PROJ/src/apps/geod.cpp:46,1
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:47,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/geod.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: do_arc
    functionSourceFile: /src/PROJ/src/apps/geod.cpp
    functionUses: 0
    functionsReached:
    - printLL
    - geod_pre
    - geod_for
    - adjlon
    - putchar
    linkageType: ''
    returnType: void
    signature: void do_arc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:57,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/geod.cpp:58,1
    - Dst: geod_for
      Src: /src/PROJ/src/apps/geod.cpp:60,1
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:61,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/geod.cpp:62,1
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:64,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/geod.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: do_geod
    functionSourceFile: /src/PROJ/src/apps/geod.cpp
    functionUses: 0
    functionsReached:
    - printLL
    - putchar
    - geod_for
    linkageType: ''
    returnType: void
    signature: void do_geod(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/PROJ/src/apps/geod.cpp:73,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/geod.cpp:75,1
    - Dst: strcat
      Src: /src/PROJ/src/apps/geod.cpp:77,1
    - Dst: fgetc
      Src: /src/PROJ/src/apps/geod.cpp:79,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:83,1
    - Dst: dmstor
      Src: /src/PROJ/src/apps/geod.cpp:86,1
    - Dst: dmstor
      Src: /src/PROJ/src/apps/geod.cpp:87,1
    - Dst: dmstor
      Src: /src/PROJ/src/apps/geod.cpp:89,1
    - Dst: dmstor
      Src: /src/PROJ/src/apps/geod.cpp:90,1
    - Dst: geod_inv
      Src: /src/PROJ/src/apps/geod.cpp:91,1
    - Dst: dmstor
      Src: /src/PROJ/src/apps/geod.cpp:93,1
    - Dst: strtod
      Src: /src/PROJ/src/apps/geod.cpp:94,1
    - Dst: geod_pre
      Src: /src/PROJ/src/apps/geod.cpp:95,1
    - Dst: geod_for
      Src: /src/PROJ/src/apps/geod.cpp:96,1
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:107,1
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:109,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:112,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:115,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:118,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:121,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:121,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:123,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:123,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:125,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:130,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:133,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:136,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:139,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:139,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:141,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:141,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:143,1
    - Dst: printLL
      Src: /src/PROJ/src/apps/geod.cpp:147,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/geod.cpp:150,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:153,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/geod.cpp:153,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/geod.cpp:155,1
    - Dst: fflush
      Src: /src/PROJ/src/apps/geod.cpp:156,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - fid
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 158
    functionName: process
    functionSourceFile: /src/PROJ/src/apps/geod.cpp
    functionUses: 1
    functionsReached:
    - fputs
    - geod_pre
    - printLL
    - geod_for
    - strcat
    - strchr
    - rtodms
    - fflush
    - dmstor
    - fgets
    - limited_fprintf_for_number
    - geod_inv
    - strtod
    - fgetc
    linkageType: ''
    returnType: void
    signature: void process(FILE *fid)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/PROJ/src/apps/geod.cpp:169,1
    - Dst: strrchr
      Src: /src/PROJ/src/apps/geod.cpp:172,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/geod.cpp:176,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/geod.cpp:177,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/geod.cpp:180,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/geod.cpp:180,1
    - Dst: exit
      Src: /src/PROJ/src/apps/geod.cpp:181,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/geod.cpp:190,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:202,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/geod.cpp:206,1
    - Dst: set_rtodms
      Src: /src/PROJ/src/apps/geod.cpp:207,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:210,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:215,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/apps/geod.cpp:227,1
    - Dst: printf
      Src: /src/PROJ/src/apps/geod.cpp:228,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/src/apps/geod.cpp:231,1
    - Dst: printf
      Src: /src/PROJ/src/apps/geod.cpp:235,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/src/apps/geod.cpp:241,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:243,1
    - Dst: exit
      Src: /src/PROJ/src/apps/geod.cpp:244,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:249,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:258,1
    - Dst: geod_set
      Src: /src/PROJ/src/apps/geod.cpp:263,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:265,1
    - Dst: do_arc
      Src: /src/PROJ/src/apps/geod.cpp:267,1
    - Dst: do_geod
      Src: /src/PROJ/src/apps/geod.cpp:269,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/geod.cpp:272,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/geod.cpp:276,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/geod.cpp:278,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod.cpp:279,1
    - Dst: process
      Src: /src/PROJ/src/apps/geod.cpp:285,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/geod.cpp:286,1
    - Dst: exit
      Src: /src/PROJ/src/apps/geod.cpp:290,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 109
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 291
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/geod.cpp
    functionUses: 1
    functionsReached:
    - strncmp
    - proj_list_ellps
    - do_arc
    - proj_unit_list_destroy
    - fclose
    - process
    - emess
    - geod_set
    - const_cast<char *>
    - fprintf
    - printf
    - pj_get_release
    - isdigit
    - do_geod
    - proj_get_units_from_database
    - exit
    - set_rtodms
    - strrchr
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format_idx
    - ','
    - arg_idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: EMESS_PRINT_FUNC_FORMAT
    functionSourceFile: /src/PROJ/src/apps/emess.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EMESS_PRINT_FUNC_FORMAT(format_idx, arg_idx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/PROJ/src/apps/cs2cs.cpp:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/src/apps/cs2cs.cpp:119,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/src/apps/cs2cs.cpp:120,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/src/apps/cs2cs.cpp:121,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/cs2cs.cpp:127,1
    - Dst: strcat
      Src: /src/PROJ/src/apps/cs2cs.cpp:129,1
    - Dst: fgetc
      Src: /src/PROJ/src/apps/cs2cs.cpp:131,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:135,1
    - Dst: strtod
      Src: /src/PROJ/src/apps/cs2cs.cpp:147,1
    - Dst: strtod
      Src: /src/PROJ/src/apps/cs2cs.cpp:157,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cs2cs.cpp:161,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cs2cs.cpp:166,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:183,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:185,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/cs2cs.cpp:190,1
    - Dst: proj_trans
      Src: /src/PROJ/src/apps/cs2cs.cpp:202,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:209,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:219,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:219,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:221,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:222,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:222,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:225,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:225,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:227,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:228,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:228,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:232,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:232,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:233,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:234,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:234,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:236,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:236,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:237,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/cs2cs.cpp:238,1
    - Dst: rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:238,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/cs2cs.cpp:247,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:248,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/cs2cs.cpp:249,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/cs2cs.cpp:251,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:252,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/cs2cs.cpp:253,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:257,1
    - Dst: limited_fprintf_for_number
      Src: /src/PROJ/src/apps/cs2cs.cpp:259,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:261,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:263,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:265,1
    - Dst: fflush
      Src: /src/PROJ/src/apps/cs2cs.cpp:266,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 1
    argNames:
    - fid
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 268
    functionName: process
    functionSourceFile: /src/PROJ/src/apps/cs2cs.cpp
    functionUses: 2
    functionsReached:
    - printf
    - fputs
    - static_cast<uint8_t>
    - fabs
    - strcat
    - strchr
    - rtodms
    - fflush
    - limited_fprintf_for_number
    - fprintf
    - fgets
    - putchar
    - proj_trans
    - strtod
    - fgetc
    linkageType: ''
    returnType: void
    signature: void process(FILE *fid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/cs2cs.cpp:282,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/apps/cs2cs.cpp:284,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/cs2cs.cpp:285,1
    - Dst: proj_clone
      Src: /src/PROJ/src/apps/cs2cs.cpp:287,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/apps/cs2cs.cpp:291,1
    - Dst: assert
      Src: /src/PROJ/src/apps/cs2cs.cpp:292,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/apps/cs2cs.cpp:295,1
    - Dst: ci_find
      Src: /src/PROJ/src/apps/cs2cs.cpp:305,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/cs2cs.cpp:305,1
    - Dst: ci_find
      Src: /src/PROJ/src/apps/cs2cs.cpp:307,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/cs2cs.cpp:308,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - crs_in
    - isLongLatCS
    - toRadians
    - isLatFirst
    argTypes:
    - PJ*
    - bool
    - double
    - bool
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/PROJ/src/apps/cs2cs.cpp
    constantsTouched: []
    func_position:
      end: 315
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 315
    functionName: instantiate_crs
    functionSourceFile: /src/PROJ/src/apps/cs2cs.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_info
    - assert
    - proj_destroy
    - ci_find
    - std::string
    - proj_crs_get_coordinate_system
    - proj_clone
    - proj_get_source_crs
    - proj_get_type
    linkageType: ''
    returnType: PJ
    signature: "PJ *instantiate_crs(const PJ *crs_in, bool &isLongLatCS,\n                           double
      &toRadians, bool &isLatFirst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/cs2cs.cpp:324,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/apps/cs2cs.cpp:329,1
    - Dst: assert
      Src: /src/PROJ/src/apps/cs2cs.cpp:330,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/cs2cs.cpp:331,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:334,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/apps/cs2cs.cpp:338,1
    - Dst: assert
      Src: /src/PROJ/src/apps/cs2cs.cpp:339,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/apps/cs2cs.cpp:342,1
    - Dst: ci_find
      Src: /src/PROJ/src/apps/cs2cs.cpp:351,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/cs2cs.cpp:351,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - src
    - toRadians
    - isLatFirst
    argTypes:
    - PJ*
    - double
    - bool
    assertStmts:
    - condition: (base)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/PROJ/src/apps/cs2cs.cpp
    - condition: (cs)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/PROJ/src/apps/cs2cs.cpp
    constantsTouched: []
    func_position:
      end: 357
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 357
    functionName: get_geog_crs_proj_string_from_proj_crs
    functionSourceFile: /src/PROJ/src/apps/cs2cs.cpp
    functionUses: 0
    functionsReached:
    - proj_cs_get_axis_info
    - assert
    - proj_destroy
    - ci_find
    - std::string
    - proj_crs_get_coordinate_system
    - proj_get_source_crs
    - proj_get_type
    linkageType: ''
    returnType: PJ
    signature: "PJ *get_geog_crs_proj_string_from_proj_crs(const PJ *src,\n                                                  double
      &toRadians,\n                                                  bool &isLatFirst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/cs2cs.cpp:362,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/apps/cs2cs.cpp:369,1
    - Dst: assert
      Src: /src/PROJ/src/apps/cs2cs.cpp:370,1
    - Dst: proj_cs_get_axis_count
      Src: /src/PROJ/src/apps/cs2cs.cpp:371,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - crs
    argTypes:
    - PJ*
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/PROJ/src/apps/cs2cs.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 376
    functionName: is3DCRS
    functionSourceFile: /src/PROJ/src/apps/cs2cs.cpp
    functionUses: 1
    functionsReached:
    - proj_cs_get_axis_count
    - proj_destroy
    - assert
    - proj_crs_get_coordinate_system
    - proj_get_type
    linkageType: ''
    returnType: bool
    signature: bool is3DCRS(const PJ *crs)
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: pj_stderr_proj_lib_deprecation_warning
      Src: /src/PROJ/src/apps/cs2cs.cpp:392,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:395,1
    - Dst: getenv
      Src: /src/PROJ/src/apps/cs2cs.cpp:400,1
    - Dst: getenv
      Src: /src/PROJ/src/apps/cs2cs.cpp:404,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/apps/cs2cs.cpp:405,1
    - Dst: strrchr
      Src: /src/PROJ/src/apps/cs2cs.cpp:408,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:412,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cs2cs.cpp:414,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/cs2cs.cpp:414,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:415,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:442,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:446,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:447,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:450,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:454,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:455,1
    - Dst: split
      Src: /src/PROJ/src/apps/cs2cs.cpp:458,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/cs2cs.cpp:459,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:462,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:466,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:466,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:467,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:467,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/cs2cs.cpp:473,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/cs2cs.cpp:474,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/cs2cs.cpp:477,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/cs2cs.cpp:478,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/src/apps/cs2cs.cpp:481,1
    - Dst: what
      Src: /src/PROJ/src/apps/cs2cs.cpp:485,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:486,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:488,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:492,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:493,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:496,1
    - Dst: what
      Src: /src/PROJ/src/apps/cs2cs.cpp:498,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:500,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:502,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:506,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:507,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:510,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:512,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:513,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:516,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:519,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:521,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:525,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:526,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:529,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:533,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:534,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/cs2cs.cpp:542,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:557,1
    - Dst: proj_list_operations
      Src: /src/PROJ/src/apps/cs2cs.cpp:566,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:567,1
    - Dst: puts
      Src: /src/PROJ/src/apps/cs2cs.cpp:569,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:573,1
    - Dst: putchar
      Src: /src/PROJ/src/apps/cs2cs.cpp:574,1
    - Dst: proj_list_operations
      Src: /src/PROJ/src/apps/cs2cs.cpp:581,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:582,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:583,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/apps/cs2cs.cpp:589,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:590,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/src/apps/cs2cs.cpp:593,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:597,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:603,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/cs2cs.cpp:605,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/src/apps/cs2cs.cpp:609,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:610,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:612,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:613,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:619,1
    - Dst: set_rtodms
      Src: /src/PROJ/src/apps/cs2cs.cpp:629,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:632,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/cs2cs.cpp:650,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cs2cs.cpp:652,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/cs2cs.cpp:652,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cs2cs.cpp:654,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/cs2cs.cpp:654,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cs2cs.cpp:656,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/cs2cs.cpp:656,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cs2cs.cpp:658,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/cs2cs.cpp:658,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/apps/cs2cs.cpp:660,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/cs2cs.cpp:660,1
    - Dst: snprintf
      Src: /src/PROJ/src/apps/cs2cs.cpp:667,1
    - Dst: atoi
      Src: /src/PROJ/src/apps/cs2cs.cpp:668,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:672,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:678,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:680,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/cs2cs.cpp:686,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:691,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:695,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:701,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/cs2cs.cpp:707,1
    - Dst: validate_form_string_for_numbers
      Src: /src/PROJ/src/apps/cs2cs.cpp:710,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:711,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:712,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:716,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:718,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:722,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/cs2cs.cpp:726,1
    - Dst: what
      Src: /src/PROJ/src/apps/cs2cs.cpp:729,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:730,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/cs2cs.cpp:735,1
    - Dst: std::string::find
      Src: /src/PROJ/src/apps/cs2cs.cpp:736,1
    - Dst: split
      Src: /src/PROJ/src/apps/cs2cs.cpp:737,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/cs2cs.cpp:738,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/cs2cs.cpp:741,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/cs2cs.cpp:742,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/cs2cs.cpp:748,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/cs2cs.cpp:749,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/cs2cs.cpp:749,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/src/apps/cs2cs.cpp:750,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/cs2cs.cpp:751,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/cs2cs.cpp:752,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/cs2cs.cpp:753,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/cs2cs.cpp:753,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/cs2cs.cpp:754,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/src/apps/cs2cs.cpp:757,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/cs2cs.cpp:758,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/cs2cs.cpp:760,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/cs2cs.cpp:760,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/cs2cs.cpp:761,1
    - Dst: auto::front
      Src: /src/PROJ/src/apps/cs2cs.cpp:762,1
    - Dst: auto::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:764,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:767,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/apps/cs2cs.cpp:774,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/apps/cs2cs.cpp:774,1
    - Dst: auto::description
      Src: /src/PROJ/src/apps/cs2cs.cpp:779,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:781,1
    - Dst: what
      Src: /src/PROJ/src/apps/cs2cs.cpp:786,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:788,1
    - Dst: ExtentPtr::geographicElements
      Src: /src/PROJ/src/apps/cs2cs.cpp:793,1
    - Dst: auto::size
      Src: /src/PROJ/src/apps/cs2cs.cpp:794,1
    - Dst: std::dynamic_pointer_cast<GeographicBoundingBox>
      Src: /src/PROJ/src/apps/cs2cs.cpp:795,1
    - Dst: as_nullable
      Src: /src/PROJ/src/apps/cs2cs.cpp:796,1
    - Dst: proj_area_create
      Src: /src/PROJ/src/apps/cs2cs.cpp:798,1
    - Dst: proj_area_set_bbox
      Src: /src/PROJ/src/apps/cs2cs.cpp:799,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/apps/cs2cs.cpp:799,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/apps/cs2cs.cpp:800,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/apps/cs2cs.cpp:801,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/apps/cs2cs.cpp:802,1
    - Dst: ExtentPtr::description
      Src: /src/PROJ/src/apps/cs2cs.cpp:803,1
    - Dst: proj_area_set_name
      Src: /src/PROJ/src/apps/cs2cs.cpp:804,1
    - Dst: ExtentPtr::description
      Src: /src/PROJ/src/apps/cs2cs.cpp:805,1
    - Dst: std::swap
      Src: /src/PROJ/src/apps/cs2cs.cpp:816,1
    - Dst: setlocale
      Src: /src/PROJ/src/apps/cs2cs.cpp:821,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:824,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:824,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:825,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/apps/cs2cs.cpp:828,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/src/apps/cs2cs.cpp:829,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:832,1
    - Dst: proj_create
      Src: /src/PROJ/src/apps/cs2cs.cpp:833,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/apps/cs2cs.cpp:833,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:836,1
    - Dst: proj_create
      Src: /src/PROJ/src/apps/cs2cs.cpp:837,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/apps/cs2cs.cpp:837,1
    - Dst: instantiate_crs
      Src: /src/PROJ/src/apps/cs2cs.cpp:843,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:845,1
    - Dst: instantiate_crs
      Src: /src/PROJ/src/apps/cs2cs.cpp:852,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:854,1
    - Dst: assert
      Src: /src/PROJ/src/apps/cs2cs.cpp:859,1
    - Dst: get_geog_crs_proj_string_from_proj_crs
      Src: /src/PROJ/src/apps/cs2cs.cpp:860,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:863,1
    - Dst: assert
      Src: /src/PROJ/src/apps/cs2cs.cpp:868,1
    - Dst: get_geog_crs_proj_string_from_proj_crs
      Src: /src/PROJ/src/apps/cs2cs.cpp:870,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:873,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:878,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:879,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/src/apps/cs2cs.cpp:882,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:884,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/src/apps/cs2cs.cpp:888,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:890,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/cs2cs.cpp:897,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/cs2cs.cpp:897,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/src/apps/cs2cs.cpp:898,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/apps/cs2cs.cpp:899,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cs2cs.cpp:899,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/apps/cs2cs.cpp:899,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/src/apps/cs2cs.cpp:900,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/src/apps/cs2cs.cpp:902,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:903,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:906,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/cs2cs.cpp:909,1
    - Dst: is3DCRS
      Src: /src/PROJ/src/apps/cs2cs.cpp:909,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/src/apps/cs2cs.cpp:910,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/apps/cs2cs.cpp:911,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cs2cs.cpp:911,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/apps/cs2cs.cpp:912,1
    - Dst: proj_crs_promote_to_3D
      Src: /src/PROJ/src/apps/cs2cs.cpp:913,1
    - Dst: proj_get_id_code
      Src: /src/PROJ/src/apps/cs2cs.cpp:915,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:916,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:919,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:925,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:929,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:932,1
    - Dst: what
      Src: /src/PROJ/src/apps/cs2cs.cpp:932,1
    - Dst: proj_coordinate_metadata_create
      Src: /src/PROJ/src/apps/cs2cs.cpp:935,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:937,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:939,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/src/apps/cs2cs.cpp:941,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/apps/cs2cs.cpp:945,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/apps/cs2cs.cpp:949,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:952,1
    - Dst: what
      Src: /src/PROJ/src/apps/cs2cs.cpp:952,1
    - Dst: proj_coordinate_metadata_create
      Src: /src/PROJ/src/apps/cs2cs.cpp:955,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:957,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:959,1
    - Dst: proj_crs_is_dynamic
      Src: /src/PROJ/src/apps/cs2cs.cpp:961,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/cs2cs.cpp:971,1
    - Dst: std::string::data
      Src: /src/PROJ/src/apps/cs2cs.cpp:971,1
    - Dst: toString
      Src: /src/PROJ/src/apps/cs2cs.cpp:975,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/cs2cs.cpp:976,1
    - Dst: std::string::data
      Src: /src/PROJ/src/apps/cs2cs.cpp:976,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/cs2cs.cpp:979,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/cs2cs.cpp:983,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/cs2cs.cpp:985,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/apps/cs2cs.cpp:988,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/src/apps/cs2cs.cpp:989,1
    - Dst: std::vector::data
      Src: /src/PROJ/src/apps/cs2cs.cpp:990,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:992,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:993,1
    - Dst: proj_area_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:994,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:997,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/cs2cs.cpp:998,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/apps/cs2cs.cpp:998,1
    - Dst: setlocale
      Src: /src/PROJ/src/apps/cs2cs.cpp:1003,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:1007,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:1008,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cs2cs.cpp:1008,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:1009,1
    - Dst: printf
      Src: /src/PROJ/src/apps/cs2cs.cpp:1010,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/apps/cs2cs.cpp:1010,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/cs2cs.cpp:1014,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/cs2cs.cpp:1027,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/cs2cs.cpp:1030,1
    - Dst: emess
      Src: /src/PROJ/src/apps/cs2cs.cpp:1031,1
    - Dst: process
      Src: /src/PROJ/src/apps/cs2cs.cpp:1037,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/cs2cs.cpp:1038,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/cs2cs.cpp:1042,1
    - Dst: proj_cleanup
      Src: /src/PROJ/src/apps/cs2cs.cpp:1044,1
    - Dst: exit
      Src: /src/PROJ/src/apps/cs2cs.cpp:1046,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 493
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (src_unbound)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/PROJ/src/apps/cs2cs.cpp
    - condition: (dst_unbound)
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/PROJ/src/apps/cs2cs.cpp
    constantsTouched: []
    func_position:
      end: 1047
      start: 382
    functionDepth: 10
    functionLinenumber: 382
    functionLinenumberEnd: 1047
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/cs2cs.cpp
    functionUses: 1
    functionsReached:
    - pj_get_default_ctx
    - proj_list_ellps
    - proj_unit_list_destroy
    - Extent::createFromBBOX
    - std::dynamic_pointer_cast<GeographicBoundingBox>
    - proj_context_get_use_proj4_init_rules
    - get_geog_crs_proj_string_from_proj_crs
    - auto::southBoundLatitude
    - process
    - proj_destroy
    - proj_log_level
    - std::string
    - setlocale
    - proj_list_operations
    - std::string::empty
    - pj_get_release
    - std::vector::push_back
    - proj_area_set_bbox
    - as_nullable
    - proj_get_units_from_database
    - toString
    - NN_NO_CHECK
    - auto::description
    - std::string::find
    - assert
    - what
    - auto::northBoundLatitude
    - proj_area_set_name
    - proj_errno_string
    - pj_add_type_crs_if_needed
    - proj_create
    - proj_context_use_proj4_init_rules
    - Identifier::isEquivalentName
    - fopen
    - puts
    - strncmp
    - snprintf
    - fclose
    - std::fabs
    - ExtentPtr::geographicElements
    - proj_coordinate_metadata_create
    - proj_create_crs_to_crs_from_pj
    - putchar
    - fprintf
    - proj_get_name
    - exit
    - proj_crs_is_dynamic
    - set_rtodms
    - proj_list_prime_meridians
    - proj_crs_promote_to_3D
    - instantiate_crs
    - strcmp
    - c_locale_stod
    - strrchr
    - auto::empty
    - getenv
    - proj_get_id_code
    - std::string::c_str
    - proj_area_create
    - auto::westBoundLongitude
    - pj_stderr_proj_lib_deprecation_warning
    - proj_context_errno
    - ExtentPtr::description
    - std::vector::data
    - auto::eastBoundLongitude
    - auto::listAreaOfUseFromName
    - split
    - std::swap
    - emess
    - const_cast<char *>
    - printf
    - auto::front
    - proj_cleanup
    - auto::size
    - is3DCRS
    - validate_form_string_for_numbers
    - atoi
    - fabs
    - proj_area_destroy
    - DatabaseContext::create
    - AuthorityFactory::create
    - std::string::data
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/apps/proj_strtod.cpp:124,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:130,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/apps/proj_strtod.cpp:135,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:137,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/apps/proj_strtod.cpp:138,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj_strtod.cpp:142,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:144,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/proj_strtod.cpp:159,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:162,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj_strtod.cpp:167,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:169,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj_strtod.cpp:178,1
    - Dst: isspace
      Src: /src/PROJ/src/apps/proj_strtod.cpp:178,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:180,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/proj_strtod.cpp:187,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:201,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj_strtod.cpp:221,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:223,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/proj_strtod.cpp:229,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:255,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/proj_strtod.cpp:267,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/proj_strtod.cpp:282,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:284,1
    - Dst: isdigit
      Src: /src/PROJ/src/apps/proj_strtod.cpp:290,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:306,1
    - Dst: abs
      Src: /src/PROJ/src/apps/proj_strtod.cpp:317,1
    - Dst: pow
      Src: /src/PROJ/src/apps/proj_strtod.cpp:324,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/apps/proj_strtod.cpp:324,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 161
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 327
    functionName: proj_strtod
    functionSourceFile: /src/PROJ/src/apps/proj_strtod.cpp
    functionUses: 2
    functionsReached:
    - abs
    - ci_starts_with
    - strchr
    - std::numeric_limits<double>::quiet_NaN
    - isdigit
    - static_cast<double>
    - isspace
    - const_cast<char *>
    - pow
    linkageType: ''
    returnType: double
    signature: double proj_strtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/proj_strtod.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: proj_atof
    functionSourceFile: /src/PROJ/src/apps/proj_strtod.cpp
    functionUses: 1
    functionsReached:
    - proj_strtod
    linkageType: ''
    returnType: double
    signature: double proj_atof(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/apps/proj_strtod.cpp:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: un_underscore
    functionSourceFile: /src/PROJ/src/apps/proj_strtod.cpp
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *un_underscore(char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: un_underscore
      Src: /src/PROJ/src/apps/proj_strtod.cpp:359,1
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/proj_strtod.cpp:362,1
    - Dst: strtod
      Src: /src/PROJ/src/apps/proj_strtod.cpp:365,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/proj_strtod.cpp:370,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj_strtod.cpp:374,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj_strtod.cpp:375,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj_strtod.cpp:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - s
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 378
    functionName: thetest
    functionSourceFile: /src/PROJ/src/apps/proj_strtod.cpp
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - proj_strtod
    - un_underscore
    - strtod
    linkageType: ''
    returnType: int
    signature: int thetest(char *s, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: test
    functionSourceFile: /src/PROJ/src/apps/proj_strtod.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:388,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:389,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:390,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:391,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:392,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:393,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:394,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:395,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:396,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:397,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:398,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:399,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:400,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:401,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:402,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:403,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:404,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:405,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:406,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:407,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:408,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:409,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:410,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:411,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:412,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:413,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:414,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:415,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:416,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:417,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:418,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:419,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:420,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:421,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:422,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:423,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:424,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:425,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:426,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:427,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:428,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:429,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:430,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:431,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:432,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:433,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:434,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:435,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:436,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:437,1
    - Dst: test
      Src: /src/PROJ/src/apps/proj_strtod.cpp:440,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj_strtod.cpp:446,1
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/proj_strtod.cpp:450,1
    - Dst: printf
      Src: /src/PROJ/src/apps/proj_strtod.cpp:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/proj_strtod.cpp
    functionUses: 1
    functionsReached:
    - printf
    - test
    - proj_strtod
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:19,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/apps/geod_set.cpp:20,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:22,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/apps/geod_set.cpp:24,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:26,1
    - Dst: pj_ell_set
      Src: /src/PROJ/src/apps/geod_set.cpp:30,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/apps/geod_set.cpp:30,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:31,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:33,1
    - Dst: proj_get_units_from_database
      Src: /src/PROJ/src/apps/geod_set.cpp:35,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/geod_set.cpp:39,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/src/apps/geod_set.cpp:45,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:47,1
    - Dst: sqrt
      Src: /src/PROJ/src/apps/geod_set.cpp:50,1
    - Dst: geod_ini
      Src: /src/PROJ/src/apps/geod_set.cpp:51,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:53,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:55,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:56,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:57,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:58,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:59,1
    - Dst: geod_inv
      Src: /src/PROJ/src/apps/geod_set.cpp:60,1
    - Dst: geod_pre
      Src: /src/PROJ/src/apps/geod_set.cpp:61,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:62,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:63,1
    - Dst: geod_pre
      Src: /src/PROJ/src/apps/geod_set.cpp:64,1
    - Dst: geod_for
      Src: /src/PROJ/src/apps/geod_set.cpp:65,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:67,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:68,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:69,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:70,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/geod_set.cpp:71,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:71,1
    - Dst: pj_param
      Src: /src/PROJ/src/apps/geod_set.cpp:73,1
    - Dst: emess
      Src: /src/PROJ/src/apps/geod_set.cpp:74,1
    - Dst: free
      Src: /src/PROJ/src/apps/geod_set.cpp:79,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 12
    functionDepth: 6
    functionLinenumber: 12
    functionLinenumberEnd: 81
    functionName: geod_set
    functionSourceFile: /src/PROJ/src/apps/geod_set.cpp
    functionUses: 1
    functionsReached:
    - pj_get_default_ctx
    - sqrt
    - geod_pre
    - free
    - fabs
    - geod_for
    - strcmp
    - geod_ini
    - emess
    - proj_unit_list_destroy
    - pj_ell_set
    - pj_mkparam
    - proj_get_units_from_database
    - geod_inv
    - pj_param
    linkageType: ''
    returnType: void
    signature: void geod_set(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/PROJ/src/apps/geod_interface.cpp:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 5
    functionName: geod_ini
    functionSourceFile: /src/PROJ/src/apps/geod_interface.cpp
    functionUses: 1
    functionsReached:
    - geod_init
    linkageType: ''
    returnType: void
    signature: void geod_ini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_lineinit
      Src: /src/PROJ/src/apps/geod_interface.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: geod_pre
    functionSourceFile: /src/PROJ/src/apps/geod_interface.cpp
    functionUses: 3
    functionsReached:
    - geod_lineinit
    linkageType: ''
    returnType: void
    signature: void geod_pre(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_position
      Src: /src/PROJ/src/apps/geod_interface.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: geod_for
    functionSourceFile: /src/PROJ/src/apps/geod_interface.cpp
    functionUses: 4
    functionsReached:
    - geod_position
    linkageType: ''
    returnType: void
    signature: void geod_for(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_inverse
      Src: /src/PROJ/src/apps/geod_interface.cpp:25,1
    - Dst: copysign
      Src: /src/PROJ/src/apps/geod_interface.cpp:29,1
    - Dst: copysign
      Src: /src/PROJ/src/apps/geod_interface.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geod_inv
    functionSourceFile: /src/PROJ/src/apps/geod_interface.cpp
    functionUses: 2
    functionsReached:
    - copysign
    - geod_inverse
    linkageType: ''
    returnType: void
    signature: void geod_inv(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/src/apps/gie.cpp:281,1
    - Dst: opt_parse
      Src: /src/PROJ/src/apps/gie.cpp:289,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/gie.cpp:293,1
    - Dst: printf
      Src: /src/PROJ/src/apps/gie.cpp:294,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:295,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/gie.cpp:299,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:300,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/gie.cpp:300,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:301,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/gie.cpp:305,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/gie.cpp:309,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/gie.cpp:312,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/gie.cpp:313,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/gie.cpp:313,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:316,1
    - Dst: opt_arg
      Src: /src/PROJ/src/apps/gie.cpp:317,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:318,1
    - Dst: opt_given
      Src: /src/PROJ/src/apps/gie.cpp:322,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:323,1
    - Dst: list_err_codes
      Src: /src/PROJ/src/apps/gie.cpp:324,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:330,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:331,1
    - Dst: ffio_create
      Src: /src/PROJ/src/apps/gie.cpp:335,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:337,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:338,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/gie.cpp:343,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:345,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:347,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/gie.cpp:350,1
    - Dst: process_file
      Src: /src/PROJ/src/apps/gie.cpp:354,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:358,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:364,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:366,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:369,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:372,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:376,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:379,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/gie.cpp:382,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:384,1
    - Dst: ffio_destroy
      Src: /src/PROJ/src/apps/gie.cpp:385,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 387
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - printf
    - free
    - opt_parse
    - pj_get_release
    - ffio_create
    - opt_arg
    - ffio_destroy
    - fopen
    - process_file
    - memset
    - fclose
    - opt_given
    - fprintf
    - list_err_codes
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: another_failure
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_reset
    linkageType: ''
    returnType: int
    signature: int another_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: another_skip
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int another_skip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: another_success
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_reset
    linkageType: ''
    returnType: int
    signature: int another_success(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: another_success
      Src: /src/PROJ/src/apps/gie.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: another_succeeding_failure
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - another_success
    linkageType: ''
    returnType: int
    signature: int another_succeeding_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: another_failing_failure
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - another_failure
    linkageType: ''
    returnType: int
    signature: int another_failing_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: another_success
      Src: /src/PROJ/src/apps/gie.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: another_succeeding_roundtrip
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - another_success
    linkageType: ''
    returnType: int
    signature: int another_succeeding_roundtrip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: another_failing_roundtrip
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - another_failure
    linkageType: ''
    returnType: int
    signature: int another_failing_roundtrip(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:436,1
    - Dst: fopen
      Src: /src/PROJ/src/apps/gie.cpp:442,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:445,1
    - Dst: get_inp
      Src: /src/PROJ/src/apps/gie.cpp:448,1
    - Dst: dispatch
      Src: /src/PROJ/src/apps/gie.cpp:449,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:450,1
    - Dst: fclose
      Src: /src/PROJ/src/apps/gie.cpp:456,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:463,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:470,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:473,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 480
    functionName: process_file
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - fopen
    - proj_destroy
    - errmsg
    - fclose
    - get_inp
    - dispatch
    - fprintf
    linkageType: ''
    returnType: int
    signature: int process_file(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/apps/gie.cpp:491,1
    - Dst: isspace
      Src: /src/PROJ/src/apps/gie.cpp:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: column
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 3
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *column(const char *buf, int n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/gie.cpp:510,1
    - Dst: column
      Src: /src/PROJ/src/apps/gie.cpp:514,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:516,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:518,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:520,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:522,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:524,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:526,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:528,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:530,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/apps/gie.cpp:531,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:532,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - args
    - default_scale
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 537
    functionName: strtod_scaled
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - proj_todeg
    - column
    - proj_strtod
    - strcmp
    linkageType: ''
    returnType: double
    signature: double strtod_scaled(const char *args, double default_scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:541,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: banner
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int banner(const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtod_scaled
      Src: /src/PROJ/src/apps/gie.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: tolerance
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strtod_scaled
    linkageType: ''
    returnType: int
    signature: int tolerance(const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: use_proj4_init_rules
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 11
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int use_proj4_init_rules(const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errno_from_err_const
      Src: /src/PROJ/src/apps/gie.cpp:562,1
    - Dst: column
      Src: /src/PROJ/src/apps/gie.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: ignore
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - errno_from_err_const
    - column
    linkageType: ''
    returnType: int
    signature: int ignore(const char *args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: column
      Src: /src/PROJ/src/apps/gie.cpp:568,1
    - Dst: proj_grid_info
      Src: /src/PROJ/src/apps/gie.cpp:569,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:570,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/apps/gie.cpp:572,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/apps/gie.cpp:573,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/src/apps/gie.cpp:576,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 593
    functionName: require_grid
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - column
    - proj_grid_info
    - strlen
    - DatabaseContext::create
    - auto::lookForGridInfo
    - proj_context_is_network_enabled
    - fprintf
    linkageType: ''
    returnType: int
    signature: int require_grid(const char *args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/apps/gie.cpp:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: direction
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 50
    functionsReached:
    - isspace
    linkageType: ''
    returnType: int
    signature: int direction(const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: finish_previous_operation
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void finish_previous_operation(const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/PROJ/src/apps/gie.cpp:637,1
    - Dst: finish_previous_operation
      Src: /src/PROJ/src/apps/gie.cpp:641,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:642,1
    - Dst: direction
      Src: /src/PROJ/src/apps/gie.cpp:650,1
    - Dst: tolerance
      Src: /src/PROJ/src/apps/gie.cpp:651,1
    - Dst: ignore
      Src: /src/PROJ/src/apps/gie.cpp:652,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:654,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:657,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:658,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/apps/gie.cpp:659,1
    - Dst: proj_create
      Src: /src/PROJ/src/apps/gie.cpp:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 627
    functionDepth: 4
    functionLinenumber: 627
    functionLinenumberEnd: 667
    functionName: operation
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 34
    functionsReached:
    - ignore
    - finish_previous_operation
    - proj_create
    - strncpy
    - proj_destroy
    - banner
    - tolerance
    - proj_context_use_proj4_init_rules
    - proj_errno_reset
    - direction
    linkageType: ''
    returnType: int
    signature: int operation(const char *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_type
      Src: /src/PROJ/src/apps/gie.cpp:670,1
    - Dst: proj_crs_get_sub_crs
      Src: /src/PROJ/src/apps/gie.cpp:673,1
    - Dst: assert
      Src: /src/PROJ/src/apps/gie.cpp:674,1
    - Dst: isLatOrNorthingFirst
      Src: /src/PROJ/src/apps/gie.cpp:675,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:676,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:683,1
    - Dst: proj_crs_get_coordinate_system
      Src: /src/PROJ/src/apps/gie.cpp:688,1
    - Dst: assert
      Src: /src/PROJ/src/apps/gie.cpp:689,1
    - Dst: proj_cs_get_axis_info
      Src: /src/PROJ/src/apps/gie.cpp:693,1
    - Dst: ci_find
      Src: /src/PROJ/src/apps/gie.cpp:703,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/gie.cpp:703,1
    - Dst: ci_find
      Src: /src/PROJ/src/apps/gie.cpp:705,1
    - Dst: std::string
      Src: /src/PROJ/src/apps/gie.cpp:705,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:707,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:709,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:709,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:711,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - crs
    argTypes:
    - PJ*
    assertStmts:
    - condition: (horiz_crs)
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/PROJ/src/apps/gie.cpp
    - condition: (cs)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/PROJ/src/apps/gie.cpp
    constantsTouched: []
    func_position:
      end: 717
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 717
    functionName: isLatOrNorthingFirst
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - proj_cs_get_axis_info
    - strcmp
    - proj_crs_get_sub_crs
    - isLatOrNorthingFirst
    - proj_destroy
    - assert
    - ci_find
    - std::string
    - proj_crs_get_coordinate_system
    - fprintf
    - proj_get_type
    linkageType: ''
    returnType: bool
    signature: bool isLatOrNorthingFirst(const PJ *crs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: finish_previous_operation
      Src: /src/PROJ/src/apps/gie.cpp:725,1
    - Dst: snprintf
      Src: /src/PROJ/src/apps/gie.cpp:726,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:727,1
    - Dst: direction
      Src: /src/PROJ/src/apps/gie.cpp:735,1
    - Dst: tolerance
      Src: /src/PROJ/src/apps/gie.cpp:736,1
    - Dst: ignore
      Src: /src/PROJ/src/apps/gie.cpp:737,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:739,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:742,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:743,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/apps/gie.cpp:744,1
    - Dst: proj_create
      Src: /src/PROJ/src/apps/gie.cpp:747,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:749,1
    - Dst: isLatOrNorthingFirst
      Src: /src/PROJ/src/apps/gie.cpp:751,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/apps/gie.cpp:752,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/src/apps/gie.cpp:754,1
    - Dst: strcpy
      Src: /src/PROJ/src/apps/gie.cpp:756,1
    - Dst: strcpy
      Src: /src/PROJ/src/apps/gie.cpp:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 719
    functionDepth: 5
    functionLinenumber: 719
    functionLinenumberEnd: 759
    functionName: crs_to_crs_operation
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - ignore
    - finish_previous_operation
    - proj_create_crs_to_crs
    - strcpy
    - proj_create
    - snprintf
    - isLatOrNorthingFirst
    - proj_destroy
    - banner
    - tolerance
    - proj_context_use_proj4_init_rules
    - proj_errno_reset
    - direction
    - fprintf
    linkageType: ''
    returnType: int
    signature: int crs_to_crs_operation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/PROJ/src/apps/gie.cpp:762,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:766,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:766,1
    - Dst: crs_to_crs_operation
      Src: /src/PROJ/src/apps/gie.cpp:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 6
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: crs_src
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - crs_to_crs_operation
    - strncpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int crs_src(const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/PROJ/src/apps/gie.cpp:774,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:778,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:778,1
    - Dst: crs_to_crs_operation
      Src: /src/PROJ/src/apps/gie.cpp:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 773
    functionDepth: 6
    functionLinenumber: 773
    functionLinenumberEnd: 783
    functionName: crs_dst
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - crs_to_crs_operation
    - strncpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int crs_dst(const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_param_exists
      Src: /src/PROJ/src/apps/gie.cpp:788,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:790,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:791,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/gie.cpp:793,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/gie.cpp:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - P
    - dir
    - a
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: torad_coord
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - pj_param_exists
    - strlen
    - proj_torad
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD torad_coord(PJ *P, PJ_DIRECTION dir, PJ_COORD a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_param_exists
      Src: /src/PROJ/src/apps/gie.cpp:801,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:803,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:804,1
    - Dst: strchr
      Src: /src/PROJ/src/apps/gie.cpp:806,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/apps/gie.cpp:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - P
    - dir
    - a
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 809
    functionName: todeg_coord
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - pj_param_exists
    - strlen
    - proj_todeg
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD todeg_coord(PJ *P, PJ_DIRECTION dir, PJ_COORD a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord
      Src: /src/PROJ/src/apps/gie.cpp:820,1
    - Dst: isspace
      Src: /src/PROJ/src/apps/gie.cpp:838,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:840,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:840,1
    - Dst: const_cast<char *>
      Src: /src/PROJ/src/apps/gie.cpp:842,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:842,1
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/gie.cpp:844,1
    - Dst: std::isnan
      Src: /src/PROJ/src/apps/gie.cpp:846,1
    - Dst: isspace
      Src: /src/PROJ/src/apps/gie.cpp:846,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/apps/gie.cpp:847,1
    - Dst: proj_dmstor
      Src: /src/PROJ/src/apps/gie.cpp:847,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/gie.cpp:850,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/gie.cpp:850,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/gie.cpp:850,1
    - Dst: fabs
      Src: /src/PROJ/src/apps/gie.cpp:850,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/apps/gie.cpp:863,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 871
    functionName: parse_coord
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - fabs
    - proj_dmstor
    - proj_strtod
    - proj_coord_error
    - strlen
    - PJ_TODEG
    - std::isnan
    - isspace
    - const_cast<char *>
    - proj_coord
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD parse_coord(const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_coord
      Src: /src/PROJ/src/apps/gie.cpp:878,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 883
    functionName: accept
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - parse_coord
    - fprintf
    linkageType: ''
    returnType: int
    signature: int accept(const char *args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:911,1
    - Dst: another_skip
      Src: /src/PROJ/src/apps/gie.cpp:912,1
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:914,1
    - Dst: proj_strtod
      Src: /src/PROJ/src/apps/gie.cpp:917,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:923,1
    - Dst: another_failing_roundtrip
      Src: /src/PROJ/src/apps/gie.cpp:924,1
    - Dst: strtod_scaled
      Src: /src/PROJ/src/apps/gie.cpp:929,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/gie.cpp:933,1
    - Dst: torad_coord
      Src: /src/PROJ/src/apps/gie.cpp:933,1
    - Dst: proj_roundtrip
      Src: /src/PROJ/src/apps/gie.cpp:935,1
    - Dst: std::isnan
      Src: /src/PROJ/src/apps/gie.cpp:936,1
    - Dst: std::isnan
      Src: /src/PROJ/src/apps/gie.cpp:936,1
    - Dst: another_succeeding_roundtrip
      Src: /src/PROJ/src/apps/gie.cpp:937,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:941,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:942,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:943,1
    - Dst: opt_strip_path
      Src: /src/PROJ/src/apps/gie.cpp:944,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:945,1
    - Dst: another_failing_roundtrip
      Src: /src/PROJ/src/apps/gie.cpp:949,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 886
    functionDepth: 6
    functionLinenumber: 886
    functionLinenumberEnd: 950
    functionName: roundtrip
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 7
    functionsReached:
    - strtod_scaled
    - another_failure
    - proj_strtod
    - proj_angular_input
    - std::isnan
    - another_succeeding_roundtrip
    - errmsg
    - torad_coord
    - banner
    - another_failing_roundtrip
    - opt_strip_path
    - proj_errno
    - another_skip
    - proj_roundtrip
    - fprintf
    linkageType: ''
    returnType: int
    signature: int roundtrip(const char *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:953,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:960,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:961,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:963,1
    - Dst: opt_strip_path
      Src: /src/PROJ/src/apps/gie.cpp:963,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:965,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:966,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:968,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:970,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:971,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - d
    - args
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 952
    functionDepth: 5
    functionLinenumber: 952
    functionLinenumberEnd: 975
    functionName: expect_message
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - banner
    - opt_strip_path
    - another_failure
    - fprintf
    linkageType: ''
    returnType: int
    signature: int expect_message(double d, const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:978,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:981,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:982,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:983,1
    - Dst: opt_strip_path
      Src: /src/PROJ/src/apps/gie.cpp:984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 977
    functionDepth: 5
    functionLinenumber: 977
    functionLinenumberEnd: 987
    functionName: expect_message_cannot_parse
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - banner
    - opt_strip_path
    - another_failure
    - fprintf
    linkageType: ''
    returnType: int
    signature: int expect_message_cannot_parse(const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: another_failing_failure
      Src: /src/PROJ/src/apps/gie.cpp:990,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:995,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:996,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:997,1
    - Dst: opt_strip_path
      Src: /src/PROJ/src/apps/gie.cpp:997,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:999,1
    - Dst: err_const_from_errno
      Src: /src/PROJ/src/apps/gie.cpp:999,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/gie.cpp:1000,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1001,1
    - Dst: err_const_from_errno
      Src: /src/PROJ/src/apps/gie.cpp:1002,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/gie.cpp:1003,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - expected
    - got
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 989
    functionDepth: 6
    functionLinenumber: 989
    functionLinenumberEnd: 1006
    functionName: expect_failure_with_errno_message
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_string
    - another_failing_failure
    - banner
    - opt_strip_path
    - err_const_from_errno
    - fprintf
    linkageType: ''
    returnType: int
    signature: int expect_failure_with_errno_message(int expected, int got)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1018,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1023,1
    - Dst: column
      Src: /src/PROJ/src/apps/gie.cpp:1023,1
    - Dst: errno_from_err_const
      Src: /src/PROJ/src/apps/gie.cpp:1024,1
    - Dst: column
      Src: /src/PROJ/src/apps/gie.cpp:1024,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1027,1
    - Dst: another_skip
      Src: /src/PROJ/src/apps/gie.cpp:1028,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1035,1
    - Dst: expect_failure_with_errno_message
      Src: /src/PROJ/src/apps/gie.cpp:1036,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1037,1
    - Dst: another_succeeding_failure
      Src: /src/PROJ/src/apps/gie.cpp:1039,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:1043,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:1044,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/gie.cpp:1048,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1048,1
    - Dst: err_const_from_errno
      Src: /src/PROJ/src/apps/gie.cpp:1049,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1049,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1049,1
    - Dst: another_failing_failure
      Src: /src/PROJ/src/apps/gie.cpp:1050,1
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/apps/gie.cpp:1055,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/gie.cpp:1059,1
    - Dst: torad_coord
      Src: /src/PROJ/src/apps/gie.cpp:1059,1
    - Dst: proj_trans
      Src: /src/PROJ/src/apps/gie.cpp:1060,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1063,1
    - Dst: another_succeeding_failure
      Src: /src/PROJ/src/apps/gie.cpp:1064,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:1067,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:1068,1
    - Dst: err_const_from_errno
      Src: /src/PROJ/src/apps/gie.cpp:1069,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1069,1
    - Dst: proj_errno
      Src: /src/PROJ/src/apps/gie.cpp:1069,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/apps/gie.cpp:1070,1
    - Dst: another_failing_failure
      Src: /src/PROJ/src/apps/gie.cpp:1071,1
    - Dst: another_succeeding_failure
      Src: /src/PROJ/src/apps/gie.cpp:1076,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:1079,1
    - Dst: errmsg
      Src: /src/PROJ/src/apps/gie.cpp:1080,1
    - Dst: another_failing_failure
      Src: /src/PROJ/src/apps/gie.cpp:1082,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1086,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1087,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1088,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/gie.cpp:1089,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1090,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/gie.cpp:1091,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1092,1
    - Dst: parse_coord
      Src: /src/PROJ/src/apps/gie.cpp:1096,1
    - Dst: expect_message_cannot_parse
      Src: /src/PROJ/src/apps/gie.cpp:1098,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/gie.cpp:1101,1
    - Dst: torad_coord
      Src: /src/PROJ/src/apps/gie.cpp:1101,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1103,1
    - Dst: proj_angular_input
      Src: /src/PROJ/src/apps/gie.cpp:1107,1
    - Dst: torad_coord
      Src: /src/PROJ/src/apps/gie.cpp:1107,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1109,1
    - Dst: proj_trans
      Src: /src/PROJ/src/apps/gie.cpp:1114,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/gie.cpp:1121,1
    - Dst: todeg_coord
      Src: /src/PROJ/src/apps/gie.cpp:1121,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1123,1
    - Dst: proj_trans
      Src: /src/PROJ/src/apps/gie.cpp:1131,1
    - Dst: proj_trans
      Src: /src/PROJ/src/apps/gie.cpp:1132,1
    - Dst: std::isnan
      Src: /src/PROJ/src/apps/gie.cpp:1136,1
    - Dst: std::isnan
      Src: /src/PROJ/src/apps/gie.cpp:1136,1
    - Dst: proj_angular_output
      Src: /src/PROJ/src/apps/gie.cpp:1138,1
    - Dst: proj_lpz_dist
      Src: /src/PROJ/src/apps/gie.cpp:1139,1
    - Dst: proj_degree_output
      Src: /src/PROJ/src/apps/gie.cpp:1140,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/gie.cpp:1141,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/gie.cpp:1142,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/gie.cpp:1144,1
    - Dst: proj_torad
      Src: /src/PROJ/src/apps/gie.cpp:1145,1
    - Dst: std::swap
      Src: /src/PROJ/src/apps/gie.cpp:1148,1
    - Dst: std::swap
      Src: /src/PROJ/src/apps/gie.cpp:1149,1
    - Dst: proj_lpz_dist
      Src: /src/PROJ/src/apps/gie.cpp:1152,1
    - Dst: std::swap
      Src: /src/PROJ/src/apps/gie.cpp:1156,1
    - Dst: std::swap
      Src: /src/PROJ/src/apps/gie.cpp:1157,1
    - Dst: proj_xyz_dist
      Src: /src/PROJ/src/apps/gie.cpp:1160,1
    - Dst: expect_message
      Src: /src/PROJ/src/apps/gie.cpp:1165,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/gie.cpp:1171,1
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:1172,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:1177,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1178,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1179,1
    - Dst: opt_strip_path
      Src: /src/PROJ/src/apps/gie.cpp:1180,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1181,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1182,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1184,1
    - Dst: std::fabs
      Src: /src/PROJ/src/apps/gie.cpp:1185,1
    - Dst: another_success
      Src: /src/PROJ/src/apps/gie.cpp:1191,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 105
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1009
    functionDepth: 7
    functionLinenumber: 1009
    functionLinenumberEnd: 1193
    functionName: expect
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - proj_xyz_dist
    - proj_angular_output
    - errmsg
    - torad_coord
    - todeg_coord
    - expect_failure_with_errno_message
    - std::fabs
    - std::swap
    - column
    - another_failure
    - parse_coord
    - std::isnan
    - another_success
    - proj_errno
    - fprintf
    - static_cast<int>
    - expect_message
    - proj_trans
    - another_skip
    - err_const_from_errno
    - errno_from_err_const
    - proj_errno_string
    - expect_message_cannot_parse
    - another_succeeding_failure
    - proj_lpz_dist
    - another_failing_failure
    - banner
    - opt_strip_path
    - proj_angular_input
    - proj_errno_reset
    - proj_torad
    - proj_degree_output
    linkageType: ''
    returnType: int
    signature: int expect(const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_atof
      Src: /src/PROJ/src/apps/gie.cpp:1200,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1211
    functionName: verbose
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - proj_atof
    - strlen
    linkageType: ''
    returnType: int
    signature: int verbose(const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1220
    functionName: echo
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int echo(const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1232
    functionName: skip
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int skip(const char *args)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1237,1
    - Dst: operation
      Src: /src/PROJ/src/apps/gie.cpp:1238,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1239,1
    - Dst: crs_src
      Src: /src/PROJ/src/apps/gie.cpp:1240,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1241,1
    - Dst: crs_dst
      Src: /src/PROJ/src/apps/gie.cpp:1242,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1244,1
    - Dst: another_skip
      Src: /src/PROJ/src/apps/gie.cpp:1245,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1248,1
    - Dst: accept
      Src: /src/PROJ/src/apps/gie.cpp:1249,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1250,1
    - Dst: expect
      Src: /src/PROJ/src/apps/gie.cpp:1251,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1252,1
    - Dst: roundtrip
      Src: /src/PROJ/src/apps/gie.cpp:1253,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1254,1
    - Dst: banner
      Src: /src/PROJ/src/apps/gie.cpp:1255,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1256,1
    - Dst: verbose
      Src: /src/PROJ/src/apps/gie.cpp:1257,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1258,1
    - Dst: direction
      Src: /src/PROJ/src/apps/gie.cpp:1259,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1260,1
    - Dst: tolerance
      Src: /src/PROJ/src/apps/gie.cpp:1261,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1262,1
    - Dst: ignore
      Src: /src/PROJ/src/apps/gie.cpp:1263,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1264,1
    - Dst: require_grid
      Src: /src/PROJ/src/apps/gie.cpp:1265,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1266,1
    - Dst: echo
      Src: /src/PROJ/src/apps/gie.cpp:1267,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1268,1
    - Dst: skip
      Src: /src/PROJ/src/apps/gie.cpp:1269,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1270,1
    - Dst: use_proj4_init_rules
      Src: /src/PROJ/src/apps/gie.cpp:1271,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - cmnd
    - args
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1234
    functionDepth: 8
    functionLinenumber: 1234
    functionLinenumberEnd: 1274
    functionName: dispatch
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - ignore
    - use_proj4_init_rules
    - strcmp
    - crs_dst
    - expect
    - require_grid
    - banner
    - accept
    - operation
    - crs_src
    - roundtrip
    - verbose
    - another_skip
    - tolerance
    - skip
    - direction
    - echo
    linkageType: ''
    returnType: int
    signature: int dispatch(const char *cmnd, const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1312,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/apps/gie.cpp:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1316
    functionName: list_err_codes
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_string
    - fprintf
    linkageType: ''
    returnType: int
    signature: int list_err_codes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1327
    functionName: err_const_from_errno
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *err_const_from_errno(int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/PROJ/src/apps/gie.cpp:1337,1
    - Dst: tolower
      Src: /src/PROJ/src/apps/gie.cpp:1339,1
    - Dst: pj_atof
      Src: /src/PROJ/src/apps/gie.cpp:1344,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1349,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - err_const
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1358
    functionName: errno_from_err_const
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 2
    functionsReached:
    - strncmp
    - tolower
    - pj_atof
    - strlen
    - isspace
    linkageType: ''
    returnType: int
    signature: int errno_from_err_const(const char *err_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/apps/gie.cpp:1362,1
    - Dst: vfprintf
      Src: /src/PROJ/src/apps/gie.cpp:1363,1
    - Dst: va_end
      Src: /src/PROJ/src/apps/gie.cpp:1364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - errlev
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1368
    functionName: errmsg
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 20
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int errmsg(int errlev, const char *msg, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ffio *>
      Src: /src/PROJ/src/apps/gie.cpp:1395,1
    - Dst: calloc
      Src: /src/PROJ/src/apps/gie.cpp:1395,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/apps/gie.cpp:1402,1
    - Dst: calloc
      Src: /src/PROJ/src/apps/gie.cpp:1402,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:1404,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/apps/gie.cpp:1408,1
    - Dst: calloc
      Src: /src/PROJ/src/apps/gie.cpp:1408,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:1410,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tags
    - n_tags
    - max_record_size
    argTypes:
    - char**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1421
    functionName: ffio_create
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - free
    - calloc
    - static_cast<ffio *>
    - static_cast<char *>
    linkageType: ''
    returnType: ffio
    signature: "ffio *ffio_create(const char *const *tags, size_t n_tags,\n                         size_t
      max_record_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:1432,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:1433,1
    - Dst: free
      Src: /src/PROJ/src/apps/gie.cpp:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1436
    functionName: ffio_destroy
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: ffio
    signature: ffio *ffio_destroy(ffio *G)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1461
    functionName: at_decorative_element
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int at_decorative_element(ffio *G)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1470,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1473
    functionName: at_tag
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char
    signature: char *at_tag(ffio *G)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at_decorative_element
      Src: /src/PROJ/src/apps/gie.cpp:1486,1
    - Dst: at_tag
      Src: /src/PROJ/src/apps/gie.cpp:1488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1491
    functionName: at_end_delimiter
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - at_tag
    - at_decorative_element
    linkageType: ''
    returnType: int
    signature: int at_end_delimiter(ffio *G)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/PROJ/src/apps/gie.cpp:1501,1
    - Dst: feof
      Src: /src/PROJ/src/apps/gie.cpp:1503,1
    - Dst: pj_chomp
      Src: /src/PROJ/src/apps/gie.cpp:1505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1508
    functionName: nextline
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - pj_chomp
    - fgets
    - feof
    linkageType: ''
    returnType: int
    signature: int nextline(ffio *G)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1519,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1519,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1520,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1520,1
    - Dst: nextline
      Src: /src/PROJ/src/apps/gie.cpp:1521,1
    - Dst: strncmp
      Src: /src/PROJ/src/apps/gie.cpp:1527,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1527,1
    - Dst: nextline
      Src: /src/PROJ/src/apps/gie.cpp:1532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1534
    functionName: step_into_gie_block
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - nextline
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int step_into_gie_block(ffio *G)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: step_into_gie_block
      Src: /src/PROJ/src/apps/gie.cpp:1542,1
    - Dst: at_tag
      Src: /src/PROJ/src/apps/gie.cpp:1545,1
    - Dst: nextline
      Src: /src/PROJ/src/apps/gie.cpp:1549,1
    - Dst: at_tag
      Src: /src/PROJ/src/apps/gie.cpp:1551,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1555,1
    - Dst: feof
      Src: /src/PROJ/src/apps/gie.cpp:1557,1
    - Dst: step_into_gie_block
      Src: /src/PROJ/src/apps/gie.cpp:1559,1
    - Dst: skip_to_next_tag
      Src: /src/PROJ/src/apps/gie.cpp:1562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1567
    functionName: skip_to_next_tag
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 1
    functionsReached:
    - step_into_gie_block
    - feof
    - strcmp
    - skip_to_next_tag
    - at_tag
    - nextline
    linkageType: ''
    returnType: int
    signature: int skip_to_next_tag(ffio *G)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1572,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1573,1
    - Dst: at_tag
      Src: /src/PROJ/src/apps/gie.cpp:1574,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1577,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/apps/gie.cpp:1581,1
    - Dst: realloc
      Src: /src/PROJ/src/apps/gie.cpp:1581,1
    - Dst: strcpy
      Src: /src/PROJ/src/apps/gie.cpp:1589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1593
    functionName: append_args
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - realloc
    - at_tag
    - strlen
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int append_args(ffio *G)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nextline
      Src: /src/PROJ/src/apps/gie.cpp:1608,1
    - Dst: at_decorative_element
      Src: /src/PROJ/src/apps/gie.cpp:1610,1
    - Dst: at_tag
      Src: /src/PROJ/src/apps/gie.cpp:1613,1
    - Dst: another_failure
      Src: /src/PROJ/src/apps/gie.cpp:1615,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/gie.cpp:1616,1
    - Dst: append_args
      Src: /src/PROJ/src/apps/gie.cpp:1621,1
    - Dst: pj_shrink
      Src: /src/PROJ/src/apps/gie.cpp:1622,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1623,1
    - Dst: strlen
      Src: /src/PROJ/src/apps/gie.cpp:1624,1
    - Dst: nextline
      Src: /src/PROJ/src/apps/gie.cpp:1625,1
    - Dst: append_args
      Src: /src/PROJ/src/apps/gie.cpp:1629,1
    - Dst: pj_shrink
      Src: /src/PROJ/src/apps/gie.cpp:1630,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/gie.cpp:1632,1
    - Dst: skip_to_next_tag
      Src: /src/PROJ/src/apps/gie.cpp:1641,1
    - Dst: get_inp
      Src: /src/PROJ/src/apps/gie.cpp:1644,1
    - Dst: at_tag
      Src: /src/PROJ/src/apps/gie.cpp:1647,1
    - Dst: append_args
      Src: /src/PROJ/src/apps/gie.cpp:1653,1
    - Dst: nextline
      Src: /src/PROJ/src/apps/gie.cpp:1654,1
    - Dst: at_end_delimiter
      Src: /src/PROJ/src/apps/gie.cpp:1656,1
    - Dst: pj_shrink
      Src: /src/PROJ/src/apps/gie.cpp:1658,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - G
    argTypes:
    - ffio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1596
    functionDepth: 5
    functionLinenumber: 1596
    functionLinenumberEnd: 1660
    functionName: get_inp
    functionSourceFile: /src/PROJ/src/apps/gie.cpp
    functionUses: 2
    functionsReached:
    - at_end_delimiter
    - strcmp
    - skip_to_next_tag
    - at_tag
    - another_failure
    - append_args
    - nextline
    - pj_shrink
    - strlen
    - get_inp
    - at_decorative_element
    - fprintf
    linkageType: ''
    returnType: int
    signature: int get_inp(ffio *G)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pj_stderr_proj_lib_deprecation_warning
      Src: /src/PROJ/src/apps/projinfo.cpp:43,1
    - Dst: projinfo
      Src: /src/PROJ/src/apps/projinfo.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 9
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/PROJ/src/apps/projinfo.cpp
    functionUses: 1
    functionsReached:
    - projinfo
    - pj_stderr_proj_lib_deprecation_warning
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/apps/emess.cpp:26,1
    - Dst: getenv
      Src: /src/PROJ/src/apps/emess.cpp:30,1
    - Dst: strcmp
      Src: /src/PROJ/src/apps/emess.cpp:32,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/emess.cpp:33,1
    - Dst: pj_get_release
      Src: /src/PROJ/src/apps/emess.cpp:33,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/emess.cpp:39,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/emess.cpp:41,1
    - Dst: fputc
      Src: /src/PROJ/src/apps/emess.cpp:43,1
    - Dst: putc
      Src: /src/PROJ/src/apps/emess.cpp:45,1
    - Dst: strerror
      Src: /src/PROJ/src/apps/emess.cpp:50,1
    - Dst: fprintf
      Src: /src/PROJ/src/apps/emess.cpp:55,1
    - Dst: vfprintf
      Src: /src/PROJ/src/apps/emess.cpp:59,1
    - Dst: va_end
      Src: /src/PROJ/src/apps/emess.cpp:60,1
    - Dst: fputs
      Src: /src/PROJ/src/apps/emess.cpp:63,1
    - Dst: exit
      Src: /src/PROJ/src/apps/emess.cpp:64,1
    - Dst: putc
      Src: /src/PROJ/src/apps/emess.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 67
    functionName: emess
    functionSourceFile: /src/PROJ/src/apps/emess.cpp
    functionUses: 5
    functionsReached:
    - getenv
    - va_end
    - fputs
    - strcmp
    - pj_get_release
    - va_start
    - strerror
    - putc
    - exit
    - vfprintf
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void emess(int code, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqdc_data *>
      Src: /src/PROJ/src/projections/eqdc.cpp:29,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/eqdc.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqdc.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqdc.cpp:35,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: eqdc_e_forward
    functionSourceFile: /src/PROJ/src/projections/eqdc.cpp
    functionUses: 0
    functionsReached:
    - pj_mlfn
    - cos
    - sin
    - static_cast<struct pj_eqdc_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eqdc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqdc_data *>
      Src: /src/PROJ/src/projections/eqdc.cpp:43,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/eqdc.cpp:45,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/eqdc.cpp:53,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/eqdc.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: eqdc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/eqdc.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - hypot
    - pj_inv_mlfn
    - static_cast<struct pj_eqdc_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eqdc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:67,1
    - Dst: free
      Src: /src/PROJ/src/projections/eqdc.cpp:69,1
    - Dst: static_cast<struct pj_eqdc_data *>
      Src: /src/PROJ/src/projections/eqdc.cpp:69,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: pj_eqdc_destructor
    functionSourceFile: /src/PROJ/src/projections/eqdc.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_eqdc_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_eqdc_destructor(PJ *P, int errlev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqdc_data *>
      Src: /src/PROJ/src/projections/eqdc.cpp:77,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eqdc.cpp:78,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:80,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/eqdc.cpp:84,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/eqdc.cpp:85,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eqdc.cpp:87,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqdc.cpp:88,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqdc.cpp:89,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:90,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eqdc.cpp:93,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqdc.cpp:94,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqdc.cpp:95,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:96,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eqdc.cpp:98,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqdc.cpp:99,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqdc.cpp:99,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:101,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/eqdc.cpp:104,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:105,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqdc.cpp:107,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:109,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eqdc.cpp:110,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/eqdc.cpp:115,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/eqdc.cpp:116,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqdc.cpp:118,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:119,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/eqdc.cpp:120,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqdc.cpp:122,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqdc.cpp:122,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:123,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/eqdc.cpp:126,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqdc.cpp:129,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqdc.cpp:129,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:130,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/eqdc.cpp:135,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqdc.cpp:135,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:135,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:138,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqdc.cpp:140,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqdc.cpp:140,1
    - Dst: pj_eqdc_destructor
      Src: /src/PROJ/src/projections/eqdc.cpp:142,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqdc.cpp:144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 152
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eqdc.cpp
    functionUses: 0
    functionsReached:
    - sin
    - pj_mlfn
    - fabs
    - cos
    - pj_msfn
    - pj_default_destructor
    - pj_eqdc_destructor
    - pj_enfn
    - calloc
    - proj_log_error
    - _
    - pj_param
    - static_cast<struct pj_eqdc_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eqdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: lask_s_forward
    functionSourceFile: /src/PROJ/src/projections/lask.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY lask_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/lask.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: natearth2_s_forward
    functionSourceFile: /src/PROJ/src/projections/natearth2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY natearth2_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/natearth2.cpp:72,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/natearth2.cpp:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 90
    functionName: natearth2_s_inverse
    functionSourceFile: /src/PROJ/src/projections/natearth2.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP natearth2_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/natearth2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(natearth2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqc_data *>
      Src: /src/PROJ/src/projections/eqc.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: eqc_s_forward
    functionSourceFile: /src/PROJ/src/projections/eqc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqc_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eqc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqc_data *>
      Src: /src/PROJ/src/projections/eqc.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: eqc_s_inverse
    functionSourceFile: /src/PROJ/src/projections/eqc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqc_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eqc_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqc_data *>
      Src: /src/PROJ/src/projections/eqc.cpp:67,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqc.cpp:69,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqc.cpp:70,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/eqc.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: eqc_e_forward
    functionSourceFile: /src/PROJ/src/projections/eqc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqc_data *>
    - pj_mlfn
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eqc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqc_data *>
      Src: /src/PROJ/src/projections/eqc.cpp:83,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/eqc.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: eqc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/eqc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqc_data *>
    - pj_inv_mlfn
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eqc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqc.cpp:96,1
    - Dst: free
      Src: /src/PROJ/src/projections/eqc.cpp:98,1
    - Dst: static_cast<struct pj_eqc_data *>
      Src: /src/PROJ/src/projections/eqc.cpp:98,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqc.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: pj_eqc_destructor
    functionSourceFile: /src/PROJ/src/projections/eqc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqc_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_eqc_destructor(PJ *P, int errlev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqc_data *>
      Src: /src/PROJ/src/projections/eqc.cpp:103,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eqc.cpp:104,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqc.cpp:106,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/eqc.cpp:110,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqc.cpp:111,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/eqc.cpp:114,1
    - Dst: _
      Src: /src/PROJ/src/projections/eqc.cpp:115,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqc.cpp:116,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqc.cpp:121,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/eqc.cpp:123,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/eqc.cpp:126,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqc.cpp:128,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/eqc.cpp:130,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqc.cpp:130,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqc.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 145
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eqc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqc_data *>
    - sqrt
    - pj_mlfn
    - cos
    - pj_default_destructor
    - pj_enfn
    - calloc
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eqc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/eck4.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eck4.cpp:37,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eck4.cpp:38,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck4.cpp:42,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eck4.cpp:49,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eck4.cpp:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: eck4_s_forward
    functionSourceFile: /src/PROJ/src/projections/eck4.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eck4_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck4.cpp:59,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/eck4.cpp:64,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eck4.cpp:65,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/eck4.cpp:68,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck4.cpp:71,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/eck4.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: eck4_s_inverse
    functionSourceFile: /src/PROJ/src/projections/eck4.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - fabs
    - proj_errno_set
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eck4_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck4.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eck4)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp6 *>
      Src: /src/PROJ/src/projections/putp6.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp6.cpp:27,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/putp6.cpp:30,1
    - Dst: log
      Src: /src/PROJ/src/projections/putp6.cpp:32,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/putp6.cpp:34,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/putp6.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 52
    functionName: putp6_s_forward
    functionSourceFile: /src/PROJ/src/projections/putp6.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - log
    - fabs
    - static_cast<struct pj_putp6 *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY putp6_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp6 *>
      Src: /src/PROJ/src/projections/putp6.cpp:56,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/putp6.cpp:60,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/putp6.cpp:62,1
    - Dst: log
      Src: /src/PROJ/src/projections/putp6.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: putp6_s_inverse
    functionSourceFile: /src/PROJ/src/projections/putp6.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - static_cast<struct pj_putp6 *>
    - log
    - aasin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP putp6_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp6 *>
      Src: /src/PROJ/src/projections/putp6.cpp:69,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp6.cpp:69,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp6.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp6.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp6 *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp6 *>
      Src: /src/PROJ/src/projections/putp6.cpp:89,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp6.cpp:89,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp6.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp6.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp6 *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp6p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/wag7.cpp:15,1
    - Dst: asin
      Src: /src/PROJ/src/projections/wag7.cpp:16,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag7.cpp:17,1
    - Dst: sin
      Src: /src/PROJ/src/projections/wag7.cpp:19,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/wag7.cpp:20,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag7.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 24
    functionName: wag7_s_forward
    functionSourceFile: /src/PROJ/src/projections/wag7.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - asin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY wag7_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/wag7.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag7)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_vandg2 *>
      Src: /src/PROJ/src/projections/vandg2.cpp:22,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg2.cpp:25,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg2.cpp:30,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg2.cpp:31,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg2.cpp:35,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg2.cpp:38,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg2.cpp:41,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg2.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 53
    functionName: vandg2_s_forward
    functionSourceFile: /src/PROJ/src/projections/vandg2.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - static_cast<struct pj_vandg2 *>
    - fabs
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY vandg2_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_vandg2 *>
      Src: /src/PROJ/src/projections/vandg2.cpp:57,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/vandg2.cpp:57,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/vandg2.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/vandg2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_vandg2 *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(vandg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_vandg2 *>
      Src: /src/PROJ/src/projections/vandg2.cpp:70,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/vandg2.cpp:70,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/vandg2.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/vandg2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_vandg2 *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(vandg3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqearth *>
      Src: /src/PROJ/src/projections/eqearth.cpp:45,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqearth.cpp:50,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/eqearth.cpp:54,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eqearth.cpp:57,1
    - Dst: asin
      Src: /src/PROJ/src/projections/eqearth.cpp:62,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqearth.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: eqearth_e_forward
    functionSourceFile: /src/PROJ/src/projections/eqearth.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_eqearth *>
    - fabs
    - cos
    - asin
    - pj_authalic_lat_q
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: "PJ_XY eqearth_e_forward(PJ_LP lp,\n                               PJ
      *P)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqearth *>
      Src: /src/PROJ/src/projections/eqearth.cpp:80,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eqearth.cpp:109,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/eqearth.cpp:114,1
    - Dst: cos
      Src: /src/PROJ/src/projections/eqearth.cpp:124,1
    - Dst: asin
      Src: /src/PROJ/src/projections/eqearth.cpp:127,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eqearth.cpp:127,1
    - Dst: pj_authalic_lat_inverse
      Src: /src/PROJ/src/projections/eqearth.cpp:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 134
    functionName: eqearth_e_inverse
    functionSourceFile: /src/PROJ/src/projections/eqearth.cpp
    functionUses: 0
    functionsReached:
    - pj_authalic_lat_inverse
    - static_cast<struct pj_eqearth *>
    - cos
    - fabs
    - asin
    - proj_context_errno_set
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: "PJ_LP eqearth_e_inverse(PJ_XY xy,\n                               PJ
      *P)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqearth.cpp:141,1
    - Dst: free
      Src: /src/PROJ/src/projections/eqearth.cpp:143,1
    - Dst: static_cast<struct pj_eqearth *>
      Src: /src/PROJ/src/projections/eqearth.cpp:143,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqearth.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: destructor
    functionSourceFile: /src/PROJ/src/projections/eqearth.cpp
    functionUses: 13
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_eqearth *>
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_eqearth *>
      Src: /src/PROJ/src/projections/eqearth.cpp:149,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eqearth.cpp:149,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eqearth.cpp:151,1
    - Dst: pj_authalic_lat_compute_coeffs
      Src: /src/PROJ/src/projections/eqearth.cpp:160,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/eqearth.cpp:162,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/eqearth.cpp:163,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/eqearth.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eqearth.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - destructor
    - static_cast<struct pj_eqearth *>
    - pj_default_destructor
    - pj_authalic_lat_q
    - pj_authalic_lat_compute_coeffs
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eqearth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: comill_s_forward
    functionSourceFile: /src/PROJ/src/projections/comill.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY comill_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/comill.cpp:61,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/comill.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: comill_s_inverse
    functionSourceFile: /src/PROJ/src/projections/comill.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP comill_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/comill.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(comill)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aitoff_data *>
      Src: /src/PROJ/src/projections/aitoff.cpp:57,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:63,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aitoff.cpp:64,1
    - Dst: acos
      Src: /src/PROJ/src/projections/aitoff.cpp:69,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:69,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:69,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:71,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:71,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:71,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: aitoff_s_forward
    functionSourceFile: /src/PROJ/src/projections/aitoff.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - acos
    - cos
    - fabs
    - static_cast<struct pj_aitoff_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY aitoff_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aitoff_data *>
      Src: /src/PROJ/src/projections/aitoff.cpp:106,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:111,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:111,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:123,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:124,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:125,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:126,1
    - Dst: pow
      Src: /src/PROJ/src/projections/aitoff.cpp:129,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aitoff.cpp:131,1
    - Dst: acos
      Src: /src/PROJ/src/projections/aitoff.cpp:135,1
    - Dst: fmod
      Src: /src/PROJ/src/projections/aitoff.cpp:155,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:158,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:158,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:168,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:168,1
    - Dst: acos
      Src: /src/PROJ/src/projections/aitoff.cpp:173,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:173,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:173,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:175,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:176,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:176,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aitoff.cpp:177,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:186,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aitoff.cpp:186,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/aitoff.cpp:190,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 197
    functionName: aitoff_s_inverse
    functionSourceFile: /src/PROJ/src/projections/aitoff.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sin
    - acos
    - cos
    - fabs
    - fmod
    - proj_context_errno_set
    - static_cast<struct pj_aitoff_data *>
    - pow
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP aitoff_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: pj_aitoff_setup
    functionSourceFile: /src/PROJ/src/projections/aitoff.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_aitoff_setup(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aitoff_data *>
      Src: /src/PROJ/src/projections/aitoff.cpp:207,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/aitoff.cpp:208,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aitoff.cpp:210,1
    - Dst: pj_aitoff_setup
      Src: /src/PROJ/src/projections/aitoff.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/aitoff.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_aitoff_data *>
    - pj_default_destructor
    - calloc
    - pj_aitoff_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(aitoff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aitoff_data *>
      Src: /src/PROJ/src/projections/aitoff.cpp:218,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/aitoff.cpp:219,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aitoff.cpp:221,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aitoff.cpp:225,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aitoff.cpp:226,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aitoff.cpp:226,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/aitoff.cpp:227,1
    - Dst: _
      Src: /src/PROJ/src/projections/aitoff.cpp:228,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aitoff.cpp:229,1
    - Dst: pj_aitoff_setup
      Src: /src/PROJ/src/projections/aitoff.cpp:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/aitoff.cpp
    functionUses: 0
    functionsReached:
    - pj_aitoff_setup
    - cos
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - static_cast<struct pj_aitoff_data *>
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wintri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:26,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:26,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpq.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpq.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpq.cpp:29,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpq.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpq.cpp:32,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: mbtfpq_s_forward
    functionSourceFile: /src/PROJ/src/projections/mbtfpq.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY mbtfpq_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpq.cpp:42,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpq.cpp:43,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/mbtfpq.cpp:44,1
    - Dst: asin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:55,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpq.cpp:57,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpq.cpp:57,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:58,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpq.cpp:59,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpq.cpp:60,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/mbtfpq.cpp:61,1
    - Dst: asin
      Src: /src/PROJ/src/projections/mbtfpq.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 68
    functionName: mbtfpq_s_inverse
    functionSourceFile: /src/PROJ/src/projections/mbtfpq.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - fabs
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP mbtfpq_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mbtfpq.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mbtfpq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/collg.cpp:16,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/collg.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: collg_s_forward
    functionSourceFile: /src/PROJ/src/projections/collg.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY collg_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/collg.cpp:30,1
    - Dst: asin
      Src: /src/PROJ/src/projections/collg.cpp:31,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/collg.cpp:32,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/collg.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/collg.cpp:39,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/collg.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: collg_s_inverse
    functionSourceFile: /src/PROJ/src/projections/collg.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP collg_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/collg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(collg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/crast.cpp:19,1
    - Dst: sin
      Src: /src/PROJ/src/projections/crast.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: crast_s_forward
    functionSourceFile: /src/PROJ/src/projections/crast.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY crast_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/PROJ/src/projections/crast.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/crast.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: crast_s_inverse
    functionSourceFile: /src/PROJ/src/projections/crast.cpp
    functionUses: 0
    functionsReached:
    - asin
    - cos
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP crast_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/crast.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(crast)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_nsper_data *>
      Src: /src/PROJ/src/projections/nsper.cpp:42,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nsper.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nsper.cpp:46,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nsper.cpp:47,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/nsper.cpp:63,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nsper.cpp:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 91
    functionName: nsper_s_forward
    functionSourceFile: /src/PROJ/src/projections/nsper.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sin
    - cos
    - static_cast<struct pj_nsper_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY nsper_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_nsper_data *>
      Src: /src/PROJ/src/projections/nsper.cpp:95,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/nsper.cpp:107,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nsper.cpp:108,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/nsper.cpp:115,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/nsper.cpp:118,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/nsper.cpp:119,1
    - Dst: asin
      Src: /src/PROJ/src/projections/nsper.cpp:122,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nsper.cpp:123,1
    - Dst: asin
      Src: /src/PROJ/src/projections/nsper.cpp:127,1
    - Dst: asin
      Src: /src/PROJ/src/projections/nsper.cpp:132,1
    - Dst: asin
      Src: /src/PROJ/src/projections/nsper.cpp:136,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/nsper.cpp:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 142
    functionName: nsper_s_inverse
    functionSourceFile: /src/PROJ/src/projections/nsper.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - fabs
    - atan2
    - asin
    - static_cast<struct pj_nsper_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP nsper_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_nsper_data *>
      Src: /src/PROJ/src/projections/nsper.cpp:145,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/nsper.cpp:147,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nsper.cpp:149,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nsper.cpp:149,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nsper.cpp:151,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nsper.cpp:155,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nsper.cpp:156,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/nsper.cpp:160,1
    - Dst: _
      Src: /src/PROJ/src/projections/nsper.cpp:160,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/nsper.cpp:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: nsper_setup
    functionSourceFile: /src/PROJ/src/projections/nsper.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - pj_default_destructor
    - static_cast<struct pj_nsper_data *>
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *nsper_setup(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_nsper_data *>
      Src: /src/PROJ/src/projections/nsper.cpp:175,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/nsper.cpp:176,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/nsper.cpp:178,1
    - Dst: nsper_setup
      Src: /src/PROJ/src/projections/nsper.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/nsper.cpp
    functionUses: 0
    functionsReached:
    - nsper_setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_nsper_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(nsper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_nsper_data *>
      Src: /src/PROJ/src/projections/nsper.cpp:189,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/nsper.cpp:190,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/nsper.cpp:192,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/nsper.cpp:195,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/nsper.cpp:196,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nsper.cpp:198,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nsper.cpp:199,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nsper.cpp:200,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nsper.cpp:201,1
    - Dst: nsper_setup
      Src: /src/PROJ/src/projections/nsper.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/nsper.cpp
    functionUses: 0
    functionsReached:
    - cos
    - nsper_setup
    - pj_default_destructor
    - static_cast<struct pj_nsper_data *>
    - calloc
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tpers)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/PROJ/src/projections/qsc.cpp:88,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/qsc.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - phi
    - y
    - x
    - area
    argTypes:
    - double
    - double
    - double
    - enum pj_qsc_ns::Area*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 104
    functionName: qsc_fwd_equat_face_theta
    functionSourceFile: /src/PROJ/src/projections/qsc.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - fabs
    linkageType: ''
    returnType: double
    signature: "double qsc_fwd_equat_face_theta(double phi, double y, double x,\n
      \                                      enum pj_qsc_ns::Area *area)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - longitude
    - offset
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: qsc_shift_longitude_origin
    functionSourceFile: /src/PROJ/src/projections/qsc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double qsc_shift_longitude_origin(double longitude, double offset)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_qsc_data *>
      Src: /src/PROJ/src/projections/qsc.cpp:119,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:129,1
    - Dst: tan
      Src: /src/PROJ/src/projections/qsc.cpp:129,1
    - Dst: qsc_shift_longitude_origin
      Src: /src/PROJ/src/projections/qsc.cpp:179,1
    - Dst: qsc_shift_longitude_origin
      Src: /src/PROJ/src/projections/qsc.cpp:181,1
    - Dst: qsc_shift_longitude_origin
      Src: /src/PROJ/src/projections/qsc.cpp:183,1
    - Dst: sin
      Src: /src/PROJ/src/projections/qsc.cpp:185,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:186,1
    - Dst: sin
      Src: /src/PROJ/src/projections/qsc.cpp:187,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:188,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:194,1
    - Dst: qsc_fwd_equat_face_theta
      Src: /src/PROJ/src/projections/qsc.cpp:195,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:197,1
    - Dst: qsc_fwd_equat_face_theta
      Src: /src/PROJ/src/projections/qsc.cpp:198,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:200,1
    - Dst: qsc_fwd_equat_face_theta
      Src: /src/PROJ/src/projections/qsc.cpp:201,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:203,1
    - Dst: qsc_fwd_equat_face_theta
      Src: /src/PROJ/src/projections/qsc.cpp:204,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:215,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:216,1
    - Dst: sin
      Src: /src/PROJ/src/projections/qsc.cpp:216,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:216,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:217,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:217,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:217,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:217,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:218,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:218,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:218,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:232,1
    - Dst: sin
      Src: /src/PROJ/src/projections/qsc.cpp:233,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 235
    functionName: qsc_e_forward
    functionSourceFile: /src/PROJ/src/projections/qsc.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - acos
    - cos
    - tan
    - qsc_shift_longitude_origin
    - atan
    - static_cast<struct pj_qsc_data *>
    - qsc_fwd_equat_face_theta
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY qsc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_qsc_data *>
      Src: /src/PROJ/src/projections/qsc.cpp:239,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:247,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:247,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/qsc.cpp:248,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/qsc.cpp:249,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/qsc.cpp:251,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/qsc.cpp:254,1
    - Dst: tan
      Src: /src/PROJ/src/projections/qsc.cpp:267,1
    - Dst: sin
      Src: /src/PROJ/src/projections/qsc.cpp:268,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:268,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:268,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:269,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:270,1
    - Dst: tan
      Src: /src/PROJ/src/projections/qsc.cpp:271,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:273,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:273,1
    - Dst: cos
      Src: /src/PROJ/src/projections/qsc.cpp:273,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:285,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:297,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:316,1
    - Dst: sin
      Src: /src/PROJ/src/projections/qsc.cpp:316,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:322,1
    - Dst: acos
      Src: /src/PROJ/src/projections/qsc.cpp:351,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/qsc.cpp:352,1
    - Dst: qsc_shift_longitude_origin
      Src: /src/PROJ/src/projections/qsc.cpp:354,1
    - Dst: qsc_shift_longitude_origin
      Src: /src/PROJ/src/projections/qsc.cpp:356,1
    - Dst: qsc_shift_longitude_origin
      Src: /src/PROJ/src/projections/qsc.cpp:358,1
    - Dst: tan
      Src: /src/PROJ/src/projections/qsc.cpp:368,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:369,1
    - Dst: atan
      Src: /src/PROJ/src/projections/qsc.cpp:370,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:370,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 376
    functionName: qsc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/qsc.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - acos
    - fabs
    - tan
    - cos
    - atan2
    - qsc_shift_longitude_origin
    - atan
    - static_cast<struct pj_qsc_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP qsc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_qsc_data *>
      Src: /src/PROJ/src/projections/qsc.cpp:379,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/qsc.cpp:380,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/qsc.cpp:382,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/qsc.cpp:392,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/qsc.cpp:394,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/qsc.cpp:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 410
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/qsc.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_qsc_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(qsc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_laea_data *>
      Src: /src/PROJ/src/projections/laea.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:34,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:35,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:36,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:37,1
    - Dst: pj_authalic_lat
      Src: /src/PROJ/src/projections/laea.cpp:38,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:39,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:42,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:43,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:62,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/laea.cpp:63,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:69,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:74,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 90
    functionName: laea_e_forward
    functionSourceFile: /src/PROJ/src/projections/laea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - cos
    - pj_authalic_lat
    - static_cast<struct pj_laea_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY laea_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_laea_data *>
      Src: /src/PROJ/src/projections/laea.cpp:94,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:97,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:98,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:99,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/laea.cpp:108,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:111,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:112,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:121,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/laea.cpp:122,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:126,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:126,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: laea_s_forward
    functionSourceFile: /src/PROJ/src/projections/laea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - fabs
    - static_cast<struct pj_laea_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY laea_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_laea_data *>
      Src: /src/PROJ/src/projections/laea.cpp:136,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/laea.cpp:144,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/laea.cpp:152,1
    - Dst: asin
      Src: /src/PROJ/src/projections/laea.cpp:155,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:156,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:157,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/laea.cpp:183,1
    - Dst: pj_authalic_lat_inverse
      Src: /src/PROJ/src/projections/laea.cpp:184,1
    - Dst: asin
      Src: /src/PROJ/src/projections/laea.cpp:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 186
    functionName: laea_e_inverse
    functionSourceFile: /src/PROJ/src/projections/laea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - pj_authalic_lat_inverse
    - cos
    - atan2
    - asin
    - static_cast<struct pj_laea_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP laea_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_laea_data *>
      Src: /src/PROJ/src/projections/laea.cpp:190,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/laea.cpp:193,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/laea.cpp:195,1
    - Dst: asin
      Src: /src/PROJ/src/projections/laea.cpp:198,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:200,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:201,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:205,1
    - Dst: asin
      Src: /src/PROJ/src/projections/laea.cpp:205,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:210,1
    - Dst: asin
      Src: /src/PROJ/src/projections/laea.cpp:212,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:214,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/laea.cpp:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: laea_s_inverse
    functionSourceFile: /src/PROJ/src/projections/laea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - cos
    - fabs
    - atan2
    - asin
    - static_cast<struct pj_laea_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP laea_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/laea.cpp:236,1
    - Dst: free
      Src: /src/PROJ/src/projections/laea.cpp:238,1
    - Dst: static_cast<struct pj_laea_data *>
      Src: /src/PROJ/src/projections/laea.cpp:238,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/laea.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: pj_laea_destructor
    functionSourceFile: /src/PROJ/src/projections/laea.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_laea_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_laea_destructor(PJ *P, int errlev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_laea_data *>
      Src: /src/PROJ/src/projections/laea.cpp:245,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/laea.cpp:246,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/laea.cpp:248,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:252,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/laea.cpp:254,1
    - Dst: _
      Src: /src/PROJ/src/projections/laea.cpp:255,1
    - Dst: pj_laea_destructor
      Src: /src/PROJ/src/projections/laea.cpp:256,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:258,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/laea.cpp:260,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:267,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/laea.cpp:268,1
    - Dst: pj_authalic_lat_compute_coeffs
      Src: /src/PROJ/src/projections/laea.cpp:270,1
    - Dst: pj_laea_destructor
      Src: /src/PROJ/src/projections/laea.cpp:272,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:279,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:284,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:285,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:286,1
    - Dst: pj_authalic_lat
      Src: /src/PROJ/src/projections/laea.cpp:288,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:289,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:290,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:291,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/laea.cpp:292,1
    - Dst: sin
      Src: /src/PROJ/src/projections/laea.cpp:301,1
    - Dst: cos
      Src: /src/PROJ/src/projections/laea.cpp:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 309
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/laea.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - pj_laea_destructor
    - cos
    - pj_default_destructor
    - pj_authalic_lat_q
    - pj_authalic_lat
    - pj_authalic_lat_compute_coeffs
    - calloc
    - proj_log_error
    - _
    - static_cast<struct pj_laea_data *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(laea)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:17,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:20,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:20,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:20,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:24,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg4.cpp:30,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:31,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg4.cpp:40,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg4.cpp:42,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg4.cpp:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 49
    functionName: vandg4_s_forward
    functionSourceFile: /src/PROJ/src/projections/vandg4.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY vandg4_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/vandg4.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(vandg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: natearth_s_forward
    functionSourceFile: /src/PROJ/src/projections/natearth.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY natearth_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/natearth.cpp:78,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/natearth.cpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: natearth_s_inverse
    functionSourceFile: /src/PROJ/src/projections/natearth.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP natearth_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/natearth.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(natearth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: patterson_s_forward
    functionSourceFile: /src/PROJ/src/projections/patterson.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY patterson_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/patterson.cpp:96,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/patterson.cpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 109
    functionName: patterson_s_inverse
    functionSourceFile: /src/PROJ/src/projections/patterson.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno_set
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP patterson_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/patterson.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(patterson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pq_hammer *>
      Src: /src/PROJ/src/projections/hammer.cpp:23,1
    - Dst: cos
      Src: /src/PROJ/src/projections/hammer.cpp:26,1
    - Dst: cos
      Src: /src/PROJ/src/projections/hammer.cpp:28,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/hammer.cpp:30,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/hammer.cpp:31,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/hammer.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/hammer.cpp:34,1
    - Dst: sin
      Src: /src/PROJ/src/projections/hammer.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: hammer_s_forward
    functionSourceFile: /src/PROJ/src/projections/hammer.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - static_cast<struct pq_hammer *>
    - proj_coord_error
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY hammer_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pq_hammer *>
      Src: /src/PROJ/src/projections/hammer.cpp:41,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/hammer.cpp:44,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hammer.cpp:45,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/hammer.cpp:48,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/hammer.cpp:50,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/hammer.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: hammer_s_inverse
    functionSourceFile: /src/PROJ/src/projections/hammer.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - aasin
    - aatan2
    - static_cast<struct pq_hammer *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP hammer_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pq_hammer *>
      Src: /src/PROJ/src/projections/hammer.cpp:58,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/hammer.cpp:58,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/hammer.cpp:60,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/hammer.cpp:63,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hammer.cpp:64,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/hammer.cpp:64,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/hammer.cpp:66,1
    - Dst: _
      Src: /src/PROJ/src/projections/hammer.cpp:66,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/hammer.cpp:67,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/hammer.cpp:72,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hammer.cpp:73,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/hammer.cpp:73,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/hammer.cpp:75,1
    - Dst: _
      Src: /src/PROJ/src/projections/hammer.cpp:75,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/hammer.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/hammer.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - pj_default_destructor
    - static_cast<struct pq_hammer *>
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(hammer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/tcc.cpp:15,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tcc.cpp:15,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tcc.cpp:18,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tcc.cpp:21,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tcc.cpp:22,1
    - Dst: tan
      Src: /src/PROJ/src/projections/tcc.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tcc.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 24
    functionName: tcc_s_forward
    functionSourceFile: /src/PROJ/src/projections/tcc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - tan
    - atan2
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY tcc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tcc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: sign
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sign(double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/healpix.cpp:96,1
    - Dst: sin
      Src: /src/PROJ/src/projections/healpix.cpp:96,1
    - Dst: cos
      Src: /src/PROJ/src/projections/healpix.cpp:97,1
    - Dst: sin
      Src: /src/PROJ/src/projections/healpix.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - angle
    argTypes:
    - PJ_XY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: rotate
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY rotate(PJ_XY p, double angle)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: get_rotate_index
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_rotate_index(int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/PROJ/src/projections/healpix.cpp:151,1
    - Dst: MAX
      Src: /src/PROJ/src/projections/healpix.cpp:151,1
    - Dst: MAX
      Src: /src/PROJ/src/projections/healpix.cpp:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - nvert
    - vert
    - testx
    - testy
    argTypes:
    - int
    - double[][]
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: pnpoly
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: int
    signature: int pnpoly(int nvert, double vert[][2], double testx, double testy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pnpoly
      Src: /src/PROJ/src/projections/healpix.cpp:196,1
    - Dst: pnpoly
      Src: /src/PROJ/src/projections/healpix.cpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - x
    - y
    - proj
    - north_square
    - south_square
    argTypes:
    - double
    - double
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 223
    functionName: in_image
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - pnpoly
    linkageType: ''
    returnType: int
    signature: "int in_image(double x, double y, int proj, int north_square,\n                    int
      south_square)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:232,1
    - Dst: pj_authalic_lat
      Src: /src/PROJ/src/projections/healpix.cpp:235,1
    - Dst: sin
      Src: /src/PROJ/src/projections/healpix.cpp:235,1
    - Dst: cos
      Src: /src/PROJ/src/projections/healpix.cpp:235,1
    - Dst: pj_authalic_lat_inverse
      Src: /src/PROJ/src/projections/healpix.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - P
    - alpha
    - inverse
    argTypes:
    - PJ*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: auth_lat
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - pj_authalic_lat_inverse
    - cos
    - pj_authalic_lat
    - static_cast<const struct pj_healpix_data *>
    - sin
    linkageType: ''
    returnType: double
    signature: double auth_lat(PJ *P, double alpha, int inverse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/PROJ/src/projections/healpix.cpp:249,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/healpix.cpp:253,1
    - Dst: sin
      Src: /src/PROJ/src/projections/healpix.cpp:255,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/healpix.cpp:258,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/healpix.cpp:258,1
    - Dst: sin
      Src: /src/PROJ/src/projections/healpix.cpp:258,1
    - Dst: floor
      Src: /src/PROJ/src/projections/healpix.cpp:259,1
    - Dst: sign
      Src: /src/PROJ/src/projections/healpix.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - lp
    argTypes:
    - PJ_LP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 268
    functionName: healpix_sphere
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - asin
    - sign
    - floor
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY healpix_sphere(PJ_LP lp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/healpix.cpp:280,1
    - Dst: asin
      Src: /src/PROJ/src/projections/healpix.cpp:282,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/healpix.cpp:283,1
    - Dst: floor
      Src: /src/PROJ/src/projections/healpix.cpp:284,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/healpix.cpp:290,1
    - Dst: sign
      Src: /src/PROJ/src/projections/healpix.cpp:292,1
    - Dst: asin
      Src: /src/PROJ/src/projections/healpix.cpp:292,1
    - Dst: pow
      Src: /src/PROJ/src/projections/healpix.cpp:292,1
    - Dst: sign
      Src: /src/PROJ/src/projections/healpix.cpp:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - xy
    argTypes:
    - PJ_XY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 298
    functionName: healpix_spherhealpix_e_inverse
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - asin
    - sign
    - floor
    - pow
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP healpix_spherhealpix_e_inverse(PJ_XY xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - ret
    argTypes:
    - double[]
    - double[]
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: vector_add
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_add(const double a[2], const double b[2], double *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - ret
    argTypes:
    - double[]
    - double[]
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: vector_sub
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_sub(const double a[2], const double b[2], double *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - ret
    argTypes:
    - double[][]
    - double[]
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: dot_product
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dot_product(const double a[2][2], const double b[2], double *ret)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 5
    argNames:
    - x
    - y
    - north_square
    - south_square
    - inverse
    argTypes:
    - double
    - double
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 424
    functionName: get_cap
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CapMap
    signature: "CapMap get_cap(double x, double y, int north_square, int south_square,\n
      \                     int inverse)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cap
      Src: /src/PROJ/src/projections/healpix.cpp:444,1
    - Dst: get_rotate_index
      Src: /src/PROJ/src/projections/healpix.cpp:460,1
    - Dst: get_rotate_index
      Src: /src/PROJ/src/projections/healpix.cpp:463,1
    - Dst: get_rotate_index
      Src: /src/PROJ/src/projections/healpix.cpp:472,1
    - Dst: get_rotate_index
      Src: /src/PROJ/src/projections/healpix.cpp:475,1
    - Dst: vector_sub
      Src: /src/PROJ/src/projections/healpix.cpp:479,1
    - Dst: dot_product
      Src: /src/PROJ/src/projections/healpix.cpp:480,1
    - Dst: vector_add
      Src: /src/PROJ/src/projections/healpix.cpp:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - x
    - y
    - north_square
    - south_square
    - inverse
    argTypes:
    - double
    - double
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 491
    functionName: combine_caps
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - get_cap
    - vector_add
    - dot_product
    - get_rotate_index
    - vector_sub
    linkageType: ''
    returnType: PJ_XY
    signature: "PJ_XY combine_caps(double x, double y, int north_square,\n                          int
      south_square, int inverse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:496,1
    - Dst: rotate
      Src: /src/PROJ/src/projections/healpix.cpp:497,1
    - Dst: healpix_sphere
      Src: /src/PROJ/src/projections/healpix.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: s_healpix_forward
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - rotate
    - static_cast<struct pj_healpix_data *>
    - healpix_sphere
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY s_healpix_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auth_lat
      Src: /src/PROJ/src/projections/healpix.cpp:501,1
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:503,1
    - Dst: rotate
      Src: /src/PROJ/src/projections/healpix.cpp:504,1
    - Dst: healpix_sphere
      Src: /src/PROJ/src/projections/healpix.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: e_healpix_forward
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - auth_lat
    - rotate
    - static_cast<struct pj_healpix_data *>
    - healpix_sphere
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY e_healpix_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:509,1
    - Dst: rotate
      Src: /src/PROJ/src/projections/healpix.cpp:510,1
    - Dst: in_image
      Src: /src/PROJ/src/projections/healpix.cpp:513,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/healpix.cpp:517,1
    - Dst: healpix_spherhealpix_e_inverse
      Src: /src/PROJ/src/projections/healpix.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: s_healpix_inverse
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - healpix_spherhealpix_e_inverse
    - rotate
    - in_image
    - proj_context_errno_set
    - static_cast<struct pj_healpix_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP s_healpix_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:527,1
    - Dst: rotate
      Src: /src/PROJ/src/projections/healpix.cpp:528,1
    - Dst: in_image
      Src: /src/PROJ/src/projections/healpix.cpp:531,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/healpix.cpp:534,1
    - Dst: healpix_spherhealpix_e_inverse
      Src: /src/PROJ/src/projections/healpix.cpp:538,1
    - Dst: auth_lat
      Src: /src/PROJ/src/projections/healpix.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 541
    functionName: e_healpix_inverse
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - healpix_spherhealpix_e_inverse
    - rotate
    - in_image
    - proj_context_errno_set
    - static_cast<struct pj_healpix_data *>
    - auth_lat
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP e_healpix_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:545,1
    - Dst: healpix_sphere
      Src: /src/PROJ/src/projections/healpix.cpp:547,1
    - Dst: combine_caps
      Src: /src/PROJ/src/projections/healpix.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: s_rhealpix_forward
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - combine_caps
    - static_cast<struct pj_healpix_data *>
    - healpix_sphere
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY s_rhealpix_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:553,1
    - Dst: auth_lat
      Src: /src/PROJ/src/projections/healpix.cpp:555,1
    - Dst: healpix_sphere
      Src: /src/PROJ/src/projections/healpix.cpp:556,1
    - Dst: combine_caps
      Src: /src/PROJ/src/projections/healpix.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: e_rhealpix_forward
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - combine_caps
    - auth_lat
    - static_cast<struct pj_healpix_data *>
    - healpix_sphere
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY e_rhealpix_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:562,1
    - Dst: in_image
      Src: /src/PROJ/src/projections/healpix.cpp:565,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/healpix.cpp:569,1
    - Dst: combine_caps
      Src: /src/PROJ/src/projections/healpix.cpp:573,1
    - Dst: healpix_spherhealpix_e_inverse
      Src: /src/PROJ/src/projections/healpix.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: s_rhealpix_inverse
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - healpix_spherhealpix_e_inverse
    - in_image
    - proj_context_errno_set
    - static_cast<struct pj_healpix_data *>
    - combine_caps
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP s_rhealpix_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:579,1
    - Dst: in_image
      Src: /src/PROJ/src/projections/healpix.cpp:583,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/healpix.cpp:586,1
    - Dst: combine_caps
      Src: /src/PROJ/src/projections/healpix.cpp:590,1
    - Dst: healpix_spherhealpix_e_inverse
      Src: /src/PROJ/src/projections/healpix.cpp:591,1
    - Dst: auth_lat
      Src: /src/PROJ/src/projections/healpix.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: e_rhealpix_inverse
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - healpix_spherhealpix_e_inverse
    - in_image
    - proj_context_errno_set
    - static_cast<struct pj_healpix_data *>
    - auth_lat
    - combine_caps
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP e_rhealpix_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:601,1
    - Dst: free
      Src: /src/PROJ/src/projections/healpix.cpp:603,1
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:603,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 5
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: pj_healpix_data_destructor
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_healpix_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_healpix_data_destructor(PJ *P, int errlev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:608,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/healpix.cpp:609,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:611,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/healpix.cpp:615,1
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/projections/healpix.cpp:616,1
    - Dst: pj_authalic_lat_compute_coeffs
      Src: /src/PROJ/src/projections/healpix.cpp:619,1
    - Dst: pj_healpix_data_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:621,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/healpix.cpp:622,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/healpix.cpp:623,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/projections/healpix.cpp:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_healpix_data_destructor
    - PJ_TORAD
    - pj_default_destructor
    - pj_authalic_lat_q
    - pj_calc_ellipsoid_params
    - pj_authalic_lat_compute_coeffs
    - calloc
    - static_cast<struct pj_healpix_data *>
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(healpix)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_healpix_data *>
      Src: /src/PROJ/src/projections/healpix.cpp:637,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/healpix.cpp:638,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:640,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/healpix.cpp:644,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/healpix.cpp:645,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/healpix.cpp:649,1
    - Dst: _
      Src: /src/PROJ/src/projections/healpix.cpp:651,1
    - Dst: pj_healpix_data_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:652,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/healpix.cpp:656,1
    - Dst: _
      Src: /src/PROJ/src/projections/healpix.cpp:658,1
    - Dst: pj_healpix_data_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:659,1
    - Dst: pj_authalic_lat_compute_coeffs
      Src: /src/PROJ/src/projections/healpix.cpp:663,1
    - Dst: pj_healpix_data_destructor
      Src: /src/PROJ/src/projections/healpix.cpp:665,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/healpix.cpp:666,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/healpix.cpp:667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 636
    functionDepth: 6
    functionLinenumber: 636
    functionLinenumberEnd: 677
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/healpix.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_healpix_data_destructor
    - pj_default_destructor
    - pj_authalic_lat_q
    - pj_authalic_lat_compute_coeffs
    - calloc
    - static_cast<struct pj_healpix_data *>
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(rhealpix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_igh_data *>
      Src: /src/PROJ/src/projections/igh.cpp:64,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/igh.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 97
    functionName: igh_s_forward
    functionSourceFile: /src/PROJ/src/projections/igh.cpp
    functionUses: 0
    functionsReached:
    - fwd
    - static_cast<struct pj_igh_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY igh_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_igh_data *>
      Src: /src/PROJ/src/projections/igh.cpp:102,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/igh.cpp:104,1
    - Dst: inv
      Src: /src/PROJ/src/projections/igh.cpp:138,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 74
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 194
    functionName: igh_s_inverse
    functionSourceFile: /src/PROJ/src/projections/igh.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - inv
    - static_cast<struct pj_igh_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP igh_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/igh.cpp:203,1
    - Dst: static_cast<struct pj_igh_data *>
      Src: /src/PROJ/src/projections/igh.cpp:205,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/igh.cpp:209,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/igh.cpp:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: pj_igh_data_destructor
    functionSourceFile: /src/PROJ/src/projections/igh.cpp
    functionUses: 0
    functionsReached:
    - destructor
    - pj_default_destructor
    - static_cast<struct pj_igh_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_igh_data_destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/igh.cpp:238,1
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/igh.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - P
    - Q
    - n
    - (*proj_ptr)(PJ *)
    - x_0
    - y_0
    - lon_0
    argTypes:
    - PJ*
    - struct pj_igh_ns::pj_igh_data*
    - int
    - PJ*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: pj_igh_setup_zone
    functionSourceFile: /src/PROJ/src/projections/igh.cpp
    functionUses: 0
    functionsReached:
    - proj_ptr
    linkageType: ''
    returnType: bool
    signature: "bool pj_igh_setup_zone(PJ *P, struct pj_igh_ns::pj_igh_data *Q, int
      n,\n                              PJ *(*proj_ptr)(PJ *), double x_0, double
      y_0,\n                              double lon_0)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_igh_data *>
      Src: /src/PROJ/src/projections/igh.cpp:254,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/igh.cpp:255,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/igh.cpp:257,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:261,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:262,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:263,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:264,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:265,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:266,1
    - Dst: pj_igh_data_destructor
      Src: /src/PROJ/src/projections/igh.cpp:267,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:271,1
    - Dst: pj_igh_data_destructor
      Src: /src/PROJ/src/projections/igh.cpp:272,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/igh.cpp:276,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/igh.cpp:277,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:284,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:285,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:286,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:287,1
    - Dst: pj_igh_setup_zone
      Src: /src/PROJ/src/projections/igh.cpp:288,1
    - Dst: pj_igh_data_destructor
      Src: /src/PROJ/src/projections/igh.cpp:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 249
    functionDepth: 6
    functionLinenumber: 249
    functionLinenumberEnd: 298
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/igh.cpp
    functionUses: 0
    functionsReached:
    - pj_igh_data_destructor
    - static_cast<struct pj_igh_data *>
    - pj_default_destructor
    - fwd
    - calloc
    - pj_igh_setup_zone
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(igh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imoll_data *>
      Src: /src/PROJ/src/projections/imoll.cpp:65,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/imoll.cpp:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: imoll_s_forward
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 0
    functionsReached:
    - fwd
    - static_cast<struct pj_imoll_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY imoll_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imoll_data *>
      Src: /src/PROJ/src/projections/imoll.cpp:93,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imoll.cpp:94,1
    - Dst: inv
      Src: /src/PROJ/src/projections/imoll.cpp:117,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 155
    functionName: imoll_s_inverse
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - inv
    - static_cast<struct pj_imoll_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP imoll_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imoll.cpp:165,1
    - Dst: static_cast<struct pj_imoll_data *>
      Src: /src/PROJ/src/projections/imoll.cpp:167,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/imoll.cpp:171,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imoll.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 175
    functionName: pj_imoll_destructor
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 0
    functionsReached:
    - destructor
    - pj_default_destructor
    - static_cast<struct pj_imoll_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_imoll_destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/imoll.cpp:200,1
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/imoll.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - P
    - Q
    - n
    - (*proj_ptr)(PJ *)
    - x_0
    - y_0
    - lon_0
    argTypes:
    - PJ*
    - struct pj_imoll_ns::pj_imoll_data*
    - int
    - PJ*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: setup_zone
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 1
    functionsReached:
    - proj_ptr
    linkageType: ''
    returnType: bool
    signature: "bool setup_zone(PJ *P, struct pj_imoll_ns::pj_imoll_data *Q, int n,\n
      \                      PJ *(*proj_ptr)(PJ *), double x_0, double y_0,\n                       double
      lon_0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwd
      Src: /src/PROJ/src/projections/imoll.cpp:221,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/imoll.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - Q
    - zone1
    - zone2
    - lam
    - phi1
    - phi2
    argTypes:
    - struct pj_imoll_ns::pj_imoll_data*
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: compute_zone_offset
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 0
    functionsReached:
    - fwd
    linkageType: ''
    returnType: double
    signature: "double compute_zone_offset(struct pj_imoll_ns::pj_imoll_data *Q,\n
      \                                 int zone1, int zone2, double lam, double phi1,\n
      \                                 double phi2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imoll_s_forward
      Src: /src/PROJ/src/projections/imoll.cpp:234,1
    - Dst: imoll_s_forward
      Src: /src/PROJ/src/projections/imoll.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - P
    - lam
    - phi
    argTypes:
    - PJ*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: compute_zone_x_boundary
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 0
    functionsReached:
    - imoll_s_forward
    linkageType: ''
    returnType: double
    signature: double compute_zone_x_boundary(PJ *P, double lam, double phi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imoll_data *>
      Src: /src/PROJ/src/projections/imoll.cpp:242,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/imoll.cpp:243,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imoll.cpp:245,1
    - Dst: setup_zone
      Src: /src/PROJ/src/projections/imoll.cpp:249,1
    - Dst: setup_zone
      Src: /src/PROJ/src/projections/imoll.cpp:250,1
    - Dst: setup_zone
      Src: /src/PROJ/src/projections/imoll.cpp:251,1
    - Dst: setup_zone
      Src: /src/PROJ/src/projections/imoll.cpp:252,1
    - Dst: setup_zone
      Src: /src/PROJ/src/projections/imoll.cpp:253,1
    - Dst: setup_zone
      Src: /src/PROJ/src/projections/imoll.cpp:254,1
    - Dst: pj_imoll_destructor
      Src: /src/PROJ/src/projections/imoll.cpp:255,1
    - Dst: compute_zone_offset
      Src: /src/PROJ/src/projections/imoll.cpp:262,1
    - Dst: compute_zone_offset
      Src: /src/PROJ/src/projections/imoll.cpp:266,1
    - Dst: compute_zone_offset
      Src: /src/PROJ/src/projections/imoll.cpp:270,1
    - Dst: compute_zone_offset
      Src: /src/PROJ/src/projections/imoll.cpp:274,1
    - Dst: compute_zone_offset
      Src: /src/PROJ/src/projections/imoll.cpp:277,1
    - Dst: compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll.cpp:284,1
    - Dst: compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll.cpp:285,1
    - Dst: compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll.cpp:286,1
    - Dst: compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll.cpp:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 239
    functionDepth: 6
    functionLinenumber: 239
    functionLinenumberEnd: 295
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/imoll.cpp
    functionUses: 0
    functionsReached:
    - setup_zone
    - compute_zone_offset
    - pj_default_destructor
    - static_cast<struct pj_imoll_data *>
    - pj_imoll_destructor
    - calloc
    - compute_zone_x_boundary
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(imoll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/hatano.cpp:29,1
    - Dst: sin
      Src: /src/PROJ/src/projections/hatano.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/hatano.cpp:31,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hatano.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/hatano.cpp:36,1
    - Dst: sin
      Src: /src/PROJ/src/projections/hatano.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: hatano_s_forward
    functionSourceFile: /src/PROJ/src/projections/hatano.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY hatano_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/hatano.cpp:47,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hatano.cpp:48,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/hatano.cpp:49,1
    - Dst: asin
      Src: /src/PROJ/src/projections/hatano.cpp:55,1
    - Dst: cos
      Src: /src/PROJ/src/projections/hatano.cpp:58,1
    - Dst: sin
      Src: /src/PROJ/src/projections/hatano.cpp:60,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hatano.cpp:61,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/hatano.cpp:62,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/hatano.cpp:63,1
    - Dst: asin
      Src: /src/PROJ/src/projections/hatano.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: hatano_s_inverse
    functionSourceFile: /src/PROJ/src/projections/hatano.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - fabs
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP hatano_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/hatano.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(hatano)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp5_data *>
      Src: /src/PROJ/src/projections/putp5.cpp:23,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/putp5.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: putp5_s_forward
    functionSourceFile: /src/PROJ/src/projections/putp5.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp5_data *>
    - sqrt
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY putp5_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp5_data *>
      Src: /src/PROJ/src/projections/putp5.cpp:33,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/putp5.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: putp5_s_inverse
    functionSourceFile: /src/PROJ/src/projections/putp5.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp5_data *>
    - sqrt
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP putp5_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp5_data *>
      Src: /src/PROJ/src/projections/putp5.cpp:42,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp5.cpp:43,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp5.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp5.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp5_data *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp5)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp5_data *>
      Src: /src/PROJ/src/projections/putp5.cpp:59,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp5.cpp:60,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp5.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp5.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp5_data *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp5p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bipc_data *>
      Src: /src/PROJ/src/projections/bipc.cpp:39,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:43,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bipc.cpp:44,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:45,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bipc.cpp:46,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:47,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:47,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bipc.cpp:52,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:56,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bipc.cpp:57,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:59,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:60,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bipc.cpp:61,1
    - Dst: acos
      Src: /src/PROJ/src/projections/bipc.cpp:67,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bipc.cpp:69,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:74,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:75,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bipc.cpp:76,1
    - Dst: acos
      Src: /src/PROJ/src/projections/bipc.cpp:82,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bipc.cpp:87,1
    - Dst: pow
      Src: /src/PROJ/src/projections/bipc.cpp:90,1
    - Dst: tan
      Src: /src/PROJ/src/projections/bipc.cpp:90,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bipc.cpp:93,1
    - Dst: pow
      Src: /src/PROJ/src/projections/bipc.cpp:96,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:97,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:98,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bipc.cpp:99,1
    - Dst: acos
      Src: /src/PROJ/src/projections/bipc.cpp:104,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:106,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:107,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bipc.cpp:108,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 116
    functionName: bipc_s_forward
    functionSourceFile: /src/PROJ/src/projections/bipc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - acos
    - fabs
    - cos
    - tan
    - static_cast<struct pj_bipc_data *>
    - atan2
    - pow
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY bipc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bipc_data *>
      Src: /src/PROJ/src/projections/bipc.cpp:120,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/bipc.cpp:140,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bipc.cpp:142,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:143,1
    - Dst: atan
      Src: /src/PROJ/src/projections/bipc.cpp:145,1
    - Dst: pow
      Src: /src/PROJ/src/projections/bipc.cpp:145,1
    - Dst: acos
      Src: /src/PROJ/src/projections/bipc.cpp:146,1
    - Dst: pow
      Src: /src/PROJ/src/projections/bipc.cpp:146,1
    - Dst: tan
      Src: /src/PROJ/src/projections/bipc.cpp:146,1
    - Dst: pow
      Src: /src/PROJ/src/projections/bipc.cpp:146,1
    - Dst: tan
      Src: /src/PROJ/src/projections/bipc.cpp:146,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:148,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bipc.cpp:149,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bipc.cpp:154,1
    - Dst: asin
      Src: /src/PROJ/src/projections/bipc.cpp:158,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:158,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bipc.cpp:158,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:158,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bipc.cpp:159,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bipc.cpp:159,1
    - Dst: tan
      Src: /src/PROJ/src/projections/bipc.cpp:159,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bipc.cpp:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: bipc_s_inverse
    functionSourceFile: /src/PROJ/src/projections/bipc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - acos
    - hypot
    - sin
    - fabs
    - tan
    - cos
    - static_cast<struct pj_bipc_data *>
    - atan2
    - asin
    - atan
    - pow
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP bipc_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bipc_data *>
      Src: /src/PROJ/src/projections/bipc.cpp:168,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/bipc.cpp:169,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bipc.cpp:171,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/bipc.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/bipc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_bipc_data *>
    - pj_default_destructor
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(bipc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_rpoly_data *>
      Src: /src/PROJ/src/projections/rpoly.cpp:25,1
    - Dst: tan
      Src: /src/PROJ/src/projections/rpoly.cpp:29,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/rpoly.cpp:32,1
    - Dst: tan
      Src: /src/PROJ/src/projections/rpoly.cpp:36,1
    - Dst: atan
      Src: /src/PROJ/src/projections/rpoly.cpp:37,1
    - Dst: sin
      Src: /src/PROJ/src/projections/rpoly.cpp:37,1
    - Dst: sin
      Src: /src/PROJ/src/projections/rpoly.cpp:38,1
    - Dst: cos
      Src: /src/PROJ/src/projections/rpoly.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: rpoly_s_forward
    functionSourceFile: /src/PROJ/src/projections/rpoly.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - tan
    - static_cast<struct pj_rpoly_data *>
    - cos
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY rpoly_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_rpoly_data *>
      Src: /src/PROJ/src/projections/rpoly.cpp:45,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/rpoly.cpp:46,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/rpoly.cpp:48,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/rpoly.cpp:51,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/rpoly.cpp:51,1
    - Dst: sin
      Src: /src/PROJ/src/projections/rpoly.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/rpoly.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - static_cast<struct pj_rpoly_data *>
    - pj_default_destructor
    - calloc
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(rpoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: latlong_forward
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY latlong_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: latlong_inverse
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP latlong_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: latlong_forward_3d
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ latlong_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: latlong_inverse_3d
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ latlong_inverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: latlong_forward_4d
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void latlong_forward_4d(PJ_COORD &, PJ *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: latlong_inverse_4d
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void latlong_inverse_4d(PJ_COORD &, PJ *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: latlong_setup
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *latlong_setup(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: latlong_setup
      Src: /src/PROJ/src/projections/latlong.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached:
    - latlong_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(latlong)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: latlong_setup
      Src: /src/PROJ/src/projections/latlong.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached:
    - latlong_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(longlat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: latlong_setup
      Src: /src/PROJ/src/projections/latlong.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached:
    - latlong_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(latlon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: latlong_setup
      Src: /src/PROJ/src/projections/latlong.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/latlong.cpp
    functionUses: 0
    functionsReached:
    - latlong_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lonlat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:73,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:86,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:91,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:92,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:93,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tmerc.cpp:97,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/tmerc.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: approx_e_fwd
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - fabs
    - cos
    - proj_context_errno_set
    - static_cast<struct tmerc_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY approx_e_fwd(PJ_LP lp, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:121,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:123,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:124,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:125,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:125,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:126,1
    - Dst: log
      Src: /src/PROJ/src/projections/tmerc.cpp:130,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:140,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tmerc.cpp:140,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:142,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:145,1
    - Dst: acos
      Src: /src/PROJ/src/projections/tmerc.cpp:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 158
    functionName: tmerc_spherical_fwd
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - log
    - sqrt
    - acos
    - fabs
    - cos
    - static_cast<struct tmerc_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY tmerc_spherical_fwd(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:162,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/tmerc.cpp:164,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:165,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:169,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:169,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:170,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tmerc.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: approx_e_inv
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - fabs
    - pj_inv_mlfn
    - static_cast<struct tmerc_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP approx_e_inv(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:202,1
    - Dst: exp
      Src: /src/PROJ/src/projections/tmerc.cpp:204,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:206,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/tmerc.cpp:207,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:212,1
    - Dst: asin
      Src: /src/PROJ/src/projections/tmerc.cpp:213,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tmerc.cpp:213,1
    - Dst: copysign
      Src: /src/PROJ/src/projections/tmerc.cpp:218,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tmerc.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: tmerc_spherical_inv
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - atan2
    - asin
    - copysign
    - proj_coord_error
    - exp
    - static_cast<struct tmerc_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP tmerc_spherical_inv(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:229,1
    - Dst: free
      Src: /src/PROJ/src/projections/tmerc.cpp:231,1
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:231,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: destructor
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 35
    functionsReached:
    - static_cast<struct tmerc_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:236,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/tmerc.cpp:239,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:240,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/tmerc.cpp:242,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:242,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: setup_approx
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - pj_mlfn
    - cos
    - pj_default_destructor
    - pj_enfn
    - static_cast<struct tmerc_data *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *setup_approx(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 8
    argNames:
    - a
    - size
    - sin_arg_r
    - cos_arg_r
    - sinh_arg_i
    - cosh_arg_i
    - R
    - I
    argTypes:
    - double*
    - int
    - double
    - double
    - double
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 297
    functionName: clenS
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double clenS(const double *a, int size, double sin_arg_r,\n                           double
      cos_arg_r, double sinh_arg_i,\n                           double cosh_arg_i,
      double *R, double *I)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:302,1
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/projections/tmerc.cpp:305,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:307,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:308,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:309,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:310,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tmerc.cpp:313,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tmerc.cpp:315,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tmerc.cpp:320,1
    - Dst: asinh
      Src: /src/PROJ/src/projections/tmerc.cpp:325,1
    - Dst: clenS
      Src: /src/PROJ/src/projections/tmerc.cpp:372,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:375,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 383
    functionName: exact_e_fwd
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - cos
    - fabs
    - atan2
    - asinh
    - clenS
    - static_cast<struct tmerc_data *>
    - pj_auxlat_convert
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY exact_e_fwd(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:388,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:394,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:396,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:397,1
    - Dst: exp
      Src: /src/PROJ/src/projections/tmerc.cpp:401,1
    - Dst: clenS
      Src: /src/PROJ/src/projections/tmerc.cpp:407,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:412,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:413,1
    - Dst: atan
      Src: /src/PROJ/src/projections/tmerc.cpp:418,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/tmerc.cpp:418,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tmerc.cpp:419,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tmerc.cpp:420,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tmerc.cpp:421,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tmerc.cpp:422,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tmerc.cpp:422,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/tmerc.cpp:434,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tmerc.cpp:435,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tmerc.cpp:436,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tmerc.cpp:437,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tmerc.cpp:438,1
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/projections/tmerc.cpp:442,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 450
    functionName: exact_e_inv
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - cos
    - fabs
    - atan2
    - sinh
    - atan
    - clenS
    - exp
    - static_cast<struct tmerc_data *>
    - pj_auxlat_convert
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP exact_e_inv(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:453,1
    - Dst: assert
      Src: /src/PROJ/src/projections/tmerc.cpp:455,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/projections/tmerc.cpp:470,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/projections/tmerc.cpp:471,1
    - Dst: pj_rectifying_radius
      Src: /src/PROJ/src/projections/tmerc.cpp:475,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/projections/tmerc.cpp:479,1
    - Dst: pj_auxlat_coeffs
      Src: /src/PROJ/src/projections/tmerc.cpp:480,1
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/projections/tmerc.cpp:482,1
    - Dst: pj_auxlat_convert
      Src: /src/PROJ/src/projections/tmerc.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts:
    - condition: (P->es > 0)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/PROJ/src/projections/tmerc.cpp
    constantsTouched: []
    func_position:
      end: 489
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 489
    functionName: setup_exact
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - pj_auxlat_coeffs
    - pj_rectifying_radius
    - assert
    - static_cast<struct tmerc_data *>
    - pj_auxlat_convert
    linkageType: ''
    returnType: PJ
    signature: PJ *setup_exact(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:492,1
    - Dst: exact_e_fwd
      Src: /src/PROJ/src/projections/tmerc.cpp:493,1
    - Dst: approx_e_fwd
      Src: /src/PROJ/src/projections/tmerc.cpp:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: auto_e_fwd
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - exact_e_fwd
    - fabs
    - approx_e_fwd
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY auto_e_fwd(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:504,1
    - Dst: exact_e_inv
      Src: /src/PROJ/src/projections/tmerc.cpp:505,1
    - Dst: approx_e_inv
      Src: /src/PROJ/src/projections/tmerc.cpp:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: auto_e_inv
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - exact_e_inv
    - approx_e_inv
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP auto_e_inv(PJ_XY xy, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tmerc_data *>
      Src: /src/PROJ/src/projections/tmerc.cpp:513,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/tmerc.cpp:513,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:515,1
    - Dst: setup_approx
      Src: /src/PROJ/src/projections/tmerc.cpp:524,1
    - Dst: setup_exact
      Src: /src/PROJ/src/projections/tmerc.cpp:537,1
    - Dst: setup_approx
      Src: /src/PROJ/src/projections/tmerc.cpp:545,1
    - Dst: setup_exact
      Src: /src/PROJ/src/projections/tmerc.cpp:547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - P
    - eAlg
    argTypes:
    - PJ*
    - TMercAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 555
    functionName: setup
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 9
    functionsReached:
    - pj_default_destructor
    - setup_exact
    - calloc
    - setup_approx
    - static_cast<struct tmerc_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *setup(PJ *P, TMercAlgo eAlg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tmerc.cpp:558,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tmerc.cpp:563,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/tmerc.cpp:565,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/tmerc.cpp:569,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/tmerc.cpp:573,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:577,1
    - Dst: pj_load_ini
      Src: /src/PROJ/src/projections/tmerc.cpp:581,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/tmerc.cpp:582,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/tmerc.cpp:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - P
    - algo
    argTypes:
    - PJ*
    - TMercAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 557
    functionDepth: 7
    functionLinenumber: 557
    functionLinenumberEnd: 597
    functionName: getAlgoFromParams
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - strcmp
    - proj_context_errno_set
    - proj_log_error
    - pj_load_ini
    - pj_param
    linkageType: ''
    returnType: bool
    signature: bool getAlgoFromParams(PJ *P, TMercAlgo &algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAlgoFromParams
      Src: /src/PROJ/src/projections/tmerc.cpp:610,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:611,1
    - Dst: _
      Src: /src/PROJ/src/projections/tmerc.cpp:611,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:612,1
    - Dst: setup
      Src: /src/PROJ/src/projections/tmerc.cpp:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 605
    functionDepth: 8
    functionLinenumber: 605
    functionLinenumberEnd: 615
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - setup
    - proj_log_error
    - _
    - getAlgoFromParams
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tmerc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:619,1
    - Dst: _
      Src: /src/PROJ/src/projections/tmerc.cpp:620,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:621,1
    - Dst: setup
      Src: /src/PROJ/src/projections/tmerc.cpp:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 617
    functionDepth: 5
    functionLinenumber: 617
    functionLinenumberEnd: 625
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - setup
    - proj_log_error
    - _
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(etmerc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:633,1
    - Dst: _
      Src: /src/PROJ/src/projections/tmerc.cpp:634,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:635,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:638,1
    - Dst: _
      Src: /src/PROJ/src/projections/tmerc.cpp:638,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:639,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tmerc.cpp:642,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tmerc.cpp:644,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tmerc.cpp:646,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:650,1
    - Dst: _
      Src: /src/PROJ/src/projections/tmerc.cpp:650,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:651,1
    - Dst: lround
      Src: /src/PROJ/src/projections/tmerc.cpp:656,1
    - Dst: floor
      Src: /src/PROJ/src/projections/tmerc.cpp:656,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/tmerc.cpp:656,1
    - Dst: getAlgoFromParams
      Src: /src/PROJ/src/projections/tmerc.cpp:667,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tmerc.cpp:668,1
    - Dst: _
      Src: /src/PROJ/src/projections/tmerc.cpp:668,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tmerc.cpp:669,1
    - Dst: setup
      Src: /src/PROJ/src/projections/tmerc.cpp:671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 630
    functionDepth: 8
    functionLinenumber: 630
    functionLinenumberEnd: 672
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tmerc.cpp
    functionUses: 0
    functionsReached:
    - getAlgoFromParams
    - lround
    - pj_default_destructor
    - adjlon
    - setup
    - proj_log_error
    - _
    - floor
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(utm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/PROJ/src/projections/mill.cpp:15,1
    - Dst: tan
      Src: /src/PROJ/src/projections/mill.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: mill_s_forward
    functionSourceFile: /src/PROJ/src/projections/mill.cpp
    functionUses: 0
    functionsReached:
    - log
    - tan
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY mill_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/mill.cpp:25,1
    - Dst: exp
      Src: /src/PROJ/src/projections/mill.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: mill_s_inverse
    functionSourceFile: /src/PROJ/src/projections/mill.cpp
    functionUses: 0
    functionsReached:
    - atan
    - exp
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP mill_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mill.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aasin
      Src: /src/PROJ/src/projections/urmfps.cpp:23,1
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/urmfps.cpp:24,1
    - Dst: cos
      Src: /src/PROJ/src/projections/urmfps.cpp:25,1
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: urmfps_s_forward
    functionSourceFile: /src/PROJ/src/projections/urmfps.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - static_cast<struct pj_urmfps *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY urmfps_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:32,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/urmfps.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/urmfps.cpp:34,1
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:34,1
    - Dst: cos
      Src: /src/PROJ/src/projections/urmfps.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: urmfps_s_inverse
    functionSourceFile: /src/PROJ/src/projections/urmfps.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - static_cast<struct pj_urmfps *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP urmfps_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:40,1
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: urmfps_setup
    functionSourceFile: /src/PROJ/src/projections/urmfps.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_urmfps *>
    linkageType: ''
    returnType: PJ
    signature: PJ *urmfps_setup(PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:50,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/urmfps.cpp:50,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urmfps.cpp:52,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/urmfps.cpp:56,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/urmfps.cpp:57,1
    - Dst: _
      Src: /src/PROJ/src/projections/urmfps.cpp:57,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urmfps.cpp:58,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/urmfps.cpp:61,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/urmfps.cpp:63,1
    - Dst: _
      Src: /src/PROJ/src/projections/urmfps.cpp:64,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urmfps.cpp:65,1
    - Dst: urmfps_setup
      Src: /src/PROJ/src/projections/urmfps.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/urmfps.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - urmfps_setup
    - calloc
    - static_cast<struct pj_urmfps *>
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(urmfps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:73,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/urmfps.cpp:73,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urmfps.cpp:75,1
    - Dst: static_cast<struct pj_urmfps *>
      Src: /src/PROJ/src/projections/urmfps.cpp:78,1
    - Dst: urmfps_setup
      Src: /src/PROJ/src/projections/urmfps.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/urmfps.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_urmfps *>
    - urmfps_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/tobmerc.cpp:16,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/tobmerc.cpp:23,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tobmerc.cpp:27,1
    - Dst: asinh
      Src: /src/PROJ/src/projections/tobmerc.cpp:29,1
    - Dst: tan
      Src: /src/PROJ/src/projections/tobmerc.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: tobmerc_s_forward
    functionSourceFile: /src/PROJ/src/projections/tobmerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - tan
    - fabs
    - asinh
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY tobmerc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/tobmerc.cpp:37,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/tobmerc.cpp:37,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tobmerc.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: tobmerc_s_inverse
    functionSourceFile: /src/PROJ/src/projections/tobmerc.cpp
    functionUses: 0
    functionsReached:
    - atan
    - cos
    - sinh
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP tobmerc_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tobmerc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tobmerc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/projections/s2.cpp:106,1
    - Dst: std::fabs
      Src: /src/PROJ/src/projections/s2.cpp:106,1
    - Dst: std::fabs
      Src: /src/PROJ/src/projections/s2.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PJ_XYZ
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Abs
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ Abs(const PJ_XYZ &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Abs
      Src: /src/PROJ/src/projections/s2.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PJ_XYZ
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: LargestAbsComponent
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - Abs
    linkageType: ''
    returnType: int
    signature: int LargestAbsComponent(const PJ_XYZ &p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::tan
      Src: /src/PROJ/src/projections/s2.cpp:138,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/projections/s2.cpp:140,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/src/projections/s2.cpp:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - s
    - s2_projection
    argTypes:
    - double
    - S2ProjectionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: STtoUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - static_cast<std::int64_t>
    - std::tan
    linkageType: ''
    returnType: double
    signature: double STtoUV(double s, S2ProjectionType s2_projection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/PROJ/src/projections/s2.cpp:156,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/projections/s2.cpp:158,1
    - Dst: std::atan
      Src: /src/PROJ/src/projections/s2.cpp:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - u
    - s2_projection
    argTypes:
    - double
    - S2ProjectionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: UVtoST
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    - std::atan
    linkageType: ''
    returnType: double
    signature: double UVtoST(double u, S2ProjectionType s2_projection)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - face
    - u
    - v
    argTypes:
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: FaceUVtoXYZ
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ FaceUVtoXYZ(int face, double u, double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FaceUVtoXYZ
      Src: /src/PROJ/src/projections/s2.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - uv
    argTypes:
    - int
    - PJ_XY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: FaceUVtoXYZ
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 1
    functionsReached:
    - FaceUVtoXYZ
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ FaceUVtoXYZ(int face, const PJ_XY &uv)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - face
    - p
    - pu
    - pv
    argTypes:
    - int
    - PJ_XYZ
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 220
    functionName: ValidFaceXYZtoUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ValidFaceXYZtoUV(int face, const PJ_XYZ &p, double *pu,\n                             double
      *pv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValidFaceXYZtoUV
      Src: /src/PROJ/src/projections/s2.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - p
    - puv
    argTypes:
    - int
    - PJ_XYZ
    - PJ_XY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: ValidFaceXYZtoUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 1
    functionsReached:
    - ValidFaceXYZtoUV
    linkageType: ''
    returnType: void
    signature: void ValidFaceXYZtoUV(int face, const PJ_XYZ &p, PJ_XY *puv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LargestAbsComponent
      Src: /src/PROJ/src/projections/s2.cpp:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - PJ_XYZ
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: GetFace
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - LargestAbsComponent
    linkageType: ''
    returnType: int
    signature: int GetFace(const PJ_XYZ &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetFace
      Src: /src/PROJ/src/projections/s2.cpp:246,1
    - Dst: ValidFaceXYZtoUV
      Src: /src/PROJ/src/projections/s2.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - pu
    - pv
    argTypes:
    - PJ_XYZ
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: XYZtoFaceUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - ValidFaceXYZtoUV
    - GetFace
    linkageType: ''
    returnType: int
    signature: int XYZtoFaceUV(const PJ_XYZ &p, double *pu, double *pv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XYZtoFaceUV
      Src: /src/PROJ/src/projections/s2.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - puv
    argTypes:
    - PJ_XYZ
    - PJ_XY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: XYZtoFaceUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 1
    functionsReached:
    - XYZtoFaceUV
    linkageType: ''
    returnType: int
    signature: int XYZtoFaceUV(const PJ_XYZ &p, PJ_XY *puv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ValidFaceXYZtoUV
      Src: /src/PROJ/src/projections/s2.cpp:284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - face
    - p
    - pu
    - pv
    argTypes:
    - int
    - PJ_XYZ
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 286
    functionName: FaceXYZtoUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 3
    functionsReached:
    - ValidFaceXYZtoUV
    linkageType: ''
    returnType: bool
    signature: bool FaceXYZtoUV(int face, const PJ_XYZ &p, double *pu, double *pv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FaceXYZtoUV
      Src: /src/PROJ/src/projections/s2.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - p
    - puv
    argTypes:
    - int
    - PJ_XYZ
    - PJ_XY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: FaceXYZtoUV
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 4
    functionsReached:
    - FaceXYZtoUV
    linkageType: ''
    returnType: bool
    signature: bool FaceXYZtoUV(int face, const PJ_XYZ &p, PJ_XY *puv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/projections/s2.cpp:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - face
    - u
    - v
    - xyz
    argTypes:
    - int
    - double
    - double
    - PJ_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 332
    functionName: UVtoSphereXYZ
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: bool
    signature: bool UVtoSphereXYZ(int face, double u, double v, PJ_XYZ *xyz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_s2 *>
      Src: /src/PROJ/src/projections/s2.cpp:340,1
    - Dst: atan
      Src: /src/PROJ/src/projections/s2.cpp:347,1
    - Dst: tan
      Src: /src/PROJ/src/projections/s2.cpp:347,1
    - Dst: sin
      Src: /src/PROJ/src/projections/s2.cpp:357,1
    - Dst: cos
      Src: /src/PROJ/src/projections/s2.cpp:358,1
    - Dst: sin
      Src: /src/PROJ/src/projections/s2.cpp:359,1
    - Dst: cos
      Src: /src/PROJ/src/projections/s2.cpp:360,1
    - Dst: ValidFaceXYZtoUV
      Src: /src/PROJ/src/projections/s2.cpp:368,1
    - Dst: UVtoST
      Src: /src/PROJ/src/projections/s2.cpp:369,1
    - Dst: UVtoST
      Src: /src/PROJ/src/projections/s2.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 372
    functionName: s2_forward
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_s2 *>
    - ValidFaceXYZtoUV
    - UVtoST
    - cos
    - tan
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY s2_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_s2 *>
      Src: /src/PROJ/src/projections/s2.cpp:376,1
    - Dst: STtoUV
      Src: /src/PROJ/src/projections/s2.cpp:379,1
    - Dst: STtoUV
      Src: /src/PROJ/src/projections/s2.cpp:380,1
    - Dst: UVtoSphereXYZ
      Src: /src/PROJ/src/projections/s2.cpp:383,1
    - Dst: acos
      Src: /src/PROJ/src/projections/s2.cpp:389,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/s2.cpp:390,1
    - Dst: tan
      Src: /src/PROJ/src/projections/s2.cpp:398,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/s2.cpp:399,1
    - Dst: atan
      Src: /src/PROJ/src/projections/s2.cpp:400,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/s2.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 407
    functionName: s2_inverse
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_s2 *>
    - sqrt
    - acos
    - tan
    - STtoUV
    - atan2
    - atan
    - UVtoSphereXYZ
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP s2_inverse(PJ_XY xy, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_s2 *>
      Src: /src/PROJ/src/projections/s2.cpp:411,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/s2.cpp:411,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/s2.cpp:413,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/s2.cpp:417,1
    - Dst: at
      Src: /src/PROJ/src/projections/s2.cpp:420,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/s2.cpp:422,1
    - Dst: _
      Src: /src/PROJ/src/projections/s2.cpp:423,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/s2.cpp:425,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/s2.cpp:444,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/s2.cpp:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 460
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/s2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_s2 *>
    - fabs
    - pj_default_destructor
    - at
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wag3 *>
      Src: /src/PROJ/src/projections/wag3.cpp:21,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag3.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: wag3_s_forward
    functionSourceFile: /src/PROJ/src/projections/wag3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_wag3 *>
    - cos
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY wag3_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wag3 *>
      Src: /src/PROJ/src/projections/wag3.cpp:30,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag3.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: wag3_s_inverse
    functionSourceFile: /src/PROJ/src/projections/wag3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_wag3 *>
    - cos
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP wag3_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wag3 *>
      Src: /src/PROJ/src/projections/wag3.cpp:38,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/wag3.cpp:38,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/wag3.cpp:40,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/wag3.cpp:44,1
    - Dst: static_cast<struct pj_wag3 *>
      Src: /src/PROJ/src/projections/wag3.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag3.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag3.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/wag3.cpp
    functionUses: 0
    functionsReached:
    - cos
    - static_cast<struct pj_wag3 *>
    - pj_default_destructor
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aeqd.cpp:63,1
    - Dst: free
      Src: /src/PROJ/src/projections/aeqd.cpp:65,1
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:65,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aeqd.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: destructor
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 45
    functionsReached:
    - static_cast<struct pj_aeqd_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:71,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:75,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aeqd.cpp:76,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: e_guam_fwd
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - cos
    - static_cast<struct pj_aeqd_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY e_guam_fwd(PJ_LP lp, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:91,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:97,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:98,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:99,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:99,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:100,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:105,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:105,1
    - Dst: geod_inverse
      Src: /src/PROJ/src/projections/aeqd.cpp:115,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:117,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 122
    functionName: aeqd_e_forward
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - pj_mlfn
    - fabs
    - cos
    - static_cast<struct pj_aeqd_data *>
    - geod_inverse
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY aeqd_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:126,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:129,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:130,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:131,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:132,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:136,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:136,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aeqd.cpp:138,1
    - Dst: aeqd_e_forward
      Src: /src/PROJ/src/projections/aeqd.cpp:142,1
    - Dst: acos
      Src: /src/PROJ/src/projections/aeqd.cpp:144,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:145,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:150,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:151,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:152,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:153,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:158,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:158,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aeqd.cpp:160,1
    - Dst: aeqd_e_forward
      Src: /src/PROJ/src/projections/aeqd.cpp:164,1
    - Dst: acos
      Src: /src/PROJ/src/projections/aeqd.cpp:166,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:167,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:172,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:173,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:178,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aeqd.cpp:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 187
    functionName: aeqd_s_forward
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - aeqd_e_forward
    - acos
    - fabs
    - cos
    - static_cast<struct pj_aeqd_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY aeqd_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:191,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:198,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aeqd.cpp:199,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:200,1
    - Dst: tan
      Src: /src/PROJ/src/projections/aeqd.cpp:200,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: e_guam_inv
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - tan
    - static_cast<struct pj_aeqd_data *>
    - pj_inv_mlfn
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP e_guam_inv(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:208,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/aeqd.cpp:211,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/aeqd.cpp:219,1
    - Dst: geod_direct
      Src: /src/PROJ/src/projections/aeqd.cpp:220,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:224,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/aeqd.cpp:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: aeqd_e_inverse
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - static_cast<struct pj_aeqd_data *>
    - atan2
    - pj_inv_mlfn
    - geod_direct
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP aeqd_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:233,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/aeqd.cpp:236,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aeqd.cpp:239,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:249,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:250,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/aeqd.cpp:252,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/aeqd.cpp:256,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:258,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/aeqd.cpp:261,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/aeqd.cpp:264,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/aeqd.cpp:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 270
    functionName: aeqd_s_inverse
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - cos
    - aasin
    - static_cast<struct pj_aeqd_data *>
    - atan2
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP aeqd_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aeqd_data *>
      Src: /src/PROJ/src/projections/aeqd.cpp:273,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/aeqd.cpp:274,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aeqd.cpp:276,1
    - Dst: geod_init
      Src: /src/PROJ/src/projections/aeqd.cpp:280,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:282,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:282,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aeqd.cpp:286,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aeqd.cpp:292,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aeqd.cpp:293,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/aeqd.cpp:299,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aeqd.cpp:300,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aeqd.cpp:301,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:302,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:308,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/aeqd.cpp:311,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aeqd.cpp:315,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aeqd.cpp:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 327
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/aeqd.cpp
    functionUses: 0
    functionsReached:
    - geod_init
    - pj_mlfn
    - sqrt
    - fabs
    - cos
    - static_cast<struct pj_aeqd_data *>
    - pj_default_destructor
    - pj_enfn
    - calloc
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(aeqd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aasin
      Src: /src/PROJ/src/projections/wag2.cpp:17,1
    - Dst: sin
      Src: /src/PROJ/src/projections/wag2.cpp:17,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wag2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: wag2_s_forward
    functionSourceFile: /src/PROJ/src/projections/wag2.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY wag2_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/wag2.cpp:26,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/wag2.cpp:27,1
    - Dst: sin
      Src: /src/PROJ/src/projections/wag2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: wag2_s_inverse
    functionSourceFile: /src/PROJ/src/projections/wag2.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP wag2_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/wag2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/PROJ/src/projections/mbtfpp.cpp:21,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpp.cpp:21,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpp.cpp:22,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpp.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: mbtfpp_s_forward
    functionSourceFile: /src/PROJ/src/projections/mbtfpp.cpp
    functionUses: 0
    functionsReached:
    - asin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY mbtfpp_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpp.cpp:31,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpp.cpp:32,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/mbtfpp.cpp:33,1
    - Dst: asin
      Src: /src/PROJ/src/projections/mbtfpp.cpp:39,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbtfpp.cpp:42,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbtfpp.cpp:43,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpp.cpp:44,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbtfpp.cpp:45,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/mbtfpp.cpp:46,1
    - Dst: asin
      Src: /src/PROJ/src/projections/mbtfpp.cpp:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: mbtfpp_s_inverse
    functionSourceFile: /src/PROJ/src/projections/mbtfpp.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - fabs
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP mbtfpp_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mbtfpp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mbtfpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/projections/larr.cpp:16,1
    - Dst: cos
      Src: /src/PROJ/src/projections/larr.cpp:16,1
    - Dst: cos
      Src: /src/PROJ/src/projections/larr.cpp:17,1
    - Dst: cos
      Src: /src/PROJ/src/projections/larr.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: larr_s_forward
    functionSourceFile: /src/PROJ/src/projections/larr.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY larr_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/larr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(larr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:33,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/imw_p.cpp:36,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/imw_p.cpp:37,1
    - Dst: _
      Src: /src/PROJ/src/projections/imw_p.cpp:37,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/imw_p.cpp:39,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/imw_p.cpp:40,1
    - Dst: _
      Src: /src/PROJ/src/projections/imw_p.cpp:40,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/imw_p.cpp:43,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/imw_p.cpp:44,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:47,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:47,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/imw_p.cpp:51,1
    - Dst: _
      Src: /src/PROJ/src/projections/imw_p.cpp:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - P
    - del
    - sig
    argTypes:
    - PJ*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 57
    functionName: phi12
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - static_cast<struct pj_imw_p_data *>
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: int
    signature: int phi12(PJ *P, double *del, double *sig)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:60,1
    - Dst: sin
      Src: /src/PROJ/src/projections/imw_p.cpp:69,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/imw_p.cpp:70,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:70,1
    - Dst: tan
      Src: /src/PROJ/src/projections/imw_p.cpp:73,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imw_p.cpp:73,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imw_p.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/imw_p.cpp:83,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:84,1
    - Dst: sin
      Src: /src/PROJ/src/projections/imw_p.cpp:91,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:92,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imw_p.cpp:96,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imw_p.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - lp
    - P
    - yc
    argTypes:
    - PJ_LP
    - PJ*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 106
    functionName: loc_for
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - cos
    - tan
    - static_cast<struct pj_imw_p_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY loc_for(PJ_LP lp, PJ *P, double *yc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loc_for
      Src: /src/PROJ/src/projections/imw_p.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: imw_p_e_forward
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - loc_for
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY imw_p_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:116,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:123,1
    - Dst: loc_for
      Src: /src/PROJ/src/projections/imw_p.cpp:125,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:127,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/imw_p.cpp:129,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/imw_p.cpp:131,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:135,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:139,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:139,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/imw_p.cpp:142,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/imw_p.cpp:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: imw_p_e_inverse
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - loc_for
    - fabs
    - proj_coord_error
    - static_cast<struct pj_imw_p_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP imw_p_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/imw_p.cpp:152,1
    - Dst: tan
      Src: /src/PROJ/src/projections/imw_p.cpp:153,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imw_p.cpp:153,1
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:154,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:155,1
    - Dst: sin
      Src: /src/PROJ/src/projections/imw_p.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - P
    - phi
    - x
    - y
    - sp
    - R
    argTypes:
    - PJ*
    - double
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: xy
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - tan
    - static_cast<struct pj_imw_p_data *>
    - sin
    linkageType: ''
    returnType: void
    signature: void xy(PJ *P, double phi, double *x, double *y, double *sp, double
      *R)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imw_p.cpp:164,1
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:166,1
    - Dst: free
      Src: /src/PROJ/src/projections/imw_p.cpp:167,1
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:167,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imw_p.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: pj_imw_p_destructor
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_imw_p_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_imw_p_destructor(PJ *P, int errlev)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imw_p_data *>
      Src: /src/PROJ/src/projections/imw_p.cpp:175,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/imw_p.cpp:176,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imw_p.cpp:178,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/imw_p.cpp:181,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imw_p.cpp:182,1
    - Dst: phi12
      Src: /src/PROJ/src/projections/imw_p.cpp:183,1
    - Dst: pj_imw_p_destructor
      Src: /src/PROJ/src/projections/imw_p.cpp:184,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/imw_p.cpp:191,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/imw_p.cpp:192,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/imw_p.cpp:194,1
    - Dst: xy
      Src: /src/PROJ/src/projections/imw_p.cpp:205,1
    - Dst: xy
      Src: /src/PROJ/src/projections/imw_p.cpp:212,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/imw_p.cpp:218,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:218,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/imw_p.cpp:219,1
    - Dst: cos
      Src: /src/PROJ/src/projections/imw_p.cpp:219,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imw_p.cpp:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 235
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/imw_p.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - xy
    - fabs
    - cos
    - pj_default_destructor
    - pj_enfn
    - calloc
    - static_cast<struct pj_imw_p_data *>
    - phi12
    - pj_imw_p_destructor
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(imw_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/PROJ/src/projections/august.cpp:16,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/august.cpp:17,1
    - Dst: cos
      Src: /src/PROJ/src/projections/august.cpp:19,1
    - Dst: sin
      Src: /src/PROJ/src/projections/august.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 27
    functionName: august_s_forward
    functionSourceFile: /src/PROJ/src/projections/august.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY august_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/august.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(august)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aea.cpp:64,1
    - Dst: free
      Src: /src/PROJ/src/projections/aea.cpp:66,1
    - Dst: static_cast<struct pj_aea *>
      Src: /src/PROJ/src/projections/aea.cpp:66,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aea.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: pj_aea_destructor
    functionSourceFile: /src/PROJ/src/projections/aea.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_aea *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_aea_destructor(PJ *P, int errlev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aea *>
      Src: /src/PROJ/src/projections/aea.cpp:73,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/aea.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:75,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aea.cpp:77,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aea.cpp:80,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:82,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aea.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: aea_e_forward
    functionSourceFile: /src/PROJ/src/projections/aea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - static_cast<struct pj_aea *>
    - pj_authalic_lat_q
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY aea_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aea *>
      Src: /src/PROJ/src/projections/aea.cpp:89,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/aea.cpp:91,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:101,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:101,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:102,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aea.cpp:103,1
    - Dst: pj_authalic_lat_inverse
      Src: /src/PROJ/src/projections/aea.cpp:108,1
    - Dst: asin
      Src: /src/PROJ/src/projections/aea.cpp:108,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/aea.cpp:110,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:118,1
    - Dst: asin
      Src: /src/PROJ/src/projections/aea.cpp:119,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/aea.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 129
    functionName: aea_e_inverse
    functionSourceFile: /src/PROJ/src/projections/aea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_authalic_lat_inverse
    - hypot
    - fabs
    - static_cast<struct pj_aea *>
    - atan2
    - asin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP aea_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aea *>
      Src: /src/PROJ/src/projections/aea.cpp:132,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:137,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/aea.cpp:138,1
    - Dst: _
      Src: /src/PROJ/src/projections/aea.cpp:139,1
    - Dst: pj_aea_destructor
      Src: /src/PROJ/src/projections/aea.cpp:140,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:142,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/aea.cpp:143,1
    - Dst: _
      Src: /src/PROJ/src/projections/aea.cpp:144,1
    - Dst: pj_aea_destructor
      Src: /src/PROJ/src/projections/aea.cpp:145,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:147,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/aea.cpp:148,1
    - Dst: _
      Src: /src/PROJ/src/projections/aea.cpp:148,1
    - Dst: pj_aea_destructor
      Src: /src/PROJ/src/projections/aea.cpp:150,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:152,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aea.cpp:154,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/aea.cpp:155,1
    - Dst: pj_authalic_lat_compute_coeffs
      Src: /src/PROJ/src/projections/aea.cpp:160,1
    - Dst: pj_aea_destructor
      Src: /src/PROJ/src/projections/aea.cpp:162,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/aea.cpp:163,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/aea.cpp:164,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/aea.cpp:165,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:169,1
    - Dst: cos
      Src: /src/PROJ/src/projections/aea.cpp:170,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/aea.cpp:171,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/aea.cpp:172,1
    - Dst: pj_aea_destructor
      Src: /src/PROJ/src/projections/aea.cpp:174,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/aea.cpp:179,1
    - Dst: _
      Src: /src/PROJ/src/projections/aea.cpp:179,1
    - Dst: pj_aea_destructor
      Src: /src/PROJ/src/projections/aea.cpp:180,1
    - Dst: log
      Src: /src/PROJ/src/projections/aea.cpp:184,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aea.cpp:188,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/aea.cpp:188,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:188,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:191,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/aea.cpp:195,1
    - Dst: sin
      Src: /src/PROJ/src/projections/aea.cpp:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 199
    functionName: setup
    functionSourceFile: /src/PROJ/src/projections/aea.cpp
    functionUses: 14
    functionsReached:
    - log
    - sqrt
    - fabs
    - cos
    - static_cast<struct pj_aea *>
    - pj_msfn
    - pj_authalic_lat_q
    - pj_authalic_lat_compute_coeffs
    - proj_log_error
    - _
    - pj_aea_destructor
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *setup(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aea *>
      Src: /src/PROJ/src/projections/aea.cpp:203,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/aea.cpp:203,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aea.cpp:205,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aea.cpp:209,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aea.cpp:210,1
    - Dst: setup
      Src: /src/PROJ/src/projections/aea.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/aea.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_aea *>
    - pj_default_destructor
    - setup
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(aea)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_aea *>
      Src: /src/PROJ/src/projections/aea.cpp:216,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/aea.cpp:216,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/aea.cpp:218,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aea.cpp:222,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/aea.cpp:223,1
    - Dst: setup
      Src: /src/PROJ/src/projections/aea.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/aea.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_aea *>
    - pj_default_destructor
    - setup
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(leac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/labrd.cpp:20,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:24,1
    - Dst: tan
      Src: /src/PROJ/src/projections/labrd.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:25,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:26,1
    - Dst: atan
      Src: /src/PROJ/src/projections/labrd.cpp:27,1
    - Dst: exp
      Src: /src/PROJ/src/projections/labrd.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/labrd.cpp:29,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: labrd_e_forward
    functionSourceFile: /src/PROJ/src/projections/labrd.cpp
    functionUses: 0
    functionsReached:
    - log
    - cos
    - tan
    - static_cast<struct pj_opaque *>
    - atan
    - exp
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY labrd_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/labrd.cpp:54,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:74,1
    - Dst: tan
      Src: /src/PROJ/src/projections/labrd.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:75,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:76,1
    - Dst: atan
      Src: /src/PROJ/src/projections/labrd.cpp:77,1
    - Dst: exp
      Src: /src/PROJ/src/projections/labrd.cpp:77,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/labrd.cpp:79,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:83,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/labrd.cpp:85,1
    - Dst: tan
      Src: /src/PROJ/src/projections/labrd.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/labrd.cpp:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 101
    functionName: labrd_e_inverse
    functionSourceFile: /src/PROJ/src/projections/labrd.cpp
    functionUses: 0
    functionsReached:
    - log
    - sqrt
    - fabs
    - tan
    - cos
    - static_cast<struct pj_opaque *>
    - atan
    - exp
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP labrd_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/labrd.cpp:106,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/labrd.cpp:106,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/labrd.cpp:108,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/labrd.cpp:112,1
    - Dst: _
      Src: /src/PROJ/src/projections/labrd.cpp:113,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/labrd.cpp:114,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/labrd.cpp:117,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:118,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/labrd.cpp:120,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/labrd.cpp:122,1
    - Dst: atan
      Src: /src/PROJ/src/projections/labrd.cpp:123,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/labrd.cpp:123,1
    - Dst: tan
      Src: /src/PROJ/src/projections/labrd.cpp:123,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:124,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:126,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:127,1
    - Dst: tan
      Src: /src/PROJ/src/projections/labrd.cpp:127,1
    - Dst: log
      Src: /src/PROJ/src/projections/labrd.cpp:128,1
    - Dst: tan
      Src: /src/PROJ/src/projections/labrd.cpp:128,1
    - Dst: cos
      Src: /src/PROJ/src/projections/labrd.cpp:131,1
    - Dst: sin
      Src: /src/PROJ/src/projections/labrd.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 140
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/labrd.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - log
    - cos
    - tan
    - pj_default_destructor
    - static_cast<struct pj_opaque *>
    - atan
    - calloc
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(labrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ocea *>
      Src: /src/PROJ/src/projections/ocea.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:26,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:27,1
    - Dst: atan
      Src: /src/PROJ/src/projections/ocea.cpp:28,1
    - Dst: tan
      Src: /src/PROJ/src/projections/ocea.cpp:28,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: ocea_s_forward
    functionSourceFile: /src/PROJ/src/projections/ocea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - tan
    - static_cast<struct pj_ocea *>
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY ocea_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ocea *>
      Src: /src/PROJ/src/projections/ocea.cpp:38,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ocea.cpp:42,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:43,1
    - Dst: asin
      Src: /src/PROJ/src/projections/ocea.cpp:44,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ocea.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: ocea_s_inverse
    functionSourceFile: /src/PROJ/src/projections/ocea.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - static_cast<struct pj_ocea *>
    - atan2
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP ocea_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ocea *>
      Src: /src/PROJ/src/projections/ocea.cpp:53,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/ocea.cpp:53,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ocea.cpp:55,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:62,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:67,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:68,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ocea.cpp:72,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:72,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:72,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:72,1
    - Dst: asin
      Src: /src/PROJ/src/projections/ocea.cpp:74,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:74,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:78,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:79,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:80,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ocea.cpp:81,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ocea.cpp:83,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:83,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:83,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:83,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:84,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:84,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:84,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:85,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:85,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:85,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:86,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:86,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:93,1
    - Dst: tan
      Src: /src/PROJ/src/projections/ocea.cpp:94,1
    - Dst: atan
      Src: /src/PROJ/src/projections/ocea.cpp:101,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ocea.cpp:105,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ocea.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/ocea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - tan
    - static_cast<struct pj_ocea *>
    - atan2
    - pj_default_destructor
    - asin
    - atan
    - calloc
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(ocea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/cea.cpp:20,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cea.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: cea_e_forward
    functionSourceFile: /src/PROJ/src/projections/cea.cpp
    functionUses: 0
    functionsReached:
    - pj_authalic_lat_q
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY cea_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/cea.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: cea_s_forward
    functionSourceFile: /src/PROJ/src/projections/cea.cpp
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY cea_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const struct pj_cea_data *>
      Src: /src/PROJ/src/projections/cea.cpp:34,1
    - Dst: pj_authalic_lat_inverse
      Src: /src/PROJ/src/projections/cea.cpp:35,1
    - Dst: asin
      Src: /src/PROJ/src/projections/cea.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: cea_e_inverse
    functionSourceFile: /src/PROJ/src/projections/cea.cpp
    functionUses: 0
    functionsReached:
    - pj_authalic_lat_inverse
    - static_cast<const struct pj_cea_data *>
    - asin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP cea_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/cea.cpp:45,1
    - Dst: asin
      Src: /src/PROJ/src/projections/cea.cpp:50,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/cea.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: cea_s_inverse
    functionSourceFile: /src/PROJ/src/projections/cea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - asin
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP cea_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cea.cpp:64,1
    - Dst: free
      Src: /src/PROJ/src/projections/cea.cpp:66,1
    - Dst: static_cast<struct pj_cea_data *>
      Src: /src/PROJ/src/projections/cea.cpp:66,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cea.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: pj_cea_destructor
    functionSourceFile: /src/PROJ/src/projections/cea.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_cea_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_cea_destructor(PJ *P, int errlev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_cea_data *>
      Src: /src/PROJ/src/projections/cea.cpp:72,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/cea.cpp:73,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cea.cpp:75,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/cea.cpp:79,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/cea.cpp:80,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cea.cpp:81,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/cea.cpp:83,1
    - Dst: _
      Src: /src/PROJ/src/projections/cea.cpp:84,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cea.cpp:85,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cea.cpp:90,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/cea.cpp:91,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/cea.cpp:92,1
    - Dst: pj_authalic_lat_compute_coeffs
      Src: /src/PROJ/src/projections/cea.cpp:93,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cea.cpp:95,1
    - Dst: pj_authalic_lat_q
      Src: /src/PROJ/src/projections/cea.cpp:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/cea.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - pj_default_destructor
    - pj_authalic_lat_q
    - pj_authalic_lat_compute_coeffs
    - calloc
    - proj_log_error
    - _
    - pj_param
    - static_cast<struct pj_cea_data *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(cea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:71,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:75,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:77,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:78,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:80,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:82,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:85,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:88,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - lam
    - mult
    - P
    argTypes:
    - double
    - double
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: seraz0
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - static_cast<struct pj_som_data *>
    - sin
    linkageType: ''
    returnType: void
    signature: void seraz0(double lam, double mult, PJ *P)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:94,1
    - Dst: tan
      Src: /src/PROJ/src/projections/som.cpp:107,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:112,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:114,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:116,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:119,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:120,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:122,1
    - Dst: atan
      Src: /src/PROJ/src/projections/som.cpp:123,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:124,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:124,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:124,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:136,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/som.cpp:137,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:138,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:138,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:139,1
    - Dst: log
      Src: /src/PROJ/src/projections/som.cpp:140,1
    - Dst: tan
      Src: /src/PROJ/src/projections/som.cpp:140,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:141,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:143,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:144,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:146,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:147,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:148,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:149,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 153
    functionName: som_e_forward
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - log
    - cos
    - fabs
    - static_cast<struct pj_som_data *>
    - tan
    - aasin
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY som_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:157,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:165,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:167,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:168,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:170,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:171,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:172,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:172,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:174,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:175,1
    - Dst: exp
      Src: /src/PROJ/src/projections/som.cpp:176,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:176,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:177,1
    - Dst: atan
      Src: /src/PROJ/src/projections/som.cpp:178,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:180,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:180,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:182,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/som.cpp:186,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/som.cpp:187,1
    - Dst: atan
      Src: /src/PROJ/src/projections/som.cpp:189,1
    - Dst: tan
      Src: /src/PROJ/src/projections/som.cpp:190,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:191,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:192,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:195,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:198,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/som.cpp:200,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/som.cpp:200,1
    - Dst: atan
      Src: /src/PROJ/src/projections/som.cpp:202,1
    - Dst: tan
      Src: /src/PROJ/src/projections/som.cpp:202,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:202,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 205
    functionName: som_e_inverse
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - cos
    - fabs
    - static_cast<struct pj_som_data *>
    - tan
    - aasin
    - atan
    - proj_coord_error
    - exp
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP som_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:209,1
    - Dst: sin
      Src: /src/PROJ/src/projections/som.cpp:210,1
    - Dst: cos
      Src: /src/PROJ/src/projections/som.cpp:211,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/som.cpp:212,1
    - Dst: seraz0
      Src: /src/PROJ/src/projections/som.cpp:224,1
    - Dst: seraz0
      Src: /src/PROJ/src/projections/som.cpp:226,1
    - Dst: seraz0
      Src: /src/PROJ/src/projections/som.cpp:228,1
    - Dst: seraz0
      Src: /src/PROJ/src/projections/som.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 240
    functionName: som_setup
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    - static_cast<struct pj_som_data *>
    - seraz0
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *som_setup(PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:243,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/som.cpp:244,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:246,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/som.cpp:250,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/som.cpp:252,1
    - Dst: _
      Src: /src/PROJ/src/projections/som.cpp:253,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:255,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/som.cpp:259,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/som.cpp:261,1
    - Dst: _
      Src: /src/PROJ/src/projections/som.cpp:261,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:263,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/som.cpp:267,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/som.cpp:269,1
    - Dst: _
      Src: /src/PROJ/src/projections/som.cpp:269,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:270,1
    - Dst: som_setup
      Src: /src/PROJ/src/projections/som.cpp:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 276
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_som_data *>
    - pj_default_destructor
    - som_setup
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(som)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:281,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/som.cpp:282,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:284,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/som.cpp:287,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/som.cpp:289,1
    - Dst: _
      Src: /src/PROJ/src/projections/som.cpp:290,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:291,1
    - Dst: som_setup
      Src: /src/PROJ/src/projections/som.cpp:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 301
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_som_data *>
    - pj_default_destructor
    - som_setup
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(misrsom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_som_data *>
      Src: /src/PROJ/src/projections/som.cpp:305,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/som.cpp:306,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:308,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/som.cpp:311,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/som.cpp:313,1
    - Dst: _
      Src: /src/PROJ/src/projections/som.cpp:314,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:315,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/som.cpp:318,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/som.cpp:321,1
    - Dst: _
      Src: /src/PROJ/src/projections/som.cpp:322,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/som.cpp:324,1
    - Dst: som_setup
      Src: /src/PROJ/src/projections/som.cpp:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 341
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/som.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_som_data *>
    - pj_default_destructor
    - som_setup
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lsat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/putp2.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp2.cpp:26,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp2.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/putp2.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp2.cpp:36,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp2.cpp:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: putp2_s_forward
    functionSourceFile: /src/PROJ/src/projections/putp2.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY putp2_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aasin
      Src: /src/PROJ/src/projections/putp2.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp2.cpp:46,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/putp2.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp2.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: putp2_s_inverse
    functionSourceFile: /src/PROJ/src/projections/putp2.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP putp2_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gstmerc_data *>
      Src: /src/PROJ/src/projections/gstmerc.cpp:28,1
    - Dst: log
      Src: /src/PROJ/src/projections/gstmerc.cpp:32,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/gstmerc.cpp:32,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:32,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:33,1
    - Dst: cosh
      Src: /src/PROJ/src/projections/gstmerc.cpp:33,1
    - Dst: log
      Src: /src/PROJ/src/projections/gstmerc.cpp:34,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/gstmerc.cpp:34,1
    - Dst: asin
      Src: /src/PROJ/src/projections/gstmerc.cpp:34,1
    - Dst: atan
      Src: /src/PROJ/src/projections/gstmerc.cpp:36,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/gstmerc.cpp:36,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gstmerc.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: gstmerc_s_forward
    functionSourceFile: /src/PROJ/src/projections/gstmerc.cpp
    functionUses: 0
    functionsReached:
    - log
    - cos
    - asin
    - sinh
    - atan
    - pj_tsfn
    - static_cast<struct pj_gstmerc_data *>
    - cosh
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gstmerc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gstmerc_data *>
      Src: /src/PROJ/src/projections/gstmerc.cpp:44,1
    - Dst: atan
      Src: /src/PROJ/src/projections/gstmerc.cpp:47,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/gstmerc.cpp:47,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gstmerc.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:49,1
    - Dst: cosh
      Src: /src/PROJ/src/projections/gstmerc.cpp:50,1
    - Dst: log
      Src: /src/PROJ/src/projections/gstmerc.cpp:51,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/gstmerc.cpp:51,1
    - Dst: asin
      Src: /src/PROJ/src/projections/gstmerc.cpp:51,1
    - Dst: pj_phi2
      Src: /src/PROJ/src/projections/gstmerc.cpp:53,1
    - Dst: exp
      Src: /src/PROJ/src/projections/gstmerc.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: gstmerc_s_inverse
    functionSourceFile: /src/PROJ/src/projections/gstmerc.cpp
    functionUses: 0
    functionsReached:
    - log
    - cos
    - asin
    - sinh
    - pj_phi2
    - atan
    - static_cast<struct pj_gstmerc_data *>
    - pj_tsfn
    - exp
    - cosh
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP gstmerc_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gstmerc_data *>
      Src: /src/PROJ/src/projections/gstmerc.cpp:59,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/gstmerc.cpp:60,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gstmerc.cpp:62,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gstmerc.cpp:66,1
    - Dst: pow
      Src: /src/PROJ/src/projections/gstmerc.cpp:66,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gstmerc.cpp:66,1
    - Dst: asin
      Src: /src/PROJ/src/projections/gstmerc.cpp:67,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:67,1
    - Dst: log
      Src: /src/PROJ/src/projections/gstmerc.cpp:68,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/gstmerc.cpp:68,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:68,1
    - Dst: log
      Src: /src/PROJ/src/projections/gstmerc.cpp:69,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/gstmerc.cpp:69,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:69,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gstmerc.cpp:70,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:71,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gstmerc.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gstmerc.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    - log
    - cos
    - pj_default_destructor
    - asin
    - calloc
    - static_cast<struct pj_gstmerc_data *>
    - pj_tsfn
    - pow
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gstmerc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lagrng *>
      Src: /src/PROJ/src/projections/lagrng.cpp:25,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lagrng.cpp:28,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:29,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:29,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lagrng.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lagrng.cpp:35,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/lagrng.cpp:37,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lagrng.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 44
    functionName: lagrng_s_forward
    functionSourceFile: /src/PROJ/src/projections/lagrng.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sin
    - fabs
    - cos
    - static_cast<struct pj_lagrng *>
    - pow
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY lagrng_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lagrng *>
      Src: /src/PROJ/src/projections/lagrng.cpp:48,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:51,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:51,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:59,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/lagrng.cpp:60,1
    - Dst: atan
      Src: /src/PROJ/src/projections/lagrng.cpp:63,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lagrng.cpp:63,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/lagrng.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: lagrng_s_inverse
    functionSourceFile: /src/PROJ/src/projections/lagrng.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - atan2
    - static_cast<struct pj_lagrng *>
    - atan
    - pow
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP lagrng_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lagrng *>
      Src: /src/PROJ/src/projections/lagrng.cpp:74,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/lagrng.cpp:74,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lagrng.cpp:76,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lagrng.cpp:79,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lagrng.cpp:80,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lagrng.cpp:84,1
    - Dst: _
      Src: /src/PROJ/src/projections/lagrng.cpp:84,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lagrng.cpp:85,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lagrng.cpp:90,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lagrng.cpp:90,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:91,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lagrng.cpp:91,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lagrng.cpp:92,1
    - Dst: _
      Src: /src/PROJ/src/projections/lagrng.cpp:93,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lagrng.cpp:94,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lagrng.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/lagrng.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - pj_default_destructor
    - pow
    - static_cast<struct pj_lagrng *>
    - calloc
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lagrng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/PROJ/src/projections/times.cpp:44,1
    - Dst: sin
      Src: /src/PROJ/src/projections/times.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: times_s_forward
    functionSourceFile: /src/PROJ/src/projections/times.cpp
    functionUses: 0
    functionsReached:
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY times_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/times.cpp:60,1
    - Dst: atan
      Src: /src/PROJ/src/projections/times.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: times_s_inverse
    functionSourceFile: /src/PROJ/src/projections/times.cpp
    functionUses: 0
    functionsReached:
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP times_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/times.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(times)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_omerc_data *>
      Src: /src/PROJ/src/projections/omerc.cpp:48,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:51,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:51,1
    - Dst: pow
      Src: /src/PROJ/src/projections/omerc.cpp:52,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/omerc.cpp:52,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:52,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:56,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:58,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:58,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/omerc.cpp:59,1
    - Dst: log
      Src: /src/PROJ/src/projections/omerc.cpp:62,1
    - Dst: cos
      Src: /src/PROJ/src/projections/omerc.cpp:63,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:64,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/omerc.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 82
    functionName: omerc_e_forward
    functionSourceFile: /src/PROJ/src/projections/omerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - log
    - fabs
    - cos
    - atan2
    - pow
    - pj_tsfn
    - static_cast<struct pj_omerc_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY omerc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_omerc_data *>
      Src: /src/PROJ/src/projections/omerc.cpp:86,1
    - Dst: exp
      Src: /src/PROJ/src/projections/omerc.cpp:96,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/omerc.cpp:98,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/omerc.cpp:99,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:103,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:105,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:105,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/omerc.cpp:109,1
    - Dst: pj_phi2
      Src: /src/PROJ/src/projections/omerc.cpp:110,1
    - Dst: pow
      Src: /src/PROJ/src/projections/omerc.cpp:110,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/omerc.cpp:112,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/omerc.cpp:116,1
    - Dst: cos
      Src: /src/PROJ/src/projections/omerc.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: omerc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/omerc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - cos
    - atan2
    - pow
    - pj_phi2
    - proj_coord_error
    - exp
    - static_cast<struct pj_omerc_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP omerc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_omerc_data *>
      Src: /src/PROJ/src/projections/omerc.cpp:127,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/omerc.cpp:128,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:130,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:133,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:134,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:135,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:136,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:137,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:139,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:142,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:144,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:148,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:149,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:152,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:153,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:154,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:155,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:156,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:158,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:159,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:160,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:161,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:164,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:165,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:166,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:167,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:171,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:172,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:173,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:175,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:180,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:182,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:183,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:187,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:187,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:188,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:189,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:190,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/omerc.cpp:195,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/projections/omerc.cpp:196,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:196,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/omerc.cpp:199,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:200,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:201,1
    - Dst: cos
      Src: /src/PROJ/src/projections/omerc.cpp:202,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/omerc.cpp:205,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/omerc.cpp:207,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/omerc.cpp:211,1
    - Dst: pow
      Src: /src/PROJ/src/projections/omerc.cpp:216,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/omerc.cpp:216,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/omerc.cpp:224,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:224,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/omerc.cpp:229,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:229,1
    - Dst: proj_errno
      Src: /src/PROJ/src/projections/omerc.cpp:230,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:233,1
    - Dst: std::to_string
      Src: /src/PROJ/src/projections/omerc.cpp:236,1
    - Dst: asin
      Src: /src/PROJ/src/projections/omerc.cpp:236,1
    - Dst: c_str
      Src: /src/PROJ/src/projections/omerc.cpp:234,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:238,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:243,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:243,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:244,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:245,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:246,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/omerc.cpp:250,1
    - Dst: tan
      Src: /src/PROJ/src/projections/omerc.cpp:250,1
    - Dst: pow
      Src: /src/PROJ/src/projections/omerc.cpp:252,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/omerc.cpp:252,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:252,1
    - Dst: pow
      Src: /src/PROJ/src/projections/omerc.cpp:253,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/omerc.cpp:253,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:253,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:258,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:258,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:259,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/omerc.cpp:268,1
    - Dst: atan
      Src: /src/PROJ/src/projections/omerc.cpp:269,1
    - Dst: tan
      Src: /src/PROJ/src/projections/omerc.cpp:269,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/omerc.cpp:272,1
    - Dst: _
      Src: /src/PROJ/src/projections/omerc.cpp:272,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/omerc.cpp:273,1
    - Dst: atan
      Src: /src/PROJ/src/projections/omerc.cpp:276,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:276,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/omerc.cpp:276,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/omerc.cpp:277,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:277,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:279,1
    - Dst: cos
      Src: /src/PROJ/src/projections/omerc.cpp:280,1
    - Dst: sin
      Src: /src/PROJ/src/projections/omerc.cpp:281,1
    - Dst: cos
      Src: /src/PROJ/src/projections/omerc.cpp:282,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/omerc.cpp:288,1
    - Dst: atan
      Src: /src/PROJ/src/projections/omerc.cpp:288,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/omerc.cpp:288,1
    - Dst: cos
      Src: /src/PROJ/src/projections/omerc.cpp:288,1
    - Dst: log
      Src: /src/PROJ/src/projections/omerc.cpp:293,1
    - Dst: tan
      Src: /src/PROJ/src/projections/omerc.cpp:293,1
    - Dst: log
      Src: /src/PROJ/src/projections/omerc.cpp:294,1
    - Dst: tan
      Src: /src/PROJ/src/projections/omerc.cpp:294,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 299
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/omerc.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - _
    - static_cast<struct pj_omerc_data *>
    - log
    - proj_log_trace
    - pj_default_destructor
    - asin
    - adjlon
    - atan
    - proj_log_error
    - proj_errno
    - sqrt
    - calloc
    - pj_tsfn
    - std::to_string
    - c_str
    - sin
    - fabs
    - cos
    - tan
    - pj_param
    - pow
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(omerc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/projections/eck2.cpp:19,1
    - Dst: sin
      Src: /src/PROJ/src/projections/eck2.cpp:19,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck2.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: eck2_s_forward
    functionSourceFile: /src/PROJ/src/projections/eck2.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eck2_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck2.cpp:31,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck2.cpp:34,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck2.cpp:35,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/eck2.cpp:36,1
    - Dst: asin
      Src: /src/PROJ/src/projections/eck2.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: eck2_s_inverse
    functionSourceFile: /src/PROJ/src/projections/eck2.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - asin
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eck2_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eck2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/boggs.cpp:21,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/boggs.cpp:21,1
    - Dst: sin
      Src: /src/PROJ/src/projections/boggs.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/boggs.cpp:26,1
    - Dst: cos
      Src: /src/PROJ/src/projections/boggs.cpp:26,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/boggs.cpp:28,1
    - Dst: cos
      Src: /src/PROJ/src/projections/boggs.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/boggs.cpp:32,1
    - Dst: sin
      Src: /src/PROJ/src/projections/boggs.cpp:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: boggs_s_forward
    functionSourceFile: /src/PROJ/src/projections/boggs.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY boggs_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/boggs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(boggs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - C
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: V
    functionSourceFile: /src/PROJ/src/projections/robin.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(C, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - C
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: DV
    functionSourceFile: /src/PROJ/src/projections/robin.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DV(C, z)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/robin.cpp:84,1
    - Dst: std::isnan
      Src: /src/PROJ/src/projections/robin.cpp:85,1
    - Dst: lround
      Src: /src/PROJ/src/projections/robin.cpp:85,1
    - Dst: floor
      Src: /src/PROJ/src/projections/robin.cpp:85,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/robin.cpp:87,1
    - Dst: V
      Src: /src/PROJ/src/projections/robin.cpp:93,1
    - Dst: V
      Src: /src/PROJ/src/projections/robin.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: robin_s_forward
    functionSourceFile: /src/PROJ/src/projections/robin.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - lround
    - fabs
    - V
    - std::isnan
    - floor
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY robin_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/robin.cpp:108,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/robin.cpp:111,1
    - Dst: std::isnan
      Src: /src/PROJ/src/projections/robin.cpp:119,1
    - Dst: lround
      Src: /src/PROJ/src/projections/robin.cpp:119,1
    - Dst: floor
      Src: /src/PROJ/src/projections/robin.cpp:119,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/robin.cpp:121,1
    - Dst: V
      Src: /src/PROJ/src/projections/robin.cpp:136,1
    - Dst: DV
      Src: /src/PROJ/src/projections/robin.cpp:136,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/robin.cpp:138,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/robin.cpp:142,1
    - Dst: V
      Src: /src/PROJ/src/projections/robin.cpp:147,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/robin.cpp:148,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/robin.cpp:149,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/robin.cpp:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: robin_s_inverse
    functionSourceFile: /src/PROJ/src/projections/robin.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - lround
    - fabs
    - V
    - proj_context_errno_set
    - proj_coord_error
    - DV
    - std::isnan
    - floor
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP robin_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/robin.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(robin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_spilhaus_data *>
      Src: /src/PROJ/src/projections/spilhaus.cpp:45,1
    - Dst: pj_conformal_lat
      Src: /src/PROJ/src/projections/spilhaus.cpp:47,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:49,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:51,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:52,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/spilhaus.cpp:57,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/spilhaus.cpp:61,1
    - Dst: struct pj_spilhaus_data*::adams_ws2::fwd
      Src: /src/PROJ/src/projections/spilhaus.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: spilhaus_forward
    functionSourceFile: /src/PROJ/src/projections/spilhaus.cpp
    functionUses: 0
    functionsReached:
    - cos
    - aasin
    - atan2
    - pj_conformal_lat
    - struct pj_spilhaus_data*::adams_ws2::fwd
    - static_cast<struct pj_spilhaus_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY spilhaus_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_spilhaus_data *>
      Src: /src/PROJ/src/projections/spilhaus.cpp:80,1
    - Dst: struct pj_spilhaus_data*::adams_ws2::inv
      Src: /src/PROJ/src/projections/spilhaus.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:88,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:89,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:90,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:91,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/spilhaus.cpp:94,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/spilhaus.cpp:98,1
    - Dst: pj_conformal_lat_inverse
      Src: /src/PROJ/src/projections/spilhaus.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: spilhaus_inverse
    functionSourceFile: /src/PROJ/src/projections/spilhaus.cpp
    functionUses: 0
    functionsReached:
    - pj_conformal_lat_inverse
    - cos
    - aasin
    - aatan2
    - struct pj_spilhaus_data*::adams_ws2::inv
    - static_cast<struct pj_spilhaus_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP spilhaus_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/spilhaus.cpp:110,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/projections/spilhaus.cpp:111,1
    - Dst: static_cast<struct pj_spilhaus_data *>
      Src: /src/PROJ/src/projections/spilhaus.cpp:111,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/spilhaus.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: spilhaus_destructor
    functionSourceFile: /src/PROJ/src/projections/spilhaus.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - static_cast<struct pj_spilhaus_data *>
    - proj_destroy
    linkageType: ''
    returnType: PJ
    signature: PJ *spilhaus_destructor(PJ *P, int errlev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_spilhaus_data *>
      Src: /src/PROJ/src/projections/spilhaus.cpp:116,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/spilhaus.cpp:117,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/spilhaus.cpp:119,1
    - Dst: pj_adams_ws2
      Src: /src/PROJ/src/projections/spilhaus.cpp:123,1
    - Dst: spilhaus_destructor
      Src: /src/PROJ/src/projections/spilhaus.cpp:125,1
    - Dst: pj_adams_ws2
      Src: /src/PROJ/src/projections/spilhaus.cpp:128,1
    - Dst: spilhaus_destructor
      Src: /src/PROJ/src/projections/spilhaus.cpp:130,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/spilhaus.cpp:133,1
    - Dst: c_str
      Src: /src/PROJ/src/projections/spilhaus.cpp:133,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/spilhaus.cpp:134,1
    - Dst: c_str
      Src: /src/PROJ/src/projections/spilhaus.cpp:134,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/spilhaus.cpp:139,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/spilhaus.cpp:142,1
    - Dst: param_rad
      Src: /src/PROJ/src/projections/spilhaus.cpp:145,1
    - Dst: param_rad
      Src: /src/PROJ/src/projections/spilhaus.cpp:147,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:148,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:149,1
    - Dst: pj_conformal_lat
      Src: /src/PROJ/src/projections/spilhaus.cpp:151,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:153,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:153,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/spilhaus.cpp:154,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/spilhaus.cpp:155,1
    - Dst: tan
      Src: /src/PROJ/src/projections/spilhaus.cpp:155,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:155,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/spilhaus.cpp:156,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:156,1
    - Dst: tan
      Src: /src/PROJ/src/projections/spilhaus.cpp:156,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:158,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/spilhaus.cpp:159,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:159,1
    - Dst: sin
      Src: /src/PROJ/src/projections/spilhaus.cpp:159,1
    - Dst: cos
      Src: /src/PROJ/src/projections/spilhaus.cpp:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 166
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/spilhaus.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    - cos
    - tan
    - atan2
    - pj_default_destructor
    - spilhaus_destructor
    - pj_conformal_lat
    - calloc
    - param_rad
    - static_cast<struct pj_spilhaus_data *>
    - pj_param
    - c_str
    - pj_adams_ws2
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(spilhaus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/calcofi.cpp:43,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/calcofi.cpp:43,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/calcofi.cpp:44,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:49,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/calcofi.cpp:49,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:49,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:50,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/calcofi.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:50,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:51,1
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:53,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:53,1
    - Dst: pj_phi2
      Src: /src/PROJ/src/projections/calcofi.cpp:54,1
    - Dst: exp
      Src: /src/PROJ/src/projections/calcofi.cpp:54,1
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:56,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: calcofi_e_forward
    functionSourceFile: /src/PROJ/src/projections/calcofi.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - log
    - fabs
    - tan
    - cos
    - pj_phi2
    - pj_tsfn
    - exp
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY calcofi_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/calcofi.cpp:71,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/calcofi.cpp:71,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/calcofi.cpp:72,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:76,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:76,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:77,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:77,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:78,1
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:80,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:80,1
    - Dst: atan
      Src: /src/PROJ/src/projections/calcofi.cpp:81,1
    - Dst: exp
      Src: /src/PROJ/src/projections/calcofi.cpp:81,1
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:83,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: calcofi_s_forward
    functionSourceFile: /src/PROJ/src/projections/calcofi.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - log
    - cos
    - fabs
    - tan
    - atan
    - exp
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY calcofi_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:99,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:100,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:101,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/calcofi.cpp:101,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:101,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:102,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/calcofi.cpp:102,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:102,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:103,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/calcofi.cpp:103,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:103,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:104,1
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:105,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: calcofi_e_inverse
    functionSourceFile: /src/PROJ/src/projections/calcofi.cpp
    functionUses: 0
    functionsReached:
    - log
    - cos
    - tan
    - pj_tsfn
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP calcofi_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:121,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:122,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:123,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:123,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:124,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:124,1
    - Dst: log
      Src: /src/PROJ/src/projections/calcofi.cpp:125,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:125,1
    - Dst: tan
      Src: /src/PROJ/src/projections/calcofi.cpp:126,1
    - Dst: cos
      Src: /src/PROJ/src/projections/calcofi.cpp:127,1
    - Dst: sin
      Src: /src/PROJ/src/projections/calcofi.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: calcofi_s_inverse
    functionSourceFile: /src/PROJ/src/projections/calcofi.cpp
    functionUses: 0
    functionsReached:
    - log
    - cos
    - tan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP calcofi_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/calcofi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(calcofi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_poly_data *>
      Src: /src/PROJ/src/projections/poly.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:30,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:34,1
    - Dst: cos
      Src: /src/PROJ/src/projections/poly.cpp:35,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:36,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/poly.cpp:36,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:38,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/poly.cpp:40,1
    - Dst: cos
      Src: /src/PROJ/src/projections/poly.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: poly_e_forward
    functionSourceFile: /src/PROJ/src/projections/poly.cpp
    functionUses: 0
    functionsReached:
    - pj_mlfn
    - cos
    - fabs
    - pj_msfn
    - static_cast<struct pj_poly_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY poly_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_poly_data *>
      Src: /src/PROJ/src/projections/poly.cpp:48,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:50,1
    - Dst: tan
      Src: /src/PROJ/src/projections/poly.cpp:54,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:55,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:56,1
    - Dst: cos
      Src: /src/PROJ/src/projections/poly.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: poly_s_forward
    functionSourceFile: /src/PROJ/src/projections/poly.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    - tan
    - static_cast<struct pj_poly_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY poly_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_poly_data *>
      Src: /src/PROJ/src/projections/poly.cpp:65,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:68,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:77,1
    - Dst: cos
      Src: /src/PROJ/src/projections/poly.cpp:78,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:80,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/poly.cpp:81,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/poly.cpp:85,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/poly.cpp:87,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:95,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/poly.cpp:99,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:102,1
    - Dst: asin
      Src: /src/PROJ/src/projections/poly.cpp:104,1
    - Dst: tan
      Src: /src/PROJ/src/projections/poly.cpp:104,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/poly.cpp:104,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 108
    functionName: poly_e_inverse
    functionSourceFile: /src/PROJ/src/projections/poly.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - pj_mlfn
    - cos
    - fabs
    - tan
    - asin
    - static_cast<struct pj_poly_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP poly_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:113,1
    - Dst: tan
      Src: /src/PROJ/src/projections/poly.cpp:121,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/poly.cpp:126,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/poly.cpp:130,1
    - Dst: asin
      Src: /src/PROJ/src/projections/poly.cpp:135,1
    - Dst: tan
      Src: /src/PROJ/src/projections/poly.cpp:135,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: poly_s_inverse
    functionSourceFile: /src/PROJ/src/projections/poly.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - tan
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP poly_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/poly.cpp:146,1
    - Dst: static_cast<struct pj_poly_data *>
      Src: /src/PROJ/src/projections/poly.cpp:148,1
    - Dst: free
      Src: /src/PROJ/src/projections/poly.cpp:149,1
    - Dst: static_cast<struct pj_poly_data *>
      Src: /src/PROJ/src/projections/poly.cpp:149,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/poly.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: pj_poly_destructor
    functionSourceFile: /src/PROJ/src/projections/poly.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_poly_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_poly_destructor(PJ *P, int errlev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_poly_data *>
      Src: /src/PROJ/src/projections/poly.cpp:155,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/poly.cpp:156,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/poly.cpp:158,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/poly.cpp:164,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/poly.cpp:165,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/poly.cpp:166,1
    - Dst: sin
      Src: /src/PROJ/src/projections/poly.cpp:166,1
    - Dst: cos
      Src: /src/PROJ/src/projections/poly.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/poly.cpp
    functionUses: 0
    functionsReached:
    - pj_mlfn
    - cos
    - pj_default_destructor
    - pj_enfn
    - calloc
    - static_cast<struct pj_poly_data *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/PROJ/src/projections/fahey.cpp:16,1
    - Dst: asqrt
      Src: /src/PROJ/src/projections/fahey.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: fahey_s_forward
    functionSourceFile: /src/PROJ/src/projections/fahey.cpp
    functionUses: 0
    functionsReached:
    - tan
    - asqrt
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY fahey_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/fahey.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/fahey.cpp:29,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/fahey.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: fahey_s_inverse
    functionSourceFile: /src/PROJ/src/projections/fahey.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - atan
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP fahey_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/fahey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(fahey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wink1_data *>
      Src: /src/PROJ/src/projections/wink1.cpp:21,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wink1.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: wink1_s_forward
    functionSourceFile: /src/PROJ/src/projections/wink1.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_wink1_data *>
    - cos
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY wink1_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wink1_data *>
      Src: /src/PROJ/src/projections/wink1.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wink1.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: wink1_s_inverse
    functionSourceFile: /src/PROJ/src/projections/wink1.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_wink1_data *>
    - cos
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP wink1_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wink1_data *>
      Src: /src/PROJ/src/projections/wink1.cpp:36,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/wink1.cpp:37,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/wink1.cpp:39,1
    - Dst: static_cast<struct pj_wink1_data *>
      Src: /src/PROJ/src/projections/wink1.cpp:42,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wink1.cpp:43,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/wink1.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/wink1.cpp
    functionUses: 0
    functionsReached:
    - cos
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_wink1_data *>
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wink1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/sterea.cpp:45,1
    - Dst: pj_gauss
      Src: /src/PROJ/src/projections/sterea.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sterea.cpp:49,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sterea.cpp:50,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sterea.cpp:51,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/sterea.cpp:54,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/sterea.cpp:55,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sterea.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: sterea_e_forward
    functionSourceFile: /src/PROJ/src/projections/sterea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - static_cast<struct pj_opaque *>
    - pj_gauss
    - proj_coord_error
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY sterea_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/sterea.cpp:65,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/sterea.cpp:70,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/sterea.cpp:71,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sterea.cpp:72,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sterea.cpp:73,1
    - Dst: asin
      Src: /src/PROJ/src/projections/sterea.cpp:74,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/sterea.cpp:76,1
    - Dst: pj_inv_gauss
      Src: /src/PROJ/src/projections/sterea.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: sterea_e_inverse
    functionSourceFile: /src/PROJ/src/projections/sterea.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - cos
    - atan2
    - asin
    - static_cast<struct pj_opaque *>
    - pj_inv_gauss
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP sterea_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sterea.cpp:89,1
    - Dst: free
      Src: /src/PROJ/src/projections/sterea.cpp:91,1
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/sterea.cpp:91,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sterea.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: destructor
    functionSourceFile: /src/PROJ/src/projections/sterea.cpp
    functionUses: 68
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/sterea.cpp:98,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sterea.cpp:98,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sterea.cpp:101,1
    - Dst: pj_gauss_ini
      Src: /src/PROJ/src/projections/sterea.cpp:104,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sterea.cpp:106,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sterea.cpp:108,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sterea.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sterea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - pj_default_destructor
    - pj_gauss_ini
    - static_cast<struct pj_opaque *>
    - calloc
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(sterea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck1.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: eck1_s_forward
    functionSourceFile: /src/PROJ/src/projections/eck1.cpp
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eck1_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/eck1.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: eck1_s_inverse
    functionSourceFile: /src/PROJ/src/projections/eck1.cpp
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eck1_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eck1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ccon_data *>
      Src: /src/PROJ/src/projections/ccon.cpp:45,1
    - Dst: tan
      Src: /src/PROJ/src/projections/ccon.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ccon.cpp:49,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ccon.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ccon_forward
    functionSourceFile: /src/PROJ/src/projections/ccon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_ccon_data *>
    - cos
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY ccon_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ccon_data *>
      Src: /src/PROJ/src/projections/ccon.cpp:57,1
    - Dst: atan
      Src: /src/PROJ/src/projections/ccon.cpp:60,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/ccon.cpp:60,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ccon.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: ccon_inverse
    functionSourceFile: /src/PROJ/src/projections/ccon.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - atan
    - atan2
    - static_cast<struct pj_ccon_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP ccon_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ccon.cpp:71,1
    - Dst: free
      Src: /src/PROJ/src/projections/ccon.cpp:73,1
    - Dst: static_cast<struct pj_ccon_data *>
      Src: /src/PROJ/src/projections/ccon.cpp:73,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ccon.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: pj_ccon_destructor
    functionSourceFile: /src/PROJ/src/projections/ccon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_ccon_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_ccon_destructor(PJ *P, int errlev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ccon_data *>
      Src: /src/PROJ/src/projections/ccon.cpp:79,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/ccon.cpp:80,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ccon.cpp:82,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ccon.cpp:86,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ccon.cpp:87,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ccon.cpp:88,1
    - Dst: _
      Src: /src/PROJ/src/projections/ccon.cpp:88,1
    - Dst: pj_ccon_destructor
      Src: /src/PROJ/src/projections/ccon.cpp:89,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/ccon.cpp:91,1
    - Dst: pj_ccon_destructor
      Src: /src/PROJ/src/projections/ccon.cpp:92,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ccon.cpp:94,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ccon.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/ccon.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - pj_ccon_destructor
    - pj_default_destructor
    - pj_enfn
    - calloc
    - proj_log_error
    - _
    - static_cast<struct pj_ccon_data *>
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(ccon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/merc.cpp:18,1
    - Dst: cos
      Src: /src/PROJ/src/projections/merc.cpp:19,1
    - Dst: asinh
      Src: /src/PROJ/src/projections/merc.cpp:20,1
    - Dst: atanh
      Src: /src/PROJ/src/projections/merc.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: merc_e_forward
    functionSourceFile: /src/PROJ/src/projections/merc.cpp
    functionUses: 0
    functionsReached:
    - atanh
    - cos
    - asinh
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY merc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asinh
      Src: /src/PROJ/src/projections/merc.cpp:27,1
    - Dst: tan
      Src: /src/PROJ/src/projections/merc.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: merc_s_forward
    functionSourceFile: /src/PROJ/src/projections/merc.cpp
    functionUses: 0
    functionsReached:
    - asinh
    - tan
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY merc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/merc.cpp:33,1
    - Dst: pj_sinhpsi2tanphi
      Src: /src/PROJ/src/projections/merc.cpp:33,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/merc.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: merc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/merc.cpp
    functionUses: 0
    functionsReached:
    - pj_sinhpsi2tanphi
    - atan
    - sinh
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP merc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/merc.cpp:40,1
    - Dst: sinh
      Src: /src/PROJ/src/projections/merc.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: merc_s_inverse
    functionSourceFile: /src/PROJ/src/projections/merc.cpp
    functionUses: 0
    functionsReached:
    - atan
    - sinh
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP merc_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/projections/merc.cpp:49,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/merc.cpp:50,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/merc.cpp:50,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/merc.cpp:52,1
    - Dst: _
      Src: /src/PROJ/src/projections/merc.cpp:53,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/merc.cpp:54,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/merc.cpp:61,1
    - Dst: sin
      Src: /src/PROJ/src/projections/merc.cpp:61,1
    - Dst: cos
      Src: /src/PROJ/src/projections/merc.cpp:61,1
    - Dst: cos
      Src: /src/PROJ/src/projections/merc.cpp:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/merc.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - pj_msfn
    - cos
    - pj_default_destructor
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(merc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/merc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(webmerc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:30,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:34,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:35,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/ob_tran.cpp:37,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/ob_tran.cpp:37,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:37,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/ob_tran.cpp:41,1
    - Dst: struct pj_ob_tran_data*::link::fwd
      Src: /src/PROJ/src/projections/ob_tran.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: o_forward
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 0
    functionsReached:
    - cos
    - aasin
    - aatan2
    - adjlon
    - struct pj_ob_tran_data*::link::fwd
    - static_cast<struct pj_ob_tran_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY o_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:48,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:51,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:52,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/ob_tran.cpp:53,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/ob_tran.cpp:53,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:53,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:53,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/ob_tran.cpp:54,1
    - Dst: struct pj_ob_tran_data*::link::fwd
      Src: /src/PROJ/src/projections/ob_tran.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: t_forward
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 0
    functionsReached:
    - cos
    - aasin
    - aatan2
    - adjlon
    - struct pj_ob_tran_data*::link::fwd
    - static_cast<struct pj_ob_tran_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY t_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:62,1
    - Dst: struct pj_ob_tran_data*::link::inv
      Src: /src/PROJ/src/projections/ob_tran.cpp:65,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:68,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:69,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:70,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/ob_tran.cpp:72,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/ob_tran.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: o_inverse
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 0
    functionsReached:
    - cos
    - aasin
    - aatan2
    - static_cast<struct pj_ob_tran_data *>
    - struct pj_ob_tran_data*::link::inv
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP o_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:83,1
    - Dst: struct pj_ob_tran_data*::link::inv
      Src: /src/PROJ/src/projections/ob_tran.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:88,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/ob_tran.cpp:90,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:90,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:90,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/ob_tran.cpp:91,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: t_inverse
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 6
    functionsReached:
    - cos
    - aasin
    - aatan2
    - static_cast<struct pj_ob_tran_data *>
    - struct pj_ob_tran_data*::link::inv
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP t_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:100,1
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:102,1
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:103,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:103,1
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:104,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: destructor
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 73
    functionsReached:
    - destructor
    - static_cast<struct pj_ob_tran_data *>
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - paralist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: paralist_params_argc
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t paralist_params_argc(paralist *params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: paralist_params_argc
      Src: /src/PROJ/src/projections/ob_tran.cpp:142,1
    - Dst: static_cast<char **>
      Src: /src/PROJ/src/projections/ob_tran.cpp:147,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/ob_tran.cpp:147,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/ob_tran.cpp:153,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/ob_tran.cpp:154,1
    - Dst: strncmp
      Src: /src/PROJ/src/projections/ob_tran.cpp:162,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/ob_tran.cpp:165,1
    - Dst: free
      Src: /src/PROJ/src/projections/ob_tran.cpp:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - params
    argTypes:
    - paralist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 174
    functionName: ob_tran_target_params
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 0
    functionsReached:
    - paralist_params_argc
    - strncmp
    - free
    - strcmp
    - static_cast<char **>
    - calloc
    linkageType: ''
    returnType: ARGS
    signature: ARGS ob_tran_target_params(paralist *params)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ob_tran_data *>
      Src: /src/PROJ/src/projections/ob_tran.cpp:181,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/ob_tran.cpp:182,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:184,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:190,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:191,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:191,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:192,1
    - Dst: ob_tran_target_params
      Src: /src/PROJ/src/projections/ob_tran.cpp:196,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:199,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:199,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:200,1
    - Dst: pj_create_argv_internal
      Src: /src/PROJ/src/projections/ob_tran.cpp:202,1
    - Dst: free
      Src: /src/PROJ/src/projections/ob_tran.cpp:203,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:206,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:206,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:207,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/projections/ob_tran.cpp:214,1
    - Dst: std::set::find
      Src: /src/PROJ/src/projections/ob_tran.cpp:220,1
    - Dst: std::set::end
      Src: /src/PROJ/src/projections/ob_tran.cpp:220,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:227,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:230,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:231,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:232,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:234,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:234,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:235,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:236,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:237,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/ob_tran.cpp:240,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:240,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:240,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:240,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/ob_tran.cpp:241,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:241,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:241,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:242,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:244,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:245,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:249,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:250,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:251,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ob_tran.cpp:252,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:253,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:255,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:256,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:257,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:258,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:260,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:261,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:262,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:263,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:265,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:266,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:267,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:269,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/ob_tran.cpp:272,1
    - Dst: _
      Src: /src/PROJ/src/projections/ob_tran.cpp:272,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/ob_tran.cpp:274,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ob_tran.cpp:277,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:277,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:277,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:277,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:278,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:278,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:278,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:279,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:279,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:279,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:280,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:280,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:280,1
    - Dst: atan
      Src: /src/PROJ/src/projections/ob_tran.cpp:281,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:281,1
    - Dst: tan
      Src: /src/PROJ/src/projections/ob_tran.cpp:281,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ob_tran.cpp:284,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ob_tran.cpp:285,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ob_tran.cpp:286,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 301
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/ob_tran.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - atan2
    - _
    - std::set::insert
    - destructor
    - atan
    - proj_log_error
    - pj_create_argv_internal
    - aatan2
    - calloc
    - sin
    - free
    - ob_tran_target_params
    - fabs
    - cos
    - std::set::find
    - tan
    - static_cast<struct pj_ob_tran_data *>
    - pj_param
    - std::set::end
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(ob_tran)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_airy *>
      Src: /src/PROJ/src/projections/airy.cpp:54,1
    - Dst: sin
      Src: /src/PROJ/src/projections/airy.cpp:57,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airy.cpp:58,1
    - Dst: sin
      Src: /src/PROJ/src/projections/airy.cpp:62,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airy.cpp:63,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/airy.cpp:68,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/airy.cpp:72,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/airy.cpp:75,1
    - Dst: log
      Src: /src/PROJ/src/projections/airy.cpp:79,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/airy.cpp:90,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/airy.cpp:92,1
    - Dst: tan
      Src: /src/PROJ/src/projections/airy.cpp:97,1
    - Dst: log
      Src: /src/PROJ/src/projections/airy.cpp:98,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airy.cpp:98,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 107
    functionName: airy_s_forward
    functionSourceFile: /src/PROJ/src/projections/airy.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - log
    - fabs
    - cos
    - tan
    - static_cast<struct pj_airy *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY airy_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_airy *>
      Src: /src/PROJ/src/projections/airy.cpp:113,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/airy.cpp:113,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/airy.cpp:115,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/airy.cpp:119,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/airy.cpp:120,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/airy.cpp:121,1
    - Dst: tan
      Src: /src/PROJ/src/projections/airy.cpp:124,1
    - Dst: log
      Src: /src/PROJ/src/projections/airy.cpp:125,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airy.cpp:125,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/airy.cpp:128,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/airy.cpp:128,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/airy.cpp:137,1
    - Dst: sin
      Src: /src/PROJ/src/projections/airy.cpp:141,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airy.cpp:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/airy.cpp
    functionUses: 0
    functionsReached:
    - log
    - fabs
    - tan
    - cos
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_airy *>
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(airy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_somerc *>
      Src: /src/PROJ/src/projections/somerc.cpp:23,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:25,1
    - Dst: atan
      Src: /src/PROJ/src/projections/somerc.cpp:26,1
    - Dst: exp
      Src: /src/PROJ/src/projections/somerc.cpp:26,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:26,1
    - Dst: tan
      Src: /src/PROJ/src/projections/somerc.cpp:26,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:31,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/somerc.cpp:32,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:32,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/somerc.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:33,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:35,1
    - Dst: tan
      Src: /src/PROJ/src/projections/somerc.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: somerc_e_forward
    functionSourceFile: /src/PROJ/src/projections/somerc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_somerc *>
    - log
    - cos
    - tan
    - aasin
    - atan
    - exp
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY somerc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_somerc *>
      Src: /src/PROJ/src/projections/somerc.cpp:41,1
    - Dst: atan
      Src: /src/PROJ/src/projections/somerc.cpp:45,1
    - Dst: exp
      Src: /src/PROJ/src/projections/somerc.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:47,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/somerc.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:48,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:48,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/somerc.cpp:49,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:49,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:49,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:50,1
    - Dst: tan
      Src: /src/PROJ/src/projections/somerc.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:52,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:53,1
    - Dst: tan
      Src: /src/PROJ/src/projections/somerc.cpp:53,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:54,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:55,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/somerc.cpp:57,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/somerc.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: somerc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/somerc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_somerc *>
    - log
    - proj_errno_set
    - cos
    - tan
    - fabs
    - aasin
    - atan
    - exp
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP somerc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_somerc *>
      Src: /src/PROJ/src/projections/somerc.cpp:73,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/somerc.cpp:73,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/somerc.cpp:75,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:79,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/somerc.cpp:81,1
    - Dst: sin
      Src: /src/PROJ/src/projections/somerc.cpp:82,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/somerc.cpp:84,1
    - Dst: cos
      Src: /src/PROJ/src/projections/somerc.cpp:85,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:87,1
    - Dst: tan
      Src: /src/PROJ/src/projections/somerc.cpp:87,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:88,1
    - Dst: tan
      Src: /src/PROJ/src/projections/somerc.cpp:88,1
    - Dst: log
      Src: /src/PROJ/src/projections/somerc.cpp:89,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/somerc.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/somerc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_somerc *>
    - sqrt
    - log
    - cos
    - tan
    - aasin
    - pj_default_destructor
    - calloc
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(somerc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/denoy.cpp:20,1
    - Dst: cos
      Src: /src/PROJ/src/projections/denoy.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: denoy_s_forward
    functionSourceFile: /src/PROJ/src/projections/denoy.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY denoy_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/denoy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(denoy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp4p_data *>
      Src: /src/PROJ/src/projections/putp4p.cpp:20,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/putp4p.cpp:22,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp4p.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp4p.cpp:23,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp4p.cpp:25,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp4p.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: putp4p_s_forward
    functionSourceFile: /src/PROJ/src/projections/putp4p.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - static_cast<struct pj_putp4p_data *>
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY putp4p_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp4p_data *>
      Src: /src/PROJ/src/projections/putp4p.cpp:33,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/putp4p.cpp:35,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp4p.cpp:36,1
    - Dst: cos
      Src: /src/PROJ/src/projections/putp4p.cpp:38,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/putp4p.cpp:39,1
    - Dst: sin
      Src: /src/PROJ/src/projections/putp4p.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: putp4p_s_inverse
    functionSourceFile: /src/PROJ/src/projections/putp4p.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - static_cast<struct pj_putp4p_data *>
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP putp4p_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp4p_data *>
      Src: /src/PROJ/src/projections/putp4p.cpp:45,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp4p.cpp:46,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp4p.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp4p.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_putp4p_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp4p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp4p_data *>
      Src: /src/PROJ/src/projections/putp4p.cpp:62,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp4p.cpp:63,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp4p.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp4p.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_putp4p_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(weren)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lcc_data *>
      Src: /src/PROJ/src/projections/lcc.cpp:24,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:27,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/lcc.cpp:29,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:35,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/lcc.cpp:35,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcc.cpp:35,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:36,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcc.cpp:36,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcc.cpp:39,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcc.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: lcc_e_forward
    functionSourceFile: /src/PROJ/src/projections/lcc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sin
    - fabs
    - tan
    - cos
    - static_cast<struct pj_lcc_data *>
    - pj_tsfn
    - pow
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY lcc_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lcc_data *>
      Src: /src/PROJ/src/projections/lcc.cpp:46,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/lcc.cpp:53,1
    - Dst: pj_phi2
      Src: /src/PROJ/src/projections/lcc.cpp:61,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:61,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/lcc.cpp:63,1
    - Dst: atan
      Src: /src/PROJ/src/projections/lcc.cpp:69,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:69,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/lcc.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: lcc_e_inverse
    functionSourceFile: /src/PROJ/src/projections/lcc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - atan2
    - static_cast<struct pj_lcc_data *>
    - pj_phi2
    - atan
    - pow
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP lcc_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lcc_data *>
      Src: /src/PROJ/src/projections/lcc.cpp:81,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/lcc.cpp:82,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:85,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lcc.cpp:88,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lcc.cpp:89,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lcc.cpp:90,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/lcc.cpp:93,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:97,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcc.cpp:98,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcc.cpp:98,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:100,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcc.cpp:103,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcc.cpp:104,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:106,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:106,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcc.cpp:107,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcc.cpp:108,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:109,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:111,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcc.cpp:111,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:111,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcc.cpp:112,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcc.cpp:113,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:114,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:117,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/lcc.cpp:121,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/lcc.cpp:122,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcc.cpp:124,1
    - Dst: log
      Src: /src/PROJ/src/projections/lcc.cpp:125,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/projections/lcc.cpp:125,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcc.cpp:125,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcc.cpp:128,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcc.cpp:128,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:129,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/lcc.cpp:132,1
    - Dst: log
      Src: /src/PROJ/src/projections/lcc.cpp:133,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcc.cpp:136,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcc.cpp:136,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:137,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:142,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:144,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:144,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:146,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/lcc.cpp:146,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcc.cpp:146,1
    - Dst: log
      Src: /src/PROJ/src/projections/lcc.cpp:150,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcc.cpp:150,1
    - Dst: log
      Src: /src/PROJ/src/projections/lcc.cpp:150,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcc.cpp:150,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcc.cpp:151,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcc.cpp:155,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcc.cpp:156,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcc.cpp:158,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:161,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcc.cpp:161,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:162,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcc.cpp:162,1
    - Dst: pow
      Src: /src/PROJ/src/projections/lcc.cpp:164,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcc.cpp:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 171
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/lcc.cpp
    functionUses: 0
    functionsReached:
    - log
    - sin
    - fabs
    - cos
    - pj_msfn
    - tan
    - pj_default_destructor
    - pow
    - calloc
    - pj_tsfn
    - proj_log_error
    - _
    - pj_param
    - static_cast<struct pj_lcc_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:28,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gn_sinu.cpp:29,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/gn_sinu.cpp:30,1
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:31,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gn_sinu.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: gn_sinu_e_forward
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - cos
    - static_cast<struct pj_gn_sinu_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gn_sinu_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/gn_sinu.cpp:41,1
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:41,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gn_sinu.cpp:42,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:44,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gn_sinu.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gn_sinu.cpp:45,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/gn_sinu.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: gn_sinu_e_inverse
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - cos
    - pj_inv_mlfn
    - static_cast<struct pj_gn_sinu_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP gn_sinu_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:58,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:61,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:61,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:65,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:68,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gn_sinu.cpp:68,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gn_sinu.cpp:70,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/gn_sinu.cpp:74,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gn_sinu.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: gn_sinu_s_forward
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - cos
    - aasin
    - static_cast<struct pj_gn_sinu_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gn_sinu_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:87,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:91,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:91,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:92,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gn_sinu.cpp:92,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gn_sinu.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: gn_sinu_s_inverse
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - static_cast<struct pj_gn_sinu_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP gn_sinu_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:102,1
    - Dst: free
      Src: /src/PROJ/src/projections/gn_sinu.cpp:104,1
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:104,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: pj_gn_sinu_destructor
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_gn_sinu_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_gn_sinu_destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:111,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gn_sinu.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: pj_gn_sinu_setup
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - static_cast<struct pj_gn_sinu_data *>
    linkageType: ''
    returnType: void
    signature: void pj_gn_sinu_setup(PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:121,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/gn_sinu.cpp:122,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:124,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/gn_sinu.cpp:128,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:129,1
    - Dst: pj_gn_sinu_setup
      Src: /src/PROJ/src/projections/gn_sinu.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - pj_enfn
    - calloc
    - static_cast<struct pj_gn_sinu_data *>
    - pj_gn_sinu_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(sinu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:143,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/gn_sinu.cpp:144,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:146,1
    - Dst: pj_gn_sinu_setup
      Src: /src/PROJ/src/projections/gn_sinu.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_gn_sinu_data *>
    - pj_gn_sinu_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eck6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:158,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/gn_sinu.cpp:159,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:161,1
    - Dst: pj_gn_sinu_setup
      Src: /src/PROJ/src/projections/gn_sinu.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_gn_sinu_data *>
    - pj_gn_sinu_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mbtfps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gn_sinu_data *>
      Src: /src/PROJ/src/projections/gn_sinu.cpp:173,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/gn_sinu.cpp:174,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:176,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/gn_sinu.cpp:180,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/gn_sinu.cpp:181,1
    - Dst: _
      Src: /src/PROJ/src/projections/gn_sinu.cpp:181,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:182,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/gn_sinu.cpp:184,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/gn_sinu.cpp:185,1
    - Dst: _
      Src: /src/PROJ/src/projections/gn_sinu.cpp:185,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:186,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/gn_sinu.cpp:189,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/gn_sinu.cpp:190,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/gn_sinu.cpp:192,1
    - Dst: _
      Src: /src/PROJ/src/projections/gn_sinu.cpp:192,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:193,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/gn_sinu.cpp:196,1
    - Dst: _
      Src: /src/PROJ/src/projections/gn_sinu.cpp:196,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gn_sinu.cpp:197,1
    - Dst: pj_gn_sinu_setup
      Src: /src/PROJ/src/projections/gn_sinu.cpp:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 203
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gn_sinu.cpp
    functionUses: 0
    functionsReached:
    - _
    - pj_default_destructor
    - calloc
    - proj_log_error
    - static_cast<struct pj_gn_sinu_data *>
    - pj_gn_sinu_setup
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gn_sinu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/nicol.cpp:16,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nicol.cpp:19,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nicol.cpp:22,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nicol.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nicol.cpp:23,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nicol.cpp:24,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nicol.cpp:25,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nicol.cpp:25,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nicol.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nicol.cpp:38,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/nicol.cpp:39,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/nicol.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 45
    functionName: nicol_s_forward
    functionSourceFile: /src/PROJ/src/projections/nicol.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - fabs
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY nicol_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/nicol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(nicol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sch_data *>
      Src: /src/PROJ/src/projections/sch.cpp:60,1
    - Dst: struct pj_sch_data*::cart_sph::fwd3d
      Src: /src/PROJ/src/projections/sch.cpp:66,1
    - Dst: struct pj_sch_data*::cart::inv3d
      Src: /src/PROJ/src/projections/sch.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: sch_inverse3d
    functionSourceFile: /src/PROJ/src/projections/sch.cpp
    functionUses: 0
    functionsReached:
    - struct pj_sch_data*::cart::inv3d
    - static_cast<struct pj_sch_data *>
    - struct pj_sch_data*::cart_sph::fwd3d
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ sch_inverse3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sch_data *>
      Src: /src/PROJ/src/projections/sch.cpp:86,1
    - Dst: struct pj_sch_data*::cart::fwd3d
      Src: /src/PROJ/src/projections/sch.cpp:89,1
    - Dst: struct pj_sch_data*::cart_sph::inv3d
      Src: /src/PROJ/src/projections/sch.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: sch_forward3d
    functionSourceFile: /src/PROJ/src/projections/sch.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_sch_data *>
    - struct pj_sch_data*::cart::fwd3d
    - struct pj_sch_data*::cart_sph::inv3d
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ sch_forward3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sch_data *>
      Src: /src/PROJ/src/projections/sch.cpp:119,1
    - Dst: auto::cart::destructor
      Src: /src/PROJ/src/projections/sch.cpp:122,1
    - Dst: auto::cart_sph::destructor
      Src: /src/PROJ/src/projections/sch.cpp:124,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sch.cpp:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: pj_sch_destructor
    functionSourceFile: /src/PROJ/src/projections/sch.cpp
    functionUses: 0
    functionsReached:
    - auto::cart_sph::destructor
    - static_cast<struct pj_sch_data *>
    - pj_default_destructor
    - auto::cart::destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_sch_destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sch_data *>
      Src: /src/PROJ/src/projections/sch.cpp:131,1
    - Dst: proj_create
      Src: /src/PROJ/src/projections/sch.cpp:135,1
    - Dst: pj_sch_destructor
      Src: /src/PROJ/src/projections/sch.cpp:137,1
    - Dst: pj_inherit_ellipsoid_def
      Src: /src/PROJ/src/projections/sch.cpp:140,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sch.cpp:142,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sch.cpp:143,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sch.cpp:144,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sch.cpp:145,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/sch.cpp:148,1
    - Dst: pow
      Src: /src/PROJ/src/projections/sch.cpp:150,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sch.cpp:152,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sch.cpp:153,1
    - Dst: proj_create
      Src: /src/PROJ/src/projections/sch.cpp:159,1
    - Dst: pj_sch_destructor
      Src: /src/PROJ/src/projections/sch.cpp:161,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/projections/sch.cpp:162,1
    - Dst: struct pj_sch_data*::cart::fwd3d
      Src: /src/PROJ/src/projections/sch.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 187
    functionName: pj_sch_setup
    functionSourceFile: /src/PROJ/src/projections/sch.cpp
    functionUses: 0
    functionsReached:
    - pj_inherit_ellipsoid_def
    - sqrt
    - struct pj_sch_data*::cart::fwd3d
    - cos
    - pj_sch_destructor
    - proj_create
    - pow
    - pj_calc_ellipsoid_params
    - static_cast<struct pj_sch_data *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_sch_setup(PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sch_data *>
      Src: /src/PROJ/src/projections/sch.cpp:190,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sch.cpp:191,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sch.cpp:193,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:200,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:201,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sch.cpp:203,1
    - Dst: _
      Src: /src/PROJ/src/projections/sch.cpp:203,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sch.cpp:204,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:208,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:209,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sch.cpp:211,1
    - Dst: _
      Src: /src/PROJ/src/projections/sch.cpp:211,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sch.cpp:212,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:216,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:217,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sch.cpp:219,1
    - Dst: _
      Src: /src/PROJ/src/projections/sch.cpp:219,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sch.cpp:220,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:224,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sch.cpp:225,1
    - Dst: pj_sch_setup
      Src: /src/PROJ/src/projections/sch.cpp:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 189
    functionDepth: 7
    functionLinenumber: 189
    functionLinenumberEnd: 228
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sch.cpp
    functionUses: 0
    functionsReached:
    - pj_sch_setup
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - static_cast<struct pj_sch_data *>
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(sch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - S
    - C
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: fS
    functionSourceFile: /src/PROJ/src/projections/lcca.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double fS(double S, double C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - S
    - C
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: fSp
    functionSourceFile: /src/PROJ/src/projections/lcca.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double fSp(double S, double C)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lcca_data *>
      Src: /src/PROJ/src/projections/lcca.cpp:80,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/lcca.cpp:83,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcca.cpp:83,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcca.cpp:83,1
    - Dst: fS
      Src: /src/PROJ/src/projections/lcca.cpp:84,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcca.cpp:87,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcca.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: lcca_e_forward
    functionSourceFile: /src/PROJ/src/projections/lcca.cpp
    functionUses: 0
    functionsReached:
    - pj_mlfn
    - cos
    - static_cast<struct pj_lcca_data *>
    - fS
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY lcca_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lcca_data *>
      Src: /src/PROJ/src/projections/lcca.cpp:94,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/lcca.cpp:100,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcca.cpp:101,1
    - Dst: fS
      Src: /src/PROJ/src/projections/lcca.cpp:105,1
    - Dst: fSp
      Src: /src/PROJ/src/projections/lcca.cpp:105,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/lcca.cpp:106,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/lcca.cpp:110,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/lcca.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: lcca_e_inverse
    functionSourceFile: /src/PROJ/src/projections/lcca.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - tan
    - atan2
    - static_cast<struct pj_lcca_data *>
    - pj_inv_mlfn
    - fS
    - fSp
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP lcca_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcca.cpp:123,1
    - Dst: free
      Src: /src/PROJ/src/projections/lcca.cpp:125,1
    - Dst: static_cast<struct pj_lcca_data *>
      Src: /src/PROJ/src/projections/lcca.cpp:125,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcca.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: pj_lcca_destructor
    functionSourceFile: /src/PROJ/src/projections/lcca.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_lcca_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_lcca_destructor(PJ *P, int errlev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_lcca_data *>
      Src: /src/PROJ/src/projections/lcca.cpp:131,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/lcca.cpp:132,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcca.cpp:134,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/lcca.cpp:137,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/lcca.cpp:139,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/lcca.cpp:142,1
    - Dst: _
      Src: /src/PROJ/src/projections/lcca.cpp:143,1
    - Dst: pj_lcca_destructor
      Src: /src/PROJ/src/projections/lcca.cpp:144,1
    - Dst: sin
      Src: /src/PROJ/src/projections/lcca.cpp:146,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/lcca.cpp:147,1
    - Dst: cos
      Src: /src/PROJ/src/projections/lcca.cpp:147,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/lcca.cpp:150,1
    - Dst: tan
      Src: /src/PROJ/src/projections/lcca.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 6
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/lcca.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - cos
    - pj_lcca_destructor
    - tan
    - pj_default_destructor
    - pj_enfn
    - static_cast<struct pj_lcca_data *>
    - calloc
    - proj_log_error
    - _
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lcca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_rouss_data *>
      Src: /src/PROJ/src/projections/rouss.cpp:47,1
    - Dst: cos
      Src: /src/PROJ/src/projections/rouss.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/rouss.cpp:51,1
    - Dst: proj_mdist
      Src: /src/PROJ/src/projections/rouss.cpp:52,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/rouss.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: rouss_e_forward
    functionSourceFile: /src/PROJ/src/projections/rouss.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - proj_mdist
    - static_cast<struct pj_rouss_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY rouss_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_rouss_data *>
      Src: /src/PROJ/src/projections/rouss.cpp:69,1
    - Dst: proj_inv_mdist
      Src: /src/PROJ/src/projections/rouss.cpp:81,1
    - Dst: sin
      Src: /src/PROJ/src/projections/rouss.cpp:82,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/rouss.cpp:83,1
    - Dst: cos
      Src: /src/PROJ/src/projections/rouss.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: rouss_e_inverse
    functionSourceFile: /src/PROJ/src/projections/rouss.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - proj_inv_mdist
    - static_cast<struct pj_rouss_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP rouss_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/rouss.cpp:93,1
    - Dst: static_cast<struct pj_rouss_data *>
      Src: /src/PROJ/src/projections/rouss.cpp:95,1
    - Dst: free
      Src: /src/PROJ/src/projections/rouss.cpp:96,1
    - Dst: static_cast<struct pj_rouss_data *>
      Src: /src/PROJ/src/projections/rouss.cpp:96,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/rouss.cpp:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: pj_rouss_destructor
    functionSourceFile: /src/PROJ/src/projections/rouss.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_rouss_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_rouss_destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_rouss_data *>
      Src: /src/PROJ/src/projections/rouss.cpp:104,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/rouss.cpp:105,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/rouss.cpp:107,1
    - Dst: proj_mdist_ini
      Src: /src/PROJ/src/projections/rouss.cpp:110,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/rouss.cpp:111,1
    - Dst: sin
      Src: /src/PROJ/src/projections/rouss.cpp:113,1
    - Dst: proj_mdist
      Src: /src/PROJ/src/projections/rouss.cpp:114,1
    - Dst: cos
      Src: /src/PROJ/src/projections/rouss.cpp:114,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/rouss.cpp:116,1
    - Dst: tan
      Src: /src/PROJ/src/projections/rouss.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 158
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/rouss.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - tan
    - proj_mdist
    - pj_default_destructor
    - proj_mdist_ini
    - static_cast<struct pj_rouss_data *>
    - calloc
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(rouss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/nell_h.cpp:17,1
    - Dst: tan
      Src: /src/PROJ/src/projections/nell_h.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: nell_h_s_forward
    functionSourceFile: /src/PROJ/src/projections/nell_h.cpp
    functionUses: 0
    functionsReached:
    - cos
    - tan
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY nell_h_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/nell_h.cpp:30,1
    - Dst: tan
      Src: /src/PROJ/src/projections/nell_h.cpp:31,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nell_h.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nell_h.cpp:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: nell_h_s_inverse
    functionSourceFile: /src/PROJ/src/projections/nell_h.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - tan
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP nell_h_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/nell_h.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(nell_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - phi
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: ell_int_5
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ell_int_5(double phi)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const struct pj_adams_data *>
      Src: /src/PROJ/src/projections/adams.cpp:115,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:119,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/adams.cpp:120,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/adams.cpp:121,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:124,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:124,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:129,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:130,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:131,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:132,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:133,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/adams.cpp:143,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/adams.cpp:145,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/adams.cpp:150,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/adams.cpp:152,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:155,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:156,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:157,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:158,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:159,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:164,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:165,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/adams.cpp:166,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/adams.cpp:167,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:169,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:169,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:172,1
    - Dst: tan
      Src: /src/PROJ/src/projections/adams.cpp:176,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:177,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/adams.cpp:177,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:177,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:178,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:179,1
    - Dst: tan
      Src: /src/PROJ/src/projections/adams.cpp:184,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:185,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/adams.cpp:185,1
    - Dst: sin
      Src: /src/PROJ/src/projections/adams.cpp:185,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:188,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/adams.cpp:189,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/adams.cpp:193,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/adams.cpp:193,1
    - Dst: std::min
      Src: /src/PROJ/src/projections/adams.cpp:193,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:193,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/adams.cpp:197,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/adams.cpp:197,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:197,1
    - Dst: std::max
      Src: /src/PROJ/src/projections/adams.cpp:197,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:197,1
    - Dst: ell_int_5
      Src: /src/PROJ/src/projections/adams.cpp:201,1
    - Dst: ell_int_5
      Src: /src/PROJ/src/projections/adams.cpp:202,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 127
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 294
    functionName: adams_forward
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - cos
    - tan
    - aasin
    - std::min
    - ell_int_5
    - aacos
    - static_cast<const struct pj_adams_data *>
    - proj_coord_error
    - std::max
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY adams_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/PROJ/src/projections/adams.cpp:308,1
    - Dst: std::min
      Src: /src/PROJ/src/projections/adams.cpp:308,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:310,1
    - Dst: std::max
      Src: /src/PROJ/src/projections/adams.cpp:312,1
    - Dst: std::min
      Src: /src/PROJ/src/projections/adams.cpp:312,1
    - Dst: cos
      Src: /src/PROJ/src/projections/adams.cpp:312,1
    - Dst: pj_generic_inverse_2d
      Src: /src/PROJ/src/projections/adams.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 317
    functionName: adams_inverse
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    - std::min
    - pj_generic_inverse_2d
    - std::max
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP adams_inverse(PJ_XY xy, PJ *P)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:325,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:327,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:329,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:332,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:343,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:343,1
    - Dst: pj_generic_inverse_2d
      Src: /src/PROJ/src/projections/adams.cpp:351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 352
    functionName: peirce_q_square_inverse
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - pj_generic_inverse_2d
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP peirce_q_square_inverse(PJ_XY xy, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:378,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/adams.cpp:379,1
    - Dst: pj_generic_inverse_2d
      Src: /src/PROJ/src/projections/adams.cpp:384,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 385
    functionName: peirce_q_diamond_inverse
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - pj_generic_inverse_2d
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP peirce_q_diamond_inverse(PJ_XY xy, PJ *P)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_adams_data *>
      Src: /src/PROJ/src/projections/adams.cpp:388,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/adams.cpp:389,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/adams.cpp:392,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/adams.cpp:405,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/adams.cpp:410,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/adams.cpp:413,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/adams.cpp:416,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/adams.cpp:418,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/adams.cpp:420,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/adams.cpp:422,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/adams.cpp:424,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/adams.cpp:426,1
    - Dst: _
      Src: /src/PROJ/src/projections/adams.cpp:427,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/adams.cpp:429,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/adams.cpp:434,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/adams.cpp:436,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/adams.cpp:438,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/adams.cpp:440,1
    - Dst: _
      Src: /src/PROJ/src/projections/adams.cpp:441,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/adams.cpp:443,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/adams.cpp:449,1
    - Dst: _
      Src: /src/PROJ/src/projections/adams.cpp:450,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/adams.cpp:451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - P
    - mode
    argTypes:
    - PJ*
    - projection_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 457
    functionName: pj_adams_setup
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - pj_default_destructor
    - static_cast<struct pj_adams_data *>
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_adams_setup(PJ *P, projection_type mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_adams_setup
      Src: /src/PROJ/src/projections/adams.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - pj_adams_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(guyou)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_adams_setup
      Src: /src/PROJ/src/projections/adams.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 6
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - pj_adams_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(peirce_q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_adams_setup
      Src: /src/PROJ/src/projections/adams.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - pj_adams_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(adams_hemi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_adams_setup
      Src: /src/PROJ/src/projections/adams.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 6
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - pj_adams_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(adams_ws1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_adams_setup
      Src: /src/PROJ/src/projections/adams.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/adams.cpp
    functionUses: 0
    functionsReached:
    - pj_adams_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(adams_ws2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bonne_data *>
      Src: /src/PROJ/src/projections/bonne.cpp:23,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bonne.cpp:26,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:27,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/bonne.cpp:28,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bonne.cpp:29,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/bonne.cpp:30,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bonne.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: bonne_e_forward
    functionSourceFile: /src/PROJ/src/projections/bonne.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - fabs
    - cos
    - static_cast<struct pj_bonne_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY bonne_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bonne_data *>
      Src: /src/PROJ/src/projections/bonne.cpp:42,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bonne.cpp:46,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:47,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bonne.cpp:48,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: bonne_s_forward
    functionSourceFile: /src/PROJ/src/projections/bonne.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    - fabs
    - static_cast<struct pj_bonne_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY bonne_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bonne_data *>
      Src: /src/PROJ/src/projections/bonne.cpp:57,1
    - Dst: copysign
      Src: /src/PROJ/src/projections/bonne.cpp:60,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/bonne.cpp:60,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bonne.cpp:62,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bonne.cpp:64,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:70,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bonne.cpp:72,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bonne.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: bonne_s_inverse
    functionSourceFile: /src/PROJ/src/projections/bonne.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - fabs
    - cos
    - atan2
    - static_cast<struct pj_bonne_data *>
    - copysign
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP bonne_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bonne_data *>
      Src: /src/PROJ/src/projections/bonne.cpp:82,1
    - Dst: copysign
      Src: /src/PROJ/src/projections/bonne.cpp:85,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/bonne.cpp:85,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/bonne.cpp:86,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bonne.cpp:87,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bonne.cpp:89,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/bonne.cpp:90,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:90,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bonne.cpp:92,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bonne.cpp:94,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/bonne.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: bonne_e_inverse
    functionSourceFile: /src/PROJ/src/projections/bonne.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - fabs
    - cos
    - atan2
    - static_cast<struct pj_bonne_data *>
    - copysign
    - pj_inv_mlfn
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP bonne_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bonne.cpp:110,1
    - Dst: free
      Src: /src/PROJ/src/projections/bonne.cpp:112,1
    - Dst: static_cast<struct pj_bonne_data *>
      Src: /src/PROJ/src/projections/bonne.cpp:112,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bonne.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: pj_bonne_destructor
    functionSourceFile: /src/PROJ/src/projections/bonne.cpp
    functionUses: 0
    functionsReached:
    - free
    - pj_default_destructor
    - static_cast<struct pj_bonne_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_bonne_destructor(PJ *P, int errlev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bonne_data *>
      Src: /src/PROJ/src/projections/bonne.cpp:118,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/bonne.cpp:119,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bonne.cpp:121,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/bonne.cpp:125,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bonne.cpp:126,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/bonne.cpp:127,1
    - Dst: _
      Src: /src/PROJ/src/projections/bonne.cpp:127,1
    - Dst: pj_bonne_destructor
      Src: /src/PROJ/src/projections/bonne.cpp:128,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/bonne.cpp:132,1
    - Dst: pj_bonne_destructor
      Src: /src/PROJ/src/projections/bonne.cpp:134,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bonne.cpp:135,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bonne.cpp:136,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/bonne.cpp:137,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/bonne.cpp:138,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bonne.cpp:142,1
    - Dst: tan
      Src: /src/PROJ/src/projections/bonne.cpp:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/bonne.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pj_mlfn
    - fabs
    - cos
    - tan
    - pj_default_destructor
    - static_cast<struct pj_bonne_data *>
    - pj_enfn
    - calloc
    - pj_bonne_destructor
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(bonne)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_moll_data *>
      Src: /src/PROJ/src/projections/moll.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:27,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:29,1
    - Dst: cos
      Src: /src/PROJ/src/projections/moll.cpp:29,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/moll.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/moll.cpp:38,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: moll_s_forward
    functionSourceFile: /src/PROJ/src/projections/moll.cpp
    functionUses: 1
    functionsReached:
    - fabs
    - static_cast<struct pj_moll_data *>
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY moll_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_moll_data *>
      Src: /src/PROJ/src/projections/moll.cpp:45,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/moll.cpp:46,1
    - Dst: cos
      Src: /src/PROJ/src/projections/moll.cpp:47,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/moll.cpp:48,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/moll.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: moll_s_inverse
    functionSourceFile: /src/PROJ/src/projections/moll.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - aasin
    - static_cast<struct pj_moll_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP moll_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_moll_data *>
      Src: /src/PROJ/src/projections/moll.cpp:58,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:62,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/moll.cpp:63,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:63,1
    - Dst: sin
      Src: /src/PROJ/src/projections/moll.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - P
    - p
    argTypes:
    - PJ*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: setup
    functionSourceFile: /src/PROJ/src/projections/moll.cpp
    functionUses: 29
    functionsReached:
    - sqrt
    - static_cast<struct pj_moll_data *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *setup(PJ *P, double p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_moll_data *>
      Src: /src/PROJ/src/projections/moll.cpp:75,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/moll.cpp:76,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/moll.cpp:78,1
    - Dst: setup
      Src: /src/PROJ/src/projections/moll.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/moll.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_moll_data *>
    - pj_default_destructor
    - calloc
    - setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(moll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_moll_data *>
      Src: /src/PROJ/src/projections/moll.cpp:85,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/moll.cpp:86,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/moll.cpp:88,1
    - Dst: setup
      Src: /src/PROJ/src/projections/moll.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/moll.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_moll_data *>
    - pj_default_destructor
    - calloc
    - setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_moll_data *>
      Src: /src/PROJ/src/projections/moll.cpp:95,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/moll.cpp:96,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/moll.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/moll.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_moll_data *>
    - pj_default_destructor
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/tcea.cpp:12,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tcea.cpp:12,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tcea.cpp:13,1
    - Dst: tan
      Src: /src/PROJ/src/projections/tcea.cpp:13,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tcea.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: tcea_s_forward
    functionSourceFile: /src/PROJ/src/projections/tcea.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - cos
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY tcea_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tcea.cpp:23,1
    - Dst: asin
      Src: /src/PROJ/src/projections/tcea.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tcea.cpp:24,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tcea.cpp:25,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tcea.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: tcea_s_inverse
    functionSourceFile: /src/PROJ/src/projections/tcea.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - atan2
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP tcea_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tcea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tcea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp3_data *>
      Src: /src/PROJ/src/projections/putp3.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: putp3_s_forward
    functionSourceFile: /src/PROJ/src/projections/putp3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp3_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY putp3_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp3_data *>
      Src: /src/PROJ/src/projections/putp3.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: putp3_s_inverse
    functionSourceFile: /src/PROJ/src/projections/putp3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_putp3_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP putp3_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp3_data *>
      Src: /src/PROJ/src/projections/putp3.cpp:42,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp3.cpp:43,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp3.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp3.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_putp3_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_putp3_data *>
      Src: /src/PROJ/src/projections/putp3.cpp:58,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/putp3.cpp:59,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/putp3.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/putp3.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_putp3_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp3p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_zpoly1
      Src: /src/PROJ/src/projections/nzmg.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: nzmg_e_forward
    functionSourceFile: /src/PROJ/src/projections/nzmg.cpp
    functionUses: 0
    functionsReached:
    - pj_zpoly1
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY nzmg_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_zpolyd1
      Src: /src/PROJ/src/projections/nzmg.cpp:89,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nzmg.cpp:97,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nzmg.cpp:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: nzmg_e_inverse
    functionSourceFile: /src/PROJ/src/projections/nzmg.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - pj_zpolyd1
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP nzmg_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/nzmg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(nzmg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_loxim_data *>
      Src: /src/PROJ/src/projections/loxim.cpp:23,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:26,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:30,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:30,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:30,1
    - Dst: log
      Src: /src/PROJ/src/projections/loxim.cpp:33,1
    - Dst: tan
      Src: /src/PROJ/src/projections/loxim.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: loxim_s_forward
    functionSourceFile: /src/PROJ/src/projections/loxim.cpp
    functionUses: 0
    functionsReached:
    - log
    - tan
    - fabs
    - static_cast<struct pj_loxim_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY loxim_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_loxim_data *>
      Src: /src/PROJ/src/projections/loxim.cpp:40,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:43,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:47,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:47,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/loxim.cpp:47,1
    - Dst: log
      Src: /src/PROJ/src/projections/loxim.cpp:50,1
    - Dst: tan
      Src: /src/PROJ/src/projections/loxim.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: loxim_s_inverse
    functionSourceFile: /src/PROJ/src/projections/loxim.cpp
    functionUses: 0
    functionsReached:
    - log
    - tan
    - fabs
    - static_cast<struct pj_loxim_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP loxim_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_loxim_data *>
      Src: /src/PROJ/src/projections/loxim.cpp:56,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/loxim.cpp:57,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/loxim.cpp:59,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/loxim.cpp:62,1
    - Dst: cos
      Src: /src/PROJ/src/projections/loxim.cpp:63,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/loxim.cpp:65,1
    - Dst: _
      Src: /src/PROJ/src/projections/loxim.cpp:66,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/loxim.cpp:67,1
    - Dst: tan
      Src: /src/PROJ/src/projections/loxim.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/loxim.cpp
    functionUses: 0
    functionsReached:
    - cos
    - tan
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - pj_param
    - static_cast<struct pj_loxim_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(loxim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/ortho.cpp:29,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/projections/ortho.cpp:30,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/projections/ortho.cpp:32,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/projections/ortho.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - P
    - lp
    - xy
    argTypes:
    - PJ*
    - PJ_LP
    - PJ_XY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: forward_error
    functionSourceFile: /src/PROJ/src/projections/ortho.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - proj_todeg
    - proj_log_trace
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY forward_error(PJ *P, PJ_LP lp, PJ_XY xy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ortho_data *>
      Src: /src/PROJ/src/projections/ortho.cpp:38,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:44,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:45,1
    - Dst: forward_error
      Src: /src/PROJ/src/projections/ortho.cpp:49,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:53,1
    - Dst: forward_error
      Src: /src/PROJ/src/projections/ortho.cpp:64,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:71,1
    - Dst: forward_error
      Src: /src/PROJ/src/projections/ortho.cpp:72,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 83
    functionName: ortho_s_forward
    functionSourceFile: /src/PROJ/src/projections/ortho.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - forward_error
    - static_cast<struct pj_ortho_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY ortho_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ortho_data *>
      Src: /src/PROJ/src/projections/ortho.cpp:87,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/ortho.cpp:98,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/ortho.cpp:102,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:107,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:108,1
    - Dst: acos
      Src: /src/PROJ/src/projections/ortho.cpp:115,1
    - Dst: acos
      Src: /src/PROJ/src/projections/ortho.cpp:118,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:130,1
    - Dst: asin
      Src: /src/PROJ/src/projections/ortho.cpp:133,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ortho.cpp:141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 144
    functionName: ortho_s_inverse
    functionSourceFile: /src/PROJ/src/projections/ortho.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - acos
    - hypot
    - fabs
    - atan2
    - asin
    - static_cast<struct pj_ortho_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP ortho_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ortho_data *>
      Src: /src/PROJ/src/projections/ortho.cpp:148,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:151,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:152,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:153,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:154,1
    - Dst: forward_error
      Src: /src/PROJ/src/projections/ortho.cpp:161,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: ortho_e_forward
    functionSourceFile: /src/PROJ/src/projections/ortho.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - forward_error
    - static_cast<struct pj_ortho_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY ortho_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ortho_data *>
      Src: /src/PROJ/src/projections/ortho.cpp:176,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:194,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:194,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/ortho.cpp:197,1
    - Dst: acos
      Src: /src/PROJ/src/projections/ortho.cpp:205,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:205,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/ortho.cpp:208,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:220,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:220,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/ortho.cpp:221,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:228,1
    - Dst: asin
      Src: /src/PROJ/src/projections/ortho.cpp:234,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:234,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:236,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:237,1
    - Dst: asin
      Src: /src/PROJ/src/projections/ortho.cpp:240,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:250,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/ortho.cpp:250,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/ortho.cpp:251,1
    - Dst: ortho_s_inverse
      Src: /src/PROJ/src/projections/ortho.cpp:263,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:266,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:267,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:268,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:269,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:271,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/ortho.cpp:290,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/ortho.cpp:293,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:296,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:296,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/ortho.cpp:300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 303
    functionName: ortho_e_inverse
    functionSourceFile: /src/PROJ/src/projections/ortho.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - acos
    - fabs
    - cos
    - SQ
    - ortho_s_inverse
    - atan2
    - asin
    - adjlon
    - proj_context_errno_set
    - static_cast<struct pj_ortho_data *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP ortho_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_ortho_data *>
      Src: /src/PROJ/src/projections/ortho.cpp:306,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/ortho.cpp:307,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/ortho.cpp:309,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:312,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:313,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:314,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:314,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/ortho.cpp:316,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:324,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/ortho.cpp:326,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/ortho.cpp:331,1
    - Dst: sin
      Src: /src/PROJ/src/projections/ortho.cpp:332,1
    - Dst: cos
      Src: /src/PROJ/src/projections/ortho.cpp:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/ortho.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - fabs
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_ortho_data *>
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(ortho)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_tpeqd *>
      Src: /src/PROJ/src/projections/tpeqd.cpp:19,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:23,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/tpeqd.cpp:25,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:25,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/tpeqd.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:27,1
    - Dst: asqrt
      Src: /src/PROJ/src/projections/tpeqd.cpp:34,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:35,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: tpeqd_s_forward
    functionSourceFile: /src/PROJ/src/projections/tpeqd.cpp
    functionUses: 0
    functionsReached:
    - cos
    - asqrt
    - aacos
    - static_cast<struct pj_tpeqd *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY tpeqd_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_tpeqd *>
      Src: /src/PROJ/src/projections/tpeqd.cpp:42,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:45,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tpeqd.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:46,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tpeqd.cpp:46,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tpeqd.cpp:49,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/tpeqd.cpp:50,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/tpeqd.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:54,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:55,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:57,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/tpeqd.cpp:58,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tpeqd.cpp:59,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: tpeqd_s_inverse
    functionSourceFile: /src/PROJ/src/projections/tpeqd.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - cos
    - aasin
    - atan2
    - aacos
    - static_cast<struct pj_tpeqd *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP tpeqd_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_tpeqd *>
      Src: /src/PROJ/src/projections/tpeqd.cpp:66,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/tpeqd.cpp:66,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tpeqd.cpp:68,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tpeqd.cpp:72,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tpeqd.cpp:73,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tpeqd.cpp:74,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/tpeqd.cpp:75,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tpeqd.cpp:78,1
    - Dst: _
      Src: /src/PROJ/src/projections/tpeqd.cpp:78,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tpeqd.cpp:80,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/tpeqd.cpp:83,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/tpeqd.cpp:84,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:87,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:88,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:89,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:92,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:99,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tpeqd.cpp:100,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/tpeqd.cpp:100,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/tpeqd.cpp:100,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:100,1
    - Dst: SQ
      Src: /src/PROJ/src/projections/tpeqd.cpp:100,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:101,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/tpeqd.cpp:104,1
    - Dst: _
      Src: /src/PROJ/src/projections/tpeqd.cpp:104,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/tpeqd.cpp:106,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tpeqd.cpp:109,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:109,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/tpeqd.cpp:110,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:110,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:111,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:112,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/tpeqd.cpp:113,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tpeqd.cpp:113,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:113,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/tpeqd.cpp:115,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:115,1
    - Dst: cos
      Src: /src/PROJ/src/projections/tpeqd.cpp:115,1
    - Dst: tan
      Src: /src/PROJ/src/projections/tpeqd.cpp:116,1
    - Dst: sin
      Src: /src/PROJ/src/projections/tpeqd.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 126
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/tpeqd.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    - cos
    - tan
    - SQ
    - aasin
    - atan2
    - pj_default_destructor
    - adjlon
    - calloc
    - proj_log_error
    - _
    - static_cast<struct pj_tpeqd *>
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tpeqd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_geos_data *>
      Src: /src/PROJ/src/projections/geos.cpp:55,1
    - Dst: cos
      Src: /src/PROJ/src/projections/geos.cpp:60,1
    - Dst: cos
      Src: /src/PROJ/src/projections/geos.cpp:61,1
    - Dst: sin
      Src: /src/PROJ/src/projections/geos.cpp:62,1
    - Dst: sin
      Src: /src/PROJ/src/projections/geos.cpp:63,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:71,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:71,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:72,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:74,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:75,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 79
    functionName: geos_s_forward
    functionSourceFile: /src/PROJ/src/projections/geos.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - cos
    - static_cast<struct pj_geos_data *>
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY geos_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_geos_data *>
      Src: /src/PROJ/src/projections/geos.cpp:83,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:87,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:87,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:91,1
    - Dst: cos
      Src: /src/PROJ/src/projections/geos.cpp:91,1
    - Dst: sin
      Src: /src/PROJ/src/projections/geos.cpp:91,1
    - Dst: cos
      Src: /src/PROJ/src/projections/geos.cpp:92,1
    - Dst: cos
      Src: /src/PROJ/src/projections/geos.cpp:92,1
    - Dst: sin
      Src: /src/PROJ/src/projections/geos.cpp:93,1
    - Dst: cos
      Src: /src/PROJ/src/projections/geos.cpp:93,1
    - Dst: sin
      Src: /src/PROJ/src/projections/geos.cpp:94,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/geos.cpp:98,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:106,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:106,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:107,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:109,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:110,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 114
    functionName: geos_e_forward
    functionSourceFile: /src/PROJ/src/projections/geos.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - cos
    - tan
    - static_cast<struct pj_geos_data *>
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY geos_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_geos_data *>
      Src: /src/PROJ/src/projections/geos.cpp:118,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:124,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:125,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/geos.cpp:125,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:127,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:128,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/geos.cpp:128,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/geos.cpp:136,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/geos.cpp:141,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/geos.cpp:147,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:151,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 154
    functionName: geos_s_inverse
    functionSourceFile: /src/PROJ/src/projections/geos.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - tan
    - static_cast<struct pj_geos_data *>
    - atan2
    - atan
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP geos_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_geos_data *>
      Src: /src/PROJ/src/projections/geos.cpp:158,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:165,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:166,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:166,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:168,1
    - Dst: tan
      Src: /src/PROJ/src/projections/geos.cpp:169,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:169,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/geos.cpp:178,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/geos.cpp:183,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/geos.cpp:189,1
    - Dst: atan
      Src: /src/PROJ/src/projections/geos.cpp:193,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/geos.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 196
    functionName: geos_e_inverse
    functionSourceFile: /src/PROJ/src/projections/geos.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - tan
    - static_cast<struct pj_geos_data *>
    - atan2
    - atan
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP geos_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_geos_data *>
      Src: /src/PROJ/src/projections/geos.cpp:200,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/geos.cpp:201,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/geos.cpp:203,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/geos.cpp:206,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/geos.cpp:208,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/geos.cpp:214,1
    - Dst: _
      Src: /src/PROJ/src/projections/geos.cpp:215,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/geos.cpp:216,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/geos.cpp:228,1
    - Dst: _
      Src: /src/PROJ/src/projections/geos.cpp:228,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/geos.cpp:229,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/geos.cpp:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 246
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/geos.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - static_cast<struct pj_geos_data *>
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(geos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:597,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:598,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:599,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:600,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:601,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: initialize
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - m1
    - m2
    - res
    argTypes:
    - double[][]
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: mat_mult
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mat_mult(const double m1[4][4], const double m2[4][4],\n                         double
      res[4][4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    - v
    argTypes:
    - double[][]
    - PJ_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: vec_mult
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ vec_mult(const double m[4][4], const PJ_XYZ *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mat_mult
      Src: /src/PROJ/src/projections/airocean.cpp:624,1
    - Dst: mat_mult
      Src: /src/PROJ/src/projections/airocean.cpp:625,1
    - Dst: vec_mult
      Src: /src/PROJ/src/projections/airocean.cpp:627,1
    - Dst: vec_mult
      Src: /src/PROJ/src/projections/airocean.cpp:628,1
    - Dst: vec_mult
      Src: /src/PROJ/src/projections/airocean.cpp:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - inv_m
    argTypes:
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 632
    functionName: transform
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 5
    functionsReached:
    - vec_mult
    - mat_mult
    linkageType: ''
    returnType: void
    signature: void transform(const double m[4][4], const double inv_m[4][4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:597,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:598,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:599,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:600,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:601,1
    - Dst: memcpy
      Src: /src/PROJ/src/projections/airocean.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: initialize
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - m1
    - m2
    - res
    argTypes:
    - double[][]
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: mat_mult
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mat_mult(const double m1[4][4], const double m2[4][4],\n                         double
      res[4][4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    - v
    argTypes:
    - double[][]
    - PJ_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: vec_mult
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ vec_mult(const double m[4][4], const PJ_XYZ *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mat_mult
      Src: /src/PROJ/src/projections/airocean.cpp:624,1
    - Dst: mat_mult
      Src: /src/PROJ/src/projections/airocean.cpp:625,1
    - Dst: vec_mult
      Src: /src/PROJ/src/projections/airocean.cpp:627,1
    - Dst: vec_mult
      Src: /src/PROJ/src/projections/airocean.cpp:628,1
    - Dst: vec_mult
      Src: /src/PROJ/src/projections/airocean.cpp:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - inv_m
    argTypes:
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 632
    functionName: transform
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 5
    functionsReached:
    - vec_mult
    - mat_mult
    linkageType: ''
    returnType: void
    signature: void transform(const double m[4][4], const double inv_m[4][4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - u
    - v
    - w
    argTypes:
    - PJ_XYZ*
    - PJ_XYZ*
    - PJ_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: det
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double det(const PJ_XYZ *u, const PJ_XYZ *v, const PJ_XYZ *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: det
      Src: /src/PROJ/src/projections/airocean.cpp:644,1
    - Dst: det
      Src: /src/PROJ/src/projections/airocean.cpp:645,1
    - Dst: det
      Src: /src/PROJ/src/projections/airocean.cpp:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - face
    argTypes:
    - PJ_XYZ*
    - pj_face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: is_point_in_face
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached:
    - det
    linkageType: ''
    returnType: bool
    signature: bool is_point_in_face(const PJ_XYZ *p, const pj_face *face)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_point_in_face
      Src: /src/PROJ/src/projections/airocean.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pj_data
    - p
    argTypes:
    - pj_airocean_data*
    - PJ_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: get_ico_face_index
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached:
    - is_point_in_face
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char get_ico_face_index(const pj_airocean_data *pj_data,\n
      \                                       const PJ_XYZ *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_point_in_face
      Src: /src/PROJ/src/projections/airocean.cpp:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pj_data
    - p
    argTypes:
    - pj_airocean_data*
    - PJ_XY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: get_dym_face_index
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached:
    - is_point_in_face
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char get_dym_face_index(const pj_airocean_data *pj_data,\n
      \                                       const PJ_XY *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pj_data
    - p
    - face_id
    argTypes:
    - pj_airocean_data*
    - PJ_XYZ*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 684
    functionName: ico_to_dym
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: "PJ_XY ico_to_dym(const pj_airocean_data *pj_data, const PJ_XYZ *p,\n
      \                       unsigned char face_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pj_data
    - p
    - face_id
    argTypes:
    - pj_airocean_data*
    - PJ_XY*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 699
    functionName: dym_to_ico
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ dym_to_ico(const pj_airocean_data *pj_data, const PJ_XY *p,\n
      \                        unsigned char face_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pj_data
    - p
    - face_id
    argTypes:
    - pj_airocean_data*
    - PJ_XYZ*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 717
    functionName: cartesian_to_ico
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ cartesian_to_ico(const pj_airocean_data *pj_data, const PJ_XYZ
      *p,\n                               unsigned char face_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_airocean_data *>
      Src: /src/PROJ/src/projections/airocean.cpp:726,1
    - Dst: atan
      Src: /src/PROJ/src/projections/airocean.cpp:736,1
    - Dst: tan
      Src: /src/PROJ/src/projections/airocean.cpp:736,1
    - Dst: sin
      Src: /src/PROJ/src/projections/airocean.cpp:746,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airocean.cpp:747,1
    - Dst: sin
      Src: /src/PROJ/src/projections/airocean.cpp:748,1
    - Dst: cos
      Src: /src/PROJ/src/projections/airocean.cpp:749,1
    - Dst: get_ico_face_index
      Src: /src/PROJ/src/projections/airocean.cpp:756,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/airocean.cpp:759,1
    - Dst: cartesian_to_ico
      Src: /src/PROJ/src/projections/airocean.cpp:766,1
    - Dst: ico_to_dym
      Src: /src/PROJ/src/projections/airocean.cpp:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 771
    functionName: airocean_forward
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached:
    - get_ico_face_index
    - proj_errno_set
    - cartesian_to_ico
    - cos
    - tan
    - ico_to_dym
    - atan
    - static_cast<struct pj_airocean_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY airocean_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_airocean_data *>
      Src: /src/PROJ/src/projections/airocean.cpp:775,1
    - Dst: get_dym_face_index
      Src: /src/PROJ/src/projections/airocean.cpp:779,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/airocean.cpp:783,1
    - Dst: dym_to_ico
      Src: /src/PROJ/src/projections/airocean.cpp:789,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/airocean.cpp:791,1
    - Dst: acos
      Src: /src/PROJ/src/projections/airocean.cpp:799,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/airocean.cpp:800,1
    - Dst: tan
      Src: /src/PROJ/src/projections/airocean.cpp:808,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/airocean.cpp:811,1
    - Dst: atan
      Src: /src/PROJ/src/projections/airocean.cpp:812,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/airocean.cpp:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 773
    functionDepth: 3
    functionLinenumber: 773
    functionLinenumberEnd: 819
    functionName: airocean_inverse
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - acos
    - dym_to_ico
    - tan
    - atan2
    - atan
    - get_dym_face_index
    - static_cast<struct pj_airocean_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP airocean_inverse(PJ_XY xy, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_airocean_data *>
      Src: /src/PROJ/src/projections/airocean.cpp:823,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/airocean.cpp:824,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/airocean.cpp:826,1
    - Dst: struct pj_airocean_data*::initialize
      Src: /src/PROJ/src/projections/airocean.cpp:827,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/airocean.cpp:829,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/airocean.cpp:831,1
    - Dst: struct pj_airocean_data*::transform
      Src: /src/PROJ/src/projections/airocean.cpp:832,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/airocean.cpp:833,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/airocean.cpp:836,1
    - Dst: _
      Src: /src/PROJ/src/projections/airocean.cpp:836,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/airocean.cpp:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 821
    functionDepth: 5
    functionLinenumber: 821
    functionLinenumberEnd: 847
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/airocean.cpp
    functionUses: 0
    functionsReached:
    - struct pj_airocean_data*::transform
    - strcmp
    - pj_default_destructor
    - struct pj_airocean_data*::initialize
    - calloc
    - proj_log_error
    - _
    - pj_param
    - static_cast<struct pj_airocean_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(airocean)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:23,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:27,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbt_fps.cpp:27,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbt_fps.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mbt_fps.cpp:29,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbt_fps.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbt_fps.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: mbt_fps_s_forward
    functionSourceFile: /src/PROJ/src/projections/mbt_fps.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY mbt_fps_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aasin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:41,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbt_fps.cpp:43,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mbt_fps.cpp:43,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:44,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:44,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mbt_fps.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: mbt_fps_s_inverse
    functionSourceFile: /src/PROJ/src/projections/mbt_fps.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP mbt_fps_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mbt_fps.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mbt_fps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bacon *>
      Src: /src/PROJ/src/projections/bacon.cpp:24,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bacon.cpp:27,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/bacon.cpp:28,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/bacon.cpp:31,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/bacon.cpp:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: bacon_s_forward
    functionSourceFile: /src/PROJ/src/projections/bacon.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - static_cast<struct pj_bacon *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY bacon_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bacon *>
      Src: /src/PROJ/src/projections/bacon.cpp:45,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/bacon.cpp:45,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bacon.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/bacon.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_bacon *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(bacon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bacon *>
      Src: /src/PROJ/src/projections/bacon.cpp:59,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/bacon.cpp:59,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bacon.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/bacon.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_bacon *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(apian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bacon *>
      Src: /src/PROJ/src/projections/bacon.cpp:72,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/bacon.cpp:72,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bacon.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/bacon.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_bacon *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(ortel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bertin1953 *>
      Src: /src/PROJ/src/projections/bertin1953.cpp:30,1
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/projections/bertin1953.cpp:36,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bertin1953.cpp:37,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bertin1953.cpp:38,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bertin1953.cpp:39,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bertin1953.cpp:40,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/bertin1953.cpp:42,1
    - Dst: asin
      Src: /src/PROJ/src/projections/bertin1953.cpp:45,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/bertin1953.cpp:47,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bertin1953.cpp:53,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bertin1953.cpp:57,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/bertin1953.cpp:58,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bertin1953.cpp:58,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bertin1953.cpp:59,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bertin1953.cpp:60,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bertin1953.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: bertin1953_s_forward
    functionSourceFile: /src/PROJ/src/projections/bertin1953.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - PJ_TORAD
    - atan2
    - asin
    - adjlon
    - static_cast<struct pj_bertin1953 *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY bertin1953_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_bertin1953 *>
      Src: /src/PROJ/src/projections/bertin1953.cpp:75,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/bertin1953.cpp:76,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/bertin1953.cpp:78,1
    - Dst: PJ_TORAD
      Src: /src/PROJ/src/projections/bertin1953.cpp:82,1
    - Dst: cos
      Src: /src/PROJ/src/projections/bertin1953.cpp:84,1
    - Dst: sin
      Src: /src/PROJ/src/projections/bertin1953.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/bertin1953.cpp
    functionUses: 0
    functionsReached:
    - cos
    - PJ_TORAD
    - pj_default_destructor
    - static_cast<struct pj_bertin1953 *>
    - calloc
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(bertin1953)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_igh_o_data *>
      Src: /src/PROJ/src/projections/igh_o.cpp:74,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/igh_o.cpp:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 113
    functionName: igh_o_s_forward
    functionSourceFile: /src/PROJ/src/projections/igh_o.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_igh_o_data *>
    - fwd
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY igh_o_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_igh_o_data *>
      Src: /src/PROJ/src/projections/igh_o.cpp:119,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/igh_o.cpp:121,1
    - Dst: inv
      Src: /src/PROJ/src/projections/igh_o.cpp:161,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 78
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 218
    functionName: igh_o_s_inverse
    functionSourceFile: /src/PROJ/src/projections/igh_o.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_igh_o_data *>
    - sqrt
    - inv
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP igh_o_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:228,1
    - Dst: static_cast<struct pj_igh_o_data *>
      Src: /src/PROJ/src/projections/igh_o.cpp:230,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:234,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: pj_igh_o_destructor
    functionSourceFile: /src/PROJ/src/projections/igh_o.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_igh_o_data *>
    - destructor
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_igh_o_destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/igh_o.cpp:263,1
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/igh_o.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - P
    - Q
    - n
    - (*proj_ptr)(PJ *)
    - x_0
    - y_0
    - lon_0
    argTypes:
    - PJ*
    - struct pj_igh_o_ns::pj_igh_o_data*
    - int
    - PJ*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: pj_igh_o_setup_zone
    functionSourceFile: /src/PROJ/src/projections/igh_o.cpp
    functionUses: 0
    functionsReached:
    - proj_ptr
    linkageType: ''
    returnType: bool
    signature: "bool pj_igh_o_setup_zone(PJ *P, struct pj_igh_o_ns::pj_igh_o_data
      *Q,\n                                int n, PJ *(*proj_ptr)(PJ *), double x_0,\n
      \                               double y_0, double lon_0)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_igh_o_data *>
      Src: /src/PROJ/src/projections/igh_o.cpp:279,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/igh_o.cpp:280,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:282,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:286,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:287,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:288,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:289,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:290,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:291,1
    - Dst: pj_igh_o_destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:292,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:296,1
    - Dst: pj_igh_o_destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:297,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/igh_o.cpp:301,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/igh_o.cpp:302,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:309,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:310,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:311,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:312,1
    - Dst: pj_igh_o_setup_zone
      Src: /src/PROJ/src/projections/igh_o.cpp:313,1
    - Dst: pj_igh_o_destructor
      Src: /src/PROJ/src/projections/igh_o.cpp:314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 274
    functionDepth: 6
    functionLinenumber: 274
    functionLinenumberEnd: 323
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/igh_o.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_igh_o_data *>
    - pj_default_destructor
    - fwd
    - pj_igh_o_setup_zone
    - calloc
    - pj_igh_o_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(igh_o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_fouc_s_data *>
      Src: /src/PROJ/src/projections/fouc_s.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/fouc_s.cpp:25,1
    - Dst: sin
      Src: /src/PROJ/src/projections/fouc_s.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: fouc_s_s_forward
    functionSourceFile: /src/PROJ/src/projections/fouc_s.cpp
    functionUses: 0
    functionsReached:
    - cos
    - static_cast<struct pj_fouc_s_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY fouc_s_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_fouc_s_data *>
      Src: /src/PROJ/src/projections/fouc_s.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/fouc_s.cpp:39,1
    - Dst: cos
      Src: /src/PROJ/src/projections/fouc_s.cpp:40,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/fouc_s.cpp:42,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/fouc_s.cpp:48,1
    - Dst: cos
      Src: /src/PROJ/src/projections/fouc_s.cpp:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: fouc_s_s_inverse
    functionSourceFile: /src/PROJ/src/projections/fouc_s.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fabs
    - static_cast<struct pj_fouc_s_data *>
    - aasin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP fouc_s_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_fouc_s_data *>
      Src: /src/PROJ/src/projections/fouc_s.cpp:55,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/fouc_s.cpp:56,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/fouc_s.cpp:58,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/fouc_s.cpp:61,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/fouc_s.cpp:63,1
    - Dst: _
      Src: /src/PROJ/src/projections/fouc_s.cpp:64,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/fouc_s.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/fouc_s.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_fouc_s_data *>
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(fouc_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_oea *>
      Src: /src/PROJ/src/projections/oea.cpp:20,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:22,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:23,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:24,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/oea.cpp:26,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:26,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:27,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/oea.cpp:27,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/oea.cpp:28,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:28,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/oea.cpp:30,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:30,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:30,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:30,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:31,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:32,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: oea_s_forward
    functionSourceFile: /src/PROJ/src/projections/oea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - aasin
    - aatan2
    - aacos
    - static_cast<struct pj_oea *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY oea_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_oea *>
      Src: /src/PROJ/src/projections/oea.cpp:39,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/oea.cpp:41,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/oea.cpp:43,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:43,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:43,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:44,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:45,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/oea.cpp:46,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:47,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/oea.cpp:48,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/oea.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:49,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:50,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/oea.cpp:51,1
    - Dst: aatan2
      Src: /src/PROJ/src/projections/oea.cpp:52,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: oea_s_inverse
    functionSourceFile: /src/PROJ/src/projections/oea.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - cos
    - aasin
    - aatan2
    - static_cast<struct pj_oea *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP oea_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_oea *>
      Src: /src/PROJ/src/projections/oea.cpp:59,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/oea.cpp:59,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/oea.cpp:61,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/oea.cpp:64,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/oea.cpp:65,1
    - Dst: _
      Src: /src/PROJ/src/projections/oea.cpp:65,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/oea.cpp:66,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/oea.cpp:69,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/oea.cpp:70,1
    - Dst: _
      Src: /src/PROJ/src/projections/oea.cpp:70,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/oea.cpp:71,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/oea.cpp:74,1
    - Dst: sin
      Src: /src/PROJ/src/projections/oea.cpp:75,1
    - Dst: cos
      Src: /src/PROJ/src/projections/oea.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 88
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/oea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - pj_default_destructor
    - static_cast<struct pj_oea *>
    - calloc
    - proj_log_error
    - _
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(oea)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:23,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sts.cpp:25,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sts.cpp:28,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sts.cpp:31,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sts.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: sts_s_forward
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 0
    functionsReached:
    - tan
    - cos
    - static_cast<struct pj_sts *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY sts_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:41,1
    - Dst: atan
      Src: /src/PROJ/src/projections/sts.cpp:44,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/sts.cpp:44,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sts.cpp:45,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sts.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: sts_s_inverse
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - atan
    - cos
    - static_cast<struct pj_sts *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP sts_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:59,1
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:60,1
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:61,1
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - P
    - p
    - q
    - mode
    argTypes:
    - PJ*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: setup
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 31
    functionsReached:
    - static_cast<struct pj_sts *>
    linkageType: ''
    returnType: PJ
    signature: PJ *setup(PJ *P, double p, double q, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:68,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sts.cpp:68,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sts.cpp:70,1
    - Dst: setup
      Src: /src/PROJ/src/projections/sts.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - setup
    - static_cast<struct pj_sts *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(fouc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:77,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sts.cpp:77,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sts.cpp:79,1
    - Dst: setup
      Src: /src/PROJ/src/projections/sts.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - setup
    - static_cast<struct pj_sts *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(kav5)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:87,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sts.cpp:87,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sts.cpp:89,1
    - Dst: setup
      Src: /src/PROJ/src/projections/sts.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - setup
    - static_cast<struct pj_sts *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(qua_aut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sts *>
      Src: /src/PROJ/src/projections/sts.cpp:96,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sts.cpp:96,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sts.cpp:98,1
    - Dst: setup
      Src: /src/PROJ/src/projections/sts.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sts.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - calloc
    - setup
    - static_cast<struct pj_sts *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mbt_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/nell.cpp:18,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nell.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nell.cpp:22,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/nell.cpp:24,1
    - Dst: cos
      Src: /src/PROJ/src/projections/nell.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: nell_s_forward
    functionSourceFile: /src/PROJ/src/projections/nell.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY nell_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/nell.cpp:35,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/nell.cpp:36,1
    - Dst: sin
      Src: /src/PROJ/src/projections/nell.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: nell_s_inverse
    functionSourceFile: /src/PROJ/src/projections/nell.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP nell_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/nell.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(nell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/cc.cpp:13,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/cc.cpp:13,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/cc.cpp:14,1
    - Dst: tan
      Src: /src/PROJ/src/projections/cc.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: cc_s_forward
    functionSourceFile: /src/PROJ/src/projections/cc.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - tan
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY cc_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/cc.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: cc_s_inverse
    functionSourceFile: /src/PROJ/src/projections/cc.cpp
    functionUses: 0
    functionsReached:
    - atan
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP cc_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/cc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/eck5.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: eck5_s_forward
    functionSourceFile: /src/PROJ/src/projections/eck5.cpp
    functionUses: 0
    functionsReached:
    - cos
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eck5_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/eck5.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: eck5_s_inverse
    functionSourceFile: /src/PROJ/src/projections/eck5.cpp
    functionUses: 0
    functionsReached:
    - cos
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eck5_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eck5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: gins8_s_forward
    functionSourceFile: /src/PROJ/src/projections/gins8.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gins8_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gins8.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gins8)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:20,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/vandg.cpp:22,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:26,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:30,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:33,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:33,1
    - Dst: tan
      Src: /src/PROJ/src/projections/vandg.cpp:35,1
    - Dst: asin
      Src: /src/PROJ/src/projections/vandg.cpp:35,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:39,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg.cpp:41,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:60,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg.cpp:60,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:63,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/vandg.cpp:67,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg.cpp:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 77
    functionName: vandg_s_forward
    functionSourceFile: /src/PROJ/src/projections/vandg.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - fabs
    - tan
    - asin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY vandg_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:84,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:87,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg.cpp:87,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg.cpp:100,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:103,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/vandg.cpp:104,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/vandg.cpp:105,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:108,1
    - Dst: acos
      Src: /src/PROJ/src/projections/vandg.cpp:110,1
    - Dst: cos
      Src: /src/PROJ/src/projections/vandg.cpp:117,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/vandg.cpp:121,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/vandg.cpp:123,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/vandg.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: vandg_s_inverse
    functionSourceFile: /src/PROJ/src/projections/vandg.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - acos
    - fabs
    - cos
    - proj_coord_error
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP vandg_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/vandg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(vandg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_urm5 *>
      Src: /src/PROJ/src/projections/urm5.cpp:19,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/urm5.cpp:22,1
    - Dst: sin
      Src: /src/PROJ/src/projections/urm5.cpp:22,1
    - Dst: cos
      Src: /src/PROJ/src/projections/urm5.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: urm5_s_forward
    functionSourceFile: /src/PROJ/src/projections/urm5.cpp
    functionUses: 0
    functionsReached:
    - aasin
    - cos
    - static_cast<struct pj_urm5 *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY urm5_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_urm5 *>
      Src: /src/PROJ/src/projections/urm5.cpp:32,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/urm5.cpp:32,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urm5.cpp:34,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/urm5.cpp:37,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/urm5.cpp:38,1
    - Dst: _
      Src: /src/PROJ/src/projections/urm5.cpp:38,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urm5.cpp:39,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/urm5.cpp:42,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/urm5.cpp:44,1
    - Dst: _
      Src: /src/PROJ/src/projections/urm5.cpp:45,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urm5.cpp:46,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/urm5.cpp:49,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/urm5.cpp:50,1
    - Dst: sin
      Src: /src/PROJ/src/projections/urm5.cpp:51,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/urm5.cpp:52,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/urm5.cpp:54,1
    - Dst: _
      Src: /src/PROJ/src/projections/urm5.cpp:56,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/urm5.cpp:57,1
    - Dst: cos
      Src: /src/PROJ/src/projections/urm5.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 67
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/urm5.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    - cos
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - static_cast<struct pj_urm5 *>
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(urm5)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/wink2.cpp:25,1
    - Dst: sin
      Src: /src/PROJ/src/projections/wink2.cpp:28,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wink2.cpp:28,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/wink2.cpp:30,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wink2.cpp:39,1
    - Dst: static_cast<struct pj_wink2_data *>
      Src: /src/PROJ/src/projections/wink2.cpp:39,1
    - Dst: sin
      Src: /src/PROJ/src/projections/wink2.cpp:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: wink2_s_forward
    functionSourceFile: /src/PROJ/src/projections/wink2.cpp
    functionUses: 0
    functionsReached:
    - fabs
    - static_cast<struct pj_wink2_data *>
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY wink2_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_generic_inverse_2d
      Src: /src/PROJ/src/projections/wink2.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: wink2_s_inverse
    functionSourceFile: /src/PROJ/src/projections/wink2.cpp
    functionUses: 0
    functionsReached:
    - pj_generic_inverse_2d
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP wink2_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_wink2_data *>
      Src: /src/PROJ/src/projections/wink2.cpp:55,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/wink2.cpp:56,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/wink2.cpp:58,1
    - Dst: static_cast<struct pj_wink2_data *>
      Src: /src/PROJ/src/projections/wink2.cpp:61,1
    - Dst: cos
      Src: /src/PROJ/src/projections/wink2.cpp:62,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/wink2.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/wink2.cpp
    functionUses: 0
    functionsReached:
    - cos
    - static_cast<struct pj_wink2_data *>
    - pj_default_destructor
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wink2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imoll_o_data *>
      Src: /src/PROJ/src/projections/imoll_o.cpp:69,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/imoll_o.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: imoll_o_s_forward
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - fwd
    - static_cast<struct pj_imoll_o_data *>
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY imoll_o_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imoll_o_data *>
      Src: /src/PROJ/src/projections/imoll_o.cpp:101,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/imoll_o.cpp:102,1
    - Dst: inv
      Src: /src/PROJ/src/projections/imoll_o.cpp:128,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 48
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 166
    functionName: imoll_o_s_inverse
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - inv
    - static_cast<struct pj_imoll_o_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP imoll_o_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imoll_o.cpp:176,1
    - Dst: static_cast<struct pj_imoll_o_data *>
      Src: /src/PROJ/src/projections/imoll_o.cpp:179,1
    - Dst: destructor
      Src: /src/PROJ/src/projections/imoll_o.cpp:183,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imoll_o.cpp:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: pj_imoll_o_destructor
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - destructor
    - pj_default_destructor
    - static_cast<struct pj_imoll_o_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_imoll_o_destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/imoll_o.cpp:213,1
    - Dst: proj_ptr
      Src: /src/PROJ/src/projections/imoll_o.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - P
    - Q
    - n
    - (*proj_ptr)(PJ *)
    - x_0
    - y_0
    - lon_0
    argTypes:
    - PJ*
    - struct pj_imoll_o_ns::pj_imoll_o_data*
    - int
    - PJ*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: pj_imoll_o_setup_zone
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - proj_ptr
    linkageType: ''
    returnType: bool
    signature: "bool pj_imoll_o_setup_zone(PJ *P,\n                                  struct
      pj_imoll_o_ns::pj_imoll_o_data *Q,\n                                  int n,
      PJ *(*proj_ptr)(PJ *), double x_0,\n                                  double
      y_0, double lon_0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwd
      Src: /src/PROJ/src/projections/imoll_o.cpp:235,1
    - Dst: fwd
      Src: /src/PROJ/src/projections/imoll_o.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - Q
    - zone1
    - zone2
    - lam
    - phi1
    - phi2
    argTypes:
    - struct pj_imoll_o_ns::pj_imoll_o_data*
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: pj_imoll_o_compute_zone_offset
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - fwd
    linkageType: ''
    returnType: double
    signature: "double pj_imoll_o_compute_zone_offset(struct pj_imoll_o_ns::pj_imoll_o_data
      *Q,\n                               int zone1, int zone2, double lam, double
      phi1,\n                               double phi2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imoll_o_s_forward
      Src: /src/PROJ/src/projections/imoll_o.cpp:249,1
    - Dst: imoll_o_s_forward
      Src: /src/PROJ/src/projections/imoll_o.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - P
    - lam
    - phi
    argTypes:
    - PJ*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: pj_imoll_o_compute_zone_x_boundary
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - imoll_o_s_forward
    linkageType: ''
    returnType: double
    signature: "double pj_imoll_o_compute_zone_x_boundary(PJ *P, double lam,\n                                                 double
      phi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_imoll_o_data *>
      Src: /src/PROJ/src/projections/imoll_o.cpp:257,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/imoll_o.cpp:258,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/imoll_o.cpp:260,1
    - Dst: pj_imoll_o_setup_zone
      Src: /src/PROJ/src/projections/imoll_o.cpp:264,1
    - Dst: pj_imoll_o_setup_zone
      Src: /src/PROJ/src/projections/imoll_o.cpp:265,1
    - Dst: pj_imoll_o_setup_zone
      Src: /src/PROJ/src/projections/imoll_o.cpp:266,1
    - Dst: pj_imoll_o_setup_zone
      Src: /src/PROJ/src/projections/imoll_o.cpp:267,1
    - Dst: pj_imoll_o_setup_zone
      Src: /src/PROJ/src/projections/imoll_o.cpp:268,1
    - Dst: pj_imoll_o_setup_zone
      Src: /src/PROJ/src/projections/imoll_o.cpp:269,1
    - Dst: pj_imoll_o_destructor
      Src: /src/PROJ/src/projections/imoll_o.cpp:270,1
    - Dst: pj_imoll_o_compute_zone_offset
      Src: /src/PROJ/src/projections/imoll_o.cpp:277,1
    - Dst: pj_imoll_o_compute_zone_offset
      Src: /src/PROJ/src/projections/imoll_o.cpp:281,1
    - Dst: pj_imoll_o_compute_zone_offset
      Src: /src/PROJ/src/projections/imoll_o.cpp:284,1
    - Dst: pj_imoll_o_compute_zone_offset
      Src: /src/PROJ/src/projections/imoll_o.cpp:289,1
    - Dst: pj_imoll_o_compute_zone_offset
      Src: /src/PROJ/src/projections/imoll_o.cpp:293,1
    - Dst: pj_imoll_o_compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll_o.cpp:300,1
    - Dst: pj_imoll_o_compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll_o.cpp:301,1
    - Dst: pj_imoll_o_compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll_o.cpp:302,1
    - Dst: pj_imoll_o_compute_zone_x_boundary
      Src: /src/PROJ/src/projections/imoll_o.cpp:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 254
    functionDepth: 6
    functionLinenumber: 254
    functionLinenumberEnd: 311
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/imoll_o.cpp
    functionUses: 0
    functionsReached:
    - pj_imoll_o_setup_zone
    - pj_default_destructor
    - pj_imoll_o_compute_zone_offset
    - pj_imoll_o_destructor
    - calloc
    - pj_imoll_o_compute_zone_x_boundary
    - static_cast<struct pj_imoll_o_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(imoll_o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/eck3.cpp:22,1
    - Dst: asqrt
      Src: /src/PROJ/src/projections/eck3.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: eck3_s_forward
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_opaque *>
    - asqrt
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY eck3_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/eck3.cpp:31,1
    - Dst: asqrt
      Src: /src/PROJ/src/projections/eck3.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: eck3_s_inverse
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_opaque *>
    - asqrt
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP eck3_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: setup
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *setup(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/eck3.cpp:52,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eck3.cpp:52,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eck3.cpp:54,1
    - Dst: setup
      Src: /src/PROJ/src/projections/eck3.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 0
    functionsReached:
    - setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(eck3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/eck3.cpp:67,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eck3.cpp:67,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eck3.cpp:69,1
    - Dst: setup
      Src: /src/PROJ/src/projections/eck3.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 0
    functionsReached:
    - setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(kav7)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/eck3.cpp:85,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eck3.cpp:85,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eck3.cpp:87,1
    - Dst: setup
      Src: /src/PROJ/src/projections/eck3.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 0
    functionsReached:
    - setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(wag6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/projections/eck3.cpp:100,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/eck3.cpp:100,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/eck3.cpp:102,1
    - Dst: setup
      Src: /src/PROJ/src/projections/eck3.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/eck3.cpp
    functionUses: 0
    functionsReached:
    - setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(putp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/PROJ/src/projections/gall.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: gall_s_forward
    functionSourceFile: /src/PROJ/src/projections/gall.cpp
    functionUses: 0
    functionsReached:
    - tan
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gall_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/projections/gall.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: gall_s_inverse
    functionSourceFile: /src/PROJ/src/projections/gall.cpp
    functionUses: 0
    functionsReached:
    - atan
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP gall_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gall.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_col_urban *>
      Src: /src/PROJ/src/projections/col_urban.cpp:29,1
    - Dst: cos
      Src: /src/PROJ/src/projections/col_urban.cpp:31,1
    - Dst: sin
      Src: /src/PROJ/src/projections/col_urban.cpp:32,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/col_urban.cpp:33,1
    - Dst: sin
      Src: /src/PROJ/src/projections/col_urban.cpp:36,1
    - Dst: pow
      Src: /src/PROJ/src/projections/col_urban.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: col_urban_forward
    functionSourceFile: /src/PROJ/src/projections/col_urban.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    - cos
    - static_cast<struct pj_col_urban *>
    - pow
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY col_urban_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_col_urban *>
      Src: /src/PROJ/src/projections/col_urban.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/col_urban.cpp:51,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/col_urban.cpp:52,1
    - Dst: cos
      Src: /src/PROJ/src/projections/col_urban.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: col_urban_inverse
    functionSourceFile: /src/PROJ/src/projections/col_urban.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - static_cast<struct pj_col_urban *>
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP col_urban_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_col_urban *>
      Src: /src/PROJ/src/projections/col_urban.cpp:59,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/col_urban.cpp:60,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/col_urban.cpp:62,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/col_urban.cpp:65,1
    - Dst: sin
      Src: /src/PROJ/src/projections/col_urban.cpp:67,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/col_urban.cpp:68,1
    - Dst: pow
      Src: /src/PROJ/src/projections/col_urban.cpp:70,1
    - Dst: tan
      Src: /src/PROJ/src/projections/col_urban.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/col_urban.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - tan
    - pj_default_destructor
    - pow
    - pj_param
    - calloc
    - static_cast<struct pj_col_urban *>
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(col_urban)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct cass_data *>
      Src: /src/PROJ/src/projections/cass.cpp:27,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cass.cpp:29,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:30,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/cass.cpp:31,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/cass.cpp:34,1
    - Dst: tan
      Src: /src/PROJ/src/projections/cass.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: cass_e_forward
    functionSourceFile: /src/PROJ/src/projections/cass.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - static_cast<struct cass_data *>
    - pj_mlfn
    - cos
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY cass_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/PROJ/src/projections/cass.cpp:53,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:53,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cass.cpp:53,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/cass.cpp:54,1
    - Dst: tan
      Src: /src/PROJ/src/projections/cass.cpp:54,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: cass_s_forward
    functionSourceFile: /src/PROJ/src/projections/cass.cpp
    functionUses: 0
    functionsReached:
    - cos
    - tan
    - atan2
    - asin
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY cass_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct cass_data *>
      Src: /src/PROJ/src/projections/cass.cpp:60,1
    - Dst: pj_inv_mlfn
      Src: /src/PROJ/src/projections/cass.cpp:62,1
    - Dst: tan
      Src: /src/PROJ/src/projections/cass.cpp:63,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cass.cpp:65,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/cass.cpp:67,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:73,1
    - Dst: pj_generic_inverse_2d
      Src: /src/PROJ/src/projections/cass.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: cass_e_inverse
    functionSourceFile: /src/PROJ/src/projections/cass.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - static_cast<struct cass_data *>
    - cos
    - tan
    - pj_generic_inverse_2d
    - pj_inv_mlfn
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP cass_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/PROJ/src/projections/cass.cpp:89,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cass.cpp:89,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:89,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/cass.cpp:90,1
    - Dst: tan
      Src: /src/PROJ/src/projections/cass.cpp:90,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: cass_s_inverse
    functionSourceFile: /src/PROJ/src/projections/cass.cpp
    functionUses: 0
    functionsReached:
    - cos
    - tan
    - atan2
    - asin
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP cass_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cass.cpp:99,1
    - Dst: free
      Src: /src/PROJ/src/projections/cass.cpp:101,1
    - Dst: static_cast<struct cass_data *>
      Src: /src/PROJ/src/projections/cass.cpp:101,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cass.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: pj_cass_destructor
    functionSourceFile: /src/PROJ/src/projections/cass.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct cass_data *>
    - free
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_cass_destructor(PJ *P, int errlev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct cass_data *>
      Src: /src/PROJ/src/projections/cass.cpp:116,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/cass.cpp:116,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cass.cpp:119,1
    - Dst: pj_enfn
      Src: /src/PROJ/src/projections/cass.cpp:122,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/cass.cpp:124,1
    - Dst: pj_mlfn
      Src: /src/PROJ/src/projections/cass.cpp:126,1
    - Dst: sin
      Src: /src/PROJ/src/projections/cass.cpp:126,1
    - Dst: cos
      Src: /src/PROJ/src/projections/cass.cpp:126,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/projections/cass.cpp:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/cass.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct cass_data *>
    - pj_mlfn
    - cos
    - pj_default_destructor
    - pj_param_exists
    - pj_enfn
    - calloc
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(cass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/PROJ/src/projections/stere.cpp:33,1
    - Dst: pow
      Src: /src/PROJ/src/projections/stere.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - phit
    - sinphi
    - eccen
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ssfn_
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - tan
    - pow
    linkageType: ''
    returnType: double
    signature: double ssfn_(double phit, double sinphi, double eccen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:39,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:42,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:43,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:44,1
    - Dst: atan
      Src: /src/PROJ/src/projections/stere.cpp:46,1
    - Dst: ssfn_
      Src: /src/PROJ/src/projections/stere.cpp:46,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:47,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:48,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/stere.cpp:56,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/stere.cpp:57,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:82,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/stere.cpp:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 92
    functionName: stere_e_forward
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - fabs
    - static_cast<struct pj_stere *>
    - atan
    - proj_coord_error
    - ssfn_
    - pj_tsfn
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY stere_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:96,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:99,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:100,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:101,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:102,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/stere.cpp:112,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:125,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/stere.cpp:126,1
    - Dst: tan
      Src: /src/PROJ/src/projections/stere.cpp:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 135
    functionName: stere_s_forward
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - cos
    - static_cast<struct pj_stere *>
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY stere_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:139,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/stere.cpp:143,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/stere.cpp:148,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:149,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:150,1
    - Dst: asin
      Src: /src/PROJ/src/projections/stere.cpp:152,1
    - Dst: asin
      Src: /src/PROJ/src/projections/stere.cpp:154,1
    - Dst: tan
      Src: /src/PROJ/src/projections/stere.cpp:156,1
    - Dst: atan
      Src: /src/PROJ/src/projections/stere.cpp:167,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:174,1
    - Dst: atan
      Src: /src/PROJ/src/projections/stere.cpp:176,1
    - Dst: pow
      Src: /src/PROJ/src/projections/stere.cpp:176,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:177,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/stere.cpp:180,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/stere.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 188
    functionName: stere_e_inverse
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - hypot
    - cos
    - tan
    - static_cast<struct pj_stere *>
    - fabs
    - atan2
    - asin
    - pow
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP stere_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:192,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/stere.cpp:195,1
    - Dst: atan
      Src: /src/PROJ/src/projections/stere.cpp:196,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:197,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:198,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:203,1
    - Dst: asin
      Src: /src/PROJ/src/projections/stere.cpp:206,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/stere.cpp:208,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:211,1
    - Dst: asin
      Src: /src/PROJ/src/projections/stere.cpp:214,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:215,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/stere.cpp:217,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:223,1
    - Dst: asin
      Src: /src/PROJ/src/projections/stere.cpp:226,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/stere.cpp:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 231
    functionName: stere_s_inverse
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - cos
    - fabs
    - static_cast<struct pj_stere *>
    - atan2
    - asin
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP stere_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:235,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:237,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:237,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:241,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:249,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/stere.cpp:252,1
    - Dst: pow
      Src: /src/PROJ/src/projections/stere.cpp:252,1
    - Dst: pow
      Src: /src/PROJ/src/projections/stere.cpp:252,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:254,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:255,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/projections/stere.cpp:255,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/stere.cpp:257,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:262,1
    - Dst: atan
      Src: /src/PROJ/src/projections/stere.cpp:263,1
    - Dst: ssfn_
      Src: /src/PROJ/src/projections/stere.cpp:263,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:265,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/stere.cpp:265,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:266,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:267,1
    - Dst: sin
      Src: /src/PROJ/src/projections/stere.cpp:275,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:276,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/stere.cpp:283,1
    - Dst: cos
      Src: /src/PROJ/src/projections/stere.cpp:284,1
    - Dst: tan
      Src: /src/PROJ/src/projections/stere.cpp:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 293
    functionName: stere_setup
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - cos
    - static_cast<struct pj_stere *>
    - tan
    - pow
    - atan
    - pj_tsfn
    - ssfn_
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *stere_setup(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:297,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/stere.cpp:297,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/stere.cpp:299,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/stere.cpp:302,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/stere.cpp:303,1
    - Dst: stere_setup
      Src: /src/PROJ/src/projections/stere.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_stere *>
    - stere_setup
    - pj_default_destructor
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(stere)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_stere *>
      Src: /src/PROJ/src/projections/stere.cpp:311,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/stere.cpp:311,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/stere.cpp:313,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/stere.cpp:317,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/stere.cpp:319,1
    - Dst: _
      Src: /src/PROJ/src/projections/stere.cpp:321,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/stere.cpp:322,1
    - Dst: stere_setup
      Src: /src/PROJ/src/projections/stere.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/stere.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_stere *>
    - stere_setup
    - pj_default_destructor
    - calloc
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(ups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:27,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:31,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mod_ster.cpp:32,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:33,1
    - Dst: atan
      Src: /src/PROJ/src/projections/mod_ster.cpp:34,1
    - Dst: tan
      Src: /src/PROJ/src/projections/mod_ster.cpp:34,1
    - Dst: pow
      Src: /src/PROJ/src/projections/mod_ster.cpp:35,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:37,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mod_ster.cpp:38,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/mod_ster.cpp:41,1
    - Dst: pj_zpoly1
      Src: /src/PROJ/src/projections/mod_ster.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: mod_ster_e_forward
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - tan
    - pow
    - atan
    - pj_zpoly1
    - static_cast<struct pj_mod_ster_data *>
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY mod_ster_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:57,1
    - Dst: pj_zpolyd1
      Src: /src/PROJ/src/projections/mod_ster.cpp:65,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mod_ster.cpp:73,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mod_ster.cpp:73,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/mod_ster.cpp:77,1
    - Dst: atan
      Src: /src/PROJ/src/projections/mod_ster.cpp:78,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:79,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mod_ster.cpp:80,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mod_ster.cpp:81,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/mod_ster.cpp:89,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:93,1
    - Dst: atan
      Src: /src/PROJ/src/projections/mod_ster.cpp:94,1
    - Dst: tan
      Src: /src/PROJ/src/projections/mod_ster.cpp:94,1
    - Dst: pow
      Src: /src/PROJ/src/projections/mod_ster.cpp:95,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/mod_ster.cpp:98,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/mod_ster.cpp:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 109
    functionName: mod_ster_e_inverse
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - fabs
    - cos
    - tan
    - aasin
    - atan2
    - pow
    - atan
    - static_cast<struct pj_mod_ster_data *>
    - pj_zpolyd1
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP mod_ster_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:113,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:117,1
    - Dst: atan
      Src: /src/PROJ/src/projections/mod_ster.cpp:118,1
    - Dst: tan
      Src: /src/PROJ/src/projections/mod_ster.cpp:118,1
    - Dst: pow
      Src: /src/PROJ/src/projections/mod_ster.cpp:119,1
    - Dst: sin
      Src: /src/PROJ/src/projections/mod_ster.cpp:123,1
    - Dst: cos
      Src: /src/PROJ/src/projections/mod_ster.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: mod_ster_setup
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - sin
    - cos
    - tan
    - atan
    - static_cast<struct pj_mod_ster_data *>
    - pow
    linkageType: ''
    returnType: PJ
    signature: PJ *mod_ster_setup(PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:135,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/mod_ster.cpp:136,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/mod_ster.cpp:138,1
    - Dst: mod_ster_setup
      Src: /src/PROJ/src/projections/mod_ster.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - mod_ster_setup
    - static_cast<struct pj_mod_ster_data *>
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mil_os)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:155,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/mod_ster.cpp:156,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/mod_ster.cpp:158,1
    - Dst: mod_ster_setup
      Src: /src/PROJ/src/projections/mod_ster.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - mod_ster_setup
    - static_cast<struct pj_mod_ster_data *>
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(lee_os)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:175,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/mod_ster.cpp:176,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/mod_ster.cpp:178,1
    - Dst: mod_ster_setup
      Src: /src/PROJ/src/projections/mod_ster.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - mod_ster_setup
    - static_cast<struct pj_mod_ster_data *>
    - calloc
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gs48)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:203,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/mod_ster.cpp:204,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/mod_ster.cpp:206,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/mod_ster.cpp:215,1
    - Dst: mod_ster_setup
      Src: /src/PROJ/src/projections/mod_ster.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 222
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - mod_ster_setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_mod_ster_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(alsk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_mod_ster_data *>
      Src: /src/PROJ/src/projections/mod_ster.cpp:239,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/mod_ster.cpp:240,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/mod_ster.cpp:242,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/mod_ster.cpp:251,1
    - Dst: mod_ster_setup
      Src: /src/PROJ/src/projections/mod_ster.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 258
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/mod_ster.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - mod_ster_setup
    - pj_default_destructor
    - calloc
    - static_cast<struct pj_mod_ster_data *>
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gs50)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sconics.cpp:47,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sconics.cpp:48,1
    - Dst: _
      Src: /src/PROJ/src/projections/sconics.cpp:48,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sconics.cpp:50,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sconics.cpp:51,1
    - Dst: _
      Src: /src/PROJ/src/projections/sconics.cpp:51,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sconics.cpp:54,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/sconics.cpp:55,1
    - Dst: static_cast<struct pj_sconics_data *>
      Src: /src/PROJ/src/projections/sconics.cpp:58,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/sconics.cpp:59,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/sconics.cpp:59,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sconics.cpp:63,1
    - Dst: _
      Src: /src/PROJ/src/projections/sconics.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - P
    - del
    argTypes:
    - PJ*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: phi12
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 1
    functionsReached:
    - fabs
    - static_cast<struct pj_sconics_data *>
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: int
    signature: int phi12(PJ *P, double *del)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sconics_data *>
      Src: /src/PROJ/src/projections/sconics.cpp:74,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:79,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:82,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:89,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sconics.cpp:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: sconics_s_forward
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_sconics_data *>
    - cos
    - tan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY sconics_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sconics_data *>
      Src: /src/PROJ/src/projections/sconics.cpp:99,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/sconics.cpp:103,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/sconics.cpp:110,1
    - Dst: atan
      Src: /src/PROJ/src/projections/sconics.cpp:114,1
    - Dst: atan
      Src: /src/PROJ/src/projections/sconics.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: sconics_s_inverse
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_sconics_data *>
    - atan
    - atan2
    - hypot
    linkageType: ''
    returnType: PJ_LP
    signature: "PJ_LP sconics_s_inverse(PJ_XY xy,\n                  PJ *P)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_sconics_data *>
      Src: /src/PROJ/src/projections/sconics.cpp:128,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/sconics.cpp:129,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sconics.cpp:131,1
    - Dst: phi12
      Src: /src/PROJ/src/projections/sconics.cpp:135,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sconics.cpp:137,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:142,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sconics.cpp:143,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/sconics.cpp:145,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:145,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:149,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:149,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:151,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/sconics.cpp:155,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sconics.cpp:155,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:155,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:156,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:157,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:161,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:161,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:163,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:163,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:163,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:167,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:167,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:169,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:169,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:174,1
    - Dst: cos
      Src: /src/PROJ/src/projections/sconics.cpp:175,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:176,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/sconics.cpp:178,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/sconics.cpp:179,1
    - Dst: _
      Src: /src/PROJ/src/projections/sconics.cpp:180,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/sconics.cpp:182,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:185,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:189,1
    - Dst: sin
      Src: /src/PROJ/src/projections/sconics.cpp:190,1
    - Dst: tan
      Src: /src/PROJ/src/projections/sconics.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - P
    - type
    argTypes:
    - PJ*
    - enum pj_sconics_ns::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 200
    functionName: pj_sconics_setup
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - tan
    - fabs
    - static_cast<struct pj_sconics_data *>
    - _
    - pj_default_destructor
    - calloc
    - phi12
    - proj_log_error
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_sconics_setup(PJ *P, enum pj_sconics_ns::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(euler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(tissot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(murd1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 6
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(murd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 6
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(murd3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 6
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(pconic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_sconics_setup
      Src: /src/PROJ/src/projections/sconics.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 6
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/sconics.cpp
    functionUses: 0
    functionsReached:
    - pj_sconics_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(vitk1)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gnom_data *>
      Src: /src/PROJ/src/projections/gnom.cpp:30,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gnom.cpp:33,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gnom.cpp:34,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gnom.cpp:35,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/gnom.cpp:53,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gnom.cpp:57,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: gnom_s_forward
    functionSourceFile: /src/PROJ/src/projections/gnom.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - static_cast<struct pj_gnom_data *>
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gnom_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gnom_data *>
      Src: /src/PROJ/src/projections/gnom.cpp:77,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/gnom.cpp:80,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gnom.cpp:81,1
    - Dst: atan
      Src: /src/PROJ/src/projections/gnom.cpp:81,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gnom.cpp:82,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:84,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:91,1
    - Dst: asin
      Src: /src/PROJ/src/projections/gnom.cpp:94,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gnom.cpp:95,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:100,1
    - Dst: asin
      Src: /src/PROJ/src/projections/gnom.cpp:103,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/gnom.cpp:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: gnom_s_inverse
    functionSourceFile: /src/PROJ/src/projections/gnom.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - hypot
    - fabs
    - static_cast<struct pj_gnom_data *>
    - asin
    - atan2
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP gnom_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gnom_data *>
      Src: /src/PROJ/src/projections/gnom.cpp:122,1
    - Dst: geod_geninverse
      Src: /src/PROJ/src/projections/gnom.cpp:127,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/gnom.cpp:130,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gnom.cpp:135,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gnom.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: gnom_e_forward
    functionSourceFile: /src/PROJ/src/projections/gnom.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - cos
    - static_cast<struct pj_gnom_data *>
    - geod_geninverse
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY gnom_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/projections/gnom.cpp:143,1
    - Dst: static_cast<struct pj_gnom_data *>
      Src: /src/PROJ/src/projections/gnom.cpp:146,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/gnom.cpp:149,1
    - Dst: hypot
      Src: /src/PROJ/src/projections/gnom.cpp:150,1
    - Dst: atan
      Src: /src/PROJ/src/projections/gnom.cpp:150,1
    - Dst: geod_lineinit
      Src: /src/PROJ/src/projections/gnom.cpp:155,1
    - Dst: geod_genposition
      Src: /src/PROJ/src/projections/gnom.cpp:163,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:172,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/gnom.cpp:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 183
    functionName: gnom_e_inverse
    functionSourceFile: /src/PROJ/src/projections/gnom.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - sqrt
    - hypot
    - fabs
    - static_cast<struct pj_gnom_data *>
    - atan2
    - geod_lineinit
    - atan
    - geod_genposition
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP gnom_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_gnom_data *>
      Src: /src/PROJ/src/projections/gnom.cpp:186,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/gnom.cpp:187,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/gnom.cpp:189,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:193,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:193,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/gnom.cpp:195,1
    - Dst: sin
      Src: /src/PROJ/src/projections/gnom.cpp:199,1
    - Dst: cos
      Src: /src/PROJ/src/projections/gnom.cpp:200,1
    - Dst: geod_init
      Src: /src/PROJ/src/projections/gnom.cpp:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 214
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/gnom.cpp
    functionUses: 0
    functionsReached:
    - geod_init
    - fabs
    - cos
    - static_cast<struct pj_gnom_data *>
    - pj_default_destructor
    - calloc
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(gnom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_goode_data *>
      Src: /src/PROJ/src/projections/goode.cpp:25,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/goode.cpp:27,1
    - Dst: struct pj_goode_data*::sinu::fwd
      Src: /src/PROJ/src/projections/goode.cpp:28,1
    - Dst: struct pj_goode_data*::moll::fwd
      Src: /src/PROJ/src/projections/goode.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: goode_s_forward
    functionSourceFile: /src/PROJ/src/projections/goode.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_goode_data *>
    - struct pj_goode_data*::sinu::fwd
    - fabs
    - struct pj_goode_data*::moll::fwd
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY goode_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_goode_data *>
      Src: /src/PROJ/src/projections/goode.cpp:38,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/goode.cpp:40,1
    - Dst: struct pj_goode_data*::sinu::inv
      Src: /src/PROJ/src/projections/goode.cpp:41,1
    - Dst: struct pj_goode_data*::moll::inv
      Src: /src/PROJ/src/projections/goode.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: goode_s_inverse
    functionSourceFile: /src/PROJ/src/projections/goode.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_goode_data *>
    - struct pj_goode_data*::moll::inv
    - struct pj_goode_data*::sinu::inv
    - fabs
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP goode_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/goode.cpp:53,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/projections/goode.cpp:54,1
    - Dst: static_cast<struct pj_goode_data *>
      Src: /src/PROJ/src/projections/goode.cpp:54,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/projections/goode.cpp:55,1
    - Dst: static_cast<struct pj_goode_data *>
      Src: /src/PROJ/src/projections/goode.cpp:55,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/goode.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: goode_destructor
    functionSourceFile: /src/PROJ/src/projections/goode.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_goode_data *>
    - pj_default_destructor
    - proj_destroy
    linkageType: ''
    returnType: PJ
    signature: PJ *goode_destructor(PJ *P, int errlev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_goode_data *>
      Src: /src/PROJ/src/projections/goode.cpp:60,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/goode.cpp:61,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/goode.cpp:63,1
    - Dst: pj_sinu
      Src: /src/PROJ/src/projections/goode.cpp:68,1
    - Dst: pj_moll
      Src: /src/PROJ/src/projections/goode.cpp:69,1
    - Dst: goode_destructor
      Src: /src/PROJ/src/projections/goode.cpp:71,1
    - Dst: pj_sinu
      Src: /src/PROJ/src/projections/goode.cpp:75,1
    - Dst: pj_moll
      Src: /src/PROJ/src/projections/goode.cpp:76,1
    - Dst: goode_destructor
      Src: /src/PROJ/src/projections/goode.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/goode.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_goode_data *>
    - pj_default_destructor
    - calloc
    - pj_sinu
    - goode_destructor
    - pj_moll
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(goode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:39,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/chamb.cpp:40,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/chamb.cpp:40,1
    - Dst: aacos
      Src: /src/PROJ/src/projections/chamb.cpp:41,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:43,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:44,1
    - Dst: aasin
      Src: /src/PROJ/src/projections/chamb.cpp:45,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/chamb.cpp:45,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/chamb.cpp:47,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/chamb.cpp:48,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - ctx
    - dphi
    - c1
    - s1
    - c2
    - s2
    - dlam
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: vect
    functionSourceFile: /src/PROJ/src/projections/chamb.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    - cos
    - aasin
    - atan2
    - aacos
    - sin
    linkageType: ''
    returnType: VECT
    signature: "VECT vect(PJ_CONTEXT *ctx, double dphi, double c1, double s1, double
      c2,\n                 double s2, double dlam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aacos
      Src: /src/PROJ/src/projections/chamb.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - b
    - c
    - a
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: lc
    functionSourceFile: /src/PROJ/src/projections/chamb.cpp
    functionUses: 0
    functionsReached:
    - aacos
    linkageType: ''
    returnType: double
    signature: double lc(PJ_CONTEXT *ctx, double b, double c, double a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_chamb *>
      Src: /src/PROJ/src/projections/chamb.cpp:61,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:66,1
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:67,1
    - Dst: vect
      Src: /src/PROJ/src/projections/chamb.cpp:69,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/chamb.cpp:73,1
    - Dst: lc
      Src: /src/PROJ/src/projections/chamb.cpp:81,1
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:85,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:86,1
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:89,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:90,1
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:93,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: chamb_s_forward
    functionSourceFile: /src/PROJ/src/projections/chamb.cpp
    functionUses: 0
    functionsReached:
    - cos
    - adjlon
    - static_cast<struct pj_chamb *>
    - vect
    - lc
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY chamb_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_chamb *>
      Src: /src/PROJ/src/projections/chamb.cpp:107,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/chamb.cpp:107,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/chamb.cpp:109,1
    - Dst: snprintf
      Src: /src/PROJ/src/projections/chamb.cpp:113,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/chamb.cpp:114,1
    - Dst: snprintf
      Src: /src/PROJ/src/projections/chamb.cpp:115,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/chamb.cpp:116,1
    - Dst: adjlon
      Src: /src/PROJ/src/projections/chamb.cpp:117,1
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:118,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:119,1
    - Dst: vect
      Src: /src/PROJ/src/projections/chamb.cpp:123,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/chamb.cpp:127,1
    - Dst: _
      Src: /src/PROJ/src/projections/chamb.cpp:129,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/chamb.cpp:130,1
    - Dst: lc
      Src: /src/PROJ/src/projections/chamb.cpp:135,1
    - Dst: lc
      Src: /src/PROJ/src/projections/chamb.cpp:136,1
    - Dst: sin
      Src: /src/PROJ/src/projections/chamb.cpp:138,1
    - Dst: cos
      Src: /src/PROJ/src/projections/chamb.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 151
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/chamb.cpp
    functionUses: 0
    functionsReached:
    - cos
    - _
    - snprintf
    - pj_default_destructor
    - adjlon
    - calloc
    - static_cast<struct pj_chamb *>
    - proj_log_error
    - vect
    - lc
    - pj_param
    - sin
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(chamb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - Xr
    - Yr
    - dX
    - dY
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: pj_modified_krovak::mod_krovak_compute_dx_dy
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mod_krovak_compute_dx_dy(const double Xr, const double Yr,\n
      \                                    double &dX, double &dY)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - Xr
    - Yr
    - dX
    - dY
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: pj_modified_krovak::mod_krovak_compute_dx_dy
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mod_krovak_compute_dx_dy(const double Xr, const double Yr,\n
      \                                    double &dX, double &dY)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_krovak_data *>
      Src: /src/PROJ/src/projections/krovak.cpp:145,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:149,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:149,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:149,1
    - Dst: atan
      Src: /src/PROJ/src/projections/krovak.cpp:154,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:154,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:154,1
    - Dst: asin
      Src: /src/PROJ/src/projections/krovak.cpp:158,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:158,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:158,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:158,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:158,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:158,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:159,1
    - Dst: asin
      Src: /src/PROJ/src/projections/krovak.cpp:165,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:165,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:165,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:168,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:168,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:169,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:169,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:171,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:172,1
    - Dst: mod_krovak_compute_dx_dy
      Src: /src/PROJ/src/projections/krovak.cpp:187,1
    - Dst: std::swap
      Src: /src/PROJ/src/projections/krovak.cpp:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 206
    functionName: krovak_e_forward
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached:
    - mod_krovak_compute_dx_dy
    - std::swap
    - cos
    - tan
    - static_cast<struct pj_krovak_data *>
    - pow
    - asin
    - atan
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY krovak_e_forward(PJ_LP lp, PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_krovak_data *>
      Src: /src/PROJ/src/projections/krovak.cpp:209,1
    - Dst: std::swap
      Src: /src/PROJ/src/projections/krovak.cpp:220,1
    - Dst: mod_krovak_compute_dx_dy
      Src: /src/PROJ/src/projections/krovak.cpp:231,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/krovak.cpp:237,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/krovak.cpp:238,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:240,1
    - Dst: atan
      Src: /src/PROJ/src/projections/krovak.cpp:245,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:245,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:245,1
    - Dst: asin
      Src: /src/PROJ/src/projections/krovak.cpp:249,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:249,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:249,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:249,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:249,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:249,1
    - Dst: asin
      Src: /src/PROJ/src/projections/krovak.cpp:250,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:250,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:250,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:250,1
    - Dst: atan
      Src: /src/PROJ/src/projections/krovak.cpp:259,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:259,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:260,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:260,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:261,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:261,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:261,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/krovak.cpp:265,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/projections/krovak.cpp:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 276
    functionName: krovak_e_inverse
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached:
    - mod_krovak_compute_dx_dy
    - sqrt
    - std::swap
    - cos
    - tan
    - static_cast<struct pj_krovak_data *>
    - fabs
    - atan2
    - pow
    - asin
    - proj_context_errno_set
    - atan
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP krovak_e_inverse(PJ_XY xy, PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_krovak_data *>
      Src: /src/PROJ/src/projections/krovak.cpp:280,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/krovak.cpp:281,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/krovak.cpp:283,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/krovak.cpp:289,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/krovak.cpp:292,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/krovak.cpp:298,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/krovak.cpp:302,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/krovak.cpp:303,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/krovak.cpp:309,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/krovak.cpp:313,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:313,1
    - Dst: cos
      Src: /src/PROJ/src/projections/krovak.cpp:313,1
    - Dst: asin
      Src: /src/PROJ/src/projections/krovak.cpp:314,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:314,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:315,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:315,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:315,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:317,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/krovak.cpp:319,1
    - Dst: _
      Src: /src/PROJ/src/projections/krovak.cpp:319,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/krovak.cpp:321,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:323,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:323,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/krovak.cpp:324,1
    - Dst: pow
      Src: /src/PROJ/src/projections/krovak.cpp:324,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:324,1
    - Dst: sin
      Src: /src/PROJ/src/projections/krovak.cpp:325,1
    - Dst: tan
      Src: /src/PROJ/src/projections/krovak.cpp:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - P
    - modified
    argTypes:
    - PJ*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 333
    functionName: krovak_setup
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - sin
    - cos
    - tan
    - static_cast<struct pj_krovak_data *>
    - pj_default_destructor
    - asin
    - calloc
    - proj_log_error
    - _
    - pj_param
    - pow
    linkageType: ''
    returnType: PJ
    signature: PJ *krovak_setup(PJ *P, bool modified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: krovak_setup
      Src: /src/PROJ/src/projections/krovak.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached:
    - krovak_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(krovak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: krovak_setup
      Src: /src/PROJ/src/projections/krovak.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/krovak.cpp
    functionUses: 0
    functionsReached:
    - krovak_setup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(mod_krovak)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct hex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: hex_xy
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hex_xy(struct hex *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct hex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: hex_iso
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hex_iso(struct hex *h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:183,1
    - Dst: floor
      Src: /src/PROJ/src/projections/isea.cpp:195,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:196,1
    - Dst: floor
      Src: /src/PROJ/src/projections/isea.cpp:197,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:198,1
    - Dst: floor
      Src: /src/PROJ/src/projections/isea.cpp:199,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:200,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:201,1
    - Dst: simple_max
      Src: /src/PROJ/src/projections/isea.cpp:201,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:202,1
    - Dst: simple_max
      Src: /src/PROJ/src/projections/isea.cpp:202,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:209,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:210,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:211,1
    - Dst: hex_xy
      Src: /src/PROJ/src/projections/isea.cpp:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - width
    - x
    - y
    - i
    - j
    argTypes:
    - double
    - double
    - double
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 229
    functionName: hexbin2
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - lround
    - hex_xy
    - fabs
    - cos
    - floor
    - simple_max
    linkageType: ''
    returnType: void
    signature: void hexbin2(double width, double x, double y, long *i, long *j)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: az_adjustment
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double az_adjustment(int triangle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/PROJ/src/projections/isea.cpp:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 307
    functionName: isea_triangle_xy
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: struct isea_pt
    signature: struct isea_pt isea_triangle_xy(int triangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:348,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:349,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:350,1
    - Dst: asin
      Src: /src/PROJ/src/projections/isea.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: safeArcSin
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - asin
    - fabs
    linkageType: ''
    returnType: double
    signature: double safeArcSin(double t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:355,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:356,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:357,1
    - Dst: acos
      Src: /src/PROJ/src/projections/isea.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: safeArcCos
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - acos
    - fabs
    linkageType: ''
    returnType: double
    signature: double safeArcCos(double t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:367,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:367,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:386,1
    - Dst: safeArcCos
      Src: /src/PROJ/src/projections/isea.cpp:392,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:400,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:400,1
    - Dst: az_adjustment
      Src: /src/PROJ/src/projections/isea.cpp:406,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:437,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:438,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:439,1
    - Dst: acos
      Src: /src/PROJ/src/projections/isea.cpp:453,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:460,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:465,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:465,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:468,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:471,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:482,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:483,1
    - Dst: fprintf
      Src: /src/PROJ/src/projections/isea.cpp:502,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/projections/isea.cpp:503,1
    - Dst: PJ_TODEG
      Src: /src/PROJ/src/projections/isea.cpp:503,1
    - Dst: exit
      Src: /src/PROJ/src/projections/isea.cpp:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - data
    - ll
    - out
    argTypes:
    - struct pj_isea_data*
    - struct GeoPoint*
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 506
    functionName: isea_snyder_forward
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - acos
    - cos
    - atan2
    - safeArcCos
    - az_adjustment
    - PJ_TODEG
    - exit
    - fprintf
    - sin
    linkageType: ''
    returnType: int
    signature: "int isea_snyder_forward(const struct pj_isea_data *data,\n                               const
      struct GeoPoint *ll, struct isea_pt *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:533,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:533,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:534,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:534,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:535,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:535,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:544,1
    - Dst: fmod
      Src: /src/PROJ/src/projections/isea.cpp:549,1
    - Dst: safeArcSin
      Src: /src/PROJ/src/projections/isea.cpp:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - np
    - pt
    argTypes:
    - struct GeoPoint
    - struct GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: snyder_ctran
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - fmod
    - atan2
    - safeArcSin
    - sin
    linkageType: ''
    returnType: struct GeoPoint
    signature: "struct GeoPoint snyder_ctran(const struct GeoPoint &np,\n                                    const
      struct GeoPoint &pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snyder_ctran
      Src: /src/PROJ/src/projections/isea.cpp:563,1
    - Dst: fmod
      Src: /src/PROJ/src/projections/isea.cpp:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - np
    - pt
    - lon0
    argTypes:
    - struct GeoPoint*
    - struct GeoPoint*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 580
    functionName: isea_ctran
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - fmod
    - snyder_ctran
    linkageType: ''
    returnType: struct GeoPoint
    signature: "struct GeoPoint isea_ctran(const struct GeoPoint *np,\n                                  const
      struct GeoPoint *pt, double lon0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:598,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct pj_isea_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 602
    functionName: isea_grid_init
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: int
    signature: int isea_grid_init(struct pj_isea_data *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct pj_isea_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: isea_orient_isea
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isea_orient_isea(struct pj_isea_data *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct pj_isea_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: isea_orient_pole
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isea_orient_pole(struct pj_isea_data *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isea_ctran
      Src: /src/PROJ/src/projections/isea.cpp:628,1
    - Dst: isea_snyder_forward
      Src: /src/PROJ/src/projections/isea.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - g
    - in
    - out
    argTypes:
    - struct pj_isea_data*
    - struct GeoPoint*
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: isea_transform
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - isea_snyder_forward
    - isea_ctran
    linkageType: ''
    returnType: int
    signature: "int isea_transform(struct pj_isea_data *g, struct GeoPoint *in,\n
      \                         struct isea_pt *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tri
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: DOWNTRI
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOWNTRI(tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:649,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:649,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:650,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pt
    - degrees
    argTypes:
    - struct isea_pt*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 654
    functionName: isea_rotate
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void isea_rotate(struct isea_pt *pt, double degrees)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DOWNTRI
      Src: /src/PROJ/src/projections/isea.cpp:659,1
    - Dst: isea_triangle_xy
      Src: /src/PROJ/src/projections/isea.cpp:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tri
    - pt
    argTypes:
    - int
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: isea_tri_plane
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - DOWNTRI
    - isea_triangle_xy
    linkageType: ''
    returnType: void
    signature: void isea_tri_plane(int tri, struct isea_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isea_rotate
      Src: /src/PROJ/src/projections/isea.cpp:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tri
    - pt
    argTypes:
    - int
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 684
    functionName: isea_ptdd
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - isea_rotate
    linkageType: ''
    returnType: int
    signature: int isea_ptdd(int tri, struct isea_pt *pt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PROJ/src/projections/isea.cpp:696,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:699,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:704,1
    - Dst: hexbin2
      Src: /src/PROJ/src/projections/isea.cpp:707,1
    - Dst: hex_iso
      Src: /src/PROJ/src/projections/isea.cpp:709,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - g
    - quadz
    - pt
    - di
    argTypes:
    - struct pj_isea_data*
    - int
    - struct isea_pt*
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 761
    functionName: isea_dddi_ap3odd
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - lround
    - cos
    - hexbin2
    - hex_iso
    - pow
    linkageType: ''
    returnType: int
    signature: "int isea_dddi_ap3odd(struct pj_isea_data *g, int quadz,\n                            struct
      isea_pt *pt, struct isea_pt *di)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isea_dddi_ap3odd
      Src: /src/PROJ/src/projections/isea.cpp:771,1
    - Dst: pow
      Src: /src/PROJ/src/projections/isea.cpp:775,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:776,1
    - Dst: simple_max
      Src: /src/PROJ/src/projections/isea.cpp:776,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:779,1
    - Dst: isea_rotate
      Src: /src/PROJ/src/projections/isea.cpp:790,1
    - Dst: hexbin2
      Src: /src/PROJ/src/projections/isea.cpp:791,1
    - Dst: hex_iso
      Src: /src/PROJ/src/projections/isea.cpp:793,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 4
    argNames:
    - g
    - quadz
    - pt
    - di
    argTypes:
    - struct pj_isea_data*
    - int
    - struct isea_pt*
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 840
    functionName: isea_dddi
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - lround
    - fabs
    - isea_rotate
    - hexbin2
    - hex_iso
    - isea_dddi_ap3odd
    - simple_max
    - pow
    linkageType: ''
    returnType: int
    signature: "int isea_dddi(struct pj_isea_data *g, int quadz, struct isea_pt *pt,\n
      \                    struct isea_pt *di)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isea_ptdd
      Src: /src/PROJ/src/projections/isea.cpp:848,1
    - Dst: isea_dddi
      Src: /src/PROJ/src/projections/isea.cpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - g
    - tri
    - pt
    - di
    argTypes:
    - struct pj_isea_data*
    - int
    - struct isea_pt*
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 842
    functionDepth: 4
    functionLinenumber: 842
    functionLinenumberEnd: 851
    functionName: isea_ptdi
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - isea_ptdd
    - isea_dddi
    linkageType: ''
    returnType: int
    signature: "int isea_ptdi(struct pj_isea_data *g, int tri, struct isea_pt *pt,\n
      \                    struct isea_pt *di)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isea_ptdi
      Src: /src/PROJ/src/projections/isea.cpp:867,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:877,1
    - Dst: floor
      Src: /src/PROJ/src/projections/isea.cpp:877,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:878,1
    - Dst: floor
      Src: /src/PROJ/src/projections/isea.cpp:878,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:882,1
    - Dst: pow
      Src: /src/PROJ/src/projections/isea.cpp:882,1
    - Dst: lround
      Src: /src/PROJ/src/projections/isea.cpp:906,1
    - Dst: pow
      Src: /src/PROJ/src/projections/isea.cpp:906,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - g
    - tri
    - pt
    - hex
    argTypes:
    - struct pj_isea_data*
    - int
    - struct isea_pt*
    - struct isea_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 858
    functionDepth: 5
    functionLinenumber: 858
    functionLinenumberEnd: 922
    functionName: isea_hex
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - isea_ptdi
    - floor
    - lround
    - pow
    linkageType: ''
    returnType: int
    signature: "int isea_hex(struct pj_isea_data *g, int tri, struct isea_pt *pt,\n
      \                   struct isea_pt *hex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isea_transform
      Src: /src/PROJ/src/projections/isea.cpp:927,1
    - Dst: isea_tri_plane
      Src: /src/PROJ/src/projections/isea.cpp:930,1
    - Dst: isea_ptdd
      Src: /src/PROJ/src/projections/isea.cpp:945,1
    - Dst: isea_ptdi
      Src: /src/PROJ/src/projections/isea.cpp:948,1
    - Dst: isea_hex
      Src: /src/PROJ/src/projections/isea.cpp:951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - g
    - in
    argTypes:
    - struct pj_isea_data*
    - struct GeoPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 924
    functionDepth: 6
    functionLinenumber: 924
    functionLinenumberEnd: 956
    functionName: isea_forward
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - isea_transform
    - isea_ptdd
    - isea_hex
    - isea_tri_plane
    - isea_ptdi
    linkageType: ''
    returnType: struct isea_pt
    signature: "struct isea_pt isea_forward(struct pj_isea_data *g,\n                                   struct
      GeoPoint *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_isea_data *>
      Src: /src/PROJ/src/projections/isea.cpp:966,1
    - Dst: isea_forward
      Src: /src/PROJ/src/projections/isea.cpp:976,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/projections/isea.cpp:978,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/projections/isea.cpp:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 964
    functionDepth: 7
    functionLinenumber: 964
    functionLinenumberEnd: 986
    functionName: isea_s_forward
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - isea_forward
    - static_cast<struct pj_isea_data *>
    - proj_coord_error
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY isea_s_forward(PJ_LP lp, PJ *P)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_isea_data *>
      Src: /src/PROJ/src/projections/isea.cpp:992,1
    - Dst: calloc
      Src: /src/PROJ/src/projections/isea.cpp:993,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/isea.cpp:995,1
    - Dst: isea_grid_init
      Src: /src/PROJ/src/projections/isea.cpp:1002,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1008,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/isea.cpp:1010,1
    - Dst: isea_orient_isea
      Src: /src/PROJ/src/projections/isea.cpp:1011,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/isea.cpp:1012,1
    - Dst: isea_orient_pole
      Src: /src/PROJ/src/projections/isea.cpp:1013,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/isea.cpp:1015,1
    - Dst: _
      Src: /src/PROJ/src/projections/isea.cpp:1017,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/isea.cpp:1018,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1023,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1024,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1027,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1028,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1031,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1032,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1035,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/isea.cpp:1037,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/isea.cpp:1039,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/isea.cpp:1041,1
    - Dst: strcmp
      Src: /src/PROJ/src/projections/isea.cpp:1043,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/projections/isea.cpp:1046,1
    - Dst: _
      Src: /src/PROJ/src/projections/isea.cpp:1046,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/projections/isea.cpp:1048,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1059,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1060,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1065,1
    - Dst: pj_param
      Src: /src/PROJ/src/projections/isea.cpp:1066,1
    - Dst: struct pj_isea_data*::initialize
      Src: /src/PROJ/src/projections/isea.cpp:1071,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 990
    functionDepth: 5
    functionLinenumber: 990
    functionLinenumberEnd: 1074
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - isea_orient_isea
    - static_cast<struct pj_isea_data *>
    - isea_orient_pole
    - strcmp
    - pj_default_destructor
    - struct pj_isea_data*::initialize
    - calloc
    - proj_log_error
    - _
    - isea_grid_init
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(isea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1099,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1100
    functionName: ISEAPlanarProjection::ISEAPlanarProjection
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void ISEAPlanarProjection(const GeoPoint &value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Max
      Src: /src/PROJ/src/projections/isea.cpp:1136,1
    - Dst: Min
      Src: /src/PROJ/src/projections/isea.cpp:1136,1
    - Dst: Max
      Src: /src/PROJ/src/projections/isea.cpp:1137,1
    - Dst: Min
      Src: /src/PROJ/src/projections/isea.cpp:1137,1
    - Dst: ISEAPlanarProjection::icosahedronToSphere
      Src: /src/PROJ/src/projections/isea.cpp:1189,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 58
    argCount: 3
    argNames:
    - inPosition
    - params
    - result
    argTypes:
    - PJ_XY
    - pj_isea_data*
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1199
    functionName: ISEAPlanarProjection::cartesianToGeo
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - ISEAPlanarProjection::icosahedronToSphere
    - Min
    - Max
    linkageType: ''
    returnType: bool
    signature: "bool cartesianToGeo(const PJ_XY &inPosition, const pj_isea_data *params,\n
      \                       GeoPoint &result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1206,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/isea.cpp:1207,1
    - Dst: ISEAPlanarProjection::faceOrientation
      Src: /src/PROJ/src/projections/isea.cpp:1208,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1220,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1220,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:1229,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1230,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1231,1
    - Dst: acos
      Src: /src/PROJ/src/projections/isea.cpp:1233,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1238,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1244,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1245,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1247,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1250,1
    - Dst: asin
      Src: /src/PROJ/src/projections/isea.cpp:1251,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1258,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1258,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1261,1
    - Dst: safeArcSin
      Src: /src/PROJ/src/projections/isea.cpp:1262,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1265,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1265,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1266,1
    - Dst: ISEAPlanarProjection::revertOrientation
      Src: /src/PROJ/src/projections/isea.cpp:1268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - c
    - params
    - r
    argTypes:
    - ISEAFacePoint
    - pj_isea_data*
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1276
    functionName: ISEAPlanarProjection::icosahedronToSphere
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 1
    functionsReached:
    - sqrt
    - acos
    - cos
    - fabs
    - atan2
    - asin
    - safeArcSin
    - ISEAPlanarProjection::faceOrientation
    - ISEAPlanarProjection::revertOrientation
    - sin
    linkageType: ''
    returnType: bool
    signature: "bool icosahedronToSphere(const ISEAFacePoint &c, const pj_isea_data
      *params,\n                             GeoPoint &r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1288,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1288,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1289,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1289,1
    - Dst: asin
      Src: /src/PROJ/src/projections/isea.cpp:1291,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - GeoPoint
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1298
    functionName: ISEAPlanarProjection::revertOrientation
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 1
    functionsReached:
    - atan2
    - asin
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void revertOrientation(const GeoPoint &c, GeoPoint &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1302
    functionName: ISEAPlanarProjection::faceOrientation
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double faceOrientation(int face)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_isea_data *>
      Src: /src/PROJ/src/projections/isea.cpp:1327,1
    - Dst: log
      Src: /src/PROJ/src/projections/isea.cpp:1343,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/isea.cpp:1346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1368
    functionName: pj_isea_data::initialize
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - log
    - static_cast<struct pj_isea_data *>
    linkageType: ''
    returnType: void
    signature: void pj_isea_data::initialize(const PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1099,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1100
    functionName: ISEAPlanarProjection::ISEAPlanarProjection
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void ISEAPlanarProjection(const GeoPoint &value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Max
      Src: /src/PROJ/src/projections/isea.cpp:1136,1
    - Dst: Min
      Src: /src/PROJ/src/projections/isea.cpp:1136,1
    - Dst: Max
      Src: /src/PROJ/src/projections/isea.cpp:1137,1
    - Dst: Min
      Src: /src/PROJ/src/projections/isea.cpp:1137,1
    - Dst: ISEAPlanarProjection::icosahedronToSphere
      Src: /src/PROJ/src/projections/isea.cpp:1189,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 58
    argCount: 3
    argNames:
    - inPosition
    - params
    - result
    argTypes:
    - PJ_XY
    - pj_isea_data*
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1199
    functionName: ISEAPlanarProjection::cartesianToGeo
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - ISEAPlanarProjection::icosahedronToSphere
    - Min
    - Max
    linkageType: ''
    returnType: bool
    signature: "bool cartesianToGeo(const PJ_XY &inPosition, const pj_isea_data *params,\n
      \                       GeoPoint &result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1206,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/isea.cpp:1207,1
    - Dst: ISEAPlanarProjection::faceOrientation
      Src: /src/PROJ/src/projections/isea.cpp:1208,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1220,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1220,1
    - Dst: fabs
      Src: /src/PROJ/src/projections/isea.cpp:1229,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1230,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1231,1
    - Dst: acos
      Src: /src/PROJ/src/projections/isea.cpp:1233,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1238,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1244,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1245,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1247,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1250,1
    - Dst: asin
      Src: /src/PROJ/src/projections/isea.cpp:1251,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1258,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1258,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1261,1
    - Dst: safeArcSin
      Src: /src/PROJ/src/projections/isea.cpp:1262,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1265,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1265,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1266,1
    - Dst: ISEAPlanarProjection::revertOrientation
      Src: /src/PROJ/src/projections/isea.cpp:1268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - c
    - params
    - r
    argTypes:
    - ISEAFacePoint
    - pj_isea_data*
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1276
    functionName: ISEAPlanarProjection::icosahedronToSphere
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 2
    functionsReached:
    - sqrt
    - acos
    - cos
    - fabs
    - atan2
    - asin
    - safeArcSin
    - ISEAPlanarProjection::faceOrientation
    - ISEAPlanarProjection::revertOrientation
    - sin
    linkageType: ''
    returnType: bool
    signature: "bool icosahedronToSphere(const ISEAFacePoint &c, const pj_isea_data
      *params,\n                             GeoPoint &r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1288,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1288,1
    - Dst: sin
      Src: /src/PROJ/src/projections/isea.cpp:1289,1
    - Dst: cos
      Src: /src/PROJ/src/projections/isea.cpp:1289,1
    - Dst: asin
      Src: /src/PROJ/src/projections/isea.cpp:1291,1
    - Dst: atan2
      Src: /src/PROJ/src/projections/isea.cpp:1293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - GeoPoint
    - GeoPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1298
    functionName: ISEAPlanarProjection::revertOrientation
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 2
    functionsReached:
    - atan2
    - asin
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void revertOrientation(const GeoPoint &c, GeoPoint &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1302
    functionName: ISEAPlanarProjection::faceOrientation
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double faceOrientation(int face)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_isea_data *>
      Src: /src/PROJ/src/projections/isea.cpp:1327,1
    - Dst: log
      Src: /src/PROJ/src/projections/isea.cpp:1343,1
    - Dst: sqrt
      Src: /src/PROJ/src/projections/isea.cpp:1346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1368
    functionName: pj_isea_data::initialize
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - log
    - static_cast<struct pj_isea_data *>
    linkageType: ''
    returnType: void
    signature: void pj_isea_data::initialize(const PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_isea_data *>
      Src: /src/PROJ/src/projections/isea.cpp:1374,1
    - Dst: ISEAPlanarProjection*::cartesianToGeo
      Src: /src/PROJ/src/projections/isea.cpp:1383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1391
    functionName: isea_s_inverse
    functionSourceFile: /src/PROJ/src/projections/isea.cpp
    functionUses: 0
    functionsReached:
    - ISEAPlanarProjection*::cartesianToGeo
    - static_cast<struct pj_isea_data *>
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP isea_s_inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/conversions/topocentric.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: topocentric_fwd
    functionSourceFile: /src/PROJ/src/conversions/topocentric.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: void
    signature: void topocentric_fwd(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque *>
      Src: /src/PROJ/src/conversions/topocentric.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: topocentric_inv
    functionSourceFile: /src/PROJ/src/conversions/topocentric.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct pj_opaque *>
    linkageType: ''
    returnType: void
    signature: void topocentric_inv(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: is_leap_year
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_leap_year(long year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_leap_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: days_in_year
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - is_leap_year
    linkageType: ''
    returnType: int
    signature: int days_in_year(long year)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_leap_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - year
    - month
    argTypes:
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: days_in_month
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - is_leap_year
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int days_in_month(unsigned long year, unsigned long month)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: days_in_month
      Src: /src/PROJ/src/conversions/unitconvert.cpp:137,1
    - Dst: days_in_month
      Src: /src/PROJ/src/conversions/unitconvert.cpp:138,1
    - Dst: days_in_month
      Src: /src/PROJ/src/conversions/unitconvert.cpp:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - unsigned long
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: daynumber_in_year
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - days_in_month
    linkageType: ''
    returnType: int
    signature: "int daynumber_in_year(unsigned long year, unsigned long month,\n                             unsigned
      long day)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mjd
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: mjd_to_mjd
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double mjd_to_mjd(double mjd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/PROJ/src/conversions/unitconvert.cpp:172,1
    - Dst: floor
      Src: /src/PROJ/src/conversions/unitconvert.cpp:172,1
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:175,1
    - Dst: is_leap_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - decimalyear
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: decimalyear_to_mjd
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - days_in_year
    - floor
    - lround
    - is_leap_year
    linkageType: ''
    returnType: double
    signature: double decimalyear_to_mjd(double decimalyear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:198,1
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:201,1
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mjd
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: mjd_to_decimalyear
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - days_in_year
    linkageType: ''
    returnType: double
    signature: double mjd_to_decimalyear(double mjd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gps_week
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: gps_week_to_mjd
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gps_week_to_mjd(double gps_week)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mjd
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: mjd_to_gps_week
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double mjd_to_gps_week(double mjd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/PROJ/src/conversions/unitconvert.cpp:237,1
    - Dst: floor
      Src: /src/PROJ/src/conversions/unitconvert.cpp:237,1
    - Dst: lround
      Src: /src/PROJ/src/conversions/unitconvert.cpp:238,1
    - Dst: floor
      Src: /src/PROJ/src/conversions/unitconvert.cpp:238,1
    - Dst: lround
      Src: /src/PROJ/src/conversions/unitconvert.cpp:239,1
    - Dst: floor
      Src: /src/PROJ/src/conversions/unitconvert.cpp:239,1
    - Dst: daynumber_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:240,1
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - yyyymmdd
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: yyyymmdd_to_mjd
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - days_in_year
    - floor
    - lround
    - daynumber_in_year
    linkageType: ''
    returnType: double
    signature: double yyyymmdd_to_mjd(double yyyymmdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/PROJ/src/conversions/unitconvert.cpp:255,1
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:258,1
    - Dst: days_in_year
      Src: /src/PROJ/src/conversions/unitconvert.cpp:261,1
    - Dst: days_in_month
      Src: /src/PROJ/src/conversions/unitconvert.cpp:263,1
    - Dst: days_in_month
      Src: /src/PROJ/src/conversions/unitconvert.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mjd
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: mjd_to_yyyymmdd
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - days_in_year
    - days_in_month
    - lround
    linkageType: ''
    returnType: double
    signature: double mjd_to_yyyymmdd(double mjd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: forward_2d
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY forward_2d(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: reverse_2d
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP reverse_2d(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forward_2d
      Src: /src/PROJ/src/conversions/unitconvert.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: forward_3d
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - forward_2d
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_2d
      Src: /src/PROJ/src/conversions/unitconvert.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: reverse_3d
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - reverse_2d
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: forward_3d
      Src: /src/PROJ/src/conversions/unitconvert.cpp:364,1
    - Dst: t_in
      Src: /src/PROJ/src/conversions/unitconvert.cpp:368,1
    - Dst: t_out
      Src: /src/PROJ/src/conversions/unitconvert.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 371
    functionName: forward_4d
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - forward_3d
    - t_in
    - t_out
    linkageType: ''
    returnType: void
    signature: void forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reverse_3d
      Src: /src/PROJ/src/conversions/unitconvert.cpp:385,1
    - Dst: t_in
      Src: /src/PROJ/src/conversions/unitconvert.cpp:389,1
    - Dst: t_out
      Src: /src/PROJ/src/conversions/unitconvert.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 392
    functionName: reverse_4d
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - reverse_3d
    - t_out
    - t_in
    linkageType: ''
    returnType: void
    signature: void reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pj_list_linear_units
      Src: /src/PROJ/src/conversions/unitconvert.cpp:400,1
    - Dst: strcmp
      Src: /src/PROJ/src/conversions/unitconvert.cpp:404,1
    - Dst: pj_list_angular_units
      Src: /src/PROJ/src/conversions/unitconvert.cpp:416,1
    - Dst: strcmp
      Src: /src/PROJ/src/conversions/unitconvert.cpp:418,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - name
    - p_is_linear
    - p_normalized_name
    argTypes:
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 435
    functionName: get_unit_conversion_factor
    functionSourceFile: /src/PROJ/src/conversions/unitconvert.cpp
    functionUses: 0
    functionsReached:
    - pj_list_angular_units
    - pj_list_linear_units
    - strcmp
    linkageType: ''
    returnType: double
    signature: "double get_unit_conversion_factor(const char *name, int *p_is_linear,\n
      \                                        const char **p_normalized_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct Set *>
      Src: /src/PROJ/src/conversions/set.cpp:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: set_fwd_inv
    functionSourceFile: /src/PROJ/src/conversions/set.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct Set *>
    linkageType: ''
    returnType: void
    signature: void set_fwd_inv(PJ_COORD &point, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: forward
    functionSourceFile: /src/PROJ/src/conversions/geocent.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: inverse
    functionSourceFile: /src/PROJ/src/conversions/geocent.cpp
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP inverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: sign
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sign(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: pj_axisswap_forward_2d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY pj_axisswap_forward_2d(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/conversions/axisswap.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: pj_axisswap_reverse_2d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached:
    - proj_coord_error
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pj_axisswap_reverse_2d(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/conversions/axisswap.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: pj_axisswap_forward_3d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached:
    - proj_coord_error
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_axisswap_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/conversions/axisswap.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: pj_axisswap_reverse_3d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached:
    - proj_coord_error
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_axisswap_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/PROJ/src/conversions/axisswap.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coo
    argTypes:
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: swap_xy_4d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void swap_xy_4d(PJ_COORD &coo, PJ *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: pj_axisswap_forward_4d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_axisswap_forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: pj_axisswap_reverse_4d
    functionSourceFile: /src/PROJ/src/conversions/axisswap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pj_axisswap_reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/conversions/cart.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - es
    - sinphi
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: normal_radius_of_curvature
    functionSourceFile: /src/PROJ/src/conversions/cart.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double normal_radius_of_curvature(double a, double es, double sinphi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/conversions/cart.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b_div_a
    - cosphi
    - sinphi
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: geocentric_radius
    functionSourceFile: /src/PROJ/src/conversions/cart.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: "double geocentric_radius(double a, double b_div_a, double cosphi,\n
      \                               double sinphi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/conversions/cart.cpp:143,1
    - Dst: sin
      Src: /src/PROJ/src/conversions/cart.cpp:144,1
    - Dst: normal_radius_of_curvature
      Src: /src/PROJ/src/conversions/cart.cpp:145,1
    - Dst: cos
      Src: /src/PROJ/src/conversions/cart.cpp:148,1
    - Dst: sin
      Src: /src/PROJ/src/conversions/cart.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - geod
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: cartesian
    functionSourceFile: /src/PROJ/src/conversions/cart.cpp
    functionUses: 0
    functionsReached:
    - normal_radius_of_curvature
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ cartesian(PJ_LPZ geod, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/conversions/cart.cpp:176,1
    - Dst: atan2
      Src: /src/PROJ/src/conversions/cart.cpp:180,1
    - Dst: cos
      Src: /src/PROJ/src/conversions/cart.cpp:183,1
    - Dst: sin
      Src: /src/PROJ/src/conversions/cart.cpp:184,1
    - Dst: sqrt
      Src: /src/PROJ/src/conversions/cart.cpp:189,1
    - Dst: sqrt
      Src: /src/PROJ/src/conversions/cart.cpp:203,1
    - Dst: atan
      Src: /src/PROJ/src/conversions/cart.cpp:222,1
    - Dst: atan2
      Src: /src/PROJ/src/conversions/cart.cpp:224,1
    - Dst: geocentric_radius
      Src: /src/PROJ/src/conversions/cart.cpp:231,1
    - Dst: fabs
      Src: /src/PROJ/src/conversions/cart.cpp:232,1
    - Dst: normal_radius_of_curvature
      Src: /src/PROJ/src/conversions/cart.cpp:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - cart
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 239
    functionName: geodetic
    functionSourceFile: /src/PROJ/src/conversions/cart.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - cos
    - fabs
    - atan2
    - geocentric_radius
    - atan
    - normal_radius_of_curvature
    - sin
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ geodetic(PJ_XYZ cart, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cartesian
      Src: /src/PROJ/src/conversions/cart.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: cart_forward
    functionSourceFile: /src/PROJ/src/conversions/cart.cpp
    functionUses: 0
    functionsReached:
    - cartesian
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY cart_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geodetic
      Src: /src/PROJ/src/conversions/cart.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: cart_reverse
    functionSourceFile: /src/PROJ/src/conversions/cart.cpp
    functionUses: 0
    functionsReached:
    - geodetic
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP cart_reverse(PJ_XY xy, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: noop
    functionSourceFile: /src/PROJ/src/conversions/noop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noop(PJ_COORD &, PJ *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/PROJ/src/conversions/geoc.cpp:59,1
    - Dst: tan
      Src: /src/PROJ/src/conversions/geoc.cpp:59,1
    - Dst: atan
      Src: /src/PROJ/src/conversions/geoc.cpp:61,1
    - Dst: tan
      Src: /src/PROJ/src/conversions/geoc.cpp:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - P
    - direction
    - coord
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: pj_geocentric_latitude
    functionSourceFile: /src/PROJ/src/conversions/geoc.cpp
    functionUses: 3
    functionsReached:
    - atan
    - tan
    linkageType: ''
    returnType: PJ_COORD
    signature: "PJ_COORD pj_geocentric_latitude(const PJ *P, PJ_DIRECTION direction,\n
      \                               PJ_COORD coord)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_geocentric_latitude
      Src: /src/PROJ/src/conversions/geoc.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: forward
    functionSourceFile: /src/PROJ/src/conversions/geoc.cpp
    functionUses: 13
    functionsReached:
    - pj_geocentric_latitude
    linkageType: ''
    returnType: void
    signature: void forward(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_geocentric_latitude
      Src: /src/PROJ/src/conversions/geoc.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: inverse
    functionSourceFile: /src/PROJ/src/conversions/geoc.cpp
    functionUses: 105
    functionsReached:
    - pj_geocentric_latitude
    linkageType: ''
    returnType: void
    signature: void inverse(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: PJ_CONVERSION
    functionSourceFile: /src/PROJ/src/conversions/geoc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_CONVERSION(geoc, 1)
  - BBCount: 804
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_value_type
      Src: /src/PROJ/src/iso19111/factory.cpp:173,1
    - Dst: sqlite3_value_double
      Src: /src/PROJ/src/iso19111/factory.cpp:176,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/iso19111/factory.cpp:180,1
    - Dst: sqlite3_value_int64
      Src: /src/PROJ/src/iso19111/factory.cpp:180,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:194,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:195,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:196,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:197,1
    - Dst: sqlite3_result_null
      Src: /src/PROJ/src/iso19111/factory.cpp:199,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/factory.cpp:208,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:208,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/factory.cpp:209,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:209,1
    - Dst: sqlite3_result_double
      Src: /src/PROJ/src/iso19111/factory.cpp:210,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:218,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:219,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:220,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:221,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:222,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:223,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:224,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:225,1
    - Dst: sqlite3_result_null
      Src: /src/PROJ/src/iso19111/factory.cpp:227,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:230,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:232,1
    - Dst: sqlite3_result_int
      Src: /src/PROJ/src/iso19111/factory.cpp:234,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:234,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:260,1
    - Dst: ListOfParams
      Src: /src/PROJ/src/iso19111/factory.cpp:267,1
    - Dst: ListOfParams
      Src: /src/PROJ/src/iso19111/factory.cpp:299,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/iso19111/factory.cpp:310,1
    - Dst: sqlite3_libversion_number
      Src: /src/PROJ/src/iso19111/factory.cpp:320,1
    - Dst: pj_log
      Src: /src/PROJ/src/iso19111/factory.cpp:323,1
    - Dst: sqlite3_libversion
      Src: /src/PROJ/src/iso19111/factory.cpp:325,1
    - Dst: custom_sqlite3_vfs_name::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:334,1
    - Dst: pj_get_embedded_proj_db
      Src: /src/PROJ/src/iso19111/factory.cpp:336,1
    - Dst: SQLite3VFS::createMem
      Src: /src/PROJ/src/iso19111/factory.cpp:338,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:340,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/PROJ/src/iso19111/factory.cpp:345,1
    - Dst: std::unique_ptr::name
      Src: /src/PROJ/src/iso19111/factory.cpp:351,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:352,1
    - Dst: custom_sqlite3_vfs_name::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:357,1
    - Dst: SQLite3VFS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:358,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:360,1
    - Dst: std::unique_ptr::name
      Src: /src/PROJ/src/iso19111/factory.cpp:362,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:370,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:371,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:373,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:373,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/iso19111/factory.cpp:376,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:378,1
    - Dst: std::shared_ptr<SQLiteHandle>
      Src: /src/PROJ/src/iso19111/factory.cpp:381,1
    - Dst: SQLiteHandle::SQLiteHandle
      Src: /src/PROJ/src/iso19111/factory.cpp:381,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:383,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/iso19111/factory.cpp:385,1
    - Dst: auto::checkDatabaseLayout
      Src: /src/PROJ/src/iso19111/factory.cpp:387,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:387,1
    - Dst: std::shared_ptr<SQLiteHandle>
      Src: /src/PROJ/src/iso19111/factory.cpp:397,1
    - Dst: SQLiteHandle::SQLiteHandle
      Src: /src/PROJ/src/iso19111/factory.cpp:398,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/iso19111/factory.cpp:401,1
    - Dst: std::unique_ptr<SQLiteHandle>
      Src: /src/PROJ/src/iso19111/factory.cpp:410,1
    - Dst: SQLiteHandle::SQLiteHandle
      Src: /src/PROJ/src/iso19111/factory.cpp:411,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/iso19111/factory.cpp:412,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/factory.cpp:423,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/factory.cpp:425,1
    - Dst: sqlite3_bind_text
      Src: /src/PROJ/src/iso19111/factory.cpp:426,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:426,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:427,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:427,1
    - Dst: sqlite3_bind_int
      Src: /src/PROJ/src/iso19111/factory.cpp:430,1
    - Dst: intValue
      Src: /src/PROJ/src/iso19111/factory.cpp:430,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:432,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/iso19111/factory.cpp:433,1
    - Dst: doubleValue
      Src: /src/PROJ/src/iso19111/factory.cpp:433,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/factory.cpp:442,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:443,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/factory.cpp:445,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/factory.cpp:447,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:449,1
    - Dst: intValue
      Src: /src/PROJ/src/iso19111/factory.cpp:449,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:451,1
    - Dst: doubleValue
      Src: /src/PROJ/src/iso19111/factory.cpp:451,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:454,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:454,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:455,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/factory.cpp:457,1
    - Dst: sqlite3_column_count
      Src: /src/PROJ/src/iso19111/factory.cpp:461,1
    - Dst: sqlite3_step
      Src: /src/PROJ/src/iso19111/factory.cpp:463,1
    - Dst: sqlite3_column_type
      Src: /src/PROJ/src/iso19111/factory.cpp:468,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/factory.cpp:471,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/factory.cpp:471,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/factory.cpp:472,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/iso19111/factory.cpp:473,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:474,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/src/iso19111/factory.cpp:476,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/src/iso19111/factory.cpp:477,1
    - Dst: SQLResultSet::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:483,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:483,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:487,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:487,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:489,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/iso19111/factory.cpp:491,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:506,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:506,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:507,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:507,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:509,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:509,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/iso19111/factory.cpp:510,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:514,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/iso19111/factory.cpp:515,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/iso19111/factory.cpp:519,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:529,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:529,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:535,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:539,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:539,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:543,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:544,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:553,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:553,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:555,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:555,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:559,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:561,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:562,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:568,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:570,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:571,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:576,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:580,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:582,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:583,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:585,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:586,1
    - Dst: sqlite3_libversion_number
      Src: /src/PROJ/src/iso19111/factory.cpp:602,1
    - Dst: sqlite3_test_control
      Src: /src/PROJ/src/iso19111/factory.cpp:604,1
    - Dst: sqlite3_create_function
      Src: /src/PROJ/src/iso19111/factory.cpp:608,1
    - Dst: sqlite3_create_function
      Src: /src/PROJ/src/iso19111/factory.cpp:613,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:655,1
    - Dst: pthread_atfork
      Src: /src/PROJ/src/iso19111/factory.cpp:667,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:674,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:674,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:676,1
    - Dst: unlock
      Src: /src/PROJ/src/iso19111/factory.cpp:676,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:678,1
    - Dst: unlock
      Src: /src/PROJ/src/iso19111/factory.cpp:678,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:679,1
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:686,1
    - Dst: SQLiteHandle::open
      Src: /src/PROJ/src/iso19111/factory.cpp:687,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:688,1
    - Dst: value::invalidate
      Src: /src/PROJ/src/iso19111/factory.cpp:700,1
    - Dst: cwalk
      Src: /src/PROJ/src/iso19111/factory.cpp:701,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:702,1
    - Dst: ListOfParams
      Src: /src/PROJ/src/iso19111/factory.cpp:721,1
    - Dst: getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:738,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:741,1
    - Dst: getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:743,1
    - Dst: getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:746,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:991,1
    - Dst: closeDB
      Src: /src/PROJ/src/iso19111/factory.cpp:993,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1013,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/iso19111/factory.cpp:1020,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1022,1
    - Dst: reset
      Src: /src/PROJ/src/iso19111/factory.cpp:1024,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1031,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1032,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1033,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1034,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1035,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1036,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1037,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1038,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1039,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1040,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1041,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1042,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1043,1
    - Dst: isValid
      Src: /src/PROJ/src/iso19111/factory.cpp:1050,1
    - Dst: closeDB
      Src: /src/PROJ/src/iso19111/factory.cpp:1051,1
    - Dst: open
      Src: /src/PROJ/src/iso19111/factory.cpp:1052,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1053,1
    - Dst: attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:1054,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1066,1
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:1074,1
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:1082,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1090,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1097,1
    - Dst: std::static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:1098,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1105,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1105,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1113,1
    - Dst: std::static_pointer_cast<common::UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/factory.cpp:1114,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1121,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1121,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1129,1
    - Dst: std::static_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:1130,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1137,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1137,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1145,1
    - Dst: std::static_pointer_cast<datum::DatumEnsemble>
      Src: /src/PROJ/src/iso19111/factory.cpp:1146,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1153,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1153,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1161,1
    - Dst: std::static_pointer_cast<datum::Ellipsoid>
      Src: /src/PROJ/src/iso19111/factory.cpp:1162,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1169,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1169,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1177,1
    - Dst: std::static_pointer_cast<datum::PrimeMeridian>
      Src: /src/PROJ/src/iso19111/factory.cpp:1178,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1185,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1185,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1193,1
    - Dst: std::static_pointer_cast<cs::CoordinateSystem>
      Src: /src/PROJ/src/iso19111/factory.cpp:1194,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1201,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1201,1
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1209,1
    - Dst: std::static_pointer_cast<metadata::Extent>
      Src: /src/PROJ/src/iso19111/factory.cpp:1210,1
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1217,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1217,1
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:1224,1
    - Dst: remove
      Src: /src/PROJ/src/iso19111/factory.cpp:1230,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1237,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:1245,1
    - Dst: setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:1248,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1250,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:1252,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/iso19111/factory.cpp:1254,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:1254,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1254,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:1256,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:1256,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1256,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1263,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1268,1
    - Dst: path
      Src: /src/PROJ/src/iso19111/factory.cpp:1270,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1277,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1278,1
    - Dst: SQLiteHandle::initFromExisting
      Src: /src/PROJ/src/iso19111/factory.cpp:1279,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1285,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1286,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1295,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1297,1
    - Dst: getLayoutVersionMajor
      Src: /src/PROJ/src/iso19111/factory.cpp:1300,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1301,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1303,1
    - Dst: getLayoutVersionMajor
      Src: /src/PROJ/src/iso19111/factory.cpp:1303,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1304,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1306,1
    - Dst: getLayoutVersionMinor
      Src: /src/PROJ/src/iso19111/factory.cpp:1306,1
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1316,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1317,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1319,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1336,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:1337,1
    - Dst: TableStructure::columns::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1340,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1342,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:1342,1
    - Dst: auto::getLayoutVersionMajor
      Src: /src/PROJ/src/iso19111/factory.cpp:1345,1
    - Dst: auto::getLayoutVersionMinor
      Src: /src/PROJ/src/iso19111/factory.cpp:1346,1
    - Dst: closeDB
      Src: /src/PROJ/src/iso19111/factory.cpp:1348,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1349,1
    - Dst: open
      Src: /src/PROJ/src/iso19111/factory.cpp:1350,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:1350,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:1355,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1359,1
    - Dst: SQLiteHandle::initFromExisting
      Src: /src/PROJ/src/iso19111/factory.cpp:1361,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1365,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1369,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1369,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1373,1
    - Dst: auto::checkDatabaseLayout
      Src: /src/PROJ/src/iso19111/factory.cpp:1375,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:1384,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1395,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1395,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1402,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1414,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1416,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:1416,1
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1428,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1429,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/factory.cpp:1432,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/factory.cpp:1433,1
    - Dst: sqlite3_reset
      Src: /src/PROJ/src/iso19111/factory.cpp:1435,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:1437,1
    - Dst: auto::handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1437,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1437,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1438,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1438,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1440,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:1441,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/iso19111/factory.cpp:1442,1
    - Dst: auto::handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1442,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1446,1
    - Dst: std::pair<std::string, sqlite3_stmt *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1447,1
    - Dst: auto::run
      Src: /src/PROJ/src/iso19111/factory.cpp:1452,1
    - Dst: va_start
      Src: /src/PROJ/src/iso19111/factory.cpp:1460,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1466,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1473,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1486,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1489,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1490,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1492,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1493,1
    - Dst: va_end
      Src: /src/PROJ/src/iso19111/factory.cpp:1495,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1496,1
    - Dst: va_end
      Src: /src/PROJ/src/iso19111/factory.cpp:1504,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1512,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/iso19111/factory.cpp:1514,1
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1514,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1514,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:1521,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1522,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:1524,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1540,1
    - Dst: util::BaseObjectPtr::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:1542,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:1544,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/factory.cpp:1545,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:1545,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:1546,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:1547,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1549,1
    - Dst: instantiateFunc
      Src: /src/PROJ/src/iso19111/factory.cpp:1550,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:1550,1
    - Dst: util::BaseObjectPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1552,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:1555,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1565,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/factory.cpp:1567,1
    - Dst: util::BaseObjectPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1567,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:1569,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1570,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:1571,1
    - Dst: util::BaseObjectPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1572,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:1573,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:1574,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:1575,1
    - Dst: util::BaseObjectPtr::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:1591,1
    - Dst: dynamic_cast<const datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1592,1
    - Dst: util::BaseObjectPtr::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:1593,1
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1599,1
    - Dst: createDatumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:1600,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1602,1
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1617,1
    - Dst: createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:1618,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1620,1
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1635,1
    - Dst: createEllipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:1636,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1638,1
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1653,1
    - Dst: createPrimeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:1654,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1656,1
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1671,1
    - Dst: createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:1672,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1674,1
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:1688,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1689,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:1690,1
    - Dst: util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:1692,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1694,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:1695,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1697,1
    - Dst: dynamic_cast<const cs::EllipsoidalCS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1704,1
    - Dst: util::BaseObjectPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1704,1
    - Dst: dynamic_cast<const cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1706,1
    - Dst: util::BaseObjectPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1706,1
    - Dst: dynamic_cast<const cs::VerticalCS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1708,1
    - Dst: util::BaseObjectPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1708,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1721,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1728,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1729,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1738,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/factory.cpp:1745,1
    - Dst: util::BaseObjectPtr::conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:1771,1
    - Dst: util::BaseObjectPtr::type
      Src: /src/PROJ/src/iso19111/factory.cpp:1772,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/factory.cpp:1783,1
    - Dst: getUnitDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1806,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1809,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:1809,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1812,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1817,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:1819,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:1834,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:1835,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1836,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:1837,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1839,1
    - Dst: getUnitDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1842,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1844,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:1849,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/factory.cpp:1849,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/factory.cpp:1849,1
    - Dst: findFreeCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1850,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:1852,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1854,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1854,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/factory.cpp:1854,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:1855,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:1856,1
    - Dst: util::BaseObjectPtr::axisList
      Src: /src/PROJ/src/iso19111/factory.cpp:1866,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1867,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:1868,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/factory.cpp:1869,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1870,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1871,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1880,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1880,1
    - Dst: getCSDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1881,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1884,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:1884,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1887,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1892,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:1894,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:1895,1
    - Dst: util::BaseObjectPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1895,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:1926,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1927,1
    - Dst: getCSDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1931,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1933,1
    - Dst: findFreeCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1939,1
    - Dst: util::BaseObjectPtr::axisList
      Src: /src/PROJ/src/iso19111/factory.cpp:1941,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:1943,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1945,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1945,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1946,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1946,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:1947,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1951,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1951,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:1955,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:1955,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:1957,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1960,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1960,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1960,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1961,1
    - Dst: auto::abbreviation
      Src: /src/PROJ/src/iso19111/factory.cpp:1961,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/factory.cpp:1962,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1962,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1963,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1963,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1963,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:1964,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1975,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1978,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:1993,1
    - Dst: util::BaseObjectPtr::domains
      Src: /src/PROJ/src/iso19111/factory.cpp:1999,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2000,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2002,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2004,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2004,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2005,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2005,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2005,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2006,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/factory.cpp:2014,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2015,1
    - Dst: addAllowedAuthoritiesCond
      Src: /src/PROJ/src/iso19111/factory.cpp:2022,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:2025,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2026,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2027,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2036,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2038,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2038,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2038,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2039,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/factory.cpp:2048,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:2050,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2051,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2053,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2054,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2064,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2064,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2065,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2065,1
    - Dst: addAllowedAuthoritiesCond
      Src: /src/PROJ/src/iso19111/factory.cpp:2066,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:2069,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2070,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2071,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/factory.cpp:2080,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2081,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2084,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2087,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2087,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2088,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2088,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2089,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2090,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2091,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2092,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2093,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2099,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2101,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2103,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2106,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2106,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2106,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2107,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2107,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2107,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2108,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2108,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2108,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2109,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2122,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2122,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2127,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2138,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2138,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2141,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2144,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2144,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2144,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2145,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2145,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2145,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2146,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2158,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2158,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2163,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:2172,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/factory.cpp:2173,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:2177,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2181,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2182,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2188,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2189,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2191,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2191,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2191,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2193,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2199,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:2199,1
    - Dst: isSphere
      Src: /src/PROJ/src/iso19111/factory.cpp:2203,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:2203,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2204,1
    - Dst: computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:2204,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2206,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/factory.cpp:2206,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2209,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2212,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2212,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2212,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2214,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2214,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:2214,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2216,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2217,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:2227,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2238,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2238,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2243,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:2254,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2255,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2257,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2260,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2265,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:2273,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2274,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2276,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2279,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2283,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:2285,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2285,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:2285,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2286,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2291,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:2294,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2294,1
    - Dst: dynamic_cast<const datum::DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2299,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:2299,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2302,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2302,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2304,1
    - Dst: anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2305,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2306,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2309,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2309,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2309,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2311,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2311,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2311,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2312,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2313,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2313,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2314,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2315,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2316,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2319,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2321,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2333,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2333,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2338,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/factory.cpp:2346,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2347,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2347,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2354,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2356,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2360,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2362,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2365,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:2367,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2367,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:2367,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2368,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2371,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:2372,1
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:2378,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2379,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:2383,1
    - Dst: positionalAccuracy
      Src: /src/PROJ/src/iso19111/factory.cpp:2383,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2386,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2386,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2387,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:2388,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2389,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2390,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2390,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2392,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2393,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:2394,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2395,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2396,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2396,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2397,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2398,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2399,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2401,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2402,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2405,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2405,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2405,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2407,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2407,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2408,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2408,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2409,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2409,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2410,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2411,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2412,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2415,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2418,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2418,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2419,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2420,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2422,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2423,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2426,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2426,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2426,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2428,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2428,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2429,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2430,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2431,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2434,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2436,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2444,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2447,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2447,1
    - Dst: first::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2448,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2448,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2449,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2463,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2463,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:2470,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2472,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2473,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2475,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2479,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2483,1
    - Dst: datum
      Src: /src/PROJ/src/iso19111/factory.cpp:2488,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2489,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2490,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2491,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2493,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2496,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2501,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:2507,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2510,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/factory.cpp:2514,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2515,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:2515,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2524,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2526,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2526,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2526,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2528,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2528,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2529,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2529,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2530,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2532,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2544,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2544,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:2549,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2554,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2556,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:2557,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2560,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2561,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2562,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2563,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2564,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2568,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2573,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2576,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/factory.cpp:2581,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2585,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:2588,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2589,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2593,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2594,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2597,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2599,1
    - Dst: operation::getProjectionMethodMappings
      Src: /src/PROJ/src/iso19111/factory.cpp:2602,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:2606,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2607,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2613,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2624,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2625,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2626,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2629,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2631,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2631,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2632,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2633,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2633,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2634,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:2635,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2636,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2637,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2638,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:2638,1
    - Dst: operation::getMapping
      Src: /src/PROJ/src/iso19111/factory.cpp:2645,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:2645,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2645,1
    - Dst: operation::getMapping
      Src: /src/PROJ/src/iso19111/factory.cpp:2648,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2648,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2654,1
    - Dst: "dynamic_cast<\n                        const operation::OperationParameterValue
        *>"
      Src: /src/PROJ/src/iso19111/factory.cpp:2655,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:2657,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2659,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/factory.cpp:2663,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2665,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2670,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2670,1
    - Dst: dynamic_cast<const operation::OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2676,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:2677,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2679,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/factory.cpp:2682,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2683,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2686,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2687,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2689,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2694,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2696,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2697,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2698,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/factory.cpp:2700,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:2701,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2704,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2706,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2707,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2707,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2708,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:2708,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2709,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2709,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2711,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2715,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2716,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:2721,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2724,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2728,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2731,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2731,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2731,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2733,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2733,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2733,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2734,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2734,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2734,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2735,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2737,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2751,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2751,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2758,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2766,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:2769,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2769,1
    - Dst: dynamic_cast<const datum::DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2774,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:2774,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2777,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2777,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2779,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2780,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2781,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2784,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2784,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2784,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2786,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2786,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2787,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2787,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2788,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2789,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2790,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2793,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2795,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2808,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2808,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:2815,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2817,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2818,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2820,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2824,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2828,1
    - Dst: datum
      Src: /src/PROJ/src/iso19111/factory.cpp:2833,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2834,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2835,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2836,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2838,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2841,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2846,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:2852,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2855,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2860,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2862,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2862,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2862,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2864,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2864,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2865,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2865,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2866,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2868,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2881,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2881,1
    - Dst: componentReferenceSystems
      Src: /src/PROJ/src/iso19111/factory.cpp:2887,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2888,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2889,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2894,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2902,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:2903,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2906,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2907,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2908,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2909,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2910,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2914,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2920,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2923,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2925,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2928,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:2930,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2930,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:2930,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2931,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2934,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:2935,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2941,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2944,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2944,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2944,1
    - Dst: first::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2946,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2946,1
    - Dst: first::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2947,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2947,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2948,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2950,1
    - Dst: stopInsertStatementsSession
      Src: /src/PROJ/src/iso19111/factory.cpp:2963,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:2971,1
    - Dst: DatabaseContext::nn_make_shared<DatabaseContext>
      Src: /src/PROJ/src/iso19111/factory.cpp:2995,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:2996,1
    - Dst: auto::open
      Src: /src/PROJ/src/iso19111/factory.cpp:2997,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2999,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:3000,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/factory.cpp:3007,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3010,1
    - Dst: auto::attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:3011,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3012,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:3014,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3023,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3026,1
    - Dst: getDatabaseStructure
      Src: /src/PROJ/src/iso19111/factory.cpp:3037,1
    - Dst: getPath
      Src: /src/PROJ/src/iso19111/factory.cpp:3044,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3054,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3054,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3055,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3058,1
    - Dst: lastMetadataValue_::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3059,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3079,1
    - Dst: memoryDbForInsertPath_::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3084,1
    - Dst: getDatabaseStructure
      Src: /src/PROJ/src/iso19111/factory.cpp:3085,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:3092,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:3094,1
    - Dst: memoryDbForInsertPath_::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3095,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3098,1
    - Dst: SQLiteHandle::initFromExistingUniquePtr
      Src: /src/PROJ/src/iso19111/factory.cpp:3101,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/iso19111/factory.cpp:3106,1
    - Dst: memoryDbHandle_::handle
      Src: /src/PROJ/src/iso19111/factory.cpp:3106,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3106,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:3110,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3111,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:3113,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3118,1
    - Dst: attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:3119,1
    - Dst: dynamic_cast<const datum::PrimeMeridian *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3144,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3144,1
    - Dst: dynamic_cast<const datum::Ellipsoid *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3146,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3146,1
    - Dst: dynamic_cast<const datum::GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3148,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3149,1
    - Dst: dynamic_cast<const datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3151,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3152,1
    - Dst: dynamic_cast<const datum::DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3155,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3155,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:3156,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3157,1
    - Dst: dynamic_cast<const datum::GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3158,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3159,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3165,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3165,1
    - Dst: suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3166,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:3166,1
    - Dst: dynamic_cast<const crs::CRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3167,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3167,1
    - Dst: dynamic_cast<const operation::Conversion *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3169,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3169,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3172,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3180,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3181,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/iso19111/factory.cpp:3188,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:3188,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/factory.cpp:3190,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:3190,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/factory.cpp:3192,1
    - Dst: findFreeCode
      Src: /src/PROJ/src/iso19111/factory.cpp:3200,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3230,1
    - Dst: util::nn_dynamic_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3234,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3237,1
    - Dst: self_::lock
      Src: /src/PROJ/src/iso19111/factory.cpp:3237,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3239,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:3242,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:3243,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:3246,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:3248,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:3249,1
    - Dst: util::nn_dynamic_pointer_cast<datum::PrimeMeridian>
      Src: /src/PROJ/src/iso19111/factory.cpp:3259,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3260,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3260,1
    - Dst: util::nn_dynamic_pointer_cast<datum::Ellipsoid>
      Src: /src/PROJ/src/iso19111/factory.cpp:3265,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3266,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3266,1
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:3271,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3273,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3273,1
    - Dst: util::nn_dynamic_pointer_cast<datum::DatumEnsemble>
      Src: /src/PROJ/src/iso19111/factory.cpp:3278,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3279,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3279,1
    - Dst: std::dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3284,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3285,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3285,1
    - Dst: std::dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3290,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3291,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3291,1
    - Dst: util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:3296,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3298,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3298,1
    - Dst: std::dynamic_pointer_cast<crs::VerticalCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3303,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3304,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3304,1
    - Dst: std::dynamic_pointer_cast<crs::CompoundCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3309,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3310,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3310,1
    - Dst: std::dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3315,1
    - Dst: getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3316,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:3316,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3321,1
    - Dst: clearCaches
      Src: /src/PROJ/src/iso19111/factory.cpp:3335,1
    - Dst: attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:3336,1
    - Dst: memoryDbHandle_::reset
      Src: /src/PROJ/src/iso19111/factory.cpp:3337,1
    - Dst: memoryDbForInsertPath_::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3338,1
    - Dst: DatabaseContext::nn_make_shared<DatabaseContext>
      Src: /src/PROJ/src/iso19111/factory.cpp:3347,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:3348,1
    - Dst: static_cast<sqlite3 *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3348,1
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:3354,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3362,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3367,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3370,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3396,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3396,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3397,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3397,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3398,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3398,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3399,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3399,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3412,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3413,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3414,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:3421,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:3423,1
    - Dst: setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:3424,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3427,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:3428,1
    - Dst: getGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3430,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3440,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3441,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3442,1
    - Dst: resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3448,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/factory.cpp:3449,1
    - Dst: NS_PROJ::FileManager::open_resource_file
      Src: /src/PROJ/src/iso19111/factory.cpp:3450,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3451,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:3452,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/factory.cpp:3453,1
    - Dst: resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3454,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:3454,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3454,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3459,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3474,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3476,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3477,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3478,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3478,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3478,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3479,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3480,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3487,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/factory.cpp:3488,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/iso19111/factory.cpp:3490,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3490,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3492,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/factory.cpp:3494,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3495,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:3495,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3495,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3498,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3503,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3503,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:3508,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:3509,1
    - Dst: resolveFullFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:3510,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:3511,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/src/iso19111/factory.cpp:3517,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:3517,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3518,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:3518,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/factory.cpp:3519,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/factory.cpp:3522,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:3522,1
    - Dst: resolveFullFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:3528,1
    - Dst: resolveFullFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:3531,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:3533,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:3534,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3536,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:3544,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3562,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3564,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3570,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3573,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3574,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3576,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3582,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3585,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3586,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3588,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/factory.cpp:3599,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/factory.cpp:3600,1
    - Dst: begin
      Src: /src/PROJ/src/iso19111/factory.cpp:3600,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/factory.cpp:3601,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/factory.cpp:3602,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3603,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3603,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3603,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3607,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3632,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3640,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3644,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3646,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3650,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3651,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3656,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3659,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3660,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3662,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3662,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3663,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/factory.cpp:3663,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:3663,1
    - Dst: getUniqueEsriAlias
      Src: /src/PROJ/src/iso19111/factory.cpp:3664,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3665,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3668,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3671,1
    - Dst: cacheAliasNames_::tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:3697,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3707,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3707,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3709,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3717,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3718,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3719,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3723,1
    - Dst: cacheAliasNames_::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3724,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3728,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3737,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3739,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3741,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3743,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3746,1
    - Dst: getUniqueEsriAlias
      Src: /src/PROJ/src/iso19111/factory.cpp:3747,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3748,1
    - Dst: std::list::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3749,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3750,1
    - Dst: cacheAliasNames_::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3754,1
    - Dst: cacheNames_::tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:3773,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3778,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3780,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3781,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3782,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3784,1
    - Dst: cacheNames_::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3786,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3804,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3806,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3807,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3808,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3810,1
    - Dst: cacheAllowedAuthorities_::find
      Src: /src/PROJ/src/iso19111/factory.cpp:3825,1
    - Dst: cacheAllowedAuthorities_::end
      Src: /src/PROJ/src/iso19111/factory.cpp:3826,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3830,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3834,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3835,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3840,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3841,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3846,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3847,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3852,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:3853,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:3854,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/factory.cpp:3856,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3856,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3868,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3879,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3882,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3888,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3897,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3899,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:3906,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3906,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3907,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3907,1
    - Dst: getCacheAuthNameWithVersion
      Src: /src/PROJ/src/iso19111/factory.cpp:3920,1
    - Dst: getCacheAuthNameWithVersion
      Src: /src/PROJ/src/iso19111/factory.cpp:3937,1
    - Dst: getCacheAuthNameWithVersion
      Src: /src/PROJ/src/iso19111/factory.cpp:3954,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3956,1
    - Dst: VersionedAuthNamePriority
      Src: /src/PROJ/src/iso19111/factory.cpp:3957,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3961,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/factory.cpp:3963,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:3963,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:3963,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3969,1
    - Dst: d::run
      Src: /src/PROJ/src/iso19111/factory.cpp:3979,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3987,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:3987,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4030,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4031,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4032,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4033,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4034,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4035,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4036,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4039,1
    - Dst: ListOfParams::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:4047,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4048,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4049,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4050,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4051,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4052,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4053,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4054,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4055,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4056,1
    - Dst: pj_log
      Src: /src/PROJ/src/iso19111/factory.cpp:4057,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4057,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4061,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4062,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4063,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4064,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4065,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4066,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4067,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4068,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4069,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4070,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4071,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4072,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4073,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4074,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:4103,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:4107,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4111,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:4111,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4113,1
    - Dst: ListOfParams
      Src: /src/PROJ/src/iso19111/factory.cpp:4137,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4145,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4167,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4175,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4175,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4183,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:4183,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4191,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:4199,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4200,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4204,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4206,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/factory.cpp:4210,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4212,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4213,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4226,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4232,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4256,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4256,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4270,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4275,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4276,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4277,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4281,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4282,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4283,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4284,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4285,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4287,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4288,1
    - Dst: std::vector<metadata::VerticalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4290,1
    - Dst: std::vector<metadata::TemporalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4291,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4295,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4295,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:4299,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:4299,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:4308,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4309,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4310,1
    - Dst: d::pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4326,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:4328,1
    - Dst: d::setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4329,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:4332,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:4334,1
    - Dst: d::pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4339,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:4340,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4345,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/factory.cpp:4350,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:4370,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:4392,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/factory.cpp:4393,1
    - Dst: AuthorityFactory::nn_make_shared<AuthorityFactory>
      Src: /src/PROJ/src/iso19111/factory.cpp:4394,1
    - Dst: AuthorityFactory::nn_make_shared<AuthorityFactory>
      Src: /src/PROJ/src/iso19111/factory.cpp:4398,1
    - Dst: getFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4401,1
    - Dst: auto::d::setThis
      Src: /src/PROJ/src/iso19111/factory.cpp:4402,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4410,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4446,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4449,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4450,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4450,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4452,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4462,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4464,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4468,1
    - Dst: createExtent
      Src: /src/PROJ/src/iso19111/factory.cpp:4469,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4472,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4473,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4476,1
    - Dst: createPrimeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:4477,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4480,1
    - Dst: createEllipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:4481,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4485,1
    - Dst: createDatumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:4486,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4488,1
    - Dst: createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:4489,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4493,1
    - Dst: createDatumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:4494,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4496,1
    - Dst: createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:4497,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4500,1
    - Dst: createEngineeringDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:4501,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4504,1
    - Dst: createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4505,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4508,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4509,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4512,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4513,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4516,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4517,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4520,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4521,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4524,1
    - Dst: createEngineeringCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4525,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4528,1
    - Dst: createConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:4529,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4535,1
    - Dst: createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:4536,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4538,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4538,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4548,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:4548,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:4549,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4565,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4567,1
    - Dst: getExtentFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4567,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4569,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4574,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4575,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4576,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4576,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4580,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4582,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4583,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4584,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4585,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4585,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4588,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4589,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4590,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4591,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4592,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4595,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4596,1
    - Dst: std::vector<metadata::VerticalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4598,1
    - Dst: std::vector<metadata::TemporalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4599,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4600,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4600,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4604,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4604,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4620,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4622,1
    - Dst: getUOMFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4622,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4624,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4627,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4627,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4630,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4631,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4632,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4633,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4636,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/factory.cpp:4639,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4642,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4643,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/factory.cpp:4645,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4645,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4646,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4647,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/factory.cpp:4649,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4650,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4651,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4652,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/factory.cpp:4664,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4665,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4666,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4666,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4669,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4669,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4682,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/factory.cpp:4684,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/factory.cpp:4684,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/factory.cpp:4686,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:4688,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/factory.cpp:4689,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:4690,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4690,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:4691,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:4692,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:4693,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4693,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/factory.cpp:4696,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/factory.cpp:4696,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4697,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4698,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/factory.cpp:4698,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4698,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:4700,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4705,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4722,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4724,1
    - Dst: getPrimeMeridianFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4724,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4726,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4729,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4734,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4735,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4736,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4739,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4748,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4750,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:4751,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4752,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:4753,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4754,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4754,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4757,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4757,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4775,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4780,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4781,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4784,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4788,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/factory.cpp:4789,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:4789,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4790,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4793,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4794,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4798,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4813,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4815,1
    - Dst: getEllipsoidFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4815,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4817,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4820,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4830,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4831,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4832,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4835,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4838,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4845,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:4846,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4847,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/factory.cpp:4848,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4849,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/factory.cpp:4850,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4850,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4851,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4851,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/factory.cpp:4854,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4855,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4856,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4856,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:4859,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4860,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4861,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4861,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4862,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4862,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4866,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4866,1
    - Dst: createGeodeticDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:4886,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4888,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4896,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4898,1
    - Dst: getDatumEnsembleFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4898,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4904,1
    - Dst: getGeodeticDatumFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4904,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4909,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4918,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4919,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4920,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4923,1
    - Dst: DatumEnsemble::ensembleNameToNonEnsembleName
      Src: /src/PROJ/src/iso19111/factory.cpp:4939,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4941,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:4944,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4947,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4949,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4953,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4957,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4958,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4960,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:4961,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4962,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4963,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4963,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:4964,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4966,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4968,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4971,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4972,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4974,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4975,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4977,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4978,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4980,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4981,1
    - Dst: "util::nn_static_pointer_cast<\n                                   datum::GeodeticReferenceFrame>"
      Src: /src/PROJ/src/iso19111/factory.cpp:4983,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4985,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4987,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4988,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4990,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4991,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4991,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:4992,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4995,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4995,1
    - Dst: createVerticalDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:5015,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5017,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5026,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5031,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5032,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5033,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5036,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5044,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5046,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5048,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5052,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5056,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5057,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5059,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:5060,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5061,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:5062,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5064,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5065,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5067,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5068,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5070,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5071,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5072,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:5074,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5075,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5077,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5079,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5083,1
    - Dst: util::optional<datum::RealizationMethod>
      Src: /src/PROJ/src/iso19111/factory.cpp:5085,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5086,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:5086,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:5088,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5093,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5093,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5111,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5116,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5117,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5118,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5121,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5127,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5130,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5131,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5133,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5134,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:5136,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5137,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5139,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5141,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5141,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5160,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5168,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5168,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5169,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5170,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5171,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5178,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5180,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5184,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5188,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5189,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5191,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5193,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:5194,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5195,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5198,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5199,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5213,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5221,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5221,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5221,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5222,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5223,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5223,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5226,1
    - Dst: createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:5228,1
    - Dst: createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:5231,1
    - Dst: createEngineeringDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:5233,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:5241,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5242,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5243,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:5243,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:5246,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5247,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5248,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:5248,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5269,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5271,1
    - Dst: getCoordinateSystemFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5271,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5273,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5276,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5285,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5286,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5287,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5290,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5298,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5299,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5302,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5304,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5306,1
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/factory.cpp:5308,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5321,1
    - Dst: createMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:5324,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5324,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:5324,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5325,1
    - Dst: createMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:5328,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5328,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:5328,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5330,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5334,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5334,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5340,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5340,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5344,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5345,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5348,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5349,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5350,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5352,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5353,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5353,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5356,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5359,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5360,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5361,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5363,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5364,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5364,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5367,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5370,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5371,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5372,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5374,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5375,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5375,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5378,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5381,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5382,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5382,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5384,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5387,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5387,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5389,1
    - Dst: createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5404,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5422,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5423,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5425,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:5433,1
    - Dst: util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5434,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5436,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:5436,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:5437,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5438,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5440,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5442,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:5442,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:5443,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5444,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5454,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5455,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5455,1
    - Dst: std::dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5459,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5461,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5462,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5472,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5473,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5474,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5475,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5478,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5489,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5492,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5493,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:5494,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/iso19111/factory.cpp:5495,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5495,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5496,1
    - Dst: cloneWithProps
      Src: /src/PROJ/src/iso19111/factory.cpp:5498,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5498,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5499,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5499,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5503,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:5503,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5505,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5506,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5508,1
    - Dst: cloneWithProps
      Src: /src/PROJ/src/iso19111/factory.cpp:5509,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5509,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5510,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/factory.cpp:5510,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5511,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5512,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5513,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5517,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5522,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5526,1
    - Dst: util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5531,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5534,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5535,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5536,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5536,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5540,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5542,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5543,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5544,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5544,1
    - Dst: util::nn_dynamic_pointer_cast<cs::SphericalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5548,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5550,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5551,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5552,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5552,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5556,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/factory.cpp:5557,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5559,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5559,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5575,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5576,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5576,1
    - Dst: std::dynamic_pointer_cast<crs::VerticalCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5578,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5580,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5582,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5583,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5585,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5591,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5592,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5593,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5596,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5604,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5608,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5611,1
    - Dst: util::nn_dynamic_pointer_cast<cs::VerticalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5614,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5616,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5617,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5618,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5618,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5621,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/factory.cpp:5622,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5624,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5624,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5641,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5642,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5642,1
    - Dst: std::dynamic_pointer_cast<crs::EngineeringCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5644,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5646,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5648,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5649,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5651,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5657,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5658,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5659,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5662,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5670,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5671,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5673,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5675,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5676,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5676,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5679,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5679,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5723,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5724,1
    - Dst: createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:5728,1
    - Dst: util::nn_dynamic_pointer_cast<operation::Conversion>
      Src: /src/PROJ/src/iso19111/factory.cpp:5733,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5735,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5739,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5740,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5743,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5755,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5763,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5763,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5764,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5769,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5771,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5773,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5773,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5774,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5778,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5780,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5781,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5784,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5786,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5787,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5792,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5795,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5795,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5811,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5812,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5812,1
    - Dst: std::dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5814,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5816,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5818,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5819,1
    - Dst: createProjectedCRSEnd
      Src: /src/PROJ/src/iso19111/factory.cpp:5821,1
    - Dst: createProjectedCRSBegin
      Src: /src/PROJ/src/iso19111/factory.cpp:5821,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5834,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5849,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5850,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5851,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5852,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5855,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5869,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:5871,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/iso19111/factory.cpp:5872,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5872,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5873,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:5873,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:5875,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:5877,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5878,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5879,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:5881,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:5881,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:5882,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5883,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5884,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:5885,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5886,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5886,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5890,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:5890,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5892,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5893,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5895,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5896,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5896,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:5897,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:5898,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5899,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/factory.cpp:5899,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5900,1
    - Dst: util::nn_dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5901,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5902,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5906,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5910,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5912,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5915,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:5917,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/factory.cpp:5918,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:5919,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5919,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5923,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5925,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5926,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5927,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5927,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5930,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/factory.cpp:5931,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5933,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5933,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5949,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5950,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5950,1
    - Dst: std::dynamic_pointer_cast<crs::DerivedProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5953,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5955,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5957,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5958,1
    - Dst: createDerivedProjectedCRSEnd
      Src: /src/PROJ/src/iso19111/factory.cpp:5960,1
    - Dst: createDerivedProjectedCRSBegin
      Src: /src/PROJ/src/iso19111/factory.cpp:5961,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5971,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5988,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5989,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5990,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5991,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5994,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6005,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6008,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:6010,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/iso19111/factory.cpp:6011,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6011,1
    - Dst: dynamic_cast<const crs::DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:6013,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:6013,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:6015,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:6017,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6018,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6019,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:6021,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:6021,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6022,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6023,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6024,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:6025,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6026,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:6026,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6029,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6033,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6035,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6038,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:6040,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/factory.cpp:6041,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:6042,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6042,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6047,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6048,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:6048,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6051,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6051,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6070,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6075,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6076,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6077,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6080,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6089,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6091,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6094,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6096,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6097,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6098,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6100,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6100,1
    - Dst: createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:6116,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6124,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6125,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:6125,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6127,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6130,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6133,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6134,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6137,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6139,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6140,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6144,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6146,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6147,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6148,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6149,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6152,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6157,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6158,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6160,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6162,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6163,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6166,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6168,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6169,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6170,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6171,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6174,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6179,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6180,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6182,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6184,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6185,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6187,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6189,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6190,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6191,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6192,1
    - Dst: createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:6198,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6202,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6204,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6205,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6205,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6208,1
    - Dst: createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6211,1
    - Dst: createVerticalCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6214,1
    - Dst: createProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6217,1
    - Dst: createDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6220,1
    - Dst: createEngineeringCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6223,1
    - Dst: createCompoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6226,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6228,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6246,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6250,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6251,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6252,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6255,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6261,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6264,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6265,1
    - Dst: util::nn_dynamic_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:6268,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:6269,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6271,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:6272,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6273,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6275,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6276,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6276,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6278,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6279,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6279,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:6280,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6283,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6283,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6294,1
    - Dst: OperationParameter::getNameForEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6303,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6304,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6305,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6306,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6311,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6312,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6312,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6317,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6318,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6318,1
    - Dst: createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:6337,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:6338,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6345,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6346,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6350,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6351,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6352,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6354,1
    - Dst: createConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:6358,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6363,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6381,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6383,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6384,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6387,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6441,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:6441,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6443,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6446,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6448,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6452,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6455,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6461,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6461,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6463,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6463,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6465,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6465,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6467,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6467,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6469,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6469,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6471,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6471,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6473,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6475,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6478,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6478,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6480,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6480,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6482,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6482,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6484,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6484,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6486,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6486,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6488,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6488,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6491,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6493,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6496,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6496,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6498,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6498,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/factory.cpp:6499,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6499,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6503,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6506,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6509,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6509,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6511,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6512,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6514,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6514,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6516,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6517,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6519,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6519,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6521,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6522,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6524,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6527,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6527,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6529,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6529,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6531,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6531,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6533,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6533,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6535,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6535,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6537,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6537,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6540,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6542,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6542,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6544,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6544,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/factory.cpp:6545,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6545,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6548,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6548,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6550,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6550,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6551,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6551,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6554,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6554,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6556,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6556,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6557,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6557,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6558,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6561,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6563,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6563,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6565,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6565,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6567,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6567,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6569,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6569,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6571,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6571,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6573,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6573,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6576,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6578,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:6579,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6584,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6590,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6591,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6592,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6594,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6599,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6599,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6605,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6622,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6624,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6625,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6628,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6651,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6651,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6652,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6657,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:6658,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6659,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6660,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6660,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6661,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6668,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:6669,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6676,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6685,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6685,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6686,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6692,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6694,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6696,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6696,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6697,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6706,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:6706,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6709,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6712,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6715,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6717,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6722,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6724,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:6725,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6729,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6735,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6736,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6737,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:6742,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:6743,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:6743,1
    - Dst: InvalidOperation::InvalidOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:6744,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6749,1
    - Dst: auto::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/factory.cpp:6753,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6754,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6759,1
    - Dst: auto::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/factory.cpp:6763,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6763,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6768,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6768,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/factory.cpp:6775,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/factory.cpp:6775,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6797,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:6797,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6798,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6800,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6801,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6804,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6831,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6841,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6841,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6842,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6848,1
    - Dst: createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6850,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6852,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6852,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6853,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6857,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:6857,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6859,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6860,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6860,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6861,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6867,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:6868,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6872,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6875,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6878,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6880,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6885,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6887,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:6888,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6893,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6894,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6895,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/src/iso19111/factory.cpp:6900,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/factory.cpp:6902,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                        operation::CoordinateOperation>"
      Src: /src/PROJ/src/iso19111/factory.cpp:6905,1
    - Dst: WKTParser
      Src: /src/PROJ/src/iso19111/factory.cpp:6907,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6909,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/factory.cpp:6912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6913,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6918,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:6924,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:6924,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/factory.cpp:6925,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6930,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/factory.cpp:6932,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6936,1
    - Dst: auto::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/factory.cpp:6940,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6940,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6945,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6945,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6951,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6959,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6961,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6962,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6965,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6972,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6992,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:6995,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6998,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6998,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7001,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:7001,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7003,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:7003,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7008,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:7009,1
    - Dst: ConcatenatedOperation::fixSteps
      Src: /src/PROJ/src/iso19111/factory.cpp:7015,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7016,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7018,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7020,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:7022,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7024,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:7025,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7030,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7032,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:7033,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/factory.cpp:7040,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7041,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7042,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/factory.cpp:7042,1
    - Dst: dynamic_cast<const operation::Conversion *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7048,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7049,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7060,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:7061,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7062,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:7067,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:7071,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7071,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:7076,1
    - Dst: createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/src/iso19111/factory.cpp:7098,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7099,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7099,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7133,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7134,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7136,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7136,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7140,1
    - Dst: std::list::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7143,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7201,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7202,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7204,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:7214,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7215,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7217,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:7218,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7220,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7220,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7221,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7221,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7222,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7222,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7223,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7223,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7231,1
    - Dst: getCRSToCRSCoordOpFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:7231,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7237,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7238,1
    - Dst: auto::d::authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7239,1
    - Dst: auto::d::context
      Src: /src/PROJ/src/iso19111/factory.cpp:7241,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:7241,1
    - Dst: std::dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:7245,1
    - Dst: auto::d::createProjectedCRSBegin
      Src: /src/PROJ/src/iso19111/factory.cpp:7248,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7249,1
    - Dst: auto::d::createProjectedCRSEnd
      Src: /src/PROJ/src/iso19111/factory.cpp:7252,1
    - Dst: crs::ProjectedCRSPtr::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:7260,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7261,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7262,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:7263,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:7264,1
    - Dst: crs::ProjectedCRSPtr::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:7266,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7267,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:7268,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7269,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7272,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7273,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:7273,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7329,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7329,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7339,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7340,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7341,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7342,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7343,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7344,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7345,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7346,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7352,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7353,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7354,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7355,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7357,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7363,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7364,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7365,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7366,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7370,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7371,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7373,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7379,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7380,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7381,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7382,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7386,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7387,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7391,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7393,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7393,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7398,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:7404,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7405,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:7412,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7412,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7423,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7427,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7427,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7429,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7438,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7439,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7440,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7441,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/src/iso19111/factory.cpp:7442,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:7448,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:7448,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7481,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7485,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7485,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7487,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7502,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7505,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:7510,1
    - Dst: rejectOpDueToMissingGrid
      Src: /src/PROJ/src/iso19111/factory.cpp:7513,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7515,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:7520,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:7521,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:7521,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7527,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:7527,1
    - Dst: dynamic_cast<const operation::ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7540,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7540,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/factory.cpp:7544,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7545,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:7546,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:7548,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7549,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:7550,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:7551,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:7552,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:7553,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7639,1
    - Dst: CheckIfHasOperations
      Src: /src/PROJ/src/iso19111/factory.cpp:7649,1
    - Dst: CheckIfHasOperations
      Src: /src/PROJ/src/iso19111/factory.cpp:7650,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:7711,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:7711,1
    - Dst: append
      Src: /src/PROJ/src/iso19111/factory.cpp:7711,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7742,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7744,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7747,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7747,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7748,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7748,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7751,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7751,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7752,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7752,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7756,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7756,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7758,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7758,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:7760,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:7761,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7762,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7763,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7765,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7767,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/factory.cpp:7768,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7788,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7806,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:7808,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:7814,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7821,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7824,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7827,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7829,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7829,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7830,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7830,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:7834,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7835,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7837,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:7838,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7840,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7841,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7842,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7843,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7851,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7852,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7853,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7854,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7855,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7856,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7857,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7858,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7868,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:7869,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:7872,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:7885,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7887,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7888,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7889,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7890,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7893,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:7906,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7907,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:7908,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7909,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7917,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7918,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7918,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7920,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7925,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7926,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7926,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7928,1
    - Dst: SQLResultSet::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7933,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:7939,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:7939,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7947,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7947,1
    - Dst: normalizeDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7951,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:7952,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7952,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:7952,1
    - Dst: normalizeDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7953,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:7954,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7954,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:7954,1
    - Dst: normalizeDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7955,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:7956,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7956,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:7956,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/factory.cpp:7958,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/factory.cpp:7959,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7968,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7969,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7987,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:7990,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:7994,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:7994,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7998,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8001,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8006,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8007,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8008,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8008,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8012,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8013,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8013,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:8030,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8031,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:8033,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8033,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8047,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8050,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8054,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8054,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8058,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8061,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8066,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8067,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8068,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8068,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8072,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8073,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8073,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8088,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:8111,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8112,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:8114,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8114,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8127,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8130,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8134,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8134,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8138,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8141,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8146,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8147,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8148,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8148,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8152,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8153,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8153,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:8170,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8171,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:8173,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8173,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8186,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8189,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8193,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8193,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8197,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8200,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8205,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8206,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8207,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8207,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8211,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8212,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8212,1
    - Dst: rejectOpDueToMissingGrid
      Src: /src/PROJ/src/iso19111/factory.cpp:8222,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8223,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8267,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8267,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8269,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8269,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:8275,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:8275,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:8276,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:8276,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:8284,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:8286,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8287,1
    - Dst: common::IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:8288,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8291,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:8292,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:8293,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:8294,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8297,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:8300,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:8303,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8309,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8312,1
    - Dst: SQLResultSet::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8314,1
    - Dst: GetListCRSWithSameDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:8319,1
    - Dst: GetListCRSWithSameDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:8321,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8323,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8323,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8370,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8377,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8378,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8384,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:8386,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8393,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:8396,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8398,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8398,1
    - Dst: BuildSQLPart
      Src: /src/PROJ/src/iso19111/factory.cpp:8412,1
    - Dst: BuildSQLPart
      Src: /src/PROJ/src/iso19111/factory.cpp:8414,1
    - Dst: BuildSQLPart
      Src: /src/PROJ/src/iso19111/factory.cpp:8416,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8421,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8436,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8437,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8438,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8439,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:8441,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8444,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8444,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8446,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8446,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:8454,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:8455,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8457,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:8458,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8460,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8461,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8462,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8463,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8466,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8484,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8485,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:8490,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:8495,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8499,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:8502,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:8506,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:8510,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8515,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8515,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8516,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:8521,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8522,1
    - Dst: operation::CoordinateOperationPtr::reset
      Src: /src/PROJ/src/iso19111/factory.cpp:8525,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8534,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8537,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8537,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8538,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:8543,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8544,1
    - Dst: operation::CoordinateOperationPtr::reset
      Src: /src/PROJ/src/iso19111/factory.cpp:8547,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8556,1
    - Dst: std::pair<TrfmInfo, TrfmInfo>
      Src: /src/PROJ/src/iso19111/factory.cpp:8557,1
    - Dst: std::map::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8565,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8593,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8594,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8595,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:8597,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:8598,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8606,1
    - Dst: keyMapSupersession
      Src: /src/PROJ/src/iso19111/factory.cpp:8613,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8613,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:8616,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8625,1
    - Dst: keyMapSupersession
      Src: /src/PROJ/src/iso19111/factory.cpp:8626,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8627,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8632,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:8632,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8634,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:8643,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:8650,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:8650,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8651,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8652,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:8656,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:8656,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8657,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8658,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8662,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8663,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:8668,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8672,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8673,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8674,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8674,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8675,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8675,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8680,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8681,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8683,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8685,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8687,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8688,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8689,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8690,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8697,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8701,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8701,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:8703,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:8703,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8712,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8713,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8721,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8721,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8722,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8722,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:8728,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8729,1
    - Dst: auto::createOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:8731,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8731,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8732,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8733,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8733,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8736,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:8738,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8739,1
    - Dst: auto::createOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:8740,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8740,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8741,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8742,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8743,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8743,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8746,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:8748,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8749,1
    - Dst: auto::createOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:8751,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8751,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8752,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8753,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8753,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8756,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8757,1
    - Dst: rejectOpDueToMissingGrid
      Src: /src/PROJ/src/iso19111/factory.cpp:8764,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8765,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8780,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8890,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8890,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:8893,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:8915,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8916,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:8917,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8917,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8928,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:8979,1
    - Dst: getJoinCelestialBody
      Src: /src/PROJ/src/iso19111/factory.cpp:8980,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:8982,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8984,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8984,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9000,1
    - Dst: getJoinCelestialBody
      Src: /src/PROJ/src/iso19111/factory.cpp:9001,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9002,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9004,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9004,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9011,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9012,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9014,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9014,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9021,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9022,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9024,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9024,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9031,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9032,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9034,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9034,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9041,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9042,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9044,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9044,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9047,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9075,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9079,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9080,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9081,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9082,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9087,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9117,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9119,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9119,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9123,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9132,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9136,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9141,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9142,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9148,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9148,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9151,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9167,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9169,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9169,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9173,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9179,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9213,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9215,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9217,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9218,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9224,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9226,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9227,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9228,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9232,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9232,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9233,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:9238,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9240,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9241,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9242,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:9244,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9247,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9253,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9255,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9257,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9262,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9265,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9266,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9267,1
    - Dst: ListOfParams::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:9270,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:9271,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:9282,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9284,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9285,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9286,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9290,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9291,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9292,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:9294,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9324,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/factory.cpp:9356,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:9358,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9359,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:9359,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9364,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:9377,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9378,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/factory.cpp:9387,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9388,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9388,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9388,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9395,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9396,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9396,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9399,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9399,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9399,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9402,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9403,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9403,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9405,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9406,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9406,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9407,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9408,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9408,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9412,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9413,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9413,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9416,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9417,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9420,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9421,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9421,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9424,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9425,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9428,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9429,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9429,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9432,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9432,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9432,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9433,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9433,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9433,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9434,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9434,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9434,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9435,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9435,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9435,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9436,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9437,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9438,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9439,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9439,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9442,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9442,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9442,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9445,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9446,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9449,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9450,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9451,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9452,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9455,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9456,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9459,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9460,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9463,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9463,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9463,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9466,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9467,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9467,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9470,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9470,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9470,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9473,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9473,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9473,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9476,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9477,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9477,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9480,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9480,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9480,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9481,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9482,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9482,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9483,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9484,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9484,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9485,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9486,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9486,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9487,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9488,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9488,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9491,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9491,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9491,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9494,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9495,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9495,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9496,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9497,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9497,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9498,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9499,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9499,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9502,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9503,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9503,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9506,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9506,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9507,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9507,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9516,1
    - Dst: getTableAndTypeConstraints
      Src: /src/PROJ/src/iso19111/factory.cpp:9527,1
    - Dst: second::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9541,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9557,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9559,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9561,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9561,1
    - Dst: second::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9578,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9594,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9596,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9598,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9598,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/factory.cpp:9606,1
    - Dst: simple_max
      Src: /src/PROJ/src/iso19111/factory.cpp:9606,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:9609,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:9609,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/factory.cpp:9617,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9619,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:9621,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9622,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9623,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9630,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:9630,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9631,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9635,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9636,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:9641,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9642,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9642,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:9645,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9645,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9646,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9648,1
    - Dst: PairObjectName
      Src: /src/PROJ/src/iso19111/factory.cpp:9649,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9649,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9650,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9659,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9663,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:9674,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9675,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9675,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:9678,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9678,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9679,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9680,1
    - Dst: PairObjectName
      Src: /src/PROJ/src/iso19111/factory.cpp:9680,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9681,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9683,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9687,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9693,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9702,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9708,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:9718,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9719,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9719,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:9722,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9722,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9728,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9731,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:9737,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:9739,1
    - Dst: auto::createGeodeticDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:9745,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9748,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:9750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9751,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9753,1
    - Dst: auto::createVerticalDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:9759,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9762,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:9764,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9765,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9767,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9769,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9771,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9773,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9775,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9777,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9779,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9781,1
    - Dst: auto::createConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:9783,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:9788,1
    - Dst: std::runtime_error
      Src: /src/PROJ/src/iso19111/factory.cpp:9790,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/factory.cpp:9792,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9793,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9794,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9794,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9796,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9797,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9797,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:9801,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9802,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9803,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9804,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9808,1
    - Dst: PairObjectName
      Src: /src/PROJ/src/iso19111/factory.cpp:9808,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9809,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9822,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9823,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9823,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9826,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9827,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9827,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9829,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9832,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9837,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9838,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9840,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9840,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9843,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9843,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:9847,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:9848,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9849,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9849,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9852,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9852,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9855,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:9856,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:9857,1
    - Dst: auto::compare
      Src: /src/PROJ/src/iso19111/factory.cpp:9858,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:9865,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:9866,1
    - Dst: auto::compare
      Src: /src/PROJ/src/iso19111/factory.cpp:9867,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/factory.cpp:9875,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9875,1
    - Dst: first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:9875,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9876,1
    - Dst: first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:9876,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/factory.cpp:9879,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9900,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9902,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9902,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9906,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9908,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9910,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9913,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:9930,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:9931,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/factory.cpp:9932,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9933,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9938,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9938,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9954,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9956,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9956,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9958,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9960,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9963,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9968,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9968,1
    - Dst: datum::VerticalReferenceFramePtr::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:9982,1
    - Dst: datum::VerticalReferenceFramePtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9983,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9984,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:9986,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:9987,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9988,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/factory.cpp:9991,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/factory.cpp:9991,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9992,1
    - Dst: getSharedFromThis
      Src: /src/PROJ/src/iso19111/factory.cpp:9992,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9993,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9996,1
    - Dst: createObjectsFromName
      Src: /src/PROJ/src/iso19111/factory.cpp:10001,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10005,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:10006,1
    - Dst: datum::VerticalReferenceFramePtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:10007,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10007,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/factory.cpp:10009,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10010,1
    - Dst: createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:10011,1
    - Dst: util::nn_static_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:10012,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10031,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10033,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10033,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10035,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10040,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10040,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10063,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10065,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10065,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10067,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10069,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10071,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10076,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10076,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10092,1
    - Dst: auto::first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10092,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10093,1
    - Dst: auto::first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10094,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10095,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:10096,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:10096,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10110,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10113,1
    - Dst: auto::first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10113,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10114,1
    - Dst: auto::first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10115,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10116,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:10116,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10122,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:10122,1
    - Dst: auto::derivingConversionRef
      Src: /src/PROJ/src/iso19111/factory.cpp:10140,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:10141,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10142,1
    - Dst: getSharedFromThis
      Src: /src/PROJ/src/iso19111/factory.cpp:10147,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:10148,1
    - Dst: auto::crs::CRS::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10150,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10151,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10151,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10153,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10157,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10157,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:10158,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:10159,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10160,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:10161,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:10161,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:10163,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:10164,1
    - Dst: auto::crs::CRS::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10166,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:10167,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:10167,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:10168,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:10169,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10192,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10193,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10193,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10194,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10195,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10201,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10201,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10202,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10204,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10204,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:10214,1
    - Dst: dynamic_cast<const operation::OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10217,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:10218,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/factory.cpp:10222,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/factory.cpp:10223,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/factory.cpp:10225,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10229,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10230,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10232,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10232,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10239,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10245,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10260,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10260,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10261,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10261,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10262,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10262,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10280,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10281,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10282,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10283,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/factory.cpp:10289,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10296,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10297,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10298,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10299,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10303,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:10307,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10307,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:10308,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10311,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10312,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10315,1
    - Dst: ListOfParams::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:10319,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10323,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10324,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:10330,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:10330,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:10330,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10335,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:10335,1
    - Dst: escapeLikeStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10347,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10347,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10350,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/factory.cpp:10353,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10353,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10361,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10367,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:10371,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10378,1
    - Dst: auto::getWKT1GDALMethodName
      Src: /src/PROJ/src/iso19111/factory.cpp:10385,1
    - Dst: escapeLikeStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10394,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10397,1
    - Dst: auto::getESRIMethodName
      Src: /src/PROJ/src/iso19111/factory.cpp:10401,1
    - Dst: escapeLikeStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10410,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10414,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10415,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10416,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10419,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10422,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:10422,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10423,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10423,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10428,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10430,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10431,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10434,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10437,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10437,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10438,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10438,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10440,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:10440,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10444,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10447,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10449,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10449,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10452,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10454,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10458,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10459,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10462,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10466,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10467,1
    - Dst: getSharedFromThis
      Src: /src/PROJ/src/iso19111/factory.cpp:10481,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:10482,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/factory.cpp:10484,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10485,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10488,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10489,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10490,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10490,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10498,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10499,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10503,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10507,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10511,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10516,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10516,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10519,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10523,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10523,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10537,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10541,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10541,1
    - Dst: createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:10555,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:10555,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:10555,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:10556,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:10557,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10558,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10571,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10572,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:10572,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10573,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:10573,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10576,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10578,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10578,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10581,1
    - Dst: util::nn_dynamic_pointer_cast<operation::PointMotionOperation>
      Src: /src/PROJ/src/iso19111/factory.cpp:10586,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10587,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10590,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:10590,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:10634,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:10645,1
    CyclomaticComplexity: 1347
    EdgeCount: 1347
    ICount: 4137
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!ellipsoidIds.empty())
      pos:
        line_end: 2389
        line_start: 2389
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (!pmIds.empty())
      pos:
        line_end: 2395
        line_start: 2395
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (opLast)
      pos:
        line_end: 8751
        line_start: 8751
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (idx == row.size())
      pos:
        line_end: 6705
        line_start: 6705
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (dotPos + 1 + precision == formatted.size())
      pos:
        line_end: 4689
        line_start: 4689
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (seconds.size() == precision - 2)
      pos:
        line_end: 4692
        line_start: 4692
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (datumEnsemble)
      pos:
        line_end: 9763
        line_start: 9763
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (datumEnsemble)
      pos:
        line_end: 9749
        line_start: 9749
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (idx == row.size())
      pos:
        line_end: 6856
        line_start: 6856
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (recLevel_ == 0)
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (obj != nullptr)
      pos:
        line_end: 8286
        line_start: 8286
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (l_handle)
      pos:
        line_end: 1428
        line_start: 1428
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (name)
      pos:
        line_end: 6303
        line_start: 6303
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (idx == row.size())
      pos:
        line_end: 6440
        line_start: 6440
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (paramType == SQLValues::Type::DOUBLE)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (nPos != std::string::npos)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (sqlite_handle_)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (lockedThisFactory)
      pos:
        line_end: 10147
        line_start: 10147
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (datum)
      pos:
        line_end: 2488
        line_start: 2488
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (!members.empty())
      pos:
        line_end: 2346
        line_start: 2346
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (opFirst)
      pos:
        line_end: 8731
        line_start: 8731
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (l_handle)
      pos:
        line_end: 1316
        line_start: 1316
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (!sqlite_handle_)
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (sqlite_handle)
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (lockedThisFactory)
      pos:
        line_end: 10481
        line_start: 10481
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (datum)
      pos:
        line_end: 2833
        line_start: 2833
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (opMiddle)
      pos:
        line_end: 8741
        line_start: 8741
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 10664
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 10664
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - dynamic_cast<const operation::Conversion *>
    - DatumEnsemble::ensembleNameToNonEnsembleName
    - dynamic_cast<const datum::DatumEnsemble *>
    - PrimeMeridian::create
    - Extent::createFromBBOX
    - util::BaseObjectPtr::axisList
    - FloatLineCache::get
    - auto::getLayoutVersionMajor
    - std::vector::front
    - MakeKey
    - d::run
    - formatStatement
    - util::BaseObjectPtr::identifiers
    - TemporalCountCS::create
    - gridsNeeded
    - Ellipsoid::createSphere
    - proj_context_set_enable_network
    - auto::componentReferenceSystems
    - dynamic_cast<const datum::VerticalReferenceFrame *>
    - std::string::resize
    - std::vector::push_back
    - std::dynamic_pointer_cast<crs::DerivedProjectedCRS>
    - getLayoutVersionMajor
    - auto::first::identifiers
    - ci_find
    - as_nullable
    - sqlite3_libversion_number
    - auto::d::createProjectedCRSBegin
    - computedInverseFlattening
    - getPrimeMeridianFromCache
    - auto::createGeodeticCRS
    - starts_with
    - std::dynamic_pointer_cast<crs::GeodeticCRS>
    - memoryDbForInsertPath_::clear
    - clear
    - baseCRS
    - EllipsoidalCS::create
    - auto::end
    - std::map::empty
    - OperationParameter::create
    - NoSuchAuthorityCodeException
    - CoordinateOperationFactory::create
    - std::map::end
    - auto::baseCRSWithCanonicalBoundCRS
    - util::nn_dynamic_pointer_cast<datum::DatumEnsemble>
    - createLength
    - auto::code
    - std::dynamic_pointer_cast<crs::VerticalCRS>
    - auto::computeSemiMinorAxis
    - createDerivedProjectedCRS
    - PositionalAccuracy::create
    - value
    - auto::description
    - isEquivalentTo
    - auto::setCRSs
    - createFromCoordinateReferenceSystemCodes
    - insertIntoCache
    - std::make_unique<Private>
    - addAllowedAuthoritiesCond
    - BuildSQLPart
    - ListOfParams
    - GeographicBoundingBox::create
    - pj_log
    - util::optional::has_value
    - auto::codeSpace
    - open
    - createEngineeringCRS
    - getDatumEnsembleFromCache
    - auto::createCoordinateOperation
    - AuthorityFactory::createUnitOfMeasure
    - SQLite3VFS::createMem
    - createExtent
    - auto::ellipsoid
    - NS_PROJ::FileManager::open_resource_file
    - createUnitOfMeasure
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - auto::derivingConversion
    - PointMotionOperation::create
    - auto::createUnitOfMeasure
    - sqlite3_open_v2
    - AxisDirection::valueOf
    - cwalk
    - Meridian::create
    - suggestsCodeFor
    - std::vector::insert
    - derivingConversionRef
    - std::dynamic_pointer_cast<crs::EngineeringCRS>
    - std::ostringstream::str
    - identifyOrInsertUsages
    - escapeLikeStr
    - auto::createPrimeMeridian
    - ConcatenatedOperation::createComputeMetadata
    - datums
    - DatumEnsemble::create
    - auto::first::get
    - custom_sqlite3_vfs_name::empty
    - auto::datum
    - auto::createVerticalDatum
    - unit
    - std::map::find
    - dynamic_cast<const crs::GeodeticCRS *>
    - createVerticalCRS
    - util::nn_static_pointer_cast<util::IComparable>
    - std::vector::begin
    - auto::publicationDate
    - c_locale_stod
    - std::list::empty
    - auto::unit
    - auto::parameterValueMeasure
    - empty
    - auto::empty
    - std::vector::emplace_back
    - identifyFromNameOrCode
    - util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
    - createProperties
    - std::pair<TrfmInfo, TrfmInfo>
    - auto::westBoundLongitude
    - createDerivedProjectedCRSBegin
    - auto::createOperation
    - "util::nn_static_pointer_cast<\n                                   datum::GeodeticReferenceFrame>"
    - sqlite3_create_function
    - std::list::emplace_back
    - coordinateSystem
    - util::optional<datum::RealizationMethod>
    - auto::emplace_back
    - std::locale::classic
    - conversionToSI
    - cloneWithProps
    - getUOMFromCache
    - auto::getPrivate
    - auto::createCompoundCRS
    - std::move
    - databaseContext
    - resolveFullFilename
    - pj_get_embedded_proj_db
    - util::nn_dynamic_pointer_cast<datum::Ellipsoid>
    - std::dynamic_pointer_cast<crs::ProjectedCRS>
    - auto::anchorEpoch
    - dynamic_cast<const datum::DynamicVerticalReferenceFrame *>
    - SQLiteHandle::initFromExistingUniquePtr
    - auto::begin
    - cacheAllowedAuthorities_::end
    - memoryDbHandle_::reset
    - second::empty
    - pthread_atfork
    - attachExtraDatabases
    - dynamic_cast<crs::GeodeticCRS *>
    - publicationDate
    - hasAuthorityRestriction
    - DateTime::create
    - AuthorityFactory::UnitInfo::name::find
    - name
    - std::vector<std::string>
    - datum
    - auto::derivingConversionRef
    - AuthorityFactory::create
    - getEllipsoidFromCache
    - auto::createDerivedProjectedCRS
    - sqlite3_errmsg
    - util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
    - memoryDbForInsertPath_::c_str
    - dynamic_cast<const datum::Ellipsoid *>
    - createGeodeticDatumOrEnsemble
    - auto::frameReferenceEpoch
    - tryGet
    - dynamic_cast<crs::GeographicCRS *>
    - auto::datumNonNull
    - getExtentFromCache
    - CoordinateMetadata::create
    - auto::getWKT2Type
    - std::static_pointer_cast<datum::Ellipsoid>
    - auto::southBoundLatitude
    - "util::nn_dynamic_pointer_cast<\n                        operation::CoordinateOperation>"
    - auto::substitutePROJAlternativeGridNames
    - util::optional::convertToUnit
    - std::string::substr
    - doubleValue
    - auto::setProperties
    - FactoryException
    - sqlite3_value_int64
    - crs::ProjectedCRSPtr::baseCRS
    - std::string::empty
    - auto::set
    - lastMetadataValue_::c_str
    - static_cast<int>
    - sqlite3_bind_double
    - std::min
    - auto::find
    - createConversion
    - std::pow
    - createProjectedCRSBegin
    - auto::initialize
    - auto::anchorDefinition
    - keyMapSupersession
    - useIrrelevantPivot
    - va_start
    - auto::createObjectsFromName
    - auto::isEquivalentTo
    - va_arg
    - getUnitDatabaseType
    - std::sin
    - auto::parameterValues
    - toString
    - sqlite3_column_type
    - buildIntermediateWhere
    - auto::createGeodeticDatumOrEnsemble
    - auto::createEngineeringDatum
    - componentReferenceSystems
    - sqlite3_column_text
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<datum::PrimeMeridian>
    - intValue
    - proj_context_get_url_endpoint
    - EllipsoidalCS::createLatitudeLongitude
    - auto::hubCRS
    - auto::convertToUnit
    - value::invalidate
    - std::vector<metadata::TemporalExtentNNPtr>
    - std::string::find
    - SQLiteHandle::initFromExisting
    - assert
    - sqlite3_value_double
    - Ellipsoid::createFlattenedSphere
    - CompoundCRS::create
    - Ellipsoid::createTwoAxis
    - auto::northBoundLatitude
    - isOlderCRS
    - sqlite3_snprintf
    - std::list::size
    - reset
    - getDatabaseStructure
    - TableType
    - Scale::Scale
    - WKTParser
    - clearCaches
    - Identifier::isEquivalentName
    - identifiers
    - insert
    - sqlite3_bind_text
    - auto::coordinateSystem
    - SphericalCS::create
    - auto::parameter
    - auto::createCoordinateSystem
    - front
    - std::floor
    - std::setprecision
    - DynamicVerticalReferenceFrame::create
    - VerticalReferenceFrame::create
    - dynamic_cast<crs::BoundCRS *>
    - createVerticalDatum
    - dynamic_cast<const crs::GeographicCRS *>
    - auto::suggestsCodeFor
    - code
    - auto::createGeodeticDatum
    - auto::computedInverseFlattening
    - proj_context_errno_set
    - InvalidOperation::InvalidOperation
    - auto::run
    - util::nn_dynamic_pointer_cast<operation::PointMotionOperation>
    - context
    - util::nn_dynamic_pointer_cast<cs::SphericalCS>
    - fprintf
    - runWithCodeParam
    - "dynamic_cast<\n                        const operation::OperationParameterValue
      *>"
    - sqlite3_step
    - GeographicCRS::create
    - auto::abbreviation
    - primeMeridian
    - second::c_str
    - util::BaseObjectPtr::type
    - std::static_pointer_cast<datum::DatumEnsemble>
    - createMeridian
    - createObjectsFromName
    - getTableAndTypeConstraints
    - dynamic_cast<const datum::GeodeticReferenceFrame *>
    - getObject
    - crs::ProjectedCRSPtr::derivingConversion
    - auto::value
    - semiMinorAxis
    - auto::transformation
    - getenv
    - std::string::c_str
    - pjCtxt
    - auto::attachExtraDatabases
    - auto::d::createProjectedCRSEnd
    - auto::push_back
    - dynamic_cast<const cs::EllipsoidalCS *>
    - auto::inverse
    - auto::targetCRS
    - sqlite3_libversion
    - auto::eastBoundLongitude
    - createGeodeticCRS
    - append
    - std::string::reserve
    - auto::_isEquivalentTo
    - dynamic_cast<const crs::DerivedProjectedCRS *>
    - findFreeCode
    - reinterpret_cast<const char *>
    - auto::getEPSGCode
    - std::string::size
    - DerivedProjectedCRS::create
    - getMapping
    - auto::createVerticalCRS
    - operation::getMapping
    - pj_get_default_ctx
    - abs
    - static_cast<sqlite3 *>
    - ListOfParams::emplace_back
    - std::vector::resize
    - auto::add
    - std::vector::size
    - Conversion::create
    - datum::VerticalReferenceFramePtr::nameStr
    - proj_context_is_network_enabled
    - std::vector::empty
    - BoundCRS::create
    - sqlite3_result_double
    - create
    - cacheNames_::insert
    - getCRSFromCache
    - scope
    - ProjectedCRS::create
    - std::string
    - auto::createConversion
    - auto::getWKT1GDALMethodName
    - createPropertiesSearchUsages
    - dynamic_cast<const crs::CRS *>
    - auto::geographicElements
    - toupper
    - operation::CoordinateOperationPtr::reset
    - auto::createEngineeringCRS
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - anchorEpochToStr
    - c_str
    - std::pair<std::string, std::string>
    - stringValue
    - getCSDatabaseType
    - getUniqueEsriAlias
    - auto::open
    - evictGridInfoFromCache
    - createDatumEnsemble
    - pj_find_file
    - util::nn_make_shared<UnitOfMeasure>
    - targetCRS
    - std::shared_ptr<SQLiteHandle>
    - ParameterValue::createFilename
    - first::get
    - isValid
    - authority
    - getFactory
    - std::list::sort
    - buildSqlLookForAuthNameCode
    - run
    - path
    - auto::has_value
    - instantiateFunc
    - auto::insert
    - sqlite3_column_double
    - EllipsoidalCS::createLongitudeLatitude
    - std::static_pointer_cast<cs::CoordinateSystem>
    - auto::datumEnsemble
    - appendSql
    - anchorDefinition
    - util::nn_static_pointer_cast<util::BaseObject>
    - what
    - util::nn_static_pointer_cast<datum::GeodeticReferenceFrame>
    - normalizeDate
    - std::vector<metadata::VerticalExtentNNPtr>
    - auto::primeMeridian
    - std::list::clear
    - SQLResultSet::empty
    - positionalAccuracy
    - checkPivot
    - createGeodeticCRSFromDatum
    - ci_equal
    - getLayoutVersionMinor
    - cacheAliasNames_::tryGet
    - SingleOperation::createPROJBased
    - createOpParamNameEPSGCode
    - auto::identifiers
    - OperationParameter::getNameForEPSGCode
    - common::IdentifiedObject*::identifiers
    - auto::operations
    - first::c_str
    - semiMajorAxis
    - PropertyMap::PropertyMap
    - auto::coordinateOperationAccuracies
    - sqlite3_test_control
    - std::pair<std::string, sqlite3_stmt *>
    - auto::identify
    - typeid
    - sqlite3_exec
    - std::string::back
    - std::fabs
    - std::vector::end
    - GeodeticCRS::create
    - substr
    - util::nn_dynamic_pointer_cast<operation::Conversion>
    - direction
    - getGeodeticDatumFromCache
    - dynamic_cast<const crs::BoundCRS *>
    - computeSemiMinorAxis
    - auto::createVerticalDatumOrEnsemble
    - sqlite3_column_count
    - reinterpret_cast<uintptr_t>
    - std::static_pointer_cast<metadata::Extent>
    - createEllipsoid
    - util::BaseObjectPtr::get
    - makeCachedGridKey
    - auto::shallowClone
    - normalizeMeasure
    - createProjectedCRS
    - CartesianCS::create
    - auto::getLayoutVersionMinor
    - simple_max
    - sqlite3_result_null
    - AuthorityFactory::nn_make_shared<AuthorityFactory>
    - rejectOpDueToMissingGrid
    - longitude
    - strcmp
    - ConcatenatedOperation::fixSteps
    - createVerticalDatumOrEnsemble
    - dynamic_cast<const crs::ProjectedCRS *>
    - auto::d::authority
    - auto::crs::CRS::identify
    - d::setPjCtxt
    - auto::createGeodeticCRSFromDatum
    - sqlite3_prepare_v2
    - util::BaseObjectPtr::domains
    - sqlite3_finalize
    - ListOfParams::clear
    - isAxisOrderReversal
    - codeSpace
    - find
    - std::set::insert
    - memoryDbHandle_::handle
    - auto::nameStr
    - type
    - static_cast<size_t>
    - DynamicGeodeticReferenceFrame::create
    - auto::intersects
    - std::runtime_error
    - std::unique_ptr<SQLiteHandle>
    - va_end
    - PROJ_SQLITE_GetValAsDouble
    - auto::handle
    - dynamic_cast<const cs::CartesianCS *>
    - isSphere
    - dynamic_cast<const datum::PrimeMeridian *>
    - SQLiteHandle::open
    - createPrimeMeridian
    - sqlite3_close
    - SQLite3VFS::create
    - std::static_pointer_cast<datum::PrimeMeridian>
    - VerticalExtent::create
    - setPjCtxt
    - TemporalCRS::create
    - Measure
    - createFactory
    - sqlite3_value_type
    - getCRSToCRSCoordOpFromCache
    - auto::c_str
    - CoordinateSystemAxis::create
    - push_back
    - auto::getInsertStatementsFor
    - sqlite3_reset
    - sqlite3_bind_int
    - auto::method
    - createCompoundCRS
    - auto::d::context
    - identifyOrInsert
    - OperationParameterValue::create
    - sqlite3_free
    - auto::datums
    - std::atoi
    - auto::createEllipsoid
    - VerticalCRS::create
    - createMapNameEPSGCode
    - getInsertStatementsFor
    - getPath
    - replaceAll
    - logTrace
    - util::nn_dynamic_pointer_cast<cs::VerticalCS>
    - util::optional<std::string>
    - std::unique_ptr::name
    - begin
    - auto::getESRIMethodName
    - TableStructure::columns::push_back
    - getSqlArea
    - createDerivedProjectedCRSEnd
    - cacheAndRet
    - util::BaseObjectPtr::datums
    - std::set::find
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - auto::parameterValue
    - std::dynamic_pointer_cast<crs::CompoundCRS>
    - getCacheAuthNameWithVersion
    - std::max
    - PairObjectName
    - util::nn_dynamic_pointer_cast<crs::CRS>
    - first::identifiers
    - d::pjCtxt
    - auto::createProjectedCRS
    - unlock
    - createProjectedCRSEnd
    - buildFactoryException
    - std::static_pointer_cast<crs::CRS>
    - filterOutSuperseded
    - createGeodeticDatum
    - strlen
    - auto::semiMajorAxis
    - EngineeringDatum::create
    - getSharedFromThis
    - size
    - cacheNames_::tryGet
    - VersionedAuthNamePriority
    - auto::sourceCRS
    - stopInsertStatementsSession
    - emplace_back
    - getCoordinateSystemFromCache
    - createFromUserInput
    - VerticalCS::create
    - get
    - pj_add_type_crs_if_needed
    - createCoordinateReferenceSystem
    - getJoinCelestialBody
    - domainOfValidity
    - auto::get
    - std::set::end
    - dynamic_cast<const operation::OperationParameterValue *>
    - util::nn_dynamic_pointer_cast<crs::ProjectedCRS>
    - handle
    - auto::substr
    - std::ostringstream::imbue
    - ends_with
    - auto::as_nullable
    - static_cast<double>
    - cacheAllowedAuthorities_::find
    - sort
    - std::static_pointer_cast<datum::GeodeticReferenceFrame>
    - util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
    - GeodeticReferenceFrame::create
    - self_::lock
    - ellipsoid
    - SQLiteHandle::SQLiteHandle
    - createAngle
    - cacheAliasNames_::insert
    - operation::getProjectionMethodMappings
    - auto::d::setThis
    - createEngineeringDatum
    - std::dynamic_pointer_cast<crs::BoundCRS>
    - ObjectDomain::create
    - OrdinalCS::create
    - dynamic_cast<const operation::ConcatenatedOperation *>
    - auto::checkDatabaseLayout
    - getPrivate
    - createCoordinateOperation
    - CheckIfHasOperations
    - datum::VerticalReferenceFramePtr::identifiers
    - dynamic_cast<const cs::VerticalCS *>
    - util::BaseObjectPtr::conversionToSI
    - anchorEpoch
    - auto::baseCRS
    - end
    - nameStr
    - proj_context_errno
    - util::BaseObjectPtr::nameStr
    - GetListCRSWithSameDatum
    - Transformation::create
    - dynamic_cast<const datum::DynamicGeodeticReferenceFrame *>
    - EngineeringCRS::create
    - datumEnsemble
    - std::next
    - split
    - std::swap
    - sqlite3_result_int
    - identify
    - auto::direction
    - datum::VerticalReferenceFramePtr::_isEquivalentTo
    - ConcatenatedOperation::create
    - auto::front
    - auto::size
    - std::string::clear
    - std::list::push_back
    - TemporalDatum::create
    - auto::compare
    - std::static_pointer_cast<common::UnitOfMeasure>
    - getGridInfoFromCache
    - atoi
    - cache
    - SQLResultSet::emplace_back
    - closeDB
    - remove
    - auto::getSIValue
    - getFromCache
    - DatabaseContext::nn_make_shared<DatabaseContext>
    - ListOfParams::push_back
    - resize
    - auto::type
    - first::nameStr
    - auto::axisList
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: SQLValues
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLValues(const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: SQLValues
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLValues(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: SQLValues
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLValues(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: '&type() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type &type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '&stringValue() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &stringValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: intValue
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int intValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: doubleValue
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double doubleValue() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_value_type
      Src: /src/PROJ/src/iso19111/factory.cpp:173,1
    - Dst: sqlite3_value_double
      Src: /src/PROJ/src/iso19111/factory.cpp:176,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/iso19111/factory.cpp:180,1
    - Dst: sqlite3_value_int64
      Src: /src/PROJ/src/iso19111/factory.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - val
    - gotVal
    argTypes:
    - sqlite3_value*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: PROJ_SQLITE_GetValAsDouble
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    - sqlite3_value_double
    - sqlite3_value_int64
    - sqlite3_value_type
    linkageType: ''
    returnType: double
    signature: double PROJ_SQLITE_GetValAsDouble(sqlite3_value *val, bool &gotVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:194,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:195,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:196,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:197,1
    - Dst: sqlite3_result_null
      Src: /src/PROJ/src/iso19111/factory.cpp:199,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/factory.cpp:208,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:208,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/factory.cpp:209,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:209,1
    - Dst: sqlite3_result_double
      Src: /src/PROJ/src/iso19111/factory.cpp:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pContext
    - argv
    argTypes:
    - sqlite3_context*
    - sqlite3_value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: PROJ_SQLITE_pseudo_area_from_swne
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_result_null
    - PROJ_SQLITE_GetValAsDouble
    - sqlite3_result_double
    - createAngle
    - std::sin
    linkageType: ''
    returnType: void
    signature: "void PROJ_SQLITE_pseudo_area_from_swne(sqlite3_context *pContext,\n
      \                                             int /* argc */,\n                                              sqlite3_value
      **argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:218,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:219,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:220,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:221,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:222,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:223,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:224,1
    - Dst: PROJ_SQLITE_GetValAsDouble
      Src: /src/PROJ/src/iso19111/factory.cpp:225,1
    - Dst: sqlite3_result_null
      Src: /src/PROJ/src/iso19111/factory.cpp:227,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:230,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:232,1
    - Dst: sqlite3_result_int
      Src: /src/PROJ/src/iso19111/factory.cpp:234,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pContext
    - argv
    argTypes:
    - sqlite3_context*
    - sqlite3_value**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: PROJ_SQLITE_intersects_bbox
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_result_null
    - sqlite3_result_int
    - PROJ_SQLITE_GetValAsDouble
    - GeographicBoundingBox::create
    - auto::intersects
    linkageType: ''
    returnType: void
    signature: "void PROJ_SQLITE_intersects_bbox(sqlite3_context *pContext,\n                                        int
      /* argc */, sqlite3_value **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: SQLiteHandle::SQLiteHandle
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SQLiteHandle(const SQLiteHandle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: '&operator=(const SQLiteHandle &)'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SQLiteHandle
    signature: SQLiteHandle &operator=(const SQLiteHandle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sqlite_handle
    - close_handle
    argTypes:
    - sqlite3*
    - bool
    assertStmts:
    - condition: (sqlite_handle_)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: SQLiteHandle::SQLiteHandle
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SQLiteHandle(sqlite3 *sqlite_handle, bool close_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: '&path() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: SQLiteHandle::handle
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sqlite3
    signature: sqlite3 *handle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: SQLiteHandle::isValid
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: SQLiteHandle::invalidate
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void invalidate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: SQLiteHandle::getLayoutVersionMajor
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getLayoutVersionMajor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: SQLiteHandle::getLayoutVersionMinor
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getLayoutVersionMinor() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/PROJ/src/iso19111/factory.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: SQLiteHandle::~SQLiteHandle()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_close
    linkageType: ''
    returnType: void
    signature: void SQLiteHandle::~SQLiteHandle()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_libversion_number
      Src: /src/PROJ/src/iso19111/factory.cpp:320,1
    - Dst: pj_log
      Src: /src/PROJ/src/iso19111/factory.cpp:323,1
    - Dst: sqlite3_libversion
      Src: /src/PROJ/src/iso19111/factory.cpp:325,1
    - Dst: PJ_CONTEXT*::custom_sqlite3_vfs_name::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:334,1
    - Dst: pj_get_embedded_proj_db
      Src: /src/PROJ/src/iso19111/factory.cpp:336,1
    - Dst: SQLite3VFS::createMem
      Src: /src/PROJ/src/iso19111/factory.cpp:338,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:340,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/PROJ/src/iso19111/factory.cpp:345,1
    - Dst: std::unique_ptr::name
      Src: /src/PROJ/src/iso19111/factory.cpp:351,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:352,1
    - Dst: PJ_CONTEXT*::custom_sqlite3_vfs_name::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:357,1
    - Dst: SQLite3VFS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:358,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:360,1
    - Dst: std::unique_ptr::name
      Src: /src/PROJ/src/iso19111/factory.cpp:362,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:370,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:371,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:373,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:373,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/iso19111/factory.cpp:376,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:378,1
    - Dst: std::shared_ptr<SQLiteHandle>
      Src: /src/PROJ/src/iso19111/factory.cpp:381,1
    - Dst: SQLiteHandle::SQLiteHandle
      Src: /src/PROJ/src/iso19111/factory.cpp:381,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:383,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/iso19111/factory.cpp:385,1
    - Dst: auto::checkDatabaseLayout
      Src: /src/PROJ/src/iso19111/factory.cpp:387,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:387,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - pathIn
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 389
    functionName: SQLiteHandle::open
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - sqlite3_libversion
    - std::ostringstream::str
    - std::move
    - FactoryException
    - pj_get_embedded_proj_db
    - std::string
    - std::string::empty
    - std::unique_ptr::name
    - SQLiteHandle::SQLiteHandle
    - pj_log
    - reinterpret_cast<uintptr_t>
    - sqlite3_close
    - SQLite3VFS::create
    - sqlite3_libversion_number
    - SQLite3VFS::createMem
    - auto::initialize
    - auto::checkDatabaseLayout
    - PJ_CONTEXT*::custom_sqlite3_vfs_name::empty
    - sqlite3_open_v2
    - std::shared_ptr<SQLiteHandle>
    linkageType: ''
    returnType: std::shared_ptr<SQLiteHandle>
    signature: "std::shared_ptr<SQLiteHandle> SQLiteHandle::open(PJ_CONTEXT *ctx,\n
      \                                                const std::string &pathIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<SQLiteHandle>
      Src: /src/PROJ/src/iso19111/factory.cpp:397,1
    - Dst: SQLiteHandle::SQLiteHandle
      Src: /src/PROJ/src/iso19111/factory.cpp:398,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/iso19111/factory.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sqlite_handle
    - close_handle
    - nLayoutVersionMajor
    - nLayoutVersionMinor
    argTypes:
    - sqlite3*
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: SQLiteHandle::initFromExisting
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr<SQLiteHandle>
    - SQLiteHandle::SQLiteHandle
    - auto::initialize
    linkageType: ''
    returnType: std::shared_ptr<SQLiteHandle>
    signature: "std::shared_ptr<SQLiteHandle> SQLiteHandle::initFromExisting(sqlite3
      *sqlite_handle, bool close_handle,\n                               int nLayoutVersionMajor,\n
      \                              int nLayoutVersionMinor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<SQLiteHandle>
      Src: /src/PROJ/src/iso19111/factory.cpp:410,1
    - Dst: SQLiteHandle::SQLiteHandle
      Src: /src/PROJ/src/iso19111/factory.cpp:411,1
    - Dst: auto::initialize
      Src: /src/PROJ/src/iso19111/factory.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sqlite_handle
    - close_handle
    argTypes:
    - sqlite3*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: SQLiteHandle::initFromExistingUniquePtr
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<SQLiteHandle>
    - SQLiteHandle::SQLiteHandle
    - auto::initialize
    linkageType: ''
    returnType: std::unique_ptr<SQLiteHandle>
    signature: "std::unique_ptr<SQLiteHandle> SQLiteHandle::initFromExistingUniquePtr(sqlite3
      *sqlite_handle,\n                                        bool close_handle)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/src/iso19111/factory.cpp:423,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/factory.cpp:425,1
    - Dst: sqlite3_bind_text
      Src: /src/PROJ/src/iso19111/factory.cpp:426,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:426,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:427,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:427,1
    - Dst: sqlite3_bind_int
      Src: /src/PROJ/src/iso19111/factory.cpp:430,1
    - Dst: intValue
      Src: /src/PROJ/src/iso19111/factory.cpp:430,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:432,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/iso19111/factory.cpp:433,1
    - Dst: doubleValue
      Src: /src/PROJ/src/iso19111/factory.cpp:433,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/factory.cpp:442,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:443,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/factory.cpp:445,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/factory.cpp:447,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:449,1
    - Dst: intValue
      Src: /src/PROJ/src/iso19111/factory.cpp:449,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:451,1
    - Dst: doubleValue
      Src: /src/PROJ/src/iso19111/factory.cpp:451,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:454,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:454,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:455,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/factory.cpp:457,1
    - Dst: sqlite3_column_count
      Src: /src/PROJ/src/iso19111/factory.cpp:461,1
    - Dst: sqlite3_step
      Src: /src/PROJ/src/iso19111/factory.cpp:463,1
    - Dst: sqlite3_column_type
      Src: /src/PROJ/src/iso19111/factory.cpp:468,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/factory.cpp:471,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/factory.cpp:471,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/factory.cpp:472,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/iso19111/factory.cpp:473,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:474,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/src/iso19111/factory.cpp:476,1
    - Dst: sqlite3_column_text
      Src: /src/PROJ/src/iso19111/factory.cpp:477,1
    - Dst: SQLResultSet::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:483,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:483,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:487,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:487,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:489,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/iso19111/factory.cpp:491,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - stmt
    - sql
    - parameters
    - useMaxFloatPrecision
    argTypes:
    - sqlite3_stmt*
    - std::string
    - ListOfParams
    - bool
    assertStmts:
    - condition: (nPos != std::string::npos)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (paramType == SQLValues::Type::DOUBLE)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 497
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 497
    functionName: SQLiteHandle::run
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - toString
    - sqlite3_errmsg
    - sqlite3_column_type
    - auto::c_str
    - std::setprecision
    - sqlite3_column_text
    - std::ostringstream::str
    - intValue
    - std::locale::classic
    - sqlite3_bind_int
    - std::ostringstream::imbue
    - sqlite3_column_double
    - std::string::substr
    - type
    - doubleValue
    - std::move
    - std::string::find
    - reinterpret_cast<const char *>
    - assert
    - FactoryException
    - std::string
    - std::string::size
    - logTrace
    - auto::size
    - static_cast<int>
    - sqlite3_bind_double
    - sqlite3_column_count
    - sqlite3_step
    - SQLResultSet::emplace_back
    - stringValue
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet SQLiteHandle::run(sqlite3_stmt *stmt, const std::string
      &sql,\n                               const ListOfParams &parameters,\n                               bool
      useMaxFloatPrecision)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:506,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:506,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:507,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:507,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:509,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:509,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/iso19111/factory.cpp:510,1
    - Dst: SQLiteHandle::run
      Src: /src/PROJ/src/iso19111/factory.cpp:514,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/iso19111/factory.cpp:515,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/iso19111/factory.cpp:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - sql
    - parameters
    - useMaxFloatPrecision
    argTypes:
    - std::string
    - ListOfParams
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 522
    functionName: SQLiteHandle::run
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - sqlite3_errmsg
    - static_cast<int>
    - sqlite3_prepare_v2
    - sqlite3_finalize
    - FactoryException
    - std::string
    - std::string::size
    - SQLiteHandle::run
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet SQLiteHandle::run(const std::string &sql,\n                               const
      ListOfParams &parameters,\n                               bool useMaxFloatPrecision)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:529,1
    - Dst: SQLiteHandle::run
      Src: /src/PROJ/src/iso19111/factory.cpp:529,1
    - Dst: SQLiteHandle::run
      Src: /src/PROJ/src/iso19111/factory.cpp:535,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:539,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:539,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:543,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:544,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:553,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:553,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:555,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:555,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:559,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:561,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:562,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:568,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:570,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:571,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:576,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:580,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:582,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:583,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:585,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:586,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - mainDbPath
    - path
    - dbNamePrefix
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 588
    functionName: SQLiteHandle::checkDatabaseLayout
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::size
    - toString
    - FactoryException
    - auto::empty
    - SQLiteHandle::run
    - atoi
    - c_str
    linkageType: ''
    returnType: void
    signature: "void SQLiteHandle::checkDatabaseLayout(const std::string &mainDbPath,\n
      \                                      const std::string &path,\n                                       const
      std::string &dbNamePrefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_libversion_number
      Src: /src/PROJ/src/iso19111/factory.cpp:602,1
    - Dst: sqlite3_test_control
      Src: /src/PROJ/src/iso19111/factory.cpp:604,1
    - Dst: sqlite3_create_function
      Src: /src/PROJ/src/iso19111/factory.cpp:608,1
    - Dst: sqlite3_create_function
      Src: /src/PROJ/src/iso19111/factory.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 616
    functionName: SQLiteHandle::initialize
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_libversion_number
    - sqlite3_create_function
    - sqlite3_test_control
    linkageType: ''
    returnType: void
    signature: void SQLiteHandle::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: '&SQLiteHandleCache::get()'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SQLiteHandleCache
    signature: SQLiteHandleCache &SQLiteHandleCache::get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SQLiteHandleCache::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: SQLiteHandleCache::clear
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - SQLiteHandleCache::clear
    linkageType: ''
    returnType: void
    signature: void SQLiteHandleCache::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_atfork
      Src: /src/PROJ/src/iso19111/factory.cpp:667,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:674,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:674,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:676,1
    - Dst: unlock
      Src: /src/PROJ/src/iso19111/factory.cpp:676,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:678,1
    - Dst: unlock
      Src: /src/PROJ/src/iso19111/factory.cpp:678,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:679,1
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:686,1
    - Dst: SQLiteHandle::open
      Src: /src/PROJ/src/iso19111/factory.cpp:687,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - path
    - ctx
    argTypes:
    - std::string
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 691
    functionName: SQLiteHandleCache::getHandle
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - insert
    - unlock
    - pthread_atfork
    - tryGet
    - SQLiteHandle::open
    - FloatLineCache::get
    linkageType: ''
    returnType: std::shared_ptr<SQLiteHandle>
    signature: std::shared_ptr<SQLiteHandle> SQLiteHandleCache::getHandle(const std::string
      &path, PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value::invalidate
      Src: /src/PROJ/src/iso19111/factory.cpp:700,1
    - Dst: cwalk
      Src: /src/PROJ/src/iso19111/factory.cpp:701,1
    - Dst: SQLiteHandleCache::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: SQLiteHandleCache::invalidateHandles
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - value::invalidate
    - cwalk
    - SQLiteHandleCache::clear
    linkageType: ''
    returnType: void
    signature: void SQLiteHandleCache::invalidateHandles()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: pjCtxt
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PJ_CONTEXT
    signature: PJ_CONTEXT *pjCtxt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: setPjCtxt
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPjCtxt(PJ_CONTEXT *ctxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 727
    functionName: '&getPath() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getPath() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:738,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:741,1
    - Dst: getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - DatabaseContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 744
    functionName: RecursionDetector
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - FactoryException
    - getPrivate
    linkageType: ''
    returnType: void
    signature: void RecursionDetector(const DatabaseContextNNPtr &context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 746
    functionName: ~RecursionDetector()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getPrivate
    linkageType: ''
    returnType: void
    signature: void ~RecursionDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: '&getMapCanonicalizeGRFName()'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, std::list<SQLRow>>
    signature: std::map<std::string, std::list<SQLRow>> &getMapCanonicalizeGRFName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 981
    functionName: '&operator=(const Private &)'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Private
    signature: Private &operator=(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: DatabaseContext::Private::Private()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::Private::Private()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:991,1
    - Dst: closeDB
      Src: /src/PROJ/src/iso19111/factory.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (recLevel_ == 0)
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 994
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 994
    functionName: DatabaseContext::Private::~Private()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - closeDB
    - assert
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::Private::~Private()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1013,1
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/iso19111/factory.cpp:1020,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1022,1
    - Dst: reset
      Src: /src/PROJ/src/iso19111/factory.cpp:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1025
    functionName: DatabaseContext::Private::closeDB() noexcept
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - reset
    - clear
    - sqlite3_finalize
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::Private::closeDB() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1031,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1032,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1033,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1034,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1035,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1036,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1037,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1038,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1039,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1040,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1041,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1042,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/factory.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1044
    functionName: DatabaseContext::Private::clearCaches()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::Private::clearCaches()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PROJ/src/iso19111/factory.cpp:1050,1
    - Dst: closeDB
      Src: /src/PROJ/src/iso19111/factory.cpp:1051,1
    - Dst: open
      Src: /src/PROJ/src/iso19111/factory.cpp:1052,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1053,1
    - Dst: attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:1054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1059
    functionName: '&DatabaseContext::Private::handle()'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - closeDB
    - isValid
    - attachExtraDatabases
    - open
    - empty
    linkageType: ''
    returnType: std::shared_ptr<SQLiteHandle>
    signature: std::shared_ptr<SQLiteHandle> &DatabaseContext::Private::handle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LRUCacheOfObjects::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cache
    - code
    - obj
    argTypes:
    - LRUCacheOfObjects
    - std::string
    - util::BaseObjectPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    functionName: "DatabaseContext::Private::insertIntoCache(LRUCacheOfObjects &cache,\n
      \                                              const std::string &code,\n                                               const
      util::BaseObjectPtr &obj)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - LRUCacheOfObjects::insert
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::insertIntoCache(LRUCacheOfObjects &cache,\n
      \                                              const std::string &code,\n                                               const
      util::BaseObjectPtr &obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LRUCacheOfObjects::tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cache
    - code
    - obj
    argTypes:
    - LRUCacheOfObjects
    - std::string
    - util::BaseObjectPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: "DatabaseContext::Private::getFromCache(LRUCacheOfObjects &cache,\n
      \                                           const std::string &code,\n                                            util::BaseObjectPtr
      &obj)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - LRUCacheOfObjects::tryGet
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::getFromCache(LRUCacheOfObjects &cache,\n
      \                                           const std::string &code,\n                                            util::BaseObjectPtr
      &obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - list
    argTypes:
    - std::string
    - std::vector<operation::CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1083
    functionName: "DatabaseContext::Private::getCRSToCRSCoordOpFromCache(\n    const
      std::string &code,\n    std::vector<operation::CoordinateOperationNNPtr> &list)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - tryGet
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::Private::getCRSToCRSCoordOpFromCache(\n    const
      std::string &code,\n    std::vector<operation::CoordinateOperationNNPtr> &list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - list
    argTypes:
    - std::string
    - std::vector<operation::CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: "DatabaseContext::Private::cache(\n    const std::string &code,\n
      \   const std::vector<operation::CoordinateOperationNNPtr> &list)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(\n    const std::string &code,\n
      \   const std::vector<operation::CoordinateOperationNNPtr> &list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1097,1
    - Dst: std::static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: DatabaseContext::Private::getCRSFromCache(const std::string &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getFromCache
    - std::static_pointer_cast<crs::CRS>
    linkageType: ''
    returnType: crs::CRSPtr
    signature: crs::CRSPtr DatabaseContext::Private::getCRSFromCache(const std::string
      &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1105,1
    - Dst: crs::CRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - crs
    argTypes:
    - std::string
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1106
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      crs::CRSNNPtr &crs)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - crs::CRSNNPtr::as_nullable
    - insertIntoCache
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      crs::CRSNNPtr &crs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1113,1
    - Dst: std::static_pointer_cast<common::UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/factory.cpp:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1115
    functionName: DatabaseContext::Private::getUOMFromCache(const std::string &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getFromCache
    - std::static_pointer_cast<common::UnitOfMeasure>
    linkageType: ''
    returnType: common::UnitOfMeasurePtr
    signature: common::UnitOfMeasurePtr DatabaseContext::Private::getUOMFromCache(const
      std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1121,1
    - Dst: common::UnitOfMeasureNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - uom
    argTypes:
    - std::string
    - common::UnitOfMeasureNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1122
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      common::UnitOfMeasureNNPtr &uom)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - common::UnitOfMeasureNNPtr::as_nullable
    - insertIntoCache
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      common::UnitOfMeasureNNPtr &uom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1129,1
    - Dst: std::static_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1131
    functionName: DatabaseContext::Private::getGeodeticDatumFromCache(const std::string
      &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getFromCache
    - std::static_pointer_cast<datum::GeodeticReferenceFrame>
    linkageType: ''
    returnType: datum::GeodeticReferenceFramePtr
    signature: datum::GeodeticReferenceFramePtr DatabaseContext::Private::getGeodeticDatumFromCache(const
      std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1137,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - datum
    argTypes:
    - std::string
    - datum::GeodeticReferenceFrameNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: "DatabaseContext::Private::cache(\n    const std::string &code,
      const datum::GeodeticReferenceFrameNNPtr &datum)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insertIntoCache
    - datum::GeodeticReferenceFrameNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(\n    const std::string &code,
      const datum::GeodeticReferenceFrameNNPtr &datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1145,1
    - Dst: std::static_pointer_cast<datum::DatumEnsemble>
      Src: /src/PROJ/src/iso19111/factory.cpp:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1147
    functionName: DatabaseContext::Private::getDatumEnsembleFromCache(const std::string
      &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::static_pointer_cast<datum::DatumEnsemble>
    - getFromCache
    linkageType: ''
    returnType: datum::DatumEnsemblePtr
    signature: datum::DatumEnsemblePtr DatabaseContext::Private::getDatumEnsembleFromCache(const
      std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1153,1
    - Dst: datum::DatumEnsembleNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - datumEnsemble
    argTypes:
    - std::string
    - datum::DatumEnsembleNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionName: "DatabaseContext::Private::cache(\n    const std::string &code,
      const datum::DatumEnsembleNNPtr &datumEnsemble)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insertIntoCache
    - datum::DatumEnsembleNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(\n    const std::string &code,
      const datum::DatumEnsembleNNPtr &datumEnsemble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1161,1
    - Dst: std::static_pointer_cast<datum::Ellipsoid>
      Src: /src/PROJ/src/iso19111/factory.cpp:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1163
    functionName: DatabaseContext::Private::getEllipsoidFromCache(const std::string
      &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getFromCache
    - std::static_pointer_cast<datum::Ellipsoid>
    linkageType: ''
    returnType: datum::EllipsoidPtr
    signature: datum::EllipsoidPtr DatabaseContext::Private::getEllipsoidFromCache(const
      std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1169,1
    - Dst: datum::EllipsoidNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - ellps
    argTypes:
    - std::string
    - datum::EllipsoidNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1170
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      datum::EllipsoidNNPtr &ellps)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insertIntoCache
    - datum::EllipsoidNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      datum::EllipsoidNNPtr &ellps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1177,1
    - Dst: std::static_pointer_cast<datum::PrimeMeridian>
      Src: /src/PROJ/src/iso19111/factory.cpp:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1179
    functionName: DatabaseContext::Private::getPrimeMeridianFromCache(const std::string
      &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::static_pointer_cast<datum::PrimeMeridian>
    - getFromCache
    linkageType: ''
    returnType: datum::PrimeMeridianPtr
    signature: datum::PrimeMeridianPtr DatabaseContext::Private::getPrimeMeridianFromCache(const
      std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1185,1
    - Dst: datum::PrimeMeridianNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - pm
    argTypes:
    - std::string
    - datum::PrimeMeridianNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      datum::PrimeMeridianNNPtr &pm)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - datum::PrimeMeridianNNPtr::as_nullable
    - insertIntoCache
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      datum::PrimeMeridianNNPtr &pm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1193,1
    - Dst: std::static_pointer_cast<cs::CoordinateSystem>
      Src: /src/PROJ/src/iso19111/factory.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1195
    functionName: "DatabaseContext::Private::getCoordinateSystemFromCache(\n    const
      std::string &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getFromCache
    - std::static_pointer_cast<cs::CoordinateSystem>
    linkageType: ''
    returnType: cs::CoordinateSystemPtr
    signature: "cs::CoordinateSystemPtr DatabaseContext::Private::getCoordinateSystemFromCache(\n
      \   const std::string &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1201,1
    - Dst: cs::CoordinateSystemNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - cs
    argTypes:
    - std::string
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      cs::CoordinateSystemNNPtr &cs)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insertIntoCache
    - cs::CoordinateSystemNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      cs::CoordinateSystemNNPtr &cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1209,1
    - Dst: std::static_pointer_cast<metadata::Extent>
      Src: /src/PROJ/src/iso19111/factory.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    functionName: DatabaseContext::Private::getExtentFromCache(const std::string &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getFromCache
    - std::static_pointer_cast<metadata::Extent>
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: metadata::ExtentPtr DatabaseContext::Private::getExtentFromCache(const
      std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertIntoCache
      Src: /src/PROJ/src/iso19111/factory.cpp:1217,1
    - Dst: metadata::ExtentNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - extent
    argTypes:
    - std::string
    - metadata::ExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      metadata::ExtentNNPtr &extent)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insertIntoCache
    - metadata::ExtentNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      metadata::ExtentNNPtr &extent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - info
    argTypes:
    - std::string
    - GridInfoCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    functionName: "DatabaseContext::Private::getGridInfoFromCache(const std::string
      &code,\n                                                    GridInfoCache &info)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - tryGet
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::Private::getGridInfoFromCache(const std::string
      &code,\n                                                    GridInfoCache &info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/PROJ/src/iso19111/factory.cpp:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: DatabaseContext::Private::evictGridInfoFromCache(const std::string
      &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - remove
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::Private::evictGridInfoFromCache(const std::string
      &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - info
    argTypes:
    - std::string
    - GridInfoCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1238
    functionName: "DatabaseContext::Private::cache(const std::string &code,\n                                     const
      GridInfoCache &info)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::cache(const std::string &code,\n                                     const
      GridInfoCache &info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:1245,1
    - Dst: setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:1248,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1250,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:1252,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/iso19111/factory.cpp:1254,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:1254,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1254,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:1256,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:1256,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1256,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1263,1
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1268,1
    - Dst: path
      Src: /src/PROJ/src/iso19111/factory.cpp:1270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - databasePath
    - ctx
    argTypes:
    - std::string
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1242
    functionDepth: 3
    functionLinenumber: 1242
    functionLinenumberEnd: 1271
    functionName: "DatabaseContext::Private::open(const std::string &databasePath,\n
      \                                   PJ_CONTEXT *ctx)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - pj_get_default_ctx
    - setPjCtxt
    - pjCtxt
    - std::string::c_str
    - std::string::resize
    - FactoryException
    - pj_find_file
    - strlen
    - FloatLineCache::get
    - path
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::open(const std::string &databasePath,\n
      \                                   PJ_CONTEXT *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1277,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1278,1
    - Dst: SQLiteHandle::initFromExisting
      Src: /src/PROJ/src/iso19111/factory.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sqlite_handle
    argTypes:
    - sqlite3*
    assertStmts:
    - condition: (sqlite_handle)
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (!sqlite_handle_)
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    functionName: DatabaseContext::Private::setHandle(sqlite3 *sqlite_handle)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - SQLiteHandle::initFromExisting
    - assert
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::Private::setHandle(sqlite3 *sqlite_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1285,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1286,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1295,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1297,1
    - Dst: getLayoutVersionMajor
      Src: /src/PROJ/src/iso19111/factory.cpp:1300,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1301,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1303,1
    - Dst: getLayoutVersionMajor
      Src: /src/PROJ/src/iso19111/factory.cpp:1303,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1304,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1306,1
    - Dst: getLayoutVersionMinor
      Src: /src/PROJ/src/iso19111/factory.cpp:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1309
    functionName: DatabaseContext::Private::getDatabaseStructure()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - toString
    - getLayoutVersionMinor
    - getLayoutVersionMajor
    - empty
    - run
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> DatabaseContext::Private::getDatabaseStructure()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1316,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1317,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1319,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1336,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:1337,1
    - Dst: TableStructure::columns::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1340,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1342,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:1342,1
    - Dst: auto::getLayoutVersionMajor
      Src: /src/PROJ/src/iso19111/factory.cpp:1345,1
    - Dst: auto::getLayoutVersionMinor
      Src: /src/PROJ/src/iso19111/factory.cpp:1346,1
    - Dst: closeDB
      Src: /src/PROJ/src/iso19111/factory.cpp:1348,1
    - Dst: std::vector<std::string>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1349,1
    - Dst: open
      Src: /src/PROJ/src/iso19111/factory.cpp:1350,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:1350,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:1355,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1359,1
    - Dst: SQLiteHandle::initFromExisting
      Src: /src/PROJ/src/iso19111/factory.cpp:1361,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1365,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1369,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1369,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1373,1
    - Dst: auto::checkDatabaseLayout
      Src: /src/PROJ/src/iso19111/factory.cpp:1375,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1384,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1395,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1395,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1402,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1414,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1416,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:1416,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 1
    argNames:
    - auxiliaryDatabasePaths
    argTypes:
    - std::vector<std::string>
    assertStmts:
    - condition: (l_handle)
      pos:
        line_end: 1316
        line_start: 1316
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 1420
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1420
    functionName: "DatabaseContext::Private::attachExtraDatabases(\n    const std::vector<std::string>
      &auxiliaryDatabasePaths)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - pjCtxt
    - toString
    - run
    - std::vector<std::string>::size
    - handle
    - auto::getLayoutVersionMajor
    - std::move
    - SQLiteHandle::initFromExisting
    - assert
    - std::vector<std::string>::empty
    - FactoryException
    - replaceAll
    - static_cast<int>
    - TableStructure::columns::push_back
    - std::vector::push_back
    - open
    - auto::getLayoutVersionMinor
    - closeDB
    - auto::checkDatabaseLayout
    - sqlite3_open_v2
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::attachExtraDatabases(\n    const std::vector<std::string>
      &auxiliaryDatabasePaths)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1428,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:1429,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/factory.cpp:1432,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/factory.cpp:1433,1
    - Dst: sqlite3_reset
      Src: /src/PROJ/src/iso19111/factory.cpp:1435,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:1437,1
    - Dst: auto::handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1437,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1437,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1438,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1438,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1440,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:1441,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/iso19111/factory.cpp:1442,1
    - Dst: auto::handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1442,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/factory.cpp:1446,1
    - Dst: std::pair<std::string, sqlite3_stmt *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1447,1
    - Dst: auto::run
      Src: /src/PROJ/src/iso19111/factory.cpp:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sql
    - parameters
    - useMaxFloatPrecision
    argTypes:
    - std::string
    - ListOfParams
    - bool
    assertStmts:
    - condition: (l_handle)
      pos:
        line_end: 1428
        line_start: 1428
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 1453
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1453
    functionName: "DatabaseContext::Private::run(const std::string &sql,\n                                           const
      ListOfParams &parameters,\n                                           bool useMaxFloatPrecision)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - insert
    - std::string::size
    - auto::handle
    - sqlite3_errmsg
    - static_cast<int>
    - sqlite3_prepare_v2
    - end
    - std::pair<std::string, sqlite3_stmt *>
    - assert
    - FactoryException
    - sqlite3_reset
    - auto::run
    - std::string
    - find
    - handle
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet DatabaseContext::Private::run(const std::string &sql,\n
      \                                          const ListOfParams &parameters,\n
      \                                          bool useMaxFloatPrecision)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/src/iso19111/factory.cpp:1460,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1466,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1473,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1486,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1489,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1490,1
    - Dst: va_arg
      Src: /src/PROJ/src/iso19111/factory.cpp:1492,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1493,1
    - Dst: va_end
      Src: /src/PROJ/src/iso19111/factory.cpp:1495,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1496,1
    - Dst: va_end
      Src: /src/PROJ/src/iso19111/factory.cpp:1504,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1506
    functionName: formatStatement
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - va_end
    - toString
    - va_start
    - FactoryException
    - va_arg
    linkageType: ''
    returnType: std::string
    signature: std::string formatStatement(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1512,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/iso19111/factory.cpp:1514,1
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:1514,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1514,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:1521,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1522,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:1524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sqlStatements
    - sql
    argTypes:
    - std::vector<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1525
    functionName: "DatabaseContext::Private::appendSql(\n    std::vector<std::string>
      &sqlStatements, const std::string &sql)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - sqlite3_free
    - FactoryException
    - sqlite3_exec
    - std::vector<std::string>::emplace_back
    - handle
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::appendSql(\n    std::vector<std::string>
      &sqlStatements, const std::string &sql)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1540,1
    - Dst: common::IdentifiedObjectNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:1542,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:1544,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/factory.cpp:1545,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:1545,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:1546,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:1547,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1549,1
    - Dst: instantiateFunc
      Src: /src/PROJ/src/iso19111/factory.cpp:1550,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:1550,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1552,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:1555,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1565,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/factory.cpp:1567,1
    - Dst: common::IdentifiedObjectNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1567,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:1569,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1570,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:1571,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1572,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:1573,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:1574,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:1575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 8
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - instantiateFunc
    - objType
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - common::IdentifiedObjectNNPtr
    - "std::function<std::shared_ptr<util::IComparable>(\n        const AuthorityFactoryNNPtr
      &authFactory, const std::string &)>"
    - AuthorityFactory::ObjectType
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1580
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - common::IdentifiedObjectNNPtr::nameStr
    - auto::begin
    - instantiateFunc
    - code
    - identifiers
    - isEquivalentTo
    - auto::front
    - auto::createObjectsFromName
    - auto::codeSpace
    - common::IdentifiedObjectNNPtr::identifiers
    - codeSpace
    - auto::end
    - auto::code
    - common::IdentifiedObjectNNPtr::get
    - auto::empty
    - find
    - auto::emplace_back
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(\n    const DatabaseContextNNPtr &dbContext,\n
      \   const std::vector<std::string> &allowedAuthorities,\n    const std::string
      &authNameParent, const common::IdentifiedObjectNNPtr &obj,\n    std::function<std::shared_ptr<util::IComparable>(\n
      \       const AuthorityFactoryNNPtr &authFactory, const std::string &)>\n        instantiateFunc,\n
      \   AuthorityFactory::ObjectType objType, std::string &authName,\n    std::string
      &code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: datum::DatumEnsembleNNPtr::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:1591,1
    - Dst: dynamic_cast<const datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1592,1
    - Dst: datum::DatumEnsembleNNPtr::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:1593,1
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1599,1
    - Dst: createDatumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:1600,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - datum::DatumEnsembleNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1605
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 2
    functionsReached:
    - util::nn_static_pointer_cast<util::IComparable>
    - dynamic_cast<const datum::VerticalReferenceFrame *>
    - createDatumEnsemble
    - datum::DatumEnsembleNNPtr::datums
    - identifyFromNameOrCode
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(const DatabaseContextNNPtr &dbContext,\n
      \                      const std::vector<std::string> &allowedAuthorities,\n
      \                      const std::string &authNameParent,\n                       const
      datum::DatumEnsembleNNPtr &obj,\n                       std::string &authName,
      std::string &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1617,1
    - Dst: createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:1618,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - datum::GeodeticReferenceFrameNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1623
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 3
    functionsReached:
    - createGeodeticDatum
    - identifyFromNameOrCode
    - util::nn_static_pointer_cast<util::IComparable>
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(const DatabaseContextNNPtr &dbContext,\n
      \                      const std::vector<std::string> &allowedAuthorities,\n
      \                      const std::string &authNameParent,\n                       const
      datum::GeodeticReferenceFrameNNPtr &obj,\n                       std::string
      &authName, std::string &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1635,1
    - Dst: createEllipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:1636,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - datum::EllipsoidNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1641
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 4
    functionsReached:
    - identifyFromNameOrCode
    - createEllipsoid
    - util::nn_static_pointer_cast<util::IComparable>
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(const DatabaseContextNNPtr &dbContext,\n
      \                      const std::vector<std::string> &allowedAuthorities,\n
      \                      const std::string &authNameParent,\n                       const
      datum::EllipsoidNNPtr &obj, std::string &authName,\n                       std::string
      &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1653,1
    - Dst: createPrimeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:1654,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - datum::PrimeMeridianNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1659
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 5
    functionsReached:
    - createPrimeMeridian
    - identifyFromNameOrCode
    - util::nn_static_pointer_cast<util::IComparable>
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(const DatabaseContextNNPtr &dbContext,\n
      \                      const std::vector<std::string> &allowedAuthorities,\n
      \                      const std::string &authNameParent,\n                       const
      datum::PrimeMeridianNNPtr &obj,\n                       std::string &authName,
      std::string &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<util::IComparable>
      Src: /src/PROJ/src/iso19111/factory.cpp:1671,1
    - Dst: createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:1672,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - datum::VerticalReferenceFrameNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1677
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 6
    functionsReached:
    - createVerticalDatum
    - identifyFromNameOrCode
    - util::nn_static_pointer_cast<util::IComparable>
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(const DatabaseContextNNPtr &dbContext,\n
      \                      const std::vector<std::string> &allowedAuthorities,\n
      \                      const std::string &authNameParent,\n                       const
      datum::VerticalReferenceFrameNNPtr &obj,\n                       std::string
      &authName, std::string &code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:1688,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1689,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:1690,1
    - Dst: util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:1692,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1694,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:1695,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - dbContext
    - allowedAuthorities
    - authNameParent
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - std::vector<std::string>
    - std::string
    - datum::DatumNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1699
    functionName: identifyFromNameOrCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 7
    functionsReached:
    - util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
    - util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
    - FactoryException
    - NN_NO_CHECK
    - identifyFromNameOrCode
    linkageType: ''
    returnType: void
    signature: "void identifyFromNameOrCode(const DatabaseContextNNPtr &dbContext,\n
      \                      const std::vector<std::string> &allowedAuthorities,\n
      \                      const std::string &authNameParent,\n                       const
      datum::DatumNNPtr &obj, std::string &authName,\n                       std::string
      &code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const cs::EllipsoidalCS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1704,1
    - Dst: cs::CoordinateSystemNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1704,1
    - Dst: dynamic_cast<const cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1706,1
    - Dst: cs::CoordinateSystemNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1706,1
    - Dst: dynamic_cast<const cs::VerticalCS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:1708,1
    - Dst: cs::CoordinateSystemNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1712
    functionName: getCSDatabaseType
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const cs::VerticalCS *>
    - cs::CoordinateSystemNNPtr::get
    - dynamic_cast<const cs::EllipsoidalCS *>
    - dynamic_cast<const cs::CartesianCS *>
    linkageType: ''
    returnType: char
    signature: char *getCSDatabaseType(const cs::CoordinateSystemNNPtr &obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1721,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1728,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1729,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tableName
    - authName
    - codePrototype
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1740
    functionName: "DatabaseContext::Private::findFreeCode(const std::string &tableName,\n
      \                                      const std::string &authName,\n                                       const
      std::string &codePrototype)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - FactoryException
    - toString
    linkageType: ''
    returnType: std::string
    signature: "std::string DatabaseContext::Private::findFreeCode(const std::string
      &tableName,\n                                       const std::string &authName,\n
      \                                      const std::string &codePrototype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: common::UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/factory.cpp:1745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1762
    functionName: getUnitDatabaseType
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - common::UnitOfMeasure::type
    linkageType: ''
    returnType: char
    signature: char *getUnitDatabaseType(const common::UnitOfMeasure &unit)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: common::UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:1771,1
    - Dst: common::UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/factory.cpp:1772,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/factory.cpp:1783,1
    - Dst: getUnitDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1806,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1809,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:1809,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1812,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1817,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:1819,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - dbContext
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - common::UnitOfMeasure
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1826
    functionName: "DatabaseContext::Private::identify(const DatabaseContextNNPtr &dbContext,\n
      \                                       const common::UnitOfMeasure &obj,\n
      \                                       std::string &authName,\n                                        std::string
      &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::createUnitOfMeasure
    - abs
    - ListOfParams::emplace_back
    - run
    - AuthorityFactory::create
    - std::string
    - common::UnitOfMeasure::type
    - common::UnitOfMeasure::conversionToSI
    - getUnitDatabaseType
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::identify(const DatabaseContextNNPtr
      &dbContext,\n                                        const common::UnitOfMeasure
      &obj,\n                                        std::string &authName,\n                                        std::string
      &code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: common::UnitOfMeasure::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:1834,1
    - Dst: common::UnitOfMeasure::code
      Src: /src/PROJ/src/iso19111/factory.cpp:1835,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1836,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:1837,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1839,1
    - Dst: getUnitDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1842,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1844,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:1849,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/factory.cpp:1849,1
    - Dst: common::UnitOfMeasure::name
      Src: /src/PROJ/src/iso19111/factory.cpp:1849,1
    - Dst: findFreeCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1850,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:1852,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1854,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1854,1
    - Dst: common::UnitOfMeasure::name
      Src: /src/PROJ/src/iso19111/factory.cpp:1854,1
    - Dst: common::UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:1855,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:1856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - dbContext
    - unit
    - ownerAuthName
    - authName
    - code
    - sqlStatements
    argTypes:
    - DatabaseContextNNPtr
    - common::UnitOfMeasure
    - std::string
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1857
    functionName: "DatabaseContext::Private::identifyOrInsert(\n    const DatabaseContextNNPtr
      &dbContext, const common::UnitOfMeasure &unit,\n    const std::string &ownerAuthName,
      std::string &authName, std::string &code,\n    std::vector<std::string> &sqlStatements)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::c_str
    - replaceAll
    - common::UnitOfMeasure::code
    - identify
    - findFreeCode
    - toupper
    - common::UnitOfMeasure::codeSpace
    - FactoryException
    - common::UnitOfMeasure::name
    - formatStatement
    - appendSql
    - common::UnitOfMeasure::conversionToSI
    - getUnitDatabaseType
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::identifyOrInsert(\n    const DatabaseContextNNPtr
      &dbContext, const common::UnitOfMeasure &unit,\n    const std::string &ownerAuthName,
      std::string &authName, std::string &code,\n    std::vector<std::string> &sqlStatements)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cs::CoordinateSystemNNPtr::axisList
      Src: /src/PROJ/src/iso19111/factory.cpp:1866,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1867,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:1868,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/factory.cpp:1869,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1870,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1871,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1880,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1880,1
    - Dst: getCSDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1881,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1884,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:1884,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:1887,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:1892,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:1894,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:1895,1
    - Dst: cs::CoordinateSystemNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:1895,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - dbContext
    - obj
    - authName
    - code
    argTypes:
    - DatabaseContextNNPtr
    - cs::CoordinateSystemNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1861
    functionDepth: 2
    functionLinenumber: 1861
    functionLinenumberEnd: 1916
    functionName: "DatabaseContext::Private::identify(const DatabaseContextNNPtr &dbContext,\n
      \                                       const cs::CoordinateSystemNNPtr &obj,\n
      \                                       std::string &authName,\n                                        std::string
      &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - cs::CoordinateSystemNNPtr::axisList
    - unit
    - auto::size
    - auto::_isEquivalentTo
    - getCSDatabaseType
    - static_cast<int>
    - ListOfParams::emplace_back
    - cs::CoordinateSystemNNPtr::get
    - nameStr
    - auto::createCoordinateSystem
    - AuthorityFactory::create
    - std::string
    - direction
    - run
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::identify(const DatabaseContextNNPtr
      &dbContext,\n                                        const cs::CoordinateSystemNNPtr
      &obj,\n                                        std::string &authName,\n                                        std::string
      &code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:1926,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:1927,1
    - Dst: getCSDatabaseType
      Src: /src/PROJ/src/iso19111/factory.cpp:1931,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:1933,1
    - Dst: findFreeCode
      Src: /src/PROJ/src/iso19111/factory.cpp:1939,1
    - Dst: cs::CoordinateSystemNNPtr::axisList
      Src: /src/PROJ/src/iso19111/factory.cpp:1941,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:1943,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1945,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1945,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1946,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1946,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:1947,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:1951,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:1951,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:1955,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:1955,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:1957,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1960,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:1960,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1960,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:1961,1
    - Dst: auto::abbreviation
      Src: /src/PROJ/src/iso19111/factory.cpp:1961,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/factory.cpp:1962,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1962,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1963,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1963,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:1963,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:1964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - dbContext
    - obj
    - ownerType
    - ownerAuthName
    - ownerCode
    - authName
    - code
    - sqlStatements
    argTypes:
    - DatabaseContextNNPtr
    - cs::CoordinateSystemNNPtr
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1966
    functionName: "DatabaseContext::Private::identifyOrInsert(\n    const DatabaseContextNNPtr
      &dbContext, const cs::CoordinateSystemNNPtr &obj,\n    const std::string &ownerType,
      const std::string &ownerAuthName,\n    const std::string &ownerCode, std::string
      &authName, std::string &code,\n    std::vector<std::string> &sqlStatements)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - cs::CoordinateSystemNNPtr::axisList
    - std::string::c_str
    - auto::nameStr
    - identify
    - auto::size
    - findFreeCode
    - getCSDatabaseType
    - static_cast<int>
    - identifyOrInsert
    - toString
    - auto::abbreviation
    - auto::unit
    - FactoryException
    - auto::direction
    - formatStatement
    - appendSql
    - c_str
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::identifyOrInsert(\n    const DatabaseContextNNPtr
      &dbContext, const cs::CoordinateSystemNNPtr &obj,\n    const std::string &ownerType,
      const std::string &ownerAuthName,\n    const std::string &ownerCode, std::string
      &authName, std::string &code,\n    std::vector<std::string> &sqlStatements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1975,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:1978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - allowedAuthorities
    - authName
    - sql
    - params
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    - ListOfParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1981
    functionName: addAllowedAuthoritiesCond
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - ListOfParams::emplace_back
    linkageType: ''
    returnType: void
    signature: "void addAllowedAuthoritiesCond(const std::vector<std::string> &allowedAuthorities,\n
      \                         const std::string &authName, std::string &sql,\n                          ListOfParams
      &params)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:1993,1
    - Dst: common::ObjectUsageNNPtr::domains
      Src: /src/PROJ/src/iso19111/factory.cpp:1999,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2000,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2002,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2004,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2004,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2005,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2005,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2005,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2006,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/factory.cpp:2014,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2015,1
    - Dst: addAllowedAuthoritiesCond
      Src: /src/PROJ/src/iso19111/factory.cpp:2022,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:2025,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2026,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2027,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2036,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2038,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2038,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2038,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2039,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/factory.cpp:2048,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:2050,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2051,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2053,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2054,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2064,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2064,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2065,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2065,1
    - Dst: addAllowedAuthoritiesCond
      Src: /src/PROJ/src/iso19111/factory.cpp:2066,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:2069,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2070,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2071,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/factory.cpp:2080,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2081,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2084,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2087,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2087,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2088,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2088,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2089,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2090,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2091,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2092,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2093,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2099,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2101,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2103,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2106,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2106,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2106,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2107,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2107,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2107,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2108,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2108,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2108,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 6
    argNames:
    - obj
    - tableName
    - authName
    - code
    - allowedAuthorities
    - sqlStatements
    argTypes:
    - common::ObjectUsageNNPtr
    - std::string
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 1985
    functionDepth: 2
    functionLinenumber: 1985
    functionLinenumberEnd: 2113
    functionName: "DatabaseContext::Private::identifyOrInsertUsages(\n    const common::ObjectUsageNNPtr
      &obj, const std::string &tableName,\n    const std::string &authName, const
      std::string &code,\n    const std::vector<std::string> &allowedAuthorities,\n
      \   std::vector<std::string> &sqlStatements)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::westBoundLongitude
    - toString
    - auto::c_str
    - auto::eastBoundLongitude
    - run
    - auto::has_value
    - auto::southBoundLatitude
    - auto::description
    - scope
    - formatStatement
    - addAllowedAuthoritiesCond
    - appendSql
    - std::string::empty
    - auto::front
    - auto::geographicElements
    - auto::size
    - auto::northBoundLatitude
    - starts_with
    - common::ObjectUsageNNPtr::domains
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - auto::empty
    - domainOfValidity
    linkageType: ''
    returnType: void
    signature: "void DatabaseContext::Private::identifyOrInsertUsages(\n    const
      common::ObjectUsageNNPtr &obj, const std::string &tableName,\n    const std::string
      &authName, const std::string &code,\n    const std::vector<std::string> &allowedAuthorities,\n
      \   std::vector<std::string> &sqlStatements)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2122,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2122,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2127,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2138,1
    - Dst: datum::PrimeMeridianNNPtr::longitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2138,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2141,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2144,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2144,1
    - Dst: datum::PrimeMeridianNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2144,1
    - Dst: datum::PrimeMeridianNNPtr::longitude
      Src: /src/PROJ/src/iso19111/factory.cpp:2145,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2145,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2145,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pm
    - authName
    - code
    - allowedAuthorities
    argTypes:
    - datum::PrimeMeridianNNPtr
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2117
    functionDepth: 2
    functionLinenumber: 2117
    functionLinenumberEnd: 2149
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::PrimeMeridianNNPtr
      &pm, const std::string &authName,\n    const std::string &code, bool /*numericCode*/,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - identifyOrInsert
    - datum::PrimeMeridianNNPtr::longitude
    - NN_NO_CHECK
    - datum::PrimeMeridianNNPtr::nameStr
    - formatStatement
    - appendSql
    - identifyFromNameOrCode
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const datum::PrimeMeridianNNPtr &pm, const std::string &authName,\n    const
      std::string &code, bool /*numericCode*/,\n    const std::vector<std::string>
      &allowedAuthorities)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2158,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2158,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2163,1
    - Dst: datum::EllipsoidNNPtr::semiMajorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:2172,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/factory.cpp:2173,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:2177,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2181,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2182,1
    - Dst: datum::EllipsoidNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2188,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2189,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2191,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2191,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2191,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2193,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2199,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:2199,1
    - Dst: datum::EllipsoidNNPtr::isSphere
      Src: /src/PROJ/src/iso19111/factory.cpp:2203,1
    - Dst: datum::EllipsoidNNPtr::semiMinorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:2203,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2204,1
    - Dst: datum::EllipsoidNNPtr::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:2204,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2206,1
    - Dst: datum::EllipsoidNNPtr::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/factory.cpp:2206,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2209,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2212,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2212,1
    - Dst: datum::EllipsoidNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2212,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2214,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2214,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:2214,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2216,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ellipsoid
    - authName
    - code
    - allowedAuthorities
    argTypes:
    - datum::EllipsoidNNPtr
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2220
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::EllipsoidNNPtr
      &ellipsoid, const std::string &authName,\n    const std::string &code, bool
      /*numericCode*/,\n    const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - datum::EllipsoidNNPtr::semiMinorAxis
    - toString
    - auto::c_str
    - NN_NO_CHECK
    - run
    - identifyOrInsert
    - formatStatement
    - appendSql
    - auto::front
    - datum::EllipsoidNNPtr::nameStr
    - datum::EllipsoidNNPtr::computedInverseFlattening
    - datum::EllipsoidNNPtr::isSphere
    - auto::getSIValue
    - datum::EllipsoidNNPtr::semiMajorAxis
    - auto::unit
    - auto::empty
    - auto::value
    - datum::EllipsoidNNPtr::computeSemiMinorAxis
    - identifyFromNameOrCode
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const datum::EllipsoidNNPtr &ellipsoid, const std::string &authName,\n    const
      std::string &code, bool /*numericCode*/,\n    const std::vector<std::string>
      &allowedAuthorities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:2227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2229
    functionName: anchorEpochToStr
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - sqlite3_snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string anchorEpochToStr(double val)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2238,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2238,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2243,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:2254,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2255,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2257,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2260,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2265,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::primeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:2273,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2274,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2276,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2279,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2283,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:2285,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2285,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:2285,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2286,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2291,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:2294,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2294,1
    - Dst: dynamic_cast<const datum::DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2299,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:2299,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2302,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2302,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2304,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2305,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2306,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2309,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2309,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2309,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2311,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2311,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2311,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2312,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2313,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2313,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2314,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2315,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2316,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2319,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - datum
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - datum::GeodeticReferenceFrameNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2233
    functionDepth: 2
    functionLinenumber: 2233
    functionLinenumberEnd: 2325
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::GeodeticReferenceFrameNNPtr
      &datum,\n    const std::string &authName, const std::string &code, bool numericCode,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - toString
    - auto::frameReferenceEpoch
    - datum::GeodeticReferenceFrameNNPtr::primeMeridian
    - std::vector::insert
    - datum::GeodeticReferenceFrameNNPtr::publicationDate
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - dynamic_cast<const datum::DynamicGeodeticReferenceFrame *>
    - datum::GeodeticReferenceFrameNNPtr::anchorDefinition
    - auto::suggestsCodeFor
    - std::vector::end
    - datum::GeodeticReferenceFrameNNPtr::anchorEpoch
    - identifyOrInsertUsages
    - util::optional::convertToUnit
    - formatStatement
    - appendSql
    - replaceAll
    - std::string::empty
    - datum::GeodeticReferenceFrameNNPtr::ellipsoid
    - auto::begin
    - datum::GeodeticReferenceFrameNNPtr::nameStr
    - util::optional::has_value
    - anchorEpochToStr
    - datum::GeodeticReferenceFrameNNPtr::get
    - auto::end
    - identifyFromNameOrCode
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const datum::GeodeticReferenceFrameNNPtr &datum,\n    const std::string
      &authName, const std::string &code, bool numericCode,\n    const std::vector<std::string>
      &allowedAuthorities)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2333,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2333,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2338,1
    - Dst: datum::DatumEnsembleNNPtr::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:2346,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2347,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2347,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2354,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2356,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2360,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2362,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2365,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:2367,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2367,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:2367,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2368,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2371,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:2372,1
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:2378,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2379,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:2383,1
    - Dst: datum::DatumEnsembleNNPtr::positionalAccuracy
      Src: /src/PROJ/src/iso19111/factory.cpp:2383,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2386,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2386,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2387,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:2388,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2389,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2390,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2390,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2392,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2393,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:2394,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2395,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2396,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2396,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2397,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2398,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2399,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2401,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2402,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2405,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2405,1
    - Dst: datum::DatumEnsembleNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2405,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2407,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2407,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2408,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2408,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2409,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2409,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2410,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2411,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2412,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2415,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2418,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2418,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2419,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2420,1
    - Dst: auto::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2422,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2423,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2426,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2426,1
    - Dst: datum::DatumEnsembleNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2426,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2428,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2428,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2429,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2430,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2431,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2434,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2436,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2444,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2447,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2447,1
    - Dst: first::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2448,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2448,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - ensemble
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - datum::DatumEnsembleNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts:
    - condition: (!ellipsoidIds.empty())
      pos:
        line_end: 2389
        line_start: 2389
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (!pmIds.empty())
      pos:
        line_end: 2395
        line_start: 2395
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (!members.empty())
      pos:
        line_end: 2346
        line_start: 2346
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 2454
      start: 2329
    functionDepth: 2
    functionLinenumber: 2329
    functionLinenumberEnd: 2454
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::DatumEnsembleNNPtr
      &ensemble, const std::string &authName,\n    const std::string &code, bool numericCode,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - toString
    - util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
    - first::c_str
    - std::vector::insert
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - auto::suggestsCodeFor
    - std::vector::end
    - std::vector::front
    - util::optional::convertToUnit
    - identifyOrInsertUsages
    - assert
    - datum::DatumEnsembleNNPtr::datums
    - formatStatement
    - appendSql
    - auto::anchorEpoch
    - std::string::empty
    - auto::begin
    - auto::front
    - datum::DatumEnsembleNNPtr::positionalAccuracy
    - auto::primeMeridian
    - util::optional::has_value
    - datum::DatumEnsembleNNPtr::nameStr
    - second::c_str
    - anchorEpochToStr
    - std::pair<std::string, std::string>
    - auto::anchorDefinition
    - auto::ellipsoid
    - c_locale_stod
    - auto::identifiers
    - auto::end
    - auto::empty
    - std::vector::emplace_back
    - AuthorityFactory::create
    - identifyFromNameOrCode
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const datum::DatumEnsembleNNPtr &ensemble, const std::string &authName,\n
      \   const std::string &code, bool numericCode,\n    const std::vector<std::string>
      &allowedAuthorities)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2463,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2463,1
    - Dst: crs::GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:2470,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2472,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2473,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2475,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2479,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2483,1
    - Dst: crs::GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:2488,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2489,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2490,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2491,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2493,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2496,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2501,1
    - Dst: crs::GeodeticCRSNNPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:2507,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2510,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/factory.cpp:2514,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2515,1
    - Dst: crs::GeodeticCRSNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:2515,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2524,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2526,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2526,1
    - Dst: crs::GeodeticCRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2526,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2528,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2528,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2529,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2529,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2530,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - crs
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - crs::GeodeticCRSNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts:
    - condition: (datum)
      pos:
        line_end: 2488
        line_start: 2488
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 2535
      start: 2458
    functionDepth: 2
    functionLinenumber: 2458
    functionLinenumberEnd: 2535
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::GeodeticCRSNNPtr
      &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - dynamic_cast<const crs::GeographicCRS *>
    - crs::GeodeticCRSNNPtr::get
    - auto::suggestsCodeFor
    - crs::GeodeticCRSNNPtr::nameStr
    - identifyOrInsertUsages
    - identifyOrInsert
    - assert
    - formatStatement
    - appendSql
    - std::string::empty
    - crs::GeodeticCRSNNPtr::coordinateSystem
    - crs::GeodeticCRSNNPtr::datumEnsemble
    - crs::GeodeticCRSNNPtr::datum
    - identifyFromNameOrCode
    - auto::axisList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const crs::GeodeticCRSNNPtr &crs, const std::string &authName,\n    const
      std::string &code, bool numericCode,\n    const std::vector<std::string> &allowedAuthorities)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2544,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2544,1
    - Dst: crs::ProjectedCRSNNPtr::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:2549,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2554,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2556,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:2557,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2560,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2561,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2562,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2563,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2564,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2568,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2573,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2576,1
    - Dst: crs::ProjectedCRSNNPtr::derivingConversionRef
      Src: /src/PROJ/src/iso19111/factory.cpp:2581,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2585,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:2588,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2589,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2593,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2594,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2597,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2599,1
    - Dst: operation::getProjectionMethodMappings
      Src: /src/PROJ/src/iso19111/factory.cpp:2602,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:2606,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2607,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2613,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2624,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2625,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2626,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2629,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2631,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2631,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2632,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2633,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2633,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2634,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:2635,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2636,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2637,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2638,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:2638,1
    - Dst: operation::getMapping
      Src: /src/PROJ/src/iso19111/factory.cpp:2645,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:2645,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2645,1
    - Dst: operation::getMapping
      Src: /src/PROJ/src/iso19111/factory.cpp:2648,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2648,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2654,1
    - Dst: "dynamic_cast<\n                        const operation::OperationParameterValue
        *>"
      Src: /src/PROJ/src/iso19111/factory.cpp:2655,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:2657,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2659,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/factory.cpp:2663,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2665,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2670,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2670,1
    - Dst: dynamic_cast<const operation::OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2676,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:2677,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2679,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/factory.cpp:2682,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2683,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2686,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2687,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2689,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2694,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2696,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2697,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2698,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/factory.cpp:2700,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:2701,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2704,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2706,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2707,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2707,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2708,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:2708,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2709,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2709,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2711,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2715,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2716,1
    - Dst: crs::ProjectedCRSNNPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:2721,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2724,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2728,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2731,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2731,1
    - Dst: crs::ProjectedCRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2731,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2733,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2733,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2733,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2734,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2734,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2734,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2735,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2737,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 5
    argNames:
    - crs
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - crs::ProjectedCRSNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2539
    functionDepth: 2
    functionLinenumber: 2539
    functionLinenumberEnd: 2741
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::ProjectedCRSNNPtr
      &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - auto::parameterValues
    - toString
    - crs::ProjectedCRSNNPtr::nameStr
    - dynamic_cast<const operation::OperationParameterValue *>
    - auto::c_str
    - auto::parameter
    - auto::identify
    - std::vector::size
    - first::identifiers
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - auto::code
    - crs::ProjectedCRSNNPtr::baseCRS
    - auto::emplace_back
    - auto::suggestsCodeFor
    - auto::nameStr
    - crs::ProjectedCRSNNPtr::coordinateSystem
    - auto::method
    - identifyOrInsertUsages
    - identifyOrInsert
    - FactoryException
    - formatStatement
    - appendSql
    - auto::getEPSGCode
    - std::string::empty
    - auto::front
    - "dynamic_cast<\n                        const operation::OperationParameterValue
      *>"
    - auto::size
    - crs::ProjectedCRSNNPtr::derivingConversionRef
    - static_cast<int>
    - auto::codeSpace
    - operation::getProjectionMethodMappings
    - atoi
    - get
    - std::vector::emplace_back
    - auto::unit
    - auto::identifiers
    - operation::getMapping
    - auto::parameterValue
    - auto::empty
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    - auto::value
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const crs::ProjectedCRSNNPtr &crs, const std::string &authName,\n    const
      std::string &code, bool numericCode,\n    const std::vector<std::string> &allowedAuthorities)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2751,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2751,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2758,1
    - Dst: datum::VerticalReferenceFrameNNPtr::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2766,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:2769,1
    - Dst: datum::VerticalReferenceFrameNNPtr::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:2769,1
    - Dst: dynamic_cast<const datum::DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:2774,1
    - Dst: datum::VerticalReferenceFrameNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:2774,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2777,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2777,1
    - Dst: datum::VerticalReferenceFrameNNPtr::anchorDefinition
      Src: /src/PROJ/src/iso19111/factory.cpp:2779,1
    - Dst: datum::VerticalReferenceFrameNNPtr::anchorEpoch
      Src: /src/PROJ/src/iso19111/factory.cpp:2780,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2781,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2784,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2784,1
    - Dst: datum::VerticalReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2784,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2786,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2786,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2787,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2787,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/factory.cpp:2788,1
    - Dst: anchorEpochToStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2789,1
    - Dst: util::optional::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:2790,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2793,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - datum
    - authName
    - code
    - allowedAuthorities
    argTypes:
    - datum::VerticalReferenceFrameNNPtr
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2745
    functionDepth: 2
    functionLinenumber: 2745
    functionLinenumberEnd: 2799
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::VerticalReferenceFrameNNPtr
      &datum,\n    const std::string &authName, const std::string &code,\n    bool
      /* numericCode */,\n    const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - toString
    - auto::frameReferenceEpoch
    - NN_NO_CHECK
    - identifyOrInsertUsages
    - util::optional::convertToUnit
    - formatStatement
    - appendSql
    - replaceAll
    - identifyFromNameOrCode
    - dynamic_cast<const datum::DynamicVerticalReferenceFrame *>
    - datum::VerticalReferenceFrameNNPtr::publicationDate
    - std::string::empty
    - datum::VerticalReferenceFrameNNPtr::anchorDefinition
    - util::optional::has_value
    - datum::VerticalReferenceFrameNNPtr::nameStr
    - anchorEpochToStr
    - datum::VerticalReferenceFrameNNPtr::get
    - datum::VerticalReferenceFrameNNPtr::anchorEpoch
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const datum::VerticalReferenceFrameNNPtr &datum,\n    const std::string
      &authName, const std::string &code,\n    bool /* numericCode */,\n    const
      std::vector<std::string> &allowedAuthorities)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2808,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2808,1
    - Dst: crs::VerticalCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:2815,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2817,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2818,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2820,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2824,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2828,1
    - Dst: crs::VerticalCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:2833,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:2834,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2835,1
    - Dst: identifyFromNameOrCode
      Src: /src/PROJ/src/iso19111/factory.cpp:2836,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2838,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2841,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2846,1
    - Dst: crs::VerticalCRSNNPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:2852,1
    - Dst: identifyOrInsert
      Src: /src/PROJ/src/iso19111/factory.cpp:2855,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2860,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2862,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2862,1
    - Dst: crs::VerticalCRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2862,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2864,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2864,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2865,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2865,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2866,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - crs
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - crs::VerticalCRSNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts:
    - condition: (datum)
      pos:
        line_end: 2833
        line_start: 2833
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 2872
      start: 2803
    functionDepth: 2
    functionLinenumber: 2803
    functionLinenumberEnd: 2872
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::VerticalCRSNNPtr
      &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - lock
    - crs::VerticalCRSNNPtr::datum
    - std::string::c_str
    - identifyOrInsertUsages
    - identifyOrInsert
    - crs::VerticalCRSNNPtr::coordinateSystem
    - assert
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - crs::VerticalCRSNNPtr::nameStr
    - formatStatement
    - appendSql
    - crs::VerticalCRSNNPtr::datumEnsemble
    - identifyFromNameOrCode
    - auto::suggestsCodeFor
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const crs::VerticalCRSNNPtr &crs, const std::string &authName,\n    const
      std::string &code, bool numericCode,\n    const std::vector<std::string> &allowedAuthorities)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:2881,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:2881,1
    - Dst: crs::CompoundCRSNNPtr::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/factory.cpp:2887,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:2888,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:2889,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2894,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:2902,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:2903,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:2906,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2907,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:2908,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:2909,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:2910,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2914,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2920,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2923,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:2925,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:2928,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:2930,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2930,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:2930,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:2931,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:2934,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:2935,1
    - Dst: formatStatement
      Src: /src/PROJ/src/iso19111/factory.cpp:2941,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2944,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2944,1
    - Dst: crs::CompoundCRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:2944,1
    - Dst: first::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2946,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2946,1
    - Dst: first::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2947,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:2947,1
    - Dst: appendSql
      Src: /src/PROJ/src/iso19111/factory.cpp:2948,1
    - Dst: identifyOrInsertUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:2950,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - crs
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - crs::CompoundCRSNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2876
    functionDepth: 2
    functionLinenumber: 2876
    functionLinenumberEnd: 2954
    functionName: "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::CompoundCRSNNPtr
      &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
      \   const std::vector<std::string> &allowedAuthorities)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - lock
    - std::string::c_str
    - toString
    - first::c_str
    - std::vector::insert
    - first::identifiers
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - auto::code
    - auto::emplace_back
    - auto::suggestsCodeFor
    - std::vector::end
    - identifyOrInsertUsages
    - identify
    - crs::CompoundCRSNNPtr::componentReferenceSystems
    - FactoryException
    - formatStatement
    - appendSql
    - std::string::empty
    - auto::front
    - auto::begin
    - auto::size
    - auto::codeSpace
    - second::c_str
    - std::pair<std::string, std::string>
    - auto::end
    - auto::empty
    - std::vector::emplace_back
    - AuthorityFactory::create
    - crs::CompoundCRSNNPtr::nameStr
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::Private::getInsertStatementsFor(\n
      \   const crs::CompoundCRSNNPtr &crs, const std::string &authName,\n    const
      std::string &code, bool numericCode,\n    const std::vector<std::string> &allowedAuthorities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::stopInsertStatementsSession
      Src: /src/PROJ/src/iso19111/factory.cpp:2963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2961
    functionDepth: 1
    functionLinenumber: 2961
    functionLinenumberEnd: 2966
    functionName: DatabaseContext::~DatabaseContext()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - DatabaseContext::stopInsertStatementsSession
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::~DatabaseContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:2971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2971
    functionName: DatabaseContext::DatabaseContext
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::DatabaseContext()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::nn_make_shared<DatabaseContext>
      Src: /src/PROJ/src/iso19111/factory.cpp:2995,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:2996,1
    - Dst: auto::open
      Src: /src/PROJ/src/iso19111/factory.cpp:2997,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:2999,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:3000,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/factory.cpp:3007,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3010,1
    - Dst: auto::attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:3011,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3012,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:3014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - databasePath
    - auxiliaryDatabasePaths
    - ctx
    argTypes:
    - std::string
    - std::vector<std::string>
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 3016
    functionName: DatabaseContext::create
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 561
    functionsReached:
    - getenv
    - auto::attachExtraDatabases
    - auto::getPrivate
    - auto::open
    - std::move
    - auto::as_nullable
    - DatabaseContext::nn_make_shared<DatabaseContext>
    - auto::empty
    - split
    linkageType: ''
    returnType: DatabaseContextNNPtr
    signature: "DatabaseContextNNPtr DatabaseContext::create(const std::string &databasePath,\n
      \                       const std::vector<std::string> &auxiliaryDatabasePaths,\n
      \                       PJ_CONTEXT *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3023,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 3022
    functionDepth: 1
    functionLinenumber: 3022
    functionLinenumberEnd: 3029
    functionName: DatabaseContext::getAuthorities
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> DatabaseContext::getAuthorities() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::getDatabaseStructure
      Src: /src/PROJ/src/iso19111/factory.cpp:3037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3036
    functionDepth: 1
    functionLinenumber: 3036
    functionLinenumberEnd: 3038
    functionName: DatabaseContext::getDatabaseStructure
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - DatabaseContext::getDatabaseStructure
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> DatabaseContext::getDatabaseStructure() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPath
      Src: /src/PROJ/src/iso19111/factory.cpp:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3044
    functionName: '&DatabaseContext::getPath() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getPath
    linkageType: ''
    returnType: std::string
    signature: std::string &DatabaseContext::getPath() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3054,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3054,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3055,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3058,1
    - Dst: lastMetadataValue_::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3052
    functionDepth: 1
    functionLinenumber: 3052
    functionLinenumberEnd: 3060
    functionName: DatabaseContext::getMetadata
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - lastMetadataValue_::c_str
    - run
    - auto::empty
    - std::string
    linkageType: ''
    returnType: char
    signature: char *DatabaseContext::getMetadata(const char *key) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3079,1
    - Dst: memoryDbForInsertPath_::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3084,1
    - Dst: DatabaseContext::getDatabaseStructure
      Src: /src/PROJ/src/iso19111/factory.cpp:3085,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:3092,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/iso19111/factory.cpp:3094,1
    - Dst: memoryDbForInsertPath_::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3095,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3098,1
    - Dst: SQLiteHandle::initFromExistingUniquePtr
      Src: /src/PROJ/src/iso19111/factory.cpp:3101,1
    - Dst: sqlite3_exec
      Src: /src/PROJ/src/iso19111/factory.cpp:3106,1
    - Dst: memoryDbHandle_::handle
      Src: /src/PROJ/src/iso19111/factory.cpp:3106,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3106,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:3110,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3111,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/iso19111/factory.cpp:3113,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3118,1
    - Dst: attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:3119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3077
    functionDepth: 2
    functionLinenumber: 3077
    functionLinenumberEnd: 3120
    functionName: DatabaseContext::startInsertStatementsSession
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - SQLiteHandle::initFromExistingUniquePtr
    - DatabaseContext::getDatabaseStructure
    - memoryDbForInsertPath_::c_str
    - memoryDbForInsertPath_::clear
    - auto::push_back
    - sqlite3_free
    - attachExtraDatabases
    - FactoryException
    - sqlite3_exec
    - std::ostringstream::str
    - sqlite3_open_v2
    - memoryDbHandle_::handle
    - c_str
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::startInsertStatementsSession()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const datum::PrimeMeridian *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3144,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3144,1
    - Dst: dynamic_cast<const datum::Ellipsoid *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3146,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3146,1
    - Dst: dynamic_cast<const datum::GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3148,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3149,1
    - Dst: dynamic_cast<const datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3151,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3152,1
    - Dst: dynamic_cast<const datum::DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3155,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3155,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/factory.cpp:3156,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3157,1
    - Dst: dynamic_cast<const datum::GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3158,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:3159,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3165,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3165,1
    - Dst: DatabaseContext::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3166,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:3166,1
    - Dst: dynamic_cast<const crs::CRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3167,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3167,1
    - Dst: dynamic_cast<const operation::Conversion *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3169,1
    - Dst: common::IdentifiedObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:3169,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3172,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3180,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3181,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3184,1
    - Dst: std::string::reserve
      Src: /src/PROJ/src/iso19111/factory.cpp:3188,1
    - Dst: common::IdentifiedObjectNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:3188,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/factory.cpp:3190,1
    - Dst: common::IdentifiedObjectNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:3190,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/factory.cpp:3192,1
    - Dst: findFreeCode
      Src: /src/PROJ/src/iso19111/factory.cpp:3200,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - object
    - authName
    - numericCode
    argTypes:
    - common::IdentifiedObjectNNPtr
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3139
    functionDepth: 1
    functionLinenumber: 3139
    functionLinenumberEnd: 3201
    functionName: DatabaseContext::suggestsCodeFor
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - common::IdentifiedObjectNNPtr::nameStr
    - toString
    - dynamic_cast<const datum::Ellipsoid *>
    - auto::baseCRS
    - dynamic_cast<const operation::Conversion *>
    - dynamic_cast<const datum::DatumEnsemble *>
    - run
    - std::string::back
    - std::string::reserve
    - findFreeCode
    - auto::datums
    - DatabaseContext::suggestsCodeFor
    - FactoryException
    - dynamic_cast<const crs::CRS *>
    - dynamic_cast<const crs::BoundCRS *>
    - auto::front
    - dynamic_cast<const datum::VerticalReferenceFrame *>
    - toupper
    - dynamic_cast<const datum::PrimeMeridian *>
    - atoi
    - c_str
    - get
    - dynamic_cast<const datum::GeodeticReferenceFrame *>
    - common::IdentifiedObjectNNPtr::get
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: "std::string DatabaseContext::suggestsCodeFor(const common::IdentifiedObjectNNPtr
      &object,\n                                 const std::string &authName,\n                                 bool
      numericCode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3230,1
    - Dst: util::nn_dynamic_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3234,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3237,1
    - Dst: self_::lock
      Src: /src/PROJ/src/iso19111/factory.cpp:3237,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3239,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:3242,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:3243,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:3246,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:3248,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:3249,1
    - Dst: util::nn_dynamic_pointer_cast<datum::PrimeMeridian>
      Src: /src/PROJ/src/iso19111/factory.cpp:3259,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3260,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3260,1
    - Dst: util::nn_dynamic_pointer_cast<datum::Ellipsoid>
      Src: /src/PROJ/src/iso19111/factory.cpp:3265,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3266,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3266,1
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:3271,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3273,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3273,1
    - Dst: util::nn_dynamic_pointer_cast<datum::DatumEnsemble>
      Src: /src/PROJ/src/iso19111/factory.cpp:3278,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3279,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3279,1
    - Dst: std::dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3284,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3285,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3285,1
    - Dst: std::dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3290,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3291,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3291,1
    - Dst: util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:3296,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3298,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3298,1
    - Dst: std::dynamic_pointer_cast<crs::VerticalCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3303,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3304,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3304,1
    - Dst: std::dynamic_pointer_cast<crs::CompoundCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3309,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3310,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:3310,1
    - Dst: std::dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:3315,1
    - Dst: DatabaseContext::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/factory.cpp:3316,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:3316,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:3321,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 5
    argNames:
    - object
    - authName
    - code
    - numericCode
    - allowedAuthorities
    argTypes:
    - common::IdentifiedObjectNNPtr
    - std::string
    - std::string
    - bool
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3225
    functionDepth: 1
    functionLinenumber: 3225
    functionLinenumberEnd: 3324
    functionName: DatabaseContext::getInsertStatementsFor
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
    - util::nn_dynamic_pointer_cast<crs::CRS>
    - util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
    - auto::baseCRS
    - util::nn_dynamic_pointer_cast<datum::DatumEnsemble>
    - auto::identify
    - first::identifiers
    - NN_NO_CHECK
    - codeSpace
    - util::nn_dynamic_pointer_cast<datum::PrimeMeridian>
    - std::dynamic_pointer_cast<crs::VerticalCRS>
    - DatabaseContext::getInsertStatementsFor
    - auto::emplace_back
    - code
    - FactoryException
    - util::nn_dynamic_pointer_cast<datum::Ellipsoid>
    - std::dynamic_pointer_cast<crs::ProjectedCRS>
    - self_::lock
    - std::dynamic_pointer_cast<crs::BoundCRS>
    - std::dynamic_pointer_cast<crs::GeodeticCRS>
    - std::dynamic_pointer_cast<crs::CompoundCRS>
    - AuthorityFactory::create
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::getInsertStatementsFor(\n
      \   const common::IdentifiedObjectNNPtr &object, const std::string &authName,\n
      \   const std::string &code, bool numericCode,\n    const std::vector<std::string>
      &allowedAuthorities)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clearCaches
      Src: /src/PROJ/src/iso19111/factory.cpp:3335,1
    - Dst: attachExtraDatabases
      Src: /src/PROJ/src/iso19111/factory.cpp:3336,1
    - Dst: memoryDbHandle_::reset
      Src: /src/PROJ/src/iso19111/factory.cpp:3337,1
    - Dst: memoryDbForInsertPath_::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3333
    functionDepth: 1
    functionLinenumber: 3333
    functionLinenumberEnd: 3340
    functionName: DatabaseContext::stopInsertStatementsSession
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - clearCaches
    - memoryDbHandle_::reset
    - attachExtraDatabases
    - memoryDbForInsertPath_::clear
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::stopInsertStatementsSession()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::nn_make_shared<DatabaseContext>
      Src: /src/PROJ/src/iso19111/factory.cpp:3347,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/factory.cpp:3348,1
    - Dst: static_cast<sqlite3 *>
      Src: /src/PROJ/src/iso19111/factory.cpp:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sqlite_handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3350
    functionName: DatabaseContext::create
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 561
    functionsReached:
    - DatabaseContext::nn_make_shared<DatabaseContext>
    - auto::getPrivate
    - static_cast<sqlite3 *>
    linkageType: ''
    returnType: DatabaseContextNNPtr
    signature: DatabaseContextNNPtr DatabaseContext::create(void *sqlite_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle
      Src: /src/PROJ/src/iso19111/factory.cpp:3354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3354
    functionName: DatabaseContext::getSqliteHandle
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - handle
    linkageType: ''
    returnType: void
    signature: void *DatabaseContext::getSqliteHandle() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3362,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3367,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - officialName
    - projFilename
    - projFormat
    - inverse
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3358
    functionDepth: 1
    functionLinenumber: 3358
    functionLinenumberEnd: 3375
    functionName: DatabaseContext::lookForGridAlternative
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - auto::empty
    - auto::front
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::lookForGridAlternative(const std::string &officialName,\n
      \                                            std::string &projFilename,\n                                             std::string
      &projFormat,\n                                             bool &inverse) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - projFilename
    - networkEnabled
    - considerKnownGridsAsAvailable
    argTypes:
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3386
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3386
    functionName: makeCachedGridKey
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string makeCachedGridKey(const std::string &projFilename,\n                                     bool
      networkEnabled,\n                                     bool considerKnownGridsAsAvailable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3396,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3396,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3397,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3397,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3398,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3398,1
    - Dst: evictGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3399,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - projFilename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3395
    functionDepth: 1
    functionLinenumber: 3395
    functionLinenumberEnd: 3400
    functionName: DatabaseContext::invalidateGridInfo
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - evictGridInfoFromCache
    - makeCachedGridKey
    linkageType: ''
    returnType: void
    signature: void DatabaseContext::invalidateGridInfo(const std::string &projFilename)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3412,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3413,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3414,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:3421,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:3423,1
    - Dst: setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:3424,1
    - Dst: makeCachedGridKey
      Src: /src/PROJ/src/iso19111/factory.cpp:3427,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:3428,1
    - Dst: getGridInfoFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:3430,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3440,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3441,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3442,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3448,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/factory.cpp:3449,1
    - Dst: NS_PROJ::FileManager::open_resource_file
      Src: /src/PROJ/src/iso19111/factory.cpp:3450,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3451,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3452,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/factory.cpp:3453,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3454,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:3454,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3454,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3459,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3474,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3476,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3477,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3478,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3478,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3478,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3479,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3480,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3487,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/factory.cpp:3488,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/iso19111/factory.cpp:3490,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3490,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3492,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/factory.cpp:3494,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:3495,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:3495,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3495,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3498,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3503,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3503,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:3508,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:3509,1
    - Dst: resolveFullFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:3510,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:3511,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/PROJ/src/iso19111/factory.cpp:3517,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:3517,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3518,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:3518,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/factory.cpp:3519,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:3522,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:3522,1
    - Dst: resolveFullFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:3528,1
    - Dst: resolveFullFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:3531,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:3533,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:3534,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3536,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:3544,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 8
    argNames:
    - projFilename
    - considerKnownGridsAsAvailable
    - fullFilename
    - packageName
    - url
    - directDownload
    - openLicense
    - gridAvailable
    argTypes:
    - std::string
    - bool
    - std::string
    - std::string
    - std::string
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3404
    functionDepth: 3
    functionLinenumber: 3404
    functionLinenumberEnd: 3546
    functionName: DatabaseContext::lookForGridInfo
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - std::string::c_str
    - pjCtxt
    - auto::c_str
    - proj_context_errno
    - run
    - std::string::back
    - proj_context_get_url_endpoint
    - proj_context_is_network_enabled
    - std::string::substr
    - std::move
    - proj_context_errno_set
    - resolveFullFilename
    - strlen
    - std::string::size
    - std::string::empty
    - auto::front
    - proj_context_set_enable_network
    - std::string::clear
    - std::string::resize
    - makeCachedGridKey
    - getGridInfoFromCache
    - cache
    - setPjCtxt
    - NS_PROJ::FileManager::open_resource_file
    - starts_with
    - empty
    - pj_find_file
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::lookForGridInfo(\n    const std::string &projFilename,
      bool considerKnownGridsAsAvailable,\n    std::string &fullFilename, std::string
      &packageName, std::string &url,\n    bool &directDownload, bool &openLicense,
      bool &gridAvailable) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3553
    functionDepth: 0
    functionLinenumber: 3553
    functionLinenumberEnd: 3555
    functionName: DatabaseContext::getQueryCounter
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DatabaseContext::getQueryCounter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3562,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - tableName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3559
    functionDepth: 1
    functionLinenumber: 3559
    functionLinenumberEnd: 3565
    functionName: DatabaseContext::isKnownName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - replaceAll
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::isKnownName(const std::string &name,\n                                  const
      std::string &tableName) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3570,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3573,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3574,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oldProjGridName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3568
    functionDepth: 1
    functionLinenumber: 3568
    functionLinenumberEnd: 3577
    functionName: DatabaseContext::getProjGridName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - auto::empty
    - std::string
    - auto::front
    linkageType: ''
    returnType: std::string
    signature: std::string DatabaseContext::getProjGridName(const std::string &oldProjGridName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3582,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3585,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3586,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gridName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3581
    functionDepth: 1
    functionLinenumber: 3581
    functionLinenumberEnd: 3589
    functionName: DatabaseContext::getOldProjGridName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - auto::empty
    - std::string
    - auto::front
    linkageType: ''
    returnType: std::string
    signature: std::string DatabaseContext::getOldProjGridName(const std::string &gridName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::list<std::string>::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3599,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/factory.cpp:3600,1
    - Dst: std::list<std::string>::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:3600,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/factory.cpp:3601,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/factory.cpp:3602,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3603,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3603,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3603,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - std::list<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3608
      start: 3598
    functionDepth: 1
    functionLinenumber: 3598
    functionLinenumberEnd: 3608
    functionName: getUniqueEsriAlias
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::list<std::string>::front
    - std::swap
    - std::list<std::string>::begin
    - std::string::find
    - std::string
    - std::next
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: std::string getUniqueEsriAlias(const std::list<std::string> &l)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3632,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3640,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3644,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3646,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3650,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3651,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3656,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3659,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3660,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3662,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3662,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3663,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/factory.cpp:3663,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:3663,1
    - Dst: getUniqueEsriAlias
      Src: /src/PROJ/src/iso19111/factory.cpp:3664,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3665,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3668,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3671,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - officialName
    - tableName
    - source
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3623
    functionDepth: 2
    functionLinenumber: 3623
    functionLinenumberEnd: 3672
    functionName: DatabaseContext::getAliasFromOfficialName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::front
    - std::string::empty
    - auto::size
    - getUniqueEsriAlias
    - std::list::emplace_back
    - run
    - auto::empty
    - std::string
    - std::next
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string DatabaseContext::getAliasFromOfficialName(const std::string
      &officialName,\n                                          const std::string
      &tableName,\n                                          const std::string &source)
      const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cacheAliasNames_::tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:3697,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3707,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3707,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3709,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3717,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3718,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3719,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3723,1
    - Dst: cacheAliasNames_::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3724,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3728,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3737,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3739,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3741,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3743,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:3746,1
    - Dst: getUniqueEsriAlias
      Src: /src/PROJ/src/iso19111/factory.cpp:3747,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3748,1
    - Dst: std::list::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3749,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3750,1
    - Dst: cacheAliasNames_::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3754,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - authName
    - code
    - officialName
    - tableName
    - source
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3690
    functionDepth: 2
    functionLinenumber: 3690
    functionLinenumberEnd: 3756
    functionName: DatabaseContext::getAliases
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::front
    - auto::size
    - ListOfParams::emplace_back
    - getUniqueEsriAlias
    - cacheAliasNames_::tryGet
    - std::list::clear
    - cacheAliasNames_::insert
    - std::list::size
    - std::list::emplace_back
    - run
    - auto::empty
    - replaceAll
    linkageType: ''
    returnType: std::list<std::string>
    signature: "std::list<std::string> DatabaseContext::getAliases(\n    const std::string
      &authName, const std::string &code,\n    const std::string &officialName, const
      std::string &tableName,\n    const std::string &source) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cacheNames_::tryGet
      Src: /src/PROJ/src/iso19111/factory.cpp:3773,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3778,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3780,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3781,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:3782,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3784,1
    - Dst: cacheNames_::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:3786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - tableName
    - authName
    - code
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3768
    functionDepth: 1
    functionLinenumber: 3768
    functionLinenumberEnd: 3788
    functionName: DatabaseContext::getName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - cacheNames_::tryGet
    - auto::front
    - std::string::clear
    - cacheNames_::insert
    - run
    - auto::empty
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string DatabaseContext::getName(const std::string &tableName,\n
      \                                    const std::string &authName,\n                                     const
      std::string &code) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:3804,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3806,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3807,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:3808,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tableName
    - authName
    - code
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3811
      start: 3800
    functionDepth: 1
    functionLinenumber: 3800
    functionLinenumberEnd: 3811
    functionName: DatabaseContext::getTextDefinition
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - run
    - auto::empty
    - std::string
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string DatabaseContext::getTextDefinition(const std::string &tableName,\n
      \                                              const std::string &authName,\n
      \                                              const std::string &code) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cacheAllowedAuthorities_::find
      Src: /src/PROJ/src/iso19111/factory.cpp:3825,1
    - Dst: cacheAllowedAuthorities_::end
      Src: /src/PROJ/src/iso19111/factory.cpp:3826,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3830,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3834,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3835,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3840,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3841,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3846,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3847,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3852,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:3853,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:3854,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/factory.cpp:3856,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:3856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sourceAuthName
    - targetAuthName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3859
    functionName: DatabaseContext::getAllowedAuthorities
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - cacheAllowedAuthorities_::end
    - auto::front
    - cacheAllowedAuthorities_::find
    - std::vector<std::string>
    - run
    - auto::empty
    - split
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> DatabaseContext::getAllowedAuthorities(\n
      \   const std::string &sourceAuthName,\n    const std::string &targetAuthName)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3868,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3879,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3882,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tableName
    - authName
    - code
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3863
    functionDepth: 1
    functionLinenumber: 3863
    functionLinenumberEnd: 3891
    functionName: DatabaseContext::getNonDeprecated
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - std::list::empty
    - std::list::emplace_back
    linkageType: ''
    returnType: std::list<std::pair<std::string, std::string>>
    signature: "std::list<std::pair<std::string, std::string>> DatabaseContext::getNonDeprecated(const
      std::string &tableName,\n                                  const std::string
      &authName,\n                                  const std::string &code) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3897,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:3899,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:3906,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:3906,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3907,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:3907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3895
    functionDepth: 1
    functionLinenumber: 3895
    functionLinenumberEnd: 3911
    functionName: '&

      DatabaseContext::Private::getCacheAuthNameWithVersion()'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - empty
    - run
    - emplace_back
    - atoi
    - c_str
    linkageType: ''
    returnType: std::vector<DatabaseContext::Private::VersionedAuthName>
    signature: 'std::vector<DatabaseContext::Private::VersionedAuthName> &

      DatabaseContext::Private::getCacheAuthNameWithVersion()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCacheAuthNameWithVersion
      Src: /src/PROJ/src/iso19111/factory.cpp:3920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - versionedAuthName
    - authNameOut
    - versionOut
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3916
    functionDepth: 0
    functionLinenumber: 3916
    functionLinenumberEnd: 3928
    functionName: DatabaseContext::getAuthorityAndVersion
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getCacheAuthNameWithVersion
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::getAuthorityAndVersion(\n    const std::string
      &versionedAuthName, std::string &authNameOut,\n    std::string &versionOut)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCacheAuthNameWithVersion
      Src: /src/PROJ/src/iso19111/factory.cpp:3937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - authName
    - version
    - versionedAuthNameOut
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3933
    functionDepth: 0
    functionLinenumber: 3933
    functionLinenumberEnd: 3944
    functionName: DatabaseContext::getVersionedAuthority
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - getCacheAuthNameWithVersion
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::getVersionedAuthority(const std::string &authName,\n
      \                                           const std::string &version,\n                                            std::string
      &versionedAuthNameOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCacheAuthNameWithVersion
      Src: /src/PROJ/src/iso19111/factory.cpp:3954,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3956,1
    - Dst: VersionedAuthNamePriority
      Src: /src/PROJ/src/iso19111/factory.cpp:3957,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:3961,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/factory.cpp:3963,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:3963,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/factory.cpp:3963,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - authName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3949
    functionDepth: 1
    functionLinenumber: 3949
    functionLinenumberEnd: 3972
    functionName: DatabaseContext::getVersionedAuthoritiesFromName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - VersionedAuthNamePriority
    - std::vector::end
    - std::vector::begin
    - std::vector::emplace_back
    - sort
    - getCacheAuthNameWithVersion
    - std::vector::empty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> DatabaseContext::getVersionedAuthoritiesFromName(const
      std::string &authName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContextNNPtr::d::run
      Src: /src/PROJ/src/iso19111/factory.cpp:3979,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:3987,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:3987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - databaseContext
    - gridName
    argTypes:
    - DatabaseContextNNPtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 3991
    functionName: DatabaseContext::getTransformationsForGridName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - DatabaseContextNNPtr::d::run
    - AuthorityFactory::create
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<operation::CoordinateOperationNNPtr>
    signature: "std::vector<operation::CoordinateOperationNNPtr> DatabaseContext::getTransformationsForGridName(\n
      \   const DatabaseContextNNPtr &databaseContext, const std::string &gridName)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4030,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4031,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4032,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4033,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4034,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4035,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4036,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4039,1
    - Dst: ListOfParams::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:4047,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4048,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4049,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4050,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4051,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4052,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4053,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4054,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4055,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4056,1
    - Dst: pj_log
      Src: /src/PROJ/src/iso19111/factory.cpp:4057,1
    - Dst: pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4057,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4061,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4062,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4063,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4064,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4065,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4066,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4067,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4068,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4069,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4070,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4071,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4072,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4073,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:4074,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 7
    argNames:
    - tx
    - ty
    - tz
    - rx
    - ry
    - rz
    - scale_difference
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4083
      start: 4003
    functionDepth: 3
    functionLinenumber: 4003
    functionLinenumberEnd: 4083
    functionName: DatabaseContext::toWGS84AutocorrectWrongValues
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - pjCtxt
    - toString
    - ListOfParams::emplace_back
    - ListOfParams::clear
    - pj_log
    - run
    linkageType: ''
    returnType: bool
    signature: "bool DatabaseContext::toWGS84AutocorrectWrongValues(\n    double &tx,
      double &ty, double &tz, double &rx, double &ry, double &rz,\n    double &scale_difference)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - contextIn
    - authorityName
    argTypes:
    - DatabaseContextNNPtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4091
    functionDepth: 0
    functionLinenumber: 4091
    functionLinenumberEnd: 4093
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const DatabaseContextNNPtr &contextIn,\n            const
      std::string &authorityName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4095
      start: 4095
    functionDepth: 0
    functionLinenumber: 4095
    functionLinenumberEnd: 4095
    functionName: '&authority() PROJ_PURE_DEFN'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &authority() PROJ_PURE_DEFN
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4099
    functionName: '&context() PROJ_PURE_DEFN'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseContextNNPtr
    signature: DatabaseContextNNPtr &context() PROJ_PURE_DEFN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactoryNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:4103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AuthorityFactoryNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4104
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4104
    functionName: setThis
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - AuthorityFactoryNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: void setThis(AuthorityFactoryNNPtr factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:4107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4107
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4107
    functionName: getSharedFromThis
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - lock
    linkageType: ''
    returnType: AuthorityFactoryPtr
    signature: AuthorityFactoryPtr getSharedFromThis()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4111,1
    - Dst: lock
      Src: /src/PROJ/src/iso19111/factory.cpp:4111,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - auth_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4109
    functionDepth: 1
    functionLinenumber: 4109
    functionLinenumberEnd: 4114
    functionName: createFactory
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - lock
    - NN_NO_CHECK
    - AuthorityFactory::create
    linkageType: ''
    returnType: AuthorityFactoryNNPtr
    signature: AuthorityFactoryNNPtr createFactory(const std::string &auth_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4144
    functionDepth: 1
    functionLinenumber: 4144
    functionLinenumberEnd: 4146
    functionName: hasAuthorityRestriction
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasAuthorityRestriction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sql
    - parameters
    argTypes:
    - std::string
    - ListOfParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4168
      start: 4165
    functionDepth: 0
    functionLinenumber: 4165
    functionLinenumberEnd: 4168
    functionName: "AuthorityFactory::Private::run(const std::string &sql,\n                                            const
      ListOfParams &parameters)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - context
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet AuthorityFactory::Private::run(const std::string &sql,\n
      \                                           const ListOfParams &parameters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4175,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sql
    - code
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4176
      start: 4172
    functionDepth: 1
    functionLinenumber: 4172
    functionLinenumberEnd: 4176
    functionName: "AuthorityFactory::Private::runWithCodeParam(const std::string &sql,\n
      \                                           const std::string &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - authority
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet AuthorityFactory::Private::runWithCodeParam(const std::string
      &sql,\n                                            const std::string &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4183,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:4183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sql
    - code
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4180
    functionDepth: 0
    functionLinenumber: 4180
    functionLinenumberEnd: 4184
    functionName: "AuthorityFactory::Private::runWithCodeParam(const char *sql,\n
      \                                           const std::string &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - runWithCodeParam
    - std::string
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet AuthorityFactory::Private::runWithCodeParam(const char
      *sql,\n                                            const std::string &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - auth_name
    - code
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4188
    functionDepth: 2
    functionLinenumber: 4188
    functionLinenumberEnd: 4192
    functionName: "AuthorityFactory::Private::createUnitOfMeasure(const std::string
      &auth_name,\n                                               const std::string
      &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - createFactory
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure AuthorityFactory::Private::createUnitOfMeasure(const
      std::string &auth_name,\n                                               const
      std::string &code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:4199,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4200,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4204,1
    - Dst: std::vector<ObjectDomainNNPtr>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4206,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/factory.cpp:4210,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4212,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - code
    - name
    - deprecated
    - usages
    argTypes:
    - std::string
    - std::string
    - bool
    - std::vector<ObjectDomainNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4216
    functionName: "AuthorityFactory::Private::createProperties(\n    const std::string
      &code, const std::string &name, bool deprecated,\n    const std::vector<ObjectDomainNNPtr>
      &usages)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::set
    - authority
    - PropertyMap::PropertyMap
    - auto::add
    - std::vector<ObjectDomainNNPtr>::empty
    - util::nn_static_pointer_cast<util::BaseObject>
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap AuthorityFactory::Private::createProperties(\n    const
      std::string &code, const std::string &name, bool deprecated,\n    const std::vector<ObjectDomainNNPtr>
      &usages)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4226,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4232,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4256,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4256,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4270,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4275,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4276,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4277,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4281,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4282,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4283,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4284,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4285,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4287,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4288,1
    - Dst: std::vector<metadata::VerticalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4290,1
    - Dst: std::vector<metadata::TemporalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4291,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4295,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4295,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:4299,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:4299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - table_name
    - code
    - name
    - deprecated
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4300
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4300
    functionName: "AuthorityFactory::Private::createPropertiesSearchUsages(\n    const
      std::string &table_name, const std::string &code,\n    const std::string &name,
      bool deprecated)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - createProperties
    - ObjectDomain::create
    - std::vector<metadata::VerticalExtentNNPtr>
    - authority
    - GeographicBoundingBox::create
    - std::move
    - std::vector<metadata::TemporalExtentNNPtr>
    - c_locale_stod
    - run
    - auto::empty
    - std::vector::emplace_back
    - VerticalExtent::create
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap AuthorityFactory::Private::createPropertiesSearchUsages(\n
      \   const std::string &table_name, const std::string &code,\n    const std::string
      &name, bool deprecated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:4308,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4309,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - table_name
    - code
    - name
    - deprecated
    - remarks
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4312
      start: 4304
    functionDepth: 1
    functionLinenumber: 4304
    functionLinenumberEnd: 4312
    functionName: "AuthorityFactory::Private::createPropertiesSearchUsages(\n    const
      std::string &table_name, const std::string &code,\n    const std::string &name,
      bool deprecated, const std::string &remarks)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::set
    - createPropertiesSearchUsages
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap AuthorityFactory::Private::createPropertiesSearchUsages(\n
      \   const std::string &table_name, const std::string &code,\n    const std::string
      &name, bool deprecated, const std::string &remarks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d::pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4326,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:4328,1
    - Dst: d::setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4329,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:4332,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:4334,1
    - Dst: d::pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4339,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:4340,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4345,1
    - Dst: operation::CoordinateOperationNNPtr::gridsNeeded
      Src: /src/PROJ/src/iso19111/factory.cpp:4350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - op
    - considerKnownGridsAsAvailable
    argTypes:
    - operation::CoordinateOperationNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4316
    functionDepth: 2
    functionLinenumber: 4316
    functionLinenumberEnd: 4356
    functionName: "AuthorityFactory::Private::rejectOpDueToMissingGrid(\n    const
      operation::CoordinateOperationNNPtr &op,\n    bool considerKnownGridsAsAvailable)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - proj_context_set_enable_network
    - operation::CoordinateOperationNNPtr::gridsNeeded
    - d::setPjCtxt
    - d::pjCtxt
    - context
    - proj_context_is_network_enabled
    linkageType: ''
    returnType: bool
    signature: "bool AuthorityFactory::Private::rejectOpDueToMissingGrid(\n    const
      operation::CoordinateOperationNNPtr &op,\n    bool considerKnownGridsAsAvailable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d::pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4326,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/factory.cpp:4328,1
    - Dst: d::setPjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4329,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/factory.cpp:4332,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:4334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - l_context
    argTypes:
    - DatabaseContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4324
    functionDepth: 2
    functionLinenumber: 4324
    functionLinenumberEnd: 4335
    functionName: DisableNetwork
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - proj_context_set_enable_network
    - d::setPjCtxt
    - d::pjCtxt
    - proj_context_is_network_enabled
    linkageType: ''
    returnType: void
    signature: void DisableNetwork(const DatabaseContextNNPtr &l_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d::pjCtxt
      Src: /src/PROJ/src/iso19111/factory.cpp:4339,1
    - Dst: proj_context_set_enable_network
      Src: /src/PROJ/src/iso19111/factory.cpp:4340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4342
      start: 4337
    functionDepth: 2
    functionLinenumber: 4337
    functionLinenumberEnd: 4342
    functionName: ~DisableNetwork()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - proj_context_set_enable_network
    - d::pjCtxt
    linkageType: ''
    returnType: void
    signature: void ~DisableNetwork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4363
      start: 4363
    functionDepth: 0
    functionLinenumber: 4363
    functionLinenumberEnd: 4363
    functionName: AuthorityFactory::~AuthorityFactory()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthorityFactory::~AuthorityFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:4370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - authorityName
    argTypes:
    - DatabaseContextNNPtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4368
    functionDepth: 0
    functionLinenumber: 4368
    functionLinenumberEnd: 4370
    functionName: AuthorityFactory::AuthorityFactory
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void AuthorityFactory::AuthorityFactory(const DatabaseContextNNPtr
      &context,\n                                   const std::string &authorityName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:4392,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/factory.cpp:4393,1
    - Dst: AuthorityFactory::nn_make_shared<AuthorityFactory>
      Src: /src/PROJ/src/iso19111/factory.cpp:4394,1
    - Dst: AuthorityFactory::nn_make_shared<AuthorityFactory>
      Src: /src/PROJ/src/iso19111/factory.cpp:4398,1
    - Dst: getFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4401,1
    - Dst: auto::d::setThis
      Src: /src/PROJ/src/iso19111/factory.cpp:4402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - context
    - authorityName
    argTypes:
    - DatabaseContextNNPtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4404
      start: 4387
    functionDepth: 1
    functionLinenumber: 4387
    functionLinenumberEnd: 4404
    functionName: AuthorityFactory::create
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 460
    functionsReached:
    - AuthorityFactory::nn_make_shared<AuthorityFactory>
    - getFactory
    - ci_equal
    - auto::d::setThis
    - c_str
    linkageType: ''
    returnType: AuthorityFactoryNNPtr
    signature: "AuthorityFactoryNNPtr AuthorityFactory::create(const DatabaseContextNNPtr
      &context,\n                         const std::string &authorityName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4411
      start: 4409
    functionDepth: 0
    functionLinenumber: 4409
    functionLinenumberEnd: 4411
    functionName: '&AuthorityFactory::databaseContext() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - context
    linkageType: ''
    returnType: DatabaseContextNNPtr
    signature: DatabaseContextNNPtr &AuthorityFactory::databaseContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4420
      start: 4416
    functionDepth: 0
    functionLinenumber: 4416
    functionLinenumberEnd: 4420
    functionName: AuthorityFactory::CRSInfo::CRSInfo()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthorityFactory::CRSInfo::CRSInfo()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4446,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4449,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4450,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4450,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4452,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4462,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4464,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4468,1
    - Dst: AuthorityFactory::createExtent
      Src: /src/PROJ/src/iso19111/factory.cpp:4469,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4472,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4473,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4476,1
    - Dst: AuthorityFactory::createPrimeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:4477,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4480,1
    - Dst: AuthorityFactory::createEllipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:4481,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4485,1
    - Dst: AuthorityFactory::createDatumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:4486,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4488,1
    - Dst: AuthorityFactory::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:4489,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4493,1
    - Dst: AuthorityFactory::createDatumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:4494,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4496,1
    - Dst: AuthorityFactory::createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:4497,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4500,1
    - Dst: AuthorityFactory::createEngineeringDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:4501,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4504,1
    - Dst: AuthorityFactory::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4505,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4508,1
    - Dst: AuthorityFactory::createVerticalCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4509,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4512,1
    - Dst: AuthorityFactory::createProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4513,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4516,1
    - Dst: AuthorityFactory::createDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4517,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4520,1
    - Dst: AuthorityFactory::createCompoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4521,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4524,1
    - Dst: AuthorityFactory::createEngineeringCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:4525,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4528,1
    - Dst: AuthorityFactory::createConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:4529,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/factory.cpp:4535,1
    - Dst: AuthorityFactory::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:4536,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4538,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4538,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4443
    functionDepth: 1
    functionLinenumber: 4443
    functionLinenumberEnd: 4539
    functionName: AuthorityFactory::createObject
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - authority
    - AuthorityFactory::createConversion
    - AuthorityFactory::createDatumEnsemble
    - AuthorityFactory::createEngineeringDatum
    - FactoryException
    - util::nn_static_pointer_cast<util::BaseObject>
    - AuthorityFactory::createProjectedCRS
    - runWithCodeParam
    - AuthorityFactory::createDerivedProjectedCRS
    - auto::front
    - AuthorityFactory::createVerticalDatum
    - auto::size
    - AuthorityFactory::createPrimeMeridian
    - AuthorityFactory::createEllipsoid
    - AuthorityFactory::createEngineeringCRS
    - AuthorityFactory::createCompoundCRS
    - AuthorityFactory::createGeodeticCRS
    - AuthorityFactory::createCoordinateOperation
    - AuthorityFactory::createUnitOfMeasure
    - AuthorityFactory::createVerticalCRS
    - AuthorityFactory::createGeodeticDatum
    - AuthorityFactory::createExtent
    - auto::empty
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: util::BaseObjectNNPtr
    signature: util::BaseObjectNNPtr AuthorityFactory::createObject(const std::string
      &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4548,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:4548,1
    - Dst: std::exception::what
      Src: /src/PROJ/src/iso19111/factory.cpp:4549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - authName
    - code
    - ex
    argTypes:
    - char*
    - std::string
    - std::string
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4544
    functionDepth: 0
    functionLinenumber: 4544
    functionLinenumberEnd: 4550
    functionName: buildFactoryException
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - std::exception::what
    - FactoryException
    linkageType: ''
    returnType: FactoryException
    signature: "FactoryException buildFactoryException(const char *type,\n                                              const
      std::string &authName,\n                                              const
      std::string &code,\n                                              const std::exception
      &ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4565,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4567,1
    - Dst: getExtentFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4567,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4569,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4574,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4575,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4576,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4576,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4580,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4582,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4583,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4584,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4585,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4585,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4588,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4589,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4590,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4591,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4592,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4595,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4596,1
    - Dst: std::vector<metadata::VerticalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4598,1
    - Dst: std::vector<metadata::TemporalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/factory.cpp:4599,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4600,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4600,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4604,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4606
      start: 4563
    functionDepth: 1
    functionLinenumber: 4563
    functionLinenumberEnd: 4606
    functionName: AuthorityFactory::createExtent
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - util::optional<std::string>
    - auto::front
    - std::vector<metadata::VerticalExtentNNPtr>
    - authority
    - GeographicBoundingBox::create
    - buildFactoryException
    - std::vector<metadata::TemporalExtentNNPtr>
    - c_locale_stod
    - NN_NO_CHECK
    - getExtentFromCache
    - empty
    - VerticalExtent::create
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    - cache
    linkageType: ''
    returnType: metadata::ExtentNNPtr
    signature: metadata::ExtentNNPtr AuthorityFactory::createExtent(const std::string
      &code) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4620,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4622,1
    - Dst: getUOMFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4622,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4624,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4627,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4627,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4630,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4631,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4632,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4633,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4636,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/factory.cpp:4639,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4642,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4643,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/factory.cpp:4645,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4645,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4646,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4647,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/factory.cpp:4649,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4650,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4651,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/factory.cpp:4652,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/factory.cpp:4664,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4665,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4666,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4666,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4669,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4669,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4618
    functionDepth: 1
    functionLinenumber: 4618
    functionLinenumberEnd: 4672
    functionName: AuthorityFactory::createUnitOfMeasure
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 2
    functionsReached:
    - conversionToSI
    - getUOMFromCache
    - auto::front
    - authority
    - buildFactoryException
    - c_locale_stod
    - name
    - NN_NO_CHECK
    - util::nn_make_shared<UnitOfMeasure>
    - run
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    - cache
    - std::fabs
    linkageType: ''
    returnType: UnitOfMeasureNNPtr
    signature: UnitOfMeasureNNPtr AuthorityFactory::createUnitOfMeasure(const std::string
      &code) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4682,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/factory.cpp:4684,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/factory.cpp:4684,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/factory.cpp:4686,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:4688,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/factory.cpp:4689,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:4690,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4690,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:4691,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:4692,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:4693,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4693,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/factory.cpp:4696,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/factory.cpp:4696,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4697,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4698,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/factory.cpp:4698,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4698,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:4700,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - uom_code
    - value
    - normalized_uom_code
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts:
    - condition: (dotPos + 1 + precision == formatted.size())
      pos:
        line_end: 4689
        line_start: 4689
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (seconds.size() == precision - 2)
      pos:
        line_end: 4692
        line_start: 4692
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 4707
      start: 4677
    functionDepth: 1
    functionLinenumber: 4677
    functionLinenumberEnd: 4707
    functionName: normalizeMeasure
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - code
    - auto::size
    - c_locale_stod
    - auto::find
    - assert
    - std::floor
    - std::fabs
    - std::setprecision
    - std::pow
    - std::ostringstream::str
    - std::locale::classic
    - auto::substr
    - std::ostringstream::imbue
    linkageType: ''
    returnType: double
    signature: "double normalizeMeasure(const std::string &uom_code,\n                               const
      std::string &value,\n                               std::string &normalized_uom_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4722,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4724,1
    - Dst: getPrimeMeridianFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4724,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4726,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4729,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4734,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4735,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4736,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4739,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4748,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4750,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:4751,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4752,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:4753,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4754,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4754,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4757,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4759
      start: 4720
    functionDepth: 2
    functionLinenumber: 4720
    functionLinenumberEnd: 4759
    functionName: AuthorityFactory::createPrimeMeridian
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - getPrimeMeridianFromCache
    - runWithCodeParam
    - auto::front
    - createProperties
    - authority
    - buildFactoryException
    - createAngle
    - PrimeMeridian::create
    - NN_NO_CHECK
    - normalizeMeasure
    - AuthorityFactory::createUnitOfMeasure
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    - cache
    linkageType: ''
    returnType: datum::PrimeMeridianNNPtr
    signature: datum::PrimeMeridianNNPtr AuthorityFactory::createPrimeMeridian(const
      std::string &code) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4775,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4780,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4781,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:4784,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4788,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/factory.cpp:4789,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:4789,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4790,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4793,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4794,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4798,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - semi_major_axis
    - tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4799
      start: 4771
    functionDepth: 1
    functionLinenumber: 4771
    functionLinenumberEnd: 4799
    functionName: AuthorityFactory::identifyBodyFromSemiMajorAxis
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::front
    - auto::size
    - FactoryException
    - run
    - auto::empty
    - std::next
    linkageType: ''
    returnType: std::string
    signature: "std::string AuthorityFactory::identifyBodyFromSemiMajorAxis(double
      semi_major_axis,\n                                                double tolerance)
      const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4813,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4815,1
    - Dst: getEllipsoidFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4815,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4817,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4820,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4830,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4831,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4832,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4835,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4838,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4845,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:4846,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4847,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/factory.cpp:4848,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4849,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/factory.cpp:4850,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4850,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4851,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4851,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/factory.cpp:4854,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4855,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4856,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4856,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:4859,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4860,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:4861,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4861,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4862,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4862,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4866,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4866,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4868
      start: 4811
    functionDepth: 2
    functionLinenumber: 4811
    functionLinenumberEnd: 4868
    functionName: AuthorityFactory::createEllipsoid
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - getEllipsoidFromCache
    - auto::front
    - createProperties
    - authority
    - Ellipsoid::createTwoAxis
    - buildFactoryException
    - c_locale_stod
    - Ellipsoid::createSphere
    - createLength
    - Scale::Scale
    - NN_NO_CHECK
    - AuthorityFactory::createUnitOfMeasure
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    - cache
    - Ellipsoid::createFlattenedSphere
    linkageType: ''
    returnType: datum::EllipsoidNNPtr
    signature: datum::EllipsoidNNPtr AuthorityFactory::createEllipsoid(const std::string
      &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createGeodeticDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:4886,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:4888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4889
      start: 4880
    functionDepth: 1
    functionLinenumber: 4880
    functionLinenumberEnd: 4889
    functionName: AuthorityFactory::createGeodeticDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - AuthorityFactory::createGeodeticDatumOrEnsemble
    - NN_NO_CHECK
    linkageType: ''
    returnType: datum::GeodeticReferenceFrameNNPtr
    signature: datum::GeodeticReferenceFrameNNPtr AuthorityFactory::createGeodeticDatum(const
      std::string &code) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4896,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4898,1
    - Dst: getDatumEnsembleFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4898,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4904,1
    - Dst: getGeodeticDatumFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:4904,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:4909,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4918,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:4919,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4920,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:4923,1
    - Dst: DatumEnsemble::ensembleNameToNonEnsembleName
      Src: /src/PROJ/src/iso19111/factory.cpp:4939,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4941,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:4944,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4947,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:4949,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4953,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:4957,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4958,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4960,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:4961,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4962,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4963,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4963,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:4964,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4966,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:4968,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4971,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4972,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4974,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4975,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4977,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:4978,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:4980,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4981,1
    - Dst: "util::nn_static_pointer_cast<\n                                   datum::GeodeticReferenceFrame>"
      Src: /src/PROJ/src/iso19111/factory.cpp:4983,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:4985,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:4987,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:4988,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:4990,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:4991,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:4991,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:4992,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:4995,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:4995,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - code
    - outDatum
    - outDatumEnsemble
    - turnEnsembleAsDatum
    argTypes:
    - std::string
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4893
    functionDepth: 2
    functionLinenumber: 4893
    functionLinenumberEnd: 4998
    functionName: AuthorityFactory::createGeodeticDatumOrEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - authority
    - "util::nn_static_pointer_cast<\n                                   datum::GeodeticReferenceFrame>"
    - DatumEnsemble::ensembleNameToNonEnsembleName
    - run
    - PositionalAccuracy::create
    - std::move
    - buildFactoryException
    - auto::as_nullable
    - DynamicGeodeticReferenceFrame::create
    - DatumEnsemble::create
    - context
    - getGeodeticDatumFromCache
    - createPropertiesSearchUsages
    - GeodeticReferenceFrame::create
    - runWithCodeParam
    - std::string::empty
    - auto::front
    - util::optional<std::string>
    - auto::set
    - std::vector::push_back
    - getDatumEnsembleFromCache
    - AuthorityFactory::createUnitOfMeasure
    - cache
    - c_locale_stod
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: void
    signature: "void AuthorityFactory::createGeodeticDatumOrEnsemble(\n    const std::string
      &code, datum::GeodeticReferenceFramePtr &outDatum,\n    datum::DatumEnsemblePtr
      &outDatumEnsemble, bool turnEnsembleAsDatum) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createVerticalDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:5015,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5018
      start: 5010
    functionDepth: 1
    functionLinenumber: 5010
    functionLinenumberEnd: 5018
    functionName: AuthorityFactory::createVerticalDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - NN_NO_CHECK
    - AuthorityFactory::createVerticalDatumOrEnsemble
    linkageType: ''
    returnType: datum::VerticalReferenceFrameNNPtr
    signature: datum::VerticalReferenceFrameNNPtr AuthorityFactory::createVerticalDatum(const
      std::string &code) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5026,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5031,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5032,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5033,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5036,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5044,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5046,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5048,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5052,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5056,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5057,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5059,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:5060,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5061,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:5062,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5064,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5065,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5067,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5068,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5070,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5071,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5072,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:5074,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5075,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5077,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5079,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5083,1
    - Dst: util::optional<datum::RealizationMethod>
      Src: /src/PROJ/src/iso19111/factory.cpp:5085,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5086,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:5086,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:5088,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5093,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5093,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - code
    - outDatum
    - outDatumEnsemble
    - turnEnsembleAsDatum
    argTypes:
    - std::string
    - datum::VerticalReferenceFramePtr
    - datum::DatumEnsemblePtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5096
      start: 5022
    functionDepth: 2
    functionLinenumber: 5022
    functionLinenumberEnd: 5096
    functionName: AuthorityFactory::createVerticalDatumOrEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - authority
    - DynamicVerticalReferenceFrame::create
    - VerticalReferenceFrame::create
    - run
    - util::optional<datum::RealizationMethod>
    - PositionalAccuracy::create
    - std::move
    - buildFactoryException
    - auto::as_nullable
    - DatumEnsemble::create
    - createPropertiesSearchUsages
    - runWithCodeParam
    - util::optional<std::string>
    - auto::front
    - auto::set
    - std::vector::push_back
    - AuthorityFactory::createUnitOfMeasure
    - starts_with
    - c_locale_stod
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: void
    signature: "void AuthorityFactory::createVerticalDatumOrEnsemble(\n    const std::string
      &code, datum::VerticalReferenceFramePtr &outDatum,\n    datum::DatumEnsemblePtr
      &outDatumEnsemble, bool turnEnsembleAsDatum) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5111,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5116,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5117,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5118,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5121,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5127,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5130,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5131,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5133,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5134,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:5136,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5137,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5139,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5141,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5144
      start: 5109
    functionDepth: 1
    functionLinenumber: 5109
    functionLinenumberEnd: 5144
    functionName: AuthorityFactory::createEngineeringDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - util::optional<std::string>
    - auto::front
    - auto::set
    - authority
    - buildFactoryException
    - auto::empty
    - EngineeringDatum::create
    - NoSuchAuthorityCodeException
    - createPropertiesSearchUsages
    linkageType: ''
    returnType: datum::EngineeringDatumNNPtr
    signature: datum::EngineeringDatumNNPtr AuthorityFactory::createEngineeringDatum(const
      std::string &code) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5160,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5168,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5168,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5169,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5170,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5171,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5178,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5180,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5184,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5188,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5189,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5191,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5193,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:5194,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5195,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5198,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - code
    - type
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5157
    functionDepth: 2
    functionLinenumber: 5157
    functionLinenumberEnd: 5200
    functionName: AuthorityFactory::createDatumEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - authority
    - std::move
    - std::vector::push_back
    - PositionalAccuracy::create
    - DatumEnsemble::create
    - run
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    - createPropertiesSearchUsages
    linkageType: ''
    returnType: datum::DatumEnsembleNNPtr
    signature: "datum::DatumEnsembleNNPtr AuthorityFactory::createDatumEnsemble(const
      std::string &code,\n                                      const std::string
      &type) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:5213,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5221,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5221,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5221,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5222,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5223,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5223,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5226,1
    - Dst: AuthorityFactory::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:5228,1
    - Dst: AuthorityFactory::createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:5231,1
    - Dst: AuthorityFactory::createEngineeringDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:5233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5234
      start: 5212
    functionDepth: 2
    functionLinenumber: 5212
    functionLinenumberEnd: 5234
    functionName: AuthorityFactory::createDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - AuthorityFactory::createGeodeticDatum
    - AuthorityFactory::createVerticalDatum
    - authority
    - run
    - auto::empty
    - NoSuchAuthorityCodeException
    - AuthorityFactory::createEngineeringDatum
    linkageType: ''
    returnType: datum::DatumNNPtr
    signature: datum::DatumNNPtr AuthorityFactory::createDatum(const std::string &code)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:5241,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5242,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5243,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:5243,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5244,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:5246,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5247,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5248,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:5248,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5254
      start: 5239
    functionDepth: 1
    functionLinenumber: 5239
    functionLinenumberEnd: 5254
    functionName: createMeridian
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - std::string::substr
    - c_locale_stod
    - createAngle
    - ends_with
    - std::string
    - std::string::size
    - Meridian::create
    linkageType: ''
    returnType: cs::MeridianPtr
    signature: cs::MeridianPtr createMeridian(const std::string &val)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5269,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5271,1
    - Dst: getCoordinateSystemFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5271,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5273,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5276,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5285,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5286,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5287,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5290,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5298,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5299,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5302,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5304,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5306,1
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/factory.cpp:5308,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5321,1
    - Dst: createMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:5324,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5324,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:5324,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:5325,1
    - Dst: createMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:5328,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/factory.cpp:5328,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:5328,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5330,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5334,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5334,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5340,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5340,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5344,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5345,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5348,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5349,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5350,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5352,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5353,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5353,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5356,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5359,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5360,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5361,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5363,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5364,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5364,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5367,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5370,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5371,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5372,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5374,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5375,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5375,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5378,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/factory.cpp:5381,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5382,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5382,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5384,1
    - Dst: cacheAndRet
      Src: /src/PROJ/src/iso19111/factory.cpp:5387,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5387,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5389,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5390
      start: 5267
    functionDepth: 2
    functionLinenumber: 5267
    functionLinenumberEnd: 5390
    functionName: AuthorityFactory::createCoordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - authority
    - PropertyMap::PropertyMap
    - SphericalCS::create
    - CoordinateSystemAxis::create
    - std::vector::size
    - NN_NO_CHECK
    - auto::substr
    - FactoryException
    - strlen
    - context
    - runWithCodeParam
    - auto::front
    - AuthorityFactory::createUnitOfMeasure
    - cacheAndRet
    - CartesianCS::create
    - cache
    - getCoordinateSystemFromCache
    - starts_with
    - createMeridian
    - VerticalCS::create
    - OrdinalCS::create
    - std::vector::emplace_back
    - EllipsoidalCS::create
    - auto::empty
    - AxisDirection::valueOf
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: cs::CoordinateSystemNNPtr
    signature: cs::CoordinateSystemNNPtr AuthorityFactory::createCoordinateSystem(const
      std::string &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5402
    functionDepth: 1
    functionLinenumber: 5402
    functionLinenumberEnd: 5405
    functionName: AuthorityFactory::createGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 2
    functionsReached:
    - AuthorityFactory::createGeodeticCRS
    linkageType: ''
    returnType: crs::GeodeticCRSNNPtr
    signature: crs::GeodeticCRSNNPtr AuthorityFactory::createGeodeticCRS(const std::string
      &code) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5422,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5423,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5426
      start: 5417
    functionDepth: 1
    functionLinenumber: 5417
    functionLinenumberEnd: 5426
    functionName: AuthorityFactory::createGeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - authority
    - NoSuchAuthorityCodeException
    - NN_NO_CHECK
    linkageType: ''
    returnType: crs::GeographicCRSNNPtr
    signature: crs::GeographicCRSNNPtr AuthorityFactory::createGeographicCRS(const
      std::string &code) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crs::GeodeticCRSNNPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:5433,1
    - Dst: util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5434,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5436,1
    - Dst: crs::GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:5436,1
    - Dst: crs::GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:5437,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5438,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5440,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5442,1
    - Dst: crs::GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:5442,1
    - Dst: crs::GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:5443,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - geodCRS
    - props
    argTypes:
    - crs::GeodeticCRSNNPtr
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5447
      start: 5430
    functionDepth: 1
    functionLinenumber: 5430
    functionLinenumberEnd: 5447
    functionName: cloneWithProps
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - crs::GeodeticCRSNNPtr::datum
    - GeodeticCRS::create
    - GeographicCRS::create
    - NN_NO_CHECK
    - crs::GeodeticCRSNNPtr::coordinateSystem
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
    - crs::GeodeticCRSNNPtr::datumEnsemble
    linkageType: ''
    returnType: crs::GeodeticCRSNNPtr
    signature: "crs::GeodeticCRSNNPtr cloneWithProps(const crs::GeodeticCRSNNPtr &geodCRS,\n
      \              const util::PropertyMap &props)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5454,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5455,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5455,1
    - Dst: std::dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5459,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5461,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5462,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5472,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5473,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5474,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5475,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5478,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5489,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5492,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5493,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:5494,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/iso19111/factory.cpp:5495,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5495,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5496,1
    - Dst: cloneWithProps
      Src: /src/PROJ/src/iso19111/factory.cpp:5498,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5498,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5499,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5499,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5503,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:5503,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5505,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5506,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5508,1
    - Dst: cloneWithProps
      Src: /src/PROJ/src/iso19111/factory.cpp:5509,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5509,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5510,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/factory.cpp:5510,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5511,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5512,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5513,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5517,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5522,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5526,1
    - Dst: util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5531,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5534,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5535,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5536,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5536,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5540,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5542,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5543,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5544,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5544,1
    - Dst: util::nn_dynamic_pointer_cast<cs::SphericalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5548,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5550,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5551,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5552,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5552,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5556,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/factory.cpp:5557,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5559,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5559,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 2
    argNames:
    - code
    - geographicOnly
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5561
      start: 5451
    functionDepth: 2
    functionLinenumber: 5451
    functionLinenumberEnd: 5561
    functionName: AuthorityFactory::createGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - auto::transformation
    - auto::baseCRSWithCanonicalBoundCRS
    - auto::baseCRS
    - authority
    - NN_NO_CHECK
    - auto::hubCRS
    - auto::getWKT2Type
    - BoundCRS::create
    - cloneWithProps
    - buildFactoryException
    - GeodeticCRS::create
    - getCRSFromCache
    - FactoryException
    - util::nn_dynamic_pointer_cast<cs::EllipsoidalCS>
    - context
    - util::nn_dynamic_pointer_cast<cs::SphericalCS>
    - createPropertiesSearchUsages
    - runWithCodeParam
    - dynamic_cast<const crs::BoundCRS *>
    - auto::front
    - GeographicCRS::create
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - cache
    - createFromUserInput
    - pj_add_type_crs_if_needed
    - std::dynamic_pointer_cast<crs::GeodeticCRS>
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: crs::GeodeticCRSNNPtr
    signature: "crs::GeodeticCRSNNPtr AuthorityFactory::createGeodeticCRS(const std::string
      &code,\n                                    bool geographicOnly) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5575,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5576,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5576,1
    - Dst: std::dynamic_pointer_cast<crs::VerticalCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5578,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5580,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5582,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5583,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5585,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5591,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5592,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5593,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5596,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5604,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5608,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5611,1
    - Dst: util::nn_dynamic_pointer_cast<cs::VerticalCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5614,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5616,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5617,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5618,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5618,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5621,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/factory.cpp:5622,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5624,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5626
      start: 5573
    functionDepth: 2
    functionLinenumber: 5573
    functionLinenumberEnd: 5626
    functionName: AuthorityFactory::createVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - auto::front
    - util::nn_dynamic_pointer_cast<cs::VerticalCS>
    - authority
    - buildFactoryException
    - VerticalCRS::create
    - getCRSFromCache
    - createFactory
    - NN_NO_CHECK
    - FactoryException
    - std::dynamic_pointer_cast<crs::VerticalCRS>
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    - cache
    - createPropertiesSearchUsages
    - auto::getWKT2Type
    linkageType: ''
    returnType: crs::VerticalCRSNNPtr
    signature: crs::VerticalCRSNNPtr AuthorityFactory::createVerticalCRS(const std::string
      &code) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5641,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5642,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5642,1
    - Dst: std::dynamic_pointer_cast<crs::EngineeringCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5644,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5646,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5648,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5649,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5651,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5657,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5658,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5659,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5662,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5670,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5671,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5673,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5675,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5676,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5676,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5679,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5639
    functionDepth: 2
    functionLinenumber: 5639
    functionLinenumberEnd: 5681
    functionName: AuthorityFactory::createEngineeringCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - auto::front
    - authority
    - EngineeringCRS::create
    - buildFactoryException
    - getCRSFromCache
    - createFactory
    - NN_NO_CHECK
    - std::dynamic_pointer_cast<crs::EngineeringCRS>
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    - cache
    - createPropertiesSearchUsages
    linkageType: ''
    returnType: crs::EngineeringCRSNNPtr
    signature: crs::EngineeringCRSNNPtr AuthorityFactory::createEngineeringCRS(const
      std::string &code) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5723,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5724,1
    - Dst: AuthorityFactory::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:5728,1
    - Dst: util::nn_dynamic_pointer_cast<operation::Conversion>
      Src: /src/PROJ/src/iso19111/factory.cpp:5733,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5735,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5739,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5740,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5743,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5755,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5763,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5763,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5764,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5769,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5771,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:5773,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5773,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:5774,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5778,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5780,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5781,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5784,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5786,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:5787,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5792,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5795,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5795,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5693
    functionDepth: 2
    functionLinenumber: 5693
    functionLinenumberEnd: 5797
    functionName: AuthorityFactory::createConversion
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - OperationParameter::create
    - auto::front
    - auto::set
    - authority
    - PropertyMap::PropertyMap
    - OperationParameterValue::create
    - buildFactoryException
    - std::vector::emplace_back
    - AuthorityFactory::createCoordinateOperation
    - NN_NO_CHECK
    - normalizeMeasure
    - AuthorityFactory::createUnitOfMeasure
    - Conversion::create
    - auto::empty
    - util::nn_dynamic_pointer_cast<operation::Conversion>
    - NoSuchAuthorityCodeException
    - createPropertiesSearchUsages
    linkageType: ''
    returnType: operation::ConversionNNPtr
    signature: operation::ConversionNNPtr AuthorityFactory::createConversion(const
      std::string &code) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5811,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5812,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5812,1
    - Dst: std::dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5814,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5816,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5818,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5819,1
    - Dst: createProjectedCRSEnd
      Src: /src/PROJ/src/iso19111/factory.cpp:5821,1
    - Dst: createProjectedCRSBegin
      Src: /src/PROJ/src/iso19111/factory.cpp:5821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5822
      start: 5809
    functionDepth: 1
    functionLinenumber: 5809
    functionLinenumberEnd: 5822
    functionName: AuthorityFactory::createProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - authority
    - createProjectedCRSEnd
    - getCRSFromCache
    - NN_NO_CHECK
    - createProjectedCRSBegin
    - context
    - NoSuchAuthorityCodeException
    - std::dynamic_pointer_cast<crs::ProjectedCRS>
    linkageType: ''
    returnType: crs::ProjectedCRSNNPtr
    signature: crs::ProjectedCRSNNPtr AuthorityFactory::createProjectedCRS(const std::string
      &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5841
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5841
    functionName: AuthorityFactory::Private::createProjectedCRSBegin(const std::string
      &code)
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - runWithCodeParam
    linkageType: ''
    returnType: SQLResultSet
    signature: SQLResultSet AuthorityFactory::Private::createProjectedCRSBegin(const
      std::string &code)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5849,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5850,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5851,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5852,1
    - Dst: SQLResultSet::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5855,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:5866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5869,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:5871,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/iso19111/factory.cpp:5872,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5872,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5873,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:5873,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:5875,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:5877,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5878,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5879,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:5881,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:5881,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:5882,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5883,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5884,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:5885,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5886,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5886,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5890,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:5890,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:5892,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5893,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5895,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5896,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5896,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:5897,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:5898,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5899,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/factory.cpp:5899,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5900,1
    - Dst: util::nn_dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5901,1
    - Dst: auto::baseCRSWithCanonicalBoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:5902,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5906,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5910,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5912,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:5915,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:5917,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/factory.cpp:5918,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:5919,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:5919,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5923,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:5925,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5926,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5927,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:5927,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5930,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/factory.cpp:5931,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:5933,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5933,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - code
    - res
    argTypes:
    - std::string
    - SQLResultSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5935
      start: 5846
    functionDepth: 2
    functionLinenumber: 5846
    functionLinenumberEnd: 5935
    functionName: "AuthorityFactory::Private::createProjectedCRSEnd(const std::string
      &code,\n                                                 const SQLResultSet
      &res)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::transformation
    - auto::baseCRSWithCanonicalBoundCRS
    - auto::parameterValues
    - auto::coordinateSystem
    - auto::baseCRS
    - authority
    - PropertyMap::PropertyMap
    - Conversion::create
    - NN_NO_CHECK
    - SQLResultSet::front
    - auto::hubCRS
    - auto::getWKT2Type
    - BoundCRS::create
    - auto::nameStr
    - auto::method
    - std::move
    - buildFactoryException
    - auto::setProperties
    - FactoryException
    - ProjectedCRS::create
    - context
    - createPropertiesSearchUsages
    - dynamic_cast<const crs::BoundCRS *>
    - SQLResultSet::empty
    - auto::shallowClone
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - cache
    - createFromUserInput
    - pj_add_type_crs_if_needed
    - auto::derivingConversion
    - dynamic_cast<const crs::ProjectedCRS *>
    - util::nn_dynamic_pointer_cast<crs::ProjectedCRS>
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: crs::ProjectedCRSNNPtr
    signature: "crs::ProjectedCRSNNPtr AuthorityFactory::Private::createProjectedCRSEnd(const
      std::string &code,\n                                                 const SQLResultSet
      &res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5949,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:5950,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:5950,1
    - Dst: std::dynamic_pointer_cast<crs::DerivedProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:5953,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:5955,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5957,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5958,1
    - Dst: createDerivedProjectedCRSEnd
      Src: /src/PROJ/src/iso19111/factory.cpp:5960,1
    - Dst: createDerivedProjectedCRSBegin
      Src: /src/PROJ/src/iso19111/factory.cpp:5961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5947
    functionDepth: 1
    functionLinenumber: 5947
    functionLinenumberEnd: 5962
    functionName: AuthorityFactory::createDerivedProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - authority
    - createDerivedProjectedCRSBegin
    - getCRSFromCache
    - std::dynamic_pointer_cast<crs::DerivedProjectedCRS>
    - NN_NO_CHECK
    - createDerivedProjectedCRSEnd
    - context
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: crs::DerivedProjectedCRSNNPtr
    signature: crs::DerivedProjectedCRSNNPtr AuthorityFactory::createDerivedProjectedCRS(const
      std::string &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:5971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5979
      start: 5969
    functionDepth: 0
    functionLinenumber: 5969
    functionLinenumberEnd: 5979
    functionName: "AuthorityFactory::Private::createDerivedProjectedCRSBegin(\n    const
      std::string &code)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - runWithCodeParam
    linkageType: ''
    returnType: SQLResultSet
    signature: "SQLResultSet AuthorityFactory::Private::createDerivedProjectedCRSBegin(\n
      \   const std::string &code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5988,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:5989,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:5990,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:5991,1
    - Dst: SQLResultSet::front
      Src: /src/PROJ/src/iso19111/factory.cpp:5994,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6005,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6008,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:6010,1
    - Dst: pj_add_type_crs_if_needed
      Src: /src/PROJ/src/iso19111/factory.cpp:6011,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6011,1
    - Dst: dynamic_cast<const crs::DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:6013,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:6013,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:6015,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:6017,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6018,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6019,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:6021,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:6021,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6022,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6023,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6024,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:6025,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6026,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:6026,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6029,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6033,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6035,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6038,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:6040,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/factory.cpp:6041,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/factory.cpp:6042,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6042,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6047,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6048,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:6048,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6051,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6051,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - code
    - res
    argTypes:
    - std::string
    - SQLResultSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 5985
    functionDepth: 2
    functionLinenumber: 5985
    functionLinenumberEnd: 6054
    functionName: "AuthorityFactory::Private::createDerivedProjectedCRSEnd(\n    const
      std::string &code, const SQLResultSet &res)"
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::parameterValues
    - auto::coordinateSystem
    - auto::baseCRS
    - authority
    - PropertyMap::PropertyMap
    - Conversion::create
    - SQLResultSet::front
    - auto::nameStr
    - auto::method
    - dynamic_cast<const crs::DerivedProjectedCRS *>
    - std::move
    - buildFactoryException
    - auto::setProperties
    - FactoryException
    - context
    - createPropertiesSearchUsages
    - SQLResultSet::empty
    - auto::shallowClone
    - DerivedProjectedCRS::create
    - cache
    - createFromUserInput
    - pj_add_type_crs_if_needed
    - auto::derivingConversion
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: crs::DerivedProjectedCRSNNPtr
    signature: "crs::DerivedProjectedCRSNNPtr AuthorityFactory::Private::createDerivedProjectedCRSEnd(\n
      \   const std::string &code, const SQLResultSet &res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6070,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6075,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6076,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6077,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6080,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6089,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6091,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6094,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6096,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6097,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6098,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6100,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6102
      start: 6067
    functionDepth: 2
    functionLinenumber: 6067
    functionLinenumberEnd: 6102
    functionName: AuthorityFactory::createCompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - runWithCodeParam
    - auto::front
    - CompoundCRS::create
    - authority
    - std::move
    - buildFactoryException
    - auto::empty
    - createFactory
    - NoSuchAuthorityCodeException
    - createPropertiesSearchUsages
    linkageType: ''
    returnType: crs::CompoundCRSNNPtr
    signature: crs::CompoundCRSNNPtr AuthorityFactory::createCompoundCRS(const std::string
      &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:6116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6117
      start: 6114
    functionDepth: 1
    functionLinenumber: 6114
    functionLinenumberEnd: 6117
    functionName: AuthorityFactory::createCoordinateReferenceSystem
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - AuthorityFactory::createCoordinateReferenceSystem
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: "crs::CRSNNPtr AuthorityFactory::createCoordinateReferenceSystem(\n
      \   const std::string &code) const"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6124,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6125,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:6125,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6127,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6130,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6133,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6134,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6137,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6139,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6140,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6144,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6146,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6147,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6148,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6149,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6152,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6157,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6158,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6160,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6162,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6163,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6166,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6168,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6169,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6170,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6171,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6174,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6179,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6180,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6182,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6184,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6185,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6187,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6189,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6190,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6191,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6192,1
    - Dst: AuthorityFactory::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:6198,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6202,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6204,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6205,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6205,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6208,1
    - Dst: AuthorityFactory::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6211,1
    - Dst: AuthorityFactory::createVerticalCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6214,1
    - Dst: AuthorityFactory::createProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6217,1
    - Dst: AuthorityFactory::createDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6220,1
    - Dst: AuthorityFactory::createEngineeringCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6223,1
    - Dst: AuthorityFactory::createCompoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:6226,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6228,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - code
    - allowCompound
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6121
    functionDepth: 2
    functionLinenumber: 6121
    functionLinenumberEnd: 6229
    functionName: AuthorityFactory::createCoordinateReferenceSystem
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 2
    functionsReached:
    - authority
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - NN_NO_CHECK
    - getCRSFromCache
    - FactoryException
    - context
    - TemporalCountCS::create
    - AuthorityFactory::createProjectedCRS
    - runWithCodeParam
    - AuthorityFactory::createDerivedProjectedCRS
    - auto::front
    - AuthorityFactory::createEngineeringCRS
    - TemporalDatum::create
    - AuthorityFactory::createCompoundCRS
    - AuthorityFactory::createGeodeticCRS
    - AuthorityFactory::createUnitOfMeasure
    - AuthorityFactory::createVerticalCRS
    - TemporalCRS::create
    - DateTime::create
    - AuthorityFactory::createCoordinateReferenceSystem
    - auto::empty
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: "crs::CRSNNPtr AuthorityFactory::createCoordinateReferenceSystem(const
      std::string &code,\n                                                  bool allowCompound)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6246,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6250,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6251,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6252,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6255,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6261,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6264,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6265,1
    - Dst: util::nn_dynamic_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:6268,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/factory.cpp:6269,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6271,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:6272,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6273,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6275,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6276,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6276,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6278,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6279,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6279,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:6280,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6283,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6286
      start: 6244
    functionDepth: 2
    functionLinenumber: 6244
    functionLinenumberEnd: 6286
    functionName: AuthorityFactory::createCoordinateMetadata
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - runWithCodeParam
    - createFromUserInput
    - auto::front
    - util::nn_dynamic_pointer_cast<crs::CRS>
    - authority
    - buildFactoryException
    - c_locale_stod
    - CoordinateMetadata::create
    - auto::as_nullable
    - createFactory
    - FactoryException
    - NN_NO_CHECK
    - std::string
    - auto::empty
    - context
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: coordinates::CoordinateMetadataNNPtr
    signature: coordinates::CoordinateMetadataNNPtr AuthorityFactory::createCoordinateMetadata(const
      std::string &code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6298
      start: 6292
    functionDepth: 1
    functionLinenumber: 6292
    functionLinenumberEnd: 6298
    functionName: createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap createMapNameEPSGCode(const std::string &name,\n
      \                                              int code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameter::getNameForEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6303,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6304,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6305,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts:
    - condition: (name)
      pos:
        line_end: 6303
        line_start: 6303
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 6307
      start: 6302
    functionDepth: 1
    functionLinenumber: 6302
    functionLinenumberEnd: 6307
    functionName: createOpParamNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - OperationParameter::create
    - OperationParameter::getNameForEPSGCode
    - createMapNameEPSGCode
    - assert
    linkageType: ''
    returnType: operation::OperationParameterNNPtr
    signature: operation::OperationParameterNNPtr createOpParamNameEPSGCode(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6311,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6312,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - uom
    argTypes:
    - std::string
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6313
      start: 6309
    functionDepth: 1
    functionLinenumber: 6309
    functionLinenumberEnd: 6313
    functionName: createLength
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 3
    functionsReached:
    - OperationParameterValue::create
    - c_locale_stod
    - createLength
    linkageType: ''
    returnType: operation::ParameterValueNNPtr
    signature: "operation::ParameterValueNNPtr createLength(const std::string &value,\n
      \                                                  const UnitOfMeasure &uom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6317,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6318,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - uom
    argTypes:
    - std::string
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6319
      start: 6315
    functionDepth: 1
    functionLinenumber: 6315
    functionLinenumberEnd: 6319
    functionName: createAngle
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 5
    functionsReached:
    - OperationParameterValue::create
    - c_locale_stod
    - createAngle
    linkageType: ''
    returnType: operation::ParameterValueNNPtr
    signature: "operation::ParameterValueNNPtr createAngle(const std::string &value,\n
      \                                                 const UnitOfMeasure &uom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:6337,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:6338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - usePROJAlternativeGridNames
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6335
    functionDepth: 1
    functionLinenumber: 6335
    functionLinenumberEnd: 6339
    functionName: AuthorityFactory::createCoordinateOperation
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 3
    functionsReached:
    - std::string
    - AuthorityFactory::createCoordinateOperation
    linkageType: ''
    returnType: operation::CoordinateOperationNNPtr
    signature: "operation::CoordinateOperationNNPtr AuthorityFactory::createCoordinateOperation(\n
      \   const std::string &code, bool usePROJAlternativeGridNames) const"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6345,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6346,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6350,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6351,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6352,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6354,1
    - Dst: AuthorityFactory::createConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:6358,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6363,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6381,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6383,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6384,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6387,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6441,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:6441,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6443,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6446,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6448,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6452,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6455,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6461,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6461,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6463,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6463,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6465,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6465,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6467,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6467,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6469,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6469,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6471,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6471,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6473,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6475,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6478,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6478,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6480,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6480,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6482,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6482,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6484,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6484,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6486,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6486,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6488,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6488,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6491,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6493,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6496,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6496,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6498,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6498,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/factory.cpp:6499,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6499,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6503,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6506,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6509,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6509,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6511,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6512,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6514,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6514,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6516,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6517,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6519,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6519,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6521,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6522,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6524,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6527,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6527,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6529,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6529,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6531,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6531,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6533,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6533,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6535,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6535,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6537,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/factory.cpp:6537,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6540,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6542,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6542,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6544,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6544,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/factory.cpp:6545,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6545,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6548,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6548,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6550,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6550,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6551,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6551,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6554,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6554,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6556,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6556,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6557,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:6557,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6558,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6561,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6563,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6563,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6565,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6565,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6567,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6567,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6569,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6569,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6571,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:6571,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6573,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/factory.cpp:6573,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6576,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6578,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:6579,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6584,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6590,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6591,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6592,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6594,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6599,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6599,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6605,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6622,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6624,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6625,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6628,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6651,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6651,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6652,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6657,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:6658,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6659,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6660,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6660,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6661,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6668,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:6669,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6676,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6685,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6685,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6686,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6692,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6694,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6696,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6696,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6697,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6706,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:6706,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6709,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6712,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6715,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6717,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6722,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6724,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:6725,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6729,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6735,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6736,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6737,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:6742,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:6743,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:6743,1
    - Dst: InvalidOperation::InvalidOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:6744,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6749,1
    - Dst: auto::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/factory.cpp:6753,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6754,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6759,1
    - Dst: auto::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/factory.cpp:6763,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6763,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6768,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6768,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/factory.cpp:6775,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/factory.cpp:6775,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6797,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/factory.cpp:6797,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6798,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6800,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6801,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6804,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6831,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6841,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6841,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6842,1
    - Dst: normalizeMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6848,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6850,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6852,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6852,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:6853,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:6857,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:6857,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6859,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6860,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6860,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6861,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6867,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/factory.cpp:6868,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6872,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6875,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6878,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6880,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:6885,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6887,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:6888,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6893,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6894,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6895,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/src/iso19111/factory.cpp:6900,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/factory.cpp:6902,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                        operation::CoordinateOperation>"
      Src: /src/PROJ/src/iso19111/factory.cpp:6905,1
    - Dst: WKTParser
      Src: /src/PROJ/src/iso19111/factory.cpp:6907,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6909,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/factory.cpp:6912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:6913,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:6918,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:6924,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:6924,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/factory.cpp:6925,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6930,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/factory.cpp:6932,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:6936,1
    - Dst: auto::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/factory.cpp:6940,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:6940,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:6945,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6945,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6951,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:6959,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:6961,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:6962,1
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:6965,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:6972,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:6992,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:6995,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:6998,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:6998,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7001,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:7001,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7003,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:7003,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7008,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:7009,1
    - Dst: ConcatenatedOperation::fixSteps
      Src: /src/PROJ/src/iso19111/factory.cpp:7015,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7016,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7018,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7020,1
    - Dst: createPropertiesSearchUsages
      Src: /src/PROJ/src/iso19111/factory.cpp:7022,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7024,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/factory.cpp:7025,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7030,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7032,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:7033,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/factory.cpp:7040,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7041,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7042,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/factory.cpp:7042,1
    - Dst: dynamic_cast<const operation::Conversion *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7048,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7049,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7060,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/factory.cpp:7061,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7062,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/factory.cpp:7067,1
    - Dst: buildFactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:7071,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7071,1
    - Dst: FactoryException
      Src: /src/PROJ/src/iso19111/factory.cpp:7076,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 236
    argCount: 4
    argNames:
    - code
    - allowConcatenated
    - usePROJAlternativeGridNames
    - typeIn
    argTypes:
    - std::string
    - bool
    - bool
    - std::string
    assertStmts:
    - condition: (idx == row.size())
      pos:
        line_end: 6856
        line_start: 6856
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (idx == row.size())
      pos:
        line_end: 6705
        line_start: 6705
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (idx == row.size())
      pos:
        line_end: 6440
        line_start: 6440
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 7077
      start: 6341
    functionDepth: 2
    functionLinenumber: 6341
    functionLinenumberEnd: 7077
    functionName: AuthorityFactory::createCoordinateOperation
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 3
    functionsReached:
    - auto::get
    - toString
    - dynamic_cast<const operation::Conversion *>
    - authority
    - AuthorityFactory::createConversion
    - PropertyMap::PropertyMap
    - auto::c_str
    - auto::coordinateOperationAccuracies
    - createLength
    - isAxisOrderReversal
    - auto::inverse
    - createFactory
    - Transformation::create
    - NN_NO_CHECK
    - Conversion::create
    - std::ostringstream::str
    - PositionalAccuracy::create
    - std::locale::classic
    - std::ostringstream::imbue
    - "util::nn_dynamic_pointer_cast<\n                        operation::CoordinateOperation>"
    - value
    - auto::substitutePROJAlternativeGridNames
    - auto::setCRSs
    - OperationParameterValue::create
    - std::move
    - buildFactoryException
    - std::atoi
    - assert
    - FactoryException
    - InvalidOperation::InvalidOperation
    - std::string
    - context
    - ConcatenatedOperation::create
    - createPropertiesSearchUsages
    - runWithCodeParam
    - std::string::empty
    - auto::front
    - auto::set
    - auto::size
    - std::vector::push_back
    - createAngle
    - AuthorityFactory::createUnitOfMeasure
    - normalizeMeasure
    - OperationParameter::create
    - starts_with
    - SingleOperation::createPROJBased
    - c_locale_stod
    - ConcatenatedOperation::fixSteps
    - auto::isEquivalentTo
    - createOpParamNameEPSGCode
    - Scale::Scale
    - PointMotionOperation::create
    - WKTParser
    - auto::empty
    - std::vector::emplace_back
    - NoSuchAuthorityCodeException
    - ParameterValue::createFilename
    linkageType: ''
    returnType: operation::CoordinateOperationNNPtr
    signature: "operation::CoordinateOperationNNPtr AuthorityFactory::createCoordinateOperation(\n
      \   const std::string &code, bool allowConcatenated,\n    bool usePROJAlternativeGridNames,
      const std::string &typeIn) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/src/iso19111/factory.cpp:7098,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7099,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sourceCRSCode
    - targetCRSCode
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7101
      start: 7095
    functionDepth: 1
    functionLinenumber: 7095
    functionLinenumberEnd: 7101
    functionName: AuthorityFactory::createFromCoordinateReferenceSystemCodes
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - authority
    - AuthorityFactory::createFromCoordinateReferenceSystemCodes
    linkageType: ''
    returnType: std::vector<operation::CoordinateOperationNNPtr>
    signature: "std::vector<operation::CoordinateOperationNNPtr> AuthorityFactory::createFromCoordinateReferenceSystemCodes(\n
      \   const std::string &sourceCRSCode, const std::string &targetCRSCode) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7133,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7134,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7136,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7136,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7140,1
    - Dst: std::list::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7146
      start: 7115
    functionDepth: 2
    functionLinenumber: 7115
    functionLinenumberEnd: 7146
    functionName: AuthorityFactory::getGeoidModels
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::list::push_back
    - authority
    - ListOfParams::emplace_back
    - hasAuthorityRestriction
    - run
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> AuthorityFactory::getGeoidModels(const std::string
      &code) const
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7201,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7202,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7204,1
    - Dst: geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:7214,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7215,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7217,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:7218,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7220,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7220,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7221,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7221,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7222,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7222,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:7223,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7223,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7231,1
    - Dst: getCRSToCRSCoordOpFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:7231,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7237,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7238,1
    - Dst: auto::d::authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7239,1
    - Dst: auto::d::context
      Src: /src/PROJ/src/iso19111/factory.cpp:7241,1
    - Dst: getCRSFromCache
      Src: /src/PROJ/src/iso19111/factory.cpp:7241,1
    - Dst: std::dynamic_pointer_cast<crs::ProjectedCRS>
      Src: /src/PROJ/src/iso19111/factory.cpp:7245,1
    - Dst: auto::d::createProjectedCRSBegin
      Src: /src/PROJ/src/iso19111/factory.cpp:7248,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7249,1
    - Dst: auto::d::createProjectedCRSEnd
      Src: /src/PROJ/src/iso19111/factory.cpp:7252,1
    - Dst: crs::ProjectedCRSPtr::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:7260,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7261,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7262,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:7263,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:7264,1
    - Dst: crs::ProjectedCRSPtr::derivingConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:7266,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7267,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:7268,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7269,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7272,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7273,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:7273,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7329,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7329,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7339,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7340,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7341,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7342,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7343,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7344,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7345,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7346,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7352,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7353,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7354,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7355,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7357,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7363,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7364,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7365,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7366,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7370,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7371,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7373,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7379,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7380,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7381,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7382,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7386,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7387,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7391,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7393,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7393,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7398,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:7404,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7405,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:7412,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7412,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7423,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7427,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7427,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7429,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7438,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7439,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7440,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:7441,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/src/iso19111/factory.cpp:7442,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:7448,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:7448,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7481,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7485,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7485,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7487,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7502,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7505,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:7510,1
    - Dst: rejectOpDueToMissingGrid
      Src: /src/PROJ/src/iso19111/factory.cpp:7513,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7515,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:7520,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:7521,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:7521,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:7527,1
    - Dst: cache
      Src: /src/PROJ/src/iso19111/factory.cpp:7527,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 157
    argCount: 12
    argNames:
    - sourceCRSAuthName
    - sourceCRSCode
    - targetCRSAuthName
    - targetCRSCode
    - usePROJAlternativeGridNames
    - discardIfMissingGrid
    - considerKnownGridsAsAvailable
    - discardSuperseded
    - tryReverseOrder
    - reportOnlyIntersectingTransformations
    - intersectingExtent1
    - intersectingExtent2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - metadata::ExtentPtr
    - metadata::ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7529
      start: 7191
    functionDepth: 2
    functionLinenumber: 7191
    functionLinenumberEnd: 7529
    functionName: AuthorityFactory::createFromCoordinateReferenceSystemCodes
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - getenv
    - auto::westBoundLongitude
    - toString
    - getCRSToCRSCoordOpFromCache
    - auto::d::createProjectedCRSEnd
    - authority
    - ListOfParams::emplace_back
    - std::vector::resize
    - auto::inverse
    - NN_NO_CHECK
    - Extent::createFromBBOX
    - auto::eastBoundLongitude
    - run
    - std::set::insert
    - auto::southBoundLatitude
    - auto::d::context
    - getCRSFromCache
    - auto::intersects
    - context
    - what
    - std::dynamic_pointer_cast<crs::ProjectedCRS>
    - crs::ProjectedCRSPtr::baseCRS
    - fprintf
    - std::string::empty
    - auto::front
    - auto::size
    - auto::northBoundLatitude
    - geographicElements
    - hasAuthorityRestriction
    - auto::d::createProjectedCRSBegin
    - cache
    - std::pair<std::string, std::string>
    - rejectOpDueToMissingGrid
    - get
    - std::set::find
    - c_locale_stod
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - std::vector::emplace_back
    - auto::d::authority
    - auto::identifiers
    - crs::ProjectedCRSPtr::derivingConversion
    - auto::empty
    - createFactory
    - std::set::end
    linkageType: ''
    returnType: std::vector<operation::CoordinateOperationNNPtr>
    signature: "std::vector<operation::CoordinateOperationNNPtr> AuthorityFactory::createFromCoordinateReferenceSystemCodes(\n
      \   const std::string &sourceCRSAuthName, const std::string &sourceCRSCode,\n
      \   const std::string &targetCRSAuthName, const std::string &targetCRSCode,\n
      \   bool usePROJAlternativeGridNames, bool discardIfMissingGrid,\n    bool considerKnownGridsAsAvailable,
      bool discardSuperseded,\n    bool tryReverseOrder, bool reportOnlyIntersectingTransformations,\n
      \   const metadata::ExtentPtr &intersectingExtent1,\n    const metadata::ExtentPtr
      &intersectingExtent2) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const operation::ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7540,1
    - Dst: operation::CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7540,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/factory.cpp:7544,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7545,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:7546,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:7548,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7549,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:7550,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:7551,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:7552,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:7553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - op
    - sourceCRSAuthName
    - sourceCRSCode
    - targetCRSAuthName
    - targetCRSCode
    argTypes:
    - operation::CoordinateOperationNNPtr
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7559
      start: 7534
    functionDepth: 1
    functionLinenumber: 7534
    functionLinenumberEnd: 7559
    functionName: useIrrelevantPivot
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - code
    - auto::operations
    - auto::size
    - dynamic_cast<const operation::ConcatenatedOperation *>
    - operation::CoordinateOperationNNPtr::get
    - auto::identifiers
    - codeSpace
    - targetCRS
    linkageType: ''
    returnType: bool
    signature: "bool useIrrelevantPivot(const operation::CoordinateOperationNNPtr
      &op,\n                               const std::string &sourceCRSAuthName,\n
      \                              const std::string &sourceCRSCode,\n                               const
      std::string &targetCRSAuthName,\n                               const std::string
      &targetCRSCode)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7639,1
    - Dst: CheckIfHasOperations
      Src: /src/PROJ/src/iso19111/factory.cpp:7649,1
    - Dst: CheckIfHasOperations
      Src: /src/PROJ/src/iso19111/factory.cpp:7650,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:7711,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:7711,1
    - Dst: append
      Src: /src/PROJ/src/iso19111/factory.cpp:7711,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7742,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7744,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7747,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7747,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7748,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7748,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7751,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7751,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7752,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7752,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7756,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7756,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7758,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:7758,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:7760,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:7761,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7762,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7763,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7765,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7767,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/factory.cpp:7768,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7788,1
    - Dst: std::vector<std::string>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7806,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7808,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7814,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7821,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7824,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:7827,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7829,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7829,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7830,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:7830,1
    - Dst: geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:7834,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7835,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:7837,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:7838,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7840,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7841,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7842,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:7843,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7851,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7852,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7853,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7854,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7855,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7856,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7857,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7858,1
    - Dst: std::vector<std::pair<std::string, std::string>>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7868,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:7869,1
    - Dst: std::vector<std::pair<std::string, std::string>>::size
      Src: /src/PROJ/src/iso19111/factory.cpp:7872,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:7885,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7887,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7888,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7889,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7890,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:7893,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:7906,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7907,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:7908,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7909,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7917,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7918,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7918,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7920,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:7925,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:7926,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:7926,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:7928,1
    - Dst: SQLResultSet::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:7933,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:7939,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:7939,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:7947,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7947,1
    - Dst: normalizeDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7951,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:7952,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7952,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:7952,1
    - Dst: normalizeDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7953,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:7954,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7954,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:7954,1
    - Dst: normalizeDate
      Src: /src/PROJ/src/iso19111/factory.cpp:7955,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/factory.cpp:7956,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7956,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:7956,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/factory.cpp:7958,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/factory.cpp:7959,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7968,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:7969,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7987,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:7990,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:7994,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:7994,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:7998,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8001,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8006,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8007,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8008,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8008,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8012,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8013,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8013,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:8030,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8031,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:8033,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8033,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8047,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8050,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8054,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8054,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8058,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8061,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8066,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8067,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8068,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8068,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8072,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8073,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8073,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8088,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:8111,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8112,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:8114,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8114,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8127,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8130,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8134,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8134,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8138,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8141,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8146,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8147,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8148,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8148,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8152,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8153,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8153,1
    - Dst: buildIntermediateWhere
      Src: /src/PROJ/src/iso19111/factory.cpp:8170,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8171,1
    - Dst: filterOutSuperseded
      Src: /src/PROJ/src/iso19111/factory.cpp:8173,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8173,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8186,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8189,1
    - Dst: checkPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8193,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8193,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8197,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8200,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8205,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8206,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8207,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8207,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/factory.cpp:8211,1
    - Dst: fprintf
      Src: /src/PROJ/src/iso19111/factory.cpp:8212,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/factory.cpp:8212,1
    - Dst: rejectOpDueToMissingGrid
      Src: /src/PROJ/src/iso19111/factory.cpp:8222,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8223,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 226
    argCount: 14
    argNames:
    - sourceCRSAuthName
    - sourceCRSCode
    - targetCRSAuthName
    - targetCRSCode
    - usePROJAlternativeGridNames
    - discardIfMissingGrid
    - considerKnownGridsAsAvailable
    - discardSuperseded
    - intermediateCRSAuthCodes
    - allowedIntermediateObjectType
    - allowedAuthorities
    - intersectingExtent1
    - intersectingExtent2
    - skipIntermediateExtentIntersection
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    - bool
    - bool
    - bool
    - std::vector<std::pair<std::string, std::string>>
    - ObjectType
    - std::vector<std::string>
    - metadata::ExtentPtr
    - metadata::ExtentPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8228
      start: 7616
    functionDepth: 2
    functionLinenumber: 7616
    functionLinenumberEnd: 8228
    functionName: AuthorityFactory::createFromCRSCodesWithIntermediates
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - getenv
    - auto::westBoundLongitude
    - authority
    - buildIntermediateWhere
    - nameStr
    - auto::inverse
    - auto::targetCRS
    - auto::eastBoundLongitude
    - run
    - std::vector<std::string>::size
    - dynamic_cast<const crs::GeographicCRS *>
    - auto::emplace_back
    - std::set::insert
    - append
    - auto::southBoundLatitude
    - auto::nameStr
    - std::move
    - filterOutSuperseded
    - std::vector<std::string>::empty
    - ConcatenatedOperation::createComputeMetadata
    - strlen
    - std::string
    - auto::datum
    - what
    - fprintf
    - std::string::empty
    - std::vector<std::pair<std::string, std::string>>::size
    - auto::size
    - normalizeDate
    - auto::northBoundLatitude
    - std::min
    - auto::sourceCRS
    - checkPivot
    - geographicElements
    - hasAuthorityRestriction
    - atoi
    - std::pair<std::string, std::string>
    - SQLResultSet::emplace_back
    - rejectOpDueToMissingGrid
    - starts_with
    - get
    - std::set::find
    - useIrrelevantPivot
    - auto::publicationDate
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - std::vector<std::pair<std::string, std::string>>::empty
    - std::vector::emplace_back
    - auto::empty
    - createFactory
    - std::max
    - CheckIfHasOperations
    - std::set::end
    linkageType: ''
    returnType: std::vector<operation::CoordinateOperationNNPtr>
    signature: "std::vector<operation::CoordinateOperationNNPtr> AuthorityFactory::createFromCRSCodesWithIntermediates(\n
      \   const std::string &sourceCRSAuthName, const std::string &sourceCRSCode,\n
      \   const std::string &targetCRSAuthName, const std::string &targetCRSCode,\n
      \   bool usePROJAlternativeGridNames, bool discardIfMissingGrid,\n    bool considerKnownGridsAsAvailable,
      bool discardSuperseded,\n    const std::vector<std::pair<std::string, std::string>>\n
      \       &intermediateCRSAuthCodes,\n    ObjectType allowedIntermediateObjectType,\n
      \   const std::vector<std::string> &allowedAuthorities,\n    const metadata::ExtentPtr
      &intersectingExtent1,\n    const metadata::ExtentPtr &intersectingExtent2,\n
      \   bool skipIntermediateExtentIntersection) const"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8267,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8267,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8269,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8269,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:8275,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:8275,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:8276,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:8276,1
    - Dst: datum
      Src: /src/PROJ/src/iso19111/factory.cpp:8284,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:8286,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8287,1
    - Dst: common::IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:8288,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8291,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:8292,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:8293,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/factory.cpp:8294,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8297,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:8300,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:8303,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8309,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8312,1
    - Dst: SQLResultSet::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8314,1
    - Dst: GetListCRSWithSameDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:8319,1
    - Dst: GetListCRSWithSameDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:8321,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8323,1
    - Dst: SQLResultSet::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8323,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8370,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8377,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8378,1
    - Dst: std::vector<std::string>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8384,1
    - Dst: std::vector<std::string>::size
      Src: /src/PROJ/src/iso19111/factory.cpp:8386,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8393,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:8396,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8398,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8398,1
    - Dst: BuildSQLPart
      Src: /src/PROJ/src/iso19111/factory.cpp:8412,1
    - Dst: BuildSQLPart
      Src: /src/PROJ/src/iso19111/factory.cpp:8414,1
    - Dst: BuildSQLPart
      Src: /src/PROJ/src/iso19111/factory.cpp:8416,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8421,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8436,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8437,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8438,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:8439,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:8441,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8444,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8444,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8446,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:8446,1
    - Dst: geographicElements
      Src: /src/PROJ/src/iso19111/factory.cpp:8454,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:8455,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8457,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:8458,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8460,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8461,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8462,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:8463,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8466,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8484,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8485,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:8490,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:8495,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8499,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/factory.cpp:8502,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:8506,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/factory.cpp:8510,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8515,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8515,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8516,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:8521,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8522,1
    - Dst: operation::CoordinateOperationPtr::reset
      Src: /src/PROJ/src/iso19111/factory.cpp:8525,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8534,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8537,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8537,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:8538,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/factory.cpp:8543,1
    - Dst: useIrrelevantPivot
      Src: /src/PROJ/src/iso19111/factory.cpp:8544,1
    - Dst: operation::CoordinateOperationPtr::reset
      Src: /src/PROJ/src/iso19111/factory.cpp:8547,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8556,1
    - Dst: std::pair<TrfmInfo, TrfmInfo>
      Src: /src/PROJ/src/iso19111/factory.cpp:8557,1
    - Dst: std::map::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8565,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8593,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8594,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8595,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:8597,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:8598,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8606,1
    - Dst: keyMapSupersession
      Src: /src/PROJ/src/iso19111/factory.cpp:8613,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8613,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:8616,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8625,1
    - Dst: keyMapSupersession
      Src: /src/PROJ/src/iso19111/factory.cpp:8626,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8627,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8632,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:8632,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8634,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:8643,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:8650,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:8650,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8651,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8652,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:8656,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:8656,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8657,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8658,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8662,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8663,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:8668,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8672,1
    - Dst: MakeKey
      Src: /src/PROJ/src/iso19111/factory.cpp:8673,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8674,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8674,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:8675,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:8675,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8680,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8681,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8683,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/factory.cpp:8685,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8687,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8688,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8689,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8690,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8697,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:8701,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:8701,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:8703,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:8703,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8712,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/factory.cpp:8713,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8721,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8721,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8722,1
    - Dst: isOlderCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:8722,1
    - Dst: crs::CRSNNPtr::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:8728,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8729,1
    - Dst: auto::createOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:8731,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8731,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8732,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8733,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8733,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8736,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:8738,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8739,1
    - Dst: auto::createOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:8740,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8740,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8741,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8742,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8743,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8743,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8746,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:8748,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/factory.cpp:8749,1
    - Dst: auto::createOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:8751,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8751,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:8752,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8753,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:8753,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8756,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/factory.cpp:8757,1
    - Dst: rejectOpDueToMissingGrid
      Src: /src/PROJ/src/iso19111/factory.cpp:8764,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8765,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 220
    argCount: 14
    argNames:
    - sourceCRS
    - sourceCRSAuthName
    - sourceCRSCode
    - targetCRS
    - targetCRSAuthName
    - targetCRSCode
    - usePROJAlternativeGridNames
    - discardIfMissingGrid
    - considerKnownGridsAsAvailable
    - discardSuperseded
    - allowedAuthorities
    - intersectingExtent1
    - intersectingExtent2
    - skipIntermediateExtentIntersection
    argTypes:
    - crs::CRSNNPtr
    - std::string
    - std::string
    - crs::CRSNNPtr
    - std::string
    - std::string
    - bool
    - bool
    - bool
    - bool
    - std::vector<std::string>
    - metadata::ExtentPtr
    - metadata::ExtentPtr
    - bool
    assertStmts:
    - condition: (obj != nullptr)
      pos:
        line_end: 8286
        line_start: 8286
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (opFirst)
      pos:
        line_end: 8731
        line_start: 8731
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (opMiddle)
      pos:
        line_end: 8741
        line_start: 8741
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (opLast)
      pos:
        line_end: 8751
        line_start: 8751
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 8770
      start: 8248
    functionDepth: 2
    functionLinenumber: 8248
    functionLinenumberEnd: 8770
    functionName: AuthorityFactory::createBetweenGeodeticCRSWithDatumBasedIntermediates
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::pair<TrfmInfo, TrfmInfo>
    - auto::get
    - auto::westBoundLongitude
    - ListOfParams::emplace_back
    - authority
    - auto::createOperation
    - push_back
    - auto::inverse
    - GetListCRSWithSameDatum
    - createFactory
    - auto::datumNonNull
    - auto::code
    - NN_NO_CHECK
    - auto::targetCRS
    - auto::eastBoundLongitude
    - run
    - std::vector<std::string>::size
    - datumEnsemble
    - std::list::emplace_back
    - std::set::insert
    - auto::southBoundLatitude
    - auto::nameStr
    - MakeKey
    - std::move
    - assert
    - auto::as_nullable
    - auto::intersects
    - std::vector<std::string>::empty
    - ConcatenatedOperation::createComputeMetadata
    - std::string
    - context
    - BuildSQLPart
    - std::string::empty
    - auto::front
    - auto::size
    - std::map::find
    - GeographicBoundingBox::create
    - auto::northBoundLatitude
    - operation::CoordinateOperationPtr::reset
    - auto::sourceCRS
    - auto::codeSpace
    - dynamic_cast<const crs::GeodeticCRS *>
    - SQLResultSet::empty
    - isOlderCRS
    - dynamic_cast<crs::GeodeticCRS *>
    - crs::CRSNNPtr::get
    - geographicElements
    - hasAuthorityRestriction
    - emplace_back
    - SQLResultSet::emplace_back
    - std::pair<std::string, std::string>
    - rejectOpDueToMissingGrid
    - starts_with
    - get
    - keyMapSupersession
    - std::set::find
    - useIrrelevantPivot
    - auto::publicationDate
    - c_locale_stod
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - auto::isEquivalentTo
    - std::map::empty
    - common::IdentifiedObject*::identifiers
    - ListOfParams::push_back
    - datum
    - auto::empty
    - std::vector::emplace_back
    - crs::CRSNNPtr::isEquivalentTo
    - CoordinateOperationFactory::create
    - std::set::end
    linkageType: ''
    returnType: std::vector<operation::CoordinateOperationNNPtr>
    signature: "std::vector<operation::CoordinateOperationNNPtr> AuthorityFactory::createBetweenGeodeticCRSWithDatumBasedIntermediates(\n
      \   const crs::CRSNNPtr &sourceCRS, const std::string &sourceCRSAuthName,\n
      \   const std::string &sourceCRSCode, const crs::CRSNNPtr &targetCRS,\n    const
      std::string &targetCRSAuthName, const std::string &targetCRSCode,\n    bool
      usePROJAlternativeGridNames, bool discardIfMissingGrid,\n    bool considerKnownGridsAsAvailable,
      bool discardSuperseded,\n    const std::vector<std::string> &allowedAuthorities,\n
      \   const metadata::ExtentPtr &intersectingExtent1,\n    const metadata::ExtentPtr
      &intersectingExtent2,\n    bool skipIntermediateExtentIntersection) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8781
      start: 8779
    functionDepth: 0
    functionLinenumber: 8779
    functionLinenumberEnd: 8781
    functionName: '&AuthorityFactory::getAuthority()'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - authority
    linkageType: ''
    returnType: std::string
    signature: std::string &AuthorityFactory::getAuthority()
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:8890,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8890,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:8893,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - type
    - allowDeprecated
    argTypes:
    - ObjectType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8896
      start: 8793
    functionDepth: 1
    functionLinenumber: 8793
    functionLinenumberEnd: 8896
    functionName: AuthorityFactory::getAuthorityCodes
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - std::set::insert
    - authority
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> AuthorityFactory::getAuthorityCodes(const ObjectType
      &type,\n                                    bool allowDeprecated) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: runWithCodeParam
      Src: /src/PROJ/src/iso19111/factory.cpp:8915,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8916,1
    - Dst: NoSuchAuthorityCodeException
      Src: /src/PROJ/src/iso19111/factory.cpp:8917,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8917,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:8928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - code
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8933
      start: 8911
    functionDepth: 1
    functionLinenumber: 8911
    functionLinenumberEnd: 8933
    functionName: AuthorityFactory::getDescriptionText
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - runWithCodeParam
    - std::string::empty
    - authority
    - auto::empty
    - NoSuchAuthorityCodeException
    linkageType: ''
    returnType: std::string
    signature: std::string AuthorityFactory::getDescriptionText(const std::string
      &code) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:8979,1
    - Dst: getJoinCelestialBody
      Src: /src/PROJ/src/iso19111/factory.cpp:8980,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:8982,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:8984,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:8984,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9000,1
    - Dst: getJoinCelestialBody
      Src: /src/PROJ/src/iso19111/factory.cpp:9001,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9002,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9004,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9004,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9011,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9012,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9014,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9014,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9021,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9022,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9024,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9024,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9031,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9032,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9034,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9034,1
    - Dst: getSqlArea
      Src: /src/PROJ/src/iso19111/factory.cpp:9041,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9042,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9044,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9044,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9047,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9075,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9079,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9080,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9081,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9082,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9087,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9090
      start: 8946
    functionDepth: 2
    functionLinenumber: 8946
    functionLinenumberEnd: 9090
    functionName: AuthorityFactory::getCRSInfoList
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - ListOfParams::emplace_back
    - authority
    - getSqlArea
    - c_locale_stod
    - getJoinCelestialBody
    - empty
    - std::list::emplace_back
    - hasAuthorityRestriction
    - run
    linkageType: ''
    returnType: std::list<AuthorityFactory::CRSInfo>
    signature: std::list<AuthorityFactory::CRSInfo> AuthorityFactory::getCRSInfoList()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9097
      start: 9095
    functionDepth: 0
    functionLinenumber: 9095
    functionLinenumberEnd: 9097
    functionName: AuthorityFactory::UnitInfo::UnitInfo()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthorityFactory::UnitInfo::UnitInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9103
      start: 9103
    functionDepth: 0
    functionLinenumber: 9103
    functionLinenumberEnd: 9103
    functionName: AuthorityFactory::CelestialBodyInfo::CelestialBodyInfo()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthorityFactory::CelestialBodyInfo::CelestialBodyInfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9117,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9119,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9119,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9123,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9132,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9136,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9141,1
    - Dst: AuthorityFactory::UnitInfo::name::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9142,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9148,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/factory.cpp:9148,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9154
      start: 9113
    functionDepth: 2
    functionLinenumber: 9113
    functionLinenumberEnd: 9154
    functionName: AuthorityFactory::getUnitList
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - ListOfParams::emplace_back
    - authority
    - AuthorityFactory::UnitInfo::name::find
    - c_locale_stod
    - empty
    - std::list::emplace_back
    - hasAuthorityRestriction
    - run
    linkageType: ''
    returnType: std::list<AuthorityFactory::UnitInfo>
    signature: std::list<AuthorityFactory::UnitInfo> AuthorityFactory::getUnitList()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9167,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9169,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9169,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9173,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9182
      start: 9163
    functionDepth: 2
    functionLinenumber: 9163
    functionLinenumberEnd: 9182
    functionName: AuthorityFactory::getCelestialBodyList
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - ListOfParams::emplace_back
    - authority
    - std::list::emplace_back
    - hasAuthorityRestriction
    - run
    linkageType: ''
    returnType: std::list<AuthorityFactory::CelestialBodyInfo>
    signature: std::list<AuthorityFactory::CelestialBodyInfo> AuthorityFactory::getCelestialBodyList()
      const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9213,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9215,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9217,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9218,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9224,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9226,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9227,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9228,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9232,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9232,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9233,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:9238,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9240,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9241,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9242,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:9244,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9247,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9253,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9255,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9257,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9262,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9265,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9266,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9267,1
    - Dst: ListOfParams::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:9270,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:9271,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:9282,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9284,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9285,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9286,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9290,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9291,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9292,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:9294,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 7
    argNames:
    - aliasedName
    - tableName
    - source
    - tryEquivalentNameSpelling
    - outTableName
    - outAuthName
    - outCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9300
      start: 9203
    functionDepth: 1
    functionLinenumber: 9203
    functionLinenumberEnd: 9300
    functionName: AuthorityFactory::getOfficialNameFromAlias
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::c_str
    - auto::front
    - std::string::clear
    - ListOfParams::emplace_back
    - auto::c_str
    - ListOfParams::clear
    - ListOfParams::push_back
    - Identifier::isEquivalentName
    - run
    - auto::empty
    - std::string
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string AuthorityFactory::getOfficialNameFromAlias(\n    const
      std::string &aliasedName, const std::string &tableName,\n    const std::string
      &source, bool tryEquivalentNameSpelling,\n    std::string &outTableName, std::string
      &outAuthName,\n    std::string &outCode) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - searchedName
    - allowedObjectTypes
    - approximateMatch
    - limitResultCount
    argTypes:
    - std::string
    - std::vector<ObjectType>
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9327
      start: 9315
    functionDepth: 1
    functionLinenumber: 9315
    functionLinenumberEnd: 9327
    functionName: AuthorityFactory::createObjectsFromName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::list::emplace_back
    linkageType: ''
    returnType: std::list<common::IdentifiedObjectNNPtr>
    signature: "std::list<common::IdentifiedObjectNNPtr> AuthorityFactory::createObjectsFromName(\n
      \   const std::string &searchedName,\n    const std::vector<ObjectType> &allowedObjectTypes,
      bool approximateMatch,\n    size_t limitResultCount) const"
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/factory.cpp:9356,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/factory.cpp:9358,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9359,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/factory.cpp:9359,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9364,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/factory.cpp:9377,1
    - Dst: std::vector<ObjectType>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9378,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/factory.cpp:9387,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9388,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9388,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9388,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9395,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9396,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9396,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9399,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9399,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9399,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9402,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9403,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9403,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9405,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9406,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9406,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9407,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9408,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9408,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9412,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9413,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9413,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9416,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9417,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9420,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9421,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9421,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9424,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9425,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9428,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9429,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9429,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9432,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9432,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9432,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9433,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9433,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9433,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9434,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9434,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9434,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9435,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9435,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9435,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9436,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9437,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9438,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9439,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9439,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9442,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9442,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9442,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9445,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9446,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9449,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9450,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9451,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9452,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9455,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9456,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9459,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9460,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9463,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9463,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9463,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9466,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9467,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9467,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9470,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9470,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9470,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9473,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9473,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9473,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9476,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9477,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9477,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9480,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9480,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9480,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9481,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9482,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9482,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9483,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9484,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9484,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9485,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9486,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9486,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9487,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9488,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9488,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9491,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9491,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9491,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9494,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9495,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9495,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9496,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9497,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9497,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9498,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9499,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9499,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9502,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9503,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:9503,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9506,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9506,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9507,1
    - Dst: TableType
      Src: /src/PROJ/src/iso19111/factory.cpp:9507,1
    - Dst: std::vector<ObjectType>::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9516,1
    - Dst: getTableAndTypeConstraints
      Src: /src/PROJ/src/iso19111/factory.cpp:9527,1
    - Dst: second::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9541,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9557,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9559,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9561,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9561,1
    - Dst: second::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9578,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9594,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9596,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9598,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9598,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/factory.cpp:9606,1
    - Dst: simple_max
      Src: /src/PROJ/src/iso19111/factory.cpp:9606,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:9609,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/factory.cpp:9609,1
    - Dst: std::vector<ObjectType>::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9617,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9619,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:9621,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9622,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9623,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9630,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:9630,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9631,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9635,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9636,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:9641,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9642,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9642,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:9645,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9645,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9646,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9648,1
    - Dst: PairObjectName
      Src: /src/PROJ/src/iso19111/factory.cpp:9649,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9649,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9650,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9659,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9663,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:9674,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9675,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9675,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:9678,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9678,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9679,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9680,1
    - Dst: PairObjectName
      Src: /src/PROJ/src/iso19111/factory.cpp:9680,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9681,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9683,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9687,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9693,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9702,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/factory.cpp:9708,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/factory.cpp:9718,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/factory.cpp:9719,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/factory.cpp:9719,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:9722,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9722,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9728,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9731,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/src/iso19111/factory.cpp:9737,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:9739,1
    - Dst: auto::createGeodeticDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:9745,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9748,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:9750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9751,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9753,1
    - Dst: auto::createVerticalDatumOrEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:9759,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9762,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:9764,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9765,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9767,1
    - Dst: auto::createEngineeringDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9769,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9771,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9773,1
    - Dst: auto::createDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9775,1
    - Dst: auto::createVerticalCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9777,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9779,1
    - Dst: auto::createEngineeringCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:9781,1
    - Dst: auto::createConversion
      Src: /src/PROJ/src/iso19111/factory.cpp:9783,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/factory.cpp:9788,1
    - Dst: std::runtime_error
      Src: /src/PROJ/src/iso19111/factory.cpp:9790,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/factory.cpp:9792,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9793,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9794,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9794,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9796,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9797,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9797,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:9801,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9802,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9803,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9804,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9808,1
    - Dst: PairObjectName
      Src: /src/PROJ/src/iso19111/factory.cpp:9808,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9809,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9822,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9823,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9823,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:9826,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9827,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:9827,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9829,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/factory.cpp:9832,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9837,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9838,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9840,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9840,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9843,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9843,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:9847,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:9848,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9849,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9849,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9852,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9852,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:9855,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:9856,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:9857,1
    - Dst: auto::compare
      Src: /src/PROJ/src/iso19111/factory.cpp:9858,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:9865,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:9866,1
    - Dst: auto::compare
      Src: /src/PROJ/src/iso19111/factory.cpp:9867,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/factory.cpp:9875,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9875,1
    - Dst: first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:9875,1
    - Dst: typeid
      Src: /src/PROJ/src/iso19111/factory.cpp:9876,1
    - Dst: first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:9876,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/factory.cpp:9879,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 358
    argCount: 5
    argNames:
    - searchedName
    - allowedObjectTypes
    - approximateMatch
    - limitResultCount
    - useAliases
    argTypes:
    - std::string
    - std::vector<ObjectType>
    - bool
    - size_t
    - bool
    assertStmts:
    - condition: (datumEnsemble)
      pos:
        line_end: 9763
        line_start: 9763
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - condition: (datumEnsemble)
      pos:
        line_end: 9749
        line_start: 9749
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 9882
      start: 9349
    functionDepth: 3
    functionLinenumber: 9349
    functionLinenumberEnd: 9882
    functionName: AuthorityFactory::createObjectsFromNameEx
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::createDerivedProjectedCRS
    - std::string::c_str
    - first::get
    - toString
    - ListOfParams::emplace_back
    - authority
    - auto::push_back
    - auto::createGeodeticDatumOrEnsemble
    - auto::createEngineeringDatum
    - auto::c_str
    - std::list::sort
    - typeid
    - first::identifiers
    - NN_NO_CHECK
    - codeSpace
    - std::list::emplace_back
    - run
    - auto::createProjectedCRS
    - std::set::insert
    - code
    - auto::nameStr
    - auto::createGeodeticDatum
    - auto::createEllipsoid
    - auto::createCompoundCRS
    - static_cast<size_t>
    - std::vector<ObjectType>::empty
    - std::move
    - ends_with
    - std::vector<ObjectType>::size
    - auto::createPrimeMeridian
    - assert
    - strlen
    - std::string
    - context
    - std::string::size
    - auto::createConversion
    - std::runtime_error
    - Identifier::isEquivalentName
    - auto::front
    - second::empty
    - auto::createVerticalDatum
    - auto::size
    - auto::createVerticalDatumOrEnsemble
    - static_cast<int>
    - std::string::resize
    - auto::createEngineeringCRS
    - auto::find
    - auto::createCoordinateOperation
    - std::list::size
    - ci_find
    - hasAuthorityRestriction
    - second::c_str
    - auto::compare
    - simple_max
    - std::pair<std::string, std::string>
    - auto::createGeodeticCRS
    - starts_with
    - strcmp
    - std::set::find
    - TableType
    - std::list::empty
    - getTableAndTypeConstraints
    - auto::createVerticalCRS
    - getObject
    - auto::end
    - ListOfParams::push_back
    - auto::empty
    - createFactory
    - first::nameStr
    - PairObjectName
    - std::set::end
    linkageType: ''
    returnType: std::list<AuthorityFactory::PairObjectName>
    signature: "std::list<AuthorityFactory::PairObjectName> AuthorityFactory::createObjectsFromNameEx(\n
      \   const std::string &searchedName,\n    const std::vector<ObjectType> &allowedObjectTypes,
      bool approximateMatch,\n    size_t limitResultCount, bool useAliases) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9900,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9902,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9902,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9906,1
    - Dst: ListOfParams::push_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9908,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9910,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - approximateMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9916
      start: 9894
    functionDepth: 2
    functionLinenumber: 9894
    functionLinenumberEnd: 9916
    functionName: AuthorityFactory::listAreaOfUseFromName
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - ListOfParams::emplace_back
    - authority
    - ListOfParams::push_back
    - std::list::emplace_back
    - hasAuthorityRestriction
    - run
    linkageType: ''
    returnType: std::list<std::pair<std::string, std::string>>
    signature: "std::list<std::pair<std::string, std::string>> AuthorityFactory::listAreaOfUseFromName(const
      std::string &name,\n                                        bool approximateMatch)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: datum::EllipsoidNNPtr::semiMajorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:9930,1
    - Dst: datum::EllipsoidNNPtr::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/factory.cpp:9931,1
    - Dst: datum::EllipsoidNNPtr::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/factory.cpp:9932,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9933,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9938,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ellipsoid
    argTypes:
    - datum::EllipsoidNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9941
      start: 9921
    functionDepth: 2
    functionLinenumber: 9921
    functionLinenumberEnd: 9941
    functionName: AuthorityFactory::createEllipsoidFromExisting
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - datum::EllipsoidNNPtr::semiMajorAxis
    - std::list::emplace_back
    - run
    - createFactory
    - datum::EllipsoidNNPtr::computeSemiMinorAxis
    - datum::EllipsoidNNPtr::computedInverseFlattening
    linkageType: ''
    returnType: std::list<datum::EllipsoidNNPtr>
    signature: "std::list<datum::EllipsoidNNPtr> AuthorityFactory::createEllipsoidFromExisting(\n
      \   const datum::EllipsoidNNPtr &ellipsoid) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:9954,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9956,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:9956,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9958,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9960,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:9963,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9968,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:9968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - datum_auth_name
    - datum_code
    - geodetic_crs_type
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9971
      start: 9947
    functionDepth: 2
    functionLinenumber: 9947
    functionLinenumberEnd: 9971
    functionName: AuthorityFactory::createGeodeticCRSFromDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - ListOfParams::emplace_back
    - authority
    - std::list::emplace_back
    - hasAuthorityRestriction
    - createFactory
    - run
    linkageType: ''
    returnType: std::list<crs::GeodeticCRSNNPtr>
    signature: "std::list<crs::GeodeticCRSNNPtr> AuthorityFactory::createGeodeticCRSFromDatum(\n
      \   const std::string &datum_auth_name, const std::string &datum_code,\n    const
      std::string &geodetic_crs_type) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: datum::GeodeticReferenceFrameNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:9982,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:9983,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9984,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:9986,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:9987,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:9988,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/factory.cpp:9991,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/factory.cpp:9991,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:9992,1
    - Dst: getSharedFromThis
      Src: /src/PROJ/src/iso19111/factory.cpp:9992,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:9993,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:9996,1
    - Dst: AuthorityFactory::createObjectsFromName
      Src: /src/PROJ/src/iso19111/factory.cpp:10001,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10005,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/factory.cpp:10006,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/factory.cpp:10007,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10007,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/factory.cpp:10009,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10010,1
    - Dst: AuthorityFactory::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:10011,1
    - Dst: util::nn_static_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/factory.cpp:10012,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - datum
    - preferredAuthName
    - geodetic_crs_type
    argTypes:
    - datum::GeodeticReferenceFrameNNPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10019
      start: 9977
    functionDepth: 2
    functionLinenumber: 9977
    functionLinenumberEnd: 10019
    functionName: AuthorityFactory::createGeodeticCRSFromDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - datum::GeodeticReferenceFrameNNPtr::identifiers
    - NN_NO_CHECK
    - codeSpace
    - std::list::emplace_back
    - code
    - databaseContext
    - AuthorityFactory::createObjectsFromName
    - getSharedFromThis
    - auto::front
    - datum::GeodeticReferenceFrameNNPtr::nameStr
    - auto::size
    - util::nn_static_pointer_cast<datum::GeodeticReferenceFrame>
    - AuthorityFactory::createGeodeticCRSFromDatum
    - auto::identifiers
    - datum::GeodeticReferenceFrameNNPtr::_isEquivalentTo
    - auto::createGeodeticCRSFromDatum
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: std::list<crs::GeodeticCRSNNPtr>
    signature: "std::list<crs::GeodeticCRSNNPtr> AuthorityFactory::createGeodeticCRSFromDatum(\n
      \   const datum::GeodeticReferenceFrameNNPtr &datum,\n    const std::string
      &preferredAuthName,\n    const std::string &geodetic_crs_type) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10031,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10033,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10033,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10035,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10040,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - datum_auth_name
    - datum_code
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10043
      start: 10025
    functionDepth: 2
    functionLinenumber: 10025
    functionLinenumberEnd: 10043
    functionName: AuthorityFactory::createVerticalCRSFromDatum
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - ListOfParams::emplace_back
    - authority
    - std::list::emplace_back
    - hasAuthorityRestriction
    - createFactory
    - run
    linkageType: ''
    returnType: std::list<crs::VerticalCRSNNPtr>
    signature: "std::list<crs::VerticalCRSNNPtr> AuthorityFactory::createVerticalCRSFromDatum(\n
      \   const std::string &datum_auth_name, const std::string &datum_code) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10063,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10065,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10065,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10067,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10069,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10071,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10076,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ellipsoid_auth_name
    - ellipsoid_code
    - geodetic_crs_type
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10079
      start: 10049
    functionDepth: 2
    functionLinenumber: 10049
    functionLinenumberEnd: 10079
    functionName: AuthorityFactory::createGeodeticCRSFromEllipsoid
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - ListOfParams::emplace_back
    - authority
    - std::list::emplace_back
    - hasAuthorityRestriction
    - createFactory
    - run
    linkageType: ''
    returnType: std::list<crs::GeodeticCRSNNPtr>
    signature: "std::list<crs::GeodeticCRSNNPtr> AuthorityFactory::createGeodeticCRSFromEllipsoid(\n
      \   const std::string &ellipsoid_auth_name, const std::string &ellipsoid_code,\n
      \   const std::string &geodetic_crs_type) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10092,1
    - Dst: first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10092,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10093,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10094,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10095,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:10096,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:10096,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10110,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10113,1
    - Dst: first::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10113,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10114,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10115,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10116,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:10116,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10122,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:10122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - list
    - params
    - prefixField
    argTypes:
    - std::list<std::pair<crs::CRSNNPtr, int>>
    - ListOfParams
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10129
      start: 10085
    functionDepth: 1
    functionLinenumber: 10085
    functionLinenumberEnd: 10129
    functionName: buildSqlLookForAuthNameCode
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - code
    - first::get
    - auto::baseCRS
    - ListOfParams::emplace_back
    - first::identifiers
    - dynamic_cast<crs::BoundCRS *>
    - codeSpace
    - auto::empty
    - std::set::insert
    linkageType: ''
    returnType: std::string
    signature: "std::string buildSqlLookForAuthNameCode(\n    const std::list<std::pair<crs::CRSNNPtr,
      int>> &list, ListOfParams &params,\n    const char *prefixField)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: crs::ProjectedCRSNNPtr::derivingConversionRef
      Src: /src/PROJ/src/iso19111/factory.cpp:10140,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/factory.cpp:10141,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10142,1
    - Dst: getSharedFromThis
      Src: /src/PROJ/src/iso19111/factory.cpp:10147,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:10148,1
    - Dst: crs::CRS::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10150,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10151,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:10151,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10153,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10157,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10157,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/factory.cpp:10158,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/factory.cpp:10159,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10160,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/factory.cpp:10161,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/factory.cpp:10161,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/factory.cpp:10163,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/factory.cpp:10164,1
    - Dst: auto::crs::CRS::identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10166,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/factory.cpp:10167,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:10167,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/factory.cpp:10168,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/factory.cpp:10169,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10192,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10193,1
    - Dst: crs::ProjectedCRSNNPtr::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10193,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10194,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10195,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10201,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10201,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10202,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10204,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10204,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/factory.cpp:10214,1
    - Dst: dynamic_cast<const operation::OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10217,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/factory.cpp:10218,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/factory.cpp:10222,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/factory.cpp:10223,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/factory.cpp:10225,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10229,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10230,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10232,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10232,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10239,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10245,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10260,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10260,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10261,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10261,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10262,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/factory.cpp:10262,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10280,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10281,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10282,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10283,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/factory.cpp:10289,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10296,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10297,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10298,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10299,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10303,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/factory.cpp:10307,1
    - Dst: crs::ProjectedCRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10307,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/factory.cpp:10308,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10311,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10312,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10315,1
    - Dst: ListOfParams::clear
      Src: /src/PROJ/src/iso19111/factory.cpp:10319,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10323,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10324,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:10330,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:10330,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/factory.cpp:10330,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10335,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:10335,1
    - Dst: escapeLikeStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10347,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10347,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10350,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/factory.cpp:10353,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10353,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10361,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10367,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/factory.cpp:10371,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10378,1
    - Dst: auto::getWKT1GDALMethodName
      Src: /src/PROJ/src/iso19111/factory.cpp:10385,1
    - Dst: escapeLikeStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10394,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10397,1
    - Dst: auto::getESRIMethodName
      Src: /src/PROJ/src/iso19111/factory.cpp:10401,1
    - Dst: escapeLikeStr
      Src: /src/PROJ/src/iso19111/factory.cpp:10410,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10414,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10415,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10416,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10419,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10422,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:10422,1
    - Dst: crs::ProjectedCRSNNPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/factory.cpp:10423,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10423,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10428,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10430,1
    - Dst: auto::parameterValueMeasure
      Src: /src/PROJ/src/iso19111/factory.cpp:10431,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/factory.cpp:10434,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/factory.cpp:10437,1
    - Dst: crs::ProjectedCRSNNPtr::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10437,1
    - Dst: crs::ProjectedCRSNNPtr::baseCRS
      Src: /src/PROJ/src/iso19111/factory.cpp:10438,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/factory.cpp:10438,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/factory.cpp:10440,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/factory.cpp:10440,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10444,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10447,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10449,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10449,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10452,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10454,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10458,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10459,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10462,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10466,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10467,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 174
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::ProjectedCRSNNPtr
    assertStmts:
    - condition: (lockedThisFactory)
      pos:
        line_end: 10147
        line_start: 10147
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 10472
      start: 10135
    functionDepth: 2
    functionLinenumber: 10135
    functionLinenumberEnd: 10472
    functionName: AuthorityFactory::createProjectedCRSFromExisting
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::parameterValues
    - auto::coordinateSystem
    - toString
    - ListOfParams::emplace_back
    - authority
    - PropertyMap::PropertyMap
    - dynamic_cast<const operation::OperationParameterValue *>
    - crs::ProjectedCRSNNPtr::nameStr
    - auto::parameter
    - auto::c_str
    - ListOfParams::clear
    - dynamic_cast<crs::GeographicCRS *>
    - buildSqlLookForAuthNameCode
    - createFactory
    - std::list::emplace_back
    - crs::ProjectedCRSNNPtr::baseCRS
    - dynamic_cast<const crs::GeographicCRS *>
    - coordinateSystem
    - EllipsoidalCS::createLatitudeLongitude
    - run
    - auto::nameStr
    - auto::insert
    - auto::method
    - std::swap
    - EllipsoidalCS::createLongitudeLatitude
    - escapeLikeStr
    - auto::convertToUnit
    - crs::ProjectedCRSNNPtr::coordinateSystem
    - auto::datumEnsemble
    - assert
    - auto::getEPSGCode
    - Identifier::isEquivalentName
    - auto::datum
    - getSharedFromThis
    - replaceAll
    - auto::getWKT1GDALMethodName
    - auto::begin
    - crs::CRS::identify
    - unit
    - ellipsoid
    - auto::getESRIMethodName
    - crs::ProjectedCRSNNPtr::derivingConversionRef
    - auto::size
    - GeographicCRS::create
    - hasAuthorityRestriction
    - get
    - std::list::empty
    - auto::unit
    - getMapping
    - auto::parameterValueMeasure
    - auto::crs::CRS::identify
    - auto::end
    - auto::parameterValue
    - Measure
    - auto::empty
    - auto::type
    - auto::value
    linkageType: ''
    returnType: std::list<crs::ProjectedCRSNNPtr>
    signature: "std::list<crs::ProjectedCRSNNPtr> AuthorityFactory::createProjectedCRSFromExisting(\n
      \   const crs::ProjectedCRSNNPtr &crs) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSharedFromThis
      Src: /src/PROJ/src/iso19111/factory.cpp:10481,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/factory.cpp:10482,1
    - Dst: crs::CompoundCRSNNPtr::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/factory.cpp:10484,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/factory.cpp:10485,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10488,1
    - Dst: identify
      Src: /src/PROJ/src/iso19111/factory.cpp:10489,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10490,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10490,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10498,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10499,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10503,1
    - Dst: buildSqlLookForAuthNameCode
      Src: /src/PROJ/src/iso19111/factory.cpp:10507,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10511,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10516,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10516,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10519,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10523,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CompoundCRSNNPtr
    assertStmts:
    - condition: (lockedThisFactory)
      pos:
        line_end: 10481
        line_start: 10481
        source_file: /src/PROJ/src/iso19111/factory.cpp
    constantsTouched: []
    func_position:
      end: 10526
      start: 10476
    functionDepth: 2
    functionLinenumber: 10476
    functionLinenumberEnd: 10526
    functionName: AuthorityFactory::createCompoundCRSFromExisting
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - identify
    - auto::size
    - ListOfParams::emplace_back
    - crs::CompoundCRSNNPtr::componentReferenceSystems
    - authority
    - assert
    - buildSqlLookForAuthNameCode
    - std::list::emplace_back
    - hasAuthorityRestriction
    - auto::empty
    - createFactory
    - getSharedFromThis
    - run
    linkageType: ''
    returnType: std::list<crs::CompoundCRSNNPtr>
    signature: "std::list<crs::CompoundCRSNNPtr> AuthorityFactory::createCompoundCRSFromExisting(\n
      \   const crs::CompoundCRSNNPtr &crs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10537,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10541,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geoidName
    - usePROJAlternativeGridNames
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10546
      start: 10530
    functionDepth: 2
    functionLinenumber: 10530
    functionLinenumberEnd: 10546
    functionName: AuthorityFactory::getTransformationsForGeoid
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - run
    - std::vector::emplace_back
    - createFactory
    linkageType: ''
    returnType: std::vector<operation::CoordinateOperationNNPtr>
    signature: "std::vector<operation::CoordinateOperationNNPtr> AuthorityFactory::getTransformationsForGeoid(\n
      \   const std::string &geoidName, bool usePROJAlternativeGridNames) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/factory.cpp:10555,1
    - Dst: crs::GeodeticCRSNNPtr::datumNonNull
      Src: /src/PROJ/src/iso19111/factory.cpp:10555,1
    - Dst: context
      Src: /src/PROJ/src/iso19111/factory.cpp:10555,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:10556,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/factory.cpp:10557,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/factory.cpp:10558,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/factory.cpp:10571,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10572,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/factory.cpp:10572,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10573,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/factory.cpp:10573,1
    - Dst: hasAuthorityRestriction
      Src: /src/PROJ/src/iso19111/factory.cpp:10576,1
    - Dst: ListOfParams::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10578,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/factory.cpp:10578,1
    - Dst: run
      Src: /src/PROJ/src/iso19111/factory.cpp:10581,1
    - Dst: util::nn_dynamic_pointer_cast<operation::PointMotionOperation>
      Src: /src/PROJ/src/iso19111/factory.cpp:10586,1
    - Dst: createFactory
      Src: /src/PROJ/src/iso19111/factory.cpp:10587,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/factory.cpp:10590,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/factory.cpp:10590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - crs
    - usePROJAlternativeGridNames
    argTypes:
    - crs::GeodeticCRSNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10594
      start: 10550
    functionDepth: 3
    functionLinenumber: 10550
    functionLinenumberEnd: 10594
    functionName: AuthorityFactory::getPointMotionOperationsFor
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - AuthorityFactory::createGeodeticCRSFromDatum
    - identifiers
    - code
    - ListOfParams::emplace_back
    - hasAuthorityRestriction
    - authority
    - crs::GeodeticCRSNNPtr::datumNonNull
    - std::vector::emplace_back
    - createFactory
    - NN_NO_CHECK
    - codeSpace
    - util::nn_dynamic_pointer_cast<operation::PointMotionOperation>
    - std::string
    - auto::empty
    - context
    - run
    linkageType: ''
    returnType: std::vector<operation::PointMotionOperationNNPtr>
    signature: "std::vector<operation::PointMotionOperationNNPtr> AuthorityFactory::getPointMotionOperationsFor(\n
      \   const crs::GeodeticCRSNNPtr &crs, bool usePROJAlternativeGridNames) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10601
      start: 10601
    functionDepth: 0
    functionLinenumber: 10601
    functionLinenumberEnd: 10601
    functionName: FactoryException::FactoryException
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FactoryException::FactoryException(const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10606
      start: 10605
    functionDepth: 0
    functionLinenumber: 10605
    functionLinenumberEnd: 10606
    functionName: FactoryException::FactoryException
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FactoryException::FactoryException(const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10610
      start: 10610
    functionDepth: 0
    functionLinenumber: 10610
    functionLinenumberEnd: 10610
    functionName: FactoryException::~FactoryException()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FactoryException::~FactoryException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10614
      start: 10614
    functionDepth: 0
    functionLinenumber: 10614
    functionLinenumberEnd: 10614
    functionName: FactoryException::FactoryException
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FactoryException::FactoryException(const FactoryException &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - authority
    - code
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10626
      start: 10625
    functionDepth: 0
    functionLinenumber: 10625
    functionLinenumberEnd: 10626
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &authority, const std::string &code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:10634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - message
    - authority
    - code
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10635
      start: 10631
    functionDepth: 0
    functionLinenumber: 10631
    functionLinenumberEnd: 10635
    functionName: NoSuchAuthorityCodeException::NoSuchAuthorityCodeException
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void NoSuchAuthorityCodeException::NoSuchAuthorityCodeException(\n
      \   const std::string &message, const std::string &authority,\n    const std::string
      &code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10639
      start: 10639
    functionDepth: 0
    functionLinenumber: 10639
    functionLinenumberEnd: 10639
    functionName: NoSuchAuthorityCodeException::~NoSuchAuthorityCodeException()
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoSuchAuthorityCodeException::~NoSuchAuthorityCodeException()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/factory.cpp:10645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - NoSuchAuthorityCodeException
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10645
      start: 10643
    functionDepth: 0
    functionLinenumber: 10643
    functionLinenumberEnd: 10645
    functionName: NoSuchAuthorityCodeException::NoSuchAuthorityCodeException
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void NoSuchAuthorityCodeException::NoSuchAuthorityCodeException(\n
      \   const NoSuchAuthorityCodeException &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10653
      start: 10651
    functionDepth: 0
    functionLinenumber: 10651
    functionLinenumberEnd: 10653
    functionName: '&NoSuchAuthorityCodeException::getAuthority() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &NoSuchAuthorityCodeException::getAuthority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10660
      start: 10658
    functionDepth: 0
    functionLinenumber: 10658
    functionLinenumberEnd: 10660
    functionName: '&NoSuchAuthorityCodeException::getAuthorityCode() const'
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &NoSuchAuthorityCodeException::getAuthorityCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FloatLineCache::get
      Src: /src/PROJ/src/iso19111/factory.cpp:10669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10669
      start: 10665
    functionDepth: 0
    functionLinenumber: 10665
    functionLinenumberEnd: 10669
    functionName: pj_clear_sqlite_cache
    functionSourceFile: /src/PROJ/src/iso19111/factory.cpp
    functionUses: 1
    functionsReached:
    - FloatLineCache::get
    linkageType: ''
    returnType: NS_PROJ_END
    signature: NS_PROJ_END pj_clear_sqlite_cache()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinates.cpp:68,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinates.cpp:74,1
    - Dst: DataEpoch::DataEpoch
      Src: /src/PROJ/src/iso19111/coordinates.cpp:74,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/coordinates.cpp:74,1
    - Dst: isDynamic
      Src: /src/PROJ/src/iso19111/coordinates.cpp:93,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/coordinates.cpp:94,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:100,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinates.cpp:117,1
    - Dst: isDynamic
      Src: /src/PROJ/src/iso19111/coordinates.cpp:135,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/coordinates.cpp:138,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/coordinates.cpp:140,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/coordinates.cpp:141,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinates.cpp:141,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/src/iso19111/coordinates.cpp:142,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/coordinates.cpp:143,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/coordinates.cpp:149,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:157,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:191,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/coordinates.cpp:192,1
    - Dst: coordinateEpoch_::coordinateEpoch
      Src: /src/PROJ/src/iso19111/coordinates.cpp:193,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/iso19111/coordinates.cpp:196,1
    - Dst: crs_::promoteTo3D
      Src: /src/PROJ/src/iso19111/coordinates.cpp:214,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:215,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:219,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:224,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/coordinates.cpp:233,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/coordinates.cpp:234,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/coordinates.cpp:235,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:238,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/coordinates.cpp:240,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:242,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:243,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinates.cpp:244,1
    - Dst: coordinateEpochAsDecimalYear
      Src: /src/PROJ/src/iso19111/coordinates.cpp:244,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:245,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:248,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/coordinates.cpp:258,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinates.cpp:260,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinates.cpp:262,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/coordinates.cpp:263,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:265,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinates.cpp:266,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinates.cpp:267,1
    - Dst: coordinateEpochAsDecimalYear
      Src: /src/PROJ/src/iso19111/coordinates.cpp:267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 272
    functionName: coordinates
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - coordinateEpoch_::has_value
    - getRoundedEpochInDecimalYear
    - NN_NO_CHECK
    - util::Exception
    - coordinateEpochAsDecimalYear
    - crs
    - version
    - create
    - auto::Add
    - writer
    - auto::assignSelf
    - std::make_unique<Private>
    - auto::getPointMotionOperationsFor
    - std::string
    - MakeObjectContext
    - use2019Keywords
    - crs_::promoteTo3D
    - DataEpoch::DataEpoch
    - add
    - std::numeric_limits<double>::quiet_NaN
    - AuthorityFactory::createUnitOfMeasure
    - extractGeodeticCRS
    - endNode
    - FormattingException::Throw
    - startNode
    - auto::AddObjKey
    - isDynamic
    - AuthorityFactory::create
    - coordinateEpoch_::coordinateEpoch
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START coordinates
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const crs::CRSNNPtr &crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - crs
    - coordinateEpoch
    argTypes:
    - crs::CRSNNPtr
    - common::DataEpoch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const crs::CRSNNPtr &crs, const common::DataEpoch &coordinateEpoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinates.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - crsIn
    argTypes:
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: CoordinateMetadata::CoordinateMetadata
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateMetadata::CoordinateMetadata(const crs::CRSNNPtr &crsIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinates.cpp:74,1
    - Dst: DataEpoch::DataEpoch
      Src: /src/PROJ/src/iso19111/coordinates.cpp:74,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/coordinates.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - crsIn
    - coordinateEpochAsDecimalYearIn
    argTypes:
    - crs::CRSNNPtr
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: CoordinateMetadata::CoordinateMetadata
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - DataEpoch::DataEpoch
    - std::make_unique<Private>
    - AuthorityFactory::createUnitOfMeasure
    linkageType: ''
    returnType: void
    signature: "void CoordinateMetadata::CoordinateMetadata(const crs::CRSNNPtr &crsIn,\n
      \                                      double coordinateEpochAsDecimalYearIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: CoordinateMetadata::~CoordinateMetadata()
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateMetadata::~CoordinateMetadata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::isDynamic
      Src: /src/PROJ/src/iso19111/coordinates.cpp:93,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/coordinates.cpp:94,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crsIn
    argTypes:
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: CoordinateMetadata::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 15
    functionsReached:
    - auto::assignSelf
    - util::Exception
    - crs::CRSNNPtr::isDynamic
    linkageType: ''
    returnType: CoordinateMetadataNNPtr
    signature: CoordinateMetadataNNPtr CoordinateMetadata::create(const crs::CRSNNPtr
      &crsIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/coordinates.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crsIn
    - coordinateEpochIn
    argTypes:
    - crs::CRSNNPtr
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: CoordinateMetadata::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 16
    functionsReached:
    - CoordinateMetadata::create
    linkageType: ''
    returnType: CoordinateMetadataNNPtr
    signature: "CoordinateMetadataNNPtr CoordinateMetadata::create(const crs::CRSNNPtr
      &crsIn,\n                                                   double coordinateEpochIn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::isDynamic
      Src: /src/PROJ/src/iso19111/coordinates.cpp:135,1
    - Dst: crs::CRSNNPtr::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/coordinates.cpp:138,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/coordinates.cpp:140,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/coordinates.cpp:141,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinates.cpp:141,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/src/iso19111/coordinates.cpp:142,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/coordinates.cpp:143,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/coordinates.cpp:149,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - crsIn
    - coordinateEpochIn
    - dbContext
    argTypes:
    - crs::CRSNNPtr
    - double
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: CoordinateMetadata::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 16
    functionsReached:
    - crs::CRSNNPtr::isDynamic
    - auto::assignSelf
    - NN_NO_CHECK
    - crs::CRSNNPtr::extractGeodeticCRS
    - auto::getPointMotionOperationsFor
    - std::string
    - util::Exception
    - AuthorityFactory::create
    linkageType: ''
    returnType: CoordinateMetadataNNPtr
    signature: "CoordinateMetadataNNPtr CoordinateMetadata::create(const crs::CRSNNPtr
      &crsIn, double coordinateEpochIn,\n                           const io::DatabaseContextPtr
      &dbContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '&CoordinateMetadata::crs()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: crs::CRSNNPtr &CoordinateMetadata::crs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '&

      CoordinateMetadata::coordinateEpoch()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::DataEpoch>
    signature: 'util::optional<common::DataEpoch> &

      CoordinateMetadata::coordinateEpoch()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:191,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/coordinates.cpp:192,1
    - Dst: coordinateEpoch_::coordinateEpoch
      Src: /src/PROJ/src/iso19111/coordinates.cpp:193,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/iso19111/coordinates.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: CoordinateMetadata::coordinateEpochAsDecimalYear
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - getRoundedEpochInDecimalYear
    - coordinateEpoch_::has_value
    - coordinateEpoch_::coordinateEpoch
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: double CoordinateMetadata::coordinateEpochAsDecimalYear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crs_::promoteTo3D
      Src: /src/PROJ/src/iso19111/coordinates.cpp:214,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:215,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:219,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/coordinates.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: CoordinateMetadata::promoteTo3D
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - coordinateEpoch_::has_value
    - crs_::promoteTo3D
    linkageType: ''
    returnType: CoordinateMetadataNNPtr
    signature: "CoordinateMetadataNNPtr CoordinateMetadata::promoteTo3D(const std::string
      &newName,\n                                const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/coordinates.cpp:233,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/coordinates.cpp:234,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/coordinates.cpp:235,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:238,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/coordinates.cpp:240,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:242,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:243,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinates.cpp:244,1
    - Dst: CoordinateMetadata::coordinateEpochAsDecimalYear
      Src: /src/PROJ/src/iso19111/coordinates.cpp:244,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:245,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinates.cpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: CoordinateMetadata::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - CoordinateMetadata::coordinateEpochAsDecimalYear
    - crs
    - FormattingException::Throw
    - io::WKTFormatter*::version
    - coordinateEpoch_::has_value
    - io::WKTFormatter*::use2019Keywords
    - io::WKTFormatter*::add
    linkageType: ''
    returnType: void
    signature: void CoordinateMetadata::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/coordinates.cpp:258,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinates.cpp:260,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinates.cpp:262,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/coordinates.cpp:263,1
    - Dst: coordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/coordinates.cpp:265,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinates.cpp:266,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinates.cpp:267,1
    - Dst: CoordinateMetadata::coordinateEpochAsDecimalYear
      Src: /src/PROJ/src/iso19111/coordinates.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: CoordinateMetadata::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/coordinates.cpp
    functionUses: 0
    functionsReached:
    - CoordinateMetadata::coordinateEpochAsDecimalYear
    - crs
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - coordinateEpoch_::has_value
    - io::JSONFormatter*::writer
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void CoordinateMetadata::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::logger
      Src: /src/PROJ/src/iso19111/c_api.cpp:87,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:87,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/c_api.cpp:89,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - function
    - text
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: PROJ_NO_INLINE::proj_log_error
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_errno
    - proj_context_errno_set
    - std::string::c_str
    - PJ_CONTEXT*::logger
    linkageType: ''
    returnType: void
    signature: "void PROJ_NO_INLINE proj_log_error(PJ_CONTEXT *ctx, const char *function,\n
      \                                         const char *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::logger
      Src: /src/PROJ/src/iso19111/c_api.cpp:103,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - function
    - text
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: PROJ_NO_INLINE::proj_log_debug
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - PJ_CONTEXT*::logger
    linkageType: ''
    returnType: void
    signature: "void PROJ_NO_INLINE proj_log_debug(PJ_CONTEXT *ctx, const char *function,\n
      \                                         const char *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/PROJ/src/iso19111/c_api.cpp:113,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/c_api.cpp:113,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/c_api.cpp:117,1
    - Dst: char::char
      Src: /src/PROJ/src/iso19111/c_api.cpp:117,1
    - Dst: std::memcpy
      Src: /src/PROJ/src/iso19111/c_api.cpp:125,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:125,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/c_api.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - set
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: to_string_list
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::memcpy
    - char::char
    - c_str
    linkageType: ''
    returnType: PROJ_STRING_LIST
    signature: PROJ_STRING_LIST to_string_list(T &&set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cppContext
    argTypes:
    - struct projCppContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: proj_context_delete_cpp_context
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_context_delete_cpp_context(struct projCppContext *cppContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - dbPath
    - auxDbPaths
    argTypes:
    - PJ_CONTEXT*
    - char*
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: projCppContext::projCppContext
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: "void projCppContext::projCppContext(PJ_CONTEXT *ctx, const char *dbPath,\n
      \                              const std::vector<std::string> &auxDbPaths)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:150,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - auxDbPaths
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: projCppContext::toVector
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> projCppContext::toVector(const char *const
      *auxDbPaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDbPath
      Src: /src/PROJ/src/iso19111/c_api.cpp:159,1
    - Dst: getAuxDbPaths
      Src: /src/PROJ/src/iso19111/c_api.cpp:159,1
    - Dst: projCppContext::projCppContext
      Src: /src/PROJ/src/iso19111/c_api.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: projCppContext::clone
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - getDbPath
    - getAuxDbPaths
    - projCppContext::projCppContext
    linkageType: ''
    returnType: projCppContext
    signature: projCppContext *projCppContext::clone(PJ_CONTEXT *ctx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:167,1
    - Dst: DatabaseContext::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: projCppContext::getDatabaseContext
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - DatabaseContext::create
    linkageType: ''
    returnType: NS_PROJ::io::DatabaseContextNNPtr
    signature: NS_PROJ::io::DatabaseContextNNPtr projCppContext::getDatabaseContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: DatabaseContextNNPtr::getDBcontext
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - PJ_CONTEXT*::get_cpp_context
    linkageType: ''
    returnType: PROJ_NO_INLINE
    signature: PROJ_NO_INLINE DatabaseContextNNPtr getDBcontext(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:186,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:188,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - function
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: DatabaseContextPtr::getDBcontextNoException
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - getDBcontext
    - what
    - proj_log_debug
    linkageType: ''
    returnType: PROJ_NO_INLINE
    signature: 'PROJ_NO_INLINE DatabaseContextPtr

      getDBcontextNoException(PJ_CONTEXT *ctx, const char *function)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:195,1
    - Dst: BaseObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:195,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:197,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/c_api.cpp:199,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:217,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:219,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:221,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/c_api.cpp:222,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:222,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/c_api.cpp:225,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/iso19111/c_api.cpp:228,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:228,1
    - Dst: auto::sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:233,1
    - Dst: auto::targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:234,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:235,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:236,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:239,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:243,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:246,1
    - Dst: pj_new
      Src: /src/PROJ/src/iso19111/c_api.cpp:258,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:265,1
    - Dst: BaseObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:265,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:267,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/c_api.cpp:269,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:270,1
    - Dst: auto::squaredEccentricity
      Src: /src/PROJ/src/iso19111/c_api.cpp:271,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:273,1
    - Dst: _
      Src: /src/PROJ/src/iso19111/c_api.cpp:273,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:274,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:276,1
    - Dst: pj_calc_ellipsoid_params
      Src: /src/PROJ/src/iso19111/c_api.cpp:279,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/c_api.cpp:280,1
    - Dst: static_cast<struct geod_geodesic *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:281,1
    - Dst: calloc
      Src: /src/PROJ/src/iso19111/c_api.cpp:282,1
    - Dst: geod_init
      Src: /src/PROJ/src/iso19111/c_api.cpp:284,1
    - Dst: sqrt
      Src: /src/PROJ/src/iso19111/c_api.cpp:285,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - objIn
    argTypes:
    - PJ_CONTEXT*
    - BaseObjectNNPtr
    assertStmts:
    - condition: (pj->geod == nullptr)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 293
    functionName: pj_obj_create
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - geod_init
    - dynamic_cast<const CoordinateOperation *>
    - PJ_CONTEXT*::get_cpp_context
    - BaseObjectNNPtr::get
    - auto::c_str
    - static_cast<struct geod_geodesic *>
    - _
    - auto::has_value
    - proj_context_is_network_enabled
    - auto::method
    - std::move
    - pj_calc_ellipsoid_params
    - proj_destroy
    - assert
    - dynamic_cast<const CRS *>
    - auto::semiMajorAxis
    - proj_log_error
    - auto::extractGeodeticCRS
    - pj_create_internal
    - auto::squaredEccentricity
    - proj_errno_set
    - auto::exportToPROJString
    - sqrt
    - pj_new
    - calloc
    - auto::ellipsoid
    - PROJStringFormatter::create
    - auto::coordinateEpoch
    - dynamic_cast<const SingleOperation *>
    - auto::sourceCoordinateEpoch
    - auto::targetCoordinateEpoch
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_obj_create(PJ_CONTEXT *ctx, const BaseObjectNNPtr &objIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - objectsIn
    argTypes:
    - std::vector<IdentifiedObjectNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: PJ_OBJ_LIST
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PJ_OBJ_LIST(std::vector<IdentifiedObjectNNPtr> &&objectsIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: PJ_OBJ_LIST
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJ_OBJ_LIST(const PJ_OBJ_LIST &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: '&operator=(const PJ_OBJ_LIST &)'
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_OBJ_LIST
    signature: PJ_OBJ_LIST &operator=(const PJ_OBJ_LIST &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: PJ_OBJ_LIST::~PJ_OBJ_LIST()
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJ_OBJ_LIST::~PJ_OBJ_LIST()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: SANITIZE_CTX
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANITIZE_CTX(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - autoclose
    argTypes:
    - PJ_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: proj_context_set_autoclose_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_context_set_autoclose_database(PJ_CONTEXT *ctx, int autoclose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:368,1
    - Dst: PJ_CONTEXT*::cpp_context::getDbPath
      Src: /src/PROJ/src/iso19111/c_api.cpp:373,1
    - Dst: PJ_CONTEXT*::cpp_context::getAuxDbPaths
      Src: /src/PROJ/src/iso19111/c_api.cpp:374,1
    - Dst: projCppContext::toVector
      Src: /src/PROJ/src/iso19111/c_api.cpp:380,1
    - Dst: projCppContext::projCppContext
      Src: /src/PROJ/src/iso19111/c_api.cpp:379,1
    - Dst: PJ_CONTEXT*::cpp_context::getDatabaseContext
      Src: /src/PROJ/src/iso19111/c_api.cpp:381,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:384,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:384,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:387,1
    - Dst: projCppContext::projCppContext
      Src: /src/PROJ/src/iso19111/c_api.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - dbPath
    - auxDbPaths
    - options
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 390
    functionName: proj_context_set_database_path
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 10
    functionsReached:
    - projCppContext::toVector
    - std::string::c_str
    - PJ_CONTEXT*::cpp_context::getDbPath
    - PJ_CONTEXT*::cpp_context::getDatabaseContext
    - projCppContext::projCppContext
    - SANITIZE_CTX
    - PJ_CONTEXT*::cpp_context::getAuxDbPaths
    - proj_log_error
    - what
    linkageType: ''
    returnType: int
    signature: "int proj_context_set_database_path(PJ_CONTEXT *ctx, const char *dbPath,\n
      \                                  const char *const *auxDbPaths,\n                                   const
      char *const *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:403,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:407,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:408,1
    - Dst: PJ_CONTEXT*::cpp_context::lastDbPath_::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:409,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:411,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: proj_context_get_database_path
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ_CONTEXT*::cpp_context::lastDbPath_::c_str
    - PJ_CONTEXT*::get_cpp_context
    - SANITIZE_CTX
    - getDBcontext
    - proj_log_error
    - what
    linkageType: ''
    returnType: char
    signature: char *proj_context_get_database_path(PJ_CONTEXT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:447,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:449,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:450,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:456,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:460,1
    - Dst: PJ_CONTEXT*::cpp_context::lastDbMetadataItem_::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:461,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:463,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 466
    functionName: proj_context_get_database_metadata
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ_CONTEXT*::get_cpp_context
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - proj_log_error
    - PJ_CONTEXT*::cpp_context::lastDbMetadataItem_::c_str
    - what
    linkageType: ''
    returnType: char
    signature: "char *proj_context_get_database_metadata(PJ_CONTEXT *ctx,\n                                               const
      char *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:485,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:488,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:488,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:491,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - options
    argTypes:
    - PJ_CONTEXT*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 494
    functionName: proj_context_get_database_structure
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - to_string_list
    - SANITIZE_CTX
    - getDBcontext
    - proj_log_error
    - what
    linkageType: ''
    returnType: PROJ_STRING_LIST
    signature: "PROJ_STRING_LIST proj_context_get_database_structure(PJ_CONTEXT *ctx,\n
      \                                   const char *const *options)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:507,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:508,1
    - Dst: WKTParser
      Src: /src/PROJ/src/iso19111/c_api.cpp:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - wkt
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 524
    functionName: proj_context_guess_wkt_dialect
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - proj_context_errno_set
    - WKTParser
    - proj_log_error
    linkageType: ''
    returnType: PJ_GUESSED_WKT_DIALECT
    signature: "PJ_GUESSED_WKT_DIALECT proj_context_guess_wkt_dialect(PJ_CONTEXT *ctx,\n
      \                                                     const char *wkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/c_api.cpp:531,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/c_api.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - option
    - keyWithEqual
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 535
    functionName: getOptionValue
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached:
    - ci_starts_with
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *getOptionValue(const char *option,\n                                  const
      char *keyWithEqual) noexcept"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:557,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:559,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:560,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:564,1
    - Dst: pj_new
      Src: /src/PROJ/src/iso19111/c_api.cpp:565,1
    - Dst: auto::copyStateFrom
      Src: /src/PROJ/src/iso19111/c_api.cpp:569,1
    - Dst: auto::alternativeCoordinateOperations::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:574,1
    - Dst: PJCoordOperation
      Src: /src/PROJ/src/iso19111/c_api.cpp:575,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:586,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:586,1
    - Dst: PJ*::copyStateFrom
      Src: /src/PROJ/src/iso19111/c_api.cpp:589,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:593,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 556
    functionDepth: 5
    functionLinenumber: 556
    functionLinenumberEnd: 596
    functionName: proj_clone
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 11
    functionsReached:
    - auto::copyStateFrom
    - pj_new
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - auto::alternativeCoordinateOperations::emplace_back
    - PJ*::alternativeCoordinateOperations::empty
    - PJ*::copyStateFrom
    - what
    - PJCoordOperation
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_clone(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:617,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:619,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:620,1
    - Dst: strstr
      Src: /src/PROJ/src/iso19111/c_api.cpp:625,1
    - Dst: strstr
      Src: /src/PROJ/src/iso19111/c_api.cpp:625,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:626,1
    - Dst: nn_dynamic_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/c_api.cpp:630,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/c_api.cpp:630,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:632,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:632,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/c_api.cpp:635,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:636,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:638,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:638,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:640,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:641,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:641,1
    - Dst: getAuthority
      Src: /src/PROJ/src/iso19111/c_api.cpp:643,1
    - Dst: getAuthorityCode
      Src: /src/PROJ/src/iso19111/c_api.cpp:645,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:648,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - text
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 651
    functionName: proj_create
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 172
    functionsReached:
    - nn_dynamic_pointer_cast<BaseObject>
    - createFromUserInput
    - getAuthority
    - strstr
    - getDBcontextNoException
    - proj_context_errno
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - getAuthorityCode
    - proj_log_error
    - pj_obj_create
    - std::string
    - what
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_create(PJ_CONTEXT *ctx, const char *text)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:694,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:696,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:697,1
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/src/iso19111/c_api.cpp:709,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:710,1
    - Dst: WKTParser::attachDatabaseContext
      Src: /src/PROJ/src/iso19111/c_api.cpp:712,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:712,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/src/iso19111/c_api.cpp:714,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:717,1
    - Dst: WKTParser::setStrict
      Src: /src/PROJ/src/iso19111/c_api.cpp:718,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:718,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:719,1
    - Dst: WKTParser::setUnsetIdentifiersIfIncompatibleDef
      Src: /src/PROJ/src/iso19111/c_api.cpp:721,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:722,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:726,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:726,1
    - Dst: WKTParser::createFromWKT
      Src: /src/PROJ/src/iso19111/c_api.cpp:730,1
    - Dst: WKTParser::grammarErrorList
      Src: /src/PROJ/src/iso19111/c_api.cpp:733,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:734,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:735,1
    - Dst: WKTParser::warningList
      Src: /src/PROJ/src/iso19111/c_api.cpp:740,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:741,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:741,1
    - Dst: auto::derivingConversionRef
      Src: /src/PROJ/src/iso19111/c_api.cpp:744,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/c_api.cpp:745,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/c_api.cpp:745,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/c_api.cpp:745,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/c_api.cpp:746,1
    - Dst: dynamic_cast<const operation::SingleOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:749,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:749,1
    - Dst: auto::validateParameters
      Src: /src/PROJ/src/iso19111/c_api.cpp:751,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/c_api.cpp:752,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/c_api.cpp:752,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/c_api.cpp:752,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/c_api.cpp:753,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:756,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:757,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:761,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:761,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:764,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:766,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:768,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:768,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:771,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:771,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 5
    argNames:
    - ctx
    - wkt
    - options
    - out_warnings
    - out_grammar_errors
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char**
    - PROJ_STRING_LIST*
    - PROJ_STRING_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 690
    functionDepth: 5
    functionLinenumber: 690
    functionLinenumberEnd: 775
    functionName: proj_create_from_wkt
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 58
    functionsReached:
    - auto::get
    - std::string::c_str
    - dynamic_cast<const operation::SingleOperation *>
    - WKTParser::attachDatabaseContext
    - NN_NO_CHECK
    - WKTParser::setUnsetIdentifiersIfIncompatibleDef
    - auto::insert
    - WKTParser::grammarErrorList
    - dynamic_cast<const crs::DerivedCRS *>
    - to_string_list
    - auto::validateParameters
    - SANITIZE_CTX
    - proj_context_errno_set
    - WKTParser::warningList
    - proj_log_error
    - WKTParser::setStrict
    - what
    - auto::begin
    - WKTParser::WKTParser
    - pj_obj_create
    - ci_equal
    - WKTParser::createFromWKT
    - getOptionValue
    - getDBcontextNoException
    - auto::end
    - auto::empty
    - auto::derivingConversionRef
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_from_wkt(PJ_CONTEXT *ctx, const char *wkt,\n                         const
      char *const *options,\n                         PROJ_STRING_LIST *out_warnings,\n
      \                        PROJ_STRING_LIST *out_grammar_errors)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:799,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:801,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:802,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:808,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:808,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/src/iso19111/c_api.cpp:812,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/src/iso19111/c_api.cpp:815,1
    - Dst: auto::createDatum
      Src: /src/PROJ/src/iso19111/c_api.cpp:818,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/c_api.cpp:822,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/c_api.cpp:825,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/src/iso19111/c_api.cpp:831,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:834,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:834,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:836,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:837,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:837,1
    - Dst: getAuthority
      Src: /src/PROJ/src/iso19111/c_api.cpp:839,1
    - Dst: getAuthorityCode
      Src: /src/PROJ/src/iso19111/c_api.cpp:841,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:844,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:844,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - auth_name
    - code
    - category
    - usePROJAlternativeGridNames
    - options
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - PJ_CATEGORY
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 847
    functionName: proj_create_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 79
    functionsReached:
    - getAuthority
    - auto::createEllipsoid
    - auto::createCoordinateReferenceSystem
    - auto::createPrimeMeridian
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - auto::createCoordinateOperation
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - std::string
    - what
    - auto::createDatum
    - getAuthorityCode
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_from_database(PJ_CONTEXT *ctx, const char *auth_name,\n
      \                             const char *code, PJ_CATEGORY category,\n                              int
      usePROJAlternativeGridNames,\n                              const char *const
      *options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/c_api.cpp:863,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/c_api.cpp:867,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/c_api.cpp:871,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/c_api.cpp:872,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/c_api.cpp:880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - unit_name
    - type
    argTypes:
    - std::string
    - UnitOfMeasure::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 886
    functionName: get_unit_category
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    linkageType: ''
    returnType: char
    signature: "char *get_unit_category(const std::string &unit_name,\n                                     UnitOfMeasure::Type
      type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:912,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:914,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:915,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:919,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:919,1
    - Dst: auto::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/c_api.cpp:920,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:922,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:922,1
    - Dst: PJ_CONTEXT*::cpp_context::lastUOMName_::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:923,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/c_api.cpp:926,1
    - Dst: get_unit_category
      Src: /src/PROJ/src/iso19111/c_api.cpp:929,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:929,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/c_api.cpp:929,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:933,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - auth_name
    - code
    - out_name
    - out_conv_factor
    - out_category
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char**
    - double*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 936
    functionName: proj_uom_get_info_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - get_unit_category
    - PJ_CONTEXT*::get_cpp_context
    - auto::name
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - what
    - auto::conversionToSI
    - proj_log_error
    - auto::createUnitOfMeasure
    - auto::type
    - AuthorityFactory::create
    - PJ_CONTEXT*::cpp_context::lastUOMName_::c_str
    linkageType: ''
    returnType: int
    signature: "int proj_uom_get_info_from_database(PJ_CONTEXT *ctx, const char *auth_name,\n
      \                                   const char *code, const char **out_name,\n
      \                                   double *out_conv_factor,\n                                    const
      char **out_category)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:963,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:965,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:966,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:970,1
    - Dst: auto::lookForGridInfo
      Src: /src/PROJ/src/iso19111/c_api.cpp:974,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:975,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:976,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:977,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:983,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:983,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:986,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:986,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:988,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:988,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:998,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:998,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 8
    argNames:
    - ctx
    - grid_name
    - out_full_name
    - out_package_name
    - out_url
    - out_direct_download
    - out_open_license
    - out_available
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char**
    - char**
    - char**
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 1001
    functionName: proj_grid_get_info_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ_CONTEXT*::get_cpp_context
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - what
    - proj_log_error
    - auto::lookForGridInfo
    - c_str
    linkageType: ''
    returnType: int
    signature: "int proj_grid_get_info_from_database(\n    PJ_CONTEXT *ctx, const
      char *grid_name, const char **out_full_name,\n    const char **out_package_name,
      const char **out_url,\n    int *out_direct_download, int *out_open_license,
      int *out_available)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1020,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:1022,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1023,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:1027,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:1028,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/c_api.cpp:1029,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:1033,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:1035,1
    - Dst: PJ_OBJ_LIST::PJ_OBJ_LIST
      Src: /src/PROJ/src/iso19111/c_api.cpp:1035,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1037,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:1037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - crs_auth_name
    - datum_auth_name
    - datum_code
    - crs_type
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1040
    functionName: proj_query_geodetic_crs_from_datum
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::push_back
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - PJ_OBJ_LIST::PJ_OBJ_LIST
    - what
    - proj_log_error
    - auto::createGeodeticCRSFromDatum
    - AuthorityFactory::create
    linkageType: ''
    returnType: PJ_OBJ_LIST
    signature: "PJ_OBJ_LIST *proj_query_geodetic_crs_from_datum(PJ_CONTEXT *ctx,\n
      \                                               const char *crs_auth_name,\n
      \                                               const char *datum_auth_name,\n
      \                                               const char *datum_code,\n                                                const
      char *crs_type)"
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 2
    argNames:
    - type
    - valid
    argTypes:
    - PJ_TYPE
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1173
    functionName: convertPJObjectTypeToObjectType
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AuthorityFactory::ObjectType
    signature: AuthorityFactory::ObjectType convertPJObjectTypeToObjectType(PJ_TYPE
      type, bool &valid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1200,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1203,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:1208,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:1208,1
    - Dst: convertPJObjectTypeToObjectType
      Src: /src/PROJ/src/iso19111/c_api.cpp:1213,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:1215,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/c_api.cpp:1218,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:1223,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:1225,1
    - Dst: PJ_OBJ_LIST::PJ_OBJ_LIST
      Src: /src/PROJ/src/iso19111/c_api.cpp:1225,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1227,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:1227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 8
    argNames:
    - ctx
    - auth_name
    - searchedName
    - types
    - typesCount
    - approximateMatch
    - limitResultCount
    - options
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - PJ_TYPE*
    - size_t
    - int
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1230
    functionName: proj_create_from_name
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::push_back
    - auto::createObjectsFromName
    - SANITIZE_CTX
    - getDBcontext
    - PJ_OBJ_LIST::PJ_OBJ_LIST
    - what
    - proj_log_error
    - convertPJObjectTypeToObjectType
    - AuthorityFactory::create
    linkageType: ''
    returnType: PJ_OBJ_LIST
    signature: "PJ_OBJ_LIST *proj_create_from_name(PJ_CONTEXT *ctx, const char *auth_name,\n
      \                                  const char *searchedName,\n                                   const
      PJ_TYPE *types, size_t typesCount,\n                                   int approximateMatch,\n
      \                                  size_t limitResultCount,\n                                   const
      char *const *options)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1247,1
    - Dst: dynamic_cast<Ellipsoid *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1248,1
    - Dst: dynamic_cast<PrimeMeridian *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1252,1
    - Dst: dynamic_cast<DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1256,1
    - Dst: dynamic_cast<GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1259,1
    - Dst: dynamic_cast<DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1262,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1265,1
    - Dst: dynamic_cast<DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1268,1
    - Dst: dynamic_cast<TemporalDatum *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1271,1
    - Dst: dynamic_cast<EngineeringDatum *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1274,1
    - Dst: dynamic_cast<ParametricDatum *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1277,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1281,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/c_api.cpp:1282,1
    - Dst: dynamic_cast<GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1289,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/c_api.cpp:1290,1
    - Dst: dynamic_cast<VerticalCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1297,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1300,1
    - Dst: dynamic_cast<DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1303,1
    - Dst: dynamic_cast<CompoundCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1306,1
    - Dst: dynamic_cast<TemporalCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1309,1
    - Dst: dynamic_cast<EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1312,1
    - Dst: dynamic_cast<BoundCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1315,1
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1318,1
    - Dst: dynamic_cast<Conversion *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1322,1
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1325,1
    - Dst: dynamic_cast<ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1328,1
    - Dst: dynamic_cast<CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1331,1
    - Dst: dynamic_cast<CoordinateMetadata *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1335,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/c_api.cpp:1342,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1344
    functionName: proj_get_type
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 29
    functionsReached:
    - dynamic_cast<DatumEnsemble *>
    - dynamic_cast<DerivedProjectedCRS *>
    - dynamic_cast<CoordinateMetadata *>
    - auto::coordinateSystem
    - dynamic_cast<DynamicVerticalReferenceFrame *>
    - dynamic_cast<CoordinateOperation *>
    - dynamic_cast<VerticalCRS *>
    - dynamic_cast<Conversion *>
    - getType
    - dynamic_cast<EngineeringCRS *>
    - dynamic_cast<GeographicCRS *>
    - dynamic_cast<Transformation *>
    - dynamic_cast<PrimeMeridian *>
    - dynamic_cast<Ellipsoid *>
    - dynamic_cast<ConcatenatedOperation *>
    - dynamic_cast<TemporalCRS *>
    - dynamic_cast<GeodeticCRS *>
    - dynamic_cast<ProjectedCRS *>
    - dynamic_cast<GeodeticReferenceFrame *>
    - dynamic_cast<DynamicGeodeticReferenceFrame *>
    - dynamic_cast<BoundCRS *>
    - dynamic_cast<VerticalReferenceFrame *>
    - auto::isGeocentric
    - dynamic_cast<TemporalDatum *>
    - PJ*::iso_obj::get
    - dynamic_cast<EngineeringDatum *>
    - dynamic_cast<ParametricDatum *>
    - dynamic_cast<CompoundCRS *>
    - dynamic_cast<CRS *>
    linkageType: ''
    returnType: PJ_TYPE
    signature: PJ_TYPE proj_get_type(const PJ *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1357,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1357,1
    - Dst: auto::isDeprecated
      Src: /src/PROJ/src/iso19111/c_api.cpp:1361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1362
    functionName: proj_is_deprecated
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 8
    functionsReached:
    - PJ*::iso_obj::get
    - auto::isDeprecated
    - dynamic_cast<IdentifiedObject *>
    linkageType: ''
    returnType: int
    signature: int proj_is_deprecated(const PJ *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1375,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:1377,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1378,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1381,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1381,1
    - Dst: auto::getNonDeprecated
      Src: /src/PROJ/src/iso19111/c_api.cpp:1387,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:1387,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:1389,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:1391,1
    - Dst: PJ_OBJ_LIST::PJ_OBJ_LIST
      Src: /src/PROJ/src/iso19111/c_api.cpp:1391,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1393,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:1393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1396
    functionName: proj_get_non_deprecated
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - PJ*::iso_obj::get
    - std::vector::push_back
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - auto::getNonDeprecated
    - getDBcontext
    - proj_log_error
    - PJ_OBJ_LIST::PJ_OBJ_LIST
    - what
    linkageType: ''
    returnType: PJ_OBJ_LIST
    signature: PJ_OBJ_LIST *proj_get_non_deprecated(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:1406,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1407,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:1413,1
    - Dst: PJ*::alternativeCoordinateOperations::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1414,1
    - Dst: PJ*::alternativeCoordinateOperations::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1415,1
    - Dst: PJ*::alternativeCoordinateOperations::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1416,1
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1426,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1426,1
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1431,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1431,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/c_api.cpp:1447,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:1449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - obj
    - other
    - criterion
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - PJ_COMPARISON_CRITERION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1400
    functionDepth: 3
    functionLinenumber: 1400
    functionLinenumberEnd: 1452
    functionName: proj_is_equivalent_to_internal
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - PJ*::iso_obj::get
    - dynamic_cast<IdentifiedObject *>
    - getDBcontextNoException
    - PJ*::alternativeCoordinateOperations::size
    - auto::isEquivalentTo
    - proj_context_errno_set
    - proj_log_error
    - PJ*::alternativeCoordinateOperations::empty
    linkageType: ''
    returnType: int
    signature: "int proj_is_equivalent_to_internal(PJ_CONTEXT *ctx, const PJ *obj,\n
      \                                         const PJ *other,\n                                          PJ_COMPARISON_CRITERION
      criterion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_is_equivalent_to_internal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - other
    - criterion
    argTypes:
    - PJ*
    - PJ*
    - PJ_COMPARISON_CRITERION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1465
    functionDepth: 4
    functionLinenumber: 1465
    functionLinenumberEnd: 1468
    functionName: proj_is_equivalent_to
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 23
    functionsReached:
    - proj_is_equivalent_to_internal
    linkageType: ''
    returnType: int
    signature: "int proj_is_equivalent_to(const PJ *obj, const PJ *other,\n                          PJ_COMPARISON_CRITERION
      criterion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1486,1
    - Dst: proj_is_equivalent_to_internal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - obj
    - other
    - criterion
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - PJ_COMPARISON_CRITERION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1483
    functionDepth: 4
    functionLinenumber: 1483
    functionLinenumberEnd: 1488
    functionName: proj_is_equivalent_to_with_ctx
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - SANITIZE_CTX
    - proj_is_equivalent_to_internal
    linkageType: ''
    returnType: int
    signature: "int proj_is_equivalent_to_with_ctx(PJ_CONTEXT *ctx, const PJ *obj,\n
      \                                  const PJ *other,\n                                   PJ_COMPARISON_CRITERION
      criterion)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1500,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    functionName: proj_is_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<CRS *>
    - PJ*::iso_obj::get
    linkageType: ''
    returnType: int
    signature: int proj_is_crs(const PJ *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1516,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1516,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:1520,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:1521,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1527
    functionName: proj_get_name
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 49
    functionsReached:
    - auto::name
    - PJ*::iso_obj::get
    - auto::c_str
    - dynamic_cast<IdentifiedObject *>
    - auto::has_value
    linkageType: ''
    returnType: char
    signature: char *proj_get_name(const PJ *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1542,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1542,1
    - Dst: auto::remarks
      Src: /src/PROJ/src/iso19111/c_api.cpp:1548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: proj_get_remarks
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ*::iso_obj::get
    - dynamic_cast<IdentifiedObject *>
    - auto::remarks
    linkageType: ''
    returnType: char
    signature: char *proj_get_remarks(const PJ *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1565,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1565,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/c_api.cpp:1569,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1570,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1570,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/c_api.cpp:1573,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:1574,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - index
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1580
    functionName: proj_get_id_auth_name
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 8
    functionsReached:
    - auto::size
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - auto::c_str
    - dynamic_cast<IdentifiedObject *>
    - auto::identifiers
    - codeSpace
    - auto::has_value
    linkageType: ''
    returnType: char
    signature: char *proj_get_id_auth_name(const PJ *obj, int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1596,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1596,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/c_api.cpp:1600,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1601,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1601,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/c_api.cpp:1604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - index
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1605
    functionName: proj_get_id_code
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 21
    functionsReached:
    - code
    - auto::size
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - dynamic_cast<IdentifiedObject *>
    - auto::identifiers
    linkageType: ''
    returnType: char
    signature: char *proj_get_id_code(const PJ *obj, int index)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1647,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:1649,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1650,1
    - Dst: dynamic_cast<IWKTExportable *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1653,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1653,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:1677,1
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:1678,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:1678,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1681,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/iso19111/c_api.cpp:1682,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1682,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1683,1
    - Dst: auto::setIndentationWidth
      Src: /src/PROJ/src/iso19111/c_api.cpp:1684,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/c_api.cpp:1684,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1685,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1686,1
    - Dst: auto::setOutputAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:1687,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1688,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1692,1
    - Dst: auto::setStrict
      Src: /src/PROJ/src/iso19111/c_api.cpp:1693,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1693,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1694,1
    - Dst: auto::setAllowEllipsoidalHeightAsVerticalCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:1697,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1698,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1699,1
    - Dst: auto::setAllowLINUNITNode
      Src: /src/PROJ/src/iso19111/c_api.cpp:1700,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1700,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1704,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1704,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/iso19111/c_api.cpp:1708,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1708,1
    - Dst: PJ*::lastWKT::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1709,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1711,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:1711,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - obj
    - type
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_WKT_TYPE
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1645
    functionDepth: 3
    functionLinenumber: 1645
    functionLinenumberEnd: 1714
    functionName: proj_as_wkt
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 22
    functionsReached:
    - auto::get
    - std::string::c_str
    - dynamic_cast<IWKTExportable *>
    - auto::exportToWKT
    - auto::setMultiLine
    - auto::setIndentationWidth
    - std::move
    - std::atoi
    - WKTFormatter::create
    - auto::setAllowEllipsoidalHeightAsVerticalCRS
    - auto::setAllowLINUNITNode
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    - auto::setStrict
    - ci_equal
    - PJ*::iso_obj::get
    - getOptionValue
    - getDBcontextNoException
    - auto::setOutputAxis
    - PJ*::lastWKT::c_str
    linkageType: ''
    returnType: char
    signature: "char *proj_as_wkt(PJ_CONTEXT *ctx, const PJ *obj, PJ_WKT_TYPE type,\n
      \                       const char *const *options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1754,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:1756,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1757,1
    - Dst: dynamic_cast<const IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1761,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1761,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1763,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1767,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1768,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1770,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1771,1
    - Dst: static_cast<PROJStringFormatter::Convention>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1781,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:1782,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:1785,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:1785,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1788,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/iso19111/c_api.cpp:1789,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1789,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1790,1
    - Dst: auto::setIndentationWidth
      Src: /src/PROJ/src/iso19111/c_api.cpp:1791,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/c_api.cpp:1791,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1792,1
    - Dst: auto::setMaxLineLength
      Src: /src/PROJ/src/iso19111/c_api.cpp:1793,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/c_api.cpp:1793,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1794,1
    - Dst: auto::setUseApproxTMerc
      Src: /src/PROJ/src/iso19111/c_api.cpp:1795,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1795,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1799,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1799,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/c_api.cpp:1803,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1803,1
    - Dst: PJ*::lastPROJString::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1804,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1806,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:1806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - obj
    - type
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ_PROJ_STRING_TYPE
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1751
    functionDepth: 3
    functionLinenumber: 1751
    functionLinenumberEnd: 1809
    functionName: proj_as_proj_string
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 31
    functionsReached:
    - auto::get
    - std::string::c_str
    - auto::setMultiLine
    - auto::setIndentationWidth
    - std::move
    - std::atoi
    - SANITIZE_CTX
    - proj_context_errno_set
    - PJ*::lastPROJString::c_str
    - proj_log_error
    - what
    - auto::setMaxLineLength
    - auto::exportToPROJString
    - dynamic_cast<const IPROJStringExportable *>
    - static_cast<int>
    - ci_equal
    - static_cast<PROJStringFormatter::Convention>
    - PJ*::iso_obj::get
    - getOptionValue
    - getDBcontextNoException
    - PROJStringFormatter::create
    - auto::setUseApproxTMerc
    linkageType: ''
    returnType: char
    signature: "char *proj_as_proj_string(PJ_CONTEXT *ctx, const PJ *obj,\n                                PJ_PROJ_STRING_TYPE
      type,\n                                const char *const *options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:1843,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:1845,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1846,1
    - Dst: dynamic_cast<const IJSONExportable *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1849,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1849,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1851,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:1855,1
    - Dst: JSONFormatter::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:1857,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:1857,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1860,1
    - Dst: auto::setMultiLine
      Src: /src/PROJ/src/iso19111/c_api.cpp:1861,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:1861,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1862,1
    - Dst: auto::setIndentationWidth
      Src: /src/PROJ/src/iso19111/c_api.cpp:1863,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/c_api.cpp:1863,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:1864,1
    - Dst: auto::setSchema
      Src: /src/PROJ/src/iso19111/c_api.cpp:1865,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1869,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1869,1
    - Dst: auto::exportToJSON
      Src: /src/PROJ/src/iso19111/c_api.cpp:1873,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1873,1
    - Dst: PJ*::lastJSONString::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1874,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:1876,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:1876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - obj
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1879
    functionName: proj_as_projjson
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - auto::get
    - std::string::c_str
    - auto::exportToJSON
    - auto::setMultiLine
    - PJ*::lastJSONString::c_str
    - auto::setIndentationWidth
    - std::move
    - std::atoi
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    - ci_equal
    - dynamic_cast<const IJSONExportable *>
    - JSONFormatter::create
    - PJ*::iso_obj::get
    - getOptionValue
    - getDBcontextNoException
    - auto::setSchema
    linkageType: ''
    returnType: char
    signature: "char *proj_as_projjson(PJ_CONTEXT *ctx, const PJ *obj,\n                             const
      char *const *options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ObjectUsage *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1896,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1896,1
    - Dst: auto::domains
      Src: /src/PROJ/src/iso19111/c_api.cpp:1900,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1901,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1892
    functionDepth: 1
    functionLinenumber: 1892
    functionLinenumberEnd: 1902
    functionName: proj_get_domain_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - static_cast<int>
    - PJ*::iso_obj::get
    - auto::domains
    - dynamic_cast<const ObjectUsage *>
    linkageType: ''
    returnType: int
    signature: int proj_get_domain_count(const PJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_scope_ex
      Src: /src/PROJ/src/iso19111/c_api.cpp:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1915
    functionName: proj_get_scope
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - proj_get_scope_ex
    linkageType: ''
    returnType: char
    signature: char *proj_get_scope(const PJ *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ObjectUsage *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1932,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:1932,1
    - Dst: auto::domains
      Src: /src/PROJ/src/iso19111/c_api.cpp:1936,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:1937,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:1937,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/c_api.cpp:1940,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:1941,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:1946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - domainIdx
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1947
    functionName: proj_get_scope_ex
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - auto::size
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - auto::domains
    - auto::has_value
    - auto::c_str
    - scope
    - dynamic_cast<const ObjectUsage *>
    linkageType: ''
    returnType: char
    signature: char *proj_get_scope_ex(const PJ *obj, int domainIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_area_of_use_ex
      Src: /src/PROJ/src/iso19111/c_api.cpp:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - obj
    - out_west_lon_degree
    - out_south_lat_degree
    - out_east_lon_degree
    - out_north_lat_degree
    - out_area_name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - double*
    - double*
    - double*
    - double*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 1983
    functionName: proj_get_area_of_use
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 5
    functionsReached:
    - proj_get_area_of_use_ex
    linkageType: ''
    returnType: int
    signature: "int proj_get_area_of_use(PJ_CONTEXT *ctx, const PJ *obj,\n                         double
      *out_west_lon_degree,\n                         double *out_south_lat_degree,\n
      \                        double *out_east_lon_degree,\n                         double
      *out_north_lat_degree,\n                         const char **out_area_name)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ObjectUsage *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2019,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2019,1
    - Dst: auto::domains
      Src: /src/PROJ/src/iso19111/c_api.cpp:2023,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2024,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:2024,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/c_api.cpp:2027,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/c_api.cpp:2031,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/c_api.cpp:2032,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:2033,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/c_api.cpp:2036,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:2037,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2039,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2039,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:2042,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:2045,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:2048,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:2051,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 8
    argNames:
    - ctx
    - obj
    - domainIdx
    - out_west_lon_degree
    - out_south_lat_degree
    - out_east_lon_degree
    - out_north_lat_degree
    - out_area_name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    - double*
    - double*
    - double*
    - double*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2069
    functionName: proj_get_area_of_use_ex
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - auto::geographicElements
    - auto::description
    - auto::westBoundLongitude
    - auto::size
    - get
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - auto::domains
    - auto::has_value
    - auto::c_str
    - auto::southBoundLatitude
    - auto::northBoundLatitude
    - dynamic_cast<const GeographicBoundingBox *>
    - auto::eastBoundLongitude
    - auto::empty
    - dynamic_cast<const ObjectUsage *>
    - domainOfValidity
    linkageType: ''
    returnType: int
    signature: "int proj_get_area_of_use_ex(PJ_CONTEXT *ctx, const PJ *obj, int domainIdx,\n
      \                           double *out_west_lon_degree,\n                            double
      *out_south_lat_degree,\n                            double *out_east_lon_degree,\n
      \                           double *out_north_lat_degree,\n                            const
      char **out_area_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2076,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2077,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2080,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2080,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2082,1
    - Dst: auto::extractGeodeticCRSRaw
      Src: /src/PROJ/src/iso19111/c_api.cpp:2085,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - crs
    - fname
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2073
    functionDepth: 3
    functionLinenumber: 2073
    functionLinenumberEnd: 2090
    functionName: extractGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ*::iso_obj::get
    - proj_context_errno_set
    - dynamic_cast<const CRS *>
    - auto::extractGeodeticCRSRaw
    - proj_log_error
    linkageType: ''
    returnType: GeodeticCRS
    signature: "GeodeticCRS *extractGeodeticCRS(PJ_CONTEXT *ctx, const PJ *crs,\n
      \                                            const char *fname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2106,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2107,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2111,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2112,1
    - Dst: nn_dynamic_pointer_cast<IdentifiedObject>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2112,1
    - Dst: auto::shared_from_this
      Src: /src/PROJ/src/iso19111/c_api.cpp:2113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2105
    functionDepth: 5
    functionLinenumber: 2105
    functionLinenumberEnd: 2114
    functionName: proj_crs_get_geodetic_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 5
    functionsReached:
    - auto::shared_from_this
    - nn_dynamic_pointer_cast<IdentifiedObject>
    - SANITIZE_CTX
    - NN_NO_CHECK
    - pj_obj_create
    - extractGeodeticCRS
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_geodetic_crs(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2127,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2128,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2131,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2131,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2133,1
    - Dst: dynamic_cast<const DerivedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2125
    functionDepth: 3
    functionLinenumber: 2125
    functionLinenumberEnd: 2137
    functionName: proj_crs_is_derived
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ*::iso_obj::get
    - dynamic_cast<const DerivedCRS *>
    - proj_context_errno_set
    - dynamic_cast<const CRS *>
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: int proj_crs_is_derived(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2151,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2152,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2155,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2155,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2157,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/src/iso19111/c_api.cpp:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2149
    functionDepth: 3
    functionLinenumber: 2149
    functionLinenumberEnd: 2161
    functionName: proj_crs_is_dynamic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - PJ*::iso_obj::get
    - proj_context_errno_set
    - dynamic_cast<const CRS *>
    - auto::isDynamic
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: int proj_crs_is_dynamic(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2179,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2181,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2182,1
    - Dst: dynamic_cast<CompoundCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2185,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2185,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2187,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/c_api.cpp:2190,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2191,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:2191,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - crs
    - index
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2178
    functionDepth: 5
    functionLinenumber: 2178
    functionLinenumberEnd: 2195
    functionName: proj_crs_get_sub_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 8
    functionsReached:
    - auto::componentReferenceSystems
    - auto::size
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - dynamic_cast<CompoundCRS *>
    - pj_obj_create
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_sub_crs(PJ_CONTEXT *ctx, const PJ *crs, int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2214,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2216,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2217,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2220,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2222,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2225,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2227,1
    - Dst: std::dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2231,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2233,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2237,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2238,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2238,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2239,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2240,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2242,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - base_crs
    - hub_crs
    - transformation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2212
    functionDepth: 5
    functionLinenumber: 2212
    functionLinenumberEnd: 2245
    functionName: proj_crs_create_bound_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - BoundCRS::create
    - std::dynamic_pointer_cast<CRS>
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - std::dynamic_pointer_cast<Transformation>
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_create_bound_crs(PJ_CONTEXT *ctx, const PJ *base_crs,\n
      \                             const PJ *hub_crs, const PJ *transformation)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2274,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2276,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2277,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2280,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2280,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2282,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:2285,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:2291,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:2292,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:2292,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:2295,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2302,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:2302,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2306,1
    - Dst: auto::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/src/iso19111/c_api.cpp:2306,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2309,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - crs
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2272
    functionDepth: 5
    functionLinenumber: 2272
    functionLinenumberEnd: 2312
    functionName: proj_crs_create_bound_crs_to_WGS84
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - std::string::c_str
    - auto::createBoundCRSToWGS84IfPossible
    - PJ*::iso_obj::get
    - getOptionValue
    - getDBcontextNoException
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - proj_log_error
    - ci_equal
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_create_bound_crs_to_WGS84(PJ_CONTEXT *ctx, const PJ *crs,\n
      \                                      const char *const *options)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2335,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2337,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2338,1
    - Dst: std::dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2341,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2343,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2347,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2349,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2353,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2354,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/c_api.cpp:2356,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:2357,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:2358,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:2360,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2361,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2362,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2363,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2365,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - vert_crs
    - hub_geographic_3D_crs
    - grid_name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2332
    functionDepth: 5
    functionLinenumber: 2332
    functionLinenumberEnd: 2368
    functionName: proj_crs_create_bound_vertical_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - BoundCRS::create
    - auto::nameStr
    - PropertyMap
    - std::vector<PositionalAccuracyNNPtr>
    - std::dynamic_pointer_cast<CRS>
    - Transformation::createGravityRelatedHeightToGeographic3D
    - SANITIZE_CTX
    - std::dynamic_pointer_cast<VerticalCRS>
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - std::string
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_create_bound_vertical_crs(PJ_CONTEXT *ctx, const PJ *vert_crs,\n
      \                                      const PJ *hub_geographic_3D_crs,\n                                       const
      char *grid_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2384,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2385,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2386,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2387,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2389,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/c_api.cpp:2389,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2392,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2394,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/c_api.cpp:2394,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2383
    functionDepth: 5
    functionLinenumber: 2383
    functionLinenumberEnd: 2400
    functionName: proj_get_ellipsoid
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - auto::ellipsoid
    - dynamic_cast<const GeodeticReferenceFrame *>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - pj_obj_create
    - proj_log_error
    - extractGeodeticCRS
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_get_ellipsoid(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2414,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2415,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2416,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2417,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:2420,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/c_api.cpp:2422,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2424,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/c_api.cpp:2426,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2430,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/c_api.cpp:2432,1
    - Dst: dynamic_cast<const VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2435,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:2438,1
    - Dst: dynamic_cast<const Ellipsoid *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2440,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/c_api.cpp:2442,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2413
    functionDepth: 4
    functionLinenumber: 2413
    functionLinenumberEnd: 2447
    functionName: proj_get_celestial_body_name
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::celestialBody
    - dynamic_cast<const DatumEnsemble *>
    - auto::ellipsoid
    - dynamic_cast<const GeodeticReferenceFrame *>
    - auto::datums
    - PJ*::iso_obj::get
    - dynamic_cast<const VerticalReferenceFrame *>
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - dynamic_cast<const Ellipsoid *>
    - proj_log_error
    - extractGeodeticCRS
    - c_str
    linkageType: ''
    returnType: char
    signature: char *proj_get_celestial_body_name(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2465,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2466,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/c_api.cpp:2470,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2472,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2472,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/c_api.cpp:2475,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2477,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2477,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2464
    functionDepth: 5
    functionLinenumber: 2464
    functionLinenumberEnd: 2481
    functionName: proj_crs_get_horizontal_datum
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - auto::datumEnsemble
    - SANITIZE_CTX
    - NN_NO_CHECK
    - pj_obj_create
    - proj_log_error
    - auto::datum
    - extractGeodeticCRS
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_horizontal_datum(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2508,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2510,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2511,1
    - Dst: dynamic_cast<const Ellipsoid *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2515,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2515,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2517,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:2522,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:2526,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:2530,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/c_api.cpp:2533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - ctx
    - ellipsoid
    - out_semi_major_metre
    - out_semi_minor_metre
    - out_is_semi_minor_computed
    - out_inv_flattening
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - double*
    - double*
    - int*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2503
    functionDepth: 3
    functionLinenumber: 2503
    functionLinenumberEnd: 2536
    functionName: proj_ellipsoid_get_parameters
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - auto::computedInverseFlattening
    - auto::computeSemiMinorAxis
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - auto::semiMinorAxis
    - dynamic_cast<const Ellipsoid *>
    - proj_log_error
    - auto::semiMajorAxis
    linkageType: ''
    returnType: int
    signature: "int proj_ellipsoid_get_parameters(PJ_CONTEXT *ctx, const PJ *ellipsoid,\n
      \                                 double *out_semi_major_metre,\n                                  double
      *out_semi_minor_metre,\n                                  int *out_is_semi_minor_computed,\n
      \                                 double *out_inv_flattening)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2553,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2554,1
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2555,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2556,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2558,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/c_api.cpp:2558,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2561,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2563,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/c_api.cpp:2563,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2552
    functionDepth: 5
    functionLinenumber: 2552
    functionLinenumberEnd: 2569
    functionName: proj_get_prime_meridian
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const GeodeticReferenceFrame *>
    - PJ*::iso_obj::get
    - auto::primeMeridian
    - SANITIZE_CTX
    - pj_obj_create
    - proj_log_error
    - dynamic_cast<CRS *>
    - extractGeodeticCRS
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_get_prime_meridian(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2590,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2592,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2593,1
    - Dst: dynamic_cast<const PrimeMeridian *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2597,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2597,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2599,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:2602,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/c_api.cpp:2604,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/c_api.cpp:2606,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/c_api.cpp:2608,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:2611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - prime_meridian
    - out_longitude
    - out_unit_conv_factor
    - out_unit_name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - double*
    - double*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2585
    functionDepth: 3
    functionLinenumber: 2585
    functionLinenumberEnd: 2614
    functionName: proj_prime_meridian_get_parameters
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - auto::name
    - PJ*::iso_obj::get
    - auto::unit
    - SANITIZE_CTX
    - proj_context_errno_set
    - dynamic_cast<const PrimeMeridian *>
    - proj_log_error
    - auto::value
    - auto::conversionToSI
    - auto::longitude
    linkageType: ''
    returnType: int
    signature: "int proj_prime_meridian_get_parameters(PJ_CONTEXT *ctx,\n                                       const
      PJ *prime_meridian,\n                                       double *out_longitude,\n
      \                                      double *out_unit_conv_factor,\n                                       const
      char **out_unit_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2631,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2635,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2636,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2638,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2638,1
    - Dst: dynamic_cast<const DerivedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2640,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2642,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2642,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2644,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2646,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2648,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2648,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:2652,1
    - Dst: proj_get_source_crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:2653,1
    - Dst: dynamic_cast<const CoordinateMetadata *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2656,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2658,1
    - Dst: auto::crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:2658,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2630
    functionDepth: 5
    functionLinenumber: 2630
    functionLinenumberEnd: 2665
    functionName: proj_get_source_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 30
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - auto::baseCRS
    - PJ*::iso_obj::get
    - dynamic_cast<const DerivedCRS *>
    - dynamic_cast<const BoundCRS *>
    - auto::sourceCRS
    - dynamic_cast<const CoordinateMetadata *>
    - auto::crs
    - SANITIZE_CTX
    - NN_NO_CHECK
    - pj_obj_create
    - proj_log_error
    - PJ*::alternativeCoordinateOperations::empty
    - proj_get_source_crs
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_get_source_crs(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2682,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2684,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2685,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2688,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2689,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2691,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2691,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2693,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2695,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2697,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:2697,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:2701,1
    - Dst: proj_get_target_crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:2702,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2681
    functionDepth: 5
    functionLinenumber: 2681
    functionLinenumberEnd: 2708
    functionName: proj_get_target_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 18
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - PJ*::iso_obj::get
    - dynamic_cast<const BoundCRS *>
    - SANITIZE_CTX
    - proj_context_errno_set
    - auto::targetCRS
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - PJ*::alternativeCoordinateOperations::empty
    - proj_get_target_crs
    - auto::hubCRS
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_get_target_crs(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2767,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2769,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2770,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:2777,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2778,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2780,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2784,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:2784,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/c_api.cpp:2786,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:2788,1
    - Dst: int::int
      Src: /src/PROJ/src/iso19111/c_api.cpp:2788,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:2791,1
    - Dst: std::make_unique<PJ_OBJ_LIST>
      Src: /src/PROJ/src/iso19111/c_api.cpp:2797,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:2797,1
    - Dst: auto::release
      Src: /src/PROJ/src/iso19111/c_api.cpp:2802,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2805,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - obj
    - auth_name
    - options
    - out_confidence
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    - char**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2764
    functionDepth: 3
    functionLinenumber: 2764
    functionLinenumberEnd: 2809
    functionName: proj_identify
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - std::make_unique<PJ_OBJ_LIST>
    - std::move
    - PJ*::iso_obj::get
    - std::vector::push_back
    - auto::identify
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - getDBcontext
    - auto::release
    - proj_log_error
    - what
    - AuthorityFactory::create
    - int::int
    linkageType: ''
    returnType: PJ_OBJ_LIST
    signature: "PJ_OBJ_LIST *proj_identify(PJ_CONTEXT *ctx, const PJ *obj,\n                           const
      char *auth_name, const char *const *options,\n                           int
      **out_confidence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2814
    functionName: proj_int_list_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_int_list_destroy(int *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2829,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:2831,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:2831,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2834,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2828
    functionDepth: 3
    functionLinenumber: 2828
    functionLinenumberEnd: 2837
    functionName: proj_get_authorities_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - to_string_list
    - SANITIZE_CTX
    - getDBcontext
    - proj_log_error
    - what
    linkageType: ''
    returnType: PROJ_STRING_LIST
    signature: PROJ_STRING_LIST proj_get_authorities_from_database(PJ_CONTEXT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2860,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:2862,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2863,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2867,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:2867,1
    - Dst: convertPJObjectTypeToObjectType
      Src: /src/PROJ/src/iso19111/c_api.cpp:2869,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:2873,1
    - Dst: auto::getAuthorityCodes
      Src: /src/PROJ/src/iso19111/c_api.cpp:2874,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2878,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - auth_name
    - type
    - allow_deprecated
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2856
    functionDepth: 3
    functionLinenumber: 2856
    functionLinenumberEnd: 2881
    functionName: proj_get_codes_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::getAuthorityCodes
    - to_string_list
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - what
    - proj_log_error
    - convertPJObjectTypeToObjectType
    - AuthorityFactory::create
    linkageType: ''
    returnType: PROJ_STRING_LIST
    signature: "PROJ_STRING_LIST proj_get_codes_from_database(PJ_CONTEXT *ctx,\n                                              const
      char *auth_name,\n                                              PJ_TYPE type,\n
      \                                             int allow_deprecated)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:2902,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:2906,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:2906,1
    - Dst: auto::getCelestialBodyList
      Src: /src/PROJ/src/iso19111/c_api.cpp:2908,1
    - Dst: PROJ_CELESTIAL_BODY_INFO::PROJ_CELESTIAL_BODY_INFO
      Src: /src/PROJ/src/iso19111/c_api.cpp:2909,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/c_api.cpp:2909,1
    - Dst: PROJ_CELESTIAL_BODY_INFO::PROJ_CELESTIAL_BODY_INFO
      Src: /src/PROJ/src/iso19111/c_api.cpp:2911,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:2912,1
    - Dst: authName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:2912,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:2913,1
    - Dst: name::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:2913,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:2921,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:2921,1
    - Dst: proj_celestial_body_list_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:2924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2900
    functionDepth: 3
    functionLinenumber: 2900
    functionLinenumberEnd: 2930
    functionName: proj_get_celestial_body_list_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - size
    - authName::c_str
    - pj_strdup
    - name::c_str
    - auto::getCelestialBodyList
    - SANITIZE_CTX
    - getDBcontext
    - what
    - proj_celestial_body_list_destroy
    - proj_log_error
    - AuthorityFactory::create
    - PROJ_CELESTIAL_BODY_INFO::PROJ_CELESTIAL_BODY_INFO
    linkageType: ''
    returnType: PROJ_CELESTIAL_BODY_INFO
    signature: "PROJ_CELESTIAL_BODY_INFO **proj_get_celestial_body_list_from_database(\n
      \   PJ_CONTEXT *ctx, const char *auth_name, int *out_result_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:2942,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:2943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - PROJ_CELESTIAL_BODY_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2948
    functionName: proj_celestial_body_list_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void proj_celestial_body_list_destroy(PROJ_CELESTIAL_BODY_INFO **list)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - PROJ_STRING_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2953
    functionDepth: 0
    functionLinenumber: 2953
    functionLinenumberEnd: 2960
    functionName: proj_string_list_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_string_list_destroy(PROJ_STRING_LIST list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_CRS_LIST_PARAMETERS::PROJ_CRS_LIST_PARAMETERS
      Src: /src/PROJ/src/iso19111/c_api.cpp:2969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2983
    functionName: proj_get_crs_list_parameters_create
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PROJ_CRS_LIST_PARAMETERS::PROJ_CRS_LIST_PARAMETERS
    linkageType: ''
    returnType: PROJ_CRS_LIST_PARAMETERS
    signature: PROJ_CRS_LIST_PARAMETERS *proj_get_crs_list_parameters_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - PROJ_CRS_LIST_PARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2991
    functionName: proj_get_crs_list_parameters_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_get_crs_list_parameters_destroy(PROJ_CRS_LIST_PARAMETERS
      *params)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3021,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:3025,1
    - Dst: auto::getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3028,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:3029,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:3030,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:3030,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3033,1
    - Dst: auto::getCRSInfoList
      Src: /src/PROJ/src/iso19111/c_api.cpp:3034,1
    - Dst: std::list::splice
      Src: /src/PROJ/src/iso19111/c_api.cpp:3035,1
    - Dst: std::list::end
      Src: /src/PROJ/src/iso19111/c_api.cpp:3035,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:3035,1
    - Dst: PROJ_CRS_INFO::PROJ_CRS_INFO
      Src: /src/PROJ/src/iso19111/c_api.cpp:3037,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/c_api.cpp:3037,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3040,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3116,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/c_api.cpp:3120,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3120,1
    - Dst: GeographicBoundingBoxPtr::intersects
      Src: /src/PROJ/src/iso19111/c_api.cpp:3124,1
    - Dst: PROJ_CRS_INFO::PROJ_CRS_INFO
      Src: /src/PROJ/src/iso19111/c_api.cpp:3135,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3136,1
    - Dst: authName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3136,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3137,1
    - Dst: code::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3137,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3138,1
    - Dst: name::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3138,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3146,1
    - Dst: areaName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3146,1
    - Dst: projectionMethodName::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:3148,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3150,1
    - Dst: projectionMethodName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3150,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3152,1
    - Dst: celestialBodyName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3152,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3160,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3160,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:3163,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3017
    functionDepth: 3
    functionLinenumber: 3017
    functionLinenumberEnd: 3169
    functionName: proj_get_crs_info_list_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::list::end
    - PROJ_CRS_INFO::PROJ_CRS_INFO
    - auto::push_back
    - getDBcontext
    - NN_NO_CHECK
    - GeographicBoundingBoxPtr::intersects
    - pj_strdup
    - std::move
    - std::list::splice
    - SANITIZE_CTX
    - projectionMethodName::c_str
    - proj_log_error
    - proj_crs_info_list_destroy
    - what
    - size
    - authName::c_str
    - GeographicBoundingBox::create
    - areaName::c_str
    - auto::getVersionedAuthoritiesFromName
    - auto::getCRSInfoList
    - auto::contains
    - auto::empty
    - name::c_str
    - projectionMethodName::empty
    - code::c_str
    - celestialBodyName::c_str
    - AuthorityFactory::create
    linkageType: ''
    returnType: PROJ_CRS_INFO
    signature: "PROJ_CRS_INFO **\nproj_get_crs_info_list_from_database(PJ_CONTEXT
      *ctx, const char *auth_name,\n                                     const PROJ_CRS_LIST_PARAMETERS
      *params,\n                                     int *out_result_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3179,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3180,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3181,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3182,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3183,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - list
    argTypes:
    - PROJ_CRS_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 3176
    functionDepth: 0
    functionLinenumber: 3176
    functionLinenumberEnd: 3189
    functionName: proj_crs_info_list_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void proj_crs_info_list_destroy(PROJ_CRS_INFO **list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3218,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3222,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:3222,1
    - Dst: auto::getUnitList
      Src: /src/PROJ/src/iso19111/c_api.cpp:3224,1
    - Dst: PROJ_UNIT_INFO::PROJ_UNIT_INFO
      Src: /src/PROJ/src/iso19111/c_api.cpp:3225,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/c_api.cpp:3225,1
    - Dst: PROJ_UNIT_INFO::PROJ_UNIT_INFO
      Src: /src/PROJ/src/iso19111/c_api.cpp:3233,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3234,1
    - Dst: authName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3234,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3235,1
    - Dst: code::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3235,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3236,1
    - Dst: name::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3236,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3237,1
    - Dst: category::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3237,1
    - Dst: projShortName::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:3240,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:3242,1
    - Dst: projShortName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3242,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3251,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3251,1
    - Dst: proj_unit_list_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:3254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3213
    functionDepth: 3
    functionLinenumber: 3213
    functionLinenumberEnd: 3260
    functionName: proj_get_units_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - size
    - PROJ_UNIT_INFO::PROJ_UNIT_INFO
    - authName::c_str
    - category::c_str
    - pj_strdup
    - name::c_str
    - proj_unit_list_destroy
    - auto::getUnitList
    - SANITIZE_CTX
    - getDBcontext
    - what
    - proj_log_error
    - code::c_str
    - projShortName::c_str
    - AuthorityFactory::create
    - projShortName::empty
    linkageType: ''
    returnType: PROJ_UNIT_INFO
    signature: "PROJ_UNIT_INFO **proj_get_units_from_database(PJ_CONTEXT *ctx,\n                                              const
      char *auth_name,\n                                              const char *category,\n
      \                                             int allow_deprecated,\n                                              int
      *out_result_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3272,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3273,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3274,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3275,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:3276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - PROJ_UNIT_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3281
    functionName: proj_unit_list_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 7
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void proj_unit_list_destroy(PROJ_UNIT_INFO **list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3298,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3300,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3301,1
    - Dst: dynamic_cast<const DerivedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3306,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:3306,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:3308,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3310,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:3310,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/c_api.cpp:3312,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3314,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3320,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3297
    functionDepth: 5
    functionLinenumber: 3297
    functionLinenumberEnd: 3321
    functionName: proj_crs_get_coordoperation
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 10
    functionsReached:
    - auto::transformation
    - dynamic_cast<const DerivedCRS *>
    - PJ*::iso_obj::get
    - dynamic_cast<const BoundCRS *>
    - auto::derivingConversion
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_coordoperation(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3343,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3345,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3346,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3350,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:3350,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3352,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/c_api.cpp:3357,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/c_api.cpp:3358,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:3360,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:3363,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/c_api.cpp:3364,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:3370,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/c_api.cpp:3371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - coordoperation
    - out_method_name
    - out_method_auth_name
    - out_method_code
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3338
    functionDepth: 3
    functionLinenumber: 3338
    functionLinenumberEnd: 3377
    functionName: proj_coordoperation_get_method_info
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - code
    - auto::method
    - auto::name
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - dynamic_cast<const SingleOperation *>
    - auto::identifiers
    - codeSpace
    - proj_log_error
    - auto::empty
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_method_info(PJ_CONTEXT *ctx,\n                                        const
      PJ *coordoperation,\n                                        const char **out_method_name,\n
      \                                       const char **out_method_auth_name,\n
      \                                       const char **out_method_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:3386,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/c_api.cpp:3387,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/c_api.cpp:3388,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:3388,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/c_api.cpp:3388,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3389,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3392,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3393,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - c_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3382
    functionDepth: 1
    functionLinenumber: 3382
    functionLinenumberEnd: 3396
    functionName: createPropertyMapName
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - ends_with
    - strlen
    - std::string::size
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap createPropertyMapName(const char *c_name,\n                                         const
      char *auth_name = nullptr,\n                                         const char
      *code = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/c_api.cpp:3405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - convFactor
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3408
    functionName: createLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - UnitOfMeasure
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure createLinearUnit(const char *name, double convFactor,\n
      \                                     const char *unit_auth_name = nullptr,\n
      \                                     const char *unit_code = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:3415,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/c_api.cpp:3416,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/c_api.cpp:3418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - convFactor
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3412
    functionDepth: 1
    functionLinenumber: 3412
    functionLinenumberEnd: 3423
    functionName: createAngularUnit
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - UnitOfMeasure
    - ci_equal
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure createAngularUnit(const char *name, double convFactor,\n
      \                                      const char *unit_auth_name = nullptr,\n
      \                                      const char *unit_code = nullptr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:3434,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3435,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3436,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/c_api.cpp:3438,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:3439,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:3440,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/c_api.cpp:3441,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:3442,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3443,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:3444,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/c_api.cpp:3448,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3449,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3450,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:3452,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3456,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/c_api.cpp:3457,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3461,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3461,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:3461,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3462,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:3466,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/c_api.cpp:3467,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3468,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3469,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3469,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3470,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/c_api.cpp:3471,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/c_api.cpp:3472,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/c_api.cpp:3474,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/c_api.cpp:3475,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/c_api.cpp:3475,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3475,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:3476,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3478,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3479,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3479,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:3480,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3489,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3490,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:3490,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 9
    argNames:
    - ctx
    - datum_name
    - ellps_name
    - semi_major_metre
    - inv_flattening
    - prime_meridian_name
    - prime_meridian_offset
    - angular_units
    - angular_units_conv
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3427
    functionDepth: 2
    functionLinenumber: 3427
    functionLinenumberEnd: 3492
    functionName: createGeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - auto::celestialBody
    - Scale
    - std::string::c_str
    - nameStr
    - PrimeMeridian::create
    - NN_NO_CHECK
    - auto::code
    - auto::nameStr
    - std::string::find
    - createPropertyMapName
    - std::string
    - Ellipsoid::createSphere
    - Ellipsoid::createFlattenedSphere
    - GeodeticReferenceFrame::create
    - util::optional<std::string>
    - auto::front
    - Angle
    - auto::codeSpace
    - auto::databaseContext
    - c_str
    - Length
    - PropertyMap
    - getDBcontextNoException
    - auto::createObjectsFromName
    - auto::identifiers
    - Ellipsoid::guessBodyName
    - auto::empty
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: "GeodeticReferenceFrameNNPtr createGeodeticReferenceFrame(\n    PJ_CONTEXT
      *ctx, const char *datum_name, const char *ellps_name,\n    double semi_major_metre,
      double inv_flattening,\n    const char *prime_meridian_name, double prime_meridian_offset,\n
      \   const char *angular_units, double angular_units_conv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3532,1
    - Dst: std::dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3533,1
    - Dst: createGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/c_api.cpp:3538,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3542,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3542,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3543,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3544,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3546,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 11
    argNames:
    - ctx
    - crs_name
    - datum_name
    - ellps_name
    - semi_major_metre
    - inv_flattening
    - prime_meridian_name
    - prime_meridian_offset
    - pm_angular_units
    - pm_angular_units_conv
    - ellipsoidal_cs
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - double
    - double
    - char*
    - double
    - char*
    - double
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3523
    functionDepth: 5
    functionLinenumber: 3523
    functionLinenumberEnd: 3549
    functionName: proj_create_geographic_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 18
    functionsReached:
    - createGeodeticReferenceFrame
    - GeographicCRS::create
    - std::dynamic_pointer_cast<EllipsoidalCS>
    - SANITIZE_CTX
    - createPropertyMapName
    - NN_NO_CHECK
    - pj_obj_create
    - proj_log_error
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_geographic_crs(PJ_CONTEXT *ctx, const char *crs_name,\n
      \                              const char *datum_name, const char *ellps_name,\n
      \                              double semi_major_metre, double inv_flattening,\n
      \                              const char *prime_meridian_name,\n                               double
      prime_meridian_offset,\n                               const char *pm_angular_units,\n
      \                              double pm_angular_units_conv,\n                               const
      PJ *ellipsoidal_cs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3572,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3574,1
    - Dst: std::dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3578,1
    - Dst: std::dynamic_pointer_cast<DatumEnsemble>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3580,1
    - Dst: std::dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3582,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3588,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3588,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3589,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3590,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3592,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - crs_name
    - datum_or_datum_ensemble
    - ellipsoidal_cs
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3568
    functionDepth: 5
    functionLinenumber: 3568
    functionLinenumberEnd: 3595
    functionName: proj_create_geographic_crs_from_datum
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - std::dynamic_pointer_cast<GeodeticReferenceFrame>
    - GeographicCRS::create
    - std::dynamic_pointer_cast<EllipsoidalCS>
    - SANITIZE_CTX
    - createPropertyMapName
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - std::dynamic_pointer_cast<DatumEnsemble>
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_geographic_crs_from_datum(PJ_CONTEXT *ctx, const char
      *crs_name,\n                                          const PJ *datum_or_datum_ensemble,\n
      \                                         const PJ *ellipsoidal_cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3632,1
    - Dst: createGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/c_api.cpp:3636,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3642,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3642,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/c_api.cpp:3643,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3644,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3646,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 12
    argNames:
    - ctx
    - crs_name
    - datum_name
    - ellps_name
    - semi_major_metre
    - inv_flattening
    - prime_meridian_name
    - prime_meridian_offset
    - angular_units
    - angular_units_conv
    - linear_units
    - linear_units_conv
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - double
    - double
    - char*
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3625
    functionDepth: 5
    functionLinenumber: 3625
    functionLinenumberEnd: 3649
    functionName: proj_create_geocentric_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - GeodeticCRS::create
    - createGeodeticReferenceFrame
    - SANITIZE_CTX
    - CartesianCS::createGeocentric
    - createPropertyMapName
    - pj_obj_create
    - proj_log_error
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_geocentric_crs(\n    PJ_CONTEXT *ctx, const char *crs_name,
      const char *datum_name,\n    const char *ellps_name, double semi_major_metre,
      double inv_flattening,\n    const char *prime_meridian_name, double prime_meridian_offset,\n
      \   const char *angular_units, double angular_units_conv,\n    const char *linear_units,
      double linear_units_conv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3674,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3676,1
    - Dst: std::dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3680,1
    - Dst: std::dynamic_pointer_cast<DatumEnsemble>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3682,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3687,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3688,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/c_api.cpp:3689,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3690,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3692,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - crs_name
    - datum_or_datum_ensemble
    - linear_units
    - linear_units_conv
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3670
    functionDepth: 5
    functionLinenumber: 3670
    functionLinenumberEnd: 3695
    functionName: proj_create_geocentric_crs_from_datum
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - std::dynamic_pointer_cast<GeodeticReferenceFrame>
    - GeodeticCRS::create
    - SANITIZE_CTX
    - CartesianCS::createGeocentric
    - createPropertyMapName
    - proj_log_error
    - pj_obj_create
    - std::dynamic_pointer_cast<DatumEnsemble>
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_geocentric_crs_from_datum(PJ_CONTEXT *ctx, const char
      *crs_name,\n                                          const PJ *datum_or_datum_ensemble,\n
      \                                         const char *linear_units,\n                                          double
      linear_units_conv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3721,1
    - Dst: std::dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3723,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3725,1
    - Dst: std::dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3726,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3731,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3732,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3732,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3733,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3733,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3734,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3736,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - crs_name
    - base_geographic_crs
    - conversion
    - ellipsoidal_cs
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3717
    functionDepth: 5
    functionLinenumber: 3717
    functionLinenumberEnd: 3739
    functionName: proj_create_derived_geographic_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - std::dynamic_pointer_cast<GeographicCRS>
    - std::dynamic_pointer_cast<Conversion>
    - std::dynamic_pointer_cast<EllipsoidalCS>
    - SANITIZE_CTX
    - createPropertyMapName
    - NN_NO_CHECK
    - pj_obj_create
    - proj_log_error
    - DerivedGeographicCRS::create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_derived_geographic_crs(PJ_CONTEXT *ctx, const char
      *crs_name,\n                                       const PJ *base_geographic_crs,\n
      \                                      const PJ *conversion,\n                                       const
      PJ *ellipsoidal_cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3753,1
    - Dst: dynamic_cast<DerivedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3754,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:3754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3755
      start: 3752
    functionDepth: 1
    functionLinenumber: 3752
    functionLinenumberEnd: 3755
    functionName: proj_is_derived_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - SANITIZE_CTX
    - PJ*::iso_obj::get
    - dynamic_cast<DerivedCRS *>
    linkageType: ''
    returnType: int
    signature: int proj_is_derived_crs(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_vertical_crs_ex
      Src: /src/PROJ/src/iso19111/c_api.cpp:3779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - crs_name
    - datum_name
    - linear_units
    - linear_units_conv
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3775
    functionDepth: 1
    functionLinenumber: 3775
    functionLinenumberEnd: 3782
    functionName: proj_create_vertical_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 8
    functionsReached:
    - proj_create_vertical_crs_ex
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_vertical_crs(PJ_CONTEXT *ctx, const char *crs_name,\n
      \                            const char *datum_name, const char *linear_units,\n
      \                            double linear_units_conv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3823,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3827,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3828,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3829,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/c_api.cpp:3830,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3832,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3835,1
    - Dst: std::dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3837,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3839,1
    - Dst: getOptionValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:3845,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:3846,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3847,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3850,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3854,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:3854,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3855,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3857,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3859,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3860,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3862,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 12
    argNames:
    - ctx
    - crs_name
    - datum_name
    - datum_auth_name
    - datum_code
    - linear_units
    - linear_units_conv
    - geoid_model_name
    - geoid_model_auth_name
    - geoid_model_code
    - geoid_geog_crs
    - options
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - char*
    - char*
    - double
    - char*
    - char*
    - char*
    - PJ*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3865
      start: 3816
    functionDepth: 5
    functionLinenumber: 3816
    functionLinenumberEnd: 3865
    functionName: proj_create_vertical_crs_ex
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 7
    functionsReached:
    - PropertyMap
    - std::dynamic_pointer_cast<GeographicCRS>
    - auto::set
    - OperationMethod::create
    - std::vector<OperationParameterNNPtr>
    - std::dynamic_pointer_cast<CRS>
    - getOptionValue
    - VerticalCS::createGravityRelatedHeight
    - VerticalCRS::create
    - SANITIZE_CTX
    - createPropertyMapName
    - VerticalReferenceFrame::create
    - Transformation::create
    - pj_obj_create
    - proj_log_error
    - std::vector::emplace_back
    - PositionalAccuracy::create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_vertical_crs_ex(\n    PJ_CONTEXT *ctx, const char
      *crs_name, const char *datum_name,\n    const char *datum_auth_name, const char
      *datum_code,\n    const char *linear_units, double linear_units_conv,\n    const
      char *geoid_model_name, const char *geoid_model_auth_name,\n    const char *geoid_model_code,
      const PJ *geoid_geog_crs,\n    const char *const *options)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3886,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3888,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3889,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3892,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3896,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3901,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3902,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3903,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:3903,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3904,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3906,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - crs_name
    - horiz_crs
    - vert_crs
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3883
    functionDepth: 5
    functionLinenumber: 3883
    functionLinenumberEnd: 3909
    functionName: proj_create_compound_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 14
    functionsReached:
    - CompoundCRS::create
    - std::dynamic_pointer_cast<CRS>
    - SANITIZE_CTX
    - proj_context_errno_set
    - createPropertyMapName
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_compound_crs(PJ_CONTEXT *ctx, const char *crs_name,\n
      \                            const PJ *horiz_crs, const PJ *vert_crs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3929,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3931,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3932,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3935,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:3935,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3940,1
    - Dst: auto::alterName
      Src: /src/PROJ/src/iso19111/c_api.cpp:3940,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3942,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - obj
    - name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3945
      start: 3928
    functionDepth: 5
    functionLinenumber: 3928
    functionLinenumberEnd: 3945
    functionName: proj_alter_name
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - auto::alterName
    - proj_log_error
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_alter_name(PJ_CONTEXT *ctx, const PJ *obj, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:3967,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:3969,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3970,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:3973,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:3973,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:3978,1
    - Dst: auto::alterId
      Src: /src/PROJ/src/iso19111/c_api.cpp:3978,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:3980,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:3980,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - obj
    - auth_name
    - code
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3965
    functionDepth: 5
    functionLinenumber: 3965
    functionLinenumberEnd: 3983
    functionName: proj_alter_id
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - auto::alterId
    - proj_log_error
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_alter_id(PJ_CONTEXT *ctx, const PJ *obj, const char *auth_name,\n
      \                 const char *code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4008,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4010,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4011,1
    - Dst: std::dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4015,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4017,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4021,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4021,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4023,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4028,1
    - Dst: auto::alterGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:4029,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:4029,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4031,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - obj
    - new_geod_crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 4006
    functionDepth: 5
    functionLinenumber: 4006
    functionLinenumberEnd: 4034
    functionName: proj_crs_alter_geodetic_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::alterGeodeticCRS
    - std::dynamic_pointer_cast<GeodeticCRS>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_alter_geodetic_crs(PJ_CONTEXT *ctx, const PJ *obj,\n
      \                               const PJ *new_geod_crs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4063,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:4064,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4068,1
    - Dst: auto::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4068,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:4070,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4078,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4079,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4080,1
    - Dst: proj_get_name
      Src: /src/PROJ/src/iso19111/c_api.cpp:4080,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/c_api.cpp:4081,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/c_api.cpp:4081,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/c_api.cpp:4082,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:4083,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4085,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4085,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:4086,1
    - Dst: proj_crs_alter_geodetic_crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:4090,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:4091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - ctx
    - obj
    - angular_units
    - angular_units_conv
    - unit_auth_name
    - unit_code
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4057
    functionDepth: 6
    functionLinenumber: 4057
    functionLinenumberEnd: 4093
    functionName: proj_crs_alter_cs_angular_unit
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::coordinateSystem
    - auto::iso_obj::get
    - GeographicCRS::create
    - dynamic_cast<const GeographicCRS *>
    - auto::datumEnsemble
    - proj_destroy
    - SANITIZE_CTX
    - what
    - createPropertyMapName
    - proj_get_name
    - pj_obj_create
    - proj_log_error
    - proj_crs_alter_geodetic_crs
    - auto::datum
    - proj_crs_get_geodetic_crs
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_alter_cs_angular_unit(PJ_CONTEXT *ctx, const PJ *obj,\n
      \                                  const char *angular_units,\n                                   double
      angular_units_conv,\n                                   const char *unit_auth_name,\n
      \                                  const char *unit_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4122,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4124,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4125,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4128,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4128,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4136,1
    - Dst: auto::alterCSLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4136,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4138,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - obj
    - linear_units
    - linear_units_conv
    - unit_auth_name
    - unit_code
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4117
    functionDepth: 5
    functionLinenumber: 4117
    functionLinenumberEnd: 4141
    functionName: proj_crs_alter_cs_linear_unit
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    - auto::alterCSLinearUnit
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_alter_cs_linear_unit(PJ_CONTEXT *ctx, const PJ *obj,\n
      \                                 const char *linear_units,\n                                  double
      linear_units_conv,\n                                  const char *unit_auth_name,\n
      \                                 const char *unit_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4175,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4177,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4178,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4181,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4181,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4189,1
    - Dst: auto::alterParametersLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4189,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4192,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - ctx
    - obj
    - linear_units
    - linear_units_conv
    - unit_auth_name
    - unit_code
    - convert_to_new_unit
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    - double
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4195
      start: 4169
    functionDepth: 5
    functionLinenumber: 4169
    functionLinenumberEnd: 4195
    functionName: proj_crs_alter_parameters_linear_unit
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const ProjectedCRS *>
    - PJ*::iso_obj::get
    - auto::alterParametersLinearUnit
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_alter_parameters_linear_unit(PJ_CONTEXT *ctx, const PJ
      *obj,\n                                          const char *linear_units,\n
      \                                         double linear_units_conv,\n                                          const
      char *unit_auth_name,\n                                          const char
      *unit_code,\n                                          int convert_to_new_unit)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4221,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4223,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4224,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4227,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4227,1
    - Dst: dynamic_cast<const CoordinateMetadata *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4230,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4230,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4232,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:4238,1
    - Dst: auto::crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:4239,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/c_api.cpp:4240,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:4241,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:4241,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:4243,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4244,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4245,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/src/iso19111/c_api.cpp:4247,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4250,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4250,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4253,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4253,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:4258,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4259,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/c_api.cpp:4259,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:4260,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:4261,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4264,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - crs_3D_name
    - crs_2D
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4219
    functionDepth: 5
    functionLinenumber: 4219
    functionLinenumberEnd: 4268
    functionName: proj_crs_promote_to_3D
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 5
    functionsReached:
    - auto::nameStr
    - auto::promoteTo3D
    - auto::coordinateEpochAsDecimalYear
    - PJ*::iso_obj::get
    - auto::crs
    - dynamic_cast<const CoordinateMetadata *>
    - getDBcontextNoException
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - auto::coordinateEpoch
    - proj_log_error
    - pj_obj_create
    - std::string
    - CoordinateMetadata::create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_promote_to_3D(PJ_CONTEXT *ctx, const char *crs_3D_name,\n
      \                          const PJ *crs_2D)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4306,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4308,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4309,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4313,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4313,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4315,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/c_api.cpp:4319,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/c_api.cpp:4320,1
    - Dst: std::dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4324,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4326,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/c_api.cpp:4331,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/c_api.cpp:4332,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:4333,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4334,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4340,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4340,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4342,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4344,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4345,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:4347,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:4348,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:4349,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4351,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4351,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:4356,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4357,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/c_api.cpp:4358,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:4359,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:4360,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4363,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - crs_name
    - projected_2D_crs
    - geog_3D_crs
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4367
      start: 4302
    functionDepth: 5
    functionLinenumber: 4302
    functionLinenumberEnd: 4367
    functionName: proj_crs_create_projected_3D_crs_from_2D
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::coordinateSystem
    - NN_NO_CHECK
    - auto::nameStr
    - SANITIZE_CTX
    - proj_context_errno_set
    - createPropertyMapName
    - proj_log_error
    - ProjectedCRS::create
    - std::string
    - what
    - auto::promoteTo3D
    - dynamic_cast<const ProjectedCRS *>
    - auto::size
    - pj_obj_create
    - CartesianCS::create
    - PropertyMap
    - std::dynamic_pointer_cast<GeographicCRS>
    - PJ*::iso_obj::get
    - getDBcontextNoException
    - auto::derivingConversion
    - auto::axisList
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_create_projected_3D_crs_from_2D(PJ_CONTEXT *ctx,\n                                             const
      char *crs_name,\n                                             const PJ *projected_2D_crs,\n
      \                                            const PJ *geog_3D_crs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4390,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4392,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4393,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4396,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4396,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4398,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:4402,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4403,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/c_api.cpp:4404,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:4404,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:4405,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4408,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - crs_2D_name
    - crs_3D
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4411
      start: 4388
    functionDepth: 5
    functionLinenumber: 4388
    functionLinenumberEnd: 4411
    functionName: proj_crs_demote_to_2D
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - auto::nameStr
    - auto::demoteTo2D
    - PJ*::iso_obj::get
    - getDBcontextNoException
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    - std::string
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_demote_to_2D(PJ_CONTEXT *ctx, const char *crs_2D_name,\n
      \                         const PJ *crs_3D)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4428,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4430,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4431,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4432,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4433,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4434,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/c_api.cpp:4435,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4437,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - crs_name
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4440
      start: 4427
    functionDepth: 5
    functionLinenumber: 4427
    functionLinenumberEnd: 4440
    functionName: proj_create_engineering_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - CartesianCS::createEastingNorthing
    - SANITIZE_CTX
    - createPropertyMapName
    - pj_obj_create
    - proj_log_error
    - EngineeringCRS::create
    - EngineeringDatum::create
    - what
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_create_engineering_crs(PJ_CONTEXT *ctx, const char *crs_name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4453,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4456,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4460,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4463,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4468,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4469,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4472,1
    - Dst: std::vector<OperationParameterNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:4476,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4476,1
    - Dst: createAngularUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4499,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4502,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/c_api.cpp:4504,1
    - Dst: std::vector<ParameterValueNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:4507,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4507,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 12
    argNames:
    - name
    - auth_name
    - code
    - method_name
    - method_auth_name
    - method_code
    - param_count
    - params
    - propSingleOp
    - propMethod
    - parameters
    - values
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    - PJ_PARAM_DESCRIPTION*
    - PropertyMap
    - PropertyMap
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4446
    functionDepth: 2
    functionLinenumber: 4446
    functionLinenumberEnd: 4509
    functionName: setSingleOperationElements
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - ParameterValue::create
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - std::vector<OperationParameterNNPtr>::emplace_back
    - std::vector<ParameterValueNNPtr>::emplace_back
    - createAngularUnit
    - createLinearUnit
    - UnitOfMeasure
    - OperationParameter::create
    linkageType: ''
    returnType: void
    signature: "void setSingleOperationElements(\n    const char *name, const char
      *auth_name, const char *code,\n    const char *method_name, const char *method_auth_name,\n
      \   const char *method_code, int param_count,\n    const PJ_PARAM_DESCRIPTION
      *params, PropertyMap &propSingleOp,\n    PropertyMap &propMethod, std::vector<OperationParameterNNPtr>
      &parameters,\n    std::vector<ParameterValueNNPtr> &values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4541,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4543,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4544,1
    - Dst: setSingleOperationElements
      Src: /src/PROJ/src/iso19111/c_api.cpp:4548,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4552,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4552,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4555,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 9
    argNames:
    - ctx
    - name
    - auth_name
    - code
    - method_name
    - method_auth_name
    - method_code
    - param_count
    - params
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    - PJ_PARAM_DESCRIPTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4558
      start: 4535
    functionDepth: 5
    functionLinenumber: 4535
    functionLinenumberEnd: 4558
    functionName: proj_create_conversion
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - setSingleOperationElements
    - PropertyMap::PropertyMap
    - SANITIZE_CTX
    - Conversion::create
    - pj_obj_create
    - proj_log_error
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion(PJ_CONTEXT *ctx, const char *name,\n                           const
      char *auth_name, const char *code,\n                           const char *method_name,\n
      \                          const char *method_auth_name,\n                           const
      char *method_code, int param_count,\n                           const PJ_PARAM_DESCRIPTION
      *params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4596,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4598,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4599,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4603,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4605,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4609,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4611,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4618,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4620,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4626,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4627,1
    - Dst: setSingleOperationElements
      Src: /src/PROJ/src/iso19111/c_api.cpp:4631,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:4637,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4638,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/c_api.cpp:4638,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4641,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4643,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:4643,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:4644,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4647,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 13
    argNames:
    - ctx
    - name
    - auth_name
    - code
    - source_crs
    - target_crs
    - interpolation_crs
    - method_name
    - method_auth_name
    - method_code
    - param_count
    - params
    - accuracy
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char*
    - PJ*
    - PJ*
    - PJ*
    - char*
    - char*
    - char*
    - int
    - PJ_PARAM_DESCRIPTION*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4650
      start: 4590
    functionDepth: 5
    functionLinenumber: 4590
    functionLinenumberEnd: 4650
    functionName: proj_create_transformation
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - setSingleOperationElements
    - toString
    - PropertyMap::PropertyMap
    - std::dynamic_pointer_cast<CRS>
    - SANITIZE_CTX
    - proj_context_errno_set
    - Transformation::create
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - std::vector::emplace_back
    - PositionalAccuracy::create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_transformation(\n    PJ_CONTEXT *ctx, const char *name,
      const char *auth_name, const char *code,\n    const PJ *source_crs, const PJ
      *target_crs, const PJ *interpolation_crs,\n    const char *method_name, const
      char *method_auth_name,\n    const char *method_code, int param_count,\n    const
      PJ_PARAM_DESCRIPTION *params, double accuracy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4682,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:4684,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4685,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:4688,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:4688,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4690,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4697,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4700,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4703,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4707,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/c_api.cpp:4714,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4717,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:4717,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4719,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - conversion
    - new_method_epsg_code
    - new_method_name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4678
    functionDepth: 5
    functionLinenumber: 4678
    functionLinenumberEnd: 4722
    functionName: proj_convert_conversion_to_other_method
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ*::iso_obj::get
    - auto::convertToOtherMethod
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - dynamic_cast<const Conversion *>
    - proj_log_error
    - pj_obj_create
    - Identifier::isEquivalentName
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_convert_conversion_to_other_method(PJ_CONTEXT *ctx,\n                                            const
      PJ *conversion,\n                                            int new_method_epsg_code,\n
      \                                           const char *new_method_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/c_api.cpp:4730,1
    - Dst: Exception
      Src: /src/PROJ/src/iso19111/c_api.cpp:4732,1
    - Dst: createAngularUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4753,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4755,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/c_api.cpp:4756,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4759,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:4760,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:4761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - axis
    argTypes:
    - PJ_AXIS_DESCRIPTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4728
    functionDepth: 2
    functionLinenumber: 4728
    functionLinenumberEnd: 4762
    functionName: createAxis
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - CoordinateSystemAxis::create
    - createAngularUnit
    - createLinearUnit
    - createPropertyMapName
    - UnitOfMeasure
    - Exception
    - AxisDirection::valueOf
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: CoordinateSystemAxisNNPtr createAxis(const PJ_AXIS_DESCRIPTION &axis)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4785,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4793,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4794,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4794,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4794,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4795,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4797,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4798,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4798,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4798,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4799,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4800,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4807,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4809,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4809,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4809,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4810,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4812,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4813,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4814,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4814,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4815,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4815,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4822,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4824,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4824,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4824,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4831,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4832,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4833,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4833,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4834,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4834,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4841,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4843,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4843,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4843,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:4851,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4851,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4854,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4855,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4855,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4860,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4861,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4861,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4862,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4869,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4870,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4870,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4871,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4878,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4879,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:4879,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/c_api.cpp:4880,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4887,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4887,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4890,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 4
    argNames:
    - ctx
    - type
    - axis_count
    - axis
    argTypes:
    - PJ_CONTEXT*
    - PJ_COORDINATE_SYSTEM_TYPE
    - int
    - PJ_AXIS_DESCRIPTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4892
      start: 4783
    functionDepth: 5
    functionLinenumber: 4783
    functionLinenumberEnd: 4892
    functionName: proj_create_cs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - VerticalCS::create
    - DateTimeTemporalCS::create
    - ParametricCS::create
    - OrdinalCS::create
    - std::vector::emplace_back
    - SANITIZE_CTX
    - EllipsoidalCS::create
    - what
    - pj_obj_create
    - proj_log_error
    - CartesianCS::create
    - TemporalCountCS::create
    - TemporalMeasureCS::create
    - createAxis
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_cs(PJ_CONTEXT *ctx, PJ_COORDINATE_SYSTEM_TYPE type,\n
      \                  int axis_count, const PJ_AXIS_DESCRIPTION *axis)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4914,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4918,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/c_api.cpp:4919,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4920,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4923,1
    - Dst: CartesianCS::createNorthingEasting
      Src: /src/PROJ/src/iso19111/c_api.cpp:4924,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4925,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4928,1
    - Dst: CartesianCS::createNorthPoleEastingSouthNorthingSouth
      Src: /src/PROJ/src/iso19111/c_api.cpp:4929,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4930,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4933,1
    - Dst: CartesianCS::createSouthPoleEastingNorthNorthingNorth
      Src: /src/PROJ/src/iso19111/c_api.cpp:4934,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4935,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4938,1
    - Dst: CartesianCS::createWestingSouthing
      Src: /src/PROJ/src/iso19111/c_api.cpp:4939,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4940,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4943,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - type
    - unit_name
    - unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - PJ_CARTESIAN_CS_2D_TYPE
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4946
      start: 4911
    functionDepth: 5
    functionLinenumber: 4911
    functionLinenumberEnd: 4946
    functionName: proj_create_cartesian_2D_cs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 12
    functionsReached:
    - CartesianCS::createNorthingEasting
    - CartesianCS::createSouthPoleEastingNorthNorthingNorth
    - CartesianCS::createWestingSouthing
    - CartesianCS::createEastingNorthing
    - SANITIZE_CTX
    - CartesianCS::createNorthPoleEastingSouthNorthingSouth
    - pj_obj_create
    - proj_log_error
    - createLinearUnit
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_cartesian_2D_cs(PJ_CONTEXT *ctx, PJ_CARTESIAN_CS_2D_TYPE
      type,\n                                const char *unit_name,\n                                double
      unit_conv_factor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:4970,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4974,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:4975,1
    - Dst: createAngularUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4976,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:4979,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/c_api.cpp:4980,1
    - Dst: createAngularUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:4981,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:4984,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:4984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - type
    - unit_name
    - unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - PJ_ELLIPSOIDAL_CS_2D_TYPE
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4987
      start: 4966
    functionDepth: 5
    functionLinenumber: 4966
    functionLinenumberEnd: 4987
    functionName: proj_create_ellipsoidal_2D_cs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 18
    functionsReached:
    - EllipsoidalCS::createLongitudeLatitude
    - SANITIZE_CTX
    - createAngularUnit
    - pj_obj_create
    - proj_log_error
    - EllipsoidalCS::createLatitudeLongitude
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_ellipsoidal_2D_cs(PJ_CONTEXT *ctx,\n                                  PJ_ELLIPSOIDAL_CS_2D_TYPE
      type,\n                                  const char *unit_name,\n                                  double
      unit_conv_factor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5021,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:5025,1
    - Dst: EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/c_api.cpp:5026,1
    - Dst: createAngularUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:5027,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:5029,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:5033,1
    - Dst: EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/c_api.cpp:5034,1
    - Dst: createAngularUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:5035,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:5037,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5041,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - type
    - horizontal_angular_unit_name
    - horizontal_angular_unit_conv_factor
    - vertical_linear_unit_name
    - vertical_linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - PJ_ELLIPSOIDAL_CS_3D_TYPE
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5044
      start: 5015
    functionDepth: 5
    functionLinenumber: 5015
    functionLinenumberEnd: 5044
    functionName: proj_create_ellipsoidal_3D_cs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
    - EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
    - SANITIZE_CTX
    - createAngularUnit
    - pj_obj_create
    - proj_log_error
    - createLinearUnit
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_ellipsoidal_3D_cs(PJ_CONTEXT *ctx,\n                                  PJ_ELLIPSOIDAL_CS_3D_TYPE
      type,\n                                  const char *horizontal_angular_unit_name,\n
      \                                 double horizontal_angular_unit_conv_factor,\n
      \                                 const char *vertical_linear_unit_name,\n                                  double
      vertical_linear_unit_conv_factor)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5067,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:5069,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5070,1
    - Dst: std::dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:5074,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/c_api.cpp:5078,1
    - Dst: std::dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:5083,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:5088,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:5089,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:5089,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:5090,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:5090,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:5091,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5093,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - crs_name
    - geodetic_crs
    - conversion
    - coordinate_system
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5096
      start: 5064
    functionDepth: 5
    functionLinenumber: 5064
    functionLinenumberEnd: 5096
    functionName: proj_create_projected_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - std::dynamic_pointer_cast<GeodeticCRS>
    - std::dynamic_pointer_cast<Conversion>
    - SANITIZE_CTX
    - proj_context_errno_set
    - createPropertyMapName
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - ProjectedCRS::create
    - std::dynamic_pointer_cast<CartesianCS>
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_projected_crs(PJ_CONTEXT *ctx, const char *crs_name,\n
      \                             const PJ *geodetic_crs, const PJ *conversion,\n
      \                             const PJ *coordinate_system)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:5104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - conv
    argTypes:
    - PJ_CONTEXT*
    - ConversionNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5105
      start: 5102
    functionDepth: 5
    functionLinenumber: 5102
    functionLinenumberEnd: 5105
    functionName: proj_create_conversion
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - pj_obj_create
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion(PJ_CONTEXT *ctx,\n                                  const
      ConversionNNPtr &conv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5122,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/src/iso19111/c_api.cpp:5124,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5124,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5125,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5127,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - zone
    - north
    argTypes:
    - PJ_CONTEXT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5130
      start: 5121
    functionDepth: 6
    functionLinenumber: 5121
    functionLinenumberEnd: 5130
    functionName: proj_create_conversion_utm
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap
    - SANITIZE_CTX
    - Conversion::createUTM
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_create_conversion_utm(PJ_CONTEXT *ctx, int zone, int north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5147,1
    - Dst: Conversion::createTransverseMercator
      Src: /src/PROJ/src/iso19111/c_api.cpp:5153,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5154,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5154,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5155,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:5155,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5156,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5157,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5158,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5160,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5163
      start: 5142
    functionDepth: 6
    functionLinenumber: 5142
    functionLinenumberEnd: 5163
    functionName: proj_create_conversion_transverse_mercator
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createTransverseMercator
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_transverse_mercator(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long, double scale,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5181,1
    - Dst: Conversion::createGaussSchreiberTransverseMercator
      Src: /src/PROJ/src/iso19111/c_api.cpp:5187,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5188,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5188,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5189,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:5189,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5190,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5191,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5192,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5194,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5176
    functionDepth: 6
    functionLinenumber: 5176
    functionLinenumberEnd: 5197
    functionName: proj_create_conversion_gauss_schreiber_transverse_mercator
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Conversion::createGaussSchreiberTransverseMercator
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_gauss_schreiber_transverse_mercator(\n
      \   PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,\n
      \   double false_easting, double false_northing, const char *ang_unit_name,\n
      \   double ang_unit_conv_factor, const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5215,1
    - Dst: Conversion::createTransverseMercatorSouthOriented
      Src: /src/PROJ/src/iso19111/c_api.cpp:5221,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5222,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5222,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5223,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:5223,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5224,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5225,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5226,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5228,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5231
      start: 5210
    functionDepth: 6
    functionLinenumber: 5210
    functionLinenumberEnd: 5231
    functionName: proj_create_conversion_transverse_mercator_south_oriented
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createTransverseMercatorSouthOriented
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_transverse_mercator_south_oriented(\n    PJ_CONTEXT
      *ctx, double center_lat, double center_long, double scale,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5249,1
    - Dst: Conversion::createTwoPointEquidistant
      Src: /src/PROJ/src/iso19111/c_api.cpp:5255,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5256,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5256,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5257,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5258,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5259,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5260,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5261,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5262,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5264,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - latitude_first_point
    - longitude_first_point
    - latitude_second_point
    - longitude_secon_point
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5267
      start: 5243
    functionDepth: 6
    functionLinenumber: 5243
    functionLinenumberEnd: 5267
    functionName: proj_create_conversion_two_point_equidistant
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createTwoPointEquidistant
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_two_point_equidistant(\n    PJ_CONTEXT
      *ctx, double latitude_first_point, double longitude_first_point,\n    double
      latitude_second_point, double longitude_secon_point,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5286,1
    - Dst: Conversion::createTunisiaMiningGrid
      Src: /src/PROJ/src/iso19111/c_api.cpp:5292,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5293,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5293,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5294,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5294,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5295,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5296,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5298,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5301
      start: 5281
    functionDepth: 6
    functionLinenumber: 5281
    functionLinenumberEnd: 5301
    functionName: proj_create_conversion_tunisia_mining_grid
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createTunisiaMiningGrid
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_tunisia_mining_grid(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5320,1
    - Dst: Conversion::createTunisiaMiningGrid
      Src: /src/PROJ/src/iso19111/c_api.cpp:5326,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5327,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5327,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5328,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5328,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5329,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5330,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5332,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5315
    functionDepth: 6
    functionLinenumber: 5315
    functionLinenumberEnd: 5335
    functionName: proj_create_conversion_tunisia_mapping_grid
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createTunisiaMiningGrid
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_tunisia_mapping_grid(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5354,1
    - Dst: Conversion::createAlbersEqualArea
      Src: /src/PROJ/src/iso19111/c_api.cpp:5360,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5361,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5361,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5362,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5363,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5364,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5365,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5366,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5367,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5369,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - latitude_false_origin
    - longitude_false_origin
    - latitude_first_parallel
    - latitude_second_parallel
    - easting_false_origin
    - northing_false_origin
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5372
      start: 5347
    functionDepth: 6
    functionLinenumber: 5347
    functionLinenumberEnd: 5372
    functionName: proj_create_conversion_albers_equal_area
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Conversion::createAlbersEqualArea
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_albers_equal_area(\n    PJ_CONTEXT *ctx,
      double latitude_false_origin,\n    double longitude_false_origin, double latitude_first_parallel,\n
      \   double latitude_second_parallel, double easting_false_origin,\n    double
      northing_false_origin, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5389,1
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/src/iso19111/c_api.cpp:5395,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5396,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5396,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5397,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:5397,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5398,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5399,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5400,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5402,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5384
    functionDepth: 6
    functionLinenumber: 5384
    functionLinenumberEnd: 5405
    functionName: proj_create_conversion_lambert_conic_conformal_1sp
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createLambertConicConformal_1SP
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_conic_conformal_1sp(\n    PJ_CONTEXT
      *ctx, double center_lat, double center_long, double scale,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5425,1
    - Dst: Conversion::createLambertConicConformal_1SP_VariantB
      Src: /src/PROJ/src/iso19111/c_api.cpp:5431,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5432,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5432,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:5432,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5433,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5434,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5435,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5436,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5437,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5439,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - latitude_nat_origin
    - scale
    - latitude_false_origin
    - longitude_false_origin
    - easting_false_origin
    - northing_false_origin
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5442
      start: 5419
    functionDepth: 6
    functionLinenumber: 5419
    functionLinenumberEnd: 5442
    functionName: proj_create_conversion_lambert_conic_conformal_1sp_variant_b
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createLambertConicConformal_1SP_VariantB
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_conic_conformal_1sp_variant_b(\n
      \   PJ_CONTEXT *ctx, double latitude_nat_origin, double scale,\n    double latitude_false_origin,
      double longitude_false_origin,\n    double easting_false_origin, double northing_false_origin,\n
      \   const char *ang_unit_name, double ang_unit_conv_factor,\n    const char
      *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5461,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/c_api.cpp:5467,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5468,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5468,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5469,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5470,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5471,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5472,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5473,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5474,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5476,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - latitude_false_origin
    - longitude_false_origin
    - latitude_first_parallel
    - latitude_second_parallel
    - easting_false_origin
    - northing_false_origin
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5479
      start: 5454
    functionDepth: 6
    functionLinenumber: 5454
    functionLinenumberEnd: 5479
    functionName: proj_create_conversion_lambert_conic_conformal_2sp
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - Conversion::createLambertConicConformal_2SP
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_conic_conformal_2sp(\n    PJ_CONTEXT
      *ctx, double latitude_false_origin,\n    double longitude_false_origin, double
      latitude_first_parallel,\n    double latitude_second_parallel, double easting_false_origin,\n
      \   double northing_false_origin, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5499,1
    - Dst: Conversion::createLambertConicConformal_2SP_Michigan
      Src: /src/PROJ/src/iso19111/c_api.cpp:5505,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5506,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5506,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5507,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5508,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5509,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5510,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5511,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:5512,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5513,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5515,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 12
    argNames:
    - ctx
    - latitude_false_origin
    - longitude_false_origin
    - latitude_first_parallel
    - latitude_second_parallel
    - easting_false_origin
    - northing_false_origin
    - ellipsoid_scaling_factor
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5518
      start: 5492
    functionDepth: 6
    functionLinenumber: 5492
    functionLinenumberEnd: 5518
    functionName: proj_create_conversion_lambert_conic_conformal_2sp_michigan
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - proj_create_conversion
    - SANITIZE_CTX
    - proj_log_error
    - Conversion::createLambertConicConformal_2SP_Michigan
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_conic_conformal_2sp_michigan(\n
      \   PJ_CONTEXT *ctx, double latitude_false_origin,\n    double longitude_false_origin,
      double latitude_first_parallel,\n    double latitude_second_parallel, double
      easting_false_origin,\n    double northing_false_origin, double ellipsoid_scaling_factor,\n
      \   const char *ang_unit_name, double ang_unit_conv_factor,\n    const char
      *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5538,1
    - Dst: Conversion::createLambertConicConformal_2SP_Belgium
      Src: /src/PROJ/src/iso19111/c_api.cpp:5544,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5545,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5545,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5546,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5547,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5548,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5549,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5550,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5551,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5553,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - latitude_false_origin
    - longitude_false_origin
    - latitude_first_parallel
    - latitude_second_parallel
    - easting_false_origin
    - northing_false_origin
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5556
      start: 5531
    functionDepth: 6
    functionLinenumber: 5531
    functionLinenumberEnd: 5556
    functionName: proj_create_conversion_lambert_conic_conformal_2sp_belgium
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createLambertConicConformal_2SP_Belgium
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_conic_conformal_2sp_belgium(\n
      \   PJ_CONTEXT *ctx, double latitude_false_origin,\n    double longitude_false_origin,
      double latitude_first_parallel,\n    double latitude_second_parallel, double
      easting_false_origin,\n    double northing_false_origin, const char *ang_unit_name,\n
      \   double ang_unit_conv_factor, const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5573,1
    - Dst: Conversion::createAzimuthalEquidistant
      Src: /src/PROJ/src/iso19111/c_api.cpp:5579,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5580,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5580,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5581,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5582,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5583,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5584,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5586,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_nat_origin
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5589
      start: 5568
    functionDepth: 6
    functionLinenumber: 5568
    functionLinenumberEnd: 5589
    functionName: proj_create_conversion_azimuthal_equidistant
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Conversion::createAzimuthalEquidistant
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_azimuthal_equidistant(\n    PJ_CONTEXT
      *ctx, double latitude_nat_origin, double longitude_nat_origin,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5606,1
    - Dst: Conversion::createGuamProjection
      Src: /src/PROJ/src/iso19111/c_api.cpp:5612,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5613,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5613,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5614,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5615,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5616,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5617,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5619,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_nat_origin
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5622
      start: 5601
    functionDepth: 6
    functionLinenumber: 5601
    functionLinenumberEnd: 5622
    functionName: proj_create_conversion_guam_projection
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createGuamProjection
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_guam_projection(\n    PJ_CONTEXT *ctx,
      double latitude_nat_origin, double longitude_nat_origin,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5641,1
    - Dst: Conversion::createBonne
      Src: /src/PROJ/src/iso19111/c_api.cpp:5647,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5648,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5648,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5649,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5650,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5651,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5652,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5654,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_nat_origin
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5657
      start: 5634
    functionDepth: 6
    functionLinenumber: 5634
    functionLinenumberEnd: 5657
    functionName: proj_create_conversion_bonne
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createBonne
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_bonne(PJ_CONTEXT *ctx, double latitude_nat_origin,\n
      \                                double longitude_nat_origin,\n                                 double
      false_easting, double false_northing,\n                                 const
      char *ang_unit_name,\n                                 double ang_unit_conv_factor,\n
      \                                const char *linear_unit_name,\n                                 double
      linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5675,1
    - Dst: Conversion::createLambertCylindricalEqualAreaSpherical
      Src: /src/PROJ/src/iso19111/c_api.cpp:5681,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5682,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5682,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5683,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5684,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5685,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5686,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5688,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_first_parallel
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5691
      start: 5670
    functionDepth: 6
    functionLinenumber: 5670
    functionLinenumberEnd: 5691
    functionName: proj_create_conversion_lambert_cylindrical_equal_area_spherical
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Conversion::createLambertCylindricalEqualAreaSpherical
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_cylindrical_equal_area_spherical(\n
      \   PJ_CONTEXT *ctx, double latitude_first_parallel,\n    double longitude_nat_origin,
      double false_easting, double false_northing,\n    const char *ang_unit_name,
      double ang_unit_conv_factor,\n    const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5708,1
    - Dst: Conversion::createLambertCylindricalEqualArea
      Src: /src/PROJ/src/iso19111/c_api.cpp:5714,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5715,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5715,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5716,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5717,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5718,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5719,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5721,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_first_parallel
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5724
      start: 5703
    functionDepth: 6
    functionLinenumber: 5703
    functionLinenumberEnd: 5724
    functionName: proj_create_conversion_lambert_cylindrical_equal_area
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createLambertCylindricalEqualArea
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_cylindrical_equal_area(\n    PJ_CONTEXT
      *ctx, double latitude_first_parallel,\n    double longitude_nat_origin, double
      false_easting, double false_northing,\n    const char *ang_unit_name, double
      ang_unit_conv_factor,\n    const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5741,1
    - Dst: Conversion::createCassiniSoldner
      Src: /src/PROJ/src/iso19111/c_api.cpp:5747,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5748,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5748,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5749,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5749,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5750,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5751,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5753,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5736
    functionDepth: 6
    functionLinenumber: 5736
    functionLinenumberEnd: 5756
    functionName: proj_create_conversion_cassini_soldner
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createCassiniSoldner
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_cassini_soldner(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5774,1
    - Dst: Conversion::createEquidistantConic
      Src: /src/PROJ/src/iso19111/c_api.cpp:5780,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5781,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5781,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5782,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5783,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5784,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5785,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5786,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5787,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5789,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - center_lat
    - center_long
    - latitude_first_parallel
    - latitude_second_parallel
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5768
    functionDepth: 6
    functionLinenumber: 5768
    functionLinenumberEnd: 5792
    functionName: proj_create_conversion_equidistant_conic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createEquidistantConic
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_equidistant_conic(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long,\n    double latitude_first_parallel,
      double latitude_second_parallel,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5810,1
    - Dst: Conversion::createEckertI
      Src: /src/PROJ/src/iso19111/c_api.cpp:5816,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5817,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5817,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5818,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5819,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5820,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5822,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5804
    functionDepth: 6
    functionLinenumber: 5804
    functionLinenumberEnd: 5825
    functionName: proj_create_conversion_eckert_i
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createEckertI
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_eckert_i(PJ_CONTEXT *ctx, double center_long,\n
      \                                   double false_easting, double false_northing,\n
      \                                   const char *ang_unit_name,\n                                    double
      ang_unit_conv_factor,\n                                    const char *linear_unit_name,\n
      \                                   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5844,1
    - Dst: Conversion::createEckertII
      Src: /src/PROJ/src/iso19111/c_api.cpp:5850,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5851,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5851,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5852,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5853,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5854,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5856,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5859
      start: 5837
    functionDepth: 6
    functionLinenumber: 5837
    functionLinenumberEnd: 5859
    functionName: proj_create_conversion_eckert_ii
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createEckertII
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_eckert_ii(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5878,1
    - Dst: Conversion::createEckertIII
      Src: /src/PROJ/src/iso19111/c_api.cpp:5884,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5885,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5885,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5886,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5887,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5888,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5890,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5893
      start: 5871
    functionDepth: 6
    functionLinenumber: 5871
    functionLinenumberEnd: 5893
    functionName: proj_create_conversion_eckert_iii
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createEckertIII
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_eckert_iii(PJ_CONTEXT *ctx, double center_long,\n
      \                                     double false_easting,\n                                      double
      false_northing,\n                                      const char *ang_unit_name,\n
      \                                     double ang_unit_conv_factor,\n                                      const
      char *linear_unit_name,\n                                      double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5912,1
    - Dst: Conversion::createEckertIV
      Src: /src/PROJ/src/iso19111/c_api.cpp:5918,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5919,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5919,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5920,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5921,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5922,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5924,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5905
    functionDepth: 6
    functionLinenumber: 5905
    functionLinenumberEnd: 5927
    functionName: proj_create_conversion_eckert_iv
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Conversion::createEckertIV
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_eckert_iv(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5945,1
    - Dst: Conversion::createEckertV
      Src: /src/PROJ/src/iso19111/c_api.cpp:5951,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5952,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5952,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5953,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5954,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5955,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5957,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5960
      start: 5939
    functionDepth: 6
    functionLinenumber: 5939
    functionLinenumberEnd: 5960
    functionName: proj_create_conversion_eckert_v
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createEckertV
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_eckert_v(PJ_CONTEXT *ctx, double center_long,\n
      \                                   double false_easting, double false_northing,\n
      \                                   const char *ang_unit_name,\n                                    double
      ang_unit_conv_factor,\n                                    const char *linear_unit_name,\n
      \                                   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:5979,1
    - Dst: Conversion::createEckertVI
      Src: /src/PROJ/src/iso19111/c_api.cpp:5985,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:5986,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:5986,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5987,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:5988,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:5989,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:5991,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:5991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5994
      start: 5972
    functionDepth: 6
    functionLinenumber: 5972
    functionLinenumberEnd: 5994
    functionName: proj_create_conversion_eckert_vi
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createEckertVI
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_eckert_vi(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6011,1
    - Dst: Conversion::createEquidistantCylindrical
      Src: /src/PROJ/src/iso19111/c_api.cpp:6017,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6018,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6018,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6019,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6020,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6021,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6022,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6024,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_first_parallel
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6027
      start: 6006
    functionDepth: 6
    functionLinenumber: 6006
    functionLinenumberEnd: 6027
    functionName: proj_create_conversion_equidistant_cylindrical
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createEquidistantCylindrical
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_equidistant_cylindrical(\n    PJ_CONTEXT
      *ctx, double latitude_first_parallel,\n    double longitude_nat_origin, double
      false_easting, double false_northing,\n    const char *ang_unit_name, double
      ang_unit_conv_factor,\n    const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6045,1
    - Dst: Conversion::createEquidistantCylindricalSpherical
      Src: /src/PROJ/src/iso19111/c_api.cpp:6051,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6052,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6052,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6053,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6054,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6055,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6056,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6058,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_first_parallel
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6061
      start: 6040
    functionDepth: 6
    functionLinenumber: 6040
    functionLinenumberEnd: 6061
    functionName: proj_create_conversion_equidistant_cylindrical_spherical
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createEquidistantCylindricalSpherical
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_equidistant_cylindrical_spherical(\n    PJ_CONTEXT
      *ctx, double latitude_first_parallel,\n    double longitude_nat_origin, double
      false_easting, double false_northing,\n    const char *ang_unit_name, double
      ang_unit_conv_factor,\n    const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6079,1
    - Dst: Conversion::createGall
      Src: /src/PROJ/src/iso19111/c_api.cpp:6086,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6086,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6086,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6087,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6088,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6089,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6091,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6094
      start: 6073
    functionDepth: 6
    functionLinenumber: 6073
    functionLinenumberEnd: 6094
    functionName: proj_create_conversion_gall
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createGall
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_gall(PJ_CONTEXT *ctx, double center_long,\n
      \                               double false_easting, double false_northing,\n
      \                               const char *ang_unit_name,\n                                double
      ang_unit_conv_factor,\n                                const char *linear_unit_name,\n
      \                               double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6113,1
    - Dst: Conversion::createGoodeHomolosine
      Src: /src/PROJ/src/iso19111/c_api.cpp:6119,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6120,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6120,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6121,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6122,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6123,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6125,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6128
      start: 6106
    functionDepth: 6
    functionLinenumber: 6106
    functionLinenumberEnd: 6128
    functionName: proj_create_conversion_goode_homolosine
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - Conversion::createGoodeHomolosine
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_goode_homolosine(PJ_CONTEXT *ctx, double
      center_long,\n                                            double false_easting,\n
      \                                           double false_northing,\n                                            const
      char *ang_unit_name,\n                                            double ang_unit_conv_factor,\n
      \                                           const char *linear_unit_name,\n
      \                                           double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6145,1
    - Dst: Conversion::createInterruptedGoodeHomolosine
      Src: /src/PROJ/src/iso19111/c_api.cpp:6151,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6152,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6152,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6153,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6154,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6155,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6157,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6160
      start: 6140
    functionDepth: 6
    functionLinenumber: 6140
    functionLinenumberEnd: 6160
    functionName: proj_create_conversion_interrupted_goode_homolosine
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - what
    - proj_log_error
    - proj_create_conversion
    - Conversion::createInterruptedGoodeHomolosine
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_interrupted_goode_homolosine(\n    PJ_CONTEXT
      *ctx, double center_long, double false_easting,\n    double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6178,1
    - Dst: Conversion::createGeostationarySatelliteSweepX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6184,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6185,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6185,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6186,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6186,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6187,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6188,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6190,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_long
    - height
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6193
      start: 6173
    functionDepth: 6
    functionLinenumber: 6173
    functionLinenumberEnd: 6193
    functionName: proj_create_conversion_geostationary_satellite_sweep_x
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createGeostationarySatelliteSweepX
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_geostationary_satellite_sweep_x(\n    PJ_CONTEXT
      *ctx, double center_long, double height, double false_easting,\n    double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6211,1
    - Dst: Conversion::createGeostationarySatelliteSweepY
      Src: /src/PROJ/src/iso19111/c_api.cpp:6217,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6218,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6218,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6219,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6219,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6220,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6221,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6223,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_long
    - height
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6226
      start: 6206
    functionDepth: 6
    functionLinenumber: 6206
    functionLinenumberEnd: 6226
    functionName: proj_create_conversion_geostationary_satellite_sweep_y
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createGeostationarySatelliteSweepY
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_geostationary_satellite_sweep_y(\n    PJ_CONTEXT
      *ctx, double center_long, double height, double false_easting,\n    double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6245,1
    - Dst: Conversion::createGnomonic
      Src: /src/PROJ/src/iso19111/c_api.cpp:6251,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6252,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6252,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6253,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6253,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6254,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6255,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6257,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6260
      start: 6238
    functionDepth: 6
    functionLinenumber: 6238
    functionLinenumberEnd: 6260
    functionName: proj_create_conversion_gnomonic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createGnomonic
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_gnomonic(PJ_CONTEXT *ctx, double center_lat,\n
      \                                   double center_long, double false_easting,\n
      \                                   double false_northing,\n                                    const
      char *ang_unit_name,\n                                    double ang_unit_conv_factor,\n
      \                                   const char *linear_unit_name,\n                                    double
      linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6280,1
    - Dst: Conversion::createHotineObliqueMercatorVariantA
      Src: /src/PROJ/src/iso19111/c_api.cpp:6286,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6287,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6287,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6288,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6289,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6290,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6290,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6291,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6292,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6293,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6295,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 12
    argNames:
    - ctx
    - latitude_projection_centre
    - longitude_projection_centre
    - azimuth_initial_line
    - angle_from_rectified_to_skrew_grid
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6298
      start: 6273
    functionDepth: 6
    functionLinenumber: 6273
    functionLinenumberEnd: 6298
    functionName: proj_create_conversion_hotine_oblique_mercator_variant_a
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createHotineObliqueMercatorVariantA
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_hotine_oblique_mercator_variant_a(\n    PJ_CONTEXT
      *ctx, double latitude_projection_centre,\n    double longitude_projection_centre,
      double azimuth_initial_line,\n    double angle_from_rectified_to_skrew_grid,
      double scale,\n    double false_easting, double false_northing, const char *ang_unit_name,\n
      \   double ang_unit_conv_factor, const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6318,1
    - Dst: Conversion::createHotineObliqueMercatorVariantB
      Src: /src/PROJ/src/iso19111/c_api.cpp:6324,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6325,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6325,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6326,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6327,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6328,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6328,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6329,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6330,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6331,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6333,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 12
    argNames:
    - ctx
    - latitude_projection_centre
    - longitude_projection_centre
    - azimuth_initial_line
    - angle_from_rectified_to_skrew_grid
    - scale
    - easting_projection_centre
    - northing_projection_centre
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6336
      start: 6311
    functionDepth: 6
    functionLinenumber: 6311
    functionLinenumberEnd: 6336
    functionName: proj_create_conversion_hotine_oblique_mercator_variant_b
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createHotineObliqueMercatorVariantB
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_hotine_oblique_mercator_variant_b(\n    PJ_CONTEXT
      *ctx, double latitude_projection_centre,\n    double longitude_projection_centre,
      double azimuth_initial_line,\n    double angle_from_rectified_to_skrew_grid,
      double scale,\n    double easting_projection_centre, double northing_projection_centre,\n
      \   const char *ang_unit_name, double ang_unit_conv_factor,\n    const char
      *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6356,1
    - Dst: Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
      Src: /src/PROJ/src/iso19111/c_api.cpp:6363,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6364,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6364,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6365,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6366,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6367,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6368,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6368,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6369,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6370,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6371,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6373,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 13
    argNames:
    - ctx
    - latitude_projection_centre
    - latitude_point1
    - longitude_point1
    - latitude_point2
    - longitude_point2
    - scale
    - easting_projection_centre
    - northing_projection_centre
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6376
      start: 6349
    functionDepth: 6
    functionLinenumber: 6349
    functionLinenumberEnd: 6376
    functionName: proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(\n
      \   PJ_CONTEXT *ctx, double latitude_projection_centre, double latitude_point1,\n
      \   double longitude_point1, double latitude_point2, double longitude_point2,\n
      \   double scale, double easting_projection_centre,\n    double northing_projection_centre,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6395,1
    - Dst: Conversion::createLabordeObliqueMercator
      Src: /src/PROJ/src/iso19111/c_api.cpp:6401,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6402,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6402,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6403,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6404,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6404,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6405,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6406,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6407,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6409,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - latitude_projection_centre
    - longitude_projection_centre
    - azimuth_initial_line
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6412
      start: 6389
    functionDepth: 6
    functionLinenumber: 6389
    functionLinenumberEnd: 6412
    functionName: proj_create_conversion_laborde_oblique_mercator
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createLabordeObliqueMercator
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_laborde_oblique_mercator(\n    PJ_CONTEXT
      *ctx, double latitude_projection_centre,\n    double longitude_projection_centre,
      double azimuth_initial_line,\n    double scale, double false_easting, double
      false_northing,\n    const char *ang_unit_name, double ang_unit_conv_factor,\n
      \   const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6431,1
    - Dst: Conversion::createInternationalMapWorldPolyconic
      Src: /src/PROJ/src/iso19111/c_api.cpp:6437,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6438,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6438,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6439,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6440,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6441,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6442,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6443,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6445,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_long
    - latitude_first_parallel
    - latitude_second_parallel
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6448
      start: 6425
    functionDepth: 6
    functionLinenumber: 6425
    functionLinenumberEnd: 6448
    functionName: proj_create_conversion_international_map_world_polyconic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createInternationalMapWorldPolyconic
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_international_map_world_polyconic(\n    PJ_CONTEXT
      *ctx, double center_long, double latitude_first_parallel,\n    double latitude_second_parallel,
      double false_easting,\n    double false_northing, const char *ang_unit_name,\n
      \   double ang_unit_conv_factor, const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6468,1
    - Dst: Conversion::createKrovakNorthOriented
      Src: /src/PROJ/src/iso19111/c_api.cpp:6474,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6475,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6475,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6476,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6477,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6478,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6479,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6480,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6481,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6482,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6484,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 12
    argNames:
    - ctx
    - latitude_projection_centre
    - longitude_of_origin
    - colatitude_cone_axis
    - latitude_pseudo_standard_parallel
    - scale_factor_pseudo_standard_parallel
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6487
      start: 6460
    functionDepth: 6
    functionLinenumber: 6460
    functionLinenumberEnd: 6487
    functionName: proj_create_conversion_krovak_north_oriented
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Conversion::createKrovakNorthOriented
    - Scale
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_krovak_north_oriented(\n    PJ_CONTEXT
      *ctx, double latitude_projection_centre,\n    double longitude_of_origin, double
      colatitude_cone_axis,\n    double latitude_pseudo_standard_parallel,\n    double
      scale_factor_pseudo_standard_parallel, double false_easting,\n    double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6507,1
    - Dst: Conversion::createKrovak
      Src: /src/PROJ/src/iso19111/c_api.cpp:6513,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6514,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6514,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6515,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6516,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6517,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6518,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6519,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6520,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6521,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6523,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 12
    argNames:
    - ctx
    - latitude_projection_centre
    - longitude_of_origin
    - colatitude_cone_axis
    - latitude_pseudo_standard_parallel
    - scale_factor_pseudo_standard_parallel
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6526
      start: 6499
    functionDepth: 6
    functionLinenumber: 6499
    functionLinenumberEnd: 6526
    functionName: proj_create_conversion_krovak
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createKrovak
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_krovak(\n    PJ_CONTEXT *ctx, double latitude_projection_centre,\n
      \   double longitude_of_origin, double colatitude_cone_axis,\n    double latitude_pseudo_standard_parallel,\n
      \   double scale_factor_pseudo_standard_parallel, double false_easting,\n    double
      false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6543,1
    - Dst: Conversion::createLambertAzimuthalEqualArea
      Src: /src/PROJ/src/iso19111/c_api.cpp:6549,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6550,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6550,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6551,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6552,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6553,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6554,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6556,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_nat_origin
    - longitude_nat_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6559
      start: 6538
    functionDepth: 6
    functionLinenumber: 6538
    functionLinenumberEnd: 6559
    functionName: proj_create_conversion_lambert_azimuthal_equal_area
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createLambertAzimuthalEqualArea
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_lambert_azimuthal_equal_area(\n    PJ_CONTEXT
      *ctx, double latitude_nat_origin, double longitude_nat_origin,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6576,1
    - Dst: Conversion::createMillerCylindrical
      Src: /src/PROJ/src/iso19111/c_api.cpp:6582,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6583,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6583,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6584,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6585,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6586,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6588,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6591
      start: 6571
    functionDepth: 6
    functionLinenumber: 6571
    functionLinenumberEnd: 6591
    functionName: proj_create_conversion_miller_cylindrical
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - Conversion::createMillerCylindrical
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_miller_cylindrical(\n    PJ_CONTEXT *ctx,
      double center_long, double false_easting,\n    double false_northing, const
      char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6608,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/src/iso19111/c_api.cpp:6614,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6615,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6615,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6616,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6616,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6617,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6618,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6619,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6621,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6624
      start: 6603
    functionDepth: 6
    functionLinenumber: 6603
    functionLinenumberEnd: 6624
    functionName: proj_create_conversion_mercator_variant_a
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantA
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_mercator_variant_a(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long, double scale,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6641,1
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/src/iso19111/c_api.cpp:6647,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6648,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6648,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6649,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6649,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6650,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6651,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6653,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_first_parallel
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6656
      start: 6636
    functionDepth: 6
    functionLinenumber: 6636
    functionLinenumberEnd: 6656
    functionName: proj_create_conversion_mercator_variant_b
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMercatorVariantB
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_mercator_variant_b(\n    PJ_CONTEXT *ctx,
      double latitude_first_parallel, double center_long,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6674,1
    - Dst: Conversion::createPopularVisualisationPseudoMercator
      Src: /src/PROJ/src/iso19111/c_api.cpp:6680,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6681,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6681,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6682,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6682,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6683,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6684,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6686,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6689
      start: 6669
    functionDepth: 6
    functionLinenumber: 6669
    functionLinenumberEnd: 6689
    functionName: proj_create_conversion_popular_visualisation_pseudo_mercator
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createPopularVisualisationPseudoMercator
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_popular_visualisation_pseudo_mercator(\n
      \   PJ_CONTEXT *ctx, double center_lat, double center_long,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6708,1
    - Dst: Conversion::createMollweide
      Src: /src/PROJ/src/iso19111/c_api.cpp:6714,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6715,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6715,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6716,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6717,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6718,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6720,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6723
      start: 6701
    functionDepth: 6
    functionLinenumber: 6701
    functionLinenumberEnd: 6723
    functionName: proj_create_conversion_mollweide
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createMollweide
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_mollweide(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6740,1
    - Dst: Conversion::createNewZealandMappingGrid
      Src: /src/PROJ/src/iso19111/c_api.cpp:6746,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6747,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6747,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6748,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6748,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6749,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6750,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6752,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6755
      start: 6735
    functionDepth: 6
    functionLinenumber: 6735
    functionLinenumberEnd: 6755
    functionName: proj_create_conversion_new_zealand_mapping_grid
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createNewZealandMappingGrid
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_new_zealand_mapping_grid(\n    PJ_CONTEXT
      *ctx, double center_lat, double center_long,\n    double false_easting, double
      false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6772,1
    - Dst: Conversion::createObliqueStereographic
      Src: /src/PROJ/src/iso19111/c_api.cpp:6778,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6779,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6779,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6780,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6780,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6781,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6782,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6783,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6785,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6788
      start: 6767
    functionDepth: 6
    functionLinenumber: 6767
    functionLinenumberEnd: 6788
    functionName: proj_create_conversion_oblique_stereographic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createObliqueStereographic
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_oblique_stereographic(\n    PJ_CONTEXT
      *ctx, double center_lat, double center_long, double scale,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6805,1
    - Dst: Conversion::createOrthographic
      Src: /src/PROJ/src/iso19111/c_api.cpp:6811,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6812,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6812,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6813,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6813,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6814,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6815,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6817,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6820
      start: 6800
    functionDepth: 6
    functionLinenumber: 6800
    functionLinenumberEnd: 6820
    functionName: proj_create_conversion_orthographic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createOrthographic
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_orthographic(\n    PJ_CONTEXT *ctx, double
      center_lat, double center_long,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6837,1
    - Dst: Conversion::createLocalOrthographic
      Src: /src/PROJ/src/iso19111/c_api.cpp:6843,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6844,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6844,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6845,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6845,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6845,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6846,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6847,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6848,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6850,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - center_lat
    - center_long
    - azimuth
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6853
      start: 6832
    functionDepth: 6
    functionLinenumber: 6832
    functionLinenumberEnd: 6853
    functionName: proj_create_conversion_local_orthographic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Conversion::createLocalOrthographic
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_local_orthographic(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long, double azimuth,\n    double scale, double
      false_easting, double false_northing,\n    const char *ang_unit_name, double
      ang_unit_conv_factor,\n    const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6870,1
    - Dst: Conversion::createAmericanPolyconic
      Src: /src/PROJ/src/iso19111/c_api.cpp:6876,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6877,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6877,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6878,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6878,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6879,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6880,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6882,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6885
      start: 6865
    functionDepth: 6
    functionLinenumber: 6865
    functionLinenumberEnd: 6885
    functionName: proj_create_conversion_american_polyconic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createAmericanPolyconic
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_american_polyconic(\n    PJ_CONTEXT *ctx,
      double center_lat, double center_long,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6902,1
    - Dst: Conversion::createPolarStereographicVariantA
      Src: /src/PROJ/src/iso19111/c_api.cpp:6908,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6909,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6909,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6910,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:6910,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6911,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6912,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6913,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6915,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6918
      start: 6897
    functionDepth: 6
    functionLinenumber: 6897
    functionLinenumberEnd: 6918
    functionName: proj_create_conversion_polar_stereographic_variant_a
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - what
    - proj_log_error
    - proj_create_conversion
    - Conversion::createPolarStereographicVariantA
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_polar_stereographic_variant_a(\n    PJ_CONTEXT
      *ctx, double center_lat, double center_long, double scale,\n    double false_easting,
      double false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6935,1
    - Dst: Conversion::createPolarStereographicVariantB
      Src: /src/PROJ/src/iso19111/c_api.cpp:6941,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6942,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6942,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6943,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6944,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6945,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6946,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6948,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_standard_parallel
    - longitude_of_origin
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6951
      start: 6930
    functionDepth: 6
    functionLinenumber: 6930
    functionLinenumberEnd: 6951
    functionName: proj_create_conversion_polar_stereographic_variant_b
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createPolarStereographicVariantB
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_polar_stereographic_variant_b(\n    PJ_CONTEXT
      *ctx, double latitude_standard_parallel,\n    double longitude_of_origin, double
      false_easting, double false_northing,\n    const char *ang_unit_name, double
      ang_unit_conv_factor,\n    const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:6969,1
    - Dst: Conversion::createRobinson
      Src: /src/PROJ/src/iso19111/c_api.cpp:6975,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:6976,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:6976,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6977,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:6978,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:6979,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:6981,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:6981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6984
      start: 6963
    functionDepth: 6
    functionLinenumber: 6963
    functionLinenumberEnd: 6984
    functionName: proj_create_conversion_robinson
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createRobinson
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_robinson(PJ_CONTEXT *ctx, double center_long,\n
      \                                   double false_easting, double false_northing,\n
      \                                   const char *ang_unit_name,\n                                    double
      ang_unit_conv_factor,\n                                    const char *linear_unit_name,\n
      \                                   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7003,1
    - Dst: Conversion::createSinusoidal
      Src: /src/PROJ/src/iso19111/c_api.cpp:7009,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7010,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7010,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7011,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7012,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7013,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7015,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7018
      start: 6996
    functionDepth: 6
    functionLinenumber: 6996
    functionLinenumberEnd: 7018
    functionName: proj_create_conversion_sinusoidal
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createSinusoidal
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_sinusoidal(PJ_CONTEXT *ctx, double center_long,\n
      \                                     double false_easting,\n                                      double
      false_northing,\n                                      const char *ang_unit_name,\n
      \                                     double ang_unit_conv_factor,\n                                      const
      char *linear_unit_name,\n                                      double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7035,1
    - Dst: Conversion::createStereographic
      Src: /src/PROJ/src/iso19111/c_api.cpp:7041,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7042,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7042,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7043,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:7043,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7044,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7045,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7046,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7048,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - ctx
    - center_lat
    - center_long
    - scale
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7051
      start: 7030
    functionDepth: 6
    functionLinenumber: 7030
    functionLinenumberEnd: 7051
    functionName: proj_create_conversion_stereographic
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - PropertyMap
    - Angle
    - Conversion::createStereographic
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_stereographic(\n    PJ_CONTEXT *ctx, double
      center_lat, double center_long, double scale,\n    double false_easting, double
      false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7070,1
    - Dst: Conversion::createVanDerGrinten
      Src: /src/PROJ/src/iso19111/c_api.cpp:7076,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7077,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7077,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7078,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7079,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7080,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7082,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7085
      start: 7063
    functionDepth: 6
    functionLinenumber: 7063
    functionLinenumberEnd: 7085
    functionName: proj_create_conversion_van_der_grinten
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createVanDerGrinten
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_van_der_grinten(PJ_CONTEXT *ctx, double
      center_long,\n                                           double false_easting,\n
      \                                          double false_northing,\n                                           const
      char *ang_unit_name,\n                                           double ang_unit_conv_factor,\n
      \                                          const char *linear_unit_name,\n                                           double
      linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7103,1
    - Dst: Conversion::createWagnerI
      Src: /src/PROJ/src/iso19111/c_api.cpp:7109,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7110,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7110,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7111,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7112,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7113,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7115,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7118
      start: 7097
    functionDepth: 6
    functionLinenumber: 7097
    functionLinenumberEnd: 7118
    functionName: proj_create_conversion_wagner_i
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createWagnerI
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_i(PJ_CONTEXT *ctx, double center_long,\n
      \                                   double false_easting, double false_northing,\n
      \                                   const char *ang_unit_name,\n                                    double
      ang_unit_conv_factor,\n                                    const char *linear_unit_name,\n
      \                                   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7137,1
    - Dst: Conversion::createWagnerII
      Src: /src/PROJ/src/iso19111/c_api.cpp:7143,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7144,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7144,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7145,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7146,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7147,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7149,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7152
      start: 7130
    functionDepth: 6
    functionLinenumber: 7130
    functionLinenumberEnd: 7152
    functionName: proj_create_conversion_wagner_ii
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createWagnerII
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_ii(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7169,1
    - Dst: Conversion::createWagnerIII
      Src: /src/PROJ/src/iso19111/c_api.cpp:7175,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7176,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7176,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7177,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7177,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7178,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7179,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7181,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - latitude_true_scale
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7184
      start: 7164
    functionDepth: 6
    functionLinenumber: 7164
    functionLinenumberEnd: 7184
    functionName: proj_create_conversion_wagner_iii
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - Conversion::createWagnerIII
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_iii(\n    PJ_CONTEXT *ctx, double
      latitude_true_scale, double center_long,\n    double false_easting, double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7203,1
    - Dst: Conversion::createWagnerIV
      Src: /src/PROJ/src/iso19111/c_api.cpp:7209,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7210,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7210,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7211,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7212,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7213,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7215,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7218
      start: 7196
    functionDepth: 6
    functionLinenumber: 7196
    functionLinenumberEnd: 7218
    functionName: proj_create_conversion_wagner_iv
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createWagnerIV
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_iv(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7236,1
    - Dst: Conversion::createWagnerV
      Src: /src/PROJ/src/iso19111/c_api.cpp:7242,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7243,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7243,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7244,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7245,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7246,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7248,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7251
      start: 7230
    functionDepth: 6
    functionLinenumber: 7230
    functionLinenumberEnd: 7251
    functionName: proj_create_conversion_wagner_v
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createWagnerV
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_v(PJ_CONTEXT *ctx, double center_long,\n
      \                                   double false_easting, double false_northing,\n
      \                                   const char *ang_unit_name,\n                                    double
      ang_unit_conv_factor,\n                                    const char *linear_unit_name,\n
      \                                   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7270,1
    - Dst: Conversion::createWagnerVI
      Src: /src/PROJ/src/iso19111/c_api.cpp:7276,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7277,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7277,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7278,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7279,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7280,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7282,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7285
      start: 7263
    functionDepth: 6
    functionLinenumber: 7263
    functionLinenumberEnd: 7285
    functionName: proj_create_conversion_wagner_vi
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - Conversion::createWagnerVI
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_vi(PJ_CONTEXT *ctx, double center_long,\n
      \                                    double false_easting,\n                                     double
      false_northing,\n                                     const char *ang_unit_name,\n
      \                                    double ang_unit_conv_factor,\n                                     const
      char *linear_unit_name,\n                                     double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7304,1
    - Dst: Conversion::createWagnerVII
      Src: /src/PROJ/src/iso19111/c_api.cpp:7310,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7311,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7311,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7312,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7313,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7314,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7316,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7319
      start: 7297
    functionDepth: 6
    functionLinenumber: 7297
    functionLinenumberEnd: 7319
    functionName: proj_create_conversion_wagner_vii
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createWagnerVII
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_wagner_vii(PJ_CONTEXT *ctx, double center_long,\n
      \                                     double false_easting,\n                                      double
      false_northing,\n                                      const char *ang_unit_name,\n
      \                                     double ang_unit_conv_factor,\n                                      const
      char *linear_unit_name,\n                                      double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7337,1
    - Dst: Conversion::createQuadrilateralizedSphericalCube
      Src: /src/PROJ/src/iso19111/c_api.cpp:7343,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7344,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7344,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7345,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7345,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7346,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7347,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7349,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - center_lat
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7352
      start: 7332
    functionDepth: 6
    functionLinenumber: 7332
    functionLinenumberEnd: 7352
    functionName: proj_create_conversion_quadrilateralized_spherical_cube
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createQuadrilateralizedSphericalCube
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_quadrilateralized_spherical_cube(\n    PJ_CONTEXT
      *ctx, double center_lat, double center_long,\n    double false_easting, double
      false_northing, const char *ang_unit_name,\n    double ang_unit_conv_factor,
      const char *linear_unit_name,\n    double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7369,1
    - Dst: Conversion::createSphericalCrossTrackHeight
      Src: /src/PROJ/src/iso19111/c_api.cpp:7375,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7376,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7376,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7377,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7377,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7378,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7379,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7381,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - peg_point_lat
    - peg_point_long
    - peg_point_heading
    - peg_point_height
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7384
      start: 7364
    functionDepth: 6
    functionLinenumber: 7364
    functionLinenumberEnd: 7384
    functionName: proj_create_conversion_spherical_cross_track_height
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createSphericalCrossTrackHeight
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_spherical_cross_track_height(\n    PJ_CONTEXT
      *ctx, double peg_point_lat, double peg_point_long,\n    double peg_point_heading,
      double peg_point_height,\n    const char *ang_unit_name, double ang_unit_conv_factor,\n
      \   const char *linear_unit_name, double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7403,1
    - Dst: Conversion::createEqualEarth
      Src: /src/PROJ/src/iso19111/c_api.cpp:7409,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7410,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7410,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7411,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7412,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7413,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7415,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - center_long
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7418
      start: 7396
    functionDepth: 6
    functionLinenumber: 7396
    functionLinenumberEnd: 7418
    functionName: proj_create_conversion_equal_earth
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createEqualEarth
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_equal_earth(PJ_CONTEXT *ctx, double center_long,\n
      \                                      double false_easting,\n                                       double
      false_northing,\n                                       const char *ang_unit_name,\n
      \                                      double ang_unit_conv_factor,\n                                       const
      char *linear_unit_name,\n                                       double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7439,1
    - Dst: Conversion::createVerticalPerspective
      Src: /src/PROJ/src/iso19111/c_api.cpp:7445,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7446,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7446,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7447,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7448,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7449,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7450,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:7451,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7452,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7454,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - ctx
    - topo_origin_lat
    - topo_origin_long
    - topo_origin_height
    - view_point_height
    - false_easting
    - false_northing
    - ang_unit_name
    - ang_unit_conv_factor
    - linear_unit_name
    - linear_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - double
    - double
    - double
    - char*
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7457
      start: 7433
    functionDepth: 6
    functionLinenumber: 7433
    functionLinenumberEnd: 7457
    functionName: proj_create_conversion_vertical_perspective
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createVerticalPerspective
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_vertical_perspective(\n    PJ_CONTEXT *ctx,
      double topo_origin_lat, double topo_origin_long,\n    double topo_origin_height,
      double view_point_height, double false_easting,\n    double false_northing,
      const char *ang_unit_name,\n    double ang_unit_conv_factor, const char *linear_unit_name,\n
      \   double linear_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7474,1
    - Dst: Conversion::createPoleRotationGRIBConvention
      Src: /src/PROJ/src/iso19111/c_api.cpp:7478,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7479,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7479,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7480,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7481,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7482,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7484,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - south_pole_lat_in_unrotated_crs
    - south_pole_long_in_unrotated_crs
    - axis_rotation
    - ang_unit_name
    - ang_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7487
      start: 7470
    functionDepth: 6
    functionLinenumber: 7470
    functionLinenumberEnd: 7487
    functionName: proj_create_conversion_pole_rotation_grib_convention
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - proj_log_error
    - proj_create_conversion
    - what
    - Conversion::createPoleRotationGRIBConvention
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_pole_rotation_grib_convention(\n    PJ_CONTEXT
      *ctx, double south_pole_lat_in_unrotated_crs,\n    double south_pole_long_in_unrotated_crs,
      double axis_rotation,\n    const char *ang_unit_name, double ang_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7505,1
    - Dst: Conversion::createPoleRotationNetCDFCFConvention
      Src: /src/PROJ/src/iso19111/c_api.cpp:7509,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/c_api.cpp:7510,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7510,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7511,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/c_api.cpp:7512,1
    - Dst: proj_create_conversion
      Src: /src/PROJ/src/iso19111/c_api.cpp:7513,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7515,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - grid_north_pole_latitude
    - grid_north_pole_longitude
    - north_pole_grid_longitude
    - ang_unit_name
    - ang_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - double
    - double
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7518
      start: 7501
    functionDepth: 6
    functionLinenumber: 7501
    functionLinenumberEnd: 7518
    functionName: proj_create_conversion_pole_rotation_netcdf_cf_convention
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap
    - Angle
    - SANITIZE_CTX
    - Conversion::createPoleRotationNetCDFCFConvention
    - proj_log_error
    - proj_create_conversion
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_conversion_pole_rotation_netcdf_cf_convention(\n    PJ_CONTEXT
      *ctx, double grid_north_pole_latitude,\n    double grid_north_pole_longitude,
      double north_pole_grid_longitude,\n    const char *ang_unit_name, double ang_unit_conv_factor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7536,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7538,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7539,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7542,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7543,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7545,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:7549,1
    - Dst: auto::isPROJInstantiable
      Src: /src/PROJ/src/iso19111/c_api.cpp:7551,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/c_api.cpp:7552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - coordoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7559
      start: 7534
    functionDepth: 3
    functionLinenumber: 7534
    functionLinenumberEnd: 7559
    functionName: proj_coordoperation_is_instantiable
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - PJ*::iso_obj::get
    - getDBcontextNoException
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - auto::isPROJInstantiable
    - proj_context_is_network_enabled
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_is_instantiable(PJ_CONTEXT *ctx,\n                                        const
      PJ *coordoperation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7580,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7582,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7583,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7586,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7587,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7589,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/c_api.cpp:7593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - coordoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7594
      start: 7578
    functionDepth: 3
    functionLinenumber: 7578
    functionLinenumberEnd: 7594
    functionName: proj_coordoperation_has_ballpark_transformation
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - auto::hasBallparkTransformation
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_has_ballpark_transformation(PJ_CONTEXT *ctx,\n
      \                                                   const PJ *coordoperation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7616,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7618,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7619,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7622,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7623,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7625,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/c_api.cpp:7629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - coordoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7630
      start: 7614
    functionDepth: 3
    functionLinenumber: 7614
    functionLinenumberEnd: 7630
    functionName: proj_coordoperation_requires_per_coordinate_input_time
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - auto::requiresPerCoordinateInputTime
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_requires_per_coordinate_input_time(\n    PJ_CONTEXT
      *ctx, const PJ *coordoperation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7643,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7645,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7646,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7650,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7650,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7652,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7655,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/c_api.cpp:7655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - coordoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7656
      start: 7641
    functionDepth: 3
    functionLinenumber: 7641
    functionLinenumberEnd: 7656
    functionName: proj_coordoperation_get_param_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - auto::parameterValues
    - static_cast<int>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - dynamic_cast<const SingleOperation *>
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_param_count(PJ_CONTEXT *ctx,\n                                        const
      PJ *coordoperation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7672,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7674,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7675,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7679,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7679,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7681,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/c_api.cpp:7685,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/c_api.cpp:7686,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:7686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - coordoperation
    - name
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7692
      start: 7669
    functionDepth: 3
    functionLinenumber: 7669
    functionLinenumberEnd: 7692
    functionName: proj_coordoperation_get_param_index
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::method
    - PJ*::iso_obj::get
    - nameStr
    - SANITIZE_CTX
    - proj_context_errno_set
    - dynamic_cast<const SingleOperation *>
    - proj_log_error
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_param_index(PJ_CONTEXT *ctx,\n                                        const
      PJ *coordoperation,\n                                        const char *name)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7734,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7736,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7737,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7741,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7741,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7743,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/c_api.cpp:7746,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/c_api.cpp:7747,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7748,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:7748,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7749,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:7749,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7750,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/c_api.cpp:7755,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:7757,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:7760,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/c_api.cpp:7761,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:7767,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/c_api.cpp:7768,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7777,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7777,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:7779,1
    - Dst: ParameterValuePtr::type
      Src: /src/PROJ/src/iso19111/c_api.cpp:7784,1
    - Dst: ParameterValuePtr::value
      Src: /src/PROJ/src/iso19111/c_api.cpp:7785,1
    - Dst: ParameterValuePtr::type
      Src: /src/PROJ/src/iso19111/c_api.cpp:7792,1
    - Dst: ParameterValuePtr::valueFile
      Src: /src/PROJ/src/iso19111/c_api.cpp:7793,1
    - Dst: ParameterValuePtr::type
      Src: /src/PROJ/src/iso19111/c_api.cpp:7794,1
    - Dst: ParameterValuePtr::stringValue
      Src: /src/PROJ/src/iso19111/c_api.cpp:7795,1
    - Dst: ParameterValuePtr::type
      Src: /src/PROJ/src/iso19111/c_api.cpp:7815,1
    - Dst: ParameterValuePtr::value
      Src: /src/PROJ/src/iso19111/c_api.cpp:7816,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/c_api.cpp:7818,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:7821,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/c_api.cpp:7824,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/c_api.cpp:7827,1
    - Dst: get_unit_category
      Src: /src/PROJ/src/iso19111/c_api.cpp:7831,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/c_api.cpp:7831,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/c_api.cpp:7831,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 13
    argNames:
    - ctx
    - coordoperation
    - index
    - out_name
    - out_auth_name
    - out_code
    - out_value
    - out_value_string
    - out_unit_conv_factor
    - out_unit_name
    - out_unit_auth_name
    - out_unit_code
    - out_unit_category
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    - char**
    - char**
    - char**
    - double*
    - char**
    - double*
    - char**
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7837
      start: 7728
    functionDepth: 3
    functionLinenumber: 7728
    functionLinenumberEnd: 7837
    functionName: proj_coordoperation_get_param
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - auto::parameterValues
    - codeSpace
    - auto::code
    - code
    - auto::method
    - auto::name
    - static_cast<size_t>
    - ParameterValuePtr::valueFile
    - ParameterValuePtr::type
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - auto::size
    - ParameterValuePtr::value
    - auto::codeSpace
    - get_unit_category
    - auto::conversionToSI
    - ParameterValuePtr::stringValue
    - PJ*::iso_obj::get
    - dynamic_cast<const SingleOperation *>
    - auto::identifiers
    - auto::parameterValue
    - auto::empty
    - auto::type
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_param(\n    PJ_CONTEXT *ctx, const PJ
      *coordoperation, int index, const char **out_name,\n    const char **out_auth_name,
      const char **out_code, double *out_value,\n    const char **out_value_string,
      double *out_unit_conv_factor,\n    const char **out_unit_name, const char **out_unit_auth_name,\n
      \   const char **out_unit_code, const char **out_unit_category)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7864,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7866,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7867,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7871,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7871,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7874,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/c_api.cpp:7879,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:7880,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7882,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:7882,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - ctx
    - coordoperation
    - out_values
    - value_count
    - emit_error_if_incompatible
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - double*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7894
      start: 7860
    functionDepth: 3
    functionLinenumber: 7860
    functionLinenumberEnd: 7894
    functionName: proj_coordoperation_get_towgs84_values
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - dynamic_cast<const Transformation *>
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - auto::empty
    - auto::getTOWGS84Parameters
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_towgs84_values(PJ_CONTEXT *ctx,\n                                           const
      PJ *coordoperation,\n                                           double *out_values,
      int value_count,\n                                           int emit_error_if_incompatible)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7907,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:7909,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7910,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7913,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:7914,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7916,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:7920,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/src/iso19111/c_api.cpp:7924,1
    - Dst: proj_context_is_network_enabled
      Src: /src/PROJ/src/iso19111/c_api.cpp:7925,1
    - Dst: PJ*::gridsNeeded::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:7927,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:7930,1
    - Dst: PJ*::gridsNeeded::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:7930,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7932,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:7932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - coordoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7935
      start: 7905
    functionDepth: 3
    functionLinenumber: 7905
    functionLinenumberEnd: 7935
    functionName: proj_coordoperation_get_grid_used_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - PJ*::gridsNeeded::size
    - dynamic_cast<const CoordinateOperation *>
    - static_cast<int>
    - PJ*::iso_obj::get
    - getDBcontextNoException
    - SANITIZE_CTX
    - proj_context_errno_set
    - auto::gridsNeeded
    - proj_log_error
    - what
    - proj_context_is_network_enabled
    - PJ*::gridsNeeded::emplace_back
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_grid_used_count(PJ_CONTEXT *ctx,\n                                            const
      PJ *coordoperation)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:7968,1
    - Dst: proj_coordoperation_get_grid_used_count
      Src: /src/PROJ/src/iso19111/c_api.cpp:7970,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:7972,1
    - Dst: auto::shortName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:7978,1
    - Dst: auto::fullName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:7982,1
    - Dst: auto::packageName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:7986,1
    - Dst: auto::url::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:7990,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 10
    argNames:
    - ctx
    - coordoperation
    - index
    - out_short_name
    - out_full_name
    - out_package_name
    - out_url
    - out_direct_download
    - out_open_license
    - out_available
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    - char**
    - char**
    - char**
    - char**
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8006
      start: 7963
    functionDepth: 4
    functionLinenumber: 7963
    functionLinenumberEnd: 8006
    functionName: proj_coordoperation_get_grid_used
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 7
    functionsReached:
    - auto::packageName::c_str
    - proj_coordoperation_get_grid_used_count
    - SANITIZE_CTX
    - auto::fullName::c_str
    - proj_log_error
    - auto::url::c_str
    - auto::shortName::c_str
    linkageType: ''
    returnType: int
    signature: "int proj_coordoperation_get_grid_used(\n    PJ_CONTEXT *ctx, const
      PJ *coordoperation, int index,\n    const char **out_short_name, const char
      **out_full_name,\n    const char **out_package_name, const char **out_url,\n
      \   int *out_direct_download, int *out_open_license, int *out_available)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:8017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - operationContextIn
    argTypes:
    - CoordinateOperationContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8017
      start: 8015
    functionDepth: 0
    functionLinenumber: 8015
    functionLinenumberEnd: 8017
    functionName: PJ_OPERATION_FACTORY_CONTEXT
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PJ_OPERATION_FACTORY_CONTEXT(\n        CoordinateOperationContextNNPtr
      &&operationContextIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8019
      start: 8019
    functionDepth: 0
    functionLinenumber: 8019
    functionLinenumberEnd: 8019
    functionName: PJ_OPERATION_FACTORY_CONTEXT
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJ_OPERATION_FACTORY_CONTEXT(const PJ_OPERATION_FACTORY_CONTEXT
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8021
      start: 8020
    functionDepth: 0
    functionLinenumber: 8020
    functionLinenumberEnd: 8021
    functionName: "&\n    operator=(const PJ_OPERATION_FACTORY_CONTEXT &)"
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_OPERATION_FACTORY_CONTEXT
    signature: "PJ_OPERATION_FACTORY_CONTEXT &\n    operator=(const PJ_OPERATION_FACTORY_CONTEXT
      &)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8050,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:8051,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8054,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8055,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8056,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:8057,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8059,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:8061,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT::PJ_OPERATION_FACTORY_CONTEXT
      Src: /src/PROJ/src/iso19111/c_api.cpp:8060,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8064,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:8066,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT::PJ_OPERATION_FACTORY_CONTEXT
      Src: /src/PROJ/src/iso19111/c_api.cpp:8065,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8069,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - authority
    argTypes:
    - PJ_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8072
      start: 8048
    functionDepth: 3
    functionLinenumber: 8048
    functionLinenumberEnd: 8072
    functionName: proj_create_operation_factory_context
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 33
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT::PJ_OPERATION_FACTORY_CONTEXT
    - CoordinateOperationContext::create
    - std::move
    - getDBcontextNoException
    - SANITIZE_CTX
    - what
    - NN_NO_CHECK
    - proj_log_error
    - std::string
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: PJ_OPERATION_FACTORY_CONTEXT
    signature: 'PJ_OPERATION_FACTORY_CONTEXT *

      proj_create_operation_factory_context(PJ_CONTEXT *ctx, const char *authority)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_OPERATION_FACTORY_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8085
      start: 8083
    functionDepth: 0
    functionLinenumber: 8083
    functionLinenumberEnd: 8085
    functionName: proj_operation_factory_context_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_operation_factory_context_destroy(PJ_OPERATION_FACTORY_CONTEXT
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8097,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8099,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8100,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setDesiredAccuracy
      Src: /src/PROJ/src/iso19111/c_api.cpp:8104,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8106,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - accuracy
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8108
      start: 8094
    functionDepth: 3
    functionLinenumber: 8094
    functionLinenumberEnd: 8108
    functionName: proj_operation_factory_context_set_desired_accuracy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setDesiredAccuracy
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_desired_accuracy(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    double accuracy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8129,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8131,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8132,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAreaOfInterest
      Src: /src/PROJ/src/iso19111/c_api.cpp:8136,1
    - Dst: Extent::createFromBBOX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8137,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8140,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - factory_ctx
    - west_lon_degree
    - south_lat_degree
    - east_lon_degree
    - north_lat_degree
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8142
      start: 8125
    functionDepth: 3
    functionLinenumber: 8125
    functionLinenumberEnd: 8142
    functionName: proj_operation_factory_context_set_area_of_interest
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached:
    - SANITIZE_CTX
    - proj_context_errno_set
    - Extent::createFromBBOX
    - proj_log_error
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAreaOfInterest
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_area_of_interest(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    double west_lon_degree,
      double south_lat_degree, double east_lon_degree,\n    double north_lat_degree)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8156,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8158,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8159,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::getAreaOfInterest
      Src: /src/PROJ/src/iso19111/c_api.cpp:8163,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:8165,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8166,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:8166,1
    - Dst: auto::listAreaOfUseFromName
      Src: /src/PROJ/src/iso19111/c_api.cpp:8167,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:8168,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAreaOfInterest
      Src: /src/PROJ/src/iso19111/c_api.cpp:8169,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8170,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/c_api.cpp:8170,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/c_api.cpp:8171,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8174,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAreaOfInterest
      Src: /src/PROJ/src/iso19111/c_api.cpp:8178,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8179,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8179,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/c_api.cpp:8180,1
    - Dst: auto::verticalElements
      Src: /src/PROJ/src/iso19111/c_api.cpp:8181,1
    - Dst: auto::temporalElements
      Src: /src/PROJ/src/iso19111/c_api.cpp:8182,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8186,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - area_name
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8188
      start: 8153
    functionDepth: 3
    functionLinenumber: 8153
    functionLinenumberEnd: 8188
    functionName: proj_operation_factory_context_set_area_of_interest_name
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached:
    - util::optional<std::string>
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::getAreaOfInterest
    - auto::front
    - auto::geographicElements
    - auto::size
    - auto::verticalElements
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - auto::temporalElements
    - what
    - proj_log_error
    - VerticalExtent::create
    - std::string
    - auto::listAreaOfUseFromName
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAreaOfInterest
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_area_of_interest_name(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    const char *area_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8205,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8207,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8208,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8214,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8219,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8224,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8230,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8235,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - use
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - PROJ_CRS_EXTENT_USE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8237
      start: 8202
    functionDepth: 3
    functionLinenumber: 8202
    functionLinenumberEnd: 8237
    functionName: proj_operation_factory_context_set_crs_extent_use
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSourceAndTargetCRSExtentUse
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_crs_extent_use(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    PROJ_CRS_EXTENT_USE use)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8255,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8257,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8258,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSpatialCriterion
      Src: /src/PROJ/src/iso19111/c_api.cpp:8264,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSpatialCriterion
      Src: /src/PROJ/src/iso19111/c_api.cpp:8270,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8276,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - criterion
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - PROJ_SPATIAL_CRITERION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8278
      start: 8252
    functionDepth: 3
    functionLinenumber: 8252
    functionLinenumberEnd: 8278
    functionName: proj_operation_factory_context_set_spatial_criterion
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 29
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setSpatialCriterion
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_spatial_criterion(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    PROJ_SPATIAL_CRITERION
      criterion)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8293,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8295,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8296,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8302,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8308,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8314,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/c_api.cpp:8320,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8326,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - use
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - PROJ_GRID_AVAILABILITY_USE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8328
      start: 8290
    functionDepth: 3
    functionLinenumber: 8290
    functionLinenumberEnd: 8328
    functionName: proj_operation_factory_context_set_grid_availability_use
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 29
    functionsReached:
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setGridAvailabilityUse
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_grid_availability_use(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    PROJ_GRID_AVAILABILITY_USE
      use)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8344,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8346,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8347,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/c_api.cpp:8351,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8354,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - usePROJNames
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8356
      start: 8341
    functionDepth: 3
    functionLinenumber: 8341
    functionLinenumberEnd: 8356
    functionName: proj_operation_factory_context_set_use_proj_alternative_grid_names
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setUsePROJAlternativeGridNames
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_use_proj_alternative_grid_names(\n
      \   PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    int usePROJNames)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8381,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8383,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8384,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:8390,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:8395,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:8401,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8406,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - use
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - PROJ_INTERMEDIATE_CRS_USE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8408
      start: 8378
    functionDepth: 3
    functionLinenumber: 8378
    functionLinenumberEnd: 8408
    functionName: proj_operation_factory_context_set_allow_use_intermediate_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAllowUseIntermediateCRS
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_allow_use_intermediate_crs(\n
      \   PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    PROJ_INTERMEDIATE_CRS_USE
      use)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8423,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8425,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8426,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:8433,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8433,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:8434,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:8434,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setIntermediateCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:8436,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8438,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - list_of_auth_name_codes
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8440
      start: 8420
    functionDepth: 3
    functionLinenumber: 8420
    functionLinenumberEnd: 8440
    functionName: proj_operation_factory_context_set_allowed_intermediate_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::pair<std::string, std::string>
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setIntermediateCRS
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - std::string
    - std::vector::emplace_back
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_allowed_intermediate_crs(\n
      \   PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,\n    const char
      *const *list_of_auth_name_codes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8453,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8455,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8456,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setDiscardSuperseded
      Src: /src/PROJ/src/iso19111/c_api.cpp:8460,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8462,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - discard
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8464
      start: 8451
    functionDepth: 3
    functionLinenumber: 8451
    functionLinenumberEnd: 8464
    functionName: proj_operation_factory_context_set_discard_superseded
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setDiscardSuperseded
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_discard_superseded(\n    PJ_CONTEXT
      *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx, int discard)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8477,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8479,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8480,1
    - Dst: PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAllowBallparkTransformations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8484,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8487,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - factory_ctx
    - allow
    argTypes:
    - PJ_CONTEXT*
    - PJ_OPERATION_FACTORY_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8489
      start: 8475
    functionDepth: 3
    functionLinenumber: 8475
    functionLinenumberEnd: 8489
    functionName: proj_operation_factory_context_set_allow_ballpark_transformations
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 3
    functionsReached:
    - PJ_OPERATION_FACTORY_CONTEXT*::operationContext::setAllowBallparkTransformations
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_operation_factory_context_set_allow_ballpark_transformations(\n
      \   PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx, int allow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8507
      start: 8507
    functionDepth: 0
    functionLinenumber: 8507
    functionLinenumberEnd: 8507
    functionName: PJ_OPERATION_LIST
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJ_OPERATION_LIST(const PJ_OPERATION_LIST &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8508
      start: 8508
    functionDepth: 0
    functionLinenumber: 8508
    functionLinenumberEnd: 8508
    functionName: '&operator=(const PJ_OPERATION_LIST &)'
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_OPERATION_LIST
    signature: PJ_OPERATION_LIST &operator=(const PJ_OPERATION_LIST &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:8518,1
    - Dst: proj_clone
      Src: /src/PROJ/src/iso19111/c_api.cpp:8519,1
    - Dst: proj_clone
      Src: /src/PROJ/src/iso19111/c_api.cpp:8520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - source_crsIn
    - target_crsIn
    - objectsIn
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - std::vector<IdentifiedObjectNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8520
      start: 8515
    functionDepth: 6
    functionLinenumber: 8515
    functionLinenumberEnd: 8520
    functionName: PJ_OPERATION_LIST::PJ_OPERATION_LIST
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - proj_clone
    linkageType: ''
    returnType: void
    signature: "void PJ_OPERATION_LIST::PJ_OPERATION_LIST(\n    PJ_CONTEXT *ctx, const
      PJ *source_crsIn, const PJ *target_crsIn,\n    std::vector<IdentifiedObjectNNPtr>
      &&objectsIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8525,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:8526,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/iso19111/c_api.cpp:8527,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:8528,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:8529,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:8530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8531
      start: 8524
    functionDepth: 4
    functionLinenumber: 8524
    functionLinenumberEnd: 8531
    functionName: PJ_OPERATION_LIST::~PJ_OPERATION_LIST()
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    - proj_context_create
    - proj_assign_context
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void PJ_OPERATION_LIST::~PJ_OPERATION_LIST()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_create_prepared_operations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8543
      start: 8535
    functionDepth: 9
    functionLinenumber: 8535
    functionLinenumberEnd: 8543
    functionName: '&

      PJ_OPERATION_LIST::getPreparedOperations(PJ_CONTEXT *ctx)'
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - pj_create_prepared_operations
    linkageType: ''
    returnType: std::vector<PJCoordOperation>
    signature: 'std::vector<PJCoordOperation> &

      PJ_OPERATION_LIST::getPreparedOperations(PJ_CONTEXT *ctx)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8574,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8576,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8577,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8580,1
    - Dst: std::dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8584,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8586,1
    - Dst: CoordinateMetadataPtr::coordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:8590,1
    - Dst: CoordinateMetadataPtr::crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:8591,1
    - Dst: CoordinateMetadataPtr::reset
      Src: /src/PROJ/src/iso19111/c_api.cpp:8592,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8595,1
    - Dst: std::dynamic_pointer_cast<CoordinateMetadata>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8599,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8601,1
    - Dst: CoordinateMetadataPtr::coordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:8605,1
    - Dst: CoordinateMetadataPtr::crs
      Src: /src/PROJ/src/iso19111/c_api.cpp:8606,1
    - Dst: CoordinateMetadataPtr::reset
      Src: /src/PROJ/src/iso19111/c_api.cpp:8607,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8612,1
    - Dst: auto::createOperations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8616,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8617,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8618,1
    - Dst: auto::createOperations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8620,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8621,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8622,1
    - Dst: auto::createOperations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8625,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8626,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8627,1
    - Dst: auto::createOperations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8629,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8630,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8630,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:8633,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:8636,1
    - Dst: PJ_OPERATION_LIST::PJ_OPERATION_LIST
      Src: /src/PROJ/src/iso19111/c_api.cpp:8635,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8638,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8638,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - source_crs
    - target_crs
    - operationContext
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - PJ*
    - PJ_OPERATION_FACTORY_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8641
      start: 8570
    functionDepth: 7
    functionLinenumber: 8570
    functionLinenumberEnd: 8641
    functionName: proj_create_operations
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 31
    functionsReached:
    - auto::createOperations
    - CoordinateMetadataPtr::reset
    - CoordinateMetadataPtr::coordinateEpoch
    - std::move
    - std::dynamic_pointer_cast<CRS>
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - what
    - proj_log_error
    - CoordinateMetadataPtr::crs
    - std::vector::emplace_back
    - std::dynamic_pointer_cast<CoordinateMetadata>
    - CoordinateOperationFactory::create
    - PJ_OPERATION_LIST::PJ_OPERATION_LIST
    linkageType: ''
    returnType: PJ_OBJ_LIST
    signature: "PJ_OBJ_LIST *\nproj_create_operations(PJ_CONTEXT *ctx, const PJ *source_crs,\n
      \                      const PJ *target_crs,\n                       const PJ_OPERATION_FACTORY_CONTEXT
      *operationContext)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8667,1
    - Dst: dynamic_cast<PJ_OPERATION_LIST *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8668,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8670,1
    - Dst: auto::objects::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:8678,1
    - Dst: auto::getPreparedOperations
      Src: /src/PROJ/src/iso19111/c_api.cpp:8683,1
    - Dst: pj_get_suggested_operation
      Src: /src/PROJ/src/iso19111/c_api.cpp:8684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - operations
    - direction
    - coord
    argTypes:
    - PJ_CONTEXT*
    - PJ_OBJ_LIST*
    - PJ_DIRECTION
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8691
      start: 8664
    functionDepth: 3
    functionLinenumber: 8664
    functionLinenumberEnd: 8691
    functionName: proj_get_suggested_operation
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 8
    functionsReached:
    - pj_get_suggested_operation
    - dynamic_cast<PJ_OPERATION_LIST *>
    - auto::objects::size
    - auto::getPreparedOperations
    - SANITIZE_CTX
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: "int proj_get_suggested_operation(PJ_CONTEXT *ctx, PJ_OBJ_LIST *operations,\n
      \                                // cppcheck-suppress passedByValue\n                                 PJ_DIRECTION
      direction, PJ_COORD coord)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8703,1
    - Dst: PJ_OBJ_LIST*::objects::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:8703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - PJ_OBJ_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8704
      start: 8699
    functionDepth: 1
    functionLinenumber: 8699
    functionLinenumberEnd: 8704
    functionName: proj_list_get_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 36
    functionsReached:
    - static_cast<int>
    - PJ_OBJ_LIST*::objects::size
    linkageType: ''
    returnType: int
    signature: int proj_list_get_count(const PJ_OBJ_LIST *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8722,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8724,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8725,1
    - Dst: proj_list_get_count
      Src: /src/PROJ/src/iso19111/c_api.cpp:8728,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8729,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - result
    - index
    argTypes:
    - PJ_CONTEXT*
    - PJ_OBJ_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8733
      start: 8721
    functionDepth: 5
    functionLinenumber: 8721
    functionLinenumberEnd: 8733
    functionName: proj_list_get
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 24
    functionsReached:
    - SANITIZE_CTX
    - proj_context_errno_set
    - pj_obj_create
    - proj_log_error
    - proj_list_get_count
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_list_get(PJ_CONTEXT *ctx, const PJ_OBJ_LIST *result, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - PJ_OBJ_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8744
      start: 8744
    functionDepth: 0
    functionLinenumber: 8744
    functionLinenumberEnd: 8744
    functionName: proj_list_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proj_list_destroy(PJ_OBJ_LIST *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8756,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8758,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8759,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8762,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8763,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8765,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/c_api.cpp:8769,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:8770,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/c_api.cpp:8774,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/c_api.cpp:8774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - coordoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8778
      start: 8754
    functionDepth: 3
    functionLinenumber: 8754
    functionLinenumberEnd: 8778
    functionName: proj_coordoperation_get_accuracy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 7
    functionsReached:
    - value
    - dynamic_cast<const CoordinateOperation *>
    - PJ*::iso_obj::get
    - auto::coordinateOperationAccuracies
    - c_locale_stod
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - auto::empty
    linkageType: ''
    returnType: double
    signature: "double proj_coordoperation_get_accuracy(PJ_CONTEXT *ctx,\n                                        const
      PJ *coordoperation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8797,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8799,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8800,1
    - Dst: dynamic_cast<const SingleCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8803,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8803,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8805,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/c_api.cpp:8808,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8812,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8813
      start: 8796
    functionDepth: 5
    functionLinenumber: 8796
    functionLinenumberEnd: 8813
    functionName: proj_crs_get_datum
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 14
    functionsReached:
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - auto::datum
    - dynamic_cast<const SingleCRS *>
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_datum(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8834,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8836,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8837,1
    - Dst: dynamic_cast<const SingleCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8840,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8840,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8842,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/c_api.cpp:8845,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8849,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8850
      start: 8833
    functionDepth: 5
    functionLinenumber: 8833
    functionLinenumberEnd: 8850
    functionName: proj_crs_get_datum_ensemble
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ*::iso_obj::get
    - auto::datumEnsemble
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - dynamic_cast<const SingleCRS *>
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_datum_ensemble(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8863,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8865,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8866,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8870,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8870,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8872,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8875,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/c_api.cpp:8875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - datum_ensemble
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8876
      start: 8861
    functionDepth: 3
    functionLinenumber: 8861
    functionLinenumberEnd: 8876
    functionName: proj_datum_ensemble_get_member_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const DatumEnsemble *>
    - static_cast<int>
    - auto::datums
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: "int proj_datum_ensemble_get_member_count(PJ_CONTEXT *ctx,\n                                         const
      PJ *datum_ensemble)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8890,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8892,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8893,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8897,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8897,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8899,1
    - Dst: auto::positionalAccuracy
      Src: /src/PROJ/src/iso19111/c_api.cpp:8902,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/c_api.cpp:8904,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/c_api.cpp:8904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - datum_ensemble
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8908
      start: 8888
    functionDepth: 3
    functionLinenumber: 8888
    functionLinenumberEnd: 8908
    functionName: proj_datum_ensemble_get_accuracy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::positionalAccuracy
    - dynamic_cast<const DatumEnsemble *>
    - PJ*::iso_obj::get
    - c_locale_stod
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - auto::value
    linkageType: ''
    returnType: double
    signature: "double proj_datum_ensemble_get_accuracy(PJ_CONTEXT *ctx,\n                                        const
      PJ *datum_ensemble)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8929,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8931,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8932,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8936,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8936,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8938,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8942,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/c_api.cpp:8942,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8943,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8946,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/c_api.cpp:8946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - datum_ensemble
    - member_index
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8947
      start: 8927
    functionDepth: 5
    functionLinenumber: 8927
    functionLinenumberEnd: 8947
    functionName: proj_datum_ensemble_get_member
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const DatumEnsemble *>
    - static_cast<int>
    - auto::datums
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_datum_ensemble_get_member(PJ_CONTEXT *ctx, const PJ *datum_ensemble,\n
      \                                  int member_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:8969,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:8971,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8972,1
    - Dst: dynamic_cast<const SingleCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:8975,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:8975,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:8977,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/c_api.cpp:8980,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8982,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:8982,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/c_api.cpp:8984,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/c_api.cpp:8985,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:8986,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:8988,1
    - Dst: auto::asDatum
      Src: /src/PROJ/src/iso19111/c_api.cpp:8988,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:8990,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:8990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts:
    - condition: (datumEnsemble)
      pos:
        line_end: 8984
        line_start: 8984
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    constantsTouched: []
    func_position:
      end: 8993
      start: 8968
    functionDepth: 5
    functionLinenumber: 8968
    functionLinenumberEnd: 8993
    functionName: proj_crs_get_datum_forced
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ*::iso_obj::get
    - auto::datumEnsemble
    - getDBcontextNoException
    - proj_log_debug
    - assert
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - auto::asDatum
    - what
    - proj_log_error
    - pj_obj_create
    - auto::datum
    - dynamic_cast<const SingleCRS *>
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_datum_forced(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9009,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9011,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9012,1
    - Dst: dynamic_cast<const DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9015,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9016,1
    - Dst: dynamic_cast<const DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9017,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9018,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9020,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:9027,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:9027,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/c_api.cpp:9028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - datum
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9029
      start: 9007
    functionDepth: 3
    functionLinenumber: 9007
    functionLinenumberEnd: 9029
    functionName: proj_dynamic_datum_get_frame_reference_epoch
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const DynamicVerticalReferenceFrame *>
    - PJ*::iso_obj::get
    - auto::frameReferenceEpoch
    - SANITIZE_CTX
    - dynamic_cast<const DynamicGeodeticReferenceFrame *>
    - proj_context_errno_set
    - proj_log_error
    - auto::value
    linkageType: ''
    returnType: double
    signature: "double proj_dynamic_datum_get_frame_reference_epoch(PJ_CONTEXT *ctx,\n
      \                                                   const PJ *datum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9045,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9047,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9048,1
    - Dst: dynamic_cast<const SingleCRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9051,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9051,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9053,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9056,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/c_api.cpp:9056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9057
      start: 9044
    functionDepth: 5
    functionLinenumber: 9044
    functionLinenumberEnd: 9057
    functionName: proj_crs_get_coordinate_system
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 29
    functionsReached:
    - auto::coordinateSystem
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    - dynamic_cast<const SingleCRS *>
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_crs_get_coordinate_system(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9068,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9070,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9071,1
    - Dst: dynamic_cast<const CoordinateSystem *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9074,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9074,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9076,1
    - Dst: dynamic_cast<const CartesianCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9079,1
    - Dst: dynamic_cast<const EllipsoidalCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9082,1
    - Dst: dynamic_cast<const VerticalCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9085,1
    - Dst: dynamic_cast<const SphericalCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9088,1
    - Dst: dynamic_cast<const OrdinalCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9091,1
    - Dst: dynamic_cast<const ParametricCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9094,1
    - Dst: dynamic_cast<const DateTimeTemporalCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9097,1
    - Dst: dynamic_cast<const TemporalCountCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9100,1
    - Dst: dynamic_cast<const TemporalMeasureCS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - cs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9107
      start: 9067
    functionDepth: 3
    functionLinenumber: 9067
    functionLinenumberEnd: 9107
    functionName: proj_cs_get_type
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const DateTimeTemporalCS *>
    - dynamic_cast<const VerticalCS *>
    - dynamic_cast<const CartesianCS *>
    - dynamic_cast<const TemporalCountCS *>
    - PJ*::iso_obj::get
    - dynamic_cast<const SphericalCS *>
    - dynamic_cast<const EllipsoidalCS *>
    - SANITIZE_CTX
    - proj_context_errno_set
    - dynamic_cast<const ParametricCS *>
    - dynamic_cast<const TemporalMeasureCS *>
    - proj_log_error
    - dynamic_cast<const CoordinateSystem *>
    - dynamic_cast<const OrdinalCS *>
    linkageType: ''
    returnType: PJ_COORDINATE_SYSTEM_TYPE
    signature: PJ_COORDINATE_SYSTEM_TYPE proj_cs_get_type(PJ_CONTEXT *ctx, const PJ
      *cs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9118,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9120,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9121,1
    - Dst: dynamic_cast<const CoordinateSystem *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9124,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9124,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9126,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9129,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/c_api.cpp:9129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - cs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9130
      start: 9117
    functionDepth: 3
    functionLinenumber: 9117
    functionLinenumberEnd: 9130
    functionName: proj_cs_get_axis_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 13
    functionsReached:
    - static_cast<int>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - dynamic_cast<const CoordinateSystem *>
    - auto::axisList
    linkageType: ''
    returnType: int
    signature: int proj_cs_get_axis_count(PJ_CONTEXT *ctx, const PJ *cs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9162,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9164,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9165,1
    - Dst: dynamic_cast<const CoordinateSystem *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9168,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9168,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9170,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/c_api.cpp:9173,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9174,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:9174,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9175,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:9180,1
    - Dst: auto::abbreviation
      Src: /src/PROJ/src/iso19111/c_api.cpp:9183,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/c_api.cpp:9186,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9189,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9192,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9195,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 10
    argNames:
    - ctx
    - cs
    - index
    - out_name
    - out_abbrev
    - out_direction
    - out_unit_conv_factor
    - out_unit_name
    - out_unit_auth_name
    - out_unit_code
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    - char**
    - char**
    - char**
    - double*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9201
      start: 9155
    functionDepth: 3
    functionLinenumber: 9155
    functionLinenumberEnd: 9201
    functionName: proj_cs_get_axis_info
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 20
    functionsReached:
    - auto::nameStr
    - auto::size
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - auto::abbreviation
    - auto::unit
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - auto::direction
    - dynamic_cast<const CoordinateSystem *>
    - auto::axisList
    linkageType: ''
    returnType: int
    signature: "int proj_cs_get_axis_info(PJ_CONTEXT *ctx, const PJ *cs, int index,\n
      \                         const char **out_name, const char **out_abbrev,\n
      \                         const char **out_direction,\n                          double
      *out_unit_conv_factor,\n                          const char **out_unit_name,\n
      \                         const char **out_unit_auth_name,\n                          const
      char **out_unit_code)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9226,1
    - Dst: PJ*::alternativeCoordinateOperations::empty
      Src: /src/PROJ/src/iso19111/c_api.cpp:9227,1
    - Dst: std::unique_ptr<PJ>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9229,1
    - Dst: pj_new
      Src: /src/PROJ/src/iso19111/c_api.cpp:9229,1
    - Dst: auto::copyStateFrom
      Src: /src/PROJ/src/iso19111/c_api.cpp:9236,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9239,1
    - Dst: pj::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9240,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:9251,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:9252,1
    - Dst: auto::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/c_api.cpp:9255,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/c_api.cpp:9258,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/c_api.cpp:9259,1
    - Dst: auto::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/c_api.cpp:9262,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/c_api.cpp:9265,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/c_api.cpp:9266,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9271,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/c_api.cpp:9271,1
    - Dst: auto::copyStateFrom
      Src: /src/PROJ/src/iso19111/c_api.cpp:9274,1
    - Dst: auto::alternativeCoordinateOperations::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:9276,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:9279,1
    - Dst: areaName::c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:9280,1
    - Dst: auto::release
      Src: /src/PROJ/src/iso19111/c_api.cpp:9285,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:9288,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9288,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9293,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9293,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9296,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/c_api.cpp:9296,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:9298,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9298,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9303,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9303,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9305,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9313,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/c_api.cpp:9313,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:9319,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9319,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9322
      start: 9224
    functionDepth: 5
    functionLinenumber: 9224
    functionLinenumberEnd: 9322
    functionName: proj_normalize_for_visualization
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 26
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - auto::targetCRS
    - PJ*::alternativeCoordinateOperations::empty
    - std::swap
    - auto::nameStr
    - auto::mustAxisOrderBeSwitchedForVisualization
    - SANITIZE_CTX
    - auto::release
    - dynamic_cast<const CRS *>
    - proj_log_error
    - std::unique_ptr<PJ>
    - what
    - pj_new
    - proj_log_debug
    - auto::sourceCRS
    - auto::normalizeForVisualization
    - pj_obj_create
    - auto::alternativeCoordinateOperations::emplace_back
    - areaName::c_str
    - auto::copyStateFrom
    - PJ*::iso_obj::get
    - pj::iso_obj::get
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_normalize_for_visualization(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9337,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9339,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9340,1
    - Dst: dynamic_cast<const CoordinateOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9343,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9343,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9345,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9350,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/c_api.cpp:9350,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:9352,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9355
      start: 9335
    functionDepth: 5
    functionLinenumber: 9335
    functionLinenumberEnd: 9355
    functionName: proj_coordoperation_create_inverse
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const CoordinateOperation *>
    - PJ*::iso_obj::get
    - proj_log_debug
    - auto::inverse
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    - what
    linkageType: ''
    returnType: PJ
    signature: PJ *proj_coordoperation_create_inverse(PJ_CONTEXT *ctx, const PJ *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9369,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9371,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9372,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9375,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9376,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9378,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9382,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/c_api.cpp:9382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - concatoperation
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9383
      start: 9367
    functionDepth: 3
    functionLinenumber: 9367
    functionLinenumberEnd: 9383
    functionName: proj_concatoperation_get_step_count
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - static_cast<int>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    linkageType: ''
    returnType: int
    signature: "int proj_concatoperation_get_step_count(PJ_CONTEXT *ctx,\n                                        const
      PJ *concatoperation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9403,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9405,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9406,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9409,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9410,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9412,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/c_api.cpp:9416,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9417,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:9417,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9418,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - concatoperation
    - i_step
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9422
      start: 9401
    functionDepth: 5
    functionLinenumber: 9401
    functionLinenumberEnd: 9422
    functionName: proj_concatoperation_get_step
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - auto::size
    - static_cast<size_t>
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - proj_context_errno_set
    - proj_log_error
    - pj_obj_create
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_concatoperation_get_step(PJ_CONTEXT *ctx, const PJ *concatoperation,\n
      \                                 int i_step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9452,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:9454,1
    - Dst: auto::startInsertStatementsSession
      Src: /src/PROJ/src/iso19111/c_api.cpp:9455,1
    - Dst: PJ_INSERT_SESSION::PJ_INSERT_SESSION
      Src: /src/PROJ/src/iso19111/c_api.cpp:9456,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9460,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9463
      start: 9451
    functionDepth: 3
    functionLinenumber: 9451
    functionLinenumberEnd: 9463
    functionName: proj_insert_object_session_create
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::startInsertStatementsSession
    - SANITIZE_CTX
    - getDBcontext
    - proj_log_error
    - what
    - PJ_INSERT_SESSION::PJ_INSERT_SESSION
    linkageType: ''
    returnType: PJ_INSERT_SESSION
    signature: PJ_INSERT_SESSION *proj_insert_object_session_create(PJ_CONTEXT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9476,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9480,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:9485,1
    - Dst: auto::stopInsertStatementsSession
      Src: /src/PROJ/src/iso19111/c_api.cpp:9486,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9489,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - session
    argTypes:
    - PJ_CONTEXT*
    - PJ_INSERT_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9493
      start: 9474
    functionDepth: 3
    functionLinenumber: 9474
    functionLinenumberEnd: 9493
    functionName: proj_insert_object_session_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::stopInsertStatementsSession
    - SANITIZE_CTX
    - getDBcontext
    - proj_log_error
    - what
    linkageType: ''
    returnType: void
    signature: "void proj_insert_object_session_destroy(PJ_CONTEXT *ctx,\n                                        PJ_INSERT_SESSION
      *session)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9518,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9522,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9523,1
    - Dst: std::dynamic_pointer_cast<IdentifiedObject>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9527,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9529,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9530,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:9535,1
    - Dst: pj_strdup
      Src: /src/PROJ/src/iso19111/c_api.cpp:9536,1
    - Dst: auto::suggestsCodeFor
      Src: /src/PROJ/src/iso19111/c_api.cpp:9536,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:9537,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:9538,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9542,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - object
    - authority
    - numeric_code
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9545
      start: 9515
    functionDepth: 3
    functionLinenumber: 9515
    functionLinenumberEnd: 9545
    functionName: proj_suggests_code_for
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - pj_strdup
    - SANITIZE_CTX
    - getDBcontext
    - std::dynamic_pointer_cast<IdentifiedObject>
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - std::string
    - what
    - auto::suggestsCodeFor
    linkageType: ''
    returnType: char
    signature: "char *proj_suggests_code_for(PJ_CONTEXT *ctx, const PJ *object,\n
      \                            const char *authority, int numeric_code,\n                             const
      char *const *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/src/iso19111/c_api.cpp:9557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9557
      start: 9557
    functionDepth: 0
    functionLinenumber: 9557
    functionLinenumberEnd: 9557
    functionName: proj_string_destroy
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void proj_string_destroy(char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9608,1
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9622,1
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:9626,1
    - Dst: TempSessionHolder::GetTempSession
      Src: /src/PROJ/src/iso19111/c_api.cpp:9638,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9645,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9646,1
    - Dst: std::dynamic_pointer_cast<IdentifiedObject>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9650,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9652,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9653,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:9658,1
    - Dst: std::vector::clear
      Src: /src/PROJ/src/iso19111/c_api.cpp:9661,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/c_api.cpp:9663,1
    - Dst: auto::getInsertStatementsFor
      Src: /src/PROJ/src/iso19111/c_api.cpp:9666,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:9667,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:9669,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:9669,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9671,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9671,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 8
    argNames:
    - ctx
    - session
    - object
    - authority
    - code
    - numeric_codes
    - allowed_authorities
    - options
    argTypes:
    - PJ_CONTEXT*
    - PJ_INSERT_SESSION*
    - PJ*
    - char*
    - char*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9674
      start: 9604
    functionDepth: 4
    functionLinenumber: 9604
    functionLinenumberEnd: 9674
    functionName: proj_get_insert_statements
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - proj_insert_object_session_create
    - std::move
    - proj_insert_object_session_destroy
    - to_string_list
    - SANITIZE_CTX
    - proj_context_errno_set
    - std::dynamic_pointer_cast<IdentifiedObject>
    - getDBcontext
    - std::vector::clear
    - proj_log_error
    - auto::getInsertStatementsFor
    - NN_NO_CHECK
    - std::vector::emplace_back
    - what
    - TempSessionHolder::GetTempSession
    linkageType: ''
    returnType: PROJ_STRING_LIST
    signature: "PROJ_STRING_LIST proj_get_insert_statements(\n    PJ_CONTEXT *ctx,
      PJ_INSERT_SESSION *session, const PJ *object,\n    const char *authority, const
      char *code, int numeric_codes,\n    const char *const *allowed_authorities,
      const char *const *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9615
      start: 9615
    functionDepth: 0
    functionLinenumber: 9615
    functionLinenumberEnd: 9615
    functionName: TempSessionHolder
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TempSessionHolder(const TempSessionHolder &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9616
    functionDepth: 0
    functionLinenumber: 9616
    functionLinenumberEnd: 9616
    functionName: '&operator=(const TempSessionHolder &)'
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TempSessionHolder
    signature: TempSessionHolder &operator=(const TempSessionHolder &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_insert_object_session_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - session
    argTypes:
    - PJ_CONTEXT*
    - PJ_INSERT_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9622
      start: 9619
    functionDepth: 4
    functionLinenumber: 9619
    functionLinenumberEnd: 9622
    functionName: TempSessionHolder
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_insert_object_session_create
    linkageType: ''
    returnType: void
    signature: void TempSessionHolder(PJ_CONTEXT *ctx, PJ_INSERT_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_insert_object_session_destroy
      Src: /src/PROJ/src/iso19111/c_api.cpp:9626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9628
      start: 9624
    functionDepth: 4
    functionLinenumber: 9624
    functionLinenumberEnd: 9628
    functionName: ~TempSessionHolder()
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - proj_insert_object_session_destroy
    linkageType: ''
    returnType: void
    signature: void ~TempSessionHolder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9632
      start: 9630
    functionDepth: 0
    functionLinenumber: 9630
    functionLinenumberEnd: 9632
    functionName: GetTempSession
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PJ_INSERT_SESSION
    signature: PJ_INSERT_SESSION *GetTempSession() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9697,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9699,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9700,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9706,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:9706,1
    - Dst: auto::getGeoidModels
      Src: /src/PROJ/src/iso19111/c_api.cpp:9707,1
    - Dst: to_string_list
      Src: /src/PROJ/src/iso19111/c_api.cpp:9708,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/c_api.cpp:9708,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9710,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - auth_name
    - code
    - options
    argTypes:
    - PJ_CONTEXT*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9713
      start: 9693
    functionDepth: 3
    functionLinenumber: 9693
    functionLinenumberEnd: 9713
    functionName: proj_get_geoid_models_from_database
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - to_string_list
    - SANITIZE_CTX
    - getDBcontext
    - proj_context_errno_set
    - what
    - proj_log_error
    - auto::getGeoidModels
    - AuthorityFactory::create
    linkageType: ''
    returnType: PROJ_STRING_LIST
    signature: "PROJ_STRING_LIST proj_get_geoid_models_from_database(PJ_CONTEXT *ctx,
      const char *auth_name,\n                                    const char *code,\n
      \                                   const char *const *options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9724,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9726,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9727,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9730,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9732,1
    - Dst: getDBcontextNoException
      Src: /src/PROJ/src/iso19111/c_api.cpp:9736,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9737,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9737,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:9738,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/iso19111/c_api.cpp:9740,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - crs
    - epoch
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9743
      start: 9722
    functionDepth: 5
    functionLinenumber: 9722
    functionLinenumberEnd: 9743
    functionName: proj_coordinate_metadata_create
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 1
    functionsReached:
    - std::dynamic_pointer_cast<CRS>
    - proj_log_debug
    - getDBcontextNoException
    - SANITIZE_CTX
    - proj_context_errno_set
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - CoordinateMetadata::create
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_coordinate_metadata_create(PJ_CONTEXT *ctx, const PJ *crs,\n
      \                                   double epoch)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9754,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9756,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9757,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/iso19111/c_api.cpp:9758,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9760,1
    - Dst: dynamic_cast<const CoordinateMetadata *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9761,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/src/iso19111/c_api.cpp:9763,1
    - Dst: auto::coordinateEpochAsDecimalYear
      Src: /src/PROJ/src/iso19111/c_api.cpp:9764,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/iso19111/c_api.cpp:9766,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9768,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/iso19111/c_api.cpp:9769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9770
      start: 9753
    functionDepth: 3
    functionLinenumber: 9753
    functionLinenumberEnd: 9770
    functionName: proj_coordinate_metadata_get_epoch
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 4
    functionsReached:
    - PJ*::iso_obj::get
    - dynamic_cast<const CoordinateMetadata *>
    - std::numeric_limits<double>::quiet_NaN
    - SANITIZE_CTX
    - proj_context_errno_set
    - auto::coordinateEpoch
    - proj_log_error
    - auto::coordinateEpochAsDecimalYear
    linkageType: ''
    returnType: double
    signature: double proj_coordinate_metadata_get_epoch(PJ_CONTEXT *ctx, const PJ
      *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9779,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:9781,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9782,1
    - Dst: dynamic_cast<const CRS *>
      Src: /src/PROJ/src/iso19111/c_api.cpp:9785,1
    - Dst: PJ*::iso_obj::get
      Src: /src/PROJ/src/iso19111/c_api.cpp:9785,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9787,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:9790,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9795,1
    - Dst: getDBcontext
      Src: /src/PROJ/src/iso19111/c_api.cpp:9795,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/c_api.cpp:9795,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/src/iso19111/c_api.cpp:9796,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:9797,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9801,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - crs
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9804
      start: 9778
    functionDepth: 4
    functionLinenumber: 9778
    functionLinenumberEnd: 9804
    functionName: proj_crs_has_point_motion_operation
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - PJ*::iso_obj::get
    - SANITIZE_CTX
    - dynamic_cast<const CRS *>
    - proj_context_errno_set
    - getDBcontext
    - NN_NO_CHECK
    - proj_log_error
    - auto::getPointMotionOperationsFor
    - auto::extractGeodeticCRS
    - what
    - std::string
    - AuthorityFactory::create
    linkageType: ''
    returnType: int
    signature: int proj_crs_has_point_motion_operation(PJ_CONTEXT *ctx, const PJ *crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/c_api.cpp:9813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - convFactor
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9816
      start: 9808
    functionDepth: 0
    functionLinenumber: 9808
    functionLinenumberEnd: 9816
    functionName: createScaleUnit
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 0
    functionsReached:
    - UnitOfMeasure
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure createScaleUnit(const char *name, double convFactor,\n
      \                                    const char *unit_auth_name = nullptr,\n
      \                                    const char *unit_code = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9879,1
    - Dst: Conversion::createAffineParametric
      Src: /src/PROJ/src/iso19111/c_api.cpp:9881,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:9882,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:9883,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9883,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9884,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9884,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9885,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9885,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:9886,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9886,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9887,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9887,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9888,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9888,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:9889,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:9891,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:9891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 20
    argNames:
    - ctx
    - name
    - A0
    - A0_unit_name
    - A0_unit_conv_factor
    - A1
    - A1_unit_name
    - A1_unit_conv_factor
    - A2
    - A2_unit_name
    - A2_unit_conv_factor
    - B0
    - B0_unit_name
    - B0_unit_conv_factor
    - B1
    - B1_unit_name
    - B1_unit_conv_factor
    - B2
    - B2_unit_name
    - B2_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - char*
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9894
      start: 9869
    functionDepth: 5
    functionLinenumber: 9869
    functionLinenumberEnd: 9894
    functionName: proj_create_linear_affine_parametric_conversion
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 6
    functionsReached:
    - Scale
    - Length
    - createScaleUnit
    - Conversion::createAffineParametric
    - SANITIZE_CTX
    - createPropertyMapName
    - pj_obj_create
    - proj_log_error
    - createLinearUnit
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_linear_affine_parametric_conversion(\n    PJ_CONTEXT
      *ctx, const char* name,\n    double A0, const char *A0_unit_name, double A0_unit_conv_factor,\n
      \   double A1, const char *A1_unit_name, double A1_unit_conv_factor,\n    double
      A2, const char *A2_unit_name, double A2_unit_conv_factor,\n    double B0, const
      char *B0_unit_name, double B0_unit_conv_factor,\n    double B1, const char *B1_unit_name,
      double B1_unit_conv_factor,\n    double B2, const char *B2_unit_name, double
      B2_unit_conv_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:9988,1
    - Dst: Conversion::createAffineParametric
      Src: /src/PROJ/src/iso19111/c_api.cpp:9990,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:9991,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:9992,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9992,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9993,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9993,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9994,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9994,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9995,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9995,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:9996,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9996,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9997,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9997,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9998,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9998,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:9999,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:9999,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/c_api.cpp:10000,1
    - Dst: createLinearUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:10000,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:10001,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:10001,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:10002,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:10002,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/c_api.cpp:10003,1
    - Dst: createScaleUnit
      Src: /src/PROJ/src/iso19111/c_api.cpp:10003,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10004,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:10006,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:10006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 38
    argNames:
    - ctx
    - name
    - A0
    - A0_unit_name
    - A0_unit_conv_factor
    - A1
    - A1_unit_name
    - A1_unit_conv_factor
    - A2
    - A2_unit_name
    - A2_unit_conv_factor
    - A3
    - A3_unit_name
    - A3_unit_conv_factor
    - B0
    - B0_unit_name
    - B0_unit_conv_factor
    - B1
    - B1_unit_name
    - B1_unit_conv_factor
    - B2
    - B2_unit_name
    - B2_unit_conv_factor
    - B3
    - B3_unit_name
    - B3_unit_conv_factor
    - C0
    - C0_unit_name
    - C0_unit_conv_factor
    - C1
    - C1_unit_name
    - C1_unit_conv_factor
    - C2
    - C2_unit_name
    - C2_unit_conv_factor
    - C3
    - C3_unit_name
    - C3_unit_conv_factor
    argTypes:
    - PJ_CONTEXT*
    - char*
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10009
      start: 9972
    functionDepth: 5
    functionLinenumber: 9972
    functionLinenumberEnd: 10009
    functionName: proj_create_linear_3D_affine_parametric_conversion
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - Scale
    - Length
    - createScaleUnit
    - Conversion::createAffineParametric
    - SANITIZE_CTX
    - createPropertyMapName
    - pj_obj_create
    - proj_log_error
    - createLinearUnit
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_linear_3D_affine_parametric_conversion(\n    PJ_CONTEXT
      *ctx, const char* name,\n    double A0, const char *A0_unit_name, double A0_unit_conv_factor,\n
      \   double A1, const char *A1_unit_name, double A1_unit_conv_factor,\n    double
      A2, const char *A2_unit_name, double A2_unit_conv_factor,\n    double A3, const
      char *A3_unit_name, double A3_unit_conv_factor,\n    double B0, const char *B0_unit_name,
      double B0_unit_conv_factor,\n    double B1, const char *B1_unit_name, double
      B1_unit_conv_factor,\n    double B2, const char *B2_unit_name, double B2_unit_conv_factor,\n
      \   double B3, const char *B3_unit_name, double B3_unit_conv_factor,\n    double
      C0, const char *C0_unit_name, double C0_unit_conv_factor,\n    double C1, const
      char *C1_unit_name, double C1_unit_conv_factor,\n    double C2, const char *C2_unit_name,
      double C2_unit_conv_factor,\n    double C3, const char *C3_unit_name, double
      C3_unit_conv_factor)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:10035,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:10037,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:10038,1
    - Dst: std::dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10042,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10047,1
    - Dst: std::dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10052,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10057,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10057,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:10058,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10059,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10060,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10060,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:10062,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:10062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - crs_name
    - base_proj_crs
    - deriving_conversion
    - coordinate_system
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10065
      start: 10031
    functionDepth: 5
    functionLinenumber: 10031
    functionLinenumberEnd: 10065
    functionName: proj_create_derived_projected_crs
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - std::dynamic_pointer_cast<ProjectedCRS>
    - std::dynamic_pointer_cast<Conversion>
    - SANITIZE_CTX
    - proj_context_errno_set
    - createPropertyMapName
    - NN_NO_CHECK
    - proj_log_error
    - pj_obj_create
    - DerivedProjectedCRS::create
    - std::dynamic_pointer_cast<CartesianCS>
    - what
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_create_derived_projected_crs(PJ_CONTEXT *ctx, const char
      *crs_name,\n                                      const PJ *base_proj_crs,\n
      \                                     const PJ *deriving_conversion,\n                                      const
      PJ *coordinate_system)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SANITIZE_CTX
      Src: /src/PROJ/src/iso19111/c_api.cpp:10095,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/iso19111/c_api.cpp:10097,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:10098,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10102,1
    - Dst: std::dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10106,1
    - Dst: std::dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10111,1
    - Dst: std::dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10116,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/c_api.cpp:10119,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/c_api.cpp:10120,1
    - Dst: std::dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10126,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:10128,1
    - Dst: std::dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/c_api.cpp:10131,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10137,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:10138,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10138,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10139,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10139,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10142,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/c_api.cpp:10142,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/c_api.cpp:10143,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10146,1
    - Dst: createPropertyMapName
      Src: /src/PROJ/src/iso19111/c_api.cpp:10147,1
    - Dst: CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:10148,1
    - Dst: CRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/c_api.cpp:10148,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/c_api.cpp:10148,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/c_api.cpp:10150,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/c_api.cpp:10152,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/iso19111/c_api.cpp:10154,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/c_api.cpp:10154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - crs_name
    - base_crs
    - deriving_conversion
    - coordinate_system
    argTypes:
    - PJ_CONTEXT*
    - char*
    - PJ*
    - PJ*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10157
      start: 10090
    functionDepth: 5
    functionLinenumber: 10090
    functionLinenumberEnd: 10157
    functionName: proj_crs_add_horizontal_derived_conversion
    functionSourceFile: /src/PROJ/src/iso19111/c_api.cpp
    functionUses: 2
    functionsReached:
    - auto::transformation
    - auto::baseCRS
    - NN_NO_CHECK
    - std::dynamic_pointer_cast<CompoundCRS>
    - auto::hubCRS
    - BoundCRS::create
    - std::dynamic_pointer_cast<ProjectedCRS>
    - CRSPtr::nameStr
    - std::dynamic_pointer_cast<Conversion>
    - SANITIZE_CTX
    - proj_context_errno_set
    - createPropertyMapName
    - proj_log_error
    - what
    - auto::componentReferenceSystems
    - CompoundCRS::create
    - auto::size
    - std::dynamic_pointer_cast<CRS>
    - std::dynamic_pointer_cast<BoundCRS>
    - pj_obj_create
    - DerivedProjectedCRS::create
    - c_str
    - std::dynamic_pointer_cast<CartesianCS>
    - CRSNNPtr::nameStr
    linkageType: ''
    returnType: PJ
    signature: "PJ *proj_crs_add_horizontal_derived_conversion(PJ_CONTEXT *ctx,\n
      \                                              const char *crs_name,\n                                               const
      PJ *base_crs,\n                                               const PJ *deriving_conversion,\n
      \                                              const PJ *coordinate_system)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::metadata::ExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::metadata::ExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::metadata::ExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::metadata::ExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:81,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:88,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:96,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:127,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:158,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:236,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:236,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:236,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:237,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:238,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:242,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:249,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:249,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:252,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:252,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:257,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:257,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:260,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:260,1
    - Dst: GeographicBoundingBox::nn_make_shared<GeographicBoundingBox>
      Src: /src/PROJ/src/iso19111/metadata.cpp:262,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:272,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:285,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:285,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:368,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:368,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:381,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:381,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:382,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:382,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:387,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:397,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:397,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:401,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:408,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:408,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:412,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/metadata.cpp:414,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/metadata.cpp:416,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:441,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:441,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:442,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:448,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:448,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:449,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:455,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:456,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:458,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:458,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:459,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:472,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:472,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:473,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:473,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:487,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:490,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:490,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:490,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:491,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:491,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:514,1
    - Dst: VerticalExtent::nn_make_shared<VerticalExtent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:554,1
    - Dst: dynamic_cast<const VerticalExtent *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:564,1
    - Dst: unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:578,1
    - Dst: d::unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:579,1
    - Dst: unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:589,1
    - Dst: d::unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:590,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:611,1
    - Dst: TemporalExtent::nn_make_shared<TemporalExtent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:641,1
    - Dst: dynamic_cast<const TemporalExtent *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:650,1
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:687,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:691,1
    - Dst: Extent::nn_make_shared<Extent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:756,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/metadata.cpp:757,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/metadata.cpp:783,1
    - Dst: nn_static_pointer_cast<GeographicExtent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:786,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/metadata.cpp:787,1
    - Dst: std::vector<VerticalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/metadata.cpp:788,1
    - Dst: std::vector<TemporalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/metadata.cpp:788,1
    - Dst: dynamic_cast<const Extent *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:797,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/metadata.cpp:800,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/metadata.cpp:800,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/metadata.cpp:801,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/metadata.cpp:801,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:802,1
    - Dst: auto::d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:803,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:804,1
    - Dst: auto::d::verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:805,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:806,1
    - Dst: auto::d::temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:807,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:809,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/metadata.cpp:810,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:811,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:814,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/metadata.cpp:815,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:816,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:819,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/metadata.cpp:820,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:821,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:838,1
    - Dst: d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:839,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:840,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:843,1
    - Dst: d::verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:844,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:845,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:847,1
    - Dst: d::temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:848,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:849,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:863,1
    - Dst: d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:864,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:865,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:868,1
    - Dst: d::verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:869,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:871,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:873,1
    - Dst: d::temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:874,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:876,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:890,1
    - Dst: d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:891,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:892,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/metadata.cpp:893,1
    - Dst: util::nn_static_pointer_cast<Extent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:895,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/metadata.cpp:895,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:896,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/metadata.cpp:897,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:899,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/metadata.cpp:902,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/metadata.cpp:902,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/metadata.cpp:904,1
    - Dst: setProperties
      Src: /src/PROJ/src/iso19111/metadata.cpp:927,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:941,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:943,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:943,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/metadata.cpp:944,1
    - Dst: Citation
      Src: /src/PROJ/src/iso19111/metadata.cpp:945,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:945,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:947,1
    - Dst: dynamic_cast<const Citation *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:951,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:951,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:955,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:963,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:965,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:965,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/metadata.cpp:966,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/metadata.cpp:967,1
    - Dst: auto::integerValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:967,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/metadata.cpp:968,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:969,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:971,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:975,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:981,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:982,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:983,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:984,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:993,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1001,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1006,1
    - Dst: Identifier::nn_make_shared<Identifier>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1024,1
    - Dst: Identifier::nn_make_shared<Identifier>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1032,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/metadata.cpp:1111,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/metadata.cpp:1112,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1113,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/metadata.cpp:1114,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/metadata.cpp:1115,1
    - Dst: auto::getAuthorityAndVersion
      Src: /src/PROJ/src/iso19111/metadata.cpp:1117,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1117,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1119,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1119,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1121,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1122,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/metadata.cpp:1124,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1125,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1127,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1129,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/metadata.cpp:1131,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1133,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1135,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1138,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1139,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1139,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1140,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1141,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1141,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1142,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1144,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1145,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1146,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1146,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1147,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1149,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1151,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1152,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1153,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1154,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/metadata.cpp:1162,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1163,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/metadata.cpp:1164,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/metadata.cpp:1165,1
    - Dst: auto::getAuthorityAndVersion
      Src: /src/PROJ/src/iso19111/metadata.cpp:1167,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1167,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1169,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1169,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/metadata.cpp:1170,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/metadata.cpp:1171,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1172,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1173,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1174,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1176,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/metadata.cpp:1176,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1178,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1181,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1182,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/metadata.cpp:1184,1
    - Dst: auto::AddUnquoted
      Src: /src/PROJ/src/iso19111/metadata.cpp:1186,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/metadata.cpp:1186,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1188,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1191,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1192,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1192,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1193,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1194,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1194,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1196,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1197,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1198,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1198,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/metadata.cpp:1248,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1248,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1267,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1267,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/metadata.cpp:1288,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1290,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1297,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1297,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1297,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1298,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1299,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1309,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1310,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1311,1
    - Dst: skipSubstring
      Src: /src/PROJ/src/iso19111/metadata.cpp:1318,1
    - Dst: skipSubstring
      Src: /src/PROJ/src/iso19111/metadata.cpp:1319,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1329,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1330,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1331,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1332,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1333,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1341,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1342,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1347,1
    - Dst: get_ascii_replacement
      Src: /src/PROJ/src/iso19111/metadata.cpp:1348,1
    - Dst: std::string::push_back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1350,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1351,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1356,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1357,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1362,1
    - Dst: std::string::push_back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1363,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1390,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1391,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1401,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1402,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1403,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1403,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1405,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1406,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1407,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1408,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1412,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1416,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1422,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1423,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1423,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1428,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1429,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1429,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1439,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1440,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1441,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1448,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1450,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1455,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1457,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1468,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1468,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1469,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1470,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1476,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1477,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1479,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1480,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1483,1
    - Dst: get_ascii_replacement
      Src: /src/PROJ/src/iso19111/metadata.cpp:1484,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1487,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1490,1
    - Dst: get_ascii_replacement
      Src: /src/PROJ/src/iso19111/metadata.cpp:1491,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1494,1
    - Dst: isEquivalentName
      Src: /src/PROJ/src/iso19111/metadata.cpp:1519,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1533,1
    - Dst: PositionalAccuracy::nn_make_shared<PositionalAccuracy>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1559,1
    CyclomaticComplexity: 254
    EdgeCount: 254
    ICount: 547
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 1562
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - GeographicBoundingBox::nn_make_shared<GeographicBoundingBox>
    - util::nn_static_pointer_cast<Extent>
    - push_back
    - uri
    - isIgnoredChar
    - std::nextafter
    - version
    - create
    - TemporalExtent::nn_make_shared<TemporalExtent>
    - auto::integerValue
    - std::vector<TemporalExtentNNPtr>
    - util::optional<std::string>
    - std::string::empty
    - Identifier::nn_make_shared<Identifier>
    - std::min
    - d::unit_::conversionToSI
    - as_nullable
    - c_str
    - nn_static_pointer_cast<GeographicExtent>
    - description
    - skipSubstring
    - auto::d::geographicElements_::size
    - std::vector<VerticalExtentNNPtr>
    - Extent::nn_make_shared<Extent>
    - std::max
    - matchesLowerCase
    - toString
    - static_cast<unsigned char>
    - authority
    - PositionalAccuracy::nn_make_shared<PositionalAccuracy>
    - auto::AddUnquoted
    - NN_NO_CHECK
    - auto::description
    - Private
    - Citation
    - setProperties
    - writer
    - auto::assignSelf
    - std::make_unique<Private>
    - auto::d::temporalElements_::size
    - strlen
    - intersection
    - MakeObjectContext
    - auto::d::verticalElements_::size
    - GeographicBoundingBox::create
    - isdigit
    - contains
    - dynamic_cast<const Extent *>
    - endNode
    - get
    - auto::intersection
    - stop
    - auto::AddObjKey
    - auto::get
    - strncmp
    - temporalElements_::size
    - d::verticalElements_::size
    - replaceByFirstChar
    - std::string::push_back
    - d::temporalElements_::size
    - std::string::back
    - addQuotedString
    - code
    - shared_from_this
    - auto::as_nullable
    - dynamic_cast<const GeographicBoundingBox *>
    - auto::stop
    - dynamic_cast<const TemporalExtent *>
    - add
    - InvalidValueTypeException
    - start
    - auto::start
    - VerticalExtent::nn_make_shared<VerticalExtent>
    - c_locale_stod
    - getStringValue
    - std::isnan
    - dynamic_cast<const VerticalExtent *>
    - auto::stringValue
    - std::string::c_str
    - unit_::conversionToSI
    - auto::getAuthorityAndVersion
    - intersects
    - geographicElements_::size
    - codeSpace
    - lower
    - auto::Add
    - skipSubString
    - databaseContext
    - dynamic_cast<const Citation *>
    - verticalElements_::size
    - isEquivalentName
    - dynamic_cast<const BoxedValue *>
    - _isEquivalentTo
    - startNode
    - get_ascii_replacement
    - std::numeric_limits<double>::infinity
    - std::stoi
    - d::geographicElements_::size
    - auto::type
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Citation::Citation
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Citation::Citation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - titleIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: Citation::Citation
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Citation::Citation(const std::string &titleIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Citation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Citation::Citation
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Citation::Citation(const Citation &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Citation::~Citation()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Citation::~Citation()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Citation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: '&Citation::operator=(const Citation &other)'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Citation
    signature: Citation &Citation::operator=(const Citation &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '&Citation::title()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &Citation::title()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: GeographicExtent::GeographicExtent
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void GeographicExtent::GeographicExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: GeographicExtent::~GeographicExtent()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeographicExtent::~GeographicExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - west
    - south
    - east
    - north
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(double west, double south, double east, double north)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - west
    - south
    - east
    - north
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: GeographicBoundingBox::GeographicBoundingBox
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void GeographicBoundingBox::GeographicBoundingBox(double west, double
      south,\n                                             double east, double north)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: GeographicBoundingBox::~GeographicBoundingBox()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeographicBoundingBox::~GeographicBoundingBox()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: GeographicBoundingBox::westBoundLongitude
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeographicBoundingBox::westBoundLongitude()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: GeographicBoundingBox::southBoundLatitude
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeographicBoundingBox::southBoundLatitude()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: GeographicBoundingBox::eastBoundLongitude
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeographicBoundingBox::eastBoundLongitude()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: GeographicBoundingBox::northBoundLatitude
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeographicBoundingBox::northBoundLatitude()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:236,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:236,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:236,1
    - Dst: std::isnan
      Src: /src/PROJ/src/iso19111/metadata.cpp:237,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:238,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:242,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:249,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:249,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:252,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:252,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:257,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:257,1
    - Dst: std::nextafter
      Src: /src/PROJ/src/iso19111/metadata.cpp:260,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/iso19111/metadata.cpp:260,1
    - Dst: GeographicBoundingBox::nn_make_shared<GeographicBoundingBox>
      Src: /src/PROJ/src/iso19111/metadata.cpp:262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - west
    - south
    - east
    - north
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 264
    functionName: GeographicBoundingBox::create
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 7
    functionsReached:
    - std::nextafter
    - GeographicBoundingBox::nn_make_shared<GeographicBoundingBox>
    - InvalidValueTypeException
    - std::isnan
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: GeographicBoundingBoxNNPtr
    signature: "GeographicBoundingBoxNNPtr GeographicBoundingBox::create(double west,\n
      \                                                        double south,\n                                                         double
      east,\n                                                         double north)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - util::IComparable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: GeographicBoundingBox::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const GeographicBoundingBox *>
    linkageType: ''
    returnType: bool
    signature: "bool GeographicBoundingBox::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion,\n    const io::DatabaseContextPtr &) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:285,1
    - Dst: GeographicExtentNNPtr::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:285,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeographicExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 331
    functionName: GeographicBoundingBox::contains
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const GeographicBoundingBox *>
    - GeographicExtentNNPtr::get
    linkageType: ''
    returnType: bool
    signature: bool GeographicBoundingBox::contains(const GeographicExtentNNPtr &other)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:368,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:368,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:381,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:381,1
    - Dst: intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:382,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:382,1
    - Dst: Private::intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:387,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 1
    argNames:
    - other
    argTypes:
    - Private
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 392
    functionName: GeographicBoundingBox::Private::intersects(const Private &other)
      const
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - Private
    - std::min
    - intersects
    - Private::intersects
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool GeographicBoundingBox::Private::intersects(const Private &other)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:397,1
    - Dst: GeographicExtentNNPtr::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:397,1
    - Dst: GeographicBoundingBox::intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeographicExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: GeographicBoundingBox::intersects
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - GeographicBoundingBox::intersects
    - dynamic_cast<const GeographicBoundingBox *>
    - GeographicExtentNNPtr::get
    linkageType: ''
    returnType: bool
    signature: "bool GeographicBoundingBox::intersects(\n    const GeographicExtentNNPtr
      &other) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:408,1
    - Dst: GeographicExtentNNPtr::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:408,1
    - Dst: GeographicBoundingBox::intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:412,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/metadata.cpp:414,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/metadata.cpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeographicExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: GeographicBoundingBox::intersection
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - GeographicBoundingBox::intersection
    - GeographicBoundingBox::create
    - auto::as_nullable
    - GeographicExtentNNPtr::get
    - dynamic_cast<const GeographicBoundingBox *>
    linkageType: ''
    returnType: GeographicExtentPtr
    signature: GeographicExtentPtr GeographicBoundingBox::intersection(const GeographicExtentNNPtr
      &other) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:441,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:441,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:442,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:448,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:448,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:449,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:455,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:456,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:458,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:458,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:459,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:472,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:472,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:473,1
    - Dst: Private
      Src: /src/PROJ/src/iso19111/metadata.cpp:473,1
    - Dst: Private::intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:487,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:490,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:490,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/metadata.cpp:490,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:491,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/metadata.cpp:491,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - otherExtent
    argTypes:
    - Private
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 493
    functionName: GeographicBoundingBox::Private::intersection(const Private &otherExtent)
      const
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - Private
    - std::min
    - Private::intersection
    - std::make_unique<Private>
    - intersection
    - std::max
    linkageType: ''
    returnType: std::unique_ptr<GeographicBoundingBox::Private>
    signature: std::unique_ptr<GeographicBoundingBox::Private> GeographicBoundingBox::Private::intersection(const
      Private &otherExtent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - minimum
    - maximum
    - unit
    argTypes:
    - double
    - double
    - common::UnitOfMeasureNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(double minimum, double maximum,\n            const common::UnitOfMeasureNNPtr
      &unit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - minimumIn
    - maximumIn
    - unitIn
    argTypes:
    - double
    - double
    - common::UnitOfMeasureNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: VerticalExtent::VerticalExtent
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void VerticalExtent::VerticalExtent(double minimumIn, double maximumIn,\n
      \                              const common::UnitOfMeasureNNPtr &unitIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: VerticalExtent::~VerticalExtent()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalExtent::~VerticalExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: VerticalExtent::minimumValue
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double VerticalExtent::minimumValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: VerticalExtent::maximumValue
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double VerticalExtent::maximumValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: '&VerticalExtent::unit()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::UnitOfMeasureNNPtr
    signature: common::UnitOfMeasureNNPtr &VerticalExtent::unit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalExtent::nn_make_shared<VerticalExtent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - minimumIn
    - maximumIn
    - unitIn
    argTypes:
    - double
    - double
    - common::UnitOfMeasureNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: VerticalExtent::create
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 4
    functionsReached:
    - VerticalExtent::nn_make_shared<VerticalExtent>
    linkageType: ''
    returnType: VerticalExtentNNPtr
    signature: "VerticalExtentNNPtr VerticalExtent::create(double minimumIn, double
      maximumIn,\n                       const common::UnitOfMeasureNNPtr &unitIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const VerticalExtent *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - util::IComparable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: VerticalExtent::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const VerticalExtent *>
    linkageType: ''
    returnType: bool
    signature: "bool VerticalExtent::_isEquivalentTo(const util::IComparable *other,\n
      \                                    util::IComparable::Criterion,\n                                     const
      io::DatabaseContextPtr &) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:578,1
    - Dst: VerticalExtentNNPtr::d::unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VerticalExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: VerticalExtent::contains
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - VerticalExtentNNPtr::d::unit_::conversionToSI
    - unit_::conversionToSI
    linkageType: ''
    returnType: bool
    signature: bool VerticalExtent::contains(const VerticalExtentNNPtr &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:589,1
    - Dst: VerticalExtentNNPtr::d::unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/metadata.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VerticalExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: VerticalExtent::intersects
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - VerticalExtentNNPtr::d::unit_::conversionToSI
    - unit_::conversionToSI
    linkageType: ''
    returnType: bool
    signature: bool VerticalExtent::intersects(const VerticalExtentNNPtr &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &start, const std::string &stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - startIn
    - stopIn
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: TemporalExtent::TemporalExtent
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void TemporalExtent::TemporalExtent(const std::string &startIn,\n
      \                              const std::string &stopIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: TemporalExtent::~TemporalExtent()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalExtent::~TemporalExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: '&TemporalExtent::start()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &TemporalExtent::start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: '&TemporalExtent::stop()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &TemporalExtent::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalExtent::nn_make_shared<TemporalExtent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: TemporalExtent::create
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - TemporalExtent::nn_make_shared<TemporalExtent>
    linkageType: ''
    returnType: TemporalExtentNNPtr
    signature: "TemporalExtentNNPtr TemporalExtent::create(const std::string &start,\n
      \                                          const std::string &stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const TemporalExtent *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:650,1
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - util::IComparable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: TemporalExtent::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - stop
    - start
    - auto::stop
    - dynamic_cast<const TemporalExtent *>
    - auto::start
    linkageType: ''
    returnType: bool
    signature: "bool TemporalExtent::_isEquivalentTo(const util::IComparable *other,\n
      \                                    util::IComparable::Criterion,\n                                     const
      io::DatabaseContextPtr &) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: TemporalExtentNNPtr::start
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    - Dst: TemporalExtentNNPtr::stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - TemporalExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 663
    functionName: TemporalExtent::contains
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - TemporalExtentNNPtr::stop
    - stop
    - TemporalExtentNNPtr::start
    - start
    linkageType: ''
    returnType: bool
    signature: bool TemporalExtent::contains(const TemporalExtentNNPtr &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: TemporalExtentNNPtr::stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: stop
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    - Dst: TemporalExtentNNPtr::start
      Src: /src/PROJ/src/iso19111/metadata.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - TemporalExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: TemporalExtent::intersects
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - TemporalExtentNNPtr::stop
    - stop
    - TemporalExtentNNPtr::start
    - start
    linkageType: ''
    returnType: bool
    signature: bool TemporalExtent::intersects(const TemporalExtentNNPtr &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Extent::Extent
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Extent::Extent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Extent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Extent::Extent
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Extent::Extent(const Extent &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Extent::~Extent()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extent::~Extent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionName: '&Extent::description()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &Extent::description()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: '&

      Extent::geographicElements()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeographicExtentNNPtr>
    signature: 'std::vector<GeographicExtentNNPtr> &

      Extent::geographicElements()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: '&

      Extent::verticalElements()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<VerticalExtentNNPtr>
    signature: 'std::vector<VerticalExtentNNPtr> &

      Extent::verticalElements()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: '&

      Extent::temporalElements()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TemporalExtentNNPtr>
    signature: 'std::vector<TemporalExtentNNPtr> &

      Extent::temporalElements()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extent::nn_make_shared<Extent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:756,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/metadata.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - descriptionIn
    - geographicElementsIn
    - verticalElementsIn
    - temporalElementsIn
    argTypes:
    - optional<std::string>
    - std::vector<GeographicExtentNNPtr>
    - std::vector<VerticalExtentNNPtr>
    - std::vector<TemporalExtentNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: Extent::create
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 6
    functionsReached:
    - auto::assignSelf
    - Extent::nn_make_shared<Extent>
    linkageType: ''
    returnType: ExtentNNPtr
    signature: "ExtentNNPtr Extent::create(const optional<std::string> &descriptionIn,\n
      \              const std::vector<GeographicExtentNNPtr> &geographicElementsIn,\n
      \              const std::vector<VerticalExtentNNPtr> &verticalElementsIn,\n
      \              const std::vector<TemporalExtentNNPtr> &temporalElementsIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extent::create
      Src: /src/PROJ/src/iso19111/metadata.cpp:783,1
    - Dst: nn_static_pointer_cast<GeographicExtent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:786,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/metadata.cpp:787,1
    - Dst: std::vector<VerticalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/metadata.cpp:788,1
    - Dst: std::vector<TemporalExtentNNPtr>
      Src: /src/PROJ/src/iso19111/metadata.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - west
    - south
    - east
    - north
    - descriptionIn
    argTypes:
    - double
    - double
    - double
    - double
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 789
    functionName: Extent::createFromBBOX
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 11
    functionsReached:
    - nn_static_pointer_cast<GeographicExtent>
    - Extent::create
    - GeographicBoundingBox::create
    - std::vector<VerticalExtentNNPtr>
    - std::vector<TemporalExtentNNPtr>
    linkageType: ''
    returnType: ExtentNNPtr
    signature: "ExtentNNPtr Extent::createFromBBOX(double west, double south, double
      east, double north,\n                       const util::optional<std::string>
      &descriptionIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Extent *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:797,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/metadata.cpp:800,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/metadata.cpp:800,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/metadata.cpp:801,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/metadata.cpp:801,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:802,1
    - Dst: auto::d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:803,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:804,1
    - Dst: auto::d::verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:805,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:806,1
    - Dst: auto::d::temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:807,1
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:809,1
    - Dst: Extent::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/metadata.cpp:810,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:811,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:814,1
    - Dst: Extent::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/metadata.cpp:815,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:816,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:819,1
    - Dst: Extent::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/metadata.cpp:820,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/metadata.cpp:821,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 826
    functionName: Extent::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - description
    - auto::description
    - temporalElements_::size
    - get
    - geographicElements_::size
    - auto::d::geographicElements_::size
    - auto::d::temporalElements_::size
    - Extent::_isEquivalentTo
    - verticalElements_::size
    - auto::d::verticalElements_::size
    - dynamic_cast<const Extent *>
    linkageType: ''
    returnType: bool
    signature: "bool Extent::_isEquivalentTo(const util::IComparable *other,\n                             util::IComparable::Criterion
      criterion,\n                             const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:838,1
    - Dst: ExtentNNPtr::d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:839,1
    - Dst: Extent::contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:840,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:843,1
    - Dst: ExtentNNPtr::d::verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:844,1
    - Dst: Extent::contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:845,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:847,1
    - Dst: ExtentNNPtr::d::temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:848,1
    - Dst: Extent::contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:849,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - other
    argTypes:
    - ExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 852
    functionName: Extent::contains
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - temporalElements_::size
    - ExtentNNPtr::d::geographicElements_::size
    - geographicElements_::size
    - ExtentNNPtr::d::verticalElements_::size
    - Extent::contains
    - verticalElements_::size
    - ExtentNNPtr::d::temporalElements_::size
    linkageType: ''
    returnType: bool
    signature: bool Extent::contains(const ExtentNNPtr &other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:863,1
    - Dst: ExtentNNPtr::d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:864,1
    - Dst: Extent::intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:865,1
    - Dst: verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:868,1
    - Dst: ExtentNNPtr::d::verticalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:869,1
    - Dst: Extent::intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:871,1
    - Dst: temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:873,1
    - Dst: ExtentNNPtr::d::temporalElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:874,1
    - Dst: Extent::intersects
      Src: /src/PROJ/src/iso19111/metadata.cpp:876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - other
    argTypes:
    - ExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 879
    functionName: Extent::intersects
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - temporalElements_::size
    - ExtentNNPtr::d::geographicElements_::size
    - geographicElements_::size
    - ExtentNNPtr::d::verticalElements_::size
    - verticalElements_::size
    - Extent::intersects
    - ExtentNNPtr::d::temporalElements_::size
    linkageType: ''
    returnType: bool
    signature: bool Extent::intersects(const ExtentNNPtr &other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:890,1
    - Dst: ExtentNNPtr::d::geographicElements_::size
      Src: /src/PROJ/src/iso19111/metadata.cpp:891,1
    - Dst: Extent::contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:892,1
    - Dst: ExtentNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/metadata.cpp:893,1
    - Dst: util::nn_static_pointer_cast<Extent>
      Src: /src/PROJ/src/iso19111/metadata.cpp:895,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/metadata.cpp:895,1
    - Dst: ExtentNNPtr::contains
      Src: /src/PROJ/src/iso19111/metadata.cpp:896,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/metadata.cpp:897,1
    - Dst: Extent::intersection
      Src: /src/PROJ/src/iso19111/metadata.cpp:899,1
    - Dst: Extent::create
      Src: /src/PROJ/src/iso19111/metadata.cpp:902,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/metadata.cpp:902,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/metadata.cpp:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - other
    argTypes:
    - ExtentNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 910
    functionName: Extent::intersection
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - util::optional<std::string>
    - shared_from_this
    - Extent::create
    - ExtentNNPtr::d::geographicElements_::size
    - geographicElements_::size
    - util::nn_static_pointer_cast<Extent>
    - auto::as_nullable
    - NN_NO_CHECK
    - Extent::intersection
    - ExtentNNPtr::contains
    - Extent::contains
    - ExtentNNPtr::as_nullable
    linkageType: ''
    returnType: ExtentPtr
    signature: ExtentPtr Extent::intersection(const ExtentNNPtr &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProperties
      Src: /src/PROJ/src/iso19111/metadata.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - codeIn
    - properties
    argTypes:
    - std::string
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 10
    functionsReached:
    - setProperties
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &codeIn, const PropertyMap &properties)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:941,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:943,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:943,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/metadata.cpp:944,1
    - Dst: Citation
      Src: /src/PROJ/src/iso19111/metadata.cpp:945,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:945,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:947,1
    - Dst: dynamic_cast<const Citation *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:951,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:951,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:955,1
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:963,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/metadata.cpp:965,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/metadata.cpp:965,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/metadata.cpp:966,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/metadata.cpp:967,1
    - Dst: auto::integerValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:967,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/metadata.cpp:968,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:969,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:971,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/metadata.cpp:975,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:981,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:982,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:983,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/metadata.cpp:984,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - properties
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 985
    functionName: "Identifier::Private::setProperties(\n    const PropertyMap &properties)"
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::type
    - dynamic_cast<const BoxedValue *>
    - Citation
    - toString
    - InvalidValueTypeException
    - PropertyMap::getStringValue
    - auto::integerValue
    - dynamic_cast<const Citation *>
    - PropertyMap::get
    - auto::stringValue
    linkageType: ''
    returnType: void
    signature: "void Identifier::Private::setProperties(\n    const PropertyMap &properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - codeIn
    - properties
    argTypes:
    - std::string
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: Identifier::Identifier
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void Identifier::Identifier(const std::string &codeIn,\n                       const
      util::PropertyMap &properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: Identifier::Identifier
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Identifier::Identifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1006
    functionName: Identifier::Identifier
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Identifier::Identifier(const Identifier &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1010
    functionName: Identifier::~Identifier()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Identifier::~Identifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::nn_make_shared<Identifier>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - codeIn
    - properties
    argTypes:
    - std::string
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: Identifier::create
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 6
    functionsReached:
    - Identifier::nn_make_shared<Identifier>
    linkageType: ''
    returnType: IdentifierNNPtr
    signature: "IdentifierNNPtr Identifier::create(const std::string &codeIn,\n                                   const
      PropertyMap &properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::nn_make_shared<Identifier>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - descriptionIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1035
    functionName: Identifier::createFromDescription
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - Identifier::nn_make_shared<Identifier>
    linkageType: ''
    returnType: IdentifierNNPtr
    signature: IdentifierNNPtr Identifier::createFromDescription(const std::string
      &descriptionIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: '&Identifier::authority()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<Citation>
    signature: optional<Citation> &Identifier::authority()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1058
    functionName: '&Identifier::code()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &Identifier::code()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1071
    functionName: '&Identifier::codeSpace()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &Identifier::codeSpace()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: '&Identifier::version()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &Identifier::version()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1095
    functionName: '&Identifier::description()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &Identifier::description()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1105
    functionName: '&Identifier::uri()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &Identifier::uri()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/metadata.cpp:1111,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/metadata.cpp:1112,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1113,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/metadata.cpp:1114,1
    - Dst: WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/metadata.cpp:1115,1
    - Dst: auto::getAuthorityAndVersion
      Src: /src/PROJ/src/iso19111/metadata.cpp:1117,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1117,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1119,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1119,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1121,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1122,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/metadata.cpp:1124,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1125,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1127,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1129,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/metadata.cpp:1131,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1133,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1135,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1138,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1139,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1139,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1140,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1141,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1141,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1142,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1144,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1145,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1146,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1146,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1147,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1149,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1151,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1152,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1153,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/metadata.cpp:1154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1157
    functionName: Identifier::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - code
    - std::string::empty
    - auto::getAuthorityAndVersion
    - WKTFormatter*::add
    - version
    - WKTFormatter*::databaseContext
    - WKTFormatter*::startNode
    - c_locale_stod
    - authority
    - uri
    - codeSpace
    - WKTFormatter*::addQuotedString
    - WKTFormatter*::version
    - std::stoi
    - WKTFormatter*::endNode
    linkageType: ''
    returnType: void
    signature: void Identifier::_exportToWKT(WKTFormatter *formatter) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/PROJ/src/iso19111/metadata.cpp:1162,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1163,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/metadata.cpp:1164,1
    - Dst: JSONFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/metadata.cpp:1165,1
    - Dst: auto::getAuthorityAndVersion
      Src: /src/PROJ/src/iso19111/metadata.cpp:1167,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1167,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1169,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1169,1
    - Dst: JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/metadata.cpp:1170,1
    - Dst: JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/metadata.cpp:1171,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1172,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1173,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1174,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1176,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/metadata.cpp:1176,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1178,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1181,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1182,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/metadata.cpp:1184,1
    - Dst: auto::AddUnquoted
      Src: /src/PROJ/src/iso19111/metadata.cpp:1186,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/metadata.cpp:1186,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1188,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1191,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1192,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/metadata.cpp:1192,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1193,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1194,1
    - Dst: authority
      Src: /src/PROJ/src/iso19111/metadata.cpp:1194,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1196,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/metadata.cpp:1197,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/metadata.cpp:1198,1
    - Dst: uri
      Src: /src/PROJ/src/iso19111/metadata.cpp:1198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1201
    functionName: Identifier::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - code
    - std::string::empty
    - JSONFormatter*::databaseContext
    - std::string::c_str
    - auto::getAuthorityAndVersion
    - authority
    - version
    - auto::Add
    - c_locale_stod
    - auto::AddUnquoted
    - JSONFormatter*::writer
    - JSONFormatter*::MakeObjectContext
    - uri
    - codeSpace
    - auto::AddObjKey
    - std::stoi
    linkageType: ''
    returnType: void
    signature: void Identifier::_exportToJSON(JSONFormatter *formatter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1211
    functionName: isIgnoredChar
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isIgnoredChar(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: lower
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char lower(char ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/metadata.cpp:1248,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1253
    functionName: get_ascii_replacement
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: struct utf8_to_lower
    signature: struct utf8_to_lower *get_ascii_replacement(const char *c_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1267,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - c_str
    - needle
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1272
    functionName: matchesLowerCase
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 1
    functionsReached:
    - lower
    linkageType: ''
    returnType: bool
    signature: bool matchesLowerCase(const char *c_str, const char *needle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1279
    functionName: isdigit
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isdigit(char ch)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/metadata.cpp:1288,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1290,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/metadata.cpp:1297,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1297,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1297,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1298,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1299,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1309,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1310,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1311,1
    - Dst: skipSubstring
      Src: /src/PROJ/src/iso19111/metadata.cpp:1318,1
    - Dst: skipSubstring
      Src: /src/PROJ/src/iso19111/metadata.cpp:1319,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1329,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1330,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1331,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1332,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1333,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1341,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1342,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1347,1
    - Dst: get_ascii_replacement
      Src: /src/PROJ/src/iso19111/metadata.cpp:1348,1
    - Dst: std::string::push_back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1350,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1351,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1356,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1357,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1362,1
    - Dst: std::string::push_back
      Src: /src/PROJ/src/iso19111/metadata.cpp:1363,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 47
    argCount: 2
    argNames:
    - str
    - biggerDifferencesAllowed
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1367
    functionName: Identifier::canonicalizeName
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::c_str
    - lower
    - static_cast<unsigned char>
    - replaceByFirstChar
    - std::string::push_back
    - skipSubstring
    - push_back
    - isdigit
    - isIgnoredChar
    - get_ascii_replacement
    - strlen
    - std::string::back
    - matchesLowerCase
    linkageType: ''
    returnType: std::string
    signature: "std::string Identifier::canonicalizeName(const std::string &str,\n
      \                                        bool biggerDifferencesAllowed)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1390,1
    - Dst: lower
      Src: /src/PROJ/src/iso19111/metadata.cpp:1391,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1401,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1402,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1403,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1403,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1405,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1406,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1407,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1408,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1412,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1416,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1422,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1423,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1423,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1428,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1429,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1429,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1439,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1440,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1441,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1448,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1450,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1455,1
    - Dst: skipSubString
      Src: /src/PROJ/src/iso19111/metadata.cpp:1457,1
    - Dst: isIgnoredChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1468,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/metadata.cpp:1468,1
    - Dst: matchesLowerCase
      Src: /src/PROJ/src/iso19111/metadata.cpp:1469,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1470,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1476,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1477,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1479,1
    - Dst: replaceByFirstChar
      Src: /src/PROJ/src/iso19111/metadata.cpp:1480,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1483,1
    - Dst: get_ascii_replacement
      Src: /src/PROJ/src/iso19111/metadata.cpp:1484,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1487,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1490,1
    - Dst: get_ascii_replacement
      Src: /src/PROJ/src/iso19111/metadata.cpp:1491,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/metadata.cpp:1494,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 87
    argCount: 3
    argNames:
    - a
    - b
    - biggerDifferencesAllowed
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1509
    functionName: Identifier::isEquivalentName
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 13
    functionsReached:
    - lower
    - static_cast<unsigned char>
    - skipSubString
    - replaceByFirstChar
    - isIgnoredChar
    - isdigit
    - get_ascii_replacement
    - strlen
    - matchesLowerCase
    linkageType: ''
    returnType: bool
    signature: "bool Identifier::isEquivalentName(const char *a, const char *b,\n
      \                                 bool biggerDifferencesAllowed) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/metadata.cpp:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1520
    functionName: Identifier::isEquivalentName
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 14
    functionsReached:
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: bool
    signature: bool Identifier::isEquivalentName(const char *a, const char *b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1535
    functionName: PositionalAccuracy::PositionalAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void PositionalAccuracy::PositionalAccuracy(const std::string &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1540
    functionName: PositionalAccuracy::~PositionalAccuracy()
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PositionalAccuracy::~PositionalAccuracy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1549
    functionName: '&PositionalAccuracy::value()'
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &PositionalAccuracy::value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PositionalAccuracy::nn_make_shared<PositionalAccuracy>
      Src: /src/PROJ/src/iso19111/metadata.cpp:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1560
    functionName: PositionalAccuracy::create
    functionSourceFile: /src/PROJ/src/iso19111/metadata.cpp
    functionUses: 21
    functionsReached:
    - PositionalAccuracy::nn_make_shared<PositionalAccuracy>
    linkageType: ''
    returnType: PositionalAccuracyNNPtr
    signature: PositionalAccuracyNNPtr PositionalAccuracy::create(const std::string
      &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: nn<NS_PROJ::cs::MeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: nn<NS_PROJ::cs::MeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: nn<NS_PROJ::cs::MeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: nn<NS_PROJ::cs::MeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:87,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:93,1
    - Dst: Meridian::nn_make_shared<Meridian>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:122,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:131,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:131,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:132,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:132,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:133,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:134,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:135,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:137,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:147,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:149,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:149,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:151,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:152,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:153,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:155,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:155,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:157,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:158,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:159,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:159,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:160,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:161,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:163,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:164,1
    - Dst: util::optional<RangeMeaning>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:176,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:185,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:191,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:316,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:350,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:368,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:376,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:381,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:381,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:381,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:390,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:391,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:391,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:392,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:393,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:395,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:396,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:402,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:405,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:405,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:405,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:420,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:420,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:423,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:428,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:430,1
    - Dst: AxisDirectionWKT1::valueOf
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:432,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:435,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:437,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:438,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:439,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:440,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:447,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:450,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:451,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:452,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:454,1
    - Dst: outputAxisOrder
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:456,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:457,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:458,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:459,1
    - Dst: outputUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:461,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:462,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:463,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:465,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:466,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:467,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:468,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:469,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:471,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:472,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:473,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:474,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:476,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:476,1
    - Dst: rangeMeaning::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:477,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:478,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:479,1
    - Dst: rangeMeaning::toString
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:479,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:480,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:483,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:484,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:486,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:496,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:498,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:498,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:500,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:501,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:501,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:503,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:504,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:504,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:506,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:507,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:507,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:509,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:511,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:512,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:513,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:519,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:520,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:520,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:521,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:522,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:523,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:526,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:527,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:528,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:531,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:532,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:533,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:536,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:536,1
    - Dst: rangeMeaning::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:537,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:538,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:539,1
    - Dst: rangeMeaning::toString
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:539,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:542,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:543,1
    - Dst: dynamic_cast<const CoordinateSystemAxis *>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:554,1
    - Dst: unit::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:560,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:564,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:567,1
    - Dst: auto::abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:567,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:582,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:582,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:582,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:583,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:583,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:583,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:602,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:608,1
    - Dst: outputAxis
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:634,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:637,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:639,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:641,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:641,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:642,1
    - Dst: getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:642,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:642,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:643,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:643,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:643,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:644,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:645,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:645,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:653,1
    - Dst: pushOutputUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:662,1
    - Dst: outputCSUnitOnlyOnceIfSame
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:663,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:667,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:668,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:669,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:670,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:673,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:674,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:677,1
    - Dst: outputCSUnitOnlyOnceIfSame
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:678,1
    - Dst: common::UnitOfMeasure::_exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:679,1
    - Dst: popOutputUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:682,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:685,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:696,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:697,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:698,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:700,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:701,1
    - Dst: getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:701,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:703,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:705,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:706,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:708,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:709,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:713,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:714,1
    - Dst: dynamic_cast<const CoordinateSystem *>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:726,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:728,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:731,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:732,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:733,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:733,1
    - Dst: getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:736,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:736,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:739,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:740,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:740,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:803,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:824,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:861,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:882,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:891,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:892,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:898,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:898,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:914,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:914,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:915,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:916,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:931,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:932,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:932,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:933,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:934,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:935,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:950,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:950,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:951,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:952,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:968,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:969,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:969,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:970,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:971,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:972,1
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:982,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:983,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:984,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:986,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:988,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:993,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:995,1
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1009,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1010,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1011,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1011,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1012,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1013,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1015,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1015,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1016,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1017,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1017,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1018,1
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1028,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1029,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1030,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1030,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1033,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1033,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1034,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1034,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1036,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1071,1
    - Dst: VerticalCS::nn_make_shared<VerticalCS>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1084,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1084,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1085,1
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1095,1
    - Dst: VerticalCS::nn_make_shared<VerticalCS>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1096,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1097,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1135,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1135,1
    - Dst: InvalidCoordinateSystem
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1136,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1140,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: InvalidCoordinateSystem
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1165,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1169,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1183,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1183,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1184,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1185,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1188,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1189,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1204,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1204,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1205,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1206,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1209,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1210,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1225,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1225,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1226,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1227,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1230,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1231,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1247,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1247,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1248,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1249,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1252,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1252,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1253,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1254,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1257,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1257,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1271,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1271,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1272,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1273,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1276,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1276,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1277,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1278,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1281,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1281,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1293,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1293,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1294,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1295,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1298,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1299,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1302,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1303,1
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1313,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1314,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1315,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1315,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1316,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1317,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1319,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1319,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1320,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1321,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1321,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1322,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1322,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1352,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1372,1
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1380,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1381,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1382,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1382,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1383,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1384,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1386,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1386,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1387,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1388,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1388,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1389,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1389,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1423,1
    - Dst: ParametricCS::nn_make_shared<ParametricCS>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1455,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1457,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1464,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1465,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1465,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1465,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1474,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1474,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1475,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1484,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1485,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1485,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1485,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1491,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1497,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1497,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1498,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1509,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1510,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1510,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1510,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1517,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1517,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1518,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1561,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1594,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1627,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 422
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (registry.find(lowerName) == registry.end())
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1014
        line_start: 1014
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - condition: (registry.find(lowerName) == registry.end())
      pos:
        line_end: 1464
        line_start: 1464
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1318
        line_start: 1318
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - condition: (registry.find(lowerName) == registry.end())
      pos:
        line_end: 1484
        line_start: 1484
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1385
        line_start: 1385
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1637
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 1637
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - setOmitTypeInImmediateChild
    - CoordinateSystemAxis::create
    - meridian
    - CoordinateSystemAxis::createLAT_NORTH
    - auto::getWKT2Type
    - std::string::substr
    - version
    - create
    - getWKT2Type
    - outputId
    - auto::setProperties
    - std::string
    - AffineCS::create
    - use2019Keywords
    - std::string::empty
    - static_cast<int>
    - toupper
    - auto::MakeArrayContext
    - util::optional<RangeMeaning>
    - minimumValue::has_value
    - unit::_isEquivalentTo
    - EllipsoidalCS::create
    - _exportToWKT
    - CoordinateSystemAxis::createLONG_EAST
    - pushOutputUnit
    - popOutputUnit
    - dynamic_cast<const CoordinateSystem *>
    - outputAxis
    - InvalidCoordinateSystem
    - writer
    - assert
    - std::make_unique<Private>
    - MakeObjectContext
    - formatID
    - IdentifiedObject::_isEquivalentTo
    - endNode
    - get
    - abbreviation
    - auto::AddObjKey
    - AxisDirectionWKT1::valueOf
    - Meridian::create
    - identifiers
    - PropertyMap::PropertyMap
    - Meridian::nn_make_shared<Meridian>
    - common::UnitOfMeasure::_exportToWKT
    - addQuotedString
    - tolower
    - maximumValue::has_value
    - substr
    - alterUnit
    - direction
    - rangeMeaning::toString
    - unit
    - ParametricCS::nn_make_shared<ParametricCS>
    - add
    - auto::abbreviation
    - createAngle
    - CartesianCS::create
    - outputUnit
    - longitude
    - auto::unit
    - empty
    - CoordinateSystem::getPrivate
    - auto::empty
    - auto::value
    - outputCSUnitOnlyOnceIfSame
    - _exportToJSON
    - end
    - outputAxisOrder
    - nameStr
    - find
    - type
    - std::move
    - auto::Add
    - VerticalCS::nn_make_shared<VerticalCS>
    - auto::size
    - auto::_exportToJSON
    - _isEquivalentTo
    - name
    - startNode
    - auto::_exportToWKT
    - axisList
    - rangeMeaning::has_value
    - dynamic_cast<const CoordinateSystemAxis *>
    - auto::axisList
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - longitude
    argTypes:
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const common::Angle &longitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - longitudeIn
    argTypes:
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: Meridian::Meridian
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Meridian::Meridian(const common::Angle &longitudeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Meridian
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: Meridian::Meridian
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Meridian::Meridian(const Meridian &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Meridian::~Meridian()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Meridian::~Meridian()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '&Meridian::longitude()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::Angle
    signature: common::Angle &Meridian::longitude()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Meridian::nn_make_shared<Meridian>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - longitudeIn
    argTypes:
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Meridian::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 9
    functionsReached:
    - Meridian::nn_make_shared<Meridian>
    linkageType: ''
    returnType: MeridianNNPtr
    signature: MeridianNNPtr Meridian::create(const common::Angle &longitudeIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:131,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:131,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:132,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:132,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:133,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:134,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:135,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: Meridian::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - longitude
    - io::WKTFormatter*::add
    - formatID
    - io::WKTFormatter*::outputId
    linkageType: ''
    returnType: void
    signature: "void Meridian::_exportToWKT(\n    io::WKTFormatter *formatter) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:147,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:149,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:149,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:151,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:152,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:153,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:155,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:155,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:157,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:158,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:159,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:159,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:160,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:161,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:163,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: Meridian::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - auto::_exportToJSON
    - longitude
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - auto::unit
    - io::JSONFormatter*::outputId
    - io::JSONFormatter*::writer
    - formatID
    - auto::AddObjKey
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void Meridian::_exportToJSON(\n    io::JSONFormatter *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: CoordinateSystemAxis::CoordinateSystemAxis
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateSystemAxis::CoordinateSystemAxis()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - CoordinateSystemAxis
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: CoordinateSystemAxis::CoordinateSystemAxis
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateSystemAxis::CoordinateSystemAxis(const CoordinateSystemAxis
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: CoordinateSystemAxis::~CoordinateSystemAxis()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateSystemAxis::~CoordinateSystemAxis()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '&CoordinateSystemAxis::abbreviation()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &CoordinateSystemAxis::abbreviation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '&CoordinateSystemAxis::direction()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AxisDirection
    signature: AxisDirection &CoordinateSystemAxis::direction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: '&CoordinateSystemAxis::unit()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::UnitOfMeasure
    signature: common::UnitOfMeasure &CoordinateSystemAxis::unit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '&

      CoordinateSystemAxis::minimumValue()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<double>
    signature: 'util::optional<double> &

      CoordinateSystemAxis::minimumValue()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '&

      CoordinateSystemAxis::maximumValue()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<double>
    signature: 'util::optional<double> &

      CoordinateSystemAxis::maximumValue()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: '&

      CoordinateSystemAxis::rangeMeaning()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<RangeMeaning>
    signature: 'util::optional<RangeMeaning> &

      CoordinateSystemAxis::rangeMeaning()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '&CoordinateSystemAxis::meridian()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MeridianPtr
    signature: MeridianPtr &CoordinateSystemAxis::meridian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - properties
    - abbreviationIn
    - directionIn
    - unitIn
    - meridianIn
    argTypes:
    - util::PropertyMap
    - std::string
    - AxisDirection
    - common::UnitOfMeasure
    - MeridianPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: CoordinateSystemAxis::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 13
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: "CoordinateSystemAxisNNPtr CoordinateSystemAxis::create(\n    const
      util::PropertyMap &properties, const std::string &abbreviationIn,\n    const
      AxisDirection &directionIn, const common::UnitOfMeasure &unitIn,\n    const
      MeridianPtr &meridianIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - properties
    - abbreviationIn
    - directionIn
    - unitIn
    - minimumValueIn
    - maximumValueIn
    - rangeMeaningIn
    - meridianIn
    argTypes:
    - util::PropertyMap
    - std::string
    - AxisDirection
    - common::UnitOfMeasure
    - util::optional<double>
    - util::optional<double>
    - util::optional<RangeMeaning>
    - MeridianPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 359
    functionName: CoordinateSystemAxis::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 13
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: "CoordinateSystemAxisNNPtr CoordinateSystemAxis::create(\n    const
      util::PropertyMap &properties, const std::string &abbreviationIn,\n    const
      AxisDirection &directionIn, const common::UnitOfMeasure &unitIn,\n    const
      util::optional<double> &minimumValueIn,\n    const util::optional<double> &maximumValueIn,\n
      \   const util::optional<RangeMeaning> &rangeMeaningIn,\n    const MeridianPtr
      &meridianIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::_exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: CoordinateSystemAxis::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSystemAxis::_exportToWKT
    linkageType: ''
    returnType: void
    signature: "void CoordinateSystemAxis::_exportToWKT(\n    // cppcheck-suppress
      passedByValue\n    io::WKTFormatter *formatter) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:376,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:381,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:381,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: CoordinateSystemAxis::normalizeAxisName
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - toupper
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateSystemAxis::normalizeAxisName(const std::string
      &str)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:390,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:391,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:391,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:392,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:393,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:395,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:396,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:402,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:405,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:405,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:405,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:420,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:420,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:423,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:428,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:430,1
    - Dst: AxisDirectionWKT1::valueOf
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:432,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:435,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:437,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:438,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:439,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:440,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:447,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:450,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:451,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:452,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:454,1
    - Dst: io::WKTFormatter*::outputAxisOrder
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:456,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:457,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:458,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:459,1
    - Dst: io::WKTFormatter*::outputUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:461,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:462,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:463,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:465,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:466,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:467,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:468,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:469,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:471,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:472,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:473,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:474,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:476,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:476,1
    - Dst: rangeMeaning::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:477,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:478,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:479,1
    - Dst: rangeMeaning::toString
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:479,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:480,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:483,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:484,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:486,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 75
    argCount: 3
    argNames:
    - formatter
    - order
    - disableAbbrev
    argTypes:
    - io::WKTFormatter*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 487
    functionName: CoordinateSystemAxis::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - nameStr
    - meridian
    - tolower
    - std::string::substr
    - maximumValue::has_value
    - std::move
    - io::WKTFormatter*::outputId
    - io::WKTFormatter*::outputAxisOrder
    - io::WKTFormatter*::addQuotedString
    - std::string
    - direction
    - std::string::empty
    - io::WKTFormatter*::endNode
    - rangeMeaning::toString
    - unit
    - io::WKTFormatter*::version
    - toupper
    - formatID
    - minimumValue::has_value
    - io::WKTFormatter*::use2019Keywords
    - abbreviation
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - rangeMeaning::has_value
    - io::WKTFormatter*::outputUnit
    - AxisDirectionWKT1::valueOf
    linkageType: ''
    returnType: void
    signature: "void CoordinateSystemAxis::_exportToWKT(io::WKTFormatter *formatter,
      int order,\n                                        bool disableAbbrev) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:496,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:498,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:498,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:500,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:501,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:501,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:503,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:504,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:504,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:506,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:507,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:507,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:509,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:511,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:512,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:513,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:519,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:520,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:520,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:521,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:522,1
    - Dst: CoordinateSystemAxis::_exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:523,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:526,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:527,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:528,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:531,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:532,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:533,1
    - Dst: minimumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:536,1
    - Dst: maximumValue::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:536,1
    - Dst: rangeMeaning::has_value
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:537,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:538,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:539,1
    - Dst: rangeMeaning::toString
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:539,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:542,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:543,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 545
    functionName: CoordinateSystemAxis::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - nameStr
    - io::JSONFormatter*::outputId
    - io::JSONFormatter*::writer
    - meridian
    - maximumValue::has_value
    - type
    - auto::Add
    - direction
    - rangeMeaning::toString
    - formatID
    - CoordinateSystemAxis::_exportToJSON
    - auto::_exportToJSON
    - minimumValue::has_value
    - abbreviation
    - name
    - rangeMeaning::has_value
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void CoordinateSystemAxis::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const CoordinateSystemAxis *>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:554,1
    - Dst: unit::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:560,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:564,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:567,1
    - Dst: auto::abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 574
    functionName: CoordinateSystemAxis::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - unit::_isEquivalentTo
    - auto::abbreviation
    - abbreviation
    - IdentifiedObject::_isEquivalentTo
    - dynamic_cast<const CoordinateSystemAxis *>
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateSystemAxis::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:582,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:582,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:582,1
    - Dst: abbreviation
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:583,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:583,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newUnit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: CoordinateSystemAxis::alterUnit
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - name
    - abbreviation
    - meridian
    - direction
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: CoordinateSystemAxisNNPtr CoordinateSystemAxis::alterUnit(const common::UnitOfMeasure
      &newUnit) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisListIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::vector<CoordinateSystemAxisNNPtr> &axisListIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: CoordinateSystem::CoordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void CoordinateSystem::CoordinateSystem(\n    const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - CoordinateSystem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: CoordinateSystem::CoordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateSystem::CoordinateSystem(const CoordinateSystem &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 614
    functionName: CoordinateSystem::~CoordinateSystem()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateSystem::~CoordinateSystem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: '&

      CoordinateSystem::axisList()'
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CoordinateSystemAxisNNPtr>
    signature: 'std::vector<CoordinateSystemAxisNNPtr> &

      CoordinateSystem::axisList()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::outputAxis
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:634,1
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:637,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:639,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:641,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:641,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:642,1
    - Dst: getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:642,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:642,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:643,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:643,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:643,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:644,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:645,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:645,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:653,1
    - Dst: io::WKTFormatter*::pushOutputUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:662,1
    - Dst: io::WKTFormatter*::outputCSUnitOnlyOnceIfSame
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:663,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:667,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:668,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:669,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:670,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:673,1
    - Dst: CoordinateSystem::_exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:674,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:677,1
    - Dst: io::WKTFormatter*::outputCSUnitOnlyOnceIfSame
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:678,1
    - Dst: common::UnitOfMeasure::_exportToWKT
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:679,1
    - Dst: io::WKTFormatter*::popOutputUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:682,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:685,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 687
    functionName: CoordinateSystem::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - nameStr
    - io::WKTFormatter*::outputCSUnitOnlyOnceIfSame
    - common::UnitOfMeasure::_exportToWKT
    - io::WKTFormatter*::popOutputUnit
    - io::WKTFormatter*::outputAxis
    - getWKT2Type
    - std::string
    - io::WKTFormatter*::endNode
    - unit
    - auto::size
    - io::WKTFormatter*::version
    - static_cast<int>
    - io::WKTFormatter*::use2019Keywords
    - io::WKTFormatter*::add
    - io::WKTFormatter*::pushOutputUnit
    - axisList
    - auto::empty
    - CoordinateSystem::_exportToWKT
    linkageType: ''
    returnType: void
    signature: "void CoordinateSystem::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:696,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:697,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:698,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:700,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:701,1
    - Dst: getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:701,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:703,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:705,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:706,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:708,1
    - Dst: CoordinateSystem::_exportToJSON
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:709,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:713,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 693
    functionDepth: 5
    functionLinenumber: 693
    functionLinenumberEnd: 716
    functionName: CoordinateSystem::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - CoordinateSystem::_exportToJSON
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - getWKT2Type
    - io::JSONFormatter*::outputId
    - io::JSONFormatter*::writer
    - formatID
    - axisList
    - auto::AddObjKey
    - auto::MakeArrayContext
    linkageType: ''
    returnType: void
    signature: "void CoordinateSystem::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const CoordinateSystem *>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:726,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:728,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:731,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:732,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:733,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:733,1
    - Dst: getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:736,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:736,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:739,1
    - Dst: CoordinateSystem::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:740,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 746
    functionName: CoordinateSystem::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - get
    - getWKT2Type
    - axisList
    - IdentifiedObject::_isEquivalentTo
    - CoordinateSystem::_isEquivalentTo
    - dynamic_cast<const CoordinateSystem *>
    - auto::getWKT2Type
    - auto::axisList
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateSystem::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 753
    functionName: InvalidCoordinateSystem::InvalidCoordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidCoordinateSystem::InvalidCoordinateSystem(const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: InvalidCoordinateSystem::InvalidCoordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidCoordinateSystem::InvalidCoordinateSystem(const std::string
      &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 763
    functionName: InvalidCoordinateSystem::InvalidCoordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InvalidCoordinateSystem::InvalidCoordinateSystem(\n    const
      InvalidCoordinateSystem &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: InvalidCoordinateSystem::~InvalidCoordinateSystem()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidCoordinateSystem::~InvalidCoordinateSystem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: SphericalCS::~SphericalCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphericalCS::~SphericalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: SphericalCS::SphericalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphericalCS::SphericalCS(const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: SphericalCS::SphericalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphericalCS::SphericalCS(const SphericalCS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - properties
    - axis1
    - axis2
    - axis3
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: SphericalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: SphericalCSNNPtr
    signature: "SphericalCSNNPtr SphericalCS::create(const util::PropertyMap &properties,\n
      \                                    const CoordinateSystemAxisNNPtr &axis1,\n
      \                                    const CoordinateSystemAxisNNPtr &axis2,\n
      \                                    const CoordinateSystemAxisNNPtr &axis3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - axis1
    - axis2
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 826
    functionName: SphericalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: SphericalCSNNPtr
    signature: "SphericalCSNNPtr SphericalCS::create(const util::PropertyMap &properties,\n
      \                                    const CoordinateSystemAxisNNPtr &axis1,\n
      \                                    const CoordinateSystemAxisNNPtr &axis2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 831
    functionName: EllipsoidalCS::~EllipsoidalCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EllipsoidalCS::~EllipsoidalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: EllipsoidalCS::EllipsoidalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EllipsoidalCS::EllipsoidalCS(\n    const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: EllipsoidalCS::EllipsoidalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EllipsoidalCS::EllipsoidalCS(const EllipsoidalCS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - axis1
    - axis2
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 863
    functionName: EllipsoidalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 4
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: "EllipsoidalCSNNPtr EllipsoidalCS::create(const util::PropertyMap &properties,\n
      \                     const CoordinateSystemAxisNNPtr &axis1,\n                      const
      CoordinateSystemAxisNNPtr &axis2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - properties
    - axis1
    - axis2
    - axis3
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 884
    functionName: EllipsoidalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 4
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: "EllipsoidalCSNNPtr EllipsoidalCS::create(const util::PropertyMap &properties,\n
      \                     const CoordinateSystemAxisNNPtr &axis1,\n                      const
      CoordinateSystemAxisNNPtr &axis2,\n                      const CoordinateSystemAxisNNPtr
      &axis3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:891,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: CoordinateSystemAxis::createLAT_NORTH
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: CoordinateSystemAxisNNPtr CoordinateSystemAxis::createLAT_NORTH(const
      common::UnitOfMeasure &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:898,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 901
    functionName: CoordinateSystemAxis::createLONG_EAST
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: CoordinateSystemAxisNNPtr CoordinateSystemAxis::createLONG_EAST(const
      common::UnitOfMeasure &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:914,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:914,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:915,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 917
    functionName: EllipsoidalCS::createLatitudeLongitude
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 23
    functionsReached:
    - CoordinateSystemAxis::createLAT_NORTH
    - PropertyMap::PropertyMap
    - EllipsoidalCS::create
    - CoordinateSystemAxis::createLONG_EAST
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: EllipsoidalCSNNPtr EllipsoidalCS::createLatitudeLongitude(const common::UnitOfMeasure
      &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:931,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:932,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:932,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:933,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:934,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - angularUnit
    - linearUnit
    argTypes:
    - common::UnitOfMeasure
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 928
    functionDepth: 2
    functionLinenumber: 928
    functionLinenumberEnd: 938
    functionName: EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSystemAxis::createLONG_EAST
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - EllipsoidalCS::create
    - CoordinateSystemAxis::createLAT_NORTH
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: "EllipsoidalCSNNPtr EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight(\n
      \   const common::UnitOfMeasure &angularUnit,\n    const common::UnitOfMeasure
      &linearUnit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:950,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:950,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:951,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: EllipsoidalCS::createLongitudeLatitude
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSystemAxis::createLAT_NORTH
    - PropertyMap::PropertyMap
    - EllipsoidalCS::create
    - CoordinateSystemAxis::createLONG_EAST
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: EllipsoidalCSNNPtr EllipsoidalCS::createLongitudeLatitude(const common::UnitOfMeasure
      &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:968,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:969,1
    - Dst: CoordinateSystemAxis::createLONG_EAST
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:969,1
    - Dst: CoordinateSystemAxis::createLAT_NORTH
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:970,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:971,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - angularUnit
    - linearUnit
    argTypes:
    - common::UnitOfMeasure
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 975
    functionName: EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSystemAxis::createLONG_EAST
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - EllipsoidalCS::create
    - CoordinateSystemAxis::createLAT_NORTH
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: "EllipsoidalCSNNPtr EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight(\n
      \   const common::UnitOfMeasure &angularUnit,\n    const common::UnitOfMeasure
      &linearUnit)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:982,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:983,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:984,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:986,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:988,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:993,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1001
    functionName: EllipsoidalCS::axisOrder
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - direction
    - CoordinateSystem::getPrivate
    linkageType: ''
    returnType: EllipsoidalCS::AxisOrder
    signature: EllipsoidalCS::AxisOrder EllipsoidalCS::axisOrder() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1009,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1010,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1011,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1011,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1012,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1013,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1015,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1015,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1016,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1017,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1017,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - angularUnit
    argTypes:
    - common::UnitOfMeasure
    assertStmts:
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1014
        line_start: 1014
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1020
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1020
    functionName: EllipsoidalCS::alterAngularUnit
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - PropertyMap::PropertyMap
    - assert
    - EllipsoidalCS::create
    - CoordinateSystem::getPrivate
    - alterUnit
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: "EllipsoidalCSNNPtr EllipsoidalCS::alterAngularUnit(\n    const common::UnitOfMeasure
      &angularUnit) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1028,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1029,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1030,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1030,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1033,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1033,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1034,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1034,1
    - Dst: alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - linearUnit
    argTypes:
    - common::UnitOfMeasure
    assertStmts:
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1038
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1038
    functionName: EllipsoidalCS::alterLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - PropertyMap::PropertyMap
    - assert
    - EllipsoidalCS::create
    - CoordinateSystem::getPrivate
    - alterUnit
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: EllipsoidalCSNNPtr EllipsoidalCS::alterLinearUnit(const common::UnitOfMeasure
      &linearUnit) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: VerticalCS::~VerticalCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalCS::~VerticalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1051
    functionName: VerticalCS::VerticalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalCS::VerticalCS(const CoordinateSystemAxisNNPtr &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1057
    functionName: VerticalCS::VerticalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalCS::VerticalCS(const VerticalCS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - axis
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1073
    functionName: VerticalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 3
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: VerticalCSNNPtr
    signature: "VerticalCSNNPtr VerticalCS::create(const util::PropertyMap &properties,\n
      \                                  const CoordinateSystemAxisNNPtr &axis)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalCS::nn_make_shared<VerticalCS>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1084,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1084,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1089
    functionName: VerticalCS::createGravityRelatedHeight
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 16
    functionsReached:
    - VerticalCS::nn_make_shared<VerticalCS>
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: VerticalCSNNPtr
    signature: VerticalCSNNPtr VerticalCS::createGravityRelatedHeight(const common::UnitOfMeasure
      &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1095,1
    - Dst: VerticalCS::nn_make_shared<VerticalCS>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1096,1
    - Dst: VerticalCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1098
    functionName: VerticalCS::alterUnit
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - VerticalCS::nn_make_shared<VerticalCS>
    - CoordinateSystem::getPrivate
    - VerticalCS::alterUnit
    linkageType: ''
    returnType: VerticalCSNNPtr
    signature: VerticalCSNNPtr VerticalCS::alterUnit(const common::UnitOfMeasure &unit)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: CartesianCS::~CartesianCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CartesianCS::~CartesianCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1110
    functionName: CartesianCS::CartesianCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CartesianCS::CartesianCS(const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1115
    functionName: CartesianCS::CartesianCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CartesianCS::CartesianCS(const CartesianCS &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1135,1
    - Dst: CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1135,1
    - Dst: InvalidCoordinateSystem
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1136,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - properties
    - axis1
    - axis2
    - enforceSameUnit
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1142
    functionName: CartesianCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 6
    functionsReached:
    - InvalidCoordinateSystem
    - auto::setProperties
    - CoordinateSystemAxisNNPtr::unit
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: "CartesianCSNNPtr CartesianCS::create(const util::PropertyMap &properties,\n
      \                                    const CoordinateSystemAxisNNPtr &axis1,\n
      \                                    const CoordinateSystemAxisNNPtr &axis2,\n
      \                                    bool enforceSameUnit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1164,1
    - Dst: InvalidCoordinateSystem
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1165,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - properties
    - axis1
    - axis2
    - axis3
    - enforceSameUnit
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1171
    functionName: CartesianCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 6
    functionsReached:
    - InvalidCoordinateSystem
    - auto::setProperties
    - CoordinateSystemAxisNNPtr::unit
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: "CartesianCSNNPtr CartesianCS::create(const util::PropertyMap &properties,\n
      \                                    const CoordinateSystemAxisNNPtr &axis1,\n
      \                                    const CoordinateSystemAxisNNPtr &axis2,\n
      \                                    const CoordinateSystemAxisNNPtr &axis3,\n
      \                                    bool enforceSameUnit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1183,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1183,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1184,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1185,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1188,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1192
    functionName: CartesianCS::createEastingNorthing
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 55
    functionsReached:
    - PropertyMap::PropertyMap
    - CartesianCS::create
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: CartesianCSNNPtr CartesianCS::createEastingNorthing(const common::UnitOfMeasure
      &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1204,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1204,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1205,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1206,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1209,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1213
    functionName: CartesianCS::createNorthingEasting
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - PropertyMap::PropertyMap
    - CartesianCS::create
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: CartesianCSNNPtr CartesianCS::createNorthingEasting(const common::UnitOfMeasure
      &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1225,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1225,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1226,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1227,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1230,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: CartesianCS::createWestingSouthing
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - CartesianCS::create
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: CartesianCSNNPtr CartesianCS::createWestingSouthing(const common::UnitOfMeasure
      &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1247,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1247,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1248,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1249,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1252,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1252,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1253,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1254,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1257,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1258
    functionName: CartesianCS::createNorthPoleEastingSouthNorthingSouth
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - createAngle
    - CoordinateSystemAxis::create
    - CartesianCS::create
    - Meridian::create
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: "CartesianCSNNPtr CartesianCS::createNorthPoleEastingSouthNorthingSouth(\n
      \   const common::UnitOfMeasure &unit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1271,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1271,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1272,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1273,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1276,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1276,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1277,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1278,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1281,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1282
    functionName: CartesianCS::createSouthPoleEastingNorthNorthingNorth
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - createAngle
    - CoordinateSystemAxis::create
    - CartesianCS::create
    - Meridian::create
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: "CartesianCSNNPtr CartesianCS::createSouthPoleEastingNorthNorthingNorth(\n
      \   const common::UnitOfMeasure &unit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1293,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1293,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1294,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1295,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1298,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1299,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1302,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1306
    functionName: CartesianCS::createGeocentric
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 16
    functionsReached:
    - PropertyMap::PropertyMap
    - CartesianCS::create
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: CartesianCSNNPtr CartesianCS::createGeocentric(const common::UnitOfMeasure
      &unit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1313,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1314,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1315,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1315,1
    - Dst: CartesianCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1316,1
    - Dst: CartesianCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1317,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1319,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1319,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1320,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1321,1
    - Dst: CartesianCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1321,1
    - Dst: CartesianCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1322,1
    - Dst: CartesianCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts:
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1318
        line_start: 1318
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1324
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1324
    functionName: CartesianCS::alterUnit
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - PropertyMap::PropertyMap
    - assert
    - CoordinateSystem::getPrivate
    - CartesianCS::create
    - CartesianCS::alterUnit
    linkageType: ''
    returnType: CartesianCSNNPtr
    signature: CartesianCSNNPtr CartesianCS::alterUnit(const common::UnitOfMeasure
      &unit) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1330
    functionName: AffineCS::~AffineCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCS::~AffineCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1336
    functionName: AffineCS::AffineCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCS::AffineCS(const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - axis1
    - axis2
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1354
    functionName: AffineCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: AffineCSNNPtr
    signature: "AffineCSNNPtr AffineCS::create(const util::PropertyMap &properties,\n
      \                              const CoordinateSystemAxisNNPtr &axis1,\n                               const
      CoordinateSystemAxisNNPtr &axis2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - properties
    - axis1
    - axis2
    - axis3
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1374
    functionName: AffineCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: AffineCSNNPtr
    signature: "AffineCSNNPtr AffineCS::create(const util::PropertyMap &properties,\n
      \                              const CoordinateSystemAxisNNPtr &axis1,\n                               const
      CoordinateSystemAxisNNPtr &axis2,\n                               const CoordinateSystemAxisNNPtr
      &axis3)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystem::getPrivate
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1380,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1381,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1382,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1382,1
    - Dst: AffineCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1383,1
    - Dst: AffineCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1384,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1386,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1386,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1387,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1388,1
    - Dst: AffineCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1388,1
    - Dst: AffineCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1389,1
    - Dst: AffineCS::alterUnit
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts:
    - condition: (l_axisList.size() == 3)
      pos:
        line_end: 1385
        line_start: 1385
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1391
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1391
    functionName: AffineCS::alterUnit
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - PropertyMap::PropertyMap
    - assert
    - AffineCS::alterUnit
    - CoordinateSystem::getPrivate
    - AffineCS::create
    linkageType: ''
    returnType: AffineCSNNPtr
    signature: AffineCSNNPtr AffineCS::alterUnit(const common::UnitOfMeasure &unit)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1397
    functionName: OrdinalCS::~OrdinalCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OrdinalCS::~OrdinalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1403
    functionName: OrdinalCS::OrdinalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OrdinalCS::OrdinalCS(const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1408
    functionName: OrdinalCS::OrdinalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OrdinalCS::OrdinalCS(const OrdinalCS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - axisIn
    argTypes:
    - util::PropertyMap
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1425
    functionName: OrdinalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 3
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: OrdinalCSNNPtr
    signature: "OrdinalCSNNPtr OrdinalCS::create(const util::PropertyMap &properties,\n
      \                 const std::vector<CoordinateSystemAxisNNPtr> &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1430
    functionName: ParametricCS::~ParametricCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricCS::~ParametricCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - std::vector<CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1436
    functionName: ParametricCS::ParametricCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricCS::ParametricCS(const std::vector<CoordinateSystemAxisNNPtr>
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1441
    functionName: ParametricCS::ParametricCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricCS::ParametricCS(const ParametricCS &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricCS::nn_make_shared<ParametricCS>
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1455,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - axisIn
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1459
    functionName: ParametricCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - ParametricCS::nn_make_shared<ParametricCS>
    - auto::setProperties
    linkageType: ''
    returnType: ParametricCSNNPtr
    signature: "ParametricCSNNPtr ParametricCS::create(const util::PropertyMap &properties,\n
      \                    const CoordinateSystemAxisNNPtr &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1464,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1465,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1465,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts:
    - condition: (registry.find(lowerName) == registry.end())
      pos:
        line_end: 1464
        line_start: 1464
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1467
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1467
    functionName: AxisDirection::AxisDirection
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - tolower
    - assert
    linkageType: ''
    returnType: void
    signature: void AxisDirection::AxisDirection(const std::string &nameIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1474,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1474,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1478
    functionName: AxisDirection::valueOf
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 3
    functionsReached:
    - find
    - end
    - tolower
    linkageType: ''
    returnType: AxisDirection
    signature: 'AxisDirection *

      AxisDirection::valueOf(const std::string &nameIn) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1484,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1485,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1485,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts:
    - condition: (registry.find(lowerName) == registry.end())
      pos:
        line_end: 1484
        line_start: 1484
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1487
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1487
    functionName: RangeMeaning::RangeMeaning
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - tolower
    - assert
    linkageType: ''
    returnType: void
    signature: void RangeMeaning::RangeMeaning(const std::string &nameIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1491
    functionName: RangeMeaning::RangeMeaning
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void RangeMeaning::RangeMeaning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1497,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1497,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    functionName: RangeMeaning::valueOf
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - tolower
    linkageType: ''
    returnType: RangeMeaning
    signature: RangeMeaning *RangeMeaning::valueOf(const std::string &nameIn) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1509,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1510,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1510,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts:
    - condition: (registry.find(lowerName) == registry.end())
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    constantsTouched: []
    func_position:
      end: 1512
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1512
    functionName: AxisDirectionWKT1::AxisDirectionWKT1
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - tolower
    - assert
    linkageType: ''
    returnType: void
    signature: void AxisDirectionWKT1::AxisDirectionWKT1(const std::string &nameIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1517,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1517,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1521
    functionName: AxisDirectionWKT1::valueOf
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - find
    - end
    - tolower
    linkageType: ''
    returnType: AxisDirectionWKT1
    signature: AxisDirectionWKT1 *AxisDirectionWKT1::valueOf(const std::string &nameIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1528
    functionName: TemporalCS::~TemporalCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalCS::~TemporalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1535
    functionName: TemporalCS::TemporalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalCS::TemporalCS(const CoordinateSystemAxisNNPtr &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1541
    functionName: DateTimeTemporalCS::~DateTimeTemporalCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DateTimeTemporalCS::~DateTimeTemporalCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1547
    functionName: DateTimeTemporalCS::DateTimeTemporalCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DateTimeTemporalCS::DateTimeTemporalCS(const CoordinateSystemAxisNNPtr
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - axisIn
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1563
    functionName: DateTimeTemporalCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: DateTimeTemporalCSNNPtr
    signature: "DateTimeTemporalCSNNPtr DateTimeTemporalCS::create(const util::PropertyMap
      &properties,\n                           const CoordinateSystemAxisNNPtr &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use2019Keywords
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1569
    functionName: DateTimeTemporalCS::getWKT2Type
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DateTimeTemporalCS::getWKT2Type(bool use2019Keywords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1574
    functionName: TemporalCountCS::~TemporalCountCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalCountCS::~TemporalCountCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1580
    functionName: TemporalCountCS::TemporalCountCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalCountCS::TemporalCountCS(const CoordinateSystemAxisNNPtr
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - axisIn
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1596
    functionName: TemporalCountCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 5
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: TemporalCountCSNNPtr
    signature: "TemporalCountCSNNPtr TemporalCountCS::create(const util::PropertyMap
      &properties,\n                        const CoordinateSystemAxisNNPtr &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use2019Keywords
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1602
    functionName: TemporalCountCS::getWKT2Type
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TemporalCountCS::getWKT2Type(bool use2019Keywords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1607
    functionName: TemporalMeasureCS::~TemporalMeasureCS()
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalMeasureCS::~TemporalMeasureCS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - axisIn
    argTypes:
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1613
    functionName: TemporalMeasureCS::TemporalMeasureCS
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalMeasureCS::TemporalMeasureCS(const CoordinateSystemAxisNNPtr
      &axisIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/coordinatesystem.cpp:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - axisIn
    argTypes:
    - util::PropertyMap
    - CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1629
    functionName: TemporalMeasureCS::create
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 2
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: TemporalMeasureCSNNPtr
    signature: "TemporalMeasureCSNNPtr TemporalMeasureCS::create(const util::PropertyMap
      &properties,\n                          const CoordinateSystemAxisNNPtr &axisIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use2019Keywords
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1635
    functionName: TemporalMeasureCS::getWKT2Type
    functionSourceFile: /src/PROJ/src/iso19111/coordinatesystem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TemporalMeasureCS::getWKT2Type(bool use2019Keywords) const
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:63,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:64,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/internal.cpp:67,1
    - Dst: std::string::replace
      Src: /src/PROJ/src/iso19111/internal.cpp:68,1
    - Dst: _strnicmp
      Src: /src/PROJ/src/iso19111/internal.cpp:79,1
    - Dst: strncasecmp
      Src: /src/PROJ/src/iso19111/internal.cpp:81,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:89,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:90,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:93,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:93,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:93,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:97,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:98,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:101,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:101,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:105,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:106,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:109,1
    - Dst: _stricmp
      Src: /src/PROJ/src/iso19111/internal.cpp:116,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:116,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:116,1
    - Dst: strcasecmp
      Src: /src/PROJ/src/iso19111/internal.cpp:118,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:118,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:118,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/iso19111/internal.cpp:134,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/iso19111/internal.cpp:150,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:158,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/internal.cpp:158,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/internal.cpp:159,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:159,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:167,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:168,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:169,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:169,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:180,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:181,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:182,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:182,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:182,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:215,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:216,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:220,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:227,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:227,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:236,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:236,1
    - Dst: std::memcmp
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:240,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/internal.cpp:247,1
    - Dst: std::invalid_argument
      Src: /src/PROJ/src/iso19111/internal.cpp:249,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:257,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/iso19111/internal.cpp:284,1
    - Dst: std::istringstream::imbue
      Src: /src/PROJ/src/iso19111/internal.cpp:289,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/internal.cpp:289,1
    - Dst: std::istringstream::eof
      Src: /src/PROJ/src/iso19111/internal.cpp:292,1
    - Dst: std::istringstream::fail
      Src: /src/PROJ/src/iso19111/internal.cpp:292,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/internal.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:306,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/internal.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:309,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/internal.cpp:309,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/internal.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:321,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/internal.cpp:321,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/internal.cpp:322,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:324,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/internal.cpp:324,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/internal.cpp:338,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/internal.cpp:338,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:340,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/internal.cpp:345,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/internal.cpp:345,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/internal.cpp:346,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:348,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/internal.cpp:349,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:350,1
    - Dst: std::ostringstream::clear
      Src: /src/PROJ/src/iso19111/internal.cpp:351,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/internal.cpp:352,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:354,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/internal.cpp:366,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/internal.cpp:375,1
    - Dst: strstr
      Src: /src/PROJ/src/iso19111/internal.cpp:376,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/internal.cpp:377,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/internal.cpp:404,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/internal.cpp:404,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/internal.cpp:405,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 412
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 0
    functionsReached:
    - strcasecmp
    - back
    - std::round
    - strncasecmp
    - std::string::replace
    - std::setprecision
    - std::ostringstream::str
    - EQUALN
    - find
    - std::locale::classic
    - _stricmp
    - _strnicmp
    - std::memcmp
    - static_cast<char>
    - std::ostringstream::imbue
    - std::fabs
    - std::string::find
    - substr
    - std::ostringstream::clear
    - static_cast<double>
    - strlen
    - std::invalid_argument
    - std::istringstream::fail
    - size
    - std::istringstream::imbue
    - std::istringstream::eof
    - std::vector::push_back
    - auto::find
    - sqlite3_snprintf
    - c_str
    - strstr
    - c_locale_stod
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:63,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:64,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/internal.cpp:67,1
    - Dst: std::string::replace
      Src: /src/PROJ/src/iso19111/internal.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str
    - before
    - after
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: replaceAll
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 37
    functionsReached:
    - std::string::replace
    - std::string::size
    - std::string::find
    linkageType: ''
    returnType: std::string
    signature: "std::string replaceAll(const std::string &str, const std::string &before,\n
      \                      const std::string &after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _strnicmp
      Src: /src/PROJ/src/iso19111/internal.cpp:79,1
    - Dst: strncasecmp
      Src: /src/PROJ/src/iso19111/internal.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: EQUALN
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 1
    functionsReached:
    - strncasecmp
    - _strnicmp
    linkageType: ''
    returnType: bool
    signature: bool EQUALN(const char *a, const char *b, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:89,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:90,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:93,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:93,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ci_equal
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 14
    functionsReached:
    - EQUALN
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool ci_equal(const std::string &a, const std::string &b) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:97,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:98,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: ci_equal
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 14
    functionsReached:
    - EQUALN
    - std::string::size
    - strlen
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool ci_equal(const std::string &a, const char *b) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:105,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:106,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: ci_equal
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 14
    functionsReached:
    - EQUALN
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool ci_equal(const char *a, const char *b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _stricmp
      Src: /src/PROJ/src/iso19111/internal.cpp:116,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:116,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:116,1
    - Dst: strcasecmp
      Src: /src/PROJ/src/iso19111/internal.cpp:118,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:118,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: ci_less
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - strcasecmp
    - _stricmp
    linkageType: ''
    returnType: bool
    signature: bool ci_less(const std::string &a, const std::string &b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/PROJ/src/iso19111/internal.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: tolower
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 11
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string tolower(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/PROJ/src/iso19111/internal.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: toupper
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 6
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string toupper(const std::string &str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:158,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/internal.cpp:158,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/internal.cpp:159,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: stripQuotes
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 1
    functionsReached:
    - std::string::back
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string stripQuotes(const std::string &str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:167,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:168,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - needle
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: ci_find
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 6
    functionsReached:
    - EQUALN
    - std::string::size
    - strlen
    - std::string::c_str
    linkageType: ''
    returnType: size_t
    signature: size_t ci_find(const std::string &str, const char *needle) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:180,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:181,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:182,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:182,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - str
    - needle
    - startPos
    argTypes:
    - std::string
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: ci_find
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 6
    functionsReached:
    - EQUALN
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: size_t
    signature: "size_t ci_find(const std::string &str, const std::string &needle,\n
      \              size_t startPos) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:215,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/internal.cpp:216,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: ci_starts_with
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 5
    functionsReached:
    - EQUALN
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool ci_starts_with(const char *str, const char *prefix) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:227,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:227,1
    - Dst: EQUALN
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: ci_starts_with
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 5
    functionsReached:
    - EQUALN
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: "bool ci_starts_with(const std::string &str,\n                    const
      std::string &prefix) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:236,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:236,1
    - Dst: std::memcmp
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/internal.cpp:239,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: ends_with
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 6
    functionsReached:
    - std::memcmp
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool ends_with(const std::string &str, const std::string &suffix) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/internal.cpp:247,1
    - Dst: std::invalid_argument
      Src: /src/PROJ/src/iso19111/internal.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: c_locale_stod
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 31
    functionsReached:
    - std::invalid_argument
    - c_locale_stod
    linkageType: ''
    returnType: double
    signature: double c_locale_stod(const std::string &s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:257,1
    - Dst: static_cast<double>
      Src: /src/PROJ/src/iso19111/internal.cpp:284,1
    - Dst: std::istringstream::imbue
      Src: /src/PROJ/src/iso19111/internal.cpp:289,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/internal.cpp:289,1
    - Dst: std::istringstream::eof
      Src: /src/PROJ/src/iso19111/internal.cpp:292,1
    - Dst: std::istringstream::fail
      Src: /src/PROJ/src/iso19111/internal.cpp:292,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - s
    - success
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 297
    functionName: c_locale_stod
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 31
    functionsReached:
    - std::istringstream::imbue
    - std::istringstream::eof
    - static_cast<double>
    - std::istringstream::fail
    - std::string::size
    - std::locale::classic
    linkageType: ''
    returnType: double
    signature: double c_locale_stod(const std::string &s, bool &success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/internal.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:306,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/internal.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:309,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/internal.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - separator
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: split
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 13
    functionsReached:
    - std::vector::push_back
    - std::string::find
    - std::string::substr
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string &str, char separator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/internal.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:321,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/internal.cpp:321,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/internal.cpp:322,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/internal.cpp:324,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/internal.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - separator
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: split
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 13
    functionsReached:
    - std::vector::push_back
    - std::string::find
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> split(const std::string &str,\n                               const
      std::string &separator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/internal.cpp:338,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/internal.cpp:338,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: toString
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 143
    functionsReached:
    - std::locale::classic
    - std::ostringstream::str
    - std::ostringstream::imbue
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/internal.cpp:345,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/internal.cpp:345,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/internal.cpp:346,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:348,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/internal.cpp:349,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:350,1
    - Dst: std::ostringstream::clear
      Src: /src/PROJ/src/iso19111/internal.cpp:351,1
    - Dst: std::setprecision
      Src: /src/PROJ/src/iso19111/internal.cpp:352,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/internal.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - val
    - precision
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: toString
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 143
    functionsReached:
    - auto::find
    - std::ostringstream::clear
    - std::setprecision
    - std::ostringstream::str
    - std::locale::classic
    - std::ostringstream::imbue
    linkageType: ''
    returnType: std::string
    signature: std::string toString(double val, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/internal.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: toString
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 143
    functionsReached:
    - sqlite3_snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/internal.cpp:375,1
    - Dst: strstr
      Src: /src/PROJ/src/iso19111/internal.cpp:376,1
    - Dst: sqlite3_snprintf
      Src: /src/PROJ/src/iso19111/internal.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - val
    - precision
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: toString
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 143
    functionsReached:
    - sqlite3_snprintf
    - strstr
    linkageType: ''
    returnType: std::string
    signature: std::string toString(double val, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: concat
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string concat(const char *a, const std::string &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - char*
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: concat
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string concat(const char *a, const std::string &b, const char
      *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/internal.cpp:404,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/internal.cpp:404,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/internal.cpp:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - year
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: getRoundedEpochInDecimalYear
    functionSourceFile: /src/PROJ/src/iso19111/internal.cpp
    functionUses: 2
    functionsReached:
    - std::round
    - std::fabs
    linkageType: ''
    returnType: double
    signature: double getRoundedEpochInDecimalYear(double year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/static.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: WKTConstants::createAndAddToConstantList
    functionSourceFile: /src/PROJ/src/iso19111/static.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: char
    signature: char *WKTConstants::createAndAddToConstantList(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: DEFINE_WKT_CONSTANT
    functionSourceFile: /src/PROJ/src/iso19111/static.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_WKT_CONSTANT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::datum::DatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::datum::DatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::datum::DatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::datum::DatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - BBCount: 202
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:81,1
    - Dst: std::make_shared<util::optional<common::Measure>>
      Src: /src/PROJ/src/iso19111/datum.cpp:94,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:115,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:116,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:117,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:124,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:125,1
    - Dst: convertToUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:127,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:128,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/datum.cpp:128,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:129,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:138,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:139,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:140,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:147,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:148,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:149,1
    - Dst: convertToUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:151,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:152,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/datum.cpp:152,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:160,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:166,1
    - Dst: std::make_shared<util::optional<common::Measure>>
      Src: /src/PROJ/src/iso19111/datum.cpp:258,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:267,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:268,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/datum.cpp:269,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:272,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:273,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:275,1
    - Dst: setAnchorEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:277,1
    - Dst: util::optional<common::Measure>
      Src: /src/PROJ/src/iso19111/datum.cpp:277,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/datum.cpp:278,1
    - Dst: ObjectUsage::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:281,1
    - Dst: dynamic_cast<const Datum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:290,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:292,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:296,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:297,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:300,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:301,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:302,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:302,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:306,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:307,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:310,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:311,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:312,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:313,1
    - Dst: conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:317,1
    - Dst: auto::conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:318,1
    - Dst: conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:321,1
    - Dst: auto::conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:321,1
    - Dst: conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:322,1
    - Dst: auto::conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:323,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:344,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:350,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:385,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/datum.cpp:392,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:392,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/datum.cpp:392,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/datum.cpp:398,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:398,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/datum.cpp:400,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/datum.cpp:406,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:406,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/datum.cpp:407,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:416,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/datum.cpp:417,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:417,1
    - Dst: primeMeridianOmittedIfGreenwich
      Src: /src/PROJ/src/iso19111/datum.cpp:419,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:421,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:421,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:423,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:425,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:427,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:429,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:430,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:435,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:436,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:438,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:447,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:451,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:452,1
    - Dst: primeMeridianInDegree
      Src: /src/PROJ/src/iso19111/datum.cpp:453,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:454,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:454,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:456,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:456,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:458,1
    - Dst: primeMeridianOrParameterUnitOmittedIfSameAsAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:460,1
    - Dst: axisAngularUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:462,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:463,1
    - Dst: primeMeridianInDegree
      Src: /src/PROJ/src/iso19111/datum.cpp:465,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:466,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:468,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:469,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:471,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:482,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:484,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:484,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:486,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/datum.cpp:488,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:488,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:489,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:491,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:492,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:493,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:495,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:495,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:497,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:498,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:499,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:499,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:500,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:501,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:504,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:505,1
    - Dst: getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:515,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/datum.cpp:517,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/src/iso19111/datum.cpp:518,1
    - Dst: dmstor_ctx
      Src: /src/PROJ/src/iso19111/datum.cpp:520,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:521,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/datum.cpp:526,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:537,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:539,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:540,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:543,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:544,1
    - Dst: dynamic_cast<const PrimeMeridian *>
      Src: /src/PROJ/src/iso19111/datum.cpp:556,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:558,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:564,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:564,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:600,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:607,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:615,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:622,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:631,1
    - Dst: inverseFlattening_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:691,1
    - Dst: inverseFlattening_::value
      Src: /src/PROJ/src/iso19111/datum.cpp:692,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:695,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:696,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:696,1
    - Dst: inverseFlattening_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:725,1
    - Dst: inverseFlattening_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:726,1
    - Dst: semiMinorAxis_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:729,1
    - Dst: semiMajorAxis_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:730,1
    - Dst: semiMinorAxis_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:731,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:745,1
    - Dst: semiMinorAxis_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:762,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:766,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:767,1
    - Dst: inverseFlattening_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:768,1
    - Dst: semiMajorAxis_::value
      Src: /src/PROJ/src/iso19111/datum.cpp:769,1
    - Dst: semiMajorAxis_::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:770,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:800,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/datum.cpp:820,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:823,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:828,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:851,1
    - Dst: createTwoAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:858,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:858,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:859,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:859,1
    - Dst: createFlattenedSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:865,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:865,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:866,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/datum.cpp:867,1
    - Dst: createFlattenedSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:873,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:873,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:874,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/datum.cpp:875,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:884,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:885,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:887,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:890,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:891,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:893,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:898,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:900,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:902,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:903,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:908,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:909,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:910,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:920,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:924,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:926,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:928,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:928,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:930,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:930,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:932,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:932,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:933,1
    - Dst: ellipsoidUnitOmittedIfMetre
      Src: /src/PROJ/src/iso19111/datum.cpp:934,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:936,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:938,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:939,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:942,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:952,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:954,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:954,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:956,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:957,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:958,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:959,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:961,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:964,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:965,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:966,1
    - Dst: isSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:966,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:968,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:968,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:970,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:971,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:972,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:972,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:974,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:975,1
    - Dst: isSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:978,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:979,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:980,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:981,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:982,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:982,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:984,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:988,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/datum.cpp:988,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:990,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:991,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:992,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/datum.cpp:992,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:994,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:995,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:1000,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:1001,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1010,1
    - Dst: computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1011,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1012,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/iso19111/datum.cpp:1013,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:1015,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/datum.cpp:1015,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:1016,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1017,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/datum.cpp:1018,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:1019,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1020,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1023,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:1029,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/datum.cpp:1029,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:1030,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1031,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1034,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1051,1
    - Dst: lookForProjWellKnownEllps
      Src: /src/PROJ/src/iso19111/datum.cpp:1055,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1056,1
    - Dst: isSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:1060,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1061,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1063,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1064,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1065,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1066,1
    - Dst: computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1068,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1069,1
    - Dst: Ellipsoid::nn_make_shared<Ellipsoid>
      Src: /src/PROJ/src/iso19111/datum.cpp:1083,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/datum.cpp:1084,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/datum.cpp:1085,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/datum.cpp:1087,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1087,1
    - Dst: lookForProjWellKnownEllps
      Src: /src/PROJ/src/iso19111/datum.cpp:1090,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1091,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:1092,1
    - Dst: dynamic_cast<const Ellipsoid *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1105,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1108,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1115,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1116,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1117,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1117,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1118,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1119,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1120,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1120,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1121,1
    - Dst: computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1122,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1125,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1125,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1130,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1131,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1132,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1132,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1133,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1139,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1141,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1142,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1143,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1144,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1151,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1151,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1155,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1156,1
    - Dst: computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1161,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1162,1
    - Dst: semiMedianAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1167,1
    - Dst: auto::semiMedianAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1168,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1169,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1169,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1172,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1172,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1173,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1187,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1193,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1193,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1194,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1195,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:1196,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1199,1
    - Dst: static_cast<const Ellipsoid *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1201,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1201,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1202,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1202,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/datum.cpp:1204,1
    - Dst: auto::identifyBodyFromSemiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1208,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1234,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1241,1
    - Dst: GeodeticReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:1296,1
    - Dst: GeodeticReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1297,1
    - Dst: GeodeticReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:1322,1
    - Dst: GeodeticReferenceFrameNNPtr::setAnchorEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1323,1
    - Dst: GeodeticReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1324,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/datum.cpp:1331,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:1331,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1332,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/datum.cpp:1339,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:1339,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1340,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/datum.cpp:1347,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:1347,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1348,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:1358,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1359,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1360,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1360,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1362,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:1366,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:1371,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:1373,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1376,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:1377,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/datum.cpp:1379,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:1380,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/datum.cpp:1381,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1382,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:1383,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1389,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1390,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:1391,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1400,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1403,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1404,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/datum.cpp:1404,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1405,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1407,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1408,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1413,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1414,1
    - Dst: auto::createObjectsFromNameEx
      Src: /src/PROJ/src/iso19111/datum.cpp:1416,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1426,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1427,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1428,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1429,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/datum.cpp:1430,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1431,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1433,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1434,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:1443,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1444,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1452,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1452,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:1453,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1454,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:1455,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1458,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1458,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:1462,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1467,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1468,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1469,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1470,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1471,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1472,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1473,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1473,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:1474,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1484,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1486,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1488,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:1489,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1490,1
    - Dst: getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/datum.cpp:1493,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1494,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1495,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:1497,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1499,1
    - Dst: getHDatumExtension
      Src: /src/PROJ/src/iso19111/datum.cpp:1501,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1502,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1503,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1504,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1505,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1506,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:1509,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:1510,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1513,1
    - Dst: isAtTopLevel
      Src: /src/PROJ/src/iso19111/datum.cpp:1515,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1517,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:1518,1
    - Dst: dynamic_cast<const DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1530,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:1532,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1534,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:1535,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1537,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1538,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1539,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:1540,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:1542,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1545,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1546,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1549,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:1550,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1550,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1553,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/datum.cpp:1554,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1555,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1558,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1559,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/datum.cpp:1560,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1561,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:1564,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1575,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1577,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1580,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1580,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1582,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1582,1
    - Dst: util::isOfExactType<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:1592,1
    - Dst: isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:1595,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1610,1
    - Dst: auto::getName
      Src: /src/PROJ/src/iso19111/datum.cpp:1612,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1613,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1613,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1615,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1615,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1615,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1616,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1620,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1621,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1622,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1626,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1627,1
    - Dst: isNameMatching
      Src: /src/PROJ/src/iso19111/datum.cpp:1635,1
    - Dst: isNameMatching
      Src: /src/PROJ/src/iso19111/datum.cpp:1635,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1642,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1642,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1642,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1643,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1644,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1646,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1647,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1662,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1663,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1669,1
    - Dst: compareFromThisId
      Src: /src/PROJ/src/iso19111/datum.cpp:1670,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1674,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1676,1
    - Dst: compareFromThisId
      Src: /src/PROJ/src/iso19111/datum.cpp:1678,1
    - Dst: compareFromThisName
      Src: /src/PROJ/src/iso19111/datum.cpp:1684,1
    - Dst: compareFromThisName
      Src: /src/PROJ/src/iso19111/datum.cpp:1685,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1694,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1694,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1696,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1696,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1698,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1699,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1700,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1700,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/datum.cpp:1701,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1701,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1703,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1704,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1704,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1705,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/datum.cpp:1706,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1706,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/datum.cpp:1708,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1708,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1708,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1732,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1741,1
    - Dst: util::isOfExactType<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:1785,1
    - Dst: GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:1788,1
    - Dst: dynamic_cast<const DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1792,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1798,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1799,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1800,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1801,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1802,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:1812,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:1813,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1814,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1815,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:1816,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1817,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1818,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1819,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1820,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1821,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1822,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1822,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1823,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1825,1
    - Dst: GeodeticReferenceFrame::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:1827,1
    - Dst: DynamicGeodeticReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:1855,1
    - Dst: DynamicGeodeticReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1856,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1877,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1883,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1932,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/datum.cpp:1945,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1946,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:1946,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1948,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1950,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1953,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1954,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1954,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/datum.cpp:1956,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1956,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/src/iso19111/datum.cpp:1958,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1958,1
    - Dst: ensembleNameToNonEnsembleName
      Src: /src/PROJ/src/iso19111/datum.cpp:1968,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1969,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:1970,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:1973,1
    - Dst: isDeprecated
      Src: /src/PROJ/src/iso19111/datum.cpp:1974,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/datum.cpp:1975,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1977,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/datum.cpp:1979,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1979,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1980,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/datum.cpp:1982,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1983,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/datum.cpp:1987,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/datum.cpp:1989,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/datum.cpp:1990,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1992,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1995,1
    - Dst: auto*::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1995,1
    - Dst: auto*::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1996,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:1998,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1998,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:1998,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1999,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:2010,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2011,1
    - Dst: asDatum
      Src: /src/PROJ/src/iso19111/datum.cpp:2012,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2012,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/datum.cpp:2015,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:2016,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2016,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2018,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2019,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2020,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2021,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2023,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2027,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2028,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2029,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2030,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2031,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2033,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:2035,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2036,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2038,1
    - Dst: std::dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2041,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/datum.cpp:2042,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2044,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2047,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:2048,1
    - Dst: positionalAccuracy
      Src: /src/PROJ/src/iso19111/datum.cpp:2048,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2049,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:2054,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2055,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2058,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2069,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2069,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2070,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2072,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2073,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2074,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2075,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2077,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/datum.cpp:2080,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2081,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2083,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2085,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2086,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2087,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2088,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2089,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2091,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2093,1
    - Dst: std::dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2097,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/datum.cpp:2098,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2100,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/datum.cpp:2101,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2102,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2105,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2106,1
    - Dst: positionalAccuracy
      Src: /src/PROJ/src/iso19111/datum.cpp:2106,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2108,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/datum.cpp:2128,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2129,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2132,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2132,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/datum.cpp:2133,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2135,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2135,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2137,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2140,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2141,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2142,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:2145,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:2146,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2147,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2152,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2152,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/datum.cpp:2153,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2154,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2154,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2155,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2162,1
    - Dst: CodeList::operator=
      Src: /src/PROJ/src/iso19111/datum.cpp:2175,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2194,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/datum.cpp:2195,1
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2234,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2235,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:2236,1
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2259,1
    - Dst: auto::setAnchorEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2260,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2261,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:2262,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:2280,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2281,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:2282,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2285,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2287,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:2288,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2290,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:2292,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2294,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:2295,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:2300,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:2301,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:2302,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:2312,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2315,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2317,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2320,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2321,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2322,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:2324,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:2325,1
    - Dst: getVDatumExtension
      Src: /src/PROJ/src/iso19111/datum.cpp:2326,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2327,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2328,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2329,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2330,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2331,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:2334,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2335,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2337,1
    - Dst: dynamic_cast<const DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2347,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2349,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2351,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2352,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2354,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2355,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2356,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2357,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2359,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2362,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2363,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2366,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2367,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2367,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2370,1
    - Dst: dynamic_cast<const VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2380,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2382,1
    - Dst: realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2385,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2386,1
    - Dst: realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2389,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2390,1
    - Dst: realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2391,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2391,1
    - Dst: util::isOfExactType<VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2404,1
    - Dst: isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:2407,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2431,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2440,1
    - Dst: util::isOfExactType<DynamicVerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2484,1
    - Dst: VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:2487,1
    - Dst: dynamic_cast<const DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2491,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2497,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2498,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:2499,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2500,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2501,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:2511,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2512,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2513,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2514,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:2515,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2516,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2517,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2518,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2519,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2520,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2520,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2521,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2523,1
    - Dst: VerticalReferenceFrame::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:2525,1
    - Dst: DynamicVerticalReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2552,1
    - Dst: DynamicVerticalReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2553,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2574,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2621,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:2631,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/datum.cpp:2633,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2636,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2636,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2637,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2637,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2638,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2639,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2640,1
    - Dst: calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2640,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2641,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2644,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2645,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2646,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2647,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:2648,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2650,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2652,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2655,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2666,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2666,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2667,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2669,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2670,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2670,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2672,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2673,1
    - Dst: calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2673,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2675,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2676,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2677,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2678,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2681,1
    - Dst: dynamic_cast<const TemporalDatum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2691,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2693,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2696,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2697,1
    - Dst: calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2698,1
    - Dst: auto::calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2698,1
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2731,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2732,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:2742,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2743,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2745,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2746,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2746,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2748,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/datum.cpp:2753,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2755,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2765,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2766,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2767,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2769,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2770,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2770,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2772,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2774,1
    - Dst: dynamic_cast<const EngineeringDatum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2784,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2789,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2789,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2790,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2791,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2794,1
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2827,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2828,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/datum.cpp:2838,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/datum.cpp:2840,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2843,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2843,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2844,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2844,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2845,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2846,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2856,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2857,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2858,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2860,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2861,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2861,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2863,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2865,1
    - Dst: dynamic_cast<const ParametricDatum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2875,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2877,1
    CyclomaticComplexity: 285
    EdgeCount: 285
    ICount: 1012
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (strncmp(proj_ellps[i].major, "a=", 2) == 0)
      pos:
        line_end: 1014
        line_start: 1014
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - condition: (dynamic_cast<VerticalReferenceFrame *>(l_datums[0].get()))
      pos:
        line_end: 1997
        line_start: 1997
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - condition: (!l_datums.empty())
      pos:
        line_end: 2015
        line_start: 2015
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - condition: (strncmp(proj_ellps[i].ell, "rf=", 3) == 0)
      pos:
        line_end: 1028
        line_start: 1028
        source_file: /src/PROJ/src/iso19111/datum.cpp
    constantsTouched: []
    func_position:
      end: 2884
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 2884
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - addParam
    - proj_list_ellps
    - getVDatumExtension
    - std::make_shared<util::optional<common::Measure>>
    - auto::frameReferenceEpoch
    - setOmitTypeInImmediateChild
    - auto::add
    - VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
    - auto::temporalOrigin
    - util::optional<common::Measure>
    - util::Exception
    - createFlattenedSphere
    - std::string::substr
    - dynamic_cast<const GeodeticReferenceFrame *>
    - version
    - create
    - semiMajorAxis_::unit
    - temporalOrigin
    - auto::setProperties
    - outputId
    - createMapNameEPSGCode
    - auto::createObjectsFromNameEx
    - auto::identifyBodyFromSemiMajorAxis
    - std::string
    - util::isOfExactType<VerticalReferenceFrame>
    - use2019Keywords
    - util::optional<std::string>
    - std::string::empty
    - semiMajorAxis_::getSIValue
    - auto::set
    - DynamicGeodeticReferenceFrameNNPtr::setProperties
    - GeodeticReferenceFrameNNPtr::setAnchor
    - VerticalReferenceFrame::_exportToWKT
    - as_nullable
    - auto::MakeArrayContext
    - computedInverseFlattening
    - c_str
    - semiMinorAxis_::has_value
    - auto::anchorDefinition
    - has_value
    - getSIValue
    - starts_with
    - dmstor_ctx
    - auto::createObjectsFromName
    - primeMeridianInDegree
    - inverseFlattening_::value
    - _exportToWKT
    - deformationModelName
    - auto::semiMedianAxis
    - toString
    - proj_context_destroy
    - createLength
    - convertToUnit
    - NN_NO_CHECK
    - proj_context_create
    - dynamic_cast<const PrimeMeridian *>
    - auto::code
    - auto::computeSemiMinorAxis
    - auto::deformationModelName
    - auto::has_value
    - value
    - auto::convertToUnit
    - getTOWGS84Parameters
    - DynamicVerticalReferenceFrameNNPtr::setAnchor
    - std::string::find
    - writer
    - assert
    - auto::assignSelf
    - std::make_unique<Private>
    - auto::getAliasFromOfficialName
    - util::isOfExactType<DynamicGeodeticReferenceFrame>
    - auto::semiMajorAxis
    - MakeObjectContext
    - auto::conventionalRS
    - anchorDefinition
    - util::nn_static_pointer_cast<util::BaseObject>
    - auto*::primeMeridian
    - size
    - dynamic_cast<const EngineeringDatum *>
    - dynamic_cast<const DynamicVerticalReferenceFrame *>
    - semiMajorAxis_::value
    - auto::primeMeridian
    - auto::codeSpace
    - dynamic_cast<const TemporalDatum *>
    - formatID
    - semiMedianAxis
    - positionalAccuracy
    - AuthorityFactory::createUnitOfMeasure
    - dynamic_cast<const Ellipsoid *>
    - IdentifiedObject::_isEquivalentTo
    - Datum::_isEquivalentTo
    - endNode
    - dynamic_cast<VerticalReferenceFrame *>
    - auto::ellipsoid
    - get
    - WKTFormatter::morphNameToESRI
    - isDeprecated
    - Scale::Scale
    - domains
    - auto::identifiers
    - auto::AddObjKey
    - Identifier::isEquivalentName
    - FormattingException::FormattingException
    - auto::longitude
    - auto::celestialBody
    - identifiers
    - inverseFlattening_::has_value
    - strncmp
    - PropertyMap::PropertyMap
    - semiMajorAxis
    - ObjectUsage::setProperties
    - lookForProjWellKnownEllps
    - getRoundedEpochInDecimalYear
    - Datum::getPrivate
    - auto::inverseFlattening
    - VerticalReferenceFrame::create
    - addQuotedString
    - std::fabs
    - code
    - auto::computedInverseFlattening
    - auto::createGeodeticDatum
    - DynamicGeodeticReferenceFrameNNPtr::setAnchor
    - semiMinorAxis_::getSIValue
    - frameReferenceEpoch
    - datums
    - GeodeticReferenceFrame::create
    - auto::createVerticalDatum
    - ellipsoid
    - computeSemiMinorAxis
    - add
    - createAngle
    - primeMeridian
    - auto::setAnchorEpoch
    - util::isOfExactType<DynamicVerticalReferenceFrame>
    - ::fabs
    - useESRIDialect
    - auto*::ellipsoid
    - isNameMatching
    - realizationMethod
    - proj_list_prime_meridians
    - longitude
    - createTwoAxis
    - static_cast<const Ellipsoid *>
    - GeodeticReferenceFrameNNPtr::setAnchorEpoch
    - auto::publicationDate
    - c_locale_stod
    - getStringValue
    - auto::unit
    - auto::MakeObjectContext
    - auto::empty
    - conventionalRS
    - auto::value
    - semiMinorAxis
    - std::string::c_str
    - GeodeticReferenceFrame::_exportToWKT
    - _exportToJSON
    - dynamic_cast<const Datum *>
    - primeMeridianOmittedIfGreenwich
    - ci_starts_with
    - dynamic_cast<const VerticalReferenceFrame *>
    - compare
    - isAtTopLevel
    - nameStr
    - codeSpace
    - compareFromThisId
    - axisAngularUnit
    - CodeList::operator=
    - auto::nameStr
    - dynamic_cast<const ParametricDatum *>
    - auto::_isEquivalentTo
    - inverseFlattening_::getSIValue
    - std::move
    - auto::Add
    - getHDatumExtension
    - std::dynamic_pointer_cast<GeodeticReferenceFrame>
    - databaseContext
    - util::isOfExactType<GeodeticReferenceFrame>
    - auto::realizationMethod
    - auto::semiMinorAxis
    - ensembleNameToNonEnsembleName
    - setAnchorEpoch
    - ObjectUsage::_isEquivalentTo
    - GeodeticReferenceFrameNNPtr::setProperties
    - calendar
    - auto::front
    - auto::size
    - auto::setAnchor
    - isSphere
    - ellipsoidUnitOmittedIfMetre
    - inverseFlattening
    - dynamic_cast<const DynamicGeodeticReferenceFrame *>
    - DynamicVerticalReferenceFrameNNPtr::setProperties
    - publicationDate
    - auto::getAliases
    - auto::getName
    - auto::_exportToJSON
    - auto::getSIValue
    - auto::calendar
    - DateTime::create
    - name
    - startNode
    - auto::_exportToWKT
    - ObjectUsage::baseExportToJSON
    - Ellipsoid::nn_make_shared<Ellipsoid>
    - isEquivalentToNoExactTypeCheck
    - compareFromThisName
    - GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
    - asDatum
    - AuthorityFactory::create
    - primeMeridianOrParameterUnitOmittedIfSameAsAxis
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 3
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMapNameEPSGCode(const char *name, int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:115,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:116,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: Datum::Private::exportAnchorDefinition(io::WKTFormatter *formatter)
      const
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::addQuotedString
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    linkageType: ''
    returnType: void
    signature: void Datum::Private::exportAnchorDefinition(io::WKTFormatter *formatter)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:124,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:125,1
    - Dst: convertToUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:127,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:128,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/datum.cpp:128,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: Datum::Private::exportAnchorEpoch(io::WKTFormatter *formatter) const
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - has_value
    - io::WKTFormatter*::startNode
    - getRoundedEpochInDecimalYear
    - io::WKTFormatter*::add
    - convertToUnit
    linkageType: ''
    returnType: void
    signature: void Datum::Private::exportAnchorEpoch(io::WKTFormatter *formatter)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:138,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:139,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: "Datum::Private::exportAnchorDefinition(\n    io::JSONFormatter
      *formatter) const"
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - io::JSONFormatter*::writer
    - auto::Add
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void Datum::Private::exportAnchorDefinition(\n    io::JSONFormatter
      *formatter) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:147,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:148,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:149,1
    - Dst: convertToUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:151,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:152,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/datum.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: Datum::Private::exportAnchorEpoch(io::JSONFormatter *formatter)
      const
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - auto::Add
    - getRoundedEpochInDecimalYear
    - io::JSONFormatter*::writer
    - convertToUnit
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: void Datum::Private::exportAnchorEpoch(io::JSONFormatter *formatter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Datum::Datum
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Datum::Datum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: Datum::Datum
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Datum::Datum(const Datum &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Datum::~Datum()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Datum::~Datum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '&Datum::anchorDefinition() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<std::string>
    signature: util::optional<std::string> &Datum::anchorDefinition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '&Datum::anchorEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::Measure>
    signature: util::optional<common::Measure> &Datum::anchorEpoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: '&Datum::publicationDate() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::DateTime>
    signature: util::optional<common::DateTime> &Datum::publicationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: '&Datum::conventionalRS() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::IdentifiedObjectPtr
    signature: common::IdentifiedObjectPtr &Datum::conventionalRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - anchor
    argTypes:
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: Datum::setAnchor
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Datum::setAnchor(const util::optional<std::string> &anchor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<util::optional<common::Measure>>
      Src: /src/PROJ/src/iso19111/datum.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - anchorEpoch
    argTypes:
    - util::optional<common::Measure>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: Datum::setAnchorEpoch
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<util::optional<common::Measure>>
    linkageType: ''
    returnType: void
    signature: void Datum::setAnchorEpoch(const util::optional<common::Measure> &anchorEpoch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:267,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:268,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/datum.cpp:269,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:272,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:273,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:275,1
    - Dst: Datum::setAnchorEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:277,1
    - Dst: util::optional<common::Measure>
      Src: /src/PROJ/src/iso19111/datum.cpp:277,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/datum.cpp:278,1
    - Dst: ObjectUsage::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: Datum::setProperties
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - Datum::setAnchorEpoch
    - DateTime::create
    - c_locale_stod
    - ObjectUsage::setProperties
    - AuthorityFactory::createUnitOfMeasure
    - util::optional<common::Measure>
    - util::PropertyMap::getStringValue
    linkageType: ''
    returnType: void
    signature: "void Datum::setProperties(\n    const util::PropertyMap &properties)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Datum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:290,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:292,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:296,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:297,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:300,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:301,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:302,1
    - Dst: auto::anchorDefinition
      Src: /src/PROJ/src/iso19111/datum.cpp:302,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:306,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:307,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:310,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:311,1
    - Dst: publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:312,1
    - Dst: auto::publicationDate
      Src: /src/PROJ/src/iso19111/datum.cpp:313,1
    - Dst: conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:317,1
    - Dst: auto::conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:318,1
    - Dst: conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:321,1
    - Dst: auto::conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:321,1
    - Dst: conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:322,1
    - Dst: auto::conventionalRS
      Src: /src/PROJ/src/iso19111/datum.cpp:323,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 328
    functionName: Datum::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 1
    functionsReached:
    - auto::anchorDefinition
    - dynamic_cast<const Datum *>
    - auto::publicationDate
    - ObjectUsage::_isEquivalentTo
    - publicationDate
    - conventionalRS
    - auto::conventionalRS
    - anchorDefinition
    linkageType: ''
    returnType: bool
    signature: "bool Datum::_isEquivalentTo(const util::IComparable *other,\n                            util::IComparable::Criterion
      criterion,\n                            const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - longitude
    argTypes:
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const common::Angle &longitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - longitudeIn
    argTypes:
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: PrimeMeridian::PrimeMeridian
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void PrimeMeridian::PrimeMeridian(const common::Angle &longitudeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - PrimeMeridian
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: PrimeMeridian::PrimeMeridian
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void PrimeMeridian::PrimeMeridian(const PrimeMeridian &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: PrimeMeridian::~PrimeMeridian()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrimeMeridian::~PrimeMeridian()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: '&PrimeMeridian::longitude()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::Angle
    signature: common::Angle &PrimeMeridian::longitude()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - properties
    - longitudeIn
    argTypes:
    - util::PropertyMap
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: PrimeMeridian::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 6
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: "PrimeMeridianNNPtr PrimeMeridian::create(const util::PropertyMap &properties,\n
      \                                        const common::Angle &longitudeIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/datum.cpp:392,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:392,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/datum.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: PrimeMeridian::createGREENWICH
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - PrimeMeridian::create
    - createAngle
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: PrimeMeridianNNPtr PrimeMeridian::createGREENWICH()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/datum.cpp:398,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:398,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/datum.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: PrimeMeridian::createREFERENCE_MERIDIAN
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - PrimeMeridian::create
    - createAngle
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: PrimeMeridianNNPtr PrimeMeridian::createREFERENCE_MERIDIAN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/datum.cpp:406,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:406,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/datum.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: PrimeMeridian::createPARIS
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - PrimeMeridian::create
    - createAngle
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: PrimeMeridianNNPtr PrimeMeridian::createPARIS()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:416,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/datum.cpp:417,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:417,1
    - Dst: io::WKTFormatter*::primeMeridianOmittedIfGreenwich
      Src: /src/PROJ/src/iso19111/datum.cpp:419,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:421,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:421,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:423,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:425,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:427,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:429,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:430,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:435,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:436,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:438,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:447,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:451,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:452,1
    - Dst: io::WKTFormatter*::primeMeridianInDegree
      Src: /src/PROJ/src/iso19111/datum.cpp:453,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:454,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:454,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:456,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:456,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:458,1
    - Dst: io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:460,1
    - Dst: io::WKTFormatter*::axisAngularUnit
      Src: /src/PROJ/src/iso19111/datum.cpp:462,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:463,1
    - Dst: io::WKTFormatter*::primeMeridianInDegree
      Src: /src/PROJ/src/iso19111/datum.cpp:465,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:466,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:468,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:469,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:471,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 473
    functionName: PrimeMeridian::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - nameStr
    - NN_NO_CHECK
    - io::WKTFormatter*::databaseContext
    - auto::convertToUnit
    - std::move
    - io::WKTFormatter*::axisAngularUnit
    - auto::getAliasFromOfficialName
    - io::WKTFormatter*::outputId
    - io::WKTFormatter*::addQuotedString
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - formatID
    - io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
    - longitude
    - io::WKTFormatter*::useESRIDialect
    - WKTFormatter::morphNameToESRI
    - auto::createObjectsFromName
    - auto::unit
    - name
    - io::WKTFormatter*::primeMeridianInDegree
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - io::WKTFormatter*::primeMeridianOmittedIfGreenwich
    - auto::empty
    - auto::value
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void PrimeMeridian::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:482,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:484,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:484,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:486,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/datum.cpp:488,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:488,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:489,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:491,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:492,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:493,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:495,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:495,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:497,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:498,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:499,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:499,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:500,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:501,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:504,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 507
    functionName: PrimeMeridian::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - auto::_exportToJSON
    - longitude
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - name
    - io::JSONFormatter*::writer
    - auto::unit
    - io::JSONFormatter*::outputId
    - formatID
    - auto::AddObjKey
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void PrimeMeridian::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: common::Angle::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:515,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/datum.cpp:517,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/src/iso19111/datum.cpp:518,1
    - Dst: dmstor_ctx
      Src: /src/PROJ/src/iso19111/datum.cpp:520,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:521,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/datum.cpp:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - angle
    argTypes:
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 528
    functionName: PrimeMeridian::getPROJStringWellKnownName
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - proj_list_prime_meridians
    - common::Angle::getSIValue
    - dmstor_ctx
    - proj_context_destroy
    - proj_context_create
    - ::fabs
    linkageType: ''
    returnType: std::string
    signature: std::string PrimeMeridian::getPROJStringWellKnownName(const common::Angle
      &angle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:537,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:539,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:540,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:543,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 547
    functionName: PrimeMeridian::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - longitude
    - io::PROJStringFormatter*::addParam
    linkageType: ''
    returnType: void
    signature: "void PrimeMeridian::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const PrimeMeridian *>
      Src: /src/PROJ/src/iso19111/datum.cpp:556,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:558,1
    - Dst: longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:564,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/datum.cpp:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 565
    functionName: PrimeMeridian::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - longitude
    - dynamic_cast<const PrimeMeridian *>
    - auto::longitude
    - IdentifiedObject::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool PrimeMeridian::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - radius
    - celestialBody
    argTypes:
    - common::Length
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const common::Length &radius,\n                     const
      std::string &celestialBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - semiMajorAxisIn
    - invFlattening
    - celestialBody
    argTypes:
    - common::Length
    - common::Scale
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 586
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const common::Length &semiMajorAxisIn,\n            const
      common::Scale &invFlattening,\n            const std::string &celestialBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - semiMajorAxisIn
    - semiMinorAxisIn
    - celestialBody
    argTypes:
    - common::Length
    - common::Length
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const common::Length &semiMajorAxisIn,\n            const
      common::Length &semiMinorAxisIn,\n            const std::string &celestialBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - radius
    - celestialBodyIn
    argTypes:
    - common::Length
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: Ellipsoid::Ellipsoid
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void Ellipsoid::Ellipsoid(const common::Length &radius,\n                     const
      std::string &celestialBodyIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - semiMajorAxisIn
    - invFlattening
    - celestialBodyIn
    argTypes:
    - common::Length
    - common::Scale
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: Ellipsoid::Ellipsoid
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void Ellipsoid::Ellipsoid(const common::Length &semiMajorAxisIn,\n
      \                    const common::Scale &invFlattening,\n                     const
      std::string &celestialBodyIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - semiMajorAxisIn
    - semiMinorAxisIn
    - celestialBodyIn
    argTypes:
    - common::Length
    - common::Length
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: Ellipsoid::Ellipsoid
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void Ellipsoid::Ellipsoid(const common::Length &semiMajorAxisIn,\n
      \                    const common::Length &semiMinorAxisIn,\n                     const
      std::string &celestialBodyIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Ellipsoid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 622
    functionName: Ellipsoid::Ellipsoid
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Ellipsoid::Ellipsoid(const Ellipsoid &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: Ellipsoid::~Ellipsoid()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ellipsoid::~Ellipsoid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Ellipsoid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: Ellipsoid::Ellipsoid
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Ellipsoid::Ellipsoid(const Ellipsoid &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: '&Ellipsoid::semiMajorAxis()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::Length
    signature: common::Length &Ellipsoid::semiMajorAxis()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: '&

      Ellipsoid::inverseFlattening()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::Scale>
    signature: 'util::optional<common::Scale> &

      Ellipsoid::inverseFlattening()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: '&

      Ellipsoid::semiMinorAxis()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::Length>
    signature: 'util::optional<common::Length> &

      Ellipsoid::semiMinorAxis()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inverseFlattening_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:691,1
    - Dst: inverseFlattening_::value
      Src: /src/PROJ/src/iso19111/datum.cpp:692,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:695,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:696,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 700
    functionName: Ellipsoid::isSphere
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - semiMajorAxis
    - inverseFlattening_::has_value
    - inverseFlattening_::value
    - semiMinorAxis
    linkageType: ''
    returnType: bool
    signature: bool Ellipsoid::isSphere()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: '&

      Ellipsoid::semiMedianAxis()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::Length>
    signature: 'util::optional<common::Length> &

      Ellipsoid::semiMedianAxis()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inverseFlattening_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:725,1
    - Dst: inverseFlattening_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:726,1
    - Dst: semiMinorAxis_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:729,1
    - Dst: semiMajorAxis_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:730,1
    - Dst: semiMinorAxis_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 736
    functionName: Ellipsoid::computedInverseFlattening
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - semiMinorAxis_::has_value
    - inverseFlattening_::has_value
    - semiMajorAxis_::getSIValue
    - inverseFlattening_::getSIValue
    - semiMinorAxis_::getSIValue
    linkageType: ''
    returnType: double
    signature: double Ellipsoid::computedInverseFlattening()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 750
    functionName: Ellipsoid::squaredEccentricity
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - Ellipsoid::computedInverseFlattening
    linkageType: ''
    returnType: double
    signature: double Ellipsoid::squaredEccentricity()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: semiMinorAxis_::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:762,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:766,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:767,1
    - Dst: inverseFlattening_::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:768,1
    - Dst: semiMajorAxis_::value
      Src: /src/PROJ/src/iso19111/datum.cpp:769,1
    - Dst: semiMajorAxis_::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: Ellipsoid::computeSemiMinorAxis
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - semiMinorAxis_::has_value
    - inverseFlattening_::getSIValue
    - semiMajorAxis_::value
    - semiMajorAxis_::unit
    - createLength
    - inverseFlattening
    linkageType: ''
    returnType: common::Length
    signature: common::Length Ellipsoid::computeSemiMinorAxis() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 783
    functionName: '&Ellipsoid::celestialBody()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &Ellipsoid::celestialBody()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - radius
    - celestialBody
    argTypes:
    - util::PropertyMap
    - common::Length
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 802
    functionName: Ellipsoid::createSphere
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 6
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: "EllipsoidNNPtr Ellipsoid::createSphere(const util::PropertyMap &properties,\n
      \                                      const common::Length &radius,\n                                       const
      std::string &celestialBody)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: common::Scale::value
      Src: /src/PROJ/src/iso19111/datum.cpp:820,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:823,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - properties
    - semiMajorAxisIn
    - invFlattening
    - celestialBody
    argTypes:
    - util::PropertyMap
    - common::Length
    - common::Scale
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 831
    functionName: Ellipsoid::createFlattenedSphere
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 11
    functionsReached:
    - common::Scale::value
    - auto::setProperties
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: "EllipsoidNNPtr Ellipsoid::createFlattenedSphere(\n    const util::PropertyMap
      &properties, const common::Length &semiMajorAxisIn,\n    const common::Scale
      &invFlattening, const std::string &celestialBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - properties
    - semiMajorAxisIn
    - semiMinorAxisIn
    - celestialBody
    argTypes:
    - util::PropertyMap
    - common::Length
    - common::Length
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionName: Ellipsoid::createTwoAxis
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 7
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: "EllipsoidNNPtr Ellipsoid::createTwoAxis(const util::PropertyMap &properties,\n
      \                                       const common::Length &semiMajorAxisIn,\n
      \                                       const common::Length &semiMinorAxisIn,\n
      \                                       const std::string &celestialBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:858,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:858,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:859,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: Ellipsoid::createCLARKE_1866
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - Ellipsoid::createTwoAxis
    - createMapNameEPSGCode
    - createLength
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr Ellipsoid::createCLARKE_1866()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:865,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:865,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:866,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/datum.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: Ellipsoid::createWGS84
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - Scale::Scale
    - createMapNameEPSGCode
    - Ellipsoid::createFlattenedSphere
    - createLength
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr Ellipsoid::createWGS84()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:873,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:873,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/datum.cpp:874,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/datum.cpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: Ellipsoid::createGRS1980
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - Scale::Scale
    - createMapNameEPSGCode
    - Ellipsoid::createFlattenedSphere
    - createLength
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr Ellipsoid::createGRS1980()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:884,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:885,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:887,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:890,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:891,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:893,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:898,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:900,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:902,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:903,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:908,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:909,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:910,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:920,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:924,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:926,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:928,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:928,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:930,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:930,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:932,1
    - Dst: Ellipsoid::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:932,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:933,1
    - Dst: io::WKTFormatter*::ellipsoidUnitOmittedIfMetre
      Src: /src/PROJ/src/iso19111/datum.cpp:934,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:936,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:938,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:939,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:942,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 943
    functionName: Ellipsoid::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - semiMajorAxis
    - NN_NO_CHECK
    - io::WKTFormatter*::databaseContext
    - std::move
    - auto::getAliasFromOfficialName
    - io::WKTFormatter*::outputId
    - io::WKTFormatter*::addQuotedString
    - std::string::empty
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - formatID
    - io::WKTFormatter*::useESRIDialect
    - WKTFormatter::morphNameToESRI
    - auto::getSIValue
    - auto::empty
    - auto::createObjectsFromName
    - auto::unit
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - io::WKTFormatter*::ellipsoidUnitOmittedIfMetre
    - Ellipsoid::computedInverseFlattening
    - auto::value
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void Ellipsoid::_exportToWKT(\n    io::WKTFormatter *formatter) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:952,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:954,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:954,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:956,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:957,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:958,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:959,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:961,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:964,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/datum.cpp:965,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:966,1
    - Dst: Ellipsoid::isSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:966,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:968,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:968,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:970,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:971,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:972,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/datum.cpp:972,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:974,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:975,1
    - Dst: Ellipsoid::isSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:978,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:979,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:980,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:981,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:982,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/datum.cpp:982,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:984,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:988,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/datum.cpp:988,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:990,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:991,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:992,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/datum.cpp:992,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:994,1
    - Dst: Ellipsoid::_exportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:995,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:1000,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:1001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 1003
    functionName: Ellipsoid::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::JSONFormatter*::MakeObjectContext
    - semiMajorAxis
    - nameStr
    - io::JSONFormatter*::outputId
    - io::JSONFormatter*::writer
    - auto::has_value
    - value
    - auto::Add
    - Ellipsoid::_exportToJSON
    - inverseFlattening
    - formatID
    - Ellipsoid::isSphere
    - auto::_exportToJSON
    - auto::getSIValue
    - auto::unit
    - auto::AddObjKey
    - auto::empty
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void Ellipsoid::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1010,1
    - Dst: Ellipsoid::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1011,1
    - Dst: Ellipsoid::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1012,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/iso19111/datum.cpp:1013,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:1015,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/datum.cpp:1015,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:1016,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1017,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/datum.cpp:1018,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:1019,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1020,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1023,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:1029,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/datum.cpp:1029,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/datum.cpp:1030,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1031,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - projEllpsName
    - ellpsName
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (strncmp(proj_ellps[i].major, "a=", 2) == 0)
      pos:
        line_end: 1014
        line_start: 1014
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - condition: (strncmp(proj_ellps[i].ell, "rf=", 3) == 0)
      pos:
        line_end: 1028
        line_start: 1028
        source_file: /src/PROJ/src/iso19111/datum.cpp
    constantsTouched: []
    func_position:
      end: 1043
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1043
    functionName: Ellipsoid::lookForProjWellKnownEllps
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - proj_list_ellps
    - starts_with
    - semiMajorAxis
    - c_locale_stod
    - assert
    - Ellipsoid::computeSemiMinorAxis
    - ::fabs
    - Ellipsoid::computedInverseFlattening
    linkageType: ''
    returnType: bool
    signature: "bool Ellipsoid::lookForProjWellKnownEllps(std::string &projEllpsName,\n
      \                                         std::string &ellpsName) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1051,1
    - Dst: Ellipsoid::lookForProjWellKnownEllps
      Src: /src/PROJ/src/iso19111/datum.cpp:1055,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1056,1
    - Dst: Ellipsoid::isSphere
      Src: /src/PROJ/src/iso19111/datum.cpp:1060,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1061,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1063,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1064,1
    - Dst: Ellipsoid::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1065,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1066,1
    - Dst: Ellipsoid::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1068,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/datum.cpp:1069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1048
    functionDepth: 4
    functionLinenumber: 1048
    functionLinenumberEnd: 1072
    functionName: Ellipsoid::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - semiMajorAxis
    - Ellipsoid::computedInverseFlattening
    - io::PROJStringFormatter*::addParam
    - Ellipsoid::computeSemiMinorAxis
    - Ellipsoid::lookForProjWellKnownEllps
    - inverseFlattening
    - Ellipsoid::isSphere
    linkageType: ''
    returnType: void
    signature: "void Ellipsoid::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::nn_make_shared<Ellipsoid>
      Src: /src/PROJ/src/iso19111/datum.cpp:1083,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/datum.cpp:1084,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/datum.cpp:1085,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/datum.cpp:1087,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1087,1
    - Dst: Ellipsoid::lookForProjWellKnownEllps
      Src: /src/PROJ/src/iso19111/datum.cpp:1090,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1091,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1097
    functionName: Ellipsoid::identify
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - auto::setProperties
    - nameStr
    - name
    - auto::assignSelf
    - Ellipsoid::lookForProjWellKnownEllps
    - Ellipsoid::nn_make_shared<Ellipsoid>
    - util::nn_static_pointer_cast<util::BaseObject>
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr Ellipsoid::identify() const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Ellipsoid *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1105,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1108,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1115,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1116,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1117,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1117,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1118,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1119,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1120,1
    - Dst: Ellipsoid::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1120,1
    - Dst: auto::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1121,1
    - Dst: Ellipsoid::computedInverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1122,1
    - Dst: semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1125,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1125,1
    - Dst: semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1130,1
    - Dst: auto::semiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1131,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1132,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1132,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1133,1
    - Dst: inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1139,1
    - Dst: auto::inverseFlattening
      Src: /src/PROJ/src/iso19111/datum.cpp:1141,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1142,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1143,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1144,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1151,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1151,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1155,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1156,1
    - Dst: Ellipsoid::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1161,1
    - Dst: auto::computeSemiMinorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1162,1
    - Dst: semiMedianAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1167,1
    - Dst: auto::semiMedianAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1168,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1169,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1169,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1172,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/datum.cpp:1172,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1173,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1179
    functionName: Ellipsoid::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - auto::semiMedianAxis
    - semiMajorAxis
    - nameStr
    - auto::inverseFlattening
    - auto::computeSemiMinorAxis
    - auto::has_value
    - std::fabs
    - auto::nameStr
    - auto::computedInverseFlattening
    - auto::_isEquivalentTo
    - auto::semiMinorAxis
    - auto::semiMajorAxis
    - inverseFlattening
    - semiMedianAxis
    - dynamic_cast<const Ellipsoid *>
    - IdentifiedObject::_isEquivalentTo
    - Ellipsoid::computeSemiMinorAxis
    - Ellipsoid::computedInverseFlattening
    - semiMinorAxis
    linkageType: ''
    returnType: bool
    signature: "bool Ellipsoid::_isEquivalentTo(const util::IComparable *other,\n
      \                               util::IComparable::Criterion criterion,\n                                const
      io::DatabaseContextPtr &dbContext) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1187,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1193,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1193,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1194,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1195,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:1196,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1199,1
    - Dst: static_cast<const Ellipsoid *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1201,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1201,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/datum.cpp:1202,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1202,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/datum.cpp:1204,1
    - Dst: auto::identifyBodyFromSemiMajorAxis
      Src: /src/PROJ/src/iso19111/datum.cpp:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - dbContext
    - a
    - ellpsName
    argTypes:
    - io::DatabaseContextPtr
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1214
    functionName: Ellipsoid::guessBodyName
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 1
    functionsReached:
    - auto::celestialBody
    - std::string::empty
    - auto::front
    - static_cast<const Ellipsoid *>
    - auto::createObjectsFromName
    - NN_NO_CHECK
    - auto::semiMajorAxis
    - auto::identifyBodyFromSemiMajorAxis
    - std::string
    - auto::empty
    - AuthorityFactory::create
    - std::fabs
    linkageType: ''
    returnType: std::string
    signature: "std::string Ellipsoid::guessBodyName(const io::DatabaseContextPtr
      &dbContext,\n                                     double a, const std::string
      &ellpsName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ellipsoidIn
    - primeMeridianIn
    argTypes:
    - EllipsoidNNPtr
    - PrimeMeridianNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1225
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const EllipsoidNNPtr &ellipsoidIn,\n            const
      PrimeMeridianNNPtr &primeMeridianIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ellipsoidIn
    - primeMeridianIn
    argTypes:
    - EllipsoidNNPtr
    - PrimeMeridianNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: GeodeticReferenceFrame::GeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void GeodeticReferenceFrame::GeodeticReferenceFrame(\n    const EllipsoidNNPtr
      &ellipsoidIn,\n    const PrimeMeridianNNPtr &primeMeridianIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeodeticReferenceFrame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1241
    functionName: GeodeticReferenceFrame::GeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void GeodeticReferenceFrame::GeodeticReferenceFrame(\n    const GeodeticReferenceFrame
      &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1247
    functionName: GeodeticReferenceFrame::~GeodeticReferenceFrame()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeodeticReferenceFrame::~GeodeticReferenceFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1259
    functionName: '&

      GeodeticReferenceFrame::primeMeridian()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: 'PrimeMeridianNNPtr &

      GeodeticReferenceFrame::primeMeridian()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1275
    functionName: '&GeodeticReferenceFrame::ellipsoid()'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr &GeodeticReferenceFrame::ellipsoid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:1296,1
    - Dst: GeodeticReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - properties
    - ellipsoid
    - anchor
    - primeMeridian
    argTypes:
    - util::PropertyMap
    - EllipsoidNNPtr
    - util::optional<std::string>
    - PrimeMeridianNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1299
    functionName: GeodeticReferenceFrame::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 21
    functionsReached:
    - GeodeticReferenceFrameNNPtr::setProperties
    - GeodeticReferenceFrameNNPtr::setAnchor
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: "GeodeticReferenceFrameNNPtr GeodeticReferenceFrame::create(const util::PropertyMap
      &properties,\n                               const EllipsoidNNPtr &ellipsoid,\n
      \                              const util::optional<std::string> &anchor,\n
      \                              const PrimeMeridianNNPtr &primeMeridian)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:1322,1
    - Dst: GeodeticReferenceFrameNNPtr::setAnchorEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1323,1
    - Dst: GeodeticReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - properties
    - ellipsoid
    - anchor
    - anchorEpoch
    - primeMeridian
    argTypes:
    - util::PropertyMap
    - EllipsoidNNPtr
    - util::optional<std::string>
    - util::optional<common::Measure>
    - PrimeMeridianNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1326
    functionName: GeodeticReferenceFrame::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 21
    functionsReached:
    - GeodeticReferenceFrameNNPtr::setProperties
    - GeodeticReferenceFrameNNPtr::setAnchorEpoch
    - GeodeticReferenceFrameNNPtr::setAnchor
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: "GeodeticReferenceFrameNNPtr GeodeticReferenceFrame::create(\n    const
      util::PropertyMap &properties, const EllipsoidNNPtr &ellipsoid,\n    const util::optional<std::string>
      &anchor,\n    const util::optional<common::Measure> &anchorEpoch,\n    const
      PrimeMeridianNNPtr &primeMeridian)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1331,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:1331,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1334
    functionName: GeodeticReferenceFrame::createEPSG_6267
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - createMapNameEPSGCode
    - GeodeticReferenceFrame::create
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: GeodeticReferenceFrameNNPtr GeodeticReferenceFrame::createEPSG_6267()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1339,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:1339,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1342
    functionName: GeodeticReferenceFrame::createEPSG_6269
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - createMapNameEPSGCode
    - GeodeticReferenceFrame::create
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: GeodeticReferenceFrameNNPtr GeodeticReferenceFrame::createEPSG_6269()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1347,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/datum.cpp:1347,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1350
    functionName: GeodeticReferenceFrame::createEPSG_6326
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - createMapNameEPSGCode
    - GeodeticReferenceFrame::create
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: GeodeticReferenceFrameNNPtr GeodeticReferenceFrame::createEPSG_6326()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:1358,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1359,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1360,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1360,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1362,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:1366,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:1371,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:1373,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1376,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:1377,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/datum.cpp:1379,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:1380,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/datum.cpp:1381,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1382,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:1383,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1389,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1390,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:1391,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1400,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1403,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1404,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/datum.cpp:1404,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1405,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1407,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1408,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1413,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1414,1
    - Dst: auto::createObjectsFromNameEx
      Src: /src/PROJ/src/iso19111/datum.cpp:1416,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1426,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1427,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1428,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1429,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/datum.cpp:1430,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1431,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1433,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1434,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:1443,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1444,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1452,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1452,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:1453,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1454,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:1455,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1458,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1458,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:1462,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1467,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1468,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1469,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1470,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/datum.cpp:1471,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1472,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1473,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1473,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:1474,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1484,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1486,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1488,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:1489,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1490,1
    - Dst: io::WKTFormatter*::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/datum.cpp:1493,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/datum.cpp:1494,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1495,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:1497,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1499,1
    - Dst: io::WKTFormatter*::getHDatumExtension
      Src: /src/PROJ/src/iso19111/datum.cpp:1501,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1502,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1503,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1504,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1505,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1506,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:1509,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:1510,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1513,1
    - Dst: io::WKTFormatter*::isAtTopLevel
      Src: /src/PROJ/src/iso19111/datum.cpp:1515,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1517,1
    - Dst: GeodeticReferenceFrame::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:1518,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 97
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1355
    functionDepth: 3
    functionLinenumber: 1355
    functionLinenumberEnd: 1521
    functionName: GeodeticReferenceFrame::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 2
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - std::string::c_str
    - GeodeticReferenceFrame::_exportToWKT
    - nameStr
    - Datum::getPrivate
    - NN_NO_CHECK
    - codeSpace
    - io::WKTFormatter*::databaseContext
    - code
    - auto::nameStr
    - std::string::substr
    - std::move
    - std::string::find
    - auto::getAliasFromOfficialName
    - io::WKTFormatter*::outputId
    - auto::createObjectsFromNameEx
    - std::string
    - io::WKTFormatter*::addQuotedString
    - std::string::empty
    - auto::front
    - io::WKTFormatter*::endNode
    - auto::size
    - ellipsoid
    - io::WKTFormatter*::version
    - io::WKTFormatter*::getHDatumExtension
    - formatID
    - auto::getAliases
    - io::WKTFormatter*::isAtTopLevel
    - starts_with
    - io::WKTFormatter*::useESRIDialect
    - WKTFormatter::morphNameToESRI
    - io::WKTFormatter*::use2019Keywords
    - auto::createObjectsFromName
    - io::WKTFormatter*::add
    - io::WKTFormatter*::getTOWGS84Parameters
    - auto::identifiers
    - auto::empty
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void GeodeticReferenceFrame::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1530,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:1532,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1534,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:1535,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1537,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1538,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1539,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:1540,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:1542,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1545,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:1546,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1549,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:1550,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1550,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1553,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/datum.cpp:1554,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1555,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1558,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:1559,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/datum.cpp:1560,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1561,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:1564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1565
    functionName: GeodeticReferenceFrame::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - ellipsoid
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - auto::frameReferenceEpoch
    - nameStr
    - primeMeridian
    - io::JSONFormatter*::writer
    - dynamic_cast<const DynamicGeodeticReferenceFrame *>
    - Datum::getPrivate
    - ObjectUsage::baseExportToJSON
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void GeodeticReferenceFrame::_exportToJSON(\n    io::JSONFormatter
      *formatter) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1575,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:1577,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1580,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1580,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1582,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1584
    functionName: GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 1
    functionsReached:
    - auto::ellipsoid
    - ellipsoid
    - dynamic_cast<const GeodeticReferenceFrame *>
    - auto::primeMeridian
    - primeMeridian
    - Datum::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck(\n    const
      util::IComparable *other, util::IComparable::Criterion criterion,\n    const
      io::DatabaseContextPtr &dbContext) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::isOfExactType<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:1592,1
    - Dst: GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1596
    functionName: GeodeticReferenceFrame::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
    - util::isOfExactType<GeodeticReferenceFrame>
    linkageType: ''
    returnType: bool
    signature: "bool GeodeticReferenceFrame::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1610,1
    - Dst: io::DatabaseContextPtr::getName
      Src: /src/PROJ/src/iso19111/datum.cpp:1612,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1613,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1613,1
    - Dst: io::DatabaseContextPtr::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1615,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1615,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1615,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1616,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1620,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1621,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1622,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1626,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1627,1
    - Dst: isNameMatching
      Src: /src/PROJ/src/iso19111/datum.cpp:1635,1
    - Dst: isNameMatching
      Src: /src/PROJ/src/iso19111/datum.cpp:1635,1
    - Dst: io::DatabaseContextPtr::getAliases
      Src: /src/PROJ/src/iso19111/datum.cpp:1642,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1642,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1642,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1643,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1644,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1646,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1647,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1662,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1663,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1669,1
    - Dst: compareFromThisId
      Src: /src/PROJ/src/iso19111/datum.cpp:1670,1
    - Dst: IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1674,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1676,1
    - Dst: compareFromThisId
      Src: /src/PROJ/src/iso19111/datum.cpp:1678,1
    - Dst: compareFromThisName
      Src: /src/PROJ/src/iso19111/datum.cpp:1684,1
    - Dst: compareFromThisName
      Src: /src/PROJ/src/iso19111/datum.cpp:1685,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1694,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1694,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/datum.cpp:1696,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1696,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1698,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1699,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1700,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1700,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/datum.cpp:1701,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1701,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1703,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1704,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1704,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/datum.cpp:1705,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/datum.cpp:1706,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1706,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/datum.cpp:1708,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1708,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:1708,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 2
    argNames:
    - other
    - dbContext
    argTypes:
    - IdentifiedObject*
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1602
    functionDepth: 3
    functionLinenumber: 1602
    functionLinenumberEnd: 1710
    functionName: GeodeticReferenceFrame::hasEquivalentNameToUsingAlias
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - IdentifiedObject*::nameStr
    - identifiers
    - std::string::c_str
    - dynamic_cast<const GeodeticReferenceFrame *>
    - ci_starts_with
    - io::DatabaseContextPtr::getName
    - compare
    - IdentifiedObject*::identifiers
    - auto::codeSpace
    - nameStr
    - io::DatabaseContextPtr::getAliases
    - auto::code
    - compareFromThisName
    - std::string
    - Identifier::isEquivalentName
    - compareFromThisId
    - c_str
    - isNameMatching
    linkageType: ''
    returnType: bool
    signature: "bool GeodeticReferenceFrame::hasEquivalentNameToUsingAlias(\n    const
      IdentifiedObject *other,\n    const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - frameReferenceEpochIn
    argTypes:
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1720
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const common::Measure &frameReferenceEpochIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ellipsoidIn
    - primeMeridianIn
    - frameReferenceEpochIn
    - deformationModelNameIn
    argTypes:
    - EllipsoidNNPtr
    - PrimeMeridianNNPtr
    - common::Measure
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1734
    functionName: DynamicGeodeticReferenceFrame::DynamicGeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void DynamicGeodeticReferenceFrame::DynamicGeodeticReferenceFrame(\n
      \   const EllipsoidNNPtr &ellipsoidIn,\n    const PrimeMeridianNNPtr &primeMeridianIn,\n
      \   const common::Measure &frameReferenceEpochIn,\n    const util::optional<std::string>
      &deformationModelNameIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DynamicGeodeticReferenceFrame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: DynamicGeodeticReferenceFrame::DynamicGeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void DynamicGeodeticReferenceFrame::DynamicGeodeticReferenceFrame(\n
      \   const DynamicGeodeticReferenceFrame &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1747
    functionName: DynamicGeodeticReferenceFrame::~DynamicGeodeticReferenceFrame()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicGeodeticReferenceFrame::~DynamicGeodeticReferenceFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1762
    functionName: '&

      DynamicGeodeticReferenceFrame::frameReferenceEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::Measure
    signature: 'common::Measure &

      DynamicGeodeticReferenceFrame::frameReferenceEpoch() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1776
    functionName: '&

      DynamicGeodeticReferenceFrame::deformationModelName() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<std::string>
    signature: 'util::optional<std::string> &

      DynamicGeodeticReferenceFrame::deformationModelName() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: util::isOfExactType<DynamicGeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:1785,1
    - Dst: GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:1788,1
    - Dst: dynamic_cast<const DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1792,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1798,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1799,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:1800,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1801,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1803
    functionName: DynamicGeodeticReferenceFrame::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - deformationModelName
    - auto::frameReferenceEpoch
    - frameReferenceEpoch
    - dynamic_cast<const DynamicGeodeticReferenceFrame *>
    - GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
    - util::isOfExactType<DynamicGeodeticReferenceFrame>
    - auto::deformationModelName
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: bool
    signature: "bool DynamicGeodeticReferenceFrame::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:1812,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:1813,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1814,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1815,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:1816,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:1817,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1818,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1819,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1820,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1821,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:1822,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:1822,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1823,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:1825,1
    - Dst: GeodeticReferenceFrame::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:1827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1809
    functionDepth: 4
    functionLinenumber: 1809
    functionLinenumberEnd: 1828
    functionName: DynamicGeodeticReferenceFrame::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - GeodeticReferenceFrame::_exportToWKT
    - io::WKTFormatter*::version
    - io::WKTFormatter*::use2019Keywords
    - frameReferenceEpoch
    - io::WKTFormatter*::add
    - io::WKTFormatter*::addQuotedString
    - deformationModelName
    linkageType: ''
    returnType: void
    signature: "void DynamicGeodeticReferenceFrame::_exportToWKT(\n    io::WKTFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DynamicGeodeticReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:1855,1
    - Dst: DynamicGeodeticReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - properties
    - ellipsoid
    - anchor
    - primeMeridian
    - frameReferenceEpochIn
    - deformationModelNameIn
    argTypes:
    - util::PropertyMap
    - EllipsoidNNPtr
    - util::optional<std::string>
    - PrimeMeridianNNPtr
    - common::Measure
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1858
    functionName: DynamicGeodeticReferenceFrame::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 5
    functionsReached:
    - DynamicGeodeticReferenceFrameNNPtr::setAnchor
    - DynamicGeodeticReferenceFrameNNPtr::setProperties
    linkageType: ''
    returnType: DynamicGeodeticReferenceFrameNNPtr
    signature: "DynamicGeodeticReferenceFrameNNPtr DynamicGeodeticReferenceFrame::create(\n
      \   const util::PropertyMap &properties, const EllipsoidNNPtr &ellipsoid,\n
      \   const util::optional<std::string> &anchor,\n    const PrimeMeridianNNPtr
      &primeMeridian,\n    const common::Measure &frameReferenceEpochIn,\n    const
      util::optional<std::string> &deformationModelNameIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - datumsIn
    - accuracy
    argTypes:
    - std::vector<DatumNNPtr>
    - metadata::PositionalAccuracyNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1869
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const std::vector<DatumNNPtr> &datumsIn,\n            const
      metadata::PositionalAccuracyNNPtr &accuracy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - datumsIn
    - accuracy
    argTypes:
    - std::vector<DatumNNPtr>
    - metadata::PositionalAccuracyNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1877
    functionName: DatumEnsemble::DatumEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void DatumEnsemble::DatumEnsemble(const std::vector<DatumNNPtr> &datumsIn,\n
      \                            const metadata::PositionalAccuracyNNPtr &accuracy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:1883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DatumEnsemble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1883
    functionName: DatumEnsemble::DatumEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DatumEnsemble::DatumEnsemble(const DatumEnsemble &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1889
    functionName: DatumEnsemble::~DatumEnsemble()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DatumEnsemble::~DatumEnsemble()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1901
    functionName: '&DatumEnsemble::datums() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<DatumNNPtr>
    signature: std::vector<DatumNNPtr> &DatumEnsemble::datums() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: '&

      DatumEnsemble::positionalAccuracy() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: metadata::PositionalAccuracyNNPtr
    signature: 'metadata::PositionalAccuracyNNPtr &

      DatumEnsemble::positionalAccuracy() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/datum.cpp:1932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1933
    functionName: DatumEnsemble::ensembleNameToNonEnsembleName
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 2
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string DatumEnsemble::ensembleNameToNonEnsembleName(const std::string
      &s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: datums
      Src: /src/PROJ/src/iso19111/datum.cpp:1945,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1946,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:1946,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:1948,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1950,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1953,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:1954,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1954,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/datum.cpp:1956,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1956,1
    - Dst: auto::createVerticalDatum
      Src: /src/PROJ/src/iso19111/datum.cpp:1958,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1958,1
    - Dst: DatumEnsemble::ensembleNameToNonEnsembleName
      Src: /src/PROJ/src/iso19111/datum.cpp:1968,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1969,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:1970,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/datum.cpp:1973,1
    - Dst: isDeprecated
      Src: /src/PROJ/src/iso19111/datum.cpp:1974,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/datum.cpp:1975,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1977,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/datum.cpp:1979,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/datum.cpp:1979,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/datum.cpp:1980,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/datum.cpp:1982,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:1983,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/datum.cpp:1987,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/datum.cpp:1989,1
    - Dst: util::nn_static_pointer_cast<util::BaseObject>
      Src: /src/PROJ/src/iso19111/datum.cpp:1990,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/datum.cpp:1992,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1995,1
    - Dst: auto*::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:1995,1
    - Dst: auto*::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:1996,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:1998,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:1998,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:1998,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/datum.cpp:1999,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts:
    - condition: (dynamic_cast<VerticalReferenceFrame *>(l_datums[0].get()))
      pos:
        line_end: 1997
        line_start: 1997
        source_file: /src/PROJ/src/iso19111/datum.cpp
    constantsTouched: []
    func_position:
      end: 2001
      start: 1942
    functionDepth: 2
    functionLinenumber: 1942
    functionLinenumberEnd: 2001
    functionName: DatumEnsemble::asDatum
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - PropertyMap::PropertyMap
    - auto::add
    - DatumEnsemble::ensembleNameToNonEnsembleName
    - NN_NO_CHECK
    - auto::code
    - VerticalReferenceFrame::create
    - auto::createGeodeticDatum
    - dynamic_cast<const GeodeticReferenceFrame *>
    - std::move
    - assert
    - datums
    - util::nn_static_pointer_cast<util::BaseObject>
    - GeodeticReferenceFrame::create
    - auto*::primeMeridian
    - util::optional<std::string>
    - auto::createVerticalDatum
    - auto::set
    - auto::codeSpace
    - auto*::ellipsoid
    - dynamic_cast<VerticalReferenceFrame *>
    - get
    - isDeprecated
    - domains
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: DatumNNPtr
    signature: DatumNNPtr DatumEnsemble::asDatum(const io::DatabaseContextPtr &dbContext)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:2010,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2011,1
    - Dst: DatumEnsemble::asDatum
      Src: /src/PROJ/src/iso19111/datum.cpp:2012,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2012,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/datum.cpp:2015,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/datum.cpp:2016,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2016,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2018,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2019,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2020,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2021,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2023,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2027,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2028,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2029,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2030,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2031,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2033,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:2035,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2036,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2038,1
    - Dst: std::dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2041,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/datum.cpp:2042,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2044,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2047,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:2048,1
    - Dst: positionalAccuracy
      Src: /src/PROJ/src/iso19111/datum.cpp:2048,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2049,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:2054,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2055,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2058,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts:
    - condition: (!l_datums.empty())
      pos:
        line_end: 2015
        line_start: 2015
        source_file: /src/PROJ/src/iso19111/datum.cpp
    constantsTouched: []
    func_position:
      end: 2059
      start: 2007
    functionDepth: 3
    functionLinenumber: 2007
    functionLinenumberEnd: 2059
    functionName: DatumEnsemble::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - nameStr
    - io::WKTFormatter*::databaseContext
    - std::dynamic_pointer_cast<GeodeticReferenceFrame>
    - assert
    - io::WKTFormatter*::outputId
    - datums
    - io::WKTFormatter*::addQuotedString
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - formatID
    - positionalAccuracy
    - as_nullable
    - auto::ellipsoid
    - io::WKTFormatter*::use2019Keywords
    - io::WKTFormatter*::add
    - auto::empty
    - DatumEnsemble::asDatum
    linkageType: ''
    returnType: void
    signature: "void DatumEnsemble::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2069,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2069,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2070,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2072,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2073,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2074,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2075,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2077,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/datum.cpp:2080,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2081,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2083,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2085,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2086,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2087,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2088,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2089,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2091,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2093,1
    - Dst: std::dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2097,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/datum.cpp:2098,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2100,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/datum.cpp:2101,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2102,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2105,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2106,1
    - Dst: positionalAccuracy
      Src: /src/PROJ/src/iso19111/datum.cpp:2106,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2065
    functionDepth: 5
    functionLinenumber: 2065
    functionLinenumberEnd: 2109
    functionName: DatumEnsemble::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - auto::ellipsoid
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - std::dynamic_pointer_cast<GeodeticReferenceFrame>
    - nameStr
    - auto::MakeObjectContext
    - io::JSONFormatter*::writer
    - formatID
    - positionalAccuracy
    - datums
    - auto::AddObjKey
    - as_nullable
    - auto::empty
    - auto::MakeArrayContext
    linkageType: ''
    returnType: void
    signature: "void DatumEnsemble::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<DatumNNPtr>::size
      Src: /src/PROJ/src/iso19111/datum.cpp:2128,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2129,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2132,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2132,1
    - Dst: std::vector<DatumNNPtr>::size
      Src: /src/PROJ/src/iso19111/datum.cpp:2133,1
    - Dst: dynamic_cast<const GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2135,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2135,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2137,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2140,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/datum.cpp:2141,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2142,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:2145,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/datum.cpp:2146,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2147,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2152,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2152,1
    - Dst: std::vector<DatumNNPtr>::size
      Src: /src/PROJ/src/iso19111/datum.cpp:2153,1
    - Dst: dynamic_cast<VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2154,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/datum.cpp:2154,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/datum.cpp:2155,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2162,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - properties
    - datumsIn
    - accuracy
    argTypes:
    - util::PropertyMap
    - std::vector<DatumNNPtr>
    - metadata::PositionalAccuracyNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2123
    functionDepth: 1
    functionLinenumber: 2123
    functionLinenumberEnd: 2164
    functionName: DatumEnsemble::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 12
    functionsReached:
    - auto::ellipsoid
    - get
    - dynamic_cast<const GeodeticReferenceFrame *>
    - auto::primeMeridian
    - auto::setProperties
    - std::vector<DatumNNPtr>::size
    - util::Exception
    - dynamic_cast<VerticalReferenceFrame *>
    linkageType: ''
    returnType: DatumEnsembleNNPtr
    signature: "DatumEnsembleNNPtr DatumEnsemble::create(\n    const util::PropertyMap
      &properties,\n    const std::vector<DatumNNPtr> &datumsIn,\n    const metadata::PositionalAccuracyNNPtr
      &accuracy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2169
    functionName: RealizationMethod::RealizationMethod
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RealizationMethod::RealizationMethod(const std::string &nameIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CodeList::operator=
      Src: /src/PROJ/src/iso19111/datum.cpp:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - RealizationMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2177
    functionName: '&

      RealizationMethod::operator=(const RealizationMethod &other)'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - CodeList::operator=
    linkageType: ''
    returnType: RealizationMethod
    signature: 'RealizationMethod &

      RealizationMethod::operator=(const RealizationMethod &other)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2194,1
    - Dst: util::optional<RealizationMethod>::toString
      Src: /src/PROJ/src/iso19111/datum.cpp:2195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - realizationMethodIn
    argTypes:
    - util::optional<RealizationMethod>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2192
    functionDepth: 1
    functionLinenumber: 2192
    functionLinenumberEnd: 2198
    functionName: VerticalReferenceFrame::VerticalReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - util::optional<RealizationMethod>::toString
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void VerticalReferenceFrame::VerticalReferenceFrame(\n    const util::optional<RealizationMethod>
      &realizationMethodIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2203
    functionName: VerticalReferenceFrame::~VerticalReferenceFrame()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalReferenceFrame::~VerticalReferenceFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2216
    functionName: '&

      VerticalReferenceFrame::realizationMethod() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<RealizationMethod>
    signature: 'util::optional<RealizationMethod> &

      VerticalReferenceFrame::realizationMethod() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2234,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2235,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - properties
    - anchor
    - realizationMethodIn
    argTypes:
    - util::PropertyMap
    - util::optional<std::string>
    - util::optional<RealizationMethod>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2238
    functionName: VerticalReferenceFrame::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 22
    functionsReached:
    - auto::setAnchor
    - auto::setProperties
    - util::PropertyMap::getStringValue
    linkageType: ''
    returnType: VerticalReferenceFrameNNPtr
    signature: "VerticalReferenceFrameNNPtr VerticalReferenceFrame::create(\n    const
      util::PropertyMap &properties,\n    const util::optional<std::string> &anchor,\n
      \   const util::optional<RealizationMethod> &realizationMethodIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2259,1
    - Dst: auto::setAnchorEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2260,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2261,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/datum.cpp:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - properties
    - anchor
    - anchorEpoch
    - realizationMethodIn
    argTypes:
    - util::PropertyMap
    - util::optional<std::string>
    - util::optional<common::Measure>
    - util::optional<RealizationMethod>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2264
    functionName: VerticalReferenceFrame::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 22
    functionsReached:
    - auto::setAnchor
    - auto::setProperties
    - util::PropertyMap::getStringValue
    - auto::setAnchorEpoch
    linkageType: ''
    returnType: VerticalReferenceFrameNNPtr
    signature: "VerticalReferenceFrameNNPtr VerticalReferenceFrame::create(\n    const
      util::PropertyMap &properties,\n    const util::optional<std::string> &anchor,\n
      \   const util::optional<common::Measure> &anchorEpoch,\n    const util::optional<RealizationMethod>
      &realizationMethodIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2271
    functionName: '&VerticalReferenceFrame::getWKT1DatumType() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &VerticalReferenceFrame::getWKT1DatumType() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:2280,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2281,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:2282,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2285,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2287,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:2288,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2290,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/datum.cpp:2292,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2294,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/datum.cpp:2295,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/datum.cpp:2300,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/datum.cpp:2301,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/datum.cpp:2302,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/datum.cpp:2312,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2315,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2317,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2320,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2321,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2322,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/datum.cpp:2324,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:2325,1
    - Dst: io::WKTFormatter*::getVDatumExtension
      Src: /src/PROJ/src/iso19111/datum.cpp:2326,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2327,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2328,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2329,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2330,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2331,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/datum.cpp:2334,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/datum.cpp:2335,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2337,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2338
      start: 2277
    functionDepth: 2
    functionLinenumber: 2277
    functionLinenumberEnd: 2338
    functionName: VerticalReferenceFrame::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::getVDatumExtension
    - Datum::getPrivate
    - NN_NO_CHECK
    - io::WKTFormatter*::databaseContext
    - std::move
    - auto::getAliasFromOfficialName
    - io::WKTFormatter*::outputId
    - io::WKTFormatter*::addQuotedString
    - std::string::empty
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - formatID
    - io::WKTFormatter*::useESRIDialect
    - WKTFormatter::morphNameToESRI
    - io::WKTFormatter*::use2019Keywords
    - auto::createObjectsFromName
    - io::WKTFormatter*::add
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void VerticalReferenceFrame::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2347,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2349,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2351,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2352,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2354,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2355,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2356,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2357,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2359,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2362,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2363,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2366,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2367,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2367,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2344
    functionDepth: 2
    functionLinenumber: 2344
    functionLinenumberEnd: 2371
    functionName: VerticalReferenceFrame::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - dynamic_cast<const DynamicVerticalReferenceFrame *>
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - auto::frameReferenceEpoch
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - Datum::getPrivate
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void VerticalReferenceFrame::_exportToJSON(\n    io::JSONFormatter
      *formatter) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2380,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2382,1
    - Dst: realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2385,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2386,1
    - Dst: realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2389,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2390,1
    - Dst: realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2391,1
    - Dst: auto::realizationMethod
      Src: /src/PROJ/src/iso19111/datum.cpp:2391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2396
    functionName: VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 1
    functionsReached:
    - auto::realizationMethod
    - dynamic_cast<const VerticalReferenceFrame *>
    - Datum::_isEquivalentTo
    - realizationMethod
    linkageType: ''
    returnType: bool
    signature: "bool VerticalReferenceFrame::isEquivalentToNoExactTypeCheck(\n    const
      util::IComparable *other, util::IComparable::Criterion criterion,\n    const
      io::DatabaseContextPtr &dbContext) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::isOfExactType<VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2404,1
    - Dst: VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:2407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2408
    functionName: VerticalReferenceFrame::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - util::isOfExactType<VerticalReferenceFrame>
    - VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
    linkageType: ''
    returnType: bool
    signature: "bool VerticalReferenceFrame::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - frameReferenceEpochIn
    argTypes:
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2420
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const common::Measure &frameReferenceEpochIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - realizationMethodIn
    - frameReferenceEpochIn
    - deformationModelNameIn
    argTypes:
    - util::optional<RealizationMethod>
    - common::Measure
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2433
    functionName: DynamicVerticalReferenceFrame::DynamicVerticalReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void DynamicVerticalReferenceFrame::DynamicVerticalReferenceFrame(\n
      \   const util::optional<RealizationMethod> &realizationMethodIn,\n    const
      common::Measure &frameReferenceEpochIn,\n    const util::optional<std::string>
      &deformationModelNameIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DynamicVerticalReferenceFrame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2440
    functionName: DynamicVerticalReferenceFrame::DynamicVerticalReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void DynamicVerticalReferenceFrame::DynamicVerticalReferenceFrame(\n
      \   const DynamicVerticalReferenceFrame &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: DynamicVerticalReferenceFrame::~DynamicVerticalReferenceFrame()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicVerticalReferenceFrame::~DynamicVerticalReferenceFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2461
    functionName: '&

      DynamicVerticalReferenceFrame::frameReferenceEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::Measure
    signature: 'common::Measure &

      DynamicVerticalReferenceFrame::frameReferenceEpoch() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '&

      DynamicVerticalReferenceFrame::deformationModelName() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<std::string>
    signature: 'util::optional<std::string> &

      DynamicVerticalReferenceFrame::deformationModelName() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: util::isOfExactType<DynamicVerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/datum.cpp:2484,1
    - Dst: VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
      Src: /src/PROJ/src/iso19111/datum.cpp:2487,1
    - Dst: dynamic_cast<const DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2491,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2497,1
    - Dst: auto::frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2498,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/datum.cpp:2499,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2500,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2480
    functionDepth: 3
    functionLinenumber: 2480
    functionLinenumberEnd: 2502
    functionName: DynamicVerticalReferenceFrame::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const DynamicVerticalReferenceFrame *>
    - deformationModelName
    - auto::frameReferenceEpoch
    - VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
    - frameReferenceEpoch
    - util::isOfExactType<DynamicVerticalReferenceFrame>
    - auto::deformationModelName
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: bool
    signature: "bool DynamicVerticalReferenceFrame::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:2511,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2512,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2513,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2514,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:2515,1
    - Dst: frameReferenceEpoch
      Src: /src/PROJ/src/iso19111/datum.cpp:2516,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2517,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2518,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2519,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2520,1
    - Dst: deformationModelName
      Src: /src/PROJ/src/iso19111/datum.cpp:2520,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2521,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2523,1
    - Dst: VerticalReferenceFrame::_exportToWKT
      Src: /src/PROJ/src/iso19111/datum.cpp:2525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2508
    functionDepth: 3
    functionLinenumber: 2508
    functionLinenumberEnd: 2526
    functionName: DynamicVerticalReferenceFrame::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::version
    - io::WKTFormatter*::use2019Keywords
    - frameReferenceEpoch
    - io::WKTFormatter*::add
    - VerticalReferenceFrame::_exportToWKT
    - io::WKTFormatter*::addQuotedString
    - deformationModelName
    linkageType: ''
    returnType: void
    signature: "void DynamicVerticalReferenceFrame::_exportToWKT(\n    io::WKTFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DynamicVerticalReferenceFrameNNPtr::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2552,1
    - Dst: DynamicVerticalReferenceFrameNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - properties
    - anchor
    - realizationMethodIn
    - frameReferenceEpochIn
    - deformationModelNameIn
    argTypes:
    - util::PropertyMap
    - util::optional<std::string>
    - util::optional<RealizationMethod>
    - common::Measure
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2555
    functionName: DynamicVerticalReferenceFrame::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 4
    functionsReached:
    - DynamicVerticalReferenceFrameNNPtr::setAnchor
    - DynamicVerticalReferenceFrameNNPtr::setProperties
    linkageType: ''
    returnType: DynamicVerticalReferenceFrameNNPtr
    signature: "DynamicVerticalReferenceFrameNNPtr DynamicVerticalReferenceFrame::create(\n
      \   const util::PropertyMap &properties,\n    const util::optional<std::string>
      &anchor,\n    const util::optional<RealizationMethod> &realizationMethodIn,\n
      \   const common::Measure &frameReferenceEpochIn,\n    const util::optional<std::string>
      &deformationModelNameIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - temporalOriginIn
    - calendarIn
    argTypes:
    - common::DateTime
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2566
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const common::DateTime &temporalOriginIn,\n            const
      std::string &calendarIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/datum.cpp:2574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - temporalOriginIn
    - calendarIn
    argTypes:
    - common::DateTime
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2574
    functionName: TemporalDatum::TemporalDatum
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void TemporalDatum::TemporalDatum(const common::DateTime &temporalOriginIn,\n
      \                            const std::string &calendarIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: TemporalDatum::~TemporalDatum()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalDatum::~TemporalDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2591
    functionName: '&TemporalDatum::temporalOrigin() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::DateTime
    signature: common::DateTime &TemporalDatum::temporalOrigin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2601
    functionName: '&TemporalDatum::calendar() const'
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &TemporalDatum::calendar() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - temporalOriginIn
    - calendarIn
    argTypes:
    - util::PropertyMap
    - common::DateTime
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2623
    functionName: TemporalDatum::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 9
    functionsReached:
    - auto::setProperties
    linkageType: ''
    returnType: TemporalDatumNNPtr
    signature: "TemporalDatumNNPtr TemporalDatum::create(const util::PropertyMap &properties,\n
      \                     const common::DateTime &temporalOriginIn,\n                      const
      std::string &calendarIn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:2631,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/datum.cpp:2633,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2636,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2636,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2637,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2637,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/datum.cpp:2638,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2639,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2640,1
    - Dst: calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2640,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2641,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2644,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2645,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2646,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2647,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:2648,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2650,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2652,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2628
    functionDepth: 1
    functionLinenumber: 2628
    functionLinenumberEnd: 2656
    functionName: TemporalDatum::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - temporalOrigin
    - io::WKTFormatter*::use2019Keywords
    - nameStr
    - io::WKTFormatter*::add
    - calendar
    - io::WKTFormatter*::addQuotedString
    - auto::empty
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: "void TemporalDatum::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2666,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2666,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2667,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2669,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2670,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2670,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2672,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2673,1
    - Dst: calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2673,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2675,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/datum.cpp:2676,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2677,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2678,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2662
    functionDepth: 2
    functionLinenumber: 2662
    functionLinenumberEnd: 2682
    functionName: TemporalDatum::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::MakeObjectContext
    - temporalOrigin
    - auto::Add
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - auto::AddObjKey
    - calendar
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void TemporalDatum::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const TemporalDatum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2691,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2693,1
    - Dst: temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2696,1
    - Dst: auto::temporalOrigin
      Src: /src/PROJ/src/iso19111/datum.cpp:2697,1
    - Dst: calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2698,1
    - Dst: auto::calendar
      Src: /src/PROJ/src/iso19111/datum.cpp:2698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2699
    functionName: TemporalDatum::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - auto::calendar
    - temporalOrigin
    - dynamic_cast<const TemporalDatum *>
    - auto::temporalOrigin
    - calendar
    - Datum::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool TemporalDatum::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2710
    functionName: EngineeringDatum::EngineeringDatum
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EngineeringDatum::EngineeringDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2715
    functionName: EngineeringDatum::~EngineeringDatum()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EngineeringDatum::~EngineeringDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2731,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - properties
    - anchor
    argTypes:
    - util::PropertyMap
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2734
    functionName: EngineeringDatum::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 5
    functionsReached:
    - auto::setAnchor
    - auto::setProperties
    linkageType: ''
    returnType: EngineeringDatumNNPtr
    signature: "EngineeringDatumNNPtr EngineeringDatum::create(const util::PropertyMap
      &properties,\n                         const util::optional<std::string> &anchor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:2742,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2743,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2745,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2746,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2746,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2748,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/datum.cpp:2753,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2739
    functionDepth: 1
    functionLinenumber: 2739
    functionLinenumberEnd: 2756
    functionName: EngineeringDatum::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - nameStr
    - Datum::getPrivate
    - io::WKTFormatter*::add
    - io::WKTFormatter*::addQuotedString
    linkageType: ''
    returnType: void
    signature: "void EngineeringDatum::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2765,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2766,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2767,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2769,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2770,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2770,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2772,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2762
    functionDepth: 2
    functionLinenumber: 2762
    functionLinenumberEnd: 2775
    functionName: EngineeringDatum::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - Datum::getPrivate
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void EngineeringDatum::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EngineeringDatum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2784,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2789,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2789,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2790,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2791,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2794,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2795
    functionName: EngineeringDatum::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EngineeringDatum *>
    - auto::nameStr
    - Datum::_isEquivalentTo
    - nameStr
    linkageType: ''
    returnType: bool
    signature: "bool EngineeringDatum::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2806
    functionName: ParametricDatum::ParametricDatum
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricDatum::ParametricDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2811
    functionName: ParametricDatum::~ParametricDatum()
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricDatum::~ParametricDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::setAnchor
      Src: /src/PROJ/src/iso19111/datum.cpp:2827,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/datum.cpp:2828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - properties
    - anchor
    argTypes:
    - util::PropertyMap
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2830
    functionName: ParametricDatum::create
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 2
    functionsReached:
    - auto::setAnchor
    - auto::setProperties
    linkageType: ''
    returnType: ParametricDatumNNPtr
    signature: "ParametricDatumNNPtr ParametricDatum::create(const util::PropertyMap
      &properties,\n                        const util::optional<std::string> &anchor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/datum.cpp:2838,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/datum.cpp:2840,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2843,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2843,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/datum.cpp:2844,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2844,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2845,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/datum.cpp:2846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 2847
    functionName: ParametricDatum::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - nameStr
    - Datum::getPrivate
    - io::WKTFormatter*::addQuotedString
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: "void ParametricDatum::_exportToWKT(\n    io::WKTFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/datum.cpp:2856,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/datum.cpp:2857,1
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/datum.cpp:2858,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/datum.cpp:2860,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/datum.cpp:2861,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/datum.cpp:2861,1
    - Dst: Datum::getPrivate
      Src: /src/PROJ/src/iso19111/datum.cpp:2863,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/datum.cpp:2865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2853
    functionDepth: 2
    functionLinenumber: 2853
    functionLinenumberEnd: 2866
    functionName: ParametricDatum::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - Datum::getPrivate
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void ParametricDatum::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ParametricDatum *>
      Src: /src/PROJ/src/iso19111/datum.cpp:2875,1
    - Dst: Datum::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/datum.cpp:2877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2881
    functionName: ParametricDatum::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/datum.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ParametricDatum *>
    - Datum::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool ParametricDatum::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:94,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:100,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/common.cpp:129,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/common.cpp:182,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/common.cpp:184,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/common.cpp:185,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:186,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:186,1
    - Dst: forceUNITKeyword
      Src: /src/PROJ/src/iso19111/common.cpp:187,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:188,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:188,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:191,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:192,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:194,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:194,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:196,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:196,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:198,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:198,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:200,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:201,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:203,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:203,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:208,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/common.cpp:209,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:211,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:212,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:213,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:214,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:215,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:216,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:218,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:221,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:223,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:226,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:228,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/common.cpp:228,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:229,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:231,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:231,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/common.cpp:232,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/common.cpp:235,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:236,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:238,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:241,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:243,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:246,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/common.cpp:254,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:255,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:257,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:257,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:258,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/common.cpp:259,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:261,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:263,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:265,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:267,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:269,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:271,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:274,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:275,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:276,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:278,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:279,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:280,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:282,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/common.cpp:282,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:283,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:284,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:285,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:286,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:287,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/common.cpp:288,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:290,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/common.cpp:290,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:292,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:306,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:306,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:316,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:316,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/common.cpp:323,1
    - Dst: pj_list_linear_units
      Src: /src/PROJ/src/iso19111/common.cpp:324,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:326,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:326,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:327,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/common.cpp:331,1
    - Dst: pj_list_angular_units
      Src: /src/PROJ/src/iso19111/common.cpp:332,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:334,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:334,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:335,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:340,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:352,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:352,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:352,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:353,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:353,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:374,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:379,1
    - Dst: unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:400,1
    - Dst: getSIValue
      Src: /src/PROJ/src/iso19111/common.cpp:414,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:414,1
    - Dst: getSIValue
      Src: /src/PROJ/src/iso19111/common.cpp:441,1
    - Dst: getSIValue
      Src: /src/PROJ/src/iso19111/common.cpp:442,1
    - Dst: std::isinf
      Src: /src/PROJ/src/iso19111/common.cpp:445,1
    - Dst: std::isinf
      Src: /src/PROJ/src/iso19111/common.cpp:445,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:447,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:448,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:553,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:553,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:558,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:564,1
    - Dst: DateTime
      Src: /src/PROJ/src/iso19111/common.cpp:585,1
    - Dst: str_::empty
      Src: /src/PROJ/src/iso19111/common.cpp:595,1
    - Dst: str_::find
      Src: /src/PROJ/src/iso19111/common.cpp:596,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/common.cpp:610,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:624,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:629,1
    - Dst: name::description
      Src: /src/PROJ/src/iso19111/common.cpp:655,1
    - Dst: aliases::empty
      Src: /src/PROJ/src/iso19111/common.cpp:686,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:687,1
    - Dst: toFullyQualifiedName
      Src: /src/PROJ/src/iso19111/common.cpp:688,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/common.cpp:697,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:698,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:698,1
    - Dst: ::atoi
      Src: /src/PROJ/src/iso19111/common.cpp:699,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/common.cpp:699,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:727,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/common.cpp:731,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:731,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/common.cpp:732,1
    - Dst: Identifier::createFromDescription
      Src: /src/PROJ/src/iso19111/common.cpp:733,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/common.cpp:733,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:735,1
    - Dst: util::nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/src/iso19111/common.cpp:740,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:741,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:743,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:754,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:757,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:759,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:760,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/common.cpp:761,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:761,1
    - Dst: util::nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/src/iso19111/common.cpp:765,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:766,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:767,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:767,1
    - Dst: dynamic_cast<const ArrayOfBaseObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:769,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:769,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:770,1
    - Dst: util::nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/src/iso19111/common.cpp:772,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:774,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:774,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:776,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:781,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:792,1
    - Dst: util::nn_dynamic_pointer_cast<GenericName>
      Src: /src/PROJ/src/iso19111/common.cpp:796,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:797,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:798,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:798,1
    - Dst: dynamic_cast<const ArrayOfBaseObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:801,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:801,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:802,1
    - Dst: util::nn_dynamic_pointer_cast<GenericName>
      Src: /src/PROJ/src/iso19111/common.cpp:804,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:806,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:806,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/common.cpp:809,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:809,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/common.cpp:810,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:811,1
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/src/iso19111/common.cpp:811,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/common.cpp:812,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:814,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:818,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/common.cpp:825,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:826,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:827,1
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/src/iso19111/common.cpp:827,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:829,1
    - Dst: setName
      Src: /src/PROJ/src/iso19111/common.cpp:842,1
    - Dst: setIdentifiers
      Src: /src/PROJ/src/iso19111/common.cpp:843,1
    - Dst: setAliases
      Src: /src/PROJ/src/iso19111/common.cpp:844,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/common.cpp:846,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:849,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/common.cpp:852,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:852,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/common.cpp:853,1
    - Dst: auto::booleanValue
      Src: /src/PROJ/src/iso19111/common.cpp:854,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:856,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:860,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/common.cpp:871,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/common.cpp:872,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/common.cpp:873,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:883,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:884,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:885,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:885,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:886,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/common.cpp:894,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/common.cpp:895,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:896,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/common.cpp:897,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/common.cpp:898,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:899,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/common.cpp:900,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:902,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:910,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/common.cpp:911,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:912,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:913,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:913,1
    - Dst: dynamic_cast<const IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:922,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/common.cpp:925,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:934,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:934,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:934,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/common.cpp:939,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:940,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:940,1
    - Dst: hasEquivalentNameToUsingAlias
      Src: /src/PROJ/src/iso19111/common.cpp:941,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:973,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:979,1
    - Dst: ObjectDomain::nn_make_shared<ObjectDomain>
      Src: /src/PROJ/src/iso19111/common.cpp:1013,1
    - Dst: scope_::has_value
      Src: /src/PROJ/src/iso19111/common.cpp:1020,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1021,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1022,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1023,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/common.cpp:1024,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1025,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1026,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1027,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1030,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1031,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1032,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1032,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1033,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1035,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/common.cpp:1036,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1037,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:1037,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1039,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1040,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1040,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1041,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1041,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1042,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1042,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1043,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1043,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1044,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1047,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1048,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1049,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1050,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1050,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1051,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1051,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/common.cpp:1052,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1053,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1055,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1056,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1057,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/common.cpp:1058,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1058,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1059,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1059,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1061,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1061,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/common.cpp:1063,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1063,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/common.cpp:1064,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1064,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1066,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1066,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1068,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/common.cpp:1078,1
    - Dst: scope_::has_value
      Src: /src/PROJ/src/iso19111/common.cpp:1079,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1080,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1081,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1084,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1085,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1086,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1086,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1088,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/common.cpp:1089,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1090,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:1090,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1092,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1093,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1094,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1095,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1095,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1096,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1097,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1097,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1098,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1099,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1099,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1100,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1101,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1101,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1104,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1106,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1107,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1108,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1109,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1110,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1110,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1111,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1112,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1112,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/common.cpp:1113,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1115,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:1116,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1119,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1121,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1122,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1123,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1124,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1125,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1125,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1126,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1127,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1127,1
    - Dst: dynamic_cast<const ObjectDomain *>
      Src: /src/PROJ/src/iso19111/common.cpp:1139,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/common.cpp:1142,1
    - Dst: auto::scope
      Src: /src/PROJ/src/iso19111/common.cpp:1142,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/common.cpp:1144,1
    - Dst: auto::scope
      Src: /src/PROJ/src/iso19111/common.cpp:1144,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1146,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1147,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1149,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1150,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1151,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1165,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1170,1
    - Dst: IdentifiedObject::setProperties
      Src: /src/PROJ/src/iso19111/common.cpp:1191,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/common.cpp:1193,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/common.cpp:1194,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:1198,1
    - Dst: util::nn_dynamic_pointer_cast<Extent>
      Src: /src/PROJ/src/iso19111/common.cpp:1200,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:1202,1
    - Dst: optional::has_value
      Src: /src/PROJ/src/iso19111/common.cpp:1208,1
    - Dst: domains_::emplace_back
      Src: /src/PROJ/src/iso19111/common.cpp:1209,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/common.cpp:1209,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:1213,1
    - Dst: util::nn_dynamic_pointer_cast<ObjectDomain>
      Src: /src/PROJ/src/iso19111/common.cpp:1216,1
    - Dst: domains_::emplace_back
      Src: /src/PROJ/src/iso19111/common.cpp:1217,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:1217,1
    - Dst: dynamic_cast<const ArrayOfBaseObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:1219,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:1220,1
    - Dst: util::nn_dynamic_pointer_cast<ObjectDomain>
      Src: /src/PROJ/src/iso19111/common.cpp:1223,1
    - Dst: domains_::emplace_back
      Src: /src/PROJ/src/iso19111/common.cpp:1225,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:1225,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:1227,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:1232,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/common.cpp:1242,1
    - Dst: outputUsage
      Src: /src/PROJ/src/iso19111/common.cpp:1243,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/common.cpp:1244,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:1245,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/common.cpp:1246,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1248,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/common.cpp:1249,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1250,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/common.cpp:1253,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/common.cpp:1257,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/common.cpp:1258,1
    - Dst: outputUsage
      Src: /src/PROJ/src/iso19111/common.cpp:1260,1
    - Dst: formatRemarks
      Src: /src/PROJ/src/iso19111/common.cpp:1261,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/common.cpp:1269,1
    - Dst: outputUsage
      Src: /src/PROJ/src/iso19111/common.cpp:1270,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/common.cpp:1271,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/common.cpp:1272,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:1273,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:1274,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1275,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/common.cpp:1276,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1278,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:1279,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/common.cpp:1284,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/common.cpp:1285,1
    - Dst: formatRemarks
      Src: /src/PROJ/src/iso19111/common.cpp:1287,1
    - Dst: dynamic_cast<const ObjectUsage *>
      Src: /src/PROJ/src/iso19111/common.cpp:1296,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/common.cpp:1301,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1318,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/common.cpp:1318,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1323,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1328,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 529
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 1344
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - ObjectDomain::nn_make_shared<ObjectDomain>
    - push_back
    - str_::empty
    - std::isinf
    - auto::southBoundLatitude
    - setName
    - version
    - outputId
    - scope
    - std::string
    - use2019Keywords
    - auto::booleanValue
    - auto::MakeArrayContext
    - DateTime
    - domains_::emplace_back
    - getSIValue
    - clear
    - aliases::empty
    - util::nn_make_shared<UnitOfMeasure>
    - _exportToWKT
    - auto::minimumValue
    - NN_NO_CHECK
    - auto::scope
    - util::nn_dynamic_pointer_cast<GenericName>
    - writer
    - std::make_unique<Private>
    - MakeObjectContext
    - size
    - domainOfValidity_::verticalElements
    - auto::northBoundLatitude
    - dynamic_cast<const ObjectDomain *>
    - formatID
    - util::nn_dynamic_pointer_cast<Identifier>
    - ci_equal
    - auto::maximumValue
    - IdentifiedObject::_isEquivalentTo
    - domainOfValidity_::temporalElements
    - endNode
    - get
    - util::nn_dynamic_pointer_cast<ObjectDomain>
    - domains
    - Identifier::createFromDescription
    - auto::AddObjKey
    - Identifier::isEquivalentName
    - domainOfValidity
    - auto::get
    - identifiers
    - str_::find
    - NameFactory::createLocalName
    - front
    - scope_::has_value
    - addQuotedString
    - hasEquivalentNameToUsingAlias
    - std::fabs
    - code
    - dynamic_cast<const GeographicBoundingBox *>
    - dynamic_cast<const IdentifiedObject *>
    - auto::stop
    - dynamic_cast<const ObjectUsage *>
    - dynamic_cast<const ArrayOfBaseObject *>
    - add
    - InvalidValueTypeException
    - ::fabs
    - auto::domainOfValidity
    - useESRIDialect
    - auto::start
    - optional::optional
    - ObjectDomain::create
    - Identifier::create
    - name::description
    - getStringValue
    - auto::unit
    - domainOfValidity_::geographicElements
    - auto::MakeObjectContext
    - empty
    - formatRemarks
    - auto::empty
    - auto::stringValue
    - unit_::conversionToSI
    - _exportToJSON
    - setIdentifiers
    - auto::westBoundLongitude
    - domainOfValidity_::description
    - nameStr
    - codeSpace
    - auto::eastBoundLongitude
    - conversionToSI
    - auto::nameStr
    - auto::type
    - type
    - auto::Add
    - IdentifiedObject::setProperties
    - outputUsage
    - ::atoi
    - toFullyQualifiedName
    - optional::has_value
    - pj_list_angular_units
    - forceUNITKeyword
    - auto::size
    - util::nn_dynamic_pointer_cast<Extent>
    - dynamic_cast<const BoxedValue *>
    - auto::_exportToJSON
    - DateTime::create
    - pj_list_linear_units
    - _isEquivalentTo
    - name
    - startNode
    - Measure
    - std::stoi
    - remarks
    - setAliases
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - nameIn
    - toSIIn
    - typeIn
    - codeSpaceIn
    - codeIn
    argTypes:
    - std::string
    - double
    - UnitOfMeasure::Type
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const std::string &nameIn, double toSIIn,\n            UnitOfMeasure::Type
      typeIn, const std::string &codeSpaceIn,\n            const std::string &codeIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - nameIn
    - toSIIn
    - typeIn
    - codeSpaceIn
    - codeIn
    argTypes:
    - std::string
    - double
    - UnitOfMeasure::Type
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: UnitOfMeasure::UnitOfMeasure
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void UnitOfMeasure::UnitOfMeasure(const std::string &nameIn, double
      toSIIn,\n                             UnitOfMeasure::Type typeIn,\n                             const
      std::string &codeSpaceIn,\n                             const std::string &codeIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: UnitOfMeasure::UnitOfMeasure
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void UnitOfMeasure::UnitOfMeasure(const UnitOfMeasure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: UnitOfMeasure::~UnitOfMeasure()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnitOfMeasure::~UnitOfMeasure()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '&UnitOfMeasure::operator=(const UnitOfMeasure &other)'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnitOfMeasure
    signature: UnitOfMeasure &UnitOfMeasure::operator=(const UnitOfMeasure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/common.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: UnitOfMeasure::create
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - util::nn_make_shared<UnitOfMeasure>
    linkageType: ''
    returnType: UnitOfMeasureNNPtr
    signature: UnitOfMeasureNNPtr UnitOfMeasure::create(const UnitOfMeasure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '&UnitOfMeasure::name()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &UnitOfMeasure::name()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: UnitOfMeasure::conversionToSI
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double UnitOfMeasure::conversionToSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: UnitOfMeasure::type
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: UnitOfMeasure::Type
    signature: UnitOfMeasure::Type UnitOfMeasure::type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '&UnitOfMeasure::codeSpace()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &UnitOfMeasure::codeSpace()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: '&UnitOfMeasure::code()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &UnitOfMeasure::code()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/common.cpp:182,1
    - Dst: UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/common.cpp:184,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/common.cpp:185,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:186,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:186,1
    - Dst: WKTFormatter*::forceUNITKeyword
      Src: /src/PROJ/src/iso19111/common.cpp:187,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:188,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:188,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:191,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:192,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:194,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:194,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:196,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:196,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:198,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:198,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:200,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:201,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:203,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:203,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:208,1
    - Dst: WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/common.cpp:209,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:211,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:212,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:213,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:214,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:215,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:216,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:218,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:221,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:223,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:226,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:228,1
    - Dst: WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/common.cpp:228,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:229,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:231,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:231,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/common.cpp:232,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/common.cpp:235,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:236,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:238,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:241,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:243,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:246,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 2
    argNames:
    - formatter
    - unitType
    argTypes:
    - WKTFormatter*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 247
    functionName: UnitOfMeasure::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached:
    - std::string::empty
    - code
    - WKTFormatter*::forceUNITKeyword
    - WKTFormatter*::add
    - WKTFormatter*::startNode
    - WKTFormatter*::outputId
    - name
    - codeSpace
    - WKTFormatter*::addQuotedString
    - UnitOfMeasure::type
    - WKTFormatter*::version
    - std::stoi
    - ci_equal
    - WKTFormatter*::endNode
    - WKTFormatter*::useESRIDialect
    - UnitOfMeasure::conversionToSI
    linkageType: ''
    returnType: void
    signature: "void UnitOfMeasure::_exportToWKT(\n    WKTFormatter *formatter,\n
      \   const std::string &unitType) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/common.cpp:254,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:255,1
    - Dst: JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:257,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:257,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:258,1
    - Dst: UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/common.cpp:259,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:261,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:263,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:265,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:267,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:269,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:271,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:274,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:275,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:276,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:278,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:279,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:280,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:282,1
    - Dst: JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/common.cpp:282,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:283,1
    - Dst: JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:284,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:285,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:286,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:287,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/common.cpp:288,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:290,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/common.cpp:290,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 295
    functionName: UnitOfMeasure::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - code
    - auto::Add
    - JSONFormatter*::writer
    - JSONFormatter*::MakeObjectContext
    - name
    - codeSpace
    - UnitOfMeasure::type
    - auto::AddObjKey
    - std::stoi
    - auto::empty
    - JSONFormatter*::outputId
    - UnitOfMeasure::conversionToSI
    linkageType: ''
    returnType: void
    signature: "void UnitOfMeasure::_exportToJSON(\n    JSONFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:306,1
    - Dst: UnitOfMeasure::name
      Src: /src/PROJ/src/iso19111/common.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: UnitOfMeasure::operator==(const UnitOfMeasure &other)
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - name
    - UnitOfMeasure::name
    linkageType: ''
    returnType: bool
    signature: bool UnitOfMeasure::operator==(const UnitOfMeasure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/PROJ/src/iso19111/common.cpp:316,1
    - Dst: UnitOfMeasure::name
      Src: /src/PROJ/src/iso19111/common.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: UnitOfMeasure::operator!=(const UnitOfMeasure &other)
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - name
    - UnitOfMeasure::name
    linkageType: ''
    returnType: bool
    signature: bool UnitOfMeasure::operator!=(const UnitOfMeasure &other)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/common.cpp:323,1
    - Dst: pj_list_linear_units
      Src: /src/PROJ/src/iso19111/common.cpp:324,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:326,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:326,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:327,1
    - Dst: UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/common.cpp:331,1
    - Dst: pj_list_angular_units
      Src: /src/PROJ/src/iso19111/common.cpp:332,1
    - Dst: ::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:334,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:334,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:335,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: UnitOfMeasure::exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - pj_list_angular_units
    - pj_list_linear_units
    - ::fabs
    - UnitOfMeasure::type
    - std::string
    - UnitOfMeasure::conversionToSI
    linkageType: ''
    returnType: std::string
    signature: std::string UnitOfMeasure::exportToPROJString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:352,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:352,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:352,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:353,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - other
    - criterion
    argTypes:
    - UnitOfMeasure
    - util::IComparable::Criterion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: UnitOfMeasure::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - UnitOfMeasure::conversionToSI
    - std::fabs
    linkageType: ''
    returnType: bool
    signature: "bool UnitOfMeasure::_isEquivalentTo(\n    const UnitOfMeasure &other,
      util::IComparable::Criterion criterion) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - valueIn
    - unitIn
    argTypes:
    - double
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(double valueIn, const UnitOfMeasure &unitIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - valueIn
    - unitIn
    argTypes:
    - double
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: Measure::Measure
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Measure::Measure(double valueIn, const UnitOfMeasure &unitIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: Measure::Measure
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Measure::Measure(const Measure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: Measure::~Measure()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Measure::~Measure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: '&Measure::unit()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnitOfMeasure
    signature: UnitOfMeasure &Measure::unit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Measure::getSIValue
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - unit_::conversionToSI
    linkageType: ''
    returnType: double
    signature: double Measure::getSIValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: Measure::value
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Measure::value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure::getSIValue
      Src: /src/PROJ/src/iso19111/common.cpp:414,1
    - Dst: UnitOfMeasure::conversionToSI
      Src: /src/PROJ/src/iso19111/common.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - otherUnit
    argTypes:
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Measure::convertToUnit
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - Measure::getSIValue
    - UnitOfMeasure::conversionToSI
    linkageType: ''
    returnType: double
    signature: double Measure::convertToUnit(const UnitOfMeasure &otherUnit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: Measure::operator==(const Measure &other)
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Measure::operator==(const Measure &other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Measure::getSIValue
      Src: /src/PROJ/src/iso19111/common.cpp:441,1
    - Dst: Measure::getSIValue
      Src: /src/PROJ/src/iso19111/common.cpp:442,1
    - Dst: std::isinf
      Src: /src/PROJ/src/iso19111/common.cpp:445,1
    - Dst: std::isinf
      Src: /src/PROJ/src/iso19111/common.cpp:445,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:447,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/common.cpp:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - other
    - criterion
    - maxRelativeError
    argTypes:
    - Measure
    - util::IComparable::Criterion
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: Measure::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - Measure::getSIValue
    - std::fabs
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: "bool Measure::_isEquivalentTo(const Measure &other,\n                              util::IComparable::Criterion
      criterion,\n                              double maxRelativeError) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: Scale::Scale
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scale::Scale(double valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - valueIn
    - unitIn
    argTypes:
    - double
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: Scale::Scale
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scale::Scale(double valueIn, const UnitOfMeasure &unitIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: Scale::Scale
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scale::Scale(const Scale &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: Scale::~Scale()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scale::~Scale()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Angle::Angle
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Angle::Angle(double valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - valueIn
    - unitIn
    argTypes:
    - double
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: Angle::Angle
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Angle::Angle(double valueIn, const UnitOfMeasure &unitIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: Angle::Angle
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Angle::Angle(const Angle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: Angle::~Angle()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Angle::~Angle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: Length::Length
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length::Length(double valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - valueIn
    - unitIn
    argTypes:
    - double
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: Length::Length
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length::Length(double valueIn, const UnitOfMeasure &unitIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: Length::Length
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length::Length(const Length &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: Length::~Length()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Length::~Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:553,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: DateTime::DateTime
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DateTime::DateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    functionName: DateTime::DateTime
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DateTime::DateTime(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    functionName: DateTime::DateTime
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DateTime::DateTime(const DateTime &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: '&DateTime::operator=(const DateTime &other)'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DateTime
    signature: DateTime &DateTime::operator=(const DateTime &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: DateTime::~DateTime()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DateTime::~DateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DateTime::DateTime
      Src: /src/PROJ/src/iso19111/common.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 585
    functionName: DateTime::create
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 12
    functionsReached:
    - DateTime::DateTime
    linkageType: ''
    returnType: DateTime
    signature: DateTime DateTime::create(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_::empty
      Src: /src/PROJ/src/iso19111/common.cpp:595,1
    - Dst: str_::find
      Src: /src/PROJ/src/iso19111/common.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: DateTime::isISO_8601
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - str_::empty
    - str_::find
    linkageType: ''
    returnType: bool
    signature: bool DateTime::isISO_8601() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: DateTime::toString
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DateTime::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: IdentifiedObject::IdentifiedObject
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::IdentifiedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - IdentifiedObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: IdentifiedObject::IdentifiedObject
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::IdentifiedObject(const IdentifiedObject &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: IdentifiedObject::~IdentifiedObject()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::~IdentifiedObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: '&IdentifiedObject::name()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IdentifierNNPtr
    signature: IdentifierNNPtr &IdentifiedObject::name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name::description
      Src: /src/PROJ/src/iso19111/common.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 656
    functionName: '&IdentifiedObject::nameStr()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - name::description
    linkageType: ''
    returnType: std::string
    signature: std::string &IdentifiedObject::nameStr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: '&

      IdentifiedObject::identifiers()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IdentifierNNPtr>
    signature: 'std::vector<IdentifierNNPtr> &

      IdentifiedObject::identifiers()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: '&

      IdentifiedObject::aliases()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GenericNameNNPtr>
    signature: 'std::vector<GenericNameNNPtr> &

      IdentifiedObject::aliases()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aliases::empty
      Src: /src/PROJ/src/iso19111/common.cpp:686,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:687,1
    - Dst: toFullyQualifiedName
      Src: /src/PROJ/src/iso19111/common.cpp:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 689
    functionName: IdentifiedObject::alias
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - aliases::empty
    - toFullyQualifiedName
    linkageType: ''
    returnType: std::string
    signature: std::string IdentifiedObject::alias()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/common.cpp:697,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:698,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/common.cpp:698,1
    - Dst: ::atoi
      Src: /src/PROJ/src/iso19111/common.cpp:699,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/common.cpp:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: IdentifiedObject::getEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - code
    - identifiers
    - codeSpace
    - ci_equal
    - ::atoi
    linkageType: ''
    returnType: int
    signature: int IdentifiedObject::getEPSGCode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 711
    functionName: '&IdentifiedObject::remarks()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &IdentifiedObject::remarks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: IdentifiedObject::isDeprecated
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IdentifiedObject::isDeprecated()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:727,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/common.cpp:731,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:731,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/common.cpp:732,1
    - Dst: Identifier::createFromDescription
      Src: /src/PROJ/src/iso19111/common.cpp:733,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/common.cpp:733,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:735,1
    - Dst: util::nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/src/iso19111/common.cpp:740,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:741,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - properties
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 747
    functionName: "IdentifiedObject::Private::setName(\n    const PropertyMap &properties)"
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::type
    - dynamic_cast<const BoxedValue *>
    - InvalidValueTypeException
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<Identifier>
    - Identifier::createFromDescription
    - PropertyMap::get
    - auto::stringValue
    linkageType: ''
    returnType: void
    signature: "void IdentifiedObject::Private::setName(\n    const PropertyMap &properties)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:754,1
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:757,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:759,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:760,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/common.cpp:761,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/common.cpp:761,1
    - Dst: util::nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/src/iso19111/common.cpp:765,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:766,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:767,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:767,1
    - Dst: dynamic_cast<const ArrayOfBaseObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:769,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:769,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:770,1
    - Dst: util::nn_dynamic_pointer_cast<Identifier>
      Src: /src/PROJ/src/iso19111/common.cpp:772,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:774,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:774,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:776,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:781,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - properties
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 785
    functionName: "IdentifiedObject::Private::setIdentifiers(\n    const PropertyMap
      &properties)"
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ArrayOfBaseObject *>
    - auto::get
    - Identifier::create
    - clear
    - InvalidValueTypeException
    - push_back
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<Identifier>
    - std::string
    - PropertyMap::get
    linkageType: ''
    returnType: void
    signature: "void IdentifiedObject::Private::setIdentifiers(\n    const PropertyMap
      &properties)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:792,1
    - Dst: util::nn_dynamic_pointer_cast<GenericName>
      Src: /src/PROJ/src/iso19111/common.cpp:796,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:797,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:798,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:798,1
    - Dst: dynamic_cast<const ArrayOfBaseObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:801,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:801,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:802,1
    - Dst: util::nn_dynamic_pointer_cast<GenericName>
      Src: /src/PROJ/src/iso19111/common.cpp:804,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:806,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:806,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/common.cpp:809,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:809,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/common.cpp:810,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:811,1
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/src/iso19111/common.cpp:811,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/common.cpp:812,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:814,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:818,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/common.cpp:825,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/common.cpp:826,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/common.cpp:827,1
    - Dst: NameFactory::createLocalName
      Src: /src/PROJ/src/iso19111/common.cpp:827,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - properties
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 834
    functionName: "IdentifiedObject::Private::setAliases(\n    const PropertyMap &properties)"
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ArrayOfBaseObject *>
    - auto::get
    - auto::type
    - util::nn_dynamic_pointer_cast<GenericName>
    - dynamic_cast<const BoxedValue *>
    - get
    - NameFactory::createLocalName
    - clear
    - InvalidValueTypeException
    - push_back
    - PropertyMap::getStringValue
    - NN_NO_CHECK
    - PropertyMap::get
    - auto::stringValue
    linkageType: ''
    returnType: void
    signature: "void IdentifiedObject::Private::setAliases(\n    const PropertyMap
      &properties)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setName
      Src: /src/PROJ/src/iso19111/common.cpp:842,1
    - Dst: setIdentifiers
      Src: /src/PROJ/src/iso19111/common.cpp:843,1
    - Dst: setAliases
      Src: /src/PROJ/src/iso19111/common.cpp:844,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/common.cpp:846,1
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:849,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/common.cpp:852,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:852,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/common.cpp:853,1
    - Dst: auto::booleanValue
      Src: /src/PROJ/src/iso19111/common.cpp:854,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:856,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - properties
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 865
    functionName: IdentifiedObject::setProperties
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - setName
    - dynamic_cast<const BoxedValue *>
    - auto::type
    - setIdentifiers
    - PropertyMap::getStringValue
    - InvalidValueTypeException
    - auto::booleanValue
    - PropertyMap::get
    - setAliases
    linkageType: ''
    returnType: void
    signature: "void IdentifiedObject::setProperties(\n    const PropertyMap &properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/common.cpp:871,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/common.cpp:872,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/common.cpp:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 878
    functionName: IdentifiedObject::formatID
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - _exportToWKT
    - identifiers
    - WKTFormatter*::version
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::formatID(WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:883,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:884,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:885,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:885,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: IdentifiedObject::formatRemarks
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter*::startNode
    - remarks
    - WKTFormatter*::addQuotedString
    - WKTFormatter*::endNode
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::formatRemarks(WKTFormatter *formatter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/common.cpp:894,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/common.cpp:895,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:896,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/common.cpp:897,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/common.cpp:898,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:899,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/common.cpp:900,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 5
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: IdentifiedObject::formatID
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - size
    - _exportToJSON
    - JSONFormatter*::writer
    - front
    - empty
    - auto::AddObjKey
    - auto::MakeArrayContext
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::formatID(JSONFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:910,1
    - Dst: JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/common.cpp:911,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:912,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:913,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/common.cpp:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 915
    functionName: IdentifiedObject::formatRemarks
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - JSONFormatter*::writer
    - remarks
    - auto::Add
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: void IdentifiedObject::formatRemarks(JSONFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const IdentifiedObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:922,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/common.cpp:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 926
    functionName: IdentifiedObject::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const IdentifiedObject *>
    - IdentifiedObject::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool IdentifiedObject::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/common.cpp:934,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:934,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:934,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/common.cpp:939,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:940,1
    - Dst: IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/common.cpp:940,1
    - Dst: IdentifiedObject::hasEquivalentNameToUsingAlias
      Src: /src/PROJ/src/iso19111/common.cpp:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - otherIdObj
    - criterion
    - dbContext
    argTypes:
    - IdentifiedObject*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 945
    functionName: IdentifiedObject::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 8
    functionsReached:
    - IdentifiedObject*::nameStr
    - nameStr
    - IdentifiedObject::hasEquivalentNameToUsingAlias
    - ci_equal
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: bool
    signature: "bool IdentifiedObject::_isEquivalentTo(\n    const IdentifiedObject
      *otherIdObj, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: IdentifiedObject::hasEquivalentNameToUsingAlias
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IdentifiedObject::hasEquivalentNameToUsingAlias(\n    const IdentifiedObject
      *, const io::DatabaseContextPtr &) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - scopeIn
    - extent
    argTypes:
    - optional<std::string>
    - ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 964
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const optional<std::string> &scopeIn, const ExtentPtr
      &extent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - scopeIn
    - extent
    argTypes:
    - optional<std::string>
    - ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 973
    functionName: ObjectDomain::ObjectDomain
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void ObjectDomain::ObjectDomain(const optional<std::string> &scopeIn,\n
      \                          const ExtentPtr &extent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - ObjectDomain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 979
    functionName: ObjectDomain::ObjectDomain
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ObjectDomain::ObjectDomain(const ObjectDomain &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 984
    functionName: ObjectDomain::~ObjectDomain()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectDomain::~ObjectDomain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 995
    functionName: '&ObjectDomain::scope()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> &ObjectDomain::scope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1005
    functionName: '&ObjectDomain::domainOfValidity()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ExtentPtr
    signature: ExtentPtr &ObjectDomain::domainOfValidity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjectDomain::nn_make_shared<ObjectDomain>
      Src: /src/PROJ/src/iso19111/common.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scopeIn
    - extent
    argTypes:
    - optional<std::string>
    - ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1014
    functionName: ObjectDomain::create
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 5
    functionsReached:
    - ObjectDomain::nn_make_shared<ObjectDomain>
    linkageType: ''
    returnType: ObjectDomainNNPtr
    signature: "ObjectDomainNNPtr ObjectDomain::create(const optional<std::string>
      &scopeIn,\n                                       const ExtentPtr &extent)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: scope_::has_value
      Src: /src/PROJ/src/iso19111/common.cpp:1020,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1021,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1022,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1023,1
    - Dst: WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/common.cpp:1024,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1025,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1026,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1027,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1030,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1031,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1032,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1032,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1033,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1035,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/common.cpp:1036,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1037,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:1037,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1039,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1040,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1040,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1041,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1041,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1042,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1042,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1043,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1043,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1044,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1047,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1048,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1049,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1050,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1050,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1051,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1051,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/common.cpp:1052,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1053,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1055,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1056,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1057,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/common.cpp:1058,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1058,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1059,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1059,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1061,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1061,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/common.cpp:1063,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1063,1
    - Dst: WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/common.cpp:1064,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1064,1
    - Dst: WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/common.cpp:1066,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1066,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1068,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1071
    functionName: ObjectDomain::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - auto::westBoundLongitude
    - auto::minimumValue
    - domainOfValidity_::description
    - auto::eastBoundLongitude
    - scope_::has_value
    - WKTFormatter*::endNode
    - auto::southBoundLatitude
    - dynamic_cast<const GeographicBoundingBox *>
    - auto::stop
    - domainOfValidity_::verticalElements
    - auto::northBoundLatitude
    - WKTFormatter*::addQuotedString
    - auto::maximumValue
    - auto::start
    - domainOfValidity_::temporalElements
    - get
    - WKTFormatter*::add
    - WKTFormatter*::startNode
    - DateTime::create
    - auto::unit
    - domainOfValidity_::geographicElements
    - WKTFormatter*::use2019Keywords
    linkageType: ''
    returnType: void
    signature: void ObjectDomain::_exportToWKT(WKTFormatter *formatter) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/common.cpp:1078,1
    - Dst: scope_::has_value
      Src: /src/PROJ/src/iso19111/common.cpp:1079,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1080,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1081,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1084,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1085,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1086,1
    - Dst: domainOfValidity_::description
      Src: /src/PROJ/src/iso19111/common.cpp:1086,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1088,1
    - Dst: dynamic_cast<const GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/common.cpp:1089,1
    - Dst: domainOfValidity_::geographicElements
      Src: /src/PROJ/src/iso19111/common.cpp:1090,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/common.cpp:1090,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1092,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1093,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1094,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1095,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1095,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1096,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1097,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1097,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1098,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1099,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/common.cpp:1099,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1100,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1101,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/common.cpp:1101,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1104,1
    - Dst: domainOfValidity_::verticalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1106,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1107,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1108,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1109,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1110,1
    - Dst: auto::minimumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1110,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1111,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1112,1
    - Dst: auto::maximumValue
      Src: /src/PROJ/src/iso19111/common.cpp:1112,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/common.cpp:1113,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1115,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:1116,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1119,1
    - Dst: domainOfValidity_::temporalElements
      Src: /src/PROJ/src/iso19111/common.cpp:1121,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1122,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1123,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1124,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1125,1
    - Dst: auto::start
      Src: /src/PROJ/src/iso19111/common.cpp:1125,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1126,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/common.cpp:1127,1
    - Dst: auto::stop
      Src: /src/PROJ/src/iso19111/common.cpp:1127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1130
    functionName: ObjectDomain::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - auto::westBoundLongitude
    - auto::minimumValue
    - domainOfValidity_::description
    - auto::eastBoundLongitude
    - scope_::has_value
    - auto::southBoundLatitude
    - auto::Add
    - dynamic_cast<const GeographicBoundingBox *>
    - auto::stop
    - domainOfValidity_::verticalElements
    - auto::northBoundLatitude
    - auto::maximumValue
    - auto::start
    - domainOfValidity_::temporalElements
    - auto::_exportToJSON
    - get
    - auto::unit
    - JSONFormatter*::writer
    - domainOfValidity_::geographicElements
    - auto::MakeObjectContext
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: void ObjectDomain::_exportToJSON(JSONFormatter *formatter) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ObjectDomain *>
      Src: /src/PROJ/src/iso19111/common.cpp:1139,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/common.cpp:1142,1
    - Dst: auto::scope
      Src: /src/PROJ/src/iso19111/common.cpp:1142,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/common.cpp:1144,1
    - Dst: auto::scope
      Src: /src/PROJ/src/iso19111/common.cpp:1144,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1146,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1147,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1149,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1150,1
    - Dst: auto::domainOfValidity
      Src: /src/PROJ/src/iso19111/common.cpp:1151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1152
    functionName: ObjectDomain::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ObjectDomain *>
    - scope
    - auto::domainOfValidity
    - auto::scope
    - domainOfValidity
    linkageType: ''
    returnType: bool
    signature: "bool ObjectDomain::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1165
    functionName: ObjectUsage::ObjectUsage
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ObjectUsage::ObjectUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - ObjectUsage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1170
    functionName: ObjectUsage::ObjectUsage
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ObjectUsage::ObjectUsage(const ObjectUsage &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1175
    functionName: ObjectUsage::~ObjectUsage()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectUsage::~ObjectUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1184
    functionName: '&ObjectUsage::domains()'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<ObjectDomainNNPtr>
    signature: std::vector<ObjectDomainNNPtr> &ObjectUsage::domains()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IdentifiedObject::setProperties
      Src: /src/PROJ/src/iso19111/common.cpp:1191,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/common.cpp:1193,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/common.cpp:1194,1
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:1198,1
    - Dst: util::nn_dynamic_pointer_cast<Extent>
      Src: /src/PROJ/src/iso19111/common.cpp:1200,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:1202,1
    - Dst: optional::has_value
      Src: /src/PROJ/src/iso19111/common.cpp:1208,1
    - Dst: domains_::emplace_back
      Src: /src/PROJ/src/iso19111/common.cpp:1209,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/common.cpp:1209,1
    - Dst: PropertyMap::get
      Src: /src/PROJ/src/iso19111/common.cpp:1213,1
    - Dst: util::nn_dynamic_pointer_cast<ObjectDomain>
      Src: /src/PROJ/src/iso19111/common.cpp:1216,1
    - Dst: domains_::emplace_back
      Src: /src/PROJ/src/iso19111/common.cpp:1217,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:1217,1
    - Dst: dynamic_cast<const ArrayOfBaseObject *>
      Src: /src/PROJ/src/iso19111/common.cpp:1219,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/common.cpp:1220,1
    - Dst: util::nn_dynamic_pointer_cast<ObjectDomain>
      Src: /src/PROJ/src/iso19111/common.cpp:1223,1
    - Dst: domains_::emplace_back
      Src: /src/PROJ/src/iso19111/common.cpp:1225,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/common.cpp:1225,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:1227,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/common.cpp:1232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - properties
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1237
    functionName: ObjectUsage::setProperties
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const ArrayOfBaseObject *>
    - optional::has_value
    - domains_::emplace_back
    - auto::get
    - optional::optional
    - ObjectDomain::create
    - util::nn_dynamic_pointer_cast<Extent>
    - IdentifiedObject::setProperties
    - PropertyMap::getStringValue
    - InvalidValueTypeException
    - util::nn_dynamic_pointer_cast<ObjectDomain>
    - NN_NO_CHECK
    - PropertyMap::get
    linkageType: ''
    returnType: void
    signature: "void ObjectUsage::setProperties(\n    const PropertyMap &properties)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/common.cpp:1242,1
    - Dst: WKTFormatter*::outputUsage
      Src: /src/PROJ/src/iso19111/common.cpp:1243,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/common.cpp:1244,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:1245,1
    - Dst: WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/common.cpp:1246,1
    - Dst: WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/common.cpp:1248,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/common.cpp:1249,1
    - Dst: WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/common.cpp:1250,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/common.cpp:1253,1
    - Dst: WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/common.cpp:1257,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/common.cpp:1258,1
    - Dst: WKTFormatter*::outputUsage
      Src: /src/PROJ/src/iso19111/common.cpp:1260,1
    - Dst: formatRemarks
      Src: /src/PROJ/src/iso19111/common.cpp:1261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1263
    functionName: ObjectUsage::baseExportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached:
    - WKTFormatter*::startNode
    - WKTFormatter*::outputId
    - domains
    - WKTFormatter*::use2019Keywords
    - formatID
    - formatRemarks
    - WKTFormatter*::version
    - _exportToWKT
    - auto::empty
    - WKTFormatter*::outputUsage
    - WKTFormatter*::endNode
    linkageType: ''
    returnType: void
    signature: void ObjectUsage::baseExportToWKT(WKTFormatter *formatter) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/common.cpp:1269,1
    - Dst: JSONFormatter*::outputUsage
      Src: /src/PROJ/src/iso19111/common.cpp:1270,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/common.cpp:1271,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/common.cpp:1272,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:1273,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/common.cpp:1274,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/common.cpp:1275,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/common.cpp:1276,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/common.cpp:1278,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/common.cpp:1279,1
    - Dst: JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/common.cpp:1284,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/common.cpp:1285,1
    - Dst: formatRemarks
      Src: /src/PROJ/src/iso19111/common.cpp:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1267
    functionDepth: 5
    functionLinenumber: 1267
    functionLinenumberEnd: 1288
    functionName: ObjectUsage::baseExportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 6
    functionsReached:
    - _exportToJSON
    - auto::size
    - JSONFormatter*::writer
    - domains
    - auto::MakeObjectContext
    - formatID
    - formatRemarks
    - auto::AddObjKey
    - JSONFormatter*::outputUsage
    - auto::empty
    - JSONFormatter*::outputId
    - auto::MakeArrayContext
    linkageType: ''
    returnType: void
    signature: void ObjectUsage::baseExportToJSON(JSONFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ObjectUsage *>
      Src: /src/PROJ/src/iso19111/common.cpp:1296,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/common.cpp:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: ObjectUsage::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const ObjectUsage *>
    - IdentifiedObject::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool ObjectUsage::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - coordinateEpochIn
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1312
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const Measure &coordinateEpochIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1318,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/common.cpp:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1318
    functionName: DataEpoch::DataEpoch
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Private>
    - Measure
    linkageType: ''
    returnType: void
    signature: void DataEpoch::DataEpoch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - coordinateEpochIn
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1323
    functionName: DataEpoch::DataEpoch
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DataEpoch::DataEpoch(const Measure &coordinateEpochIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/common.cpp:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DataEpoch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1328
    functionName: DataEpoch::DataEpoch
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void DataEpoch::DataEpoch(const DataEpoch &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1333
    functionName: DataEpoch::~DataEpoch()
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataEpoch::~DataEpoch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1342
    functionName: '&DataEpoch::coordinateEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Measure
    signature: Measure &DataEpoch::coordinateEpoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: nn<NS_PROJ::util::BaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: nn<NS_PROJ::util::BoxedValuePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: nn<NS_PROJ::util::LocalNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: nn<NS_PROJ::util::GenericNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: nn<NS_PROJ::util::NameSpacePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: nn<NS_PROJ::util::BaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: nn<NS_PROJ::util::BoxedValuePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: nn<NS_PROJ::util::LocalNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: nn<NS_PROJ::util::GenericNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: nn<NS_PROJ::util::NameSpacePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: nn<NS_PROJ::util::BaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: nn<NS_PROJ::util::BoxedValuePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: nn<NS_PROJ::util::LocalNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: nn<NS_PROJ::util::GenericNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: nn<NS_PROJ::util::NameSpacePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: nn<NS_PROJ::util::BaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: nn<NS_PROJ::util::BoxedValuePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: nn<NS_PROJ::util::LocalNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: nn<NS_PROJ::util::GenericNamePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: nn<NS_PROJ::util::NameSpacePtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:70,1
    - Dst: self_::reset
      Src: /src/PROJ/src/iso19111/util.cpp:87,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/util.cpp:99,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/util.cpp:99,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/util.cpp:100,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/util.cpp:110,1
    - Dst: self_::lock
      Src: /src/PROJ/src/iso19111/util.cpp:110,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:136,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/util.cpp:136,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:143,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/util.cpp:144,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:151,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:158,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:165,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:171,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:204,1
    - Dst: values_::emplace_back
      Src: /src/PROJ/src/iso19111/util.cpp:218,1
    - Dst: values_::begin
      Src: /src/PROJ/src/iso19111/util.cpp:225,1
    - Dst: values_::end
      Src: /src/PROJ/src/iso19111/util.cpp:231,1
    - Dst: values_::empty
      Src: /src/PROJ/src/iso19111/util.cpp:236,1
    - Dst: ArrayOfBaseObject::nn_make_shared<ArrayOfBaseObject>
      Src: /src/PROJ/src/iso19111/util.cpp:246,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/util.cpp:263,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:270,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:276,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/util.cpp:303,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/util.cpp:303,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/util.cpp:305,1
    - Dst: list_::emplace_back
      Src: /src/PROJ/src/iso19111/util.cpp:323,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:331,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:331,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:339,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:339,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:347,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:347,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:355,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:355,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/util.cpp:364,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/util.cpp:366,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:366,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:368,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/util.cpp:380,1
    - Dst: second::get
      Src: /src/PROJ/src/iso19111/util.cpp:380,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/util.cpp:381,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/util.cpp:382,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/util.cpp:385,1
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/util.cpp:401,1
    - Dst: second::get
      Src: /src/PROJ/src/iso19111/util.cpp:401,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/util.cpp:402,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/util.cpp:403,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/util.cpp:406,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:421,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:426,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/util.cpp:440,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/util.cpp:441,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:448,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:455,1
    - Dst: NameSpace::nn_make_shared<NameSpace>
      Src: /src/PROJ/src/iso19111/util.cpp:471,1
    - Dst: LocalName::make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:473,1
    - Dst: NameSpace::nn_make_shared<NameSpace>
      Src: /src/PROJ/src/iso19111/util.cpp:489,1
    - Dst: LocalName::make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:490,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:506,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:513,1
    - Dst: static_cast<NameSpacePtr>
      Src: /src/PROJ/src/iso19111/util.cpp:514,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:521,1
    - Dst: scope
      Src: /src/PROJ/src/iso19111/util.cpp:540,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:541,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:543,1
    - Dst: scope::getGlobalFromThis
      Src: /src/PROJ/src/iso19111/util.cpp:544,1
    - Dst: scope::name
      Src: /src/PROJ/src/iso19111/util.cpp:545,1
    - Dst: scope::separator
      Src: /src/PROJ/src/iso19111/util.cpp:546,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/util.cpp:565,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/util.cpp:566,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:581,1
    - Dst: separator
      Src: /src/PROJ/src/iso19111/util.cpp:596,1
    - Dst: separator
      Src: /src/PROJ/src/iso19111/util.cpp:597,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:605,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/util.cpp:642,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/util.cpp:707,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 166
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (self.get() == this)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/PROJ/src/iso19111/util.cpp
    constantsTouched: []
    func_position:
      end: 712
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 712
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - scope::separator
    - values_::end
    - scope::getGlobalFromThis
    - auto::erase
    - values_::begin
    - static_cast<NameSpacePtr>
    - separator
    - ArrayOfBaseObject::create
    - assert
    - ArrayOfBaseObjectNNPtr::add
    - values_::empty
    - std::make_unique<Private>
    - scope
    - values_::emplace_back
    - std::string
    - NN_CHECK_ASSERT
    - self_::lock
    - auto::begin
    - LocalName::nn_make_shared<LocalName>
    - list_::emplace_back
    - scope::name
    - InvalidValueTypeException
    - ArrayOfBaseObject::nn_make_shared<ArrayOfBaseObject>
    - as_nullable
    - emplace_back
    - self_::reset
    - c_str
    - dynamic_cast<const BoxedValue *>
    - get
    - set
    - getStringValue
    - _isEquivalentTo
    - auto::end
    - NameSpace::nn_make_shared<NameSpace>
    - auto::type
    - LocalName::make_shared<LocalName>
    - auto::stringValue
    - util::nn_make_shared<BoxedValue>
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: BaseObject::BaseObject
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BaseObject::BaseObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: BaseObject::~BaseObject()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseObject::~BaseObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: BaseObjectNNPtr::~BaseObjectNNPtr()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseObjectNNPtr::~BaseObjectNNPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_::reset
      Src: /src/PROJ/src/iso19111/util.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '&BaseObject::operator=(BaseObject &&)'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - self_::reset
    linkageType: ''
    returnType: BaseObject
    signature: BaseObject &BaseObject::operator=(BaseObject &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/util.cpp:99,1
    - Dst: BaseObjectNNPtr::get
      Src: /src/PROJ/src/iso19111/util.cpp:99,1
    - Dst: BaseObjectNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/util.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - BaseObjectNNPtr
    assertStmts:
    - condition: (self.get() == this)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/PROJ/src/iso19111/util.cpp
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: BaseObject::assignSelf
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - BaseObjectNNPtr::get
    - BaseObjectNNPtr::as_nullable
    - assert
    linkageType: ''
    returnType: void
    signature: void BaseObject::assignSelf(const BaseObjectNNPtr &self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/util.cpp:110,1
    - Dst: self_::lock
      Src: /src/PROJ/src/iso19111/util.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: BaseObject::shared_from_this
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - self_::lock
    - NN_CHECK_ASSERT
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr BaseObject::shared_from_this() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stringValueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &stringValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - integerValueIn
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(int integerValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - booleanValueIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(bool booleanValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:136,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/util.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: BoxedValue::BoxedValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BoxedValue::BoxedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:143,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/util.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stringValueIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: BoxedValue::BoxedValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BoxedValue::BoxedValue(const char *stringValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stringValueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: BoxedValue::BoxedValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BoxedValue::BoxedValue(const std::string &stringValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - integerValueIn
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: BoxedValue::BoxedValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BoxedValue::BoxedValue(int integerValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - booleanValueIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: BoxedValue::BoxedValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BoxedValue::BoxedValue(bool booleanValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - BoxedValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: BoxedValue::BoxedValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void BoxedValue::BoxedValue(const BoxedValue &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: BoxedValue::~BoxedValue()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoxedValue::~BoxedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: '&BoxedValue::type() const'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoxedValue::Type
    signature: BoxedValue::Type &BoxedValue::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '&BoxedValue::stringValue() const'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &BoxedValue::stringValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: BoxedValue::integerValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BoxedValue::integerValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: BoxedValue::booleanValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BoxedValue::booleanValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: ArrayOfBaseObject::ArrayOfBaseObject
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ArrayOfBaseObject::ArrayOfBaseObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ArrayOfBaseObject::~ArrayOfBaseObject()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArrayOfBaseObject::~ArrayOfBaseObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values_::emplace_back
      Src: /src/PROJ/src/iso19111/util.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - BaseObjectNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: ArrayOfBaseObject::add
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - values_::emplace_back
    linkageType: ''
    returnType: void
    signature: void ArrayOfBaseObject::add(const BaseObjectNNPtr &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values_::begin
      Src: /src/PROJ/src/iso19111/util.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: ArrayOfBaseObject::begin
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - values_::begin
    linkageType: ''
    returnType: std::vector<BaseObjectNNPtr>::const_iterator
    signature: std::vector<BaseObjectNNPtr>::const_iterator ArrayOfBaseObject::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values_::end
      Src: /src/PROJ/src/iso19111/util.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: ArrayOfBaseObject::end
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - values_::end
    linkageType: ''
    returnType: std::vector<BaseObjectNNPtr>::const_iterator
    signature: std::vector<BaseObjectNNPtr>::const_iterator ArrayOfBaseObject::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values_::empty
      Src: /src/PROJ/src/iso19111/util.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ArrayOfBaseObject::empty
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - values_::empty
    linkageType: ''
    returnType: bool
    signature: bool ArrayOfBaseObject::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::nn_make_shared<ArrayOfBaseObject>
      Src: /src/PROJ/src/iso19111/util.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: ArrayOfBaseObject::create
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 5
    functionsReached:
    - ArrayOfBaseObject::nn_make_shared<ArrayOfBaseObject>
    linkageType: ''
    returnType: ArrayOfBaseObjectNNPtr
    signature: ArrayOfBaseObjectNNPtr ArrayOfBaseObject::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/util.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - BoxedValueNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: set
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 354
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void set(const std::string &key, const BoxedValueNNPtr &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: PropertyMap::PropertyMap
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 79
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void PropertyMap::PropertyMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: PropertyMap::PropertyMap
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 79
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void PropertyMap::PropertyMap(const PropertyMap &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: PropertyMap::~PropertyMap()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PropertyMap::~PropertyMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: PropertyMap::get
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr *PropertyMap::get(const std::string &key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/util.cpp:303,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/util.cpp:303,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/util.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: PropertyMap::unset
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::erase
    - auto::end
    linkageType: ''
    returnType: void
    signature: void PropertyMap::unset(const std::string &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_::emplace_back
      Src: /src/PROJ/src/iso19111/util.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - BaseObjectNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: "&PropertyMap::set(const std::string &key,\n                              const
      BaseObjectNNPtr &val)"
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - list_::emplace_back
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap &PropertyMap::set(const std::string &key,\n                              const
      BaseObjectNNPtr &val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:331,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: '&PropertyMap::set(const std::string &key, const std::string &val)'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - util::nn_make_shared<BoxedValue>
    - set
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap &PropertyMap::set(const std::string &key, const std::string
      &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:339,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '&PropertyMap::set(const std::string &key, const char *val)'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - util::nn_make_shared<BoxedValue>
    - set
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap &PropertyMap::set(const std::string &key, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:347,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: '&PropertyMap::set(const std::string &key, int val)'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - util::nn_make_shared<BoxedValue>
    - set
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap &PropertyMap::set(const std::string &key, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:355,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: '&PropertyMap::set(const std::string &key, bool val)'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - util::nn_make_shared<BoxedValue>
    - set
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap &PropertyMap::set(const std::string &key, bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/util.cpp:364,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/util.cpp:366,1
    - Dst: util::nn_make_shared<BoxedValue>
      Src: /src/PROJ/src/iso19111/util.cpp:366,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/util.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - arrayIn
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: "&PropertyMap::set(const std::string &key,\n                              const
      std::vector<std::string> &arrayIn)"
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - set
    - ArrayOfBaseObject::create
    - util::nn_make_shared<BoxedValue>
    - ArrayOfBaseObjectNNPtr::add
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap &PropertyMap::set(const std::string &key,\n                              const
      std::vector<std::string> &arrayIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/util.cpp:380,1
    - Dst: second::get
      Src: /src/PROJ/src/iso19111/util.cpp:380,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/util.cpp:381,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/util.cpp:382,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/util.cpp:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - key
    - outVal
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: PropertyMap::getStringValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 7
    functionsReached:
    - second::get
    - dynamic_cast<const BoxedValue *>
    - InvalidValueTypeException
    - auto::type
    - auto::stringValue
    linkageType: ''
    returnType: bool
    signature: "bool PropertyMap::getStringValue(\n    const std::string &key,\n    std::string
      &outVal) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const BoxedValue *>
      Src: /src/PROJ/src/iso19111/util.cpp:401,1
    - Dst: second::get
      Src: /src/PROJ/src/iso19111/util.cpp:401,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/util.cpp:402,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/util.cpp:403,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/src/iso19111/util.cpp:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - key
    - outVal
    argTypes:
    - std::string
    - optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: PropertyMap::getStringValue
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 7
    functionsReached:
    - second::get
    - dynamic_cast<const BoxedValue *>
    - InvalidValueTypeException
    - auto::type
    - auto::stringValue
    linkageType: ''
    returnType: bool
    signature: "bool PropertyMap::getStringValue(\n    const std::string &key,\n    optional<std::string>
      &outVal) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: GenericName::GenericName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void GenericName::GenericName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - GenericName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    functionName: GenericName::GenericName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void GenericName::GenericName(const GenericName &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: GenericName::~GenericName()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericName::~GenericName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - GenericNamePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: NameSpace::NameSpace
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void NameSpace::NameSpace(const GenericNamePtr &nameIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - NameSpace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: NameSpace::NameSpace
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void NameSpace::NameSpace(const NameSpace &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: NameSpace::~NameSpace()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameSpace::~NameSpace()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: NameSpace::isGlobal
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NameSpace::isGlobal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NameSpace::nn_make_shared<NameSpace>
      Src: /src/PROJ/src/iso19111/util.cpp:471,1
    - Dst: LocalName::make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: NameSpace::getGlobalFromThis
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - NameSpace::nn_make_shared<NameSpace>
    - LocalName::make_shared<LocalName>
    linkageType: ''
    returnType: NameSpaceNNPtr
    signature: NameSpaceNNPtr NameSpace::getGlobalFromThis() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: '&NameSpace::name() const'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericNamePtr
    signature: GenericNamePtr &NameSpace::name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: '&NameSpace::separator() const'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &NameSpace::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NameSpace::nn_make_shared<NameSpace>
      Src: /src/PROJ/src/iso19111/util.cpp:489,1
    - Dst: LocalName::make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: NameSpace::createGLOBAL
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - NameSpace::nn_make_shared<NameSpace>
    - LocalName::make_shared<LocalName>
    linkageType: ''
    returnType: NameSpaceNNPtr
    signature: NameSpaceNNPtr NameSpace::createGLOBAL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: LocalName::LocalName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void LocalName::LocalName(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:513,1
    - Dst: static_cast<NameSpacePtr>
      Src: /src/PROJ/src/iso19111/util.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ns
    - name
    argTypes:
    - NameSpacePtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: LocalName::LocalName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - static_cast<NameSpacePtr>
    linkageType: ''
    returnType: void
    signature: void LocalName::LocalName(const NameSpacePtr &ns, const std::string
      &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/util.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - LocalName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: LocalName::LocalName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void LocalName::LocalName(const LocalName &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: LocalName::~LocalName()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocalName::~LocalName()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: LocalName::scope
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NameSpacePtr
    signature: NameSpacePtr LocalName::scope() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LocalName::scope
      Src: /src/PROJ/src/iso19111/util.cpp:540,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:541,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:543,1
    - Dst: scope::getGlobalFromThis
      Src: /src/PROJ/src/iso19111/util.cpp:544,1
    - Dst: scope::name
      Src: /src/PROJ/src/iso19111/util.cpp:545,1
    - Dst: scope::separator
      Src: /src/PROJ/src/iso19111/util.cpp:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: LocalName::toFullyQualifiedName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - scope::separator
    - LocalName::nn_make_shared<LocalName>
    - scope::getGlobalFromThis
    - scope::name
    - LocalName::scope
    linkageType: ''
    returnType: GenericNameNNPtr
    signature: GenericNameNNPtr LocalName::toFullyQualifiedName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    functionName: LocalName::toString
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LocalName::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/util.cpp:565,1
    - Dst: PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/util.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - properties
    argTypes:
    - GenericNameNNPtr
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: NameFactory::createNameSpace
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::getStringValue
    linkageType: ''
    returnType: NameSpaceNNPtr
    signature: "NameSpaceNNPtr NameFactory::createNameSpace(const GenericNameNNPtr
      &name,\n                                            const PropertyMap &properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scope
    - name
    argTypes:
    - NameSpacePtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: NameFactory::createLocalName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 4
    functionsReached:
    - LocalName::nn_make_shared<LocalName>
    linkageType: ''
    returnType: LocalNameNNPtr
    signature: "LocalNameNNPtr NameFactory::createLocalName(const NameSpacePtr &scope,\n
      \                                           const std::string &name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NameSpacePtr::separator
      Src: /src/PROJ/src/iso19111/util.cpp:596,1
    - Dst: separator
      Src: /src/PROJ/src/iso19111/util.cpp:597,1
    - Dst: LocalName::nn_make_shared<LocalName>
      Src: /src/PROJ/src/iso19111/util.cpp:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - scope
    - parsedNames
    argTypes:
    - NameSpacePtr
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 606
    functionName: NameFactory::createGenericName
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - LocalName::nn_make_shared<LocalName>
    - separator
    - NameSpacePtr::separator
    linkageType: ''
    returnType: GenericNameNNPtr
    signature: "GenericNameNNPtr NameFactory::createGenericName(const NameSpacePtr
      &scope,\n                               const std::vector<std::string> &parsedNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 611
    functionName: CodeList::~CodeList()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeList::~CodeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - CodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: '&CodeList::operator=(const CodeList &other)'
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CodeList
    signature: CodeList &CodeList::operator=(const CodeList &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: Exception::Exception
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: Exception::Exception
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: Exception::Exception
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const Exception &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: Exception::~Exception()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::~Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/util.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: Exception::what
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *Exception::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: InvalidValueTypeException::InvalidValueTypeException
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidValueTypeException::InvalidValueTypeException(const char
      *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: InvalidValueTypeException::InvalidValueTypeException
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidValueTypeException::InvalidValueTypeException(const std::string
      &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: InvalidValueTypeException::~InvalidValueTypeException()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidValueTypeException::~InvalidValueTypeException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: InvalidValueTypeException::InvalidValueTypeException
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InvalidValueTypeException::InvalidValueTypeException(\n    const
      InvalidValueTypeException &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: UnsupportedOperationException::UnsupportedOperationException
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsupportedOperationException::UnsupportedOperationException(\n
      \   const char *message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: UnsupportedOperationException::UnsupportedOperationException
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsupportedOperationException::UnsupportedOperationException(\n
      \   const std::string &message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: UnsupportedOperationException::~UnsupportedOperationException()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsupportedOperationException::~UnsupportedOperationException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 685
    functionName: UnsupportedOperationException::UnsupportedOperationException
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsupportedOperationException::UnsupportedOperationException(\n
      \   const UnsupportedOperationException &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: IComparable::~IComparable()
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IComparable::~IComparable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/util.cpp:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - IComparable*
    - Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: IComparable::isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/util.cpp
    functionUses: 0
    functionsReached:
    - _isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool IComparable::isEquivalentTo(\n    const IComparable *other, Criterion
      criterion,\n    const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::crs::CRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::crs::CRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::crs::CRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: nn<NS_PROJ::crs::CRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/crs.cpp:115,1
    - Dst: dynamic_cast<const util::BoxedValue *>
      Src: /src/PROJ/src/iso19111/crs.cpp:118,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:118,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/crs.cpp:119,1
    - Dst: auto::booleanValue
      Src: /src/PROJ/src/iso19111/crs.cpp:120,1
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/crs.cpp:128,1
    - Dst: dynamic_cast<const util::BoxedValue *>
      Src: /src/PROJ/src/iso19111/crs.cpp:131,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:131,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/crs.cpp:132,1
    - Dst: auto::booleanValue
      Src: /src/PROJ/src/iso19111/crs.cpp:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: setNonStandardProperties
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - util::PropertyMap::get
    - auto::booleanValue
    - auto::type
    - dynamic_cast<const util::BoxedValue *>
    linkageType: ''
    returnType: void
    signature: void setNonStandardProperties(const util::PropertyMap &properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: CRS::CRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CRS::CRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - CRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: CRS::CRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CRS::CRS(const CRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: CRS::~CRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CRS::~CRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: CRS::hasImplicitCS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CRS::hasImplicitCS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: CRS::hasOver
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CRS::hasOver() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '&CRS::canonicalBoundCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundCRSPtr
    signature: BoundCRSPtr &CRS::canonicalBoundCRS()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CRS::extractGeodeticCRSRaw
      Src: /src/PROJ/src/iso19111/crs.cpp:198,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:199,1
    - Dst: dynamic_cast<datum::DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:201,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:202,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:206,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:211,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:212,1
    - Dst: CRS::extractVerticalCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:219,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:220,1
    - Dst: dynamic_cast<datum::DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:221,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - considerWGS84AsDynamic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 228
    functionName: CRS::isDynamic
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - CRS::extractGeodeticCRSRaw
    - auto::nameStr
    - CRS::extractVerticalCRS
    - dynamic_cast<datum::DynamicGeodeticReferenceFrame *>
    - auto::datumEnsemble
    - dynamic_cast<datum::DynamicVerticalReferenceFrame *>
    - auto::datum
    linkageType: ''
    returnType: bool
    signature: bool CRS::isDynamic(bool considerWGS84AsDynamic) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRS::extractGeodeticCRSRaw
      Src: /src/PROJ/src/iso19111/crs.cpp:241,1
    - Dst: std::dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:243,1
    - Dst: auto::shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: CRS::extractGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::extractGeodeticCRSRaw
    - std::dynamic_pointer_cast<GeodeticCRS>
    - auto::shared_from_this
    linkageType: ''
    returnType: GeodeticCRSPtr
    signature: GeodeticCRSPtr CRS::extractGeodeticCRS() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:253,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:257,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:259,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:261,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:263,1
    - Dst: CRS::extractGeodeticCRSRaw
      Src: /src/PROJ/src/iso19111/crs.cpp:264,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:270,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:272,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:274,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: CRS::extractGeodeticCRSRaw
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 3
    functionsReached:
    - CRS::extractGeodeticCRSRaw
    - dynamic_cast<const DerivedProjectedCRS *>
    - auto::componentReferenceSystems
    - dynamic_cast<const ProjectedCRS *>
    - auto::baseCRS
    - dynamic_cast<const BoundCRS *>
    - dynamic_cast<const GeodeticCRS *>
    - dynamic_cast<const CompoundCRS *>
    linkageType: ''
    returnType: GeodeticCRS
    signature: GeodeticCRS *CRS::extractGeodeticCRSRaw() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '&CRS::getExtensionProj4() const noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &CRS::getExtensionProj4() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRS::extractGeodeticCRSRaw
      Src: /src/PROJ/src/iso19111/crs.cpp:301,1
    - Dst: std::dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:303,1
    - Dst: auto::shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: CRS::extractGeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::extractGeodeticCRSRaw
    - std::dynamic_pointer_cast<GeographicCRS>
    - auto::shared_from_this
    linkageType: ''
    returnType: GeographicCRSPtr
    signature: GeographicCRSPtr CRS::extractGeographicCRS() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:314,1
    - Dst: common::IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:315,1
    - Dst: common::IdentifiedObject*::isDeprecated
      Src: /src/PROJ/src/iso19111/crs.cpp:316,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - common::IdentifiedObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: createPropertyMap
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - common::IdentifiedObject*::isDeprecated
    - PropertyMap::PropertyMap
    - auto::set
    - common::IdentifiedObject*::nameStr
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createPropertyMap(const common::IdentifiedObject
      *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:328,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:332,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:333,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:333,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:334,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:335,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:338,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/crs.cpp:340,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:340,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:341,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:343,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:343,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:344,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:345,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:348,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:350,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:351,1
    - Dst: CRS::alterGeodeticCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:351,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:353,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:353,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:356,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:357,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - newGeodCRS
    argTypes:
    - GeodeticCRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 358
    functionName: CRS::alterGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::coordinateSystem
    - auto::baseCRS
    - NN_NO_CHECK
    - dynamic_cast<const GeodeticCRS *>
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - shared_from_this
    - createPropertyMap
    - ProjectedCRS::create
    - NN_CHECK_ASSERT
    - dynamic_cast<const CompoundCRS *>
    - auto::componentReferenceSystems
    - CompoundCRS::create
    - dynamic_cast<const ProjectedCRS *>
    - std::dynamic_pointer_cast<CRS>
    - DerivedProjectedCRS::create
    - CRS::alterGeodeticCRS
    - auto::derivingConversion
    - std::vector::emplace_back
    - dynamic_cast<const DerivedProjectedCRS *>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::alterGeodeticCRS(const GeodeticCRSNNPtr &newGeodCRS)
      const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:366,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:368,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:369,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:369,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:370,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:371,1
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:376,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:377,1
    - Dst: dynamic_cast<const cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:378,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:379,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:380,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:381,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:382,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:382,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:383,1
    - Dst: auto::alterUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:383,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:388,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:389,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:390,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:391,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:391,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:392,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:393,1
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:398,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:400,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:401,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:401,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:402,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:403,1
    - Dst: dynamic_cast<const EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:408,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/crs.cpp:410,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:411,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:413,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:413,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:414,1
    - Dst: auto::alterUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:415,1
    - Dst: util::nn_dynamic_pointer_cast<cs::VerticalCS>
      Src: /src/PROJ/src/iso19111/crs.cpp:417,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:418,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:420,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:420,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:421,1
    - Dst: auto::alterUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:422,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:429,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:431,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/crs.cpp:432,1
    - Dst: auto::alterUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:434,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:436,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:437,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:437,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:438,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:443,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:447,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/crs.cpp:448,1
    - Dst: CRS::alterCSLinearUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:448,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:450,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:450,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:455,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:457,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:458,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:459,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:460,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:460,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:464,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:465,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:465,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - unit
    argTypes:
    - common::UnitOfMeasure
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 466
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 466
    functionName: CRS::alterCSLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::transformation
    - auto::coordinateSystem
    - auto::baseCRS
    - dynamic_cast<const GeographicCRS *>
    - NN_NO_CHECK
    - dynamic_cast<const GeodeticCRS *>
    - EngineeringCRS::create
    - CRS::alterCSLinearUnit
    - auto::hubCRS
    - BoundCRS::create
    - shared_from_this
    - createPropertyMap
    - GeodeticCRS::create
    - auto::datumEnsemble
    - assert
    - VerticalCRS::create
    - dynamic_cast<const VerticalCRS *>
    - ProjectedCRS::create
    - auto::datum
    - util::nn_dynamic_pointer_cast<cs::VerticalCS>
    - dynamic_cast<const CompoundCRS *>
    - auto::componentReferenceSystems
    - CompoundCRS::create
    - dynamic_cast<const ProjectedCRS *>
    - dynamic_cast<const cs::CartesianCS *>
    - auto::alterUnit
    - std::vector::push_back
    - GeographicCRS::create
    - dynamic_cast<const BoundCRS *>
    - std::dynamic_pointer_cast<CRS>
    - dynamic_cast<const EngineeringCRS *>
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - DerivedProjectedCRS::create
    - auto::isGeocentric
    - auto::derivingConversion
    - dynamic_cast<const DerivedProjectedCRS *>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::alterCSLinearUnit(const common::UnitOfMeasure &unit)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:479,1
    - Dst: std::dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:481,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:482,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:484,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:486,1
    - Dst: CRS::extractVerticalCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:487,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:493,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: CRS::extractVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 2
    functionsReached:
    - auto::componentReferenceSystems
    - CRS::extractVerticalCRS
    - shared_from_this
    - auto::baseCRS
    - dynamic_cast<const BoundCRS *>
    - std::dynamic_pointer_cast<VerticalCRS>
    - dynamic_cast<const VerticalCRS *>
    - dynamic_cast<const CompoundCRS *>
    linkageType: ''
    returnType: VerticalCRSPtr
    signature: VerticalCRSPtr CRS::extractVerticalCRS() const
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:520,1
    - Dst: std::static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:521,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:521,1
    - Dst: util::nn_dynamic_pointer_cast<BoundCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:522,1
    - Dst: canonicalBoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:524,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:527,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:528,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:530,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:534,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:536,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:537,1
    - Dst: CRS::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/src/iso19111/crs.cpp:538,1
    - Dst: CRS::createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/src/iso19111/crs.cpp:540,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:542,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:542,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:542,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:542,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:543,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:543,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:544,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:544,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/crs.cpp:554,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:556,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:557,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/crs.cpp:564,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/crs.cpp:565,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/crs.cpp:567,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:567,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:568,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/crs.cpp:569,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:569,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:570,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:575,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/crs.cpp:583,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:588,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:592,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:593,1
    - Dst: io::DatabaseContextPtr::getAllowedAuthorities
      Src: /src/PROJ/src/iso19111/crs.cpp:596,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:598,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:599,1
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:603,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:606,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:610,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:611,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:612,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/crs.cpp:613,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:615,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:618,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                        operation::Transformation>"
      Src: /src/PROJ/src/iso19111/crs.cpp:622,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/crs.cpp:625,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/src/iso19111/crs.cpp:626,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:627,1
    - Dst: packageName::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:629,1
    - Dst: url::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:630,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:643,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:644,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:650,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:659,1
    - Dst: CRS::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:660,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:661,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:663,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:664,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:664,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:669,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:671,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:672,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:673,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:683,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:684,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:685,1
    - Dst: getResolvedCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:688,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/crs.cpp:690,1
    - Dst: auto::setAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:692,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:696,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:697,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:703,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:711,1
    - Dst: util::nn_dynamic_pointer_cast<operation::Transformation>
      Src: /src/PROJ/src/iso19111/crs.cpp:718,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:720,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:720,1
    - Dst: takeIntoAccountCandidate
      Src: /src/PROJ/src/iso19111/crs.cpp:721,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:721,1
    - Dst: dynamic_cast<const operation::ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/crs.cpp:724,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:725,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/crs.cpp:730,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:731,1
    - Dst: dynamic_cast<const operation::Transformation *>
      Src: /src/PROJ/src/iso19111/crs.cpp:733,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:734,1
    - Dst: dynamic_cast<const operation::Conversion *>
      Src: /src/PROJ/src/iso19111/crs.cpp:736,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:737,1
    - Dst: auto::isLongitudeRotation
      Src: /src/PROJ/src/iso19111/crs.cpp:739,1
    - Dst: dynamic_cast<DerivedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:741,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:741,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                                    operation::Transformation>"
      Src: /src/PROJ/src/iso19111/crs.cpp:743,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:745,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:745,1
    - Dst: takeIntoAccountCandidate
      Src: /src/PROJ/src/iso19111/crs.cpp:747,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:748,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:756,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 117
    argCount: 2
    argNames:
    - dbContext
    - allowIntermediateCRSUse
    argTypes:
    - io::DatabaseContextPtr
    - operation::CoordinateOperationContext::IntermediateCRSUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 762
    functionName: CRS::createBoundCRSToWGS84IfPossible
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - identifiers
    - auto::operations
    - CoordinateOperationContext::create
    - dynamic_cast<const operation::Conversion *>
    - canonicalBoundCRS
    - auto::datumNonNull
    - NN_NO_CHECK
    - codeSpace
    - auto::gridsNeeded
    - auto::emplace_back
    - auto::hubCRS
    - BoundCRS::create
    - auto::nameStr
    - getResolvedCRS
    - CRS::extractGeographicCRS
    - shared_from_this
    - auto::_isEquivalentTo
    - createPropertyMap
    - std::move
    - CRS::createBoundCRSToWGS84IfPossible
    - auto::setAllowUseIntermediateCRS
    - auto::hasBallparkTransformation
    - dynamic_cast<DerivedCRS *>
    - dynamic_cast<const VerticalCRS *>
    - std::string
    - dynamic_cast<const CompoundCRS *>
    - url::empty
    - "util::nn_dynamic_pointer_cast<\n                                    operation::Transformation>"
    - auto::componentReferenceSystems
    - CompoundCRS::create
    - auto::size
    - dynamic_cast<const operation::Transformation *>
    - util::nn_dynamic_pointer_cast<operation::Transformation>
    - "util::nn_dynamic_pointer_cast<\n                        operation::Transformation>"
    - packageName::empty
    - io::DatabaseContextPtr::getAllowedAuthorities
    - takeIntoAccountCandidate
    - std::static_pointer_cast<CRS>
    - util::nn_dynamic_pointer_cast<BoundCRS>
    - util::nn_static_pointer_cast<CRS>
    - get
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - starts_with
    - auto::contains
    - auto::isLongitudeRotation
    - dynamic_cast<const operation::ConcatenatedOperation *>
    - domains
    - auto::empty
    - auto::getTOWGS84Parameters
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    - domainOfValidity
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr CRS::createBoundCRSToWGS84IfPossible(\n    const io::DatabaseContextPtr
      &dbContext,\n    operation::CoordinateOperationContext::IntermediateCRSUse\n
      \       allowIntermediateCRSUse) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:779,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 780
    functionName: CRS::stripVerticalComponent
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - CRS::demoteTo2D
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::stripVerticalComponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _shallowClone
      Src: /src/PROJ/src/iso19111/crs.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 787
    functionName: CRS::shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - _shallowClone
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::shallowClone() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:796,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:798,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:799,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:800,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: CRS::allowNonConformantWKT1Export
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - auto::transformation
    - auto::baseCRS
    - dynamic_cast<const BoundCRS *>
    - auto::hubCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::allowNonConformantWKT1Export() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:816,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:818,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:819,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:820,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:820,1
    - Dst: CompoundCRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - compoundCRS
    argTypes:
    - CompoundCRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 826
    functionName: CRS::attachOriginalCompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - auto::transformation
    - auto::baseCRS
    - CompoundCRSNNPtr::as_nullable
    - dynamic_cast<const BoundCRS *>
    - auto::hubCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::attachOriginalCompoundCRS(const CompoundCRSNNPtr &compoundCRS)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRS::shallowClone
      Src: /src/PROJ/src/iso19111/crs.cpp:835,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:837,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/crs.cpp:838,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/crs.cpp:839,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:839,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:839,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:840,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:842,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - newName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 845
    functionName: CRS::alterName
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::shallowClone
    - auto::set
    - auto::size
    - PropertyMap::PropertyMap
    - ends_with
    - auto::setProperties
    - auto::resize
    - strlen
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::alterName(const std::string &newName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS::shallowClone
      Src: /src/PROJ/src/iso19111/crs.cpp:855,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:856,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:857,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - authName
    - code
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: CRS::alterId
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::shallowClone
    - PropertyMap::PropertyMap
    - auto::set
    - auto::setProperties
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr CRS::alterId(const std::string &authName,\n                      const
      std::string &code) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:871,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:872,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/crs.cpp:881,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/crs.cpp:882,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/crs.cpp:884,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/crs.cpp:884,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/crs.cpp:887,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/crs.cpp:887,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/crs.cpp:894,1
    - Dst: meridian
      Src: /src/PROJ/src/iso19111/crs.cpp:895,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/crs.cpp:899,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/crs.cpp:899,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/crs.cpp:902,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/crs.cpp:902,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/crs.cpp:906,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/crs.cpp:906,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/crs.cpp:909,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/crs.cpp:909,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 1
    argNames:
    - axisList
    argTypes:
    - std::vector<cs::CoordinateSystemAxisNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 915
    functionName: mustAxisOrderBeSwitchedForVisualizationInternal
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - abs
    - direction
    - meridian
    - auto::longitude
    linkageType: ''
    returnType: bool
    signature: "bool mustAxisOrderBeSwitchedForVisualizationInternal(\n    const std::vector<cs::CoordinateSystemAxisNNPtr>
      &axisList)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:921,1
    - Dst: CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:922,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:923,1
    - Dst: CRS::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/crs.cpp:924,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:929,1
    - Dst: mustAxisOrderBeSwitchedForVisualizationInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:930,1
    - Dst: GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:931,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:935,1
    - Dst: mustAxisOrderBeSwitchedForVisualizationInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:936,1
    - Dst: ProjectedCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:937,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:941,1
    - Dst: mustAxisOrderBeSwitchedForVisualizationInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:942,1
    - Dst: DerivedProjectedCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 947
    functionName: CRS::mustAxisOrderBeSwitchedForVisualization
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - ProjectedCRS*::coordinateSystem
    - dynamic_cast<const DerivedProjectedCRS *>
    - GeographicCRS*::coordinateSystem
    - dynamic_cast<const ProjectedCRS *>
    - CRS::mustAxisOrderBeSwitchedForVisualization
    - DerivedProjectedCRS*::coordinateSystem
    - dynamic_cast<const GeographicCRS *>
    - auto::empty
    - CompoundCRS*::componentReferenceSystems
    - mustAxisOrderBeSwitchedForVisualizationInternal
    - dynamic_cast<const CompoundCRS *>
    linkageType: ''
    returnType: bool
    signature: bool CRS::mustAxisOrderBeSwitchedForVisualization() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/crs.cpp:960,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/crs.cpp:961,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/crs.cpp:965,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:966,1
    - Dst: ObjectUsage::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:967,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:974,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/crs.cpp:977,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/crs.cpp:979,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:980,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/crs.cpp:982,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:983,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:985,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:990,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:995,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:995,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1000,1
    - Dst: ObjectUsage::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1002,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 1005
    functionName: CRS::setProperties
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::substr
    - std::move
    - std::string::find
    - ObjectUsage::setProperties
    - util::PropertyMap::set
    - strlen
    - std::string
    - util::PropertyMap::getStringValue
    linkageType: ''
    returnType: void
    signature: "void CRS::setProperties(\n    const util::PropertyMap &properties)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1018,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1020,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1021,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/crs.cpp:1022,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/crs.cpp:1023,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1023,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:1024,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/crs.cpp:1025,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/crs.cpp:1026,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1026,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:1027,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1032,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/crs.cpp:1034,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1035,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1036,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/crs.cpp:1038,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1040,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1041,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:1044,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/crs.cpp:1045,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1046,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:1048,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:1049,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:1051,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1052,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1056,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1058,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1059,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1065,1
    - Dst: CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:1066,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1067,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:1069,1
    - Dst: CRS::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/crs.cpp:1069,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/crs.cpp:1070,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1071,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:1072,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/crs.cpp:1074,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1076,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1077,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1077,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1082,1
    - Dst: GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1083,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1085,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1086,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1086,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1088,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1088,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1090,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1091,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1091,1
    - Dst: GeographicCRS*::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:1091,1
    - Dst: GeographicCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:1092,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1096,1
    - Dst: ProjectedCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1097,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1099,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1100,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1100,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1102,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1102,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1104,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1105,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1105,1
    - Dst: ProjectedCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1105,1
    - Dst: ProjectedCRS*::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:1106,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1110,1
    - Dst: DerivedProjectedCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1111,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1113,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1114,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1114,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1116,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1116,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1118,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1118,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1119,1
    - Dst: DerivedProjectedCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1119,1
    - Dst: DerivedProjectedCRS*::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:1120,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/crs.cpp:1123,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - nameSuffix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1125
    functionName: CRS::applyAxisOrderReversal
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - createProperties
    - GeographicCRS*::coordinateSystem
    - PropertyMap::PropertyMap
    - DerivedProjectedCRS*::coordinateSystem
    - auto::add
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - DerivedProjectedCRS*::derivingConversion
    - UnsupportedOperationException::UnsupportedOperationException
    - codeSpace
    - GeographicCRS*::datumEnsemble
    - code
    - ProjectedCRS*::baseCRS
    - ArrayOfBaseObject::create
    - ends_with
    - std::vector::back
    - strlen
    - ProjectedCRS::create
    - std::string
    - CompoundCRS*::componentReferenceSystems
    - std::string::size
    - dynamic_cast<const CompoundCRS *>
    - std::string::empty
    - ProjectedCRS*::coordinateSystem
    - CompoundCRS::create
    - auto::set
    - auto::size
    - dynamic_cast<const ProjectedCRS *>
    - ProjectedCRS*::derivingConversion
    - std::string::resize
    - GeographicCRS::create
    - DerivedProjectedCRS::create
    - CartesianCS::create
    - DerivedProjectedCRS*::baseCRS
    - util::nn_static_pointer_cast<CRS>
    - starts_with
    - std::vector::emplace_back
    - domains
    - CRS::applyAxisOrderReversal
    - EllipsoidalCS::create
    - GeographicCRS*::datum
    - auto::empty
    - remarks
    - dynamic_cast<const DerivedProjectedCRS *>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::applyAxisOrderReversal(const char *nameSuffix) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1132,1
    - Dst: CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:1133,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1134,1
    - Dst: CRS::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/crs.cpp:1135,1
    - Dst: CRS::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/crs.cpp:1136,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1141,1
    - Dst: GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1142,1
    - Dst: mustAxisOrderBeSwitchedForVisualizationInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:1143,1
    - Dst: CRS::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/crs.cpp:1144,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1149,1
    - Dst: ProjectedCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1150,1
    - Dst: mustAxisOrderBeSwitchedForVisualizationInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:1151,1
    - Dst: CRS::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/crs.cpp:1152,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1157,1
    - Dst: DerivedProjectedCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1158,1
    - Dst: mustAxisOrderBeSwitchedForVisualizationInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:1159,1
    - Dst: CRS::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/crs.cpp:1160,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1164,1
    - Dst: BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1165,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1166,1
    - Dst: BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1166,1
    - Dst: BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:1167,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1170,1
    - Dst: std::static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1171,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:1171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1129
    functionDepth: 3
    functionLinenumber: 1129
    functionLinenumberEnd: 1172
    functionName: CRS::normalizeForVisualization
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeographicCRS*::coordinateSystem
    - CRS::mustAxisOrderBeSwitchedForVisualization
    - DerivedProjectedCRS*::coordinateSystem
    - dynamic_cast<const GeographicCRS *>
    - BoundCRS*::baseCRS
    - NN_NO_CHECK
    - BoundCRS::create
    - BoundCRS*::hubCRS
    - shared_from_this
    - BoundCRS*::transformation
    - CompoundCRS*::componentReferenceSystems
    - mustAxisOrderBeSwitchedForVisualizationInternal
    - dynamic_cast<const CompoundCRS *>
    - ProjectedCRS*::coordinateSystem
    - dynamic_cast<const ProjectedCRS *>
    - dynamic_cast<const BoundCRS *>
    - std::static_pointer_cast<CRS>
    - CRS::applyAxisOrderReversal
    - auto::empty
    - dynamic_cast<const DerivedProjectedCRS *>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CRS::normalizeForVisualization() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS::_identify
      Src: /src/PROJ/src/iso19111/crs.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: CRS::identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 2
    functionsReached:
    - CRS::_identify
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> CRS::identify(const io::AuthorityFactoryPtr
      &authorityFactory) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:1235,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1236,1
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1240,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1242,1
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1244,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1246,1
    - Dst: io::DatabaseContextNNPtr::getNonDeprecated
      Src: /src/PROJ/src/iso19111/crs.cpp:1254,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:1254,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/crs.cpp:1254,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:1256,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1260
    functionName: CRS::getNonDeprecated
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - dynamic_cast<const ProjectedCRS *>
    - io::DatabaseContextNNPtr::getNonDeprecated
    - auto::codeSpace
    - dynamic_cast<const VerticalCRS *>
    - dynamic_cast<const GeodeticCRS *>
    - auto::code
    - std::list::emplace_back
    - auto::empty
    - AuthorityFactory::create
    - dynamic_cast<const CompoundCRS *>
    linkageType: ''
    returnType: std::list<CRSNNPtr>
    signature: std::list<CRSNNPtr> CRS::getNonDeprecated(const io::DatabaseContextNNPtr
      &dbContext) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:1276,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1277,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:1278,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1280,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1281,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/crs.cpp:1283,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:1284,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/crs.cpp:1285,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/crs.cpp:1287,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:1287,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/crs.cpp:1288,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1292
    functionName: CRS::getOriginatingAuthName
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - starts_with
    - auto::size
    - auto::find
    - codeSpace
    - strlen
    - std::string
    - remarks
    - auto::substr
    linkageType: ''
    returnType: std::string
    signature: std::string CRS::getOriginatingAuthName() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1316,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1317,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:1318,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1318,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:1319,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1321,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1322,1
    - Dst: dynamic_cast<const cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1323,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1323,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:1324,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:1325,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1325,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:1326,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1330,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1331,1
    - Dst: CRS::promoteTo3D
      Src: /src/PROJ/src/iso19111/crs.cpp:1334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts:
    - condition: (!axisList.empty())
      pos:
        line_end: 1317
        line_start: 1317
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - condition: (!axisList.empty())
      pos:
        line_end: 1324
        line_start: 1324
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 1335
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1335
    functionName: CRS::promoteTo3D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - CRS::promoteTo3D
    - unit
    - auto::coordinateSystem
    - dynamic_cast<const ProjectedCRS *>
    - dynamic_cast<const cs::CartesianCS *>
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - assert
    - auto::empty
    - dynamic_cast<const DerivedProjectedCRS *>
    - auto::axisList
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr CRS::promoteTo3D(const std::string &newName,\n                          const
      io::DatabaseContextPtr &dbContext) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1348,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1349,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1349,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/crs.cpp:1350,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1351,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1352,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/crs.cpp:1354,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1359,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:1360,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/crs.cpp:1361,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1364,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1365,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:1368,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/crs.cpp:1369,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1370,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:1372,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:1374,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1375,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1379,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1380,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:1381,1
    - Dst: dynamic_cast<const DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1387,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1388,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1389,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1390,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1391,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1393,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1394,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1394,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1396,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1397,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1398,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/src/iso19111/crs.cpp:1399,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1399,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:1400,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1400,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1405,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1406,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1407,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1408,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1408,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1411,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1412,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1412,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1414,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1415,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1416,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/src/iso19111/crs.cpp:1417,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1417,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:1418,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1418,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1422,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1423,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1424,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:1425,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1429,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1430,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1431,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:1431,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:1432,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1433,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1436,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:1437,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1439,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1439,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1441,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:1442,1
    - Dst: cs::CoordinateSystemAxisNNPtr::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1443,1
    - Dst: auto::is2DPartOf3D
      Src: /src/PROJ/src/iso19111/crs.cpp:1445,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1445,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1447,1
    - Dst: util::nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1448,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1453,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1454,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1456,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1457,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1457,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:1457,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:1458,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1458,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1462,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1463,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1464,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1466,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1466,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1467,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:1467,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1470,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1470,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1471,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1472,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1473,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:1474,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1474,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1478,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1479,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:1481,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:1482,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1483,1
    - Dst: createProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1484,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1485,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1485,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/crs.cpp:1486,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1486,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1488,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1488,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:1489,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1493,1
    - Dst: std::static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1494,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:1494,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 3
    argNames:
    - newName
    - dbContext
    - verticalAxisIfNotAlreadyPresent
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    - cs::CoordinateSystemAxisNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1495
    functionName: CRS::promoteTo3D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - NN_CHECK_THROW
    - identifiers
    - createProperties
    - auto::get
    - auto::transformation
    - auto::coordinateSystem
    - auto::baseCRS
    - PropertyMap::PropertyMap
    - auto::add
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - auto::is2DPartOf3D
    - NN_NO_CHECK
    - codeSpace
    - dynamic_cast<const DerivedGeographicCRS *>
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - DerivedGeographicCRS::create
    - auto::hubCRS
    - BoundCRS::create
    - code
    - shared_from_this
    - util::nn_dynamic_pointer_cast<CRS>
    - std::move
    - dynamic_cast<GeographicCRS *>
    - ArrayOfBaseObject::create
    - auto::datumEnsemble
    - ProjectedCRS::create
    - std::string
    - cs::CoordinateSystemAxisNNPtr::get
    - auto::datum
    - util::optional<std::string>
    - std::string::empty
    - auto::front
    - auto::promoteTo3D
    - auto::set
    - auto::size
    - dynamic_cast<const ProjectedCRS *>
    - GeographicCRS::create
    - dynamic_cast<const BoundCRS *>
    - DerivedProjectedCRS::create
    - CartesianCS::create
    - util::nn_static_pointer_cast<CRS>
    - std::static_pointer_cast<CRS>
    - ObjectDomain::create
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::createObjectsFromName
    - _isEquivalentTo
    - auto::derivingConversion
    - domains
    - EllipsoidalCS::create
    - auto::empty
    - remarks
    - auto::getTOWGS84Parameters
    - AuthorityFactory::create
    - dynamic_cast<const DerivedProjectedCRS *>
    - domainOfValidity
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr CRS::promoteTo3D(const std::string &newName,\n                          const
      io::DatabaseContextPtr &dbContext,\n                          const cs::CoordinateSystemAxisNNPtr\n
      \                             &verticalAxisIfNotAlreadyPresent) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1516,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:1517,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1521,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:1522,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1525,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:1526,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1529,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:1530,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1533,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1534,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:1535,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:1536,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1537,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1539,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1539,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:1540,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:1540,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1542,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1542,1
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1546,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:1547,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1548,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1553,1
    - Dst: std::static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1554,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:1554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: CRS::demoteTo2D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::transformation
    - BoundCRS::create
    - std::static_pointer_cast<CRS>
    - auto::componentReferenceSystems
    - dynamic_cast<const ProjectedCRS *>
    - auto::size
    - auto::baseCRS
    - auto::demoteTo2D
    - shared_from_this
    - dynamic_cast<const BoundCRS *>
    - dynamic_cast<const GeographicCRS *>
    - dynamic_cast<const CompoundCRS *>
    - NN_NO_CHECK
    - dynamic_cast<const DerivedGeographicCRS *>
    - std::string
    - auto::getTOWGS84Parameters
    - dynamic_cast<const DerivedProjectedCRS *>
    - auto::hubCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr CRS::demoteTo2D(const std::string &newName,\n                         const
      io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1564
    functionName: CRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> CRS::_identify(const io::AuthorityFactoryPtr
      &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/crs.cpp:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::DatumPtr
    - datum::DatumEnsemblePtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1584
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 26
    functionsReached:
    - util::Exception
    linkageType: ''
    returnType: void
    signature: "void Private(const datum::DatumPtr &datumIn,\n            const datum::DatumEnsemblePtr
      &datumEnsembleIn,\n            const cs::CoordinateSystemNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::DatumPtr
    - datum::DatumEnsemblePtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1593
    functionName: SingleCRS::SingleCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void SingleCRS::SingleCRS(const datum::DatumPtr &datumIn,\n                     const
      datum::DatumEnsemblePtr &datumEnsembleIn,\n                     const cs::CoordinateSystemNNPtr
      &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - SingleCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1598
    functionName: SingleCRS::SingleCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void SingleCRS::SingleCRS(const SingleCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1603
    functionName: SingleCRS::~SingleCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingleCRS::~SingleCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    functionName: '&SingleCRS::datum()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: datum::DatumPtr
    signature: datum::DatumPtr &SingleCRS::datum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1626
    functionName: '&SingleCRS::datumEnsemble()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: datum::DatumEnsemblePtr
    signature: datum::DatumEnsemblePtr &SingleCRS::datumEnsemble()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1635,1
    - Dst: datumEnsemble::asDatum
      Src: /src/PROJ/src/iso19111/crs.cpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1637
    functionName: SingleCRS::datumNonNull
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - datumEnsemble::asDatum
    - NN_NO_CHECK
    linkageType: ''
    returnType: datum::DatumNNPtr
    signature: datum::DatumNNPtr SingleCRS::datumNonNull(const io::DatabaseContextPtr
      &dbContext) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1648
    functionName: '&SingleCRS::coordinateSystem()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cs::CoordinateSystemNNPtr
    signature: cs::CoordinateSystemNNPtr &SingleCRS::coordinateSystem()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const SingleCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1655,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:1658,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:1668,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1668,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:1673,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1673,1
    - Dst: SingleCRS::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:1687,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:1688,1
    - Dst: coordinateSystem::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:1695,1
    - Dst: auto::d::coordinateSystem::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1696,1
    - Dst: getExtensionProj4
      Src: /src/PROJ/src/iso19111/crs.cpp:1702,1
    - Dst: auto::getExtensionProj4
      Src: /src/PROJ/src/iso19111/crs.cpp:1703,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1705,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1705,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1709,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1709,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1715,1
    - Dst: auto::setNormalizeOutput
      Src: /src/PROJ/src/iso19111/crs.cpp:1716,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:1717,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1719,1
    - Dst: auto::setNormalizeOutput
      Src: /src/PROJ/src/iso19111/crs.cpp:1720,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:1721,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/crs.cpp:1723,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/crs.cpp:1723,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1724
    functionName: SingleCRS::baseIsEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::setNormalizeOutput
    - auto::_isEquivalentTo
    - auto::toString
    - coordinateSystem::_isEquivalentTo
    - auto::ingestPROJString
    - auto::getExtensionProj4
    - PROJStringFormatter::create
    - auto::datumNonNull
    - auto::d::coordinateSystem::get
    - ObjectUsage::_isEquivalentTo
    - getExtensionProj4
    - auto::empty
    - SingleCRS::datumNonNull
    - dynamic_cast<const SingleCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool SingleCRS::baseIsEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:1734,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:1737,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:1738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts:
    - condition: (l_datumEnsemble)
      pos:
        line_end: 1736
        line_start: 1736
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 1740
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1740
    functionName: SingleCRS::exportDatumOrDatumEnsembleToWkt
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::_exportToWKT
    - assert
    linkageType: ''
    returnType: void
    signature: "void SingleCRS::exportDatumOrDatumEnsembleToWkt(\n    io::WKTFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - datumIn
    argTypes:
    - datum::GeodeticReferenceFramePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1751
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const datum::GeodeticReferenceFramePtr &datumIn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: datum::DatumEnsemblePtr::datums
      Src: /src/PROJ/src/iso19111/crs.cpp:1766,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:1767,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:1767,1
    - Dst: dynamic_cast<datum::GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1769,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:1769,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/crs.cpp:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - datumIn
    - ensemble
    argTypes:
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    assertStmts:
    - condition: (!datums.empty())
      pos:
        line_end: 1766
        line_start: 1766
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 1776
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1776
    functionName: checkEnsembleForGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - get
    - datum::DatumEnsemblePtr::datums
    - dynamic_cast<datum::GeodeticReferenceFrame *>
    - assert
    - auto::empty
    - util::Exception
    linkageType: ''
    returnType: datum::DatumEnsemblePtr
    signature: "datum::DatumEnsemblePtr &\ncheckEnsembleForGeodeticCRS(const datum::GeodeticReferenceFramePtr
      &datumIn,\n                            const datum::DatumEnsemblePtr &ensemble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnsembleForGeodeticCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1785,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1782
    functionDepth: 2
    functionLinenumber: 1782
    functionLinenumberEnd: 1787
    functionName: GeodeticCRS::GeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - checkEnsembleForGeodeticCRS
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::GeodeticCRS(const datum::GeodeticReferenceFramePtr
      &datumIn,\n                         const datum::DatumEnsemblePtr &datumEnsembleIn,\n
      \                        const cs::EllipsoidalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnsembleForGeodeticCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1794,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::SphericalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1796
    functionName: GeodeticCRS::GeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - checkEnsembleForGeodeticCRS
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::GeodeticCRS(const datum::GeodeticReferenceFramePtr
      &datumIn,\n                         const datum::DatumEnsemblePtr &datumEnsembleIn,\n
      \                        const cs::SphericalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnsembleForGeodeticCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:1803,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1800
    functionDepth: 2
    functionLinenumber: 1800
    functionLinenumberEnd: 1805
    functionName: GeodeticCRS::GeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - checkEnsembleForGeodeticCRS
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::GeodeticCRS(const datum::GeodeticReferenceFramePtr
      &datumIn,\n                         const datum::DatumEnsemblePtr &datumEnsembleIn,\n
      \                        const cs::CartesianCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeodeticCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1810
    functionName: GeodeticCRS::GeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void GeodeticCRS::GeodeticCRS(const GeodeticCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1815
    functionName: GeodeticCRS::~GeodeticCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeodeticCRS::~GeodeticCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::nn_make_shared<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:1821,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1824
    functionName: GeodeticCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - GeodeticCRS::nn_make_shared<GeodeticCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr GeodeticCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1835
    functionName: '&GeodeticCRS::datum()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: datum::GeodeticReferenceFramePtr
    signature: datum::GeodeticReferenceFramePtr &GeodeticCRS::datum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:1844,1
    - Dst: util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/crs.cpp:1847,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:1848,1
    - Dst: asDatum
      Src: /src/PROJ/src/iso19111/crs.cpp:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1849
    functionName: GeodeticCRS::datumNonNull
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - SingleCRS::getPrivate
    - util::nn_dynamic_pointer_cast<datum::GeodeticReferenceFrame>
    - asDatum
    linkageType: ''
    returnType: datum::GeodeticReferenceFrameNNPtr
    signature: datum::GeodeticReferenceFrameNNPtr GeodeticCRS::datumNonNull(const
      io::DatabaseContextPtr &dbContext) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:1856,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:1857,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/crs.cpp:1858,1
    - Dst: static_cast<datum::GeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1859,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - crs
    argTypes:
    - GeodeticCRS*
    assertStmts:
    - condition: (l_datumEnsemble)
      pos:
        line_end: 1856
        line_start: 1856
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 1860
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1860
    functionName: oneDatum
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - get
    - auto::datums
    - assert
    - static_cast<datum::GeodeticReferenceFrame *>
    - GeodeticCRS*::datumEnsemble
    linkageType: ''
    returnType: datum::GeodeticReferenceFrame
    signature: datum::GeodeticReferenceFrame *oneDatum(const GeodeticCRS *crs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: datum_::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:1872,1
    - Dst: oneDatum
      Src: /src/PROJ/src/iso19111/crs.cpp:1874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1870
    functionDepth: 2
    functionLinenumber: 1870
    functionLinenumberEnd: 1875
    functionName: '&GeodeticCRS::primeMeridian()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - datum_::primeMeridian
    - oneDatum
    linkageType: ''
    returnType: datum::PrimeMeridianNNPtr
    signature: datum::PrimeMeridianNNPtr &GeodeticCRS::primeMeridian()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: datum_::ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:1886,1
    - Dst: oneDatum
      Src: /src/PROJ/src/iso19111/crs.cpp:1888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1889
    functionName: '&GeodeticCRS::ellipsoid()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - datum_::ellipsoid
    - oneDatum
    linkageType: ''
    returnType: datum::EllipsoidNNPtr
    signature: datum::EllipsoidNNPtr &GeodeticCRS::ellipsoid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1900
    functionName: '&

      GeodeticCRS::velocityModel()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<operation::PointMotionOperationNNPtr>
    signature: 'std::vector<operation::PointMotionOperationNNPtr> &

      GeodeticCRS::velocityModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1914,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:1915,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1916,1
    - Dst: dynamic_cast<cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1917,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1917,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:1918,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:1919,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:1920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 1921
    functionName: GeodeticCRS::isGeocentric
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::size
    - dynamic_cast<cs::CartesianCS *>
    - coordinateSystem
    - direction
    - auto::axisList
    linkageType: ''
    returnType: bool
    signature: bool GeodeticCRS::isGeocentric()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:1938,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:1939,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:1940,1
    - Dst: dynamic_cast<cs::SphericalCS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:1941,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:1941,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:1942,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1942,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:1943,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1943,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:1944,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1944,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:1945,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:1945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1937
    functionDepth: 2
    functionLinenumber: 1937
    functionLinenumberEnd: 1946
    functionName: GeodeticCRS::isSphericalPlanetocentric
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::size
    - nameStr
    - dynamic_cast<cs::SphericalCS *>
    - ci_equal
    - coordinateSystem
    - auto::axisList
    linkageType: ''
    returnType: bool
    signature: bool GeodeticCRS::isSphericalPlanetocentric()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:1963,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - properties
    - datum
    - cs
    argTypes:
    - util::PropertyMap
    - datum::GeodeticReferenceFrameNNPtr
    - cs::SphericalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1959
    functionDepth: 1
    functionLinenumber: 1959
    functionLinenumberEnd: 1964
    functionName: GeodeticCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 23
    functionsReached:
    - GeodeticCRS::create
    - datum::GeodeticReferenceFrameNNPtr::as_nullable
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: "GeodeticCRSNNPtr GeodeticCRS::create(const util::PropertyMap &properties,\n
      \                   const datum::GeodeticReferenceFrameNNPtr &datum,\n                    const
      cs::SphericalCSNNPtr &cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:1987,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - properties
    - datum
    - datumEnsemble
    - cs
    argTypes:
    - util::PropertyMap
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::SphericalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1991
    functionName: GeodeticCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 23
    functionsReached:
    - auto::assignSelf
    - auto::setProperties
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: "GeodeticCRSNNPtr GeodeticCRS::create(const util::PropertyMap &properties,\n
      \                   const datum::GeodeticReferenceFramePtr &datum,\n                    const
      datum::DatumEnsemblePtr &datumEnsemble,\n                    const cs::SphericalCSNNPtr
      &cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2008,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - properties
    - datum
    - cs
    argTypes:
    - util::PropertyMap
    - datum::GeodeticReferenceFrameNNPtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2009
    functionName: GeodeticCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 24
    functionsReached:
    - GeodeticCRS::create
    - datum::GeodeticReferenceFrameNNPtr::as_nullable
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: "GeodeticCRSNNPtr GeodeticCRS::create(const util::PropertyMap &properties,\n
      \                   const datum::GeodeticReferenceFrameNNPtr &datum,\n                    const
      cs::CartesianCSNNPtr &cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:2032,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:2033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - properties
    - datum
    - datumEnsemble
    - cs
    argTypes:
    - util::PropertyMap
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2036
    functionName: GeodeticCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 24
    functionsReached:
    - auto::assignSelf
    - auto::setProperties
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: "GeodeticCRSNNPtr GeodeticCRS::create(const util::PropertyMap &properties,\n
      \                   const datum::GeodeticReferenceFramePtr &datum,\n                    const
      datum::DatumEnsemblePtr &datumEnsemble,\n                    const cs::CartesianCSNNPtr
      &cs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2046,1
    - Dst: GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:2050,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2050,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/crs.cpp:2051,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2052,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2053,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2054,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2057,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:2057,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:2057,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:2058,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2062,1
    - Dst: util::nn_dynamic_pointer_cast<datum::Datum>
      Src: /src/PROJ/src/iso19111/crs.cpp:2065,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:2065,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2066,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2069,1
    - Dst: auto::createVerticalCRSFromDatum
      Src: /src/PROJ/src/iso19111/crs.cpp:2070,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2071,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2072,1
    - Dst: CRS*::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:2073,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:2073,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2074,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:2075,1
    - Dst: GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2080,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:2081,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2081,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2083,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:2084,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:2085,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:2085,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/crs.cpp:2086,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2087,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2089,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2092,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2093,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:2094,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2095,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2097,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2098,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:2099,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:2100,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2101,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2103,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - self
    - geodCRS
    - formatter
    argTypes:
    - CRS*
    - GeodeticCRS*
    - io::WKTFormatter*
    assertStmts:
    - condition: (axisList.size() == 3U)
      pos:
        line_end: 2080
        line_start: 2080
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 2107
      start: 2044
    functionDepth: 2
    functionLinenumber: 2044
    functionLinenumberEnd: 2107
    functionName: exportAsESRIWktCompoundCRSWithEllipsoidalHeight
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::startNode
    - CRS*::demoteTo2D
    - auto::c_str
    - NN_NO_CHECK
    - codeSpace
    - io::WKTFormatter*::databaseContext
    - auto::substr
    - auto::createVerticalCRSFromDatum
    - code
    - auto::nameStr
    - std::move
    - assert
    - auto::getAliasFromOfficialName
    - std::string
    - io::WKTFormatter*::addQuotedString
    - direction
    - io::WKTFormatter*::endNode
    - auto::front
    - unit
    - auto::size
    - GeodeticCRS*::datumNonNull
    - util::nn_dynamic_pointer_cast<datum::Datum>
    - starts_with
    - GeodeticCRS*::coordinateSystem
    - auto::createObjectsFromName
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - auto::identifiers
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: bool
    signature: "bool exportAsESRIWktCompoundCRSWithEllipsoidalHeight(\n    const CRS
      *self, const GeodeticCRS *geodCRS, io::WKTFormatter *formatter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs::CoordinateSystemAxisNNPtr::unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2118,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2120,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:2121,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2124,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:2125,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:2127,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2128,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:2128,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2129,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2130,1
    - Dst: CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2130,1
    - Dst: CRSNNPtr::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2131,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2132,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - base2DCRS
    - verticalAxis
    - formatter
    argTypes:
    - CRSNNPtr
    - cs::CoordinateSystemAxisNNPtr
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2134
    functionName: exportAsWKT1CompoundCRSWithEllipsoidalHeight
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - VerticalCS::create
    - CRSNNPtr::_exportToWKT
    - PropertyMap::PropertyMap
    - cs::CoordinateSystemAxisNNPtr::unit
    - auto::as_nullable
    - VerticalCRS::create
    - auto::_exportToWKT
    - VerticalReferenceFrame::create
    - io::WKTFormatter*::addQuotedString
    - CRSNNPtr::nameStr
    linkageType: ''
    returnType: void
    signature: "void exportAsWKT1CompoundCRSWithEllipsoidalHeight(\n    const CRSNNPtr
      &base2DCRS,\n    const cs::CoordinateSystemAxisNNPtr &verticalAxis,\n    io::WKTFormatter
      *formatter)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:2141,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:2143,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2145,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:2146,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2147,1
    - Dst: io::WKTFormatter*::outputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:2148,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2149,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2150,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:2152,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2153,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2155,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:2157,1
    - Dst: io::WKTFormatter*::isAllowedLINUNITNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2160,1
    - Dst: exportAsESRIWktCompoundCRSWithEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/crs.cpp:2164,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:2169,1
    - Dst: io::WKTFormatter*::isStrict
      Src: /src/PROJ/src/iso19111/crs.cpp:2174,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2175,1
    - Dst: demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:2178,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:2178,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:2180,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2180,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:2181,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2182,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:2183,1
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:2190,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2191,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2192,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2193,1
    - Dst: io::WKTFormatter*::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:2195,1
    - Dst: io::WKTFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:2196,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2197,1
    - Dst: io::WKTFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:2198,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2199,1
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:2203,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2205,1
    - Dst: io::WKTFormatter*::isAllowedEllipsoidalHeightAsVerticalCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:2209,1
    - Dst: exportAsWKT1CompoundCRSWithEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/crs.cpp:2210,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:2215,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2219,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:2220,1
    - Dst: GeodeticCRS::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2223,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2225,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2235,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/crs.cpp:2239,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2239,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2240,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:2241,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2243,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:2244,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2246,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/crs.cpp:2248,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2251,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2254,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:2255,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:2256,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2267,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2267,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/crs.cpp:2271,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2271,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2272,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:2273,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2275,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2276,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:2277,1
    - Dst: auto::createObjectsFromNameEx
      Src: /src/PROJ/src/iso19111/crs.cpp:2279,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:2280,1
    - Dst: GeodeticCRS::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2288,1
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:2294,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2294,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:2297,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2298,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2301,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2305,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2308,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2309,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/crs.cpp:2310,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/crs.cpp:2312,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2313,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2314,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:2315,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2317,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:2318,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2327,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/crs.cpp:2328,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:2329,1
    - Dst: isDeprecated
      Src: /src/PROJ/src/iso19111/crs.cpp:2336,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2339,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2341,1
    - Dst: io::WKTFormatter*::pushAxisAngularUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:2342,1
    - Dst: UnitOfMeasure::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2342,1
    - Dst: exportDatumOrDatumEnsembleToWkt
      Src: /src/PROJ/src/iso19111/crs.cpp:2343,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:2344,1
    - Dst: io::WKTFormatter*::popAxisAngularUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:2345,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2347,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2350,1
    - Dst: GeodeticCRS::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2355,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:2356,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2358,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:2359,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:2361,1
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:2364,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2365,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2366,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2367,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:2368,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2369,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:2373,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 112
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2140
    functionDepth: 3
    functionLinenumber: 2140
    functionLinenumberEnd: 2374
    functionName: GeodeticCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - auto::coordinateSystem
    - dynamic_cast<const GeographicCRS *>
    - auto::identify
    - nameStr
    - io::WKTFormatter*::setTOWGS84Parameters
    - NN_NO_CHECK
    - codeSpace
    - dynamic_cast<const GeodeticCRS *>
    - io::WKTFormatter*::databaseContext
    - coordinateSystem
    - io::WKTFormatter*::outputAxis
    - code
    - exportAsESRIWktCompoundCRSWithEllipsoidalHeight
    - demoteTo2D
    - exportDatumOrDatumEnsembleToWkt
    - GeodeticCRS::isGeocentric
    - auto::getAliasFromOfficialName
    - auto::createObjectsFromNameEx
    - std::string
    - io::WKTFormatter*::addQuotedString
    - UnitOfMeasure::create
    - ObjectUsage::baseExportToWKT
    - io::WKTFormatter*::endNode
    - auto::front
    - std::string::empty
    - unit
    - auto::size
    - io::WKTFormatter*::version
    - exportAsWKT1CompoundCRSWithEllipsoidalHeight
    - primeMeridian
    - io::WKTFormatter*::isAllowedEllipsoidalHeightAsVerticalCRS
    - io::WKTFormatter*::pushAxisAngularUnit
    - io::WKTFormatter*::setOutputAxis
    - auto::getAliases
    - auto::isGeocentric
    - io::WKTFormatter*::popAxisAngularUnit
    - starts_with
    - get
    - io::WKTFormatter*::useESRIDialect
    - FormattingException::Throw
    - strcmp
    - auto::empty
    - WKTFormatter::morphNameToESRI
    - isDeprecated
    - io::WKTFormatter*::use2019Keywords
    - auto::createObjectsFromName
    - io::WKTFormatter*::isAllowedLINUNITNode
    - io::WKTFormatter*::isStrict
    - auto::_exportToWKT
    - io::WKTFormatter*::getTOWGS84Parameters
    - CRS::getPrivate
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void GeodeticCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2383,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2384,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2385,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:2387,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:2388,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:2392,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2393,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2394,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2396,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2397,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2398,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2399,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/crs.cpp:2404,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2405,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2406,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:2407,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2410
    functionName: GeodeticCRS::addGeocentricUnitConversionIntoPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - unit
    - auto::_isEquivalentTo
    - FormattingException::Throw
    - io::PROJStringFormatter*::getCRSExport
    - auto::empty
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::addStep
    - coordinateSystem
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::addGeocentricUnitConversionIntoPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2417,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:2423,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:2435,1
    - Dst: snprintf
      Src: /src/PROJ/src/iso19111/crs.cpp:2437,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2416
    functionDepth: 1
    functionLinenumber: 2416
    functionLinenumberEnd: 2440
    functionName: GeodeticCRS::addAxisSwap
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::addStep
    - coordinateSystem
    - direction
    linkageType: ''
    returnType: void
    signature: void GeodeticCRS::addAxisSwap(io::PROJStringFormatter *formatter) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2448,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:2450,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2451,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2452,1
    - Dst: io::PROJStringFormatter*::omitZUnitConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:2452,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2453,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2456,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2457,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2458,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2459,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/crs.cpp:2459,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2461,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2464,1
    - Dst: io::PROJStringFormatter*::omitZUnitConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:2464,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:2465,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2466,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2467,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2468,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/crs.cpp:2468,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2470,1
    - Dst: GeodeticCRS::addAxisSwap
      Src: /src/PROJ/src/iso19111/crs.cpp:2474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2446
    functionDepth: 2
    functionLinenumber: 2446
    functionLinenumberEnd: 2475
    functionName: GeodeticCRS::addAngularUnitConvertAndAxisSwap
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::exportToPROJString
    - GeodeticCRS::addAxisSwap
    - unit
    - auto::size
    - auto::empty
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::addStep
    - coordinateSystem
    - io::PROJStringFormatter*::omitZUnitConversion
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::addAngularUnitConvertAndAxisSwap(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:2484,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2485,1
    - Dst: io::PROJStringFormatter*::ingestPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2486,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/crs.cpp:2487,1
    - Dst: io::PROJStringFormatter*::addNoDefs
      Src: /src/PROJ/src/iso19111/crs.cpp:2488,1
    - Dst: GeodeticCRS::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2492,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:2493,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:2494,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:2496,1
    - Dst: GeodeticCRS::addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2499,1
    - Dst: GeodeticCRS::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2500,1
    - Dst: GeodeticCRS::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2501,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:2502,1
    - Dst: io::PROJStringFormatter*::omitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/crs.cpp:2504,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:2505,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2506,1
    - Dst: io::PROJStringFormatter*::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:2507,1
    - Dst: io::PROJStringFormatter*::getHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:2508,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:2509,1
    - Dst: GeodeticCRS::addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:2510,1
    - Dst: GeodeticCRS::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/crs.cpp:2513,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:2515,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:2527,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2481
    functionDepth: 3
    functionLinenumber: 2481
    functionLinenumberEnd: 2532
    functionName: GeodeticCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::PROJStringFormatter*::addNoDefs
    - GeodeticCRS::isSphericalPlanetocentric
    - GeodeticCRS::addGeocentricUnitConversionIntoPROJString
    - ellipsoid
    - io::PROJStringFormatter*::getHDatumExtension
    - FormattingException::Throw
    - auto::empty
    - io::PROJStringFormatter*::getCRSExport
    - GeodeticCRS::addDatumInfoToPROJString
    - io::PROJStringFormatter*::getTOWGS84Parameters
    - primeMeridian
    - GeodeticCRS::isGeocentric
    - io::PROJStringFormatter*::addStep
    - io::PROJStringFormatter*::omitProjLongLatIfPossible
    - io::PROJStringFormatter*::ingestPROJString
    - GeodeticCRS::addAngularUnitConvertAndAxisSwap
    - CRS::getPrivate
    - replaceAll
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:2541,1
    - Dst: io::PROJStringFormatter*::getHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:2543,1
    - Dst: GeodeticCRS::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:2544,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2544,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:2545,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2545,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2546,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2546,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2547,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2548,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2551,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2552,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2553,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2556,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2557,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2558,1
    - Dst: io::PROJStringFormatter*::getLegacyCRSToCRSContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2561,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2563,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2565,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2570,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:2571,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:2573,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2574,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2576,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:2577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2538
    functionDepth: 2
    functionLinenumber: 2538
    functionLinenumberEnd: 2579
    functionName: GeodeticCRS::addDatumInfoToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - auto::_isEquivalentTo
    - io::PROJStringFormatter*::getHDatumExtension
    - get
    - ellipsoid
    - io::PROJStringFormatter*::getTOWGS84Parameters
    - io::PROJStringFormatter*::getCRSExport
    - auto::size
    - io::PROJStringFormatter*::addParam
    - primeMeridian
    - io::PROJStringFormatter*::getLegacyCRSToCRSContext
    - io::PROJStringFormatter*::databaseContext
    - auto::empty
    - GeodeticCRS::datumNonNull
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::addDatumInfoToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:2590,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2592,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2592,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:2594,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2595,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2596,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:2597,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:2599,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:2604,1
    - Dst: GeodeticCRS::_exportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:2605,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:2607,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:2608,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:2609,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:2612,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:2613,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2614,1
    - Dst: dynamic_cast<datum::DynamicGeodeticReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:2617,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2618,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/src/iso19111/crs.cpp:2619,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/crs.cpp:2620,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:2621,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2622,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2623,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:2624,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:2625,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:2629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - formatter
    - objectName
    argTypes:
    - io::JSONFormatter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2586
    functionDepth: 6
    functionLinenumber: 2586
    functionLinenumberEnd: 2630
    functionName: GeodeticCRS::_exportToJSONInternal
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - get
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - coordinateSystem
    - dynamic_cast<datum::DynamicGeodeticReferenceFrame *>
    - auto::has_value
    - auto::MakeArrayContext
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - auto::AddObjKey
    - auto::deformationModelName
    - auto::empty
    - datumEnsemble
    - GeodeticCRS::_exportToJSON
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::_exportToJSONInternal(\n    io::JSONFormatter *formatter,\n
      \   const char *objectName) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::_exportToJSONInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:2635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2632
    functionDepth: 7
    functionLinenumber: 2632
    functionLinenumberEnd: 2636
    functionName: GeodeticCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - GeodeticCRS::_exportToJSONInternal
    linkageType: ''
    returnType: void
    signature: "void GeodeticCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - util::IComparable::Criterion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2642
    functionDepth: 0
    functionLinenumber: 2642
    functionLinenumberEnd: 2648
    functionName: getStandardCriterion
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::IComparable::Criterion
    signature: util::IComparable::Criterion getStandardCriterion(util::IComparable::Criterion
      criterion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::isOfExactType<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:2657,1
    - Dst: GeodeticCRS::_isEquivalentToNoTypeCheck
      Src: /src/PROJ/src/iso19111/crs.cpp:2660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2654
    functionDepth: 1
    functionLinenumber: 2654
    functionLinenumberEnd: 2661
    functionName: GeodeticCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeodeticCRS::_isEquivalentToNoTypeCheck
    - util::isOfExactType<GeodeticCRS>
    linkageType: ''
    returnType: bool
    signature: "bool GeodeticCRS::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStandardCriterion
      Src: /src/PROJ/src/iso19111/crs.cpp:2666,1
    - Dst: SingleCRS::baseIsEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2663
    functionDepth: 3
    functionLinenumber: 2663
    functionLinenumberEnd: 2670
    functionName: GeodeticCRS::_isEquivalentToNoTypeCheck
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - getStandardCriterion
    - SingleCRS::baseIsEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool GeodeticCRS::_isEquivalentToNoTypeCheck(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:2677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2681
    functionName: createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 11
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMapNameEPSGCode(const char *name, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2687,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:2688,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2686
    functionDepth: 2
    functionLinenumber: 2686
    functionLinenumberEnd: 2691
    functionName: GeodeticCRS::createEPSG_4978
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - CartesianCS::createGeocentric
    - GeodeticCRS::create
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr GeodeticCRS::createEPSG_4978()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: common::IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2700,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2701,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:2701,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2705,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:2705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - authorityFactory
    argTypes:
    - common::IdentifiedObject*
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2710
    functionName: hasCodeCompatibleOfAuthorityFactory
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - codeSpace
    - io::AuthorityFactoryPtr::getAuthority
    - common::IdentifiedObject*::identifiers
    linkageType: ''
    returnType: bool
    signature: "bool hasCodeCompatibleOfAuthorityFactory(\n    const common::IdentifiedObject
      *obj,\n    const io::AuthorityFactoryPtr &authorityFactory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:2715,1
    - Dst: metadata::IdentifierNNPtr::codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2718,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:2718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - id
    - authorityFactory
    argTypes:
    - metadata::IdentifierNNPtr
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2719
    functionName: hasCodeCompatibleOfAuthorityFactory
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - metadata::IdentifierNNPtr::codeSpace
    - io::AuthorityFactoryPtr::getAuthority
    linkageType: ''
    returnType: bool
    signature: "bool hasCodeCompatibleOfAuthorityFactory(\n    const metadata::IdentifierNNPtr
      &id,\n    const io::AuthorityFactoryPtr &authorityFactory)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2775,1
    - Dst: hasImplicitCS
      Src: /src/PROJ/src/iso19111/crs.cpp:2777,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:2784,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:2785,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:2790,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:2791,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2791,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2792,1
    - Dst: GeodeticCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2794,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2794,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2796,1
    - Dst: util::nn_static_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:2796,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2800,1
    - Dst: util::nn_static_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:2800,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2804,1
    - Dst: util::nn_static_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:2804,1
    - Dst: GeodeticCRS::isGeocentric
      Src: /src/PROJ/src/iso19111/crs.cpp:2812,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:2815,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2817,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2833,1
    - Dst: io::AuthorityFactoryPtr::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/crs.cpp:2836,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2837,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2837,1
    - Dst: GeodeticCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2840,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2840,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2842,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2855,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2857,1
    - Dst: io::AuthorityFactoryPtr::createEllipsoidFromExisting
      Src: /src/PROJ/src/iso19111/crs.cpp:2858,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2862,1
    - Dst: io::AuthorityFactoryPtr::createGeodeticCRSFromEllipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2865,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2866,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2866,1
    - Dst: GeodeticCRS::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:2869,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2870,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:2871,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:2874,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:2875,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2879,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:2880,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2883,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2895,1
    - Dst: searchByDatumCode
      Src: /src/PROJ/src/iso19111/crs.cpp:2896,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:2898,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2899,1
    - Dst: searchByDatumCode
      Src: /src/PROJ/src/iso19111/crs.cpp:2905,1
    - Dst: searchByEllipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2909,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2914,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:2915,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:2916,1
    - Dst: searchByDatumOrEllipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2919,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:2920,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:2924,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:2925,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:2927,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:2928,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:2929,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:2930,1
    - Dst: GeodeticCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2932,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:2932,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2933,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:2943,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:2947,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:2948,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:2949,1
    - Dst: GeodeticCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2950,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:2950,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2951,1
    - Dst: std::list::clear
      Src: /src/PROJ/src/iso19111/crs.cpp:2952,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2953,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:2957,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:2958,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:2958,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2959,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:2962,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:2965,1
    - Dst: searchByDatumOrEllipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:2970,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/crs.cpp:2976,1
    - Dst: first::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:2997,1
    - Dst: first::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:2998,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:2999,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3000,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3002,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3003,1
    - Dst: GeodeticCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3016,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:3017,1
    - Dst: GeodeticCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3019,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:3020,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:3030,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:3031,1
    - Dst: axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:3032,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:3045,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:3046,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3047,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:3049,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:3050,1
    - Dst: first::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3051,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3064,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:3064,1
    - Dst: std::list::push_back
      Src: /src/PROJ/src/iso19111/crs.cpp:3068,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 145
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts:
    - condition: (crs)
      pos:
        line_end: 2947
        line_start: 2947
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 3077
      start: 2768
    functionDepth: 3
    functionLinenumber: 2768
    functionLinenumberEnd: 3077
    functionName: GeodeticCRS::identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - GeodeticCRS::_isEquivalentTo
    - std::list::front
    - std::list::sort
    - io::AuthorityFactoryPtr::createEllipsoidFromExisting
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - NN_NO_CHECK
    - codeSpace
    - std::list::emplace_back
    - coordinateSystem
    - code
    - auto::nameStr
    - auto::_isEquivalentTo
    - io::AuthorityFactoryPtr::createObjectsFromName
    - util::nn_static_pointer_cast<GeodeticCRS>
    - assert
    - GeodeticCRS::isGeocentric
    - GeodeticCRS::datumNonNull
    - AuthorityFactory::create
    - io::AuthorityFactoryPtr::createGeodeticCRSFromEllipsoid
    - searchByDatumCode
    - std::list::push_back
    - auto::primeMeridian
    - std::list::clear
    - std::list::size
    - ci_equal
    - io::AuthorityFactoryPtr::getAuthority
    - c_str
    - first::datumNonNull
    - io::AuthorityFactoryPtr::createGeodeticCRSFromDatum
    - auto::ellipsoid
    - get
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - searchByEllipsoid
    - hasImplicitCS
    - std::list::empty
    - auto::identifiers
    - empty
    - searchByDatumOrEllipsoid
    - axisList
    - Identifier::isEquivalentName
    - first::nameStr
    - io::AuthorityFactoryPtr::databaseContext
    - hasCodeCompatibleOfAuthorityFactory
    linkageType: ''
    returnType: std::list<std::pair<GeodeticCRSNNPtr, int>>
    signature: std::list<std::pair<GeodeticCRSNNPtr, int>> GeodeticCRS::identify(const
      io::AuthorityFactoryPtr &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:3087,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:3089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3083
    functionDepth: 4
    functionLinenumber: 3083
    functionLinenumberEnd: 3092
    functionName: GeodeticCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeodeticCRS::identify
    - std::list::emplace_back
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> GeodeticCRS::_identify(const io::AuthorityFactoryPtr
      &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - csIn
    argTypes:
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3103
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const cs::EllipsoidalCSNNPtr &csIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnsembleForGeodeticCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:3114,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:3115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3109
    functionDepth: 2
    functionLinenumber: 3109
    functionLinenumberEnd: 3115
    functionName: GeographicCRS::GeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - checkEnsembleForGeodeticCRS
    linkageType: ''
    returnType: void
    signature: "void GeographicCRS::GeographicCRS(const datum::GeodeticReferenceFramePtr
      &datumIn,\n                             const datum::DatumEnsemblePtr &datumEnsembleIn,\n
      \                            const cs::EllipsoidalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:3121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeographicCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3121
    functionName: GeographicCRS::GeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void GeographicCRS::GeographicCRS(const GeographicCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3126
    functionName: GeographicCRS::~GeographicCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeographicCRS::~GeographicCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::nn_make_shared<GeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3132,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:3133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3131
    functionDepth: 0
    functionLinenumber: 3131
    functionLinenumberEnd: 3135
    functionName: GeographicCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - GeographicCRS::nn_make_shared<GeographicCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr GeographicCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3145
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3145
    functionName: '&GeographicCRS::coordinateSystem()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cs::EllipsoidalCSNNPtr
    signature: cs::EllipsoidalCSNNPtr &GeographicCRS::coordinateSystem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3163,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:3163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - properties
    - datum
    - cs
    argTypes:
    - util::PropertyMap
    - datum::GeodeticReferenceFrameNNPtr
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3159
    functionDepth: 1
    functionLinenumber: 3159
    functionLinenumberEnd: 3164
    functionName: GeographicCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 35
    functionsReached:
    - GeographicCRS::create
    - datum::GeodeticReferenceFrameNNPtr::as_nullable
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: "GeographicCRSNNPtr GeographicCRS::create(const util::PropertyMap &properties,\n
      \                     const datum::GeodeticReferenceFrameNNPtr &datum,\n                      const
      cs::EllipsoidalCSNNPtr &cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRSNNPtr::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:3189,1
    - Dst: GeographicCRSNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:3190,1
    - Dst: GeographicCRSNNPtr::CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:3191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - datum
    - datumEnsemble
    - cs
    argTypes:
    - util::PropertyMap
    - datum::GeodeticReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3193
    functionName: GeographicCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 35
    functionsReached:
    - GeographicCRSNNPtr::setProperties
    - GeographicCRSNNPtr::assignSelf
    - GeographicCRSNNPtr::CRS::getPrivate
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: "GeographicCRSNNPtr GeographicCRS::create(const util::PropertyMap &properties,\n
      \                     const datum::GeodeticReferenceFramePtr &datum,\n                      const
      datum::DatumEnsemblePtr &datumEnsemble,\n                      const cs::EllipsoidalCSNNPtr
      &cs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem_::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:3205,1
    - Dst: util::nn<const GeographicCRS *>::d::coordinateSystem_::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:3206,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3207,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3207,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3214,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3215,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3216,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3217,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:3222,1
    - Dst: util::nn<const GeographicCRS *>::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:3223,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3224,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3225,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:3229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - other
    - dbContext
    argTypes:
    - util::nn<const GeographicCRS *>
    - io::DatabaseContextPtr
    assertStmts:
    - condition: (false)
      pos:
        line_end: 3228
        line_start: 3228
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 3232
      start: 3202
    functionDepth: 1
    functionLinenumber: 3202
    functionLinenumberEnd: 3232
    functionName: GeographicCRS::is2DPartOf3D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - coordinateSystem_::axisList
    - auto::_isEquivalentTo
    - auto::size
    - assert
    - util::nn<const GeographicCRS *>::datumNonNull
    - util::nn<const GeographicCRS *>::d::coordinateSystem_::axisList
    - datumNonNull
    linkageType: ''
    returnType: bool
    signature: "bool GeographicCRS::is2DPartOf3D(util::nn<const GeographicCRS *> other,\n
      \                                const io::DatabaseContextPtr &dbContext)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: util::isOfExactType<GeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3242,1
    - Dst: getStandardCriterion
      Src: /src/PROJ/src/iso19111/crs.cpp:3246,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:3247,1
    - Dst: GeodeticCRS::_isEquivalentToNoTypeCheck
      Src: /src/PROJ/src/iso19111/crs.cpp:3248,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3251,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3252,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3253,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3253,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3264,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3267,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3267,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3268,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:3269,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3270,1
    - Dst: datum
      Src: /src/PROJ/src/iso19111/crs.cpp:3271,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:3271,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/crs.cpp:3274,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/crs.cpp:3275,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3283,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3283,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3284,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3284,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3285,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:3286,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3287,1
    - Dst: datum
      Src: /src/PROJ/src/iso19111/crs.cpp:3288,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:3288,1
    - Dst: "cs::EllipsoidalCS::\n                             createLatitudeLongitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/crs.cpp:3291,1
    - Dst: "cs::EllipsoidalCS::\n                             createLongitudeLatitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/crs.cpp:3294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3239
    functionDepth: 4
    functionLinenumber: 3239
    functionLinenumberEnd: 3301
    functionName: GeographicCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - unit
    - "cs::EllipsoidalCS::\n                             createLongitudeLatitudeEllipsoidalHeight"
    - EllipsoidalCS::createLongitudeLatitude
    - "cs::EllipsoidalCS::\n                             createLatitudeLongitudeEllipsoidalHeight"
    - datum
    - PropertyMap::PropertyMap
    - GeodeticCRS::_isEquivalentToNoTypeCheck
    - GeographicCRS::create
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - util::isOfExactType<GeographicCRS>
    - getStandardCriterion
    - coordinateSystem
    - datumEnsemble
    - EllipsoidalCS::createLatitudeLongitude
    linkageType: ''
    returnType: bool
    signature: "bool GeographicCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3307,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3307,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/crs.cpp:3309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3306
    functionDepth: 3
    functionLinenumber: 3306
    functionLinenumberEnd: 3311
    functionName: GeographicCRS::createEPSG_4267
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - EllipsoidalCS::createLatitudeLongitude
    - GeographicCRS::create
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr GeographicCRS::createEPSG_4267()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3316,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3316,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/crs.cpp:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3315
    functionDepth: 3
    functionLinenumber: 3315
    functionLinenumberEnd: 3320
    functionName: GeographicCRS::createEPSG_4269
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - EllipsoidalCS::createLatitudeLongitude
    - GeographicCRS::create
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr GeographicCRS::createEPSG_4269()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3325,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3325,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/crs.cpp:3327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3324
    functionDepth: 3
    functionLinenumber: 3324
    functionLinenumberEnd: 3329
    functionName: GeographicCRS::createEPSG_4326
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - EllipsoidalCS::createLatitudeLongitude
    - GeographicCRS::create
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr GeographicCRS::createEPSG_4326()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/crs.cpp:3335,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3339,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/crs.cpp:3340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3333
    functionDepth: 3
    functionLinenumber: 3333
    functionLinenumberEnd: 3342
    functionName: GeographicCRS::createOGC_CRS84
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeographicCRS::create
    - EllipsoidalCS::createLongitudeLatitude
    - util::PropertyMap::set
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr GeographicCRS::createOGC_CRS84()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3347,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3348,1
    - Dst: EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/crs.cpp:3350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3346
    functionDepth: 3
    functionLinenumber: 3346
    functionLinenumberEnd: 3352
    functionName: GeographicCRS::createEPSG_4979
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - createMapNameEPSGCode
    - EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
    - GeographicCRS::create
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr GeographicCRS::createEPSG_4979()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/crs.cpp:3357,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3358,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/crs.cpp:3359,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/crs.cpp:3359,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3364,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3365,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:3366,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3368,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:3368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3356
    functionDepth: 2
    functionLinenumber: 3356
    functionLinenumberEnd: 3369
    functionName: GeographicCRS::createEPSG_4807
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - Ellipsoid::createFlattenedSphere
    - GeographicCRS::create
    - createLength
    - Scale::Scale
    - createMapNameEPSGCode
    - GeodeticReferenceFrame::create
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr GeographicCRS::createEPSG_4807()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3388,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3389,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:3390,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3394,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3395,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3396,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:3396,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:3397,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3398,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3400,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:3401,1
    - Dst: util::nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3403,1
    - Dst: auto::is2DPartOf3D
      Src: /src/PROJ/src/iso19111/crs.cpp:3404,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3405,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3406,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3411,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:3411,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3413,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:3414,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3415,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3415,1
    - Dst: datum
      Src: /src/PROJ/src/iso19111/crs.cpp:3416,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:3416,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3419,1
    - Dst: std::dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3419,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:3420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3384
    functionDepth: 2
    functionLinenumber: 3384
    functionLinenumberEnd: 3421
    functionName: GeographicCRS::demoteTo2D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - PropertyMap::PropertyMap
    - auto::is2DPartOf3D
    - nameStr
    - NN_NO_CHECK
    - codeSpace
    - coordinateSystem
    - datumEnsemble
    - shared_from_this
    - util::nn_dynamic_pointer_cast<GeographicCRS>
    - std::string::empty
    - auto::front
    - auto::size
    - GeographicCRS::create
    - std::dynamic_pointer_cast<GeographicCRS>
    - auto::createObjectsFromName
    - EllipsoidalCS::create
    - datum
    - auto::empty
    - AuthorityFactory::create
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: "GeographicCRSNNPtr GeographicCRS::demoteTo2D(const std::string &newName,\n
      \                         const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:3429,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3430,1
    - Dst: io::PROJStringFormatter*::ingestPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:3431,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/crs.cpp:3432,1
    - Dst: io::PROJStringFormatter*::addNoDefs
      Src: /src/PROJ/src/iso19111/crs.cpp:3433,1
    - Dst: io::PROJStringFormatter*::omitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/crs.cpp:3437,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:3438,1
    - Dst: io::PROJStringFormatter*::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:3439,1
    - Dst: io::PROJStringFormatter*::getHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:3440,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:3442,1
    - Dst: io::PROJStringFormatter*::getLegacyCRSToCRSContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3444,1
    - Dst: io::PROJStringFormatter*::getHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:3445,1
    - Dst: io::PROJStringFormatter*::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:3446,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:3447,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3447,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3448,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:3449,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3452,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3453,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:3454,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3458,1
    - Dst: addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:3462,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:3465,1
    - Dst: addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/crs.cpp:3466,1
    - Dst: hasOver
      Src: /src/PROJ/src/iso19111/crs.cpp:3468,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3469,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3426
    functionDepth: 2
    functionLinenumber: 3426
    functionLinenumberEnd: 3471
    functionName: GeographicCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::PROJStringFormatter*::getTOWGS84Parameters
    - hasOver
    - io::PROJStringFormatter*::omitProjLongLatIfPossible
    - CRS::getPrivate
    - io::PROJStringFormatter*::addNoDefs
    - auto::_isEquivalentTo
    - io::PROJStringFormatter*::getCRSExport
    - io::PROJStringFormatter*::addStep
    - io::PROJStringFormatter*::ingestPROJString
    - datumNonNull
    - replaceAll
    - io::PROJStringFormatter*::addParam
    - primeMeridian
    - io::PROJStringFormatter*::getLegacyCRSToCRSContext
    - io::PROJStringFormatter*::databaseContext
    - addAngularUnitConvertAndAxisSwap
    - addDatumInfoToPROJString
    - get
    - io::PROJStringFormatter*::getHDatumExtension
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void GeographicCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exportToJSONInternal
      Src: /src/PROJ/src/iso19111/crs.cpp:3480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3481
    functionName: GeographicCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - _exportToJSONInternal
    linkageType: ''
    returnType: void
    signature: "void GeographicCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: datum::DatumEnsemblePtr::datums
      Src: /src/PROJ/src/iso19111/crs.cpp:3506,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:3507,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3507,1
    - Dst: dynamic_cast<datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:3509,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:3509,1
    - Dst: util::Exception
      Src: /src/PROJ/src/iso19111/crs.cpp:3515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - datumIn
    - ensemble
    argTypes:
    - datum::VerticalReferenceFramePtr
    - datum::DatumEnsemblePtr
    assertStmts:
    - condition: (!datums.empty())
      pos:
        line_end: 3506
        line_start: 3506
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 3516
      start: 3496
    functionDepth: 1
    functionLinenumber: 3496
    functionLinenumberEnd: 3516
    functionName: checkEnsembleForVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - get
    - datum::DatumEnsemblePtr::datums
    - assert
    - dynamic_cast<datum::VerticalReferenceFrame *>
    - auto::empty
    - util::Exception
    linkageType: ''
    returnType: datum::DatumEnsemblePtr
    signature: "datum::DatumEnsemblePtr &\ncheckEnsembleForVerticalCRS(const datum::VerticalReferenceFramePtr
      &datumIn,\n                            const datum::DatumEnsemblePtr &ensemble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnsembleForVerticalCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:3524,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - datum::VerticalReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::VerticalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3521
    functionDepth: 2
    functionLinenumber: 3521
    functionLinenumberEnd: 3526
    functionName: VerticalCRS::VerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - checkEnsembleForVerticalCRS
    linkageType: ''
    returnType: void
    signature: "void VerticalCRS::VerticalCRS(const datum::VerticalReferenceFramePtr
      &datumIn,\n                         const datum::DatumEnsemblePtr &datumEnsembleIn,\n
      \                        const cs::VerticalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:3531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - VerticalCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3531
      start: 3530
    functionDepth: 0
    functionLinenumber: 3530
    functionLinenumberEnd: 3531
    functionName: VerticalCRS::VerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void VerticalCRS::VerticalCRS(const VerticalCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3536
    functionDepth: 0
    functionLinenumber: 3536
    functionLinenumberEnd: 3536
    functionName: VerticalCRS::~VerticalCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerticalCRS::~VerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalCRS::nn_make_shared<VerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3542,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:3543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3541
    functionDepth: 0
    functionLinenumber: 3541
    functionLinenumberEnd: 3545
    functionName: VerticalCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - VerticalCRS::nn_make_shared<VerticalCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr VerticalCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::static_pointer_cast<datum::VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/crs.cpp:3554,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:3555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3553
    functionDepth: 0
    functionLinenumber: 3553
    functionLinenumberEnd: 3556
    functionName: VerticalCRS::datum
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::static_pointer_cast<datum::VerticalReferenceFrame>
    - SingleCRS::getPrivate
    linkageType: ''
    returnType: datum::VerticalReferenceFramePtr
    signature: datum::VerticalReferenceFramePtr VerticalCRS::datum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3570
      start: 3567
    functionDepth: 0
    functionLinenumber: 3567
    functionLinenumberEnd: 3570
    functionName: '&

      VerticalCRS::geoidModel()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<operation::TransformationNNPtr>
    signature: 'std::vector<operation::TransformationNNPtr> &

      VerticalCRS::geoidModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3578
    functionDepth: 0
    functionLinenumber: 3578
    functionLinenumberEnd: 3581
    functionName: '&

      VerticalCRS::velocityModel()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<operation::PointMotionOperationNNPtr>
    signature: 'std::vector<operation::PointMotionOperationNNPtr> &

      VerticalCRS::velocityModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<cs::VerticalCS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3590,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:3591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3589
    functionDepth: 0
    functionLinenumber: 3589
    functionLinenumberEnd: 3592
    functionName: VerticalCRS::coordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - SingleCRS::getPrivate
    - util::nn_static_pointer_cast<cs::VerticalCS>
    linkageType: ''
    returnType: cs::VerticalCSNNPtr
    signature: cs::VerticalCSNNPtr VerticalCRS::coordinateSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3601,1
    - Dst: util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/crs.cpp:3602,1
    - Dst: SingleCRS::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:3603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3599
    functionDepth: 2
    functionLinenumber: 3599
    functionLinenumberEnd: 3604
    functionName: VerticalCRS::datumNonNull
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - util::nn_dynamic_pointer_cast<datum::VerticalReferenceFrame>
    - NN_NO_CHECK
    - SingleCRS::datumNonNull
    linkageType: ''
    returnType: datum::VerticalReferenceFrameNNPtr
    signature: datum::VerticalReferenceFrameNNPtr VerticalCRS::datumNonNull(const
      io::DatabaseContextPtr &dbContext) const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:3611,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3612,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:3613,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:3616,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3619,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:3620,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/crs.cpp:3623,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3625,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:3626,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3632,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3632,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:3634,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/crs.cpp:3643,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:3647,1
    - Dst: VerticalCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:3649,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:3650,1
    - Dst: auto::getWKT1DatumType
      Src: /src/PROJ/src/iso19111/crs.cpp:3651,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3654,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3655,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:3655,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:3656,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3657,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3660,1
    - Dst: util::nn_dynamic_pointer_cast<datum::Datum>
      Src: /src/PROJ/src/iso19111/crs.cpp:3662,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:3662,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:3664,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:3671,1
    - Dst: exportDatumOrDatumEnsembleToWkt
      Src: /src/PROJ/src/iso19111/crs.cpp:3674,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:3676,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:3677,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:3679,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3681,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:3682,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:3683,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3684,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3686,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:3687,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:3688,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:3689,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3690,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3694,1
    - Dst: io::WKTFormatter*::outputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:3697,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:3700,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:3702,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:3703,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:3705,1
    - Dst: geoidModel::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3705,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3707,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:3708,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3708,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:3709,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3710,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:3714,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:3715,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3610
    functionDepth: 2
    functionLinenumber: 3610
    functionLinenumberEnd: 3716
    functionName: VerticalCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - SingleCRS::getPrivate
    - nameStr
    - NN_NO_CHECK
    - io::WKTFormatter*::databaseContext
    - io::WKTFormatter*::outputAxis
    - auto::nameStr
    - std::move
    - geoidModel::empty
    - exportDatumOrDatumEnsembleToWkt
    - auto::getAliasFromOfficialName
    - io::WKTFormatter*::addQuotedString
    - std::string
    - ObjectUsage::baseExportToWKT
    - direction
    - io::WKTFormatter*::endNode
    - auto::front
    - unit
    - io::WKTFormatter*::version
    - VerticalCRS::datum
    - util::nn_dynamic_pointer_cast<datum::Datum>
    - io::WKTFormatter*::setOutputAxis
    - formatID
    - io::WKTFormatter*::useESRIDialect
    - WKTFormatter::morphNameToESRI
    - io::WKTFormatter*::use2019Keywords
    - auto::createObjectsFromName
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - auto::empty
    - auto::axisList
    - AuthorityFactory::create
    - auto::getWKT1DatumType
    linkageType: ''
    returnType: void
    signature: void VerticalCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::getVDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:3725,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3726,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3727,1
    - Dst: io::PROJStringFormatter*::getGeoidCRSValue
      Src: /src/PROJ/src/iso19111/crs.cpp:3729,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3730,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3731,1
    - Dst: VerticalCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3734,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3735,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3736,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3737,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3738,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3739,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3722
    functionDepth: 1
    functionLinenumber: 3722
    functionLinenumberEnd: 3744
    functionName: VerticalCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - unit
    - io::PROJStringFormatter*::getVDatumExtension
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::getGeoidCRSValue
    - auto::empty
    - VerticalCRS::coordinateSystem
    linkageType: ''
    returnType: void
    signature: "void VerticalCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:3753,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3755,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:3755,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3757,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3758,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3759,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:3760,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:3762,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3767,1
    - Dst: VerticalCRS::_exportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:3768,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3770,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:3771,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:3772,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3775,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:3776,1
    - Dst: VerticalCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3777,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3781,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3782,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:3783,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3783,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:3785,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:3786,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3788,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:3789,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:3793,1
    - Dst: geoidModel::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3796,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3797,1
    - Dst: geoidModelExport
      Src: /src/PROJ/src/iso19111/crs.cpp:3798,1
    - Dst: geoidModel::size
      Src: /src/PROJ/src/iso19111/crs.cpp:3799,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3800,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3801,1
    - Dst: geoidModelExport
      Src: /src/PROJ/src/iso19111/crs.cpp:3803,1
    - Dst: dynamic_cast<datum::DynamicVerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/crs.cpp:3808,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:3809,1
    - Dst: auto::deformationModelName
      Src: /src/PROJ/src/iso19111/crs.cpp:3810,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/crs.cpp:3811,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3812,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3813,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3814,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:3815,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:3816,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:3820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3750
    functionDepth: 6
    functionLinenumber: 3750
    functionLinenumberEnd: 3821
    functionName: VerticalCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - nameStr
    - io::JSONFormatter*::writer
    - geoidModelExport
    - auto::deformationModelName
    - datumEnsemble
    - auto::has_value
    - interpolationCRS
    - geoidModel::size
    - auto::Add
    - dynamic_cast<datum::DynamicVerticalReferenceFrame *>
    - formatID
    - auto::MakeArrayContext
    - VerticalCRS::_exportToJSON
    - auto::_exportToJSON
    - get
    - ObjectUsage::baseExportToJSON
    - auto::AddObjKey
    - auto::empty
    - VerticalCRS::coordinateSystem
    linkageType: ''
    returnType: void
    signature: "void VerticalCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VerticalCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:3829,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3831,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3832,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:3833,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3834,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3835,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3836,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3837,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:3838,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:3840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3827
    functionDepth: 1
    functionLinenumber: 3827
    functionLinenumberEnd: 3844
    functionName: VerticalCRS::addLinearUnitConvert
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - unit
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::addStep
    - auto::empty
    - VerticalCRS::coordinateSystem
    linkageType: ''
    returnType: void
    signature: "void VerticalCRS::addLinearUnitConvert(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3863,1
    - Dst: datum::VerticalReferenceFrameNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:3863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - properties
    - datumIn
    - csIn
    argTypes:
    - util::PropertyMap
    - datum::VerticalReferenceFrameNNPtr
    - cs::VerticalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3859
    functionDepth: 1
    functionLinenumber: 3859
    functionLinenumberEnd: 3864
    functionName: VerticalCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 22
    functionsReached:
    - VerticalCRS::create
    - datum::VerticalReferenceFrameNNPtr::as_nullable
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: "VerticalCRSNNPtr VerticalCRS::create(const util::PropertyMap &properties,\n
      \                   const datum::VerticalReferenceFrameNNPtr &datumIn,\n                    const
      cs::VerticalCSNNPtr &csIn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:3888,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:3889,1
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3890,1
    - Dst: util::nn_dynamic_pointer_cast<util::ArrayOfBaseObject>
      Src: /src/PROJ/src/iso19111/crs.cpp:3892,1
    - Dst: util::nn_dynamic_pointer_cast<operation::Transformation>
      Src: /src/PROJ/src/iso19111/crs.cpp:3896,1
    - Dst: auto::d::geoidModel::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:3899,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3899,1
    - Dst: util::nn_dynamic_pointer_cast<operation::Transformation>
      Src: /src/PROJ/src/iso19111/crs.cpp:3903,1
    - Dst: auto::d::geoidModel::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:3905,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - properties
    - datumIn
    - datumEnsembleIn
    - csIn
    argTypes:
    - util::PropertyMap
    - datum::VerticalReferenceFramePtr
    - datum::DatumEnsemblePtr
    - cs::VerticalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3881
    functionDepth: 1
    functionLinenumber: 3881
    functionLinenumberEnd: 3909
    functionName: VerticalCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 22
    functionsReached:
    - util::PropertyMap::get
    - auto::setProperties
    - util::nn_dynamic_pointer_cast<operation::Transformation>
    - util::nn_dynamic_pointer_cast<util::ArrayOfBaseObject>
    - auto::assignSelf
    - NN_NO_CHECK
    - auto::d::geoidModel::emplace_back
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: "VerticalCRSNNPtr VerticalCRS::create(const util::PropertyMap &properties,\n
      \                   const datum::VerticalReferenceFramePtr &datumIn,\n                    const
      datum::DatumEnsemblePtr &datumEnsembleIn,\n                    const cs::VerticalCSNNPtr
      &csIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:3917,1
    - Dst: util::isOfExactType<VerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3919,1
    - Dst: SingleCRS::baseIsEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3914
    functionDepth: 3
    functionLinenumber: 3914
    functionLinenumberEnd: 3924
    functionName: VerticalCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - util::isOfExactType<VerticalCRS>
    - SingleCRS::baseIsEquivalentTo
    - dynamic_cast<const VerticalCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool VerticalCRS::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:3963,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/crs.cpp:3965,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:3966,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:3967,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:3968,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:3971,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:3972,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:3974,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:3975,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:3976,1
    - Dst: VerticalCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3977,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3978,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:3980,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:3989,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:3993,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:3994,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:3995,1
    - Dst: VerticalCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:3996,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:3997,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:3999,1
    - Dst: std::list::clear
      Src: /src/PROJ/src/iso19111/crs.cpp:4000,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4001,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4004,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4006,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4009,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/crs.cpp:4016,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4040,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4041,1
    - Dst: std::list::push_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4045,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts:
    - condition: (crs)
      pos:
        line_end: 3993
        line_start: 3993
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 4055
      start: 3954
    functionDepth: 2
    functionLinenumber: 3954
    functionLinenumberEnd: 4055
    functionName: VerticalCRS::identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - hasCodeCompatibleOfAuthorityFactory
    - std::list::front
    - std::list::sort
    - NN_NO_CHECK
    - codeSpace
    - std::list::emplace_back
    - code
    - auto::nameStr
    - io::AuthorityFactoryPtr::createObjectsFromName
    - assert
    - std::list::push_back
    - std::list::clear
    - VerticalCRS::_isEquivalentTo
    - std::list::size
    - ci_equal
    - io::AuthorityFactoryPtr::databaseContext
    - std::list::empty
    - empty
    - AuthorityFactory::create
    - util::nn_dynamic_pointer_cast<VerticalCRS>
    linkageType: ''
    returnType: std::list<std::pair<VerticalCRSNNPtr, int>>
    signature: std::list<std::pair<VerticalCRSNNPtr, int>> VerticalCRS::identify(const
      io::AuthorityFactoryPtr &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:4065,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4070
      start: 4061
    functionDepth: 3
    functionLinenumber: 4061
    functionLinenumberEnd: 4070
    functionName: VerticalCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - VerticalCRS::identify
    - std::list::emplace_back
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> VerticalCRS::_identify(const io::AuthorityFactoryPtr
      &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - baseCRSIn
    - derivingConversionIn
    argTypes:
    - SingleCRSNNPtr
    - operation::ConversionNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4083
      start: 4081
    functionDepth: 0
    functionLinenumber: 4081
    functionLinenumberEnd: 4083
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const SingleCRSNNPtr &baseCRSIn,\n            const operation::ConversionNNPtr
      &derivingConversionIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Private::derivingConversion_::shallowClone
      Src: /src/PROJ/src/iso19111/crs.cpp:4089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Private
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4087
    functionDepth: 0
    functionLinenumber: 4087
    functionLinenumberEnd: 4089
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 34
    functionsReached:
    - Private::derivingConversion_::shallowClone
    linkageType: ''
    returnType: void
    signature: void Private(const Private &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:4111,1
    - Dst: SingleCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:4111,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:4113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - '

      #if !defined(COMPILER_WARNS_ABOUT_ABSTRACT_VBASE_INIT'
    argTypes:
    - SingleCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4114
    functionName: DerivedCRS::DerivedCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - SingleCRSNNPtr::datumEnsemble
    - SingleCRSNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedCRS::DerivedCRS(const SingleCRSNNPtr &baseCRSIn,\n                       const
      operation::ConversionNNPtr &derivingConversionIn,\n                       const
      cs::CoordinateSystemNNPtr &\n#if !defined(COMPILER_WARNS_ABOUT_ABSTRACT_VBASE_INIT)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4129
      start: 4129
    functionDepth: 0
    functionLinenumber: 4129
    functionLinenumberEnd: 4129
    functionName: DerivedCRS::~DerivedCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedCRS::~DerivedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4140
      start: 4138
    functionDepth: 0
    functionLinenumber: 4138
    functionLinenumberEnd: 4140
    functionName: '&DerivedCRS::baseCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingleCRSNNPtr
    signature: SingleCRSNNPtr &DerivedCRS::baseCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: derivingConversion_::shallowClone
      Src: /src/PROJ/src/iso19111/crs.cpp:4149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4150
    functionName: DerivedCRS::derivingConversion
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - derivingConversion_::shallowClone
    linkageType: ''
    returnType: operation::ConversionNNPtr
    signature: operation::ConversionNNPtr DerivedCRS::derivingConversion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4158
    functionName: '&

      DerivedCRS::derivingConversionRef()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::ConversionNNPtr
    signature: 'operation::ConversionNNPtr &

      DerivedCRS::derivingConversionRef()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:4166,1
    - Dst: getStandardCriterion
      Src: /src/PROJ/src/iso19111/crs.cpp:4167,1
    - Dst: SingleCRS::baseIsEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4169,1
    - Dst: baseCRS_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4172,1
    - Dst: auto::d::baseCRS_::get
      Src: /src/PROJ/src/iso19111/crs.cpp:4172,1
    - Dst: derivingConversion_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4174,1
    - Dst: auto::d::derivingConversion_::get
      Src: /src/PROJ/src/iso19111/crs.cpp:4175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4177
      start: 4163
    functionDepth: 3
    functionLinenumber: 4163
    functionLinenumberEnd: 4177
    functionName: DerivedCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - baseCRS_::_isEquivalentTo
    - derivingConversion_::_isEquivalentTo
    - dynamic_cast<const DerivedCRS *>
    - auto::d::derivingConversion_::get
    - SingleCRS::baseIsEquivalentTo
    - getStandardCriterion
    - auto::d::baseCRS_::get
    linkageType: ''
    returnType: bool
    signature: "bool DerivedCRS::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4182,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4183,1
    - Dst: std::static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:4184,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:4184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4185
      start: 4181
    functionDepth: 1
    functionLinenumber: 4181
    functionLinenumberEnd: 4185
    functionName: DerivedCRS::setDerivingConversionCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::static_pointer_cast<CRS>
    - derivingConversionRef
    - baseCRS
    linkageType: ''
    returnType: void
    signature: void DerivedCRS::setDerivingConversionCRS()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4192,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:4192,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4193,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4193,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4196,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:4196,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:4197,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4198,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4198,1
    - Dst: auto::exportDatumOrDatumEnsembleToWkt
      Src: /src/PROJ/src/iso19111/crs.cpp:4199,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:4200,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/crs.cpp:4201,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/crs.cpp:4201,1
    - Dst: auto::formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:4202,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4204,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:4206,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4207,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:4208,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4210,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4211,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - formatter
    - keyword
    - baseKeyword
    argTypes:
    - io::WKTFormatter*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4189
    functionDepth: 2
    functionLinenumber: 4189
    functionLinenumberEnd: 4213
    functionName: DerivedCRS::baseExportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ObjectUsage::baseExportToWKT
    - identifiers
    - io::WKTFormatter*::startNode
    - auto::nameStr
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::setUseDerivingConversion
    - coordinateSystem
    - io::WKTFormatter*::use2019Keywords
    - nameStr
    - auto::identifiers
    - derivingConversionRef
    - auto::formatID
    - io::WKTFormatter*::addQuotedString
    - auto::exportDatumOrDatumEnsembleToWkt
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: "void DerivedCRS::baseExportToWKT(io::WKTFormatter *formatter,\n                                 const
      std::string &keyword,\n                                 const std::string &baseKeyword)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:4221,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:4223,1
    - Dst: className
      Src: /src/PROJ/src/iso19111/crs.cpp:4223,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:4223,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4225,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4226,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4227,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:4228,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:4230,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4233,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4234,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4236,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:4237,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4238,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4240,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:4241,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4242,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:4244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4245
      start: 4218
    functionDepth: 6
    functionLinenumber: 4218
    functionLinenumberEnd: 4245
    functionName: DerivedCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - coordinateSystem
    - baseCRS
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - className
    - derivingConversionRef
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void DerivedCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - baseCRSIn
    - csIn
    argTypes:
    - GeodeticCRSNNPtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4254
    functionDepth: 0
    functionLinenumber: 4254
    functionLinenumberEnd: 4255
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const GeodeticCRSNNPtr &baseCRSIn, const cs::CartesianCSNNPtr
      &csIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4257
    functionName: '&baseCRS() const'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr &baseCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4259
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4259
    functionName: '&coordinateSystem() const'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cs::CartesianCSNNPtr
    signature: cs::CartesianCSNNPtr &coordinateSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:4269,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:4269,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:4271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4271
    functionName: ProjectedCRS::ProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeodeticCRSNNPtr::datumEnsemble
    - GeodeticCRSNNPtr::datum
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void ProjectedCRS::ProjectedCRS(\n    const GeodeticCRSNNPtr &baseCRSIn,\n
      \   const operation::ConversionNNPtr &derivingConversionIn,\n    const cs::CartesianCSNNPtr
      &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:4277,1
    - Dst: ProjectedCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4277,1
    - Dst: ProjectedCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - ProjectedCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4277
      start: 4275
    functionDepth: 1
    functionLinenumber: 4275
    functionLinenumberEnd: 4277
    functionName: ProjectedCRS::ProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ProjectedCRS::baseCRS
    - std::make_unique<Private>
    - ProjectedCRS::coordinateSystem
    linkageType: ''
    returnType: void
    signature: void ProjectedCRS::ProjectedCRS(const ProjectedCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4282
    functionDepth: 0
    functionLinenumber: 4282
    functionLinenumberEnd: 4282
    functionName: ProjectedCRS::~ProjectedCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectedCRS::~ProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::nn_make_shared<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:4288,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:4289,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4292
      start: 4287
    functionDepth: 0
    functionLinenumber: 4287
    functionLinenumberEnd: 4292
    functionName: ProjectedCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ProjectedCRS::nn_make_shared<ProjectedCRS>
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr ProjectedCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4301
    functionDepth: 1
    functionLinenumber: 4301
    functionLinenumberEnd: 4303
    functionName: '&ProjectedCRS::baseCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - baseCRS
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr &ProjectedCRS::baseCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4311
    functionDepth: 0
    functionLinenumber: 4311
    functionLinenumberEnd: 4313
    functionName: '&ProjectedCRS::coordinateSystem()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - coordinateSystem
    linkageType: ''
    returnType: cs::CartesianCSNNPtr
    signature: cs::CartesianCSNNPtr &ProjectedCRS::coordinateSystem()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:4319,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:4321,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:4324,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4327,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:4328,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4329,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:4329,1
    - Dst: ProjectedCRS::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:4330,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:4330,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:4332,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4332,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:4333,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4334,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4335,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4342,1
    - Dst: exportAsESRIWktCompoundCRSWithEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/crs.cpp:4346,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4347,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4352,1
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:4353,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4354,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4355,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4355,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4356,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4357,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:4358,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4360,1
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:4364,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4365,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4366,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4370,1
    - Dst: io::WKTFormatter*::isAllowedEllipsoidalHeightAsVerticalCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4371,1
    - Dst: exportAsWKT1CompoundCRSWithEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/crs.cpp:4372,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:4377,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4382,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4384,1
    - Dst: auto::getAliases
      Src: /src/PROJ/src/iso19111/crs.cpp:4386,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:4387,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:4387,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:4388,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4390,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4391,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4393,1
    - Dst: auto::getAliasFromOfficialName
      Src: /src/PROJ/src/iso19111/crs.cpp:4395,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4398,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4402,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:4402,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:4404,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4415,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:4416,1
    - Dst: auto::getTextDefinition
      Src: /src/PROJ/src/iso19111/crs.cpp:4420,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:4421,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:4422,1
    - Dst: WKTParser::WKTParser
      Src: /src/PROJ/src/iso19111/crs.cpp:4423,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4426,1
    - Dst: dynamic_cast<IComparable *>
      Src: /src/PROJ/src/iso19111/crs.cpp:4427,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:4427,1
    - Dst: io::WKTFormatter*::ingestWKTNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4429,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/crs.cpp:4430,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4436,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4439,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:4439,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4444,1
    - Dst: auto::getTextDefinition
      Src: /src/PROJ/src/iso19111/crs.cpp:4445,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4447,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:4447,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:4448,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4449,1
    - Dst: dynamic_cast<IComparable *>
      Src: /src/PROJ/src/iso19111/crs.cpp:4450,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4450,1
    - Dst: io::WKTFormatter*::ingestWKTNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4452,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/crs.cpp:4453,1
    - Dst: io::WKTFormatter*::outputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4464,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:4467,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:4468,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4469,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4472,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4473,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4476,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:4477,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4477,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4478,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4478,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4479,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4479,1
    - Dst: io::WKTFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:4480,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4481,1
    - Dst: io::WKTFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:4482,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4484,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4485,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4486,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4488,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4489,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:4490,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4491,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4493,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4494,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:4495,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4496,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4498,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4499,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:4500,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4501,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4503,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4504,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/crs.cpp:4505,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4506,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4508,1
    - Dst: exportAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4509,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4510,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4511,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4512,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4516,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4518,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4520,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4521,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/crs.cpp:4522,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4528,1
    - Dst: isDeprecated
      Src: /src/PROJ/src/iso19111/crs.cpp:4528,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4531,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4533,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4534,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4537,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:4538,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:4539,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:4539,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:4542,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:4542,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4543,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4543,1
    - Dst: auto::exportDatumOrDatumEnsembleToWkt
      Src: /src/PROJ/src/iso19111/crs.cpp:4544,1
    - Dst: io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4549,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4550,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:4552,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:4553,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/crs.cpp:4554,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/crs.cpp:4554,1
    - Dst: auto::formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:4555,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4557,1
    - Dst: io::WKTFormatter*::outputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4559,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4560,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4561,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4562,1
    - Dst: io::WKTFormatter*::pushAxisLinearUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:4565,1
    - Dst: UnitOfMeasure::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4566,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4566,1
    - Dst: io::WKTFormatter*::pushAxisAngularUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:4568,1
    - Dst: UnitOfMeasure::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4569,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4569,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4571,1
    - Dst: io::WKTFormatter*::popAxisAngularUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:4573,1
    - Dst: io::WKTFormatter*::popAxisLinearUnit
      Src: /src/PROJ/src/iso19111/crs.cpp:4575,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4578,1
    - Dst: exportAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:4581,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:4583,1
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:4584,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4585,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4586,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4587,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:4588,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4589,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4591,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:4595,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:4596,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 160
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4318
    functionDepth: 3
    functionLinenumber: 4318
    functionLinenumberEnd: 4598
    functionName: ProjectedCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - io::WKTFormatter*::startNode
    - auto::coordinateSystem
    - dynamic_cast<const GeographicCRS *>
    - auto::identify
    - auto::getTextDefinition
    - nameStr
    - io::WKTFormatter*::setTOWGS84Parameters
    - io::WKTFormatter*::pushAxisLinearUnit
    - NN_NO_CHECK
    - codeSpace
    - derivingConversionRef
    - io::WKTFormatter*::databaseContext
    - coordinateSystem
    - io::WKTFormatter*::outputAxis
    - auto::exportDatumOrDatumEnsembleToWkt
    - code
    - auto::nameStr
    - WKTNode::createFrom
    - ProjectedCRS::demoteTo2D
    - exportAsESRIWktCompoundCRSWithEllipsoidalHeight
    - dynamic_cast<IComparable *>
    - io::WKTFormatter*::idOnTopLevelOnly
    - auto::getAliasFromOfficialName
    - io::WKTFormatter*::addQuotedString
    - std::string
    - ObjectUsage::baseExportToWKT
    - auto::formatID
    - direction
    - UnitOfMeasure::create
    - io::WKTFormatter*::endNode
    - auto::front
    - std::string::empty
    - ProjectedCRS::_isEquivalentTo
    - auto::size
    - unit
    - io::WKTFormatter*::version
    - WKTParser::WKTParser
    - io::WKTFormatter*::popAxisLinearUnit
    - auto::primeMeridian
    - exportAsWKT1CompoundCRSWithEllipsoidalHeight
    - io::WKTFormatter*::isAllowedEllipsoidalHeightAsVerticalCRS
    - io::WKTFormatter*::setOutputAxis
    - io::WKTFormatter*::pushAxisAngularUnit
    - exportAxis
    - auto::getAliases
    - io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
    - io::WKTFormatter*::popAxisAngularUnit
    - starts_with
    - io::WKTFormatter*::useESRIDialect
    - FormattingException::Throw
    - WKTFormatter::morphNameToESRI
    - auto::empty
    - isDeprecated
    - io::WKTFormatter*::use2019Keywords
    - auto::createObjectsFromName
    - baseCRS
    - io::WKTFormatter*::ingestWKTNode
    - auto::_exportToWKT
    - io::WKTFormatter*::add
    - auto::identifiers
    - CRS::getPrivate
    - io::WKTFormatter*::topLevelHasId
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: void
    signature: void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:4607,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:4609,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:4609,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4611,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4612,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4613,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:4614,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:4616,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4619,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:4620,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4621,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4623,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:4624,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4625,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:4627,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:4628,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4629,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:4631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4632
      start: 4604
    functionDepth: 6
    functionLinenumber: 4604
    functionLinenumberEnd: 4632
    functionName: ProjectedCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - coordinateSystem
    - baseCRS
    - nameStr
    - io::JSONFormatter*::setAllowIDInImmediateChild
    - io::JSONFormatter*::writer
    - ObjectUsage::baseExportToJSON
    - derivingConversionRef
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void ProjectedCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:4640,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4641,1
    - Dst: io::PROJStringFormatter*::ingestPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:4642,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/crs.cpp:4643,1
    - Dst: io::PROJStringFormatter*::addNoDefs
      Src: /src/PROJ/src/iso19111/crs.cpp:4644,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4649
      start: 4637
    functionDepth: 2
    functionLinenumber: 4637
    functionLinenumberEnd: 4649
    functionName: ProjectedCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::PROJStringFormatter*::addNoDefs
    - auto::empty
    - derivingConversionRef
    - io::PROJStringFormatter*::ingestPROJString
    - CRS::getPrivate
    - replaceAll
    linkageType: ''
    returnType: void
    signature: "void ProjectedCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::nn_make_shared<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:4672,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:4674,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:4675,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4676,1
    - Dst: auto::CRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:4677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4667
    functionDepth: 0
    functionLinenumber: 4667
    functionLinenumberEnd: 4679
    functionName: ProjectedCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 66
    functionsReached:
    - auto::CRS::getPrivate
    - auto::setProperties
    - auto::assignSelf
    - ProjectedCRS::nn_make_shared<ProjectedCRS>
    - auto::setDerivingConversionCRS
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: "ProjectedCRSNNPtr ProjectedCRS::create(const util::PropertyMap &properties,\n
      \                    const GeodeticCRSNNPtr &baseCRSIn,\n                     const
      operation::ConversionNNPtr &derivingConversionIn,\n                     const
      cs::CartesianCSNNPtr &csIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:4686,1
    - Dst: baseCRS_::hasImplicitCS
      Src: /src/PROJ/src/iso19111/crs.cpp:4689,1
    - Dst: auto::d::baseCRS_::hasImplicitCS
      Src: /src/PROJ/src/iso19111/crs.cpp:4690,1
    - Dst: util::isOfExactType<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:4697,1
    - Dst: DerivedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4699
      start: 4683
    functionDepth: 0
    functionLinenumber: 4683
    functionLinenumberEnd: 4699
    functionName: ProjectedCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::d::baseCRS_::hasImplicitCS
    - dynamic_cast<const ProjectedCRS *>
    - baseCRS_::hasImplicitCS
    - DerivedCRS::_isEquivalentTo
    - util::isOfExactType<ProjectedCRS>
    linkageType: ''
    returnType: bool
    signature: "bool ProjectedCRS::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4707,1
    - Dst: createPropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:4708,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4708,1
    - Dst: derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:4709,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unit
    - convertToNewUnit
    argTypes:
    - common::UnitOfMeasure
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4711
      start: 4704
    functionDepth: 3
    functionLinenumber: 4704
    functionLinenumberEnd: 4711
    functionName: ProjectedCRS::alterParametersLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - createPropertyMap
    - baseCRS
    - ProjectedCRS::create
    - derivingConversion
    - coordinateSystem
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: "ProjectedCRSNNPtr ProjectedCRS::alterParametersLinearUnit(const common::UnitOfMeasure
      &unit,\n                                        bool convertToNewUnit) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/crs.cpp:4719,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - formatter
    - axisSpecFound
    argTypes:
    - io::PROJStringFormatter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4721
      start: 4717
    functionDepth: 1
    functionLinenumber: 4717
    functionLinenumberEnd: 4721
    functionName: ProjectedCRS::addUnitConvertAndAxisSwap
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - coordinateSystem
    - ProjectedCRS::addUnitConvertAndAxisSwap
    linkageType: ''
    returnType: void
    signature: "void ProjectedCRS::addUnitConvertAndAxisSwap(io::PROJStringFormatter
      *formatter,\n                                             bool axisSpecFound)
      const"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4726,1
    - Dst: std::vector<cs::CoordinateSystemAxisNNPtr>::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4728,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4728,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4729,1
    - Dst: auto*::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4732,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:4734,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/crs.cpp:4735,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:4736,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:4737,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4738,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4740,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4742,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4743,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4745,1
    - Dst: auto*::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:4748,1
    - Dst: auto*::conversionToSI
      Src: /src/PROJ/src/iso19111/crs.cpp:4749,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4750,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4751,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4753,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:4757,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4758,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4760,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:4763,1
    - Dst: io::PROJStringFormatter*::getLegacyCRSToCRSContext
      Src: /src/PROJ/src/iso19111/crs.cpp:4764,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4765,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/crs.cpp:4769,1
    - Dst: io::PROJStringFormatter*::getLegacyCRSToCRSContext
      Src: /src/PROJ/src/iso19111/crs.cpp:4769,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:4770,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:4771,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:4780,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:4792,1
    - Dst: snprintf
      Src: /src/PROJ/src/iso19111/crs.cpp:4794,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4796,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4799,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4800,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:4801,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:4802,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/crs.cpp:4810,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/crs.cpp:4811,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 3
    argNames:
    - axisListIn
    - formatter
    - axisSpecFound
    argTypes:
    - std::vector<cs::CoordinateSystemAxisNNPtr>
    - io::PROJStringFormatter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4723
    functionDepth: 2
    functionLinenumber: 4723
    functionLinenumberEnd: 4815
    functionName: ProjectedCRS::addUnitConvertAndAxisSwap
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::exportToPROJString
    - auto*::conversionToSI
    - unit
    - auto::_isEquivalentTo
    - std::vector<cs::CoordinateSystemAxisNNPtr>::size
    - io::PROJStringFormatter*::getCRSExport
    - snprintf
    - ci_starts_with
    - io::PROJStringFormatter*::addParam
    - nameStr
    - io::PROJStringFormatter*::addStep
    - io::PROJStringFormatter*::getLegacyCRSToCRSContext
    - auto*::exportToPROJString
    - auto*::_isEquivalentTo
    - auto::empty
    - direction
    - auto::conversionToSI
    linkageType: ''
    returnType: void
    signature: "void ProjectedCRS::addUnitConvertAndAxisSwap(\n    const std::vector<cs::CoordinateSystemAxisNNPtr>
      &axisListIn,\n    io::PROJStringFormatter *formatter, bool axisSpecFound)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:4864,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:4869,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:4871,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4871,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4872,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/crs.cpp:4873,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:4874,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:4874,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4875,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4878,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:4879,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4880,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:4881,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:4881,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/crs.cpp:4882,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4883,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4883,1
    - Dst: ProjectedCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:4886,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:4894,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:4894,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:4895,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4900,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4901,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/crs.cpp:4903,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4903,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:4905,1
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/crs.cpp:4906,1
    - Dst: auto::isUTM
      Src: /src/PROJ/src/iso19111/crs.cpp:4907,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4908,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/crs.cpp:4909,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/crs.cpp:4915,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4918,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4918,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:4919,1
    - Dst: computeUTMCRSName
      Src: /src/PROJ/src/iso19111/crs.cpp:4922,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4923,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4924,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:4925,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:4925,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:4927,1
    - Dst: computeConfidence
      Src: /src/PROJ/src/iso19111/crs.cpp:4928,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4932,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4932,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:4933,1
    - Dst: computeUTMCRSName
      Src: /src/PROJ/src/iso19111/crs.cpp:4936,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4937,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4938,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:4939,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:4939,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:4942,1
    - Dst: computeConfidence
      Src: /src/PROJ/src/iso19111/crs.cpp:4943,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:4947,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4947,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:4948,1
    - Dst: computeUTMCRSName
      Src: /src/PROJ/src/iso19111/crs.cpp:4951,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4952,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:4953,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/crs.cpp:4954,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:4954,1
    - Dst: auto::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:4957,1
    - Dst: computeConfidence
      Src: /src/PROJ/src/iso19111/crs.cpp:4958,1
    - Dst: hasImplicitCS
      Src: /src/PROJ/src/iso19111/crs.cpp:4963,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:4966,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4966,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4967,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:4967,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4972,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:4973,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:4973,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4975,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4976,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4980,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4981,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4983,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4984,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4986,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4987,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:4989,1
    - Dst: std::list::clear
      Src: /src/PROJ/src/iso19111/crs.cpp:4990,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4991,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:4993,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:4995,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:4996,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4998,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:4999,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5002,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5003,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:5003,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5005,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5005,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5009,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5010,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5012,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5014,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5017,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5020,1
    - Dst: std::list::back
      Src: /src/PROJ/src/iso19111/crs.cpp:5022,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5027,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:5028,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:5029,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:5033,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5036,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:5037,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5039,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:5040,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:5041,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:5042,1
    - Dst: ProjectedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5043,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5044,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5048,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:5059,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromNameEx
      Src: /src/PROJ/src/iso19111/crs.cpp:5062,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5066,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:5068,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:5069,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:5070,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:5071,1
    - Dst: second::c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:5071,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/crs.cpp:5074,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5074,1
    - Dst: addCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5079,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5084,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/crs.cpp:5114,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5116,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5116,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5119,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:5120,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5120,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/crs.cpp:5121,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:5121,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:5122,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:5122,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:5125,1
    - Dst: std::dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5125,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:5126,1
    - Dst: io::AuthorityFactoryPtr::createProjectedCRSFromExisting
      Src: /src/PROJ/src/iso19111/crs.cpp:5128,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5130,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:5131,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5131,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/crs.cpp:5132,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:5132,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:5133,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:5133,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/crs.cpp:5134,1
    - Dst: addCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5138,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/crs.cpp:5141,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5145,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5146,1
    - Dst: std::list::push_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5150,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 114
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts:
    - condition: (crs)
      pos:
        line_end: 5067
        line_start: 5067
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - condition: (!ids.empty())
      pos:
        line_end: 5119
        line_start: 5119
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - condition: (!ids.empty())
      pos:
        line_end: 5130
        line_start: 5130
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 5160
      start: 4857
    functionDepth: 3
    functionLinenumber: 4857
    functionLinenumberEnd: 5160
    functionName: ProjectedCRS::identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - std::list::back
    - identifiers
    - std::string::c_str
    - hasCodeCompatibleOfAuthorityFactory
    - auto::get
    - auto::coordinateSystem
    - std::list::front
    - toString
    - io::AuthorityFactoryPtr::createObjectsFromNameEx
    - ci_starts_with
    - PropertyMap::PropertyMap
    - auto::baseCRS
    - std::list::sort
    - dynamic_cast<const GeographicCRS *>
    - auto::identify
    - nameStr
    - first::identifiers
    - derivingConversionRef
    - codeSpace
    - NN_NO_CHECK
    - computeUTMCRSName
    - std::list::emplace_back
    - coordinateSystem
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - ProjectedCRS::identify
    - EllipsoidalCS::createLatitudeLongitude
    - std::set::insert
    - std::fabs
    - code
    - auto::nameStr
    - auto::_isEquivalentTo
    - shared_from_this
    - std::dynamic_pointer_cast<ProjectedCRS>
    - auto::datumEnsemble
    - assert
    - createMapNameEPSGCode
    - auto::isUTM
    - ProjectedCRS::create
    - auto::semiMajorAxis
    - datumNonNull
    - auto::datum
    - AuthorityFactory::create
    - ProjectedCRS::_isEquivalentTo
    - unit
    - ellipsoid
    - std::list::push_back
    - computeConfidence
    - io::AuthorityFactoryPtr::createProjectedCRSFromExisting
    - GeographicCRS::create
    - std::list::clear
    - std::list::size
    - ci_equal
    - second::c_str
    - io::AuthorityFactoryPtr::getAuthority
    - c_str
    - std::pair<std::string, std::string>
    - get
    - std::set::find
    - hasImplicitCS
    - CartesianCS::createEastingNorthing
    - baseCRS
    - addCRS
    - std::list::empty
    - auto::identifiers
    - empty
    - std::set::end
    - auto::empty
    - Identifier::isEquivalentName
    - io::AuthorityFactoryPtr::databaseContext
    - auto::axisList
    linkageType: ''
    returnType: std::list<std::pair<ProjectedCRSNNPtr, int>>
    signature: std::list<std::pair<ProjectedCRSNNPtr, int>> ProjectedCRS::identify(const
      io::AuthorityFactoryPtr &authorityFactory) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5179,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5180,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5181,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:5181,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5183,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5185,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5185,1
    - Dst: util::nn_static_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5187,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:5188,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:5188,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5190,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:5191,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5192,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5192,1
    - Dst: derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:5193,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:5196,1
    - Dst: std::dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5196,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:5197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5198
      start: 5175
    functionDepth: 1
    functionLinenumber: 5175
    functionLinenumberEnd: 5198
    functionName: ProjectedCRS::demoteTo2D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - std::string::empty
    - auto::size
    - shared_from_this
    - std::dynamic_pointer_cast<ProjectedCRS>
    - auto::demoteTo2D
    - PropertyMap::PropertyMap
    - util::nn_static_pointer_cast<GeodeticCRS>
    - dynamic_cast<const GeographicCRS *>
    - baseCRS
    - nameStr
    - NN_NO_CHECK
    - ProjectedCRS::create
    - derivingConversion
    - std::string
    - coordinateSystem
    - CartesianCS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: "ProjectedCRSNNPtr ProjectedCRS::demoteTo2D(const std::string &newName,\n
      \                        const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:5208,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5213
      start: 5204
    functionDepth: 4
    functionLinenumber: 5204
    functionLinenumberEnd: 5213
    functionName: ProjectedCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ProjectedCRS::identify
    - std::list::emplace_back
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> ProjectedCRS::_identify(const io::AuthorityFactoryPtr
      &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5220
    functionDepth: 0
    functionLinenumber: 5220
    functionLinenumberEnd: 5221
    functionName: InvalidCompoundCRSException::InvalidCompoundCRSException
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidCompoundCRSException::InvalidCompoundCRSException(const
      char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5227
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5227
    functionName: InvalidCompoundCRSException::InvalidCompoundCRSException
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InvalidCompoundCRSException::InvalidCompoundCRSException(\n    const
      std::string &message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5231
      start: 5231
    functionDepth: 0
    functionLinenumber: 5231
    functionLinenumberEnd: 5231
    functionName: InvalidCompoundCRSException::~InvalidCompoundCRSException()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidCompoundCRSException::~InvalidCompoundCRSException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5235
    functionDepth: 0
    functionLinenumber: 5235
    functionLinenumberEnd: 5236
    functionName: InvalidCompoundCRSException::InvalidCompoundCRSException
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InvalidCompoundCRSException::InvalidCompoundCRSException(\n    const
      InvalidCompoundCRSException &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:5250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - components
    argTypes:
    - std::vector<CRSNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5252
      start: 5249
    functionDepth: 0
    functionLinenumber: 5249
    functionLinenumberEnd: 5252
    functionName: CompoundCRS::CompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CompoundCRS::CompoundCRS(const std::vector<CRSNNPtr> &components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:5257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - CompoundCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5257
      start: 5256
    functionDepth: 0
    functionLinenumber: 5256
    functionLinenumberEnd: 5257
    functionName: CompoundCRS::CompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CompoundCRS::CompoundCRS(const CompoundCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5262
    functionDepth: 0
    functionLinenumber: 5262
    functionLinenumberEnd: 5262
    functionName: CompoundCRS::~CompoundCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompoundCRS::~CompoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::nn_make_shared<CompoundCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5268,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:5269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5271
      start: 5267
    functionDepth: 0
    functionLinenumber: 5267
    functionLinenumberEnd: 5271
    functionName: CompoundCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - CompoundCRS::nn_make_shared<CompoundCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr CompoundCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5279
    functionDepth: 0
    functionLinenumber: 5279
    functionLinenumberEnd: 5282
    functionName: '&

      CompoundCRS::componentReferenceSystems()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CRSNNPtr>
    signature: 'std::vector<CRSNNPtr> &

      CompoundCRS::componentReferenceSystems()'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CRSNNPtr>::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5297,1
    - Dst: InvalidCompoundCRSException
      Src: /src/PROJ/src/iso19111/crs.cpp:5298,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5302,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5303,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5305,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5307,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5308,1
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5309,1
    - Dst: dynamic_cast<const EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5310,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5312,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5313,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5315,1
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5317,1
    - Dst: dynamic_cast<const EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5318,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5324,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5325,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5327,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5329,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5331,1
    - Dst: dynamic_cast<const GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5338,1
    - Dst: dynamic_cast<const VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5339,1
    - Dst: dynamic_cast<const TemporalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5340,1
    - Dst: dynamic_cast<const ParametricCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5344,1
    - Dst: InvalidCompoundCRSException
      Src: /src/PROJ/src/iso19111/crs.cpp:5350,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:5357,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:5358,1
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5359,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5362,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5365,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5366,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/crs.cpp:5373,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:5374,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 39
    argCount: 2
    argNames:
    - properties
    - components
    argTypes:
    - util::PropertyMap
    - std::vector<CRSNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5378
      start: 5294
    functionDepth: 2
    functionLinenumber: 5294
    functionLinenumberEnd: 5378
    functionName: CompoundCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 27
    functionsReached:
    - auto::coordinateSystem
    - InvalidCompoundCRSException
    - auto::baseCRS
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - util::PropertyMap::set
    - dynamic_cast<const GeodeticCRS *>
    - dynamic_cast<const TemporalCRS *>
    - auto::setProperties
    - auto::assignSelf
    - dynamic_cast<const VerticalCRS *>
    - dynamic_cast<const ParametricCRS *>
    - std::string::empty
    - dynamic_cast<const ProjectedCRS *>
    - util::PropertyMap::get
    - dynamic_cast<const BoundCRS *>
    - std::vector<CRSNNPtr>::size
    - dynamic_cast<const EngineeringCRS *>
    - get
    - auto::empty
    - dynamic_cast<const DerivedProjectedCRS *>
    linkageType: ''
    returnType: CompoundCRSNNPtr
    signature: "CompoundCRSNNPtr CompoundCRS::create(const util::PropertyMap &properties,\n
      \                                    const std::vector<CRSNNPtr> &components)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CRSNNPtr>::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5400,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5401,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5402,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5403,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5404,1
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5405,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5408,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5409,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5410,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5413,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5418,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5420,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/crs.cpp:5421,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:5421,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/crs.cpp:5422,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:5423,1
    - Dst: InvalidCompoundCRSException
      Src: /src/PROJ/src/iso19111/crs.cpp:5426,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5433,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:5434,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:5435,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:5436,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5437,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/crs.cpp:5438,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/crs.cpp:5441,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5442,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5444,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:5445,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/crs.cpp:5447,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/crs.cpp:5447,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/crs.cpp:5448,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5450,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5452,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5458,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - properties
    - components
    - dbContext
    argTypes:
    - util::PropertyMap
    - std::vector<CRSNNPtr>
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5459
      start: 5396
    functionDepth: 3
    functionLinenumber: 5396
    functionLinenumberEnd: 5459
    functionName: CompoundCRS::createLax
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - InvalidCompoundCRSException
    - auto::baseCRS
    - PropertyMap::PropertyMap
    - dynamic_cast<const GeographicCRS *>
    - CoordinateSystemAxis::create
    - nameStr
    - auto::nameStr
    - auto::_isEquivalentTo
    - auto::direction
    - std::string
    - auto::datum
    - CompoundCRS::create
    - dynamic_cast<const ProjectedCRS *>
    - promoteTo3D
    - dynamic_cast<const BoundCRS *>
    - std::vector<CRSNNPtr>::size
    - get
    - auto::demoteTo2D
    - auto::unit
    - util::nn_dynamic_pointer_cast<VerticalCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr CompoundCRS::createLax(const util::PropertyMap &properties,\n
      \                               const std::vector<CRSNNPtr> &components,\n                                const
      io::DatabaseContextPtr &dbContext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:5466,1
    - Dst: componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:5467,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:5468,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5468,1
    - Dst: CompoundCRS::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:5469,1
    - Dst: CompoundCRS::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:5470,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:5472,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5474,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:5475,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5475,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5476,1
    - Dst: io::WKTFormatter*::setGeogCRSOfCompoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5477,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5478,1
    - Dst: CompoundCRS::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:5481,1
    - Dst: io::WKTFormatter*::setGeogCRSOfCompoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5483,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:5484,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:5485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5465
    functionDepth: 2
    functionLinenumber: 5465
    functionLinenumberEnd: 5487
    functionName: CompoundCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - CompoundCRS::_exportToWKT
    - identifiers
    - io::WKTFormatter*::startNode
    - extractGeographicCRS
    - ObjectUsage::baseExportToWKT
    - auto::size
    - io::WKTFormatter*::useESRIDialect
    - io::WKTFormatter*::version
    - io::WKTFormatter*::endNode
    - componentReferenceSystems
    - nameStr
    - io::WKTFormatter*::setGeogCRSOfCompoundCRS
    - io::WKTFormatter*::addQuotedString
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void CompoundCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:5496,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:5498,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5498,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:5500,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5501,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5502,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:5503,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:5505,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:5508,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/crs.cpp:5510,1
    - Dst: componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:5511,1
    - Dst: CompoundCRS::_exportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:5512,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:5516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5517
      start: 5493
    functionDepth: 6
    functionLinenumber: 5493
    functionLinenumberEnd: 5517
    functionName: CompoundCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - componentReferenceSystems
    - io::JSONFormatter*::writer
    - CompoundCRS::_exportToJSON
    - ObjectUsage::baseExportToJSON
    - auto::AddObjKey
    - auto::empty
    - auto::MakeArrayContext
    linkageType: ''
    returnType: void
    signature: "void CompoundCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:5525,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5526,1
    - Dst: io::PROJStringFormatter*::setGeogCRSOfCompoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5527,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5528,1
    - Dst: dynamic_cast<const IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5532,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5532,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:5534,1
    - Dst: io::PROJStringFormatter*::setGeogCRSOfCompoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5538
      start: 5522
    functionDepth: 1
    functionLinenumber: 5522
    functionLinenumberEnd: 5538
    functionName: CompoundCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - extractGeographicCRS
    - dynamic_cast<const IPROJStringExportable *>
    - get
    - auto::_exportToPROJString
    - componentReferenceSystems
    - io::PROJStringFormatter*::setGeogCRSOfCompoundCRS
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void CompoundCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const CompoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5545,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5548,1
    - Dst: componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:5551,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:5552,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5553,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5553,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5556,1
    - Dst: CompoundCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5557,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5563
      start: 5542
    functionDepth: 1
    functionLinenumber: 5542
    functionLinenumberEnd: 5563
    functionName: CompoundCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::componentReferenceSystems
    - auto::size
    - get
    - componentReferenceSystems
    - CompoundCRS::_isEquivalentTo
    - ObjectUsage::_isEquivalentTo
    - dynamic_cast<const CompoundCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool CompoundCRS::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: componentReferenceSystems
      Src: /src/PROJ/src/iso19111/crs.cpp:5601,1
    - Dst: hasImplicitCS
      Src: /src/PROJ/src/iso19111/crs.cpp:5602,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:5605,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:5605,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5607,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:5617,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5619,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:5620,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:5621,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:5624,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5627,1
    - Dst: hasCodeCompatibleOfAuthorityFactory
      Src: /src/PROJ/src/iso19111/crs.cpp:5628,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5630,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:5631,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:5632,1
    - Dst: CompoundCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5634,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5634,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5635,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:5644,1
    - Dst: util::nn_dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5648,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:5649,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:5650,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:5651,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:5652,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5652,1
    - Dst: CompoundCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5654,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5654,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5655,1
    - Dst: std::list::clear
      Src: /src/PROJ/src/iso19111/crs.cpp:5656,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5657,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5660,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5663,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5666,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/crs.cpp:5696,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5698,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5699,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5699,1
    - Dst: first::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5702,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:5703,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5703,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/crs.cpp:5704,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:5704,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:5705,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:5705,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:5708,1
    - Dst: std::dynamic_pointer_cast<CompoundCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5708,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:5709,1
    - Dst: io::AuthorityFactoryPtr::createCompoundCRSFromExisting
      Src: /src/PROJ/src/iso19111/crs.cpp:5711,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5713,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:5714,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5714,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/crs.cpp:5715,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:5715,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/crs.cpp:5716,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/crs.cpp:5716,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/crs.cpp:5717,1
    - Dst: CompoundCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:5721,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5721,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5722,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5724,1
    - Dst: std::list::sort
      Src: /src/PROJ/src/iso19111/crs.cpp:5728,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5732,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5732,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5733,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5733,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5734,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:5740,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5740,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5740,1
    - Dst: CompoundCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:5741,1
    - Dst: CompoundCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:5742,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5743,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5744,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5745,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5746,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5747,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:5748,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5750,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5750,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5751,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5751,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5752,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5753,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/crs.cpp:5754,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/crs.cpp:5755,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5755,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5756,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/crs.cpp:5758,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5758,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/crs.cpp:5761,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5761,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5762,1
    - Dst: std::list::size
      Src: /src/PROJ/src/iso19111/crs.cpp:5767,1
    - Dst: std::list::front
      Src: /src/PROJ/src/iso19111/crs.cpp:5768,1
    - Dst: std::list::push_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5772,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 87
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts:
    - condition: (!ids.empty())
      pos:
        line_end: 5702
        line_start: 5702
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - condition: (crs)
      pos:
        line_end: 5648
        line_start: 5648
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - condition: (!ids.empty())
      pos:
        line_end: 5713
        line_start: 5713
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 5782
      start: 5594
    functionDepth: 3
    functionLinenumber: 5594
    functionLinenumberEnd: 5782
    functionName: CompoundCRS::identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - identifiers
    - std::list::front
    - auto::baseCRS
    - PropertyMap::PropertyMap
    - std::list::sort
    - componentReferenceSystems
    - nameStr
    - first::identifiers
    - NN_NO_CHECK
    - codeSpace
    - std::dynamic_pointer_cast<CompoundCRS>
    - std::list::emplace_back
    - std::set::insert
    - code
    - auto::nameStr
    - shared_from_this
    - io::AuthorityFactoryPtr::createObjectsFromName
    - CompoundCRS::identify
    - assert
    - util::nn_dynamic_pointer_cast<CompoundCRS>
    - auto::front
    - CompoundCRS::create
    - dynamic_cast<const ProjectedCRS *>
    - auto::size
    - std::list::push_back
    - std::min
    - std::list::clear
    - io::AuthorityFactoryPtr::createCompoundCRSFromExisting
    - std::list::size
    - ci_equal
    - c_str
    - io::AuthorityFactoryPtr::databaseContext
    - std::pair<std::string, std::string>
    - get
    - std::set::find
    - hasImplicitCS
    - std::list::empty
    - CompoundCRS::_isEquivalentTo
    - auto::identifiers
    - empty
    - std::set::end
    - auto::empty
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    - hasCodeCompatibleOfAuthorityFactory
    linkageType: ''
    returnType: std::list<std::pair<CompoundCRSNNPtr, int>>
    signature: std::list<std::pair<CompoundCRSNNPtr, int>> CompoundCRS::identify(const
      io::AuthorityFactoryPtr &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCRS::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:5792,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:5794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5788
    functionDepth: 4
    functionLinenumber: 5788
    functionLinenumberEnd: 5797
    functionName: CompoundCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CompoundCRS::identify
    - std::list::emplace_back
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> CompoundCRS::_identify(const io::AuthorityFactoryPtr
      &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5817
      start: 5804
    functionDepth: 0
    functionLinenumber: 5804
    functionLinenumberEnd: 5817
    functionName: BoundCRS::Private
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROJ_INTERNAL
    signature: struct PROJ_INTERNAL BoundCRS::Private
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5812
      start: 5812
    functionDepth: 0
    functionLinenumber: 5812
    functionLinenumberEnd: 5812
    functionName: baseCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr &baseCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5813
      start: 5813
    functionDepth: 0
    functionLinenumber: 5813
    functionLinenumberEnd: 5813
    functionName: hubCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr &hubCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5816
      start: 5814
    functionDepth: 0
    functionLinenumber: 5814
    functionLinenumberEnd: 5816
    functionName: transformation
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: operation::TransformationNNPtr
    signature: operation::TransformationNNPtr &transformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - hubCRSIn
    - transformationIn
    argTypes:
    - CRSNNPtr
    - CRSNNPtr
    - operation::TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5819
    functionDepth: 0
    functionLinenumber: 5819
    functionLinenumberEnd: 5823
    functionName: "BoundCRS::Private::Private(\n    const CRSNNPtr &baseCRSIn, const
      CRSNNPtr &hubCRSIn,\n    const operation::TransformationNNPtr &transformationIn)"
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BoundCRS::Private::Private(\n    const CRSNNPtr &baseCRSIn, const
      CRSNNPtr &hubCRSIn,\n    const operation::TransformationNNPtr &transformationIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:5831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - hubCRSIn
    - transformationIn
    argTypes:
    - CRSNNPtr
    - CRSNNPtr
    - operation::TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5831
      start: 5829
    functionDepth: 0
    functionLinenumber: 5829
    functionLinenumberEnd: 5831
    functionName: BoundCRS::BoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void BoundCRS::BoundCRS(const CRSNNPtr &baseCRSIn, const CRSNNPtr
      &hubCRSIn,\n                   const operation::TransformationNNPtr &transformationIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:5837,1
    - Dst: BoundCRS::d::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5837,1
    - Dst: BoundCRS::d::hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5837,1
    - Dst: BoundCRS::d::transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:5838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - BoundCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5838
      start: 5835
    functionDepth: 1
    functionLinenumber: 5835
    functionLinenumberEnd: 5838
    functionName: BoundCRS::BoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::d::baseCRS
    - std::make_unique<Private>
    - BoundCRS::d::transformation
    - BoundCRS::d::hubCRS
    linkageType: ''
    returnType: void
    signature: void BoundCRS::BoundCRS(const BoundCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5843
      start: 5843
    functionDepth: 0
    functionLinenumber: 5843
    functionLinenumberEnd: 5843
    functionName: BoundCRS::~BoundCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundCRS::~BoundCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::nn_make_shared<BoundCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5849,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:5850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5852
      start: 5848
    functionDepth: 0
    functionLinenumber: 5848
    functionLinenumberEnd: 5852
    functionName: BoundCRS::shallowCloneAsBoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - BoundCRS::nn_make_shared<BoundCRS>
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: BoundCRSNNPtr BoundCRS::shallowCloneAsBoundCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::shallowCloneAsBoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5856
    functionDepth: 1
    functionLinenumber: 5856
    functionLinenumberEnd: 5856
    functionName: BoundCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::shallowCloneAsBoundCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr BoundCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5866
    functionDepth: 0
    functionLinenumber: 5866
    functionLinenumberEnd: 5866
    functionName: '&BoundCRS::baseCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr &BoundCRS::baseCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundCRS
    argTypes:
    - BoundCRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5874
      start: 5871
    functionDepth: 0
    functionLinenumber: 5871
    functionLinenumberEnd: 5874
    functionName: CRS::setCanonicalBoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CRS::setCanonicalBoundCRS(const BoundCRSNNPtr &boundCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5892,1
    - Dst: auto::setCanonicalBoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5893,1
    - Dst: BoundCRS::shallowCloneAsBoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5895
      start: 5891
    functionDepth: 1
    functionLinenumber: 5891
    functionLinenumberEnd: 5895
    functionName: BoundCRS::baseCRSWithCanonicalBoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::setCanonicalBoundCRS
    - baseCRS
    - BoundCRS::shallowCloneAsBoundCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr BoundCRS::baseCRSWithCanonicalBoundCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5903
    functionDepth: 0
    functionLinenumber: 5903
    functionLinenumberEnd: 5903
    functionName: '&BoundCRS::hubCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr &BoundCRS::hubCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5914
      start: 5911
    functionDepth: 0
    functionLinenumber: 5911
    functionLinenumberEnd: 5914
    functionName: '&

      BoundCRS::transformation()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::TransformationNNPtr
    signature: 'operation::TransformationNNPtr &

      BoundCRS::transformation()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::nn_make_shared<BoundCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5932,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:5934,1
    - Dst: CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5935,1
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/crs.cpp:5936,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:5937,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/crs.cpp:5939,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:5940,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:5942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - hubCRSIn
    - transformationIn
    argTypes:
    - util::PropertyMap
    - CRSNNPtr
    - CRSNNPtr
    - operation::TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5928
    functionDepth: 2
    functionLinenumber: 5928
    functionLinenumberEnd: 5945
    functionName: BoundCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 22
    functionsReached:
    - auto::set
    - util::PropertyMap::get
    - BoundCRS::nn_make_shared<BoundCRS>
    - auto::setProperties
    - auto::assignSelf
    - auto::empty
    - CRSNNPtr::nameStr
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: "BoundCRSNNPtr BoundCRS::create(const util::PropertyMap &properties,
      const CRSNNPtr &baseCRSIn,\n                 const CRSNNPtr &hubCRSIn,\n                 const
      operation::TransformationNNPtr &transformationIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5960,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:5960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - baseCRSIn
    - hubCRSIn
    - transformationIn
    argTypes:
    - CRSNNPtr
    - CRSNNPtr
    - operation::TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5961
      start: 5957
    functionDepth: 1
    functionLinenumber: 5957
    functionLinenumberEnd: 5961
    functionName: BoundCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 23
    functionsReached:
    - BoundCRS::create
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: "BoundCRSNNPtr BoundCRS::create(const CRSNNPtr &baseCRSIn, const CRSNNPtr
      &hubCRSIn,\n                 const operation::TransformationNNPtr &transformationIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::createTOWGS84
      Src: /src/PROJ/src/iso19111/crs.cpp:5976,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5977,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - baseCRSIn
    - TOWGS84Parameters
    argTypes:
    - CRSNNPtr
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5978
      start: 5972
    functionDepth: 3
    functionLinenumber: 5972
    functionLinenumberEnd: 5978
    functionName: BoundCRS::createFromTOWGS84
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 28
    functionsReached:
    - BoundCRS::create
    - auto::targetCRS
    - Transformation::createTOWGS84
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: "BoundCRSNNPtr BoundCRS::createFromTOWGS84(const CRSNNPtr &baseCRSIn,\n
      \                           const std::vector<double> &TOWGS84Parameters)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRSNNPtr::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:5990,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:5993,1
    - Dst: std::static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:5993,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:5996,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:5997,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:5998,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:5999,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6001,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:6002,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:6004,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/crs.cpp:6006,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/crs.cpp:6007,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/crs.cpp:6008,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6011,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6014,1
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/src/iso19111/crs.cpp:6016,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:6017,1
    - Dst: std::vector<metadata::PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/crs.cpp:6020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - baseCRSIn
    - filename
    argTypes:
    - CRSNNPtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6021
      start: 5988
    functionDepth: 3
    functionLinenumber: 5988
    functionLinenumberEnd: 6021
    functionName: BoundCRS::createFromNadgrids
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - BoundCRS::create
    - std::static_pointer_cast<CRS>
    - auto::nameStr
    - PropertyMap::PropertyMap
    - auto::primeMeridian
    - GeographicCRS::create
    - CRSNNPtr::extractGeographicCRS
    - auto::datumNonNull
    - NN_NO_CHECK
    - std::vector<metadata::PositionalAccuracyNNPtr>
    - EllipsoidalCS::createLatitudeLongitude
    - GeodeticReferenceFrame::create
    - Transformation::createNTv2
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: "BoundCRSNNPtr BoundCRS::createFromNadgrids(const CRSNNPtr &baseCRSIn,\n
      \                                          const std::string &filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6026,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6026,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:6027,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 6025
    functionDepth: 2
    functionLinenumber: 6025
    functionLinenumberEnd: 6028
    functionName: BoundCRS::isTOWGS84Compatible
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeodeticCRS *>
    - hubCRS
    - ci_equal
    linkageType: ''
    returnType: bool
    signature: bool BoundCRS::isTOWGS84Compatible() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:6034,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6034,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6036,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6038,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6041,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - databaseContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6044
      start: 6032
    functionDepth: 2
    functionLinenumber: 6032
    functionLinenumberEnd: 6044
    functionName: BoundCRS::getHDatumPROJ4GRIDS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - transformation
    - hubCRS
    - NN_NO_CHECK
    - ci_equal
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BoundCRS::getHDatumPROJ4GRIDS(\n    const io::DatabaseContextPtr
      &databaseContext) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6053,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6053,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:6054,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6054,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6057,1
    - Dst: dynamic_cast<VerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6059,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6059,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:6060,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6060,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6061,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6064,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6066,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - geogCRSOfCompoundCRS
    - outGeoidCRSValue
    argTypes:
    - crs::GeographicCRS*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6067
      start: 6048
    functionDepth: 2
    functionLinenumber: 6048
    functionLinenumberEnd: 6067
    functionName: BoundCRS::getVDatumPROJ4GRIDS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - baseCRS
    - transformation
    - hubCRS
    - ci_equal
    - std::string
    - crs::GeographicCRS*::nameStr
    - dynamic_cast<VerticalCRS *>
    linkageType: ''
    returnType: std::string
    signature: "std::string BoundCRS::getVDatumPROJ4GRIDS(const crs::GeographicCRS
      *geogCRSOfCompoundCRS,\n                              const char **outGeoidCRSValue)
      const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:6073,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6075,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6076,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6077,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6078,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6079,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6080,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6081,1
    - Dst: io::WKTFormatter*::setAbridgedTransformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6082,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6083,1
    - Dst: io::WKTFormatter*::setAbridgedTransformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6084,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:6085,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6086,1
    - Dst: BoundCRS::getVDatumPROJ4GRIDS
      Src: /src/PROJ/src/iso19111/crs.cpp:6089,1
    - Dst: io::WKTFormatter*::getGeogCRSOfCompoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6090,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6091,1
    - Dst: io::WKTFormatter*::setVDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6092,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6093,1
    - Dst: io::WKTFormatter*::setVDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6094,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6094,1
    - Dst: BoundCRS::getHDatumPROJ4GRIDS
      Src: /src/PROJ/src/iso19111/crs.cpp:6099,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:6099,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6100,1
    - Dst: io::WKTFormatter*::setHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6101,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6102,1
    - Dst: io::WKTFormatter*::setHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6103,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6103,1
    - Dst: BoundCRS::isTOWGS84Compatible
      Src: /src/PROJ/src/iso19111/crs.cpp:6107,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:6108,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6111,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/crs.cpp:6112,1
    - Dst: io::WKTFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:6113,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6115,1
    - Dst: io::WKTFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:6116,1
    - Dst: std::vector<double>
      Src: /src/PROJ/src/iso19111/crs.cpp:6116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6118
      start: 6072
    functionDepth: 3
    functionLinenumber: 6072
    functionLinenumberEnd: 6118
    functionName: BoundCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::startNode
    - transformation
    - io::WKTFormatter*::setTOWGS84Parameters
    - io::WKTFormatter*::databaseContext
    - BoundCRS::getHDatumPROJ4GRIDS
    - io::WKTFormatter*::setAbridgedTransformation
    - std::vector<double>
    - std::string
    - io::WKTFormatter*::getGeogCRSOfCompoundCRS
    - ObjectUsage::baseExportToWKT
    - io::WKTFormatter*::endNode
    - BoundCRS::getVDatumPROJ4GRIDS
    - io::WKTFormatter*::version
    - io::WKTFormatter*::setHDatumExtension
    - BoundCRS::isTOWGS84Compatible
    - io::WKTFormatter*::setVDatumExtension
    - io::WKTFormatter*::useESRIDialect
    - FormattingException::Throw
    - baseCRS
    - hubCRS
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void BoundCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:6127,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6128,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:6130,1
    - Dst: baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6132,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6134,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6134,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:6135,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:6136,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:6139,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:6140,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:6142,1
    - Dst: hubCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6143,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:6144,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:6146,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:6147,1
    - Dst: io::JSONFormatter*::setAbridgedTransformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6148,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6154,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6154,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6155,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6156,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6159,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6159,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6160,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6161,1
    - Dst: io::JSONFormatter*::setAbridgedTransformationWriteSourceCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6163,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6165,1
    - Dst: io::JSONFormatter*::setAbridgedTransformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6166,1
    - Dst: io::JSONFormatter*::setAbridgedTransformationWriteSourceCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6167,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:6169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6170
      start: 6124
    functionDepth: 6
    functionLinenumber: 6124
    functionLinenumberEnd: 6170
    functionName: BoundCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - auto::baseCRS
    - io::JSONFormatter*::MakeObjectContext
    - io::JSONFormatter*::setAbridgedTransformationWriteSourceCRS
    - transformation
    - nameStr
    - io::JSONFormatter*::writer
    - auto::nameStr
    - auto::_isEquivalentTo
    - auto::Add
    - dynamic_cast<GeographicCRS *>
    - dynamic_cast<const ProjectedCRS *>
    - io::JSONFormatter*::setAbridgedTransformation
    - auto::_exportToJSON
    - baseCRS
    - ObjectUsage::baseExportToJSON
    - hubCRS
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void BoundCRS::_exportToJSON(\n    io::JSONFormatter *formatter) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const io::IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6179,1
    - Dst: baseCRS_::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6179,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:6181,1
    - Dst: BoundCRS::getVDatumPROJ4GRIDS
      Src: /src/PROJ/src/iso19111/crs.cpp:6186,1
    - Dst: io::PROJStringFormatter*::getGeogCRSOfCompoundCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6187,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6188,1
    - Dst: io::PROJStringFormatter*::setVDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6189,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6190,1
    - Dst: io::PROJStringFormatter*::setVDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6191,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6191,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6191,1
    - Dst: BoundCRS::getHDatumPROJ4GRIDS
      Src: /src/PROJ/src/iso19111/crs.cpp:6194,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:6194,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6195,1
    - Dst: io::PROJStringFormatter*::setHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6196,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6197,1
    - Dst: io::PROJStringFormatter*::setHDatumExtension
      Src: /src/PROJ/src/iso19111/crs.cpp:6198,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6198,1
    - Dst: BoundCRS::isTOWGS84Compatible
      Src: /src/PROJ/src/iso19111/crs.cpp:6200,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6201,1
    - Dst: io::PROJStringFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:6202,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6204,1
    - Dst: io::PROJStringFormatter*::setTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/crs.cpp:6205,1
    - Dst: std::vector<double>
      Src: /src/PROJ/src/iso19111/crs.cpp:6205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6208
      start: 6175
    functionDepth: 3
    functionLinenumber: 6175
    functionLinenumberEnd: 6208
    functionName: BoundCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const io::IPROJStringExportable *>
    - FormattingException::Throw
    - BoundCRS::getVDatumPROJ4GRIDS
    - BoundCRS::getHDatumPROJ4GRIDS
    - io::PROJStringFormatter*::setHDatumExtension
    - io::PROJStringFormatter*::getGeogCRSOfCompoundCRS
    - std::vector<double>
    - auto::_exportToPROJString
    - BoundCRS::isTOWGS84Compatible
    - baseCRS_::get
    - transformation
    - io::PROJStringFormatter*::setVDatumExtension
    - io::PROJStringFormatter*::setTOWGS84Parameters
    - io::PROJStringFormatter*::databaseContext
    - std::string
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void BoundCRS::_exportToPROJString(\n    io::PROJStringFormatter *formatter)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const BoundCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6215,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6218,1
    - Dst: getStandardCriterion
      Src: /src/PROJ/src/iso19111/crs.cpp:6221,1
    - Dst: baseCRS_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6222,1
    - Dst: auto::d::baseCRS_::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6222,1
    - Dst: hubCRS_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6224,1
    - Dst: auto::d::hubCRS_::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6224,1
    - Dst: transformation_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6226,1
    - Dst: auto::d::transformation_::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6212
    functionDepth: 1
    functionLinenumber: 6212
    functionLinenumberEnd: 6229
    functionName: BoundCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::d::hubCRS_::get
    - baseCRS_::_isEquivalentTo
    - hubCRS_::_isEquivalentTo
    - dynamic_cast<const BoundCRS *>
    - transformation_::_isEquivalentTo
    - ObjectUsage::_isEquivalentTo
    - getStandardCriterion
    - auto::d::transformation_::get
    - auto::d::baseCRS_::get
    linkageType: ''
    returnType: bool
    signature: "bool BoundCRS::_isEquivalentTo(const util::IComparable *other,\n                               util::IComparable::Criterion
      criterion,\n                               const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:6243,1
    - Dst: hubCRS_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6244,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:6244,1
    - Dst: baseCRS_::identify
      Src: /src/PROJ/src/iso19111/crs.cpp:6247,1
    - Dst: transformation_::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/crs.cpp:6251,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6253,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6254,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/crs.cpp:6255,1
    - Dst: BoundCRS::isTOWGS84Compatible
      Src: /src/PROJ/src/iso19111/crs.cpp:6262,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6263,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6272,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6272,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6273,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6274,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6277,1
    - Dst: auto::setSpatialCriterion
      Src: /src/PROJ/src/iso19111/crs.cpp:6279,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6283,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6284,1
    - Dst: normalizeForVisualization
      Src: /src/PROJ/src/iso19111/crs.cpp:6289,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6292,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:6293,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:6296,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:6299,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6299,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6301,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6309,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6310,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/crs.cpp:6313,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6321,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6322,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                            operation::Transformation>"
      Src: /src/PROJ/src/iso19111/crs.cpp:6325,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:6328,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6329,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6330,1
    - Dst: "dynamic_cast<\n                                const operation::ConcatenatedOperation
        *>"
      Src: /src/PROJ/src/iso19111/crs.cpp:6335,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:6337,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/crs.cpp:6343,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:6344,1
    - Dst: "dynamic_cast<\n                                        const operation::Transformation
        *>"
      Src: /src/PROJ/src/iso19111/crs.cpp:6345,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:6347,1
    - Dst: "dynamic_cast<\n                                        const operation::Conversion
        *>"
      Src: /src/PROJ/src/iso19111/crs.cpp:6348,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/crs.cpp:6350,1
    - Dst: auto::isLongitudeRotation
      Src: /src/PROJ/src/iso19111/crs.cpp:6352,1
    - Dst: dynamic_cast<DerivedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6354,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6355,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                                            operation::Transformation>"
      Src: /src/PROJ/src/iso19111/crs.cpp:6357,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:6361,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6361,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:6363,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6365,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6367,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/crs.cpp:6379,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6380,1
    - Dst: transformation
      Src: /src/PROJ/src/iso19111/crs.cpp:6380,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/crs.cpp:6381,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6386,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 1
    argNames:
    - authorityFactory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6387
      start: 6235
    functionDepth: 3
    functionLinenumber: 6235
    functionLinenumberEnd: 6387
    functionName: BoundCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - "dynamic_cast<\n                                        const operation::Transformation
      *>"
    - auto::operations
    - hubCRS_::_isEquivalentTo
    - auto::baseCRS
    - CoordinateOperationContext::create
    - normalizeForVisualization
    - transformation
    - nameStr
    - NN_NO_CHECK
    - std::list::emplace_back
    - BoundCRS::create
    - auto::nameStr
    - "dynamic_cast<\n                                        const operation::Conversion
      *>"
    - transformation_::normalizeForVisualization
    - auto::_isEquivalentTo
    - dynamic_cast<DerivedCRS *>
    - replaceAll
    - auto::exportToPROJString
    - dynamic_cast<const ProjectedCRS *>
    - auto::size
    - "dynamic_cast<\n                                const operation::ConcatenatedOperation
      *>"
    - "util::nn_dynamic_pointer_cast<\n                                            operation::Transformation>"
    - BoundCRS::isTOWGS84Compatible
    - std::min
    - starts_with
    - get
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - auto::isLongitudeRotation
    - PROJStringFormatter::create
    - std::list::empty
    - auto::setSpatialCriterion
    - "util::nn_dynamic_pointer_cast<\n                            operation::Transformation>"
    - baseCRS_::identify
    - io::AuthorityFactoryPtr::databaseContext
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> BoundCRS::_identify(const io::AuthorityFactoryPtr
      &authorityFactory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6399
      start: 6399
    functionDepth: 0
    functionLinenumber: 6399
    functionLinenumberEnd: 6399
    functionName: DerivedGeodeticCRS::~DerivedGeodeticCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedGeodeticCRS::~DerivedGeodeticCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6408,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6408,1
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6409,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6404
    functionDepth: 0
    functionLinenumber: 6404
    functionLinenumberEnd: 6410
    functionName: DerivedGeodeticCRS::DerivedGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeodeticCRSNNPtr::datumEnsemble
    - GeodeticCRSNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedGeodeticCRS::DerivedGeodeticCRS(\n    const GeodeticCRSNNPtr
      &baseCRSIn,\n    const operation::ConversionNNPtr &derivingConversionIn,\n    const
      cs::CartesianCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6418,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6418,1
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6419,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::SphericalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6420
      start: 6414
    functionDepth: 0
    functionLinenumber: 6414
    functionLinenumberEnd: 6420
    functionName: DerivedGeodeticCRS::DerivedGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeodeticCRSNNPtr::datumEnsemble
    - GeodeticCRSNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedGeodeticCRS::DerivedGeodeticCRS(\n    const GeodeticCRSNNPtr
      &baseCRSIn,\n    const operation::ConversionNNPtr &derivingConversionIn,\n    const
      cs::SphericalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DerivedGeodeticCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6425
      start: 6424
    functionDepth: 0
    functionLinenumber: 6424
    functionLinenumberEnd: 6425
    functionName: DerivedGeodeticCRS::DerivedGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedGeodeticCRS::DerivedGeodeticCRS(const DerivedGeodeticCRS
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedGeodeticCRS::nn_make_shared<DerivedGeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6430,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6431,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6434
      start: 6429
    functionDepth: 0
    functionLinenumber: 6429
    functionLinenumberEnd: 6434
    functionName: DerivedGeodeticCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - DerivedGeodeticCRS::nn_make_shared<DerivedGeodeticCRS>
    - auto::setDerivingConversionCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr DerivedGeodeticCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6443,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6443,1
    - Dst: DerivedCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:6444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6442
    functionDepth: 1
    functionLinenumber: 6442
    functionLinenumberEnd: 6445
    functionName: DerivedGeodeticCRS::baseCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::getPrivate
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr DerivedGeodeticCRS::baseCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6466,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:6467,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6470
      start: 6460
    functionDepth: 0
    functionLinenumber: 6460
    functionLinenumberEnd: 6470
    functionName: DerivedGeodeticCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - auto::setProperties
    linkageType: ''
    returnType: DerivedGeodeticCRSNNPtr
    signature: "DerivedGeodeticCRSNNPtr DerivedGeodeticCRS::create(\n    const util::PropertyMap
      &properties, const GeodeticCRSNNPtr &baseCRSIn,\n    const operation::ConversionNNPtr
      &derivingConversionIn,\n    const cs::CartesianCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6491,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:6492,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::SphericalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6495
      start: 6485
    functionDepth: 0
    functionLinenumber: 6485
    functionLinenumberEnd: 6495
    functionName: DerivedGeodeticCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - auto::setProperties
    linkageType: ''
    returnType: DerivedGeodeticCRSNNPtr
    signature: "DerivedGeodeticCRSNNPtr DerivedGeodeticCRS::create(\n    const util::PropertyMap
      &properties, const GeodeticCRSNNPtr &baseCRSIn,\n    const operation::ConversionNNPtr
      &derivingConversionIn,\n    const cs::SphericalCSNNPtr &csIn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:6501,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:6503,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6506,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6506,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6507,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6507,1
    - Dst: DerivedGeodeticCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6509,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6510,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:6510,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6511,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6511,1
    - Dst: DerivedGeodeticCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6514,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6515,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6515,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6516,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:6518,1
    - Dst: datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6520,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/crs.cpp:6521,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:6522,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:6524,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:6525,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/crs.cpp:6526,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/crs.cpp:6526,1
    - Dst: auto::formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:6527,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6529,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6531,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:6532,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6533,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6535,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:6536,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts:
    - condition: (l_datumEnsemble)
      pos:
        line_end: 6520
        line_start: 6520
        source_file: /src/PROJ/src/iso19111/crs.cpp
    constantsTouched: []
    func_position:
      end: 6538
      start: 6500
    functionDepth: 2
    functionLinenumber: 6500
    functionLinenumberEnd: 6538
    functionName: DerivedGeodeticCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - io::WKTFormatter*::startNode
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - derivingConversionRef
    - DerivedGeodeticCRS::baseCRS
    - coordinateSystem
    - datumEnsemble
    - auto::nameStr
    - io::WKTFormatter*::setUseDerivingConversion
    - assert
    - io::WKTFormatter*::addQuotedString
    - auto::formatID
    - auto::datum
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - auto::primeMeridian
    - FormattingException::Throw
    - io::WKTFormatter*::use2019Keywords
    - auto::_exportToWKT
    - ObjectUsage::baseExportToWKT
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: void DerivedGeodeticCRS::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/crs.cpp:6546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6548
      start: 6543
    functionDepth: 1
    functionLinenumber: 6543
    functionLinenumberEnd: 6548
    functionName: DerivedGeodeticCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: "void DerivedGeodeticCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedGeodeticCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6555,1
    - Dst: DerivedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6558
      start: 6552
    functionDepth: 0
    functionLinenumber: 6552
    functionLinenumberEnd: 6558
    functionName: DerivedGeodeticCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::_isEquivalentTo
    - dynamic_cast<const DerivedGeodeticCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool DerivedGeodeticCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS::_identify
      Src: /src/PROJ/src/iso19111/crs.cpp:6566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6567
      start: 6564
    functionDepth: 1
    functionLinenumber: 6564
    functionLinenumberEnd: 6567
    functionName: DerivedGeodeticCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::_identify
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> DerivedGeodeticCRS::_identify(const
      io::AuthorityFactoryPtr &factory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6580
      start: 6580
    functionDepth: 0
    functionLinenumber: 6580
    functionLinenumberEnd: 6580
    functionName: DerivedGeographicCRS::~DerivedGeographicCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedGeographicCRS::~DerivedGeographicCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6589,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6589,1
    - Dst: GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6590,1
    - Dst: GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6591
      start: 6585
    functionDepth: 0
    functionLinenumber: 6585
    functionLinenumberEnd: 6591
    functionName: DerivedGeographicCRS::DerivedGeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - GeodeticCRSNNPtr::datumEnsemble
    - GeodeticCRSNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedGeographicCRS::DerivedGeographicCRS(\n    const GeodeticCRSNNPtr
      &baseCRSIn,\n    const operation::ConversionNNPtr &derivingConversionIn,\n    const
      cs::EllipsoidalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DerivedGeographicCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6596
      start: 6595
    functionDepth: 0
    functionLinenumber: 6595
    functionLinenumberEnd: 6596
    functionName: DerivedGeographicCRS::DerivedGeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedGeographicCRS::DerivedGeographicCRS(const DerivedGeographicCRS
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedGeographicCRS::nn_make_shared<DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6601,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6602,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6605
      start: 6600
    functionDepth: 0
    functionLinenumber: 6600
    functionLinenumberEnd: 6605
    functionName: DerivedGeographicCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedGeographicCRS::nn_make_shared<DerivedGeographicCRS>
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr DerivedGeographicCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6614,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6614,1
    - Dst: DerivedCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:6615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6613
    functionDepth: 1
    functionLinenumber: 6613
    functionLinenumberEnd: 6616
    functionName: DerivedGeographicCRS::baseCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::getPrivate
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr DerivedGeographicCRS::baseCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6637,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:6638,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - GeodeticCRSNNPtr
    - operation::ConversionNNPtr
    - cs::EllipsoidalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6641
      start: 6631
    functionDepth: 0
    functionLinenumber: 6631
    functionLinenumberEnd: 6641
    functionName: DerivedGeographicCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 3
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - auto::setProperties
    linkageType: ''
    returnType: DerivedGeographicCRSNNPtr
    signature: "DerivedGeographicCRSNNPtr DerivedGeographicCRS::create(\n    const
      util::PropertyMap &properties, const GeodeticCRSNNPtr &baseCRSIn,\n    const
      operation::ConversionNNPtr &derivingConversionIn,\n    const cs::EllipsoidalCSNNPtr
      &csIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:6647,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:6649,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6652,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:6652,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6655,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6656,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6656,1
    - Dst: DerivedGeographicCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6658,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6659,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:6659,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6660,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6660,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6663,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6664,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6664,1
    - Dst: auto::exportDatumOrDatumEnsembleToWkt
      Src: /src/PROJ/src/iso19111/crs.cpp:6665,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:6666,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:6667,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/crs.cpp:6668,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/crs.cpp:6668,1
    - Dst: auto::formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:6669,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6671,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6673,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:6674,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6675,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6677,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:6678,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6680
      start: 6646
    functionDepth: 2
    functionLinenumber: 6646
    functionLinenumberEnd: 6680
    functionName: DerivedGeographicCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - io::WKTFormatter*::startNode
    - dynamic_cast<const GeographicCRS *>
    - nameStr
    - derivingConversionRef
    - coordinateSystem
    - auto::nameStr
    - io::WKTFormatter*::setUseDerivingConversion
    - io::WKTFormatter*::addQuotedString
    - auto::formatID
    - ObjectUsage::baseExportToWKT
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - DerivedGeographicCRS::baseCRS
    - auto::primeMeridian
    - FormattingException::Throw
    - io::WKTFormatter*::use2019Keywords
    - auto::identifiers
    - auto::exportDatumOrDatumEnsembleToWkt
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: void DerivedGeographicCRS::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:6688,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/crs.cpp:6689,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/crs.cpp:6694,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6695,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:6700,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/crs.cpp:6702,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/crs.cpp:6704,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/crs.cpp:6708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6710
      start: 6685
    functionDepth: 2
    functionLinenumber: 6685
    functionLinenumberEnd: 6710
    functionName: DerivedGeographicCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - starts_with
    - auto::method
    - auto::_exportToPROJString
    - derivingConversionRef
    - ci_equal
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: "void DerivedGeographicCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6717,1
    - Dst: DerivedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6720
      start: 6714
    functionDepth: 0
    functionLinenumber: 6714
    functionLinenumberEnd: 6720
    functionName: DerivedGeographicCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::_isEquivalentTo
    - dynamic_cast<const DerivedGeographicCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool DerivedGeographicCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6738,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:6739,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6740,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:6740,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6742,1
    - Dst: DerivedGeographicCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6743,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6743,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6744,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:6745,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6746,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6746,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/src/iso19111/crs.cpp:6747,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:6747,1
    - Dst: derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6747,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:6748,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6751,1
    - Dst: std::dynamic_pointer_cast<DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6751,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:6752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6753
      start: 6735
    functionDepth: 2
    functionLinenumber: 6735
    functionLinenumberEnd: 6753
    functionName: DerivedGeographicCRS::demoteTo2D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - NN_CHECK_THROW
    - std::string::empty
    - DerivedGeographicCRS::create
    - auto::size
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - shared_from_this
    - PropertyMap::PropertyMap
    - DerivedGeographicCRS::baseCRS
    - std::move
    - nameStr
    - EllipsoidalCS::create
    - NN_NO_CHECK
    - std::dynamic_pointer_cast<DerivedGeographicCRS>
    - derivingConversion
    - std::string
    - coordinateSystem
    linkageType: ''
    returnType: DerivedGeographicCRSNNPtr
    signature: "DerivedGeographicCRSNNPtr DerivedGeographicCRS::demoteTo2D(\n    const
      std::string &newName, const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS::_identify
      Src: /src/PROJ/src/iso19111/crs.cpp:6761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6762
      start: 6759
    functionDepth: 1
    functionLinenumber: 6759
    functionLinenumberEnd: 6762
    functionName: DerivedGeographicCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::_identify
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> DerivedGeographicCRS::_identify(const
      io::AuthorityFactoryPtr &factory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6775
      start: 6775
    functionDepth: 0
    functionLinenumber: 6775
    functionLinenumberEnd: 6775
    functionName: DerivedProjectedCRS::~DerivedProjectedCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedProjectedCRS::~DerivedProjectedCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:6784,1
    - Dst: ProjectedCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:6784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - ProjectedCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6785
      start: 6780
    functionDepth: 0
    functionLinenumber: 6780
    functionLinenumberEnd: 6785
    functionName: DerivedProjectedCRS::DerivedProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ProjectedCRSNNPtr::datumEnsemble
    - ProjectedCRSNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedProjectedCRS::DerivedProjectedCRS(\n    const ProjectedCRSNNPtr
      &baseCRSIn,\n    const operation::ConversionNNPtr &derivingConversionIn,\n    const
      cs::CoordinateSystemNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DerivedProjectedCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6790
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6790
    functionName: DerivedProjectedCRS::DerivedProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedProjectedCRS::DerivedProjectedCRS(const DerivedProjectedCRS
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedProjectedCRS::nn_make_shared<DerivedProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6795,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6796,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6799
      start: 6794
    functionDepth: 0
    functionLinenumber: 6794
    functionLinenumberEnd: 6799
    functionName: DerivedProjectedCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - DerivedProjectedCRS::nn_make_shared<DerivedProjectedCRS>
    - auto::setDerivingConversionCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr DerivedProjectedCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6808,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6808,1
    - Dst: DerivedCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:6809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6810
      start: 6807
    functionDepth: 1
    functionLinenumber: 6807
    functionLinenumberEnd: 6810
    functionName: DerivedProjectedCRS::baseCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::getPrivate
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr DerivedProjectedCRS::baseCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:6831,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:6832,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - ProjectedCRSNNPtr
    - operation::ConversionNNPtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6835
      start: 6825
    functionDepth: 0
    functionLinenumber: 6825
    functionLinenumberEnd: 6835
    functionName: DerivedProjectedCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 12
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - auto::setProperties
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: "DerivedProjectedCRSNNPtr DerivedProjectedCRS::create(\n    const util::PropertyMap
      &properties, const ProjectedCRSNNPtr &baseCRSIn,\n    const operation::ConversionNNPtr
      &derivingConversionIn,\n    const cs::CoordinateSystemNNPtr &csIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6854,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:6855,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6856,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:6856,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6858,1
    - Dst: DerivedProjectedCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6859,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6859,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6860,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/crs.cpp:6861,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6862,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6862,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/src/iso19111/crs.cpp:6863,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:6863,1
    - Dst: derivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6863,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/crs.cpp:6864,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6867,1
    - Dst: std::dynamic_pointer_cast<DerivedProjectedCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:6867,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/crs.cpp:6868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - newName
    - dbContext
    argTypes:
    - std::string
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6869
      start: 6850
    functionDepth: 2
    functionLinenumber: 6850
    functionLinenumberEnd: 6869
    functionName: DerivedProjectedCRS::demoteTo2D
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - NN_CHECK_THROW
    - std::string::empty
    - auto::size
    - DerivedProjectedCRS::create
    - shared_from_this
    - PropertyMap::PropertyMap
    - std::move
    - DerivedProjectedCRS::baseCRS
    - nameStr
    - std::dynamic_pointer_cast<DerivedProjectedCRS>
    - NN_NO_CHECK
    - derivingConversion
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - std::string
    - coordinateSystem
    - CartesianCS::create
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: "DerivedProjectedCRSNNPtr DerivedProjectedCRS::demoteTo2D(const std::string
      &newName,\n                                const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:6875,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:6876,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:6877,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6880,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6881,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6882,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6882,1
    - Dst: DerivedProjectedCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6885,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6886,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6887,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6888,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6888,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:6890,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6892,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6894,1
    - Dst: dynamic_cast<const GeographicCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6895,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:6895,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6898,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:6899,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6899,1
    - Dst: auto::exportDatumOrDatumEnsembleToWkt
      Src: /src/PROJ/src/iso19111/crs.cpp:6900,1
    - Dst: io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:6905,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6906,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:6907,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/crs.cpp:6909,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6910,1
    - Dst: auto::derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:6912,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6915,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:6919,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:6920,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6921,1
    - Dst: io::WKTFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/crs.cpp:6923,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/crs.cpp:6925,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:6926,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/crs.cpp:6926,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/crs.cpp:6927,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:6928,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:6931,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6936,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6940,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:6940,1
    - Dst: auto::formatID
      Src: /src/PROJ/src/iso19111/crs.cpp:6941,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6944,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6947,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:6948,1
    - Dst: io::WKTFormatter*::setUseDerivingConversion
      Src: /src/PROJ/src/iso19111/crs.cpp:6949,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6951,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:6952,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:6953,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6954
      start: 6874
    functionDepth: 2
    functionLinenumber: 6874
    functionLinenumberEnd: 6954
    functionName: DerivedProjectedCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - io::WKTFormatter*::startNode
    - auto::coordinateSystem
    - auto::baseCRS
    - dynamic_cast<const GeographicCRS *>
    - DerivedProjectedCRS::baseCRS
    - nameStr
    - NN_NO_CHECK
    - derivingConversionRef
    - io::WKTFormatter*::databaseContext
    - coordinateSystem
    - auto::exportDatumOrDatumEnsembleToWkt
    - auto::nameStr
    - io::WKTFormatter*::setUseDerivingConversion
    - io::WKTFormatter*::addQuotedString
    - std::string
    - auto::formatID
    - ObjectUsage::baseExportToWKT
    - io::WKTFormatter*::endNode
    - unit
    - auto::size
    - io::WKTFormatter*::version
    - auto::primeMeridian
    - io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
    - FormattingException::Throw
    - io::WKTFormatter*::use2019Keywords
    - auto::createObjectsFromName
    - auto::identifiers
    - auto::empty
    - auto::derivingConversionRef
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: void DerivedProjectedCRS::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:6962,1
    - Dst: DerivedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:6964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6965
      start: 6959
    functionDepth: 0
    functionLinenumber: 6959
    functionLinenumberEnd: 6965
    functionName: DerivedProjectedCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::_isEquivalentTo
    - dynamic_cast<const DerivedProjectedCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool DerivedProjectedCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProjectedCRS::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/crs.cpp:6972,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:6972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6974
      start: 6970
    functionDepth: 2
    functionLinenumber: 6970
    functionLinenumberEnd: 6974
    functionName: DerivedProjectedCRS::addUnitConvertAndAxisSwap
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - coordinateSystem
    - ProjectedCRS::addUnitConvertAndAxisSwap
    linkageType: ''
    returnType: void
    signature: "void DerivedProjectedCRS::addUnitConvertAndAxisSwap(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6986
      start: 6986
    functionDepth: 0
    functionLinenumber: 6986
    functionLinenumberEnd: 6986
    functionName: TemporalCRS::~TemporalCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalCRS::~TemporalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: datum::TemporalDatumNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:6993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - datumIn
    - csIn
    argTypes:
    - datum::TemporalDatumNNPtr
    - cs::TemporalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6993
      start: 6991
    functionDepth: 0
    functionLinenumber: 6991
    functionLinenumberEnd: 6993
    functionName: TemporalCRS::TemporalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - datum::TemporalDatumNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void TemporalCRS::TemporalCRS(const datum::TemporalDatumNNPtr &datumIn,\n
      \                        const cs::TemporalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - TemporalCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6998
      start: 6997
    functionDepth: 0
    functionLinenumber: 6997
    functionLinenumberEnd: 6998
    functionName: TemporalCRS::TemporalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TemporalCRS::TemporalCRS(const TemporalCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalCRS::nn_make_shared<TemporalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7003,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7006
      start: 7002
    functionDepth: 0
    functionLinenumber: 7002
    functionLinenumberEnd: 7006
    functionName: TemporalCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - TemporalCRS::nn_make_shared<TemporalCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr TemporalCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:7015,1
    - Dst: std::static_pointer_cast<datum::TemporalDatum>
      Src: /src/PROJ/src/iso19111/crs.cpp:7015,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7017
      start: 7014
    functionDepth: 1
    functionLinenumber: 7014
    functionLinenumberEnd: 7017
    functionName: TemporalCRS::datum
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - std::static_pointer_cast<datum::TemporalDatum>
    - SingleCRS::getPrivate
    linkageType: ''
    returnType: datum::TemporalDatumNNPtr
    signature: datum::TemporalDatumNNPtr TemporalCRS::datum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<cs::TemporalCS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7026,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7028
      start: 7025
    functionDepth: 0
    functionLinenumber: 7025
    functionLinenumberEnd: 7028
    functionName: TemporalCRS::coordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - SingleCRS::getPrivate
    - util::nn_static_pointer_cast<cs::TemporalCS>
    linkageType: ''
    returnType: cs::TemporalCSNNPtr
    signature: cs::TemporalCSNNPtr TemporalCRS::coordinateSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7044,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:7045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - properties
    - datumIn
    - csIn
    argTypes:
    - util::PropertyMap
    - datum::TemporalDatumNNPtr
    - cs::TemporalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7047
      start: 7040
    functionDepth: 0
    functionLinenumber: 7040
    functionLinenumberEnd: 7047
    functionName: TemporalCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 6
    functionsReached:
    - auto::assignSelf
    - auto::setProperties
    linkageType: ''
    returnType: TemporalCRSNNPtr
    signature: "TemporalCRSNNPtr TemporalCRS::create(const util::PropertyMap &properties,\n
      \                                    const datum::TemporalDatumNNPtr &datumIn,\n
      \                                    const cs::TemporalCSNNPtr &csIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:7053,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:7055,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:7058,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:7058,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:7059,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7059,1
    - Dst: TemporalCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7060,1
    - Dst: TemporalCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7061,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7062,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:7063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7064
      start: 7052
    functionDepth: 2
    functionLinenumber: 7052
    functionLinenumberEnd: 7064
    functionName: TemporalCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - TemporalCRS::coordinateSystem
    - TemporalCRS::datum
    - io::WKTFormatter*::endNode
    - FormattingException::Throw
    - io::WKTFormatter*::version
    - nameStr
    - io::WKTFormatter*::addQuotedString
    - ObjectUsage::baseExportToWKT
    linkageType: ''
    returnType: void
    signature: void TemporalCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:7073,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:7075,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:7075,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7077,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7078,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:7079,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:7080,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:7082,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7085,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:7086,1
    - Dst: TemporalCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7087,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7089,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:7090,1
    - Dst: TemporalCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7091,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:7093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7094
      start: 7070
    functionDepth: 6
    functionLinenumber: 7070
    functionLinenumberEnd: 7094
    functionName: TemporalCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - TemporalCRS::coordinateSystem
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - TemporalCRS::datum
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void TemporalCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const TemporalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7102,1
    - Dst: SingleCRS::baseIsEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7105
      start: 7099
    functionDepth: 3
    functionLinenumber: 7099
    functionLinenumberEnd: 7105
    functionName: TemporalCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - SingleCRS::baseIsEquivalentTo
    - dynamic_cast<const TemporalCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool TemporalCRS::_isEquivalentTo(\n    const util::IComparable *other,
      util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr &dbContext)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7116
      start: 7116
    functionDepth: 0
    functionLinenumber: 7116
    functionLinenumberEnd: 7116
    functionName: EngineeringCRS::~EngineeringCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EngineeringCRS::~EngineeringCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: datum::EngineeringDatumNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:7123,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:7124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - datumIn
    - csIn
    argTypes:
    - datum::EngineeringDatumNNPtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7124
      start: 7121
    functionDepth: 0
    functionLinenumber: 7121
    functionLinenumberEnd: 7124
    functionName: EngineeringCRS::EngineeringCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - datum::EngineeringDatumNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void EngineeringCRS::EngineeringCRS(const datum::EngineeringDatumNNPtr
      &datumIn,\n                               const cs::CoordinateSystemNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/crs.cpp:7129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - EngineeringCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7129
      start: 7128
    functionDepth: 0
    functionLinenumber: 7128
    functionLinenumberEnd: 7129
    functionName: EngineeringCRS::EngineeringCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void EngineeringCRS::EngineeringCRS(const EngineeringCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EngineeringCRS::nn_make_shared<EngineeringCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7134,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7137
      start: 7133
    functionDepth: 0
    functionLinenumber: 7133
    functionLinenumberEnd: 7137
    functionName: EngineeringCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - EngineeringCRS::nn_make_shared<EngineeringCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr EngineeringCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:7146,1
    - Dst: std::static_pointer_cast<datum::EngineeringDatum>
      Src: /src/PROJ/src/iso19111/crs.cpp:7146,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7148
      start: 7145
    functionDepth: 1
    functionLinenumber: 7145
    functionLinenumberEnd: 7148
    functionName: EngineeringCRS::datum
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - std::static_pointer_cast<datum::EngineeringDatum>
    - SingleCRS::getPrivate
    linkageType: ''
    returnType: datum::EngineeringDatumNNPtr
    signature: datum::EngineeringDatumNNPtr EngineeringCRS::datum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7165,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:7166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - properties
    - datumIn
    - csIn
    argTypes:
    - util::PropertyMap
    - datum::EngineeringDatumNNPtr
    - cs::CoordinateSystemNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7169
      start: 7160
    functionDepth: 0
    functionLinenumber: 7160
    functionLinenumberEnd: 7169
    functionName: EngineeringCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 5
    functionsReached:
    - auto::assignSelf
    - auto::setProperties
    linkageType: ''
    returnType: EngineeringCRSNNPtr
    signature: "EngineeringCRSNNPtr EngineeringCRS::create(const util::PropertyMap
      &properties,\n                       const datum::EngineeringDatumNNPtr &datumIn,\n
      \                      const cs::CoordinateSystemNNPtr &csIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:7175,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:7176,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:7178,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:7179,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7179,1
    - Dst: EngineeringCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7180,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:7182,1
    - Dst: EngineeringCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7183,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7186,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/crs.cpp:7186,1
    - Dst: io::WKTFormatter*::outputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:7189,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:7190,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7191,1
    - Dst: io::WKTFormatter*::setOutputAxis
      Src: /src/PROJ/src/iso19111/crs.cpp:7192,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7194,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:7195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7196
      start: 7174
    functionDepth: 2
    functionLinenumber: 7174
    functionLinenumberEnd: 7196
    functionName: EngineeringCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ObjectUsage::baseExportToWKT
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - unit
    - io::WKTFormatter*::version
    - coordinateSystem
    - nameStr
    - io::WKTFormatter*::setOutputAxis
    - EngineeringCRS::datum
    - io::WKTFormatter*::addQuotedString
    - auto::empty
    - io::WKTFormatter*::outputAxis
    linkageType: ''
    returnType: void
    signature: void EngineeringCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:7205,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:7207,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:7207,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7209,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7210,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:7211,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:7212,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:7214,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7217,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:7218,1
    - Dst: EngineeringCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7219,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7221,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:7222,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7223,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:7225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7226
      start: 7202
    functionDepth: 6
    functionLinenumber: 7202
    functionLinenumberEnd: 7226
    functionName: EngineeringCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - coordinateSystem
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - EngineeringCRS::datum
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void EngineeringCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7234,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7237,1
    - Dst: EngineeringCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7242,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7243,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7244,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:7244,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7249,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7250,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7251,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:7251,1
    - Dst: dynamic_cast<cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7252,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:7252,1
    - Dst: dynamic_cast<cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7253,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/crs.cpp:7253,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:7254,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/crs.cpp:7255,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:7259,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/crs.cpp:7260,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:7261,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:7263,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:7265,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/crs.cpp:7267,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7269,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7270,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7271,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7272,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7273,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7274,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7275,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7276,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 14
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7283
      start: 7231
    functionDepth: 2
    functionLinenumber: 7231
    functionLinenumberEnd: 7283
    functionName: EngineeringCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::_isEquivalentTo
    - auto::coordinateSystem
    - auto::size
    - nameStr
    - dynamic_cast<const EngineeringCRS *>
    - EngineeringCRS::datum
    - ObjectUsage::_isEquivalentTo
    - dynamic_cast<cs::CartesianCS *>
    - coordinateSystem
    - direction
    - auto::datum
    - auto::axisList
    linkageType: ''
    returnType: bool
    signature: "bool EngineeringCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7294
      start: 7294
    functionDepth: 0
    functionLinenumber: 7294
    functionLinenumberEnd: 7294
    functionName: ParametricCRS::~ParametricCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricCRS::~ParametricCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: datum::ParametricDatumNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/crs.cpp:7301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - datumIn
    - csIn
    argTypes:
    - datum::ParametricDatumNNPtr
    - cs::ParametricCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7301
      start: 7299
    functionDepth: 0
    functionLinenumber: 7299
    functionLinenumberEnd: 7301
    functionName: ParametricCRS::ParametricCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - datum::ParametricDatumNNPtr::as_nullable
    linkageType: ''
    returnType: void
    signature: "void ParametricCRS::ParametricCRS(const datum::ParametricDatumNNPtr
      &datumIn,\n                             const cs::ParametricCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - ParametricCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7306
      start: 7305
    functionDepth: 0
    functionLinenumber: 7305
    functionLinenumberEnd: 7306
    functionName: ParametricCRS::ParametricCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametricCRS::ParametricCRS(const ParametricCRS &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricCRS::nn_make_shared<ParametricCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7311,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7314
      start: 7310
    functionDepth: 0
    functionLinenumber: 7310
    functionLinenumberEnd: 7314
    functionName: ParametricCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - ParametricCRS::nn_make_shared<ParametricCRS>
    - auto::assignSelf
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr ParametricCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:7323,1
    - Dst: std::static_pointer_cast<datum::ParametricDatum>
      Src: /src/PROJ/src/iso19111/crs.cpp:7323,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7325
      start: 7322
    functionDepth: 1
    functionLinenumber: 7322
    functionLinenumberEnd: 7325
    functionName: ParametricCRS::datum
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - SingleCRS::getPrivate
    - std::static_pointer_cast<datum::ParametricDatum>
    linkageType: ''
    returnType: datum::ParametricDatumNNPtr
    signature: datum::ParametricDatumNNPtr ParametricCRS::datum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<cs::ParametricCS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7334,1
    - Dst: SingleCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7336
      start: 7333
    functionDepth: 0
    functionLinenumber: 7333
    functionLinenumberEnd: 7336
    functionName: ParametricCRS::coordinateSystem
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - util::nn_static_pointer_cast<cs::ParametricCS>
    - SingleCRS::getPrivate
    linkageType: ''
    returnType: cs::ParametricCSNNPtr
    signature: cs::ParametricCSNNPtr ParametricCRS::coordinateSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7353,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:7354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - properties
    - datumIn
    - csIn
    argTypes:
    - util::PropertyMap
    - datum::ParametricDatumNNPtr
    - cs::ParametricCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7356
      start: 7348
    functionDepth: 0
    functionLinenumber: 7348
    functionLinenumberEnd: 7356
    functionName: ParametricCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 1
    functionsReached:
    - auto::assignSelf
    - auto::setProperties
    linkageType: ''
    returnType: ParametricCRSNNPtr
    signature: "ParametricCRSNNPtr ParametricCRS::create(const util::PropertyMap &properties,\n
      \                     const datum::ParametricDatumNNPtr &datumIn,\n                      const
      cs::ParametricCSNNPtr &csIn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:7362,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:7364,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/crs.cpp:7367,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:7368,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/crs.cpp:7369,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7369,1
    - Dst: ParametricCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7370,1
    - Dst: ParametricCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7371,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7372,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/crs.cpp:7373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7374
      start: 7361
    functionDepth: 2
    functionLinenumber: 7361
    functionLinenumberEnd: 7374
    functionName: ParametricCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - FormattingException::Throw
    - io::WKTFormatter*::version
    - nameStr
    - ParametricCRS::coordinateSystem
    - ParametricCRS::datum
    - io::WKTFormatter*::addQuotedString
    - ObjectUsage::baseExportToWKT
    linkageType: ''
    returnType: void
    signature: void ParametricCRS::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/crs.cpp:7383,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/crs.cpp:7385,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/crs.cpp:7385,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7387,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/crs.cpp:7388,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/crs.cpp:7389,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:7390,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/crs.cpp:7392,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7395,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:7396,1
    - Dst: ParametricCRS::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7397,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/crs.cpp:7399,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/crs.cpp:7400,1
    - Dst: ParametricCRS::coordinateSystem
      Src: /src/PROJ/src/iso19111/crs.cpp:7401,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/crs.cpp:7403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7404
      start: 7380
    functionDepth: 6
    functionLinenumber: 7380
    functionLinenumberEnd: 7404
    functionName: ParametricCRS::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - ObjectUsage::baseExportToJSON
    - io::JSONFormatter*::writer
    - ParametricCRS::coordinateSystem
    - ParametricCRS::datum
    - auto::AddObjKey
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void ParametricCRS::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ParametricCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7412,1
    - Dst: SingleCRS::baseIsEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7415
      start: 7409
    functionDepth: 3
    functionLinenumber: 7409
    functionLinenumberEnd: 7415
    functionName: ParametricCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - SingleCRS::baseIsEquivalentTo
    - dynamic_cast<const ParametricCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool ParametricCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7426
      start: 7426
    functionDepth: 0
    functionLinenumber: 7426
    functionLinenumberEnd: 7426
    functionName: DerivedVerticalCRS::~DerivedVerticalCRS()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedVerticalCRS::~DerivedVerticalCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7435,1
    - Dst: VerticalCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:7435,1
    - Dst: VerticalCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7436,1
    - Dst: VerticalCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/crs.cpp:7436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - VerticalCRSNNPtr
    - operation::ConversionNNPtr
    - cs::VerticalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7437
      start: 7431
    functionDepth: 0
    functionLinenumber: 7431
    functionLinenumberEnd: 7437
    functionName: DerivedVerticalCRS::DerivedVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - VerticalCRSNNPtr::datumEnsemble
    - VerticalCRSNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedVerticalCRS::DerivedVerticalCRS(\n    const VerticalCRSNNPtr
      &baseCRSIn,\n    const operation::ConversionNNPtr &derivingConversionIn,\n    const
      cs::VerticalCSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DerivedVerticalCRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7442
      start: 7441
    functionDepth: 0
    functionLinenumber: 7441
    functionLinenumberEnd: 7442
    functionName: DerivedVerticalCRS::DerivedVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedVerticalCRS::DerivedVerticalCRS(const DerivedVerticalCRS
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedVerticalCRS::nn_make_shared<DerivedVerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7447,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7448,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:7449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7451
      start: 7446
    functionDepth: 0
    functionLinenumber: 7446
    functionLinenumberEnd: 7451
    functionName: DerivedVerticalCRS::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - DerivedVerticalCRS::nn_make_shared<DerivedVerticalCRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr DerivedVerticalCRS::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:7460,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/crs.cpp:7460,1
    - Dst: DerivedCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7462
      start: 7459
    functionDepth: 1
    functionLinenumber: 7459
    functionLinenumberEnd: 7462
    functionName: DerivedVerticalCRS::baseCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::getPrivate
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<VerticalCRS>
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr DerivedVerticalCRS::baseCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7483,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:7484,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:7485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - VerticalCRSNNPtr
    - operation::ConversionNNPtr
    - cs::VerticalCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7487
      start: 7477
    functionDepth: 0
    functionLinenumber: 7477
    functionLinenumberEnd: 7487
    functionName: DerivedVerticalCRS::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 2
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - auto::setProperties
    linkageType: ''
    returnType: DerivedVerticalCRSNNPtr
    signature: "DerivedVerticalCRSNNPtr DerivedVerticalCRS::create(\n    const util::PropertyMap
      &properties, const VerticalCRSNNPtr &baseCRSIn,\n    const operation::ConversionNNPtr
      &derivingConversionIn,\n    const cs::VerticalCSNNPtr &csIn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:7493,1
    - Dst: DerivedVerticalCRS*::derivingConversionRef
      Src: /src/PROJ/src/iso19111/crs.cpp:7503,1
    - Dst: dynamic_cast<DerivedVerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7508,1
    - Dst: DerivedVerticalCRS::baseCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:7508,1
    - Dst: VerticalCRS::_exportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7518,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:7522,1
    - Dst: baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7527
      start: 7492
    functionDepth: 3
    functionLinenumber: 7492
    functionLinenumberEnd: 7527
    functionName: DerivedVerticalCRS::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - FormattingException::Throw
    - io::WKTFormatter*::version
    - VerticalCRS::_exportToWKT
    - DerivedVerticalCRS*::derivingConversionRef
    - dynamic_cast<DerivedVerticalCRS *>
    - DerivedVerticalCRS::baseCRS
    - baseExportToWKT
    linkageType: ''
    returnType: void
    signature: void DerivedVerticalCRS::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/crs.cpp:7535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7537
      start: 7532
    functionDepth: 1
    functionLinenumber: 7532
    functionLinenumberEnd: 7537
    functionName: DerivedVerticalCRS::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: "void DerivedVerticalCRS::_exportToPROJString(\n    io::PROJStringFormatter
      *) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedVerticalCRS *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7544,1
    - Dst: DerivedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7547
      start: 7541
    functionDepth: 0
    functionLinenumber: 7541
    functionLinenumberEnd: 7547
    functionName: DerivedVerticalCRS::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const DerivedVerticalCRS *>
    - DerivedCRS::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool DerivedVerticalCRS::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS::_identify
      Src: /src/PROJ/src/iso19111/crs.cpp:7555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - io::AuthorityFactoryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7556
      start: 7553
    functionDepth: 1
    functionLinenumber: 7553
    functionLinenumberEnd: 7556
    functionName: DerivedVerticalCRS::_identify
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - CRS::_identify
    linkageType: ''
    returnType: std::list<std::pair<CRSNNPtr, int>>
    signature: std::list<std::pair<CRSNNPtr, int>> DerivedVerticalCRS::_identify(const
      io::AuthorityFactoryPtr &factory) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7571
      start: 7571
    functionDepth: 0
    functionLinenumber: 7571
    functionLinenumberEnd: 7571
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::~DerivedCRSTemplate()
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerivedCRSTemplate<DerivedCRSTraits>::~DerivedCRSTemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7580,1
    - Dst: BaseNNPtr::datum
      Src: /src/PROJ/src/iso19111/crs.cpp:7581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - BaseNNPtr
    - operation::ConversionNNPtr
    - CSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7582
      start: 7577
    functionDepth: 0
    functionLinenumber: 7577
    functionLinenumberEnd: 7582
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::DerivedCRSTemplate
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - BaseNNPtr::datum
    linkageType: ''
    returnType: void
    signature: "void DerivedCRSTemplate<DerivedCRSTraits>::DerivedCRSTemplate(\n    const
      BaseNNPtr &baseCRSIn,\n    const operation::ConversionNNPtr &derivingConversionIn,
      const CSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - DerivedCRSTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7589
      start: 7587
    functionDepth: 0
    functionLinenumber: 7587
    functionLinenumberEnd: 7589
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::DerivedCRSTemplate
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DerivedCRSTemplate<DerivedCRSTraits>::DerivedCRSTemplate(\n    const
      DerivedCRSTemplate &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRS::getPrivate
      Src: /src/PROJ/src/iso19111/crs.cpp:7596,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/crs.cpp:7597,1
    - Dst: util::nn_dynamic_pointer_cast<BaseType>
      Src: /src/PROJ/src/iso19111/crs.cpp:7597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7598
      start: 7594
    functionDepth: 1
    functionLinenumber: 7594
    functionLinenumberEnd: 7598
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::baseCRS
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRS::getPrivate
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<BaseType>
    linkageType: ''
    returnType: typename DerivedCRSTemplate<DerivedCRSTraits>::BaseNNPtr
    signature: typename DerivedCRSTemplate<DerivedCRSTraits>::BaseNNPtr DerivedCRSTemplate<DerivedCRSTraits>::baseCRS()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRSTemplate::nn_make_shared<DerivedCRSTemplate>
      Src: /src/PROJ/src/iso19111/crs.cpp:7606,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7607,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:7608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7610
      start: 7605
    functionDepth: 0
    functionLinenumber: 7605
    functionLinenumberEnd: 7610
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRSTemplate::nn_make_shared<DerivedCRSTemplate>
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr DerivedCRSTemplate<DerivedCRSTraits>::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/crs.cpp:7622,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/crs.cpp:7623,1
    - Dst: auto::setDerivingConversionCRS
      Src: /src/PROJ/src/iso19111/crs.cpp:7624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - properties
    - baseCRSIn
    - derivingConversionIn
    - csIn
    argTypes:
    - util::PropertyMap
    - BaseNNPtr
    - operation::ConversionNNPtr
    - CSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7626
      start: 7615
    functionDepth: 0
    functionLinenumber: 7615
    functionLinenumberEnd: 7626
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::create
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - auto::setDerivingConversionCRS
    - auto::setProperties
    linkageType: ''
    returnType: typename DerivedCRSTemplate<DerivedCRSTraits>::NNPtr
    signature: "typename DerivedCRSTemplate<DerivedCRSTraits>::NNPtr DerivedCRSTemplate<DerivedCRSTraits>::create(\n
      \   const util::PropertyMap &properties, const BaseNNPtr &baseCRSIn,\n    const
      operation::ConversionNNPtr &derivingConversionIn,\n    const CSNNPtr &csIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRSTraits::CRSName
      Src: /src/PROJ/src/iso19111/crs.cpp:7632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7633
      start: 7631
    functionDepth: 0
    functionLinenumber: 7631
    functionLinenumberEnd: 7633
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::className
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRSTraits::CRSName
    linkageType: ''
    returnType: char
    signature: char *DerivedCRSTemplate<DerivedCRSTraits>::className() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/crs.cpp:7640,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/crs.cpp:7641,1
    - Dst: FormattingException::Throw
      Src: /src/PROJ/src/iso19111/crs.cpp:7642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - formatter
    - crsName
    - wkt2_2019_only
    argTypes:
    - io::WKTFormatter*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7646
      start: 7637
    functionDepth: 1
    functionLinenumber: 7637
    functionLinenumberEnd: 7646
    functionName: DerivedCRSTemplateCheckExportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::use2019Keywords
    - FormattingException::Throw
    - io::WKTFormatter*::version
    linkageType: ''
    returnType: void
    signature: "void DerivedCRSTemplateCheckExportToWKT(io::WKTFormatter *formatter,\n
      \                                              const std::string &crsName,\n
      \                                              bool wkt2_2019_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRSTemplateCheckExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7653,1
    - Dst: DerivedCRSTraits::CRSName
      Src: /src/PROJ/src/iso19111/crs.cpp:7653,1
    - Dst: baseExportToWKT
      Src: /src/PROJ/src/iso19111/crs.cpp:7655,1
    - Dst: DerivedCRSTraits::WKTKeyword
      Src: /src/PROJ/src/iso19111/crs.cpp:7655,1
    - Dst: DerivedCRSTraits::WKTBaseKeyword
      Src: /src/PROJ/src/iso19111/crs.cpp:7656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7657
      start: 7651
    functionDepth: 2
    functionLinenumber: 7651
    functionLinenumberEnd: 7657
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - DerivedCRSTraits::CRSName
    - DerivedCRSTraits::WKTKeyword
    - DerivedCRSTemplateCheckExportToWKT
    - DerivedCRSTraits::WKTBaseKeyword
    - baseExportToWKT
    linkageType: ''
    returnType: void
    signature: "void DerivedCRSTemplate<DerivedCRSTraits>::_exportToWKT(\n    io::WKTFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const DerivedCRSTemplate *>
      Src: /src/PROJ/src/iso19111/crs.cpp:7665,1
    - Dst: DerivedCRS::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/crs.cpp:7667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7668
      start: 7662
    functionDepth: 0
    functionLinenumber: 7662
    functionLinenumberEnd: 7668
    functionName: DerivedCRSTemplate<DerivedCRSTraits>::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const DerivedCRSTemplate *>
    - DerivedCRS::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool DerivedCRSTemplate<DerivedCRSTraits>::_isEquivalentTo(\n    const
      util::IComparable *other, util::IComparable::Criterion criterion,\n    const
      io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7678
      start: 7676
    functionDepth: 0
    functionLinenumber: 7676
    functionLinenumberEnd: 7678
    functionName: '&DerivedEngineeringCRSTraits::CRSName()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedEngineeringCRSTraits::CRSName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7681
      start: 7679
    functionDepth: 0
    functionLinenumber: 7679
    functionLinenumberEnd: 7681
    functionName: '&DerivedEngineeringCRSTraits::WKTKeyword()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedEngineeringCRSTraits::WKTKeyword()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7684
      start: 7682
    functionDepth: 0
    functionLinenumber: 7682
    functionLinenumberEnd: 7684
    functionName: '&DerivedEngineeringCRSTraits::WKTBaseKeyword()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedEngineeringCRSTraits::WKTBaseKeyword()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7695
      start: 7693
    functionDepth: 0
    functionLinenumber: 7693
    functionLinenumberEnd: 7695
    functionName: '&DerivedParametricCRSTraits::CRSName()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedParametricCRSTraits::CRSName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7698
      start: 7696
    functionDepth: 0
    functionLinenumber: 7696
    functionLinenumberEnd: 7698
    functionName: '&DerivedParametricCRSTraits::WKTKeyword()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedParametricCRSTraits::WKTKeyword()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7701
      start: 7699
    functionDepth: 0
    functionLinenumber: 7699
    functionLinenumberEnd: 7701
    functionName: '&DerivedParametricCRSTraits::WKTBaseKeyword()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedParametricCRSTraits::WKTBaseKeyword()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7712
      start: 7710
    functionDepth: 0
    functionLinenumber: 7710
    functionLinenumberEnd: 7712
    functionName: '&DerivedTemporalCRSTraits::CRSName()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedTemporalCRSTraits::CRSName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7713
    functionDepth: 0
    functionLinenumber: 7713
    functionLinenumberEnd: 7715
    functionName: '&DerivedTemporalCRSTraits::WKTKeyword()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedTemporalCRSTraits::WKTKeyword()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7718
      start: 7716
    functionDepth: 0
    functionLinenumber: 7716
    functionLinenumberEnd: 7718
    functionName: '&DerivedTemporalCRSTraits::WKTBaseKeyword()'
    functionSourceFile: /src/PROJ/src/iso19111/crs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &DerivedTemporalCRSTraits::WKTBaseKeyword()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
      > >::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
      > >::~nn()
  - BBCount: 1405
    BranchProfiles: []
    Callsites:
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/io.cpp:128,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:129,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/io.cpp:170,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/io.cpp:172,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:206,1
    - Dst: WKTFormatter::make_unique<WKTFormatter>
      Src: /src/PROJ/src/iso19111/io.cpp:206,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:207,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:223,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:332,1
    - Dst: axisLinearUnitStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:334,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:335,1
    - Dst: axisAngularUnitStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:337,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:338,1
    - Dst: outputIdStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:340,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:341,1
    - Dst: outputUnitStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:342,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:343,1
    - Dst: stackHasId_::size
      Src: /src/PROJ/src/iso19111/io.cpp:345,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:346,1
    - Dst: stackDisableUsage_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:347,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:348,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:359,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:405,1
    - Dst: Exception
      Src: /src/PROJ/src/iso19111/io.cpp:414,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:428,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:429,1
    - Dst: stackHasChild_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:436,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:444,1
    - Dst: stackHasChild_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:447,1
    - Dst: stackHasChild_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:460,1
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:461,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:462,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:464,1
    - Dst: addNewLine
      Src: /src/PROJ/src/iso19111/io.cpp:465,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:470,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:471,1
    - Dst: addNewLine
      Src: /src/PROJ/src/iso19111/io.cpp:472,1
    - Dst: addIndentation
      Src: /src/PROJ/src/iso19111/io.cpp:474,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:478,1
    - Dst: stackHasChild_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:483,1
    - Dst: stackEmptyKeyword_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:484,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:484,1
    - Dst: pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:496,1
    - Dst: pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:499,1
    - Dst: stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:499,1
    - Dst: pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:501,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/io.cpp:501,1
    - Dst: stackHasId_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:504,1
    - Dst: stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:504,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:510,1
    - Dst: stackHasId_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:511,1
    - Dst: popOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:512,1
    - Dst: stackEmptyKeyword_::back
      Src: /src/PROJ/src/iso19111/io.cpp:514,1
    - Dst: stackEmptyKeyword_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:515,1
    - Dst: stackHasChild_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:516,1
    - Dst: stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:524,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:531,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:531,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:532,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:535,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/io.cpp:541,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:541,1
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:545,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:547,1
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:554,1
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:561,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:562,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:570,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:574,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/io.cpp:574,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/io.cpp:574,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:575,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:575,1
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:593,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:603,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:604,1
    - Dst: outputUnitStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:613,1
    - Dst: outputUnitStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:618,1
    - Dst: outputUnitStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:622,1
    - Dst: outputIdStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:627,1
    - Dst: outputIdStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:632,1
    - Dst: outputIdStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:637,1
    - Dst: stackHasId_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:642,1
    - Dst: stackHasId_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:646,1
    - Dst: stackDisableUsage_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:650,1
    - Dst: stackDisableUsage_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:654,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/io.cpp:659,1
    - Dst: stackDisableUsage_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:659,1
    - Dst: axisLinearUnitStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:665,1
    - Dst: axisLinearUnitStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:669,1
    - Dst: axisLinearUnitStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:674,1
    - Dst: axisAngularUnitStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:680,1
    - Dst: axisAngularUnitStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:684,1
    - Dst: axisAngularUnitStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:689,1
    - Dst: stackHasId_::size
      Src: /src/PROJ/src/iso19111/io.cpp:749,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:851,1
    - Dst: morphNameToESRI
      Src: /src/PROJ/src/iso19111/io.cpp:852,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:853,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:853,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:853,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:865,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/io.cpp:880,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/io.cpp:880,1
    - Dst: children
      Src: /src/PROJ/src/iso19111/io.cpp:881,1
    - Dst: children
      Src: /src/PROJ/src/iso19111/io.cpp:882,1
    - Dst: ingestWKTNode
      Src: /src/PROJ/src/iso19111/io.cpp:883,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/io.cpp:885,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/io.cpp:885,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/io.cpp:888,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:919,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:953,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:953,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:966,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:967,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:978,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:979,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:979,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:991,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:992,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:992,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:992,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1003,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1004,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1004,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1004,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1005,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:1021,1
    - Dst: children_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1036,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1036,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1051,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1051,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1071,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1071,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1097,1
    - Dst: ::isspace
      Src: /src/PROJ/src/iso19111/io.cpp:1097,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:1097,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1115,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1118,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1119,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1120,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1125,1
    - Dst: ::isspace
      Src: /src/PROJ/src/iso19111/io.cpp:1128,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:1128,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1135,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1139,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1142,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:1143,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1151,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:1153,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1155,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1162,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1163,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1165,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1167,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1171,1
    - Dst: std::make_unique<WKTNode>
      Src: /src/PROJ/src/iso19111/io.cpp:1171,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1184,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1187,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1188,1
    - Dst: auto::addChild
      Src: /src/PROJ/src/iso19111/io.cpp:1190,1
    - Dst: createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:1190,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:1191,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1193,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1194,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1196,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1199,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1200,1
    - Dst: createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:1215,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1222,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:1222,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:1224,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:1224,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1224,1
    - Dst: escapeIfQuotedString
      Src: /src/PROJ/src/iso19111/io.cpp:1238,1
    - Dst: children_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1239,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:1247,1
    - Dst: ci_less
      Src: /src/PROJ/src/iso19111/io.cpp:1262,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:1474,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1534,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1536,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1546,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1548,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:1555,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1560,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1561,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1568,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1569,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1575,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1575,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1582,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1582,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:1591,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1592,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1599,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1599,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1605,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1605,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1613,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1614,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1615,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1616,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1617,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:1618,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1619,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1619,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:1620,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1620,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:1623,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1624,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1625,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1626,1
    - Dst: getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:1631,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1633,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1634,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1638,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1639,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1643,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1650,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1651,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1653,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:1654,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/io.cpp:1656,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:1656,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1656,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:1658,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1664,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1665,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1667,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1670,1
    - Dst: auto*::childrenSize
      Src: /src/PROJ/src/iso19111/io.cpp:1671,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1673,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1674,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1674,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1678,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1681,1
    - Dst: auto*::childrenSize
      Src: /src/PROJ/src/iso19111/io.cpp:1682,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1683,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1684,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1684,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:1687,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1689,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:1689,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:1692,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1694,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1694,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1705,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1706,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1708,1
    - Dst: std::make_unique<PropertyMap>
      Src: /src/PROJ/src/iso19111/io.cpp:1708,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:1709,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1713,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1714,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:1716,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1719,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1720,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:1721,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:1723,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1723,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1728,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1731,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1732,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1732,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:1735,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:1736,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1736,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1736,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1737,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1745,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:1746,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:1747,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1749,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1749,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1750,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1750,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:1751,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:1753,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1754,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1755,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:1756,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:1756,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1761,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1762,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1772,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:1784,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1784,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:1785,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:1786,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1789,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1790,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/io.cpp:1794,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1795,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1796,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1801,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1804,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1804,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:1805,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:1805,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:1807,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1811,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1812,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1815,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1816,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1817,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1818,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1819,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1820,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1822,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1822,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:1826,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1827,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1829,1
    - Dst: buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:1830,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1832,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1833,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/io.cpp:1835,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1835,1
    - Dst: ArrayOfBaseObjectNNPtr::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1838,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1839,1
    - Dst: buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:1841,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1843,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1844,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1848,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1849,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1850,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1851,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1852,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1853,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1855,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1855,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1867,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1868,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1869,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1870,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1872,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1873,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1874,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1874,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1874,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1875,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1875,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:1876,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1877,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1878,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1879,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1880,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1883,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1883,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1888,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1889,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1890,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1891,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1893,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1893,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1896,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1897,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1898,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1901,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1902,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1903,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1904,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1906,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1906,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1907,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/io.cpp:1911,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1913,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1915,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1915,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1916,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:1918,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1921,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1921,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1925,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1927,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1929,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1935,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1936,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1938,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1939,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1940,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:1944,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1947,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:1947,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/io.cpp:1948,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1950,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1951,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1955,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1957,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1958,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1959,1
    - Dst: TemporalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:1959,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1960,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1961,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1963,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1964,1
    - Dst: Extent::create
      Src: /src/PROJ/src/iso19111/io.cpp:1967,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/io.cpp:1971,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1981,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1982,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1983,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1984,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1985,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:1985,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1991,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1992,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1992,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:1993,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1994,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1997,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1997,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2000,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2001,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2002,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2003,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2007,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2007,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2010,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2015,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2016,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2025,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2025,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2026,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2027,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2030,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2031,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2032,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2033,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2037,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2037,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2041,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/io.cpp:2041,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/io.cpp:2043,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2044,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:2049,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2051,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2060,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2062,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2063,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2064,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2069,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2070,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2071,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2076,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2077,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2078,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2083,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2084,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2085,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2089,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2090,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2091,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2096,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2097,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2098,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2103,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2104,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2105,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2115,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2116,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2117,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2118,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2118,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2122,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2132,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:2133,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2136,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2138,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2139,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:2141,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:2142,1
    - Dst: Length::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:2143,1
    - Dst: Scale::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:2144,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:2145,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:2148,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2152,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2160,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2161,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2162,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2163,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2163,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2165,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2166,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2174,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2177,1
    - Dst: UnitOfMeasure::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:2178,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/io.cpp:2205,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/io.cpp:2209,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2211,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2212,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2222,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2227,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2227,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2228,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2229,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2232,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2233,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2234,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:2235,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:2236,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:2236,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2238,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2242,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:2249,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2251,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2259,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2260,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:2261,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2262,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2262,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:2264,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2272,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2273,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2275,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2275,1
    - Dst: optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:2276,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:2277,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2279,1
    - Dst: optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:2282,1
    - Dst: celestialBody
      Src: /src/PROJ/src/iso19111/io.cpp:2289,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:2290,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:2290,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2300,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2302,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2303,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:2304,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2306,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2309,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2309,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2313,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2313,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2314,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2315,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2319,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:2321,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:2322,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:2323,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2323,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2325,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2326,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/io.cpp:2328,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2329,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:2329,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2329,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:2332,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:2333,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:2333,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2340,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2341,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:2342,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2343,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2344,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:2345,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:2346,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:2346,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:2347,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2347,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2349,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2351,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2352,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2359,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2360,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:2362,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2363,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2364,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2364,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/io.cpp:2366,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:2366,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2367,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2368,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2383,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2384,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:2387,1
    - Dst: DatumEnsemble::ensembleNameToNonEnsembleName
      Src: /src/PROJ/src/iso19111/io.cpp:2388,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2389,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2391,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:2400,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2403,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2403,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2403,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2404,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2407,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:2413,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2434,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2436,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2437,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2438,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2442,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:2443,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2446,1
    - Dst: identifyFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2447,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2453,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2454,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2456,1
    - Dst: isKnownName
      Src: /src/PROJ/src/iso19111/io.cpp:2457,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2458,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2461,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2466,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2467,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:2468,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:2469,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:2469,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2471,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2474,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:2477,1
    - Dst: identifyFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2479,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:2482,1
    - Dst: fixupPrimeMeridan
      Src: /src/PROJ/src/iso19111/io.cpp:2484,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2486,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2487,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2488,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2489,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:2493,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2493,1
    - Dst: toWGS84AutocorrectWrongValues
      Src: /src/PROJ/src/iso19111/io.cpp:2497,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:2505,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2508,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2511,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2515,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2516,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2517,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2518,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2518,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2519,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2523,1
    - Dst: parseDynamic
      Src: /src/PROJ/src/iso19111/io.cpp:2526,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2527,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:2528,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:2529,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2533,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:2534,1
    - Dst: getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:2534,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2544,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2546,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2547,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:2548,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2551,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2554,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2555,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2555,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2556,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2557,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:2560,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2560,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2561,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:2561,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:2562,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2563,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:2566,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2567,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2567,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2572,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2572,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2573,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2573,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2575,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2575,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2576,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2577,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2579,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/io.cpp:2581,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:2581,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/io.cpp:2583,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2586,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2591,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2597,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2598,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2599,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:2600,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:2603,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2603,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/io.cpp:2606,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2608,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2615,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2616,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2617,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2618,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2618,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2620,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2622,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:2624,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2626,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2633,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2643,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2644,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2645,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2646,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2646,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2649,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2650,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2651,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2652,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2653,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2655,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:2658,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2660,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2661,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2664,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2665,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:2672,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:2675,1
    - Dst: CoordinateSystemAxis::normalizeAxisName
      Src: /src/PROJ/src/iso19111/io.cpp:2676,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2677,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2678,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:2679,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:2679,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2680,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:2681,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2682,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:2682,1
    - Dst: CoordinateSystemAxis::normalizeAxisName
      Src: /src/PROJ/src/iso19111/io.cpp:2693,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2702,1
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:2703,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2706,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:2728,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:2729,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:2732,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:2737,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2742,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2743,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2743,1
    - Dst: ThrowParsingExceptionMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2753,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2757,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2760,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2761,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2763,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2764,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2765,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2769,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2771,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2771,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2772,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2777,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2778,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2780,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2781,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2782,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2786,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2788,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2788,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2789,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2794,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2795,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2797,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2798,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2799,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2801,1
    - Dst: RangeMeaning::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:2802,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2804,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2805,1
    - Dst: util::optional<RangeMeaning>
      Src: /src/PROJ/src/iso19111/io.cpp:2807,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:2810,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2811,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2813,1
    - Dst: buildMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:2813,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2824,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2831,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2832,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:2846,1
    - Dst: countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:2858,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2860,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2861,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2862,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2863,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2864,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2865,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2865,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2867,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:2869,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2869,1
    - Dst: ThrowParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2871,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2871,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2872,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2876,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2881,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2884,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/io.cpp:2886,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2888,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2893,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2897,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2902,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2903,1
    - Dst: "EllipsoidalCS::\n                        createLongitudeLatitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/io.cpp:2904,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2906,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/io.cpp:2911,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2913,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2914,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2917,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/io.cpp:2923,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2925,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2926,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2927,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2931,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2934,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2935,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:2938,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2940,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2941,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2942,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2946,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2948,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2949,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2950,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2951,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2951,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2953,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2956,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2958,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2965,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2966,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2975,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2978,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2979,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2980,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:2984,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2985,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:2986,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2987,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:2991,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2993,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2996,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:3000,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3006,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3009,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3013,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:3015,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3018,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:3020,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:3021,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3023,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3025,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3029,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:3032,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3034,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:3036,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:3037,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3039,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3043,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3044,1
    - Dst: buildParsingExceptionInvalidAxisCount
      Src: /src/PROJ/src/iso19111/io.cpp:3050,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3053,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3058,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3060,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3061,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3063,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3064,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3065,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3067,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3068,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3069,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3070,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3073,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3076,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3077,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:3079,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:3085,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:3086,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3086,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3091,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3093,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3095,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3098,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3100,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3100,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3101,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3104,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3107,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3107,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3108,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3108,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3109,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3112,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3116,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3118,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3120,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3123,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3125,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3127,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3131,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3133,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3136,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3137,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3138,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3140,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3142,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3144,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3145,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3146,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3146,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3147,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3151,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3154,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3156,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3158,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3160,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3162,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3164,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3167,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3167,1
    - Dst: buildParsingExceptionInvalidAxisCount
      Src: /src/PROJ/src/iso19111/io.cpp:3169,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3176,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3177,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3178,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3179,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3179,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3180,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3183,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3191,1
    - Dst: set
      Src: /src/PROJ/src/iso19111/io.cpp:3192,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3201,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3202,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3204,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3205,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3205,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3206,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3210,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3212,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3214,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:3215,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3216,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3216,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3217,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3218,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3219,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3220,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3224,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3225,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3227,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3228,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3229,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3234,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3234,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:3237,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3242,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:3243,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/io.cpp:3246,1
    - Dst: addExtensionProj4ToProp
      Src: /src/PROJ/src/iso19111/io.cpp:3249,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3252,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3252,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:3253,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3256,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:3256,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3262,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3262,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3262,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:3263,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3266,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:3267,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3272,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:3273,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3277,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:3278,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:3281,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3287,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3288,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:3289,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3292,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3293,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:3294,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3297,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3298,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:3298,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3299,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:3299,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3300,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3307,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3308,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/io.cpp:3309,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3312,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3314,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3315,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3318,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3319,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:3323,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:3326,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3327,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3328,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:3328,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3329,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:3329,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3334,1
    - Dst: auto::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:3335,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:3336,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3337,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3340,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3345,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3346,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3347,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3349,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3350,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3352,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3354,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3354,1
    - Dst: auto::alterAngularUnit
      Src: /src/PROJ/src/iso19111/io.cpp:3356,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:3358,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:3359,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3361,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3366,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3367,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3368,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3371,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3377,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3377,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3378,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3380,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3381,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3382,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3384,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3384,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3385,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3388,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:3390,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3391,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3395,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3396,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3398,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3398,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3399,1
    - Dst: nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3403,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3406,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3407,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3409,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3409,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3410,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3414,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3415,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3415,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3421,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3422,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:3425,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3425,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3428,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3429,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3430,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:3432,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3435,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3436,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3437,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:3439,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3442,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:3444,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3445,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:3448,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3458,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3462,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3464,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:3467,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3468,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3470,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:3470,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:3471,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3471,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3474,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3474,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3476,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3477,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:3477,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3479,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3479,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3480,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3484,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3484,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3486,1
    - Dst: nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3489,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3491,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3491,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3493,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3496,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3497,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3497,1
    - Dst: UnitOfMeasure::UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:3505,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3507,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3508,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3510,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3511,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3512,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3513,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3514,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3515,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3516,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3517,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3519,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3520,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3521,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:3531,1
    - Dst: getEPSGCode
      Src: /src/PROJ/src/iso19111/io.cpp:3532,1
    - Dst: isEPSGCodeForInterpolationParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3542,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3553,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3554,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3555,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3555,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3556,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3557,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3557,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3559,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:3560,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3560,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3561,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3562,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3563,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:3564,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3564,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:3567,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3568,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3571,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3572,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:3577,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:3579,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3580,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3581,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:3581,1
    - Dst: ::atoi
      Src: /src/PROJ/src/iso19111/io.cpp:3583,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/io.cpp:3583,1
    - Dst: OperationParameterValue::convertFromAbridged
      Src: /src/PROJ/src/iso19111/io.cpp:3586,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:3589,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:3589,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3590,1
    - Dst: isIntegerParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3597,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:3597,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3598,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:3598,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:3599,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3599,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3601,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:3602,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:3602,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3605,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3605,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3609,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3609,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3611,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3612,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3612,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3614,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:3615,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3615,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3616,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:3616,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3617,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3633,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3635,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3636,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3638,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3639,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:3644,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3647,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3650,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3651,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:3654,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:3655,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:3656,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:3657,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3659,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3660,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3661,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/io.cpp:3661,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:3662,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3665,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:3668,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3670,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:3683,1
    - Dst: isEPSGCodeForInterpolationParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3684,1
    - Dst: integerValue
      Src: /src/PROJ/src/iso19111/io.cpp:3685,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3687,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3688,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3690,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:3691,1
    - Dst: std::vector::erase
      Src: /src/PROJ/src/iso19111/io.cpp:3693,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/io.cpp:3693,1
    - Dst: std::vector::erase
      Src: /src/PROJ/src/iso19111/io.cpp:3694,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/io.cpp:3694,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3708,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3709,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3710,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3711,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3713,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3714,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3717,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3718,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3719,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3721,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3721,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3723,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3726,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3727,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3728,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3730,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3730,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3732,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3736,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3738,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3740,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3740,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:3747,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3751,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3755,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3756,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3757,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:3757,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3758,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3758,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:3761,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3761,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3761,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3762,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3763,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3771,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3772,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3773,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3774,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3776,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3777,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3780,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3781,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3782,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3784,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3784,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3786,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:3793,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3797,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3798,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3799,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:3799,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3800,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3800,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:3803,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3804,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3804,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3805,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3813,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3814,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3815,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3816,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3818,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3818,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3820,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3823,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3824,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3825,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3827,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3827,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3829,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:3833,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3834,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3834,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3835,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3836,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/io.cpp:3838,1
    - Dst: build
      Src: /src/PROJ/src/iso19111/io.cpp:3839,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3839,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3841,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:3843,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3843,1
    - Dst: ConcatenatedOperation::fixSteps
      Src: /src/PROJ/src/iso19111/io.cpp:3847,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3848,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3848,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3852,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3853,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3854,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:3854,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3855,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3855,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:3859,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3859,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3862,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3863,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3863,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3871,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3872,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3875,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3875,1
    - Dst: lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3877,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:3879,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:3879,1
    - Dst: countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:3881,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3887,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3888,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3888,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3888,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3891,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3891,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3892,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3893,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3894,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3895,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3896,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3897,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3898,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3899,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3900,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3901,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3902,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3903,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3904,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:3920,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:3921,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:3928,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:3929,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:3936,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:3936,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3949,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3949,1
    - Dst: getMappingsFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:3954,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3955,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3960,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3961,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3961,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3962,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3963,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3964,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3967,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:3979,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/io.cpp:3980,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:3984,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:3985,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4032,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4032,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4034,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4036,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4036,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4037,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4042,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4043,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:4046,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/io.cpp:4047,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4048,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4048,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4050,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:4055,1
    - Dst: selectSphericalOrEllipsoidal
      Src: /src/PROJ/src/iso19111/io.cpp:4057,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4059,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4060,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4062,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4063,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4070,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4080,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4082,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:4093,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:4094,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:4098,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/io.cpp:4099,1
    - Dst: begin
      Src: /src/PROJ/src/iso19111/io.cpp:4102,1
    - Dst: areEquivalentParameters
      Src: /src/PROJ/src/iso19111/io.cpp:4104,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4113,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4114,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4117,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4119,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4122,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4122,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4125,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4126,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4128,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4128,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4128,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4130,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:4131,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:4135,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4136,1
    - Dst: getESRIMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4153,1
    - Dst: buildProjectionStandard
      Src: /src/PROJ/src/iso19111/io.cpp:4155,1
    - Dst: buildProjectionFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:4159,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4170,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:4171,1
    - Dst: buildProjectionFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:4174,1
    - Dst: buildProjectionStandard
      Src: /src/PROJ/src/iso19111/io.cpp:4177,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4186,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4187,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4187,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4188,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4189,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4190,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4191,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4192,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4196,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4206,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4206,1
    - Dst: lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4212,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4213,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4216,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4216,1
    - Dst: projectionGetParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4218,1
    - Dst: projectionGetParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4222,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4223,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4232,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4233,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4235,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4236,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4238,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4239,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4240,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4241,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4241,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4244,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4245,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4247,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4248,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4249,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4249,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4250,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4254,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4255,1
    - Dst: std::map::insert
      Src: /src/PROJ/src/iso19111/io.cpp:4258,1
    - Dst: std::pair<std::string, Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:4258,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/io.cpp:4259,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4259,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4268,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4269,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4273,1
    - Dst: Measure::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:4274,1
    - Dst: Conversion::createPolarStereographicVariantB
      Src: /src/PROJ/src/iso19111/io.cpp:4275,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4276,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4277,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4277,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4277,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4278,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4278,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4278,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4279,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4279,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4279,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4280,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4280,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4280,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4283,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4284,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4284,1
    - Dst: Measure::convertToUnit
      Src: /src/PROJ/src/iso19111/io.cpp:4284,1
    - Dst: Conversion::createPolarStereographicVariantA
      Src: /src/PROJ/src/iso19111/io.cpp:4287,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4288,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4289,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4289,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4289,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4290,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4290,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4290,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:4291,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4291,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4291,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4292,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4292,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4292,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4293,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4293,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4293,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4298,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4299,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4299,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4300,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4301,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4302,1
    - Dst: PROJStringParser
      Src: /src/PROJ/src/iso19111/io.cpp:4307,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:4309,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/io.cpp:4311,1
    - Dst: getMappingFromWKT1
      Src: /src/PROJ/src/iso19111/io.cpp:4320,1
    - Dst: getESRIMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4327,1
    - Dst: buildProjectionFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:4329,1
    - Dst: selectSphericalOrEllipsoidal
      Src: /src/PROJ/src/iso19111/io.cpp:4336,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4337,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4338,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4344,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4345,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4345,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4346,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4347,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:4348,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4352,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4353,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4355,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4356,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4362,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4364,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4367,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4374,1
    - Dst: countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:4375,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:4376,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4376,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:4379,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4379,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4382,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4385,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4389,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4390,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4393,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/iso19111/io.cpp:4401,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4404,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4405,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4405,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4406,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4407,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:4408,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4410,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4412,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4417,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4419,1
    - Dst: getMappingFromWKT1
      Src: /src/PROJ/src/iso19111/io.cpp:4425,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4428,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4436,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4439,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4450,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4452,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4456,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4457,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4458,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4460,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4461,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4463,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4463,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4463,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4465,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:4466,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:4481,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4486,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4487,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4490,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4492,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4495,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4496,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4497,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4497,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4498,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:4525,1
    - Dst: getEPSGCode
      Src: /src/PROJ/src/iso19111/io.cpp:4526,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4528,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4529,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4532,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4534,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4537,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4538,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4539,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:4545,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4546,1
    - Dst: Conversion::createPopularVisualisationPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:4555,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4556,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4556,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4557,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4557,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4557,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4558,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4567,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4568,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4569,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4570,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4570,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:4571,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4575,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4577,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4578,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4581,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4583,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4585,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:4586,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4587,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4587,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4588,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:4589,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4592,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:4592,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4596,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4596,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4597,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4606,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4607,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:4609,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4610,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4611,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:4611,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4613,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:4613,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4614,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4619,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4620,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4620,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:4621,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4624,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:4626,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:4626,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4628,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:4633,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/io.cpp:4636,1
    - Dst: dynamic_cast<const operation::OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/io.cpp:4638,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:4639,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/io.cpp:4641,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:4642,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/io.cpp:4644,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4645,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:4646,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:4658,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:4661,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:4663,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4666,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4668,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4669,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4673,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4673,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4674,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4675,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4675,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4676,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4682,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4683,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4684,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4685,1
    - Dst: util::isOfExactType<GeographicCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:4686,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:4686,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4687,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4689,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4689,1
    - Dst: auto::createObjectsFromNameEx
      Src: /src/PROJ/src/iso19111/io.cpp:4690,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:4699,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:4699,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4701,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4702,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4703,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:4704,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4708,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4709,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4710,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4722,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4722,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4723,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:4724,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4727,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4734,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4735,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4736,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:4737,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:4737,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:4740,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4744,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:4745,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4750,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4755,1
    - Dst: hasWebMercPROJ4String
      Src: /src/PROJ/src/iso19111/io.cpp:4755,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:4757,1
    - Dst: createPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:4758,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4758,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4765,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4766,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4767,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4768,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:4769,1
    - Dst: createPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:4770,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4770,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4776,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:4778,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4780,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4782,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:4782,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4785,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:4786,1
    - Dst: buildProjection
      Src: /src/PROJ/src/iso19111/io.cpp:4787,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4791,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4791,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4792,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4795,1
    - Dst: auto::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:4795,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:4797,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4801,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4802,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:4803,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4804,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:4807,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4808,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/io.cpp:4820,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4823,1
    - Dst: CartesianCS::createNorthPoleEastingSouthNorthingSouth
      Src: /src/PROJ/src/iso19111/io.cpp:4825,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4828,1
    - Dst: CartesianCS::createSouthPoleEastingNorthNorthingNorth
      Src: /src/PROJ/src/iso19111/io.cpp:4830,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/io.cpp:4836,1
    - Dst: CartesianCS::createNorthPoleEastingSouthNorthingSouth
      Src: /src/PROJ/src/iso19111/io.cpp:4841,1
    - Dst: CartesianCS::createSouthPoleEastingNorthNorthingNorth
      Src: /src/PROJ/src/iso19111/io.cpp:4846,1
    - Dst: CartesianCS::createWestingSouthing
      Src: /src/PROJ/src/iso19111/io.cpp:4853,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:4857,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:4860,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4861,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4862,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:4862,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:4863,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4863,1
    - Dst: addExtensionProj4ToProp
      Src: /src/PROJ/src/iso19111/io.cpp:4866,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4868,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4869,1
    - Dst: auto::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4877,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4878,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4879,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:4880,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4883,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4885,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4887,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4889,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4890,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4891,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4900,1
    - Dst: parseDynamic
      Src: /src/PROJ/src/iso19111/io.cpp:4903,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:4904,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4905,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4905,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/src/iso19111/io.cpp:4906,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:4907,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4912,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4914,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:4915,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4917,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4922,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4922,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4922,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4923,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:4924,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4927,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4928,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4932,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4933,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4934,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4934,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:4938,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4938,1
    - Dst: getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:4939,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4946,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4947,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4949,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4950,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4951,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4954,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4956,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4957,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4958,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/io.cpp:4960,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:4961,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4961,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:4968,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4968,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4968,1
    - Dst: ParametricDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:4975,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4975,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4975,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:4984,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:4984,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4986,1
    - Dst: GeographicCRSPtr::datum
      Src: /src/PROJ/src/iso19111/io.cpp:4989,1
    - Dst: GeographicCRSPtr::primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:4990,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4994,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4995,1
    - Dst: GeographicCRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4997,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:4999,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5000,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5002,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:5004,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:5005,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5007,1
    - Dst: std::dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5012,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5014,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5017,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:5018,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/io.cpp:5019,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5023,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:5024,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:5025,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:5026,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5026,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:5028,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:5029,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:5030,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5030,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:5032,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5036,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5037,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/io.cpp:5039,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:5039,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:5040,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5048,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5054,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:5055,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5057,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5059,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5064,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5065,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5067,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5067,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5067,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5068,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5071,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5072,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5073,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5074,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5074,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5075,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5081,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5083,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:5084,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5085,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:5087,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5093,1
    - Dst: buildVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:5094,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5097,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:5098,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5101,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5102,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5102,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5103,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5104,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5105,1
    - Dst: nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5107,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5108,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:5110,1
    - Dst: auto::getWKT1DatumType
      Src: /src/PROJ/src/iso19111/io.cpp:5113,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5114,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/io.cpp:5114,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5116,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5117,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:5118,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5119,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5121,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:5121,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5125,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:5132,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5132,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:5132,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:5133,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5133,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:5134,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5137,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5138,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5146,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5147,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:5149,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5154,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:5155,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5155,1
    - Dst: std::string::find_first_of
      Src: /src/PROJ/src/iso19111/io.cpp:5156,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:5158,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5165,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5165,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5167,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5167,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:5169,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:5171,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5172,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:5175,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5179,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5180,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/io.cpp:5181,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:5183,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5184,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5185,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5186,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:5187,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5188,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5190,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5191,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5194,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5195,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/io.cpp:5196,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5197,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5198,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5200,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5201,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:5203,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5205,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5205,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5206,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5207,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/io.cpp:5209,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5210,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5210,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5212,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5217,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5218,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:5219,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5220,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5221,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5222,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5223,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5223,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5224,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5226,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5226,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5227,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5228,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/io.cpp:5230,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5231,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5231,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/io.cpp:5233,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5236,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5239,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5239,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5240,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5242,1
    - Dst: auto::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5243,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5244,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5245,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5246,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:5246,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:5259,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5262,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:5262,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:5265,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:5265,1
    - Dst: createBoundCRSSourceTransformationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5270,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:5271,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:5271,1
    - Dst: "Transformation::\n                        createGravityRelatedHeightToGeographic3D"
      Src: /src/PROJ/src/iso19111/io.cpp:5272,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5274,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5276,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5277,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5279,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5280,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5281,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5294,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5295,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5297,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5297,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5299,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5300,1
    - Dst: auto::extractVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5300,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5303,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5304,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5305,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5307,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5310,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5311,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5312,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5314,1
    - Dst: nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5316,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5318,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:5319,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:5319,1
    - Dst: DerivedVerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5322,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5322,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5324,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5332,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5333,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5336,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:5339,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5339,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5343,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5343,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:5344,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5344,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5347,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5347,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:5360,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5365,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5368,1
    - Dst: Transformation::isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:5374,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5375,1
    - Dst: dynamic_cast<VerticalCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:5376,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:5376,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:5377,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:5377,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/io.cpp:5378,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:5382,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/io.cpp:5383,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/io.cpp:5386,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5389,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5398,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5400,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5401,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5402,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5405,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5406,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5407,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5409,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5410,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5413,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5414,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5415,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5416,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5418,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5420,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5423,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5424,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5425,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5426,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5428,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5430,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:5437,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5440,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5441,1
    - Dst: buildTransformationForBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5442,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5443,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5443,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5446,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5446,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5447,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5447,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5456,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5457,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5458,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5458,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5459,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5461,1
    - Dst: nn_dynamic_pointer_cast<TemporalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5462,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:5464,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5466,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5474,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5475,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5476,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5479,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5479,1
    - Dst: buildTemporalDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5480,1
    - Dst: buildTemporalCS
      Src: /src/PROJ/src/iso19111/io.cpp:5481,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5488,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5489,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5491,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5491,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5494,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5495,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5496,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:5499,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5500,1
    - Dst: buildTemporalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5500,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5501,1
    - Dst: buildTemporalCS
      Src: /src/PROJ/src/iso19111/io.cpp:5503,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5510,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5511,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5513,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5514,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5517,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5518,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5518,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:5518,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5519,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5522,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5523,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5523,1
    - Dst: buildEngineeringDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5524,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5531,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5532,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:5533,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5534,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5535,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5540,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5541,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5544,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5544,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5551,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5552,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5554,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5554,1
    - Dst: buildEngineeringCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5556,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5559,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5560,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5561,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5563,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5566,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5567,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5568,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5570,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:5572,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5572,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5581,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5582,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5583,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5583,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5584,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5586,1
    - Dst: nn_dynamic_pointer_cast<ParametricCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5587,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:5589,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5591,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5598,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5600,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5601,1
    - Dst: ParametricCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5604,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5604,1
    - Dst: buildParametricDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5605,1
    - Dst: buildParametricCS
      Src: /src/PROJ/src/iso19111/io.cpp:5606,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5613,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5614,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5616,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5616,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5619,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5620,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5621,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:5624,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5625,1
    - Dst: buildParametricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5625,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5626,1
    - Dst: buildParametricCS
      Src: /src/PROJ/src/iso19111/io.cpp:5628,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5635,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5636,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5637,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5638,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5640,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5643,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5644,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5645,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:5648,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5650,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:5650,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5652,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5654,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5655,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5655,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:5655,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5656,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5658,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5660,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5661,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5662,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5662,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:5663,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:5663,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5666,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5666,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5674,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5676,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5677,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5678,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5681,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5683,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5686,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5687,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5688,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5689,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5690,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:5694,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5696,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:5698,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5698,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:5702,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5702,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5708,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5709,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5710,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5711,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5712,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5713,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5719,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:5723,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/src/iso19111/io.cpp:5724,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:5725,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5726,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:5727,1
    - Dst: BoundCRS::createFromNadgrids
      Src: /src/PROJ/src/iso19111/io.cpp:5728,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:5729,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5730,1
    - Dst: isGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5735,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5736,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5736,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5738,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5739,1
    - Dst: buildDerivedGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5739,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5741,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5742,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5742,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5746,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5747,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5748,1
    - Dst: getExtensionProj4
      Src: /src/PROJ/src/iso19111/io.cpp:5752,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5753,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5754,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5755,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5756,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5757,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:5759,1
    - Dst: PROJStringParser
      Src: /src/PROJ/src/iso19111/io.cpp:5764,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5765,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5767,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5768,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5768,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5773,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5774,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5774,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5777,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5778,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5779,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5780,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5781,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5781,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5782,1
    - Dst: buildDerivedVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5783,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5785,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5785,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5789,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5790,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5791,1
    - Dst: buildCompoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5791,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5794,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5795,1
    - Dst: buildBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5795,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5798,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5799,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5799,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5800,1
    - Dst: buildDerivedTemporalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5801,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5803,1
    - Dst: buildTemporalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5803,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5807,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5808,1
    - Dst: buildDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5809,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5812,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5813,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5814,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5814,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5815,1
    - Dst: buildDerivedEngineeringCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5816,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5818,1
    - Dst: buildEngineeringCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5818,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5822,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5823,1
    - Dst: buildEngineeringCRSFromLocalCS
      Src: /src/PROJ/src/iso19111/io.cpp:5824,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5827,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5828,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5828,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5829,1
    - Dst: buildDerivedParametricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5830,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5832,1
    - Dst: buildParametricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5832,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5842,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5845,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5847,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5847,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5852,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5853,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:5853,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5855,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5855,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5858,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5859,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5860,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5861,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5862,1
    - Dst: buildVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:5863,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5866,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5867,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5868,1
    - Dst: buildTemporalDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5869,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5872,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5873,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5874,1
    - Dst: buildEngineeringDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5875,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5878,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5879,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5880,1
    - Dst: buildParametricDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5881,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5884,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5885,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5886,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:5886,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5889,1
    - Dst: buildCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:5890,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5896,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5896,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5898,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5898,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5899,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5900,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5901,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5901,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5902,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/io.cpp:5903,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5907,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5910,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5912,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5914,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5914,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5916,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5917,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5918,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5919,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5919,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5923,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5926,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5927,1
    - Dst: buildConcatenatedOperation
      Src: /src/PROJ/src/iso19111/io.cpp:5928,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5931,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5932,1
    - Dst: buildPointMotionOperation
      Src: /src/PROJ/src/iso19111/io.cpp:5933,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5936,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5937,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5938,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5939,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:5939,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5942,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5943,1
    - Dst: buildCoordinateMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:5944,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5947,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:5947,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6007,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6008,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6014,1
    - Dst: util::optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:6015,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6015,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6016,1
    - Dst: util::optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:6018,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:6022,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6022,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:6022,1
    - Dst: ParametricDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:6026,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6026,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:6026,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6030,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/io.cpp:6031,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6031,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6032,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6033,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:6034,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6034,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6041,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6042,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6042,1
    - Dst: util::nn_dynamic_pointer_cast<CSClass>
      Src: /src/PROJ/src/iso19111/io.cpp:6043,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6045,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:6047,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6047,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6048,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:6053,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6053,1
    - Dst: util::nn_dynamic_pointer_cast<BaseCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6054,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6056,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6058,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6058,1
    - Dst: util::nn_dynamic_pointer_cast<CSClass>
      Src: /src/PROJ/src/iso19111/io.cpp:6059,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6061,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6063,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6063,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:6064,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6064,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6064,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6065,1
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/iso19111/io.cpp:6070,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:6071,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6097,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6098,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6098,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6101,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6102,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6102,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6105,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6111,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6112,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6112,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6115,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6116,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6116,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6119,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6125,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6126,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6126,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/iso19111/io.cpp:6129,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6130,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6130,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6133,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6139,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6140,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6140,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6143,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6144,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6144,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6147,1
    - Dst: simple_min
      Src: /src/PROJ/src/iso19111/io.cpp:6148,1
    - Dst: simple_max
      Src: /src/PROJ/src/iso19111/io.cpp:6149,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6150,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6151,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6151,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6154,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6160,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6161,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6161,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6164,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6165,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6165,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6168,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6174,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6175,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6175,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6178,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6179,1
    - Dst: auto::name
      Src: /src/PROJ/src/iso19111/io.cpp:6182,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6185,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6187,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6188,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6188,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/io.cpp:6191,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6206,1
    - Dst: getName
      Src: /src/PROJ/src/iso19111/io.cpp:6208,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6209,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6212,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6212,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6213,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6215,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6216,1
    - Dst: auto::is_number_integer
      Src: /src/PROJ/src/iso19111/io.cpp:6217,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6218,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6218,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6220,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6223,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6228,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6232,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6237,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6238,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6238,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6241,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:6242,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6242,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6244,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:6245,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6245,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6247,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6247,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:6254,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6254,1
    - Dst: getUnit
      Src: /src/PROJ/src/iso19111/io.cpp:6254,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:6260,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6261,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6262,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6265,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6266,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6269,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6270,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6271,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6272,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6273,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6274,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6276,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/io.cpp:6277,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6279,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6280,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:6280,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6285,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6286,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6287,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6288,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6289,1
    - Dst: getUnit
      Src: /src/PROJ/src/iso19111/io.cpp:6290,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6292,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:6292,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/io.cpp:6293,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6297,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6298,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6299,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6300,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6301,1
    - Dst: TemporalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:6301,1
    - Dst: optional::has_value
      Src: /src/PROJ/src/iso19111/io.cpp:6304,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6304,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6304,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6305,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6305,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6307,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/io.cpp:6310,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6310,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6311,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6311,1
    - Dst: Extent::create
      Src: /src/PROJ/src/iso19111/io.cpp:6312,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/io.cpp:6316,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6326,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6327,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6328,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:6329,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:6330,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:6330,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:6331,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:6331,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6335,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6337,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6338,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6339,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6340,1
    - Dst: simple_min
      Src: /src/PROJ/src/iso19111/io.cpp:6341,1
    - Dst: simple_max
      Src: /src/PROJ/src/iso19111/io.cpp:6342,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6343,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6344,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6344,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6346,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6349,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6354,1
    - Dst: getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:6356,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:6358,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:6359,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6363,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6364,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6365,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6366,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6370,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6371,1
    - Dst: auto::is_number_integer
      Src: /src/PROJ/src/iso19111/io.cpp:6372,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6373,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6373,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6375,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6380,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/io.cpp:6380,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6381,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6383,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:6384,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/io.cpp:6386,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:6386,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:6386,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6388,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6393,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6394,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6397,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6398,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6399,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6402,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6403,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6403,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:6406,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6413,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6415,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6417,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:6418,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:6418,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6420,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6423,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6424,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6425,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6427,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6428,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:6431,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:6431,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6433,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6434,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6435,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6436,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:6437,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:6437,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6438,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6441,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6442,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6442,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6445,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6446,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/iso19111/io.cpp:6448,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6449,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6452,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6453,1
    - Dst: buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:6456,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6458,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/io.cpp:6460,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6460,1
    - Dst: ArrayOfBaseObjectNNPtr::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6462,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6463,1
    - Dst: buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:6466,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6468,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6468,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6480,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6481,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6483,1
    - Dst: buildGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6485,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6488,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6491,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6494,1
    - Dst: buildCompoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6497,1
    - Dst: buildBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6500,1
    - Dst: buildCRS<EngineeringCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6503,1
    - Dst: "buildCRS<ParametricCRS,\n                        decltype(&JSONParser::buildParametricDatum),\n
        \                       ParametricCS>"
      Src: /src/PROJ/src/iso19111/io.cpp:6506,1
    - Dst: "buildCRS<TemporalCRS, decltype(&JSONParser::buildTemporalDatum),\n                        TemporalCS>"
      Src: /src/PROJ/src/iso19111/io.cpp:6511,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:6515,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6515,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6516,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6518,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6520,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6520,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6521,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6521,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6522,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6524,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6524,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6525,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6526,1
    - Dst: util::nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6527,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6529,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6529,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6530,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6531,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6532,1
    - Dst: "buildDerivedCRS<DerivedGeographicCRS, GeodeticCRS,\n                               EllipsoidalCS>"
      Src: /src/PROJ/src/iso19111/io.cpp:6535,1
    - Dst: buildDerivedCRS<DerivedProjectedCRS, ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6539,1
    - Dst: buildDerivedCRS<DerivedVerticalCRS, VerticalCRS, VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6542,1
    - Dst: buildDerivedCRS<DerivedEngineeringCRS, EngineeringCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6545,1
    - Dst: "buildDerivedCRS<DerivedParametricCRS, ParametricCRS,\n                               ParametricCS>"
      Src: /src/PROJ/src/iso19111/io.cpp:6548,1
    - Dst: buildDerivedCRS<DerivedTemporalCRS, TemporalCRS, TemporalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6552,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6555,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6558,1
    - Dst: buildVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6561,1
    - Dst: buildDynamicGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6564,1
    - Dst: buildDynamicVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6567,1
    - Dst: buildEngineeringDatum
      Src: /src/PROJ/src/iso19111/io.cpp:6570,1
    - Dst: buildParametricDatum
      Src: /src/PROJ/src/iso19111/io.cpp:6573,1
    - Dst: buildTemporalDatum
      Src: /src/PROJ/src/iso19111/io.cpp:6576,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:6579,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:6582,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6585,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6588,1
    - Dst: buildTransformation
      Src: /src/PROJ/src/iso19111/io.cpp:6591,1
    - Dst: buildPointMotionOperation
      Src: /src/PROJ/src/iso19111/io.cpp:6594,1
    - Dst: buildConcatenatedOperation
      Src: /src/PROJ/src/iso19111/io.cpp:6597,1
    - Dst: buildCoordinateMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:6600,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:6603,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6605,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6613,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6614,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6616,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6617,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6618,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6620,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/io.cpp:6625,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:6626,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6628,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:6631,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6634,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6634,1
    - Dst: buildGeodeticDatumOrDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6643,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6644,1
    - Dst: util::nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6646,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6646,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6648,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6650,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6650,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6651,1
    - Dst: buildGeodeticDatumOrDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6659,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6660,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6661,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6662,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6663,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:6665,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6666,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6670,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6671,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6673,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6673,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:6674,1
    - Dst: nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6678,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6681,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6682,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6684,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6684,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:6685,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6688,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6694,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6695,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6696,1
    - Dst: dynamic_cast<EllipsoidalCS *>
      Src: /src/PROJ/src/iso19111/io.cpp:6697,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6697,1
    - Dst: util::nn_static_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6698,1
    - Dst: buildGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6699,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6700,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6701,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6702,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6702,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6704,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6706,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6706,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6707,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6707,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6708,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6716,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6717,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6719,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6720,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6721,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6723,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/io.cpp:6728,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:6729,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6731,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6735,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6735,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6737,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6738,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6738,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6740,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6745,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6746,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6747,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6747,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6749,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6751,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6752,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6754,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/io.cpp:6758,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6758,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:6759,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6763,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6764,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6765,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:6766,1
    - Dst: buildGeoidModel
      Src: /src/PROJ/src/iso19111/io.cpp:6766,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6767,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6768,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6769,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:6771,1
    - Dst: buildGeoidModel
      Src: /src/PROJ/src/iso19111/io.cpp:6771,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:6773,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6776,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6777,1
    - Dst: util::nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6783,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:6783,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6785,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6787,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6793,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6796,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6797,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:6800,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6800,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6802,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6802,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6808,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6809,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6810,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6811,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:6812,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6815,1
    - Dst: auto*::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6819,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6820,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6823,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6824,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6824,1
    - Dst: isIntegerParameter
      Src: /src/PROJ/src/iso19111/io.cpp:6825,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/io.cpp:6825,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6826,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6827,1
    - Dst: getInteger
      Src: /src/PROJ/src/iso19111/io.cpp:6827,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6829,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6829,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6829,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:6833,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:6838,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:6839,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6840,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6841,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6843,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6844,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6845,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/io.cpp:6845,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:6846,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6849,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:6852,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6854,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6862,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6862,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6863,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6863,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6864,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6865,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6866,1
    - Dst: auto*::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6870,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6871,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6874,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6875,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6875,1
    - Dst: auto*::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6876,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6878,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6879,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:6880,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6880,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6884,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6884,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6884,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6892,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6894,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6894,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:6896,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6898,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6899,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6900,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:6901,1
    - Dst: buildTransformationForBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6904,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6905,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6906,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6909,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6909,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6919,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6919,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6920,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6920,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6921,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6922,1
    - Dst: auto*::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6926,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6927,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6930,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6931,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6931,1
    - Dst: auto*::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6932,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6934,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6935,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:6936,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6936,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6940,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6940,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6940,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6943,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6945,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6945,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6948,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:6949,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:6950,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6950,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6953,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6953,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6954,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6962,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6962,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6963,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6964,1
    - Dst: auto*::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6968,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6969,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6972,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6973,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6973,1
    - Dst: auto*::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6974,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6976,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6977,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:6978,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6978,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6982,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6982,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6982,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6985,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:6986,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:6987,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:6987,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6990,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6990,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6991,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:7000,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7000,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:7001,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7001,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:7002,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7005,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7006,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/io.cpp:7008,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/io.cpp:7008,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7010,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7012,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7012,1
    - Dst: ConcatenatedOperation::fixSteps
      Src: /src/PROJ/src/iso19111/io.cpp:7015,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7020,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:7021,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:7022,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7022,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:7026,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7026,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7029,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7030,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:7030,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:7038,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7038,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7039,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:7041,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:7042,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7043,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7045,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:7048,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7054,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7055,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:7058,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7059,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7060,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7060,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7061,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7062,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7062,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:7062,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7064,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7070,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7071,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7073,1
    - Dst: getUnit
      Src: /src/PROJ/src/iso19111/io.cpp:7074,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:7075,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7075,1
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:7076,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7078,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7078,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7080,1
    - Dst: buildMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7081,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7081,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7085,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7086,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7090,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7091,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7095,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7096,1
    - Dst: RangeMeaning::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:7097,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7099,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7100,1
    - Dst: util::optional<RangeMeaning>
      Src: /src/PROJ/src/iso19111/io.cpp:7102,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:7105,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7105,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7113,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7114,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7115,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/iso19111/io.cpp:7118,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7119,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7123,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7124,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7127,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:7127,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7130,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7133,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7136,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7139,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7143,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7143,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:7144,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7147,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7151,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7151,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7152,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7152,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:7153,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7156,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7160,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7164,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7167,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7170,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7174,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7176,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7182,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7184,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7187,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7190,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7194,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7196,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7200,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7202,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7206,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7208,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7212,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7214,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7216,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7223,1
    - Dst: getArray
      Src: /src/PROJ/src/iso19111/io.cpp:7224,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7225,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7227,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7228,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7233,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7234,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7235,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7236,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7237,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:7240,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7241,1
    - Dst: auto::is_number_integer
      Src: /src/PROJ/src/iso19111/io.cpp:7242,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:7243,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7243,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7245,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:7249,1
    - Dst: auto::createDatum
      Src: /src/PROJ/src/iso19111/io.cpp:7249,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7260,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7261,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7261,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7262,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7265,1
    - Dst: util::nn_dynamic_pointer_cast<Datum>
      Src: /src/PROJ/src/iso19111/io.cpp:7267,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:7267,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7269,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:7271,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7271,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7279,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7279,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7280,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7281,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7281,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:7282,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7284,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7284,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7285,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7290,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7292,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7292,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7293,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7294,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7296,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/io.cpp:7298,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:7298,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/io.cpp:7300,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7303,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7308,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/io.cpp:7314,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7315,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:7316,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7316,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7323,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7324,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7325,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7325,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7327,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7327,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7328,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7329,1
    - Dst: getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:7329,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7336,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7337,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7338,1
    - Dst: getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7338,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7340,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:7342,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7343,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7345,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:7346,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7349,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7350,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7350,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7350,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7358,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7358,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7358,1
    - Dst: getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:7359,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7366,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:7368,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7369,1
    - Dst: getString
      Src: /src/PROJ/src/iso19111/io.cpp:7371,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:7372,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7375,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7376,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7376,1
    - Dst: util::optional<RealizationMethod>
      Src: /src/PROJ/src/iso19111/io.cpp:7376,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7383,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7384,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:7387,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7388,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7389,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7390,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7390,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7391,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7392,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7392,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7393,1
    - Dst: getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:7393,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7395,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7401,1
    - Dst: getLength
      Src: /src/PROJ/src/iso19111/io.cpp:7402,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7403,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:7405,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:7406,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:7407,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7408,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/io.cpp:7409,1
    - Dst: getLength
      Src: /src/PROJ/src/iso19111/io.cpp:7410,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7412,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:7413,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:7415,1
    - Dst: getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7415,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7417,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7420,1
    - Dst: getLength
      Src: /src/PROJ/src/iso19111/io.cpp:7421,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:7423,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:7423,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:7424,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7424,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7427,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7446,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7458,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7459,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:7459,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7459,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7466,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7466,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7467,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:7467,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7467,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7470,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7471,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7472,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7475,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7477,1
    - Dst: std::map::size
      Src: /src/PROJ/src/iso19111/io.cpp:7482,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:7483,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:7483,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:7484,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7485,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7487,1
    - Dst: importFromCRSURL
      Src: /src/PROJ/src/iso19111/io.cpp:7487,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7488,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/io.cpp:7491,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7493,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7494,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7498,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7499,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7505,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7506,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7509,1
    - Dst: getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7511,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7515,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7516,1
    - Dst: getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:7524,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7529,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7530,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:7551,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7551,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7552,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:7552,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7552,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7556,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7557,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7558,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7559,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7560,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7560,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7561,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7562,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7563,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7564,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7565,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7566,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7566,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7567,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7569,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7573,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7577,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/src/iso19111/io.cpp:7580,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7581,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:7582,1
    - Dst: floor
      Src: /src/PROJ/src/iso19111/io.cpp:7582,1
    - Dst: Conversion::createTransverseMercator
      Src: /src/PROJ/src/iso19111/io.cpp:7586,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7587,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7587,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7588,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/io.cpp:7588,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7589,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7590,1
    - Dst: Conversion::createOrthographic
      Src: /src/PROJ/src/iso19111/io.cpp:7593,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7594,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7594,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7595,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7595,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7596,1
    - Dst: Conversion::createEquidistantCylindrical
      Src: /src/PROJ/src/iso19111/io.cpp:7599,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7600,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7600,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7602,1
    - Dst: Conversion::createMollweide
      Src: /src/PROJ/src/iso19111/io.cpp:7605,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7606,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7606,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7607,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7607,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7610,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7627,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7632,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7633,1
    - Dst: getConversion
      Src: /src/PROJ/src/iso19111/io.cpp:7634,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:7635,1
    - Dst: getUnits
      Src: /src/PROJ/src/iso19111/io.cpp:7635,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7638,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7650,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7654,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7654,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7656,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:7659,1
    - Dst: auto::createDatum
      Src: /src/PROJ/src/iso19111/io.cpp:7662,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:7665,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7668,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7671,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:7675,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7677,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7677,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7679,1
    - Dst: getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7681,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:7684,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7685,1
    - Dst: getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:7692,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:7696,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7697,1
    - Dst: find_first_not_of
      Src: /src/PROJ/src/iso19111/io.cpp:7708,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:7710,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:7710,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7716,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:7721,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:7726,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7727,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:7727,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:7728,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:7728,1
    - Dst: find_first_not_of
      Src: /src/PROJ/src/iso19111/io.cpp:7729,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:7732,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7734,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7738,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:7738,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7740,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:7743,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7743,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7746,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7747,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:7749,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:7755,1
    - Dst: yyparse
      Src: /src/PROJ/src/iso19111/io.cpp:7758,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7760,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7764,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:7764,1
    - Dst: JSONParser
      Src: /src/PROJ/src/iso19111/io.cpp:7766,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7772,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7773,1
    - Dst: WKTConstants::constants
      Src: /src/PROJ/src/iso19111/io.cpp:7774,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7775,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:7776,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:7776,1
    - Dst: isspace
      Src: /src/PROJ/src/iso19111/io.cpp:7778,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:7778,1
    - Dst: WKTParser
      Src: /src/PROJ/src/iso19111/io.cpp:7781,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:7792,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:7796,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7796,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7797,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7798,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:7799,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7799,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7800,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7801,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:7802,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7802,1
    - Dst: PROJStringParser
      Src: /src/PROJ/src/iso19111/io.cpp:7803,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/src/iso19111/io.cpp:7807,1
    - Dst: isCRSURL
      Src: /src/PROJ/src/iso19111/io.cpp:7813,1
    - Dst: importFromCRSURL
      Src: /src/PROJ/src/iso19111/io.cpp:7814,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7814,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7817,1
    - Dst: importFromWMSAUTO
      Src: /src/PROJ/src/iso19111/io.cpp:7818,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:7822,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7823,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7824,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7826,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7831,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7833,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:7838,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7839,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7840,1
    - Dst: DatabaseContextNNPtr::getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7844,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7847,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7849,1
    - Dst: DatabaseContextNNPtr::getAuthorities
      Src: /src/PROJ/src/iso19111/io.cpp:7854,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:7856,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7858,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7860,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7863,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7864,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7865,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7867,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:7869,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7870,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7872,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7872,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7881,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7883,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7884,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7886,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7895,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7896,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7897,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7898,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:7899,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7900,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7901,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7902,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7907,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7909,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7911,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7912,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7912,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7913,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7914,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7918,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7919,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7920,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7921,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7924,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7924,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7926,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7929,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7930,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7931,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7932,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7935,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7935,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7936,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7939,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7940,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7941,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7942,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7945,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7945,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:7946,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7948,1
    - Dst: util::nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7951,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7953,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:7954,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7958,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7960,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/io.cpp:7962,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7963,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7965,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7967,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7968,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7969,1
    - Dst: util::nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7972,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7973,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7974,1
    - Dst: dynamic_cast<GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:7976,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7976,1
    - Dst: dynamic_cast<CartesianCS *>
      Src: /src/PROJ/src/iso19111/io.cpp:7977,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7977,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7978,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7980,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7980,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7983,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7984,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7986,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7988,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7988,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7991,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7994,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:7995,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:7999,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:8001,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8001,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:8001,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:8011,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:8011,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:8012,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:8014,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:8018,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:8024,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:8025,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8025,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:8026,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:8030,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:8031,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8031,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:8032,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:8039,1
    - Dst: DerivedVerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:8041,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8042,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8043,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8048,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8057,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8058,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8059,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8060,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8061,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:8065,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8065,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:8068,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:8069,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:8070,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8073,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8075,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8076,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:8079,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:8080,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8086,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8088,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8090,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8092,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8093,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8094,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8095,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8095,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:8100,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8100,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:8103,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:8104,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8106,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8107,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:8110,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8114,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/io.cpp:8114,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:8120,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8124,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8125,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:8126,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:8126,1
    - Dst: importFromWMSAUTO
      Src: /src/PROJ/src/iso19111/io.cpp:8127,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:8127,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8132,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:8137,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8141,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:8145,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:8145,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:8151,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8151,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:8151,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:8159,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8161,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:8162,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8164,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8165,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:8170,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:8170,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:8172,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:8174,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:8185,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8186,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8186,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:8189,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8204,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8212,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8214,1
    - Dst: searchObject
      Src: /src/PROJ/src/iso19111/io.cpp:8225,1
    - Dst: searchObject
      Src: /src/PROJ/src/iso19111/io.cpp:8231,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8237,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8238,1
    - Dst: searchCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8239,1
    - Dst: searchCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8240,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:8241,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:8242,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:8245,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:8246,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8247,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8248,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8249,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8249,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8266,1
    - Dst: searchObject
      Src: /src/PROJ/src/iso19111/io.cpp:8269,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8282,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8282,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8283,1
    - Dst: CompoundCRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8287,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8287,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8288,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8293,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:8356,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:8405,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:8406,1
    - Dst: get_cpp_context
      Src: /src/PROJ/src/iso19111/io.cpp:8408,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:8413,1
    - Dst: guessDialect
      Src: /src/PROJ/src/iso19111/io.cpp:8434,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:8437,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:8445,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8447,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8448,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8449,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8452,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8453,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8454,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8456,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8457,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8458,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8458,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8459,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:8460,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:8461,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:8466,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8468,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8469,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8472,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8473,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8474,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8476,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8477,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8478,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8478,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8479,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8480,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8483,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:8483,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:8485,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:8486,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8488,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8489,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8490,1
    - Dst: build
      Src: /src/PROJ/src/iso19111/io.cpp:8497,1
    - Dst: build
      Src: /src/PROJ/src/iso19111/io.cpp:8500,1
    - Dst: pj_wkt1_parse
      Src: /src/PROJ/src/iso19111/io.cpp:8504,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:8505,1
    - Dst: emitGrammarError
      Src: /src/PROJ/src/iso19111/io.cpp:8506,1
    - Dst: pj_wkt2_parse
      Src: /src/PROJ/src/iso19111/io.cpp:8510,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:8511,1
    - Dst: emitGrammarError
      Src: /src/PROJ/src/iso19111/io.cpp:8512,1
    - Dst: std::string::find_first_not_of
      Src: /src/PROJ/src/iso19111/io.cpp:8540,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:8542,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8544,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8551,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8553,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8554,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8555,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8556,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8562,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8583,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8585,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8595,1
    - Dst: WKTConstants::constants
      Src: /src/PROJ/src/iso19111/io.cpp:8600,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8601,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8602,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8602,1
    - Dst: isspace
      Src: /src/PROJ/src/iso19111/io.cpp:8604,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:8604,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:8639,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:8645,1
    - Dst: dynamic_cast<const crs::CRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:8673,1
    - Dst: setCRSExport
      Src: /src/PROJ/src/iso19111/io.cpp:8675,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:8677,1
    - Dst: getAddNoDefs
      Src: /src/PROJ/src/iso19111/io.cpp:8678,1
    - Dst: hasParam
      Src: /src/PROJ/src/iso19111/io.cpp:8679,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:8680,1
    - Dst: hasParam
      Src: /src/PROJ/src/iso19111/io.cpp:8684,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:8685,1
    - Dst: setCRSExport
      Src: /src/PROJ/src/iso19111/io.cpp:8687,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:8689,1
    - Dst: InversionStackElt
      Src: /src/PROJ/src/iso19111/io.cpp:8765,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:8797,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8825,1
    - Dst: PROJStringFormatter::make_unique<PROJStringFormatter>
      Src: /src/PROJ/src/iso19111/io.cpp:8825,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:8871,1
    - Dst: inversionStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:8871,1
    - Dst: result_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:8873,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/io.cpp:8880,1
    - Dst: paramValues::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8880,1
    - Dst: paramValues::end
      Src: /src/PROJ/src/iso19111/io.cpp:8880,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8887,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:8887,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:8890,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8892,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8893,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8894,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8896,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8897,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8898,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8899,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8900,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:8901,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8904,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8905,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:8907,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8916,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:8917,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:8928,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8932,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8933,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8940,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:8942,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8948,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8955,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8956,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8957,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8963,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8964,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8965,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8971,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8972,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8973,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8974,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8975,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8976,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8988,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:8989,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:8992,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:8994,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8994,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:8995,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:8999,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9000,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9003,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9003,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9004,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9005,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9006,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9006,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9012,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9012,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9014,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9015,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9024,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9035,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9044,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9045,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9046,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9047,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9050,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9059,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9060,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9061,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9062,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9065,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9074,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9075,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9076,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9077,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9078,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9079,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9080,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9081,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9086,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9091,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9092,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9093,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9094,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9105,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9106,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9107,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9108,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9109,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9110,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9117,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9118,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9119,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9120,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9121,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9122,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9123,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9124,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9125,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9127,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9144,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9145,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9146,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9147,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9148,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9149,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9150,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9151,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9157,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9158,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9159,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9160,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9161,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9162,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9164,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9180,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9181,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9182,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9183,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9184,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9185,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9186,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9187,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9194,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9195,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9196,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9197,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9197,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9198,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9199,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9200,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9201,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9203,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9213,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9214,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9215,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9216,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9217,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9218,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9219,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9220,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9227,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9228,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9229,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9230,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9230,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9231,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9232,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9233,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9234,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9236,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9246,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9247,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9248,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9249,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9250,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9251,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9252,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9253,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9260,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9261,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9262,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9263,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9263,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9264,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9265,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9266,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9267,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9269,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9289,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9290,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9291,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9292,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9293,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9294,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9295,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9296,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9297,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9298,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9306,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9307,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9308,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9309,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9309,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9310,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9311,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9312,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9313,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9315,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9327,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9328,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9329,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9330,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9331,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9332,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9333,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9334,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9335,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9336,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9345,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9346,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9347,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9348,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9348,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9349,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9350,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9351,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9352,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9354,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9361,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9361,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9364,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9365,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:9368,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9377,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9378,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9379,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9387,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9389,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9390,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9399,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9401,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9403,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9405,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9414,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9416,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9417,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9419,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9422,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9424,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9430,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9430,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9433,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9434,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9437,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9438,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9439,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9440,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9445,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9446,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9447,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9458,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9459,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9460,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9463,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9472,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9473,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9474,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9477,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9489,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9490,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9491,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9492,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9493,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9504,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9507,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9515,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9515,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9516,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9516,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9517,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9517,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9518,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9518,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9519,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9519,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9520,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9520,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9531,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9535,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:9535,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9537,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:9537,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9539,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:9539,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9542,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9557,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9561,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9575,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9576,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9585,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9605,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9609,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9628,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9629,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9647,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9667,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9669,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/io.cpp:9680,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9689,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9690,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9691,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9693,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9710,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9720,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9721,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9724,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:9726,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9726,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9727,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9731,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9732,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9743,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9743,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9746,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9750,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9754,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9755,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9756,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9758,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9760,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9764,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9765,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9766,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9766,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9786,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9787,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9789,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9790,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9792,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9795,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9796,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9797,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9799,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9802,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9807,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9808,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9810,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9813,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9818,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9819,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9820,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9822,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9826,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9832,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9835,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9840,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9841,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9842,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9844,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9847,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9852,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9853,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9855,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9858,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9863,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9864,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9865,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9871,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9872,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9872,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9873,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9894,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9897,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9898,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9899,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9902,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9906,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9909,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9914,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9915,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9916,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9918,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9921,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9926,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9927,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9929,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9933,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9938,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9939,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9940,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9942,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9945,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9950,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9951,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9953,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9956,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9961,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9963,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9964,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9972,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9973,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9973,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:9974,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9976,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9986,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9987,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9990,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:9992,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9992,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9993,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9997,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9998,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:10001,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:10001,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10002,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:10003,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10004,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:10004,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:10011,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:10012,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:10013,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:10029,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:10038,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:10039,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:10040,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:10040,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:10041,1
    - Dst: globalParamValues_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10042,1
    - Dst: appendToResult
      Src: /src/PROJ/src/iso19111/io.cpp:10043,1
    - Dst: appendToResult
      Src: /src/PROJ/src/iso19111/io.cpp:10046,1
    - Dst: auto::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10048,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:10051,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10062,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10064,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:10064,1
    - Dst: auto::name::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10075,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10076,1
    - Dst: auto::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10084,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:10087,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:10090,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:10090,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:10091,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10092,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10095,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:10095,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10097,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10100,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10105,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10110,1
    - Dst: appendToResult
      Src: /src/PROJ/src/iso19111/io.cpp:10111,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:10130,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10147,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10168,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:10169,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:10170,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:10171,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:10175,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:10176,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:10177,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10178,1
    - Dst: pj_trim_argc
      Src: /src/PROJ/src/iso19111/io.cpp:10182,1
    - Dst: pj_trim_argv
      Src: /src/PROJ/src/iso19111/io.cpp:10183,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10188,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10190,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10193,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/io.cpp:10195,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10199,1
    - Dst: Step
      Src: /src/PROJ/src/iso19111/io.cpp:10199,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10203,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10204,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10204,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10205,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10206,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10206,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10207,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10207,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10208,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10209,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10210,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10210,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10211,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10211,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10212,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10214,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10215,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10217,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10218,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10218,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:10220,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10221,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10225,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10225,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10226,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10227,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10228,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10228,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10230,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10230,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10230,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10242,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10247,1
    - Dst: auto::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10249,1
    - Dst: Step
      Src: /src/PROJ/src/iso19111/io.cpp:10249,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10251,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10254,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10256,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10256,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10257,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10257,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10258,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10258,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10259,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10259,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10260,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10260,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10261,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10261,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10262,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10262,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10263,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10263,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10264,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10265,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10266,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10266,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:10268,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10269,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10271,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10271,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10272,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10273,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10274,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10274,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:10276,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10276,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10276,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10280,1
    - Dst: std::reverse
      Src: /src/PROJ/src/iso19111/io.cpp:10284,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10284,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:10284,1
    - Dst: PROJStringSyntaxParser
      Src: /src/PROJ/src/iso19111/io.cpp:10295,1
    - Dst: steps_::insert
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10311,1
    - Dst: steps_::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10312,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10319,1
    - Dst: inversionStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10320,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10326,1
    - Dst: inversionStack_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10326,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10327,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10328,1
    - Dst: steps_::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10329,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10335,1
    - Dst: std::reverse
      Src: /src/PROJ/src/iso19111/io.cpp:10345,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10345,1
    - Dst: inversionStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:10346,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10352,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10357,1
    - Dst: Step
      Src: /src/PROJ/src/iso19111/io.cpp:10357,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10362,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10363,1
    - Dst: assign
      Src: /src/PROJ/src/iso19111/io.cpp:10363,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10369,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10370,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10376,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10376,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10377,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10383,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10384,1
    - Dst: auto::keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10385,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10404,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10405,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10407,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10407,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10407,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10413,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10413,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10417,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:10417,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/io.cpp:10423,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:10423,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:10429,1
    - Dst: normalizeSerializedString
      Src: /src/PROJ/src/iso19111/io.cpp:10431,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:10431,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10437,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10442,1
    - Dst: normalizeSerializedString
      Src: /src/PROJ/src/iso19111/io.cpp:10443,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:10443,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10445,1
    - Dst: formatToString
      Src: /src/PROJ/src/iso19111/io.cpp:10445,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:10454,1
    - Dst: formatToString
      Src: /src/PROJ/src/iso19111/io.cpp:10458,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10460,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10466,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10466,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10471,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10471,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10476,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10476,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10483,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10484,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10486,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10486,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10486,1
    - Dst: auto*::keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10508,1
    - Dst: auto*::keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10508,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:10509,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:10511,1
    - Dst: auto*::keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10525,1
    - Dst: auto*::keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10531,1
    - Dst: auto*::keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10537,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10597,1
    - Dst: omitZUnitConversion_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10610,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10616,1
    - Dst: omitZUnitConversion_::size
      Src: /src/PROJ/src/iso19111/io.cpp:10616,1
    - Dst: omitZUnitConversion_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:10617,1
    - Dst: omitZUnitConversion_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10623,1
    - Dst: omitHorizontalConversionInVertTransformation_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10629,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10635,1
    - Dst: omitHorizontalConversionInVertTransformation_::size
      Src: /src/PROJ/src/iso19111/io.cpp:10635,1
    - Dst: omitHorizontalConversionInVertTransformation_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:10636,1
    - Dst: omitHorizontalConversionInVertTransformation_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10642,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10700,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10706,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10718,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10730,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10736,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10746,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10746,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:10756,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:10798,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:10896,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:10896,1
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/io.cpp:10910,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/io.cpp:10910,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/io.cpp:10912,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:10914,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:10915,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10917,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10925,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:10927,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:10939,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10940,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:10941,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10943,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:10948,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10949,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:10952,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10954,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:10956,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:10958,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:10963,1
    - Dst: getMappingsFromPROJName
      Src: /src/PROJ/src/iso19111/io.cpp:11021,1
    - Dst: proj_list_operations
      Src: /src/PROJ/src/iso19111/io.cpp:11032,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11044,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11052,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11053,1
    - Dst: dmstor
      Src: /src/PROJ/src/iso19111/io.cpp:11055,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11055,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11057,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11057,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11058,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/src/iso19111/io.cpp:11065,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/iso19111/io.cpp:11070,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/io.cpp:11070,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:11071,1
    - Dst: dmstor
      Src: /src/PROJ/src/iso19111/io.cpp:11072,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11074,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11075,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11076,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11081,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11092,1
    - Dst: get_cpp_context
      Src: /src/PROJ/src/iso19111/io.cpp:11095,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11097,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11108,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11109,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11110,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11111,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11112,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11113,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11114,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11115,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11116,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11123,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11123,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11123,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11125,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11125,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11131,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11133,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11134,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11136,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11138,1
    - Dst: PrimeMeridianNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:11149,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:11149,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11152,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11153,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11155,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11157,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/io.cpp:11157,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11162,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11165,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11167,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11169,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11169,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11170,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11170,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11171,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11172,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11173,1
    - Dst: fixupPrimeMeridan
      Src: /src/PROJ/src/iso19111/io.cpp:11174,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11177,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11181,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11183,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11185,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11192,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11193,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11200,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11200,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11201,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11202,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11212,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11217,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11218,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11221,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11225,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11226,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11227,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11227,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11233,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11234,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11235,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11235,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/iso19111/io.cpp:11241,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11244,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:11244,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11246,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11248,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:11249,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11251,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11253,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11254,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11256,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11256,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11259,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:11259,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11261,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11263,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11264,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11266,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11266,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11269,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11270,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11271,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11272,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:11277,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11280,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11286,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11287,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11288,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11290,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11294,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11296,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11298,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11306,1
    - Dst: EllipsoidPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11307,1
    - Dst: EllipsoidPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11309,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11316,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11317,1
    - Dst: fixupPrimeMeridan
      Src: /src/PROJ/src/iso19111/io.cpp:11318,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11321,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11322,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11324,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11326,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11330,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11330,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11330,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11331,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11331,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11333,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11336,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11337,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11339,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11341,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11344,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11345,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11345,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11345,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11346,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11348,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11351,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11354,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11356,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11358,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11359,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11359,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11360,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11360,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11362,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11365,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11368,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11370,1
    - Dst: asin
      Src: /src/PROJ/src/iso19111/io.cpp:11372,1
    - Dst: cos
      Src: /src/PROJ/src/iso19111/io.cpp:11373,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11374,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11375,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11375,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11376,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11376,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11378,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11381,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11384,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11386,1
    - Dst: sqrt
      Src: /src/PROJ/src/iso19111/io.cpp:11388,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11389,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11390,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11390,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11391,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11391,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11393,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11397,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11397,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11397,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11398,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11399,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11399,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11400,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11400,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11401,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11404,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11404,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11405,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11408,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11408,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11409,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11412,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11412,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11413,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11416,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11416,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11417,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11420,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11420,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11421,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11424,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:11435,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11436,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11445,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11445,1
    - Dst: UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/io.cpp:11447,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11448,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11460,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11464,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11464,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11479,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11483,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11483,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11485,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11485,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11489,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11494,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11498,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11503,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11508,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11509,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11510,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11521,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11525,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11529,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:11530,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11531,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11532,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11535,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11548,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11552,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:11553,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:11554,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11564,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11565,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11570,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11571,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11573,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11576,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11578,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11578,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11580,1
    - Dst: processAxisSwap
      Src: /src/PROJ/src/iso19111/io.cpp:11589,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:11591,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11592,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11595,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11597,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11598,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11598,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11599,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11600,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11608,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11609,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11614,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11615,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11617,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11620,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11622,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11622,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11624,1
    - Dst: processAxisSwap
      Src: /src/PROJ/src/iso19111/io.cpp:11633,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11636,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11644,1
    - Dst: isGeographicStep
      Src: /src/PROJ/src/iso19111/io.cpp:11659,1
    - Dst: ignoreRetVal
      Src: /src/PROJ/src/iso19111/io.cpp:11664,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11664,1
    - Dst: buildDatum
      Src: /src/PROJ/src/iso19111/io.cpp:11666,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11668,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11669,1
    - Dst: hasUnusedParameters
      Src: /src/PROJ/src/iso19111/io.cpp:11672,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:11673,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11673,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:11674,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:11676,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11678,1
    - Dst: buildEllipsoidalCS
      Src: /src/PROJ/src/iso19111/io.cpp:11680,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11682,1
    - Dst: buildSphericalCS
      Src: /src/PROJ/src/iso19111/io.cpp:11685,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11687,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11697,1
    - Dst: isGeocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:11697,1
    - Dst: isTopocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:11697,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11698,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11699,1
    - Dst: buildDatum
      Src: /src/PROJ/src/iso19111/io.cpp:11703,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11705,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11708,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11709,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11710,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11711,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11713,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11714,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11716,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11716,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11718,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11724,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:11725,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11727,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:11730,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11732,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11735,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11739,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11740,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/io.cpp:11741,1
    - Dst: hasUnusedParameters
      Src: /src/PROJ/src/iso19111/io.cpp:11743,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:11744,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11747,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11756,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11757,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11759,1
    - Dst: BoundCRS::createFromNadgrids
      Src: /src/PROJ/src/iso19111/io.cpp:11760,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11761,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:11763,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:11766,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11766,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11768,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:11772,1
    - Dst: toWGS84AutocorrectWrongValues
      Src: /src/PROJ/src/iso19111/io.cpp:11773,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11778,1
    - Dst: Step::KeyValue::value::clear
      Src: /src/PROJ/src/iso19111/io.cpp:11779,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:11783,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/src/iso19111/io.cpp:11791,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11794,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11795,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11796,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11797,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11800,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11803,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11803,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:11804,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11807,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11808,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:11812,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:11814,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:11817,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:11817,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:11820,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11820,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/io.cpp:11824,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11825,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11826,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11827,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11828,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11830,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11832,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:11833,1
    - Dst: EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/io.cpp:11835,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11839,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/io.cpp:11844,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11845,1
    - Dst: CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11846,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11848,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11848,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:11849,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:11852,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11853,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11855,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11855,1
    - Dst: dmstor
      Src: /src/PROJ/src/iso19111/io.cpp:11867,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11867,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11868,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11868,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11881,1
    - Dst: strstr
      Src: /src/PROJ/src/iso19111/io.cpp:11885,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11885,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11889,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11889,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11891,1
    - Dst: getMappingsFromPROJName
      Src: /src/PROJ/src/iso19111/io.cpp:11902,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11903,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11906,1
    - Dst: strchr
      Src: /src/PROJ/src/iso19111/io.cpp:11914,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11915,1
    - Dst: strchr
      Src: /src/PROJ/src/iso19111/io.cpp:11920,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:11921,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11922,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11923,1
    - Dst: selectSphericalOrEllipsoidal
      Src: /src/PROJ/src/iso19111/io.cpp:11936,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11939,1
    - Dst: isProjectedStep
      Src: /src/PROJ/src/iso19111/io.cpp:11939,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11940,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11941,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:11945,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:11946,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11948,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11957,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11959,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11961,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11963,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11965,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11966,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11967,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:11968,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11969,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11969,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11969,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:11974,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:11974,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11976,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11978,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11981,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:11981,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11982,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11985,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11987,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11988,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11989,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11991,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11994,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11996,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11998,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11999,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12001,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12002,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12003,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12004,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12005,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12006,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12010,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12014,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12015,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12015,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12016,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12017,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12017,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12018,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12018,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12019,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12020,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12020,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12023,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12024,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12026,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12027,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12028,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12030,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12030,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12031,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12033,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12034,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12036,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12037,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12038,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12040,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12040,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12041,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12043,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12043,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12044,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12044,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12045,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12046,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12046,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12047,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12047,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12048,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12049,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:12051,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12052,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12057,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12057,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12058,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12058,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12059,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12059,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12060,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12060,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12061,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12061,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12063,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12064,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12066,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12069,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12070,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:12071,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12072,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12072,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12073,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12076,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12077,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12078,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12079,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12079,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:12080,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12081,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12083,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12088,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12091,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12094,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12097,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12097,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12103,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12104,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12105,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12106,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12106,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12107,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12107,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12107,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12108,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12111,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12112,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12112,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12112,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12114,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12117,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12120,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12123,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12126,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12126,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12134,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12135,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12135,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12136,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12137,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12137,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12138,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12142,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12145,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12146,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:12148,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12150,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12150,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12152,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:12159,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:12160,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12162,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:12165,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12168,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12172,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:12179,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/io.cpp:12182,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12182,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12183,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/src/iso19111/io.cpp:12185,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12189,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12191,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12200,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12201,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12201,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12204,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12207,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12209,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12212,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12218,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12219,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12220,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12243,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12244,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12246,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12248,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:12252,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12254,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:12257,1
    - Dst: acos
      Src: /src/PROJ/src/iso19111/io.cpp:12257,1
    - Dst: sqrt
      Src: /src/PROJ/src/iso19111/io.cpp:12257,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12261,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12270,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12271,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12274,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12275,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12278,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:12279,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:12284,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12286,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:12286,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:12287,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12289,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12289,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12290,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12299,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12300,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12301,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12302,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:12305,1
    - Dst: is_in_stringlist
      Src: /src/PROJ/src/iso19111/io.cpp:12313,1
    - Dst: auto*::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12319,1
    - Dst: isalpha
      Src: /src/PROJ/src/iso19111/io.cpp:12321,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12324,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:12324,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12325,1
    - Dst: is_in_stringlist
      Src: /src/PROJ/src/iso19111/io.cpp:12327,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12328,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12329,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12329,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12330,1
    - Dst: is_in_stringlist
      Src: /src/PROJ/src/iso19111/io.cpp:12331,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12341,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12342,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12342,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12343,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12345,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12346,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12346,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12347,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12350,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:12354,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12356,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12363,1
    - Dst: util::nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:12365,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12367,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12368,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12370,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12370,1
    - Dst: buildEllipsoidalCS
      Src: /src/PROJ/src/iso19111/io.cpp:12371,1
    - Dst: processAxisSwap
      Src: /src/PROJ/src/iso19111/io.cpp:12379,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:12381,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12382,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12383,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12385,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12386,1
    - Dst: isTopocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:12388,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12389,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:12391,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:12392,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:12393,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12396,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12397,1
    - Dst: hasUnusedParameters
      Src: /src/PROJ/src/iso19111/io.cpp:12398,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12399,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12402,1
    - Dst: createPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:12406,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12407,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12408,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12408,1
    - Dst: CRSNNPtr::domains
      Src: /src/PROJ/src/iso19111/io.cpp:12421,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12422,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/io.cpp:12423,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12438,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12461,1
    - Dst: steps_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12465,1
    - Dst: title_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12466,1
    - Dst: globalParamValues_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12467,1
    - Dst: PROJStringSyntaxParser
      Src: /src/PROJ/src/iso19111/io.cpp:12469,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12472,1
    - Dst: getGlobalParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12473,1
    - Dst: getGlobalParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12474,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12475,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12475,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12477,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12478,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12479,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12481,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12482,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12483,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:12486,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:12486,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12487,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:12488,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:12489,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12490,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12496,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12497,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12498,1
    - Dst: isGeocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:12499,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12502,1
    - Dst: isTopocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:12502,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12503,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12506,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:12509,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12511,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12518,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12519,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/src/iso19111/io.cpp:12542,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12545,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:12551,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:12551,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/iso19111/io.cpp:12553,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12553,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:12557,1
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:12558,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:12558,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12573,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12574,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12575,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:12575,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12578,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/io.cpp:12580,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12582,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12584,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:12586,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:12588,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12590,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/io.cpp:12591,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:12592,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12593,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/io.cpp:12594,1
    - Dst: "EllipsoidalCS::\n                                      createLongitudeLatitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/io.cpp:12596,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12599,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:12599,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:12601,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/io.cpp:12604,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:12605,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12607,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12608,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:12609,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:12610,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:12610,1
    - Dst: dynamic_cast<IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/io.cpp:12618,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12621,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12624,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12627,1
    - Dst: Step::KeyValue::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12631,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12633,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:12638,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/io.cpp:12639,1
    - Dst: createFromPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:12640,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/iso19111/io.cpp:12645,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12645,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12647,1
    - Dst: pj_expand_init
      Src: /src/PROJ/src/iso19111/io.cpp:12650,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/io.cpp:12653,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12654,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12657,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12659,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12664,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12670,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/io.cpp:12677,1
    - Dst: Step::KeyValue::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12683,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12685,1
    - Dst: createFromPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:12690,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12701,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:12702,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12702,1
    - Dst: isGeographicStep
      Src: /src/PROJ/src/iso19111/io.cpp:12704,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12713,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12722,1
    - Dst: isProjectedStep
      Src: /src/PROJ/src/iso19111/io.cpp:12731,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12743,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12745,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12746,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12747,1
    - Dst: getGlobalParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12747,1
    - Dst: static_cast<Logger *>
      Src: /src/PROJ/src/iso19111/io.cpp:12765,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:12775,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12777,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/iso19111/io.cpp:12783,1
    - Dst: proj_log_func
      Src: /src/PROJ/src/iso19111/io.cpp:12784,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/iso19111/io.cpp:12787,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/iso19111/io.cpp:12790,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:12791,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12791,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/iso19111/io.cpp:12799,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12804,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/io.cpp:12811,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/io.cpp:12811,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:12814,1
    - Dst: strchr
      Src: /src/PROJ/src/iso19111/io.cpp:12821,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:12822,1
    - Dst: key::size
      Src: /src/PROJ/src/iso19111/io.cpp:12823,1
    - Dst: memcmp
      Src: /src/PROJ/src/iso19111/io.cpp:12824,1
    - Dst: key::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12824,1
    - Dst: key::size
      Src: /src/PROJ/src/iso19111/io.cpp:12824,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/io.cpp:12829,1
    - Dst: key::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12829,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12837,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12844,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:12847,1
    - Dst: projString_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12849,1
    - Dst: auto::name::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12850,1
    - Dst: projString_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12855,1
    - Dst: std::string*::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12860,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12863,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12868,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/io.cpp:12871,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:12872,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/iso19111/io.cpp:12873,1
    - Dst: Logger::msg::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12874,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:12878,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12882,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12886,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12892,1
    - Dst: buildGeocentricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12893,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12893,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12898,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12906,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12908,1
    - Dst: buildGeocentricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12908,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12910,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12922,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12923,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12926,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12937,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12939,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12941,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12954,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12960,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12961,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12962,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/src/iso19111/io.cpp:12964,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12984,1
    - Dst: pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:12987,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:13001,1
    - Dst: JSONFormatter::make_unique<JSONFormatter>
      Src: /src/PROJ/src/iso19111/io.cpp:13001,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:13002,1
    - Dst: writer_::SetPrettyFormatting
      Src: /src/PROJ/src/iso19111/io.cpp:13010,1
    - Dst: writer_::SetIndentationSize
      Src: /src/PROJ/src/iso19111/io.cpp:13019,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:13038,1
    - Dst: outputIdStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:13056,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/io.cpp:13061,1
    - Dst: outputIdStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:13062,1
    - Dst: d::writer_::StartObj
      Src: /src/PROJ/src/iso19111/io.cpp:13082,1
    - Dst: d::outputIdStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:13083,1
    - Dst: d::schema_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:13084,1
    - Dst: d::writer_::AddObjKey
      Src: /src/PROJ/src/iso19111/io.cpp:13085,1
    - Dst: d::writer_::Add
      Src: /src/PROJ/src/iso19111/io.cpp:13086,1
    - Dst: d::writer_::AddObjKey
      Src: /src/PROJ/src/iso19111/io.cpp:13089,1
    - Dst: d::writer_::Add
      Src: /src/PROJ/src/iso19111/io.cpp:13090,1
    - Dst: d::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:13096,1
    - Dst: d::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:13099,1
    - Dst: d::stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:13100,1
    - Dst: d::stackHasId_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:13103,1
    - Dst: d::stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:13104,1
    - Dst: d::writer_::EndObj
      Src: /src/PROJ/src/iso19111/io.cpp:13110,1
    - Dst: d::stackHasId_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:13111,1
    - Dst: d::popOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:13112,1
    - Dst: writer_::GetString
      Src: /src/PROJ/src/iso19111/io.cpp:13146,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/io.cpp:13157,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:13158,1
    CyclomaticComplexity: 2938
    EdgeCount: 2938
    ICount: 5996
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (indexEndChild > i)
      pos:
        line_end: 1190
        line_start: 1190
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!isNull(baseGeodCRSNode))
      pos:
        line_end: 3424
        line_start: 3424
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->indentLevel_ > 0)
      pos:
        line_end: 509
        line_start: 509
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->omitHorizontalConversionInVertTransformation_.size() > 1)
      pos:
        line_end: 10634
        line_start: 10634
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!isNull(baseVertCRSNode))
      pos:
        line_end: 5296
        line_start: 5296
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!d->steps_.empty())
      pos:
        line_end: 10375
        line_start: 10375
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (iterCur != steps.begin())
      pos:
        line_end: 9725
        line_start: 9725
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11940
        line_start: 11939
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11608
        line_start: 11607
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!isNull(baseEngCRSNode))
      pos:
        line_end: 5553
        line_start: 5553
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (hasProj)
      pos:
        line_end: 10204
        line_start: 10204
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!stackHasChild_.empty())
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (strncmp(proj_ellps[i].ell, "rf=", 3) == 0)
      pos:
        line_end: 11258
        line_start: 11258
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!isNull(baseCRSNode))
      pos:
        line_end: 5490
        line_start: 5490
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (isGeocentricStep(step.name) || isTopocentricStep(step.name))
      pos:
        line_end: 11696
        line_start: 11696
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!isNull(baseParamCRSNode))
      pos:
        line_end: 5615
        line_start: 5615
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->omitZUnitConversion_.size() > 1)
      pos:
        line_end: 10615
        line_start: 10615
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11698
        line_start: 11697
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (false)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->level_ > 0)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->inversionStack_.size() == 1)
      pos:
        line_end: 8870
        line_start: 8870
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11564
        line_start: 11563
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (iAxisSwap < 0 || ci_equal(steps_[iAxisSwap].name, "axisswap"))
      pos:
        line_end: 11444
        line_start: 11444
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (ci_starts_with(text, "AUTO:"))
      pos:
        line_end: 7550
        line_start: 7550
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (hasInit)
      pos:
        line_end: 10208
        line_start: 10208
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (!d->inversionStack_.empty())
      pos:
        line_end: 10325
        line_start: 10325
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->omitProjLongLatIfPossible_ ^ omit)
      pos:
        line_end: 10596
        line_start: 10596
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (isProjectedStep(step.name))
      pos:
        line_end: 11938
        line_start: 11938
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (strncmp(proj_ellps[i].major, "a=", 2) == 0)
      pos:
        line_end: 11243
        line_start: 11243
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (iterCur != steps.begin())
      pos:
        line_end: 8993
        line_start: 8993
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (wkt2_mapping)
      pos:
        line_end: 4054
        line_start: 4054
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (iterCur != steps.begin())
      pos:
        line_end: 9991
        line_start: 9991
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 13163
      start: 109
    functionDepth: 7
    functionLinenumber: 109
    functionLinenumberEnd: 13163
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::unset
    - buildCRS
    - _buildUnit
    - DatumEnsemble::ensembleNameToNonEnsembleName
    - PrimeMeridian::create
    - getExtent
    - TemporalExtent::create
    - auto::paramValues::clear
    - find_first_not_of
    - steps_::back
    - buildProjectedCRS
    - util::nn_static_pointer_cast<BaseObject>
    - projectionGetParameter
    - PROJBasedOperation::create
    - getMeasure
    - auto::getStringValue
    - AffineCS::create
    - TemporalCountCS::create
    - Ellipsoid::createSphere
    - isGeographicStep
    - getUnit
    - buildVerticalReferenceFrame
    - nn_dynamic_pointer_cast<ParametricCS>
    - ::isspace
    - std::string::resize
    - std::vector::push_back
    - isCRSURL
    - ci_find
    - normalizeSerializedString
    - auto::addChild
    - starts_with
    - auto::createGeodeticCRS
    - Conversion::createEquidistantCylindrical
    - strstr
    - clear
    - EllipsoidalCS::create
    - auto::end
    - buildTemporalDatum
    - hasWebMercPROJ4String
    - OperationParameter::create
    - std::map::end
    - d::writer_::EndObj
    - Conversion::createMollweide
    - Transformation::isGeographic3DToGravityRelatedHeight
    - proj_context_destroy
    - createLength
    - celestialBody
    - auto::code
    - PositionalAccuracy::create
    - countChildrenOfName
    - outputIdStack_::pop_back
    - value
    - std::string*::empty
    - buildId
    - auto::name
    - importFromWMSAUTO
    - omitZUnitConversion_::size
    - ArrayOfBaseObjectNNPtr::add
    - std::make_unique<Private>
    - nn_static_pointer_cast<CRS>
    - PrimeMeridianNNPtr::_isEquivalentTo
    - pj_mkparam
    - auto::promoteTo3D
    - DerivedVerticalCRS::create
    - GeographicCRSPtr::datum
    - popOutputId
    - GeographicBoundingBox::create
    - guessDialect
    - util::optional::has_value
    - auto::codeSpace
    - isdigit
    - auto::createCoordinateOperation
    - getString
    - AuthorityFactory::createUnitOfMeasure
    - omitZUnitConversion_::back
    - auto::ellipsoid
    - util::nn_static_pointer_cast<CRS>
    - DateTimeTemporalCS::create
    - fixupPrimeMeridan
    - auto::setInterpolationCRS
    - proj_errno_string
    - strchr
    - ignoreRetVal
    - Transformation::createGravityRelatedHeightToGeographic3D
    - auto::derivingConversion
    - PointMotionOperation::create
    - stackEmptyKeyword_::back
    - proj_context_use_proj4_init_rules
    - Exception
    - AxisDirection::valueOf
    - omitZUnitConversion_::push_back
    - Meridian::create
    - buildProjection
    - isGeocentricStep
    - getAngularValue
    - buildAxis
    - auto::back
    - ParametricDatum::create
    - getVersionedAuthoritiesFromName
    - isTopocentricStep
    - std::ostringstream::str
    - ParameterValue::create
    - buildDerivedVerticalCRS
    - pj_trim_argc
    - auto*::keyEquals
    - auto::is_number
    - auto::createCoordinateReferenceSystem
    - inversionStack_::push_back
    - nn_static_pointer_cast<BaseObject>
    - ArrayOfBaseObject::create
    - buildPointMotionOperation
    - auto::createPrimeMeridian
    - ConcatenatedOperation::createComputeMetadata
    - DatumEnsemble::create
    - std::map::size
    - createFromPROJString
    - util::nn_dynamic_pointer_cast<EllipsoidalCS>
    - auto::datum
    - KeyValue
    - buildDatum
    - unit
    - std::map::find
    - "EllipsoidalCS::\n                        createLongitudeLatitudeEllipsoidalHeight"
    - util::optional<RealizationMethod>
    - auto::name::empty
    - auto::keyEquals
    - globalParamValues_::clear
    - isGeodeticCRS
    - std::vector::begin
    - outputIdStack_::back
    - c_locale_stod
    - isIntegerParameter
    - auto::unit
    - identifyFromName
    - ci_less
    - DatabaseContextNNPtr::getAuthorities
    - empty
    - is_in_stringlist
    - auto::empty
    - std::vector::emplace_back
    - Conversion::createPolarStereographicVariantA
    - CRSNNPtr::domains
    - nn_dynamic_pointer_cast<SphericalCS>
    - GeographicCRSPtr::nameStr
    - CartesianCS::createGeocentric
    - UnitOfMeasure::_isEquivalentTo
    - coordinateSystem
    - emitGrammarError
    - proj_context_log_debug
    - std::locale::classic
    - PROJStringFormatter::make_unique<PROJStringFormatter>
    - conversionToSI
    - inversionStack_::empty
    - stripQuotes
    - outputUnitStack_::pop_back
    - ThrowParsingException
    - util::nn_dynamic_pointer_cast<CRS>
    - std::move
    - hasParamValue
    - std::dynamic_pointer_cast<VerticalCRS>
    - getAddNoDefs
    - auto::begin
    - dynamic_cast<GeodeticCRS *>
    - _exportToPROJString
    - std::dynamic_pointer_cast<CRS>
    - result_::empty
    - startNewChild
    - buildTransformationForBoundCRS
    - omitHorizontalConversionInVertTransformation_::back
    - buildProperties
    - steps_::end
    - DateTime::create
    - name
    - AuthorityFactory::create
    - proj_list_ellps
    - buildDerivedProjectedCRS
    - RangeMeaning::valueOf
    - buildPrimeMeridian
    - BoundCRS::createFromTOWGS84
    - dynamic_cast<crs::GeographicCRS *>
    - getParamValue
    - buildCRS<EngineeringCRS>
    - auto::datumNonNull
    - axisLinearUnitStack_::push_back
    - buildCS
    - CoordinateMetadata::create
    - ThrowNotExpectedCSType
    - auto::is_object
    - auto::createGeographicCRS
    - auto::getWKT2Type
    - deletePrevAndCurIter
    - ThrowNotEnoughChildren
    - std::string::substr
    - DatabaseContextNNPtr::getVersionedAuthoritiesFromName
    - dynamic_cast<CartesianCS *>
    - nn_dynamic_pointer_cast<CartesianCS>
    - pj_create_internal
    - BoundCRS::createFromNadgrids
    - buildCoordinateMetadata
    - std::string::empty
    - d::stackHasId_::pop_back
    - steps_::clear
    - auto::set
    - outputUnitStack_::back
    - static_cast<int>
    - yyparse
    - std::min
    - JSONFormatter::make_unique<JSONFormatter>
    - auto::find
    - dynamic_cast<EllipsoidalCS *>
    - addIndentation
    - getName
    - areEquivalentParameters
    - pushOutputId
    - util::optional<RangeMeaning>
    - stackDisableUsage_::push_back
    - children
    - auto::createObjectsFromName
    - UnitOfMeasure::UnitOfMeasure
    - Conversion::createUTM
    - getArray
    - addNewLine
    - Scale::getSIValue
    - axisAngularUnitStack_::back
    - auto::parameterValues
    - toString
    - static_cast<unsigned char>
    - d::outputIdStack_::size
    - get_cpp_context
    - std::round
    - proj_log_func
    - NN_NO_CHECK
    - EllipsoidalCS::createLatitudeLongitude
    - axisAngularUnitStack_::size
    - omitHorizontalConversionInVertTransformation_::size
    - auto::lookForChild
    - buildDerivedTemporalCRS
    - std::string::find
    - assert
    - axisAngularUnitStack_::push_back
    - util::nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - OperationParameterValue::convertFromAbridged
    - stackHasId_::push_back
    - GeographicCRSPtr::primeMeridian
    - auto::getWKT1DatumType
    - Ellipsoid::createFlattenedSphere
    - dynamic_cast<const DatumEnsemble *>
    - CompoundCRS::create
    - std::vector::erase
    - Ellipsoid::createTwoAxis
    - Measure::getSIValue
    - ParametricCS::create
    - axisAngularUnitStack_::pop_back
    - outputIdStack_::push_back
    - pj_trim_argv
    - getEPSGCode
    - util::nn_dynamic_pointer_cast<CSClass>
    - CartesianCS::createNorthPoleEastingSouthNorthingSouth
    - endNode
    - equals
    - free
    - buildEngineeringCRS
    - VerticalCS::createGravityRelatedHeight
    - guessUnitForParameter
    - Scale::Scale
    - WKTParser
    - Ellipsoid::guessBodyName
    - dynamic_cast<CRS *>
    - Identifier::isEquivalentName
    - strncmp
    - applyHorizontalBoundCRSParams
    - auto::coordinateSystem
    - auto::erase
    - SphericalCS::create
    - auto::createCoordinateSystem
    - DynamicVerticalReferenceFrame::create
    - d::pushOutputId
    - VerticalReferenceFrame::create
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - addQuotedString
    - auto*::value::empty
    - code
    - static_cast<char>
    - auto::createGeodeticDatum
    - Extent::create
    - Conversion::createTransverseMercator
    - escapeIfQuotedString
    - Step::paramValues::emplace_back
    - importFromCRSURL
    - buildEngineeringDatum
    - UnitOfMeasure::type
    - axisLinearUnitStack_::size
    - buildTemporalCRS
    - isEPSGCodeForInterpolationParameter
    - skipSpace
    - GeographicCRS::create
    - getConversion
    - primeMeridian
    - emitRecoverableMissingUNIT
    - optional<std::string>
    - assign
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - std::pair<std::string, Measure>
    - pj_double_quote_string_param_if_needed
    - stackHasId_::back
    - getObject
    - "buildDerivedCRS<DerivedParametricCRS, ParametricCRS,\n                               ParametricCS>"
    - auto::value
    - "Transformation::\n                        createGravityRelatedHeightToGeographic3D"
    - pop_back
    - std::string::c_str
    - _exportToJSON
    - auto::push_back
    - getParamValueK
    - auto*::is_object
    - EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
    - isNull
    - lookForChild
    - auto::targetCRS
    - buildGeodeticReferenceFrame
    - DerivedGeodeticCRS::create
    - auto::_isEquivalentTo
    - buildMeridian
    - buildBoundOrCompoundCRSIfNeeded
    - steps_::size
    - isProjectedStep
    - processAxisSwap
    - std::string::size
    - optional<RealizationMethod>
    - nn_dynamic_pointer_cast<TemporalCS>
    - buildDynamicGeodeticReferenceFrame
    - optional::has_value
    - PROJStringParser
    - addStep
    - DerivedProjectedCRS::create
    - buildDerivedEngineeringCRS
    - buildProjectionStandard
    - getAnchor
    - inversionStack_::pop_back
    - auto*::lookForChild
    - createGRF
    - stackHasChild_::push_back
    - getMapping
    - PROJStringSyntaxParser
    - buildObjectDomain
    - ParametricCRS::create
    - std::stoi
    - toWGS84AutocorrectWrongValues
    - auto::is_number_integer
    - inversionStack_::size
    - CRSNNPtr::nameStr
    - buildGeoidModel
    - addParam
    - abs
    - searchCRS
    - integerValue
    - std::vector::resize
    - auto::add
    - std::vector::size
    - stackEmptyKeyword_::push_back
    - Conversion::create
    - proj_context_get_use_proj4_init_rules
    - std::vector::empty
    - BoundCRS::create
    - std::vector<PositionalAccuracyNNPtr>
    - create
    - getNumber
    - std::vector::back
    - ProjectedCRS::create
    - std::string
    - writer_::SetIndentationSize
    - proj_list_operations
    - JSONParser
    - dynamic_cast<const crs::CRS *>
    - sqrt
    - InversionStackElt
    - addExtensionProj4ToProp
    - toupper
    - searchObject
    - std::make_unique<PropertyMap>
    - c_str
    - auto::paramValues::emplace_back
    - CoordinateSystemAxis::normalizeAxisName
    - pj_find_file
    - util::nn_make_shared<UnitOfMeasure>
    - outputUnitStack_::push_back
    - ParameterValue::createFilename
    - auto::countChildrenOfName
    - Scale
    - createBoundCRSSourceTransformationCRS
    - globalParamValues_::empty
    - overridePmIfNeeded
    - DerivedGeographicCRS::create
    - std::string::find_first_of
    - auto::insert
    - stackDisableUsage_::empty
    - EllipsoidalCS::createLongitudeLatitude
    - CartesianCS::createSouthPoleEastingNorthNorthingNorth
    - nn_dynamic_pointer_cast<VerticalCS>
    - getAnchorEpoch
    - auto::datumEnsemble
    - d::stackHasId_::back
    - WKTConstants::constants
    - nn_dynamic_pointer_cast<CoordinateOperation>
    - what
    - anchorDefinition
    - buildVerticalCRS
    - auto::is_string
    - buildDerivedCRS<DerivedEngineeringCRS, EngineeringCRS>
    - auto::exportToPROJString
    - ArrayOfBaseObjectNNPtr::empty
    - auto::primeMeridian
    - concat
    - util::isOfExactType<GeographicCRS>
    - setCRSExport
    - ci_equal
    - contains
    - result_::clear
    - d::popOutputId
    - PropertyMap
    - Step
    - cos
    - Measure::unit
    - Conversion::createPopularVisualisationPseudoMercator
    - std::vector<OperationParameterNNPtr>
    - SingleOperation::createPROJBased
    - CompoundCRS::createLax
    - d::writer_::AddObjKey
    - auto::identifiers
    - consumeParameters
    - auto::longitude
    - static_cast<Logger *>
    - OperationMethod::create
    - PropertyMap::PropertyMap
    - appendToResult
    - hasUnusedParameters
    - auto::coordinateOperationAccuracies
    - std::string::back
    - std::fabs
    - getMappingFromWKT1
    - std::vector::end
    - "EllipsoidalCS::\n                                      createLongitudeLatitudeEllipsoidalHeight"
    - tolower
    - ParsingException
    - WKTFormatter::make_unique<WKTFormatter>
    - GeodeticCRS::create
    - substr
    - util::nn_dynamic_pointer_cast<SphericalCS>
    - buildConversion
    - children_::push_back
    - direction
    - nn_dynamic_pointer_cast<CRS>
    - dynamic_cast<const ProjectedCRS *>
    - asDouble
    - add
    - guessBodyName
    - getExtensionProj4
    - CartesianCS::create
    - simple_max
    - deletePrevIter
    - CompoundCRSPtr::nameStr
    - proj_list_prime_meridians
    - strcmp
    - Identifier::create
    - ConcatenatedOperation::fixSteps
    - dynamic_cast<const crs::ProjectedCRS *>
    - buildEngineeringCRSFromLocalCS
    - buildConcatenatedOperation
    - paramValues::begin
    - buildParametricCRS
    - ci_starts_with
    - codeSpace
    - isalpha
    - auto::extractVerticalCRS
    - steps_::begin
    - std::string*::value::empty
    - find
    - axisLinearUnitStack_::back
    - FormattingException
    - TemporalMeasureCS::create
    - std::set::insert
    - buildSphericalCS
    - auto::nameStr
    - static_cast<size_t>
    - util::nn_dynamic_pointer_cast<BaseCRS>
    - DynamicGeodeticReferenceFrame::create
    - getUnits
    - isKnownName
    - buildCoordinateOperation
    - createFrom
    - buildDatumEnsemble
    - auto*::childrenSize
    - buildDynamicVerticalReferenceFrame
    - auto::createDatum
    - writer_::SetPrettyFormatting
    - buildTemporalCS
    - title_::clear
    - getMappingsFromESRI
    - std::string::find_first_not_of
    - getLength
    - "buildDerivedCRS<DerivedGeographicCRS, GeodeticCRS,\n                               EllipsoidalCS>"
    - steps_::empty
    - stackHasChild_::empty
    - stackHasId_::pop_back
    - auto*::contains
    - isspace
    - floor
    - VerticalExtent::create
    - key::size
    - auto::createDatumEnsemble
    - projString_::clear
    - TemporalCRS::create
    - getGlobalParamValue
    - GeographicCRSPtr::coordinateSystem
    - auto::contains
    - buildUnitInSubNode
    - writer_::GetString
    - dealWithEPSGCodeForInterpolationCRSParameter
    - Measure
    - getESRIMapping
    - buildGeodeticDatumOrDatumEnsemble
    - steps_::insert
    - util::nn_dynamic_pointer_cast<VerticalCRS>
    - auto::c_str
    - CoordinateSystemAxis::create
    - push_back
    - util::optional<common::Measure>
    - key::c_str
    - createPseudoMercator
    - buildEllipsoid
    - dynamic_cast<VerticalCRS *>
    - buildRethrow
    - WKTNode::createFrom
    - auto::method
    - auto::createEllipsoid
    - getType
    - auto::datums
    - util::nn_dynamic_pointer_cast<GeographicCRS>
    - dynamic_cast<GeographicCRS *>
    - std::atoi
    - outputId
    - proj_destroy
    - VerticalCRS::create
    - proj_log_level
    - auto::createObjectsFromNameEx
    - pj_wkt1_parse
    - children_::empty
    - replaceAll
    - util::optional<std::string>
    - begin
    - stackEmptyKeyword_::pop_back
    - std::prev
    - buildBoundCRS
    - buildParametricDatum
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - paramValues::end
    - util::nn_dynamic_pointer_cast<CartesianCS>
    - pj_wkt2_parse
    - d::schema_::empty
    - std::set::find
    - outputIdStack_::size
    - auto::resize
    - std::make_unique<WKTNode>
    - auto*::value
    - auto::parameterValueNumeric
    - auto::parameterValue
    - _exportToWKT
    - auto::valueFile
    - keyEquals
    - Step::KeyValue::value::clear
    - buildTransformation
    - getInteger
    - formatToString
    - Step::KeyValue::value::empty
    - omitHorizontalConversionInVertTransformation_::pop_back
    - buildGeodeticCRS
    - is_object
    - dmstor
    - proj_context_create
    - "buildCRS<TemporalCRS, decltype(&JSONParser::buildTemporalDatum),\n                        TemporalCS>"
    - memcmp
    - auto::createProjectedCRS
    - Logger::msg::empty
    - ingestWKTNode
    - asin
    - util::nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - getNumericValue
    - strlen
    - pj_expand_init
    - ThrowParsingExceptionMissingUNIT
    - Measure::convertToUnit
    - EngineeringDatum::create
    - auto::extractGeographicCRS
    - buildGeographicCRS
    - size
    - "buildCRS<ParametricCRS,\n                        decltype(&JSONParser::buildParametricDatum),\n
      \                       ParametricCS>"
    - Angle
    - promoteTo3D
    - auto::sourceCRS
    - Measure::value
    - outputUnitStack_::size
    - createFromURNPart
    - hasParam
    - emplace_back
    - auto::databaseContext
    - createFromUserInput
    - Length
    - parseDynamic
    - get
    - VerticalCS::create
    - ThrowMissing
    - set
    - build
    - buildParametricCS
    - auto::paramValues::size
    - getLinearUnits
    - PROJStringFormatter::create
    - std::map::insert
    - getVersionedAuthority
    - d::writer_::StartObj
    - domainOfValidity
    - auto::get
    - buildDerivedCRS<DerivedVerticalCRS, VerticalCRS, VerticalCS>
    - acos
    - axisLinearUnitStack_::pop_back
    - omitHorizontalConversionInVertTransformation_::push_back
    - title_::empty
    - std::set::end
    - buildDerivedGeodeticCRS
    - dynamic_cast<const operation::OperationParameterValue *>
    - buildDerivedCRS<DerivedTemporalCRS, TemporalCRS, TemporalCS>
    - back
    - auto::GP
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - EllipsoidPtr::nameStr
    - projString_::empty
    - UnitOfMeasure
    - getMappingsFromPROJName
    - auto::substr
    - std::ostringstream::imbue
    - optional<common::Measure>
    - ends_with
    - auto::getOfficialNameFromAlias
    - auto::as_nullable
    - sort
    - Length::getSIValue
    - ThrowNotRequiredNumberOfChildren
    - GeodeticReferenceFrame::create
    - auto*::children
    - d::stackHasId_::push_back
    - ellipsoid
    - auto::createCoordinateMetadata
    - stackHasChild_::pop_back
    - createAngle
    - GP
    - stackDisableUsage_::pop_back
    - optional::optional
    - buildUnit
    - ObjectDomain::create
    - buildEllipsoidalCS
    - OrdinalCS::create
    - auto::baseCRS
    - createMapWithUnknownName
    - end
    - nameStr
    - dynamic_cast<IPROJStringExportable *>
    - proj_context_errno
    - Transformation::create
    - EngineeringCRS::create
    - simple_min
    - std::next
    - split
    - buildParsingExceptionInvalidAxisCount
    - std::swap
    - Conversion::createPolarStereographicVariantB
    - PropertyMap::set
    - buildDerivedParametricCRS
    - CartesianCS::createWestingSouthing
    - util::nn_static_pointer_cast<GeodeticCRS>
    - auto::direction
    - ::atoi
    - ConcatenatedOperation::create
    - createAxis
    - auto::front
    - auto::size
    - std::string::clear
    - buildDerivedCRS<DerivedProjectedCRS, ProjectedCRS>
    - util::nn_dynamic_pointer_cast<VerticalCS>
    - inversionStack_::back
    - buildGeocentricCRS
    - dynamic_cast<ProjectedCRS *>
    - Conversion::createOrthographic
    - TemporalDatum::create
    - auto::value::empty
    - stackHasId_::size
    - morphNameToESRI
    - selectSphericalOrEllipsoidal
    - std::reverse
    - atoi
    - buildCompoundCRS
    - util::nn_dynamic_pointer_cast<Datum>
    - emitRecoverableWarning
    - buildProjectionFromESRI
    - auto::getSIValue
    - auto::alterAngularUnit
    - omitZUnitConversion_::pop_back
    - CartesianCS::createEastingNorthing
    - d::writer_::Add
    - startNode
    - auto::is_array
    - util::nn_dynamic_pointer_cast<Conversion>
    - auto::type
    - auto::axisList
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: IWKTExportable::~IWKTExportable()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IWKTExportable::~IWKTExportable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/io.cpp:128,1
    - Dst: WKTFormatter*::toString
      Src: /src/PROJ/src/iso19111/io.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: IWKTExportable::exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - _exportToWKT
    - WKTFormatter*::toString
    linkageType: ''
    returnType: std::string
    signature: std::string IWKTExportable::exportToWKT(WKTFormatter *formatter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:206,1
    - Dst: WKTFormatter::make_unique<WKTFormatter>
      Src: /src/PROJ/src/iso19111/io.cpp:206,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - convention
    - dbContext
    argTypes:
    - Convention
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: WKTFormatter::create
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 342
    functionsReached:
    - WKTFormatter::make_unique<WKTFormatter>
    - NN_NO_CHECK
    - std::move
    linkageType: ''
    returnType: WKTFormatterNNPtr
    signature: "WKTFormatterNNPtr WKTFormatter::create(Convention convention,\n                                       //
      cppcheck-suppress passedByValue\n                                       DatabaseContextPtr
      dbContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::create
      Src: /src/PROJ/src/iso19111/io.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - WKTFormatterNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: WKTFormatter::create
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 343
    functionsReached:
    - WKTFormatter::create
    linkageType: ''
    returnType: WKTFormatterNNPtr
    signature: WKTFormatterNNPtr WKTFormatter::create(const WKTFormatterNNPtr &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: WKTFormatter::~WKTFormatter()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::~WKTFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiLine
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: '&WKTFormatter::setMultiLine(bool multiLine) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter
    signature: WKTFormatter &WKTFormatter::setMultiLine(bool multiLine) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: '&WKTFormatter::setIndentationWidth(int width) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter
    signature: WKTFormatter &WKTFormatter::setIndentationWidth(int width) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outputAxisIn
    argTypes:
    - OutputAxisRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: '&

      WKTFormatter::setOutputAxis(OutputAxisRule outputAxisIn) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter
    signature: 'WKTFormatter &

      WKTFormatter::setOutputAxis(OutputAxisRule outputAxisIn) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - strictIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '&WKTFormatter::setStrict(bool strictIn) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter
    signature: WKTFormatter &WKTFormatter::setStrict(bool strictIn) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: WKTFormatter::isStrict
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::isStrict() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: '&

      WKTFormatter::setAllowEllipsoidalHeightAsVerticalCRS(bool allow) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter
    signature: 'WKTFormatter &

      WKTFormatter::setAllowEllipsoidalHeightAsVerticalCRS(bool allow) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: WKTFormatter::isAllowedEllipsoidalHeightAsVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::isAllowedEllipsoidalHeightAsVerticalCRS() const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: '&WKTFormatter::setAllowLINUNITNode(bool allow) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter
    signature: WKTFormatter &WKTFormatter::setAllowLINUNITNode(bool allow) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: WKTFormatter::isAllowedLINUNITNode
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::isAllowedLINUNITNode() const noexcept
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:332,1
    - Dst: axisLinearUnitStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:334,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:335,1
    - Dst: axisAngularUnitStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:337,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:338,1
    - Dst: outputIdStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:340,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:341,1
    - Dst: outputUnitStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:342,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:343,1
    - Dst: stackHasId_::size
      Src: /src/PROJ/src/iso19111/io.cpp:345,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:346,1
    - Dst: stackDisableUsage_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:347,1
    - Dst: FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:348,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 352
    functionName: '&WKTFormatter::toString() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisLinearUnitStack_::size
    - stackDisableUsage_::empty
    - outputIdStack_::size
    - stackHasId_::size
    - outputUnitStack_::size
    - FormattingException
    - axisAngularUnitStack_::size
    linkageType: ''
    returnType: std::string
    signature: std::string &WKTFormatter::toString() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:359,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - convention
    argTypes:
    - Convention
    assertStmts:
    - condition: (false)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 408
    functionName: WKTFormatter::WKTFormatter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - assert
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::WKTFormatter(Convention convention)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Exception
      Src: /src/PROJ/src/iso19111/io.cpp:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - outputIdIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: '&WKTFormatter::setOutputId(bool outputIdIn)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - Exception
    linkageType: ''
    returnType: WKTFormatter
    signature: WKTFormatter &WKTFormatter::setOutputId(bool outputIdIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: WKTFormatter::Private::addNewLine()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::Private::addNewLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:428,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: WKTFormatter::Private::addIndentation()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::Private::addIndentation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stackHasChild_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: WKTFormatter::enter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackHasChild_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::enter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:444,1
    - Dst: stackHasChild_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->level_ > 0)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: WKTFormatter::leave
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackHasChild_::pop_back
    - assert
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::leave()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: WKTFormatter::isAtTopLevel
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::isAtTopLevel() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stackHasChild_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:460,1
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:461,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:462,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:464,1
    - Dst: addNewLine
      Src: /src/PROJ/src/iso19111/io.cpp:465,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:470,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:471,1
    - Dst: addNewLine
      Src: /src/PROJ/src/iso19111/io.cpp:472,1
    - Dst: addIndentation
      Src: /src/PROJ/src/iso19111/io.cpp:474,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:478,1
    - Dst: stackHasChild_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:483,1
    - Dst: stackEmptyKeyword_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:484,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:484,1
    - Dst: WKTFormatter::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:496,1
    - Dst: WKTFormatter::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:499,1
    - Dst: stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:499,1
    - Dst: WKTFormatter::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:501,1
    - Dst: WKTFormatter::outputId
      Src: /src/PROJ/src/iso19111/io.cpp:501,1
    - Dst: stackHasId_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:504,1
    - Dst: stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:504,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 2
    argNames:
    - keyword
    - hasId
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 505
    functionName: WKTFormatter::startNode
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - WKTFormatter::outputId
    - stackHasChild_::push_back
    - WKTFormatter::pushOutputId
    - result_::empty
    - addIndentation
    - stackHasId_::back
    - stackEmptyKeyword_::push_back
    - stackHasChild_::empty
    - startNewChild
    - addNewLine
    - stackHasId_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::startNode(const std::string &keyword, bool hasId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:510,1
    - Dst: stackHasId_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:511,1
    - Dst: WKTFormatter::popOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:512,1
    - Dst: stackEmptyKeyword_::back
      Src: /src/PROJ/src/iso19111/io.cpp:514,1
    - Dst: stackEmptyKeyword_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:515,1
    - Dst: stackHasChild_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->indentLevel_ > 0)
      pos:
        line_end: 509
        line_start: 509
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: WKTFormatter::endNode
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackEmptyKeyword_::pop_back
    - stackHasChild_::pop_back
    - assert
    - WKTFormatter::popOutputId
    - stackEmptyKeyword_::back
    - stackHasId_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::endNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: '&WKTFormatter::simulCurNodeHasId()'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackHasId_::back
    linkageType: ''
    returnType: WKTFormatter
    signature: WKTFormatter &WKTFormatter::simulCurNodeHasId()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:531,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:531,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:532,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!stackHasChild_.empty())
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: WKTFormatter::Private::startNewChild()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - back
    - empty
    - assert
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::Private::startNewChild()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::addQuotedString
      Src: /src/PROJ/src/iso19111/io.cpp:541,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: WKTFormatter::addQuotedString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - WKTFormatter::addQuotedString
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::addQuotedString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:545,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: WKTFormatter::addQuotedString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - replaceAll
    - startNewChild
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::addQuotedString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: WKTFormatter::add
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - startNewChild
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::add(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:561,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: WKTFormatter::add
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - startNewChild
    - toString
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::add(int number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:570,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:574,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/io.cpp:574,1
    - Dst: isdigit
      Src: /src/PROJ/src/iso19111/io.cpp:574,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:575,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: normalizeExponent
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - isdigit
    - std::string::size
    - std::string::find
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string normalizeExponent(const std::string &in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionName: normalizeExponent
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string normalizeExponent(const std::string &in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: normalizeSerializedString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string normalizeSerializedString(const std::string &in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: startNewChild
      Src: /src/PROJ/src/iso19111/io.cpp:593,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:603,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - number
    - precision
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: WKTFormatter::add
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - replaceAll
    - std::string::find
    - startNewChild
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::add(double number, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputUnitStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outputUnitIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: WKTFormatter::pushOutputUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - outputUnitStack_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::pushOutputUnit(bool outputUnitIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputUnitStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 618
    functionName: WKTFormatter::popOutputUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - outputUnitStack_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::popOutputUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputUnitStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: WKTFormatter::outputUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - outputUnitStack_::back
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::outputUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputIdStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outputIdIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: WKTFormatter::pushOutputId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - outputIdStack_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::pushOutputId(bool outputIdIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputIdStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: WKTFormatter::popOutputId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - outputIdStack_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::popOutputId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputIdStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: WKTFormatter::outputId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - outputIdStack_::back
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::outputId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackHasId_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hasId
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: WKTFormatter::pushHasId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackHasId_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::pushHasId(bool hasId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackHasId_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 646
    functionName: WKTFormatter::popHasId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackHasId_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::popHasId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackDisableUsage_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: WKTFormatter::pushDisableUsage
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackDisableUsage_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::pushDisableUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackDisableUsage_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 654
    functionName: WKTFormatter::popDisableUsage
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackDisableUsage_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::popDisableUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::outputId
      Src: /src/PROJ/src/iso19111/io.cpp:659,1
    - Dst: stackDisableUsage_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: WKTFormatter::outputUsage
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackDisableUsage_::empty
    - WKTFormatter::outputId
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::outputUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: axisLinearUnitStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - UnitOfMeasureNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 666
    functionName: WKTFormatter::pushAxisLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisLinearUnitStack_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::pushAxisLinearUnit(const UnitOfMeasureNNPtr &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: axisLinearUnitStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: WKTFormatter::popAxisLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisLinearUnitStack_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::popAxisLinearUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: axisLinearUnitStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 675
    functionName: '&WKTFormatter::axisLinearUnit() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisLinearUnitStack_::back
    linkageType: ''
    returnType: UnitOfMeasureNNPtr
    signature: UnitOfMeasureNNPtr &WKTFormatter::axisLinearUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: axisAngularUnitStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unit
    argTypes:
    - UnitOfMeasureNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: WKTFormatter::pushAxisAngularUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisAngularUnitStack_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::pushAxisAngularUnit(const UnitOfMeasureNNPtr &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: axisAngularUnitStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 684
    functionName: WKTFormatter::popAxisAngularUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisAngularUnitStack_::pop_back
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::popAxisAngularUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: axisAngularUnitStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: '&WKTFormatter::axisAngularUnit() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - axisAngularUnitStack_::back
    linkageType: ''
    returnType: UnitOfMeasureNNPtr
    signature: UnitOfMeasureNNPtr &WKTFormatter::axisAngularUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: WKTFormatter::outputAxis
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter::OutputAxisRule
    signature: WKTFormatter::OutputAxisRule WKTFormatter::outputAxis() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 702
    functionName: WKTFormatter::outputAxisOrder
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::outputAxisOrder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 708
    functionName: WKTFormatter::primeMeridianOmittedIfGreenwich
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::primeMeridianOmittedIfGreenwich() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 714
    functionName: WKTFormatter::ellipsoidUnitOmittedIfMetre
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::ellipsoidUnitOmittedIfMetre() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: WKTFormatter::primeMeridianOrParameterUnitOmittedIfSameAsAxis
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::primeMeridianOrParameterUnitOmittedIfSameAsAxis()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 726
    functionName: WKTFormatter::outputCSUnitOnlyOnceIfSame
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::outputCSUnitOnlyOnceIfSame() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: WKTFormatter::forceUNITKeyword
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::forceUNITKeyword() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: WKTFormatter::primeMeridianInDegree
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::primeMeridianInDegree() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 744
    functionName: WKTFormatter::idOnTopLevelOnly
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::idOnTopLevelOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackHasId_::size
      Src: /src/PROJ/src/iso19111/io.cpp:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: WKTFormatter::topLevelHasId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stackHasId_::size
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::topLevelHasId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: WKTFormatter::version
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTFormatter::Version
    signature: WKTFormatter::Version WKTFormatter::version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 762
    functionName: WKTFormatter::use2019Keywords
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::use2019Keywords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: WKTFormatter::useESRIDialect
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::useESRIDialect() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: '&WKTFormatter::databaseContext() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseContextPtr
    signature: DatabaseContextPtr &WKTFormatter::databaseContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outputIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 778
    functionName: WKTFormatter::setAbridgedTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::setAbridgedTransformation(bool outputIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: WKTFormatter::abridgedTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::abridgedTransformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - useDerivingConversionIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: WKTFormatter::setUseDerivingConversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::setUseDerivingConversion(bool useDerivingConversionIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    functionName: WKTFormatter::useDerivingConversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WKTFormatter::useDerivingConversion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: WKTFormatter::setTOWGS84Parameters
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::setTOWGS84Parameters(const std::vector<double> &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: '&WKTFormatter::getTOWGS84Parameters() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> &WKTFormatter::getTOWGS84Parameters() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: WKTFormatter::setVDatumExtension
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::setVDatumExtension(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: '&WKTFormatter::getVDatumExtension() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &WKTFormatter::getVDatumExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: WKTFormatter::setHDatumExtension
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::setHDatumExtension(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: '&WKTFormatter::getHDatumExtension() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &WKTFormatter::getHDatumExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: WKTFormatter::setGeogCRSOfCompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::setGeogCRSOfCompoundCRS(const crs::GeographicCRSPtr
      &crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: '&WKTFormatter::getGeogCRSOfCompoundCRS() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crs::GeographicCRSPtr
    signature: crs::GeographicCRSPtr &WKTFormatter::getGeogCRSOfCompoundCRS() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:851,1
    - Dst: WKTFormatter::morphNameToESRI
      Src: /src/PROJ/src/iso19111/io.cpp:852,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:853,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:853,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:853,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:865,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 875
    functionName: WKTFormatter::morphNameToESRI
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 9
    functionsReached:
    - std::string::empty
    - std::string::substr
    - WKTFormatter::morphNameToESRI
    - ends_with
    - strlen
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string WKTFormatter::morphNameToESRI(const std::string &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTFormatter::startNode
      Src: /src/PROJ/src/iso19111/io.cpp:880,1
    - Dst: WKTNodeNNPtr::value
      Src: /src/PROJ/src/iso19111/io.cpp:880,1
    - Dst: WKTNodeNNPtr::children
      Src: /src/PROJ/src/iso19111/io.cpp:881,1
    - Dst: children
      Src: /src/PROJ/src/iso19111/io.cpp:882,1
    - Dst: WKTFormatter::ingestWKTNode
      Src: /src/PROJ/src/iso19111/io.cpp:883,1
    - Dst: WKTFormatter::add
      Src: /src/PROJ/src/iso19111/io.cpp:885,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/io.cpp:885,1
    - Dst: WKTFormatter::endNode
      Src: /src/PROJ/src/iso19111/io.cpp:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 889
    functionName: WKTFormatter::ingestWKTNode
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - value
    - WKTFormatter::ingestWKTNode
    - WKTFormatter::add
    - children
    - WKTFormatter::startNode
    - WKTFormatter::endNode
    - WKTNodeNNPtr::value
    - WKTNodeNNPtr::children
    linkageType: ''
    returnType: void
    signature: void WKTFormatter::ingestWKTNode(const WKTNodeNNPtr &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: isNull
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull(const WKTNodeNNPtr &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 908
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 911
    functionName: '&value() PROJ_PURE_DEFN'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &value() PROJ_PURE_DEFN
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: '&children() PROJ_PURE_DEFN'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WKTNodeNNPtr>
    signature: std::vector<WKTNodeNNPtr> &children() PROJ_PURE_DEFN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 919
    functionName: childrenSize
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t childrenSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 945
    functionName: GP
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GP()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:953,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - childName
    - occurrence
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 961
    functionName: "&\nWKTNode::Private::lookForChild(const std::string &childName,\n
      \                              int occurrence) const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: "WKTNodeNNPtr &\nWKTNode::Private::lookForChild(const std::string &childName,\n
      \                              int occurrence) const noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:966,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 972
    functionName: '&

      WKTNode::Private::lookForChild(const std::string &name) const noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: 'WKTNodeNNPtr &

      WKTNode::Private::lookForChild(const std::string &name) const noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:978,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:979,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - name
    - name2
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 984
    functionName: "&\nWKTNode::Private::lookForChild(const std::string &name,\n                               const
      std::string &name2) const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: "WKTNodeNNPtr &\nWKTNode::Private::lookForChild(const std::string &name,\n
      \                              const std::string &name2) const noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:991,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:992,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:992,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - name
    - name2
    - name3
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 997
    functionName: "&\nWKTNode::Private::lookForChild(const std::string &name,\n                               const
      std::string &name2,\n                               const std::string &name3)
      const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: "WKTNodeNNPtr &\nWKTNode::Private::lookForChild(const std::string &name,\n
      \                              const std::string &name2,\n                               const
      std::string &name3) const noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1003,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1004,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1004,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1004,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - name
    - name2
    - name3
    - name4
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: "&WKTNode::Private::lookForChild(\n    const std::string &name,
      const std::string &name2, const std::string &name3,\n    const std::string &name4)
      const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: "WKTNodeNNPtr &WKTNode::Private::lookForChild(\n    const std::string
      &name, const std::string &name2, const std::string &name3,\n    const std::string
      &name4) const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1021
    functionName: WKTNode::WKTNode
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void WKTNode::WKTNode(const std::string &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1026
    functionName: WKTNode::~WKTNode()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTNode::~WKTNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: children_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1036,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - child
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: WKTNode::addChild
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - children_::push_back
    linkageType: ''
    returnType: void
    signature: void WKTNode::addChild(WKTNodeNNPtr &&child)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1051,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - childName
    - occurrence
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: "&WKTNode::lookForChild(const std::string &childName,\n                                        int
      occurrence) const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: WKTNodePtr
    signature: "WKTNodePtr &WKTNode::lookForChild(const std::string &childName,\n
      \                                       int occurrence) const noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1071,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - childName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: WKTNode::countChildrenOfName
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - GP
    - ci_equal
    linkageType: ''
    returnType: int
    signature: int WKTNode::countChildrenOfName(const std::string &childName) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: '&WKTNode::value() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &WKTNode::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: '&WKTNode::children() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WKTNodeNNPtr>
    signature: std::vector<WKTNodeNNPtr> &WKTNode::children() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1097,1
    - Dst: ::isspace
      Src: /src/PROJ/src/iso19111/io.cpp:1097,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - str
    - start
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1101
    functionName: skipSpace
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ::isspace
    - std::string::size
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t skipSpace(const std::string &str, size_t start)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1115,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1118,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1119,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1120,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1125,1
    - Dst: ::isspace
      Src: /src/PROJ/src/iso19111/io.cpp:1128,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:1128,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1135,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1139,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1142,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1143,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1151,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1153,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1155,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1162,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1163,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1165,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1167,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1171,1
    - Dst: std::make_unique<WKTNode>
      Src: /src/PROJ/src/iso19111/io.cpp:1171,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1184,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1187,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1188,1
    - Dst: auto::addChild
      Src: /src/PROJ/src/iso19111/io.cpp:1190,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:1190,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:1191,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1193,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1194,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:1196,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1199,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1200,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 78
    argCount: 4
    argNames:
    - wkt
    - indexStart
    - recLevel
    - indexEnd
    argTypes:
    - std::string
    - size_t
    - int
    - size_t
    assertStmts:
    - condition: (indexEndChild > i)
      pos:
        line_end: 1190
        line_start: 1190
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 1204
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1204
    functionName: WKTNode::createFrom
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 7
    functionsReached:
    - ::isspace
    - auto::addChild
    - static_cast<unsigned char>
    - std::string::clear
    - ParsingException
    - std::string::substr
    - WKTNode::createFrom
    - skipSpace
    - assert
    - std::make_unique<WKTNode>
    - NN_NO_CHECK
    - std::string::size
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: "WKTNodeNNPtr WKTNode::createFrom(const std::string &wkt, size_t indexStart,\n
      \                                int recLevel, size_t &indexEnd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wkt
    - indexStart
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: WKTNode::createFrom
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 8
    functionsReached:
    - WKTNode::createFrom
    linkageType: ''
    returnType: WKTNodeNNPtr
    signature: WKTNodeNNPtr WKTNode::createFrom(const std::string &wkt, size_t indexStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1222,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:1222,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:1224,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1224,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1230
    functionName: escapeIfQuotedString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::string::back
    - std::string::size
    - replaceAll
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string escapeIfQuotedString(const std::string &str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: escapeIfQuotedString
      Src: /src/PROJ/src/iso19111/io.cpp:1238,1
    - Dst: children_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1239,1
    - Dst: WKTNode::toString
      Src: /src/PROJ/src/iso19111/io.cpp:1247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1252
    functionName: WKTNode::toString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - children_::empty
    - escapeIfQuotedString
    - WKTNode::toString
    linkageType: ''
    returnType: std::string
    signature: std::string WKTNode::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ci_less
      Src: /src/PROJ/src/iso19111/io.cpp:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: "operator()(const std::string &lhs,\n                        const
      std::string &rhs) const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ci_less
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::string &lhs,\n                        const
      std::string &rhs) const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1280
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1281
    functionName: ~Private()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Private()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1282
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1283
    functionName: '&operator=(const Private &)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Private
    signature: Private &operator=(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1474
    functionName: WKTParser::WKTParser
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void WKTParser::WKTParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1479
    functionName: WKTParser::~WKTParser()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTParser::~WKTParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - strict
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: '&WKTParser::setStrict(bool strict)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTParser
    signature: WKTParser &WKTParser::setStrict(bool strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unset
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: '&WKTParser::setUnsetIdentifiersIfIncompatibleDef(bool unset)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTParser
    signature: WKTParser &WKTParser::setUnsetIdentifiersIfIncompatibleDef(bool unset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1513
    functionName: WKTParser::warningList
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> WKTParser::warningList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1527
    functionName: WKTParser::grammarErrorList
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> WKTParser::grammarErrorList() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1534,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - errorMsg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1538
    functionName: WKTParser::Private::emitRecoverableWarning(const std::string &errorMsg)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - ParsingException
    linkageType: ''
    returnType: void
    signature: void WKTParser::Private::emitRecoverableWarning(const std::string &errorMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1546,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - errorMsg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1550
    functionName: WKTParser::Private::emitGrammarError(const std::string &errorMsg)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - ParsingException
    linkageType: ''
    returnType: void
    signature: void WKTParser::Private::emitGrammarError(const std::string &errorMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1555
    functionDepth: 2
    functionLinenumber: 1555
    functionLinenumberEnd: 1555
    functionName: asDouble
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - c_locale_stod
    linkageType: ''
    returnType: double
    signature: double asDouble(const std::string &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1560,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nodeName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1562
    functionName: ThrowNotEnoughChildren
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - concat
    - ParsingException
    linkageType: ''
    returnType: PROJ_NO_RETURN
    signature: PROJ_NO_RETURN ThrowNotEnoughChildren(const std::string &nodeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1568,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nodeName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: ThrowNotRequiredNumberOfChildren
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - concat
    - ParsingException
    linkageType: ''
    returnType: PROJ_NO_RETURN
    signature: PROJ_NO_RETURN ThrowNotRequiredNumberOfChildren(const std::string &nodeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1575,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nodeName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1576
    functionName: ThrowMissing
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - concat
    - ParsingException
    linkageType: ''
    returnType: PROJ_NO_RETURN
    signature: PROJ_NO_RETURN ThrowMissing(const std::string &nodeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1582,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - expectedCSType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1583
    functionName: ThrowNotExpectedCSType
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - concat
    - ParsingException
    linkageType: ''
    returnType: PROJ_NO_RETURN
    signature: PROJ_NO_RETURN ThrowNotExpectedCSType(const std::string &expectedCSType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exception::what
      Src: /src/PROJ/src/iso19111/io.cpp:1591,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - funcName
    - e
    argTypes:
    - char*
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1593
    functionName: buildRethrow
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::exception::what
    - ParsingException
    linkageType: ''
    returnType: ParsingException
    signature: "ParsingException buildRethrow(const char *funcName,\n                                     const
      std::exception &e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1599,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1600
    functionName: WKTParser::Private::stripQuotes(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - WKTNodeNNPtr::GP
    - stripQuotes
    linkageType: ''
    returnType: std::string
    signature: std::string WKTParser::Private::stripQuotes(const WKTNodeNNPtr &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1605,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1604
    functionDepth: 3
    functionLinenumber: 1604
    functionLinenumberEnd: 1606
    functionName: WKTParser::Private::asDouble(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - WKTNodeNNPtr::GP
    - asDouble
    linkageType: ''
    returnType: double
    signature: double WKTParser::Private::asDouble(const WKTNodeNNPtr &node)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1613,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1614,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1615,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1616,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1617,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:1618,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1619,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1619,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:1620,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1620,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:1623,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1624,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:1625,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1626,1
    - Dst: getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:1631,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1633,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1634,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1638,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1639,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1643,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1650,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1651,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1653,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:1654,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/io.cpp:1656,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:1656,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1656,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:1658,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1664,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1665,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1667,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1670,1
    - Dst: auto*::childrenSize
      Src: /src/PROJ/src/iso19111/io.cpp:1671,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1673,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1674,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1674,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1678,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1681,1
    - Dst: auto*::childrenSize
      Src: /src/PROJ/src/iso19111/io.cpp:1682,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1683,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1684,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1684,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:1687,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1689,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:1689,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:1692,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1694,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1694,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 4
    argNames:
    - parentNode
    - node
    - tolerant
    - removeInverseOf
    argTypes:
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1697
    functionName: "WKTParser::Private::buildId(const WKTNodeNNPtr &parentNode,\n                                          const
      WKTNodeNNPtr &node,\n                                          bool tolerant,
      bool removeInverseOf)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - toString
    - PropertyMap::PropertyMap
    - ci_starts_with
    - auto::c_str
    - auto::GP
    - auto::back
    - auto::substr
    - stripQuotes
    - ThrowNotEnoughChildren
    - std::move
    - PropertyMap::set
    - strlen
    - auto*::childrenSize
    - std::string::empty
    - auto*::children
    - auto::size
    - std::string::clear
    - auto::find
    - emplace_back
    - GP
    - atoi
    - starts_with
    - auto*::lookForChild
    - Identifier::create
    - auto::resize
    - auto*::value
    - getVersionedAuthority
    - auto::empty
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: IdentifierPtr
    signature: "IdentifierPtr WKTParser::Private::buildId(const WKTNodeNNPtr &parentNode,\n
      \                                         const WKTNodeNNPtr &node,\n                                          bool
      tolerant, bool removeInverseOf)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:1705,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1706,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:1708,1
    - Dst: std::make_unique<PropertyMap>
      Src: /src/PROJ/src/iso19111/io.cpp:1708,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/io.cpp:1709,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1713,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1714,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:1716,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1719,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1720,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:1721,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:1723,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1723,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1728,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1731,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1732,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1732,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:1735,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:1736,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1736,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1736,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1737,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1745,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:1746,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:1747,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:1749,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1749,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1750,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:1750,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:1751,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:1753,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1754,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:1755,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:1756,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:1756,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1761,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:1762,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1772,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:1784,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1784,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:1785,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:1786,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1789,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:1790,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/io.cpp:1794,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1795,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:1796,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1801,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1804,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1804,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:1805,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:1805,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:1807,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1811,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1812,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1815,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1816,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1817,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1818,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1819,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1820,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1822,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1822,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:1826,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1827,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:1829,1
    - Dst: buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:1830,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1832,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1833,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/io.cpp:1835,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1835,1
    - Dst: ArrayOfBaseObjectNNPtr::empty
      Src: /src/PROJ/src/iso19111/io.cpp:1838,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1839,1
    - Dst: buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:1841,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1843,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:1844,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1848,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1849,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1850,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1851,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:1852,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1853,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1855,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1855,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 95
    argCount: 3
    argNames:
    - node
    - removeInverseOf
    - hasName
    argTypes:
    - WKTNodeNNPtr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1701
    functionDepth: 2
    functionLinenumber: 1701
    functionLinenumberEnd: 1860
    functionName: "&WKTParser::Private::buildProperties(const WKTNodeNNPtr &node,\n
      \                                                bool removeInverseOf,\n                                                 bool
      hasName)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - back
    - auto::GP
    - auto::add
    - push_back
    - isNull
    - auto::back
    - NN_NO_CHECK
    - auto::substr
    - stripQuotes
    - ParsingException
    - buildId
    - std::move
    - PropertyMap::set
    - ArrayOfBaseObject::create
    - ends_with
    - auto::getOfficialNameFromAlias
    - ArrayOfBaseObjectNNPtr::add
    - strlen
    - std::string
    - ThrowNotRequiredNumberOfChildren
    - size
    - std::string::empty
    - auto*::children
    - auto::set
    - auto::size
    - std::string::clear
    - ArrayOfBaseObjectNNPtr::empty
    - concat
    - auto::find
    - ci_equal
    - std::make_unique<PropertyMap>
    - PropertyMap
    - starts_with
    - auto*::lookForChild
    - strcmp
    - Identifier::create
    - auto::resize
    - buildObjectDomain
    - auto::empty
    - WKTNodeNNPtr::GP
    - AuthorityFactory::create
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap &WKTParser::Private::buildProperties(const WKTNodeNNPtr
      &node,\n                                                 bool removeInverseOf,\n
      \                                                bool hasName)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1867,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1868,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1869,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1870,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1872,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1873,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1874,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1874,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1874,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1875,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1875,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:1876,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1877,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1878,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1879,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1880,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1883,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1883,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1888,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1889,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1890,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1891,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1893,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1893,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1896,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1897,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1898,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1901,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1902,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1903,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1904,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1906,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1906,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1907,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/io.cpp:1911,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1913,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1915,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1915,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1916,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:1918,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1921,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1921,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1925,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1927,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1929,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1935,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:1936,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:1938,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:1939,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1940,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:1944,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1947,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:1947,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/io.cpp:1948,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1950,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1951,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1955,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1957,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1958,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:1959,1
    - Dst: TemporalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:1959,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1960,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:1961,1
    - Dst: ThrowNotRequiredNumberOfChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1963,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1964,1
    - Dst: Extent::create
      Src: /src/PROJ/src/iso19111/io.cpp:1967,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/io.cpp:1971,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1864
    functionDepth: 3
    functionLinenumber: 1864
    functionLinenumberEnd: 1975
    functionName: WKTParser::Private::buildObjectDomain(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::GP
    - isNull
    - TemporalExtent::create
    - stripQuotes
    - ParsingException
    - Extent::create
    - what
    - ThrowNotRequiredNumberOfChildren
    - auto*::children
    - auto::size
    - WKTNodeNNPtr::GP
    - GeographicBoundingBox::create
    - asDouble
    - concat
    - VerticalExtent::create
    - optional::optional
    - auto*::lookForChild
    - buildUnit
    - ObjectDomain::create
    - util::nn_make_shared<UnitOfMeasure>
    - std::vector::emplace_back
    linkageType: ''
    returnType: ObjectDomainPtr
    signature: ObjectDomainPtr WKTParser::Private::buildObjectDomain(const WKTNodeNNPtr
      &node)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1981,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:1982,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1983,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:1984,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:1985,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:1985,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:1991,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1992,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1992,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:1993,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1994,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:1997,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:1997,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2000,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2001,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2002,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2003,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2007,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2007,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2010,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2015,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2016,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2025,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2025,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2026,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2027,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2030,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2031,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2032,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2033,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2037,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2037,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2041,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/io.cpp:2041,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/io.cpp:2043,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2044,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:2049,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2051,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - WKTNodeNNPtr
    - UnitOfMeasure::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 1979
    functionDepth: 3
    functionLinenumber: 1979
    functionLinenumberEnd: 2053
    functionName: "WKTParser::Private::buildUnit(const WKTNodeNNPtr &node,\n                                            UnitOfMeasure::Type
      type)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::GP
    - isNull
    - NN_NO_CHECK
    - UnitOfMeasure
    - std::fabs
    - conversionToSI
    - buildRethrow
    - stripQuotes
    - ThrowNotEnoughChildren
    - std::move
    - auto::getOfficialNameFromAlias
    - std::string
    - std::string::empty
    - auto*::children
    - auto::size
    - asDouble
    - ci_equal
    - emitRecoverableWarning
    - auto*::lookForChild
    - auto*::value
    - auto::empty
    - WKTNodeNNPtr::GP
    - AuthorityFactory::create
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure WKTParser::Private::buildUnit(const WKTNodeNNPtr &node,\n
      \                                           UnitOfMeasure::Type type)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2060,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2062,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2063,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2064,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2069,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2070,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2071,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2076,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2077,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2078,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2083,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2084,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2085,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2089,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2090,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2091,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2096,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2097,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2098,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2103,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2104,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - WKTNodeNNPtr
    - UnitOfMeasure::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2110
    functionName: "WKTParser::Private::buildUnitInSubNode(const WKTNodeNNPtr &node,\n
      \                                                    UnitOfMeasure::Type type)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - WKTNodeNNPtr::GP
    - buildUnit
    - auto*::lookForChild
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure WKTParser::Private::buildUnitInSubNode(const WKTNodeNNPtr
      &node,\n                                                     UnitOfMeasure::Type
      type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2115,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2116,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2117,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2118,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2118,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2122,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2132,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:2133,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2136,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2138,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2139,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:2141,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:2142,1
    - Dst: Length::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:2143,1
    - Dst: Scale::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:2144,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:2145,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:2148,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2114
    functionDepth: 3
    functionLinenumber: 2114
    functionLinenumberEnd: 2154
    functionName: WKTParser::Private::buildEllipsoid(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - emitRecoverableWarning
    - auto*::children
    - buildRethrow
    - auto::size
    - ThrowNotEnoughChildren
    - buildProperties
    - buildUnitInSubNode
    - auto::GP
    - asDouble
    - Length::getSIValue
    - auto*::value
    - Ellipsoid::guessBodyName
    - Scale::getSIValue
    - auto::getStringValue
    - WKTNodeNNPtr::GP
    - Ellipsoid::createSphere
    - Ellipsoid::createFlattenedSphere
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr WKTParser::Private::buildEllipsoid(const WKTNodeNNPtr
      &node)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2160,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2161,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2162,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2163,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2163,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2165,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2166,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2174,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2177,1
    - Dst: UnitOfMeasure::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:2178,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/io.cpp:2205,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/io.cpp:2209,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2211,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:2212,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2222,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2227,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2227,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2228,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2229,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2232,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2233,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2234,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:2235,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:2236,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:2236,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2238,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2242,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:2249,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2251,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - node
    - defaultAngularUnit
    argTypes:
    - WKTNodeNNPtr
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2158
    functionDepth: 3
    functionLinenumber: 2158
    functionLinenumberEnd: 2253
    functionName: "WKTParser::Private::buildPrimeMeridian(\n    const WKTNodeNNPtr
      &node, const UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - abs
    - auto::add
    - PrimeMeridian::create
    - NN_NO_CHECK
    - UnitOfMeasure::_isEquivalentTo
    - std::fabs
    - buildRethrow
    - stripQuotes
    - ThrowNotEnoughChildren
    - ArrayOfBaseObject::create
    - auto::getOfficialNameFromAlias
    - std::string
    - std::string::empty
    - auto*::children
    - auto::set
    - auto::size
    - asDouble
    - PropertyMap
    - buildProperties
    - buildUnitInSubNode
    - Identifier::create
    - auto*::value
    - auto::empty
    - WKTNodeNNPtr::GP
    - AuthorityFactory::create
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: "PrimeMeridianNNPtr WKTParser::Private::buildPrimeMeridian(\n    const
      WKTNodeNNPtr &node, const UnitOfMeasure &defaultAngularUnit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2259,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2260,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:2261,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2262,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2262,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:2264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2257
    functionDepth: 2
    functionLinenumber: 2257
    functionLinenumberEnd: 2265
    functionName: WKTParser::Private::getAnchor(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stripQuotes
    - WKTNodeNNPtr::GP
    - auto::GP
    - optional<std::string>
    linkageType: ''
    returnType: optional<std::string>
    signature: optional<std::string> WKTParser::Private::getAnchor(const WKTNodeNNPtr
      &node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2272,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2273,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2275,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2275,1
    - Dst: optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:2276,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:2277,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2279,1
    - Dst: optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:2282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2269
    functionDepth: 3
    functionLinenumber: 2269
    functionLinenumberEnd: 2283
    functionName: WKTParser::Private::getAnchorEpoch(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildRethrow
    - optional<common::Measure>
    - auto::GP
    - asDouble
    - AuthorityFactory::createUnitOfMeasure
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: optional<common::Measure>
    signature: optional<common::Measure> WKTParser::Private::getAnchorEpoch(const
      WKTNodeNNPtr &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EllipsoidNNPtr::celestialBody
      Src: /src/PROJ/src/iso19111/io.cpp:2289,1
    - Dst: PrimeMeridianNNPtr::get
      Src: /src/PROJ/src/iso19111/io.cpp:2290,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:2290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ellipsoid
    - pm
    argTypes:
    - EllipsoidNNPtr
    - PrimeMeridianNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2286
    functionDepth: 1
    functionLinenumber: 2286
    functionLinenumberEnd: 2293
    functionName: fixupPrimeMeridan
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - PrimeMeridianNNPtr::get
    - EllipsoidNNPtr::celestialBody
    - get
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: "PrimeMeridianNNPtr &\nfixupPrimeMeridan(const EllipsoidNNPtr &ellipsoid,\n
      \                 const PrimeMeridianNNPtr &pm)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2300,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2302,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2303,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:2304,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2306,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2309,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2309,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2313,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2313,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2314,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2315,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2319,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:2321,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:2322,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:2323,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2323,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2325,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2326,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/io.cpp:2328,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2329,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:2329,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2329,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:2332,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:2333,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:2333,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2340,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2341,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:2342,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2343,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:2344,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:2345,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:2346,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:2346,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:2347,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2347,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2349,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2351,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2352,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2359,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2360,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:2362,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2363,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2364,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:2364,1
    - Dst: auto::createGeodeticDatum
      Src: /src/PROJ/src/iso19111/io.cpp:2366,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:2366,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2367,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2368,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2383,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2384,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:2387,1
    - Dst: DatumEnsemble::ensembleNameToNonEnsembleName
      Src: /src/PROJ/src/iso19111/io.cpp:2388,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2389,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2391,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:2400,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2403,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2403,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2403,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2404,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2407,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:2413,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2434,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2436,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2437,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:2438,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2442,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:2443,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2446,1
    - Dst: identifyFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2447,1
    - Dst: PrimeMeridianNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2453,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2454,1
    - Dst: PrimeMeridianNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:2456,1
    - Dst: isKnownName
      Src: /src/PROJ/src/iso19111/io.cpp:2457,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2458,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:2461,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2466,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2467,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:2468,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:2469,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:2469,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2471,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:2474,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:2477,1
    - Dst: identifyFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2479,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:2482,1
    - Dst: fixupPrimeMeridan
      Src: /src/PROJ/src/iso19111/io.cpp:2484,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2486,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2487,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2488,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2489,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:2493,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2493,1
    - Dst: toWGS84AutocorrectWrongValues
      Src: /src/PROJ/src/iso19111/io.cpp:2497,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:2505,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2508,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2511,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2515,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2516,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2517,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2518,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2518,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2519,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2523,1
    - Dst: parseDynamic
      Src: /src/PROJ/src/iso19111/io.cpp:2526,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2527,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:2528,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:2529,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2533,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:2534,1
    - Dst: getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:2534,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 131
    argCount: 3
    argNames:
    - node
    - primeMeridian
    - dynamicNode
    argTypes:
    - WKTNodeNNPtr
    - PrimeMeridianNNPtr
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2297
    functionDepth: 3
    functionLinenumber: 2297
    functionLinenumberEnd: 2536
    functionName: "WKTParser::Private::buildGeodeticReferenceFrame(\n    const WKTNodeNNPtr
      &node, const PrimeMeridianNNPtr &primeMeridian,\n    const WKTNodeNNPtr &dynamicNode)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::GP
    - auto::add
    - nameStr
    - isNull
    - DatumEnsemble::ensembleNameToNonEnsembleName
    - push_back
    - NN_NO_CHECK
    - auto::code
    - auto::substr
    - buildEllipsoid
    - auto::nameStr
    - stripQuotes
    - auto::createGeodeticDatum
    - buildId
    - ParsingException
    - std::move
    - ArrayOfBaseObject::create
    - ends_with
    - getAnchorEpoch
    - auto::getOfficialNameFromAlias
    - DynamicGeodeticReferenceFrame::create
    - isKnownName
    - std::string
    - GeodeticReferenceFrame::create
    - std::string::empty
    - auto*::children
    - auto::front
    - auto::set
    - auto::size
    - WKTNodeNNPtr::GP
    - toWGS84AutocorrectWrongValues
    - PrimeMeridianNNPtr::nameStr
    - asDouble
    - auto::find
    - auto::codeSpace
    - AuthorityFactory::createUnitOfMeasure
    - ci_equal
    - auto::databaseContext
    - c_str
    - PropertyMap
    - starts_with
    - auto*::lookForChild
    - buildProperties
    - ThrowMissing
    - fixupPrimeMeridan
    - parseDynamic
    - getAnchor
    - Identifier::create
    - auto::createObjectsFromName
    - identifyFromName
    - auto::identifiers
    - auto::empty
    - Identifier::isEquivalentName
    - AuthorityFactory::create
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: "GeodeticReferenceFrameNNPtr WKTParser::Private::buildGeodeticReferenceFrame(\n
      \   const WKTNodeNNPtr &node, const PrimeMeridianNNPtr &primeMeridian,\n    const
      WKTNodeNNPtr &dynamicNode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2544,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2546,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2547,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:2548,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2551,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2554,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2555,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2555,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2556,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2557,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:2560,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2560,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2561,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:2561,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:2562,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2563,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:2566,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:2567,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2567,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2572,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2572,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:2573,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2573,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:2575,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:2575,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:2576,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:2577,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2579,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/io.cpp:2581,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:2581,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/io.cpp:2583,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2586,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2591,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2597,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2598,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2599,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:2600,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:2603,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2603,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/io.cpp:2606,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2608,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - node
    - primeMeridian
    - expectEllipsoid
    argTypes:
    - WKTNodeNNPtr
    - PrimeMeridianPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2540
    functionDepth: 2
    functionLinenumber: 2540
    functionLinenumberEnd: 2610
    functionName: "WKTParser::Private::buildDatumEnsemble(const WKTNodeNNPtr &node,\n
      \                                      const PrimeMeridianPtr &primeMeridian,\n
      \                                      bool expectEllipsoid)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::GP
    - isNull
    - NN_NO_CHECK
    - VerticalReferenceFrame::create
    - PositionalAccuracy::create
    - std::vector::empty
    - buildEllipsoid
    - buildRethrow
    - stripQuotes
    - ParsingException
    - auto::datums
    - DatumEnsemble::create
    - std::string
    - GeodeticReferenceFrame::create
    - dynamic_cast<const DatumEnsemble *>
    - auto*::children
    - auto::front
    - auto::size
    - WKTNodeNNPtr::GP
    - ci_equal
    - GP
    - optional<std::string>
    - auto*::lookForChild
    - buildProperties
    - ThrowMissing
    - auto::createObjectsFromName
    - auto::empty
    - std::vector::emplace_back
    - AuthorityFactory::create
    linkageType: ''
    returnType: DatumEnsembleNNPtr
    signature: "DatumEnsembleNNPtr WKTParser::Private::buildDatumEnsemble(const WKTNodeNNPtr
      &node,\n                                       const PrimeMeridianPtr &primeMeridian,\n
      \                                      bool expectEllipsoid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2615,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2616,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2617,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2618,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2618,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2620,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2622,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:2624,1
    - Dst: buildRethrow
      Src: /src/PROJ/src/iso19111/io.cpp:2626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2628
    functionName: WKTParser::Private::buildMeridian(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildRethrow
    - auto*::children
    - auto::size
    - ThrowNotEnoughChildren
    - buildUnitInSubNode
    - asDouble
    - auto*::value
    - WKTNodeNNPtr::GP
    - Meridian::create
    linkageType: ''
    returnType: MeridianNNPtr
    signature: MeridianNNPtr WKTParser::Private::buildMeridian(const WKTNodeNNPtr
      &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2634
    functionName: ThrowParsingExceptionMissingUNIT
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ParsingException
    linkageType: ''
    returnType: PROJ_NO_RETURN
    signature: PROJ_NO_RETURN ThrowParsingExceptionMissingUNIT()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2643,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2644,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2645,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2646,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2646,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2649,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2650,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2651,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2652,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2653,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2655,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:2658,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2660,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2661,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2664,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2665,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:2672,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:2675,1
    - Dst: CoordinateSystemAxis::normalizeAxisName
      Src: /src/PROJ/src/iso19111/io.cpp:2676,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2677,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2678,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:2679,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:2679,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2680,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:2681,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:2682,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:2682,1
    - Dst: CoordinateSystemAxis::normalizeAxisName
      Src: /src/PROJ/src/iso19111/io.cpp:2693,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2702,1
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:2703,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:2706,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:2728,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:2729,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:2732,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:2737,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2742,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2743,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2743,1
    - Dst: ThrowParsingExceptionMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2753,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2757,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2760,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2761,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2763,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2764,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2765,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2769,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2771,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2771,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2772,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2777,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2778,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2780,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2781,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2782,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2786,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2788,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2788,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2789,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:2794,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2795,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2797,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2798,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2799,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2801,1
    - Dst: RangeMeaning::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:2802,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2804,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2805,1
    - Dst: util::optional<RangeMeaning>
      Src: /src/PROJ/src/iso19111/io.cpp:2807,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:2810,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:2811,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2813,1
    - Dst: buildMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:2813,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 117
    argCount: 5
    argNames:
    - node
    - unitIn
    - unitType
    - isGeocentric
    - expectedOrderNum
    argTypes:
    - WKTNodeNNPtr
    - UnitOfMeasure
    - UnitOfMeasure::Type
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2638
    functionDepth: 3
    functionLinenumber: 2638
    functionLinenumberEnd: 2815
    functionName: "WKTParser::Private::buildAxis(const WKTNodeNNPtr &node,\n                              const
      UnitOfMeasure &unitIn,\n                              const UnitOfMeasure::Type
      &unitType,\n                              bool isGeocentric, int expectedOrderNum)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - toString
    - RangeMeaning::valueOf
    - auto::GP
    - CoordinateSystemAxis::create
    - isNull
    - std::string::back
    - ThrowNotEnoughChildren
    - std::string::substr
    - ParsingException
    - std::string::find
    - buildMeridian
    - ThrowParsingExceptionMissingUNIT
    - std::string::size
    - std::string::empty
    - auto*::children
    - auto::size
    - std::string::resize
    - concat
    - asDouble
    - GP
    - util::optional<RangeMeaning>
    - emitRecoverableWarning
    - CoordinateSystemAxis::normalizeAxisName
    - auto*::lookForChild
    - buildProperties
    - AxisDirection::valueOf
    - auto*::value
    - std::stoi
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: "CoordinateSystemAxisNNPtr WKTParser::Private::buildAxis(const WKTNodeNNPtr
      &node,\n                              const UnitOfMeasure &unitIn,\n                              const
      UnitOfMeasure::Type &unitType,\n                              bool isGeocentric,
      int expectedOrderNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2825
    functionName: ThrowParsingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ParsingException
    linkageType: ''
    returnType: PROJ_NO_RETURN
    signature: PROJ_NO_RETURN ThrowParsingException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2831,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - csType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2829
    functionDepth: 1
    functionLinenumber: 2829
    functionLinenumberEnd: 2833
    functionName: buildParsingExceptionInvalidAxisCount
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - concat
    - ParsingException
    linkageType: ''
    returnType: ParsingException
    signature: ParsingException buildParsingExceptionInvalidAxisCount(const std::string
      &csType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:2846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - parentNodeName
    - fallbackUnit
    argTypes:
    - std::string
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2847
    functionName: "WKTParser::Private::emitRecoverableMissingUNIT(\n    const std::string
      &parentNodeName, const UnitOfMeasure &fallbackUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - emitRecoverableWarning
    linkageType: ''
    returnType: void
    signature: "void WKTParser::Private::emitRecoverableMissingUNIT(\n    const std::string
      &parentNodeName, const UnitOfMeasure &fallbackUnit)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:2858,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2860,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2861,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2862,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:2863,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2864,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:2865,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:2865,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2867,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:2869,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2869,1
    - Dst: ThrowParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2871,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2871,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2872,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2876,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2881,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2884,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/io.cpp:2886,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2888,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2893,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2897,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2902,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:2903,1
    - Dst: "EllipsoidalCS::\n                        createLongitudeLatitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/io.cpp:2904,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:2906,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/io.cpp:2911,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2913,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2914,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2917,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/io.cpp:2923,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2925,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2926,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2927,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2931,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2934,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2935,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:2938,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2940,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2941,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2942,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2946,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:2948,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2949,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:2950,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2951,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2951,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2953,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:2956,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:2958,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:2965,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:2966,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2975,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2978,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2979,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:2980,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:2984,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2985,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:2986,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:2987,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:2991,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:2993,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:2996,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:3000,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3006,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3009,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3013,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:3015,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3018,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:3020,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:3021,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3023,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3025,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3029,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:3032,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3034,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:3036,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:3037,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3039,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3043,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3044,1
    - Dst: buildParsingExceptionInvalidAxisCount
      Src: /src/PROJ/src/iso19111/io.cpp:3050,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3053,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3058,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3060,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3061,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3063,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3064,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3065,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3067,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3068,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3069,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3070,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3073,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3076,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3077,1
    - Dst: emitRecoverableMissingUNIT
      Src: /src/PROJ/src/iso19111/io.cpp:3079,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:3085,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:3086,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3086,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3091,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3093,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3095,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3098,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3100,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3100,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3101,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3104,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3107,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3107,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3108,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:3108,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3109,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3112,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3116,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3118,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3120,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3123,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3125,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3127,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3131,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3133,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3136,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3137,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3138,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3140,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3142,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3144,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3145,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3146,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3146,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3147,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3151,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3154,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3156,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3158,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3160,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3162,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3164,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3167,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3167,1
    - Dst: buildParsingExceptionInvalidAxisCount
      Src: /src/PROJ/src/iso19111/io.cpp:3169,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 216
    argCount: 3
    argNames:
    - node
    - parentNode
    - defaultAngularUnit
    argTypes:
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 2851
    functionDepth: 3
    functionLinenumber: 2851
    functionLinenumberEnd: 3170
    functionName: "WKTParser::Private::buildCS(const WKTNodeNNPtr &node, /* maybe
      null */\n                            const WKTNodeNNPtr &parentNode,\n                            const
      UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap::PropertyMap
    - SphericalCS::create
    - CoordinateSystemAxis::create
    - isNull
    - CartesianCS::createGeocentric
    - buildAxis
    - UnitOfMeasure
    - EllipsoidalCS::createLatitudeLongitude
    - TemporalMeasureCS::create
    - WKTNodeNNPtr::countChildrenOfName
    - buildParsingExceptionInvalidAxisCount
    - ThrowNotEnoughChildren
    - ThrowParsingException
    - EllipsoidalCS::createLongitudeLatitude
    - ParsingException
    - std::string
    - AffineCS::create
    - TemporalCountCS::create
    - auto*::children
    - unit
    - auto::size
    - ParametricCS::create
    - concat
    - "EllipsoidalCS::\n                        createLongitudeLatitudeEllipsoidalHeight"
    - asDouble
    - emitRecoverableMissingUNIT
    - ci_equal
    - CartesianCS::create
    - GP
    - emitRecoverableWarning
    - PropertyMap
    - VerticalCS::create
    - buildUnit
    - DateTimeTemporalCS::create
    - buildUnitInSubNode
    - OrdinalCS::create
    - CartesianCS::createEastingNorthing
    - VerticalCS::createGravityRelatedHeight
    - std::vector::emplace_back
    - auto*::value
    - EllipsoidalCS::create
    - std::stoi
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: CoordinateSystemNNPtr
    signature: "CoordinateSystemNNPtr WKTParser::Private::buildCS(const WKTNodeNNPtr
      &node, /* maybe null */\n                            const WKTNodeNNPtr &parentNode,\n
      \                           const UnitOfMeasure &defaultAngularUnit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNode::Private*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3176,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3177,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3178,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3179,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3179,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3180,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - nodeP
    argTypes:
    - WKTNode::Private*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3174
    functionDepth: 2
    functionLinenumber: 3174
    functionLinenumberEnd: 3184
    functionName: WKTParser::Private::getExtensionProj4(const WKTNode::Private *nodeP)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stripQuotes
    - auto::size
    - auto::GP
    - ci_equal
    - std::string
    - WKTNode::Private*::lookForChild
    linkageType: ''
    returnType: std::string
    signature: std::string WKTParser::Private::getExtensionProj4(const WKTNode::Private
      *nodeP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3191,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:3192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nodeP
    - props
    argTypes:
    - WKTNode::Private*
    - PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3188
    functionDepth: 2
    functionLinenumber: 3188
    functionLinenumberEnd: 3194
    functionName: "WKTParser::Private::addExtensionProj4ToProp(const WKTNode::Private
      *nodeP,\n                                                 PropertyMap &props)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - PropertyMap::set
    linkageType: ''
    returnType: void
    signature: "void WKTParser::Private::addExtensionProj4ToProp(const WKTNode::Private
      *nodeP,\n                                                 PropertyMap &props)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3201,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3202,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3204,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3205,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3205,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3206,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3210,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3212,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3214,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:3215,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3216,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3216,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3217,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3218,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3219,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3220,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3224,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3225,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3227,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3228,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3229,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3234,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3234,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:3237,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3242,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:3243,1
    - Dst: auto::longitude
      Src: /src/PROJ/src/iso19111/io.cpp:3246,1
    - Dst: addExtensionProj4ToProp
      Src: /src/PROJ/src/iso19111/io.cpp:3249,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3252,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3252,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:3253,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3256,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:3256,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3262,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3262,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3262,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:3263,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3266,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:3267,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3272,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:3273,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3277,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:3278,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:3281,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3287,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3288,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:3289,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3292,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3293,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:3294,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3297,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3298,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:3298,1
    - Dst: auto::createGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3299,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:3299,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3300,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3307,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3308,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/io.cpp:3309,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3312,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3314,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3315,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3318,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3319,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:3323,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/io.cpp:3326,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3327,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3328,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:3328,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3329,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:3329,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3334,1
    - Dst: WKTNodeNNPtr::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:3335,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:3336,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3337,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3340,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3345,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3346,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3347,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3349,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3350,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3352,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3354,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3354,1
    - Dst: auto::alterAngularUnit
      Src: /src/PROJ/src/iso19111/io.cpp:3356,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:3358,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:3359,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:3361,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3366,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3367,1
    - Dst: auto::unset
      Src: /src/PROJ/src/iso19111/io.cpp:3368,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3371,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3377,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3377,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3378,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3380,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3381,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3382,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3384,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3384,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3385,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3388,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:3390,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3391,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3395,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3396,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3398,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3398,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3399,1
    - Dst: nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3403,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3406,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3407,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3409,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3409,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3410,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3414,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3415,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3415,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 99
    argCount: 2
    argNames:
    - node
    - forceGeocentricIfNoCs
    argTypes:
    - WKTNodeNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3198
    functionDepth: 2
    functionLinenumber: 3198
    functionLinenumberEnd: 3416
    functionName: "WKTParser::Private::buildGeodeticCRS(const WKTNodeNNPtr &node,\n
      \                                    bool forceGeocentricIfNoCs)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::unset
    - auto::get
    - auto::coordinateSystem
    - buildPrimeMeridian
    - nn_dynamic_pointer_cast<SphericalCS>
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - isNull
    - CartesianCS::createGeocentric
    - NN_NO_CHECK
    - auto::code
    - buildCS
    - buildGeodeticReferenceFrame
    - auto::createGeographicCRS
    - WKTNodeNNPtr::countChildrenOfName
    - auto::getWKT2Type
    - stripQuotes
    - auto::_isEquivalentTo
    - ParsingException
    - buildId
    - GeodeticCRS::create
    - auto::getOfficialNameFromAlias
    - buildDatumEnsemble
    - nn_dynamic_pointer_cast<CartesianCS>
    - std::string
    - what
    - auto*::children
    - auto::set
    - addExtensionProj4ToProp
    - WKTNodeNNPtr::GP
    - GeographicCRS::create
    - concat
    - auto::codeSpace
    - ci_equal
    - emitRecoverableWarning
    - auto::createGeodeticCRS
    - auto*::lookForChild
    - buildProperties
    - ThrowMissing
    - GeographicCRSPtr::coordinateSystem
    - auto::alterAngularUnit
    - buildUnitInSubNode
    - auto*::value
    - auto::identifiers
    - auto::empty
    - auto::type
    - AuthorityFactory::create
    - auto::longitude
    - auto::axisList
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: "GeodeticCRSNNPtr WKTParser::Private::buildGeodeticCRS(const WKTNodeNNPtr
      &node,\n                                     bool forceGeocentricIfNoCs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3421,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3422,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:3425,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3425,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3428,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3429,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3430,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:3432,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3435,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3436,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3437,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:3439,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3442,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:3444,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3445,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:3448,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3458,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3462,1
    - Dst: nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3464,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:3467,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:3468,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3470,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:3470,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:3471,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3471,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3474,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3474,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3476,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3477,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:3477,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3479,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3479,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3480,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3484,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3484,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3486,1
    - Dst: nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:3489,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:3491,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3491,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3493,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3496,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3497,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:3497,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts:
    - condition: (!isNull(baseGeodCRSNode))
      pos:
        line_end: 3424
        line_start: 3424
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 3498
      start: 3420
    functionDepth: 2
    functionLinenumber: 3420
    functionLinenumberEnd: 3498
    functionName: WKTParser::Private::buildDerivedGeodeticCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - nn_dynamic_pointer_cast<SphericalCS>
    - buildGeodeticCRS
    - nn_dynamic_pointer_cast<EllipsoidalCS>
    - isNull
    - NN_NO_CHECK
    - DerivedGeographicCRS::create
    - buildCS
    - auto::getWKT2Type
    - DerivedGeodeticCRS::create
    - auto::method
    - ParsingException
    - assert
    - buildConversion
    - nn_dynamic_pointer_cast<CartesianCS>
    - std::string
    - auto::promoteTo3D
    - concat
    - ci_equal
    - auto*::lookForChild
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - ThrowMissing
    - buildProperties
    - auto*::value
    - WKTNodeNNPtr::GP
    - auto::axisList
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr WKTParser::Private::buildDerivedGeodeticCRS(const WKTNodeNNPtr
      &node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UnitOfMeasure::UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:3505,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3507,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3508,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3510,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3511,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3512,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3513,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3514,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3515,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3516,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3517,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3519,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3520,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:3521,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 3
    argNames:
    - paramName
    - defaultLinearUnit
    - defaultAngularUnit
    argTypes:
    - std::string
    - UnitOfMeasure
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3502
    functionDepth: 2
    functionLinenumber: 3502
    functionLinenumberEnd: 3525
    functionName: "WKTParser::Private::guessUnitForParameter(\n    const std::string
      &paramName, const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure
      &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - UnitOfMeasure::UnitOfMeasure
    - ci_find
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure WKTParser::Private::guessUnitForParameter(\n    const
      std::string &paramName, const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure
      &defaultAngularUnit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:3531,1
    - Dst: OperationParameterNNPtr::getEPSGCode
      Src: /src/PROJ/src/iso19111/io.cpp:3532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - OperationParameterNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3537
    functionName: isEPSGCodeForInterpolationParameter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - OperationParameterNNPtr::getEPSGCode
    - OperationParameterNNPtr::nameStr
    linkageType: ''
    returnType: bool
    signature: bool isEPSGCodeForInterpolationParameter(const OperationParameterNNPtr
      &parameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEPSGCodeForInterpolationParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - OperationParameterNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3541
    functionDepth: 1
    functionLinenumber: 3541
    functionLinenumberEnd: 3543
    functionName: isIntegerParameter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - isEPSGCodeForInterpolationParameter
    linkageType: ''
    returnType: bool
    signature: bool isIntegerParameter(const OperationParameterNNPtr &parameter)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3553,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3554,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3555,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3555,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3556,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3557,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3557,1
    - Dst: std::vector<OperationParameterNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3559,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:3560,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3560,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3561,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3562,1
    - Dst: std::vector<ParameterValueNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3563,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:3564,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3564,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:3567,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:3568,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3571,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3572,1
    - Dst: std::vector<OperationParameterNNPtr>::back
      Src: /src/PROJ/src/iso19111/io.cpp:3577,1
    - Dst: std::vector<OperationParameterNNPtr>::back
      Src: /src/PROJ/src/iso19111/io.cpp:3579,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3580,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3581,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:3581,1
    - Dst: ::atoi
      Src: /src/PROJ/src/iso19111/io.cpp:3583,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/io.cpp:3583,1
    - Dst: OperationParameterValue::convertFromAbridged
      Src: /src/PROJ/src/iso19111/io.cpp:3586,1
    - Dst: std::vector<OperationParameterNNPtr>::back
      Src: /src/PROJ/src/iso19111/io.cpp:3589,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:3589,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3590,1
    - Dst: isIntegerParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3597,1
    - Dst: std::vector<OperationParameterNNPtr>::back
      Src: /src/PROJ/src/iso19111/io.cpp:3597,1
    - Dst: std::vector<ParameterValueNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3598,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:3598,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:3599,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3599,1
    - Dst: std::vector<ParameterValueNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3601,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:3602,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:3602,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3605,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:3605,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3609,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3609,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3611,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3612,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3612,1
    - Dst: std::vector<OperationParameterNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3614,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:3615,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3615,1
    - Dst: std::vector<ParameterValueNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3616,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:3616,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3617,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 6
    argNames:
    - node
    - isAbridged
    - parameters
    - values
    - defaultLinearUnit
    - defaultAngularUnit
    argTypes:
    - WKTNodeNNPtr
    - bool
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    - UnitOfMeasure
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3620
      start: 3547
    functionDepth: 3
    functionLinenumber: 3547
    functionLinenumberEnd: 3620
    functionName: "WKTParser::Private::consumeParameters(\n    const WKTNodeNNPtr
      &node, bool isAbridged,\n    std::vector<OperationParameterNNPtr> &parameters,\n
      \   std::vector<ParameterValueNNPtr> &values,\n    const UnitOfMeasure &defaultLinearUnit,\n
      \   const UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - codeSpace
    - code
    - ParameterValue::create
    - stripQuotes
    - ThrowNotEnoughChildren
    - ParsingException
    - OperationParameterValue::convertFromAbridged
    - ::atoi
    - auto::size
    - asDouble
    - concat
    - std::vector<OperationParameterNNPtr>::push_back
    - std::vector<OperationParameterNNPtr>::back
    - ci_equal
    - GP
    - OperationParameter::create
    - buildProperties
    - buildUnitInSubNode
    - isIntegerParameter
    - guessUnitForParameter
    - std::stoi
    - Measure
    - std::vector<ParameterValueNNPtr>::push_back
    - auto::empty
    - WKTNodeNNPtr::GP
    - ParameterValue::createFilename
    linkageType: ''
    returnType: void
    signature: "void WKTParser::Private::consumeParameters(\n    const WKTNodeNNPtr
      &node, bool isAbridged,\n    std::vector<OperationParameterNNPtr> &parameters,\n
      \   std::vector<ParameterValueNNPtr> &values,\n    const UnitOfMeasure &defaultLinearUnit,\n
      \   const UnitOfMeasure &defaultAngularUnit)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3633,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3635,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3636,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3638,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3639,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:3644,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3647,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3650,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3651,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:3654,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:3655,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:3656,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:3657,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3659,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3660,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3661,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/io.cpp:3661,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:3662,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3665,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:3668,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - node
    - defaultLinearUnit
    - defaultAngularUnit
    argTypes:
    - WKTNodeNNPtr
    - UnitOfMeasure
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3629
    functionDepth: 2
    functionLinenumber: 3629
    functionLinenumberEnd: 3672
    functionName: "WKTParser::Private::buildConversion(const WKTNodeNNPtr &node,\n
      \                                   const UnitOfMeasure &defaultLinearUnit,\n
      \                                   const UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - starts_with
    - ThrowNotEnoughChildren
    - buildProperties
    - ThrowMissing
    - auto::setInterpolationCRS
    - auto::GP
    - isNull
    - NN_NO_CHECK
    - dealWithEPSGCodeForInterpolationCRSParameter
    - Conversion::create
    - util::nn_dynamic_pointer_cast<Conversion>
    - auto::getStringValue
    - WKTNodeNNPtr::GP
    - consumeParameters
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr WKTParser::Private::buildConversion(const WKTNodeNNPtr
      &node,\n                                    const UnitOfMeasure &defaultLinearUnit,\n
      \                                   const UnitOfMeasure &defaultAngularUnit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<OperationParameterNNPtr>::size
      Src: /src/PROJ/src/iso19111/io.cpp:3683,1
    - Dst: isEPSGCodeForInterpolationParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3684,1
    - Dst: integerValue
      Src: /src/PROJ/src/iso19111/io.cpp:3685,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:3687,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3688,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3690,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:3691,1
    - Dst: std::vector<OperationParameterNNPtr>::erase
      Src: /src/PROJ/src/iso19111/io.cpp:3693,1
    - Dst: std::vector<OperationParameterNNPtr>::begin
      Src: /src/PROJ/src/iso19111/io.cpp:3693,1
    - Dst: std::vector<ParameterValueNNPtr>::erase
      Src: /src/PROJ/src/iso19111/io.cpp:3694,1
    - Dst: std::vector<ParameterValueNNPtr>::begin
      Src: /src/PROJ/src/iso19111/io.cpp:3694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - dbContext
    - parameters
    - values
    argTypes:
    - DatabaseContextPtr
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3702
      start: 3676
    functionDepth: 2
    functionLinenumber: 3676
    functionLinenumberEnd: 3702
    functionName: dealWithEPSGCodeForInterpolationCRSParameter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - std::vector<OperationParameterNNPtr>::size
    - toString
    - isEPSGCodeForInterpolationParameter
    - std::vector<OperationParameterNNPtr>::erase
    - integerValue
    - std::vector<ParameterValueNNPtr>::erase
    - NN_NO_CHECK
    - std::vector<OperationParameterNNPtr>::begin
    - AuthorityFactory::create
    - std::vector<ParameterValueNNPtr>::begin
    - auto::createGeographicCRS
    linkageType: ''
    returnType: CRSPtr
    signature: "CRSPtr dealWithEPSGCodeForInterpolationCRSParameter(\n    DatabaseContextPtr
      &dbContext,\n    std::vector<OperationParameterNNPtr> &parameters,\n    std::vector<ParameterValueNNPtr>
      &values)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3708,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3709,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3710,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3711,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3713,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3714,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3717,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3718,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3719,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3721,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3721,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3723,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3726,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3727,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3728,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3730,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3730,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3732,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3736,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3738,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3740,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3740,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:3747,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:3751,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3755,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3756,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3757,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:3757,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3758,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3758,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:3761,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3761,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3761,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3762,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3763,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3706
    functionDepth: 3
    functionLinenumber: 3706
    functionLinenumberEnd: 3765
    functionName: WKTParser::Private::buildCoordinateOperation(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildCRS
    - auto*::lookForChild
    - ThrowNotEnoughChildren
    - ThrowMissing
    - ParsingException
    - stripQuotes
    - buildProperties
    - std::vector::push_back
    - auto::GP
    - isNull
    - Transformation::create
    - dealWithEPSGCodeForInterpolationCRSParameter
    - NN_NO_CHECK
    - WKTNodeNNPtr::GP
    - PositionalAccuracy::create
    - consumeParameters
    linkageType: ''
    returnType: TransformationNNPtr
    signature: TransformationNNPtr WKTParser::Private::buildCoordinateOperation(const
      WKTNodeNNPtr &node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3771,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3772,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:3773,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3774,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3776,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3777,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3780,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3781,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3782,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3784,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3784,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3786,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:3793,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3797,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3798,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3799,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:3799,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3800,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3800,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:3803,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3804,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3804,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3806
      start: 3769
    functionDepth: 2
    functionLinenumber: 3769
    functionLinenumberEnd: 3806
    functionName: WKTParser::Private::buildPointMotionOperation(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildCRS
    - auto*::lookForChild
    - ThrowNotEnoughChildren
    - ThrowMissing
    - ParsingException
    - stripQuotes
    - buildProperties
    - std::vector::push_back
    - auto::GP
    - isNull
    - PointMotionOperation::create
    - NN_NO_CHECK
    - WKTNodeNNPtr::GP
    - PositionalAccuracy::create
    - consumeParameters
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: PointMotionOperationNNPtr WKTParser::Private::buildPointMotionOperation(const
      WKTNodeNNPtr &node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3813,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3814,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3815,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3816,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3818,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3818,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3820,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3823,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3824,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:3825,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:3827,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3827,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3829,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:3833,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3834,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3834,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3835,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3836,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/io.cpp:3838,1
    - Dst: build
      Src: /src/PROJ/src/iso19111/io.cpp:3839,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3839,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3841,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:3843,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3843,1
    - Dst: ConcatenatedOperation::fixSteps
      Src: /src/PROJ/src/iso19111/io.cpp:3847,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3848,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:3848,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3852,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3853,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:3854,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:3854,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3855,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3855,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:3859,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:3859,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:3862,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:3863,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:3863,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3865
      start: 3810
    functionDepth: 2
    functionLinenumber: 3810
    functionLinenumberEnd: 3865
    functionName: WKTParser::Private::buildConcatenatedOperation(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildCRS
    - auto::GP
    - NN_NO_CHECK
    - PositionalAccuracy::create
    - stripQuotes
    - ParsingException
    - std::string
    - nn_dynamic_pointer_cast<CoordinateOperation>
    - ConcatenatedOperation::create
    - what
    - auto*::children
    - WKTNodeNNPtr::GP
    - std::vector::push_back
    - ci_equal
    - GP
    - auto*::lookForChild
    - build
    - ThrowMissing
    - buildProperties
    - ConcatenatedOperation::fixSteps
    - std::vector::emplace_back
    linkageType: ''
    returnType: ConcatenatedOperationNNPtr
    signature: ConcatenatedOperationNNPtr WKTParser::Private::buildConcatenatedOperation(const
      WKTNodeNNPtr &node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3871,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3872,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3875,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3875,1
    - Dst: WKTNodeNNPtr::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:3877,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:3879,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:3879,1
    - Dst: WKTNodeNNPtr::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:3881,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3887,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3888,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3888,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3888,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3891,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3891,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3892,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3893,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3894,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3895,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3896,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3897,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3898,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3899,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3900,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3901,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3902,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3903,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:3904,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 12
    argCount: 2
    argNames:
    - projCRSNode
    - projectionNode
    argTypes:
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3869
    functionDepth: 3
    functionLinenumber: 3869
    functionLinenumberEnd: 3910
    functionName: "WKTParser::Private::hasWebMercPROJ4String(\n    const WKTNodeNNPtr
      &projCRSNode, const WKTNodeNNPtr &projectionNode)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - stripQuotes
    - ThrowNotEnoughChildren
    - WKTNodeNNPtr::GP
    - auto::GP
    - std::string::find
    - ci_equal
    - Identifier::isEquivalentName
    - WKTNodeNNPtr::countChildrenOfName
    - WKTNodeNNPtr::lookForChild
    linkageType: ''
    returnType: bool
    signature: "bool WKTParser::Private::hasWebMercPROJ4String(\n    const WKTNodeNNPtr
      &projCRSNode, const WKTNodeNNPtr &projectionNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:3920,1
    - Dst: GeodeticCRSNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:3921,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:3928,1
    - Dst: GeodeticCRSNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:3929,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:3936,1
    - Dst: GeodeticCRSNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:3936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - mapping
    - baseGeodCRS
    argTypes:
    - MethodMapping*
    - GeodeticCRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3914
    functionDepth: 0
    functionLinenumber: 3914
    functionLinenumberEnd: 3941
    functionName: selectSphericalOrEllipsoidal
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - GeodeticCRSNNPtr::ellipsoid
    - getMapping
    linkageType: ''
    returnType: MethodMapping
    signature: "MethodMapping *\nselectSphericalOrEllipsoidal(const MethodMapping
      *mapping,\n                             const GeodeticCRSNNPtr &baseGeodCRS)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:3949,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3949,1
    - Dst: getMappingsFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:3954,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:3955,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:3960,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:3961,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3961,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3962,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:3963,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:3964,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:3967,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::find
      Src: /src/PROJ/src/iso19111/io.cpp:3979,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::end
      Src: /src/PROJ/src/iso19111/io.cpp:3980,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:3984,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:3985,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - projCRSNode
    - projectionNode
    - mapParamNameToValue
    argTypes:
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - std::map<std::string, std::string, ci_less_struct>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3945
    functionDepth: 3
    functionLinenumber: 3945
    functionLinenumberEnd: 4014
    functionName: "*WKTParser::Private::getESRIMapping(\n    const WKTNodeNNPtr &projCRSNode,
      const WKTNodeNNPtr &projectionNode,\n    std::map<std::string, std::string,
      ci_less_struct> &mapParamNameToValue)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - getMappingsFromESRI
    - stripQuotes
    - auto::size
    - ThrowNotEnoughChildren
    - std::map<std::string, std::string, ci_less_struct>::find
    - std::map<std::string, std::string, ci_less_struct>::end
    - asDouble
    - ci_equal
    - auto::empty
    - WKTNodeNNPtr::GP
    - GP
    linkageType: ''
    returnType: ESRIMethodMapping
    signature: "ESRIMethodMapping *WKTParser::Private::getESRIMapping(\n    const
      WKTNodeNNPtr &projCRSNode, const WKTNodeNNPtr &projectionNode,\n    std::map<std::string,
      std::string, ci_less_struct> &mapParamNameToValue)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4032,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4032,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4034,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4036,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4036,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4037,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4042,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4043,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::find
      Src: /src/PROJ/src/iso19111/io.cpp:4046,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::end
      Src: /src/PROJ/src/iso19111/io.cpp:4047,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4048,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4048,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4050,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:4055,1
    - Dst: selectSphericalOrEllipsoidal
      Src: /src/PROJ/src/iso19111/io.cpp:4057,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4059,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4060,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4062,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4063,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4070,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4080,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4082,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:4093,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:4094,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::find
      Src: /src/PROJ/src/iso19111/io.cpp:4098,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::end
      Src: /src/PROJ/src/iso19111/io.cpp:4099,1
    - Dst: std::map<std::string, std::string, ci_less_struct>::begin
      Src: /src/PROJ/src/iso19111/io.cpp:4102,1
    - Dst: areEquivalentParameters
      Src: /src/PROJ/src/iso19111/io.cpp:4104,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4113,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4114,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4117,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4119,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4122,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4122,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4125,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4126,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4128,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4128,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4128,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4130,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:4131,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:4135,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4136,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 7
    argNames:
    - baseGeodCRS
    - projCRSNode
    - projectionNode
    - defaultLinearUnit
    - defaultAngularUnit
    - esriMapping
    - mapParamNameToValue
    argTypes:
    - GeodeticCRSNNPtr
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - UnitOfMeasure
    - UnitOfMeasure
    - ESRIMethodMapping*
    - std::map<std::string, std::string, ci_less_struct>
    assertStmts:
    - condition: (wkt2_mapping)
      pos:
        line_end: 4054
        line_start: 4054
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 4142
      start: 4018
    functionDepth: 3
    functionLinenumber: 4018
    functionLinenumberEnd: 4142
    functionName: "WKTParser::Private::buildProjectionFromESRI(\n    const GeodeticCRSNNPtr
      &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode,
      const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit,\n
      \   const ESRIMethodMapping *esriMapping,\n    std::map<std::string, std::string,
      ci_less_struct> &mapParamNameToValue)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - PropertyMap::PropertyMap
    - Conversion::create
    - std::fabs
    - ParameterValue::create
    - stripQuotes
    - ParsingException
    - PropertyMap::set
    - std::string::find
    - assert
    - std::map::find
    - std::vector::push_back
    - asDouble
    - concat
    - areEquivalentParameters
    - ci_equal
    - selectSphericalOrEllipsoidal
    - PropertyMap
    - std::map<std::string, std::string, ci_less_struct>::find
    - std::map<std::string, std::string, ci_less_struct>::end
    - getMapping
    - guessUnitForParameter
    - std::map<std::string, std::string, ci_less_struct>::begin
    - Measure
    - OperationParameter::create
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(\n    const
      GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr
      &projectionNode, const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure
      &defaultAngularUnit,\n    const ESRIMethodMapping *esriMapping,\n    std::map<std::string,
      std::string, ci_less_struct> &mapParamNameToValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getESRIMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4153,1
    - Dst: buildProjectionStandard
      Src: /src/PROJ/src/iso19111/io.cpp:4155,1
    - Dst: buildProjectionFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:4159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - baseGeodCRS
    - projCRSNode
    - projectionNode
    - defaultLinearUnit
    - defaultAngularUnit
    argTypes:
    - GeodeticCRSNNPtr
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - UnitOfMeasure
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4162
      start: 4146
    functionDepth: 1
    functionLinenumber: 4146
    functionLinenumberEnd: 4162
    functionName: "WKTParser::Private::buildProjectionFromESRI(\n    const GeodeticCRSNNPtr
      &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode,
      const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildProjectionStandard
    - buildProjectionFromESRI
    - getESRIMapping
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(\n    const
      GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr
      &projectionNode, const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure
      &defaultAngularUnit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4170,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:4171,1
    - Dst: buildProjectionFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:4174,1
    - Dst: buildProjectionStandard
      Src: /src/PROJ/src/iso19111/io.cpp:4177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - baseGeodCRS
    - projCRSNode
    - projectionNode
    - defaultLinearUnit
    - defaultAngularUnit
    argTypes:
    - GeodeticCRSNNPtr
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - UnitOfMeasure
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4179
      start: 4166
    functionDepth: 2
    functionLinenumber: 4166
    functionLinenumberEnd: 4179
    functionName: "WKTParser::Private::buildProjection(\n    const GeodeticCRSNNPtr
      &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode,
      const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildProjectionStandard
    - WKTNodeNNPtr::GP
    - ThrowNotEnoughChildren
    - buildProjectionFromESRI
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr WKTParser::Private::buildProjection(\n    const GeodeticCRSNNPtr
      &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode,
      const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4186,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4187,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4187,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4188,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4189,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4190,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4191,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4192,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - projCRSNode
    - paramName
    argTypes:
    - WKTNodeNNPtr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4197
      start: 4183
    functionDepth: 3
    functionLinenumber: 4183
    functionLinenumberEnd: 4197
    functionName: "WKTParser::Private::projectionGetParameter(const WKTNodeNNPtr &projCRSNode,\n
      \                                          const char *paramName)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stripQuotes
    - auto::size
    - WKTNodeNNPtr::GP
    - ci_equal
    - std::string
    - Identifier::isEquivalentName
    - GP
    linkageType: ''
    returnType: std::string
    signature: "std::string WKTParser::Private::projectionGetParameter(const WKTNodeNNPtr
      &projCRSNode,\n                                           const char *paramName)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4206,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4206,1
    - Dst: WKTNodeNNPtr::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4212,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4213,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4216,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4216,1
    - Dst: projectionGetParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4218,1
    - Dst: projectionGetParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4222,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4223,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4232,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4233,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4235,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4236,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4238,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4239,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4240,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4241,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4241,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4244,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4245,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4247,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4248,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4249,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4249,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4250,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4254,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4255,1
    - Dst: std::map::insert
      Src: /src/PROJ/src/iso19111/io.cpp:4258,1
    - Dst: std::pair<std::string, Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:4258,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/io.cpp:4259,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4259,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4268,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4269,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4273,1
    - Dst: Measure::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:4274,1
    - Dst: Conversion::createPolarStereographicVariantB
      Src: /src/PROJ/src/iso19111/io.cpp:4275,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4276,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4277,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4277,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4277,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4278,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4278,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4278,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4279,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4279,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4279,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4280,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4280,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4280,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4283,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4284,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4284,1
    - Dst: Measure::convertToUnit
      Src: /src/PROJ/src/iso19111/io.cpp:4284,1
    - Dst: Conversion::createPolarStereographicVariantA
      Src: /src/PROJ/src/iso19111/io.cpp:4287,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4288,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4289,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4289,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4289,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4290,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4290,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4290,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:4291,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4291,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4291,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4292,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4292,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4292,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4293,1
    - Dst: Measure::value
      Src: /src/PROJ/src/iso19111/io.cpp:4293,1
    - Dst: Measure::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4293,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4298,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4299,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4299,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4300,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4301,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4302,1
    - Dst: PROJStringParser
      Src: /src/PROJ/src/iso19111/io.cpp:4307,1
    - Dst: nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:4309,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/io.cpp:4311,1
    - Dst: getMappingFromWKT1
      Src: /src/PROJ/src/iso19111/io.cpp:4320,1
    - Dst: getESRIMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4327,1
    - Dst: buildProjectionFromESRI
      Src: /src/PROJ/src/iso19111/io.cpp:4329,1
    - Dst: selectSphericalOrEllipsoidal
      Src: /src/PROJ/src/iso19111/io.cpp:4336,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4337,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4338,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4344,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4345,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4345,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4346,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4347,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:4348,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4352,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4353,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4355,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4356,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4362,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4364,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4367,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4374,1
    - Dst: WKTNodeNNPtr::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:4375,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:4376,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4376,1
    - Dst: buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:4379,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4379,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:4382,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4385,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4389,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4390,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4393,1
    - Dst: std::vector::resize
      Src: /src/PROJ/src/iso19111/io.cpp:4401,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4404,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4405,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4405,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4406,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4407,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:4408,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4410,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4412,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4417,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4419,1
    - Dst: getMappingFromWKT1
      Src: /src/PROJ/src/iso19111/io.cpp:4425,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4428,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4436,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4439,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4450,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4452,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4456,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4457,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4458,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4460,1
    - Dst: guessUnitForParameter
      Src: /src/PROJ/src/iso19111/io.cpp:4461,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4463,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4463,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4463,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4465,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:4466,1
    - Dst: emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:4481,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4486,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4487,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4490,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4492,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4495,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4496,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4497,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:4497,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:4498,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:4525,1
    - Dst: getEPSGCode
      Src: /src/PROJ/src/iso19111/io.cpp:4526,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4528,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4529,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4532,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:4534,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4537,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:4538,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:4539,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:4545,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4546,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 163
    argCount: 5
    argNames:
    - baseGeodCRS
    - projCRSNode
    - projectionNode
    - defaultLinearUnit
    - defaultAngularUnit
    argTypes:
    - GeodeticCRSNNPtr
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    - UnitOfMeasure
    - UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4549
      start: 4201
    functionDepth: 3
    functionLinenumber: 4201
    functionLinenumberEnd: 4549
    functionName: "WKTParser::Private::buildProjectionStandard(\n    const GeodeticCRSNNPtr
      &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode,
      const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - std::string::c_str
    - PropertyMap::PropertyMap
    - std::vector::resize
    - auto::GP
    - std::vector::size
    - buildAxis
    - Conversion::create
    - std::fabs
    - getMappingFromWKT1
    - WKTNodeNNPtr::countChildrenOfName
    - ParameterValue::create
    - stripQuotes
    - tolower
    - Conversion::createPolarStereographicVariantB
    - ThrowNotEnoughChildren
    - ParsingException
    - PropertyMap::set
    - std::string::find
    - projectionGetParameter
    - Identifier::isEquivalentName
    - Measure::convertToUnit
    - WKTNodeNNPtr::lookForChild
    - std::string::empty
    - auto::size
    - Angle
    - Measure::getSIValue
    - std::vector::push_back
    - asDouble
    - concat
    - PROJStringParser
    - Measure::value
    - nn_dynamic_pointer_cast<ProjectedCRS>
    - getEPSGCode
    - ci_equal
    - selectSphericalOrEllipsoidal
    - GP
    - emitRecoverableWarning
    - Length
    - PropertyMap
    - starts_with
    - buildProjectionFromESRI
    - Measure::unit
    - std::pair<std::string, Measure>
    - guessUnitForParameter
    - auto::derivingConversion
    - getMapping
    - std::map::insert
    - Measure
    - getESRIMapping
    - OperationParameter::create
    - WKTNodeNNPtr::GP
    - Conversion::createPolarStereographicVariantA
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr WKTParser::Private::buildProjectionStandard(\n    const
      GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr
      &projectionNode, const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure
      &defaultAngularUnit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::createPopularVisualisationPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:4555,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4556,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4556,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:4557,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4557,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:4557,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - props
    - cs
    argTypes:
    - PropertyMap
    - cs::CartesianCSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4560
      start: 4553
    functionDepth: 1
    functionLinenumber: 4553
    functionLinenumberEnd: 4560
    functionName: createPseudoMercator
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - Length
    - PropertyMap
    - Angle
    - Conversion::createPopularVisualisationPseudoMercator
    - ProjectedCRS::create
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: "ProjectedCRSNNPtr createPseudoMercator(const PropertyMap &props,\n
      \                                             const cs::CartesianCSNNPtr &cs)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4567,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4568,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4569,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4570,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4570,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:4571,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4575,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4577,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4578,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4581,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4583,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4585,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:4586,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4587,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4587,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4588,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:4589,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4592,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:4592,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4596,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4596,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4597,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4606,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4607,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:4609,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4610,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4611,1
    - Dst: auto::codeSpace
      Src: /src/PROJ/src/iso19111/io.cpp:4611,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4613,1
    - Dst: auto::code
      Src: /src/PROJ/src/iso19111/io.cpp:4613,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4614,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4619,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4620,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4620,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:4621,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4624,1
    - Dst: dynamic_cast<const ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:4626,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:4626,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4628,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:4633,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/io.cpp:4636,1
    - Dst: dynamic_cast<const operation::OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/io.cpp:4638,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:4639,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/io.cpp:4641,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:4642,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/io.cpp:4644,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:4645,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:4646,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:4658,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:4661,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:4663,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4666,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4668,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4669,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4673,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4673,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4674,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4675,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4675,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4676,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4682,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4683,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4684,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:4685,1
    - Dst: util::isOfExactType<GeographicCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:4686,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:4686,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4687,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4689,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4689,1
    - Dst: auto::createObjectsFromNameEx
      Src: /src/PROJ/src/iso19111/io.cpp:4690,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:4699,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:4699,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4701,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4702,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4703,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:4704,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4708,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4709,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4710,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4722,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4722,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4723,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:4724,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4727,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4734,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:4735,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4736,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:4737,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:4737,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:4740,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4744,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:4745,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4750,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4755,1
    - Dst: hasWebMercPROJ4String
      Src: /src/PROJ/src/iso19111/io.cpp:4755,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:4757,1
    - Dst: createPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:4758,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4758,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4765,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4766,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:4767,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:4768,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:4769,1
    - Dst: createPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:4770,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4770,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4776,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:4778,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4780,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4782,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:4782,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4785,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:4786,1
    - Dst: buildProjection
      Src: /src/PROJ/src/iso19111/io.cpp:4787,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4791,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4791,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4792,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4795,1
    - Dst: WKTNodeNNPtr::countChildrenOfName
      Src: /src/PROJ/src/iso19111/io.cpp:4795,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:4797,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4801,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4802,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:4803,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4804,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:4807,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4808,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/io.cpp:4820,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4823,1
    - Dst: CartesianCS::createNorthPoleEastingSouthNorthingSouth
      Src: /src/PROJ/src/iso19111/io.cpp:4825,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:4828,1
    - Dst: CartesianCS::createSouthPoleEastingNorthNorthingNorth
      Src: /src/PROJ/src/iso19111/io.cpp:4830,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/io.cpp:4836,1
    - Dst: CartesianCS::createNorthPoleEastingSouthNorthingSouth
      Src: /src/PROJ/src/iso19111/io.cpp:4841,1
    - Dst: CartesianCS::createSouthPoleEastingNorthNorthingNorth
      Src: /src/PROJ/src/iso19111/io.cpp:4846,1
    - Dst: CartesianCS::createWestingSouthing
      Src: /src/PROJ/src/iso19111/io.cpp:4853,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:4857,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:4860,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:4861,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4862,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:4862,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:4863,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4863,1
    - Dst: addExtensionProj4ToProp
      Src: /src/PROJ/src/iso19111/io.cpp:4866,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4868,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4869,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 114
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4870
      start: 4564
    functionDepth: 3
    functionLinenumber: 4564
    functionLinenumberEnd: 4870
    functionName: WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - std::string::c_str
    - auto::parameterValues
    - auto::coordinateSystem
    - auto::baseCRS
    - dynamic_cast<const operation::OperationParameterValue *>
    - buildGeodeticCRS
    - buildProjection
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - isNull
    - NN_NO_CHECK
    - auto::code
    - auto::createProjectedCRS
    - buildCS
    - createPseudoMercator
    - ThrowNotExpectedCSType
    - std::fabs
    - WKTNodeNNPtr::countChildrenOfName
    - auto::type
    - auto::nameStr
    - stripQuotes
    - auto::method
    - ParsingException
    - buildId
    - std::move
    - CartesianCS::createSouthPoleEastingNorthNorthingNorth
    - std::string::find
    - CartesianCS::createWestingSouthing
    - auto::getOfficialNameFromAlias
    - buildConversion
    - auto::createObjectsFromNameEx
    - nn_dynamic_pointer_cast<CartesianCS>
    - std::string
    - ProjectedCRS::create
    - Identifier::isEquivalentName
    - auto*::children
    - auto::front
    - auto::set
    - auto::size
    - dynamic_cast<const ProjectedCRS *>
    - unit
    - auto::promoteTo3D
    - addExtensionProj4ToProp
    - auto::codeSpace
    - util::isOfExactType<GeographicCRS>
    - ci_equal
    - CartesianCS::createNorthPoleEastingSouthNorthingSouth
    - CartesianCS::create
    - PropertyMap
    - starts_with
    - auto*::lookForChild
    - buildProperties
    - ThrowMissing
    - get
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - buildUnitInSubNode
    - clear
    - auto::createObjectsFromName
    - CartesianCS::createEastingNorthing
    - auto::unit
    - dynamic_cast<const crs::ProjectedCRS *>
    - auto*::value
    - auto::parameterValueNumeric
    - auto::parameterValue
    - hasWebMercPROJ4String
    - auto::empty
    - WKTNodeNNPtr::GP
    - AuthorityFactory::create
    - auto::value
    - auto::axisList
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr
      &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4877,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4878,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4879,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:4880,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:4883,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:4885,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4887,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4889,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4890,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dynamicNode
    - frameReferenceEpoch
    - modelName
    argTypes:
    - WKTNodeNNPtr
    - double
    - util::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4893
      start: 4874
    functionDepth: 3
    functionLinenumber: 4874
    functionLinenumberEnd: 4893
    functionName: "WKTParser::Private::parseDynamic(const WKTNodeNNPtr &dynamicNode,\n
      \                                     double &frameReferenceEpoch,\n                                      util::optional<std::string>
      &modelName)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stripQuotes
    - auto::size
    - ThrowMissing
    - ParsingException
    - asDouble
    - auto::GP
    - auto::empty
    - WKTNodeNNPtr::GP
    - WKTNodeNNPtr::lookForChild
    linkageType: ''
    returnType: void
    signature: "void WKTParser::Private::parseDynamic(const WKTNodeNNPtr &dynamicNode,\n
      \                                     double &frameReferenceEpoch,\n                                      util::optional<std::string>
      &modelName)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:4900,1
    - Dst: parseDynamic
      Src: /src/PROJ/src/iso19111/io.cpp:4903,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:4904,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4905,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4905,1
    - Dst: optional<RealizationMethod>
      Src: /src/PROJ/src/iso19111/io.cpp:4906,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:4907,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4912,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4914,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:4915,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4917,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:4922,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:4922,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:4922,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4923,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:4924,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:4927,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4928,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:4932,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4933,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:4934,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:4934,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:4938,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4938,1
    - Dst: getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:4939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - node
    - dynamicNode
    argTypes:
    - WKTNodeNNPtr
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4897
    functionDepth: 2
    functionLinenumber: 4897
    functionLinenumberEnd: 4940
    functionName: "WKTParser::Private::buildVerticalReferenceFrame(\n    const WKTNodeNNPtr
      &node, const WKTNodeNNPtr &dynamicNode)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - DynamicVerticalReferenceFrame::create
    - NN_NO_CHECK
    - VerticalReferenceFrame::create
    - stripQuotes
    - getAnchorEpoch
    - auto::getOfficialNameFromAlias
    - std::string
    - optional<RealizationMethod>
    - auto*::children
    - auto::set
    - auto::size
    - AuthorityFactory::createUnitOfMeasure
    - ci_equal
    - GP
    - getAnchor
    - parseDynamic
    - buildProperties
    - auto::empty
    - WKTNodeNNPtr::GP
    - AuthorityFactory::create
    linkageType: ''
    returnType: VerticalReferenceFrameNNPtr
    signature: "VerticalReferenceFrameNNPtr WKTParser::Private::buildVerticalReferenceFrame(\n
      \   const WKTNodeNNPtr &node, const WKTNodeNNPtr &dynamicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4946,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4947,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4949,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4950,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4951,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:4954,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:4956,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:4957,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:4958,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/io.cpp:4960,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:4961,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4962
      start: 4944
    functionDepth: 2
    functionLinenumber: 4944
    functionLinenumberEnd: 4962
    functionName: WKTParser::Private::buildTemporalDatum(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - stripQuotes
    - auto::size
    - auto*::lookForChild
    - buildProperties
    - DateTime::create
    - auto::GP
    - TemporalDatum::create
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: TemporalDatumNNPtr
    signature: TemporalDatumNNPtr WKTParser::Private::buildTemporalDatum(const WKTNodeNNPtr
      &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:4968,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4968,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4966
    functionDepth: 1
    functionLinenumber: 4966
    functionLinenumberEnd: 4969
    functionName: WKTParser::Private::buildEngineeringDatum(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - EngineeringDatum::create
    - getAnchor
    - buildProperties
    linkageType: ''
    returnType: EngineeringDatumNNPtr
    signature: EngineeringDatumNNPtr WKTParser::Private::buildEngineeringDatum(const
      WKTNodeNNPtr &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:4975,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:4975,1
    - Dst: getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:4975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4976
      start: 4973
    functionDepth: 1
    functionLinenumber: 4973
    functionLinenumberEnd: 4976
    functionName: WKTParser::Private::buildParametricDatum(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ParametricDatum::create
    - buildProperties
    - getAnchor
    linkageType: ''
    returnType: ParametricDatumNNPtr
    signature: ParametricDatumNNPtr WKTParser::Private::buildParametricDatum(const
      WKTNodeNNPtr &node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:4984,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/io.cpp:4984,1
    - Dst: crs::CRSPtr::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:4986,1
    - Dst: GeographicCRSPtr::datum
      Src: /src/PROJ/src/iso19111/io.cpp:4989,1
    - Dst: GeographicCRSPtr::primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:4990,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:4994,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:4995,1
    - Dst: GeographicCRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:4997,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:4999,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5000,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5002,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:5004,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:5005,1
    - Dst: GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5007,1
    - Dst: std::dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5012,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5014,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5017,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:5018,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/io.cpp:5019,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5023,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:5024,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:5025,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:5026,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5026,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:5028,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:5029,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:5030,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5030,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:5032,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5036,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5037,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/io.cpp:5039,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:5039,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:5040,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5048,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - sourceCRS
    - targetCRS
    argTypes:
    - crs::CRSPtr
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5049
      start: 4980
    functionDepth: 2
    functionLinenumber: 4980
    functionLinenumberEnd: 5049
    functionName: createBoundCRSSourceTransformationCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::coordinateSystem
    - PropertyMap::PropertyMap
    - crs::CRSPtr::extractGeographicCRS
    - GeographicCRSPtr::nameStr
    - NN_NO_CHECK
    - auto::nameStr
    - ParsingException
    - dynamic_cast<GeographicCRS *>
    - auto::datumEnsemble
    - ends_with
    - VerticalCRS::create
    - std::dynamic_pointer_cast<VerticalCRS>
    - strlen
    - auto::direction
    - GeographicCRSPtr::primeMeridian
    - std::string::size
    - auto::datum
    - GeodeticReferenceFrame::create
    - util::optional<std::string>
    - crs::CRSPtr::get
    - GeographicCRSPtr::datum
    - std::string::resize
    - GeographicCRS::create
    - auto::ellipsoid
    - PropertyMap
    - GeographicCRSPtr::coordinateSystem
    - VerticalCS::createGravityRelatedHeight
    - auto::unit
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr createBoundCRSSourceTransformationCRS(const crs::CRSPtr &sourceCRS,\n
      \                                     const crs::CRSPtr &targetCRS)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5054,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:5055,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5057,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5059,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5064,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5065,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5067,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5067,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5067,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5068,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5071,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5072,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5073,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5074,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5074,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5075,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5081,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5083,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:5084,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5085,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:5087,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5093,1
    - Dst: buildVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:5094,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5097,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:5098,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5101,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5102,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5102,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5103,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5104,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5105,1
    - Dst: nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5107,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5108,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:5110,1
    - Dst: auto::getWKT1DatumType
      Src: /src/PROJ/src/iso19111/io.cpp:5113,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5114,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/io.cpp:5114,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5116,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5117,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:5118,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5119,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5121,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:5121,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5125,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:5132,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5132,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:5132,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:5133,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5133,1
    - Dst: auto::getOfficialNameFromAlias
      Src: /src/PROJ/src/iso19111/io.cpp:5134,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5137,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5138,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5146,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5147,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:5149,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5154,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:5155,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5155,1
    - Dst: std::string::find_first_of
      Src: /src/PROJ/src/iso19111/io.cpp:5156,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:5158,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5165,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5165,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5167,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5167,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:5169,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:5171,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5172,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:5175,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5179,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5180,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/io.cpp:5181,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:5183,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5184,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5185,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5186,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/io.cpp:5187,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5188,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5190,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5191,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5194,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5195,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/io.cpp:5196,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5197,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5198,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5200,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5201,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:5203,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5205,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5205,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5206,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5207,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/io.cpp:5209,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5210,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5210,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5212,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5217,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5218,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:5219,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5220,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5221,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5222,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5223,1
    - Dst: GP
      Src: /src/PROJ/src/iso19111/io.cpp:5223,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5224,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5226,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5226,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5227,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5228,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/io.cpp:5230,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5231,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5231,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/io.cpp:5233,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:5236,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5239,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5239,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5240,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5242,1
    - Dst: auto::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5243,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5244,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5245,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5246,1
    - Dst: stripQuotes
      Src: /src/PROJ/src/iso19111/io.cpp:5246,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:5259,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5262,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:5262,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:5265,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:5265,1
    - Dst: createBoundCRSSourceTransformationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5270,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:5271,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:5271,1
    - Dst: "Transformation::\n                        createGravityRelatedHeightToGeographic3D"
      Src: /src/PROJ/src/iso19111/io.cpp:5272,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5274,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5276,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:5277,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5279,1
    - Dst: nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5280,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5281,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 78
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5288
      start: 5053
    functionDepth: 3
    functionLinenumber: 5053
    functionLinenumberEnd: 5288
    functionName: WKTParser::Private::buildVerticalCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - OperationMethod::create
    - PropertyMap::PropertyMap
    - ci_starts_with
    - createBoundCRSSourceTransformationCRS
    - auto::GP
    - CoordinateSystemAxis::create
    - nameStr
    - isNull
    - NN_NO_CHECK
    - VerticalReferenceFrame::create
    - Transformation::create
    - buildCS
    - coordinateSystem
    - ThrowNotExpectedCSType
    - buildGeodeticReferenceFrame
    - std::string::find_first_of
    - BoundCRS::create
    - auto::nameStr
    - stripQuotes
    - nn_dynamic_pointer_cast<VerticalCS>
    - std::string::substr
    - ParsingException
    - auto::lookForChild
    - std::vector<PositionalAccuracyNNPtr>
    - PropertyMap::set
    - ArrayOfBaseObject::create
    - auto::getOfficialNameFromAlias
    - VerticalCRS::create
    - ArrayOfBaseObjectNNPtr::add
    - auto::as_nullable
    - strlen
    - buildDatumEnsemble
    - auto::direction
    - std::string
    - auto::getStringValue
    - nn_static_pointer_cast<CRS>
    - std::string::size
    - direction
    - replaceAll
    - "Transformation::\n                        createGravityRelatedHeightToGeographic3D"
    - buildVerticalReferenceFrame
    - std::string::empty
    - auto*::children
    - unit
    - auto::size
    - auto::set
    - std::string::resize
    - promoteTo3D
    - toupper
    - primeMeridian
    - ci_equal
    - GP
    - PropertyMap
    - VerticalCS::create
    - auto*::lookForChild
    - buildProperties
    - ThrowMissing
    - starts_with
    - std::vector<OperationParameterNNPtr>
    - auto::unit
    - auto*::value
    - auto::empty
    - WKTNodeNNPtr::GP
    - auto::axisList
    - AuthorityFactory::create
    - auto::getWKT1DatumType
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr WKTParser::Private::buildVerticalCRS(const WKTNodeNNPtr &node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5294,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5295,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5297,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5297,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5299,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5300,1
    - Dst: auto::extractVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5300,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5303,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5304,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5305,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5307,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5310,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5311,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5312,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5314,1
    - Dst: nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5316,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5318,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:5319,1
    - Dst: auto::getWKT2Type
      Src: /src/PROJ/src/iso19111/io.cpp:5319,1
    - Dst: DerivedVerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5322,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5322,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts:
    - condition: (!isNull(baseVertCRSNode))
      pos:
        line_end: 5296
        line_start: 5296
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 5325
      start: 5292
    functionDepth: 2
    functionLinenumber: 5292
    functionLinenumberEnd: 5325
    functionName: WKTParser::Private::buildDerivedVerticalCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto*::lookForChild
    - nn_dynamic_pointer_cast<VerticalCS>
    - ThrowMissing
    - ParsingException
    - auto::getWKT2Type
    - DerivedVerticalCRS::create
    - buildProperties
    - concat
    - assert
    - isNull
    - buildConversion
    - NN_NO_CHECK
    - auto::extractVerticalCRS
    - buildCS
    - WKTNodeNNPtr::GP
    - buildVerticalCRS
    linkageType: ''
    returnType: DerivedVerticalCRSNNPtr
    signature: DerivedVerticalCRSNNPtr WKTParser::Private::buildDerivedVerticalCRS(const
      WKTNodeNNPtr &node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5332,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5333,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5336,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:5339,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5339,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5343,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5343,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:5344,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5344,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5347,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5349
      start: 5329
    functionDepth: 4
    functionLinenumber: 5329
    functionLinenumberEnd: 5349
    functionName: WKTParser::Private::buildCompoundCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - CompoundCRS::create
    - buildCRS
    - buildProperties
    - std::vector::push_back
    - CompoundCRS::createLax
    - NN_NO_CHECK
    - ci_equal
    - WKTNodeNNPtr::GP
    - auto::extractGeographicCRS
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr WKTParser::Private::buildCompoundCRS(const WKTNodeNNPtr &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:5360,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5365,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5368,1
    - Dst: Transformation::isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:5374,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5375,1
    - Dst: dynamic_cast<VerticalCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:5376,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:5376,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:5377,1
    - Dst: CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/io.cpp:5377,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/io.cpp:5378,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/io.cpp:5382,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/io.cpp:5383,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/io.cpp:5386,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:5389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - dbContext
    - abridgedNodeProperties
    - methodNodeProperties
    - sourceCRS
    - targetCRS
    - parameters
    - values
    argTypes:
    - DatabaseContextPtr
    - util::PropertyMap
    - util::PropertyMap
    - CRSNNPtr
    - CRSNNPtr
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5353
    functionDepth: 3
    functionLinenumber: 5353
    functionLinenumberEnd: 5393
    functionName: buildTransformationForBoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - auto::method
    - std::vector<PositionalAccuracyNNPtr>
    - Transformation::isGeographic3DToGravityRelatedHeight
    - dynamic_cast<GeographicCRS *>
    - CRSNNPtr::get
    - Transformation::createGravityRelatedHeightToGeographic3D
    - Transformation::create
    - dealWithEPSGCodeForInterpolationCRSParameter
    - auto::parameterValue
    - auto::valueFile
    - auto::type
    - dynamic_cast<VerticalCRS *>
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr buildTransformationForBoundCRS(\n    DatabaseContextPtr
      &dbContext,\n    const util::PropertyMap &abridgedNodeProperties,\n    const
      util::PropertyMap &methodNodeProperties, const CRSNNPtr &sourceCRS,\n    const
      CRSNNPtr &targetCRS, std::vector<OperationParameterNNPtr> &parameters,\n    std::vector<ParameterValueNNPtr>
      &values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5398,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5400,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5401,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5402,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5405,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5406,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5407,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5409,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5410,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5413,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5414,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5415,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5416,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5418,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5420,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5423,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5424,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:5425,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5426,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5428,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5430,1
    - Dst: consumeParameters
      Src: /src/PROJ/src/iso19111/io.cpp:5437,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5440,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5441,1
    - Dst: buildTransformationForBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5442,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5443,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5443,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5446,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5446,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5447,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5397
    functionDepth: 4
    functionLinenumber: 5397
    functionLinenumberEnd: 5449
    functionName: WKTParser::Private::buildBoundCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - BoundCRS::create
    - buildCRS
    - ThrowNotEnoughChildren
    - auto*::lookForChild
    - ThrowMissing
    - auto::size
    - ParsingException
    - buildProperties
    - auto::GP
    - isNull
    - NN_NO_CHECK
    - buildTransformationForBoundCRS
    - WKTNodeNNPtr::GP
    - consumeParameters
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: BoundCRSNNPtr WKTParser::Private::buildBoundCRS(const WKTNodeNNPtr
      &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5456,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5457,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5458,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5458,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5459,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5461,1
    - Dst: nn_dynamic_pointer_cast<TemporalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5462,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:5464,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - parentNode
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5453
    functionDepth: 2
    functionLinenumber: 5453
    functionLinenumberEnd: 5467
    functionName: WKTParser::Private::buildTemporalCS(const WKTNodeNNPtr &parentNode)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ThrowMissing
    - isNull
    - NN_NO_CHECK
    - ci_equal
    - buildCS
    - WKTNodeNNPtr::GP
    - ThrowNotExpectedCSType
    - nn_dynamic_pointer_cast<TemporalCS>
    linkageType: ''
    returnType: TemporalCSNNPtr
    signature: TemporalCSNNPtr WKTParser::Private::buildTemporalCS(const WKTNodeNNPtr
      &parentNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5474,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5475,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5476,1
    - Dst: TemporalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5479,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5479,1
    - Dst: buildTemporalDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5480,1
    - Dst: buildTemporalCS
      Src: /src/PROJ/src/iso19111/io.cpp:5481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5482
      start: 5471
    functionDepth: 1
    functionLinenumber: 5471
    functionLinenumberEnd: 5482
    functionName: WKTParser::Private::buildTemporalCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - TemporalCRS::create
    - buildProperties
    - ParsingException
    - isNull
    - buildTemporalDatum
    - WKTNodeNNPtr::GP
    - buildTemporalCS
    linkageType: ''
    returnType: TemporalCRSNNPtr
    signature: TemporalCRSNNPtr WKTParser::Private::buildTemporalCRS(const WKTNodeNNPtr
      &node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5488,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5489,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5491,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5491,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5494,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5495,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5496,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:5499,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5500,1
    - Dst: buildTemporalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5500,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5501,1
    - Dst: buildTemporalCS
      Src: /src/PROJ/src/iso19111/io.cpp:5503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts:
    - condition: (!isNull(baseCRSNode))
      pos:
        line_end: 5490
        line_start: 5490
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 5504
      start: 5486
    functionDepth: 2
    functionLinenumber: 5486
    functionLinenumberEnd: 5504
    functionName: WKTParser::Private::buildDerivedTemporalCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildTemporalCRS
    - ThrowNotEnoughChildren
    - auto*::lookForChild
    - buildProperties
    - assert
    - isNull
    - buildConversion
    - proj_context_create
    - WKTNodeNNPtr::GP
    - buildTemporalCS
    linkageType: ''
    returnType: DerivedTemporalCRSNNPtr
    signature: DerivedTemporalCRSNNPtr WKTParser::Private::buildDerivedTemporalCRS(const
      WKTNodeNNPtr &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5510,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5511,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5513,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5514,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5517,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5518,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5518,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:5518,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5519,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5522,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5523,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5523,1
    - Dst: buildEngineeringDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5508
    functionDepth: 2
    functionLinenumber: 5508
    functionLinenumberEnd: 5525
    functionName: WKTParser::Private::buildEngineeringCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto*::lookForChild
    - buildProperties
    - ParsingException
    - ThrowMissing
    - EngineeringCRS::create
    - isNull
    - auto*::value
    - buildEngineeringDatum
    - ci_equal
    - buildCS
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: EngineeringCRSNNPtr
    signature: EngineeringCRSNNPtr WKTParser::Private::buildEngineeringCRS(const WKTNodeNNPtr
      &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5531,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5532,1
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:5533,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5534,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5535,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5540,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:5541,1
    - Dst: EngineeringCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5544,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5545
      start: 5529
    functionDepth: 2
    functionLinenumber: 5529
    functionLinenumberEnd: 5545
    functionName: WKTParser::Private::buildEngineeringCRSFromLocalCS(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - WKTNodeNNPtr::GP
    - buildProperties
    - EngineeringCRS::create
    - PropertyMap::PropertyMap
    - PropertyMap::set
    - isNull
    - buildCS
    - EngineeringDatum::create
    linkageType: ''
    returnType: EngineeringCRSNNPtr
    signature: EngineeringCRSNNPtr WKTParser::Private::buildEngineeringCRSFromLocalCS(const
      WKTNodeNNPtr &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5551,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5552,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5554,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5554,1
    - Dst: buildEngineeringCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5556,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5559,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5560,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5561,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5563,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5566,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5567,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5568,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5570,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:5572,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts:
    - condition: (!isNull(baseEngCRSNode))
      pos:
        line_end: 5553
        line_start: 5553
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 5574
      start: 5549
    functionDepth: 2
    functionLinenumber: 5549
    functionLinenumberEnd: 5574
    functionName: WKTParser::Private::buildDerivedEngineeringCRS(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto*::lookForChild
    - ThrowNotEnoughChildren
    - ThrowMissing
    - buildProperties
    - buildEngineeringCRS
    - assert
    - isNull
    - buildConversion
    - proj_context_create
    - buildCS
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: DerivedEngineeringCRSNNPtr
    signature: DerivedEngineeringCRSNNPtr WKTParser::Private::buildDerivedEngineeringCRS(const
      WKTNodeNNPtr &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5581,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5582,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5583,1
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5583,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5584,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5586,1
    - Dst: nn_dynamic_pointer_cast<ParametricCS>
      Src: /src/PROJ/src/iso19111/io.cpp:5587,1
    - Dst: ThrowNotExpectedCSType
      Src: /src/PROJ/src/iso19111/io.cpp:5589,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - parentNode
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5592
      start: 5578
    functionDepth: 2
    functionLinenumber: 5578
    functionLinenumberEnd: 5592
    functionName: WKTParser::Private::buildParametricCS(const WKTNodeNNPtr &parentNode)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - nn_dynamic_pointer_cast<ParametricCS>
    - ThrowMissing
    - isNull
    - NN_NO_CHECK
    - ci_equal
    - buildCS
    - WKTNodeNNPtr::GP
    - ThrowNotExpectedCSType
    linkageType: ''
    returnType: ParametricCSNNPtr
    signature: ParametricCSNNPtr WKTParser::Private::buildParametricCS(const WKTNodeNNPtr
      &parentNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5598,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5600,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5601,1
    - Dst: ParametricCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5604,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5604,1
    - Dst: buildParametricDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5605,1
    - Dst: buildParametricCS
      Src: /src/PROJ/src/iso19111/io.cpp:5606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5607
      start: 5596
    functionDepth: 1
    functionLinenumber: 5596
    functionLinenumberEnd: 5607
    functionName: WKTParser::Private::buildParametricCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildParametricCS
    - buildProperties
    - ParsingException
    - isNull
    - buildParametricDatum
    - ParametricCRS::create
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: ParametricCRSNNPtr
    signature: ParametricCRSNNPtr WKTParser::Private::buildParametricCRS(const WKTNodeNNPtr
      &node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5613,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5614,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:5616,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5616,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5619,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5620,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5621,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:5624,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5625,1
    - Dst: buildParametricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5625,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5626,1
    - Dst: buildParametricCS
      Src: /src/PROJ/src/iso19111/io.cpp:5628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts:
    - condition: (!isNull(baseParamCRSNode))
      pos:
        line_end: 5615
        line_start: 5615
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 5629
      start: 5611
    functionDepth: 2
    functionLinenumber: 5611
    functionLinenumberEnd: 5629
    functionName: WKTParser::Private::buildDerivedParametricCRS(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ThrowNotEnoughChildren
    - auto*::lookForChild
    - buildProperties
    - buildParametricCRS
    - buildParametricCS
    - assert
    - isNull
    - buildConversion
    - proj_context_create
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: DerivedParametricCRSNNPtr
    signature: DerivedParametricCRSNNPtr WKTParser::Private::buildDerivedParametricCRS(const
      WKTNodeNNPtr &node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5635,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5636,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5637,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5638,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5640,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5643,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5644,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5645,1
    - Dst: buildUnitInSubNode
      Src: /src/PROJ/src/iso19111/io.cpp:5648,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5650,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:5650,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5652,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5654,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5655,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5655,1
    - Dst: auto*::value
      Src: /src/PROJ/src/iso19111/io.cpp:5655,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5656,1
    - Dst: buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:5658,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:5660,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:5661,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5662,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5662,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:5663,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:5663,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:5666,1
    - Dst: buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:5666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5668
      start: 5633
    functionDepth: 2
    functionLinenumber: 5633
    functionLinenumberEnd: 5668
    functionName: WKTParser::Private::buildDerivedProjectedCRS(const WKTNodeNNPtr
      &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - auto::baseCRS
    - isNull
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - buildCS
    - buildProjectedCRS
    - ThrowNotEnoughChildren
    - buildConversion
    - std::string
    - auto::promoteTo3D
    - unit
    - ci_equal
    - DerivedProjectedCRS::create
    - auto*::lookForChild
    - buildProperties
    - ThrowMissing
    - buildUnitInSubNode
    - auto*::value
    - WKTNodeNNPtr::GP
    - auto::axisList
    linkageType: ''
    returnType: DerivedProjectedCRSNNPtr
    signature: DerivedProjectedCRSNNPtr WKTParser::Private::buildDerivedProjectedCRS(const
      WKTNodeNNPtr &node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5674,1
    - Dst: auto*::children
      Src: /src/PROJ/src/iso19111/io.cpp:5676,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5677,1
    - Dst: ThrowNotEnoughChildren
      Src: /src/PROJ/src/iso19111/io.cpp:5678,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5681,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5683,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5686,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5687,1
    - Dst: auto::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5688,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5689,1
    - Dst: ThrowMissing
      Src: /src/PROJ/src/iso19111/io.cpp:5690,1
    - Dst: asDouble
      Src: /src/PROJ/src/iso19111/io.cpp:5694,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5696,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:5698,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5698,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:5702,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5703
      start: 5672
    functionDepth: 3
    functionLinenumber: 5672
    functionLinenumberEnd: 5703
    functionName: WKTParser::Private::buildCoordinateMetadata(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto*::children
    - buildCRS
    - ThrowNotEnoughChildren
    - auto*::lookForChild
    - ParsingException
    - ThrowMissing
    - auto::GP
    - asDouble
    - CoordinateMetadata::create
    - isNull
    - NN_NO_CHECK
    - auto::empty
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: CoordinateMetadataNNPtr
    signature: CoordinateMetadataNNPtr WKTParser::Private::buildCoordinateMetadata(const
      WKTNodeNNPtr &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5708,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5709,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5710,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5711,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5712,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5714
      start: 5707
    functionDepth: 2
    functionLinenumber: 5707
    functionLinenumberEnd: 5714
    functionName: isGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ci_equal
    linkageType: ''
    returnType: bool
    signature: bool isGeodeticCRS(const std::string &name)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5719,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:5723,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/src/iso19111/io.cpp:5724,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:5725,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5726,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:5727,1
    - Dst: BoundCRS::createFromNadgrids
      Src: /src/PROJ/src/iso19111/io.cpp:5728,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:5729,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5730,1
    - Dst: isGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5735,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5736,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5736,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5738,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5739,1
    - Dst: buildDerivedGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5739,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5741,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5742,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5742,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5746,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5747,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5748,1
    - Dst: getExtensionProj4
      Src: /src/PROJ/src/iso19111/io.cpp:5752,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:5753,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5754,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5755,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5756,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5757,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:5759,1
    - Dst: PROJStringParser
      Src: /src/PROJ/src/iso19111/io.cpp:5764,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5765,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5767,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5768,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5768,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5773,1
    - Dst: applyHorizontalBoundCRSParams
      Src: /src/PROJ/src/iso19111/io.cpp:5774,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5774,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5777,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5778,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5779,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5780,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5781,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5781,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5782,1
    - Dst: buildDerivedVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5783,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5785,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5785,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5789,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5790,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5791,1
    - Dst: buildCompoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5791,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5794,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5795,1
    - Dst: buildBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5795,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5798,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5799,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5799,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5800,1
    - Dst: buildDerivedTemporalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5801,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5803,1
    - Dst: buildTemporalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5803,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5807,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5808,1
    - Dst: buildDerivedProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5809,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5812,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5813,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5814,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5814,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5815,1
    - Dst: buildDerivedEngineeringCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5816,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5818,1
    - Dst: buildEngineeringCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5818,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5822,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5823,1
    - Dst: buildEngineeringCRSFromLocalCS
      Src: /src/PROJ/src/iso19111/io.cpp:5824,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5827,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5828,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5828,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5829,1
    - Dst: buildDerivedParametricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5830,1
    - Dst: util::nn_static_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:5832,1
    - Dst: buildParametricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5832,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 73
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5837
      start: 5718
    functionDepth: 4
    functionLinenumber: 5718
    functionLinenumberEnd: 5837
    functionName: WKTParser::Private::buildCRS(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - applyHorizontalBoundCRSParams
    - buildDerivedProjectedCRS
    - buildDerivedGeodeticCRS
    - buildParametricCRS
    - buildGeodeticCRS
    - BoundCRS::createFromTOWGS84
    - isNull
    - NN_NO_CHECK
    - buildDerivedVerticalCRS
    - buildProjectedCRS
    - buildDerivedTemporalCRS
    - buildDerivedParametricCRS
    - std::string::find
    - BoundCRS::createFromNadgrids
    - buildVerticalCRS
    - std::string::empty
    - nn_dynamic_pointer_cast<CRS>
    - buildTemporalCRS
    - buildBoundCRS
    - PROJStringParser
    - ci_equal
    - getExtensionProj4
    - buildDerivedEngineeringCRS
    - isGeodeticCRS
    - buildCompoundCRS
    - util::nn_static_pointer_cast<CRS>
    - starts_with
    - auto*::lookForChild
    - buildEngineeringCRS
    - clear
    - empty
    - buildEngineeringCRSFromLocalCS
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: CRSPtr
    signature: CRSPtr WKTParser::Private::buildCRS(const WKTNodeNNPtr &node)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: WKTNodeNNPtr::GP
      Src: /src/PROJ/src/iso19111/io.cpp:5842,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5845,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5847,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5847,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5852,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5853,1
    - Dst: buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:5853,1
    - Dst: isNull
      Src: /src/PROJ/src/iso19111/io.cpp:5855,1
    - Dst: auto*::lookForChild
      Src: /src/PROJ/src/iso19111/io.cpp:5855,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5858,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5859,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5860,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5861,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5862,1
    - Dst: buildVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:5863,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5866,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5867,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5868,1
    - Dst: buildTemporalDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5869,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5872,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5873,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5874,1
    - Dst: buildEngineeringDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5875,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5878,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5879,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5880,1
    - Dst: buildParametricDatum
      Src: /src/PROJ/src/iso19111/io.cpp:5881,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5884,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5885,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5886,1
    - Dst: buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:5886,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5889,1
    - Dst: buildCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:5890,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5896,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5896,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5898,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5898,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5899,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5900,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5901,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5901,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/io.cpp:5902,1
    - Dst: auto::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/io.cpp:5903,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5907,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5910,1
    - Dst: buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:5912,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:5914,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5914,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:5916,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:5917,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5918,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:5919,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:5919,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5923,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5926,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5927,1
    - Dst: buildConcatenatedOperation
      Src: /src/PROJ/src/iso19111/io.cpp:5928,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5931,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5932,1
    - Dst: buildPointMotionOperation
      Src: /src/PROJ/src/iso19111/io.cpp:5933,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5936,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5937,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5938,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:5939,1
    - Dst: buildId
      Src: /src/PROJ/src/iso19111/io.cpp:5939,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:5942,1
    - Dst: util::nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:5943,1
    - Dst: buildCoordinateMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:5944,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:5947,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:5947,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 1
    argNames:
    - node
    argTypes:
    - WKTNodeNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5948
      start: 5841
    functionDepth: 2
    functionLinenumber: 5841
    functionLinenumberEnd: 5948
    functionName: WKTParser::Private::build(const WKTNodeNNPtr &node)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - buildCRS
    - auto::coordinateOperationAccuracies
    - isNull
    - auto::targetCRS
    - NN_NO_CHECK
    - buildEllipsoid
    - auto::method
    - buildId
    - ParsingException
    - buildPointMotionOperation
    - util::nn_static_pointer_cast<BaseObject>
    - buildConversion
    - buildCoordinateOperation
    - buildEngineeringDatum
    - strlen
    - buildDatumEnsemble
    - PROJBasedOperation::create
    - buildCoordinateMetadata
    - buildVerticalReferenceFrame
    - concat
    - auto::sourceCRS
    - buildConcatenatedOperation
    - buildParametricDatum
    - ci_equal
    - PropertyMap
    - starts_with
    - auto*::lookForChild
    - buildTemporalDatum
    - WKTNodeNNPtr::GP
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr WKTParser::Private::build(const WKTNodeNNPtr &node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6007,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6011
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6011
    functionName: JSONParser::getAnchor
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONParser::getString
    - json::contains
    linkageType: ''
    returnType: util::optional<std::string>
    signature: util::optional<std::string> getAnchor(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6014,1
    - Dst: util::optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:6015,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6015,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6016,1
    - Dst: util::optional<common::Measure>
      Src: /src/PROJ/src/iso19111/io.cpp:6018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6013
    functionDepth: 2
    functionLinenumber: 6013
    functionLinenumberEnd: 6019
    functionName: JSONParser::getAnchorEpoch
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONParser::getNumber
    - AuthorityFactory::createUnitOfMeasure
    - util::optional<common::Measure>
    - json::contains
    linkageType: ''
    returnType: util::optional<common::Measure>
    signature: util::optional<common::Measure> getAnchorEpoch(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EngineeringDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:6022,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6022,1
    - Dst: JSONParser::getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:6022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6023
      start: 6021
    functionDepth: 1
    functionLinenumber: 6021
    functionLinenumberEnd: 6023
    functionName: JSONParser::buildEngineeringDatum
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - EngineeringDatum::create
    - JSONParser::getAnchor
    - JSONParser::buildProperties
    linkageType: ''
    returnType: EngineeringDatumNNPtr
    signature: EngineeringDatumNNPtr buildEngineeringDatum(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParametricDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:6026,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6026,1
    - Dst: JSONParser::getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:6026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6027
      start: 6025
    functionDepth: 1
    functionLinenumber: 6025
    functionLinenumberEnd: 6027
    functionName: JSONParser::buildParametricDatum
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ParametricDatum::create
    - JSONParser::buildProperties
    - JSONParser::getAnchor
    linkageType: ''
    returnType: ParametricDatumNNPtr
    signature: ParametricDatumNNPtr buildParametricDatum(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6030,1
    - Dst: DateTime::create
      Src: /src/PROJ/src/iso19111/io.cpp:6031,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6031,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6032,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6033,1
    - Dst: TemporalDatum::create
      Src: /src/PROJ/src/iso19111/io.cpp:6034,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6035
      start: 6029
    functionDepth: 2
    functionLinenumber: 6029
    functionLinenumberEnd: 6035
    functionName: JSONParser::buildTemporalDatum
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONParser::getString
    - json::contains
    - DateTime::create
    - TemporalDatum::create
    - std::string
    - JSONParser::buildProperties
    linkageType: ''
    returnType: TemporalDatumNNPtr
    signature: TemporalDatumNNPtr buildTemporalDatum(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6041,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6042,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6042,1
    - Dst: util::nn_dynamic_pointer_cast<CSClass>
      Src: /src/PROJ/src/iso19111/io.cpp:6043,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6045,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:6047,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6047,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - j
    - f
    argTypes:
    - json
    - DatumBuilderType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6049
      start: 6039
    functionDepth: 2
    functionLinenumber: 6039
    functionLinenumberEnd: 6049
    functionName: JSONParser::buildCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ParsingException
    - JSONParser::buildCS
    - JSONParser::getObject
    - proj_context_create
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<CSClass>
    - JSONParser::buildProperties
    linkageType: ''
    returnType: util::nn<std::shared_ptr<TargetCRS>>
    signature: "util::nn<std::shared_ptr<TargetCRS>> buildCRS(const json &j,\n                                                  DatumBuilderType
      f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::create
      Src: /src/PROJ/src/iso19111/io.cpp:6053,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6053,1
    - Dst: util::nn_dynamic_pointer_cast<BaseCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6054,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6056,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6058,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6058,1
    - Dst: util::nn_dynamic_pointer_cast<CSClass>
      Src: /src/PROJ/src/iso19111/io.cpp:6059,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6061,1
    - Dst: JSONParser::buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6063,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6063,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:6064,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6064,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6064,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6066
      start: 6052
    functionDepth: 2
    functionLinenumber: 6052
    functionLinenumberEnd: 6066
    functionName: JSONParser::buildDerivedCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONParser::create
    - ParsingException
    - JSONParser::buildCS
    - JSONParser::buildConversion
    - util::nn_dynamic_pointer_cast<BaseCRS>
    - JSONParser::getObject
    - proj_context_create
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<CSClass>
    - JSONParser::buildProperties
    linkageType: ''
    returnType: util::nn<std::shared_ptr<TargetCRS>>
    signature: util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_log_debug
      Src: /src/PROJ/src/iso19111/io.cpp:6070,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:6071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - warningMsg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6068
    functionDepth: 3
    functionLinenumber: 6068
    functionLinenumberEnd: 6073
    functionName: JSONParser::emitRecoverableWarning
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - proj_context_log_debug
    linkageType: ''
    returnType: void
    signature: void emitRecoverableWarning(const std::string &warningMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6075
      start: 6075
    functionDepth: 0
    functionLinenumber: 6075
    functionLinenumberEnd: 6075
    functionName: JSONParser::JSONParser
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONParser(const JSONParser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6076
      start: 6076
    functionDepth: 0
    functionLinenumber: 6076
    functionLinenumberEnd: 6076
    functionName: '&operator=(const JSONParser &)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSONParser
    signature: JSONParser &operator=(const JSONParser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6079
      start: 6079
    functionDepth: 0
    functionLinenumber: 6079
    functionLinenumberEnd: 6079
    functionName: JSONParser::JSONParser
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6084
      start: 6081
    functionDepth: 0
    functionLinenumber: 6081
    functionLinenumberEnd: 6084
    functionName: '&attachDatabaseContext(const DatabaseContextPtr &dbContext)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSONParser
    signature: JSONParser &attachDatabaseContext(const DatabaseContextPtr &dbContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6089
      start: 6086
    functionDepth: 0
    functionLinenumber: 6086
    functionLinenumberEnd: 6089
    functionName: '&attachContext(PJ_CONTEXT *ctx)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSONParser
    signature: JSONParser &attachContext(PJ_CONTEXT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6097,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6098,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6098,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6101,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6102,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6102,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6106
      start: 6096
    functionDepth: 1
    functionLinenumber: 6096
    functionLinenumberEnd: 6106
    functionName: JSONParser::getString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - ParsingException
    - json::contains
    - std::string
    - auto::is_string
    linkageType: ''
    returnType: std::string
    signature: std::string JSONParser::getString(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6111,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6112,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6112,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6115,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6116,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6116,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6120
      start: 6110
    functionDepth: 1
    functionLinenumber: 6110
    functionLinenumberEnd: 6120
    functionName: JSONParser::getObject
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - ParsingException
    - json::contains
    - std::string
    - auto::is_object
    linkageType: ''
    returnType: json
    signature: json JSONParser::getObject(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6125,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6126,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6126,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/iso19111/io.cpp:6129,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6130,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6130,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6134
      start: 6124
    functionDepth: 1
    functionLinenumber: 6124
    functionLinenumberEnd: 6134
    functionName: JSONParser::getArray
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ParsingException
    - json::contains
    - auto::is_array
    - std::string
    linkageType: ''
    returnType: json
    signature: json JSONParser::getArray(const json &j, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6139,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6140,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6140,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6143,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6144,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6144,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6147,1
    - Dst: simple_min
      Src: /src/PROJ/src/iso19111/io.cpp:6148,1
    - Dst: simple_max
      Src: /src/PROJ/src/iso19111/io.cpp:6149,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6150,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6151,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6151,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6155
      start: 6138
    functionDepth: 1
    functionLinenumber: 6138
    functionLinenumberEnd: 6155
    functionName: JSONParser::getInteger
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::is_number
    - ParsingException
    - json::contains
    - static_cast<int>
    - std::string
    - simple_min
    - simple_max
    linkageType: ''
    returnType: int
    signature: int JSONParser::getInteger(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6160,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6161,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6161,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6164,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6165,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6165,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6169
      start: 6159
    functionDepth: 1
    functionLinenumber: 6159
    functionLinenumberEnd: 6169
    functionName: JSONParser::getNumber
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - auto::is_number
    - ParsingException
    - json::contains
    - std::string
    linkageType: ''
    returnType: double
    signature: double JSONParser::getNumber(const json &j, const char *key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6174,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6175,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6175,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6178,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6179,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:6182,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6185,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6187,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6188,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6188,1
    - Dst: JSONParser::getType
      Src: /src/PROJ/src/iso19111/io.cpp:6191,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6206,1
    - Dst: JSONParser::getName
      Src: /src/PROJ/src/iso19111/io.cpp:6208,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6209,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6212,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6212,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6213,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6215,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6216,1
    - Dst: auto::is_number_integer
      Src: /src/PROJ/src/iso19111/io.cpp:6217,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6218,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6218,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6220,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6223,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6224
      start: 6173
    functionDepth: 2
    functionLinenumber: 6173
    functionLinenumberEnd: 6224
    functionName: JSONParser::getUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::is_number_integer
    - JSONParser::getString
    - toString
    - JSONParser::getNumber
    - ParsingException
    - json::contains
    - auto::contains
    - name
    - UnitOfMeasure
    - JSONParser::getType
    - std::string
    - JSONParser::getName
    - auto::is_object
    - auto::is_string
    linkageType: ''
    returnType: UnitOfMeasure
    signature: UnitOfMeasure JSONParser::getUnit(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6228
      start: 6228
    functionDepth: 0
    functionLinenumber: 6228
    functionLinenumberEnd: 6228
    functionName: JSONParser::getName
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::getString
    linkageType: ''
    returnType: std::string
    signature: std::string JSONParser::getName(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6232
      start: 6232
    functionDepth: 0
    functionLinenumber: 6232
    functionLinenumberEnd: 6232
    functionName: JSONParser::getType
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::getString
    linkageType: ''
    returnType: std::string
    signature: std::string JSONParser::getType(const json &j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6237,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6238,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6238,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6241,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:6242,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6242,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6244,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:6245,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6245,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6247,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6249
      start: 6236
    functionDepth: 1
    functionLinenumber: 6236
    functionLinenumberEnd: 6249
    functionName: JSONParser::getLength
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - Length
    - JSONParser::getMeasure
    - auto::is_number
    - ParsingException
    - json::contains
    - std::string
    - auto::is_object
    linkageType: ''
    returnType: Length
    signature: Length JSONParser::getLength(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:6254,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6254,1
    - Dst: JSONParser::getUnit
      Src: /src/PROJ/src/iso19111/io.cpp:6254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6255
      start: 6253
    functionDepth: 3
    functionLinenumber: 6253
    functionLinenumberEnd: 6255
    functionName: JSONParser::getMeasure
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::getUnit
    - JSONParser::getNumber
    - Measure
    linkageType: ''
    returnType: Measure
    signature: Measure JSONParser::getMeasure(const json &j)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:6260,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6261,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6262,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6265,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6266,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6269,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6270,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6271,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6272,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6273,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6274,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6276,1
    - Dst: GeographicBoundingBox::create
      Src: /src/PROJ/src/iso19111/io.cpp:6277,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6279,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6280,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:6280,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6285,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6286,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6287,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:6288,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6289,1
    - Dst: JSONParser::getUnit
      Src: /src/PROJ/src/iso19111/io.cpp:6290,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6292,1
    - Dst: VerticalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:6292,1
    - Dst: util::nn_make_shared<UnitOfMeasure>
      Src: /src/PROJ/src/iso19111/io.cpp:6293,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6297,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6298,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6299,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6300,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6301,1
    - Dst: TemporalExtent::create
      Src: /src/PROJ/src/iso19111/io.cpp:6301,1
    - Dst: optional::has_value
      Src: /src/PROJ/src/iso19111/io.cpp:6304,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6304,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6304,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6305,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6305,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6307,1
    - Dst: util::optional::has_value
      Src: /src/PROJ/src/iso19111/io.cpp:6310,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6310,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6311,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6311,1
    - Dst: Extent::create
      Src: /src/PROJ/src/iso19111/io.cpp:6312,1
    - Dst: ObjectDomain::create
      Src: /src/PROJ/src/iso19111/io.cpp:6316,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6319
      start: 6259
    functionDepth: 3
    functionLinenumber: 6259
    functionLinenumberEnd: 6319
    functionName: JSONParser::buildObjectDomain
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONParser::getString
    - TemporalExtent::create
    - std::vector::empty
    - JSONParser::getNumber
    - json::contains
    - ParsingException
    - Extent::create
    - std::string
    - what
    - optional::has_value
    - std::string::empty
    - GeographicBoundingBox::create
    - JSONParser::getUnit
    - util::optional::has_value
    - JSONParser::getObject
    - VerticalExtent::create
    - optional::optional
    - ObjectDomain::create
    - auto::contains
    - util::nn_make_shared<UnitOfMeasure>
    - std::vector::emplace_back
    linkageType: ''
    returnType: ObjectDomainPtr
    signature: ObjectDomainPtr JSONParser::buildObjectDomain(const json &j)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6326,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6327,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6328,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/io.cpp:6329,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:6330,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:6330,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/io.cpp:6331,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:6331,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6335,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6337,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6338,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:6339,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6340,1
    - Dst: simple_min
      Src: /src/PROJ/src/iso19111/io.cpp:6341,1
    - Dst: simple_max
      Src: /src/PROJ/src/iso19111/io.cpp:6342,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6343,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6344,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:6344,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6346,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6349,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6354,1
    - Dst: getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:6356,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:6358,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/io.cpp:6359,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6363,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6364,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6365,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6366,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6370,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6371,1
    - Dst: auto::is_number_integer
      Src: /src/PROJ/src/iso19111/io.cpp:6372,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6373,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6373,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6375,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6380,1
    - Dst: JSONParser::getType
      Src: /src/PROJ/src/iso19111/io.cpp:6380,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6381,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6383,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:6384,1
    - Dst: atoi
      Src: /src/PROJ/src/iso19111/io.cpp:6386,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:6386,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:6386,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:6388,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6393,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6394,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6397,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6398,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6399,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6402,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6403,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6403,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/io.cpp:6406,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 3
    argNames:
    - parentJ
    - j
    - removeInverseOf
    argTypes:
    - json
    - json
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6407
      start: 6323
    functionDepth: 2
    functionLinenumber: 6323
    functionLinenumberEnd: 6407
    functionName: JSONParser::buildId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - JSONParser::getString
    - toString
    - PropertyMap::PropertyMap
    - ci_starts_with
    - auto::c_str
    - auto::back
    - simple_min
    - auto::substr
    - json::contains
    - auto::is_number
    - ParsingException
    - std::move
    - PropertyMap::set
    - strlen
    - auto::is_string
    - std::string::empty
    - auto::size
    - std::string::clear
    - static_cast<int>
    - auto::find
    - JSONParser::getType
    - simple_max
    - atoi
    - starts_with
    - Identifier::create
    - auto::resize
    - getVersionedAuthority
    - auto::is_number_integer
    linkageType: ''
    returnType: IdentifierNNPtr
    signature: "IdentifierNNPtr JSONParser::buildId(const json &parentJ, const json
      &j,\n                                    bool removeInverseOf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6413,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6415,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6417,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:6418,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:6418,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6420,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6423,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6424,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6425,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6427,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6428,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:6431,1
    - Dst: JSONParser::buildId
      Src: /src/PROJ/src/iso19111/io.cpp:6431,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6433,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6434,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6435,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6436,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:6437,1
    - Dst: JSONParser::buildId
      Src: /src/PROJ/src/iso19111/io.cpp:6437,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6438,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6441,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6442,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6442,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6445,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6446,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/iso19111/io.cpp:6448,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6449,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6452,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6453,1
    - Dst: JSONParser::buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:6456,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6458,1
    - Dst: ArrayOfBaseObjectNNPtr::add
      Src: /src/PROJ/src/iso19111/io.cpp:6460,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6460,1
    - Dst: ArrayOfBaseObjectNNPtr::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6462,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6463,1
    - Dst: JSONParser::buildObjectDomain
      Src: /src/PROJ/src/iso19111/io.cpp:6466,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:6468,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6468,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 3
    argNames:
    - j
    - removeInverseOf
    - nameRequired
    argTypes:
    - json
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6473
      start: 6411
    functionDepth: 4
    functionLinenumber: 6411
    functionLinenumberEnd: 6473
    functionName: JSONParser::buildProperties
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 5
    functionsReached:
    - JSONParser::buildId
    - JSONParser::getString
    - PropertyMap::PropertyMap
    - is_object
    - auto::add
    - NN_NO_CHECK
    - std::string::substr
    - json::contains
    - ParsingException
    - PropertyMap::set
    - ArrayOfBaseObject::create
    - ArrayOfBaseObjectNNPtr::add
    - strlen
    - ArrayOfBaseObjectNNPtr::empty
    - JSONParser::getObject
    - JSONParser::buildObjectDomain
    - starts_with
    - JSONParser::getArray
    - auto::is_array
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap JSONParser::buildProperties(const json &j, bool removeInverseOf,\n
      \                                       bool nameRequired)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: json::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6480,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6481,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6483,1
    - Dst: JSONParser::buildGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6485,1
    - Dst: JSONParser::buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6488,1
    - Dst: JSONParser::buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6491,1
    - Dst: JSONParser::buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6494,1
    - Dst: JSONParser::buildCompoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6497,1
    - Dst: JSONParser::buildBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6500,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6503,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6506,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6511,1
    - Dst: JSONParser::create
      Src: /src/PROJ/src/iso19111/io.cpp:6515,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6515,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6516,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6518,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6520,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6520,1
    - Dst: JSONParser::buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6521,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6521,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6522,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6524,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6524,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6525,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6526,1
    - Dst: util::nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6527,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6529,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6529,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6530,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6531,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6532,1
    - Dst: JSONParser::buildDerivedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6535,1
    - Dst: JSONParser::buildDerivedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6539,1
    - Dst: JSONParser::buildDerivedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6542,1
    - Dst: JSONParser::buildDerivedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6545,1
    - Dst: JSONParser::buildDerivedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6548,1
    - Dst: JSONParser::buildDerivedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6552,1
    - Dst: JSONParser::buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6555,1
    - Dst: JSONParser::buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6558,1
    - Dst: JSONParser::buildVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6561,1
    - Dst: JSONParser::buildDynamicGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6564,1
    - Dst: JSONParser::buildDynamicVerticalReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:6567,1
    - Dst: JSONParser::buildEngineeringDatum
      Src: /src/PROJ/src/iso19111/io.cpp:6570,1
    - Dst: JSONParser::buildParametricDatum
      Src: /src/PROJ/src/iso19111/io.cpp:6573,1
    - Dst: JSONParser::buildTemporalDatum
      Src: /src/PROJ/src/iso19111/io.cpp:6576,1
    - Dst: JSONParser::buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:6579,1
    - Dst: JSONParser::buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:6582,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6585,1
    - Dst: JSONParser::buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6588,1
    - Dst: JSONParser::buildTransformation
      Src: /src/PROJ/src/iso19111/io.cpp:6591,1
    - Dst: JSONParser::buildPointMotionOperation
      Src: /src/PROJ/src/iso19111/io.cpp:6594,1
    - Dst: JSONParser::buildConcatenatedOperation
      Src: /src/PROJ/src/iso19111/io.cpp:6597,1
    - Dst: JSONParser::buildCoordinateMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:6600,1
    - Dst: JSONParser::buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:6603,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6605,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 111
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6606
      start: 6477
    functionDepth: 5
    functionLinenumber: 6477
    functionLinenumberEnd: 6606
    functionName: JSONParser::create
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - JSONParser::buildTransformation
    - JSONParser::getString
    - JSONParser::create
    - JSONParser::buildEngineeringDatum
    - JSONParser::buildGeographicCRS
    - NN_NO_CHECK
    - JSONParser::buildCRS
    - JSONParser::buildPointMotionOperation
    - DerivedGeodeticCRS::create
    - JSONParser::buildPrimeMeridian
    - ParsingException
    - JSONParser::buildConversion
    - JSONParser::buildCoordinateMetadata
    - util::nn_dynamic_pointer_cast<SphericalCS>
    - JSONParser::buildVerticalReferenceFrame
    - JSONParser::buildGeodeticCRS
    - JSONParser::buildCompoundCRS
    - JSONParser::buildProperties
    - JSONParser::buildTemporalDatum
    - JSONParser::buildConcatenatedOperation
    - JSONParser::buildGeodeticReferenceFrame
    - JSONParser::buildCS
    - JSONParser::buildBoundCRS
    - JSONParser::getObject
    - util::nn_dynamic_pointer_cast<CartesianCS>
    - JSONParser::buildDynamicVerticalReferenceFrame
    - JSONParser::buildEllipsoid
    - JSONParser::buildDerivedCRS
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - JSONParser::buildParametricDatum
    - JSONParser::buildDynamicGeodeticReferenceFrame
    - JSONParser::buildAxis
    - JSONParser::buildVerticalCRS
    - json::is_object
    - JSONParser::buildProjectedCRS
    - JSONParser::buildDatumEnsemble
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr JSONParser::create(const json &j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6613,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6614,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6616,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6617,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6618,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6620,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/io.cpp:6625,1
    - Dst: JSONParser::create
      Src: /src/PROJ/src/iso19111/io.cpp:6626,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6628,1
    - Dst: clear
      Src: /src/PROJ/src/iso19111/io.cpp:6631,1
    - Dst: JSONParser::buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6634,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - j
    - datum
    - datumEnsemble
    argTypes:
    - json
    - GeodeticReferenceFramePtr
    - DatumEnsemblePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6636
      start: 6610
    functionDepth: 6
    functionLinenumber: 6610
    functionLinenumberEnd: 6636
    functionName: JSONParser::buildGeodeticDatumOrDatumEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONParser::getString
    - JSONParser::create
    - json::contains
    - ParsingException
    - clear
    - util::nn_dynamic_pointer_cast<GeodeticReferenceFrame>
    - JSONParser::getArray
    - JSONParser::getObject
    - auto::empty
    - JSONParser::buildDatumEnsemble
    linkageType: ''
    returnType: void
    signature: "void JSONParser::buildGeodeticDatumOrDatumEnsemble(\n    const json
      &j, GeodeticReferenceFramePtr &datum,\n    DatumEnsemblePtr &datumEnsemble)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildGeodeticDatumOrDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6643,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6644,1
    - Dst: util::nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6646,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6646,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6648,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6650,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6650,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6652
      start: 6640
    functionDepth: 7
    functionLinenumber: 6640
    functionLinenumberEnd: 6652
    functionName: JSONParser::buildGeographicCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ParsingException
    - JSONParser::buildCS
    - JSONParser::buildGeodeticDatumOrDatumEnsemble
    - GeographicCRS::create
    - JSONParser::getObject
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<EllipsoidalCS>
    - JSONParser::buildProperties
    linkageType: ''
    returnType: GeographicCRSNNPtr
    signature: GeographicCRSNNPtr JSONParser::buildGeographicCRS(const json &j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildGeodeticDatumOrDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6659,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6660,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6661,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6662,1
    - Dst: nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6663,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:6665,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6666,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6670,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6671,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6673,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6673,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:6674,1
    - Dst: nn_dynamic_pointer_cast<SphericalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6678,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6681,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6682,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6684,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:6684,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:6685,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6689
      start: 6656
    functionDepth: 7
    functionLinenumber: 6656
    functionLinenumberEnd: 6689
    functionName: JSONParser::buildGeodeticCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ParsingException
    - JSONParser::buildCS
    - nn_dynamic_pointer_cast<SphericalCS>
    - GeodeticCRS::create
    - JSONParser::buildGeodeticDatumOrDatumEnsemble
    - what
    - JSONParser::getObject
    - NN_NO_CHECK
    - nn_dynamic_pointer_cast<CartesianCS>
    - std::string
    - JSONParser::buildProperties
    - auto::axisList
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr JSONParser::buildGeodeticCRS(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6694,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6695,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6696,1
    - Dst: dynamic_cast<EllipsoidalCS *>
      Src: /src/PROJ/src/iso19111/io.cpp:6697,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6697,1
    - Dst: util::nn_static_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6698,1
    - Dst: JSONParser::buildGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6699,1
    - Dst: JSONParser::buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6700,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6701,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6702,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6702,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6704,1
    - Dst: JSONParser::buildConversion
      Src: /src/PROJ/src/iso19111/io.cpp:6706,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6706,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6707,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6707,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6693
    functionDepth: 8
    functionLinenumber: 6693
    functionLinenumberEnd: 6709
    functionName: JSONParser::buildProjectedCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - ParsingException
    - JSONParser::buildCS
    - util::nn_static_pointer_cast<GeodeticCRS>
    - JSONParser::buildConversion
    - dynamic_cast<EllipsoidalCS *>
    - JSONParser::buildGeographicCRS
    - JSONParser::buildGeodeticCRS
    - JSONParser::getObject
    - NN_NO_CHECK
    - ProjectedCRS::create
    - util::nn_dynamic_pointer_cast<CartesianCS>
    - JSONParser::buildProperties
    linkageType: ''
    returnType: ProjectedCRSNNPtr
    signature: ProjectedCRSNNPtr JSONParser::buildProjectedCRS(const json &j)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6716,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6717,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6719,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6720,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:6721,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6723,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalReferenceFrame>
      Src: /src/PROJ/src/iso19111/io.cpp:6728,1
    - Dst: JSONParser::create
      Src: /src/PROJ/src/iso19111/io.cpp:6729,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6731,1
    - Dst: JSONParser::buildDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:6735,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6735,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6737,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:6738,1
    - Dst: JSONParser::buildCS
      Src: /src/PROJ/src/iso19111/io.cpp:6738,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6740,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6745,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6746,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6747,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6747,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6749,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6751,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6752,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6754,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/io.cpp:6758,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:6758,1
    - Dst: std::vector<OperationParameterNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:6759,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6763,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6764,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6765,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:6766,1
    - Dst: buildGeoidModel
      Src: /src/PROJ/src/iso19111/io.cpp:6766,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6767,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6768,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/io.cpp:6769,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/io.cpp:6771,1
    - Dst: buildGeoidModel
      Src: /src/PROJ/src/iso19111/io.cpp:6771,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:6773,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6776,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6777,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6778
      start: 6713
    functionDepth: 6
    functionLinenumber: 6713
    functionLinenumberEnd: 6778
    functionName: JSONParser::buildVerticalCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - buildGeoidModel
    - JSONParser::getString
    - JSONParser::create
    - OperationMethod::create
    - auto::add
    - NN_NO_CHECK
    - Transformation::create
    - JSONParser::buildCRS
    - json::contains
    - ParsingException
    - ArrayOfBaseObject::create
    - util::nn_dynamic_pointer_cast<VerticalReferenceFrame>
    - VerticalCRS::create
    - JSONParser::buildProperties
    - auto::set
    - util::nn_dynamic_pointer_cast<VerticalCS>
    - JSONParser::buildCS
    - JSONParser::getObject
    - contains
    - PropertyMap
    - std::vector<OperationParameterNNPtr>
    - JSONParser::getArray
    - auto::empty
    - JSONParser::buildDatumEnsemble
    linkageType: ''
    returnType: VerticalCRSNNPtr
    signature: VerticalCRSNNPtr JSONParser::buildVerticalCRS(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:6783,1
    - Dst: JSONParser::create
      Src: /src/PROJ/src/iso19111/io.cpp:6783,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6785,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6788
      start: 6782
    functionDepth: 6
    functionLinenumber: 6782
    functionLinenumberEnd: 6788
    functionName: JSONParser::buildCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - JSONParser::create
    - NN_NO_CHECK
    - ParsingException
    - util::nn_dynamic_pointer_cast<CRS>
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr JSONParser::buildCRS(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6793,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6796,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6797,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:6800,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6800,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6802,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6803
      start: 6792
    functionDepth: 5
    functionLinenumber: 6792
    functionLinenumberEnd: 6803
    functionName: JSONParser::buildCompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - CompoundCRS::create
    - ParsingException
    - std::vector::push_back
    - is_object
    - JSONParser::getArray
    - JSONParser::buildCRS
    - JSONParser::buildProperties
    linkageType: ''
    returnType: CompoundCRSNNPtr
    signature: CompoundCRSNNPtr JSONParser::buildCompoundCRS(const json &j)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6808,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6809,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6810,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6811,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:6812,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6815,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6819,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6820,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6823,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6824,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6824,1
    - Dst: isIntegerParameter
      Src: /src/PROJ/src/iso19111/io.cpp:6825,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/io.cpp:6825,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6826,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6827,1
    - Dst: JSONParser::getInteger
      Src: /src/PROJ/src/iso19111/io.cpp:6827,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6829,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6829,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6829,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:6833,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:6838,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:6839,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6840,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:6841,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6843,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6844,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:6845,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/io.cpp:6845,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:6846,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6849,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:6852,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6854,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6856
      start: 6807
    functionDepth: 5
    functionLinenumber: 6807
    functionLinenumberEnd: 6856
    functionName: JSONParser::buildConversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 3
    functionsReached:
    - JSONParser::getMeasure
    - is_object
    - Conversion::create
    - NN_NO_CHECK
    - ParameterValue::create
    - json::contains
    - ParsingException
    - std::vector::back
    - auto::getStringValue
    - JSONParser::buildProperties
    - JSONParser::getObject
    - JSONParser::getInteger
    - starts_with
    - auto::setInterpolationCRS
    - isIntegerParameter
    - JSONParser::getArray
    - dealWithEPSGCodeForInterpolationCRSParameter
    - util::nn_dynamic_pointer_cast<Conversion>
    - OperationParameter::create
    - std::vector::emplace_back
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr JSONParser::buildConversion(const json &j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6862,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6862,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6863,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6863,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6864,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6865,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6866,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6870,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6871,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6874,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6875,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6875,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6876,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6878,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6879,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:6880,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6880,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6884,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6884,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6884,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6892,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6894,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6894,1
    - Dst: dealWithEPSGCodeForInterpolationCRSParameter
      Src: /src/PROJ/src/iso19111/io.cpp:6896,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6898,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6899,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6900,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:6901,1
    - Dst: buildTransformationForBoundCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6904,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6905,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6906,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:6909,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6909,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6913
      start: 6860
    functionDepth: 5
    functionLinenumber: 6860
    functionLinenumberEnd: 6913
    functionName: JSONParser::buildBoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - JSONParser::getMeasure
    - is_object
    - Transformation::create
    - JSONParser::buildCRS
    - BoundCRS::create
    - ParameterValue::create
    - ParsingException
    - std::vector<PositionalAccuracyNNPtr>
    - JSONParser::buildProperties
    - auto::is_string
    - JSONParser::getObject
    - buildTransformationForBoundCRS
    - contains
    - auto::contains
    - JSONParser::getArray
    - dealWithEPSGCodeForInterpolationCRSParameter
    - OperationParameter::create
    - std::vector::emplace_back
    - ParameterValue::createFilename
    linkageType: ''
    returnType: BoundCRSNNPtr
    signature: BoundCRSNNPtr JSONParser::buildBoundCRS(const json &j)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6919,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6919,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6920,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6920,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6921,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6922,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6926,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6927,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6930,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6931,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6931,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6932,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6934,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6935,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:6936,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6936,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6940,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6940,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6940,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6943,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6945,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6945,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6948,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:6949,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:6950,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6950,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6953,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6953,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6954,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6956
      start: 6917
    functionDepth: 5
    functionLinenumber: 6917
    functionLinenumberEnd: 6956
    functionName: JSONParser::buildTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - JSONParser::getMeasure
    - JSONParser::getString
    - is_object
    - Transformation::create
    - JSONParser::buildCRS
    - PositionalAccuracy::create
    - ParameterValue::create
    - ParsingException
    - json::contains
    - JSONParser::buildProperties
    - auto::is_string
    - std::vector::push_back
    - JSONParser::getObject
    - contains
    - JSONParser::getArray
    - OperationParameter::create
    - std::vector::emplace_back
    - ParameterValue::createFilename
    linkageType: ''
    returnType: TransformationNNPtr
    signature: TransformationNNPtr JSONParser::buildTransformation(const json &j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:6962,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6962,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:6963,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:6964,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:6968,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:6969,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6972,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:6973,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6973,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:6974,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:6976,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6977,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/io.cpp:6978,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:6978,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:6982,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:6982,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:6982,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:6985,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:6986,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:6987,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:6987,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:6990,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6990,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:6991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6993
      start: 6960
    functionDepth: 5
    functionLinenumber: 6960
    functionLinenumberEnd: 6993
    functionName: JSONParser::buildPointMotionOperation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - JSONParser::getMeasure
    - JSONParser::getString
    - is_object
    - JSONParser::buildCRS
    - PositionalAccuracy::create
    - ParameterValue::create
    - ParsingException
    - json::contains
    - JSONParser::buildProperties
    - auto::is_string
    - std::vector::push_back
    - JSONParser::getObject
    - contains
    - JSONParser::getArray
    - PointMotionOperation::create
    - OperationParameter::create
    - std::vector::emplace_back
    - ParameterValue::createFilename
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: PointMotionOperationNNPtr JSONParser::buildPointMotionOperation(const
      json &j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:7000,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7000,1
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:7001,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7001,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:7002,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7005,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7006,1
    - Dst: nn_dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/io.cpp:7008,1
    - Dst: JSONParser::create
      Src: /src/PROJ/src/iso19111/io.cpp:7008,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7010,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7012,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7012,1
    - Dst: ConcatenatedOperation::fixSteps
      Src: /src/PROJ/src/iso19111/io.cpp:7015,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7020,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:7021,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:7022,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7022,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/io.cpp:7026,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7026,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7029,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7030,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:7030,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7032
      start: 6997
    functionDepth: 6
    functionLinenumber: 6997
    functionLinenumberEnd: 7032
    functionName: JSONParser::buildConcatenatedOperation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::create
    - JSONParser::getString
    - ParsingException
    - json::contains
    - is_object
    - ConcatenatedOperation::fixSteps
    - std::vector::push_back
    - JSONParser::buildProperties
    - JSONParser::getArray
    - what
    - JSONParser::getObject
    - NN_NO_CHECK
    - JSONParser::buildCRS
    - std::string
    - nn_dynamic_pointer_cast<CoordinateOperation>
    - std::vector::emplace_back
    - PositionalAccuracy::create
    - ConcatenatedOperation::create
    linkageType: ''
    returnType: ConcatenatedOperationNNPtr
    signature: ConcatenatedOperationNNPtr JSONParser::buildConcatenatedOperation(const
      json &j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:7038,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7038,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7039,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:7041,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:7042,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7043,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7045,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:7048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7049
      start: 7036
    functionDepth: 3
    functionLinenumber: 7036
    functionLinenumberEnd: 7049
    functionName: JSONParser::buildCoordinateMetadata
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - auto::is_number
    - json::contains
    - ParsingException
    - JSONParser::getObject
    - JSONParser::buildCRS
    - CoordinateMetadata::create
    linkageType: ''
    returnType: CoordinateMetadataNNPtr
    signature: CoordinateMetadataNNPtr JSONParser::buildCoordinateMetadata(const json
      &j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7054,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7055,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:7058,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7059,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7060,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7060,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7061,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7062,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7062,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:7062,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7065
      start: 7053
    functionDepth: 4
    functionLinenumber: 7053
    functionLinenumberEnd: 7065
    functionName: JSONParser::buildMeridian
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - JSONParser::getMeasure
    - Angle
    - auto::is_number
    - ParsingException
    - json::contains
    - auto::is_object
    - Meridian::create
    linkageType: ''
    returnType: MeridianNNPtr
    signature: MeridianNNPtr JSONParser::buildMeridian(const json &j)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7070,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7071,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7073,1
    - Dst: JSONParser::getUnit
      Src: /src/PROJ/src/iso19111/io.cpp:7074,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:7075,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7075,1
    - Dst: AxisDirection::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:7076,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7078,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7078,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7080,1
    - Dst: JSONParser::buildMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7081,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7081,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7085,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7086,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7090,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7091,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7095,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7096,1
    - Dst: RangeMeaning::valueOf
      Src: /src/PROJ/src/iso19111/io.cpp:7097,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7099,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7100,1
    - Dst: util::optional<RangeMeaning>
      Src: /src/PROJ/src/iso19111/io.cpp:7102,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:7105,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7108
      start: 7069
    functionDepth: 5
    functionLinenumber: 7069
    functionLinenumberEnd: 7108
    functionName: JSONParser::buildAxis
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::getString
    - JSONParser::getNumber
    - json::contains
    - ParsingException
    - RangeMeaning::valueOf
    - AxisDirection::valueOf
    - JSONParser::getUnit
    - concat
    - CoordinateSystemAxis::create
    - JSONParser::getObject
    - JSONParser::buildMeridian
    - UnitOfMeasure
    - std::string
    - JSONParser::buildProperties
    - util::optional<RangeMeaning>
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: CoordinateSystemAxisNNPtr JSONParser::buildAxis(const json &j)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7113,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7114,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7115,1
    - Dst: auto::is_array
      Src: /src/PROJ/src/iso19111/io.cpp:7118,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7119,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7123,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7124,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7127,1
    - Dst: JSONParser::buildAxis
      Src: /src/PROJ/src/iso19111/io.cpp:7127,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7130,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7133,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7136,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7139,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7143,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7143,1
    - Dst: JSONParser::emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:7144,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7147,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7151,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7151,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7152,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:7152,1
    - Dst: JSONParser::emitRecoverableWarning
      Src: /src/PROJ/src/iso19111/io.cpp:7153,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7156,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7160,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7164,1
    - Dst: AffineCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7167,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7170,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7174,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7176,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7182,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7184,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7187,1
    - Dst: OrdinalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7190,1
    - Dst: ParametricCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7194,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7196,1
    - Dst: DateTimeTemporalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7200,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7202,1
    - Dst: TemporalCountCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7206,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7208,1
    - Dst: TemporalMeasureCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7212,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7214,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7216,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7217
      start: 7112
    functionDepth: 6
    functionLinenumber: 7112
    functionLinenumberEnd: 7217
    functionName: JSONParser::buildCS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 7
    functionsReached:
    - JSONParser::getString
    - JSONParser::emitRecoverableWarning
    - is_object
    - SphericalCS::create
    - std::vector::size
    - TemporalMeasureCS::create
    - ParsingException
    - json::contains
    - AffineCS::create
    - TemporalCountCS::create
    - unit
    - ParametricCS::create
    - CartesianCS::create
    - VerticalCS::create
    - DateTimeTemporalCS::create
    - OrdinalCS::create
    - JSONParser::buildAxis
    - EllipsoidalCS::create
    - auto::is_array
    - std::vector::emplace_back
    linkageType: ''
    returnType: CoordinateSystemNNPtr
    signature: CoordinateSystemNNPtr JSONParser::buildCS(const json &j)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7223,1
    - Dst: JSONParser::getArray
      Src: /src/PROJ/src/iso19111/io.cpp:7224,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7225,1
    - Dst: is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7227,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7228,1
    - Dst: contains
      Src: /src/PROJ/src/iso19111/io.cpp:7233,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7234,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7235,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7236,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7237,1
    - Dst: auto::is_string
      Src: /src/PROJ/src/iso19111/io.cpp:7240,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7241,1
    - Dst: auto::is_number_integer
      Src: /src/PROJ/src/iso19111/io.cpp:7242,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:7243,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7243,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7245,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:7249,1
    - Dst: auto::createDatum
      Src: /src/PROJ/src/iso19111/io.cpp:7249,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7260,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7261,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7261,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7262,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7265,1
    - Dst: util::nn_dynamic_pointer_cast<Datum>
      Src: /src/PROJ/src/iso19111/io.cpp:7267,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:7267,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7269,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:7271,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7271,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7279,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7279,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7280,1
    - Dst: JSONParser::buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7281,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7281,1
    - Dst: optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:7282,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7284,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7284,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7285,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7290,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7292,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7292,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7293,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7294,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7296,1
    - Dst: dynamic_cast<const DatumEnsemble *>
      Src: /src/PROJ/src/iso19111/io.cpp:7298,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:7298,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/io.cpp:7300,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7303,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7308,1
    - Dst: DatumEnsemble::create
      Src: /src/PROJ/src/iso19111/io.cpp:7314,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7315,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/io.cpp:7316,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7316,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7317
      start: 7221
    functionDepth: 5
    functionLinenumber: 7221
    functionLinenumberEnd: 7317
    functionName: JSONParser::buildDatumEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 3
    functionsReached:
    - auto::get
    - JSONParser::getString
    - toString
    - is_object
    - NN_NO_CHECK
    - VerticalReferenceFrame::create
    - PositionalAccuracy::create
    - ParsingException
    - json::contains
    - auto::datums
    - DatumEnsemble::create
    - std::string
    - auto::createDatum
    - GeodeticReferenceFrame::create
    - auto::is_string
    - JSONParser::buildProperties
    - dynamic_cast<const DatumEnsemble *>
    - auto::front
    - auto::size
    - std::vector::push_back
    - JSONParser::getObject
    - contains
    - optional<std::string>
    - util::nn_dynamic_pointer_cast<Datum>
    - JSONParser::buildEllipsoid
    - auto::createObjectsFromName
    - std::vector::emplace_back
    - JSONParser::getArray
    - auto::empty
    - auto::is_number_integer
    - AuthorityFactory::create
    linkageType: ''
    returnType: DatumEnsembleNNPtr
    signature: DatumEnsembleNNPtr JSONParser::buildDatumEnsemble(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7323,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7324,1
    - Dst: JSONParser::buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7325,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7325,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7327,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7327,1
    - Dst: JSONParser::buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7328,1
    - Dst: JSONParser::getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7329,1
    - Dst: JSONParser::getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:7329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7330
      start: 7321
    functionDepth: 5
    functionLinenumber: 7321
    functionLinenumberEnd: 7330
    functionName: JSONParser::buildGeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::buildEllipsoid
    - JSONParser::getAnchorEpoch
    - JSONParser::buildPrimeMeridian
    - json::contains
    - JSONParser::getObject
    - JSONParser::getAnchor
    - JSONParser::buildProperties
    - GeodeticReferenceFrame::create
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: GeodeticReferenceFrameNNPtr JSONParser::buildGeodeticReferenceFrame(const
      json &j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7336,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7337,1
    - Dst: JSONParser::buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7338,1
    - Dst: JSONParser::getObject
      Src: /src/PROJ/src/iso19111/io.cpp:7338,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7340,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:7342,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7343,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7345,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:7346,1
    - Dst: DynamicGeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7349,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7350,1
    - Dst: JSONParser::buildEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7350,1
    - Dst: JSONParser::getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7352
      start: 7334
    functionDepth: 5
    functionLinenumber: 7334
    functionLinenumberEnd: 7352
    functionName: JSONParser::buildDynamicGeodeticReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::buildEllipsoid
    - JSONParser::getString
    - optional::optional
    - JSONParser::buildPrimeMeridian
    - JSONParser::getNumber
    - json::contains
    - DynamicGeodeticReferenceFrame::create
    - JSONParser::getObject
    - empty
    - JSONParser::getAnchor
    - JSONParser::buildProperties
    linkageType: ''
    returnType: DynamicGeodeticReferenceFrameNNPtr
    signature: DynamicGeodeticReferenceFrameNNPtr JSONParser::buildDynamicGeodeticReferenceFrame(const
      json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7358,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7358,1
    - Dst: JSONParser::getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7358,1
    - Dst: JSONParser::getAnchorEpoch
      Src: /src/PROJ/src/iso19111/io.cpp:7359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7360
      start: 7356
    functionDepth: 5
    functionLinenumber: 7356
    functionLinenumberEnd: 7360
    functionName: JSONParser::buildVerticalReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::getAnchorEpoch
    - JSONParser::getAnchor
    - VerticalReferenceFrame::create
    - JSONParser::buildProperties
    linkageType: ''
    returnType: VerticalReferenceFrameNNPtr
    signature: VerticalReferenceFrameNNPtr JSONParser::buildVerticalReferenceFrame(const
      json &j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7366,1
    - Dst: optional::optional
      Src: /src/PROJ/src/iso19111/io.cpp:7368,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7369,1
    - Dst: JSONParser::getString
      Src: /src/PROJ/src/iso19111/io.cpp:7371,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:7372,1
    - Dst: DynamicVerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:7375,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7376,1
    - Dst: JSONParser::getAnchor
      Src: /src/PROJ/src/iso19111/io.cpp:7376,1
    - Dst: util::optional<RealizationMethod>
      Src: /src/PROJ/src/iso19111/io.cpp:7376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7378
      start: 7364
    functionDepth: 5
    functionLinenumber: 7364
    functionLinenumberEnd: 7378
    functionName: JSONParser::buildDynamicVerticalReferenceFrame
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - JSONParser::getString
    - optional::optional
    - JSONParser::getNumber
    - json::contains
    - util::optional<RealizationMethod>
    - DynamicVerticalReferenceFrame::create
    - empty
    - JSONParser::getAnchor
    - JSONParser::buildProperties
    linkageType: ''
    returnType: DynamicVerticalReferenceFrameNNPtr
    signature: DynamicVerticalReferenceFrameNNPtr JSONParser::buildDynamicVerticalReferenceFrame(const
      json &j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7383,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7384,1
    - Dst: auto::is_number
      Src: /src/PROJ/src/iso19111/io.cpp:7387,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7388,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7389,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7390,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7390,1
    - Dst: auto::is_object
      Src: /src/PROJ/src/iso19111/io.cpp:7391,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:7392,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7392,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:7393,1
    - Dst: JSONParser::getMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:7393,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7396
      start: 7382
    functionDepth: 5
    functionLinenumber: 7382
    functionLinenumberEnd: 7396
    functionName: JSONParser::buildPrimeMeridian
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 3
    functionsReached:
    - auto::get
    - JSONParser::getMeasure
    - Angle
    - auto::is_number
    - ParsingException
    - json::contains
    - PrimeMeridian::create
    - auto::is_object
    - JSONParser::buildProperties
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: PrimeMeridianNNPtr JSONParser::buildPrimeMeridian(const json &j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7401,1
    - Dst: JSONParser::getLength
      Src: /src/PROJ/src/iso19111/io.cpp:7402,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7403,1
    - Dst: auto::getStringValue
      Src: /src/PROJ/src/iso19111/io.cpp:7405,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:7406,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:7407,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7408,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/io.cpp:7409,1
    - Dst: JSONParser::getLength
      Src: /src/PROJ/src/iso19111/io.cpp:7410,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7412,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:7413,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:7415,1
    - Dst: JSONParser::getNumber
      Src: /src/PROJ/src/iso19111/io.cpp:7415,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7417,1
    - Dst: json::contains
      Src: /src/PROJ/src/iso19111/io.cpp:7420,1
    - Dst: JSONParser::getLength
      Src: /src/PROJ/src/iso19111/io.cpp:7421,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:7423,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/io.cpp:7423,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:7424,1
    - Dst: JSONParser::buildProperties
      Src: /src/PROJ/src/iso19111/io.cpp:7424,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7428
      start: 7400
    functionDepth: 5
    functionLinenumber: 7400
    functionLinenumberEnd: 7428
    functionName: JSONParser::buildEllipsoid
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 4
    functionsReached:
    - Scale
    - JSONParser::getLength
    - auto::getSIValue
    - json::contains
    - Ellipsoid::createTwoAxis
    - JSONParser::getNumber
    - ParsingException
    - Ellipsoid::createSphere
    - Ellipsoid::guessBodyName
    - auto::getStringValue
    - JSONParser::buildProperties
    - Ellipsoid::createFlattenedSphere
    linkageType: ''
    returnType: EllipsoidNNPtr
    signature: EllipsoidNNPtr JSONParser::buildEllipsoid(const json &j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7451
      start: 7444
    functionDepth: 0
    functionLinenumber: 7444
    functionLinenumberEnd: 7451
    functionName: isCRSURL
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - starts_with
    linkageType: ''
    returnType: bool
    signature: bool isCRSURL(const std::string &text)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7458,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7459,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:7459,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7459,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7466,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7466,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7467,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:7467,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7467,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7470,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7471,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7472,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7475,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7477,1
    - Dst: std::map::size
      Src: /src/PROJ/src/iso19111/io.cpp:7482,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:7483,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:7483,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:7484,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7485,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:7487,1
    - Dst: importFromCRSURL
      Src: /src/PROJ/src/iso19111/io.cpp:7487,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7488,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/io.cpp:7491,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7493,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7494,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7498,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7499,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7505,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7506,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7509,1
    - Dst: DatabaseContextNNPtr::getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7511,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7515,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7516,1
    - Dst: DatabaseContextNNPtr::getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:7524,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7529,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7530,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 2
    argNames:
    - text
    - dbContext
    argTypes:
    - std::string
    - DatabaseContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7532
      start: 7453
    functionDepth: 3
    functionLinenumber: 7453
    functionLinenumberEnd: 7532
    functionName: importFromCRSURL
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - std::map::end
    - PropertyMap::PropertyMap
    - std::vector::size
    - split
    - std::vector::empty
    - std::string::substr
    - ParsingException
    - auto::createCoordinateReferenceSystem
    - DatabaseContextNNPtr::getVersionedAuthoritiesFromName
    - std::string::find
    - std::vector::back
    - importFromCRSURL
    - strlen
    - std::map::size
    - DatabaseContextNNPtr::getVersionedAuthority
    - std::string::empty
    - CompoundCRS::create
    - auto::size
    - std::map::find
    - static_cast<int>
    - starts_with
    - std::stoi
    - auto::empty
    - std::vector::emplace_back
    - AuthorityFactory::create
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr importFromCRSURL(const std::string &text,\n                                 const
      DatabaseContextNNPtr &dbContext)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:7551,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7551,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7552,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:7552,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7552,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7556,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7557,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7558,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7559,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7560,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7560,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7561,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7562,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7563,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7564,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7565,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7566,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7566,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7567,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7569,1
    - Dst: std::stoi
      Src: /src/PROJ/src/iso19111/io.cpp:7573,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7577,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/src/iso19111/io.cpp:7580,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7581,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:7582,1
    - Dst: floor
      Src: /src/PROJ/src/iso19111/io.cpp:7582,1
    - Dst: Conversion::createTransverseMercator
      Src: /src/PROJ/src/iso19111/io.cpp:7586,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7587,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7587,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7588,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/io.cpp:7588,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7589,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7590,1
    - Dst: Conversion::createOrthographic
      Src: /src/PROJ/src/iso19111/io.cpp:7593,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7594,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7594,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7595,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7595,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7596,1
    - Dst: Conversion::createEquidistantCylindrical
      Src: /src/PROJ/src/iso19111/io.cpp:7599,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7600,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7600,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7602,1
    - Dst: Conversion::createMollweide
      Src: /src/PROJ/src/iso19111/io.cpp:7605,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7606,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/io.cpp:7606,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7607,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/io.cpp:7607,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7610,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7627,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7632,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7633,1
    - Dst: getConversion
      Src: /src/PROJ/src/iso19111/io.cpp:7634,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:7635,1
    - Dst: getUnits
      Src: /src/PROJ/src/iso19111/io.cpp:7635,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7638,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts:
    - condition: (ci_starts_with(text, "AUTO:"))
      pos:
        line_end: 7550
        line_start: 7550
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 7640
      start: 7545
    functionDepth: 2
    functionLinenumber: 7545
    functionLinenumberEnd: 7640
    functionName: importFromWMSAUTO
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - Conversion::createMollweide
    - ci_starts_with
    - PropertyMap::PropertyMap
    - createLength
    - split
    - std::string::substr
    - ParsingException
    - Conversion::createTransverseMercator
    - assert
    - getUnits
    - strlen
    - ProjectedCRS::create
    - auto::size
    - static_cast<int>
    - createAngle
    - getConversion
    - Conversion::createOrthographic
    - floor
    - Conversion::createEquidistantCylindrical
    - c_locale_stod
    - CartesianCS::createEastingNorthing
    - Scale::Scale
    - Conversion::createUTM
    - std::stoi
    linkageType: ''
    returnType: CRSNNPtr
    signature: CRSNNPtr importFromWMSAUTO(const std::string &text)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7650,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7654,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7654,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7656,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:7659,1
    - Dst: auto::createDatum
      Src: /src/PROJ/src/iso19111/io.cpp:7662,1
    - Dst: auto::createDatumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:7665,1
    - Dst: auto::createEllipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:7668,1
    - Dst: auto::createPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:7671,1
    - Dst: auto::createCoordinateMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:7675,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7677,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7677,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7679,1
    - Dst: DatabaseContextPtr::getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7681,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:7684,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7685,1
    - Dst: DatabaseContextPtr::getVersionedAuthority
      Src: /src/PROJ/src/iso19111/io.cpp:7692,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:7696,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7697,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 5
    argNames:
    - dbContext
    - type
    - authName
    - version
    - code
    argTypes:
    - DatabaseContextPtr
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7699
      start: 7644
    functionDepth: 2
    functionLinenumber: 7644
    functionLinenumberEnd: 7699
    functionName: createFromURNPart
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - std::string::empty
    - auto::createEllipsoid
    - ParsingException
    - auto::createCoordinateReferenceSystem
    - auto::createCoordinateMetadata
    - DatabaseContextPtr::getVersionedAuthority
    - concat
    - auto::createPrimeMeridian
    - auto::createCoordinateOperation
    - NN_NO_CHECK
    - DatabaseContextPtr::getVersionedAuthoritiesFromName
    - createFromURNPart
    - std::string
    - auto::createDatum
    - AuthorityFactory::create
    - auto::createDatumEnsemble
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: "BaseObjectNNPtr createFromURNPart(const DatabaseContextPtr &dbContext,\n
      \                                        const std::string &type,\n                                         const
      std::string &authName,\n                                         const std::string
      &version,\n                                         const std::string &code)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_not_of
      Src: /src/PROJ/src/iso19111/io.cpp:7708,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:7710,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:7710,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7716,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:7721,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:7726,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7727,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/io.cpp:7727,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:7728,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:7728,1
    - Dst: std::string::find_first_not_of
      Src: /src/PROJ/src/iso19111/io.cpp:7729,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:7732,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7734,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:7738,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:7738,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7740,1
    - Dst: CoordinateMetadata::create
      Src: /src/PROJ/src/iso19111/io.cpp:7743,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7743,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7746,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:7747,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:7749,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:7755,1
    - Dst: yyparse
      Src: /src/PROJ/src/iso19111/io.cpp:7758,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7760,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7764,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/io.cpp:7764,1
    - Dst: JSONParser
      Src: /src/PROJ/src/iso19111/io.cpp:7766,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7772,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7773,1
    - Dst: WKTConstants::constants
      Src: /src/PROJ/src/iso19111/io.cpp:7774,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7775,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:7776,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:7776,1
    - Dst: isspace
      Src: /src/PROJ/src/iso19111/io.cpp:7778,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:7778,1
    - Dst: WKTParser
      Src: /src/PROJ/src/iso19111/io.cpp:7781,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:7792,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:7796,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7796,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7797,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7798,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:7799,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7799,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7800,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7801,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:7802,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:7802,1
    - Dst: PROJStringParser
      Src: /src/PROJ/src/iso19111/io.cpp:7803,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/src/iso19111/io.cpp:7807,1
    - Dst: isCRSURL
      Src: /src/PROJ/src/iso19111/io.cpp:7813,1
    - Dst: importFromCRSURL
      Src: /src/PROJ/src/iso19111/io.cpp:7814,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7814,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7817,1
    - Dst: importFromWMSAUTO
      Src: /src/PROJ/src/iso19111/io.cpp:7818,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:7822,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7823,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7824,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7826,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7831,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7833,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:7838,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7839,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7840,1
    - Dst: DatabaseContextNNPtr::getVersionedAuthoritiesFromName
      Src: /src/PROJ/src/iso19111/io.cpp:7844,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7847,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7849,1
    - Dst: DatabaseContextNNPtr::getAuthorities
      Src: /src/PROJ/src/iso19111/io.cpp:7854,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:7856,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7858,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7860,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7863,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7864,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7865,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7867,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:7869,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7870,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7872,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7872,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:7881,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7883,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7884,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7886,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7895,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7896,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7897,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7898,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:7899,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7900,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7901,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7902,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7907,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7909,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7911,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7912,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7912,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7913,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:7914,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7918,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7919,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7920,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7921,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7924,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7924,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7926,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7929,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7930,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7931,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7932,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7935,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7935,1
    - Dst: auto::createCoordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7936,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:7939,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:7940,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:7941,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:7942,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:7945,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7945,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:7946,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7948,1
    - Dst: util::nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7951,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:7953,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/io.cpp:7954,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:7958,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:7960,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/io.cpp:7962,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7963,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7965,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7967,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7968,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7969,1
    - Dst: util::nn_dynamic_pointer_cast<EllipsoidalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7972,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7973,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7974,1
    - Dst: dynamic_cast<GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:7976,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7976,1
    - Dst: dynamic_cast<CartesianCS *>
      Src: /src/PROJ/src/iso19111/io.cpp:7977,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:7977,1
    - Dst: DerivedGeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7978,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7980,1
    - Dst: util::nn_dynamic_pointer_cast<GeodeticCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7980,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7983,1
    - Dst: util::nn_dynamic_pointer_cast<CartesianCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7984,1
    - Dst: util::nn_dynamic_pointer_cast<ProjectedCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7986,1
    - Dst: DerivedProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:7988,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:7988,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:7991,1
    - Dst: util::nn_dynamic_pointer_cast<VerticalCS>
      Src: /src/PROJ/src/iso19111/io.cpp:7994,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:7995,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:7999,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:8001,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8001,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:8001,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:8011,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:8011,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:8012,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:8014,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/io.cpp:8018,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:8024,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:8025,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8025,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:8026,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/io.cpp:8030,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:8031,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8031,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:8032,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:8039,1
    - Dst: DerivedVerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:8041,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8042,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8043,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8048,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8057,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8058,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8059,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8060,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8061,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:8065,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8065,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/io.cpp:8068,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:8069,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:8070,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8073,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8075,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8076,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:8079,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:8080,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8086,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8088,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8090,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8092,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8093,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8094,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8095,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8095,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:8100,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8100,1
    - Dst: auto::createCoordinateOperation
      Src: /src/PROJ/src/iso19111/io.cpp:8103,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:8104,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8106,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/io.cpp:8107,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/io.cpp:8110,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8114,1
    - Dst: tolower
      Src: /src/PROJ/src/iso19111/io.cpp:8114,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:8120,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8124,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8125,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:8126,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:8126,1
    - Dst: importFromWMSAUTO
      Src: /src/PROJ/src/iso19111/io.cpp:8127,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/io.cpp:8127,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8132,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:8137,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:8141,1
    - Dst: createFromURNPart
      Src: /src/PROJ/src/iso19111/io.cpp:8145,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:8145,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/io.cpp:8151,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8151,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:8151,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/io.cpp:8159,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8161,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:8162,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8164,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8165,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:8170,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:8170,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:8172,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:8174,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/io.cpp:8185,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8186,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8186,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/io.cpp:8189,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8204,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8212,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8214,1
    - Dst: searchObject
      Src: /src/PROJ/src/iso19111/io.cpp:8225,1
    - Dst: searchObject
      Src: /src/PROJ/src/iso19111/io.cpp:8231,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:8237,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8238,1
    - Dst: searchCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8239,1
    - Dst: searchCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8240,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:8241,1
    - Dst: std::dynamic_pointer_cast<CRS>
      Src: /src/PROJ/src/iso19111/io.cpp:8242,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:8245,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:8246,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8247,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8248,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8249,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8249,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8266,1
    - Dst: searchObject
      Src: /src/PROJ/src/iso19111/io.cpp:8269,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8282,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8282,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8283,1
    - Dst: CompoundCRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8287,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8287,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8288,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:8293,1
    CyclomaticComplexity: 155
    EdgeCount: 155
    ICount: 294
    argCount: 5
    argNames:
    - text
    - dbContext
    - usePROJ4InitRules
    - ctx
    - ignoreCoordinateEpoch
    argTypes:
    - std::string
    - DatabaseContextPtr
    - bool
    - PJ_CONTEXT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8294
      start: 7703
    functionDepth: 4
    functionLinenumber: 7703
    functionLinenumberEnd: 8294
    functionName: createFromUserInput
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 147
    functionsReached:
    - searchCRS
    - dynamic_cast<crs::GeographicCRS *>
    - std::vector::size
    - CoordinateMetadata::create
    - proj_context_get_use_proj4_init_rules
    - auto::method
    - std::string::substr
    - DatabaseContextNNPtr::getVersionedAuthoritiesFromName
    - util::nn_dynamic_pointer_cast<GeographicCRS>
    - util::nn_dynamic_pointer_cast<VerticalCRS>
    - dynamic_cast<CartesianCS *>
    - ProjectedCRS::create
    - std::string
    - replaceAll
    - JSONParser
    - std::string::empty
    - auto::set
    - std::string::resize
    - yyparse
    - auto::find
    - isCRSURL
    - searchObject
    - util::nn_dynamic_pointer_cast<CartesianCS>
    - c_str
    - starts_with
    - auto::createObjectsFromName
    - static_cast<unsigned char>
    - NN_NO_CHECK
    - DerivedGeographicCRS::create
    - importFromWMSAUTO
    - std::string::find
    - WKTConstants::constants
    - strlen
    - what
    - size
    - CompoundCRS::create
    - DerivedVerticalCRS::create
    - concat
    - auto::createCoordinateOperation
    - ci_equal
    - createFromURNPart
    - createFromUserInput
    - CompoundCRS::createLax
    - WKTParser
    - Identifier::isEquivalentName
    - auto::get
    - strncmp
    - auto::coordinateSystem
    - PropertyMap::PropertyMap
    - auto::createCoordinateSystem
    - util::nn_dynamic_pointer_cast<ProjectedCRS>
    - std::string::back
    - tolower
    - ParsingException
    - auto::createCoordinateReferenceSystem
    - ends_with
    - auto::as_nullable
    - importFromCRSURL
    - ConcatenatedOperation::createComputeMetadata
    - util::nn_dynamic_pointer_cast<EllipsoidalCS>
    - nn_dynamic_pointer_cast<CRS>
    - unit
    - CompoundCRSPtr::nameStr
    - util::nn_dynamic_pointer_cast<GeodeticCRS>
    - c_locale_stod
    - DatabaseContextNNPtr::getAuthorities
    - std::vector::emplace_back
    - std::string::c_str
    - ci_starts_with
    - split
    - DerivedGeodeticCRS::create
    - auto::nameStr
    - std::string::size
    - dynamic_cast<GeodeticCRS *>
    - auto::front
    - std::string::find_first_not_of
    - auto::size
    - util::nn_dynamic_pointer_cast<VerticalCS>
    - std::dynamic_pointer_cast<CRS>
    - PROJStringParser
    - isspace
    - DerivedProjectedCRS::create
    - name
    - util::nn_dynamic_pointer_cast<Conversion>
    - AuthorityFactory::create
    - auto::axisList
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: "BaseObjectNNPtr createFromUserInput(const std::string &text,\n                                           const
      DatabaseContextPtr &dbContext,\n                                           bool
      usePROJ4InitRules,\n                                           PJ_CONTEXT *ctx,\n
      \                                          bool ignoreCoordinateEpoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:8356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - text
    - dbContext
    - usePROJ4InitRules
    argTypes:
    - std::string
    - DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8358
      start: 8353
    functionDepth: 1
    functionLinenumber: 8353
    functionLinenumberEnd: 8358
    functionName: createFromUserInput
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 148
    functionsReached:
    - createFromUserInput
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: "BaseObjectNNPtr createFromUserInput(const std::string &text,\n                                    const
      DatabaseContextPtr &dbContext,\n                                    bool usePROJ4InitRules)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:8405,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:8406,1
    - Dst: PJ_CONTEXT*::get_cpp_context
      Src: /src/PROJ/src/iso19111/io.cpp:8408,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:8413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - text
    - ctx
    argTypes:
    - std::string
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8415
      start: 8400
    functionDepth: 1
    functionLinenumber: 8400
    functionLinenumberEnd: 8415
    functionName: createFromUserInput
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 149
    functionsReached:
    - createFromUserInput
    - std::string::find
    - PJ_CONTEXT*::get_cpp_context
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr createFromUserInput(const std::string &text, PJ_CONTEXT
      *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: WKTParser::guessDialect
      Src: /src/PROJ/src/iso19111/io.cpp:8434,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:8437,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:8445,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8447,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8448,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8449,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8452,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8453,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8454,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8456,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8457,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8458,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8458,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8459,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:8460,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:8461,1
    - Dst: buildGeodeticReferenceFrame
      Src: /src/PROJ/src/iso19111/io.cpp:8466,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8468,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:8469,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8472,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8473,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8474,1
    - Dst: skipSpace
      Src: /src/PROJ/src/iso19111/io.cpp:8476,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:8477,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8478,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8478,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8479,1
    - Dst: buildCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8480,1
    - Dst: buildVerticalCRS
      Src: /src/PROJ/src/iso19111/io.cpp:8483,1
    - Dst: WKTNode::createFrom
      Src: /src/PROJ/src/iso19111/io.cpp:8483,1
    - Dst: CompoundCRS::createLax
      Src: /src/PROJ/src/iso19111/io.cpp:8485,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:8486,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8488,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:8489,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8490,1
    - Dst: build
      Src: /src/PROJ/src/iso19111/io.cpp:8497,1
    - Dst: build
      Src: /src/PROJ/src/iso19111/io.cpp:8500,1
    - Dst: pj_wkt1_parse
      Src: /src/PROJ/src/iso19111/io.cpp:8504,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:8505,1
    - Dst: emitGrammarError
      Src: /src/PROJ/src/iso19111/io.cpp:8506,1
    - Dst: pj_wkt2_parse
      Src: /src/PROJ/src/iso19111/io.cpp:8510,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:8511,1
    - Dst: emitGrammarError
      Src: /src/PROJ/src/iso19111/io.cpp:8512,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8517
      start: 8432
    functionDepth: 4
    functionLinenumber: 8432
    functionLinenumberEnd: 8517
    functionName: WKTParser::createFromWKT
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 5
    functionsReached:
    - std::string::c_str
    - buildCRS
    - buildPrimeMeridian
    - ci_starts_with
    - PropertyMap::PropertyMap
    - NN_NO_CHECK
    - emitGrammarError
    - buildGeodeticReferenceFrame
    - WKTParser::guessDialect
    - auto::nameStr
    - WKTNode::createFrom
    - std::string::find
    - pj_wkt1_parse
    - std::string::size
    - buildVerticalCRS
    - skipSpace
    - ci_equal
    - pj_wkt2_parse
    - c_str
    - build
    - CompoundCRS::createLax
    - auto::empty
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr WKTParser::createFromWKT(const std::string &wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8527
      start: 8523
    functionDepth: 0
    functionLinenumber: 8523
    functionLinenumberEnd: 8527
    functionName: '&

      WKTParser::attachDatabaseContext(const DatabaseContextPtr &dbContext)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WKTParser
    signature: 'WKTParser &

      WKTParser::attachDatabaseContext(const DatabaseContextPtr &dbContext)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_not_of
      Src: /src/PROJ/src/iso19111/io.cpp:8540,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:8542,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8544,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8551,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8553,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8554,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8555,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8556,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8562,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8583,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8585,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/io.cpp:8595,1
    - Dst: WKTConstants::constants
      Src: /src/PROJ/src/iso19111/io.cpp:8600,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:8601,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:8602,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:8602,1
    - Dst: isspace
      Src: /src/PROJ/src/iso19111/io.cpp:8604,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/src/iso19111/io.cpp:8604,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 1
    argNames:
    - inputWkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8615
      start: 8533
    functionDepth: 2
    functionLinenumber: 8533
    functionLinenumberEnd: 8615
    functionName: WKTParser::guessDialect
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::string::c_str
    - std::string::find_first_not_of
    - std::string::substr
    - static_cast<unsigned char>
    - ci_starts_with
    - WKTConstants::constants
    - ci_find
    - isspace
    linkageType: ''
    returnType: WKTParser::WKTGuessedDialect
    signature: WKTParser::WKTGuessedDialect WKTParser::guessDialect(const std::string
      &inputWkt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8621
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8621
    functionName: FormattingException::FormattingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormattingException::FormattingException(const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8626
      start: 8625
    functionDepth: 0
    functionLinenumber: 8625
    functionLinenumberEnd: 8626
    functionName: FormattingException::FormattingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormattingException::FormattingException(const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8630
      start: 8630
    functionDepth: 0
    functionLinenumber: 8630
    functionLinenumberEnd: 8630
    functionName: FormattingException::FormattingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormattingException::FormattingException(const FormattingException
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8634
      start: 8634
    functionDepth: 0
    functionLinenumber: 8634
    functionLinenumberEnd: 8634
    functionName: FormattingException::~FormattingException()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormattingException::~FormattingException()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:8639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8640
      start: 8638
    functionDepth: 1
    functionLinenumber: 8638
    functionLinenumberEnd: 8640
    functionName: FormattingException::Throw
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 15
    functionsReached:
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: void FormattingException::Throw(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/io.cpp:8645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8646
      start: 8644
    functionDepth: 1
    functionLinenumber: 8644
    functionLinenumberEnd: 8646
    functionName: FormattingException::Throw
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 15
    functionsReached:
    - FormattingException::FormattingException
    linkageType: ''
    returnType: void
    signature: void FormattingException::Throw(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8650
      start: 8650
    functionDepth: 0
    functionLinenumber: 8650
    functionLinenumberEnd: 8650
    functionName: ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException::ParsingException(const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8655
      start: 8654
    functionDepth: 0
    functionLinenumber: 8654
    functionLinenumberEnd: 8655
    functionName: ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException::ParsingException(const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8659
      start: 8659
    functionDepth: 0
    functionLinenumber: 8659
    functionLinenumberEnd: 8659
    functionName: ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException::ParsingException(const ParsingException &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8663
      start: 8663
    functionDepth: 0
    functionLinenumber: 8663
    functionLinenumberEnd: 8663
    functionName: ParsingException::~ParsingException()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException::~ParsingException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8667
      start: 8667
    functionDepth: 0
    functionLinenumber: 8667
    functionLinenumberEnd: 8667
    functionName: IPROJStringExportable::~IPROJStringExportable()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPROJStringExportable::~IPROJStringExportable()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const crs::CRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:8673,1
    - Dst: PROJStringFormatter*::setCRSExport
      Src: /src/PROJ/src/iso19111/io.cpp:8675,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:8677,1
    - Dst: PROJStringFormatter*::getAddNoDefs
      Src: /src/PROJ/src/iso19111/io.cpp:8678,1
    - Dst: PROJStringFormatter*::hasParam
      Src: /src/PROJ/src/iso19111/io.cpp:8679,1
    - Dst: PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:8680,1
    - Dst: PROJStringFormatter*::hasParam
      Src: /src/PROJ/src/iso19111/io.cpp:8684,1
    - Dst: PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:8685,1
    - Dst: PROJStringFormatter*::setCRSExport
      Src: /src/PROJ/src/iso19111/io.cpp:8687,1
    - Dst: PROJStringFormatter*::toString
      Src: /src/PROJ/src/iso19111/io.cpp:8689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8690
      start: 8671
    functionDepth: 1
    functionLinenumber: 8671
    functionLinenumberEnd: 8690
    functionName: IPROJStringExportable::exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - PROJStringFormatter*::addParam
    - PROJStringFormatter*::setCRSExport
    - PROJStringFormatter*::hasParam
    - _exportToPROJString
    - PROJStringFormatter*::getAddNoDefs
    - PROJStringFormatter*::toString
    - dynamic_cast<const crs::CRS *>
    linkageType: ''
    returnType: std::string
    signature: "std::string IPROJStringExportable::exportToPROJString(\n    PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keyIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8707
      start: 8707
    functionDepth: 0
    functionLinenumber: 8707
    functionLinenumberEnd: 8707
    functionName: KeyValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyValue(const std::string &keyIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keyIn
    - valueIn
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8712
      start: 8711
    functionDepth: 0
    functionLinenumber: 8711
    functionLinenumberEnd: 8712
    functionName: KeyValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyValue(const std::string &keyIn, const std::string &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - otherKey
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8717
      start: 8715
    functionDepth: 0
    functionLinenumber: 8715
    functionLinenumberEnd: 8717
    functionName: keyEquals
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool keyEquals(const char *otherKey) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - otherKey
    - otherVal
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8722
      start: 8720
    functionDepth: 0
    functionLinenumber: 8720
    functionLinenumberEnd: 8722
    functionName: equals
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals(const char *otherKey, const char *otherVal) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8726
      start: 8724
    functionDepth: 0
    functionLinenumber: 8724
    functionLinenumberEnd: 8726
    functionName: operator==(const KeyValue &other) const noexcept
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KeyValue &other) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8730
      start: 8728
    functionDepth: 0
    functionLinenumber: 8728
    functionLinenumberEnd: 8730
    functionName: operator!=(const KeyValue &other) const noexcept
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const KeyValue &other) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - keyName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8742
      start: 8735
    functionDepth: 0
    functionLinenumber: 8735
    functionLinenumberEnd: 8742
    functionName: hasKey
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasKey(const char *keyName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keyIn
    - valueIn
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8746
      start: 8745
    functionDepth: 0
    functionLinenumber: 8745
    functionLinenumberEnd: 8746
    functionName: Step::KeyValue::KeyValue(const char *keyIn, const std::string &valueIn)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Step::KeyValue::KeyValue(const char *keyIn, const std::string
      &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:8797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conventionIn
    - dbContext
    argTypes:
    - Convention
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8800
      start: 8795
    functionDepth: 0
    functionLinenumber: 8795
    functionLinenumberEnd: 8800
    functionName: PROJStringFormatter::PROJStringFormatter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::PROJStringFormatter(Convention conventionIn,\n
      \                                        const DatabaseContextPtr &dbContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8806
      start: 8806
    functionDepth: 0
    functionLinenumber: 8806
    functionLinenumberEnd: 8806
    functionName: PROJStringFormatter::~PROJStringFormatter()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::~PROJStringFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:8825,1
    - Dst: PROJStringFormatter::make_unique<PROJStringFormatter>
      Src: /src/PROJ/src/iso19111/io.cpp:8825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conventionIn
    - dbContext
    argTypes:
    - Convention
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8827
      start: 8822
    functionDepth: 1
    functionLinenumber: 8822
    functionLinenumberEnd: 8827
    functionName: PROJStringFormatter::create
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 507
    functionsReached:
    - NN_NO_CHECK
    - PROJStringFormatter::make_unique<PROJStringFormatter>
    linkageType: ''
    returnType: PROJStringFormatterNNPtr
    signature: "PROJStringFormatterNNPtr PROJStringFormatter::create(Convention conventionIn,\n
      \                           DatabaseContextPtr dbContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8834
      start: 8832
    functionDepth: 0
    functionLinenumber: 8832
    functionLinenumberEnd: 8834
    functionName: PROJStringFormatter::setUseApproxTMerc
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setUseApproxTMerc(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiLine
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8843
      start: 8839
    functionDepth: 0
    functionLinenumber: 8839
    functionLinenumberEnd: 8843
    functionName: '&

      PROJStringFormatter::setMultiLine(bool multiLine) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringFormatter
    signature: 'PROJStringFormatter &

      PROJStringFormatter::setMultiLine(bool multiLine) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8853
      start: 8849
    functionDepth: 0
    functionLinenumber: 8849
    functionLinenumberEnd: 8853
    functionName: '&

      PROJStringFormatter::setIndentationWidth(int width) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringFormatter
    signature: 'PROJStringFormatter &

      PROJStringFormatter::setIndentationWidth(int width) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - maxLineLength
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8864
      start: 8860
    functionDepth: 0
    functionLinenumber: 8860
    functionLinenumberEnd: 8864
    functionName: '&

      PROJStringFormatter::setMaxLineLength(int maxLineLength) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringFormatter
    signature: 'PROJStringFormatter &

      PROJStringFormatter::setMaxLineLength(int maxLineLength) noexcept'
  - BBCount: 126
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:8871,1
    - Dst: inversionStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:8871,1
    - Dst: result_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:8873,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/io.cpp:8880,1
    - Dst: paramValues::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8880,1
    - Dst: paramValues::end
      Src: /src/PROJ/src/iso19111/io.cpp:8880,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8887,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:8887,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:8890,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8892,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8893,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8894,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8896,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8897,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8898,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8899,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8900,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:8901,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8904,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8905,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:8907,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:8916,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:8917,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:8928,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8932,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8933,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8940,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:8942,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:8948,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8955,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8956,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8957,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8963,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8964,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8965,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8971,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8972,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8973,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:8974,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8975,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:8976,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8988,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:8989,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:8992,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:8994,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:8994,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:8995,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:8999,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9000,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9003,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9003,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9004,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9005,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9006,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9006,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9012,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9012,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9014,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9015,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9024,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9035,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9044,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9045,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9046,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9047,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9050,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9059,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9060,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9061,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9062,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9065,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9074,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9075,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9076,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9077,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9078,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9079,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9080,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9081,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9086,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9091,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9092,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9093,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9094,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9105,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9106,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9107,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9108,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9109,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9110,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9117,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9118,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9119,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9120,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9121,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9122,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9123,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9124,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9125,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9127,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9144,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9145,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9146,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9147,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9148,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9149,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9150,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9151,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9157,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9158,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9159,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9160,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9161,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9162,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9164,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9180,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9181,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9182,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9183,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9184,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9185,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9186,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9187,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9194,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9195,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9196,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9197,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9197,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9198,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9199,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9200,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9201,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9203,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9213,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9214,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9215,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9216,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9217,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9218,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9219,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9220,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9227,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9228,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9229,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9230,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9230,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9231,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9232,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9233,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9234,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9236,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9246,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9247,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9248,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9249,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9250,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9251,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9252,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9253,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9260,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9261,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9262,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9263,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9263,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9264,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9265,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9266,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9267,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9269,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9289,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9290,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9291,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9292,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9293,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9294,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9295,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9296,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9297,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9298,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9306,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9307,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9308,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9309,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9309,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9310,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9311,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9312,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9313,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9315,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9327,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9328,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9329,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9330,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9331,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9332,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9333,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9334,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9335,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9336,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9345,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9346,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9347,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9348,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9348,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9349,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9350,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9351,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9352,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9354,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9361,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9361,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9364,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9365,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:9368,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9377,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9378,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9379,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9387,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9389,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9390,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9399,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9401,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9403,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9405,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9414,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9416,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9417,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9419,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9422,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9424,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9430,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9430,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9433,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9434,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9437,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9438,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9439,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9440,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9445,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9446,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9447,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9458,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9459,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9460,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9463,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9472,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9473,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9474,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9477,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9489,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9490,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9491,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9492,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9493,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9504,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9507,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9515,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9515,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9516,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9516,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9517,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9517,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9518,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9518,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9519,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9519,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/io.cpp:9520,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/io.cpp:9520,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9531,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9535,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:9535,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9537,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:9537,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9539,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:9539,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9542,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9557,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9561,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9575,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9576,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9585,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9605,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9609,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9628,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:9629,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9647,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9667,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9669,1
    - Dst: std::min
      Src: /src/PROJ/src/iso19111/io.cpp:9680,1
    - Dst: auto::paramValues::clear
      Src: /src/PROJ/src/iso19111/io.cpp:9689,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9690,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:9691,1
    - Dst: deletePrevIter
      Src: /src/PROJ/src/iso19111/io.cpp:9693,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:9710,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9720,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9721,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9724,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:9726,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9726,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9727,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9731,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9732,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9743,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9743,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9746,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9750,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9754,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9755,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9756,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9758,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9760,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9764,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:9765,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9766,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9766,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9786,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9787,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9789,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9790,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9792,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9795,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9796,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9797,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9799,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9802,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9807,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9808,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9810,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9813,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9818,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9819,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9820,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9822,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9826,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9832,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9835,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9840,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9841,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9842,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9844,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9847,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9852,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9853,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9855,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9858,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9863,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9864,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9865,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9871,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9872,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9872,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9873,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9894,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9897,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9898,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9899,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9902,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9906,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9909,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9914,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9915,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9916,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9918,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9921,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9926,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9927,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9929,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9933,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9938,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9939,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:9940,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9942,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9945,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9950,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9951,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9953,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9956,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9961,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9963,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:9964,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:9972,1
    - Dst: auto::insert
      Src: /src/PROJ/src/iso19111/io.cpp:9973,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9973,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:9974,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:9976,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9986,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9987,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:9990,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:9992,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:9992,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:9993,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9997,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:9998,1
    - Dst: auto::erase
      Src: /src/PROJ/src/iso19111/io.cpp:10001,1
    - Dst: std::next
      Src: /src/PROJ/src/iso19111/io.cpp:10001,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10002,1
    - Dst: std::prev
      Src: /src/PROJ/src/iso19111/io.cpp:10003,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10004,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/io.cpp:10004,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:10011,1
    - Dst: equals
      Src: /src/PROJ/src/iso19111/io.cpp:10012,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:10013,1
    - Dst: deletePrevAndCurIter
      Src: /src/PROJ/src/iso19111/io.cpp:10029,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:10038,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:10039,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:10040,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:10040,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/io.cpp:10041,1
    - Dst: globalParamValues_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10042,1
    - Dst: appendToResult
      Src: /src/PROJ/src/iso19111/io.cpp:10043,1
    - Dst: appendToResult
      Src: /src/PROJ/src/iso19111/io.cpp:10046,1
    - Dst: value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10048,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:10051,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10062,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10064,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:10064,1
    - Dst: auto::name::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10075,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10076,1
    - Dst: value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10084,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:10087,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:10090,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:10090,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:10091,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10092,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10095,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:10095,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10097,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10100,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10105,1
    - Dst: result_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10110,1
    - Dst: appendToResult
      Src: /src/PROJ/src/iso19111/io.cpp:10111,1
    CyclomaticComplexity: 545
    EdgeCount: 545
    ICount: 577
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iterCur != steps.begin())
      pos:
        line_end: 9725
        line_start: 9725
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (d->inversionStack_.size() == 1)
      pos:
        line_end: 8870
        line_start: 8870
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (iterCur != steps.begin())
      pos:
        line_end: 9991
        line_start: 9991
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (iterCur != steps.begin())
      pos:
        line_end: 8993
        line_start: 8993
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10115
      start: 8869
    functionDepth: 2
    functionLinenumber: 8869
    functionLinenumberEnd: 10115
    functionName: '&PROJStringFormatter::toString() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - toString
    - auto::erase
    - appendToResult
    - globalParamValues_::empty
    - value::empty
    - auto::paramValues::clear
    - std::next
    - std::set::insert
    - deletePrevAndCurIter
    - std::swap
    - auto::insert
    - std::move
    - static_cast<size_t>
    - Step::paramValues::emplace_back
    - assert
    - sort
    - strlen
    - std::string
    - KeyValue
    - std::string::size
    - auto::begin
    - auto::front
    - std::string::empty
    - auto::size
    - std::map::find
    - std::prev
    - std::min
    - result_::empty
    - auto::name::empty
    - paramValues::end
    - result_::clear
    - deletePrevIter
    - auto::paramValues::emplace_back
    - equals
    - auto::paramValues::size
    - c_locale_stod
    - pj_double_quote_string_param_if_needed
    - auto::end
    - keyEquals
    - paramValues::begin
    - inversionStack_::size
    linkageType: ''
    returnType: std::string
    signature: std::string &PROJStringFormatter::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10123
      start: 10121
    functionDepth: 0
    functionLinenumber: 10121
    functionLinenumberEnd: 10123
    functionName: PROJStringFormatter::convention
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringFormatter::Convention
    signature: PROJStringFormatter::Convention PROJStringFormatter::convention() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:10130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10130
      start: 10130
    functionDepth: 1
    functionLinenumber: 10130
    functionLinenumberEnd: 10130
    functionName: PROJStringFormatter::getStepCount
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - steps_::size
    linkageType: ''
    returnType: size_t
    signature: size_t PROJStringFormatter::getStepCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10136
      start: 10134
    functionDepth: 0
    functionLinenumber: 10134
    functionLinenumberEnd: 10136
    functionName: PROJStringFormatter::getUseApproxTMerc
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::getUseApproxTMerc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10142
      start: 10140
    functionDepth: 0
    functionLinenumber: 10140
    functionLinenumberEnd: 10142
    functionName: PROJStringFormatter::setCoordinateOperationOptimizations
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setCoordinateOperationOptimizations(bool
      enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10151
      start: 10146
    functionDepth: 1
    functionLinenumber: 10146
    functionLinenumberEnd: 10151
    functionName: PROJStringFormatter::Private::appendToResult(const char *str)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::Private::appendToResult(const char *str)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10168,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:10169,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:10170,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:10171,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:10175,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:10176,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/io.cpp:10177,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10178,1
    - Dst: pj_trim_argc
      Src: /src/PROJ/src/iso19111/io.cpp:10182,1
    - Dst: pj_trim_argv
      Src: /src/PROJ/src/iso19111/io.cpp:10183,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10188,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10190,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10193,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/io.cpp:10195,1
    - Dst: std::vector<Step>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10199,1
    - Dst: Step
      Src: /src/PROJ/src/iso19111/io.cpp:10199,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10203,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10204,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10204,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10205,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10206,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10206,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10207,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10207,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10208,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10209,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10210,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10210,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10211,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10211,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10212,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10214,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10215,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10217,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10218,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10218,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:10220,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10221,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10225,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10225,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10226,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10227,1
    - Dst: std::vector<Step::KeyValue>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10228,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10228,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10230,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10230,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10230,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10242,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10247,1
    - Dst: std::vector<Step>::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10249,1
    - Dst: Step
      Src: /src/PROJ/src/iso19111/io.cpp:10249,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10251,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10254,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10256,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10256,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10257,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10257,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10258,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10258,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10259,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10259,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10260,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10260,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10261,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/io.cpp:10261,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10262,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10262,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10263,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10263,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10264,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:10265,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10266,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/io.cpp:10266,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/io.cpp:10268,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10269,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10271,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/io.cpp:10271,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10272,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10273,1
    - Dst: std::vector<Step::KeyValue>::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10274,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10274,1
    - Dst: std::vector<Step>::back
      Src: /src/PROJ/src/iso19111/io.cpp:10276,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10276,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:10276,1
    - Dst: std::vector<Step>::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10280,1
    - Dst: std::reverse
      Src: /src/PROJ/src/iso19111/io.cpp:10284,1
    - Dst: std::vector<Step>::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10284,1
    - Dst: std::vector<Step>::end
      Src: /src/PROJ/src/iso19111/io.cpp:10284,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 93
    argCount: 4
    argNames:
    - projString
    - steps
    - globalParamValues
    - title
    argTypes:
    - std::string
    - std::vector<Step>
    - std::vector<Step::KeyValue>
    - std::string
    assertStmts:
    - condition: (hasProj)
      pos:
        line_end: 10204
        line_start: 10204
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (hasInit)
      pos:
        line_end: 10208
        line_start: 10208
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10286
      start: 10155
    functionDepth: 3
    functionLinenumber: 10155
    functionLinenumberEnd: 10286
    functionName: PROJStringSyntaxParser
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::vector<Step>::back
    - push_back
    - std::vector<Step::KeyValue>::emplace_back
    - find
    - pj_trim_argc
    - std::string::substr
    - ParsingException
    - std::move
    - std::string::find
    - substr
    - assert
    - strlen
    - std::string::size
    - KeyValue
    - std::vector<Step>::begin
    - std::vector<Step::KeyValue>::push_back
    - std::vector<Step>::empty
    - pj_trim_argv
    - emplace_back
    - std::reverse
    - std::vector<Step>::push_back
    - free
    - Step
    - starts_with
    - pj_double_quote_string_param_if_needed
    - empty
    - std::vector<Step>::end
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: "void PROJStringSyntaxParser(const std::string &projString, std::vector<Step>
      &steps,\n                       std::vector<Step::KeyValue> &globalParamValues,\n
      \                      std::string &title)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringSyntaxParser
      Src: /src/PROJ/src/iso19111/io.cpp:10295,1
    - Dst: steps_::insert
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/io.cpp:10296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10297
      start: 10290
    functionDepth: 4
    functionLinenumber: 10290
    functionLinenumberEnd: 10297
    functionName: PROJStringFormatter::ingestPROJString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - steps_::end
    - std::vector::begin
    - PROJStringSyntaxParser
    - steps_::insert
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::ingestPROJString(\n    const std::string
      &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10301
      start: 10301
    functionDepth: 0
    functionLinenumber: 10301
    functionLinenumberEnd: 10301
    functionName: PROJStringFormatter::setCRSExport
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setCRSExport(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10305
      start: 10305
    functionDepth: 0
    functionLinenumber: 10305
    functionLinenumberEnd: 10305
    functionName: PROJStringFormatter::getCRSExport
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::getCRSExport() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10311,1
    - Dst: steps_::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10312,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10319,1
    - Dst: inversionStack_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10321
      start: 10309
    functionDepth: 1
    functionLinenumber: 10309
    functionLinenumberEnd: 10321
    functionName: PROJStringFormatter::startInversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - steps_::end
    - inversionStack_::push_back
    - steps_::begin
    - inversionStack_::back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::startInversion()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10326,1
    - Dst: inversionStack_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10326,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10327,1
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10328,1
    - Dst: steps_::begin
      Src: /src/PROJ/src/iso19111/io.cpp:10329,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10335,1
    - Dst: std::reverse
      Src: /src/PROJ/src/iso19111/io.cpp:10345,1
    - Dst: steps_::end
      Src: /src/PROJ/src/iso19111/io.cpp:10345,1
    - Dst: inversionStack_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:10346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!d->inversionStack_.empty())
      pos:
        line_end: 10325
        line_start: 10325
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10347
      start: 10325
    functionDepth: 1
    functionLinenumber: 10325
    functionLinenumberEnd: 10347
    functionName: PROJStringFormatter::stopInversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - inversionStack_::empty
    - inversionStack_::pop_back
    - inversionStack_::back
    - steps_::end
    - assert
    - steps_::begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::stopInversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inversionStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10353
      start: 10351
    functionDepth: 1
    functionLinenumber: 10351
    functionLinenumberEnd: 10353
    functionName: PROJStringFormatter::isInverted
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - inversionStack_::back
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::isInverted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:10357,1
    - Dst: Step
      Src: /src/PROJ/src/iso19111/io.cpp:10357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10357
      start: 10357
    functionDepth: 1
    functionLinenumber: 10357
    functionLinenumberEnd: 10357
    functionName: PROJStringFormatter::Private::addStep()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - Step
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::Private::addStep()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10362,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10363,1
    - Dst: assign
      Src: /src/PROJ/src/iso19111/io.cpp:10363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stepName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10364
      start: 10361
    functionDepth: 1
    functionLinenumber: 10361
    functionLinenumberEnd: 10364
    functionName: PROJStringFormatter::addStep
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - PROJStringFormatter::addStep
    - assign
    - steps_::back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addStep(const char *stepName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10369,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stepName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10371
      start: 10368
    functionDepth: 1
    functionLinenumber: 10368
    functionLinenumberEnd: 10371
    functionName: PROJStringFormatter::addStep
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - PROJStringFormatter::addStep
    - steps_::back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addStep(const std::string &stepName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10376,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10376,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inverted
    argTypes:
    - bool
    assertStmts:
    - condition: (!d->steps_.empty())
      pos:
        line_end: 10375
        line_start: 10375
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10378
      start: 10375
    functionDepth: 1
    functionLinenumber: 10375
    functionLinenumberEnd: 10378
    functionName: PROJStringFormatter::setCurrentStepInverted
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - steps_::back
    - steps_::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setCurrentStepInverted(bool inverted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10383,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10384,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - paramName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10391
      start: 10382
    functionDepth: 1
    functionLinenumber: 10382
    functionLinenumberEnd: 10391
    functionName: PROJStringFormatter::hasParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - keyEquals
    - steps_::empty
    - steps_::back
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::hasParam(const char *paramName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10395
      start: 10395
    functionDepth: 0
    functionLinenumber: 10395
    functionLinenumberEnd: 10395
    functionName: PROJStringFormatter::addNoDefs
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addNoDefs(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10399
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10399
    functionName: PROJStringFormatter::getAddNoDefs
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::getAddNoDefs() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10404,1
    - Dst: PROJStringFormatter::addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10405,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10407,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10407,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - paramName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10408
      start: 10403
    functionDepth: 2
    functionLinenumber: 10403
    functionLinenumberEnd: 10408
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - steps_::empty
    - push_back
    - PROJStringFormatter::addStep
    - KeyValue
    - steps_::back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addParam(const std::string &paramName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10413,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10414
      start: 10412
    functionDepth: 1
    functionLinenumber: 10412
    functionLinenumberEnd: 10414
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - PROJStringFormatter::addParam
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addParam(const char *paramName, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10417,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:10417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10418
      start: 10416
    functionDepth: 1
    functionLinenumber: 10416
    functionLinenumberEnd: 10418
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - PROJStringFormatter::addParam
    - toString
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addParam(const std::string &paramName, int
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/PROJ/src/iso19111/io.cpp:10423,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:10423,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:10429,1
    - Dst: normalizeSerializedString
      Src: /src/PROJ/src/iso19111/io.cpp:10431,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:10431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - precision
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10432
      start: 10422
    functionDepth: 1
    functionLinenumber: 10422
    functionLinenumberEnd: 10432
    functionName: formatToString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - abs
    - std::round
    - toString
    - normalizeSerializedString
    linkageType: ''
    returnType: std::string
    signature: std::string formatToString(double val, double precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10438
      start: 10436
    functionDepth: 1
    functionLinenumber: 10436
    functionLinenumberEnd: 10438
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 3
    functionsReached:
    - std::string
    - PROJStringFormatter::addParam
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addParam(const char *paramName, double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10442,1
    - Dst: normalizeSerializedString
      Src: /src/PROJ/src/iso19111/io.cpp:10443,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:10443,1
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10445,1
    - Dst: formatToString
      Src: /src/PROJ/src/iso19111/io.cpp:10445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10447
      start: 10440
    functionDepth: 2
    functionLinenumber: 10440
    functionLinenumberEnd: 10447
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 4
    functionsReached:
    - formatToString
    - PROJStringFormatter::addParam
    - normalizeSerializedString
    - toString
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addParam(const std::string &paramName, double
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<double>::size
      Src: /src/PROJ/src/iso19111/io.cpp:10454,1
    - Dst: formatToString
      Src: /src/PROJ/src/iso19111/io.cpp:10458,1
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - paramName
    - vals
    argTypes:
    - char*
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10461
      start: 10451
    functionDepth: 2
    functionLinenumber: 10451
    functionLinenumberEnd: 10461
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 5
    functionsReached:
    - PROJStringFormatter::addParam
    - formatToString
    - std::vector<double>::size
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::addParam(const char *paramName,\n                                   const
      std::vector<double> &vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10466,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10467
      start: 10465
    functionDepth: 1
    functionLinenumber: 10465
    functionLinenumberEnd: 10467
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 6
    functionsReached:
    - std::string
    - PROJStringFormatter::addParam
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::addParam(const char *paramName, const char
      *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10471,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10472
      start: 10469
    functionDepth: 1
    functionLinenumber: 10469
    functionLinenumberEnd: 10472
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 7
    functionsReached:
    - std::string
    - PROJStringFormatter::addParam
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::addParam(const char *paramName,\n                                   const
      std::string &val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::addParam
      Src: /src/PROJ/src/iso19111/io.cpp:10476,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10477
      start: 10474
    functionDepth: 1
    functionLinenumber: 10474
    functionLinenumberEnd: 10477
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 8
    functionsReached:
    - std::string
    - PROJStringFormatter::addParam
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::addParam(const std::string &paramName,\n
      \                                  const char *val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10483,1
    - Dst: PROJStringFormatter::addStep
      Src: /src/PROJ/src/iso19111/io.cpp:10484,1
    - Dst: steps_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10486,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10486,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:10486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - paramName
    - val
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10487
      start: 10481
    functionDepth: 2
    functionLinenumber: 10481
    functionLinenumberEnd: 10487
    functionName: PROJStringFormatter::addParam
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 8
    functionsReached:
    - steps_::empty
    - push_back
    - PROJStringFormatter::addStep
    - KeyValue
    - steps_::back
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::addParam(const std::string &paramName,\n
      \                                  const std::string &val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10494
      start: 10491
    functionDepth: 0
    functionLinenumber: 10491
    functionLinenumberEnd: 10494
    functionName: PROJStringFormatter::setTOWGS84Parameters
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::setTOWGS84Parameters(\n    const std::vector<double>
      &params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10500
      start: 10498
    functionDepth: 0
    functionLinenumber: 10498
    functionLinenumberEnd: 10500
    functionName: '&PROJStringFormatter::getTOWGS84Parameters() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> &PROJStringFormatter::getTOWGS84Parameters() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10508,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10508,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:10509,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:10511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10517
      start: 10504
    functionDepth: 2
    functionLinenumber: 10504
    functionLinenumberEnd: 10517
    functionName: PROJStringFormatter::getUsedGridNames
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - keyEquals
    - std::set::insert
    - split
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> PROJStringFormatter::getUsedGridNames() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10525,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10531,1
    - Dst: keyEquals
      Src: /src/PROJ/src/iso19111/io.cpp:10537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10546
      start: 10521
    functionDepth: 1
    functionLinenumber: 10521
    functionLinenumberEnd: 10546
    functionName: PROJStringFormatter::requiresPerCoordinateInputTime
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - keyEquals
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::requiresPerCoordinateInputTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filename
    - geoidCRSValue
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10554
      start: 10550
    functionDepth: 0
    functionLinenumber: 10550
    functionLinenumberEnd: 10554
    functionName: PROJStringFormatter::setVDatumExtension
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::setVDatumExtension(const std::string &filename,\n
      \                                            const std::string &geoidCRSValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10560
      start: 10558
    functionDepth: 0
    functionLinenumber: 10558
    functionLinenumberEnd: 10560
    functionName: '&PROJStringFormatter::getVDatumExtension() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &PROJStringFormatter::getVDatumExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10566
      start: 10564
    functionDepth: 0
    functionLinenumber: 10564
    functionLinenumberEnd: 10566
    functionName: '&PROJStringFormatter::getGeoidCRSValue() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &PROJStringFormatter::getGeoidCRSValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10572
      start: 10570
    functionDepth: 0
    functionLinenumber: 10570
    functionLinenumberEnd: 10572
    functionName: PROJStringFormatter::setHDatumExtension
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setHDatumExtension(const std::string &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10578
      start: 10576
    functionDepth: 0
    functionLinenumber: 10576
    functionLinenumberEnd: 10578
    functionName: '&PROJStringFormatter::getHDatumExtension() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &PROJStringFormatter::getHDatumExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10585
      start: 10582
    functionDepth: 0
    functionLinenumber: 10582
    functionLinenumberEnd: 10585
    functionName: PROJStringFormatter::setGeogCRSOfCompoundCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PROJStringFormatter::setGeogCRSOfCompoundCRS(\n    const crs::GeographicCRSPtr
      &crs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10592
      start: 10589
    functionDepth: 0
    functionLinenumber: 10589
    functionLinenumberEnd: 10592
    functionName: '&

      PROJStringFormatter::getGeogCRSOfCompoundCRS() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crs::GeographicCRSPtr
    signature: 'crs::GeographicCRSPtr &

      PROJStringFormatter::getGeogCRSOfCompoundCRS() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - omit
    argTypes:
    - bool
    assertStmts:
    - condition: (d->omitProjLongLatIfPossible_ ^ omit)
      pos:
        line_end: 10596
        line_start: 10596
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10599
      start: 10596
    functionDepth: 0
    functionLinenumber: 10596
    functionLinenumberEnd: 10599
    functionName: PROJStringFormatter::setOmitProjLongLatIfPossible
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setOmitProjLongLatIfPossible(bool omit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10605
      start: 10603
    functionDepth: 0
    functionLinenumber: 10603
    functionLinenumberEnd: 10605
    functionName: PROJStringFormatter::omitProjLongLatIfPossible
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::omitProjLongLatIfPossible() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omitZUnitConversion_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10611
      start: 10609
    functionDepth: 1
    functionLinenumber: 10609
    functionLinenumberEnd: 10611
    functionName: PROJStringFormatter::pushOmitZUnitConversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - omitZUnitConversion_::push_back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::pushOmitZUnitConversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10616,1
    - Dst: omitZUnitConversion_::size
      Src: /src/PROJ/src/iso19111/io.cpp:10616,1
    - Dst: omitZUnitConversion_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:10617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->omitZUnitConversion_.size() > 1)
      pos:
        line_end: 10615
        line_start: 10615
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10618
      start: 10615
    functionDepth: 1
    functionLinenumber: 10615
    functionLinenumberEnd: 10618
    functionName: PROJStringFormatter::popOmitZUnitConversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - omitZUnitConversion_::size
    - omitZUnitConversion_::pop_back
    - assert
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::popOmitZUnitConversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omitZUnitConversion_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10624
      start: 10622
    functionDepth: 1
    functionLinenumber: 10622
    functionLinenumberEnd: 10624
    functionName: PROJStringFormatter::omitZUnitConversion
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - omitZUnitConversion_::back
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::omitZUnitConversion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omitHorizontalConversionInVertTransformation_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:10629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10630
      start: 10628
    functionDepth: 1
    functionLinenumber: 10628
    functionLinenumberEnd: 10630
    functionName: PROJStringFormatter::pushOmitHorizontalConversionInVertTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - omitHorizontalConversionInVertTransformation_::push_back
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::pushOmitHorizontalConversionInVertTransformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:10635,1
    - Dst: omitHorizontalConversionInVertTransformation_::size
      Src: /src/PROJ/src/iso19111/io.cpp:10635,1
    - Dst: omitHorizontalConversionInVertTransformation_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:10636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->omitHorizontalConversionInVertTransformation_.size() > 1)
      pos:
        line_end: 10634
        line_start: 10634
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 10637
      start: 10634
    functionDepth: 1
    functionLinenumber: 10634
    functionLinenumberEnd: 10637
    functionName: PROJStringFormatter::popOmitHorizontalConversionInVertTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - omitHorizontalConversionInVertTransformation_::size
    - omitHorizontalConversionInVertTransformation_::pop_back
    - assert
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::popOmitHorizontalConversionInVertTransformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omitHorizontalConversionInVertTransformation_::back
      Src: /src/PROJ/src/iso19111/io.cpp:10642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10643
      start: 10641
    functionDepth: 1
    functionLinenumber: 10641
    functionLinenumberEnd: 10643
    functionName: PROJStringFormatter::omitHorizontalConversionInVertTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - omitHorizontalConversionInVertTransformation_::back
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::omitHorizontalConversionInVertTransformation()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - legacyContext
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10649
      start: 10647
    functionDepth: 0
    functionLinenumber: 10647
    functionLinenumberEnd: 10649
    functionName: PROJStringFormatter::setLegacyCRSToCRSContext
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter::setLegacyCRSToCRSContext(bool legacyContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10655
      start: 10653
    functionDepth: 0
    functionLinenumber: 10653
    functionLinenumberEnd: 10655
    functionName: PROJStringFormatter::getLegacyCRSToCRSContext
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PROJStringFormatter::getLegacyCRSToCRSContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10668
      start: 10665
    functionDepth: 0
    functionLinenumber: 10665
    functionLinenumberEnd: 10668
    functionName: '&PROJStringFormatter::setNormalizeOutput()'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringFormatter
    signature: PROJStringFormatter &PROJStringFormatter::setNormalizeOutput()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10674
      start: 10672
    functionDepth: 0
    functionLinenumber: 10672
    functionLinenumberEnd: 10674
    functionName: '&PROJStringFormatter::databaseContext() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseContextPtr
    signature: DatabaseContextPtr &PROJStringFormatter::databaseContext() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10700,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - step
    - key
    argTypes:
    - Step
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10712
      start: 10698
    functionDepth: 2
    functionLinenumber: 10698
    functionLinenumberEnd: 10712
    functionName: hasParamValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ci_equal
    linkageType: ''
    returnType: bool
    signature: bool hasParamValue(Step &step, const T key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10724
      start: 10716
    functionDepth: 2
    functionLinenumber: 10716
    functionLinenumberEnd: 10724
    functionName: getGlobalParamValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ci_equal
    linkageType: ''
    returnType: std::string
    signature: std::string &getGlobalParamValue(T key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10730,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - step
    - key
    argTypes:
    - Step
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10742
      start: 10728
    functionDepth: 2
    functionLinenumber: 10728
    functionLinenumberEnd: 10742
    functionName: getParamValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - ci_equal
    linkageType: ''
    returnType: std::string
    signature: std::string &getParamValue(Step &step, const T key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10746,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:10746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - step
    argTypes:
    - Step
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10744
    functionDepth: 2
    functionLinenumber: 10744
    functionLinenumberEnd: 10752
    functionName: '&getParamValueK(Step &step)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ci_equal
    linkageType: ''
    returnType: std::string
    signature: std::string &getParamValueK(Step &step)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/src/iso19111/io.cpp:10756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - step
    argTypes:
    - Step
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10764
      start: 10755
    functionDepth: 1
    functionLinenumber: 10755
    functionLinenumberEnd: 10764
    functionName: hasUnusedParameters
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool hasUnusedParameters(const Step &step) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:10798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10798
      start: 10798
    functionDepth: 0
    functionLinenumber: 10798
    functionLinenumberEnd: 10798
    functionName: PROJStringParser::PROJStringParser
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void PROJStringParser::PROJStringParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10803
      start: 10803
    functionDepth: 0
    functionLinenumber: 10803
    functionLinenumberEnd: 10803
    functionName: PROJStringParser::~PROJStringParser()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringParser::~PROJStringParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10814
      start: 10810
    functionDepth: 0
    functionLinenumber: 10810
    functionLinenumberEnd: 10814
    functionName: '&

      PROJStringParser::attachDatabaseContext(const DatabaseContextPtr &dbContext)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringParser
    signature: 'PROJStringParser &

      PROJStringParser::attachDatabaseContext(const DatabaseContextPtr &dbContext)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10822
      start: 10819
    functionDepth: 0
    functionLinenumber: 10819
    functionLinenumberEnd: 10822
    functionName: '&PROJStringParser::attachContext(PJ_CONTEXT *ctx)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringParser
    signature: PROJStringParser &PROJStringParser::attachContext(PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10839
      start: 10836
    functionDepth: 0
    functionLinenumber: 10836
    functionLinenumberEnd: 10839
    functionName: '&PROJStringParser::setUsePROJ4InitRules(bool enable)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJStringParser
    signature: PROJStringParser &PROJStringParser::setUsePROJ4InitRules(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10847
      start: 10845
    functionDepth: 0
    functionLinenumber: 10845
    functionLinenumberEnd: 10847
    functionName: PROJStringParser::warningList
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PROJStringParser::warningList() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - projName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10892
      start: 10886
    functionDepth: 0
    functionLinenumber: 10886
    functionLinenumberEnd: 10892
    functionName: getLinearUnits
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LinearUnitDesc
    signature: LinearUnitDesc *getLinearUnits(const std::string &projName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:10896,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:10896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - toMeter
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10902
      start: 10894
    functionDepth: 2
    functionLinenumber: 10894
    functionLinenumberEnd: 10902
    functionName: getLinearUnits
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - c_locale_stod
    - std::fabs
    linkageType: ''
    returnType: LinearUnitDesc
    signature: LinearUnitDesc *getLinearUnits(double toMeter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/PROJ/src/iso19111/io.cpp:10910,1
    - Dst: std::locale::classic
      Src: /src/PROJ/src/iso19111/io.cpp:10910,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/iso19111/io.cpp:10912,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:10914,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:10915,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:10917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unitsMatch
    argTypes:
    - LinearUnitDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10918
      start: 10906
    functionDepth: 2
    functionLinenumber: 10906
    functionLinenumberEnd: 10918
    functionName: _buildUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - c_locale_stod
    - std::ostringstream::str
    - UnitOfMeasure
    - std::string
    - std::locale::classic
    - std::ostringstream::imbue
    linkageType: ''
    returnType: UnitOfMeasure
    signature: UnitOfMeasure _buildUnit(const LinearUnitDesc *unitsMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10925,1
    - Dst: UnitOfMeasure
      Src: /src/PROJ/src/iso19111/io.cpp:10927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - to_meter_value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10929
      start: 10922
    functionDepth: 0
    functionLinenumber: 10922
    functionLinenumberEnd: 10929
    functionName: _buildUnit
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - UnitOfMeasure
    - ParsingException
    linkageType: ''
    returnType: UnitOfMeasure
    signature: UnitOfMeasure _buildUnit(double to_meter_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:10939,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10940,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:10941,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10943,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:10948,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:10949,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:10952,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:10954,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:10956,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:10958,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:10963,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - step
    - unitsParamName
    - toMeterParamName
    argTypes:
    - Step
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10967
      start: 10933
    functionDepth: 3
    functionLinenumber: 10933
    functionLinenumberEnd: 10967
    functionName: "PROJStringParser::Private::buildUnit(Step &step,\n                                     const
      std::string &unitsParamName,\n                                     const std::string
      &toMeterParamName)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - ParsingException
    - getParamValue
    - c_locale_stod
    - getLinearUnits
    - _buildUnit
    - auto::empty
    linkageType: ''
    returnType: UnitOfMeasure
    signature: "UnitOfMeasure PROJStringParser::Private::buildUnit(Step &step,\n                                     const
      std::string &unitsParamName,\n                                     const std::string
      &toMeterParamName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11003
      start: 11000
    functionDepth: 0
    functionLinenumber: 11000
    functionLinenumberEnd: 11003
    functionName: isGeographicStep
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicStep(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11009
      start: 11007
    functionDepth: 0
    functionLinenumber: 11007
    functionLinenumberEnd: 11009
    functionName: isGeocentricStep
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeocentricStep(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11015
      start: 11013
    functionDepth: 0
    functionLinenumber: 11013
    functionLinenumberEnd: 11015
    functionName: isTopocentricStep
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTopocentricStep(const std::string &name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getMappingsFromPROJName
      Src: /src/PROJ/src/iso19111/io.cpp:11021,1
    - Dst: proj_list_operations
      Src: /src/PROJ/src/iso19111/io.cpp:11032,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11039
      start: 11019
    functionDepth: 1
    functionLinenumber: 11019
    functionLinenumberEnd: 11039
    functionName: isProjectedStep
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - getMappingsFromPROJName
    - proj_list_operations
    linkageType: ''
    returnType: bool
    signature: bool isProjectedStep(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11045
      start: 11043
    functionDepth: 0
    functionLinenumber: 11043
    functionLinenumberEnd: 11045
    functionName: createMapWithUnknownName
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap createMapWithUnknownName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11052,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11053,1
    - Dst: dmstor
      Src: /src/PROJ/src/iso19111/io.cpp:11055,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11055,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11057,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11057,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11058,1
    - Dst: proj_list_prime_meridians
      Src: /src/PROJ/src/iso19111/io.cpp:11065,1
    - Dst: static_cast<char>
      Src: /src/PROJ/src/iso19111/io.cpp:11070,1
    - Dst: toupper
      Src: /src/PROJ/src/iso19111/io.cpp:11070,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/io.cpp:11071,1
    - Dst: dmstor
      Src: /src/PROJ/src/iso19111/io.cpp:11072,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11074,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11075,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11076,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11081,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - step
    argTypes:
    - Step
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11086
      start: 11049
    functionDepth: 3
    functionLinenumber: 11049
    functionLinenumberEnd: 11086
    functionName: PROJStringParser::Private::buildPrimeMeridian(Step &step)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - proj_list_prime_meridians
    - PropertyMap
    - Angle
    - createMapWithUnknownName
    - ParsingException
    - auto::c_str
    - getParamValue
    - toupper
    - dmstor
    - PrimeMeridian::create
    - auto::empty
    - auto::substr
    linkageType: ''
    returnType: PrimeMeridianNNPtr
    signature: PrimeMeridianNNPtr PROJStringParser::Private::buildPrimeMeridian(Step
      &step)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11092,1
    - Dst: get_cpp_context
      Src: /src/PROJ/src/iso19111/io.cpp:11095,1
    - Dst: Ellipsoid::guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11101
      start: 11090
    functionDepth: 3
    functionLinenumber: 11090
    functionLinenumberEnd: 11101
    functionName: PROJStringParser::Private::guessBodyName(double a)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - get_cpp_context
    - Ellipsoid::guessBodyName
    linkageType: ''
    returnType: std::string
    signature: std::string PROJStringParser::Private::guessBodyName(double a)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11108,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11109,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11110,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11111,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11112,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11113,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11114,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11115,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11116,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11122,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11123,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11123,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11123,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11125,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11125,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11131,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11133,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11134,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11136,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11138,1
    - Dst: PrimeMeridianNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/io.cpp:11149,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/io.cpp:11149,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11152,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11153,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11155,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11157,1
    - Dst: anchorDefinition
      Src: /src/PROJ/src/iso19111/io.cpp:11157,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11162,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11165,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11167,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11169,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11169,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11170,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11170,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11171,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11172,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11173,1
    - Dst: fixupPrimeMeridan
      Src: /src/PROJ/src/iso19111/io.cpp:11174,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11177,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11181,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11183,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11185,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11192,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11193,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11200,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11200,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11201,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11202,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11212,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11217,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11218,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11221,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11225,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11226,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11227,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11227,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11233,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11234,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11235,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11235,1
    - Dst: proj_list_ellps
      Src: /src/PROJ/src/iso19111/io.cpp:11241,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11244,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:11244,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11246,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11248,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:11249,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11251,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11253,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11254,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11256,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11256,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11259,1
    - Dst: strncmp
      Src: /src/PROJ/src/iso19111/io.cpp:11259,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11261,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11263,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11264,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11266,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11266,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11269,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11270,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11271,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11272,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:11277,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11280,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11286,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11287,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11288,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11290,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11294,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11296,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11298,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11306,1
    - Dst: EllipsoidPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11307,1
    - Dst: EllipsoidPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11309,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11316,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:11317,1
    - Dst: fixupPrimeMeridan
      Src: /src/PROJ/src/iso19111/io.cpp:11318,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11321,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11322,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11324,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11326,1
    - Dst: Ellipsoid::createTwoAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11330,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11330,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11330,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11331,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11331,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11333,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11336,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11337,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11339,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11341,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11344,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11345,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11345,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11345,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11346,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11348,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11351,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11354,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11356,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11358,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11359,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11359,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11360,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11360,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11362,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11365,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11368,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11370,1
    - Dst: asin
      Src: /src/PROJ/src/iso19111/io.cpp:11372,1
    - Dst: cos
      Src: /src/PROJ/src/iso19111/io.cpp:11373,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11374,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11375,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11375,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11376,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11376,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11378,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11381,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11384,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11386,1
    - Dst: sqrt
      Src: /src/PROJ/src/iso19111/io.cpp:11388,1
    - Dst: Ellipsoid::createFlattenedSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11389,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11390,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11390,1
    - Dst: Scale
      Src: /src/PROJ/src/iso19111/io.cpp:11391,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11391,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11393,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11397,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11397,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11397,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11398,1
    - Dst: Ellipsoid::createSphere
      Src: /src/PROJ/src/iso19111/io.cpp:11399,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11399,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:11400,1
    - Dst: guessBodyName
      Src: /src/PROJ/src/iso19111/io.cpp:11400,1
    - Dst: createGRF
      Src: /src/PROJ/src/iso19111/io.cpp:11401,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11404,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11404,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11405,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11408,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11408,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11409,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11412,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11412,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11413,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11416,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11416,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11417,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11420,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11420,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11421,1
    - Dst: overridePmIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:11424,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 163
    argCount: 2
    argNames:
    - step
    - title
    argTypes:
    - Step
    - std::string
    assertStmts:
    - condition: (strncmp(proj_ellps[i].major, "a=", 2) == 0)
      pos:
        line_end: 11243
        line_start: 11243
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: (strncmp(proj_ellps[i].ell, "rf=", 3) == 0)
      pos:
        line_end: 11258
        line_start: 11258
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 11425
      start: 11105
    functionDepth: 3
    functionLinenumber: 11105
    functionLinenumberEnd: 11425
    functionName: PROJStringParser::Private::buildDatum(Step &step, const std::string
      &title)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - Scale
    - strncmp
    - proj_list_ellps
    - createMapWithUnknownName
    - PropertyMap::PropertyMap
    - getParamValue
    - overridePmIfNeeded
    - EllipsoidPtr::nameStr
    - NN_NO_CHECK
    - ParsingException
    - PropertyMap::set
    - asin
    - assert
    - PrimeMeridianNNPtr::_isEquivalentTo
    - std::string
    - Ellipsoid::createSphere
    - anchorDefinition
    - GeodeticReferenceFrame::create
    - Ellipsoid::createFlattenedSphere
    - std::string::empty
    - sqrt
    - ellipsoid
    - Ellipsoid::createTwoAxis
    - guessBodyName
    - Length
    - PropertyMap
    - auto::ellipsoid
    - get
    - fixupPrimeMeridan
    - createGRF
    - cos
    - c_locale_stod
    - auto::empty
    linkageType: ''
    returnType: GeodeticReferenceFrameNNPtr
    signature: GeodeticReferenceFrameNNPtr PROJStringParser::Private::buildDatum(Step
      &step, const std::string &title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:11435,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - abbreviation
    - direction
    - unit
    argTypes:
    - std::string
    - std::string
    - AxisDirection
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11438
      start: 11431
    functionDepth: 1
    functionLinenumber: 11431
    functionLinenumberEnd: 11438
    functionName: createAxis
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - PropertyMap
    - CoordinateSystemAxis::create
    linkageType: ''
    returnType: CoordinateSystemAxisNNPtr
    signature: "CoordinateSystemAxisNNPtr createAxis(const std::string &name, const
      std::string &abbreviation,\n           const AxisDirection &direction, const
      common::UnitOfMeasure &unit,\n           const MeridianPtr &meridian = nullMeridian)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11445,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11445,1
    - Dst: UnitOfMeasure::type
      Src: /src/PROJ/src/iso19111/io.cpp:11447,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11448,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11460,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11464,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11464,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11479,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11483,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11483,1
    - Dst: Meridian::create
      Src: /src/PROJ/src/iso19111/io.cpp:11485,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:11485,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11489,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11494,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:11498,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11503,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11508,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11509,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11510,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11521,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11525,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11529,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:11530,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11531,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11532,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11535,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11548,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11552,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:11553,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:11554,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 5
    argNames:
    - step
    - unit
    - iAxisSwap
    - axisType
    - ignorePROJAxis
    argTypes:
    - Step
    - UnitOfMeasure
    - int
    - AxisType
    - bool
    assertStmts:
    - condition: (iAxisSwap < 0 || ci_equal(steps_[iAxisSwap].name, "axisswap"))
      pos:
        line_end: 11444
        line_start: 11444
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 11557
      start: 11440
    functionDepth: 3
    functionLinenumber: 11440
    functionLinenumberEnd: 11557
    functionName: "PROJStringParser::Private::processAxisSwap(Step &step,\n                                           const
      UnitOfMeasure &unit,\n                                           int iAxisSwap,
      AxisType axisType,\n                                           bool ignorePROJAxis)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - Angle
    - auto::size
    - ParsingException
    - std::move
    - getParamValue
    - assert
    - hasParamValue
    - UnitOfMeasure::type
    - ci_equal
    - std::string
    - auto::empty
    - split
    - createAxis
    - Meridian::create
    linkageType: ''
    returnType: std::vector<CoordinateSystemAxisNNPtr>
    signature: "std::vector<CoordinateSystemAxisNNPtr> PROJStringParser::Private::processAxisSwap(Step
      &step,\n                                           const UnitOfMeasure &unit,\n
      \                                          int iAxisSwap, AxisType axisType,\n
      \                                          bool ignorePROJAxis)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11564,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11565,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11570,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11571,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11573,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11576,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11578,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11578,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11580,1
    - Dst: processAxisSwap
      Src: /src/PROJ/src/iso19111/io.cpp:11589,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/io.cpp:11591,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11592,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11595,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11597,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11598,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11598,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11599,1
    - Dst: EllipsoidalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11600,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 4
    argNames:
    - iStep
    - iUnitConvert
    - iAxisSwap
    - ignorePROJAxis
    argTypes:
    - int
    - int
    - int
    - bool
    assertStmts:
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11564
        line_start: 11563
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 11601
      start: 11561
    functionDepth: 3
    functionLinenumber: 11561
    functionLinenumberEnd: 11601
    functionName: "PROJStringParser::Private::buildEllipsoidalCS(\n    int iStep,
      int iUnitConvert, int iAxisSwap, bool ignorePROJAxis)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - std::string*::empty
    - buildUnit
    - ParsingException
    - PropertyMap::PropertyMap
    - getParamValue
    - CoordinateSystemAxis::create
    - assert
    - hasParamValue
    - EllipsoidalCS::create
    - ci_equal
    - processAxisSwap
    linkageType: ''
    returnType: EllipsoidalCSNNPtr
    signature: "EllipsoidalCSNNPtr PROJStringParser::Private::buildEllipsoidalCS(\n
      \   int iStep, int iUnitConvert, int iAxisSwap, bool ignorePROJAxis)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11608,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11609,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11614,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11615,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11617,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11620,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11622,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11622,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11624,1
    - Dst: processAxisSwap
      Src: /src/PROJ/src/iso19111/io.cpp:11633,1
    - Dst: SphericalCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11636,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - iStep
    - iUnitConvert
    - iAxisSwap
    - ignorePROJAxis
    argTypes:
    - int
    - int
    - int
    - bool
    assertStmts:
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11608
        line_start: 11607
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 11637
      start: 11605
    functionDepth: 3
    functionLinenumber: 11605
    functionLinenumberEnd: 11637
    functionName: "PROJStringParser::Private::buildSphericalCS(\n    int iStep, int
      iUnitConvert, int iAxisSwap, bool ignorePROJAxis)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - std::string*::empty
    - ParsingException
    - getParamValue
    - SphericalCS::create
    - assert
    - ci_equal
    - processAxisSwap
    linkageType: ''
    returnType: SphericalCSNNPtr
    signature: "SphericalCSNNPtr PROJStringParser::Private::buildSphericalCS(\n    int
      iStep, int iUnitConvert, int iAxisSwap, bool ignorePROJAxis)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - paramValue
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11648
      start: 11641
    functionDepth: 2
    functionLinenumber: 11641
    functionLinenumberEnd: 11648
    functionName: getNumericValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - c_locale_stod
    linkageType: ''
    returnType: double
    signature: "double getNumericValue(const std::string &paramValue,\n                              bool
      *pHasError = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11652
      start: 11652
    functionDepth: 0
    functionLinenumber: 11652
    functionLinenumberEnd: 11652
    functionName: ignoreRetVal
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignoreRetVal(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11652
      start: 11652
    functionDepth: 0
    functionLinenumber: 11652
    functionLinenumberEnd: 11652
    functionName: ignoreRetVal
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignoreRetVal(T)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isGeographicStep
      Src: /src/PROJ/src/iso19111/io.cpp:11659,1
    - Dst: ignoreRetVal
      Src: /src/PROJ/src/iso19111/io.cpp:11664,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11664,1
    - Dst: buildDatum
      Src: /src/PROJ/src/iso19111/io.cpp:11666,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11668,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11669,1
    - Dst: hasUnusedParameters
      Src: /src/PROJ/src/iso19111/io.cpp:11672,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:11673,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11673,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:11674,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:11676,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11678,1
    - Dst: buildEllipsoidalCS
      Src: /src/PROJ/src/iso19111/io.cpp:11680,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11682,1
    - Dst: buildSphericalCS
      Src: /src/PROJ/src/iso19111/io.cpp:11685,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - iStep
    - iUnitConvert
    - iAxisSwap
    - ignorePROJAxis
    argTypes:
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11689
      start: 11655
    functionDepth: 3
    functionLinenumber: 11655
    functionLinenumberEnd: 11689
    functionName: "PROJStringParser::Private::buildGeodeticCRS(\n    int iStep, int
      iUnitConvert, int iAxisSwap, bool ignorePROJAxis)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - PropertyMap
    - auto::set
    - buildEllipsoidalCS
    - hasUnusedParameters
    - ignoreRetVal
    - getParamValue
    - GeographicCRS::create
    - GeodeticCRS::create
    - hasParamValue
    - getNumericValue
    - auto::empty
    - isGeographicStep
    - buildDatum
    - buildSphericalCS
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: "GeodeticCRSNNPtr PROJStringParser::Private::buildGeodeticCRS(\n    int
      iStep, int iUnitConvert, int iAxisSwap, bool ignorePROJAxis)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11697,1
    - Dst: isGeocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:11697,1
    - Dst: isTopocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:11697,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11698,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11699,1
    - Dst: buildDatum
      Src: /src/PROJ/src/iso19111/io.cpp:11703,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11705,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11708,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11709,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11710,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11711,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11713,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:11714,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11716,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11716,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11718,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11724,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:11725,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11727,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:11730,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11732,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11735,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11739,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11740,1
    - Dst: CartesianCS::createGeocentric
      Src: /src/PROJ/src/iso19111/io.cpp:11741,1
    - Dst: hasUnusedParameters
      Src: /src/PROJ/src/iso19111/io.cpp:11743,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:11744,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11747,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - iStep
    - iUnitConvert
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (isGeocentricStep(step.name) || isTopocentricStep(step.name))
      pos:
        line_end: 11696
        line_start: 11696
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11698
        line_start: 11697
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 11748
      start: 11693
    functionDepth: 3
    functionLinenumber: 11693
    functionLinenumberEnd: 11748
    functionName: PROJStringParser::Private::buildGeocentricCRS(int iStep, int iUnitConvert)
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - hasUnusedParameters
    - getParamValue
    - isGeocentricStep
    - _buildUnit
    - CartesianCS::createGeocentric
    - isTopocentricStep
    - std::swap
    - std::string*::empty
    - ParsingException
    - GeodeticCRS::create
    - assert
    - buildDatum
    - auto::set
    - ci_equal
    - PropertyMap
    - buildUnit
    - c_locale_stod
    - getLinearUnits
    - auto::empty
    linkageType: ''
    returnType: GeodeticCRSNNPtr
    signature: GeodeticCRSNNPtr PROJStringParser::Private::buildGeocentricCRS(int
      iStep, int iUnitConvert)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11756,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11757,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11759,1
    - Dst: BoundCRS::createFromNadgrids
      Src: /src/PROJ/src/iso19111/io.cpp:11760,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11761,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:11763,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:11766,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:11766,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11768,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/io.cpp:11772,1
    - Dst: toWGS84AutocorrectWrongValues
      Src: /src/PROJ/src/iso19111/io.cpp:11773,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11778,1
    - Dst: value::clear
      Src: /src/PROJ/src/iso19111/io.cpp:11779,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:11783,1
    - Dst: BoundCRS::createFromTOWGS84
      Src: /src/PROJ/src/iso19111/io.cpp:11791,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11794,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11795,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11796,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11797,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:11800,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11803,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11803,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:11804,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11807,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11808,1
    - Dst: CRSNNPtr::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/io.cpp:11812,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:11814,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:11817,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:11817,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/io.cpp:11820,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/io.cpp:11820,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/io.cpp:11824,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11825,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11826,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:11827,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11828,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11830,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:11832,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/io.cpp:11833,1
    - Dst: EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/io.cpp:11835,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11839,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/io.cpp:11844,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:11845,1
    - Dst: CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:11846,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11848,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11848,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:11849,1
    - Dst: std::vector<PositionalAccuracyNNPtr>
      Src: /src/PROJ/src/iso19111/io.cpp:11852,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11853,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:11855,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:11855,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 2
    argNames:
    - iStep
    - crs
    argTypes:
    - int
    - CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11860
      start: 11752
    functionDepth: 4
    functionLinenumber: 11752
    functionLinenumberEnd: 11860
    functionName: "PROJStringParser::Private::buildBoundOrCompoundCRSIfNeeded(int
      iStep,\n                                                           CRSNNPtr
      crs)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - toString
    - auto::coordinateSystem
    - createMapWithUnknownName
    - PropertyMap::PropertyMap
    - getParamValue
    - BoundCRS::createFromTOWGS84
    - std::vector::size
    - CRSNNPtr::extractGeographicCRS
    - EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
    - auto::datumNonNull
    - VerticalReferenceFrame::create
    - split
    - BoundCRS::create
    - auto::nameStr
    - ParsingException
    - std::vector<PositionalAccuracyNNPtr>
    - VerticalCRS::create
    - std::string
    - BoundCRS::createFromNadgrids
    - GeodeticReferenceFrame::create
    - util::optional<std::string>
    - auto::promoteTo3D
    - unit
    - CompoundCRS::create
    - auto::primeMeridian
    - std::vector::push_back
    - GeographicCRS::create
    - ci_equal
    - auto::ellipsoid
    - PropertyMap
    - buildUnit
    - value::clear
    - c_locale_stod
    - Transformation::createGravityRelatedHeightToGeographic3D
    - VerticalCS::createGravityRelatedHeight
    - auto::empty
    - toWGS84AutocorrectWrongValues
    - CRSNNPtr::nameStr
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr PROJStringParser::Private::buildBoundOrCompoundCRSIfNeeded(int
      iStep,\n                                                           CRSNNPtr
      crs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dmstor
      Src: /src/PROJ/src/iso19111/io.cpp:11867,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11867,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11868,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - paramValue
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11876
      start: 11864
    functionDepth: 2
    functionLinenumber: 11864
    functionLinenumberEnd: 11876
    functionName: getAngularValue
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::string::size
    - dmstor
    linkageType: ''
    returnType: double
    signature: "double getAngularValue(const std::string &paramValue,\n                              bool
      *pHasError = nullptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11881,1
    - Dst: strstr
      Src: /src/PROJ/src/iso19111/io.cpp:11885,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:11885,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11889,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11889,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/io.cpp:11891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - str
    - stringlist
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11893
      start: 11880
    functionDepth: 1
    functionLinenumber: 11880
    functionLinenumberEnd: 11893
    functionName: is_in_stringlist
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - std::string::c_str
    - std::string::size
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool is_in_stringlist(const std::string &str, const char *stringlist)
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: getMappingsFromPROJName
      Src: /src/PROJ/src/iso19111/io.cpp:11902,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11903,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11906,1
    - Dst: strchr
      Src: /src/PROJ/src/iso19111/io.cpp:11914,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11915,1
    - Dst: strchr
      Src: /src/PROJ/src/iso19111/io.cpp:11920,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/io.cpp:11921,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/io.cpp:11922,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11923,1
    - Dst: selectSphericalOrEllipsoidal
      Src: /src/PROJ/src/iso19111/io.cpp:11936,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11939,1
    - Dst: isProjectedStep
      Src: /src/PROJ/src/iso19111/io.cpp:11939,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/io.cpp:11940,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:11941,1
    - Dst: buildPrimeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:11945,1
    - Dst: GeodeticCRSNNPtr::primeMeridian
      Src: /src/PROJ/src/iso19111/io.cpp:11946,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:11948,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11957,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11959,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11961,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11963,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11965,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11966,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11967,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:11968,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11969,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11969,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11969,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:11974,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:11974,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11976,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11978,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:11981,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:11981,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11982,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11985,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11987,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11988,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11989,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11991,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:11994,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11996,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11998,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:11999,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12001,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12002,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12003,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12004,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12005,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12006,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12010,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12014,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12015,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12015,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12016,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12017,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12017,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12018,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12018,1
    - Dst: auto::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12019,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12020,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12020,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12023,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12024,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12026,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12027,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12028,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12030,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12030,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12031,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12033,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12034,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12036,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12037,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12038,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12040,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12040,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12041,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12043,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12043,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12044,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12044,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12045,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12046,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12046,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12047,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12047,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12048,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12049,1
    - Dst: auto::paramValues::size
      Src: /src/PROJ/src/iso19111/io.cpp:12051,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12052,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12057,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12057,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12058,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12058,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12059,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12059,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12060,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12060,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12061,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12061,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12063,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12064,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12066,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12069,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12070,1
    - Dst: GeodeticCRSNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:12071,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12072,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12072,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12073,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12076,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12077,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12078,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12079,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12079,1
    - Dst: GeodeticCRSNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:12080,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12081,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12083,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12088,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12091,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12094,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12095,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12097,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12097,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12103,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12104,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12105,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12106,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12106,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12107,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12107,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12107,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12108,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12111,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12112,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12112,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12112,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12114,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12117,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12120,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12123,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12124,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12126,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12126,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12134,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12135,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12135,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12136,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12137,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12137,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/io.cpp:12138,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12142,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12145,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12146,1
    - Dst: std::swap
      Src: /src/PROJ/src/iso19111/io.cpp:12148,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12150,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12150,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12152,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/io.cpp:12159,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:12160,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12162,1
    - Dst: getLinearUnits
      Src: /src/PROJ/src/iso19111/io.cpp:12165,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12168,1
    - Dst: _buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12172,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:12179,1
    - Dst: std::atoi
      Src: /src/PROJ/src/iso19111/io.cpp:12182,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12182,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12183,1
    - Dst: Conversion::createUTM
      Src: /src/PROJ/src/iso19111/io.cpp:12185,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12189,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12191,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12200,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12201,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12201,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12204,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12207,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12209,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12212,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12218,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12219,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12220,1
    - Dst: getParamValueK
      Src: /src/PROJ/src/iso19111/io.cpp:12243,1
    - Dst: std::string*::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12244,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12246,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12248,1
    - Dst: GeodeticCRSNNPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/io.cpp:12252,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12254,1
    - Dst: Angle
      Src: /src/PROJ/src/iso19111/io.cpp:12257,1
    - Dst: acos
      Src: /src/PROJ/src/iso19111/io.cpp:12257,1
    - Dst: sqrt
      Src: /src/PROJ/src/iso19111/io.cpp:12257,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12261,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12270,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12271,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12274,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12275,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12278,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:12279,1
    - Dst: Length
      Src: /src/PROJ/src/iso19111/io.cpp:12284,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/io.cpp:12286,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:12286,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/io.cpp:12287,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12289,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12289,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12290,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12299,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12300,1
    - Dst: hasParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12301,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12302,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:12305,1
    - Dst: is_in_stringlist
      Src: /src/PROJ/src/iso19111/io.cpp:12313,1
    - Dst: auto*::value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12319,1
    - Dst: isalpha
      Src: /src/PROJ/src/iso19111/io.cpp:12321,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12324,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/io.cpp:12324,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12325,1
    - Dst: is_in_stringlist
      Src: /src/PROJ/src/iso19111/io.cpp:12327,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12328,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12329,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12329,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12330,1
    - Dst: is_in_stringlist
      Src: /src/PROJ/src/iso19111/io.cpp:12331,1
    - Dst: getNumericValue
      Src: /src/PROJ/src/iso19111/io.cpp:12341,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12342,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12342,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12343,1
    - Dst: getAngularValue
      Src: /src/PROJ/src/iso19111/io.cpp:12345,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12346,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/io.cpp:12346,1
    - Dst: Measure
      Src: /src/PROJ/src/iso19111/io.cpp:12347,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12350,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/io.cpp:12354,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12356,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12363,1
    - Dst: util::nn_dynamic_pointer_cast<GeographicCRS>
      Src: /src/PROJ/src/iso19111/io.cpp:12365,1
    - Dst: DerivedGeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12367,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12368,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12370,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12370,1
    - Dst: buildEllipsoidalCS
      Src: /src/PROJ/src/iso19111/io.cpp:12371,1
    - Dst: processAxisSwap
      Src: /src/PROJ/src/iso19111/io.cpp:12379,1
    - Dst: GeodeticCRSNNPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:12381,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12382,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12383,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12385,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12386,1
    - Dst: isTopocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:12388,1
    - Dst: CartesianCS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12389,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:12391,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:12392,1
    - Dst: createAxis
      Src: /src/PROJ/src/iso19111/io.cpp:12393,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12396,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12397,1
    - Dst: hasUnusedParameters
      Src: /src/PROJ/src/iso19111/io.cpp:12398,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12399,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12402,1
    - Dst: createPseudoMercator
      Src: /src/PROJ/src/iso19111/io.cpp:12406,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12407,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12408,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12408,1
    CyclomaticComplexity: 186
    EdgeCount: 186
    ICount: 307
    argCount: 4
    argNames:
    - iStep
    - geodCRS
    - iUnitConvert
    - iAxisSwap
    argTypes:
    - int
    - GeodeticCRSNNPtr
    - int
    - int
    assertStmts:
    - condition: (isProjectedStep(step.name))
      pos:
        line_end: 11938
        line_start: 11938
        source_file: /src/PROJ/src/iso19111/io.cpp
    - condition: "(iUnitConvert < 0 ||\n           ci_equal(steps_[iUnitConvert].name,
        \"unitconvert\"))"
      pos:
        line_end: 11940
        line_start: 11939
        source_file: /src/PROJ/src/iso19111/io.cpp
    constantsTouched: []
    func_position:
      end: 12411
      start: 11897
    functionDepth: 3
    functionLinenumber: 11897
    functionLinenumberEnd: 12411
    functionName: "PROJStringParser::Private::buildProjectedCRS(int iStep,\n                                             const
      GeodeticCRSNNPtr &geodCRS,\n                                             int
      iUnitConvert, int iAxisSwap)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - acos
    - buildPrimeMeridian
    - getParamValueK
    - createMapWithUnknownName
    - PropertyMap::PropertyMap
    - getParamValue
    - std::round
    - hasUnusedParameters
    - getAngularValue
    - _buildUnit
    - Conversion::create
    - isalpha
    - NN_NO_CHECK
    - isTopocentricStep
    - DerivedGeographicCRS::create
    - getMappingsFromPROJName
    - createPseudoMercator
    - split
    - auto*::value::empty
    - std::fabs
    - std::swap
    - std::string*::empty
    - ParameterValue::create
    - ParsingException
    - std::atoi
    - PropertyMap::set
    - util::nn_dynamic_pointer_cast<GeographicCRS>
    - assert
    - hasParamValue
    - getNumericValue
    - ProjectedCRS::create
    - isProjectedStep
    - processAxisSwap
    - KeyValue
    - createAxis
    - GeodeticCRSNNPtr::primeMeridian
    - std::string::empty
    - sqrt
    - auto::set
    - auto::size
    - Angle
    - std::vector::push_back
    - ci_equal
    - CartesianCS::create
    - selectSphericalOrEllipsoidal
    - auto::paramValues::emplace_back
    - OperationParameter::create
    - Length
    - PropertyMap
    - auto::paramValues::size
    - buildUnit
    - starts_with
    - buildEllipsoidalCS
    - GeodeticCRSNNPtr::ellipsoid
    - strchr
    - c_locale_stod
    - getLinearUnits
    - getMapping
    - Conversion::createUTM
    - Measure
    - GeodeticCRSNNPtr::coordinateSystem
    - is_in_stringlist
    - auto::empty
    - auto::axisList
    linkageType: ''
    returnType: CRSNNPtr
    signature: "CRSNNPtr PROJStringParser::Private::buildProjectedCRS(int iStep,\n
      \                                            const GeodeticCRSNNPtr &geodCRS,\n
      \                                            int iUnitConvert, int iAxisSwap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRS*::domains
      Src: /src/PROJ/src/iso19111/io.cpp:12421,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12422,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/io.cpp:12423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12426
      start: 12420
    functionDepth: 1
    functionLinenumber: 12420
    functionLinenumberEnd: 12426
    functionName: getExtent
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - auto::empty
    - crs::CRS*::domains
    - domainOfValidity
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: metadata::ExtentPtr &getExtent(const crs::CRS *crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - bFree
    argTypes:
    - PJ_CONTEXT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12435
      start: 12435
    functionDepth: 0
    functionLinenumber: 12435
    functionLinenumberEnd: 12435
    functionName: PJContextHolder
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJContextHolder(PJ_CONTEXT *ctx, bool bFree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12439
      start: 12436
    functionDepth: 2
    functionLinenumber: 12436
    functionLinenumberEnd: 12439
    functionName: ~PJContextHolder()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~PJContextHolder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12440
      start: 12440
    functionDepth: 0
    functionLinenumber: 12440
    functionLinenumberEnd: 12440
    functionName: PJContextHolder
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJContextHolder(const PJContextHolder &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12441
      start: 12441
    functionDepth: 0
    functionLinenumber: 12441
    functionLinenumberEnd: 12441
    functionName: '&operator=(const PJContextHolder &)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJContextHolder
    signature: PJContextHolder &operator=(const PJContextHolder &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - bFree
    argTypes:
    - PJ_CONTEXT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12435
      start: 12435
    functionDepth: 0
    functionLinenumber: 12435
    functionLinenumberEnd: 12435
    functionName: PJContextHolder
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJContextHolder(PJ_CONTEXT *ctx, bool bFree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12439
      start: 12436
    functionDepth: 2
    functionLinenumber: 12436
    functionLinenumberEnd: 12439
    functionName: ~PJContextHolder()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - proj_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~PJContextHolder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12440
      start: 12440
    functionDepth: 0
    functionLinenumber: 12440
    functionLinenumberEnd: 12440
    functionName: PJContextHolder
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PJContextHolder(const PJContextHolder &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12441
      start: 12441
    functionDepth: 0
    functionLinenumber: 12441
    functionLinenumberEnd: 12441
    functionName: '&operator=(const PJContextHolder &)'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJContextHolder
    signature: PJContextHolder &operator=(const PJContextHolder &)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12461,1
    - Dst: steps_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12465,1
    - Dst: title_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12466,1
    - Dst: globalParamValues_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12467,1
    - Dst: PROJStringSyntaxParser
      Src: /src/PROJ/src/iso19111/io.cpp:12469,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12472,1
    - Dst: getGlobalParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12473,1
    - Dst: getGlobalParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12474,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12475,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12475,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12477,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12478,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12479,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12481,1
    - Dst: Step::paramValues::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12482,1
    - Dst: KeyValue
      Src: /src/PROJ/src/iso19111/io.cpp:12483,1
    - Dst: VerticalReferenceFrame::create
      Src: /src/PROJ/src/iso19111/io.cpp:12486,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:12486,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12487,1
    - Dst: createMapWithUnknownName
      Src: /src/PROJ/src/iso19111/io.cpp:12488,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/io.cpp:12489,1
    - Dst: buildUnit
      Src: /src/PROJ/src/iso19111/io.cpp:12490,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12496,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12497,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12498,1
    - Dst: isGeocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:12499,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12502,1
    - Dst: isTopocentricStep
      Src: /src/PROJ/src/iso19111/io.cpp:12502,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12503,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12506,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:12509,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12511,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12518,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12519,1
    - Dst: proj_context_get_use_proj4_init_rules
      Src: /src/PROJ/src/iso19111/io.cpp:12542,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12545,1
    - Dst: std::string::resize
      Src: /src/PROJ/src/iso19111/io.cpp:12551,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:12551,1
    - Dst: pj_find_file
      Src: /src/PROJ/src/iso19111/io.cpp:12553,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12553,1
    - Dst: createFromUserInput
      Src: /src/PROJ/src/iso19111/io.cpp:12557,1
    - Dst: dynamic_cast<CRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:12558,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/io.cpp:12558,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12573,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12574,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12575,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/io.cpp:12575,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12578,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/io.cpp:12580,1
    - Dst: PropertyMap::set
      Src: /src/PROJ/src/iso19111/io.cpp:12582,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:12584,1
    - Dst: dynamic_cast<GeographicCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:12586,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:12588,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12590,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/io.cpp:12591,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/io.cpp:12592,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12593,1
    - Dst: EllipsoidalCS::createLongitudeLatitude
      Src: /src/PROJ/src/iso19111/io.cpp:12594,1
    - Dst: "EllipsoidalCS::\n                                      createLongitudeLatitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/io.cpp:12596,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/io.cpp:12599,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:12599,1
    - Dst: dynamic_cast<ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/io.cpp:12601,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/io.cpp:12604,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/io.cpp:12605,1
    - Dst: ProjectedCRS::create
      Src: /src/PROJ/src/iso19111/io.cpp:12607,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12608,1
    - Dst: CartesianCS::createEastingNorthing
      Src: /src/PROJ/src/iso19111/io.cpp:12609,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/io.cpp:12610,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/io.cpp:12610,1
    - Dst: dynamic_cast<IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/io.cpp:12618,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12621,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12624,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12627,1
    - Dst: value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12631,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12633,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:12638,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/io.cpp:12639,1
    - Dst: PROJStringParser::createFromPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:12640,1
    - Dst: pj_mkparam
      Src: /src/PROJ/src/iso19111/io.cpp:12645,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12645,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12647,1
    - Dst: pj_expand_init
      Src: /src/PROJ/src/iso19111/io.cpp:12650,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/io.cpp:12653,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12654,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12657,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12659,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12664,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/io.cpp:12670,1
    - Dst: free
      Src: /src/PROJ/src/iso19111/io.cpp:12677,1
    - Dst: value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12683,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12685,1
    - Dst: PROJStringParser::createFromPROJString
      Src: /src/PROJ/src/iso19111/io.cpp:12690,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12701,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/io.cpp:12702,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12702,1
    - Dst: isGeographicStep
      Src: /src/PROJ/src/iso19111/io.cpp:12704,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12713,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12722,1
    - Dst: isProjectedStep
      Src: /src/PROJ/src/iso19111/io.cpp:12731,1
    - Dst: steps_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12743,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12745,1
    - Dst: getParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12746,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12747,1
    - Dst: getGlobalParamValue
      Src: /src/PROJ/src/iso19111/io.cpp:12747,1
    - Dst: static_cast<Logger *>
      Src: /src/PROJ/src/iso19111/io.cpp:12765,1
    - Dst: proj_context_create
      Src: /src/PROJ/src/iso19111/io.cpp:12775,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12777,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/iso19111/io.cpp:12783,1
    - Dst: proj_log_func
      Src: /src/PROJ/src/iso19111/io.cpp:12784,1
    - Dst: proj_context_use_proj4_init_rules
      Src: /src/PROJ/src/iso19111/io.cpp:12787,1
    - Dst: pj_create_internal
      Src: /src/PROJ/src/iso19111/io.cpp:12790,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/io.cpp:12791,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12791,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/iso19111/io.cpp:12799,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12804,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/io.cpp:12811,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/io.cpp:12811,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/io.cpp:12814,1
    - Dst: strchr
      Src: /src/PROJ/src/iso19111/io.cpp:12821,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/io.cpp:12822,1
    - Dst: key::size
      Src: /src/PROJ/src/iso19111/io.cpp:12823,1
    - Dst: memcmp
      Src: /src/PROJ/src/iso19111/io.cpp:12824,1
    - Dst: key::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12824,1
    - Dst: key::size
      Src: /src/PROJ/src/iso19111/io.cpp:12824,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/io.cpp:12829,1
    - Dst: key::c_str
      Src: /src/PROJ/src/iso19111/io.cpp:12829,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/io.cpp:12837,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/io.cpp:12844,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:12847,1
    - Dst: projString_::clear
      Src: /src/PROJ/src/iso19111/io.cpp:12849,1
    - Dst: auto::name::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12850,1
    - Dst: projString_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12855,1
    - Dst: value::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12860,1
    - Dst: pj_double_quote_string_param_if_needed
      Src: /src/PROJ/src/iso19111/io.cpp:12863,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12868,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/iso19111/io.cpp:12871,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/io.cpp:12872,1
    - Dst: proj_errno_string
      Src: /src/PROJ/src/iso19111/io.cpp:12873,1
    - Dst: Logger::msg::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12874,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:12878,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/src/iso19111/io.cpp:12882,1
    - Dst: ParsingException
      Src: /src/PROJ/src/iso19111/io.cpp:12886,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12892,1
    - Dst: buildGeocentricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12893,1
    - Dst: steps_::size
      Src: /src/PROJ/src/iso19111/io.cpp:12893,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12898,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12906,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12908,1
    - Dst: buildGeocentricCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12908,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12910,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12922,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12923,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12926,1
    - Dst: buildBoundOrCompoundCRSIfNeeded
      Src: /src/PROJ/src/iso19111/io.cpp:12937,1
    - Dst: buildProjectedCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12939,1
    - Dst: buildGeodeticCRS
      Src: /src/PROJ/src/iso19111/io.cpp:12941,1
    - Dst: nn_static_pointer_cast<BaseObject>
      Src: /src/PROJ/src/iso19111/io.cpp:12954,1
    - Dst: PropertyMap
      Src: /src/PROJ/src/iso19111/io.cpp:12960,1
    - Dst: title_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:12961,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/io.cpp:12962,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/src/iso19111/io.cpp:12964,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 292
    argCount: 1
    argNames:
    - projString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12966
      start: 12454
    functionDepth: 7
    functionLinenumber: 12454
    functionLinenumberEnd: 12966
    functionName: PROJStringParser::createFromPROJString
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 1
    functionsReached:
    - getParamValue
    - getExtent
    - value::empty
    - key::c_str
    - proj_context_get_use_proj4_init_rules
    - auto::method
    - buildProjectedCRS
    - dynamic_cast<GeographicCRS *>
    - proj_destroy
    - VerticalCRS::create
    - proj_log_level
    - ProjectedCRS::create
    - pj_create_internal
    - isGeographicStep
    - std::string::empty
    - steps_::clear
    - auto::set
    - static_cast<int>
    - std::string::resize
    - c_str
    - starts_with
    - std::set::find
    - pj_find_file
    - toString
    - proj_context_destroy
    - buildGeodeticCRS
    - proj_log_func
    - proj_context_create
    - NN_NO_CHECK
    - memcmp
    - Logger::msg::empty
    - EllipsoidalCS::createLongitudeLatitude
    - std::string::find
    - auto::datumEnsemble
    - pj_expand_init
    - pj_mkparam
    - auto::exportToPROJString
    - ci_equal
    - createFromUserInput
    - free
    - proj_errno_string
    - PropertyMap
    - strchr
    - SingleOperation::createPROJBased
    - VerticalCS::createGravityRelatedHeight
    - auto::derivingConversion
    - PROJStringFormatter::create
    - proj_context_use_proj4_init_rules
    - dynamic_cast<CRS *>
    - std::set::end
    - auto::get
    - title_::empty
    - static_cast<Logger *>
    - auto::coordinateSystem
    - PropertyMap::PropertyMap
    - isGeocentricStep
    - VerticalReferenceFrame::create
    - projString_::empty
    - isTopocentricStep
    - "EllipsoidalCS::\n                                      createLongitudeLatitudeEllipsoidalHeight"
    - nn_static_pointer_cast<BaseObject>
    - ParsingException
    - Step::paramValues::emplace_back
    - KeyValue
    - auto::datum
    - unit
    - GeographicCRS::create
    - auto::name::empty
    - globalParamValues_::clear
    - buildUnit
    - strcmp
    - pj_double_quote_string_param_if_needed
    - auto::empty
    - std::vector::emplace_back
    - std::string::c_str
    - createMapWithUnknownName
    - auto::baseCRS
    - ci_starts_with
    - dynamic_cast<IPROJStringExportable *>
    - proj_context_errno
    - PROJStringParser::createFromPROJString
    - std::set::insert
    - auto::nameStr
    - static_cast<size_t>
    - PropertyMap::set
    - std::move
    - buildBoundOrCompoundCRSIfNeeded
    - steps_::size
    - isProjectedStep
    - title_::clear
    - buildGeocentricCRS
    - dynamic_cast<ProjectedCRS *>
    - steps_::empty
    - key::size
    - projString_::clear
    - getGlobalParamValue
    - CartesianCS::createEastingNorthing
    - PROJStringSyntaxParser
    - auto::axisList
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr PROJStringParser::createFromPROJString(const std::string
      &projString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctxtIn
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12528
      start: 12525
    functionDepth: 0
    functionLinenumber: 12525
    functionLinenumberEnd: 12528
    functionName: BackupContextErrno
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackupContextErrno(PJ_CONTEXT *ctxtIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12530
      start: 12530
    functionDepth: 0
    functionLinenumber: 12530
    functionLinenumberEnd: 12530
    functionName: ~BackupContextErrno()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BackupContextErrno()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12532
      start: 12532
    functionDepth: 0
    functionLinenumber: 12532
    functionLinenumberEnd: 12532
    functionName: BackupContextErrno
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackupContextErrno(const BackupContextErrno &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12534
      start: 12533
    functionDepth: 0
    functionLinenumber: 12533
    functionLinenumberEnd: 12534
    functionName: "&\n                operator=(const BackupContextErrno &)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BackupContextErrno
    signature: "BackupContextErrno &\n                operator=(const BackupContextErrno
      &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msgIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12761
      start: 12756
    functionDepth: 0
    functionLinenumber: 12756
    functionLinenumberEnd: 12761
    functionName: setMessage
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const char *msgIn) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Logger *>
      Src: /src/PROJ/src/iso19111/io.cpp:12765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - user_data
    - level
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12767
      start: 12763
    functionDepth: 0
    functionLinenumber: 12763
    functionLinenumberEnd: 12767
    functionName: log
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 109
    functionsReached:
    - static_cast<Logger *>
    linkageType: ''
    returnType: void
    signature: void log(void *user_data, int level, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/io.cpp:12984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outputIdIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12984
      start: 12984
    functionDepth: 1
    functionLinenumber: 12984
    functionLinenumberEnd: 12984
    functionName: pushOutputId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void pushOutputId(bool outputIdIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:12987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12987
      start: 12987
    functionDepth: 0
    functionLinenumber: 12987
    functionLinenumberEnd: 12987
    functionName: popOutputId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 2
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: void
    signature: void popOutputId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/io.cpp:13001,1
    - Dst: JSONFormatter::make_unique<JSONFormatter>
      Src: /src/PROJ/src/iso19111/io.cpp:13001,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/io.cpp:13002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13004
      start: 12999
    functionDepth: 1
    functionLinenumber: 12999
    functionLinenumberEnd: 13004
    functionName: JSONFormatter::create
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 62
    functionsReached:
    - std::move
    - JSONFormatter::make_unique<JSONFormatter>
    - NN_NO_CHECK
    linkageType: ''
    returnType: JSONFormatterNNPtr
    signature: "JSONFormatterNNPtr JSONFormatter::create( // cppcheck-suppress passedByValue\n
      \   DatabaseContextPtr dbContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer_::SetPrettyFormatting
      Src: /src/PROJ/src/iso19111/io.cpp:13010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multiLine
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13012
      start: 13009
    functionDepth: 1
    functionLinenumber: 13009
    functionLinenumberEnd: 13012
    functionName: '&JSONFormatter::setMultiLine(bool multiLine) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - writer_::SetPrettyFormatting
    linkageType: ''
    returnType: JSONFormatter
    signature: JSONFormatter &JSONFormatter::setMultiLine(bool multiLine) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer_::SetIndentationSize
      Src: /src/PROJ/src/iso19111/io.cpp:13019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13021
      start: 13018
    functionDepth: 0
    functionLinenumber: 13018
    functionLinenumberEnd: 13021
    functionName: '&JSONFormatter::setIndentationWidth(int width) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - writer_::SetIndentationSize
    linkageType: ''
    returnType: JSONFormatter
    signature: JSONFormatter &JSONFormatter::setIndentationWidth(int width) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - schema
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13032
      start: 13029
    functionDepth: 0
    functionLinenumber: 13029
    functionLinenumberEnd: 13032
    functionName: '&JSONFormatter::setSchema(const std::string &schema) noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSONFormatter
    signature: JSONFormatter &JSONFormatter::setSchema(const std::string &schema)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/io.cpp:13038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13038
      start: 13038
    functionDepth: 0
    functionLinenumber: 13038
    functionLinenumberEnd: 13038
    functionName: JSONFormatter::JSONFormatter
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::JSONFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13042
      start: 13042
    functionDepth: 0
    functionLinenumber: 13042
    functionLinenumberEnd: 13042
    functionName: JSONFormatter::~JSONFormatter()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::~JSONFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13046
      start: 13046
    functionDepth: 0
    functionLinenumber: 13046
    functionLinenumberEnd: 13046
    functionName: JSONFormatter::writer
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPLJSonStreamingWriter
    signature: CPLJSonStreamingWriter *JSONFormatter::writer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13052
      start: 13050
    functionDepth: 0
    functionLinenumber: 13050
    functionLinenumberEnd: 13052
    functionName: '&JSONFormatter::databaseContext() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DatabaseContextPtr
    signature: DatabaseContextPtr &JSONFormatter::databaseContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outputIdStack_::back
      Src: /src/PROJ/src/iso19111/io.cpp:13056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13056
      start: 13056
    functionDepth: 1
    functionLinenumber: 13056
    functionLinenumberEnd: 13056
    functionName: JSONFormatter::outputId
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - outputIdStack_::back
    linkageType: ''
    returnType: bool
    signature: bool JSONFormatter::outputId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSONFormatter::outputId
      Src: /src/PROJ/src/iso19111/io.cpp:13061,1
    - Dst: outputIdStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:13062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - calledBeforeObjectContext
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13063
      start: 13060
    functionDepth: 2
    functionLinenumber: 13060
    functionLinenumberEnd: 13063
    functionName: JSONFormatter::outputUsage
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - JSONFormatter::outputId
    - outputIdStack_::size
    linkageType: ''
    returnType: bool
    signature: bool JSONFormatter::outputUsage(bool calledBeforeObjectContext) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13069
      start: 13067
    functionDepth: 0
    functionLinenumber: 13067
    functionLinenumberEnd: 13069
    functionName: JSONFormatter::setAllowIDInImmediateChild
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::setAllowIDInImmediateChild()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13075
      start: 13073
    functionDepth: 0
    functionLinenumber: 13073
    functionLinenumberEnd: 13075
    functionName: JSONFormatter::setOmitTypeInImmediateChild
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::setOmitTypeInImmediateChild()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: d::writer_::StartObj
      Src: /src/PROJ/src/iso19111/io.cpp:13082,1
    - Dst: d::outputIdStack_::size
      Src: /src/PROJ/src/iso19111/io.cpp:13083,1
    - Dst: d::schema_::empty
      Src: /src/PROJ/src/iso19111/io.cpp:13084,1
    - Dst: d::writer_::AddObjKey
      Src: /src/PROJ/src/iso19111/io.cpp:13085,1
    - Dst: d::writer_::Add
      Src: /src/PROJ/src/iso19111/io.cpp:13086,1
    - Dst: d::writer_::AddObjKey
      Src: /src/PROJ/src/iso19111/io.cpp:13089,1
    - Dst: d::writer_::Add
      Src: /src/PROJ/src/iso19111/io.cpp:13090,1
    - Dst: d::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:13096,1
    - Dst: d::pushOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:13099,1
    - Dst: d::stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:13100,1
    - Dst: d::stackHasId_::push_back
      Src: /src/PROJ/src/iso19111/io.cpp:13103,1
    - Dst: d::stackHasId_::back
      Src: /src/PROJ/src/iso19111/io.cpp:13104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - formatter
    - objectType
    - hasId
    argTypes:
    - JSONFormatter
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13105
      start: 13079
    functionDepth: 2
    functionLinenumber: 13079
    functionLinenumberEnd: 13105
    functionName: "JSONFormatter::ObjectContext::ObjectContext(JSONFormatter &formatter,\n
      \                                           const char *objectType, bool hasId)"
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - d::schema_::empty
    - d::stackHasId_::push_back
    - d::outputIdStack_::size
    - d::writer_::Add
    - d::stackHasId_::back
    - d::writer_::AddObjKey
    - d::pushOutputId
    - d::writer_::StartObj
    linkageType: ''
    returnType: void
    signature: "void JSONFormatter::ObjectContext::ObjectContext(JSONFormatter &formatter,\n
      \                                           const char *objectType, bool hasId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d::writer_::EndObj
      Src: /src/PROJ/src/iso19111/io.cpp:13110,1
    - Dst: d::stackHasId_::pop_back
      Src: /src/PROJ/src/iso19111/io.cpp:13111,1
    - Dst: d::popOutputId
      Src: /src/PROJ/src/iso19111/io.cpp:13112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13113
      start: 13109
    functionDepth: 1
    functionLinenumber: 13109
    functionLinenumberEnd: 13113
    functionName: JSONFormatter::ObjectContext::~ObjectContext()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - d::stackHasId_::pop_back
    - d::popOutputId
    - d::writer_::EndObj
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::ObjectContext::~ObjectContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outputIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13119
      start: 13117
    functionDepth: 0
    functionLinenumber: 13117
    functionLinenumberEnd: 13119
    functionName: JSONFormatter::setAbridgedTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::setAbridgedTransformation(bool outputIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13125
      start: 13123
    functionDepth: 0
    functionLinenumber: 13123
    functionLinenumberEnd: 13125
    functionName: JSONFormatter::abridgedTransformation
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool JSONFormatter::abridgedTransformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writeCRS
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13131
      start: 13129
    functionDepth: 0
    functionLinenumber: 13129
    functionLinenumberEnd: 13131
    functionName: JSONFormatter::setAbridgedTransformationWriteSourceCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONFormatter::setAbridgedTransformationWriteSourceCRS(bool writeCRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13137
      start: 13135
    functionDepth: 0
    functionLinenumber: 13135
    functionLinenumberEnd: 13137
    functionName: JSONFormatter::abridgedTransformationWriteSourceCRS
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool JSONFormatter::abridgedTransformationWriteSourceCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer_::GetString
      Src: /src/PROJ/src/iso19111/io.cpp:13146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13147
      start: 13145
    functionDepth: 1
    functionLinenumber: 13145
    functionLinenumberEnd: 13147
    functionName: '&JSONFormatter::toString() const'
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - writer_::GetString
    linkageType: ''
    returnType: std::string
    signature: std::string &JSONFormatter::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13152
      start: 13152
    functionDepth: 0
    functionLinenumber: 13152
    functionLinenumberEnd: 13152
    functionName: IJSONExportable::~IJSONExportable()
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IJSONExportable::~IJSONExportable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/io.cpp:13157,1
    - Dst: JSONFormatter*::toString
      Src: /src/PROJ/src/iso19111/io.cpp:13158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13159
      start: 13156
    functionDepth: 1
    functionLinenumber: 13156
    functionLinenumberEnd: 13159
    functionName: IJSONExportable::exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/io.cpp
    functionUses: 0
    functionsReached:
    - _exportToJSON
    - JSONFormatter*::toString
    linkageType: ''
    returnType: std::string
    signature: std::string IJSONExportable::exportToJSON(JSONFormatter *formatter)
      const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:87,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:88,1
    - Dst: PROJBasedOperation::nn_make_shared<PROJBasedOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:91,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:92,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:95,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:95,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:95,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:97,1
    - Dst: addDefaultNameIfNeeded
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:98,1
    - Dst: auto::setAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:99,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:101,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:103,1
    - Dst: auto::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:104,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:105,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:107,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:108,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:108,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:124,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:126,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:128,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:128,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:130,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:132,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:134,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:135,1
    - Dst: PROJBasedOperation::nn_make_shared<PROJBasedOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:139,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:140,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:142,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:143,1
    - Dst: addDefaultNameIfNeeded
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:144,1
    - Dst: auto::setAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:145,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:146,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:148,1
    - Dst: auto::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:149,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:150,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:159,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:159,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:160,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:161,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:162,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:163,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:165,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:165,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:166,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:169,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:170,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:172,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:174,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:175,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:175,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:177,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:179,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:180,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:180,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:181,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:181,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:181,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:182,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:182,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:184,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:186,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:186,1
    - Dst: auto::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:187,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:188,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:189,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:196,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:196,1
    - Dst: exportTransformationToWKT
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:197,1
    - Dst: auto::version
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:201,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:203,1
    - Dst: auto::startNode
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:207,1
    - Dst: auto::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:208,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:208,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:209,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:211,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:212,1
    - Dst: auto::endNode
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:214,1
    - Dst: auto::writer
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:222,1
    - Dst: auto::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:223,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:224,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:224,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:225,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:227,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:228,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:229,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:230,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:232,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:235,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:235,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:236,1
    - Dst: auto::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:237,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:238,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:240,1
    - Dst: auto::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:241,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:242,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:245,1
    - Dst: auto::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:246,1
    - Dst: auto::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:247,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:248,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:250,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:251,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:253,1
    - Dst: auto::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:255,1
    - Dst: auto::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:256,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:257,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:268,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:270,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:272,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:278,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:280,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:281,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:282,1
    - Dst: PROJBasedOperation::nn_make_shared<PROJBasedOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:289,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:290,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:291,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:292,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:303,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:304,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:305,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:305,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:305,1
    - Dst: auto::getUsedGridNames
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:306,1
    - Dst: GridDescription::GridDescription
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:308,1
    - Dst: lookForGridInfo
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:311,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:316,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:316,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 328
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - method
    - _exportToJSON
    - OperationMethod::create
    - PropertyMap::PropertyMap
    - coordinateOperationAccuracies
    - UnsupportedOperationException::UnsupportedOperationException
    - nameStr
    - GridDescription::GridDescription
    - NN_NO_CHECK
    - auto::setHasBallparkTransformation
    - auto::setAccuracies
    - auto::setRequiresPerCoordinateInputTime
    - std::set::insert
    - interpolationCRS
    - auto::startInversion
    - auto::setCRSs
    - auto::ingestPROJString
    - std::move
    - auto::Add
    - auto::AddObjKey
    - createPropertiesForInverse
    - auto::setProperties
    - exportTransformationToWKT
    - auto::assignSelf
    - PROJBasedOperation::create
    - parameterValues
    - std::string
    - util::nn_static_pointer_cast<CoordinateOperation>
    - what
    - auto::version
    - auto::addQuotedString
    - lookForGridInfo
    - auto::endNode
    - _exportToPROJString
    - auto::stopInversion
    - auto::getUsedGridNames
    - as_nullable
    - addDefaultNameIfNeeded
    - auto::MakeArrayContext
    - auto::setOmitTypeInImmediateChild
    - hasBallparkTransformation
    - auto::writer
    - auto::toString
    - auto::empty
    - PROJStringFormatter::create
    - auto::MakeObjectContext
    - auto::requiresPerCoordinateInputTime
    - PROJBasedOperation::nn_make_shared<PROJBasedOperation>
    - exportToPROJString
    - auto::startNode
    - _exportToWKT
    - targetCRS
    - FormattingException::FormattingException
    - sourceCRS
    - auto::setAllowIDInImmediateChild
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: PROJBasedOperation::~PROJBasedOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJBasedOperation::~PROJBasedOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - methodIn
    argTypes:
    - OperationMethodNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: PROJBasedOperation::PROJBasedOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJBasedOperation::PROJBasedOperation(const OperationMethodNNPtr
      &methodIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:87,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:88,1
    - Dst: PROJBasedOperation::nn_make_shared<PROJBasedOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:91,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:92,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:95,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:95,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:95,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:97,1
    - Dst: addDefaultNameIfNeeded
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:98,1
    - Dst: auto::setAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:99,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:101,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:103,1
    - Dst: auto::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:104,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:105,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:107,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:108,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - properties
    - PROJString
    - sourceCRS
    - targetCRS
    - accuracies
    argTypes:
    - util::PropertyMap
    - std::string
    - crs::CRSPtr
    - crs::CRSPtr
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 112
    functionName: PROJBasedOperation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 3
    functionsReached:
    - auto::setCRSs
    - OperationMethod::create
    - PropertyMap::PropertyMap
    - auto::ingestPROJString
    - auto::setProperties
    - PROJStringFormatter::create
    - UnsupportedOperationException::UnsupportedOperationException
    - auto::assignSelf
    - auto::requiresPerCoordinateInputTime
    - NN_NO_CHECK
    - PROJBasedOperation::nn_make_shared<PROJBasedOperation>
    - auto::setAccuracies
    - addDefaultNameIfNeeded
    - auto::setRequiresPerCoordinateInputTime
    - std::string
    - what
    linkageType: ''
    returnType: PROJBasedOperationNNPtr
    signature: "PROJBasedOperationNNPtr PROJBasedOperation::create(\n    const util::PropertyMap
      &properties, const std::string &PROJString,\n    const crs::CRSPtr &sourceCRS,
      const crs::CRSPtr &targetCRS,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:124,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:126,1
    - Dst: io::IPROJStringExportableNNPtr::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:128,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:128,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:130,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:132,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:134,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:135,1
    - Dst: PROJBasedOperation::nn_make_shared<PROJBasedOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:139,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:140,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:142,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:143,1
    - Dst: addDefaultNameIfNeeded
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:144,1
    - Dst: auto::setAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:145,1
    - Dst: io::IPROJStringExportableNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:146,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:148,1
    - Dst: auto::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:149,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - properties
    - projExportable
    - inverse
    - sourceCRS
    - targetCRS
    - interpolationCRS
    - accuracies
    - hasBallparkTransformation
    argTypes:
    - util::PropertyMap
    - io::IPROJStringExportableNNPtr
    - bool
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - std::vector<metadata::PositionalAccuracyNNPtr>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 153
    functionName: PROJBasedOperation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 3
    functionsReached:
    - auto::get
    - auto::startInversion
    - auto::setCRSs
    - io::IPROJStringExportableNNPtr::_exportToPROJString
    - auto::toString
    - OperationMethod::create
    - auto::stopInversion
    - PropertyMap::PropertyMap
    - auto::setProperties
    - PROJStringFormatter::create
    - auto::assignSelf
    - auto::requiresPerCoordinateInputTime
    - PROJBasedOperation::nn_make_shared<PROJBasedOperation>
    - auto::setHasBallparkTransformation
    - auto::setAccuracies
    - addDefaultNameIfNeeded
    - auto::setRequiresPerCoordinateInputTime
    - io::IPROJStringExportableNNPtr::as_nullable
    linkageType: ''
    returnType: PROJBasedOperationNNPtr
    signature: "PROJBasedOperationNNPtr PROJBasedOperation::create(\n    const util::PropertyMap
      &properties,\n    const io::IPROJStringExportableNNPtr &projExportable, bool
      inverse,\n    const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n
      \   const crs::CRSPtr &interpolationCRS,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies,\n    bool hasBallparkTransformation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:159,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:159,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:160,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:161,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:162,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:163,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:164,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:165,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:165,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:166,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:169,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:170,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:172,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:174,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:175,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:175,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:177,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:179,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:180,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:180,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:181,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:181,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:181,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:182,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:182,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:183,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:184,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:186,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:186,1
    - Dst: auto::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:187,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:188,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 190
    functionName: PROJBasedOperation::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 0
    functionsReached:
    - coordinateOperationAccuracies
    - UnsupportedOperationException::UnsupportedOperationException
    - NN_NO_CHECK
    - auto::setHasBallparkTransformation
    - auto::setRequiresPerCoordinateInputTime
    - interpolationCRS
    - auto::startInversion
    - auto::setCRSs
    - auto::ingestPROJString
    - createPropertiesForInverse
    - PROJBasedOperation::create
    - std::string
    - util::nn_static_pointer_cast<CoordinateOperation>
    - what
    - auto::stopInversion
    - hasBallparkTransformation
    - auto::toString
    - PROJStringFormatter::create
    - auto::requiresPerCoordinateInputTime
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr PROJBasedOperation::inverse() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:196,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:196,1
    - Dst: exportTransformationToWKT
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:197,1
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:201,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:203,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:207,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:208,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:208,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:209,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:211,1
    - Dst: PROJBasedOperation::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:212,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: PROJBasedOperation::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 1
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - method
    - io::WKTFormatter*::version
    - exportTransformationToWKT
    - nameStr
    - PROJBasedOperation::_exportToWKT
    - parameterValues
    - io::WKTFormatter*::addQuotedString
    - targetCRS
    - FormattingException::FormattingException
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: void PROJBasedOperation::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:222,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:223,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:224,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:224,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:225,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:227,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:228,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:229,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:230,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:232,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:235,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:235,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:236,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:237,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:238,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:240,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:241,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:242,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:245,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:246,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:247,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:248,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:250,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:251,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:253,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:255,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:256,1
    - Dst: PROJBasedOperation::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 260
    functionName: PROJBasedOperation::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - method
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::empty
    - auto::Add
    - auto::MakeArrayContext
    - PROJBasedOperation::_exportToJSON
    - nameStr
    - io::JSONFormatter*::setAllowIDInImmediateChild
    - io::JSONFormatter*::writer
    - auto::AddObjKey
    - targetCRS
    - parameterValues
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: "void PROJBasedOperation::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:268,1
    - Dst: PROJBasedOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:270,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:272,1
    - Dst: io::PROJStringFormatter*::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:278,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:280,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:281,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 284
    functionName: PROJBasedOperation::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 1
    functionsReached:
    - PROJBasedOperation::_exportToPROJString
    - io::PROJStringFormatter*::stopInversion
    - io::PROJStringFormatter*::ingestPROJString
    - io::PROJStringFormatter*::startInversion
    - std::string
    - FormattingException::FormattingException
    - what
    linkageType: ''
    returnType: void
    signature: "void PROJBasedOperation::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJBasedOperation::nn_make_shared<PROJBasedOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:289,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:290,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:291,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: PROJBasedOperation::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - util::nn_static_pointer_cast<CoordinateOperation>
    - auto::setCRSs
    - PROJBasedOperation::nn_make_shared<PROJBasedOperation>
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr PROJBasedOperation::_shallowClone() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:303,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:304,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:305,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:305,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:305,1
    - Dst: auto::getUsedGridNames
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:306,1
    - Dst: GridDescription::GridDescription
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:308,1
    - Dst: io::DatabaseContextPtr::lookForGridInfo
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:311,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:316,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - databaseContext
    - considerKnownGridsAsAvailable
    argTypes:
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: PROJBasedOperation::gridsNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - io::DatabaseContextPtr::lookForGridInfo
    - auto::ingestPROJString
    - std::move
    - PROJStringFormatter::create
    - GridDescription::GridDescription
    - exportToPROJString
    - std::set::insert
    - auto::getUsedGridNames
    linkageType: ''
    returnType: std::set<GridDescription>
    signature: "std::set<GridDescription> PROJBasedOperation::gridsNeeded(const io::DatabaseContextPtr
      &databaseContext,\n                                bool considerKnownGridsAsAvailable)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/esriparammappings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:94,1
    - Dst: setParameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:95,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:96,1
    - Dst: setAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:97,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:110,1
    - Dst: CoordinateOperation::getPrivate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:119,1
    - Dst: CoordinateOperation::getPrivate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:129,1
    - Dst: Transformation::nn_make_shared<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:136,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:137,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:138,1
    - Dst: auto::d::forwardOperation_::shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:141,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:147,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:147,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:155,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:156,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:156,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:156,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:157,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:157,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:158,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:167,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:168,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:168,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:168,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:169,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:169,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:170,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:202,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:203,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:204,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:205,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:207,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:222,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:231,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:259,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:260,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:261,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:263,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:264,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:265,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:266,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:267,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:269,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:273,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:277,1
    - Dst: fixNegativeZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:281,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:282,1
    - Dst: fixNegativeZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:287,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:288,1
    - Dst: fixNegativeZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:293,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:294,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:299,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:313,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:322,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:324,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:327,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:329,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:329,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:330,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:339,1
    - Dst: parameters
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:365,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:365,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:366,1
    - Dst: Transformation::nn_make_shared<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:369,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:372,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:373,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:375,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:376,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:377,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:416,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:416,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:417,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:421,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:421,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:422,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:423,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:424,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:426,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:444,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:447,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:448,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:449,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:450,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:451,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:452,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:453,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:455,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:455,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:456,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:457,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:458,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:460,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:462,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:464,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:476,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:476,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:478,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:478,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:479,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:480,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:489,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:489,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:491,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:491,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:493,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:495,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:496,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:499,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:501,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:512,1
    - Dst: dynamic_cast<const util::BoxedValue *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:514,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:515,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:517,1
    - Dst: auto::integerValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:518,1
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:547,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:549,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:551,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:551,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:558,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:559,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:560,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:562,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:562,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:563,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:564,1
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:605,1
    - Dst: createSevenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:607,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:609,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:609,1
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:654,1
    - Dst: createSevenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:656,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:658,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:658,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:682,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:685,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:686,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:687,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:688,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:689,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:690,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:691,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:693,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:695,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:697,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:699,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:700,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:701,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:702,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:705,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:708,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:709,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:710,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:711,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:713,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:715,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:717,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:719,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:721,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:723,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:725,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:727,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:729,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:731,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:733,1
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:798,1
    - Dst: createFifteenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:800,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:802,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:802,1
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:877,1
    - Dst: createFifteenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:879,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:881,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:881,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:905,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:907,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:909,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:910,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:911,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:912,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:914,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:917,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:918,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:919,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:920,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:921,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:922,1
    - Dst: _createMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:958,1
    - Dst: _createMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:995,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1020,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1020,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1021,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1025,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1027,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1032,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1033,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1034,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1036,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1037,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1038,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1039,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1041,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1044,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1045,1
    - Dst: createGeocentricTranslations
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1046,1
    - Dst: createPositionVector
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1051,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1073,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1074,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1075,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1077,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1090,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1092,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1096,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1098,1
    - Dst: _createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1121,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1143,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1144,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1145,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1147,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1157,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1181,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1183,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1185,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1186,1
    - Dst: buildAccuracyZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1186,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1211,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1213,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1215,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1216,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1243,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1245,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1247,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1248,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1249,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1278,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1280,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1283,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1284,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1285,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1312,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1314,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1316,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1317,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1341,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1342,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1343,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1369,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1371,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1373,1
    - Dst: OperationMethodNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1398,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1399,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1400,1
    - Dst: OperationMethodNNPtr::parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1401,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1403,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1405,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1416,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1431,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1440,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1448,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1458,1
    - Dst: OperationMethodNNPtr::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1458,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1460,1
    - Dst: OperationMethodNNPtr::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1460,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1462,1
    - Dst: OperationMethodNNPtr::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1462,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1464,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1465,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1467,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1468,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1470,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1471,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1473,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1473,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1476,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1478,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1480,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1488,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1488,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1491,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1491,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1494,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1494,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1497,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1497,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1500,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1500,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1503,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1503,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1506,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1506,1
    - Dst: OperationMethodNNPtr::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1510,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1514,1
    - Dst: createFifteenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1515,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1516,1
    - Dst: OperationMethodNNPtr::targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1517,1
    - Dst: OperationMethodNNPtr::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1517,1
    - Dst: OperationMethodNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1522,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1525,1
    - Dst: createSevenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1526,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1527,1
    - Dst: OperationMethodNNPtr::targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1528,1
    - Dst: OperationMethodNNPtr::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1528,1
    - Dst: OperationMethodNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1530,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1544,1
    - Dst: setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1545,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1546,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1547,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1548,1
    - Dst: inverseAsTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1556,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1564,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1566,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1567,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1568,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1569,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1570,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1574,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1575,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1582,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1584,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1586,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1587,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1588,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1589,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1590,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1591,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1594,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1596,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1598,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1601,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1602,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1602,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1603,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1603,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1604,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1610,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1612,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1614,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1615,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1617,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1621,1
    - Dst: createAbridgedMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1623,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1624,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1626,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1626,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1628,1
    - Dst: createMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1630,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1630,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1631,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1631,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1632,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1632,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1632,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1633,1
    - Dst: isLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1637,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1639,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1640,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1640,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1640,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1641,1
    - Dst: createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1642,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1643,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1649,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1650,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1650,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1651,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1654,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1655,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1655,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1656,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1658,1
    - Dst: createGeographic2DOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1659,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1660,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1662,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1667,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1668,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1668,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1669,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1672,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1673,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1673,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1674,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1677,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1678,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1678,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1679,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1681,1
    - Dst: createGeographic3DOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1682,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1683,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1685,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1690,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1691,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1691,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1692,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1695,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1696,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1696,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1697,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1700,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1701,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1701,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1702,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1704,1
    - Dst: createGeographic2DWithHeightOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1705,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1706,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1708,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1713,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1714,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1714,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1715,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1718,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1719,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1719,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1720,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1721,1
    - Dst: createCartesianGridOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1722,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1723,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1725,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1731,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1732,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1732,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1733,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1735,1
    - Dst: createVerticalOffset
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1737,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1737,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1739,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1743,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1747,1
    - Dst: createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1748,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1749,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1750,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1751,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1757,1
    - Dst: createHeightDepthReversal
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1759,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1760,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1761,1
    - Dst: InverseTransformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1765,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1765,1
    - Dst: util::nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1766,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1766,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1777,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1777,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1778,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1779,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1779,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1779,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1780,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1781,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1781,1
    - Dst: setPropertiesFromForward
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1783,1
    - Dst: util::nn_make_shared<InverseTransformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1794,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1795,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1802,1
    - Dst: util::nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1803,1
    - Dst: createApproximateInverseIfPossible
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1810,1
    - Dst: util::nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1811,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1813,1
    - Dst: Transformation::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1815,1
    - Dst: InverseTransformation::nn_make_shared<InverseTransformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1822,1
    - Dst: inverseAsTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1823,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1824,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1825,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1826,1
    - Dst: exportTransformationToWKT
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1835,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1845,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1846,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1847,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1849,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1851,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1852,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1853,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1854,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1856,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1859,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1860,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1861,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1862,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1864,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1865,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1866,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1868,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1870,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1871,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1872,1
    - Dst: abridgedTransformationWriteSourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1875,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1876,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1877,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1878,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1882,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1883,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1884,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1885,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1887,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1889,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1890,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1891,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1892,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1893,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1897,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1898,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1899,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1900,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1900,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1900,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1904,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1905,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1906,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1909,1
    - Dst: convention
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1920,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1922,1
    - Dst: exportToPROJStringGeneric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1926,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1930,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1930,1
    CyclomaticComplexity: 151
    EdgeCount: 151
    ICount: 343
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 1933
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - fixNegativeZero
    - setAccuracies
    - InverseTransformation::create
    - util::nn_dynamic_pointer_cast<Transformation>
    - setOmitTypeInImmediateChild
    - auto::isSphericalPlanetocentric
    - util::PropertyMap::set
    - OperationMethodNNPtr::parameterValueNumericAsSI
    - std::vector::reserve
    - auto::setHasBallparkTransformation
    - buildAccuracyZero
    - createVerticalOffset
    - OperationParameterValue::create
    - create
    - createPropertiesForInverse
    - auto::setProperties
    - createGeocentricTranslations
    - exportTransformationToWKT
    - outputId
    - std::string
    - auto::integerValue
    - auto::set
    - createHeightDepthReversal
    - std::vector::push_back
    - ci_find
    - createApproximateInverseIfPossible
    - auto::MakeArrayContext
    - hasBallparkTransformation
    - extractGeodeticCRS
    - createCartesianGridOffsets
    - OperationMethodNNPtr::coordinateOperationAccuracies
    - auto::isGeocentric
    - createGeographic2DOffsets
    - OperationMethodNNPtr::method
    - _createGravityRelatedHeightToGeographic3D
    - auto::parameterValue
    - Transformation::nn_make_shared<Transformation>
    - targetCRS
    - parameterValues
    - sourceCRS
    - ParameterValue::createFilename
    - OperationMethodNNPtr::targetCRS
    - method
    - useOperationMethodEPSGCodeIfPresent
    - createLength
    - createFifteenParamsTransform
    - NN_NO_CHECK
    - PositionalAccuracy::create
    - value
    - auto::setCRSs
    - auto::convertToUnit
    - Transformation::_exportToWKT
    - convention
    - parameters
    - getTransformationType
    - writer
    - Private::registerInv
    - auto::assignSelf
    - std::make_unique<Private>
    - MakeObjectContext
    - util::nn_static_pointer_cast<CoordinateOperation>
    - size
    - InvalidOperation
    - concat
    - _createMolodensky
    - formatID
    - setParameterValues
    - AuthorityFactory::createUnitOfMeasure
    - OperationMethodNNPtr::parameterValues
    - setPropertiesFromForward
    - get
    - createOpParamNameEPSGCode
    - Scale::Scale
    - auto::AddObjKey
    - FormattingException::FormattingException
    - auto::get
    - parameterValueNumericAsSI
    - identifiers
    - auto::coordinateSystem
    - InverseTransformation::nn_make_shared<InverseTransformation>
    - OperationMethod::create
    - PropertyMap::PropertyMap
    - coordinateOperationAccuracies
    - auto::parameter
    - requiresPerCoordinateInputTime
    - createMethodMapNameEPSGCode
    - dynamic_cast<const crs::GeographicCRS *>
    - abridgedTransformation
    - interpolationCRS
    - setHasBallparkTransformation
    - abridgedTransformationWriteSourceCRS
    - ParameterValue::create
    - shared_from_this
    - createParams
    - shallowClone
    - CoordinateOperation::getPrivate
    - OperationMethodNNPtr::parameterValueNumeric
    - createChangeVerticalUnit
    - createAngle
    - util::nn_static_pointer_cast<crs::CRS>
    - dynamic_cast<const crs::GeodeticCRS *>
    - createMolodensky
    - dynamic_cast<const util::BoxedValue *>
    - createAbridgedMolodensky
    - getStringValue
    - auto::unit
    - auto::empty
    - auto::value
    - dynamic_cast<const OperationParameterValue *>
    - negate
    - setRequiresPerCoordinateInputTime
    - util::nn_make_shared<InverseTransformation>
    - _exportToJSON
    - isLongitudeRotation
    - nameStr
    - setAllowIDInImmediateChild
    - Transformation::create
    - inverseAsTransformation
    - createGeographic2DWithHeightOffsets
    - setCRSs
    - auto::nameStr
    - auto::d::forwardOperation_::shallowClone
    - auto::Add
    - exportToPROJStringGeneric
    - auto::getEPSGCode
    - createGeographic3DOffsets
    - createPositionVector
    - OperationMethodNNPtr::sourceCRS
    - isTimeDependent
    - createSevenParamsTransform
    - auto::_exportToJSON
    - auto::getSIValue
    - ObjectUsage::baseExportToJSON
    - auto::_exportToWKT
    - createLongitudeRotation
    - parameterValueMeasure
    - auto::type
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:94,1
    - Dst: setParameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:95,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:96,1
    - Dst: setAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    - methodIn
    - values
    - accuracies
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - OperationMethodNNPtr
    - std::vector<GeneralParameterValueNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: Transformation::Transformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - setAccuracies
    - std::make_unique<Private>
    - setCRSs
    - setParameterValues
    linkageType: ''
    returnType: void
    signature: "void Transformation::Transformation(\n    const crs::CRSNNPtr &sourceCRSIn,
      const crs::CRSNNPtr &targetCRSIn,\n    const crs::CRSPtr &interpolationCRSIn,
      const OperationMethodNNPtr &methodIn,\n    const std::vector<GeneralParameterValueNNPtr>
      &values,\n    const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Transformation::~Transformation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Transformation::~Transformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Transformation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Transformation::Transformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void Transformation::Transformation(const Transformation &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation::getPrivate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '&Transformation::sourceCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperation::getPrivate
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: crs::CRSNNPtr &Transformation::sourceCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation::getPrivate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '&Transformation::targetCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperation::getPrivate
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: crs::CRSNNPtr &Transformation::targetCRS()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::nn_make_shared<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:136,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:137,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:138,1
    - Dst: auto::d::forwardOperation_::shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: Transformation::shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - Transformation::nn_make_shared<Transformation>
    - auto::d::forwardOperation_::shallowClone
    - auto::assignSelf
    - auto::setCRSs
    linkageType: ''
    returnType: TransformationNNPtr
    signature: TransformationNNPtr Transformation::shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:147,1
    - Dst: Transformation::shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Transformation::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - util::nn_static_pointer_cast<CoordinateOperation>
    - Transformation::shallowClone
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr Transformation::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:155,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:156,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:156,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:156,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:157,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:157,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: Transformation::promoteTo3D
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - interpolationCRS
    - auto::setCRSs
    - Transformation::shallowClone
    - std::string
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::promoteTo3D(const std::string
      &,\n                            const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:167,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:168,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:168,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:168,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:169,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:169,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbContext
    argTypes:
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: Transformation::demoteTo2D
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - interpolationCRS
    - auto::setCRSs
    - Transformation::shallowClone
    - std::string
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::demoteTo2D(const std::string &,\n
      \                          const io::DatabaseContextPtr &dbContext) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:202,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:203,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:204,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:205,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:207,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:222,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:231,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:259,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:260,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:261,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:263,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:264,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:265,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:266,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:267,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:269,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:273,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:277,1
    - Dst: fixNegativeZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:281,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:282,1
    - Dst: fixNegativeZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:287,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:288,1
    - Dst: fixNegativeZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:293,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:294,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:299,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:313,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:322,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:324,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:327,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:329,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:329,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:330,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:339,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 66
    argCount: 1
    argNames:
    - canThrowException
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 341
    functionName: Transformation::getTOWGS84Parameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - fixNegativeZero
    - auto::nameStr
    - method
    - auto::type
    - get
    - auto::getSIValue
    - auto::convertToUnit
    - auto::parameter
    - FormattingException::FormattingException
    - ci_find
    - parameterValues
    - auto::parameterValue
    - parameterValueMeasure
    - auto::getEPSGCode
    - dynamic_cast<const OperationParameterValue *>
    - auto::value
    linkageType: ''
    returnType: std::vector<double>
    signature: "std::vector<double> Transformation::getTOWGS84Parameters(\n    bool
      canThrowException) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::parameters
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:365,1
    - Dst: std::vector<GeneralParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:365,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:366,1
    - Dst: Transformation::nn_make_shared<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:369,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:372,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:373,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:375,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:376,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    - methodIn
    - values
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - OperationMethodNNPtr
    - std::vector<GeneralParameterValueNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 380
    functionName: Transformation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 23
    functionsReached:
    - std::vector<GeneralParameterValueNNPtr>::size
    - OperationMethodNNPtr::parameters
    - InvalidOperation
    - auto::setProperties
    - auto::assignSelf
    - ci_find
    - auto::setHasBallparkTransformation
    - Transformation::nn_make_shared<Transformation>
    - util::PropertyMap::getStringValue
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::create(\n    const util::PropertyMap
      &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn,
      const crs::CRSPtr &interpolationCRSIn,\n    const OperationMethodNNPtr &methodIn,\n
      \   const std::vector<GeneralParameterValueNNPtr> &values,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<OperationParameterNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:416,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:416,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:417,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:421,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:421,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:422,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:423,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:424,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 8
    argNames:
    - propertiesTransformation
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    - propertiesOperationMethod
    - parameters
    - values
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - util::PropertyMap
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 428
    functionName: Transformation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 24
    functionsReached:
    - std::vector<OperationParameterNNPtr>::size
    - OperationParameterValue::create
    - std::vector::push_back
    - InvalidOperation
    - Transformation::create
    - std::vector::reserve
    - std::vector<ParameterValueNNPtr>::size
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::create(const util::PropertyMap
      &propertiesTransformation,\n                       const crs::CRSNNPtr &sourceCRSIn,\n
      \                      const crs::CRSNNPtr &targetCRSIn,\n                       const
      crs::CRSPtr &interpolationCRSIn,\n                       const util::PropertyMap
      &propertiesOperationMethod,\n                       const std::vector<OperationParameterNNPtr>
      &parameters,\n                       const std::vector<ParameterValueNNPtr>
      &values,\n                       const std::vector<metadata::PositionalAccuracyNNPtr>\n
      \                          &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:444,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:447,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:448,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:449,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:450,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:451,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:452,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:453,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:455,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:455,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:456,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:457,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:458,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:460,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:462,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - properties
    - methodProperties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - rotationXArcSecond
    - rotationYArcSecond
    - rotationZArcSecond
    - scaleDifferencePPM
    - accuracies
    argTypes:
    - util::PropertyMap
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: createSevenParamsTransform
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createAngle
    - createLength
    - createOpParamNameEPSGCode
    - Scale::Scale
    - Transformation::create
    - createParams
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr createSevenParamsTransform(\n    const util::PropertyMap
      &properties,\n    const util::PropertyMap &methodProperties, const crs::CRSNNPtr
      &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n
      \   double translationYMetre, double translationZMetre,\n    double rotationXArcSecond,
      double rotationYArcSecond,\n    double rotationZArcSecond, double scaleDifferencePPM,\n
      \   const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:476,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:476,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:478,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:478,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:479,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:480,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:489,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:489,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:491,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:491,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:493,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:495,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:496,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:499,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:501,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 5
    argNames:
    - sourceCRSIn
    - targetCRSIn
    - isGeocentric
    - isGeog2D
    - isGeog3D
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 504
    functionName: getTransformationType
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - auto::isGeocentric
    - auto::coordinateSystem
    - InvalidOperation
    - auto::isSphericalPlanetocentric
    - dynamic_cast<const crs::GeodeticCRS *>
    - crs::CRSNNPtr::get
    - dynamic_cast<const crs::GeographicCRS *>
    linkageType: ''
    returnType: void
    signature: "void getTransformationType(const crs::CRSNNPtr &sourceCRSIn,\n                                  const
      crs::CRSNNPtr &targetCRSIn,\n                                  bool &isGeocentric,
      bool &isGeog2D,\n                                  bool &isGeog3D)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:512,1
    - Dst: dynamic_cast<const util::BoxedValue *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:514,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:515,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:517,1
    - Dst: auto::integerValue
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - properties
    - nDefaultOperationMethodEPSGCode
    argTypes:
    - util::PropertyMap
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 522
    functionName: useOperationMethodEPSGCodeIfPresent
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - get
    - util::PropertyMap::get
    - auto::integerValue
    - auto::type
    - dynamic_cast<const util::BoxedValue *>
    linkageType: ''
    returnType: int
    signature: "int useOperationMethodEPSGCodeIfPresent(const util::PropertyMap &properties,\n
      \                                   int nDefaultOperationMethodEPSGCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:547,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:549,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:551,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:551,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:558,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:559,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:560,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:562,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:562,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:563,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 566
    functionName: Transformation::createGeocentricTranslations
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 8
    functionsReached:
    - getTransformationType
    - useOperationMethodEPSGCodeIfPresent
    - createLength
    - createOpParamNameEPSGCode
    - createParams
    - Transformation::create
    - createMethodMapNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createGeocentricTranslations(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n    double
      translationYMetre, double translationZMetre,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:605,1
    - Dst: createSevenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:607,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:609,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - rotationXArcSecond
    - rotationYArcSecond
    - rotationZArcSecond
    - scaleDifferencePPM
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 617
    functionName: Transformation::createPositionVector
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 6
    functionsReached:
    - createMethodMapNameEPSGCode
    - getTransformationType
    - createSevenParamsTransform
    - useOperationMethodEPSGCodeIfPresent
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createPositionVector(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n    double translationYMetre,
      double translationZMetre,\n    double rotationXArcSecond, double rotationYArcSecond,\n
      \   double rotationZArcSecond, double scaleDifferencePPM,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:654,1
    - Dst: createSevenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:656,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:658,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - rotationXArcSecond
    - rotationYArcSecond
    - rotationZArcSecond
    - scaleDifferencePPM
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 666
    functionName: Transformation::createCoordinateFrameRotation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 4
    functionsReached:
    - createMethodMapNameEPSGCode
    - getTransformationType
    - createSevenParamsTransform
    - useOperationMethodEPSGCodeIfPresent
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createCoordinateFrameRotation(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n    double
      translationYMetre, double translationZMetre,\n    double rotationXArcSecond,
      double rotationYArcSecond,\n    double rotationZArcSecond, double scaleDifferencePPM,\n
      \   const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:682,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:685,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:686,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:687,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:688,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:689,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:690,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:691,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:693,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:695,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:697,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:699,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:700,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:701,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:702,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:705,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:708,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:709,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:710,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:711,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:713,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:715,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:717,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:719,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:721,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:723,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:725,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:727,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:729,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:731,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - properties
    - methodProperties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - rotationXArcSecond
    - rotationYArcSecond
    - rotationZArcSecond
    - scaleDifferencePPM
    - rateTranslationX
    - rateTranslationY
    - rateTranslationZ
    - rateRotationX
    - rateRotationY
    - rateRotationZ
    - rateScaleDifference
    - referenceEpochYear
    - accuracies
    argTypes:
    - util::PropertyMap
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 736
    functionName: createFifteenParamsTransform
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createAngle
    - createLength
    - createOpParamNameEPSGCode
    - Scale::Scale
    - Transformation::create
    - AuthorityFactory::createUnitOfMeasure
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr createFifteenParamsTransform(\n    const util::PropertyMap
      &properties,\n    const util::PropertyMap &methodProperties, const crs::CRSNNPtr
      &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n
      \   double translationYMetre, double translationZMetre,\n    double rotationXArcSecond,
      double rotationYArcSecond,\n    double rotationZArcSecond, double scaleDifferencePPM,\n
      \   double rateTranslationX, double rateTranslationY, double rateTranslationZ,\n
      \   double rateRotationX, double rateRotationY, double rateRotationZ,\n    double
      rateScaleDifference, double referenceEpochYear,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:798,1
    - Dst: createFifteenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:800,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:802,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 19
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - rotationXArcSecond
    - rotationYArcSecond
    - rotationZArcSecond
    - scaleDifferencePPM
    - rateTranslationX
    - rateTranslationY
    - rateTranslationZ
    - rateRotationX
    - rateRotationY
    - rateRotationZ
    - rateScaleDifference
    - referenceEpochYear
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 814
    functionName: Transformation::createTimeDependentPositionVector
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - getTransformationType
    - useOperationMethodEPSGCodeIfPresent
    - createFifteenParamsTransform
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createTimeDependentPositionVector(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n    double
      translationYMetre, double translationZMetre,\n    double rotationXArcSecond,
      double rotationYArcSecond,\n    double rotationZArcSecond, double scaleDifferencePPM,\n
      \   double rateTranslationX, double rateTranslationY, double rateTranslationZ,\n
      \   double rateRotationX, double rateRotationY, double rateRotationZ,\n    double
      rateScaleDifference, double referenceEpochYear,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTransformationType
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:877,1
    - Dst: createFifteenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:879,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:881,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 19
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - rotationXArcSecond
    - rotationYArcSecond
    - rotationZArcSecond
    - scaleDifferencePPM
    - rateTranslationX
    - rateTranslationY
    - rateTranslationZ
    - rateRotationX
    - rateRotationY
    - rateRotationZ
    - rateScaleDifference
    - referenceEpochYear
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 863
    functionDepth: 4
    functionLinenumber: 863
    functionLinenumberEnd: 893
    functionName: Transformation::createTimeDependentCoordinateFrameRotation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - getTransformationType
    - useOperationMethodEPSGCodeIfPresent
    - createFifteenParamsTransform
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createTimeDependentCoordinateFrameRotation(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n    double
      translationYMetre, double translationZMetre,\n    double rotationXArcSecond,
      double rotationYArcSecond,\n    double rotationZArcSecond, double scaleDifferencePPM,\n
      \   double rateTranslationX, double rateTranslationY, double rateTranslationZ,\n
      \   double rateRotationX, double rateRotationY, double rateRotationZ,\n    double
      rateScaleDifference, double referenceEpochYear,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:905,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:907,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:909,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:910,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:911,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:912,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:914,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:917,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:918,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:919,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:920,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:921,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - methodEPSGCode
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - semiMajorAxisDifferenceMetre
    - flattingDifference
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - int
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 924
    functionName: _createMolodensky
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createLength
    - createOpParamNameEPSGCode
    - createParams
    - Transformation::create
    - AuthorityFactory::createUnitOfMeasure
    - createMethodMapNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr _createMolodensky(\n    const util::PropertyMap
      &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn,
      int methodEPSGCode,\n    double translationXMetre, double translationYMetre,\n
      \   double translationZMetre, double semiMajorAxisDifferenceMetre,\n    double
      flattingDifference,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _createMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - semiMajorAxisDifferenceMetre
    - flattingDifference
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 962
    functionName: Transformation::createMolodensky
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - _createMolodensky
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createMolodensky(\n    const util::PropertyMap
      &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn,
      double translationXMetre,\n    double translationYMetre, double translationZMetre,\n
      \   double semiMajorAxisDifferenceMetre, double flattingDifference,\n    const
      std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _createMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - translationXMetre
    - translationYMetre
    - translationZMetre
    - semiMajorAxisDifferenceMetre
    - flattingDifference
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - double
    - double
    - double
    - double
    - double
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 989
    functionDepth: 4
    functionLinenumber: 989
    functionLinenumberEnd: 1000
    functionName: Transformation::createAbridgedMolodensky
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - _createMolodensky
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createAbridgedMolodensky(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, double translationXMetre,\n    double translationYMetre,
      double translationZMetre,\n    double semiMajorAxisDifferenceMetre, double flattingDifference,\n
      \   const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<double>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1020,1
    - Dst: std::vector<double>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1020,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1021,1
    - Dst: crs::CRSNNPtr::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1025,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1027,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1032,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1033,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1034,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1036,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1037,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1038,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1039,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1041,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1044,1
    - Dst: std::vector<double>::size
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1045,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1046,1
    - Dst: Transformation::createPositionVector
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1051,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - sourceCRSIn
    - TOWGS84Parameters
    argTypes:
    - crs::CRSNNPtr
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1016
    functionDepth: 5
    functionLinenumber: 1016
    functionLinenumberEnd: 1055
    functionName: Transformation::createTOWGS84
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - auto::nameStr
    - Transformation::createPositionVector
    - Transformation::createGeocentricTranslations
    - concat
    - InvalidOperation
    - std::vector<double>::size
    - util::PropertyMap::set
    - auto::isSphericalPlanetocentric
    - util::nn_static_pointer_cast<crs::CRS>
    - NN_NO_CHECK
    - crs::CRSNNPtr::extractGeodeticCRS
    - dynamic_cast<const crs::GeographicCRS *>
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createTOWGS84(\n    const crs::CRSNNPtr
      &sourceCRSIn,\n    const std::vector<double> &TOWGS84Parameters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1073,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1074,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1075,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - filename
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - std::string
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1068
    functionDepth: 3
    functionLinenumber: 1068
    functionLinenumberEnd: 1079
    functionName: Transformation::createNTv2
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 3
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    - ParameterValue::createFilename
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createNTv2(\n    const util::PropertyMap
      &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn,
      const std::string &filename,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1090,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1092,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1096,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - inverse
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    - filename
    - accuracies
    argTypes:
    - util::PropertyMap
    - bool
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - std::string
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1084
    functionDepth: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1099
    functionName: _createGravityRelatedHeightToGeographic3D
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createOpParamNameEPSGCode
    - PropertyMap::PropertyMap
    - Transformation::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr _createGravityRelatedHeightToGeographic3D(\n    const
      util::PropertyMap &properties, bool inverse,\n    const crs::CRSNNPtr &sourceCRSIn,
      const crs::CRSNNPtr &targetCRSIn,\n    const crs::CRSPtr &interpolationCRSIn,
      const std::string &filename,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    - filename
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - std::string
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1115
    functionDepth: 4
    functionLinenumber: 1115
    functionLinenumberEnd: 1124
    functionName: Transformation::createGravityRelatedHeightToGeographic3D
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 5
    functionsReached:
    - _createGravityRelatedHeightToGeographic3D
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createGravityRelatedHeightToGeographic3D(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, const crs::CRSPtr &interpolationCRSIn,\n
      \   const std::string &filename,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1143,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1144,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1145,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - filename
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - std::string
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: Transformation::createVERTCON
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 2
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    - ParameterValue::createFilename
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createVERTCON(\n    const util::PropertyMap
      &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const crs::CRSNNPtr &targetCRSIn,
      const std::string &filename,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1158
    functionName: buildAccuracyZero
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - PositionalAccuracy::create
    linkageType: ''
    returnType: std::vector<metadata::PositionalAccuracyNNPtr>
    signature: std::vector<metadata::PositionalAccuracyNNPtr> buildAccuracyZero()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1181,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1183,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1185,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1186,1
    - Dst: buildAccuracyZero
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - offset
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1187
    functionName: Transformation::createLongitudeRotation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - ParameterValue::create
    - createOpParamNameEPSGCode
    - Transformation::create
    - createMethodMapNameEPSGCode
    - buildAccuracyZero
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createLongitudeRotation(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, const common::Angle &offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1211,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1213,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1215,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - offsetLat
    - offsetLong
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Angle
    - common::Angle
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1218
    functionName: Transformation::createGeographic2DOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createGeographic2DOffsets(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, const common::Angle &offsetLat,\n    const common::Angle
      &offsetLong,\n    const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1243,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1245,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1247,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1248,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - offsetLat
    - offsetLong
    - offsetHeight
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Angle
    - common::Angle
    - common::Length
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1251
    functionName: Transformation::createGeographic3DOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createGeographic3DOffsets(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, const common::Angle &offsetLat,\n    const common::Angle
      &offsetLong, const common::Length &offsetHeight,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1278,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1280,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1283,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1284,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - offsetLat
    - offsetLong
    - offsetHeight
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Angle
    - common::Angle
    - common::Length
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1273
    functionDepth: 3
    functionLinenumber: 1273
    functionLinenumberEnd: 1287
    functionName: Transformation::createGeographic2DWithHeightOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createGeographic2DWithHeightOffsets(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, const common::Angle &offsetLat,\n    const
      common::Angle &offsetLong, const common::Length &offsetHeight,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1312,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1314,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1316,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - eastingOffset
    - northingOffset
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Length
    - common::Length
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1307
    functionDepth: 3
    functionLinenumber: 1307
    functionLinenumberEnd: 1319
    functionName: Transformation::createCartesianGridOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createCartesianGridOffsets(\n
      \   const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n
      \   const crs::CRSNNPtr &targetCRSIn, const common::Length &eastingOffset,\n
      \   const common::Length &northingOffset,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1341,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1342,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - offsetHeight
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Length
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1346
    functionName: Transformation::createVerticalOffset
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createVerticalOffset(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, const common::Length &offsetHeight,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1369,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1371,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - factor
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - common::Scale
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1365
    functionDepth: 3
    functionLinenumber: 1365
    functionLinenumberEnd: 1380
    functionName: Transformation::createChangeVerticalUnit
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Transformation::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::createChangeVerticalUnit(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,\n    const
      crs::CRSNNPtr &targetCRSIn, const common::Scale &factor,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1390
    functionName: negate
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double negate(double val)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Transformation*::method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1398,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1399,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1400,1
    - Dst: Transformation*::parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1401,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1403,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1405,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1416,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1431,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1440,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1448,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1458,1
    - Dst: Transformation*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1458,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1460,1
    - Dst: Transformation*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1460,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1462,1
    - Dst: Transformation*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1462,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1464,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1465,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1467,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1468,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1470,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1471,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1473,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1473,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1476,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1478,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1480,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1488,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1488,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1491,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1491,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1494,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1494,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1497,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1497,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1500,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1500,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1503,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1503,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1506,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1506,1
    - Dst: Transformation*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1510,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1514,1
    - Dst: createFifteenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1515,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1516,1
    - Dst: Transformation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1517,1
    - Dst: Transformation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1517,1
    - Dst: Transformation*::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1522,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1525,1
    - Dst: createSevenParamsTransform
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1526,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1527,1
    - Dst: Transformation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1528,1
    - Dst: Transformation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1528,1
    - Dst: Transformation*::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1530,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 25
    argCount: 1
    argNames:
    - op
    argTypes:
    - Transformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1394
    functionDepth: 4
    functionLinenumber: 1394
    functionLinenumberEnd: 1536
    functionName: createApproximateInverseIfPossible
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - negate
    - auto::nameStr
    - Transformation*::parameterValueNumeric
    - auto::set
    - Transformation*::method
    - createSevenParamsTransform
    - Transformation*::targetCRS
    - util::nn_static_pointer_cast<CoordinateOperation>
    - PropertyMap::PropertyMap
    - createPropertiesForInverse
    - createFifteenParamsTransform
    - ci_find
    - Transformation*::sourceCRS
    - Transformation*::parameterValues
    - Transformation*::parameterValueNumericAsSI
    - auto::getEPSGCode
    - isTimeDependent
    - Transformation*::coordinateOperationAccuracies
    linkageType: ''
    returnType: CoordinateOperationPtr
    signature: CoordinateOperationPtr createApproximateInverseIfPossible(const Transformation
      *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation*::shallowClone
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1544,1
    - Dst: TransformationNNPtr::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1545,1
    - Dst: Transformation*::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1546,1
    - Dst: TransformationNNPtr::setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1547,1
    - Dst: Transformation*::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - thisIn
    - invTransform
    argTypes:
    - Transformation*
    - TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1550
    functionName: "Transformation::Private::registerInv(const Transformation *thisIn,\n
      \                                    TransformationNNPtr invTransform)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - TransformationNNPtr::setHasBallparkTransformation
    - Transformation*::requiresPerCoordinateInputTime
    - TransformationNNPtr::setRequiresPerCoordinateInputTime
    - Transformation*::shallowClone
    - Transformation*::hasBallparkTransformation
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr Transformation::Private::registerInv(const Transformation
      *thisIn,\n                                     TransformationNNPtr invTransform)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::inverseAsTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1557
    functionName: Transformation::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - Transformation::inverseAsTransformation
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr Transformation::inverse() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1564,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1566,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1567,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1568,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1569,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1570,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1574,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1575,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1582,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1584,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1586,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1587,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1588,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1589,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1590,1
    - Dst: useOperationMethodEPSGCodeIfPresent
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1591,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1594,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1596,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1598,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1601,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1601,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1602,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1602,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1603,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1603,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1604,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1610,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1612,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1614,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1615,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1617,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1621,1
    - Dst: Transformation::createAbridgedMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1623,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1624,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1625,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1626,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1626,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1628,1
    - Dst: Transformation::createMolodensky
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1630,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1630,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1631,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1631,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1632,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1632,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1632,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1633,1
    - Dst: isLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1637,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1639,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1640,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1640,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1640,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1641,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1642,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1643,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1649,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1650,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1650,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1651,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1654,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1655,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1655,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1656,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1658,1
    - Dst: Transformation::createGeographic2DOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1659,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1660,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1662,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1667,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1668,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1668,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1669,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1672,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1673,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1673,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1674,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1677,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1678,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1678,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1679,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1681,1
    - Dst: Transformation::createGeographic3DOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1682,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1683,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1685,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1690,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1691,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1691,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1692,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1695,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1696,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1696,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1697,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1700,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1701,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1701,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1702,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1704,1
    - Dst: Transformation::createGeographic2DWithHeightOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1705,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1706,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1708,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1713,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1714,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1714,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1715,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1718,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1719,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1719,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1720,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1721,1
    - Dst: Transformation::createCartesianGridOffsets
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1722,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1723,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1725,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1731,1
    - Dst: negate
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1732,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1732,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1733,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1735,1
    - Dst: Transformation::createVerticalOffset
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1737,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1737,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1739,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1743,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1747,1
    - Dst: Transformation::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1748,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1749,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1750,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1751,1
    - Dst: Private::registerInv
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1757,1
    - Dst: createHeightDepthReversal
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1759,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1760,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1761,1
    - Dst: InverseTransformation::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1765,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1765,1
    - Dst: util::nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1766,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1766,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1561
    functionDepth: 5
    functionLinenumber: 1561
    functionLinenumberEnd: 1767
    functionName: Transformation::inverseAsTransformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - parameterValueNumericAsSI
    - negate
    - Transformation::createGeographic3DOffsets
    - method
    - Transformation::createCartesianGridOffsets
    - InverseTransformation::create
    - useOperationMethodEPSGCodeIfPresent
    - coordinateOperationAccuracies
    - Transformation::createVerticalOffset
    - util::nn_dynamic_pointer_cast<Transformation>
    - isLongitudeRotation
    - createLength
    - NN_NO_CHECK
    - Transformation::create
    - Transformation::createLongitudeRotation
    - createMethodMapNameEPSGCode
    - auto::nameStr
    - shared_from_this
    - createPropertiesForInverse
    - Private::registerInv
    - createParams
    - auto::getEPSGCode
    - createHeightDepthReversal
    - Transformation::createMolodensky
    - Transformation::createChangeVerticalUnit
    - ci_find
    - Transformation::createAbridgedMolodensky
    - Transformation::createGeographic2DOffsets
    - auto::unit
    - createOpParamNameEPSGCode
    - Scale::Scale
    - Transformation::createGeographic2DWithHeightOffsets
    - targetCRS
    - auto::value
    - sourceCRS
    - parameterValueMeasure
    linkageType: ''
    returnType: TransformationNNPtr
    signature: TransformationNNPtr Transformation::inverseAsTransformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransformationNNPtr::targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1777,1
    - Dst: TransformationNNPtr::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1777,1
    - Dst: TransformationNNPtr::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1778,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1779,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1779,1
    - Dst: TransformationNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1779,1
    - Dst: TransformationNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1780,1
    - Dst: TransformationNNPtr::parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1781,1
    - Dst: TransformationNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1781,1
    - Dst: setPropertiesFromForward
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - forward
    argTypes:
    - TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1784
    functionName: InverseTransformation::InverseTransformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - setPropertiesFromForward
    - TransformationNNPtr::coordinateOperationAccuracies
    - OperationMethod::create
    - TransformationNNPtr::targetCRS
    - TransformationNNPtr::interpolationCRS
    - createPropertiesForInverse
    - TransformationNNPtr::method
    - TransformationNNPtr::parameterValues
    - TransformationNNPtr::sourceCRS
    linkageType: ''
    returnType: void
    signature: void InverseTransformation::InverseTransformation(const TransformationNNPtr
      &forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: InverseTransformation::~InverseTransformation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InverseTransformation::~InverseTransformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_make_shared<InverseTransformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1794,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - forward
    argTypes:
    - TransformationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1797
    functionName: InverseTransformation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 2
    functionsReached:
    - auto::assignSelf
    - util::nn_make_shared<InverseTransformation>
    linkageType: ''
    returnType: TransformationNNPtr
    signature: TransformationNNPtr InverseTransformation::create(const TransformationNNPtr
      &forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1802,1
    - Dst: util::nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1804
    functionName: InverseTransformation::inverseAsTransformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - util::nn_dynamic_pointer_cast<Transformation>
    - NN_NO_CHECK
    linkageType: ''
    returnType: TransformationNNPtr
    signature: TransformationNNPtr InverseTransformation::inverseAsTransformation()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createApproximateInverseIfPossible
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1810,1
    - Dst: util::nn_dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1811,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1813,1
    - Dst: Transformation::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1808
    functionDepth: 5
    functionLinenumber: 1808
    functionLinenumberEnd: 1817
    functionName: InverseTransformation::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - createApproximateInverseIfPossible
    - auto::_exportToWKT
    - util::nn_dynamic_pointer_cast<Transformation>
    - Transformation::_exportToWKT
    linkageType: ''
    returnType: void
    signature: void InverseTransformation::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseTransformation::nn_make_shared<InverseTransformation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1822,1
    - Dst: InverseTransformation::inverseAsTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1823,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1824,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1825,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1821
    functionDepth: 2
    functionLinenumber: 1821
    functionLinenumberEnd: 1827
    functionName: InverseTransformation::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - auto::setCRSs
    - InverseTransformation::nn_make_shared<InverseTransformation>
    - auto::assignSelf
    - InverseTransformation::inverseAsTransformation
    - util::nn_static_pointer_cast<CoordinateOperation>
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr InverseTransformation::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exportTransformationToWKT
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1836
    functionName: Transformation::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 2
    functionsReached:
    - exportTransformationToWKT
    linkageType: ''
    returnType: void
    signature: void Transformation::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1845,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1846,1
    - Dst: io::JSONFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1847,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1849,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1851,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1852,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1853,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1854,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1856,1
    - Dst: io::JSONFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1859,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1860,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1861,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1862,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1864,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1865,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1866,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1868,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1870,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1871,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1872,1
    - Dst: io::JSONFormatter*::abridgedTransformationWriteSourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1875,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1876,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1877,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1878,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1882,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1883,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1884,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1885,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1887,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1889,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1890,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1891,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1892,1
    - Dst: Transformation::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1893,1
    - Dst: io::JSONFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1897,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1898,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1899,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1900,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1900,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1900,1
    - Dst: io::JSONFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1904,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1905,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1906,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1909,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1842
    functionDepth: 6
    functionLinenumber: 1842
    functionLinenumberEnd: 1911
    functionName: Transformation::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - method
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - coordinateOperationAccuracies
    - nameStr
    - io::JSONFormatter*::setAllowIDInImmediateChild
    - io::JSONFormatter*::writer
    - io::JSONFormatter*::outputId
    - io::JSONFormatter*::abridgedTransformationWriteSourceCRS
    - interpolationCRS
    - value
    - auto::Add
    - Transformation::_exportToJSON
    - io::JSONFormatter*::abridgedTransformation
    - formatID
    - auto::MakeArrayContext
    - auto::_exportToJSON
    - auto::empty
    - ObjectUsage::baseExportToJSON
    - auto::AddObjKey
    - targetCRS
    - parameterValues
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: "void Transformation::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::convention
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1920,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1922,1
    - Dst: exportToPROJStringGeneric
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1926,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1930,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/transformation.cpp:1930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1931
    functionName: Transformation::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/transformation.cpp
    functionUses: 0
    functionsReached:
    - FormattingException::FormattingException
    - io::PROJStringFormatter*::convention
    - exportToPROJStringGeneric
    - nameStr
    linkageType: ''
    returnType: void
    signature: "void Transformation::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:44,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:44,1
    - Dst: buildParameterValueFromMeasure
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:50,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:58,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:59,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:60,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:68,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:68,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:69,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:69,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:78,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:78,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:79,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:79,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:80,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:89,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:89,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:90,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:90,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:91,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:91,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:101,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:101,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:102,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:102,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:103,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:103,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 115
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ParameterValue::create
    - buildParameterValueFromMeasure
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:44,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<common::Measure>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: buildParameterValueFromMeasure
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - ParameterValue::create
    linkageType: ''
    returnType: std::vector<ParameterValueNNPtr>
    signature: "std::vector<ParameterValueNNPtr> buildParameterValueFromMeasure(\n
      \   const std::initializer_list<common::Measure> &list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildParameterValueFromMeasure
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<common::Measure>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: VectorOfValues::VectorOfValues
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 0
    functionsReached:
    - buildParameterValueFromMeasure
    linkageType: ''
    returnType: void
    signature: void VectorOfValues::VectorOfValues(std::initializer_list<common::Measure>
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: VectorOfValues::~VectorOfValues()
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfValues::~VectorOfValues()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:58,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:59,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m1
    - m2
    - m3
    argTypes:
    - common::Measure
    - common::Measure
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: createParams
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 5
    functionsReached:
    - ParameterValue::create
    linkageType: ''
    returnType: VectorOfValues
    signature: "VectorOfValues createParams(const common::Measure &m1,\n                            const
      common::Measure &m2,\n                            const common::Measure &m3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:68,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:68,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:69,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m1
    - m2
    - m3
    - m4
    argTypes:
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: createParams
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 5
    functionsReached:
    - ParameterValue::create
    linkageType: ''
    returnType: VectorOfValues
    signature: "VectorOfValues createParams(const common::Measure &m1,\n                            const
      common::Measure &m2,\n                            const common::Measure &m3,\n
      \                           const common::Measure &m4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:78,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:78,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:79,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:79,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - m1
    - m2
    - m3
    - m4
    - m5
    argTypes:
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: createParams
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 5
    functionsReached:
    - ParameterValue::create
    linkageType: ''
    returnType: VectorOfValues
    signature: "VectorOfValues createParams(const common::Measure &m1,\n                            const
      common::Measure &m2,\n                            const common::Measure &m3,\n
      \                           const common::Measure &m4,\n                            const
      common::Measure &m5)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:89,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:89,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:90,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:90,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:91,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - m1
    - m2
    - m3
    - m4
    - m5
    - m6
    argTypes:
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: createParams
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 5
    functionsReached:
    - ParameterValue::create
    linkageType: ''
    returnType: VectorOfValues
    signature: "VectorOfValues createParams(const common::Measure &m1, const common::Measure
      &m2,\n             const common::Measure &m3, const common::Measure &m4,\n             const
      common::Measure &m5, const common::Measure &m6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:101,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:101,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:102,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:102,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:103,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:103,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - m1
    - m2
    - m3
    - m4
    - m5
    - m6
    - m7
    argTypes:
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: createParams
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 5
    functionsReached:
    - ParameterValue::create
    linkageType: ''
    returnType: VectorOfValues
    signature: "VectorOfValues createParams(const common::Measure &m1, const common::Measure
      &m2,\n             const common::Measure &m3, const common::Measure &m4,\n             const
      common::Measure &m5, const common::Measure &m6,\n             const common::Measure
      &m7)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: VectorOfParameters::~VectorOfParameters()
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfParameters::~VectorOfParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 951
    functionName: operation::getProjectionMethodMappings
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getProjectionMethodMappings(size_t &nElts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: METHOD_NAME_CODE
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METHOD_NAME_CODE(method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: operation::getMethodNameCodes
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MethodNameCode
    signature: MethodNameCode *getMethodNameCodes(size_t &nElts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: PARAM_NAME_CODE
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_NAME_CODE(method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1172
    functionName: operation::getParamNameCodes
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParamNameCode
    signature: ParamNameCode *getParamNameCodes(size_t &nElts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1759
    functionName: operation::getOtherMethodMappings
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getOtherMethodMappings(size_t &nElts)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - epsg_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1770
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PROJ_NO_INLINE
    signature: PROJ_NO_INLINE *getMapping(int epsg_code) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod*::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1776,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1779,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - OperationMethod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1785
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 2
    functionsReached:
    - OperationMethod*::getEPSGCode
    - Identifier::isEquivalentName
    - c_str
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getMapping(const OperationMethod *method) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1791,1
    - Dst: operation::getMapping
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1792,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1796,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - wkt1_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1789
    functionDepth: 3
    functionLinenumber: 1789
    functionLinenumberEnd: 1802
    functionName: operation::getMappingFromWKT1
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached:
    - ci_starts_with
    - Identifier::isEquivalentName
    - operation::getMapping
    - std::string::c_str
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getMappingFromWKT1(const std::string &wkt1_name) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1807,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - wkt2_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 3
    functionsReached:
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getMapping(const char *wkt2_name) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - projName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1832
    functionName: operation::getMappingsFromPROJName
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<const MethodMapping *>
    signature: std::vector<const MethodMapping *> getMappingsFromPROJName(const std::string
      &projName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterNNPtr::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1843,1
    - Dst: OperationParameterNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1854,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1857,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1858,1
    - Dst: operation::areEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - mapping
    - param
    argTypes:
    - MethodMapping*
    - OperationParameterNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1836
    functionDepth: 3
    functionLinenumber: 1836
    functionLinenumberEnd: 1872
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 3
    functionsReached:
    - std::string::c_str
    - operation::areEquivalentParameters
    - OperationParameterNNPtr::getEPSGCode
    - Identifier::isEquivalentName
    - OperationParameterNNPtr::nameStr
    linkageType: ''
    returnType: ParamMapping
    signature: "ParamMapping *getMapping(const MethodMapping *mapping,\n                               const
      OperationParameterNNPtr &param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1881,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1882,1
    - Dst: operation::areEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - mapping
    - wkt1_name
    argTypes:
    - MethodMapping*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1876
    functionDepth: 3
    functionLinenumber: 1876
    functionLinenumberEnd: 1888
    functionName: operation::getMappingFromWKT1
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached:
    - Identifier::isEquivalentName
    - operation::areEquivalentParameters
    - std::string::c_str
    linkageType: ''
    returnType: ParamMapping
    signature: "ParamMapping *getMappingFromWKT1(const MethodMapping *mapping,\n                                       const
      std::string &wkt1_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 951
    functionName: operation::getProjectionMethodMappings
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getProjectionMethodMappings(size_t &nElts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: METHOD_NAME_CODE
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METHOD_NAME_CODE(method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: operation::getMethodNameCodes
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MethodNameCode
    signature: MethodNameCode *getMethodNameCodes(size_t &nElts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: PARAM_NAME_CODE
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_NAME_CODE(method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1172
    functionName: operation::getParamNameCodes
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParamNameCode
    signature: ParamNameCode *getParamNameCodes(size_t &nElts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1759
    functionName: operation::getOtherMethodMappings
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getOtherMethodMappings(size_t &nElts)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - epsg_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1770
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PROJ_NO_INLINE
    signature: PROJ_NO_INLINE *getMapping(int epsg_code) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod*::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1776,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1779,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - OperationMethod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1785
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 3
    functionsReached:
    - OperationMethod*::getEPSGCode
    - Identifier::isEquivalentName
    - c_str
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getMapping(const OperationMethod *method) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1791,1
    - Dst: operation::getMapping
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1792,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1796,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - wkt1_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1789
    functionDepth: 3
    functionLinenumber: 1789
    functionLinenumberEnd: 1802
    functionName: operation::getMappingFromWKT1
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached:
    - ci_starts_with
    - Identifier::isEquivalentName
    - operation::getMapping
    - std::string::c_str
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getMappingFromWKT1(const std::string &wkt1_name) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1807,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - wkt2_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 4
    functionsReached:
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: MethodMapping
    signature: MethodMapping *getMapping(const char *wkt2_name) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - projName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1832
    functionName: operation::getMappingsFromPROJName
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<const MethodMapping *>
    signature: std::vector<const MethodMapping *> getMappingsFromPROJName(const std::string
      &projName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterNNPtr::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1843,1
    - Dst: OperationParameterNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1854,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1857,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1858,1
    - Dst: operation::areEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - mapping
    - param
    argTypes:
    - MethodMapping*
    - OperationParameterNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1836
    functionDepth: 3
    functionLinenumber: 1836
    functionLinenumberEnd: 1872
    functionName: operation::getMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 4
    functionsReached:
    - std::string::c_str
    - operation::areEquivalentParameters
    - OperationParameterNNPtr::getEPSGCode
    - Identifier::isEquivalentName
    - OperationParameterNNPtr::nameStr
    linkageType: ''
    returnType: ParamMapping
    signature: "ParamMapping *getMapping(const MethodMapping *mapping,\n                               const
      OperationParameterNNPtr &param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1881,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1882,1
    - Dst: operation::areEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/parammappings.cpp:1883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - mapping
    - wkt1_name
    argTypes:
    - MethodMapping*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1876
    functionDepth: 3
    functionLinenumber: 1876
    functionLinenumberEnd: 1888
    functionName: operation::getMappingFromWKT1
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.cpp
    functionUses: 0
    functionsReached:
    - Identifier::isEquivalentName
    - operation::areEquivalentParameters
    - std::string::c_str
    linkageType: ''
    returnType: ParamMapping
    signature: "ParamMapping *getMappingFromWKT1(const MethodMapping *mapping,\n                                       const
      std::string &wkt1_name)"
  - BBCount: 237
    BranchProfiles: []
    Callsites:
    - Dst: setParameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:96,1
    - Dst: Conversion::nn_make_shared<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:114,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:115,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:116,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:121,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:121,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:134,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:136,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:137,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:139,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:140,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:141,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:142,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:144,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:147,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:148,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:149,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:149,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:150,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:151,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:152,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:161,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:165,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:165,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:167,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:168,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:171,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:172,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:172,1
    - Dst: parameters
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:193,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:193,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:194,1
    - Dst: Conversion::nn_make_shared<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:197,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:198,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:199,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:226,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:226,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:227,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:231,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:231,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:233,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:234,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:236,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:248,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:250,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:253,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:271,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:274,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:279,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:279,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:282,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:285,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:290,1
    - Dst: addDefaultNameIfNeeded
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:291,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:301,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:302,1
    - Dst: createConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:303,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:312,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:313,1
    - Dst: createConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:314,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:337,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:339,1
    - Dst: getUTMConversionProperty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:340,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:342,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:342,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:343,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:344,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:345,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:346,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:373,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:374,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:401,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:403,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:430,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:432,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:462,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:463,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:492,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:494,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:521,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:523,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:557,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:558,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:586,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:587,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:618,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:620,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:656,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:657,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:692,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:694,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:735,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:737,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:764,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:765,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:792,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:793,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:821,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:822,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:852,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:854,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:881,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:882,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:908,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:910,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:941,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:942,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:966,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:967,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:988,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:989,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1010,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1011,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1032,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1033,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1055,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1056,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1077,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1078,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1111,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1112,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1146,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1148,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1171,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1172,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1193,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1194,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1219,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1221,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1245,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1247,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1271,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1273,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1296,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1298,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1343,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1345,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1390,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1392,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1424,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1428,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1429,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1430,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1431,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1432,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1433,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1434,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1435,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1465,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1466,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1497,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1498,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1547,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1548,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1601,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1602,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1631,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1632,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1654,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1655,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1685,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1686,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1717,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1718,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1747,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1749,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1780,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1782,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1805,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1806,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1831,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1833,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1859,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1860,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1888,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1890,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1918,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1919,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1945,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1947,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1975,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1976,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2006,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2007,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2029,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2030,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2051,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2052,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2080,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2081,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2103,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2104,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2126,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2127,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2148,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2149,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2172,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2173,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2195,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2196,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2218,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2219,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2240,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2241,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2262,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2263,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2286,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2288,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2311,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2313,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2337,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2338,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2384,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2385,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2435,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2437,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2480,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2482,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2503,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2505,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2507,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2530,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2531,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2552,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2554,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2575,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2575,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2576,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2580,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2581,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2582,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2600,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2602,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2613,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2615,1
    - Dst: createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2616,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2617,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2634,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2636,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2637,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2639,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2647,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2647,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2647,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2648,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2649,1
    - Dst: setPropertiesFromForward
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2651,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2661,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2662,1
    - Dst: util::nn_make_shared<InverseConversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2669,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2670,1
    - Dst: InverseConversion::nn_make_shared<InverseConversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2677,1
    - Dst: inverseAsConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2678,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2679,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2680,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2681,1
    - Dst: isAxisOrderReversal2D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2699,1
    - Dst: isAxisOrderReversal3D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2700,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2707,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2710,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2713,1
    - Dst: createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2717,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2718,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2719,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2720,1
    - Dst: createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2726,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2727,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2728,1
    - Dst: isAxisOrderReversal2D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2732,1
    - Dst: isAxisOrderReversal3D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2733,1
    - Dst: createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2735,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2736,1
    - Dst: createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2742,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2743,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2744,1
    - Dst: createHeightDepthReversal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2750,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2751,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2752,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2756,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2759,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2759,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2761,1
    - Dst: InverseConversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2765,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2765,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2766,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2766,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2774,1
    - Dst: std::cos
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2775,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2776,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2782,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2783,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2794,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2795,1
    - Dst: lcc_1sp_to_2sp_f
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2821,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2861,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2863,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2863,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2866,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2866,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2871,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2878,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2880,1
    - Dst: std::acos
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2888,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2888,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2889,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2890,1
    - Dst: createMercatorVariantB
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2893,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2894,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2895,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2895,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2897,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2898,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2899,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2900,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2901,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2902,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2907,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2909,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2911,1
    - Dst: createMercatorVariantA
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2912,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2913,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2914,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2915,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2915,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2917,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2918,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2919,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2920,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2921,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2922,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2923,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2932,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2932,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2934,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2935,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2937,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2941,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2942,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2943,1
    - Dst: sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2944,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2945,1
    - Dst: fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2947,1
    - Dst: createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2948,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2949,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2950,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2950,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2953,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2954,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2955,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2956,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2957,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2958,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2960,1
    - Dst: std::asin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2962,1
    - Dst: find_zero_lcc_1sp_to_2sp_f
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2962,1
    - Dst: std::asin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2964,1
    - Dst: find_zero_lcc_1sp_to_2sp_f
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2964,1
    - Dst: RadToDeg
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2965,1
    - Dst: RadToDeg
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2966,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2969,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2969,1
    - Dst: floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2971,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2972,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2972,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2974,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2982,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2984,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2985,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2986,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2988,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2989,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2990,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2991,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2993,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2995,1
    - Dst: DegToRad
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2995,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2997,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2997,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3000,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3001,1
    - Dst: createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3002,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3003,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3004,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3006,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3006,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3008,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3009,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3010,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3010,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3012,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3013,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3014,1
    - Dst: createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3018,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3019,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3020,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3020,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3022,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3023,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3024,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3025,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3026,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3027,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3028,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3039,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3042,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3045,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3047,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3049,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3051,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3053,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3054,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3055,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3056,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3057,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3058,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3058,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3059,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3060,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3061,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3061,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3062,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3064,1
    - Dst: std::asin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3065,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3066,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3067,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3068,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3070,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3071,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3073,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3073,1
    - Dst: RadToDeg
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3075,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3077,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3077,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3078,1
    - Dst: createLambertConicConformal_1SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3080,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3081,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3082,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3083,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3083,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3085,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3086,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3086,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3088,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3089,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3091,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3092,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3093,1
    - Dst: getEsriMappings
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3106,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3110,1
    - Dst: getESRIMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3126,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3127,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3136,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3136,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3138,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3148,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3148,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3149,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3149,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3151,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3151,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3161,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3162,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3164,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3178,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3179,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3181,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3196,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3198,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3205,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3213,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3213,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3228,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3229,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3230,1
    - Dst: getESRIMethodNameAndParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3233,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3244,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3245,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3250,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3250,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3261,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3262,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3263,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3264,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3266,1
    - Dst: convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3269,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3271,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3278,1
    - Dst: useDerivingConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3278,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3281,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3282,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3282,1
    - Dst: enter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3284,1
    - Dst: pushOutputUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3285,1
    - Dst: pushOutputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3286,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3290,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3290,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3291,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3292,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3293,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3294,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3295,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3296,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3304,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3305,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3305,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3310,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3310,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3311,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3314,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3316,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3317,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3318,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3319,1
    - Dst: useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3324,1
    - Dst: getESRIMethodNameAndParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3327,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3330,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3331,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3332,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3336,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3337,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3339,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3341,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3342,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3345,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3347,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3347,1
    - Dst: axisLinearUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3348,1
    - Dst: axisAngularUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3352,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3353,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3361,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3363,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3363,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3365,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3367,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3369,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3372,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3374,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3381,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3385,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3386,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3391,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3392,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3393,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3395,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3396,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3397,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3400,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3401,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3403,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3404,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3405,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3406,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3408,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3409,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3411,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3412,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3413,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3415,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3416,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3418,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3419,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3420,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3421,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3423,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3424,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3425,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3431,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3435,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3438,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3443,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3445,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3446,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3448,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3458,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3459,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3460,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3461,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3471,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3472,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3473,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3474,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3486,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3491,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3493,1
    - Dst: createOperationParameterValueFromInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3495,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3503,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3504,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3506,1
    - Dst: popOutputUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3508,1
    - Dst: popOutputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3509,1
    - Dst: leave
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3510,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3521,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3523,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3523,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3525,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3526,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3527,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3528,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3530,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3533,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3534,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3535,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3536,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3537,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3539,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3540,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3541,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3542,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3545,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3548,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3549,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3551,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3558,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3559,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3560,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3566,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3567,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3569,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3570,1
    - Dst: createOperationParameterValueFromInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3571,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3579,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3580,1
    - Dst: auto::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3591,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3596,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3599,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3601,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3602,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3602,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3608,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3610,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3610,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3612,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3613,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3614,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3616,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3617,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3618,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3625,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3626,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3627,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3628,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3629,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3630,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3631,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3632,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3633,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3634,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3635,1
    - Dst: auto::hasOver
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3636,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3637,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3639,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3640,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3650,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3651,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3651,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3652,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3654,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3657,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3659,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3659,1
    - Dst: auto::addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3663,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3666,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3667,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3668,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3669,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3671,1
    - Dst: auto::parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3675,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3676,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3677,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3679,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3680,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3681,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3682,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3683,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3685,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3685,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3687,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3689,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3691,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3691,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3698,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3699,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3708,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3710,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3711,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3712,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3713,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3714,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3715,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3716,1
    - Dst: auto::setUseApproxTMerc
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3717,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3718,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3719,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3720,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3720,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3721,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3722,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3722,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3723,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3727,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3729,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3730,1
    - Dst: createPROJ4WebMercator
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3731,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3731,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3732,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3733,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3734,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3734,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3735,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3738,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3739,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3740,1
    - Dst: createPROJExtensionFromCustomProj
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3741,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3741,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3743,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3744,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3745,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3745,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3746,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3751,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3752,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3753,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3754,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3755,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3755,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3756,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3757,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3757,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3758,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3771,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3772,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3773,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3791,1
    - Dst: getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3795,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3798,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3804,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3805,1
    - Dst: std::dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3811,1
    - Dst: std::dynamic_pointer_cast<crs::CompoundCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3814,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3817,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3818,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3820,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                                    crs::BoundCRS>"
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3823,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                                        crs::GeodeticCRS>"
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3826,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3827,1
    - Dst: std::dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3833,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3836,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3837,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3844,1
    - Dst: extractGeodeticCRSIfGeodeticCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3845,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3846,1
    - Dst: extractGeodeticCRSIfGeodeticCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3847,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3850,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3852,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3854,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3857,1
    - Dst: setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3862,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3863,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3864,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3865,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3867,1
    - Dst: setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3868,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3874,1
    - Dst: getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3881,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3885,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3885,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3887,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3888,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3889,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3891,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3891,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3893,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3898,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3898,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3900,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3903,1
    - Dst: setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3904,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3905,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3906,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3907,1
    - Dst: setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3908,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3911,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3911,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3913,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3914,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3915,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3916,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3917,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3921,1
    - Dst: getUseApproxTMerc
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3932,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3933,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3934,1
    - Dst: isUTM
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3935,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3937,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3939,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3941,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3943,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3946,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3949,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3951,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3957,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3957,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3959,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3960,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3961,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3971,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3973,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3977,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3978,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3980,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3981,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3982,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3985,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3986,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3989,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3990,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3992,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3992,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3994,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3994,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4000,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4002,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4006,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4007,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4009,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4010,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4011,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4014,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4015,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4018,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4019,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4021,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4022,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4024,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4025,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4032,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4034,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4039,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4040,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4041,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4044,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4045,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4046,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4050,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4054,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4055,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4059,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4060,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4061,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4061,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4062,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4065,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4069,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4070,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4078,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4081,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4082,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4085,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4088,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4089,1
    - Dst: getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4093,1
    - Dst: createPROJ4WebMercator
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4096,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4097,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4098,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4105,1
    - Dst: getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4106,1
    - Dst: createPROJ4WebMercator
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4107,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4108,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4108,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4114,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4116,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4121,1
    - Dst: createPROJExtensionFromCustomProj
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4123,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4124,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4126,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4129,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4132,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4135,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4136,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4137,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4138,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4139,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4141,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4144,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4147,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4150,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4153,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4154,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4155,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4156,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4157,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4159,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4169,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4171,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4174,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4175,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4179,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4180,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4182,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4184,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4187,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4188,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4189,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4190,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4191,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4192,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4193,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4194,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4196,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4198,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4200,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4202,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4203,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4203,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4204,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4207,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4209,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4211,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4211,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4215,1
    - Dst: convention
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4218,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4223,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4226,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4229,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4229,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4231,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4231,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4233,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4233,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4237,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4237,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4243,1
    - Dst: exportToPROJStringChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4250,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4255,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4260,1
    - Dst: crs::GeographicCRSPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4261,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4263,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4264,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4267,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4270,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4273,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4274,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4275,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4281,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4281,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4283,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4285,1
    - Dst: internal::starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4289,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4293,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4294,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4297,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4298,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4300,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4302,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4312,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4313,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4314,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4316,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4319,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4320,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4321,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4323,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4325,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4331,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4332,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4338,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4339,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4340,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4342,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4348,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4353,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4356,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4366,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4388,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4390,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4395,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4396,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4397,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4402,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4404,1
    - Dst: exportToPROJStringGeneric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4409,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4410,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4411,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4417,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4418,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4420,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4421,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4422,1
    - Dst: dynamic_cast<const crs::DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4427,1
    - Dst: crs::CRS*::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4432,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4434,1
    - Dst: getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4436,1
    - Dst: auto::addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4437,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4439,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4440,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4444,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4448,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4450,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4452,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4453,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4457,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4458,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4459,1
    - Dst: auto::hasOver
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4460,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4461,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4465,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4466,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4467,1
    - Dst: dynamic_cast<const crs::DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4472,1
    - Dst: getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4473,1
    - Dst: setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4474,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4475,1
    - Dst: setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4476,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4497,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4504,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4505,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4506,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4508,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4509,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4510,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4511,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4514,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4514,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4522,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4525,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4527,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4527,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4528,1
    - Dst: std::lround
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4528,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4533,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4536,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4536,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4539,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4540,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4546,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4549,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4549,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4553,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4553,1
    - Dst: Conversion::nn_make_shared<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4579,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4580,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4582,1
    - Dst: isUTM
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4586,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4587,1
    - Dst: getUTMConversionProperty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4588,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4588,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4613,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4615,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4617,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4618,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4640,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4642,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4644,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4645,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4646,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4670,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4672,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4675,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4676,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4677,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4697,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4698,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4699,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4734,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4736,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4738,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4739,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4740,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4741,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4742,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4743,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4786,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4788,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4788,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4789,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4789,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4790,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4790,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4791,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4791,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4792,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4792,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4793,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4793,1
    CyclomaticComplexity: 380
    EdgeCount: 380
    ICount: 1164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(methodEPSGCode ==\n                   EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT_NO_CONV_FACTOR)"
      pos:
        line_end: 4226
        line_start: 4225
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    - condition: (mapping)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    - condition: (mapping)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    - condition: (starts_with(methodName, "PROJ "))
      pos:
        line_end: 3650
        line_start: 3650
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    constantsTouched: []
    func_position:
      end: 4798
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 4798
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - addParam
    - abs
    - useDerivingConversion
    - setOmitTypeInImmediateChild
    - stopInversion
    - auto::isSphericalPlanetocentric
    - createMercatorVariantA
    - Conversion::create
    - std::vector::reserve
    - internal::starts_with
    - "util::nn_dynamic_pointer_cast<\n                                    crs::BoundCRS>"
    - getUTMConversionProperty
    - auto::method
    - OperationParameterValue::create
    - version
    - create
    - createPropertiesForInverse
    - auto::setProperties
    - outputId
    - auto::addDatumInfoToPROJString
    - createMapNameEPSGCode
    - createMercatorVariantB
    - util::nn_make_shared<InverseConversion>
    - std::string
    - axisLinearUnit
    - std::dynamic_pointer_cast<crs::GeographicCRS>
    - std::acos
    - auto::componentReferenceSystems
    - auto::set
    - createHeightDepthReversal
    - static_cast<int>
    - std::vector::push_back
    - createConversion
    - std::pow
    - isAxisOrderReversal3D
    - Conversion::nn_make_shared<Conversion>
    - ci_find
    - pushOutputId
    - DegToRad
    - auto::MakeArrayContext
    - createAxisOrderReversal
    - starts_with
    - std::dynamic_pointer_cast<crs::GeodeticCRS>
    - crs::GeographicCRSPtr::ellipsoid
    - RadToDeg
    - getCRSExport
    - auto::_exportToPROJString
    - dynamic_cast<const crs::CompoundCRS *>
    - auto::parameterValueNumeric
    - exportToPROJStringChangeVerticalUnit
    - auto::parameterValue
    - _exportToWKT
    - OperationParameter::create
    - parameterValues
    - sourceCRS
    - createLambertConicConformal_1SP
    - targetCRS
    - std::sin
    - std::dynamic_pointer_cast<crs::CompoundCRS>
    - auto::addUnitConvertAndAxisSwap
    - method
    - auto::parameterValues
    - toString
    - pushOutputUnit
    - popOutputUnit
    - InverseConversion::nn_make_shared<InverseConversion>
    - std::round
    - createLength
    - NN_NO_CHECK
    - parameterValue
    - startInversion
    - auto::hasOver
    - auto::setCRSs
    - auto::convertToUnit
    - convention
    - parameters
    - writer
    - assert
    - std::asin
    - auto::assignSelf
    - MakeObjectContext
    - util::nn_static_pointer_cast<CoordinateOperation>
    - InverseConversion::create
    - extractGeodeticCRSIfGeodeticCRSOrEquivalent
    - size
    - getEsriMappings
    - auto::exportToPROJString
    - crs::CRSPtr::get
    - dynamic_cast<const crs::DerivedGeographicCRS *>
    - popOutputId
    - leave
    - auto::primeMeridian
    - InvalidOperation
    - auto::sourceCRS
    - concat
    - formatID
    - setParameterValues
    - AuthorityFactory::createUnitOfMeasure
    - ci_equal
    - enter
    - auto::addParam
    - sin
    - endNode
    - auto::ellipsoid
    - setPropertiesFromForward
    - pushOmitZUnitConversion
    - get
    - pj_msfn
    - PROJStringFormatter::create
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - Scale::Scale
    - createOpParamNameEPSGCode
    - createOperationParameterValueFromInterpolationCRS
    - tsfn
    - auto::AddObjKey
    - popOmitZUnitConversion
    - FormattingException::FormattingException
    - auto::setCRSExport
    - parameterValueNumeric
    - parameterValueNumericAsSI
    - auto::get
    - identifiers
    - buildOpName
    - auto::coordinateSystem
    - OperationMethod::create
    - PropertyMap::PropertyMap
    - auto::parameter
    - convertToOtherMethod
    - std::floor
    - createMethodMapNameEPSGCode
    - dynamic_cast<const crs::GeographicCRS *>
    - addQuotedString
    - std::fabs
    - interpolationCRS
    - "util::nn_dynamic_pointer_cast<\n                                        crs::GeodeticCRS>"
    - ParameterValue::create
    - shared_from_this
    - auto::as_nullable
    - auto::parameterValueNumericAsSI
    - createParams
    - shallowClone
    - direction
    - dynamic_cast<const crs::BoundCRS *>
    - createChangeVerticalUnit
    - unit
    - createPROJExtensionFromCustomProj
    - createAngle
    - add
    - dynamic_cast<const crs::GeodeticCRS *>
    - addDefaultNameIfNeeded
    - useESRIDialect
    - std::lround
    - std::dynamic_pointer_cast<crs::BoundCRS>
    - strcmp
    - auto::unit
    - dynamic_cast<const crs::ProjectedCRS *>
    - crs::CRS*::extractGeodeticCRS
    - auto::empty
    - std::vector::emplace_back
    - auto::value
    - dynamic_cast<const OperationParameterValue *>
    - createPROJ4WebMercator
    - dynamic_cast<const crs::VerticalCRS *>
    - _exportToJSON
    - auto::baseCRS
    - inverseAsConversion
    - std::sqrt
    - auto::targetCRS
    - isAxisOrderReversal2D
    - getESRIMethodNameAndParams
    - nameStr
    - setAllowIDInImmediateChild
    - isAxisOrderReversal
    - auto::addAngularUnitConvertAndAxisSwap
    - split
    - axisAngularUnit
    - getUseApproxTMerc
    - log
    - auto::nameStr
    - auto::_isEquivalentTo
    - auto::getPrivate
    - dynamic_cast<const crs::DerivedProjectedCRS *>
    - std::move
    - auto::Add
    - exportToPROJStringGeneric
    - msfn
    - createGeographicGeocentric
    - auto::getEPSGCode
    - auto::front
    - auto::size
    - _exportToPROJString
    - std::cos
    - dynamic_cast<crs::GeodeticCRS *>
    - pj_tsfn
    - addStep
    - setOmitProjLongLatIfPossible
    - floor
    - auto::_exportToJSON
    - fabs
    - auto::getSIValue
    - find_zero_lcc_1sp_to_2sp_f
    - auto::toString
    - isUTM
    - getMapping
    - createLambertConicConformal_2SP
    - startNode
    - lcc_1sp_to_2sp_f
    - auto::_exportToWKT
    - auto::setUseApproxTMerc
    - getESRIMapping
    - util::nn_dynamic_pointer_cast<Conversion>
    - parameterValueMeasure
    - auto::type
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setParameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - methodIn
    - values
    argTypes:
    - OperationMethodNNPtr
    - std::vector<GeneralParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Conversion::Conversion
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - setParameterValues
    linkageType: ''
    returnType: void
    signature: "void Conversion::Conversion(const OperationMethodNNPtr &methodIn,\n
      \                      const std::vector<GeneralParameterValueNNPtr> &values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Conversion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: Conversion::Conversion
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Conversion::Conversion(const Conversion &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Conversion::~Conversion()
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Conversion::~Conversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::nn_make_shared<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:114,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:115,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: Conversion::shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - auto::assignSelf
    - auto::setCRSs
    - Conversion::nn_make_shared<Conversion>
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr Conversion::shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:121,1
    - Dst: Conversion::shallowClone
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Conversion::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - util::nn_static_pointer_cast<CoordinateOperation>
    - Conversion::shallowClone
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr Conversion::_shallowClone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:134,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:136,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:137,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:139,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:140,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:141,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:142,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:144,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:147,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:148,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:149,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:149,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:150,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:151,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:152,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:161,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:165,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:165,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:167,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:168,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:171,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:172,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - unit
    - convertToNewUnit
    argTypes:
    - common::UnitOfMeasure
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: Conversion::alterParametersLinearUnit
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - method
    - PropertyMap::PropertyMap
    - auto::parameter
    - Conversion::create
    - NN_NO_CHECK
    - auto::type
    - ParameterValue::create
    - auto::convertToUnit
    - auto::setCRSs
    - shared_from_this
    - OperationParameterValue::create
    - parameterValues
    - AuthorityFactory::createUnitOfMeasure
    - get
    - auto::unit
    - auto::parameterValue
    - util::nn_dynamic_pointer_cast<Conversion>
    - std::vector::emplace_back
    - dynamic_cast<const OperationParameterValue *>
    - auto::value
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::alterParametersLinearUnit(const common::UnitOfMeasure
      &unit,\n                                      bool convertToNewUnit) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::parameters
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:193,1
    - Dst: std::vector<GeneralParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:193,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:194,1
    - Dst: Conversion::nn_make_shared<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:197,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:198,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - properties
    - methodIn
    - values
    argTypes:
    - util::PropertyMap
    - OperationMethodNNPtr
    - std::vector<GeneralParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: Conversion::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 25
    functionsReached:
    - std::vector<GeneralParameterValueNNPtr>::size
    - OperationMethodNNPtr::parameters
    - InvalidOperation
    - auto::setProperties
    - auto::assignSelf
    - Conversion::nn_make_shared<Conversion>
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::create(const util::PropertyMap &properties,\n
      \                                  const OperationMethodNNPtr &methodIn,\n                                   const
      std::vector<GeneralParameterValueNNPtr>\n                                       &values)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<OperationParameterNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:226,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:226,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:227,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:231,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:231,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:233,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:234,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - propertiesConversion
    - propertiesOperationMethod
    - parameters
    - values
    argTypes:
    - util::PropertyMap
    - util::PropertyMap
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: Conversion::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 26
    functionsReached:
    - std::vector<OperationParameterNNPtr>::size
    - OperationParameterValue::create
    - std::vector::push_back
    - InvalidOperation
    - Conversion::create
    - std::vector::reserve
    - std::vector<ParameterValueNNPtr>::size
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::create(\n    const util::PropertyMap &propertiesConversion,\n
      \   const util::PropertyMap &propertiesOperationMethod,\n    const std::vector<OperationParameterNNPtr>
      &parameters,\n    const std::vector<ParameterValueNNPtr> &values)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:248,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:250,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - properties
    - zone
    - north
    argTypes:
    - util::PropertyMap
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: getUTMConversionProperty
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - util::PropertyMap::get
    - createMapNameEPSGCode
    - toString
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap getUTMConversionProperty(const util::PropertyMap
      &properties, int zone,\n                         bool north)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:271,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:274,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:279,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:279,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:282,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:285,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:290,1
    - Dst: addDefaultNameIfNeeded
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - properties
    - mapping
    - values
    argTypes:
    - util::PropertyMap
    - MethodMapping*
    - std::vector<ParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 293
    functionName: createConversion
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 13
    functionsReached:
    - auto::set
    - PropertyMap::PropertyMap
    - std::vector::push_back
    - Conversion::create
    - addDefaultNameIfNeeded
    - OperationParameter::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr createConversion(const util::PropertyMap &properties,\n
      \                const MethodMapping *mapping,\n                 const std::vector<ParameterValueNNPtr>
      &values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:301,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:302,1
    - Dst: createConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - method_epsg_code
    - values
    argTypes:
    - util::PropertyMap
    - int
    - std::vector<ParameterValueNNPtr>
    assertStmts:
    - condition: (mapping)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: Conversion::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 27
    functionsReached:
    - createConversion
    - getMapping
    - assert
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::create(const util::PropertyMap &properties,
      int method_epsg_code,\n                   const std::vector<ParameterValueNNPtr>
      &values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:312,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:313,1
    - Dst: createConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - properties
    - method_wkt2_name
    - values
    argTypes:
    - util::PropertyMap
    - char*
    - std::vector<ParameterValueNNPtr>
    assertStmts:
    - condition: (mapping)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: Conversion::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 27
    functionsReached:
    - createConversion
    - getMapping
    - assert
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::create(const util::PropertyMap &properties,\n
      \                  const char *method_wkt2_name,\n                   const std::vector<ParameterValueNNPtr>
      &values)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:337,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:339,1
    - Dst: getUTMConversionProperty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:340,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:342,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:342,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:343,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:344,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:345,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - properties
    - zone
    - north
    argTypes:
    - util::PropertyMap
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: Conversion::createUTM
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 27
    functionsReached:
    - getUTMConversionProperty
    - InvalidOperation
    - createAngle
    - createLength
    - Scale::Scale
    - Conversion::create
    - createParams
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createUTM(const util::PropertyMap &properties,\n
      \                                     int zone, bool north)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:373,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: Conversion::createTransverseMercator
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 6
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createTransverseMercator(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Scale &scale,\n    const common::Length &falseEasting, const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:401,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: Conversion::createGaussSchreiberTransverseMercator
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGaussSchreiberTransverseMercator(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLat,\n    const
      common::Angle &centerLong, const common::Scale &scale,\n    const common::Length
      &falseEasting, const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:430,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: Conversion::createTransverseMercatorSouthOriented
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createTransverseMercatorSouthOriented(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLat,\n    const
      common::Angle &centerLong, const common::Scale &scale,\n    const common::Length
      &falseEasting, const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:462,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeFirstPoint
    - longitudeFirstPoint
    - latitudeSecondPoint
    - longitudeSeconPoint
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: Conversion::createTwoPointEquidistant
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createTwoPointEquidistant(const util::PropertyMap
      &properties,\n                                      const common::Angle &latitudeFirstPoint,\n
      \                                     const common::Angle &longitudeFirstPoint,\n
      \                                     const common::Angle &latitudeSecondPoint,\n
      \                                     const common::Angle &longitudeSeconPoint,\n
      \                                     const common::Length &falseEasting,\n
      \                                     const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:492,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: Conversion::createTunisiaMappingGrid
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createTunisiaMappingGrid(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:521,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: Conversion::createTunisiaMiningGrid
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createTunisiaMiningGrid(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:557,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeFalseOrigin
    - longitudeFalseOrigin
    - latitudeFirstParallel
    - latitudeSecondParallel
    - eastingFalseOrigin
    - northingFalseOrigin
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: Conversion::createAlbersEqualArea
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createAlbersEqualArea(const util::PropertyMap
      &properties,\n                                  const common::Angle &latitudeFalseOrigin,\n
      \                                 const common::Angle &longitudeFalseOrigin,\n
      \                                 const common::Angle &latitudeFirstParallel,\n
      \                                 const common::Angle &latitudeSecondParallel,\n
      \                                 const common::Length &eastingFalseOrigin,\n
      \                                 const common::Length &northingFalseOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:586,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: Conversion::createLambertConicConformal_1SP
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 6
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertConicConformal_1SP(\n    const
      util::PropertyMap &properties, const common::Angle &centerLat,\n    const common::Angle
      &centerLong, const common::Scale &scale,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:618,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeNatOrigin
    - scale
    - latitudeFalseOrigin
    - longitudeFalseOrigin
    - eastingFalseOrigin
    - northingFalseOrigin
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Scale
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 623
    functionName: Conversion::createLambertConicConformal_1SP_VariantB
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertConicConformal_1SP_VariantB(\n
      \   const util::PropertyMap &properties, const common::Angle &latitudeNatOrigin,\n
      \   const common::Scale &scale, const common::Angle &latitudeFalseOrigin,\n
      \   const common::Angle &longitudeFalseOrigin,\n    const common::Length &eastingFalseOrigin,\n
      \   const common::Length &northingFalseOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:656,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeFalseOrigin
    - longitudeFalseOrigin
    - latitudeFirstParallel
    - latitudeSecondParallel
    - eastingFalseOrigin
    - northingFalseOrigin
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: Conversion::createLambertConicConformal_2SP
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 12
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertConicConformal_2SP(\n    const
      util::PropertyMap &properties,\n    const common::Angle &latitudeFalseOrigin,\n
      \   const common::Angle &longitudeFalseOrigin,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &latitudeSecondParallel,\n    const common::Length &eastingFalseOrigin,\n
      \   const common::Length &northingFalseOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:692,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - properties
    - latitudeFalseOrigin
    - longitudeFalseOrigin
    - latitudeFirstParallel
    - latitudeSecondParallel
    - eastingFalseOrigin
    - northingFalseOrigin
    - ellipsoidScalingFactor
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    - common::Scale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 698
    functionName: Conversion::createLambertConicConformal_2SP_Michigan
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertConicConformal_2SP_Michigan(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeFalseOrigin,\n
      \   const common::Angle &longitudeFalseOrigin,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &latitudeSecondParallel,\n    const common::Length &eastingFalseOrigin,\n
      \   const common::Length &northingFalseOrigin,\n    const common::Scale &ellipsoidScalingFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:735,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeFalseOrigin
    - longitudeFalseOrigin
    - latitudeFirstParallel
    - latitudeSecondParallel
    - eastingFalseOrigin
    - northingFalseOrigin
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 740
    functionName: Conversion::createLambertConicConformal_2SP_Belgium
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertConicConformal_2SP_Belgium(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeFalseOrigin,\n
      \   const common::Angle &longitudeFalseOrigin,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &latitudeSecondParallel,\n    const common::Length &eastingFalseOrigin,\n
      \   const common::Length &northingFalseOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:764,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeNatOrigin
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: Conversion::createAzimuthalEquidistant
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createAzimuthalEquidistant(\n    const
      util::PropertyMap &properties, const common::Angle &latitudeNatOrigin,\n    const
      common::Angle &longitudeNatOrigin, const common::Length &falseEasting,\n    const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:792,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeNatOrigin
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 795
    functionName: Conversion::createGuamProjection
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGuamProjection(\n    const util::PropertyMap
      &properties, const common::Angle &latitudeNatOrigin,\n    const common::Angle
      &longitudeNatOrigin, const common::Length &falseEasting,\n    const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:821,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeNatOrigin
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: Conversion::createBonne
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createBonne(const util::PropertyMap &properties,\n
      \                                       const common::Angle &latitudeNatOrigin,\n
      \                                       const common::Angle &longitudeNatOrigin,\n
      \                                       const common::Length &falseEasting,\n
      \                                       const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:852,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeFirstParallel
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 856
    functionName: Conversion::createLambertCylindricalEqualAreaSpherical
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertCylindricalEqualAreaSpherical(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &longitudeNatOrigin, const common::Length &falseEasting,\n
      \   const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:881,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeFirstParallel
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 884
    functionName: Conversion::createLambertCylindricalEqualArea
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertCylindricalEqualArea(\n    const
      util::PropertyMap &properties,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &longitudeNatOrigin, const common::Length &falseEasting,\n
      \   const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:908,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 911
    functionName: Conversion::createCassiniSoldner
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createCassiniSoldner(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:941,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeFalseOrigin
    - longitudeFalseOrigin
    - latitudeFirstParallel
    - latitudeSecondParallel
    - eastingFalseOrigin
    - northingFalseOrigin
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 945
    functionName: Conversion::createEquidistantConic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEquidistantConic(const util::PropertyMap
      &properties,\n                                   const common::Angle &latitudeFalseOrigin,\n
      \                                  const common::Angle &longitudeFalseOrigin,\n
      \                                  const common::Angle &latitudeFirstParallel,\n
      \                                  const common::Angle &latitudeSecondParallel,\n
      \                                  const common::Length &eastingFalseOrigin,\n
      \                                  const common::Length &northingFalseOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:966,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 968
    functionName: Conversion::createEckertI
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEckertI(const util::PropertyMap
      &properties,\n                                          const common::Angle
      &centerLong,\n                                          const common::Length
      &falseEasting,\n                                          const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:988,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: Conversion::createEckertII
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEckertII(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1010,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1012
    functionName: Conversion::createEckertIII
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEckertIII(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1032,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1034
    functionName: Conversion::createEckertIV
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEckertIV(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1055,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    functionName: Conversion::createEckertV
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEckertV(const util::PropertyMap
      &properties,\n                                          const common::Angle
      &centerLong,\n                                          const common::Length
      &falseEasting,\n                                          const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1077,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: Conversion::createEckertVI
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEckertVI(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1111,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeFirstParallel
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1114
    functionName: Conversion::createEquidistantCylindrical
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 5
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEquidistantCylindrical(\n    const
      util::PropertyMap &properties,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &longitudeNatOrigin, const common::Length &falseEasting,\n
      \   const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1146,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeFirstParallel
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1150
    functionName: Conversion::createEquidistantCylindricalSpherical
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEquidistantCylindricalSpherical(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeFirstParallel,\n
      \   const common::Angle &longitudeNatOrigin, const common::Length &falseEasting,\n
      \   const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1171,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1173
    functionName: Conversion::createGall
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGall(const util::PropertyMap &properties,\n
      \                                      const common::Angle &centerLong,\n                                       const
      common::Length &falseEasting,\n                                       const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1193,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1195
    functionName: Conversion::createGoodeHomolosine
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGoodeHomolosine(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1219,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1222
    functionName: Conversion::createInterruptedGoodeHomolosine
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createInterruptedGoodeHomolosine(\n    const
      util::PropertyMap &properties, const common::Angle &centerLong,\n    const common::Length
      &falseEasting, const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1245,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLong
    - height
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1248
    functionName: Conversion::createGeostationarySatelliteSweepX
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeostationarySatelliteSweepX(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLong,\n
      \   const common::Length &height, const common::Length &falseEasting,\n    const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1271,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLong
    - height
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: Conversion::createGeostationarySatelliteSweepY
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeostationarySatelliteSweepY(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLong,\n
      \   const common::Length &height, const common::Length &falseEasting,\n    const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1296,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1299
    functionName: Conversion::createGnomonic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGnomonic(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1343,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - properties
    - latitudeProjectionCentre
    - longitudeProjectionCentre
    - azimuthInitialLine
    - angleFromRectifiedToSkrewGrid
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1348
    functionName: Conversion::createHotineObliqueMercatorVariantA
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 4
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createHotineObliqueMercatorVariantA(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeProjectionCentre,\n
      \   const common::Angle &longitudeProjectionCentre,\n    const common::Angle
      &azimuthInitialLine,\n    const common::Angle &angleFromRectifiedToSkrewGrid,\n
      \   const common::Scale &scale, const common::Length &falseEasting,\n    const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1390,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - properties
    - latitudeProjectionCentre
    - longitudeProjectionCentre
    - azimuthInitialLine
    - angleFromRectifiedToSkrewGrid
    - scale
    - eastingProjectionCentre
    - northingProjectionCentre
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1395
    functionName: Conversion::createHotineObliqueMercatorVariantB
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createHotineObliqueMercatorVariantB(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeProjectionCentre,\n
      \   const common::Angle &longitudeProjectionCentre,\n    const common::Angle
      &azimuthInitialLine,\n    const common::Angle &angleFromRectifiedToSkrewGrid,\n
      \   const common::Scale &scale, const common::Length &eastingProjectionCentre,\n
      \   const common::Length &northingProjectionCentre)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1424,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1428,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1429,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1430,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1431,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1432,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1433,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1434,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - properties
    - latitudeProjectionCentre
    - latitudePoint1
    - longitudePoint1
    - latitudePoint2
    - longitudePoint2
    - scale
    - eastingProjectionCentre
    - northingProjectionCentre
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1437
    functionName: Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - ParameterValue::create
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &latitudeProjectionCentre,\n
      \   const common::Angle &latitudePoint1, const common::Angle &longitudePoint1,\n
      \   const common::Angle &latitudePoint2, const common::Angle &longitudePoint2,\n
      \   const common::Scale &scale, const common::Length &eastingProjectionCentre,\n
      \   const common::Length &northingProjectionCentre)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1465,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - latitudeProjectionCentre
    - longitudeProjectionCentre
    - azimuthInitialLine
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1469
    functionName: Conversion::createLabordeObliqueMercator
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLabordeObliqueMercator(\n    const
      util::PropertyMap &properties,\n    const common::Angle &latitudeProjectionCentre,\n
      \   const common::Angle &longitudeProjectionCentre,\n    const common::Angle
      &azimuthInitialLine, const common::Scale &scale,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1497,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLong
    - latitudeFirstParallel
    - latitudeSecondParallel
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1492
    functionDepth: 2
    functionLinenumber: 1492
    functionLinenumberEnd: 1501
    functionName: Conversion::createInternationalMapWorldPolyconic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createInternationalMapWorldPolyconic(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLong,\n
      \   const common::Angle &latitudeFirstParallel,\n    const common::Angle &latitudeSecondParallel,\n
      \   const common::Length &falseEasting, const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1547,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - properties
    - latitudeProjectionCentre
    - longitudeOfOrigin
    - colatitudeConeAxis
    - latitudePseudoStandardParallel
    - scaleFactorPseudoStandardParallel
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1553
    functionName: Conversion::createKrovakNorthOriented
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createKrovakNorthOriented(\n    const
      util::PropertyMap &properties,\n    const common::Angle &latitudeProjectionCentre,\n
      \   const common::Angle &longitudeOfOrigin,\n    const common::Angle &colatitudeConeAxis,\n
      \   const common::Angle &latitudePseudoStandardParallel,\n    const common::Scale
      &scaleFactorPseudoStandardParallel,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1601,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - properties
    - latitudeProjectionCentre
    - longitudeOfOrigin
    - colatitudeConeAxis
    - latitudePseudoStandardParallel
    - scaleFactorPseudoStandardParallel
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1607
    functionName: Conversion::createKrovak
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createKrovak(const util::PropertyMap &properties,\n
      \                        const common::Angle &latitudeProjectionCentre,\n                         const
      common::Angle &longitudeOfOrigin,\n                         const common::Angle
      &colatitudeConeAxis,\n                         const common::Angle &latitudePseudoStandardParallel,\n
      \                        const common::Scale &scaleFactorPseudoStandardParallel,\n
      \                        const common::Length &falseEasting,\n                         const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1631,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeNatOrigin
    - longitudeNatOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1627
    functionDepth: 2
    functionLinenumber: 1627
    functionLinenumberEnd: 1634
    functionName: Conversion::createLambertAzimuthalEqualArea
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLambertAzimuthalEqualArea(\n    const
      util::PropertyMap &properties, const common::Angle &latitudeNatOrigin,\n    const
      common::Angle &longitudeNatOrigin, const common::Length &falseEasting,\n    const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1654,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1656
    functionName: Conversion::createMillerCylindrical
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createMillerCylindrical(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1685,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1688
    functionName: Conversion::createMercatorVariantA
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 9
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createMercatorVariantA(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Scale &scale,\n    const common::Length &falseEasting, const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1717,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeFirstParallel
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1713
    functionDepth: 2
    functionLinenumber: 1713
    functionLinenumberEnd: 1720
    functionName: Conversion::createMercatorVariantB
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 6
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createMercatorVariantB(\n    const util::PropertyMap
      &properties,\n    const common::Angle &latitudeFirstParallel, const common::Angle
      &centerLong,\n    const common::Length &falseEasting, const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1747,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1743
    functionDepth: 2
    functionLinenumber: 1743
    functionLinenumberEnd: 1750
    functionName: Conversion::createPopularVisualisationPseudoMercator
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 6
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createPopularVisualisationPseudoMercator(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLat,\n    const
      common::Angle &centerLong, const common::Length &falseEasting,\n    const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1780,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1783
    functionName: Conversion::createMercatorSpherical
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createMercatorSpherical(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1805,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1802
    functionDepth: 2
    functionLinenumber: 1802
    functionLinenumberEnd: 1807
    functionName: Conversion::createMollweide
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 4
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createMollweide(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1831,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1827
    functionDepth: 2
    functionLinenumber: 1827
    functionLinenumberEnd: 1834
    functionName: Conversion::createNewZealandMappingGrid
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createNewZealandMappingGrid(\n    const
      util::PropertyMap &properties, const common::Angle &centerLat,\n    const common::Angle
      &centerLong, const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1859,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1855
    functionDepth: 2
    functionLinenumber: 1855
    functionLinenumberEnd: 1862
    functionName: Conversion::createObliqueStereographic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createObliqueStereographic(\n    const
      util::PropertyMap &properties, const common::Angle &centerLat,\n    const common::Angle
      &centerLong, const common::Scale &scale,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1888,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1891
    functionName: Conversion::createOrthographic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 4
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createOrthographic(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1918,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - centerLat
    - centerLong
    - azimuthInitialLine
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1921
    functionName: Conversion::createLocalOrthographic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createLocalOrthographic(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Angle &azimuthInitialLine,\n    const common::Scale &scale, const
      common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1945,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1941
    functionDepth: 2
    functionLinenumber: 1941
    functionLinenumberEnd: 1948
    functionName: Conversion::createAmericanPolyconic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createAmericanPolyconic(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1975,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1971
    functionDepth: 2
    functionLinenumber: 1971
    functionLinenumberEnd: 1978
    functionName: Conversion::createPolarStereographicVariantA
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 5
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createPolarStereographicVariantA(\n    const
      util::PropertyMap &properties, const common::Angle &centerLat,\n    const common::Angle
      &centerLong, const common::Scale &scale,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2006,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeStandardParallel
    - longitudeOfOrigin
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2001
    functionDepth: 2
    functionLinenumber: 2001
    functionLinenumberEnd: 2009
    functionName: Conversion::createPolarStereographicVariantB
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 6
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createPolarStereographicVariantB(\n    const
      util::PropertyMap &properties,\n    const common::Angle &latitudeStandardParallel,\n
      \   const common::Angle &longitudeOfOrigin, const common::Length &falseEasting,\n
      \   const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2029,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2026
    functionDepth: 2
    functionLinenumber: 2026
    functionLinenumberEnd: 2031
    functionName: Conversion::createRobinson
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createRobinson(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2051,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2048
    functionDepth: 2
    functionLinenumber: 2048
    functionLinenumberEnd: 2053
    functionName: Conversion::createSinusoidal
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createSinusoidal(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2080,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - properties
    - centerLat
    - centerLong
    - scale
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Scale
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2076
    functionDepth: 2
    functionLinenumber: 2076
    functionLinenumberEnd: 2083
    functionName: Conversion::createStereographic
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createStereographic(\n    const util::PropertyMap
      &properties, const common::Angle &centerLat,\n    const common::Angle &centerLong,
      const common::Scale &scale,\n    const common::Length &falseEasting, const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2103,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2100
    functionDepth: 2
    functionLinenumber: 2100
    functionLinenumberEnd: 2105
    functionName: Conversion::createVanDerGrinten
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createVanDerGrinten(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2126,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2128
    functionName: Conversion::createWagnerI
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerI(const util::PropertyMap
      &properties,\n                                          const common::Angle
      &centerLong,\n                                          const common::Length
      &falseEasting,\n                                          const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2148,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2145
    functionDepth: 2
    functionLinenumber: 2145
    functionLinenumberEnd: 2150
    functionName: Conversion::createWagnerII
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerII(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2172,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - latitudeTrueScale
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2168
    functionDepth: 2
    functionLinenumber: 2168
    functionLinenumberEnd: 2175
    functionName: Conversion::createWagnerIII
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerIII(\n    const util::PropertyMap
      &properties, const common::Angle &latitudeTrueScale,\n    const common::Angle
      &centerLong, const common::Length &falseEasting,\n    const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2195,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2192
    functionDepth: 2
    functionLinenumber: 2192
    functionLinenumberEnd: 2197
    functionName: Conversion::createWagnerIV
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerIV(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2218,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2214
    functionDepth: 2
    functionLinenumber: 2214
    functionLinenumberEnd: 2220
    functionName: Conversion::createWagnerV
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerV(const util::PropertyMap
      &properties,\n                                          const common::Angle
      &centerLong,\n                                          const common::Length
      &falseEasting,\n                                          const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2240,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2242
    functionName: Conversion::createWagnerVI
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerVI(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2262,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2259
    functionDepth: 2
    functionLinenumber: 2259
    functionLinenumberEnd: 2264
    functionName: Conversion::createWagnerVII
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createWagnerVII(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2286,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - centerLat
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2289
    functionName: Conversion::createQuadrilateralizedSphericalCube
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createQuadrilateralizedSphericalCube(\n
      \   const util::PropertyMap &properties, const common::Angle &centerLat,\n    const
      common::Angle &centerLong, const common::Length &falseEasting,\n    const common::Length
      &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2311,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - pegPointLat
    - pegPointLong
    - pegPointHeading
    - pegPointHeight
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2307
    functionDepth: 2
    functionLinenumber: 2307
    functionLinenumberEnd: 2315
    functionName: Conversion::createSphericalCrossTrackHeight
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createSphericalCrossTrackHeight(\n    const
      util::PropertyMap &properties, const common::Angle &pegPointLat,\n    const
      common::Angle &pegPointLong, const common::Angle &pegPointHeading,\n    const
      common::Length &pegPointHeight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2337,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - centerLong
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2334
    functionDepth: 2
    functionLinenumber: 2334
    functionLinenumberEnd: 2339
    functionName: Conversion::createEqualEarth
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createEqualEarth(\n    const util::PropertyMap
      &properties, const common::Angle &centerLong,\n    const common::Length &falseEasting,
      const common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2384,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - topoOriginLat
    - topoOriginLong
    - topoOriginHeight
    - viewPointHeight
    - falseEasting
    - falseNorthing
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    - common::Length
    - common::Length
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2387
    functionName: Conversion::createVerticalPerspective
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createVerticalPerspective(\n    const
      util::PropertyMap &properties, const common::Angle &topoOriginLat,\n    const
      common::Angle &topoOriginLong, const common::Length &topoOriginHeight,\n    const
      common::Length &viewPointHeight, const common::Length &falseEasting,\n    const
      common::Length &falseNorthing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2435,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - southPoleLatInUnrotatedCRS
    - southPoleLongInUnrotatedCRS
    - axisRotation
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2430
    functionDepth: 2
    functionLinenumber: 2430
    functionLinenumberEnd: 2439
    functionName: Conversion::createPoleRotationGRIBConvention
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createPoleRotationGRIBConvention(\n    const
      util::PropertyMap &properties,\n    const common::Angle &southPoleLatInUnrotatedCRS,\n
      \   const common::Angle &southPoleLongInUnrotatedCRS,\n    const common::Angle
      &axisRotation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2480,1
    - Dst: createParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - gridNorthPoleLatitude
    - gridNorthPoleLongitude
    - northPoleGridLongitude
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2475
    functionDepth: 2
    functionLinenumber: 2475
    functionLinenumberEnd: 2484
    functionName: Conversion::createPoleRotationNetCDFCFConvention
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - createParams
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createPoleRotationNetCDFCFConvention(\n
      \   const util::PropertyMap &properties,\n    const common::Angle &gridNorthPoleLatitude,\n
      \   const common::Angle &gridNorthPoleLongitude,\n    const common::Angle &northPoleGridLongitude)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2503,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2505,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - properties
    - factor
    argTypes:
    - util::PropertyMap
    - common::Scale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2500
    functionDepth: 2
    functionLinenumber: 2500
    functionLinenumberEnd: 2513
    functionName: Conversion::createChangeVerticalUnit
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createChangeVerticalUnit(const util::PropertyMap
      &properties,\n                                     const common::Scale &factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2530,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2528
    functionDepth: 2
    functionLinenumber: 2528
    functionLinenumberEnd: 2534
    functionName: Conversion::createChangeVerticalUnit
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr Conversion::createChangeVerticalUnit(const util::PropertyMap
      &properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2552,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2550
    functionDepth: 2
    functionLinenumber: 2550
    functionLinenumberEnd: 2556
    functionName: Conversion::createHeightDepthReversal
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr Conversion::createHeightDepthReversal(const util::PropertyMap
      &properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2575,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2575,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2576,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2580,1
    - Dst: createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2581,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - is3D
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2573
    functionDepth: 2
    functionLinenumber: 2573
    functionLinenumberEnd: 2584
    functionName: Conversion::createAxisOrderReversal
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - createMapNameEPSGCode
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr Conversion::createAxisOrderReversal(bool is3D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2600,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2598
    functionDepth: 2
    functionLinenumber: 2598
    functionLinenumberEnd: 2604
    functionName: Conversion::createGeographicGeocentric
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr Conversion::createGeographicGeocentric(const util::PropertyMap
      &properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2613,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2615,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2616,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sourceCRS
    - targetCRS
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2619
    functionName: Conversion::createGeographicGeocentric
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - PropertyMap::PropertyMap
    - buildOpName
    - auto::setCRSs
    - Conversion::createGeographicGeocentric
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeographicGeocentric(const crs::CRSNNPtr
      &sourceCRS,\n                                       const crs::CRSNNPtr &targetCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2634,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2636,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2637,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sourceCRS
    - targetCRS
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2631
    functionDepth: 2
    functionLinenumber: 2631
    functionLinenumberEnd: 2641
    functionName: Conversion::createGeographicGeocentricLatitude
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - Conversion::create
    - PropertyMap::PropertyMap
    - buildOpName
    - auto::setCRSs
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeographicGeocentricLatitude(const
      crs::CRSNNPtr &sourceCRS,\n                                               const
      crs::CRSNNPtr &targetCRS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2647,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2647,1
    - Dst: ConversionNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2647,1
    - Dst: ConversionNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2648,1
    - Dst: ConversionNNPtr::parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2649,1
    - Dst: setPropertiesFromForward
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - forward
    argTypes:
    - ConversionNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2645
    functionDepth: 1
    functionLinenumber: 2645
    functionLinenumberEnd: 2652
    functionName: InverseConversion::InverseConversion
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - setPropertiesFromForward
    - ConversionNNPtr::parameterValues
    - OperationMethod::create
    - ConversionNNPtr::method
    - createPropertiesForInverse
    linkageType: ''
    returnType: void
    signature: void InverseConversion::InverseConversion(const ConversionNNPtr &forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2656
    functionName: InverseConversion::~InverseConversion()
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InverseConversion::~InverseConversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2661,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2660
    functionDepth: 1
    functionLinenumber: 2660
    functionLinenumberEnd: 2663
    functionName: InverseConversion::inverseAsConversion
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<Conversion>
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr InverseConversion::inverseAsConversion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_make_shared<InverseConversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2669,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - forward
    argTypes:
    - ConversionNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2672
    functionName: InverseConversion::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - auto::assignSelf
    - util::nn_make_shared<InverseConversion>
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr InverseConversion::create(const ConversionNNPtr
      &forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseConversion::nn_make_shared<InverseConversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2677,1
    - Dst: InverseConversion::inverseAsConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2678,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2679,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2680,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2676
    functionDepth: 2
    functionLinenumber: 2676
    functionLinenumberEnd: 2682
    functionName: InverseConversion::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - auto::setCRSs
    - InverseConversion::nn_make_shared<InverseConversion>
    - auto::assignSelf
    - InverseConversion::inverseAsConversion
    - util::nn_static_pointer_cast<CoordinateOperation>
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr InverseConversion::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - methodEPSGCode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2692
    functionName: isAxisOrderReversal2D
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isAxisOrderReversal2D(int methodEPSGCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - methodEPSGCode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2696
    functionName: isAxisOrderReversal3D
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isAxisOrderReversal3D(int methodEPSGCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isAxisOrderReversal2D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2699,1
    - Dst: isAxisOrderReversal3D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - methodEPSGCode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 1
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: isAxisOrderReversal
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 3
    functionsReached:
    - isAxisOrderReversal2D
    - isAxisOrderReversal3D
    linkageType: ''
    returnType: bool
    signature: bool isAxisOrderReversal(int methodEPSGCode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2707,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2710,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2713,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2717,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2718,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2719,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2720,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2726,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2727,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2728,1
    - Dst: isAxisOrderReversal2D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2732,1
    - Dst: isAxisOrderReversal3D
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2733,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2735,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2736,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2742,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2743,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2744,1
    - Dst: Conversion::createHeightDepthReversal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2750,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2751,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2752,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2756,1
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2759,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2759,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2761,1
    - Dst: InverseConversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2765,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2765,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2766,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2766,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2706
    functionDepth: 3
    functionLinenumber: 2706
    functionLinenumberEnd: 2767
    functionName: Conversion::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - parameterValueNumericAsSI
    - method
    - auto::setCRSs
    - shared_from_this
    - Conversion::createGeographicGeocentric
    - Conversion::createHeightDepthReversal
    - InvalidOperation
    - createPropertiesForInverse
    - Scale::Scale
    - isAxisOrderReversal2D
    - Conversion::create
    - Conversion::createAxisOrderReversal
    - isAxisOrderReversal3D
    - NN_NO_CHECK
    - util::nn_dynamic_pointer_cast<Conversion>
    - Conversion::createChangeVerticalUnit
    - InverseConversion::create
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr Conversion::inverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2774,1
    - Dst: std::cos
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2775,1
    - Dst: pj_msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - phi
    - e2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2773
    functionDepth: 1
    functionLinenumber: 2773
    functionLinenumberEnd: 2777
    functionName: msfn
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 7
    functionsReached:
    - std::cos
    - std::sin
    - pj_msfn
    linkageType: ''
    returnType: double
    signature: double msfn(double phi, double e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2782,1
    - Dst: pj_tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - phi
    - ec
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2781
    functionDepth: 1
    functionLinenumber: 2781
    functionLinenumberEnd: 2784
    functionName: tsfn
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 13
    functionsReached:
    - pj_tsfn
    - std::sin
    linkageType: ''
    returnType: double
    signature: double tsfn(double phi, double ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2794,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sinphi
    - K
    - ec
    - n
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2797
    functionName: lcc_1sp_to_2sp_f
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: double
    signature: double lcc_1sp_to_2sp_f(double sinphi, double K, double ec, double
      n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lcc_1sp_to_2sp_f
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2821,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - sinphi0
    - bNorth
    - K
    - ec
    argTypes:
    - double
    - bool
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2802
    functionDepth: 1
    functionLinenumber: 2802
    functionLinenumberEnd: 2833
    functionName: find_zero_lcc_1sp_to_2sp_f
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - lcc_1sp_to_2sp_f
    linkageType: ''
    returnType: double
    signature: "double find_zero_lcc_1sp_to_2sp_f(double sinphi0, bool bNorth, double
      K,\n                                         double ec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2835
    functionName: DegToRad
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DegToRad(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2836
    functionName: RadToDeg
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RadToDeg(double x)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2861,1
    - Dst: util::nn_dynamic_pointer_cast<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2863,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2863,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2866,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2866,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2871,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2878,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2880,1
    - Dst: std::acos
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2888,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2888,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2889,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2890,1
    - Dst: Conversion::createMercatorVariantB
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2893,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2894,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2895,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2895,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2897,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2898,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2899,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2900,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2901,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2902,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2907,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2909,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2911,1
    - Dst: Conversion::createMercatorVariantA
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2912,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2913,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2914,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2915,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2915,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2917,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2918,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2919,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2920,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2921,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2922,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2923,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2932,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2932,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2934,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2935,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2937,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2941,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2942,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2943,1
    - Dst: sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2944,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2945,1
    - Dst: fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2947,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2948,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2949,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2950,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2950,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2953,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2954,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2955,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2956,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2957,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2958,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2960,1
    - Dst: std::asin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2962,1
    - Dst: find_zero_lcc_1sp_to_2sp_f
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2962,1
    - Dst: std::asin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2964,1
    - Dst: find_zero_lcc_1sp_to_2sp_f
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2964,1
    - Dst: RadToDeg
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2965,1
    - Dst: RadToDeg
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2966,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2969,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2969,1
    - Dst: floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2971,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2972,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2972,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2974,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2982,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2984,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2985,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2986,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2988,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2989,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2990,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2991,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2993,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2995,1
    - Dst: DegToRad
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2995,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2997,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:2997,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3000,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3001,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3002,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3003,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3004,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3006,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3006,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3008,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3009,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3010,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3010,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3012,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3013,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3014,1
    - Dst: Conversion::createLambertConicConformal_2SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3018,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3019,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3020,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3020,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3022,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3023,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3024,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3025,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3026,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3027,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3028,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3039,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3042,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3045,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3047,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3049,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3051,1
    - Dst: std::sqrt
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3053,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3054,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3055,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3056,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3057,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3058,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3058,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3059,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3060,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3061,1
    - Dst: log
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3061,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3062,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3064,1
    - Dst: std::asin
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3065,1
    - Dst: msfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3066,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3067,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3068,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3070,1
    - Dst: tsfn
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3071,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3073,1
    - Dst: std::pow
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3073,1
    - Dst: RadToDeg
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3075,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3077,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3077,1
    - Dst: std::floor
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3078,1
    - Dst: Conversion::createLambertConicConformal_1SP
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3080,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3081,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3082,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3083,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3083,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3085,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3086,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3086,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3088,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3089,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3091,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3092,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3093,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 62
    argCount: 1
    argNames:
    - targetEPSGCode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 2860
    functionDepth: 3
    functionLinenumber: 2860
    functionLinenumberEnd: 3097
    functionName: Conversion::convertToOtherMethod
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - parameterValueNumericAsSI
    - method
    - PropertyMap::PropertyMap
    - Conversion::createLambertConicConformal_1SP
    - createLength
    - std::sqrt
    - std::floor
    - std::fabs
    - log
    - auto::setCRSs
    - auto::convertToUnit
    - shared_from_this
    - auto::as_nullable
    - msfn
    - std::asin
    - std::acos
    - Conversion::createMercatorVariantA
    - Conversion::createMercatorVariantB
    - createAngle
    - std::pow
    - dynamic_cast<crs::GeodeticCRS *>
    - floor
    - DegToRad
    - sin
    - auto::ellipsoid
    - fabs
    - auto::getSIValue
    - find_zero_lcc_1sp_to_2sp_f
    - Conversion::createLambertConicConformal_2SP
    - RadToDeg
    - Scale::Scale
    - tsfn
    - util::nn_dynamic_pointer_cast<Conversion>
    - parameterValueMeasure
    - sourceCRS
    - std::sin
    linkageType: ''
    returnType: ConversionPtr
    signature: ConversionPtr Conversion::convertToOtherMethod(int targetEPSGCode)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEsriMappings
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3106,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - wkt2_name
    - epsg_code
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3103
    functionDepth: 2
    functionLinenumber: 3103
    functionLinenumberEnd: 3115
    functionName: getESRIMapping
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 4
    functionsReached:
    - getEsriMappings
    - ci_equal
    linkageType: ''
    returnType: ESRIMethodMapping
    signature: "ESRIMethodMapping *getESRIMapping(const std::string &wkt2_name,\n
      \                                              int epsg_code)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getESRIMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3126,1
    - Dst: Conversion*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3127,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3136,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3136,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3138,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3148,1
    - Dst: Conversion*::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3148,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3149,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3149,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3151,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3151,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3161,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3162,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3164,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3178,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3179,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3181,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3196,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3198,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3205,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3213,1
    - Dst: Conversion*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3213,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 5
    argNames:
    - conv
    - methodName
    - methodEPSGCode
    - esriMethodName
    - esriParams
    argTypes:
    - Conversion*
    - std::string
    - int
    - char*
    - ESRIParamMapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3119
    functionDepth: 3
    functionLinenumber: 3119
    functionLinenumberEnd: 3223
    functionName: getESRIMethodNameAndParams
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - Conversion*::parameterValueNumericAsSI
    - Conversion*::nameStr
    - abs
    - Conversion*::targetCRS
    - Conversion*::parameterValueNumeric
    - ci_find
    - getESRIMapping
    linkageType: ''
    returnType: void
    signature: "void getESRIMethodNameAndParams(const Conversion *conv,\n                                       const
      std::string &methodName,\n                                       int methodEPSGCode,\n
      \                                      const char *&esriMethodName,\n                                       const
      ESRIParamMapping *&esriParams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3228,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3229,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3230,1
    - Dst: getESRIMethodNameAndParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3227
    functionDepth: 4
    functionLinenumber: 3227
    functionLinenumberEnd: 3236
    functionName: Conversion::getESRIMethodName
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - auto::getEPSGCode
    - auto::nameStr
    - method
    - getESRIMethodNameAndParams
    linkageType: ''
    returnType: char
    signature: char *Conversion::getESRIMethodName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3244,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3245,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3250,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3243
    functionDepth: 1
    functionLinenumber: 3243
    functionLinenumberEnd: 3252
    functionName: Conversion::getWKT1GDALMethodName
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::getEPSGCode
    - method
    - getMapping
    linkageType: ''
    returnType: char
    signature: char *Conversion::getWKT1GDALMethodName() const
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3261,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3262,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3263,1
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3264,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3266,1
    - Dst: Conversion::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3269,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3271,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3278,1
    - Dst: io::WKTFormatter*::useDerivingConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3278,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3281,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3282,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3282,1
    - Dst: io::WKTFormatter*::enter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3284,1
    - Dst: io::WKTFormatter*::pushOutputUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3285,1
    - Dst: io::WKTFormatter*::pushOutputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3286,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3290,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3290,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3291,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3292,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3293,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3294,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3295,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3296,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3304,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3305,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3305,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3310,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3310,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3311,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3314,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3316,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3317,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3318,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3319,1
    - Dst: io::WKTFormatter*::useESRIDialect
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3324,1
    - Dst: getESRIMethodNameAndParams
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3327,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3330,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3331,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3332,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3336,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3337,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3339,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3341,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3342,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3345,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3347,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3347,1
    - Dst: io::WKTFormatter*::axisLinearUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3348,1
    - Dst: io::WKTFormatter*::axisAngularUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3352,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3353,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3361,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3363,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3363,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3365,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3367,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3369,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3372,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3374,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3381,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3385,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3386,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3391,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3392,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3393,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3395,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3396,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3397,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3400,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3401,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3403,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3404,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3405,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3406,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3408,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3409,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3411,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3412,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3413,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3415,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3416,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3418,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3419,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3420,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3421,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3423,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3424,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3425,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3431,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3435,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3437,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3438,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3443,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3445,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3446,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3448,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3458,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3459,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3460,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3461,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3471,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3472,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3473,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3474,1
    - Dst: Conversion::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3486,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3491,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3493,1
    - Dst: createOperationParameterValueFromInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3495,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3503,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3504,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3506,1
    - Dst: io::WKTFormatter*::popOutputUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3508,1
    - Dst: io::WKTFormatter*::popOutputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3509,1
    - Dst: io::WKTFormatter*::leave
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3510,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 158
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3260
    functionDepth: 4
    functionLinenumber: 3260
    functionLinenumberEnd: 3512
    functionName: Conversion::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - identifiers
    - io::WKTFormatter*::startNode
    - method
    - parameterValueNumericAsSI
    - auto::baseCRS
    - auto::parameter
    - io::WKTFormatter*::popOutputId
    - nameStr
    - getESRIMethodNameAndParams
    - parameterValue
    - io::WKTFormatter*::popOutputUnit
    - FormattingException::FormattingException
    - Conversion::_exportToWKT
    - interpolationCRS
    - auto::nameStr
    - io::WKTFormatter*::enter
    - auto::convertToUnit
    - io::WKTFormatter*::axisAngularUnit
    - io::WKTFormatter*::pushOutputId
    - io::WKTFormatter*::outputId
    - Conversion::convertToOtherMethod
    - parameterValues
    - io::WKTFormatter*::addQuotedString
    - std::string
    - auto::getEPSGCode
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::axisLinearUnit
    - io::WKTFormatter*::version
    - io::WKTFormatter*::leave
    - formatID
    - ci_find
    - starts_with
    - get
    - io::WKTFormatter*::useESRIDialect
    - auto::getSIValue
    - getMapping
    - auto::unit
    - dynamic_cast<const crs::ProjectedCRS *>
    - io::WKTFormatter*::pushOutputUnit
    - auto::_exportToWKT
    - io::WKTFormatter*::useDerivingConversion
    - io::WKTFormatter*::add
    - parameterValueNumeric
    - auto::parameterValue
    - createOperationParameterValueFromInterpolationCRS
    - targetCRS
    - auto::type
    - sourceCRS
    - dynamic_cast<const OperationParameterValue *>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void Conversion::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3521,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3523,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3523,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3525,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3526,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3527,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3528,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3530,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3533,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3534,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3535,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3536,1
    - Dst: auto::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3537,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3539,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3540,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3541,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3542,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3545,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3548,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3549,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3551,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3558,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3559,1
    - Dst: Conversion::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3560,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3566,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3567,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3569,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3570,1
    - Dst: createOperationParameterValueFromInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3571,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3579,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3518
    functionDepth: 5
    functionLinenumber: 3518
    functionLinenumberEnd: 3582
    functionName: Conversion::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - method
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - Conversion::_exportToJSON
    - io::JSONFormatter*::MakeObjectContext
    - auto::parameter
    - nameStr
    - io::JSONFormatter*::setAllowIDInImmediateChild
    - io::JSONFormatter*::writer
    - io::JSONFormatter*::outputId
    - interpolationCRS
    - auto::Add
    - auto::getEPSGCode
    - formatID
    - auto::MakeArrayContext
    - auto::_exportToJSON
    - get
    - createOperationParameterValueFromInterpolationCRS
    - auto::AddObjKey
    - auto::empty
    - parameterValues
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: void
    signature: "void Conversion::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Conversion*::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3591,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3596,1
    - Dst: Conversion*::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3599,1
    - Dst: Conversion*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3601,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3602,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3602,1
    - Dst: Conversion*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3608,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3610,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3610,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3612,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3613,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3614,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3616,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3617,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3618,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3625,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3626,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3627,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3628,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3629,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3630,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3631,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3632,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3633,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3634,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3635,1
    - Dst: auto::hasOver
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3636,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3637,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3639,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - conv
    - formatter
    argTypes:
    - Conversion*
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3589
    functionDepth: 1
    functionLinenumber: 3589
    functionLinenumberEnd: 3642
    functionName: createPROJ4WebMercator
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - auto::exportToPROJString
    - Conversion*::parameterValueNumericAsSI
    - auto::ellipsoid
    - Conversion*::sourceCRS
    - auto::coordinateSystem
    - unit
    - auto::_isEquivalentTo
    - auto::empty
    - Conversion*::parameterValueNumeric
    - Conversion*::targetCRS
    - std::move
    - io::PROJStringFormatter*::addParam
    - dynamic_cast<const crs::ProjectedCRS *>
    - auto::hasOver
    - io::PROJStringFormatter*::addStep
    - dynamic_cast<const crs::GeographicCRS *>
    linkageType: ''
    returnType: bool
    signature: "bool createPROJ4WebMercator(const Conversion *conv,\n                                   io::PROJStringFormatter
      *formatter)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Conversion*::method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3650,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3651,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3651,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3652,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3654,1
    - Dst: Conversion*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3657,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3659,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3659,1
    - Dst: auto::addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3663,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3666,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3667,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3668,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3669,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3671,1
    - Dst: Conversion*::parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3675,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3676,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3677,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3679,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3680,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3681,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3682,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3683,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3685,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3685,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3687,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3689,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3691,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3691,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3698,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3699,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - conv
    - formatter
    - forExtensionNode
    argTypes:
    - Conversion*
    - io::PROJStringFormatter*
    - bool
    assertStmts:
    - condition: (starts_with(methodName, "PROJ "))
      pos:
        line_end: 3650
        line_start: 3650
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    constantsTouched: []
    func_position:
      end: 3702
      start: 3646
    functionDepth: 2
    functionLinenumber: 3646
    functionLinenumberEnd: 3702
    functionName: createPROJExtensionFromCustomProj
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - Conversion*::sourceCRS
    - Conversion*::parameterValues
    - auto::parameter
    - Conversion*::method
    - dynamic_cast<const crs::GeographicCRS *>
    - split
    - auto::convertToUnit
    - assert
    - auto::addDatumInfoToPROJString
    - io::PROJStringFormatter*::addStep
    - auto::size
    - io::PROJStringFormatter*::addParam
    - starts_with
    - get
    - auto::getSIValue
    - auto::unit
    - auto::parameterValue
    - auto::type
    - dynamic_cast<const OperationParameterValue *>
    - auto::value
    linkageType: ''
    returnType: bool
    signature: "bool createPROJExtensionFromCustomProj(const Conversion *conv,\n                                  io::PROJStringFormatter
      *formatter,\n                                  bool forExtensionNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3708,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3710,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3711,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3712,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3713,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3714,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3715,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3716,1
    - Dst: auto::setUseApproxTMerc
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3717,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3718,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3719,1
    - Dst: Conversion::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3720,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3720,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3721,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3722,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3722,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3723,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3727,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3729,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3730,1
    - Dst: createPROJ4WebMercator
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3731,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3731,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3732,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3733,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3734,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3734,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3735,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3738,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3739,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3740,1
    - Dst: createPROJExtensionFromCustomProj
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3741,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3741,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3743,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3744,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3745,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3745,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3746,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3751,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3752,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3753,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3754,1
    - Dst: Conversion::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3755,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3755,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3756,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3757,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3757,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3758,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3707
    functionDepth: 3
    functionLinenumber: 3707
    functionLinenumberEnd: 3763
    functionName: Conversion::addWKTExtensionNode
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - io::WKTFormatter*::startNode
    - method
    - nameStr
    - auto::nameStr
    - auto::getPrivate
    - io::WKTFormatter*::addQuotedString
    - auto::getEPSGCode
    - Conversion::_exportToPROJString
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - createPROJExtensionFromCustomProj
    - auto::addParam
    - starts_with
    - auto::toString
    - PROJStringFormatter::create
    - auto::setUseApproxTMerc
    - createPROJ4WebMercator
    - auto::setCRSExport
    linkageType: ''
    returnType: bool
    signature: bool Conversion::addWKTExtensionNode(io::WKTFormatter *formatter) const
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3771,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3772,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3773,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3791,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3795,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3798,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3804,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3805,1
    - Dst: std::dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3811,1
    - Dst: std::dynamic_pointer_cast<crs::CompoundCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3814,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3817,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3818,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3820,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                                    crs::BoundCRS>"
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3823,1
    - Dst: "util::nn_dynamic_pointer_cast<\n                                        crs::GeodeticCRS>"
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3826,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3827,1
    - Dst: std::dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3833,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3836,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3837,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3844,1
    - Dst: extractGeodeticCRSIfGeodeticCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3845,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3846,1
    - Dst: extractGeodeticCRSIfGeodeticCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3847,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3850,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3852,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3854,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3857,1
    - Dst: io::PROJStringFormatter*::setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3862,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3863,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3864,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3865,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3867,1
    - Dst: io::PROJStringFormatter*::setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3868,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3874,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3881,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3885,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3885,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3887,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3888,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3889,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3891,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3891,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3893,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3898,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3898,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3900,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3903,1
    - Dst: io::PROJStringFormatter*::setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3904,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3905,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3906,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3907,1
    - Dst: io::PROJStringFormatter*::setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3908,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3911,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3911,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3913,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3914,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3915,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3916,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3917,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3921,1
    - Dst: io::PROJStringFormatter*::getUseApproxTMerc
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3932,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3933,1
    - Dst: auto::getPrivate
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3934,1
    - Dst: Conversion::isUTM
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3935,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3937,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3939,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3941,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3943,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3946,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3949,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3951,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3957,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3957,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3959,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3960,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3961,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3971,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3973,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3977,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3978,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3980,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3981,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3982,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3985,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3986,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3989,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3990,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3992,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3992,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3994,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:3994,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4000,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4002,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4006,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4007,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4009,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4010,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4011,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4014,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4015,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4018,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4019,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4021,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4022,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4024,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4025,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4032,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4034,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4039,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4040,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4041,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4044,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4045,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4046,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4050,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4054,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4055,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4059,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4060,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4061,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4061,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4062,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4065,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4069,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4070,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4078,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4081,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4082,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4085,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4088,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4089,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4093,1
    - Dst: createPROJ4WebMercator
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4096,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4097,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4098,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4105,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4106,1
    - Dst: createPROJ4WebMercator
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4107,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4108,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4108,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4114,1
    - Dst: Conversion::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4116,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4121,1
    - Dst: createPROJExtensionFromCustomProj
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4123,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4124,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4126,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4129,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4132,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4135,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4136,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4137,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4138,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4139,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4141,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4144,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4147,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4150,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4153,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4154,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4155,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4156,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4157,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4159,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4169,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4171,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4174,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4175,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4179,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4180,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4182,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4184,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4187,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4188,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4189,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4190,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4191,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4192,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4193,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4194,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4196,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4198,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4200,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4202,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4203,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4203,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4204,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4207,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4209,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4211,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4211,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4215,1
    - Dst: io::PROJStringFormatter*::convention
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4218,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4223,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4226,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4229,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4229,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4231,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4231,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4233,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4233,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4237,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4237,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4243,1
    - Dst: exportToPROJStringChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4250,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4255,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4260,1
    - Dst: crs::GeographicCRSPtr::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4261,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4263,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4264,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4267,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4270,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4273,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4274,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4275,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4281,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4281,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4283,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4285,1
    - Dst: internal::starts_with
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4289,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4293,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4294,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4297,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4298,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4300,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4302,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4312,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4313,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4314,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4316,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4319,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4320,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4321,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4323,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4325,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4331,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4332,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4338,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4339,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4340,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4342,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4348,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4353,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4356,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4366,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4388,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4390,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4395,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4396,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4397,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4402,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4404,1
    - Dst: exportToPROJStringGeneric
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4409,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4410,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4411,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4417,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4418,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4420,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4421,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4422,1
    - Dst: dynamic_cast<const crs::DerivedProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4427,1
    - Dst: crs::CRS*::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4432,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4434,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4436,1
    - Dst: auto::addDatumInfoToPROJString
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4437,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4439,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4440,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4444,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4448,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4450,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4452,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4453,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4457,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4458,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4459,1
    - Dst: auto::hasOver
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4460,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4461,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4465,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4466,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4467,1
    - Dst: dynamic_cast<const crs::DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4472,1
    - Dst: io::PROJStringFormatter*::getCRSExport
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4473,1
    - Dst: io::PROJStringFormatter*::setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4474,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4475,1
    - Dst: io::PROJStringFormatter*::setOmitProjLongLatIfPossible
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4476,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 349
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts:
    - condition: "(methodEPSGCode ==\n                   EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT_NO_CONV_FACTOR)"
      pos:
        line_end: 4226
        line_start: 4225
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    constantsTouched: []
    func_position:
      end: 4479
      start: 3768
    functionDepth: 4
    functionLinenumber: 3768
    functionLinenumberEnd: 4479
    functionName: Conversion::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - auto::isSphericalPlanetocentric
    - internal::starts_with
    - "util::nn_dynamic_pointer_cast<\n                                    crs::BoundCRS>"
    - auto::addDatumInfoToPROJString
    - std::dynamic_pointer_cast<crs::GeographicCRS>
    - std::string
    - auto::componentReferenceSystems
    - io::PROJStringFormatter*::popOmitZUnitConversion
    - starts_with
    - std::dynamic_pointer_cast<crs::GeodeticCRS>
    - crs::GeographicCRSPtr::ellipsoid
    - auto::_exportToPROJString
    - dynamic_cast<const crs::CompoundCRS *>
    - exportToPROJStringChangeVerticalUnit
    - targetCRS
    - std::dynamic_pointer_cast<crs::CompoundCRS>
    - sourceCRS
    - auto::addUnitConvertAndAxisSwap
    - method
    - parameterValue
    - auto::hasOver
    - auto::convertToUnit
    - assert
    - extractGeodeticCRSIfGeodeticCRSOrEquivalent
    - Conversion::_exportToPROJString
    - crs::CRSPtr::get
    - dynamic_cast<const crs::DerivedGeographicCRS *>
    - auto::primeMeridian
    - concat
    - ci_equal
    - io::PROJStringFormatter*::setOmitProjLongLatIfPossible
    - auto::ellipsoid
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - FormattingException::FormattingException
    - parameterValueNumeric
    - auto::get
    - parameterValueNumericAsSI
    - auto::coordinateSystem
    - dynamic_cast<const crs::GeographicCRS *>
    - Conversion::isUTM
    - std::fabs
    - "util::nn_dynamic_pointer_cast<\n                                        crs::GeodeticCRS>"
    - io::PROJStringFormatter*::getCRSExport
    - io::PROJStringFormatter*::addStep
    - direction
    - io::PROJStringFormatter*::getUseApproxTMerc
    - dynamic_cast<const crs::BoundCRS *>
    - unit
    - createPROJExtensionFromCustomProj
    - dynamic_cast<const crs::GeodeticCRS *>
    - std::dynamic_pointer_cast<crs::BoundCRS>
    - strcmp
    - auto::unit
    - dynamic_cast<const crs::ProjectedCRS *>
    - crs::CRS*::extractGeodeticCRS
    - createPROJ4WebMercator
    - auto::empty
    - io::PROJStringFormatter*::convention
    - dynamic_cast<const crs::VerticalCRS *>
    - auto::baseCRS
    - isAxisOrderReversal
    - nameStr
    - io::PROJStringFormatter*::stopInversion
    - auto::addAngularUnitConvertAndAxisSwap
    - split
    - auto::nameStr
    - auto::getPrivate
    - dynamic_cast<const crs::DerivedProjectedCRS *>
    - io::PROJStringFormatter*::pushOmitZUnitConversion
    - exportToPROJStringGeneric
    - auto::getEPSGCode
    - auto::front
    - auto::size
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::startInversion
    - auto::getSIValue
    - getMapping
    - parameterValueMeasure
    linkageType: ''
    returnType: void
    signature: "void Conversion::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4497,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4504,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4505,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4506,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4508,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4509,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4510,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4511,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4514,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4514,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4522,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4525,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4527,1
    - Dst: std::round
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4527,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4528,1
    - Dst: std::lround
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4528,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4533,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4536,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4536,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4539,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4540,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4546,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4549,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4549,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4553,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4553,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 2
    argNames:
    - zone
    - north
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4569
      start: 4493
    functionDepth: 1
    functionLinenumber: 4493
    functionLinenumberEnd: 4569
    functionName: Conversion::isUTM
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 1
    functionsReached:
    - auto::type
    - method
    - abs
    - get
    - static_cast<int>
    - auto::parameter
    - std::round
    - auto::unit
    - auto::parameterValue
    - parameterValues
    - dynamic_cast<const OperationParameterValue *>
    - std::lround
    - auto::value
    - std::fabs
    linkageType: ''
    returnType: bool
    signature: bool Conversion::isUTM(int &zone, bool &north) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::nn_make_shared<Conversion>
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4579,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4580,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4582,1
    - Dst: Conversion::isUTM
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4586,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4587,1
    - Dst: getUTMConversionProperty
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4588,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4593
      start: 4578
    functionDepth: 2
    functionLinenumber: 4578
    functionLinenumberEnd: 4593
    functionName: Conversion::identify
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - method
    - getUTMConversionProperty
    - PropertyMap::PropertyMap
    - auto::setProperties
    - auto::assignSelf
    - Conversion::nn_make_shared<Conversion>
    - Conversion::isUTM
    linkageType: ''
    returnType: ConversionNNPtr
    signature: ConversionNNPtr Conversion::identify() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4613,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4615,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4617,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - properties
    - offsetLat
    - offsetLong
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4620
      start: 4609
    functionDepth: 2
    functionLinenumber: 4609
    functionLinenumberEnd: 4620
    functionName: Conversion::createGeographic2DOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeographic2DOffsets(const util::PropertyMap
      &properties,\n                                      const common::Angle &offsetLat,\n
      \                                     const common::Angle &offsetLong)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4640,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4642,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4644,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4645,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - offsetLat
    - offsetLong
    - offsetHeight
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4637
    functionDepth: 2
    functionLinenumber: 4637
    functionLinenumberEnd: 4648
    functionName: Conversion::createGeographic3DOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeographic3DOffsets(\n    const
      util::PropertyMap &properties, const common::Angle &offsetLat,\n    const common::Angle
      &offsetLong, const common::Length &offsetHeight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4670,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4672,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4675,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4676,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - properties
    - offsetLat
    - offsetLong
    - offsetHeight
    argTypes:
    - util::PropertyMap
    - common::Angle
    - common::Angle
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4667
    functionDepth: 2
    functionLinenumber: 4667
    functionLinenumberEnd: 4679
    functionName: Conversion::createGeographic2DWithHeightOffsets
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createGeographic2DWithHeightOffsets(\n
      \   const util::PropertyMap &properties, const common::Angle &offsetLat,\n    const
      common::Angle &offsetLong, const common::Length &offsetHeight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4697,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4698,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - properties
    - offsetHeight
    argTypes:
    - util::PropertyMap
    - common::Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4702
      start: 4694
    functionDepth: 2
    functionLinenumber: 4694
    functionLinenumberEnd: 4702
    functionName: Conversion::createVerticalOffset
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 0
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createVerticalOffset(const util::PropertyMap
      &properties,\n                                 const common::Length &offsetHeight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4734,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4736,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4738,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4739,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4740,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4741,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4742,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - A0
    - A1
    - A2
    - B0
    - B1
    - B2
    argTypes:
    - util::PropertyMap
    - common::Measure
    - common::Scale
    - common::Scale
    - common::Measure
    - common::Scale
    - common::Scale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4730
    functionDepth: 2
    functionLinenumber: 4730
    functionLinenumberEnd: 4745
    functionName: Conversion::createAffineParametric
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - createMethodMapNameEPSGCode
    - Conversion::create
    - createOpParamNameEPSGCode
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createAffineParametric(\n    const util::PropertyMap
      &properties, const common::Measure &A0,\n    const common::Scale &A1, const
      common::Scale &A2, const common::Measure &B0,\n    const common::Scale &B1,
      const common::Scale &B2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4786,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4788,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4788,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4789,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4789,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4790,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4790,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4791,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4791,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4792,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4792,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4793,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/conversion.cpp:4793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 13
    argNames:
    - properties
    - A0
    - A1
    - A2
    - A3
    - B0
    - B1
    - B2
    - B3
    - C0
    - C1
    - C2
    - C3
    argTypes:
    - util::PropertyMap
    - common::Measure
    - common::Scale
    - common::Scale
    - common::Scale
    - common::Measure
    - common::Scale
    - common::Scale
    - common::Scale
    - common::Measure
    - common::Scale
    - common::Scale
    - common::Scale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4780
    functionDepth: 2
    functionLinenumber: 4780
    functionLinenumberEnd: 4794
    functionName: Conversion::createAffineParametric
    functionSourceFile: /src/PROJ/src/iso19111/operation/conversion.cpp
    functionUses: 2
    functionsReached:
    - ParameterValue::create
    - Conversion::create
    linkageType: ''
    returnType: ConversionNNPtr
    signature: "ConversionNNPtr Conversion::createAffineParametric(\n    const util::PropertyMap
      &properties, const common::Measure &A0,\n    const common::Scale &A1, const
      common::Scale &A2, const common::Scale &A3,\n    const common::Measure &B0,
      const common::Scale &B1, const common::Scale &B2,\n    const common::Scale &B3,
      const common::Measure &C0, const common::Scale &C1,\n    const common::Scale
      &C2, const common::Scale &C3)"
  - BBCount: 518
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:106,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:107,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:108,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:108,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:116,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:121,1
    - Dst: sourceCRSWeak_::lock
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:170,1
    - Dst: targetCRSWeak_::lock
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:183,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:222,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:223,1
    - Dst: std::make_unique<Private::CRSStrongRef>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:232,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:233,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:234,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:243,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:245,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:247,1
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:251,1
    - Dst: auto::inverseAsTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:253,1
    - Dst: dynamic_cast<ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:257,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:259,1
    - Dst: auto::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:262,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:262,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:263,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:265,1
    - Dst: auto::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:268,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:268,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:269,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:285,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:286,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:288,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:289,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:291,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:291,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:293,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:293,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:303,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:306,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:308,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:317,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:320,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:322,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:343,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:343,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:348,1
    - Dst: shortName::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:351,1
    - Dst: sourceCoordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:394,1
    - Dst: ObjectUsage::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:408,1
    - Dst: getStringValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:409,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:419,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:420,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:422,1
    - Dst: auto::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:426,1
    - Dst: auto::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:428,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:429,1
    - Dst: std::dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:429,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:430,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:436,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:437,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:437,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:438,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:439,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:441,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:443,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:444,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:444,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:445,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:446,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:451,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:452,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:455,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:456,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:458,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:461,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:462,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:463,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:469,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:469,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:473,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:476,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:480,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:481,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:502,1
    - Dst: std::dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:502,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:503,1
    - Dst: CoordinateTransformer::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:504,1
    - Dst: _shallowClone
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:511,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:526,1
    - Dst: proj_assign_context
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:533,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:533,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:534,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:544,1
    - Dst: CoordinateTransformer::make_unique<CoordinateTransformer>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:545,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:548,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:549,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:551,1
    - Dst: proj_trans
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:601,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:606,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:611,1
    - Dst: OperationMethodNNPtr::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:675,1
    - Dst: OperationMethodNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:676,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:678,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:695,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:695,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:697,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:699,1
    - Dst: IdentifiedObject::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:708,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:710,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:711,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:712,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:712,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:712,1
    - Dst: getMethodNameCodes
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:715,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:718,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:718,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:731,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:732,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:734,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:737,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:739,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:746,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:747,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:754,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:755,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:756,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:758,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:768,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:769,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:770,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:772,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:773,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:773,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:775,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:776,1
    - Dst: dynamic_cast<const OperationMethod *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:787,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:789,1
    - Dst: parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:793,1
    - Dst: auto::parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:794,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:795,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:796,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:801,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:801,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:812,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:812,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:868,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:876,1
    - Dst: OperationParameterValue::nn_make_shared<OperationParameterValue>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:889,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:927,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:933,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:937,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:938,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:939,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:940,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:942,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:943,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:946,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:948,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:948,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:950,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:951,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:952,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:954,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:963,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:964,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:965,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:967,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:968,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:968,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:971,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:973,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:974,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:974,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:975,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:980,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:980,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:982,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:985,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:986,1
    - Dst: valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:986,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:988,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:989,1
    - Dst: integerValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:989,1
    - Dst: outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:992,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:993,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1008,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1009,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1014,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1015,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1020,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1021,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1026,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1027,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1032,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1033,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1039,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1040,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1046,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1047,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1064,1
    - Dst: parameter::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1068,1
    - Dst: auto::d::parameter::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1068,1
    - Dst: parameterValue::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1073,1
    - Dst: auto::d::parameterValue::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1074,1
    - Dst: parameterValue::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1076,1
    - Dst: auto::d::parameterValue::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1076,1
    - Dst: parameter::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1080,1
    - Dst: parameter::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1082,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1084,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1085,1
    - Dst: std::fmod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1087,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1087,1
    - Dst: std::fmod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1092,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1092,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1096,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1096,1
    - Dst: OperationParameterNNPtr::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1158,1
    - Dst: OperationParameterNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1159,1
    - Dst: dynamic_cast<const OperationParameter *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1169,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1174,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1176,1
    - Dst: getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1179,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1180,1
    - Dst: getParamNameCodes
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1195,1
    - Dst: IdentifiedObject::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1211,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1213,1
    - Dst: getParamNameCodes
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1215,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1218,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1218,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1223,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1223,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1227,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1227,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1250,1
    - Dst: method_::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1252,1
    - Dst: method_::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1253,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1254,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1255,1
    - Dst: CoordinateOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1275,1
    - Dst: d
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1277,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1277,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1332,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1333,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1334,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1336,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1337,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1338,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1343,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1344,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1345,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1347,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1348,1
    - Dst: c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1349,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1349,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1350,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1354,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1355,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1356,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1358,1
    - Dst: areEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1359,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1359,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1360,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1376,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1377,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1378,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1380,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1381,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1382,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1402,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1403,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1404,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1417,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1418,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1419,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1428,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1429,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1430,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1437,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1438,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1439,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1447,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1448,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1449,1
    - Dst: util::nn_static_pointer_cast<SingleOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1475,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1476,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1486,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1494,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1497,1
    - Dst: method_::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1501,1
    - Dst: auto::d::method_::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1502,1
    - Dst: method_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1507,1
    - Dst: auto::d::method_::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1507,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1533,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1533,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1534,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1535,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1536,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1537,1
    - Dst: isTOWGS84Transf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1567,1
    - Dst: isTOWGS84Transf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1568,1
    - Dst: static_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1569,1
    - Dst: static_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1570,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1571,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1572,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1573,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1573,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1574,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1576,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1577,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1592,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1603,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1606,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1608,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1620,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1621,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1627,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1627,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1641,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1641,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1649,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1649,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1656,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1657,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1661,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1662,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1675,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1680,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1682,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1686,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1687,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1692,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1693,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1714,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1715,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1718,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1720,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1722,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1729,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1736,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1737,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1739,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1741,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1744,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1744,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1759,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1760,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1761,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1763,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1764,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1765,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1765,1
    - Dst: GridDescription::GridDescription
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1767,1
    - Dst: lookForGridInfo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1770,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1776,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1776,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1794,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1795,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1796,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1811,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1812,1
    - Dst: getProjectionMethodMappings
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1821,1
    - Dst: findMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1823,1
    - Dst: getOtherMethodMappings
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1827,1
    - Dst: findMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1828,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1831,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1835,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1836,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1842,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1849,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1854,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1856,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1858,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1867,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1868,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1869,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1871,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1873,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1874,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1874,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1892,1
    - Dst: OperationParameterValue*::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1895,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1896,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1897,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1897,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1899,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1903,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1906,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1910,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1913,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1916,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1918,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1920,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1925,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1926,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1927,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1929,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1930,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1932,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1934,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1946,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1959,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1960,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1961,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1963,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1964,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1968,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1969,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1979,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1980,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1982,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1982,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1983,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1987,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1988,1
    - Dst: _getNTv2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2000,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2001,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2005,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2007,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2010,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2013,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2015,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2016,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2020,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2020,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2022,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2026,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2027,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2040,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2041,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2042,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2044,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2045,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2049,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2050,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2062,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2063,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2064,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2065,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2067,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2070,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2073,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2077,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2078,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2082,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2086,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2087,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2102,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2103,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2104,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2107,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2112,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2115,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2116,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2130,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2131,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2132,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2135,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2139,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2143,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2144,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2158,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2159,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2160,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2163,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2167,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2171,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2172,1
    - Dst: OperationParameterNNPtr::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2185,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2187,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2189,1
    - Dst: OperationParameterNNPtr::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2192,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2195,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2196,1
    - Dst: OperationMethodNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2208,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2254,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2258,1
    - Dst: OperationMethodNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2264,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2265,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2266,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2267,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2270,1
    - Dst: _getHeightToGeographic3DFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2285,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2286,1
    - Dst: isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2288,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2288,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2290,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2293,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2294,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2309,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2309,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2311,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2312,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2313,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2316,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2317,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2318,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2321,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2321,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2335,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2337,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2338,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2340,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2352,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2353,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2354,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2358,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2359,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2360,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2361,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2362,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2364,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2364,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2366,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2367,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2404,1
    - Dst: std::dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2404,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2405,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2407,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2408,1
    - Dst: _getNTv1Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2414,1
    - Dst: _getNTv2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2415,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2421,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2424,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2427,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2429,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2430,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2433,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2434,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2436,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2438,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2438,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2444,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2450,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2451,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2453,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2456,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2458,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2459,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2460,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2464,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2464,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2467,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2469,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2476,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2478,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2479,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2479,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2486,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2487,1
    - Dst: createNTv1
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2493,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2493,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2494,1
    - Dst: createNTv1
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2499,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2499,1
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2505,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2506,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2506,1
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2511,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2512,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2516,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2519,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2522,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2524,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2525,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2525,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2532,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2533,1
    - Dst: Transformation::isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2540,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2540,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2542,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2545,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2546,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2547,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2551,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2560,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2561,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2563,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2567,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2570,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2571,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2572,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2575,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2578,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2579,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2580,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2582,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2582,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2584,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2589,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2590,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2592,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2592,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2593,1
    - Dst: _getGeocentricTranslationFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2600,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2601,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2602,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2607,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2616,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2617,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2619,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2622,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2624,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2625,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2626,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2629,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2630,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2631,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2633,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2633,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2634,1
    - Dst: _getGeographic3DOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2639,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2640,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2641,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2646,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2655,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2656,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2658,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2661,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2663,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2664,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2665,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2668,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2669,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2670,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2672,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2672,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2673,1
    - Dst: _getVerticalOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2678,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2679,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2680,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2685,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2694,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2695,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2697,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2700,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2702,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2703,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2704,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2707,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2708,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2709,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2711,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2711,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2712,1
    - Dst: isRegularVerticalGridMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2718,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2720,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2724,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2728,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2730,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2731,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2736,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2743,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2744,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2746,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2753,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2754,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2756,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2758,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2760,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2761,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2762,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2764,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2764,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2766,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2769,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2770,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2772,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2772,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2773,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2801,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2804,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2806,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2807,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2813,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2820,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2821,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2823,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2827,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2830,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2831,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2833,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2836,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2838,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2839,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2840,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2842,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2842,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2844,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2847,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2848,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2850,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2850,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2851,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2864,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2867,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2868,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2869,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2873,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2877,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2881,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2882,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2884,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2887,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2889,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2890,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2894,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2896,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2897,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2899,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2902,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2903,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2904,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2906,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2907,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2909,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2909,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2912,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2913,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2915,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2915,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2916,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2925,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2928,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2931,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2932,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2933,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2936,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2937,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2938,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2942,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2946,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2947,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2951,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2952,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2954,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2957,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2959,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2960,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2964,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2966,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2967,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2969,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2972,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2973,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2974,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2976,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2977,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2979,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2981,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2982,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2984,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2984,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2987,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2988,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2990,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2990,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2991,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3023,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3028,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3033,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3035,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3036,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3037,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3044,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3046,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3050,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3051,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3052,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3054,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3055,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3058,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3058,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3060,1
    - Dst: operationVersion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3061,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3062,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3063,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3064,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3065,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3069,1
    - Dst: exportSourceCRSAndTargetCRSToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3070,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3073,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3074,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3077,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3079,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3079,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3081,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3087,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3090,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3091,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3095,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3097,1
    - Dst: createOperationParameterValueFromInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3098,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3105,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3106,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3107,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3110,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3111,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3112,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3112,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3112,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3113,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3117,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3118,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3130,1
    - Dst: util::nn_dynamic_pointer_cast<crs::CompoundCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3132,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3134,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3135,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3136,1
    - Dst: util::nn_dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3140,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3144,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3145,1
    - Dst: util::nn_dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3150,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3152,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3153,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3164,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3164,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3164,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3174,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3176,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3177,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3178,1
    - Dst: util::isOfExactType<crs::DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3179,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3180,1
    - Dst: dynamic_cast<const crs::DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3182,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3183,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3187,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3188,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3190,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3194,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3195,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3198,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3199,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3201,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3201,1
    - Dst: ThrowExceptionNotGeodeticGeographic
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3203,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3205,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3206,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3207,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3215,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3217,1
    - Dst: setCurrentStepInverted
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3218,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3219,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3222,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3223,1
    - Dst: util::isOfExactType<crs::DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3225,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3226,1
    - Dst: dynamic_cast<const crs::DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3231,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3232,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3233,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3236,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3238,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3238,1
    - Dst: ThrowExceptionNotGeodeticGeographic
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3240,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3242,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3254,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3254,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3259,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3260,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3260,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3265,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3266,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3267,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3268,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3269,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3270,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3271,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3272,1
    - Dst: fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3273,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3274,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3275,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3277,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3278,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3279,1
    - Dst: fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3280,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3281,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3282,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3283,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3284,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3285,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3287,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3288,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3296,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3299,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3300,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3301,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3302,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3303,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3304,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3308,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3309,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3310,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3311,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3312,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3313,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3314,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3319,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3321,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3322,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3323,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3325,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3326,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3327,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3328,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3330,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3332,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3334,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3336,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3338,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3342,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3343,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3344,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3345,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3346,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3347,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3348,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3349,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3350,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3351,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3352,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3353,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3354,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3361,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3365,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3369,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3372,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3378,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3379,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3380,1
    - Dst: cos
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3380,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3381,1
    - Dst: sin
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3381,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3382,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3383,1
    - Dst: sin
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3383,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3384,1
    - Dst: cos
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3384,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3389,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3390,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3391,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3393,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3393,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3395,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3395,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3398,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3398,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3400,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3400,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3401,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3403,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3404,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3405,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3406,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3406,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3408,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3410,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3411,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3412,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3412,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3414,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3424,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3424,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3427,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3427,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3429,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3430,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3436,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3436,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3439,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3439,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3441,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3442,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3449,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3451,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3452,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3454,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3459,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3460,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3461,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3463,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3469,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3475,1
    - Dst: exportToPROJStringChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3477,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3482,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3483,1
    - Dst: setCoordinateOperationOptimizations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3487,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3494,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3495,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3496,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3497,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3498,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3500,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3501,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3503,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3504,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3551,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3564,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3566,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3568,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3570,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3571,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3573,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3573,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3575,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3575,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3578,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3578,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3581,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3581,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3584,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3586,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3592,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3595,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3599,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3599,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3604,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3605,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3606,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3610,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3611,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3612,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3620,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3621,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3624,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3626,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3627,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3628,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3629,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3632,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3635,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3638,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3641,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3643,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3644,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3645,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3646,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3648,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3651,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3654,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3657,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3660,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3663,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3666,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3670,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3672,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3673,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3674,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3675,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3676,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3677,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3678,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3679,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3682,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3684,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3689,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3690,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3694,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3694,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3722,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3724,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3726,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3727,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3729,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3731,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3734,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3737,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3739,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3741,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3750,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3752,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3752,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3756,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3757,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3758,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3759,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3760,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3761,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3762,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3763,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3764,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3765,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3766,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3768,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3770,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3773,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3775,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3775,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3785,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3787,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3789,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3790,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3792,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3796,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3796,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3798,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3803,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3803,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3805,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3809,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3810,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3811,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3813,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3814,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3815,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3816,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3817,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3818,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3819,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3821,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3823,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3826,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3833,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3836,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3839,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3841,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3842,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3845,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3849,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3851,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3852,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3855,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3859,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3860,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3861,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3864,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3865,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3866,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3869,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3876,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3879,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3882,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3885,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3885,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3888,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3888,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3890,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3891,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3894,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3900,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3900,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3903,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3903,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3905,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3906,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3909,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3914,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3915,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3916,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3919,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3920,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3921,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3922,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3925,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3932,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3935,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3938,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3941,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3941,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3944,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3944,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3946,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3949,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3956,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3956,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3959,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3959,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3961,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3964,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3970,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3971,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3972,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3975,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3976,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3977,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3978,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3981,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3987,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3989,1
    - Dst: dynamic_cast<const crs::EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3994,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3994,1
    - Dst: dynamic_cast<cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3996,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3997,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3999,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4003,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4003,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4004,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4008,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4013,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4019,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4021,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4021,1
    - Dst: checkIfCompatEngineeringCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4023,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4026,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4028,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4028,1
    - Dst: checkIfCompatEngineeringCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4030,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4034,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4035,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4036,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4040,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4041,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4042,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4046,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4054,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4055,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4058,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4060,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4062,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4062,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4063,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4063,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4065,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4065,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4066,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4066,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4069,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4071,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4075,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4077,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4082,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4084,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4085,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4086,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4089,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4090,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4093,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4102,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4104,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4105,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4105,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4107,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4109,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4115,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4118,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4121,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4125,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4129,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4129,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4132,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4133,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4136,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4138,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4139,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4139,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4141,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4143,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4149,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4151,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4152,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4153,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4156,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4159,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4167,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4168,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4171,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4173,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4175,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4175,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4176,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4176,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4178,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4178,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4179,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4179,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4182,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4184,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4188,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4190,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4195,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4198,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4201,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4203,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4206,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4209,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4210,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4211,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4213,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4214,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4215,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4216,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4217,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4218,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4220,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4226,1
    - Dst: substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4227,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4228,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4228,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4229,1
    - Dst: std::dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4229,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4230,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4233,1
    - Dst: _getNTv1Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4238,1
    - Dst: _getNTv2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4239,1
    - Dst: _getCTABLE2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4240,1
    - Dst: _getHorizontalShiftGTIFFFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4242,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4243,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4245,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4246,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4248,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4249,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4251,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4252,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4255,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4256,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4259,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4261,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4262,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4265,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4266,1
    - Dst: omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4269,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4270,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4271,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4272,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4276,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4278,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4280,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4281,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4282,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4285,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4288,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4289,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4291,1
    - Dst: omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4294,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4295,1
    - Dst: _getGeocentricTranslationFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4302,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4303,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4305,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4305,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4307,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4308,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4312,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4312,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4314,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4315,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4318,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4320,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4325,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4326,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4328,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4329,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4332,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4338,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4339,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4340,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4343,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4346,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4347,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4349,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4350,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4352,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4353,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4354,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4356,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4360,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4361,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4362,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4363,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4365,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4366,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4369,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4372,1
    - Dst: _getGeographic3DOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4378,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4379,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4381,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4381,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4383,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4384,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4388,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4388,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4390,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4391,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4398,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4398,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4400,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4401,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4405,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4405,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4407,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4408,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4414,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4416,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4421,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4422,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4422,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4424,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4425,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4425,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4428,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4434,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4435,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4436,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4439,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4444,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4446,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4449,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4450,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4453,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4454,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4456,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4459,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4461,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4463,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4464,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4465,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4469,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4470,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4471,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4472,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4475,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4476,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4480,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4483,1
    - Dst: _getVerticalOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4489,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4490,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4492,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4494,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4501,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4501,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4503,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4504,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4509,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4509,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4511,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4511,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4516,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4516,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4517,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4518,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4525,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4525,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4527,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4527,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4532,1
    - Dst: databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4532,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4533,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4534,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4541,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4543,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4546,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4548,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4549,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4550,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4552,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4553,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4555,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4556,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4557,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4558,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4560,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4561,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4562,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4563,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4565,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4566,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4567,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4570,1
    - Dst: _getHeightToGeographic3DFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4576,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4577,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4578,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4580,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4581,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4584,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4585,1
    - Dst: omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4588,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4589,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4590,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4591,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4592,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4593,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4597,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4599,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4600,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4601,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4603,1
    - Dst: omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4606,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4607,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4608,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4609,1
    - Dst: Transformation::isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4615,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4615,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4617,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4620,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4621,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4623,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4625,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4626,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4629,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4630,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4633,1
    - Dst: auto::extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4635,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4637,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4638,1
    - Dst: omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4642,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4643,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4644,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4645,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4646,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4647,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4654,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4659,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4659,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4661,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4662,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4665,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4666,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4667,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4669,1
    - Dst: omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4672,1
    - Dst: pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4673,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4674,1
    - Dst: popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4675,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4684,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4687,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4688,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4689,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4689,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4690,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4691,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4696,1
    - Dst: isRegularVerticalGridMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4703,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4705,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4709,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4713,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4714,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4715,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4715,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4716,1
    - Dst: isLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4721,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4723,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4725,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4727,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4728,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4731,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4732,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4735,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4737,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4738,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4741,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4742,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4745,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4746,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4749,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4754,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4755,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4756,1
    - Dst: PrimeMeridian::getPROJStringWellKnownName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4763,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4764,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4765,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4767,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4768,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4769,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4775,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4776,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4777,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4778,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4778,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4779,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4781,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4784,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4791,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4791,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4793,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4794,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4798,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4798,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4800,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4801,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4805,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4808,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4810,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4811,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4812,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4815,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4816,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4817,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4822,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4823,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4824,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4833,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4834,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4838,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4843,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4844,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4845,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4845,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4846,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4849,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4853,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4854,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4857,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4866,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4866,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4868,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4869,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4873,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4873,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4875,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4876,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4880,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4883,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4885,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4886,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4887,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4890,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4893,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4894,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4894,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4897,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4900,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4909,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4909,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4911,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4911,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4916,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4917,1
    - Dst: hasDegreeUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4920,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4921,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4922,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4927,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4927,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4929,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4929,1
    - Dst: hasDegreeUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4933,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4934,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4935,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4940,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4943,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4945,1
    - Dst: auto::addAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4946,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4947,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4950,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4953,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4954,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4954,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4957,1
    - Dst: auto::addAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4960,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4969,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4969,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4971,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4972,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4976,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4976,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4978,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4979,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4983,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4987,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4990,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4993,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4994,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4994,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4997,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5006,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5007,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5009,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5009,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5011,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5011,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5012,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5013,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5014,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5016,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5017,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5018,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5022,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5025,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5026,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5031,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5035,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5035,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5039,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5041,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5043,1
    - Dst: parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5045,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5047,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5048,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5049,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5051,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5053,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5055,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5058,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5060,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5061,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5062,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5063,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5064,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5066,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5069,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5070,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5073,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5077,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5078,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5082,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5084,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5086,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5089,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5092,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5092,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5093,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5096,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5096,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5101,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5109,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5110,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5112,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5112,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5114,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5114,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5115,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5116,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5117,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5119,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5120,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5121,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5125,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5128,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5129,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5134,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5138,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5138,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5143,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5144,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5147,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5151,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5152,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5155,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5158,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5159,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5161,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5163,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5165,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5165,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5166,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5167,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5170,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5170,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5175,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5183,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5184,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5186,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5186,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5188,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5188,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5189,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5190,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5191,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5193,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5194,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5195,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5199,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5202,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5203,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5208,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5211,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5212,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5217,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5221,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5221,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5226,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5227,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5230,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5234,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5235,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5238,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5241,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5242,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5242,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5244,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5246,1
    - Dst: parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5248,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5250,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5252,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5252,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5253,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5256,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5256,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5261,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5268,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5268,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5269,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5269,1
    - Dst: ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5271,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5274,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5275,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5275,1
    - Dst: setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5299,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5300,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5300,1
    - Dst: setAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5301,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5301,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5302,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5302,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5303,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5303,1
    - Dst: setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5305,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5306,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5307,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5308,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5309,1
    - Dst: setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5310,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5312,1
    - Dst: setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5313,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5327,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5328,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5329,1
    - Dst: dynamic_cast<const InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5337,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5339,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5342,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5342,1
    - Dst: parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5373,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5373,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5374,1
    - Dst: PointMotionOperation::nn_make_shared<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5377,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5379,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5380,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5382,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5383,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5385,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5386,1
    - Dst: std::stod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5388,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5388,1
    - Dst: std::stod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5390,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5390,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5390,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5391,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5392,1
    - Dst: DataEpoch::DataEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5392,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5393,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5394,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5395,1
    - Dst: DataEpoch::DataEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5395,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5396,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5432,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5432,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5433,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5437,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5437,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5438,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5439,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5440,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5442,1
    - Dst: setParameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5453,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5454,1
    - Dst: setAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5455,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5466,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5467,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5469,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5469,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5470,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5470,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5472,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5473,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5475,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5477,1
    - Dst: auto::sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5478,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5480,1
    - Dst: auto::targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5481,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5485,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5487,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5489,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5490,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5503,1
    - Dst: std::dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5503,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5504,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5506,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5507,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5527,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5529,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5530,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5537,1
    - Dst: lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5538,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5546,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5548,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5549,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5550,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5550,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5551,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5551,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5552,1
    - Dst: CoordinateOperation::getPrivate
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5565,1
    - Dst: PointMotionOperation::nn_make_shared<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5574,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5575,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5576,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5581,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5581,1
    - Dst: PointMotionOperation::nn_make_shared<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5590,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5592,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5593,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5595,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5596,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5597,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5598,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5600,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5601,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5603,1
    - Dst: auto::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5604,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5607,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5609,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5611,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5613,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5614,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5622,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5623,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5624,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5628,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5629,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5631,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5631,1
    - Dst: operationVersion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5633,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5634,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5635,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5636,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5637,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5640,1
    - Dst: idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5642,1
    - Dst: topLevelHasId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5642,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5644,1
    - Dst: pushDisableUsage
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5646,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5649,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5650,1
    - Dst: pushHasId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5653,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5654,1
    - Dst: popHasId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5655,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5657,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5659,1
    - Dst: popDisableUsage
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5662,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5665,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5666,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5668,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5669,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5672,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5673,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5674,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5674,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5674,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5675,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5678,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5679,1
    - Dst: convention
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5687,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5689,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5693,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5700,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5701,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5705,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5706,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5712,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5712,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5714,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5718,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5719,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5720,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5721,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5723,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5724,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5726,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5727,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5728,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5731,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5732,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5734,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5735,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5738,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5739,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5740,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5742,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5743,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5755,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5757,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5758,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5758,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5760,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5764,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5766,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5767,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5768,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5770,1
    - Dst: startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5771,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5772,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5773,1
    - Dst: stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5774,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5776,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5778,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5782,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5793,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5794,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5795,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5797,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5798,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5799,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5800,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5802,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5805,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5806,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5807,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5809,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5810,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5811,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5812,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5814,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5816,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5817,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5818,1
    - Dst: setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5819,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5820,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5824,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5825,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5826,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5826,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5826,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5829,1
    CyclomaticComplexity: 946
    EdgeCount: 946
    ICount: 2311
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (otherParams.size() == 7)
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - condition: (params.size() == 7)
      pos:
        line_end: 1572
        line_start: 1572
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    constantsTouched: []
    func_position:
      end: 5836
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 5836
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const OperationMethod *>
    - PrimeMeridian::create
    - parameter::getEPSGCode
    - version
    - setSourceCoordinateEpoch
    - PROJBasedOperation::create
    - gridsNeeded
    - substitutePROJAlternativeGridNames
    - auto::componentReferenceSystems
    - isRegularVerticalGridMethod
    - std::vector::push_back
    - _getGeographic3DOffsetByVelocityGridFilename
    - ci_find
    - as_nullable
    - dynamic_cast<const crs::EngineeringCRS *>
    - auto::MakeArrayContext
    - targetCoordinateEpoch
    - auto::isGeocentric
    - starts_with
    - _getNTv1Filename
    - util::optional<common::DataEpoch>
    - dynamic_cast<const SingleOperation *>
    - OperationParameter::create
    - sourceCRS
    - OperationMethodNNPtr::identifiers
    - auto::addLinearUnitConvert
    - method
    - setupPROJGeodeticSourceCRS
    - Transformation::isGeographic3DToGravityRelatedHeight
    - lookForGridAlternative
    - auto::interpolationCRS
    - shortName::empty
    - value
    - auto::setCRSs
    - OperationParameterValue::nn_make_shared<OperationParameterValue>
    - method_::getEPSGCode
    - writer
    - auto::assignSelf
    - std::make_unique<Private>
    - auto::setTargetCoordinateEpoch
    - dynamic_cast<const crs::DerivedGeographicCRS *>
    - static_cast<const Transformation *>
    - AuthorityFactory::createUnitOfMeasure
    - setParameterValues
    - IdentifiedObject::_isEquivalentTo
    - auto::conversionToSI
    - auto::ellipsoid
    - pushOmitZUnitConversion
    - PointMotionOperation::create
    - parameterValueNumericAsSI
    - _getGeocentricTranslationFilename
    - checkIfCompatEngineeringCRS
    - coordinateOperationAccuracies
    - abridgedTransformation
    - ParameterValue::create
    - ArrayOfBaseObject::create
    - auto::setSourceCoordinateEpoch
    - CoordinateTransformer::make_unique<CoordinateTransformer>
    - shallowClone
    - CoordinateOperation::getPrivate
    - util::nn_dynamic_pointer_cast<crs::GeographicCRS>
    - unit
    - _getHorizontalShiftGTIFFFilename
    - OperationMethodNNPtr::assignSelf
    - dynamic_cast<const crs::GeodeticCRS *>
    - idOnTopLevelOnly
    - _getHeightToGeographic3DFilename
    - setupPROJGeodeticTargetCRS
    - getStringValue
    - auto::convertToOtherMethod
    - auto::empty
    - std::vector::emplace_back
    - dynamic_cast<const OperationParameterValue *>
    - exportSourceCRSAndTargetCRSToWKT
    - dynamic_cast<const crs::VerticalCRS *>
    - isLongitudeRotation
    - setAllowIDInImmediateChild
    - auto::addAngularUnitConvertAndAxisSwap
    - std::list::emplace_back
    - coordinateSystem
    - OperationMethodNNPtr::setProperties
    - conversionToSI
    - std::move
    - auto::Add
    - OperationParameterNNPtr::parameterValue
    - auto::mustAxisOrderBeSwitchedForVisualization
    - databaseContext
    - popDisableUsage
    - util::PropertyMap::getStringValue
    - std::fmod
    - targetCRSWeak_::lock
    - lookForGridInfo
    - _exportToPROJString
    - ThrowExceptionNotGeodeticGeographic
    - getMethodNameCodes
    - isTimeDependent
    - proj_assign_context
    - name
    - ObjectUsage::baseExportToJSON
    - sourceCoordinateEpoch
    - dynamic_cast<crs::GeographicCRS *>
    - setOmitTypeInImmediateChild
    - auto::datumNonNull
    - std::string::substr
    - dynamic_cast<const InverseCoordinateOperation *>
    - auto::setProperties
    - OperationParameterNNPtr::setProperties
    - std::string::empty
    - _shallowClone
    - auto::find
    - setCoordinateOperationOptimizations
    - areEquivalentParameters
    - popHasId
    - OperationParameterValue*::parameter
    - getProjectionMethodMappings
    - parameterValues
    - toString
    - GridDescription::GridDescription
    - NN_NO_CHECK
    - auto::convertToUnit
    - std::string::find
    - assert
    - util::nn_dynamic_pointer_cast<crs::CompoundCRS>
    - IdentifiedObject::getEPSGCode
    - auto::normalizeForVisualization
    - pj_obj_create
    - getEPSGCode
    - auto::d::method_::get
    - endNode
    - createOperationParameterValueFromInterpolationCRS
    - auto::AddObjKey
    - Identifier::isEquivalentName
    - identifiers
    - auto::coordinateSystem
    - auto::parameter
    - operationVersion
    - dynamic_cast<const crs::GeographicCRS *>
    - addQuotedString
    - createSimilarPropertiesMethod
    - code
    - setHasBallparkTransformation
    - shared_from_this
    - CoordinateTransformer::create
    - dynamic_cast<const Conversion *>
    - dynamic_cast<ConcatenatedOperation *>
    - auto::d::method_::getEPSGCode
    - dynamic_cast<InverseCoordinateOperation *>
    - std::make_shared<util::optional<common::DataEpoch>>
    - util::isOfExactType<crs::DerivedGeographicCRS>
    - ObjectUsage::baseExportToWKT
    - auto::value
    - hasDegreeUnit
    - std::dynamic_pointer_cast<CoordinateOperation>
    - _exportToJSON
    - auto::inverse
    - std::make_unique<Private::CRSStrongRef>
    - OperationParameterNNPtr::assignSelf
    - setCRSs
    - auto::_isEquivalentTo
    - _getVerticalOffsetByVelocityGridFilename
    - auto::addGeocentricUnitConversionIntoPROJString
    - PrimeMeridian::getPROJStringWellKnownName
    - ObjectUsage::_isEquivalentTo
    - auto::getEPSGCode
    - method_::_isEquivalentTo
    - addStep
    - d
    - extractGeographicCRSIfGeographicCRSOrEquivalent
    - auto::d::parameter::get
    - getMapping
    - exportToPROJString
    - parameterValueMeasure
    - std::stod
    - remarks
    - pj_get_default_ctx
    - addParam
    - setTargetCoordinateEpoch
    - setAccuracies
    - integerValue
    - auto::add
    - stopInversion
    - std::vector::size
    - std::vector::reserve
    - create
    - std::string
    - use2019Keywords
    - hasBallparkTransformation
    - c_str
    - util::nn_static_pointer_cast<SingleOperation>
    - auto::coordinateEpoch
    - exportToPROJStringChangeVerticalUnit
    - targetCRS
    - isGeographic3DToGravityRelatedHeight
    - ParameterValue::createFilename
    - omitHorizontalConversionInVertTransformation
    - auto::has_value
    - auto::inverseAsTransformation
    - convention
    - parameters
    - getOtherMethodMappings
    - setProperties
    - auto::d::parameterValue::get
    - dynamic_cast<Transformation *>
    - MakeObjectContext
    - util::nn_static_pointer_cast<CoordinateOperation>
    - what
    - topLevelHasId
    - auto::exportToPROJString
    - addModifiedIdentifier
    - concat
    - InvalidOperation
    - formatID
    - ci_equal
    - CoordinateOperation
    - sin
    - cos
    - createOpParamNameEPSGCode
    - auto::identifiers
    - auto::getTOWGS84Parameters
    - auto::setCRSsUpdateInverse
    - auto::operations
    - PropertyMap::PropertyMap
    - getRoundedEpochInDecimalYear
    - requiresPerCoordinateInputTime
    - createMethodMapNameEPSGCode
    - std::dynamic_pointer_cast<Transformation>
    - std::fabs
    - util::nn_dynamic_pointer_cast<crs::BoundCRS>
    - dynamic_cast<const OperationParameter *>
    - auto::addAxisSwap
    - direction
    - dynamic_cast<const crs::BoundCRS *>
    - dynamic_cast<const ConcatenatedOperation *>
    - add
    - proj_trans
    - Identifier::create
    - dynamic_cast<const crs::ProjectedCRS *>
    - auto::sourceCoordinateEpoch
    - isAxisOrderReversal
    - codeSpace
    - auto::extractVerticalCRS
    - std::set::insert
    - auto::nameStr
    - type
    - createNTv1
    - fabs
    - auto::_exportToWKT
    - parameter::_isEquivalentTo
    - sourceCRSWeak_::lock
    - auto::c_str
    - findMapping
    - util::PropertyMap::set
    - valueFile
    - OperationMethodNNPtr::nameStr
    - OperationParameterValue::create
    - createPropertiesForInverse
    - outputId
    - proj_destroy
    - auto::parameters
    - replaceAll
    - getParamNameCodes
    - auto::_exportToPROJString
    - pushHasId
    - auto::resize
    - dynamic_cast<const crs::CompoundCRS *>
    - auto::parameterValue
    - _exportToWKT
    - auto::valueFile
    - auto::targetCoordinateEpoch
    - auto::addUnitConvertAndAxisSwap
    - OperationParameterNNPtr::method
    - parameter
    - UnsupportedOperationException::UnsupportedOperationException
    - parameterValue
    - addDomains
    - startInversion
    - setCurrentStepInverted
    - strlen
    - auto::extractGeographicCRS
    - size
    - auto::sourceCRS
    - Conversion::createAxisOrderReversal
    - get
    - PROJStringFormatter::create
    - isTOWGS84Transf
    - domains
    - popOmitZUnitConversion
    - FormattingException::FormattingException
    - parameterValueNumeric
    - auto::get
    - ObjectUsage::setProperties
    - dynamic_cast<cs::CartesianCS *>
    - interpolationCRS
    - _getNTv2Filename
    - sourceCoordinateEpoch_::has_value
    - std::dynamic_pointer_cast<PointMotionOperation>
    - ends_with
    - auto::as_nullable
    - _getCTABLE2Filename
    - ellipsoid
    - DataEpoch::DataEpoch
    - createAngle
    - pushDisableUsage
    - Transformation::createNTv2
    - auto::forwardOperation
    - setRequiresPerCoordinateInputTime
    - auto::baseCRS
    - method_::nameStr
    - ingestPROJString
    - inverse
    - nameStr
    - Transformation::create
    - createSimilarPropertiesOperation
    - split
    - ConcatenatedOperation::create
    - auto::size
    - parameterValue::_isEquivalentTo
    - PointMotionOperation::nn_make_shared<PointMotionOperation>
    - _isEquivalentTo
    - startNode
    - auto::type
    - auto::axisList
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: InvalidOperationEmptyIntersection::InvalidOperationEmptyIntersection
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InvalidOperationEmptyIntersection::InvalidOperationEmptyIntersection(\n
      \   const std::string &message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: InvalidOperationEmptyIntersection::InvalidOperationEmptyIntersection
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InvalidOperationEmptyIntersection::InvalidOperationEmptyIntersection(\n
      \   const InvalidOperationEmptyIntersection &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: InvalidOperationEmptyIntersection::~InvalidOperationEmptyIntersection()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidOperationEmptyIntersection::~InvalidOperationEmptyIntersection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: GridDescription::GridDescription
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridDescription::GridDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: GridDescription::~GridDescription()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridDescription::~GridDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: GridDescription::GridDescription
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridDescription::GridDescription(const GridDescription &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:106,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:107,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:108,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - GridDescription
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: GridDescription::GridDescription
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GridDescription::GridDescription(GridDescription &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: CoordinateOperation::CoordinateOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateOperation::CoordinateOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - CoordinateOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: CoordinateOperation::CoordinateOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateOperation::CoordinateOperation(const CoordinateOperation
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: CoordinateOperation::~CoordinateOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperation::~CoordinateOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '&

      CoordinateOperation::operationVersion() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<std::string>
    signature: 'util::optional<std::string> &

      CoordinateOperation::operationVersion() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: '&

      CoordinateOperation::coordinateOperationAccuracies() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<metadata::PositionalAccuracyNNPtr>
    signature: 'std::vector<metadata::PositionalAccuracyNNPtr> &

      CoordinateOperation::coordinateOperationAccuracies() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sourceCRSWeak_::lock
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: CoordinateOperation::sourceCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - sourceCRSWeak_::lock
    linkageType: ''
    returnType: crs::CRSPtr
    signature: crs::CRSPtr CoordinateOperation::sourceCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: targetCRSWeak_::lock
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: CoordinateOperation::targetCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - targetCRSWeak_::lock
    linkageType: ''
    returnType: crs::CRSPtr
    signature: crs::CRSPtr CoordinateOperation::targetCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '&CoordinateOperation::interpolationCRS() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crs::CRSPtr
    signature: crs::CRSPtr &CoordinateOperation::interpolationCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '&

      CoordinateOperation::sourceCoordinateEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::DataEpoch>
    signature: 'util::optional<common::DataEpoch> &

      CoordinateOperation::sourceCoordinateEpoch() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: '&

      CoordinateOperation::targetCoordinateEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::DataEpoch>
    signature: 'util::optional<common::DataEpoch> &

      CoordinateOperation::targetCoordinateEpoch() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:222,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sourceCRSIn
    - targetCRSIn
    argTypes:
    - std::weak_ptr<crs::CRS>
    - std::weak_ptr<crs::CRS>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: CoordinateOperation::setWeakSourceTargetCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setWeakSourceTargetCRS(\n    std::weak_ptr<crs::CRS>
      sourceCRSIn, std::weak_ptr<crs::CRS> targetCRSIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private::CRSStrongRef>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:232,1
    - Dst: crs::CRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:233,1
    - Dst: crs::CRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: CoordinateOperation::setCRSs
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - crs::CRSNNPtr::as_nullable
    - std::make_unique<Private::CRSStrongRef>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setCRSs(const crs::CRSNNPtr &sourceCRSIn,\n
      \                                 const crs::CRSNNPtr &targetCRSIn,\n                                  const
      crs::CRSPtr &interpolationCRSIn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:243,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:245,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:247,1
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:251,1
    - Dst: auto::inverseAsTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:253,1
    - Dst: dynamic_cast<ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:257,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:259,1
    - Dst: auto::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:262,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:262,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:263,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:265,1
    - Dst: auto::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:268,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:268,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sourceCRSIn
    - targetCRSIn
    - interpolationCRSIn
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: CoordinateOperation::setCRSsUpdateInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::forwardOperation
    - auto::operations
    - auto::inverseAsTransformation
    - dynamic_cast<Transformation *>
    - NN_NO_CHECK
    - auto::interpolationCRS
    - dynamic_cast<ConcatenatedOperation *>
    - CoordinateOperation::setCRSs
    - auto::setCRSsUpdateInverse
    - dynamic_cast<InverseCoordinateOperation *>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setCRSsUpdateInverse(\n    const crs::CRSNNPtr
      &sourceCRSIn, const crs::CRSNNPtr &targetCRSIn,\n    const crs::CRSPtr &interpolationCRSIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interpolationCRSIn
    argTypes:
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: CoordinateOperation::setInterpolationCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setInterpolationCRS(\n    const crs::CRSPtr
      &interpolationCRSIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:285,1
    - Dst: CoordinateOperation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:286,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:288,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:289,1
    - Dst: CoordinateOperation::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:291,1
    - Dst: CoordinateOperation*::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:291,1
    - Dst: CoordinateOperation::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:293,1
    - Dst: CoordinateOperation*::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - in
    - inverseSourceTarget
    argTypes:
    - CoordinateOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: CoordinateOperation::setCRSs
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached:
    - NN_NO_CHECK
    - CoordinateOperation*::targetCRS
    - CoordinateOperation::setCRSs
    - CoordinateOperation*::sourceCRS
    - CoordinateOperation*::interpolationCRS
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setCRSs(const CoordinateOperation *in,\n
      \                                 bool inverseSourceTarget)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:303,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:306,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - util::optional<common::DataEpoch>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: CoordinateOperation::setSourceCoordinateEpoch
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::forwardOperation
    - std::make_shared<util::optional<common::DataEpoch>>
    - dynamic_cast<InverseCoordinateOperation *>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setSourceCoordinateEpoch(\n    const util::optional<common::DataEpoch>
      &epoch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:317,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:320,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - util::optional<common::DataEpoch>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: CoordinateOperation::setTargetCoordinateEpoch
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::forwardOperation
    - std::make_shared<util::optional<common::DataEpoch>>
    - dynamic_cast<InverseCoordinateOperation *>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setTargetCoordinateEpoch(\n    const util::optional<common::DataEpoch>
      &epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - accuracies
    argTypes:
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: CoordinateOperation::setAccuracies
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setAccuracies(\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:343,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:343,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:348,1
    - Dst: shortName::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - databaseContext
    - considerKnownGridsAsAvailable
    argTypes:
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: CoordinateOperation::isPROJInstantiable
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - shortName::empty
    - gridsNeeded
    - exportToPROJString
    - PROJStringFormatter::create
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateOperation::isPROJInstantiable(\n    const io::DatabaseContextPtr
      &databaseContext,\n    bool considerKnownGridsAsAvailable) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: CoordinateOperation::hasBallparkTransformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoordinateOperation::hasBallparkTransformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: CoordinateOperation::setHasBallparkTransformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperation::setHasBallparkTransformation(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sourceCoordinateEpoch_::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: CoordinateOperation::requiresPerCoordinateInputTime
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - sourceCoordinateEpoch_::has_value
    linkageType: ''
    returnType: bool
    signature: bool CoordinateOperation::requiresPerCoordinateInputTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: CoordinateOperation::setRequiresPerCoordinateInputTime
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperation::setRequiresPerCoordinateInputTime(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjectUsage::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:408,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: CoordinateOperation::setProperties
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - ObjectUsage::setProperties
    - util::PropertyMap::getStringValue
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperation::setProperties(\n    const util::PropertyMap
      &properties)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:419,1
    - Dst: CoordinateOperation::targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:420,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:422,1
    - Dst: auto::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:426,1
    - Dst: auto::mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:428,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:429,1
    - Dst: std::dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:429,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:430,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:436,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:437,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:437,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:438,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:439,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:441,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:443,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:444,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:444,1
    - Dst: auto::normalizeForVisualization
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:445,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:446,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:451,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:452,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:455,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:456,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:458,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:461,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:462,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:463,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:469,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:469,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:471,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:473,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:476,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:480,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 482
    functionName: CoordinateOperation::normalizeForVisualization
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperation::targetCRS
    - auto::operations
    - coordinateOperationAccuracies
    - CoordinateOperation::sourceCRS
    - UnsupportedOperationException::UnsupportedOperationException
    - nameStr
    - util::PropertyMap::set
    - NN_NO_CHECK
    - addDomains
    - auto::setCRSs
    - shared_from_this
    - auto::mustAxisOrderBeSwitchedForVisualization
    - ConcatenatedOperation::create
    - std::string::empty
    - dynamic_cast<const ConcatenatedOperation *>
    - addModifiedIdentifier
    - auto::normalizeForVisualization
    - Conversion::createAxisOrderReversal
    - get
    - std::vector::emplace_back
    - remarks
    - std::dynamic_pointer_cast<CoordinateOperation>
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr CoordinateOperation::normalizeForVisualization()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:502,1
    - Dst: std::dynamic_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:502,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:503,1
    - Dst: CoordinateTransformer::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: CoordinateOperation::coordinateTransformer
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateTransformer::create
    - NN_NO_CHECK
    - shared_from_this
    - std::dynamic_pointer_cast<CoordinateOperation>
    linkageType: ''
    returnType: CoordinateTransformerNNPtr
    signature: CoordinateTransformerNNPtr CoordinateOperation::coordinateTransformer(PJ_CONTEXT
      *ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _shallowClone
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: CoordinateOperation::shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 3
    functionsReached:
    - _shallowClone
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr CoordinateOperation::shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    functionName: CoordinateTransformer::CoordinateTransformer
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateTransformer::CoordinateTransformer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_assign_context
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:533,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:533,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: CoordinateTransformer::~CoordinateTransformer()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - pj_get_default_ctx
    - proj_assign_context
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void CoordinateTransformer::~CoordinateTransformer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:544,1
    - Dst: CoordinateTransformer::make_unique<CoordinateTransformer>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:545,1
    - Dst: pj_get_default_ctx
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:548,1
    - Dst: pj_obj_create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:549,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - op
    - ctx
    argTypes:
    - CoordinateOperationNNPtr
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 5
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: CoordinateTransformer::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached:
    - pj_get_default_ctx
    - UnsupportedOperationException::UnsupportedOperationException
    - CoordinateTransformer::make_unique<CoordinateTransformer>
    - NN_NO_CHECK
    - pj_obj_create
    linkageType: ''
    returnType: CoordinateTransformerNNPtr
    signature: "CoordinateTransformerNNPtr CoordinateTransformer::create(const CoordinateOperationNNPtr
      &op,\n                              PJ_CONTEXT *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_trans
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coord
    argTypes:
    - PJ_COORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 5
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: CoordinateTransformer::transform
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - proj_trans
    linkageType: ''
    returnType: PJ_COORD
    signature: PJ_COORD CoordinateTransformer::transform(PJ_COORD coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: OperationMethod::OperationMethod
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void OperationMethod::OperationMethod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - OperationMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: OperationMethod::OperationMethod
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void OperationMethod::OperationMethod(const OperationMethod &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: OperationMethod::~OperationMethod()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationMethod::~OperationMethod()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: '&OperationMethod::formula()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<std::string>
    signature: util::optional<std::string> &OperationMethod::formula()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: '&

      OperationMethod::formulaCitation()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<metadata::Citation>
    signature: 'util::optional<metadata::Citation> &

      OperationMethod::formulaCitation()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: '&

      OperationMethod::parameters()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeneralOperationParameterNNPtr>
    signature: 'std::vector<GeneralOperationParameterNNPtr> &

      OperationMethod::parameters()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:675,1
    - Dst: OperationMethodNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:676,1
    - Dst: util::PropertyMap::getStringValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - properties
    - parameters
    argTypes:
    - util::PropertyMap
    - std::vector<GeneralOperationParameterNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 680
    functionName: OperationMethod::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 14
    functionsReached:
    - OperationMethodNNPtr::setProperties
    - OperationMethodNNPtr::assignSelf
    - util::PropertyMap::getStringValue
    linkageType: ''
    returnType: OperationMethodNNPtr
    signature: "OperationMethodNNPtr OperationMethod::create(\n    const util::PropertyMap
      &properties,\n    const std::vector<GeneralOperationParameterNNPtr> &parameters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:695,1
    - Dst: std::vector<OperationParameterNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:695,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:697,1
    - Dst: OperationMethod::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - properties
    - parameters
    argTypes:
    - util::PropertyMap
    - std::vector<OperationParameterNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: OperationMethod::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 15
    functionsReached:
    - OperationMethod::create
    - std::vector::push_back
    - std::vector<OperationParameterNNPtr>::size
    - std::vector::reserve
    linkageType: ''
    returnType: OperationMethodNNPtr
    signature: "OperationMethodNNPtr OperationMethod::create(\n    const util::PropertyMap
      &properties,\n    const std::vector<OperationParameterNNPtr> &parameters)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IdentifiedObject::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:708,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:710,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:711,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:712,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:712,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:712,1
    - Dst: getMethodNameCodes
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:715,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:718,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 725
    functionName: OperationMethod::getEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::c_str
    - ends_with
    - IdentifiedObject::getEPSGCode
    - auto::resize
    - nameStr
    - strlen
    - getMethodNameCodes
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: int
    signature: int OperationMethod::getEPSGCode()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:731,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:732,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:734,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:737,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:739,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:746,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:747,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:754,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:755,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:756,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 759
    functionName: OperationMethod::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - getMapping
    - formatID
    - io::WKTFormatter*::outputId
    - io::WKTFormatter*::addQuotedString
    - std::string
    - FormattingException::FormattingException
    - replaceAll
    linkageType: ''
    returnType: void
    signature: void OperationMethod::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:768,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:769,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:770,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:772,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:773,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:773,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:775,1
    - Dst: formatID
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 778
    functionName: OperationMethod::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - nameStr
    - io::JSONFormatter*::outputId
    - io::JSONFormatter*::writer
    - formatID
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void OperationMethod::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const OperationMethod *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:787,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:789,1
    - Dst: parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:793,1
    - Dst: auto::parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:794,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:795,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:796,1
    - Dst: OperationMethod::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:801,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:801,1
    - Dst: OperationMethod::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:812,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:812,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 825
    functionName: OperationMethod::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - OperationMethod::_isEquivalentTo
    - auto::size
    - get
    - dynamic_cast<const OperationMethod *>
    - parameters
    - auto::parameters
    - IdentifiedObject::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool OperationMethod::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 837
    functionName: GeneralParameterValue::GeneralParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralParameterValue::GeneralParameterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 842
    functionName: GeneralParameterValue::GeneralParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralParameterValue::GeneralParameterValue(const GeneralParameterValue
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 848
    functionName: GeneralParameterValue::~GeneralParameterValue()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralParameterValue::~GeneralParameterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - parameterIn
    - valueIn
    argTypes:
    - OperationParameterNNPtr
    - ParameterValueNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 860
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Private(const OperationParameterNNPtr &parameterIn,\n            const
      ParameterValueNNPtr &valueIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - OperationParameterValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: OperationParameterValue::OperationParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void OperationParameterValue::OperationParameterValue(\n    const
      OperationParameterValue &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - parameterIn
    - valueIn
    argTypes:
    - OperationParameterNNPtr
    - ParameterValueNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: OperationParameterValue::OperationParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void OperationParameterValue::OperationParameterValue(\n    const
      OperationParameterNNPtr &parameterIn,\n    const ParameterValueNNPtr &valueIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterValue::nn_make_shared<OperationParameterValue>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parameterIn
    - valueIn
    argTypes:
    - OperationParameterNNPtr
    - ParameterValueNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: OperationParameterValue::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 12
    functionsReached:
    - OperationParameterValue::nn_make_shared<OperationParameterValue>
    linkageType: ''
    returnType: OperationParameterValueNNPtr
    signature: "OperationParameterValueNNPtr OperationParameterValue::create(const
      OperationParameterNNPtr &parameterIn,\n                                const
      ParameterValueNNPtr &valueIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: OperationParameterValue::~OperationParameterValue()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationParameterValue::~OperationParameterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: '&

      OperationParameterValue::parameter()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperationParameterNNPtr
    signature: 'OperationParameterNNPtr &

      OperationParameterValue::parameter()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 919
    functionName: '&

      OperationParameterValue::parameterValue()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: 'ParameterValueNNPtr &

      OperationParameterValue::parameterValue()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterValue::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: OperationParameterValue::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - OperationParameterValue::_exportToWKT
    linkageType: ''
    returnType: void
    signature: "void OperationParameterValue::_exportToWKT(\n    // cppcheck-suppress
      passedByValue\n    io::WKTFormatter *formatter) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:933,1
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:937,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:938,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:939,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:940,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:942,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:943,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:946,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:948,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:948,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:950,1
    - Dst: io::WKTFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:951,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:952,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - formatter
    - mapping
    argTypes:
    - io::WKTFormatter*
    - MethodMapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 955
    functionName: OperationParameterValue::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - parameter
    - io::WKTFormatter*::version
    - getMapping
    - parameterValue
    - io::WKTFormatter*::outputId
    - io::WKTFormatter*::addQuotedString
    linkageType: ''
    returnType: void
    signature: "void OperationParameterValue::_exportToWKT(io::WKTFormatter *formatter,\n
      \                                          const MethodMapping *mapping) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:963,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:964,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:965,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:967,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:968,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:968,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:971,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:973,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:974,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:974,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:975,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:980,1
    - Dst: name
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:980,1
    - Dst: OperationParameterValue::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:982,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:985,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:986,1
    - Dst: valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:986,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:988,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:989,1
    - Dst: integerValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:989,1
    - Dst: io::JSONFormatter*::outputId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:992,1
    - Dst: parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 995
    functionName: OperationParameterValue::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - value
    - OperationParameterValue::_exportToJSON
    - parameter
    - type
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - integerValue
    - io::JSONFormatter*::outputId
    - name
    - io::JSONFormatter*::writer
    - valueFile
    - auto::AddObjKey
    linkageType: ''
    returnType: void
    signature: "void OperationParameterValue::_exportToJSON(\n    io::JSONFormatter
      *formatter) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1008,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1009,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1014,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1015,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1020,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1021,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1026,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1027,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1032,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1033,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1039,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1040,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1046,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1047,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - paramName
    - val
    - unit
    - paramEPSGCode
    argTypes:
    - std::string
    - double
    - common::UnitOfMeasure*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1055
    functionName: OperationParameterValue::convertFromAbridged
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached:
    - Identifier::isEquivalentName
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: "bool OperationParameterValue::convertFromAbridged(\n    const std::string
      &paramName, double &val,\n    const common::UnitOfMeasure *&unit, int &paramEPSGCode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1064,1
    - Dst: parameter::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1068,1
    - Dst: auto::d::parameter::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1068,1
    - Dst: parameterValue::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1073,1
    - Dst: auto::d::parameterValue::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1074,1
    - Dst: parameterValue::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1076,1
    - Dst: auto::d::parameterValue::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1076,1
    - Dst: parameter::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1080,1
    - Dst: parameter::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1082,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1084,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1085,1
    - Dst: std::fmod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1087,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1087,1
    - Dst: std::fmod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1092,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1092,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1096,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1096,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1100
    functionName: OperationParameterValue::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::fmod
    - auto::d::parameter::get
    - auto::d::parameterValue::get
    - parameterValue::_isEquivalentTo
    - parameterValue
    - auto::parameterValue
    - parameter::getEPSGCode
    - parameter::_isEquivalentTo
    - dynamic_cast<const OperationParameterValue *>
    - std::fabs
    linkageType: ''
    returnType: bool
    signature: "bool OperationParameterValue::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1111
    functionName: GeneralOperationParameter::GeneralOperationParameter
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralOperationParameter::GeneralOperationParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - GeneralOperationParameter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: GeneralOperationParameter::GeneralOperationParameter
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GeneralOperationParameter::GeneralOperationParameter(\n    const
      GeneralOperationParameter &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1122
    functionName: GeneralOperationParameter::~GeneralOperationParameter()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralOperationParameter::~GeneralOperationParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1133
    functionName: OperationParameter::OperationParameter
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationParameter::OperationParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - OperationParameter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1138
    functionName: OperationParameter::OperationParameter
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationParameter::OperationParameter(const OperationParameter
      &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1143
    functionName: OperationParameter::~OperationParameter()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationParameter::~OperationParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameterNNPtr::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1158,1
    - Dst: OperationParameterNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - properties
    argTypes:
    - util::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1161
    functionName: OperationParameter::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 42
    functionsReached:
    - OperationParameterNNPtr::assignSelf
    - OperationParameterNNPtr::setProperties
    linkageType: ''
    returnType: OperationParameterNNPtr
    signature: OperationParameterNNPtr OperationParameter::create(const util::PropertyMap
      &properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const OperationParameter *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1169,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1174,1
    - Dst: IdentifiedObject::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1176,1
    - Dst: OperationParameter::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1179,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1181
    functionName: OperationParameter::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::getEPSGCode
    - dynamic_cast<const OperationParameter *>
    - OperationParameter::getEPSGCode
    - IdentifiedObject::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool OperationParameter::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1186
    functionName: OperationParameter::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationParameter::_exportToWKT(io::WKTFormatter *) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getParamNameCodes
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - epsg_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1203
    functionName: OperationParameter::getNameForEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached:
    - getParamNameCodes
    linkageType: ''
    returnType: char
    signature: char *OperationParameter::getNameForEPSGCode(int epsg_code) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IdentifiedObject::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1211,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1213,1
    - Dst: getParamNameCodes
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1215,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1218,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1218,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1223,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1223,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1227,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1210
    functionDepth: 3
    functionLinenumber: 1210
    functionLinenumberEnd: 1233
    functionName: OperationParameter::getEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::c_str
    - getParamNameCodes
    - IdentifiedObject::getEPSGCode
    - nameStr
    - Identifier::isEquivalentName
    linkageType: ''
    returnType: int
    signature: int OperationParameter::getEPSGCode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - methodIn
    argTypes:
    - OperationMethodNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1243
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const OperationMethodNNPtr &methodIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1250,1
    - Dst: method_::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1252,1
    - Dst: method_::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1253,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1254,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - methodIn
    argTypes:
    - OperationMethodNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1268
    functionName: SingleOperation::SingleOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - setRequiresPerCoordinateInputTime
    - method_::getEPSGCode
    - method_::nameStr
    - std::make_unique<Private>
    - isTimeDependent
    linkageType: ''
    returnType: void
    signature: void SingleOperation::SingleOperation(const OperationMethodNNPtr &methodIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1283
    functionName: SingleOperation::~SingleOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingleOperation::~SingleOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1295
    functionName: '&

      SingleOperation::parameterValues()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeneralParameterValueNNPtr>
    signature: 'std::vector<GeneralParameterValueNNPtr> &

      SingleOperation::parameterValues()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1305
    functionName: '&SingleOperation::method()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperationMethodNNPtr
    signature: OperationMethodNNPtr &SingleOperation::method()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<GeneralParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1312
    functionName: SingleOperation::setParameterValues
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SingleOperation::setParameterValues(\n    const std::vector<GeneralParameterValueNNPtr>
      &values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1332,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1333,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1334,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1336,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1337,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1338,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1343,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1344,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1345,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1347,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1348,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1349,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1349,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1350,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1354,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1355,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1356,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1358,1
    - Dst: areEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1359,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1359,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1360,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - paramName
    - epsg_code
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1328
    functionDepth: 3
    functionLinenumber: 1328
    functionLinenumberEnd: 1365
    functionName: "&\nSingleOperation::parameterValue(const std::string &paramName,\n
      \                               int epsg_code) const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::nameStr
    - get
    - areEquivalentParameters
    - auto::parameter
    - Identifier::isEquivalentName
    - parameterValues
    - auto::parameterValue
    - auto::getEPSGCode
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: ParameterValuePtr
    signature: "ParameterValuePtr &\nSingleOperation::parameterValue(const std::string
      &paramName,\n                                int epsg_code) const noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1376,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1377,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1378,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1380,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1381,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - epsg_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1387
    functionName: '&

      SingleOperation::parameterValue(int epsg_code) const noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - get
    - auto::parameter
    - parameterValues
    - auto::parameterValue
    - auto::getEPSGCode
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: ParameterValuePtr
    signature: 'ParameterValuePtr &

      SingleOperation::parameterValue(int epsg_code) const noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1402,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1403,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - paramName
    - epsg_code
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1407
    functionName: "&\nSingleOperation::parameterValueMeasure(const std::string &paramName,\n
      \                                      int epsg_code) const noexcept"
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::type
    - parameterValue
    - auto::value
    linkageType: ''
    returnType: common::Measure
    signature: "common::Measure &\nSingleOperation::parameterValueMeasure(const std::string
      &paramName,\n                                       int epsg_code) const noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1417,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1418,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - epsg_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1422
    functionName: '&

      SingleOperation::parameterValueMeasure(int epsg_code) const noexcept'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::type
    - parameterValue
    - auto::value
    linkageType: ''
    returnType: common::Measure
    signature: 'common::Measure &

      SingleOperation::parameterValueMeasure(int epsg_code) const noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1428,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1429,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - epsg_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1433
    functionName: SingleOperation::parameterValueNumericAsSI
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::type
    - parameterValue
    - auto::value
    linkageType: ''
    returnType: double
    signature: double SingleOperation::parameterValueNumericAsSI(int epsg_code) const
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1437,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1438,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - epsg_code
    - targetUnit
    argTypes:
    - int
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1442
    functionName: SingleOperation::parameterValueNumeric
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::type
    - parameterValue
    - auto::value
    linkageType: ''
    returnType: double
    signature: "double SingleOperation::parameterValueNumeric(\n    int epsg_code,
      const common::UnitOfMeasure &targetUnit) const noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1447,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1448,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - param_name
    - targetUnit
    argTypes:
    - char*
    - common::UnitOfMeasure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1452
    functionName: SingleOperation::parameterValueNumeric
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::type
    - parameterValue
    - auto::value
    linkageType: ''
    returnType: double
    signature: "double SingleOperation::parameterValueNumeric(\n    const char *param_name,\n
      \   const common::UnitOfMeasure &targetUnit) const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<SingleOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1475,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - PROJString
    - sourceCRS
    - targetCRS
    - accuracies
    argTypes:
    - util::PropertyMap
    - std::string
    - crs::CRSPtr
    - crs::CRSPtr
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1478
    functionName: SingleOperation::createPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 7
    functionsReached:
    - util::nn_static_pointer_cast<SingleOperation>
    - PROJBasedOperation::create
    linkageType: ''
    returnType: SingleOperationNNPtr
    signature: "SingleOperationNNPtr SingleOperation::createPROJBased(\n    const
      util::PropertyMap &properties, const std::string &PROJString,\n    const crs::CRSPtr
      &sourceCRS, const crs::CRSPtr &targetCRS,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1487
    functionName: SingleOperation::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - SingleOperation::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool SingleOperation::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1494,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1497,1
    - Dst: method_::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1501,1
    - Dst: auto::d::method_::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1502,1
    - Dst: method_::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1507,1
    - Dst: auto::d::method_::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1507,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1533,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1533,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1534,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1535,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1536,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1537,1
    - Dst: isTOWGS84Transf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1567,1
    - Dst: isTOWGS84Transf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1568,1
    - Dst: static_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1569,1
    - Dst: static_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1570,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1571,1
    - Dst: auto::getTOWGS84Parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1572,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1573,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1573,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1574,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1576,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1577,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1592,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1603,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1606,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1608,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1620,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1621,1
    - Dst: SingleOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1627,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1627,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1641,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1641,1
    - Dst: SingleOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1649,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1649,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1656,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1657,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1661,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1662,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1675,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1680,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1682,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1686,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1687,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1692,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1693,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1714,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1715,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1718,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1720,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1722,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1729,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1736,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1737,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1739,1
    - Dst: auto::convertToOtherMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1741,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1744,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1744,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 103
    argCount: 4
    argNames:
    - other
    - criterion
    - dbContext
    - inOtherDirection
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    - bool
    assertStmts:
    - condition: (params.size() == 7)
      pos:
        line_end: 1572
        line_start: 1572
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - condition: (otherParams.size() == 7)
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    constantsTouched: []
    func_position:
      end: 1750
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1750
    functionName: SingleOperation::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - auto::parameter
    - auto::getTOWGS84Parameters
    - parameterValue
    - std::fabs
    - auto::_isEquivalentTo
    - method_::getEPSGCode
    - assert
    - dynamic_cast<const Conversion *>
    - ObjectUsage::_isEquivalentTo
    - auto::d::method_::getEPSGCode
    - method_::_isEquivalentTo
    - auto::size
    - auto::sourceCRS
    - static_cast<const Transformation *>
    - dynamic_cast<const crs::GeodeticCRS *>
    - auto::d::method_::get
    - SingleOperation::_isEquivalentTo
    - auto::ellipsoid
    - get
    - isTOWGS84Transf
    - auto::convertToOtherMethod
    - dynamic_cast<const SingleOperation *>
    - auto::parameterValue
    - auto::type
    - sourceCRS
    - dynamic_cast<const OperationParameterValue *>
    - auto::value
    linkageType: ''
    returnType: bool
    signature: "bool SingleOperation::_isEquivalentTo(const util::IComparable *other,\n
      \                                     util::IComparable::Criterion criterion,\n
      \                                     const io::DatabaseContextPtr &dbContext,\n
      \                                     bool inOtherDirection) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1759,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1760,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1761,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1763,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1764,1
    - Dst: split
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1765,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1765,1
    - Dst: GridDescription::GridDescription
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1767,1
    - Dst: io::DatabaseContextPtr::lookForGridInfo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1770,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1776,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - databaseContext
    - considerKnownGridsAsAvailable
    argTypes:
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1782
    functionName: SingleOperation::gridsNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - io::DatabaseContextPtr::lookForGridInfo
    - get
    - split
    - std::move
    - GridDescription::GridDescription
    - parameterValues
    - auto::parameterValue
    - auto::valueFile
    - auto::type
    - std::set::insert
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: std::set<GridDescription>
    signature: "std::set<GridDescription> SingleOperation::gridsNeeded(const io::DatabaseContextPtr
      &databaseContext,\n                             bool considerKnownGridsAsAvailable)
      const"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1794,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1795,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1796,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1811,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1812,1
    - Dst: getProjectionMethodMappings
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1821,1
    - Dst: findMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1823,1
    - Dst: getOtherMethodMappings
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1827,1
    - Dst: findMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1828,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1831,1
    - Dst: Identifier::isEquivalentName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1835,1
    - Dst: auto::c_str
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1836,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1842,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1849,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1854,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1856,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1858,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1867,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1868,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1869,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1871,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1873,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1874,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1874,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1892,1
    - Dst: OperationParameterValue*::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1895,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1896,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1897,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1897,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1899,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1903,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1906,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1910,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1913,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1916,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1918,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1920,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1925,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1926,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1927,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1929,1
    - Dst: getMapping
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1930,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1932,1
    - Dst: std::list::emplace_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1934,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1791
    functionDepth: 3
    functionLinenumber: 1791
    functionLinenumberEnd: 1940
    functionName: SingleOperation::validateParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - method
    - toString
    - get
    - auto::c_str
    - auto::parameter
    - findMapping
    - getOtherMethodMappings
    - OperationParameterValue*::parameter
    - getMapping
    - ci_equal
    - Identifier::isEquivalentName
    - parameterValues
    - std::list::emplace_back
    - getProjectionMethodMappings
    - auto::getEPSGCode
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> SingleOperation::validateParameters() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1947
    functionName: SingleOperation::isLongitudeRotation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - method
    linkageType: ''
    returnType: bool
    signature: bool SingleOperation::isLongitudeRotation() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1959,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1960,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1961,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1963,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1964,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1968,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1973
    functionName: _getNTv1Filename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - auto::type
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::getEPSGCode
    linkageType: ''
    returnType: std::string
    signature: "std::string &_getNTv1Filename(const SingleOperation *op,\n                                           bool
      allowInverse)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1979,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1980,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1982,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1982,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1983,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1987,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:1988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1976
    functionDepth: 2
    functionLinenumber: 1976
    functionLinenumberEnd: 1992
    functionName: _getNTv2Filename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - auto::type
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::getEPSGCode
    linkageType: ''
    returnType: std::string
    signature: "std::string &_getNTv2Filename(const SingleOperation *op,\n                                           bool
      allowInverse)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _getNTv2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2000,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2001,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2005,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2007,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2010,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2013,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2015,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2016,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2020,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2020,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2022,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2026,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1998
    functionDepth: 3
    functionLinenumber: 1998
    functionLinenumberEnd: 2032
    functionName: '&Transformation::getPROJ4NadgridsCompatibleFilename() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - _getNTv2Filename
    - method
    - parameterValue
    - ci_equal
    - auto::valueFile
    - auto::type
    linkageType: ''
    returnType: std::string
    signature: std::string &Transformation::getPROJ4NadgridsCompatibleFilename() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2040,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2041,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2042,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2044,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2045,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2049,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2038
    functionDepth: 2
    functionLinenumber: 2038
    functionLinenumberEnd: 2054
    functionName: _getCTABLE2Filename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::type
    linkageType: ''
    returnType: std::string
    signature: "std::string &_getCTABLE2Filename(const SingleOperation *op,\n                                              bool
      allowInverse)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2062,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2063,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2064,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2065,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2067,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2070,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2073,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2077,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2078,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2082,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2086,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2087,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2060
    functionDepth: 2
    functionLinenumber: 2060
    functionLinenumberEnd: 2092
    functionName: _getHorizontalShiftGTIFFFilename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::type
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      _getHorizontalShiftGTIFFFilename(const SingleOperation *op, bool allowInverse)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2102,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2103,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2104,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2107,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2112,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2115,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2098
    functionDepth: 2
    functionLinenumber: 2098
    functionLinenumberEnd: 2120
    functionName: _getGeocentricTranslationFilename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - auto::type
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::getEPSGCode
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n_getGeocentricTranslationFilename(const SingleOperation
      *op,\n                                  bool allowInverse)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2130,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2131,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2132,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2135,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2139,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2143,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2126
    functionDepth: 2
    functionLinenumber: 2126
    functionLinenumberEnd: 2148
    functionName: _getGeographic3DOffsetByVelocityGridFilename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - auto::type
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::getEPSGCode
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n_getGeographic3DOffsetByVelocityGridFilename(const
      SingleOperation *op,\n                                             bool allowInverse)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2158,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2159,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2160,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2163,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2167,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2171,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2154
    functionDepth: 2
    functionLinenumber: 2154
    functionLinenumberEnd: 2176
    functionName: _getVerticalOffsetByVelocityGridFilename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::nameStr
    - auto::type
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::getEPSGCode
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n_getVerticalOffsetByVelocityGridFilename(const SingleOperation
      *op,\n                                         bool allowInverse)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2185,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2187,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2189,1
    - Dst: SingleOperation*::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2192,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2195,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - op
    - allowInverse
    argTypes:
    - SingleOperation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2182
    functionDepth: 2
    functionLinenumber: 2182
    functionLinenumberEnd: 2200
    functionName: _getHeightToGeographic3DFilename
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - SingleOperation*::parameterValue
    - SingleOperation*::method
    - ci_equal
    - auto::valueFile
    - auto::type
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      _getHeightToGeographic3DFilename(const SingleOperation *op, bool allowInverse)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2208,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2254,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2258,1
    - Dst: OperationMethodNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2264,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2265,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2266,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2267,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - method
    - allowInverse
    argTypes:
    - OperationMethodNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2206
    functionDepth: 2
    functionLinenumber: 2206
    functionLinenumberEnd: 2277
    functionName: Transformation::isGeographic3DToGravityRelatedHeight
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 3
    functionsReached:
    - code
    - OperationMethodNNPtr::nameStr
    - codeSpace
    - ci_find
    - ci_equal
    - OperationMethodNNPtr::identifiers
    linkageType: ''
    returnType: bool
    signature: "bool Transformation::isGeographic3DToGravityRelatedHeight(\n    const
      OperationMethodNNPtr &method, bool allowInverse)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _getHeightToGeographic3DFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2285,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2286,1
    - Dst: isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2288,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2288,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2290,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2293,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2283
    functionDepth: 3
    functionLinenumber: 2283
    functionLinenumberEnd: 2298
    functionName: '&Transformation::getHeightToGeographic3DFilename() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::type
    - method
    - parameterValue
    - auto::valueFile
    - isGeographic3DToGravityRelatedHeight
    - _getHeightToGeographic3DFilename
    linkageType: ''
    returnType: std::string
    signature: std::string &Transformation::getHeightToGeographic3DFilename() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2309,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2309,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2311,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2312,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2313,1
    - Dst: CoordinateOperationNNPtr::remarks
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2316,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2317,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2318,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2321,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2304
    functionDepth: 2
    functionLinenumber: 2304
    functionLinenumberEnd: 2324
    functionName: createSimilarPropertiesOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - CoordinateOperationNNPtr::nameStr
    - addModifiedIdentifier
    - util::PropertyMap::set
    - CoordinateOperationNNPtr::get
    - addDomains
    - CoordinateOperationNNPtr::remarks
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createSimilarPropertiesOperation(const CoordinateOperationNNPtr
      &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2335,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2337,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2338,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - properties
    - sourceCRSIn
    - targetCRSIn
    - filename
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - std::string
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2330
    functionDepth: 3
    functionLinenumber: 2330
    functionLinenumberEnd: 2342
    functionName: createNTv1
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - createOpParamNameEPSGCode
    - createMethodMapNameEPSGCode
    - Transformation::create
    - ParameterValue::createFilename
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr createNTv1(const util::PropertyMap &properties,\n
      \          const crs::CRSNNPtr &sourceCRSIn, const crs::CRSNNPtr &targetCRSIn,\n
      \          const std::string &filename,\n           const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: common::IdentifiedObjectNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2352,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2353,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2354,1
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2358,1
    - Dst: common::IdentifiedObjectNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2359,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2360,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2361,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2362,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2364,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2364,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2366,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - common::IdentifiedObjectNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2348
    functionDepth: 2
    functionLinenumber: 2348
    functionLinenumberEnd: 2372
    functionName: createSimilarPropertiesMethod
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - common::IdentifiedObjectNNPtr::nameStr
    - std::string::empty
    - code
    - PropertyMap::PropertyMap
    - Identifier::create
    - ArrayOfBaseObject::create
    - auto::add
    - util::PropertyMap::set
    - common::IdentifiedObjectNNPtr::identifiers
    - codeSpace
    - auto::empty
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createSimilarPropertiesMethod(common::IdentifiedObjectNNPtr
      obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - methodEPSGCode
    - reverseOffsetSign
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2395
    functionName: isRegularVerticalGridMethod
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool isRegularVerticalGridMethod(int methodEPSGCode,\n                                        bool
      &reverseOffsetSign)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2404,1
    - Dst: std::dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2404,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2405,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2407,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2408,1
    - Dst: _getNTv1Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2414,1
    - Dst: _getNTv2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2415,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2421,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2424,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2427,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2429,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2430,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2433,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2434,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2436,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2438,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2438,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2444,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2450,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2451,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2453,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2456,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2458,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2459,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2460,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2464,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2464,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2467,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2469,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2476,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2478,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2479,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2479,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2486,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2487,1
    - Dst: createNTv1
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2493,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2493,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2494,1
    - Dst: createNTv1
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2499,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2499,1
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2505,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2506,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2506,1
    - Dst: Transformation::createNTv2
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2511,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2512,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2516,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2519,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2522,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2524,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2525,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2525,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2532,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2533,1
    - Dst: Transformation::isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2540,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2540,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2542,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2545,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2546,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2547,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2551,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2560,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2561,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2563,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2567,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2570,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2571,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2572,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2575,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2578,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2579,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2580,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2582,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2582,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2584,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2589,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2590,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2592,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2592,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2593,1
    - Dst: _getGeocentricTranslationFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2600,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2601,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2602,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2607,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2616,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2617,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2619,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2622,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2624,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2625,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2626,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2629,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2630,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2631,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2633,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2633,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2634,1
    - Dst: _getGeographic3DOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2639,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2640,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2641,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2646,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2655,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2656,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2658,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2661,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2663,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2664,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2665,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2668,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2669,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2670,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2672,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2672,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2673,1
    - Dst: _getVerticalOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2678,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2679,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2680,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2685,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2694,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2695,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2697,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2700,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2702,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2703,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2704,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2707,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2708,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2709,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2711,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2711,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2712,1
    - Dst: isRegularVerticalGridMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2718,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2720,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2724,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2728,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2730,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2731,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2736,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2743,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2744,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2746,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2753,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2754,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2756,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2758,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2760,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2761,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2762,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2764,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2764,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2766,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2769,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2770,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2772,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2772,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2773,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2801,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2804,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2806,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2807,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2813,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2820,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2821,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2823,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2827,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2830,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2831,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2833,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2836,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2838,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2839,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2840,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2842,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2842,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2844,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2847,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2848,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2850,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2850,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2851,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2864,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2867,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2868,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2869,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2873,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2877,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2881,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2882,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2884,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2887,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2889,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2890,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2894,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2896,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2897,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2899,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2902,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2903,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2904,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2906,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2907,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2909,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2909,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2912,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2913,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2915,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2915,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2916,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2925,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2928,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2931,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2932,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2933,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2936,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2937,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2938,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2942,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2946,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2947,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2951,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2952,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2954,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2957,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2959,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2960,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2964,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2966,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2967,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2969,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2972,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2973,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2974,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2976,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2977,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2979,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2981,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2982,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2984,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2984,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2987,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2988,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2990,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2990,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:2991,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 232
    argCount: 1
    argNames:
    - databaseContext
    argTypes:
    - io::DatabaseContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2402
    functionDepth: 4
    functionLinenumber: 2402
    functionLinenumberEnd: 2996
    functionName: SingleOperation::substitutePROJAlternativeGridNames
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - method
    - _getGeocentricTranslationFilename
    - PropertyMap::PropertyMap
    - coordinateOperationAccuracies
    - Transformation::isGeographic3DToGravityRelatedHeight
    - auto::parameter
    - UnsupportedOperationException::UnsupportedOperationException
    - NN_NO_CHECK
    - parameterValue
    - Transformation::create
    - createSimilarPropertiesOperation
    - std::dynamic_pointer_cast<Transformation>
    - createSimilarPropertiesMethod
    - interpolationCRS
    - _getNTv2Filename
    - shared_from_this
    - _getVerticalOffsetByVelocityGridFilename
    - createPropertiesForInverse
    - createNTv1
    - auto::as_nullable
    - parameterValues
    - auto::getEPSGCode
    - io::DatabaseContextNNPtr::lookForGridAlternative
    - isRegularVerticalGridMethod
    - std::vector::push_back
    - _getGeographic3DOffsetByVelocityGridFilename
    - auto::valueFile
    - Transformation::createNTv2
    - OperationParameter::create
    - get
    - _getNTv1Filename
    - auto::empty
    - createOpParamNameEPSGCode
    - auto::parameterValue
    - targetCRS
    - auto::type
    - sourceCRS
    - dynamic_cast<const OperationParameterValue *>
    - ParameterValue::createFilename
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr SingleOperation::substitutePROJAlternativeGridNames(\n
      \   io::DatabaseContextNNPtr databaseContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 3001
    functionDepth: 0
    functionLinenumber: 3001
    functionLinenumberEnd: 3001
    functionName: InvalidOperation::InvalidOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidOperation::InvalidOperation(const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3006
    functionName: InvalidOperation::InvalidOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidOperation::InvalidOperation(const std::string &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3010
    functionName: InvalidOperation::InvalidOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidOperation::InvalidOperation(const InvalidOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3014
    functionName: InvalidOperation::~InvalidOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvalidOperation::~InvalidOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3023,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3028,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3033,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3035,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3036,1
    - Dst: ParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - methodEPSGCode
    - crsEPSGCode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3019
    functionDepth: 2
    functionLinenumber: 3019
    functionLinenumberEnd: 3038
    functionName: SingleOperation::createOperationParameterValueFromInterpolationCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - OperationParameterValue::create
    - OperationParameter::create
    - ParameterValue::create
    - util::PropertyMap::set
    linkageType: ''
    returnType: GeneralParameterValueNNPtr
    signature: "GeneralParameterValueNNPtr SingleOperation::createOperationParameterValueFromInterpolationCRS(\n
      \   int methodEPSGCode, int crsEPSGCode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3044,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3046,1
    - Dst: io::WKTFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3050,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3051,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3052,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3054,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3055,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3058,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3058,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3060,1
    - Dst: operationVersion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3061,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3062,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3063,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3064,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3065,1
    - Dst: io::WKTFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3069,1
    - Dst: exportSourceCRSAndTargetCRSToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3070,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3073,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3074,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3077,1
    - Dst: dynamic_cast<const OperationParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3079,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3079,1
    - Dst: auto::parameter
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3081,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3087,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3090,1
    - Dst: io::WKTFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3091,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3095,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3097,1
    - Dst: SingleOperation::createOperationParameterValueFromInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3098,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3105,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3106,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3107,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3110,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3111,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3112,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3112,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3112,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3113,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3117,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3118,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3042
    functionDepth: 3
    functionLinenumber: 3042
    functionLinenumberEnd: 3119
    functionName: SingleOperation::exportTransformationToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - exportSourceCRSAndTargetCRSToWKT
    - method
    - coordinateOperationAccuracies
    - auto::parameter
    - nameStr
    - SingleOperation::createOperationParameterValueFromInterpolationCRS
    - operationVersion
    - FormattingException::FormattingException
    - auto::has_value
    - interpolationCRS
    - value
    - io::WKTFormatter*::addQuotedString
    - auto::getEPSGCode
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::version
    - get
    - io::WKTFormatter*::use2019Keywords
    - io::WKTFormatter*::abridgedTransformation
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - _exportToWKT
    - ObjectUsage::baseExportToWKT
    - parameterValues
    - dynamic_cast<const OperationParameterValue *>
    linkageType: ''
    returnType: void
    signature: "void SingleOperation::exportTransformationToWKT(\n    io::WKTFormatter
      *formatter) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3130,1
    - Dst: util::nn_dynamic_pointer_cast<crs::CompoundCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3132,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3134,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3135,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3136,1
    - Dst: util::nn_dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3140,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3144,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3145,1
    - Dst: util::nn_dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3150,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3152,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3128
    functionDepth: 1
    functionLinenumber: 3128
    functionLinenumberEnd: 3158
    functionName: extractGeographicCRSIfGeographicCRSOrEquivalent
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - util::nn_dynamic_pointer_cast<crs::CompoundCRS>
    - auto::componentReferenceSystems
    - util::nn_dynamic_pointer_cast<crs::GeographicCRS>
    - auto::baseCRS
    - util::nn_dynamic_pointer_cast<crs::BoundCRS>
    - auto::empty
    linkageType: ''
    returnType: crs::GeographicCRSPtr
    signature: crs::GeographicCRSPtr extractGeographicCRSIfGeographicCRSOrEquivalent(const
      crs::CRSNNPtr &crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3164,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3164,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - trfrm_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3162
    functionDepth: 1
    functionLinenumber: 3162
    functionLinenumberEnd: 3167
    functionName: ThrowExceptionNotGeodeticGeographic
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - FormattingException::FormattingException
    - concat
    linkageType: ''
    returnType: void
    signature: void ThrowExceptionNotGeodeticGeographic(const char *trfrm_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3174,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3176,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3177,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3178,1
    - Dst: util::isOfExactType<crs::DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3179,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3180,1
    - Dst: dynamic_cast<const crs::DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3182,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3183,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3187,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3188,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3190,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3194,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3195,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3198,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3199,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3201,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3201,1
    - Dst: ThrowExceptionNotGeodeticGeographic
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3203,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3205,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3206,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - formatter
    - crs
    - addPushV3
    - trfrm_name
    argTypes:
    - io::PROJStringFormatter*
    - crs::CRSNNPtr
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 3171
    functionDepth: 2
    functionLinenumber: 3171
    functionLinenumberEnd: 3209
    functionName: setupPROJGeodeticSourceCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - dynamic_cast<const crs::DerivedGeographicCRS *>
    - auto::ellipsoid
    - auto::baseCRS
    - extractGeographicCRSIfGeographicCRSOrEquivalent
    - auto::addGeocentricUnitConversionIntoPROJString
    - auto::_exportToPROJString
    - io::PROJStringFormatter*::addParam
    - dynamic_cast<const crs::GeodeticCRS *>
    - io::PROJStringFormatter*::stopInversion
    - io::PROJStringFormatter*::addStep
    - crs::CRSNNPtr::get
    - io::PROJStringFormatter*::startInversion
    - ThrowExceptionNotGeodeticGeographic
    - util::isOfExactType<crs::DerivedGeographicCRS>
    linkageType: ''
    returnType: void
    signature: "void setupPROJGeodeticSourceCRS(io::PROJStringFormatter *formatter,\n
      \                                      const crs::CRSNNPtr &crs, bool addPushV3,\n
      \                                      const char *trfrm_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3215,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3217,1
    - Dst: io::PROJStringFormatter*::setCurrentStepInverted
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3218,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3219,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3222,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3223,1
    - Dst: util::isOfExactType<crs::DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3225,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3226,1
    - Dst: dynamic_cast<const crs::DerivedGeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3231,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3232,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3233,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3236,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3238,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3238,1
    - Dst: ThrowExceptionNotGeodeticGeographic
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3240,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - formatter
    - crs
    - addPopV3
    - trfrm_name
    argTypes:
    - io::PROJStringFormatter*
    - crs::CRSNNPtr
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3212
    functionDepth: 2
    functionLinenumber: 3212
    functionLinenumberEnd: 3244
    functionName: setupPROJGeodeticTargetCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - auto::ellipsoid
    - dynamic_cast<const crs::DerivedGeographicCRS *>
    - io::PROJStringFormatter*::setCurrentStepInverted
    - extractGeographicCRSIfGeographicCRSOrEquivalent
    - auto::baseCRS
    - auto::addGeocentricUnitConversionIntoPROJString
    - auto::_exportToPROJString
    - io::PROJStringFormatter*::addParam
    - dynamic_cast<const crs::GeodeticCRS *>
    - io::PROJStringFormatter*::addStep
    - crs::CRSNNPtr::get
    - ThrowExceptionNotGeodeticGeographic
    - util::isOfExactType<crs::DerivedGeographicCRS>
    linkageType: ''
    returnType: void
    signature: "void setupPROJGeodeticTargetCRS(io::PROJStringFormatter *formatter,\n
      \                                      const crs::CRSNNPtr &crs, bool addPopV3,\n
      \                                      const char *trfrm_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3254,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3254,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3259,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3260,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3260,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3265,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3266,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3267,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3268,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3269,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3270,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3271,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3272,1
    - Dst: fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3273,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3274,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3275,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3277,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3278,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3279,1
    - Dst: fabs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3280,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3281,1
    - Dst: conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3282,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3283,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3284,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3285,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3287,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - formatter
    - convFactor
    argTypes:
    - io::PROJStringFormatter*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3251
    functionDepth: 2
    functionLinenumber: 3251
    functionLinenumberEnd: 3290
    functionName: SingleOperation::exportToPROJStringChangeVerticalUnit
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - conversionToSI
    - std::string::empty
    - fabs
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::addStep
    - AuthorityFactory::createUnitOfMeasure
    - std::string
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void SingleOperation::exportToPROJStringChangeVerticalUnit(\n    io::PROJStringFormatter
      *formatter, double convFactor)"
  - BBCount: 217
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3296,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3299,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3300,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3301,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3302,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3303,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3304,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3308,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3309,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3310,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3311,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3312,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3313,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3314,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3319,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3321,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3322,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3323,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3325,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3326,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3327,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3328,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3330,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3332,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3334,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3336,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3338,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3342,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3343,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3344,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3345,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3346,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3347,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3348,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3349,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3350,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3351,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3352,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3353,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3354,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3361,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3365,1
    - Dst: parameterValueMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3369,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3372,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3378,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3379,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3380,1
    - Dst: cos
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3380,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3381,1
    - Dst: sin
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3381,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3382,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3383,1
    - Dst: sin
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3383,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3384,1
    - Dst: cos
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3384,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3389,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3390,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3391,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3393,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3393,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3395,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3395,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3398,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3398,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3400,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3400,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3401,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3403,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3404,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3405,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3406,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3406,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3408,1
    - Dst: auto::exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3410,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3411,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3412,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3412,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3414,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3424,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3424,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3427,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3427,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3429,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3430,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3436,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3436,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3439,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3439,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3441,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3442,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3449,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3451,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3452,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3454,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3459,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3460,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3461,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3463,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3469,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3475,1
    - Dst: SingleOperation::exportToPROJStringChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3477,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3482,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3483,1
    - Dst: io::PROJStringFormatter*::setCoordinateOperationOptimizations
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3487,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3494,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3495,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3496,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3497,1
    - Dst: isTimeDependent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3498,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3500,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3501,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3503,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3504,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3551,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3564,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3566,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3568,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3570,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3571,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3573,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3573,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3575,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3575,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3578,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3578,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3581,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3581,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3584,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3586,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3592,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3595,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3599,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3599,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3604,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3605,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3606,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3610,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3611,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3612,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3620,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3621,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3624,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3626,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3627,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3628,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3629,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3632,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3635,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3638,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3641,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3643,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3644,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3645,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3646,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3648,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3651,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3654,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3657,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3660,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3663,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3666,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3670,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3672,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3673,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3674,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3675,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3676,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3677,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3678,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3679,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3682,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3684,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3689,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3690,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3694,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3694,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3722,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3724,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3726,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3727,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3729,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3731,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3734,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3737,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3739,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3741,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3750,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3752,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3752,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3756,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3757,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3758,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3759,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3760,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3761,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3762,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3763,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3764,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3765,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3766,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3768,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3770,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3773,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3775,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3775,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3785,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3787,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3789,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3790,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3792,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3796,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3796,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3798,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3803,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3803,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3805,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3809,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3810,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3811,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3813,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3814,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3815,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3816,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3817,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3818,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3819,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3821,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3823,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3826,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3833,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3836,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3839,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3841,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3842,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3845,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3849,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3851,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3852,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3855,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3859,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3860,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3861,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3864,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3865,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3866,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3869,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3876,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3879,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3882,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3885,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3885,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3888,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3888,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3890,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3891,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3894,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3900,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3900,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3903,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3903,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3905,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3906,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3909,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3914,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3915,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3916,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3919,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3920,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3921,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3922,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3925,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3932,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3935,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3938,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3941,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3941,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3944,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3944,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3946,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3949,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3956,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3956,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3959,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3959,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3961,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3964,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3970,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3971,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3972,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3975,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3976,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3977,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3978,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3981,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3987,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3989,1
    - Dst: dynamic_cast<const crs::EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3994,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3994,1
    - Dst: dynamic_cast<cs::CartesianCS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3996,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3997,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:3999,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4003,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4003,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4004,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4008,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4013,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4019,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4021,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4021,1
    - Dst: checkIfCompatEngineeringCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4023,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4026,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4028,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4028,1
    - Dst: checkIfCompatEngineeringCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4030,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4034,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4035,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4036,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4040,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4041,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4042,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4046,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4054,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4055,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4058,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4060,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4062,1
    - Dst: SingleOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4062,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4063,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4063,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4065,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4065,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4066,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4066,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4069,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4071,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4075,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4077,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4082,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4084,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4085,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4086,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4089,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4090,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4093,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4102,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4104,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4105,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4105,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4107,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4109,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4115,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4118,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4121,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4125,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4129,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4129,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4132,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4133,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4136,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4138,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4139,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4139,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4141,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4143,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4149,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4151,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4152,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4153,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4156,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4159,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4167,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4168,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4171,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4173,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4175,1
    - Dst: SingleOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4175,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4176,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4176,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4178,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4178,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4179,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4179,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4182,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4184,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4188,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4190,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4195,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4198,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4201,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4203,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4206,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4209,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4210,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4211,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4213,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4214,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4215,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4216,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4217,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4218,1
    - Dst: auto::addLinearUnitConvert
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4220,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4226,1
    - Dst: SingleOperation::substitutePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4227,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4228,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4228,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4229,1
    - Dst: std::dynamic_pointer_cast<Transformation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4229,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4230,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4233,1
    - Dst: _getNTv1Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4238,1
    - Dst: _getNTv2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4239,1
    - Dst: _getCTABLE2Filename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4240,1
    - Dst: _getHorizontalShiftGTIFFFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4242,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4243,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4245,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4246,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4248,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4249,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4251,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4252,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4255,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4256,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4259,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4261,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4262,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4265,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4266,1
    - Dst: io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4269,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4270,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4271,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4272,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4276,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4278,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4280,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4281,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4282,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4285,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4288,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4289,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4291,1
    - Dst: io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4294,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4295,1
    - Dst: _getGeocentricTranslationFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4302,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4303,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4305,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4305,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4307,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4308,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4312,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4312,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4314,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4315,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4318,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4320,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4325,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4326,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4328,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4329,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4332,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4338,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4339,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4340,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4343,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4346,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4347,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4349,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4350,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4352,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4353,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4354,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4356,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4360,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4361,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4362,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4363,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4365,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4366,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4369,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4372,1
    - Dst: _getGeographic3DOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4378,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4379,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4381,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4381,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4383,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4384,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4388,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4388,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4390,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4391,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4398,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4398,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4400,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4401,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4405,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4405,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4407,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4408,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4414,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4416,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4421,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4422,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4422,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4424,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4425,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4425,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4428,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4434,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4435,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4436,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4439,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4444,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4446,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4449,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4450,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4453,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4454,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4456,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4459,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4461,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4463,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4464,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4465,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4469,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4470,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4471,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4472,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4475,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4476,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4480,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4483,1
    - Dst: _getVerticalOffsetByVelocityGridFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4489,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4490,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4492,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4494,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4501,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4501,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4503,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4504,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4509,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4509,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4511,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4511,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4516,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4516,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4517,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4518,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4525,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4525,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4527,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4527,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4532,1
    - Dst: io::PROJStringFormatter*::databaseContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4532,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4533,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4534,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4541,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4543,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4546,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4548,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4549,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4550,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4552,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4553,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4555,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4556,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4557,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4558,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4560,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4561,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4562,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4563,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4565,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4566,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4567,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4570,1
    - Dst: _getHeightToGeographic3DFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4576,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4577,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4578,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4580,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4581,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4584,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4585,1
    - Dst: io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4588,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4589,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4590,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4591,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4592,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4593,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4597,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4599,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4600,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4601,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4603,1
    - Dst: io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4606,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4607,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4608,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4609,1
    - Dst: Transformation::isGeographic3DToGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4615,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4615,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4617,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4620,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4621,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4623,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4625,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4626,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4629,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4630,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4633,1
    - Dst: auto::extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4635,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4637,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4638,1
    - Dst: io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4642,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4643,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4644,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4645,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4646,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4647,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4654,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4659,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4659,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4661,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4662,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4665,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4666,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4667,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4669,1
    - Dst: io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4672,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4673,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4674,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4675,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4684,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4687,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4688,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4689,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4689,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4690,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4691,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4696,1
    - Dst: isRegularVerticalGridMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4703,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4705,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4709,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4713,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4714,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4715,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4715,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4716,1
    - Dst: SingleOperation::isLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4721,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4723,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4725,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4727,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4728,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4731,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4732,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4735,1
    - Dst: extractGeographicCRSIfGeographicCRSOrEquivalent
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4737,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4738,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4741,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4742,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4745,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4746,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4749,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4754,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4755,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4756,1
    - Dst: PrimeMeridian::getPROJStringWellKnownName
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4763,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4764,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4765,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4767,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4768,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4769,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4775,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4776,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4777,1
    - Dst: PrimeMeridian::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4778,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4778,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4779,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4781,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4784,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4791,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4791,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4793,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4794,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4798,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4798,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4800,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4801,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4805,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4808,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4810,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4811,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4812,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4815,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4816,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4817,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4822,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4823,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4824,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4833,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4834,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4838,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4843,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4844,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4845,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4845,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4846,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4849,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4853,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4854,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4857,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4866,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4866,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4868,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4869,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4873,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4873,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4875,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4876,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4880,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4883,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4885,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4886,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4887,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4890,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4893,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4894,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4894,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4897,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4900,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4909,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4909,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4911,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4911,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4916,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4917,1
    - Dst: hasDegreeUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4920,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4921,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4922,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4927,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4927,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4929,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4929,1
    - Dst: hasDegreeUnit
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4933,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4934,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4935,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4940,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4943,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4945,1
    - Dst: auto::addAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4946,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4947,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4950,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4953,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4954,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4954,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4957,1
    - Dst: auto::addAxisSwap
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4960,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4969,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4969,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4971,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4972,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4976,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4976,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4978,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4979,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4983,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4987,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4990,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4993,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4994,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4994,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:4997,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5006,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5007,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5009,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5009,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5011,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5011,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5012,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5013,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5014,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5016,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5017,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5018,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5022,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5025,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5026,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5031,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5035,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5035,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5039,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5041,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5043,1
    - Dst: SingleOperation::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5045,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5047,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5048,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5049,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5051,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5053,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5055,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5058,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5060,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5061,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5062,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5063,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5064,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5066,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5069,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5070,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5073,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5077,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5078,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5082,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5084,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5086,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5089,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5092,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5092,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5093,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5096,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5096,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5101,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5109,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5110,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5112,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5112,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5114,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5114,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5115,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5116,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5117,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5119,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5120,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5121,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5125,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5128,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5129,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5134,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5138,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5138,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5143,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5144,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5147,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5151,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5152,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5155,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5158,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5159,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5161,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5163,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5165,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5165,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5166,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5167,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5170,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5170,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5175,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5183,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5184,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5186,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5186,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5188,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5188,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5189,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5190,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5191,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5193,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5194,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5195,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5199,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5202,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5203,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5208,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5211,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5212,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5217,1
    - Dst: setupPROJGeodeticSourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5221,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5221,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5226,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5227,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5230,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5234,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5235,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5238,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5241,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5242,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5242,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5244,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5246,1
    - Dst: SingleOperation::parameterValueNumeric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5248,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5250,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5252,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5252,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5253,1
    - Dst: setupPROJGeodeticTargetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5256,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5256,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5261,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5268,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5268,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5269,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5269,1
    - Dst: io::PROJStringFormatter*::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5271,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5274,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5275,1
    - Dst: what
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5275,1
    CyclomaticComplexity: 391
    EdgeCount: 391
    ICount: 930
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 3294
    functionDepth: 5
    functionLinenumber: 3294
    functionLinenumberEnd: 5280
    functionName: SingleOperation::exportToPROJStringGeneric
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - sourceCoordinateEpoch
    - dynamic_cast<crs::GeographicCRS *>
    - auto::datumNonNull
    - PrimeMeridian::create
    - SingleOperation::substitutePROJAlternativeGridNames
    - std::string
    - auto::componentReferenceSystems
    - io::PROJStringFormatter*::omitHorizontalConversionInVertTransformation
    - isRegularVerticalGridMethod
    - _getGeographic3DOffsetByVelocityGridFilename
    - auto::find
    - ci_find
    - dynamic_cast<const crs::EngineeringCRS *>
    - io::PROJStringFormatter*::popOmitZUnitConversion
    - targetCoordinateEpoch
    - auto::isGeocentric
    - starts_with
    - _getNTv1Filename
    - auto::_exportToPROJString
    - dynamic_cast<const crs::CompoundCRS *>
    - targetCRS
    - parameterValues
    - SingleOperation::parameterValueNumeric
    - sourceCRS
    - auto::valueFile
    - auto::addLinearUnitConvert
    - auto::addUnitConvertAndAxisSwap
    - method
    - setupPROJGeodeticSourceCRS
    - Transformation::isGeographic3DToGravityRelatedHeight
    - NN_NO_CHECK
    - parameterValue
    - SingleOperation::exportToPROJStringChangeVerticalUnit
    - auto::has_value
    - auto::convertToUnit
    - strlen
    - what
    - auto::extractGeographicCRS
    - auto::exportToPROJString
    - concat
    - ci_equal
    - io::PROJStringFormatter*::databaseContext
    - auto::conversionToSI
    - sin
    - auto::ellipsoid
    - cos
    - get
    - io::PROJStringFormatter*::setCoordinateOperationOptimizations
    - FormattingException::FormattingException
    - auto::get
    - _getGeocentricTranslationFilename
    - auto::coordinateSystem
    - checkIfCompatEngineeringCRS
    - PropertyMap::PropertyMap
    - getRoundedEpochInDecimalYear
    - dynamic_cast<cs::CartesianCS *>
    - dynamic_cast<const crs::GeographicCRS *>
    - std::dynamic_pointer_cast<Transformation>
    - interpolationCRS
    - _getNTv2Filename
    - shared_from_this
    - _getCTABLE2Filename
    - io::PROJStringFormatter*::addStep
    - auto::addAxisSwap
    - SingleOperation::isLongitudeRotation
    - direction
    - dynamic_cast<const crs::BoundCRS *>
    - unit
    - ellipsoid
    - _getHorizontalShiftGTIFFFilename
    - createAngle
    - dynamic_cast<const crs::GeodeticCRS *>
    - SingleOperation::parameterValueNumericAsSI
    - _getHeightToGeographic3DFilename
    - setupPROJGeodeticTargetCRS
    - dynamic_cast<const crs::ProjectedCRS *>
    - auto::empty
    - hasDegreeUnit
    - dynamic_cast<const crs::VerticalCRS *>
    - auto::baseCRS
    - isAxisOrderReversal
    - io::PROJStringFormatter*::stopInversion
    - auto::addAngularUnitConvertAndAxisSwap
    - auto::extractVerticalCRS
    - coordinateSystem
    - auto::nameStr
    - auto::_isEquivalentTo
    - _getVerticalOffsetByVelocityGridFilename
    - io::PROJStringFormatter*::pushOmitZUnitConversion
    - PrimeMeridian::getPROJStringWellKnownName
    - io::PROJStringFormatter*::ingestPROJString
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::startInversion
    - isTimeDependent
    - SingleOperation::_isEquivalentTo
    - extractGeographicCRSIfGeographicCRSOrEquivalent
    - parameterValueMeasure
    - auto::type
    - auto::axisList
    linkageType: ''
    returnType: bool
    signature: "bool SingleOperation::exportToPROJStringGeneric(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5286
      start: 5286
    functionDepth: 0
    functionLinenumber: 5286
    functionLinenumberEnd: 5286
    functionName: InverseCoordinateOperation::~InverseCoordinateOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InverseCoordinateOperation::~InverseCoordinateOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - forwardOperationIn
    - wktSupportsInversion
    argTypes:
    - CoordinateOperationNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5294
      start: 5290
    functionDepth: 0
    functionLinenumber: 5290
    functionLinenumberEnd: 5294
    functionName: InverseCoordinateOperation::InverseCoordinateOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InverseCoordinateOperation::InverseCoordinateOperation(\n    const
      CoordinateOperationNNPtr &forwardOperationIn,\n    bool wktSupportsInversion)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5299,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5300,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5300,1
    - Dst: setAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5301,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5301,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5302,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5302,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5303,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5303,1
    - Dst: setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5305,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5306,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5307,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5308,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5309,1
    - Dst: setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5310,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5312,1
    - Dst: setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5315
      start: 5298
    functionDepth: 1
    functionLinenumber: 5298
    functionLinenumberEnd: 5315
    functionName: InverseCoordinateOperation::setPropertiesFromForward
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - setHasBallparkTransformation
    - setRequiresPerCoordinateInputTime
    - get
    - setTargetCoordinateEpoch
    - setAccuracies
    - coordinateOperationAccuracies
    - sourceCoordinateEpoch
    - createPropertiesForInverse
    - setProperties
    - setSourceCoordinateEpoch
    - targetCoordinateEpoch
    - requiresPerCoordinateInputTime
    - targetCRS
    - sourceCRS
    - setCRSs
    - hasBallparkTransformation
    linkageType: ''
    returnType: void
    signature: void InverseCoordinateOperation::setPropertiesFromForward()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5321
      start: 5319
    functionDepth: 0
    functionLinenumber: 5319
    functionLinenumberEnd: 5321
    functionName: InverseCoordinateOperation::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr InverseCoordinateOperation::inverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5327,1
    - Dst: InverseCoordinateOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5328,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5325
    functionDepth: 0
    functionLinenumber: 5325
    functionLinenumberEnd: 5330
    functionName: InverseCoordinateOperation::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - io::PROJStringFormatter*::stopInversion
    - InverseCoordinateOperation::_exportToPROJString
    - io::PROJStringFormatter*::startInversion
    linkageType: ''
    returnType: void
    signature: "void InverseCoordinateOperation::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5337,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5339,1
    - Dst: InverseCoordinateOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5342,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5334
    functionDepth: 0
    functionLinenumber: 5334
    functionLinenumberEnd: 5344
    functionName: InverseCoordinateOperation::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::inverse
    - dynamic_cast<const InverseCoordinateOperation *>
    - InverseCoordinateOperation::inverse
    - ObjectUsage::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool InverseCoordinateOperation::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5351
    functionName: PointMotionOperation::~PointMotionOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointMotionOperation::~PointMotionOperation()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::parameters
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5373,1
    - Dst: std::vector<GeneralParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5373,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5374,1
    - Dst: PointMotionOperation::nn_make_shared<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5377,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5379,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5380,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5382,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5383,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5385,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5386,1
    - Dst: std::stod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5388,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5388,1
    - Dst: std::stod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5390,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5390,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5390,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5391,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5392,1
    - Dst: DataEpoch::DataEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5392,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5393,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5394,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5395,1
    - Dst: DataEpoch::DataEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5395,1
    - Dst: AuthorityFactory::createUnitOfMeasure
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - properties
    - crsIn
    - methodIn
    - values
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - OperationMethodNNPtr
    - std::vector<GeneralParameterValueNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5401
      start: 5368
    functionDepth: 2
    functionLinenumber: 5368
    functionLinenumberEnd: 5401
    functionName: PointMotionOperation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 6
    functionsReached:
    - auto::nameStr
    - PointMotionOperation::nn_make_shared<PointMotionOperation>
    - std::vector<GeneralParameterValueNNPtr>::size
    - OperationMethodNNPtr::parameters
    - std::string::substr
    - DataEpoch::DataEpoch
    - InvalidOperation
    - auto::setProperties
    - std::string::find
    - auto::setSourceCoordinateEpoch
    - util::optional<common::DataEpoch>
    - auto::assignSelf
    - strlen
    - AuthorityFactory::createUnitOfMeasure
    - std::stod
    - auto::setTargetCoordinateEpoch
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: "PointMotionOperationNNPtr PointMotionOperation::create(\n    const
      util::PropertyMap &properties, const crs::CRSNNPtr &crsIn,\n    const OperationMethodNNPtr
      &methodIn,\n    const std::vector<GeneralParameterValueNNPtr> &values,\n    const
      std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<OperationParameterNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5432,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5432,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5433,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5437,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5437,1
    - Dst: std::vector<ParameterValueNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5438,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5439,1
    - Dst: OperationParameterValue::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5440,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - propertiesOperation
    - crsIn
    - propertiesOperationMethod
    - parameters
    - values
    - accuracies
    argTypes:
    - util::PropertyMap
    - crs::CRSNNPtr
    - util::PropertyMap
    - std::vector<OperationParameterNNPtr>
    - std::vector<ParameterValueNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5421
    functionDepth: 1
    functionLinenumber: 5421
    functionLinenumberEnd: 5444
    functionName: PointMotionOperation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 7
    functionsReached:
    - std::vector<OperationParameterNNPtr>::size
    - OperationParameterValue::create
    - std::vector::push_back
    - InvalidOperation
    - PointMotionOperation::create
    - std::vector::reserve
    - std::vector<ParameterValueNNPtr>::size
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: "PointMotionOperationNNPtr PointMotionOperation::create(\n    const
      util::PropertyMap &propertiesOperation, const crs::CRSNNPtr &crsIn,\n    const
      util::PropertyMap &propertiesOperationMethod,\n    const std::vector<OperationParameterNNPtr>
      &parameters,\n    const std::vector<ParameterValueNNPtr> &values,\n    const
      std::vector<metadata::PositionalAccuracyNNPtr>\n        &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setParameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5453,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5454,1
    - Dst: setAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - crsIn
    - methodIn
    - values
    - accuracies
    argTypes:
    - crs::CRSNNPtr
    - OperationMethodNNPtr
    - std::vector<GeneralParameterValueNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5448
    functionDepth: 0
    functionLinenumber: 5448
    functionLinenumberEnd: 5456
    functionName: PointMotionOperation::PointMotionOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - setAccuracies
    - setCRSs
    - setParameterValues
    linkageType: ''
    returnType: void
    signature: "void PointMotionOperation::PointMotionOperation(\n    const crs::CRSNNPtr
      &crsIn, const OperationMethodNNPtr &methodIn,\n    const std::vector<GeneralParameterValueNNPtr>
      &values,\n    const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - PointMotionOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5461
      start: 5460
    functionDepth: 0
    functionLinenumber: 5460
    functionLinenumberEnd: 5461
    functionName: PointMotionOperation::PointMotionOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointMotionOperation::PointMotionOperation(const PointMotionOperation
      &other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PointMotionOperation::shallowClone
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5466,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5467,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5469,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5469,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5470,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5470,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5472,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5473,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5475,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5477,1
    - Dst: auto::sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5478,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5480,1
    - Dst: auto::targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5481,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5485,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5487,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5489,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5493
      start: 5465
    functionDepth: 2
    functionLinenumber: 5465
    functionLinenumberEnd: 5493
    functionName: PointMotionOperation::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::nameStr
    - PointMotionOperation::shallowClone
    - auto::targetCoordinateEpoch
    - toString
    - sourceCoordinateEpoch
    - auto::find
    - auto::setProperties
    - auto::setSourceCoordinateEpoch
    - auto::resize
    - getRoundedEpochInDecimalYear
    - util::PropertyMap::set
    - auto::sourceCoordinateEpoch
    - auto::setTargetCoordinateEpoch
    - targetCoordinateEpoch
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr PointMotionOperation::inverse() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5503,1
    - Dst: std::dynamic_pointer_cast<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5503,1
    - Dst: shared_from_this
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5504,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5506,1
    - Dst: auto::getEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5507,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5527,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5529,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5530,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5537,1
    - Dst: io::DatabaseContextNNPtr::lookForGridAlternative
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5538,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5546,1
    - Dst: ParameterValue::createFilename
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5548,1
    - Dst: PointMotionOperation::create
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5549,1
    - Dst: createSimilarPropertiesOperation
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5550,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5550,1
    - Dst: createSimilarPropertiesMethod
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5551,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5551,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - databaseContext
    argTypes:
    - io::DatabaseContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5556
      start: 5500
    functionDepth: 3
    functionLinenumber: 5500
    functionLinenumberEnd: 5556
    functionName: PointMotionOperation::substitutePROJAlternativeGridNames
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::type
    - method
    - io::DatabaseContextNNPtr::lookForGridAlternative
    - shared_from_this
    - std::dynamic_pointer_cast<PointMotionOperation>
    - coordinateOperationAccuracies
    - createOpParamNameEPSGCode
    - NN_NO_CHECK
    - parameterValue
    - PointMotionOperation::create
    - createSimilarPropertiesOperation
    - auto::valueFile
    - auto::getEPSGCode
    - sourceCRS
    - createSimilarPropertiesMethod
    - ParameterValue::createFilename
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: "PointMotionOperationNNPtr PointMotionOperation::substitutePROJAlternativeGridNames(\n
      \   io::DatabaseContextNNPtr databaseContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation::getPrivate
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5566
      start: 5564
    functionDepth: 0
    functionLinenumber: 5564
    functionLinenumberEnd: 5566
    functionName: '&PointMotionOperation::sourceCRS()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperation::getPrivate
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: crs::CRSNNPtr &PointMotionOperation::sourceCRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointMotionOperation::nn_make_shared<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5574,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5575,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5578
      start: 5572
    functionDepth: 0
    functionLinenumber: 5572
    functionLinenumberEnd: 5578
    functionName: PointMotionOperation::shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - auto::assignSelf
    - auto::setCRSs
    - PointMotionOperation::nn_make_shared<PointMotionOperation>
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: PointMotionOperationNNPtr PointMotionOperation::shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5581,1
    - Dst: PointMotionOperation::shallowClone
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5582
      start: 5580
    functionDepth: 1
    functionLinenumber: 5580
    functionLinenumberEnd: 5582
    functionName: PointMotionOperation::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - util::nn_static_pointer_cast<CoordinateOperation>
    - PointMotionOperation::shallowClone
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr PointMotionOperation::_shallowClone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointMotionOperation::nn_make_shared<PointMotionOperation>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5590,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5592,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5593,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5595,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5596,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5597,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5598,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5600,1
    - Dst: common::DataEpoch::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5601,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5603,1
    - Dst: common::DataEpoch::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5604,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5607,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5609,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5611,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5613,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - sourceEpoch
    - targetEpoch
    argTypes:
    - common::DataEpoch
    - common::DataEpoch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5617
      start: 5586
    functionDepth: 2
    functionLinenumber: 5586
    functionLinenumberEnd: 5617
    functionName: PointMotionOperation::cloneWithEpochs
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::setCRSs
    - PointMotionOperation::nn_make_shared<PointMotionOperation>
    - toString
    - common::DataEpoch::coordinateEpoch
    - auto::setProperties
    - util::optional<common::DataEpoch>
    - auto::setSourceCoordinateEpoch
    - getRoundedEpochInDecimalYear
    - auto::assignSelf
    - nameStr
    - util::PropertyMap::set
    - auto::setTargetCoordinateEpoch
    linkageType: ''
    returnType: PointMotionOperationNNPtr
    signature: "PointMotionOperationNNPtr PointMotionOperation::cloneWithEpochs(\n
      \   const common::DataEpoch &sourceEpoch,\n    const common::DataEpoch &targetEpoch)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5622,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5623,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5624,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5628,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5629,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5631,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5631,1
    - Dst: operationVersion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5633,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5634,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5635,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5636,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5637,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5640,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5642,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5642,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5644,1
    - Dst: io::WKTFormatter*::pushDisableUsage
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5646,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5649,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5650,1
    - Dst: io::WKTFormatter*::pushHasId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5653,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5654,1
    - Dst: io::WKTFormatter*::popHasId
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5655,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5657,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5659,1
    - Dst: io::WKTFormatter*::popDisableUsage
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5662,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5665,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5666,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5668,1
    - Dst: PointMotionOperation::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5669,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5672,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5673,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5674,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5674,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5674,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5675,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5678,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5680
      start: 5621
    functionDepth: 2
    functionLinenumber: 5621
    functionLinenumberEnd: 5680
    functionName: PointMotionOperation::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - method
    - coordinateOperationAccuracies
    - nameStr
    - operationVersion
    - auto::has_value
    - value
    - parameterValues
    - io::WKTFormatter*::addQuotedString
    - io::WKTFormatter*::endNode
    - PointMotionOperation::_exportToWKT
    - io::WKTFormatter*::popHasId
    - io::WKTFormatter*::version
    - io::WKTFormatter*::popDisableUsage
    - io::WKTFormatter*::pushDisableUsage
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::use2019Keywords
    - domains
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - auto::identifiers
    - io::WKTFormatter*::pushHasId
    - ObjectUsage::baseExportToWKT
    - FormattingException::FormattingException
    - sourceCRS
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: void PointMotionOperation::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::convention
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5687,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5689,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5693,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5700,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5701,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5705,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5706,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5712,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5712,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5714,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5718,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5719,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5720,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5721,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5723,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5724,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5726,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5727,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5728,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5731,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5732,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5734,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5735,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5738,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5739,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5740,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5742,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5743,1
    - Dst: parameterValue
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5755,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5757,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5758,1
    - Dst: auto::valueFile
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5758,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5760,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5764,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5766,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5767,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5768,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5770,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5771,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5772,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5773,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5774,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5776,1
    - Dst: auto::addGeocentricUnitConversionIntoPROJString
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5778,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5782,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5786
      start: 5684
    functionDepth: 1
    functionLinenumber: 5684
    functionLinenumberEnd: 5786
    functionName: PointMotionOperation::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 0
    functionsReached:
    - io::PROJStringFormatter*::convention
    - method
    - sourceCoordinateEpoch
    - getRoundedEpochInDecimalYear
    - io::PROJStringFormatter*::stopInversion
    - parameterValue
    - FormattingException::FormattingException
    - auto::addGeocentricUnitConversionIntoPROJString
    - io::PROJStringFormatter*::addStep
    - io::PROJStringFormatter*::addParam
    - dynamic_cast<const crs::GeodeticCRS *>
    - io::PROJStringFormatter*::startInversion
    - targetCoordinateEpoch
    - auto::isGeocentric
    - auto::ellipsoid
    - auto::_exportToPROJString
    - auto::valueFile
    - auto::type
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: "void PointMotionOperation::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5793,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5794,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5795,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5797,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5798,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5799,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5800,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5802,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5805,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5806,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5807,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5809,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5810,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5811,1
    - Dst: method
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5812,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5814,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5816,1
    - Dst: parameterValues
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5817,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5818,1
    - Dst: io::JSONFormatter*::setOmitTypeInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5819,1
    - Dst: PointMotionOperation::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5820,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5824,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5825,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5826,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5826,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5826,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/operation/singleoperation.cpp:5829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5790
    functionDepth: 6
    functionLinenumber: 5790
    functionLinenumberEnd: 5830
    functionName: PointMotionOperation::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - value
    - method
    - io::JSONFormatter*::setOmitTypeInImmediateChild
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - auto::MakeArrayContext
    - PointMotionOperation::_exportToJSON
    - coordinateOperationAccuracies
    - nameStr
    - io::JSONFormatter*::setAllowIDInImmediateChild
    - io::JSONFormatter*::writer
    - ObjectUsage::baseExportToJSON
    - auto::AddObjKey
    - auto::empty
    - parameterValues
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: "void PointMotionOperation::_exportToJSON(\n    io::JSONFormatter *formatter)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:104,1
    - Dst: Conversion::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:108,1
    - Dst: InverseCoordinateOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:113,1
    - Dst: InverseCoordinateOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:121,1
    - Dst: InverseCoordinateOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:126,1
    - Dst: SingleOperation::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:139,1
    - Dst: InverseCoordinateOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:163,1
    - Dst: Transformation::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:167,1
    - Dst: InverseCoordinateOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:175,1
    - Dst: InverseCoordinateOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:180,1
    - Dst: SingleOperation::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 268
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - Transformation::_exportToJSON
    - Conversion::_exportToJSON
    - SingleOperation::gridsNeeded
    - InverseCoordinateOperation::_isEquivalentTo
    - InverseCoordinateOperation::_exportToPROJString
    - InverseCoordinateOperation::inverse
    - Conversion::_exportToWKT
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '&forwardOperation() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr &forwardOperation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: InverseConversion::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - Conversion::_exportToWKT
    linkageType: ''
    returnType: void
    signature: void _exportToWKT(io::WKTFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Conversion::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: InverseConversion::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - Conversion::_exportToJSON
    linkageType: ''
    returnType: void
    signature: void _exportToJSON(io::JSONFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseCoordinateOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: InverseConversion::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - InverseCoordinateOperation::_exportToPROJString
    linkageType: ''
    returnType: void
    signature: void _exportToPROJString(io::PROJStringFormatter *formatter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseCoordinateOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - util::IComparable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: InverseConversion::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - InverseCoordinateOperation::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(\n        const util::IComparable *other,\n        util::IComparable::Criterion
      criterion =\n            util::IComparable::Criterion::STRICT,\n        const
      io::DatabaseContextPtr &dbContext = nullptr) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseCoordinateOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: InverseConversion::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - InverseCoordinateOperation::inverse
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr inverse() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - databaseContext
    - considerKnownGridsAsAvailable
    argTypes:
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: InverseConversion::gridsNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - SingleOperation::gridsNeeded
    linkageType: ''
    returnType: std::set<GridDescription>
    signature: "std::set<GridDescription> gridsNeeded(const io::DatabaseContextPtr
      &databaseContext,\n                bool considerKnownGridsAsAvailable) const
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseCoordinateOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: InverseTransformation::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - InverseCoordinateOperation::_exportToPROJString
    linkageType: ''
    returnType: void
    signature: void _exportToPROJString(io::PROJStringFormatter *formatter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transformation::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: InverseTransformation::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - Transformation::_exportToJSON
    linkageType: ''
    returnType: void
    signature: void _exportToJSON(io::JSONFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseCoordinateOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - util::IComparable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: InverseTransformation::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - InverseCoordinateOperation::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool _isEquivalentTo(\n        const util::IComparable *other,\n        util::IComparable::Criterion
      criterion =\n            util::IComparable::Criterion::STRICT,\n        const
      io::DatabaseContextPtr &dbContext = nullptr) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InverseCoordinateOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: InverseTransformation::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - InverseCoordinateOperation::inverse
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr inverse() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SingleOperation::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - databaseContext
    - considerKnownGridsAsAvailable
    argTypes:
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: InverseTransformation::gridsNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached:
    - SingleOperation::gridsNeeded
    linkageType: ''
    returnType: std::set<GridDescription>
    signature: "std::set<GridDescription> gridsNeeded(const io::DatabaseContextPtr
      &databaseContext,\n                bool considerKnownGridsAsAvailable) const
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: PROJBasedOperation::PROJBasedOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJBasedOperation(const PROJBasedOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 98
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: VectorOfValues
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfValues()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<ParameterValueNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: VectorOfValues
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfValues(std::initializer_list<ParameterValueNNPtr> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: VectorOfValues
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfValues(const VectorOfValues &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: VectorOfValues
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfValues(VectorOfValues &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: VectorOfParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<OperationParameterNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: VectorOfParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VectorOfParameters(\n        std::initializer_list<OperationParameterNNPtr>
      list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: VectorOfParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorOfParameters(const VectorOfParameters &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp:51,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp:53,1
    - Dst: std::make_unique<CRSStrongRef>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 89
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<util::optional<common::DataEpoch>>
    - std::make_unique<CRSStrongRef>
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sourceCRSIn
    - targetCRSIn
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: CRSStrongRef
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRSStrongRef(const crs::CRSNNPtr &sourceCRSIn,\n                     const
      crs::CRSNNPtr &targetCRSIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRSStrongRef>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Private
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    functionUses: 55
    functionsReached:
    - std::make_unique<CRSStrongRef>
    linkageType: ''
    returnType: void
    signature: void Private(const Private &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&operator=(const Private &)'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Private
    signature: Private &operator=(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    functionName: operation::getEsriMappings
    functionSourceFile: /src/PROJ/src/iso19111/operation/esriparammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESRIMethodMapping
    signature: ESRIMethodMapping *getEsriMappings(size_t &nElts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/esriparammappings.cpp:1182,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/esriparammappings.cpp:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - esri_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1187
    functionName: operation::getMappingsFromESRI
    functionSourceFile: /src/PROJ/src/iso19111/operation/esriparammappings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ci_equal
    linkageType: ''
    returnType: std::vector<const ESRIMethodMapping *>
    signature: std::vector<const ESRIMethodMapping *> getMappingsFromESRI(const std::string
      &esri_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nElts
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    functionName: operation::getEsriMappings
    functionSourceFile: /src/PROJ/src/iso19111/operation/esriparammappings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESRIMethodMapping
    signature: ESRIMethodMapping *getEsriMappings(size_t &nElts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/esriparammappings.cpp:1182,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/esriparammappings.cpp:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - esri_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1187
    functionName: operation::getMappingsFromESRI
    functionSourceFile: /src/PROJ/src/iso19111/operation/esriparammappings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - ci_equal
    linkageType: ''
    returnType: std::vector<const ESRIMethodMapping *>
    signature: std::vector<const ESRIMethodMapping *> getMappingsFromESRI(const std::string
      &esri_name)
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:95,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:102,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:104,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:105,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:126,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:127,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:128,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:128,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:129,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:129,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:130,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:130,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:133,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:141,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:142,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:144,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:145,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:145,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:147,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:148,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:148,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:171,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:172,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:180,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:181,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:182,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:185,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:187,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:189,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:191,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:192,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:200,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:204,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:204,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:205,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:208,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:209,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:215,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:215,1
    - Dst: crs::CRSPtr::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:222,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:222,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:226,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:230,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:235,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:235,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:236,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:236,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:237,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:238,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:238,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:239,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:239,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:240,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:241,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:242,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:243,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:245,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:247,1
    - Dst: ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:251,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:253,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:254,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:255,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:256,1
    - Dst: auto::setAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:257,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:263,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:263,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:280,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:280,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:294,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:298,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:299,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:304,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:305,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:306,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:307,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:308,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:308,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:310,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:310,1
    - Dst: applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:311,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:313,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:313,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:319,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:320,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:321,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:322,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:323,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:323,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:325,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:325,1
    - Dst: applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:326,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:328,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:328,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:334,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:335,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:336,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:337,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:339,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:339,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:340,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:341,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:341,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:342,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:343,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:349,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:350,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:351,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:352,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:354,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:354,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:355,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:356,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:356,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:357,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:358,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:364,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:367,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:369,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:370,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:377,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:379,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:380,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:381,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:381,1
    - Dst: extractDerivedCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:383,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:383,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:384,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:386,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:390,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:391,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:391,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:392,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:393,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:394,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:395,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:396,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:400,1
    - Dst: util::nn_dynamic_pointer_cast<InverseConversion>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:403,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:404,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:406,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:406,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:409,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:410,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:412,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:414,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:416,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:416,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:417,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:420,1
    - Dst: extractDerivedCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:422,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:422,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:427,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:431,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:432,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:432,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:433,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:434,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:435,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:436,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:437,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:439,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:443,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:445,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:445,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:445,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:448,1
    - Dst: extractDerivedCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:450,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:450,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:452,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:453,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:455,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:457,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:457,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:461,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:463,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:464,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:472,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:473,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:474,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:475,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:476,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:477,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:477,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:477,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:478,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:480,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:480,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:480,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:481,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:488,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:490,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:494,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:494,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:496,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:499,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:500,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:501,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:502,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:503,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:505,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:507,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:508,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:508,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:509,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:510,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:515,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:519,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:519,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:520,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:520,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:521,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:521,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:523,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:524,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:524,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:525,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:526,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:528,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:529,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:530,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:532,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:532,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:533,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:534,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:535,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:536,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:540,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:540,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:549,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:550,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:552,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:554,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:554,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:556,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:556,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:557,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:560,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:560,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:561,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:562,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:566,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:566,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:567,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:567,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:568,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:568,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:569,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:569,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:570,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:570,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:573,1
    - Dst: begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:573,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:574,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:574,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:575,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:575,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:576,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:576,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:577,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:577,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:578,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:578,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:581,1
    - Dst: begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:581,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:590,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:591,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:591,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:592,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:592,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:593,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:593,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:594,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:594,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:595,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:595,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:596,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:596,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:597,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:598,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:602,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:603,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:607,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:608,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:613,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:613,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:615,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:617,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:620,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:620,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:620,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:627,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:628,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:629,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:630,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:630,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:631,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:637,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:638,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:639,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:639,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:640,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:640,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:641,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:641,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:642,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:642,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:643,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:643,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:644,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:644,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:647,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:649,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:680,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:687,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:689,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:689,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:691,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:693,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:696,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:701,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:703,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:704,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:707,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:708,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:709,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:711,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:712,1
    - Dst: std::vector::erase
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:714,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:714,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:714,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:722,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:725,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:725,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:727,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:728,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:730,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:734,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:738,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:739,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:742,1
    - Dst: InvalidOperationEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:747,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:751,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:755,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:757,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:758,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:758,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:761,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:762,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:771,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:772,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:772,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:774,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:774,1
    - Dst: std::reverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:776,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:776,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:776,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:778,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:780,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:781,1
    - Dst: create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:785,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:785,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:787,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:787,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:788,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:788,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:789,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:789,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:797,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:798,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:799,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:803,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:804,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:805,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:805,1
    - Dst: use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:807,1
    - Dst: operationVersion
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:808,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:809,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:810,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:811,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:812,1
    - Dst: exportSourceCRSAndTargetCRSToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:816,1
    - Dst: idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:819,1
    - Dst: topLevelHasId
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:819,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:821,1
    - Dst: pushDisableUsage
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:823,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:826,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:827,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:828,1
    - Dst: pushHasId
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:831,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:832,1
    - Dst: popHasId
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:833,1
    - Dst: _exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:835,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:837,1
    - Dst: popDisableUsage
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:841,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:844,1
    - Dst: startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:845,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:846,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:846,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:846,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:847,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:850,1
    - Dst: endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:851,1
    - Dst: writer
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:861,1
    - Dst: MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:862,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:863,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:865,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:867,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:868,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:870,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:873,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:874,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:875,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:877,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:878,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:879,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:881,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:883,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:884,1
    - Dst: setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:885,1
    - Dst: _exportToJSON
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:886,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:890,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:891,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:892,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:892,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:892,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:895,1
    - Dst: ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:905,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:908,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:908,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:910,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:911,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:912,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:913,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:923,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:924,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:925,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:929,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:930,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:931,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:939,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:940,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:942,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:943,1
    - Dst: addStep
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:946,1
    - Dst: addParam
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:947,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:957,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:960,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:963,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:964,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:965,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:965,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:968,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:969,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:969,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:984,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:985,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:988,1
    CyclomaticComplexity: 208
    EdgeCount: 208
    ICount: 376
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 996
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached:
    - addParam
    - sourceCoordinateEpoch
    - dynamic_cast<crs::GeographicCRS *>
    - CoordinateSystemAxis::create
    - push_back
    - std::vector::size
    - util::PropertyMap::set
    - getExtent
    - auto::setHasBallparkTransformation
    - std::vector::reserve
    - auto::method
    - version
    - dynamic_cast<const crs::DerivedCRS *>
    - create
    - createPropertiesForInverse
    - auto::setProperties
    - VerticalCRS::create
    - use2019Keywords
    - gridsNeeded
    - auto::componentReferenceSystems
    - auto::set
    - begin
    - static_cast<int>
    - std::vector::push_back
    - as_nullable
    - popHasId
    - auto::MakeArrayContext
    - hasBallparkTransformation
    - targetCoordinateEpoch
    - auto::isGeocentric
    - ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
    - pushHasId
    - auto::isEquivalentTo
    - dynamic_cast<const crs::CompoundCRS *>
    - setCRSsUpdateInverse
    - getAccuracy
    - auto::parameterValue
    - _exportToWKT
    - targetCRS
    - sourceCRS
    - extractDerivedCRS
    - toString
    - NN_NO_CHECK
    - auto::exportToWKT
    - PositionalAccuracy::create
    - auto::has_value
    - value
    - auto::setCRSs
    - std::string::find
    - auto::datumEnsemble
    - writer
    - auto::assignSelf
    - std::make_unique<Private>
    - strlen
    - isGeocentric
    - MakeObjectContext
    - util::nn_static_pointer_cast<CoordinateOperation>
    - auto::setTargetCoordinateEpoch
    - topLevelHasId
    - size
    - crs::CRSPtr::get
    - std::vector::erase
    - InvalidOperation
    - auto::sourceCRS
    - InvalidOperationEmptyIntersection
    - endNode
    - VerticalCS::create
    - get
    - auto::derivingConversion
    - domains
    - auto::AddObjKey
    - FormattingException::FormattingException
    - applyAxisOrderReversal
    - auto::get
    - identifiers
    - insert
    - auto::operations
    - operations
    - auto::coordinateSystem
    - PropertyMap::PropertyMap
    - coordinateOperationAccuracies
    - back
    - front
    - getRoundedEpochInDecimalYear
    - operationVersion
    - requiresPerCoordinateInputTime
    - auto::setAccuracies
    - dynamic_cast<const crs::GeographicCRS *>
    - addQuotedString
    - interpolationCRS
    - code
    - std::vector::end
    - ends_with
    - auto::setSourceCoordinateEpoch
    - dynamic_cast<const Conversion *>
    - shallowClone
    - direction
    - auto::datum
    - dynamic_cast<const ConcatenatedOperation *>
    - unit
    - add
    - dynamic_cast<const crs::GeodeticCRS *>
    - idOnTopLevelOnly
    - pushDisableUsage
    - isGeographic
    - std::vector::begin
    - dynamic_cast<const crs::ProjectedCRS *>
    - empty
    - ObjectUsage::baseExportToWKT
    - std::vector::emplace_back
    - auto::empty
    - exportSourceCRSAndTargetCRSToWKT
    - setRequiresPerCoordinateInputTime
    - dynamic_cast<const crs::VerticalCRS *>
    - _exportToJSON
    - auto::baseCRS
    - inverse
    - nameStr
    - isAxisOrderReversal
    - auto::targetCRS
    - auto::inverse
    - setAllowIDInImmediateChild
    - codeSpace
    - std::set::insert
    - auto::nameStr
    - auto::_isEquivalentTo
    - dynamic_cast<const Transformation *>
    - std::move
    - auto::Add
    - popDisableUsage
    - ObjectUsage::_isEquivalentTo
    - crs::CRSPtr::exportToWKT
    - auto::size
    - _exportToPROJString
    - addStep
    - std::reverse
    - util::nn_dynamic_pointer_cast<InverseConversion>
    - areCRSMoreOrLessEquivalent
    - computeConcatenatedName
    - _isEquivalentTo
    - ObjectUsage::baseExportToJSON
    - startNode
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - operationsIn
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const std::vector<CoordinateOperationNNPtr> &operationsIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ConcatenatedOperation::~ConcatenatedOperation()
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcatenatedOperation::~ConcatenatedOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - ConcatenatedOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ConcatenatedOperation::ConcatenatedOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ConcatenatedOperation::ConcatenatedOperation(const ConcatenatedOperation
      &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:102,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:104,1
    - Dst: setRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - operationsIn
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: ConcatenatedOperation::ConcatenatedOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    - setRequiresPerCoordinateInputTime
    - requiresPerCoordinateInputTime
    linkageType: ''
    returnType: void
    signature: "void ConcatenatedOperation::ConcatenatedOperation(\n    const std::vector<CoordinateOperationNNPtr>
      &operationsIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '&

      ConcatenatedOperation::operations() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: 'std::vector<CoordinateOperationNNPtr> &

      ConcatenatedOperation::operations() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRS*::identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:126,1
    - Dst: crs::CRS*::identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:127,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:128,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:128,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:129,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:129,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:130,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:130,1
    - Dst: crs::CRS*::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:133,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:141,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:142,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:144,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:145,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:145,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:147,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:148,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - crs::CRS*
    - crs::CRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: areCRSMoreOrLessEquivalent
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 2
    functionsReached:
    - code
    - areCRSMoreOrLessEquivalent
    - auto::componentReferenceSystems
    - crs::CRS*::_isEquivalentTo
    - auto::size
    - get
    - dynamic_cast<const crs::CompoundCRS *>
    - codeSpace
    - crs::CRS*::identifiers
    linkageType: ''
    returnType: bool
    signature: bool areCRSMoreOrLessEquivalent(const crs::CRS *a, const crs::CRS *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:171,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:172,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:180,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:181,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:182,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:185,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:187,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:189,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:191,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:192,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:200,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:204,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:204,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:205,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:208,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:209,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:215,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:215,1
    - Dst: crs::CRSPtr::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:222,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:222,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:226,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:230,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:235,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:235,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:236,1
    - Dst: std::vector<CoordinateOperationNNPtr>::back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:236,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:237,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:238,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:238,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:239,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:239,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:240,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:241,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:242,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:243,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:245,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:247,1
    - Dst: ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:251,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:253,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:254,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:255,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:256,1
    - Dst: auto::setAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:257,1
    - Dst: auto::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:263,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:263,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 3
    argNames:
    - properties
    - operationsIn
    - accuracies
    argTypes:
    - util::PropertyMap
    - std::vector<CoordinateOperationNNPtr>
    - std::vector<metadata::PositionalAccuracyNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 267
    functionName: ConcatenatedOperation::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 12
    functionsReached:
    - auto::get
    - dynamic_cast<const crs::VerticalCRS *>
    - std::vector<CoordinateOperationNNPtr>::size
    - dynamic_cast<crs::GeographicCRS *>
    - nameStr
    - NN_NO_CHECK
    - auto::exportToWKT
    - auto::setHasBallparkTransformation
    - auto::setAccuracies
    - interpolationCRS
    - auto::setCRSs
    - auto::_isEquivalentTo
    - std::move
    - auto::setProperties
    - auto::assignSelf
    - crs::CRSPtr::get
    - crs::CRSPtr::exportToWKT
    - std::vector<CoordinateOperationNNPtr>::back
    - InvalidOperation
    - hasBallparkTransformation
    - areCRSMoreOrLessEquivalent
    - ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
    - auto::isEquivalentTo
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: ConcatenatedOperationNNPtr
    signature: "ConcatenatedOperationNNPtr ConcatenatedOperation::create(\n    const
      util::PropertyMap &properties,\n    const std::vector<CoordinateOperationNNPtr>
      &operationsIn,\n    const std::vector<metadata::PositionalAccuracyNNPtr>\n        &accuracies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation*::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:280,1
    - Dst: CoordinateOperation*::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - co
    - sourceCRS
    - targetCRS
    argTypes:
    - CoordinateOperation*
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: ConcatenatedOperation::setCRSsUpdateInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperation*::setCRSsUpdateInverse
    - CoordinateOperation*::interpolationCRS
    linkageType: ''
    returnType: void
    signature: "void ConcatenatedOperation::setCRSsUpdateInverse(CoordinateOperation
      *co,\n                                            const crs::CRSNNPtr &sourceCRS,\n
      \                                           const crs::CRSNNPtr &targetCRS)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:294,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:298,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:299,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:304,1
    - Dst: std::vector<CoordinateOperationNNPtr>::front
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:305,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:306,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:307,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:308,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:308,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:310,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:310,1
    - Dst: crs::CRSNNPtr::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:311,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:313,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:313,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:319,1
    - Dst: std::vector<CoordinateOperationNNPtr>::back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:320,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:321,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:322,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:323,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:323,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:325,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:325,1
    - Dst: crs::CRSNNPtr::applyAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:326,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:328,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:328,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:334,1
    - Dst: std::vector<CoordinateOperationNNPtr>::front
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:335,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:336,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:337,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:339,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:339,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:340,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:341,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:341,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:342,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:343,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:349,1
    - Dst: std::vector<CoordinateOperationNNPtr>::back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:350,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:351,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:352,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:354,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:354,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:355,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:356,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:356,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:357,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:358,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:364,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:367,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:369,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:370,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:377,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:379,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:380,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:381,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:381,1
    - Dst: extractDerivedCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:383,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:383,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:384,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:386,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:390,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:391,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:391,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:392,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:393,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:394,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:395,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:396,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:400,1
    - Dst: util::nn_dynamic_pointer_cast<InverseConversion>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:403,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:404,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:406,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:406,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:409,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:410,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:412,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:414,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:416,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:416,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:417,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:420,1
    - Dst: extractDerivedCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:422,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:422,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:427,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:431,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:432,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:432,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:433,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:434,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:435,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:436,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:437,1
    - Dst: ConcatenatedOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:439,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:443,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:445,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:445,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:445,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:448,1
    - Dst: extractDerivedCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:450,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:450,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:452,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:453,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:455,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:457,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:457,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:461,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:463,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:464,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:472,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:473,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:474,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:475,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:476,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:477,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:477,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:477,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:478,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:480,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:480,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:480,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:481,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:488,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:490,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:494,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:494,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:496,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:499,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:500,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:501,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:502,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:503,1
    - Dst: ConcatenatedOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:505,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:507,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:508,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:508,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:509,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:510,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:515,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:519,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:519,1
    - Dst: ends_with
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:520,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:520,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:521,1
    - Dst: direction
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:521,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:523,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:524,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:524,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:525,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:526,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:528,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:529,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:530,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:532,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:532,1
    - Dst: VerticalCS::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:533,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:534,1
    - Dst: CoordinateSystemAxis::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:535,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:536,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:540,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:540,1
    - Dst: crs::CRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:549,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:550,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:552,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:554,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:554,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:556,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:556,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:557,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:560,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:560,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:561,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:562,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:566,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:566,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:567,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:567,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:568,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:568,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:569,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:569,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:570,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:570,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:573,1
    - Dst: std::vector<CoordinateOperationNNPtr>::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:573,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:574,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:574,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:575,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:575,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:576,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:576,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:577,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:577,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:578,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:578,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:581,1
    - Dst: std::vector<CoordinateOperationNNPtr>::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:581,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:590,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:591,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:591,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:592,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:592,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:593,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:593,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:594,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:594,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:595,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:595,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:596,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:596,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:597,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:598,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:602,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:603,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:607,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:608,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:613,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:613,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:615,1
    - Dst: auto::parameterValue
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:617,1
    - Dst: ConcatenatedOperation::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:620,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:620,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:620,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:627,1
    - Dst: std::vector<CoordinateOperationNNPtr>::front
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:628,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:629,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:630,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:630,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:631,1
    - Dst: std::vector<CoordinateOperationNNPtr>::back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:637,1
    - Dst: areCRSMoreOrLessEquivalent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:638,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:639,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:639,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:640,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:640,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:641,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:641,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:642,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:642,1
    - Dst: isGeocentric
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:643,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:643,1
    - Dst: isGeographic
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:644,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:644,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:647,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:649,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 143
    argCount: 4
    argNames:
    - concatOpSourceCRS
    - concatOpTargetCRS
    - operationsInOut
    - fixDirectionAllowed
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - std::vector<CoordinateOperationNNPtr>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 656
    functionName: ConcatenatedOperation::fixSteps
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 5
    functionsReached:
    - auto::get
    - extractDerivedCRS
    - dynamic_cast<const crs::VerticalCRS *>
    - std::vector<CoordinateOperationNNPtr>::size
    - auto::coordinateSystem
    - auto::baseCRS
    - toString
    - PropertyMap::PropertyMap
    - CoordinateSystemAxis::create
    - isAxisOrderReversal
    - auto::inverse
    - auto::targetCRS
    - nameStr
    - NN_NO_CHECK
    - crs::CRSNNPtr::as_nullable
    - std::vector<CoordinateOperationNNPtr>::insert
    - crs::CRSNNPtr::nameStr
    - dynamic_cast<const crs::GeographicCRS *>
    - std::vector<CoordinateOperationNNPtr>::push_back
    - auto::nameStr
    - ConcatenatedOperation::setCRSsUpdateInverse
    - std::vector<CoordinateOperationNNPtr>::front
    - auto::method
    - auto::setCRSs
    - dynamic_cast<const Transformation *>
    - dynamic_cast<const crs::DerivedCRS *>
    - std::string::find
    - ends_with
    - auto::datumEnsemble
    - VerticalCRS::create
    - strlen
    - dynamic_cast<const Conversion *>
    - isGeocentric
    - direction
    - auto::datum
    - auto::componentReferenceSystems
    - unit
    - std::vector<CoordinateOperationNNPtr>::empty
    - static_cast<int>
    - std::vector<CoordinateOperationNNPtr>::back
    - InvalidOperation
    - auto::sourceCRS
    - ConcatenatedOperation::inverse
    - dynamic_cast<const crs::GeodeticCRS *>
    - crs::CRSNNPtr::get
    - isGeographic
    - auto::isGeocentric
    - areCRSMoreOrLessEquivalent
    - util::nn_dynamic_pointer_cast<InverseConversion>
    - crs::CRSNNPtr::applyAxisOrderReversal
    - VerticalCS::create
    - auto::isEquivalentTo
    - dynamic_cast<const crs::CompoundCRS *>
    - auto::derivingConversion
    - dynamic_cast<const crs::ProjectedCRS *>
    - std::vector<CoordinateOperationNNPtr>::begin
    - auto::parameterValue
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: "void ConcatenatedOperation::fixSteps(\n    const crs::CRSNNPtr &concatOpSourceCRS,\n
      \   const crs::CRSNNPtr &concatOpTargetCRS,\n    std::vector<CoordinateOperationNNPtr>
      &operationsInOut,\n    const io::DatabaseContextPtr & /*dbContext*/, bool fixDirectionAllowed)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:680,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:687,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:689,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:689,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:691,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:693,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:696,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:701,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:703,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:704,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:707,1
    - Dst: ConcatenatedOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:708,1
    - Dst: ConcatenatedOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:709,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:711,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:712,1
    - Dst: std::vector::erase
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:714,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:714,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:714,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:722,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:725,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:725,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:727,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:728,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:730,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:734,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:738,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:739,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:742,1
    - Dst: InvalidOperationEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:747,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:750,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:751,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:755,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:757,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:758,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:758,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:761,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:762,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - operationsIn
    - checkExtent
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 765
    functionName: ConcatenatedOperation::createComputeMetadata
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 5
    functionsReached:
    - auto::operations
    - std::vector<CoordinateOperationNNPtr>::size
    - toString
    - std::vector::size
    - util::PropertyMap::set
    - NN_NO_CHECK
    - getExtent
    - auto::setHasBallparkTransformation
    - PositionalAccuracy::create
    - ConcatenatedOperation::_isEquivalentTo
    - std::move
    - ConcatenatedOperation::create
    - dynamic_cast<const ConcatenatedOperation *>
    - std::vector::erase
    - std::vector::push_back
    - ConcatenatedOperation::inverse
    - InvalidOperationEmptyIntersection
    - hasBallparkTransformation
    - computeConcatenatedName
    - get
    - std::vector::begin
    - getAccuracy
    - targetCRS
    - std::vector::emplace_back
    - sourceCRS
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: "CoordinateOperationNNPtr ConcatenatedOperation::createComputeMetadata(\n
      \   const std::vector<CoordinateOperationNNPtr> &operationsIn,\n    bool checkExtent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:771,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:772,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:772,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:774,1
    - Dst: ConcatenatedOperation::inverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:774,1
    - Dst: std::reverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:776,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:776,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:776,1
    - Dst: createPropertiesForInverse
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:778,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:780,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:781,1
    - Dst: ConcatenatedOperation::create
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:785,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:785,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:787,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:787,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:788,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:788,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:789,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 791
    functionName: ConcatenatedOperation::inverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 3
    functionsReached:
    - operations
    - sourceCoordinateEpoch
    - coordinateOperationAccuracies
    - std::vector::reserve
    - auto::setHasBallparkTransformation
    - std::vector::end
    - createPropertiesForInverse
    - auto::setSourceCoordinateEpoch
    - ConcatenatedOperation::create
    - auto::setTargetCoordinateEpoch
    - auto::set
    - auto::size
    - ConcatenatedOperation::inverse
    - std::reverse
    - targetCoordinateEpoch
    - hasBallparkTransformation
    - computeConcatenatedName
    - std::vector::begin
    - std::vector::emplace_back
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr ConcatenatedOperation::inverse() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:797,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:798,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:799,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:803,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:804,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:805,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:805,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:807,1
    - Dst: operationVersion
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:808,1
    - Dst: auto::has_value
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:809,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:810,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:811,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:812,1
    - Dst: exportSourceCRSAndTargetCRSToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:816,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:819,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:819,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:821,1
    - Dst: io::WKTFormatter*::pushDisableUsage
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:823,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:826,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:827,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:828,1
    - Dst: io::WKTFormatter*::pushHasId
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:831,1
    - Dst: ConcatenatedOperation::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:832,1
    - Dst: io::WKTFormatter*::popHasId
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:833,1
    - Dst: ConcatenatedOperation::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:835,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:837,1
    - Dst: io::WKTFormatter*::popDisableUsage
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:841,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:844,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:845,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:846,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:846,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:846,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:847,1
    - Dst: ObjectUsage::baseExportToWKT
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:850,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:851,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 852
    functionName: ConcatenatedOperation::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - io::WKTFormatter*::startNode
    - exportSourceCRSAndTargetCRSToWKT
    - operations
    - coordinateOperationAccuracies
    - ConcatenatedOperation::_exportToWKT
    - nameStr
    - operationVersion
    - auto::has_value
    - value
    - io::WKTFormatter*::addQuotedString
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::popHasId
    - io::WKTFormatter*::version
    - io::WKTFormatter*::popDisableUsage
    - io::WKTFormatter*::pushDisableUsage
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::use2019Keywords
    - domains
    - io::WKTFormatter*::add
    - io::WKTFormatter*::pushHasId
    - ObjectUsage::baseExportToWKT
    - FormattingException::FormattingException
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: void ConcatenatedOperation::_exportToWKT(io::WKTFormatter *formatter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::JSONFormatter*::writer
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:861,1
    - Dst: io::JSONFormatter*::MakeObjectContext
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:862,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:863,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:865,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:867,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:868,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:870,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:873,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:874,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:875,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:877,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:878,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:879,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:881,1
    - Dst: auto::MakeArrayContext
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:883,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:884,1
    - Dst: io::JSONFormatter*::setAllowIDInImmediateChild
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:885,1
    - Dst: ConcatenatedOperation::_exportToJSON
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:886,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:890,1
    - Dst: auto::AddObjKey
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:891,1
    - Dst: auto::Add
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:892,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:892,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:892,1
    - Dst: ObjectUsage::baseExportToJSON
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 858
    functionDepth: 6
    functionLinenumber: 858
    functionLinenumberEnd: 896
    functionName: ConcatenatedOperation::_exportToJSON
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - targetCRS
    - operations
    - value
    - ConcatenatedOperation::_exportToJSON
    - io::JSONFormatter*::MakeObjectContext
    - auto::Add
    - auto::MakeArrayContext
    - coordinateOperationAccuracies
    - nameStr
    - io::JSONFormatter*::setAllowIDInImmediateChild
    - io::JSONFormatter*::writer
    - ObjectUsage::baseExportToJSON
    - auto::AddObjKey
    - auto::empty
    - sourceCRS
    linkageType: ''
    returnType: void
    signature: "void ConcatenatedOperation::_exportToJSON(\n    io::JSONFormatter
      *formatter) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:905,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:908,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:908,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:910,1
    - Dst: auto::assignSelf
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:911,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:912,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 914
    functionName: ConcatenatedOperation::_shallowClone
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 0
    functionsReached:
    - auto::setCRSs
    - util::nn_static_pointer_cast<CoordinateOperation>
    - std::move
    - ConcatenatedOperation::nn_make_shared<ConcatenatedOperation>
    - std::vector::emplace_back
    - auto::assignSelf
    - shallowClone
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: CoordinateOperationNNPtr ConcatenatedOperation::_shallowClone() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:923,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:924,1
    - Dst: sourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:925,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:929,1
    - Dst: getRoundedEpochInDecimalYear
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:930,1
    - Dst: targetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:931,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:939,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:940,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:942,1
    - Dst: ConcatenatedOperation::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:943,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:946,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:947,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 949
    functionName: ConcatenatedOperation::_exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 1
    functionsReached:
    - operations
    - sourceCoordinateEpoch
    - io::PROJStringFormatter*::addParam
    - getRoundedEpochInDecimalYear
    - io::PROJStringFormatter*::addStep
    - ConcatenatedOperation::_exportToPROJString
    - targetCoordinateEpoch
    linkageType: ''
    returnType: void
    signature: "void ConcatenatedOperation::_exportToPROJString(\n    io::PROJStringFormatter
      *formatter) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:957,1
    - Dst: ObjectUsage::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:960,1
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:963,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:964,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:965,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:965,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:968,1
    - Dst: ConcatenatedOperation::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:969,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - other
    - criterion
    - dbContext
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 975
    functionName: ConcatenatedOperation::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 2
    functionsReached:
    - operations
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - ConcatenatedOperation::_isEquivalentTo
    - auto::size
    - get
    - ObjectUsage::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool ConcatenatedOperation::_isEquivalentTo(\n    const util::IComparable
      *other, util::IComparable::Criterion criterion,\n    const io::DatabaseContextPtr
      &dbContext) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operations
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:984,1
    - Dst: ConcatenatedOperation::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:985,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - databaseContext
    - considerKnownGridsAsAvailable
    argTypes:
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: ConcatenatedOperation::gridsNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    functionUses: 1
    functionsReached:
    - operations
    - std::set::insert
    - ConcatenatedOperation::gridsNeeded
    linkageType: ''
    returnType: std::set<GridDescription>
    signature: "std::set<GridDescription> ConcatenatedOperation::gridsNeeded(\n    const
      io::DatabaseContextPtr &databaseContext,\n    bool considerKnownGridsAsAvailable)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 111
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/parammappings.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameter::getNameForEPSGCode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:74,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:75,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:76,1
    - Dst: operation::createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts:
    - condition: (name)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operation::createOpParamNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - operation::createMapNameEPSGCode
    - OperationParameter::create
    - OperationParameter::getNameForEPSGCode
    - assert
    linkageType: ''
    returnType: OperationParameterNNPtr
    signature: OperationParameterNNPtr createOpParamNameEPSGCode(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: operation::getMethodNameCodes
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:84,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:92,1
    - Dst: operation::createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts:
    - condition: (name)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: operation::createMethodMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - operation::createMapNameEPSGCode
    - operation::getMethodNameCodes
    - assert
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMethodMapNameEPSGCode(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: operation::createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 2
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMapNameEPSGCode(const std::string &name, int
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: operation::createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 2
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMapNameEPSGCode(const char *name, int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:119,1
    - Dst: common::ObjectUsage*::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:120,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:121,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:123,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - obj
    argTypes:
    - util::PropertyMap
    - common::ObjectUsage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: operation::addDomains
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - common::ObjectUsage*::domains
    - ArrayOfBaseObject::create
    - auto::add
    - util::PropertyMap::set
    - auto::empty
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap &addDomains(util::PropertyMap &map,\n                              const
      common::ObjectUsage *obj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:132,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:132,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:134,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:137,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: operation::getCRSQualifierStr
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - auto::isGeocentric
    - crs::CRSPtr::get
    - auto::coordinateSystem
    - dynamic_cast<crs::GeographicCRS *>
    - dynamic_cast<crs::GeodeticCRS *>
    linkageType: ''
    returnType: char
    signature: char *getCRSQualifierStr(const crs::CRSPtr &crs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:154,1
    - Dst: crs::CRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:155,1
    - Dst: operation::getCRSQualifierStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:159,1
    - Dst: operation::getCRSQualifierStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:160,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - opType
    - source
    - target
    argTypes:
    - char*
    - crs::CRSPtr
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: operation::buildOpName
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - crs::CRSPtr::nameStr
    - operation::getCRSQualifierStr
    - strcmp
    linkageType: ''
    returnType: std::string
    signature: "std::string buildOpName(const char *opType, const crs::CRSPtr &source,\n
      \                       const crs::CRSPtr &target)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:183,1
    - Dst: common::IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:184,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:185,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:186,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:188,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:191,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:191,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:192,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:192,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:193,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:193,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:195,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:198,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:200,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:200,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:202,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - map
    - obj
    - inverse
    - derivedFrom
    argTypes:
    - util::PropertyMap
    - common::IdentifiedObject*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 205
    functionName: operation::addModifiedIdentifier
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - code
    - starts_with
    - auto::size
    - PropertyMap::PropertyMap
    - Identifier::create
    - concat
    - ArrayOfBaseObject::create
    - auto::add
    - auto::resize
    - util::PropertyMap::set
    - auto::back
    - codeSpace
    - strlen
    - common::IdentifiedObject*::identifiers
    - auto::empty
    - auto::substr
    linkageType: ''
    returnType: void
    signature: "void addModifiedIdentifier(util::PropertyMap &map,\n                           const
      common::IdentifiedObject *obj, bool inverse,\n                           bool
      derivedFrom)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:213,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:214,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:215,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:216,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:217,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:217,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:219,1
    - Dst: operation::addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:224,1
    - Dst: OperationMethodNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - method
    argTypes:
    - OperationMethodNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: operation::createPropertiesForInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::string::empty
    - OperationMethodNNPtr::nameStr
    - starts_with
    - std::string::substr
    - util::PropertyMap::set
    - operation::addModifiedIdentifier
    - OperationMethodNNPtr::get
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createPropertiesForInverse(const OperationMethodNNPtr
      &method)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:234,1
    - Dst: operation::addDomains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:238,1
    - Dst: CoordinateOperation*::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:240,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:245,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:247,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:249,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:251,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:253,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:254,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:256,1
    - Dst: CoordinateOperation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:262,1
    - Dst: CoordinateOperation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:263,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:265,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:266,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:267,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:268,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:269,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:273,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:279,1
    - Dst: memcmp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:280,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:281,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:282,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:292,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:292,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:294,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:296,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:299,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:300,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:300,1
    - Dst: operation::buildOpName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:309,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:310,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:312,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:313,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:313,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:314,1
    - Dst: std::string::front
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:314,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:315,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:316,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:316,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:322,1
    - Dst: operation::buildOpName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:323,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:329,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:330,1
    - Dst: CoordinateOperation*::remarks
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:333,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:334,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:335,1
    - Dst: operation::addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:338,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:340,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:342,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:344,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 3
    argNames:
    - op
    - derivedFrom
    - approximateInversion
    argTypes:
    - CoordinateOperation*
    - bool
    - bool
    assertStmts:
    - condition: (op)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 349
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 349
    functionName: operation::createPropertiesForInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - util::PropertyMap::set
    - operation::addModifiedIdentifier
    - std::string::front
    - memcmp
    - CoordinateOperation*::sourceCRS
    - std::string::back
    - CoordinateOperation*::remarks
    - auto::method
    - dynamic_cast<const Transformation *>
    - std::string::substr
    - std::move
    - std::string::find
    - substr
    - assert
    - CoordinateOperation*::targetCRS
    - dynamic_cast<const Conversion *>
    - std::string::size
    - size
    - std::string::empty
    - dynamic_cast<const ConcatenatedOperation *>
    - operation::buildOpName
    - std::string::clear
    - std::vector::push_back
    - CoordinateOperation*::nameStr
    - operation::addDomains
    - starts_with
    - dynamic_cast<const SingleOperation *>
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap createPropertiesForInverse(const CoordinateOperation
      *op,\n                                             bool derivedFrom,\n                                             bool
      approximateInversion)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:355,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - properties
    - defaultName
    argTypes:
    - util::PropertyMap
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: operation::addDefaultNameIfNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - util::PropertyMap::get
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap addDefaultNameIfNeeded(const util::PropertyMap &properties,\n
      \                                        const std::string &defaultName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: operation::createEntryEqParam
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string createEntryEqParam(const std::string &a,\n                                      const
      std::string &b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:415,1
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:417,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:418,1
    - Dst: operation::createEntryEqParam
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 423
    functionName: operation::buildSetEquivalentParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - Identifier::canonicalizeName
    - operation::createEntryEqParam
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> buildSetEquivalentParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::buildSetEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:428,1
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:430,1
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:431,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:432,1
    - Dst: operation::createEntryEqParam
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:432,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: operation::areEquivalentParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 4
    functionsReached:
    - std::set::find
    - Identifier::canonicalizeName
    - operation::buildSetEquivalentParameters
    - operation::createEntryEqParam
    - std::set::end
    linkageType: ''
    returnType: bool
    signature: bool areEquivalentParameters(const std::string &a, const std::string
      &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:439,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - methodName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: operation::isTimeDependent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - ci_find
    linkageType: ''
    returnType: bool
    signature: bool isTimeDependent(const std::string &methodName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:449,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:452,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - flattenOps
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: operation::computeConcatenatedName
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::empty
    - nameStr
    linkageType: ''
    returnType: std::string
    signature: "std::string computeConcatenatedName(\n    const std::vector<CoordinateOperationNNPtr>
      &flattenOps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:467,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:467,1
    - Dst: CoordinateOperationNNPtr::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:472,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:473,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:475,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:477,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:477,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:482,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - op
    - conversionExtentIsWorld
    - emptyIntersection
    argTypes:
    - CoordinateOperationNNPtr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 484
    functionName: operation::getExtent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - operation::getExtent
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const Conversion *>
    - auto::empty
    - CoordinateOperationNNPtr::domains
    - domainOfValidity
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: "metadata::ExtentPtr getExtent(const CoordinateOperationNNPtr &op,\n
      \                             bool conversionExtentIsWorld,\n                              bool
      &emptyIntersection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:491,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:492,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:493,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:495,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:495,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:497,1
    - Dst: auto*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: operation::getExtent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const crs::BoundCRS *>
    - auto*::baseCRS
    - operation::getExtent
    - crs::CRSNNPtr::domains
    - crs::CRSNNPtr::get
    - auto::empty
    - domainOfValidity
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: metadata::ExtentPtr &getExtent(const crs::CRSNNPtr &crs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:508,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:508,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:512,1
    - Dst: metadata::ExtentPtr::intersection
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:518,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - crs
    - approxOut
    argTypes:
    - crs::CRSNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: operation::getExtentPossiblySynthetized
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - auto::componentReferenceSystems
    - dynamic_cast<const crs::CompoundCRS *>
    - NN_NO_CHECK
    - crs::CRSNNPtr::get
    - metadata::ExtentPtr::intersection
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: "metadata::ExtentPtr getExtentPossiblySynthetized(const crs::CRSNNPtr
      &crs,\n                                                       bool &approxOut)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:536,1
    - Dst: metadata::ExtentPtr::intersection
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:546,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ops
    - conversionExtentIsWorld
    - emptyIntersection
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 555
    functionName: operation::getExtent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 3
    functionsReached:
    - metadata::ExtentPtr::intersection
    - NN_NO_CHECK
    - operation::getExtent
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: "metadata::ExtentPtr getExtent(const std::vector<CoordinateOperationNNPtr>
      &ops,\n                              bool conversionExtentIsWorld,\n                              bool
      &emptyIntersection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:562,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:562,1
    - Dst: CoordinateOperationNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:568,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:569,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:571,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:571,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:576,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:576,1
    - Dst: operation::getAccuracy
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:578,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - op
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: operation::getAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 1
    functionsReached:
    - value
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - operation::getAccuracy
    - c_locale_stod
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const Conversion *>
    - auto::empty
    - CoordinateOperationNNPtr::coordinateOperationAccuracies
    linkageType: ''
    returnType: double
    signature: double getAccuracy(const CoordinateOperationNNPtr &op)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:590,1
    - Dst: operation::getAccuracy
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:592,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:600,1
    - Dst: operation::getAccuracy
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:601,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:603,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:604,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:605,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:611,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:613,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:614,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:614,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:615,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:615,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:616,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:616,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:618,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:620,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:620,1
    - Dst: IsNoOp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:626,1
    - Dst: IsNoOp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:626,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:627,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ops
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 638
    functionName: operation::getAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - IsNoOp
    - auto::nameStr
    - starts_with
    - std::vector<CoordinateOperationNNPtr>::size
    - operation::getAccuracy
    - PROJStringFormatter::create
    - exportToPROJString
    - std::max
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: double
    signature: double getAccuracy(const std::vector<CoordinateOperationNNPtr> &ops)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:644,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:645,1
    - Dst: CoordinateOperation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:646,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:647,1
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:648,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:650,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:651,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:651,1
    - Dst: CoordinateOperation*::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:653,1
    - Dst: io::WKTFormatter*::pushDisableUsage
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:655,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:658,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:659,1
    - Dst: io::WKTFormatter*::pushHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:662,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:663,1
    - Dst: io::WKTFormatter*::popHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:664,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:666,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:668,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:670,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:671,1
    - Dst: io::WKTFormatter*::pushHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:674,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:675,1
    - Dst: io::WKTFormatter*::popHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:676,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:678,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:680,1
    - Dst: io::WKTFormatter*::popDisableUsage
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - co
    - formatter
    argTypes:
    - CoordinateOperation*
    - io::WKTFormatter*
    assertStmts:
    - condition: (l_targetCRS)
      pos:
        line_end: 646
        line_start: 646
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    - condition: (l_sourceCRS)
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 685
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 685
    functionName: operation::exportSourceCRSAndTargetCRSToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::popHasId
    - io::WKTFormatter*::version
    - io::WKTFormatter*::popDisableUsage
    - io::WKTFormatter*::use2019Keywords
    - CoordinateOperation*::domains
    - assert
    - auto::_exportToWKT
    - auto::identifiers
    - CoordinateOperation*::targetCRS
    - io::WKTFormatter*::pushHasId
    - io::WKTFormatter*::pushDisableUsage
    - CoordinateOperation*::sourceCRS
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: "void exportSourceCRSAndTargetCRSToWKT(const CoordinateOperation *co,\n
      \                                     io::WKTFormatter *formatter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperationParameter::getNameForEPSGCode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:74,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:75,1
    - Dst: OperationParameter::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:76,1
    - Dst: operation::createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts:
    - condition: (name)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operation::createOpParamNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - operation::createMapNameEPSGCode
    - OperationParameter::create
    - OperationParameter::getNameForEPSGCode
    - assert
    linkageType: ''
    returnType: OperationParameterNNPtr
    signature: OperationParameterNNPtr createOpParamNameEPSGCode(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: operation::getMethodNameCodes
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:84,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:92,1
    - Dst: operation::createMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts:
    - condition: (name)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: operation::createMethodMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - operation::createMapNameEPSGCode
    - operation::getMethodNameCodes
    - assert
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMethodMapNameEPSGCode(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: operation::createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMapNameEPSGCode(const std::string &name, int
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - code
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: operation::createMapNameEPSGCode
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 4
    functionsReached:
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createMapNameEPSGCode(const char *name, int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:119,1
    - Dst: common::ObjectUsage*::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:120,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:121,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:123,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - obj
    argTypes:
    - util::PropertyMap
    - common::ObjectUsage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: operation::addDomains
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 1
    functionsReached:
    - common::ObjectUsage*::domains
    - ArrayOfBaseObject::create
    - auto::add
    - util::PropertyMap::set
    - auto::empty
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap &addDomains(util::PropertyMap &map,\n                              const
      common::ObjectUsage *obj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:132,1
    - Dst: crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:132,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:134,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:137,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: operation::getCRSQualifierStr
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 1
    functionsReached:
    - auto::isGeocentric
    - crs::CRSPtr::get
    - auto::coordinateSystem
    - dynamic_cast<crs::GeographicCRS *>
    - dynamic_cast<crs::GeodeticCRS *>
    linkageType: ''
    returnType: char
    signature: char *getCRSQualifierStr(const crs::CRSPtr &crs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:154,1
    - Dst: crs::CRSPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:155,1
    - Dst: operation::getCRSQualifierStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:159,1
    - Dst: operation::getCRSQualifierStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:160,1
    - Dst: strcmp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - opType
    - source
    - target
    argTypes:
    - char*
    - crs::CRSPtr
    - crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: operation::buildOpName
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 1
    functionsReached:
    - crs::CRSPtr::nameStr
    - operation::getCRSQualifierStr
    - strcmp
    linkageType: ''
    returnType: std::string
    signature: "std::string buildOpName(const char *opType, const crs::CRSPtr &source,\n
      \                       const crs::CRSPtr &target)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:183,1
    - Dst: common::IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:184,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:185,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:186,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:188,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:191,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:191,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:192,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:192,1
    - Dst: auto::resize
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:193,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:193,1
    - Dst: concat
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:195,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:198,1
    - Dst: auto::add
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:200,1
    - Dst: Identifier::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:200,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:202,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - map
    - obj
    - inverse
    - derivedFrom
    argTypes:
    - util::PropertyMap
    - common::IdentifiedObject*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 205
    functionName: operation::addModifiedIdentifier
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 2
    functionsReached:
    - code
    - starts_with
    - auto::size
    - PropertyMap::PropertyMap
    - Identifier::create
    - concat
    - ArrayOfBaseObject::create
    - auto::add
    - auto::resize
    - util::PropertyMap::set
    - auto::back
    - codeSpace
    - strlen
    - common::IdentifiedObject*::identifiers
    - auto::empty
    - auto::substr
    linkageType: ''
    returnType: void
    signature: "void addModifiedIdentifier(util::PropertyMap &map,\n                           const
      common::IdentifiedObject *obj, bool inverse,\n                           bool
      derivedFrom)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OperationMethodNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:213,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:214,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:215,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:216,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:217,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:217,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:219,1
    - Dst: operation::addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:224,1
    - Dst: OperationMethodNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - method
    argTypes:
    - OperationMethodNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: operation::createPropertiesForInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::string::empty
    - OperationMethodNNPtr::nameStr
    - starts_with
    - std::string::substr
    - util::PropertyMap::set
    - operation::addModifiedIdentifier
    - OperationMethodNNPtr::get
    linkageType: ''
    returnType: util::PropertyMap
    signature: util::PropertyMap createPropertiesForInverse(const OperationMethodNNPtr
      &method)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:234,1
    - Dst: operation::addDomains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:238,1
    - Dst: CoordinateOperation*::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:240,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:245,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:247,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:249,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:251,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:253,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:254,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:256,1
    - Dst: CoordinateOperation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:262,1
    - Dst: CoordinateOperation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:263,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:265,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:266,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:267,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:268,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:269,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:273,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:279,1
    - Dst: memcmp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:280,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:281,1
    - Dst: std::string::clear
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:282,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:292,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:292,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:294,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:296,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:299,1
    - Dst: substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:300,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:300,1
    - Dst: operation::buildOpName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:309,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:310,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:312,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:313,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:313,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:314,1
    - Dst: std::string::front
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:314,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:315,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:316,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:316,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:322,1
    - Dst: operation::buildOpName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:323,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:329,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:330,1
    - Dst: CoordinateOperation*::remarks
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:333,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:334,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:335,1
    - Dst: operation::addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:338,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:340,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:342,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:344,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 3
    argNames:
    - op
    - derivedFrom
    - approximateInversion
    argTypes:
    - CoordinateOperation*
    - bool
    - bool
    assertStmts:
    - condition: (op)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 349
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 349
    functionName: operation::createPropertiesForInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - util::PropertyMap::set
    - operation::addModifiedIdentifier
    - std::string::front
    - memcmp
    - CoordinateOperation*::sourceCRS
    - std::string::back
    - CoordinateOperation*::remarks
    - auto::method
    - dynamic_cast<const Transformation *>
    - std::string::substr
    - std::move
    - std::string::find
    - substr
    - assert
    - CoordinateOperation*::targetCRS
    - dynamic_cast<const Conversion *>
    - std::string::size
    - size
    - std::string::empty
    - dynamic_cast<const ConcatenatedOperation *>
    - operation::buildOpName
    - std::string::clear
    - std::vector::push_back
    - CoordinateOperation*::nameStr
    - operation::addDomains
    - starts_with
    - dynamic_cast<const SingleOperation *>
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap createPropertiesForInverse(const CoordinateOperation
      *op,\n                                             bool derivedFrom,\n                                             bool
      approximateInversion)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util::PropertyMap::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:355,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - properties
    - defaultName
    argTypes:
    - util::PropertyMap
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: operation::addDefaultNameIfNeeded
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - util::PropertyMap::get
    - PropertyMap::PropertyMap
    linkageType: ''
    returnType: util::PropertyMap
    signature: "util::PropertyMap addDefaultNameIfNeeded(const util::PropertyMap &properties,\n
      \                                        const std::string &defaultName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: operation::createEntryEqParam
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string createEntryEqParam(const std::string &a,\n                                      const
      std::string &b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:415,1
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:417,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:418,1
    - Dst: operation::createEntryEqParam
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 423
    functionName: operation::buildSetEquivalentParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 1
    functionsReached:
    - Identifier::canonicalizeName
    - operation::createEntryEqParam
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> buildSetEquivalentParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::buildSetEquivalentParameters
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:428,1
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:430,1
    - Dst: Identifier::canonicalizeName
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:431,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:432,1
    - Dst: operation::createEntryEqParam
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:432,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: operation::areEquivalentParameters
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 4
    functionsReached:
    - std::set::find
    - Identifier::canonicalizeName
    - operation::buildSetEquivalentParameters
    - operation::createEntryEqParam
    - std::set::end
    linkageType: ''
    returnType: bool
    signature: bool areEquivalentParameters(const std::string &a, const std::string
      &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:439,1
    - Dst: ci_find
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - methodName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: operation::isTimeDependent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - ci_find
    linkageType: ''
    returnType: bool
    signature: bool isTimeDependent(const std::string &methodName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:449,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:452,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - flattenOps
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: operation::computeConcatenatedName
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::empty
    - nameStr
    linkageType: ''
    returnType: std::string
    signature: "std::string computeConcatenatedName(\n    const std::vector<CoordinateOperationNNPtr>
      &flattenOps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:467,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:467,1
    - Dst: CoordinateOperationNNPtr::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:472,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:473,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:475,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:477,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:477,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:482,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - op
    - conversionExtentIsWorld
    - emptyIntersection
    argTypes:
    - CoordinateOperationNNPtr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 484
    functionName: operation::getExtent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - operation::getExtent
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const Conversion *>
    - auto::empty
    - CoordinateOperationNNPtr::domains
    - domainOfValidity
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: "metadata::ExtentPtr getExtent(const CoordinateOperationNNPtr &op,\n
      \                             bool conversionExtentIsWorld,\n                              bool
      &emptyIntersection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:491,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:492,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:493,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:495,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:495,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:497,1
    - Dst: auto*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - crs
    argTypes:
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: operation::getExtent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<const crs::BoundCRS *>
    - auto*::baseCRS
    - operation::getExtent
    - crs::CRSNNPtr::domains
    - crs::CRSNNPtr::get
    - auto::empty
    - domainOfValidity
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: metadata::ExtentPtr &getExtent(const crs::CRSNNPtr &crs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:508,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:508,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:512,1
    - Dst: metadata::ExtentPtr::intersection
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:518,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - crs
    - approxOut
    argTypes:
    - crs::CRSNNPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: operation::getExtentPossiblySynthetized
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - auto::componentReferenceSystems
    - dynamic_cast<const crs::CompoundCRS *>
    - NN_NO_CHECK
    - crs::CRSNNPtr::get
    - metadata::ExtentPtr::intersection
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: "metadata::ExtentPtr getExtentPossiblySynthetized(const crs::CRSNNPtr
      &crs,\n                                                       bool &approxOut)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:536,1
    - Dst: metadata::ExtentPtr::intersection
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:546,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ops
    - conversionExtentIsWorld
    - emptyIntersection
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 555
    functionName: operation::getExtent
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 6
    functionsReached:
    - metadata::ExtentPtr::intersection
    - NN_NO_CHECK
    - operation::getExtent
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: "metadata::ExtentPtr getExtent(const std::vector<CoordinateOperationNNPtr>
      &ops,\n                              bool conversionExtentIsWorld,\n                              bool
      &emptyIntersection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:562,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:562,1
    - Dst: CoordinateOperationNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:568,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:569,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:571,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:571,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:576,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:576,1
    - Dst: operation::getAccuracy
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:578,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - op
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: operation::getAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 3
    functionsReached:
    - value
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - operation::getAccuracy
    - c_locale_stod
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const Conversion *>
    - auto::empty
    - CoordinateOperationNNPtr::coordinateOperationAccuracies
    linkageType: ''
    returnType: double
    signature: double getAccuracy(const CoordinateOperationNNPtr &op)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:590,1
    - Dst: operation::getAccuracy
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:592,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:600,1
    - Dst: operation::getAccuracy
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:601,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:603,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:604,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:605,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:611,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:613,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:614,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:614,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:615,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:615,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:616,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:616,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:618,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:620,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:620,1
    - Dst: IsNoOp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:626,1
    - Dst: IsNoOp
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:626,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:627,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ops
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 638
    functionName: operation::getAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 4
    functionsReached:
    - auto::get
    - IsNoOp
    - auto::nameStr
    - starts_with
    - std::vector<CoordinateOperationNNPtr>::size
    - operation::getAccuracy
    - PROJStringFormatter::create
    - exportToPROJString
    - std::max
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: double
    signature: double getAccuracy(const std::vector<CoordinateOperationNNPtr> &ops)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation*::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:644,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:645,1
    - Dst: CoordinateOperation*::targetCRS
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:646,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:647,1
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:648,1
    - Dst: io::WKTFormatter*::use2019Keywords
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:650,1
    - Dst: io::WKTFormatter*::idOnTopLevelOnly
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:651,1
    - Dst: io::WKTFormatter*::topLevelHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:651,1
    - Dst: CoordinateOperation*::domains
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:653,1
    - Dst: io::WKTFormatter*::pushDisableUsage
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:655,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:658,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:659,1
    - Dst: io::WKTFormatter*::pushHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:662,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:663,1
    - Dst: io::WKTFormatter*::popHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:664,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:666,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:668,1
    - Dst: io::WKTFormatter*::startNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:670,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:671,1
    - Dst: io::WKTFormatter*::pushHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:674,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:675,1
    - Dst: io::WKTFormatter*::popHasId
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:676,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:678,1
    - Dst: io::WKTFormatter*::endNode
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:680,1
    - Dst: io::WKTFormatter*::popDisableUsage
      Src: /src/PROJ/src/iso19111/operation/oputils.cpp:683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - co
    - formatter
    argTypes:
    - CoordinateOperation*
    - io::WKTFormatter*
    assertStmts:
    - condition: (l_targetCRS)
      pos:
        line_end: 646
        line_start: 646
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    - condition: (l_sourceCRS)
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
    constantsTouched: []
    func_position:
      end: 685
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 685
    functionName: operation::exportSourceCRSAndTargetCRSToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.cpp
    functionUses: 0
    functionsReached:
    - io::WKTFormatter*::endNode
    - io::WKTFormatter*::startNode
    - io::WKTFormatter*::popHasId
    - io::WKTFormatter*::version
    - io::WKTFormatter*::popDisableUsage
    - io::WKTFormatter*::use2019Keywords
    - CoordinateOperation*::domains
    - assert
    - auto::_exportToWKT
    - auto::identifiers
    - CoordinateOperation*::targetCRS
    - io::WKTFormatter*::pushHasId
    - io::WKTFormatter*::pushDisableUsage
    - CoordinateOperation*::sourceCRS
    - io::WKTFormatter*::topLevelHasId
    - io::WKTFormatter*::idOnTopLevelOnly
    linkageType: ''
    returnType: void
    signature: "void exportSourceCRSAndTargetCRSToWKT(const CoordinateOperation *co,\n
      \                                     io::WKTFormatter *formatter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 118
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/oputils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::Measure>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:64,1
    - Dst: std::make_unique<std::string>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:68,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:87,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:93,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:98,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:103,1
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:114,1
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:124,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:125,1
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:135,1
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:147,1
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:158,1
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:168,1
    - Dst: version
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:226,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:228,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:230,1
    - Dst: abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:231,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:232,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:233,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:235,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:235,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:237,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:238,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:240,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:240,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:242,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:242,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:245,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:247,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:247,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:251,1
    - Dst: axisLinearUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:253,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:254,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:255,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:258,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:258,1
    - Dst: axisAngularUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:260,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:261,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:262,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:265,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:265,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:267,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:267,1
    - Dst: primeMeridianOrParameterUnitOmittedIfSameAsAxis
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:271,1
    - Dst: axisLinearUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:274,1
    - Dst: axisAngularUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:275,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:276,1
    - Dst: addQuotedString
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:281,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:281,1
    - Dst: add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:283,1
    - Dst: integerValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:283,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:285,1
    - Dst: dynamic_cast<const ParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:296,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:300,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:300,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:303,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:305,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:305,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:310,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:310,1
    - Dst: integerValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:314,1
    - Dst: auto::integerValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:314,1
    - Dst: booleanValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:318,1
    - Dst: auto::booleanValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:318,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    constantsTouched: []
    func_position:
      end: 331
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 331
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached:
    - integerValue
    - dynamic_cast<const ParameterValue *>
    - primeMeridianOrParameterUnitOmittedIfSameAsAxis
    - abridgedTransformation
    - addQuotedString
    - axisAngularUnit
    - value
    - auto::type
    - std::make_unique<common::Measure>
    - auto::convertToUnit
    - type
    - version
    - assert
    - std::make_unique<Private>
    - std::string
    - axisLinearUnit
    - auto::integerValue
    - booleanValue
    - auto::stringValue
    - add
    - auto::booleanValue
    - auto::conversionToSI
    - stringValue
    - std::make_unique<std::string>
    - auto::getSIValue
    - ParameterValue::nn_make_shared<ParameterValue>
    - auto::unit
    - auto::_exportToWKT
    - FormattingException::FormattingException
    - auto::value
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<common::Measure>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - valueIn
    argTypes:
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 55
    functionsReached:
    - std::make_unique<common::Measure>
    linkageType: ''
    returnType: void
    signature: void Private(const common::Measure &valueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<std::string>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stringValueIn
    - typeIn
    argTypes:
    - std::string
    - ParameterValue::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 55
    functionsReached:
    - std::make_unique<std::string>
    linkageType: ''
    returnType: void
    signature: void Private(const std::string &stringValueIn, ParameterValue::Type
      typeIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - integerValueIn
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(int integerValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - booleanValueIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(bool booleanValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ParameterValue::~ParameterValue()
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParameterValue::~ParameterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - measureIn
    argTypes:
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ParameterValue::ParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ParameterValue::ParameterValue(const common::Measure &measureIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stringValueIn
    - typeIn
    argTypes:
    - std::string
    - ParameterValue::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: ParameterValue::ParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void ParameterValue::ParameterValue(const std::string &stringValueIn,\n
      \                              ParameterValue::Type typeIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - integerValueIn
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: ParameterValue::ParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ParameterValue::ParameterValue(int integerValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - booleanValueIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: ParameterValue::ParameterValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void ParameterValue::ParameterValue(bool booleanValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - measureIn
    argTypes:
    - common::Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: ParameterValue::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 39
    functionsReached:
    - ParameterValue::nn_make_shared<ParameterValue>
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: ParameterValueNNPtr ParameterValue::create(const common::Measure &measureIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:124,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stringValueIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: ParameterValue::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 39
    functionsReached:
    - std::string
    - ParameterValue::nn_make_shared<ParameterValue>
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: ParameterValueNNPtr ParameterValue::create(const char *stringValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stringValueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: ParameterValue::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 39
    functionsReached:
    - ParameterValue::nn_make_shared<ParameterValue>
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: ParameterValueNNPtr ParameterValue::create(const std::string &stringValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stringValueIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: ParameterValue::createFilename
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 22
    functionsReached:
    - ParameterValue::nn_make_shared<ParameterValue>
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: ParameterValueNNPtr ParameterValue::createFilename(const std::string
      &stringValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - integerValueIn
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: ParameterValue::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 39
    functionsReached:
    - ParameterValue::nn_make_shared<ParameterValue>
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: ParameterValueNNPtr ParameterValue::create(int integerValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParameterValue::nn_make_shared<ParameterValue>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - booleanValueIn
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: ParameterValue::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 39
    functionsReached:
    - ParameterValue::nn_make_shared<ParameterValue>
    linkageType: ''
    returnType: ParameterValueNNPtr
    signature: ParameterValueNNPtr ParameterValue::create(bool booleanValueIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: '&ParameterValue::type()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParameterValue::Type
    signature: ParameterValue::Type &ParameterValue::type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '&ParameterValue::value()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: common::Measure
    signature: common::Measure &ParameterValue::value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: '&ParameterValue::stringValue()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &ParameterValue::stringValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '&ParameterValue::valueFile()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &ParameterValue::valueFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ParameterValue::integerValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ParameterValue::integerValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ParameterValue::booleanValue
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ParameterValue::booleanValue()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTFormatter*::version
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:226,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:228,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:230,1
    - Dst: io::WKTFormatter*::abridgedTransformation
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:231,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:232,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:233,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:235,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:235,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:237,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:238,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:240,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:240,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:242,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:242,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:245,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:247,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:247,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:251,1
    - Dst: io::WKTFormatter*::axisLinearUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:253,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:254,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:255,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:258,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:258,1
    - Dst: io::WKTFormatter*::axisAngularUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:260,1
    - Dst: auto::conversionToSI
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:261,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:262,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:265,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:265,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:267,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:267,1
    - Dst: io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:271,1
    - Dst: io::WKTFormatter*::axisLinearUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:274,1
    - Dst: io::WKTFormatter*::axisAngularUnit
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:275,1
    - Dst: auto::_exportToWKT
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:276,1
    - Dst: io::WKTFormatter*::addQuotedString
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:281,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:281,1
    - Dst: io::WKTFormatter*::add
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:283,1
    - Dst: ParameterValue::integerValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:283,1
    - Dst: FormattingException::FormattingException
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:285,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::WKTFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 287
    functionName: ParameterValue::_exportToWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 1
    functionsReached:
    - ParameterValue::integerValue
    - value
    - auto::type
    - auto::convertToUnit
    - type
    - io::WKTFormatter*::axisAngularUnit
    - io::WKTFormatter*::addQuotedString
    - io::WKTFormatter*::axisLinearUnit
    - io::WKTFormatter*::version
    - auto::conversionToSI
    - io::WKTFormatter*::primeMeridianOrParameterUnitOmittedIfSameAsAxis
    - stringValue
    - auto::getSIValue
    - io::WKTFormatter*::abridgedTransformation
    - auto::unit
    - io::WKTFormatter*::add
    - auto::_exportToWKT
    - FormattingException::FormattingException
    - auto::value
    linkageType: ''
    returnType: void
    signature: void ParameterValue::_exportToWKT(io::WKTFormatter *formatter) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ParameterValue *>
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:296,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:300,1
    - Dst: auto::type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:300,1
    - Dst: type
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:303,1
    - Dst: value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:305,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:305,1
    - Dst: stringValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:310,1
    - Dst: auto::stringValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:310,1
    - Dst: ParameterValue::integerValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:314,1
    - Dst: auto::integerValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:314,1
    - Dst: ParameterValue::booleanValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:318,1
    - Dst: auto::booleanValue
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:318,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/parametervalue.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - other
    - criterion
    argTypes:
    - util::IComparable*
    - util::IComparable::Criterion
    assertStmts:
    - condition: (false)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    constantsTouched: []
    func_position:
      end: 327
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 327
    functionName: ParameterValue::_isEquivalentTo
    functionSourceFile: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    functionUses: 0
    functionsReached:
    - value
    - ParameterValue::booleanValue
    - stringValue
    - type
    - auto::stringValue
    - assert
    - dynamic_cast<const ParameterValue *>
    - auto::integerValue
    - auto::booleanValue
    - auto::type
    - ParameterValue::integerValue
    - auto::value
    linkageType: ''
    returnType: bool
    signature: "bool ParameterValue::_isEquivalentTo(const util::IComparable *other,\n
      \                                    util::IComparable::Criterion criterion,\n
      \                                    const io::DatabaseContextPtr &) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_PROJ::crs::CRS*::exportToWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:77,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - NS_PROJ::crs::CRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: dumpWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - NS_PROJ::crs::CRS*::exportToWKT
    linkageType: ''
    returnType: void
    signature: void dumpWKT(const NS_PROJ::crs::CRS *crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:81,1
    - Dst: NS_PROJ::crs::CRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - NS_PROJ::crs::CRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: dumpWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - NS_PROJ::crs::CRSPtr::get
    - dumpWKT
    linkageType: ''
    returnType: void
    signature: void dumpWKT(const NS_PROJ::crs::CRSPtr &crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:85,1
    - Dst: NS_PROJ::crs::CRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - NS_PROJ::crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: dumpWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - NS_PROJ::crs::CRSNNPtr::as_nullable
    - dumpWKT
    linkageType: ''
    returnType: void
    signature: void dumpWKT(const NS_PROJ::crs::CRSNNPtr &crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:89,1
    - Dst: NS_PROJ::crs::GeographicCRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - NS_PROJ::crs::GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: dumpWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 3
    functionsReached:
    - NS_PROJ::crs::GeographicCRSPtr::get
    - dumpWKT
    linkageType: ''
    returnType: void
    signature: void dumpWKT(const NS_PROJ::crs::GeographicCRSPtr &crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpWKT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:93,1
    - Dst: NS_PROJ::crs::GeographicCRSNNPtr::as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - NS_PROJ::crs::GeographicCRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: dumpWKT
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 4
    functionsReached:
    - NS_PROJ::crs::GeographicCRSNNPtr::as_nullable
    - dumpWKT
    linkageType: ''
    returnType: void
    signature: void dumpWKT(const NS_PROJ::crs::GeographicCRSNNPtr &crs)
  - BBCount: 167
    BranchProfiles: []
    Callsites:
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:112,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:113,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:114,1
    - Dst: auto*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:115,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:120,1
    - Dst: auto*::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:121,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:125,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:127,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:127,1
    - Dst: geographicElements
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:143,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:144,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:146,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:147,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:150,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:151,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:152,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:153,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:158,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:158,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:159,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:159,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:185,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:187,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:203,1
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:209,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:465,1
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:485,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:524,1
    - Dst: CoordinateOperationContext::make_unique<CoordinateOperationContext>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:525,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:540,1
    - Dst: CoordinateOperationContext::make_unique<CoordinateOperationContext>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:541,1
    - Dst: getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:590,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:838,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:840,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:841,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:854,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:856,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:857,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:858,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:859,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:891,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:895,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:897,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:899,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:899,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:902,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:902,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:903,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:903,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:904,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:906,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:918,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:924,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:924,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:925,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:925,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:926,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:926,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:927,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:927,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1079,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1080,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1086,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1087,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1089,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1090,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1092,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1093,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1094,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1095,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1096,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1098,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1098,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1101,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1102,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1103,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1104,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1106,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1106,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1109,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1111,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1111,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1113,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1113,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1124,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1124,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1127,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1127,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1138,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1139,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1142,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1143,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1146,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1148,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1152,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1154,1
    - Dst: compare
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1164,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1166,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1166,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1184,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1184,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1187,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1196,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1196,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1200,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1201,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1201,1
    - Dst: getAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1219,1
    - Dst: getDesiredAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1221,1
    - Dst: getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1223,1
    - Dst: computeAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1225,1
    - Dst: filterOut
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1226,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1230,1
    - Dst: removeSyntheticNullTransforms
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1235,1
    - Dst: removeUninterestingOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1236,1
    - Dst: removeDuplicateOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1237,1
    - Dst: removeSyntheticNullTransforms
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1238,1
    - Dst: getDesiredAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1255,1
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1273,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1273,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1279,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1279,1
    - Dst: getSpatialCriterion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1303,1
    - Dst: getAllowBallparkTransformations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1307,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1311,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1314,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1315,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1316,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1317,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1327,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1332,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1337,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1339,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1345,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1346,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1347,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1350,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1354,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1354,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1357,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1358,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1371,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1371,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1378,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1380,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1385,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1389,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1389,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1391,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1391,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1394,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1395,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1409,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1409,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1411,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1411,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1417,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1420,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1425,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1429,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1434,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1437,1
    - Dst: getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1449,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1452,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1456,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1457,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1459,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1459,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1460,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1460,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1461,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1461,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1463,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1463,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1463,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1466,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1467,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1467,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1469,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1470,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1470,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1472,1
    - Dst: getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1479,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1480,1
    - Dst: getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1481,1
    - Dst: packageName::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1493,1
    - Dst: url::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1494,1
    - Dst: getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1501,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1504,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1508,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1508,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1515,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1516,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1517,1
    - Dst: auto::getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1518,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1526,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1528,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1535,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1537,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1541,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1541,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1546,1
    - Dst: PrecomputedOpCharacteristics
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1546,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: SortFunction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1558,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1564,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1565,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1566,1
    - Dst: sortFunc
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1567,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1570,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1571,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1574,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1593,1
    - Dst: auto::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1594,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1595,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1596,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1596,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1598,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1599,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1601,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1621,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1623,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1629,1
    - Dst: getTransformationStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1629,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1632,1
    - Dst: CoordinateOperationPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1635,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1635,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1641,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1641,1
    - Dst: metadata::ExtentPtr::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1642,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1642,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1649,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1652,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1654,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1657,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1665,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1679,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1681,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1681,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1683,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1685,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1686,1
    - Dst: "dynamic_cast<\n                            const metadata::GeographicBoundingBox
        *>"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1687,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1689,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1691,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1692,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1693,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1694,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1696,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1698,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1700,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1702,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1707,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1707,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1708,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1709,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1709,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1712,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1715,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1736,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1737,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1738,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1738,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1738,1
    - Dst: FilterResults::andSort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1741,1
    - Dst: FilterResults::getRes
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1742,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1744,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1745,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1745,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1745,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1760,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1761,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1761,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1761,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1762,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1762,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1762,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1765,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1779,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1780,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1781,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1782,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1783,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1784,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1785,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1786,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1791,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1793,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1796,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1805,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1805,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1805,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1807,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1807,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1809,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1809,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1813,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1814,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1817,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1817,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1818,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1820,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1820,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1821,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1824,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1827,1
    - Dst: cacheNameToCRS::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1828,1
    - Dst: cacheNameToCRS::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1829,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1834,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1836,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1837,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1838,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1839,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1842,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1843,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1844,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1845,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1846,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1848,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1849,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1850,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1850,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1851,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1868,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1870,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1872,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1872,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1875,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1876,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1879,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1879,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1892,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1893,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1895,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1896,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1896,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1897,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1898,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1898,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1903,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1903,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1903,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1904,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1904,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1910,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1911,1
    - Dst: context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1913,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1925,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1926,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1928,1
    - Dst: context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1930,1
    - Dst: context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1941,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1950,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1953,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1957,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1958,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1958,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1958,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1959,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1959,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1959,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1966,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1976,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1977,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1977,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1980,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1981,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1984,1
    - Dst: context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1986,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1995,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1996,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1998,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1999,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1999,1
    - Dst: context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2000,1
    - Dst: context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2011,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2019,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2021,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2025,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2026,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2026,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2026,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2027,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2027,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2027,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2033,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2045,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2046,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2047,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2048,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2049,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2060,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2060,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2062,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2062,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2064,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2065,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2079,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2080,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2080,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2081,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2081,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2087,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2096,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2097,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2099,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2100,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2100,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2102,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2105,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2106,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2106,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2107,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2107,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2109,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2109,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2111,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2111,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2113,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2114,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2115,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2115,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2116,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2116,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2118,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2118,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2122,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2123,1
    - Dst: auto::getOriginatingAuthName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2126,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2133,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2134,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2135,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2136,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2137,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2138,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2139,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2140,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2140,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2142,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2143,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2146,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2147,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2148,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2156,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2159,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2162,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2163,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2165,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2169,1
    - Dst: "ConcatenatedOperation::\n                                            createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2170,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2173,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2180,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2186,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2190,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2191,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2192,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2192,1
    - Dst: context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2197,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2207,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2207,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2209,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2210,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2211,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2211,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2212,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2213,1
    - Dst: auto::createBetweenGeodeticCRSWithDatumBasedIntermediates
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2218,1
    - Dst: context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2222,1
    - Dst: context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2233,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2234,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2235,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2237,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2239,1
    - Dst: context::getIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2248,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2249,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2249,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2250,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2250,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2254,1
    - Dst: context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2256,1
    - Dst: context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2266,1
    - Dst: context::getIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2267,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2269,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2270,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2272,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2274,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2276,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2279,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2283,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2284,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2284,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2284,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2285,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2285,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2285,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2291,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2303,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2303,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2305,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2305,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2308,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2308,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2309,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2311,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2315,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2316,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2319,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2320,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2323,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2325,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2331,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2331,1
    - Dst: dynamic_cast<const crs::SingleCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2335,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2335,1
    - Dst: dynamic_cast<const crs::SingleCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2337,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2337,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2339,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2341,1
    - Dst: Transformation::createGeographic3DOffsets
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2342,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2343,1
    - Dst: Transformation::createGeographic2DOffsets
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2346,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2373,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2374,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2375,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2376,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2403,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2405,1
    - Dst: crs::GeographicCRS*::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2406,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2407,1
    - Dst: auto::pushOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2409,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2410,1
    - Dst: auto::popOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2411,1
    - Dst: auto::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2413,1
    - Dst: crs::GeographicCRS*::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2414,1
    - Dst: auto::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2415,1
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2449,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2449,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2450,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2451,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2452,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2455,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2460,1
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2462,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2462,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2464,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2475,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2477,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2479,1
    - Dst: auto::addStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2518,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2519,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2520,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2524,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2524,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2526,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2526,1
    - Dst: auto::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2528,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2530,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2532,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2534,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2536,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2537,1
    - Dst: auto::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2539,1
    - Dst: auto::pushOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2541,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2542,1
    - Dst: auto::popOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2543,1
    - Dst: auto::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2545,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2548,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2550,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2552,1
    - Dst: auto::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2554,1
    - Dst: auto::addStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2557,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2558,1
    - Dst: auto::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2559,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2583,1
    CyclomaticComplexity: 367
    EdgeCount: 367
    ICount: 736
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!authorities.empty())
      pos:
        line_end: 2206
        line_start: 2206
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (opNew->sourceCRS()->isEquivalentTo(op->targetCRS().get()))
      pos:
        line_end: 1761
        line_start: 1761
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (authFactory)
      pos:
        line_end: 2096
        line_start: 2096
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (authFactory)
      pos:
        line_end: 1980
        line_start: 1980
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (iterA != map.end())
      pos:
        line_end: 924
        line_start: 924
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (false)
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (opNew->targetCRS()->isEquivalentTo(op->sourceCRS().get()))
      pos:
        line_end: 1760
        line_start: 1760
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithIntermediate)
      pos:
        line_end: 2086
        line_start: 2086
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (iterB != map.end())
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (authFactory)
      pos:
        line_end: 1779
        line_start: 1779
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (authFactory)
      pos:
        line_end: 1892
        line_start: 1892
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 2592
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 2592
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperationContext::create
    - dynamic_cast<crs::GeographicCRS *>
    - std::vector::size
    - util::PropertyMap::set
    - getAuthorityFactory
    - dynamic_cast<crs::ProjectedCRS *>
    - auto::datumNonNull
    - getExtent
    - findsOpsInRegistryWithIntermediate
    - removeUninterestingOps
    - removeSyntheticNullTransforms
    - auto::southBoundLatitude
    - std::vector::empty
    - auto::startInversion
    - auto::pushOmitZUnitConversion
    - auto::method
    - auto*::isGeocentric
    - std::string
    - gridsNeeded
    - CoordinateOperationPtr::_isEquivalentTo
    - logTrace
    - std::string::empty
    - auto::geographicElements
    - static_cast<int>
    - std::vector::push_back
    - auto::find
    - geographicElements
    - getPseudoArea
    - filterOut
    - as_nullable
    - "dynamic_cast<\n                            const metadata::GeographicBoundingBox
      *>"
    - auto::addStep
    - packageName::empty
    - hasBallparkTransformation
    - description
    - starts_with
    - FilterResults::andSort
    - std::set::find
    - getGridAvailabilityUse
    - auto::createObjectsFromName
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - getAccuracy
    - context::getDiscardSuperseded
    - util::optional<common::DataEpoch>
    - dynamic_cast<crs::VerticalCRS *>
    - auto::_exportToPROJString
    - auto::end
    - SortFunction
    - targetCRS
    - sourceCRS
    - std::sin
    - auto::addUnitConvertAndAxisSwap
    - toString
    - auto*::coordinateSystem
    - createLength
    - NN_NO_CHECK
    - getAllowBallparkTransformations
    - context::getAuthorityFactory
    - PositionalAccuracy::create
    - auto::popOmitHorizontalConversionInVertTransformation
    - auto::description
    - objectAsStr
    - std::string::find
    - assert
    - std::make_unique<Private>
    - CoordinateOperationContext::make_unique<CoordinateOperationContext>
    - strlen
    - computeAreaOfInterest
    - intersection
    - dynamic_cast<const crs::SingleCRS *>
    - auto::popOmitZUnitConversion
    - dynamic_cast<Transformation *>
    - url::empty
    - isSameGeodeticDatum
    - size
    - applyInverse
    - auto::northBoundLatitude
    - auto::sourceCRS
    - context::getIntermediateCRS
    - auto::createFromCoordinateReferenceSystemCodes
    - ci_equal
    - getDesiredAccuracy
    - auto::addParam
    - auto::databaseContext
    - get
    - auto::intersection
    - PROJStringFormatter::create
    - getSpatialCriterion
    - crs::GeographicCRS*::addAngularUnitConvertAndAxisSwap
    - auto::identifiers
    - std::set::end
    - auto::get
    - identifiers
    - crs::GeographicCRS*::datumNonNull
    - auto::operations
    - buildOpName
    - auto::coordinateSystem
    - getStepCount
    - buildCRSIds
    - std::vector::insert
    - auto::back
    - ENTER_BLOCK
    - dynamic_cast<crs::BoundCRS *>
    - dynamic_cast<const crs::GeographicCRS *>
    - FilterResults
    - getTransformationStepCount
    - auto::substr
    - std::vector::end
    - code
    - isNullTransformation
    - auto::createCoordinateReferenceSystem
    - metadata::ExtentPtr::contains
    - getAreaOfInterest
    - getSourceAndTargetCRSExtentUse
    - sort
    - dynamic_cast<const Conversion *>
    - auto::parameterValueNumericAsSI
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::pushOmitHorizontalConversionInVertTransformation
    - "ConcatenatedOperation::\n                                            createComputeMetadata"
    - auto::stopInversion
    - createAngle
    - dynamic_cast<const crs::GeodeticCRS *>
    - std::make_shared<util::optional<common::DataEpoch>>
    - std::list::empty
    - dynamic_cast<const crs::ProjectedCRS *>
    - cacheNameToCRS::find
    - auto::getStepCount
    - auto::createGeodeticCRSFromDatum
    - auto::empty
    - std::vector::emplace_back
    - Transformation::createGeographic2DOffsets
    - getenv
    - Transformation::createGeographic3DOffsets
    - auto::westBoundLongitude
    - auto::getOriginatingAuthName
    - context::getGridAvailabilityUse
    - sortFunc
    - ci_starts_with
    - end
    - compare
    - inverse
    - nameStr
    - cacheNameToCRS::end
    - auto::targetCRS
    - auto::inverse
    - codeSpace
    - auto::addAngularUnitConvertAndAxisSwap
    - auto::eastBoundLongitude
    - coordinateSystem
    - find
    - auto::emplace_back
    - std::set::insert
    - auto::nameStr
    - disallowEmptyIntersection
    - auto::_isEquivalentTo
    - auto::ingestPROJString
    - auto::hasBallparkTransformation
    - std::move
    - FilterResults::getRes
    - auto::intersects
    - datumNonNull
    - removeDuplicateOps
    - auto::begin
    - auto::front
    - auto::size
    - auto::createBetweenGeodeticCRSWithDatumBasedIntermediates
    - _exportToPROJString
    - dynamic_cast<crs::GeodeticCRS *>
    - auto::contains
    - std::vector<CoordinateOperationNNPtr>
    - createOperations
    - auto::createFromCRSCodesWithIntermediates
    - _isEquivalentTo
    - context::getUsePROJAlternativeGridNames
    - PrecomputedOpCharacteristics
    - exportToPROJString
    - std::vector<std::string>
    - auto::getAuthority
    - AuthorityFactory::create
    - ENTER_FUNCTION
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: common::IdentifiedObject*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:112,1
    - Dst: common::IdentifiedObject*::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:113,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:114,1
    - Dst: auto*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:115,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:120,1
    - Dst: auto*::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:121,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:125,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:127,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - obj
    argTypes:
    - common::IdentifiedObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: objectAsStr
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - code
    - auto::empty
    - auto*::coordinateSystem
    - dynamic_cast<const crs::GeodeticCRS *>
    - auto*::isGeocentric
    - codeSpace
    - common::IdentifiedObject*::identifiers
    - dynamic_cast<const crs::GeographicCRS *>
    - common::IdentifiedObject*::nameStr
    linkageType: ''
    returnType: std::string
    signature: std::string objectAsStr(const common::IdentifiedObject *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metadata::ExtentPtr::geographicElements
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:143,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:144,1
    - Dst: dynamic_cast<const metadata::GeographicBoundingBox *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:146,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:147,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:150,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:151,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:152,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:153,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:158,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:158,1
    - Dst: std::sin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:159,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - extent
    argTypes:
    - metadata::ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 160
    functionName: getPseudoArea
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - auto::westBoundLongitude
    - get
    - auto::northBoundLatitude
    - createAngle
    - dynamic_cast<const metadata::GeographicBoundingBox *>
    - auto::eastBoundLongitude
    - metadata::ExtentPtr::geographicElements
    - auto::empty
    - std::sin
    - auto::southBoundLatitude
    linkageType: ''
    returnType: double
    signature: double getPseudoArea(const metadata::ExtentPtr &extent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Private
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Private(const Private &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: CoordinateOperationContext::~CoordinateOperationContext()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationContext::~CoordinateOperationContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: CoordinateOperationContext::CoordinateOperationContext
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationContext::CoordinateOperationContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Private>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - CoordinateOperationContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: CoordinateOperationContext::CoordinateOperationContext
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Private>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::CoordinateOperationContext(\n    const
      CoordinateOperationContext &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '&

      CoordinateOperationContext::getAuthorityFactory() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io::AuthorityFactoryPtr
    signature: 'io::AuthorityFactoryPtr &

      CoordinateOperationContext::getAuthorityFactory() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: '&

      CoordinateOperationContext::getAreaOfInterest() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: metadata::ExtentPtr
    signature: 'metadata::ExtentPtr &

      CoordinateOperationContext::getAreaOfInterest() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - extent
    argTypes:
    - metadata::ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: CoordinateOperationContext::setAreaOfInterest
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setAreaOfInterest(\n    const metadata::ExtentPtr
      &extent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: CoordinateOperationContext::getDesiredAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double CoordinateOperationContext::getDesiredAccuracy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - accuracy
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: CoordinateOperationContext::setDesiredAccuracy
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationContext::setDesiredAccuracy(double accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: CoordinateOperationContext::getAllowBallparkTransformations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoordinateOperationContext::getAllowBallparkTransformations()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: CoordinateOperationContext::setAllowBallparkTransformations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationContext::setAllowBallparkTransformations(bool
      allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use
    argTypes:
    - SourceTargetCRSExtentUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: CoordinateOperationContext::setSourceAndTargetCRSExtentUse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setSourceAndTargetCRSExtentUse(\n
      \   SourceTargetCRSExtentUse use)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: CoordinateOperationContext::getSourceAndTargetCRSExtentUse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateOperationContext::SourceTargetCRSExtentUse
    signature: CoordinateOperationContext::SourceTargetCRSExtentUse CoordinateOperationContext::getSourceAndTargetCRSExtentUse()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - SpatialCriterion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: CoordinateOperationContext::setSpatialCriterion
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setSpatialCriterion(\n    SpatialCriterion
      criterion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: CoordinateOperationContext::getSpatialCriterion
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateOperationContext::SpatialCriterion
    signature: CoordinateOperationContext::SpatialCriterion CoordinateOperationContext::getSpatialCriterion()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usePROJNames
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: CoordinateOperationContext::setUsePROJAlternativeGridNames
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setUsePROJAlternativeGridNames(\n
      \   bool usePROJNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: CoordinateOperationContext::getUsePROJAlternativeGridNames
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoordinateOperationContext::getUsePROJAlternativeGridNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: CoordinateOperationContext::getDiscardSuperseded
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoordinateOperationContext::getDiscardSuperseded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - discard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: CoordinateOperationContext::setDiscardSuperseded
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationContext::setDiscardSuperseded(bool discard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use
    argTypes:
    - GridAvailabilityUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: CoordinateOperationContext::setGridAvailabilityUse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setGridAvailabilityUse(\n    GridAvailabilityUse
      use)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: CoordinateOperationContext::getGridAvailabilityUse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateOperationContext::GridAvailabilityUse
    signature: CoordinateOperationContext::GridAvailabilityUse CoordinateOperationContext::getGridAvailabilityUse()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use
    argTypes:
    - IntermediateCRSUse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: CoordinateOperationContext::setAllowUseIntermediateCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setAllowUseIntermediateCRS(\n    IntermediateCRSUse
      use)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: CoordinateOperationContext::getAllowUseIntermediateCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateOperationContext::IntermediateCRSUse
    signature: CoordinateOperationContext::IntermediateCRSUse CoordinateOperationContext::getAllowUseIntermediateCRS()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - intermediateCRSAuthCodes
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: CoordinateOperationContext::setIntermediateCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setIntermediateCRS(\n    const std::vector<std::pair<std::string,
      std::string>>\n        &intermediateCRSAuthCodes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: '&

      CoordinateOperationContext::getIntermediateCRS() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: 'std::vector<std::pair<std::string, std::string>> &

      CoordinateOperationContext::getIntermediateCRS() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - util::optional<common::DataEpoch>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: CoordinateOperationContext::setSourceCoordinateEpoch
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<util::optional<common::DataEpoch>>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setSourceCoordinateEpoch(\n    const
      util::optional<common::DataEpoch> &epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: '&

      CoordinateOperationContext::getSourceCoordinateEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::DataEpoch>
    signature: 'util::optional<common::DataEpoch> &

      CoordinateOperationContext::getSourceCoordinateEpoch() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<util::optional<common::DataEpoch>>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - util::optional<common::DataEpoch>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: CoordinateOperationContext::setTargetCoordinateEpoch
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<util::optional<common::DataEpoch>>
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationContext::setTargetCoordinateEpoch(\n    const
      util::optional<common::DataEpoch> &epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: '&

      CoordinateOperationContext::getTargetCoordinateEpoch() const'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::optional<common::DataEpoch>
    signature: 'util::optional<common::DataEpoch> &

      CoordinateOperationContext::getTargetCoordinateEpoch() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:524,1
    - Dst: CoordinateOperationContext::make_unique<CoordinateOperationContext>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - authorityFactory
    - extent
    - accuracy
    argTypes:
    - io::AuthorityFactoryPtr
    - metadata::ExtentPtr
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 530
    functionName: CoordinateOperationContext::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 188
    functionsReached:
    - NN_NO_CHECK
    - CoordinateOperationContext::make_unique<CoordinateOperationContext>
    linkageType: ''
    returnType: CoordinateOperationContextNNPtr
    signature: "CoordinateOperationContextNNPtr CoordinateOperationContext::create(\n
      \   const io::AuthorityFactoryPtr &authorityFactory,\n    const metadata::ExtentPtr
      &extent, double accuracy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:540,1
    - Dst: CoordinateOperationContext::make_unique<CoordinateOperationContext>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: CoordinateOperationContext::clone
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - NN_NO_CHECK
    - CoordinateOperationContext::make_unique<CoordinateOperationContext>
    linkageType: ''
    returnType: CoordinateOperationContextNNPtr
    signature: CoordinateOperationContextNNPtr CoordinateOperationContext::clone()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - extent1In
    - extent2In
    - contextIn
    argTypes:
    - metadata::ExtentPtr
    - metadata::ExtentPtr
    - CoordinateOperationContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: Context
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Context(const metadata::ExtentPtr &extent1In,\n                const
      metadata::ExtentPtr &extent2In,\n                const CoordinateOperationContextNNPtr
      &contextIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: disallowEmptyIntersection
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - getSourceAndTargetCRSExtentUse
    linkageType: ''
    returnType: bool
    signature: bool disallowEmptyIntersection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: CoordinateOperationFactory::~CoordinateOperationFactory()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationFactory::~CoordinateOperationFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: CoordinateOperationFactory::CoordinateOperationFactory
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateOperationFactory::CoordinateOperationFactory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationFactory::createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:838,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:840,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sourceCRS
    - targetCRS
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 845
    functionName: CoordinateOperationFactory::createOperation
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - CoordinateOperationFactory::createOperations
    - CoordinateOperationContext::create
    linkageType: ''
    returnType: CoordinateOperationPtr
    signature: "CoordinateOperationPtr CoordinateOperationFactory::createOperation(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:854,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:856,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:857,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:858,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 860
    functionName: isNullTransformation
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - starts_with
    - std::string::find
    linkageType: ''
    returnType: bool
    signature: bool isNullTransformation(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 885
    functionName: PrecomputedOpCharacteristics
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecomputedOpCharacteristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:891,1
    - Dst: CoordinateOperationNNPtr::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:895,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:897,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:899,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:899,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:902,1
    - Dst: CoordinateOperationNNPtr::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:902,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:903,1
    - Dst: CoordinateOperationNNPtr::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:903,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:904,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - op
    - area
    - isPROJExportable
    - hasGrids
    - gridsAvailable
    - gridsKnown
    - stepCount
    - projStepCount
    - hasXYZGridshift
    argTypes:
    - CoordinateOperationNNPtr
    - double
    - bool
    - bool
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 906
    functionName: PrecomputedOpCharacteristics
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - isNullTransformation
    - starts_with
    - CoordinateOperationNNPtr::nameStr
    - CoordinateOperationNNPtr::hasBallparkTransformation
    - getAccuracy
    - CoordinateOperationNNPtr::sourceCRS
    - CoordinateOperationNNPtr::targetCRS
    linkageType: ''
    returnType: void
    signature: "void PrecomputedOpCharacteristics(const CoordinateOperationNNPtr &op,\n
      \                                double area, bool isPROJExportable,\n                                 bool
      hasGrids, bool gridsAvailable,\n                                 bool gridsKnown,
      size_t stepCount,\n                                 size_t projStepCount, bool
      hasXYZGridshift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mapIn
    argTypes:
    - "std::map<CoordinateOperation *,\n                                         PrecomputedOpCharacteristics>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: SortFunction
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: "void SortFunction(const std::map<CoordinateOperation *,\n                                         PrecomputedOpCharacteristics>
      &mapIn)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:924,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:924,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:925,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:925,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:926,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:926,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:927,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:927,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1079,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1080,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1086,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1087,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1089,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1090,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1092,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1093,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1094,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1095,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1096,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1098,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1098,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1101,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1102,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1103,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1104,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1106,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1106,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1109,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1111,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1111,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1113,1
    - Dst: std::string::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1113,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1124,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1124,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1127,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1127,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1138,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1139,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1142,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1143,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1146,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1148,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1152,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1154,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 133
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CoordinateOperationNNPtr
    - CoordinateOperationNNPtr
    assertStmts:
    - condition: (iterB != map.end())
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (iterA != map.end())
      pos:
        line_end: 924
        line_start: 924
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 1160
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 1160
    functionName: compare
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 5
    functionsReached:
    - size
    - CoordinateOperationNNPtr::nameStr
    - auto::size
    - end
    - auto::find
    - std::string::find
    - assert
    - CoordinateOperationNNPtr::get
    - strlen
    - find
    - auto::substr
    linkageType: ''
    returnType: bool
    signature: "bool compare(const CoordinateOperationNNPtr &a,\n                 const
      CoordinateOperationNNPtr &b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1164,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1166,1
    - Dst: CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CoordinateOperationNNPtr
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1169
    functionName: "operator()(const CoordinateOperationNNPtr &a,\n                    const
      CoordinateOperationNNPtr &b) const"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - compare
    - CoordinateOperationNNPtr::nameStr
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const CoordinateOperationNNPtr &a,\n                    const
      CoordinateOperationNNPtr &b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1171
    functionName: SortFunction
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortFunction(const SortFunction &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1172
    functionName: '&operator=(const SortFunction &)'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SortFunction
    signature: SortFunction &operator=(const SortFunction &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1173
    functionName: SortFunction
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortFunction(SortFunction &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1174
    functionName: '&operator=(SortFunction &&)'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SortFunction
    signature: SortFunction &operator=(SortFunction &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1184,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1184,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1190
    functionName: getStepCount
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    linkageType: ''
    returnType: size_t
    signature: size_t getStepCount(const CoordinateOperationNNPtr &op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1196,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1196,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1200,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1201,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - op
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1207
    functionName: getTransformationStepCount
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - get
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const Conversion *>
    linkageType: ''
    returnType: size_t
    signature: size_t getTransformationStepCount(const CoordinateOperationNNPtr &op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1219,1
    - Dst: getDesiredAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1221,1
    - Dst: getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1223,1
    - Dst: computeAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1225,1
    - Dst: filterOut
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - sourceListIn
    - contextIn
    - extent1In
    - extent2In
    - forceStrictContainmentTest
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - CoordinateOperationContextNNPtr
    - metadata::ExtentPtr
    - metadata::ExtentPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1227
    functionName: FilterResults
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - filterOut
    - getAreaOfInterest
    - getSourceAndTargetCRSExtentUse
    - computeAreaOfInterest
    - getDesiredAccuracy
    linkageType: ''
    returnType: void
    signature: "void FilterResults(const std::vector<CoordinateOperationNNPtr> &sourceListIn,\n
      \                 const CoordinateOperationContextNNPtr &contextIn,\n                  const
      metadata::ExtentPtr &extent1In,\n                  const metadata::ExtentPtr
      &extent2In,\n                  bool forceStrictContainmentTest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1230,1
    - Dst: removeSyntheticNullTransforms
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1235,1
    - Dst: removeUninterestingOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1236,1
    - Dst: removeDuplicateOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1237,1
    - Dst: removeSyntheticNullTransforms
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1240
    functionName: '&andSort()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - removeUninterestingOps
    - sort
    - removeSyntheticNullTransforms
    - removeDuplicateOps
    linkageType: ''
    returnType: FilterResults
    signature: FilterResults &andSort()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1245
    functionName: '&getRes()'
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: std::vector<CoordinateOperationNNPtr> &getRes()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1273,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1273,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1279,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1263
    functionDepth: 3
    functionLinenumber: 1263
    functionLinenumberEnd: 1291
    functionName: computeAreaOfInterest
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - NN_NO_CHECK
    - intersection
    - getPseudoArea
    linkageType: ''
    returnType: void
    signature: void computeAreaOfInterest()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: getSpatialCriterion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1303,1
    - Dst: getAllowBallparkTransformations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1307,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1311,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1314,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1315,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1316,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1317,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1327,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1332,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1337,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1339,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1345,1
    - Dst: description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1346,1
    - Dst: auto::description
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1347,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1350,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1354,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1354,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1357,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1358,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1371,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1371,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1378,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1380,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1385,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1389,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1389,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1391,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1391,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1394,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1395,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1409,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1409,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1411,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1411,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1417,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1420,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1425,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1429,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1434,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1437,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 86
    argCount: 1
    argNames:
    - forceStrictContainmentTest
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1440
    functionName: filterOut
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - description
    - auto::description
    - emplace_back
    - auto::contains
    - getAccuracy
    - getSpatialCriterion
    - auto::intersects
    - NN_NO_CHECK
    - empty
    - getExtent
    - getAllowBallparkTransformations
    - gridsNeeded
    - hasBallparkTransformation
    linkageType: ''
    returnType: void
    signature: void filterOut(bool forceStrictContainmentTest)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1449,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1452,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1456,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1457,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1457,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1459,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1459,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1460,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1460,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1461,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1461,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1463,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1463,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1463,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1466,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1467,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1467,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1469,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1470,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1470,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1472,1
    - Dst: getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1479,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1480,1
    - Dst: getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1481,1
    - Dst: packageName::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1493,1
    - Dst: url::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1494,1
    - Dst: getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1501,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1504,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1508,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1508,1
    - Dst: auto::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1515,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1516,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1517,1
    - Dst: auto::getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1518,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1526,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1528,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1535,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1537,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1541,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1541,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1546,1
    - Dst: PrecomputedOpCharacteristics
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1546,1
    - Dst: sort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: SortFunction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1552,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1558,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1564,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1565,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1566,1
    - Dst: sortFunc
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1567,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1570,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1571,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1574,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 1581
      start: 1444
    functionDepth: 3
    functionLinenumber: 1444
    functionLinenumberEnd: 1581
    functionName: sort
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 12
    functionsReached:
    - auto::get
    - getenv
    - getStepCount
    - sortFunc
    - end
    - nameStr
    - getAuthorityFactory
    - NN_NO_CHECK
    - getExtent
    - isNullTransformation
    - auto::ingestPROJString
    - assert
    - sort
    - gridsNeeded
    - url::empty
    - size
    - begin
    - auto::find
    - getPseudoArea
    - packageName::empty
    - hasBallparkTransformation
    - get
    - auto::intersection
    - getGridAvailabilityUse
    - PROJStringFormatter::create
    - getAccuracy
    - PrecomputedOpCharacteristics
    - exportToPROJString
    - SortFunction
    - auto::getStepCount
    linkageType: ''
    returnType: void
    signature: void sort()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1593,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1594,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1595,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1596,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1596,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1598,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1599,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1604
    functionName: removeSyntheticNullTransforms
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - size
    - isNullTransformation
    - auto::nameStr
    - auto::hasBallparkTransformation
    - std::move
    - back
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void removeSyntheticNullTransforms()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1621,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1623,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1629,1
    - Dst: getTransformationStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1629,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1632,1
    - Dst: CoordinateOperationPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1635,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1635,1
    - Dst: auto::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1641,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1641,1
    - Dst: metadata::ExtentPtr::contains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1642,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1642,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1649,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1652,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1654,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1657,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1658
    functionName: removeUninterestingOps
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - identifiers
    - get
    - auto::contains
    - std::move
    - metadata::ExtentPtr::contains
    - getAccuracy
    - CoordinateOperationPtr::_isEquivalentTo
    - NN_NO_CHECK
    - getExtent
    - as_nullable
    - std::vector::emplace_back
    - getTransformationStepCount
    linkageType: ''
    returnType: void
    signature: void removeUninterestingOps()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1665,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1679,1
    - Dst: exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1681,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1681,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1683,1
    - Dst: auto::geographicElements
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1685,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1686,1
    - Dst: "dynamic_cast<\n                            const metadata::GeographicBoundingBox
        *>"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1687,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1689,1
    - Dst: auto::westBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1691,1
    - Dst: auto::southBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1692,1
    - Dst: auto::eastBoundLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1693,1
    - Dst: auto::northBoundLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1694,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1696,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1698,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1700,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1702,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1707,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1707,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1708,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1709,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1709,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1712,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1716
    functionName: removeDuplicateOps
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - auto::westBoundLongitude
    - toString
    - getExtent
    - auto::eastBoundLongitude
    - std::set::insert
    - auto::southBoundLatitude
    - std::move
    - size
    - auto::geographicElements
    - auto::size
    - auto::northBoundLatitude
    - "dynamic_cast<\n                            const metadata::GeographicBoundingBox
      *>"
    - get
    - std::set::find
    - PROJStringFormatter::create
    - exportToPROJString
    - std::vector::emplace_back
    - std::set::end
    linkageType: ''
    returnType: void
    signature: void removeDuplicateOps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1736,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1737,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1738,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1738,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1738,1
    - Dst: FilterResults::andSort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1741,1
    - Dst: FilterResults::getRes
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1742,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1744,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1745,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1745,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - sourceList
    - context
    - extent1
    - extent2
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - CoordinateOperationContextNNPtr
    - metadata::ExtentPtr
    - metadata::ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1748
    functionName: filterAndSort
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::vector<CoordinateOperationNNPtr>::size
    - toString
    - ENTER_FUNCTION
    - static_cast<int>
    - FilterResults::andSort
    - auto::size
    - FilterResults::getRes
    - logTrace
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> filterAndSort(const std::vector<CoordinateOperationNNPtr>
      &sourceList,\n              const CoordinateOperationContextNNPtr &context,\n
      \             const metadata::ExtentPtr &extent1,\n              const metadata::ExtentPtr
      &extent2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1760,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1761,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1761,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1761,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1762,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1762,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1762,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts:
    - condition: (opNew->targetCRS()->isEquivalentTo(op->sourceCRS().get()))
      pos:
        line_end: 1760
        line_start: 1760
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (opNew->sourceCRS()->isEquivalentTo(op->targetCRS().get()))
      pos:
        line_end: 1761
        line_start: 1761
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 1769
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1769
    functionName: applyInverse
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - auto::sourceCRS
    - inverse
    - assert
    - auto::targetCRS
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: std::vector<CoordinateOperationNNPtr> applyInverse(const std::vector<CoordinateOperationNNPtr>
      &list)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1779,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1780,1
    - Dst: crs::CRSNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1781,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1782,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1783,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1784,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1785,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1786,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1791,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1793,1
    - Dst: std::list<std::pair<std::string, std::string>>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1796,1
    - Dst: std::list<std::pair<std::string, std::string>>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1805,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1805,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1805,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1807,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1807,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1809,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1809,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1813,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1814,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1817,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1817,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1818,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1820,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1820,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1821,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1824,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1827,1
    - Dst: Private::Context::cacheNameToCRS::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1828,1
    - Dst: Private::Context::cacheNameToCRS::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1829,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1834,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1836,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1837,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1838,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1839,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1842,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1843,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1844,1
    - Dst: crs::CRSNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1845,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1846,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1848,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1849,1
    - Dst: std::list<std::pair<std::string, std::string>>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1850,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1850,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1851,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - crs
    - context
    - ids
    argTypes:
    - crs::CRSNNPtr
    - Private::Context
    - std::list<std::pair<std::string, std::string>>
    assertStmts:
    - condition: (authFactory)
      pos:
        line_end: 1779
        line_start: 1779
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 1858
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1858
    functionName: "CoordinateOperationFactory::Private::buildCRSIds(\n    const crs::CRSNNPtr
      &crs, Private::Context &context,\n    std::list<std::pair<std::string, std::string>>
      &ids)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::coordinateSystem
    - dynamic_cast<crs::ProjectedCRS *>
    - auto::datumNonNull
    - codeSpace
    - dynamic_cast<const crs::GeographicCRS *>
    - std::vector::empty
    - code
    - auto::createCoordinateReferenceSystem
    - std::list<std::pair<std::string, std::string>>::empty
    - std::list<std::pair<std::string, std::string>>::emplace_back
    - assert
    - auto::getAuthority
    - std::string
    - Private::Context::cacheNameToCRS::end
    - Private::Context::cacheNameToCRS::find
    - auto::front
    - auto::size
    - std::vector::push_back
    - crs::CRSNNPtr::identifiers
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - ci_equal
    - auto::databaseContext
    - crs::CRSNNPtr::_isEquivalentTo
    - auto::createObjectsFromName
    - dynamic_cast<crs::VerticalCRS *>
    - auto::empty
    - crs::CRSNNPtr::nameStr
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::buildCRSIds(\n    const
      crs::CRSNNPtr &crs, Private::Context &context,\n    std::list<std::pair<std::string,
      std::string>> &ids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::AuthorityFactoryPtr::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1868,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1870,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1872,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1872,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1875,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1876,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1879,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - authFactory
    - srcAuthName
    - targetAuthName
    argTypes:
    - io::AuthorityFactoryPtr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1883
    functionName: getCandidateAuthorities
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - auto::empty
    - std::vector::emplace_back
    - io::AuthorityFactoryPtr::databaseContext
    - io::AuthorityFactoryPtr::getAuthority
    - std::vector::empty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> getCandidateAuthorities(const io::AuthorityFactoryPtr
      &authFactory,\n                        const std::string &srcAuthName,\n                        const
      std::string &targetAuthName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1892,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1893,1
    - Dst: crs::CRSNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1895,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1896,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1896,1
    - Dst: crs::CRSNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1897,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1898,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1898,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1903,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1903,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1903,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1904,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1904,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1910,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1911,1
    - Dst: Private::Context::context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1913,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1925,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1926,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1928,1
    - Dst: Private::Context::context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1930,1
    - Dst: Private::Context::context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1941,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1943,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1950,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1953,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1957,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1958,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1958,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1958,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1959,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1959,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1959,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1966,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - resNonEmptyBeforeFiltering
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - bool
    assertStmts:
    - condition: (authFactory)
      pos:
        line_end: 1892
        line_start: 1892
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 1967
      start: 1888
    functionDepth: 2
    functionLinenumber: 1888
    functionLinenumberEnd: 1967
    functionName: "CoordinateOperationFactory::Private::findOpsInRegistryDirect(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, bool &resNonEmptyBeforeFiltering)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - toString
    - buildCRSIds
    - Private::Context::context::getUsePROJAlternativeGridNames
    - std::vector::insert
    - std::vector::size
    - ENTER_BLOCK
    - Private::Context::context::getGridAvailabilityUse
    - FilterResults
    - std::vector::empty
    - std::vector::end
    - objectAsStr
    - assert
    - logTrace
    - auto::begin
    - auto::size
    - static_cast<int>
    - crs::CRSNNPtr::identifiers
    - crs::CRSNNPtr::get
    - auto::createFromCoordinateReferenceSystemCodes
    - Private::Context::context::getAuthorityFactory
    - ci_equal
    - Private::Context::context::getDiscardSuperseded
    - auto::databaseContext
    - std::vector<CoordinateOperationNNPtr>
    - auto::end
    - crs::CRSNNPtr::nameStr
    - AuthorityFactory::create
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::findOpsInRegistryDirect(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, bool &resNonEmptyBeforeFiltering)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1976,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1977,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1977,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1980,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1981,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1984,1
    - Dst: Private::Context::context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1986,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1995,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1996,1
    - Dst: auto::createFromCoordinateReferenceSystemCodes
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1998,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1999,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:1999,1
    - Dst: Private::Context::context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2000,1
    - Dst: Private::Context::context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2011,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2013,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2019,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2021,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2025,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2026,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2026,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2026,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2027,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2027,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2027,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - targetCRS
    - context
    argTypes:
    - crs::CRSNNPtr
    - Private::Context
    assertStmts:
    - condition: (authFactory)
      pos:
        line_end: 1980
        line_start: 1980
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 2034
      start: 1972
    functionDepth: 2
    functionLinenumber: 1972
    functionLinenumberEnd: 2034
    functionName: "CoordinateOperationFactory::Private::findOpsInRegistryDirectTo(\n
      \   const crs::CRSNNPtr &targetCRS, Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - toString
    - buildCRSIds
    - Private::Context::context::getUsePROJAlternativeGridNames
    - std::vector::insert
    - std::vector::size
    - ENTER_BLOCK
    - Private::Context::context::getGridAvailabilityUse
    - FilterResults
    - std::vector::empty
    - std::vector::end
    - objectAsStr
    - assert
    - std::string
    - logTrace
    - auto::begin
    - auto::size
    - static_cast<int>
    - auto::createFromCoordinateReferenceSystemCodes
    - crs::CRSNNPtr::get
    - Private::Context::context::getDiscardSuperseded
    - Private::Context::context::getAuthorityFactory
    - auto::databaseContext
    - std::vector<CoordinateOperationNNPtr>
    - auto::end
    - AuthorityFactory::create
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::findOpsInRegistryDirectTo(\n
      \   const crs::CRSNNPtr &targetCRS, Private::Context &context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crs::GeodeticCRS*::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2045,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2046,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2047,1
    - Dst: io::AuthorityFactoryPtr::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2048,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - authFactory
    - crs
    - datum
    argTypes:
    - io::AuthorityFactoryPtr
    - crs::GeodeticCRS*
    - datum::GeodeticReferenceFrameNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2050
    functionName: findCandidateGeodCRSForDatum
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - io::AuthorityFactoryPtr::createGeodeticCRSFromDatum
    - auto::size
    - crs::GeodeticCRS*::identifiers
    - std::string
    linkageType: ''
    returnType: std::list<crs::GeodeticCRSNNPtr>
    signature: "std::list<crs::GeodeticCRSNNPtr> findCandidateGeodCRSForDatum(const
      io::AuthorityFactoryPtr &authFactory,\n                             const crs::GeodeticCRS
      *crs,\n                             const datum::GeodeticReferenceFrameNNPtr
      &datum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: datum::GeodeticReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2060,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2060,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2062,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2062,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2064,1
    - Dst: datum::GeodeticReferenceFrameNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - datum1
    - datum2
    - dbContext
    argTypes:
    - datum::GeodeticReferenceFrameNNPtr
    - datum::GeodeticReferenceFrameNNPtr
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2066
    functionName: isSameGeodeticDatum
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - datum::GeodeticReferenceFrameNNPtr::get
    - datum::GeodeticReferenceFrameNNPtr::nameStr
    - datum::GeodeticReferenceFrameNNPtr::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool isSameGeodeticDatum(const datum::GeodeticReferenceFrameNNPtr
      &datum1,\n                    const datum::GeodeticReferenceFrameNNPtr &datum2,\n
      \                   const io::DatabaseContextPtr &dbContext)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2079,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2080,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2080,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2081,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2081,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2087,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2096,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2097,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2099,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2100,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2100,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2102,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2105,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2106,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2106,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2107,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2107,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2109,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2109,1
    - Dst: dynamic_cast<crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2111,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2111,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2113,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2114,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2115,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2115,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2116,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2116,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2118,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2118,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2122,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2123,1
    - Dst: auto::getOriginatingAuthName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2126,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2133,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2134,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2135,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2136,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2137,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2138,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2139,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2140,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2140,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2142,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2143,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2146,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2147,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2148,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2156,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2159,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2162,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2163,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2165,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2169,1
    - Dst: "ConcatenatedOperation::\n                                            createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2170,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2173,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2180,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2186,1
    - Dst: buildCRSIds
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2190,1
    - Dst: std::list::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2191,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2192,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2192,1
    - Dst: Private::Context::context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2197,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2207,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2207,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2209,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2210,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2211,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2211,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2212,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2213,1
    - Dst: auto::createBetweenGeodeticCRSWithDatumBasedIntermediates
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2218,1
    - Dst: Private::Context::context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2222,1
    - Dst: Private::Context::context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2233,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2234,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2235,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2237,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2239,1
    - Dst: Private::Context::context::getIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2248,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2249,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2249,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2250,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2250,1
    - Dst: auto::createFromCRSCodesWithIntermediates
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2254,1
    - Dst: Private::Context::context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2256,1
    - Dst: Private::Context::context::getDiscardSuperseded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2266,1
    - Dst: Private::Context::context::getIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2267,1
    - Dst: auto::getAuthority
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2269,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2270,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2272,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2274,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2276,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2279,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2283,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2284,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2284,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2284,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2285,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2285,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2285,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2291,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 60
    argCount: 4
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - useCreateBetweenGeodeticCRSWithDatumBasedIntermediates
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - bool
    assertStmts:
    - condition: (!context.inCreateOperationsWithIntermediate)
      pos:
        line_end: 2086
        line_start: 2086
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (authFactory)
      pos:
        line_end: 2096
        line_start: 2096
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!authorities.empty())
      pos:
        line_end: 2206
        line_start: 2206
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 2292
      start: 2072
    functionDepth: 2
    functionLinenumber: 2072
    functionLinenumberEnd: 2292
    functionName: "CoordinateOperationFactory::Private::findsOpsInRegistryWithIntermediate(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context,\n    bool useCreateBetweenGeodeticCRSWithDatumBasedIntermediates)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - identifiers
    - auto::getOriginatingAuthName
    - auto::coordinateSystem
    - toString
    - buildCRSIds
    - ci_starts_with
    - Private::Context::context::getIntermediateCRS
    - dynamic_cast<crs::GeographicCRS *>
    - Private::Context::context::getUsePROJAlternativeGridNames
    - std::vector::size
    - auto::datumNonNull
    - ENTER_BLOCK
    - dynamic_cast<crs::BoundCRS *>
    - codeSpace
    - NN_NO_CHECK
    - findsOpsInRegistryWithIntermediate
    - Private::Context::context::getGridAvailabilityUse
    - coordinateSystem
    - dynamic_cast<const crs::GeographicCRS *>
    - FilterResults
    - std::vector::empty
    - auto::nameStr
    - objectAsStr
    - assert
    - datumNonNull
    - std::string
    - applyInverse
    - isSameGeodeticDatum
    - logTrace
    - std::string::empty
    - auto::front
    - auto::size
    - auto::createBetweenGeodeticCRSWithDatumBasedIntermediates
    - static_cast<int>
    - "ConcatenatedOperation::\n                                            createComputeMetadata"
    - dynamic_cast<crs::GeodeticCRS *>
    - crs::CRSNNPtr::get
    - Private::Context::context::getDiscardSuperseded
    - Private::Context::context::getAuthorityFactory
    - ci_equal
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - get
    - std::vector<CoordinateOperationNNPtr>
    - auto::createFromCRSCodesWithIntermediates
    - createOperations
    - std::list::empty
    - util::optional<common::DataEpoch>
    - auto::identifiers
    - std::vector<std::string>
    - auto::empty
    - std::vector::emplace_back
    - auto::getAuthority
    - AuthorityFactory::create
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::findsOpsInRegistryWithIntermediate(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context,\n    bool useCreateBetweenGeodeticCRSWithDatumBasedIntermediates)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.inCreateOperationsWithIntermediate)
      pos:
        line_end: 2086
        line_start: 2086
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    functionName: AntiRecursionGuard
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AntiRecursionGuard(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2093
    functionName: ~AntiRecursionGuard()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AntiRecursionGuard()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2303,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2303,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2305,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2305,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2308,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2308,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2309,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2311,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2315,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2316,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2319,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2320,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2323,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2325,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2331,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2331,1
    - Dst: dynamic_cast<const crs::SingleCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2335,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2335,1
    - Dst: dynamic_cast<const crs::SingleCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2337,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2337,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2339,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2341,1
    - Dst: Transformation::createGeographic3DOffsets
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2342,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2343,1
    - Dst: Transformation::createGeographic2DOffsets
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - sourceCRS
    - targetCRS
    - dbContext
    - forceBallpark
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - io::DatabaseContextPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2298
    functionDepth: 4
    functionLinenumber: 2298
    functionLinenumberEnd: 2349
    functionName: createBallparkGeographicOffset
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - crs::GeographicCRS*::datumNonNull
    - buildOpName
    - Transformation::createGeographic3DOffsets
    - auto::_isEquivalentTo
    - auto::coordinateSystem
    - Transformation::createGeographic2DOffsets
    - util::PropertyMap::set
    - createLength
    - NN_NO_CHECK
    - crs::CRSNNPtr::get
    - getExtent
    - dynamic_cast<const crs::SingleCRS *>
    - dynamic_cast<const crs::GeographicCRS *>
    - std::vector::emplace_back
    - PositionalAccuracy::create
    - isSameGeodeticDatum
    linkageType: ''
    returnType: TransformationNNPtr
    signature: "TransformationNNPtr createBallparkGeographicOffset(\n    const crs::CRSNNPtr
      &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const io::DatabaseContextPtr
      &dbContext, bool forceBallpark)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - geodSrcIn
    - geodDstIn
    argTypes:
    - crs::GeodeticCRSPtr
    - crs::GeodeticCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2365
    functionName: MyPROJStringExportableGeodToGeod
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MyPROJStringExportableGeodToGeod(const crs::GeodeticCRSPtr &geodSrcIn,\n
      \                                    const crs::GeodeticCRSPtr &geodDstIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2373,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2374,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2375,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2377
    functionName: _exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 24
    functionsReached:
    - _exportToPROJString
    - io::PROJStringFormatter*::stopInversion
    - io::PROJStringFormatter*::startInversion
    linkageType: ''
    returnType: void
    signature: void _exportToPROJString(io::PROJStringFormatter *formatter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2380
    functionName: MyPROJStringExportableGeodToGeod::~MyPROJStringExportableGeodToGeod()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPROJStringExportableGeodToGeod::~MyPROJStringExportableGeodToGeod()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - horizTransformIn
    - verticalTransformIn
    - geogDstIn
    argTypes:
    - CoordinateOperationPtr
    - CoordinateOperationPtr
    - crs::GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2395
    functionName: MyPROJStringExportableHorizVertical
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MyPROJStringExportableHorizVertical(\n        const CoordinateOperationPtr
      &horizTransformIn,\n        const CoordinateOperationPtr &verticalTransformIn,\n
      \       const crs::GeographicCRSPtr &geogDstIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2403,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2405,1
    - Dst: addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2406,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2407,1
    - Dst: io::PROJStringFormatter*::pushOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2409,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2410,1
    - Dst: io::PROJStringFormatter*::popOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2411,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2413,1
    - Dst: addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2414,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2416
    functionName: _exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 25
    functionsReached:
    - _exportToPROJString
    - io::PROJStringFormatter*::pushOmitZUnitConversion
    - io::PROJStringFormatter*::stopInversion
    - io::PROJStringFormatter*::startInversion
    - io::PROJStringFormatter*::popOmitZUnitConversion
    - io::PROJStringFormatter*::pushOmitHorizontalConversionInVertTransformation
    - addAngularUnitConvertAndAxisSwap
    - io::PROJStringFormatter*::popOmitHorizontalConversionInVertTransformation
    linkageType: ''
    returnType: void
    signature: void _exportToPROJString(io::PROJStringFormatter *formatter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2420
    functionName: MyPROJStringExportableHorizVertical::~MyPROJStringExportableHorizVertical()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPROJStringExportableHorizVertical::~MyPROJStringExportableHorizVertical()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - opSrcCRSToGeogCRSIn
    - verticalTransformIn
    - opGeogCRStoDstCRSIn
    - interpolationCRSIn
    argTypes:
    - CoordinateOperationPtr
    - CoordinateOperationPtr
    - CoordinateOperationPtr
    - crs::SingleCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2439
    functionName: MyPROJStringExportableHorizVerticalHorizPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MyPROJStringExportableHorizVerticalHorizPROJBased(\n        const
      CoordinateOperationPtr &opSrcCRSToGeogCRSIn,\n        const CoordinateOperationPtr
      &verticalTransformIn,\n        const CoordinateOperationPtr &opGeogCRStoDstCRSIn,\n
      \       const crs::SingleCRSPtr &interpolationCRSIn)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2449,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2449,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2450,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2451,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2452,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2455,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2460,1
    - Dst: dynamic_cast<Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2462,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2462,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2464,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2475,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2477,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2479,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2518,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2519,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2520,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2524,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2524,1
    - Dst: dynamic_cast<const crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2526,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2526,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2528,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2530,1
    - Dst: io::PROJStringFormatter*::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2532,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2534,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2536,1
    - Dst: io::PROJStringFormatter*::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2537,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2539,1
    - Dst: io::PROJStringFormatter*::pushOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2541,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2542,1
    - Dst: io::PROJStringFormatter*::popOmitHorizontalConversionInVertTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2543,1
    - Dst: io::PROJStringFormatter*::pushOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2545,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2548,1
    - Dst: auto::addUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2550,1
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2552,1
    - Dst: io::PROJStringFormatter*::popOmitZUnitConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2554,1
    - Dst: io::PROJStringFormatter*::addStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2557,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2558,1
    - Dst: io::PROJStringFormatter*::addParam
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2559,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 39
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2561
    functionName: _exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 26
    functionsReached:
    - auto::get
    - auto::inverse
    - io::PROJStringFormatter*::stopInversion
    - auto::addAngularUnitConvertAndAxisSwap
    - dynamic_cast<const crs::GeographicCRS *>
    - auto::method
    - io::PROJStringFormatter*::pushOmitZUnitConversion
    - dynamic_cast<Transformation *>
    - io::PROJStringFormatter*::addStep
    - auto::parameterValueNumericAsSI
    - std::string
    - _exportToPROJString
    - io::PROJStringFormatter*::addParam
    - io::PROJStringFormatter*::startInversion
    - io::PROJStringFormatter*::popOmitZUnitConversion
    - io::PROJStringFormatter*::pushOmitHorizontalConversionInVertTransformation
    - get
    - dynamic_cast<const crs::ProjectedCRS *>
    - targetCRS
    - sourceCRS
    - io::PROJStringFormatter*::popOmitHorizontalConversionInVertTransformation
    - auto::addUnitConvertAndAxisSwap
    linkageType: ''
    returnType: void
    signature: void _exportToPROJString(io::PROJStringFormatter *formatter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2565
    functionName: "MyPROJStringExportableHorizVerticalHorizPROJBased::\n    ~MyPROJStringExportableHorizVerticalHorizPROJBased()"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MyPROJStringExportableHorizVerticalHorizPROJBased::\n    ~MyPROJStringExportableHorizVerticalHorizPROJBased()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - horizTransformIn
    argTypes:
    - CoordinateOperationPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2575
    functionName: MyPROJStringExportableHorizNullVertical
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MyPROJStringExportableHorizNullVertical(\n        const CoordinateOperationPtr
      &horizTransformIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::PROJStringFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2579
    functionDepth: 1
    functionLinenumber: 2579
    functionLinenumberEnd: 2584
    functionName: _exportToPROJString
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 27
    functionsReached:
    - _exportToPROJString
    linkageType: ''
    returnType: void
    signature: void _exportToPROJString(io::PROJStringFormatter *formatter) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2588
    functionName: "MyPROJStringExportableHorizNullVertical::\n    ~MyPROJStringExportableHorizNullVertical()"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MyPROJStringExportableHorizNullVertical::\n    ~MyPROJStringExportableHorizNullVertical()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2597
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2598
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2599
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2600
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2597
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2598
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2599
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2600
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2597
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2598
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2599
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2600
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2597
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2598
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2599
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2600
    functionName: nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - BBCount: 434
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<SingleOperation>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2640,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2641,1
    - Dst: util::nn_make_shared<MyPROJStringExportableGeodToGeod>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2652,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2653,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2654,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2657,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2659,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2659,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2659,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2662,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2672,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2673,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2674,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2678,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2679,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2680,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2680,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2686,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2687,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2688,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2689,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2690,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2691,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2691,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2692,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2693,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2695,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2696,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2697,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2697,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2698,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2699,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2705,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2723,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2724,1
    - Dst: util::nn_make_shared<MyPROJStringExportableHorizVertical>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2726,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2730,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2730,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2731,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2733,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2734,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2735,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2737,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2739,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2740,1
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2742,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2743,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2744,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2746,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2747,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2748,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2748,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2749,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2749,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2751,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2753,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2758,1
    - Dst: InvalidOperationEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2763,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2765,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2766,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2767,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2770,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2771,1
    - Dst: getRemarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2774,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2775,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2776,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2780,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2782,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2783,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2783,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2786,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2788,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2789,1
    - Dst: util::nn_make_shared<MyPROJStringExportableHorizVerticalHorizPROJBased>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2803,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2808,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2808,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2809,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2810,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2812,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2813,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2813,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2814,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2815,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2821,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2821,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2822,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2824,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2825,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2835,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2836,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2836,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2837,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2839,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2843,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2848,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2851,1
    - Dst: InvalidOperationEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2856,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2858,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2859,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2862,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2863,1
    - Dst: getRemarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2867,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2868,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2872,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2874,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2875,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2875,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2878,1
    - Dst: util::nn_make_shared<MyPROJStringExportableHorizNullVertical>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2890,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2895,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2897,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2898,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2901,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2903,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2904,1
    - Dst: getRemarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2907,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2908,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2909,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2912,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2929,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2929,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2930,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2930,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2932,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2933,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2935,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2935,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2937,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2938,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2939,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2943,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2944,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2945,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2946,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2949,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2950,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2951,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2952,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2955,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2955,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2955,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2957,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2959,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2963,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2963,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2964,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2969,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2969,1
    - Dst: auto::axisOrder
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2971,1
    - Dst: auto::axisOrder
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2972,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2985,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2985,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2993,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2994,1
    - Dst: common::Angle::value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2996,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3000,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3002,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3003,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3005,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3006,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3007,1
    - Dst: push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3008,1
    - Dst: createGeodToGeodPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3011,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3012,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3013,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3020,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3021,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3022,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3030,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3031,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3033,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3033,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3035,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3035,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3036,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3043,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3043,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3044,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3045,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3045,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3046,1
    - Dst: primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3046,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3047,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3049,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3051,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3051,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3052,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3058,1
    - Dst: createBallparkGeographicOffset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3058,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3061,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3061,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3062,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3064,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3064,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3064,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3072,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3072,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3073,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3074,1
    - Dst: ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3074,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3075,1
    - Dst: auto::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3075,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3076,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3078,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3079,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3080,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3081,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3085,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3085,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3086,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3088,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3088,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3089,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3093,1
    - Dst: createBallparkGeographicOffset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3093,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3096,1
    - Dst: createBallparkGeographicOffset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3096,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3101,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3102,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3103,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3104,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3111,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3114,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3114,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3116,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3117,1
    - Dst: setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3131,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3131,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3139,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3139,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3142,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3144,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3145,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3146,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3176,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3177,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3177,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3178,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3178,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3186,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3196,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3197,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3199,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3199,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3200,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3201,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3201,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3202,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3202,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3204,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3204,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3205,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3206,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3206,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3207,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3207,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3216,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3217,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3229,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3229,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3230,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3231,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3233,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3235,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3236,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3239,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3241,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3245,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3247,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3248,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3251,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3252,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3261,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3263,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3265,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3267,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3267,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3270,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3270,1
    - Dst: std::max<size_t>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3273,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3274,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3274,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3274,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3279,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3284,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3284,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3285,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3285,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3291,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3291,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3294,1
    - Dst: CoordinateOperationNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3297,1
    - Dst: CoordinateOperationNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3298,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3298,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3298,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3302,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3302,1
    - Dst: CoordinateOperationNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3304,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3306,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3307,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3309,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3310,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3311,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3311,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3311,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3315,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3317,1
    - Dst: dynamic_cast<ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3327,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3328,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3331,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3332,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3333,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3333,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3334,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3335,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3336,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3337,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3338,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3341,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3342,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3344,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3344,1
    - Dst: CoordinateOperationNNPtr::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3345,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3346,1
    - Dst: CoordinateOperationNNPtr::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3347,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3348,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3352,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3354,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3355,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3357,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3358,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3359,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3362,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3365,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3366,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3367,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3367,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3368,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3368,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3369,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3369,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3370,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3371,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3371,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3372,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3372,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3377,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3380,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3380,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3382,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3382,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3384,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3384,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3387,1
    - Dst: emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3390,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3391,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3392,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3437,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3438,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3438,1
    - Dst: isIGNF
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3440,1
    - Dst: isIGNF
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3440,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3444,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3444,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3445,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3455,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3455,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3457,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3459,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3460,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3463,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3463,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3465,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3469,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3474,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3474,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3475,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3475,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3476,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3476,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3477,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3477,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3478,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3478,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3480,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3483,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3483,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3485,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3485,1
    - Dst: createTransformations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3486,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3489,1
    - Dst: hasResultSetOnlyResultsWithPROJStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3490,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3502,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3502,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3504,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3508,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3508,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3511,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3513,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3513,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3515,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3515,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3519,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3519,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3524,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3524,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3524,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3525,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3525,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3526,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3526,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3527,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3527,1
    - Dst: createTransformations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3529,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3532,1
    - Dst: hasResultSetOnlyResultsWithPROJStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3532,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3547,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3549,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3551,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3552,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3553,1
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3564,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3568,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3587,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3587,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3587,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3588,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3588,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3600,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3618,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3618,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3619,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3619,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3622,1
    - Dst: getExtensionProj4
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3623,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3625,1
    - Dst: getExtensionProj4
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3626,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3627,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3627,1
    - Dst: createOperationsFromProj4Ext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3628,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3633,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3633,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3634,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3634,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3635,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3635,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3636,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3636,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3637,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3637,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3638,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3638,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3641,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3641,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3642,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3642,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3643,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3646,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3647,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3649,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3650,1
    - Dst: createOperationsFromDatabase
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3652,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3659,1
    - Dst: createOperationsFromSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3660,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3664,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3665,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3665,1
    - Dst: createOperationsGeodToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3671,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3677,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3678,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3679,1
    - Dst: createOperationsFromBoundOfSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3680,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3682,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3686,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3687,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3688,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3689,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3689,1
    - Dst: createOperationsDerivedTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3698,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3705,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3705,1
    - Dst: createOperationsBoundToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3711,1
    - Dst: createOperationsToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3715,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3722,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3722,1
    - Dst: createOperationsBoundToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3729,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3736,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3736,1
    - Dst: createOperationsVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3741,1
    - Dst: createOperationsVertToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3749,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3756,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3756,1
    - Dst: createOperationsBoundToBound
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3762,1
    - Dst: dynamic_cast<crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3767,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3767,1
    - Dst: createOperationsCompoundToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3770,1
    - Dst: createOperationsToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3775,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3781,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3781,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3783,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3783,1
    - Dst: createOperationsCompoundToCompound
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3788,1
    - Dst: createOperationsBoundToCompound
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3798,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3805,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3805,1
    - Dst: dynamic_cast<const crs::EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3809,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3809,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3810,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3810,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3813,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3815,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3816,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3816,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3817,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3822,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3825,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3826,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3829,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3830,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3832,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3845,1
    - Dst: dynamic_cast<const io::IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3847,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3848,1
    - Dst: dynamic_cast<const io::IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3849,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3850,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3852,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3855,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3857,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3858,1
    - Dst: auto::setLegacyCRSToCRSContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3859,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3860,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3861,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3861,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3862,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3863,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3863,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3865,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3866,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3866,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3867,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3867,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3870,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3872,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3872,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3873,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3874,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3874,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3876,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3877,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3877,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3878,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3878,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3881,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3883,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3883,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3883,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3884,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3884,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3885,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3904,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3904,1
    - Dst: context::getAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3905,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3908,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3908,1
    - Dst: extent1::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3912,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3914,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3914,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3916,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3916,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3919,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3919,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3925,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3929,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3929,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3930,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3932,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3933,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3934,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3935,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3936,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3936,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3937,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3938,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3938,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3941,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3941,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3942,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3944,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3944,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3945,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3947,1
    - Dst: datums
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3966,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3967,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3967,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3984,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3984,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3986,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3987,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3991,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3992,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3993,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3994,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3997,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3999,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4001,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4003,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4004,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4006,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4009,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4009,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4010,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4014,1
    - Dst: auto::remarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4034,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4060,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4063,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4070,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4083,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4084,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4093,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4094,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4095,1
    - Dst: auto::domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4096,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4097,1
    - Dst: context::getAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4102,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4103,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4104,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4110,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4111,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4112,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4115,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4117,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4117,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4122,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4122,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4127,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4128,1
    - Dst: std::static_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4129,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4130,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4131,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4136,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4136,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4138,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4139,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4140,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4140,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4140,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4142,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4143,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4144,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4147,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4147,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4151,1
    - Dst: std::vector::clear
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4152,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4153,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4156,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4156,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4157,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4158,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4159,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4162,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4163,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4164,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4166,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4167,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4169,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4171,1
    - Dst: "ConcatenatedOperation::\n                                    createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4172,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4174,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4175,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4177,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4177,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4178,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4187,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4187,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4189,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4190,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4191,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4192,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4193,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4194,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4195,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4196,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4201,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4202,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4209,1
    - Dst: std::vector::clear
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4210,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4211,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4215,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4216,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4217,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4219,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4221,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4222,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4222,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4224,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4225,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4226,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4227,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4227,1
    - Dst: "ConcatenatedOperation::\n                                    createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4229,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4232,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4233,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4258,1
    - Dst: createOperationsFromDatabase
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4261,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4264,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4266,1
    - Dst: createOperationsGeogToVertFromGeoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4266,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4268,1
    - Dst: createOperationsVertToGeogSynthetized
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4269,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4274,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4279,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4280,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4281,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4282,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4284,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4285,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4286,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4288,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4290,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4292,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4293,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4296,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4296,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4298,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4299,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4300,1
    - Dst: cloneWithEpochs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4302,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4305,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4306,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4308,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4309,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4311,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4311,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4312,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4312,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4314,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4316,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4317,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4319,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4319,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4322,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4322,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4323,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4323,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4325,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4326,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4327,1
    - Dst: createOperationsGeodToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4335,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4346,1
    - Dst: hasPerfectAccuracyResult
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4351,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4360,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4362,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4365,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4366,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4367,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4367,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4370,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4371,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4371,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4372,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4375,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4378,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4379,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4380,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4380,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4383,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4384,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4384,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4385,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4389,1
    - Dst: createOperationsFromDatabaseWithVertCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4390,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4396,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4397,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4399,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4400,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4402,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4404,1
    - Dst: createOperationsWithDatumPivot
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4415,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4418,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4433,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4435,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4436,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4443,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4450,1
    - Dst: context::getAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4452,1
    - Dst: context::getAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4455,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4457,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4458,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4460,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4460,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4460,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4461,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4462,1
    - Dst: context::getIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4469,1
    - Dst: context::getAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4470,1
    - Dst: useOnlyReplacedOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4473,1
    - Dst: hasTooSmallAreas
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4474,1
    - Dst: auto::requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4477,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4483,1
    - Dst: allRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4488,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4488,1
    - Dst: auto::isDynamic
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4489,1
    - Dst: useOnlyIntermediateCRSThroughDatumEnsembleNullOp
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4492,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4498,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4498,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4503,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4505,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4508,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4508,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4508,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4509,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4513,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4513,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4513,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4514,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4516,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4530,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4531,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4533,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4534,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4534,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4534,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4535,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4535,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4536,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4537,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4537,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4537,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4538,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4538,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4542,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4543,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4544,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4545,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4546,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4547,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4549,1
    - Dst: auto::domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4550,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4551,1
    - Dst: createOperationsEnsembleCRSToOtherGeodCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4552,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4556,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4556,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4559,1
    - Dst: auto::domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4560,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4561,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4563,1
    - Dst: createOperationsEnsembleCRSToOtherGeodCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4563,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4567,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4567,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4571,1
    - Dst: hasPerfectAccuracyResult
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4577,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4590,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4591,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4592,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4593,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4595,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4596,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4597,1
    - Dst: auto::createVerticalCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4599,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4601,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4606,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4610,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4611,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4612,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4613,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4614,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4615,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4616,1
    - Dst: dynamic_cast<const datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4618,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4619,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4633,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4642,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4642,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4643,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4644,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4647,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4647,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4649,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4650,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4651,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4653,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4656,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4656,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4657,1
    - Dst: createOperationsGeogToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4660,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4661,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4661,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4663,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4663,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4665,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4665,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4666,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4671,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4671,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4672,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4675,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4675,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4676,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4677,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4679,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4680,1
    - Dst: createOperationsVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4684,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4684,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4684,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4686,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4686,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4687,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4687,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4688,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4689,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4698,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4699,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4702,1
    - Dst: auto::rfind
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4703,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4706,1
    - Dst: auto::rfind
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4709,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4711,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4719,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4720,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4722,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4726,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4727,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4728,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4728,1
    - Dst: demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4729,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4729,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4730,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4732,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4733,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4735,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4736,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4737,1
    - Dst: getNameVertCRSMetre
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4739,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4739,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4740,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4740,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4741,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4743,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4745,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4751,1
    - Dst: DatabaseContext::getTransformationsForGridName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4755,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4756,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4769,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4770,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4772,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4773,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4775,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4778,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4780,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4785,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4786,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4788,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4790,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4797,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4798,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4799,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4807,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4811,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4813,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4814,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4815,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4816,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4820,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4821,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4824,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4826,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4830,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4832,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4834,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4835,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4837,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4839,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4840,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4842,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4845,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4847,1
    - Dst: getProjGeoidTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4849,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4850,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4850,1
    - Dst: auto::getTransformationsForGeoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4851,1
    - Dst: context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4853,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4855,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4856,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4857,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4858,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4859,1
    - Dst: useTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4859,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4860,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4861,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4862,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4863,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4864,1
    - Dst: useTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4864,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4864,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4883,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4891,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4900,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4901,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4903,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4904,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4908,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4910,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4914,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4916,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4918,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4919,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4920,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4922,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4924,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4925,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4926,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4927,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4931,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4961,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4969,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4979,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4982,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4990,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4991,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4993,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4994,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5000,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5002,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5007,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5009,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5011,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5013,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5014,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5016,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5017,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5032,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5033,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5034,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5036,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5037,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5041,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5043,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5045,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5047,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5049,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5051,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5052,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5054,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5055,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5078,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5086,1
    - Dst: findOpsInRegistryDirectTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5097,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5100,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5100,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5101,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5102,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5105,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5105,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5107,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5108,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5111,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5113,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5115,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5115,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5116,1
    - Dst: createOperationsGeogToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5119,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5121,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5121,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5122,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5123,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5125,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5125,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5126,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5127,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5128,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5129,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5131,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5154,1
    - Dst: createOperationsGeogToVertWithIntermediateVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5157,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5159,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5162,1
    - Dst: createOperationsGeogToVertWithIntermediateVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5162,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5173,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5174,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5175,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5176,1
    - Dst: findCandidateGeodCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5177,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5179,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5182,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5185,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5188,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5189,1
    - Dst: geog3DToVertTryThroughGeog2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5199,1
    - Dst: geog3DToVertTryThroughGeog2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5201,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5202,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5210,1
    - Dst: createOperationsVertToVertWithIntermediateVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5213,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5221,1
    - Dst: createOperationsGeogToVertWithAlternativeGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5224,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5226,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5229,1
    - Dst: createOperationsGeogToVertWithAlternativeGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5229,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5242,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5244,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5245,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5246,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5246,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5247,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5250,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5250,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5251,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5252,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5253,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5253,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5254,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5256,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5257,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5258,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5259,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5259,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5263,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5265,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5272,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5272,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5276,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5277,1
    - Dst: createOperationsGeogToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5280,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5285,1
    - Dst: auto::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5287,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5291,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5293,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5296,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5297,1
    - Dst: IsSameDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5305,1
    - Dst: createGeodToGeodPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5307,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5308,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5309,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5311,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5311,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5319,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5322,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5322,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5323,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5323,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5327,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5327,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5328,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5329,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5330,1
    - Dst: createBallparkGeocentricTranslation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5332,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5334,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5340,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5342,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5343,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5344,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5344,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5348,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5348,1
    - Dst: EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5349,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5353,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5354,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5355,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5356,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5359,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5360,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5362,1
    - Dst: createOperationsGeodToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5370,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5372,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5381,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5382,1
    - Dst: IsSameDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5383,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5386,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5388,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5389,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5389,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5390,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5395,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5397,1
    - Dst: createBallparkGeocentricTranslation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5398,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5405,1
    - Dst: createGeodToGeodPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5405,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5419,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5423,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5425,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5428,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5429,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5432,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5432,1
    - Dst: IsSameDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5433,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5434,1
    - Dst: Conversion::createGeographicGeocentricLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5434,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5441,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5444,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5444,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5445,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5445,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5448,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5448,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5449,1
    - Dst: Conversion::createGeographicGeocentricLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5453,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5454,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5458,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5458,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5459,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5474,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5478,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5481,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5481,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5482,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5482,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5484,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5485,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5485,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5486,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5491,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5494,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5495,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5495,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5498,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5498,1
    - Dst: Conversion::createGeographicGeocentricLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5501,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5502,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5502,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5503,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5504,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5505,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5508,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5512,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5512,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5513,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5513,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5514,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5515,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5531,1
    - Dst: auto::derivingConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5533,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5536,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5537,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5538,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5542,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5542,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5548,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5549,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5550,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5550,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5551,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5551,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5552,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5552,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5553,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5553,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5554,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5554,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5556,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5557,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5557,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5557,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5558,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5560,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5562,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5569,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5569,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5570,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5584,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5586,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5587,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5587,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5588,1
    - Dst: std::dynamic_pointer_cast<crs::DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5593,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5596,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5597,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5599,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5604,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5606,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5608,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5614,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5615,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5616,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5618,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5619,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5619,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5620,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5628,1
    - Dst: auto::is2DPartOf3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5630,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5630,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5634,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5635,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5638,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5638,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5639,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5640,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5641,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5642,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5642,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5643,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5646,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5649,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5650,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5651,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5652,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5653,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5659,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5659,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5663,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5664,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5664,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5665,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5666,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5667,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5671,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5673,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5673,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5675,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5675,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5676,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5677,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5678,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5682,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5688,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5689,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5691,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5692,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5692,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5693,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5694,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5695,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5696,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5697,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5698,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5698,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5700,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5701,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5703,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5704,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5705,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5706,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5707,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5708,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5708,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5709,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5715,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5717,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5717,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5719,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5719,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5720,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5721,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5722,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5723,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5728,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5738,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5739,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5741,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5742,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5744,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5745,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5747,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5748,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5749,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5751,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5752,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5752,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5754,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5754,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5755,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5756,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5756,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5757,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5760,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5761,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5761,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5762,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5764,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5765,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5765,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5767,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5767,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5768,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5769,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5770,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5773,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5774,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5776,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5780,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5788,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5790,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5790,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5791,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5792,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5792,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5793,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5794,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5795,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5796,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5796,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5797,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5800,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5801,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5802,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5803,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5810,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5810,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5818,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5819,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5820,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5821,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5822,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5823,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5824,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5824,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5829,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5830,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5832,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5833,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5835,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5844,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5851,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5851,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5857,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5858,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5859,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5860,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5862,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5864,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5866,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5867,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5867,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5868,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5869,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5873,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5875,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5877,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5879,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5881,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5883,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5888,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5891,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5892,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5895,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5897,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5899,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5899,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5900,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5905,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5906,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5908,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5913,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5918,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5919,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5920,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5921,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5921,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5926,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5928,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5929,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5932,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5943,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5950,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5950,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5951,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5952,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5963,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5966,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5966,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5967,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5968,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5968,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5970,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5972,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5972,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5976,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5976,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5977,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5978,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5986,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5986,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5986,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6001,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6003,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6005,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6007,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6008,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6009,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6010,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6012,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6013,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6014,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6015,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6016,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6017,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6018,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6019,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6024,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6027,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6028,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6031,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6032,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6035,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6036,1
    - Dst: getBallparkTransformationVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6041,1
    - Dst: Transformation::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6042,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6043,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6047,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6048,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6049,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6051,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6051,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6051,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6052,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6053,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6056,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6057,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6058,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6060,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6060,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6060,1
    - Dst: Conversion::createHeightDepthReversal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6061,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6062,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6063,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6064,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6079,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6081,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6082,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6083,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6086,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6089,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6090,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6091,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6092,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6094,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6095,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6096,1
    - Dst: util::nn_dynamic_pointer_cast<crs::VerticalCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6097,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: createOperationsVertToGeogSynthetized
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6107,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6119,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6121,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6122,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6124,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6127,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6129,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6130,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6131,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6133,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6134,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6139,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6142,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6143,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6146,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6147,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6149,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6151,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6153,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6154,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6155,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6156,1
    - Dst: geogCRSOfVertCRSStack::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6166,1
    - Dst: geogCRSOfVertCRSStack::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6167,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6174,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6174,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6175,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6176,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6179,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6179,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6179,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6186,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6188,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6192,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6193,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6194,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6195,1
    - Dst: Transformation::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6197,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6199,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6200,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6201,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6212,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6215,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6216,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6216,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6217,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6218,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6218,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6220,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6222,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6223,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6224,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6225,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6226,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6227,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6232,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6233,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6234,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6235,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6236,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6241,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6249,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6249,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6251,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6251,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6254,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6256,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6259,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6260,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6261,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6261,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6262,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6263,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6264,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6266,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6267,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6267,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6268,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6268,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6275,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6276,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6278,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6281,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6282,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6283,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6284,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6285,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6286,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6287,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6287,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6291,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6292,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6294,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6299,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6305,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6306,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6306,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6307,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6307,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6314,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6314,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6316,1
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6331,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6340,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6341,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6344,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6344,1
    - Dst: normalize2D3DInName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6346,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6346,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6347,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6348,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6353,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6353,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6355,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6356,1
    - Dst: normalize2D3DInName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6363,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6363,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6364,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6365,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6365,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6373,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6374,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6375,1
    - Dst: normalize2D3DInName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6380,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6380,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6396,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6396,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6398,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6399,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6401,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6406,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6406,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6419,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6421,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6424,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6431,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6432,1
    - Dst: crs::GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6437,1
    - Dst: crs::GeographicCRSPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6444,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6444,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6463,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6465,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6466,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6467,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6470,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6473,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6475,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6475,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6478,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6479,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6481,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6482,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6484,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6486,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6488,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6488,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6490,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6494,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6495,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6496,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6497,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6504,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6505,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6512,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6513,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6514,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6515,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6515,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6516,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6517,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6518,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6520,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6520,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6524,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6524,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6528,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6529,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6530,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6531,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6537,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6538,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6544,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6546,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6549,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6554,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6556,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6557,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6558,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6560,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6562,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6568,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6569,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6569,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6570,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6579,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6579,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6581,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6582,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6585,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6585,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6586,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6587,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6589,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6591,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6592,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6594,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6596,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6598,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6598,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6600,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6604,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6605,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6606,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6607,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6619,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6621,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6621,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6623,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6623,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6624,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6625,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6627,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6628,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6630,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6633,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6634,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6637,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6638,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6639,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6640,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6641,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6642,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6643,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6644,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6647,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6647,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6648,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6649,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6650,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6651,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6652,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6652,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6653,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6654,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6655,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6656,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6658,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6659,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6660,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6663,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6664,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6664,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6666,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6667,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6667,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6670,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6671,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6674,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6681,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6688,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6689,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6692,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6693,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6693,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6694,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6700,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6702,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6716,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6719,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6743,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6744,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6751,1
    - Dst: geogCRSOfVertCRSStack::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6768,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6769,1
    - Dst: geogCRSOfVertCRSStack::pop_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6774,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6782,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6783,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6784,1
    - Dst: context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6787,1
    - Dst: hasAtLeastOneOpWithNonTrivialAndWithAllGrids
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6793,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6797,1
    - Dst: auto::is2DPartOf3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6799,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6799,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6801,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6802,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6804,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6805,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6811,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6812,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6813,1
    - Dst: hasAtLeastOneOpWithNonTrivialAndWithAllGrids
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6818,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6823,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6825,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6825,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6826,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6827,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6841,1
    - Dst: std::find_if
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6844,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6844,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6845,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6846,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6850,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6852,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6853,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6856,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6857,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6859,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6860,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6861,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6862,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6863,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6866,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6867,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6868,1
    - Dst: std::map::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6869,1
    - Dst: std::make_pair
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6870,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6870,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6871,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6881,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6882,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6883,1
    - Dst: std::find_if
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6886,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6886,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6887,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6889,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6891,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6892,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6893,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6895,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6896,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6897,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6900,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6902,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6904,1
    - Dst: "ConcatenatedOperation::\n                                                    createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6905,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6908,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6921,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6921,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6922,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6935,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6936,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6936,1
    - Dst: getInterpolationGeogCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6939,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6942,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6942,1
    - Dst: crs::GeographicCRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6942,1
    - Dst: crs::GeographicCRSPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6949,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6950,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6952,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6952,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6963,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6964,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6965,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6966,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6973,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6973,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6975,1
    - Dst: demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6976,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6976,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6979,1
    - Dst: crs::GeographicCRSPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6980,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6981,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6986,1
    - Dst: crs::GeographicCRSPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6998,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6999,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7001,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7002,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7005,1
    - Dst: "cs::VerticalCS::\n                                          createGravityRelatedHeight"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7006,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7010,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7011,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7012,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7020,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7020,1
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7022,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7025,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7025,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7030,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7031,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7032,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7034,1
    - Dst: computeOpsToInterp
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7038,1
    - Dst: PairOfTransforms
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7040,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7047,1
    - Dst: computeOpsToInterp
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7051,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7055,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7058,1
    - Dst: demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7059,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7059,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7067,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7069,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7069,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7080,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7081,1
    - Dst: addDatumOfToSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7083,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7084,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7084,1
    - Dst: addDatumOfToSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7085,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7086,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7086,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7107,1
    - Dst: makeDatumSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7107,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7107,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7110,1
    - Dst: makeDatumSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7110,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7110,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7115,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7115,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7120,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7121,1
    - Dst: useCompatibleTransformationsForSameSourceTarget
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7122,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7125,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7126,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7127,1
    - Dst: createHorizVerticalHorizPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7135,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7139,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7140,1
    - Dst: getInterpolationGeogCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7151,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7154,1
    - Dst: createHorizVerticalPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7162,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7165,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7166,1
    - Dst: EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7185,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7188,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7188,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7189,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7190,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7193,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7193,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7194,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7196,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7198,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7200,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7201,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7201,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7203,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7203,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7204,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7204,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7205,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7223,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7224,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7225,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7225,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7225,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7228,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7229,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7233,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7234,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7235,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7237,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7238,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7238,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7241,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7241,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7242,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7246,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7246,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7247,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7248,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7250,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7251,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7252,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7253,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7254,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7254,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7255,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7257,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7259,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7262,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7264,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7266,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7268,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7269,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7271,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7281,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7290,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7290,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7292,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7292,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7294,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7294,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7296,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7296,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7298,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7298,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7300,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7301,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7303,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7306,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7306,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7307,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7309,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7314,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7315,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7317,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7329,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7330,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7331,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7333,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7334,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7336,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7337,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7340,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7341,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7342,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7343,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7344,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7345,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7346,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7347,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7348,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7349,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7350,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7351,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7352,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7353,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7354,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7355,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7356,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7357,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7358,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7359,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7360,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7361,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7362,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7363,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7364,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7365,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7366,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7367,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7368,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7369,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7375,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7387,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7388,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7390,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7391,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7392,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7393,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7402,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7404,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7409,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7410,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7412,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7420,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7420,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7422,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7422,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7426,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7427,1
    - Dst: createWithIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7429,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7430,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7430,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7431,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7438,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7439,1
    - Dst: createWithIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7441,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7442,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7442,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7443,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7452,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7454,1
    - Dst: auto::gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7466,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7467,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7480,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7481,1
    - Dst: hasKnownGrid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7482,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7482,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7485,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7487,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7493,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7495,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7500,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7506,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7511,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7517,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7518,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7527,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7528,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7528,1
    - Dst: getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7530,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7530,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7557,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7559,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7564,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7570,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7575,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7581,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7582,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7585,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7588,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7588,1
    - Dst: getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7590,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7590,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7613,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7617,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7617,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7618,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7623,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7624,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7626,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7627,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7628,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7630,1
    - Dst: createOpsInTwoSteps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7631,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7637,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7638,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7640,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7641,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7642,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7643,1
    - Dst: createOpsInTwoSteps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7644,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7649,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7655,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7663,1
    - Dst: std::static_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7663,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7664,1
    - Dst: std::static_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7666,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7668,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7672,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7672,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7674,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7674,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7676,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7677,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7678,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7679,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7682,1
    - Dst: util::nn_dynamic_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7682,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7683,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7685,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7686,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7688,1
    - Dst: std::static_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7689,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7696,1
    - Dst: has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7696,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7697,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7698,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7699,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7700,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7701,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7703,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7703,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7707,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7707,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7711,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7712,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7713,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7714,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7714,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7719,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7723,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7726,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7732,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7733,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7734,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7735,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7736,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7737,1
    - Dst: createHorizVerticalHorizPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7742,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7744,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7745,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7752,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7753,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7754,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7755,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7755,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7756,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7756,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7757,1
    - Dst: getBallparkTransformationVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7758,1
    - Dst: createOperationsFromDatabase
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7773,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7774,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7775,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7779,1
    - Dst: createHorizNullVerticalPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7779,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7785,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7786,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7787,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7788,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7790,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7791,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7791,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7792,1
    - Dst: context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7805,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7807,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7809,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7815,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7816,1
    - Dst: util::nn_dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7818,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7820,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7820,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7822,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7823,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7824,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7826,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7827,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7830,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7832,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7833,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7835,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7836,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7838,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7839,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7841,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7842,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7843,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7845,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7846,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7847,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7848,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7850,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7851,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7851,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7852,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7860,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7862,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7862,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7865,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7865,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7867,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7868,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7871,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7873,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7874,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7875,1
    - Dst: "cs::EllipsoidalCS::\n                        createLatitudeLongitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7877,1
    - Dst: "util::nn_static_pointer_cast<\n                        crs::CRS>"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7881,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7882,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7883,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7885,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7888,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7889,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7890,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7891,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7892,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7894,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7895,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7896,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7900,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7900,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7901,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7902,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7910,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7911,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7911,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7913,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7913,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7914,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7916,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7917,1
    - Dst: "ConcatenatedOperation::\n                                            createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7918,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7920,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7922,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7926,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7927,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7930,1
    - Dst: dynamic_cast<const crs::SingleCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7943,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7943,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7944,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7946,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7946,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7947,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7949,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7951,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7952,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7953,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7956,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7957,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7960,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7960,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7961,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7962,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7963,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7964,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7964,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7965,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7969,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7970,1
    - Dst: disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7972,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7977,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7985,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7985,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7986,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7987,1
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8019,1
    - Dst: canonicalBoundCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8024,1
    - Dst: canonicalBoundCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8025,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8026,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8027,1
    - Dst: getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8028,1
    - Dst: crs::CRS::getResolvedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8032,1
    - Dst: crs::CRS::getResolvedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8035,1
    - Dst: getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8036,1
    - Dst: metadata::ExtentPtr::reset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8039,1
    - Dst: metadata::ExtentPtr::reset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8040,1
    - Dst: getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8044,1
    - Dst: metadata::ExtentPtr::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8047,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8047,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8048,1
    - Dst: filterAndSort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8052,1
    - Dst: CoordinateOperationFactory::createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8053,1
    - Dst: getSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8054,1
    - Dst: getTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8055,1
    - Dst: getSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8058,1
    - Dst: getTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8059,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8061,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8061,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8063,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8064,1
    - Dst: getSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8065,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8066,1
    - Dst: getTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8067,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8068,1
    - Dst: clone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8090,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8091,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8092,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8093,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8093,1
    - Dst: clone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8112,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8113,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8114,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8115,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8115,1
    - Dst: clone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8140,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8141,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8142,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8143,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8144,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8145,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8145,1
    - Dst: crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8146,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8154,1
    - Dst: CoordinateOperationFactory::make_unique<CoordinateOperationFactory>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8155,1
    CyclomaticComplexity: 1043
    EdgeCount: 1043
    ICount: 1893
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!tmp.empty())
      pos:
        line_end: 4685
        line_start: 4685
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (targetCRS.get() == geogDst)
      pos:
        line_end: 2929
        line_start: 2929
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsIntermediate.empty())
      pos:
        line_end: 5641
        line_start: 5641
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsVertToVertWithIntermediateVert)
      pos:
        line_end: 4968
        line_start: 4968
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (sourceCRS.get() == geogSrc)
      pos:
        line_end: 2928
        line_start: 2928
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (geogCRS)
      pos:
        line_end: 4642
        line_start: 4642
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (geogDst)
      pos:
        line_end: 2723
        line_start: 2723
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (opsUnitConvert.size() == 1)
      pos:
        line_end: 5124
        line_start: 5124
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.skipHorizontalTransformation)
      pos:
        line_end: 6750
        line_start: 6750
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsIntermediate.empty())
      pos:
        line_end: 5707
        line_start: 5707
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (datum)
      pos:
        line_end: 4589
        line_start: 4589
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 6597
        line_start: 6597
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (geogCRS)
      pos:
        line_end: 5100
        line_start: 5100
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 6487
        line_start: 6487
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsGeogToVertWithAlternativeGeog)
      pos:
        line_end: 5085
        line_start: 5085
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithDatumPivotAntiRecursion)
      pos:
        line_end: 4069
        line_start: 4069
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsGeogToVertWithIntermediateVert)
      pos:
        line_end: 4890
        line_start: 4890
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithIntermediate)
      pos:
        line_end: 4062
        line_start: 4062
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (srcEnsemble)
      pos:
        line_end: 4094
        line_start: 4094
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithDatumPivotAntiRecursion)
      pos:
        line_end: 3185
        line_start: 3185
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 3482
        line_start: 3482
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!tmp.empty())
      pos:
        line_end: 4310
        line_start: 4310
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsThird.empty())
      pos:
        line_end: 3269
        line_start: 3269
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (opsUnitConvert.size() == 1)
      pos:
        line_end: 4664
        line_start: 4664
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (targetOp)
      pos:
        line_end: 4675
        line_start: 4675
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 3512
        line_start: 3512
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!tmp.empty())
      pos:
        line_end: 4321
        line_start: 4321
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsGeogToGeogWithAlternativeGeog)
      pos:
        line_end: 4059
        line_start: 4059
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 8160
      start: 2604
    functionDepth: 5
    functionLinenumber: 2604
    functionLinenumberEnd: 8160
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - getExtent
    - findsOpsInRegistryWithIntermediate
    - std::vector::front
    - dynamic_cast<const crs::DerivedCRS *>
    - PROJBasedOperation::create
    - common::Angle::value
    - context::getAllowUseIntermediateCRS
    - auto::componentReferenceSystems
    - dynamic_cast<const datum::VerticalReferenceFrame *>
    - std::vector::push_back
    - util::nn_make_shared<MyPROJStringExportableHorizNullVertical>
    - dynamic_cast<const crs::EngineeringCRS *>
    - getPseudoArea
    - as_nullable
    - createOperationsCompoundToCompound
    - createOperationsWithDatumPivot
    - auto::isGeocentric
    - starts_with
    - createHorizVerticalHorizPROJBased
    - util::optional<common::DataEpoch>
    - getAccuracy
    - dynamic_cast<crs::VerticalCRS *>
    - dynamic_cast<const SingleOperation *>
    - auto::end
    - createOperationsBoundToBound
    - getTargetCoordinateEpoch
    - sourceCRS
    - std::map::end
    - buildTransfName
    - createLength
    - PositionalAccuracy::create
    - auto::interpolationCRS
    - auto::setCRSs
    - isEquivalentTo
    - objectAsStr
    - hasResultSetOnlyResultsWithPROJStep
    - auto::setTargetCoordinateEpoch
    - isSameGeodeticDatum
    - auto::promoteTo3D
    - hasPerfectAccuracyResult
    - Transformation::createGeocentricTranslations
    - InvalidOperationEmptyIntersection
    - auto::ellipsoid
    - crs::GeographicCRSPtr::get
    - CoordinateOperationFactory::createOperations
    - auto::setInterpolationCRS
    - auto::intersection
    - Transformation::createGravityRelatedHeightToGeographic3D
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - geog3DToVertTryThroughGeog2D
    - auto::derivingConversion
    - auto::celestialBody
    - buildOpName
    - coordinateOperationAccuracies
    - std::vector::insert
    - createBallparkGeographicOffset
    - geogCRSOfVertCRSStack::back
    - FilterResults
    - auto::createCoordinateReferenceSystem
    - crs::GeographicCRSPtr::identifiers
    - auto::setSourceCoordinateEpoch
    - "ConcatenatedOperation::\n                                        createComputeMetadata"
    - ConcatenatedOperation::createComputeMetadata
    - datums
    - auto::getPointMotionOperationsFor
    - shallowClone
    - createOperationsFromProj4Ext
    - auto::datum
    - useTransf
    - createOperationsCompoundToGeog
    - createOperationsGeodToGeod
    - util::nn_dynamic_pointer_cast<crs::GeographicCRS>
    - unit
    - std::map::find
    - "ConcatenatedOperation::\n                                            createComputeMetadata"
    - dynamic_cast<const crs::GeodeticCRS *>
    - std::vector::begin
    - auto::unit
    - empty
    - auto::empty
    - std::vector::emplace_back
    - hasAtLeastOneOpWithNonTrivialAndWithAllGrids
    - dynamic_cast<const crs::VerticalCRS *>
    - buildConvName
    - addDatumOfToSet
    - auto::addAngularUnitConvertAndAxisSwap
    - getInterpolationGeogCRS
    - coordinateSystem
    - auto::geoidModel
    - auto::emplace_back
    - createGeodToGeodPROJBased
    - dynamic_cast<const Transformation *>
    - std::move
    - createOperationsVertToVertWithIntermediateVert
    - "ConcatenatedOperation::\n                                    createComputeMetadata"
    - auto::begin
    - getBallparkTransformationVertToVert
    - util::nn_make_shared<MyPROJStringExportableGeodToGeod>
    - auto::toString
    - context::getUsePROJAlternativeGridNames
    - hasNonTrivialTransf
    - AuthorityFactory::create
    - isDatumInEnsemble
    - dynamic_cast<crs::GeographicCRS *>
    - auto::datumNonNull
    - createOperationsFromSphericalPlanetocentric
    - auto::createGeographicCRS
    - std::string::substr
    - auto::setProperties
    - extent1::intersection
    - std::string::empty
    - auto::set
    - CoordinateOperationFactory::make_unique<CoordinateOperationFactory>
    - auto::createObjectsFromName
    - auto::isEquivalentTo
    - toString
    - NN_NO_CHECK
    - createOperationsBoundToCompound
    - clone
    - context::getAuthorityFactory
    - EllipsoidalCS::createLatitudeLongitude
    - auto::hubCRS
    - auto::convertToUnit
    - assert
    - dynamic_cast<const crs::SingleCRS *>
    - Conversion::createChangeVerticalUnit
    - hasIdentifiers
    - applyInverse
    - createOperationsVertToGeogSynthetized
    - CompoundCRS::create
    - getProjGeoidTransformation
    - VerticalCS::createGravityRelatedHeight
    - Scale::Scale
    - "cs::EllipsoidalCS::\n                        createLatitudeLongitudeEllipsoidalHeight"
    - computeOpsToInterp
    - createOperationsVertToVert
    - identifiers
    - insert
    - auto::coordinateSystem
    - dynamic_cast<crs::BoundCRS *>
    - dynamic_cast<const crs::GeographicCRS *>
    - code
    - std::dynamic_pointer_cast<crs::DerivedGeographicCRS>
    - createOperationsVertToGeog
    - Conversion::createGeographicGeocentricLatitude
    - dynamic_cast<const Conversion *>
    - dynamic_cast<ConcatenatedOperation *>
    - dynamic_cast<InverseCoordinateOperation *>
    - dynamic_cast<const io::IPROJStringExportable *>
    - auto::stopInversion
    - dynamic_cast<crs::CompoundCRS *>
    - GeographicCRS::create
    - CoordinateOperationNNPtr::setProperties
    - primeMeridian
    - auto::demoteTo2D
    - createOperationsEnsembleCRSToOtherGeodCRS
    - auto::value
    - auto::transformation
    - getenv
    - auto::getTransformationsForGeoid
    - std::string::c_str
    - context::getGridAvailabilityUse
    - "cs::VerticalCS::\n                                          createGravityRelatedHeight"
    - createTransformations
    - EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
    - auto::inverse
    - auto::targetCRS
    - extractVerticalCRS
    - setCRSs
    - PairOfTransforms
    - auto::_isEquivalentTo
    - datumNonNull
    - std::string::size
    - useCompatibleTransformationsForSameSourceTarget
    - util::nn_make_shared<MyPROJStringExportableHorizVertical>
    - createOperations
    - createOperationsGeogToGeog
    - normalize2D3DInName
    - auto::setLegacyCRSToCRSContext
    - remarks
    - abs
    - std::make_pair
    - useOnlyReplacedOperations
    - std::vector::size
    - auto::isSphericalPlanetocentric
    - dynamic_cast<crs::ProjectedCRS *>
    - std::vector::reserve
    - std::vector::empty
    - createOperationsGeogToVertWithAlternativeGeog
    - BoundCRS::create
    - auto::startInversion
    - crs
    - createOperationsDerivedTo
    - getNatureOf
    - std::vector::back
    - demoteTo2D
    - std::string
    - std::dynamic_pointer_cast<crs::GeographicCRS>
    - createPROJBased
    - geogCRSOfVertCRSStack::pop_back
    - createBallparkGeocentricTranslation
    - filterAndSort
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - createOperationsBoundToGeog
    - hasBallparkTransformation
    - util::nn_dynamic_pointer_cast<crs::VerticalCRS>
    - extractGeodeticCRS
    - util::nn_static_pointer_cast<SingleOperation>
    - CoordinateOperationNNPtr::sourceCRS
    - targetCRS
    - hasKnownGrid
    - Transformation::createLongitudeRotation
    - geogCRSOfVertCRSStack::empty
    - EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
    - auto::datumEnsemble
    - createOperationsGeogToVertWithIntermediateVert
    - util::nn_static_pointer_cast<CoordinateOperation>
    - createOperationsFromDatabase
    - std::find_if
    - auto::primeMeridian
    - InvalidOperation
    - addModifiedIdentifier
    - cloneWithEpochs
    - context::getIntermediateCRS
    - ci_equal
    - createOperationsGeogToVertFromGeoid
    - crs::GeographicCRSPtr::coordinateSystem
    - SingleOperation::createPROJBased
    - createOpParamNameEPSGCode
    - auto::requiresPerCoordinateInputTime
    - auto::identifiers
    - util::nn_make_shared<MyPROJStringExportableHorizVerticalHorizPROJBased>
    - auto::operations
    - getStepCount
    - Conversion::createGeographicGeocentric
    - PropertyMap::PropertyMap
    - findCandidateVertCRSForDatum
    - auto::remarks
    - createMethodMapNameEPSGCode
    - std::string::back
    - std::fabs
    - std::vector::end
    - auto::createVerticalCRSFromDatum
    - GeodeticCRS::create
    - util::nn_dynamic_pointer_cast<crs::BoundCRS>
    - CoordinateOperationNNPtr::identifiers
    - NN_CHECK_ASSERT
    - dynamic_cast<const crs::BoundCRS *>
    - dynamic_cast<const ConcatenatedOperation *>
    - getNameVertCRSMetre
    - util::nn_static_pointer_cast<crs::CRS>
    - auto::shallowClone
    - allRequiresPerCoordinateInputTime
    - getExtensionProj4
    - std::static_pointer_cast<crs::SingleCRS>
    - getOps
    - createHorizVerticalPROJBased
    - auto::createGeodeticCRSFromDatum
    - getSourceCoordinateEpoch
    - "util::nn_static_pointer_cast<\n                        crs::CRS>"
    - ci_starts_with
    - isAxisOrderReversal
    - codeSpace
    - find
    - std::set::insert
    - auto::nameStr
    - disallowEmptyIntersection
    - auto::ingestPROJString
    - static_cast<size_t>
    - auto::intersects
    - findCandidateGeodCRSForDatum
    - crs::GeographicCRSPtr::demoteTo2D
    - Transformation::createChangeVerticalUnit
    - isIGNF
    - auto::axisOrder
    - computeConcatenatedName
    - std::vector<CoordinateOperationNNPtr>
    - findOpsInRegistryDirectTo
    - ENTER_FUNCTION
    - createOpsInTwoSteps
    - push_back
    - util::PropertyMap::set
    - getAuthorityFactory
    - auto::setHasBallparkTransformation
    - auto::method
    - getType
    - auto::datums
    - std::make_move_iterator
    - VerticalCRS::create
    - auto::extractGeodeticCRS
    - replaceAll
    - logTrace
    - util::optional<std::string>
    - geogCRSOfVertCRSStack::push_back
    - CoordinateOperationNNPtr::get
    - has_value
    - metadata::ExtentPtr::intersects
    - std::set::find
    - auto::_exportToPROJString
    - setCRSsUpdateInverse
    - dynamic_cast<const crs::CompoundCRS *>
    - findOpsInRegistryDirect
    - std::max
    - canonicalBoundCRS
    - UnsupportedOperationException::UnsupportedOperationException
    - auto::gridsNeeded
    - addDomains
    - createHorizNullVerticalPROJBased
    - strlen
    - auto::semiMajorAxis
    - auto::extractGeographicCRS
    - size
    - promoteTo3D
    - auto::sourceCRS
    - Conversion::createAxisOrderReversal
    - emplace_back
    - auto::databaseContext
    - get
    - PROJStringFormatter::create
    - domains
    - CoordinateOperationNNPtr::targetCRS
    - std::map::insert
    - createOperationsFromDatabaseWithVertCRS
    - auto::setCRSExport
    - domainOfValidity
    - auto::get
    - std::set::end
    - auto::domains
    - ENTER_BLOCK
    - makeDatumSet
    - getRemarks
    - auto::substr
    - interpolationCRS
    - isNullTransformation
    - auto::rfind
    - auto::as_nullable
    - getSourceAndTargetCRSExtentUse
    - auto::parameterValueNumericAsSI
    - std::static_pointer_cast<datum::GeodeticReferenceFrame>
    - GeodeticReferenceFrame::create
    - extractGeographicCRS
    - ellipsoid
    - createAngle
    - createOperationsBoundToVert
    - createOperationsToGeod
    - coordinateEpoch
    - crs::CRS::getResolvedCRS
    - createOperationsFromBoundOfSphericalPlanetocentric
    - context::getAreaOfInterest
    - DatabaseContext::getTransformationsForGridName
    - auto::forwardOperation
    - auto::baseCRS
    - inverse
    - auto::is2DPartOf3D
    - nameStr
    - Transformation::create
    - createWithIntermediateCRS
    - hasTooSmallAreas
    - auto::hasBallparkTransformation
    - std::vector::clear
    - auto::isDynamic
    - "ConcatenatedOperation::\n                                                    createComputeMetadata"
    - auto::direction
    - Conversion::createHeightDepthReversal
    - IsSameDatum
    - auto::front
    - auto::size
    - SingleOperation*::method
    - std::max<size_t>
    - useOnlyIntermediateCRSThroughDatumEnsembleNullOp
    - auto::getSIValue
    - metadata::ExtentPtr::reset
    - _isEquivalentTo
    - util::nn_dynamic_pointer_cast<crs::SingleCRS>
    - auto::axisList
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - srcName
    - targetName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2618
    functionName: buildTransfName
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string buildTransfName(const std::string &srcName,\n                                   const
      std::string &targetName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - srcName
    - targetName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2629
    functionName: buildConvName
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string buildConvName(const std::string &srcName,\n                                 const
      std::string &targetName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_static_pointer_cast<SingleOperation>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2640,1
    - Dst: PROJBasedOperation::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - properties
    - projExportable
    - sourceCRS
    - targetCRS
    - interpolationCRS
    - accuracies
    - hasBallparkTransformation
    argTypes:
    - util::PropertyMap
    - io::IPROJStringExportableNNPtr
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::CRSPtr
    - std::vector<metadata::PositionalAccuracyNNPtr>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2633
    functionDepth: 3
    functionLinenumber: 2633
    functionLinenumberEnd: 2644
    functionName: createPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 8
    functionsReached:
    - util::nn_static_pointer_cast<SingleOperation>
    - PROJBasedOperation::create
    linkageType: ''
    returnType: SingleOperationNNPtr
    signature: "SingleOperationNNPtr createPROJBased(\n    const util::PropertyMap
      &properties,\n    const io::IPROJStringExportableNNPtr &projExportable,\n    const
      crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const crs::CRSPtr
      &interpolationCRS,\n    const std::vector<metadata::PositionalAccuracyNNPtr>
      &accuracies,\n    bool hasBallparkTransformation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_make_shared<MyPROJStringExportableGeodToGeod>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2652,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2653,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2654,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2657,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2659,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2659,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2659,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geodSrc
    - geodDst
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2648
    functionDepth: 4
    functionLinenumber: 2648
    functionLinenumberEnd: 2664
    functionName: createGeodToGeodPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - util::nn_make_shared<MyPROJStringExportableGeodToGeod>
    - PropertyMap::PropertyMap
    - createPROJBased
    - buildTransfName
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - crs::CRSNNPtr::nameStr
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: "CoordinateOperationNNPtr createGeodToGeodPROJBased(const crs::CRSNNPtr
      &geodSrc,\n                          const crs::CRSNNPtr &geodDst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2672,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2673,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2674,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2678,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2679,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2680,1
    - Dst: size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2680,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2686,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2687,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2688,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2689,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2690,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2691,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2691,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2692,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2693,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2695,1
    - Dst: std::string::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2696,1
    - Dst: std::string::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2697,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2697,1
    - Dst: std::string::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2698,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2699,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ops
    argTypes:
    - std::vector<operation::CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2668
    functionDepth: 1
    functionLinenumber: 2668
    functionLinenumberEnd: 2713
    functionName: getRemarks
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::string::empty
    - identifiers
    - auto::front
    - starts_with
    - std::string::substr
    - std::string::back
    - nameStr
    - strlen
    - auto::empty
    - remarks
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string getRemarks(const std::vector<operation::CoordinateOperationNNPtr>
      &ops)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2723,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2724,1
    - Dst: util::nn_make_shared<MyPROJStringExportableHorizVertical>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2726,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2730,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2730,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2731,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2733,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2734,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2735,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2737,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2739,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2740,1
    - Dst: operation::CoordinateOperationNNPtr::remarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2742,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2743,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2744,1
    - Dst: operation::CoordinateOperationNNPtr::coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2746,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2747,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2748,1
    - Dst: operation::CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2748,1
    - Dst: auto::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2749,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2749,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2751,1
    - Dst: operation::CoordinateOperationNNPtr::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2753,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2758,1
    - Dst: InvalidOperationEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2763,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2765,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2766,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2767,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2770,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2771,1
    - Dst: getRemarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2774,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2775,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2776,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2780,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2782,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2783,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2783,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2786,1
    - Dst: operation::CoordinateOperationNNPtr::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2788,1
    - Dst: operation::CoordinateOperationNNPtr::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2789,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 5
    argNames:
    - sourceCRS
    - targetCRS
    - horizTransform
    - verticalTransform
    - checkExtent
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - operation::CoordinateOperationNNPtr
    - operation::CoordinateOperationNNPtr
    - bool
    assertStmts:
    - condition: (geogDst)
      pos:
        line_end: 2723
        line_start: 2723
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 2791
      start: 2717
    functionDepth: 4
    functionLinenumber: 2717
    functionLinenumberEnd: 2791
    functionName: createHorizVerticalPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - toString
    - PropertyMap::PropertyMap
    - operation::CoordinateOperationNNPtr::get
    - NN_NO_CHECK
    - getExtent
    - getRemarks
    - PositionalAccuracy::create
    - auto::emplace_back
    - operation::CoordinateOperationNNPtr::remarks
    - assert
    - dynamic_cast<const Conversion *>
    - createPROJBased
    - util::nn_make_shared<MyPROJStringExportableHorizVertical>
    - util::nn_dynamic_pointer_cast<crs::GeographicCRS>
    - auto::set
    - operation::CoordinateOperationNNPtr::nameStr
    - InvalidOperationEmptyIntersection
    - computeConcatenatedName
    - starts_with
    - operation::CoordinateOperationNNPtr::hasBallparkTransformation
    - operation::CoordinateOperationNNPtr::coordinateOperationAccuracies
    - getAccuracy
    - auto::empty
    - std::vector::emplace_back
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: "CoordinateOperationNNPtr createHorizVerticalPROJBased(\n    const
      crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const operation::CoordinateOperationNNPtr
      &horizTransform,\n    const operation::CoordinateOperationNNPtr &verticalTransform,\n
      \   bool checkExtent)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_make_shared<MyPROJStringExportableHorizVerticalHorizPROJBased>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2803,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2808,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2808,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2809,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2810,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2812,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2813,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2813,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2814,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2815,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2821,1
    - Dst: operation::CoordinateOperationNNPtr::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2821,1
    - Dst: operation::CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2822,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2824,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2825,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2835,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2836,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2836,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2837,1
    - Dst: operation::CoordinateOperationNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2839,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2843,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2848,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2851,1
    - Dst: InvalidOperationEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2856,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2858,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2859,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2862,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2863,1
    - Dst: getRemarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2866,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2867,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2868,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2872,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2874,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2875,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2875,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2878,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 7
    argNames:
    - sourceCRS
    - targetCRS
    - opSrcCRSToGeogCRS
    - verticalTransform
    - opGeogCRStoDstCRS
    - interpolationCRS
    - checkExtent
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - operation::CoordinateOperationNNPtr
    - operation::CoordinateOperationNNPtr
    - operation::CoordinateOperationNNPtr
    - crs::SingleCRSPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2795
    functionDepth: 4
    functionLinenumber: 2795
    functionLinenumberEnd: 2880
    functionName: createHorizVerticalHorizPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - util::nn_make_shared<MyPROJStringExportableHorizVerticalHorizPROJBased>
    - toString
    - PropertyMap::PropertyMap
    - std::vector::size
    - operation::CoordinateOperationNNPtr::get
    - NN_NO_CHECK
    - getExtent
    - getRemarks
    - PositionalAccuracy::create
    - createPROJBased
    - auto::set
    - operation::CoordinateOperationNNPtr::nameStr
    - InvalidOperationEmptyIntersection
    - hasBallparkTransformation
    - computeConcatenatedName
    - starts_with
    - operation::CoordinateOperationNNPtr::inverse
    - getAccuracy
    - auto::empty
    - std::vector::emplace_back
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: "CoordinateOperationNNPtr createHorizVerticalHorizPROJBased(\n    const
      crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const operation::CoordinateOperationNNPtr
      &opSrcCRSToGeogCRS,\n    const operation::CoordinateOperationNNPtr &verticalTransform,\n
      \   const operation::CoordinateOperationNNPtr &opGeogCRStoDstCRS,\n    const
      crs::SingleCRSPtr &interpolationCRS, bool checkExtent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util::nn_make_shared<MyPROJStringExportableHorizNullVertical>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2890,1
    - Dst: computeConcatenatedName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2895,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2897,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2898,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2901,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2903,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2904,1
    - Dst: getRemarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2907,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2908,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2909,1
    - Dst: createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - sourceCRS
    - targetCRS
    - horizTransform
    - verticalTransform
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - operation::CoordinateOperationNNPtr
    - operation::CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2884
    functionDepth: 4
    functionLinenumber: 2884
    functionLinenumberEnd: 2914
    functionName: createHorizNullVerticalPROJBased
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - computeConcatenatedName
    - auto::set
    - PropertyMap::PropertyMap
    - auto::empty
    - util::nn_make_shared<MyPROJStringExportableHorizNullVertical>
    - NN_NO_CHECK
    - getExtent
    - getRemarks
    - createPROJBased
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: "CoordinateOperationNNPtr createHorizNullVerticalPROJBased(\n    const
      crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const operation::CoordinateOperationNNPtr
      &horizTransform,\n    const operation::CoordinateOperationNNPtr &verticalTransform)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2929,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2929,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2930,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2930,1
    - Dst: crs::GeographicCRS*::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2932,1
    - Dst: crs::GeographicCRS*::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2933,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2935,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2935,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: auto::value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2936,1
    - Dst: createAngle
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2937,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2938,1
    - Dst: auto::convertToUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2939,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2943,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2944,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2945,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2946,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2949,1
    - Dst: auto::axisList
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2950,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2951,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2952,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2955,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2955,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2955,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2957,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2959,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2963,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2963,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2964,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2969,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2969,1
    - Dst: auto::axisOrder
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2971,1
    - Dst: auto::axisOrder
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2972,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2985,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2985,1
    - Dst: crs::GeographicCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2993,1
    - Dst: crs::GeographicCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2994,1
    - Dst: common::Angle::value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:2996,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3000,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3002,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3003,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3005,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3006,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3007,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3008,1
    - Dst: createGeodToGeodPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3011,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3012,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3013,1
    - Dst: Conversion::createAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3020,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3021,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3022,1
    - Dst: crs::GeographicCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3030,1
    - Dst: crs::GeographicCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3031,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3033,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3033,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3035,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3035,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3036,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3043,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3043,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3044,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3045,1
    - Dst: crs::GeographicCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3045,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3046,1
    - Dst: crs::GeographicCRS*::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3046,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3047,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3049,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3051,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3051,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3052,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3058,1
    - Dst: createBallparkGeographicOffset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3058,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3061,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3061,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3062,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3064,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3064,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3064,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3072,1
    - Dst: auto::getSIValue
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3072,1
    - Dst: GeodeticReferenceFrame::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3073,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3074,1
    - Dst: crs::GeographicCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3074,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3075,1
    - Dst: crs::GeographicCRS*::primeMeridian
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3075,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3076,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3078,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3079,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3080,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3081,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3085,1
    - Dst: Transformation::createLongitudeRotation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3085,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3086,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3088,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3088,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3089,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3093,1
    - Dst: createBallparkGeographicOffset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3093,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3096,1
    - Dst: createBallparkGeographicOffset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3096,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3101,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3102,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3103,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3104,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 56
    argCount: 7
    argNames:
    - res
    - sourceCRS
    - targetCRS
    - context
    - geogSrc
    - geogDst
    - forceBallpark
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::GeographicCRS*
    - crs::GeographicCRS*
    - bool
    assertStmts:
    - condition: (targetCRS.get() == geogDst)
      pos:
        line_end: 2929
        line_start: 2929
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (sourceCRS.get() == geogSrc)
      pos:
        line_end: 2928
        line_start: 2928
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 3106
      start: 2922
    functionDepth: 5
    functionLinenumber: 2922
    functionLinenumberEnd: 3106
    functionName: "CoordinateOperationFactory::Private::createOperationsGeogToGeog(\n
      \   std::vector<CoordinateOperationNNPtr> &res, const crs::CRSNNPtr &sourceCRS,\n
      \   const crs::CRSNNPtr &targetCRS, Private::Context &context,\n    const crs::GeographicCRS
      *geogSrc, const crs::GeographicCRS *geogDst,\n    bool forceBallpark)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - crs::GeographicCRS*::datumNonNull
    - PropertyMap::PropertyMap
    - buildTransfName
    - auto::setHasBallparkTransformation
    - Transformation::createLongitudeRotation
    - createBallparkGeographicOffset
    - std::vector<CoordinateOperationNNPtr>::push_back
    - createGeodToGeodPROJBased
    - auto::nameStr
    - auto::setCRSs
    - auto::convertToUnit
    - auto::_isEquivalentTo
    - assert
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - common::Angle::value
    - crs::GeographicCRS*::nameStr
    - Conversion::createChangeVerticalUnit
    - GeodeticReferenceFrame::create
    - isSameGeodeticDatum
    - util::optional<std::string>
    - unit
    - auto::size
    - InvalidOperation
    - createAngle
    - crs::GeographicCRS*::primeMeridian
    - util::nn_static_pointer_cast<crs::CRS>
    - GeographicCRS::create
    - Conversion::createAxisOrderReversal
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - auto::axisOrder
    - crs::GeographicCRS*::ellipsoid
    - Private::Context::disallowEmptyIntersection
    - crs::GeographicCRS*::coordinateSystem
    - auto::databaseContext
    - auto::getSIValue
    - std::vector::emplace_back
    - auto::unit
    - Scale::Scale
    - auto::value
    - auto::axisList
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::createOperationsGeogToGeog(\n
      \   std::vector<CoordinateOperationNNPtr> &res, const crs::CRSNNPtr &sourceCRS,\n
      \   const crs::CRSNNPtr &targetCRS, Private::Context &context,\n    const crs::GeographicCRS
      *geogSrc, const crs::GeographicCRS *geogDst,\n    bool forceBallpark)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3111,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3114,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3114,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3116,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - op
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3110
    functionDepth: 1
    functionLinenumber: 3110
    functionLinenumberEnd: 3123
    functionName: hasIdentifiers
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - CoordinateOperationNNPtr::identifiers
    - CoordinateOperationNNPtr::get
    - hasIdentifiers
    linkageType: ''
    returnType: bool
    signature: bool hasIdentifiers(const CoordinateOperationNNPtr &op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperation*::setCRSsUpdateInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3131,1
    - Dst: CoordinateOperation*::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - co
    - sourceCRS
    - targetCRS
    argTypes:
    - CoordinateOperation*
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3132
    functionName: "CoordinateOperationFactory::Private::setCRSs(\n    CoordinateOperation
      *co, const crs::CRSNNPtr &sourceCRS,\n    const crs::CRSNNPtr &targetCRS)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - CoordinateOperation*::setCRSsUpdateInverse
    - CoordinateOperation*::interpolationCRS
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::setCRSs(\n    CoordinateOperation
      *co, const crs::CRSNNPtr &sourceCRS,\n    const crs::CRSNNPtr &targetCRS)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3139,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3139,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3142,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3144,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3145,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - res
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3136
    functionDepth: 1
    functionLinenumber: 3136
    functionLinenumberEnd: 3163
    functionName: hasResultSetOnlyResultsWithPROJStep
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - auto::front
    - get
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: "bool hasResultSetOnlyResultsWithPROJStep(\n    const std::vector<CoordinateOperationNNPtr>
      &res)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3176,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3177,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3177,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3178,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3178,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3186,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3196,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3197,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3199,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3199,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3200,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3201,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3201,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3202,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3202,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3204,1
    - Dst: auto::as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3204,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3205,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3206,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3206,1
    - Dst: ci_starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3207,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3207,1
    - Dst: crs::GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3216,1
    - Dst: crs::GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3217,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3229,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3229,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3230,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3231,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3233,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3235,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3236,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3239,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3241,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3245,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3247,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3248,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3251,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3252,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3261,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3263,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3265,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3267,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3267,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3270,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3270,1
    - Dst: std::max<size_t>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3273,1
    - Dst: std::max
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3274,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3274,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3274,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3279,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3284,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3284,1
    - Dst: isAxisOrderReversal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3285,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3285,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3291,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3291,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3294,1
    - Dst: CoordinateOperationNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3297,1
    - Dst: CoordinateOperationNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3298,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3298,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3298,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3302,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3302,1
    - Dst: CoordinateOperationNNPtr::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3304,1
    - Dst: dynamic_cast<InverseCoordinateOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3306,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3307,1
    - Dst: auto::forwardOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3309,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3310,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3311,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3311,1
    - Dst: find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3311,1
    - Dst: addModifiedIdentifier
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3315,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3317,1
    - Dst: dynamic_cast<ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3327,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3328,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3331,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3332,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3333,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3333,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3334,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3335,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3336,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3337,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3338,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3341,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3342,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3344,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3344,1
    - Dst: CoordinateOperationNNPtr::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3345,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3346,1
    - Dst: CoordinateOperationNNPtr::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3347,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3348,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3352,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3354,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3355,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3357,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3358,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3359,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3362,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3365,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3366,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3367,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3367,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3368,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3368,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3369,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3369,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3370,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3371,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3371,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3372,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3372,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3377,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3380,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3380,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3382,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3382,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3384,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3384,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3387,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3390,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3391,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3392,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3437,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3438,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3438,1
    - Dst: isIGNF
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3440,1
    - Dst: isIGNF
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3440,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3444,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3444,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3445,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3455,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3455,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3457,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3459,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3460,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3463,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3463,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3465,1
    - Dst: getType
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3469,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3474,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3474,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3475,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3475,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3476,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3476,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3477,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3477,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3478,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3478,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3480,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3483,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3483,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3485,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3485,1
    - Dst: createTransformations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3486,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3489,1
    - Dst: hasResultSetOnlyResultsWithPROJStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3490,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3502,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3502,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3504,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3508,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3508,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3511,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3513,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3513,1
    - Dst: isNullTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3515,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3515,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3519,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3519,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3524,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3524,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3524,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3525,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3525,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3526,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3526,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3527,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3527,1
    - Dst: createTransformations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3529,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3532,1
    - Dst: hasResultSetOnlyResultsWithPROJStep
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3532,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 136
    argCount: 8
    argNames:
    - res
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - geodSrc
    - geodDst
    - context
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::GeodeticCRS*
    - crs::GeodeticCRS*
    - Private::Context
    assertStmts:
    - condition: (!context.inCreateOperationsWithDatumPivotAntiRecursion)
      pos:
        line_end: 3185
        line_start: 3185
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsThird.empty())
      pos:
        line_end: 3269
        line_start: 3269
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 3512
        line_start: 3512
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 3482
        line_start: 3482
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 3538
      start: 3167
    functionDepth: 4
    functionLinenumber: 3167
    functionLinenumberEnd: 3538
    functionName: "CoordinateOperationFactory::Private::createOperationsWithDatumPivot(\n
      \   std::vector<CoordinateOperationNNPtr> &res, const crs::CRSNNPtr &sourceCRS,\n
      \   const util::optional<common::DataEpoch> &sourceEpoch,\n    const crs::CRSNNPtr
      &targetCRS,\n    const util::optional<common::DataEpoch> &targetEpoch,\n    const
      crs::GeodeticCRS *geodSrc, const crs::GeodeticCRS *geodDst,\n    Private::Context
      &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::forwardOperation
    - auto::get
    - identifiers
    - auto::operations
    - util::optional<common::DataEpoch>::has_value
    - auto::coordinateSystem
    - toString
    - ci_starts_with
    - std::vector::size
    - isAxisOrderReversal
    - nameStr
    - auto::targetCRS
    - createTransformations
    - ENTER_BLOCK
    - util::optional<common::DataEpoch>::coordinateEpoch
    - NN_NO_CHECK
    - codeSpace
    - crs::CRSNNPtr::nameStr
    - dynamic_cast<const crs::GeographicCRS *>
    - find
    - setCRSs
    - std::vector::empty
    - isNullTransformation
    - auto::nameStr
    - auto::method
    - getType
    - objectAsStr
    - auto::setProperties
    - assert
    - auto::as_nullable
    - CoordinateOperationNNPtr::identifiers
    - std::vector::back
    - ConcatenatedOperation::createComputeMetadata
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - hasResultSetOnlyResultsWithPROJStep
    - dynamic_cast<ConcatenatedOperation *>
    - std::string
    - shallowClone
    - hasIdentifiers
    - logTrace
    - dynamic_cast<InverseCoordinateOperation *>
    - targetCRS
    - crs::GeodeticCRS*::coordinateSystem
    - std::string::empty
    - auto::front
    - std::vector<CoordinateOperationNNPtr>::empty
    - promoteTo3D
    - addModifiedIdentifier
    - auto::sourceCRS
    - CoordinateOperationNNPtr::setProperties
    - isIGNF
    - CoordinateOperationNNPtr::get
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - ci_equal
    - std::max<size_t>
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - get
    - createOperations
    - sourceCRS
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - findOpsInRegistryDirect
    - CoordinateOperationNNPtr::sourceCRS
    - auto::identifiers
    - dynamic_cast<const SingleOperation *>
    - CoordinateOperationNNPtr::targetCRS
    - crs::GeodeticCRS*::datumNonNull
    - auto::empty
    - std::vector::emplace_back
    - std::max
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsWithDatumPivot(\n
      \   std::vector<CoordinateOperationNNPtr> &res, const crs::CRSNNPtr &sourceCRS,\n
      \   const util::optional<common::DataEpoch> &sourceEpoch,\n    const crs::CRSNNPtr
      &targetCRS,\n    const util::optional<common::DataEpoch> &targetEpoch,\n    const
      crs::GeodeticCRS *geodSrc, const crs::GeodeticCRS *geodDst,\n    Private::Context
      &context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.inCreateOperationsWithDatumPivotAntiRecursion)
      pos:
        line_end: 3185
        line_start: 3185
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 3188
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3188
    functionName: CreateOperationsWithDatumPivotAntiRecursion
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CreateOperationsWithDatumPivotAntiRecursion(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3190
    functionDepth: 0
    functionLinenumber: 3190
    functionLinenumberEnd: 3192
    functionName: ~CreateOperationsWithDatumPivotAntiRecursion()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CreateOperationsWithDatumPivotAntiRecursion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3547,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3549,1
    - Dst: util::nn_static_pointer_cast<CoordinateOperation>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3551,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3552,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sourceCRS
    - targetCRS
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3542
    functionDepth: 4
    functionLinenumber: 3542
    functionLinenumberEnd: 3558
    functionName: createBallparkGeocentricTranslation
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - PropertyMap::PropertyMap
    - util::nn_static_pointer_cast<CoordinateOperation>
    - crs::CRSNNPtr::nameStr
    - Transformation::createGeocentricTranslations
    linkageType: ''
    returnType: CoordinateOperationNNPtr
    signature: "CoordinateOperationNNPtr createBallparkGeocentricTranslation(const
      crs::CRSNNPtr &sourceCRS,\n                                    const crs::CRSNNPtr
      &targetCRS)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FilterResults
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3564,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - res
    - context
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3562
    functionDepth: 2
    functionLinenumber: 3562
    functionLinenumberEnd: 3574
    functionName: "CoordinateOperationFactory::Private::hasPerfectAccuracyResult(\n
      \   const std::vector<CoordinateOperationNNPtr> &res, const Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - FilterResults
    - getAccuracy
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateOperationFactory::Private::hasPerfectAccuracyResult(\n
      \   const std::vector<CoordinateOperationNNPtr> &res, const Context &context)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3587,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3587,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3587,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3588,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3588,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3600,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3618,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3618,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3619,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3619,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3622,1
    - Dst: crs::CRSNNPtr::getExtensionProj4
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3623,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3625,1
    - Dst: crs::CRSNNPtr::getExtensionProj4
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3626,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3627,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3627,1
    - Dst: createOperationsFromProj4Ext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3628,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3633,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3633,1
    - Dst: dynamic_cast<const crs::GeodeticCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3634,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3634,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3635,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3635,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3636,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3636,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3637,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3637,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3638,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3638,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3641,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3641,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3642,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3642,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3643,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3646,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3647,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3649,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3650,1
    - Dst: createOperationsFromDatabase
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3652,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3659,1
    - Dst: createOperationsFromSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3660,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3664,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3665,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3665,1
    - Dst: createOperationsGeodToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3671,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3677,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3678,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3679,1
    - Dst: createOperationsFromBoundOfSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3680,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3682,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3686,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3687,1
    - Dst: auto::isSphericalPlanetocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3688,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3689,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3689,1
    - Dst: createOperationsDerivedTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3698,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3705,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3705,1
    - Dst: createOperationsBoundToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3711,1
    - Dst: createOperationsToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3715,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3722,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3722,1
    - Dst: createOperationsBoundToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3729,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3736,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3736,1
    - Dst: createOperationsVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3741,1
    - Dst: createOperationsVertToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3749,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3756,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3756,1
    - Dst: createOperationsBoundToBound
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3762,1
    - Dst: dynamic_cast<crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3767,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3767,1
    - Dst: createOperationsCompoundToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3770,1
    - Dst: createOperationsToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3775,1
    - Dst: dynamic_cast<const crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3781,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3781,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3783,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3783,1
    - Dst: createOperationsCompoundToCompound
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3788,1
    - Dst: createOperationsBoundToCompound
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3798,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3805,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3805,1
    - Dst: dynamic_cast<const crs::EngineeringCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3809,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3809,1
    - Dst: crs::CRSNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3810,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3810,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3813,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3815,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3816,1
    - Dst: Transformation::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3816,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3817,1
    - Dst: createMethodMapNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3822,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3825,1
    - Dst: createOpParamNameEPSGCode
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3826,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3829,1
    - Dst: createLength
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3830,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3832,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 109
    argCount: 5
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3578
    functionDepth: 3
    functionLinenumber: 3578
    functionLinenumberEnd: 3836
    functionName: "CoordinateOperationFactory::Private::createOperations(\n    const
      crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n
      \   const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const crs::VerticalCRS *>
    - auto::baseCRS
    - PropertyMap::PropertyMap
    - auto::isSphericalPlanetocentric
    - createLength
    - ENTER_BLOCK
    - NN_NO_CHECK
    - createOperationsFromSphericalPlanetocentric
    - createOperationsBoundToCompound
    - Transformation::create
    - createMethodMapNameEPSGCode
    - dynamic_cast<const crs::GeographicCRS *>
    - PositionalAccuracy::create
    - createOperationsVertToGeog
    - createOperationsDerivedTo
    - objectAsStr
    - dynamic_cast<const crs::DerivedCRS *>
    - crs::CRSNNPtr::getExtensionProj4
    - createOperationsFromProj4Ext
    - createOperationsFromDatabase
    - applyInverse
    - createOperationsCompoundToGeog
    - dynamic_cast<const crs::BoundCRS *>
    - createOperationsGeodToGeod
    - dynamic_cast<crs::CompoundCRS *>
    - std::vector::push_back
    - InvalidOperation
    - dynamic_cast<const crs::GeodeticCRS *>
    - createOperationsBoundToVert
    - createOperationsToGeod
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - dynamic_cast<const crs::EngineeringCRS *>
    - createOperationsCompoundToCompound
    - createOperationsBoundToGeog
    - createOperations
    - crs::CRSNNPtr::_isEquivalentTo
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - createOperationsFromBoundOfSphericalPlanetocentric
    - dynamic_cast<const crs::CompoundCRS *>
    - createOpParamNameEPSGCode
    - createOperationsBoundToBound
    - auto::empty
    - createOperationsVertToVert
    - crs::CRSNNPtr::nameStr
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::createOperations(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Private::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3607
    functionDepth: 0
    functionLinenumber: 3607
    functionLinenumberEnd: 3610
    functionName: RecLevelIncrementer
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecLevelIncrementer(Private::Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3612
      start: 3612
    functionDepth: 0
    functionLinenumber: 3612
    functionLinenumberEnd: 3612
    functionName: ~RecLevelIncrementer()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RecLevelIncrementer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3845,1
    - Dst: dynamic_cast<const io::IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3847,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3848,1
    - Dst: dynamic_cast<const io::IPROJStringExportable *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3849,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3850,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3852,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3855,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3857,1
    - Dst: auto::setCRSExport
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3858,1
    - Dst: auto::setLegacyCRSToCRSContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3859,1
    - Dst: auto::startInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3860,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3861,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3861,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3862,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3863,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3863,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3865,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3866,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3866,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3867,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3867,1
    - Dst: auto::stopInversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3870,1
    - Dst: auto::_exportToPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3872,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3872,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3873,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3874,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3874,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3876,1
    - Dst: auto::addAngularUnitConvertAndAxisSwap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3877,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3877,1
    - Dst: auto::ingestPROJString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3878,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3878,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3881,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3883,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3883,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3883,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3884,1
    - Dst: SingleOperation::createPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3884,1
    - Dst: auto::toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - sourceCRS
    - targetCRS
    - boundSrc
    - boundDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::BoundCRS*
    - crs::BoundCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3886
      start: 3840
    functionDepth: 2
    functionLinenumber: 3840
    functionLinenumberEnd: 3886
    functionName: "CoordinateOperationFactory::Private::createOperationsFromProj4Ext(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const
      crs::BoundCRS *boundSrc, const crs::BoundCRS *boundDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap::PropertyMap
    - buildTransfName
    - auto::addAngularUnitConvertAndAxisSwap
    - dynamic_cast<const crs::GeographicCRS *>
    - auto::startInversion
    - auto::ingestPROJString
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - dynamic_cast<const io::IPROJStringExportable *>
    - auto::stopInversion
    - InvalidOperation
    - crs::CRSNNPtr::get
    - crs::BoundCRS*::baseCRS
    - auto::toString
    - SingleOperation::createPROJBased
    - auto::_exportToPROJString
    - PROJStringFormatter::create
    - auto::setLegacyCRSToCRSContext
    - crs::CRSNNPtr::nameStr
    - auto::setCRSExport
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsFromProj4Ext(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const
      crs::BoundCRS *boundSrc, const crs::BoundCRS *boundDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3904,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3904,1
    - Dst: Private::Context::context::getAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3905,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3908,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3908,1
    - Dst: Private::Context::extent1::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3912,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3914,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3914,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3916,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3916,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3919,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3919,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3925,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3929,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3929,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3930,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3932,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3933,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3934,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3935,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3936,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3936,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3937,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3938,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3938,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3941,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3941,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3942,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3944,1
    - Dst: auto::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3944,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3945,1
    - Dst: getPseudoArea
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3947,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - ops
    - context
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    - Private::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3960
      start: 3897
    functionDepth: 3
    functionLinenumber: 3897
    functionLinenumberEnd: 3960
    functionName: "CoordinateOperationFactory::Private::hasTooSmallAreas(\n    const
      std::vector<CoordinateOperationNNPtr> &ops,\n    const Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::vector<CoordinateOperationNNPtr>::empty
    - std::vector<CoordinateOperationNNPtr>::size
    - auto::intersection
    - NN_NO_CHECK
    - Private::Context::extent1::intersection
    - getExtent
    - getPseudoArea
    - Private::Context::context::getAreaOfInterest
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateOperationFactory::Private::hasTooSmallAreas(\n    const
      std::vector<CoordinateOperationNNPtr> &ops,\n    const Private::Context &context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: datum::DatumEnsembleNNPtr::datums
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3966,1
    - Dst: datum::DatumNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3967,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - ensemble
    argTypes:
    - datum::DatumNNPtr
    - datum::DatumEnsembleNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3972
    functionName: isDatumInEnsemble
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - datum::DatumEnsembleNNPtr::datums
    - get
    - datum::DatumNNPtr::_isEquivalentTo
    linkageType: ''
    returnType: bool
    signature: "bool isDatumInEnsemble(const datum::DatumNNPtr &datum,\n                              const
      datum::DatumEnsembleNNPtr &ensemble)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3984,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3984,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3986,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3987,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3991,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3992,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3993,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3994,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3997,1
    - Dst: auto::extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:3999,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4001,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4003,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4004,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4006,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4009,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4009,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4010,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4013,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4014,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 1
    argNames:
    - ops
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 3979
    functionDepth: 4
    functionLinenumber: 3979
    functionLinenumberEnd: 4025
    functionName: useOnlyIntermediateCRSThroughDatumEnsembleNullOp
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - identifiers
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - auto::size
    - get
    - isDatumInEnsemble
    - auto::datumEnsemble
    - NN_NO_CHECK
    - codeSpace
    - auto::extractGeodeticCRS
    - targetCRS
    - sourceCRS
    - auto::datum
    linkageType: ''
    returnType: bool
    signature: "bool useOnlyIntermediateCRSThroughDatumEnsembleNullOp(\n    const
      std::vector<CoordinateOperationNNPtr> &ops)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remarks
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ops
    argTypes:
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4031
    functionDepth: 0
    functionLinenumber: 4031
    functionLinenumberEnd: 4039
    functionName: useOnlyReplacedOperations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - remarks
    linkageType: ''
    returnType: bool
    signature: bool useOnlyReplacedOperations(const std::vector<CoordinateOperationNNPtr>
      &ops)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4060,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4063,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4070,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4083,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4084,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4093,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4094,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4095,1
    - Dst: crs::GeodeticCRS*::domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4096,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4097,1
    - Dst: Private::Context::context::getAreaOfInterest
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4102,1
    - Dst: crs::GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4103,1
    - Dst: crs::GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4104,1
    - Dst: auto::datums
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4110,1
    - Dst: domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4111,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4112,1
    - Dst: domainOfValidity
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4115,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4117,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4117,1
    - Dst: auto::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4122,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4122,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4127,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4128,1
    - Dst: std::static_pointer_cast<datum::GeodeticReferenceFrame>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4129,1
    - Dst: as_nullable
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4130,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4131,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4136,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4136,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4138,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4139,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4140,1
    - Dst: crs::GeodeticCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4140,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4140,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4142,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4143,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4144,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4147,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4147,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4151,1
    - Dst: std::vector::clear
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4152,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4153,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4156,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4156,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4157,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4158,1
    - Dst: crs::GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4159,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4162,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4163,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4164,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4166,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4167,1
    - Dst: auto::setInterpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4169,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4171,1
    - Dst: "ConcatenatedOperation::\n                                    createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4172,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4174,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4175,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4177,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4177,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4178,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4187,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4187,1
    - Dst: getNatureOf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4189,1
    - Dst: auto::createGeodeticCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4190,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4191,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4192,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4193,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4194,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4195,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4196,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4201,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4202,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4209,1
    - Dst: std::vector::clear
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4210,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4211,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4215,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4216,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4217,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4219,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4221,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4222,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4222,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4224,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4225,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4226,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4227,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4227,1
    - Dst: "ConcatenatedOperation::\n                                    createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4229,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4232,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4233,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 87
    argCount: 7
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - geodSrc
    - geodDst
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::GeodeticCRS*
    - crs::GeodeticCRS*
    assertStmts:
    - condition: (!context.inCreateOperationsWithIntermediate)
      pos:
        line_end: 4062
        line_start: 4062
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithDatumPivotAntiRecursion)
      pos:
        line_end: 4069
        line_start: 4069
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (srcEnsemble)
      pos:
        line_end: 4094
        line_start: 4094
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsGeogToGeogWithAlternativeGeog)
      pos:
        line_end: 4059
        line_start: 4059
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4243
      start: 4047
    functionDepth: 1
    functionLinenumber: 4047
    functionLinenumberEnd: 4243
    functionName: "CoordinateOperationFactory::Private::createOperationsEnsembleCRSToOtherGeodCRS(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
      \   const crs::GeodeticCRS *geodDst)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - crs::GeodeticCRS*::datum
    - crs::GeodeticCRS*::domains
    - NN_NO_CHECK
    - coordinateSystem
    - dynamic_cast<const crs::GeographicCRS *>
    - Private::Context::context::getAreaOfInterest
    - setCRSs
    - auto::interpolationCRS
    - std::vector::empty
    - std::vector::front
    - auto::_isEquivalentTo
    - auto::datums
    - getNatureOf
    - "ConcatenatedOperation::\n                                    createComputeMetadata"
    - assert
    - auto::intersects
    - std::vector::clear
    - std::static_pointer_cast<datum::GeodeticReferenceFrame>
    - std::string
    - NN_CHECK_ASSERT
    - shallowClone
    - crs::GeodeticCRS*::coordinateSystem
    - auto::front
    - crs::GeodeticCRS*::datumEnsemble
    - std::vector::push_back
    - Private::Context::context::getAuthorityFactory
    - as_nullable
    - Private::Context::disallowEmptyIntersection
    - hasBallparkTransformation
    - auto::databaseContext
    - get
    - auto::setInterpolationCRS
    - createOperations
    - domains
    - crs::GeodeticCRS*::datumNonNull
    - auto::createGeodeticCRSFromDatum
    - auto::empty
    - domainOfValidity
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::createOperationsEnsembleCRSToOtherGeodCRS(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
      \   const crs::GeodeticCRS *geodDst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4060,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4063,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.inCreateOperationsGeogToGeogWithAlternativeGeog)
      pos:
        line_end: 4059
        line_start: 4059
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithIntermediate)
      pos:
        line_end: 4062
        line_start: 4062
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsWithDatumPivotAntiRecursion)
      pos:
        line_end: 4069
        line_start: 4069
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4072
      start: 4059
    functionDepth: 0
    functionLinenumber: 4059
    functionLinenumberEnd: 4072
    functionName: AntiRecursionGuard
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AntiRecursionGuard(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4078
      start: 4074
    functionDepth: 0
    functionLinenumber: 4074
    functionLinenumberEnd: 4078
    functionName: ~AntiRecursionGuard()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AntiRecursionGuard()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4258,1
    - Dst: createOperationsFromDatabase
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4261,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4264,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4266,1
    - Dst: createOperationsGeogToVertFromGeoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4266,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4268,1
    - Dst: createOperationsVertToGeogSynthetized
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4269,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4274,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4279,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4280,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4281,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4282,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4284,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4285,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4286,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4288,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4290,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4292,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4293,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4296,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4296,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4298,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4299,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4300,1
    - Dst: cloneWithEpochs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4302,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4305,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4306,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4308,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4309,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4311,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4311,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4312,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4312,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4314,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4316,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4317,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4319,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4319,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4322,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4322,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4323,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4323,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4325,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4326,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4327,1
    - Dst: createOperationsGeodToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4335,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4338,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4346,1
    - Dst: hasPerfectAccuracyResult
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4351,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4360,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4362,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4365,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4366,1
    - Dst: crs::CRSNNPtr::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4367,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4367,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4370,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4371,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4371,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4372,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4375,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4378,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4379,1
    - Dst: crs::CRSNNPtr::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4380,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4380,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4383,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4384,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4384,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4385,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4389,1
    - Dst: createOperationsFromDatabaseWithVertCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4390,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4396,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4397,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4399,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4400,1
    - Dst: isSameGeodeticDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4402,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4404,1
    - Dst: createOperationsWithDatumPivot
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4415,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4418,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4433,1
    - Dst: std::vector<CoordinateOperationNNPtr>::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4435,1
    - Dst: PROJStringFormatter::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4436,1
    - Dst: std::vector<CoordinateOperationNNPtr>::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4443,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4450,1
    - Dst: Private::Context::context::getAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4452,1
    - Dst: Private::Context::context::getAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4455,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4457,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4458,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4460,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4460,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4460,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4461,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4462,1
    - Dst: Private::Context::context::getIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4469,1
    - Dst: Private::Context::context::getAllowUseIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4470,1
    - Dst: useOnlyReplacedOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4473,1
    - Dst: hasTooSmallAreas
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4474,1
    - Dst: requiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4477,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4483,1
    - Dst: allRequiresPerCoordinateInputTime
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4488,1
    - Dst: crs::GeodeticCRS*::isDynamic
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4488,1
    - Dst: crs::GeodeticCRS*::isDynamic
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4489,1
    - Dst: useOnlyIntermediateCRSThroughDatumEnsembleNullOp
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4492,1
    - Dst: std::set::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4498,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4498,1
    - Dst: findsOpsInRegistryWithIntermediate
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4503,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4505,1
    - Dst: std::set::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4508,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4508,1
    - Dst: std::set::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4508,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4509,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4513,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4513,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4513,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4514,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4516,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4530,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4531,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4533,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4534,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4534,1
    - Dst: crs::GeodeticCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4534,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4535,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4535,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4536,1
    - Dst: isDatumInEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4537,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4537,1
    - Dst: crs::GeodeticCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4537,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4538,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4538,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4542,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4543,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4544,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4545,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4546,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4547,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4549,1
    - Dst: crs::GeodeticCRS*::domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4550,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4551,1
    - Dst: createOperationsEnsembleCRSToOtherGeodCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4552,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4555,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4556,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4556,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4559,1
    - Dst: crs::GeodeticCRS*::domains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4560,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4561,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4563,1
    - Dst: createOperationsEnsembleCRSToOtherGeodCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4563,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4566,1
    - Dst: std::make_move_iterator
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4567,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4567,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4571,1
    - Dst: hasPerfectAccuracyResult
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4577,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 127
    argCount: 12
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - geodSrc
    - geodDst
    - geogSrc
    - geogDst
    - vertSrc
    - vertDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::GeodeticCRS*
    - crs::GeodeticCRS*
    - crs::GeographicCRS*
    - crs::GeographicCRS*
    - crs::VerticalCRS*
    - crs::VerticalCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts:
    - condition: (!tmp.empty())
      pos:
        line_end: 4310
        line_start: 4310
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!tmp.empty())
      pos:
        line_end: 4321
        line_start: 4321
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4582
      start: 4247
    functionDepth: 5
    functionLinenumber: 4247
    functionLinenumberEnd: 4582
    functionName: "CoordinateOperationFactory::Private::createOperationsFromDatabase(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
      \   const crs::GeodeticCRS *geodDst, const crs::GeographicCRS *geogSrc,\n    const
      crs::GeographicCRS *geogDst, const crs::VerticalCRS *vertSrc,\n    const crs::VerticalCRS
      *vertDst,\n    std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - getenv
    - util::optional<common::DataEpoch>::has_value
    - std::vector<CoordinateOperationNNPtr>::size
    - crs::GeodeticCRS*::datum
    - Private::Context::context::getIntermediateCRS
    - crs::GeodeticCRS*::domains
    - useOnlyReplacedOperations
    - nameStr
    - std::vector<CoordinateOperationNNPtr>::insert
    - util::optional<common::DataEpoch>::coordinateEpoch
    - NN_NO_CHECK
    - findsOpsInRegistryWithIntermediate
    - requiresPerCoordinateInputTime
    - crs::CRSNNPtr::promoteTo3D
    - createOperationsFromDatabaseWithVertCRS
    - setCRSs
    - std::set::insert
    - std::vector::end
    - std::vector<CoordinateOperationNNPtr>::front
    - hasTooSmallAreas
    - std::make_move_iterator
    - Private::Context::context::getAllowUseIntermediateCRS
    - assert
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - NN_CHECK_ASSERT
    - std::string
    - shallowClone
    - createOperationsFromDatabase
    - applyInverse
    - createOperationsVertToGeogSynthetized
    - createOperationsGeodToGeod
    - isSameGeodeticDatum
    - auto::front
    - auto::begin
    - std::vector<CoordinateOperationNNPtr>::empty
    - auto::size
    - hasPerfectAccuracyResult
    - crs::GeodeticCRS*::datumEnsemble
    - auto::sourceCRS
    - cloneWithEpochs
    - crs::CRSNNPtr::get
    - allRequiresPerCoordinateInputTime
    - Private::Context::context::getAuthorityFactory
    - createOperationsWithDatumPivot
    - Private::Context::disallowEmptyIntersection
    - crs::GeodeticCRS*::isDynamic
    - crs::GeographicCRS*::coordinateSystem
    - useOnlyIntermediateCRSThroughDatumEnsembleNullOp
    - auto::databaseContext
    - createOperationsGeogToVertFromGeoid
    - get
    - std::set::find
    - std::vector::begin
    - std::vector<CoordinateOperationNNPtr>::end
    - createOperations
    - _isEquivalentTo
    - util::nn_dynamic_pointer_cast<crs::GeodeticCRS>
    - PROJStringFormatter::create
    - findOpsInRegistryDirect
    - auto::end
    - createOperationsEnsembleCRSToOtherGeodCRS
    - crs::GeodeticCRS*::datumNonNull
    - auto::empty
    - std::vector::emplace_back
    - crs::CRSNNPtr::nameStr
    - isDatumInEnsemble
    - ENTER_FUNCTION
    - std::set::end
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateOperationFactory::Private::createOperationsFromDatabase(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
      \   const crs::GeodeticCRS *geodDst, const crs::GeographicCRS *geogSrc,\n    const
      crs::GeographicCRS *geogDst, const crs::VerticalCRS *vertSrc,\n    const crs::VerticalCRS
      *vertDst,\n    std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4590,1
    - Dst: datum::VerticalReferenceFrame*::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4591,1
    - Dst: datum::VerticalReferenceFrame*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4592,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4593,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4595,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4596,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4597,1
    - Dst: io::AuthorityFactoryPtr::createVerticalCRSFromDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4599,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4601,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4606,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4610,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4611,1
    - Dst: datum::VerticalReferenceFrame*::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4612,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4613,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4614,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4615,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4616,1
    - Dst: dynamic_cast<const datum::VerticalReferenceFrame *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4618,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4619,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - authFactory
    - datum
    argTypes:
    - io::AuthorityFactoryPtr
    - datum::VerticalReferenceFrame*
    assertStmts:
    - condition: (datum)
      pos:
        line_end: 4589
        line_start: 4589
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4624
      start: 4586
    functionDepth: 1
    functionLinenumber: 4586
    functionLinenumberEnd: 4624
    functionName: findCandidateVertCRSForDatum
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - code
    - auto::front
    - io::AuthorityFactoryPtr::databaseContext
    - auto::size
    - dynamic_cast<const datum::VerticalReferenceFrame *>
    - io::AuthorityFactoryPtr::createObjectsFromName
    - datum::VerticalReferenceFrame*::nameStr
    - findCandidateVertCRSForDatum
    - assert
    - auto::identifiers
    - codeSpace
    - datum::VerticalReferenceFrame*::identifiers
    - io::AuthorityFactoryPtr::createVerticalCRSFromDatum
    - auto::empty
    - std::vector::emplace_back
    - datum::VerticalReferenceFrame*::_isEquivalentTo
    linkageType: ''
    returnType: std::vector<crs::CRSNNPtr>
    signature: "std::vector<crs::CRSNNPtr> findCandidateVertCRSForDatum(const io::AuthorityFactoryPtr
      &authFactory,\n                             const datum::VerticalReferenceFrame
      *datum)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4633,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4642,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4642,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4643,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4644,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4647,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4647,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4649,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4650,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4651,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4653,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4656,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4656,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4657,1
    - Dst: createOperationsGeogToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4660,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4661,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4661,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4663,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4663,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4665,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4665,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4666,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4671,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4671,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4672,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4675,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4675,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4676,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4677,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4679,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4680,1
    - Dst: createOperationsVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4684,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4684,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4684,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4686,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4686,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4687,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4687,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4688,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4689,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4698,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4699,1
    - Dst: back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4702,1
    - Dst: auto::rfind
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4703,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4706,1
    - Dst: auto::rfind
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4709,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4711,1
    - Dst: crs::VerticalCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4719,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4720,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4722,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4726,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4727,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4728,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4728,1
    - Dst: crs::CRSNNPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4729,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4729,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4730,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4732,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4733,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4735,1
    - Dst: VerticalCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4736,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4737,1
    - Dst: getNameVertCRSMetre
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4739,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4739,1
    - Dst: crs::VerticalCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4740,1
    - Dst: crs::VerticalCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4740,1
    - Dst: VerticalCS::createGravityRelatedHeight
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4741,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4743,1
    - Dst: buildOpName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4745,1
    - Dst: coordinateOperationAccuracies
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4751,1
    - Dst: DatabaseContext::getTransformationsForGridName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4755,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4756,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4769,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4770,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4772,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4773,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4775,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4778,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4780,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4785,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4786,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4788,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4790,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4797,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4798,1
    - Dst: toString
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4799,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4807,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4811,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4813,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4814,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4815,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4816,1
    - Dst: auto::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4820,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4821,1
    - Dst: Transformation::createGravityRelatedHeightToGeographic3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4824,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4826,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4830,1
    - Dst: crs::VerticalCRS*::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4832,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4834,1
    - Dst: identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4835,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4837,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4839,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4840,1
    - Dst: codeSpace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4842,1
    - Dst: code
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4845,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4847,1
    - Dst: getProjGeoidTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4849,1
    - Dst: auto::substr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4850,1
    - Dst: strlen
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4850,1
    - Dst: auto::getTransformationsForGeoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4851,1
    - Dst: Private::Context::context::getUsePROJAlternativeGridNames
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4853,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4855,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4856,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4857,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4858,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4859,1
    - Dst: useTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4859,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4860,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4861,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4862,1
    - Dst: auto::sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4863,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4864,1
    - Dst: useTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4864,1
    - Dst: auto::inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4864,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 4
    argNames:
    - sourceCRS
    - targetCRS
    - vertDst
    - context
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - crs::VerticalCRS*
    - Private::Context
    assertStmts:
    - condition: (geogCRS)
      pos:
        line_end: 4642
        line_start: 4642
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!tmp.empty())
      pos:
        line_end: 4685
        line_start: 4685
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (opsUnitConvert.size() == 1)
      pos:
        line_end: 4664
        line_start: 4664
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (targetOp)
      pos:
        line_end: 4675
        line_start: 4675
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4871
      start: 4628
    functionDepth: 5
    functionLinenumber: 4628
    functionLinenumberEnd: 4871
    functionName: "CoordinateOperationFactory::Private::createOperationsGeogToVertFromGeoid(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const
      crs::VerticalCRS *vertDst, Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - identifiers
    - auto::getTransformationsForGeoid
    - buildOpName
    - dynamic_cast<const crs::VerticalCRS *>
    - auto::coordinateSystem
    - toString
    - PropertyMap::PropertyMap
    - coordinateOperationAccuracies
    - back
    - dynamic_cast<crs::GeographicCRS *>
    - Private::Context::context::getUsePROJAlternativeGridNames
    - std::vector::size
    - nameStr
    - auto::inverse
    - auto::targetCRS
    - auto::datumNonNull
    - NN_NO_CHECK
    - codeSpace
    - getExtent
    - crs::CRSNNPtr::nameStr
    - dynamic_cast<const crs::GeographicCRS *>
    - createOperationsVertToVert
    - PositionalAccuracy::create
    - std::vector::empty
    - auto::substr
    - interpolationCRS
    - crs::VerticalCRS*::datumNonNull
    - code
    - std::vector::front
    - auto::_isEquivalentTo
    - std::move
    - crs::CRSNNPtr::demoteTo2D
    - static_cast<size_t>
    - auto::rfind
    - assert
    - VerticalCRS::create
    - DatabaseContext::getTransformationsForGridName
    - ConcatenatedOperation::createComputeMetadata
    - strlen
    - auto::direction
    - std::string
    - crs::VerticalCRS*::datumEnsemble
    - useTransf
    - unit
    - auto::size
    - getNameVertCRSMetre
    - auto::set
    - std::vector::push_back
    - auto::sourceCRS
    - util::nn_static_pointer_cast<crs::CRS>
    - crs::VerticalCRS*::geoidModel
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - crs::VerticalCRS*::coordinateSystem
    - crs::VerticalCRS*::datum
    - starts_with
    - auto::demoteTo2D
    - auto::empty
    - Transformation::createGravityRelatedHeightToGeographic3D
    - getProjGeoidTransformation
    - createOperationsGeogToGeog
    - auto::unit
    - VerticalCS::createGravityRelatedHeight
    - getAccuracy
    - dynamic_cast<crs::VerticalCRS *>
    - empty
    - targetCRS
    - std::vector::emplace_back
    - sourceCRS
    - AuthorityFactory::create
    - ENTER_FUNCTION
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::createOperationsGeogToVertFromGeoid(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const
      crs::VerticalCRS *vertDst, Private::Context &context)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4883,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4891,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4900,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4901,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4903,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4904,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4908,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4910,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4914,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4916,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4918,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4919,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4920,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4922,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4924,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4925,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4926,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4927,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - vertDst
    - context
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::VerticalCRS*
    - Private::Context
    assertStmts:
    - condition: (!context.inCreateOperationsGeogToVertWithIntermediateVert)
      pos:
        line_end: 4890
        line_start: 4890
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4938
      start: 4875
    functionDepth: 4
    functionLinenumber: 4875
    functionLinenumberEnd: 4938
    functionName: "CoordinateOperationFactory::Private::\n    createOperationsGeogToVertWithIntermediateVert(\n
      \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
      &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        const crs::VerticalCRS *vertDst, Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - findCandidateVertCRSForDatum
    - createOperations
    - std::vector::empty
    - _isEquivalentTo
    - assert
    - ConcatenatedOperation::createComputeMetadata
    - Private::Context::disallowEmptyIntersection
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - auto::empty
    - std::vector::emplace_back
    - hasIdentifiers
    - auto::databaseContext
    - ENTER_FUNCTION
    - crs::VerticalCRS*::datumNonNull
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::\n
      \   createOperationsGeogToVertWithIntermediateVert(\n        const crs::CRSNNPtr
      &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
      \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        const crs::VerticalCRS *vertDst, Private::Context &context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.inCreateOperationsGeogToVertWithIntermediateVert)
      pos:
        line_end: 4890
        line_start: 4890
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4893
      start: 4890
    functionDepth: 0
    functionLinenumber: 4890
    functionLinenumberEnd: 4893
    functionName: AntiRecursionGuard
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AntiRecursionGuard(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4895
    functionDepth: 0
    functionLinenumber: 4895
    functionLinenumberEnd: 4897
    functionName: ~AntiRecursionGuard()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AntiRecursionGuard()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4961,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4969,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4979,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4982,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4990,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4991,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4993,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4994,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5000,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5002,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5007,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5009,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5011,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5013,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5014,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5016,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5017,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5032,1
    - Dst: findCandidateVertCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5033,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5034,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5036,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5037,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5041,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5043,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5045,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5047,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5049,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5051,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5052,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5054,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5055,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 7
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - vertSrc
    - vertDst
    - context
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::VerticalCRS*
    - crs::VerticalCRS*
    - Private::Context
    assertStmts:
    - condition: (!context.inCreateOperationsVertToVertWithIntermediateVert)
      pos:
        line_end: 4968
        line_start: 4968
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 5068
      start: 4952
    functionDepth: 2
    functionLinenumber: 4952
    functionLinenumberEnd: 5068
    functionName: "CoordinateOperationFactory::Private::\n    createOperationsVertToVertWithIntermediateVert(\n
      \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
      &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        const crs::VerticalCRS *vertSrc, const crs::VerticalCRS
      *vertDst,\n        Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - findCandidateVertCRSForDatum
    - createOperations
    - std::vector::empty
    - _isEquivalentTo
    - assert
    - "ConcatenatedOperation::\n                                        createComputeMetadata"
    - Private::Context::disallowEmptyIntersection
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - auto::empty
    - std::vector::emplace_back
    - hasIdentifiers
    - auto::databaseContext
    - ENTER_FUNCTION
    - crs::VerticalCRS*::datumNonNull
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::\n
      \   createOperationsVertToVertWithIntermediateVert(\n        const crs::CRSNNPtr
      &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
      \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        const crs::VerticalCRS *vertSrc, const crs::VerticalCRS
      *vertDst,\n        Private::Context &context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:4969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.inCreateOperationsVertToVertWithIntermediateVert)
      pos:
        line_end: 4968
        line_start: 4968
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 4971
      start: 4968
    functionDepth: 0
    functionLinenumber: 4968
    functionLinenumberEnd: 4971
    functionName: AntiRecursionGuard
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AntiRecursionGuard(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4975
      start: 4973
    functionDepth: 0
    functionLinenumber: 4973
    functionLinenumberEnd: 4975
    functionName: ~AntiRecursionGuard()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AntiRecursionGuard()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5078,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5086,1
    - Dst: findOpsInRegistryDirectTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5097,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5100,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5100,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5101,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5102,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5105,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5105,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5107,1
    - Dst: unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5108,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5111,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5113,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5115,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5115,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5116,1
    - Dst: createOperationsGeogToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5119,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5121,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5121,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5122,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5123,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5125,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5125,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5126,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5127,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5128,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5129,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sourceCRS
    - targetCRS
    - context
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    assertStmts:
    - condition: (opsUnitConvert.size() == 1)
      pos:
        line_end: 5124
        line_start: 5124
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.inCreateOperationsGeogToVertWithAlternativeGeog)
      pos:
        line_end: 5085
        line_start: 5085
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (geogCRS)
      pos:
        line_end: 5100
        line_start: 5100
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 5137
      start: 5072
    functionDepth: 4
    functionLinenumber: 5072
    functionLinenumberEnd: 5137
    functionName: "CoordinateOperationFactory::Private::\n    createOperationsGeogToVertWithAlternativeGeog(\n
      \       const crs::CRSNNPtr &sourceCRS, // geographic CRS\n        const crs::CRSNNPtr
      &targetCRS, // vertical CRS\n        Private::Context &context)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::coordinateSystem
    - std::vector::size
    - NN_NO_CHECK
    - dynamic_cast<const crs::GeographicCRS *>
    - std::vector::front
    - assert
    - ConcatenatedOperation::createComputeMetadata
    - std::string
    - unit
    - auto::size
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - auto::demoteTo2D
    - createOperationsGeogToGeog
    - findOpsInRegistryDirectTo
    - std::vector::emplace_back
    - sourceCRS
    - ENTER_FUNCTION
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::Private::\n
      \   createOperationsGeogToVertWithAlternativeGeog(\n        const crs::CRSNNPtr
      &sourceCRS, // geographic CRS\n        const crs::CRSNNPtr &targetCRS, // vertical
      CRS\n        Private::Context &context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.inCreateOperationsGeogToVertWithAlternativeGeog)
      pos:
        line_end: 5085
        line_start: 5085
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 5088
      start: 5085
    functionDepth: 0
    functionLinenumber: 5085
    functionLinenumberEnd: 5088
    functionName: AntiRecursionGuard
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AntiRecursionGuard(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5090
    functionDepth: 0
    functionLinenumber: 5090
    functionLinenumberEnd: 5092
    functionName: ~AntiRecursionGuard()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AntiRecursionGuard()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5154,1
    - Dst: createOperationsGeogToVertWithIntermediateVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5157,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5159,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5162,1
    - Dst: createOperationsGeogToVertWithIntermediateVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5162,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5173,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5174,1
    - Dst: coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5175,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5176,1
    - Dst: findCandidateGeodCRSForDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5177,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5179,1
    - Dst: util::nn_dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5182,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5185,1
    - Dst: findOpsInRegistryDirect
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5188,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5189,1
    - Dst: geog3DToVertTryThroughGeog2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5199,1
    - Dst: geog3DToVertTryThroughGeog2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5201,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5202,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5210,1
    - Dst: createOperationsVertToVertWithIntermediateVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5213,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5221,1
    - Dst: createOperationsGeogToVertWithAlternativeGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5224,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5226,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5229,1
    - Dst: createOperationsGeogToVertWithAlternativeGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5229,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 31
    argCount: 10
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - geogSrc
    - geogDst
    - vertSrc
    - vertDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::GeographicCRS*
    - crs::GeographicCRS*
    - crs::VerticalCRS*
    - crs::VerticalCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5232
      start: 5141
    functionDepth: 2
    functionLinenumber: 5141
    functionLinenumberEnd: 5232
    functionName: "CoordinateOperationFactory::Private::\n    createOperationsFromDatabaseWithVertCRS(\n
      \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
      &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        Private::Context &context, const crs::GeographicCRS *geogSrc,\n
      \       const crs::GeographicCRS *geogDst, const crs::VerticalCRS *vertSrc,\n
      \       const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
      &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - std::vector<CoordinateOperationNNPtr>::empty
    - util::nn_dynamic_pointer_cast<crs::GeographicCRS>
    - auto::coordinateSystem
    - createOperationsVertToVertWithIntermediateVert
    - createOperationsGeogToVertWithIntermediateVert
    - geog3DToVertTryThroughGeog2D
    - findOpsInRegistryDirect
    - NN_NO_CHECK
    - Private::Context::context::getAuthorityFactory
    - datumNonNull
    - coordinateSystem
    - findCandidateGeodCRSForDatum
    - auto::databaseContext
    - applyInverse
    - createOperationsGeogToVertWithAlternativeGeog
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::\n    createOperationsFromDatabaseWithVertCRS(\n
      \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
      &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        Private::Context &context, const crs::GeographicCRS *geogSrc,\n
      \       const crs::GeographicCRS *geogDst, const crs::VerticalCRS *vertSrc,\n
      \       const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
      &res)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5242,1
    - Dst: crs::GeodeticCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5244,1
    - Dst: crs::GeodeticCRS*::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5245,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5246,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5246,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5247,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5250,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5250,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5251,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5252,1
    - Dst: std::fabs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5253,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5253,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5254,1
    - Dst: auto::semiMajorAxis
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5256,1
    - Dst: getenv
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5257,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5258,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5259,1
    - Dst: ci_equal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5259,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5263,1
    - Dst: auto::celestialBody
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5265,1
    - Dst: UnsupportedOperationException::UnsupportedOperationException
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5272,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5272,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5276,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5277,1
    - Dst: createOperationsGeogToGeog
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5280,1
    - Dst: crs::GeodeticCRS*::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5285,1
    - Dst: crs::GeodeticCRS*::isGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5287,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5291,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5293,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5296,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5297,1
    - Dst: IsSameDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5305,1
    - Dst: createGeodToGeodPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5307,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5308,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5309,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5311,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5311,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5319,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5322,1
    - Dst: GeodeticCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5322,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5323,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5323,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5327,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5327,1
    - Dst: NN_CHECK_ASSERT
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5328,1
    - Dst: util::nn_dynamic_pointer_cast<cs::CartesianCS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5329,1
    - Dst: crs::GeodeticCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5330,1
    - Dst: createBallparkGeocentricTranslation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5332,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5334,1
    - Dst: crs::GeodeticCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5340,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5342,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5343,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5344,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5344,1
    - Dst: crs::GeodeticCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5348,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5348,1
    - Dst: EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5349,1
    - Dst: Conversion::createGeographicGeocentric
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5353,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5354,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5355,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5356,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5359,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5360,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5362,1
    - Dst: createOperationsGeodToGeod
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5370,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5372,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5373,1
    - Dst: crs::CRSNNPtr::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5381,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5382,1
    - Dst: IsSameDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5383,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5386,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5388,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5389,1
    - Dst: Transformation::createGeocentricTranslations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5389,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5390,1
    - Dst: PositionalAccuracy::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5395,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5397,1
    - Dst: createBallparkGeocentricTranslation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5398,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5405,1
    - Dst: createGeodToGeodPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5405,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 7
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - geodSrc
    - geodDst
    - res
    - forceBallpark
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::GeodeticCRS*
    - crs::GeodeticCRS*
    - std::vector<CoordinateOperationNNPtr>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5236
    functionDepth: 5
    functionLinenumber: 5236
    functionLinenumberEnd: 5406
    functionName: "CoordinateOperationFactory::Private::createOperationsGeodToGeod(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::GeodeticCRS *geodSrc,\n    const crs::GeodeticCRS *geodDst,
      std::vector<CoordinateOperationNNPtr> &res,\n    bool forceBallpark)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::celestialBody
    - getenv
    - std::string::c_str
    - crs::GeodeticCRS*::datum
    - Conversion::createGeographicGeocentric
    - PropertyMap::PropertyMap
    - EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
    - UnsupportedOperationException::UnsupportedOperationException
    - std::vector<CoordinateOperationNNPtr>::insert
    - addDomains
    - auto::setHasBallparkTransformation
    - dynamic_cast<const crs::GeographicCRS *>
    - PositionalAccuracy::create
    - createGeodToGeodPROJBased
    - crs::GeodeticCRS*::nameStr
    - std::fabs
    - std::vector::end
    - auto::nameStr
    - GeodeticCRS::create
    - auto::datumEnsemble
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - auto::semiMajorAxis
    - NN_CHECK_ASSERT
    - auto::datum
    - IsSameDatum
    - createBallparkGeocentricTranslation
    - createOperationsGeodToGeod
    - applyInverse
    - crs::GeodeticCRS*::coordinateSystem
    - Transformation::createGeocentricTranslations
    - crs::GeodeticCRS*::datumEnsemble
    - GeographicCRS::create
    - util::nn_static_pointer_cast<crs::CRS>
    - util::nn_dynamic_pointer_cast<cs::CartesianCS>
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - ci_equal
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - crs::GeodeticCRS*::isGeocentric
    - std::vector::begin
    - std::vector<CoordinateOperationNNPtr>::end
    - createOperations
    - crs::CRSNNPtr::_isEquivalentTo
    - createOperationsGeogToGeog
    - util::optional<common::DataEpoch>
    - crs::GeodeticCRS*::ellipsoid
    - crs::GeodeticCRS*::datumNonNull
    - crs::CRSNNPtr::nameStr
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsGeodToGeod(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::GeodeticCRS *geodSrc,\n    const crs::GeodeticCRS *geodDst,
      std::vector<CoordinateOperationNNPtr> &res,\n    bool forceBallpark)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5419,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5423,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5425,1
    - Dst: crs::GeodeticCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5428,1
    - Dst: datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5429,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5432,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5432,1
    - Dst: IsSameDatum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5433,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5434,1
    - Dst: Conversion::createGeographicGeocentricLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5434,1
    - Dst: crs::GeodeticCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5441,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5444,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5444,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5445,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5445,1
    - Dst: crs::GeodeticCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5448,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5448,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5449,1
    - Dst: Conversion::createGeographicGeocentricLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5453,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5454,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5458,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5458,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 7
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - geodSrc
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::GeodeticCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5463
      start: 5410
    functionDepth: 4
    functionLinenumber: 5410
    functionLinenumberEnd: 5463
    functionName: "CoordinateOperationFactory::Private::\n    createOperationsFromSphericalPlanetocentric(\n
      \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
      &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
      \       std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - crs::GeodeticCRS*::datum
    - PropertyMap::PropertyMap
    - addDomains
    - dynamic_cast<const crs::GeographicCRS *>
    - EllipsoidalCS::createLatitudeLongitude
    - crs::GeodeticCRS*::nameStr
    - Conversion::createGeographicGeocentricLatitude
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - datumNonNull
    - IsSameDatum
    - crs::GeodeticCRS*::datumEnsemble
    - GeographicCRS::create
    - util::nn_static_pointer_cast<crs::CRS>
    - crs::CRSNNPtr::get
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - createOperations
    - crs::GeodeticCRS*::datumNonNull
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::\n    createOperationsFromSphericalPlanetocentric(\n
      \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
      &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
      &targetEpoch,\n        Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
      \       std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5474,1
    - Dst: crs::GeodeticCRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5478,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5481,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5481,1
    - Dst: addDomains
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5482,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5482,1
    - Dst: crs::GeodeticCRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5484,1
    - Dst: crs::GeodeticCRSNNPtr::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5485,1
    - Dst: crs::GeodeticCRSNNPtr::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5485,1
    - Dst: EllipsoidalCS::createLatitudeLongitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5486,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5491,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5494,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5495,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5495,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5498,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5498,1
    - Dst: Conversion::createGeographicGeocentricLatitude
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5501,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5502,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5502,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5503,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5504,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5505,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5508,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5512,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5512,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5513,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5513,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5514,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - boundSrc
    - geodSrcBase
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::BoundCRS*
    - crs::GeodeticCRSNNPtr
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5467
    functionDepth: 4
    functionLinenumber: 5467
    functionLinenumberEnd: 5519
    functionName: "CoordinateOperationFactory::Private::\n    createOperationsFromBoundOfSphericalPlanetocentric(\n
      \       const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n        Private::Context
      &context, const crs::BoundCRS *boundSrc,\n        const crs::GeodeticCRSNNPtr
      &geodSrcBase,\n        std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - PropertyMap::PropertyMap
    - auto::targetCRS
    - addDomains
    - crs::GeodeticCRSNNPtr::get
    - EllipsoidalCS::createLatitudeLongitude
    - setCRSs
    - crs::GeodeticCRSNNPtr::nameStr
    - BoundCRS::create
    - Conversion::createGeographicGeocentricLatitude
    - std::move
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - crs::BoundCRS*::hubCRS
    - shallowClone
    - GeographicCRS::create
    - util::nn_static_pointer_cast<crs::CRS>
    - Private::Context::disallowEmptyIntersection
    - crs::GeodeticCRSNNPtr::datumEnsemble
    - crs::BoundCRS*::transformation
    - crs::GeodeticCRSNNPtr::datum
    - createOperations
    - util::optional<common::DataEpoch>
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::\n    createOperationsFromBoundOfSphericalPlanetocentric(\n
      \       const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n        Private::Context
      &context, const crs::BoundCRS *boundSrc,\n        const crs::GeodeticCRSNNPtr
      &geodSrcBase,\n        std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5531,1
    - Dst: crs::DerivedCRS*::derivingConversion
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5533,1
    - Dst: crs::DerivedCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5536,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5537,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5538,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5542,1
    - Dst: crs::DerivedCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5542,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5548,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5549,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5550,1
    - Dst: crs::DerivedCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5550,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5551,1
    - Dst: crs::DerivedCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5551,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5552,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5552,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5553,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5553,1
    - Dst: dynamic_cast<const Conversion *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5554,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5554,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5556,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5557,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5557,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5557,1
    - Dst: auto::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5558,1
    - Dst: auto::parameterValueNumericAsSI
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5560,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5562,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5569,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5569,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5570,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 6
    argNames:
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - derivedSrc
    - res
    argTypes:
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::DerivedCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5574
      start: 5523
    functionDepth: 4
    functionLinenumber: 5523
    functionLinenumberEnd: 5574
    functionName: "CoordinateOperationFactory::Private::createOperationsDerivedTo(\n
      \   const crs::CRSNNPtr & /*sourceCRS*/,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::DerivedCRS *derivedSrc,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const crs::VerticalCRS *>
    - buildConvName
    - dynamic_cast<const crs::GeographicCRS *>
    - auto::nameStr
    - auto::method
    - dynamic_cast<const crs::DerivedCRS *>
    - crs::DerivedCRS*::derivingConversion
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - crs::DerivedCRS*::baseCRS
    - dynamic_cast<const Conversion *>
    - auto::parameterValueNumericAsSI
    - auto::front
    - auto::size
    - crs::CRSNNPtr::get
    - Private::Context::disallowEmptyIntersection
    - createOperations
    - crs::CRSNNPtr::nameStr
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsDerivedTo(\n
      \   const crs::CRSNNPtr & /*sourceCRS*/,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::DerivedCRS *derivedSrc,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5584,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5586,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5587,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5587,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5588,1
    - Dst: std::dynamic_pointer_cast<crs::DerivedGeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5593,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5596,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5597,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5599,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5604,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5606,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5608,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5614,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5615,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5616,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5618,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5619,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5619,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5620,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5628,1
    - Dst: auto::is2DPartOf3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5630,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5630,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5634,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5635,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5638,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5638,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5639,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5640,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5641,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5642,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5642,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5643,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5646,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5649,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5650,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5651,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5652,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5653,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5659,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5659,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5663,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5664,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5664,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5665,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5666,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5667,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5671,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5673,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5673,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5675,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5675,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5676,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5677,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5678,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5682,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5688,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5689,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5691,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5692,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5692,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5693,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5694,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5695,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5696,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5697,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5698,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5698,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5700,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5701,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5703,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5704,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5705,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5706,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5707,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5708,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5708,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5709,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5715,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5717,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5717,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5719,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5719,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5720,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5721,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5722,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5723,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5728,1
    - Dst: auto::ellipsoid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5738,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5739,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5741,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5742,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5744,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5745,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5747,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5748,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5749,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5751,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5752,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5752,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5754,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5754,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5755,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5756,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5756,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5757,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5760,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5761,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5761,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5762,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5764,1
    - Dst: auto::setProperties
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5765,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5765,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5767,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5767,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5768,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5769,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5770,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5773,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5774,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5776,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5780,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5788,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5790,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5790,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5791,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5792,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5792,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5793,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5794,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5795,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5796,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5796,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5797,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5800,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5801,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5802,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5803,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5810,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5810,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5818,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5819,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5820,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5821,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5822,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5823,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5824,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5824,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5829,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5830,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5832,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5833,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5835,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5844,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5851,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5851,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5857,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5858,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5859,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5860,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5862,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5864,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5866,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5867,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5867,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5868,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5869,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5873,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5875,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5877,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5879,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5881,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5883,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5888,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5891,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5892,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5895,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5897,1
    - Dst: auto::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5899,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5899,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5900,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5905,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5906,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5908,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5913,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5918,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5919,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5920,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5921,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5921,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5926,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5928,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5929,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5932,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5943,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5950,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5950,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5951,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5952,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 154
    argCount: 6
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - boundSrc
    - geogDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::BoundCRS*
    - crs::GeographicCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts:
    - condition: (!opsIntermediate.empty())
      pos:
        line_end: 5707
        line_start: 5707
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsIntermediate.empty())
      pos:
        line_end: 5641
        line_start: 5641
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 5953
      start: 5578
    functionDepth: 4
    functionLinenumber: 5578
    functionLinenumberEnd: 5953
    functionName: "CoordinateOperationFactory::Private::createOperationsBoundToGeog(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::GeographicCRS *geogDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - crs::GeographicCRS*::datumNonNull
    - dynamic_cast<const crs::VerticalCRS *>
    - auto::coordinateSystem
    - auto::baseCRS
    - PropertyMap::PropertyMap
    - buildTransfName
    - auto::is2DPartOf3D
    - auto::datumNonNull
    - NN_NO_CHECK
    - dynamic_cast<const crs::GeographicCRS *>
    - std::dynamic_pointer_cast<crs::DerivedGeographicCRS>
    - auto::setCRSs
    - auto::nameStr
    - auto::_isEquivalentTo
    - std::move
    - dynamic_cast<const crs::DerivedCRS *>
    - auto::setProperties
    - assert
    - "ConcatenatedOperation::\n                                        createComputeMetadata"
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - crs::BoundCRS*::hubCRS
    - auto::direction
    - std::dynamic_pointer_cast<crs::GeographicCRS>
    - std::string
    - Conversion::createChangeVerticalUnit
    - auto::front
    - std::vector<CoordinateOperationNNPtr>::empty
    - auto::size
    - InvalidOperation
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - crs::BoundCRS*::transformation
    - crs::GeographicCRS*::coordinateSystem
    - auto::databaseContext
    - hasBallparkTransformation
    - crs::BoundCRS*::baseCRS
    - auto::ellipsoid
    - get
    - auto::demoteTo2D
    - createOperations
    - util::optional<common::DataEpoch>
    - _isEquivalentTo
    - auto::unit
    - Scale::Scale
    - auto::empty
    - std::vector::emplace_back
    - crs::CRSNNPtr::nameStr
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsBoundToGeog(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::GeographicCRS *geogDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5963,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5966,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5966,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5967,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5968,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5968,1
    - Dst: crs::VerticalCRS*::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5970,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5972,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5972,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5976,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5976,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5977,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - targetCRS
    - context
    - boundSrc
    - vertDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - Private::Context
    - crs::BoundCRS*
    - crs::VerticalCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5979
      start: 5957
    functionDepth: 1
    functionLinenumber: 5957
    functionLinenumberEnd: 5979
    functionName: "CoordinateOperationFactory::Private::createOperationsBoundToVert(\n
      \   const crs::CRSNNPtr & /*sourceCRS*/, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::VerticalCRS *vertDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - dynamic_cast<const crs::VerticalCRS *>
    - createOperations
    - util::optional<common::DataEpoch>
    - crs::VerticalCRS*::_isEquivalentTo
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - crs::BoundCRS*::hubCRS
    - crs::BoundCRS*::transformation
    - ENTER_FUNCTION
    - crs::BoundCRS*::baseCRS
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsBoundToVert(\n
      \   const crs::CRSNNPtr & /*sourceCRS*/, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::VerticalCRS *vertDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5986,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5986,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:5986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sourceCRS
    - targetCRS
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5991
      start: 5983
    functionDepth: 1
    functionLinenumber: 5983
    functionLinenumberEnd: 5991
    functionName: getBallparkTransformationVertToVert
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - buildTransfName
    - crs::CRSNNPtr::nameStr
    linkageType: ''
    returnType: std::string
    signature: "std::string getBallparkTransformationVertToVert(const crs::CRSNNPtr
      &sourceCRS,\n                                    const crs::CRSNNPtr &targetCRS)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6001,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6003,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6005,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6007,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6008,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6009,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6010,1
    - Dst: crs::VerticalCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6012,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6013,1
    - Dst: crs::VerticalCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6014,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6015,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6016,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6017,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6018,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6019,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6024,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6027,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6028,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6031,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6032,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6035,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6036,1
    - Dst: getBallparkTransformationVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6041,1
    - Dst: Transformation::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6042,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6043,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6047,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6048,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6049,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6051,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6051,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6051,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6052,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6053,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6056,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6057,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6058,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6060,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6060,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6060,1
    - Dst: Conversion::createHeightDepthReversal
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6061,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6062,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6063,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6064,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 6
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - vertSrc
    - vertDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::VerticalCRS*
    - crs::VerticalCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6066
      start: 5995
    functionDepth: 4
    functionLinenumber: 5995
    functionLinenumberEnd: 6066
    functionName: "CoordinateOperationFactory::Private::createOperationsVertToVert(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::VerticalCRS *vertSrc,\n    const crs::VerticalCRS *vertDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - buildConvName
    - util::PropertyMap::set
    - NN_NO_CHECK
    - getExtent
    - auto::setHasBallparkTransformation
    - std::vector<CoordinateOperationNNPtr>::push_back
    - crs::VerticalCRS*::datumNonNull
    - auto::setCRSs
    - auto::_isEquivalentTo
    - auto::direction
    - Conversion::createChangeVerticalUnit
    - Conversion::createHeightDepthReversal
    - InvalidOperation
    - Transformation::createChangeVerticalUnit
    - getBallparkTransformationVertToVert
    - Private::Context::context::getAuthorityFactory
    - auto::databaseContext
    - crs::VerticalCRS*::coordinateSystem
    - auto::unit
    - Scale::Scale
    - crs::CRSNNPtr::nameStr
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsVertToVert(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::VerticalCRS *vertSrc,\n    const crs::VerticalCRS *vertDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6079,1
    - Dst: crs::VerticalCRS*::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6081,1
    - Dst: crs::VerticalCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6082,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6083,1
    - Dst: auto::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6086,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6089,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6090,1
    - Dst: crs::VerticalCRS*::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6091,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6092,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6094,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6095,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6096,1
    - Dst: util::nn_dynamic_pointer_cast<crs::VerticalCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6097,1
    - Dst: std::vector<CoordinateOperationNNPtr>::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: std::vector<CoordinateOperationNNPtr>::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6100,1
    - Dst: createOperationsVertToGeogSynthetized
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 8
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - vertSrc
    - geogDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::VerticalCRS*
    - crs::GeographicCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 6070
    functionDepth: 1
    functionLinenumber: 6070
    functionLinenumberEnd: 6109
    functionName: "CoordinateOperationFactory::Private::createOperationsVertToGeog(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::VerticalCRS *vertSrc,\n
      \   const crs::GeographicCRS *geogDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::begin
    - auto::front
    - crs::VerticalCRS*::nameStr
    - auto::size
    - std::vector<CoordinateOperationNNPtr>::end
    - createOperations
    - crs::VerticalCRS*::identifiers
    - auto::createObjectsFromName
    - crs::VerticalCRS*::_isEquivalentTo
    - std::vector<CoordinateOperationNNPtr>::insert
    - auto::identifiers
    - NN_NO_CHECK
    - auto::end
    - Private::Context::context::getAuthorityFactory
    - util::nn_dynamic_pointer_cast<crs::VerticalCRS>
    - ENTER_FUNCTION
    - createOperationsVertToGeogSynthetized
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsVertToGeog(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::VerticalCRS *vertSrc,\n
      \   const crs::GeographicCRS *geogDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6119,1
    - Dst: crs::VerticalCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6121,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6122,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6124,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6127,1
    - Dst: auto::unit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6129,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6130,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6131,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6133,1
    - Dst: auto::direction
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6134,1
    - Dst: InvalidOperation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6139,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6142,1
    - Dst: getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6143,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6146,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6147,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6149,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6151,1
    - Dst: crs::VerticalCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6153,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6154,1
    - Dst: crs::GeographicCRS*::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6155,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6156,1
    - Dst: Private::Context::geogCRSOfVertCRSStack::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6166,1
    - Dst: Private::Context::geogCRSOfVertCRSStack::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6167,1
    - Dst: buildConvName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6174,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6174,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6175,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6176,1
    - Dst: buildTransfName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6179,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6179,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6179,1
    - Dst: util::PropertyMap::set
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6186,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6188,1
    - Dst: Conversion::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6192,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6193,1
    - Dst: auto::setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6194,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6195,1
    - Dst: Transformation::createChangeVerticalUnit
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6197,1
    - Dst: Scale::Scale
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6199,1
    - Dst: auto::setHasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6200,1
    - Dst: std::vector<CoordinateOperationNNPtr>::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 6
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - vertSrc
    - geogDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::VerticalCRS*
    - crs::GeographicCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6203
      start: 6113
    functionDepth: 4
    functionLinenumber: 6113
    functionLinenumberEnd: 6203
    functionName: "CoordinateOperationFactory::Private::createOperationsVertToGeogSynthetized(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::VerticalCRS *vertSrc,\n    const crs::GeographicCRS *geogDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - crs::GeographicCRS*::datumNonNull
    - buildConvName
    - buildTransfName
    - util::PropertyMap::set
    - NN_NO_CHECK
    - getExtent
    - auto::setHasBallparkTransformation
    - std::vector<CoordinateOperationNNPtr>::push_back
    - crs::VerticalCRS*::datumNonNull
    - auto::nameStr
    - auto::setCRSs
    - auto::_isEquivalentTo
    - auto::direction
    - Private::Context::geogCRSOfVertCRSStack::back
    - Conversion::createChangeVerticalUnit
    - auto::size
    - InvalidOperation
    - Transformation::createChangeVerticalUnit
    - Private::Context::context::getAuthorityFactory
    - crs::GeographicCRS*::coordinateSystem
    - auto::databaseContext
    - crs::VerticalCRS*::coordinateSystem
    - auto::unit
    - Scale::Scale
    - Private::Context::geogCRSOfVertCRSStack::empty
    - crs::CRSNNPtr::nameStr
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsVertToGeogSynthetized(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::VerticalCRS *vertSrc,\n    const crs::GeographicCRS *geogDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6212,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6215,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6216,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6216,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6217,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6218,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6218,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6220,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6222,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6223,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6224,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6225,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6226,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6227,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6232,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6233,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6234,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6235,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6236,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6241,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6249,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6249,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6251,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6251,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6254,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6256,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6259,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6260,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6261,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6261,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6262,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6263,1
    - Dst: crs::BoundCRS*::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6264,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6266,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6267,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6267,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6268,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6268,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6275,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6276,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6278,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6281,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6282,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6283,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6284,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6285,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6286,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6287,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6287,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6291,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6292,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6294,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6299,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6305,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6306,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6306,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6307,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6307,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 6
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - boundSrc
    - boundDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::BoundCRS*
    - crs::BoundCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6308
      start: 6207
    functionDepth: 4
    functionLinenumber: 6207
    functionLinenumberEnd: 6308
    functionName: "CoordinateOperationFactory::Private::createOperationsBoundToBound(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::BoundCRS *boundDst,
      std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::datumNonNull
    - dynamic_cast<const crs::GeographicCRS *>
    - auto::nameStr
    - auto::_isEquivalentTo
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - crs::BoundCRS*::hubCRS
    - std::vector<CoordinateOperationNNPtr>::empty
    - std::vector::push_back
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - crs::BoundCRS*::transformation
    - auto::databaseContext
    - crs::BoundCRS*::baseCRS
    - createOperations
    - util::optional<common::DataEpoch>
    - dynamic_cast<crs::VerticalCRS *>
    - auto::empty
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsBoundToBound(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::BoundCRS *boundDst,
      std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6314,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6314,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - op
    argTypes:
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6318
      start: 6312
    functionDepth: 1
    functionLinenumber: 6312
    functionLinenumberEnd: 6318
    functionName: getOps
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - CoordinateOperationNNPtr::get
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: std::vector<CoordinateOperationNNPtr> getOps(const CoordinateOperationNNPtr
      &op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replaceAll
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6334
      start: 6322
    functionDepth: 2
    functionLinenumber: 6322
    functionLinenumberEnd: 6334
    functionName: normalize2D3DInName
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - replaceAll
    linkageType: ''
    returnType: std::string
    signature: std::string normalize2D3DInName(const std::string &s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6340,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6341,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6344,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6344,1
    - Dst: normalize2D3DInName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6346,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6346,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6347,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6348,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6353,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6353,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6355,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6356,1
    - Dst: normalize2D3DInName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6363,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6363,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6364,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6365,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6365,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6373,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6374,1
    - Dst: starts_with
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6375,1
    - Dst: normalize2D3DInName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6380,1
    - Dst: inverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6380,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 28
    argCount: 2
    argNames:
    - opA
    - opB
    argTypes:
    - CoordinateOperationNNPtr
    - CoordinateOperationNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6387
      start: 6338
    functionDepth: 3
    functionLinenumber: 6338
    functionLinenumberEnd: 6387
    functionName: useCompatibleTransformationsForSameSourceTarget
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - starts_with
    - get
    - dynamic_cast<const Transformation *>
    - inverse
    - getOps
    - nameStr
    - normalize2D3DInName
    - targetCRS
    - sourceCRS
    linkageType: ''
    returnType: bool
    signature: "bool useCompatibleTransformationsForSameSourceTarget(\n    const CoordinateOperationNNPtr
      &opA, const CoordinateOperationNNPtr &opB)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6396,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6396,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6398,1
    - Dst: CoordinateOperationNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6399,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6401,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6406,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6406,1
    - Dst: auto::hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6419,1
    - Dst: auto::interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6421,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6424,1
    - Dst: std::dynamic_pointer_cast<crs::GeographicCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6431,1
    - Dst: auto::targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6432,1
    - Dst: crs::GeographicCRSPtr::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6437,1
    - Dst: crs::GeographicCRSPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6444,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6444,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - verticalTransform
    - dbContext
    argTypes:
    - CoordinateOperationNNPtr
    - io::DatabaseContextPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6450
      start: 6391
    functionDepth: 1
    functionLinenumber: 6391
    functionLinenumberEnd: 6450
    functionName: getInterpolationGeogCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const ConcatenatedOperation *>
    - auto::operations
    - get
    - dynamic_cast<const Transformation *>
    - crs::GeographicCRSPtr::demoteTo2D
    - auto::hasBallparkTransformation
    - crs::GeographicCRSPtr::coordinateSystem
    - CoordinateOperationNNPtr::get
    - auto::targetCRS
    - std::dynamic_pointer_cast<crs::GeographicCRS>
    - std::string
    - auto::interpolationCRS
    linkageType: ''
    returnType: crs::GeographicCRSPtr
    signature: "crs::GeographicCRSPtr getInterpolationGeogCRS(const CoordinateOperationNNPtr
      &verticalTransform,\n                        const io::DatabaseContextPtr &dbContext)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6463,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6465,1
    - Dst: crs::CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6466,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6467,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6470,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6473,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6475,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6475,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6478,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6479,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6481,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6482,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6484,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6486,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6488,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6488,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6490,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6494,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6495,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6496,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6497,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6504,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6505,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6512,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6513,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6514,1
    - Dst: crs::GeographicCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6515,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6515,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6516,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6517,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6518,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6520,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6520,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6524,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6524,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6528,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6529,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6530,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6531,1
    - Dst: crs::GeographicCRS*::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6537,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6538,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6544,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6546,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6549,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6554,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6556,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6557,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6558,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6560,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6562,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6568,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6569,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6569,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6570,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6579,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6579,1
    - Dst: dynamic_cast<const crs::DerivedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6581,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6582,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6585,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6585,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6586,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6587,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6589,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6591,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6592,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6594,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6596,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6598,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6598,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6600,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6604,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6605,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6606,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6607,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6619,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6621,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6621,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6623,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6623,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6624,1
    - Dst: crs::CRSNNPtr::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6625,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6627,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6628,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6630,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6633,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6634,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6637,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6638,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6639,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6640,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6641,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6642,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6643,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6644,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6647,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6647,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6648,1
    - Dst: BoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6649,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6650,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6651,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6652,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6652,1
    - Dst: auto::transformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6653,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6654,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6655,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6656,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6658,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6659,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6660,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6663,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6664,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6664,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6666,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6667,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6667,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6670,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6671,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6674,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6681,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6688,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6689,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6692,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6693,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6693,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6694,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6700,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6702,1
    - Dst: hasIdentifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6716,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6719,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6743,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6744,1
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6751,1
    - Dst: Private::Context::geogCRSOfVertCRSStack::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6768,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6769,1
    - Dst: Private::Context::geogCRSOfVertCRSStack::pop_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6774,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6782,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6783,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6784,1
    - Dst: Private::Context::context::getGridAvailabilityUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6787,1
    - Dst: hasAtLeastOneOpWithNonTrivialAndWithAllGrids
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6793,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6797,1
    - Dst: auto::is2DPartOf3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6799,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6799,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6801,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6802,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6804,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6805,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6811,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6812,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6813,1
    - Dst: hasAtLeastOneOpWithNonTrivialAndWithAllGrids
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6818,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6823,1
    - Dst: std::vector::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6825,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6825,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6826,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6827,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6841,1
    - Dst: std::find_if
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6844,1
    - Dst: std::vector::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6844,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6845,1
    - Dst: std::vector::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6846,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6850,1
    - Dst: dynamic_cast<const ConcatenatedOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6852,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6853,1
    - Dst: auto::operations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6856,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6857,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6859,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6860,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6861,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6862,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6863,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6866,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6867,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6868,1
    - Dst: std::map::insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6869,1
    - Dst: std::make_pair
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6870,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6870,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6871,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6881,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6882,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6883,1
    - Dst: std::find_if
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6886,1
    - Dst: auto::begin
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6886,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6887,1
    - Dst: auto::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6889,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6891,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6892,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6893,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6895,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6896,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6897,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6900,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6902,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6904,1
    - Dst: "ConcatenatedOperation::\n                                                    createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6905,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6908,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6921,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6921,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6922,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6935,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6936,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6936,1
    - Dst: getInterpolationGeogCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6939,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6942,1
    - Dst: objectAsStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6942,1
    - Dst: crs::GeographicCRSPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6942,1
    - Dst: crs::GeographicCRSPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6949,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6950,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6952,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6952,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6963,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6964,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6965,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6966,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6973,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6973,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6975,1
    - Dst: crs::CRSNNPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6976,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6976,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6979,1
    - Dst: crs::GeographicCRSPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6980,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6981,1
    - Dst: applyInverse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6986,1
    - Dst: crs::GeographicCRSPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6998,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6999,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7001,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7002,1
    - Dst: crs::GeographicCRS*::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7005,1
    - Dst: "cs::VerticalCS::\n                                          createGravityRelatedHeight"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7006,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7010,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7011,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7012,1
    - Dst: dynamic_cast<const SingleOperation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7020,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7020,1
    - Dst: SingleOperation*::method
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7022,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7025,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7025,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7030,1
    - Dst: std::map::find
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7031,1
    - Dst: std::map::end
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7032,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7034,1
    - Dst: computeOpsToInterp
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7038,1
    - Dst: PairOfTransforms
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7040,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7047,1
    - Dst: computeOpsToInterp
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7051,1
    - Dst: ENTER_BLOCK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7055,1
    - Dst: isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7058,1
    - Dst: crs::CRSNNPtr::demoteTo2D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7059,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7059,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7067,1
    - Dst: insert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7069,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7069,1
    - Dst: dynamic_cast<const Transformation *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7080,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7081,1
    - Dst: addDatumOfToSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7083,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7084,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7084,1
    - Dst: addDatumOfToSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7085,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7086,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7086,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7107,1
    - Dst: makeDatumSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7107,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7107,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7110,1
    - Dst: makeDatumSet
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7110,1
    - Dst: getOps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7110,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7115,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7115,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7120,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7121,1
    - Dst: useCompatibleTransformationsForSameSourceTarget
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7122,1
    - Dst: logTrace
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7125,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7126,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7127,1
    - Dst: createHorizVerticalHorizPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7135,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7139,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7140,1
    - Dst: getInterpolationGeogCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7151,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7154,1
    - Dst: createHorizVerticalPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7162,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7165,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7166,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 208
    argCount: 8
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - compoundSrc
    - geogDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::CompoundCRS*
    - crs::GeographicCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts:
    - condition: (!opsFirst.empty())
      pos:
        line_end: 6597
        line_start: 6597
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!opsFirst.empty())
      pos:
        line_end: 6487
        line_start: 6487
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - condition: (!context.skipHorizontalTransformation)
      pos:
        line_end: 6750
        line_start: 6750
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 7173
      start: 6454
    functionDepth: 5
    functionLinenumber: 6454
    functionLinenumberEnd: 7173
    functionName: "CoordinateOperationFactory::Private::createOperationsCompoundToGeog(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::CompoundCRS *compoundSrc,\n
      \   const crs::GeographicCRS *geogDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - abs
    - std::make_pair
    - std::vector::size
    - auto::datumNonNull
    - std::vector::empty
    - BoundCRS::create
    - dynamic_cast<const crs::DerivedCRS *>
    - std::string
    - gridsNeeded
    - logTrace
    - std::string::empty
    - std::vector::push_back
    - crs::GeographicCRS*::coordinateSystem
    - hasBallparkTransformation
    - extractGeodeticCRS
    - createHorizVerticalHorizPROJBased
    - util::optional<common::DataEpoch>
    - dynamic_cast<const SingleOperation *>
    - auto::end
    - targetCRS
    - sourceCRS
    - std::map::end
    - NN_NO_CHECK
    - auto::hubCRS
    - crs::CompoundCRS*::componentReferenceSystems
    - isEquivalentTo
    - objectAsStr
    - assert
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - hasIdentifiers
    - applyInverse
    - CompoundCRS::create
    - std::vector<CoordinateOperationNNPtr>::empty
    - auto::promoteTo3D
    - std::find_if
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - crs::GeographicCRSPtr::get
    - get
    - auto::identifiers
    - std::map::insert
    - computeOpsToInterp
    - auto::get
    - insert
    - auto::operations
    - crs::GeographicCRS*::_isEquivalentTo
    - PropertyMap::PropertyMap
    - std::vector::insert
    - util::optional<common::DataEpoch>::coordinateEpoch
    - dynamic_cast<crs::BoundCRS *>
    - ENTER_BLOCK
    - makeDatumSet
    - dynamic_cast<const crs::GeographicCRS *>
    - std::vector::end
    - auto::createCoordinateReferenceSystem
    - crs::GeographicCRSPtr::identifiers
    - crs::CRSNNPtr::demoteTo2D
    - "ConcatenatedOperation::\n                                        createComputeMetadata"
    - ConcatenatedOperation::createComputeMetadata
    - crs::GeographicCRS*::nameStr
    - shallowClone
    - dynamic_cast<const crs::BoundCRS *>
    - extractGeographicCRS
    - dynamic_cast<const ConcatenatedOperation *>
    - std::map::find
    - Private::Context::context::getAuthorityFactory
    - std::vector::begin
    - getOps
    - createHorizVerticalPROJBased
    - auto::empty
    - hasAtLeastOneOpWithNonTrivialAndWithAllGrids
    - Private::Context::geogCRSOfVertCRSStack::push_back
    - auto::transformation
    - util::optional<common::DataEpoch>::has_value
    - auto::baseCRS
    - "cs::VerticalCS::\n                                          createGravityRelatedHeight"
    - auto::is2DPartOf3D
    - nameStr
    - addDatumOfToSet
    - crs::CRSNNPtr::extractGeographicCRS
    - extractVerticalCRS
    - getInterpolationGeogCRS
    - Private::Context::context::getGridAvailabilityUse
    - setCRSs
    - PairOfTransforms
    - auto::nameStr
    - auto::_isEquivalentTo
    - dynamic_cast<const Transformation *>
    - std::move
    - "ConcatenatedOperation::\n                                                    createComputeMetadata"
    - useCompatibleTransformationsForSameSourceTarget
    - auto::begin
    - auto::front
    - auto::size
    - crs::GeographicCRSPtr::demoteTo2D
    - SingleOperation*::method
    - crs::CRSNNPtr::get
    - createOperations
    - Private::Context::geogCRSOfVertCRSStack::pop_back
    - AuthorityFactory::create
    - ENTER_FUNCTION
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsCompoundToGeog(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::CompoundCRS *compoundSrc,\n
      \   const crs::GeographicCRS *geogDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contextIn
    argTypes:
    - Context
    assertStmts:
    - condition: (!context.skipHorizontalTransformation)
      pos:
        line_end: 6750
        line_start: 6750
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    constantsTouched: []
    func_position:
      end: 6753
      start: 6749
    functionDepth: 0
    functionLinenumber: 6749
    functionLinenumberEnd: 6753
    functionName: SetSkipHorizontalTransform
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SetSkipHorizontalTransform(Context &contextIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6757
      start: 6755
    functionDepth: 0
    functionLinenumber: 6755
    functionLinenumberEnd: 6757
    functionName: ~SetSkipHorizontalTransform()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetSkipHorizontalTransform()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geogCRSOfVertCRSStack::push_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6768,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - contextIn
    - geogCRS
    argTypes:
    - Context
    - crs::GeographicCRSPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6770
      start: 6764
    functionDepth: 1
    functionLinenumber: 6764
    functionLinenumberEnd: 6770
    functionName: SetGeogCRSOfVertCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - geogCRSOfVertCRSStack::push_back
    - NN_NO_CHECK
    linkageType: ''
    returnType: void
    signature: "void SetGeogCRSOfVertCRS(\n                    Context &contextIn,
      const crs::GeographicCRSPtr &geogCRS)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geogCRSOfVertCRSStack::pop_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:6774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6775
      start: 6772
    functionDepth: 0
    functionLinenumber: 6772
    functionLinenumberEnd: 6775
    functionName: ~SetGeogCRSOfVertCRS()
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - geogCRSOfVertCRSStack::pop_back
    linkageType: ''
    returnType: void
    signature: void ~SetGeogCRSOfVertCRS()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7185,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7188,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7188,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7189,1
    - Dst: crs::GeodeticCRS*::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7190,1
    - Dst: crs::GeodeticCRS*::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7193,1
    - Dst: crs::GeodeticCRS*::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7193,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7194,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7196,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7198,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7200,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7201,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7201,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7203,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7203,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7204,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7204,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - geodDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::GeodeticCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7210
      start: 7177
    functionDepth: 4
    functionLinenumber: 7177
    functionLinenumberEnd: 7210
    functionName: "CoordinateOperationFactory::Private::createOperationsToGeod(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::front
    - crs::GeodeticCRS*::datum
    - PropertyMap::PropertyMap
    - crs::GeodeticCRS*::datumEnsemble
    - EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
    - GeographicCRS::create
    - createOperations
    - util::nn_static_pointer_cast<crs::CRS>
    - setCRSs
    - std::move
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - Private::Context::disallowEmptyIntersection
    - auto::empty
    - shallowClone
    - crs::GeodeticCRS*::nameStr
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsToGeod(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: crs::CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7223,1
    - Dst: crs::CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7224,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7225,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7225,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7225,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7228,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7229,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7233,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7234,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7235,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7237,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7238,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7238,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7241,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7241,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7242,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7246,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7246,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7247,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7248,1
    - Dst: auto::getPointMotionOperationsFor
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7250,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7251,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7252,1
    - Dst: auto::promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7253,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7254,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7254,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7255,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7257,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7259,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7262,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7264,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7266,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7268,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7269,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7271,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7281,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7290,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7290,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7292,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7292,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7294,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7294,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7296,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7296,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7298,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7298,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7300,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7301,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7303,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7306,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7306,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7307,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7309,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7314,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7315,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7317,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7329,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7330,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7331,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7333,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7334,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7336,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7337,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7340,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7341,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7342,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7343,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7344,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7345,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7346,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7347,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7348,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7349,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7350,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7351,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7352,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7353,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7354,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7355,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7356,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7357,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7358,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7359,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7360,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7361,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7362,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7363,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7364,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7365,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7366,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7367,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7368,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7369,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7375,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7387,1
    - Dst: std::vector::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7388,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7390,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7391,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7392,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7393,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7402,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7404,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7409,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7410,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7412,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7420,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7420,1
    - Dst: dynamic_cast<const crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7422,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7422,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7426,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7427,1
    - Dst: createWithIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7429,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7430,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7430,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7431,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7438,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7439,1
    - Dst: createWithIntermediateCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7441,1
    - Dst: promoteTo3D
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7442,1
    - Dst: std::string
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7442,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7443,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7452,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7454,1
    - Dst: gridsNeeded
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7466,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7467,1
    - Dst: empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7480,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7481,1
    - Dst: hasKnownGrid
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7482,1
    - Dst: front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7482,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7485,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7487,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7493,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7495,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7500,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7506,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7511,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7517,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7518,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7527,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7528,1
    - Dst: std::vector<CoordinateOperationNNPtr>::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7528,1
    - Dst: getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7530,1
    - Dst: std::vector<CoordinateOperationNNPtr>::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7530,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7557,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7559,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7564,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7570,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7575,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7581,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7582,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7585,1
    - Dst: getAccuracy
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7588,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7588,1
    - Dst: getStepCount
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7590,1
    - Dst: std::vector::back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7590,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7613,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7617,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7617,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7618,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7623,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7624,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7626,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7627,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7628,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7630,1
    - Dst: createOpsInTwoSteps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7631,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7637,1
    - Dst: auto::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7638,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7640,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7641,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7642,1
    - Dst: hasNonTrivialTransf
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7643,1
    - Dst: createOpsInTwoSteps
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7644,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7649,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7655,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7663,1
    - Dst: std::static_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7663,1
    - Dst: interpolationCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7664,1
    - Dst: std::static_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7666,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7668,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7672,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7672,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7674,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7674,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7676,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7677,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7678,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7679,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7682,1
    - Dst: util::nn_dynamic_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7682,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7683,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7685,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7686,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7688,1
    - Dst: std::static_pointer_cast<crs::SingleCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7689,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7696,1
    - Dst: util::optional<common::DataEpoch>::has_value
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7696,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7697,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7698,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7699,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7700,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7701,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7703,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7703,1
    - Dst: abs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7707,1
    - Dst: util::optional<common::DataEpoch>::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7707,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7711,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7712,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7713,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7714,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7714,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7719,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7723,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7726,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7732,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7733,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7734,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7735,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7736,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7737,1
    - Dst: createHorizVerticalHorizPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7742,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7744,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7745,1
    - Dst: std::vector::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7752,1
    - Dst: hasBallparkTransformation
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7753,1
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7754,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7755,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7755,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7756,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7756,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7757,1
    - Dst: getBallparkTransformationVertToVert
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7758,1
    - Dst: createOperationsFromDatabase
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7773,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7774,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7775,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7776,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7779,1
    - Dst: createHorizNullVerticalPROJBased
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7779,1
    - Dst: std::vector::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7785,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7786,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7787,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7788,1
    - Dst: auto::shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7790,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7791,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7791,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7792,1
    CyclomaticComplexity: 183
    EdgeCount: 183
    ICount: 194
    argCount: 8
    argNames:
    - sourceCRS
    - sourceEpoch
    - targetCRS
    - targetEpoch
    - context
    - compoundSrc
    - compoundDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - crs::CRSNNPtr
    - util::optional<common::DataEpoch>
    - Private::Context
    - crs::CompoundCRS*
    - crs::CompoundCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7795
      start: 7214
    functionDepth: 5
    functionLinenumber: 7214
    functionLinenumberEnd: 7795
    functionName: "CoordinateOperationFactory::Private::createOperationsCompoundToCompound(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::CompoundCRS *compoundSrc,\n
      \   const crs::CompoundCRS *compoundDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - createOpsInTwoSteps
    - abs
    - util::optional<common::DataEpoch>::has_value
    - getStepCount
    - dynamic_cast<crs::GeographicCRS *>
    - std::vector::size
    - nameStr
    - front
    - hasKnownGrid
    - dynamic_cast<crs::ProjectedCRS *>
    - util::optional<common::DataEpoch>::coordinateEpoch
    - NN_NO_CHECK
    - dynamic_cast<crs::BoundCRS *>
    - extractVerticalCRS
    - auto::geoidModel
    - createHorizNullVerticalPROJBased
    - setCRSs
    - auto::hubCRS
    - std::vector::empty
    - interpolationCRS
    - auto::createGeographicCRS
    - auto::nameStr
    - crs::CompoundCRS*::componentReferenceSystems
    - auto::_isEquivalentTo
    - std::vector::front
    - createWithIntermediateCRS
    - std::move
    - std::vector::back
    - "ConcatenatedOperation::\n                                        createComputeMetadata"
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - auto::getPointMotionOperationsFor
    - std::string
    - gridsNeeded
    - createOperationsFromDatabase
    - extractGeographicCRS
    - dynamic_cast<const crs::BoundCRS *>
    - auto::front
    - auto::promoteTo3D
    - std::vector<CoordinateOperationNNPtr>::empty
    - auto::size
    - std::vector<CoordinateOperationNNPtr>::back
    - promoteTo3D
    - getBallparkTransformationVertToVert
    - auto::shallowClone
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - hasBallparkTransformation
    - auto::databaseContext
    - createHorizVerticalHorizPROJBased
    - get
    - createOperations
    - std::static_pointer_cast<crs::SingleCRS>
    - auto::isEquivalentTo
    - _isEquivalentTo
    - hasNonTrivialTransf
    - getAccuracy
    - util::optional<common::DataEpoch>
    - auto::identifiers
    - empty
    - util::nn_dynamic_pointer_cast<crs::SingleCRS>
    - auto::empty
    - std::vector::emplace_back
    - AuthorityFactory::create
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsCompoundToCompound(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
      &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
      &targetEpoch,\n    Private::Context &context, const crs::CompoundCRS *compoundSrc,\n
      \   const crs::CompoundCRS *compoundDst,\n    std::vector<CoordinateOperationNNPtr>
      &res)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Private::Context::context::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7805,1
    - Dst: auto::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7807,1
    - Dst: crs::CompoundCRS*::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7809,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7815,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7816,1
    - Dst: util::nn_dynamic_pointer_cast<crs::BoundCRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7818,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7820,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7820,1
    - Dst: auto::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7822,1
    - Dst: dynamic_cast<const crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7823,1
    - Dst: auto::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7824,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7826,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7827,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7830,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7832,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7833,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7835,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7836,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7838,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7839,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7841,1
    - Dst: nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7842,1
    - Dst: CompoundCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7843,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7845,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7846,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7847,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7848,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7850,1
    - Dst: setCRSs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7851,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7851,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7852,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7860,1
    - Dst: dynamic_cast<crs::BoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7862,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7862,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7865,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7865,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7867,1
    - Dst: auto::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7868,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7871,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7873,1
    - Dst: auto::_isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7874,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7875,1
    - Dst: "cs::EllipsoidalCS::\n                        createLatitudeLongitudeEllipsoidalHeight"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7877,1
    - Dst: "util::nn_static_pointer_cast<\n                        crs::CRS>"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7881,1
    - Dst: GeographicCRS::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7882,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7883,1
    - Dst: auto::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7885,1
    - Dst: auto::datum
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7888,1
    - Dst: auto::datumEnsemble
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7889,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7890,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7891,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7892,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7894,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7895,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7896,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7900,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7900,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7901,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7902,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7910,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7911,1
    - Dst: targetCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7911,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7912,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7913,1
    - Dst: sourceCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7913,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7914,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7916,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7917,1
    - Dst: "ConcatenatedOperation::\n                                            createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7918,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7920,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7922,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7926,1
    - Dst: "ConcatenatedOperation::\n                                        createComputeMetadata"
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7927,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7930,1
    - Dst: dynamic_cast<const crs::SingleCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7943,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7943,1
    - Dst: crs::BoundCRS*::extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7944,1
    - Dst: dynamic_cast<const crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7946,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7946,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7947,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7949,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7951,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7952,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7953,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7956,1
    - Dst: auto::datumNonNull
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7957,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7960,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7960,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7961,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7962,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7963,1
    - Dst: crs::BoundCRS*::hubCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7964,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7964,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7965,1
    - Dst: std::vector<CoordinateOperationNNPtr>::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7969,1
    - Dst: ConcatenatedOperation::createComputeMetadata
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7970,1
    - Dst: Private::Context::disallowEmptyIntersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7972,1
    - Dst: std::vector<CoordinateOperationNNPtr>::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7977,1
    - Dst: createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7985,1
    - Dst: crs::BoundCRS*::baseCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7985,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7986,1
    - Dst: util::optional<common::DataEpoch>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:7987,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 43
    argCount: 6
    argNames:
    - sourceCRS
    - targetCRS
    - context
    - boundSrc
    - compoundDst
    - res
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - Private::Context
    - crs::BoundCRS*
    - crs::CompoundCRS*
    - std::vector<CoordinateOperationNNPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7988
      start: 7799
    functionDepth: 4
    functionLinenumber: 7799
    functionLinenumberEnd: 7988
    functionName: "CoordinateOperationFactory::Private::createOperationsBoundToCompound(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::CompoundCRS *compoundDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - "util::nn_static_pointer_cast<\n                        crs::CRS>"
    - dynamic_cast<const crs::VerticalCRS *>
    - auto::coordinateSystem
    - auto::baseCRS
    - PropertyMap::PropertyMap
    - dynamic_cast<crs::GeographicCRS *>
    - nameStr
    - auto::datumNonNull
    - NN_NO_CHECK
    - dynamic_cast<crs::BoundCRS *>
    - dynamic_cast<const crs::GeographicCRS *>
    - setCRSs
    - auto::hubCRS
    - auto::nameStr
    - crs::CompoundCRS*::componentReferenceSystems
    - auto::_isEquivalentTo
    - util::nn_dynamic_pointer_cast<crs::BoundCRS>
    - auto::datumEnsemble
    - "ConcatenatedOperation::\n                                        createComputeMetadata"
    - std::vector<CoordinateOperationNNPtr>::emplace_back
    - ConcatenatedOperation::createComputeMetadata
    - crs::BoundCRS*::hubCRS
    - dynamic_cast<const crs::SingleCRS *>
    - shallowClone
    - auto::datum
    - auto::extractGeographicCRS
    - extractGeographicCRS
    - targetCRS
    - auto::front
    - CompoundCRS::create
    - std::vector<CoordinateOperationNNPtr>::empty
    - auto::size
    - "ConcatenatedOperation::\n                                            createComputeMetadata"
    - GeographicCRS::create
    - Private::Context::context::getAuthorityFactory
    - Private::Context::disallowEmptyIntersection
    - auto::databaseContext
    - crs::BoundCRS*::baseCRS
    - get
    - createOperations
    - util::optional<common::DataEpoch>
    - "cs::EllipsoidalCS::\n                        createLatitudeLongitudeEllipsoidalHeight"
    - auto::empty
    - sourceCRS
    - crs::BoundCRS*::extractGeographicCRS
    linkageType: ''
    returnType: void
    signature: "void CoordinateOperationFactory::Private::createOperationsBoundToCompound(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
      &context, const crs::BoundCRS *boundSrc,\n    const crs::CompoundCRS *compoundDst,\n
      \   std::vector<CoordinateOperationNNPtr> &res)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENTER_FUNCTION
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8019,1
    - Dst: crs::CRSNNPtr::canonicalBoundCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8024,1
    - Dst: crs::CRSNNPtr::canonicalBoundCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8025,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8026,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8027,1
    - Dst: CoordinateOperationContextNNPtr::getAuthorityFactory
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8028,1
    - Dst: crs::CRS::getResolvedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8032,1
    - Dst: crs::CRS::getResolvedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8035,1
    - Dst: CoordinateOperationContextNNPtr::getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8036,1
    - Dst: metadata::ExtentPtr::reset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8039,1
    - Dst: metadata::ExtentPtr::reset
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8040,1
    - Dst: CoordinateOperationContextNNPtr::getSourceAndTargetCRSExtentUse
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8044,1
    - Dst: metadata::ExtentPtr::intersects
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8047,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8047,1
    - Dst: std::vector<CoordinateOperationNNPtr>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8048,1
    - Dst: filterAndSort
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8052,1
    - Dst: CoordinateOperationFactory::createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8053,1
    - Dst: CoordinateOperationContextNNPtr::getSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8054,1
    - Dst: CoordinateOperationContextNNPtr::getTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8055,1
    - Dst: CoordinateOperationContextNNPtr::getSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8058,1
    - Dst: CoordinateOperationContextNNPtr::getTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8059,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8061,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8061,1
    - Dst: shallowClone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8063,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8064,1
    - Dst: CoordinateOperationContextNNPtr::getSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8065,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8066,1
    - Dst: CoordinateOperationContextNNPtr::getTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8067,1
    - Dst: std::vector::emplace_back
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - sourceCRS
    - targetCRS
    - context
    argTypes:
    - crs::CRSNNPtr
    - crs::CRSNNPtr
    - CoordinateOperationContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8073
      start: 8013
    functionDepth: 2
    functionLinenumber: 8013
    functionLinenumberEnd: 8073
    functionName: CoordinateOperationFactory::createOperations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 3
    functionsReached:
    - CoordinateOperationContextNNPtr::getAuthorityFactory
    - CoordinateOperationContextNNPtr::getSourceAndTargetCRSExtentUse
    - NN_NO_CHECK
    - std::vector::reserve
    - crs::CRSNNPtr::canonicalBoundCRS
    - auto::setSourceCoordinateEpoch
    - CoordinateOperationContextNNPtr::getTargetCoordinateEpoch
    - CoordinateOperationContextNNPtr::getSourceCoordinateEpoch
    - shallowClone
    - auto::setTargetCoordinateEpoch
    - auto::size
    - filterAndSort
    - metadata::ExtentPtr::intersects
    - CoordinateOperationFactory::createOperations
    - crs::CRS::getResolvedCRS
    - metadata::ExtentPtr::reset
    - std::vector<CoordinateOperationNNPtr>
    - std::vector::emplace_back
    - ENTER_FUNCTION
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::createOperations(\n
      \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const
      CoordinateOperationContextNNPtr &context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationContextNNPtr::clone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8090,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8091,1
    - Dst: coordinates::CoordinateMetadataNNPtr::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8092,1
    - Dst: CoordinateOperationFactory::createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8093,1
    - Dst: coordinates::CoordinateMetadataNNPtr::crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sourceCoordinateMetadata
    - targetCRS
    - context
    argTypes:
    - coordinates::CoordinateMetadataNNPtr
    - crs::CRSNNPtr
    - CoordinateOperationContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8095
      start: 8085
    functionDepth: 1
    functionLinenumber: 8085
    functionLinenumberEnd: 8095
    functionName: CoordinateOperationFactory::createOperations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 4
    functionsReached:
    - CoordinateOperationContextNNPtr::clone
    - CoordinateOperationFactory::createOperations
    - coordinates::CoordinateMetadataNNPtr::crs
    - auto::setSourceCoordinateEpoch
    - coordinates::CoordinateMetadataNNPtr::coordinateEpoch
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::createOperations(\n
      \   const coordinates::CoordinateMetadataNNPtr &sourceCoordinateMetadata,\n
      \   const crs::CRSNNPtr &targetCRS,\n    const CoordinateOperationContextNNPtr
      &context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationContextNNPtr::clone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8112,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8113,1
    - Dst: coordinates::CoordinateMetadataNNPtr::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8114,1
    - Dst: CoordinateOperationFactory::createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8115,1
    - Dst: coordinates::CoordinateMetadataNNPtr::crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sourceCRS
    - targetCoordinateMetadata
    - context
    argTypes:
    - crs::CRSNNPtr
    - coordinates::CoordinateMetadataNNPtr
    - CoordinateOperationContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8117
      start: 8107
    functionDepth: 1
    functionLinenumber: 8107
    functionLinenumberEnd: 8117
    functionName: CoordinateOperationFactory::createOperations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 5
    functionsReached:
    - CoordinateOperationContextNNPtr::clone
    - CoordinateOperationFactory::createOperations
    - coordinates::CoordinateMetadataNNPtr::crs
    - coordinates::CoordinateMetadataNNPtr::coordinateEpoch
    - auto::setTargetCoordinateEpoch
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::createOperations(\n
      \   const crs::CRSNNPtr &sourceCRS,\n    const coordinates::CoordinateMetadataNNPtr
      &targetCoordinateMetadata,\n    const CoordinateOperationContextNNPtr &context)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateOperationContextNNPtr::clone
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8140,1
    - Dst: auto::setSourceCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8141,1
    - Dst: coordinates::CoordinateMetadataNNPtr::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8142,1
    - Dst: auto::setTargetCoordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8143,1
    - Dst: coordinates::CoordinateMetadataNNPtr::coordinateEpoch
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8144,1
    - Dst: CoordinateOperationFactory::createOperations
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8145,1
    - Dst: coordinates::CoordinateMetadataNNPtr::crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8145,1
    - Dst: coordinates::CoordinateMetadataNNPtr::crs
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sourceCoordinateMetadata
    - targetCoordinateMetadata
    - context
    argTypes:
    - coordinates::CoordinateMetadataNNPtr
    - coordinates::CoordinateMetadataNNPtr
    - CoordinateOperationContextNNPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8147
      start: 8135
    functionDepth: 1
    functionLinenumber: 8135
    functionLinenumberEnd: 8147
    functionName: CoordinateOperationFactory::createOperations
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 6
    functionsReached:
    - CoordinateOperationContextNNPtr::clone
    - CoordinateOperationFactory::createOperations
    - coordinates::CoordinateMetadataNNPtr::crs
    - auto::setSourceCoordinateEpoch
    - auto::setTargetCoordinateEpoch
    - coordinates::CoordinateMetadataNNPtr::coordinateEpoch
    linkageType: ''
    returnType: std::vector<CoordinateOperationNNPtr>
    signature: "std::vector<CoordinateOperationNNPtr> CoordinateOperationFactory::createOperations(\n
      \   const coordinates::CoordinateMetadataNNPtr &sourceCoordinateMetadata,\n
      \   const coordinates::CoordinateMetadataNNPtr &targetCoordinateMetadata,\n
      \   const CoordinateOperationContextNNPtr &context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8154,1
    - Dst: CoordinateOperationFactory::make_unique<CoordinateOperationFactory>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8156
      start: 8153
    functionDepth: 1
    functionLinenumber: 8153
    functionLinenumberEnd: 8156
    functionName: CoordinateOperationFactory::create
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 308
    functionsReached:
    - NN_NO_CHECK
    - CoordinateOperationFactory::make_unique<CoordinateOperationFactory>
    linkageType: ''
    returnType: CoordinateOperationFactoryNNPtr
    signature: CoordinateOperationFactoryNNPtr CoordinateOperationFactory::create()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::hasOver
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8170,1
    - Dst: crs::CRSNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8173,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8174,1
    - Dst: operation::getExtentPossiblySynthetized
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8177,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8190,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8192,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8194,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8194,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8196,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8198,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8199,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8208,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8208,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8210,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8211,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8212,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8212,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8215,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8215,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8217,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8219,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8220,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8221,1
    - Dst: tryToIdentifyByName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8226,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8227,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8233,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8233,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8235,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8236,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8237,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8237,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8240,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8240,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8242,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8244,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8245,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8246,1
    - Dst: tryToIdentifyByName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8251,1
    - Dst: dynamic_cast<crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8256,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8256,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8258,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8259,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8260,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8260,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8263,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8263,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8265,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8267,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8268,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8269,1
    - Dst: tryToIdentifyByName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8274,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8276,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8277,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8277,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8279,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8281,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8281,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8282,1
    - Dst: metadata::ExtentPtr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8294,1
    - Dst: crs::CRS::getResolvedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8297,1
    - Dst: metadata::ExtentPtr::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8299,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8300,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8302,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 3
    argNames:
    - crs
    - authFactory
    - extentOut
    argTypes:
    - crs::CRSNNPtr
    - io::AuthorityFactoryPtr
    - metadata::ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8308
      start: 8167
    functionDepth: 3
    functionLinenumber: 8167
    functionLinenumberEnd: 8308
    functionName: crs::CRS::getResolvedCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 3
    functionsReached:
    - auto::get
    - auto::coordinateSystem
    - dynamic_cast<crs::GeographicCRS *>
    - dynamic_cast<crs::ProjectedCRS *>
    - metadata::ExtentPtr
    - NN_NO_CHECK
    - auto::createProjectedCRS
    - auto::geoidModel
    - auto::createGeographicCRS
    - auto::createCompoundCRS
    - std::move
    - io::AuthorityFactoryPtr::createObjectsFromName
    - crs::CRSNNPtr::hasOver
    - metadata::ExtentPtr::intersection
    - AuthorityFactory::create
    - operation::getExtent
    - auto::front
    - auto::componentReferenceSystems
    - auto::size
    - dynamic_cast<crs::CompoundCRS *>
    - util::nn_static_pointer_cast<crs::CRS>
    - operation::getExtentPossiblySynthetized
    - crs::CRSNNPtr::identifiers
    - crs::CRSNNPtr::get
    - get
    - crs::CRS::getResolvedCRS
    - auto::isEquivalentTo
    - tryToIdentifyByName
    - dynamic_cast<crs::VerticalCRS *>
    - auto::empty
    - crs::CRSNNPtr::nameStr
    - io::AuthorityFactoryPtr::databaseContext
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: "crs::CRSNNPtr CRS::getResolvedCRS(const crs::CRSNNPtr &crs,\n                                  const
      io::AuthorityFactoryPtr &authFactory,\n                                  metadata::ExtentPtr
      &extentOut)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: crs::CRSNNPtr::hasOver
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8170,1
    - Dst: crs::CRSNNPtr::identifiers
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8173,1
    - Dst: crs::CRSNNPtr::nameStr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8174,1
    - Dst: operation::getExtentPossiblySynthetized
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8177,1
    - Dst: io::AuthorityFactoryPtr::createObjectsFromName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8190,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8192,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8194,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8194,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8196,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8198,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8199,1
    - Dst: dynamic_cast<crs::GeographicCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8208,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8208,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8210,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8211,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8212,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8212,1
    - Dst: auto::createGeographicCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8215,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8215,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8217,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8219,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8220,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8221,1
    - Dst: tryToIdentifyByName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8226,1
    - Dst: auto::coordinateSystem
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8227,1
    - Dst: dynamic_cast<crs::ProjectedCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8233,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8233,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8235,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8236,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8237,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8237,1
    - Dst: auto::createProjectedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8240,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8240,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8242,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8244,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8245,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8246,1
    - Dst: tryToIdentifyByName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8251,1
    - Dst: dynamic_cast<crs::CompoundCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8256,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8256,1
    - Dst: auto::empty
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8258,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8259,1
    - Dst: io::AuthorityFactoryPtr::databaseContext
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8260,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8260,1
    - Dst: auto::createCompoundCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8263,1
    - Dst: auto::front
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8263,1
    - Dst: operation::getExtent
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8265,1
    - Dst: auto::isEquivalentTo
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8267,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8268,1
    - Dst: util::nn_static_pointer_cast<crs::CRS>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8269,1
    - Dst: tryToIdentifyByName
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8274,1
    - Dst: auto::componentReferenceSystems
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8276,1
    - Dst: auto::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8277,1
    - Dst: crs::CRSNNPtr::get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8277,1
    - Dst: auto::size
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8279,1
    - Dst: dynamic_cast<crs::VerticalCRS *>
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8281,1
    - Dst: get
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8281,1
    - Dst: auto::geoidModel
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8282,1
    - Dst: metadata::ExtentPtr
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8294,1
    - Dst: crs::CRS::getResolvedCRS
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8297,1
    - Dst: metadata::ExtentPtr::intersection
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8299,1
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8300,1
    - Dst: std::move
      Src: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp:8302,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 3
    argNames:
    - crs
    - authFactory
    - extentOut
    argTypes:
    - crs::CRSNNPtr
    - io::AuthorityFactoryPtr
    - metadata::ExtentPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8308
      start: 8167
    functionDepth: 3
    functionLinenumber: 8167
    functionLinenumberEnd: 8308
    functionName: crs::CRS::getResolvedCRS
    functionSourceFile: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    functionUses: 4
    functionsReached:
    - auto::get
    - auto::coordinateSystem
    - dynamic_cast<crs::GeographicCRS *>
    - dynamic_cast<crs::ProjectedCRS *>
    - metadata::ExtentPtr
    - NN_NO_CHECK
    - auto::createProjectedCRS
    - auto::geoidModel
    - auto::createGeographicCRS
    - auto::createCompoundCRS
    - std::move
    - io::AuthorityFactoryPtr::createObjectsFromName
    - crs::CRSNNPtr::hasOver
    - metadata::ExtentPtr::intersection
    - AuthorityFactory::create
    - operation::getExtent
    - auto::front
    - auto::componentReferenceSystems
    - auto::size
    - dynamic_cast<crs::CompoundCRS *>
    - util::nn_static_pointer_cast<crs::CRS>
    - operation::getExtentPossiblySynthetized
    - crs::CRSNNPtr::identifiers
    - crs::CRSNNPtr::get
    - get
    - crs::CRS::getResolvedCRS
    - auto::isEquivalentTo
    - tryToIdentifyByName
    - dynamic_cast<crs::VerticalCRS *>
    - auto::empty
    - crs::CRSNNPtr::nameStr
    - io::AuthorityFactoryPtr::databaseContext
    linkageType: ''
    returnType: crs::CRSNNPtr
    signature: "crs::CRSNNPtr CRS::getResolvedCRS(const crs::CRSNNPtr &crs,\n                                  const
      io::AuthorityFactoryPtr &authFactory,\n                                  metadata::ExtentPtr
      &extentOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: namespace
    functionSourceFile: /src/PROJ/src/iso19111/operation/operationmethod_private.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: TINSHIFT_JSON_NAMESPACE::ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: TINSHIFT_JSON_NAMESPACE::ParsingException::what
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *ParsingException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: TINSHIFT_JSON_NAMESPACE::ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: TINSHIFT_JSON_NAMESPACE::ParsingException::what
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *ParsingException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: forward_4d
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forward_4d
      Src: /src/PROJ/src/transformations/affine.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: forward_3d
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 1
    functionsReached:
    - forward_4d
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forward_4d
      Src: /src/PROJ/src/transformations/affine.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: forward_2d
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 1
    functionsReached:
    - forward_4d
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY forward_2d(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_4d
      Src: /src/PROJ/src/transformations/affine.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 1
    functionsReached:
    - reverse_4d
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_4d
      Src: /src/PROJ/src/transformations/affine.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: reverse_2d
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 1
    functionsReached:
    - reverse_4d
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP reverse_2d(PJ_XY xy, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque_affine *>
      Src: /src/PROJ/src/transformations/affine.cpp:114,1
    - Dst: calloc
      Src: /src/PROJ/src/transformations/affine.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: initQ
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - static_cast<struct pj_opaque_affine *>
    linkageType: ''
    returnType: struct pj_opaque_affine
    signature: struct pj_opaque_affine *initQ()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_level
      Src: /src/PROJ/src/transformations/affine.cpp:159,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/transformations/affine.cpp:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 177
    functionName: computeReverseParameters
    functionSourceFile: /src/PROJ/src/transformations/affine.cpp
    functionUses: 0
    functionsReached:
    - proj_log_level
    - proj_log_debug
    linkageType: ''
    returnType: void
    signature: void computeReverseParameters(PJ *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/vgridshift.cpp:36,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/vgridshift.cpp:40,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/vgridshift.cpp:41,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/vgridshift.cpp:42,1
    - Dst: struct vgridshiftData*::grids::empty
      Src: /src/PROJ/src/transformations/vgridshift.cpp:45,1
    - Dst: grids
      Src: /src/PROJ/src/transformations/vgridshift.cpp:48,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/vgridshift.cpp:49,1
    - Dst: name
      Src: /src/PROJ/src/transformations/vgridshift.cpp:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: deal_with_vertcon_gtx_hack
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - grids
    - strcmp
    - struct vgridshiftData*::grids::empty
    - name
    - auto::empty
    - pj_param
    linkageType: ''
    returnType: void
    signature: void deal_with_vertcon_gtx_hack(PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_vgrid_init
      Src: /src/PROJ/src/transformations/vgridshift.cpp:61,1
    - Dst: deal_with_vertcon_gtx_hack
      Src: /src/PROJ/src/transformations/vgridshift.cpp:62,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/vgridshift.cpp:63,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/vgridshift.cpp:66,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/vgridshift.cpp:67,1
    - Dst: struct vgridshiftData*::grids::empty
      Src: /src/PROJ/src/transformations/vgridshift.cpp:70,1
    - Dst: pj_vgrid_value
      Src: /src/PROJ/src/transformations/vgridshift.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: pj_vgridshift_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_vgrid_value
    - pj_vgrid_init
    - struct vgridshiftData*::grids::empty
    - proj_coord_error
    - deal_with_vertcon_gtx_hack
    - proj_errno
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_vgridshift_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pj_vgrid_init
      Src: /src/PROJ/src/transformations/vgridshift.cpp:87,1
    - Dst: deal_with_vertcon_gtx_hack
      Src: /src/PROJ/src/transformations/vgridshift.cpp:88,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/vgridshift.cpp:89,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/vgridshift.cpp:92,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/vgridshift.cpp:93,1
    - Dst: struct vgridshiftData*::grids::empty
      Src: /src/PROJ/src/transformations/vgridshift.cpp:96,1
    - Dst: pj_vgrid_value
      Src: /src/PROJ/src/transformations/vgridshift.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: pj_vgridshift_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_vgrid_value
    - pj_vgrid_init
    - struct vgridshiftData*::grids::empty
    - proj_coord_error
    - deal_with_vertcon_gtx_hack
    - proj_errno
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_vgridshift_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_vgridshift_forward_3d
      Src: /src/PROJ/src/transformations/vgridshift.cpp:115,1
    - Dst: pj_vgridshift_forward_3d
      Src: /src/PROJ/src/transformations/vgridshift.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: pj_vgridshift_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - pj_vgridshift_forward_3d
    linkageType: ''
    returnType: void
    signature: void pj_vgridshift_forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_vgridshift_reverse_3d
      Src: /src/PROJ/src/transformations/vgridshift.cpp:140,1
    - Dst: pj_vgridshift_reverse_3d
      Src: /src/PROJ/src/transformations/vgridshift.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: pj_vgridshift_reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - pj_vgridshift_reverse_3d
    linkageType: ''
    returnType: void
    signature: void pj_vgridshift_reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct vgridshiftData *>
      Src: /src/PROJ/src/transformations/vgridshift.cpp:160,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/vgridshift.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: pj_vgridshift_destructor
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct vgridshiftData *>
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_vgridshift_destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reassign_context
      Src: /src/PROJ/src/transformations/vgridshift.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: pj_vgridshift_reassign_context
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 0
    functionsReached:
    - reassign_context
    linkageType: ''
    returnType: void
    signature: void pj_vgridshift_reassign_context(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/transformations/vgridshift.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: pj_clear_vgridshift_knowngrids_cache
    functionSourceFile: /src/PROJ/src/transformations/vgridshift.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void pj_clear_vgridshift_knowngrids_cache()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pj_generic_grid_init
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:59,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:60,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:63,1
    - Dst: pj_find_generic_grid
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:68,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:72,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:78,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:80,1
    - Dst: auto::description
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:87,1
    - Dst: auto::unit
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:96,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:97,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:98,1
    - Dst: pj_bilinear_interpolation_three_samples
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:103,1
    - Dst: get_grid_values
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 6
    argNames:
    - P
    - Q
    - lp
    - dx
    - dy
    - dz
    argTypes:
    - PJ*
    - xyzgridshiftData*
    - PJ_LP
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 115
    functionName: get_grid_values
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - auto::description
    - pj_generic_grid_init
    - pj_find_generic_grid
    - pj_bilinear_interpolation_three_samples
    - auto::isNullGrid
    - auto::samplesPerPixel
    - auto::unit
    - proj_log_error
    - proj_errno
    - auto::empty
    - get_grid_values
    linkageType: ''
    returnType: bool
    signature: "bool get_grid_values(PJ *P, xyzgridshiftData *Q, const PJ_LP &lp,\n
      \                           double &dx, double &dy, double &dz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: SQUARE
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQUARE(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_inv3d
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:128,1
    - Dst: get_grid_values
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:131,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:132,1
    - Dst: SQUARE
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:139,1
    - Dst: SQUARE
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:140,1
    - Dst: SQUARE
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - P
    - Q
    - pointInit
    - factor
    argTypes:
    - PJ*
    - xyzgridshiftData*
    - PJ_COORD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: iterative_adjustment
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached:
    - SQUARE
    - get_grid_values
    - pj_inv3d
    - proj_coord_error
    linkageType: ''
    returnType: PJ_COORD
    signature: "PJ_COORD iterative_adjustment(PJ *P, xyzgridshiftData *Q,\n                                     const
      PJ_COORD &pointInit, double factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pj_inv3d
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:158,1
    - Dst: get_grid_values
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:161,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - P
    - Q
    - point
    - factor
    argTypes:
    - PJ*
    - xyzgridshiftData*
    - PJ_COORD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: direct_adjustment
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached:
    - get_grid_values
    - pj_inv3d
    - proj_coord_error
    linkageType: ''
    returnType: PJ_COORD
    signature: "PJ_COORD direct_adjustment(PJ *P, xyzgridshiftData *Q, PJ_COORD point,\n
      \                                 double factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xyzgridshiftData *>
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:173,1
    - Dst: direct_adjustment
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:178,1
    - Dst: iterative_adjustment
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: pj_xyzgridshift_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<xyzgridshiftData *>
    - direct_adjustment
    - iterative_adjustment
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_xyzgridshift_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xyzgridshiftData *>
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:187,1
    - Dst: iterative_adjustment
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:192,1
    - Dst: direct_adjustment
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: pj_xyzgridshift_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<xyzgridshiftData *>
    - direct_adjustment
    - iterative_adjustment
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_xyzgridshift_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct xyzgridshiftData *>
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:204,1
    - Dst: auto::cart::destructor
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:207,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: pj_xyzgridshift_destructor
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - auto::cart::destructor
    - static_cast<struct xyzgridshiftData *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_xyzgridshift_destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reassign_context
      Src: /src/PROJ/src/transformations/xyzgridshift.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: pj_xyzgridshift_reassign_context
    functionSourceFile: /src/PROJ/src/transformations/xyzgridshift.cpp
    functionUses: 0
    functionsReached:
    - reassign_context
    linkageType: ''
    returnType: void
    signature: void pj_xyzgridshift_reassign_context(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:78,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/molodensky.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - es
    - phi
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: RN
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 1
    functionsReached:
    - sqrt
    - sin
    linkageType: ''
    returnType: double
    signature: double RN(double a, double es, double phi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:104,1
    - Dst: fabs
      Src: /src/PROJ/src/transformations/molodensky.cpp:113,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/molodensky.cpp:114,1
    - Dst: pow
      Src: /src/PROJ/src/transformations/molodensky.cpp:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - a
    - es
    - phi
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: RM
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - pow
    - fabs
    - sin
    linkageType: ''
    returnType: double
    signature: double RM(double a, double es, double phi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:125,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/molodensky.cpp:126,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:127,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/molodensky.cpp:128,1
    - Dst: RM
      Src: /src/PROJ/src/transformations/molodensky.cpp:136,1
    - Dst: RN
      Src: /src/PROJ/src/transformations/molodensky.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 167
    functionName: calc_standard_params
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - RN
    - RM
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ calc_standard_params(PJ_LPZ lpz, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:174,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/molodensky.cpp:175,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:176,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/molodensky.cpp:177,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/molodensky.cpp:186,1
    - Dst: RM
      Src: /src/PROJ/src/transformations/molodensky.cpp:187,1
    - Dst: RN
      Src: /src/PROJ/src/transformations/molodensky.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 208
    functionName: calc_abridged_params
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - RN
    - RM
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ calc_abridged_params(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_molodensky_forward_3d
      Src: /src/PROJ/src/transformations/molodensky.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: pj_molodensky_forward_2d
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - pj_molodensky_forward_3d
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY pj_molodensky_forward_2d(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_molodensky_reverse_3d
      Src: /src/PROJ/src/transformations/molodensky.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: pj_molodensky_reverse_2d
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - pj_molodensky_reverse_3d
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP pj_molodensky_reverse_2d(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_abridged_params
      Src: /src/PROJ/src/transformations/molodensky.cpp:245,1
    - Dst: calc_standard_params
      Src: /src/PROJ/src/transformations/molodensky.cpp:247,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/molodensky.cpp:250,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/molodensky.cpp:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: pj_molodensky_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - calc_standard_params
    - proj_coord_error
    - calc_abridged_params
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_molodensky_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_molodensky_forward_3d
      Src: /src/PROJ/src/transformations/molodensky.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obs
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: pj_molodensky_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - pj_molodensky_forward_3d
    linkageType: ''
    returnType: void
    signature: void pj_molodensky_forward_4d(PJ_COORD &obs, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_abridged_params
      Src: /src/PROJ/src/transformations/molodensky.cpp:278,1
    - Dst: calc_standard_params
      Src: /src/PROJ/src/transformations/molodensky.cpp:280,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/molodensky.cpp:283,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/molodensky.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: pj_molodensky_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 1
    functionsReached:
    - proj_errno_set
    - calc_standard_params
    - proj_coord_error
    - calc_abridged_params
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_molodensky_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_molodensky_reverse_3d
      Src: /src/PROJ/src/transformations/molodensky.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obs
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: pj_molodensky_reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/molodensky.cpp
    functionUses: 0
    functionsReached:
    - pj_molodensky_reverse_3d
    linkageType: ''
    returnType: void
    signature: void pj_molodensky_reverse_4d(PJ_COORD &obs, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:58,1
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:59,1
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:60,1
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:61,1
    - Dst: NS_PROJ::GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/defmodel.cpp:62,1
    - Dst: NS_PROJ::GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/defmodel.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctxIn
    - realGridIn
    argTypes:
    - PJ_CONTEXT*
    - NS_PROJ::GenericShiftGrid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Grid
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 44
    functionsReached:
    - NS_PROJ::GenericShiftGrid*::width
    - NS_PROJ::GenericShiftGrid*::extentAndRes
    - NS_PROJ::GenericShiftGrid*::height
    linkageType: ''
    returnType: void
    signature: void Grid(PJ_CONTEXT *ctxIn, const NS_PROJ::GenericShiftGrid *realGridIn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: samplesPerPixel
      Src: /src/PROJ/src/transformations/defmodel.cpp:68,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:70,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:71,1
    - Dst: description
      Src: /src/PROJ/src/transformations/defmodel.cpp:78,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:86,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:91,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:94,1
    - Dst: unit
      Src: /src/PROJ/src/transformations/defmodel.cpp:97,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:98,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:99,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:102,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - expectedUnit
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: checkHorizontal
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - description
    - std::string::c_str
    - unit
    - samplesPerPixel
    - pj_log
    - name
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool checkHorizontal(const std::string &expectedUnit) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkHorizontal
      Src: /src/PROJ/src/transformations/defmodel.cpp:112,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:117,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: getLongLatOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 4
    functionsReached:
    - checkHorizontal
    - valueAt
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatOffset(int ix, int iy, double &longOffsetRadian,\n
      \                         double &latOffsetRadian) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: samplesPerPixel
      Src: /src/PROJ/src/transformations/defmodel.cpp:128,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:132,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:133,1
    - Dst: description
      Src: /src/PROJ/src/transformations/defmodel.cpp:139,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:144,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:149,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:152,1
    - Dst: unit
      Src: /src/PROJ/src/transformations/defmodel.cpp:155,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:156,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:157,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:160,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ix
    - iy
    - zOffset
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 169
    functionName: getZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 8
    functionsReached:
    - description
    - unit
    - samplesPerPixel
    - pj_log
    - name
    - valueAt
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int ix, int iy, double &zOffset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkHorizontal
      Src: /src/PROJ/src/transformations/defmodel.cpp:173,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:179,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: getEastingNorthingOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 4
    functionsReached:
    - checkHorizontal
    - valueAt
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int ix, int iy, double &eastingOffset,\n
      \                                 double &northingOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:188,1
    - Dst: getZOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: getLongLatZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - getLongLatOffset
    - getZOffset
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatZOffset(int ix, int iy, double &longOffsetRadian,\n
      \                          double &latOffsetRadian, double &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:195,1
    - Dst: getZOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: getEastingNorthingZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - getZOffset
    - getEastingNorthingOffset
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingZOffset(int ix, int iy, double &eastingOffset,\n
      \                                  double &northingOffset,\n                                   double
      &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: name
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 206
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Grid
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Grid(const Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '&operator=(const Grid &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid &operator=(const Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ctxIn
    - realGridSetIn
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<NS_PROJ::GenericShiftGridSet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: GridSet
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 19
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GridSet(PJ_CONTEXT *ctxIn,\n            std::unique_ptr<NS_PROJ::GenericShiftGridSet>
      &&realGridSetIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gridAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:221,1
    - Dst: find
      Src: /src/PROJ/src/transformations/defmodel.cpp:225,1
    - Dst: end
      Src: /src/PROJ/src/transformations/defmodel.cpp:226,1
    - Dst: insert
      Src: /src/PROJ/src/transformations/defmodel.cpp:227,1
    - Dst: "std::pair<const NS_PROJ::GenericShiftGrid *,\n                                         std::unique_ptr<Grid>>"
      Src: /src/PROJ/src/transformations/defmodel.cpp:228,1
    - Dst: std::unique_ptr<Grid>
      Src: /src/PROJ/src/transformations/defmodel.cpp:231,1
    - Dst: Grid::Grid
      Src: /src/PROJ/src/transformations/defmodel.cpp:231,1
    - Dst: auto::second::get
      Src: /src/PROJ/src/transformations/defmodel.cpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: gridAt
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 31
    functionsReached:
    - Grid::Grid
    - insert
    - auto::second::get
    - end
    - std::unique_ptr<Grid>
    - gridAt
    - "std::pair<const NS_PROJ::GenericShiftGrid *,\n                                         std::unique_ptr<Grid>>"
    - find
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: GridSet
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridSet(const GridSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: '&operator=(const GridSet &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GridSet
    signature: GridSet &operator=(const GridSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctxIn
    - cartIn
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: EvaluatorIface
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvaluatorIface(PJ_CONTEXT *ctxIn, PJ *cartIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destructor
      Src: /src/PROJ/src/transformations/defmodel.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: ~EvaluatorIface()
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - destructor
    linkageType: ''
    returnType: void
    signature: void ~EvaluatorIface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/src/transformations/defmodel.cpp:255,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:257,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:257,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/src/transformations/defmodel.cpp:260,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel.cpp:261,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/src/transformations/defmodel.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: open
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 89
    functionsReached:
    - std::string::c_str
    - std::move
    - GridSet::GridSet
    - pj_log
    - GenericShiftGridSet::open
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/src/transformations/defmodel.cpp:265,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:265,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/transformations/defmodel.cpp:269,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/transformations/defmodel.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crsDef
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - std::string::c_str
    - proj_destroy
    - proj_get_type
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string &crsDef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:281,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:282,1
    - Dst: fwd3d
      Src: /src/PROJ/src/transformations/defmodel.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 8
    argNames:
    - lam
    - phi
    - height
    - a
    - b
    - X
    - Y
    - Z
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts:
    - condition: (cart->a == a)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - condition: (cart->b == b)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: geographicToGeocentric
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - fwd3d
    - assert
    linkageType: ''
    returnType: void
    signature: "void geographicToGeocentric(double lam, double phi, double height,
      double a,\n                                double b, double /*es*/, double &X,
      double &Y,\n                                double &Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:298,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:299,1
    - Dst: inv3d
      Src: /src/PROJ/src/transformations/defmodel.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 8
    argNames:
    - X
    - Y
    - Z
    - a
    - b
    - lam
    - phi
    - height
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts:
    - condition: (cart->a == a)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - condition: (cart->b == b)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: geocentricToGeographic
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - inv3d
    - assert
    linkageType: ''
    returnType: void
    signature: "void geocentricToGeographic(double X, double Y, double Z, double a,\n
      \                               double b, double /*es*/, double &lam,\n                                double
      &phi, double &height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: log
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 115
    functionsReached:
    - std::string::c_str
    - pj_log
    linkageType: ''
    returnType: void
    signature: void log(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: EvaluatorIface
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvaluatorIface(const EvaluatorIface &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '&operator=(const EvaluatorIface &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EvaluatorIface
    signature: EvaluatorIface &operator=(const EvaluatorIface &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - cart
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: defmodelData
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void defmodelData(PJ_CONTEXT *ctx, PJ *cart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: defmodelData
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void defmodelData(const defmodelData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: '&operator=(const defmodelData &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: defmodelData
    signature: defmodelData &operator=(const defmodelData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:58,1
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:59,1
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:60,1
    - Dst: NS_PROJ::GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/defmodel.cpp:61,1
    - Dst: NS_PROJ::GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/defmodel.cpp:62,1
    - Dst: NS_PROJ::GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/defmodel.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctxIn
    - realGridIn
    argTypes:
    - PJ_CONTEXT*
    - NS_PROJ::GenericShiftGrid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Grid
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 45
    functionsReached:
    - NS_PROJ::GenericShiftGrid*::width
    - NS_PROJ::GenericShiftGrid*::extentAndRes
    - NS_PROJ::GenericShiftGrid*::height
    linkageType: ''
    returnType: void
    signature: void Grid(PJ_CONTEXT *ctxIn, const NS_PROJ::GenericShiftGrid *realGridIn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: samplesPerPixel
      Src: /src/PROJ/src/transformations/defmodel.cpp:68,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:70,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:71,1
    - Dst: description
      Src: /src/PROJ/src/transformations/defmodel.cpp:78,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:86,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:91,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:94,1
    - Dst: unit
      Src: /src/PROJ/src/transformations/defmodel.cpp:97,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:98,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:99,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:102,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - expectedUnit
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: checkHorizontal
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 2
    functionsReached:
    - description
    - std::string::c_str
    - unit
    - samplesPerPixel
    - pj_log
    - name
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool checkHorizontal(const std::string &expectedUnit) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkHorizontal
      Src: /src/PROJ/src/transformations/defmodel.cpp:112,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:117,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: getLongLatOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 5
    functionsReached:
    - checkHorizontal
    - valueAt
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatOffset(int ix, int iy, double &longOffsetRadian,\n
      \                         double &latOffsetRadian) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: samplesPerPixel
      Src: /src/PROJ/src/transformations/defmodel.cpp:128,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:132,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:133,1
    - Dst: description
      Src: /src/PROJ/src/transformations/defmodel.cpp:139,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:144,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:149,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:152,1
    - Dst: unit
      Src: /src/PROJ/src/transformations/defmodel.cpp:155,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/defmodel.cpp:156,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:157,1
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:160,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ix
    - iy
    - zOffset
    argTypes:
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 169
    functionName: getZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 10
    functionsReached:
    - description
    - unit
    - samplesPerPixel
    - pj_log
    - name
    - valueAt
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int ix, int iy, double &zOffset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkHorizontal
      Src: /src/PROJ/src/transformations/defmodel.cpp:173,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:179,1
    - Dst: valueAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    argTypes:
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: getEastingNorthingOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 5
    functionsReached:
    - checkHorizontal
    - valueAt
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int ix, int iy, double &eastingOffset,\n
      \                                 double &northingOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:188,1
    - Dst: getZOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - longOffsetRadian
    - latOffsetRadian
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: getLongLatZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - getLongLatOffset
    - getZOffset
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatZOffset(int ix, int iy, double &longOffsetRadian,\n
      \                          double &latOffsetRadian, double &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:195,1
    - Dst: getZOffset
      Src: /src/PROJ/src/transformations/defmodel.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ix
    - iy
    - eastingOffset
    - northingOffset
    - zOffset
    argTypes:
    - int
    - int
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: getEastingNorthingZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - getZOffset
    - getEastingNorthingOffset
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingZOffset(int ix, int iy, double &eastingOffset,\n
      \                                  double &northingOffset,\n                                   double
      &zOffset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/PROJ/src/transformations/defmodel.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: name
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 209
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Grid
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Grid(const Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '&operator=(const Grid &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Grid
    signature: Grid &operator=(const Grid &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ctxIn
    - realGridSetIn
    argTypes:
    - PJ_CONTEXT*
    - std::unique_ptr<NS_PROJ::GenericShiftGridSet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: GridSet
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 20
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GridSet(PJ_CONTEXT *ctxIn,\n            std::unique_ptr<NS_PROJ::GenericShiftGridSet>
      &&realGridSetIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gridAt
      Src: /src/PROJ/src/transformations/defmodel.cpp:221,1
    - Dst: find
      Src: /src/PROJ/src/transformations/defmodel.cpp:225,1
    - Dst: end
      Src: /src/PROJ/src/transformations/defmodel.cpp:226,1
    - Dst: insert
      Src: /src/PROJ/src/transformations/defmodel.cpp:227,1
    - Dst: "std::pair<const NS_PROJ::GenericShiftGrid *,\n                                         std::unique_ptr<Grid>>"
      Src: /src/PROJ/src/transformations/defmodel.cpp:228,1
    - Dst: std::unique_ptr<Grid>
      Src: /src/PROJ/src/transformations/defmodel.cpp:231,1
    - Dst: Grid::Grid
      Src: /src/PROJ/src/transformations/defmodel.cpp:231,1
    - Dst: auto::second::get
      Src: /src/PROJ/src/transformations/defmodel.cpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: gridAt
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 32
    functionsReached:
    - Grid::Grid
    - insert
    - auto::second::get
    - end
    - std::unique_ptr<Grid>
    - gridAt
    - "std::pair<const NS_PROJ::GenericShiftGrid *,\n                                         std::unique_ptr<Grid>>"
    - find
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: GridSet
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GridSet(const GridSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: '&operator=(const GridSet &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GridSet
    signature: GridSet &operator=(const GridSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctxIn
    - cartIn
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: EvaluatorIface
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvaluatorIface(PJ_CONTEXT *ctxIn, PJ *cartIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destructor
      Src: /src/PROJ/src/transformations/defmodel.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: ~EvaluatorIface()
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - destructor
    linkageType: ''
    returnType: void
    signature: void ~EvaluatorIface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGridSet::open
      Src: /src/PROJ/src/transformations/defmodel.cpp:255,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:257,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:257,1
    - Dst: std::unique_ptr<GridSet>
      Src: /src/PROJ/src/transformations/defmodel.cpp:260,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel.cpp:261,1
    - Dst: GridSet::GridSet
      Src: /src/PROJ/src/transformations/defmodel.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: open
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 90
    functionsReached:
    - std::string::c_str
    - std::move
    - GridSet::GridSet
    - pj_log
    - GenericShiftGridSet::open
    - std::unique_ptr<GridSet>
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/PROJ/src/transformations/defmodel.cpp:265,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:265,1
    - Dst: proj_get_type
      Src: /src/PROJ/src/transformations/defmodel.cpp:269,1
    - Dst: proj_destroy
      Src: /src/PROJ/src/transformations/defmodel.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crsDef
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: isGeographicCRS
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - proj_create
    - std::string::c_str
    - proj_destroy
    - proj_get_type
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string &crsDef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:281,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:282,1
    - Dst: fwd3d
      Src: /src/PROJ/src/transformations/defmodel.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 8
    argNames:
    - lam
    - phi
    - height
    - a
    - b
    - X
    - Y
    - Z
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts:
    - condition: (cart->a == a)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - condition: (cart->b == b)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: geographicToGeocentric
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - fwd3d
    - assert
    linkageType: ''
    returnType: void
    signature: "void geographicToGeocentric(double lam, double phi, double height,
      double a,\n                                double b, double /*es*/, double &X,
      double &Y,\n                                double &Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:298,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/defmodel.cpp:299,1
    - Dst: inv3d
      Src: /src/PROJ/src/transformations/defmodel.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 8
    argNames:
    - X
    - Y
    - Z
    - a
    - b
    - lam
    - phi
    - height
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts:
    - condition: (cart->a == a)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - condition: (cart->b == b)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: geocentricToGeographic
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached:
    - inv3d
    - assert
    linkageType: ''
    returnType: void
    signature: "void geocentricToGeographic(double X, double Y, double Z, double a,\n
      \                               double b, double /*es*/, double &lam,\n                                double
      &phi, double &height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/defmodel.cpp:312,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: log
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 119
    functionsReached:
    - std::string::c_str
    - pj_log
    linkageType: ''
    returnType: void
    signature: void log(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: EvaluatorIface
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvaluatorIface(const EvaluatorIface &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '&operator=(const EvaluatorIface &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EvaluatorIface
    signature: EvaluatorIface &operator=(const EvaluatorIface &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - cart
    argTypes:
    - PJ_CONTEXT*
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: defmodelData
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void defmodelData(PJ_CONTEXT *ctx, PJ *cart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: defmodelData
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void defmodelData(const defmodelData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: '&operator=(const defmodelData &)'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: defmodelData
    signature: defmodelData &operator=(const defmodelData &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct defmodelData *>
      Src: /src/PROJ/src/transformations/defmodel.cpp:338,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/defmodel.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 5
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: destructor
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 146
    functionsReached:
    - static_cast<struct defmodelData *>
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *destructor(PJ *P, int errlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/defmodel.cpp:349,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/defmodel.cpp:350,1
    - Dst: auto*::evaluator::forward
      Src: /src/PROJ/src/transformations/defmodel.cpp:354,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/defmodel.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: forward_4d
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 2
    functionsReached:
    - proj_errno_set
    - proj_coord_error
    - auto*::evaluator::forward
    linkageType: ''
    returnType: void
    signature: void forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/defmodel.cpp:365,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/defmodel.cpp:366,1
    - Dst: auto*::evaluator::inverse
      Src: /src/PROJ/src/transformations/defmodel.cpp:370,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/defmodel.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 2
    functionsReached:
    - proj_errno_set
    - auto*::evaluator::inverse
    - proj_coord_error
    linkageType: ''
    returnType: void
    signature: void reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto*::evaluator::clearGridCache
      Src: /src/PROJ/src/transformations/defmodel.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: reassign_context
    functionSourceFile: /src/PROJ/src/transformations/defmodel.cpp
    functionUses: 30
    functionsReached:
    - auto*::evaluator::clearGridCache
    linkageType: ''
    returnType: void
    signature: void reassign_context(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: TINShiftEvaluator::~TINShiftEvaluator()
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftEvaluator::~TINShiftEvaluator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tinshiftData
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tinshiftData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: tinshiftData
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tinshiftData(const tinshiftData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&operator=(const tinshiftData &)'
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tinshiftData
    signature: tinshiftData &operator=(const tinshiftData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tinshiftData
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tinshiftData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: tinshiftData
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tinshiftData(const tinshiftData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&operator=(const tinshiftData &)'
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tinshiftData
    signature: tinshiftData &operator=(const tinshiftData &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct tinshiftData *>
      Src: /src/PROJ/src/transformations/tinshift.cpp:65,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/tinshift.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: pj_tinshift_destructor
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - static_cast<struct tinshiftData *>
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_tinshift_destructor(PJ *P, int errlev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto*::evaluator::forward
      Src: /src/PROJ/src/transformations/tinshift.cpp:75,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/tinshift.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: tinshift_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached:
    - proj_coord_error
    - auto*::evaluator::forward
    linkageType: ''
    returnType: void
    signature: void tinshift_forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto*::evaluator::inverse
      Src: /src/PROJ/src/transformations/tinshift.cpp:84,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/tinshift.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: tinshift_reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/tinshift.cpp
    functionUses: 0
    functionsReached:
    - auto*::evaluator::inverse
    - proj_coord_error
    linkageType: ''
    returnType: void
    signature: void tinshift_reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '&fileType() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &fileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&formatVersion() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &formatVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '&name() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '&version() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '&license() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &license() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&description() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '&publicationDate() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &publicationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '&fallbackStrategy() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum FallbackStrategy
    signature: enum FallbackStrategy &fallbackStrategy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '&authority() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Authority
    signature: Authority &authority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::links
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Link>
    signature: std::vector<Link> links() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '&inputCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &inputCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '&outputCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &outputCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformHorizontalComponent
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transformHorizontalComponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformVerticalComponent
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transformVerticalComponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::verticesColumnCount
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned verticesColumnCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '&vertices() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> &vertices() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '&triangles() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<VertexIndices>
    signature: std::vector<VertexIndices> &triangles() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::TINShiftJSONFile
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftJSONFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: '&file() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TINShiftJSONFile
    signature: TINShiftJSONFile &file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '&fileType() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &fileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&formatVersion() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &formatVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '&name() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '&version() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '&license() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &license() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&description() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '&publicationDate() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &publicationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '&fallbackStrategy() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum FallbackStrategy
    signature: enum FallbackStrategy &fallbackStrategy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '&authority() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Authority
    signature: Authority &authority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::links
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Link>
    signature: std::vector<Link> links() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '&inputCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &inputCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '&outputCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &outputCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformHorizontalComponent
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transformHorizontalComponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformVerticalComponent
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transformVerticalComponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::verticesColumnCount
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned verticesColumnCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '&vertices() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> &vertices() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '&triangles() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<VertexIndices>
    signature: std::vector<VertexIndices> &triangles() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::TINShiftJSONFile
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftJSONFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: '&file() const'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TINShiftJSONFile
    signature: TINShiftJSONFile &file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - IXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: operator!=(const IXY &other) const
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IXY &other) const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: grids
      Src: /src/PROJ/src/transformations/gridshift.cpp:132,1
    - Dst: metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:134,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:137,1
    - Dst: metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:138,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:140,1
    - Dst: metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:141,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:151,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:152,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:152,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:155,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:156,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:160,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:164,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:164,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:167,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:167,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/gridshift.cpp:172,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:174,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:174,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/gridshift.cpp:178,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:180,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:180,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:188,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:188,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/gridshift.cpp:201,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/gridshift.cpp:205,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - P
    - isProjectedCoord
    argTypes:
    - PJ*
    - bool
    assertStmts:
    - condition: (m_bHasHorizontalOffset)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - condition: (m_bHasVerticalToVertical)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    constantsTouched: []
    func_position:
      end: 220
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 220
    functionName: gridshiftData::checkGridTypes
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - grids
    - extentAndRes
    - c_locale_stod
    - assert
    - metadataItem
    - empty
    - proj_log_error
    - _
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool gridshiftData::checkGridTypes(PJ *P, bool &isProjectedCoord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gridAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:228,1
    - Dst: get
      Src: /src/PROJ/src/transformations/gridshift.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - type
    - input
    - gridSetOut
    argTypes:
    - std::string
    - PJ_XYZ
    - GenericShiftGridSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: gridshiftData::findGrid
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - gridAt
    - get
    linkageType: ''
    returnType: GenericShiftGrid
    signature: "GenericShiftGrid *\ngridshiftData::findGrid(const std::string &type,
      const PJ_XYZ &input,\n                        GenericShiftGridSet *&gridSetOut)
      const"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:249,1
    - Dst: find
      Src: /src/PROJ/src/transformations/gridshift.cpp:250,1
    - Dst: end
      Src: /src/PROJ/src/transformations/gridshift.cpp:251,1
    - Dst: GenericShiftGrid*::samplesPerPixel
      Src: /src/PROJ/src/transformations/gridshift.cpp:253,1
    - Dst: GenericShiftGrid*::description
      Src: /src/PROJ/src/transformations/gridshift.cpp:258,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:261,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:262,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:263,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:269,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:270,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:271,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:278,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:279,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:280,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:287,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:288,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:289,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:297,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:298,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:299,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:322,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:332,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:339,1
    - Dst: GenericShiftGrid*::metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:340,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:341,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:345,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:356,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:357,1
    - Dst: GridInfo::shifts::resize
      Src: /src/PROJ/src/transformations/gridshift.cpp:358,1
    - Dst: emplace
      Src: /src/PROJ/src/transformations/gridshift.cpp:374,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/gridshift.cpp:374,1
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:385,1
    - Dst: std::isnan
      Src: /src/PROJ/src/transformations/gridshift.cpp:387,1
    - Dst: lround
      Src: /src/PROJ/src/transformations/gridshift.cpp:387,1
    - Dst: floor
      Src: /src/PROJ/src/transformations/gridshift.cpp:387,1
    - Dst: std::isnan
      Src: /src/PROJ/src/transformations/gridshift.cpp:389,1
    - Dst: lround
      Src: /src/PROJ/src/transformations/gridshift.cpp:389,1
    - Dst: floor
      Src: /src/PROJ/src/transformations/gridshift.cpp:389,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:401,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:402,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:414,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:415,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:436,1
    - Dst: GridInfo::idxSampleXYZ::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:438,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:439,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:463,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:464,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:479,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:483,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:503,1
    - Dst: GridInfo::idxSampleXYZ::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:505,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:506,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:512,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:516,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:518,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:520,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:524,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:526,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:528,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:533,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:535,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:539,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:541,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:549,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:550,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:557,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:559,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:563,1
    - Dst: std::swap
      Src: /src/PROJ/src/transformations/gridshift.cpp:576,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 220
    argCount: 5
    argNames:
    - ctx
    - type
    - xy
    - grid
    - biquadraticInterpolationOut
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - PJ_XY
    - GenericShiftGrid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 580
    functionName: gridshiftData::grid_interpolate
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - lround
    - GenericShiftGrid*::metadataItem
    - GenericShiftGrid*::height
    - end
    - GenericShiftGrid*::unit
    - find
    - quadraticInterpol
    - std::swap
    - GenericShiftGrid*::width
    - std::move
    - GenericShiftGrid*::valuesAt
    - GenericShiftGrid*::description
    - std::string::empty
    - GenericShiftGrid*::extentAndRes
    - GenericShiftGrid*::samplesPerPixel
    - pj_log
    - floor
    - emplace
    - GridInfo::shifts::resize
    - std::isnan
    - auto::empty
    - GridInfo::shifts::data
    - GridInfo::idxSampleXYZ::data
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ gridshiftData::grid_interpolate(PJ_CONTEXT *ctx, const std::string
      &type,\n                                       PJ_XY xy, const GenericShiftGrid
      *grid,\n                                       bool &biquadraticInterpolationOut)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - grid
    - in
    - extentOut
    argTypes:
    - GenericShiftGrid*
    - PJ_XYZ
    - NS_PROJ::ExtentAndRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 599
    functionName: normalizeX
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - GenericShiftGrid*::extentAndRes
    linkageType: ''
    returnType: PJ_XY
    signature: "PJ_XY normalizeX(const GenericShiftGrid *grid, const PJ_XYZ in,\n
      \                       const NS_PROJ::ExtentAndRes *&extentOut)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: normalizeX
      Src: /src/PROJ/src/transformations/gridshift.cpp:617,1
    - Dst: gridshiftData::grid_interpolate
      Src: /src/PROJ/src/transformations/gridshift.cpp:620,1
    - Dst: GenericShiftGrid*::hasChanged
      Src: /src/PROJ/src/transformations/gridshift.cpp:622,1
    - Dst: GenericShiftGridSet*::reopen
      Src: /src/PROJ/src/transformations/gridshift.cpp:623,1
    - Dst: gridshiftData::grid_interpolate
      Src: /src/PROJ/src/transformations/gridshift.cpp:665,1
    - Dst: GenericShiftGrid*::hasChanged
      Src: /src/PROJ/src/transformations/gridshift.cpp:667,1
    - Dst: GenericShiftGridSet*::reopen
      Src: /src/PROJ/src/transformations/gridshift.cpp:668,1
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:680,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:682,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:684,1
    - Dst: GenericShiftGrid*::name
      Src: /src/PROJ/src/transformations/gridshift.cpp:685,1
    - Dst: auto::name
      Src: /src/PROJ/src/transformations/gridshift.cpp:685,1
    - Dst: normalizeX
      Src: /src/PROJ/src/transformations/gridshift.cpp:687,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/gridshift.cpp:688,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/gridshift.cpp:689,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:702,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:704,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:711,1
    - Dst: adjlon
      Src: /src/PROJ/src/transformations/gridshift.cpp:719,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 8
    argNames:
    - ctx
    - type
    - isVerticalOnly
    - in
    - direction
    - grid
    - gridset
    - shouldRetry
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - bool
    - PJ_XYZ
    - PJ_DIRECTION
    - GenericShiftGrid*
    - GenericShiftGridSet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 723
    functionName: gridshiftData::grid_apply_internal
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - normalizeX
    - GenericShiftGridSet*::reopen
    - auto::isNullGrid
    - pj_log
    - adjlon
    - gridshiftData::grid_interpolate
    - gridshiftData::findGrid
    - proj_context_errno_set
    - GenericShiftGrid*::hasChanged
    - simple_max
    - GenericShiftGrid*::name
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ gridshiftData::grid_apply_internal(\n    PJ_CONTEXT *ctx, const
      std::string &type, bool isVerticalOnly,\n    const PJ_XYZ in, PJ_DIRECTION direction,
      const GenericShiftGrid *grid,\n    GenericShiftGridSet *gridset, bool &shouldRetry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:729,1
    - Dst: pj_generic_grid_init
      Src: /src/PROJ/src/transformations/gridshift.cpp:733,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/gridshift.cpp:734,1
    - Dst: gridshiftData::checkGridTypes
      Src: /src/PROJ/src/transformations/gridshift.cpp:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 727
    functionDepth: 4
    functionLinenumber: 727
    functionLinenumberEnd: 744
    functionName: gridshiftData::loadGridsIfNeeded
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_generic_grid_init
    - gridshiftData::checkGridTypes
    - proj_errno
    linkageType: ''
    returnType: bool
    signature: bool gridshiftData::loadGridsIfNeeded(PJ *P)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:763,1
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:769,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:772,1
    - Dst: GenericShiftGrid*::isNullGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:781,1
    - Dst: gridshiftData::grid_apply_internal
      Src: /src/PROJ/src/transformations/gridshift.cpp:786,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/transformations/gridshift.cpp:795,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:796,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:803,1
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:807,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:809,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:813,1
    - Dst: gridshiftData::grid_apply_internal
      Src: /src/PROJ/src/transformations/gridshift.cpp:818,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:826,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 3
    argNames:
    - P
    - direction
    - xyz
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_XYZ
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 832
    functionName: gridshiftData::apply
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - gridshiftData::grid_apply_internal
    - auto::isNullGrid
    - gridshiftData::findGrid
    - proj_context_errno_set
    - proj_context_errno
    - empty
    - GenericShiftGrid*::isNullGrid
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ gridshiftData::apply(PJ *P, PJ_DIRECTION direction, PJ_XYZ xyz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - IXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: operator!=(const IXY &other) const
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IXY &other) const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: grids
      Src: /src/PROJ/src/transformations/gridshift.cpp:132,1
    - Dst: metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:134,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:137,1
    - Dst: metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:138,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:140,1
    - Dst: metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:141,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:151,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:152,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:152,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:155,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:156,1
    - Dst: extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:160,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:164,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:164,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:167,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:167,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/gridshift.cpp:172,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:174,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:174,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/gridshift.cpp:178,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:180,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:180,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:188,1
    - Dst: _
      Src: /src/PROJ/src/transformations/gridshift.cpp:188,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/gridshift.cpp:201,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/gridshift.cpp:205,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - P
    - isProjectedCoord
    argTypes:
    - PJ*
    - bool
    assertStmts:
    - condition: (m_bHasHorizontalOffset)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - condition: (m_bHasVerticalToVertical)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    constantsTouched: []
    func_position:
      end: 220
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 220
    functionName: gridshiftData::checkGridTypes
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - grids
    - extentAndRes
    - c_locale_stod
    - assert
    - metadataItem
    - empty
    - proj_log_error
    - _
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool gridshiftData::checkGridTypes(PJ *P, bool &isProjectedCoord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gridAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:228,1
    - Dst: get
      Src: /src/PROJ/src/transformations/gridshift.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - type
    - input
    - gridSetOut
    argTypes:
    - std::string
    - PJ_XYZ
    - GenericShiftGridSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: gridshiftData::findGrid
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 2
    functionsReached:
    - gridAt
    - get
    linkageType: ''
    returnType: GenericShiftGrid
    signature: "GenericShiftGrid *\ngridshiftData::findGrid(const std::string &type,
      const PJ_XYZ &input,\n                        GenericShiftGridSet *&gridSetOut)
      const"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:249,1
    - Dst: find
      Src: /src/PROJ/src/transformations/gridshift.cpp:250,1
    - Dst: end
      Src: /src/PROJ/src/transformations/gridshift.cpp:251,1
    - Dst: GenericShiftGrid*::samplesPerPixel
      Src: /src/PROJ/src/transformations/gridshift.cpp:253,1
    - Dst: GenericShiftGrid*::description
      Src: /src/PROJ/src/transformations/gridshift.cpp:258,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:261,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:262,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:263,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:269,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:270,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:271,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:278,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:279,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:280,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:287,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:288,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:289,1
    - Dst: GenericShiftGrid*::unit
      Src: /src/PROJ/src/transformations/gridshift.cpp:297,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:298,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:299,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:322,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:332,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:339,1
    - Dst: GenericShiftGrid*::metadataItem
      Src: /src/PROJ/src/transformations/gridshift.cpp:340,1
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:341,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:345,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:356,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:357,1
    - Dst: GridInfo::shifts::resize
      Src: /src/PROJ/src/transformations/gridshift.cpp:358,1
    - Dst: emplace
      Src: /src/PROJ/src/transformations/gridshift.cpp:374,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/gridshift.cpp:374,1
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:385,1
    - Dst: std::isnan
      Src: /src/PROJ/src/transformations/gridshift.cpp:387,1
    - Dst: lround
      Src: /src/PROJ/src/transformations/gridshift.cpp:387,1
    - Dst: floor
      Src: /src/PROJ/src/transformations/gridshift.cpp:387,1
    - Dst: std::isnan
      Src: /src/PROJ/src/transformations/gridshift.cpp:389,1
    - Dst: lround
      Src: /src/PROJ/src/transformations/gridshift.cpp:389,1
    - Dst: floor
      Src: /src/PROJ/src/transformations/gridshift.cpp:389,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:401,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:402,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:414,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:415,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:436,1
    - Dst: GridInfo::idxSampleXYZ::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:438,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:439,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:463,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:464,1
    - Dst: GenericShiftGrid*::width
      Src: /src/PROJ/src/transformations/gridshift.cpp:479,1
    - Dst: GenericShiftGrid*::height
      Src: /src/PROJ/src/transformations/gridshift.cpp:483,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:503,1
    - Dst: GridInfo::idxSampleXYZ::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:505,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:506,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:512,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:516,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:518,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:520,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:524,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:526,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:528,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:533,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:535,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:539,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:541,1
    - Dst: GenericShiftGrid*::valuesAt
      Src: /src/PROJ/src/transformations/gridshift.cpp:549,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:550,1
    - Dst: GridInfo::shifts::data
      Src: /src/PROJ/src/transformations/gridshift.cpp:557,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:559,1
    - Dst: quadraticInterpol
      Src: /src/PROJ/src/transformations/gridshift.cpp:563,1
    - Dst: std::swap
      Src: /src/PROJ/src/transformations/gridshift.cpp:576,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 220
    argCount: 5
    argNames:
    - ctx
    - type
    - xy
    - grid
    - biquadraticInterpolationOut
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - PJ_XY
    - GenericShiftGrid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 580
    functionName: gridshiftData::grid_interpolate
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 1
    functionsReached:
    - lround
    - GenericShiftGrid*::metadataItem
    - GenericShiftGrid*::height
    - end
    - GenericShiftGrid*::unit
    - find
    - quadraticInterpol
    - std::swap
    - GenericShiftGrid*::width
    - std::move
    - GenericShiftGrid*::valuesAt
    - GenericShiftGrid*::description
    - std::string::empty
    - GenericShiftGrid*::extentAndRes
    - GenericShiftGrid*::samplesPerPixel
    - pj_log
    - floor
    - emplace
    - GridInfo::shifts::resize
    - std::isnan
    - auto::empty
    - GridInfo::shifts::data
    - GridInfo::idxSampleXYZ::data
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ gridshiftData::grid_interpolate(PJ_CONTEXT *ctx, const std::string
      &type,\n                                       PJ_XY xy, const GenericShiftGrid
      *grid,\n                                       bool &biquadraticInterpolationOut)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GenericShiftGrid*::extentAndRes
      Src: /src/PROJ/src/transformations/gridshift.cpp:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - grid
    - in
    - extentOut
    argTypes:
    - GenericShiftGrid*
    - PJ_XYZ
    - NS_PROJ::ExtentAndRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 599
    functionName: normalizeX
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 1
    functionsReached:
    - GenericShiftGrid*::extentAndRes
    linkageType: ''
    returnType: PJ_XY
    signature: "PJ_XY normalizeX(const GenericShiftGrid *grid, const PJ_XYZ in,\n
      \                       const NS_PROJ::ExtentAndRes *&extentOut)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: normalizeX
      Src: /src/PROJ/src/transformations/gridshift.cpp:617,1
    - Dst: gridshiftData::grid_interpolate
      Src: /src/PROJ/src/transformations/gridshift.cpp:620,1
    - Dst: GenericShiftGrid*::hasChanged
      Src: /src/PROJ/src/transformations/gridshift.cpp:622,1
    - Dst: GenericShiftGridSet*::reopen
      Src: /src/PROJ/src/transformations/gridshift.cpp:623,1
    - Dst: gridshiftData::grid_interpolate
      Src: /src/PROJ/src/transformations/gridshift.cpp:665,1
    - Dst: GenericShiftGrid*::hasChanged
      Src: /src/PROJ/src/transformations/gridshift.cpp:667,1
    - Dst: GenericShiftGridSet*::reopen
      Src: /src/PROJ/src/transformations/gridshift.cpp:668,1
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:680,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:682,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:684,1
    - Dst: GenericShiftGrid*::name
      Src: /src/PROJ/src/transformations/gridshift.cpp:685,1
    - Dst: auto::name
      Src: /src/PROJ/src/transformations/gridshift.cpp:685,1
    - Dst: normalizeX
      Src: /src/PROJ/src/transformations/gridshift.cpp:687,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/gridshift.cpp:688,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/gridshift.cpp:689,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:702,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:704,1
    - Dst: pj_log
      Src: /src/PROJ/src/transformations/gridshift.cpp:711,1
    - Dst: adjlon
      Src: /src/PROJ/src/transformations/gridshift.cpp:719,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 8
    argNames:
    - ctx
    - type
    - isVerticalOnly
    - in
    - direction
    - grid
    - gridset
    - shouldRetry
    argTypes:
    - PJ_CONTEXT*
    - std::string
    - bool
    - PJ_XYZ
    - PJ_DIRECTION
    - GenericShiftGrid*
    - GenericShiftGridSet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 723
    functionName: gridshiftData::grid_apply_internal
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 1
    functionsReached:
    - auto::name
    - normalizeX
    - GenericShiftGridSet*::reopen
    - auto::isNullGrid
    - pj_log
    - adjlon
    - gridshiftData::grid_interpolate
    - gridshiftData::findGrid
    - proj_context_errno_set
    - GenericShiftGrid*::hasChanged
    - simple_max
    - GenericShiftGrid*::name
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ gridshiftData::grid_apply_internal(\n    PJ_CONTEXT *ctx, const
      std::string &type, bool isVerticalOnly,\n    const PJ_XYZ in, PJ_DIRECTION direction,
      const GenericShiftGrid *grid,\n    GenericShiftGridSet *gridset, bool &shouldRetry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:729,1
    - Dst: pj_generic_grid_init
      Src: /src/PROJ/src/transformations/gridshift.cpp:733,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/gridshift.cpp:734,1
    - Dst: gridshiftData::checkGridTypes
      Src: /src/PROJ/src/transformations/gridshift.cpp:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 727
    functionDepth: 4
    functionLinenumber: 727
    functionLinenumberEnd: 744
    functionName: gridshiftData::loadGridsIfNeeded
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_generic_grid_init
    - gridshiftData::checkGridTypes
    - proj_errno
    linkageType: ''
    returnType: bool
    signature: bool gridshiftData::loadGridsIfNeeded(PJ *P)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:763,1
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:769,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:772,1
    - Dst: GenericShiftGrid*::isNullGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:781,1
    - Dst: gridshiftData::grid_apply_internal
      Src: /src/PROJ/src/transformations/gridshift.cpp:786,1
    - Dst: proj_context_errno
      Src: /src/PROJ/src/transformations/gridshift.cpp:795,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:796,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/gridshift.cpp:803,1
    - Dst: gridshiftData::findGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:807,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:809,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/transformations/gridshift.cpp:813,1
    - Dst: gridshiftData::grid_apply_internal
      Src: /src/PROJ/src/transformations/gridshift.cpp:818,1
    - Dst: proj_context_errno_set
      Src: /src/PROJ/src/transformations/gridshift.cpp:826,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 3
    argNames:
    - P
    - direction
    - xyz
    argTypes:
    - PJ*
    - PJ_DIRECTION
    - PJ_XYZ
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 832
    functionName: gridshiftData::apply
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - gridshiftData::grid_apply_internal
    - auto::isNullGrid
    - gridshiftData::findGrid
    - proj_context_errno_set
    - proj_context_errno
    - empty
    - GenericShiftGrid*::isNullGrid
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ gridshiftData::apply(PJ *P, PJ_DIRECTION direction, PJ_XYZ xyz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<gridshiftData *>
      Src: /src/PROJ/src/transformations/gridshift.cpp:839,1
    - Dst: auto::loadGridsIfNeeded
      Src: /src/PROJ/src/transformations/gridshift.cpp:841,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:842,1
    - Dst: auto::apply
      Src: /src/PROJ/src/transformations/gridshift.cpp:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 856
    functionName: pj_gridshift_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<gridshiftData *>
    - auto::apply
    - auto::loadGridsIfNeeded
    - proj_coord_error
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_gridshift_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<gridshiftData *>
      Src: /src/PROJ/src/transformations/gridshift.cpp:861,1
    - Dst: auto::loadGridsIfNeeded
      Src: /src/PROJ/src/transformations/gridshift.cpp:864,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/gridshift.cpp:865,1
    - Dst: auto::apply
      Src: /src/PROJ/src/transformations/gridshift.cpp:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 877
    functionName: pj_gridshift_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<gridshiftData *>
    - auto::apply
    - auto::loadGridsIfNeeded
    - proj_coord_error
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_gridshift_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct gridshiftData *>
      Src: /src/PROJ/src/transformations/gridshift.cpp:885,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/gridshift.cpp:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 881
    functionDepth: 5
    functionLinenumber: 881
    functionLinenumberEnd: 889
    functionName: pj_gridshift_destructor
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct gridshiftData *>
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_gridshift_destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reassign_context
      Src: /src/PROJ/src/transformations/gridshift.cpp:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: pj_gridshift_reassign_context
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 0
    functionsReached:
    - reassign_context
    linkageType: ''
    returnType: void
    signature: void pj_gridshift_reassign_context(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/transformations/gridshift.cpp:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: pj_clear_gridshift_knowngrids_cache
    functionSourceFile: /src/PROJ/src/transformations/gridshift.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void pj_clear_gridshift_knowngrids_cache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<hgridshiftData *>
      Src: /src/PROJ/src/transformations/hgridshift.cpp:29,1
    - Dst: pj_hgrid_init
      Src: /src/PROJ/src/transformations/hgridshift.cpp:35,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/hgridshift.cpp:36,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/hgridshift.cpp:39,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/hgridshift.cpp:40,1
    - Dst: auto::grids::empty
      Src: /src/PROJ/src/transformations/hgridshift.cpp:43,1
    - Dst: pj_hgrid_apply
      Src: /src/PROJ/src/transformations/hgridshift.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: pj_hgridshift_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_hgrid_init
    - pj_hgrid_apply
    - static_cast<hgridshiftData *>
    - proj_coord_error
    - auto::grids::empty
    - proj_errno
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_hgridshift_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<hgridshiftData *>
      Src: /src/PROJ/src/transformations/hgridshift.cpp:53,1
    - Dst: pj_hgrid_init
      Src: /src/PROJ/src/transformations/hgridshift.cpp:59,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/hgridshift.cpp:60,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/hgridshift.cpp:63,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/hgridshift.cpp:64,1
    - Dst: auto::grids::empty
      Src: /src/PROJ/src/transformations/hgridshift.cpp:67,1
    - Dst: pj_hgrid_apply
      Src: /src/PROJ/src/transformations/hgridshift.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: pj_hgridshift_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - pj_hgrid_init
    - pj_hgrid_apply
    - static_cast<hgridshiftData *>
    - proj_coord_error
    - auto::grids::empty
    - proj_errno
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_hgridshift_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_hgridshift_forward_3d
      Src: /src/PROJ/src/transformations/hgridshift.cpp:85,1
    - Dst: pj_hgridshift_forward_3d
      Src: /src/PROJ/src/transformations/hgridshift.cpp:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: pj_hgridshift_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 0
    functionsReached:
    - pj_hgridshift_forward_3d
    linkageType: ''
    returnType: void
    signature: void pj_hgridshift_forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_hgridshift_reverse_3d
      Src: /src/PROJ/src/transformations/hgridshift.cpp:110,1
    - Dst: pj_hgridshift_reverse_3d
      Src: /src/PROJ/src/transformations/hgridshift.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: pj_hgridshift_reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 0
    functionsReached:
    - pj_hgridshift_reverse_3d
    linkageType: ''
    returnType: void
    signature: void pj_hgridshift_reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct hgridshiftData *>
      Src: /src/PROJ/src/transformations/hgridshift.cpp:130,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/hgridshift.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: pj_hgridshift_destructor
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct hgridshiftData *>
    - pj_default_destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_hgridshift_destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reassign_context
      Src: /src/PROJ/src/transformations/hgridshift.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - P
    - ctx
    argTypes:
    - PJ*
    - PJ_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pj_hgridshift_reassign_context
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 0
    functionsReached:
    - reassign_context
    linkageType: ''
    returnType: void
    signature: void pj_hgridshift_reassign_context(PJ *P, PJ_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/src/transformations/hgridshift.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: pj_clear_hgridshift_knowngrids_cache
    functionSourceFile: /src/PROJ/src/transformations/hgridshift.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void pj_clear_hgridshift_knowngrids_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: DEFORMATON_MODEL_NAMESPACE::DegToRad
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DegToRad(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:95,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:96,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:96,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:97,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gridIn
    argTypes:
    - Grid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: DEFORMATON_MODEL_NAMESPACE::GridEx
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::DegToRad
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void GridEx(const Grid *gridIn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:114,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 17
    argNames:
    - ix0
    - iy0
    - de00
    - dn00
    - de01
    - dn01
    - de10
    - dn10
    - de11
    - dn11
    - m00
    - m01
    - m10
    - m11
    - dX
    - dY
    - dZ
    argTypes:
    - int
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 170
    functionName: DEFORMATON_MODEL_NAMESPACE::getBilinearGeocentric
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: "void getBilinearGeocentric(int ix0, int iy0, double de00,\n                                      double
      dn00, double de01, double dn01,\n                                      double
      de10, double dn10, double de11,\n                                      double
      dn11, double m00, double m01,\n                                      double
      m10, double m11, double &dX,\n                                      double &dY,
      double &dZ)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: DEFORMATON_MODEL_NAMESPACE::getDisplacementType
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DisplacementType
    signature: DisplacementType getDisplacementType(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Component::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:205,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getDisplacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:206,1
    - Dst: displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - componentIn
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: DEFORMATON_MODEL_NAMESPACE::ComponentEx
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getDisplacementType
    - displacementType
    - Component::spatialModel
    linkageType: ''
    returnType: void
    signature: void ComponentEx(const Component &componentIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: DEFORMATON_MODEL_NAMESPACE::evaluateAt
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - timeFunction
    linkageType: ''
    returnType: double
    signature: double evaluateAt(double dt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:217,1
    - Dst: clear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: DEFORMATON_MODEL_NAMESPACE::clearGridCache
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - reset
    - clear
    linkageType: ''
    returnType: void
    signature: void clearGridCache()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:230,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:230,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:235,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 1
    argNames:
    - dt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: DEFORMATON_MODEL_NAMESPACE::ISO8601ToDecimalYear
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - sscanf
    - ParsingException
    linkageType: ''
    returnType: double
    signature: double ISO8601ToDecimalYear(const std::string &dt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:259,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: DEFORMATON_MODEL_NAMESPACE::Epoch::Epoch
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - ISO8601ToDecimalYear
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void Epoch::Epoch(const std::string &dt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: DEFORMATON_MODEL_NAMESPACE::Epoch::toDecimalYear
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Epoch::toDecimalYear() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:271,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:273,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:275,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:275,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:278,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:279,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:279,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: DEFORMATON_MODEL_NAMESPACE::getString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - json::get
    - json::is_string
    - ParsingException
    - json::contains
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getString(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: DEFORMATON_MODEL_NAMESPACE::getReqString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getReqString(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: DEFORMATON_MODEL_NAMESPACE::getOptString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getOptString(const json &j, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:296,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:298,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:300,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:300,1
    - Dst: json::is_number
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:303,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:304,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:304,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: DEFORMATON_MODEL_NAMESPACE::getDouble
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - json::get
    - ParsingException
    - json::contains
    - std::numeric_limits<double>::quiet_NaN
    - std::string
    - json::is_number
    linkageType: ''
    returnType: double
    signature: double getDouble(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: DEFORMATON_MODEL_NAMESPACE::getReqDouble
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getDouble
    linkageType: ''
    returnType: double
    signature: double getReqDouble(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: DEFORMATON_MODEL_NAMESPACE::getOptDouble
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getDouble
    linkageType: ''
    returnType: double
    signature: double getOptDouble(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:320,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:321,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:321,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:324,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:325,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: DEFORMATON_MODEL_NAMESPACE::getObjectMember
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - json::is_object
    - ParsingException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getObjectMember(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:334,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:335,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:335,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:338,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:339,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: DEFORMATON_MODEL_NAMESPACE::getArrayMember
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - json::is_array
    - ParsingException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getArrayMember(const json &j, const char *key)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MasterFile::MasterFile
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:348,1
    - Dst: yyparse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:351,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:353,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:357,1
    - Dst: what
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:357,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:359,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:360,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:362,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:363,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:364,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:365,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:366,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:367,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:368,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:370,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:372,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:373,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:375,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:376,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:377,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:378,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:381,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:383,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:384,1
    - Dst: is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:387,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:388,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:391,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:392,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:393,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:394,1
    - Dst: std::unique_ptr::mLinks::emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:395,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:395,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:398,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:399,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:400,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:402,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:405,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:407,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:408,1
    - Dst: std::unique_ptr::mHorizontalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:409,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:412,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:414,1
    - Dst: std::unique_ptr::mVerticalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:415,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:417,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:420,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:422,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:424,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:426,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:427,1
    - Dst: std::unique_ptr::mHorizontalOffsetMethod::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:428,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:431,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:434,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:434,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:436,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:437,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:437,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:438,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:438,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:440,1
    - Dst: std::unique_ptr::mComponents::emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:442,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::Component::parse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:442,1
    - Dst: std::unique_ptr::mComponents::back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:443,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:444,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:445,1
    - Dst: std::unique_ptr::mHorizontalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:446,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:447,1
    - Dst: std::unique_ptr::mHorizontalOffsetMethod::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:451,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:452,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:457,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:458,1
    - Dst: std::unique_ptr::mVerticalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:459,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:460,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:466,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:467,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:475,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 92
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 480
    functionName: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 24
    functionsReached:
    - getArrayMember
    - std::unique_ptr::mHorizontalOffsetMethod::empty
    - is_object
    - DEFORMATON_MODEL_NAMESPACE::Component::parse
    - auto::spatialModel
    - json::is_array
    - ParsingException
    - json::contains
    - std::move
    - std::unique_ptr::mHorizontalOffsetUnit::empty
    - std::unique_ptr::mComponents::back
    - getReqString
    - MasterFile::MasterFile
    - what
    - getObjectMember
    - yyparse
    - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
    - std::unique_ptr::mLinks::emplace_back
    - Epoch
    - getOptString
    - std::unique_ptr::mVerticalOffsetUnit::empty
    - std::unique_ptr::mComponents::emplace_back
    - json::is_object
    - auto::displacementType
    linkageType: ''
    returnType: std::unique_ptr<MasterFile>
    signature: std::unique_ptr<MasterFile> MasterFile::parse(const std::string &text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:487,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:489,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:492,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:493,1
    - Dst: json::size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:494,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:495,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:498,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:499,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:503,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:504,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:505,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:506,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:508,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:509,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:510,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 514
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 1
    functionsReached:
    - getArrayMember
    - get
    - ParsingException
    - is_number
    - json::size
    - getReqString
    - DegToRad
    - getObjectMember
    linkageType: ''
    returnType: SpatialExtent
    signature: SpatialExtent SpatialExtent::parse(const json &j)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:520,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:521,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:523,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:524,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:524,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:525,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:530,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:532,1
    - Dst: getOptDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:533,1
    - Dst: getOptDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:534,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:536,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:537,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:539,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:542,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:544,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:546,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:548,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:549,1
    - Dst: json
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:551,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:552,1
    - Dst: ConstantTimeFunction::ConstantTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:555,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:556,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:557,1
    - Dst: VelocityTimeFunction::VelocityTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:559,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:560,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:562,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:562,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:563,1
    - Dst: StepTimeFunction::StepTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:565,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:566,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:567,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:567,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:568,1
    - Dst: ReverseStepTimeFunction::ReverseStepTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:571,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:572,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:573,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:573,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:574,1
    - Dst: PiecewiseTimeFunction::PiecewiseTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:576,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:577,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:578,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:581,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:583,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:586,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:588,1
    - Dst: is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:590,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:591,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:594,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:594,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:595,1
    - Dst: std::unique_ptr::model::emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:596,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:596,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:599,1
    - Dst: ExponentialTimeFunction::ExponentialTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:602,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:603,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:605,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:605,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:606,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:606,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:608,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:610,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:613,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:615,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:616,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:617,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:619,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 624
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::parse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 1
    functionsReached:
    - getArrayMember
    - is_object
    - std::unique_ptr::model::emplace_back
    - ParsingException
    - std::move
    - StepTimeFunction::StepTimeFunction
    - VelocityTimeFunction::VelocityTimeFunction
    - getReqString
    - getOptDouble
    - getObjectMember
    - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
    - ConstantTimeFunction::ConstantTimeFunction
    - ExponentialTimeFunction::ExponentialTimeFunction
    - ReverseStepTimeFunction::ReverseStepTimeFunction
    - json
    - Epoch
    - PiecewiseTimeFunction::PiecewiseTimeFunction
    - getReqDouble
    - getOptString
    - json::is_object
    linkageType: ''
    returnType: Component
    signature: Component Component::parse(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: Component::ConstantTimeFunction::evaluateAt(double) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Component::ConstantTimeFunction::evaluateAt(double) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: Component::VelocityTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toDecimalYear
    linkageType: ''
    returnType: double
    signature: double Component::VelocityTimeFunction::evaluateAt(double dt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: Component::StepTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toDecimalYear
    linkageType: ''
    returnType: double
    signature: double Component::StepTimeFunction::evaluateAt(double dt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: Component::ReverseStepTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toDecimalYear
    linkageType: ''
    returnType: double
    signature: double Component::ReverseStepTimeFunction::evaluateAt(double dt) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:655,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:659,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:663,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:668,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:674,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:675,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:677,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:686,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:687,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:690,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:690,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:691,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:692,1
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:692,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:693,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 697
    functionName: Component::PiecewiseTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - size
    - toDecimalYear
    - back
    - epoch::toDecimalYear
    - empty
    linkageType: ''
    returnType: double
    signature: double Component::PiecewiseTimeFunction::evaluateAt(double dt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:702,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:705,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:706,1
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:706,1
    - Dst: std::exp
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 711
    functionName: Component::ExponentialTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::exp
    - std::min
    - toDecimalYear
    - toString
    linkageType: ''
    returnType: double
    signature: double Component::ExponentialTimeFunction::evaluateAt(double dt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - cosphi
    - de
    - dn
    - a
    - b
    - es
    - dlam
    - dphi
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: DEFORMATON_MODEL_NAMESPACE::DeltaEastingNorthingToLongLat
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void DeltaEastingNorthingToLongLat(double cosphi, double de, double
      dn,\n                                          double a, double b, double es,\n
      \                                         double &dlam, double &dphi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:735,1
    - Dst: horizontalOffsetUnit
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:736,1
    - Dst: horizontalOffsetMethod
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:737,1
    - Dst: EvaluatorIface::isGeographicCRS
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:738,1
    - Dst: definitionCRS
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:738,1
    - Dst: EvaluatorException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:740,1
    - Dst: EvaluatorException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:745,1
    - Dst: reserve
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:749,1
    - Dst: components
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:749,1
    - Dst: components
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:750,1
    - Dst: emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:751,1
    - Dst: std::unique_ptr<ComponentEx<Grid, GridSet>>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:751,1
    - Dst: ComponentEx<Grid, GridSet>::ComponentEx<Grid, GridSet>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:752,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:753,1
    - Dst: EvaluatorException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - model
    - iface
    - a
    - b
    argTypes:
    - std::unique_ptr<MasterFile>
    - EvaluatorIface
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 759
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::Evaluator
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<ComponentEx<Grid, GridSet>>
    - EvaluatorException
    - horizontalOffsetMethod
    - std::move
    - back
    - EvaluatorIface::isGeographicCRS
    - horizontalOffsetUnit
    - reserve
    - definitionCRS
    - ComponentEx<Grid, GridSet>::ComponentEx<Grid, GridSet>
    - emplace_back
    - components
    linkageType: ''
    returnType: void
    signature: "void Evaluator<Grid, GridSet, EvaluatorIface>::Evaluator(\n    std::unique_ptr<MasterFile>
      &&model, EvaluatorIface &iface, double a,\n    double b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 1
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
    linkageType: ''
    returnType: void
    signature: void Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Component::description
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:775,1
    - Dst: auto::substr
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:776,1
    - Dst: auto::find
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:776,1
    - Dst: Component::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: DEFORMATON_MODEL_NAMESPACE::shortName
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - Component::description
    - auto::find
    - auto::substr
    - Component::spatialModel
    linkageType: ''
    returnType: std::string
    signature: std::string shortName(const Component &comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: DEFORMATON_MODEL_NAMESPACE::toString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString(double val)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 9
    argNames:
    - x
    - y
    - forInverseComputation
    - minx
    - miny
    - maxx
    - maxy
    - EPS
    - extraMarginForInverse
    argTypes:
    - double
    - double
    - bool
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 825
    functionName: DEFORMATON_MODEL_NAMESPACE::bboxCheck
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bboxCheck(double &x, double &y, bool forInverseComputation,\n
      \                     const double minx, const double miny, const double maxx,\n
      \                     const double maxy, const double EPS,\n                      const
      double extraMarginForInverse)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: extent
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:844,1
    - Dst: auto::minxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:845,1
    - Dst: auto::maxxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:846,1
    - Dst: auto::minyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:855,1
    - Dst: auto::maxyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:856,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:858,1
    - Dst: bboxCheck
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:859,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:862,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:862,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:862,1
    - Dst: timeExtent
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:871,1
    - Dst: auto::first::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:872,1
    - Dst: auto::last::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:873,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:875,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:875,1
    - Dst: auto::extent
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:901,1
    - Dst: auto::minxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:904,1
    - Dst: auto::maxxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:905,1
    - Dst: auto::minyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:906,1
    - Dst: auto::maxyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:907,1
    - Dst: bboxCheck
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:909,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:912,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:913,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:918,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:919,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:920,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:921,1
    - Dst: evaluateAt
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:922,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:925,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:925,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:932,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:932,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:933,1
    - Dst: EvaluatorIface::open
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:938,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:938,1
    - Dst: gridSet::gridAt
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:943,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:946,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:946,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:959,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:959,1
    - Dst: Grid*::name
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:962,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:966,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:966,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:967,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:967,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:984,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:985,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:986,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:987,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:993,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:993,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:994,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1007,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1008,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1009,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1010,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1020,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1021,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1022,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1023,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1029,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1029,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1030,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1039,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1039,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1040,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1041,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1041,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1042,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1056,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1057,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1058,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1059,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1069,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1071,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1073,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1075,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1082,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1082,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1083,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1093,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1093,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1094,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1095,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1095,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1096,1
    - Dst: mapGrids::find
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1105,1
    - Dst: mapGrids::end
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1106,1
    - Dst: mapGrids::insert
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1108,1
    - Dst: std::pair<const Grid *, GridEx<Grid>>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1109,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1110,1
    - Dst: GridEx::getBilinearGeocentric
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1115,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1120,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1121,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1132,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1136,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1144,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1146,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1146,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1147,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1149,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1149,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1164,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1164,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1165,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1165,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1173,1
    - Dst: DeltaEastingNorthingToLongLat
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1175,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1178,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1178,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1179,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1179,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1186,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1187,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1189,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1190,1
    - Dst: EvaluatorIface::geographicToGeocentric
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1199,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1201,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1201,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1202,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1202,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1203,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1203,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1203,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1204,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1210,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1210,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1211,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1211,1
    - Dst: EvaluatorIface::geocentricToGeographic
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1215,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1220,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1220,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 149
    argCount: 9
    argNames:
    - iface
    - x
    - y
    - z
    - t
    - forInverseComputation
    - x_out
    - y_out
    - z_out
    argTypes:
    - EvaluatorIface
    - double
    - double
    - double
    - double
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 1225
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toString
    - auto::maxxNormalized
    - Grid*::getZOffset
    - Grid*::getLongLatZOffset
    - auto::spatialModel
    - bboxCheck
    - auto::last::toDecimalYear
    - DeltaEastingNorthingToLongLat
    - extent
    - gridSet::gridAt
    - auto::minyNormalized
    - Grid*::getEastingNorthingOffset
    - std::move
    - Grid*::name
    - mapGrids::insert
    - evaluateAt
    - EvaluatorIface::geocentricToGeographic
    - auto::first::toDecimalYear
    - std::pair<const Grid *, GridEx<Grid>>
    - EvaluatorIface::log
    - static_cast<int>
    - auto::maxyNormalized
    - std::min
    - EvaluatorIface::geographicToGeocentric
    - EvaluatorIface::open
    - timeExtent
    - mapGrids::find
    - Grid*::getEastingNorthingZOffset
    - Grid*::getLongLatOffset
    - auto::extent
    - DegToRad
    - shortName
    - mapGrids::end
    - sin
    - GridEx::getBilinearGeocentric
    - cos
    - std::max
    - auto::minxNormalized
    linkageType: ''
    returnType: bool
    signature: "bool Evaluator<Grid, GridSet, EvaluatorIface>::forward(\n    EvaluatorIface
      &iface, double x, double y, double z, double t,\n    bool forInverseComputation,
      double &x_out, double &y_out, double &z_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1243,1
    - Dst: std::to_string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1243,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1244,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1244,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1249,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1254,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1254,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1255,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1263,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1263,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1263,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 8
    argNames:
    - iface
    - x
    - y
    - z
    - t
    - x_out
    - y_out
    - z_out
    argTypes:
    - EvaluatorIface
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1269
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::inverse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toString
    - EvaluatorIface::log
    - std::to_string
    - std::max
    - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
    - std::fabs
    linkageType: ''
    returnType: bool
    signature: "bool Evaluator<Grid, GridSet, EvaluatorIface>::inverse(\n    EvaluatorIface
      &iface, double x, double y, double z, double t,\n    double &x_out, double &y_out,
      double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: DEFORMATON_MODEL_NAMESPACE::DegToRad
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DegToRad(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:95,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:96,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:96,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:97,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gridIn
    argTypes:
    - Grid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: DEFORMATON_MODEL_NAMESPACE::GridEx
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::DegToRad
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void GridEx(const Grid *gridIn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:114,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 17
    argNames:
    - ix0
    - iy0
    - de00
    - dn00
    - de01
    - dn01
    - de10
    - dn10
    - de11
    - dn11
    - m00
    - m01
    - m10
    - m11
    - dX
    - dY
    - dZ
    argTypes:
    - int
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 170
    functionName: DEFORMATON_MODEL_NAMESPACE::getBilinearGeocentric
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: "void getBilinearGeocentric(int ix0, int iy0, double de00,\n                                      double
      dn00, double de01, double dn01,\n                                      double
      de10, double dn10, double de11,\n                                      double
      dn11, double m00, double m01,\n                                      double
      m10, double m11, double &dX,\n                                      double &dY,
      double &dZ)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: DEFORMATON_MODEL_NAMESPACE::getDisplacementType
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DisplacementType
    signature: DisplacementType getDisplacementType(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Component::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:205,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getDisplacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:206,1
    - Dst: displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - componentIn
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: DEFORMATON_MODEL_NAMESPACE::ComponentEx
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getDisplacementType
    - displacementType
    - Component::spatialModel
    linkageType: ''
    returnType: void
    signature: void ComponentEx(const Component &componentIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: DEFORMATON_MODEL_NAMESPACE::evaluateAt
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - timeFunction
    linkageType: ''
    returnType: double
    signature: double evaluateAt(double dt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:217,1
    - Dst: clear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: DEFORMATON_MODEL_NAMESPACE::clearGridCache
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - reset
    - clear
    linkageType: ''
    returnType: void
    signature: void clearGridCache()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:230,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:230,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:235,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 1
    argNames:
    - dt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: DEFORMATON_MODEL_NAMESPACE::ISO8601ToDecimalYear
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - sscanf
    - ParsingException
    linkageType: ''
    returnType: double
    signature: double ISO8601ToDecimalYear(const std::string &dt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:259,1
    - Dst: ISO8601ToDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: DEFORMATON_MODEL_NAMESPACE::Epoch::Epoch
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - ISO8601ToDecimalYear
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void Epoch::Epoch(const std::string &dt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: DEFORMATON_MODEL_NAMESPACE::Epoch::toDecimalYear
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Epoch::toDecimalYear() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:271,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:273,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:275,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:275,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:278,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:279,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:279,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: DEFORMATON_MODEL_NAMESPACE::getString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 2
    functionsReached:
    - json::get
    - json::is_string
    - ParsingException
    - json::contains
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getString(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: DEFORMATON_MODEL_NAMESPACE::getReqString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getReqString(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: DEFORMATON_MODEL_NAMESPACE::getOptString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getOptString(const json &j, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:296,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:298,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:300,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:300,1
    - Dst: json::is_number
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:303,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:304,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:304,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: DEFORMATON_MODEL_NAMESPACE::getDouble
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 2
    functionsReached:
    - json::get
    - ParsingException
    - json::contains
    - std::numeric_limits<double>::quiet_NaN
    - std::string
    - json::is_number
    linkageType: ''
    returnType: double
    signature: double getDouble(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: DEFORMATON_MODEL_NAMESPACE::getReqDouble
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getDouble
    linkageType: ''
    returnType: double
    signature: double getReqDouble(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::getDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: DEFORMATON_MODEL_NAMESPACE::getOptDouble
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getDouble
    linkageType: ''
    returnType: double
    signature: double getOptDouble(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:320,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:321,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:321,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:324,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:325,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: DEFORMATON_MODEL_NAMESPACE::getObjectMember
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - json::is_object
    - ParsingException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getObjectMember(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:334,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:335,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:335,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:338,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:339,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: DEFORMATON_MODEL_NAMESPACE::getArrayMember
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - json::is_array
    - ParsingException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getArrayMember(const json &j, const char *key)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MasterFile::MasterFile
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:348,1
    - Dst: yyparse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:351,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:353,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:357,1
    - Dst: what
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:357,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:359,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:360,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:362,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:363,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:364,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:365,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:366,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:367,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:368,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:370,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:372,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:373,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:375,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:376,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:377,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:378,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:381,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:383,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:384,1
    - Dst: is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:387,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:388,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:391,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:392,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:393,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:394,1
    - Dst: std::unique_ptr::mLinks::emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:395,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:395,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:398,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:399,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:400,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:402,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:405,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:407,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:408,1
    - Dst: std::unique_ptr::mHorizontalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:409,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:412,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:414,1
    - Dst: std::unique_ptr::mVerticalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:415,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:417,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:420,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:422,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:424,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:426,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:427,1
    - Dst: std::unique_ptr::mHorizontalOffsetMethod::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:428,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:431,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:434,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:434,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:436,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:437,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:437,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:438,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:438,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:440,1
    - Dst: std::unique_ptr::mComponents::emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:442,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::Component::parse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:442,1
    - Dst: std::unique_ptr::mComponents::back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:443,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:444,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:445,1
    - Dst: std::unique_ptr::mHorizontalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:446,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:447,1
    - Dst: std::unique_ptr::mHorizontalOffsetMethod::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:451,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:452,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:457,1
    - Dst: auto::displacementType
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:458,1
    - Dst: std::unique_ptr::mVerticalOffsetUnit::empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:459,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:460,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:466,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:467,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:475,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 92
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 480
    functionName: DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 24
    functionsReached:
    - getArrayMember
    - std::unique_ptr::mHorizontalOffsetMethod::empty
    - is_object
    - DEFORMATON_MODEL_NAMESPACE::Component::parse
    - auto::spatialModel
    - json::is_array
    - ParsingException
    - json::contains
    - std::move
    - std::unique_ptr::mHorizontalOffsetUnit::empty
    - std::unique_ptr::mComponents::back
    - getReqString
    - MasterFile::MasterFile
    - what
    - getObjectMember
    - yyparse
    - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
    - std::unique_ptr::mLinks::emplace_back
    - Epoch
    - getOptString
    - std::unique_ptr::mVerticalOffsetUnit::empty
    - std::unique_ptr::mComponents::emplace_back
    - json::is_object
    - auto::displacementType
    linkageType: ''
    returnType: std::unique_ptr<MasterFile>
    signature: std::unique_ptr<MasterFile> MasterFile::parse(const std::string &text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:487,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:489,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:492,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:493,1
    - Dst: json::size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:494,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:495,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:498,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:499,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:503,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:504,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:505,1
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:506,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:508,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:509,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:510,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 514
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 3
    functionsReached:
    - getArrayMember
    - get
    - ParsingException
    - is_number
    - json::size
    - getReqString
    - DegToRad
    - getObjectMember
    linkageType: ''
    returnType: SpatialExtent
    signature: SpatialExtent SpatialExtent::parse(const json &j)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:520,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:521,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:523,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:524,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:524,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:525,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:530,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:532,1
    - Dst: getOptDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:533,1
    - Dst: getOptDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:534,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:536,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:537,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:539,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:542,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:544,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:546,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:548,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:549,1
    - Dst: json
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:551,1
    - Dst: getObjectMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:552,1
    - Dst: ConstantTimeFunction::ConstantTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:555,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:556,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:557,1
    - Dst: VelocityTimeFunction::VelocityTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:559,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:560,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:562,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:562,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:563,1
    - Dst: StepTimeFunction::StepTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:565,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:566,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:567,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:567,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:568,1
    - Dst: ReverseStepTimeFunction::ReverseStepTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:571,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:572,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:573,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:573,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:574,1
    - Dst: PiecewiseTimeFunction::PiecewiseTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:576,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:577,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:578,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:581,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:583,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:586,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:588,1
    - Dst: is_object
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:590,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:591,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:594,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:594,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:595,1
    - Dst: std::unique_ptr::model::emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:596,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:596,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:599,1
    - Dst: ExponentialTimeFunction::ExponentialTimeFunction
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:602,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:603,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:605,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:605,1
    - Dst: Epoch
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:606,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:606,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:608,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:610,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:613,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:615,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:616,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:617,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:619,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 1
    argNames:
    - j
    argTypes:
    - json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 624
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::parse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 2
    functionsReached:
    - getArrayMember
    - is_object
    - std::unique_ptr::model::emplace_back
    - ParsingException
    - std::move
    - StepTimeFunction::StepTimeFunction
    - VelocityTimeFunction::VelocityTimeFunction
    - getReqString
    - getOptDouble
    - getObjectMember
    - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
    - ConstantTimeFunction::ConstantTimeFunction
    - ExponentialTimeFunction::ExponentialTimeFunction
    - ReverseStepTimeFunction::ReverseStepTimeFunction
    - json
    - Epoch
    - PiecewiseTimeFunction::PiecewiseTimeFunction
    - getReqDouble
    - getOptString
    - json::is_object
    linkageType: ''
    returnType: Component
    signature: Component Component::parse(const json &j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: Component::ConstantTimeFunction::evaluateAt(double) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Component::ConstantTimeFunction::evaluateAt(double) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: Component::VelocityTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toDecimalYear
    linkageType: ''
    returnType: double
    signature: double Component::VelocityTimeFunction::evaluateAt(double dt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: Component::StepTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toDecimalYear
    linkageType: ''
    returnType: double
    signature: double Component::StepTimeFunction::evaluateAt(double dt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: Component::ReverseStepTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toDecimalYear
    linkageType: ''
    returnType: double
    signature: double Component::ReverseStepTimeFunction::evaluateAt(double dt) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:655,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:659,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:663,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:668,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:674,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:675,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:677,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:686,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:687,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:690,1
    - Dst: epoch::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:690,1
    - Dst: size
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:691,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:692,1
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:692,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:693,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 697
    functionName: Component::PiecewiseTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - size
    - toDecimalYear
    - back
    - epoch::toDecimalYear
    - empty
    linkageType: ''
    returnType: double
    signature: double Component::PiecewiseTimeFunction::evaluateAt(double dt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:702,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:705,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:706,1
    - Dst: toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:706,1
    - Dst: std::exp
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dt
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 711
    functionName: Component::ExponentialTimeFunction::evaluateAt(double dt) const
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::exp
    - std::min
    - toDecimalYear
    - toString
    linkageType: ''
    returnType: double
    signature: double Component::ExponentialTimeFunction::evaluateAt(double dt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - cosphi
    - de
    - dn
    - a
    - b
    - es
    - dlam
    - dphi
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: DEFORMATON_MODEL_NAMESPACE::DeltaEastingNorthingToLongLat
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void DeltaEastingNorthingToLongLat(double cosphi, double de, double
      dn,\n                                          double a, double b, double es,\n
      \                                         double &dlam, double &dphi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:735,1
    - Dst: horizontalOffsetUnit
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:736,1
    - Dst: horizontalOffsetMethod
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:737,1
    - Dst: EvaluatorIface::isGeographicCRS
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:738,1
    - Dst: definitionCRS
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:738,1
    - Dst: EvaluatorException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:740,1
    - Dst: EvaluatorException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:745,1
    - Dst: reserve
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:749,1
    - Dst: components
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:749,1
    - Dst: components
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:750,1
    - Dst: emplace_back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:751,1
    - Dst: std::unique_ptr<ComponentEx<Grid, GridSet>>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:751,1
    - Dst: ComponentEx<Grid, GridSet>::ComponentEx<Grid, GridSet>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:752,1
    - Dst: back
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:753,1
    - Dst: EvaluatorException
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - model
    - iface
    - a
    - b
    argTypes:
    - std::unique_ptr<MasterFile>
    - EvaluatorIface
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 759
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::Evaluator
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<ComponentEx<Grid, GridSet>>
    - EvaluatorException
    - horizontalOffsetMethod
    - std::move
    - back
    - EvaluatorIface::isGeographicCRS
    - horizontalOffsetUnit
    - reserve
    - definitionCRS
    - ComponentEx<Grid, GridSet>::ComponentEx<Grid, GridSet>
    - emplace_back
    - components
    linkageType: ''
    returnType: void
    signature: "void Evaluator<Grid, GridSet, EvaluatorIface>::Evaluator(\n    std::unique_ptr<MasterFile>
      &&model, EvaluatorIface &iface, double a,\n    double b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 2
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
    linkageType: ''
    returnType: void
    signature: void Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Component::description
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:775,1
    - Dst: auto::substr
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:776,1
    - Dst: auto::find
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:776,1
    - Dst: Component::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: DEFORMATON_MODEL_NAMESPACE::shortName
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - Component::description
    - auto::find
    - auto::substr
    - Component::spatialModel
    linkageType: ''
    returnType: std::string
    signature: std::string shortName(const Component &comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: DEFORMATON_MODEL_NAMESPACE::toString
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string toString(double val)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 9
    argNames:
    - x
    - y
    - forInverseComputation
    - minx
    - miny
    - maxx
    - maxy
    - EPS
    - extraMarginForInverse
    argTypes:
    - double
    - double
    - bool
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 825
    functionName: DEFORMATON_MODEL_NAMESPACE::bboxCheck
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bboxCheck(double &x, double &y, bool forInverseComputation,\n
      \                     const double minx, const double miny, const double maxx,\n
      \                     const double maxy, const double EPS,\n                      const
      double extraMarginForInverse)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: extent
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:844,1
    - Dst: auto::minxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:845,1
    - Dst: auto::maxxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:846,1
    - Dst: auto::minyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:855,1
    - Dst: auto::maxyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:856,1
    - Dst: DegToRad
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:858,1
    - Dst: bboxCheck
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:859,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:862,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:862,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:862,1
    - Dst: timeExtent
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:871,1
    - Dst: auto::first::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:872,1
    - Dst: auto::last::toDecimalYear
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:873,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:875,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:875,1
    - Dst: auto::extent
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:901,1
    - Dst: auto::minxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:904,1
    - Dst: auto::maxxNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:905,1
    - Dst: auto::minyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:906,1
    - Dst: auto::maxyNormalized
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:907,1
    - Dst: bboxCheck
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:909,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:912,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:913,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:918,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:919,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:920,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:921,1
    - Dst: evaluateAt
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:922,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:925,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:925,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:932,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:932,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:933,1
    - Dst: EvaluatorIface::open
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:938,1
    - Dst: auto::spatialModel
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:938,1
    - Dst: gridSet::gridAt
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:943,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:946,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:946,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:959,1
    - Dst: shortName
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:959,1
    - Dst: Grid*::name
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:962,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:966,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:966,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:967,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:967,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:984,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:985,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:986,1
    - Dst: Grid*::getZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:987,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:993,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:993,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:994,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1007,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1008,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1009,1
    - Dst: Grid*::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1010,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1020,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1021,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1022,1
    - Dst: Grid*::getLongLatZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1023,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1029,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1029,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1030,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1039,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1039,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1040,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1041,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1041,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1042,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1056,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1057,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1058,1
    - Dst: Grid*::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1059,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1069,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1071,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1073,1
    - Dst: Grid*::getEastingNorthingZOffset
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1075,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1082,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1082,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1083,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1093,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1093,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1094,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1095,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1095,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1096,1
    - Dst: mapGrids::find
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1105,1
    - Dst: mapGrids::end
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1106,1
    - Dst: mapGrids::insert
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1108,1
    - Dst: std::pair<const Grid *, GridEx<Grid>>
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1109,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1110,1
    - Dst: GridEx::getBilinearGeocentric
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1115,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1120,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1121,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1132,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1136,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1144,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1146,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1146,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1147,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1149,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1149,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1164,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1164,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1165,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1165,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1173,1
    - Dst: DeltaEastingNorthingToLongLat
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1175,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1178,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1178,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1179,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1179,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1186,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1187,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1189,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1190,1
    - Dst: EvaluatorIface::geographicToGeocentric
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1199,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1201,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1201,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1202,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1202,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1203,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1203,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1203,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1204,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1210,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1210,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1211,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1211,1
    - Dst: EvaluatorIface::geocentricToGeographic
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1215,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1220,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1220,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 149
    argCount: 9
    argNames:
    - iface
    - x
    - y
    - z
    - t
    - forInverseComputation
    - x_out
    - y_out
    - z_out
    argTypes:
    - EvaluatorIface
    - double
    - double
    - double
    - double
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 1225
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 1
    functionsReached:
    - toString
    - auto::maxxNormalized
    - Grid*::getZOffset
    - Grid*::getLongLatZOffset
    - auto::spatialModel
    - bboxCheck
    - auto::last::toDecimalYear
    - DeltaEastingNorthingToLongLat
    - extent
    - gridSet::gridAt
    - auto::minyNormalized
    - Grid*::getEastingNorthingOffset
    - std::move
    - Grid*::name
    - mapGrids::insert
    - evaluateAt
    - EvaluatorIface::geocentricToGeographic
    - auto::first::toDecimalYear
    - std::pair<const Grid *, GridEx<Grid>>
    - EvaluatorIface::log
    - static_cast<int>
    - auto::maxyNormalized
    - std::min
    - EvaluatorIface::geographicToGeocentric
    - EvaluatorIface::open
    - timeExtent
    - mapGrids::find
    - Grid*::getEastingNorthingZOffset
    - Grid*::getLongLatOffset
    - auto::extent
    - DegToRad
    - shortName
    - mapGrids::end
    - sin
    - GridEx::getBilinearGeocentric
    - cos
    - std::max
    - auto::minxNormalized
    linkageType: ''
    returnType: bool
    signature: "bool Evaluator<Grid, GridSet, EvaluatorIface>::forward(\n    EvaluatorIface
      &iface, double x, double y, double z, double t,\n    bool forInverseComputation,
      double &x_out, double &y_out, double &z_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1243,1
    - Dst: std::to_string
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1243,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1244,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1244,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1249,1
    - Dst: EvaluatorIface::log
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1254,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1254,1
    - Dst: toString
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1255,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1263,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1263,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1263,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/defmodel_impl.hpp:1264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 8
    argNames:
    - iface
    - x
    - y
    - z
    - t
    - x_out
    - y_out
    - z_out
    argTypes:
    - EvaluatorIface
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1269
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::inverse
    functionSourceFile: /src/PROJ/src/transformations/defmodel_impl.hpp
    functionUses: 0
    functionsReached:
    - toString
    - EvaluatorIface::log
    - std::to_string
    - std::max
    - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
    - std::fabs
    linkageType: ''
    returnType: bool
    signature: "bool Evaluator<Grid, GridSet, EvaluatorIface>::inverse(\n    EvaluatorIface
      &iface, double x, double y, double z, double t,\n    double &x_out, double &y_out,
      double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: horner_dealloc
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: horner_dealloc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: horner_calloc
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: horner_calloc(n, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: horner_number_of_real_coefficients
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t horner_number_of_real_coefficients(uint32_t order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: horner_number_of_complex_coefficients
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t horner_number_of_complex_coefficients(uint32_t order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:134,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:135,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:136,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:137,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:138,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:139,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:140,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:141,1
    - Dst: horner_dealloc
      Src: /src/PROJ/src/transformations/horner.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - HORNER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: horner_free
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - horner_dealloc
    linkageType: ''
    returnType: void
    signature: void horner_free(HORNER *h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:148,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:148,1
    - Dst: horner_number_of_complex_coefficients
      Src: /src/PROJ/src/transformations/horner.cpp:154,1
    - Dst: horner_number_of_real_coefficients
      Src: /src/PROJ/src/transformations/horner.cpp:155,1
    - Dst: static_cast<double *>
      Src: /src/PROJ/src/transformations/horner.cpp:160,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:160,1
    - Dst: static_cast<double *>
      Src: /src/PROJ/src/transformations/horner.cpp:161,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:161,1
    - Dst: static_cast<double *>
      Src: /src/PROJ/src/transformations/horner.cpp:165,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:165,1
    - Dst: static_cast<double *>
      Src: /src/PROJ/src/transformations/horner.cpp:166,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:166,1
    - Dst: static_cast<double *>
      Src: /src/PROJ/src/transformations/horner.cpp:167,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:167,1
    - Dst: static_cast<double *>
      Src: /src/PROJ/src/transformations/horner.cpp:168,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:168,1
    - Dst: static_cast<PJ_UV *>
      Src: /src/PROJ/src/transformations/horner.cpp:173,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:173,1
    - Dst: static_cast<PJ_UV *>
      Src: /src/PROJ/src/transformations/horner.cpp:174,1
    - Dst: horner_calloc
      Src: /src/PROJ/src/transformations/horner.cpp:174,1
    - Dst: horner_free
      Src: /src/PROJ/src/transformations/horner.cpp:180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - order
    - complex_polynomia
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 182
    functionName: horner_alloc
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - horner_calloc
    - static_cast<PJ_UV *>
    - static_cast<double *>
    - horner_number_of_complex_coefficients
    - static_cast<HORNER *>
    - horner_free
    - horner_number_of_real_coefficients
    linkageType: ''
    returnType: HORNER
    signature: HORNER *horner_alloc(uint32_t order, bool complex_polynomia)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: horner_number_of_real_coefficients
      Src: /src/PROJ/src/transformations/horner.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - order
    - cx
    - cy
    - en
    argTypes:
    - uint32_t
    - double*
    - double*
    - PJ_UV
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: double_real_horner_eval
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - horner_number_of_real_coefficients
    linkageType: ''
    returnType: PJ_UV
    signature: "PJ_UV double_real_horner_eval(uint32_t order, const double *cx,\n
      \                                           const double *cy, PJ_UV en,\n                                            uint32_t
      order_offset = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - order
    - cx
    - x
    argTypes:
    - uint32_t
    - double*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: single_real_horner_eval
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double single_real_horner_eval(uint32_t order, const double *cx,\n
      \                                            double x,\n                                             uint32_t
      order_offset = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: horner_number_of_complex_coefficients
      Src: /src/PROJ/src/transformations/horner.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - order
    - c
    - en
    argTypes:
    - uint32_t
    - double*
    - PJ_UV
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: complex_horner_eval
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - horner_number_of_complex_coefficients
    linkageType: ''
    returnType: PJ_UV
    signature: "PJ_UV complex_horner_eval(uint32_t order, const double *c,\n                                        PJ_UV
      en, uint32_t order_offset = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: generate_error_coords
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PJ_UV
    signature: PJ_UV generate_error_coords()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/PROJ/src/transformations/horner.cpp:255,1
    - Dst: fabs
      Src: /src/PROJ/src/transformations/horner.cpp:255,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/horner.cpp:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - P
    - transformation
    - n
    - e
    argTypes:
    - PJ*
    - HORNER*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: coords_out_of_range
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    linkageType: ''
    returnType: bool
    signature: "bool coords_out_of_range(PJ *P, const HORNER *transformation,\n                                       double
      n, double e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/transformations/horner.cpp:296,1
    - Dst: coords_out_of_range
      Src: /src/PROJ/src/transformations/horner.cpp:307,1
    - Dst: generate_error_coords
      Src: /src/PROJ/src/transformations/horner.cpp:308,1
    - Dst: double_real_horner_eval
      Src: /src/PROJ/src/transformations/horner.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - P
    - transformation
    - direction
    - position
    argTypes:
    - PJ*
    - HORNER*
    - PJ_DIRECTION
    - PJ_UV
    assertStmts:
    - condition: (direction == PJ_FWD || direction == PJ_INV)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/PROJ/src/transformations/horner.cpp
    constantsTouched: []
    func_position:
      end: 319
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 319
    functionName: real_default_impl
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - double_real_horner_eval
    - coords_out_of_range
    - generate_error_coords
    - assert
    linkageType: ''
    returnType: PJ_UV
    signature: "PJ_UV real_default_impl(PJ *P, const HORNER *transformation,\n                               PJ_DIRECTION
      direction, PJ_UV position)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: coords_out_of_range
      Src: /src/PROJ/src/transformations/horner.cpp:329,1
    - Dst: generate_error_coords
      Src: /src/PROJ/src/transformations/horner.cpp:330,1
    - Dst: double_real_horner_eval
      Src: /src/PROJ/src/transformations/horner.cpp:364,1
    - Dst: single_real_horner_eval
      Src: /src/PROJ/src/transformations/horner.cpp:368,1
    - Dst: single_real_horner_eval
      Src: /src/PROJ/src/transformations/horner.cpp:369,1
    - Dst: fabs
      Src: /src/PROJ/src/transformations/horner.cpp:374,1
    - Dst: fabs
      Src: /src/PROJ/src/transformations/horner.cpp:374,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/horner.cpp:381,1
    - Dst: generate_error_coords
      Src: /src/PROJ/src/transformations/horner.cpp:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - P
    - transformation
    - position
    argTypes:
    - PJ*
    - HORNER*
    - PJ_UV
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 388
    functionName: real_iterative_inverse_impl
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - double_real_horner_eval
    - single_real_horner_eval
    - coords_out_of_range
    - generate_error_coords
    linkageType: ''
    returnType: PJ_UV
    signature: "PJ_UV real_iterative_inverse_impl(PJ *P, const HORNER *transformation,\n
      \                                        PJ_UV position)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:391,1
    - Dst: real_default_impl
      Src: /src/PROJ/src/transformations/horner.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: horner_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - real_default_impl
    - reinterpret_cast<const HORNER *>
    linkageType: ''
    returnType: void
    signature: void horner_forward_4d(PJ_COORD &point, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:396,1
    - Dst: real_default_impl
      Src: /src/PROJ/src/transformations/horner.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: horner_inverse_4d
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - real_default_impl
    - reinterpret_cast<const HORNER *>
    linkageType: ''
    returnType: void
    signature: void horner_inverse_4d(PJ_COORD &point, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:401,1
    - Dst: real_iterative_inverse_impl
      Src: /src/PROJ/src/transformations/horner.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: horner_iterative_inverse_4d
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - real_iterative_inverse_impl
    - reinterpret_cast<const HORNER *>
    linkageType: ''
    returnType: void
    signature: void horner_iterative_inverse_4d(PJ_COORD &point, PJ *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/src/transformations/horner.cpp:413,1
    - Dst: coords_out_of_range
      Src: /src/PROJ/src/transformations/horner.cpp:428,1
    - Dst: generate_error_coords
      Src: /src/PROJ/src/transformations/horner.cpp:429,1
    - Dst: complex_horner_eval
      Src: /src/PROJ/src/transformations/horner.cpp:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - P
    - transformation
    - direction
    - position
    argTypes:
    - PJ*
    - HORNER*
    - PJ_DIRECTION
    - PJ_UV
    assertStmts:
    - condition: (direction == PJ_FWD || direction == PJ_INV)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/PROJ/src/transformations/horner.cpp
    constantsTouched: []
    func_position:
      end: 438
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 438
    functionName: complex_default_impl
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - complex_horner_eval
    - coords_out_of_range
    - generate_error_coords
    - assert
    linkageType: ''
    returnType: PJ_UV
    signature: "PJ_UV complex_default_impl(PJ *P, const HORNER *transformation,\n
      \                                 PJ_DIRECTION direction, PJ_UV position)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: coords_out_of_range
      Src: /src/PROJ/src/transformations/horner.cpp:449,1
    - Dst: generate_error_coords
      Src: /src/PROJ/src/transformations/horner.cpp:450,1
    - Dst: std::complex::imag
      Src: /src/PROJ/src/transformations/horner.cpp:465,1
    - Dst: std::complex::real
      Src: /src/PROJ/src/transformations/horner.cpp:465,1
    - Dst: complex_horner_eval
      Src: /src/PROJ/src/transformations/horner.cpp:466,1
    - Dst: fabs
      Src: /src/PROJ/src/transformations/horner.cpp:469,1
    - Dst: std::complex::real
      Src: /src/PROJ/src/transformations/horner.cpp:469,1
    - Dst: std::complex::real
      Src: /src/PROJ/src/transformations/horner.cpp:469,1
    - Dst: fabs
      Src: /src/PROJ/src/transformations/horner.cpp:470,1
    - Dst: std::complex::imag
      Src: /src/PROJ/src/transformations/horner.cpp:470,1
    - Dst: std::complex::imag
      Src: /src/PROJ/src/transformations/horner.cpp:470,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/horner.cpp:476,1
    - Dst: generate_error_coords
      Src: /src/PROJ/src/transformations/horner.cpp:477,1
    - Dst: std::complex::imag
      Src: /src/PROJ/src/transformations/horner.cpp:479,1
    - Dst: std::complex::real
      Src: /src/PROJ/src/transformations/horner.cpp:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - P
    - transformation
    - position
    argTypes:
    - PJ*
    - HORNER*
    - PJ_UV
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 490
    functionName: complex_iterative_inverse_impl
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - fabs
    - complex_horner_eval
    - std::complex::imag
    - std::complex::real
    - coords_out_of_range
    - generate_error_coords
    linkageType: ''
    returnType: PJ_UV
    signature: "PJ_UV complex_iterative_inverse_impl(PJ *P, const HORNER *transformation,\n
      \                                           PJ_UV position)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:493,1
    - Dst: complex_default_impl
      Src: /src/PROJ/src/transformations/horner.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: complex_horner_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - complex_default_impl
    - reinterpret_cast<const HORNER *>
    linkageType: ''
    returnType: void
    signature: void complex_horner_forward_4d(PJ_COORD &point, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:498,1
    - Dst: complex_default_impl
      Src: /src/PROJ/src/transformations/horner.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: complex_horner_inverse_4d
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - complex_default_impl
    - reinterpret_cast<const HORNER *>
    linkageType: ''
    returnType: void
    signature: void complex_horner_inverse_4d(PJ_COORD &point, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const HORNER *>
      Src: /src/PROJ/src/transformations/horner.cpp:503,1
    - Dst: complex_iterative_inverse_impl
      Src: /src/PROJ/src/transformations/horner.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 5
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: complex_horner_iterative_inverse_4d
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - complex_iterative_inverse_impl
    - reinterpret_cast<const HORNER *>
    linkageType: ''
    returnType: void
    signature: void complex_horner_iterative_inverse_4d(PJ_COORD &point, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/horner.cpp:511,1
    - Dst: horner_free
      Src: /src/PROJ/src/transformations/horner.cpp:512,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/horner.cpp:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 5
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: horner_freeup
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - horner_free
    linkageType: ''
    returnType: PJ
    signature: PJ *horner_freeup(PJ *P, int errlev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/src/transformations/horner.cpp:521,1
    - Dst: static_cast<char *>
      Src: /src/PROJ/src/transformations/horner.cpp:522,1
    - Dst: calloc
      Src: /src/PROJ/src/transformations/horner.cpp:522,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:524,1
    - Dst: snprintf
      Src: /src/PROJ/src/transformations/horner.cpp:528,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/horner.cpp:529,1
    - Dst: free
      Src: /src/PROJ/src/transformations/horner.cpp:530,1
    - Dst: snprintf
      Src: /src/PROJ/src/transformations/horner.cpp:533,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/horner.cpp:534,1
    - Dst: free
      Src: /src/PROJ/src/transformations/horner.cpp:535,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:540,1
    - Dst: pj_strtod
      Src: /src/PROJ/src/transformations/horner.cpp:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - P
    - coefs
    - param
    - ncoefs
    argTypes:
    - PJ*
    - double*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 549
    functionName: parse_coefs
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - free
    - snprintf
    - calloc
    - strlen
    - proj_log_error
    - pj_strtod
    - static_cast<char *>
    - pj_param
    linkageType: ''
    returnType: int
    signature: int parse_coefs(PJ *P, double *coefs, const char *param, int ncoefs)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/horner.cpp:564,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/horner.cpp:565,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:568,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:568,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:569,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:572,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:572,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:573,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/horner.cpp:577,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/horner.cpp:578,1
    - Dst: horner_alloc
      Src: /src/PROJ/src/transformations/horner.cpp:581,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:583,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:588,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:589,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:590,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:592,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:593,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:609,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/horner.cpp:610,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/horner.cpp:613,1
    - Dst: horner_number_of_complex_coefficients
      Src: /src/PROJ/src/transformations/horner.cpp:613,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:614,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:615,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:615,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:616,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:618,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:619,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:619,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:620,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/horner.cpp:624,1
    - Dst: horner_number_of_real_coefficients
      Src: /src/PROJ/src/transformations/horner.cpp:624,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:625,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:626,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:626,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:627,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:629,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:630,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:630,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:631,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:633,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:634,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:634,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:635,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:637,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:638,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:638,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:639,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:643,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:644,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:644,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:645,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:647,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/horner.cpp:648,1
    - Dst: _
      Src: /src/PROJ/src/transformations/horner.cpp:648,1
    - Dst: horner_freeup
      Src: /src/PROJ/src/transformations/horner.cpp:649,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:651,1
    - Dst: parse_coefs
      Src: /src/PROJ/src/transformations/horner.cpp:653,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 552
    functionDepth: 6
    functionLinenumber: 552
    functionLinenumberEnd: 657
    functionName: PJ_PROJECTION
    functionSourceFile: /src/PROJ/src/transformations/horner.cpp
    functionUses: 0
    functionsReached:
    - horner_number_of_real_coefficients
    - static_cast<int>
    - pj_param_exists
    - parse_coefs
    - horner_number_of_complex_coefficients
    - horner_alloc
    - proj_log_error
    - _
    - pj_param
    - horner_freeup
    linkageType: ''
    returnType: PJ
    signature: PJ *PJ_PROJECTION(horner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/transformations/vertoffset.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - P
    - phi
    - lam
    argTypes:
    - PJ*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: get_forward_offset
    functionSourceFile: /src/PROJ/src/transformations/vertoffset.cpp
    functionUses: 0
    functionsReached:
    - cos
    linkageType: ''
    returnType: double
    signature: double get_forward_offset(const PJ *P, double phi, double lam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_forward_offset
      Src: /src/PROJ/src/transformations/vertoffset.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: forward_3d
    functionSourceFile: /src/PROJ/src/transformations/vertoffset.cpp
    functionUses: 5
    functionsReached:
    - get_forward_offset
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_forward_offset
      Src: /src/PROJ/src/transformations/vertoffset.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/vertoffset.cpp
    functionUses: 5
    functionsReached:
    - get_forward_offset
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_log_level
      Src: /src/PROJ/src/transformations/helmert.cpp:144,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:145,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:149,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:150,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:151,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:152,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:153,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:154,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:155,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 158
    functionName: update_parameters
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - proj_log_level
    - proj_log_trace
    linkageType: ''
    returnType: void
    signature: void update_parameters(PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/transformations/helmert.cpp:243,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/helmert.cpp:244,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/helmert.cpp:245,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/helmert.cpp:246,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/helmert.cpp:247,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/helmert.cpp:248,1
    - Dst: proj_log_level
      Src: /src/PROJ/src/transformations/helmert.cpp:315,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:316,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:317,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:318,1
    - Dst: proj_log_trace
      Src: /src/PROJ/src/transformations/helmert.cpp:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 321
    functionName: build_rot_matrix
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - proj_log_level
    - cos
    - proj_log_trace
    - sin
    linkageType: ''
    returnType: void
    signature: void build_rot_matrix(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/transformations/helmert.cpp:331,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/helmert.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - P
    argTypes:
    - PJ_LP
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 340
    functionName: helmert_forward
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: PJ_XY
    signature: PJ_XY helmert_forward(PJ_LP lp, PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/PROJ/src/transformations/helmert.cpp:350,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/helmert.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - xy
    - P
    argTypes:
    - PJ_XY
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: helmert_reverse
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: PJ_LP
    signature: PJ_LP helmert_reverse(PJ_XY xy, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: helmert_forward
      Src: /src/PROJ/src/transformations/helmert.cpp:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 399
    functionName: helmert_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - helmert_forward
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ helmert_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: helmert_reverse
      Src: /src/PROJ/src/transformations/helmert.cpp:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - xyz
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 436
    functionName: helmert_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - helmert_reverse
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ helmert_reverse_3d(PJ_XYZ xyz, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_parameters
      Src: /src/PROJ/src/transformations/helmert.cpp:446,1
    - Dst: build_rot_matrix
      Src: /src/PROJ/src/transformations/helmert.cpp:447,1
    - Dst: helmert_forward_3d
      Src: /src/PROJ/src/transformations/helmert.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 455
    functionName: helmert_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - helmert_forward_3d
    - update_parameters
    - build_rot_matrix
    linkageType: ''
    returnType: void
    signature: void helmert_forward_4d(PJ_COORD &point, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_parameters
      Src: /src/PROJ/src/transformations/helmert.cpp:465,1
    - Dst: build_rot_matrix
      Src: /src/PROJ/src/transformations/helmert.cpp:466,1
    - Dst: helmert_reverse_3d
      Src: /src/PROJ/src/transformations/helmert.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 457
    functionDepth: 4
    functionLinenumber: 457
    functionLinenumberEnd: 474
    functionName: helmert_reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - update_parameters
    - build_rot_matrix
    - helmert_reverse_3d
    linkageType: ''
    returnType: void
    signature: void helmert_reverse_4d(PJ_COORD &point, PJ *P)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct pj_opaque_helmert *>
      Src: /src/PROJ/src/transformations/helmert.cpp:480,1
    - Dst: calloc
      Src: /src/PROJ/src/transformations/helmert.cpp:481,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/helmert.cpp:483,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:491,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:492,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:494,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:495,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:497,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:498,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:501,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:502,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:504,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:505,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:507,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:508,1
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 515
    functionName: init_helmert_six_parameters
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - static_cast<struct pj_opaque_helmert *>
    - calloc
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *init_helmert_six_parameters(PJ *P)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pj_param
      Src: /src/PROJ/src/transformations/helmert.cpp:524,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/helmert.cpp:526,1
    - Dst: _
      Src: /src/PROJ/src/transformations/helmert.cpp:526,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/helmert.cpp:527,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/helmert.cpp:529,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/helmert.cpp:531,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/helmert.cpp:534,1
    - Dst: _
      Src: /src/PROJ/src/transformations/helmert.cpp:535,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/helmert.cpp:536,1
    - Dst: pj_param_exists
      Src: /src/PROJ/src/transformations/helmert.cpp:542,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/helmert.cpp:544,1
    - Dst: _
      Src: /src/PROJ/src/transformations/helmert.cpp:544,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/helmert.cpp:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - P
    argTypes:
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 517
    functionDepth: 5
    functionLinenumber: 517
    functionLinenumberEnd: 553
    functionName: read_convention
    functionSourceFile: /src/PROJ/src/transformations/helmert.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - pj_default_destructor
    - pj_param_exists
    - proj_log_error
    - _
    - pj_param
    linkageType: ''
    returnType: PJ
    signature: PJ *read_convention(PJ *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: DEFORMATON_MODEL_NAMESPACE::ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/defmodel_exceptions.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: DEFORMATON_MODEL_NAMESPACE::ParsingException::what
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *ParsingException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: DEFORMATON_MODEL_NAMESPACE::UnimplementedException::UnimplementedException
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnimplementedException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/defmodel_exceptions.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: DEFORMATON_MODEL_NAMESPACE::UnimplementedException::what
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *UnimplementedException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: DEFORMATON_MODEL_NAMESPACE::EvaluatorException::EvaluatorException
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvaluatorException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/defmodel_exceptions.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: DEFORMATON_MODEL_NAMESPACE::EvaluatorException::what
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *EvaluatorException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: DEFORMATON_MODEL_NAMESPACE::ParsingException::ParsingException
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParsingException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/defmodel_exceptions.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: DEFORMATON_MODEL_NAMESPACE::ParsingException::what
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *ParsingException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: DEFORMATON_MODEL_NAMESPACE::UnimplementedException::UnimplementedException
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnimplementedException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/defmodel_exceptions.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: DEFORMATON_MODEL_NAMESPACE::UnimplementedException::what
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *UnimplementedException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: DEFORMATON_MODEL_NAMESPACE::EvaluatorException::EvaluatorException
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvaluatorException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/defmodel_exceptions.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: DEFORMATON_MODEL_NAMESPACE::EvaluatorException::what
    functionSourceFile: /src/PROJ/src/transformations/defmodel_exceptions.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *EvaluatorException::what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: TINShiftGeopackageException::TINShiftGeopackageException
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftGeopackageException(const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: TINShiftGeopackageFile::hasHorizontalTransformation
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasHorizontalTransformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: TINShiftGeopackageFile::hasVerticalTransformation
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasVerticalTransformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: TINShiftGeopackageFile::hasOffsetZ
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasOffsetZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: TINShiftGeopackageFile::TINShiftGeopackageFile
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftGeopackageFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: TINShiftGeopackageFile::TINShiftGeopackageFile
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TINShiftGeopackageFile(const TINShiftGeopackageFile &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '&operator=(const TINShiftGeopackageFile &)'
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TINShiftGeopackageFile
    signature: TINShiftGeopackageFile &operator=(const TINShiftGeopackageFile &)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:41,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:43,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:45,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:45,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:48,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:49,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:49,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: TINSHIFT_JSON_NAMESPACE::getString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - json::get
    - json::is_string
    - ParsingException
    - json::contains
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getString(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: TINSHIFT_JSON_NAMESPACE::getReqString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getReqString(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: TINSHIFT_JSON_NAMESPACE::getOptString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getOptString(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:66,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:67,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:67,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:70,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:71,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: TINSHIFT_JSON_NAMESPACE::getArrayMember
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - json::is_array
    - ParsingException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getArrayMember(const json &j, const char *key)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: TINShiftJSONFile::TINShiftJSONFile
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:81,1
    - Dst: yyparse
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:84,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:86,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:90,1
    - Dst: what
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:90,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:92,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:93,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:95,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:96,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:97,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:98,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:99,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:100,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:101,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:104,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:106,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:109,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:117,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:121,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:123,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:124,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:126,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:127,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:128,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:129,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:132,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:134,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:135,1
    - Dst: is_object
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:138,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:139,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:142,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:143,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:144,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:145,1
    - Dst: std::unique_ptr::mLinks::emplace_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:146,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:146,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:149,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:150,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:153,1
    - Dst: is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:155,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:156,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:159,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:165,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:170,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:178,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:180,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:181,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:183,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:185,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:187,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:189,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:191,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:193,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:195,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:197,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:201,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:205,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:210,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:214,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:223,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:227,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:233,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:237,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:239,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:240,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:244,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:246,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:248,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:252,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:256,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:260,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:264,1
    - Dst: std::unique_ptr::mVertices::reserve
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:271,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:272,1
    - Dst: is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:274,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:275,1
    - Dst: size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:277,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:277,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:278,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:281,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:282,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:284,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:284,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:285,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:286,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:288,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:288,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:290,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:291,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:293,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:294,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:295,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:296,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:298,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:299,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:303,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:304,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:306,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:307,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:309,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:310,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:312,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:313,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:314,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:316,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:317,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:322,1
    - Dst: std::unique_ptr::mTriangles::reserve
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:323,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:323,1
    - Dst: is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:325,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:326,1
    - Dst: size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:328,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:328,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:329,1
    - Dst: type
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:333,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:334,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:336,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:337,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:338,1
    - Dst: type
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:341,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:342,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:344,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:345,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:346,1
    - Dst: type
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:349,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:350,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:352,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:353,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:354,1
    - Dst: std::unique_ptr::mTriangles::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:361,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 226
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 365
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 2
    functionsReached:
    - getArrayMember
    - is_number
    - is_object
    - is_array
    - std::unique_ptr::mVertices::reserve
    - TINShiftJSONFile::TINShiftJSONFile
    - json::is_array
    - ParsingException
    - json::contains
    - std::move
    - type
    - getReqString
    - std::unique_ptr::mVertices::push_back
    - what
    - size
    - auto::size
    - static_cast<int>
    - yyparse
    - std::unique_ptr::mLinks::emplace_back
    - json::get
    - get
    - json::is_string
    - std::unique_ptr::mTriangles::reserve
    - getOptString
    - json::is_object
    - is_string
    - std::unique_ptr::mTriangles::push_back
    linkageType: ''
    returnType: std::unique_ptr<TINShiftJSONFile>
    signature: std::unique_ptr<TINShiftJSONFile> TINShiftJSONFile::parse(const std::string
      &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:372,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:373,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:374,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:375,1
    - Dst: TINShiftJSONFile::vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:376,1
    - Dst: TINShiftJSONFile::verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:377,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:378,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:379,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:380,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:383,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:384,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:385,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - file
    - forward
    argTypes:
    - TINShiftJSONFile
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: TINSHIFT_JSON_NAMESPACE::GetBounds
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - auto::size
    - TINShiftJSONFile::vertices
    - TINShiftJSONFile::transformHorizontalComponent
    - std::min
    - std::max
    - simple_max
    - TINShiftJSONFile::verticesColumnCount
    linkageType: ''
    returnType: NS_PROJ::QuadTree::RectObj
    signature: "NS_PROJ::QuadTree::RectObj GetBounds(const TINShiftJSONFile &file,\n
      \                                           bool forward)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:395,1
    - Dst: TINSHIFT_JSON_NAMESPACE::GetBounds
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:396,1
    - Dst: NS_PROJ::QuadTree::QuadTree<unsigned>::QuadTree<unsigned>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:396,1
    - Dst: TINShiftJSONFile::triangles
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:397,1
    - Dst: TINShiftJSONFile::vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:398,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:399,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:400,1
    - Dst: TINShiftJSONFile::verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:401,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:402,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:417,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:418,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:419,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:420,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:421,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:422,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:423,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:424,1
    - Dst: auto::insert
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:425,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - file
    - forward
    argTypes:
    - TINShiftJSONFile
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 429
    functionName: TINSHIFT_JSON_NAMESPACE::BuildQuadTree
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - auto::insert
    - auto::size
    - TINShiftJSONFile::triangles
    - NS_PROJ::QuadTree::QuadTree<unsigned>::QuadTree<unsigned>
    - static_cast<unsigned>
    - TINShiftJSONFile::vertices
    - TINShiftJSONFile::transformHorizontalComponent
    - std::min
    - std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>>
    - TINSHIFT_JSON_NAMESPACE::GetBounds
    - std::max
    - TINShiftJSONFile::verticesColumnCount
    linkageType: ''
    returnType: std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>>
    signature: std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>> BuildQuadTree(const
      TINShiftJSONFile &file, bool forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fileIn
    argTypes:
    - std::unique_ptr<TINShiftJSONFile>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::TINShiftJSONEvaluator
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TINShiftJSONEvaluator::TINShiftJSONEvaluator(\n    std::unique_ptr<TINShiftJSONFile>
      &&fileIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: TINSHIFT_JSON_NAMESPACE::sqr
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sqr(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::sqr
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:442,1
    - Dst: TINSHIFT_JSON_NAMESPACE::sqr
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: TINSHIFT_JSON_NAMESPACE::squared_distance
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::sqr
    linkageType: ''
    returnType: double
    signature: "double squared_distance(double x1, double y1, double x2,\n                                      double
      y2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:450,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:454,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - x
    - y
    - x1
    - y1
    - x2
    - y2
    - dist12
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: TINSHIFT_JSON_NAMESPACE::distance_point_segment
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::squared_distance
    linkageType: ''
    returnType: double
    signature: "double distance_point_segment(double x, double y, double x1, double
      y1,\n                                     double x2, double y2, double dist12)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned>::clear
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:468,1
    - Dst: NS_PROJ::QuadTree::QuadTree<unsigned>::search
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:469,1
    - Dst: TINShiftJSONFile::triangles
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:471,1
    - Dst: TINShiftJSONFile::vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:472,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:474,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:475,1
    - Dst: TINShiftJSONFile::verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:476,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:480,1
    - Dst: TINShiftJSONFile::fallbackStrategy
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:504,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:510,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:511,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:513,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:527,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:527,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:528,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:528,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:529,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:529,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:530,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:530,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:534,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:535,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:536,1
    - Dst: TINShiftJSONFile::fallbackStrategy
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:542,1
    - Dst: TINSHIFT_JSON_NAMESPACE::distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:546,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:549,1
    - Dst: TINSHIFT_JSON_NAMESPACE::distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:552,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:555,1
    - Dst: TINSHIFT_JSON_NAMESPACE::distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:558,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:561,1
    - Dst: TINShiftJSONFile::fallbackStrategy
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:564,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:567,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:570,1
    - Dst: std::isinf
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:575,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:591,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 9
    argNames:
    - file
    - quadtree
    - triangleIndices
    - x
    - y
    - forward
    - lambda1
    - lambda2
    - lambda3
    argTypes:
    - TINShiftJSONFile
    - NS_PROJ::QuadTree::QuadTree<unsigned>
    - std::vector<unsigned>
    - double
    - double
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 599
    functionName: TINSHIFT_JSON_NAMESPACE::FindTriangle
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - sqrt
    - TINShiftJSONFile::fallbackStrategy
    - auto::size
    - TINShiftJSONFile::triangles
    - TINSHIFT_JSON_NAMESPACE::distance_point_segment
    - TINShiftJSONFile::vertices
    - TINShiftJSONFile::transformHorizontalComponent
    - std::min
    - std::max
    - std::numeric_limits<double>::infinity
    - std::vector<unsigned>::clear
    - NS_PROJ::QuadTree::QuadTree<unsigned>::search
    - TINSHIFT_JSON_NAMESPACE::squared_distance
    - TINShiftJSONFile::verticesColumnCount
    - std::fabs
    - std::isinf
    linkageType: ''
    returnType: TINShiftJSONFile::VertexIndices
    signature: "TINShiftJSONFile::VertexIndices *\nFindTriangle(const TINShiftJSONFile
      &file,\n             const NS_PROJ::QuadTree::QuadTree<unsigned> &quadtree,\n
      \            std::vector<unsigned> &triangleIndices, double x, double y,\n             bool
      forward, double &lambda1, double &lambda2, double &lambda3)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BuildQuadTree
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:606,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:606,1
    - Dst: FindTriangle
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:612,1
    - Dst: vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:616,1
    - Dst: verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:620,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:621,1
    - Dst: transformVerticalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:634,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 643
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::forward
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - transformHorizontalComponent
    - get
    - transformVerticalComponent
    - vertices
    - FindTriangle
    - BuildQuadTree
    - verticesColumnCount
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftJSONEvaluator::forward(double x, double y, double z,
      double &x_out,\n                                    double &y_out, double &z_out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:650,1
    - Dst: transformVerticalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:651,1
    - Dst: BuildQuadTree
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:653,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:653,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:654,1
    - Dst: BuildQuadTree
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:657,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:657,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:658,1
    - Dst: FindTriangle
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:664,1
    - Dst: vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:668,1
    - Dst: verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:672,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:673,1
    - Dst: transformVerticalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:686,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 695
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::inverse
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - transformHorizontalComponent
    - get
    - transformVerticalComponent
    - vertices
    - FindTriangle
    - BuildQuadTree
    - verticesColumnCount
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftJSONEvaluator::inverse(double x, double y, double z,
      double &x_out,\n                                    double &y_out, double &z_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:41,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:43,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:45,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:45,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:48,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:49,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:49,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: TINSHIFT_JSON_NAMESPACE::getString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 2
    functionsReached:
    - json::get
    - json::is_string
    - ParsingException
    - json::contains
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getString(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: TINSHIFT_JSON_NAMESPACE::getReqString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getReqString(const json &j, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::getString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: TINSHIFT_JSON_NAMESPACE::getOptString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::getString
    linkageType: ''
    returnType: std::string
    signature: std::string getOptString(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:66,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:67,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:67,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:70,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:71,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: TINSHIFT_JSON_NAMESPACE::getArrayMember
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - json::is_array
    - ParsingException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getArrayMember(const json &j, const char *key)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: TINShiftJSONFile::TINShiftJSONFile
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:81,1
    - Dst: yyparse
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:84,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:86,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:90,1
    - Dst: what
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:90,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:92,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:93,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:95,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:96,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:97,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:98,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:99,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:100,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:101,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:104,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:106,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:109,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:117,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:121,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:123,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:124,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:126,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:127,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:128,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:129,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:132,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:134,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:135,1
    - Dst: is_object
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:138,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:139,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:142,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:143,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:144,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:145,1
    - Dst: std::unique_ptr::mLinks::emplace_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:146,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:146,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:149,1
    - Dst: getOptString
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:150,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:153,1
    - Dst: is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:155,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:156,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:159,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:165,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:170,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:178,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:180,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:181,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:183,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:185,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:187,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:189,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:191,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:193,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:195,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:197,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:201,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:205,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:210,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:214,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:223,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:227,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:233,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:237,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:239,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:240,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:244,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:246,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:248,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:252,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:256,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:260,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:264,1
    - Dst: std::unique_ptr::mVertices::reserve
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:271,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:272,1
    - Dst: is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:274,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:275,1
    - Dst: size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:277,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:277,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:278,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:281,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:282,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:284,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:284,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:285,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:286,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:288,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:288,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:290,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:291,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:293,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:294,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:295,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:296,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:298,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:299,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:303,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:304,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:306,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:307,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:309,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:310,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:312,1
    - Dst: is_number
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:313,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:314,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:316,1
    - Dst: std::unique_ptr::mVertices::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:317,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:322,1
    - Dst: std::unique_ptr::mTriangles::reserve
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:323,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:323,1
    - Dst: is_array
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:325,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:326,1
    - Dst: size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:328,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:328,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:329,1
    - Dst: type
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:333,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:334,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:336,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:337,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:338,1
    - Dst: type
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:341,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:342,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:344,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:345,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:346,1
    - Dst: type
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:349,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:350,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:352,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:353,1
    - Dst: ParsingException
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:354,1
    - Dst: std::unique_ptr::mTriangles::push_back
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:361,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 226
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 365
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 2
    functionsReached:
    - getArrayMember
    - is_number
    - is_object
    - is_array
    - std::unique_ptr::mVertices::reserve
    - TINShiftJSONFile::TINShiftJSONFile
    - json::is_array
    - ParsingException
    - json::contains
    - std::move
    - type
    - getReqString
    - std::unique_ptr::mVertices::push_back
    - what
    - size
    - auto::size
    - static_cast<int>
    - yyparse
    - std::unique_ptr::mLinks::emplace_back
    - json::get
    - get
    - json::is_string
    - std::unique_ptr::mTriangles::reserve
    - getOptString
    - json::is_object
    - is_string
    - std::unique_ptr::mTriangles::push_back
    linkageType: ''
    returnType: std::unique_ptr<TINShiftJSONFile>
    signature: std::unique_ptr<TINShiftJSONFile> TINShiftJSONFile::parse(const std::string
      &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:372,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:373,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:374,1
    - Dst: simple_max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:375,1
    - Dst: TINShiftJSONFile::vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:376,1
    - Dst: TINShiftJSONFile::verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:377,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:378,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:379,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:380,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:383,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:384,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:385,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - file
    - forward
    argTypes:
    - TINShiftJSONFile
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: TINSHIFT_JSON_NAMESPACE::GetBounds
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 1
    functionsReached:
    - auto::size
    - TINShiftJSONFile::vertices
    - TINShiftJSONFile::transformHorizontalComponent
    - std::min
    - std::max
    - simple_max
    - TINShiftJSONFile::verticesColumnCount
    linkageType: ''
    returnType: NS_PROJ::QuadTree::RectObj
    signature: "NS_PROJ::QuadTree::RectObj GetBounds(const TINShiftJSONFile &file,\n
      \                                           bool forward)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:395,1
    - Dst: TINSHIFT_JSON_NAMESPACE::GetBounds
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:396,1
    - Dst: NS_PROJ::QuadTree::QuadTree<unsigned>::QuadTree<unsigned>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:396,1
    - Dst: TINShiftJSONFile::triangles
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:397,1
    - Dst: TINShiftJSONFile::vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:398,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:399,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:400,1
    - Dst: TINShiftJSONFile::verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:401,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:402,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:417,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:418,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:419,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:420,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:421,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:422,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:423,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:424,1
    - Dst: auto::insert
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:425,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - file
    - forward
    argTypes:
    - TINShiftJSONFile
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 429
    functionName: TINSHIFT_JSON_NAMESPACE::BuildQuadTree
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - auto::insert
    - auto::size
    - TINShiftJSONFile::triangles
    - NS_PROJ::QuadTree::QuadTree<unsigned>::QuadTree<unsigned>
    - static_cast<unsigned>
    - TINShiftJSONFile::vertices
    - TINShiftJSONFile::transformHorizontalComponent
    - std::min
    - std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>>
    - TINSHIFT_JSON_NAMESPACE::GetBounds
    - std::max
    - TINShiftJSONFile::verticesColumnCount
    linkageType: ''
    returnType: std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>>
    signature: std::unique_ptr<NS_PROJ::QuadTree::QuadTree<unsigned>> BuildQuadTree(const
      TINShiftJSONFile &file, bool forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fileIn
    argTypes:
    - std::unique_ptr<TINShiftJSONFile>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::TINShiftJSONEvaluator
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TINShiftJSONEvaluator::TINShiftJSONEvaluator(\n    std::unique_ptr<TINShiftJSONFile>
      &&fileIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: TINSHIFT_JSON_NAMESPACE::sqr
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sqr(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::sqr
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:442,1
    - Dst: TINSHIFT_JSON_NAMESPACE::sqr
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: TINSHIFT_JSON_NAMESPACE::squared_distance
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 2
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::sqr
    linkageType: ''
    returnType: double
    signature: "double squared_distance(double x1, double y1, double x2,\n                                      double
      y2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:450,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:454,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - x
    - y
    - x1
    - y1
    - x2
    - y2
    - dist12
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: TINSHIFT_JSON_NAMESPACE::distance_point_segment
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 1
    functionsReached:
    - TINSHIFT_JSON_NAMESPACE::squared_distance
    linkageType: ''
    returnType: double
    signature: "double distance_point_segment(double x, double y, double x1, double
      y1,\n                                     double x2, double y2, double dist12)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<unsigned>::clear
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:468,1
    - Dst: NS_PROJ::QuadTree::QuadTree<unsigned>::search
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:469,1
    - Dst: TINShiftJSONFile::triangles
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:471,1
    - Dst: TINShiftJSONFile::vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:472,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:474,1
    - Dst: TINShiftJSONFile::transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:475,1
    - Dst: TINShiftJSONFile::verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:476,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:480,1
    - Dst: TINShiftJSONFile::fallbackStrategy
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:504,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:510,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:511,1
    - Dst: auto::size
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:513,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:527,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:527,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:528,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:528,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:529,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:529,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:530,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:530,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:534,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:535,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:536,1
    - Dst: TINShiftJSONFile::fallbackStrategy
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:542,1
    - Dst: TINSHIFT_JSON_NAMESPACE::distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:546,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:549,1
    - Dst: TINSHIFT_JSON_NAMESPACE::distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:552,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:555,1
    - Dst: TINSHIFT_JSON_NAMESPACE::distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:558,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:561,1
    - Dst: TINShiftJSONFile::fallbackStrategy
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:564,1
    - Dst: TINSHIFT_JSON_NAMESPACE::squared_distance
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:567,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:570,1
    - Dst: std::isinf
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:575,1
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:591,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 9
    argNames:
    - file
    - quadtree
    - triangleIndices
    - x
    - y
    - forward
    - lambda1
    - lambda2
    - lambda3
    argTypes:
    - TINShiftJSONFile
    - NS_PROJ::QuadTree::QuadTree<unsigned>
    - std::vector<unsigned>
    - double
    - double
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 599
    functionName: TINSHIFT_JSON_NAMESPACE::FindTriangle
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - sqrt
    - TINShiftJSONFile::fallbackStrategy
    - auto::size
    - TINShiftJSONFile::triangles
    - TINSHIFT_JSON_NAMESPACE::distance_point_segment
    - TINShiftJSONFile::vertices
    - TINShiftJSONFile::transformHorizontalComponent
    - std::min
    - std::max
    - std::numeric_limits<double>::infinity
    - std::vector<unsigned>::clear
    - NS_PROJ::QuadTree::QuadTree<unsigned>::search
    - TINSHIFT_JSON_NAMESPACE::squared_distance
    - TINShiftJSONFile::verticesColumnCount
    - std::fabs
    - std::isinf
    linkageType: ''
    returnType: TINShiftJSONFile::VertexIndices
    signature: "TINShiftJSONFile::VertexIndices *\nFindTriangle(const TINShiftJSONFile
      &file,\n             const NS_PROJ::QuadTree::QuadTree<unsigned> &quadtree,\n
      \            std::vector<unsigned> &triangleIndices, double x, double y,\n             bool
      forward, double &lambda1, double &lambda2, double &lambda3)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BuildQuadTree
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:606,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:606,1
    - Dst: FindTriangle
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:612,1
    - Dst: vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:616,1
    - Dst: verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:620,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:621,1
    - Dst: transformVerticalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:634,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 643
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::forward
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - transformHorizontalComponent
    - get
    - transformVerticalComponent
    - vertices
    - FindTriangle
    - BuildQuadTree
    - verticesColumnCount
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftJSONEvaluator::forward(double x, double y, double z,
      double &x_out,\n                                    double &y_out, double &z_out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:650,1
    - Dst: transformVerticalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:651,1
    - Dst: BuildQuadTree
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:653,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:653,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:654,1
    - Dst: BuildQuadTree
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:657,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:657,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:658,1
    - Dst: FindTriangle
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:664,1
    - Dst: vertices
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:668,1
    - Dst: verticesColumnCount
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:672,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:673,1
    - Dst: transformVerticalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:686,1
    - Dst: transformHorizontalComponent
      Src: /src/PROJ/src/transformations/tinshift_json_impl.hpp:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 695
    functionName: TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::inverse
    functionSourceFile: /src/PROJ/src/transformations/tinshift_json_impl.hpp
    functionUses: 0
    functionsReached:
    - transformHorizontalComponent
    - get
    - transformVerticalComponent
    - vertices
    - FindTriangle
    - BuildQuadTree
    - verticesColumnCount
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftJSONEvaluator::inverse(double x, double y, double z,
      double &x_out,\n                                    double &y_out, double &z_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pj_find_generic_grid
      Src: /src/PROJ/src/transformations/deformation.cpp:87,1
    - Dst: auto::isNullGrid
      Src: /src/PROJ/src/transformations/deformation.cpp:91,1
    - Dst: auto::samplesPerPixel
      Src: /src/PROJ/src/transformations/deformation.cpp:97,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/deformation.cpp:99,1
    - Dst: auto::description
      Src: /src/PROJ/src/transformations/deformation.cpp:106,1
    - Dst: auto::unit
      Src: /src/PROJ/src/transformations/deformation.cpp:115,1
    - Dst: auto::empty
      Src: /src/PROJ/src/transformations/deformation.cpp:116,1
    - Dst: proj_log_error
      Src: /src/PROJ/src/transformations/deformation.cpp:117,1
    - Dst: pj_bilinear_interpolation_three_samples
      Src: /src/PROJ/src/transformations/deformation.cpp:122,1
    - Dst: pj_deformation_get_grid_values
      Src: /src/PROJ/src/transformations/deformation.cpp:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 6
    argNames:
    - P
    - Q
    - lp
    - vx
    - vy
    - vz
    argTypes:
    - PJ*
    - deformationData*
    - PJ_LP
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 134
    functionName: pj_deformation_get_grid_values
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 1
    functionsReached:
    - auto::description
    - pj_find_generic_grid
    - pj_bilinear_interpolation_three_samples
    - auto::isNullGrid
    - auto::samplesPerPixel
    - auto::unit
    - pj_deformation_get_grid_values
    - proj_log_error
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: "bool pj_deformation_get_grid_values(PJ *P, deformationData *Q,\n                                           const
      PJ_LP &lp, double &vx,\n                                           double &vy,
      double &vz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_errno_reset
      Src: /src/PROJ/src/transformations/deformation.cpp:152,1
    - Dst: static_cast<deformationData *>
      Src: /src/PROJ/src/transformations/deformation.cpp:153,1
    - Dst: pj_inv3d
      Src: /src/PROJ/src/transformations/deformation.cpp:156,1
    - Dst: auto::grids::empty
      Src: /src/PROJ/src/transformations/deformation.cpp:159,1
    - Dst: pj_deformation_get_grid_values
      Src: /src/PROJ/src/transformations/deformation.cpp:163,1
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/deformation.cpp:164,1
    - Dst: pj_hgrid_value
      Src: /src/PROJ/src/transformations/deformation.cpp:170,1
    - Dst: pj_vgrid_value
      Src: /src/PROJ/src/transformations/deformation.cpp:171,1
    - Dst: proj_errno
      Src: /src/PROJ/src/transformations/deformation.cpp:173,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/transformations/deformation.cpp:174,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/transformations/deformation.cpp:176,1
    - Dst: proj_todeg
      Src: /src/PROJ/src/transformations/deformation.cpp:176,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/deformation.cpp:185,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/deformation.cpp:186,1
    - Dst: sin
      Src: /src/PROJ/src/transformations/deformation.cpp:187,1
    - Dst: cos
      Src: /src/PROJ/src/transformations/deformation.cpp:188,1
    - Dst: proj_errno_restore
      Src: /src/PROJ/src/transformations/deformation.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - P
    - cartesian
    argTypes:
    - PJ*
    - PJ_XYZ
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 202
    functionName: pj_deformation_get_grid_shift
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - pj_vgrid_value
    - pj_hgrid_value
    - cos
    - proj_todeg
    - pj_inv3d
    - proj_log_debug
    - proj_errno
    - proj_errno_restore
    - pj_deformation_get_grid_values
    - auto::grids::empty
    - static_cast<deformationData *>
    - proj_coord_error
    - proj_errno_reset
    - sin
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_deformation_get_grid_shift(PJ *P, const PJ_XYZ &cartesian)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pj_deformation_get_grid_shift
      Src: /src/PROJ/src/transformations/deformation.cpp:214,1
    - Dst: pj_deformation_get_grid_shift
      Src: /src/PROJ/src/transformations/deformation.cpp:231,1
    - Dst: hypot
      Src: /src/PROJ/src/transformations/deformation.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - P
    - input
    - dt
    argTypes:
    - PJ*
    - PJ_XYZ
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pj_deformation_reverse_shift
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - hypot
    - pj_deformation_get_grid_shift
    linkageType: ''
    returnType: PJ_XYZ
    signature: "PJ_XYZ pj_deformation_reverse_shift(PJ *P, const PJ_XYZ &input,\n
      \                                          double dt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/deformation.cpp:258,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/transformations/deformation.cpp:259,1
    - Dst: pj_deformation_get_grid_shift
      Src: /src/PROJ/src/transformations/deformation.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - lpz
    - P
    argTypes:
    - PJ_LPZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: pj_deformation_forward_3d
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - proj_log_debug
    - proj_coord_error
    - pj_deformation_get_grid_shift
    linkageType: ''
    returnType: PJ_XYZ
    signature: PJ_XYZ pj_deformation_forward_3d(PJ_LPZ lpz, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/deformation.cpp:284,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/deformation.cpp:285,1
    - Dst: pj_deformation_get_grid_shift
      Src: /src/PROJ/src/transformations/deformation.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 5
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: pj_deformation_forward_4d
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - proj_coord_error
    - pj_deformation_get_grid_shift
    linkageType: ''
    returnType: void
    signature: void pj_deformation_forward_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/deformation.cpp:304,1
    - Dst: proj_log_debug
      Src: /src/PROJ/src/transformations/deformation.cpp:305,1
    - Dst: pj_deformation_reverse_shift
      Src: /src/PROJ/src/transformations/deformation.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - in
    - P
    argTypes:
    - PJ_XYZ
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: pj_deformation_reverse_3d
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - proj_log_debug
    - proj_coord_error
    - pj_deformation_reverse_shift
    linkageType: ''
    returnType: PJ_LPZ
    signature: PJ_LPZ pj_deformation_reverse_3d(PJ_XYZ in, PJ *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_coord_error
      Src: /src/PROJ/src/transformations/deformation.cpp:322,1
    - Dst: proj_errno_set
      Src: /src/PROJ/src/transformations/deformation.cpp:323,1
    - Dst: pj_deformation_reverse_shift
      Src: /src/PROJ/src/transformations/deformation.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coo
    - P
    argTypes:
    - PJ_COORD
    - PJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: pj_deformation_reverse_4d
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - proj_errno_set
    - proj_coord_error
    - pj_deformation_reverse_shift
    linkageType: ''
    returnType: void
    signature: void pj_deformation_reverse_4d(PJ_COORD &coo, PJ *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct deformationData *>
      Src: /src/PROJ/src/transformations/deformation.cpp:336,1
    - Dst: auto::cart::destructor
      Src: /src/PROJ/src/transformations/deformation.cpp:339,1
    - Dst: pj_default_destructor
      Src: /src/PROJ/src/transformations/deformation.cpp:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - P
    - errlev
    argTypes:
    - PJ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: pj_deformation_destructor
    functionSourceFile: /src/PROJ/src/transformations/deformation.cpp
    functionUses: 0
    functionsReached:
    - pj_default_destructor
    - static_cast<struct deformationData *>
    - auto::cart::destructor
    linkageType: ''
    returnType: PJ
    signature: PJ *pj_deformation_destructor(PJ *P, int errlev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minx
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double minx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::miny
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double miny() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxx
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxy
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minxNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double minxNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minyNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double minyNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxxNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxxNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxyNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxyNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::SpatialExtent
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpatialExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '&toString() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '&description() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '&extent() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpatialExtent
    signature: SpatialExtent &extent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '&displacementType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &displacementType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '&uncertaintyType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &uncertaintyType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::horizontalUncertainty
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double horizontalUncertainty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::verticalUncertainty
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double verticalUncertainty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: '&spatialModel() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpatialModel
    signature: SpatialModel &spatialModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::TimeFunction
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimeFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel.hpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::timeFunction
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TimeFunction
    signature: TimeFunction *timeFunction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::Component
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Component::TimeFunction::~TimeFunction()
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component::TimeFunction::~TimeFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: '&fileType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &fileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: '&formatVersion() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &formatVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: '&name() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: '&version() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: '&license() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &license() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: '&description() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: '&publicationDate() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &publicationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: '&authority() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Authority
    signature: Authority &authority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: DEFORMATON_MODEL_NAMESPACE::MasterFile::links
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Link>
    signature: std::vector<Link> links() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: '&sourceCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &sourceCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: '&targetCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &targetCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: '&definitionCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &definitionCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: '&referenceEpoch() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &referenceEpoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: '&uncertaintyReferenceEpoch() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &uncertaintyReferenceEpoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '&horizontalOffsetUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalOffsetUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '&verticalOffsetUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verticalOffsetUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: '&horizontalUncertaintyType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalUncertaintyType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: '&horizontalUncertaintyUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalUncertaintyUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: '&verticalUncertaintyType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verticalUncertaintyType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: '&verticalUncertaintyUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verticalUncertaintyUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: '&horizontalOffsetMethod() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalOffsetMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: '&extent() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpatialExtent
    signature: SpatialExtent &extent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: '&timeExtent() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TimeExtent
    signature: TimeExtent &timeExtent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: '&components() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Component>
    signature: std::vector<Component> &components() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: DEFORMATON_MODEL_NAMESPACE::MasterFile::MasterFile
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MasterFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatOffset(int /*ix*/, int /*iy*/, double & /*longOffsetRadian*/,\n
      \                         double & /*latOffsetRadian*/) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: DEFORMATON_MODEL_NAMESPACE::getZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int /*ix*/, int /*iy*/, double & /*zOffset*/) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int /*ix*/, int /*iy*/,\n                                  double
      & /*eastingOffset*/,\n                                  double & /*northingOffset*/)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:501,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:503,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getZOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 506
    functionName: DEFORMATON_MODEL_NAMESPACE::getLongLatZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getZOffset
    - UnimplementedException
    - DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatZOffset(int /*ix*/, int /*iy*/,\n                           double
      & /*longOffsetRadian*/,\n                           double & /*latOffsetRadian*/,\n
      \                          double & /*zOffset*/) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:513,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:515,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getZOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: DEFORMATON_MODEL_NAMESPACE::getEastingNorthingZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getZOffset
    - DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingZOffset(int /*ix*/, int /*iy*/,\n                                   double
      & /*eastingOffset*/,\n                                   double & /*northingOffset*/,\n
      \                                  double & /*zOffset*/) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: DEFORMATON_MODEL_NAMESPACE::name
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: DEFORMATON_MODEL_NAMESPACE::gridAt
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 550
    functionName: DEFORMATON_MODEL_NAMESPACE::open
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string & /* filename*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: DEFORMATON_MODEL_NAMESPACE::geographicToGeocentric
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: void
    signature: "void geographicToGeocentric(double /* lam */, double /* phi */,\n
      \                               double /* height*/, double /* a */,\n                                double
      /* b */, double /*es*/, double & /* X */,\n                                double
      & /* Y */, double & /* Z */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: DEFORMATON_MODEL_NAMESPACE::geocentricToGeographic
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: void
    signature: "void geocentricToGeographic(double /* X */, double /* Y */, double
      /* Z */,\n                                double /* a */, double /* b */, double
      /*es*/,\n                                double & /* lam */, double & /* phi
      */,\n                                double & /* height*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: DEFORMATON_MODEL_NAMESPACE::isGeographicCRS
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: DEFORMATON_MODEL_NAMESPACE::log
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
      Src: /src/PROJ/src/transformations/defmodel.hpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - iface
    - x
    - y
    - z
    - t
    - x_out
    - y_out
    - z_out
    argTypes:
    - EvaluatorIface
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 1
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
    linkageType: ''
    returnType: bool
    signature: "bool forward(EvaluatorIface &iface, double x, double y, double z,
      double t,\n                 double &x_out, double &y_out, double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 614
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator::isGeographicCRS
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minx
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double minx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::miny
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double miny() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxx
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxy
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minxNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double minxNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minyNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double minyNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxxNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxxNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bIsGeographic
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxyNormalized
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double maxyNormalized(bool bIsGeographic) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: DEFORMATON_MODEL_NAMESPACE::SpatialExtent::SpatialExtent
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpatialExtent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '&toString() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '&description() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '&extent() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpatialExtent
    signature: SpatialExtent &extent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '&displacementType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &displacementType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '&uncertaintyType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &uncertaintyType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::horizontalUncertainty
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double horizontalUncertainty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::verticalUncertainty
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double verticalUncertainty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: '&spatialModel() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpatialModel
    signature: SpatialModel &spatialModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::TimeFunction
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimeFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/src/transformations/defmodel.hpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::timeFunction
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TimeFunction
    signature: TimeFunction *timeFunction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: DEFORMATON_MODEL_NAMESPACE::Component::Component
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Component::TimeFunction::~TimeFunction()
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component::TimeFunction::~TimeFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: '&fileType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &fileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: '&formatVersion() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &formatVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: '&name() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: '&version() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: '&license() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &license() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: '&description() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: '&publicationDate() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &publicationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: '&authority() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Authority
    signature: Authority &authority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: DEFORMATON_MODEL_NAMESPACE::MasterFile::links
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Link>
    signature: std::vector<Link> links() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: '&sourceCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &sourceCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: '&targetCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &targetCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: '&definitionCRS() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &definitionCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: '&referenceEpoch() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &referenceEpoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: '&uncertaintyReferenceEpoch() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &uncertaintyReferenceEpoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '&horizontalOffsetUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalOffsetUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '&verticalOffsetUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verticalOffsetUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: '&horizontalUncertaintyType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalUncertaintyType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: '&horizontalUncertaintyUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalUncertaintyUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: '&verticalUncertaintyType() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verticalUncertaintyType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: '&verticalUncertaintyUnit() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verticalUncertaintyUnit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: '&horizontalOffsetMethod() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &horizontalOffsetMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: '&extent() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpatialExtent
    signature: SpatialExtent &extent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: '&timeExtent() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TimeExtent
    signature: TimeExtent &timeExtent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: '&components() const'
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Component>
    signature: std::vector<Component> &components() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: DEFORMATON_MODEL_NAMESPACE::MasterFile::MasterFile
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MasterFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 1
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatOffset(int /*ix*/, int /*iy*/, double & /*longOffsetRadian*/,\n
      \                         double & /*latOffsetRadian*/) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: DEFORMATON_MODEL_NAMESPACE::getZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 2
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: bool getZOffset(int /*ix*/, int /*iy*/, double & /*zOffset*/) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 1
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingOffset(int /*ix*/, int /*iy*/,\n                                  double
      & /*eastingOffset*/,\n                                  double & /*northingOffset*/)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:501,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:503,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getZOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 506
    functionName: DEFORMATON_MODEL_NAMESPACE::getLongLatZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getZOffset
    - UnimplementedException
    - DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
    linkageType: ''
    returnType: bool
    signature: "bool getLongLatZOffset(int /*ix*/, int /*iy*/,\n                           double
      & /*longOffsetRadian*/,\n                           double & /*latOffsetRadian*/,\n
      \                          double & /*zOffset*/) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:513,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:515,1
    - Dst: DEFORMATON_MODEL_NAMESPACE::getZOffset
      Src: /src/PROJ/src/transformations/defmodel.hpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: DEFORMATON_MODEL_NAMESPACE::getEastingNorthingZOffset
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::getZOffset
    - DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: "bool getEastingNorthingZOffset(int /*ix*/, int /*iy*/,\n                                   double
      & /*eastingOffset*/,\n                                   double & /*northingOffset*/,\n
      \                                  double & /*zOffset*/) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: DEFORMATON_MODEL_NAMESPACE::name
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: DEFORMATON_MODEL_NAMESPACE::gridAt
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: Grid
    signature: Grid *gridAt(double /*x */, double /* y */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 550
    functionName: DEFORMATON_MODEL_NAMESPACE::open
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: std::unique_ptr<GridSet>
    signature: std::unique_ptr<GridSet> open(const std::string & /* filename*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: DEFORMATON_MODEL_NAMESPACE::geographicToGeocentric
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: void
    signature: "void geographicToGeocentric(double /* lam */, double /* phi */,\n
      \                               double /* height*/, double /* a */,\n                                double
      /* b */, double /*es*/, double & /* X */,\n                                double
      & /* Y */, double & /* Z */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: DEFORMATON_MODEL_NAMESPACE::geocentricToGeographic
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: void
    signature: "void geocentricToGeographic(double /* X */, double /* Y */, double
      /* Z */,\n                                double /* a */, double /* b */, double
      /*es*/,\n                                double & /* lam */, double & /* phi
      */,\n                                double & /* height*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: DEFORMATON_MODEL_NAMESPACE::isGeographicCRS
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS(const std::string & /* crsDef */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnimplementedException
      Src: /src/PROJ/src/transformations/defmodel.hpp:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: DEFORMATON_MODEL_NAMESPACE::log
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached:
    - UnimplementedException
    linkageType: ''
    returnType: void
    signature: void log(const std::string & /* msg */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
      Src: /src/PROJ/src/transformations/defmodel.hpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - iface
    - x
    - y
    - z
    - t
    - x_out
    - y_out
    - z_out
    argTypes:
    - EvaluatorIface
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 2
    functionsReached:
    - DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
    linkageType: ''
    returnType: bool
    signature: "bool forward(EvaluatorIface &iface, double x, double y, double z,
      double t,\n                 double &x_out, double &y_out, double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 614
    functionName: DEFORMATON_MODEL_NAMESPACE::Evaluator::isGeographicCRS
    functionSourceFile: /src/PROJ/src/transformations/defmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeographicCRS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: TINShiftGeopackageException::what
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char *TINShiftGeopackageException::what() const noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<TINShiftGeopackageFile>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:48,1
    - Dst: TINShiftGeopackageFile::TINShiftGeopackageFile
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:48,1
    - Dst: internal::starts_with
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:49,1
    - Dst: internal::starts_with
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:50,1
    - Dst: SQLite3VFS::createNetwork
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:51,1
    - Dst: sqlite3_open_v2
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:55,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:55,1
    - Dst: auto::sqlite_vfs_::name
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:58,1
    - Dst: pj_get_embedded_resource
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:66,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:66,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:68,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:68,1
    - Dst: SQLite3VFS::createMem
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:74,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:76,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:76,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:85,1
    - Dst: auto::sqlite_vfs_::name
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:91,1
    - Dst: std::ostringstream::str
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:92,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:98,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:99,1
    - Dst: auto::getMetadata
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:105,1
    - Dst: auto::prepareDatabaseQuery
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - PJ_CONTEXT*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 109
    functionName: TINShiftGeopackageFile::open
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - auto::sqlite_vfs_::name
    - std::string::c_str
    - TINShiftGeopackageFile::TINShiftGeopackageFile
    - TINShiftGeopackageException
    - auto::getMetadata
    - pj_get_embedded_resource
    - reinterpret_cast<uintptr_t>
    - auto::prepareDatabaseQuery
    - SQLite3VFS::createNetwork
    - internal::starts_with
    - std::ostringstream::str
    - std::string
    - sqlite3_open_v2
    - std::unique_ptr<TINShiftGeopackageFile>
    - SQLite3VFS::createMem
    linkageType: ''
    returnType: std::unique_ptr<TINShiftGeopackageFile>
    signature: std::unique_ptr<TINShiftGeopackageFile> TINShiftGeopackageFile::open(PJ_CONTEXT
      *ctx, const std::string &filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_finalize
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:115,1
    - Dst: sqlite3_close
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: TINShiftGeopackageFile::~TINShiftGeopackageFile()
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - sqlite3_finalize
    linkageType: ''
    returnType: void
    signature: void TINShiftGeopackageFile::~TINShiftGeopackageFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:125,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:127,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:129,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:129,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:133,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:134,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:134,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: getString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 28
    functionsReached:
    - json::get
    - TINShiftGeopackageException
    - json::is_string
    - json::contains
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getString(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getString
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: getReqString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 8
    functionsReached:
    - getString
    linkageType: ''
    returnType: std::string
    signature: std::string getReqString(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:145,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:146,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:146,1
    - Dst: json::is_number
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:151,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:152,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:152,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: getReqDouble
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 2
    functionsReached:
    - json::get
    - TINShiftGeopackageException
    - json::contains
    - std::string
    - json::is_number
    linkageType: ''
    returnType: double
    signature: double getReqDouble(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:159,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:160,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:160,1
    - Dst: json::is_number
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:165,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:166,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:166,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: getReqInt
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - json::get
    - TINShiftGeopackageException
    - json::contains
    - std::string
    - json::is_number
    linkageType: ''
    returnType: int
    signature: int getReqInt(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:175,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:176,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:176,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:180,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:181,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: getArrayMember
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 8
    functionsReached:
    - std::string
    - json::is_array
    - TINShiftGeopackageException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getArrayMember(const json &j, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:125,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:127,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:129,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:129,1
    - Dst: json::is_string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:133,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:134,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:134,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j
    - key
    - optional
    argTypes:
    - json
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: getString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 29
    functionsReached:
    - json::get
    - TINShiftGeopackageException
    - json::is_string
    - json::contains
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getString(const json &j, const char *key, bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getString
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: getReqString
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 8
    functionsReached:
    - getString
    linkageType: ''
    returnType: std::string
    signature: std::string getReqString(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:145,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:146,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:146,1
    - Dst: json::is_number
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:151,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:152,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:152,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: getReqDouble
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 2
    functionsReached:
    - json::get
    - TINShiftGeopackageException
    - json::contains
    - std::string
    - json::is_number
    linkageType: ''
    returnType: double
    signature: double getReqDouble(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:159,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:160,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:160,1
    - Dst: json::is_number
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:165,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:166,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:166,1
    - Dst: json::get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: getReqInt
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - json::get
    - TINShiftGeopackageException
    - json::contains
    - std::string
    - json::is_number
    linkageType: ''
    returnType: int
    signature: int getReqInt(const json &j, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:175,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:176,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:176,1
    - Dst: json::is_array
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:180,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:181,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - j
    - key
    argTypes:
    - json
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: getArrayMember
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 8
    functionsReached:
    - std::string
    - json::is_array
    - TINShiftGeopackageException
    - json::contains
    linkageType: ''
    returnType: json
    signature: json getArrayMember(const json &j, const char *key)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_get_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:197,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:202,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:203,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:204,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:205,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:209,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:210,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:214,1
    - Dst: yyparse
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:219,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:221,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:222,1
    - Dst: what
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:222,1
    - Dst: json::is_object
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:224,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:225,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:228,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:229,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:232,1
    - Dst: internal::starts_with
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:233,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:234,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:234,1
    - Dst: getArrayMember
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:240,1
    - Dst: is_string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:242,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:243,1
    - Dst: get
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:246,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:252,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:258,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:259,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:260,1
    - Dst: getReqDouble
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:261,1
    - Dst: json::contains
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:264,1
    - Dst: getReqString
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:265,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:273,1
    - Dst: getReqInt
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:278,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:280,1
    - Dst: sqlite3_get_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:289,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:294,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:295,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:296,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:298,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:303,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:304,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:307,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:308,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:309,1
    - Dst: c_locale_stod
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:310,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:311,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:313,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 317
    functionName: TINShiftGeopackageFile::getMetadata
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_get_table
    - getArrayMember
    - TINShiftGeopackageException
    - get
    - getReqInt
    - json::contains
    - sqlite3_free
    - yyparse
    - getReqDouble
    - c_locale_stod
    - internal::starts_with
    - getReqString
    - std::string
    - json::is_object
    - what
    - is_string
    - sqlite3_free_table
    linkageType: ''
    returnType: void
    signature: void TINShiftGeopackageFile::getMetadata()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_get_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:328,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:331,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:332,1
    - Dst: std::string
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:333,1
    - Dst: sqlite3_free
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:335,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:339,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:340,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:345,1
    - Dst: strcmp
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:346,1
    - Dst: push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:358,1
    - Dst: std::move
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:358,1
    - Dst: sqlite3_free_table
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:361,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:365,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:368,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:371,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:376,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:377,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:381,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:382,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:384,1
    - Dst: sqlite3_prepare_v2
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:414,1
    - Dst: std::string::c_str
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:414,1
    - Dst: TINShiftGeopackageException
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:416,1
    - Dst: sqlite3_errmsg
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:416,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 418
    functionName: TINShiftGeopackageFile::prepareDatabaseQuery
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - sqlite3_get_table
    - std::string::c_str
    - TINShiftGeopackageException
    - sqlite3_errmsg
    - strcmp
    - sqlite3_free
    - std::move
    - std::vector::push_back
    - sqlite3_prepare_v2
    - push_back
    - std::string
    - sqlite3_free_table
    linkageType: ''
    returnType: void
    signature: void TINShiftGeopackageFile::prepareDatabaseQuery()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dataIn
    - word_size
    - word_count
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: swap_words
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 14
    functionsReached:
    - static_cast<unsigned char *>
    linkageType: ''
    returnType: void
    signature: void swap_words(void *dataIn, size_t word_size, size_t word_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: sqr
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sqr(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:454,1
    - Dst: sqr
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: squared_distance
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 4
    functionsReached:
    - sqr
    linkageType: ''
    returnType: double
    signature: "double squared_distance(double x1, double y1, double x2,\n                                      double
      y2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:463,1
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:467,1
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - x
    - y
    - x1
    - y1
    - x2
    - y2
    - dist12
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: sq_distance_point_segment
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - squared_distance
    linkageType: ''
    returnType: double
    signature: "double sq_distance_point_segment(double x, double y, double x1,\n
      \                                       double y1, double x2, double y2,\n                                        double
      dist12)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:492,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:513,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:514,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:515,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:516,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:517,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:518,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:521,1
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:522,1
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:523,1
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:524,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:528,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:529,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:531,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:532,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:534,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:535,1
    - Dst: swap_words
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:539,1
    - Dst: data
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:539,1
    - Dst: size
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:539,1
    - Dst: swap_words
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:540,1
    - Dst: data
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:540,1
    - Dst: size
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:540,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:543,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:544,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:545,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:546,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:547,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:548,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:561,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:561,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:563,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:563,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:566,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:566,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:568,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:568,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:571,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:571,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:573,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:573,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:581,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:582,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:584,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:585,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:588,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:589,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:591,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:592,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:595,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:596,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:598,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:599,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:602,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:603,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:604,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:605,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:606,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:607,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:616,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:617,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:619,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:620,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:622,1
    - Dst: sqlite3_column_blob
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:623,1
    - Dst: static_cast<int>
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:627,1
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:628,1
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:630,1
    - Dst: sqlite3_column_bytes
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:632,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:637,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:639,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:642,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:644,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:647,1
    - Dst: memcpy
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:649,1
    - Dst: swap_words
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:654,1
    - Dst: swap_words
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:655,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:659,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:661,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:664,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:666,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:669,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:671,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:679,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:680,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:682,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:683,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:686,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:687,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:689,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:690,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:693,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:694,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:696,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:697,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:700,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:701,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:702,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:703,1
    - Dst: std::vector<double>::push_back
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:704,1
    - Dst: sqlite3_column_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:705,1
    - Dst: empty
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:714,1
    - Dst: computeLambdas
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:715,1
    - Dst: sqlite3_reset
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:725,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:727,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:728,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:729,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:730,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:734,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:735,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:736,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:737,1
    - Dst: sqlite3_step
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:741,1
    - Dst: getXY
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:743,1
    - Dst: computeLambdas
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:746,1
    - Dst: collectValsVertex
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:747,1
    - Dst: clamp
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:764,1
    - Dst: clamp
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:767,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:770,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:771,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:779,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:781,1
    - Dst: sqlite3_reset
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:783,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:784,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:785,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:786,1
    - Dst: sqlite3_bind_double
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:787,1
    - Dst: sqlite3_step
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:790,1
    - Dst: getXY
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:792,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:798,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:798,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:799,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:799,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:800,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:800,1
    - Dst: std::max
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:801,1
    - Dst: std::min
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:801,1
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:804,1
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:805,1
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:806,1
    - Dst: sq_distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:817,1
    - Dst: sq_distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:823,1
    - Dst: sq_distance_point_segment
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:829,1
    - Dst: assert
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:836,1
    - Dst: squared_distance
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:839,1
    - Dst: sqrt
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:846,1
    - Dst: std::vector<double>::clear
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:849,1
    - Dst: std::vector<double>::clear
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:850,1
    - Dst: std::vector<double>::clear
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:851,1
    - Dst: collectValsVertex
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:852,1
    - Dst: std::isinf
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:857,1
    - Dst: std::isinf
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:864,1
    - Dst: computeLambdas
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:870,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 191
    argCount: 9
    argNames:
    - x
    - y
    - forwardDirection
    - lambda1
    - lambda2
    - lambda3
    - valsVertex1
    - valsVertex2
    - valsVertex3
    argTypes:
    - double
    - double
    - bool
    - double
    - double
    - double
    - std::vector<double>
    - std::vector<double>
    - std::vector<double>
    assertStmts:
    - condition: (fallbackStrategy_ == FALLBACK_NEAREST_CENTROID)
      pos:
        line_end: 835
        line_start: 835
        source_file: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    constantsTouched: []
    func_position:
      end: 872
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 872
    functionName: TINShiftGeopackageFile::findTriangle
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const unsigned char *>
    - sqlite3_reset
    - std::fabs
    - std::isinf
    - memcpy
    - sqlite3_column_double
    - getXY
    - assert
    - sq_distance_point_segment
    - sqlite3_column_bytes
    - size
    - sqrt
    - computeLambdas
    - static_cast<int>
    - sqlite3_bind_double
    - sqlite3_step
    - clamp
    - std::min
    - swap_words
    - sqlite3_column_blob
    - data
    - std::vector<double>::clear
    - std::vector<double>::push_back
    - squared_distance
    - collectValsVertex
    - empty
    - std::numeric_limits<double>::infinity
    - std::max
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftGeopackageFile::findTriangle(\n    double x, double y,
      bool forwardDirection, double &lambda1, double &lambda2,\n    double &lambda3,
      std::vector<double> &valsVertex1,\n    std::vector<double> &valsVertex2, std::vector<double>
      &valsVertex3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileIn
    argTypes:
    - std::unique_ptr<TINShiftGeopackageFile>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 878
    functionName: TINShiftGeopackageEvaluator::TINShiftGeopackageEvaluator
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TINShiftGeopackageEvaluator::TINShiftGeopackageEvaluator(\n    std::unique_ptr<TINShiftGeopackageFile>
      fileIn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: findTriangle
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:891,1
    - Dst: hasHorizontalTransformation
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:899,1
    - Dst: hasVerticalTransformation
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:905,1
    - Dst: hasHorizontalTransformation
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:906,1
    - Dst: hasOffsetZ
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - forwardDirection
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - bool
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 925
    functionName: TINShiftGeopackageEvaluator::transform
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - hasHorizontalTransformation
    - hasVerticalTransformation
    - hasOffsetZ
    - findTriangle
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftGeopackageEvaluator::transform(bool forwardDirection,
      double x,\n                                            double y, double z, double
      &x_out,\n                                            double &y_out, double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINShiftGeopackageEvaluator::transform
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: TINShiftGeopackageEvaluator::forward
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - TINShiftGeopackageEvaluator::transform
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftGeopackageEvaluator::forward(double x, double y, double
      z,\n                                          double &x_out, double &y_out,\n
      \                                         double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINShiftGeopackageEvaluator::transform
      Src: /src/PROJ/src/transformations/tinshift_gpkg.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x
    - y
    - z
    - x_out
    - y_out
    - z_out
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 943
    functionName: TINShiftGeopackageEvaluator::inverse
    functionSourceFile: /src/PROJ/src/transformations/tinshift_gpkg.cpp
    functionUses: 0
    functionsReached:
    - TINShiftGeopackageEvaluator::transform
    linkageType: ''
    returnType: bool
    signature: "bool TINShiftGeopackageEvaluator::inverse(double x, double y, double
      z,\n                                          double &x_out, double &y_out,\n
      \                                         double &z_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - WKTFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: WKTFormatter
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFormatter(const WKTFormatter &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - PROJStringFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 516
    functionName: PROJStringFormatter
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PROJStringFormatter(const PROJStringFormatter &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: ObjectContext
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectContext(const ObjectContext &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: ObjectContext
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectContext(ObjectContext &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjectContext
      Src: /src/PROJ/include/proj/io.hpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - objectType
    - hasId
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: ObjectContext::MakeObjectContext
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached:
    - ObjectContext
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: "PROJ_INTERNAL ObjectContext MakeObjectContext(const char *objectType,\n
      \                                                        bool hasId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - JSONFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: JSONFormatter
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSONFormatter(const JSONFormatter &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 627
    functionName: IJSONExportable
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL IJSONExportable
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: util::Exception
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::Exception
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: util::Exception
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::Exception
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 680
    functionName: IWKTExportable
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL IWKTExportable
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 746
    functionName: IPROJStringExportable
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL IPROJStringExportable
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/include/proj/io.hpp:883,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/include/proj/io.hpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 997
    functionName: DatabaseContext
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 4
    functionsReached:
    - std::string
    - std::vector<std::string>
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL DatabaseContext
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/include/proj/io.hpp:1041,1
    - Dst: getAuthority
      Src: /src/PROJ/include/proj/io.hpp:1097,1
    - Dst: std::vector<std::string>
      Src: /src/PROJ/include/proj/io.hpp:1269,1
    - Dst: std::vector<ObjectType>
      Src: /src/PROJ/include/proj/io.hpp:1283,1
    - Dst: std::vector<ObjectType>
      Src: /src/PROJ/include/proj/io.hpp:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1386
    functionName: AuthorityFactory
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 32
    functionsReached:
    - std::string
    - std::vector<ObjectType>
    - getAuthority
    - std::vector<std::string>
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL AuthorityFactory
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1402
    functionName: util::Exception
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::Exception
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1427
    functionName: NoSuchAuthorityCodeException
    functionSourceFile: /src/PROJ/include/proj/io.hpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL NoSuchAuthorityCodeException
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateMetadata
      Src: /src/PROJ/include/proj/coordinates.hpp:66,1
    - Dst: crs
      Src: /src/PROJ/include/proj/coordinates.hpp:69,1
    - Dst: coordinateEpoch
      Src: /src/PROJ/include/proj/coordinates.hpp:71,1
    - Dst: coordinateEpochAsDecimalYear
      Src: /src/PROJ/include/proj/coordinates.hpp:72,1
    - Dst: create
      Src: /src/PROJ/include/proj/coordinates.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 107
    functionName: coordinates
    functionSourceFile: /src/PROJ/include/proj/coordinates.hpp
    functionUses: 0
    functionsReached:
    - coordinateEpochAsDecimalYear
    - crs
    - create
    - CoordinateMetadata
    - coordinateEpoch
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START coordinates
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRS
      Src: /src/PROJ/include/proj/crs.hpp:94,1
    - Dst: extractGeodeticCRS
      Src: /src/PROJ/include/proj/crs.hpp:100,1
    - Dst: extractGeographicCRS
      Src: /src/PROJ/include/proj/crs.hpp:101,1
    - Dst: extractVerticalCRS
      Src: /src/PROJ/include/proj/crs.hpp:102,1
    - Dst: createBoundCRSToWGS84IfPossible
      Src: /src/PROJ/include/proj/crs.hpp:103,1
    - Dst: stripVerticalComponent
      Src: /src/PROJ/include/proj/crs.hpp:107,1
    - Dst: canonicalBoundCRS
      Src: /src/PROJ/include/proj/crs.hpp:109,1
    - Dst: identify
      Src: /src/PROJ/include/proj/crs.hpp:112,1
    - Dst: getNonDeprecated
      Src: /src/PROJ/include/proj/crs.hpp:115,1
    - Dst: promoteTo3D
      Src: /src/PROJ/include/proj/crs.hpp:118,1
    - Dst: demoteTo2D
      Src: /src/PROJ/include/proj/crs.hpp:121,1
    - Dst: extractGeodeticCRSRaw
      Src: /src/PROJ/include/proj/crs.hpp:127,1
    - Dst: getExtensionProj4
      Src: /src/PROJ/include/proj/crs.hpp:136,1
    - Dst: alterGeodeticCRS
      Src: /src/PROJ/include/proj/crs.hpp:139,1
    - Dst: alterCSLinearUnit
      Src: /src/PROJ/include/proj/crs.hpp:142,1
    - Dst: mustAxisOrderBeSwitchedForVisualization
      Src: /src/PROJ/include/proj/crs.hpp:144,1
    - Dst: applyAxisOrderReversal
      Src: /src/PROJ/include/proj/crs.hpp:146,1
    - Dst: normalizeForVisualization
      Src: /src/PROJ/include/proj/crs.hpp:148,1
    - Dst: allowNonConformantWKT1Export
      Src: /src/PROJ/include/proj/crs.hpp:150,1
    - Dst: attachOriginalCompoundCRS
      Src: /src/PROJ/include/proj/crs.hpp:153,1
    - Dst: promoteTo3D
      Src: /src/PROJ/include/proj/crs.hpp:155,1
    - Dst: hasImplicitCS
      Src: /src/PROJ/include/proj/crs.hpp:160,1
    - Dst: hasOver
      Src: /src/PROJ/include/proj/crs.hpp:162,1
    - Dst: getResolvedCRS
      Src: /src/PROJ/include/proj/crs.hpp:165,1
    - Dst: datum
      Src: /src/PROJ/include/proj/crs.hpp:206,1
    - Dst: datumEnsemble
      Src: /src/PROJ/include/proj/crs.hpp:207,1
    - Dst: coordinateSystem
      Src: /src/PROJ/include/proj/crs.hpp:208,1
    - Dst: GeodeticCRS
      Src: /src/PROJ/include/proj/crs.hpp:263,1
    - Dst: datum
      Src: /src/PROJ/include/proj/crs.hpp:266,1
    - Dst: primeMeridian
      Src: /src/PROJ/include/proj/crs.hpp:268,1
    - Dst: ellipsoid
      Src: /src/PROJ/include/proj/crs.hpp:269,1
    - Dst: velocityModel
      Src: /src/PROJ/include/proj/crs.hpp:275,1
    - Dst: isGeocentric
      Src: /src/PROJ/include/proj/crs.hpp:279,1
    - Dst: isSphericalPlanetocentric
      Src: /src/PROJ/include/proj/crs.hpp:281,1
    - Dst: create
      Src: /src/PROJ/include/proj/crs.hpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 377
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached:
    - extractGeodeticCRSRaw
    - createBoundCRSToWGS84IfPossible
    - normalizeForVisualization
    - hasOver
    - canonicalBoundCRS
    - velocityModel
    - extractVerticalCRS
    - coordinateSystem
    - datumEnsemble
    - getResolvedCRS
    - identify
    - stripVerticalComponent
    - create
    - mustAxisOrderBeSwitchedForVisualization
    - demoteTo2D
    - getNonDeprecated
    - isGeocentric
    - alterGeodeticCRS
    - alterCSLinearUnit
    - isSphericalPlanetocentric
    - extractGeographicCRS
    - CRS
    - ellipsoid
    - promoteTo3D
    - primeMeridian
    - allowNonConformantWKT1Export
    - getExtensionProj4
    - GeodeticCRS
    - extractGeodeticCRS
    - attachOriginalCompoundCRS
    - hasImplicitCS
    - datum
    - applyAxisOrderReversal
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: datum
      Src: /src/PROJ/include/proj/crs.hpp:206,1
    - Dst: datumEnsemble
      Src: /src/PROJ/include/proj/crs.hpp:207,1
    - Dst: coordinateSystem
      Src: /src/PROJ/include/proj/crs.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: SingleCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached:
    - datum
    - coordinateSystem
    - datumEnsemble
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL SingleCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordinateSystem
      Src: /src/PROJ/include/proj/crs.hpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 463
    functionName: GeographicCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 39
    functionsReached:
    - coordinateSystem
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL GeographicCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: baseCRS
      Src: /src/PROJ/include/proj/crs.hpp:574,1
    - Dst: derivingConversionRef
      Src: /src/PROJ/include/proj/crs.hpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 614
    functionName: SingleCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached:
    - derivingConversionRef
    - baseCRS
    linkageType: ''
    returnType: public
    signature: public SingleCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionName: className
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL *className() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 772
    functionName: SingleCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: public
    signature: public SingleCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 834
    functionName: SingleCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: public
    signature: public SingleCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 895
    functionName: SingleCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: public
    signature: public SingleCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: util::Exception
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::Exception
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRS::_exportToJSON
      Src: /src/PROJ/include/proj/crs.hpp:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: _exportToJSON
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 32
    functionsReached:
    - DerivedCRS::_exportToJSON
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL _exportToJSON(io::JSONFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1163
    functionName: className
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL *className() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRS::_exportToJSON
      Src: /src/PROJ/include/proj/crs.hpp:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1215
    functionName: _exportToJSON
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 33
    functionsReached:
    - DerivedCRS::_exportToJSON
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL _exportToJSON(io::JSONFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1239
    functionName: className
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL *className() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1319
    functionName: DerivedProjectedCRS
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL DerivedProjectedCRS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1312
    functionName: className
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL *className() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRS::_exportToJSON
      Src: /src/PROJ/include/proj/crs.hpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1357
    functionName: _exportToJSON
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 34
    functionsReached:
    - DerivedCRS::_exportToJSON
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL _exportToJSON(io::JSONFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1381
    functionName: className
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL *className() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DerivedCRS::_exportToJSON
      Src: /src/PROJ/include/proj/crs.hpp:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - formatter
    argTypes:
    - io::JSONFormatter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1449
    functionName: _exportToJSON
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 35
    functionsReached:
    - DerivedCRS::_exportToJSON
    linkageType: ''
    returnType: PROJ_INTERNAL
    signature: PROJ_INTERNAL _exportToJSON(io::JSONFormatter *formatter) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1491
    functionName: DerivedEngineeringCRSTraits
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROJ_GCC_DLL
    signature: struct PROJ_GCC_DLL DerivedEngineeringCRSTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1529
    functionName: DerivedParametricCRSTraits
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROJ_GCC_DLL
    signature: struct PROJ_GCC_DLL DerivedParametricCRSTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1566
    functionName: DerivedTemporalCRSTraits
    functionSourceFile: /src/PROJ/include/proj/crs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROJ_GCC_DLL
    signature: struct PROJ_GCC_DLL DerivedTemporalCRSTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: PROJ_FRIEND
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_FRIEND(mytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: PROJ_FRIEND_OPTIONAL
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJ_FRIEND_OPTIONAL(mytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: NN_NO_CHECK
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 344
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_NO_CHECK(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/PROJ/include/proj/util.hpp:236,1
    - Dst: typeid
      Src: /src/PROJ/include/proj/util.hpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - ObjectT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: isOfExactType
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: bool
    signature: bool isOfExactType(const ObjectT &o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: optional::optional
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void optional()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: optional::optional
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void optional(const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/util.hpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: optional::optional
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 9
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void optional(T &&val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: optional::optional
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void optional(const optional &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/util.hpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - optional
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: optional::optional
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 9
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void optional(optional &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: '&operator=(const T &val)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional
    signature: optional &operator=(const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/util.hpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: '&operator=(T &&val) noexcept'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: optional
    signature: optional &operator=(T &&val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: '&operator=(const optional &)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: optional
    signature: optional &operator=(const optional &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/util.hpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - optional
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: '&operator=(optional &&other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: optional
    signature: optional &operator=(optional &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '*operator->()'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '&operator*()'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: '*operator->() const'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: '&operator*() const'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: operator bool() const noexcept
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: optional::has_value
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - util::nn<std::shared_ptr<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: BaseObjectNNPtr
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseObjectNNPtr(const util::nn<std::shared_ptr<T>> &x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NN_NO_CHECK
      Src: /src/PROJ/include/proj/util.hpp:317,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/util.hpp:317,1
    - Dst: util::nn<std::shared_ptr<T>>::as_nullable
      Src: /src/PROJ/include/proj/util.hpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - util::nn<std::shared_ptr<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: BaseObjectNNPtr
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached:
    - util::nn<std::shared_ptr<T>>::as_nullable
    - std::move
    - NN_NO_CHECK
    linkageType: ''
    returnType: void
    signature: void BaseObjectNNPtr(util::nn<std::shared_ptr<T>> &&x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/util.hpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - BaseObjectPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: BaseObjectNNPtr
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BaseObjectNNPtr(::dropbox::oxygen::i_promise_i_checked_for_null_t,\n
      \                            BaseObjectPtr &&arg) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: BaseObjectNNPtr
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseObjectNNPtr(const BaseObjectNNPtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: '&operator=(const BaseObjectNNPtr &)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseObjectNNPtr
    signature: BaseObjectNNPtr &operator=(const BaseObjectNNPtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringValue
      Src: /src/PROJ/include/proj/util.hpp:438,1
    - Dst: ArrayOfBaseObject
      Src: /src/PROJ/include/proj/util.hpp:488,1
    - Dst: set
      Src: /src/PROJ/include/proj/util.hpp:511,1
    - Dst: BaseObjectNNPtr
      Src: /src/PROJ/include/proj/util.hpp:512,1
    - Dst: BaseObjectPtr
      Src: /src/PROJ/include/proj/util.hpp:513,1
    - Dst: as_nullable
      Src: /src/PROJ/include/proj/util.hpp:513,1
    - Dst: get
      Src: /src/PROJ/include/proj/util.hpp:513,1
    - Dst: toString
      Src: /src/PROJ/include/proj/util.hpp:588,1
    - Dst: toString
      Src: /src/PROJ/include/proj/util.hpp:657,1
    - Dst: toString
      Src: /src/PROJ/include/proj/util.hpp:708,1
    - Dst: Exception
      Src: /src/PROJ/include/proj/util.hpp:736,1
    - Dst: InvalidValueTypeException
      Src: /src/PROJ/include/proj/util.hpp:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 777
    functionName: BaseObject
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 1
    functionsReached:
    - stringValue
    - get
    - toString
    - set
    - InvalidValueTypeException
    - BaseObjectNNPtr
    - BaseObjectPtr
    - as_nullable
    - Exception
    - ArrayOfBaseObject
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL BaseObject
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 400
    functionName: IComparable
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL IComparable
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: '&operator=(const BoxedValue &)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_OPAQUE_PRIVATE_DATA
    signature: PROJ_OPAQUE_PRIVATE_DATA &operator=(const BoxedValue &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - ArrayOfBaseObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: '&operator=(const ArrayOfBaseObject &other)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArrayOfBaseObject
    signature: ArrayOfBaseObject &operator=(const ArrayOfBaseObject &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOfBaseObject::PropertyMap::set
      Src: /src/PROJ/include/proj/util.hpp:511,1
    - Dst: BaseObjectNNPtr
      Src: /src/PROJ/include/proj/util.hpp:512,1
    - Dst: BaseObjectPtr
      Src: /src/PROJ/include/proj/util.hpp:513,1
    - Dst: nn_shared_ptr<T>::as_nullable
      Src: /src/PROJ/include/proj/util.hpp:513,1
    - Dst: nn_shared_ptr<T>::get
      Src: /src/PROJ/include/proj/util.hpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - std::string
    - nn_shared_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: ArrayOfBaseObject::PropertyMap::set
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 1
    functionsReached:
    - nn_shared_ptr<T>::get
    - nn_shared_ptr<T>::as_nullable
    - ArrayOfBaseObject::PropertyMap::set
    - BaseObjectNNPtr
    - BaseObjectPtr
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap &set(const std::string &key,\n                            const
      nn_shared_ptr<T> &val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: '&operator=(const PropertyMap &)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap &operator=(const PropertyMap &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 585
    functionName: ArrayOfBaseObject::PropertyMap::GenericName::scope
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: ArrayOfBaseObject::PropertyMap::GenericName::toFullyQualifiedName
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void toFullyQualifiedName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - GenericName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: '&operator=(const GenericName &other)'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_OPAQUE_PRIVATE_DATA
    signature: PROJ_OPAQUE_PRIVATE_DATA &operator=(const GenericName &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: '&toString() PROJ_PURE_DECL'
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &toString() PROJ_PURE_DECL
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PROJ/include/proj/util.hpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 708
    functionName: operator std::string()
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: void
    signature: void operator std::string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - CodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    functionName: operator==(const CodeList &other)
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CodeList &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - CodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: operator!=(const CodeList &other)
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CodeList &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - nameIn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: ArrayOfBaseObject::PropertyMap::CodeList::CodeList
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeList(const std::string &nameIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: ArrayOfBaseObject::PropertyMap::CodeList::CodeList
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeList(const CodeList &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: UnsupportedOperationException
    functionSourceFile: /src/PROJ/include/proj/util.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL UnsupportedOperationException
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/metadata.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_FRIEND_OPTIONAL
      Src: /src/PROJ/include/proj/metadata.hpp:76,1
    - Dst: GeographicExtent
      Src: /src/PROJ/include/proj/metadata.hpp:101,1
    - Dst: contains
      Src: /src/PROJ/include/proj/metadata.hpp:117,1
    - Dst: TemporalExtent
      Src: /src/PROJ/include/proj/metadata.hpp:209,1
    - Dst: start
      Src: /src/PROJ/include/proj/metadata.hpp:212,1
    - Dst: stop
      Src: /src/PROJ/include/proj/metadata.hpp:213,1
    - Dst: create
      Src: /src/PROJ/include/proj/metadata.hpp:215,1
    - Dst: VerticalExtent
      Src: /src/PROJ/include/proj/metadata.hpp:257,1
    - Dst: unit
      Src: /src/PROJ/include/proj/metadata.hpp:262,1
    - Dst: create
      Src: /src/PROJ/include/proj/metadata.hpp:265,1
    - Dst: Extent
      Src: /src/PROJ/include/proj/metadata.hpp:306,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/include/proj/metadata.hpp:327,1
    - Dst: Identifier
      Src: /src/PROJ/include/proj/metadata.hpp:372,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/metadata.hpp:377,1
    - Dst: PropertyMap::PropertyMap
      Src: /src/PROJ/include/proj/metadata.hpp:379,1
    - Dst: code
      Src: /src/PROJ/include/proj/metadata.hpp:392,1
    - Dst: PROJ_FRIEND_OPTIONAL
      Src: /src/PROJ/include/proj/metadata.hpp:423,1
    - Dst: PROJ_FRIEND
      Src: /src/PROJ/include/proj/metadata.hpp:427,1
    - Dst: value
      Src: /src/PROJ/include/proj/metadata.hpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 470
    functionName: util::BaseObject
    functionSourceFile: /src/PROJ/include/proj/metadata.hpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - code
    - value
    - unit
    - GeographicExtent
    - TemporalExtent
    - PropertyMap::PropertyMap
    - create
    - Extent
    - stop
    - Identifier
    - start
    - std::string
    - contains
    - PROJ_FRIEND
    - VerticalExtent
    - PROJ_FRIEND_OPTIONAL
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::BaseObject
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemporalExtent
      Src: /src/PROJ/include/proj/metadata.hpp:209,1
    - Dst: start
      Src: /src/PROJ/include/proj/metadata.hpp:212,1
    - Dst: stop
      Src: /src/PROJ/include/proj/metadata.hpp:213,1
    - Dst: create
      Src: /src/PROJ/include/proj/metadata.hpp:215,1
    - Dst: VerticalExtent
      Src: /src/PROJ/include/proj/metadata.hpp:257,1
    - Dst: unit
      Src: /src/PROJ/include/proj/metadata.hpp:262,1
    - Dst: create
      Src: /src/PROJ/include/proj/metadata.hpp:265,1
    - Dst: Extent
      Src: /src/PROJ/include/proj/metadata.hpp:306,1
    - Dst: util::optional<std::string>
      Src: /src/PROJ/include/proj/metadata.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 352
    functionName: GeographicBoundingBox
    functionSourceFile: /src/PROJ/include/proj/metadata.hpp
    functionUses: 0
    functionsReached:
    - util::optional<std::string>
    - unit
    - TemporalExtent
    - create
    - stop
    - start
    - Extent
    - VerticalExtent
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL GeographicBoundingBox
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/metadata.hpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 468
    functionName: util::BaseObject
    functionSourceFile: /src/PROJ/include/proj/metadata.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::BaseObject
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Datum
      Src: /src/PROJ/include/proj/datum.hpp:68,1
    - Dst: anchorDefinition
      Src: /src/PROJ/include/proj/datum.hpp:71,1
    - Dst: anchorEpoch
      Src: /src/PROJ/include/proj/datum.hpp:72,1
    - Dst: publicationDate
      Src: /src/PROJ/include/proj/datum.hpp:73,1
    - Dst: conventionalRS
      Src: /src/PROJ/include/proj/datum.hpp:74,1
    - Dst: _isEquivalentTo
      Src: /src/PROJ/include/proj/datum.hpp:77,1
    - Dst: Datum
      Src: /src/PROJ/include/proj/datum.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 0
    functionsReached:
    - anchorEpoch
    - Datum
    - _isEquivalentTo
    - publicationDate
    - conventionalRS
    - anchorDefinition
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Datum
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Datum(const Datum &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: primeMeridian
      Src: /src/PROJ/include/proj/datum.hpp:412,1
    - Dst: ellipsoid
      Src: /src/PROJ/include/proj/datum.hpp:416,1
    - Dst: PrimeMeridian::PrimeMeridian
      Src: /src/PROJ/include/proj/datum.hpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 478
    functionName: GeodeticReferenceFrame
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 7
    functionsReached:
    - PrimeMeridian::PrimeMeridian
    - ellipsoid
    - primeMeridian
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL GeodeticReferenceFrame
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure::Measure
      Src: /src/PROJ/include/proj/datum.hpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 545
    functionName: DynamicGeodeticReferenceFrame
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 2
    functionsReached:
    - Measure::Measure
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL DynamicGeodeticReferenceFrame
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_FRIEND_OPTIONAL
      Src: /src/PROJ/include/proj/datum.hpp:561,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/datum.hpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: util::CodeList
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - PROJ_FRIEND_OPTIONAL
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::CodeList
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure::Measure
      Src: /src/PROJ/include/proj/datum.hpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 705
    functionName: DynamicVerticalReferenceFrame
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 2
    functionsReached:
    - Measure::Measure
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL DynamicVerticalReferenceFrame
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::optional<std::string>
      Src: /src/PROJ/include/proj/datum.hpp:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 859
    functionName: ParametricDatum
    functionSourceFile: /src/PROJ/include/proj/datum.hpp
    functionUses: 4
    functionsReached:
    - util::optional<std::string>
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL ParametricDatum
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: '&operator=(const Measure &)'
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_OPAQUE_PRIVATE_DATA
    signature: PROJ_OPAQUE_PRIVATE_DATA &operator=(const Measure &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure::value
      Src: /src/PROJ/include/proj/common.hpp:192,1
    - Dst: Measure::unit
      Src: /src/PROJ/include/proj/common.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Scale::Scale
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 22
    functionsReached:
    - Measure::unit
    - Measure::value
    linkageType: ''
    returnType: void
    signature: void Scale(const Measure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: '&operator=(const Scale &)'
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scale
    signature: Scale &operator=(const Scale &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure::value
      Src: /src/PROJ/include/proj/common.hpp:211,1
    - Dst: Measure::unit
      Src: /src/PROJ/include/proj/common.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Angle::Angle
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached:
    - Measure::unit
    - Measure::value
    linkageType: ''
    returnType: void
    signature: void Angle(const Measure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '&operator=(const Angle &)'
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Angle
    signature: Angle &operator=(const Angle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Measure::value
      Src: /src/PROJ/include/proj/common.hpp:231,1
    - Dst: Measure::unit
      Src: /src/PROJ/include/proj/common.hpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - Measure
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Length::Length
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached:
    - Measure::unit
    - Measure::value
    linkageType: ''
    returnType: void
    signature: void Length(const Measure &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: '&operator=(const Length &)'
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Length
    signature: Length &operator=(const Length &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - DataEpoch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: '&operator=(const DataEpoch &other)'
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DataEpoch
    signature: DataEpoch &operator=(const DataEpoch &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/PROJ/include/proj/common.hpp:319,1
    - Dst: nameStr
      Src: /src/PROJ/include/proj/common.hpp:320,1
    - Dst: remarks
      Src: /src/PROJ/include/proj/common.hpp:325,1
    - Dst: PROJ_FRIEND_OPTIONAL
      Src: /src/PROJ/include/proj/common.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 374
    functionName: ''
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 5412
    functionsReached:
    - name
    - remarks
    - PROJ_FRIEND_OPTIONAL
    - nameStr
    linkageType: ''
    returnType: io::IWKTExportable
    signature: 'io::IWKTExportable '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: domainOfValidity
      Src: /src/PROJ/include/proj/common.hpp:399,1
    - Dst: ObjectDomain
      Src: /src/PROJ/include/proj/common.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 433
    functionName: ''
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 5413
    functionsReached:
    - ObjectDomain
    - domainOfValidity
    linkageType: ''
    returnType: util::IComparable
    signature: 'util::IComparable '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - ObjectUsage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: '&operator=(const ObjectUsage &other)'
    functionSourceFile: /src/PROJ/include/proj/common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROJ_OPAQUE_PRIVATE_DATA
    signature: PROJ_OPAQUE_PRIVATE_DATA &operator=(const ObjectUsage &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator*() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type &operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '*operator->() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator const PtrType &() const &
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const PtrType &() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: operator PtrType &&() &&
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void operator PtrType &&() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&as_nullable() const &'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrType
    signature: PtrType &as_nullable() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '&&as_nullable() &&'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: PtrType
    signature: PtrType &&as_nullable() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '&operator=(std::nullptr_t)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '&operator=(PtrType)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, const PtrType &arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, PtrType &&arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ownership_ptr
    - target_ptr
    argTypes:
    - nn<OtherType>
    - nn<element_type *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &ownership_ptr, nn<element_type *> target_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropbox::oxygen::nn::get
      Src: /src/PROJ/include/proj/nn.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: dropbox::oxygen::nn::get
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 1
    functionsReached:
    - dropbox::oxygen::nn::get
    linkageType: ''
    returnType: element_type
    signature: element_type *get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: operator==(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: operator==(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: operator==(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: operator<(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: operator<(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: operator<(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - p
    argTypes:
    - std::ostream
    - nn<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '&operator<<(std::ostream &os, const nn<T> &p)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const nn<T> &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: NN_DERIVED_OPERATORS
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_DERIVED_OPERATORS(op, base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:269,1
    - Dst: std::unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: T::T
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: dropbox::oxygen::nn_make_unique
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<T>
    - T::T
    - std::forward<Args>
    - nn_unique_ptr<T>
    linkageType: ''
    returnType: nn_unique_ptr<T>
    signature: nn_unique_ptr<T> nn_make_unique(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:276,1
    - Dst: std::make_shared<T>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: dropbox::oxygen::nn_make_shared
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - nn_shared_ptr<T>
    - std::make_shared<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_make_shared(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:285,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_shared_from_this()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<const T>
      Src: /src/PROJ/include/proj/nn.hpp:289,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<const T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<const T>
    signature: nn_shared_ptr<const T> nn_shared_from_this() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<T *>
      Src: /src/PROJ/include/proj/nn.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<T *>
    linkageType: ''
    returnType: nn<T *>
    signature: nn<T *> nn_addr(T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<const T *>
      Src: /src/PROJ/include/proj/nn.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<const T *>
    linkageType: ''
    returnType: nn<const T *>
    signature: nn<const T *> nn_addr(const T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:311,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:312,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: dropbox::oxygen::nn_static_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - nn_shared_ptr<T>
    - static_cast<typename nn_shared_ptr<T>::element_type *>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_static_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<typename std::shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: std::shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: dropbox::oxygen::nn_dynamic_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::as_nullable
    - nn_shared_ptr<U>::get
    - dynamic_cast<typename std::shared_ptr<T>::element_type *>
    - std::shared_ptr<T>
    linkageType: ''
    returnType: std::shared_ptr<T>
    signature: std::shared_ptr<T> nn_dynamic_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:331,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:332,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: dropbox::oxygen::nn_const_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - const_cast<typename nn_shared_ptr<T>::element_type *>
    - nn_shared_ptr<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_const_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator*() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type &operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '*operator->() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator const PtrType &() const &
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const PtrType &() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: operator PtrType &&() &&
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void operator PtrType &&() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&as_nullable() const &'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrType
    signature: PtrType &as_nullable() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '&&as_nullable() &&'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: PtrType
    signature: PtrType &&as_nullable() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '&operator=(std::nullptr_t)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '&operator=(PtrType)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, const PtrType &arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, PtrType &&arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ownership_ptr
    - target_ptr
    argTypes:
    - nn<OtherType>
    - nn<element_type *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &ownership_ptr, nn<element_type *> target_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropbox::oxygen::nn::get
      Src: /src/PROJ/include/proj/nn.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: dropbox::oxygen::nn::get
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 2
    functionsReached:
    - dropbox::oxygen::nn::get
    linkageType: ''
    returnType: element_type
    signature: element_type *get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: operator==(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: operator==(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: operator==(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: operator<(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: operator<(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: operator<(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - p
    argTypes:
    - std::ostream
    - nn<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '&operator<<(std::ostream &os, const nn<T> &p)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const nn<T> &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: NN_DERIVED_OPERATORS
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_DERIVED_OPERATORS(op, base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:269,1
    - Dst: std::unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: T::T
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: dropbox::oxygen::nn_make_unique
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<T>
    - T::T
    - std::forward<Args>
    - nn_unique_ptr<T>
    linkageType: ''
    returnType: nn_unique_ptr<T>
    signature: nn_unique_ptr<T> nn_make_unique(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:276,1
    - Dst: std::make_shared<T>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: dropbox::oxygen::nn_make_shared
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - nn_shared_ptr<T>
    - std::make_shared<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_make_shared(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:285,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_shared_from_this()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<const T>
      Src: /src/PROJ/include/proj/nn.hpp:289,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<const T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<const T>
    signature: nn_shared_ptr<const T> nn_shared_from_this() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<T *>
      Src: /src/PROJ/include/proj/nn.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<T *>
    linkageType: ''
    returnType: nn<T *>
    signature: nn<T *> nn_addr(T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<const T *>
      Src: /src/PROJ/include/proj/nn.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<const T *>
    linkageType: ''
    returnType: nn<const T *>
    signature: nn<const T *> nn_addr(const T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:311,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:312,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: dropbox::oxygen::nn_static_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - nn_shared_ptr<T>
    - static_cast<typename nn_shared_ptr<T>::element_type *>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_static_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<typename std::shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: std::shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: dropbox::oxygen::nn_dynamic_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::as_nullable
    - nn_shared_ptr<U>::get
    - dynamic_cast<typename std::shared_ptr<T>::element_type *>
    - std::shared_ptr<T>
    linkageType: ''
    returnType: std::shared_ptr<T>
    signature: std::shared_ptr<T> nn_dynamic_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:331,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:332,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: dropbox::oxygen::nn_const_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - const_cast<typename nn_shared_ptr<T>::element_type *>
    - nn_shared_ptr<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_const_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator*() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type &operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '*operator->() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator const PtrType &() const &
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const PtrType &() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: operator PtrType &&() &&
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void operator PtrType &&() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&as_nullable() const &'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrType
    signature: PtrType &as_nullable() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '&&as_nullable() &&'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: PtrType
    signature: PtrType &&as_nullable() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '&operator=(std::nullptr_t)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '&operator=(PtrType)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, const PtrType &arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, PtrType &&arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ownership_ptr
    - target_ptr
    argTypes:
    - nn<OtherType>
    - nn<element_type *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &ownership_ptr, nn<element_type *> target_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropbox::oxygen::nn::get
      Src: /src/PROJ/include/proj/nn.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: dropbox::oxygen::nn::get
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 3
    functionsReached:
    - dropbox::oxygen::nn::get
    linkageType: ''
    returnType: element_type
    signature: element_type *get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: operator==(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: operator==(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: operator==(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: operator<(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: operator<(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: operator<(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - p
    argTypes:
    - std::ostream
    - nn<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '&operator<<(std::ostream &os, const nn<T> &p)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const nn<T> &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: NN_DERIVED_OPERATORS
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_DERIVED_OPERATORS(op, base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:269,1
    - Dst: std::unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: T::T
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: dropbox::oxygen::nn_make_unique
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<T>
    - T::T
    - std::forward<Args>
    - nn_unique_ptr<T>
    linkageType: ''
    returnType: nn_unique_ptr<T>
    signature: nn_unique_ptr<T> nn_make_unique(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:276,1
    - Dst: std::make_shared<T>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: dropbox::oxygen::nn_make_shared
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - nn_shared_ptr<T>
    - std::make_shared<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_make_shared(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:285,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_shared_from_this()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<const T>
      Src: /src/PROJ/include/proj/nn.hpp:289,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<const T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<const T>
    signature: nn_shared_ptr<const T> nn_shared_from_this() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<T *>
      Src: /src/PROJ/include/proj/nn.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<T *>
    linkageType: ''
    returnType: nn<T *>
    signature: nn<T *> nn_addr(T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<const T *>
      Src: /src/PROJ/include/proj/nn.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<const T *>
    linkageType: ''
    returnType: nn<const T *>
    signature: nn<const T *> nn_addr(const T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:311,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:312,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: dropbox::oxygen::nn_static_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - nn_shared_ptr<T>
    - static_cast<typename nn_shared_ptr<T>::element_type *>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_static_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<typename std::shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: std::shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: dropbox::oxygen::nn_dynamic_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::as_nullable
    - nn_shared_ptr<U>::get
    - dynamic_cast<typename std::shared_ptr<T>::element_type *>
    - std::shared_ptr<T>
    linkageType: ''
    returnType: std::shared_ptr<T>
    signature: std::shared_ptr<T> nn_dynamic_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:331,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:332,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: dropbox::oxygen::nn_const_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - const_cast<typename nn_shared_ptr<T>::element_type *>
    - nn_shared_ptr<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_const_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator*() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type &operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '*operator->() const'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: element_type
    signature: element_type *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator const PtrType &() const &
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const PtrType &() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: operator PtrType &&() &&
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void operator PtrType &&() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&as_nullable() const &'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PtrType
    signature: PtrType &as_nullable() const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '&&as_nullable() &&'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: PtrType
    signature: PtrType &&as_nullable() &&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '&operator=(std::nullptr_t)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '&operator=(PtrType)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn
    signature: nn &operator=(PtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, const PtrType &arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - PtrType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(i_promise_i_checked_for_null_t, PtrType &&arg) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - nn<OtherType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void nn(nn<OtherType> &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ownership_ptr
    - target_ptr
    argTypes:
    - nn<OtherType>
    - nn<element_type *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: dropbox::oxygen::nn::nn
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nn(const nn<OtherType> &ownership_ptr, nn<element_type *> target_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropbox::oxygen::nn::get
      Src: /src/PROJ/include/proj/nn.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: dropbox::oxygen::nn::get
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 4
    functionsReached:
    - dropbox::oxygen::nn::get
    linkageType: ''
    returnType: element_type
    signature: element_type *get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: operator==(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: operator==(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: operator==(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: operator<(const nn<L> &l, const R &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const R &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - L
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: operator<(const L &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const L &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - nn<L>
    - nn<R>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: operator<(const nn<L> &l, const nn<R> &r)
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const nn<L> &l, const nn<R> &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - p
    argTypes:
    - std::ostream
    - nn<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '&operator<<(std::ostream &os, const nn<T> &p)'
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const nn<T> &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: NN_DERIVED_OPERATORS
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_DERIVED_OPERATORS(op, base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:269,1
    - Dst: std::unique_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    - Dst: T::T
      Src: /src/PROJ/include/proj/nn.hpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: dropbox::oxygen::nn_make_unique
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<T>
    - T::T
    - std::forward<Args>
    - nn_unique_ptr<T>
    linkageType: ''
    returnType: nn_unique_ptr<T>
    signature: nn_unique_ptr<T> nn_make_unique(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:276,1
    - Dst: std::make_shared<T>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/nn.hpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: dropbox::oxygen::nn_make_shared
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - nn_shared_ptr<T>
    - std::make_shared<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_make_shared(Args &&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:285,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_shared_from_this()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn_shared_ptr<const T>
      Src: /src/PROJ/include/proj/nn.hpp:289,1
    - Dst: dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
      Src: /src/PROJ/include/proj/nn.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<const T>
    - dropbox::oxygen::nn_enable_shared_from_this::shared_from_this
    linkageType: ''
    returnType: nn_shared_ptr<const T>
    signature: nn_shared_ptr<const T> nn_shared_from_this() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<T *>
      Src: /src/PROJ/include/proj/nn.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<T *>
    linkageType: ''
    returnType: nn<T *>
    signature: nn<T *> nn_addr(T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nn<const T *>
      Src: /src/PROJ/include/proj/nn.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: dropbox::oxygen::nn_addr
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn<const T *>
    linkageType: ''
    returnType: nn<const T *>
    signature: nn<const T *> nn_addr(const T &object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:310,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:311,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:312,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: dropbox::oxygen::nn_static_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - nn_shared_ptr<T>
    - static_cast<typename nn_shared_ptr<T>::element_type *>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_static_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<typename std::shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:319,1
    - Dst: std::shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: dropbox::oxygen::nn_dynamic_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::as_nullable
    - nn_shared_ptr<U>::get
    - dynamic_cast<typename std::shared_ptr<T>::element_type *>
    - std::shared_ptr<T>
    linkageType: ''
    returnType: std::shared_ptr<T>
    signature: std::shared_ptr<T> nn_dynamic_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<typename nn_shared_ptr<T>::element_type *>
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::get
      Src: /src/PROJ/include/proj/nn.hpp:330,1
    - Dst: nn_shared_ptr<U>::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:331,1
    - Dst: nn_shared_ptr<T>
      Src: /src/PROJ/include/proj/nn.hpp:332,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/nn.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org_ptr
    argTypes:
    - nn_shared_ptr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: dropbox::oxygen::nn_const_pointer_cast
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - nn_shared_ptr<U>::get
    - nn_shared_ptr<U>::as_nullable
    - std::move
    - const_cast<typename nn_shared_ptr<T>::element_type *>
    - nn_shared_ptr<T>
    linkageType: ''
    returnType: nn_shared_ptr<T>
    signature: nn_shared_ptr<T> nn_const_pointer_cast(const nn_shared_ptr<U> &org_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argument_type::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - argument_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: operator()(const argument_type &obj) const
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - argument_type::as_nullable
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const argument_type &obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argument_type::as_nullable
      Src: /src/PROJ/include/proj/nn.hpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - argument_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: operator()(const argument_type &obj) const
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 0
    functionsReached:
    - argument_type::as_nullable
    linkageType: ''
    returnType: result_type
    signature: result_type operator()(const argument_type &obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: NN_CHECK_ASSERT
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_CHECK_ASSERT(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: NN_CHECK_THROW
    functionSourceFile: /src/PROJ/include/proj/nn.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NN_CHECK_THROW(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Meridian
      Src: /src/PROJ/include/proj/coordinatesystem.hpp:180,1
    - Dst: longitude
      Src: /src/PROJ/include/proj/coordinatesystem.hpp:183,1
    - Dst: create
      Src: /src/PROJ/include/proj/coordinatesystem.hpp:186,1
    - Dst: Angle::Angle
      Src: /src/PROJ/include/proj/coordinatesystem.hpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 208
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/coordinatesystem.hpp
    functionUses: 0
    functionsReached:
    - Meridian
    - Angle::Angle
    - longitude
    - create
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: util::Exception
    functionSourceFile: /src/PROJ/include/proj/coordinatesystem.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::Exception
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: AxisDirection::AxisDirection
    functionSourceFile: /src/PROJ/include/proj/coordinatesystem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AxisDirection(const AxisDirection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&operator=(const AxisDirection &)'
    functionSourceFile: /src/PROJ/include/proj/coordinatesystem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AxisDirection
    signature: AxisDirection &operator=(const AxisDirection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: AxisDirection::AxisDirection
    functionSourceFile: /src/PROJ/include/proj/coordinatesystem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AxisDirection(AxisDirection &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&operator=(AxisDirection &&)'
    functionSourceFile: /src/PROJ/include/proj/coordinatesystem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AxisDirection
    signature: AxisDirection &operator=(AxisDirection &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - GridDescription
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator<(const GridDescription &other) const
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const GridDescription &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_FRIEND
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: operation::CoordinateTransformer
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached:
    - PROJ_FRIEND
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL CoordinateTransformer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - GridDescription
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator<(const GridDescription &other) const
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const GridDescription &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROJ_FRIEND
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: operation::CoordinateTransformer
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached:
    - PROJ_FRIEND
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL CoordinateTransformer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionName: common::IdentifiedObject
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL common::IdentifiedObject
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 360
    functionName: GeneralOperationParameter
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL GeneralOperationParameter
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parameter
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:516,1
    - Dst: parameterValue
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 558
    functionName: OperationParameterValue
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached:
    - parameterValue
    - parameter
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL OperationParameterValue
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 637
    functionName: util::Exception
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL util::Exception
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: method
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:660,1
    - Dst: std::vector<metadata::PositionalAccuracyNNPtr>
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 746
    functionName: CoordinateOperation
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 75
    functionsReached:
    - method
    - std::vector<metadata::PositionalAccuracyNNPtr>
    linkageType: ''
    returnType: public
    signature: public CoordinateOperation
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 1565
    functionName: SingleOperation
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL SingleOperation
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sourceCRS
      Src: /src/PROJ/include/proj/coordinateoperation.hpp:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1866
    functionName: PointMotionOperation
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 3
    functionsReached:
    - sourceCRS
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL PointMotionOperation
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1954
    functionName: ConcatenatedOperation
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL ConcatenatedOperation
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2168
    functionName: CoordinateOperationFactory
    functionSourceFile: /src/PROJ/include/proj/coordinateoperation.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROJ_GCC_DLL
    signature: class PROJ_GCC_DLL CoordinateOperationFactory
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 98
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/internal/coordinatesystem_internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/include/proj/internal/internal.hpp:94,1
    - Dst: dynamic_cast<To>
      Src: /src/PROJ/include/proj/internal/internal.hpp:94,1
    - Dst: static_cast<To>
      Src: /src/PROJ/include/proj/internal/internal.hpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/PROJ/include/proj/internal/internal.hpp
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: internal::down_cast
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 0
    functionsReached:
    - static_cast<To>
    - dynamic_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:109,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:109,1
    - Dst: std::memcmp
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: internal::starts_with
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 4
    functionsReached:
    - std::memcmp
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: "bool starts_with(const std::string &str,\n                        const
      std::string &prefix) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PROJ/include/proj/internal/internal.hpp:116,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:117,1
    - Dst: std::memcmp
      Src: /src/PROJ/include/proj/internal/internal.hpp:120,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/internal.hpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: internal::starts_with
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 4
    functionsReached:
    - std::memcmp
    - std::string::c_str
    - std::string::size
    - std::strlen
    linkageType: ''
    returnType: bool
    signature: bool starts_with(const std::string &str, const char *prefix) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/include/proj/internal/internal.hpp:94,1
    - Dst: dynamic_cast<To>
      Src: /src/PROJ/include/proj/internal/internal.hpp:94,1
    - Dst: static_cast<To>
      Src: /src/PROJ/include/proj/internal/internal.hpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/PROJ/include/proj/internal/internal.hpp
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: internal::down_cast
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 0
    functionsReached:
    - static_cast<To>
    - dynamic_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:109,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:109,1
    - Dst: std::memcmp
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: internal::starts_with
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 4
    functionsReached:
    - std::memcmp
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: "bool starts_with(const std::string &str,\n                        const
      std::string &prefix) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PROJ/include/proj/internal/internal.hpp:116,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/internal.hpp:117,1
    - Dst: std::memcmp
      Src: /src/PROJ/include/proj/internal/internal.hpp:120,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/internal.hpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: internal::starts_with
    functionSourceFile: /src/PROJ/include/proj/internal/internal.hpp
    functionUses: 4
    functionsReached:
    - std::memcmp
    - std::string::c_str
    - std::string::size
    - std::strlen
    linkageType: ''
    returnType: bool
    signature: bool starts_with(const std::string &str, const char *prefix) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/tracing.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: TRACING_MERGE
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACING_MERGE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: TRACING_UNIQUE_NAME
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACING_UNIQUE_NAME(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ENTER_BLOCK
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER_BLOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: ENTER_FUNCTION
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER_FUNCTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/tracing.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: logTrace
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 10
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void logTrace(const std::string &, const std::string & = std::string())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ENTER_BLOCK
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER_BLOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ENTER_FUNCTION
    functionSourceFile: /src/PROJ/include/proj/internal/tracing.hpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER_FUNCTION()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:114,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:118,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:122,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:123,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:127,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:128,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:130,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:130,1
    - Dst: emplace_front
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:134,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:135,1
    - Dst: prune
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:136,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:140,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:141,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:144,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:144,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:154,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:155,1
    - Dst: KeyNotFound
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:156,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:158,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:158,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:168,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:169,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:172,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:172,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:179,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:182,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:183,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:186,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:187,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:192,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:192,1
    - Dst: std::for_each
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:200,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:200,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:200,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:207,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:211,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:212,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:212,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 231
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - size
    - std::for_each
    - begin
    - get
    - erase
    - back
    - clear
    - end
    - splice
    - KeyNotFound
    - empty
    - emplace_front
    - prune
    - find
    - pop_back
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: NullLock::lock
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: NullLock::unlock
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: NullLock::try_lock
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: KeyNotFound::KeyNotFound
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyNotFound()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: KeyNotFound::~KeyNotFound()
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyNotFound::~KeyNotFound()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keyIn
    - v
    argTypes:
    - K
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: KeyValuePair
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyValuePair(const K &keyIn, const V &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: Cache::Cache
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache(size_t maxSize = 64, size_t elasticity = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~Cache()
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache::size
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: Cache::size
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 1
    functionsReached:
    - Cache::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache::empty
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Cache::empty
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 1
    functionsReached:
    - Cache::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache::clear
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:122,1
    - Dst: Cache::clear
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: Cache::clear
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 3
    functionsReached:
    - Cache::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:127,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:128,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:130,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:130,1
    - Dst: emplace_front
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:134,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:135,1
    - Dst: Cache::prune
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - key
    - v
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: Cache::insert
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 6
    functionsReached:
    - begin
    - end
    - splice
    - Cache::prune
    - emplace_front
    - find
    linkageType: ''
    returnType: void
    signature: void insert(const Key &key, const Value &v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:140,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:141,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:144,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - kIn
    - vOut
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: Cache::tryGet
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 1
    functionsReached:
    - find
    - end
    - begin
    - splice
    linkageType: ''
    returnType: bool
    signature: bool tryGet(const Key &kIn, Value &vOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:154,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:155,1
    - Dst: KeyNotFound
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:156,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:158,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: '&get(const Key &key)'
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - splice
    - KeyNotFound
    - find
    linkageType: ''
    returnType: Value
    signature: Value &get(const Key &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:168,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:169,1
    - Dst: splice
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:172,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Cache::getPtr
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - begin
    - splice
    linkageType: ''
    returnType: Value
    signature: Value *getPtr(const Key &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Cache::getCopy
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Value
    signature: Value getCopy(const Key &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:182,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:183,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:186,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: Cache::remove
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - erase
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool remove(const Key &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:192,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: Cache::contains
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool contains(const Key &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Cache::getMaxSize
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMaxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Cache::getElasticity
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getElasticity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Cache::getMaxAllowedSize
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMaxAllowedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::for_each
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:200,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:200,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: Cache::cwalk
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached:
    - std::for_each
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void cwalk(F &f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Cache::size
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:207,1
    - Dst: Cache::size
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:211,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:212,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:212,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/lru_cache.hpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: Cache::prune
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 1
    functionsReached:
    - erase
    - pop_back
    - back
    - Cache::size
    linkageType: ''
    returnType: size_t
    signature: size_t prune()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Cache::Cache
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache(const Cache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: '&operator=(const Cache &)'
    functionSourceFile: /src/PROJ/include/proj/internal/lru_cache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cache
    signature: Cache &operator=(const Cache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 182
    functionName: namespace
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_START
    signature: NS_PROJ_START namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '&constants()'
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &constants()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: projCppContext
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ_END
    signature: NS_PROJ_END projCppContext
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: projCppContext
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void projCppContext(const projCppContext &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: getDbPath
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getDbPath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: getAuxDbPaths
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &getAuxDbPaths() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: getDatabaseContextIfOpen
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NS_PROJ::io::DatabaseContextPtr
    signature: NS_PROJ::io::DatabaseContextPtr getDatabaseContextIfOpen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: closeDb
    functionSourceFile: /src/PROJ/include/proj/internal/io_internal.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void closeDb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: operator size_t() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator size_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: operator size_t() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator size_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: operator size_t() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator size_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: operator size_t() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator size_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: JSON_HEDLEY_STRINGIFY_EX
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STRINGIFY_EX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: JSON_HEDLEY_STRINGIFY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: JSON_HEDLEY_CONCAT_EX
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT_EX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: JSON_HEDLEY_CONCAT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: JSON_HEDLEY_CONCAT3_EX
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT3_EX(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: JSON_HEDLEY_CONCAT3
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT3(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - revision
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: JSON_HEDLEY_VERSION_ENCODE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_ENCODE(major,minor,revision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: JSON_HEDLEY_VERSION_DECODE_MAJOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_DECODE_MAJOR(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: JSON_HEDLEY_VERSION_DECODE_MINOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_DECODE_MINOR(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: JSON_HEDLEY_VERSION_DECODE_REVISION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_DECODE_REVISION(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: JSON_HEDLEY_GNUC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: JSON_HEDLEY_GNUC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: JSON_HEDLEY_INTEL_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: JSON_HEDLEY_INTEL_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: JSON_HEDLEY_PGI_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: JSON_HEDLEY_PGI_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: JSON_HEDLEY_SUNPRO_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: JSON_HEDLEY_SUNPRO_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: JSON_HEDLEY_ARM_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: JSON_HEDLEY_ARM_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: JSON_HEDLEY_IBM_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: JSON_HEDLEY_IBM_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: JSON_HEDLEY_TI_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: JSON_HEDLEY_TI_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: JSON_HEDLEY_TI_CL2000_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: JSON_HEDLEY_TI_CL2000_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: JSON_HEDLEY_TI_CL430_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: JSON_HEDLEY_TI_CL430_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: JSON_HEDLEY_TI_CL6X_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: JSON_HEDLEY_TI_CL6X_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    functionName: JSON_HEDLEY_TI_CL7X_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: JSON_HEDLEY_TI_CL7X_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: JSON_HEDLEY_CRAY_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: JSON_HEDLEY_CRAY_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: JSON_HEDLEY_IAR_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: JSON_HEDLEY_IAR_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: JSON_HEDLEY_TINYC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: JSON_HEDLEY_TINYC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: JSON_HEDLEY_DMC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: JSON_HEDLEY_DMC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: JSON_HEDLEY_COMPCERT_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: JSON_HEDLEY_COMPCERT_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: JSON_HEDLEY_PELLES_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: JSON_HEDLEY_PELLES_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 579
    functionName: JSON_HEDLEY_GCC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: JSON_HEDLEY_GCC_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: JSON_HEDLEY_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: JSON_HEDLEY_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 597
    functionName: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 606
    functionName: JSON_HEDLEY_GCC_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: JSON_HEDLEY_GCC_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 618
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ns
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ns
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ns
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 642
    functionName: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - builtin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    functionName: JSON_HEDLEY_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_BUILTIN(builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - builtin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: JSON_HEDLEY_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_BUILTIN(builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: JSON_HEDLEY_GNUC_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: JSON_HEDLEY_GNUC_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: JSON_HEDLEY_GCC_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: JSON_HEDLEY_GCC_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feature
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 687
    functionName: JSON_HEDLEY_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_FEATURE(feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feature
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: JSON_HEDLEY_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_FEATURE(feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: JSON_HEDLEY_GNUC_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: JSON_HEDLEY_GNUC_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: JSON_HEDLEY_GCC_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 707
    functionName: JSON_HEDLEY_GCC_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: JSON_HEDLEY_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_EXTENSION(extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: JSON_HEDLEY_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_EXTENSION(extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    functionName: JSON_HEDLEY_GNUC_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 725
    functionName: JSON_HEDLEY_GNUC_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: JSON_HEDLEY_GCC_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: JSON_HEDLEY_GCC_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 741
    functionName: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 743
    functionName: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 759
    functionName: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 761
    functionName: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warning
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 768
    functionName: JSON_HEDLEY_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_WARNING(warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warning
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: JSON_HEDLEY_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_WARNING(warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 777
    functionName: JSON_HEDLEY_GNUC_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: JSON_HEDLEY_GNUC_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: JSON_HEDLEY_GCC_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 788
    functionName: JSON_HEDLEY_GCC_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xpr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xpr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 810
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: JSON_HEDLEY_CONST_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONST_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: JSON_HEDLEY_CONST_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONST_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 834
    functionName: JSON_HEDLEY_CONST_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONST_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 841
    functionName: JSON_HEDLEY_REINTERPRET_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REINTERPRET_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 843
    functionName: JSON_HEDLEY_REINTERPRET_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REINTERPRET_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: JSON_HEDLEY_STATIC_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: JSON_HEDLEY_STATIC_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 864
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 870
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 874
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: JSON_HEDLEY_PRAGMA
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRAGMA(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 898
    functionName: JSON_HEDLEY_PRAGMA
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRAGMA(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1052
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1053
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1055
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1056
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1069
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1070
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1086
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1087
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1091
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1092
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1094
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1095
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - available_since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1108
    functionName: JSON_HEDLEY_UNAVAILABLE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNAVAILABLE(available_since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1121
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1124
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1143
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1146
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - position
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1160
    functionName: JSON_HEDLEY_SENTINEL
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_SENTINEL(position)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1229
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1231
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1236
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1238
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1247
    functionName: JSON_HEDLEY_UNREACHABLE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1249
    functionName: JSON_HEDLEY_UNREACHABLE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1253
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1255
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1262
    functionName: JSON_HEDLEY_UNREACHABLE_RETURN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE_RETURN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1264
    functionName: JSON_HEDLEY_UNREACHABLE_RETURN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE_RETURN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1267
    functionName: JSON_HEDLEY_UNREACHABLE_RETURN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE_RETURN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1270
    functionName: JSON_HEDLEY_UNREACHABLE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1295
    functionName: JSON_HEDLEY_NON_NULL
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_NON_NULL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1305
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1307
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1325
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1327
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1357
    functionName: JSON_HEDLEY_UNPREDICTABLE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNPREDICTABLE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expr
    - ','
    - value
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1362
    functionName: JSON_HEDLEY_PREDICT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT(expr, value, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1363
    functionName: JSON_HEDLEY_PREDICT_TRUE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_TRUE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1364
    functionName: JSON_HEDLEY_PREDICT_FALSE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_FALSE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1365
    functionName: JSON_HEDLEY_LIKELY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1366
    functionName: JSON_HEDLEY_UNLIKELY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expr
    - ','
    - expected
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1384
    functionName: JSON_HEDLEY_PREDICT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT(expr, expected, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1389
    functionName: JSON_HEDLEY_PREDICT_TRUE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_TRUE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: JSON_HEDLEY_PREDICT_FALSE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_FALSE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1395
    functionName: JSON_HEDLEY_LIKELY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1396
    functionName: JSON_HEDLEY_UNLIKELY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expr
    - ','
    - expected
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1398
    functionName: JSON_HEDLEY_PREDICT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT(expr, expected, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1399
    functionName: JSON_HEDLEY_PREDICT_TRUE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_TRUE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1400
    functionName: JSON_HEDLEY_PREDICT_FALSE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_FALSE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1401
    functionName: JSON_HEDLEY_LIKELY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1402
    functionName: JSON_HEDLEY_UNLIKELY
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1405
    functionName: JSON_HEDLEY_UNPREDICTABLE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNPREDICTABLE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1725
    functionName: JSON_HEDLEY_ARRAY_PARAM
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ARRAY_PARAM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1751
    functionName: JSON_HEDLEY_IS_CONSTANT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTANT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1763
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1766
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1780
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1783
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1804
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1809
    functionName: JSON_HEDLEY_IS_CONSTANT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTANT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1811
    functionName: JSON_HEDLEY_REQUIRE_CONSTEXPR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1814
    functionName: JSON_HEDLEY_IS_CONSTANT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTANT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1816
    functionName: JSON_HEDLEY_REQUIRE_CONSTEXPR
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1849
    functionName: JSON_HEDLEY_STATIC_ASSERT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_ASSERT(expr, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1853
    functionName: JSON_HEDLEY_STATIC_ASSERT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_ASSERT(expr, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1883
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1887
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1889
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1891
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1893
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1906
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1911
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1913
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1915
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1930
    functionName: JSON_HEDLEY_REQUIRE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1935
    functionName: JSON_HEDLEY_REQUIRE_MSG
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_MSG(expr,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1937
    functionName: JSON_HEDLEY_REQUIRE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1938
    functionName: JSON_HEDLEY_REQUIRE_MSG
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_MSG(expr,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1961
    functionName: JSON_HEDLEY_FLAGS_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_FLAGS_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1963
    functionName: JSON_HEDLEY_FLAGS_CAST
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_FLAGS_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1981
    functionName: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1983
    functionName: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1989
    functionName: JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1994
    functionName: JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - builtin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 1999
    functionName: JSON_HEDLEY_CLANG_HAS_BUILTIN
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feature
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2004
    functionName: JSON_HEDLEY_CLANG_HAS_FEATURE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_FEATURE(feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2009
    functionName: JSON_HEDLEY_CLANG_HAS_EXTENSION
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2014
    functionName: JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warning
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2019
    functionName: JSON_HEDLEY_CLANG_HAS_WARNING
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_WARNING(warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2066
    functionName: JSON_THROW
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_THROW(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2068
    functionName: JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2069
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2072
    functionName: JSON_THROW
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_THROW(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2074
    functionName: JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2075
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2101
    functionName: JSON_ASSERT
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ENUM_TYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2133
    functionName: NLOHMANN_JSON_SERIALIZE_ENUM
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2154
    functionName: NLOHMANN_JSON_EXPAND
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_EXPAND( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 133
    argNames:
    - (
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - _7
    - ','
    - _8
    - ','
    - _9
    - ','
    - _10
    - ','
    - _11
    - ','
    - _12
    - ','
    - _13
    - ','
    - _14
    - ','
    - _15
    - ','
    - _16
    - ','
    - _17
    - ','
    - _18
    - ','
    - _19
    - ','
    - _20
    - ','
    - _21
    - ','
    - _22
    - ','
    - _23
    - ','
    - _24
    - ','
    - _25
    - ','
    - _26
    - ','
    - _27
    - ','
    - _28
    - ','
    - _29
    - ','
    - _30
    - ','
    - _31
    - ','
    - _32
    - ','
    - _33
    - ','
    - _34
    - ','
    - _35
    - ','
    - _36
    - ','
    - _37
    - ','
    - _38
    - ','
    - _39
    - ','
    - _40
    - ','
    - _41
    - ','
    - _42
    - ','
    - _43
    - ','
    - _44
    - ','
    - _45
    - ','
    - _46
    - ','
    - _47
    - ','
    - _48
    - ','
    - _49
    - ','
    - _50
    - ','
    - _51
    - ','
    - _52
    - ','
    - _53
    - ','
    - _54
    - ','
    - _55
    - ','
    - _56
    - ','
    - _57
    - ','
    - _58
    - ','
    - _59
    - ','
    - _60
    - ','
    - _61
    - ','
    - _62
    - ','
    - _63
    - ','
    - _64
    - ','
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2155
    functionName: NLOHMANN_JSON_GET_MACRO
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11,
      _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27,
      _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43,
      _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59,
      _60, _61, _62, _63, _64, NAME,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2220
    functionName: NLOHMANN_JSON_PASTE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2221
    functionName: NLOHMANN_JSON_PASTE2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE2(func, v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2222
    functionName: NLOHMANN_JSON_PASTE3
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE3(func, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2223
    functionName: NLOHMANN_JSON_PASTE4
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE4(func, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2224
    functionName: NLOHMANN_JSON_PASTE5
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2225
    functionName: NLOHMANN_JSON_PASTE6
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2226
    functionName: NLOHMANN_JSON_PASTE7
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2227
    functionName: NLOHMANN_JSON_PASTE8
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2228
    functionName: NLOHMANN_JSON_PASTE9
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2229
    functionName: NLOHMANN_JSON_PASTE10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2230
    functionName: NLOHMANN_JSON_PASTE11
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2231
    functionName: NLOHMANN_JSON_PASTE12
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2232
    functionName: NLOHMANN_JSON_PASTE13
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2233
    functionName: NLOHMANN_JSON_PASTE14
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2234
    functionName: NLOHMANN_JSON_PASTE15
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2235
    functionName: NLOHMANN_JSON_PASTE16
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2236
    functionName: NLOHMANN_JSON_PASTE17
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2237
    functionName: NLOHMANN_JSON_PASTE18
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2238
    functionName: NLOHMANN_JSON_PASTE19
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 41
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2239
    functionName: NLOHMANN_JSON_PASTE20
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2240
    functionName: NLOHMANN_JSON_PASTE21
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 45
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2241
    functionName: NLOHMANN_JSON_PASTE22
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 47
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2242
    functionName: NLOHMANN_JSON_PASTE23
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 49
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2243
    functionName: NLOHMANN_JSON_PASTE24
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 51
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2244
    functionName: NLOHMANN_JSON_PASTE25
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 53
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2245
    functionName: NLOHMANN_JSON_PASTE26
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 55
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2246
    functionName: NLOHMANN_JSON_PASTE27
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 57
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2247
    functionName: NLOHMANN_JSON_PASTE28
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 59
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2248
    functionName: NLOHMANN_JSON_PASTE29
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 61
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2249
    functionName: NLOHMANN_JSON_PASTE30
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 63
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2250
    functionName: NLOHMANN_JSON_PASTE31
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 65
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2251
    functionName: NLOHMANN_JSON_PASTE32
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 67
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2252
    functionName: NLOHMANN_JSON_PASTE33
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 69
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2253
    functionName: NLOHMANN_JSON_PASTE34
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 71
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2254
    functionName: NLOHMANN_JSON_PASTE35
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 73
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2255
    functionName: NLOHMANN_JSON_PASTE36
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 75
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2256
    functionName: NLOHMANN_JSON_PASTE37
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 77
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2257
    functionName: NLOHMANN_JSON_PASTE38
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 79
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2258
    functionName: NLOHMANN_JSON_PASTE39
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 81
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2259
    functionName: NLOHMANN_JSON_PASTE40
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 83
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2260
    functionName: NLOHMANN_JSON_PASTE41
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 85
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2261
    functionName: NLOHMANN_JSON_PASTE42
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 87
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2262
    functionName: NLOHMANN_JSON_PASTE43
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 89
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2263
    functionName: NLOHMANN_JSON_PASTE44
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 91
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2264
    functionName: NLOHMANN_JSON_PASTE45
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 93
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2265
    functionName: NLOHMANN_JSON_PASTE46
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 95
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2266
    functionName: NLOHMANN_JSON_PASTE47
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 97
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2267
    functionName: NLOHMANN_JSON_PASTE48
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 99
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2268
    functionName: NLOHMANN_JSON_PASTE49
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 101
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2269
    functionName: NLOHMANN_JSON_PASTE50
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 103
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2270
    functionName: NLOHMANN_JSON_PASTE51
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 105
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2271
    functionName: NLOHMANN_JSON_PASTE52
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 107
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2272
    functionName: NLOHMANN_JSON_PASTE53
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 109
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2273
    functionName: NLOHMANN_JSON_PASTE54
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 111
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2274
    functionName: NLOHMANN_JSON_PASTE55
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 113
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2275
    functionName: NLOHMANN_JSON_PASTE56
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 115
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2276
    functionName: NLOHMANN_JSON_PASTE57
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 117
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2277
    functionName: NLOHMANN_JSON_PASTE58
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 119
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2278
    functionName: NLOHMANN_JSON_PASTE59
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 121
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2279
    functionName: NLOHMANN_JSON_PASTE60
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 123
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2280
    functionName: NLOHMANN_JSON_PASTE61
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 125
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - ','
    - v61
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2281
    functionName: NLOHMANN_JSON_PASTE62
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60, v61)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 127
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - ','
    - v61
    - ','
    - v62
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2282
    functionName: NLOHMANN_JSON_PASTE63
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60, v61, v62)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 129
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - ','
    - v61
    - ','
    - v62
    - ','
    - v63
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2283
    functionName: NLOHMANN_JSON_PASTE64
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60, v61, v62, v63)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2285
    functionName: NLOHMANN_JSON_TO
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_TO(v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2286
    functionName: NLOHMANN_JSON_FROM
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_FROM(v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2295
    functionName: NLOHMANN_DEFINE_TYPE_INTRUSIVE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::what
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2360
    functionName: nlohmann::detail::exception::what
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::exception::what
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2367
    functionName: "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    exception(int id_, const char* what_arg)
      : id(id_), m(what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ename'
    - id_
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2372
    functionName: nlohmann::detail::exception::name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string& ename, int id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2438,1
    - Dst: nlohmann::detail::parse_error::position_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2439,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' pos'
    - ' what_arg'
    argTypes:
    - int
    - position_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2441
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - nlohmann::detail::parse_error::parse_error
    - nlohmann::detail::parse_error::position_string
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, const position_t& pos, const std::string&
      what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2445,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2446,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - byte_
    - ' what_arg'
    argTypes:
    - int
    - std::size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2449
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::to_string
    - nlohmann::detail::parse_error::parse_error
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id_
    - byte_
    - what_arg
    argTypes:
    - int
    - std::size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2464
    functionName: nlohmann::detail::parse_error::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_error(int id_, std::size_t byte_, const char* what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2468,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - position_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2470
    functionName: nlohmann::detail::parse_error::position_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string position_string(const position_t& pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2515,1
    - Dst: invalid_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2517
    functionName: nlohmann::detail::invalid_iterator::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - invalid_iterator
    - std::string::c_str
    linkageType: ''
    returnType: invalid_iterator
    signature: invalid_iterator create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2522
    functionName: "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        :
      exception(id_, what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    invalid_iterator(int id_, const char*
      what_arg)\n        : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2569,1
    - Dst: type_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2571
    functionName: nlohmann::detail::type_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - type_error
    linkageType: ''
    returnType: type_error
    signature: type_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2575
    functionName: "(3)\n    type_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    type_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2616,1
    - Dst: out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: nlohmann::detail::out_of_range::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - out_of_range
    linkageType: ''
    returnType: out_of_range
    signature: out_of_range create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2622
    functionName: "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    out_of_range(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2654,1
    - Dst: other_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2656
    functionName: nlohmann::detail::other_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - other_error
    linkageType: ''
    returnType: other_error
    signature: other_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2660
    functionName: "(3)\n    other_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    other_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::what
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2360
    functionName: nlohmann::detail::exception::what
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::exception::what
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2367
    functionName: "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    exception(int id_, const char* what_arg)
      : id(id_), m(what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ename'
    - id_
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2372
    functionName: nlohmann::detail::exception::name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string& ename, int id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2438,1
    - Dst: nlohmann::detail::parse_error::position_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2439,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' pos'
    - ' what_arg'
    argTypes:
    - int
    - position_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2441
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - nlohmann::detail::parse_error::parse_error
    - nlohmann::detail::parse_error::position_string
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, const position_t& pos, const std::string&
      what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2445,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2446,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - byte_
    - ' what_arg'
    argTypes:
    - int
    - std::size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2449
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::to_string
    - nlohmann::detail::parse_error::parse_error
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id_
    - byte_
    - what_arg
    argTypes:
    - int
    - std::size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2464
    functionName: nlohmann::detail::parse_error::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_error(int id_, std::size_t byte_, const char* what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2468,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - position_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2470
    functionName: nlohmann::detail::parse_error::position_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string position_string(const position_t& pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2515,1
    - Dst: invalid_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2517
    functionName: nlohmann::detail::invalid_iterator::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - invalid_iterator
    - std::string::c_str
    linkageType: ''
    returnType: invalid_iterator
    signature: invalid_iterator create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2522
    functionName: "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        :
      exception(id_, what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    invalid_iterator(int id_, const char*
      what_arg)\n        : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2569,1
    - Dst: type_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2571
    functionName: nlohmann::detail::type_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - type_error
    linkageType: ''
    returnType: type_error
    signature: type_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2575
    functionName: "(3)\n    type_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    type_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2616,1
    - Dst: out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: nlohmann::detail::out_of_range::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - out_of_range
    linkageType: ''
    returnType: out_of_range
    signature: out_of_range create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2622
    functionName: "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    out_of_range(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2654,1
    - Dst: other_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2656
    functionName: nlohmann::detail::other_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - other_error
    linkageType: ''
    returnType: other_error
    signature: other_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2660
    functionName: "(3)\n    other_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    other_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::what
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2360
    functionName: nlohmann::detail::exception::what
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::exception::what
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2367
    functionName: "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    exception(int id_, const char* what_arg)
      : id(id_), m(what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ename'
    - id_
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2372
    functionName: nlohmann::detail::exception::name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string& ename, int id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2438,1
    - Dst: nlohmann::detail::parse_error::position_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2439,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' pos'
    - ' what_arg'
    argTypes:
    - int
    - position_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2441
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - nlohmann::detail::parse_error::parse_error
    - nlohmann::detail::parse_error::position_string
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, const position_t& pos, const std::string&
      what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2445,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2446,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - byte_
    - ' what_arg'
    argTypes:
    - int
    - std::size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2449
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::to_string
    - nlohmann::detail::parse_error::parse_error
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id_
    - byte_
    - what_arg
    argTypes:
    - int
    - std::size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2464
    functionName: nlohmann::detail::parse_error::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_error(int id_, std::size_t byte_, const char* what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2468,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - position_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2470
    functionName: nlohmann::detail::parse_error::position_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string position_string(const position_t& pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2515,1
    - Dst: invalid_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2517
    functionName: nlohmann::detail::invalid_iterator::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - invalid_iterator
    - std::string::c_str
    linkageType: ''
    returnType: invalid_iterator
    signature: invalid_iterator create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2522
    functionName: "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        :
      exception(id_, what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    invalid_iterator(int id_, const char*
      what_arg)\n        : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2569,1
    - Dst: type_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2571
    functionName: nlohmann::detail::type_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - type_error
    linkageType: ''
    returnType: type_error
    signature: type_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2575
    functionName: "(3)\n    type_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    type_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2616,1
    - Dst: out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: nlohmann::detail::out_of_range::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - out_of_range
    linkageType: ''
    returnType: out_of_range
    signature: out_of_range create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2622
    functionName: "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    out_of_range(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2654,1
    - Dst: other_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2656
    functionName: nlohmann::detail::other_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - other_error
    linkageType: ''
    returnType: other_error
    signature: other_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2660
    functionName: "(3)\n    other_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    other_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::what
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2360
    functionName: nlohmann::detail::exception::what
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::exception::what
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2367
    functionName: "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    exception(int id_, const char* what_arg)
      : id(id_), m(what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ename'
    - id_
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2372
    functionName: nlohmann::detail::exception::name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 18
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string& ename, int id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2438,1
    - Dst: nlohmann::detail::parse_error::position_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2439,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' pos'
    - ' what_arg'
    argTypes:
    - int
    - position_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2441
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - nlohmann::detail::parse_error::parse_error
    - nlohmann::detail::parse_error::position_string
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, const position_t& pos, const std::string&
      what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2445,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2446,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - byte_
    - ' what_arg'
    argTypes:
    - int
    - std::size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2449
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::to_string
    - nlohmann::detail::parse_error::parse_error
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id_
    - byte_
    - what_arg
    argTypes:
    - int
    - std::size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2464
    functionName: nlohmann::detail::parse_error::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_error(int id_, std::size_t byte_, const char* what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2468,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - position_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2470
    functionName: nlohmann::detail::parse_error::position_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string position_string(const position_t& pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2515,1
    - Dst: invalid_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2517
    functionName: nlohmann::detail::invalid_iterator::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - invalid_iterator
    - std::string::c_str
    linkageType: ''
    returnType: invalid_iterator
    signature: invalid_iterator create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2522
    functionName: "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        :
      exception(id_, what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    invalid_iterator(int id_, const char*
      what_arg)\n        : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2569,1
    - Dst: type_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2571
    functionName: nlohmann::detail::type_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - type_error
    linkageType: ''
    returnType: type_error
    signature: type_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2575
    functionName: "(3)\n    type_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    type_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2616,1
    - Dst: out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: nlohmann::detail::out_of_range::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - out_of_range
    linkageType: ''
    returnType: out_of_range
    signature: out_of_range create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2622
    functionName: "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    out_of_range(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2654,1
    - Dst: other_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    - Dst: std::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2656
    functionName: nlohmann::detail::other_error::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - std::string::c_str
    - other_error
    linkageType: ''
    returnType: other_error
    signature: other_error create(int id_, const std::string& what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2660
    functionName: "(3)\n    other_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    other_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2694
    functionName: nlohmann::detail::size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2694
    functionName: nlohmann::detail::size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2694
    functionName: nlohmann::detail::size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2694
    functionName: nlohmann::detail::size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2825
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2826
    functionName: ~nonesuch()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2827
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2828
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2829
    functionName: operator=(nonesuch const&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2830
    functionName: operator=(nonesuch&&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2825
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2826
    functionName: ~nonesuch()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2827
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2828
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2829
    functionName: operator=(nonesuch const&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2830
    functionName: operator=(nonesuch&&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2825
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2826
    functionName: ~nonesuch()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2827
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2828
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2829
    functionName: operator=(nonesuch const&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2830
    functionName: operator=(nonesuch&&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2825
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2826
    functionName: ~nonesuch()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2827
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2828
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2829
    functionName: operator=(nonesuch const&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2830
    functionName: operator=(nonesuch&&)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3413,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3414,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3404
    functionDepth: 1
    functionLinenumber: 3404
    functionLinenumberEnd: 3416
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3413,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3414,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3404
    functionDepth: 1
    functionLinenumber: 3404
    functionLinenumberEnd: 3416
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3413,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3414,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3404
    functionDepth: 1
    functionLinenumber: 3404
    functionLinenumberEnd: 3416
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3413,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3414,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3404
    functionDepth: 1
    functionLinenumber: 3404
    functionLinenumberEnd: 3416
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' n'
    argTypes:
    - BasicJsonType
    - typename std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3433
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3442,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3463
    functionName: nlohmann::detail::get_arithmetic_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3473
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_boolean
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3483
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::string_t&
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - ConstructibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3492
    functionDepth: 1
    functionLinenumber: 3492
    functionLinenumberEnd: 3500
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleStringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3506
      start: 3503
    functionDepth: 2
    functionLinenumber: 3503
    functionLinenumberEnd: 3506
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3509
    functionDepth: 2
    functionLinenumber: 3509
    functionLinenumberEnd: 3512
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3515
    functionDepth: 2
    functionLinenumber: 3515
    functionLinenumberEnd: 3518
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3525,1
    - Dst: static_cast<EnumType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3522
    functionDepth: 2
    functionLinenumber: 3522
    functionLinenumberEnd: 3527
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<EnumType>
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, EnumType& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3538,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: std::front_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3540,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::forward_list<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3532
    functionDepth: 2
    functionLinenumber: 3532
    functionLinenumberEnd: 3544
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rend
    - nlohmann::detail::type_error::create
    - rbegin
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - std::front_inserter
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>&
      l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3549
    functionDepth: 2
    functionLinenumber: 3549
    functionLinenumberEnd: 3561
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::size
    - nlohmann::detail::type_error::create
    - begin
    - type_name
    - end
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - resize
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::valarray<T>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3565,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3564
    functionDepth: 1
    functionLinenumber: 3564
    functionLinenumberEnd: 3571
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, T (&arr)[N])

      -> decltype(j.template get<T>(), void())'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3574
    functionDepth: 0
    functionLinenumber: 3574
    functionLinenumberEnd: 3577
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::array_t*>
    linkageType: ''
    returnType: void
    signature: void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t&
      arr, priority_tag<3> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3582,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3588
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>&
      arr,\n                          priority_tag<2> /*unused*/)\n-> decltype(j.template
      get<T>(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3594,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3606,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3591
    functionDepth: 2
    functionLinenumber: 3591
    functionLinenumberEnd: 3609
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::size
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - reserve
    - std::inserter
    - transform
    - std::declval<typename ConstructibleArrayType::size_type>
    - ConstructibleArrayType::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr, priority_tag<1> /*unused*/)\n-> decltype(\n    arr.reserve(std::declval<typename
      ConstructibleArrayType::size_type>()),\n    j.template get<typename ConstructibleArrayType::value_type>(),\n
      \   void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3618,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3624,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3612
    functionDepth: 2
    functionLinenumber: 3612
    functionLinenumberEnd: 3627
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - std::inserter
    - transform
    linkageType: ''
    returnType: void
    signature: "void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr,\n                          priority_tag<0> /*unused*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3638,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3639,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3637
    functionDepth: 1
    functionLinenumber: 3637
    functionLinenumberEnd: 3649
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::from_json_array_impl
    - template get<typename ConstructibleArrayType::value_type>
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)

      -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),

      j.template get<typename ConstructibleArrayType::value_type>(),

      void())'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: template get_ptr<const typename BasicJsonType::binary_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3660
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - is_binary
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::binary_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t&
      bin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3672,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3674,1
    - Dst: auto::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: auto::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - ConstructibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3664
    functionDepth: 2
    functionLinenumber: 3664
    functionLinenumberEnd: 3682
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - value_type
    - nlohmann::detail::type_error::create
    - std::move
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - ConstructibleObjectType::begin
    - std::inserter
    - auto::end
    - transform
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::object_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3698,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3696
    functionDepth: 1
    functionLinenumber: 3696
    functionLinenumberEnd: 3724
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<A1, A2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3727
    functionDepth: 1
    functionLinenumber: 3727
    functionLinenumberEnd: 3730
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3736
    functionName: nlohmann::detail::from_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3739
    functionDepth: 2
    functionLinenumber: 3739
    functionLinenumberEnd: 3742
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::from_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3753,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::map<Key, Value, Compare, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3747
    functionDepth: 1
    functionLinenumber: 3747
    functionLinenumberEnd: 3762
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,
      Allocator>& m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3767
    functionDepth: 1
    functionLinenumber: 3767
    functionLinenumberEnd: 3782
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::unordered_map<Key, Value,
      Hash, KeyEqual, Allocator>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3789,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3787
    functionDepth: 2
    functionLinenumber: 3787
    functionLinenumberEnd: 3792
    functionName: "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' n'
    argTypes:
    - BasicJsonType
    - typename std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3433
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3442,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3463
    functionName: nlohmann::detail::get_arithmetic_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3473
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_boolean
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3483
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::string_t&
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - ConstructibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3492
    functionDepth: 1
    functionLinenumber: 3492
    functionLinenumberEnd: 3500
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleStringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3506
      start: 3503
    functionDepth: 2
    functionLinenumber: 3503
    functionLinenumberEnd: 3506
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3509
    functionDepth: 2
    functionLinenumber: 3509
    functionLinenumberEnd: 3512
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3515
    functionDepth: 2
    functionLinenumber: 3515
    functionLinenumberEnd: 3518
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3525,1
    - Dst: static_cast<EnumType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3522
    functionDepth: 2
    functionLinenumber: 3522
    functionLinenumberEnd: 3527
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<EnumType>
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, EnumType& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3538,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: std::front_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3540,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::forward_list<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3532
    functionDepth: 2
    functionLinenumber: 3532
    functionLinenumberEnd: 3544
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - rend
    - nlohmann::detail::type_error::create
    - rbegin
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - std::front_inserter
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>&
      l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3549
    functionDepth: 2
    functionLinenumber: 3549
    functionLinenumberEnd: 3561
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::size
    - nlohmann::detail::type_error::create
    - begin
    - type_name
    - end
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - resize
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::valarray<T>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3565,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3564
    functionDepth: 1
    functionLinenumber: 3564
    functionLinenumberEnd: 3571
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, T (&arr)[N])

      -> decltype(j.template get<T>(), void())'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3574
    functionDepth: 0
    functionLinenumber: 3574
    functionLinenumberEnd: 3577
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - template get_ptr<const typename BasicJsonType::array_t*>
    linkageType: ''
    returnType: void
    signature: void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t&
      arr, priority_tag<3> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3582,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3588
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>&
      arr,\n                          priority_tag<2> /*unused*/)\n-> decltype(j.template
      get<T>(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3594,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3606,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3591
    functionDepth: 2
    functionLinenumber: 3591
    functionLinenumberEnd: 3609
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::size
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - reserve
    - std::inserter
    - transform
    - std::declval<typename ConstructibleArrayType::size_type>
    - ConstructibleArrayType::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr, priority_tag<1> /*unused*/)\n-> decltype(\n    arr.reserve(std::declval<typename
      ConstructibleArrayType::size_type>()),\n    j.template get<typename ConstructibleArrayType::value_type>(),\n
      \   void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3618,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3624,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3612
    functionDepth: 2
    functionLinenumber: 3612
    functionLinenumberEnd: 3627
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - std::inserter
    - transform
    linkageType: ''
    returnType: void
    signature: "void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr,\n                          priority_tag<0> /*unused*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3638,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3639,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3637
    functionDepth: 1
    functionLinenumber: 3637
    functionLinenumberEnd: 3649
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::from_json_array_impl
    - template get<typename ConstructibleArrayType::value_type>
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)

      -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),

      j.template get<typename ConstructibleArrayType::value_type>(),

      void())'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: template get_ptr<const typename BasicJsonType::binary_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3660
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - is_binary
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::binary_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t&
      bin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3672,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3674,1
    - Dst: auto::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: auto::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - ConstructibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3664
    functionDepth: 2
    functionLinenumber: 3664
    functionLinenumberEnd: 3682
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - value_type
    - nlohmann::detail::type_error::create
    - std::move
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - ConstructibleObjectType::begin
    - std::inserter
    - auto::end
    - transform
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::object_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3698,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3696
    functionDepth: 1
    functionLinenumber: 3696
    functionLinenumberEnd: 3724
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<A1, A2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3727
    functionDepth: 1
    functionLinenumber: 3727
    functionLinenumberEnd: 3730
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3736
    functionName: nlohmann::detail::from_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - at
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3739
    functionDepth: 2
    functionLinenumber: 3739
    functionLinenumberEnd: 3742
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::from_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3753,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::map<Key, Value, Compare, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3747
    functionDepth: 1
    functionLinenumber: 3747
    functionLinenumberEnd: 3762
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,
      Allocator>& m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3767
    functionDepth: 1
    functionLinenumber: 3767
    functionLinenumberEnd: 3782
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::unordered_map<Key, Value,
      Hash, KeyEqual, Allocator>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3789,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3787
    functionDepth: 1
    functionLinenumber: 3787
    functionLinenumberEnd: 3792
    functionName: "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - nlohmann::from_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' n'
    argTypes:
    - BasicJsonType
    - typename std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3433
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3442,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3463
    functionName: nlohmann::detail::get_arithmetic_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3473
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_boolean
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3483
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::string_t&
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - ConstructibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3492
    functionDepth: 1
    functionLinenumber: 3492
    functionLinenumberEnd: 3500
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleStringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3506
      start: 3503
    functionDepth: 2
    functionLinenumber: 3503
    functionLinenumberEnd: 3506
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3509
    functionDepth: 2
    functionLinenumber: 3509
    functionLinenumberEnd: 3512
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3515
    functionDepth: 2
    functionLinenumber: 3515
    functionLinenumberEnd: 3518
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3525,1
    - Dst: static_cast<EnumType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3522
    functionDepth: 2
    functionLinenumber: 3522
    functionLinenumberEnd: 3527
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<EnumType>
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, EnumType& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3538,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: std::front_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3540,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::forward_list<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3532
    functionDepth: 2
    functionLinenumber: 3532
    functionLinenumberEnd: 3544
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - rend
    - nlohmann::detail::type_error::create
    - rbegin
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - std::front_inserter
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>&
      l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3549
    functionDepth: 2
    functionLinenumber: 3549
    functionLinenumberEnd: 3561
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::size
    - nlohmann::detail::type_error::create
    - begin
    - type_name
    - end
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - resize
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::valarray<T>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3565,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3564
    functionDepth: 1
    functionLinenumber: 3564
    functionLinenumberEnd: 3571
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, T (&arr)[N])

      -> decltype(j.template get<T>(), void())'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3574
    functionDepth: 0
    functionLinenumber: 3574
    functionLinenumberEnd: 3577
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - template get_ptr<const typename BasicJsonType::array_t*>
    linkageType: ''
    returnType: void
    signature: void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t&
      arr, priority_tag<3> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3582,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3588
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>&
      arr,\n                          priority_tag<2> /*unused*/)\n-> decltype(j.template
      get<T>(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3594,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3606,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3591
    functionDepth: 2
    functionLinenumber: 3591
    functionLinenumberEnd: 3609
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::size
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - reserve
    - std::inserter
    - transform
    - std::declval<typename ConstructibleArrayType::size_type>
    - ConstructibleArrayType::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr, priority_tag<1> /*unused*/)\n-> decltype(\n    arr.reserve(std::declval<typename
      ConstructibleArrayType::size_type>()),\n    j.template get<typename ConstructibleArrayType::value_type>(),\n
      \   void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3618,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3624,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3612
    functionDepth: 2
    functionLinenumber: 3612
    functionLinenumberEnd: 3627
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - std::inserter
    - transform
    linkageType: ''
    returnType: void
    signature: "void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr,\n                          priority_tag<0> /*unused*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3638,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3639,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3637
    functionDepth: 1
    functionLinenumber: 3637
    functionLinenumberEnd: 3649
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::from_json_array_impl
    - template get<typename ConstructibleArrayType::value_type>
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)

      -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),

      j.template get<typename ConstructibleArrayType::value_type>(),

      void())'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: template get_ptr<const typename BasicJsonType::binary_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3660
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - is_binary
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::binary_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t&
      bin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3672,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3674,1
    - Dst: auto::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: auto::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - ConstructibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3664
    functionDepth: 2
    functionLinenumber: 3664
    functionLinenumberEnd: 3682
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - value_type
    - nlohmann::detail::type_error::create
    - std::move
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - ConstructibleObjectType::begin
    - std::inserter
    - auto::end
    - transform
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::object_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3698,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3696
    functionDepth: 1
    functionLinenumber: 3696
    functionLinenumberEnd: 3724
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<A1, A2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3727
    functionDepth: 1
    functionLinenumber: 3727
    functionLinenumberEnd: 3730
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3736
    functionName: nlohmann::detail::from_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - at
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3739
    functionDepth: 2
    functionLinenumber: 3739
    functionLinenumberEnd: 3742
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::from_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3753,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::map<Key, Value, Compare, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3747
    functionDepth: 1
    functionLinenumber: 3747
    functionLinenumberEnd: 3762
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,
      Allocator>& m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3767
    functionDepth: 1
    functionLinenumber: 3767
    functionLinenumberEnd: 3782
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::unordered_map<Key, Value,
      Hash, KeyEqual, Allocator>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3789,1
    - Dst: from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3787
    functionDepth: 0
    functionLinenumber: 3787
    functionLinenumberEnd: 3792
    functionName: "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - from_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3428,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' n'
    argTypes:
    - BasicJsonType
    - typename std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3433
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3442,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3446,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3451,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3456,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3463
    functionName: nlohmann::detail::get_arithmetic_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3468,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3470,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3473
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_boolean
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3478,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3480,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3483
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::string_t&
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3494,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3496,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - ConstructibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3492
    functionDepth: 1
    functionLinenumber: 3492
    functionLinenumberEnd: 3500
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::string_t*>
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleStringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3506
      start: 3503
    functionDepth: 2
    functionLinenumber: 3503
    functionLinenumberEnd: 3506
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3509
    functionDepth: 2
    functionLinenumber: 3509
    functionLinenumberEnd: 3512
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3515
    functionDepth: 2
    functionLinenumber: 3515
    functionLinenumberEnd: 3518
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3525,1
    - Dst: static_cast<EnumType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3522
    functionDepth: 2
    functionLinenumber: 3522
    functionLinenumberEnd: 3527
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<EnumType>
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, EnumType& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3534,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3536,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3538,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: rend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3539,1
    - Dst: std::front_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3540,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::forward_list<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3532
    functionDepth: 2
    functionLinenumber: 3532
    functionLinenumberEnd: 3544
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - rend
    - nlohmann::detail::type_error::create
    - rbegin
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - std::front_inserter
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>&
      l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3551,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3553,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3555,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3556,1
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3549
    functionDepth: 2
    functionLinenumber: 3549
    functionLinenumberEnd: 3561
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::size
    - nlohmann::detail::type_error::create
    - begin
    - type_name
    - end
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - transform
    - resize
    - std::string
    - template get<T>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::valarray<T>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3565,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3564
    functionDepth: 1
    functionLinenumber: 3564
    functionLinenumberEnd: 3571
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, T (&arr)[N])

      -> decltype(j.template get<T>(), void())'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3574
    functionDepth: 0
    functionLinenumber: 3574
    functionLinenumberEnd: 3577
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - template get_ptr<const typename BasicJsonType::array_t*>
    linkageType: ''
    returnType: void
    signature: void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t&
      arr, priority_tag<3> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3582,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3588
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>&
      arr,\n                          priority_tag<2> /*unused*/)\n-> decltype(j.template
      get<T>(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3593,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3594,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3600,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3601,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3602,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3606,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3591
    functionDepth: 2
    functionLinenumber: 3591
    functionLinenumberEnd: 3609
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::size
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - reserve
    - std::inserter
    - transform
    - std::declval<typename ConstructibleArrayType::size_type>
    - ConstructibleArrayType::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr, priority_tag<1> /*unused*/)\n-> decltype(\n    arr.reserve(std::declval<typename
      ConstructibleArrayType::size_type>()),\n    j.template get<typename ConstructibleArrayType::value_type>(),\n
      \   void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3618,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3619,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3624,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3612
    functionDepth: 2
    functionLinenumber: 3612
    functionLinenumberEnd: 3627
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - begin
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    - end
    - std::inserter
    - transform
    linkageType: ''
    returnType: void
    signature: "void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr,\n                          priority_tag<0> /*unused*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3638,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3639,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3642,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3644,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3645,1
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3637
    functionDepth: 1
    functionLinenumber: 3637
    functionLinenumberEnd: 3649
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::from_json_array_impl
    - template get<typename ConstructibleArrayType::value_type>
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)

      -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),

      j.template get<typename ConstructibleArrayType::value_type>(),

      void())'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3654,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3656,1
    - Dst: template get_ptr<const typename BasicJsonType::binary_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3660
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - type_name
    - is_binary
    - JSON_HEDLEY_UNLIKELY
    - template get_ptr<const typename BasicJsonType::binary_t*>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t&
      bin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3666,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3668,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3672,1
    - Dst: transform
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3674,1
    - Dst: auto::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: auto::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3675,1
    - Dst: std::inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3676,1
    - Dst: value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3679,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - ConstructibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3664
    functionDepth: 2
    functionLinenumber: 3664
    functionLinenumberEnd: 3682
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - value_type
    - nlohmann::detail::type_error::create
    - std::move
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - ConstructibleObjectType::begin
    - std::inserter
    - auto::end
    - transform
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::object_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3698,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3702,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3707,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3712,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3717,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3696
    functionDepth: 1
    functionLinenumber: 3696
    functionLinenumberEnd: 3724
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - type_name
    - static_cast<value_t>
    - std::string
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<A1, A2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3727
    functionDepth: 1
    functionLinenumber: 3727
    functionLinenumberEnd: 3730
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3736
    functionName: nlohmann::detail::from_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - at
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3739
    functionDepth: 2
    functionLinenumber: 3739
    functionLinenumberEnd: 3742
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::from_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3749,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3751,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3753,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3756,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3758,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::map<Key, Value, Compare, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3747
    functionDepth: 1
    functionLinenumber: 3747
    functionLinenumberEnd: 3762
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,
      Allocator>& m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3769,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3771,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3776,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3778,1
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3767
    functionDepth: 1
    functionLinenumber: 3767
    functionLinenumberEnd: 3782
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - nlohmann::detail::type_error::create
    - type_name
    - clear
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - at
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::unordered_map<Key, Value,
      Hash, KeyEqual, Allocator>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3788,1
    - Dst: from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3789,1
    - Dst: from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3787
    functionDepth: 0
    functionLinenumber: 3787
    functionLinenumberEnd: 3792
    functionName: "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - from_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' target'
    - value
    argTypes:
    - string_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3840
    functionName: nlohmann::detail::int_to_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void int_to_string( string_type& target, std::size_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3864
    functionName: nlohmann::detail::iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(IteratorType it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3867
    functionDepth: 0
    functionLinenumber: 3867
    functionLinenumberEnd: 3870
    functionName: '& operator*()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3879
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3885
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3888
    functionDepth: 0
    functionLinenumber: 3888
    functionLinenumberEnd: 3891
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3896,1
    - Dst: m_object::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3898,1
    - Dst: nlohmann::detail::int_to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3905,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3919
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - m_object::type
    - JSON_ASSERT
    - nlohmann::detail::int_to_string
    linkageType: ''
    returnType: string_type
    signature: string_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::iteration_proxy_value::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3922
    functionDepth: 1
    functionLinenumber: 3922
    functionLinenumberEnd: 3925
    functionName: nlohmann::detail::iteration_proxy_value::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3938
    functionName: nlohmann::detail::iteration_proxy::iteration_proxy
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    - Dst: nlohmann::detail::iteration_proxy::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3941
    functionDepth: 1
    functionLinenumber: 3941
    functionLinenumberEnd: 3944
    functionName: nlohmann::detail::iteration_proxy::begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::iteration_proxy::begin
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    - Dst: nlohmann::detail::iteration_proxy::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3950
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3950
    functionName: nlohmann::detail::iteration_proxy::end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::iteration_proxy::end
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3956,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3959
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3964,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3967
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' target'
    - value
    argTypes:
    - string_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3840
    functionName: nlohmann::detail::int_to_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void int_to_string( string_type& target, std::size_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3864
    functionName: nlohmann::detail::iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(IteratorType it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3867
    functionDepth: 0
    functionLinenumber: 3867
    functionLinenumberEnd: 3870
    functionName: '& operator*()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3879
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3885
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3888
    functionDepth: 0
    functionLinenumber: 3888
    functionLinenumberEnd: 3891
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3896,1
    - Dst: m_object::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3898,1
    - Dst: int_to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3905,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3919
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - m_object::type
    - JSON_ASSERT
    - int_to_string
    linkageType: ''
    returnType: string_type
    signature: string_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::iteration_proxy_value::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3922
    functionDepth: 1
    functionLinenumber: 3922
    functionLinenumberEnd: 3925
    functionName: nlohmann::detail::iteration_proxy_value::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3938
    functionName: nlohmann::detail::iteration_proxy::iteration_proxy
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    - Dst: nlohmann::detail::iteration_proxy::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3941
    functionDepth: 1
    functionLinenumber: 3941
    functionLinenumberEnd: 3944
    functionName: nlohmann::detail::iteration_proxy::begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::iteration_proxy::begin
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    - Dst: nlohmann::detail::iteration_proxy::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3950
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3950
    functionName: nlohmann::detail::iteration_proxy::end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::iteration_proxy::end
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3956,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3959
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3964,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3967
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' target'
    - value
    argTypes:
    - string_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3840
    functionName: nlohmann::detail::int_to_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void int_to_string( string_type& target, std::size_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3864
    functionName: nlohmann::detail::iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(IteratorType it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3867
    functionDepth: 0
    functionLinenumber: 3867
    functionLinenumberEnd: 3870
    functionName: '& operator*()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3879
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3885
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3888
    functionDepth: 0
    functionLinenumber: 3888
    functionLinenumberEnd: 3891
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3896,1
    - Dst: m_object::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3898,1
    - Dst: int_to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3905,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3919
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - m_object::type
    - JSON_ASSERT
    - int_to_string
    linkageType: ''
    returnType: string_type
    signature: string_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::iteration_proxy_value::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3922
    functionDepth: 1
    functionLinenumber: 3922
    functionLinenumberEnd: 3925
    functionName: nlohmann::detail::iteration_proxy_value::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3938
    functionName: nlohmann::detail::iteration_proxy::iteration_proxy
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    - Dst: nlohmann::detail::iteration_proxy::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3941
    functionDepth: 1
    functionLinenumber: 3941
    functionLinenumberEnd: 3944
    functionName: nlohmann::detail::iteration_proxy::begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::iteration_proxy::begin
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    - Dst: nlohmann::detail::iteration_proxy::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3950
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3950
    functionName: nlohmann::detail::iteration_proxy::end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::iteration_proxy::end
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3956,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3959
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3964,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3967
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' target'
    - value
    argTypes:
    - string_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3840
    functionName: nlohmann::detail::int_to_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void int_to_string( string_type& target, std::size_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3864
    functionName: nlohmann::detail::iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(IteratorType it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3867
    functionDepth: 0
    functionLinenumber: 3867
    functionLinenumberEnd: 3870
    functionName: '& operator*()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3879
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3885
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3888
    functionDepth: 0
    functionLinenumber: 3888
    functionLinenumberEnd: 3891
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3896,1
    - Dst: m_object::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3898,1
    - Dst: int_to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3905,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3919
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - m_object::type
    - JSON_ASSERT
    - int_to_string
    linkageType: ''
    returnType: string_type
    signature: string_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::iteration_proxy_value::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3922
    functionDepth: 1
    functionLinenumber: 3922
    functionLinenumberEnd: 3925
    functionName: nlohmann::detail::iteration_proxy_value::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3938
    functionName: nlohmann::detail::iteration_proxy::iteration_proxy
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    - Dst: nlohmann::detail::iteration_proxy::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3941
    functionDepth: 1
    functionLinenumber: 3941
    functionLinenumberEnd: 3944
    functionName: nlohmann::detail::iteration_proxy::begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::iteration_proxy::begin
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    - Dst: nlohmann::detail::iteration_proxy::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3950
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3950
    functionName: nlohmann::detail::iteration_proxy::end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::iteration_proxy::end
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3956,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3959
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3964,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:3966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3967
    functionName: nlohmann::detail::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4025
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4037
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4043,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4045
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4053,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4055
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4068
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::binary_t&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4074,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4077
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::binary_t&&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4089
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4101
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4113
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4125
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4125
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4131,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4133
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4145
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - end
    - begin
    - template create<typename BasicJsonType::array_t>
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: m_value::array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4155,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4158
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::reserve
    - m_value::array::push_back
    - nlohmann::detail::size
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4167,1
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4172
      start: 4162
    functionDepth: 1
    functionLinenumber: 4162
    functionLinenumberEnd: 4172
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::resize
    - nlohmann::detail::size
    - begin
    - m_value::array::begin
    - end
    - std::copy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4179
    functionDepth: 0
    functionLinenumber: 4179
    functionLinenumberEnd: 4184
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4190,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4192
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4204
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - end
    - begin
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4213
    functionDepth: 1
    functionLinenumber: 4213
    functionLinenumberEnd: 4216
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4223
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4226
    functionDepth: 1
    functionLinenumber: 4226
    functionLinenumberEnd: 4229
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4236
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<typename BasicJsonType::number_float_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4240
    functionDepth: 1
    functionLinenumber: 4240
    functionLinenumberEnd: 4243
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4247
    functionDepth: 1
    functionLinenumber: 4247
    functionLinenumberEnd: 4250
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    - Dst: static_cast<underlying_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4254
    functionDepth: 1
    functionLinenumber: 4254
    functionLinenumberEnd: 4258
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<underlying_type>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4261
    functionDepth: 1
    functionLinenumber: 4261
    functionLinenumberEnd: 4264
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4277
      start: 4274
    functionDepth: 1
    functionLinenumber: 4274
    functionLinenumberEnd: 4277
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4280
    functionDepth: 1
    functionLinenumber: 4280
    functionLinenumberEnd: 4283
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t&
      bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4287
    functionDepth: 1
    functionLinenumber: 4287
    functionLinenumberEnd: 4290
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4296
      start: 4293
    functionDepth: 1
    functionLinenumber: 4293
    functionLinenumberEnd: 4296
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4300
    functionDepth: 1
    functionLinenumber: 4300
    functionLinenumberEnd: 4303
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4306
    functionDepth: 1
    functionLinenumber: 4306
    functionLinenumberEnd: 4309
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4316
    functionDepth: 1
    functionLinenumber: 4316
    functionLinenumberEnd: 4319
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4325
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4333
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4333
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - value
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4339
    functionName: nlohmann::detail::to_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::to_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4342
    functionDepth: 1
    functionLinenumber: 4342
    functionLinenumberEnd: 4345
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4354
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::forward<T>
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4025
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4037
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4043,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4045
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4053,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4055
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4068
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::binary_t&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4074,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4077
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::binary_t&&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4089
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4101
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4113
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4125
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4125
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4131,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4133
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4145
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    - end
    - begin
    - template create<typename BasicJsonType::array_t>
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: m_value::array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4155,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4158
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - m_value::array::reserve
    - m_value::array::push_back
    - nlohmann::detail::size
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4167,1
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4172
      start: 4162
    functionDepth: 1
    functionLinenumber: 4162
    functionLinenumberEnd: 4172
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - m_value::array::resize
    - nlohmann::detail::size
    - begin
    - m_value::array::begin
    - end
    - std::copy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4179
    functionDepth: 0
    functionLinenumber: 4179
    functionLinenumberEnd: 4184
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4190,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4192
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4204
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - end
    - begin
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4213
    functionDepth: 1
    functionLinenumber: 4213
    functionLinenumberEnd: 4216
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4223
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4226
    functionDepth: 1
    functionLinenumber: 4226
    functionLinenumberEnd: 4229
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4236
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<typename BasicJsonType::number_float_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4240
    functionDepth: 1
    functionLinenumber: 4240
    functionLinenumberEnd: 4243
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4247
    functionDepth: 1
    functionLinenumber: 4247
    functionLinenumberEnd: 4250
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    - Dst: static_cast<underlying_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4254
    functionDepth: 1
    functionLinenumber: 4254
    functionLinenumberEnd: 4258
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<underlying_type>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4261
    functionDepth: 1
    functionLinenumber: 4261
    functionLinenumberEnd: 4264
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4277
      start: 4274
    functionDepth: 1
    functionLinenumber: 4274
    functionLinenumberEnd: 4277
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4280
    functionDepth: 1
    functionLinenumber: 4280
    functionLinenumberEnd: 4283
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t&
      bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4287
    functionDepth: 1
    functionLinenumber: 4287
    functionLinenumberEnd: 4290
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4296
      start: 4293
    functionDepth: 1
    functionLinenumber: 4293
    functionLinenumberEnd: 4296
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4300
    functionDepth: 1
    functionLinenumber: 4300
    functionLinenumberEnd: 4303
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4306
    functionDepth: 1
    functionLinenumber: 4306
    functionLinenumberEnd: 4309
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4316
    functionDepth: 1
    functionLinenumber: 4316
    functionLinenumberEnd: 4319
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4325
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4333
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4333
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - value
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4339
    functionName: nlohmann::detail::to_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::to_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4342
    functionDepth: 1
    functionLinenumber: 4342
    functionLinenumberEnd: 4345
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4354
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::forward<T>
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4025
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4037
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4043,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4045
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4053,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4055
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4068
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::binary_t&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4074,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4077
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::binary_t&&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4089
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4101
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4113
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4125
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4125
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4131,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4133
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4145
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    - end
    - begin
    - template create<typename BasicJsonType::array_t>
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: m_value::array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4155,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4158
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - m_value::array::reserve
    - m_value::array::push_back
    - nlohmann::detail::size
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4167,1
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4172
      start: 4162
    functionDepth: 1
    functionLinenumber: 4162
    functionLinenumberEnd: 4172
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - m_value::array::resize
    - nlohmann::detail::size
    - begin
    - m_value::array::begin
    - end
    - std::copy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4179
    functionDepth: 0
    functionLinenumber: 4179
    functionLinenumberEnd: 4184
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4190,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4192
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4204
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - end
    - begin
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4213
    functionDepth: 1
    functionLinenumber: 4213
    functionLinenumberEnd: 4216
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4223
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4226
    functionDepth: 1
    functionLinenumber: 4226
    functionLinenumberEnd: 4229
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4236
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<typename BasicJsonType::number_float_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4240
    functionDepth: 1
    functionLinenumber: 4240
    functionLinenumberEnd: 4243
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4247
    functionDepth: 1
    functionLinenumber: 4247
    functionLinenumberEnd: 4250
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    - Dst: static_cast<underlying_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4254
    functionDepth: 1
    functionLinenumber: 4254
    functionLinenumberEnd: 4258
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<underlying_type>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4261
    functionDepth: 1
    functionLinenumber: 4261
    functionLinenumberEnd: 4264
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4277
      start: 4274
    functionDepth: 1
    functionLinenumber: 4274
    functionLinenumberEnd: 4277
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4280
    functionDepth: 1
    functionLinenumber: 4280
    functionLinenumberEnd: 4283
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t&
      bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4287
    functionDepth: 1
    functionLinenumber: 4287
    functionLinenumberEnd: 4290
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4296
      start: 4293
    functionDepth: 1
    functionLinenumber: 4293
    functionLinenumberEnd: 4296
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4300
    functionDepth: 1
    functionLinenumber: 4300
    functionLinenumberEnd: 4303
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4306
    functionDepth: 1
    functionLinenumber: 4306
    functionLinenumberEnd: 4309
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4316
    functionDepth: 1
    functionLinenumber: 4316
    functionLinenumberEnd: 4319
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4325
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4333
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4333
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - value
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4339
    functionName: nlohmann::detail::to_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::to_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4342
    functionDepth: 1
    functionLinenumber: 4342
    functionLinenumberEnd: 4345
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4354
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::forward<T>
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4025
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4037
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4043,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4045
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4053,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4055
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4068
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::binary_t&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4074,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4077
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::binary_t&&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4089
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4101
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4113
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4125
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4125
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4131,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4133
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4143,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4145
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    - end
    - begin
    - template create<typename BasicJsonType::array_t>
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4152,1
    - Dst: m_value::array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4155,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4158
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - m_value::array::reserve
    - m_value::array::push_back
    - nlohmann::detail::size
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4166,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4167,1
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4169,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4172
      start: 4162
    functionDepth: 1
    functionLinenumber: 4162
    functionLinenumberEnd: 4172
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - m_value::array::resize
    - nlohmann::detail::size
    - begin
    - m_value::array::begin
    - end
    - std::copy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4179
    functionDepth: 0
    functionLinenumber: 4179
    functionLinenumberEnd: 4184
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4190,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4192
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4202,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4204
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 45
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - end
    - begin
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4213
    functionDepth: 1
    functionLinenumber: 4213
    functionLinenumberEnd: 4216
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4223
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4226
    functionDepth: 1
    functionLinenumber: 4226
    functionLinenumberEnd: 4229
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4236
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<typename BasicJsonType::number_float_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4240
    functionDepth: 1
    functionLinenumber: 4240
    functionLinenumberEnd: 4243
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4247
    functionDepth: 1
    functionLinenumber: 4247
    functionLinenumberEnd: 4250
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    - Dst: static_cast<underlying_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4254
    functionDepth: 1
    functionLinenumber: 4254
    functionLinenumberEnd: 4258
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    - static_cast<underlying_type>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4261
    functionDepth: 1
    functionLinenumber: 4261
    functionLinenumberEnd: 4264
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4277
      start: 4274
    functionDepth: 1
    functionLinenumber: 4274
    functionLinenumberEnd: 4277
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4280
    functionDepth: 1
    functionLinenumber: 4280
    functionLinenumberEnd: 4283
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t&
      bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4287
    functionDepth: 1
    functionLinenumber: 4287
    functionLinenumberEnd: 4290
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4296
      start: 4293
    functionDepth: 1
    functionLinenumber: 4293
    functionLinenumberEnd: 4296
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4300
    functionDepth: 1
    functionLinenumber: 4300
    functionLinenumberEnd: 4303
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4306
    functionDepth: 1
    functionLinenumber: 4306
    functionLinenumberEnd: 4309
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4316
    functionDepth: 1
    functionLinenumber: 4316
    functionLinenumberEnd: 4319
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4325
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4333
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4333
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - value
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4339
    functionName: nlohmann::detail::to_json_tuple_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::to_json_tuple_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4342
    functionDepth: 1
    functionLinenumber: 4342
    functionLinenumberEnd: 4345
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4350,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4351,1
    - Dst: to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    - Dst: std::forward<T>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4354
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::forward<T>
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4383,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4383,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4383,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4384,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4384,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4386,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4382
    functionDepth: 1
    functionLinenumber: 4382
    functionLinenumberEnd: 4387
    functionName: nlohmann::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - noexcept
    - std::forward<BasicJsonType>
    - nlohmann::from_json
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType&& j, ValueType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4400,1
    - Dst: nlohmann::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4400,1
    - Dst: std::forward<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4400,1
    - Dst: nlohmann::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4401,1
    - Dst: std::forward<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4401,1
    - Dst: nlohmann::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4403,1
    - Dst: std::forward<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4404
      start: 4399
    functionDepth: 1
    functionLinenumber: 4399
    functionLinenumberEnd: 4404
    functionName: nlohmann::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - noexcept
    - nlohmann::to_json
    - std::forward<ValueType>
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, ValueType&& val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<ValueType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)),
      void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4383,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4383,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4383,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4384,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4384,1
    - Dst: nlohmann::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4386,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4382
    functionDepth: 1
    functionLinenumber: 4382
    functionLinenumberEnd: 4387
    functionName: nlohmann::from_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - noexcept
    - std::forward<BasicJsonType>
    - nlohmann::from_json
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType&& j, ValueType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4400,1
    - Dst: nlohmann::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4400,1
    - Dst: std::forward<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4400,1
    - Dst: nlohmann::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4401,1
    - Dst: std::forward<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4401,1
    - Dst: nlohmann::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4403,1
    - Dst: std::forward<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4404
      start: 4399
    functionDepth: 1
    functionLinenumber: 4399
    functionLinenumberEnd: 4404
    functionName: nlohmann::to_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - noexcept
    - nlohmann::to_json
    - std::forward<ValueType>
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, ValueType&& val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<ValueType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)),
      void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4439,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4441
      start: 4439
    functionDepth: 0
    functionLinenumber: 4439
    functionLinenumberEnd: 4441
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype() noexcept(noexcept(container_type()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4443,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4443
    functionDepth: 0
    functionLinenumber: 4443
    functionLinenumberEnd: 4445
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(const container_type& b) noexcept(noexcept(container_type(b)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4447,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4447,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4447,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4449
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4449
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::move
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b))))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4451,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' b'
    - subtype
    argTypes:
    - container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4455
      start: 4451
    functionDepth: 0
    functionLinenumber: 4451
    functionLinenumberEnd: 4455
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(const container_type& b, std::uint8_t
      subtype) noexcept(noexcept(container_type(b)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4457,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4457,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4457,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' b'
    - subtype
    argTypes:
    - container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4461
      start: 4457
    functionDepth: 0
    functionLinenumber: 4457
    functionLinenumberEnd: 4461
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::move
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(container_type&& b, std::uint8_t subtype)
      noexcept(noexcept(container_type(std::move(b))))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4465,1
    - Dst: static_cast<const BinaryType&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4465,1
    - Dst: std::tie
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4466,1
    - Dst: static_cast<const BinaryType&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - byte_container_with_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4467
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4467
    functionName: operator==(const byte_container_with_subtype& rhs) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const BinaryType&>
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const byte_container_with_subtype& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - byte_container_with_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4472
      start: 4469
    functionDepth: 0
    functionLinenumber: 4469
    functionLinenumberEnd: 4472
    functionName: operator!=(const byte_container_with_subtype& rhs) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const byte_container_with_subtype& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - subtype
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4496
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4496
    functionName: nlohmann::byte_container_with_subtype::set_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_subtype(std::uint8_t subtype) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4519
    functionDepth: 0
    functionLinenumber: 4519
    functionLinenumberEnd: 4522
    functionName: nlohmann::byte_container_with_subtype::subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4540
    functionDepth: 0
    functionLinenumber: 4540
    functionLinenumberEnd: 4543
    functionName: nlohmann::byte_container_with_subtype::has_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4564
    functionDepth: 0
    functionLinenumber: 4564
    functionLinenumberEnd: 4568
    functionName: nlohmann::byte_container_with_subtype::clear_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_subtype() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4439,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4441
      start: 4439
    functionDepth: 0
    functionLinenumber: 4439
    functionLinenumberEnd: 4441
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype() noexcept(noexcept(container_type()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4443,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4443
    functionDepth: 0
    functionLinenumber: 4443
    functionLinenumberEnd: 4445
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(const container_type& b) noexcept(noexcept(container_type(b)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4447,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4447,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4447,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4449
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4449
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::move
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b))))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4451,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' b'
    - subtype
    argTypes:
    - container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4455
      start: 4451
    functionDepth: 0
    functionLinenumber: 4451
    functionLinenumberEnd: 4455
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(const container_type& b, std::uint8_t
      subtype) noexcept(noexcept(container_type(b)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4457,1
    - Dst: container_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4457,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4457,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' b'
    - subtype
    argTypes:
    - container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4461
      start: 4457
    functionDepth: 0
    functionLinenumber: 4457
    functionLinenumberEnd: 4461
    functionName: nlohmann::byte_container_with_subtype::byte_container_with_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::move
    - container_type
    linkageType: ''
    returnType: void
    signature: void byte_container_with_subtype(container_type&& b, std::uint8_t subtype)
      noexcept(noexcept(container_type(std::move(b))))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4465,1
    - Dst: static_cast<const BinaryType&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4465,1
    - Dst: std::tie
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4466,1
    - Dst: static_cast<const BinaryType&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - byte_container_with_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4467
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4467
    functionName: operator==(const byte_container_with_subtype& rhs) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const BinaryType&>
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator==(const byte_container_with_subtype& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - byte_container_with_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4472
      start: 4469
    functionDepth: 0
    functionLinenumber: 4469
    functionLinenumberEnd: 4472
    functionName: operator!=(const byte_container_with_subtype& rhs) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const byte_container_with_subtype& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - subtype
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4496
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4496
    functionName: nlohmann::byte_container_with_subtype::set_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_subtype(std::uint8_t subtype) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4519
    functionDepth: 0
    functionLinenumber: 4519
    functionLinenumberEnd: 4522
    functionName: nlohmann::byte_container_with_subtype::subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4540
    functionDepth: 0
    functionLinenumber: 4540
    functionLinenumberEnd: 4543
    functionName: nlohmann::byte_container_with_subtype::has_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4564
    functionDepth: 0
    functionLinenumber: 4564
    functionLinenumberEnd: 4568
    functionName: nlohmann::byte_container_with_subtype::clear_subtype
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_subtype() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - h
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4599
    functionName: nlohmann::detail::combine
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t combine(std::size_t seed, std::size_t h) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4621,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4626,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: items
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4632,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4634,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4635,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4653,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4654,1
    - Dst: template get<bool>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4659,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4660,1
    - Dst: template get<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4665,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4666,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4671,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4672,1
    - Dst: template get<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4677,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4678,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4684,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4685,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4687,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4689,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4697
    functionName: nlohmann::detail::hash
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - value
    - items
    - nlohmann::detail::size
    - JSON_ASSERT
    - type
    - nlohmann::detail::hash
    - static_cast<std::size_t>
    - key
    - get_binary
    - template get<number_float_t>
    - template get<number_unsigned_t>
    - nlohmann::detail::combine
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_integer_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t hash(const BasicJsonType& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - h
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4599
    functionName: nlohmann::detail::combine
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t combine(std::size_t seed, std::size_t h) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4621,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4626,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: items
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4632,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4634,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4635,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4653,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4654,1
    - Dst: template get<bool>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4659,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4660,1
    - Dst: template get<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4665,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4666,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4671,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4672,1
    - Dst: template get<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4677,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4678,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4684,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4685,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4687,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4689,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4697
    functionName: nlohmann::detail::hash
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - value
    - items
    - nlohmann::detail::size
    - JSON_ASSERT
    - type
    - nlohmann::detail::hash
    - static_cast<std::size_t>
    - key
    - get_binary
    - template get<number_float_t>
    - template get<number_unsigned_t>
    - nlohmann::detail::combine
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_integer_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t hash(const BasicJsonType& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - h
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4599
    functionName: nlohmann::detail::combine
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t combine(std::size_t seed, std::size_t h) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4621,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4626,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: items
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4632,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4634,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4635,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4653,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4654,1
    - Dst: template get<bool>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4659,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4660,1
    - Dst: template get<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4665,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4666,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4671,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4672,1
    - Dst: template get<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4677,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4678,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4684,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4685,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4687,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4689,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4697
    functionName: nlohmann::detail::hash
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - value
    - items
    - nlohmann::detail::size
    - JSON_ASSERT
    - type
    - nlohmann::detail::hash
    - static_cast<std::size_t>
    - key
    - get_binary
    - template get<number_float_t>
    - template get<number_unsigned_t>
    - nlohmann::detail::combine
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_integer_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t hash(const BasicJsonType& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - h
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4599
    functionName: nlohmann::detail::combine
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t combine(std::size_t seed, std::size_t h) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4620,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4621,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4626,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4631,1
    - Dst: items
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4632,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4634,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4635,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4636,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4643,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4646,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4653,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4654,1
    - Dst: template get<bool>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4659,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4660,1
    - Dst: template get<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4665,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4666,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4671,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4672,1
    - Dst: template get<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4677,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4678,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4683,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4684,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4685,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4686,1
    - Dst: get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4687,1
    - Dst: nlohmann::detail::combine
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4689,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4697
    functionName: nlohmann::detail::hash
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - value
    - items
    - nlohmann::detail::size
    - JSON_ASSERT
    - type
    - nlohmann::detail::hash
    - static_cast<std::size_t>
    - key
    - get_binary
    - template get<number_float_t>
    - template get<number_unsigned_t>
    - nlohmann::detail::combine
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_integer_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t hash(const BasicJsonType& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4760
    functionDepth: 0
    functionLinenumber: 4760
    functionLinenumberEnd: 4762
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4765
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4766
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4767
    functionName: '& operator=(const file_input_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4768
      start: 4768
    functionDepth: 0
    functionLinenumber: 4768
    functionLinenumberEnd: 4768
    functionName: '& operator=(file_input_adapter&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4770
    functionDepth: 0
    functionLinenumber: 4770
    functionLinenumberEnd: 4773
    functionName: nlohmann::detail::file_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4803
      start: 4795
    functionDepth: 1
    functionLinenumber: 4795
    functionLinenumberEnd: 4803
    functionName: ~input_stream_adapter()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - clear
    - rdstate
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4807
      start: 4805
    functionDepth: 0
    functionLinenumber: 4805
    functionLinenumberEnd: 4807
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4810
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4810
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4811
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4812
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4812
    functionName: '& operator=(input_stream_adapter&& rhs)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4814
    functionDepth: 0
    functionLinenumber: 4814
    functionLinenumberEnd: 4818
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4825,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4827,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4832
    functionName: nlohmann::detail::input_stream_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    - JSON_HEDLEY_UNLIKELY
    - sbumpc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4848
    functionDepth: 0
    functionLinenumber: 4848
    functionLinenumberEnd: 4849
    functionName: nlohmann::detail::iterator_input_adapter::iterator_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void iterator_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4853,1
    - Dst: std::char_traits<char_type>::to_int_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4855,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4856,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4863
      start: 4851
    functionDepth: 1
    functionLinenumber: 4851
    functionLinenumberEnd: 4863
    functionName: nlohmann::detail::iterator_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - JSON_HEDLEY_LIKELY
    - std::char_traits<char_type>::to_int_type
    - std::advance
    linkageType: ''
    returnType: typename std::char_traits<char_type>::int_type
    signature: typename std::char_traits<char_type>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4875
      start: 4872
    functionDepth: 0
    functionLinenumber: 4872
    functionLinenumberEnd: 4875
    functionName: nlohmann::detail::iterator_input_adapter::empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4896,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4902,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4907,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4938
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4954,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4960,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4965,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4986,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4987,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4988,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4989,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4990,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4945
    functionDepth: 1
    functionLinenumber: 4945
    functionLinenumberEnd: 5000
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - BaseInputAdapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5011
    functionName: nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(BaseInputAdapter base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::wide_string_input_adapter::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5018,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5020,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5021,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5025,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5013
    functionDepth: 1
    functionLinenumber: 5013
    functionLinenumberEnd: 5028
    functionName: nlohmann::detail::wide_string_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::wide_string_input_adapter::fill_buffer
    - JSON_ASSERT
    linkageType: ''
    returnType: typename std::char_traits<char>::int_type
    signature: typename std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5034
    functionDepth: 2
    functionLinenumber: 5034
    functionLinenumberEnd: 5037
    functionName: nlohmann::detail::wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5059
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: base_adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5080
    functionDepth: 0
    functionLinenumber: 5080
    functionLinenumberEnd: 5083
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    - base_adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5088
    functionDepth: 2
    functionLinenumber: 5088
    functionLinenumberEnd: 5092
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - proj_context_create
    linkageType: ''
    returnType: typename iterator_input_adapter_factory<IteratorType>::adapter_type
    signature: typename iterator_input_adapter_factory<IteratorType>::adapter_type
      input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5103
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container),
      end(container)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5106
    functionDepth: 0
    functionLinenumber: 5106
    functionLinenumberEnd: 5109
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - file_input_adapter
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter input_adapter(std::FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5111
    functionDepth: 0
    functionLinenumber: 5111
    functionLinenumberEnd: 5114
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5119
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream&& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5134,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5131
    functionDepth: 1
    functionLinenumber: 5131
    functionLinenumberEnd: 5136
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - nlohmann::detail::input_adapter
    - std::strlen
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter input_adapter(CharT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5139,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5142
      start: 5139
    functionDepth: 1
    functionLinenumber: 5139
    functionLinenumberEnd: 5142
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array,
      array + N))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5157
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(CharT b, std::size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5164
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5169
    functionName: '&& get()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter && get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4760
    functionDepth: 0
    functionLinenumber: 4760
    functionLinenumberEnd: 4762
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4765
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4766
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4767
    functionName: '& operator=(const file_input_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4768
      start: 4768
    functionDepth: 0
    functionLinenumber: 4768
    functionLinenumberEnd: 4768
    functionName: '& operator=(file_input_adapter&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4770
    functionDepth: 0
    functionLinenumber: 4770
    functionLinenumberEnd: 4773
    functionName: nlohmann::detail::file_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4803
      start: 4795
    functionDepth: 1
    functionLinenumber: 4795
    functionLinenumberEnd: 4803
    functionName: ~input_stream_adapter()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - clear
    - rdstate
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4807
      start: 4805
    functionDepth: 0
    functionLinenumber: 4805
    functionLinenumberEnd: 4807
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4810
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4810
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4811
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4812
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4812
    functionName: '& operator=(input_stream_adapter&& rhs)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4814
    functionDepth: 0
    functionLinenumber: 4814
    functionLinenumberEnd: 4818
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4825,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4827,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4832
    functionName: nlohmann::detail::input_stream_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    - JSON_HEDLEY_UNLIKELY
    - sbumpc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4848
    functionDepth: 0
    functionLinenumber: 4848
    functionLinenumberEnd: 4849
    functionName: nlohmann::detail::iterator_input_adapter::iterator_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void iterator_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4853,1
    - Dst: std::char_traits<char_type>::to_int_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4855,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4856,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4863
      start: 4851
    functionDepth: 1
    functionLinenumber: 4851
    functionLinenumberEnd: 4863
    functionName: nlohmann::detail::iterator_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - JSON_HEDLEY_LIKELY
    - std::char_traits<char_type>::to_int_type
    - std::advance
    linkageType: ''
    returnType: typename std::char_traits<char_type>::int_type
    signature: typename std::char_traits<char_type>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4875
      start: 4872
    functionDepth: 0
    functionLinenumber: 4872
    functionLinenumberEnd: 4875
    functionName: nlohmann::detail::iterator_input_adapter::empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4896,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4902,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4907,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4938
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4954,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4960,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4965,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4986,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4987,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4988,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4989,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4990,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4945
    functionDepth: 1
    functionLinenumber: 4945
    functionLinenumberEnd: 5000
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - BaseInputAdapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5011
    functionName: nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(BaseInputAdapter base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::wide_string_input_adapter::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5018,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5020,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5021,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5025,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5013
    functionDepth: 3
    functionLinenumber: 5013
    functionLinenumberEnd: 5028
    functionName: nlohmann::detail::wide_string_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::wide_string_input_adapter::fill_buffer
    - JSON_ASSERT
    linkageType: ''
    returnType: typename std::char_traits<char>::int_type
    signature: typename std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5034
    functionDepth: 2
    functionLinenumber: 5034
    functionLinenumberEnd: 5037
    functionName: nlohmann::detail::wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5059
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: base_adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5080
    functionDepth: 0
    functionLinenumber: 5080
    functionLinenumberEnd: 5083
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    - base_adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5088
    functionDepth: 2
    functionLinenumber: 5088
    functionLinenumberEnd: 5092
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - proj_context_create
    linkageType: ''
    returnType: typename iterator_input_adapter_factory<IteratorType>::adapter_type
    signature: typename iterator_input_adapter_factory<IteratorType>::adapter_type
      input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5103
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container),
      end(container)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5106
    functionDepth: 0
    functionLinenumber: 5106
    functionLinenumberEnd: 5109
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - file_input_adapter
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter input_adapter(std::FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5111
    functionDepth: 0
    functionLinenumber: 5111
    functionLinenumberEnd: 5114
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5119
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream&& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5134,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5131
    functionDepth: 1
    functionLinenumber: 5131
    functionLinenumberEnd: 5136
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const char*>
    - nlohmann::detail::input_adapter
    - std::strlen
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter input_adapter(CharT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5139,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5142
      start: 5139
    functionDepth: 1
    functionLinenumber: 5139
    functionLinenumberEnd: 5142
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array,
      array + N))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5157
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(CharT b, std::size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5164
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5169
    functionName: '&& get()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter && get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4760
    functionDepth: 0
    functionLinenumber: 4760
    functionLinenumberEnd: 4762
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4765
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4766
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4767
    functionName: '& operator=(const file_input_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4768
      start: 4768
    functionDepth: 0
    functionLinenumber: 4768
    functionLinenumberEnd: 4768
    functionName: '& operator=(file_input_adapter&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4770
    functionDepth: 0
    functionLinenumber: 4770
    functionLinenumberEnd: 4773
    functionName: nlohmann::detail::file_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4803
      start: 4795
    functionDepth: 1
    functionLinenumber: 4795
    functionLinenumberEnd: 4803
    functionName: ~input_stream_adapter()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - clear
    - rdstate
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4807
      start: 4805
    functionDepth: 0
    functionLinenumber: 4805
    functionLinenumberEnd: 4807
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4810
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4810
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4811
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4812
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4812
    functionName: '& operator=(input_stream_adapter&& rhs)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4814
    functionDepth: 0
    functionLinenumber: 4814
    functionLinenumberEnd: 4818
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4825,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4827,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4832
    functionName: nlohmann::detail::input_stream_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    - JSON_HEDLEY_UNLIKELY
    - sbumpc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4848
    functionDepth: 0
    functionLinenumber: 4848
    functionLinenumberEnd: 4849
    functionName: nlohmann::detail::iterator_input_adapter::iterator_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void iterator_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4853,1
    - Dst: std::char_traits<char_type>::to_int_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4855,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4856,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4863
      start: 4851
    functionDepth: 1
    functionLinenumber: 4851
    functionLinenumberEnd: 4863
    functionName: nlohmann::detail::iterator_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - JSON_HEDLEY_LIKELY
    - std::char_traits<char_type>::to_int_type
    - std::advance
    linkageType: ''
    returnType: typename std::char_traits<char_type>::int_type
    signature: typename std::char_traits<char_type>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4875
      start: 4872
    functionDepth: 0
    functionLinenumber: 4872
    functionLinenumberEnd: 4875
    functionName: nlohmann::detail::iterator_input_adapter::empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4896,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4902,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4907,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4938
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4954,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4960,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4965,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4986,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4987,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4988,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4989,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4990,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4945
    functionDepth: 1
    functionLinenumber: 4945
    functionLinenumberEnd: 5000
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - BaseInputAdapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5011
    functionName: nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(BaseInputAdapter base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::wide_string_input_adapter::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5018,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5020,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5021,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5025,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5013
    functionDepth: 3
    functionLinenumber: 5013
    functionLinenumberEnd: 5028
    functionName: nlohmann::detail::wide_string_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::wide_string_input_adapter::fill_buffer
    - JSON_ASSERT
    linkageType: ''
    returnType: typename std::char_traits<char>::int_type
    signature: typename std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5034
    functionDepth: 2
    functionLinenumber: 5034
    functionLinenumberEnd: 5037
    functionName: nlohmann::detail::wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5059
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: base_adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5080
    functionDepth: 0
    functionLinenumber: 5080
    functionLinenumberEnd: 5083
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    - base_adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5088
    functionDepth: 2
    functionLinenumber: 5088
    functionLinenumberEnd: 5092
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - proj_context_create
    linkageType: ''
    returnType: typename iterator_input_adapter_factory<IteratorType>::adapter_type
    signature: typename iterator_input_adapter_factory<IteratorType>::adapter_type
      input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5103
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - end
    - begin
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container),
      end(container)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5106
    functionDepth: 0
    functionLinenumber: 5106
    functionLinenumberEnd: 5109
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - file_input_adapter
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter input_adapter(std::FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5111
    functionDepth: 0
    functionLinenumber: 5111
    functionLinenumberEnd: 5114
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5119
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream&& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5134,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5131
    functionDepth: 1
    functionLinenumber: 5131
    functionLinenumberEnd: 5136
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const char*>
    - nlohmann::detail::input_adapter
    - std::strlen
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter input_adapter(CharT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5139,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5142
      start: 5139
    functionDepth: 1
    functionLinenumber: 5139
    functionLinenumberEnd: 5142
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array,
      array + N))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5157
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(CharT b, std::size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5164
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5169
    functionName: '&& get()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter && get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4760
    functionDepth: 0
    functionLinenumber: 4760
    functionLinenumberEnd: 4762
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4765
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4766
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4767
    functionName: '& operator=(const file_input_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4768
      start: 4768
    functionDepth: 0
    functionLinenumber: 4768
    functionLinenumberEnd: 4768
    functionName: '& operator=(file_input_adapter&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(file_input_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4770
    functionDepth: 0
    functionLinenumber: 4770
    functionLinenumberEnd: 4773
    functionName: nlohmann::detail::file_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4803
      start: 4795
    functionDepth: 1
    functionLinenumber: 4795
    functionLinenumberEnd: 4803
    functionName: ~input_stream_adapter()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - clear
    - rdstate
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4807
      start: 4805
    functionDepth: 0
    functionLinenumber: 4805
    functionLinenumberEnd: 4807
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4810
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4810
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4811
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4812
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4812
    functionName: '& operator=(input_stream_adapter&& rhs)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4814
    functionDepth: 0
    functionLinenumber: 4814
    functionLinenumberEnd: 4818
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4825,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4827,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    - Dst: rdstate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4832
    functionName: nlohmann::detail::input_stream_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    - JSON_HEDLEY_UNLIKELY
    - sbumpc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4848
    functionDepth: 0
    functionLinenumber: 4848
    functionLinenumberEnd: 4849
    functionName: nlohmann::detail::iterator_input_adapter::iterator_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void iterator_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4853,1
    - Dst: std::char_traits<char_type>::to_int_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4855,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4856,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4863
      start: 4851
    functionDepth: 1
    functionLinenumber: 4851
    functionLinenumberEnd: 4863
    functionName: nlohmann::detail::iterator_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - JSON_HEDLEY_LIKELY
    - std::char_traits<char_type>::to_int_type
    - std::advance
    linkageType: ''
    returnType: typename std::char_traits<char_type>::int_type
    signature: typename std::char_traits<char_type>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4875
      start: 4872
    functionDepth: 0
    functionLinenumber: 4872
    functionLinenumberEnd: 4875
    functionName: nlohmann::detail::iterator_input_adapter::empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4894,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4896,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4902,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4907,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4912,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4913,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4918,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4919,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4920,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4925,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4926,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4927,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4928,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4938
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4952,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4954,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4960,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4965,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4970,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4971,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4976,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4977,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4983,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4985,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4986,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4987,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4988,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4989,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4990,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:4995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4945
    functionDepth: 1
    functionLinenumber: 4945
    functionLinenumberEnd: 5000
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::char_traits<char>::int_type>
    - get_character
    - static_cast<unsigned int>
    - JSON_HEDLEY_UNLIKELY
    - empty
    - opt_eof
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - BaseInputAdapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5011
    functionName: nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(BaseInputAdapter base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::wide_string_input_adapter::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5018,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5020,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5021,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5025,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5013
    functionDepth: 3
    functionLinenumber: 5013
    functionLinenumberEnd: 5028
    functionName: nlohmann::detail::wide_string_input_adapter::get_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::wide_string_input_adapter::fill_buffer
    - JSON_ASSERT
    linkageType: ''
    returnType: typename std::char_traits<char>::int_type
    signature: typename std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5034
    functionDepth: 2
    functionLinenumber: 5034
    functionLinenumberEnd: 5037
    functionName: nlohmann::detail::wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5059
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: base_adapter_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5080
    functionDepth: 0
    functionLinenumber: 5080
    functionLinenumberEnd: 5083
    functionName: nlohmann::detail::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - adapter_type
    - base_adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5088
    functionDepth: 2
    functionLinenumber: 5088
    functionLinenumberEnd: 5092
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - proj_context_create
    linkageType: ''
    returnType: typename iterator_input_adapter_factory<IteratorType>::adapter_type
    signature: typename iterator_input_adapter_factory<IteratorType>::adapter_type
      input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5096,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5103
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - end
    - begin
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container),
      end(container)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5106
    functionDepth: 0
    functionLinenumber: 5106
    functionLinenumberEnd: 5109
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - file_input_adapter
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter input_adapter(std::FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5111
    functionDepth: 0
    functionLinenumber: 5111
    functionLinenumberEnd: 5114
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5116
    functionDepth: 0
    functionLinenumber: 5116
    functionLinenumberEnd: 5119
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream&& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5133,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5134,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5131
    functionDepth: 1
    functionLinenumber: 5131
    functionLinenumberEnd: 5136
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 11
    functionsReached:
    - reinterpret_cast<const char*>
    - nlohmann::detail::input_adapter
    - std::strlen
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter input_adapter(CharT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5139,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5142
      start: 5139
    functionDepth: 1
    functionLinenumber: 5139
    functionLinenumberEnd: 5142
    functionName: nlohmann::detail::input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array,
      array + N))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5157
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(CharT b, std::size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5164
    functionName: nlohmann::detail::span_input_adapter::span_input_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5169
    functionName: '&& get()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter && get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5308
      start: 5308
    functionDepth: 0
    functionLinenumber: 5308
    functionLinenumberEnd: 5308
    functionName: ~json_sax()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5342
    functionDepth: 0
    functionLinenumber: 5342
    functionLinenumberEnd: 5344
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5347
    functionDepth: 0
    functionLinenumber: 5347
    functionLinenumberEnd: 5347
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5348
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5349
      start: 5349
    functionDepth: 0
    functionLinenumber: 5349
    functionLinenumberEnd: 5349
    functionName: '& operator=(const json_sax_dom_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5350
    functionDepth: 0
    functionLinenumber: 5350
    functionLinenumberEnd: 5350
    functionName: '& operator=(json_sax_dom_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5351
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5357
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5357
    functionName: nlohmann::detail::json_sax_dom_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5363
      start: 5359
    functionDepth: 0
    functionLinenumber: 5359
    functionLinenumberEnd: 5363
    functionName: nlohmann::detail::json_sax_dom_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5369
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5369
    functionName: nlohmann::detail::json_sax_dom_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5375
      start: 5371
    functionDepth: 0
    functionLinenumber: 5371
    functionLinenumberEnd: 5375
    functionName: nlohmann::detail::json_sax_dom_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5381
      start: 5377
    functionDepth: 0
    functionLinenumber: 5377
    functionLinenumberEnd: 5381
    functionName: nlohmann::detail::json_sax_dom_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5387
    functionName: nlohmann::detail::json_sax_dom_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5389
    functionDepth: 0
    functionLinenumber: 5389
    functionLinenumberEnd: 5393
    functionName: nlohmann::detail::json_sax_dom_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5395
    functionDepth: 1
    functionLinenumber: 5395
    functionLinenumberEnd: 5406
    functionName: nlohmann::detail::json_sax_dom_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5408
    functionDepth: 1
    functionLinenumber: 5408
    functionLinenumberEnd: 5413
    functionName: nlohmann::detail::json_sax_dom_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - object
    - back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5415
    functionDepth: 0
    functionLinenumber: 5415
    functionLinenumberEnd: 5419
    functionName: nlohmann::detail::json_sax_dom_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5432
      start: 5421
    functionDepth: 1
    functionLinenumber: 5421
    functionLinenumberEnd: 5432
    functionName: nlohmann::detail::json_sax_dom_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5434
    functionDepth: 0
    functionLinenumber: 5434
    functionLinenumberEnd: 5438
    functionName: nlohmann::detail::json_sax_dom_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5445,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5451
      start: 5441
    functionDepth: 1
    functionLinenumber: 5441
    functionLinenumberEnd: 5451
    functionName: nlohmann::detail::json_sax_dom_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5456
    functionName: nlohmann::detail::json_sax_dom_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5469,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5477,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: array::emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5484,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5466
    functionDepth: 1
    functionLinenumber: 5466
    functionLinenumberEnd: 5487
    functionName: BasicJsonType* handle_value(Value&& v)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - array::emplace_back
    - std::forward<Value>
    - JSON_ASSERT
    - array::back
    - back
    - empty
    - BasicJsonType
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* handle_value(Value&& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - cb
    argTypes:
    - BasicJsonType
    - parser_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5513
    functionDepth: 1
    functionLinenumber: 5513
    functionLinenumberEnd: 5519
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: "void json_sax_dom_callback_parser(BasicJsonType& r,\n                                 const
      parser_callback_t cb,\n                                 const bool allow_exceptions_
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5522
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5523
    functionDepth: 0
    functionLinenumber: 5523
    functionLinenumberEnd: 5523
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5524
      start: 5524
    functionDepth: 0
    functionLinenumber: 5524
    functionLinenumberEnd: 5524
    functionName: '& operator=(const json_sax_dom_callback_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5525
    functionDepth: 0
    functionLinenumber: 5525
    functionLinenumberEnd: 5525
    functionName: '& operator=(json_sax_dom_callback_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5526
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5526
    functionName: ~json_sax_dom_callback_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_callback_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5532
      start: 5528
    functionDepth: 1
    functionLinenumber: 5528
    functionLinenumberEnd: 5532
    functionName: nlohmann::detail::json_sax_dom_callback_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5538
      start: 5534
    functionDepth: 1
    functionLinenumber: 5534
    functionLinenumberEnd: 5538
    functionName: nlohmann::detail::json_sax_dom_callback_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5540
    functionDepth: 1
    functionLinenumber: 5540
    functionLinenumberEnd: 5544
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5546
    functionDepth: 1
    functionLinenumber: 5546
    functionLinenumberEnd: 5550
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5556
      start: 5552
    functionDepth: 1
    functionLinenumber: 5552
    functionLinenumberEnd: 5556
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5562
      start: 5558
    functionDepth: 1
    functionLinenumber: 5558
    functionLinenumberEnd: 5562
    functionName: nlohmann::detail::json_sax_dom_callback_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5568
      start: 5564
    functionDepth: 1
    functionLinenumber: 5564
    functionLinenumberEnd: 5568
    functionName: nlohmann::detail::json_sax_dom_callback_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5574,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5576,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5577,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5570
    functionDepth: 1
    functionLinenumber: 5570
    functionLinenumberEnd: 5586
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5590,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5594,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5597,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5588
    functionDepth: 1
    functionLinenumber: 5588
    functionLinenumberEnd: 5603
    functionName: nlohmann::detail::json_sax_dom_callback_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - callback
    - back
    - push_back
    - object
    - BasicJsonType
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5610,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5615,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5616,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: auto::is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5623,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5605
    functionDepth: 1
    functionLinenumber: 5605
    functionLinenumberEnd: 5632
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - auto::is_discarded
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5637,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5639,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5640,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5649
      start: 5634
    functionDepth: 1
    functionLinenumber: 5634
    functionLinenumberEnd: 5649
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5655,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5661,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5667,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5668,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    - Dst: array::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5651
    functionDepth: 1
    functionLinenumber: 5651
    functionLinenumberEnd: 5677
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - array::pop_back
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5684,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5680
    functionDepth: 1
    functionLinenumber: 5680
    functionLinenumberEnd: 5690
    functionName: nlohmann::detail::json_sax_dom_callback_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5695
      start: 5692
    functionDepth: 0
    functionLinenumber: 5692
    functionLinenumberEnd: 5695
    functionName: nlohmann::detail::json_sax_dom_callback_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5720,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5737,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5739,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5745,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5754,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5764,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5765,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5772,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5775
      start: 5714
    functionDepth: 1
    functionLinenumber: 5714
    functionLinenumberEnd: 5775
    functionName: nlohmann::detail::json_sax_dom_callback_parser::handle_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - size
    - std::forward<Value>
    - JSON_ASSERT
    - static_cast<int>
    - std::move
    - array::back
    - back
    - callback
    - array::push_back
    - empty
    - BasicJsonType
    - pop_back
    linkageType: ''
    returnType: std::pair<bool, BasicJsonType*>
    signature: std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool
      skip_callback = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5810
      start: 5807
    functionDepth: 0
    functionLinenumber: 5807
    functionLinenumberEnd: 5810
    functionName: nlohmann::detail::json_sax_acceptor::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5812
    functionDepth: 0
    functionLinenumber: 5812
    functionLinenumberEnd: 5815
    functionName: nlohmann::detail::json_sax_acceptor::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5820
      start: 5817
    functionDepth: 0
    functionLinenumber: 5817
    functionLinenumberEnd: 5820
    functionName: nlohmann::detail::json_sax_acceptor::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5822
    functionDepth: 0
    functionLinenumber: 5822
    functionLinenumberEnd: 5825
    functionName: nlohmann::detail::json_sax_acceptor::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5827
    functionDepth: 0
    functionLinenumber: 5827
    functionLinenumberEnd: 5830
    functionName: nlohmann::detail::json_sax_acceptor::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5835
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5835
    functionName: nlohmann::detail::json_sax_acceptor::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5840
    functionName: nlohmann::detail::json_sax_acceptor::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5842
    functionDepth: 0
    functionLinenumber: 5842
    functionLinenumberEnd: 5845
    functionName: nlohmann::detail::json_sax_acceptor::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5847
    functionDepth: 0
    functionLinenumber: 5847
    functionLinenumberEnd: 5850
    functionName: nlohmann::detail::json_sax_acceptor::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5852
    functionDepth: 0
    functionLinenumber: 5852
    functionLinenumberEnd: 5855
    functionName: nlohmann::detail::json_sax_acceptor::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5857
    functionDepth: 0
    functionLinenumber: 5857
    functionLinenumberEnd: 5860
    functionName: nlohmann::detail::json_sax_acceptor::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5865
    functionName: nlohmann::detail::json_sax_acceptor::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5870
      start: 5867
    functionDepth: 0
    functionLinenumber: 5867
    functionLinenumberEnd: 5870
    functionName: nlohmann::detail::json_sax_acceptor::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      const detail::exception& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5342
    functionDepth: 0
    functionLinenumber: 5342
    functionLinenumberEnd: 5344
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5347
    functionDepth: 0
    functionLinenumber: 5347
    functionLinenumberEnd: 5347
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5348
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5349
      start: 5349
    functionDepth: 0
    functionLinenumber: 5349
    functionLinenumberEnd: 5349
    functionName: '& operator=(const json_sax_dom_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5350
    functionDepth: 0
    functionLinenumber: 5350
    functionLinenumberEnd: 5350
    functionName: '& operator=(json_sax_dom_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5351
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5357
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5357
    functionName: nlohmann::detail::json_sax_dom_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5363
      start: 5359
    functionDepth: 0
    functionLinenumber: 5359
    functionLinenumberEnd: 5363
    functionName: nlohmann::detail::json_sax_dom_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5369
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5369
    functionName: nlohmann::detail::json_sax_dom_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5375
      start: 5371
    functionDepth: 0
    functionLinenumber: 5371
    functionLinenumberEnd: 5375
    functionName: nlohmann::detail::json_sax_dom_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5381
      start: 5377
    functionDepth: 0
    functionLinenumber: 5377
    functionLinenumberEnd: 5381
    functionName: nlohmann::detail::json_sax_dom_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5387
    functionName: nlohmann::detail::json_sax_dom_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5389
    functionDepth: 0
    functionLinenumber: 5389
    functionLinenumberEnd: 5393
    functionName: nlohmann::detail::json_sax_dom_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5395
    functionDepth: 1
    functionLinenumber: 5395
    functionLinenumberEnd: 5406
    functionName: nlohmann::detail::json_sax_dom_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5408
    functionDepth: 1
    functionLinenumber: 5408
    functionLinenumberEnd: 5413
    functionName: nlohmann::detail::json_sax_dom_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - object
    - back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5415
    functionDepth: 0
    functionLinenumber: 5415
    functionLinenumberEnd: 5419
    functionName: nlohmann::detail::json_sax_dom_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5432
      start: 5421
    functionDepth: 1
    functionLinenumber: 5421
    functionLinenumberEnd: 5432
    functionName: nlohmann::detail::json_sax_dom_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5434
    functionDepth: 0
    functionLinenumber: 5434
    functionLinenumberEnd: 5438
    functionName: nlohmann::detail::json_sax_dom_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5445,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5451
      start: 5441
    functionDepth: 1
    functionLinenumber: 5441
    functionLinenumberEnd: 5451
    functionName: nlohmann::detail::json_sax_dom_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5456
    functionName: nlohmann::detail::json_sax_dom_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5469,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5477,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: array::emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5484,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5466
    functionDepth: 1
    functionLinenumber: 5466
    functionLinenumberEnd: 5487
    functionName: BasicJsonType* handle_value(Value&& v)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - array::emplace_back
    - std::forward<Value>
    - JSON_ASSERT
    - array::back
    - back
    - empty
    - BasicJsonType
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* handle_value(Value&& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - cb
    argTypes:
    - BasicJsonType
    - parser_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5513
    functionDepth: 1
    functionLinenumber: 5513
    functionLinenumberEnd: 5519
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: "void json_sax_dom_callback_parser(BasicJsonType& r,\n                                 const
      parser_callback_t cb,\n                                 const bool allow_exceptions_
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5522
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5523
    functionDepth: 0
    functionLinenumber: 5523
    functionLinenumberEnd: 5523
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5524
      start: 5524
    functionDepth: 0
    functionLinenumber: 5524
    functionLinenumberEnd: 5524
    functionName: '& operator=(const json_sax_dom_callback_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5525
    functionDepth: 0
    functionLinenumber: 5525
    functionLinenumberEnd: 5525
    functionName: '& operator=(json_sax_dom_callback_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5526
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5526
    functionName: ~json_sax_dom_callback_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_callback_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5532
      start: 5528
    functionDepth: 2
    functionLinenumber: 5528
    functionLinenumberEnd: 5532
    functionName: nlohmann::detail::json_sax_dom_callback_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5538
      start: 5534
    functionDepth: 2
    functionLinenumber: 5534
    functionLinenumberEnd: 5538
    functionName: nlohmann::detail::json_sax_dom_callback_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5540
    functionDepth: 2
    functionLinenumber: 5540
    functionLinenumberEnd: 5544
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5546
    functionDepth: 2
    functionLinenumber: 5546
    functionLinenumberEnd: 5550
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5556
      start: 5552
    functionDepth: 2
    functionLinenumber: 5552
    functionLinenumberEnd: 5556
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5562
      start: 5558
    functionDepth: 2
    functionLinenumber: 5558
    functionLinenumberEnd: 5562
    functionName: nlohmann::detail::json_sax_dom_callback_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5568
      start: 5564
    functionDepth: 2
    functionLinenumber: 5564
    functionLinenumberEnd: 5568
    functionName: nlohmann::detail::json_sax_dom_callback_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5574,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5576,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5577,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5570
    functionDepth: 2
    functionLinenumber: 5570
    functionLinenumberEnd: 5586
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5590,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5594,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5597,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5588
    functionDepth: 1
    functionLinenumber: 5588
    functionLinenumberEnd: 5603
    functionName: nlohmann::detail::json_sax_dom_callback_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - callback
    - back
    - push_back
    - object
    - BasicJsonType
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5610,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5615,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5616,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: auto::is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5623,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5605
    functionDepth: 1
    functionLinenumber: 5605
    functionLinenumberEnd: 5632
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - auto::is_discarded
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5637,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5639,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5640,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5649
      start: 5634
    functionDepth: 2
    functionLinenumber: 5634
    functionLinenumberEnd: 5649
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5655,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5661,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5667,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5668,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    - Dst: array::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5651
    functionDepth: 1
    functionLinenumber: 5651
    functionLinenumberEnd: 5677
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - array::pop_back
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5684,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5680
    functionDepth: 1
    functionLinenumber: 5680
    functionLinenumberEnd: 5690
    functionName: nlohmann::detail::json_sax_dom_callback_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5695
      start: 5692
    functionDepth: 0
    functionLinenumber: 5692
    functionLinenumberEnd: 5695
    functionName: nlohmann::detail::json_sax_dom_callback_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5720,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5737,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5739,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5745,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5754,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5764,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5765,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5772,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5775
      start: 5714
    functionDepth: 1
    functionLinenumber: 5714
    functionLinenumberEnd: 5775
    functionName: nlohmann::detail::json_sax_dom_callback_parser::handle_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 18
    functionsReached:
    - size
    - std::forward<Value>
    - JSON_ASSERT
    - static_cast<int>
    - std::move
    - array::back
    - back
    - callback
    - array::push_back
    - empty
    - BasicJsonType
    - pop_back
    linkageType: ''
    returnType: std::pair<bool, BasicJsonType*>
    signature: std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool
      skip_callback = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5810
      start: 5807
    functionDepth: 0
    functionLinenumber: 5807
    functionLinenumberEnd: 5810
    functionName: nlohmann::detail::json_sax_acceptor::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5812
    functionDepth: 0
    functionLinenumber: 5812
    functionLinenumberEnd: 5815
    functionName: nlohmann::detail::json_sax_acceptor::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5820
      start: 5817
    functionDepth: 0
    functionLinenumber: 5817
    functionLinenumberEnd: 5820
    functionName: nlohmann::detail::json_sax_acceptor::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5822
    functionDepth: 0
    functionLinenumber: 5822
    functionLinenumberEnd: 5825
    functionName: nlohmann::detail::json_sax_acceptor::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5827
    functionDepth: 0
    functionLinenumber: 5827
    functionLinenumberEnd: 5830
    functionName: nlohmann::detail::json_sax_acceptor::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5835
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5835
    functionName: nlohmann::detail::json_sax_acceptor::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5840
    functionName: nlohmann::detail::json_sax_acceptor::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5842
    functionDepth: 0
    functionLinenumber: 5842
    functionLinenumberEnd: 5845
    functionName: nlohmann::detail::json_sax_acceptor::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5847
    functionDepth: 0
    functionLinenumber: 5847
    functionLinenumberEnd: 5850
    functionName: nlohmann::detail::json_sax_acceptor::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5852
    functionDepth: 0
    functionLinenumber: 5852
    functionLinenumberEnd: 5855
    functionName: nlohmann::detail::json_sax_acceptor::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5857
    functionDepth: 0
    functionLinenumber: 5857
    functionLinenumberEnd: 5860
    functionName: nlohmann::detail::json_sax_acceptor::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5865
    functionName: nlohmann::detail::json_sax_acceptor::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5870
      start: 5867
    functionDepth: 0
    functionLinenumber: 5867
    functionLinenumberEnd: 5870
    functionName: nlohmann::detail::json_sax_acceptor::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      const detail::exception& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5308
      start: 5308
    functionDepth: 0
    functionLinenumber: 5308
    functionLinenumberEnd: 5308
    functionName: ~json_sax()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5342
    functionDepth: 0
    functionLinenumber: 5342
    functionLinenumberEnd: 5344
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5347
    functionDepth: 0
    functionLinenumber: 5347
    functionLinenumberEnd: 5347
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5348
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5349
      start: 5349
    functionDepth: 0
    functionLinenumber: 5349
    functionLinenumberEnd: 5349
    functionName: '& operator=(const json_sax_dom_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5350
    functionDepth: 0
    functionLinenumber: 5350
    functionLinenumberEnd: 5350
    functionName: '& operator=(json_sax_dom_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5351
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5357
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5357
    functionName: nlohmann::detail::json_sax_dom_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5363
      start: 5359
    functionDepth: 0
    functionLinenumber: 5359
    functionLinenumberEnd: 5363
    functionName: nlohmann::detail::json_sax_dom_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5369
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5369
    functionName: nlohmann::detail::json_sax_dom_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5375
      start: 5371
    functionDepth: 0
    functionLinenumber: 5371
    functionLinenumberEnd: 5375
    functionName: nlohmann::detail::json_sax_dom_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5381
      start: 5377
    functionDepth: 0
    functionLinenumber: 5377
    functionLinenumberEnd: 5381
    functionName: nlohmann::detail::json_sax_dom_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5387
    functionName: nlohmann::detail::json_sax_dom_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5389
    functionDepth: 0
    functionLinenumber: 5389
    functionLinenumberEnd: 5393
    functionName: nlohmann::detail::json_sax_dom_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5395
    functionDepth: 1
    functionLinenumber: 5395
    functionLinenumberEnd: 5406
    functionName: nlohmann::detail::json_sax_dom_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5408
    functionDepth: 1
    functionLinenumber: 5408
    functionLinenumberEnd: 5413
    functionName: nlohmann::detail::json_sax_dom_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - object
    - back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5415
    functionDepth: 0
    functionLinenumber: 5415
    functionLinenumberEnd: 5419
    functionName: nlohmann::detail::json_sax_dom_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5432
      start: 5421
    functionDepth: 1
    functionLinenumber: 5421
    functionLinenumberEnd: 5432
    functionName: nlohmann::detail::json_sax_dom_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5434
    functionDepth: 0
    functionLinenumber: 5434
    functionLinenumberEnd: 5438
    functionName: nlohmann::detail::json_sax_dom_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5445,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5451
      start: 5441
    functionDepth: 1
    functionLinenumber: 5441
    functionLinenumberEnd: 5451
    functionName: nlohmann::detail::json_sax_dom_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5456
    functionName: nlohmann::detail::json_sax_dom_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5469,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5477,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: array::emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5484,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5466
    functionDepth: 1
    functionLinenumber: 5466
    functionLinenumberEnd: 5487
    functionName: BasicJsonType* handle_value(Value&& v)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - array::emplace_back
    - std::forward<Value>
    - JSON_ASSERT
    - array::back
    - back
    - empty
    - BasicJsonType
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* handle_value(Value&& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - cb
    argTypes:
    - BasicJsonType
    - parser_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5513
    functionDepth: 1
    functionLinenumber: 5513
    functionLinenumberEnd: 5519
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: "void json_sax_dom_callback_parser(BasicJsonType& r,\n                                 const
      parser_callback_t cb,\n                                 const bool allow_exceptions_
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5522
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5523
    functionDepth: 0
    functionLinenumber: 5523
    functionLinenumberEnd: 5523
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5524
      start: 5524
    functionDepth: 0
    functionLinenumber: 5524
    functionLinenumberEnd: 5524
    functionName: '& operator=(const json_sax_dom_callback_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5525
    functionDepth: 0
    functionLinenumber: 5525
    functionLinenumberEnd: 5525
    functionName: '& operator=(json_sax_dom_callback_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5526
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5526
    functionName: ~json_sax_dom_callback_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_callback_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5532
      start: 5528
    functionDepth: 2
    functionLinenumber: 5528
    functionLinenumberEnd: 5532
    functionName: nlohmann::detail::json_sax_dom_callback_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5538
      start: 5534
    functionDepth: 2
    functionLinenumber: 5534
    functionLinenumberEnd: 5538
    functionName: nlohmann::detail::json_sax_dom_callback_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5540
    functionDepth: 2
    functionLinenumber: 5540
    functionLinenumberEnd: 5544
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5546
    functionDepth: 2
    functionLinenumber: 5546
    functionLinenumberEnd: 5550
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5556
      start: 5552
    functionDepth: 2
    functionLinenumber: 5552
    functionLinenumberEnd: 5556
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5562
      start: 5558
    functionDepth: 2
    functionLinenumber: 5558
    functionLinenumberEnd: 5562
    functionName: nlohmann::detail::json_sax_dom_callback_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5568
      start: 5564
    functionDepth: 2
    functionLinenumber: 5564
    functionLinenumberEnd: 5568
    functionName: nlohmann::detail::json_sax_dom_callback_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5574,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5576,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5577,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5570
    functionDepth: 2
    functionLinenumber: 5570
    functionLinenumberEnd: 5586
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5590,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5594,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5597,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5588
    functionDepth: 1
    functionLinenumber: 5588
    functionLinenumberEnd: 5603
    functionName: nlohmann::detail::json_sax_dom_callback_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - callback
    - back
    - push_back
    - object
    - BasicJsonType
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5610,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5615,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5616,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: auto::is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5623,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5605
    functionDepth: 1
    functionLinenumber: 5605
    functionLinenumberEnd: 5632
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - auto::is_discarded
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5637,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5639,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5640,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5649
      start: 5634
    functionDepth: 2
    functionLinenumber: 5634
    functionLinenumberEnd: 5649
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5655,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5661,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5667,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5668,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    - Dst: array::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5651
    functionDepth: 1
    functionLinenumber: 5651
    functionLinenumberEnd: 5677
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - array::pop_back
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5684,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5680
    functionDepth: 1
    functionLinenumber: 5680
    functionLinenumberEnd: 5690
    functionName: nlohmann::detail::json_sax_dom_callback_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5695
      start: 5692
    functionDepth: 0
    functionLinenumber: 5692
    functionLinenumberEnd: 5695
    functionName: nlohmann::detail::json_sax_dom_callback_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5720,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5737,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5739,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5745,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5754,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5764,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5765,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5772,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5775
      start: 5714
    functionDepth: 1
    functionLinenumber: 5714
    functionLinenumberEnd: 5775
    functionName: nlohmann::detail::json_sax_dom_callback_parser::handle_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 27
    functionsReached:
    - size
    - std::forward<Value>
    - JSON_ASSERT
    - static_cast<int>
    - std::move
    - array::back
    - back
    - callback
    - array::push_back
    - empty
    - BasicJsonType
    - pop_back
    linkageType: ''
    returnType: std::pair<bool, BasicJsonType*>
    signature: std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool
      skip_callback = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5810
      start: 5807
    functionDepth: 0
    functionLinenumber: 5807
    functionLinenumberEnd: 5810
    functionName: nlohmann::detail::json_sax_acceptor::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5812
    functionDepth: 0
    functionLinenumber: 5812
    functionLinenumberEnd: 5815
    functionName: nlohmann::detail::json_sax_acceptor::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5820
      start: 5817
    functionDepth: 0
    functionLinenumber: 5817
    functionLinenumberEnd: 5820
    functionName: nlohmann::detail::json_sax_acceptor::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5822
    functionDepth: 0
    functionLinenumber: 5822
    functionLinenumberEnd: 5825
    functionName: nlohmann::detail::json_sax_acceptor::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5827
    functionDepth: 0
    functionLinenumber: 5827
    functionLinenumberEnd: 5830
    functionName: nlohmann::detail::json_sax_acceptor::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5835
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5835
    functionName: nlohmann::detail::json_sax_acceptor::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5840
    functionName: nlohmann::detail::json_sax_acceptor::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5842
    functionDepth: 0
    functionLinenumber: 5842
    functionLinenumberEnd: 5845
    functionName: nlohmann::detail::json_sax_acceptor::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5847
    functionDepth: 0
    functionLinenumber: 5847
    functionLinenumberEnd: 5850
    functionName: nlohmann::detail::json_sax_acceptor::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5852
    functionDepth: 0
    functionLinenumber: 5852
    functionLinenumberEnd: 5855
    functionName: nlohmann::detail::json_sax_acceptor::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5857
    functionDepth: 0
    functionLinenumber: 5857
    functionLinenumberEnd: 5860
    functionName: nlohmann::detail::json_sax_acceptor::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5865
    functionName: nlohmann::detail::json_sax_acceptor::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5870
      start: 5867
    functionDepth: 0
    functionLinenumber: 5867
    functionLinenumberEnd: 5870
    functionName: nlohmann::detail::json_sax_acceptor::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      const detail::exception& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5342
    functionDepth: 0
    functionLinenumber: 5342
    functionLinenumberEnd: 5344
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5347
    functionDepth: 0
    functionLinenumber: 5347
    functionLinenumberEnd: 5347
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5348
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5349
      start: 5349
    functionDepth: 0
    functionLinenumber: 5349
    functionLinenumberEnd: 5349
    functionName: '& operator=(const json_sax_dom_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5350
    functionDepth: 0
    functionLinenumber: 5350
    functionLinenumberEnd: 5350
    functionName: '& operator=(json_sax_dom_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5351
    functionDepth: 0
    functionLinenumber: 5351
    functionLinenumberEnd: 5351
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5357
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5357
    functionName: nlohmann::detail::json_sax_dom_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5363
      start: 5359
    functionDepth: 0
    functionLinenumber: 5359
    functionLinenumberEnd: 5363
    functionName: nlohmann::detail::json_sax_dom_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5369
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5369
    functionName: nlohmann::detail::json_sax_dom_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5375
      start: 5371
    functionDepth: 0
    functionLinenumber: 5371
    functionLinenumberEnd: 5375
    functionName: nlohmann::detail::json_sax_dom_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5381
      start: 5377
    functionDepth: 0
    functionLinenumber: 5377
    functionLinenumberEnd: 5381
    functionName: nlohmann::detail::json_sax_dom_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5387
    functionName: nlohmann::detail::json_sax_dom_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5389
    functionDepth: 0
    functionLinenumber: 5389
    functionLinenumberEnd: 5393
    functionName: nlohmann::detail::json_sax_dom_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5397,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5399,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5401,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5395
    functionDepth: 1
    functionLinenumber: 5395
    functionLinenumberEnd: 5406
    functionName: nlohmann::detail::json_sax_dom_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5408
    functionDepth: 1
    functionLinenumber: 5408
    functionLinenumberEnd: 5413
    functionName: nlohmann::detail::json_sax_dom_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - object
    - back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5415
    functionDepth: 0
    functionLinenumber: 5415
    functionLinenumberEnd: 5419
    functionName: nlohmann::detail::json_sax_dom_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5423,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5425,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5427,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5432
      start: 5421
    functionDepth: 1
    functionLinenumber: 5421
    functionLinenumberEnd: 5432
    functionName: nlohmann::detail::json_sax_dom_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - handle_value
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5434
    functionDepth: 0
    functionLinenumber: 5434
    functionLinenumberEnd: 5438
    functionName: nlohmann::detail::json_sax_dom_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5445,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5451
      start: 5441
    functionDepth: 1
    functionLinenumber: 5441
    functionLinenumberEnd: 5451
    functionName: nlohmann::detail::json_sax_dom_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5456
    functionName: nlohmann::detail::json_sax_dom_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5469,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5471,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5475,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5477,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: array::emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5479,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5480,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5483,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5484,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5466
    functionDepth: 1
    functionLinenumber: 5466
    functionLinenumberEnd: 5487
    functionName: BasicJsonType* handle_value(Value&& v)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - array::emplace_back
    - std::forward<Value>
    - JSON_ASSERT
    - array::back
    - back
    - empty
    - BasicJsonType
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* handle_value(Value&& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - cb
    argTypes:
    - BasicJsonType
    - parser_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5513
    functionDepth: 1
    functionLinenumber: 5513
    functionLinenumberEnd: 5519
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: "void json_sax_dom_callback_parser(BasicJsonType& r,\n                                 const
      parser_callback_t cb,\n                                 const bool allow_exceptions_
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5522
    functionDepth: 0
    functionLinenumber: 5522
    functionLinenumberEnd: 5522
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5523
    functionDepth: 0
    functionLinenumber: 5523
    functionLinenumberEnd: 5523
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5524
      start: 5524
    functionDepth: 0
    functionLinenumber: 5524
    functionLinenumberEnd: 5524
    functionName: '& operator=(const json_sax_dom_callback_parser&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5525
    functionDepth: 0
    functionLinenumber: 5525
    functionLinenumberEnd: 5525
    functionName: '& operator=(json_sax_dom_callback_parser&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5526
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5526
    functionName: ~json_sax_dom_callback_parser()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_callback_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5532
      start: 5528
    functionDepth: 2
    functionLinenumber: 5528
    functionLinenumberEnd: 5532
    functionName: nlohmann::detail::json_sax_dom_callback_parser::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5538
      start: 5534
    functionDepth: 2
    functionLinenumber: 5534
    functionLinenumberEnd: 5538
    functionName: nlohmann::detail::json_sax_dom_callback_parser::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5540
    functionDepth: 2
    functionLinenumber: 5540
    functionLinenumberEnd: 5544
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5546
    functionDepth: 2
    functionLinenumber: 5546
    functionLinenumberEnd: 5550
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5556
      start: 5552
    functionDepth: 2
    functionLinenumber: 5552
    functionLinenumberEnd: 5556
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5562
      start: 5558
    functionDepth: 2
    functionLinenumber: 5558
    functionLinenumberEnd: 5562
    functionName: nlohmann::detail::json_sax_dom_callback_parser::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5568
      start: 5564
    functionDepth: 2
    functionLinenumber: 5564
    functionLinenumberEnd: 5568
    functionName: nlohmann::detail::json_sax_dom_callback_parser::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5573,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5574,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5576,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5577,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5580,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5570
    functionDepth: 2
    functionLinenumber: 5570
    functionLinenumberEnd: 5586
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5590,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5593,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5594,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5597,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5588
    functionDepth: 1
    functionLinenumber: 5588
    functionLinenumberEnd: 5603
    functionName: nlohmann::detail::json_sax_dom_callback_parser::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - callback
    - back
    - push_back
    - object
    - BasicJsonType
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5607,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5610,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5613,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5614,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5615,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5616,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5618,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5621,1
    - Dst: auto::is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5623,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5605
    functionDepth: 1
    functionLinenumber: 5605
    functionLinenumberEnd: 5632
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - auto::is_discarded
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5636,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5637,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5639,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5640,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5643,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5649
      start: 5634
    functionDepth: 2
    functionLinenumber: 5634
    functionLinenumberEnd: 5649
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - callback
    - back
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - push_back
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5655,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5657,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5661,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5665,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5666,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5667,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5668,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5671,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    - Dst: array::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5651
    functionDepth: 1
    functionLinenumber: 5651
    functionLinenumberEnd: 5677
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - static_cast<int>
    - back
    - callback
    - array::pop_back
    - empty
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5684,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5680
    functionDepth: 1
    functionLinenumber: 5680
    functionLinenumberEnd: 5690
    functionName: nlohmann::detail::json_sax_dom_callback_parser::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5695
      start: 5692
    functionDepth: 0
    functionLinenumber: 5692
    functionLinenumberEnd: 5695
    functionName: nlohmann::detail::json_sax_dom_callback_parser::is_errored
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5716,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5720,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: std::forward<Value>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5726,1
    - Dst: callback
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5729,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5737,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5739,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5745,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5751,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5754,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5756,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5757,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5761,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5763,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5764,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5765,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5772,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5775
      start: 5714
    functionDepth: 1
    functionLinenumber: 5714
    functionLinenumberEnd: 5775
    functionName: nlohmann::detail::json_sax_dom_callback_parser::handle_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 36
    functionsReached:
    - size
    - std::forward<Value>
    - JSON_ASSERT
    - static_cast<int>
    - std::move
    - array::back
    - back
    - callback
    - array::push_back
    - empty
    - BasicJsonType
    - pop_back
    linkageType: ''
    returnType: std::pair<bool, BasicJsonType*>
    signature: std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool
      skip_callback = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5810
      start: 5807
    functionDepth: 0
    functionLinenumber: 5807
    functionLinenumberEnd: 5810
    functionName: nlohmann::detail::json_sax_acceptor::null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5812
    functionDepth: 0
    functionLinenumber: 5812
    functionLinenumberEnd: 5815
    functionName: nlohmann::detail::json_sax_acceptor::boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5820
      start: 5817
    functionDepth: 0
    functionLinenumber: 5817
    functionLinenumberEnd: 5820
    functionName: nlohmann::detail::json_sax_acceptor::number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5822
    functionDepth: 0
    functionLinenumber: 5822
    functionLinenumberEnd: 5825
    functionName: nlohmann::detail::json_sax_acceptor::number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5827
    functionDepth: 0
    functionLinenumber: 5827
    functionLinenumberEnd: 5830
    functionName: nlohmann::detail::json_sax_acceptor::number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5835
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5835
    functionName: nlohmann::detail::json_sax_acceptor::string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 5837
    functionDepth: 0
    functionLinenumber: 5837
    functionLinenumberEnd: 5840
    functionName: nlohmann::detail::json_sax_acceptor::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5842
    functionDepth: 0
    functionLinenumber: 5842
    functionLinenumberEnd: 5845
    functionName: nlohmann::detail::json_sax_acceptor::start_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5847
    functionDepth: 0
    functionLinenumber: 5847
    functionLinenumberEnd: 5850
    functionName: nlohmann::detail::json_sax_acceptor::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5852
    functionDepth: 0
    functionLinenumber: 5852
    functionLinenumberEnd: 5855
    functionName: nlohmann::detail::json_sax_acceptor::end_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5857
    functionDepth: 0
    functionLinenumber: 5857
    functionLinenumberEnd: 5860
    functionName: nlohmann::detail::json_sax_acceptor::start_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t /*unused*/ = std::size_t(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5865
    functionName: nlohmann::detail::json_sax_acceptor::end_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5870
      start: 5867
    functionDepth: 0
    functionLinenumber: 5867
    functionLinenumberEnd: 5870
    functionName: nlohmann::detail::json_sax_acceptor::parse_error
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      const detail::exception& /*unused*/)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - token_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5974
      start: 5933
    functionDepth: 0
    functionLinenumber: 5933
    functionLinenumberEnd: 5974
    functionName: nlohmann::detail::lexer_base::token_type_name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * token_type_name(const token_type t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5995,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    - Dst: nlohmann::detail::lexer::get_decimal_point
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5994
    functionDepth: 1
    functionLinenumber: 5994
    functionLinenumberEnd: 5998
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - static_cast<char_int_type>
    - nlohmann::detail::lexer::get_decimal_point
    linkageType: ''
    returnType: void
    signature: void lexer(InputAdapterType&& adapter, bool ignore_comments_ = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6001
      start: 6001
    functionDepth: 0
    functionLinenumber: 6001
    functionLinenumberEnd: 6001
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(const lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6002
      start: 6002
    functionDepth: 0
    functionLinenumber: 6002
    functionLinenumberEnd: 6002
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6003
      start: 6003
    functionDepth: 0
    functionLinenumber: 6003
    functionLinenumberEnd: 6003
    functionName: '& operator=(lexer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6004
    functionName: '& operator=(lexer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6005
    functionName: ~lexer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~lexer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6013
    functionDepth: 1
    functionLinenumber: 6013
    functionLinenumberEnd: 6019
    functionName: nlohmann::detail::lexer::get_decimal_point
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - localeconv
    - JSON_ASSERT
    linkageType: ''
    returnType: JSON_HEDLEY_PURE
    signature: JSON_HEDLEY_PURE get_decimal_point() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6043,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6049,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6040
    functionDepth: 1
    functionLinenumber: 6040
    functionLinenumberEnd: 6071
    functionName: nlohmann::detail::lexer::get_codepoint
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<unsigned int>
    - get
    - JSON_ASSERT
    linkageType: ''
    returnType: int
    signature: int get_codepoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6091,1
    - Dst: std::initializer_list<char_int_type>::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: std::initializer_list<char_int_type>::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6095,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6096,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::initializer_list<char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6108
      start: 6088
    functionDepth: 1
    functionLinenumber: 6088
    functionLinenumberEnd: 6108
    functionName: nlohmann::detail::lexer::next_byte_in_range
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<char_int_type>::size
    - get
    - JSON_ASSERT
    - JSON_HEDLEY_LIKELY
    - std::initializer_list<char_int_type>::end
    - add
    - std::initializer_list<char_int_type>::begin
    linkageType: ''
    returnType: bool
    signature: bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
  - BBCount: 208
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6128,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6131,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6136,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6139,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6154,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6158,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6162,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6166,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6170,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6174,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6178,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6182,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6186,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6192,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6195,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6207,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6209,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6216,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6219,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6221,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6223,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6243,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6251,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6582,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 408
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6125
    functionDepth: 2
    functionLinenumber: 6125
    functionLinenumberEnd: 6709
    functionName: nlohmann::detail::lexer::scan_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reset
    - get
    - JSON_ASSERT
    - static_cast<int>
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    - static_cast<char_int_type>
    - add
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::lexer::next_byte_in_range
    - nlohmann::detail::lexer::get_codepoint
    - opt_eof
    linkageType: ''
    returnType: token_type
    signature: token_type scan_string()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6717,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6724,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6728,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6743,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6745,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6754,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6780
    functionName: nlohmann::detail::lexer::scan_comment
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - get
    - unget
    linkageType: ''
    returnType: bool
    signature: bool scan_comment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - float
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6786
      start: 6783
    functionDepth: 1
    functionLinenumber: 6783
    functionLinenumberEnd: 6786
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::lexer::strtof
    linkageType: ''
    returnType: void
    signature: void strtof(float& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6792
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6792
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::strtod
    linkageType: ''
    returnType: void
    signature: void strtof(double& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtold
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - long double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6798
      start: 6795
    functionDepth: 0
    functionLinenumber: 6795
    functionLinenumberEnd: 6798
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::strtold
    linkageType: ''
    returnType: void
    signature: void strtof(long double& f, const char* str, char** endptr) noexcept
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6843,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6854,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6860,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6874,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6880,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6886,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6890,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6904,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6917,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6921,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6928,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6938,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6951,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6957,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6964,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6975,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6988,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7001,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7014,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7021,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7032,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7037,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7052,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7066,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7079,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7092,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7105,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7116,1
    - Dst: std::strtoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7131,1
    - Dst: std::strtoll
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7147,1
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 253
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7163
      start: 6840
    functionDepth: 2
    functionLinenumber: 6840
    functionLinenumberEnd: 7163
    functionName: nlohmann::detail::lexer::scan_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reset
    - get
    - JSON_ASSERT
    - std::strtoull
    - add
    - static_cast<number_integer_t>
    - data
    - std::strtoll
    - nlohmann::detail::lexer::strtof
    - unget
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: token_type
    signature: token_type scan_number()
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - token_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5974
      start: 5933
    functionDepth: 0
    functionLinenumber: 5933
    functionLinenumberEnd: 5974
    functionName: nlohmann::detail::lexer_base::token_type_name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * token_type_name(const token_type t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5995,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    - Dst: nlohmann::detail::lexer::get_decimal_point
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5994
    functionDepth: 2
    functionLinenumber: 5994
    functionLinenumberEnd: 5998
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - static_cast<char_int_type>
    - nlohmann::detail::lexer::get_decimal_point
    linkageType: ''
    returnType: void
    signature: void lexer(InputAdapterType&& adapter, bool ignore_comments_ = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6001
      start: 6001
    functionDepth: 0
    functionLinenumber: 6001
    functionLinenumberEnd: 6001
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(const lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6002
      start: 6002
    functionDepth: 0
    functionLinenumber: 6002
    functionLinenumberEnd: 6002
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6003
      start: 6003
    functionDepth: 0
    functionLinenumber: 6003
    functionLinenumberEnd: 6003
    functionName: '& operator=(lexer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6004
    functionName: '& operator=(lexer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6005
    functionName: ~lexer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~lexer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6013
    functionDepth: 1
    functionLinenumber: 6013
    functionLinenumberEnd: 6019
    functionName: nlohmann::detail::lexer::get_decimal_point
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - localeconv
    - JSON_ASSERT
    linkageType: ''
    returnType: JSON_HEDLEY_PURE
    signature: JSON_HEDLEY_PURE get_decimal_point() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6043,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6049,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6040
    functionDepth: 1
    functionLinenumber: 6040
    functionLinenumberEnd: 6071
    functionName: nlohmann::detail::lexer::get_codepoint
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - static_cast<unsigned int>
    - get
    - JSON_ASSERT
    linkageType: ''
    returnType: int
    signature: int get_codepoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6091,1
    - Dst: std::initializer_list<char_int_type>::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: std::initializer_list<char_int_type>::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6095,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6096,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::initializer_list<char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6108
      start: 6088
    functionDepth: 1
    functionLinenumber: 6088
    functionLinenumberEnd: 6108
    functionName: nlohmann::detail::lexer::next_byte_in_range
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::initializer_list<char_int_type>::size
    - get
    - JSON_ASSERT
    - JSON_HEDLEY_LIKELY
    - std::initializer_list<char_int_type>::end
    - add
    - std::initializer_list<char_int_type>::begin
    linkageType: ''
    returnType: bool
    signature: bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
  - BBCount: 208
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6128,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6131,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6136,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6139,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6154,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6158,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6162,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6166,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6170,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6174,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6178,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6182,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6186,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6192,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6195,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6207,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6209,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6216,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6219,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6221,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6223,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6243,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6251,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6582,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 408
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6125
    functionDepth: 2
    functionLinenumber: 6125
    functionLinenumberEnd: 6709
    functionName: nlohmann::detail::lexer::scan_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reset
    - get
    - JSON_ASSERT
    - static_cast<int>
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    - static_cast<char_int_type>
    - add
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::lexer::next_byte_in_range
    - nlohmann::detail::lexer::get_codepoint
    - opt_eof
    linkageType: ''
    returnType: token_type
    signature: token_type scan_string()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6717,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6724,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6728,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6743,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6745,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6754,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6780
    functionName: nlohmann::detail::lexer::scan_comment
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - get
    - unget
    linkageType: ''
    returnType: bool
    signature: bool scan_comment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - float
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6786
      start: 6783
    functionDepth: 1
    functionLinenumber: 6783
    functionLinenumberEnd: 6786
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::lexer::strtof
    linkageType: ''
    returnType: void
    signature: void strtof(float& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6792
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6792
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::strtod
    linkageType: ''
    returnType: void
    signature: void strtof(double& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtold
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - long double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6798
      start: 6795
    functionDepth: 0
    functionLinenumber: 6795
    functionLinenumberEnd: 6798
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::strtold
    linkageType: ''
    returnType: void
    signature: void strtof(long double& f, const char* str, char** endptr) noexcept
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6843,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6854,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6860,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6874,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6880,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6886,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6890,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6904,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6917,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6921,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6928,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6938,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6951,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6957,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6964,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6975,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6988,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7001,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7014,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7021,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7032,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7037,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7052,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7066,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7079,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7092,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7105,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7116,1
    - Dst: std::strtoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7131,1
    - Dst: std::strtoll
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7147,1
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 253
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7163
      start: 6840
    functionDepth: 2
    functionLinenumber: 6840
    functionLinenumberEnd: 7163
    functionName: nlohmann::detail::lexer::scan_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reset
    - get
    - JSON_ASSERT
    - std::strtoull
    - add
    - static_cast<number_integer_t>
    - data
    - std::strtoll
    - nlohmann::detail::lexer::strtof
    - unget
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: token_type
    signature: token_type scan_number()
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - token_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5974
      start: 5933
    functionDepth: 0
    functionLinenumber: 5933
    functionLinenumberEnd: 5974
    functionName: nlohmann::detail::lexer_base::token_type_name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * token_type_name(const token_type t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5995,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    - Dst: nlohmann::detail::lexer::get_decimal_point
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5994
    functionDepth: 2
    functionLinenumber: 5994
    functionLinenumberEnd: 5998
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - static_cast<char_int_type>
    - nlohmann::detail::lexer::get_decimal_point
    linkageType: ''
    returnType: void
    signature: void lexer(InputAdapterType&& adapter, bool ignore_comments_ = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6001
      start: 6001
    functionDepth: 0
    functionLinenumber: 6001
    functionLinenumberEnd: 6001
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(const lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6002
      start: 6002
    functionDepth: 0
    functionLinenumber: 6002
    functionLinenumberEnd: 6002
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6003
      start: 6003
    functionDepth: 0
    functionLinenumber: 6003
    functionLinenumberEnd: 6003
    functionName: '& operator=(lexer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6004
    functionName: '& operator=(lexer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6005
    functionName: ~lexer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~lexer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6013
    functionDepth: 1
    functionLinenumber: 6013
    functionLinenumberEnd: 6019
    functionName: nlohmann::detail::lexer::get_decimal_point
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - localeconv
    - JSON_ASSERT
    linkageType: ''
    returnType: JSON_HEDLEY_PURE
    signature: JSON_HEDLEY_PURE get_decimal_point() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6043,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6049,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6040
    functionDepth: 1
    functionLinenumber: 6040
    functionLinenumberEnd: 6071
    functionName: nlohmann::detail::lexer::get_codepoint
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - static_cast<unsigned int>
    - get
    - JSON_ASSERT
    linkageType: ''
    returnType: int
    signature: int get_codepoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6091,1
    - Dst: std::initializer_list<char_int_type>::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: std::initializer_list<char_int_type>::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6095,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6096,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::initializer_list<char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6108
      start: 6088
    functionDepth: 1
    functionLinenumber: 6088
    functionLinenumberEnd: 6108
    functionName: nlohmann::detail::lexer::next_byte_in_range
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - std::initializer_list<char_int_type>::size
    - get
    - JSON_ASSERT
    - JSON_HEDLEY_LIKELY
    - std::initializer_list<char_int_type>::end
    - add
    - std::initializer_list<char_int_type>::begin
    linkageType: ''
    returnType: bool
    signature: bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
  - BBCount: 208
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6128,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6131,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6136,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6139,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6154,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6158,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6162,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6166,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6170,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6174,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6178,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6182,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6186,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6192,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6195,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6207,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6209,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6216,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6219,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6221,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6223,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6243,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6251,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6582,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 408
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6125
    functionDepth: 2
    functionLinenumber: 6125
    functionLinenumberEnd: 6709
    functionName: nlohmann::detail::lexer::scan_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reset
    - get
    - JSON_ASSERT
    - static_cast<int>
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    - static_cast<char_int_type>
    - add
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::lexer::next_byte_in_range
    - nlohmann::detail::lexer::get_codepoint
    - opt_eof
    linkageType: ''
    returnType: token_type
    signature: token_type scan_string()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6717,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6724,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6728,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6743,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6745,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6754,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6780
    functionName: nlohmann::detail::lexer::scan_comment
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - get
    - unget
    linkageType: ''
    returnType: bool
    signature: bool scan_comment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - float
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6786
      start: 6783
    functionDepth: 1
    functionLinenumber: 6783
    functionLinenumberEnd: 6786
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::lexer::strtof
    linkageType: ''
    returnType: void
    signature: void strtof(float& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6792
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6792
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - std::strtod
    linkageType: ''
    returnType: void
    signature: void strtof(double& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtold
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - long double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6798
      start: 6795
    functionDepth: 0
    functionLinenumber: 6795
    functionLinenumberEnd: 6798
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - std::strtold
    linkageType: ''
    returnType: void
    signature: void strtof(long double& f, const char* str, char** endptr) noexcept
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6843,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6854,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6860,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6874,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6880,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6886,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6890,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6904,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6917,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6921,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6928,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6938,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6951,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6957,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6964,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6975,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6988,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7001,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7014,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7021,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7032,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7037,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7052,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7066,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7079,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7092,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7105,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7116,1
    - Dst: std::strtoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7131,1
    - Dst: std::strtoll
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7147,1
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 253
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7163
      start: 6840
    functionDepth: 2
    functionLinenumber: 6840
    functionLinenumberEnd: 7163
    functionName: nlohmann::detail::lexer::scan_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reset
    - get
    - JSON_ASSERT
    - std::strtoull
    - add
    - static_cast<number_integer_t>
    - data
    - std::strtoll
    - nlohmann::detail::lexer::strtof
    - unget
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: token_type
    signature: token_type scan_number()
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - token_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5974
      start: 5933
    functionDepth: 0
    functionLinenumber: 5933
    functionLinenumberEnd: 5974
    functionName: nlohmann::detail::lexer_base::token_type_name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * token_type_name(const token_type t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5995,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    - Dst: nlohmann::detail::lexer::get_decimal_point
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:5997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5994
    functionDepth: 2
    functionLinenumber: 5994
    functionLinenumberEnd: 5998
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - static_cast<char_int_type>
    - nlohmann::detail::lexer::get_decimal_point
    linkageType: ''
    returnType: void
    signature: void lexer(InputAdapterType&& adapter, bool ignore_comments_ = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6001
      start: 6001
    functionDepth: 0
    functionLinenumber: 6001
    functionLinenumberEnd: 6001
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(const lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6002
      start: 6002
    functionDepth: 0
    functionLinenumber: 6002
    functionLinenumberEnd: 6002
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6003
      start: 6003
    functionDepth: 0
    functionLinenumber: 6003
    functionLinenumberEnd: 6003
    functionName: '& operator=(lexer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6004
    functionName: '& operator=(lexer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6005
    functionName: ~lexer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~lexer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6013
    functionDepth: 1
    functionLinenumber: 6013
    functionLinenumberEnd: 6019
    functionName: nlohmann::detail::lexer::get_decimal_point
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - localeconv
    - JSON_ASSERT
    linkageType: ''
    returnType: JSON_HEDLEY_PURE
    signature: JSON_HEDLEY_PURE get_decimal_point() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6043,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6049,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6053,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6057,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6061,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6040
    functionDepth: 1
    functionLinenumber: 6040
    functionLinenumberEnd: 6071
    functionName: nlohmann::detail::lexer::get_codepoint
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - static_cast<unsigned int>
    - get
    - JSON_ASSERT
    linkageType: ''
    returnType: int
    signature: int get_codepoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6090,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6091,1
    - Dst: std::initializer_list<char_int_type>::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: std::initializer_list<char_int_type>::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6093,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6095,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6096,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::initializer_list<char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6108
      start: 6088
    functionDepth: 1
    functionLinenumber: 6088
    functionLinenumberEnd: 6108
    functionName: nlohmann::detail::lexer::next_byte_in_range
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::initializer_list<char_int_type>::size
    - get
    - JSON_ASSERT
    - JSON_HEDLEY_LIKELY
    - std::initializer_list<char_int_type>::end
    - add
    - std::initializer_list<char_int_type>::begin
    linkageType: ''
    returnType: bool
    signature: bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
  - BBCount: 208
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6128,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6131,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6136,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6139,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6154,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6158,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6162,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6166,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6170,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6174,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6178,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6182,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6186,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6192,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6195,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6205,1
    - Dst: nlohmann::detail::lexer::get_codepoint
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6207,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6209,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6216,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6219,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6221,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6223,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6243,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6251,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6257,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6262,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6263,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6268,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6269,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6270,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6275,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6276,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6277,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<char_int_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6278,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6582,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6618,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6628,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6652,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6662,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6672,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6694,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 408
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6125
    functionDepth: 2
    functionLinenumber: 6125
    functionLinenumberEnd: 6709
    functionName: nlohmann::detail::lexer::scan_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reset
    - get
    - JSON_ASSERT
    - static_cast<int>
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    - static_cast<char_int_type>
    - add
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::lexer::next_byte_in_range
    - nlohmann::detail::lexer::get_codepoint
    - opt_eof
    linkageType: ''
    returnType: token_type
    signature: token_type scan_string()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6717,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6724,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6728,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6743,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6745,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6754,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6780
    functionName: nlohmann::detail::lexer::scan_comment
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - opt_eof
    - get
    - unget
    linkageType: ''
    returnType: bool
    signature: bool scan_comment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - float
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6786
      start: 6783
    functionDepth: 1
    functionLinenumber: 6783
    functionLinenumberEnd: 6786
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::detail::lexer::strtof
    linkageType: ''
    returnType: void
    signature: void strtof(float& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6792
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6792
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - std::strtod
    linkageType: ''
    returnType: void
    signature: void strtof(double& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtold
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - long double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6798
      start: 6795
    functionDepth: 0
    functionLinenumber: 6795
    functionLinenumberEnd: 6798
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - std::strtold
    linkageType: ''
    returnType: void
    signature: void strtof(long double& f, const char* str, char** endptr) noexcept
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6843,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6854,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6860,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6874,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6880,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6886,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6890,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6904,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6917,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6921,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6928,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6938,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6951,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6957,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6964,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6975,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:6988,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7001,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7014,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7021,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7032,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7037,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7052,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7066,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7079,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7092,1
    - Dst: add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7105,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7116,1
    - Dst: std::strtoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7124,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7127,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7131,1
    - Dst: std::strtoll
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7140,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7143,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7147,1
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7160,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 253
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7163
      start: 6840
    functionDepth: 2
    functionLinenumber: 6840
    functionLinenumberEnd: 7163
    functionName: nlohmann::detail::lexer::scan_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reset
    - get
    - JSON_ASSERT
    - std::strtoull
    - add
    - static_cast<number_integer_t>
    - data
    - std::strtoll
    - nlohmann::detail::lexer::strtof
    - unget
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: token_type
    signature: token_type scan_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7193,1
    - Dst: clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7194,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7195,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7196
      start: 7191
    functionDepth: 1
    functionLinenumber: 7191
    functionLinenumberEnd: 7196
    functionName: reset
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 61
    functionsReached:
    - clear
    - nlohmann::detail::binary_writer::to_char_type
    - push_back
    linkageType: ''
    returnType: void
    signature: void reset() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7220,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7223,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7223,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7225,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7235
      start: 7208
    functionDepth: 1
    functionLinenumber: 7208
    functionLinenumberEnd: 7235
    functionName: get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 644
    functionsReached:
    - get_character
    - JSON_HEDLEY_LIKELY
    - push_back
    - opt_eof
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7264,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7266,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7266,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7269
      start: 7245
    functionDepth: 1
    functionLinenumber: 7245
    functionLinenumberEnd: 7269
    functionName: unget
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - JSON_ASSERT
    - JSON_HEDLEY_LIKELY
    - empty
    - opt_eof
    - pop_back
    linkageType: ''
    returnType: void
    signature: void unget()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7274,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7275
      start: 7272
    functionDepth: 1
    functionLinenumber: 7272
    functionLinenumberEnd: 7275
    functionName: add
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 79
    functionsReached:
    - static_cast<typename string_t::value_type>
    - push_back
    linkageType: ''
    returnType: void
    signature: void add(char_int_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7292
      start: 7289
    functionDepth: 0
    functionLinenumber: 7289
    functionLinenumberEnd: 7292
    functionName: get_number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t get_number_unsigned() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7298
      start: 7295
    functionDepth: 0
    functionLinenumber: 7295
    functionLinenumberEnd: 7298
    functionName: get_number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t get_number_float() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7304
      start: 7301
    functionDepth: 0
    functionLinenumber: 7301
    functionLinenumberEnd: 7304
    functionName: get_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string_t
    signature: string_t & get_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7314
      start: 7311
    functionDepth: 0
    functionLinenumber: 7311
    functionLinenumberEnd: 7314
    functionName: get_position
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: position_t
    signature: position_t get_position() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7325,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7329,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7329,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7329,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7330,1
    - Dst: std::string::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7335,1
    - Dst: static_cast<std::string::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7340
      start: 7319
    functionDepth: 1
    functionLinenumber: 7319
    functionLinenumberEnd: 7340
    functionName: get_token_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - static_cast<unsigned char>
    - std::array::data
    - std::string::push_back
    - static_cast<std::string::value_type>
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7347
      start: 7343
    functionDepth: 0
    functionLinenumber: 7343
    functionLinenumberEnd: 7347
    functionName: get_error_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * get_error_message() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7359,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7362,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7362,1
    - Dst: unget
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7369
      start: 7357
    functionDepth: 2
    functionLinenumber: 7357
    functionLinenumberEnd: 7369
    functionName: skip_bom
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - unget
    - get
    linkageType: ''
    returnType: bool
    signature: bool skip_bom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7378
      start: 7371
    functionDepth: 2
    functionLinenumber: 7371
    functionLinenumberEnd: 7378
    functionName: skip_whitespace
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void skip_whitespace()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: skip_bom
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7383,1
    - Dst: skip_whitespace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7390,1
    - Dst: scan_comment
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7395,1
    - Dst: skip_whitespace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7401,1
    - Dst: scan_literal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7424,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7424,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7424,1
    - Dst: scan_literal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7429,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7429,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7429,1
    - Dst: scan_literal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7434,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7434,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7434,1
    - Dst: scan_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7439,1
    - Dst: scan_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7453,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7466
      start: 7380
    functionDepth: 3
    functionLinenumber: 7380
    functionLinenumberEnd: 7466
    functionName: scan
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - skip_bom
    - std::array::size
    - skip_whitespace
    - std::array::data
    - scan_literal
    - scan_number
    - opt_eof
    - scan_string
    - scan_comment
    linkageType: ''
    returnType: token_type
    signature: token_type scan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7684
      start: 7681
    functionDepth: 0
    functionLinenumber: 7681
    functionLinenumberEnd: 7684
    functionName: nlohmann::detail::little_endianess
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool little_endianess(int num = 1) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7715
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void binary_reader(InputAdapterType&& adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7718
      start: 7718
    functionDepth: 0
    functionLinenumber: 7718
    functionLinenumberEnd: 7718
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7719
      start: 7719
    functionDepth: 0
    functionLinenumber: 7719
    functionLinenumberEnd: 7719
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7720
      start: 7720
    functionDepth: 0
    functionLinenumber: 7720
    functionLinenumberEnd: 7720
    functionName: '& operator=(const binary_reader&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7721
      start: 7721
    functionDepth: 0
    functionLinenumber: 7721
    functionLinenumberEnd: 7721
    functionName: '& operator=(binary_reader&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7722
      start: 7722
    functionDepth: 0
    functionLinenumber: 7722
    functionLinenumberEnd: 7722
    functionName: ~binary_reader()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~binary_reader()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7744,1
    - Dst: parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7748,1
    - Dst: parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7752,1
    - Dst: parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7756,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7760,1
    - Dst: get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7768,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7772,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - format
    - sax_
    argTypes:
    - input_format_t
    - json_sax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7783
      start: 7732
    functionDepth: 2
    functionLinenumber: 7732
    functionLinenumberEnd: 7783
    functionName: "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
      sax_,\n                   const bool strict = true,\n                   const
      cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_cbor_internal
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - get
    - JSON_ASSERT
    - parse_ubjson_internal
    - parse_bson_internal
    - JSON_HEDLEY_UNLIKELY
    - get_ignore_noop
    - opt_eof
    - parse_msgpack_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool sax_parse(const input_format_t
      format,\n                   json_sax_t* sax_,\n                   const bool
      strict = true,\n                   const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7797,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7810
      start: 7794
    functionDepth: 1
    functionLinenumber: 7794
    functionLinenumberEnd: 7810
    functionName: nlohmann::detail::binary_reader::parse_bson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - start_object
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - end_object
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7821,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7824,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7819
    functionDepth: 1
    functionLinenumber: 7819
    functionLinenumberEnd: 7835
    functionName: nlohmann::detail::binary_reader::get_bson_cstr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - std::back_inserter
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_bson_cstr(string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7851,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7853,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: static_cast<NumberType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7849
    functionDepth: 2
    functionLinenumber: 7849
    functionLinenumberEnd: 7858
    functionName: nlohmann::detail::binary_reader::get_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_string
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    - std::to_string
    - static_cast<NumberType>
    linkageType: ''
    returnType: bool
    signature: bool get_bson_string(const NumberType len, string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7872,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7874,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7880,1
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7881,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7884
      start: 7870
    functionDepth: 2
    functionLinenumber: 7870
    functionLinenumberEnd: 7884
    functionName: nlohmann::detail::binary_reader::get_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool get_bson_binary(const NumberType len, binary_t& result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::get_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7916,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7921,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: nlohmann::detail::binary_reader::get_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7938,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - element_type
    - element_type_parse_position
    argTypes:
    - char_int_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7960
      start: 7896
    functionDepth: 3
    functionLinenumber: 7896
    functionLinenumberEnd: 7960
    functionName: nlohmann::detail::binary_reader::parse_bson_element_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - number_float
    - nlohmann::detail::binary_reader::parse_bson_internal
    - 'null'
    - nlohmann::detail::binary_reader::get_bson_string
    - std::array::size
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_bson_binary
    - std::array::data
    - std::string
    - string
    - parse_error
    - boolean
    - nlohmann::detail::binary_reader::parse_bson_array
    - nlohmann::detail::parse_error::create
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_bson_element_internal(const char_int_type element_type,\n
      \                                    const std::size_t element_type_parse_position)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: nlohmann::detail::binary_reader::get_bson_cstr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7991,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - is_array
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8006
      start: 7974
    functionDepth: 4
    functionLinenumber: 7974
    functionLinenumberEnd: 8006
    functionName: nlohmann::detail::binary_reader::parse_bson_element_list
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::parse_bson_element_internal
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_bson_cstr
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_element_list(const bool is_array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8015,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8028
      start: 8012
    functionDepth: 5
    functionLinenumber: 8012
    functionLinenumberEnd: 8028
    functionName: nlohmann::detail::binary_reader::parse_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - nlohmann::detail::binary_reader::get_number
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_array()
  - BBCount: 213
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8045,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8048,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8049,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8151,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8356,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8367,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8373,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8379,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8385,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8391,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8395,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8400,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8403,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8406,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8415,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8421,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8422,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8432,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8437,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8438,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8442,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8445,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8446,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8448,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8451,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8452,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8470,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 304
    argCount: 2
    argNames:
    - get_char
    - tag_handler
    argTypes:
    - bool
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8474
      start: 8042
    functionDepth: 2
    functionLinenumber: 8042
    functionLinenumberEnd: 8474
    functionName: nlohmann::detail::binary_reader::parse_cbor_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - static_cast<unsigned char>
    - nlohmann::detail::binary_reader::get_token_string
    - number_float
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_cbor_object
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - std::ldexp
    - boolean
    - static_cast<std::size_t>
    - std::size_t
    - opt_eof
    - JSON_HEDLEY_UNLIKELY
    - std::numeric_limits<double>::quiet_NaN
    - nlohmann::detail::binary_reader::get_cbor_string
    - nlohmann::detail::parse_error::create
    - JSON_ASSERT
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_cbor_array
    - static_cast<number_integer_t>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::parse_cbor_internal
    - std::numeric_limits<double>::infinity
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_cbor_internal(const bool get_char,\n                             const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8551,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8554,1
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8558,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8565,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8569
      start: 8487
    functionDepth: 2
    functionLinenumber: 8487
    functionLinenumberEnd: 8569
    functionName: nlohmann::detail::binary_reader::get_cbor_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - append
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_string(string_t& result)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8623,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8624,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8630,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8631,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8637,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8644,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8645,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8650,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8653,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8664,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8668
      start: 8582
    functionDepth: 2
    functionLinenumber: 8582
    functionLinenumberEnd: 8668
    functionName: nlohmann::detail::binary_reader::get_cbor_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - insert
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::exception_message
    - end
    - JSON_HEDLEY_UNLIKELY
    - binary_t::end
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - binary_t::begin
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_binary(binary_t& result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8696,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8706
      start: 8676
    functionDepth: 3
    functionLinenumber: 8676
    functionLinenumberEnd: 8706
    functionName: nlohmann::detail::binary_reader::get_cbor_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - start_array
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_array(const std::size_t len,\n                        const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8723,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8727,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8737,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8742,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8753,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8758
      start: 8714
    functionDepth: 3
    functionLinenumber: 8714
    functionLinenumberEnd: 8758
    functionName: nlohmann::detail::binary_reader::get_cbor_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - string_t::clear
    - key
    - end_object
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_object(const std::size_t len,\n                         const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 258
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8769,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8772,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8773,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8986,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8989,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8992,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9131,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 302
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9135
      start: 8767
    functionDepth: 2
    functionLinenumber: 8767
    functionLinenumberEnd: 9135
    functionName: nlohmann::detail::binary_reader::parse_msgpack_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_msgpack_binary
    - nlohmann::detail::binary_reader::get_msgpack_object
    - nlohmann::detail::binary_reader::get_msgpack_string
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - boolean
    - static_cast<std::size_t>
    - opt_eof
    - nlohmann::detail::binary_reader::get_msgpack_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool parse_msgpack_internal()
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9213,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9217
      start: 9147
    functionDepth: 2
    functionLinenumber: 9147
    functionLinenumberEnd: 9217
    functionName: nlohmann::detail::binary_reader::get_msgpack_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_string(string_t& result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9243,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9244,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9250,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9251,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9257,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9258,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9265,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9266,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9267,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9268,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9275,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9276,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9277,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9278,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9285,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9286,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9287,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9288,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9294,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9295,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9296,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9302,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9303,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9304,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9310,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9311,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9312,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9318,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9319,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9326,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9327,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9328,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9334
      start: 9229
    functionDepth: 1
    functionLinenumber: 9229
    functionLinenumberEnd: 9334
    functionName: nlohmann::detail::binary_reader::get_msgpack_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - assign_and_return_true
    - nlohmann::detail::binary_reader::get_binary
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_binary(binary_t& result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9356
      start: 9340
    functionDepth: 3
    functionLinenumber: 9340
    functionLinenumberEnd: 9356
    functionName: nlohmann::detail::binary_reader::get_msgpack_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    - start_array
    - end_array
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_array(const std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9372,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9382,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9386
      start: 9362
    functionDepth: 3
    functionLinenumber: 9362
    functionLinenumberEnd: 9386
    functionName: nlohmann::detail::binary_reader::get_msgpack_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_msgpack_string
    - end_object
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_object(const std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9402
      start: 9399
    functionDepth: 1
    functionLinenumber: 9399
    functionLinenumberEnd: 9402
    functionName: nlohmann::detail::binary_reader::parse_ubjson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_value
    linkageType: ''
    returnType: bool
    signature: bool parse_ubjson_internal(const bool get_char = true)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9422,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9463,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9466
      start: 9418
    functionDepth: 2
    functionLinenumber: 9418
    functionLinenumberEnd: 9466
    functionName: nlohmann::detail::binary_reader::get_ubjson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_string(string_t& result, const bool get_char = true)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9474,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9483,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9494,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9505,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9516,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9527,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9533,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9537
      start: 9472
    functionDepth: 2
    functionLinenumber: 9472
    functionLinenumberEnd: 9537
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_value(std::size_t& result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9554,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9558,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9564,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9565,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9571,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9575,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::pair<std::size_t, char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9584
      start: 9549
    functionDepth: 3
    functionLinenumber: 9549
    functionLinenumberEnd: 9584
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9594,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9595,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9598,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9600,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9603,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9649,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9654,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9659,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9661,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9664,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9665,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9675,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9678,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9682,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9686
      start: 9590
    functionDepth: 3
    functionLinenumber: 9590
    functionLinenumberEnd: 9686
    functionName: nlohmann::detail::binary_reader::get_ubjson_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - 'null'
    - number_unsigned
    - nlohmann::detail::binary_reader::get_ubjson_object
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - parse_error
    - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    - string
    - boolean
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<typename string_t::value_type>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_ubjson_string
    - opt_eof
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_value(const char_int_type prefix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9743,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9748
      start: 9691
    functionDepth: 4
    functionLinenumber: 9691
    functionLinenumberEnd: 9748
    functionName: nlohmann::detail::binary_reader::get_ubjson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - nlohmann::detail::binary_reader::get_ubjson_value
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - std::size_t
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_array()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9781,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9796,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9817,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9818,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9822,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9823
      start: 9753
    functionDepth: 4
    functionLinenumber: 9753
    functionLinenumberEnd: 9823
    functionName: nlohmann::detail::binary_reader::get_ubjson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - start_object
    - nlohmann::detail::binary_reader::get_ubjson_value
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - string_t::clear
    - key
    - std::size_t
    - end_object
    - nlohmann::detail::binary_reader::get_ubjson_string
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_object()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9832,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9833,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9842,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: std::forward<decltype(number_vector)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: detail::lexer<BasicJsonType, decltype(number_ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9853,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9854,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9855,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9859,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: auto::get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: auto::get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: auto::get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9875
      start: 9828
    functionDepth: 4
    functionLinenumber: 9828
    functionLinenumberEnd: 9875
    functionName: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - number_float
    - auto::get_token_string
    - number_unsigned
    - unexpect_eof
    - static_cast<char>
    - auto::get_number_float
    - nlohmann::detail::binary_reader::get
    - std::move
    - std::forward<decltype(number_vector)>
    - auto::scan
    - parse_error
    - auto::get_number_integer
    - std::vector::push_back
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - nlohmann::detail::parse_error::create
    - auto::get_number_unsigned
    - nlohmann::detail::binary_reader::exception_message
    - detail::lexer<BasicJsonType, decltype(number_ia)>
    - nlohmann::detail::input_adapter
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_high_precision_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9894
      start: 9890
    functionDepth: 0
    functionLinenumber: 9890
    functionLinenumberEnd: 9894
    functionName: nlohmann::detail::binary_reader::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - get_character
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9908
      start: 9899
    functionDepth: 1
    functionLinenumber: 9899
    functionLinenumberEnd: 9908
    functionName: nlohmann::detail::binary_reader::get_ignore_noop
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::binary_reader::get
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get_ignore_noop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9930,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9943,1
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - format
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9950
      start: 9924
    functionDepth: 1
    functionLinenumber: 9924
    functionLinenumberEnd: 9950
    functionName: nlohmann::detail::binary_reader::get_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 13
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - std::memcpy
    - JSON_HEDLEY_UNLIKELY
    - std::array::data
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_number(const input_format_t format, NumberType& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9974,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9983
      start: 9967
    functionDepth: 1
    functionLinenumber: 9967
    functionLinenumberEnd: 9983
    functionName: nlohmann::detail::binary_reader::get_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - push_back
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: "bool get_string(const input_format_t format,\n                    const
      NumberType len,\n                    string_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10007,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10016
      start: 10000
    functionDepth: 1
    functionLinenumber: 10000
    functionLinenumberEnd: 10016
    functionName: nlohmann::detail::binary_reader::get_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - push_back
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_binary(const input_format_t format,\n                    const
      NumberType len,\n                    binary_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10028,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - format
    - context
    argTypes:
    - input_format_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10023
    functionDepth: 2
    functionLinenumber: 10023
    functionLinenumberEnd: 10032
    functionName: "(3)\n    bool unexpect_eof(const input_format_t format, const char*
      context) const"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool unexpect_eof(const input_format_t
      format, const char* context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10037
    functionDepth: 1
    functionLinenumber: 10037
    functionLinenumberEnd: 10042
    functionName: nlohmann::detail::binary_reader::get_token_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 11
    functionsReached:
    - std::array::size
    - static_cast<unsigned char>
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - format
    - ' detail'
    - ' context'
    argTypes:
    - input_format_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10079
      start: 10050
    functionDepth: 1
    functionLinenumber: 10050
    functionLinenumberEnd: 10079
    functionName: nlohmann::detail::binary_reader::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: std::string
    signature: "std::string exception_message(const input_format_t format,\n                                  const
      std::string& detail,\n                                  const std::string& context)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7684
      start: 7681
    functionDepth: 0
    functionLinenumber: 7681
    functionLinenumberEnd: 7684
    functionName: nlohmann::detail::little_endianess
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool little_endianess(int num = 1) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7715
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void binary_reader(InputAdapterType&& adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7718
      start: 7718
    functionDepth: 0
    functionLinenumber: 7718
    functionLinenumberEnd: 7718
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7719
      start: 7719
    functionDepth: 0
    functionLinenumber: 7719
    functionLinenumberEnd: 7719
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7720
      start: 7720
    functionDepth: 0
    functionLinenumber: 7720
    functionLinenumberEnd: 7720
    functionName: '& operator=(const binary_reader&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7721
      start: 7721
    functionDepth: 0
    functionLinenumber: 7721
    functionLinenumberEnd: 7721
    functionName: '& operator=(binary_reader&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7722
      start: 7722
    functionDepth: 0
    functionLinenumber: 7722
    functionLinenumberEnd: 7722
    functionName: ~binary_reader()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~binary_reader()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7744,1
    - Dst: parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7748,1
    - Dst: parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7752,1
    - Dst: parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7756,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7760,1
    - Dst: get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7768,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7772,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - format
    - sax_
    argTypes:
    - input_format_t
    - json_sax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7783
      start: 7732
    functionDepth: 2
    functionLinenumber: 7732
    functionLinenumberEnd: 7783
    functionName: "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
      sax_,\n                   const bool strict = true,\n                   const
      cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_cbor_internal
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - get
    - JSON_ASSERT
    - parse_ubjson_internal
    - parse_bson_internal
    - JSON_HEDLEY_UNLIKELY
    - get_ignore_noop
    - opt_eof
    - parse_msgpack_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool sax_parse(const input_format_t
      format,\n                   json_sax_t* sax_,\n                   const bool
      strict = true,\n                   const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7797,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7810
      start: 7794
    functionDepth: 5
    functionLinenumber: 7794
    functionLinenumberEnd: 7810
    functionName: nlohmann::detail::binary_reader::parse_bson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - start_object
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - end_object
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7821,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7824,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7819
    functionDepth: 1
    functionLinenumber: 7819
    functionLinenumberEnd: 7835
    functionName: nlohmann::detail::binary_reader::get_bson_cstr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - std::back_inserter
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_bson_cstr(string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7851,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7853,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: static_cast<NumberType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7849
    functionDepth: 2
    functionLinenumber: 7849
    functionLinenumberEnd: 7858
    functionName: nlohmann::detail::binary_reader::get_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_string
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    - std::to_string
    - static_cast<NumberType>
    linkageType: ''
    returnType: bool
    signature: bool get_bson_string(const NumberType len, string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7872,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7874,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7880,1
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7881,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7884
      start: 7870
    functionDepth: 2
    functionLinenumber: 7870
    functionLinenumberEnd: 7884
    functionName: nlohmann::detail::binary_reader::get_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool get_bson_binary(const NumberType len, binary_t& result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::get_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7916,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7921,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: nlohmann::detail::binary_reader::get_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7938,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - element_type
    - element_type_parse_position
    argTypes:
    - char_int_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7960
      start: 7896
    functionDepth: 6
    functionLinenumber: 7896
    functionLinenumberEnd: 7960
    functionName: nlohmann::detail::binary_reader::parse_bson_element_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - number_float
    - nlohmann::detail::binary_reader::parse_bson_internal
    - 'null'
    - nlohmann::detail::binary_reader::get_bson_string
    - std::array::size
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_bson_binary
    - std::array::data
    - std::string
    - string
    - parse_error
    - boolean
    - nlohmann::detail::binary_reader::parse_bson_array
    - nlohmann::detail::parse_error::create
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_bson_element_internal(const char_int_type element_type,\n
      \                                    const std::size_t element_type_parse_position)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: nlohmann::detail::binary_reader::get_bson_cstr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7991,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - is_array
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8006
      start: 7974
    functionDepth: 4
    functionLinenumber: 7974
    functionLinenumberEnd: 8006
    functionName: nlohmann::detail::binary_reader::parse_bson_element_list
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::parse_bson_element_internal
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_bson_cstr
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_element_list(const bool is_array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8015,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8028
      start: 8012
    functionDepth: 5
    functionLinenumber: 8012
    functionLinenumberEnd: 8028
    functionName: nlohmann::detail::binary_reader::parse_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - nlohmann::detail::binary_reader::get_number
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_array()
  - BBCount: 213
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8045,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8048,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8049,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8151,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8356,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8367,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8373,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8379,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8385,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8391,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8395,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8400,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8403,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8406,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8415,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8421,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8422,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8432,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8437,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8438,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8442,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8445,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8446,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8448,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8451,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8452,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8470,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 304
    argCount: 2
    argNames:
    - get_char
    - tag_handler
    argTypes:
    - bool
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8474
      start: 8042
    functionDepth: 4
    functionLinenumber: 8042
    functionLinenumberEnd: 8474
    functionName: nlohmann::detail::binary_reader::parse_cbor_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - static_cast<unsigned char>
    - nlohmann::detail::binary_reader::get_token_string
    - number_float
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_cbor_object
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - std::ldexp
    - boolean
    - static_cast<std::size_t>
    - std::size_t
    - opt_eof
    - JSON_HEDLEY_UNLIKELY
    - std::numeric_limits<double>::quiet_NaN
    - nlohmann::detail::binary_reader::get_cbor_string
    - nlohmann::detail::parse_error::create
    - JSON_ASSERT
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_cbor_array
    - static_cast<number_integer_t>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::parse_cbor_internal
    - std::numeric_limits<double>::infinity
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_cbor_internal(const bool get_char,\n                             const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8551,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8554,1
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8558,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8565,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8569
      start: 8487
    functionDepth: 2
    functionLinenumber: 8487
    functionLinenumberEnd: 8569
    functionName: nlohmann::detail::binary_reader::get_cbor_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - append
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_string(string_t& result)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8623,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8624,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8630,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8631,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8637,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8644,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8645,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8650,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8653,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8664,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8668
      start: 8582
    functionDepth: 2
    functionLinenumber: 8582
    functionLinenumberEnd: 8668
    functionName: nlohmann::detail::binary_reader::get_cbor_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - insert
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::exception_message
    - end
    - JSON_HEDLEY_UNLIKELY
    - binary_t::end
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - binary_t::begin
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_binary(binary_t& result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8696,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8706
      start: 8676
    functionDepth: 3
    functionLinenumber: 8676
    functionLinenumberEnd: 8706
    functionName: nlohmann::detail::binary_reader::get_cbor_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - start_array
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_array(const std::size_t len,\n                        const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8723,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8727,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8737,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8742,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8753,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8758
      start: 8714
    functionDepth: 3
    functionLinenumber: 8714
    functionLinenumberEnd: 8758
    functionName: nlohmann::detail::binary_reader::get_cbor_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - string_t::clear
    - key
    - end_object
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_object(const std::size_t len,\n                         const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 258
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8769,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8772,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8773,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8986,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8989,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8992,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9131,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 302
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9135
      start: 8767
    functionDepth: 4
    functionLinenumber: 8767
    functionLinenumberEnd: 9135
    functionName: nlohmann::detail::binary_reader::parse_msgpack_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_msgpack_binary
    - nlohmann::detail::binary_reader::get_msgpack_object
    - nlohmann::detail::binary_reader::get_msgpack_string
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - boolean
    - static_cast<std::size_t>
    - opt_eof
    - nlohmann::detail::binary_reader::get_msgpack_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool parse_msgpack_internal()
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9213,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9217
      start: 9147
    functionDepth: 2
    functionLinenumber: 9147
    functionLinenumberEnd: 9217
    functionName: nlohmann::detail::binary_reader::get_msgpack_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_string(string_t& result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9243,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9244,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9250,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9251,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9257,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9258,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9265,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9266,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9267,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9268,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9275,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9276,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9277,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9278,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9285,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9286,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9287,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9288,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9294,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9295,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9296,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9302,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9303,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9304,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9310,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9311,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9312,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9318,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9319,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9326,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9327,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9328,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9334
      start: 9229
    functionDepth: 2
    functionLinenumber: 9229
    functionLinenumberEnd: 9334
    functionName: nlohmann::detail::binary_reader::get_msgpack_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - assign_and_return_true
    - nlohmann::detail::binary_reader::get_binary
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_binary(binary_t& result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9356
      start: 9340
    functionDepth: 3
    functionLinenumber: 9340
    functionLinenumberEnd: 9356
    functionName: nlohmann::detail::binary_reader::get_msgpack_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    - start_array
    - end_array
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_array(const std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9372,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9382,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9386
      start: 9362
    functionDepth: 3
    functionLinenumber: 9362
    functionLinenumberEnd: 9386
    functionName: nlohmann::detail::binary_reader::get_msgpack_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_msgpack_string
    - end_object
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_object(const std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9402
      start: 9399
    functionDepth: 4
    functionLinenumber: 9399
    functionLinenumberEnd: 9402
    functionName: nlohmann::detail::binary_reader::parse_ubjson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_value
    linkageType: ''
    returnType: bool
    signature: bool parse_ubjson_internal(const bool get_char = true)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9422,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9463,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9466
      start: 9418
    functionDepth: 2
    functionLinenumber: 9418
    functionLinenumberEnd: 9466
    functionName: nlohmann::detail::binary_reader::get_ubjson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_string(string_t& result, const bool get_char = true)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9474,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9483,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9494,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9505,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9516,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9527,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9533,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9537
      start: 9472
    functionDepth: 2
    functionLinenumber: 9472
    functionLinenumberEnd: 9537
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_value(std::size_t& result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9554,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9558,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9564,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9565,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9571,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9575,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::pair<std::size_t, char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9584
      start: 9549
    functionDepth: 3
    functionLinenumber: 9549
    functionLinenumberEnd: 9584
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9594,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9595,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9598,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9600,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9603,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9649,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9654,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9659,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9661,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9664,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9665,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9675,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9678,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9682,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9686
      start: 9590
    functionDepth: 5
    functionLinenumber: 9590
    functionLinenumberEnd: 9686
    functionName: nlohmann::detail::binary_reader::get_ubjson_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - 'null'
    - number_unsigned
    - nlohmann::detail::binary_reader::get_ubjson_object
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - parse_error
    - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    - string
    - boolean
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<typename string_t::value_type>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_ubjson_string
    - opt_eof
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_value(const char_int_type prefix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9743,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9748
      start: 9691
    functionDepth: 4
    functionLinenumber: 9691
    functionLinenumberEnd: 9748
    functionName: nlohmann::detail::binary_reader::get_ubjson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - nlohmann::detail::binary_reader::get_ubjson_value
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - std::size_t
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_array()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9781,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9796,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9817,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9818,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9822,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9823
      start: 9753
    functionDepth: 4
    functionLinenumber: 9753
    functionLinenumberEnd: 9823
    functionName: nlohmann::detail::binary_reader::get_ubjson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - start_object
    - nlohmann::detail::binary_reader::get_ubjson_value
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - string_t::clear
    - key
    - std::size_t
    - end_object
    - nlohmann::detail::binary_reader::get_ubjson_string
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_object()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9832,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9833,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9842,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: std::forward<decltype(number_vector)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: detail::lexer<BasicJsonType, decltype(number_ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9853,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9854,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9855,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9859,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: auto::get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: auto::get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: auto::get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9875
      start: 9828
    functionDepth: 4
    functionLinenumber: 9828
    functionLinenumberEnd: 9875
    functionName: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - number_float
    - auto::get_token_string
    - number_unsigned
    - unexpect_eof
    - static_cast<char>
    - auto::get_number_float
    - nlohmann::detail::binary_reader::get
    - std::move
    - std::forward<decltype(number_vector)>
    - auto::scan
    - parse_error
    - auto::get_number_integer
    - std::vector::push_back
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - nlohmann::detail::parse_error::create
    - auto::get_number_unsigned
    - nlohmann::detail::binary_reader::exception_message
    - detail::lexer<BasicJsonType, decltype(number_ia)>
    - nlohmann::detail::input_adapter
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_high_precision_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9894
      start: 9890
    functionDepth: 0
    functionLinenumber: 9890
    functionLinenumberEnd: 9894
    functionName: nlohmann::detail::binary_reader::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 34
    functionsReached:
    - get_character
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9908
      start: 9899
    functionDepth: 1
    functionLinenumber: 9899
    functionLinenumberEnd: 9908
    functionName: nlohmann::detail::binary_reader::get_ignore_noop
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - nlohmann::detail::binary_reader::get
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get_ignore_noop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9930,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9943,1
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - format
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9950
      start: 9924
    functionDepth: 1
    functionLinenumber: 9924
    functionLinenumberEnd: 9950
    functionName: nlohmann::detail::binary_reader::get_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 26
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - std::memcpy
    - JSON_HEDLEY_UNLIKELY
    - std::array::data
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_number(const input_format_t format, NumberType& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9974,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9983
      start: 9967
    functionDepth: 1
    functionLinenumber: 9967
    functionLinenumberEnd: 9983
    functionName: nlohmann::detail::binary_reader::get_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - push_back
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: "bool get_string(const input_format_t format,\n                    const
      NumberType len,\n                    string_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10007,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10016
      start: 10000
    functionDepth: 1
    functionLinenumber: 10000
    functionLinenumberEnd: 10016
    functionName: nlohmann::detail::binary_reader::get_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - push_back
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_binary(const input_format_t format,\n                    const
      NumberType len,\n                    binary_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10028,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - format
    - context
    argTypes:
    - input_format_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10023
    functionDepth: 2
    functionLinenumber: 10023
    functionLinenumberEnd: 10032
    functionName: "(3)\n    bool unexpect_eof(const input_format_t format, const char*
      context) const"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool unexpect_eof(const input_format_t
      format, const char* context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10037
    functionDepth: 1
    functionLinenumber: 10037
    functionLinenumberEnd: 10042
    functionName: nlohmann::detail::binary_reader::get_token_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 22
    functionsReached:
    - std::array::size
    - static_cast<unsigned char>
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - format
    - ' detail'
    - ' context'
    argTypes:
    - input_format_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10079
      start: 10050
    functionDepth: 1
    functionLinenumber: 10050
    functionLinenumberEnd: 10079
    functionName: nlohmann::detail::binary_reader::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 24
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: std::string
    signature: "std::string exception_message(const input_format_t format,\n                                  const
      std::string& detail,\n                                  const std::string& context)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7684
      start: 7681
    functionDepth: 0
    functionLinenumber: 7681
    functionLinenumberEnd: 7684
    functionName: nlohmann::detail::little_endianess
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool little_endianess(int num = 1) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7715
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void binary_reader(InputAdapterType&& adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7718
      start: 7718
    functionDepth: 0
    functionLinenumber: 7718
    functionLinenumberEnd: 7718
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7719
      start: 7719
    functionDepth: 0
    functionLinenumber: 7719
    functionLinenumberEnd: 7719
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7720
      start: 7720
    functionDepth: 0
    functionLinenumber: 7720
    functionLinenumberEnd: 7720
    functionName: '& operator=(const binary_reader&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7721
      start: 7721
    functionDepth: 0
    functionLinenumber: 7721
    functionLinenumberEnd: 7721
    functionName: '& operator=(binary_reader&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7722
      start: 7722
    functionDepth: 0
    functionLinenumber: 7722
    functionLinenumberEnd: 7722
    functionName: ~binary_reader()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~binary_reader()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7744,1
    - Dst: parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7748,1
    - Dst: parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7752,1
    - Dst: parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7756,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7760,1
    - Dst: get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7768,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7772,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - format
    - sax_
    argTypes:
    - input_format_t
    - json_sax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7783
      start: 7732
    functionDepth: 2
    functionLinenumber: 7732
    functionLinenumberEnd: 7783
    functionName: "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
      sax_,\n                   const bool strict = true,\n                   const
      cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_cbor_internal
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - get
    - JSON_ASSERT
    - parse_ubjson_internal
    - parse_bson_internal
    - JSON_HEDLEY_UNLIKELY
    - get_ignore_noop
    - opt_eof
    - parse_msgpack_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool sax_parse(const input_format_t
      format,\n                   json_sax_t* sax_,\n                   const bool
      strict = true,\n                   const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7797,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7810
      start: 7794
    functionDepth: 5
    functionLinenumber: 7794
    functionLinenumberEnd: 7810
    functionName: nlohmann::detail::binary_reader::parse_bson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - start_object
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - end_object
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7821,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7824,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7819
    functionDepth: 1
    functionLinenumber: 7819
    functionLinenumberEnd: 7835
    functionName: nlohmann::detail::binary_reader::get_bson_cstr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - std::back_inserter
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_bson_cstr(string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7851,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7853,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: static_cast<NumberType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7849
    functionDepth: 2
    functionLinenumber: 7849
    functionLinenumberEnd: 7858
    functionName: nlohmann::detail::binary_reader::get_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_string
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    - std::to_string
    - static_cast<NumberType>
    linkageType: ''
    returnType: bool
    signature: bool get_bson_string(const NumberType len, string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7872,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7874,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7880,1
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7881,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7884
      start: 7870
    functionDepth: 2
    functionLinenumber: 7870
    functionLinenumberEnd: 7884
    functionName: nlohmann::detail::binary_reader::get_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool get_bson_binary(const NumberType len, binary_t& result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::get_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7916,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7921,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: nlohmann::detail::binary_reader::get_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7938,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - element_type
    - element_type_parse_position
    argTypes:
    - char_int_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7960
      start: 7896
    functionDepth: 6
    functionLinenumber: 7896
    functionLinenumberEnd: 7960
    functionName: nlohmann::detail::binary_reader::parse_bson_element_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    - number_float
    - nlohmann::detail::binary_reader::parse_bson_internal
    - 'null'
    - nlohmann::detail::binary_reader::get_bson_string
    - std::array::size
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_bson_binary
    - std::array::data
    - std::string
    - string
    - parse_error
    - boolean
    - nlohmann::detail::binary_reader::parse_bson_array
    - nlohmann::detail::parse_error::create
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_bson_element_internal(const char_int_type element_type,\n
      \                                    const std::size_t element_type_parse_position)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: nlohmann::detail::binary_reader::get_bson_cstr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7991,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - is_array
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8006
      start: 7974
    functionDepth: 4
    functionLinenumber: 7974
    functionLinenumberEnd: 8006
    functionName: nlohmann::detail::binary_reader::parse_bson_element_list
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::binary_reader::parse_bson_element_internal
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_bson_cstr
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_element_list(const bool is_array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8015,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8028
      start: 8012
    functionDepth: 5
    functionLinenumber: 8012
    functionLinenumberEnd: 8028
    functionName: nlohmann::detail::binary_reader::parse_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - nlohmann::detail::binary_reader::get_number
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_array()
  - BBCount: 213
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8045,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8048,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8049,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8151,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8356,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8367,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8373,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8379,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8385,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8391,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8395,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8400,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8403,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8406,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8415,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8421,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8422,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8432,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8437,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8438,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8442,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8445,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8446,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8448,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8451,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8452,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8470,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 304
    argCount: 2
    argNames:
    - get_char
    - tag_handler
    argTypes:
    - bool
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8474
      start: 8042
    functionDepth: 4
    functionLinenumber: 8042
    functionLinenumberEnd: 8474
    functionName: nlohmann::detail::binary_reader::parse_cbor_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - static_cast<unsigned char>
    - nlohmann::detail::binary_reader::get_token_string
    - number_float
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_cbor_object
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - std::ldexp
    - boolean
    - static_cast<std::size_t>
    - std::size_t
    - opt_eof
    - JSON_HEDLEY_UNLIKELY
    - std::numeric_limits<double>::quiet_NaN
    - nlohmann::detail::binary_reader::get_cbor_string
    - nlohmann::detail::parse_error::create
    - JSON_ASSERT
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_cbor_array
    - static_cast<number_integer_t>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::parse_cbor_internal
    - std::numeric_limits<double>::infinity
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_cbor_internal(const bool get_char,\n                             const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8551,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8554,1
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8558,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8565,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8569
      start: 8487
    functionDepth: 2
    functionLinenumber: 8487
    functionLinenumberEnd: 8569
    functionName: nlohmann::detail::binary_reader::get_cbor_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - append
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_string(string_t& result)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8623,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8624,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8630,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8631,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8637,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8644,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8645,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8650,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8653,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8664,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8668
      start: 8582
    functionDepth: 2
    functionLinenumber: 8582
    functionLinenumberEnd: 8668
    functionName: nlohmann::detail::binary_reader::get_cbor_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - insert
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::exception_message
    - end
    - JSON_HEDLEY_UNLIKELY
    - binary_t::end
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - binary_t::begin
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_binary(binary_t& result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8696,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8706
      start: 8676
    functionDepth: 3
    functionLinenumber: 8676
    functionLinenumberEnd: 8706
    functionName: nlohmann::detail::binary_reader::get_cbor_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - start_array
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_array(const std::size_t len,\n                        const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8723,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8727,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8737,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8742,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8753,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8758
      start: 8714
    functionDepth: 3
    functionLinenumber: 8714
    functionLinenumberEnd: 8758
    functionName: nlohmann::detail::binary_reader::get_cbor_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - string_t::clear
    - key
    - end_object
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_object(const std::size_t len,\n                         const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 258
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8769,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8772,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8773,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8986,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8989,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8992,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9131,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 302
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9135
      start: 8767
    functionDepth: 4
    functionLinenumber: 8767
    functionLinenumberEnd: 9135
    functionName: nlohmann::detail::binary_reader::parse_msgpack_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_msgpack_binary
    - nlohmann::detail::binary_reader::get_msgpack_object
    - nlohmann::detail::binary_reader::get_msgpack_string
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - boolean
    - static_cast<std::size_t>
    - opt_eof
    - nlohmann::detail::binary_reader::get_msgpack_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool parse_msgpack_internal()
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9213,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9217
      start: 9147
    functionDepth: 2
    functionLinenumber: 9147
    functionLinenumberEnd: 9217
    functionName: nlohmann::detail::binary_reader::get_msgpack_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_string(string_t& result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9243,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9244,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9250,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9251,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9257,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9258,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9265,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9266,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9267,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9268,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9275,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9276,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9277,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9278,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9285,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9286,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9287,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9288,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9294,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9295,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9296,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9302,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9303,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9304,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9310,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9311,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9312,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9318,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9319,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9326,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9327,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9328,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9334
      start: 9229
    functionDepth: 2
    functionLinenumber: 9229
    functionLinenumberEnd: 9334
    functionName: nlohmann::detail::binary_reader::get_msgpack_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - assign_and_return_true
    - nlohmann::detail::binary_reader::get_binary
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_binary(binary_t& result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9356
      start: 9340
    functionDepth: 3
    functionLinenumber: 9340
    functionLinenumberEnd: 9356
    functionName: nlohmann::detail::binary_reader::get_msgpack_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    - start_array
    - end_array
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_array(const std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9372,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9382,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9386
      start: 9362
    functionDepth: 3
    functionLinenumber: 9362
    functionLinenumberEnd: 9386
    functionName: nlohmann::detail::binary_reader::get_msgpack_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_msgpack_string
    - end_object
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_object(const std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9402
      start: 9399
    functionDepth: 4
    functionLinenumber: 9399
    functionLinenumberEnd: 9402
    functionName: nlohmann::detail::binary_reader::parse_ubjson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_value
    linkageType: ''
    returnType: bool
    signature: bool parse_ubjson_internal(const bool get_char = true)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9422,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9463,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9466
      start: 9418
    functionDepth: 2
    functionLinenumber: 9418
    functionLinenumberEnd: 9466
    functionName: nlohmann::detail::binary_reader::get_ubjson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_string(string_t& result, const bool get_char = true)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9474,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9483,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9494,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9505,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9516,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9527,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9533,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9537
      start: 9472
    functionDepth: 2
    functionLinenumber: 9472
    functionLinenumberEnd: 9537
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_value(std::size_t& result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9554,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9558,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9564,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9565,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9571,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9575,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::pair<std::size_t, char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9584
      start: 9549
    functionDepth: 3
    functionLinenumber: 9549
    functionLinenumberEnd: 9584
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9594,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9595,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9598,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9600,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9603,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9649,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9654,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9659,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9661,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9664,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9665,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9675,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9678,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9682,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9686
      start: 9590
    functionDepth: 5
    functionLinenumber: 9590
    functionLinenumberEnd: 9686
    functionName: nlohmann::detail::binary_reader::get_ubjson_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - 'null'
    - number_unsigned
    - nlohmann::detail::binary_reader::get_ubjson_object
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - parse_error
    - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    - string
    - boolean
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<typename string_t::value_type>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_ubjson_string
    - opt_eof
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_value(const char_int_type prefix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9743,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9748
      start: 9691
    functionDepth: 4
    functionLinenumber: 9691
    functionLinenumberEnd: 9748
    functionName: nlohmann::detail::binary_reader::get_ubjson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - nlohmann::detail::binary_reader::get_ubjson_value
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - std::size_t
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_array()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9781,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9796,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9817,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9818,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9822,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9823
      start: 9753
    functionDepth: 4
    functionLinenumber: 9753
    functionLinenumberEnd: 9823
    functionName: nlohmann::detail::binary_reader::get_ubjson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - start_object
    - nlohmann::detail::binary_reader::get_ubjson_value
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - string_t::clear
    - key
    - std::size_t
    - end_object
    - nlohmann::detail::binary_reader::get_ubjson_string
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_object()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9832,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9833,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9842,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: std::forward<decltype(number_vector)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: detail::lexer<BasicJsonType, decltype(number_ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9853,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9854,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9855,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9859,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: auto::get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: auto::get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: auto::get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9875
      start: 9828
    functionDepth: 4
    functionLinenumber: 9828
    functionLinenumberEnd: 9875
    functionName: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - number_float
    - auto::get_token_string
    - number_unsigned
    - unexpect_eof
    - static_cast<char>
    - auto::get_number_float
    - nlohmann::detail::binary_reader::get
    - std::move
    - std::forward<decltype(number_vector)>
    - auto::scan
    - parse_error
    - auto::get_number_integer
    - std::vector::push_back
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - nlohmann::detail::parse_error::create
    - auto::get_number_unsigned
    - nlohmann::detail::binary_reader::exception_message
    - detail::lexer<BasicJsonType, decltype(number_ia)>
    - nlohmann::detail::input_adapter
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_high_precision_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9894
      start: 9890
    functionDepth: 0
    functionLinenumber: 9890
    functionLinenumberEnd: 9894
    functionName: nlohmann::detail::binary_reader::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 53
    functionsReached:
    - get_character
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9908
      start: 9899
    functionDepth: 1
    functionLinenumber: 9899
    functionLinenumberEnd: 9908
    functionName: nlohmann::detail::binary_reader::get_ignore_noop
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - nlohmann::detail::binary_reader::get
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get_ignore_noop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9930,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9943,1
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - format
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9950
      start: 9924
    functionDepth: 1
    functionLinenumber: 9924
    functionLinenumberEnd: 9950
    functionName: nlohmann::detail::binary_reader::get_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 39
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - std::memcpy
    - JSON_HEDLEY_UNLIKELY
    - std::array::data
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_number(const input_format_t format, NumberType& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9974,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9983
      start: 9967
    functionDepth: 1
    functionLinenumber: 9967
    functionLinenumberEnd: 9983
    functionName: nlohmann::detail::binary_reader::get_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - push_back
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: "bool get_string(const input_format_t format,\n                    const
      NumberType len,\n                    string_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10007,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10016
      start: 10000
    functionDepth: 1
    functionLinenumber: 10000
    functionLinenumberEnd: 10016
    functionName: nlohmann::detail::binary_reader::get_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - push_back
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_binary(const input_format_t format,\n                    const
      NumberType len,\n                    binary_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10028,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - format
    - context
    argTypes:
    - input_format_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10023
    functionDepth: 2
    functionLinenumber: 10023
    functionLinenumberEnd: 10032
    functionName: "(3)\n    bool unexpect_eof(const input_format_t format, const char*
      context) const"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool unexpect_eof(const input_format_t
      format, const char* context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10037
    functionDepth: 1
    functionLinenumber: 10037
    functionLinenumberEnd: 10042
    functionName: nlohmann::detail::binary_reader::get_token_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 33
    functionsReached:
    - std::array::size
    - static_cast<unsigned char>
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - format
    - ' detail'
    - ' context'
    argTypes:
    - input_format_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10079
      start: 10050
    functionDepth: 1
    functionLinenumber: 10050
    functionLinenumberEnd: 10079
    functionName: nlohmann::detail::binary_reader::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 36
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: std::string
    signature: "std::string exception_message(const input_format_t format,\n                                  const
      std::string& detail,\n                                  const std::string& context)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7684
      start: 7681
    functionDepth: 0
    functionLinenumber: 7681
    functionLinenumberEnd: 7684
    functionName: nlohmann::detail::little_endianess
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool little_endianess(int num = 1) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7715
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void binary_reader(InputAdapterType&& adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7718
      start: 7718
    functionDepth: 0
    functionLinenumber: 7718
    functionLinenumberEnd: 7718
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7719
      start: 7719
    functionDepth: 0
    functionLinenumber: 7719
    functionLinenumberEnd: 7719
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7720
      start: 7720
    functionDepth: 0
    functionLinenumber: 7720
    functionLinenumberEnd: 7720
    functionName: '& operator=(const binary_reader&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7721
      start: 7721
    functionDepth: 0
    functionLinenumber: 7721
    functionLinenumberEnd: 7721
    functionName: '& operator=(binary_reader&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7722
      start: 7722
    functionDepth: 0
    functionLinenumber: 7722
    functionLinenumberEnd: 7722
    functionName: ~binary_reader()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~binary_reader()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7744,1
    - Dst: parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7748,1
    - Dst: parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7752,1
    - Dst: parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7756,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7760,1
    - Dst: get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7768,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7772,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7775,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7777,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - format
    - sax_
    argTypes:
    - input_format_t
    - json_sax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7783
      start: 7732
    functionDepth: 2
    functionLinenumber: 7732
    functionLinenumberEnd: 7783
    functionName: "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
      sax_,\n                   const bool strict = true,\n                   const
      cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_cbor_internal
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - get
    - JSON_ASSERT
    - parse_ubjson_internal
    - parse_bson_internal
    - JSON_HEDLEY_UNLIKELY
    - get_ignore_noop
    - opt_eof
    - parse_msgpack_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool sax_parse(const input_format_t
      format,\n                   json_sax_t* sax_,\n                   const bool
      strict = true,\n                   const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7797,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7799,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7804,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7810
      start: 7794
    functionDepth: 5
    functionLinenumber: 7794
    functionLinenumberEnd: 7810
    functionName: nlohmann::detail::binary_reader::parse_bson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - start_object
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - end_object
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7821,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7824,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7825,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7819
    functionDepth: 1
    functionLinenumber: 7819
    functionLinenumberEnd: 7835
    functionName: nlohmann::detail::binary_reader::get_bson_cstr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - std::back_inserter
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_bson_cstr(string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7851,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7853,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7854,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: static_cast<NumberType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7849
    functionDepth: 2
    functionLinenumber: 7849
    functionLinenumberEnd: 7858
    functionName: nlohmann::detail::binary_reader::get_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_string
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    - std::to_string
    - static_cast<NumberType>
    linkageType: ''
    returnType: bool
    signature: bool get_bson_string(const NumberType len, string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7872,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7874,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7875,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7880,1
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7881,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7884
      start: 7870
    functionDepth: 2
    functionLinenumber: 7870
    functionLinenumberEnd: 7884
    functionName: nlohmann::detail::binary_reader::get_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool get_bson_binary(const NumberType len, binary_t& result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7904,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::get_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7911,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7916,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7921,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: nlohmann::detail::binary_reader::get_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7928,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7933,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7938,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7944,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7950,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7956,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - element_type
    - element_type_parse_position
    argTypes:
    - char_int_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7960
      start: 7896
    functionDepth: 6
    functionLinenumber: 7896
    functionLinenumberEnd: 7960
    functionName: nlohmann::detail::binary_reader::parse_bson_element_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - number_float
    - nlohmann::detail::binary_reader::parse_bson_internal
    - 'null'
    - nlohmann::detail::binary_reader::get_bson_string
    - std::array::size
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_bson_binary
    - std::array::data
    - std::string
    - string
    - parse_error
    - boolean
    - nlohmann::detail::binary_reader::parse_bson_array
    - nlohmann::detail::parse_error::create
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_bson_element_internal(const char_int_type element_type,\n
      \                                    const std::size_t element_type_parse_position)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7978,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7980,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: nlohmann::detail::binary_reader::get_bson_cstr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7986,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7991,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:7996,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - is_array
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8006
      start: 7974
    functionDepth: 4
    functionLinenumber: 7974
    functionLinenumberEnd: 8006
    functionName: nlohmann::detail::binary_reader::parse_bson_element_list
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::detail::binary_reader::parse_bson_element_internal
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_bson_cstr
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_element_list(const bool is_array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8015,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8017,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8022,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8028
      start: 8012
    functionDepth: 5
    functionLinenumber: 8012
    functionLinenumberEnd: 8028
    functionName: nlohmann::detail::binary_reader::parse_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - nlohmann::detail::binary_reader::get_number
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_array()
  - BBCount: 213
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8045,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8048,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8049,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8076,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8081,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8087,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8093,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8099,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8127,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8132,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8138,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8144,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8150,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8151,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8186,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8221,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8249,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8254,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8260,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8266,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8272,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8276,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8303,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8308,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8314,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8326,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8330,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8356,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8357,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8367,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8373,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8379,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8385,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8391,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8395,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8400,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8403,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8406,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8411,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8415,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8416,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8421,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8422,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8432,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8437,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8438,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8442,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8445,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8446,1
    - Dst: std::ldexp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8448,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8451,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8452,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8459,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8465,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8470,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8471,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 304
    argCount: 2
    argNames:
    - get_char
    - tag_handler
    argTypes:
    - bool
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8474
      start: 8042
    functionDepth: 4
    functionLinenumber: 8042
    functionLinenumberEnd: 8474
    functionName: nlohmann::detail::binary_reader::parse_cbor_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - static_cast<unsigned char>
    - nlohmann::detail::binary_reader::get_token_string
    - number_float
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_cbor_object
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - std::ldexp
    - boolean
    - static_cast<std::size_t>
    - std::size_t
    - opt_eof
    - JSON_HEDLEY_UNLIKELY
    - std::numeric_limits<double>::quiet_NaN
    - nlohmann::detail::binary_reader::get_cbor_string
    - nlohmann::detail::parse_error::create
    - JSON_ASSERT
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_cbor_array
    - static_cast<number_integer_t>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::parse_cbor_internal
    - std::numeric_limits<double>::infinity
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: "bool parse_cbor_internal(const bool get_char,\n                             const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8489,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8522,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8528,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8534,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8540,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8546,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8551,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8554,1
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8558,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8565,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8569
      start: 8487
    functionDepth: 2
    functionLinenumber: 8487
    functionLinenumberEnd: 8569
    functionName: nlohmann::detail::binary_reader::get_cbor_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 11
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - append
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_string(string_t& result)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8584,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8617,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8623,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8624,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8630,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8631,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8637,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8644,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8645,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8650,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8653,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: binary_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8657,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8664,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8668
      start: 8582
    functionDepth: 2
    functionLinenumber: 8582
    functionLinenumberEnd: 8668
    functionName: nlohmann::detail::binary_reader::get_cbor_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_binary
    - insert
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::exception_message
    - end
    - JSON_HEDLEY_UNLIKELY
    - binary_t::end
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_binary
    - binary_t::begin
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_binary(binary_t& result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8679,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8684,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8688,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8696,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8698,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8706
      start: 8676
    functionDepth: 3
    functionLinenumber: 8676
    functionLinenumberEnd: 8706
    functionName: nlohmann::detail::binary_reader::get_cbor_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - start_array
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_array(const std::size_t len,\n                        const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8717,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8723,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8727,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8728,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8733,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8737,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8742,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8744,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8749,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8753,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8758
      start: 8714
    functionDepth: 3
    functionLinenumber: 8714
    functionLinenumberEnd: 8758
    functionName: nlohmann::detail::binary_reader::get_cbor_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_cbor_string
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - string_t::clear
    - key
    - end_object
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_object(const std::size_t len,\n                         const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 258
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8769,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8772,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8773,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8904,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8923,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8942,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8982,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8986,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8989,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:8992,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9007,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9013,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9019,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9025,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9031,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9037,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9043,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9049,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9055,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9061,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9067,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9073,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9079,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9085,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9091,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9127,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9131,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9132,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 302
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9135
      start: 8767
    functionDepth: 4
    functionLinenumber: 8767
    functionLinenumberEnd: 9135
    functionName: nlohmann::detail::binary_reader::parse_msgpack_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - 'null'
    - number_unsigned
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_msgpack_binary
    - nlohmann::detail::binary_reader::get_msgpack_object
    - nlohmann::detail::binary_reader::get_msgpack_string
    - static_cast<number_unsigned_t>
    - string
    - parse_error
    - static_cast<std::int8_t>
    - boolean
    - static_cast<std::size_t>
    - opt_eof
    - nlohmann::detail::binary_reader::get_msgpack_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - binary
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool parse_msgpack_internal()
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9149,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9190,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9196,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9202,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9208,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9213,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9217
      start: 9147
    functionDepth: 2
    functionLinenumber: 9147
    functionLinenumberEnd: 9217
    functionName: nlohmann::detail::binary_reader::get_msgpack_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_string(string_t& result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: set_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9234,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9243,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9244,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9250,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9251,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9257,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9258,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9265,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9266,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9267,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9268,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9275,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9276,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9277,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9278,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9285,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9286,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9287,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9288,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9294,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9295,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9296,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9302,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9303,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9304,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9310,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9311,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9312,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9318,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9319,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9320,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9326,1
    - Dst: nlohmann::detail::binary_reader::get_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9327,1
    - Dst: assign_and_return_true
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9328,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9334
      start: 9229
    functionDepth: 2
    functionLinenumber: 9229
    functionLinenumberEnd: 9334
    functionName: nlohmann::detail::binary_reader::get_msgpack_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - set_subtype
    - nlohmann::detail::binary_reader::get_number
    - assign_and_return_true
    - nlohmann::detail::binary_reader::get_binary
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_binary(binary_t& result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9349,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9356
      start: 9340
    functionDepth: 3
    functionLinenumber: 9340
    functionLinenumberEnd: 9356
    functionName: nlohmann::detail::binary_reader::get_msgpack_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    - start_array
    - end_array
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_array(const std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9364,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9372,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9378,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9382,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9386
      start: 9362
    functionDepth: 3
    functionLinenumber: 9362
    functionLinenumberEnd: 9386
    functionName: nlohmann::detail::binary_reader::get_msgpack_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - start_object
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - string_t::clear
    - key
    - nlohmann::detail::binary_reader::get_msgpack_string
    - end_object
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_object(const std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9402
      start: 9399
    functionDepth: 4
    functionLinenumber: 9399
    functionLinenumberEnd: 9402
    functionName: nlohmann::detail::binary_reader::parse_ubjson_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_value
    linkageType: ''
    returnType: bool
    signature: bool parse_ubjson_internal(const bool get_char = true)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9422,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9425,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9435,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9441,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9447,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9453,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9459,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9463,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9466
      start: 9418
    functionDepth: 2
    functionLinenumber: 9418
    functionLinenumberEnd: 9466
    functionName: nlohmann::detail::binary_reader::get_ubjson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_number
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_string(string_t& result, const bool get_char = true)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9474,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9479,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9483,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9490,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9494,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9501,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9505,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9512,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9516,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9523,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9527,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9533,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9537
      start: 9472
    functionDepth: 2
    functionLinenumber: 9472
    functionLinenumberEnd: 9537
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_value(std::size_t& result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9554,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9558,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9559,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9564,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9565,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9567,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9571,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9572,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9575,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::pair<std::size_t, char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9584
      start: 9549
    functionDepth: 3
    functionLinenumber: 9549
    functionLinenumberEnd: 9584
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::get_token_string
    - nlohmann::detail::binary_reader::exception_message
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9594,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9595,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9598,1
    - Dst: boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9600,1
    - Dst: 'null'
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9603,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9608,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9614,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9620,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9626,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9632,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9638,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9644,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9649,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9654,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9655,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9659,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9661,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9662,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9664,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9665,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9671,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9675,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9678,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9682,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9686
      start: 9590
    functionDepth: 5
    functionLinenumber: 9590
    functionLinenumberEnd: 9686
    functionName: nlohmann::detail::binary_reader::get_ubjson_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - number_float
    - nlohmann::detail::binary_reader::get_token_string
    - 'null'
    - number_unsigned
    - nlohmann::detail::binary_reader::get_ubjson_object
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - parse_error
    - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    - string
    - boolean
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_array
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::exception_message
    - static_cast<typename string_t::value_type>
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_ubjson_string
    - opt_eof
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_value(const char_int_type prefix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9694,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9701,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9712,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9723,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9732,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9739,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9743,1
    - Dst: end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9748
      start: 9691
    functionDepth: 4
    functionLinenumber: 9691
    functionLinenumberEnd: 9748
    functionName: nlohmann::detail::binary_reader::get_ubjson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - nlohmann::detail::binary_reader::get_ubjson_value
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - std::size_t
    - start_array
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_array()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9756,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9764,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9773,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9777,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9781,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9788,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9792,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9796,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9802,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9809,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9813,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9817,1
    - Dst: string_t::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9818,1
    - Dst: end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9822,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9823
      start: 9753
    functionDepth: 4
    functionLinenumber: 9753
    functionLinenumberEnd: 9823
    functionName: nlohmann::detail::binary_reader::get_ubjson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - start_object
    - nlohmann::detail::binary_reader::get_ubjson_value
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - string_t::clear
    - key
    - std::size_t
    - end_object
    - nlohmann::detail::binary_reader::get_ubjson_string
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_object()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9832,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9833,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9842,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9843,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9847,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: std::forward<decltype(number_vector)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9851,1
    - Dst: detail::lexer<BasicJsonType, decltype(number_ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9852,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9853,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9854,1
    - Dst: auto::scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9855,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9859,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9861,1
    - Dst: number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: auto::get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9867,1
    - Dst: number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: auto::get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9869,1
    - Dst: number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: auto::get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9871,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    - Dst: auto::get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9875
      start: 9828
    functionDepth: 4
    functionLinenumber: 9828
    functionLinenumberEnd: 9875
    functionName: nlohmann::detail::binary_reader::get_ubjson_high_precision_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - number_float
    - auto::get_token_string
    - number_unsigned
    - unexpect_eof
    - static_cast<char>
    - auto::get_number_float
    - nlohmann::detail::binary_reader::get
    - std::move
    - std::forward<decltype(number_vector)>
    - auto::scan
    - parse_error
    - auto::get_number_integer
    - std::vector::push_back
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - nlohmann::detail::parse_error::create
    - auto::get_number_unsigned
    - nlohmann::detail::binary_reader::exception_message
    - detail::lexer<BasicJsonType, decltype(number_ia)>
    - nlohmann::detail::input_adapter
    - number_integer
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_high_precision_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9894
      start: 9890
    functionDepth: 0
    functionLinenumber: 9890
    functionLinenumberEnd: 9894
    functionName: nlohmann::detail::binary_reader::get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 72
    functionsReached:
    - get_character
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9908
      start: 9899
    functionDepth: 1
    functionLinenumber: 9899
    functionLinenumberEnd: 9908
    functionName: nlohmann::detail::binary_reader::get_ignore_noop
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 20
    functionsReached:
    - nlohmann::detail::binary_reader::get
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get_ignore_noop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9930,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9931,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9943,1
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - format
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9950
      start: 9924
    functionDepth: 1
    functionLinenumber: 9924
    functionLinenumberEnd: 9950
    functionName: nlohmann::detail::binary_reader::get_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 52
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - std::memcpy
    - JSON_HEDLEY_UNLIKELY
    - std::array::data
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_number(const input_format_t format, NumberType& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9974,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9975,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:9980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9983
      start: 9967
    functionDepth: 1
    functionLinenumber: 9967
    functionLinenumberEnd: 9983
    functionName: nlohmann::detail::binary_reader::get_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 16
    functionsReached:
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - push_back
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: "bool get_string(const input_format_t format,\n                    const
      NumberType len,\n                    string_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10007,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: unexpect_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10008,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10016
      start: 10000
    functionDepth: 1
    functionLinenumber: 10000
    functionLinenumberEnd: 10016
    functionName: nlohmann::detail::binary_reader::get_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - unexpect_eof
    - nlohmann::detail::binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - push_back
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_binary(const input_format_t format,\n                    const
      NumberType len,\n                    binary_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: opt_eof
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10026,1
    - Dst: parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10028,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - format
    - context
    argTypes:
    - input_format_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10023
    functionDepth: 2
    functionLinenumber: 10023
    functionLinenumberEnd: 10032
    functionName: "(3)\n    bool unexpect_eof(const input_format_t format, const char*
      context) const"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - parse_error
    - exception_message
    - nlohmann::detail::parse_error::create
    - JSON_HEDLEY_UNLIKELY
    - opt_eof
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool unexpect_eof(const input_format_t
      format, const char* context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: static_cast<unsigned char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10040,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10037
    functionDepth: 1
    functionLinenumber: 10037
    functionLinenumberEnd: 10042
    functionName: nlohmann::detail::binary_reader::get_token_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 44
    functionsReached:
    - std::array::size
    - static_cast<unsigned char>
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - format
    - ' detail'
    - ' context'
    argTypes:
    - input_format_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10079
      start: 10050
    functionDepth: 1
    functionLinenumber: 10050
    functionLinenumberEnd: 10079
    functionName: nlohmann::detail::binary_reader::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 48
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: std::string
    signature: "std::string exception_message(const input_format_t format,\n                                  const
      std::string& detail,\n                                  const std::string& context)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10179,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10184
      start: 10174
    functionDepth: 1
    functionLinenumber: 10174
    functionLinenumberEnd: 10184
    functionName: nlohmann::detail::parser::parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::parser::get_token
    linkageType: ''
    returnType: void
    signature: "void parser(InputAdapterType&& adapter,\n                    const
      parser_callback_t<BasicJsonType> cb = nullptr,\n                    const bool
      allow_exceptions_ = true,\n                    const bool skip_comments = false)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10201,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10202,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10205,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10208,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10210,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10214,1
    - Dst: is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10222,1
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10230,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10231,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10234,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10237,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10239,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - strict
    - ' result'
    argTypes:
    - bool
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10249
      start: 10196
    functionDepth: 2
    functionLinenumber: 10196
    functionLinenumberEnd: 10249
    functionName: nlohmann::detail::parser::parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - json_sax_dom_callback_parser::parse_error
    - nlohmann::detail::parser::get_token
    - nlohmann::detail::parse_error::create
    - json_sax_dom_parser::is_errored
    - json_sax_dom_callback_parser::is_errored
    - is_discarded
    - nlohmann::detail::parser::exception_message
    - nlohmann::detail::parser::sax_parse_internal
    - json_sax_dom_parser::parse_error
    - assert_invariant
    - get_token_string
    linkageType: ''
    returnType: void
    signature: void parse(const bool strict, BasicJsonType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10261
      start: 10257
    functionDepth: 1
    functionLinenumber: 10257
    functionLinenumberEnd: 10261
    functionName: nlohmann::detail::parser::accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - sax_parse
    linkageType: ''
    returnType: bool
    signature: bool accept(const bool strict = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10268,1
    - Dst: get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10271,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10274,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10280
      start: 10264
    functionDepth: 2
    functionLinenumber: 10264
    functionLinenumberEnd: 10280
    functionName: "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - get_token
    - nlohmann::detail::parse_error::create
    - exception_message
    - SAX*::parse_error
    - sax_parse_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    bool sax_parse(SAX* sax, const bool
      strict = true)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: SAX*::start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10308,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10318,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10321,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10323,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10334,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10336,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10340,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10343,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: SAX*::start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10355,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10365,1
    - Dst: get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10378,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: SAX*::number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: SAX*::null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: SAX*::number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: SAX*::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10448,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10450,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10456,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10458,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10468,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10474,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10477,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10480,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10485,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10497,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10503,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10505,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10510,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10516,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10518,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10530,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10532,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10536,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10541,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10553,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10559,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10561,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10564
      start: 10285
    functionDepth: 2
    functionLinenumber: 10285
    functionLinenumberEnd: 10564
    functionName: nlohmann::detail::parser::sax_parse_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - SAX*::number_unsigned
    - SAX*::null
    - JSON_HEDLEY_LIKELY
    - get_string
    - std::isfinite
    - SAX*::number_float
    - SAX*::key
    - nlohmann::detail::out_of_range::create
    - SAX*::start_array
    - std::vector::empty
    - get_position
    - nlohmann::detail::parser::get_token
    - std::vector::back
    - SAX*::end_object
    - SAX*::start_object
    - get_token_string
    - std::vector::pop_back
    - SAX*::parse_error
    - std::vector::push_back
    - get_number_unsigned
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - SAX*::boolean
    - get_number_integer
    - nlohmann::detail::parse_error::create
    - get_number_float
    - JSON_ASSERT
    - SAX*::number_integer
    - nlohmann::detail::parser::exception_message
    - SAX*::string
    - SAX*::end_array
    linkageType: ''
    returnType: bool
    signature: bool sax_parse_internal(SAX* sax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10570
      start: 10567
    functionDepth: 4
    functionLinenumber: 10567
    functionLinenumberEnd: 10570
    functionName: nlohmann::detail::parser::get_token
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - scan
    linkageType: ''
    returnType: token_type
    signature: token_type get_token()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10576,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_error_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10586,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - ' context'
    argTypes:
    - token_type
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10599
      start: 10572
    functionDepth: 2
    functionLinenumber: 10572
    functionLinenumberEnd: 10599
    functionName: nlohmann::detail::parser::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - get_error_message
    - nlohmann::detail::lexer_base::token_type_name
    - empty
    - std::string
    - get_token_string
    linkageType: ''
    returnType: std::string
    signature: std::string exception_message(const token_type expected, const std::string&
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10179,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10184
      start: 10174
    functionDepth: 5
    functionLinenumber: 10174
    functionLinenumberEnd: 10184
    functionName: nlohmann::detail::parser::parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::parser::get_token
    linkageType: ''
    returnType: void
    signature: "void parser(InputAdapterType&& adapter,\n                    const
      parser_callback_t<BasicJsonType> cb = nullptr,\n                    const bool
      allow_exceptions_ = true,\n                    const bool skip_comments = false)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10201,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10202,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10205,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10208,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10210,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10214,1
    - Dst: is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10222,1
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10230,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10231,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10234,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10237,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10239,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - strict
    - ' result'
    argTypes:
    - bool
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10249
      start: 10196
    functionDepth: 5
    functionLinenumber: 10196
    functionLinenumberEnd: 10249
    functionName: nlohmann::detail::parser::parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - json_sax_dom_callback_parser::parse_error
    - nlohmann::detail::parser::get_token
    - nlohmann::detail::parse_error::create
    - json_sax_dom_parser::is_errored
    - json_sax_dom_callback_parser::is_errored
    - is_discarded
    - nlohmann::detail::parser::exception_message
    - nlohmann::detail::parser::sax_parse_internal
    - json_sax_dom_parser::parse_error
    - assert_invariant
    - get_token_string
    linkageType: ''
    returnType: void
    signature: void parse(const bool strict, BasicJsonType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10261
      start: 10257
    functionDepth: 1
    functionLinenumber: 10257
    functionLinenumberEnd: 10261
    functionName: nlohmann::detail::parser::accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - sax_parse
    linkageType: ''
    returnType: bool
    signature: bool accept(const bool strict = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10268,1
    - Dst: get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10271,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10274,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10280
      start: 10264
    functionDepth: 2
    functionLinenumber: 10264
    functionLinenumberEnd: 10280
    functionName: "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - get_token
    - nlohmann::detail::parse_error::create
    - exception_message
    - SAX*::parse_error
    - sax_parse_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    bool sax_parse(SAX* sax, const bool
      strict = true)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: SAX*::start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10308,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10318,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10321,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10323,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10334,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10336,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10340,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10343,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: SAX*::start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10355,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10365,1
    - Dst: get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10378,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: SAX*::number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: SAX*::null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: SAX*::number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: SAX*::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10448,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10450,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10456,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10458,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10468,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10474,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10477,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10480,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10485,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10497,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10503,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10505,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10510,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10516,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10518,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10530,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10532,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10536,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10541,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10553,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10559,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10561,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10564
      start: 10285
    functionDepth: 5
    functionLinenumber: 10285
    functionLinenumberEnd: 10564
    functionName: nlohmann::detail::parser::sax_parse_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - SAX*::number_unsigned
    - SAX*::null
    - JSON_HEDLEY_LIKELY
    - get_string
    - std::isfinite
    - SAX*::number_float
    - SAX*::key
    - nlohmann::detail::out_of_range::create
    - SAX*::start_array
    - std::vector::empty
    - get_position
    - nlohmann::detail::parser::get_token
    - std::vector::back
    - SAX*::end_object
    - SAX*::start_object
    - get_token_string
    - std::vector::pop_back
    - SAX*::parse_error
    - std::vector::push_back
    - get_number_unsigned
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - SAX*::boolean
    - get_number_integer
    - nlohmann::detail::parse_error::create
    - get_number_float
    - JSON_ASSERT
    - SAX*::number_integer
    - nlohmann::detail::parser::exception_message
    - SAX*::string
    - SAX*::end_array
    linkageType: ''
    returnType: bool
    signature: bool sax_parse_internal(SAX* sax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10570
      start: 10567
    functionDepth: 4
    functionLinenumber: 10567
    functionLinenumberEnd: 10570
    functionName: nlohmann::detail::parser::get_token
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - scan
    linkageType: ''
    returnType: token_type
    signature: token_type get_token()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10576,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_error_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10586,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - ' context'
    argTypes:
    - token_type
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10599
      start: 10572
    functionDepth: 2
    functionLinenumber: 10572
    functionLinenumberEnd: 10599
    functionName: nlohmann::detail::parser::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - get_error_message
    - nlohmann::detail::lexer_base::token_type_name
    - empty
    - std::string
    - get_token_string
    linkageType: ''
    returnType: std::string
    signature: std::string exception_message(const token_type expected, const std::string&
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10179,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10184
      start: 10174
    functionDepth: 5
    functionLinenumber: 10174
    functionLinenumberEnd: 10184
    functionName: nlohmann::detail::parser::parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::parser::get_token
    linkageType: ''
    returnType: void
    signature: "void parser(InputAdapterType&& adapter,\n                    const
      parser_callback_t<BasicJsonType> cb = nullptr,\n                    const bool
      allow_exceptions_ = true,\n                    const bool skip_comments = false)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10201,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10202,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10205,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10208,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10210,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10214,1
    - Dst: is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10222,1
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10230,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10231,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10234,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10237,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10239,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - strict
    - ' result'
    argTypes:
    - bool
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10249
      start: 10196
    functionDepth: 5
    functionLinenumber: 10196
    functionLinenumberEnd: 10249
    functionName: nlohmann::detail::parser::parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - json_sax_dom_callback_parser::parse_error
    - nlohmann::detail::parser::get_token
    - nlohmann::detail::parse_error::create
    - json_sax_dom_parser::is_errored
    - json_sax_dom_callback_parser::is_errored
    - is_discarded
    - nlohmann::detail::parser::exception_message
    - nlohmann::detail::parser::sax_parse_internal
    - json_sax_dom_parser::parse_error
    - assert_invariant
    - get_token_string
    linkageType: ''
    returnType: void
    signature: void parse(const bool strict, BasicJsonType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10261
      start: 10257
    functionDepth: 1
    functionLinenumber: 10257
    functionLinenumberEnd: 10261
    functionName: nlohmann::detail::parser::accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - sax_parse
    linkageType: ''
    returnType: bool
    signature: bool accept(const bool strict = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10268,1
    - Dst: get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10271,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10274,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10280
      start: 10264
    functionDepth: 2
    functionLinenumber: 10264
    functionLinenumberEnd: 10280
    functionName: "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - get_token
    - nlohmann::detail::parse_error::create
    - exception_message
    - SAX*::parse_error
    - sax_parse_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    bool sax_parse(SAX* sax, const bool
      strict = true)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: SAX*::start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10308,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10318,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10321,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10323,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10334,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10336,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10340,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10343,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: SAX*::start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10355,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10365,1
    - Dst: get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10378,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: SAX*::number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: SAX*::null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: SAX*::number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: SAX*::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10448,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10450,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10456,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10458,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10468,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10474,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10477,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10480,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10485,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10497,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10503,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10505,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10510,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10516,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10518,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10530,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10532,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10536,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10541,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10553,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10559,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10561,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10564
      start: 10285
    functionDepth: 5
    functionLinenumber: 10285
    functionLinenumberEnd: 10564
    functionName: nlohmann::detail::parser::sax_parse_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - SAX*::number_unsigned
    - SAX*::null
    - JSON_HEDLEY_LIKELY
    - get_string
    - std::isfinite
    - SAX*::number_float
    - SAX*::key
    - nlohmann::detail::out_of_range::create
    - SAX*::start_array
    - std::vector::empty
    - get_position
    - nlohmann::detail::parser::get_token
    - std::vector::back
    - SAX*::end_object
    - SAX*::start_object
    - get_token_string
    - std::vector::pop_back
    - SAX*::parse_error
    - std::vector::push_back
    - get_number_unsigned
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - SAX*::boolean
    - get_number_integer
    - nlohmann::detail::parse_error::create
    - get_number_float
    - JSON_ASSERT
    - SAX*::number_integer
    - nlohmann::detail::parser::exception_message
    - SAX*::string
    - SAX*::end_array
    linkageType: ''
    returnType: bool
    signature: bool sax_parse_internal(SAX* sax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10570
      start: 10567
    functionDepth: 4
    functionLinenumber: 10567
    functionLinenumberEnd: 10570
    functionName: nlohmann::detail::parser::get_token
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - scan
    linkageType: ''
    returnType: token_type
    signature: token_type get_token()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10576,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_error_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10586,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - ' context'
    argTypes:
    - token_type
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10599
      start: 10572
    functionDepth: 2
    functionLinenumber: 10572
    functionLinenumberEnd: 10599
    functionName: nlohmann::detail::parser::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - get_error_message
    - nlohmann::detail::lexer_base::token_type_name
    - empty
    - std::string
    - get_token_string
    linkageType: ''
    returnType: std::string
    signature: std::string exception_message(const token_type expected, const std::string&
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10179,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10184
      start: 10174
    functionDepth: 5
    functionLinenumber: 10174
    functionLinenumberEnd: 10184
    functionName: nlohmann::detail::parser::parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::parser::get_token
    linkageType: ''
    returnType: void
    signature: "void parser(InputAdapterType&& adapter,\n                    const
      parser_callback_t<BasicJsonType> cb = nullptr,\n                    const bool
      allow_exceptions_ = true,\n                    const bool skip_comments = false)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10201,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10202,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10205,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10207,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10208,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10209,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10210,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10214,1
    - Dst: is_discarded
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10222,1
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10230,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10231,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10234,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10236,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10237,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10238,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10239,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - strict
    - ' result'
    argTypes:
    - bool
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10249
      start: 10196
    functionDepth: 5
    functionLinenumber: 10196
    functionLinenumberEnd: 10249
    functionName: nlohmann::detail::parser::parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - json_sax_dom_callback_parser::parse_error
    - nlohmann::detail::parser::get_token
    - nlohmann::detail::parse_error::create
    - json_sax_dom_parser::is_errored
    - json_sax_dom_callback_parser::is_errored
    - is_discarded
    - nlohmann::detail::parser::exception_message
    - nlohmann::detail::parser::sax_parse_internal
    - json_sax_dom_parser::parse_error
    - assert_invariant
    - get_token_string
    linkageType: ''
    returnType: void
    signature: void parse(const bool strict, BasicJsonType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10261
      start: 10257
    functionDepth: 1
    functionLinenumber: 10257
    functionLinenumberEnd: 10261
    functionName: nlohmann::detail::parser::accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - sax_parse
    linkageType: ''
    returnType: bool
    signature: bool accept(const bool strict = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse_internal
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10268,1
    - Dst: get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10271,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10273,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10274,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10275,1
    - Dst: exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10280
      start: 10264
    functionDepth: 2
    functionLinenumber: 10264
    functionLinenumberEnd: 10280
    functionName: "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - get_token
    - nlohmann::detail::parse_error::create
    - exception_message
    - SAX*::parse_error
    - sax_parse_internal
    - get_token_string
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    bool sax_parse(SAX* sax, const bool
      strict = true)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: SAX*::start_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10302,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10308,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10310,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10318,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10320,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10321,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10322,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10323,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10325,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10331,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10333,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10334,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10335,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10336,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10340,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10343,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: SAX*::start_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10349,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10355,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10357,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10365,1
    - Dst: get_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10375,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10377,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10378,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10379,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: SAX*::number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10382,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10392,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: SAX*::null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10401,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: SAX*::boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10410,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: SAX*::number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: get_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10419,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: SAX*::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10428,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: get_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10437,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10447,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10448,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10449,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10450,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10455,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10456,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10457,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10458,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10468,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10474,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10477,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10480,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10485,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: SAX*::end_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10487,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10496,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10497,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10502,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10503,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10504,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10505,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10510,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10513,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10515,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10516,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10517,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10518,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: SAX*::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: get_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10521,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10527,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10529,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10530,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10531,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10532,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10536,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10541,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: SAX*::end_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10543,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10552,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10553,1
    - Dst: SAX*::parse_error
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10558,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10559,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: get_position
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10560,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10561,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10564
      start: 10285
    functionDepth: 5
    functionLinenumber: 10285
    functionLinenumberEnd: 10564
    functionName: nlohmann::detail::parser::sax_parse_internal
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - SAX*::number_unsigned
    - SAX*::null
    - JSON_HEDLEY_LIKELY
    - get_string
    - std::isfinite
    - SAX*::number_float
    - SAX*::key
    - nlohmann::detail::out_of_range::create
    - SAX*::start_array
    - std::vector::empty
    - get_position
    - nlohmann::detail::parser::get_token
    - std::vector::back
    - SAX*::end_object
    - SAX*::start_object
    - get_token_string
    - std::vector::pop_back
    - SAX*::parse_error
    - std::vector::push_back
    - get_number_unsigned
    - JSON_HEDLEY_UNLIKELY
    - std::size_t
    - SAX*::boolean
    - get_number_integer
    - nlohmann::detail::parse_error::create
    - get_number_float
    - JSON_ASSERT
    - SAX*::number_integer
    - nlohmann::detail::parser::exception_message
    - SAX*::string
    - SAX*::end_array
    linkageType: ''
    returnType: bool
    signature: bool sax_parse_internal(SAX* sax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10570
      start: 10567
    functionDepth: 4
    functionLinenumber: 10567
    functionLinenumberEnd: 10570
    functionName: nlohmann::detail::parser::get_token
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - scan
    linkageType: ''
    returnType: token_type
    signature: token_type get_token()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10576,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_error_message
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10585,1
    - Dst: get_token_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10586,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10590,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    - Dst: nlohmann::detail::lexer_base::token_type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - ' context'
    argTypes:
    - token_type
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10599
      start: 10572
    functionDepth: 2
    functionLinenumber: 10572
    functionLinenumberEnd: 10599
    functionName: nlohmann::detail::parser::exception_message
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - get_error_message
    - nlohmann::detail::lexer_base::token_type_name
    - empty
    - std::string
    - get_token_string
    linkageType: ''
    returnType: std::string
    signature: std::string exception_message(const token_type expected, const std::string&
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10650
      start: 10647
    functionDepth: 0
    functionLinenumber: 10647
    functionLinenumberEnd: 10650
    functionName: nlohmann::detail::primitive_iterator_t::get_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type get_value() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10656
      start: 10653
    functionDepth: 0
    functionLinenumber: 10653
    functionLinenumberEnd: 10656
    functionName: nlohmann::detail::primitive_iterator_t::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10662
      start: 10659
    functionDepth: 0
    functionLinenumber: 10659
    functionLinenumberEnd: 10662
    functionName: nlohmann::detail::primitive_iterator_t::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10668
      start: 10665
    functionDepth: 0
    functionLinenumber: 10665
    functionLinenumberEnd: 10668
    functionName: nlohmann::detail::primitive_iterator_t::is_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10674
      start: 10671
    functionDepth: 0
    functionLinenumber: 10671
    functionLinenumberEnd: 10674
    functionName: nlohmann::detail::primitive_iterator_t::is_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10679
      start: 10676
    functionDepth: 0
    functionLinenumber: 10676
    functionLinenumberEnd: 10679
    functionName: operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10684
      start: 10681
    functionDepth: 0
    functionLinenumber: 10681
    functionLinenumberEnd: 10684
    functionName: operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10686
    functionDepth: 0
    functionLinenumber: 10686
    functionLinenumberEnd: 10691
    functionName: operator+(difference_type n) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator+(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10696
      start: 10693
    functionDepth: 0
    functionLinenumber: 10693
    functionLinenumberEnd: 10696
    functionName: operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t
      rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10702
      start: 10698
    functionDepth: 0
    functionLinenumber: 10698
    functionLinenumberEnd: 10702
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator++() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10704
    functionDepth: 0
    functionLinenumber: 10704
    functionLinenumberEnd: 10709
    functionName: operator++(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator++(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10715
      start: 10711
    functionDepth: 0
    functionLinenumber: 10711
    functionLinenumberEnd: 10715
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator--() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10722
      start: 10717
    functionDepth: 0
    functionLinenumber: 10717
    functionLinenumberEnd: 10722
    functionName: operator--(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator--(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10728
      start: 10724
    functionDepth: 0
    functionLinenumber: 10724
    functionLinenumberEnd: 10728
    functionName: '& operator+=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator+=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10734
      start: 10730
    functionDepth: 0
    functionLinenumber: 10730
    functionLinenumberEnd: 10734
    functionName: '& operator-=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator-=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10650
      start: 10647
    functionDepth: 0
    functionLinenumber: 10647
    functionLinenumberEnd: 10650
    functionName: nlohmann::detail::primitive_iterator_t::get_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type get_value() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10656
      start: 10653
    functionDepth: 0
    functionLinenumber: 10653
    functionLinenumberEnd: 10656
    functionName: nlohmann::detail::primitive_iterator_t::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10662
      start: 10659
    functionDepth: 0
    functionLinenumber: 10659
    functionLinenumberEnd: 10662
    functionName: nlohmann::detail::primitive_iterator_t::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10668
      start: 10665
    functionDepth: 0
    functionLinenumber: 10665
    functionLinenumberEnd: 10668
    functionName: nlohmann::detail::primitive_iterator_t::is_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10674
      start: 10671
    functionDepth: 0
    functionLinenumber: 10671
    functionLinenumberEnd: 10674
    functionName: nlohmann::detail::primitive_iterator_t::is_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10679
      start: 10676
    functionDepth: 0
    functionLinenumber: 10676
    functionLinenumberEnd: 10679
    functionName: operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10684
      start: 10681
    functionDepth: 0
    functionLinenumber: 10681
    functionLinenumberEnd: 10684
    functionName: operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10686
    functionDepth: 0
    functionLinenumber: 10686
    functionLinenumberEnd: 10691
    functionName: operator+(difference_type n) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator+(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10696
      start: 10693
    functionDepth: 0
    functionLinenumber: 10693
    functionLinenumberEnd: 10696
    functionName: operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t
      rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10702
      start: 10698
    functionDepth: 0
    functionLinenumber: 10698
    functionLinenumberEnd: 10702
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator++() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10704
    functionDepth: 0
    functionLinenumber: 10704
    functionLinenumberEnd: 10709
    functionName: operator++(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator++(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10715
      start: 10711
    functionDepth: 0
    functionLinenumber: 10711
    functionLinenumberEnd: 10715
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator--() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10722
      start: 10717
    functionDepth: 0
    functionLinenumber: 10717
    functionLinenumberEnd: 10722
    functionName: operator--(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator--(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10728
      start: 10724
    functionDepth: 0
    functionLinenumber: 10724
    functionLinenumberEnd: 10728
    functionName: '& operator+=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator+=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10734
      start: 10730
    functionDepth: 0
    functionLinenumber: 10730
    functionLinenumberEnd: 10734
    functionName: '& operator-=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator-=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10650
      start: 10647
    functionDepth: 0
    functionLinenumber: 10647
    functionLinenumberEnd: 10650
    functionName: nlohmann::detail::primitive_iterator_t::get_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type get_value() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10656
      start: 10653
    functionDepth: 0
    functionLinenumber: 10653
    functionLinenumberEnd: 10656
    functionName: nlohmann::detail::primitive_iterator_t::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10662
      start: 10659
    functionDepth: 0
    functionLinenumber: 10659
    functionLinenumberEnd: 10662
    functionName: nlohmann::detail::primitive_iterator_t::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10668
      start: 10665
    functionDepth: 0
    functionLinenumber: 10665
    functionLinenumberEnd: 10668
    functionName: nlohmann::detail::primitive_iterator_t::is_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10674
      start: 10671
    functionDepth: 0
    functionLinenumber: 10671
    functionLinenumberEnd: 10674
    functionName: nlohmann::detail::primitive_iterator_t::is_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10679
      start: 10676
    functionDepth: 0
    functionLinenumber: 10676
    functionLinenumberEnd: 10679
    functionName: operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10684
      start: 10681
    functionDepth: 0
    functionLinenumber: 10681
    functionLinenumberEnd: 10684
    functionName: operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10686
    functionDepth: 0
    functionLinenumber: 10686
    functionLinenumberEnd: 10691
    functionName: operator+(difference_type n) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator+(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10696
      start: 10693
    functionDepth: 0
    functionLinenumber: 10693
    functionLinenumberEnd: 10696
    functionName: operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t
      rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10702
      start: 10698
    functionDepth: 0
    functionLinenumber: 10698
    functionLinenumberEnd: 10702
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator++() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10704
    functionDepth: 0
    functionLinenumber: 10704
    functionLinenumberEnd: 10709
    functionName: operator++(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator++(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10715
      start: 10711
    functionDepth: 0
    functionLinenumber: 10711
    functionLinenumberEnd: 10715
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator--() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10722
      start: 10717
    functionDepth: 0
    functionLinenumber: 10717
    functionLinenumberEnd: 10722
    functionName: operator--(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator--(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10728
      start: 10724
    functionDepth: 0
    functionLinenumber: 10724
    functionLinenumberEnd: 10728
    functionName: '& operator+=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator+=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10734
      start: 10730
    functionDepth: 0
    functionLinenumber: 10730
    functionLinenumberEnd: 10734
    functionName: '& operator-=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator-=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10650
      start: 10647
    functionDepth: 0
    functionLinenumber: 10647
    functionLinenumberEnd: 10650
    functionName: nlohmann::detail::primitive_iterator_t::get_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type get_value() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10656
      start: 10653
    functionDepth: 0
    functionLinenumber: 10653
    functionLinenumberEnd: 10656
    functionName: nlohmann::detail::primitive_iterator_t::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10662
      start: 10659
    functionDepth: 0
    functionLinenumber: 10659
    functionLinenumberEnd: 10662
    functionName: nlohmann::detail::primitive_iterator_t::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10668
      start: 10665
    functionDepth: 0
    functionLinenumber: 10665
    functionLinenumberEnd: 10668
    functionName: nlohmann::detail::primitive_iterator_t::is_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10674
      start: 10671
    functionDepth: 0
    functionLinenumber: 10671
    functionLinenumberEnd: 10674
    functionName: nlohmann::detail::primitive_iterator_t::is_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10679
      start: 10676
    functionDepth: 0
    functionLinenumber: 10676
    functionLinenumberEnd: 10679
    functionName: operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10684
      start: 10681
    functionDepth: 0
    functionLinenumber: 10681
    functionLinenumberEnd: 10684
    functionName: operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10686
    functionDepth: 0
    functionLinenumber: 10686
    functionLinenumberEnd: 10691
    functionName: operator+(difference_type n) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator+(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10696
      start: 10693
    functionDepth: 0
    functionLinenumber: 10693
    functionLinenumberEnd: 10696
    functionName: operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t
      rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10702
      start: 10698
    functionDepth: 0
    functionLinenumber: 10698
    functionLinenumberEnd: 10702
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator++() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10704
    functionDepth: 0
    functionLinenumber: 10704
    functionLinenumberEnd: 10709
    functionName: operator++(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator++(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10715
      start: 10711
    functionDepth: 0
    functionLinenumber: 10711
    functionLinenumberEnd: 10715
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator--() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10722
      start: 10717
    functionDepth: 0
    functionLinenumber: 10717
    functionLinenumberEnd: 10722
    functionName: operator--(int) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator--(int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10728
      start: 10724
    functionDepth: 0
    functionLinenumber: 10724
    functionLinenumberEnd: 10728
    functionName: '& operator+=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator+=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10734
      start: 10730
    functionDepth: 0
    functionLinenumber: 10730
    functionLinenumberEnd: 10734
    functionName: '& operator-=(difference_type n) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator-=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10846
      start: 10846
    functionDepth: 0
    functionLinenumber: 10846
    functionLinenumberEnd: 10846
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10856,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10862,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10868,1
    - Dst: primitive_iterator_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10878
      start: 10854
    functionDepth: 1
    functionLinenumber: 10854
    functionLinenumberEnd: 10878
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator_t
    - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void iter_impl(pointer object) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10898
      start: 10896
    functionDepth: 0
    functionLinenumber: 10896
    functionLinenumberEnd: 10898
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<const BasicJsonType>& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10911
      start: 10906
    functionDepth: 0
    functionLinenumber: 10906
    functionLinenumberEnd: 10911
    functionName: '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<const BasicJsonType>& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10918
    functionDepth: 0
    functionLinenumber: 10918
    functionLinenumberEnd: 10920
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10933
      start: 10928
    functionDepth: 0
    functionLinenumber: 10928
    functionLinenumberEnd: 10933
    functionName: '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10942,1
    - Dst: m_value::object::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10948,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10954,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10961,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10971
      start: 10940
    functionDepth: 1
    functionLinenumber: 10940
    functionLinenumberEnd: 10971
    functionName: nlohmann::detail::iter_impl::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::begin
    - JSON_ASSERT
    - m_value::array::begin
    - primitive_iterator::set_begin
    - primitive_iterator::set_end
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10979,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10985,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10991,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11001
      start: 10977
    functionDepth: 1
    functionLinenumber: 10977
    functionLinenumberEnd: 11001
    functionName: nlohmann::detail::iter_impl::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::end
    - m_value::array::end
    - primitive_iterator::set_end
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11010,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11039
      start: 11008
    functionDepth: 1
    functionLinenumber: 11008
    functionLinenumberEnd: 11039
    functionName: operator*() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11047,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11073
      start: 11045
    functionDepth: 1
    functionLinenumber: 11045
    functionLinenumberEnd: 11073
    functionName: operator->() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11084
      start: 11079
    functionDepth: 0
    functionLinenumber: 11079
    functionLinenumberEnd: 11084
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator++(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11092,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11098,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11116
      start: 11090
    functionDepth: 1
    functionLinenumber: 11090
    functionLinenumberEnd: 11116
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11127
      start: 11122
    functionDepth: 0
    functionLinenumber: 11122
    functionLinenumberEnd: 11127
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator--(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11135,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11141,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11159
      start: 11133
    functionDepth: 1
    functionLinenumber: 11133
    functionLinenumberEnd: 11159
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator--()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11168,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11186
      start: 11165
    functionDepth: 1
    functionLinenumber: 11165
    functionLinenumberEnd: 11186
    functionName: operator==(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11195
      start: 11192
    functionDepth: 0
    functionLinenumber: 11192
    functionLinenumberEnd: 11195
    functionName: operator!=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iter_impl& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11204,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11209,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11222
      start: 11201
    functionDepth: 1
    functionLinenumber: 11201
    functionLinenumberEnd: 11222
    functionName: operator<(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: other
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11231
      start: 11228
    functionDepth: 0
    functionLinenumber: 11228
    functionLinenumberEnd: 11231
    functionName: operator<=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - other
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11240
      start: 11237
    functionDepth: 0
    functionLinenumber: 11237
    functionLinenumberEnd: 11240
    functionName: operator>(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11249
      start: 11246
    functionDepth: 0
    functionLinenumber: 11246
    functionLinenumberEnd: 11249
    functionName: operator>=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iter_impl& other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11257,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11278
      start: 11255
    functionDepth: 1
    functionLinenumber: 11255
    functionLinenumberEnd: 11278
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11287
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11287
    functionName: '& operator-=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator-=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11298
      start: 11293
    functionDepth: 0
    functionLinenumber: 11293
    functionLinenumberEnd: 11298
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - ' it'
    argTypes:
    - difference_type
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11309
      start: 11304
    functionDepth: 0
    functionLinenumber: 11304
    functionLinenumberEnd: 11309
    functionName: operator+(difference_type i, const iter_impl& it)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i, const iter_impl& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11320
      start: 11315
    functionDepth: 0
    functionLinenumber: 11315
    functionLinenumberEnd: 11320
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator-(difference_type i) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11328,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11341
      start: 11326
    functionDepth: 1
    functionLinenumber: 11326
    functionLinenumberEnd: 11341
    functionName: operator-(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iter_impl& other) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11349,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11357,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: primitive_iterator::get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11372
      start: 11347
    functionDepth: 1
    functionLinenumber: 11347
    functionLinenumberEnd: 11372
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    - std::next
    - primitive_iterator::get_value
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11380,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11388
      start: 11378
    functionDepth: 1
    functionLinenumber: 11378
    functionLinenumberEnd: 11388
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - is_object
    - JSON_THROW
    linkageType: ''
    returnType: typename object_t::key_type
    signature: typename object_t::key_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11397
      start: 11394
    functionDepth: 0
    functionLinenumber: 11394
    functionLinenumberEnd: 11397
    functionName: nlohmann::detail::iter_impl::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10846
      start: 10846
    functionDepth: 0
    functionLinenumber: 10846
    functionLinenumberEnd: 10846
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10856,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10862,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10868,1
    - Dst: primitive_iterator_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10878
      start: 10854
    functionDepth: 1
    functionLinenumber: 10854
    functionLinenumberEnd: 10878
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator_t
    - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void iter_impl(pointer object) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10898
      start: 10896
    functionDepth: 0
    functionLinenumber: 10896
    functionLinenumberEnd: 10898
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<const BasicJsonType>& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10911
      start: 10906
    functionDepth: 0
    functionLinenumber: 10906
    functionLinenumberEnd: 10911
    functionName: '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<const BasicJsonType>& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10918
    functionDepth: 0
    functionLinenumber: 10918
    functionLinenumberEnd: 10920
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10933
      start: 10928
    functionDepth: 0
    functionLinenumber: 10928
    functionLinenumberEnd: 10933
    functionName: '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10942,1
    - Dst: m_value::object::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10948,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10954,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10961,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10971
      start: 10940
    functionDepth: 1
    functionLinenumber: 10940
    functionLinenumberEnd: 10971
    functionName: nlohmann::detail::iter_impl::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::begin
    - JSON_ASSERT
    - m_value::array::begin
    - primitive_iterator::set_begin
    - primitive_iterator::set_end
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10979,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10985,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10991,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11001
      start: 10977
    functionDepth: 1
    functionLinenumber: 10977
    functionLinenumberEnd: 11001
    functionName: nlohmann::detail::iter_impl::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::end
    - m_value::array::end
    - primitive_iterator::set_end
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11010,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11039
      start: 11008
    functionDepth: 1
    functionLinenumber: 11008
    functionLinenumberEnd: 11039
    functionName: operator*() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11047,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11073
      start: 11045
    functionDepth: 1
    functionLinenumber: 11045
    functionLinenumberEnd: 11073
    functionName: operator->() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11084
      start: 11079
    functionDepth: 0
    functionLinenumber: 11079
    functionLinenumberEnd: 11084
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator++(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11092,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11098,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11116
      start: 11090
    functionDepth: 1
    functionLinenumber: 11090
    functionLinenumberEnd: 11116
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11127
      start: 11122
    functionDepth: 0
    functionLinenumber: 11122
    functionLinenumberEnd: 11127
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator--(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11135,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11141,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11159
      start: 11133
    functionDepth: 1
    functionLinenumber: 11133
    functionLinenumberEnd: 11159
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator--()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11168,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11186
      start: 11165
    functionDepth: 1
    functionLinenumber: 11165
    functionLinenumberEnd: 11186
    functionName: operator==(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11195
      start: 11192
    functionDepth: 0
    functionLinenumber: 11192
    functionLinenumberEnd: 11195
    functionName: operator!=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iter_impl& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11204,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11209,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11222
      start: 11201
    functionDepth: 1
    functionLinenumber: 11201
    functionLinenumberEnd: 11222
    functionName: operator<(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: other
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11231
      start: 11228
    functionDepth: 0
    functionLinenumber: 11228
    functionLinenumberEnd: 11231
    functionName: operator<=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - other
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11240
      start: 11237
    functionDepth: 0
    functionLinenumber: 11237
    functionLinenumberEnd: 11240
    functionName: operator>(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11249
      start: 11246
    functionDepth: 0
    functionLinenumber: 11246
    functionLinenumberEnd: 11249
    functionName: operator>=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iter_impl& other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11257,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11278
      start: 11255
    functionDepth: 1
    functionLinenumber: 11255
    functionLinenumberEnd: 11278
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11287
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11287
    functionName: '& operator-=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator-=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11298
      start: 11293
    functionDepth: 0
    functionLinenumber: 11293
    functionLinenumberEnd: 11298
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - ' it'
    argTypes:
    - difference_type
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11309
      start: 11304
    functionDepth: 0
    functionLinenumber: 11304
    functionLinenumberEnd: 11309
    functionName: operator+(difference_type i, const iter_impl& it)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i, const iter_impl& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11320
      start: 11315
    functionDepth: 0
    functionLinenumber: 11315
    functionLinenumberEnd: 11320
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator-(difference_type i) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11328,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11341
      start: 11326
    functionDepth: 1
    functionLinenumber: 11326
    functionLinenumberEnd: 11341
    functionName: operator-(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iter_impl& other) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11349,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11357,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: primitive_iterator::get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11372
      start: 11347
    functionDepth: 1
    functionLinenumber: 11347
    functionLinenumberEnd: 11372
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    - std::next
    - primitive_iterator::get_value
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11380,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: nlohmann::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11388
      start: 11378
    functionDepth: 1
    functionLinenumber: 11378
    functionLinenumberEnd: 11388
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - nlohmann::is_object
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    linkageType: ''
    returnType: typename object_t::key_type
    signature: typename object_t::key_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11397
      start: 11394
    functionDepth: 0
    functionLinenumber: 11394
    functionLinenumberEnd: 11397
    functionName: nlohmann::detail::iter_impl::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10846
      start: 10846
    functionDepth: 0
    functionLinenumber: 10846
    functionLinenumberEnd: 10846
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10856,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10862,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10868,1
    - Dst: primitive_iterator_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10878
      start: 10854
    functionDepth: 1
    functionLinenumber: 10854
    functionLinenumberEnd: 10878
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator_t
    - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void iter_impl(pointer object) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10898
      start: 10896
    functionDepth: 0
    functionLinenumber: 10896
    functionLinenumberEnd: 10898
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<const BasicJsonType>& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10911
      start: 10906
    functionDepth: 0
    functionLinenumber: 10906
    functionLinenumberEnd: 10911
    functionName: '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<const BasicJsonType>& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10918
    functionDepth: 0
    functionLinenumber: 10918
    functionLinenumberEnd: 10920
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10933
      start: 10928
    functionDepth: 0
    functionLinenumber: 10928
    functionLinenumberEnd: 10933
    functionName: '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10942,1
    - Dst: m_value::object::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10948,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10954,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10961,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10971
      start: 10940
    functionDepth: 1
    functionLinenumber: 10940
    functionLinenumberEnd: 10971
    functionName: nlohmann::detail::iter_impl::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::begin
    - JSON_ASSERT
    - m_value::array::begin
    - primitive_iterator::set_begin
    - primitive_iterator::set_end
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10979,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10985,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10991,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11001
      start: 10977
    functionDepth: 1
    functionLinenumber: 10977
    functionLinenumberEnd: 11001
    functionName: nlohmann::detail::iter_impl::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::end
    - m_value::array::end
    - primitive_iterator::set_end
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11010,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11039
      start: 11008
    functionDepth: 1
    functionLinenumber: 11008
    functionLinenumberEnd: 11039
    functionName: operator*() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11047,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11073
      start: 11045
    functionDepth: 1
    functionLinenumber: 11045
    functionLinenumberEnd: 11073
    functionName: operator->() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11084
      start: 11079
    functionDepth: 0
    functionLinenumber: 11079
    functionLinenumberEnd: 11084
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator++(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11092,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11098,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11116
      start: 11090
    functionDepth: 1
    functionLinenumber: 11090
    functionLinenumberEnd: 11116
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11127
      start: 11122
    functionDepth: 0
    functionLinenumber: 11122
    functionLinenumberEnd: 11127
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator--(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11135,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11141,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11159
      start: 11133
    functionDepth: 1
    functionLinenumber: 11133
    functionLinenumberEnd: 11159
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator--()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11168,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11186
      start: 11165
    functionDepth: 1
    functionLinenumber: 11165
    functionLinenumberEnd: 11186
    functionName: operator==(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11195
      start: 11192
    functionDepth: 0
    functionLinenumber: 11192
    functionLinenumberEnd: 11195
    functionName: operator!=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iter_impl& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11204,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11209,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11222
      start: 11201
    functionDepth: 1
    functionLinenumber: 11201
    functionLinenumberEnd: 11222
    functionName: operator<(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: other
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11231
      start: 11228
    functionDepth: 0
    functionLinenumber: 11228
    functionLinenumberEnd: 11231
    functionName: operator<=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - other
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11240
      start: 11237
    functionDepth: 0
    functionLinenumber: 11237
    functionLinenumberEnd: 11240
    functionName: operator>(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11249
      start: 11246
    functionDepth: 0
    functionLinenumber: 11246
    functionLinenumberEnd: 11249
    functionName: operator>=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iter_impl& other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11257,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11278
      start: 11255
    functionDepth: 1
    functionLinenumber: 11255
    functionLinenumberEnd: 11278
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11287
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11287
    functionName: '& operator-=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator-=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11298
      start: 11293
    functionDepth: 0
    functionLinenumber: 11293
    functionLinenumberEnd: 11298
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - ' it'
    argTypes:
    - difference_type
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11309
      start: 11304
    functionDepth: 0
    functionLinenumber: 11304
    functionLinenumberEnd: 11309
    functionName: operator+(difference_type i, const iter_impl& it)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i, const iter_impl& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11320
      start: 11315
    functionDepth: 0
    functionLinenumber: 11315
    functionLinenumberEnd: 11320
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator-(difference_type i) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11328,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11341
      start: 11326
    functionDepth: 1
    functionLinenumber: 11326
    functionLinenumberEnd: 11341
    functionName: operator-(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iter_impl& other) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11349,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11357,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: primitive_iterator::get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11372
      start: 11347
    functionDepth: 1
    functionLinenumber: 11347
    functionLinenumberEnd: 11372
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    - std::next
    - primitive_iterator::get_value
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11380,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11388
      start: 11378
    functionDepth: 1
    functionLinenumber: 11378
    functionLinenumberEnd: 11388
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - is_object
    - JSON_THROW
    linkageType: ''
    returnType: typename object_t::key_type
    signature: typename object_t::key_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11397
      start: 11394
    functionDepth: 0
    functionLinenumber: 11394
    functionLinenumberEnd: 11397
    functionName: nlohmann::detail::iter_impl::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10846
      start: 10846
    functionDepth: 0
    functionLinenumber: 10846
    functionLinenumberEnd: 10846
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10856,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10862,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10868,1
    - Dst: primitive_iterator_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10878
      start: 10854
    functionDepth: 1
    functionLinenumber: 10854
    functionLinenumberEnd: 10878
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator_t
    - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void iter_impl(pointer object) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10898
      start: 10896
    functionDepth: 0
    functionLinenumber: 10896
    functionLinenumberEnd: 10898
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<const BasicJsonType>& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10911
      start: 10906
    functionDepth: 0
    functionLinenumber: 10906
    functionLinenumberEnd: 10911
    functionName: '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<const BasicJsonType>& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10918
    functionDepth: 0
    functionLinenumber: 10918
    functionLinenumberEnd: 10920
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10933
      start: 10928
    functionDepth: 0
    functionLinenumber: 10928
    functionLinenumberEnd: 10933
    functionName: '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10942,1
    - Dst: m_value::object::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10948,1
    - Dst: m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10954,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10961,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10971
      start: 10940
    functionDepth: 1
    functionLinenumber: 10940
    functionLinenumberEnd: 10971
    functionName: nlohmann::detail::iter_impl::set_begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::begin
    - JSON_ASSERT
    - m_value::array::begin
    - primitive_iterator::set_begin
    - primitive_iterator::set_end
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10979,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10985,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10991,1
    - Dst: primitive_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:10997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11001
      start: 10977
    functionDepth: 1
    functionLinenumber: 10977
    functionLinenumberEnd: 11001
    functionName: nlohmann::detail::iter_impl::set_end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::end
    - m_value::array::end
    - primitive_iterator::set_end
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11010,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11016,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11022,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11027,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11031,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11039
      start: 11008
    functionDepth: 1
    functionLinenumber: 11008
    functionLinenumberEnd: 11039
    functionName: operator*() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11047,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11053,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11059,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11065,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11073
      start: 11045
    functionDepth: 1
    functionLinenumber: 11045
    functionLinenumberEnd: 11073
    functionName: operator->() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::end
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - m_value::object::end
    - primitive_iterator::is_begin
    - JSON_THROW
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11084
      start: 11079
    functionDepth: 0
    functionLinenumber: 11079
    functionLinenumberEnd: 11084
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator++(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11092,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11098,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11116
      start: 11090
    functionDepth: 1
    functionLinenumber: 11090
    functionLinenumberEnd: 11116
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11127
      start: 11122
    functionDepth: 0
    functionLinenumber: 11122
    functionLinenumberEnd: 11127
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator--(int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11135,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11141,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11159
      start: 11133
    functionDepth: 1
    functionLinenumber: 11133
    functionLinenumberEnd: 11159
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator--()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11168,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11170,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11186
      start: 11165
    functionDepth: 1
    functionLinenumber: 11165
    functionLinenumberEnd: 11186
    functionName: operator==(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11195
      start: 11192
    functionDepth: 0
    functionLinenumber: 11192
    functionLinenumberEnd: 11195
    functionName: operator!=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iter_impl& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11204,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11206,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11209,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11222
      start: 11201
    functionDepth: 1
    functionLinenumber: 11201
    functionLinenumberEnd: 11222
    functionName: operator<(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: other
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11231
      start: 11228
    functionDepth: 0
    functionLinenumber: 11228
    functionLinenumberEnd: 11231
    functionName: operator<=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - other
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11240
      start: 11237
    functionDepth: 0
    functionLinenumber: 11237
    functionLinenumberEnd: 11240
    functionName: operator>(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11249
      start: 11246
    functionDepth: 0
    functionLinenumber: 11246
    functionLinenumberEnd: 11249
    functionName: operator>=(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iter_impl& other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11257,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11262,1
    - Dst: std::advance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11278
      start: 11255
    functionDepth: 1
    functionLinenumber: 11255
    functionLinenumberEnd: 11278
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11287
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11287
    functionName: '& operator-=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator-=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11298
      start: 11293
    functionDepth: 0
    functionLinenumber: 11293
    functionLinenumberEnd: 11298
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - ' it'
    argTypes:
    - difference_type
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11309
      start: 11304
    functionDepth: 0
    functionLinenumber: 11304
    functionLinenumberEnd: 11309
    functionName: operator+(difference_type i, const iter_impl& it)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i, const iter_impl& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11320
      start: 11315
    functionDepth: 0
    functionLinenumber: 11315
    functionLinenumberEnd: 11320
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator-(difference_type i) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11328,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11341
      start: 11326
    functionDepth: 1
    functionLinenumber: 11326
    functionLinenumberEnd: 11341
    functionName: operator-(const iter_impl& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iter_impl& other) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11349,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11354,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11357,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11360,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: primitive_iterator::get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11364,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11372
      start: 11347
    functionDepth: 1
    functionLinenumber: 11347
    functionLinenumberEnd: 11372
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    - std::next
    - primitive_iterator::get_value
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11380,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11382,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11388
      start: 11378
    functionDepth: 1
    functionLinenumber: 11378
    functionLinenumberEnd: 11388
    functionName: '& key() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - is_object
    - JSON_THROW
    linkageType: ''
    returnType: typename object_t::key_type
    signature: typename object_t::key_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11397
      start: 11394
    functionDepth: 0
    functionLinenumber: 11394
    functionLinenumberEnd: 11397
    functionName: nlohmann::detail::iter_impl::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - typename base_iterator::iterator_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11455
      start: 11454
    functionDepth: 0
    functionLinenumber: 11454
    functionLinenumberEnd: 11455
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const typename base_iterator::iterator_type&
      it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11458
      start: 11458
    functionDepth: 0
    functionLinenumber: 11458
    functionLinenumberEnd: 11458
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const base_iterator& it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11464
      start: 11461
    functionDepth: 0
    functionLinenumber: 11461
    functionLinenumberEnd: 11464
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11470
      start: 11467
    functionDepth: 0
    functionLinenumber: 11467
    functionLinenumberEnd: 11470
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11476
      start: 11473
    functionDepth: 0
    functionLinenumber: 11473
    functionLinenumberEnd: 11476
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator--
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11482
      start: 11479
    functionDepth: 0
    functionLinenumber: 11479
    functionLinenumberEnd: 11482
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator--
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    - Dst: base_iterator::operator+=
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11488
      start: 11485
    functionDepth: 0
    functionLinenumber: 11485
    functionLinenumberEnd: 11488
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+=
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    - Dst: base_iterator::operator+
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11494
      start: 11491
    functionDepth: 0
    functionLinenumber: 11491
    functionLinenumberEnd: 11494
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    - Dst: base_iterator::operator-
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11500
      start: 11497
    functionDepth: 0
    functionLinenumber: 11497
    functionLinenumberEnd: 11500
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator-
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator-(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - json_reverse_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11506
      start: 11503
    functionDepth: 0
    functionLinenumber: 11503
    functionLinenumberEnd: 11506
    functionName: operator-(const json_reverse_iterator& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const json_reverse_iterator& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11509
    functionDepth: 0
    functionLinenumber: 11509
    functionLinenumberEnd: 11512
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<Base>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11515,1
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11517,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11519
      start: 11515
    functionDepth: 0
    functionLinenumber: 11515
    functionLinenumberEnd: 11519
    functionName: nlohmann::detail::json_reverse_iterator::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<Base>
    - nlohmann::detail::json_reverse_iterator::base
    - auto::key
    linkageType: ''
    returnType: auto
    signature: auto key() const -> decltype(std::declval<Base>().key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11524,1
    - Dst: it
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11526
      start: 11522
    functionDepth: 0
    functionLinenumber: 11522
    functionLinenumberEnd: 11526
    functionName: nlohmann::detail::json_reverse_iterator::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_reverse_iterator::base
    - it
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - typename base_iterator::iterator_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11455
      start: 11454
    functionDepth: 0
    functionLinenumber: 11454
    functionLinenumberEnd: 11455
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const typename base_iterator::iterator_type&
      it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11458
      start: 11458
    functionDepth: 0
    functionLinenumber: 11458
    functionLinenumberEnd: 11458
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const base_iterator& it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11464
      start: 11461
    functionDepth: 0
    functionLinenumber: 11461
    functionLinenumberEnd: 11464
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11470
      start: 11467
    functionDepth: 0
    functionLinenumber: 11467
    functionLinenumberEnd: 11470
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11476
      start: 11473
    functionDepth: 0
    functionLinenumber: 11473
    functionLinenumberEnd: 11476
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator--
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11482
      start: 11479
    functionDepth: 0
    functionLinenumber: 11479
    functionLinenumberEnd: 11482
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator--
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    - Dst: base_iterator::operator+=
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11488
      start: 11485
    functionDepth: 0
    functionLinenumber: 11485
    functionLinenumberEnd: 11488
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+=
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    - Dst: base_iterator::operator+
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11494
      start: 11491
    functionDepth: 0
    functionLinenumber: 11491
    functionLinenumberEnd: 11494
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    - Dst: base_iterator::operator-
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11500
      start: 11497
    functionDepth: 0
    functionLinenumber: 11497
    functionLinenumberEnd: 11500
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator-
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator-(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - json_reverse_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11506
      start: 11503
    functionDepth: 0
    functionLinenumber: 11503
    functionLinenumberEnd: 11506
    functionName: operator-(const json_reverse_iterator& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const json_reverse_iterator& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11509
    functionDepth: 0
    functionLinenumber: 11509
    functionLinenumberEnd: 11512
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<Base>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11515,1
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11517,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11519
      start: 11515
    functionDepth: 0
    functionLinenumber: 11515
    functionLinenumberEnd: 11519
    functionName: nlohmann::detail::json_reverse_iterator::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<Base>
    - nlohmann::detail::json_reverse_iterator::base
    - auto::key
    linkageType: ''
    returnType: auto
    signature: auto key() const -> decltype(std::declval<Base>().key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11524,1
    - Dst: it
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11526
      start: 11522
    functionDepth: 0
    functionLinenumber: 11522
    functionLinenumberEnd: 11526
    functionName: nlohmann::detail::json_reverse_iterator::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_reverse_iterator::base
    - it
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - typename base_iterator::iterator_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11455
      start: 11454
    functionDepth: 0
    functionLinenumber: 11454
    functionLinenumberEnd: 11455
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const typename base_iterator::iterator_type&
      it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11458
      start: 11458
    functionDepth: 0
    functionLinenumber: 11458
    functionLinenumberEnd: 11458
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const base_iterator& it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11464
      start: 11461
    functionDepth: 0
    functionLinenumber: 11461
    functionLinenumberEnd: 11464
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11470
      start: 11467
    functionDepth: 0
    functionLinenumber: 11467
    functionLinenumberEnd: 11470
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11476
      start: 11473
    functionDepth: 0
    functionLinenumber: 11473
    functionLinenumberEnd: 11476
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator--
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11482
      start: 11479
    functionDepth: 0
    functionLinenumber: 11479
    functionLinenumberEnd: 11482
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator--
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    - Dst: base_iterator::operator+=
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11488
      start: 11485
    functionDepth: 0
    functionLinenumber: 11485
    functionLinenumberEnd: 11488
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+=
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    - Dst: base_iterator::operator+
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11494
      start: 11491
    functionDepth: 0
    functionLinenumber: 11491
    functionLinenumberEnd: 11494
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    - Dst: base_iterator::operator-
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11500
      start: 11497
    functionDepth: 0
    functionLinenumber: 11497
    functionLinenumberEnd: 11500
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator-
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator-(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - json_reverse_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11506
      start: 11503
    functionDepth: 0
    functionLinenumber: 11503
    functionLinenumberEnd: 11506
    functionName: operator-(const json_reverse_iterator& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const json_reverse_iterator& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11509
    functionDepth: 0
    functionLinenumber: 11509
    functionLinenumberEnd: 11512
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<Base>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11515,1
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11517,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11519
      start: 11515
    functionDepth: 0
    functionLinenumber: 11515
    functionLinenumberEnd: 11519
    functionName: nlohmann::detail::json_reverse_iterator::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<Base>
    - nlohmann::detail::json_reverse_iterator::base
    - auto::key
    linkageType: ''
    returnType: auto
    signature: auto key() const -> decltype(std::declval<Base>().key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11524,1
    - Dst: it
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11526
      start: 11522
    functionDepth: 0
    functionLinenumber: 11522
    functionLinenumberEnd: 11526
    functionName: nlohmann::detail::json_reverse_iterator::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_reverse_iterator::base
    - it
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - typename base_iterator::iterator_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11455
      start: 11454
    functionDepth: 0
    functionLinenumber: 11454
    functionLinenumberEnd: 11455
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const typename base_iterator::iterator_type&
      it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11458
      start: 11458
    functionDepth: 0
    functionLinenumber: 11458
    functionLinenumberEnd: 11458
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const base_iterator& it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11464
      start: 11461
    functionDepth: 0
    functionLinenumber: 11461
    functionLinenumberEnd: 11464
    functionName: operator++(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    - Dst: base_iterator::operator++
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11470
      start: 11467
    functionDepth: 0
    functionLinenumber: 11467
    functionLinenumberEnd: 11470
    functionName: '& operator++()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11476
      start: 11473
    functionDepth: 0
    functionLinenumber: 11473
    functionLinenumberEnd: 11476
    functionName: operator--(int)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator--
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    - Dst: base_iterator::operator--
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11482
      start: 11479
    functionDepth: 0
    functionLinenumber: 11479
    functionLinenumberEnd: 11482
    functionName: '& operator--()'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator--
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    - Dst: base_iterator::operator+=
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11488
      start: 11485
    functionDepth: 0
    functionLinenumber: 11485
    functionLinenumberEnd: 11488
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+=
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    - Dst: base_iterator::operator+
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11494
      start: 11491
    functionDepth: 0
    functionLinenumber: 11491
    functionLinenumberEnd: 11494
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    - Dst: base_iterator::operator-
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11500
      start: 11497
    functionDepth: 0
    functionLinenumber: 11497
    functionLinenumberEnd: 11500
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator-
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator-(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    - Dst: base_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - json_reverse_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11506
      start: 11503
    functionDepth: 0
    functionLinenumber: 11503
    functionLinenumberEnd: 11506
    functionName: operator-(const json_reverse_iterator& other) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const json_reverse_iterator& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11509
    functionDepth: 0
    functionLinenumber: 11509
    functionLinenumberEnd: 11512
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<Base>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11515,1
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11517,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11519
      start: 11515
    functionDepth: 0
    functionLinenumber: 11515
    functionLinenumberEnd: 11519
    functionName: nlohmann::detail::json_reverse_iterator::key
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<Base>
    - nlohmann::detail::json_reverse_iterator::base
    - auto::key
    linkageType: ''
    returnType: auto
    signature: auto key() const -> decltype(std::declval<Base>().key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11524,1
    - Dst: it
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11526
      start: 11522
    functionDepth: 0
    functionLinenumber: 11522
    functionLinenumberEnd: 11526
    functionName: nlohmann::detail::json_reverse_iterator::value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_reverse_iterator::base
    - it
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11583,1
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11606,1
    - Dst: nlohmann::json_pointer::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11613,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: reference_tokens::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11635,1
    - Dst: reference_tokens::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11636,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    - Dst: nlohmann::json_pointer::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11680,1
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11701,1
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11741,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11759,1
    - Dst: json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11765,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11789,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11813,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11830,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11855,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: std::stoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11891,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11916,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11916,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11918,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11918,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11924
      start: 11554
    functionDepth: 2
    functionLinenumber: 11554
    functionLinenumberEnd: 11924
    functionName: nlohmann::json_pointer::top
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - insert
    - back
    - end
    - std::accumulate
    - reference_tokens::end
    - reference_tokens::begin
    - split
    - nlohmann::detail::out_of_range::create
    - std::move
    - nlohmann::json_pointer::push_back
    - nlohmann::json_pointer::empty
    - nlohmann::json_pointer::json_pointer
    - size
    - begin
    - escape
    - JSON_HEDLEY_UNLIKELY
    - json_pointer::pop_back
    - std::stoull
    - JSON_THROW
    - nlohmann::json_pointer::to_string
    - nlohmann::detail::parse_error::create
    - nlohmann::json_pointer::pop_back
    linkageType: ''
    returnType: "class json_pointer\n{\n    // allow basic_json to access private
      members\n    NLOHMANN_BASIC_JSON_TPL_DECLARATION\n    friend class basic_json;\n\n
      \ public:\n    /*!\n    @brief create JSON pointer\n\n    Create a JSON pointer
      according to the syntax described in\n    [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3).\n\n
      \   @param[in] s  string representing the JSON pointer; if omitted, the empty\n
      \                 string is assumed which references the whole JSON value\n\n
      \   @throw parse_error.107 if the given JSON pointer @a s is nonempty and does\n
      \                          not begin with a slash (`/`); see example below\n\n
      \   @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is\n
      \   not followed by `0` (representing `~`) or `1` (representing `/`); see\n
      \   example below\n\n    @liveexample{The example shows the construction several
      valid JSON pointers\n    as well as the exceptional behavior.,json_pointer}\n\n
      \   @since version 2.0.0\n    */\n    explicit json_pointer(const std::string&
      s = \"\")\n        : reference_tokens(split(s))\n    {}\n\n    /*!\n    @brief
      return a string representation of the JSON pointer\n\n    @invariant For each
      JSON pointer `ptr`, it holds:\n    @code {.cpp}\n    ptr == json_pointer(ptr.to_string());\n
      \   @endcode\n\n    @return a string representation of the JSON pointer\n\n
      \   @liveexample{The example shows the result of `to_string`.,json_pointer__to_string}\n\n
      \   @since version 2.0.0\n    */\n    std::string to_string() const\n    {\n
      \       return std::accumulate(reference_tokens.begin(), reference_tokens.end(),\n
      \                              std::string{},\n                               [](const
      std::string & a, const std::string & b)\n        {\n            return a + \"/\"
      + escape(b);\n        });\n    }\n\n    /// @copydoc to_string()\n    operator
      std::string() const\n    {\n        return to_string();\n    }\n\n    /*!\n
      \   @brief append another JSON pointer at the end of this JSON pointer\n\n    @param[in]
      ptr  JSON pointer to append\n    @return JSON pointer with @a ptr appended\n\n
      \   @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n    @sa @ref operator/=(std::size_t) to append
      an array index\n    @sa @ref operator/(const json_pointer&, const json_pointer&)
      for a binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer&
      operator/=(const json_pointer& ptr)\n    {\n        reference_tokens.insert(reference_tokens.end(),\n
      \                               ptr.reference_tokens.begin(),\n                                ptr.reference_tokens.end());\n
      \       return *this;\n    }\n\n    /*!\n    @brief append an unescaped reference
      token at the end of this JSON pointer\n\n    @param[in] token  reference token
      to append\n    @return JSON pointer with @a token appended without escaping
      @a token\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::size_t) to append an
      array index\n    @sa @ref operator/(const json_pointer&, std::size_t) for a
      binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::string
      token)\n    {\n        push_back(std::move(token));\n        return *this;\n
      \   }\n\n    /*!\n    @brief append an array index at the end of this JSON pointer\n\n
      \   @param[in] array_idx  array index to append\n    @return JSON pointer with
      @a array_idx appended\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::string) to append a reference
      token\n    @sa @ref operator/(const json_pointer&, std::string) for a binary
      operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::size_t
      array_idx)\n    {\n        return *this /= std::to_string(array_idx);\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the right JSON pointer
      at the end of the left JSON pointer\n\n    @param[in] lhs  JSON pointer\n    @param[in]
      rhs  JSON pointer\n    @return a new JSON pointer with @a rhs appended to @a
      lhs\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a lhs and @a rhs.\n\n    @sa @ref operator/=(const
      json_pointer&) to append a JSON pointer\n\n    @since version 3.6.0\n    */\n
      \   friend json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)\n    {\n        return json_pointer(lhs) /= rhs;\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the unescaped token
      at the end of the JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in]
      token  reference token\n    @return a new JSON pointer with unescaped @a token
      appended to @a ptr\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n\n    @since version 3.6.0\n    */\n    friend
      json_pointer operator/(const json_pointer& ptr, std::string token)\n    {\n
      \       return json_pointer(ptr) /= std::move(token);\n    }\n\n    /*!\n    @brief
      create a new JSON pointer by appending the array-index-token at the end of the
      JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in] array_idx  array
      index\n    @return a new JSON pointer with @a array_idx appended to @a ptr\n\n
      \   @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::size_t)
      to append an array index\n\n    @since version 3.6.0\n    */\n    friend json_pointer
      operator/(const json_pointer& ptr, std::size_t array_idx)\n    {\n        return
      json_pointer(ptr) /= array_idx;\n    }\n\n    /*!\n    @brief returns the parent
      of this JSON pointer\n\n    @return parent of this JSON pointer; in case this
      JSON pointer is the root,\n            the root itself is returned\n\n    @complexity
      Linear in the length of the JSON pointer.\n\n    @liveexample{The example shows
      the result of `parent_pointer` for different\n    JSON Pointers.,json_pointer__parent_pointer}\n\n
      \   @since version 3.6.0\n    */\n    json_pointer parent_pointer() const\n
      \   {\n        if (empty())\n        {\n            return *this;\n        }\n\n
      \       json_pointer res = *this;\n        res.pop_back();\n        return res;\n
      \   }\n\n    /*!\n    @brief remove last reference token\n\n    @pre not `empty()`\n\n
      \   @liveexample{The example shows the usage of `pop_back`.,json_pointer__pop_back}\n\n
      \   @complexity Constant.\n\n    @throw out_of_range.405 if JSON pointer has
      no parent\n\n    @since version 3.6.0\n    */\n    void pop_back()\n    {\n
      \       if (JSON_HEDLEY_UNLIKELY(empty()))\n        {\n            JSON_THROW(detail::out_of_range::create(405,
      \"JSON pointer has no parent\"));\n        }\n\n        reference_tokens.pop_back();\n
      \   }\n\n    /*!\n    @brief return last reference token\n\n    @pre not `empty()`\n
      \   @return last reference token\n\n    @liveexample{The example shows the usage
      of `back`.,json_pointer__back}\n\n    @complexity Constant.\n\n    @throw out_of_range.405
      if JSON pointer has no parent\n\n    @since version 3.6.0\n    */\n    const
      std::string& back() const\n    {\n        if (JSON_HEDLEY_UNLIKELY(empty()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(405, \"JSON pointer
      has no parent\"));\n        }\n\n        return reference_tokens.back();\n    }\n\n
      \   /*!\n    @brief append an unescaped token at the end of the reference pointer\n\n
      \   @param[in] token  token to add\n\n    @complexity Amortized constant.\n\n
      \   @liveexample{The example shows the result of `push_back` for different\n
      \   JSON Pointers.,json_pointer__push_back}\n\n    @since version 3.6.0\n    */\n
      \   void push_back(const std::string& token)\n    {\n        reference_tokens.push_back(token);\n
      \   }\n\n    /// @copydoc push_back(const std::string&)\n    void push_back(std::string&&
      token)\n    {\n        reference_tokens.push_back(std::move(token));\n    }\n\n
      \   /*!\n    @brief return whether pointer points to the root document\n\n    @return
      true iff the JSON pointer points to the root document\n\n    @complexity Constant.\n\n
      \   @exceptionsafety No-throw guarantee: this function never throws exceptions.\n\n
      \   @liveexample{The example shows the result of `empty` for different JSON\n
      \   Pointers.,json_pointer__empty}\n\n    @since version 3.6.0\n    */\n    bool
      empty() const noexcept\n    {\n        return reference_tokens.empty();\n    }\n\n
      \ private:\n    /*!\n    @param[in] s  reference token to be converted into
      an array index\n\n    @return integer representation of @a s\n\n    @throw parse_error.106
      \ if an array index begins with '0'\n    @throw parse_error.109  if an array
      index begins not with a digit\n    @throw out_of_range.404 if string @a s could
      not be converted to an integer\n    @throw out_of_range.410 if an array index
      exceeds size_type\n    */\n    static typename BasicJsonType::size_type array_index(const
      std::string& s)\n    {\n        using size_type = typename BasicJsonType::size_type;\n\n
      \       // error condition (cf. RFC 6901, Sect. 4)\n        if (JSON_HEDLEY_UNLIKELY(s.size()
      > 1 && s[0] == '0'))\n        {\n            JSON_THROW(detail::parse_error::create(106,
      0,\n                                                   \"array index '\" + s
      +\n                                                   \"' must not begin with
      '0'\"));\n        }\n\n        // error condition (cf. RFC 6901, Sect. 4)\n
      \       if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))\n
      \       {\n            JSON_THROW(detail::parse_error::create(109, 0, \"array
      index '\" + s + \"' is not a number\"));\n        }\n\n        std::size_t processed_chars
      = 0;\n        unsigned long long res = 0;\n        JSON_TRY\n        {\n            res
      = std::stoull(s, &processed_chars);\n        }\n        JSON_CATCH(std::out_of_range&)\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // check if the string
      was completely read\n        if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // only triggered on
      special platforms (like 32bit), see also\n        // https://github.com/nlohmann/json/pull/2203\n
      \       if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(410, \"array
      index \" + s + \" exceeds size_type\")); // LCOV_EXCL_LINE\n        }\n\n        return
      static_cast<size_type>(res);\n    }"
    signature: "class json_pointer\n{\n    // allow basic_json to access private members\n
      \   NLOHMANN_BASIC_JSON_TPL_DECLARATION\n    friend class basic_json;\n\n  public:\n
      \   /*!\n    @brief create JSON pointer\n\n    Create a JSON pointer according
      to the syntax described in\n    [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3).\n\n
      \   @param[in] s  string representing the JSON pointer; if omitted, the empty\n
      \                 string is assumed which references the whole JSON value\n\n
      \   @throw parse_error.107 if the given JSON pointer @a s is nonempty and does\n
      \                          not begin with a slash (`/`); see example below\n\n
      \   @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is\n
      \   not followed by `0` (representing `~`) or `1` (representing `/`); see\n
      \   example below\n\n    @liveexample{The example shows the construction several
      valid JSON pointers\n    as well as the exceptional behavior.,json_pointer}\n\n
      \   @since version 2.0.0\n    */\n    explicit json_pointer(const std::string&
      s = \"\")\n        : reference_tokens(split(s))\n    {}\n\n    /*!\n    @brief
      return a string representation of the JSON pointer\n\n    @invariant For each
      JSON pointer `ptr`, it holds:\n    @code {.cpp}\n    ptr == json_pointer(ptr.to_string());\n
      \   @endcode\n\n    @return a string representation of the JSON pointer\n\n
      \   @liveexample{The example shows the result of `to_string`.,json_pointer__to_string}\n\n
      \   @since version 2.0.0\n    */\n    std::string to_string() const\n    {\n
      \       return std::accumulate(reference_tokens.begin(), reference_tokens.end(),\n
      \                              std::string{},\n                               [](const
      std::string & a, const std::string & b)\n        {\n            return a + \"/\"
      + escape(b);\n        });\n    }\n\n    /// @copydoc to_string()\n    operator
      std::string() const\n    {\n        return to_string();\n    }\n\n    /*!\n
      \   @brief append another JSON pointer at the end of this JSON pointer\n\n    @param[in]
      ptr  JSON pointer to append\n    @return JSON pointer with @a ptr appended\n\n
      \   @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n    @sa @ref operator/=(std::size_t) to append
      an array index\n    @sa @ref operator/(const json_pointer&, const json_pointer&)
      for a binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer&
      operator/=(const json_pointer& ptr)\n    {\n        reference_tokens.insert(reference_tokens.end(),\n
      \                               ptr.reference_tokens.begin(),\n                                ptr.reference_tokens.end());\n
      \       return *this;\n    }\n\n    /*!\n    @brief append an unescaped reference
      token at the end of this JSON pointer\n\n    @param[in] token  reference token
      to append\n    @return JSON pointer with @a token appended without escaping
      @a token\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::size_t) to append an
      array index\n    @sa @ref operator/(const json_pointer&, std::size_t) for a
      binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::string
      token)\n    {\n        push_back(std::move(token));\n        return *this;\n
      \   }\n\n    /*!\n    @brief append an array index at the end of this JSON pointer\n\n
      \   @param[in] array_idx  array index to append\n    @return JSON pointer with
      @a array_idx appended\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::string) to append a reference
      token\n    @sa @ref operator/(const json_pointer&, std::string) for a binary
      operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::size_t
      array_idx)\n    {\n        return *this /= std::to_string(array_idx);\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the right JSON pointer
      at the end of the left JSON pointer\n\n    @param[in] lhs  JSON pointer\n    @param[in]
      rhs  JSON pointer\n    @return a new JSON pointer with @a rhs appended to @a
      lhs\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a lhs and @a rhs.\n\n    @sa @ref operator/=(const
      json_pointer&) to append a JSON pointer\n\n    @since version 3.6.0\n    */\n
      \   friend json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)\n    {\n        return json_pointer(lhs) /= rhs;\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the unescaped token
      at the end of the JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in]
      token  reference token\n    @return a new JSON pointer with unescaped @a token
      appended to @a ptr\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n\n    @since version 3.6.0\n    */\n    friend
      json_pointer operator/(const json_pointer& ptr, std::string token)\n    {\n
      \       return json_pointer(ptr) /= std::move(token);\n    }\n\n    /*!\n    @brief
      create a new JSON pointer by appending the array-index-token at the end of the
      JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in] array_idx  array
      index\n    @return a new JSON pointer with @a array_idx appended to @a ptr\n\n
      \   @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::size_t)
      to append an array index\n\n    @since version 3.6.0\n    */\n    friend json_pointer
      operator/(const json_pointer& ptr, std::size_t array_idx)\n    {\n        return
      json_pointer(ptr) /= array_idx;\n    }\n\n    /*!\n    @brief returns the parent
      of this JSON pointer\n\n    @return parent of this JSON pointer; in case this
      JSON pointer is the root,\n            the root itself is returned\n\n    @complexity
      Linear in the length of the JSON pointer.\n\n    @liveexample{The example shows
      the result of `parent_pointer` for different\n    JSON Pointers.,json_pointer__parent_pointer}\n\n
      \   @since version 3.6.0\n    */\n    json_pointer parent_pointer() const\n
      \   {\n        if (empty())\n        {\n            return *this;\n        }\n\n
      \       json_pointer res = *this;\n        res.pop_back();\n        return res;\n
      \   }\n\n    /*!\n    @brief remove last reference token\n\n    @pre not `empty()`\n\n
      \   @liveexample{The example shows the usage of `pop_back`.,json_pointer__pop_back}\n\n
      \   @complexity Constant.\n\n    @throw out_of_range.405 if JSON pointer has
      no parent\n\n    @since version 3.6.0\n    */\n    void pop_back()\n    {\n
      \       if (JSON_HEDLEY_UNLIKELY(empty()))\n        {\n            JSON_THROW(detail::out_of_range::create(405,
      \"JSON pointer has no parent\"));\n        }\n\n        reference_tokens.pop_back();\n
      \   }\n\n    /*!\n    @brief return last reference token\n\n    @pre not `empty()`\n
      \   @return last reference token\n\n    @liveexample{The example shows the usage
      of `back`.,json_pointer__back}\n\n    @complexity Constant.\n\n    @throw out_of_range.405
      if JSON pointer has no parent\n\n    @since version 3.6.0\n    */\n    const
      std::string& back() const\n    {\n        if (JSON_HEDLEY_UNLIKELY(empty()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(405, \"JSON pointer
      has no parent\"));\n        }\n\n        return reference_tokens.back();\n    }\n\n
      \   /*!\n    @brief append an unescaped token at the end of the reference pointer\n\n
      \   @param[in] token  token to add\n\n    @complexity Amortized constant.\n\n
      \   @liveexample{The example shows the result of `push_back` for different\n
      \   JSON Pointers.,json_pointer__push_back}\n\n    @since version 3.6.0\n    */\n
      \   void push_back(const std::string& token)\n    {\n        reference_tokens.push_back(token);\n
      \   }\n\n    /// @copydoc push_back(const std::string&)\n    void push_back(std::string&&
      token)\n    {\n        reference_tokens.push_back(std::move(token));\n    }\n\n
      \   /*!\n    @brief return whether pointer points to the root document\n\n    @return
      true iff the JSON pointer points to the root document\n\n    @complexity Constant.\n\n
      \   @exceptionsafety No-throw guarantee: this function never throws exceptions.\n\n
      \   @liveexample{The example shows the result of `empty` for different JSON\n
      \   Pointers.,json_pointer__empty}\n\n    @since version 3.6.0\n    */\n    bool
      empty() const noexcept\n    {\n        return reference_tokens.empty();\n    }\n\n
      \ private:\n    /*!\n    @param[in] s  reference token to be converted into
      an array index\n\n    @return integer representation of @a s\n\n    @throw parse_error.106
      \ if an array index begins with '0'\n    @throw parse_error.109  if an array
      index begins not with a digit\n    @throw out_of_range.404 if string @a s could
      not be converted to an integer\n    @throw out_of_range.410 if an array index
      exceeds size_type\n    */\n    static typename BasicJsonType::size_type array_index(const
      std::string& s)\n    {\n        using size_type = typename BasicJsonType::size_type;\n\n
      \       // error condition (cf. RFC 6901, Sect. 4)\n        if (JSON_HEDLEY_UNLIKELY(s.size()
      > 1 && s[0] == '0'))\n        {\n            JSON_THROW(detail::parse_error::create(106,
      0,\n                                                   \"array index '\" + s
      +\n                                                   \"' must not begin with
      '0'\"));\n        }\n\n        // error condition (cf. RFC 6901, Sect. 4)\n
      \       if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))\n
      \       {\n            JSON_THROW(detail::parse_error::create(109, 0, \"array
      index '\" + s + \"' is not a number\"));\n        }\n\n        std::size_t processed_chars
      = 0;\n        unsigned long long res = 0;\n        JSON_TRY\n        {\n            res
      = std::stoull(s, &processed_chars);\n        }\n        JSON_CATCH(std::out_of_range&)\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // check if the string
      was completely read\n        if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // only triggered on
      special platforms (like 32bit), see also\n        // https://github.com/nlohmann/json/pull/2203\n
      \       if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(410, \"array
      index \" + s + \" exceeds size_type\")); // LCOV_EXCL_LINE\n        }\n\n        return
      static_cast<size_type>(res);\n    } json_pointer top() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11584
      start: 11582
    functionDepth: 2
    functionLinenumber: 11582
    functionLinenumberEnd: 11584
    functionName: nlohmann::json_pointer::json_pointer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - split
    linkageType: ''
    returnType: void
    signature: void json_pointer(const std::string& s = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11608
      start: 11600
    functionDepth: 1
    functionLinenumber: 11600
    functionLinenumberEnd: 11608
    functionName: nlohmann::json_pointer::to_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::accumulate
    - escape
    - end
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string to_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11614
      start: 11611
    functionDepth: 0
    functionLinenumber: 11611
    functionLinenumberEnd: 11614
    functionName: operator std::string() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: reference_tokens::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11635,1
    - Dst: reference_tokens::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11638
      start: 11632
    functionDepth: 1
    functionLinenumber: 11632
    functionLinenumberEnd: 11638
    functionName: '& operator/=(const json_pointer& ptr)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::insert
    - reference_tokens::end
    - end
    - reference_tokens::begin
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11660
      start: 11656
    functionDepth: 1
    functionLinenumber: 11656
    functionLinenumberEnd: 11660
    functionName: '& operator/=(std::string token)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::string token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array_idx
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11681
      start: 11678
    functionDepth: 0
    functionLinenumber: 11678
    functionLinenumberEnd: 11681
    functionName: '& operator/=(std::size_t array_idx)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::size_t array_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11702
      start: 11698
    functionDepth: 0
    functionLinenumber: 11698
    functionLinenumberEnd: 11702
    functionName: "operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: "json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - token
    argTypes:
    - json_pointer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11722
      start: 11719
    functionDepth: 0
    functionLinenumber: 11719
    functionLinenumberEnd: 11722
    functionName: operator/(const json_pointer& ptr, std::string token)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer operator/(const json_pointer& ptr, std::string token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - array_idx
    argTypes:
    - json_pointer
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11742
      start: 11739
    functionDepth: 0
    functionLinenumber: 11739
    functionLinenumberEnd: 11742
    functionName: operator/(const json_pointer& ptr, std::size_t array_idx)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer operator/(const json_pointer& ptr, std::size_t array_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11759,1
    - Dst: json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11767
      start: 11757
    functionDepth: 1
    functionLinenumber: 11757
    functionLinenumberEnd: 11767
    functionName: nlohmann::json_pointer::parent_pointer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::json_pointer::empty
    - json_pointer::pop_back
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer parent_pointer() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11790
      start: 11782
    functionDepth: 1
    functionLinenumber: 11782
    functionLinenumberEnd: 11790
    functionName: nlohmann::json_pointer::pop_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::json_pointer::pop_back
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::json_pointer::empty
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11814
      start: 11806
    functionDepth: 1
    functionLinenumber: 11806
    functionLinenumberEnd: 11814
    functionName: '& back() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - JSON_HEDLEY_UNLIKELY
    - empty
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: std::string
    signature: std::string & back() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11831
      start: 11828
    functionDepth: 1
    functionLinenumber: 11828
    functionLinenumberEnd: 11831
    functionName: nlohmann::json_pointer::push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11837
      start: 11834
    functionDepth: 1
    functionLinenumber: 11834
    functionLinenumberEnd: 11837
    functionName: nlohmann::json_pointer::push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(std::string&& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11856
      start: 11853
    functionDepth: 1
    functionLinenumber: 11853
    functionLinenumberEnd: 11856
    functionName: nlohmann::json_pointer::empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::json_pointer::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: std::stoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11892
      start: 11869
    functionDepth: 2
    functionLinenumber: 11869
    functionLinenumberEnd: 11892
    functionName: nlohmann::json_pointer::array_index
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - nlohmann::detail::parse_error::create
    - JSON_HEDLEY_UNLIKELY
    - std::stoull
    - JSON_THROW
    linkageType: ''
    returnType: typename BasicJsonType::size_type
    signature: typename BasicJsonType::size_type array_index(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11896
      start: 11893
    functionDepth: 1
    functionLinenumber: 11893
    functionLinenumberEnd: 11896
    functionName: nlohmann::json_pointer::JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH(std::out_of_range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - processed_chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11902
      start: 11899
    functionDepth: 1
    functionLinenumber: 11899
    functionLinenumberEnd: 11902
    functionName: (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: if
    signature: if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11909
      start: 11906
    functionDepth: 1
    functionLinenumber: 11906
    functionLinenumberEnd: 11909
    functionName: (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: if
    signature: if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: auto::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11942,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11949,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11954,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11962,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11969,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11969,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11980,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11985
      start: 11934
    functionDepth: 1
    functionLinenumber: 11934
    functionLinenumberEnd: 11985
    functionName: nlohmann::get_and_create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::type
    - nlohmann::detail::type_error::create
    - result
    - array_index
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_and_create(BasicJsonType& j) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12011,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12015,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12015,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12015,1
    - Dst: isdigit
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12018,1
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12027,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12032,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12041,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12041,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12046,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12046,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12052,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12057
      start: 12006
    functionDepth: 1
    functionLinenumber: 12006
    functionLinenumberEnd: 12057
    functionName: nlohmann::get_unchecked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - JSON_THROW
    - end
    - BasicJsonType*::m_value::array::size
    - isdigit
    - ptr
    - BasicJsonType*::type
    - array_index
    - BasicJsonType*::is_null
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(BasicJsonType* ptr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12069,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12074,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12080,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12083,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12083,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12084,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12084,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12089,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12089,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12094,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12099
      start: 12065
    functionDepth: 1
    functionLinenumber: 12065
    functionLinenumberEnd: 12099
    functionName: nlohmann::get_checked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType*::at
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::m_value::array::size
    - BasicJsonType*::type
    - array_index
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(BasicJsonType* ptr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12118,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12123,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12129,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12132,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12132,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12133,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12133,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12138,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12138,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12143,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12148
      start: 12114
    functionDepth: 1
    functionLinenumber: 12114
    functionLinenumberEnd: 12148
    functionName: nlohmann::get_unchecked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::m_value::array::size
    - ptr
    - BasicJsonType*::type
    - array_index
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(const BasicJsonType* ptr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12160,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12165,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12171,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12174,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12174,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12175,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12175,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12180,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12180,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12185,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12190
      start: 12156
    functionDepth: 1
    functionLinenumber: 12156
    functionLinenumberEnd: 12190
    functionName: nlohmann::get_checked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType*::at
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::m_value::array::size
    - BasicJsonType*::type
    - array_index
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(const BasicJsonType* ptr) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12200,1
    - Dst: BasicJsonType*::contains
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12204,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12210,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12216,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12221,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12221,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12226,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12226,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12228,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12233,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12235,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12243,1
    - Dst: BasicJsonType*::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12244,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12250,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12265
      start: 12196
    functionDepth: 1
    functionLinenumber: 12196
    functionLinenumberEnd: 12265
    functionName: nlohmann::contains
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::contains
    - ptr
    - BasicJsonType*::type
    - array_index
    - BasicJsonType*::size
    linkageType: ''
    returnType: bool
    signature: bool contains(const BasicJsonType* ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12281,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12287,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12289,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12289,1
    - Dst: find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12299,1
    - Dst: find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12308,1
    - Dst: substr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12312,1
    - Dst: auto::find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12315,1
    - Dst: auto::find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12319,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12322,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12322,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12326,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12326,1
    - Dst: nlohmann::unescape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12331,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' reference_string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12336
      start: 12276
    functionDepth: 2
    functionLinenumber: 12276
    functionLinenumberEnd: 12336
    functionName: nlohmann::split
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::parse_error::create
    - auto::find_first_of
    - JSON_ASSERT
    - auto::size
    - std::vector::push_back
    - nlohmann::unescape
    - JSON_HEDLEY_UNLIKELY
    - substr
    - empty
    - JSON_THROW
    - find_first_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& reference_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12354,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12354,1
    - Dst: nlohmann::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12355,1
    - Dst: replace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12357,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12357,1
    - Dst: nlohmann::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12358,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' s'
    - ' f'
    - ' t'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12360
      start: 12351
    functionDepth: 1
    functionLinenumber: 12351
    functionLinenumberEnd: 12360
    functionName: nlohmann::replace_substring
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_ASSERT
    - replace
    - empty
    - nlohmann::find
    linkageType: ''
    returnType: void
    signature: "void replace_substring(std::string& s, const std::string& f,\n                                  const
      std::string& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12365,1
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12368
      start: 12363
    functionDepth: 2
    functionLinenumber: 12363
    functionLinenumberEnd: 12368
    functionName: nlohmann::escape
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::replace_substring
    linkageType: ''
    returnType: std::string
    signature: std::string escape(std::string s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12373,1
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12375
      start: 12371
    functionDepth: 2
    functionLinenumber: 12371
    functionLinenumberEnd: 12375
    functionName: nlohmann::unescape
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::replace_substring
    linkageType: ''
    returnType: void
    signature: void unescape(std::string& s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12388,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12392,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12400,1
    - Dst: nlohmann::flatten
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12402,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12402,1
    - Dst: m_value::array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12403,1
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12411,1
    - Dst: nlohmann::flatten
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12421,1
    - Dst: nlohmann::escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ' reference_string'
    - ' value'
    - ' result'
    argTypes:
    - std::string
    - BasicJsonType
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12434
      start: 12384
    functionDepth: 3
    functionLinenumber: 12384
    functionLinenumberEnd: 12434
    functionName: nlohmann::flatten
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - m_value::array::size
    - m_value::object::empty
    - nlohmann::flatten
    - m_value::array
    - nlohmann::type
    - std::to_string
    - m_value::array::empty
    - nlohmann::escape
    linkageType: ''
    returnType: void
    signature: "void flatten(const std::string& reference_string,\n                        const
      BasicJsonType& value,\n                        BasicJsonType& result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12449,1
    - Dst: nlohmann::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12449,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12451,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12451,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12459,1
    - Dst: second::is_primitive
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12459,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12461,1
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12472
      start: 12446
    functionDepth: 1
    functionLinenumber: 12446
    functionLinenumberEnd: 12472
    functionName: nlohmann::unflatten
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - second::is_primitive
    - nlohmann::is_object
    - JSON_HEDLEY_UNLIKELY
    - json_pointer
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType unflatten(const BasicJsonType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12489
      start: 12485
    functionDepth: 0
    functionLinenumber: 12485
    functionLinenumberEnd: 12489
    functionName: "operator==(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: "friend operator==(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12506
      start: 12502
    functionDepth: 0
    functionLinenumber: 12502
    functionLinenumberEnd: 12506
    functionName: "operator!=(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: "friend operator!=(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11583,1
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11606,1
    - Dst: nlohmann::json_pointer::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11613,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: reference_tokens::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11635,1
    - Dst: reference_tokens::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11636,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    - Dst: nlohmann::json_pointer::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11680,1
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11701,1
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11741,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11759,1
    - Dst: json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11765,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11789,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11813,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11830,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11855,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: std::stoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11891,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11916,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11916,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11918,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11918,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11924
      start: 11554
    functionDepth: 3
    functionLinenumber: 11554
    functionLinenumberEnd: 11924
    functionName: nlohmann::json_pointer::top
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - insert
    - back
    - end
    - std::accumulate
    - reference_tokens::end
    - reference_tokens::begin
    - split
    - nlohmann::detail::out_of_range::create
    - std::move
    - nlohmann::json_pointer::push_back
    - nlohmann::json_pointer::empty
    - nlohmann::json_pointer::json_pointer
    - size
    - begin
    - escape
    - JSON_HEDLEY_UNLIKELY
    - json_pointer::pop_back
    - std::stoull
    - JSON_THROW
    - nlohmann::json_pointer::to_string
    - nlohmann::detail::parse_error::create
    - nlohmann::json_pointer::pop_back
    linkageType: ''
    returnType: "class json_pointer\n{\n    // allow basic_json to access private
      members\n    NLOHMANN_BASIC_JSON_TPL_DECLARATION\n    friend class basic_json;\n\n
      \ public:\n    /*!\n    @brief create JSON pointer\n\n    Create a JSON pointer
      according to the syntax described in\n    [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3).\n\n
      \   @param[in] s  string representing the JSON pointer; if omitted, the empty\n
      \                 string is assumed which references the whole JSON value\n\n
      \   @throw parse_error.107 if the given JSON pointer @a s is nonempty and does\n
      \                          not begin with a slash (`/`); see example below\n\n
      \   @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is\n
      \   not followed by `0` (representing `~`) or `1` (representing `/`); see\n
      \   example below\n\n    @liveexample{The example shows the construction several
      valid JSON pointers\n    as well as the exceptional behavior.,json_pointer}\n\n
      \   @since version 2.0.0\n    */\n    explicit json_pointer(const std::string&
      s = \"\")\n        : reference_tokens(split(s))\n    {}\n\n    /*!\n    @brief
      return a string representation of the JSON pointer\n\n    @invariant For each
      JSON pointer `ptr`, it holds:\n    @code {.cpp}\n    ptr == json_pointer(ptr.to_string());\n
      \   @endcode\n\n    @return a string representation of the JSON pointer\n\n
      \   @liveexample{The example shows the result of `to_string`.,json_pointer__to_string}\n\n
      \   @since version 2.0.0\n    */\n    std::string to_string() const\n    {\n
      \       return std::accumulate(reference_tokens.begin(), reference_tokens.end(),\n
      \                              std::string{},\n                               [](const
      std::string & a, const std::string & b)\n        {\n            return a + \"/\"
      + escape(b);\n        });\n    }\n\n    /// @copydoc to_string()\n    operator
      std::string() const\n    {\n        return to_string();\n    }\n\n    /*!\n
      \   @brief append another JSON pointer at the end of this JSON pointer\n\n    @param[in]
      ptr  JSON pointer to append\n    @return JSON pointer with @a ptr appended\n\n
      \   @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n    @sa @ref operator/=(std::size_t) to append
      an array index\n    @sa @ref operator/(const json_pointer&, const json_pointer&)
      for a binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer&
      operator/=(const json_pointer& ptr)\n    {\n        reference_tokens.insert(reference_tokens.end(),\n
      \                               ptr.reference_tokens.begin(),\n                                ptr.reference_tokens.end());\n
      \       return *this;\n    }\n\n    /*!\n    @brief append an unescaped reference
      token at the end of this JSON pointer\n\n    @param[in] token  reference token
      to append\n    @return JSON pointer with @a token appended without escaping
      @a token\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::size_t) to append an
      array index\n    @sa @ref operator/(const json_pointer&, std::size_t) for a
      binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::string
      token)\n    {\n        push_back(std::move(token));\n        return *this;\n
      \   }\n\n    /*!\n    @brief append an array index at the end of this JSON pointer\n\n
      \   @param[in] array_idx  array index to append\n    @return JSON pointer with
      @a array_idx appended\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::string) to append a reference
      token\n    @sa @ref operator/(const json_pointer&, std::string) for a binary
      operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::size_t
      array_idx)\n    {\n        return *this /= std::to_string(array_idx);\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the right JSON pointer
      at the end of the left JSON pointer\n\n    @param[in] lhs  JSON pointer\n    @param[in]
      rhs  JSON pointer\n    @return a new JSON pointer with @a rhs appended to @a
      lhs\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a lhs and @a rhs.\n\n    @sa @ref operator/=(const
      json_pointer&) to append a JSON pointer\n\n    @since version 3.6.0\n    */\n
      \   friend json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)\n    {\n        return json_pointer(lhs) /= rhs;\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the unescaped token
      at the end of the JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in]
      token  reference token\n    @return a new JSON pointer with unescaped @a token
      appended to @a ptr\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n\n    @since version 3.6.0\n    */\n    friend
      json_pointer operator/(const json_pointer& ptr, std::string token)\n    {\n
      \       return json_pointer(ptr) /= std::move(token);\n    }\n\n    /*!\n    @brief
      create a new JSON pointer by appending the array-index-token at the end of the
      JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in] array_idx  array
      index\n    @return a new JSON pointer with @a array_idx appended to @a ptr\n\n
      \   @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::size_t)
      to append an array index\n\n    @since version 3.6.0\n    */\n    friend json_pointer
      operator/(const json_pointer& ptr, std::size_t array_idx)\n    {\n        return
      json_pointer(ptr) /= array_idx;\n    }\n\n    /*!\n    @brief returns the parent
      of this JSON pointer\n\n    @return parent of this JSON pointer; in case this
      JSON pointer is the root,\n            the root itself is returned\n\n    @complexity
      Linear in the length of the JSON pointer.\n\n    @liveexample{The example shows
      the result of `parent_pointer` for different\n    JSON Pointers.,json_pointer__parent_pointer}\n\n
      \   @since version 3.6.0\n    */\n    json_pointer parent_pointer() const\n
      \   {\n        if (empty())\n        {\n            return *this;\n        }\n\n
      \       json_pointer res = *this;\n        res.pop_back();\n        return res;\n
      \   }\n\n    /*!\n    @brief remove last reference token\n\n    @pre not `empty()`\n\n
      \   @liveexample{The example shows the usage of `pop_back`.,json_pointer__pop_back}\n\n
      \   @complexity Constant.\n\n    @throw out_of_range.405 if JSON pointer has
      no parent\n\n    @since version 3.6.0\n    */\n    void pop_back()\n    {\n
      \       if (JSON_HEDLEY_UNLIKELY(empty()))\n        {\n            JSON_THROW(detail::out_of_range::create(405,
      \"JSON pointer has no parent\"));\n        }\n\n        reference_tokens.pop_back();\n
      \   }\n\n    /*!\n    @brief return last reference token\n\n    @pre not `empty()`\n
      \   @return last reference token\n\n    @liveexample{The example shows the usage
      of `back`.,json_pointer__back}\n\n    @complexity Constant.\n\n    @throw out_of_range.405
      if JSON pointer has no parent\n\n    @since version 3.6.0\n    */\n    const
      std::string& back() const\n    {\n        if (JSON_HEDLEY_UNLIKELY(empty()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(405, \"JSON pointer
      has no parent\"));\n        }\n\n        return reference_tokens.back();\n    }\n\n
      \   /*!\n    @brief append an unescaped token at the end of the reference pointer\n\n
      \   @param[in] token  token to add\n\n    @complexity Amortized constant.\n\n
      \   @liveexample{The example shows the result of `push_back` for different\n
      \   JSON Pointers.,json_pointer__push_back}\n\n    @since version 3.6.0\n    */\n
      \   void push_back(const std::string& token)\n    {\n        reference_tokens.push_back(token);\n
      \   }\n\n    /// @copydoc push_back(const std::string&)\n    void push_back(std::string&&
      token)\n    {\n        reference_tokens.push_back(std::move(token));\n    }\n\n
      \   /*!\n    @brief return whether pointer points to the root document\n\n    @return
      true iff the JSON pointer points to the root document\n\n    @complexity Constant.\n\n
      \   @exceptionsafety No-throw guarantee: this function never throws exceptions.\n\n
      \   @liveexample{The example shows the result of `empty` for different JSON\n
      \   Pointers.,json_pointer__empty}\n\n    @since version 3.6.0\n    */\n    bool
      empty() const noexcept\n    {\n        return reference_tokens.empty();\n    }\n\n
      \ private:\n    /*!\n    @param[in] s  reference token to be converted into
      an array index\n\n    @return integer representation of @a s\n\n    @throw parse_error.106
      \ if an array index begins with '0'\n    @throw parse_error.109  if an array
      index begins not with a digit\n    @throw out_of_range.404 if string @a s could
      not be converted to an integer\n    @throw out_of_range.410 if an array index
      exceeds size_type\n    */\n    static typename BasicJsonType::size_type array_index(const
      std::string& s)\n    {\n        using size_type = typename BasicJsonType::size_type;\n\n
      \       // error condition (cf. RFC 6901, Sect. 4)\n        if (JSON_HEDLEY_UNLIKELY(s.size()
      > 1 && s[0] == '0'))\n        {\n            JSON_THROW(detail::parse_error::create(106,
      0,\n                                                   \"array index '\" + s
      +\n                                                   \"' must not begin with
      '0'\"));\n        }\n\n        // error condition (cf. RFC 6901, Sect. 4)\n
      \       if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))\n
      \       {\n            JSON_THROW(detail::parse_error::create(109, 0, \"array
      index '\" + s + \"' is not a number\"));\n        }\n\n        std::size_t processed_chars
      = 0;\n        unsigned long long res = 0;\n        JSON_TRY\n        {\n            res
      = std::stoull(s, &processed_chars);\n        }\n        JSON_CATCH(std::out_of_range&)\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // check if the string
      was completely read\n        if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // only triggered on
      special platforms (like 32bit), see also\n        // https://github.com/nlohmann/json/pull/2203\n
      \       if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(410, \"array
      index \" + s + \" exceeds size_type\")); // LCOV_EXCL_LINE\n        }\n\n        return
      static_cast<size_type>(res);\n    }"
    signature: "class json_pointer\n{\n    // allow basic_json to access private members\n
      \   NLOHMANN_BASIC_JSON_TPL_DECLARATION\n    friend class basic_json;\n\n  public:\n
      \   /*!\n    @brief create JSON pointer\n\n    Create a JSON pointer according
      to the syntax described in\n    [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3).\n\n
      \   @param[in] s  string representing the JSON pointer; if omitted, the empty\n
      \                 string is assumed which references the whole JSON value\n\n
      \   @throw parse_error.107 if the given JSON pointer @a s is nonempty and does\n
      \                          not begin with a slash (`/`); see example below\n\n
      \   @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is\n
      \   not followed by `0` (representing `~`) or `1` (representing `/`); see\n
      \   example below\n\n    @liveexample{The example shows the construction several
      valid JSON pointers\n    as well as the exceptional behavior.,json_pointer}\n\n
      \   @since version 2.0.0\n    */\n    explicit json_pointer(const std::string&
      s = \"\")\n        : reference_tokens(split(s))\n    {}\n\n    /*!\n    @brief
      return a string representation of the JSON pointer\n\n    @invariant For each
      JSON pointer `ptr`, it holds:\n    @code {.cpp}\n    ptr == json_pointer(ptr.to_string());\n
      \   @endcode\n\n    @return a string representation of the JSON pointer\n\n
      \   @liveexample{The example shows the result of `to_string`.,json_pointer__to_string}\n\n
      \   @since version 2.0.0\n    */\n    std::string to_string() const\n    {\n
      \       return std::accumulate(reference_tokens.begin(), reference_tokens.end(),\n
      \                              std::string{},\n                               [](const
      std::string & a, const std::string & b)\n        {\n            return a + \"/\"
      + escape(b);\n        });\n    }\n\n    /// @copydoc to_string()\n    operator
      std::string() const\n    {\n        return to_string();\n    }\n\n    /*!\n
      \   @brief append another JSON pointer at the end of this JSON pointer\n\n    @param[in]
      ptr  JSON pointer to append\n    @return JSON pointer with @a ptr appended\n\n
      \   @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n    @sa @ref operator/=(std::size_t) to append
      an array index\n    @sa @ref operator/(const json_pointer&, const json_pointer&)
      for a binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer&
      operator/=(const json_pointer& ptr)\n    {\n        reference_tokens.insert(reference_tokens.end(),\n
      \                               ptr.reference_tokens.begin(),\n                                ptr.reference_tokens.end());\n
      \       return *this;\n    }\n\n    /*!\n    @brief append an unescaped reference
      token at the end of this JSON pointer\n\n    @param[in] token  reference token
      to append\n    @return JSON pointer with @a token appended without escaping
      @a token\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::size_t) to append an
      array index\n    @sa @ref operator/(const json_pointer&, std::size_t) for a
      binary operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::string
      token)\n    {\n        push_back(std::move(token));\n        return *this;\n
      \   }\n\n    /*!\n    @brief append an array index at the end of this JSON pointer\n\n
      \   @param[in] array_idx  array index to append\n    @return JSON pointer with
      @a array_idx appended\n\n    @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add}\n\n
      \   @complexity Amortized constant.\n\n    @sa @ref operator/=(const json_pointer&)
      to append a JSON pointer\n    @sa @ref operator/=(std::string) to append a reference
      token\n    @sa @ref operator/(const json_pointer&, std::string) for a binary
      operator\n\n    @since version 3.6.0\n    */\n    json_pointer& operator/=(std::size_t
      array_idx)\n    {\n        return *this /= std::to_string(array_idx);\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the right JSON pointer
      at the end of the left JSON pointer\n\n    @param[in] lhs  JSON pointer\n    @param[in]
      rhs  JSON pointer\n    @return a new JSON pointer with @a rhs appended to @a
      lhs\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a lhs and @a rhs.\n\n    @sa @ref operator/=(const
      json_pointer&) to append a JSON pointer\n\n    @since version 3.6.0\n    */\n
      \   friend json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)\n    {\n        return json_pointer(lhs) /= rhs;\n    }\n\n
      \   /*!\n    @brief create a new JSON pointer by appending the unescaped token
      at the end of the JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in]
      token  reference token\n    @return a new JSON pointer with unescaped @a token
      appended to @a ptr\n\n    @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::string)
      to append a reference token\n\n    @since version 3.6.0\n    */\n    friend
      json_pointer operator/(const json_pointer& ptr, std::string token)\n    {\n
      \       return json_pointer(ptr) /= std::move(token);\n    }\n\n    /*!\n    @brief
      create a new JSON pointer by appending the array-index-token at the end of the
      JSON pointer\n\n    @param[in] ptr  JSON pointer\n    @param[in] array_idx  array
      index\n    @return a new JSON pointer with @a array_idx appended to @a ptr\n\n
      \   @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary}\n\n
      \   @complexity Linear in the length of @a ptr.\n\n    @sa @ref operator/=(std::size_t)
      to append an array index\n\n    @since version 3.6.0\n    */\n    friend json_pointer
      operator/(const json_pointer& ptr, std::size_t array_idx)\n    {\n        return
      json_pointer(ptr) /= array_idx;\n    }\n\n    /*!\n    @brief returns the parent
      of this JSON pointer\n\n    @return parent of this JSON pointer; in case this
      JSON pointer is the root,\n            the root itself is returned\n\n    @complexity
      Linear in the length of the JSON pointer.\n\n    @liveexample{The example shows
      the result of `parent_pointer` for different\n    JSON Pointers.,json_pointer__parent_pointer}\n\n
      \   @since version 3.6.0\n    */\n    json_pointer parent_pointer() const\n
      \   {\n        if (empty())\n        {\n            return *this;\n        }\n\n
      \       json_pointer res = *this;\n        res.pop_back();\n        return res;\n
      \   }\n\n    /*!\n    @brief remove last reference token\n\n    @pre not `empty()`\n\n
      \   @liveexample{The example shows the usage of `pop_back`.,json_pointer__pop_back}\n\n
      \   @complexity Constant.\n\n    @throw out_of_range.405 if JSON pointer has
      no parent\n\n    @since version 3.6.0\n    */\n    void pop_back()\n    {\n
      \       if (JSON_HEDLEY_UNLIKELY(empty()))\n        {\n            JSON_THROW(detail::out_of_range::create(405,
      \"JSON pointer has no parent\"));\n        }\n\n        reference_tokens.pop_back();\n
      \   }\n\n    /*!\n    @brief return last reference token\n\n    @pre not `empty()`\n
      \   @return last reference token\n\n    @liveexample{The example shows the usage
      of `back`.,json_pointer__back}\n\n    @complexity Constant.\n\n    @throw out_of_range.405
      if JSON pointer has no parent\n\n    @since version 3.6.0\n    */\n    const
      std::string& back() const\n    {\n        if (JSON_HEDLEY_UNLIKELY(empty()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(405, \"JSON pointer
      has no parent\"));\n        }\n\n        return reference_tokens.back();\n    }\n\n
      \   /*!\n    @brief append an unescaped token at the end of the reference pointer\n\n
      \   @param[in] token  token to add\n\n    @complexity Amortized constant.\n\n
      \   @liveexample{The example shows the result of `push_back` for different\n
      \   JSON Pointers.,json_pointer__push_back}\n\n    @since version 3.6.0\n    */\n
      \   void push_back(const std::string& token)\n    {\n        reference_tokens.push_back(token);\n
      \   }\n\n    /// @copydoc push_back(const std::string&)\n    void push_back(std::string&&
      token)\n    {\n        reference_tokens.push_back(std::move(token));\n    }\n\n
      \   /*!\n    @brief return whether pointer points to the root document\n\n    @return
      true iff the JSON pointer points to the root document\n\n    @complexity Constant.\n\n
      \   @exceptionsafety No-throw guarantee: this function never throws exceptions.\n\n
      \   @liveexample{The example shows the result of `empty` for different JSON\n
      \   Pointers.,json_pointer__empty}\n\n    @since version 3.6.0\n    */\n    bool
      empty() const noexcept\n    {\n        return reference_tokens.empty();\n    }\n\n
      \ private:\n    /*!\n    @param[in] s  reference token to be converted into
      an array index\n\n    @return integer representation of @a s\n\n    @throw parse_error.106
      \ if an array index begins with '0'\n    @throw parse_error.109  if an array
      index begins not with a digit\n    @throw out_of_range.404 if string @a s could
      not be converted to an integer\n    @throw out_of_range.410 if an array index
      exceeds size_type\n    */\n    static typename BasicJsonType::size_type array_index(const
      std::string& s)\n    {\n        using size_type = typename BasicJsonType::size_type;\n\n
      \       // error condition (cf. RFC 6901, Sect. 4)\n        if (JSON_HEDLEY_UNLIKELY(s.size()
      > 1 && s[0] == '0'))\n        {\n            JSON_THROW(detail::parse_error::create(106,
      0,\n                                                   \"array index '\" + s
      +\n                                                   \"' must not begin with
      '0'\"));\n        }\n\n        // error condition (cf. RFC 6901, Sect. 4)\n
      \       if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))\n
      \       {\n            JSON_THROW(detail::parse_error::create(109, 0, \"array
      index '\" + s + \"' is not a number\"));\n        }\n\n        std::size_t processed_chars
      = 0;\n        unsigned long long res = 0;\n        JSON_TRY\n        {\n            res
      = std::stoull(s, &processed_chars);\n        }\n        JSON_CATCH(std::out_of_range&)\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // check if the string
      was completely read\n        if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(404, \"unresolved
      reference token '\" + s + \"'\"));\n        }\n\n        // only triggered on
      special platforms (like 32bit), see also\n        // https://github.com/nlohmann/json/pull/2203\n
      \       if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))\n
      \       {\n            JSON_THROW(detail::out_of_range::create(410, \"array
      index \" + s + \" exceeds size_type\")); // LCOV_EXCL_LINE\n        }\n\n        return
      static_cast<size_type>(res);\n    } json_pointer top() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11584
      start: 11582
    functionDepth: 2
    functionLinenumber: 11582
    functionLinenumberEnd: 11584
    functionName: nlohmann::json_pointer::json_pointer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - split
    linkageType: ''
    returnType: void
    signature: void json_pointer(const std::string& s = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11602,1
    - Dst: escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11608
      start: 11600
    functionDepth: 1
    functionLinenumber: 11600
    functionLinenumberEnd: 11608
    functionName: nlohmann::json_pointer::to_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - std::accumulate
    - escape
    - end
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string to_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11614
      start: 11611
    functionDepth: 0
    functionLinenumber: 11611
    functionLinenumberEnd: 11614
    functionName: operator std::string() const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11634,1
    - Dst: reference_tokens::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11635,1
    - Dst: reference_tokens::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11638
      start: 11632
    functionDepth: 1
    functionLinenumber: 11632
    functionLinenumberEnd: 11638
    functionName: '& operator/=(const json_pointer& ptr)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - insert
    - reference_tokens::end
    - end
    - reference_tokens::begin
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11660
      start: 11656
    functionDepth: 1
    functionLinenumber: 11656
    functionLinenumberEnd: 11660
    functionName: '& operator/=(std::string token)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::string token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array_idx
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11681
      start: 11678
    functionDepth: 0
    functionLinenumber: 11678
    functionLinenumberEnd: 11681
    functionName: '& operator/=(std::size_t array_idx)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::size_t array_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11702
      start: 11698
    functionDepth: 0
    functionLinenumber: 11698
    functionLinenumberEnd: 11702
    functionName: "operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: "json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - token
    argTypes:
    - json_pointer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11722
      start: 11719
    functionDepth: 0
    functionLinenumber: 11719
    functionLinenumberEnd: 11722
    functionName: operator/(const json_pointer& ptr, std::string token)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer operator/(const json_pointer& ptr, std::string token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - array_idx
    argTypes:
    - json_pointer
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11742
      start: 11739
    functionDepth: 0
    functionLinenumber: 11739
    functionLinenumberEnd: 11742
    functionName: operator/(const json_pointer& ptr, std::size_t array_idx)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer operator/(const json_pointer& ptr, std::size_t array_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11759,1
    - Dst: json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11767
      start: 11757
    functionDepth: 2
    functionLinenumber: 11757
    functionLinenumberEnd: 11767
    functionName: nlohmann::json_pointer::parent_pointer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::json_pointer::empty
    - json_pointer::pop_back
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer parent_pointer() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11784,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11786,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11790
      start: 11782
    functionDepth: 2
    functionLinenumber: 11782
    functionLinenumberEnd: 11790
    functionName: nlohmann::json_pointer::pop_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::json_pointer::pop_back
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::json_pointer::empty
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11808,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11810,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11814
      start: 11806
    functionDepth: 1
    functionLinenumber: 11806
    functionLinenumberEnd: 11814
    functionName: '& back() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - JSON_HEDLEY_UNLIKELY
    - empty
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: std::string
    signature: std::string & back() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11831
      start: 11828
    functionDepth: 1
    functionLinenumber: 11828
    functionLinenumberEnd: 11831
    functionName: nlohmann::json_pointer::push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11837
      start: 11834
    functionDepth: 1
    functionLinenumber: 11834
    functionLinenumberEnd: 11837
    functionName: nlohmann::json_pointer::push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - std::move
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(std::string&& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11856
      start: 11853
    functionDepth: 1
    functionLinenumber: 11853
    functionLinenumberEnd: 11856
    functionName: nlohmann::json_pointer::empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::json_pointer::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11874,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11876,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11882,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11884,1
    - Dst: std::stoull
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11892
      start: 11869
    functionDepth: 2
    functionLinenumber: 11869
    functionLinenumberEnd: 11892
    functionName: nlohmann::json_pointer::array_index
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - nlohmann::detail::parse_error::create
    - JSON_HEDLEY_UNLIKELY
    - std::stoull
    - JSON_THROW
    linkageType: ''
    returnType: typename BasicJsonType::size_type
    signature: typename BasicJsonType::size_type array_index(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11896
      start: 11893
    functionDepth: 1
    functionLinenumber: 11893
    functionLinenumberEnd: 11896
    functionName: nlohmann::json_pointer::JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH(std::out_of_range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - processed_chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11902
      start: 11899
    functionDepth: 1
    functionLinenumber: 11899
    functionLinenumberEnd: 11902
    functionName: (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: if
    signature: if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11909
      start: 11906
    functionDepth: 1
    functionLinenumber: 11906
    functionLinenumberEnd: 11909
    functionName: (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: if
    signature: if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: auto::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11942,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11949,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11954,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11962,1
    - Dst: result
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11969,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11969,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11980,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:11980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11985
      start: 11934
    functionDepth: 1
    functionLinenumber: 11934
    functionLinenumberEnd: 11985
    functionName: nlohmann::get_and_create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::type
    - nlohmann::detail::type_error::create
    - result
    - array_index
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_and_create(BasicJsonType& j) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12011,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12015,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12015,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12015,1
    - Dst: isdigit
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12018,1
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12027,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12032,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12041,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12041,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12046,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12046,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12052,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12057
      start: 12006
    functionDepth: 1
    functionLinenumber: 12006
    functionLinenumberEnd: 12057
    functionName: nlohmann::get_unchecked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - JSON_THROW
    - end
    - BasicJsonType*::m_value::array::size
    - isdigit
    - ptr
    - BasicJsonType*::type
    - array_index
    - BasicJsonType*::is_null
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(BasicJsonType* ptr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12069,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12074,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12080,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12083,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12083,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12084,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12084,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12089,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12089,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12094,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12099
      start: 12065
    functionDepth: 1
    functionLinenumber: 12065
    functionLinenumberEnd: 12099
    functionName: nlohmann::get_checked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType*::at
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::m_value::array::size
    - BasicJsonType*::type
    - array_index
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(BasicJsonType* ptr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12118,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12123,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12129,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12132,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12132,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12133,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12133,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12138,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12138,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12143,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12148
      start: 12114
    functionDepth: 1
    functionLinenumber: 12114
    functionLinenumberEnd: 12148
    functionName: nlohmann::get_unchecked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::m_value::array::size
    - ptr
    - BasicJsonType*::type
    - array_index
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(const BasicJsonType* ptr) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12160,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12165,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12171,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12174,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12174,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12175,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12175,1
    - Dst: BasicJsonType*::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12180,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12180,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12185,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12190
      start: 12156
    functionDepth: 1
    functionLinenumber: 12156
    functionLinenumberEnd: 12190
    functionName: nlohmann::get_checked
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType*::at
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::m_value::array::size
    - BasicJsonType*::type
    - array_index
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(const BasicJsonType* ptr) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12200,1
    - Dst: BasicJsonType*::contains
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12204,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12210,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12216,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12221,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12221,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12226,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12226,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12228,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12233,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12235,1
    - Dst: array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12243,1
    - Dst: BasicJsonType*::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12244,1
    - Dst: ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12250,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12265
      start: 12196
    functionDepth: 1
    functionLinenumber: 12196
    functionLinenumberEnd: 12265
    functionName: nlohmann::contains
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_HEDLEY_UNLIKELY
    - BasicJsonType*::contains
    - ptr
    - BasicJsonType*::type
    - array_index
    - BasicJsonType*::size
    linkageType: ''
    returnType: bool
    signature: bool contains(const BasicJsonType* ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12281,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12287,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12289,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12289,1
    - Dst: find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12299,1
    - Dst: find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12308,1
    - Dst: substr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12312,1
    - Dst: auto::find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12315,1
    - Dst: auto::find_first_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12319,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12322,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12322,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12326,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12326,1
    - Dst: nlohmann::unescape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12331,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' reference_string'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12336
      start: 12276
    functionDepth: 3
    functionLinenumber: 12276
    functionLinenumberEnd: 12336
    functionName: nlohmann::split
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::parse_error::create
    - auto::find_first_of
    - JSON_ASSERT
    - auto::size
    - std::vector::push_back
    - nlohmann::unescape
    - JSON_HEDLEY_UNLIKELY
    - substr
    - empty
    - JSON_THROW
    - find_first_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& reference_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12354,1
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12354,1
    - Dst: nlohmann::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12355,1
    - Dst: replace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12357,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12357,1
    - Dst: nlohmann::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12358,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' s'
    - ' f'
    - ' t'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12360
      start: 12351
    functionDepth: 1
    functionLinenumber: 12351
    functionLinenumberEnd: 12360
    functionName: nlohmann::replace_substring
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - JSON_ASSERT
    - replace
    - empty
    - nlohmann::find
    linkageType: ''
    returnType: void
    signature: "void replace_substring(std::string& s, const std::string& f,\n                                  const
      std::string& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12365,1
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12368
      start: 12363
    functionDepth: 2
    functionLinenumber: 12363
    functionLinenumberEnd: 12368
    functionName: nlohmann::escape
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::replace_substring
    linkageType: ''
    returnType: std::string
    signature: std::string escape(std::string s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12373,1
    - Dst: nlohmann::replace_substring
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12375
      start: 12371
    functionDepth: 2
    functionLinenumber: 12371
    functionLinenumberEnd: 12375
    functionName: nlohmann::unescape
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::replace_substring
    linkageType: ''
    returnType: void
    signature: void unescape(std::string& s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12388,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12392,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12400,1
    - Dst: nlohmann::flatten
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12402,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12402,1
    - Dst: m_value::array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12403,1
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12411,1
    - Dst: nlohmann::flatten
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12421,1
    - Dst: nlohmann::escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ' reference_string'
    - ' value'
    - ' result'
    argTypes:
    - std::string
    - BasicJsonType
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12434
      start: 12384
    functionDepth: 3
    functionLinenumber: 12384
    functionLinenumberEnd: 12434
    functionName: nlohmann::flatten
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - m_value::array::size
    - m_value::object::empty
    - nlohmann::flatten
    - m_value::array
    - nlohmann::type
    - std::to_string
    - m_value::array::empty
    - nlohmann::escape
    linkageType: ''
    returnType: void
    signature: "void flatten(const std::string& reference_string,\n                        const
      BasicJsonType& value,\n                        BasicJsonType& result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12449,1
    - Dst: nlohmann::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12449,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12451,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12451,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12459,1
    - Dst: second::is_primitive
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12459,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12461,1
    - Dst: json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12472
      start: 12446
    functionDepth: 1
    functionLinenumber: 12446
    functionLinenumberEnd: 12472
    functionName: nlohmann::unflatten
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - second::is_primitive
    - nlohmann::is_object
    - JSON_HEDLEY_UNLIKELY
    - json_pointer
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType unflatten(const BasicJsonType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12489
      start: 12485
    functionDepth: 0
    functionLinenumber: 12485
    functionLinenumberEnd: 12489
    functionName: "operator==(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: "friend operator==(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12506
      start: 12502
    functionDepth: 0
    functionLinenumber: 12502
    functionLinenumberEnd: 12506
    functionName: "operator!=(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: "friend operator!=(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12536
      start: 12532
    functionDepth: 0
    functionLinenumber: 12532
    functionLinenumberEnd: 12536
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_ref(value_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<value_type*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12541
      start: 12538
    functionDepth: 0
    functionLinenumber: 12538
    functionLinenumberEnd: 12541
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - const_cast<value_type*>
    linkageType: ''
    returnType: void
    signature: void json_ref(const value_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<json_ref>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12543
    functionDepth: 0
    functionLinenumber: 12543
    functionLinenumberEnd: 12547
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(std::initializer_list<json_ref> init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12556
      start: 12552
    functionDepth: 0
    functionLinenumber: 12552
    functionLinenumberEnd: 12556
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void json_ref(Args && ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12559
      start: 12559
    functionDepth: 0
    functionLinenumber: 12559
    functionLinenumberEnd: 12559
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12560
      start: 12560
    functionDepth: 0
    functionLinenumber: 12560
    functionLinenumberEnd: 12560
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12561
      start: 12561
    functionDepth: 0
    functionLinenumber: 12561
    functionLinenumberEnd: 12561
    functionName: '& operator=(const json_ref&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12562
      start: 12562
    functionDepth: 0
    functionLinenumber: 12562
    functionLinenumberEnd: 12562
    functionName: '& operator=(json_ref&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12563
      start: 12563
    functionDepth: 0
    functionLinenumber: 12563
    functionLinenumberEnd: 12563
    functionName: ~json_ref()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12572
      start: 12565
    functionDepth: 0
    functionLinenumber: 12565
    functionLinenumberEnd: 12572
    functionName: nlohmann::detail::json_ref::moved_or_copied
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: value_type
    signature: value_type moved_or_copied() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12577
      start: 12574
    functionDepth: 0
    functionLinenumber: 12574
    functionLinenumberEnd: 12577
    functionName: '& operator*() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12579
    functionDepth: 0
    functionLinenumber: 12579
    functionLinenumberEnd: 12582
    functionName: '* operator->() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12536
      start: 12532
    functionDepth: 0
    functionLinenumber: 12532
    functionLinenumberEnd: 12536
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_ref(value_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<value_type*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12541
      start: 12538
    functionDepth: 0
    functionLinenumber: 12538
    functionLinenumberEnd: 12541
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - const_cast<value_type*>
    linkageType: ''
    returnType: void
    signature: void json_ref(const value_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<json_ref>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12543
    functionDepth: 0
    functionLinenumber: 12543
    functionLinenumberEnd: 12547
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(std::initializer_list<json_ref> init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12556
      start: 12552
    functionDepth: 0
    functionLinenumber: 12552
    functionLinenumberEnd: 12556
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void json_ref(Args && ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12559
      start: 12559
    functionDepth: 0
    functionLinenumber: 12559
    functionLinenumberEnd: 12559
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12560
      start: 12560
    functionDepth: 0
    functionLinenumber: 12560
    functionLinenumberEnd: 12560
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12561
      start: 12561
    functionDepth: 0
    functionLinenumber: 12561
    functionLinenumberEnd: 12561
    functionName: '& operator=(const json_ref&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12562
      start: 12562
    functionDepth: 0
    functionLinenumber: 12562
    functionLinenumberEnd: 12562
    functionName: '& operator=(json_ref&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12563
      start: 12563
    functionDepth: 0
    functionLinenumber: 12563
    functionLinenumberEnd: 12563
    functionName: ~json_ref()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12572
      start: 12565
    functionDepth: 0
    functionLinenumber: 12565
    functionLinenumberEnd: 12572
    functionName: nlohmann::detail::json_ref::moved_or_copied
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: value_type
    signature: value_type moved_or_copied() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12577
      start: 12574
    functionDepth: 0
    functionLinenumber: 12574
    functionLinenumberEnd: 12577
    functionName: '& operator*() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12579
    functionDepth: 0
    functionLinenumber: 12579
    functionLinenumberEnd: 12582
    functionName: '* operator->() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12536
      start: 12532
    functionDepth: 0
    functionLinenumber: 12532
    functionLinenumberEnd: 12536
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_ref(value_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<value_type*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12541
      start: 12538
    functionDepth: 0
    functionLinenumber: 12538
    functionLinenumberEnd: 12541
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - const_cast<value_type*>
    linkageType: ''
    returnType: void
    signature: void json_ref(const value_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<json_ref>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12543
    functionDepth: 0
    functionLinenumber: 12543
    functionLinenumberEnd: 12547
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(std::initializer_list<json_ref> init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12556
      start: 12552
    functionDepth: 0
    functionLinenumber: 12552
    functionLinenumberEnd: 12556
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void json_ref(Args && ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12559
      start: 12559
    functionDepth: 0
    functionLinenumber: 12559
    functionLinenumberEnd: 12559
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12560
      start: 12560
    functionDepth: 0
    functionLinenumber: 12560
    functionLinenumberEnd: 12560
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12561
      start: 12561
    functionDepth: 0
    functionLinenumber: 12561
    functionLinenumberEnd: 12561
    functionName: '& operator=(const json_ref&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12562
      start: 12562
    functionDepth: 0
    functionLinenumber: 12562
    functionLinenumberEnd: 12562
    functionName: '& operator=(json_ref&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12563
      start: 12563
    functionDepth: 0
    functionLinenumber: 12563
    functionLinenumberEnd: 12563
    functionName: ~json_ref()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12572
      start: 12565
    functionDepth: 0
    functionLinenumber: 12565
    functionLinenumberEnd: 12572
    functionName: nlohmann::detail::json_ref::moved_or_copied
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: value_type
    signature: value_type moved_or_copied() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12577
      start: 12574
    functionDepth: 0
    functionLinenumber: 12574
    functionLinenumberEnd: 12577
    functionName: '& operator*() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12579
    functionDepth: 0
    functionLinenumber: 12579
    functionLinenumberEnd: 12582
    functionName: '* operator->() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12536
      start: 12532
    functionDepth: 0
    functionLinenumber: 12532
    functionLinenumberEnd: 12536
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_ref(value_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<value_type*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12541
      start: 12538
    functionDepth: 0
    functionLinenumber: 12538
    functionLinenumberEnd: 12541
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - const_cast<value_type*>
    linkageType: ''
    returnType: void
    signature: void json_ref(const value_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<json_ref>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12543
    functionDepth: 0
    functionLinenumber: 12543
    functionLinenumberEnd: 12547
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(std::initializer_list<json_ref> init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12556
      start: 12552
    functionDepth: 0
    functionLinenumber: 12552
    functionLinenumberEnd: 12556
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void json_ref(Args && ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12559
      start: 12559
    functionDepth: 0
    functionLinenumber: 12559
    functionLinenumberEnd: 12559
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12560
      start: 12560
    functionDepth: 0
    functionLinenumber: 12560
    functionLinenumberEnd: 12560
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12561
      start: 12561
    functionDepth: 0
    functionLinenumber: 12561
    functionLinenumberEnd: 12561
    functionName: '& operator=(const json_ref&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12562
      start: 12562
    functionDepth: 0
    functionLinenumber: 12562
    functionLinenumberEnd: 12562
    functionName: '& operator=(json_ref&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12563
      start: 12563
    functionDepth: 0
    functionLinenumber: 12563
    functionLinenumberEnd: 12563
    functionName: ~json_ref()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12572
      start: 12565
    functionDepth: 0
    functionLinenumber: 12565
    functionLinenumberEnd: 12572
    functionName: nlohmann::detail::json_ref::moved_or_copied
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: value_type
    signature: value_type moved_or_copied() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12577
      start: 12574
    functionDepth: 0
    functionLinenumber: 12574
    functionLinenumberEnd: 12577
    functionName: '& operator*() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12579
    functionDepth: 0
    functionLinenumber: 12579
    functionLinenumberEnd: 12582
    functionName: '* operator->() const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12636
      start: 12636
    functionDepth: 0
    functionLinenumber: 12636
    functionLinenumberEnd: 12636
    functionName: ~output_adapter_protocol()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~output_adapter_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12650
      start: 12648
    functionDepth: 0
    functionLinenumber: 12648
    functionLinenumberEnd: 12650
    functionName: nlohmann::detail::output_vector_adapter::output_vector_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_vector_adapter(std::vector<CharType>& vec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12655
      start: 12652
    functionDepth: 1
    functionLinenumber: 12652
    functionLinenumberEnd: 12655
    functionName: nlohmann::detail::output_vector_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12661
      start: 12657
    functionDepth: 0
    functionLinenumber: 12657
    functionLinenumberEnd: 12661
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - std::copy
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12674
      start: 12672
    functionDepth: 0
    functionLinenumber: 12672
    functionLinenumberEnd: 12674
    functionName: nlohmann::detail::output_stream_adapter::output_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12679
      start: 12676
    functionDepth: 0
    functionLinenumber: 12676
    functionLinenumberEnd: 12679
    functionName: nlohmann::detail::output_stream_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12685
      start: 12681
    functionDepth: 1
    functionLinenumber: 12681
    functionLinenumberEnd: 12685
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12698
      start: 12696
    functionDepth: 0
    functionLinenumber: 12696
    functionLinenumberEnd: 12698
    functionName: nlohmann::detail::output_string_adapter::output_string_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_string_adapter(StringType& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12700
    functionDepth: 1
    functionLinenumber: 12700
    functionLinenumberEnd: 12703
    functionName: nlohmann::detail::output_string_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12709
      start: 12705
    functionDepth: 1
    functionLinenumber: 12705
    functionLinenumberEnd: 12709
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_vector_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12720
      start: 12719
    functionDepth: 0
    functionLinenumber: 12719
    functionLinenumberEnd: 12720
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_vector_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::vector<CharType>& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12723
      start: 12722
    functionDepth: 0
    functionLinenumber: 12722
    functionLinenumberEnd: 12723
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::basic_ostream<CharType>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12726
      start: 12725
    functionDepth: 0
    functionLinenumber: 12725
    functionLinenumberEnd: 12726
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_string_adapter<CharType, StringType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12731
      start: 12728
    functionDepth: 0
    functionLinenumber: 12728
    functionLinenumberEnd: 12731
    functionName: operator output_adapter_t<CharType>()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator output_adapter_t<CharType>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12636
      start: 12636
    functionDepth: 0
    functionLinenumber: 12636
    functionLinenumberEnd: 12636
    functionName: ~output_adapter_protocol()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~output_adapter_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12650
      start: 12648
    functionDepth: 0
    functionLinenumber: 12648
    functionLinenumberEnd: 12650
    functionName: nlohmann::detail::output_vector_adapter::output_vector_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_vector_adapter(std::vector<CharType>& vec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12655
      start: 12652
    functionDepth: 1
    functionLinenumber: 12652
    functionLinenumberEnd: 12655
    functionName: nlohmann::detail::output_vector_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12661
      start: 12657
    functionDepth: 0
    functionLinenumber: 12657
    functionLinenumberEnd: 12661
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - std::copy
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12674
      start: 12672
    functionDepth: 0
    functionLinenumber: 12672
    functionLinenumberEnd: 12674
    functionName: nlohmann::detail::output_stream_adapter::output_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12679
      start: 12676
    functionDepth: 0
    functionLinenumber: 12676
    functionLinenumberEnd: 12679
    functionName: nlohmann::detail::output_stream_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12685
      start: 12681
    functionDepth: 1
    functionLinenumber: 12681
    functionLinenumberEnd: 12685
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12698
      start: 12696
    functionDepth: 0
    functionLinenumber: 12696
    functionLinenumberEnd: 12698
    functionName: nlohmann::detail::output_string_adapter::output_string_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_string_adapter(StringType& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12700
    functionDepth: 1
    functionLinenumber: 12700
    functionLinenumberEnd: 12703
    functionName: nlohmann::detail::output_string_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12709
      start: 12705
    functionDepth: 1
    functionLinenumber: 12705
    functionLinenumberEnd: 12709
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_vector_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12720
      start: 12719
    functionDepth: 0
    functionLinenumber: 12719
    functionLinenumberEnd: 12720
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_vector_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::vector<CharType>& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12723
      start: 12722
    functionDepth: 0
    functionLinenumber: 12722
    functionLinenumberEnd: 12723
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::basic_ostream<CharType>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12726
      start: 12725
    functionDepth: 0
    functionLinenumber: 12725
    functionLinenumberEnd: 12726
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_string_adapter<CharType, StringType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12731
      start: 12728
    functionDepth: 0
    functionLinenumber: 12728
    functionLinenumberEnd: 12731
    functionName: operator output_adapter_t<CharType>()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator output_adapter_t<CharType>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12636
      start: 12636
    functionDepth: 0
    functionLinenumber: 12636
    functionLinenumberEnd: 12636
    functionName: ~output_adapter_protocol()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~output_adapter_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12650
      start: 12648
    functionDepth: 0
    functionLinenumber: 12648
    functionLinenumberEnd: 12650
    functionName: nlohmann::detail::output_vector_adapter::output_vector_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_vector_adapter(std::vector<CharType>& vec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12655
      start: 12652
    functionDepth: 1
    functionLinenumber: 12652
    functionLinenumberEnd: 12655
    functionName: nlohmann::detail::output_vector_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12661
      start: 12657
    functionDepth: 0
    functionLinenumber: 12657
    functionLinenumberEnd: 12661
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - std::copy
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12674
      start: 12672
    functionDepth: 0
    functionLinenumber: 12672
    functionLinenumberEnd: 12674
    functionName: nlohmann::detail::output_stream_adapter::output_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12679
      start: 12676
    functionDepth: 0
    functionLinenumber: 12676
    functionLinenumberEnd: 12679
    functionName: nlohmann::detail::output_stream_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12685
      start: 12681
    functionDepth: 1
    functionLinenumber: 12681
    functionLinenumberEnd: 12685
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12698
      start: 12696
    functionDepth: 0
    functionLinenumber: 12696
    functionLinenumberEnd: 12698
    functionName: nlohmann::detail::output_string_adapter::output_string_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_string_adapter(StringType& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12700
    functionDepth: 1
    functionLinenumber: 12700
    functionLinenumberEnd: 12703
    functionName: nlohmann::detail::output_string_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12709
      start: 12705
    functionDepth: 1
    functionLinenumber: 12705
    functionLinenumberEnd: 12709
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_vector_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12720
      start: 12719
    functionDepth: 0
    functionLinenumber: 12719
    functionLinenumberEnd: 12720
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_vector_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::vector<CharType>& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12723
      start: 12722
    functionDepth: 0
    functionLinenumber: 12722
    functionLinenumberEnd: 12723
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::basic_ostream<CharType>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12726
      start: 12725
    functionDepth: 0
    functionLinenumber: 12725
    functionLinenumberEnd: 12726
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_string_adapter<CharType, StringType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12731
      start: 12728
    functionDepth: 0
    functionLinenumber: 12728
    functionLinenumberEnd: 12731
    functionName: operator output_adapter_t<CharType>()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator output_adapter_t<CharType>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12636
      start: 12636
    functionDepth: 0
    functionLinenumber: 12636
    functionLinenumberEnd: 12636
    functionName: ~output_adapter_protocol()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~output_adapter_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12650
      start: 12648
    functionDepth: 0
    functionLinenumber: 12648
    functionLinenumberEnd: 12650
    functionName: nlohmann::detail::output_vector_adapter::output_vector_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_vector_adapter(std::vector<CharType>& vec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12655
      start: 12652
    functionDepth: 1
    functionLinenumber: 12652
    functionLinenumberEnd: 12655
    functionName: nlohmann::detail::output_vector_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12661
      start: 12657
    functionDepth: 0
    functionLinenumber: 12657
    functionLinenumberEnd: 12661
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - std::copy
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12674
      start: 12672
    functionDepth: 0
    functionLinenumber: 12672
    functionLinenumberEnd: 12674
    functionName: nlohmann::detail::output_stream_adapter::output_stream_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12679
      start: 12676
    functionDepth: 0
    functionLinenumber: 12676
    functionLinenumberEnd: 12679
    functionName: nlohmann::detail::output_stream_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12685
      start: 12681
    functionDepth: 1
    functionLinenumber: 12681
    functionLinenumberEnd: 12685
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12698
      start: 12696
    functionDepth: 0
    functionLinenumber: 12696
    functionLinenumberEnd: 12698
    functionName: nlohmann::detail::output_string_adapter::output_string_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_string_adapter(StringType& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12700
    functionDepth: 1
    functionLinenumber: 12700
    functionLinenumberEnd: 12703
    functionName: nlohmann::detail::output_string_adapter::write_character
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12709
      start: 12705
    functionDepth: 1
    functionLinenumber: 12705
    functionLinenumberEnd: 12709
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_vector_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12720
      start: 12719
    functionDepth: 0
    functionLinenumber: 12719
    functionLinenumberEnd: 12720
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_vector_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::vector<CharType>& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12723
      start: 12722
    functionDepth: 0
    functionLinenumber: 12722
    functionLinenumberEnd: 12723
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::basic_ostream<CharType>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12726
      start: 12725
    functionDepth: 0
    functionLinenumber: 12725
    functionLinenumberEnd: 12726
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_string_adapter<CharType, StringType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12731
      start: 12728
    functionDepth: 0
    functionLinenumber: 12728
    functionLinenumberEnd: 12731
    functionName: operator output_adapter_t<CharType>()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator output_adapter_t<CharType>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - output_adapter_t<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12767
      start: 12764
    functionDepth: 1
    functionLinenumber: 12764
    functionLinenumberEnd: 12767
    functionName: nlohmann::detail::binary_writer::binary_writer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void binary_writer(output_adapter_t<CharType> adapter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12775,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12779,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12788
      start: 12773
    functionDepth: 1
    functionLinenumber: 12773
    functionLinenumberEnd: 12788
    functionName: nlohmann::detail::binary_writer::write_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type
    - type_name
    - nlohmann::detail::binary_writer::write_bson_object
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void write_bson(const BasicJsonType& j)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12795,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12805,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12806,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12807,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: std::isnan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12907,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: std::isinf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12914,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12923,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12931,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12960,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12962,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12969,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13000,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13007,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13014,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13043,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13053,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13084,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13085,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 190
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13093
      start: 12793
    functionDepth: 1
    functionLinenumber: 12793
    functionLinenumberEnd: 13093
    functionName: nlohmann::detail::binary_writer::write_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - std::isinf
    - type
    - write_characters
    - nlohmann::detail::binary_writer::write_cbor
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void write_cbor(const BasicJsonType& j)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13100,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13110,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13111,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13112,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13228,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13235,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13261,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13263,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13270,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13292,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13301,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13304,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13373,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13383,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13405,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13406,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 182
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13414
      start: 13098
    functionDepth: 1
    functionLinenumber: 13098
    functionLinenumberEnd: 13414
    functionName: nlohmann::detail::binary_writer::write_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - type
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - static_cast<std::int8_t>
    - nlohmann::detail::binary_writer::write_msgpack
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - static_cast<std::int16_t>
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - static_cast<std::int64_t>
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    linkageType: ''
    returnType: void
    signature: void write_msgpack(const BasicJsonType& j)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13425,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13440,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13441,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13442,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13449,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13455,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13461,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13472,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13474,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13486,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13488,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13493,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13500,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13512,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13530,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13532,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13534,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13545,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13547,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13551,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13574,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13576,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13581,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13588,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13601,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13603,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13604,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 3
    argNames:
    - ' j'
    - use_count
    - use_type
    argTypes:
    - BasicJsonType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13422
    functionDepth: 1
    functionLinenumber: 13422
    functionLinenumberEnd: 13618
    functionName: nlohmann::detail::binary_writer::write_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const CharType*>
    - m_value::object::empty
    - first::c_str
    - end
    - front
    - m_value::array::empty
    - nlohmann::detail::binary_writer::to_char_type
    - first::size
    - m_value::binary::empty
    - type
    - write_characters
    - begin
    - std::all_of
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::array::size
    - JSON_ASSERT
    - m_value::binary::data
    - nlohmann::detail::binary_writer::write_ubjson
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - nlohmann::detail::binary_writer::ubjson_prefix
    linkageType: ''
    returnType: void
    signature: "void write_ubjson(const BasicJsonType& j, const bool use_count,\n
      \                     const bool use_type, const bool add_prefix = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13632,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13635,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13629
    functionDepth: 1
    functionLinenumber: 13629
    functionLinenumberEnd: 13639
    functionName: nlohmann::detail::binary_writer::calc_bson_entry_header_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - JSON_HEDLEY_UNLIKELY
    - find
    - static_cast<typename string_t::value_type>
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_entry_header_size(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13648,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - element_type
    argTypes:
    - string_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13651
      start: 13644
    functionDepth: 1
    functionLinenumber: 13644
    functionLinenumberEnd: 13651
    functionName: nlohmann::detail::binary_writer::write_bson_entry_header
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - c_str
    linkageType: ''
    returnType: void
    signature: "void write_bson_entry_header(const string_t& name,\n                                 const
      std::uint8_t element_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13661
      start: 13656
    functionDepth: 2
    functionLinenumber: 13656
    functionLinenumberEnd: 13661
    functionName: nlohmann::detail::binary_writer::write_bson_boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_boolean(const string_t& name,\n                            const
      bool value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13669,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13671
      start: 13666
    functionDepth: 2
    functionLinenumber: 13666
    functionLinenumberEnd: 13671
    functionName: nlohmann::detail::binary_writer::write_bson_double
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_double(const string_t& name,\n                           const
      double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13679
      start: 13676
    functionDepth: 1
    functionLinenumber: 13676
    functionLinenumberEnd: 13679
    functionName: nlohmann::detail::binary_writer::calc_bson_string_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_string_size(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13687,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13690,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13693
      start: 13684
    functionDepth: 2
    functionLinenumber: 13684
    functionLinenumberEnd: 13693
    functionName: nlohmann::detail::binary_writer::write_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - c_str
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_string(const string_t& name,\n                           const
      string_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13701
      start: 13698
    functionDepth: 2
    functionLinenumber: 13698
    functionLinenumberEnd: 13701
    functionName: nlohmann::detail::binary_writer::write_bson_null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: void write_bson_null(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13711
      start: 13706
    functionDepth: 0
    functionLinenumber: 13706
    functionLinenumberEnd: 13711
    functionName: nlohmann::detail::binary_writer::calc_bson_integer_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_integer_size(const std::int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13721,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13726,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13716
    functionDepth: 2
    functionLinenumber: 13716
    functionLinenumberEnd: 13729
    functionName: nlohmann::detail::binary_writer::write_bson_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_integer(const string_t& name,\n                            const
      std::int64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13739
      start: 13734
    functionDepth: 0
    functionLinenumber: 13734
    functionLinenumberEnd: 13739
    functionName: nlohmann::detail::binary_writer::calc_bson_unsigned_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13747,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13749,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13752,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13754,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13761
      start: 13744
    functionDepth: 2
    functionLinenumber: 13744
    functionLinenumberEnd: 13761
    functionName: nlohmann::detail::binary_writer::write_bson_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - std::to_string
    - JSON_THROW
    - static_cast<std::uint64_t>
    - nlohmann::detail::out_of_range::create
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_unsigned(const string_t& name,\n                             const
      std::uint64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13769,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13771
      start: 13766
    functionDepth: 2
    functionLinenumber: 13766
    functionLinenumberEnd: 13771
    functionName: nlohmann::detail::binary_writer::write_bson_object_entry
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_object
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_object_entry(const string_t& name,\n                                 const
      typename BasicJsonType::object_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13786
      start: 13776
    functionDepth: 1
    functionLinenumber: 13776
    functionLinenumberEnd: 13786
    functionName: nlohmann::detail::binary_writer::calc_bson_array_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    - std::to_string
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_array_size(const typename BasicJsonType::array_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13794
      start: 13791
    functionDepth: 1
    functionLinenumber: 13791
    functionLinenumberEnd: 13794
    functionName: nlohmann::detail::binary_writer::calc_bson_binary_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13802,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13813
      start: 13799
    functionDepth: 2
    functionLinenumber: 13799
    functionLinenumberEnd: 13813
    functionName: nlohmann::detail::binary_writer::write_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - std::to_string
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_array(const string_t& name,\n                          const
      typename BasicJsonType::array_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13821,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: std::uint8_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13827
      start: 13818
    functionDepth: 2
    functionLinenumber: 13818
    functionLinenumberEnd: 13827
    functionName: nlohmann::detail::binary_writer::write_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - std::uint8_t
    - subtype
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - data
    - has_subtype
    linkageType: ''
    returnType: void
    signature: "void write_bson_binary(const string_t& name,\n                           const
      binary_t& value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::calc_bson_entry_header_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13836,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13837,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13840,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13843,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_binary_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13846,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_integer_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13855,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_unsigned_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13858,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_string_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13861,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13872
      start: 13833
    functionDepth: 2
    functionLinenumber: 13833
    functionLinenumberEnd: 13872
    functionName: nlohmann::detail::binary_writer::calc_bson_element_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_entry_header_size
    - nlohmann::detail::binary_writer::calc_bson_unsigned_size
    - type
    - nlohmann::detail::binary_writer::calc_bson_integer_size
    - JSON_ASSERT
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - nlohmann::detail::binary_writer::calc_bson_string_size
    - nlohmann::detail::binary_writer::calc_bson_binary_size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t calc_bson_element_size(const string_t& name,\n            const
      BasicJsonType& j)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13884,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object_entry
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13887,1
    - Dst: nlohmann::detail::binary_writer::write_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13890,1
    - Dst: nlohmann::detail::binary_writer::write_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13893,1
    - Dst: nlohmann::detail::binary_writer::write_bson_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13896,1
    - Dst: nlohmann::detail::binary_writer::write_bson_double
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13899,1
    - Dst: nlohmann::detail::binary_writer::write_bson_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13902,1
    - Dst: nlohmann::detail::binary_writer::write_bson_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13905,1
    - Dst: nlohmann::detail::binary_writer::write_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13908,1
    - Dst: nlohmann::detail::binary_writer::write_bson_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13911,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13919
      start: 13881
    functionDepth: 3
    functionLinenumber: 13881
    functionLinenumberEnd: 13919
    functionName: nlohmann::detail::binary_writer::write_bson_element
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_integer
    - nlohmann::detail::binary_writer::write_bson_unsigned
    - JSON_ASSERT
    - type
    - nlohmann::detail::binary_writer::write_bson_boolean
    - nlohmann::detail::binary_writer::write_bson_null
    - nlohmann::detail::binary_writer::write_bson_object_entry
    - nlohmann::detail::binary_writer::write_bson_binary
    - nlohmann::detail::binary_writer::write_bson_string
    - nlohmann::detail::binary_writer::write_bson_double
    - nlohmann::detail::binary_writer::write_bson_array
    linkageType: ''
    returnType: void
    signature: "void write_bson_element(const string_t& name,\n                            const
      BasicJsonType& j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13936
      start: 13927
    functionDepth: 3
    functionLinenumber: 13927
    functionLinenumberEnd: 13936
    functionName: nlohmann::detail::binary_writer::calc_bson_object_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_object_size(const typename BasicJsonType::object_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13948,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13952
      start: 13942
    functionDepth: 4
    functionLinenumber: 13942
    functionLinenumberEnd: 13952
    functionName: nlohmann::detail::binary_writer::write_bson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: void write_bson_object(const typename BasicJsonType::object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13961
      start: 13958
    functionDepth: 1
    functionLinenumber: 13958
    functionLinenumberEnd: 13961
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13966
      start: 13963
    functionDepth: 1
    functionLinenumber: 13963
    functionLinenumberEnd: 13966
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(double /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13975
      start: 13972
    functionDepth: 1
    functionLinenumber: 13972
    functionLinenumberEnd: 13975
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13980
      start: 13977
    functionDepth: 1
    functionLinenumber: 13977
    functionLinenumberEnd: 13980
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13997
      start: 13989
    functionDepth: 1
    functionLinenumber: 13989
    functionLinenumberEnd: 13997
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14005,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14021,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14029,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14037,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14052,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14054,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14059
      start: 14002
    functionDepth: 1
    functionLinenumber: 14002
    functionLinenumberEnd: 14059
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::int64_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14116,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14118,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14124
      start: 14065
    functionDepth: 1
    functionLinenumber: 14065
    functionLinenumberEnd: 14124
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int8_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14131,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14167,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14171,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14175,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14179,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14183,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14207
      start: 14129
    functionDepth: 1
    functionLinenumber: 14129
    functionLinenumberEnd: 14207
    functionName: nlohmann::detail::binary_writer::ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - static_cast<std::uint64_t>
    - type
    linkageType: ''
    returnType: CharType
    signature: CharType ubjson_prefix(const BasicJsonType& j) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14209
    functionDepth: 0
    functionLinenumber: 14209
    functionLinenumberEnd: 14212
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14217
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14217
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::reverse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14249
      start: 14235
    functionDepth: 1
    functionLinenumber: 14235
    functionLinenumberEnd: 14249
    functionName: nlohmann::detail::binary_writer::write_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - std::memcpy
    - write_characters
    - std::array::data
    - std::array::end
    - std::reverse
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void write_number(const NumberType n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14257,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14264,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14265,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14266,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - format
    argTypes:
    - number_float_t
    - detail::input_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14269
      start: 14251
    functionDepth: 2
    functionLinenumber: 14251
    functionLinenumberEnd: 14269
    functionName: nlohmann::detail::binary_writer::write_compact_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::get_cbor_float_prefix
    - std::numeric_limits<float>::lowest
    - nlohmann::detail::binary_writer::get_msgpack_float_prefix
    - nlohmann::detail::binary_writer::write_number
    - static_cast<double>
    - write_character
    - static_cast<float>
    linkageType: ''
    returnType: void
    signature: void write_compact_float(const number_float_t n, detail::input_format_t
      format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14281
      start: 14278
    functionDepth: 0
    functionLinenumber: 14278
    functionLinenumberEnd: 14281
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14292
      start: 14285
    functionDepth: 0
    functionLinenumber: 14285
    functionLinenumberEnd: 14292
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14299
      start: 14296
    functionDepth: 0
    functionLinenumber: 14296
    functionLinenumberEnd: 14299
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - InputCharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14310
      start: 14307
    functionDepth: 0
    functionLinenumber: 14307
    functionLinenumberEnd: 14310
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(InputCharType x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - output_adapter_t<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12767
      start: 12764
    functionDepth: 1
    functionLinenumber: 12764
    functionLinenumberEnd: 12767
    functionName: nlohmann::detail::binary_writer::binary_writer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void binary_writer(output_adapter_t<CharType> adapter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12775,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12779,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12788
      start: 12773
    functionDepth: 5
    functionLinenumber: 12773
    functionLinenumberEnd: 12788
    functionName: nlohmann::detail::binary_writer::write_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type
    - type_name
    - nlohmann::detail::binary_writer::write_bson_object
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void write_bson(const BasicJsonType& j)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12795,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12805,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12806,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12807,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: std::isnan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12907,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: std::isinf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12914,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12923,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12931,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12960,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12962,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12969,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13000,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13007,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13014,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13043,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13053,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13084,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13085,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 190
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13093
      start: 12793
    functionDepth: 3
    functionLinenumber: 12793
    functionLinenumberEnd: 13093
    functionName: nlohmann::detail::binary_writer::write_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - std::isinf
    - type
    - write_characters
    - nlohmann::detail::binary_writer::write_cbor
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void write_cbor(const BasicJsonType& j)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13100,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13110,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13111,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13112,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13228,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13235,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13261,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13263,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13270,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13292,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13301,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13304,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13373,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13383,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13405,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13406,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 182
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13414
      start: 13098
    functionDepth: 3
    functionLinenumber: 13098
    functionLinenumberEnd: 13414
    functionName: nlohmann::detail::binary_writer::write_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - type
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - static_cast<std::int8_t>
    - nlohmann::detail::binary_writer::write_msgpack
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - static_cast<std::int16_t>
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - static_cast<std::int64_t>
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    linkageType: ''
    returnType: void
    signature: void write_msgpack(const BasicJsonType& j)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13425,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13440,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13441,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13442,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13449,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13455,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13461,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13472,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13474,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13486,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13488,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13493,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13500,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13512,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13530,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13532,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13534,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13545,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13547,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13551,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13574,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13576,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13581,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13588,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13601,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13603,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13604,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 3
    argNames:
    - ' j'
    - use_count
    - use_type
    argTypes:
    - BasicJsonType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13422
    functionDepth: 2
    functionLinenumber: 13422
    functionLinenumberEnd: 13618
    functionName: nlohmann::detail::binary_writer::write_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const CharType*>
    - m_value::object::empty
    - first::c_str
    - end
    - front
    - m_value::array::empty
    - nlohmann::detail::binary_writer::to_char_type
    - first::size
    - m_value::binary::empty
    - type
    - write_characters
    - begin
    - std::all_of
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::array::size
    - JSON_ASSERT
    - m_value::binary::data
    - nlohmann::detail::binary_writer::write_ubjson
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - nlohmann::detail::binary_writer::ubjson_prefix
    linkageType: ''
    returnType: void
    signature: "void write_ubjson(const BasicJsonType& j, const bool use_count,\n
      \                     const bool use_type, const bool add_prefix = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13632,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13635,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13629
    functionDepth: 1
    functionLinenumber: 13629
    functionLinenumberEnd: 13639
    functionName: nlohmann::detail::binary_writer::calc_bson_entry_header_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - JSON_HEDLEY_UNLIKELY
    - find
    - static_cast<typename string_t::value_type>
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_entry_header_size(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13648,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - element_type
    argTypes:
    - string_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13651
      start: 13644
    functionDepth: 1
    functionLinenumber: 13644
    functionLinenumberEnd: 13651
    functionName: nlohmann::detail::binary_writer::write_bson_entry_header
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - c_str
    linkageType: ''
    returnType: void
    signature: "void write_bson_entry_header(const string_t& name,\n                                 const
      std::uint8_t element_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13661
      start: 13656
    functionDepth: 2
    functionLinenumber: 13656
    functionLinenumberEnd: 13661
    functionName: nlohmann::detail::binary_writer::write_bson_boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_boolean(const string_t& name,\n                            const
      bool value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13669,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13671
      start: 13666
    functionDepth: 2
    functionLinenumber: 13666
    functionLinenumberEnd: 13671
    functionName: nlohmann::detail::binary_writer::write_bson_double
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_double(const string_t& name,\n                           const
      double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13679
      start: 13676
    functionDepth: 1
    functionLinenumber: 13676
    functionLinenumberEnd: 13679
    functionName: nlohmann::detail::binary_writer::calc_bson_string_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_string_size(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13687,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13690,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13693
      start: 13684
    functionDepth: 2
    functionLinenumber: 13684
    functionLinenumberEnd: 13693
    functionName: nlohmann::detail::binary_writer::write_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - c_str
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_string(const string_t& name,\n                           const
      string_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13701
      start: 13698
    functionDepth: 2
    functionLinenumber: 13698
    functionLinenumberEnd: 13701
    functionName: nlohmann::detail::binary_writer::write_bson_null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: void write_bson_null(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13711
      start: 13706
    functionDepth: 0
    functionLinenumber: 13706
    functionLinenumberEnd: 13711
    functionName: nlohmann::detail::binary_writer::calc_bson_integer_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_integer_size(const std::int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13721,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13726,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13716
    functionDepth: 2
    functionLinenumber: 13716
    functionLinenumberEnd: 13729
    functionName: nlohmann::detail::binary_writer::write_bson_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_integer(const string_t& name,\n                            const
      std::int64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13739
      start: 13734
    functionDepth: 0
    functionLinenumber: 13734
    functionLinenumberEnd: 13739
    functionName: nlohmann::detail::binary_writer::calc_bson_unsigned_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13747,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13749,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13752,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13754,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13761
      start: 13744
    functionDepth: 2
    functionLinenumber: 13744
    functionLinenumberEnd: 13761
    functionName: nlohmann::detail::binary_writer::write_bson_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - std::to_string
    - JSON_THROW
    - static_cast<std::uint64_t>
    - nlohmann::detail::out_of_range::create
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_unsigned(const string_t& name,\n                             const
      std::uint64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13769,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13771
      start: 13766
    functionDepth: 5
    functionLinenumber: 13766
    functionLinenumberEnd: 13771
    functionName: nlohmann::detail::binary_writer::write_bson_object_entry
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_object
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_object_entry(const string_t& name,\n                                 const
      typename BasicJsonType::object_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13786
      start: 13776
    functionDepth: 3
    functionLinenumber: 13776
    functionLinenumberEnd: 13786
    functionName: nlohmann::detail::binary_writer::calc_bson_array_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    - std::to_string
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_array_size(const typename BasicJsonType::array_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13794
      start: 13791
    functionDepth: 1
    functionLinenumber: 13791
    functionLinenumberEnd: 13794
    functionName: nlohmann::detail::binary_writer::calc_bson_binary_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13802,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13813
      start: 13799
    functionDepth: 4
    functionLinenumber: 13799
    functionLinenumberEnd: 13813
    functionName: nlohmann::detail::binary_writer::write_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - std::to_string
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_array(const string_t& name,\n                          const
      typename BasicJsonType::array_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13821,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: std::uint8_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13827
      start: 13818
    functionDepth: 2
    functionLinenumber: 13818
    functionLinenumberEnd: 13827
    functionName: nlohmann::detail::binary_writer::write_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - std::uint8_t
    - subtype
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - data
    - has_subtype
    linkageType: ''
    returnType: void
    signature: "void write_bson_binary(const string_t& name,\n                           const
      binary_t& value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::calc_bson_entry_header_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13836,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13837,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13840,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13843,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_binary_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13846,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_integer_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13855,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_unsigned_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13858,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_string_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13861,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13872
      start: 13833
    functionDepth: 4
    functionLinenumber: 13833
    functionLinenumberEnd: 13872
    functionName: nlohmann::detail::binary_writer::calc_bson_element_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_entry_header_size
    - nlohmann::detail::binary_writer::calc_bson_unsigned_size
    - type
    - nlohmann::detail::binary_writer::calc_bson_integer_size
    - JSON_ASSERT
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - nlohmann::detail::binary_writer::calc_bson_string_size
    - nlohmann::detail::binary_writer::calc_bson_binary_size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t calc_bson_element_size(const string_t& name,\n            const
      BasicJsonType& j)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13884,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object_entry
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13887,1
    - Dst: nlohmann::detail::binary_writer::write_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13890,1
    - Dst: nlohmann::detail::binary_writer::write_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13893,1
    - Dst: nlohmann::detail::binary_writer::write_bson_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13896,1
    - Dst: nlohmann::detail::binary_writer::write_bson_double
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13899,1
    - Dst: nlohmann::detail::binary_writer::write_bson_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13902,1
    - Dst: nlohmann::detail::binary_writer::write_bson_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13905,1
    - Dst: nlohmann::detail::binary_writer::write_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13908,1
    - Dst: nlohmann::detail::binary_writer::write_bson_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13911,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13919
      start: 13881
    functionDepth: 3
    functionLinenumber: 13881
    functionLinenumberEnd: 13919
    functionName: nlohmann::detail::binary_writer::write_bson_element
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_integer
    - nlohmann::detail::binary_writer::write_bson_unsigned
    - JSON_ASSERT
    - type
    - nlohmann::detail::binary_writer::write_bson_boolean
    - nlohmann::detail::binary_writer::write_bson_null
    - nlohmann::detail::binary_writer::write_bson_object_entry
    - nlohmann::detail::binary_writer::write_bson_binary
    - nlohmann::detail::binary_writer::write_bson_string
    - nlohmann::detail::binary_writer::write_bson_double
    - nlohmann::detail::binary_writer::write_bson_array
    linkageType: ''
    returnType: void
    signature: "void write_bson_element(const string_t& name,\n                            const
      BasicJsonType& j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13936
      start: 13927
    functionDepth: 3
    functionLinenumber: 13927
    functionLinenumberEnd: 13936
    functionName: nlohmann::detail::binary_writer::calc_bson_object_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_object_size(const typename BasicJsonType::object_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13948,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13952
      start: 13942
    functionDepth: 4
    functionLinenumber: 13942
    functionLinenumberEnd: 13952
    functionName: nlohmann::detail::binary_writer::write_bson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: void write_bson_object(const typename BasicJsonType::object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13961
      start: 13958
    functionDepth: 1
    functionLinenumber: 13958
    functionLinenumberEnd: 13961
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13966
      start: 13963
    functionDepth: 1
    functionLinenumber: 13963
    functionLinenumberEnd: 13966
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(double /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13975
      start: 13972
    functionDepth: 1
    functionLinenumber: 13972
    functionLinenumberEnd: 13975
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13980
      start: 13977
    functionDepth: 1
    functionLinenumber: 13977
    functionLinenumberEnd: 13980
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13997
      start: 13989
    functionDepth: 2
    functionLinenumber: 13989
    functionLinenumberEnd: 13997
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14005,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14021,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14029,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14037,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14052,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14054,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14059
      start: 14002
    functionDepth: 2
    functionLinenumber: 14002
    functionLinenumberEnd: 14059
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - static_cast<std::int64_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14116,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14118,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14124
      start: 14065
    functionDepth: 2
    functionLinenumber: 14065
    functionLinenumberEnd: 14124
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int8_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14131,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14167,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14171,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14175,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14179,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14183,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14207
      start: 14129
    functionDepth: 1
    functionLinenumber: 14129
    functionLinenumberEnd: 14207
    functionName: nlohmann::detail::binary_writer::ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - static_cast<std::uint64_t>
    - type
    linkageType: ''
    returnType: CharType
    signature: CharType ubjson_prefix(const BasicJsonType& j) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14209
    functionDepth: 0
    functionLinenumber: 14209
    functionLinenumberEnd: 14212
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14217
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14217
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::reverse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14249
      start: 14235
    functionDepth: 1
    functionLinenumber: 14235
    functionLinenumberEnd: 14249
    functionName: nlohmann::detail::binary_writer::write_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 25
    functionsReached:
    - std::memcpy
    - write_characters
    - std::array::data
    - std::array::end
    - std::reverse
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void write_number(const NumberType n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14257,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14264,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14265,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14266,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - format
    argTypes:
    - number_float_t
    - detail::input_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14269
      start: 14251
    functionDepth: 2
    functionLinenumber: 14251
    functionLinenumberEnd: 14269
    functionName: nlohmann::detail::binary_writer::write_compact_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_writer::get_cbor_float_prefix
    - std::numeric_limits<float>::lowest
    - nlohmann::detail::binary_writer::get_msgpack_float_prefix
    - nlohmann::detail::binary_writer::write_number
    - static_cast<double>
    - write_character
    - static_cast<float>
    linkageType: ''
    returnType: void
    signature: void write_compact_float(const number_float_t n, detail::input_format_t
      format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14281
      start: 14278
    functionDepth: 0
    functionLinenumber: 14278
    functionLinenumberEnd: 14281
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 28
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14292
      start: 14285
    functionDepth: 0
    functionLinenumber: 14285
    functionLinenumberEnd: 14292
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 28
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14299
      start: 14296
    functionDepth: 0
    functionLinenumber: 14296
    functionLinenumberEnd: 14299
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - InputCharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14310
      start: 14307
    functionDepth: 0
    functionLinenumber: 14307
    functionLinenumberEnd: 14310
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(InputCharType x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - output_adapter_t<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12767
      start: 12764
    functionDepth: 1
    functionLinenumber: 12764
    functionLinenumberEnd: 12767
    functionName: nlohmann::detail::binary_writer::binary_writer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void binary_writer(output_adapter_t<CharType> adapter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12775,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12779,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12788
      start: 12773
    functionDepth: 5
    functionLinenumber: 12773
    functionLinenumberEnd: 12788
    functionName: nlohmann::detail::binary_writer::write_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type
    - type_name
    - nlohmann::detail::binary_writer::write_bson_object
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void write_bson(const BasicJsonType& j)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12795,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12805,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12806,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12807,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: std::isnan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12907,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: std::isinf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12914,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12923,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12931,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12960,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12962,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12969,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13000,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13007,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13014,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13043,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13053,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13084,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13085,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 190
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13093
      start: 12793
    functionDepth: 3
    functionLinenumber: 12793
    functionLinenumberEnd: 13093
    functionName: nlohmann::detail::binary_writer::write_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - std::isinf
    - type
    - write_characters
    - nlohmann::detail::binary_writer::write_cbor
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void write_cbor(const BasicJsonType& j)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13100,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13110,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13111,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13112,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13228,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13235,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13261,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13263,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13270,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13292,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13301,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13304,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13373,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13383,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13405,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13406,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 182
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13414
      start: 13098
    functionDepth: 3
    functionLinenumber: 13098
    functionLinenumberEnd: 13414
    functionName: nlohmann::detail::binary_writer::write_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - type
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - static_cast<std::int8_t>
    - nlohmann::detail::binary_writer::write_msgpack
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - static_cast<std::int16_t>
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - static_cast<std::int64_t>
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    linkageType: ''
    returnType: void
    signature: void write_msgpack(const BasicJsonType& j)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13425,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13440,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13441,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13442,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13449,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13455,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13461,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13472,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13474,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13486,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13488,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13493,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13500,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13512,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13530,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13532,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13534,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13545,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13547,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13551,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13574,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13576,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13581,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13588,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13601,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13603,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13604,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 3
    argNames:
    - ' j'
    - use_count
    - use_type
    argTypes:
    - BasicJsonType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13422
    functionDepth: 2
    functionLinenumber: 13422
    functionLinenumberEnd: 13618
    functionName: nlohmann::detail::binary_writer::write_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const CharType*>
    - m_value::object::empty
    - first::c_str
    - end
    - front
    - m_value::array::empty
    - nlohmann::detail::binary_writer::to_char_type
    - first::size
    - m_value::binary::empty
    - type
    - write_characters
    - begin
    - std::all_of
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::array::size
    - JSON_ASSERT
    - m_value::binary::data
    - nlohmann::detail::binary_writer::write_ubjson
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - nlohmann::detail::binary_writer::ubjson_prefix
    linkageType: ''
    returnType: void
    signature: "void write_ubjson(const BasicJsonType& j, const bool use_count,\n
      \                     const bool use_type, const bool add_prefix = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13632,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13635,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13629
    functionDepth: 1
    functionLinenumber: 13629
    functionLinenumberEnd: 13639
    functionName: nlohmann::detail::binary_writer::calc_bson_entry_header_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - JSON_HEDLEY_UNLIKELY
    - find
    - static_cast<typename string_t::value_type>
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_entry_header_size(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13648,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - element_type
    argTypes:
    - string_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13651
      start: 13644
    functionDepth: 1
    functionLinenumber: 13644
    functionLinenumberEnd: 13651
    functionName: nlohmann::detail::binary_writer::write_bson_entry_header
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 18
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - c_str
    linkageType: ''
    returnType: void
    signature: "void write_bson_entry_header(const string_t& name,\n                                 const
      std::uint8_t element_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13661
      start: 13656
    functionDepth: 2
    functionLinenumber: 13656
    functionLinenumberEnd: 13661
    functionName: nlohmann::detail::binary_writer::write_bson_boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_boolean(const string_t& name,\n                            const
      bool value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13669,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13671
      start: 13666
    functionDepth: 2
    functionLinenumber: 13666
    functionLinenumberEnd: 13671
    functionName: nlohmann::detail::binary_writer::write_bson_double
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_double(const string_t& name,\n                           const
      double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13679
      start: 13676
    functionDepth: 1
    functionLinenumber: 13676
    functionLinenumberEnd: 13679
    functionName: nlohmann::detail::binary_writer::calc_bson_string_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_string_size(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13687,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13690,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13693
      start: 13684
    functionDepth: 2
    functionLinenumber: 13684
    functionLinenumberEnd: 13693
    functionName: nlohmann::detail::binary_writer::write_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - c_str
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_string(const string_t& name,\n                           const
      string_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13701
      start: 13698
    functionDepth: 2
    functionLinenumber: 13698
    functionLinenumberEnd: 13701
    functionName: nlohmann::detail::binary_writer::write_bson_null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: void write_bson_null(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13711
      start: 13706
    functionDepth: 0
    functionLinenumber: 13706
    functionLinenumberEnd: 13711
    functionName: nlohmann::detail::binary_writer::calc_bson_integer_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_integer_size(const std::int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13721,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13726,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13716
    functionDepth: 2
    functionLinenumber: 13716
    functionLinenumberEnd: 13729
    functionName: nlohmann::detail::binary_writer::write_bson_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_integer(const string_t& name,\n                            const
      std::int64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13739
      start: 13734
    functionDepth: 0
    functionLinenumber: 13734
    functionLinenumberEnd: 13739
    functionName: nlohmann::detail::binary_writer::calc_bson_unsigned_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13747,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13749,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13752,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13754,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13761
      start: 13744
    functionDepth: 2
    functionLinenumber: 13744
    functionLinenumberEnd: 13761
    functionName: nlohmann::detail::binary_writer::write_bson_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - std::to_string
    - JSON_THROW
    - static_cast<std::uint64_t>
    - nlohmann::detail::out_of_range::create
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_unsigned(const string_t& name,\n                             const
      std::uint64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13769,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13771
      start: 13766
    functionDepth: 5
    functionLinenumber: 13766
    functionLinenumberEnd: 13771
    functionName: nlohmann::detail::binary_writer::write_bson_object_entry
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_object
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_object_entry(const string_t& name,\n                                 const
      typename BasicJsonType::object_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13786
      start: 13776
    functionDepth: 3
    functionLinenumber: 13776
    functionLinenumberEnd: 13786
    functionName: nlohmann::detail::binary_writer::calc_bson_array_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    - std::to_string
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_array_size(const typename BasicJsonType::array_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13794
      start: 13791
    functionDepth: 1
    functionLinenumber: 13791
    functionLinenumberEnd: 13794
    functionName: nlohmann::detail::binary_writer::calc_bson_binary_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13802,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13813
      start: 13799
    functionDepth: 4
    functionLinenumber: 13799
    functionLinenumberEnd: 13813
    functionName: nlohmann::detail::binary_writer::write_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - std::to_string
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_array(const string_t& name,\n                          const
      typename BasicJsonType::array_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13821,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: std::uint8_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13827
      start: 13818
    functionDepth: 2
    functionLinenumber: 13818
    functionLinenumberEnd: 13827
    functionName: nlohmann::detail::binary_writer::write_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - std::uint8_t
    - subtype
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - data
    - has_subtype
    linkageType: ''
    returnType: void
    signature: "void write_bson_binary(const string_t& name,\n                           const
      binary_t& value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::calc_bson_entry_header_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13836,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13837,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13840,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13843,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_binary_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13846,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_integer_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13855,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_unsigned_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13858,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_string_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13861,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13872
      start: 13833
    functionDepth: 4
    functionLinenumber: 13833
    functionLinenumberEnd: 13872
    functionName: nlohmann::detail::binary_writer::calc_bson_element_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_entry_header_size
    - nlohmann::detail::binary_writer::calc_bson_unsigned_size
    - type
    - nlohmann::detail::binary_writer::calc_bson_integer_size
    - JSON_ASSERT
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - nlohmann::detail::binary_writer::calc_bson_string_size
    - nlohmann::detail::binary_writer::calc_bson_binary_size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t calc_bson_element_size(const string_t& name,\n            const
      BasicJsonType& j)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13884,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object_entry
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13887,1
    - Dst: nlohmann::detail::binary_writer::write_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13890,1
    - Dst: nlohmann::detail::binary_writer::write_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13893,1
    - Dst: nlohmann::detail::binary_writer::write_bson_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13896,1
    - Dst: nlohmann::detail::binary_writer::write_bson_double
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13899,1
    - Dst: nlohmann::detail::binary_writer::write_bson_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13902,1
    - Dst: nlohmann::detail::binary_writer::write_bson_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13905,1
    - Dst: nlohmann::detail::binary_writer::write_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13908,1
    - Dst: nlohmann::detail::binary_writer::write_bson_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13911,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13919
      start: 13881
    functionDepth: 3
    functionLinenumber: 13881
    functionLinenumberEnd: 13919
    functionName: nlohmann::detail::binary_writer::write_bson_element
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_integer
    - nlohmann::detail::binary_writer::write_bson_unsigned
    - JSON_ASSERT
    - type
    - nlohmann::detail::binary_writer::write_bson_boolean
    - nlohmann::detail::binary_writer::write_bson_null
    - nlohmann::detail::binary_writer::write_bson_object_entry
    - nlohmann::detail::binary_writer::write_bson_binary
    - nlohmann::detail::binary_writer::write_bson_string
    - nlohmann::detail::binary_writer::write_bson_double
    - nlohmann::detail::binary_writer::write_bson_array
    linkageType: ''
    returnType: void
    signature: "void write_bson_element(const string_t& name,\n                            const
      BasicJsonType& j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13936
      start: 13927
    functionDepth: 3
    functionLinenumber: 13927
    functionLinenumberEnd: 13936
    functionName: nlohmann::detail::binary_writer::calc_bson_object_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_object_size(const typename BasicJsonType::object_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13948,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13952
      start: 13942
    functionDepth: 4
    functionLinenumber: 13942
    functionLinenumberEnd: 13952
    functionName: nlohmann::detail::binary_writer::write_bson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: void write_bson_object(const typename BasicJsonType::object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13961
      start: 13958
    functionDepth: 1
    functionLinenumber: 13958
    functionLinenumberEnd: 13961
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13966
      start: 13963
    functionDepth: 1
    functionLinenumber: 13963
    functionLinenumberEnd: 13966
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(double /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13975
      start: 13972
    functionDepth: 1
    functionLinenumber: 13972
    functionLinenumberEnd: 13975
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13980
      start: 13977
    functionDepth: 1
    functionLinenumber: 13977
    functionLinenumberEnd: 13980
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13997
      start: 13989
    functionDepth: 2
    functionLinenumber: 13989
    functionLinenumberEnd: 13997
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14005,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14021,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14029,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14037,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14052,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14054,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14059
      start: 14002
    functionDepth: 2
    functionLinenumber: 14002
    functionLinenumberEnd: 14059
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14116,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14118,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14124
      start: 14065
    functionDepth: 2
    functionLinenumber: 14065
    functionLinenumberEnd: 14124
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int8_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14131,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14167,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14171,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14175,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14179,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14183,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14207
      start: 14129
    functionDepth: 1
    functionLinenumber: 14129
    functionLinenumberEnd: 14207
    functionName: nlohmann::detail::binary_writer::ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - static_cast<std::uint64_t>
    - type
    linkageType: ''
    returnType: CharType
    signature: CharType ubjson_prefix(const BasicJsonType& j) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14209
    functionDepth: 0
    functionLinenumber: 14209
    functionLinenumberEnd: 14212
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14217
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14217
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::reverse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14249
      start: 14235
    functionDepth: 1
    functionLinenumber: 14235
    functionLinenumberEnd: 14249
    functionName: nlohmann::detail::binary_writer::write_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 38
    functionsReached:
    - std::memcpy
    - write_characters
    - std::array::data
    - std::array::end
    - std::reverse
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void write_number(const NumberType n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14257,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14264,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14265,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14266,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - format
    argTypes:
    - number_float_t
    - detail::input_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14269
      start: 14251
    functionDepth: 2
    functionLinenumber: 14251
    functionLinenumberEnd: 14269
    functionName: nlohmann::detail::binary_writer::write_compact_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - nlohmann::detail::binary_writer::get_cbor_float_prefix
    - std::numeric_limits<float>::lowest
    - nlohmann::detail::binary_writer::get_msgpack_float_prefix
    - nlohmann::detail::binary_writer::write_number
    - static_cast<double>
    - write_character
    - static_cast<float>
    linkageType: ''
    returnType: void
    signature: void write_compact_float(const number_float_t n, detail::input_format_t
      format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14281
      start: 14278
    functionDepth: 0
    functionLinenumber: 14278
    functionLinenumberEnd: 14281
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 41
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14292
      start: 14285
    functionDepth: 0
    functionLinenumber: 14285
    functionLinenumberEnd: 14292
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 41
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14299
      start: 14296
    functionDepth: 0
    functionLinenumber: 14296
    functionLinenumberEnd: 14299
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - InputCharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14310
      start: 14307
    functionDepth: 0
    functionLinenumber: 14307
    functionLinenumberEnd: 14310
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(InputCharType x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - output_adapter_t<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12767
      start: 12764
    functionDepth: 1
    functionLinenumber: 12764
    functionLinenumberEnd: 12767
    functionName: nlohmann::detail::binary_writer::binary_writer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void binary_writer(output_adapter_t<CharType> adapter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12775,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12779,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12788
      start: 12773
    functionDepth: 5
    functionLinenumber: 12773
    functionLinenumberEnd: 12788
    functionName: nlohmann::detail::binary_writer::write_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - type
    - type_name
    - nlohmann::detail::binary_writer::write_bson_object
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void write_bson(const BasicJsonType& j)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12795,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12799,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12805,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12806,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12807,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12820,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12824,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12825,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12829,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12830,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12834,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12835,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12839,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12840,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12850,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12854,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12855,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12859,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12860,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12864,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12865,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12869,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12870,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12880,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12884,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12885,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12889,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12890,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12894,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12895,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12899,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12900,1
    - Dst: std::isnan
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12907,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12910,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12911,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12912,1
    - Dst: std::isinf
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12914,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12917,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12918,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12919,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12923,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12931,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12934,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12938,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12939,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12943,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12944,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12948,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12949,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12954,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12955,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12960,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12961,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12962,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12969,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12972,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12976,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12977,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12981,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12982,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12986,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12987,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12992,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:12993,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13000,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13007,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13010,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13014,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13017,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13021,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13022,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13026,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13027,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13031,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13032,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13037,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13038,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13043,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13044,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13053,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13056,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13060,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13061,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13065,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13066,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13070,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13071,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13076,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13077,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13084,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13085,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 190
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13093
      start: 12793
    functionDepth: 3
    functionLinenumber: 12793
    functionLinenumberEnd: 13093
    functionName: nlohmann::detail::binary_writer::write_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - std::isinf
    - type
    - write_characters
    - nlohmann::detail::binary_writer::write_cbor
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void write_cbor(const BasicJsonType& j)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13100,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13104,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13110,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13111,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13112,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13126,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13131,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13132,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13137,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13138,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13143,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13144,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13149,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13150,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13158,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13164,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13165,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13171,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13172,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13178,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13179,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13185,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13186,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13197,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13202,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13203,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13208,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13209,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13214,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13215,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13220,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13221,1
    - Dst: nlohmann::detail::binary_writer::write_compact_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13228,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13235,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13239,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13244,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13245,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13250,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13251,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13256,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13257,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13261,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13262,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13263,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13270,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13274,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13279,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13280,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13285,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13286,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13292,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13301,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13304,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13341,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13344,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13353,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13354,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13362,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13363,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13369,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13373,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13374,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13383,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13387,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13392,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13393,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13398,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13399,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13405,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13406,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 182
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13414
      start: 13098
    functionDepth: 3
    functionLinenumber: 13098
    functionLinenumberEnd: 13414
    functionName: nlohmann::detail::binary_writer::write_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const CharType*>
    - static_cast<std::uint16_t>
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - type
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint32_t>
    - m_value::binary::subtype
    - static_cast<std::int8_t>
    - nlohmann::detail::binary_writer::write_msgpack
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - static_cast<std::int16_t>
    - write_character
    - m_value::binary::has_subtype
    - static_cast<std::uint8_t>
    - m_value::array::size
    - static_cast<std::int64_t>
    - m_value::binary::data
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_compact_float
    linkageType: ''
    returnType: void
    signature: void write_msgpack(const BasicJsonType& j)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13425,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13431,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13440,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13441,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13442,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13449,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13455,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13461,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13469,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13471,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13472,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13473,1
    - Dst: m_value::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13474,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13482,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13486,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13488,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13489,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13490,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13493,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13499,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13500,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13506,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: m_value::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13507,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13512,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13517,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13527,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13530,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13532,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13533,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13534,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13539,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13540,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13545,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13546,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13547,1
    - Dst: m_value::binary::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13551,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13553,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: m_value::binary::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13554,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13560,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13570,1
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13574,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13576,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: front
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13577,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13578,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13581,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13587,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13588,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13594,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13595,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13600,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13601,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13602,1
    - Dst: first::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13603,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13604,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13609,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 3
    argNames:
    - ' j'
    - use_count
    - use_type
    argTypes:
    - BasicJsonType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13422
    functionDepth: 2
    functionLinenumber: 13422
    functionLinenumberEnd: 13618
    functionName: nlohmann::detail::binary_writer::write_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const CharType*>
    - m_value::object::empty
    - first::c_str
    - end
    - front
    - m_value::array::empty
    - nlohmann::detail::binary_writer::to_char_type
    - first::size
    - m_value::binary::empty
    - type
    - write_characters
    - begin
    - std::all_of
    - m_value::string::size
    - m_value::string::c_str
    - m_value::object::size
    - write_character
    - m_value::array::size
    - JSON_ASSERT
    - m_value::binary::data
    - nlohmann::detail::binary_writer::write_ubjson
    - m_value::binary::size
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - nlohmann::detail::binary_writer::ubjson_prefix
    linkageType: ''
    returnType: void
    signature: "void write_ubjson(const BasicJsonType& j, const bool use_count,\n
      \                     const bool use_type, const bool add_prefix = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13631,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13632,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13634,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13635,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13629
    functionDepth: 1
    functionLinenumber: 13629
    functionLinenumberEnd: 13639
    functionName: nlohmann::detail::binary_writer::calc_bson_entry_header_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    - JSON_HEDLEY_UNLIKELY
    - find
    - static_cast<typename string_t::value_type>
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_entry_header_size(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13648,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13649,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - element_type
    argTypes:
    - string_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13651
      start: 13644
    functionDepth: 1
    functionLinenumber: 13644
    functionLinenumberEnd: 13651
    functionName: nlohmann::detail::binary_writer::write_bson_entry_header
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 27
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - c_str
    linkageType: ''
    returnType: void
    signature: "void write_bson_entry_header(const string_t& name,\n                                 const
      std::uint8_t element_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13661
      start: 13656
    functionDepth: 2
    functionLinenumber: 13656
    functionLinenumberEnd: 13661
    functionName: nlohmann::detail::binary_writer::write_bson_boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_boolean(const string_t& name,\n                            const
      bool value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13669,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13671
      start: 13666
    functionDepth: 2
    functionLinenumber: 13666
    functionLinenumberEnd: 13671
    functionName: nlohmann::detail::binary_writer::write_bson_double
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_double(const string_t& name,\n                           const
      double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13679
      start: 13676
    functionDepth: 1
    functionLinenumber: 13676
    functionLinenumberEnd: 13679
    functionName: nlohmann::detail::binary_writer::calc_bson_string_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_string_size(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13687,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13689,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13690,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13693
      start: 13684
    functionDepth: 2
    functionLinenumber: 13684
    functionLinenumberEnd: 13693
    functionName: nlohmann::detail::binary_writer::write_bson_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - c_str
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_string(const string_t& name,\n                           const
      string_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13701
      start: 13698
    functionDepth: 2
    functionLinenumber: 13698
    functionLinenumberEnd: 13701
    functionName: nlohmann::detail::binary_writer::write_bson_null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: void write_bson_null(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13711
      start: 13706
    functionDepth: 0
    functionLinenumber: 13706
    functionLinenumberEnd: 13711
    functionName: nlohmann::detail::binary_writer::calc_bson_integer_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_integer_size(const std::int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13721,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13722,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13726,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13716
    functionDepth: 2
    functionLinenumber: 13716
    functionLinenumberEnd: 13729
    functionName: nlohmann::detail::binary_writer::write_bson_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_integer(const string_t& name,\n                            const
      std::int64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13739
      start: 13734
    functionDepth: 0
    functionLinenumber: 13734
    functionLinenumberEnd: 13739
    functionName: nlohmann::detail::binary_writer::calc_bson_unsigned_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13747,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13749,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13750,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13752,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13754,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13755,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13761
      start: 13744
    functionDepth: 2
    functionLinenumber: 13744
    functionLinenumberEnd: 13761
    functionName: nlohmann::detail::binary_writer::write_bson_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - std::to_string
    - JSON_THROW
    - static_cast<std::uint64_t>
    - nlohmann::detail::out_of_range::create
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_unsigned(const string_t& name,\n                             const
      std::uint64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13769,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13771
      start: 13766
    functionDepth: 5
    functionLinenumber: 13766
    functionLinenumberEnd: 13771
    functionName: nlohmann::detail::binary_writer::write_bson_object_entry
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_object
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_object_entry(const string_t& name,\n                                 const
      typename BasicJsonType::object_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13780,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13786
      start: 13776
    functionDepth: 3
    functionLinenumber: 13776
    functionLinenumberEnd: 13786
    functionName: nlohmann::detail::binary_writer::calc_bson_array_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    - std::to_string
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_array_size(const typename BasicJsonType::array_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13794
      start: 13791
    functionDepth: 1
    functionLinenumber: 13791
    functionLinenumberEnd: 13794
    functionName: nlohmann::detail::binary_writer::calc_bson_binary_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13802,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13803,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13809,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13813
      start: 13799
    functionDepth: 4
    functionLinenumber: 13799
    functionLinenumberEnd: 13813
    functionName: nlohmann::detail::binary_writer::write_bson_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - std::to_string
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: "void write_bson_array(const string_t& name,\n                          const
      typename BasicJsonType::array_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13821,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13823,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: std::uint8_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13824,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13827
      start: 13818
    functionDepth: 2
    functionLinenumber: 13818
    functionLinenumberEnd: 13827
    functionName: nlohmann::detail::binary_writer::write_bson_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    - reinterpret_cast<const CharType*>
    - std::uint8_t
    - subtype
    - write_characters
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - data
    - has_subtype
    linkageType: ''
    returnType: void
    signature: "void write_bson_binary(const string_t& name,\n                           const
      binary_t& value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::calc_bson_entry_header_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13836,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13837,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13840,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13843,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_binary_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13846,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_integer_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13855,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_unsigned_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13858,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_string_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13861,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13872
      start: 13833
    functionDepth: 4
    functionLinenumber: 13833
    functionLinenumberEnd: 13872
    functionName: nlohmann::detail::binary_writer::calc_bson_element_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_entry_header_size
    - nlohmann::detail::binary_writer::calc_bson_unsigned_size
    - type
    - nlohmann::detail::binary_writer::calc_bson_integer_size
    - JSON_ASSERT
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - nlohmann::detail::binary_writer::calc_bson_string_size
    - nlohmann::detail::binary_writer::calc_bson_binary_size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t calc_bson_element_size(const string_t& name,\n            const
      BasicJsonType& j)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13884,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object_entry
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13887,1
    - Dst: nlohmann::detail::binary_writer::write_bson_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13890,1
    - Dst: nlohmann::detail::binary_writer::write_bson_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13893,1
    - Dst: nlohmann::detail::binary_writer::write_bson_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13896,1
    - Dst: nlohmann::detail::binary_writer::write_bson_double
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13899,1
    - Dst: nlohmann::detail::binary_writer::write_bson_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13902,1
    - Dst: nlohmann::detail::binary_writer::write_bson_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13905,1
    - Dst: nlohmann::detail::binary_writer::write_bson_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13908,1
    - Dst: nlohmann::detail::binary_writer::write_bson_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13911,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13919
      start: 13881
    functionDepth: 3
    functionLinenumber: 13881
    functionLinenumberEnd: 13919
    functionName: nlohmann::detail::binary_writer::write_bson_element
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_integer
    - nlohmann::detail::binary_writer::write_bson_unsigned
    - JSON_ASSERT
    - type
    - nlohmann::detail::binary_writer::write_bson_boolean
    - nlohmann::detail::binary_writer::write_bson_null
    - nlohmann::detail::binary_writer::write_bson_object_entry
    - nlohmann::detail::binary_writer::write_bson_binary
    - nlohmann::detail::binary_writer::write_bson_string
    - nlohmann::detail::binary_writer::write_bson_double
    - nlohmann::detail::binary_writer::write_bson_array
    linkageType: ''
    returnType: void
    signature: "void write_bson_element(const string_t& name,\n                            const
      BasicJsonType& j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: std::size_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13929,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13936
      start: 13927
    functionDepth: 3
    functionLinenumber: 13927
    functionLinenumberEnd: 13936
    functionName: nlohmann::detail::binary_writer::calc_bson_object_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - begin
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - end
    - std::size_t
    - std::accumulate
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_object_size(const typename BasicJsonType::object_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13944,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13948,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13952
      start: 13942
    functionDepth: 4
    functionLinenumber: 13942
    functionLinenumberEnd: 13952
    functionName: nlohmann::detail::binary_writer::write_bson_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - write_character
    - nlohmann::detail::binary_writer::write_bson_element
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: void write_bson_object(const typename BasicJsonType::object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13961
      start: 13958
    functionDepth: 1
    functionLinenumber: 13958
    functionLinenumberEnd: 13961
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13966
      start: 13963
    functionDepth: 1
    functionLinenumber: 13963
    functionLinenumberEnd: 13966
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(double /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13975
      start: 13972
    functionDepth: 1
    functionLinenumber: 13972
    functionLinenumberEnd: 13975
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13980
      start: 13977
    functionDepth: 1
    functionLinenumber: 13977
    functionLinenumberEnd: 13980
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13994,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:13996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13997
      start: 13989
    functionDepth: 2
    functionLinenumber: 13989
    functionLinenumberEnd: 13997
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 10
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14005,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14009,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14011,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14017,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14019,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14021,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14025,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14027,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14029,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14033,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14035,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14037,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14041,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14043,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14049,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14052,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14053,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14054,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14059
      start: 14002
    functionDepth: 2
    functionLinenumber: 14002
    functionLinenumberEnd: 14059
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 11
    functionsReached:
    - static_cast<std::int64_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - static_cast<std::uint64_t>
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14072,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14074,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14076,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14080,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14082,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14088,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14090,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14096,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14098,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14104,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14106,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14113,1
    - Dst: BasicJsonType
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14116,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14117,1
    - Dst: auto::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14118,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14120,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14124
      start: 14065
    functionDepth: 2
    functionLinenumber: 14065
    functionLinenumberEnd: 14124
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - static_cast<std::int64_t>
    - static_cast<std::int8_t>
    - auto::size
    - static_cast<std::int32_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::int16_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14131,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14167,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14171,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14175,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14179,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14183,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14207
      start: 14129
    functionDepth: 1
    functionLinenumber: 14129
    functionLinenumberEnd: 14207
    functionName: nlohmann::detail::binary_writer::ubjson_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    - static_cast<std::uint64_t>
    - type
    linkageType: ''
    returnType: CharType
    signature: CharType ubjson_prefix(const BasicJsonType& j) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14209
    functionDepth: 0
    functionLinenumber: 14209
    functionLinenumberEnd: 14212
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14217
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14217
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14239,1
    - Dst: std::reverse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: std::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14245,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    - Dst: std::array::data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14249
      start: 14235
    functionDepth: 1
    functionLinenumber: 14235
    functionLinenumberEnd: 14249
    functionName: nlohmann::detail::binary_writer::write_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 51
    functionsReached:
    - std::memcpy
    - write_characters
    - std::array::data
    - std::array::end
    - std::reverse
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void write_number(const NumberType n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14253,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14254,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14255,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14257,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14258,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14259,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: static_cast<float>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14260,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14264,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14265,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14266,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - format
    argTypes:
    - number_float_t
    - detail::input_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14269
      start: 14251
    functionDepth: 2
    functionLinenumber: 14251
    functionLinenumberEnd: 14269
    functionName: nlohmann::detail::binary_writer::write_compact_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::detail::binary_writer::get_cbor_float_prefix
    - std::numeric_limits<float>::lowest
    - nlohmann::detail::binary_writer::get_msgpack_float_prefix
    - nlohmann::detail::binary_writer::write_number
    - static_cast<double>
    - write_character
    - static_cast<float>
    linkageType: ''
    returnType: void
    signature: void write_compact_float(const number_float_t n, detail::input_format_t
      format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14281
      start: 14278
    functionDepth: 0
    functionLinenumber: 14278
    functionLinenumberEnd: 14281
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 54
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14292
      start: 14285
    functionDepth: 0
    functionLinenumber: 14285
    functionLinenumberEnd: 14292
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 54
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14299
      start: 14296
    functionDepth: 0
    functionLinenumber: 14296
    functionLinenumberEnd: 14299
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - InputCharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14310
      start: 14307
    functionDepth: 0
    functionLinenumber: 14307
    functionLinenumberEnd: 14310
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(InputCharType x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: nlohmann::detail::dtoa_impl::compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: nlohmann::detail::dtoa_impl::compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 4
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::dtoa_impl::grisu2
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - nlohmann::detail::dtoa_impl::compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14387
      start: 14380
    functionDepth: 0
    functionLinenumber: 14380
    functionLinenumberEnd: 14387
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14396
      start: 14396
    functionDepth: 0
    functionLinenumber: 14396
    functionLinenumberEnd: 14396
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14404,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14408
      start: 14402
    functionDepth: 1
    functionLinenumber: 14402
    functionLinenumberEnd: 14408
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14414
    functionDepth: 0
    functionLinenumber: 14414
    functionLinenumberEnd: 14473
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14490
      start: 14479
    functionDepth: 1
    functionLinenumber: 14479
    functionLinenumberEnd: 14490
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14500,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14496
    functionDepth: 1
    functionLinenumber: 14496
    functionLinenumberEnd: 14504
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14523,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14524,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14543,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14549,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14550,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14574,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14576,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14577,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14580,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14583,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14586
      start: 14521
    functionDepth: 2
    functionLinenumber: 14521
    functionLinenumberEnd: 14586
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::diyfp
    - nlohmann::detail::dtoa_impl::normalize
    - std::isfinite
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14804,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14805,1
    - Dst: static_cast<int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14807,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14810,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: std::array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14811,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14813,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14814,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14818
      start: 14660
    functionDepth: 1
    functionLinenumber: 14660
    functionLinenumberEnd: 14818
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - std::array::size
    - static_cast<std::size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14878
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14878
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14883,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14884,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14885,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14886,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14880
    functionDepth: 1
    functionLinenumber: 14880
    functionLinenumberEnd: 14915
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14939,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14940,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14942,1
    - Dst: vector_sub
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14943,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14954,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14961,1
    - Dst: nlohmann::detail::dtoa_impl::find_largest_pow10
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14964,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14997,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:14998,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15034,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15084,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15095,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15104,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15105,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 14921
    functionDepth: 2
    functionLinenumber: 14921
    functionLinenumberEnd: 15154
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - static_cast<char>
    - nlohmann::detail::dtoa_impl::find_largest_pow10
    - JSON_ASSERT
    - static_cast<std::uint32_t>
    - nlohmann::detail::dtoa_impl::grisu2_round
    - vector_sub
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15165,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15166,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15177,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15182,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15183,1
    - Dst: nlohmann::detail::dtoa_impl::mul
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15184,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15213
      start: 15162
    functionDepth: 3
    functionLinenumber: 15162
    functionLinenumberEnd: 15213
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    - nlohmann::detail::dtoa_impl::mul
    - JSON_ASSERT
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15227,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15228,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: static_cast<double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15247,1
    - Dst: compute_boundaries
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15249,1
    - Dst: grisu2
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15253
      start: 15221
    functionDepth: 1
    functionLinenumber: 15221
    functionLinenumberEnd: 15253
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::isfinite
    - static_cast<double>
    - grisu2
    - compute_boundaries
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15264,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15265,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15277,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15283,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15287,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15289,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15293,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15295,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15301
      start: 15262
    functionDepth: 1
    functionLinenumber: 15262
    functionLinenumberEnd: 15301
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15317,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15318,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15332,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15336,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15344,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15346,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15348,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15356,1
    - Dst: std::memset
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15359,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15360,1
    - Dst: std::memmove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15375,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15377,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15382
      start: 15314
    functionDepth: 2
    functionLinenumber: 15314
    functionLinenumberEnd: 15382
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::memset
    - JSON_ASSERT
    - static_cast<size_t>
    - std::memmove
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15495,1
    - Dst: std::localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15496,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15497,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - ichar
    argTypes:
    - output_adapter_t<char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15502
      start: 15493
    functionDepth: 1
    functionLinenumber: 15493
    functionLinenumberEnd: 15502
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::localeconv
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: "void serializer(output_adapter_t<char> s, const char ichar,\n               error_handler_t
      error_handler_ = error_handler_t::strict)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15505
      start: 15505
    functionDepth: 0
    functionLinenumber: 15505
    functionLinenumberEnd: 15505
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15506
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15506
    functionName: '& operator=(const serializer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15507
      start: 15507
    functionDepth: 0
    functionLinenumber: 15507
    functionLinenumberEnd: 15507
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15508
      start: 15508
    functionDepth: 0
    functionLinenumber: 15508
    functionLinenumberEnd: 15508
    functionName: '& operator=(serializer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15509
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15509
    functionName: ~serializer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~serializer()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15543,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15545,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15551,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15561,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15562,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15565,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15566,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15567,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15568,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15569,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15576,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15577,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15578,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15579,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15581,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15583,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15587,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15590,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15591,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15593,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15594,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15595,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15596,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15597,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15603,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15604,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15605,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15606,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15608,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15616,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15618,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15624,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15634,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15635,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15638,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15639,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15649,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15653,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15656,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15657,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15660,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15667,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15675,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15676,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15677,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15685,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15696,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15698,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15700,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15701,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15703,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15704,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15709,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15712,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15713,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15719,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15721,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15723,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15727,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15729,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15731,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15732,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15734,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15735,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15740,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15741,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15744,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15748,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15758,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15762,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15769,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15775,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15781,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15787,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15793,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15798,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 164
    argCount: 4
    argNames:
    - ' val'
    - pretty_print
    - ensure_ascii
    - indent_step
    argTypes:
    - BasicJsonType
    - bool
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15533
    functionDepth: 1
    functionLinenumber: 15533
    functionLinenumberEnd: 15800
    functionName: nlohmann::detail::serializer::dump
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - m_value::object::empty
    - m_value::array::empty
    - m_value::binary::cend
    - std::next
    - m_value::object::cbegin
    - m_value::array::cend
    - m_value::object::cend
    - m_value::binary::empty
    - write_characters
    - m_value::binary::subtype
    - size
    - JSON_HEDLEY_UNLIKELY
    - m_value::object::size
    - m_value::array::back
    - write_character
    - m_value::binary::has_subtype
    - nlohmann::detail::serializer::dump_integer
    - c_str
    - m_value::binary::cbegin
    - m_value::array::cbegin
    - m_value::binary::back
    - nlohmann::detail::serializer::dump_float
    - JSON_ASSERT
    - nlohmann::detail::serializer::dump
    - nlohmann::detail::serializer::dump_escaped
    - resize
    linkageType: ''
    returnType: void
    signature: "void dump(const BasicJsonType& val,\n              const bool pretty_print,\n
      \             const bool ensure_ascii,\n              const unsigned int indent_step,\n
      \             const unsigned int current_indent = 0)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15827,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15829,1
    - Dst: nlohmann::detail::serializer::decode
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15831,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15894,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15895,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15900,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15901,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15902,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15919,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15938,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15972,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15973,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15974,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15980,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15997,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16016,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16050,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16054,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16060,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 139
    argCount: 2
    argNames:
    - ' s'
    - ensure_ascii
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16063
      start: 15817
    functionDepth: 1
    functionLinenumber: 15817
    functionLinenumberEnd: 16063
    functionName: nlohmann::detail::serializer::dump_escaped
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<std::uint16_t>
    - nlohmann::detail::type_error::create
    - JSON_ASSERT
    - nlohmann::detail::serializer::decode
    - write_characters
    - JSON_HEDLEY_LIKELY
    - back
    - std::to_string
    - data
    - JSON_THROW
    - std::string::size
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void dump_escaped(const string_t& s, const bool ensure_ascii)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16097
      start: 16073
    functionDepth: 0
    functionLinenumber: 16073
    functionLinenumberEnd: 16097
    functionName: nlohmann::detail::serializer::count_digits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_digits(number_unsigned_t x) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16134,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16139,1
    - Dst: nlohmann::detail::serializer::remove_sign
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16152,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16156,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16171,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16179,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16185,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16189
      start: 16113
    functionDepth: 1
    functionLinenumber: 16113
    functionLinenumberEnd: 16189
    functionName: nlohmann::detail::serializer::dump_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - nlohmann::detail::serializer::count_digits
    - static_cast<char>
    - begin
    - JSON_ASSERT
    - static_cast<unsigned>
    - write_characters
    - nlohmann::detail::serializer::remove_sign
    - static_cast<number_integer_t>
    - write_character
    - data
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: void
    signature: void dump_integer(NumberType x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16202,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16204,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    - Dst: std::integral_constant<bool, is_ieee_single_or_double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16199
    functionDepth: 1
    functionLinenumber: 16199
    functionLinenumberEnd: 16218
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - write_characters
    - std::integral_constant<bool, is_ieee_single_or_double>
    - nlohmann::detail::serializer::dump_float
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16222,1
    - Dst: ::nlohmann::detail::to_chars
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16226
      start: 16220
    functionDepth: 1
    functionLinenumber: 16220
    functionLinenumberEnd: 16226
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - ::nlohmann::detail::to_chars
    - write_characters
    - static_cast<size_t>
    - data
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16237,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: std::remove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16245,1
    - Dst: std::fill
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16248,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16255,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: std::none_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16275
      start: 16228
    functionDepth: 1
    functionLinenumber: 16228
    functionLinenumberEnd: 16275
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - begin
    - JSON_ASSERT
    - std::none_of
    - write_characters
    - end
    - static_cast<std::size_t>
    - std::remove
    - std::fill
    - data
    - find
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' state'
    - ' codep'
    - byte
    argTypes:
    - std::uint8_t
    - std::uint32_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16330
      start: 16298
    functionDepth: 1
    functionLinenumber: 16298
    functionLinenumberEnd: 16330
    functionName: nlohmann::detail::serializer::decode
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const
      std::uint8_t byte) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16341
      start: 16337
    functionDepth: 1
    functionLinenumber: 16337
    functionLinenumberEnd: 16341
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_unsigned_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16354,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16356
      start: 16352
    functionDepth: 1
    functionLinenumber: 16352
    functionLinenumberEnd: 16356
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_integer_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15495,1
    - Dst: std::localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15496,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15497,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - ichar
    argTypes:
    - output_adapter_t<char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15502
      start: 15493
    functionDepth: 1
    functionLinenumber: 15493
    functionLinenumberEnd: 15502
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::localeconv
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: "void serializer(output_adapter_t<char> s, const char ichar,\n               error_handler_t
      error_handler_ = error_handler_t::strict)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15505
      start: 15505
    functionDepth: 0
    functionLinenumber: 15505
    functionLinenumberEnd: 15505
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15506
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15506
    functionName: '& operator=(const serializer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15507
      start: 15507
    functionDepth: 0
    functionLinenumber: 15507
    functionLinenumberEnd: 15507
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15508
      start: 15508
    functionDepth: 0
    functionLinenumber: 15508
    functionLinenumberEnd: 15508
    functionName: '& operator=(serializer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15509
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15509
    functionName: ~serializer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~serializer()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15543,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15545,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15551,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15561,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15562,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15565,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15566,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15567,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15568,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15569,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15576,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15577,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15578,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15579,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15581,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15583,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15587,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15590,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15591,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15593,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15594,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15595,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15596,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15597,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15603,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15604,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15605,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15606,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15608,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15616,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15618,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15624,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15634,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15635,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15638,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15639,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15649,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15653,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15656,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15657,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15660,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15667,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15675,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15676,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15677,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15685,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15696,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15698,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15700,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15701,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15703,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15704,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15709,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15712,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15713,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15719,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15721,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15723,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15727,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15729,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15731,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15732,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15734,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15735,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15740,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15741,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15744,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15748,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15758,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15762,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15769,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15775,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15781,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15787,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15793,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15798,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 164
    argCount: 4
    argNames:
    - ' val'
    - pretty_print
    - ensure_ascii
    - indent_step
    argTypes:
    - BasicJsonType
    - bool
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15533
    functionDepth: 2
    functionLinenumber: 15533
    functionLinenumberEnd: 15800
    functionName: nlohmann::detail::serializer::dump
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - m_value::object::empty
    - m_value::array::empty
    - m_value::binary::cend
    - std::next
    - m_value::object::cbegin
    - m_value::array::cend
    - m_value::object::cend
    - m_value::binary::empty
    - write_characters
    - m_value::binary::subtype
    - size
    - JSON_HEDLEY_UNLIKELY
    - m_value::object::size
    - m_value::array::back
    - write_character
    - m_value::binary::has_subtype
    - nlohmann::detail::serializer::dump_integer
    - c_str
    - m_value::binary::cbegin
    - m_value::array::cbegin
    - m_value::binary::back
    - nlohmann::detail::serializer::dump_float
    - JSON_ASSERT
    - nlohmann::detail::serializer::dump
    - nlohmann::detail::serializer::dump_escaped
    - resize
    linkageType: ''
    returnType: void
    signature: "void dump(const BasicJsonType& val,\n              const bool pretty_print,\n
      \             const bool ensure_ascii,\n              const unsigned int indent_step,\n
      \             const unsigned int current_indent = 0)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15827,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15829,1
    - Dst: nlohmann::detail::serializer::decode
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15831,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15894,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15895,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15900,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15901,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15902,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15919,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15938,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15972,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15973,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15974,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15980,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15997,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16016,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16050,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16054,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16060,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 139
    argCount: 2
    argNames:
    - ' s'
    - ensure_ascii
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16063
      start: 15817
    functionDepth: 2
    functionLinenumber: 15817
    functionLinenumberEnd: 16063
    functionName: nlohmann::detail::serializer::dump_escaped
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<std::uint16_t>
    - nlohmann::detail::type_error::create
    - JSON_ASSERT
    - nlohmann::detail::serializer::decode
    - write_characters
    - JSON_HEDLEY_LIKELY
    - back
    - std::to_string
    - data
    - JSON_THROW
    - std::string::size
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void dump_escaped(const string_t& s, const bool ensure_ascii)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16097
      start: 16073
    functionDepth: 0
    functionLinenumber: 16073
    functionLinenumberEnd: 16097
    functionName: nlohmann::detail::serializer::count_digits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_digits(number_unsigned_t x) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16134,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16139,1
    - Dst: nlohmann::detail::serializer::remove_sign
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16152,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16156,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16171,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16179,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16185,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16189
      start: 16113
    functionDepth: 2
    functionLinenumber: 16113
    functionLinenumberEnd: 16189
    functionName: nlohmann::detail::serializer::dump_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - size
    - nlohmann::detail::serializer::count_digits
    - static_cast<char>
    - begin
    - JSON_ASSERT
    - static_cast<unsigned>
    - write_characters
    - nlohmann::detail::serializer::remove_sign
    - static_cast<number_integer_t>
    - write_character
    - data
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: void
    signature: void dump_integer(NumberType x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16202,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16204,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    - Dst: std::integral_constant<bool, is_ieee_single_or_double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16199
    functionDepth: 1
    functionLinenumber: 16199
    functionLinenumberEnd: 16218
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - write_characters
    - std::integral_constant<bool, is_ieee_single_or_double>
    - nlohmann::detail::serializer::dump_float
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16222,1
    - Dst: ::nlohmann::detail::to_chars
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16226
      start: 16220
    functionDepth: 1
    functionLinenumber: 16220
    functionLinenumberEnd: 16226
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - size
    - ::nlohmann::detail::to_chars
    - write_characters
    - static_cast<size_t>
    - data
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16237,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: std::remove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16245,1
    - Dst: std::fill
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16248,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16255,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: std::none_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16275
      start: 16228
    functionDepth: 1
    functionLinenumber: 16228
    functionLinenumberEnd: 16275
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - size
    - begin
    - JSON_ASSERT
    - std::none_of
    - write_characters
    - end
    - static_cast<std::size_t>
    - std::remove
    - std::fill
    - data
    - find
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' state'
    - ' codep'
    - byte
    argTypes:
    - std::uint8_t
    - std::uint32_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16330
      start: 16298
    functionDepth: 1
    functionLinenumber: 16298
    functionLinenumberEnd: 16330
    functionName: nlohmann::detail::serializer::decode
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const
      std::uint8_t byte) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16341
      start: 16337
    functionDepth: 1
    functionLinenumber: 16337
    functionLinenumberEnd: 16341
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_unsigned_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16354,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16356
      start: 16352
    functionDepth: 1
    functionLinenumber: 16352
    functionLinenumberEnd: 16356
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_integer_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15495,1
    - Dst: std::localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15496,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15497,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - ichar
    argTypes:
    - output_adapter_t<char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15502
      start: 15493
    functionDepth: 1
    functionLinenumber: 15493
    functionLinenumberEnd: 15502
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::localeconv
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: "void serializer(output_adapter_t<char> s, const char ichar,\n               error_handler_t
      error_handler_ = error_handler_t::strict)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15505
      start: 15505
    functionDepth: 0
    functionLinenumber: 15505
    functionLinenumberEnd: 15505
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15506
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15506
    functionName: '& operator=(const serializer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15507
      start: 15507
    functionDepth: 0
    functionLinenumber: 15507
    functionLinenumberEnd: 15507
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15508
      start: 15508
    functionDepth: 0
    functionLinenumber: 15508
    functionLinenumberEnd: 15508
    functionName: '& operator=(serializer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15509
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15509
    functionName: ~serializer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~serializer()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15543,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15545,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15551,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15561,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15562,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15565,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15566,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15567,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15568,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15569,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15576,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15577,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15578,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15579,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15581,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15583,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15587,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15590,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15591,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15593,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15594,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15595,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15596,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15597,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15603,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15604,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15605,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15606,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15608,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15616,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15618,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15624,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15634,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15635,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15638,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15639,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15649,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15653,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15656,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15657,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15660,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15667,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15675,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15676,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15677,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15685,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15696,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15698,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15700,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15701,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15703,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15704,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15709,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15712,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15713,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15719,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15721,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15723,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15727,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15729,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15731,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15732,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15734,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15735,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15740,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15741,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15744,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15748,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15758,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15762,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15769,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15775,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15781,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15787,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15793,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15798,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 164
    argCount: 4
    argNames:
    - ' val'
    - pretty_print
    - ensure_ascii
    - indent_step
    argTypes:
    - BasicJsonType
    - bool
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15533
    functionDepth: 2
    functionLinenumber: 15533
    functionLinenumberEnd: 15800
    functionName: nlohmann::detail::serializer::dump
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - m_value::object::empty
    - m_value::array::empty
    - m_value::binary::cend
    - std::next
    - m_value::object::cbegin
    - m_value::array::cend
    - m_value::object::cend
    - m_value::binary::empty
    - write_characters
    - m_value::binary::subtype
    - size
    - JSON_HEDLEY_UNLIKELY
    - m_value::object::size
    - m_value::array::back
    - write_character
    - m_value::binary::has_subtype
    - nlohmann::detail::serializer::dump_integer
    - c_str
    - m_value::binary::cbegin
    - m_value::array::cbegin
    - m_value::binary::back
    - nlohmann::detail::serializer::dump_float
    - JSON_ASSERT
    - nlohmann::detail::serializer::dump
    - nlohmann::detail::serializer::dump_escaped
    - resize
    linkageType: ''
    returnType: void
    signature: "void dump(const BasicJsonType& val,\n              const bool pretty_print,\n
      \             const bool ensure_ascii,\n              const unsigned int indent_step,\n
      \             const unsigned int current_indent = 0)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15827,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15829,1
    - Dst: nlohmann::detail::serializer::decode
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15831,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15894,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15895,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15900,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15901,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15902,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15919,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15938,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15972,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15973,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15974,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15980,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15997,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16016,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16050,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16054,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16060,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 139
    argCount: 2
    argNames:
    - ' s'
    - ensure_ascii
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16063
      start: 15817
    functionDepth: 2
    functionLinenumber: 15817
    functionLinenumberEnd: 16063
    functionName: nlohmann::detail::serializer::dump_escaped
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<std::uint16_t>
    - nlohmann::detail::type_error::create
    - JSON_ASSERT
    - nlohmann::detail::serializer::decode
    - write_characters
    - JSON_HEDLEY_LIKELY
    - back
    - std::to_string
    - data
    - JSON_THROW
    - std::string::size
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void dump_escaped(const string_t& s, const bool ensure_ascii)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16097
      start: 16073
    functionDepth: 0
    functionLinenumber: 16073
    functionLinenumberEnd: 16097
    functionName: nlohmann::detail::serializer::count_digits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_digits(number_unsigned_t x) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16134,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16139,1
    - Dst: nlohmann::detail::serializer::remove_sign
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16152,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16156,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16171,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16179,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16185,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16189
      start: 16113
    functionDepth: 2
    functionLinenumber: 16113
    functionLinenumberEnd: 16189
    functionName: nlohmann::detail::serializer::dump_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    - nlohmann::detail::serializer::count_digits
    - static_cast<char>
    - begin
    - JSON_ASSERT
    - static_cast<unsigned>
    - write_characters
    - nlohmann::detail::serializer::remove_sign
    - static_cast<number_integer_t>
    - write_character
    - data
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: void
    signature: void dump_integer(NumberType x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16202,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16204,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    - Dst: std::integral_constant<bool, is_ieee_single_or_double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16199
    functionDepth: 1
    functionLinenumber: 16199
    functionLinenumberEnd: 16218
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - write_characters
    - std::integral_constant<bool, is_ieee_single_or_double>
    - nlohmann::detail::serializer::dump_float
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16222,1
    - Dst: ::nlohmann::detail::to_chars
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16226
      start: 16220
    functionDepth: 1
    functionLinenumber: 16220
    functionLinenumberEnd: 16226
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - size
    - ::nlohmann::detail::to_chars
    - write_characters
    - static_cast<size_t>
    - data
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16237,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: std::remove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16245,1
    - Dst: std::fill
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16248,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16255,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: std::none_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16275
      start: 16228
    functionDepth: 1
    functionLinenumber: 16228
    functionLinenumberEnd: 16275
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - size
    - begin
    - JSON_ASSERT
    - std::none_of
    - write_characters
    - end
    - static_cast<std::size_t>
    - std::remove
    - std::fill
    - data
    - find
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' state'
    - ' codep'
    - byte
    argTypes:
    - std::uint8_t
    - std::uint32_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16330
      start: 16298
    functionDepth: 1
    functionLinenumber: 16298
    functionLinenumberEnd: 16330
    functionName: nlohmann::detail::serializer::decode
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const
      std::uint8_t byte) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16341
      start: 16337
    functionDepth: 1
    functionLinenumber: 16337
    functionLinenumberEnd: 16341
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_unsigned_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16354,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16356
      start: 16352
    functionDepth: 1
    functionLinenumber: 16352
    functionLinenumberEnd: 16356
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - JSON_ASSERT
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_integer_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15495,1
    - Dst: std::localeconv
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15496,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15497,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - ichar
    argTypes:
    - output_adapter_t<char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15502
      start: 15493
    functionDepth: 1
    functionLinenumber: 15493
    functionLinenumberEnd: 15502
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::localeconv
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: void
    signature: "void serializer(output_adapter_t<char> s, const char ichar,\n               error_handler_t
      error_handler_ = error_handler_t::strict)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15505
      start: 15505
    functionDepth: 0
    functionLinenumber: 15505
    functionLinenumberEnd: 15505
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15506
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15506
    functionName: '& operator=(const serializer&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15507
      start: 15507
    functionDepth: 0
    functionLinenumber: 15507
    functionLinenumberEnd: 15507
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15508
      start: 15508
    functionDepth: 0
    functionLinenumber: 15508
    functionLinenumberEnd: 15508
    functionName: '& operator=(serializer&&)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15509
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15509
    functionName: ~serializer()
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~serializer()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: m_value::object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15543,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15545,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15551,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15555,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15557,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15561,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15562,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15564,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15565,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15566,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15567,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15568,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15569,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15573,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15574,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15575,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15576,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15577,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15578,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15579,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15581,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15582,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15583,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15587,1
    - Dst: m_value::object::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15590,1
    - Dst: m_value::object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15591,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15593,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15594,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15595,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15596,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15597,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15601,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: std::next
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: m_value::object::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15602,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15603,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15604,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15605,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15606,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15608,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15616,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15618,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15624,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15628,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15630,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15634,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15635,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15637,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15638,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15639,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15643,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15644,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15645,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15647,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15648,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15649,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15653,1
    - Dst: m_value::array::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15656,1
    - Dst: m_value::array::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15657,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15659,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15660,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: m_value::array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15664,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: m_value::array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15665,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15667,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15675,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15676,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15677,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15685,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15689,1
    - Dst: resize
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15691,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15694,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15696,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15698,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15700,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15701,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15703,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15704,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15706,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15709,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15710,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15712,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15713,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15715,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15719,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15721,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: c_str
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15722,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15723,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15727,1
    - Dst: m_value::binary::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15729,1
    - Dst: m_value::binary::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15731,1
    - Dst: m_value::binary::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15732,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15734,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15735,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: m_value::binary::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15737,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15740,1
    - Dst: m_value::binary::has_subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15741,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: m_value::binary::subtype
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15743,1
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15744,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15748,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15758,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15762,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15769,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15775,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15781,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15787,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15793,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15798,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 164
    argCount: 4
    argNames:
    - ' val'
    - pretty_print
    - ensure_ascii
    - indent_step
    argTypes:
    - BasicJsonType
    - bool
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15533
    functionDepth: 2
    functionLinenumber: 15533
    functionLinenumberEnd: 15800
    functionName: nlohmann::detail::serializer::dump
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - m_value::object::empty
    - m_value::array::empty
    - m_value::binary::cend
    - std::next
    - m_value::object::cbegin
    - m_value::array::cend
    - m_value::object::cend
    - m_value::binary::empty
    - write_characters
    - m_value::binary::subtype
    - size
    - JSON_HEDLEY_UNLIKELY
    - m_value::object::size
    - m_value::array::back
    - write_character
    - m_value::binary::has_subtype
    - nlohmann::detail::serializer::dump_integer
    - c_str
    - m_value::binary::cbegin
    - m_value::array::cbegin
    - m_value::binary::back
    - nlohmann::detail::serializer::dump_float
    - JSON_ASSERT
    - nlohmann::detail::serializer::dump
    - nlohmann::detail::serializer::dump_escaped
    - resize
    linkageType: ''
    returnType: void
    signature: "void dump(const BasicJsonType& val,\n              const bool pretty_print,\n
      \             const bool ensure_ascii,\n              const unsigned int indent_step,\n
      \             const unsigned int current_indent = 0)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15827,1
    - Dst: static_cast<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15829,1
    - Dst: nlohmann::detail::serializer::decode
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15831,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15894,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15895,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15900,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15901,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15902,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15919,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15921,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15938,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15939,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15972,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15973,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15974,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15980,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15982,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:15997,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16016,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16021,1
    - Dst: std::string::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16032,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16033,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16039,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16046,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16050,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16054,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16060,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 139
    argCount: 2
    argNames:
    - ' s'
    - ensure_ascii
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16063
      start: 15817
    functionDepth: 2
    functionLinenumber: 15817
    functionLinenumberEnd: 16063
    functionName: nlohmann::detail::serializer::dump_escaped
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<std::uint16_t>
    - nlohmann::detail::type_error::create
    - JSON_ASSERT
    - nlohmann::detail::serializer::decode
    - write_characters
    - JSON_HEDLEY_LIKELY
    - back
    - std::to_string
    - data
    - JSON_THROW
    - std::string::size
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void dump_escaped(const string_t& s, const bool ensure_ascii)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16097
      start: 16073
    functionDepth: 0
    functionLinenumber: 16073
    functionLinenumberEnd: 16097
    functionName: nlohmann::detail::serializer::count_digits
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_digits(number_unsigned_t x) noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16134,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16139,1
    - Dst: nlohmann::detail::serializer::remove_sign
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16149,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16152,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16156,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16157,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16161,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16171,1
    - Dst: static_cast<unsigned>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16179,1
    - Dst: static_cast<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16185,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16189
      start: 16113
    functionDepth: 2
    functionLinenumber: 16113
    functionLinenumberEnd: 16189
    functionName: nlohmann::detail::serializer::dump_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - size
    - nlohmann::detail::serializer::count_digits
    - static_cast<char>
    - begin
    - JSON_ASSERT
    - static_cast<unsigned>
    - write_characters
    - nlohmann::detail::serializer::remove_sign
    - static_cast<number_integer_t>
    - write_character
    - data
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: void
    signature: void dump_integer(NumberType x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16202,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16204,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    - Dst: std::integral_constant<bool, is_ieee_single_or_double>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16199
    functionDepth: 1
    functionLinenumber: 16199
    functionLinenumberEnd: 16218
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - write_characters
    - std::integral_constant<bool, is_ieee_single_or_double>
    - nlohmann::detail::serializer::dump_float
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16222,1
    - Dst: ::nlohmann::detail::to_chars
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16223,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16226
      start: 16220
    functionDepth: 1
    functionLinenumber: 16220
    functionLinenumberEnd: 16226
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - size
    - ::nlohmann::detail::to_chars
    - write_characters
    - static_cast<size_t>
    - data
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16234,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16237,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16239,1
    - Dst: std::remove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16244,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16245,1
    - Dst: std::fill
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16246,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16247,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16248,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16254,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16255,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: data
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: static_cast<std::size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16261,1
    - Dst: std::none_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16265,1
    - Dst: write_characters
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16275
      start: 16228
    functionDepth: 1
    functionLinenumber: 16228
    functionLinenumberEnd: 16275
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - size
    - begin
    - JSON_ASSERT
    - std::none_of
    - write_characters
    - end
    - static_cast<std::size_t>
    - std::remove
    - std::fill
    - data
    - find
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: static_cast<size_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16326,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' state'
    - ' codep'
    - byte
    argTypes:
    - std::uint8_t
    - std::uint32_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16330
      start: 16298
    functionDepth: 1
    functionLinenumber: 16298
    functionLinenumberEnd: 16330
    functionName: nlohmann::detail::serializer::decode
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const
      std::uint8_t byte) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16341
      start: 16337
    functionDepth: 1
    functionLinenumber: 16337
    functionLinenumberEnd: 16341
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_unsigned_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16354,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16356
      start: 16352
    functionDepth: 1
    functionLinenumber: 16352
    functionLinenumberEnd: 16356
    functionName: nlohmann::detail::serializer::remove_sign
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_ASSERT
    - static_cast<number_unsigned_t>
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_integer_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16417
      start: 16417
    functionDepth: 0
    functionLinenumber: 16417
    functionLinenumberEnd: 16417
    functionName: nlohmann::ordered_map
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(const Allocator& alloc = Allocator())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - It
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16420
      start: 16419
    functionDepth: 0
    functionLinenumber: 16419
    functionLinenumberEnd: 16420
    functionName: nlohmann::ordered_map
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(It first, It last, const Allocator& alloc = Allocator())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16422
      start: 16421
    functionDepth: 0
    functionLinenumber: 16421
    functionLinenumberEnd: 16422
    functionName: nlohmann::ordered_map
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(std::initializer_list<T> init, const Allocator& alloc
      = Allocator() )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16426,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16426,1
    - Dst: emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16433,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - key_type
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16435
      start: 16424
    functionDepth: 1
    functionLinenumber: 16424
    functionLinenumberEnd: 16435
    functionName: nlohmann::emplace
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::begin
    - emplace_back
    - nlohmann::end
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(const key_type& key, T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16440
      start: 16437
    functionDepth: 2
    functionLinenumber: 16437
    functionLinenumberEnd: 16440
    functionName: '& operator[](const Key& key)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::emplace
    linkageType: ''
    returnType: T
    signature: T & operator[](const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16445
      start: 16442
    functionDepth: 1
    functionLinenumber: 16442
    functionLinenumberEnd: 16445
    functionName: '& operator[](const Key& key) const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: T
    signature: T & operator[](const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16449,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16449,1
    - Dst: std::out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16458
      start: 16447
    functionDepth: 1
    functionLinenumber: 16447
    functionLinenumberEnd: 16458
    functionName: '& at(const Key& key)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::begin
    - std::out_of_range
    - nlohmann::end
    linkageType: ''
    returnType: T
    signature: T & at(const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16462,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16462,1
    - Dst: std::out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16471
      start: 16460
    functionDepth: 1
    functionLinenumber: 16460
    functionLinenumberEnd: 16471
    functionName: '& at(const Key& key) const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::begin
    - std::out_of_range
    - nlohmann::end
    linkageType: ''
    returnType: T
    signature: T & at(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16475,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16475,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16480,1
    - Dst: auto::~value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16482,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16483,1
    - Dst: value_type::value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16483,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16490
      start: 16473
    functionDepth: 2
    functionLinenumber: 16473
    functionLinenumberEnd: 16490
    functionName: nlohmann::erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::~value_type
    - nlohmann::json_pointer::pop_back
    - std::move
    - nlohmann::begin
    - value_type::value_type
    - nlohmann::end
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16497,1
    - Dst: auto::~value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16499,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16500,1
    - Dst: value_type::value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16500,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16504
      start: 16492
    functionDepth: 2
    functionLinenumber: 16492
    functionLinenumberEnd: 16504
    functionName: nlohmann::erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::~value_type
    - nlohmann::json_pointer::pop_back
    - std::move
    - value_type::value_type
    - nlohmann::end
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16508,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16516
      start: 16506
    functionDepth: 1
    functionLinenumber: 16506
    functionLinenumberEnd: 16516
    functionName: nlohmann::count
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    linkageType: ''
    returnType: size_type
    signature: size_type count(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16520,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16520,1
    - Dst: path_append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16528
      start: 16518
    functionDepth: 1
    functionLinenumber: 16518
    functionLinenumberEnd: 16528
    functionName: nlohmann::find
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    - path_append
    linkageType: ''
    returnType: iterator
    signature: iterator find(const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16532,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16532,1
    - Dst: path_append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16540
      start: 16530
    functionDepth: 1
    functionLinenumber: 16530
    functionLinenumberEnd: 16540
    functionName: nlohmann::find
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    - path_append
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16544,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16545
      start: 16542
    functionDepth: 2
    functionLinenumber: 16542
    functionLinenumberEnd: 16545
    functionName: nlohmann::insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - nlohmann::emplace
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert( value_type&& value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16549,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16549,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16556,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16558
      start: 16547
    functionDepth: 2
    functionLinenumber: 16547
    functionLinenumberEnd: 16558
    functionName: nlohmann::insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert( const value_type& value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16417
      start: 16417
    functionDepth: 0
    functionLinenumber: 16417
    functionLinenumberEnd: 16417
    functionName: nlohmann::ordered_map
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(const Allocator& alloc = Allocator())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - It
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16420
      start: 16419
    functionDepth: 0
    functionLinenumber: 16419
    functionLinenumberEnd: 16420
    functionName: nlohmann::ordered_map
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(It first, It last, const Allocator& alloc = Allocator())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16422
      start: 16421
    functionDepth: 0
    functionLinenumber: 16421
    functionLinenumberEnd: 16422
    functionName: nlohmann::ordered_map
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(std::initializer_list<T> init, const Allocator& alloc
      = Allocator() )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16426,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16426,1
    - Dst: emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16433,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - key_type
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16435
      start: 16424
    functionDepth: 1
    functionLinenumber: 16424
    functionLinenumberEnd: 16435
    functionName: nlohmann::emplace
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::begin
    - emplace_back
    - nlohmann::end
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(const key_type& key, T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16440
      start: 16437
    functionDepth: 1
    functionLinenumber: 16437
    functionLinenumberEnd: 16440
    functionName: '& operator[](const Key& key)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: T
    signature: T & operator[](const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16445
      start: 16442
    functionDepth: 1
    functionLinenumber: 16442
    functionLinenumberEnd: 16445
    functionName: '& operator[](const Key& key) const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: T
    signature: T & operator[](const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16449,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16449,1
    - Dst: std::out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16458
      start: 16447
    functionDepth: 1
    functionLinenumber: 16447
    functionLinenumberEnd: 16458
    functionName: '& at(const Key& key)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - end
    - begin
    linkageType: ''
    returnType: T
    signature: T & at(const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16462,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16462,1
    - Dst: std::out_of_range
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16471
      start: 16460
    functionDepth: 1
    functionLinenumber: 16460
    functionLinenumberEnd: 16471
    functionName: '& at(const Key& key) const'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - end
    - begin
    linkageType: ''
    returnType: T
    signature: T & at(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16475,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16475,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16480,1
    - Dst: auto::~value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16482,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16483,1
    - Dst: value_type::value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16483,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16490
      start: 16473
    functionDepth: 2
    functionLinenumber: 16473
    functionLinenumberEnd: 16490
    functionName: nlohmann::erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::~value_type
    - nlohmann::json_pointer::pop_back
    - std::move
    - nlohmann::begin
    - value_type::value_type
    - nlohmann::end
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16497,1
    - Dst: auto::~value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16499,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16500,1
    - Dst: value_type::value_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16500,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16504
      start: 16492
    functionDepth: 2
    functionLinenumber: 16492
    functionLinenumberEnd: 16504
    functionName: nlohmann::erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - auto::~value_type
    - nlohmann::json_pointer::pop_back
    - std::move
    - value_type::value_type
    - nlohmann::end
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16508,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16516
      start: 16506
    functionDepth: 1
    functionLinenumber: 16506
    functionLinenumberEnd: 16516
    functionName: nlohmann::count
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    linkageType: ''
    returnType: size_type
    signature: size_type count(const Key& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16520,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16520,1
    - Dst: path_append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16528
      start: 16518
    functionDepth: 1
    functionLinenumber: 16518
    functionLinenumberEnd: 16528
    functionName: nlohmann::find
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    - path_append
    linkageType: ''
    returnType: iterator
    signature: iterator find(const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16532,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16532,1
    - Dst: path_append
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16540
      start: 16530
    functionDepth: 1
    functionLinenumber: 16530
    functionLinenumberEnd: 16540
    functionName: nlohmann::find
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    - path_append
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const Key& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16544,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16545
      start: 16542
    functionDepth: 2
    functionLinenumber: 16542
    functionLinenumberEnd: 16545
    functionName: nlohmann::insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - nlohmann::emplace
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert( value_type&& value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16549,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16549,1
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16556,1
    - Dst: nlohmann::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16558
      start: 16547
    functionDepth: 2
    functionLinenumber: 16547
    functionLinenumberEnd: 16558
    functionName: nlohmann::insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::begin
    - nlohmann::end
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert( const value_type& value )
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: ::nlohmann::detail::parser<basic_json, InputAdapterType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16692,1
    - Dst: allocator_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16801,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16839,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16840,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16841,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16879,1
    - Dst: AllocatorTraits::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17413,1
    - Dst: AllocatorTraits::allocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17415,1
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::unique_ptr::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17417,1
    - Dst: std::unique_ptr::release
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17418,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17486,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17492,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17498,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17504,1
    - Dst: boolean_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17510,1
    - Dst: number_integer_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17516,1
    - Dst: number_unsigned_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17522,1
    - Dst: number_float_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17528,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17541,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17553,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17565,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17577,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17589,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17601,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: std::unique_ptr::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17630,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17634,1
    - Dst: basic_json::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17638,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17641,1
    - Dst: basic_json::m_value::array::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17643,1
    - Dst: basic_json::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17645,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: basic_json::m_value::object::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17652,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17664,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17665,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17672,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17673,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17680,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17681,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17688,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17689,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17712,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17713,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17714,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17715,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17833,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17857,1
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17927,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::declval<basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17929,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17932,1
    - Dst: nlohmann::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17975,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: template get<other_boolean_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: template get<other_number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: template get<other_number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: template get<other_number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: template get_ref<const other_string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: template get_ref<const other_object_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: template get_ref<const other_array_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: template get_ref<const other_binary_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18008,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18010,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: nlohmann::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: nlohmann::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18109,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: std::for_each
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18123,1
    - Dst: object::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18124,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18125,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18126,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18136,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18169,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18206,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18208,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18216,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18218,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18226,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18272,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18316,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18344,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18345,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18408,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18409,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18412,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: m_it::primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: m_it::primitive_iterator::is_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18430,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18475,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18482,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: m_object::type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18498,1
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18509,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18540,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18596,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18627,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18630,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18636,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18670,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18673,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18674,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18676,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18697,1
    - Dst: nlohmann::destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18698,1
    - Dst: s
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18765,1
    - Dst: detail::output_adapter<char, string_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18765,1
    - Dst: dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18769,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18769,1
    - Dst: dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18773,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 372
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18777
      start: 16656
    functionDepth: 2
    functionLinenumber: 16656
    functionLinenumberEnd: 18777
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - template get<other_number_unsigned_t>
    - moved_or_copied
    - detail::output_adapter<char, string_t>
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - dump
    - proj_context_destroy
    - static_cast<unsigned int>
    - end
    - std::unique_ptr::get
    - number_unsigned_t
    - std::vector::reserve
    - nlohmann::detail::construct
    - ::nlohmann::detail::parser<basic_json, InputAdapterType>
    - m_object::type_name
    - AllocatorTraits::deallocate
    - AllocatorTraits::allocate
    - std::vector::empty
    - std::allocator_traits<decltype(alloc)>::deallocate
    - basic_json::m_value::array::end
    - std::move
    - basic_json::m_value::array::begin
    - template get<other_number_float_t>
    - template get_ref<const other_string_t&>
    - nlohmann::create
    - nlohmann::destroy
    - std::vector::back
    - noexcept
    - std::declval<basic_json_t&>
    - std::unique_ptr::size
    - std::string
    - allocator_type
    - s
    - object::emplace
    - number_integer_t
    - size
    - std::for_each
    - begin
    - std::all_of
    - nlohmann::detail::other_error::create
    - std::vector::pop_back
    - std::vector::push_back
    - basic_json::is_array
    - JSON_HEDLEY_UNLIKELY
    - basic_json::m_value::object::clear
    - binary_t
    - nlohmann::type
    - swap
    - nlohmann::assert_invariant
    - m_it::primitive_iterator::is_end
    - std::to_string
    - JSON_THROW
    - nlohmann::basic_json
    - template get<other_boolean_t>
    - std::forward<CompatibleType>
    - JSON_ASSERT
    - std::unique_ptr::release
    - boolean_t
    - template get<other_number_integer_t>
    - template get_ref<const other_array_t&>
    - basic_json::m_value::array::clear
    - template get_ref<const other_binary_t&>
    - nlohmann::is_array
    - nlohmann::is_string
    - nlohmann::detail::to_json
    - std::back_inserter
    - m_it::primitive_iterator::is_begin
    - number_float_t
    - basic_json::is_object
    - template get_ref<const other_object_t&>
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION basic_json
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::nlohmann::detail::parser<basic_json, InputAdapterType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16693
      start: 16684
    functionDepth: 0
    functionLinenumber: 16684
    functionLinenumberEnd: 16693
    functionName: nlohmann::parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - ::nlohmann::detail::parser<basic_json, InputAdapterType>
    linkageType: ''
    returnType: ::nlohmann::detail::parser<basic_json, InputAdapterType>
    signature: "::nlohmann::detail::parser<basic_json, InputAdapterType> parser(\n
      \       InputAdapterType adapter,\n        detail::parser_callback_t<basic_json>cb
      = nullptr,\n        const bool allow_exceptions = true,\n        const bool
      ignore_comments = false\n                                 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16802
      start: 16799
    functionDepth: 0
    functionLinenumber: 16799
    functionLinenumberEnd: 16802
    functionName: nlohmann::get_allocator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - allocator_type
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16839,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16840,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16841,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16884
      start: 16830
    functionDepth: 0
    functionLinenumber: 16830
    functionLinenumberEnd: 16884
    functionName: nlohmann::meta
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT meta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocatorTraits::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17413,1
    - Dst: AllocatorTraits::allocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17415,1
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::unique_ptr::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17417,1
    - Dst: std::unique_ptr::release
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17419
      start: 17401
    functionDepth: 2
    functionLinenumber: 17401
    functionLinenumberEnd: 17419
    functionName: nlohmann::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - JSON_ASSERT
    - std::unique_ptr::release
    - std::unique_ptr::get
    - nlohmann::detail::construct
    - AllocatorTraits::deallocate
    - AllocatorTraits::allocate
    linkageType: ''
    returnType: "private:\n\n    /// helper for exception-safe object creation\n    template<typename
      T, typename... Args>"
    signature: "private:\n\n    /// helper for exception-safe object creation\n    template<typename
      T, typename... Args> * create(Args&& ... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17470
      start: 17470
    functionDepth: 0
    functionLinenumber: 17470
    functionLinenumberEnd: 17470
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17472
      start: 17472
    functionDepth: 0
    functionLinenumber: 17472
    functionLinenumberEnd: 17472
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(boolean_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17474
      start: 17474
    functionDepth: 0
    functionLinenumber: 17474
    functionLinenumberEnd: 17474
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_integer_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17476
      start: 17476
    functionDepth: 0
    functionLinenumber: 17476
    functionLinenumberEnd: 17476
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_unsigned_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17478
      start: 17478
    functionDepth: 0
    functionLinenumber: 17478
    functionLinenumberEnd: 17478
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_float_t v) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17486,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17492,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17498,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17504,1
    - Dst: boolean_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17510,1
    - Dst: number_integer_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17516,1
    - Dst: number_unsigned_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17522,1
    - Dst: number_float_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17528,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17541,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - t
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17548
      start: 17480
    functionDepth: 3
    functionLinenumber: 17480
    functionLinenumberEnd: 17548
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::other_error::create
    - boolean_t
    - nlohmann::create
    - JSON_HEDLEY_UNLIKELY
    - number_float_t
    - number_unsigned_t
    - JSON_THROW
    - number_integer_t
    linkageType: ''
    returnType: void
    signature: void json_value(value_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17554
      start: 17551
    functionDepth: 3
    functionLinenumber: 17551
    functionLinenumberEnd: 17554
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17560
      start: 17557
    functionDepth: 3
    functionLinenumber: 17557
    functionLinenumberEnd: 17560
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(string_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17566
      start: 17563
    functionDepth: 3
    functionLinenumber: 17563
    functionLinenumberEnd: 17566
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17569
    functionDepth: 3
    functionLinenumber: 17569
    functionLinenumberEnd: 17572
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(object_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17578
      start: 17575
    functionDepth: 3
    functionLinenumber: 17575
    functionLinenumberEnd: 17578
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const array_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17584
      start: 17581
    functionDepth: 3
    functionLinenumber: 17581
    functionLinenumberEnd: 17584
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(array_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17590
      start: 17587
    functionDepth: 3
    functionLinenumber: 17587
    functionLinenumberEnd: 17590
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const typename binary_t::container_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17596
      start: 17593
    functionDepth: 3
    functionLinenumber: 17593
    functionLinenumberEnd: 17596
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(typename binary_t::container_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17602
      start: 17599
    functionDepth: 3
    functionLinenumber: 17599
    functionLinenumberEnd: 17602
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const binary_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17608
      start: 17605
    functionDepth: 3
    functionLinenumber: 17605
    functionLinenumberEnd: 17608
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(binary_t&& value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17630,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17634,1
    - Dst: basic_json::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17638,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17641,1
    - Dst: basic_json::m_value::array::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17643,1
    - Dst: basic_json::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17645,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: basic_json::m_value::object::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17652,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17664,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17665,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17672,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17673,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17680,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17681,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17688,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17689,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - t
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17698
      start: 17610
    functionDepth: 2
    functionLinenumber: 17610
    functionLinenumberEnd: 17698
    functionName: nlohmann::destroy
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - std::allocator_traits<decltype(alloc)>::deallocate
    - begin
    - basic_json::m_value::array::end
    - std::vector::pop_back
    - std::move
    - basic_json::m_value::array::begin
    - std::vector::push_back
    - end
    - basic_json::is_array
    - basic_json::m_value::array::clear
    - std::vector::back
    - basic_json::m_value::object::clear
    - std::back_inserter
    - proj_context_destroy
    - std::vector::reserve
    - basic_json::is_object
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void destroy(value_t t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17712,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17713,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17714,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17716
      start: 17710
    functionDepth: 1
    functionLinenumber: 17710
    functionLinenumberEnd: 17716
    functionName: nlohmann::assert_invariant
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void assert_invariant() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17834
      start: 17830
    functionDepth: 2
    functionLinenumber: 17830
    functionLinenumberEnd: 17834
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(const value_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17858
      start: 17854
    functionDepth: 2
    functionLinenumber: 17854
    functionLinenumberEnd: 17858
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(std::nullptr_t = nullptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17927,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::declval<basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17929,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - CompatibleType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17933
      start: 17927
    functionDepth: 2
    functionLinenumber: 17927
    functionLinenumberEnd: 17933
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<CompatibleType>
    - noexcept
    - nlohmann::detail::to_json
    - std::declval<basic_json_t&>
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: "void basic_json(CompatibleType && val) noexcept(noexcept(\n                JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),\n
      \                                          std::forward<CompatibleType>(val))))"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17975,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: template get<other_boolean_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: template get<other_number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: template get<other_number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: template get<other_number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: template get_ref<const other_string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: template get_ref<const other_object_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: template get_ref<const other_array_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: template get_ref<const other_binary_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18008,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18010,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18011
      start: 17964
    functionDepth: 2
    functionLinenumber: 17964
    functionLinenumberEnd: 18011
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - template get<other_number_unsigned_t>
    - template get<other_boolean_t>
    - JSON_ASSERT
    - template get<other_number_integer_t>
    - template get_ref<const other_string_t&>
    - template get<other_number_float_t>
    - template get_ref<const other_array_t&>
    - template get_ref<const other_binary_t&>
    - nlohmann::detail::to_json
    - nlohmann::type
    - nlohmann::assert_invariant
    - template get_ref<const other_object_t&>
    linkageType: ''
    returnType: void
    signature: void basic_json(const BasicJsonType& val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: nlohmann::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: nlohmann::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18109,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: std::for_each
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18123,1
    - Dst: object::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18124,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18125,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18126,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18137
      start: 18087
    functionDepth: 3
    functionLinenumber: 18087
    functionLinenumberEnd: 18137
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - std::for_each
    - moved_or_copied
    - nlohmann::detail::type_error::create
    - std::all_of
    - nlohmann::is_string
    - std::move
    - nlohmann::is_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::create
    - initializer_list_t::begin
    - nlohmann::assert_invariant
    - JSON_THROW
    - initializer_list_t::end
    - object::emplace
    linkageType: ''
    returnType: void
    signature: "void basic_json(initializer_list_t init,\n               bool type_deduction
      = true,\n               value_t manual_type = value_t::array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18173
      start: 18166
    functionDepth: 3
    functionLinenumber: 18166
    functionLinenumberEnd: 18173
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(const typename binary_t::container_type&
      init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18206,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' init'
    - subtype
    argTypes:
    - typename binary_t::container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18210
      start: 18203
    functionDepth: 3
    functionLinenumber: 18203
    functionLinenumberEnd: 18210
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    - binary_t
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(const typename binary_t::container_type&
      init, std::uint8_t subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18216,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18220
      start: 18213
    functionDepth: 3
    functionLinenumber: 18213
    functionLinenumberEnd: 18220
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(typename binary_t::container_type&&
      init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18226,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' init'
    - subtype
    argTypes:
    - typename binary_t::container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18230
      start: 18223
    functionDepth: 3
    functionLinenumber: 18223
    functionLinenumberEnd: 18230
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::basic_json
    - binary_t
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(typename binary_t::container_type&&
      init, std::uint8_t subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18273
      start: 18269
    functionDepth: 3
    functionLinenumber: 18269
    functionLinenumberEnd: 18273
    functionName: nlohmann::array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT array(initializer_list_t init = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18317
      start: 18313
    functionDepth: 3
    functionLinenumber: 18313
    functionLinenumberEnd: 18317
    functionName: nlohmann::object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT object(initializer_list_t init = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18344,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cnt
    - ' val'
    argTypes:
    - size_type
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18346
      start: 18341
    functionDepth: 3
    functionLinenumber: 18341
    functionLinenumberEnd: 18346
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::create
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(size_type cnt, const basic_json& val)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18408,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18409,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18412,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: InputIT::m_it::primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: InputIT::m_it::primitive_iterator::is_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18430,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18475,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18482,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: InputIT::m_object::type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIT
    - InputIT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18499
      start: 18406
    functionDepth: 3
    functionLinenumber: 18406
    functionLinenumberEnd: 18499
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::create
    - InputIT::m_it::primitive_iterator::is_end
    - nlohmann::assert_invariant
    - std::string
    - JSON_THROW
    - InputIT::m_it::primitive_iterator::is_begin
    - InputIT::m_object::type_name
    linkageType: ''
    returnType: void
    signature: void basic_json(InputIT first, InputIT last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - JsonRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18509
      start: 18509
    functionDepth: 0
    functionLinenumber: 18509
    functionLinenumberEnd: 18509
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - moved_or_copied
    linkageType: ''
    returnType: void
    signature: void basic_json(const JsonRef& ref)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18540,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18596,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18597
      start: 18536
    functionDepth: 2
    functionLinenumber: 18536
    functionLinenumberEnd: 18597
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(const basic_json& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18627,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18630,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18637
      start: 18625
    functionDepth: 2
    functionLinenumber: 18625
    functionLinenumberEnd: 18637
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - std::move
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(basic_json&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18670,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18673,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18674,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18678
      start: 18662
    functionDepth: 1
    functionLinenumber: 18662
    functionLinenumberEnd: 18678
    functionName: "& operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value\n    )"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - swap
    - basic_json::assert_invariant
    linkageType: ''
    returnType: basic_json
    signature: "basic_json & operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18697,1
    - Dst: nlohmann::destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18699
      start: 18695
    functionDepth: 3
    functionLinenumber: 18695
    functionLinenumberEnd: 18699
    functionName: ~basic_json() noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::destroy
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void ~basic_json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18815
      start: 18812
    functionDepth: 0
    functionLinenumber: 18812
    functionLinenumberEnd: 18815
    functionName: nlohmann::type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: value_t
    signature: value_t type() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18846
      start: 18843
    functionDepth: 1
    functionLinenumber: 18843
    functionLinenumberEnd: 18846
    functionName: nlohmann::is_primitive
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::is_null
    - nlohmann::is_string
    - nlohmann::is_boolean
    - nlohmann::is_binary
    - nlohmann::is_number
    linkageType: ''
    returnType: bool
    signature: bool is_primitive() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18872,1
    - Dst: nlohmann::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18873
      start: 18870
    functionDepth: 1
    functionLinenumber: 18870
    functionLinenumberEnd: 18873
    functionName: nlohmann::is_structured
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::is_object
    - nlohmann::is_array
    linkageType: ''
    returnType: bool
    signature: bool is_structured() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18895
      start: 18892
    functionDepth: 0
    functionLinenumber: 18892
    functionLinenumberEnd: 18895
    functionName: nlohmann::is_null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_null() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18917
      start: 18914
    functionDepth: 0
    functionLinenumber: 18914
    functionLinenumberEnd: 18917
    functionName: nlohmann::is_boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18946,1
    - Dst: nlohmann::is_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18947
      start: 18944
    functionDepth: 1
    functionLinenumber: 18944
    functionLinenumberEnd: 18947
    functionName: nlohmann::is_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::is_number_integer
    - nlohmann::is_number_float
    linkageType: ''
    returnType: bool
    signature: bool is_number() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18976
      start: 18973
    functionDepth: 0
    functionLinenumber: 18973
    functionLinenumberEnd: 18976
    functionName: nlohmann::is_number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_integer() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19004
      start: 19001
    functionDepth: 0
    functionLinenumber: 19001
    functionLinenumberEnd: 19004
    functionName: nlohmann::is_number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_unsigned() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19032
      start: 19029
    functionDepth: 0
    functionLinenumber: 19029
    functionLinenumberEnd: 19032
    functionName: nlohmann::is_number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_float() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19054
      start: 19051
    functionDepth: 0
    functionLinenumber: 19051
    functionLinenumberEnd: 19054
    functionName: nlohmann::is_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_object() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19076
      start: 19073
    functionDepth: 0
    functionLinenumber: 19073
    functionLinenumberEnd: 19076
    functionName: nlohmann::is_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_array() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19098
      start: 19095
    functionDepth: 0
    functionLinenumber: 19095
    functionLinenumberEnd: 19098
    functionName: nlohmann::is_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_string() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19120
      start: 19117
    functionDepth: 0
    functionLinenumber: 19117
    functionLinenumberEnd: 19120
    functionName: nlohmann::is_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_binary() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19144
    functionDepth: 0
    functionLinenumber: 19144
    functionLinenumberEnd: 19147
    functionName: nlohmann::is_discarded
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_discarded() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19173
      start: 19170
    functionDepth: 0
    functionLinenumber: 19170
    functionLinenumberEnd: 19173
    functionName: operator value_t() const noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator value_t() const noexcept
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: ::nlohmann::detail::parser<basic_json, InputAdapterType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16692,1
    - Dst: allocator_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16801,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16839,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16840,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16841,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16879,1
    - Dst: AllocatorTraits::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17413,1
    - Dst: AllocatorTraits::allocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17415,1
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::unique_ptr::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17417,1
    - Dst: std::unique_ptr::release
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17418,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17486,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17492,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17498,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17504,1
    - Dst: boolean_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17510,1
    - Dst: number_integer_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17516,1
    - Dst: number_unsigned_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17522,1
    - Dst: number_float_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17528,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17541,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17553,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17565,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17577,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17589,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17601,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: std::unique_ptr::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17630,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17634,1
    - Dst: basic_json::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17638,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17641,1
    - Dst: basic_json::m_value::array::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17643,1
    - Dst: basic_json::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17645,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: basic_json::m_value::object::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17652,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17664,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17665,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17672,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17673,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17680,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17681,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17688,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17689,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17712,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17713,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17714,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17715,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17833,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17857,1
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17927,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::declval<basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17929,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17932,1
    - Dst: nlohmann::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17975,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: template get<other_boolean_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: template get<other_number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: template get<other_number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: template get<other_number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: template get_ref<const other_string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: template get_ref<const other_object_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: template get_ref<const other_array_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: template get_ref<const other_binary_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18008,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18010,1
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: nlohmann::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: nlohmann::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18109,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: std::for_each
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18123,1
    - Dst: object::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18124,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18125,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18126,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18136,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18169,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18206,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18208,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18216,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18218,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18226,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18272,1
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18316,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18344,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18345,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18408,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18409,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18412,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: m_it::primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: m_it::primitive_iterator::is_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18430,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18475,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18482,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: m_object::type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18498,1
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18509,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18540,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18596,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18627,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18630,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18636,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18670,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18673,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18674,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18676,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18697,1
    - Dst: nlohmann::destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18698,1
    - Dst: s
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18765,1
    - Dst: detail::output_adapter<char, string_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18765,1
    - Dst: dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18769,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18769,1
    - Dst: dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18773,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 372
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18777
      start: 16656
    functionDepth: 3
    functionLinenumber: 16656
    functionLinenumberEnd: 18777
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - std::forward<Args>
    - template get<other_number_unsigned_t>
    - moved_or_copied
    - detail::output_adapter<char, string_t>
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - dump
    - proj_context_destroy
    - static_cast<unsigned int>
    - end
    - std::unique_ptr::get
    - number_unsigned_t
    - std::vector::reserve
    - nlohmann::detail::construct
    - ::nlohmann::detail::parser<basic_json, InputAdapterType>
    - m_object::type_name
    - AllocatorTraits::deallocate
    - AllocatorTraits::allocate
    - std::vector::empty
    - std::allocator_traits<decltype(alloc)>::deallocate
    - basic_json::m_value::array::end
    - std::move
    - basic_json::m_value::array::begin
    - template get<other_number_float_t>
    - template get_ref<const other_string_t&>
    - nlohmann::create
    - nlohmann::destroy
    - std::vector::back
    - noexcept
    - std::declval<basic_json_t&>
    - std::unique_ptr::size
    - std::string
    - allocator_type
    - s
    - object::emplace
    - number_integer_t
    - size
    - std::for_each
    - begin
    - std::all_of
    - nlohmann::detail::other_error::create
    - std::vector::pop_back
    - std::vector::push_back
    - basic_json::is_array
    - JSON_HEDLEY_UNLIKELY
    - basic_json::m_value::object::clear
    - binary_t
    - nlohmann::type
    - swap
    - nlohmann::assert_invariant
    - m_it::primitive_iterator::is_end
    - std::to_string
    - JSON_THROW
    - nlohmann::basic_json
    - template get<other_boolean_t>
    - std::forward<CompatibleType>
    - JSON_ASSERT
    - std::unique_ptr::release
    - boolean_t
    - template get<other_number_integer_t>
    - template get_ref<const other_array_t&>
    - basic_json::m_value::array::clear
    - template get_ref<const other_binary_t&>
    - nlohmann::is_array
    - nlohmann::is_string
    - nlohmann::detail::to_json
    - std::back_inserter
    - m_it::primitive_iterator::is_begin
    - number_float_t
    - basic_json::is_object
    - template get_ref<const other_object_t&>
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION basic_json
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::nlohmann::detail::parser<basic_json, InputAdapterType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16691,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16693
      start: 16684
    functionDepth: 0
    functionLinenumber: 16684
    functionLinenumberEnd: 16693
    functionName: nlohmann::parser
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - ::nlohmann::detail::parser<basic_json, InputAdapterType>
    linkageType: ''
    returnType: ::nlohmann::detail::parser<basic_json, InputAdapterType>
    signature: "::nlohmann::detail::parser<basic_json, InputAdapterType> parser(\n
      \       InputAdapterType adapter,\n        detail::parser_callback_t<basic_json>cb
      = nullptr,\n        const bool allow_exceptions = true,\n        const bool
      ignore_comments = false\n                                 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator_type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16802
      start: 16799
    functionDepth: 0
    functionLinenumber: 16799
    functionLinenumberEnd: 16802
    functionName: nlohmann::get_allocator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - allocator_type
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16839,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16840,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16841,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16863,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:16879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16884
      start: 16830
    functionDepth: 0
    functionLinenumber: 16830
    functionLinenumberEnd: 16884
    functionName: nlohmann::meta
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT meta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocatorTraits::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17413,1
    - Dst: AllocatorTraits::allocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17415,1
    - Dst: nlohmann::detail::construct
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::unique_ptr::get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17416,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17417,1
    - Dst: std::unique_ptr::release
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17419
      start: 17401
    functionDepth: 2
    functionLinenumber: 17401
    functionLinenumberEnd: 17419
    functionName: nlohmann::create
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 16
    functionsReached:
    - std::forward<Args>
    - JSON_ASSERT
    - std::unique_ptr::release
    - std::unique_ptr::get
    - nlohmann::detail::construct
    - AllocatorTraits::deallocate
    - AllocatorTraits::allocate
    linkageType: ''
    returnType: "private:\n\n    /// helper for exception-safe object creation\n    template<typename
      T, typename... Args>"
    signature: "private:\n\n    /// helper for exception-safe object creation\n    template<typename
      T, typename... Args> * create(Args&& ... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17470
      start: 17470
    functionDepth: 0
    functionLinenumber: 17470
    functionLinenumberEnd: 17470
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17472
      start: 17472
    functionDepth: 0
    functionLinenumber: 17472
    functionLinenumberEnd: 17472
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(boolean_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17474
      start: 17474
    functionDepth: 0
    functionLinenumber: 17474
    functionLinenumberEnd: 17474
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_integer_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17476
      start: 17476
    functionDepth: 0
    functionLinenumber: 17476
    functionLinenumberEnd: 17476
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_unsigned_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17478
      start: 17478
    functionDepth: 0
    functionLinenumber: 17478
    functionLinenumberEnd: 17478
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_float_t v) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17486,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17492,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17498,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17504,1
    - Dst: boolean_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17510,1
    - Dst: number_integer_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17516,1
    - Dst: number_unsigned_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17522,1
    - Dst: number_float_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17528,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17541,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17543,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - t
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17548
      start: 17480
    functionDepth: 3
    functionLinenumber: 17480
    functionLinenumberEnd: 17548
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::other_error::create
    - boolean_t
    - nlohmann::create
    - JSON_HEDLEY_UNLIKELY
    - number_float_t
    - number_unsigned_t
    - JSON_THROW
    - number_integer_t
    linkageType: ''
    returnType: void
    signature: void json_value(value_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17554
      start: 17551
    functionDepth: 3
    functionLinenumber: 17551
    functionLinenumberEnd: 17554
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17560
      start: 17557
    functionDepth: 3
    functionLinenumber: 17557
    functionLinenumberEnd: 17560
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(string_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17566
      start: 17563
    functionDepth: 3
    functionLinenumber: 17563
    functionLinenumberEnd: 17566
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17569
    functionDepth: 3
    functionLinenumber: 17569
    functionLinenumberEnd: 17572
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(object_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17578
      start: 17575
    functionDepth: 3
    functionLinenumber: 17575
    functionLinenumberEnd: 17578
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const array_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17584
      start: 17581
    functionDepth: 3
    functionLinenumber: 17581
    functionLinenumberEnd: 17584
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(array_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17590
      start: 17587
    functionDepth: 3
    functionLinenumber: 17587
    functionLinenumberEnd: 17590
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const typename binary_t::container_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17596
      start: 17593
    functionDepth: 3
    functionLinenumber: 17593
    functionLinenumberEnd: 17596
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(typename binary_t::container_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17602
      start: 17599
    functionDepth: 3
    functionLinenumber: 17599
    functionLinenumberEnd: 17602
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(const binary_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17608
      start: 17605
    functionDepth: 3
    functionLinenumber: 17605
    functionLinenumberEnd: 17608
    functionName: nlohmann::json_value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::create
    linkageType: ''
    returnType: void
    signature: void json_value(binary_t&& value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17618,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17619,1
    - Dst: std::vector::reserve
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17623,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17626,1
    - Dst: std::vector::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17630,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17633,1
    - Dst: std::vector::pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17634,1
    - Dst: basic_json::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17638,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: basic_json::m_value::array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17640,1
    - Dst: std::back_inserter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17641,1
    - Dst: basic_json::m_value::array::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17643,1
    - Dst: basic_json::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17645,1
    - Dst: std::vector::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17649,1
    - Dst: basic_json::m_value::object::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17652,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17664,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17665,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17672,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17673,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17680,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17681,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17688,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17689,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - t
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17698
      start: 17610
    functionDepth: 2
    functionLinenumber: 17610
    functionLinenumberEnd: 17698
    functionName: nlohmann::destroy
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - size
    - std::allocator_traits<decltype(alloc)>::deallocate
    - begin
    - basic_json::m_value::array::end
    - std::vector::pop_back
    - std::move
    - basic_json::m_value::array::begin
    - std::vector::push_back
    - end
    - basic_json::is_array
    - basic_json::m_value::array::clear
    - std::vector::back
    - basic_json::m_value::object::clear
    - std::back_inserter
    - proj_context_destroy
    - std::vector::reserve
    - basic_json::is_object
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void destroy(value_t t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17712,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17713,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17714,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17716
      start: 17710
    functionDepth: 1
    functionLinenumber: 17710
    functionLinenumberEnd: 17716
    functionName: nlohmann::assert_invariant
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 12
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void assert_invariant() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17834
      start: 17830
    functionDepth: 2
    functionLinenumber: 17830
    functionLinenumberEnd: 17834
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(const value_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17858
      start: 17854
    functionDepth: 2
    functionLinenumber: 17854
    functionLinenumberEnd: 17858
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(std::nullptr_t = nullptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17927,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::declval<basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17928,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17929,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17931,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - CompatibleType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17933
      start: 17927
    functionDepth: 2
    functionLinenumber: 17927
    functionLinenumberEnd: 17933
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - std::forward<CompatibleType>
    - noexcept
    - nlohmann::detail::to_json
    - std::declval<basic_json_t&>
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: "void basic_json(CompatibleType && val) noexcept(noexcept(\n                JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),\n
      \                                          std::forward<CompatibleType>(val))))"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17975,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: template get<other_boolean_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17978,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: template get<other_number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17981,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: template get<other_number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17984,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: template get<other_number_unsigned_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17987,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: template get_ref<const other_string_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17990,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: template get_ref<const other_object_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17993,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: template get_ref<const other_array_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17996,1
    - Dst: nlohmann::detail::to_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: template get_ref<const other_binary_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:17999,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18008,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18010,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18011
      start: 17964
    functionDepth: 2
    functionLinenumber: 17964
    functionLinenumberEnd: 18011
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - template get<other_number_unsigned_t>
    - template get<other_boolean_t>
    - JSON_ASSERT
    - template get<other_number_integer_t>
    - template get_ref<const other_string_t&>
    - template get<other_number_float_t>
    - template get_ref<const other_array_t&>
    - template get_ref<const other_binary_t&>
    - nlohmann::detail::to_json
    - nlohmann::type
    - nlohmann::assert_invariant
    - template get_ref<const other_object_t&>
    linkageType: ''
    returnType: void
    signature: void basic_json(const BasicJsonType& val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18093,1
    - Dst: nlohmann::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: nlohmann::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18096,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18109,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18111,1
    - Dst: std::for_each
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18121,1
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18123,1
    - Dst: object::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18124,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18125,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18126,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18133,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18137
      start: 18087
    functionDepth: 3
    functionLinenumber: 18087
    functionLinenumberEnd: 18137
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - size
    - std::for_each
    - moved_or_copied
    - nlohmann::detail::type_error::create
    - std::all_of
    - nlohmann::is_string
    - std::move
    - nlohmann::is_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::create
    - initializer_list_t::begin
    - nlohmann::assert_invariant
    - JSON_THROW
    - initializer_list_t::end
    - object::emplace
    linkageType: ''
    returnType: void
    signature: "void basic_json(initializer_list_t init,\n               bool type_deduction
      = true,\n               value_t manual_type = value_t::array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18173
      start: 18166
    functionDepth: 3
    functionLinenumber: 18166
    functionLinenumberEnd: 18173
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(const typename binary_t::container_type&
      init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18206,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' init'
    - subtype
    argTypes:
    - typename binary_t::container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18210
      start: 18203
    functionDepth: 3
    functionLinenumber: 18203
    functionLinenumberEnd: 18210
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    - binary_t
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(const typename binary_t::container_type&
      init, std::uint8_t subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18216,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18220
      start: 18213
    functionDepth: 3
    functionLinenumber: 18213
    functionLinenumberEnd: 18220
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(typename binary_t::container_type&&
      init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18226,1
    - Dst: binary_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' init'
    - subtype
    argTypes:
    - typename binary_t::container_type
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18230
      start: 18223
    functionDepth: 3
    functionLinenumber: 18223
    functionLinenumberEnd: 18230
    functionName: nlohmann::binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::basic_json
    - binary_t
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(typename binary_t::container_type&&
      init, std::uint8_t subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18273
      start: 18269
    functionDepth: 3
    functionLinenumber: 18269
    functionLinenumberEnd: 18273
    functionName: nlohmann::array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT array(initializer_list_t init = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18317
      start: 18313
    functionDepth: 3
    functionLinenumber: 18313
    functionLinenumberEnd: 18317
    functionName: nlohmann::object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT object(initializer_list_t init = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18344,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cnt
    - ' val'
    argTypes:
    - size_type
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18346
      start: 18341
    functionDepth: 3
    functionLinenumber: 18341
    functionLinenumberEnd: 18346
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 14
    functionsReached:
    - nlohmann::create
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(size_type cnt, const basic_json& val)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18408,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18409,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18412,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18414,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: InputIT::m_it::primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18429,1
    - Dst: InputIT::m_it::primitive_iterator::is_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18430,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18432,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18475,1
    - Dst: nlohmann::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18482,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18494,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: InputIT::m_object::type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18495,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIT
    - InputIT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18499
      start: 18406
    functionDepth: 3
    functionLinenumber: 18406
    functionLinenumberEnd: 18499
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 14
    functionsReached:
    - JSON_ASSERT
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::create
    - InputIT::m_it::primitive_iterator::is_end
    - nlohmann::assert_invariant
    - std::string
    - JSON_THROW
    - InputIT::m_it::primitive_iterator::is_begin
    - InputIT::m_object::type_name
    linkageType: ''
    returnType: void
    signature: void basic_json(InputIT first, InputIT last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moved_or_copied
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - JsonRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18509
      start: 18509
    functionDepth: 0
    functionLinenumber: 18509
    functionLinenumberEnd: 18509
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 14
    functionsReached:
    - moved_or_copied
    linkageType: ''
    returnType: void
    signature: void basic_json(const JsonRef& ref)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18540,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18596,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18597
      start: 18536
    functionDepth: 2
    functionLinenumber: 18536
    functionLinenumberEnd: 18597
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 14
    functionsReached:
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(const basic_json& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18626,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18627,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18630,1
    - Dst: nlohmann::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18637
      start: 18625
    functionDepth: 2
    functionLinenumber: 18625
    functionLinenumberEnd: 18637
    functionName: nlohmann::basic_json
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 14
    functionsReached:
    - std::move
    - nlohmann::assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(basic_json&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json::assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18670,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18673,1
    - Dst: swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18674,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18678
      start: 18662
    functionDepth: 1
    functionLinenumber: 18662
    functionLinenumberEnd: 18678
    functionName: "& operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value\n    )"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - swap
    - basic_json::assert_invariant
    linkageType: ''
    returnType: basic_json
    signature: "basic_json & operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18697,1
    - Dst: destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18699
      start: 18695
    functionDepth: 0
    functionLinenumber: 18695
    functionLinenumberEnd: 18699
    functionName: ~basic_json() noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~basic_json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18815
      start: 18812
    functionDepth: 0
    functionLinenumber: 18812
    functionLinenumberEnd: 18815
    functionName: nlohmann::type
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: value_t
    signature: value_t type() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_number
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    - Dst: nlohmann::is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18846
      start: 18843
    functionDepth: 2
    functionLinenumber: 18843
    functionLinenumberEnd: 18846
    functionName: nlohmann::is_primitive
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::is_null
    - nlohmann::is_string
    - nlohmann::is_boolean
    - nlohmann::is_binary
    - nlohmann::is_number
    linkageType: ''
    returnType: bool
    signature: bool is_primitive() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18872,1
    - Dst: nlohmann::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18873
      start: 18870
    functionDepth: 1
    functionLinenumber: 18870
    functionLinenumberEnd: 18873
    functionName: nlohmann::is_structured
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::is_object
    - nlohmann::is_array
    linkageType: ''
    returnType: bool
    signature: bool is_structured() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18895
      start: 18892
    functionDepth: 0
    functionLinenumber: 18892
    functionLinenumberEnd: 18895
    functionName: nlohmann::is_null
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_null() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18917
      start: 18914
    functionDepth: 0
    functionLinenumber: 18914
    functionLinenumberEnd: 18917
    functionName: nlohmann::is_boolean
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18946,1
    - Dst: nlohmann::is_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:18946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18947
      start: 18944
    functionDepth: 1
    functionLinenumber: 18944
    functionLinenumberEnd: 18947
    functionName: nlohmann::is_number
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::is_number_integer
    - nlohmann::is_number_float
    linkageType: ''
    returnType: bool
    signature: bool is_number() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18976
      start: 18973
    functionDepth: 0
    functionLinenumber: 18973
    functionLinenumberEnd: 18976
    functionName: nlohmann::is_number_integer
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_integer() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19004
      start: 19001
    functionDepth: 0
    functionLinenumber: 19001
    functionLinenumberEnd: 19004
    functionName: nlohmann::is_number_unsigned
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_unsigned() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19032
      start: 19029
    functionDepth: 0
    functionLinenumber: 19029
    functionLinenumberEnd: 19032
    functionName: nlohmann::is_number_float
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_float() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19054
      start: 19051
    functionDepth: 0
    functionLinenumber: 19051
    functionLinenumberEnd: 19054
    functionName: nlohmann::is_object
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_object() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19076
      start: 19073
    functionDepth: 0
    functionLinenumber: 19073
    functionLinenumberEnd: 19076
    functionName: nlohmann::is_array
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_array() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19098
      start: 19095
    functionDepth: 0
    functionLinenumber: 19095
    functionLinenumberEnd: 19098
    functionName: nlohmann::is_string
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_string() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19120
      start: 19117
    functionDepth: 0
    functionLinenumber: 19117
    functionLinenumberEnd: 19120
    functionName: nlohmann::is_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_binary() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19144
    functionDepth: 0
    functionLinenumber: 19144
    functionLinenumberEnd: 19147
    functionName: nlohmann::is_discarded
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_discarded() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19173
      start: 19170
    functionDepth: 0
    functionLinenumber: 19170
    functionLinenumberEnd: 19173
    functionName: operator value_t() const noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator value_t() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19197
      start: 19194
    functionDepth: 0
    functionLinenumber: 19194
    functionLinenumberEnd: 19197
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_object
    linkageType: ''
    returnType: object_t
    signature: object_t * get_impl_ptr(object_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19203
      start: 19200
    functionDepth: 0
    functionLinenumber: 19200
    functionLinenumberEnd: 19203
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_object
    linkageType: ''
    returnType: object_t
    signature: object_t * get_impl_ptr(const object_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19209
      start: 19206
    functionDepth: 0
    functionLinenumber: 19206
    functionLinenumberEnd: 19209
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    linkageType: ''
    returnType: array_t
    signature: array_t * get_impl_ptr(array_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19215
      start: 19212
    functionDepth: 0
    functionLinenumber: 19212
    functionLinenumberEnd: 19215
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    linkageType: ''
    returnType: array_t
    signature: array_t * get_impl_ptr(const array_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19221
      start: 19218
    functionDepth: 0
    functionLinenumber: 19218
    functionLinenumberEnd: 19221
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    linkageType: ''
    returnType: string_t
    signature: string_t * get_impl_ptr(string_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19227
      start: 19224
    functionDepth: 0
    functionLinenumber: 19224
    functionLinenumberEnd: 19227
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    linkageType: ''
    returnType: string_t
    signature: string_t * get_impl_ptr(const string_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19233
      start: 19230
    functionDepth: 0
    functionLinenumber: 19230
    functionLinenumberEnd: 19233
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_boolean
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t * get_impl_ptr(boolean_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_boolean
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19239
      start: 19236
    functionDepth: 0
    functionLinenumber: 19236
    functionLinenumberEnd: 19239
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_boolean
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t * get_impl_ptr(const boolean_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19245
      start: 19242
    functionDepth: 0
    functionLinenumber: 19242
    functionLinenumberEnd: 19245
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_integer
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t * get_impl_ptr(number_integer_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19251
      start: 19248
    functionDepth: 0
    functionLinenumber: 19248
    functionLinenumberEnd: 19251
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_integer
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t * get_impl_ptr(const number_integer_t* /*unused*/)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19257
      start: 19254
    functionDepth: 0
    functionLinenumber: 19254
    functionLinenumberEnd: 19257
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_unsigned
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t * get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_unsigned
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19263
      start: 19260
    functionDepth: 0
    functionLinenumber: 19260
    functionLinenumberEnd: 19263
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_unsigned
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t * get_impl_ptr(const number_unsigned_t* /*unused*/)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19269
      start: 19266
    functionDepth: 0
    functionLinenumber: 19266
    functionLinenumberEnd: 19269
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_float
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t * get_impl_ptr(number_float_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_float
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19275
      start: 19272
    functionDepth: 0
    functionLinenumber: 19272
    functionLinenumberEnd: 19275
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_float
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t * get_impl_ptr(const number_float_t* /*unused*/) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19281
      start: 19278
    functionDepth: 0
    functionLinenumber: 19278
    functionLinenumberEnd: 19281
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_binary
    linkageType: ''
    returnType: binary_t
    signature: binary_t * get_impl_ptr(binary_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19287
      start: 19284
    functionDepth: 0
    functionLinenumber: 19284
    functionLinenumberEnd: 19287
    functionName: get_impl_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - is_binary
    linkageType: ''
    returnType: binary_t
    signature: binary_t * get_impl_ptr(const binary_t* /*unused*/) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<typename std::add_pointer<ReferenceType>::type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19304,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19306,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19311,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19311,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19311,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ThisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19312
      start: 19301
    functionDepth: 1
    functionLinenumber: 19301
    functionLinenumberEnd: 19312
    functionName: get_ref_impl
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - type_name
    - template get_ptr<typename std::add_pointer<ReferenceType>::type>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref_impl(ThisType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19362
      start: 19359
    functionDepth: 0
    functionLinenumber: 19359
    functionLinenumberEnd: 19362
    functionName: get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 730
    functionsReached: []
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19409,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19410,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19410,1
    - Dst: std::declval<ValueType&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19410,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19423
      start: 19409
    functionDepth: 2
    functionLinenumber: 19409
    functionLinenumberEnd: 19423
    functionName: get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 730
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    - std::declval<ValueType&>
    linkageType: ''
    returnType: ValueType
    signature: "ValueType get() const noexcept(noexcept(\n                                       JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>(), std::declval<ValueType&>())))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19460,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19461,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19461,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19466
      start: 19460
    functionDepth: 2
    functionLinenumber: 19460
    functionLinenumberEnd: 19466
    functionName: get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 730
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: ValueType
    signature: "ValueType get() const noexcept(noexcept(\n                                       JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>())))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19506,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19507,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19507,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19511
      start: 19506
    functionDepth: 2
    functionLinenumber: 19506
    functionLinenumberEnd: 19511
    functionName: get_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: ValueType
    signature: "ValueType & get_to(ValueType& v) const noexcept(noexcept(\n                JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>(), v)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19523
      start: 19519
    functionDepth: 0
    functionLinenumber: 19519
    functionLinenumberEnd: 19523
    functionName: get_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValueType
    signature: ValueType & get_to(ValueType& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19531,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19531,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19532,1
    - Dst: nlohmann::detail::from_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (v)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19536
      start: 19530
    functionDepth: 2
    functionLinenumber: 19530
    functionLinenumberEnd: 19536
    functionName: get_to
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: Array
    signature: "Array get_to(T (&v)[N]) const\n    noexcept(noexcept(JSONSerializer<Array>::from_json(\n
      \                         std::declval<const basic_json_t&>(), v)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19567,1
    - Dst: std::declval<PointerType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19567,1
    - Dst: get_impl_ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19570,1
    - Dst: static_cast<PointerType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19571
      start: 19567
    functionDepth: 1
    functionLinenumber: 19567
    functionLinenumberEnd: 19571
    functionName: get_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<PointerType>
    - std::declval<basic_json_t&>
    - get_impl_ptr
    - std::declval<PointerType>
    linkageType: ''
    returnType: auto
    signature: auto get_ptr() noexcept -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19580,1
    - Dst: std::declval<PointerType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19580,1
    - Dst: get_impl_ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19583,1
    - Dst: static_cast<PointerType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19584
      start: 19580
    functionDepth: 1
    functionLinenumber: 19580
    functionLinenumberEnd: 19584
    functionName: get_ptr
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<const basic_json_t&>
    - static_cast<PointerType>
    - get_impl_ptr
    - std::declval<PointerType>
    linkageType: ''
    returnType: auto
    signature: auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19615,1
    - Dst: get_ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19619
      start: 19615
    functionDepth: 2
    functionLinenumber: 19615
    functionLinenumberEnd: 19619
    functionName: get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 730
    functionsReached:
    - get_ptr
    - std::declval<basic_json_t&>
    linkageType: ''
    returnType: auto
    signature: auto get() noexcept -> decltype(std::declval<basic_json_t&>().template
      get_ptr<PointerType>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19627,1
    - Dst: get_ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19631
      start: 19627
    functionDepth: 2
    functionLinenumber: 19627
    functionLinenumberEnd: 19631
    functionName: get
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 730
    functionsReached:
    - std::declval<const basic_json_t&>
    - get_ptr
    linkageType: ''
    returnType: auto
    signature: auto get() const noexcept -> decltype(std::declval<const basic_json_t&>().template
      get_ptr<PointerType>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ref_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19665
      start: 19661
    functionDepth: 2
    functionLinenumber: 19661
    functionLinenumberEnd: 19665
    functionName: get_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_ref_impl
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ref_impl
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19678
      start: 19674
    functionDepth: 2
    functionLinenumber: 19674
    functionLinenumberEnd: 19678
    functionName: get_ref
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_ref_impl
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19724
      start: 19720
    functionDepth: 2
    functionLinenumber: 19720
    functionLinenumberEnd: 19724
    functionName: ValueType
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: JSON_EXPLICIT
    signature: JSON_EXPLICIT ValueType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19737,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19739,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19739,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19739,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19739,1
    - Dst: get_ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19743
      start: 19735
    functionDepth: 2
    functionLinenumber: 19735
    functionLinenumberEnd: 19743
    functionName: get_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 16
    functionsReached:
    - get_ptr
    - nlohmann::detail::type_error::create
    - type_name
    - is_binary
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: binary_t
    signature: binary_t & get_binary()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19748,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19750,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19750,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19750,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19750,1
    - Dst: get_ptr
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19754
      start: 19746
    functionDepth: 2
    functionLinenumber: 19746
    functionLinenumberEnd: 19754
    functionName: get_binary
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 16
    functionsReached:
    - get_ptr
    - nlohmann::detail::type_error::create
    - type_name
    - is_binary
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: binary_t
    signature: binary_t & get_binary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19796,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19796,1
    - Dst: array::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19800,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19805,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19805,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19807
      start: 19793
    functionDepth: 1
    functionLinenumber: 19793
    functionLinenumberEnd: 19807
    functionName: at
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 327
    functionsReached:
    - array::at
    - JSON_HEDLEY_LIKELY
    - is_array
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: reference
    signature: reference at(size_type idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19805,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19805,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19806
      start: 19802
    functionDepth: 1
    functionLinenumber: 19802
    functionLinenumberEnd: 19806
    functionName: JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH (std::out_of_range&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19843,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19843,1
    - Dst: array::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19847,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19852,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19852,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19854
      start: 19840
    functionDepth: 1
    functionLinenumber: 19840
    functionLinenumberEnd: 19854
    functionName: at
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 328
    functionsReached:
    - array::at
    - JSON_HEDLEY_LIKELY
    - is_array
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(size_type idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19852,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19852,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19853
      start: 19849
    functionDepth: 1
    functionLinenumber: 19849
    functionLinenumberEnd: 19853
    functionName: JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH (std::out_of_range&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19894,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19894,1
    - Dst: object::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19898,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19903,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19905
      start: 19891
    functionDepth: 1
    functionLinenumber: 19891
    functionLinenumberEnd: 19905
    functionName: at
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 329
    functionsReached:
    - object::at
    - JSON_HEDLEY_LIKELY
    - is_object
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: reference
    signature: reference at(const typename object_t::key_type& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19903,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19904
      start: 19900
    functionDepth: 1
    functionLinenumber: 19900
    functionLinenumberEnd: 19904
    functionName: JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH (std::out_of_range&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19945,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19945,1
    - Dst: object::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19949,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19954,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19956
      start: 19942
    functionDepth: 1
    functionLinenumber: 19942
    functionLinenumberEnd: 19956
    functionName: at
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 330
    functionsReached:
    - object::at
    - JSON_HEDLEY_LIKELY
    - is_object
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const typename object_t::key_type& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19954,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19955
      start: 19951
    functionDepth: 1
    functionLinenumber: 19951
    functionLinenumberEnd: 19955
    functionName: JSON_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH (std::out_of_range&)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19991,1
    - Dst: create<array_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19994,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19995,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19999,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:19999,1
    - Dst: array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20002,1
    - Dst: array::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20004,1
    - Dst: array::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20004,1
    - Dst: array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20005,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20006,1
    - Dst: array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20009,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20012,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20012,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20012,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20013
      start: 19988
    functionDepth: 1
    functionLinenumber: 19988
    functionLinenumberEnd: 20013
    functionName: operator[](size_type idx)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - array::insert
    - array
    - JSON_HEDLEY_LIKELY
    - type_name
    - create<array_t>
    - is_array
    - assert_invariant
    - std::string
    - basic_json
    - JSON_THROW
    - array::size
    - array::end
    linkageType: ''
    returnType: reference
    signature: reference operator[](size_type idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20037,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20037,1
    - Dst: array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20039,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20042,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20042,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20042,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20043
      start: 20034
    functionDepth: 1
    functionLinenumber: 20034
    functionLinenumberEnd: 20043
    functionName: operator[](size_type idx) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - array
    - JSON_HEDLEY_LIKELY
    - type_name
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](size_type idx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20075,1
    - Dst: create<object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20078,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20079,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20083,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20083,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20085,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20088,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20088,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20088,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20089
      start: 20072
    functionDepth: 1
    functionLinenumber: 20072
    functionLinenumberEnd: 20089
    functionName: operator[](const typename object_t::key_type& key)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - JSON_HEDLEY_LIKELY
    - is_object
    - type_name
    - object
    - assert_invariant
    - create<object_t>
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator[](const typename object_t::key_type& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20124,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20124,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20126,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20126,1
    - Dst: object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20126,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20127,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20130,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20130,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20130,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20131
      start: 20121
    functionDepth: 1
    functionLinenumber: 20121
    functionLinenumberEnd: 20131
    functionName: operator[](const typename object_t::key_type& key) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - JSON_ASSERT
    - object::find
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_object
    - type_name
    - std::string
    - object::end
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const typename object_t::key_type& key)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20165,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20169,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20173,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20173,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20175,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20178,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20178,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20178,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20179
      start: 20161
    functionDepth: 1
    functionLinenumber: 20161
    functionLinenumberEnd: 20179
    functionName: "(2)\n    reference operator[](T* key)"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - JSON_HEDLEY_LIKELY
    - is_object
    - type_name
    - object
    - assert_invariant
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    reference operator[](T* key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20216,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20216,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20218,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20218,1
    - Dst: object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20218,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20219,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20222,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20222,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20222,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20223
      start: 20212
    functionDepth: 1
    functionLinenumber: 20212
    functionLinenumberEnd: 20223
    functionName: "(2)\n    const_reference operator[](T* key) const"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - JSON_ASSERT
    - object::find
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_object
    - type_name
    - std::string
    - object::end
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    const_reference operator[](T* key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20282,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20282,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20285,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20286,1
    - Dst: auto::template get<ValueType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20288,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20294,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20294,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20294,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' default_value'
    argTypes:
    - typename object_t::key_type
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20295
      start: 20279
    functionDepth: 1
    functionLinenumber: 20279
    functionLinenumberEnd: 20295
    functionName: value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 278
    functionsReached:
    - nlohmann::detail::type_error::create
    - JSON_THROW
    - auto::template get<ValueType>
    - JSON_HEDLEY_LIKELY
    - end
    - is_object
    - type_name
    - std::string
    - find
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(const typename object_t::key_type& key, const ValueType&
      default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20303,1
    - Dst: string_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - default_value
    argTypes:
    - typename object_t::key_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20304
      start: 20301
    functionDepth: 1
    functionLinenumber: 20301
    functionLinenumberEnd: 20304
    functionName: value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 279
    functionsReached:
    - value
    - string_t
    linkageType: ''
    returnType: string_t
    signature: string_t value(const typename object_t::key_type& key, const char*
      default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20354,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20354,1
    - Dst: get_checked
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' ptr'
    - ' default_value'
    argTypes:
    - json_pointer
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20365
      start: 20351
    functionDepth: 1
    functionLinenumber: 20351
    functionLinenumberEnd: 20365
    functionName: value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 279
    functionsReached:
    - JSON_HEDLEY_LIKELY
    - is_object
    - get_checked
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(const json_pointer& ptr, const ValueType& default_value)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20364
      start: 20361
    functionDepth: 0
    functionLinenumber: 20361
    functionLinenumberEnd: 20364
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSON_INTERNAL_CATCH (out_of_range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20377,1
    - Dst: string_t
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - default_value
    argTypes:
    - json_pointer
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20378
      start: 20375
    functionDepth: 1
    functionLinenumber: 20375
    functionLinenumberEnd: 20378
    functionName: value
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 280
    functionsReached:
    - value
    - string_t
    linkageType: ''
    returnType: string_t
    signature: string_t value(const json_pointer& ptr, const char* default_value)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20408
      start: 20405
    functionDepth: 1
    functionLinenumber: 20405
    functionLinenumberEnd: 20408
    functionName: front
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 133
    functionsReached:
    - begin
    linkageType: ''
    returnType: reference
    signature: reference front()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20416
      start: 20413
    functionDepth: 1
    functionLinenumber: 20413
    functionLinenumberEnd: 20416
    functionName: front
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 133
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: const_reference
    signature: const_reference front() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20454
      start: 20449
    functionDepth: 1
    functionLinenumber: 20449
    functionLinenumberEnd: 20454
    functionName: back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 438
    functionsReached:
    - end
    linkageType: ''
    returnType: reference
    signature: reference back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20464
      start: 20459
    functionDepth: 1
    functionLinenumber: 20459
    functionLinenumberEnd: 20464
    functionName: back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 438
    functionsReached:
    - cend
    linkageType: ''
    returnType: const_reference
    signature: const_reference back() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20519,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20521,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20521,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20524,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20535,1
    - Dst: IteratorType::m_it::primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20535,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20537,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20537,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20540,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20543,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20544,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20547,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20550,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20551,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20556,1
    - Dst: object::erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20562,1
    - Dst: array::erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20568,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20573,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20573,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20573,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - pos
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20577
      start: 20516
    functionDepth: 2
    functionLinenumber: 20516
    functionLinenumberEnd: 20577
    functionName: erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 14
    functionsReached:
    - object::erase
    - std::allocator_traits<decltype(alloc)>::deallocate
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - proj_context_destroy
    - type_name
    - end
    - JSON_HEDLEY_UNLIKELY
    - is_binary
    - array::erase
    - assert_invariant
    - IteratorType::m_it::primitive_iterator::is_begin
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: IteratorType
    signature: IteratorType erase(IteratorType pos)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20632,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20634,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20634,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20637,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20648,1
    - Dst: IteratorType::m_it::primitive_iterator::is_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20648,1
    - Dst: IteratorType::m_it::primitive_iterator::is_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20649,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20651,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20651,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20654,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20657,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20658,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20661,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20664,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20665,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20670,1
    - Dst: object::erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20676,1
    - Dst: array::erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20683,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20689,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20689,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20689,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20689,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20693
      start: 20629
    functionDepth: 2
    functionLinenumber: 20629
    functionLinenumberEnd: 20693
    functionName: erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 15
    functionsReached:
    - object::erase
    - std::allocator_traits<decltype(alloc)>::deallocate
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - proj_context_destroy
    - JSON_HEDLEY_LIKELY
    - end
    - JSON_HEDLEY_UNLIKELY
    - is_binary
    - array::erase
    - IteratorType::m_it::primitive_iterator::is_end
    - assert_invariant
    - type_name
    - IteratorType::m_it::primitive_iterator::is_begin
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: IteratorType
    signature: IteratorType erase(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20727,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20727,1
    - Dst: object::erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20729,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20732,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20732,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20732,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20733
      start: 20724
    functionDepth: 1
    functionLinenumber: 20724
    functionLinenumberEnd: 20733
    functionName: erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 16
    functionsReached:
    - object::erase
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - is_object
    - type_name
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const typename object_t::key_type& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20762,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20762,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20764,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20764,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20766,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20766,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20766,1
    - Dst: array::erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20769,1
    - Dst: array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20769,1
    - Dst: static_cast<difference_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20769,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20773,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20773,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20773,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20775
      start: 20759
    functionDepth: 1
    functionLinenumber: 20759
    functionLinenumberEnd: 20775
    functionName: erase
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 17
    functionsReached:
    - size
    - array::begin
    - static_cast<difference_type>
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - array::erase
    - JSON_HEDLEY_UNLIKELY
    - type_name
    - is_array
    - std::string
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::out_of_range::create
    linkageType: ''
    returnType: void
    signature: void erase(const size_type idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20814,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20816,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20818,1
    - Dst: std::forward<KeyT>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20822
      start: 20812
    functionDepth: 1
    functionLinenumber: 20812
    functionLinenumberEnd: 20822
    functionName: find
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 255
    functionsReached:
    - object::find
    - is_object
    - end
    - std::forward<KeyT>
    linkageType: ''
    returnType: iterator
    signature: iterator find(KeyT&& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20831,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20833,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20835,1
    - Dst: std::forward<KeyT>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20839
      start: 20829
    functionDepth: 1
    functionLinenumber: 20829
    functionLinenumberEnd: 20839
    functionName: find
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 256
    functionsReached:
    - object::find
    - is_object
    - std::forward<KeyT>
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(KeyT&& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20866,1
    - Dst: object::count
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20866,1
    - Dst: std::forward<KeyT>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20867
      start: 20863
    functionDepth: 1
    functionLinenumber: 20863
    functionLinenumberEnd: 20867
    functionName: count
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 73
    functionsReached:
    - std::forward<KeyT>
    - is_object
    - object::count
    linkageType: ''
    returnType: size_type
    signature: size_type count(KeyT&& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20898,1
    - Dst: object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20898,1
    - Dst: std::forward<KeyT>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20898,1
    - Dst: object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20899
      start: 20896
    functionDepth: 2
    functionLinenumber: 20896
    functionLinenumberEnd: 20899
    functionName: contains
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 79
    functionsReached:
    - object::find
    - object::end
    - is_object
    - std::forward<KeyT>
    linkageType: ''
    returnType: bool
    signature: bool contains(KeyT && key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20930
      start: 20927
    functionDepth: 0
    functionLinenumber: 20927
    functionLinenumberEnd: 20930
    functionName: contains
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 80
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool contains(const json_pointer& ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator::set_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20971
      start: 20966
    functionDepth: 0
    functionLinenumber: 20966
    functionLinenumberEnd: 20971
    functionName: begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 177
    functionsReached:
    - iterator::set_begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:20978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20979
      start: 20976
    functionDepth: 1
    functionLinenumber: 20976
    functionLinenumberEnd: 20979
    functionName: begin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 178
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::set_begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21011
      start: 21006
    functionDepth: 0
    functionLinenumber: 21006
    functionLinenumberEnd: 21011
    functionName: cbegin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 6
    functionsReached:
    - const_iterator::set_begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21042
      start: 21037
    functionDepth: 0
    functionLinenumber: 21037
    functionLinenumberEnd: 21042
    functionName: end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 243
    functionsReached:
    - iterator::set_end
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21050
      start: 21047
    functionDepth: 1
    functionLinenumber: 21047
    functionLinenumberEnd: 21050
    functionName: end
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 244
    functionsReached:
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::set_end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21082
      start: 21077
    functionDepth: 0
    functionLinenumber: 21077
    functionLinenumberEnd: 21082
    functionName: cend
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - const_iterator::set_end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21109,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21110
      start: 21107
    functionDepth: 1
    functionLinenumber: 21107
    functionLinenumberEnd: 21110
    functionName: rbegin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - reverse_iterator
    - end
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21118
      start: 21115
    functionDepth: 1
    functionLinenumber: 21115
    functionLinenumberEnd: 21118
    functionName: rbegin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21146,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21147
      start: 21144
    functionDepth: 1
    functionLinenumber: 21144
    functionLinenumberEnd: 21147
    functionName: rend
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 7
    functionsReached:
    - reverse_iterator
    - begin
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21155
      start: 21152
    functionDepth: 1
    functionLinenumber: 21152
    functionLinenumberEnd: 21155
    functionName: rend
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - crend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21183,1
    - Dst: cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21184
      start: 21181
    functionDepth: 1
    functionLinenumber: 21181
    functionLinenumberEnd: 21184
    functionName: crbegin
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - const_reverse_iterator
    - cend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21212,1
    - Dst: cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21213
      start: 21210
    functionDepth: 1
    functionLinenumber: 21210
    functionLinenumberEnd: 21213
    functionName: crend
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - const_reverse_iterator
    - cbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reference::items
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21277
      start: 21274
    functionDepth: 1
    functionLinenumber: 21274
    functionLinenumberEnd: 21277
    functionName: iterator_wrapper
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - reference::items
    linkageType: ''
    returnType: iteration_proxy<iterator>
    signature: iteration_proxy<iterator> iterator_wrapper(reference ref) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reference::items
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21286
      start: 21283
    functionDepth: 1
    functionLinenumber: 21283
    functionLinenumberEnd: 21286
    functionName: iterator_wrapper
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - const_reference::items
    linkageType: ''
    returnType: iteration_proxy<const_iterator>
    signature: iteration_proxy<const_iterator> iterator_wrapper(const_reference ref)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy<iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21359
      start: 21356
    functionDepth: 0
    functionLinenumber: 21356
    functionLinenumberEnd: 21359
    functionName: items
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - iteration_proxy<iterator>
    linkageType: ''
    returnType: iteration_proxy<iterator>
    signature: iteration_proxy<iterator> items() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy<const_iterator>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21367
      start: 21364
    functionDepth: 0
    functionLinenumber: 21364
    functionLinenumberEnd: 21367
    functionName: items
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 8
    functionsReached:
    - iteration_proxy<const_iterator>
    linkageType: ''
    returnType: iteration_proxy<const_iterator>
    signature: iteration_proxy<const_iterator> items() const noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: array::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21434,1
    - Dst: object::empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21449
      start: 21421
    functionDepth: 1
    functionLinenumber: 21421
    functionLinenumberEnd: 21449
    functionName: empty
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 519
    functionsReached:
    - array::empty
    - object::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: array::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21507,1
    - Dst: object::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21522
      start: 21494
    functionDepth: 1
    functionLinenumber: 21494
    functionLinenumberEnd: 21522
    functionName: size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 787
    functionsReached:
    - object::size
    - array::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: array::max_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21572,1
    - Dst: object::max_size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21578,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21587
      start: 21565
    functionDepth: 2
    functionLinenumber: 21565
    functionLinenumberEnd: 21587
    functionName: max_size
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - array::max_size
    - object::max_size
    - size
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const noexcept
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: string::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21666,1
    - Dst: binary::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21672,1
    - Dst: array::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21678,1
    - Dst: object::clear
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21691
      start: 21636
    functionDepth: 1
    functionLinenumber: 21636
    functionLinenumberEnd: 21691
    functionName: clear
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 128
    functionsReached:
    - object::clear
    - binary::clear
    - string::clear
    - array::clear
    linkageType: ''
    returnType: void
    signature: void clear() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21716,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21716,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21716,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21718,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21718,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21718,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21718,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21722,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21726,1
    - Dst: array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21730,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21732
      start: 21713
    functionDepth: 1
    functionLinenumber: 21713
    functionLinenumberEnd: 21732
    functionName: push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 199
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - std::move
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - array::push_back
    - assert_invariant
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(basic_json&& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21740,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21742
      start: 21738
    functionDepth: 2
    functionLinenumber: 21738
    functionLinenumberEnd: 21742
    functionName: operator+=(basic_json&& val)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(basic_json&& val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21751,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21751,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21751,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21753,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21753,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21753,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21753,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21757,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21761,1
    - Dst: array::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21766
      start: 21748
    functionDepth: 1
    functionLinenumber: 21748
    functionLinenumberEnd: 21766
    functionName: push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 201
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - array::push_back
    - assert_invariant
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(const basic_json& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21776
      start: 21772
    functionDepth: 2
    functionLinenumber: 21772
    functionLinenumberEnd: 21776
    functionName: operator+=(const basic_json& val)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(const basic_json& val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21801,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21801,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21801,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21803,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21803,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21803,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21803,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21807,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21811,1
    - Dst: object::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - typename object_t::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21816
      start: 21798
    functionDepth: 1
    functionLinenumber: 21798
    functionLinenumberEnd: 21816
    functionName: push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 202
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - object::insert
    - assert_invariant
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(const typename object_t::value_type& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - typename object_t::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21826
      start: 21822
    functionDepth: 2
    functionLinenumber: 21822
    functionLinenumberEnd: 21826
    functionName: operator+=(const typename object_t::value_type& val)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(const typename object_t::value_type& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21855,1
    - Dst: initializer_list_t::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21855,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21855,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21855,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21857,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21863,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21865
      start: 21853
    functionDepth: 2
    functionLinenumber: 21853
    functionLinenumberEnd: 21865
    functionName: push_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 204
    functionsReached:
    - is_object
    - push_back
    - initializer_list_t::begin
    - basic_json
    - is_string
    - initializer_list_t::size
    linkageType: ''
    returnType: void
    signature: void push_back(initializer_list_t init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21875
      start: 21871
    functionDepth: 2
    functionLinenumber: 21871
    functionLinenumberEnd: 21875
    functionName: operator+=(initializer_list_t init)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(initializer_list_t init)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21904,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21904,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21904,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21906,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21906,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21906,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21906,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21910,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21914,1
    - Dst: array::emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21919,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21919,1
    - Dst: array::emplace_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21921,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21921,1
    - Dst: array::back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21924
      start: 21901
    functionDepth: 2
    functionLinenumber: 21901
    functionLinenumberEnd: 21924
    functionName: emplace_back
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 185
    functionsReached:
    - array::emplace_back
    - std::forward<Args>
    - nlohmann::detail::type_error::create
    - is_null
    - array::back
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - assert_invariant
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference emplace_back(Args&& ... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21957,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21957,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21957,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21959,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21959,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21959,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21959,1
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21963,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21967,1
    - Dst: object::emplace
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21971,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21971,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21978
      start: 21954
    functionDepth: 1
    functionLinenumber: 21954
    functionLinenumberEnd: 21978
    functionName: emplace
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 20
    functionsReached:
    - std::forward<Args>
    - nlohmann::detail::type_error::create
    - is_null
    - begin
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - assert_invariant
    - std::string
    - JSON_THROW
    - object::emplace
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(Args&& ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21987,1
    - Dst: std::distance
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21989,1
    - Dst: array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21989,1
    - Dst: array::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21990,1
    - Dst: std::forward<Args>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21990,1
    - Dst: array::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:21991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21998
      start: 21984
    functionDepth: 1
    functionLinenumber: 21984
    functionLinenumberEnd: 21998
    functionName: insert_iterator
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - array::begin
    - JSON_ASSERT
    - std::distance
    - array::insert
    linkageType: ''
    returnType: iterator
    signature: iterator insert_iterator(const_iterator pos, Args&& ... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22025,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22025,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22028,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22030,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22030,1
    - Dst: insert_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22034,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22037,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22037,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22037,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ' val'
    argTypes:
    - const_iterator
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22038
      start: 22022
    functionDepth: 2
    functionLinenumber: 22022
    functionLinenumberEnd: 22038
    functionName: insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 84
    functionsReached:
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - insert_iterator
    - JSON_HEDLEY_LIKELY
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, const basic_json& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - ' val'
    argTypes:
    - const_iterator
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22047
      start: 22044
    functionDepth: 1
    functionLinenumber: 22044
    functionLinenumberEnd: 22047
    functionName: insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 85
    functionsReached:
    - insert
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, basic_json&& val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22076,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22076,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22079,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22081,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22081,1
    - Dst: insert_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22085,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22088,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22088,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22088,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - cnt
    - ' val'
    argTypes:
    - const_iterator
    - size_type
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22089
      start: 22073
    functionDepth: 2
    functionLinenumber: 22073
    functionLinenumberEnd: 22089
    functionName: insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 85
    functionsReached:
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - insert_iterator
    - JSON_HEDLEY_LIKELY
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, size_type cnt, const basic_json&
      val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22124,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22124,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22126,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22126,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22126,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22126,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22130,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22132,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22132,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22136,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22138,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22138,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22141,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22143,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22143,1
    - Dst: insert_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pos
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22148
      start: 22121
    functionDepth: 2
    functionLinenumber: 22121
    functionLinenumberEnd: 22148
    functionName: insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 85
    functionsReached:
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - insert_iterator
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, const_iterator first, const_iterator
      last)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22177,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22177,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22179,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22179,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22179,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22179,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22183,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22185,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22185,1
    - Dst: insert_iterator
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22189,1
    - Dst: initializer_list_t::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22189,1
    - Dst: initializer_list_t::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ilist
    argTypes:
    - const_iterator
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22190
      start: 22174
    functionDepth: 2
    functionLinenumber: 22174
    functionLinenumberEnd: 22190
    functionName: insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 85
    functionsReached:
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - insert_iterator
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - is_array
    - initializer_list_t::begin
    - std::string
    - JSON_THROW
    - initializer_list_t::end
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, initializer_list_t ilist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22218,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22218,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22220,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22220,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22220,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22220,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22224,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22226,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22226,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22230,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22230,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22232,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22232,1
    - Dst: object::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22236
      start: 22215
    functionDepth: 1
    functionLinenumber: 22215
    functionLinenumberEnd: 22236
    functionName: insert
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 86
    functionsReached:
    - nlohmann::detail::type_error::create
    - nlohmann::detail::invalid_iterator::create
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - object::insert
    - const_iterator::m_object::is_object
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void insert(const_iterator first, const_iterator last)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22260,1
    - Dst: create<object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22263,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22264,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22267,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22267,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22269,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22269,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22269,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22269,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22271,1
    - Dst: const_reference::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22271,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22273,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22273,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22273,1
    - Dst: const_reference::type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22273,1
    - Dst: const_reference::cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22276,1
    - Dst: const_reference::cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22276,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22278,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22278,1
    - Dst: auto::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - j
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22280
      start: 22257
    functionDepth: 2
    functionLinenumber: 22257
    functionLinenumberEnd: 22280
    functionName: update
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - const_reference::is_object
    - nlohmann::detail::type_error::create
    - is_null
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - const_reference::cend
    - object
    - assert_invariant
    - const_reference::type_name
    - create<object_t>
    - const_reference::cbegin
    - std::string
    - JSON_THROW
    - auto::key
    - auto::value
    linkageType: ''
    returnType: void
    signature: void update(const_reference j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22311,1
    - Dst: create<object_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22314,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22315,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22318,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22318,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22320,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22320,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22320,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22320,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22324,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22326,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22326,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22330,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22330,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22331,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22333,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22333,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22338,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22338,1
    - Dst: auto::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22340
      start: 22308
    functionDepth: 2
    functionLinenumber: 22308
    functionLinenumberEnd: 22340
    functionName: update
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::type_error::create
    - is_null
    - nlohmann::detail::invalid_iterator::create
    - is_object
    - type_name
    - JSON_HEDLEY_UNLIKELY
    - object
    - assert_invariant
    - const_iterator::m_object::is_object
    - create<object_t>
    - std::string
    - JSON_THROW
    - auto::key
    - auto::value
    linkageType: ''
    returnType: void
    signature: void update(const_iterator first, const_iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22366,1
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22367,1
    - Dst: assert_invariant
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22369
      start: 22359
    functionDepth: 1
    functionLinenumber: 22359
    functionLinenumberEnd: 22369
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 26
    functionsReached:
    - assert_invariant
    - std::swap
    linkageType: ''
    returnType: void
    signature: "void swap(reference other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reference::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - reference
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22397
      start: 22389
    functionDepth: 1
    functionLinenumber: 22389
    functionLinenumberEnd: 22397
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 27
    functionsReached:
    - reference::swap
    linkageType: ''
    returnType: friend
    signature: "friend swap(reference left, reference right) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value\n    )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22422,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22422,1
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22424,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22428,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22428,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22428,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22430
      start: 22419
    functionDepth: 1
    functionLinenumber: 22419
    functionLinenumberEnd: 22430
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 28
    functionsReached:
    - std::swap
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - type_name
    - is_array
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void swap(array_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22455,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22455,1
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22457,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22461,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22461,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22461,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22463
      start: 22452
    functionDepth: 1
    functionLinenumber: 22452
    functionLinenumberEnd: 22463
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 29
    functionsReached:
    - std::swap
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - is_object
    - type_name
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void swap(object_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22488,1
    - Dst: is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22488,1
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22490,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22494,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22494,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22494,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22496
      start: 22485
    functionDepth: 1
    functionLinenumber: 22485
    functionLinenumberEnd: 22496
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 30
    functionsReached:
    - std::swap
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - type_name
    - std::string
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void swap(string_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22521,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22521,1
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22523,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22527,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22527,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22527,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22529
      start: 22518
    functionDepth: 1
    functionLinenumber: 22518
    functionLinenumberEnd: 22529
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 31
    functionsReached:
    - std::swap
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - is_binary
    - type_name
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void swap(binary_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22535,1
    - Dst: is_binary
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22535,1
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22537,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22541,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22541,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22541,1
    - Dst: type_name
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22543
      start: 22532
    functionDepth: 1
    functionLinenumber: 22532
    functionLinenumberEnd: 22543
    functionName: swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 32
    functionsReached:
    - std::swap
    - nlohmann::detail::type_error::create
    - JSON_HEDLEY_LIKELY
    - is_binary
    - type_name
    - std::string
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void swap(typename binary_t::container_type& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22687
      start: 22684
    functionDepth: 0
    functionLinenumber: 22684
    functionLinenumberEnd: 22687
    functionName: operator==(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22698
      start: 22695
    functionDepth: 0
    functionLinenumber: 22695
    functionLinenumberEnd: 22698
    functionName: operator==(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22721
      start: 22718
    functionDepth: 0
    functionLinenumber: 22718
    functionLinenumberEnd: 22721
    functionName: operator!=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator!=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22732
      start: 22729
    functionDepth: 0
    functionLinenumber: 22729
    functionLinenumberEnd: 22732
    functionName: operator!=(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22743
      start: 22740
    functionDepth: 0
    functionLinenumber: 22740
    functionLinenumberEnd: 22743
    functionName: operator!=(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: const_reference::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22773,1
    - Dst: const_reference::type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22774,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22815,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22819,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22823,1
    - Dst: static_cast<number_float_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22827,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22831,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22835,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22842
      start: 22771
    functionDepth: 0
    functionLinenumber: 22771
    functionLinenumberEnd: 22842
    functionName: operator<(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<number_integer_t>
    - const_reference::type
    - static_cast<number_float_t>
    linkageType: ''
    returnType: friend
    signature: friend operator<(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22853
      start: 22850
    functionDepth: 0
    functionLinenumber: 22850
    functionLinenumberEnd: 22853
    functionName: operator<(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22864
      start: 22861
    functionDepth: 0
    functionLinenumber: 22861
    functionLinenumberEnd: 22864
    functionName: operator<(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22888
      start: 22885
    functionDepth: 0
    functionLinenumber: 22885
    functionLinenumberEnd: 22888
    functionName: operator<=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator<=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22899
      start: 22896
    functionDepth: 0
    functionLinenumber: 22896
    functionLinenumberEnd: 22899
    functionName: operator<=(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22910
      start: 22907
    functionDepth: 0
    functionLinenumber: 22907
    functionLinenumberEnd: 22910
    functionName: operator<=(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22934
      start: 22931
    functionDepth: 0
    functionLinenumber: 22931
    functionLinenumberEnd: 22934
    functionName: operator>(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22945
      start: 22942
    functionDepth: 0
    functionLinenumber: 22942
    functionLinenumberEnd: 22945
    functionName: operator>(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22956
      start: 22953
    functionDepth: 0
    functionLinenumber: 22953
    functionLinenumberEnd: 22956
    functionName: operator>(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22980
      start: 22977
    functionDepth: 0
    functionLinenumber: 22977
    functionLinenumberEnd: 22980
    functionName: operator>=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:22990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22991
      start: 22988
    functionDepth: 0
    functionLinenumber: 22988
    functionLinenumberEnd: 22991
    functionName: operator>=(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23002
      start: 22999
    functionDepth: 0
    functionLinenumber: 22999
    functionLinenumberEnd: 23002
    functionName: operator>=(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23047,1
    - Dst: width
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23048,1
    - Dst: width
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23051,1
    - Dst: detail::output_adapter<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23054,1
    - Dst: fill
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23054,1
    - Dst: serializer::dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23055,1
    - Dst: static_cast<unsigned int>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' o'
    - ' j'
    argTypes:
    - std::ostream
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23057
      start: 23044
    functionDepth: 1
    functionLinenumber: 23044
    functionLinenumberEnd: 23057
    functionName: '& operator<<(std::ostream& o, const basic_json& j)'
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - serializer::dump
    - width
    - detail::output_adapter<char>
    - fill
    linkageType: ''
    returnType: friend
    signature: friend & operator<<(std::ostream& o, const basic_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23181,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23181,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23181,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23183
      start: 23173
    functionDepth: 3
    functionLinenumber: 23173
    functionLinenumberEnd: 23183
    functionName: parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 46
    functionsReached:
    - std::move
    - nlohmann::detail::input_adapter
    - parser
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT parse(IteratorType first,\n                            IteratorType
      last,\n                            const parser_callback_t cb = nullptr,\n                            const
      bool allow_exceptions = true,\n                            const bool ignore_comments
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23193,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23195
      start: 23187
    functionDepth: 2
    functionLinenumber: 23187
    functionLinenumberEnd: 23195
    functionName: parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 46
    functionsReached:
    - get
    - parser
    linkageType: ''
    returnType: basic_json
    signature: "basic_json parse(detail::span_input_adapter&& i,\n                            const
      parser_callback_t cb = nullptr,\n                            const bool allow_exceptions
      = true,\n                            const bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23231,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23231,1
    - Dst: std::forward<InputType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23232
      start: 23228
    functionDepth: 3
    functionLinenumber: 23228
    functionLinenumberEnd: 23232
    functionName: accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::input_adapter
    - std::forward<InputType>
    - parser
    linkageType: ''
    returnType: bool
    signature: "bool accept(InputType&& i,\n                       const bool ignore_comments
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23238,1
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23238,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23238,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23239
      start: 23235
    functionDepth: 3
    functionLinenumber: 23235
    functionLinenumberEnd: 23239
    functionName: accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - nlohmann::detail::input_adapter
    - parser
    linkageType: ''
    returnType: bool
    signature: "bool accept(IteratorType first, IteratorType last,\n                       const
      bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23246,1
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23247
      start: 23243
    functionDepth: 2
    functionLinenumber: 23243
    functionLinenumberEnd: 23247
    functionName: accept
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - get
    - parser
    linkageType: ''
    returnType: bool
    signature: "bool accept(detail::span_input_adapter&& i,\n                       const
      bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23296,1
    - Dst: std::forward<InputType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23296,1
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23298,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23298,1
    - Dst: detail::binary_reader<basic_json, decltype(ia), SAX>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23299,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' i'
    - sax
    argTypes:
    - InputType
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23300
      start: 23291
    functionDepth: 3
    functionLinenumber: 23291
    functionLinenumberEnd: 23300
    functionName: sax_parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - detail::binary_reader<basic_json, decltype(ia), SAX>
    - parser
    - std::move
    - nlohmann::detail::input_adapter
    - std::forward<InputType>
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(InputType&& i, SAX* sax,\n                          input_format_t
      format = input_format_t::json,\n                          const bool strict
      = true,\n                          const bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23309,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23309,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23309,1
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23311,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23311,1
    - Dst: detail::binary_reader<basic_json, decltype(ia), SAX>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23312,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - first
    - last
    - sax
    argTypes:
    - IteratorType
    - IteratorType
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23313
      start: 23304
    functionDepth: 3
    functionLinenumber: 23304
    functionLinenumberEnd: 23313
    functionName: sax_parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - parser
    - detail::binary_reader<basic_json, decltype(ia), SAX>
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(IteratorType first, IteratorType last, SAX* sax,\n
      \                         input_format_t format = input_format_t::json,\n                          const
      bool strict = true,\n                          const bool ignore_comments =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23323,1
    - Dst: parser
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23325,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23325,1
    - Dst: detail::binary_reader<basic_json, decltype(ia), SAX>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23326,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' i'
    - sax
    argTypes:
    - detail::span_input_adapter
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23327
      start: 23318
    functionDepth: 2
    functionLinenumber: 23318
    functionLinenumberEnd: 23327
    functionName: sax_parse
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - detail::binary_reader<basic_json, decltype(ia), SAX>
    - get
    - parser
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(detail::span_input_adapter&& i, SAX* sax,\n                          input_format_t
      format = input_format_t::json,\n                          const bool strict
      = true,\n                          const bool ignore_comments = false)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23435
      start: 23411
    functionDepth: 0
    functionLinenumber: 23411
    functionLinenumberEnd: 23435
    functionName: type_name
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * type_name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23561
      start: 23558
    functionDepth: 0
    functionLinenumber: 23558
    functionLinenumberEnd: 23561
    functionName: to_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_cbor(const basic_json& j, detail::output_adapter<uint8_t> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23566
      start: 23563
    functionDepth: 0
    functionLinenumber: 23563
    functionLinenumberEnd: 23566
    functionName: to_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_cbor(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23651
      start: 23646
    functionDepth: 1
    functionLinenumber: 23646
    functionLinenumberEnd: 23651
    functionName: to_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - to_msgpack
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> to_msgpack(const basic_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23656
      start: 23653
    functionDepth: 0
    functionLinenumber: 23653
    functionLinenumberEnd: 23656
    functionName: to_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_msgpack(const basic_json& j, detail::output_adapter<uint8_t>
      o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23661
      start: 23658
    functionDepth: 0
    functionLinenumber: 23658
    functionLinenumberEnd: 23661
    functionName: to_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23756
      start: 23749
    functionDepth: 1
    functionLinenumber: 23749
    functionLinenumberEnd: 23756
    functionName: to_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - to_ubjson
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> to_ubjson(const basic_json& j,\n                                          const
      bool use_size = false,\n                                          const bool
      use_type = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23762
      start: 23758
    functionDepth: 0
    functionLinenumber: 23758
    functionLinenumberEnd: 23762
    functionName: to_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void to_ubjson(const basic_json& j, detail::output_adapter<uint8_t>
      o,\n                          const bool use_size = false, const bool use_type
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23768
      start: 23764
    functionDepth: 0
    functionLinenumber: 23764
    functionLinenumberEnd: 23768
    functionName: to_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: "void to_ubjson(const basic_json& j, detail::output_adapter<char> o,\n
      \                         const bool use_size = false, const bool use_type =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_bson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23832
      start: 23827
    functionDepth: 1
    functionLinenumber: 23827
    functionLinenumberEnd: 23832
    functionName: to_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - to_bson
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> to_bson(const basic_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23845
      start: 23842
    functionDepth: 0
    functionLinenumber: 23842
    functionLinenumberEnd: 23845
    functionName: to_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_bson(const basic_json& j, detail::output_adapter<uint8_t> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23853
      start: 23850
    functionDepth: 0
    functionLinenumber: 23850
    functionLinenumberEnd: 23853
    functionName: to_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_bson(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23967,1
    - Dst: std::forward<InputType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23967,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23968,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23968,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23970
      start: 23959
    functionDepth: 3
    functionLinenumber: 23959
    functionLinenumberEnd: 23970
    functionName: from_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::forward<InputType>
    - nlohmann::detail::input_adapter
    - basic_json
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_cbor(InputType&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true,\n                                const cbor_tag_handler_t tag_handler
      = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23984,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23984,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23984,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23985,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23985,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23987
      start: 23976
    functionDepth: 3
    functionLinenumber: 23976
    functionLinenumberEnd: 23987
    functionName: from_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    - std::move
    - binary_reader<decltype(ia)>
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_cbor(IteratorType first, IteratorType
      last,\n                                const bool strict = true,\n                                const
      bool allow_exceptions = true,\n                                const cbor_tag_handler_t
      tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_cbor
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:23997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23998
      start: 23992
    functionDepth: 1
    functionLinenumber: 23992
    functionLinenumberEnd: 23998
    functionName: from_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - from_cbor
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_cbor(const T* ptr, std::size_t len,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true,\n                                const cbor_tag_handler_t tag_handler
      = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24010,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24011,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24011,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24013
      start: 24003
    functionDepth: 2
    functionLinenumber: 24003
    functionLinenumberEnd: 24013
    functionName: from_cbor
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - basic_json
    - std::move
    - get
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_cbor(detail::span_input_adapter&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true,\n                                const cbor_tag_handler_t tag_handler
      = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24109,1
    - Dst: std::forward<InputType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24109,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24110,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24110,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24112
      start: 24102
    functionDepth: 3
    functionLinenumber: 24102
    functionLinenumberEnd: 24112
    functionName: from_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::forward<InputType>
    - nlohmann::detail::input_adapter
    - basic_json
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_msgpack(InputType&& i,\n                                   const
      bool strict = true,\n                                   const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24125,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24125,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24125,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24126,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24126,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24128
      start: 24118
    functionDepth: 3
    functionLinenumber: 24118
    functionLinenumberEnd: 24128
    functionName: from_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    - std::move
    - binary_reader<decltype(ia)>
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_msgpack(IteratorType first, IteratorType
      last,\n                                   const bool strict = true,\n                                   const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_msgpack
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24139
      start: 24134
    functionDepth: 1
    functionLinenumber: 24134
    functionLinenumberEnd: 24139
    functionName: from_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - from_msgpack
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_msgpack(const T* ptr, std::size_t len,\n                                   const
      bool strict = true,\n                                   const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24149,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24150,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24150,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24152
      start: 24143
    functionDepth: 2
    functionLinenumber: 24143
    functionLinenumberEnd: 24152
    functionName: from_msgpack
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - basic_json
    - std::move
    - get
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_msgpack(detail::span_input_adapter&& i,\n                                   const
      bool strict = true,\n                                   const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24225,1
    - Dst: std::forward<InputType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24225,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24226,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24226,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24228
      start: 24218
    functionDepth: 3
    functionLinenumber: 24218
    functionLinenumberEnd: 24228
    functionName: from_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::forward<InputType>
    - nlohmann::detail::input_adapter
    - basic_json
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_ubjson(InputType&& i,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24241,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24241,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24241,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24242,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24242,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24244
      start: 24234
    functionDepth: 3
    functionLinenumber: 24234
    functionLinenumberEnd: 24244
    functionName: from_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    - std::move
    - binary_reader<decltype(ia)>
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_ubjson(IteratorType first, IteratorType
      last,\n                                  const bool strict = true,\n                                  const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_ubjson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24254
      start: 24249
    functionDepth: 1
    functionLinenumber: 24249
    functionLinenumberEnd: 24254
    functionName: from_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - from_ubjson
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_ubjson(const T* ptr, std::size_t len,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24264,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24265,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24265,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24267
      start: 24258
    functionDepth: 2
    functionLinenumber: 24258
    functionLinenumberEnd: 24267
    functionName: from_ubjson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - basic_json
    - std::move
    - get
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_ubjson(detail::span_input_adapter&& i,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24338,1
    - Dst: std::forward<InputType>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24338,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24339,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24339,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24341
      start: 24331
    functionDepth: 3
    functionLinenumber: 24331
    functionLinenumberEnd: 24341
    functionName: from_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::forward<InputType>
    - nlohmann::detail::input_adapter
    - basic_json
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bson(InputType&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::input_adapter
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24354,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24354,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24354,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24355,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24355,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24357
      start: 24347
    functionDepth: 3
    functionLinenumber: 24347
    functionLinenumberEnd: 24357
    functionName: from_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    - std::move
    - binary_reader<decltype(ia)>
    - nlohmann::detail::input_adapter
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bson(IteratorType first, IteratorType
      last,\n                                const bool strict = true,\n                                const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_bson
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24367
      start: 24362
    functionDepth: 1
    functionLinenumber: 24362
    functionLinenumberEnd: 24367
    functionName: from_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - from_bson
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_bson(const T* ptr, std::size_t len,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24377,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24378,1
    - Dst: std::move
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24378,1
    - Dst: basic_json
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24380
      start: 24371
    functionDepth: 2
    functionLinenumber: 24371
    functionLinenumberEnd: 24380
    functionName: from_bson
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - basic_json
    - std::move
    - get
    - binary_reader<decltype(ia)>
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_bson(detail::span_input_adapter&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24426
      start: 24423
    functionDepth: 0
    functionLinenumber: 24423
    functionLinenumberEnd: 24426
    functionName: operator[](const json_pointer& ptr)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: reference
    signature: reference operator[](const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24454
      start: 24451
    functionDepth: 0
    functionLinenumber: 24451
    functionLinenumberEnd: 24454
    functionName: operator[](const json_pointer& ptr) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const json_pointer& ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24497
      start: 24494
    functionDepth: 0
    functionLinenumber: 24494
    functionLinenumberEnd: 24497
    functionName: at
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 330
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: reference
    signature: reference at(const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24540
      start: 24537
    functionDepth: 0
    functionLinenumber: 24537
    functionLinenumberEnd: 24540
    functionName: at
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 330
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const json_pointer& ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::flatten
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24569
      start: 24564
    functionDepth: 4
    functionLinenumber: 24564
    functionLinenumberEnd: 24569
    functionName: flatten
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::flatten
    linkageType: ''
    returnType: basic_json
    signature: basic_json flatten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::unflatten
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24604
      start: 24601
    functionDepth: 2
    functionLinenumber: 24601
    functionLinenumberEnd: 24604
    functionName: unflatten
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::unflatten
    linkageType: ''
    returnType: basic_json
    signature: basic_json unflatten() const
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24704,1
    - Dst: top
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24711,1
    - Dst: basic_json::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24714,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24718,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24719,1
    - Dst: push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24737,1
    - Dst: nlohmann::json_pointer::array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24741,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24742,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24742,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24745,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24745,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24745,1
    - Dst: insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24749,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24749,1
    - Dst: static_cast<difference_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24749,1
    - Dst: JSON_ASSERT
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24756,1
    - Dst: back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24764,1
    - Dst: pop_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24765,1
    - Dst: basic_json::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24766,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24769,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24772,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24773,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24773,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24775,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24779,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24779,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24782,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24785,1
    - Dst: nlohmann::json_pointer::array_index
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24785,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24790,1
    - Dst: is_array
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24790,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24792,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24792,1
    - Dst: m_value::object::find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24804,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24810,1
    - Dst: m_value::object::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24810,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24812,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24812,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24816,1
    - Dst: auto::second::is_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24816,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24818,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24818,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24826,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24826,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24828,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24828,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24832,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24833,1
    - Dst: get_op
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24836,1
    - Dst: operation_add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24840,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24840,1
    - Dst: operation_remove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24846,1
    - Dst: basic_json::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24853,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24853,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24859,1
    - Dst: basic_json::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24863,1
    - Dst: operation_remove
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24869,1
    - Dst: operation_add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24870,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24876,1
    - Dst: basic_json::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24880,1
    - Dst: operation_add
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24885,1
    - Dst: basic_json::at
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24896,1
    - Dst: get_value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24896,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24904,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24906,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24906,1
    - Dst: dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24906,1
    - Dst: JSON_THROW
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24916,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24916,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 110
    argCount: 1
    argNames:
    - ' json_patch'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24919
      start: 24662
    functionDepth: 3
    functionLinenumber: 24662
    functionLinenumberEnd: 24919
    functionName: patch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - insert
    - basic_json::at
    - dump
    - back
    - is_object
    - JSON_HEDLEY_LIKELY
    - end
    - push_back
    - is_array
    - nlohmann::json_pointer::array_index
    - find
    - nlohmann::detail::out_of_range::create
    - operation_add
    - get_op
    - operation_remove
    - m_value::object::find
    - top
    - get_value
    - size
    - begin
    - static_cast<difference_type>
    - nlohmann::detail::other_error::create
    - JSON_HEDLEY_UNLIKELY
    - std::to_string
    - JSON_THROW
    - nlohmann::detail::parse_error::create
    - JSON_ASSERT
    - auto::second::is_string
    - erase
    - m_value::object::end
    - empty
    - pop_back
    linkageType: ''
    returnType: basic_json
    signature: basic_json patch(const basic_json& json_patch) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24970,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24970,1
    - Dst: basic_json::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24973,1
    - Dst: type
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24980,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24986,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24986,1
    - Dst: diff
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24989,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24989,1
    - Dst: basic_json::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24990,1
    - Dst: basic_json::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24990,1
    - Dst: auto::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24990,1
    - Dst: auto::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24990,1
    - Dst: static_cast<difference_type>
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24998,1
    - Dst: basic_json::size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24998,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:24999,1
    - Dst: basic_json::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25003,1
    - Dst: basic_json::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25003,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25003,1
    - Dst: std::to_string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25006,1
    - Dst: size
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25012,1
    - Dst: basic_json::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25014,1
    - Dst: cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25029,1
    - Dst: cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25029,1
    - Dst: nlohmann::escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25032,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25032,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25034,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25034,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25034,1
    - Dst: diff
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25037,1
    - Dst: auto::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25037,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25037,1
    - Dst: basic_json::insert
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25038,1
    - Dst: basic_json::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25038,1
    - Dst: auto::begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25038,1
    - Dst: auto::end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25038,1
    - Dst: basic_json::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25043,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25043,1
    - Dst: cbegin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25051,1
    - Dst: cend
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25051,1
    - Dst: find
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25053,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25053,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25053,1
    - Dst: nlohmann::escape
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25056,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25056,1
    - Dst: basic_json::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25057,1
    - Dst: auto::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25060,1
    - Dst: basic_json::push_back
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25071,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - ' source'
    - ' target'
    argTypes:
    - basic_json
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25080
      start: 24957
    functionDepth: 3
    functionLinenumber: 24957
    functionLinenumberEnd: 25080
    functionName: diff
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - cbegin
    - basic_json::end
    - end
    - diff
    - cend
    - find
    - type
    - nlohmann::escape
    - auto::key
    - size
    - auto::begin
    - basic_json::insert
    - static_cast<difference_type>
    - std::to_string
    - basic_json::push_back
    - object
    - auto::end
    - basic_json::begin
    - auto::value
    - basic_json::size
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT diff(const basic_json& source, const
      basic_json& target,\n                           const std::string& path = \"\")"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25135,1
    - Dst: is_object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25137,1
    - Dst: object
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25139,1
    - Dst: begin
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25141,1
    - Dst: end
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25141,1
    - Dst: auto::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25143,1
    - Dst: erase
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25145,1
    - Dst: auto::key
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25145,1
    - Dst: merge_patch
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25149,1
    - Dst: auto::value
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' apply_patch'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25157
      start: 25133
    functionDepth: 3
    functionLinenumber: 25133
    functionLinenumberEnd: 25157
    functionName: merge_patch
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 1
    functionsReached:
    - begin
    - erase
    - is_object
    - end
    - object
    - auto::value
    - auto::key
    - merge_patch
    linkageType: ''
    returnType: void
    signature: void merge_patch(const basic_json& apply_patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - NLOHMANN_BASIC_JSON_TPL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25175
      start: 25171
    functionDepth: 0
    functionLinenumber: 25171
    functionLinenumberEnd: 25175
    functionName: std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - dump
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25198
      start: 25195
    functionDepth: 2
    functionLinenumber: 25195
    functionLinenumberEnd: 25198
    functionName: operator()(const nlohmann::json& j) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::hash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const nlohmann::json& j) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::operator<
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - nlohmann::detail::value_t
    - nlohmann::detail::value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25215
      start: 25211
    functionDepth: 0
    functionLinenumber: 25211
    functionLinenumberEnd: 25215
    functionName: "operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
      rhs) const noexcept"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::operator<
    linkageType: ''
    returnType: bool
    signature: "bool operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
      rhs) const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j1'
    - ' j2'
    argTypes:
    - nlohmann::json
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25233
      start: 25227
    functionDepth: 1
    functionLinenumber: 25227
    functionLinenumberEnd: 25233
    functionName: std::swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 28
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: "void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2)
      noexcept(\n    is_nothrow_move_constructible<nlohmann::json>::value&&\n    is_nothrow_move_assignable<nlohmann::json>::value\n
      \                             )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::hash
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25198
      start: 25195
    functionDepth: 2
    functionLinenumber: 25195
    functionLinenumberEnd: 25198
    functionName: operator()(const nlohmann::json& j) const
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::hash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const nlohmann::json& j) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::operator<
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - nlohmann::detail::value_t
    - nlohmann::detail::value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25215
      start: 25211
    functionDepth: 0
    functionLinenumber: 25211
    functionLinenumberEnd: 25215
    functionName: "operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
      rhs) const noexcept"
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::operator<
    linkageType: ''
    returnType: bool
    signature: "bool operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
      rhs) const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j1'
    - ' j2'
    argTypes:
    - nlohmann::json
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25233
      start: 25227
    functionDepth: 1
    functionLinenumber: 25227
    functionLinenumberEnd: 25233
    functionName: std::swap
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 29
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: "void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2)
      noexcept(\n    is_nothrow_move_constructible<nlohmann::json>::value&&\n    is_nothrow_move_assignable<nlohmann::json>::value\n
      \                             )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yyparse
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25256
      start: 25253
    functionDepth: 0
    functionLinenumber: 25253
    functionLinenumberEnd: 25256
    functionName: operator "" _json(const char* s, std::size_t n)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - yyparse
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json operator "" _json(const char* s, std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25274,1
    - Dst: std::string
      Src: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp:25274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25275
      start: 25272
    functionDepth: 3
    functionLinenumber: 25272
    functionLinenumberEnd: 25275
    functionName: operator "" _json_pointer(const char* s, std::size_t n)
    functionSourceFile: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - nlohmann::json_pointer::json_pointer
    linkageType: ''
    returnType: nlohmann::json::json_pointer
    signature: nlohmann::json::json_pointer operator "" _json_pointer(const char*
      s, std::size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:21,1
    - Dst: proj_create_crs_to_crs
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:23,1
    - Dst: fprintf
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:28,1
    - Dst: proj_normalize_for_visualization
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:35,1
    - Dst: fprintf
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:37,1
    - Dst: proj_destroy
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:40,1
    - Dst: proj_coord
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:47,1
    - Dst: proj_trans
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:50,1
    - Dst: printf
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:51,1
    - Dst: proj_trans
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:53,1
    - Dst: printf
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:54,1
    - Dst: proj_destroy
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:57,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/examples/pj_obs_api_mini_demo.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 13
    functionDepth: 6
    functionLinenumber: 13
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/PROJ/examples/pj_obs_api_mini_demo.c
    functionUses: 5
    functionsReached:
    - printf
    - proj_create_crs_to_crs
    - proj_context_destroy
    - proj_normalize_for_visualization
    - proj_destroy
    - proj_context_create
    - proj_coord
    - proj_trans
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_context_create
      Src: /src/PROJ/examples/crs_to_geodetic.c:18,1
    - Dst: proj_create
      Src: /src/PROJ/examples/crs_to_geodetic.c:21,1
    - Dst: fprintf
      Src: /src/PROJ/examples/crs_to_geodetic.c:24,1
    - Dst: proj_crs_get_geodetic_crs
      Src: /src/PROJ/examples/crs_to_geodetic.c:29,1
    - Dst: proj_create_crs_to_crs_from_pj
      Src: /src/PROJ/examples/crs_to_geodetic.c:34,1
    - Dst: printf
      Src: /src/PROJ/examples/crs_to_geodetic.c:45,1
    - Dst: proj_trans
      Src: /src/PROJ/examples/crs_to_geodetic.c:49,1
    - Dst: printf
      Src: /src/PROJ/examples/crs_to_geodetic.c:50,1
    - Dst: proj_trans
      Src: /src/PROJ/examples/crs_to_geodetic.c:54,1
    - Dst: printf
      Src: /src/PROJ/examples/crs_to_geodetic.c:55,1
    - Dst: proj_destroy
      Src: /src/PROJ/examples/crs_to_geodetic.c:59,1
    - Dst: proj_destroy
      Src: /src/PROJ/examples/crs_to_geodetic.c:60,1
    - Dst: proj_destroy
      Src: /src/PROJ/examples/crs_to_geodetic.c:61,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/examples/crs_to_geodetic.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 13
    functionDepth: 10
    functionLinenumber: 13
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/PROJ/examples/crs_to_geodetic.c
    functionUses: 5
    functionsReached:
    - printf
    - proj_create
    - proj_context_destroy
    - proj_destroy
    - proj_create_crs_to_crs_from_pj
    - proj_context_create
    - proj_trans
    - fprintf
    - proj_crs_get_geodetic_crs
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatabaseContext::create
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:26,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:31,1
    - Dst: std::string
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:31,1
    - Dst: CoordinateOperationContext::create
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:37,1
    - Dst: AuthorityFactory::create
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:40,1
    - Dst: auto::createCoordinateReferenceSystem
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:43,1
    - Dst: NN_CHECK_THROW
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:50,1
    - Dst: nn_dynamic_pointer_cast<CRS>
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:50,1
    - Dst: createFromUserInput
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:50,1
    - Dst: CoordinateOperationFactory::create
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:55,1
    - Dst: assert
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:65,1
    - Dst: auto::empty
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:65,1
    - Dst: proj_context_create
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:68,1
    - Dst: coordinateTransformer
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:71,1
    - Dst: auto::transform
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:80,1
    - Dst: std::setprecision
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:83,1
    - Dst: proj_context_destroy
      Src: /src/PROJ/examples/EPSG_4326_to_32631.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!list.empty())
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/PROJ/examples/EPSG_4326_to_32631.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/PROJ/examples/EPSG_4326_to_32631.cpp
    functionUses: 5
    functionsReached:
    - NN_CHECK_THROW
    - createFromUserInput
    - coordinateTransformer
    - nn_dynamic_pointer_cast<CRS>
    - CoordinateOperationContext::create
    - auto::createCoordinateReferenceSystem
    - proj_context_destroy
    - assert
    - auto::transform
    - std::setprecision
    - proj_context_create
    - DatabaseContext::create
    - std::string
    - auto::empty
    - AuthorityFactory::create
    - CoordinateOperationFactory::create
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: howmany
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:75,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:79,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:80,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:83,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:86,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:90,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:91,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:94,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:97,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:99,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:100,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:103,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:106,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:107,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:108,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:109,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:110,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:111,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:112,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:115,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:118,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:119,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:120,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:121,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:122,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:123,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:129,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:130,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:140,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:141,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:146,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:148,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:151,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:154,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:157,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:158,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:159,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:160,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:161,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:162,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:170,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:173,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:174,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:175,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:178,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:180,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:181,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:182,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:188,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:190,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:191,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:194,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:197,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:198,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:199,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:207,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:211,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:215,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:220,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:229,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:237,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:238,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:244,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:247,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:249,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:252,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:253,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:256,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:257,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:258,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:261,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:263,1
    - Dst: SWAP
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:279,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:283,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:286,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:287,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 157
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 5
    functionsReached:
    - getopt
    - fclose
    - TIFFOpen
    - TIFFSwabLong
    - fread
    - _TIFFmemset
    - TIFFClose
    - TIFFDefaultStripSize
    - SCALE
    - processCompressOptions
    - fprintf
    - SWAP
    - usage
    - atoi
    - TIFFWriteScanline
    - strcmp
    - TIFFScanlineSize
    - TIFFSetField
    - _TIFFmalloc
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: SCALE
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: SWAP
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(a, b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:293,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:295,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:297,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:299,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:304,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:305,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:309,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:311,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:314,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:316,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:318,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:321,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:323,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 331
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 1
    functionsReached:
    - strneq
    - strchr
    - isdigit
    - usage
    - streq
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:362,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:363,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:363,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:365,1
    - Dst: exit
      Src: /src/PROJ/libtiff/archive/tools/ras2tiff.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ras2tiff.c
    functionUses: 6
    functionsReached:
    - fprintf
    - exit
    - TIFFGetVersion
    - setbuf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:61,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:68,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:70,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:72,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:74,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:75,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:76,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:77,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:81,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:83,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:85,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:89,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:92,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:94,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:97,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:100,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:103,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:107,1
    - Dst: getgdesc
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:108,1
    - Dst: getgdesc
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:109,1
    - Dst: foreground
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:110,1
    - Dst: noport
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:111,1
    - Dst: winopen
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:112,1
    - Dst: tiffsv
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:114,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:114,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:114,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:115,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:115,1
    - Dst: tiffsv
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:117,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 5
    functionsReached:
    - getopt
    - strneq
    - winopen
    - strchr
    - noport
    - isdigit
    - usage
    - tiffsv
    - streq
    - foreground
    - getgdesc
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:149,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:151,1
    - Dst: exit
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 7
    functionsReached:
    - fprintf
    - exit
    - setbuf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:157,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:158,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:187,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:187,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:190,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:190,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:193,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:193,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - tif
    - ss
    - xsize
    - ysize
    argTypes:
    - TIFF*
    - uint32_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: svRGBSeparate
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFStripSize
    - _TIFFfree
    - _TIFFmalloc
    - TIFFComputeStrip
    linkageType: ''
    returnType: void
    signature: void svRGBSeparate(TIFF *tif, uint32_t *ss, int xsize, int ysize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:203,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:204,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:226,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:226,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - tif
    - ss
    - xsize
    - ysize
    argTypes:
    - TIFF*
    - uint32_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 231
    functionName: svRGBContig
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFStripSize
    - _TIFFfree
    - _TIFFmalloc
    - TIFFComputeStrip
    linkageType: ''
    returnType: void
    signature: void svRGBContig(TIFF *tif, uint32_t *ss, int xsize, int ysize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:244,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:244,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:253,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - ss
    - xsize
    - ysize
    argTypes:
    - TIFF*
    - uint32_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: svGrey
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFmalloc
    - TIFFScanlineSize
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void svGrey(TIFF *tif, uint32_t *ss, int xsize, int ysize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: MIN
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: ABS
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:270,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:271,1
    - Dst: ABS
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:276,1
    - Dst: ABS
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:277,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:282,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:283,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:284,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:285,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:286,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:288,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:289,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:296,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:297,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:301,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:304,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:305,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:306,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:307,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:309,1
    - Dst: readdisplay
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:310,1
    - Dst: svRGBSeparate
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:314,1
    - Dst: svRGBContig
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:316,1
    - Dst: svGrey
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:319,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:320,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgisv.c:321,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 5
    argNames:
    - name
    - x1
    - x2
    - y1
    - y2
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 322
    functionName: tiffsv
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgisv.c
    functionUses: 1
    functionsReached:
    - svGrey
    - TIFFClose
    - TIFFDefaultStripSize
    - _TIFFfree
    - svRGBContig
    - ABS
    - TIFFSetField
    - _TIFFmalloc
    - svRGBSeparate
    - TIFFOpen
    - MIN
    - readdisplay
    linkageType: ''
    returnType: void
    signature: void tiffsv(char *name, int x1, int x2, int y1, int y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: abs
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 242
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int abs(int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - range
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pct
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double pct(int v, double range)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupLumaTables
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:51,1
    - Dst: check
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:56,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:57,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:59,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:60,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:61,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:68,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 5
    functionsReached:
    - check
    - abs
    - printf
    - setupLumaTables
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: setupLuma
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    linkageType: ''
    returnType: float
    signature: float *setupLuma(float c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupLuma
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:90,1
    - Dst: setupLuma
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:91,1
    - Dst: setupLuma
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: setupLumaTables
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 1
    functionsReached:
    - setupLuma
    linkageType: ''
    returnType: void
    signature: void setupLumaTables(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - RB
    - RW
    - CR
    argTypes:
    - float
    - unsigned long
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: V2Code
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned V2Code(float f, unsigned long RB, unsigned long RW, int CR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - RB
    - ','
    - RW
    - ','
    - CR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: Code2V
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Code2V(c, RB, RW, CR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: CLAMP
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(f, min, max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: V2Code
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:117,1
    - Dst: V2Code
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:118,1
    - Dst: V2Code
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:119,1
    - Dst: Code2V
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:120,1
    - Dst: Code2V
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:121,1
    - Dst: Code2V
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:122,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:126,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:127,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:128,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:129,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:129,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:129,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:131,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:132,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:133,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:134,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:135,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:136,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:136,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:136,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:142,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:143,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:144,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:147,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:147,1
    - Dst: abs
      Src: /src/PROJ/libtiff/archive/tools/ycbcr.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - R
    - G
    - B
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: check
    functionSourceFile: /src/PROJ/libtiff/archive/tools/ycbcr.c
    functionUses: 2
    functionsReached:
    - printf
    - abs
    - Code2V
    - CLAMP
    - V2Code
    linkageType: ''
    returnType: void
    signature: void check(int R, int G, int B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:65,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:69,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:70,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:73,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:75,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:78,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:81,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:83,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:86,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:89,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:92,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:96,1
    - Dst: iopen
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:97,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:103,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:104,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:105,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:106,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:117,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:118,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:124,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:127,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:129,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:130,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:131,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:136,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:138,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:139,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:140,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:142,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:143,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:145,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:147,1
    - Dst: cpContig
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:149,1
    - Dst: cpSeparate
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:151,1
    - Dst: iclose
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:152,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:153,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 5
    functionsReached:
    - getopt
    - cpContig
    - TIFFClose
    - TIFFDefaultStripSize
    - cpSeparate
    - iclose
    - usage
    - TIFFSetField
    - streq
    - processCompressOptions
    - iopen
    - TIFFOpen
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:159,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:161,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:163,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:165,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:170,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:171,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:175,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:177,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:180,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:182,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:184,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:187,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:189,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 197
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 2
    functionsReached:
    - strneq
    - strchr
    - isdigit
    - usage
    - streq
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:201,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:201,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:209,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:216,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:217,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:218,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:226,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:234,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:242,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:243,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:244,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:245,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:254,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:262,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:265,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:268,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:273,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:274,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:278,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - IMAGE*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 281
    functionName: cpContig
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 1
    functionsReached:
    - TIFFWriteScanline
    - TIFFScanlineSize
    - _TIFFfree
    - _TIFFmalloc
    - getrow
    linkageType: ''
    returnType: int
    signature: int cpContig(IMAGE *in, TIFF *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:285,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:285,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:286,1
    - Dst: getrow
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:294,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:297,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:301,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:302,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:305,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - IMAGE*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 308
    functionName: cpSeparate
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 1
    functionsReached:
    - TIFFWriteScanline
    - TIFFScanlineSize
    - _TIFFfree
    - _TIFFmalloc
    - getrow
    linkageType: ''
    returnType: int
    signature: int cpSeparate(IMAGE *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:342,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:344,1
    - Dst: exit
      Src: /src/PROJ/libtiff/archive/tools/sgi2tiff.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    - setbuf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - gam
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: makegamtab
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: void
    signature: void makegamtab(float gam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:90,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:91,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:91,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:93,1
    - Dst: exit
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    - TIFFGetVersion
    - setbuf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:142,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:146,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:147,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:150,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:153,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:157,1
    - Dst: makegamtab
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:159,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:162,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:165,1
    - Dst: printf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:166,1
    - Dst: fflush
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:167,1
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:168,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:172,1
    - Dst: perror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:174,1
    - Dst: convert
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:177,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 5
    functionsReached:
    - printf
    - getopt
    - makegamtab
    - fflush
    - getc
    - usage
    - fclose
    - perror
    - processCompressOptions
    - atoi
    - fopen
    - convert
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:184,1
    - Dst: streq
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:186,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:188,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:190,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:192,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:195,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:197,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 3
    functionsReached:
    - strchr
    - strneq
    - atoi
    - streq
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checksignature
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:212,1
    - Dst: readscreen
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:214,1
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:216,1
    - Dst: readgifimage
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:223,1
    - Dst: readextension
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:228,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 237
    functionName: convert
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 9
    functionsReached:
    - checksignature
    - readextension
    - getc
    - readgifimage
    - readscreen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int convert(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:243,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:245,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:246,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:249,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:251,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: checksignature
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached:
    - strncmp
    - fread
    - fprintf
    - strerror
    linkageType: ''
    returnType: int
    signature: int checksignature(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:271,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:273,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:274,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:281,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:284,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 290
    functionName: readscreen
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached:
    - fread
    - fprintf
    - strerror
    linkageType: ''
    returnType: int
    signature: int readscreen(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:301,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:303,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:304,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:313,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:318,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:330,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:332,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:339,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:341,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:344,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:345,1
    - Dst: initcolors
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:348,1
    - Dst: initcolors
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:352,1
    - Dst: readraster
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:354,1
    - Dst: rasterize
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:355,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 358
    functionName: readgifimage
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached:
    - strerror
    - _TIFFfree
    - _TIFFmalloc
    - initcolors
    - readraster
    - rasterize
    - fread
    - fprintf
    linkageType: ''
    returnType: int
    signature: int readgifimage(char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:371,1
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:372,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:373,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:375,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 381
    functionName: readextension
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached:
    - getc
    - fread
    - fprintf
    - strerror
    linkageType: ''
    returnType: int
    signature: int readextension(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:398,1
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:413,1
    - Dst: getc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:413,1
    - Dst: fread
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:415,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:417,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:418,1
    - Dst: process
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:434,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:443,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:450,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:452,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 456
    functionName: readraster
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached:
    - process
    - strerror
    - getc
    - fread
    - fprintf
    linkageType: ''
    returnType: int
    signature: int readraster(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:482,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:488,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:497,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:528,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - code
    - fill
    argTypes:
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 534
    functionName: process
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 4
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int process(register int code, unsigned char **fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - colormap
    - ncolors
    argTypes:
    - unsigned char[][]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 552
    functionName: initcolors
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initcolors(unsigned char colormap[COLSIZE][3], int ncolors)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:563,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:566,1
    - Dst: DRAWSEGMENT
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:580,1
    - Dst: DRAWSEGMENT
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:581,1
    - Dst: DRAWSEGMENT
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:582,1
    - Dst: DRAWSEGMENT
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:583,1
    - Dst: DRAWSEGMENT
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:586,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:589,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:592,1
    - Dst: exit
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:593,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:595,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:596,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:597,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:598,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:599,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:600,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:601,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:602,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:603,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:610,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:613,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:614,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:616,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:622,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:624,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:629,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/gif2tiff.c:631,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 2
    argNames:
    - interleaved
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 632
    functionName: rasterize
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached:
    - DRAWSEGMENT
    - TIFFWriteEncodedStrip
    - TIFFStripSize
    - TIFFDefaultStripSize
    - TIFFClose
    - TIFFError
    - TIFFVStripSize
    - _TIFFfree
    - _TIFFmalloc
    - TIFFSetField
    - exit
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rasterize(int interleaved, char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offset
    - ','
    - step
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: DRAWSEGMENT
    functionSourceFile: /src/PROJ/libtiff/archive/tools/gif2tiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DRAWSEGMENT(offset, step)
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:254,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:259,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:260,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:263,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:269,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:276,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:280,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:283,1
    - Dst: open
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:292,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:295,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:299,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:301,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:302,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:307,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:316,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:318,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:321,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:323,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:324,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:328,1
    - Dst: _TIFF_fstat_f
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:330,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:332,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:343,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:345,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:348,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:350,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:351,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:355,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:370,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:371,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:372,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:373,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:374,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:375,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:376,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:377,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:378,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:379,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:381,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:382,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:386,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:387,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:388,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:389,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:390,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:391,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:392,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:393,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:394,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:395,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:413,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:415,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:416,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:420,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:423,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:425,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:426,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:430,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:433,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:435,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:436,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:440,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:443,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:445,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:446,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:450,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:461,1
    - Dst: close
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:463,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:471,1
    - Dst: close
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:472,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:492,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:495,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:500,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:503,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:506,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:509,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:510,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:514,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:518,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:520,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:523,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:527,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:529,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:532,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:536,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:538,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:549,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:572,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:573,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:574,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:575,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:576,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:577,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:578,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:579,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:580,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:584,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:589,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:596,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:597,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:603,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:630,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:636,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:639,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:650,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:652,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:657,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:659,1
    - Dst: rearrangePixels
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:664,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:666,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:668,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:674,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:695,1
    - Dst: close
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:696,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:702,1
    - Dst: close
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:703,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:706,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:709,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:714,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:717,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:723,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:726,1
    - Dst: read
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:729,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:731,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:732,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:838,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:842,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:846,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:851,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:853,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:856,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:861,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:866,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:873,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:876,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:879,1
    - Dst: close
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:881,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:884,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 422
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 886
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFError
    - TIFFSwabShort
    - TIFFOpen
    - TIFFSwabLong
    - TIFFClose
    - TIFFDefaultStripSize
    - _TIFFfree
    - processCompressOptions
    - rearrangePixels
    - _TIFF_lseek_f
    - TIFFWriteDirectory
    - open
    - usage
    - _TIFF_fstat_f
    - read
    - atoi
    - TIFFWriteScanline
    - strerror
    - close
    - _TIFFmalloc
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - width
    - bit_count
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 925
    functionName: rearrangePixels
    functionSourceFile: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rearrangePixels(char *buf, uint32_t width, uint32_t bit_count)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:929,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:931,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:933,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:935,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:940,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:941,1
    - Dst: usage
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:945,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:947,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:950,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:952,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:954,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:957,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:959,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:961,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 967
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    functionUses: 4
    functionsReached:
    - strncmp
    - strcmp
    - strchr
    - isdigit
    - usage
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:1000,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:1001,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:1001,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:1003,1
    - Dst: exit
      Src: /src/PROJ/libtiff/archive/tools/bmp2tiff.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1005
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    functionUses: 12
    functionsReached:
    - fprintf
    - exit
    - TIFFGetVersion
    - setbuf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: N
    functionSourceFile: /src/PROJ/libtiff/test/rational_precision2double.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetTagExtender
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: _XTIFFInitialize
    functionSourceFile: /src/PROJ/libtiff/test/rational_precision2double.c
    functionUses: 0
    functionsReached:
    - TIFFSetTagExtender
    linkageType: ''
    returnType: void
    signature: void _XTIFFInitialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: N
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:180,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: _XTIFFDefaultDirectory
    functionSourceFile: /src/PROJ/libtiff/test/rational_precision2double.c
    functionUses: 0
    functionsReached:
    - N
    - _TIFFMergeFields
    linkageType: ''
    returnType: void
    signature: void _XTIFFDefaultDirectory(TIFF *tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _XTIFFInitialize
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:204,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:206,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:210,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:214,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:219,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:222,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:226,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:227,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:233,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:236,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:239,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:242,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:245,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:246,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:250,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:258,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:263,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:266,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:270,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:271,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:277,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:280,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:283,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:286,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:289,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/rational_precision2double.c:290,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/rational_precision2double.c
    functionUses: 5
    functionsReached:
    - write_test_tiff
    - _XTIFFInitialize
    - unlink
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/ascii_tag.c:75,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:78,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:82,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:84,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:87,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:89,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:92,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:94,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:97,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:99,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:102,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:104,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:107,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:109,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:115,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:117,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:123,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:125,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:129,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:131,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/ascii_tag.c:136,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:138,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/ascii_tag.c:142,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/ascii_tag.c:145,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:148,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:154,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/ascii_tag.c:155,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:157,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/ascii_tag.c:162,1
    - Dst: memcmp
      Src: /src/PROJ/libtiff/test/ascii_tag.c:163,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/ascii_tag.c:165,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/ascii_tag.c:169,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/ascii_tag.c:172,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/ascii_tag.c:180,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/ascii_tag.c
    functionUses: 5
    functionsReached:
    - TIFFWriteScanline
    - strcmp
    - TIFFClose
    - TIFFGetField
    - TIFFSetField
    - unlink
    - memcmp
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/custom_dir.c:72,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:75,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:79,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:81,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:86,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:89,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:91,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:94,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:96,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:99,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:101,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:104,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:106,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:109,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:111,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/custom_dir.c:116,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:118,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:122,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:124,1
    - Dst: TIFFCreateEXIFDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:131,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:133,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:137,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:140,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:144,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:146,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:155,1
    - Dst: TIFFCreateCustomDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:156,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:158,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:162,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:164,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:168,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:170,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:174,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:176,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:183,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:184,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:185,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/custom_dir.c:187,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/custom_dir.c:190,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:192,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:195,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:199,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:203,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:207,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:209,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:213,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:215,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/custom_dir.c:219,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:221,1
    - Dst: TIFFReadCustomDirectory
      Src: /src/PROJ/libtiff/test/custom_dir.c:227,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:229,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:233,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:235,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/custom_dir.c:239,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:241,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/custom_dir.c:245,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:247,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/custom_dir.c:251,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir.c:253,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/custom_dir.c:257,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/custom_dir.c:260,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/custom_dir.c:268,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 152
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/custom_dir.c
    functionUses: 5
    functionsReached:
    - TIFFWriteScanline
    - TIFFCreateCustomDirectory
    - TIFFReadEXIFDirectory
    - strcmp
    - TIFFFreeDirectory
    - TIFFClose
    - TIFFSetDirectory
    - TIFFWriteDirectory
    - TIFFGetField
    - TIFFSetField
    - unlink
    - TIFFWriteCustomDirectory
    - TIFFOpen
    - TIFFReadCustomDirectory
    - TIFFCreateEXIFDirectory
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:71,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:76,1
    - Dst: read_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:79,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:84,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/strip_rw.c:87,1
    - Dst: create_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:89,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:94,1
    - Dst: read_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:97,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:102,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/strip_rw.c:105,1
    - Dst: create_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:117,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:121,1
    - Dst: read_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:128,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/strip_rw.c:131,1
    - Dst: create_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:134,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:138,1
    - Dst: read_image_striped
      Src: /src/PROJ/libtiff/test/strip_rw.c:141,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip_rw.c:145,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/strip_rw.c:148,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/strip_rw.c:153,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/strip_rw.c
    functionUses: 5
    functionsReached:
    - read_image_striped
    - unlink
    - create_image_striped
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:84,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - tiff
    - user_data
    - module
    - fmt
    - ap
    argTypes:
    - TIFF*
    - void*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: myErrorHandler
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int myErrorHandler(TIFF *tiff, void *user_data, const char *module,\n
      \                         const char *fmt, va_list ap)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:102,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_open_options.c:103,1
    - Dst: TIFFOpenOptionsSetErrorHandlerExtR
      Src: /src/PROJ/libtiff/test/test_open_options.c:104,1
    - Dst: TIFFOpenOptionsSetWarningHandlerExtR
      Src: /src/PROJ/libtiff/test/test_open_options.c:106,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/test/test_open_options.c:108,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/test/test_open_options.c:109,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:113,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/test_open_options.c:114,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/test/test_open_options.c:118,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/test_open_options.c:119,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:121,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/test_open_options.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:126,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:131,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/test/test_open_options.c:137,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/test_open_options.c:138,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:140,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/test_open_options.c:143,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:145,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:150,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:154,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (opts)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/PROJ/libtiff/test/test_open_options.c
    constantsTouched: []
    func_position:
      end: 157
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 157
    functionName: test_error_handler
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - TIFFOpenOptionsSetWarningHandlerExtR
    - TIFFOpenOptionsAlloc
    - TIFFOpenOptionsFree
    - strcmp
    - TIFFWarningExtR
    - TIFFClose
    - TIFFOpenOptionsSetErrorHandlerExtR
    - assert
    - TIFFErrorExtR
    - unlink
    - exit
    - fprintf
    - TIFFOpenExt
    linkageType: ''
    returnType: int
    signature: int test_error_handler()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:164,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_open_options.c:165,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:166,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/test/test_open_options.c:168,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/test/test_open_options.c:169,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:174,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:178,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:185,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:191,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:192,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_open_options.c:193,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:197,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:206,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:210,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - limit
    - expected_to_fail_in_open
    - expected_to_fail_in_write_directory
    - is_big_tiff
    argTypes:
    - tmsize_t
    - int
    - int
    - bool
    assertStmts:
    - condition: (opts)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/PROJ/libtiff/test/test_open_options.c
    constantsTouched: []
    func_position:
      end: 215
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 215
    functionName: test_TIFFOpenOptionsSetMaxSingleMemAlloc
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - TIFFOpenOptionsAlloc
    - TIFFOpenOptionsFree
    - TIFFClose
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFWriteDirectory
    - assert
    - TIFFSetField
    - unlink
    - fprintf
    - TIFFOpenExt
    linkageType: ''
    returnType: int
    signature: "int test_TIFFOpenOptionsSetMaxSingleMemAlloc(\n    tmsize_t limit,
      int expected_to_fail_in_open,\n    int expected_to_fail_in_write_directory,
      bool is_big_tiff)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:222,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_open_options.c:223,1
    - Dst: TIFFOpenOptionsSetMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:224,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/test/test_open_options.c:225,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/test/test_open_options.c:226,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:231,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:235,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:242,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:248,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:249,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_open_options.c:250,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:263,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:267,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - limit
    - expected_to_fail_in_open
    - expected_to_fail_in_write_directory
    argTypes:
    - tmsize_t
    - int
    - int
    assertStmts:
    - condition: (opts)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/PROJ/libtiff/test/test_open_options.c
    constantsTouched: []
    func_position:
      end: 272
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 272
    functionName: test_TIFFOpenOptionsSetMaxCumulatedMemAlloc
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - TIFFOpenOptionsAlloc
    - TIFFOpenOptionsFree
    - TIFFClose
    - TIFFWriteDirectory
    - assert
    - fprintf
    - TIFFSetField
    - unlink
    - TIFFOpenOptionsSetMaxCumulatedMemAlloc
    - TIFFOpenExt
    linkageType: ''
    returnType: int
    signature: "int test_TIFFOpenOptionsSetMaxCumulatedMemAlloc(\n    tmsize_t limit,
      int expected_to_fail_in_open,\n    int expected_to_fail_in_write_directory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:280,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:289,1
    - Dst: TIFFIsBigTIFF
      Src: /src/PROJ/libtiff/test/test_open_options.c:297,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - tif
    - openModeString
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 311
    functionName: test_header_byte_order
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - TIFFIsBigTIFF
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_header_byte_order(TIFF *tif, char *openModeString)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_open_options.c:316,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:321,1
    - Dst: test_header_byte_order
      Src: /src/PROJ/libtiff/test/test_open_options.c:324,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:328,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:329,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:330,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_open_options.c:331,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/test_open_options.c:332,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_open_options.c:333,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:335,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:336,1
    - Dst: test_header_byte_order
      Src: /src/PROJ/libtiff/test/test_open_options.c:341,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - filename
    - openModeString
    - blnWriteIFD
    - blnClose
    - tifOut
    argTypes:
    - char*
    - char*
    - int
    - int
    - TIFF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 351
    functionName: open_file_and_write
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - test_header_byte_order
    - TIFFWriteScanline
    - TIFFClose
    - TIFFWriteDirectory
    - TIFFSetField
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int open_file_and_write(const char *filename, char *openModeString,\n
      \                       int blnWriteIFD, int blnClose, TIFF **tifOut)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:373,1
    - Dst: open_file_and_write
      Src: /src/PROJ/libtiff/test/test_open_options.c:383,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:386,1
    - Dst: open_file_and_write
      Src: /src/PROJ/libtiff/test/test_open_options.c:392,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:395,1
    - Dst: open_file_and_write
      Src: /src/PROJ/libtiff/test/test_open_options.c:402,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:405,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:410,1
    - Dst: open_file_and_write
      Src: /src/PROJ/libtiff/test/test_open_options.c:420,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:423,1
    - Dst: open_file_and_write
      Src: /src/PROJ/libtiff/test/test_open_options.c:430,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:433,1
    - Dst: TIFFUnlinkDirectory
      Src: /src/PROJ/libtiff/test/test_open_options.c:438,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:440,1
    - Dst: test_header_byte_order
      Src: /src/PROJ/libtiff/test/test_open_options.c:445,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:447,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_open_options.c:457,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:459,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_open_options.c:465,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:466,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_open_options.c:470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 472
    functionName: test_TIFFheader_swapping
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 0
    functionsReached:
    - test_header_byte_order
    - TIFFClose
    - TIFFSetDirectory
    - unlink
    - open_file_and_write
    - TIFFUnlinkDirectory
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_TIFFheader_swapping(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:477,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:478,1
    - Dst: test_TIFFheader_swapping
      Src: /src/PROJ/libtiff/test/test_open_options.c:479,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:481,1
    - Dst: test_error_handler
      Src: /src/PROJ/libtiff/test/test_open_options.c:487,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:488,1
    - Dst: test_TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:490,1
    - Dst: test_TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:491,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_open_options.c:492,1
    - Dst: test_TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:494,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:497,1
    - Dst: test_TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:499,1
    - Dst: test_TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:500,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_open_options.c:501,1
    - Dst: test_TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:502,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:505,1
    - Dst: test_TIFFOpenOptionsSetMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:507,1
    - Dst: test_TIFFOpenOptionsSetMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:508,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_open_options.c:509,1
    - Dst: test_TIFFOpenOptionsSetMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/test/test_open_options.c:510,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_open_options.c:511,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:514,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_open_options.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 520
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_open_options.c
    functionUses: 5
    functionsReached:
    - test_TIFFOpenOptionsSetMaxSingleMemAlloc
    - test_error_handler
    - strlen
    - test_TIFFOpenOptionsSetMaxCumulatedMemAlloc
    - test_TIFFheader_swapping
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: TIFFmax
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmax(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: TIFFmin
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmin(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tif
    - ','
    - tag
    - ','
    - value
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: TIFFSetField_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSetField_M(tif, tag, value, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tif
    - ','
    - tag
    - ','
    - value
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: TIFFGetField_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetField_M(tif, tag, value, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tif
    - ','
    - filename
    - ','
    - modeString
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: TIFFOpen_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFOpen_M(tif, filename, modeString, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: TIFFWriteDirectory_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteDirectory_M(tif, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tif
    - ','
    - dirnum
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: TIFFCheckpointDirectory_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFCheckpointDirectory_M(tif, dirnum, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tif
    - ','
    - dirnum
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: TIFFSetDirectory_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSetDirectory_M(tif, dirnum, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - row
    - ','
    - sample
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: TIFFWriteScanline_M
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteScanline_M(tif, buf, row, sample, filename, line)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:207,1
    - Dst: TIFFGetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:209,1
    - Dst: TIFFGetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:211,1
    - Dst: TIFFGetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:216,1
    - Dst: TIFFGetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:217,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:219,1
    - Dst: TIFFGetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:224,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:230,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:239,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:300,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:302,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:309,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:310,1
    - Dst: TIFFWriteScanline_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:335,1
    - Dst: TIFFWriteScanline_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:358,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:366,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:367,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:370,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 96
    argCount: 7
    argNames:
    - tif
    - width
    - length
    - tiled
    - pixval
    - plastlinedata
    - lastlinebytesmax
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - bool
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 374
    functionName: write_image_data
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - memcpy
    - TIFFWriteScanline_M
    - TIFFGetField_M
    - _TIFFfree
    - TIFFWriteEncodedTile
    - _TIFFmalloc
    - TIFFFileName
    - TIFFNumberOfTiles
    - TIFFmin
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_image_data(TIFF *tif, uint32_t width, uint32_t length, bool
      tiled,\n                     unsigned int pixval, unsigned char *plastlinedata,\n
      \                    unsigned int lastlinebytesmax)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:388,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:391,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:392,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:393,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:394,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:395,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:400,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:401,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:405,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:409,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:410,1
    - Dst: TIFFSetField_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:412,1
    - Dst: write_image_data
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:417,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 8
    argNames:
    - tif
    - width
    - length
    - tiled
    - orientation
    - write_data
    - plastlinedata
    - lastlinebytesmax
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - bool
    - uint16_t
    - bool
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 428
    functionName: write_data_to_current_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - write_image_data
    - TIFFFileName
    - fprintf
    - TIFFSetField_M
    linkageType: ''
    returnType: int
    signature: "int write_data_to_current_directory(TIFF *tif, uint32_t width, uint32_t
      length,\n                                    bool tiled, uint16_t orientation,\n
      \                                   bool write_data,\n                                    unsigned
      char *plastlinedata,\n                                    unsigned int lastlinebytesmax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: PACK
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(r, g, b)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:469,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:470,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:493,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:494,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:495,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:496,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:500,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:501,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:502,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:503,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:588,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:590,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:598,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:600,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:612,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:614,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:622,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:624,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:627,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:647,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 114
    argCount: 6
    argNames:
    - txt
    - img
    - raster
    - rw
    - rh
    - orientation
    argTypes:
    - char*
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 662
    functionName: checkRasterContents
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - TIFFmin
    - PACK
    - TIFFmax
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int checkRasterContents(char *txt, TIFFRGBAImage *img, uint32_t *raster,\n
      \                       uint32_t rw, uint32_t rh, uint16_t orientation)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:681,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:685,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:698,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:709,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:711,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:717,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:720,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:722,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:724,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:726,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:728,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:730,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:733,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:735,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:738,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 7
    argNames:
    - txt
    - img
    - raster
    - rw
    - rh
    - orientation
    - tiled
    argTypes:
    - char*
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 740
    functionName: printRaster
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fclose
    - sprintf
    - fopen
    linkageType: ''
    returnType: void
    signature: "void printRaster(char *txt, TIFFRGBAImage *img, uint32_t *raster,
      uint32_t rw,\n                 uint32_t rh, uint16_t orientation, bool tiled)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:759,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:766,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:767,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:770,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:775,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:776,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:778,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:781,1
    - Dst: printRaster
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:782,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:784,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:787,1
    - Dst: checkRasterContents
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:793,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:798,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:799,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:804,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 8
    argNames:
    - tif
    - imgWidth
    - imgLength
    - rWidth
    - rHeight
    - orientation
    - req_orientation
    - cLine
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 808
    functionName: testRGBAImageReadFunctions
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - TIFFIsTiled
    - TIFFRGBAImageBegin
    - TIFFRGBAImageEnd
    - TIFFRGBAImageGet
    - memset
    - _TIFFfree
    - _TIFFmalloc
    - checkRasterContents
    - printRaster
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int testRGBAImageReadFunctions(TIFF *tif, uint32_t imgWidth, uint32_t
      imgLength,\n                               uint32_t rWidth, uint32_t rHeight,\n
      \                              uint16_t orientation, uint16_t req_orientation,\n
      \                              int cLine)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:827,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:834,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:837,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:842,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:844,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:849,1
    - Dst: printRaster
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:850,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:852,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:856,1
    - Dst: checkRasterContents
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:862,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:866,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 10
    argNames:
    - tif
    - imgWidth
    - imgLength
    - w_offset
    - l_offset
    - rWidth
    - rHeight
    - orientation
    - req_orientation
    - cLine
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - int
    - int
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 873
    functionName: testRGBAImageReadWithOffsets
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - TIFFIsTiled
    - TIFFRGBAImageBegin
    - TIFFRGBAImageEnd
    - TIFFRGBAImageGet
    - memset
    - _TIFFfree
    - _TIFFmalloc
    - checkRasterContents
    - printRaster
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int testRGBAImageReadWithOffsets(TIFF *tif, uint32_t imgWidth,\n                                 uint32_t
      imgLength, int w_offset, int l_offset,\n                                 uint32_t
      rWidth, uint32_t rHeight,\n                                 uint16_t orientation,
      uint16_t req_orientation,\n                                 int cLine)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:886,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:887,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:892,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:899,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:902,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:905,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:911,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:914,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:920,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:921,1
    - Dst: TIFFOpen_M
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:922,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:929,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:935,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:941,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:947,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:953,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:959,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:965,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:971,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:975,1
    - Dst: testRGBAImageReadFunctions
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:979,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:987,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:991,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:995,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1001,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1005,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1009,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1015,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1023,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1026,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1030,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1034,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1040,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1044,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1048,1
    - Dst: testRGBAImageReadWithOffsets
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1054,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1061,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1062,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1064,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1070,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1072,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 7
    argNames:
    - filename
    - openMode
    - orientation
    - width
    - length
    - tiled
    - req_orientation
    argTypes:
    - char*
    - unsigned int
    - uint16_t
    - uint32_t
    - uint32_t
    - bool
    - unsigned int
    assertStmts:
    - condition: (openMode < (sizeof(modeStrings) / sizeof(modeStrings[0])))
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
    - condition: "(orientation <\n           (sizeof(orientationStrings) / sizeof(orientationStrings[0])))"
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
    constantsTouched: []
    func_position:
      end: 1074
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 1074
    functionName: test_ReadRGBAImage
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - TIFFOpen_M
    - testRGBAImageReadFunctions
    - TIFFClose
    - testRGBAImageReadWithOffsets
    - assert
    - write_data_to_current_directory
    - TIFFSetErrorHandler
    - unlink
    - TIFFWriteDirectory_M
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int test_ReadRGBAImage(const char *filename, unsigned int openMode,\n
      \                      uint16_t orientation, uint32_t width, uint32_t length,\n
      \                      bool tiled, unsigned int req_orientation)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1086,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1092,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1095,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1110,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - blnReOpen
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1114
    functionName: checkOpenLogFile
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void checkOpenLogFile(int blnReOpen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1126,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1133,1
    - Dst: checkOpenLogFile
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1142,1
    - Dst: test_ReadRGBAImage
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1148,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1152,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1154,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1159,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1170,1
    - Dst: checkOpenLogFile
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1173,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1180,1
    - Dst: test_ReadRGBAImage
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1186,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1187,1
    - Dst: test_ReadRGBAImage
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1188,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1189,1
    - Dst: test_ReadRGBAImage
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1190,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1191,1
    - Dst: test_ReadRGBAImage
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1192,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1193,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1202,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1204,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1208,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_RGBAImage.c:1211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(n <\n                       (sizeof(arrLogFilenames) / sizeof(arrLogFilenames[0])))"
      pos:
        line_end: 1170
        line_start: 1169
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
    constantsTouched: []
    func_position:
      end: 1216
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1216
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_RGBAImage.c
    functionUses: 5
    functionsReached:
    - assert
    - unlink
    - test_ReadRGBAImage
    - checkOpenLogFile
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/long_tag.c:66,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:69,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:73,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:75,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:78,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:80,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:83,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:85,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:88,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:90,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:93,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:95,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:98,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:103,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:105,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/long_tag.c:111,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:113,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/long_tag.c:119,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:121,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/long_tag.c:125,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/long_tag.c:128,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/long_tag.c:131,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/long_tag.c:135,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/long_tag.c:138,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/long_tag.c:141,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/long_tag.c:146,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/long_tag.c:150,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/long_tag.c:153,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/long_tag.c:158,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/long_tag.c:159,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 161
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/long_tag.c
    functionUses: 5
    functionsReached:
    - CheckLongField
    - TIFFWriteScanline
    - TIFFClose
    - TIFFSetField
    - unlink
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: GOTOFAILURE
    functionSourceFile: /src/PROJ/libtiff/test/test_transferfunction_write_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOTOFAILURE(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:70,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: setup_transfer_functions
    functionSourceFile: /src/PROJ/libtiff/test/test_transferfunction_write_read.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int setup_transfer_functions(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:101,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:105,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:106,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:109,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:111,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:112,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:116,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:118,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:120,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - ptif
    - filename
    - blnClose
    - ptfx0
    - ptfx1
    - ptfx2
    argTypes:
    - TIFF**
    - char*
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 133
    functionName: read_check_transferfunctions
    functionSourceFile: /src/PROJ/libtiff/test/test_transferfunction_write_read.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcmp
    - TIFFOpen
    - GOTOFAILURE
    - TIFFClose
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int read_check_transferfunctions(TIFF **ptif, const char *filename,
      int blnClose, const uint16_t *ptfx0,\n                                 const
      uint16_t *ptfx1, const uint16_t *ptfx2)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:152,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:156,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:157,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:160,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:162,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:163,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:165,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:167,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:168,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:170,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:172,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:173,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:175,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:177,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:178,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:180,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:182,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:183,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:185,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:187,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:188,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:190,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:192,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:193,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:200,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:202,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:203,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:212,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:214,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:222,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:224,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:225,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:231,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:234,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:235,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:238,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:243,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:245,1
    - Dst: GOTOFAILURE
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:246,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:254,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:257,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 5
    argNames:
    - ptif
    - filename
    - wrtTransferFunction
    - nExtraSamples
    - blnCloseFile
    argTypes:
    - TIFF**
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 263
    functionName: write_basic_IFD_data
    functionSourceFile: /src/PROJ/libtiff/test/test_transferfunction_write_read.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFWriteScanline
    - GOTOFAILURE
    - TIFFClose
    - _TIFFfree
    - _TIFFmalloc
    - TIFFSetField
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_basic_IFD_data(TIFF **ptif, const char *filename, int wrtTransferFunction,
      int nExtraSamples,\n                         int blnCloseFile)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: setup_transfer_functions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:271,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:277,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:282,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:284,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:287,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:293,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:295,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:298,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:307,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:309,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:312,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:316,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:318,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:321,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:329,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:331,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:332,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:333,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:336,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:345,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:347,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:348,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:349,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:352,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:357,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:359,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:360,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:361,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:364,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:370,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:372,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:373,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:374,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:377,1
    - Dst: write_basic_IFD_data
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:383,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:385,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:386,1
    - Dst: read_check_transferfunctions
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:387,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:390,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:395,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_transferfunction_write_read.c:396,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 398
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_transferfunction_write_read.c
    functionUses: 5
    functionsReached:
    - setup_transfer_functions
    - TIFFClose
    - TIFFSetField
    - unlink
    - read_check_transferfunctions
    - write_basic_IFD_data
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:53,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:58,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:61,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:62,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:63,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:64,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:65,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:66,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:67,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:68,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:69,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:70,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:71,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:72,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:76,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:77,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:78,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:79,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:83,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:84,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:85,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:90,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:91,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:95,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:96,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:102,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:104,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:110,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:113,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:114,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:128,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:129,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:130,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:134,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:136,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:137,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:148,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:149,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:150,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:152,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:154,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:155,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:159,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:162,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:163,1
    - Dst: fseek
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:166,1
    - Dst: fread
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:168,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:172,1
    - Dst: TIFFReadFromUserBuffer
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:173,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:175,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:179,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:181,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:182,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:198,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:199,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:202,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:204,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:205,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:216,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:217,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:218,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:220,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:222,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:223,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:227,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:230,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:231,1
    - Dst: fseek
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:234,1
    - Dst: fread
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:236,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:239,1
    - Dst: TIFFReadFromUserBuffer
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:240,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:242,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:245,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:247,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:248,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:261,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:262,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:263,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:265,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:266,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:267,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:273,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:274,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:275,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:277,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:278,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:279,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:285,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:288,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:289,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:290,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:293,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:294,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:297,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:301,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:304,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:305,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:307,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:311,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:313,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:315,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 169
    argCount: 3
    argNames:
    - classictif
    - height
    - tiled
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (offset != 0)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (bytecounts[0] == 1)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (size == 1)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (bytecounts[height - 1] == 1)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (offset != 0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 1)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 1)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (bytecounts[0] == 256)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (offsets[height - 1] == offsets[0] + height - 1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 256)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (size == 256)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (offsets[1] == offsets[0] + 1)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 256)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (bytecounts)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    - condition: (offsets)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
    constantsTouched: []
    func_position:
      end: 317
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 317
    functionName: test
    functionSourceFile: /src/PROJ/libtiff/test/defer_strile_loading.c
    functionUses: 2
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFGetStrileOffsetWithErr
    - TIFFReadEncodedStrip
    - fclose
    - fseek
    - TIFFGetField
    - TIFFOpen
    - fread
    - TIFFGetStrileByteCountWithErr
    - TIFFClose
    - assert
    - memset
    - TIFFReadEncodedTile
    - fprintf
    - TIFFReadFromUserBuffer
    - unlink
    - TIFFWriteEncodedTile
    - TIFFSetField
    - fopen
    linkageType: ''
    returnType: int
    signature: int test(int classictif, int height, int tiled)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:327,1
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:329,1
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_loading.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/defer_strile_loading.c
    functionUses: 5
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: CHECK_TYPE
    functionSourceFile: /src/PROJ/libtiff/test/testtypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TYPE(t, s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:50,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:53,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:54,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:55,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:56,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:57,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:58,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:59,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:60,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:61,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:62,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:63,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:64,1
    - Dst: TIFFWriteRawStrip
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:70,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:71,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:74,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:75,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:78,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:82,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:83,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:88,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:94,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:100,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:103,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:110,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_append_to_strip.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (ret)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (ret)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (ret)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (ret)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (ret == 1)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (ret)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    - condition: (panByteCounts)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
    constantsTouched: []
    func_position:
      end: 113
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_append_to_strip.c
    functionUses: 5
    functionsReached:
    - TIFFClose
    - TIFFReadScanline
    - TIFFWriteRawStrip
    - assert
    - TIFFGetField
    - TIFFSetField
    - unlink
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:56,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:60,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:64,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:66,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:69,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:71,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:74,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:76,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:79,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:81,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:86,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:89,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:91,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:94,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:96,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:102,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:104,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:109,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:113,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:117,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:126,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:130,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:132,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:138,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 142
    functionName: test_packbits
    functionSourceFile: /src/PROJ/libtiff/test/rewrite_tag.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFClose
    - TIFFSetField
    - unlink
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_packbits()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:158,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:159,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:163,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:165,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:169,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:170,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:174,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:176,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:179,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:181,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:184,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:186,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:189,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:191,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:194,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:196,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:199,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:201,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:204,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:206,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:212,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:214,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:219,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:222,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:225,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:226,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:230,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:232,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:236,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:238,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:242,1
    - Dst: _TIFFRewriteField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:246,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:249,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:253,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:256,1
    - Dst: _TIFFRewriteField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:260,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:263,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:267,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:270,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:274,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:277,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:278,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:282,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:284,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:294,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:303,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:305,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:315,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:324,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:325,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:328,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:333,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:334,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:337,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:341,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 136
    argCount: 5
    argNames:
    - filename
    - width
    - length
    - bigtiff
    - base_value
    argTypes:
    - char*
    - uint32_t
    - int
    - int
    - uint64_t
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/PROJ/libtiff/test/rewrite_tag.c
    constantsTouched: []
    func_position:
      end: 346
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 346
    functionName: rewrite_test
    functionSourceFile: /src/PROJ/libtiff/test/rewrite_tag.c
    functionUses: 0
    functionsReached:
    - free
    - TIFFWriteScanline
    - TIFFClose
    - assert
    - TIFFGetField
    - _TIFFfree
    - _TIFFRewriteField
    - TIFFSetField
    - calloc
    - _TIFFmalloc
    - unlink
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int rewrite_test(const char *filename, uint32_t width, int length,
      int bigtiff,\n                 uint64_t base_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_packbits
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:355,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:358,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:359,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:362,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:363,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:366,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:367,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:370,1
    - Dst: rewrite_test
      Src: /src/PROJ/libtiff/test/rewrite_tag.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/rewrite_tag.c
    functionUses: 5
    functionsReached:
    - rewrite_test
    - test_packbits
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/test/strip.c:40,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:43,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/test/strip.c:47,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/test/strip.c:58,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - tif
    - array
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: write_strips
    functionSourceFile: /src/PROJ/libtiff/test/strip.c
    functionUses: 0
    functionsReached:
    - TIFFStripSize
    - TIFFNumberOfStrips
    - fprintf
    - TIFFWriteEncodedStrip
    linkageType: ''
    returnType: int
    signature: int write_strips(TIFF *tif, const tdata_t array, const tsize_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/test/strip.c:75,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:78,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/strip.c:82,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:85,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/test/strip.c:89,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/test/strip.c:100,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:102,1
    - Dst: memcmp
      Src: /src/PROJ/libtiff/test/strip.c:105,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:107,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/strip.c:108,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/strip.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - tif
    - array
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 116
    functionName: read_strips
    functionSourceFile: /src/PROJ/libtiff/test/strip.c
    functionUses: 0
    functionsReached:
    - TIFFStripSize
    - _TIFFfree
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - memcmp
    - TIFFNumberOfStrips
    - fprintf
    linkageType: ''
    returnType: int
    signature: int read_strips(TIFF *tif, const tdata_t array, const tsize_t size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/strip.c:127,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:131,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:133,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:136,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:138,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:141,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:143,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:146,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:148,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:151,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:153,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:156,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:158,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/strip.c:161,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:163,1
    - Dst: write_strips
      Src: /src/PROJ/libtiff/test/strip.c:167,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:169,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/strip.c:173,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/strip.c:177,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:179,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 12
    argNames:
    - name
    - width
    - length
    - rowsperstrip
    - compression
    - spp
    - bps
    - photometric
    - sampleformat
    - planarconfig
    - array
    - size
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 190
    functionName: create_image_striped
    functionSourceFile: /src/PROJ/libtiff/test/strip.c
    functionUses: 1
    functionsReached:
    - TIFFClose
    - TIFFSetField
    - TIFFOpen
    - fprintf
    - write_strips
    linkageType: ''
    returnType: int
    signature: "int create_image_striped(const char *name, uint32_t width, uint32_t
      length,\n                         uint32_t rowsperstrip, uint16_t compression,\n
      \                        uint16_t spp, uint16_t bps, uint16_t photometric,\n
      \                        uint16_t sampleformat, uint16_t planarconfig,\n                         const
      tdata_t array, const tsize_t size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/strip.c:203,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/test/strip.c:207,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:209,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:212,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:215,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:218,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:221,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:224,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:227,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:230,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:233,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:236,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:239,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:242,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:245,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/strip.c:248,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:251,1
    - Dst: read_strips
      Src: /src/PROJ/libtiff/test/strip.c:255,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:257,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/strip.c:261,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/strip.c:265,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/strip.c:267,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 12
    argNames:
    - name
    - width
    - length
    - rowsperstrip
    - compression
    - spp
    - bps
    - photometric
    - sampleformat
    - planarconfig
    - array
    - size
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 278
    functionName: read_image_striped
    functionSourceFile: /src/PROJ/libtiff/test/strip.c
    functionUses: 1
    functionsReached:
    - TIFFOpen
    - TIFFIsTiled
    - TIFFClose
    - read_strips
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int read_image_striped(const char *name, uint32_t width, uint32_t
      length,\n                       uint32_t rowsperstrip, uint16_t compression,\n
      \                      uint16_t spp, uint16_t bps, uint16_t photometric,\n                       uint16_t
      sampleformat, uint16_t planarconfig,\n                       const tdata_t array,
      const tsize_t size)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/short_tag.c:83,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:86,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:90,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:92,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:95,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:97,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:100,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:102,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:105,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:107,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:110,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:112,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:115,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:117,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:120,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:122,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:128,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:131,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/short_tag.c:139,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:143,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/short_tag.c:150,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:152,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/short_tag.c:156,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/short_tag.c:159,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/short_tag.c:162,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/short_tag.c:166,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/short_tag.c:169,1
    - Dst: CheckShortField
      Src: /src/PROJ/libtiff/test/short_tag.c:172,1
    - Dst: CheckShortField
      Src: /src/PROJ/libtiff/test/short_tag.c:175,1
    - Dst: CheckShortField
      Src: /src/PROJ/libtiff/test/short_tag.c:178,1
    - Dst: CheckLongField
      Src: /src/PROJ/libtiff/test/short_tag.c:181,1
    - Dst: CheckShortField
      Src: /src/PROJ/libtiff/test/short_tag.c:184,1
    - Dst: CheckShortField
      Src: /src/PROJ/libtiff/test/short_tag.c:189,1
    - Dst: CheckShortPairedField
      Src: /src/PROJ/libtiff/test/short_tag.c:196,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/short_tag.c:201,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/short_tag.c:204,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/short_tag.c:212,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/short_tag.c
    functionUses: 5
    functionsReached:
    - CheckLongField
    - TIFFWriteScanline
    - CheckShortPairedField
    - TIFFClose
    - TIFFSetField
    - unlink
    - TIFFOpen
    - CheckShortField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:70,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - expected_dirnum
    - line
    argTypes:
    - TIFF*
    - tdir_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: CheckCurDirNum
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFCurrentDirectory
    - fprintf
    linkageType: ''
    returnType: int
    signature: int CheckCurDirNum(TIFF *tif, tdir_t expected_dirnum, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: TIFFWriteDirectory_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteDirectory_M(tif, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tif
    - ','
    - dirnum
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: TIFFCheckpointDirectory_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFCheckpointDirectory_M(tif, dirnum, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tif
    - ','
    - dirnum
    - ','
    - filename
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: TIFFSetDirectory_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSetDirectory_M(tif, dirnum, filename, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - x
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: CHECKCURDIRNUM_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKCURDIRNUM_M(tif, x, line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:121,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:126,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:128,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:132,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:134,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:137,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:139,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:142,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:144,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:147,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:149,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:152,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:154,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:157,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:159,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:163,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:164,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:166,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/test_directory.c:171,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - tif
    - i
    - is_corrupted
    argTypes:
    - TIFF*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 178
    functionName: write_data_to_current_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    - sprintf
    - fprintf
    - TIFFWriteScanline
    linkageType: ''
    returnType: int
    signature: int write_data_to_current_directory(TIFF *tif, int i, bool is_corrupted)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/PROJ/libtiff/test/test_directory.c:188,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:190,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:193,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:197,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:199,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:201,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:205,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:207,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:209,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - filename
    - openMode
    - i
    argTypes:
    - char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 215
    functionName: write_directory_to_closed_file
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - strncpy
    - TIFFWriteDirectory
    - write_data_to_current_directory
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_directory_to_closed_file(const char *filename, unsigned
      int openMode,\n                                   int i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:223,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:226,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:232,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:234,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - filename
    - count
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: count_directories
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFReadDirectory
    - CHECKCURDIRNUM_M
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int count_directories(const char *filename, int *count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_directory.c:248,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:250,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/test/test_directory.c:256,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/test/test_directory.c:258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:261,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/test/test_directory.c:268,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - requested_dir_number
    - filename
    argTypes:
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 277
    functionName: is_requested_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strchr
    - TIFFGetField
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int is_requested_directory(TIFF *tif, int requested_dir_number,\n
      \                          const char *filename)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:295,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:298,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:309,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:311,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:312,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:316,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:319,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:321,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:326,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:328,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:330,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - filename
    - offsets
    - dirWalkMode
    argTypes:
    - char*
    - uint64_t*
    - enum DirWalkMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 337
    functionName: get_dir_offsets
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFReadDirectory
    - TIFFOpen
    - fprintf
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: "int get_dir_offsets(const char *filename, uint64_t *offsets,\n                    enum
      DirWalkMode dirWalkMode)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:360,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:366,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:368,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:371,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:374,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:377,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:378,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:381,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:383,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:387,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:389,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:394,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:401,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:403,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:411,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:413,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:425,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:427,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:435,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:440,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:443,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:446,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:449,1
    - Dst: get_dir_offsets
      Src: /src/PROJ/libtiff/test/test_directory.c:454,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:456,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:461,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:463,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:467,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:469,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:475,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:483,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:485,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:488,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:490,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:491,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:494,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:496,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:499,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:503,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:507,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:509,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:515,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:518,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:519,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:522,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:529,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:531,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:534,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:538,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:544,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:546,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:549,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:550,1
    - Dst: TIFFUnlinkDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:553,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:555,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:560,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:562,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:569,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:571,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:577,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:579,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:582,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:584,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:589,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:591,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:595,1
    - Dst: TIFFUnlinkDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:602,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:604,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:607,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:609,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:615,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:618,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:628,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:630,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:636,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:637,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:639,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:648,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:650,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:658,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:660,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:666,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:667,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:669,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:672,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:674,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:678,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:682,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:688,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:690,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:694,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:696,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:700,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:702,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:709,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:713,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:715,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:722,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:732,1
    - Dst: TIFFUnlinkDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:733,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:735,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:738,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:741,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:743,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:749,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:751,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:755,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:757,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:764,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:772,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:773,1
    - Dst: TIFFUnlinkDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:775,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:777,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:780,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:782,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:783,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:789,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 295
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 792
    functionName: test_arbitrary_directrory_loading
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFSetSubDirectory
    - TIFFCreateDirectory
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFWriteDirectory
    - write_data_to_current_directory
    - TIFFReadDirectory
    - unlink
    - CHECKCURDIRNUM_M
    - TIFFUnlinkDirectory
    - get_dir_offsets
    - TIFFOpen
    - sprintf
    - fprintf
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: int test_arbitrary_directrory_loading(unsigned int openMode)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:815,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:821,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:823,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:826,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:829,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:834,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:837,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:845,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:866,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:871,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:873,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:877,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:882,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:885,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:888,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:892,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:893,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:896,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:903,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_directory.c:912,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_directory.c:915,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:921,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:923,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:943,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:946,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:948,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:951,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:957,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:960,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:962,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:968,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:970,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:972,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:975,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:980,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:984,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:985,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:987,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:988,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:994,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:996,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1000,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:1005,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1006,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1007,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1009,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1016,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1019,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1021,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1023,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1025,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1031,1
    - Dst: TIFFCheckpointDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1035,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1037,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1039,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1040,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1043,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1045,1
    - Dst: TIFFCheckpointDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1049,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1050,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1051,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1052,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1054,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1055,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1061,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 154
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 1064
    functionName: test_SubIFD_directrory_handling
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFNumberOfDirectories
    - TIFFCheckpointDirectory_M
    - TIFFGetField
    - TIFFOpen
    - sprintf
    - TIFFCurrentDirectory
    - TIFFSetSubDirectory
    - memcpy
    - TIFFClose
    - TIFFSetDirectory
    - write_data_to_current_directory
    - fprintf
    - is_requested_directory
    - TIFFWriteDirectory
    - TIFFReadDirectory
    - unlink
    - CHECKCURDIRNUM_M
    - TIFFWriteDirectory_M
    - TIFFCreateDirectory
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int test_SubIFD_directrory_handling(unsigned int openMode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1090,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1096,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1098,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1102,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1105,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1109,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1111,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1116,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1119,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1121,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1126,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1128,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1130,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1136,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1139,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1141,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1144,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1145,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1148,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1151,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1155,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1159,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1163,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_directory.c:1166,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1170,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1175,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1177,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1183,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1190,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1196,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1198,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1201,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1202,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1208,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1211
    functionName: test_SetSubDirectory_failure
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFSetSubDirectory
    - memcpy
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFWriteDirectory
    - TIFFGetField
    - write_data_to_current_directory
    - unlink
    - TIFFSetField
    - CHECKCURDIRNUM_M
    - TIFFOpen
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_SetSubDirectory_failure(unsigned int openMode)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1233,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1239,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1241,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1244,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1247,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1252,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1254,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1260,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1267,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1268,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1270,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1280,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1281,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1283,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1287,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1289,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1293,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1295,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1298,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1299,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1305,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1313,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1314,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1316,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1319,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1320,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1322,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1326,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1328,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1332,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1334,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1337,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1338,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1344,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1351,1
    - Dst: count_directories
      Src: /src/PROJ/libtiff/test/test_directory.c:1355,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1357,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1362,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1369,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1375,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 106
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1378
    functionName: test_rewrite_lastdir_offset
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFWriteDirectory
    - write_data_to_current_directory
    - unlink
    - TIFFRewriteDirectory
    - count_directories
    - TIFFOpen
    - sprintf
    - fprintf
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: int test_rewrite_lastdir_offset(unsigned int openMode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1393,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1399,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1401,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1403,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1404,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1408,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1411,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1416,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1418,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1422,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1424,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1429,1
    - Dst: write_directory_to_closed_file
      Src: /src/PROJ/libtiff/test/test_directory.c:1436,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1438,1
    - Dst: count_directories
      Src: /src/PROJ/libtiff/test/test_directory.c:1445,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1447,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1453,1
    - Dst: count_directories
      Src: /src/PROJ/libtiff/test/test_directory.c:1459,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1461,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1467,1
    - Dst: get_dir_offsets
      Src: /src/PROJ/libtiff/test/test_directory.c:1479,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1482,1
    - Dst: get_dir_offsets
      Src: /src/PROJ/libtiff/test/test_directory.c:1494,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1496,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1505,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1517,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1518,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1524,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 85
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1527
    functionName: test_lastdir_offset
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFWriteDirectory
    - write_data_to_current_directory
    - unlink
    - write_directory_to_closed_file
    - get_dir_offsets
    - count_directories
    - TIFFOpen
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_lastdir_offset(unsigned int openMode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1538,1
    - Dst: TIFFCreateEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1543,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1545,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1549,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1551,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1557,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1558,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1560,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1564,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - i
    - dir_offset_EXIF
    argTypes:
    - TIFF*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1571
    functionName: write_EXIF_data_to_current_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - TIFFWriteCustomDirectory
    - TIFFCreateEXIFDirectory
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_EXIF_data_to_current_directory(TIFF *tif, int i,\n                                         uint64_t
      *dir_offset_EXIF)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1588,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1594,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:1596,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1599,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1602,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1609,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1611,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1616,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1618,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1623,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1624,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1627,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1630,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1638,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1639,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1641,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1646,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1648,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1657,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1658,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1660,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1665,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1667,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:1673,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1677,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1678,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:1683,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1684,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/test/test_directory.c:1687,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1689,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1697,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1698,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1700,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1702,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1708,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1710,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:1721,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1723,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1724,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1728,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1729,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1733,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1735,1
    - Dst: TIFFCheckpointDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1741,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1743,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1747,1
    - Dst: TIFFCheckpointDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1749,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1751,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1752,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1754,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1757,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:1768,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1774,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1775,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1781,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1783,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1788,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1790,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1795,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1797,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1798,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1800,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1805,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1808,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1809,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:1823,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1829,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1830,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1835,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1837,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1842,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1844,1
    - Dst: write_EXIF_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1845,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1847,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1854,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1856,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:1857,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1859,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1863,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1865,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1869,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1870,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1876,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1878,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1884,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:1890,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:1891,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1893,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:1897,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1899,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1904,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1907,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1908,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1911,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1912,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1913,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1914,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1915,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1916,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1919,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1921,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:1928,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1929,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1930,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1931,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1934,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1936,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1942,1
    - Dst: TIFFSetDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1945,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1946,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1947,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1949,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1957,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1961,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1963,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:1965,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1973,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1975,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1976,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:1980,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:1981,1
    - Dst: TIFFIsBigEndian
      Src: /src/PROJ/libtiff/test/test_directory.c:2000,1
    - Dst: TIFFIsBigTIFF
      Src: /src/PROJ/libtiff/test/test_directory.c:2000,1
    - Dst: TIFFSeekFile_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2005,1
    - Dst: TIFFReadFile_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2007,1
    - Dst: TIFFIsByteSwapped
      Src: /src/PROJ/libtiff/test/test_directory.c:2008,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/test/test_directory.c:2009,1
    - Dst: TIFFSeekFile_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2010,1
    - Dst: TIFFIsByteSwapped
      Src: /src/PROJ/libtiff/test/test_directory.c:2012,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/test/test_directory.c:2013,1
    - Dst: TIFFWriteFile_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2014,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2020,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:2024,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2025,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2026,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2032,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2034,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2036,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2047,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_directory.c:2048,1
    - Dst: TIFFSeekFile_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2053,1
    - Dst: TIFFIsByteSwapped
      Src: /src/PROJ/libtiff/test/test_directory.c:2056,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/test/test_directory.c:2057,1
    - Dst: TIFFWriteFile_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2058,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2060,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:2065,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2066,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2067,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2076,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2080,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2082,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2091,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2094,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:2095,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2101,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 283
    argCount: 2
    argNames:
    - testcase
    - openMode
    argTypes:
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 2104
    functionName: test_current_dirnum_incrementing
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFNumberOfDirectories
    - TIFFIsBigEndian
    - TIFFCheckpointDirectory_M
    - TIFFSwabShort
    - TIFFOpen
    - TIFFSwabLong
    - sprintf
    - TIFFSetSubDirectory
    - TIFFSeekFile_M
    - TIFFClose
    - strncpy
    - TIFFSetDirectory
    - write_data_to_current_directory
    - TIFFWriteFile_M
    - TIFFRewriteDirectory
    - fprintf
    - TIFFIsByteSwapped
    - write_EXIF_data_to_current_directory
    - TIFFReadEXIFDirectory
    - TIFFSetDirectory_M
    - TIFFReadDirectory
    - unlink
    - CHECKCURDIRNUM_M
    - TIFFReadFile_M
    - TIFFWriteDirectory_M
    - TIFFCreateDirectory
    - TIFFIsBigTIFF
    - TIFFSetField
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1987
    functionName: TIFFReadFile_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFReadFile_M(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1989
    functionName: TIFFWriteFile_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteFile_M(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - 'off'
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1991
    functionName: TIFFSeekFile_M
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSeekFile_M(tif, off, whence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2117,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2123,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:2124,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:2127,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2130,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:2137,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2139,1
    - Dst: TIFFWriteDirectory_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2144,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2146,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2148,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:2154,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2155,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2156,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2157,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2158,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2159,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2160,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:2161,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2162,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:2165,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2166,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2172,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2173,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_directory.c:2176,1
    - Dst: TIFFUnlinkDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2179,1
    - Dst: CHECKCURDIRNUM_M
      Src: /src/PROJ/libtiff/test/test_directory.c:2180,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2183,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:2184,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2190
    functionName: test_curdircount_setting
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - TIFFSetSubDirectory
    - TIFFCreateDirectory
    - TIFFNumberOfDirectories
    - TIFFClose
    - TIFFWriteDirectory
    - write_data_to_current_directory
    - unlink
    - CHECKCURDIRNUM_M
    - TIFFRewriteDirectory
    - TIFFUnlinkDirectory
    - TIFFWriteDirectory_M
    - TIFFOpen
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_curdircount_setting(unsigned int openMode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2210,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2216,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:2218,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:2221,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2224,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:2228,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2229,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:2237,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2240,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_directory.c:2245,1
    - Dst: write_EXIF_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:2249,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2251,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2257,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_directory.c:2260,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2263,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_directory.c:2268,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2270,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2277,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_directory.c:2278,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_directory.c:2282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - openMode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2204
    functionDepth: 1
    functionLinenumber: 2204
    functionLinenumberEnd: 2284
    functionName: test_solitary_custom_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 0
    functionsReached:
    - write_EXIF_data_to_current_directory
    - TIFFReadEXIFDirectory
    - TIFFClose
    - unlink
    - TIFFSetField
    - TIFFOpen
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_solitary_custom_directory(unsigned int openMode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2293,1
    - Dst: test_curdircount_setting
      Src: /src/PROJ/libtiff/test/test_directory.c:2295,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2297,1
    - Dst: test_lastdir_offset
      Src: /src/PROJ/libtiff/test/test_directory.c:2302,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2304,1
    - Dst: test_rewrite_lastdir_offset
      Src: /src/PROJ/libtiff/test/test_directory.c:2309,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2311,1
    - Dst: test_arbitrary_directrory_loading
      Src: /src/PROJ/libtiff/test/test_directory.c:2317,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2319,1
    - Dst: test_SubIFD_directrory_handling
      Src: /src/PROJ/libtiff/test/test_directory.c:2326,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2328,1
    - Dst: test_SetSubDirectory_failure
      Src: /src/PROJ/libtiff/test/test_directory.c:2334,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2336,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2347,1
    - Dst: test_current_dirnum_incrementing
      Src: /src/PROJ/libtiff/test/test_directory.c:2352,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2354,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2367,1
    - Dst: test_solitary_custom_directory
      Src: /src/PROJ/libtiff/test/test_directory.c:2370,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_directory.c:2372,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2286
    functionDepth: 3
    functionLinenumber: 2286
    functionLinenumberEnd: 2380
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_directory.c
    functionUses: 5
    functionsReached:
    - test_current_dirnum_incrementing
    - test_arbitrary_directrory_loading
    - test_SubIFD_directrory_handling
    - test_curdircount_setting
    - test_lastdir_offset
    - test_SetSubDirectory_failure
    - test_solitary_custom_directory
    - test_rewrite_lastdir_offset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:50,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:53,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:56,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:57,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:58,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:59,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:60,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:61,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:62,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:63,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:64,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:65,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:66,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:67,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:71,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:72,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:73,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:74,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:78,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:79,1
    - Dst: TIFFDeferStrileArrayWriting
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:82,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:83,1
    - Dst: TIFFWriteCheck
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:85,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:86,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:88,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:89,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:92,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:93,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:95,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:96,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:97,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:98,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:99,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:101,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:102,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:103,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:104,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:105,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:106,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:107,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:108,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:109,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:110,1
    - Dst: TIFFDeferStrileArrayWriting
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:112,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:113,1
    - Dst: TIFFWriteCheck
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:115,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:116,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:118,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:119,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:122,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:123,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:125,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:126,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:128,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:129,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:131,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:132,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:135,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:136,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:144,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:145,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:146,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:154,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:155,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:162,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:164,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:167,1
    - Dst: memset
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:180,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:181,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:182,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:186,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:188,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:204,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:205,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:208,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:209,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:216,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:218,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 117
    argCount: 3
    argNames:
    - mode
    - tiled
    - height
    argTypes:
    - char*
    - int
    - int
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret == 256)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret == 1)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret == 256)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret == 1)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
    constantsTouched: []
    func_position:
      end: 220
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 220
    functionName: test
    functionSourceFile: /src/PROJ/libtiff/test/defer_strile_writing.c
    functionUses: 4
    functionsReached:
    - TIFFCreateDirectory
    - TIFFWriteEncodedStrip
    - TIFFWriteCheck
    - TIFFFreeDirectory
    - TIFFSetDirectory
    - TIFFClose
    - TIFFWriteDirectory
    - assert
    - TIFFReadEncodedTile
    - memset
    - TIFFWriteEncodedTile
    - TIFFSetField
    - TIFFReadEncodedStrip
    - unlink
    - TIFFDeferStrileArrayWriting
    - TIFFOpen
    - TIFFForceStrileArrayWriting
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test(const char *mode, int tiled, int height)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:227,1
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:229,1
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:231,1
    - Dst: test
      Src: /src/PROJ/libtiff/test/defer_strile_writing.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/defer_strile_writing.c
    functionUses: 5
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: TIFFmax
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmax(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: TIFFmin
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmin(A, B)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:54,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:58,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:59,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:62,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:68,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:77,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:95,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:98,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:100,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:106,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:107,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:117,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:119,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:126,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:127,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 7
    argNames:
    - tif
    - width
    - length
    - tiled
    - pixval
    - plastlinedata
    - lastlinebytesmax
    argTypes:
    - TIFF*
    - uint16_t
    - uint16_t
    - bool
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts:
    - condition: (SPP == 3)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    constantsTouched: []
    func_position:
      end: 135
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 135
    functionName: write_image_data
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 1
    functionsReached:
    - TIFFTileSize
    - memcpy
    - TIFFWriteScanline
    - assert
    - _TIFFfree
    - TIFFWriteEncodedTile
    - _TIFFmalloc
    - TIFFNumberOfTiles
    - TIFFmin
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_image_data(TIFF *tif, uint16_t width, uint16_t length, bool
      tiled,\n                     unsigned int pixval, unsigned char *plastlinedata,\n
      \                    unsigned int lastlinebytesmax)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:154,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:157,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:159,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:162,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:164,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:167,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:169,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:172,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:174,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:181,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:182,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:185,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:191,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:193,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:198,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:200,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:203,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:205,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:209,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:210,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:212,1
    - Dst: write_image_data
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:219,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 8
    argNames:
    - tif
    - width
    - length
    - tiled
    - ifd_page_num
    - write_data
    - plastlinedata
    - lastlinebytesmax
    argTypes:
    - TIFF*
    - uint16_t
    - uint16_t
    - bool
    - int
    - bool
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 227
    functionName: write_data_to_current_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 9
    functionsReached:
    - TIFFSetField
    - write_image_data
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_data_to_current_directory(TIFF *tif, uint16_t width, uint16_t
      length,\n                                    bool tiled, int ifd_page_num,\n
      \                                   bool write_data,\n                                    unsigned
      char *plastlinedata,\n                                    unsigned int lastlinebytesmax)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:238,1
    - Dst: TIFFCreateEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:243,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:245,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:249,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:251,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:257,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:260,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:264,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - i
    - dir_offset_EXIF
    argTypes:
    - TIFF*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 271
    functionName: write_EXIF_data_to_current_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 2
    functionsReached:
    - TIFFSetField
    - TIFFWriteCustomDirectory
    - TIFFCreateEXIFDirectory
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_EXIF_data_to_current_directory(TIFF *tif, int i,\n                                         uint64_t
      *dir_offset_EXIF)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:281,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:283,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:290,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:292,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:295,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:303,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - requested_dir_number
    - filename
    argTypes:
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 314
    functionName: is_requested_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 5
    functionsReached:
    - strncmp
    - strchr
    - TIFFGetField
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int is_requested_directory(TIFF *tif, int requested_dir_number,\n
      \                          const char *filename)"
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:331,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:332,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:335,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:338,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:345,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:349,1
    - Dst: TIFFIsBigTIFF
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:359,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:360,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:362,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:363,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:365,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:367,1
    - Dst: TIFFDeferStrileArrayWriting
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:374,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:376,1
    - Dst: TIFFWriteCheck
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:384,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:386,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:392,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:394,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:404,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:405,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:417,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:418,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:420,1
    - Dst: write_image_data
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:427,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:430,1
    - Dst: TIFFFlushData
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:435,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:437,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:443,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:445,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:456,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:457,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:460,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:469,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:471,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:473,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:475,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:479,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:481,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:494,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:495,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:498,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:507,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:511,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:522,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:533,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:537,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:547,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:560,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:562,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:564,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:568,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:570,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:578,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:580,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:584,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:587,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:598,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:600,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:605,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:608,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:613,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:614,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:616,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:620,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:621,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:624,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:641,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:643,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:653,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:656,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:666,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:669,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:670,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:670,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:672,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:677,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:678,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:684,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:686,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:689,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:699,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:702,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:703,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:703,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:705,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:710,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:711,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:718,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:720,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:726,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:726,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:729,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:735,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:736,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:738,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:742,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:747,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:749,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:756,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:756,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:759,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:763,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:764,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:766,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:770,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:771,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:774,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:783,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:784,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:787,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:793,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:795,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:801,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:804,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:813,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:821,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:822,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:825,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:831,1
    - Dst: TIFFScanlineSize64
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:836,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:839,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:846,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:854,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:865,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:872,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:873,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:879,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 314
    argCount: 7
    argNames:
    - filename
    - openMode
    - is_strile_array_writing
    - numIFDs
    - width
    - length
    - tiled
    argTypes:
    - char*
    - unsigned int
    - bool
    - int
    - uint16_t
    - uint16_t
    - bool
    assertStmts:
    - condition: (numIFDs <= NUMIFDsMAX)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    - condition: (openMode < (sizeof(modeStrings) / sizeof(modeStrings[0])))
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    constantsTouched: []
    func_position:
      end: 882
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 882
    functionName: test_IFD_enlargement
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 0
    functionsReached:
    - TIFFNumberOfTiles
    - TIFFOpen
    - TIFFSetSubDirectory
    - TIFFClose
    - TIFFSetDirectory
    - assert
    - write_data_to_current_directory
    - TIFFScanlineSize64
    - strlen
    - TIFFReadScanline
    - fprintf
    - TIFFReadEncodedTile
    - TIFFWriteCheck
    - TIFFTileSize64
    - is_requested_directory
    - TIFFWriteDirectory
    - TIFFSetErrorHandler
    - TIFFReadDirectory
    - unlink
    - write_image_data
    - TIFFDeferStrileArrayWriting
    - TIFFNumberOfStrips
    - strcpy
    - TIFFIsBigTIFF
    - TIFFFlushData
    - TIFFSetField
    - TIFFForceStrileArrayWriting
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: "int test_IFD_enlargement(const char *filename, unsigned int openMode,\n
      \                        bool is_strile_array_writing, int numIFDs,\n                         uint16_t
      width, uint16_t length, bool tiled)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:899,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:902,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:910,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:913,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:920,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:922,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:926,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:928,1
    - Dst: write_EXIF_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:933,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:935,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:942,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:944,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:948,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:950,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:954,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:956,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:967,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:969,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:976,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:977,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:980,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:985,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:986,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:988,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:993,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:995,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1003,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1013,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1015,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1021,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1023,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1029,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1031,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1042,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1044,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1051,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1052,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1055,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1060,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1062,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1065,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1067,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1075,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1084,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1086,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1093,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1096,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1101,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1103,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1112,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1122,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1124,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1128,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1130,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1134,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1136,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1143,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1145,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1149,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1153,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1155,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1159,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1164,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1165,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1171,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 172
    argCount: 2
    argNames:
    - filename
    - is_big_tiff
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 1174
    functionName: test_EXIF_enlargement
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 0
    functionsReached:
    - write_EXIF_data_to_current_directory
    - TIFFReadEXIFDirectory
    - strcmp
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFWriteDirectory
    - TIFFGetField
    - write_data_to_current_directory
    - TIFFSetField
    - unlink
    - TIFFWriteCustomDirectory
    - TIFFOpen
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_EXIF_enlargement(const char *filename, bool is_big_tiff)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1201,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1204,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1210,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1214,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1224,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1242,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1246,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1248,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1255,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1261,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1265,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1269,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1278,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1279,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1280,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1281,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1286,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1289,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1293,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1295,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1300,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1302,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1306,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1308,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1319,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1321,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1324,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1330,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1331,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1333,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1337,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1340,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1342,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1346,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1350,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1352,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1357,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1359,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1363,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1367,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1369,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1377,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1380,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1382,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1388,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1389,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1395,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 128
    argCount: 2
    argNames:
    - filename
    - is_big_tiff
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1398
    functionName: test_SubIFD_enlargement
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 0
    functionsReached:
    - TIFFSetSubDirectory
    - TIFFNumberOfDirectories
    - memcpy
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFWriteDirectory
    - TIFFGetField
    - write_data_to_current_directory
    - TIFFSetErrorHandler
    - TIFFSetField
    - unlink
    - TIFFOpen
    - fprintf
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: int test_SubIFD_enlargement(const char *filename, bool is_big_tiff)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1413,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1416,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1423,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1426,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1433,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1435,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1440,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1445,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1446,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1448,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1454,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1456,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1463,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1465,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1469,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1472,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1481,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1489,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1492,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1494,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1497,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1500,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1506,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1507,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1509,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1512,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1514,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1518,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1521,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1530,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1531,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1533,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1537,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1539,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1543,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1546,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1553,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1555,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1557,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1563,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1564,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1567,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1572,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1574,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1578,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1582,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1584,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1588,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1593,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1594,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1600,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 129
    argCount: 2
    argNames:
    - filename
    - is_big_tiff
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1603
    functionName: test_CheckpointDirectory
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 0
    functionsReached:
    - TIFFCreateDirectory
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFWriteDirectory
    - write_data_to_current_directory
    - TIFFSetField
    - unlink
    - TIFFCheckpointDirectory
    - TIFFOpen
    - sprintf
    - fprintf
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: int test_CheckpointDirectory(const char *filename, bool is_big_tiff)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1615,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1618,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1621,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1629,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1631,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1636,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1639,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1644,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1646,1
    - Dst: write_data_to_current_directory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1651,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1654,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1661,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1663,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1667,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1671,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1673,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1677,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1679,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1684,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1686,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1690,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1694,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1703,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1705,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1709,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1711,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1716,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1718,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1722,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1726,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1733,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1734,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1740,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 2
    argNames:
    - filename
    - openMode
    argTypes:
    - char*
    - unsigned int
    assertStmts:
    - condition: (openMode < (sizeof(modeStrings) / sizeof(modeStrings[0])))
      pos:
        line_end: 1614
        line_start: 1614
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    constantsTouched: []
    func_position:
      end: 1743
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1743
    functionName: test_OddDataSizes
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFSetDirectory
    - TIFFWriteDirectory
    - assert
    - write_data_to_current_directory
    - TIFFSetField
    - unlink
    - TIFFOpen
    - fprintf
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: int
    signature: int test_OddDataSizes(const char *filename, unsigned int openMode)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1754,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1761,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1765,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1766,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1767,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1768,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1769,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1770,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1771,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1772,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1773,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1774,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1775,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1776,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1777,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1778,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1779,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1780,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1781,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1782,1
    - Dst: test_IFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1783,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1784,1
    - Dst: test_EXIF_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1792,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1793,1
    - Dst: test_EXIF_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1794,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1795,1
    - Dst: test_SubIFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1797,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1798,1
    - Dst: test_SubIFD_enlargement
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1799,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1800,1
    - Dst: test_CheckpointDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1802,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1803,1
    - Dst: test_CheckpointDirectory
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1804,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1805,1
    - Dst: test_OddDataSizes
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1807,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1808,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1812,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_IFD_enlargement.c:1816,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1820
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_IFD_enlargement.c
    functionUses: 5
    functionsReached:
    - test_SubIFD_enlargement
    - test_IFD_enlargement
    - test_OddDataSizes
    - test_EXIF_enlargement
    - test_CheckpointDirectory
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:49,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:55,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:57,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:60,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:67,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - requested_dir_number
    - filename
    argTypes:
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: is_requested_directory
    functionSourceFile: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    functionUses: 9
    functionsReached:
    - strncmp
    - strchr
    - TIFFGetField
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int is_requested_directory(TIFF *tif, int requested_dir_number,\n
      \                          const char *filename)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:96,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:99,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:106,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:111,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:114,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:116,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:124,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:128,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:132,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:139,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:141,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:143,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:150,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:155,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:162,1
    - Dst: is_requested_directory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:164,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:166,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:172,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 178
    functionName: test_subifd_loop
    functionSourceFile: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    functionUses: 0
    functionsReached:
    - TIFFSetSubDirectory
    - memcpy
    - TIFFClose
    - TIFFSetDirectory
    - is_requested_directory
    - TIFFGetField
    - TIFFReadDirectory
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_subifd_loop(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:185,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:186,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:187,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:189,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:192,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:196,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:197,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:198,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:201,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:207,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:211,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:212,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:213,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:215,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:218,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:220,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:223,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:225,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:228,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:230,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:233,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:235,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:238,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:240,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:243,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:245,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:248,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:252,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:253,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:257,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:263,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:266,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:267,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:268,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:270,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:273,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:275,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:278,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:280,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:283,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:285,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:288,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:290,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:293,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:295,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:298,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:300,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:303,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:305,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:308,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:310,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:313,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:315,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:318,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:320,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:323,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:325,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:328,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:331,1
    - Dst: assert
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:332,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:333,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:336,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:342,1
    - Dst: test_subifd_loop
      Src: /src/PROJ/libtiff/test/test_ifd_loop_detection.c:344,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tif)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    - condition: (tif)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    - condition: (tif)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    - condition: (tif)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    - condition: (tif)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    - condition: (tif)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    constantsTouched: []
    func_position:
      end: 346
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 346
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
    functionUses: 5
    functionsReached:
    - TIFFNumberOfDirectories
    - TIFFClose
    - TIFFSetDirectory
    - assert
    - TIFFReadDirectory
    - test_subifd_loop
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/libtiff/test/raw_decode.c:54,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:59,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cluster
    - buffer
    - expected_cluster
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: check_cluster
    functionSourceFile: /src/PROJ/libtiff/test/raw_decode.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int check_cluster(int cluster, unsigned char *buffer,\n                         unsigned
      char *expected_cluster)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 8
    argNames:
    - pixel
    - min_red
    - max_red
    - min_green
    - max_green
    - min_blue
    - max_blue
    - buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: check_rgb_pixel
    functionSourceFile: /src/PROJ/libtiff/test/raw_decode.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int check_rgb_pixel(int pixel, int min_red, int max_red, int min_green,\n
      \                          int max_green, int min_blue, int max_blue,\n                           unsigned
      char *buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetR
      Src: /src/PROJ/libtiff/test/raw_decode.c:101,1
    - Dst: TIFFGetR
      Src: /src/PROJ/libtiff/test/raw_decode.c:102,1
    - Dst: TIFFGetG
      Src: /src/PROJ/libtiff/test/raw_decode.c:103,1
    - Dst: TIFFGetG
      Src: /src/PROJ/libtiff/test/raw_decode.c:104,1
    - Dst: TIFFGetB
      Src: /src/PROJ/libtiff/test/raw_decode.c:105,1
    - Dst: TIFFGetB
      Src: /src/PROJ/libtiff/test/raw_decode.c:106,1
    - Dst: TIFFGetA
      Src: /src/PROJ/libtiff/test/raw_decode.c:107,1
    - Dst: TIFFGetA
      Src: /src/PROJ/libtiff/test/raw_decode.c:108,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:113,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:114,1
    - Dst: TIFFGetR
      Src: /src/PROJ/libtiff/test/raw_decode.c:117,1
    - Dst: TIFFGetG
      Src: /src/PROJ/libtiff/test/raw_decode.c:117,1
    - Dst: TIFFGetB
      Src: /src/PROJ/libtiff/test/raw_decode.c:118,1
    - Dst: TIFFGetA
      Src: /src/PROJ/libtiff/test/raw_decode.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 10
    argNames:
    - pixel
    - min_red
    - max_red
    - min_green
    - max_green
    - min_blue
    - max_blue
    - min_alpha
    - max_alpha
    - buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: check_rgba_pixel
    functionSourceFile: /src/PROJ/libtiff/test/raw_decode.c
    functionUses: 0
    functionsReached:
    - TIFFGetA
    - TIFFGetG
    - TIFFGetR
    - TIFFGetB
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int check_rgba_pixel(int pixel, int min_red, int max_red, int min_green,\n
      \                           int max_green, int min_blue, int max_blue,\n                            int
      min_alpha, int max_alpha, uint32_t *buffer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/libtiff/test/raw_decode.c:139,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/raw_decode.c:143,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/raw_decode.c:143,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:145,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:146,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/test/raw_decode.c:148,1
    - Dst: strcat
      Src: /src/PROJ/libtiff/test/raw_decode.c:149,1
    - Dst: strcat
      Src: /src/PROJ/libtiff/test/raw_decode.c:150,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/raw_decode.c:152,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:155,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:156,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/raw_decode.c:159,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:162,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:163,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/test/raw_decode.c:169,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:172,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:173,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/test/raw_decode.c:176,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/test/raw_decode.c:181,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:184,1
    - Dst: check_cluster
      Src: /src/PROJ/libtiff/test/raw_decode.c:191,1
    - Dst: check_cluster
      Src: /src/PROJ/libtiff/test/raw_decode.c:192,1
    - Dst: check_cluster
      Src: /src/PROJ/libtiff/test/raw_decode.c:193,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:195,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/raw_decode.c:197,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/raw_decode.c:203,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/test/raw_decode.c:205,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:208,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:209,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/test/raw_decode.c:212,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/test/raw_decode.c:214,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:217,1
    - Dst: check_rgb_pixel
      Src: /src/PROJ/libtiff/test/raw_decode.c:232,1
    - Dst: check_rgb_pixel
      Src: /src/PROJ/libtiff/test/raw_decode.c:233,1
    - Dst: check_rgb_pixel
      Src: /src/PROJ/libtiff/test/raw_decode.c:234,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/raw_decode.c:236,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/raw_decode.c:238,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/raw_decode.c:243,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/test/raw_decode.c:246,1
    - Dst: TIFFReadRGBATile
      Src: /src/PROJ/libtiff/test/raw_decode.c:248,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/raw_decode.c:250,1
    - Dst: check_rgba_pixel
      Src: /src/PROJ/libtiff/test/raw_decode.c:261,1
    - Dst: check_rgba_pixel
      Src: /src/PROJ/libtiff/test/raw_decode.c:263,1
    - Dst: check_rgba_pixel
      Src: /src/PROJ/libtiff/test/raw_decode.c:265,1
    - Dst: free
      Src: /src/PROJ/libtiff/test/raw_decode.c:267,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/raw_decode.c:268,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:272,1
    - Dst: exit
      Src: /src/PROJ/libtiff/test/raw_decode.c:275,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/raw_decode.c
    functionUses: 5
    functionsReached:
    - check_rgba_pixel
    - getenv
    - TIFFTileSize
    - free
    - strcpy
    - check_rgb_pixel
    - strcat
    - TIFFClose
    - TIFFReadRGBATile
    - TIFFGetField
    - TIFFReadEncodedTile
    - TIFFSetField
    - strlen
    - malloc
    - exit
    - TIFFOpen
    - fprintf
    - check_cluster
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: N
    functionSourceFile: /src/PROJ/libtiff/test/test_signed_tags.c
    functionUses: 169
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFMergeFieldInfo
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:119,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: extender
    functionSourceFile: /src/PROJ/libtiff/test/test_signed_tags.c
    functionUses: 0
    functionsReached:
    - TIFFMergeFieldInfo
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void extender(TIFF *tif)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:146,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:149,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:150,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:154,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:155,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:159,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:163,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:166,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:169,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:172,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:175,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:178,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:182,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:183,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:184,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:186,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:187,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:188,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:190,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:191,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:192,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:194,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:195,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:196,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:200,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:203,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:206,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:209,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:212,1
    - Dst: N
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:212,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:215,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:218,1
    - Dst: N
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:218,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:221,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:224,1
    - Dst: N
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:224,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:227,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:232,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:233,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:234,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:235,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:236,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:237,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:238,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:239,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:242,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:248,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 84
    argCount: 2
    argNames:
    - szFileName
    - isBigTiff
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 250
    functionName: writeTestTiff
    functionSourceFile: /src/PROJ/libtiff/test/test_signed_tags.c
    functionUses: 0
    functionsReached:
    - N
    - TIFFWriteEncodedStrip
    - TIFFClose
    - unlink
    - TIFFSetField
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int writeTestTiff(const char *szFileName, int isBigTiff)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetTagExtender
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:668,1
    - Dst: writeTestTiff
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:669,1
    - Dst: readTestTiff
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:671,1
    - Dst: writeTestTiff
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:674,1
    - Dst: readTestTiff
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:676,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:678,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:679,1
    - Dst: readTestTiff_ignore_some_tags
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:683,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:685,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_signed_tags.c:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 690
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_signed_tags.c
    functionUses: 5
    functionsReached:
    - readTestTiff
    - TIFFSetTagExtender
    - readTestTiff_ignore_some_tags
    - unlink
    - writeTestTiff
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:102,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:106,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:109,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:113,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:116,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:119,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:120,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:127,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:130,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:133,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:136,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:139,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
    functionUses: 5
    functionsReached:
    - TIFFOpen
    - unlink
    - write_test_tiff
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/check_tag.c:36,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/check_tag.c:38,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/check_tag.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - field
    - value
    argTypes:
    - TIFF*
    - ttag_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: CheckShortField
    functionSourceFile: /src/PROJ/libtiff/test/check_tag.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int CheckShortField(TIFF *tif, const ttag_t field, const uint16_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/check_tag.c:55,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/check_tag.c:57,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/check_tag.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - field
    - values
    argTypes:
    - TIFF*
    - ttag_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: CheckShortPairedField
    functionSourceFile: /src/PROJ/libtiff/test/check_tag.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int CheckShortPairedField(TIFF *tif, const ttag_t field, const uint16_t
      *values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/check_tag.c:74,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/check_tag.c:76,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/check_tag.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - field
    - value
    argTypes:
    - TIFF*
    - ttag_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: CheckLongField
    functionSourceFile: /src/PROJ/libtiff/test/check_tag.c
    functionUses: 2
    functionsReached:
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int CheckLongField(TIFF *tif, const ttag_t field, const uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: NUM_ELEMENTS
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NUM_ELEMENTS(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:180,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:184,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:187,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:189,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:192,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:197,1
    - Dst: check_tag_definitions
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:198,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:205,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:206,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:212,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:215,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:217,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:220,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:223,1
    - Dst: write_test_tiff
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 230
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 5
    functionsReached:
    - write_test_tiff
    - unlink
    - check_tag_definitions
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:241,1
    - Dst: testPasscountFlag
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:242,1
    - Dst: NUM_ELEMENTS
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:244,1
    - Dst: _TIFFGetGpsFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:246,1
    - Dst: testPasscountFlag
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:247,1
    - Dst: _TIFFGetExifFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:249,1
    - Dst: testPasscountFlag
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: check_tag_definitions
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 1
    functionsReached:
    - testPasscountFlag
    - _TIFFGetExifFields
    - NUM_ELEMENTS
    - _TIFFGetFields
    - _TIFFGetGpsFields
    linkageType: ''
    returnType: int
    signature: int check_tag_definitions(void)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:274,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:299,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:300,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:302,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:305,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:307,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:310,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:312,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:315,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:317,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:320,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:322,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:325,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:327,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:330,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:332,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:343,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:345,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:348,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:350,1
    - Dst: _TIFFGetFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:355,1
    - Dst: write_all_tags
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:360,1
    - Dst: NUM_ELEMENTS
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:361,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:363,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:369,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:371,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:392,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:394,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:406,1
    - Dst: TIFFCreateGPSDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:407,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:409,1
    - Dst: _TIFFGetGpsFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:413,1
    - Dst: write_all_tags
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:414,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:416,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:421,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:423,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:431,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:433,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:440,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:442,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:446,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:448,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:457,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:459,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:470,1
    - Dst: TIFFCreateEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:471,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:473,1
    - Dst: _TIFFGetExifFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:477,1
    - Dst: write_all_tags
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:478,1
    - Dst: NUM_ELEMENTS
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:479,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:481,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:486,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:488,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:496,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:498,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:505,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:507,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:512,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:514,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:520,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:522,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:534,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:536,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:539,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:541,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:545,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:548,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:554,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:556,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:561,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:567,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:569,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:574,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:583,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:585,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:592,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:601,1
    - Dst: _TIFFGetFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:602,1
    - Dst: read_all_tags
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:604,1
    - Dst: NUM_ELEMENTS
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:605,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:607,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:617,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:618,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:620,1
    - Dst: TIFFReadGPSDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:623,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:625,1
    - Dst: _TIFFGetGpsFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:630,1
    - Dst: read_all_tags
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:631,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:633,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:643,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:644,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:645,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:647,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:651,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:653,1
    - Dst: _TIFFGetExifFields
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:657,1
    - Dst: read_all_tags
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:658,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:660,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:664,1
    - Dst: unlink
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:668,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:670,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:678,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:679,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 246
    argCount: 2
    argNames:
    - tif
    - filenameRead
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 681
    functionName: write_test_tiff
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 3
    functionsReached:
    - TIFFOpen
    - TIFFGetField
    - sprintf
    - _TIFFGetExifFields
    - TIFFClose
    - write_all_tags
    - TIFFSetDirectory
    - _TIFFGetFields
    - TIFFReadGPSDirectory
    - fprintf
    - TIFFReadEXIFDirectory
    - NUM_ELEMENTS
    - TIFFWriteDirectory
    - read_all_tags
    - unlink
    - TIFFCreateEXIFDirectory
    - TIFFCreateGPSDirectory
    - TIFFWriteScanline
    - TIFFSetField
    - TIFFWriteCustomDirectory
    - _TIFFGetGpsFields
    linkageType: ''
    returnType: int
    signature: int write_test_tiff(TIFF *tif, const char *filenameRead)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:698,1
    - Dst: tagIsInList
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:701,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:709,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:710,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:719,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:724,1
    - Dst: tagIsInList
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:730,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:742,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:743,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:753,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:754,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:771,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:772,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:786,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:787,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:801,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:802,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:812,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:813,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:821,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:826,1
    - Dst: tagIsInList
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:830,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:848,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:849,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:875,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:876,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:900,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:901,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:918,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:919,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:930,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:933,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 103
    argCount: 4
    argNames:
    - szMsg
    - tFieldArray
    - plistTagsNotFollowPasscountRules
    - nTagsInList
    argTypes:
    - char*
    - TIFFFieldArray*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 935
    functionName: testPasscountFlag
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 1
    functionsReached:
    - tagIsInList
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int testPasscountFlag(const char *szMsg, const TIFFFieldArray *tFieldArray,\n
      \                     uint32_t *plistTagsNotFollowPasscountRules,\n                      uint32_t
      nTagsInList)"
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: tagIsInList
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:958,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:983,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:987,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:989,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:991,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:999,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1001,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1028,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1030,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1038,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1040,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1054,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1056,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1066,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1068,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1080,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1082,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1096,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1098,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1105,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1172,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1174,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1187,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1193,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1209,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1222,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1224,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1236,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1238,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1250,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 188
    argCount: 5
    argNames:
    - tif
    - tFieldArray
    - plistTagsNotToWrite
    - nTagsInList
    - iCnt
    argTypes:
    - TIFF*
    - TIFFFieldArray*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 1253
    functionName: write_all_tags
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 1
    functionsReached:
    - strncpy
    - TIFFSetField
    - strlen
    - tagIsInList
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int write_all_tags(TIFF *tif, const TIFFFieldArray *tFieldArray,\n
      \                  uint32_t *plistTagsNotToWrite, uint32_t nTagsInList,\n                   uint32_t
      *iCnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tTag
    - list
    - nTagsInList
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1270
    functionName: tagIsInList
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tagIsInList(uint32_t tTag, uint32_t *list, uint32_t nTagsInList)
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: tagIsInList
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1323,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1332,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1334,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1341,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1346,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1348,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1351,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1361,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1363,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1368,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1371,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1383,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1385,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1394,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1402,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1404,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1413,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1421,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1424,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1432,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1444,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1446,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1457,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1464,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1474,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1483,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1485,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1494,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1503,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1505,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1515,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1527,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1533,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1535,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1546,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1546,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1558,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1567,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1569,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1580,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1580,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1588,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1632,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1647,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1649,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1665,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1667,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1697,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1707,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1707,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1709,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1722,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1733,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1733,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1735,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1751,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1772,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1788,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1795,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1812,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1819,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1831,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1847,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/test/test_write_read_tags.c:1858,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 242
    argCount: 5
    argNames:
    - tif
    - tFieldArray
    - plistTagsNotToWrite
    - nTagsNotToWrite
    - iCnt
    argTypes:
    - TIFF*
    - TIFFFieldArray*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1861
    functionName: read_all_tags
    functionSourceFile: /src/PROJ/libtiff/test/test_write_read_tags.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcmp
    - strncmp
    - fabs
    - memcpy
    - strncpy
    - strlen
    - tagIsInList
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int read_all_tags(TIFF *tif, const TIFFFieldArray *tFieldArray,\n
      \                 uint32_t *plistTagsNotToWrite, uint32_t nTagsNotToWrite,\n
      \                 uint32_t *iCnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: PrivateErrorHandler
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrivateErrorHandler(const char *module, const char *fmt, va_list
      ap)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:86,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:99,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:111,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:113,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:116,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:122,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:125,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:144,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:151,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:156,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:158,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:164,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:165,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:171,1
    - Dst: TIFFOpenOptionsSetWarnAboutUnknownTags
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:172,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:173,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:174,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:179,1
    - Dst: tiffinfo
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:180,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:184,1
    - Dst: tiffinfo
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:185,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:192,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:193,1
    - Dst: tiffinfo
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:194,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:195,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:197,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:199,1
    - Dst: tiffinfo
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:201,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:204,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:207,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:209,1
    - Dst: TIFFReadGPSDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:211,1
    - Dst: tiffinfo
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:213,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:214,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:221,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:225,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:228,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:230,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:238,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:244,1
    - Dst: tiffinfo
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:248,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:250,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:253,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:259,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:265,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:266,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:268,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 136
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFOpenOptionsAlloc
    - strtoul
    - TIFFOpenOptionsFree
    - streq
    - TIFFGetField
    - TIFFCurrentDirectory
    - TIFFSetSubDirectory
    - memcpy
    - TIFFClose
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFSetDirectory
    - TIFFReadGPSDirectory
    - TIFFOpenExt
    - fprintf
    - printf
    - TIFFReadEXIFDirectory
    - TIFFSetErrorHandler
    - TIFFReadDirectory
    - usage
    - atoi
    - free
    - tiffinfo
    - malloc
    - TIFFOpenOptionsSetWarnAboutUnknownTags
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:300,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:300,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:301,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 13
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:310,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:315,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:317,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - strip
    - pp
    - nrow
    - scanline
    argTypes:
    - tstrip_t
    - unsigned char*
    - uint32_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: ShowStrip
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: "void ShowStrip(tstrip_t strip, unsigned char *pp, uint32_t nrow,\n
      \                     tsize_t scanline)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:326,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:327,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:331,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:337,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:343,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:344,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:348,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:349,1
    - Dst: ShowStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:355,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:357,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 364
    functionName: TIFFReadContigStripData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFStripSize
    - TIFFScanlineSize
    - _TIFFfree
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFGetField
    - TIFFComputeStrip
    - ShowStrip
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TIFFReadContigStripData(TIFF *tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:369,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:370,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:374,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:380,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:387,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:388,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:389,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:396,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:397,1
    - Dst: ShowStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:403,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:406,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:410,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 413
    functionName: TIFFReadSeparateStripData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFStripSize
    - TIFFScanlineSize
    - _TIFFfree
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFGetField
    - TIFFComputeStrip
    - ShowStrip
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TIFFReadSeparateStripData(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:420,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:422,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:423,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:428,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:430,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - row
    - col
    - sample
    - pp
    - nrow
    - rowsize
    argTypes:
    - uint32_t
    - uint32_t
    - tsample_t
    - unsigned char*
    - uint32_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: ShowTile
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: "void ShowTile(uint32_t row, uint32_t col, tsample_t sample,\n                     unsigned
      char *pp, uint32_t nrow, tsize_t rowsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:439,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:440,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:444,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:450,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:456,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:457,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:458,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:459,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:462,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:463,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:470,1
    - Dst: ShowTile
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:476,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:479,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 486
    functionName: TIFFReadContigTileData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - ShowTile
    - TIFFReadTile
    - _TIFFfree
    - _TIFFmalloc
    - TIFFTileRowSize
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TIFFReadContigTileData(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:491,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:492,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:496,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:502,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:509,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:510,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:511,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:512,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:513,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:516,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:517,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:526,1
    - Dst: ShowTile
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:532,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:536,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:540,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 543
    functionName: TIFFReadSeparateTileData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - ShowTile
    - TIFFReadTile
    - _TIFFfree
    - _TIFFmalloc
    - TIFFTileRowSize
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TIFFReadSeparateTileData(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:549,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:550,1
    - Dst: TIFFReadContigTileData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:553,1
    - Dst: TIFFReadSeparateTileData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:555,1
    - Dst: TIFFReadContigStripData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:560,1
    - Dst: TIFFReadSeparateStripData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 564
    functionName: TIFFReadData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFReadSeparateTileData
    - TIFFIsTiled
    - TIFFReadSeparateStripData
    - TIFFReadContigStripData
    - TIFFGetField
    - TIFFReadContigTileData
    linkageType: ''
    returnType: void
    signature: void TIFFReadData(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:572,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:574,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - n
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: ShowRawBytes
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void ShowRawBytes(unsigned char *pp, uint32_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:585,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:587,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - n
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 590
    functionName: ShowRawWords
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void ShowRawWords(uint16_t *pp, uint32_t n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:594,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:598,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:612,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:618,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:621,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:630,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:632,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:640,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:641,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:644,1
    - Dst: ShowRawWords
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:646,1
    - Dst: ShowRawBytes
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:648,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:652,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - tif
    - bitrev
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 654
    functionName: TIFFReadRawDataStriped
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFReadRawStrip
    - TIFFReverseBits
    - ShowRawBytes
    - _TIFFfree
    - ShowRawWords
    - _TIFFrealloc
    - TIFFGetField
    - TIFFNumberOfStrips
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TIFFReadRawDataStriped(TIFF *tif, int bitrev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:659,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:662,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:676,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:682,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:685,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:693,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:695,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:703,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:704,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:708,1
    - Dst: ShowRawWords
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:712,1
    - Dst: ShowRawBytes
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:716,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:721,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - tif
    - bitrev
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 723
    functionName: TIFFReadRawDataTiled
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFReadRawTile
    - TIFFReverseBits
    - ShowRawBytes
    - _TIFFfree
    - ShowRawWords
    - _TIFFrealloc
    - TIFFNumberOfTiles
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: void
    signature: void TIFFReadRawDataTiled(TIFF *tif, int bitrev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:727,1
    - Dst: TIFFReadRawDataTiled
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:729,1
    - Dst: TIFFReadRawDataStriped
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tif
    - bitrev
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: TIFFReadRawData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFReadRawDataTiled
    - TIFFReadRawDataStriped
    - TIFFIsTiled
    linkageType: ''
    returnType: void
    signature: void TIFFReadRawData(TIFF *tif, int bitrev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFPrintDirectory
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:739,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:747,1
    - Dst: TIFFReadRawData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:748,1
    - Dst: TIFFReadRawData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:751,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:756,1
    - Dst: TIFFReadData
      Src: /src/PROJ/libtiff/tools/tiffinfo.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - tif
    - order
    - flags
    - is_image
    argTypes:
    - TIFF*
    - uint16_t
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 759
    functionName: tiffinfo
    functionSourceFile: /src/PROJ/libtiff/tools/tiffinfo.c
    functionUses: 1
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFPrintDirectory
    - TIFFReadRawData
    - TIFFSetField
    - TIFFReadData
    linkageType: ''
    returnType: void
    signature: void tiffinfo(TIFF *tif, uint16_t order, long flags, int is_image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:257,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:261,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: limitMalloc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *limitMalloc(tmsize_t s)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:284,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:290,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:293,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:303,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:309,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:319,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:322,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:325,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:328,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:346,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:349,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:350,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:354,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:357,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:359,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:367,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:371,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:374,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:377,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:381,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:391,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:398,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:409,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:411,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:421,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:449,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:456,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:459,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:465,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:466,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:479,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:481,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:486,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:488,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:493,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:500,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:508,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:518,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:523,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:524,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:525,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:528,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:530,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:533,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:535,1
    - Dst: TIFF2PS
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:538,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:542,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:544,1
    - Dst: PSTail
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:548,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:550,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:552,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 215
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 554
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFOpenOptionsAlloc
    - strtoul
    - TIFFOpenOptionsFree
    - TIFFError
    - fclose
    - TIFFSetSubDirectory
    - TIFFClose
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFSetDirectory
    - TIFF2PS
    - fprintf
    - TIFFOpenExt
    - atof
    - usage
    - exit
    - atoi
    - PSTail
    - strcpy
    - strcmp
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:574,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:581,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:589,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:606,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:613,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:622,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:637,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:642,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 644
    functionName: checkImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFWarning
    - TIFFSetField
    - TIFFError
    linkageType: ''
    returnType: int
    signature: int checkImage(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - npix
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: PSUNITS
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSUNITS(npix, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:681,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:685,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - fd
    - w
    - h
    - bs
    - nc
    - startline
    argTypes:
    - FILE*
    - uint32_t
    - uint32_t
    - tmsize_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: PhotoshopBanner
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void PhotoshopBanner(FILE *fd, uint32_t w, uint32_t h, tmsize_t bs,\n
      \                           int nc, const char *startline)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:701,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:702,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:704,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:709,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:710,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:712,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:713,1
    - Dst: PSUNITS
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:738,1
    - Dst: PSUNITS
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:740,1
    - Dst: PSUNITS
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:742,1
    - Dst: PSUNITS
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:744,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 5
    argNames:
    - tif
    - pw
    - ph
    - pprw
    - pprh
    argTypes:
    - TIFF*
    - uint32_t*
    - uint32_t*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 745
    functionName: setupPageState
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFGetField
    - PSUNITS
    - fabs
    linkageType: ''
    returnType: void
    signature: "void setupPageState(TIFF *tif, uint32_t *pw, uint32_t *ph, double
      *pprw,\n                           double *pprh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: isCCITTCompression
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int isCCITTCompression(TIFF *tif)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:789,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:803,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:807,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:814,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:828,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:832,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:843,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:865,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:869,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:879,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:893,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:899,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:906,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 8
    argNames:
    - pagewidth
    - pageheight
    - imagewidth
    - imageheight
    - ximages
    - yimages
    - rotation
    - scale
    argTypes:
    - double
    - double
    - double
    - double
    - int*
    - int*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 928
    functionName: get_subimage_count
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - ceil
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int get_subimage_count(double pagewidth, double pageheight, double
      imagewidth,\n                       double imageheight, int *ximages, int *yimages,\n
      \                      int rotation, double scale)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:957,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1082,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1083,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1086,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1087,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1091,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1092,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1096,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1097,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1101,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1103,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 12
    argNames:
    - fp
    - pagewidth
    - pageheight
    - imagewidth
    - imageheight
    - row
    - column
    - left_offset
    - bott_offset
    - scale
    - center
    - rotation
    argTypes:
    - FILE*
    - double
    - double
    - double
    - double
    - int
    - int
    - double
    - double
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1108
    functionName: exportMaskedImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int exportMaskedImage(FILE *fp, double pagewidth, double pageheight,\n
      \                     double imagewidth, double imageheight, int row,\n                      int
      column, double left_offset, double bott_offset,\n                      double
      scale, int center, int rotation)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1115,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1121,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1128,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1132,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1136,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - fd
    - rotation
    - pswidth
    - psheight
    - left_offset
    - bottom_offset
    argTypes:
    - FILE*
    - int
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1141
    functionName: psRotateImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int psRotateImage(FILE *fd, int rotation, double pswidth, double psheight,\n
      \                 double left_offset, double bottom_offset)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1158,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1159,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1165,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1166,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1172,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1173,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1180,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1181,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1190,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1194,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1197,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1201,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1205,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1209,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1213,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1217,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1221,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 10
    argNames:
    - fd
    - scale
    - rotation
    - center
    - reqwidth
    - reqheight
    - pswidth
    - psheight
    - left_offset
    - bottom_offset
    argTypes:
    - FILE*
    - double
    - int
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1228
    functionName: psScaleImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int psScaleImage(FILE *fd, double scale, int rotation, int center,\n
      \                double reqwidth, double reqheight, double pswidth,\n                 double
      psheight, double left_offset, double bottom_offset)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1260,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1261,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1263,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1266,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1269,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1278,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1279,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1282,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1285,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1289,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1296,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1297,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1300,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1303,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1307,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1327,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1328,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1330,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1333,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1336,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1345,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1346,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1349,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1352,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1356,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1363,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1364,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1367,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1370,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1374,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1382,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1385,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 8
    argNames:
    - fd
    - rotation
    - pgwidth
    - pgheight
    - reqwidth
    - reqheight
    - pswidth
    - psheight
    argTypes:
    - FILE*
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1388
    functionName: psPageSize
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fputs
    - strlen
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int psPageSize(FILE *fd, int rotation, double pgwidth, double pgheight,\n
      \              double reqwidth, double reqheight, double pswidth,\n               double
      psheight)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_viewport
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1404,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1407,1
    - Dst: get_subimage_count
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1411,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1414,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1425,1
    - Dst: psPageSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1430,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1434,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1435,1
    - Dst: exportMaskedImage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1436,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1440,1
    - Dst: PSpage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1443,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1444,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1445,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 14
    argNames:
    - fd
    - tif
    - rotation
    - center
    - npages
    - pixwidth
    - pixheight
    - left_margin
    - bottom_margin
    - pgwidth
    - pgheight
    - pswidth
    - psheight
    - scale
    argTypes:
    - FILE*
    - TIFF*
    - int
    - int
    - int*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1451
    functionName: psMaskImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - get_subimage_count
    - psPageSize
    - TIFFError
    - PSpage
    - exportMaskedImage
    - get_viewport
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int psMaskImage(FILE *fd, TIFF *tif, int rotation, int center, int
      *npages,\n                double pixwidth, double pixheight, double left_margin,\n
      \               double bottom_margin, double pgwidth, double pgheight,\n                double
      pswidth, double psheight, double scale)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1483,1
    - Dst: PSHead
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1514,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1607,1
    - Dst: PSHead
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1612,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 15
    argNames:
    - fd
    - npages
    - auto_rotate
    - rotation
    - scale
    - ox
    - oy
    - pgwidth
    - pgheight
    - reqwidth
    - reqheight
    - pswidth
    - psheight
    - left_offset
    - bottom_offset
    argTypes:
    - FILE*
    - int
    - int
    - int*
    - double*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1620
    functionName: psStart
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - PSHead
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int psStart(FILE *fd, int npages, int auto_rotate, int *rotation,
      double *scale,\n            double ox, double oy, double pgwidth, double pgheight,\n
      \           double reqwidth, double reqheight, double pswidth, double psheight,\n
      \           double left_offset, double bottom_offset)"
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 7
    argNames:
    - pgwidth
    - pgheight
    - pswidth
    - psheight
    - view_width
    - view_height
    - rotation
    argTypes:
    - double
    - double
    - double
    - double
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1705
    functionName: get_viewport
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_viewport(double pgwidth, double pgheight, double pswidth,\n
      \                double psheight, double *view_width, double *view_height,\n
      \                int rotation)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1728,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1730,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1737,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1738,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1739,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1740,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1741,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1742,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1743,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1746,1
    - Dst: isCCITTCompression
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1751,1
    - Dst: setupPageState
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1768,1
    - Dst: get_viewport
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1772,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1775,1
    - Dst: psStart
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1781,1
    - Dst: checkImage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1786,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1788,1
    - Dst: psMaskImage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1797,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1812,1
    - Dst: psPageSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1817,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1822,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1823,1
    - Dst: psScaleImage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1824,1
    - Dst: PSpage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1829,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1830,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1831,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1832,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1839,1
    - Dst: psPageSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1844,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1848,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1849,1
    - Dst: psRotateImage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1850,1
    - Dst: PSpage
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1854,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1855,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1856,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1857,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1864,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1866,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 7
    argNames:
    - fd
    - tif
    - pgwidth
    - pgheight
    - lm
    - bm
    - center
    argTypes:
    - FILE*
    - TIFF*
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1713
    functionDepth: 3
    functionLinenumber: 1713
    functionLinenumberEnd: 1869
    functionName: TIFF2PS
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - isCCITTCompression
    - TIFFGetFieldDefaulted
    - psRotateImage
    - psScaleImage
    - TIFFScanlineSize
    - TIFFError
    - checkImage
    - psPageSize
    - setupPageState
    - psMaskImage
    - TIFFReadDirectory
    - PSpage
    - TIFFGetField
    - get_viewport
    - TIFFNumberOfStrips
    - fprintf
    - psStart
    linkageType: ''
    returnType: int
    signature: "int TIFF2PS(FILE *fd, TIFF *tif, double pgwidth, double pgheight,
      double lm,\n            double bm, int center)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1908,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1909,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1910,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1911,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1912,1
    - Dst: ctime
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1912,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1913,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1917,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1919,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1920,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1920,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1922,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1924,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1926,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1927,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1930,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1932,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1934,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1936,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - fd
    - pagewidth
    - pageheight
    - xoff
    - yoff
    argTypes:
    - FILE*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1939
    functionName: PSHead
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - ceil
    - ctime
    - time
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void PSHead(FILE *fd, double pagewidth, double pageheight, double
      xoff,\n            double yoff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1943,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1945,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - npages
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1947
    functionName: PSTail
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PSTail(FILE *fd, int npages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - tif
    - n
    - r
    - g
    - b
    argTypes:
    - TIFF*
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1957
    functionName: checkcmap
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFWarning
    linkageType: ''
    returnType: int
    signature: int checkcmap(TIFF *tif, int n, uint16_t *r, uint16_t *g, uint16_t
      *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1983,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1990,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:1998,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2000,1
    - Dst: checkcmap
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2003,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2011,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2012,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2013,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2017,1
    - Dst: Ascii85Init
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2020,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2021,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2025,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2030,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2031,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2032,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2036,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2037,1
    - Dst: Ascii85Flush
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2042,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2044,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2045,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - fd
    - tif
    argTypes:
    - FILE*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 1959
    functionDepth: 1
    functionLinenumber: 1959
    functionLinenumberEnd: 2046
    functionName: PS_Lvl2colorspace
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - Ascii85Init
    - fputs
    - CVT
    - TIFFError
    - Ascii85Put
    - checkcmap
    - TIFFGetField
    - Ascii85Flush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PS_Lvl2colorspace(FILE *fd, TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2009
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2060,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2061,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2062,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2065,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2067,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2068,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2069,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2077,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2081,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2082,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2086,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2087,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2098,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2099,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2100,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2101,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2108,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2111,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2117,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2118,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2119,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2120,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2131,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2132,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2134,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2137,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2138,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2140,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2141,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2149,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2162,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2168,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2173,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2175,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2177,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2184,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2192,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2200,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2208,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2211,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2213,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2215,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2217,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2228,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2233,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2234,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2235,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2238,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2240,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2242,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2248,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2249,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2251,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2255,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2259,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2260,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2263,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2264,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2267,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2270,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2271,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2272,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2273,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2274,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2276,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2278,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2284,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2287,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2288,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2289,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2290,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2291,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2292,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2294,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2296,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2304,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2313,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2344,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2345,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2348,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2350,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2355,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2358,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2359,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2360,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2361,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2368,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2369,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2371,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2372,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2373,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2377,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2382,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 226
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2048
    functionDepth: 1
    functionLinenumber: 2048
    functionLinenumberEnd: 2385
    functionName: PS_Lvl2ImageDict
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fputs
    - strcpy
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - snprintf
    - TIFFNumberOfTiles
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int PS_Lvl2ImageDict(FILE *fd, TIFF *tif, uint32_t w, uint32_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - count
    argTypes:
    - unsigned char*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2406
    functionName: PS_FlipBytes
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PS_FlipBytes(unsigned char *buf, tsize_t count)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: PS_Lvl2colorspace
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2424,1
    - Dst: PS_Lvl2ImageDict
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2425,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2429,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2431,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2433,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2436,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2437,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2439,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2446,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2447,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2449,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2465,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2467,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2469,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2472,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2489,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2493,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2495,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2501,1
    - Dst: Ascii85Init
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2505,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2512,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2515,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2517,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2523,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2526,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2530,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2533,1
    - Dst: TIFFIsBigEndian
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2539,1
    - Dst: PS_FlipBytes
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2541,1
    - Dst: Ascii85EncodeBlock
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2579,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2582,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2585,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2592,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2593,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2598,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2607,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2608,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2618,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2621,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2623,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2410
    functionDepth: 2
    functionLinenumber: 2410
    functionLinenumberEnd: 2626
    functionName: PS_Lvl2page
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFReadEncodedStrip
    - TIFFIsBigEndian
    - TIFFNumberOfTiles
    - TIFFGetField
    - fputs
    - Ascii85EncodeBlock
    - fwrite
    - TIFFIsTiled
    - TIFFStripSize
    - Ascii85Put
    - _TIFFfree
    - TIFFReadEncodedTile
    - TIFFTileSize
    - TIFFReadRawTile
    - limitMalloc
    - putc
    - TIFFNumberOfStrips
    - Ascii85Init
    - PS_Lvl2colorspace
    - PS_FlipBytes
    - TIFFGetFieldDefaulted
    - TIFFReadRawStrip
    - TIFFReverseBits
    - PS_Lvl2ImageDict
    linkageType: ''
    returnType: int
    signature: int PS_Lvl2page(FILE *fd, TIFF *tif, uint32_t w, uint32_t h)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PS_Lvl2page
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2635,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2643,1
    - Dst: PSColorContigPreamble
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2644,1
    - Dst: PSDataColorContig
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2645,1
    - Dst: PSColorSeparatePreamble
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2649,1
    - Dst: PSDataColorSeparate
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2650,1
    - Dst: PSColorContigPreamble
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2657,1
    - Dst: PSDataColorContig
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2658,1
    - Dst: PSColorSeparatePreamble
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2662,1
    - Dst: PSDataColorSeparate
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2663,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2667,1
    - Dst: PhotoshopBanner
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2668,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2669,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2671,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2672,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2674,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2675,1
    - Dst: PSDataPalette
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2676,1
    - Dst: PhotoshopBanner
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2680,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2681,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2683,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2685,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2687,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2688,1
    - Dst: PSDataBW
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2689,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2692,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2628
    functionDepth: 3
    functionLinenumber: 2628
    functionLinenumberEnd: 2693
    functionName: PSpage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 2
    functionsReached:
    - PSColorContigPreamble
    - PSDataColorContig
    - PSDataColorSeparate
    - PSDataPalette
    - PSColorSeparatePreamble
    - PSDataBW
    - putc
    - PS_Lvl2page
    - PhotoshopBanner
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PSpage(FILE *fd, TIFF *tif, uint32_t w, uint32_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PhotoshopBanner
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2698,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2699,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2700,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2701,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2702,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2704
    functionName: PSColorContigPreamble
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - PhotoshopBanner
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PSColorContigPreamble(FILE *fd, uint32_t w, uint32_t h, int nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PhotoshopBanner
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2709,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2711,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2713,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2714,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2716,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2718
    functionName: PSColorSeparatePreamble
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - PhotoshopBanner
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PSColorSeparatePreamble(FILE *fd, uint32_t w, uint32_t h, int
      nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - len
    - ','
    - howmany
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2720
    functionDepth: 0
    functionLinenumber: 2720
    functionLinenumberEnd: 2726
    functionName: DOBREAK
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOBREAK(len, howmany, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2729,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - fd
    argTypes:
    - unsigned int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2731
    functionName: puthex
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: void
    signature: void puthex(unsigned int c, FILE *fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2744,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2750,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2753,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2758,1
    - Dst: PS_FlipBytes
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2767,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2778,1
    - Dst: puthex
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2789,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2801,1
    - Dst: puthex
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2805,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2811,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - fd
    - tif
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2733
    functionDepth: 1
    functionLinenumber: 2733
    functionLinenumberEnd: 2812
    functionName: PSDataColorContig
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - PS_FlipBytes
    - DOBREAK
    - puthex
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void PSDataColorContig(FILE *fd, TIFF *tif, uint32_t w, uint32_t h,
      int nc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2824,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2827,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2835,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2839,1
    - Dst: puthex
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2841,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - fd
    - tif
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2814
    functionDepth: 1
    functionLinenumber: 2814
    functionLinenumberEnd: 2847
    functionName: PSDataColorSeparate
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - DOBREAK
    - puthex
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void PSDataColorSeparate(FILE *fd, TIFF *tif, uint32_t w, uint32_t
      h, int nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2849
    functionDepth: 0
    functionLinenumber: 2849
    functionLinenumberEnd: 2853
    functionName: PUTRGBHEX
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTRGBHEX(c, fd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2864,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2866,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2877,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2882,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2885,1
    - Dst: checkcmap
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2888,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2894,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2895,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2896,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2902,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2906,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2911,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2915,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2917,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2921,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2923,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2925,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2927,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2931,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2933,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2935,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2937,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2939,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2941,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2943,1
    - Dst: PUTRGBHEX
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2945,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2951,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2854
    functionDepth: 1
    functionLinenumber: 2854
    functionLinenumberEnd: 2952
    functionName: PSDataPalette
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - PUTRGBHEX
    - CVT
    - TIFFReadScanline
    - DOBREAK
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - checkcmap
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void PSDataPalette(FILE *fd, TIFF *tif, uint32_t w, uint32_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2892
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2959,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2969,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2972,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2977,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2991,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2995,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:2997,1
    - Dst: Ascii85Init
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3004,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3006,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3008,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3011,1
    - Dst: PS_FlipBytes
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3027,1
    - Dst: Ascii85EncodeBlock
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3043,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3046,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3049,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3061,1
    - Dst: puthex
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3070,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3079,1
    - Dst: puthex
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3080,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3089,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3096,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3099,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 3100
    functionName: PSDataBW
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - Ascii85Init
    - Ascii85EncodeBlock
    - fputs
    - PS_FlipBytes
    - fwrite
    - TIFFStripSize
    - DOBREAK
    - puthex
    - TIFFError
    - Ascii85Put
    - _TIFFfree
    - limitMalloc
    - memset
    - TIFFReadEncodedStrip
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void PSDataBW(FILE *fd, TIFF *tif, uint32_t w, uint32_t h)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3120,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3121,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3123,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3139,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3142,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3158,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3162,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3164,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3172,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3175,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3179,1
    - Dst: DOBREAK
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3184,1
    - Dst: puthex
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3186,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3188,1
    - Dst: Ascii85Init
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3193,1
    - Dst: Ascii85EncodeBlock
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3195,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3198,1
    - Dst: Ascii85Put
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3201,1
    - Dst: Ascii85Flush
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3202,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3206,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3102
    functionDepth: 1
    functionLinenumber: 3102
    functionLinenumberEnd: 3212
    functionName: PSRawDataBW
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - Ascii85Init
    - fputs
    - Ascii85EncodeBlock
    - fwrite
    - TIFFGetFieldDefaulted
    - TIFFReadRawStrip
    - TIFFReverseBits
    - DOBREAK
    - puthex
    - TIFFError
    - Ascii85Put
    - _TIFFfree
    - limitMalloc
    - TIFFGetField
    - Ascii85Flush
    linkageType: ''
    returnType: void
    signature: void PSRawDataBW(FILE *fd, TIFF *tif, uint32_t w, uint32_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3218
    functionName: Ascii85Init
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ascii85Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - raw
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3250
    functionName: Ascii85Encode
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Ascii85Encode(unsigned char *raw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ascii85Encode
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3263,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3265,1
    - Dst: putc
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3268,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - code
    - fd
    argTypes:
    - unsigned char
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3252
    functionDepth: 1
    functionLinenumber: 3252
    functionLinenumberEnd: 3276
    functionName: Ascii85Put
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 4
    functionsReached:
    - Ascii85Encode
    - _TIFFmemcpy
    - putc
    linkageType: ''
    returnType: void
    signature: void Ascii85Put(unsigned char code, FILE *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3283,1
    - Dst: Ascii85Encode
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3284,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3285,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3288
    functionName: Ascii85Flush
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 2
    functionsReached:
    - _TIFFmemset
    - Ascii85Encode
    - fputs
    - fwrite
    linkageType: ''
    returnType: void
    signature: void Ascii85Flush(FILE *fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3374,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 4
    argNames:
    - ascii85_p
    - f_eod
    - raw_p
    - raw_l
    argTypes:
    - uint8_t*
    - unsigned
    - uint8_t*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3332
    functionDepth: 0
    functionLinenumber: 3332
    functionLinenumberEnd: 3433
    functionName: Ascii85EncodeBlock
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 3
    functionsReached:
    - _TIFFmemcpy
    linkageType: ''
    returnType: tsize_t
    signature: "tsize_t Ascii85EncodeBlock(uint8_t *ascii85_p, unsigned f_eod,\n                           const
      uint8_t *raw_p, tsize_t raw_l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3483,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3483,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3484,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2ps.c:3485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3479
    functionDepth: 1
    functionLinenumber: 3479
    functionLinenumberEnd: 3486
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2ps.c
    functionUses: 14
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:81,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:88,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:94,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:97,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:102,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:103,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:106,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:109,1
    - Dst: tiffcmp
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:113,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:115,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:117,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:119,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:119,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:122,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:124,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:124,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:127,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:130,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:131,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 5
    functionsReached:
    - printf
    - getopt
    - TIFFClose
    - TIFFReadDirectory
    - usage
    - TIFFFileName
    - TIFFOpen
    - atoi
    - tiffcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:149,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:149,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:150,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 15
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - row
    - ','
    - sample
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: checkEOF
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkEOF(tif, row, sample)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: CheckShortTag
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:175,1
    - Dst: CheckShortTag
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:177,1
    - Dst: CheckLongTag
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:179,1
    - Dst: cmptags
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:181,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:183,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:184,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:185,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:186,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:187,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:188,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:189,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:190,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:190,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:191,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:191,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:194,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:195,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:199,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:204,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:206,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:209,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:210,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:213,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:214,1
    - Dst: SeparateCompare
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:214,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:220,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:223,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:224,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:227,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:228,1
    - Dst: SeparateCompare
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:228,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:234,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:238,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:239,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:239,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:241,1
    - Dst: ContigCompare
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:242,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:246,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:249,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:250,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:251,1
    - Dst: checkEOF
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:252,1
    - Dst: ContigCompare
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:253,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:259,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:261,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:265,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:268,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:270,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 94
    argCount: 2
    argNames:
    - tif1
    - tif2
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 272
    functionName: tiffcmp
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - pack
    - SeparateCompare
    - CheckShortTag
    - TIFFReadScanline
    - TIFFScanlineSize
    - fprintf
    - _TIFFfree
    - _TIFFmalloc
    - checkEOF
    - cmptags
    - ContigCompare
    - exit
    - TIFFGetField
    - CheckLongTag
    linkageType: ''
    returnType: int
    signature: int tiffcmp(TIFF *tif1, TIFF *tif2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: pack
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pack(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: CmpShortField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpShortField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: CmpShortField2
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpShortField2(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: CmpLongField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpLongField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: CmpFloatField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpFloatField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: CmpStringField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpStringField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: CmpShortArrayField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpShortArrayField(tag, name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CmpLongField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:296,1
    - Dst: CmpLongField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:297,1
    - Dst: CmpLongField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:298,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:299,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:300,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:301,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:302,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:303,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:304,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:305,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:306,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:307,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:308,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:309,1
    - Dst: CmpFloatField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:310,1
    - Dst: CmpFloatField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:311,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:312,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:314,1
    - Dst: CmpLongField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:317,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:319,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:321,1
    - Dst: CmpLongField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:324,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:326,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:327,1
    - Dst: CmpLongField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:328,1
    - Dst: CmpFloatField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:329,1
    - Dst: CmpFloatField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:330,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:331,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:332,1
    - Dst: CmpField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:336,1
    - Dst: CmpField3
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:340,1
    - Dst: CmpField3
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:344,1
    - Dst: CmpShortField2
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:347,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:348,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:349,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:350,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:351,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:352,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:353,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:354,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:355,1
    - Dst: CmpStringField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:356,1
    - Dst: CmpShortField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:357,1
    - Dst: CmpShortArrayField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - tif1
    - tif2
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 360
    functionName: cmptags
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - CmpShortArrayField
    - CmpShortField
    - CmpShortField2
    - CmpLongField
    - CmpStringField
    - CmpField
    - CmpFloatField
    - CmpField3
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int cmptags(TIFF *tif1, TIFF *tif2)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:368,1
    - Dst: PrintIntDiff
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:392,1
    - Dst: PrintIntDiff
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:394,1
    - Dst: PrintIntDiff
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:416,1
    - Dst: PrintIntDiff
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:438,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:456,1
    - Dst: PrintFloatDiff
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:458,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:468,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:474,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 5
    argNames:
    - sample
    - row
    - p1
    - p2
    - size
    argTypes:
    - int
    - uint32_t
    - unsigned char*
    - unsigned char*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 480
    functionName: ContigCompare
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - fabs
    - PrintIntDiff
    - PrintFloatDiff
    - memcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int ContigCompare(int sample, uint32_t row, unsigned char *p1,\n                         unsigned
      char *p2, tsize_t size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:505,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:510,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:516,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:520,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:523,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:527,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:530,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:534,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - row
    - sample
    - pix
    - w1
    - w2
    argTypes:
    - uint32_t
    - int
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 539
    functionName: PrintIntDiff
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintIntDiff(uint32_t row, int sample, uint32_t pix, uint32_t
      w1,\n                         uint32_t w2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:549,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - row
    - sample
    - pix
    - w1
    - w2
    argTypes:
    - uint32_t
    - int
    - uint32_t
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: PrintFloatDiff
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: "void PrintFloatDiff(uint32_t row, int sample, uint32_t pix, double
      w1,\n                           double w2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:571,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:574,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:576,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - reversed
    - sample
    - row
    - cp1
    - p2
    argTypes:
    - int
    - int
    - uint32_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 583
    functionName: SeparateCompare
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: int
    signature: "int SeparateCompare(int reversed, int sample, uint32_t row,\n                           unsigned
      char *cp1, unsigned char *p2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:589,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:591,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:593,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:593,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:598,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:600,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - tif1
    - tif2
    - tag
    - name
    - p1
    - p2
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 604
    functionName: checkTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFGetField
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: "int checkTag(TIFF *tif1, TIFF *tif2, int tag, char *name, void *p1,\n
      \                   void *p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cmp
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 618
    functionName: CHECK
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 345
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cmp, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: CheckShortTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int CheckShortTag(TIFF *tif1, TIFF *tif2, int tag, char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:629,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:631,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:633,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:633,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:638,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:641,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:642,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 646
    functionName: CheckShort2Tag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFGetField
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: int CheckShort2Tag(TIFF *tif1, TIFF *tif2, int tag, char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:653,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:655,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:657,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:657,1
    - Dst: memcmp
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:665,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:667,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:670,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:671,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:674,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:675,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:678,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:679,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:679,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:681,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:682,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 686
    functionName: CheckShortArrayTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFGetField
    - TIFFFileName
    - memcmp
    linkageType: ''
    returnType: int
    signature: int CheckShortArrayTag(TIFF *tif1, TIFF *tif2, int tag, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: CheckLongTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int CheckLongTag(TIFF *tif1, TIFF *tif2, int tag, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: CheckFloatTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int CheckFloatTag(TIFF *tif1, TIFF *tif2, int tag, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:703,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 704
    functionName: CheckStringTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - CHECK
    - strcmp
    linkageType: ''
    returnType: int
    signature: int CheckStringTag(TIFF *tif1, TIFF *tif2, int tag, char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:709,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:711,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcmp.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - row
    - s
    argTypes:
    - char*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 713
    functionName: leof
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void leof(const char *name, uint32_t row, int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:112,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:116,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: limitMalloc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 6
    functionsReached:
    - _TIFFmalloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *limitMalloc(tmsize_t s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/PROJ/libtiff/tools/tiffcp.c:132,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:134,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:145,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:147,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:148,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:151,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:153,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - tif
    - imageSpec
    argTypes:
    - TIFF*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: nextSrcImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFCurrentDirectory
    - strtol
    - TIFFSetDirectory
    - TIFFFileName
    - exit
    - fprintf
    linkageType: ''
    returnType: int
    signature: int nextSrcImage(TIFF *tif, char **imageSpec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:170,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:171,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:176,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffcp.c:180,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:185,1
    - Dst: nextSrcImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:191,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:193,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffcp.c:199,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - imageSpec
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 202
    functionName: openSrcImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFOpenOptionsAlloc
    - TIFFOpenOptionsFree
    - strchr
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFClose
    - nextSrcImage
    - TIFFOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *openSrcImage(char **imageSpec)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffcp.c:224,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffcp.c:228,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:232,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiffcp.c:238,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:239,1
    - Dst: openSrcImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:244,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:246,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:247,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiffcp.c:249,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:251,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:253,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/tools/tiffcp.c:256,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:257,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/tiffcp.c:265,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:266,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:269,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:271,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:274,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:281,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffcp.c:284,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:287,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:289,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:292,1
    - Dst: atol
      Src: /src/PROJ/libtiff/tools/tiffcp.c:295,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:305,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:308,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:315,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:322,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:329,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:336,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:346,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:350,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:355,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:356,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:361,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffcp.c:362,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:363,1
    - Dst: openSrcImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:371,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:374,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:377,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:379,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:379,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:381,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:382,1
    - Dst: tiffcp
      Src: /src/PROJ/libtiff/tools/tiffcp.c:396,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:396,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:398,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:399,1
    - Dst: nextSrcImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:404,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:407,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:410,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcp.c:413,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 166
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 415
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFOpenOptionsAlloc
    - strtoul
    - TIFFOpenOptionsFree
    - TIFFError
    - streq
    - nextSrcImage
    - TIFFGetField
    - fputs
    - TIFFSetSubDirectory
    - TIFFIsTiled
    - TIFFClose
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - strlen
    - processCompressOptions
    - tiffcp
    - TIFFOpenExt
    - TIFFWriteDirectory
    - TIFFReadDirectory
    - usage
    - exit
    - atoi
    - openSrcImage
    - atol
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:419,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:424,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:425,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:427,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:429,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:431,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 434
    functionName: processZIPOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - strchr
    - usage
    - isdigit
    - atoi
    linkageType: ''
    returnType: void
    signature: void processZIPOptions(char *cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:438,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:443,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcp.c:444,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:446,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:448,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:450,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: processLERCOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - atof
    - strchr
    - isdigit
    - usage
    - atoi
    linkageType: ''
    returnType: void
    signature: void processLERCOptions(char *cp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:457,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:464,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:466,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:468,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:471,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 474
    functionName: processG3Options
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - strchr
    - usage
    - strneq
    linkageType: ''
    returnType: void
    signature: void processG3Options(char *cp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:478,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:482,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:486,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:488,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:493,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:494,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:498,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:500,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:503,1
    - Dst: processG3Options
      Src: /src/PROJ/libtiff/tools/tiffcp.c:505,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:508,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:512,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:514,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcp.c:516,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:519,1
    - Dst: processZIPOptions
      Src: /src/PROJ/libtiff/tools/tiffcp.c:521,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:524,1
    - Dst: processLERCOptions
      Src: /src/PROJ/libtiff/tools/tiffcp.c:526,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:529,1
    - Dst: processZIPOptions
      Src: /src/PROJ/libtiff/tools/tiffcp.c:531,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:534,1
    - Dst: processZIPOptions
      Src: /src/PROJ/libtiff/tools/tiffcp.c:536,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:539,1
    - Dst: processZIPOptions
      Src: /src/PROJ/libtiff/tools/tiffcp.c:541,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:544,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcp.c:548,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 555
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 5
    functionsReached:
    - strneq
    - processLERCOptions
    - strchr
    - isdigit
    - usage
    - streq
    - processG3Options
    - atoi
    - processZIPOptions
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:683,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffcp.c:683,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:684,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcp.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 20
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 700
    functionName: CopyField2
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 706
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: CopyField4
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:722,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiffcp.c:727,1
    - Dst: CopyField4
      Src: /src/PROJ/libtiff/tools/tiffcp.c:732,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiffcp.c:738,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:744,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:751,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:756,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:762,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:769,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:774,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:778,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:778,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16_t
    - uint16_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 782
    functionName: cpTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - CopyField2
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField
    linkageType: ''
    returnType: void
    signature: "void cpTag(TIFF *in, TIFF *out, uint16_t tag, uint16_t count,\n                  TIFFDataType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - count
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: CopyTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyTag(tag, count, type)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:838,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:839,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:840,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:841,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:843,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:845,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/PROJ/libtiff/tools/tiffcp.c:846,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:848,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/PROJ/libtiff/tools/tiffcp.c:849,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:851,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:855,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:862,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:866,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:868,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:877,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:884,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:888,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:890,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:893,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:898,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:902,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:908,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:910,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:913,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:915,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:919,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:920,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:927,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:937,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:939,1
    - Dst: TIFFDefaultTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:940,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:941,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:942,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:953,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:955,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:962,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:965,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:967,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:969,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:970,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:975,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:978,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:981,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:982,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:983,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:984,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:989,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:996,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1007,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1013,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1027,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1034,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1041,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1054,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1057,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1060,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1070,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1074,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1083,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1085,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1088,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1092,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1093,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1094,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1096,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1097,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1098,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1104,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1105,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1110,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1112,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1113,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1115,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1119,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1121,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1125,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1128,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1128,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1142,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1143,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1146,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1150,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1153,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1155,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1162,1
    - Dst: pickCopyFunc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1165,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 213
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 1167
    functionName: tiffcp
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 1
    functionsReached:
    - pickCopyFunc
    - TIFFDefaultTileSize
    - TIFFIsTiled
    - TIFFIsCODECConfigured
    - TIFFGetFieldDefaulted
    - TIFFDefaultStripSize
    - CopyTag
    - strchr
    - TIFFError
    - TIFFSetField
    - TIFFFileName
    - strlen
    - TIFFGetField
    - CopyField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int tiffcp(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1175
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREcpFunc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1179
    functionName: DECLAREreadFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREreadFunc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREwriteFunc(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1191,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1195,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1198,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1203,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1205,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1205,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1209,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1211,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1211,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1216,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1221
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFWriteScanline
    - TIFFScanlineSize
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContig2ContigByRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1236
    functionName: subtract
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subtract(bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bits
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1251
    functionName: lineSubtractFn
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: biasFn
    signature: biasFn *lineSubtractFn(unsigned bits)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1260,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1261,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1264,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1265,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1271,1
    - Dst: lineSubtractFn
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1272,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1276,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1277,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1282,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1284,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1284,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1288,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1290,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1290,1
    - Dst: subtractLine
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1295,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1296,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1298,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1298,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1304,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1305,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1306,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1306,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1310,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1312,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1317,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1317,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1323,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1323,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1326,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1326,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1327,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1327,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1332,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1332,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1334,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1334,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1337
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFCurrentDirectory
    - subtractLine
    - TIFFWriteScanline
    - TIFFSetDirectory
    - TIFFReadScanline
    - TIFFScanlineSize
    - TIFFError
    - lineSubtractFn
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpBiasedContig2Contig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1344,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1345,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1351,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1353,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1357,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1359,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1361,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1361,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1365,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1367,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1367,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1373,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1378,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1379,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1389
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFWriteEncodedStrip
    - TIFFStripSize
    - TIFFVStripSize
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFReadEncodedStrip
    - TIFFFileName
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpDecodedStrips)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1396,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1402,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1405,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1410,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1412,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1412,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1416,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1418,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1418,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1424,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1429
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFWriteScanline
    - TIFFScanlineSize
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparate2SeparateByRow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1436,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1437,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1446,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1449,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1449,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1455,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1456,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1459,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1460,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1466,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1468,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1468,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1479,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1481,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1481,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1488,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1490,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1494,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1496,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1498
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFWriteScanline
    - TIFFReadScanline
    - TIFFScanlineSize
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContig2SeparateByRow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1505,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1506,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1515,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1518,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1518,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1524,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1525,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1528,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1529,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1535,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1537,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1537,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1549,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1551,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1551,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1557,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1559,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1563,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1565,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1567
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFWriteScanline
    - TIFFReadScanline
    - TIFFScanlineSize
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparate2ContigByRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - out
    - in
    - rows
    - cols
    - outskew
    - inskew
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1580
    functionName: cpStripToTile
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cpStripToTile(uint8_t *out, uint8_t *in, uint32_t rows,\n                          uint32_t
      cols, int64_t outskew, int64_t inskew)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - out
    - in
    - rows
    - cols
    - outskew
    - inskew
    - spp
    - bytes_per_sample
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - int
    - int
    - tsample_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1602
    functionName: cpContigBufToSeparateBuf
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cpContigBufToSeparateBuf(uint8_t *out, uint8_t *in, uint32_t
      rows,\n                                     uint32_t cols, int outskew, int
      inskew,\n                                     tsample_t spp, int bytes_per_sample)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - out
    - in
    - rows
    - cols
    - outskew
    - inskew
    - spp
    - bytes_per_sample
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - int
    - int
    - tsample_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1624
    functionName: cpSeparateBufToContigBuf
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cpSeparateBufToContigBuf(uint8_t *out, uint8_t *in, uint32_t
      rows,\n                                     uint32_t cols, int outskew, int
      inskew,\n                                     tsample_t spp, int bytes_per_sample)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRasterScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1631,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1639,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1647,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1651,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1651,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1657,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 7
    argNames:
    - in
    - out
    - fin
    - fout
    - imagelength
    - imagewidth
    - spp
    argTypes:
    - TIFF*
    - TIFF*
    - readFunc
    - writeFunc
    - uint32_t
    - uint32_t
    - tsample_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1662
    functionName: cpImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFRasterScanlineSize
    linkageType: ''
    returnType: int
    signature: "int cpImage(TIFF *in, TIFF *out, readFunc fin, writeFunc fout,\n                   uint32_t
      imagelength, uint32_t imagewidth, tsample_t spp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1666,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1674,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1676,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1684
    functionName: DECLAREreadFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFReadScanline
    - TIFFFileName
    - TIFFScanlineSize
    - TIFFError
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readContigStripsIntoBuffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1689,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1694,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1697,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1713,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1715,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1715,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1730
    functionName: DECLAREreadFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFScanlineSize
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readSeparateStripsIntoBuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1737,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - val
    - module
    argTypes:
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1755
    functionName: _TIFFCastSSizeToUInt32
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _TIFFCastSSizeToUInt32(tmsize_t val, const char *module)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1760,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1762,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1762,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1764,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1764,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1772,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1775,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1776,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1777,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1787,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1789,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1789,1
    - Dst: cpStripToTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1799,1
    - Dst: cpStripToTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1803,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1809,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1811
    functionName: DECLAREreadFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFTileSize
    - cpStripToTile
    - TIFFScanlineSize
    - TIFFError
    - TIFFReadTile
    - _TIFFCastSSizeToUInt32
    - limitMalloc
    - _TIFFfree
    - TIFFFileName
    - TIFFTileRowSize
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readContigTilesIntoBuffer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1816,1
    - Dst: TIFFRasterScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1816,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1818,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1818,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1821,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1830,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1830,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1838,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1838,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1844,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1847,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1848,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1849,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1850,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1853,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1853,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1859,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1860,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1879,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1881,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1881,1
    - Dst: cpSeparateBufToContigBuf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1897,1
    - Dst: cpSeparateBufToContigBuf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1903,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1912,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1914
    functionName: DECLAREreadFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFTileSize
    - TIFFTileRowSize
    - TIFFError
    - TIFFReadTile
    - _TIFFCastSSizeToUInt32
    - limitMalloc
    - _TIFFfree
    - TIFFFileName
    - TIFFRasterScanlineSize
    - cpSeparateBufToContigBuf
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readSeparateTilesIntoBuffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1923,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1928,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1929,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1931,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1938
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFGetFieldDefaulted
    - TIFFError
    - TIFFVStripSize
    - TIFFFileName
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToContigStrips)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1943,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1949,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1952,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1953,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1954,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1957,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1957,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1958,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1963,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1964,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1966,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1978,1
    - Dst: cpContigBufToSeparateBuf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1980,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1983,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1985,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1985,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1987,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1994
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFWriteEncodedStrip
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - cpContigBufToSeparateBuf
    - TIFFError
    - TIFFVStripSize
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToSeparateStrips)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1998,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:1998,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2000,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2000,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2003,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2011,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2011,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2014,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2015,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2016,1
    - Dst: cpStripToTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2033,1
    - Dst: cpStripToTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2037,1
    - Dst: TIFFWriteTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2038,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2040,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2040,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2043,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2052
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFTileSize
    - cpStripToTile
    - TIFFWriteTile
    - TIFFScanlineSize
    - TIFFError
    - _TIFFCastSSizeToUInt32
    - limitMalloc
    - _TIFFfree
    - TIFFFileName
    - TIFFTileRowSize
    - TIFFGetField
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToContigTiles)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2056,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2056,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2058,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2058,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2060,1
    - Dst: TIFFRasterScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2060,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2063,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2070,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2070,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2073,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2074,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2075,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2076,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2079,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2079,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2080,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2085,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2086,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2088,1
    - Dst: cpContigBufToSeparateBuf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2113,1
    - Dst: cpContigBufToSeparateBuf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2119,1
    - Dst: TIFFWriteTile
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2122,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2124,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2124,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2128,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2138
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFTileSize
    - TIFFWriteTile
    - cpContigBufToSeparateBuf
    - TIFFScanlineSize
    - TIFFError
    - _TIFFCastSSizeToUInt32
    - limitMalloc
    - _TIFFfree
    - TIFFFileName
    - TIFFTileRowSize
    - TIFFGetField
    - TIFFRasterScanlineSize
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToSeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2143
    functionDepth: 2
    functionLinenumber: 2143
    functionLinenumberEnd: 2147
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigStrips2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2152
    functionDepth: 2
    functionLinenumber: 2152
    functionLinenumberEnd: 2156
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigStrips2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2161
    functionDepth: 2
    functionLinenumber: 2161
    functionLinenumberEnd: 2165
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateStrips2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2170
    functionDepth: 2
    functionLinenumber: 2170
    functionLinenumberEnd: 2174
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateStrips2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2179
    functionDepth: 2
    functionLinenumber: 2179
    functionLinenumberEnd: 2183
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2188
    functionDepth: 2
    functionLinenumber: 2188
    functionLinenumberEnd: 2192
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2197
    functionDepth: 2
    functionLinenumber: 2197
    functionLinenumberEnd: 2201
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2206
    functionDepth: 2
    functionLinenumber: 2206
    functionLinenumberEnd: 2210
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2215
    functionDepth: 2
    functionLinenumber: 2215
    functionLinenumberEnd: 2219
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2ContigStrips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2224
    functionDepth: 2
    functionLinenumber: 2224
    functionLinenumberEnd: 2228
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2SeparateStrips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2233
    functionDepth: 2
    functionLinenumber: 2233
    functionLinenumberEnd: 2237
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2ContigStrips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2242
    functionDepth: 2
    functionLinenumber: 2242
    functionLinenumberEnd: 2246
    functionName: DECLAREcpFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2SeparateStrips)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2261,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2264,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2267,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2268,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2269,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2269,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2272,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2280,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2282,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2285,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2287,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2289,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2295,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2296,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2304,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2304,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2304,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2307,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2308,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2310,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2311,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2313,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2314,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2316,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2317,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2320,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2321,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2323,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2324,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2326,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2327,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2329,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2330,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2333,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2334,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2336,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2337,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2339,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2340,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2342,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2343,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2346,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2348,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2350,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2351,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2353,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2354,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2356,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2357,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2363,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcp.c:2364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 4
    argNames:
    - in
    - out
    - bitspersample
    - samplesperpixel
    argTypes:
    - TIFF*
    - TIFF*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2366
    functionName: pickCopyFunc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 1
    functionsReached:
    - pack
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - TIFFFileName
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: copyFunc
    signature: "copyFunc pickCopyFunc(TIFF *in, TIFF *out, uint16_t bitspersample,\n
      \                            uint16_t samplesperpixel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2304
    functionName: pack
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcp.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pack(a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - n
    - r
    - g
    - b
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: checkcmap
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int checkcmap(int n, uint16_t *r, uint16_t *g, uint16_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:92,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:96,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:99,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:100,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:103,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:105,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:108,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:111,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:114,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:117,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:121,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:122,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:125,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:128,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:129,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:132,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:134,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:136,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:140,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:143,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:145,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:148,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:151,1
    - Dst: cpTags
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:154,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:155,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:156,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:158,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:160,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:168,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:169,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:175,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:178,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:179,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:180,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:181,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:182,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:183,1
    - Dst: checkcmap
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:185,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:196,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:197,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:198,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:205,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:206,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:216,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:220,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:221,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:227,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:236,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:243,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:247,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:251,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:255,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:260,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:261,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:264,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:265,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 142
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 267
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 5
    functionsReached:
    - getopt
    - streq
    - cpTags
    - TIFFGetField
    - TIFFOpen
    - TIFFClose
    - TIFFDefaultStripSize
    - _TIFFfree
    - checkcmap
    - processCompressOptions
    - TIFFReadScanline
    - fprintf
    - CVT
    - usage
    - atoi
    - TIFFWriteScanline
    - TIFFScanlineSize
    - TIFFSetField
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:271,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:273,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:275,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:277,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:282,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:283,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:287,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:289,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:292,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:294,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:296,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:299,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:301,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 309
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 6
    functionsReached:
    - strneq
    - strchr
    - isdigit
    - usage
    - streq
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: CopyField2
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: CopyField4
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:333,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:338,1
    - Dst: CopyField4
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:343,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:349,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:355,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:362,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:367,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:373,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:380,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:385,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:389,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:389,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16_t
    - uint16_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 393
    functionName: cpTag
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 0
    functionsReached:
    - CopyField2
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField
    linkageType: ''
    returnType: void
    signature: "void cpTag(TIFF *in, TIFF *out, uint16_t tag, uint16_t count,\n                  TIFFDataType
      type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:464,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:471,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 477
    functionName: cpTags
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - cpTag
    linkageType: ''
    returnType: void
    signature: void cpTags(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:514,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:514,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:515,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/pal2rgb.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/pal2rgb.c
    functionUses: 22
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: TIFFftell
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFftell(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: TIFFfseek
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFfseek(stream, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: TIFFftell
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFftell(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:94,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffset.c:94,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:95,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffset.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 22
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:103,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:104,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:104,1
    - Dst: TIFFFieldWithName
      Src: /src/PROJ/libtiff/tools/tiffset.c:106,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tiff
    - tagname
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: GetField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 58
    functionsReached:
    - TIFFFieldWithTag
    - TIFFFieldWithName
    - atoi
    - fprintf
    linkageType: ''
    returnType: TIFFField
    signature: TIFFField *GetField(TIFF *tiff, const char *tagname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:128,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffset.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: limitMalloc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 19
    functionsReached:
    - _TIFFmalloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *limitMalloc(tmsize_t s)
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffset.c:140,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffset.c:142,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:148,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffset.c:151,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:151,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:153,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:159,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/tools/tiffset.c:162,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:162,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:164,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:172,1
    - Dst: GetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:178,1
    - Dst: TIFFUnsetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:182,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:182,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:184,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:184,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:188,1
    - Dst: GetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:195,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:201,1
    - Dst: TIFFFieldPassCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:203,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffset.c:206,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:208,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:208,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:210,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:211,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:215,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:215,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:217,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:218,1
    - Dst: TIFFFieldWriteCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:221,1
    - Dst: TIFFFieldWriteCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:222,1
    - Dst: TIFFFieldWriteCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:227,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:228,1
    - Dst: TIFFFieldWriteCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:230,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:234,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:237,1
    - Dst: TIFFFieldWriteCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:241,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:246,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffset.c:285,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:288,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:292,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:297,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:302,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:307,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:312,1
    - Dst: atol
      Src: /src/PROJ/libtiff/tools/tiffset.c:317,1
    - Dst: atol
      Src: /src/PROJ/libtiff/tools/tiffset.c:323,1
    - Dst: strtoll
      Src: /src/PROJ/libtiff/tools/tiffset.c:327,1
    - Dst: strtoll
      Src: /src/PROJ/libtiff/tools/tiffset.c:333,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffset.c:339,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffset.c:346,1
    - Dst: TIFFFieldPassCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:352,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:354,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:354,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:356,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:357,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:358,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:359,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:361,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:363,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:363,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:367,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:369,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:369,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:376,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:376,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffset.c:379,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:383,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:389,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:389,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffset.c:390,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:395,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:395,1
    - Dst: atol
      Src: /src/PROJ/libtiff/tools/tiffset.c:396,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:401,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:402,1
    - Dst: strtoll
      Src: /src/PROJ/libtiff/tools/tiffset.c:403,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:406,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:406,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffset.c:407,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:412,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:412,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffset.c:413,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:421,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:421,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:425,1
    - Dst: GetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:435,1
    - Dst: TIFFFieldDataType
      Src: /src/PROJ/libtiff/tools/tiffset.c:440,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:442,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:445,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/tiffset.c:450,1
    - Dst: perror
      Src: /src/PROJ/libtiff/tools/tiffset.c:453,1
    - Dst: TIFFfseek
      Src: /src/PROJ/libtiff/tools/tiffset.c:460,1
    - Dst: TIFFftell
      Src: /src/PROJ/libtiff/tools/tiffset.c:461,1
    - Dst: rewind
      Src: /src/PROJ/libtiff/tools/tiffset.c:462,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:470,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffset.c:474,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffset.c:477,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:480,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffset.c:481,1
    - Dst: fread
      Src: /src/PROJ/libtiff/tools/tiffset.c:484,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffset.c:487,1
    - Dst: TIFFFieldPassCount
      Src: /src/PROJ/libtiff/tools/tiffset.c:489,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:492,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:492,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffset.c:496,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/tools/tiffset.c:496,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:500,1
    - Dst: TIFFFieldName
      Src: /src/PROJ/libtiff/tools/tiffset.c:501,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffset.c:504,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:507,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffset.c:510,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:512,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffset.c:513,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffset.c:515,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffset.c:519,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffset.c:523,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/tools/tiffset.c:527,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffset.c:528,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 246
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 530
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffset.c
    functionUses: 5
    functionsReached:
    - strtoul
    - TIFFFieldPassCount
    - TIFFFieldWriteCount
    - perror
    - fclose
    - TIFFOpen
    - fread
    - TIFFfseek
    - TIFFSetSubDirectory
    - TIFFftell
    - TIFFClose
    - TIFFSetDirectory
    - _TIFFfree
    - strlen
    - TIFFRewriteDirectory
    - fprintf
    - TIFFUnsetField
    - atof
    - GetField
    - TIFFFieldName
    - rewind
    - limitMalloc
    - usage
    - atoi
    - TIFFFieldDataType
    - atol
    - strcmp
    - TIFFFieldTag
    - strtoll
    - TIFFSetField
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: howmany
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: roundup
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup(x, y)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:82,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:86,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:88,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:90,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:92,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:94,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:97,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:100,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:103,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:106,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:109,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:112,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:123,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:127,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:128,1
    - Dst: setupLumaTables
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:131,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:134,1
    - Dst: tiffcvt
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:139,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:139,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:141,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:142,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:145,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:146,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:149,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFClose
    - TIFFWriteDirectory
    - TIFFReadDirectory
    - usage
    - setupLumaTables
    - streq
    - tiffcvt
    - TIFFOpen
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: setupLuma
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 1
    functionsReached:
    - _TIFFmalloc
    linkageType: ''
    returnType: float
    signature: float *setupLuma(float c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - RB
    - RW
    - CR
    argTypes:
    - float
    - float
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: V2Code
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned V2Code(float f, float RB, float RW, int CR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupLuma
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:176,1
    - Dst: setupLuma
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:177,1
    - Dst: setupLuma
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:178,1
    - Dst: V2Code
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: setupLumaTables
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 2
    functionsReached:
    - V2Code
    - setupLuma
    linkageType: ''
    returnType: void
    signature: void setupLumaTables(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetR
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:198,1
    - Dst: TIFFGetG
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:198,1
    - Dst: TIFFGetB
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:199,1
    - Dst: TIFFGetB
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:201,1
    - Dst: TIFFGetR
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:202,1
    - Dst: V2Code
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:204,1
    - Dst: V2Code
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:215,1
    - Dst: V2Code
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - op
    - raster
    - ch
    - cw
    - w
    argTypes:
    - unsigned char*
    - uint32_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 217
    functionName: cvtClump
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - TIFFGetG
    - TIFFGetB
    - TIFFGetR
    - V2Code
    linkageType: ''
    returnType: void
    signature: "void cvtClump(unsigned char *op, uint32_t *raster, uint32_t ch,\n
      \                    uint32_t cw, uint32_t w)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cvtClump
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:239,1
    - Dst: cvtClump
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:245,1
    - Dst: cvtClump
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:255,1
    - Dst: cvtClump
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - op
    - raster
    - nrows
    - width
    argTypes:
    - unsigned char*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 262
    functionName: cvtStrip
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - cvtClump
    linkageType: ''
    returnType: void
    signature: "void cvtStrip(unsigned char *op, uint32_t *raster, uint32_t nrows,\n
      \                    uint32_t width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roundup
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:271,1
    - Dst: roundup
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:272,1
    - Dst: roundup
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:274,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:278,1
    - Dst: cvtStrip
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:283,1
    - Dst: roundup
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:284,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:287,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:289,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - tif
    - raster
    - width
    - height
    argTypes:
    - TIFF*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 295
    functionName: cvtRaster
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - cvtStrip
    - roundup
    - TIFFWriteEncodedStrip
    - _TIFFfree
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: "int cvtRaster(TIFF *tif, uint32_t *raster, uint32_t width,\n                     uint32_t
      height)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:308,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:309,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:315,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:315,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:323,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:327,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:327,1
    - Dst: TIFFReadRGBAImage
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:334,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:336,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:340,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:341,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:342,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:343,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:344,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:345,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:347,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:348,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:349,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:350,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:351,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:352,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:353,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:354,1
    - Dst: strrchr
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:357,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:357,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:358,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:359,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:360,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:362,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:362,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:363,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:365,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:366,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:368,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:369,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:370,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:371,1
    - Dst: cvtRaster
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:373,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 376
    functionName: tiffcvt
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 1
    functionsReached:
    - _TIFFCheckMalloc
    - snprintf
    - TIFFGetVersion
    - TIFFDefaultStripSize
    - cvtRaster
    - TIFFError
    - _TIFFfree
    - strrchr
    - TIFFSetField
    - TIFFFileName
    - TIFFGetField
    - CopyField
    - TIFFReadRGBAImage
    linkageType: ''
    returnType: int
    signature: int tiffcvt(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:413,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:413,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:415,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/rgb2ycbcr.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/rgb2ycbcr.c
    functionUses: 24
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:107,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:108,1
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffgt.c:109,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffgt.c:113,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:116,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffgt.c:125,1
    - Dst: photoArg
      Src: /src/PROJ/libtiff/tools/tiffgt.c:128,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:134,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:140,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:144,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:150,1
    - Dst: glutInit
      Src: /src/PROJ/libtiff/tools/tiffgt.c:152,1
    - Dst: glutInitDisplayMode
      Src: /src/PROJ/libtiff/tools/tiffgt.c:153,1
    - Dst: glutGet
      Src: /src/PROJ/libtiff/tools/tiffgt.c:158,1
    - Dst: glutGet
      Src: /src/PROJ/libtiff/tools/tiffgt.c:159,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffgt.c:167,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffgt.c:170,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffgt.c:173,1
    - Dst: nextImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:175,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffgt.c:177,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:184,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffgt.c:185,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:186,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffgt.c:187,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:190,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffgt.c:192,1
    - Dst: glutInitWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:199,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiffgt.c:200,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:201,1
    - Dst: glutCreateWindow
      Src: /src/PROJ/libtiff/tools/tiffgt.c:202,1
    - Dst: glutDisplayFunc
      Src: /src/PROJ/libtiff/tools/tiffgt.c:203,1
    - Dst: glutReshapeFunc
      Src: /src/PROJ/libtiff/tools/tiffgt.c:204,1
    - Dst: glutKeyboardFunc
      Src: /src/PROJ/libtiff/tools/tiffgt.c:205,1
    - Dst: glutSpecialFunc
      Src: /src/PROJ/libtiff/tools/tiffgt.c:206,1
    - Dst: glutMainLoop
      Src: /src/PROJ/libtiff/tools/tiffgt.c:207,1
    - Dst: cleanup_and_exit
      Src: /src/PROJ/libtiff/tools/tiffgt.c:209,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 211
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 5
    functionsReached:
    - getopt
    - strtoul
    - cleanup_and_exit
    - photoArg
    - snprintf
    - TIFFError
    - glutInitWindowSize
    - glutReshapeFunc
    - glutGet
    - initImage
    - glutKeyboardFunc
    - TIFFCurrentDirectory
    - TIFFSetSubDirectory
    - glutInit
    - TIFFSetDirectory
    - _TIFFfree
    - TIFFSetWarningHandler
    - glutDisplayFunc
    - TIFFSetErrorHandler
    - usage
    - atoi
    - _TIFFmemcpy
    - glutCreateWindow
    - _TIFFmalloc
    - glutInitDisplayMode
    - glutSpecialFunc
    - nextImage
    - glutMainLoop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/tools/tiffgt.c:215,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffgt.c:217,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffgt.c:219,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffgt.c:221,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffgt.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: cleanup_and_exit
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - exit
    - _TIFFfree
    - TIFFRGBAImageEnd
    - TIFFClose
    linkageType: ''
    returnType: void
    signature: void cleanup_and_exit(int code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffgt.c:230,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffgt.c:232,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/tools/tiffgt.c:233,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffgt.c:235,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffgt.c:236,1
    - Dst: _TIFFMultiply32
      Src: /src/PROJ/libtiff/tools/tiffgt.c:259,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffgt.c:262,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/tools/tiffgt.c:263,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffgt.c:268,1
    - Dst: cleanup_and_exit
      Src: /src/PROJ/libtiff/tools/tiffgt.c:269,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/tools/tiffgt.c:274,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/tiffgt.c:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 279
    functionName: initImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - _TIFFCheckMalloc
    - TIFFRGBAImageBegin
    - TIFFClose
    - _TIFFMultiply32
    - cleanup_and_exit
    - TIFFRGBAImageGet
    - TIFFError
    - _TIFFfree
    - TIFFSetField
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: int
    signature: int initImage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffgt.c:288,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffgt.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: prevImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int prevImage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffgt.c:302,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffgt.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: nextImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - TIFFClose
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int nextImage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glutReshapeWindow
      Src: /src/PROJ/libtiff/tools/tiffgt.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: setWindowSize
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - glutReshapeWindow
    linkageType: ''
    returnType: void
    signature: void setWindowSize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glDrawPixels
      Src: /src/PROJ/libtiff/tools/tiffgt.c:313,1
    - Dst: glFlush
      Src: /src/PROJ/libtiff/tools/tiffgt.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: raster_draw
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - glFlush
    - glDrawPixels
    linkageType: ''
    returnType: void
    signature: void raster_draw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glPixelZoom
      Src: /src/PROJ/libtiff/tools/tiffgt.c:324,1
    - Dst: glViewport
      Src: /src/PROJ/libtiff/tools/tiffgt.c:325,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiffgt.c:326,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:327,1
    - Dst: glutSetWindowTitle
      Src: /src/PROJ/libtiff/tools/tiffgt.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - win_w
    - win_h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: raster_reshape
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - glViewport
    - TIFFCurrentDirectory
    - snprintf
    - glPixelZoom
    - glutSetWindowTitle
    linkageType: ''
    returnType: void
    signature: void raster_reshape(int win_w, int win_h)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:339,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:343,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:347,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:351,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:354,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:355,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:358,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:359,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:366,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/tools/tiffgt.c:368,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:369,1
    - Dst: cleanup_and_exit
      Src: /src/PROJ/libtiff/tools/tiffgt.c:373,1
    - Dst: glutPostRedisplay
      Src: /src/PROJ/libtiff/tools/tiffgt.c:375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - unsigned char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 376
    functionName: raster_keys
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - cleanup_and_exit
    - TIFFSetErrorHandler
    - TIFFSetWarningHandler
    - initImage
    - glutPostRedisplay
    linkageType: ''
    returnType: void
    signature: void raster_keys(unsigned char key, int x, int y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:385,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:387,1
    - Dst: TIFFCurrentDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:387,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:389,1
    - Dst: setWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:390,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/tools/tiffgt.c:395,1
    - Dst: prevImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:396,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:397,1
    - Dst: setWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:398,1
    - Dst: TIFFLastDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:402,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:404,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:406,1
    - Dst: setWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:407,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/tools/tiffgt.c:412,1
    - Dst: nextImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:413,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:414,1
    - Dst: setWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:415,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:419,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/tools/tiffgt.c:421,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:422,1
    - Dst: setWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:423,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/tools/tiffgt.c:427,1
    - Dst: TIFFLastDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:428,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffgt.c:429,1
    - Dst: initImage
      Src: /src/PROJ/libtiff/tools/tiffgt.c:430,1
    - Dst: setWindowSize
      Src: /src/PROJ/libtiff/tools/tiffgt.c:431,1
    - Dst: glutPostRedisplay
      Src: /src/PROJ/libtiff/tools/tiffgt.c:434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 435
    functionName: raster_special
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - TIFFCurrentDirectory
    - TIFFRGBAImageEnd
    - TIFFSetDirectory
    - nextImage
    - TIFFReadDirectory
    - setWindowSize
    - TIFFLastDirectory
    - initImage
    - glutPostRedisplay
    - prevImage
    linkageType: ''
    returnType: void
    signature: void raster_special(int key, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffgt.c:463,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffgt.c:463,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffgt.c:465,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffgt.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 467
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 25
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:471,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:473,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:475,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:477,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:479,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:481,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:483,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:485,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:487,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffgt.c:489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 493
    functionName: photoArg
    functionSourceFile: /src/PROJ/libtiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t photoArg(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: CopyField2
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:79,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:83,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: limitMalloc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 20
    functionsReached:
    - _TIFFmalloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *limitMalloc(tmsize_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:93,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:97,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:99,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: limitRealloc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFrealloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *limitRealloc(void *buf, tmsize_t s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:114,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:119,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:122,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:126,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:130,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:139,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:142,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:146,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:151,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:152,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:155,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:156,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:157,1
    - Dst: newfilename
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:165,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:167,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:168,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:171,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:175,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:176,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:179,1
    - Dst: strncat
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:181,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:181,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:182,1
    - Dst: TIFFIsBigEndian
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:182,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:186,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:187,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:189,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:190,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:193,1
    - Dst: tiffcp
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:194,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:196,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:197,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:198,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:199,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:203,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:204,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:206,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFOpenOptionsAlloc
    - strtoul
    - TIFFOpenOptionsFree
    - tiffcp
    - TIFFClose
    - strncpy
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - strncat
    - _TIFFfree
    - limitMalloc
    - usage
    - TIFFIsBigEndian
    - strlen
    - TIFFReadDirectory
    - newfilename
    - fprintf
    - TIFFOpenExt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:224,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:240,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 278
    functionName: newfilename
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 1
    functionsReached:
    - exit
    - strlen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void newfilename(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:288,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:289,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:290,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:291,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:292,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:293,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:294,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:295,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:300,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:303,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:306,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:307,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:308,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:309,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:310,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:311,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:312,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:313,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:314,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:315,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:316,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:317,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:318,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:319,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:320,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:321,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:322,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:323,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:324,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:325,1
    - Dst: CopyField3
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:328,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:332,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:334,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:335,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:336,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:337,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:338,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:339,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:340,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:341,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:342,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:343,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:344,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:345,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:346,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:347,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:348,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:349,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:350,1
    - Dst: cpTiles
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:351,1
    - Dst: cpStrips
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 354
    functionName: tiffcp
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 2
    functionsReached:
    - TIFFIsTiled
    - CopyField2
    - cpTiles
    - cpStrips
    - CopyField3
    - TIFFSetField
    - TIFFGetField
    - CopyField
    linkageType: ''
    returnType: int
    signature: int tiffcp(TIFF *in, TIFF *out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:358,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:359,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:362,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:365,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:367,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:368,1
    - Dst: limitRealloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:376,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:379,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:387,1
    - Dst: TIFFWriteRawStrip
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:388,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:390,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:394,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 405
    functionName: cpStrips
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 1
    functionsReached:
    - limitRealloc
    - TIFFStripSize
    - TIFFReadRawStrip
    - TIFFWriteRawStrip
    - _TIFFfree
    - limitMalloc
    - TIFFGetField
    - TIFFNumberOfStrips
    - fprintf
    linkageType: ''
    returnType: int
    signature: int cpStrips(TIFF *in, TIFF *out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:409,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:410,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:414,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:417,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:419,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:420,1
    - Dst: limitRealloc
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:428,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:431,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:439,1
    - Dst: TIFFWriteRawTile
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:440,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:442,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:446,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 457
    functionName: cpTiles
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 1
    functionsReached:
    - TIFFTileSize
    - TIFFReadRawTile
    - limitRealloc
    - TIFFWriteRawTile
    - _TIFFfree
    - limitMalloc
    - TIFFNumberOfTiles
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: int
    signature: int cpTiles(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:463,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:463,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:464,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:465,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:466,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:467,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffsplit.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffsplit.c
    functionUses: 26
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:136,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:140,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:141,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:144,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:147,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:149,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:153,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:154,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:161,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:164,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:168,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:173,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:174,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:177,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:178,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:179,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:180,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:183,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:185,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:188,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:191,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:192,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:195,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:198,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:200,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:209,1
    - Dst: get_histogram
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:231,1
    - Dst: largest_box
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:239,1
    - Dst: splitbox
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:241,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:257,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:265,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:266,1
    - Dst: map_colortable
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:269,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:274,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:277,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:278,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:282,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:283,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:284,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:287,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:294,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:299,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:300,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:301,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:302,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:303,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:304,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:305,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:306,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:307,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:308,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:309,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:310,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:311,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:312,1
    - Dst: quant_fsdither
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:315,1
    - Dst: quant
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:317,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:324,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:325,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:326,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:328,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:329,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:330,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:331,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 138
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 333
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 5
    functionsReached:
    - quant
    - getopt
    - TIFFGetField
    - TIFFOpen
    - _TIFFmemset
    - TIFFClose
    - TIFFDefaultStripSize
    - SCALE
    - get_histogram
    - largest_box
    - _TIFFfree
    - processCompressOptions
    - quant_fsdither
    - CopyField
    - fprintf
    - splitbox
    - usage
    - atoi
    - _TIFFmalloc
    - TIFFSetField
    - map_colortable
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: SCALE
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:337,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:339,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:341,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:343,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:345,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:348,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:350,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 358
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 7
    functionsReached:
    - strchr
    - strneq
    - atoi
    - streq
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:392,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:392,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:393,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 27
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:404,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:404,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:407,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:408,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:421,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:423,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:424,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:434,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:436,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:453,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - in
    - box
    argTypes:
    - TIFF*
    - Colorbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 454
    functionName: get_histogram
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - TIFFScanlineSize
    - _TIFFfree
    - _TIFFmalloc
    - exit
    - TIFFReadScanline
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_histogram(TIFF *in, Colorbox *box)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: largest_box
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Colorbox
    signature: Colorbox *largest_box(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: freeboxes::freeboxes
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:563,1
    - Dst: next::next
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:564,1
    - Dst: shrinkbox
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:602,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Colorbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 603
    functionName: splitbox
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - freeboxes::freeboxes
    - shrinkbox
    - next::next
    linkageType: ''
    returnType: void
    signature: void splitbox(Colorbox *ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 1
    argNames:
    - box
    argTypes:
    - Colorbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 703
    functionName: shrinkbox
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shrinkbox(Colorbox *box)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:715,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - red
    - green
    - blue
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 795
    functionName: create_colorcell
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    linkageType: ''
    returnType: C_cell
    signature: C_cell *create_colorcell(int red, int green, int blue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_colorcell
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:819,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:839,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 840
    functionName: map_colortable
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - create_colorcell
    linkageType: ''
    returnType: void
    signature: void map_colortable(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:854,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:854,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:855,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:858,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:869,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:872,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 874
    functionName: quant
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - TIFFWriteScanline
    - TIFFScanlineSize
    - _TIFFfree
    - _TIFFmalloc
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void quant(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 883
    functionName: SWAP
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(type, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - row
    - ','
    - bad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 898
    functionName: GetInputLine
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetInputLine(tif, row, bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - raw
    - ','
    - cshift
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 909
    functionName: GetComponent
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetComponent(raw, cshift, c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:922,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:922,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:923,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:924,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:925,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:925,1
    - Dst: GetInputLine
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:927,1
    - Dst: GetInputLine
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:933,1
    - Dst: GetComponent
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:943,1
    - Dst: GetComponent
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:944,1
    - Dst: GetComponent
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:945,1
    - Dst: create_colorcell
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:958,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:1008,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:1012,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:1013,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:1014,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffmedian.c:1015,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 1016
    functionName: quant_fsdither
    functionSourceFile: /src/PROJ/libtiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - create_colorcell
    - TIFFWriteScanline
    - GetComponent
    - TIFFScanlineSize
    - _TIFFfree
    - _TIFFmalloc
    - GetInputLine
    linkageType: ''
    returnType: void
    signature: void quant_fsdither(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/mkg3states.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - T
    - Size
    - P
    - State
    argTypes:
    - TIFFFaxTabEnt*
    - int
    - struct proto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: FillTable
    functionSourceFile: /src/PROJ/libtiff/tools/mkg3states.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillTable(TIFFFaxTabEnt *T, int Size, struct proto *P, int State)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:164,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:171,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:185,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - fd
    - T
    - Size
    - name
    argTypes:
    - FILE*
    - TIFFFaxTabEnt*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 195
    functionName: WriteTable
    functionSourceFile: /src/PROJ/libtiff/tools/mkg3states.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void WriteTable(FILE *fd, const TIFFFaxTabEnt *T, int Size, const char
      *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/mkg3states.c:209,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:226,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/mkg3states.c:232,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:235,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:239,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:240,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:241,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:242,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:243,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:244,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:245,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:246,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:247,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:248,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:249,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:250,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:251,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:252,1
    - Dst: FillTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:253,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:255,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:256,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:257,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:259,1
    - Dst: WriteTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:260,1
    - Dst: WriteTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:261,1
    - Dst: WriteTable
      Src: /src/PROJ/libtiff/tools/mkg3states.c:262,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/mkg3states.c:263,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/mkg3states.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/mkg3states.c
    functionUses: 5
    functionsReached:
    - getopt
    - WriteTable
    - FillTable
    - fprintf
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:107,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:108,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffdump.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 27
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffdump.c:123,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffdump.c:131,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffdump.c:134,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdump.c:137,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdump.c:141,1
    - Dst: open
      Src: /src/PROJ/libtiff/tools/tiffdump.c:144,1
    - Dst: perror
      Src: /src/PROJ/libtiff/tools/tiffdump.c:147,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:151,1
    - Dst: dump
      Src: /src/PROJ/libtiff/tools/tiffdump.c:155,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/tiffdump.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 5
    functionsReached:
    - printf
    - getopt
    - strtoul
    - dump
    - open
    - close
    - usage
    - perror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: ord
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ord(e)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/tiffdump.c:174,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:175,1
    - Dst: ReadError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:177,1
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:188,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:197,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:200,1
    - Dst: ReadError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:204,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/tools/tiffdump.c:206,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:207,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:216,1
    - Dst: ReadError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:219,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:222,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:223,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/tools/tiffdump.c:224,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:226,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:229,1
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:236,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/tiffdump.c:244,1
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:245,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdump.c:250,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/tiffdump.c:255,1
    - Dst: realloc
      Src: /src/PROJ/libtiff/tools/tiffdump.c:261,1
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:265,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffdump.c:270,1
    - Dst: ReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffdump.c:271,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/tiffdump.c:274,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 2
    argNames:
    - fd
    - diroff
    argTypes:
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 275
    functionName: dump
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 36
    functionsReached:
    - printf
    - free
    - TIFFSafeMultiply
    - ReadError
    - ReadDirectory
    - realloc
    - _TIFF_lseek_f
    - Fatal
    - TIFFSwabLong8
    - putchar
    - TIFFSwabShort
    - TIFFSwabLong
    - read
    linkageType: ''
    returnType: void
    signature: void dump(int fd, uint64_t diroff)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/tiffdump.c:319,1
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:321,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:326,1
    - Dst: ReadError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:328,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:332,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:338,1
    - Dst: ReadError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:340,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/tools/tiffdump.c:344,1
    - Dst: Error
      Src: /src/PROJ/libtiff/tools/tiffdump.c:347,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffdump.c:353,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdump.c:353,1
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:356,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:359,1
    - Dst: Error
      Src: /src/PROJ/libtiff/tools/tiffdump.c:363,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:374,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/tools/tiffdump.c:378,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:383,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/tools/tiffdump.c:387,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:390,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:408,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:413,1
    - Dst: PrintTag
      Src: /src/PROJ/libtiff/tools/tiffdump.c:414,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffdump.c:415,1
    - Dst: PrintType
      Src: /src/PROJ/libtiff/tools/tiffdump.c:416,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/tiffdump.c:417,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/tools/tiffdump.c:423,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffdump.c:429,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/tools/tiffdump.c:431,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:434,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdump.c:439,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/tools/tiffdump.c:454,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffdump.c:465,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/tools/tiffdump.c:467,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdump.c:475,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdump.c:481,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffdump.c:485,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/tiffdump.c:488,1
    - Dst: Error
      Src: /src/PROJ/libtiff/tools/tiffdump.c:491,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdump.c:492,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/tiffdump.c:495,1
    - Dst: Error
      Src: /src/PROJ/libtiff/tools/tiffdump.c:498,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdump.c:499,1
    - Dst: Error
      Src: /src/PROJ/libtiff/tools/tiffdump.c:504,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/tools/tiffdump.c:519,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/tiffdump.c:526,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/tiffdump.c:531,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/tools/tiffdump.c:538,1
    - Dst: PrintData
      Src: /src/PROJ/libtiff/tools/tiffdump.c:543,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:545,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdump.c:548,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:552,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdump.c:556,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 187
    argCount: 3
    argNames:
    - fd
    - ix
    - 'off'
    argTypes:
    - int
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 558
    functionName: ReadDirectory
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 17
    functionsReached:
    - TIFFSafeMultiply
    - Fatal
    - TIFFSwabShort
    - TIFFSwabLong
    - Error
    - memcpy
    - ReadError
    - TIFFSwabLong8
    - _TIFFfree
    - putchar
    - printf
    - PrintType
    - _TIFF_lseek_f
    - TIFFSwabArrayOfLong
    - read
    - PrintData
    - TIFFSwabArrayOfShort
    - _TIFFmalloc
    - PrintTag
    - TIFFSwabArrayOfLong8
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadDirectory(int fd, unsigned int ix, uint64_t off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:668,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - tag
    argTypes:
    - FILE*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 672
    functionName: PrintTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintTag(FILE *fd, uint16_t tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:684,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - type
    argTypes:
    - FILE*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 687
    functionName: PrintType
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintType(FILE *fd, uint16_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/PROJ/libtiff/tools/tiffdump.c:698,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/tools/tiffdump.c:700,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:707,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:709,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:711,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - fd
    - cc
    - cp
    argTypes:
    - FILE*
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 713
    functionName: PrintASCII
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 0
    functionsReached:
    - fputc
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintASCII(FILE *fd, uint32_t cc, const unsigned char *cp)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:724,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:728,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:732,1
    - Dst: PrintASCII
      Src: /src/PROJ/libtiff/tools/tiffdump.c:735,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:741,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:749,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:758,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:767,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffdump.c:777,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:779,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffdump.c:790,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:792,1
    - Dst: isfinite
      Src: /src/PROJ/libtiff/tools/tiffdump.c:802,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:803,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:806,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:819,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:822,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:833,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:840,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:848,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:858,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 4
    argNames:
    - fd
    - type
    - count
    - data
    argTypes:
    - FILE*
    - uint16_t
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 865
    functionName: PrintData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 1
    functionsReached:
    - isfinite
    - PrintASCII
    - fprintf
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void PrintData(FILE *fd, uint16_t type, uint32_t count,\n                      unsigned
      char *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fatal
      Src: /src/PROJ/libtiff/tools/tiffdump.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: ReadError
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 2
    functionsReached:
    - Fatal
    linkageType: ''
    returnType: void
    signature: void ReadError(char *what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:873,1
    - Dst: vfprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:874,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdump.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - fmt
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 876
    functionName: vError
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void vError(FILE *fd, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/tools/tiffdump.c:881,1
    - Dst: vError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:882,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/tools/tiffdump.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: Error
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 60
    functionsReached:
    - va_end
    - va_start
    - vError
    linkageType: ''
    returnType: void
    signature: void Error(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/tools/tiffdump.c:889,1
    - Dst: vError
      Src: /src/PROJ/libtiff/tools/tiffdump.c:890,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/tools/tiffdump.c:891,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffdump.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 893
    functionName: Fatal
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdump.c
    functionUses: 3
    functionsReached:
    - exit
    - va_end
    - va_start
    - vError
    linkageType: ''
    returnType: void
    signature: void Fatal(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: TIFFhowmany
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: TIFFhowmany8
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:702,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:706,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: limitMalloc
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 23
    functionsReached:
    - _TIFFmalloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *limitMalloc(tmsize_t s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:943,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:950,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:969,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:971,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:977,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:985,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:987,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:995,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:997,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:999,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1012,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1015,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1015,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1021,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1045,1
    - Dst: extractContigSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1067,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1071,1
    - Dst: TIFFCurrentTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1074,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1075,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1082,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1086,1
    - Dst: TIFFCurrentTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1089,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1090,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1095,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1099,1
    - Dst: TIFFCurrentTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1102,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1103,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1108,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1112,1
    - Dst: TIFFCurrentTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1115,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1116,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1123,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1127,1
    - Dst: TIFFCurrentTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1130,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1131,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1136,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1138,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1146,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 113
    argCount: 8
    argNames:
    - in
    - buf
    - imagelength
    - imagewidth
    - tw
    - tl
    - spp
    - bps
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - tsample_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 1148
    functionName: readContigTilesIntoBuffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - extractContigSamplesShifted16bits
    - _TIFFmemcpy
    - extractContigSamplesShifted24bits
    - TIFFError
    - TIFFReadTile
    - _TIFFfree
    - limitMalloc
    - extractContigSamplesShifted32bits
    - TIFFFileName
    - extractContigSamplesBytes
    - TIFFCurrentTile
    - TIFFTileRowSize
    - exit
    - extractContigSamplesShifted8bits
    linkageType: ''
    returnType: int
    signature: "int readContigTilesIntoBuffer(TIFF *in, uint8_t *buf,\n                                     uint32_t
      imagelength, uint32_t imagewidth,\n                                     uint32_t
      tw, uint32_t tl, tsample_t spp,\n                                     uint16_t
      bps)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1161,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1173,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1176,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1180,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1195,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1198,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1198,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1209,1
    - Dst: combineSeparateTileSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1229,1
    - Dst: combineSeparateTileSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1248,1
    - Dst: combineSeparateTileSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1257,1
    - Dst: combineSeparateTileSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1266,1
    - Dst: combineSeparateTileSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1279,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1288,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1301,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 8
    argNames:
    - in
    - obuf
    - imagelength
    - imagewidth
    - tw
    - tl
    - spp
    - bps
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1305
    functionName: readSeparateTilesIntoBuffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - combineSeparateTileSamples24bits
    - combineSeparateTileSamples8bits
    - combineSeparateTileSamplesBytes
    - combineSeparateTileSamples16bits
    - TIFFError
    - TIFFReadTile
    - _TIFFfree
    - limitMalloc
    - TIFFFileName
    - combineSeparateTileSamples32bits
    linkageType: ''
    returnType: int
    signature: "int readSeparateTilesIntoBuffer(TIFF *in, uint8_t *obuf,\n                                       uint32_t
      imagelength,\n                                       uint32_t imagewidth, uint32_t
      tw,\n                                       uint32_t tl, uint16_t spp, uint16_t
      bps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1314,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1319,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1320,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1322,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - out
    - buf
    - imagelength
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1330
    functionName: writeBufferToContigStrips
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFGetFieldDefaulted
    - TIFFError
    - TIFFVStripSize
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: "int writeBufferToContigStrips(TIFF *out, uint8_t *buf,\n                                     uint32_t
      imagelength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1350,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1351,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1354,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1355,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1360,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1361,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1370,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1370,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1378,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1388,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1390,1
    - Dst: extractContigSamplesToBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1391,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1394,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1401,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1407,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1413,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1417,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1419,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1419,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1421,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1427,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - out
    - buf
    - length
    - width
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1429
    functionName: writeBufferToSeparateStrips
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - extractContigSamplesToBuffer
    - TIFFScanlineSize
    - TIFFError
    - TIFFVStripSize
    - memset
    - limitMalloc
    - _TIFFfree
    - TIFFFileName
    - dump_info
    - dump_buffer
    linkageType: ''
    returnType: int
    signature: "int writeBufferToSeparateStrips(TIFF *out, uint8_t *buf, uint32_t
      length,\n                                       uint32_t width, uint16_t spp,\n
      \                                      struct dump_opts *dump)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1442,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1445,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1448,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1449,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1450,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1455,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1458,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1465,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1473,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1475,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1484,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1484,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1491,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1494,1
    - Dst: extractContigSamplesToTileBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1508,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1512,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1516,1
    - Dst: TIFFWriteTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1520,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1522,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1525,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1530,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 6
    argNames:
    - out
    - buf
    - imagelength
    - imagewidth
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    - uint32_t
    - tsample_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1533
    functionName: writeBufferToContigTiles
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFWriteTile
    - TIFFTileSize
    - extractContigSamplesToTileBuffer
    - TIFFError
    - memset
    - limitMalloc
    - _TIFFfree
    - TIFFFileName
    - TIFFTileRowSize
    - exit
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: "int writeBufferToContigTiles(TIFF *out, uint8_t *buf,\n                                    uint32_t
      imagelength, uint32_t imagewidth,\n                                    tsample_t
      spp, struct dump_opts *dump)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1543,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1543,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1553,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1553,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1555,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1556,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1557,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1559,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1567,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1567,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1569,1
    - Dst: extractContigSamplesToTileBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1590,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1594,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1598,1
    - Dst: TIFFWriteTile
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1602,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1604,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1608,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1614,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - out
    - buf
    - imagelength
    - imagewidth
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    - uint32_t
    - tsample_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1617
    functionName: writeBufferToSeparateTiles
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFWriteTile
    - TIFFTileSize
    - extractContigSamplesToTileBuffer
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - memset
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: "int writeBufferToSeparateTiles(TIFF *out, uint8_t *buf,\n                                      uint32_t
      imagelength, uint32_t imagewidth,\n                                      tsample_t
      spp, struct dump_opts *dump)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1621,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1628,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1630,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1632,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1635,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1638
    functionName: processG3Options
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - strchr
    - usage
    - strneq
    linkageType: ''
    returnType: void
    signature: void processG3Options(char *cp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1644,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1648,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1652,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1654,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1659,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1660,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1661,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1663,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1666,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1667,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1670,1
    - Dst: processG3Options
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1672,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1675,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1679,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1681,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1683,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1686,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1688,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1690,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1697
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 7
    functionsReached:
    - strneq
    - strchr
    - isdigit
    - usage
    - streq
    - processG3Options
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1703,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1703,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1704,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1706
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 30
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1711
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1714
    functionName: CopyField2
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1717
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1720
    functionName: CopyField4
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1730,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1735,1
    - Dst: CopyField4
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1740,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1746,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1752,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1759,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1764,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1770,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1777,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1782,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1786,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1786,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16_t
    - uint16_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1790
    functionName: cpTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - CopyField2
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField
    linkageType: ''
    returnType: void
    signature: "void cpTag(TIFF *in, TIFF *out, uint16_t tag, uint16_t count,\n                  TIFFDataType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - count
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1835
    functionName: CopyTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyTag(tag, count, type)
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1857,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1868,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1870,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1871,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1872,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1876,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1879,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1880,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1881,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1886,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1909,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1910,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1911,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1915,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1917,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1921,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1922,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1923,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1927,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1933,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1937,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1940,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1942,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1946,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1947,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1948,1
    - Dst: atol
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1952,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1961,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1961,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1962,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1963,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1965,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1967,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1971,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1976,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1978,1
    - Dst: sscanf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1981,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1987,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1989,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1990,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1996,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1998,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:1999,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2012,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2015,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2016,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2029,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2032,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2033,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2046,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2049,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2050,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2063,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2066,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2067,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2073,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2074,1
    - Dst: strpbrk
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2076,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2079,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2080,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2081,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2086,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2088,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2090,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2093,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2095,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2097,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2100,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2104,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2107,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2111,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2114,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2116,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2122,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2123,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2125,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2127,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2132,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2134,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2138,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2139,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2142,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2142,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2145,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2148,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2151,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2152,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2162,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2164,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2166,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2170,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2185,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2188,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2189,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2195,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2207,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2209,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2210,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2214,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2220,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2225,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2230,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2235,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2241,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2244,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2245,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2248,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2252,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2256,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2258,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2265,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2274,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2283,1
    - Dst: strpbrk
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2287,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2289,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2293,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2294,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2297,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2310,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2322,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2325,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2326,1
    - Dst: sscanf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2330,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2332,1
    - Dst: get_page_geometry
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2336,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2338,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2340,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2343,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2346,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2349,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2350,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2351,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2353,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2356,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2365,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2377,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2380,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2381,1
    - Dst: strpbrk
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2386,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2390,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2391,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2395,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2396,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2400,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2403,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2407,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2409,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2414,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2419,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2424,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2431,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2432,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2433,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2437,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2442,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2446,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2450,1
    - Dst: strtok
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2452,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2455,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2458,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2460,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2463,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2464,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2469,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2471,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2475,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2476,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2492,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2494,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2505,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2509,1
    CyclomaticComplexity: 137
    EdgeCount: 137
    ICount: 474
    argCount: 15
    argNames:
    - argc
    - argv
    - mp
    - mode
    - dirnum
    - defconfig
    - deffillorder
    - deftilewidth
    - deftilelength
    - defrowsperstrip
    - crop_data
    - page
    - dump
    - imagelist
    - image_count
    argTypes:
    - int
    - char*[]
    - char*
    - char*
    - uint32_t*
    - uint16_t*
    - uint16_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - struct crop_mask*
    - struct pagedef*
    - struct dump_opts*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 2512
    functionName: process_command_opts
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - getopt
    - strncmp
    - strtoul
    - TIFFError
    - streq
    - tolower
    - strpbrk
    - strncpy
    - strlen
    - processCompressOptions
    - strtok
    - printf
    - sscanf
    - atof
    - get_page_geometry
    - usage
    - exit
    - atoi
    - atol
    - strcpy
    - strcmp
    - strchr
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: "void process_command_opts(int argc, char *argv[], char *mp, char *mode,\n
      \                         uint32_t *dirnum, uint16_t *defconfig,\n                          uint16_t
      *deffillorder, uint32_t *deftilewidth,\n                          uint32_t *deftilelength,
      uint32_t *defrowsperstrip,\n                          struct crop_mask *crop_data,
      struct pagedef *page,\n                          struct dump_opts *dump, unsigned
      int *imagelist,\n                          unsigned int *image_count)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2530,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2534,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2535,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2540,1
    - Dst: strstr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2546,1
    - Dst: strstr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2547,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2549,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2553,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2555,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2561,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2568,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2574,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2579,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2580,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2581,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 5
    argNames:
    - tiffout
    - mode
    - autoindex
    - outname
    - page
    argTypes:
    - TIFF**
    - char*
    - int
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2518
    functionDepth: 1
    functionLinenumber: 2518
    functionLinenumberEnd: 2596
    functionName: update_output_file
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFOpenOptionsAlloc
    - memcpy
    - strstr
    - TIFFOpenOptionsFree
    - TIFFClose
    - strncpy
    - snprintf
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFError
    - memset
    - strlen
    - TIFFOpenExt
    linkageType: ''
    returnType: int
    signature: "int update_output_file(TIFF **tiffout, char *mode, int autoindex,\n
      \                             char *outname, unsigned int *page)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2642,1
    - Dst: initImageData
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2646,1
    - Dst: initCropMasks
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2647,1
    - Dst: initPageSetup
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2648,1
    - Dst: initDumpOptions
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2649,1
    - Dst: process_command_opts
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2651,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2657,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2666,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2671,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2672,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2673,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2676,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2682,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2685,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2685,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2714,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2714,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2722,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2724,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2724,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2746,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2750,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2754,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2757,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2759,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2764,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2765,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2767,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2771,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2775,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2778,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2781,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2786,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2787,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2792,1
    - Dst: loadImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2795,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2797,1
    - Dst: correct_orientation
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2806,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2807,1
    - Dst: getCropOffsets
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2810,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2812,1
    - Dst: processCropSelections
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2821,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2823,1
    - Dst: createCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2830,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2832,1
    - Dst: writeSelections
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2842,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2846,1
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2854,1
    - Dst: writeCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2860,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2865,1
    - Dst: computeOutputPixelOffsets
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2881,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2884,1
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2892,1
    - Dst: writeImageSections
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2899,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2902,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2918,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2920,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2923,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2934,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2937,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2940,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2944,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2949,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2953,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2954,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2955,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2961,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2966,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 210
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (NUM_BUFF_OVERSIZE_BYTES >= 3)
      pos:
        line_end: 2641
        line_start: 2641
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    constantsTouched: []
    func_position:
      end: 2970
      start: 2598
    functionDepth: 2
    functionLinenumber: 2598
    functionLinenumberEnd: 2970
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 5
    functionsReached:
    - TIFFOpenOptionsAlloc
    - TIFFNumberOfDirectories
    - TIFFOpenOptionsFree
    - snprintf
    - update_output_file
    - TIFFError
    - fclose
    - writeCroppedImage
    - processCropSelections
    - TIFFClose
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFSetDirectory
    - assert
    - _TIFFfree
    - dump_info
    - strlen
    - createCroppedImage
    - writeSelections
    - initImageData
    - TIFFOpenExt
    - initCropMasks
    - computeOutputPixelOffsets
    - usage
    - initPageSetup
    - initDumpOptions
    - process_command_opts
    - getCropOffsets
    - TIFFFileName
    - writeImageSections
    - loadImage
    - correct_orientation
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2983,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2989,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2995,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:2998,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3000,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3004,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    - count
    argTypes:
    - FILE*
    - int
    - char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2973
    functionDepth: 1
    functionLinenumber: 2973
    functionLinenumberEnd: 3012
    functionName: dump_data
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - fwrite
    - sprintf
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int dump_data(FILE *dumpfile, int format, char *dump_tag,\n                     unsigned
      char *data, uint32_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3023,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3029,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3033,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3036,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3040,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3014
    functionDepth: 1
    functionLinenumber: 3014
    functionLinenumberEnd: 3048
    functionName: dump_byte
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - fwrite
    - sprintf
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int dump_byte(FILE *dumpfile, int format, char *dump_tag,\n                     unsigned
      char data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3058,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3064,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3068,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3070,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3073,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3077,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3050
    functionDepth: 1
    functionLinenumber: 3050
    functionLinenumberEnd: 3085
    functionName: dump_short
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - fwrite
    - sprintf
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: int dump_short(FILE *dumpfile, int format, char *dump_tag, uint16_t
      data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3095,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3101,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3105,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3107,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3110,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3114,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3121
    functionName: dump_long
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - fwrite
    - sprintf
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: int dump_long(FILE *dumpfile, int format, char *dump_tag, uint32_t
      data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3131,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3137,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3141,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3143,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3146,1
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3150,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3123
    functionDepth: 1
    functionLinenumber: 3123
    functionLinenumberEnd: 3158
    functionName: dump_wide
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - fwrite
    - sprintf
    - fprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: int dump_wide(FILE *dumpfile, int format, char *dump_tag, uint64_t
      data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3165,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3166,1
    - Dst: vfprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3167,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3168,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dumpfile
    - format
    - prefix
    - msg
    argTypes:
    - FILE*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3171
    functionName: dump_info
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_info(FILE *dumpfile, int format, char *prefix, char *msg,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3182,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3190,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3195,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - dumpfile
    - format
    - rows
    - width
    - row
    - buff
    argTypes:
    - FILE*
    - int
    - uint32_t
    - uint32_t
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3173
    functionDepth: 2
    functionLinenumber: 3173
    functionLinenumberEnd: 3200
    functionName: dump_buffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - dump_info
    - dump_data
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int dump_buffer(FILE *dumpfile, int format, uint32_t rows,\n                       uint32_t
      width, uint32_t row, unsigned char *buff)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3221,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3237,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3243,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3208
    functionDepth: 1
    functionLinenumber: 3208
    functionLinenumberEnd: 3287
    functionName: extractContigSamplesBytes
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesBytes(uint8_t *in, uint8_t *out, uint32_t
      cols,\n                                     tsample_t sample, uint16_t spp,\n
      \                                    uint16_t bps, tsample_t count,\n                                     uint32_t
      start, uint32_t end)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3303,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3319,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3325,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3379
      start: 3289
    functionDepth: 1
    functionLinenumber: 3289
    functionLinenumberEnd: 3379
    functionName: extractContigSamples8bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples8bits(uint8_t *in, uint8_t *out, uint32_t
      cols,\n                                     tsample_t sample, uint16_t spp,\n
      \                                    uint16_t bps, tsample_t count,\n                                     uint32_t
      start, uint32_t end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3396,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3412,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3418,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3381
    functionDepth: 1
    functionLinenumber: 3381
    functionLinenumberEnd: 3481
    functionName: extractContigSamples16bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples16bits(uint8_t *in, uint8_t *out, uint32_t
      cols,\n                                      tsample_t sample, uint16_t spp,\n
      \                                     uint16_t bps, tsample_t count,\n                                      uint32_t
      start, uint32_t end)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3498,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3514,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3520,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3483
    functionDepth: 1
    functionLinenumber: 3483
    functionLinenumberEnd: 3604
    functionName: extractContigSamples24bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples24bits(uint8_t *in, uint8_t *out, uint32_t
      cols,\n                                      tsample_t sample, uint16_t spp,\n
      \                                     uint16_t bps, tsample_t count,\n                                      uint32_t
      start, uint32_t end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3622,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3638,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3644,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3606
    functionDepth: 1
    functionLinenumber: 3606
    functionLinenumberEnd: 3724
    functionName: extractContigSamples32bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples32bits(uint8_t *in, uint8_t *out, uint32_t
      cols,\n                                      tsample_t sample, uint16_t spp,\n
      \                                     uint16_t bps, tsample_t count,\n                                      uint32_t
      start, uint32_t end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3741,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3757,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3763,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3726
    functionDepth: 1
    functionLinenumber: 3726
    functionLinenumberEnd: 3819
    functionName: extractContigSamplesShifted8bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted8bits(uint8_t *in, uint8_t *out,\n
      \                                           uint32_t cols, tsample_t sample,\n
      \                                           uint16_t spp, uint16_t bps,\n                                            tsample_t
      count, uint32_t start,\n                                            uint32_t
      end, int shift)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3837,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3853,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3859,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3821
    functionDepth: 1
    functionLinenumber: 3821
    functionLinenumberEnd: 3923
    functionName: extractContigSamplesShifted16bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted16bits(uint8_t *in, uint8_t *out,\n
      \                                            uint32_t cols, tsample_t sample,\n
      \                                            uint16_t spp, uint16_t bps,\n                                             tsample_t
      count, uint32_t start,\n                                             uint32_t
      end, int shift)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3941,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3966,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:3972,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 3925
    functionDepth: 1
    functionLinenumber: 3925
    functionLinenumberEnd: 4046
    functionName: extractContigSamplesShifted24bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted24bits(uint8_t *in, uint8_t *out,\n
      \                                            uint32_t cols, tsample_t sample,\n
      \                                            uint16_t spp, uint16_t bps,\n                                             tsample_t
      count, uint32_t start,\n                                             uint32_t
      end, int shift)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4065,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4081,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4087,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - tsample_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4048
    functionDepth: 1
    functionLinenumber: 4048
    functionLinenumberEnd: 4169
    functionName: extractContigSamplesShifted32bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted32bits(uint8_t *in, uint8_t *out,\n
      \                                            uint32_t cols, tsample_t sample,\n
      \                                            uint16_t spp, uint16_t bps,\n                                             tsample_t
      count, uint32_t start,\n                                             uint32_t
      end, int shift)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4198,1
    - Dst: extractContigSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4213,1
    - Dst: extractContigSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4220,1
    - Dst: extractContigSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4225,1
    - Dst: extractContigSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4231,1
    - Dst: extractContigSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4238,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4243,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4248,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 8
    argNames:
    - out
    - in
    - rows
    - cols
    - sample
    - spp
    - bps
    - dump
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4252
      start: 4171
    functionDepth: 3
    functionLinenumber: 4171
    functionLinenumberEnd: 4252
    functionName: extractContigSamplesToBuffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - extractContigSamples32bits
    - TIFFError
    - dump_info
    - extractContigSamples16bits
    - extractContigSamplesBytes
    - extractContigSamples8bits
    - dump_buffer
    - extractContigSamples24bits
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesToBuffer(uint8_t *out, uint8_t *in,\n                                        uint32_t
      rows, uint32_t cols,\n                                        tsample_t sample,
      uint16_t spp,\n                                        uint16_t bps, struct
      dump_opts *dump)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4278,1
    - Dst: extractContigSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4297,1
    - Dst: extractContigSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4304,1
    - Dst: extractContigSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4309,1
    - Dst: extractContigSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4314,1
    - Dst: extractContigSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4321,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4326,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4331,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 11
    argNames:
    - out
    - in
    - rows
    - cols
    - imagewidth
    - tilewidth
    - sample
    - count
    - spp
    - bps
    - dump
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - tsample_t
    - uint16_t
    - uint16_t
    - uint16_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4254
    functionDepth: 3
    functionLinenumber: 4254
    functionLinenumberEnd: 4335
    functionName: extractContigSamplesToTileBuffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - extractContigSamples32bits
    - TIFFError
    - dump_info
    - extractContigSamples16bits
    - extractContigSamplesBytes
    - extractContigSamples8bits
    - dump_buffer
    - extractContigSamples24bits
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesToTileBuffer(\n    uint8_t *out, uint8_t *in,
      uint32_t rows, uint32_t cols,\n    uint32_t imagewidth, uint32_t tilewidth,
      tsample_t sample, uint16_t count,\n    uint16_t spp, uint16_t bps, struct dump_opts
      *dump)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4341,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4342,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4344,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4345,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4349,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4355,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4358,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - in
    - buf
    argTypes:
    - TIFF*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4374
      start: 4337
    functionDepth: 1
    functionLinenumber: 4337
    functionLinenumberEnd: 4374
    functionName: readContigStripsIntoBuffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - TIFFScanlineSize
    - TIFFError
    - TIFFReadEncodedStrip
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int readContigStripsIntoBuffer(TIFF *in, uint8_t *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4392,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4406,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4408,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4428,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4430,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 9
    argNames:
    - srcbuffs
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - unsigned char*[]
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4376
    functionDepth: 3
    functionLinenumber: 4376
    functionLinenumberEnd: 4436
    functionName: combineSeparateSamplesBytes
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - dump_info
    - dump_buffer
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamplesBytes(unsigned char *srcbuffs[],\n                                       unsigned
      char *out, uint32_t cols,\n                                       uint32_t rows,
      uint16_t spp,\n                                       uint16_t bps, FILE *dumpfile,
      int format,\n                                       int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4457,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4493,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4498,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4504,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4510,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4511,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4512,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4513,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4514,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4525,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4530,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4536,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4538,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4544
      start: 4438
    functionDepth: 3
    functionLinenumber: 4438
    functionLinenumberEnd: 4544
    functionName: combineSeparateSamples8bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - dump_byte
    - strcpy
    - TIFFError
    - dump_info
    - dump_buffer
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples8bits(uint8_t *in[], uint8_t *out,\n                                       uint32_t
      cols, uint32_t rows,\n                                       uint16_t spp, uint16_t
      bps,\n                                       FILE *dumpfile, int format, int
      level)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4565,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4607,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4613,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4619,1
    - Dst: dump_short
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4626,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4627,1
    - Dst: dump_short
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4628,1
    - Dst: dump_short
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4629,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4630,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4631,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4644,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4648,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4654,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4656,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4546
    functionDepth: 3
    functionLinenumber: 4546
    functionLinenumberEnd: 4662
    functionName: combineSeparateSamples16bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - dump_byte
    - dump_short
    - strcpy
    - TIFFError
    - dump_info
    - dump_buffer
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples16bits(uint8_t *in[], uint8_t *out,\n                                        uint32_t
      cols, uint32_t rows,\n                                        uint16_t spp,
      uint16_t bps,\n                                        FILE *dumpfile, int format,
      int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4683,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4731,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4737,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4743,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4749,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4750,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4751,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4752,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4753,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4754,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4755,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4774,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4779,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4780,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4781,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4782,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4783,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4784,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4785,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4790,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4792,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4798
      start: 4664
    functionDepth: 3
    functionLinenumber: 4664
    functionLinenumberEnd: 4798
    functionName: combineSeparateSamples24bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - dump_byte
    - strcpy
    - dump_long
    - TIFFError
    - dump_info
    - dump_buffer
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples24bits(uint8_t *in[], uint8_t *out,\n                                        uint32_t
      cols, uint32_t rows,\n                                        uint16_t spp,
      uint16_t bps,\n                                        FILE *dumpfile, int format,
      int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4820,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4878,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4884,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4890,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4896,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4897,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4898,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4899,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4900,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4915,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4920,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4921,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4922,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4923,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4924,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4925,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4926,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4931,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4933,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4800
    functionDepth: 3
    functionLinenumber: 4800
    functionLinenumberEnd: 4938
    functionName: combineSeparateSamples32bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - dump_byte
    - strcpy
    - TIFFError
    - dump_info
    - dump_buffer
    - dump_wide
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples32bits(uint8_t *in[], uint8_t *out,\n                                        uint32_t
      cols, uint32_t rows,\n                                        uint16_t spp,
      uint16_t bps,\n                                        FILE *dumpfile, int format,
      int level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4957,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4970,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4972,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4979,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4996,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:4998,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 11
    argNames:
    - srcbuffs
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - unsigned char*[]
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5004
      start: 4940
    functionDepth: 3
    functionLinenumber: 4940
    functionLinenumberEnd: 5004
    functionName: combineSeparateTileSamplesBytes
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - dump_info
    - dump_buffer
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamplesBytes(unsigned char *srcbuffs[],\n                                           unsigned
      char *out, uint32_t cols,\n                                           uint32_t
      rows, uint32_t imagewidth,\n                                           uint32_t
      tw, uint16_t spp,\n                                           uint16_t bps,
      FILE *dumpfile,\n                                           int format, int
      level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5026,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5061,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5066,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5072,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5078,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5079,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5080,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5081,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5082,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5093,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5097,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5103,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5111
      start: 5006
    functionDepth: 3
    functionLinenumber: 5006
    functionLinenumberEnd: 5111
    functionName: combineSeparateTileSamples8bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - dump_byte
    - strcpy
    - TIFFError
    - dump_info
    - dump_buffer
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples8bits(uint8_t *in[], uint8_t *out,\n
      \                                          uint32_t cols, uint32_t rows,\n                                           uint32_t
      imagewidth, uint32_t tw,\n                                           uint16_t
      spp, uint16_t bps,\n                                           FILE *dumpfile,
      int format,\n                                           int level)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5134,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5174,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5180,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5186,1
    - Dst: dump_short
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5193,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5194,1
    - Dst: dump_short
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5195,1
    - Dst: dump_short
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5196,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5197,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5198,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5211,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5215,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5221,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5223,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5229
      start: 5113
    functionDepth: 3
    functionLinenumber: 5113
    functionLinenumberEnd: 5229
    functionName: combineSeparateTileSamples16bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - dump_byte
    - dump_short
    - strcpy
    - TIFFError
    - dump_info
    - dump_buffer
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples16bits(uint8_t *in[], uint8_t *out,\n
      \                                           uint32_t cols, uint32_t rows,\n
      \                                           uint32_t imagewidth, uint32_t tw,\n
      \                                           uint16_t spp, uint16_t bps,\n                                            FILE
      *dumpfile, int format,\n                                            int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5252,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5297,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5303,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5309,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5315,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5316,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5317,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5318,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5319,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5320,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5321,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5340,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5345,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5346,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5347,1
    - Dst: dump_long
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5348,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5349,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5350,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5351,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5356,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5358,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5231
    functionDepth: 3
    functionLinenumber: 5231
    functionLinenumberEnd: 5364
    functionName: combineSeparateTileSamples24bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - dump_byte
    - strcpy
    - dump_long
    - TIFFError
    - dump_info
    - dump_buffer
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples24bits(uint8_t *in[], uint8_t *out,\n
      \                                           uint32_t cols, uint32_t rows,\n
      \                                           uint32_t imagewidth, uint32_t tw,\n
      \                                           uint16_t spp, uint16_t bps,\n                                            FILE
      *dumpfile, int format,\n                                            int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5388,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5446,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5452,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5458,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5464,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5465,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5466,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5467,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5468,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5483,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5488,1
    - Dst: dump_data
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5489,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5490,1
    - Dst: dump_wide
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5491,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5492,1
    - Dst: dump_byte
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5493,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5494,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5499,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5501,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8_t*[]
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5506
      start: 5366
    functionDepth: 3
    functionLinenumber: 5366
    functionLinenumberEnd: 5506
    functionName: combineSeparateTileSamples32bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - dump_byte
    - strcpy
    - TIFFError
    - dump_info
    - dump_buffer
    - dump_wide
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples32bits(uint8_t *in[], uint8_t *out,\n
      \                                           uint32_t cols, uint32_t rows,\n
      \                                           uint32_t imagewidth, uint32_t tw,\n
      \                                           uint16_t spp, uint16_t bps,\n                                            FILE
      *dumpfile, int format,\n                                            int level)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5522,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5523,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5530,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5534,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5535,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5536,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5537,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5554,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5558,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5569,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5575,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5577,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5583,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5586,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5590,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5606,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5617,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5617,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5625,1
    - Dst: combineSeparateSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5637,1
    - Dst: combineSeparateSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5650,1
    - Dst: combineSeparateSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5659,1
    - Dst: combineSeparateSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5668,1
    - Dst: combineSeparateSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5681,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5690,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5713,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 117
    argCount: 6
    argNames:
    - in
    - obuf
    - length
    - width
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5717
      start: 5508
    functionDepth: 4
    functionLinenumber: 5508
    functionLinenumberEnd: 5717
    functionName: readSeparateStripsIntoBuffer
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - combineSeparateSamplesBytes
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - TIFFScanlineSize
    - combineSeparateSamples8bits
    - TIFFError
    - memset
    - dump_info
    - limitMalloc
    - _TIFFfree
    - TIFFReadEncodedStrip
    - TIFFFileName
    - combineSeparateSamples16bits
    - combineSeparateSamples24bits
    - exit
    - combineSeparateSamples32bits
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: "int readSeparateStripsIntoBuffer(TIFF *in, uint8_t *obuf,\n                                        uint32_t
      length, uint32_t width,\n                                        uint16_t spp,
      struct dump_opts *dump)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5725,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5729,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - name
    - page
    argTypes:
    - char*
    - struct pagedef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5740
      start: 5719
    functionDepth: 1
    functionLinenumber: 5719
    functionLinenumberEnd: 5740
    functionName: get_page_geometry
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - strncpy
    - tolower
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_page_geometry(char *name, struct pagedef *page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - page
    - pagelist
    - seg_buffs
    argTypes:
    - struct pagedef*
    - struct pageseg*
    - struct buffinfo[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5776
      start: 5742
    functionDepth: 0
    functionLinenumber: 5742
    functionLinenumberEnd: 5776
    functionName: initPageSetup
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void initPageSetup(struct pagedef *page, struct pageseg *pagelist,\n
      \                         struct buffinfo seg_buffs[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - image
    argTypes:
    - struct image_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5778
    functionDepth: 0
    functionLinenumber: 5778
    functionLinenumberEnd: 5792
    functionName: initImageData
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initImageData(struct image_data *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - cps
    argTypes:
    - struct crop_mask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5833
      start: 5794
    functionDepth: 0
    functionLinenumber: 5794
    functionLinenumberEnd: 5833
    functionName: initCropMasks
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initCropMasks(struct crop_mask *cps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5840,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5841,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - dump
    argTypes:
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5835
    functionDepth: 0
    functionLinenumber: 5835
    functionLinenumberEnd: 5845
    functionName: initDumpOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - memset
    - sprintf
    linkageType: ''
    returnType: void
    signature: void initDumpOptions(struct dump_opts *dump)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5877,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5880,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5913,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5915,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5917,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5919,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5924,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5925,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5926,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5927,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:5994,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6008,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6031,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6032,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6033,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6034,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6038,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6039,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6040,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6041,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6047,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6056,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6075,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6080,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6087,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6093,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6160,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6171,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 206
    argCount: 3
    argNames:
    - crop
    - image
    - 'off'
    argTypes:
    - struct crop_mask*
    - struct image_data*
    - struct offset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6184
      start: 5848
    functionDepth: 1
    functionLinenumber: 5848
    functionLinenumberEnd: 6184
    functionName: computeInputPixelOffsets
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - _TIFFClampDoubleToUInt32
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int computeInputPixelOffsets(struct crop_mask *crop,\n                                    struct
      image_data *image,\n                                    struct offset *off)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6207,1
    - Dst: computeInputPixelOffsets
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6217,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6219,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6246,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6251,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6291,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6299,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6361,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6420,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6481,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6553,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6569,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 203
    argCount: 3
    argNames:
    - image
    - crop
    - dump
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6582
      start: 6197
    functionDepth: 2
    functionLinenumber: 6197
    functionLinenumberEnd: 6582
    functionName: getCropOffsets
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - memset
    - dump_info
    - computeInputPixelOffsets
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int getCropOffsets(struct image_data *image, struct crop_mask *crop,\n
      \                         struct dump_opts *dump)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6636,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6657,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6662,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6674,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6676,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6681,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6683,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6689,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6696,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6712,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6716,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6717,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6724,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6725,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6731,1
    - Dst: _TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6733,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6744,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6746,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6754,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6755,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6760,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6761,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6770,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6771,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6772,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6773,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6804,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6812,1
    - Dst: TIFFhowmany8
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6819,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6823,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 152
    argCount: 5
    argNames:
    - crop
    - image
    - page
    - sections
    - dump
    argTypes:
    - struct crop_mask*
    - struct image_data*
    - struct pagedef*
    - struct pageseg*
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6852
      start: 6584
    functionDepth: 1
    functionLinenumber: 6584
    functionLinenumberEnd: 6852
    functionName: computeOutputPixelOffsets
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFhowmany
    - _TIFFClampDoubleToUInt32
    - TIFFError
    - exit
    - TIFFhowmany8
    linkageType: ''
    returnType: int
    signature: "int computeOutputPixelOffsets(struct crop_mask *crop,\n                                     struct
      image_data *image,\n                                     struct pagedef *page,\n
      \                                    struct pageseg *sections,\n                                     struct
      dump_opts *dump)"
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6873,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6874,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6875,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6876,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6877,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6878,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6879,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6880,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6881,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6882,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6883,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6884,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6885,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6887,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6896,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6899,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6902,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6905,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6908,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6911,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6914,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6917,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6920,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6923,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6926,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6929,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6932,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6935,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6938,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6941,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6944,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6947,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6950,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6953,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6956,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6959,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6976,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6979,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6982,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6985,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6988,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6991,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6994,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:6997,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7000,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7003,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7006,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7009,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7012,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7015,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7054,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7061,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7064,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7065,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7066,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7067,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7069,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7072,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7075,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7079,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7081,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7088,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7090,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7097,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7105,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7115,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7116,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7117,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7120,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7122,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7127,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7129,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7145,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7146,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7154,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7162,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7172,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7180,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7184,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7201,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7205,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7209,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7212,1
    - Dst: readContigStripsIntoBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7233,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7235,1
    - Dst: readSeparateStripsIntoBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7242,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7245,1
    - Dst: readContigTilesIntoBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7255,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7258,1
    - Dst: readSeparateTilesIntoBuffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7265,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7268,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7275,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7281,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7285,1
    - Dst: dump_info
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7291,1
    - Dst: dump_buffer
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7302,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 291
    argCount: 4
    argNames:
    - in
    - image
    - dump
    - read_ptr
    argTypes:
    - TIFF*
    - struct image_data*
    - struct dump_opts*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7306
      start: 6854
    functionDepth: 5
    functionLinenumber: 6854
    functionLinenumberEnd: 7306
    functionName: loadImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFNumberOfTiles
    - TIFFGetField
    - TIFFIsTiled
    - TIFFStripSize
    - _TIFFfree
    - dump_info
    - dump_buffer
    - TIFFTileRowSize
    - readContigStripsIntoBuffer
    - readSeparateTilesIntoBuffer
    - TIFFTileSize
    - limitMalloc
    - readContigTilesIntoBuffer
    - exit
    - readSeparateStripsIntoBuffer
    - TIFFNumberOfStrips
    - strcpy
    - TIFFGetFieldDefaulted
    - TIFFScanlineSize
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: "int loadImage(TIFF *in, struct image_data *image, struct dump_opts
      *dump,\n                     unsigned char **read_ptr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7317,1
    - Dst: mirrorImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7325,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7328,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7343,1
    - Dst: rotateImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7352,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - image
    - work_buff_ptr
    argTypes:
    - struct image_data*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7362
      start: 7308
    functionDepth: 1
    functionLinenumber: 7308
    functionLinenumberEnd: 7362
    functionName: correct_orientation
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - mirrorImage
    - rotateImage
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int correct_orientation(struct image_data *image,\n                               unsigned
      char **work_buff_ptr)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7423,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7440,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7474,1
    - Dst: extractContigSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7492,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7496,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7505,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7510,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7517,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7522,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7529,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7534,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7543,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7548,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7555,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7568,1
    - Dst: extractContigSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7587,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7591,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7600,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7605,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7612,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7617,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7624,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7629,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7638,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7643,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7650,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7663,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 171
    argCount: 4
    argNames:
    - image
    - crop
    - read_buff
    - crop_buff
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7667
      start: 7366
    functionDepth: 2
    functionLinenumber: 7366
    functionLinenumberEnd: 7667
    functionName: extractCompositeRegions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - extractContigSamplesShifted16bits
    - extractContigSamplesShifted24bits
    - TIFFError
    - extractContigSamplesShifted32bits
    - extractContigSamplesBytes
    - extractContigSamplesShifted8bits
    linkageType: ''
    returnType: int
    signature: "int extractCompositeRegions(struct image_data *image,\n                                   struct
      crop_mask *crop,\n                                   unsigned char *read_buff,\n
      \                                  unsigned char *crop_buff)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: extractContigSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7740,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7744,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7752,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7756,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7762,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7766,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7772,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7776,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7784,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7788,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7794,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 5
    argNames:
    - image
    - crop
    - read_buff
    - crop_buff
    - region
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7801
      start: 7680
    functionDepth: 2
    functionLinenumber: 7680
    functionLinenumberEnd: 7801
    functionName: extractSeparateRegion
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - extractContigSamplesShifted16bits
    - extractContigSamplesShifted24bits
    - TIFFError
    - extractContigSamplesShifted32bits
    - extractContigSamplesBytes
    - extractContigSamplesShifted8bits
    linkageType: ''
    returnType: int
    signature: "int extractSeparateRegion(struct image_data *image,\n                                 struct
      crop_mask *crop,\n                                 unsigned char *read_buff,\n
      \                                unsigned char *crop_buff, int region)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7875,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7879,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7883,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7898,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7903,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7907,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7930,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7932,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7933,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7940,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7943,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7955,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7959,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7963,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7967,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7968,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7975,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7988,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:7996,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8006,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8009,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8021,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8034,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8046,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8047,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8054,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8067,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8080,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8081,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8088,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8091,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 119
    argCount: 4
    argNames:
    - image
    - section
    - src_buff
    - sect_buff
    argTypes:
    - struct image_data*
    - struct pageseg*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8102
      start: 7803
    functionDepth: 1
    functionLinenumber: 7803
    functionLinenumberEnd: 8102
    functionName: extractImageSection
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - printf
    - _TIFFmemcpy
    - sprintf
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractImageSection(struct image_data *image,\n                               struct
      pageseg *section, unsigned char *src_buff,\n                               unsigned
      char *sect_buff)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8120,1
    - Dst: writeCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8123,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8127,1
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8133,1
    - Dst: writeCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8139,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8144,1
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8151,1
    - Dst: writeCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8155,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8159,1
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8166,1
    - Dst: writeCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8173,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8178,1
    - Dst: update_output_file
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8188,1
    - Dst: writeCroppedImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8193,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8198,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 10
    argNames:
    - in
    - out
    - crop
    - image
    - dump
    - seg_buffs
    - mp
    - filename
    - page
    - total_pages
    argTypes:
    - TIFF*
    - TIFF**
    - struct crop_mask*
    - struct image_data*
    - struct dump_opts*
    - struct buffinfo[]
    - char*
    - char*
    - unsigned int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8208
      start: 8104
    functionDepth: 2
    functionLinenumber: 8104
    functionLinenumberEnd: 8208
    functionName: writeSelections
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - update_output_file
    - writeCroppedImage
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int writeSelections(TIFF *in, TIFF **out, struct crop_mask *crop,\n
      \                          struct image_data *image, struct dump_opts *dump,\n
      \                          struct buffinfo seg_buffs[], char *mp,\n                           char
      *filename, unsigned int *page,\n                           unsigned int total_pages)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8225,1
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8237,1
    - Dst: createImageSection
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8240,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8242,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8244,1
    - Dst: extractImageSection
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8248,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8250,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8251,1
    - Dst: writeSingleSection
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8255,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8258,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 8
    argNames:
    - in
    - out
    - image
    - page
    - sections
    - dump
    - src_buff
    - sect_buff_ptr
    argTypes:
    - TIFF*
    - TIFF*
    - struct image_data*
    - struct pagedef*
    - struct pageseg*
    - struct dump_opts*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8264
      start: 8210
    functionDepth: 2
    functionLinenumber: 8210
    functionLinenumberEnd: 8264
    functionName: writeImageSections
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - extractImageSection
    - createImageSection
    - writeSingleSection
    - TIFFError
    - exit
    - ceil
    linkageType: ''
    returnType: int
    signature: "int writeImageSections(TIFF *in, TIFF *out, struct image_data *image,\n
      \                             struct pagedef *page, struct pageseg *sections,\n
      \                             struct dump_opts *dump, unsigned char *src_buff,\n
      \                             unsigned char **sect_buff_ptr)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8290,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8291,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8292,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8293,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8296,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8308,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8315,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8318,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8327,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8336,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8340,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8344,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8351,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8354,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8358,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8371,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8377,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8379,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8388,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8396,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8406,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8408,1
    - Dst: TIFFDefaultTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8411,1
    - Dst: TIFFDefaultTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8412,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8413,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8414,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8425,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8426,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8435,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8438,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8440,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8442,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8444,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8445,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8456,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8457,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8461,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8470,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8472,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8478,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8485,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8487,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8491,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8493,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8494,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8495,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8496,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8497,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8498,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8504,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8505,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8510,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8512,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8513,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8515,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8519,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8523,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8527,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8533,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8536,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8538,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8543,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8546,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8547,1
    - Dst: writeBufferToContigTiles
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8553,1
    - Dst: writeBufferToSeparateTiles
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8555,1
    - Dst: writeBufferToContigStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8561,1
    - Dst: writeBufferToSeparateStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8563,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8567,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8569,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 158
    argCount: 9
    argNames:
    - in
    - out
    - image
    - dump
    - width
    - length
    - hres
    - vres
    - sect_buff
    argTypes:
    - TIFF*
    - TIFF*
    - struct image_data*
    - struct dump_opts*
    - uint32_t
    - uint32_t
    - double
    - double
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8574
      start: 8272
    functionDepth: 2
    functionLinenumber: 8272
    functionLinenumberEnd: 8574
    functionName: writeSingleSection
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFDefaultTileSize
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - strchr
    - TIFFDefaultStripSize
    - CopyTag
    - writeBufferToContigStrips
    - TIFFClose
    - TIFFWriteDirectory
    - TIFFError
    - TIFFSetField
    - writeBufferToSeparateTiles
    - strlen
    - TIFFGetField
    - CopyField
    - writeBufferToContigTiles
    - writeBufferToSeparateStrips
    linkageType: ''
    returnType: int
    signature: "int writeSingleSection(TIFF *in, TIFF *out, struct image_data *image,\n
      \                             struct dump_opts *dump, uint32_t width,\n                              uint32_t
      length, double hres, double vres,\n                              unsigned char
      *sect_buff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8588,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8591,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8595,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8602,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8605,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8606,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8614,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - sectsize
    - sect_buff_ptr
    argTypes:
    - uint32_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8626
      start: 8577
    functionDepth: 1
    functionLinenumber: 8577
    functionLinenumberEnd: 8626
    functionName: createImageSection
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - _TIFFrealloc
    linkageType: ''
    returnType: int
    signature: int createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8650,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8658,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8661,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8662,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8672,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8677,1
    - Dst: extractCompositeRegions
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8682,1
    - Dst: invertImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8696,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8700,1
    - Dst: mirrorImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8729,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8733,1
    - Dst: rotateImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8748,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8752,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8771,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8778,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8782,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8783,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8793,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8798,1
    - Dst: extractSeparateRegion
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8802,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8804,1
    - Dst: invertImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8823,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8826,1
    - Dst: mirrorImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8852,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8855,1
    - Dst: rotateImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8874,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8879,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 149
    argCount: 4
    argNames:
    - image
    - crop
    - read_buff_ptr
    - seg_buffs
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char**
    - struct buffinfo[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8895
      start: 8630
    functionDepth: 3
    functionLinenumber: 8630
    functionLinenumberEnd: 8895
    functionName: processCropSelections
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - invertImage
    - extractSeparateRegion
    - TIFFError
    - extractCompositeRegions
    - _TIFFfree
    - limitMalloc
    - _TIFFrealloc
    - mirrorImage
    - rotateImage
    linkageType: ''
    returnType: int
    signature: "int processCropSelections(struct image_data *image,\n                                 struct
      crop_mask *crop,\n                                 unsigned char **read_buff_ptr,\n
      \                                struct buffinfo seg_buffs[])"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8920,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8933,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8936,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8940,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8948,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8951,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8952,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8959,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8963,1
    - Dst: invertImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8980,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:8984,1
    - Dst: mirrorImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9011,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9014,1
    - Dst: rotateImage
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9025,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9028,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 4
    argNames:
    - image
    - crop
    - read_buff_ptr
    - crop_buff_ptr
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9041
      start: 8905
    functionDepth: 1
    functionLinenumber: 8905
    functionLinenumberEnd: 9041
    functionName: createCroppedImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - free
    - invertImage
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - _TIFFrealloc
    - mirrorImage
    - rotateImage
    linkageType: ''
    returnType: int
    signature: "int createCroppedImage(struct image_data *image, struct crop_mask
      *crop,\n                              unsigned char **read_buff_ptr,\n                              unsigned
      char **crop_buff_ptr)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9069,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9070,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9071,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9072,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9075,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9083,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9090,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9093,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9102,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9111,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9115,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9119,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9127,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9135,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9139,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9148,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9154,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9156,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9165,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9173,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9183,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9185,1
    - Dst: TIFFDefaultTileSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9188,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9189,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9190,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9201,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9202,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9211,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9214,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9216,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9218,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9220,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9221,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9229,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9230,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9234,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9243,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9245,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9251,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9258,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9260,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9264,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9266,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9267,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9268,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9269,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9270,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9271,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9281,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9282,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9287,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9289,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9290,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9292,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9296,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9300,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9304,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9310,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9312,1
    - Dst: CopyTag
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9317,1
    - Dst: writeBufferToContigTiles
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9324,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9326,1
    - Dst: writeBufferToSeparateTiles
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9332,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9334,1
    - Dst: writeBufferToContigStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9342,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9343,1
    - Dst: writeBufferToSeparateStrips
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9349,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9351,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9356,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9358,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 169
    argCount: 9
    argNames:
    - in
    - out
    - image
    - dump
    - width
    - length
    - crop_buff
    - pagenum
    - total_pages
    argTypes:
    - TIFF*
    - TIFF*
    - struct image_data*
    - struct dump_opts*
    - uint32_t
    - uint32_t
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9363
      start: 9054
    functionDepth: 2
    functionLinenumber: 9054
    functionLinenumberEnd: 9363
    functionName: writeCroppedImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - TIFFDefaultTileSize
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - strchr
    - TIFFDefaultStripSize
    - CopyTag
    - writeBufferToContigStrips
    - TIFFWriteDirectory
    - TIFFError
    - TIFFSetField
    - writeBufferToSeparateTiles
    - strlen
    - TIFFGetField
    - CopyField
    - writeBufferToContigTiles
    - writeBufferToSeparateStrips
    linkageType: ''
    returnType: int
    signature: "int writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image,\n
      \                            struct dump_opts *dump, uint32_t width,\n                             uint32_t
      length, unsigned char *crop_buff,\n                             int pagenum,
      int total_pages)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9380,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9444
      start: 9365
    functionDepth: 1
    functionLinenumber: 9365
    functionLinenumberEnd: 9444
    functionName: rotateContigSamples8bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples8bits(uint16_t rotation, uint16_t spp,\n                                    uint16_t
      bps, uint32_t width,\n                                    uint32_t length, uint32_t
      col, uint8_t *src,\n                                    uint8_t *dst)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9462,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9532
      start: 9446
    functionDepth: 1
    functionLinenumber: 9446
    functionLinenumberEnd: 9532
    functionName: rotateContigSamples16bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples16bits(uint16_t rotation, uint16_t spp,\n                                     uint16_t
      bps, uint32_t width,\n                                     uint32_t length,
      uint32_t col,\n                                     uint8_t *src, uint8_t *dst)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9550,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9584,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9629
      start: 9534
    functionDepth: 1
    functionLinenumber: 9534
    functionLinenumberEnd: 9629
    functionName: rotateContigSamples24bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples24bits(uint16_t rotation, uint16_t spp,\n                                     uint16_t
      bps, uint32_t width,\n                                     uint32_t length,
      uint32_t col,\n                                     uint8_t *src, uint8_t *dst)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9649,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9690,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 64
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9742
      start: 9631
    functionDepth: 1
    functionLinenumber: 9631
    functionLinenumberEnd: 9742
    functionName: rotateContigSamples32bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples32bits(uint16_t rotation, uint16_t spp,\n                                     uint16_t
      bps, uint32_t width,\n                                     uint32_t length,
      uint32_t col,\n                                     uint8_t *src, uint8_t *dst)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9773,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9784,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9796,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9820,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9827,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9829,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9835,1
    - Dst: reverseSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9873,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9876,1
    - Dst: reverseSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9881,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9883,1
    - Dst: reverseSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9888,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9890,1
    - Dst: reverseSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9897,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9899,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9904,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9906,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9911,1
    - Dst: rotateContigSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9946,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9950,1
    - Dst: rotateContigSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9955,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9959,1
    - Dst: rotateContigSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9964,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9968,1
    - Dst: rotateContigSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9975,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9979,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9984,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9986,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:9991,1
    - Dst: rotateContigSamples8bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10037,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10041,1
    - Dst: rotateContigSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10046,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10050,1
    - Dst: rotateContigSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10055,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10059,1
    - Dst: rotateContigSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10066,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10070,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10075,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10077,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10082,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 243
    argCount: 7
    argNames:
    - rotation
    - image
    - img_width
    - img_length
    - ibuff_ptr
    - rot_buf_size
    - rot_image_params
    argTypes:
    - uint16_t
    - struct image_data*
    - uint32_t*
    - uint32_t*
    - unsigned char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10102
      start: 9745
    functionDepth: 2
    functionLinenumber: 9745
    functionLinenumberEnd: 10102
    functionName: rotateImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached:
    - _TIFFmemset
    - reverseSamples32bits
    - reverseSamples8bits
    - rotateContigSamples16bits
    - rotateContigSamples32bits
    - TIFFError
    - rotateContigSamples8bits
    - _TIFFfree
    - limitMalloc
    - rotateContigSamples24bits
    - reverseSamples16bits
    - reverseSamples24bits
    linkageType: ''
    returnType: int
    signature: "int rotateImage(uint16_t rotation, struct image_data *image,\n                       uint32_t
      *img_width, uint32_t *img_length,\n                       unsigned char **ibuff_ptr,
      size_t *rot_buf_size,\n                       int rot_image_params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10165
      start: 10104
    functionDepth: 1
    functionLinenumber: 10104
    functionLinenumberEnd: 10165
    functionName: reverseSamples8bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples8bits(uint16_t spp, uint16_t bps, uint32_t width,\n
      \                              uint8_t *ibuff, uint8_t *obuff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10238
      start: 10167
    functionDepth: 1
    functionLinenumber: 10167
    functionLinenumberEnd: 10238
    functionName: reverseSamples16bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples16bits(uint16_t spp, uint16_t bps, uint32_t width,\n
      \                               uint8_t *ibuff, uint8_t *obuff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10321
      start: 10240
    functionDepth: 1
    functionLinenumber: 10240
    functionLinenumberEnd: 10321
    functionName: reverseSamples24bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples24bits(uint16_t spp, uint16_t bps, uint32_t width,\n
      \                               uint8_t *ibuff, uint8_t *obuff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10421
      start: 10323
    functionDepth: 1
    functionLinenumber: 10323
    functionLinenumberEnd: 10421
    functionName: reverseSamples32bits
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples32bits(uint16_t spp, uint16_t bps, uint32_t width,\n
      \                               uint8_t *ibuff, uint8_t *obuff)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10433,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10440,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10452,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10453,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10456,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - src
    - dst
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10478
      start: 10423
    functionDepth: 1
    functionLinenumber: 10423
    functionLinenumberEnd: 10478
    functionName: reverseSamplesBytes
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamplesBytes(uint16_t spp, uint16_t bps, uint32_t width,\n
      \                              uint8_t *src, uint8_t *dst)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10498,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10501,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10506,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10511,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10512,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10513,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10518,1
    - Dst: reverseSamplesBytes
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10530,1
    - Dst: limitMalloc
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10538,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10541,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10545,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10557,1
    - Dst: reverseSamples16bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10562,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10565,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10568,1
    - Dst: reverseSamples24bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10571,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10574,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10577,1
    - Dst: reverseSamples32bits
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10582,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10585,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10588,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10591,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10593,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10598,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10603,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 6
    argNames:
    - spp
    - bps
    - mirror
    - width
    - length
    - ibuff
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10609
      start: 10481
    functionDepth: 2
    functionLinenumber: 10481
    functionLinenumberEnd: 10609
    functionName: mirrorImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached:
    - _TIFFmemset
    - reverseSamples32bits
    - _TIFFmemcpy
    - reverseSamplesBytes
    - TIFFError
    - _TIFFfree
    - limitMalloc
    - reverseSamples16bits
    - reverseSamples24bits
    linkageType: ''
    returnType: int
    signature: "int mirrorImage(uint16_t spp, uint16_t bps, uint16_t mirror,\n                       uint32_t
      width, uint32_t length, unsigned char *ibuff)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10623,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10632,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10640,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiffcrop.c:10676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - photometric
    - spp
    - bps
    - width
    - length
    - work_buff
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10681
      start: 10612
    functionDepth: 1
    functionLinenumber: 10612
    functionLinenumberEnd: 10681
    functionName: invertImage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int invertImage(uint16_t photometric, uint16_t spp, uint16_t bps,\n
      \                      uint32_t width, uint32_t length,\n                       unsigned
      char *work_buff)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:94,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/fax2ps.c:124,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/fax2ps.c:127,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/fax2ps.c:166,1
    - Dst: putchar
      Src: /src/PROJ/libtiff/tools/fax2ps.c:169,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:172,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - buf
    - runs
    - erun
    - lastx
    argTypes:
    - unsigned char*
    - uint32_t*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 173
    functionName: printruns
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: "void printruns(unsigned char *buf, uint32_t *runs, uint32_t *erun,\n
      \                     uint32_t lastx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: emitFont
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void emitFont(FILE *fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:218,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:219,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:220,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:224,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/fax2ps.c:226,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/fax2ps.c:226,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:230,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/fax2ps.c:232,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/fax2ps.c:232,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:236,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:247,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:248,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:250,1
    - Dst: time
      Src: /src/PROJ/libtiff/tools/fax2ps.c:252,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:253,1
    - Dst: ctime
      Src: /src/PROJ/libtiff/tools/fax2ps.c:253,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:254,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:255,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:257,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:258,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:259,1
    - Dst: emitFont
      Src: /src/PROJ/libtiff/tools/fax2ps.c:260,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:261,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:262,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:263,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:264,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:265,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:266,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:267,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:272,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:275,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:276,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2ps.c:277,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/fax2ps.c:278,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/fax2ps.c:281,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:282,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - tif
    - pageNumber
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 285
    functionName: printTIF
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - printf
    - ctime
    - time
    - TIFFWarning
    - TIFFReadEncodedStrip
    - TIFFSetField
    - TIFFFileName
    - emitFont
    - TIFFGetField
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void printTIF(TIFF *tif, uint16_t pageNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: GetPageNumber
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetPageNumber(tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPageNumber
      Src: /src/PROJ/libtiff/tools/fax2ps.c:293,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/fax2ps.c:295,1
    - Dst: GetPageNumber
      Src: /src/PROJ/libtiff/tools/fax2ps.c:296,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/fax2ps.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - pageNumber
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: findPage
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirectory
    - GetPageNumber
    - TIFFSetDirectory
    linkageType: ''
    returnType: int
    signature: int findPage(TIFF *tif, uint16_t pageNumber)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPageNumber
      Src: /src/PROJ/libtiff/tools/fax2ps.c:311,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:312,1
    - Dst: findPage
      Src: /src/PROJ/libtiff/tools/fax2ps.c:316,1
    - Dst: printTIF
      Src: /src/PROJ/libtiff/tools/fax2ps.c:317,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:319,1
    - Dst: printTIF
      Src: /src/PROJ/libtiff/tools/fax2ps.c:326,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/fax2ps.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - tif
    - npages
    - pages
    - filename
    argTypes:
    - TIFF*
    - uint16_t
    - uint16_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 329
    functionName: fax2ps
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - GetPageNumber
    - TIFFReadDirectory
    - findPage
    - fprintf
    - printTIF
    linkageType: ''
    returnType: void
    signature: void fax2ps(TIFF *tif, uint16_t npages, uint16_t *pages, char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: pcompar
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcompar(const void *va, const void *vb)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/fax2ps.c:352,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/fax2ps.c:356,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/fax2ps.c:362,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/fax2ps.c:365,1
    - Dst: realloc
      Src: /src/PROJ/libtiff/tools/fax2ps.c:367,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/tools/fax2ps.c:370,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:373,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/fax2ps.c:374,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/fax2ps.c:382,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/fax2ps.c:385,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/fax2ps.c:388,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/fax2ps.c:391,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/fax2ps.c:392,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/fax2ps.c:395,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/fax2ps.c:396,1
    - Dst: qsort
      Src: /src/PROJ/libtiff/tools/fax2ps.c:399,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/fax2ps.c:401,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/fax2ps.c:406,1
    - Dst: fax2ps
      Src: /src/PROJ/libtiff/tools/fax2ps.c:409,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/fax2ps.c:410,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:413,1
    - Dst: tmpfile
      Src: /src/PROJ/libtiff/tools/fax2ps.c:425,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:428,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/fax2ps.c:429,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/fax2ps.c:430,1
    - Dst: setmode
      Src: /src/PROJ/libtiff/tools/fax2ps.c:433,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2ps.c:433,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/fax2ps.c:435,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2ps.c:435,1
    - Dst: write
      Src: /src/PROJ/libtiff/tools/fax2ps.c:437,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2ps.c:437,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/fax2ps.c:439,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:440,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/fax2ps.c:441,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/fax2ps.c:442,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/fax2ps.c:445,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2ps.c:445,1
    - Dst: TIFFFdOpen
      Src: /src/PROJ/libtiff/tools/fax2ps.c:448,1
    - Dst: _get_osfhandle
      Src: /src/PROJ/libtiff/tools/fax2ps.c:448,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2ps.c:448,1
    - Dst: TIFFFdOpen
      Src: /src/PROJ/libtiff/tools/fax2ps.c:451,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2ps.c:451,1
    - Dst: fax2ps
      Src: /src/PROJ/libtiff/tools/fax2ps.c:455,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/fax2ps.c:456,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:459,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/fax2ps.c:460,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:462,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:463,1
    - Dst: printf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:464,1
    - Dst: free
      Src: /src/PROJ/libtiff/tools/fax2ps.c:466,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 468
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 5
    functionsReached:
    - fileno
    - getopt
    - setmode
    - fclose
    - TIFFOpen
    - _get_osfhandle
    - qsort
    - TIFFClose
    - write
    - TIFFSetWarningHandler
    - tmpfile
    - fprintf
    - TIFFFdOpen
    - printf
    - fax2ps
    - atof
    - realloc
    - _TIFF_lseek_f
    - usage
    - exit
    - read
    - atoi
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:487,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/fax2ps.c:487,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2ps.c:488,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/fax2ps.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/fax2ps.c
    functionUses: 33
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:114,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:119,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:120,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:123,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:126,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:129,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:132,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:135,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:138,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:140,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:142,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:144,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:146,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:148,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:150,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:152,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:156,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:165,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:167,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:169,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:171,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:173,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:175,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:177,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:179,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:188,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:190,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:199,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:206,1
    - Dst: open
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:208,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:211,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:218,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:219,1
    - Dst: guessSize
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:223,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:225,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:234,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:235,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:243,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:244,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:251,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:252,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:259,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:260,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:266,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:269,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:271,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:274,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:275,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:276,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:277,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:278,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:279,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:280,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:281,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:287,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:292,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:296,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:299,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:304,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:311,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:312,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:318,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:325,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:333,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:335,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:340,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:342,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:350,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:354,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:359,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:361,1
    - Dst: swapBytesInScanline
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:367,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:369,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:375,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:377,1
    - Dst: swapBytesInScanline
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:383,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:387,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:389,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:395,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:397,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:398,1
    - Dst: close
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:399,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 235
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 401
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/raw2tiff.c
    functionUses: 5
    functionsReached:
    - getopt
    - strncmp
    - TIFFDataWidth
    - swapBytesInScanline
    - TIFFOpen
    - memcpy
    - TIFFClose
    - TIFFDefaultStripSize
    - _TIFFfree
    - guessSize
    - processCompressOptions
    - fprintf
    - _TIFF_lseek_f
    - open
    - usage
    - read
    - atoi
    - TIFFWriteScanline
    - close
    - TIFFSetField
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:409,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:413,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - width
    - dtype
    argTypes:
    - void*
    - uint32_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 422
    functionName: swapBytesInScanline
    functionSourceFile: /src/PROJ/libtiff/tools/raw2tiff.c
    functionUses: 1
    functionsReached:
    - TIFFSwabArrayOfDouble
    - TIFFSwabArrayOfShort
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: void
    signature: void swapBytesInScanline(void *buf, uint32_t width, TIFFDataType dtype)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:432,1
    - Dst: _TIFF_fstat_f
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:435,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:437,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:443,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:449,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:457,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:461,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:467,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:471,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:478,1
    - Dst: sqrt
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:479,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:482,1
    - Dst: sqrt
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:486,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:497,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:498,1
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:501,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:505,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:510,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:512,1
    - Dst: read
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:517,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:519,1
    - Dst: swapBytesInScanline
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:525,1
    - Dst: swapBytesInScanline
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:526,1
    - Dst: memcmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:528,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:534,1
    - Dst: correlation
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:534,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:543,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:544,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:553,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:565,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 7
    argNames:
    - fd
    - dtype
    - hdr_size
    - nbands
    - swab
    - width
    - length
    argTypes:
    - int
    - TIFFDataType
    - _TIFF_off_t
    - uint32_t
    - int
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 571
    functionName: guessSize
    functionSourceFile: /src/PROJ/libtiff/tools/raw2tiff.c
    functionUses: 1
    functionsReached:
    - sqrt
    - correlation
    - fabs
    - TIFFDataWidth
    - _TIFF_lseek_f
    - _TIFFfree
    - _TIFFmalloc
    - _TIFF_fstat_f
    - memcmp
    - swapBytesInScanline
    - read
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int guessSize(int fd, TIFFDataType dtype, _TIFF_off_t hdr_size,\n
      \                    uint32_t nbands, int swab, uint32_t *width,\n                     uint32_t
      *length)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:671,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 4
    argNames:
    - buf1
    - buf2
    - n_elem
    - dtype
    argTypes:
    - void*
    - void*
    - uint32_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 674
    functionName: correlation
    functionSourceFile: /src/PROJ/libtiff/tools/raw2tiff.c
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: "double correlation(void *buf1, void *buf2, uint32_t n_elem,\n                          TIFFDataType
      dtype)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:678,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:680,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:682,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:684,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:689,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:690,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:694,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:696,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:699,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:701,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:703,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:706,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:708,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 716
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/raw2tiff.c
    functionUses: 9
    functionsReached:
    - strncmp
    - strcmp
    - strchr
    - isdigit
    - usage
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:795,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:795,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:796,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/raw2tiff.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 798
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/raw2tiff.c
    functionUses: 35
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: TIFFhowmany8
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/thumbnail.c:85,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/thumbnail.c:90,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/thumbnail.c:93,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:96,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:97,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:98,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:99,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:100,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:101,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/thumbnail.c:102,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/thumbnail.c:106,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/thumbnail.c:110,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/thumbnail.c:112,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/thumbnail.c:115,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:119,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/thumbnail.c:122,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/thumbnail.c:122,1
    - Dst: initScale
      Src: /src/PROJ/libtiff/tools/thumbnail.c:129,1
    - Dst: generateThumbnail
      Src: /src/PROJ/libtiff/tools/thumbnail.c:132,1
    - Dst: cpIFD
      Src: /src/PROJ/libtiff/tools/thumbnail.c:134,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/thumbnail.c:134,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/thumbnail.c:136,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/thumbnail.c:137,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/thumbnail.c:139,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/thumbnail.c:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 5
    functionsReached:
    - getopt
    - cpIFD
    - strtoul
    - initScale
    - generateThumbnail
    - TIFFClose
    - TIFFWriteDirectory
    - TIFFError
    - TIFFReadDirectory
    - usage
    - _TIFFmalloc
    - TIFFFileName
    - streq
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CopyField2
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: CopyField4
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:168,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/thumbnail.c:173,1
    - Dst: CopyField4
      Src: /src/PROJ/libtiff/tools/thumbnail.c:178,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/thumbnail.c:184,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:190,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:196,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:202,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:209,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:214,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:220,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:227,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:232,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:238,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/thumbnail.c:242,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/thumbnail.c:242,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16_t
    - uint16_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 246
    functionName: cpTag
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - CopyField2
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField
    linkageType: ''
    returnType: void
    signature: "void cpTag(TIFF *in, TIFF *out, uint16_t tag, uint16_t count,\n                  TIFFDataType
      type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:324,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:331,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/thumbnail.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 337
    functionName: cpTags
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - cpTag
    linkageType: ''
    returnType: void
    signature: void cpTags(TIFF *in, TIFF *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/thumbnail.c:342,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:343,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/thumbnail.c:347,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:350,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:356,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/thumbnail.c:361,1
    - Dst: TIFFWriteRawStrip
      Src: /src/PROJ/libtiff/tools/thumbnail.c:362,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/thumbnail.c:364,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/thumbnail.c:368,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/thumbnail.c:373,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/thumbnail.c:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 375
    functionName: cpStrips
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFStripSize
    - TIFFReadRawStrip
    - TIFFWriteRawStrip
    - TIFFError
    - _TIFFfree
    - _TIFFmalloc
    - _TIFFrealloc
    - TIFFFileName
    - TIFFGetField
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int cpStrips(TIFF *in, TIFF *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/thumbnail.c:379,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:380,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/thumbnail.c:384,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:387,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:393,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/thumbnail.c:398,1
    - Dst: TIFFWriteRawTile
      Src: /src/PROJ/libtiff/tools/thumbnail.c:399,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/thumbnail.c:401,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/thumbnail.c:405,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/thumbnail.c:410,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/thumbnail.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 412
    functionName: cpTiles
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFTileSize
    - TIFFReadRawTile
    - TIFFWriteRawTile
    - TIFFError
    - _TIFFfree
    - _TIFFmalloc
    - _TIFFrealloc
    - TIFFFileName
    - TIFFNumberOfTiles
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int cpTiles(TIFF *in, TIFF *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpTags
      Src: /src/PROJ/libtiff/tools/thumbnail.c:416,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/thumbnail.c:417,1
    - Dst: cpTiles
      Src: /src/PROJ/libtiff/tools/thumbnail.c:419,1
    - Dst: cpStrips
      Src: /src/PROJ/libtiff/tools/thumbnail.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 428
    functionName: cpIFD
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - cpTags
    - cpTiles
    - cpStrips
    - TIFFIsTiled
    linkageType: ''
    returnType: int
    signature: int cpIFD(TIFF *in, TIFF *out)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: setupBitsTables
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setupBitsTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - low
    - high
    argTypes:
    - float
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: clamp
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clamp(float v, int low, int high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/PROJ/libtiff/tools/thumbnail.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pct
    - p
    - n
    argTypes:
    - float[]
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: expFill
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: void
    signature: void expFill(float pct[], uint32_t p, uint32_t n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expFill
      Src: /src/PROJ/libtiff/tools/thumbnail.c:494,1
    - Dst: expFill
      Src: /src/PROJ/libtiff/tools/thumbnail.c:497,1
    - Dst: expFill
      Src: /src/PROJ/libtiff/tools/thumbnail.c:500,1
    - Dst: expFill
      Src: /src/PROJ/libtiff/tools/thumbnail.c:503,1
    - Dst: expFill
      Src: /src/PROJ/libtiff/tools/thumbnail.c:506,1
    - Dst: expFill
      Src: /src/PROJ/libtiff/tools/thumbnail.c:509,1
    - Dst: clamp
      Src: /src/PROJ/libtiff/tools/thumbnail.c:520,1
    - Dst: clamp
      Src: /src/PROJ/libtiff/tools/thumbnail.c:524,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 527
    functionName: setupCmap
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - clamp
    - expFill
    linkageType: ''
    returnType: void
    signature: void setupCmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:531,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:532,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:533,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:534,1
    - Dst: setupBitsTables
      Src: /src/PROJ/libtiff/tools/thumbnail.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: initScale
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - setupBitsTables
    - _TIFFmalloc
    linkageType: ''
    returnType: void
    signature: void initScale()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sw
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 578
    functionName: setupStepTables
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setupStepTables(uint32_t sw)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/thumbnail.c:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - row
    - nrows
    - rows
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 633
    functionName: setrow
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void setrow(uint8_t *row, uint32_t nrows, const uint8_t *rows[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany8
      Src: /src/PROJ/libtiff/tools/thumbnail.c:646,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/thumbnail.c:654,1
    - Dst: setrow
      Src: /src/PROJ/libtiff/tools/thumbnail.c:671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - br
    - rw
    - rh
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 674
    functionName: setImage1
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - setrow
    - fprintf
    - TIFFhowmany8
    linkageType: ''
    returnType: void
    signature: void setImage1(const uint8_t *br, uint32_t rw, uint32_t rh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/PROJ/libtiff/tools/thumbnail.c:678,1
    - Dst: setupStepTables
      Src: /src/PROJ/libtiff/tools/thumbnail.c:679,1
    - Dst: setImage1
      Src: /src/PROJ/libtiff/tools/thumbnail.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - br
    - rw
    - rh
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: setImage
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - setImage1
    - setupStepTables
    - ceil
    linkageType: ''
    returnType: void
    signature: void setImage(const uint8_t *br, uint32_t rw, uint32_t rh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/thumbnail.c:690,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:693,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:694,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/thumbnail.c:695,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/thumbnail.c:696,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/thumbnail.c:697,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/thumbnail.c:700,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/thumbnail.c:702,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/thumbnail.c:705,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/thumbnail.c:708,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/thumbnail.c:708,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/thumbnail.c:717,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:720,1
    - Dst: setupCmap
      Src: /src/PROJ/libtiff/tools/thumbnail.c:721,1
    - Dst: setImage
      Src: /src/PROJ/libtiff/tools/thumbnail.c:722,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/thumbnail.c:723,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:725,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:726,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:727,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:728,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:729,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:730,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:731,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:732,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:733,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/thumbnail.c:734,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/thumbnail.c:735,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/thumbnail.c:736,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/thumbnail.c:737,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/thumbnail.c:739,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/thumbnail.c:740,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/thumbnail.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 742
    functionName: generateThumbnail
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - cpTag
    - TIFFWriteEncodedStrip
    - TIFFGetFieldDefaulted
    - TIFFScanlineSize
    - TIFFWriteDirectory
    - TIFFError
    - setImage
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFFileName
    - _TIFFfree
    - TIFFSetField
    - TIFFGetField
    - TIFFNumberOfStrips
    - fprintf
    - setupCmap
    linkageType: ''
    returnType: int
    signature: int generateThumbnail(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/thumbnail.c:765,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/thumbnail.c:765,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/thumbnail.c:767,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/thumbnail.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/thumbnail.c
    functionUses: 36
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: TIFFhowmany8
    functionSourceFile: /src/PROJ/libtiff/tools/fax2tiff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8(x)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:111,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:151,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:154,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:157,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:194,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:197,1
    - Dst: atol
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:209,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:227,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:230,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:235,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:237,1
    - Dst: TIFFhowmany8
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:237,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:238,1
    - Dst: TIFFhowmany8
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:238,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:241,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:243,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:245,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:246,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:252,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:255,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:256,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:258,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:260,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:265,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:268,1
    - Dst: TIFFGetReadProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:268,1
    - Dst: TIFFGetWriteProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:268,1
    - Dst: TIFFGetSeekProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:269,1
    - Dst: TIFFGetCloseProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:269,1
    - Dst: TIFFGetSizeProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:269,1
    - Dst: TIFFGetMapFileProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:270,1
    - Dst: TIFFGetUnmapFileProc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:270,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:273,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:274,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:276,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:278,1
    - Dst: TIFFSetMode
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:281,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:282,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:283,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:284,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:285,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:286,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:287,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:288,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:289,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:292,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:294,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:296,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:299,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:302,1
    - Dst: _get_osfhandle
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:306,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:306,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:308,1
    - Dst: TIFFSetClientdata
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:310,1
    - Dst: TIFFSetFileName
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:311,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:312,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:313,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:314,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:315,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:316,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:317,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:322,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:323,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:330,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:331,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:338,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:340,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:341,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:342,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:343,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:344,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:347,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:348,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:351,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:352,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:353,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:356,1
    - Dst: copyFaxFile
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:357,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:358,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:360,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:362,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:366,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:367,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:368,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:369,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:374,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:375,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:378,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:380,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:382,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:383,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:384,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 229
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 386
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/fax2tiff.c
    functionUses: 5
    functionsReached:
    - fileno
    - getopt
    - TIFFSetFileName
    - TIFFGetMapFileProc
    - TIFFGetWriteProc
    - fclose
    - TIFFOpen
    - TIFFGetField
    - _get_osfhandle
    - TIFFSetClientdata
    - copyFaxFile
    - TIFFClose
    - TIFFDefaultStripSize
    - TIFFGetUnmapFileProc
    - _TIFFfree
    - TIFFSetWarningHandler
    - TIFFClientdata
    - fprintf
    - TIFFhowmany8
    - TIFFGetReadProc
    - TIFFClientOpen
    - atof
    - TIFFGetSizeProc
    - TIFFWriteDirectory
    - usage
    - TIFFSetMode
    - atoi
    - atol
    - TIFFGetSeekProc
    - TIFFGetCloseProc
    - _TIFFmalloc
    - TIFFSetField
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany8
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:391,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:395,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:398,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:401,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:404,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:407,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:409,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:410,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:422,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:439,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:446,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:450,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:452,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:459,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:461,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:470,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - tifin
    - tifout
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 472
    functionName: copyFaxFile
    functionSourceFile: /src/PROJ/libtiff/tools/fax2tiff.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - _TIFFmemcpy
    - TIFFWriteScanline
    - TIFFError
    - _TIFFfree
    - TIFFGetFileSize
    - _TIFFmalloc
    - ReadOK
    - fprintf
    - TIFFhowmany8
    linkageType: ''
    returnType: int
    signature: int copyFaxFile(TIFF *tifin, TIFF *tifout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:522,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:522,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:523,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/fax2tiff.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/fax2tiff.c
    functionUses: 37
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: howmany
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: roundup
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup(x, y)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:79,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:83,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:90,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:92,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:94,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:96,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:98,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:101,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:105,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:109,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:113,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:125,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:129,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:135,1
    - Dst: TIFFOpenOptionsAlloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:137,1
    - Dst: TIFFOpenOptionsSetMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:142,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:143,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:146,1
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:152,1
    - Dst: tiffcvt
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:157,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:157,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:159,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:160,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:161,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:164,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:165,1
    - Dst: TIFFOpenOptionsFree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:168,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:169,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFOpenOptionsAlloc
    - strtoul
    - TIFFOpenOptionsFree
    - TIFFClose
    - TIFFOpenOptionsSetMaxSingleMemAlloc
    - TIFFWriteDirectory
    - TIFFReadDirectory
    - usage
    - streq
    - tiffcvt
    - atoi
    - TIFFOpenExt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:184,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:185,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:187,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:188,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:190,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:190,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:194,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:195,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:203,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:203,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:205,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:207,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:210,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:210,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:221,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:221,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:223,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:225,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:228,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:228,1
    - Dst: TIFFReadRGBATile
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:242,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:253,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:267,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:268,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:269,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:276,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:276,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:286,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 290
    functionName: cvt_by_tile
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFComputeTile
    - TIFFReadRGBATile
    - TIFFError
    - _TIFFfree
    - TIFFWriteEncodedTile
    - TIFFSetField
    - TIFFFileName
    - _TIFFmalloc
    - exit
    - TIFFGetField
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: int
    signature: int cvt_by_tile(TIFF *in, TIFF *out)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:302,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:303,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:305,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:307,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:307,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:311,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:319,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:319,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:321,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:323,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:326,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:326,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:337,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:337,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:339,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:341,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:344,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:344,1
    - Dst: TIFFReadRGBAStrip
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:356,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:367,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:390,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:391,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:392,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:399,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:407,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 411
    functionName: cvt_by_strip
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFReadRGBAStrip
    - TIFFWriteEncodedStrip
    - TIFFError
    - _TIFFfree
    - TIFFSetField
    - TIFFFileName
    - _TIFFmalloc
    - exit
    - TIFFGetField
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: int
    signature: int cvt_by_strip(TIFF *in, TIFF *out)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:429,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:430,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:436,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:437,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:446,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:446,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:453,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:454,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:456,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:460,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:460,1
    - Dst: TIFFReadRGBAImageOriented
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:468,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:471,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:480,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:533,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:537,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:542,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 545
    functionName: cvt_whole_image
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 0
    functionsReached:
    - _TIFFCheckMalloc
    - TIFFWriteEncodedStrip
    - TIFFDefaultStripSize
    - TIFFSwabArrayOfLong
    - TIFFError
    - _TIFFfree
    - TIFFSetField
    - TIFFFileName
    - TIFFGetField
    - TIFFReadRGBAImageOriented
    linkageType: ''
    returnType: int
    signature: int cvt_whole_image(TIFF *in, TIFF *out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:556,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:557,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:559,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:560,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:561,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:562,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:563,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:564,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:566,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:567,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:570,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:572,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:577,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:580,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:581,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:582,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:583,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:584,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:584,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:585,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:587,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:589,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:589,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:592,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:595,1
    - Dst: cvt_by_tile
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:596,1
    - Dst: cvt_by_strip
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:598,1
    - Dst: cvt_whole_image
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 601
    functionName: tiffcvt
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 2
    functionsReached:
    - cvt_whole_image
    - TIFFIsTiled
    - cvt_by_tile
    - TIFFStripSize
    - TIFFGetVersion
    - cvt_by_strip
    - TIFFError
    - TIFFSetField
    - TIFFFileName
    - TIFFGetField
    - CopyField
    linkageType: ''
    returnType: int
    signature: int tiffcvt(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:642,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:642,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:643,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2rgba.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2rgba.c
    functionUses: 38
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffdither.c:78,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffdither.c:78,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffdither.c:79,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdither.c:80,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffdither.c:81,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiffdither.c:82,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffdither.c:83,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiffdither.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:87,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiffdither.c:90,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:92,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffdither.c:99,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiffdither.c:112,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiffdither.c:120,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiffdither.c:154,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdither.c:162,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdither.c:163,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdither.c:164,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiffdither.c:165,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 167
    functionName: fsdither
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - TIFFSafeMultiply
    - TIFFWriteScanline
    - TIFFScanlineSize
    - _TIFFfree
    - _TIFFmalloc
    - TIFFReadScanline
    - fprintf
    linkageType: ''
    returnType: int
    signature: int fsdither(TIFF *in, TIFF *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffdither.c:175,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:180,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:182,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:184,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdither.c:187,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffdither.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: processG3Options
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 2
    functionsReached:
    - strchr
    - usage
    - strneq
    linkageType: ''
    returnType: void
    signature: void processG3Options(char *cp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:194,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:196,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:198,1
    - Dst: processG3Options
      Src: /src/PROJ/libtiff/tools/tiffdither.c:200,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:203,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:205,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffdither.c:207,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffdither.c:209,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:212,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiffdither.c:214,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffdither.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 9
    functionsReached:
    - strneq
    - strchr
    - streq
    - processG3Options
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiffdither.c:238,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/tiffdither.c:242,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdither.c:243,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:246,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiffdither.c:248,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdither.c:251,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffdither.c:254,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiffdither.c:257,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdither.c:264,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdither.c:268,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiffdither.c:273,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffdither.c:274,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:277,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:280,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffdither.c:281,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:284,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:287,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffdither.c:288,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiffdither.c:291,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffdither.c:294,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:300,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:301,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:302,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:303,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:304,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:305,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:306,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:308,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:310,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:311,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:313,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:314,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:315,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:316,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:317,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:318,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiffdither.c:319,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:320,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:324,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiffdither.c:330,1
    - Dst: fsdither
      Src: /src/PROJ/libtiff/tools/tiffdither.c:333,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/tiffdither.c:334,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/tools/tiffdither.c:335,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffdither.c:337,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiffdither.c:338,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 5
    functionsReached:
    - fsdither
    - getopt
    - TIFFClose
    - snprintf
    - TIFFDefaultStripSize
    - TIFFWriteDirectory
    - TIFFGetField
    - TIFFReadDirectory
    - usage
    - TIFFSetField
    - streq
    - processCompressOptions
    - TIFFOpen
    - CopyField
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:384,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiffdither.c:384,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiffdither.c:385,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiffdither.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiffdither.c
    functionUses: 40
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - smpls
    - bps
    argTypes:
    - unsigned char*
    - unsigned int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: pack_none
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_none(unsigned char *buf, unsigned int smpls, uint16_t bps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - smpls
    - bps
    argTypes:
    - unsigned char*
    - unsigned int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: pack_swab
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_swab(unsigned char *buf, unsigned int smpls, uint16_t bps)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - smpls
    - bps
    argTypes:
    - unsigned char*
    - unsigned int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 122
    functionName: pack_bytes
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_bytes(unsigned char *buf, unsigned int smpls, uint16_t bps)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - smpls
    - bps
    argTypes:
    - unsigned char*
    - unsigned int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: pack_words
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_words(unsigned char *buf, unsigned int smpls, uint16_t bps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:165,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: BadPPM
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void BadPPM(char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: multiply_ms
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t multiply_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:200,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:201,1
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:203,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:207,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:208,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:211,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:214,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:217,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:220,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:226,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:227,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:237,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:240,1
    - Dst: setmode
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:249,1
    - Dst: fileno
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:249,1
    - Dst: fgetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:253,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:254,1
    - Dst: fgetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:255,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:276,1
    - Dst: feof
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:282,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:283,1
    - Dst: fgetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:284,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:286,1
    - Dst: fgetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:294,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:295,1
    - Dst: feof
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:295,1
    - Dst: ungetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:299,1
    - Dst: fscanf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:304,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:305,1
    - Dst: fgetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:306,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:307,1
    - Dst: fscanf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:313,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:314,1
    - Dst: fgetc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:315,1
    - Dst: BadPPM
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:316,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:320,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:321,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:358,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:361,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:362,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:363,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:364,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:365,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:366,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:367,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:368,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:372,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:373,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:379,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:382,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:388,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:392,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:396,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:400,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:404,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:405,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:409,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:410,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:411,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:413,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:417,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:418,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:421,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:423,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:426,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:427,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:428,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:432,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:433,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:434,1
    - Dst: fread
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:438,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:440,1
    - Dst: pack_func
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:443,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:444,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:448,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:449,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:451,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 198
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 453
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 5
    functionsReached:
    - fileno
    - getopt
    - setmode
    - fscanf
    - pack_func
    - fclose
    - TIFFOpen
    - fread
    - TIFFClose
    - TIFFDefaultStripSize
    - _TIFFfree
    - processCompressOptions
    - fprintf
    - atof
    - feof
    - ungetc
    - usage
    - BadPPM
    - exit
    - atoi
    - fgetc
    - multiply_ms
    - TIFFWriteScanline
    - strchr
    - TIFFScanlineSize
    - TIFFSetField
    - _TIFFmalloc
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:458,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:463,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:465,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:467,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:470,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: processG3Options
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 3
    functionsReached:
    - strchr
    - usage
    - strneq
    linkageType: ''
    returnType: void
    signature: void processG3Options(char *cp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:477,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:479,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:481,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:483,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:488,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:489,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:493,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:495,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:498,1
    - Dst: processG3Options
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:500,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:503,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:507,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:509,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:511,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:514,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:516,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:518,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 524
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 11
    functionsReached:
    - strneq
    - strchr
    - isdigit
    - usage
    - streq
    - processG3Options
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:568,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:568,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:569,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/ppm2tiff.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/ppm2tiff.c
    functionUses: 43
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:289,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - val
    - module
    argTypes:
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 307
    functionName: _TIFFCastSSizeToUInt32
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 4
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _TIFFCastSSizeToUInt32(tmsize_t val, const char *module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t2p
    - ','
    - rv
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: check_snprintf_ret
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_snprintf_ret(t2p, rv, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tiff
    - ','
    - data
    - ','
    - size
    - ','
    - modulename
    - ','
    - addwrittento
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: add_t2pWriteFile_check
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_t2pWriteFile_check(tiff, data, size, modulename, addwrittento)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tiff
    - ','
    - data
    - ','
    - size
    - ','
    - modulename
    - ','
    - addwrittento
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: add_t2pWriteFile_check_2
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_t2pWriteFile_check_2(tiff, data, size, modulename, addwrittento)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: t2p_disable
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFClientdata
    linkageType: ''
    returnType: void
    signature: void t2p_disable(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: t2p_enable
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFClientdata
    linkageType: ''
    returnType: void
    signature: void t2p_enable(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:459,1
    - Dst: TIFFGetReadProc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:460,1
    - Dst: proc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - data
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: t2pReadFile
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFGetReadProc
    - TIFFClientdata
    - proc
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2pReadFile(TIFF *tif, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:469,1
    - Dst: TIFFGetWriteProc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:470,1
    - Dst: proc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - data
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: t2pWriteFile
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFClientdata
    - TIFFGetWriteProc
    - proc
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2pWriteFile(TIFF *tif, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:478,1
    - Dst: TIFFGetSeekProc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:479,1
    - Dst: proc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - offset
    - whence
    argTypes:
    - TIFF*
    - toff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: t2pSeekFile
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFClientdata
    - proc
    - TIFFGetSeekProc
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t t2pSeekFile(TIFF *tif, toff_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - data
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: t2p_readproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2p_readproc(thandle_t handle, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - data
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: t2p_writeproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2p_writeproc(thandle_t handle, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_fseek_f
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - offset
    - whence
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: t2p_seekproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - _TIFF_fseek_f
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t t2p_seekproc(thandle_t handle, uint64_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: t2p_closeproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int t2p_closeproc(thandle_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: t2p_sizeproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t t2p_sizeproc(thandle_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - data
    - offset
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: t2p_mapproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_mapproc(thandle_t handle, void **data, toff_t *offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - data
    - offset
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: t2p_unmapproc
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t2p_unmapproc(thandle_t handle, void *data, toff_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - summand1
    - summand2
    - t2p
    argTypes:
    - uint64_t
    - uint64_t
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 547
    functionName: checkAdd64
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkAdd64(uint64_t summand1, uint64_t summand2, T2P *t2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - first
    - second
    - t2p
    argTypes:
    - uint64_t
    - uint64_t
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 562
    functionName: checkMultiply64
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkMultiply64(uint64_t first, uint64_t second, T2P *t2p)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: t2p_init
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:700,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:704,1
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:709,1
    - Dst: strtoul
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:715,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:727,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:739,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:745,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:761,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:765,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:770,1
    - Dst: atof
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:776,1
    - Dst: tiff2pdf_match_paper_size
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:786,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:794,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:809,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:817,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:823,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:828,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:833,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:838,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:843,1
    - Dst: usage_info
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:852,1
    - Dst: usage_info
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:855,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:865,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:868,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:875,1
    - Dst: usage_info
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:876,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:882,1
    - Dst: usage_info
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:883,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:893,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:896,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:907,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:913,1
    - Dst: t2p_validate
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:920,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:921,1
    - Dst: t2p_write_pdf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:926,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:929,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:939,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:941,1
    - Dst: t2p_free
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:943,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 184
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 945
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 5
    functionsReached:
    - getopt
    - tiff2pdf_match_paper_size
    - strtoul
    - t2p_free
    - TIFFError
    - TIFFOpen
    - t2p_validate
    - TIFFWarning
    - TIFFClose
    - strncpy
    - strlen
    - TIFFClientOpen
    - atof
    - usage_info
    - t2p_write_pdf
    - atoi
    - t2p_init
    - t2pSeekFile
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:960,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:989,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:989,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 993
    functionName: usage_info
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFGetVersion
    - defined
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage_info(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1032,1
    - Dst: toupper
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1035,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - width
    - length
    - papersize
    argTypes:
    - float*
    - float*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1048
    functionName: tiff2pdf_match_paper_size
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - toupper
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tiff2pdf_match_paper_size(float *width, float *length, char *papersize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1056,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1059,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1076
    functionName: t2p_init
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - _TIFFmalloc
    - TIFFError
    linkageType: ''
    returnType: T2P
    signature: T2P *t2p_init()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1091,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1095,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1101,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1106,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1110,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1115,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1122
    functionName: t2p_free
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void t2p_free(T2P *t2p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1170
    functionName: t2p_validate
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: void
    signature: void t2p_validate(T2P *t2p)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1190,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1193,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1194,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1198,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1199,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1202,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1205,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1209,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1210,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1211,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1214,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1217,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1221,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1226,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1228,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1230,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1234,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1246,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1257,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1273,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1276,1
    - Dst: qsort
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1283,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1289,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1290,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1292,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1298,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1303,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1313,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1337,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1363,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1375,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1378,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1380,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1381,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1387,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1388,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1397,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1401,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1403,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1407,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1411,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1413,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1417,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1418,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1422,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1426,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 159
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1434
    functionName: t2p_read_tiff_init
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - qsort
    - TIFFSafeMultiply
    - TIFFNumberOfDirectories
    - TIFFIsTiled
    - TIFFSetDirectory
    - TIFFError
    - _TIFFmalloc
    - TIFFFileName
    - TIFFNumberOfTiles
    - TIFFGetField
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_init(T2P *t2p, TIFF *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1454
    functionName: t2p_cmp_t2p_page
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_cmp_t2p_page(const void *e1, const void *e2)
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1486,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1488,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1491,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1492,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1497,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1500,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1501,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1506,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1508,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1509,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1513,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1515,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1518,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1523,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1533,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1535,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1539,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1541,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1546,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1550,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1552,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1558,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1560,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1564,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1573,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1575,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1582,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1584,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1586,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1588,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1620,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1630,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1638,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1653,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1664,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1667,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1672,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1675,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1680,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1683,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1690,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1693,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1701,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1704,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1710,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1712,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1714,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1720,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1727,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1730,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1731,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1734,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1737,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1753,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1753,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1768,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1775,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1779,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1782,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1793,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1796,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1804,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1807,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1813,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1815,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1817,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1823,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1830,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1833,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1834,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1837,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1840,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1872,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1881,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1904,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1913,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1928,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1931,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1935,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1938,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1943,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1948,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1950,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1958,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1961,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1967,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1970,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1976,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1979,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1981,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1985,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1989,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:1993,1
    - Dst: t2p_compose_pdf_page
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2005,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2021,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2021,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2032,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2032,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2037,1
    - Dst: t2p_process_ojpeg_tables
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2055,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2087,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2090,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2101,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2104,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2125,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2143,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2156,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2171,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2182,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 463
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 2201
    functionName: t2p_read_tiff_data
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFSafeMultiply
    - TIFFWarning
    - TIFFIsCODECConfigured
    - TIFFGetFieldDefaulted
    - TIFFIsTiled
    - TIFFSetDirectory
    - TIFFError
    - _TIFFfree
    - _TIFFmalloc
    - TIFFFileName
    - t2p_compose_pdf_page
    - t2p_process_ojpeg_tables
    - TIFFGetField
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_data(T2P *t2p, TIFF *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - t2p
    - k
    argTypes:
    - T2P*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2206
    functionDepth: 1
    functionLinenumber: 2206
    functionLinenumberEnd: 2215
    functionName: t2p_set_tiff_datasize
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: void
    signature: void t2p_set_tiff_datasize(T2P *t2p, uint64_t k)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2244,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2246,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2249,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2253,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2260,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2262,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2265,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2269,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2272,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2274,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2279,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2284,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2287,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2288,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2290,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2291,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2292,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2293,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2294,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2301,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2304,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2310,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2311,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2312,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2313,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2321,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2333,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2334,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2336,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2339,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2345,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2350,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2351,1
    - Dst: checkMultiply64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2361,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2361,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2361,1
    - Dst: checkMultiply64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2367,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2367,1
    - Dst: checkMultiply64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2370,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2379,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2399,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2400,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2410,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2420,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2424,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2431,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2438,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2442,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2450,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2454,1
    - Dst: checkMultiply64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2457,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2465,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 128
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2221
    functionDepth: 2
    functionLinenumber: 2221
    functionLinenumberEnd: 2468
    functionName: t2p_read_tiff_size
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - t2p_tile_is_right_edge
    - TIFFWarning
    - TIFFStripSize
    - t2p_set_tiff_datasize
    - TIFFScanlineSize
    - checkMultiply64
    - TIFFError
    - _TIFFCastSSizeToUInt32
    - TIFFFileName
    - TIFFGetField
    - TIFFNumberOfStrips
    - checkAdd64
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_size(T2P *t2p, TIFF *input)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2399,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2400,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2410,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2420,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2424,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2431,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2438,1
    - Dst: checkAdd64
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2442,1
    - Dst: t2p_set_tiff_datasize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - t2p
    - input
    - tile
    argTypes:
    - T2P*
    - TIFF*
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2389
    functionDepth: 2
    functionLinenumber: 2389
    functionLinenumberEnd: 2453
    functionName: t2p_read_tiff_size_tile
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - t2p_tile_is_right_edge
    - TIFFGetField
    - t2p_set_tiff_datasize
    - checkAdd64
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_size_tile(T2P *t2p, TIFF *input, ttile_t tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2487
    functionName: t2p_tile_is_right_edge
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_right_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2506
    functionName: t2p_tile_is_bottom_edge
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_bottom_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2516,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2513
    functionDepth: 1
    functionLinenumber: 2513
    functionLinenumberEnd: 2518
    functionName: t2p_tile_is_edge
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_tile_is_right_edge
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2528,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2530
    functionName: t2p_tile_is_corner_edge
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_tile_is_right_edge
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_corner_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2584,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2587,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2591,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2595,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2596,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2599,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2600,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2609,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2611,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2613,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2620,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2623,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2626,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2630,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2631,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2634,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2635,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2640,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2642,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2644,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2654,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2657,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2661,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2665,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2668,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2669,1
    - Dst: t2pReadFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2670,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2671,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2672,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2674,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2679,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2680,1
    - Dst: t2pReadFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2681,1
    - Dst: t2pSeekFile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2684,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2685,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2692,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2697,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2708,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2712,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2721,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2728,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2729,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2735,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2737,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2745,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2747,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2751,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2754,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2758,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2762,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2763,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2766,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2775,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2781,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2782,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2788,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2793,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2797,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2805,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2807,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2818,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2821,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2824,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2828,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2829,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2833,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2837,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2838,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2844,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2847,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2850,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2851,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2855,1
    - Dst: TIFFReadRawStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2859,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2862,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2863,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2864,1
    - Dst: t2p_process_jpeg_strip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2868,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2872,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2874,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2875,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2876,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2881,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2883,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2885,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2886,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2895,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2898,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2901,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2905,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2906,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2907,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2910,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2912,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2915,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2917,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2918,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2930,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2931,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2934,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2938,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2941,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2944,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2948,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2949,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2952,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2955,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2957,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2965,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2968,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2971,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2973,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2975,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2976,1
    - Dst: t2p_sample_planar_separate_to_contig
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2981,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2986,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2990,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2993,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:2996,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3000,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3001,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3002,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3005,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3007,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3010,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3012,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3013,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3014,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3024,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3029,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3032,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3034,1
    - Dst: t2p_sample_realize_palette
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3042,1
    - Dst: t2p_sample_rgba_to_rgb
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3047,1
    - Dst: t2p_sample_rgbaa_to_rgb
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3053,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3059,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3063,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3066,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3068,1
    - Dst: TIFFReadRGBAImageOriented
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3075,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3079,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3082,1
    - Dst: t2p_sample_abgr_to_rgb
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3086,1
    - Dst: t2p_sample_lab_signed_to_unsigned
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3092,1
    - Dst: t2p_disable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3099,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3101,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3102,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3103,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3104,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3105,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3106,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3107,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3112,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3116,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3124,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3129,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3133,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3136,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3139,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3142,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3145,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3145,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3146,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3150,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3154,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3157,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3162,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3176,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3184,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3188,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3193,1
    - Dst: t2p_enable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3202,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3208,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3214,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3219,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3225,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3227,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 402
    argCount: 3
    argNames:
    - t2p
    - input
    - output
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 2542
    functionDepth: 2
    functionLinenumber: 2542
    functionLinenumberEnd: 3234
    functionName: t2p_readwrite_pdf_image
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_enable
    - TIFFWriteEncodedStrip
    - add_t2pWriteFile_check
    - TIFFError
    - _TIFFCastSSizeToUInt32
    - TIFFReadEncodedStrip
    - TIFFGetField
    - TIFFStripSize
    - memset
    - _TIFFfree
    - t2p_process_jpeg_strip
    - t2p_sample_abgr_to_rgb
    - t2p_sample_rgbaa_to_rgb
    - t2p_sample_planar_separate_to_contig
    - t2p_sample_realize_palette
    - _TIFFrealloc
    - t2p_sample_lab_signed_to_unsigned
    - TIFFmin
    - t2pReadFile
    - TIFFNumberOfStrips
    - t2p_sample_rgba_to_rgb
    - TIFFReadRGBAImageOriented
    - _TIFFmemcpy
    - t2p_disable
    - TIFFReadRawStrip
    - TIFFReverseBits
    - _TIFFmalloc
    - TIFFFileName
    - t2pSeekFile
    - TIFFSetField
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_readwrite_pdf_image(T2P *t2p, TIFF *input, TIFF *output)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3270,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3271,1
    - Dst: defined
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3275,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3283,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3286,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3290,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3294,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3295,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3298,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3299,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3305,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3307,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3309,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3316,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3319,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3323,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3327,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3328,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3331,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3332,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3338,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3340,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3342,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3352,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3355,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3359,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3362,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3366,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3370,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3371,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3374,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3385,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3398,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3403,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3404,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3409,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3411,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3413,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3422,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3425,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3429,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3433,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3434,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3440,1
    - Dst: TIFFReadRawTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3447,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3453,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3464,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3466,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3475,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3478,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3482,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3486,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3488,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3492,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3494,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3495,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3505,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3506,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3509,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3512,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3516,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3520,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3521,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3524,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3528,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3529,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3533,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3537,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3543,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3545,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3546,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3547,1
    - Dst: t2p_sample_planar_separate_to_contig
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3553,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3556,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3561,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3564,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3568,1
    - Dst: memset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3572,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3574,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3578,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3580,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3581,1
    - Dst: t2p_sample_rgba_to_rgb
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3589,1
    - Dst: t2p_sample_rgbaa_to_rgb
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3597,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3605,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3607,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3608,1
    - Dst: t2p_sample_lab_signed_to_unsigned
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3615,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3622,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3625,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3630,1
    - Dst: t2p_tile_collapse_left
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3635,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3636,1
    - Dst: t2p_disable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3643,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3644,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3645,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3646,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3647,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3649,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3654,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3657,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3659,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3661,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3666,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3668,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3671,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3672,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3677,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3681,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3689,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3694,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3698,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3701,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3704,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3705,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3709,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3712,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3717,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3731,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3738,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3742,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3747,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3756,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3758,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3760,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3761,1
    - Dst: t2p_enable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3765,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3767,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3768,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3771,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3776,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3778,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 297
    argCount: 4
    argNames:
    - t2p
    - input
    - output
    - tile
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3242
    functionDepth: 2
    functionLinenumber: 3242
    functionLinenumberEnd: 3786
    functionName: t2p_readwrite_pdf_image_tile
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_enable
    - TIFFWriteEncodedStrip
    - add_t2pWriteFile_check
    - TIFFError
    - TIFFNumberOfTiles
    - TIFFGetField
    - TIFFWarning
    - TIFFStripSize
    - memset
    - _TIFFfree
    - t2p_sample_rgbaa_to_rgb
    - TIFFTileRowSize
    - t2p_sample_planar_separate_to_contig
    - defined
    - TIFFReadEncodedTile
    - t2p_tile_is_bottom_edge
    - TIFFTileSize
    - TIFFReadRawTile
    - t2p_sample_lab_signed_to_unsigned
    - t2p_sample_rgba_to_rgb
    - t2p_tile_is_right_edge
    - _TIFFmemcpy
    - t2p_disable
    - TIFFReverseBits
    - _TIFFmalloc
    - TIFFFileName
    - t2p_tile_collapse_left
    - TIFFSetField
    linkageType: ''
    returnType: tsize_t
    signature: "tsize_t t2p_readwrite_pdf_image_tile(T2P *t2p, TIFF *input, TIFF *output,\n
      \                                    ttile_t tile)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3812,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3814,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3815,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3821,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3822,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3826,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3828,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3830,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3836,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3837,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3841,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3843,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3845,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3851,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3853,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3855,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3862,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3864,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3866,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3870,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3872,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3874,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3879,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3886,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3889,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3892,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3895,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3899,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3922,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3963,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3975,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:3985,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4001,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4011,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4017,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4026,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 187
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4066
      start: 3789
    functionDepth: 1
    functionLinenumber: 3789
    functionLinenumberEnd: 4066
    functionName: t2p_process_ojpeg_tables
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - _TIFFmemcpy
    - TIFFIsTiled
    - TIFFError
    - _TIFFfree
    - _TIFFmalloc
    - TIFFFileName
    - TIFFGetField
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int t2p_process_ojpeg_tables(T2P *t2p, TIFF *input)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4109,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4121,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4152,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4161,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4177,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 7
    argNames:
    - strip
    - striplength
    - buffer
    - buffersize
    - bufferoffset
    - 'no'
    - height
    argTypes:
    - unsigned char*
    - tsize_t*
    - unsigned char*
    - tsize_t
    - tsize_t*
    - tstrip_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4190
      start: 4070
    functionDepth: 0
    functionLinenumber: 4070
    functionLinenumberEnd: 4190
    functionName: t2p_process_jpeg_strip
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: "int t2p_process_jpeg_strip(unsigned char *strip, tsize_t *striplength,\n
      \                          unsigned char *buffer, tsize_t buffersize,\n                           tsize_t
      *bufferoffset, tstrip_t no, uint32_t height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - buffer
    - scanwidth
    - tilewidth
    - edgetilewidth
    - tilelength
    argTypes:
    - tdata_t
    - tsize_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4215
      start: 4197
    functionDepth: 0
    functionLinenumber: 4197
    functionLinenumberEnd: 4215
    functionName: t2p_tile_collapse_left
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void t2p_tile_collapse_left(tdata_t buffer, tsize_t scanwidth,\n                            uint32_t
      tilewidth, uint32_t edgetilewidth,\n                            uint32_t tilelength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t2p_disable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4225,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4226,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4228,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4230,1
    - Dst: t2p_enable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4223
    functionDepth: 2
    functionLinenumber: 4223
    functionLinenumberEnd: 4236
    functionName: t2p_write_advance_directory
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_enable
    - t2p_disable
    - TIFFWriteDirectory
    - TIFFError
    - TIFFFileName
    linkageType: ''
    returnType: void
    signature: void t2p_write_advance_directory(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - t2p
    - buffer
    - samplebuffer
    - samplebuffersize
    argTypes:
    - T2P*
    - unsigned char*
    - unsigned char*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4238
    functionDepth: 0
    functionLinenumber: 4238
    functionLinenumberEnd: 4258
    functionName: t2p_sample_planar_separate_to_contig
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: "tsize_t t2p_sample_planar_separate_to_contig(T2P *t2p, unsigned char
      *buffer,\n                                             unsigned char *samplebuffer,\n
      \                                            tsize_t samplebuffersize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4272,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4276,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - t2p
    - buffer
    argTypes:
    - T2P*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4300
      start: 4260
    functionDepth: 1
    functionLinenumber: 4260
    functionLinenumberEnd: 4300
    functionName: t2p_sample_realize_palette
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFSafeMultiply
    - TIFFError
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_realize_palette(T2P *t2p, unsigned char *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - samplecount
    argTypes:
    - tdata_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4321
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4321
    functionName: t2p_sample_abgr_to_rgb
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_abgr_to_rgb(tdata_t data, uint32_t samplecount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4337,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - samplecount
    argTypes:
    - tdata_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4342
      start: 4328
    functionDepth: 0
    functionLinenumber: 4328
    functionLinenumberEnd: 4342
    functionName: t2p_sample_rgbaa_to_rgb
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached:
    - memcpy
    - memmove
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_rgbaa_to_rgb(tdata_t data, uint32_t samplecount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - samplecount
    argTypes:
    - tdata_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4365
      start: 4349
    functionDepth: 0
    functionLinenumber: 4349
    functionLinenumberEnd: 4365
    functionName: t2p_sample_rgba_to_rgb
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_rgba_to_rgb(tdata_t data, uint32_t samplecount)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - samplecount
    argTypes:
    - tdata_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4400
      start: 4372
    functionDepth: 0
    functionLinenumber: 4372
    functionLinenumberEnd: 4400
    functionName: t2p_sample_lab_signed_to_unsigned
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_lab_signed_to_unsigned(tdata_t buffer, uint32_t
      samplecount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4414,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4417,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4418,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4406
    functionDepth: 1
    functionLinenumber: 4406
    functionLinenumberEnd: 4423
    functionName: t2p_write_pdf_header
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_header(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4437,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4438,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4439,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - uint32_t
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4429
    functionDepth: 1
    functionLinenumber: 4429
    functionLinenumberEnd: 4443
    functionName: t2p_write_pdf_obj_start
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_obj_start(uint32_t number, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4458
      start: 4449
    functionDepth: 1
    functionLinenumber: 4449
    functionLinenumberEnd: 4458
    functionName: t2p_write_pdf_obj_end
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_obj_end(TIFF *output)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4474,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4479,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4484,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4486,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4491,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4493,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4501,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4503,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4507,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4509,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4513,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4515,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4519,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4521,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4525,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4527,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4531,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4533,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4537,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4539,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4543,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4545,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4549,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4551,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4555,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4557,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4561,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4563,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4567,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4573,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 2
    argNames:
    - name
    - output
    argTypes:
    - unsigned char*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4576
      start: 4464
    functionDepth: 1
    functionLinenumber: 4464
    functionLinenumberEnd: 4576
    functionName: t2p_write_pdf_name
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_name(const unsigned char *name, TIFF *output)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4590,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4591,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4596,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4598,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4622,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4626,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4630,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4634,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pdfstr
    - output
    argTypes:
    - char*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4582
    functionDepth: 1
    functionLinenumber: 4582
    functionLinenumberEnd: 4642
    functionName: t2p_write_pdf_string
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_string(const char *pdfstr, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - len
    - output
    argTypes:
    - tdata_t
    - tsize_t
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4648
    functionDepth: 1
    functionLinenumber: 4648
    functionLinenumberEnd: 4657
    functionName: t2p_write_pdf_stream
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream(tdata_t buffer, tsize_t len, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4663
    functionDepth: 1
    functionLinenumber: 4663
    functionLinenumberEnd: 4672
    functionName: t2p_write_pdf_stream_start
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_start(TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4687
      start: 4678
    functionDepth: 1
    functionLinenumber: 4678
    functionLinenumberEnd: 4687
    functionName: t2p_write_pdf_stream_end
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_end(TIFF *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4701,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4704,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4708,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4709,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4710,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - len
    - number
    - output
    argTypes:
    - tsize_t
    - uint32_t
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4715
      start: 4693
    functionDepth: 1
    functionLinenumber: 4693
    functionLinenumberEnd: 4715
    functionName: t2p_write_pdf_stream_dict
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check_2
    - t2p_write_pdf_stream_length
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32_t number, TIFF
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4731
      start: 4722
    functionDepth: 1
    functionLinenumber: 4722
    functionLinenumberEnd: 4731
    functionName: t2p_write_pdf_stream_dict_start
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_dict_start(TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4746
      start: 4737
    functionDepth: 1
    functionLinenumber: 4737
    functionLinenumberEnd: 4746
    functionName: t2p_write_pdf_stream_dict_end
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_dict_end(TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4760,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4761,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4762,1
    - Dst: add_t2pWriteFile_check_2
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - len
    - output
    argTypes:
    - tsize_t
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4752
    functionDepth: 1
    functionLinenumber: 4752
    functionLinenumberEnd: 4766
    functionName: t2p_write_pdf_stream_length
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check_2
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4779,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4781,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4782,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4783,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4784,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4786,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4789,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4772
    functionDepth: 1
    functionLinenumber: 4772
    functionLinenumberEnd: 4796
    functionName: t2p_write_pdf_catalog
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFmin
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_catalog(T2P *t2p, TIFF *output)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: t2p_pdf_tifftime
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4810,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4811,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4813,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4815,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4816,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4818,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4820,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4821,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4823,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4824,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4827,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4829,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4835,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4836,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4837,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4841,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4842,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4845,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4851,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4852,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4853,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4857,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4859,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4865,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4866,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4867,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4871,1
    - Dst: strncpy
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4873,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4879,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4880,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4881,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4885,1
    - Dst: t2p_write_pdf_string
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4887,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4888,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4890,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 3
    argNames:
    - t2p
    - input
    - output
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4893
      start: 4802
    functionDepth: 2
    functionLinenumber: 4802
    functionLinenumberEnd: 4893
    functionName: t2p_write_pdf_info
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_string
    - snprintf
    - strncpy
    - add_t2pWriteFile_check
    - strlen
    - t2p_pdf_tifftime
    - TIFFGetField
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_info(T2P *t2p, TIFF *input, TIFF *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4905,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4907,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4908,1
    - Dst: localtime
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4912,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4913,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4915,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4916,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4917,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4918,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4919,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4923
      start: 4900
    functionDepth: 1
    functionLinenumber: 4900
    functionLinenumberEnd: 4923
    functionName: t2p_pdf_currenttime
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - time
    - snprintf
    - localtime
    - strerror
    - TIFFError
    - TIFFmin
    linkageType: ''
    returnType: void
    signature: void t2p_pdf_currenttime(T2P *t2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4934,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4935,1
    - Dst: t2p_pdf_currenttime
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4961
      start: 4930
    functionDepth: 2
    functionLinenumber: 4930
    functionLinenumberEnd: 4961
    functionName: t2p_pdf_tifftime
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_pdf_currenttime
    - TIFFGetField
    - strlen
    linkageType: ''
    returnType: void
    signature: void t2p_pdf_tifftime(T2P *t2p, TIFF *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4975,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4980,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4981,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4982,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4983,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4986,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:4999,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5000,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5001,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5002,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5006
      start: 4966
    functionDepth: 1
    functionLinenumber: 4966
    functionLinenumberEnd: 5006
    functionName: t2p_write_pdf_pages
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_pages(T2P *t2p, TIFF *output)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5020,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5022,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5023,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5024,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5025,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5026,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5027,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5028,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5029,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5030,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5031,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5032,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5033,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5034,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5035,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5036,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5037,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5038,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5039,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5040,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5041,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5042,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5043,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5044,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5045,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5046,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5047,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5048,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5052,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5056,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5057,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5059,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5060,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5062,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5063,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5064,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5065,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5067,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5068,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5071,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5072,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5074,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5077,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5080,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5084,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5086,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5087,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5089,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5090,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5091,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5092,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5095,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5096,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5097,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5098,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5102,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5104,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5105,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5106,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5107,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5108,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5109,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5111,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5115,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5119,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5122,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 3
    argNames:
    - object
    - t2p
    - output
    argTypes:
    - uint32_t
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5129
      start: 5011
    functionDepth: 1
    functionLinenumber: 5011
    functionLinenumberEnd: 5129
    functionName: t2p_write_pdf_page
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_page(uint32_t object, T2P *t2p, TIFF *output)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: t2p_compose_pdf_page_orient
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5229,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5241,1
    - Dst: t2p_compose_pdf_page_orient
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5313,1
    - Dst: t2p_compose_pdf_page_orient_flip
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5352,1
    - Dst: t2p_compose_pdf_page_orient
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5356,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 142
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5361
      start: 5136
    functionDepth: 1
    functionLinenumber: 5136
    functionLinenumberEnd: 5361
    functionName: t2p_compose_pdf_page
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_compose_pdf_page_orient
    - t2p_compose_pdf_page_orient_flip
    - TIFFError
    linkageType: ''
    returnType: void
    signature: void t2p_compose_pdf_page(T2P *t2p)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    argCount: 2
    argNames:
    - boxp
    - orientation
    argTypes:
    - T2P_BOX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5440
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5440
    functionName: t2p_compose_pdf_page_orient
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t2p_compose_pdf_page_orient(T2P_BOX *boxp, uint16_t orientation)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - boxp
    - orientation
    argTypes:
    - T2P_BOX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5502
      start: 5442
    functionDepth: 0
    functionLinenumber: 5442
    functionLinenumberEnd: 5502
    functionName: t2p_compose_pdf_page_orient_flip
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t2p_compose_pdf_page_orient_flip(T2P_BOX *boxp, uint16_t orientation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5522,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5529,1
    - Dst: t2p_write_pdf_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5530,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5536,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5542,1
    - Dst: t2p_write_pdf_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5547
      start: 5508
    functionDepth: 2
    functionLinenumber: 5508
    functionLinenumberEnd: 5547
    functionName: t2p_write_pdf_page_content_stream
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_page_content_stream(T2P *t2p, TIFF *output)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5561,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5562,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5565,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5567,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5568,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5571,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5572,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5573,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5574,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5576,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5579,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5583,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5587,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5592,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5596,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5597,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5598,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5601,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5605,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5609,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5614,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5618,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5619,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5620,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5623,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5624,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5625,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5626,1
    - Dst: t2p_write_pdf_xobject_cs
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5628,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5630,1
    - Dst: t2p_write_pdf_xobject_decode
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5639,1
    - Dst: t2p_write_pdf_xobject_stream_filter
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - tile
    - t2p
    - output
    argTypes:
    - ttile_t
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5644
      start: 5553
    functionDepth: 2
    functionLinenumber: 5553
    functionLinenumberEnd: 5644
    functionName: t2p_write_pdf_xobject_stream_dict
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_tile_is_right_edge
    - snprintf
    - t2p_write_pdf_xobject_stream_filter
    - add_t2pWriteFile_check
    - check_snprintf_ret
    - t2p_write_pdf_stream_dict
    - t2p_write_pdf_xobject_cs
    - t2p_write_pdf_xobject_decode
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile, T2P *t2p, TIFF
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5657
      start: 5647
    functionDepth: 0
    functionLinenumber: 5647
    functionLinenumberEnd: 5657
    functionName: normalizePoint
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: normalizePoint(x, y, z)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_xobject_icccs
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5676,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5681,1
    - Dst: t2p_write_pdf_xobject_cs
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5684,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5686,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5688,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5689,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5690,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5692,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5693,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5694,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5695,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5700,1
    - Dst: t2p_write_pdf_xobject_calcs
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5707,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5711,1
    - Dst: t2p_write_pdf_xobject_calcs
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5719,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5723,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5729,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5734,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5736,1
    - Dst: normalizePoint
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5741,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5742,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5744,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5745,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5746,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5747,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5750,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5751,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5662
    functionDepth: 1
    functionLinenumber: 5662
    functionLinenumberEnd: 5756
    functionName: t2p_write_pdf_xobject_cs
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached:
    - normalizePoint
    - t2p_write_pdf_xobject_icccs
    - snprintf
    - add_t2pWriteFile_check
    - check_snprintf_ret
    - t2p_write_pdf_xobject_cs
    - t2p_write_pdf_xobject_calcs
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_cs(T2P *t2p, TIFF *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5766,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5770,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5772,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5773,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5774,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5778,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5779,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5781,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5782,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5783,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5784,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5786,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5787,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5788,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5789,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5791,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5792,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5793,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5794,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5758
    functionDepth: 1
    functionLinenumber: 5758
    functionLinenumberEnd: 5801
    functionName: t2p_write_pdf_transfer
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_transfer(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5812,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5814,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5816,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5818,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5820,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5821,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5822,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - t2p
    - output
    - i
    argTypes:
    - T2P*
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5828
      start: 5803
    functionDepth: 2
    functionLinenumber: 5803
    functionLinenumberEnd: 5828
    functionName: t2p_write_pdf_transfer_dict
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - t2p_write_pdf_stream_dict
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_transfer_dict(T2P *t2p, TIFF *output, uint16_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t2p
    - output
    - i
    argTypes:
    - T2P*
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 5830
    functionDepth: 2
    functionLinenumber: 5830
    functionLinenumberEnd: 5840
    functionName: t2p_write_pdf_transfer_stream
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_transfer_stream(T2P *t2p, TIFF *output, uint16_t
      i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5879,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5882,1
    - Dst: normalizePoint
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5886,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5890,1
    - Dst: normalizePoint
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5915,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5917,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5920,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5922,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5924,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5925,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5926,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5931,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5933,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5935,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5936,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5937,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5938,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5941,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5942,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5943,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5949
      start: 5846
    functionDepth: 1
    functionLinenumber: 5846
    functionLinenumberEnd: 5949
    functionName: t2p_write_pdf_xobject_calcs
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    - normalizePoint
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_calcs(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5963,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5964,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5965,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5966,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5970
      start: 5955
    functionDepth: 1
    functionLinenumber: 5955
    functionLinenumberEnd: 5970
    functionName: t2p_write_pdf_xobject_icccs
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_icccs(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5980,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5981,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5983,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5984,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5985,1
    - Dst: t2p_write_pdf_xobject_cs
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5987,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:5989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5992
      start: 5972
    functionDepth: 2
    functionLinenumber: 5972
    functionLinenumberEnd: 5992
    functionName: t2p_write_pdf_xobject_icccs_dict
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - add_t2pWriteFile_check
    - check_snprintf_ret
    - t2p_write_pdf_xobject_cs
    - t2p_write_pdf_stream_dict
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_icccs_dict(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 5994
    functionDepth: 2
    functionLinenumber: 5994
    functionLinenumberEnd: 6004
    functionName: t2p_write_pdf_xobject_icccs_stream
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_icccs_stream(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 6011
    functionDepth: 2
    functionLinenumber: 6011
    functionLinenumberEnd: 6020
    functionName: t2p_write_pdf_xobject_palettecs_stream
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_palettecs_stream(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6033,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6036,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6041
      start: 6026
    functionDepth: 1
    functionLinenumber: 6026
    functionLinenumberEnd: 6041
    functionName: t2p_write_pdf_xobject_decode
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_decode(T2P *t2p, TIFF *output)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6061,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6066,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6068,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6070,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6074,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6076,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6078,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6079,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6081,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6083,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6085,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6086,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6091,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6094,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6096,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6099,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6100,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6105,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6107,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6110,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6111,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6114,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6117,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6119,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6122,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6123,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6128,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6130,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6133,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6134,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6140,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6143,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6148,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6153,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6155,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6163,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6167,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6169,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6172,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6174,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6175,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6177,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6179,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6181,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6182,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6184,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6186,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6188,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6189,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6191,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6193,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6195,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6196,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 82
    argCount: 3
    argNames:
    - tile
    - t2p
    - output
    argTypes:
    - ttile_t
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6208
      start: 6048
    functionDepth: 1
    functionLinenumber: 6048
    functionLinenumberEnd: 6208
    functionName: t2p_write_pdf_xobject_stream_filter
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_tile_is_right_edge
    - snprintf
    - add_t2pWriteFile_check
    - check_snprintf_ret
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: tsize_t
    signature: "tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P *t2p,\n
      \                                           TIFF *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6223,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6225,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6226,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6227,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6228,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6232,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6238
      start: 6214
    functionDepth: 1
    functionLinenumber: 6214
    functionLinenumberEnd: 6238
    functionName: t2p_write_pdf_xreftable
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xreftable(T2P *t2p, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6256,1
    - Dst: rand
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6256,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6258,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6261,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6262,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6263,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6264,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6265,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6266,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6267,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6268,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6269,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6270,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6271,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6272,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6273,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6275,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6276,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6278,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6280,1
    - Dst: check_snprintf_ret
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6281,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6282,1
    - Dst: add_t2pWriteFile_check
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6286
      start: 6244
    functionDepth: 1
    functionLinenumber: 6244
    functionLinenumberEnd: 6286
    functionName: t2p_write_pdf_trailer
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - rand
    - add_t2pWriteFile_check
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_trailer(T2P *t2p, TIFF *output)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: t2p_read_tiff_init
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6336,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6341,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6342,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6345,1
    - Dst: t2p_write_pdf_header
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6356,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6358,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6360,1
    - Dst: t2p_write_pdf_catalog
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6361,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6362,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6364,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6366,1
    - Dst: t2p_write_pdf_info
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6367,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6368,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6370,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6372,1
    - Dst: t2p_write_pdf_pages
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6373,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6374,1
    - Dst: t2p_read_tiff_data
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6378,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6384,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6385,1
    - Dst: t2p_write_pdf_page
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6386,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6387,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6389,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6390,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6391,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6392,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6393,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6394,1
    - Dst: t2p_write_pdf_page_content_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6396,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6398,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6399,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6401,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6402,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6403,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6404,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6408,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6409,1
    - Dst: t2p_write_pdf_transfer
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6410,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6411,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6415,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6416,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6417,1
    - Dst: t2p_write_pdf_transfer_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6418,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6419,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6420,1
    - Dst: t2p_write_pdf_transfer_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6422,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6424,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6425,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6431,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6433,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6434,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6436,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6437,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6438,1
    - Dst: t2p_write_pdf_xobject_palettecs_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6440,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6442,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6443,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6448,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6450,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6451,1
    - Dst: t2p_write_pdf_xobject_icccs_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6452,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6453,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6454,1
    - Dst: t2p_write_pdf_xobject_icccs_stream
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6456,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6458,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6459,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6467,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6468,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6469,1
    - Dst: t2p_write_pdf_xobject_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6471,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6472,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6473,1
    - Dst: t2p_read_tiff_size_tile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6475,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6479,1
    - Dst: t2p_readwrite_pdf_image_tile
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6488,1
    - Dst: t2p_write_advance_directory
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6489,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6495,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6496,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6498,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6499,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6500,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6501,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6507,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6508,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6509,1
    - Dst: t2p_write_pdf_xobject_stream_dict
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6510,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6511,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6512,1
    - Dst: t2p_read_tiff_size
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6514,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6518,1
    - Dst: t2p_readwrite_pdf_image
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6527,1
    - Dst: t2p_write_advance_directory
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6528,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6534,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6535,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6537,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6538,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6539,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6540,1
    - Dst: _TIFFCastSSizeToUInt32
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6543,1
    - Dst: t2p_write_pdf_xreftable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6544,1
    - Dst: t2p_write_pdf_trailer
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6545,1
    - Dst: t2p_disable
      Src: /src/PROJ/libtiff/tools/tiff2pdf.c:6546,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 157
    argCount: 3
    argNames:
    - t2p
    - input
    - output
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6549
      start: 6328
    functionDepth: 3
    functionLinenumber: 6328
    functionLinenumberEnd: 6549
    functionName: t2p_write_pdf
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_write_pdf_xobject_palettecs_stream
    - t2p_write_pdf_catalog
    - TIFFSafeMultiply
    - t2p_read_tiff_size
    - t2p_read_tiff_init
    - t2p_write_pdf_xobject_stream_dict
    - t2p_write_advance_directory
    - t2p_write_pdf_stream_length
    - TIFFError
    - t2p_read_tiff_size_tile
    - _TIFFCastSSizeToUInt32
    - t2p_write_pdf_obj_start
    - t2p_write_pdf_stream_end
    - t2p_write_pdf_info
    - t2p_write_pdf_transfer_stream
    - t2p_write_pdf_transfer
    - t2p_readwrite_pdf_image_tile
    - t2p_write_pdf_page
    - t2p_read_tiff_data
    - t2p_write_pdf_stream_dict_start
    - t2p_write_pdf_xreftable
    - t2p_write_pdf_stream_dict
    - t2p_write_pdf_page_content_stream
    - t2p_write_pdf_stream_start
    - t2p_write_pdf_xobject_icccs_stream
    - t2p_write_pdf_pages
    - t2p_readwrite_pdf_image
    - t2p_write_pdf_obj_end
    - t2p_write_pdf_xobject_icccs_dict
    - t2p_disable
    - _TIFFmalloc
    - t2p_write_pdf_header
    - t2p_write_pdf_trailer
    - t2p_write_pdf_stream_dict_end
    - t2p_write_pdf_transfer_dict
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf(T2P *t2p, TIFF *input, TIFF *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: PCT
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - rgb
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: compresscontig
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compresscontig(unsigned char *out, unsigned char *rgb, uint32_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - out
    - r
    - g
    - b
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: compresssep
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void compresssep(unsigned char *out, unsigned char *r, unsigned char
      *g,\n                        unsigned char *b, uint32_t n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:85,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - n
    - r
    - g
    - b
    argTypes:
    - TIFF*
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: checkcmap
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 3
    functionsReached:
    - TIFFFileName
    - TIFFWarning
    linkageType: ''
    returnType: int
    signature: int checkcmap(TIFF *tif, int n, uint16_t *r, uint16_t *g, uint16_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - out
    - data
    - n
    - rmap
    - gmap
    - bmap
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32_t
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: compresspalette
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void compresspalette(unsigned char *out, unsigned char *data, uint32_t
      n,\n                            uint16_t *rmap, uint16_t *gmap, uint16_t *bmap)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:139,1
    - Dst: processCompressOptions
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:143,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:144,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:147,1
    - Dst: PCT
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:150,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:150,1
    - Dst: PCT
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:153,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:153,1
    - Dst: PCT
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:156,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:156,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:159,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:163,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:168,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:169,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:173,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:176,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:182,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:185,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:191,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:195,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:198,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:202,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:203,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:204,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:206,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:211,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:212,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:213,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:214,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:215,1
    - Dst: cpTags
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:216,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:219,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:223,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:224,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:230,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:234,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:235,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:236,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:237,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:238,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:238,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:241,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:244,1
    - Dst: TIFFDefaultStripSize
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:245,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:248,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:250,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:251,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:252,1
    - Dst: checkcmap
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:257,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:263,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:264,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:265,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:269,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:269,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:272,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:277,1
    - Dst: compresspalette
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:279,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:280,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:284,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:285,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:285,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:288,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:293,1
    - Dst: compresscontig
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:295,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:296,1
    - Dst: pack
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:300,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:303,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:304,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:305,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:308,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:314,1
    - Dst: compresssep
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:316,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:318,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:326,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:328,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:329,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:330,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:335,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:337,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:339,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:341,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 178
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 343
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 5
    functionsReached:
    - getopt
    - TIFFSafeMultiply
    - PCT
    - snprintf
    - cpTags
    - TIFFGetField
    - TIFFOpen
    - compresssep
    - TIFFClose
    - TIFFDefaultStripSize
    - compresscontig
    - _TIFFfree
    - checkcmap
    - processCompressOptions
    - TIFFReadScanline
    - fprintf
    - compresspalette
    - CVT
    - usage
    - atoi
    - pack
    - TIFFWriteScanline
    - TIFFScanlineSize
    - TIFFSetField
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: pack
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pack(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:347,1
    - Dst: streq
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:349,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:351,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:353,1
    - Dst: isdigit
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:358,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:359,1
    - Dst: usage
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:363,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:365,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:368,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:370,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:372,1
    - Dst: strneq
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:375,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:377,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 385
    functionName: processCompressOptions
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 12
    functionsReached:
    - strneq
    - strchr
    - isdigit
    - usage
    - streq
    - atoi
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: CopyField
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: CopyField2
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: CopyField3
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: CopyField4
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:409,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:414,1
    - Dst: CopyField4
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:419,1
    - Dst: CopyField2
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:425,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:431,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:438,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:443,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:449,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:456,1
    - Dst: CopyField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:461,1
    - Dst: TIFFError
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:465,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:465,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16_t
    - uint16_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 469
    functionName: cpTag
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 3
    functionsReached:
    - CopyField2
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField
    linkageType: ''
    returnType: void
    signature: "void cpTag(TIFF *in, TIFF *out, uint16_t tag, uint16_t count,\n                  TIFFDataType
      type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:526,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:533,1
    - Dst: cpTag
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 539
    functionName: cpTags
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 3
    functionsReached:
    - TIFFGetField
    - cpTag
    linkageType: ''
    returnType: void
    signature: void cpTags(TIFF *in, TIFF *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:581,1
    - Dst: TIFFGetVersion
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:581,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:582,1
    - Dst: exit
      Src: /src/PROJ/libtiff/tools/tiff2bw.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/tools/tiff2bw.c
    functionUses: 45
    functionsReached:
    - exit
    - TIFFGetVersion
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/port/getopt.c:81,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/port/getopt.c:90,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/port/getopt.c:95,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/port/getopt.c:122,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 130
    functionName: getopt
    functionSourceFile: /src/PROJ/libtiff/port/getopt.c
    functionUses: 26
    functionsReached:
    - strchr
    - fprintf
    linkageType: ''
    returnType: int
    signature: int getopt(int argc, char *const argv[], const char *optstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 5
    functionName: libport_dummy_function
    functionSourceFile: /src/PROJ/libtiff/port/dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libport_dummy_function()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: TIFFHashSetHashPointer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long TIFFHashSetHashPointer(const void *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: TIFFHashSetEqualPointer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TIFFHashSetEqualPointer(const void *elt1, const void *elt2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:142,1
    - Dst: calloc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:149,1
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - fnHashFunc
    - fnEqualFunc
    - fnFreeEltFunc
    argTypes:
    - TIFFHashSetHashFunc
    - TIFFHashSetEqualFunc
    - TIFFHashSetFreeEltFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: TIFFHashSetNew
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - calloc
    linkageType: ''
    returnType: TIFFHashSet
    signature: "TIFFHashSet *TIFFHashSetNew(TIFFHashSetHashFunc fnHashFunc,\n                            TIFFHashSetEqualFunc
      fnEqualFunc,\n                            TIFFHashSetFreeEltFunc fnFreeEltFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - TIFFHashSet*
    assertStmts:
    - condition: (set != NULL)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: TIFFHashSetSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFHashSetSize(const TIFFHashSet *set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - set
    argTypes:
    - TIFFHashSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: TIFFHashSetGetNewListElt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: TIFFList
    signature: TIFFList *TIFFHashSetGetNewListElt(TIFFHashSet *set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - set
    - psList
    argTypes:
    - TIFFHashSet*
    - TIFFList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: TIFFHashSetReturnListElt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void TIFFHashSetReturnListElt(TIFFHashSet *set, TIFFList *psList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:228,1
    - Dst: TIFFHashSet*::fnFreeEltFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:235,1
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:238,1
    - Dst: TIFFHashSetReturnListElt
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - set
    - bFinalize
    argTypes:
    - TIFFHashSet*
    - bool
    assertStmts:
    - condition: (set != NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: TIFFHashSetClearInternal
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - free
    - TIFFHashSetReturnListElt
    - TIFFHashSet*::fnFreeEltFunc
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFHashSetClearInternal(TIFFHashSet *set, bool bFinalize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - psList
    argTypes:
    - TIFFList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: TIFFListDestroy
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void TIFFListDestroy(TIFFList *psList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetClearInternal
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:289,1
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:290,1
    - Dst: TIFFListDestroy
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:291,1
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - set
    argTypes:
    - TIFFHashSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: TIFFHashSetDestroy
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - free
    - TIFFHashSetClearInternal
    - TIFFListDestroy
    linkageType: ''
    returnType: void
    signature: void TIFFHashSetDestroy(TIFFHashSet *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetClearInternal
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - set
    argTypes:
    - TIFFHashSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: TIFFHashSetClear
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetClearInternal
    linkageType: ''
    returnType: void
    signature: void TIFFHashSetClear(TIFFHashSet *set)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:344,1
    - Dst: fnIterFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - set
    - fnIterFunc
    - user_data
    argTypes:
    - TIFFHashSet*
    - TIFFHashSetIterEltFunc
    - void*
    assertStmts:
    - condition: (set != NULL)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: TIFFHashSetForeach
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - fnIterFunc
    - assert
    linkageType: ''
    returnType: void
    signature: "void TIFFHashSetForeach(TIFFHashSet *set, TIFFHashSetIterEltFunc fnIterFunc,\n
      \                       void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:370,1
    - Dst: TIFFDebug
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:374,1
    - Dst: TIFFHashSet*::fnHashFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:387,1
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - set
    argTypes:
    - TIFFHashSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: TIFFHashSetRehash
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - TIFFDebug
    - TIFFHashSet*::fnHashFunc
    linkageType: ''
    returnType: bool
    signature: bool TIFFHashSetRehash(TIFFHashSet *set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnHashFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:411,1
    - Dst: fnEqualFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 420
    functionName: TIFFHashSetFindPtr
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - fnHashFunc
    - fnEqualFunc
    linkageType: ''
    returnType: void
    signature: void **TIFFHashSetFindPtr(TIFFHashSet *set, const void *elt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:442,1
    - Dst: TIFFHashSetFindPtr
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:443,1
    - Dst: TIFFHashSet*::fnFreeEltFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:447,1
    - Dst: TIFFHashSetRehash
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:458,1
    - Dst: TIFFHashSet*::fnFreeEltFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:462,1
    - Dst: TIFFHashSet*::fnHashFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:467,1
    - Dst: TIFFHashSetGetNewListElt
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:473,1
    - Dst: TIFFHashSet*::fnFreeEltFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:477,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - TIFFHashSet*
    - void*
    assertStmts:
    - condition: (set != NULL)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    constantsTouched: []
    func_position:
      end: 486
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 486
    functionName: TIFFHashSetInsert
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetFindPtr
    - assert
    - TIFFHashSetRehash
    - TIFFHashSetGetNewListElt
    - TIFFHashSet*::fnFreeEltFunc
    - TIFFHashSet*::fnHashFunc
    linkageType: ''
    returnType: bool
    signature: bool TIFFHashSetInsert(TIFFHashSet *set, void *elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:504,1
    - Dst: TIFFHashSetFindPtr
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - TIFFHashSet*
    - void*
    assertStmts:
    - condition: (set != NULL)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: TIFFHashSetLookup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetFindPtr
    - assert
    linkageType: ''
    returnType: void
    signature: void *TIFFHashSetLookup(TIFFHashSet *set, const void *elt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:519,1
    - Dst: TIFFHashSetRehash
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:527,1
    - Dst: TIFFHashSet*::fnHashFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:535,1
    - Dst: TIFFHashSet*::fnEqualFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:540,1
    - Dst: TIFFHashSet*::fnFreeEltFunc
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:548,1
    - Dst: TIFFHashSetReturnListElt
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - set
    - elt
    - bDeferRehash
    argTypes:
    - TIFFHashSet*
    - void*
    - bool
    assertStmts:
    - condition: (set != NULL)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    constantsTouched: []
    func_position:
      end: 562
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 562
    functionName: TIFFHashSetRemoveInternal
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetReturnListElt
    - assert
    - TIFFHashSetRehash
    - TIFFHashSet*::fnEqualFunc
    - TIFFHashSet*::fnFreeEltFunc
    - TIFFHashSet*::fnHashFunc
    linkageType: ''
    returnType: bool
    signature: "bool TIFFHashSetRemoveInternal(TIFFHashSet *set, const void *elt,\n
      \                                     bool bDeferRehash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetRemoveInternal
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - TIFFHashSet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: TIFFHashSetRemove
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetRemoveInternal
    linkageType: ''
    returnType: bool
    signature: bool TIFFHashSetRemove(TIFFHashSet *set, const void *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetRemoveInternal
      Src: /src/PROJ/libtiff/libtiff/tif_hash_set.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - TIFFHashSet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: TIFFHashSetRemoveDeferRehash
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetRemoveInternal
    linkageType: ''
    returnType: bool
    signature: bool TIFFHashSetRemoveDeferRehash(TIFFHashSet *set, const void *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: EndOfData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EndOfData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: NeedBits8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NeedBits8(n, eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: NeedBits16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NeedBits16(n, eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: GetBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetBits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: ClrBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ClrBits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: LOOKUP8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP8(wid, tab, eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: LOOKUP16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP16(wid, tab, eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: SETVALUE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETVALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: LOOKUP8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP8(wid, tab, eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: LOOKUP16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP16(wid, tab, eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 280
    functionName: SETVALUE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETVALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - eoflab
    - ','
    - retrywithouteol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: SYNC_EOL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYNC_EOL(eoflab, retrywithouteol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 357
    functionName: CLEANUP_RUNS
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_RUNS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 433
    functionName: EXPAND1D
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND1D(eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 497
    functionName: EXPAND2D
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND2D(eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: TIFFSetWarningHandler
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_warning.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandler
    signature: TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandlerExt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: TIFFSetWarningHandlerExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_warning.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandlerExt
    signature: TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:51,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:53,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:57,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - module
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: TIFFWarning
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_warning.c
    functionUses: 8
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TIFFWarning(const char *module, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:68,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:70,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:74,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - module
    - fmt
    argTypes:
    - thandle_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: TIFFWarningExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_warning.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TIFFWarningExt(thandle_t fd, const char *module, const char *fmt,
      ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:85,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:88,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:94,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:96,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:100,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_warning.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - module
    - fmt
    argTypes:
    - TIFF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: TIFFWarningExtR
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_warning.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TIFFWarningExtR(TIFF *tif, const char *module, const char *fmt,
      ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:69,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:72,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:100,1
    - Dst: TIFFroundup_64
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:101,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:105,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:108,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:112,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:115,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:128,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:133,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:137,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - tif
    - size
    - rawdata_offset
    - is_strip
    - strip_or_tile
    - module
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    - int
    - uint32_t
    - char*
    assertStmts:
    - condition: ((tif->tif_flags & TIFF_MYBUFFER) != 0)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 157
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 157
    functionName: TIFFReadAndRealloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - _TIFFreallocExt
    - assert
    - TIFFErrorExtR
    - TIFFReadFile
    - TIFFGetFileSize
    - memset
    - TIFFroundup_64
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFReadAndRealloc(TIFF *tif, tmsize_t size, tmsize_t rawdata_offset,\n
      \                             int is_strip, uint32_t strip_or_tile,\n                              const
      char *module)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:186,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:191,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:216,1
    - Dst: memmove
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:217,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:223,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:226,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:228,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:241,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:244,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:248,1
    - Dst: TIFFReadAndRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:249,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:263,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:266,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:267,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:284,1
    - Dst: TIFFJPEGIsFullStripRequired
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:286,1
    - Dst: TIFFFillStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:288,1
    - Dst: TIFFStartStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:293,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - tif
    - strip
    - read_ahead
    - restart
    argTypes:
    - TIFF*
    - int
    - tmsize_t
    - int
    assertStmts:
    - condition: (restart)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags & TIFF_BUFFERMMAP) == 0)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags & TIFF_BUFFERMMAP) == 0)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags & TIFF_BUFFERMMAP) == 0)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 299
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 299
    functionName: TIFFFillStripPartial
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - isFillOrder
    - TIFFJPEGIsFullStripRequired
    - TIFFFillStrip
    - TIFFStartStrip
    - TIFFReverseBits
    - TIFFGetStrileByteCount
    - memmove
    - TIFFErrorExtR
    - assert
    - TIFFReadAndRealloc
    - SeekOK
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: int
    signature: "int TIFFFillStripPartial(TIFF *tif, int strip, tmsize_t read_ahead,\n
      \                               int restart)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:321,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:330,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:346,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:346,1
    - Dst: TIFFFillStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:385,1
    - Dst: if
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:391,1
    - Dst: TIFFFillStripPartial
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:391,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:407,1
    - Dst: TIFFFillStripPartial
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:409,1
    - Dst: TIFFFillStripPartial
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:428,1
    - Dst: TIFFStartStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:433,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - tif
    - row
    - sample
    argTypes:
    - TIFF*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 452
    functionName: TIFFSeek
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - if
    - TIFFFillStrip
    - TIFFStartStrip
    - TIFFGetStrileByteCount
    - TIFFErrorExtR
    - isMapped
    - TIFFFillStripPartial
    linkageType: ''
    returnType: int
    signature: int TIFFSeek(TIFF *tif, uint32_t row, uint16_t sample)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:458,1
    - Dst: TIFFSeek
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:460,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - tif
    - buf
    - row
    - sample
    argTypes:
    - TIFF*
    - void*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: TIFFReadScanline
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 18
    functionsReached:
    - TIFFSeek
    - TIFFCheckRead
    - memset
    linkageType: ''
    returnType: int
    signature: int TIFFReadScanline(TIFF *tif, void *buf, uint32_t row, uint16_t sample)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:498,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:502,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:513,1
    - Dst: TIFFhowmany_32_maxuint_compat
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:517,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - tif
    - strip
    - pplane
    argTypes:
    - TIFF*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 528
    functionName: TIFFReadEncodedStripGetStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFCheckRead
    - TIFFhowmany_32_maxuint_compat
    - TIFFVStripSize
    - TIFFErrorExtR
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadEncodedStripGetStripSize(TIFF *tif, uint32_t strip,\n
      \                                                uint16_t *pplane)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadEncodedStripGetStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:542,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:548,1
    - Dst: TIFFReadRawStrip1
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:551,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:554,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:556,1
    - Dst: TIFFFillStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:564,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:569,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - tif
    - strip
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 576
    functionName: TIFFReadEncodedStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 15
    functionsReached:
    - isFillOrder
    - TIFFFillStrip
    - TIFFReverseBits
    - memset
    - TIFFReadEncodedStripGetStripSize
    - isMapped
    - TIFFReadRawStrip1
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadEncodedStrip(TIFF *tif, uint32_t strip, void *buf,\n
      \                             tmsize_t size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:594,1
    - Dst: TIFFReadEncodedStripGetStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:597,1
    - Dst: TIFFFillStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:603,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:606,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:609,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:609,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - tif
    - strip
    - buf
    - bufsizetoalloc
    - size_to_read
    argTypes:
    - TIFF*
    - uint32_t
    - void**
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: _TIFFReadEncodedStripAndAllocBuffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFFillStrip
    - TIFFErrorExtR
    - TIFFReadEncodedStrip
    - TIFFReadEncodedStripGetStripSize
    - TIFFFileName
    - _TIFFmallocExt
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFReadEncodedStripAndAllocBuffer(TIFF *tif, uint32_t strip,\n
      \                                            void **buf,\n                                             tmsize_t
      bufsizetoalloc,\n                                             tmsize_t size_to_read)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:623,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:624,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:628,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:628,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:630,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:635,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:638,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:650,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:651,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:669,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - tif
    - strip
    - buf
    - size
    - module
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    - char*
    assertStmts:
    - condition: ((tif->tif_flags & TIFF_NOREADRAW) == 0)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 679
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 679
    functionName: TIFFReadRawStrip1
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    - assert
    - TIFFReadFile
    - isMapped
    - SeekOK
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadRawStrip1(TIFF *tif, uint32_t strip, void *buf,\n
      \                                 tmsize_t size, const char *module)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:685,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:685,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:686,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:688,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:688,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:692,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:698,1
    - Dst: TIFFReadAndRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - strip_or_tile
    - is_strip
    - size
    - module
    argTypes:
    - TIFF*
    - uint32_t
    - int
    - tmsize_t
    - char*
    assertStmts:
    - condition: (!isMapped(tif))
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags & TIFF_NOREADRAW) == 0)
      pos:
        line_end: 685
        line_start: 685
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 712
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 712
    functionName: TIFFReadRawStripOrTile2
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    - assert
    - isMapped
    - TIFFReadAndRealloc
    - SeekOK
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadRawStripOrTile2(TIFF *tif, uint32_t strip_or_tile,\n
      \                                       int is_strip, tmsize_t size,\n                                        const
      char *module)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:724,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:728,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:735,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:740,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:744,1
    - Dst: TIFFReadRawStrip1
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - tif
    - strip
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 750
    functionName: TIFFReadRawStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 6
    functionsReached:
    - TIFFGetStrileByteCount
    - TIFFErrorExtR
    - TIFFReadRawStrip1
    - TIFFCheckRead
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadRawStrip(TIFF *tif, uint32_t strip, void *buf, tmsize_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 753
    functionName: NoSanitizeSubUInt64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW NoSanitizeSubUInt64(uint64_t
      a, uint64_t b)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:766,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:769,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:783,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:787,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:795,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:807,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:815,1
    - Dst: NoSanitizeSubUInt64
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:821,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:822,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:829,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:829,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:845,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:852,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:876,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:884,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:898,1
    - Dst: TIFFReadBufferSetup
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:901,1
    - Dst: TIFFReadRawStrip1
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:905,1
    - Dst: TIFFReadRawStripOrTile2
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:913,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:923,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:925,1
    - Dst: TIFFStartStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:928,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 929
    functionName: TIFFFillStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 4
    functionsReached:
    - NoSanitizeSubUInt64
    - isFillOrder
    - TIFFStripSize
    - TIFFStartStrip
    - TIFFReadBufferSetup
    - TIFFGetStrileByteCount
    - TIFFReverseBits
    - TIFFErrorExtR
    - isMapped
    - TIFFReadRawStripOrTile2
    - TIFFReadRawStrip1
    - _TIFFfreeExt
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: int
    signature: int TIFFFillStrip(TIFF *tif, uint32_t strip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:943,1
    - Dst: TIFFCheckTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:943,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:945,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - tif
    - buf
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - void*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 947
    functionName: TIFFReadTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 6
    functionsReached:
    - TIFFReadEncodedTile
    - TIFFCheckRead
    - TIFFCheckTile
    - TIFFComputeTile
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadTile(TIFF *tif, void *buf, uint32_t x, uint32_t y,
      uint32_t z,\n                      uint16_t s)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:959,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:963,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:971,1
    - Dst: TIFFReadRawTile1
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:974,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:977,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:979,1
    - Dst: TIFFFillTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:989,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:993,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - tif
    - tile
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 1004
    functionName: TIFFReadEncodedTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 9
    functionsReached:
    - isFillOrder
    - TIFFReverseBits
    - TIFFErrorExtR
    - TIFFReadRawTile1
    - memset
    - isMapped
    - TIFFCheckRead
    - TIFFFillTile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadEncodedTile(TIFF *tif, uint32_t tile, void *buf, tmsize_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1016,1
    - Dst: TIFFCheckTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1016,1
    - Dst: _TIFFReadEncodedTileAndAllocBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1018,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - tif
    - buf
    - bufsizetoalloc
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - void**
    - tmsize_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1021
    functionName: _TIFFReadTileAndAllocBuffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFCheckRead
    - _TIFFReadEncodedTileAndAllocBuffer
    - TIFFCheckTile
    - TIFFComputeTile
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFReadTileAndAllocBuffer(TIFF *tif, void **buf,\n                                     tmsize_t
      bufsizetoalloc, uint32_t x,\n                                     uint32_t y,
      uint32_t z, uint16_t s)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1039,1
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1042,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1046,1
    - Dst: TIFFFillTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1052,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1061,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1061,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1087,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1087,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1097,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1100,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1100,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - tif
    - tile
    - buf
    - bufsizetoalloc
    - size_to_read
    argTypes:
    - TIFF*
    - uint32_t
    - void**
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1117
    functionName: _TIFFReadEncodedTileAndAllocBuffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - TIFFErrorExtR
    - TIFFFileName
    - TIFFCheckRead
    - _TIFFmallocExt
    - TIFFFillTile
    - TIFFReadEncodedTile
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFReadEncodedTileAndAllocBuffer(TIFF *tif, uint32_t tile,\n
      \                                           void **buf, tmsize_t bufsizetoalloc,\n
      \                                           tmsize_t size_to_read)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1122,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1123,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1127,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1127,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1129,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1135,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1138,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1150,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1152,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1161,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - tif
    - tile
    - buf
    - size
    - module
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    - char*
    assertStmts:
    - condition: ((tif->tif_flags & TIFF_NOREADRAW) == 0)
      pos:
        line_end: 1121
        line_start: 1121
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1171
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1171
    functionName: TIFFReadRawTile1
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    - assert
    - TIFFReadFile
    - isMapped
    - SeekOK
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadRawTile1(TIFF *tif, uint32_t tile, void *buf,\n                                 tmsize_t
      size, const char *module)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1183,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1187,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1194,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1199,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1203,1
    - Dst: TIFFReadRawTile1
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - tif
    - tile
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1209
    functionName: TIFFReadRawTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 5
    functionsReached:
    - TIFFGetStrileByteCount
    - TIFFErrorExtR
    - TIFFReadRawTile1
    - TIFFCheckRead
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadRawTile(TIFF *tif, uint32_t tile, void *buf, tmsize_t
      size)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1222,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1225,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1238,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1242,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1250,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1262,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1270,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1270,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1286,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1294,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1310,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1318,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1332,1
    - Dst: TIFFReadBufferSetup
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1335,1
    - Dst: TIFFReadRawTile1
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1339,1
    - Dst: TIFFReadRawStripOrTile2
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1347,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1358,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1360,1
    - Dst: TIFFStartTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1363,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 2
    argNames:
    - tif
    - tile
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1215
    functionDepth: 3
    functionLinenumber: 1215
    functionLinenumberEnd: 1364
    functionName: TIFFFillTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 2
    functionsReached:
    - TIFFTileSize
    - isFillOrder
    - TIFFReadBufferSetup
    - TIFFGetStrileByteCount
    - TIFFReverseBits
    - TIFFErrorExtR
    - TIFFReadRawTile1
    - isMapped
    - TIFFStartTile
    - TIFFReadRawStripOrTile2
    - _TIFFfreeExt
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: int
    signature: int TIFFFillTile(TIFF *tif, uint32_t tile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1379,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1385,1
    - Dst: TIFFroundup_64
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1397,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1400,1
    - Dst: _TIFFcallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1406,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - tif
    - bp
    - size
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    assertStmts:
    - condition: ((tif->tif_flags & TIFF_NOREADRAW) == 0)
      pos:
        line_end: 1378
        line_start: 1378
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1418
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1418
    functionName: TIFFReadBufferSetup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 2
    functionsReached:
    - TIFFErrorExtR
    - _TIFFcallocExt
    - assert
    - TIFFroundup_64
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFReadBufferSetup(TIFF *tif, void *bp, tmsize_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1463
    functionName: TIFFStartStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 3
    functionsReached:
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: int
    signature: int TIFFStartStrip(TIFF *tif, uint32_t strip)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1484,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1487,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1490,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1494,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1497,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - tif
    - tile
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1517
    functionName: TIFFStartTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - TIFFhowmany_32
    - TIFFGetStrileByteCount
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFStartTile(TIFF *tif, uint32_t tile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1523,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1526,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - tiles
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1534
    functionName: TIFFCheckRead
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 8
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFCheckRead(TIFF *tif, int tiles)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1557,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1562,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1575,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1578,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1581,1
    - Dst: TIFFStartTile
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1583,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1588,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1605,1
    - Dst: TIFFhowmany_32_maxuint_compat
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1611,1
    - Dst: TIFFStartStrip
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1612,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1617,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1632,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1635,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 6
    argNames:
    - tif
    - strile
    - inbuf
    - insize
    - outbuf
    - outsize
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1646
    functionName: TIFFReadFromUserBuffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - isFillOrder
    - TIFFIsTiled
    - TIFFStartStrip
    - TIFFReverseBits
    - TIFFErrorExtR
    - memset
    - TIFFhowmany_32_maxuint_compat
    - TIFFStartTile
    linkageType: ''
    returnType: int
    signature: "int TIFFReadFromUserBuffer(TIFF *tif, uint32_t strile, void *inbuf,\n
      \                          tmsize_t insize, void *outbuf, tmsize_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1653
    functionName: _TIFFNoPostDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TIFFNoPostDecode(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1658,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: ((cc & 1) == 0)
      pos:
        line_end: 1657
        line_start: 1657
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1660
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1660
    functionName: _TIFFSwab16BitData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab16BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1665,1
    - Dst: TIFFSwabArrayOfTriples
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: ((cc % 3) == 0)
      pos:
        line_end: 1664
        line_start: 1664
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1667
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1667
    functionName: _TIFFSwab24BitData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfTriples
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab24BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1672,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: ((cc & 3) == 0)
      pos:
        line_end: 1671
        line_start: 1671
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1674
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1674
    functionName: _TIFFSwab32BitData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfLong
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab32BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1679,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/PROJ/libtiff/libtiff/tif_read.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: ((cc & 7) == 0)
      pos:
        line_end: 1678
        line_start: 1678
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1681
      start: 1676
    functionDepth: 1
    functionLinenumber: 1676
    functionLinenumberEnd: 1681
    functionName: _TIFFSwab64BitData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfDouble
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab64BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: REPEAT
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT(n, op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:179,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinearF
    argTypes:
    - uint16_t*
    - int
    - int
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 189
    functionName: horizontalAccumulateF
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulateF(uint16_t *wp, int n, int stride, float
      *op,\n                                  float *ToLinearF)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:208,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:209,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:210,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:220,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:221,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:222,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:231,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:232,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:233,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:234,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:245,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:246,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:247,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:248,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:253,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:254,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:258,1
    - Dst: CLAMP12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinearF
    argTypes:
    - uint16_t*
    - int
    - int
    - int16_t*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 265
    functionName: horizontalAccumulate12
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP12
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate12(uint16_t *wp, int n, int stride, int16_t
      *op,\n                                   float *ToLinearF)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: CLAMP12
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP12(t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:311,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinear16
    argTypes:
    - uint16_t*
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 321
    functionName: horizontalAccumulate16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate16(uint16_t *wp, int n, int stride,\n                                   uint16_t
      *op, uint16_t *ToLinear16)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:378,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 4
    argNames:
    - wp
    - n
    - stride
    - op
    argTypes:
    - uint16_t*
    - int
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 387
    functionName: horizontalAccumulate11
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate11(uint16_t *wp, int n, int stride,\n                                   uint16_t
      *op)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:433,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinear8
    argTypes:
    - uint16_t*
    - int
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 443
    functionName: horizontalAccumulate8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate8(uint16_t *wp, int n, int stride,\n                                  unsigned
      char *op, unsigned char *ToLinear8)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:507,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinear8
    argTypes:
    - uint16_t*
    - int
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 517
    functionName: horizontalAccumulate8abgr
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate8abgr(uint16_t *wp, int n, int stride,\n
      \                                     unsigned char *op,\n                                      unsigned
      char *ToLinear8)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:571,1
    - Dst: exp
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:574,1
    - Dst: exp
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:575,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:580,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:581,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:582,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:583,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:584,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:586,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:591,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:593,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:595,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:597,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:599,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:601,1
    - Dst: exp
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:620,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - tif
    - sp
    argTypes:
    - TIFF*
    - PixarLogState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 671
    functionName: PixarLogMakeTables
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - log
    - _TIFFmallocExt
    - _TIFFfreeExt
    - exp
    linkageType: ''
    returnType: int
    signature: int PixarLogMakeTables(TIFF *tif, PixarLogState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: PixarLogDecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PixarLogDecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: PixarLogEncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PixarLogEncoderState(tif)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 714
    functionName: PixarLogGuessDataFmt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PixarLogGuessDataFmt(TIFFDirectory *td)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiplySSize
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: multiply_ms
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 1
    functionsReached:
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t multiply_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts:
    - condition: (m1 >= 0 && m2 >= 0)
      pos:
        line_end: 722
        line_start: 722
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 731
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 731
    functionName: add_ms
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t add_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: PixarLogFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PixarLogFixupTags(TIFF *tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:743,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:747,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:768,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:769,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:769,1
    - Dst: add_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:772,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:776,1
    - Dst: PixarLogGuessDataFmt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:781,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:784,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:787,1
    - Dst: inflateInit
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:794,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:796,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 746
        line_start: 746
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 808
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 808
    functionName: PixarLogSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - inflateInit
    - assert
    - TIFFErrorExtR
    - _TIFFfreeExt
    - PixarLogGuessDataFmt
    - _TIFFmallocExt
    - multiply_ms
    - add_ms
    - PixarLogDecoderState
    linkageType: ''
    returnType: int
    signature: int PixarLogSetupDecode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:816,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:819,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:821,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:828,1
    - Dst: inflateReset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sizeof(sp->stream.avail_in) == 4)
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    - condition: (sp != NULL)
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 832
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 832
    functionName: PixarLogPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - assert
    - TIFFErrorExtR
    - inflateReset
    - PixarLogDecoderState
    linkageType: ''
    returnType: int
    signature: int PixarLogPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:838,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:859,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:862,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:869,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:875,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:882,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:883,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:889,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:890,1
    - Dst: inflate
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:895,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:902,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:905,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:910,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:912,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:920,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:924,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:934,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:943,1
    - Dst: horizontalAccumulateF
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:955,1
    - Dst: horizontalAccumulate16
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:960,1
    - Dst: horizontalAccumulate12
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:965,1
    - Dst: horizontalAccumulate11
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:970,1
    - Dst: horizontalAccumulate8
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:974,1
    - Dst: horizontalAccumulate8abgr
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:979,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:984,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:986,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 99
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sizeof(sp->stream.avail_out) == 4)
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    - condition: (sp != NULL)
      pos:
        line_end: 868
        line_start: 868
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 992
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 992
    functionName: PixarLogDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - horizontalAccumulateF
    - horizontalAccumulate8
    - TIFFWarningExtR
    - horizontalAccumulate8abgr
    - TIFFErrorExtR
    - inflate
    - memset
    - assert
    - TIFFSwabArrayOfShort
    - horizontalAccumulate16
    - horizontalAccumulate11
    - horizontalAccumulate12
    - PixarLogDecoderState
    linkageType: ''
    returnType: int
    signature: int PixarLogDecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:998,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1001,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1009,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1009,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1009,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1015,1
    - Dst: PixarLogGuessDataFmt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1019,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1022,1
    - Dst: deflateInit
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1029,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1040
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1040
    functionName: PixarLogSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - assert
    - TIFFErrorExtR
    - deflateInit
    - PixarLogEncoderState
    - PixarLogGuessDataFmt
    - _TIFFmallocExt
    - multiply_ms
    linkageType: ''
    returnType: int
    signature: int PixarLogSetupEncode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1048,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1051,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1053,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1060,1
    - Dst: deflateReset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sizeof(sp->stream.avail_out) == 4)
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    - condition: (sp != NULL)
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1064
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1064
    functionName: PixarLogPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - deflateReset
    - PixarLogEncoderState
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int PixarLogPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1083,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1084,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1085,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1092,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1095,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1098,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1105,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1106,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1107,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1108,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1115,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1118,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1121,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1124,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1131,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1131,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1135,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1136,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 5
    argNames:
    - ip
    - n
    - stride
    - wp
    - FromLT2
    argTypes:
    - float*
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1144
    functionName: horizontalDifferenceF
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void horizontalDifferenceF(float *ip, int n, int stride, uint16_t
      *wp,\n                                  uint16_t *FromLT2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1077
    functionName: CLAMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1160,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1161,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1162,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1169,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1172,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1175,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1182,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1183,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1184,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1185,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1192,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1195,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1198,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1201,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1208,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1208,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1212,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1213,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 5
    argNames:
    - ip
    - n
    - stride
    - wp
    - From14
    argTypes:
    - unsigned short*
    - int
    - int
    - unsigned short*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1220
    functionName: horizontalDifference16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void horizontalDifference16(unsigned short *ip, int n, int stride,\n
      \                                  unsigned short *wp, uint16_t *From14)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1154
    functionName: CLAMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1235,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1236,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1237,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1242,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1245,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1248,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1257,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1258,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1259,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1260,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1265,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1268,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1271,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1274,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1283,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1283,1
    - Dst: REPEAT
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1287,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1288,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 5
    argNames:
    - ip
    - n
    - stride
    - wp
    - From8
    argTypes:
    - unsigned char*
    - int
    - int
    - unsigned short*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1295
    functionName: horizontalDifference8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void horizontalDifference8(unsigned char *ip, int n, int stride,\n
      \                                 unsigned short *wp, uint16_t *From8)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1229
    functionName: CLAMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1304,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1327,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1337,1
    - Dst: horizontalDifferenceF
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1346,1
    - Dst: horizontalDifference16
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1351,1
    - Dst: horizontalDifference8
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1356,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1361,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1369,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1376,1
    - Dst: deflate
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1382,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1384,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1391,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sizeof(sp->stream.avail_in) == 4)
      pos:
        line_end: 1368
        line_start: 1368
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1401
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1401
    functionName: PixarLogEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - deflate
    - horizontalDifference8
    - horizontalDifferenceF
    - horizontalDifference16
    - TIFFErrorExtR
    - assert
    - PixarLogEncoderState
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int PixarLogEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PixarLogEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1411,1
    - Dst: deflate
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1418,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1427,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1443
    functionName: PixarLogPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - PixarLogEncoderState
    - deflate
    - TIFFFlushData1
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int PixarLogPostEncode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1449
        line_start: 1449
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1473
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1473
    functionName: PixarLogClose
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void PixarLogClose(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1479,1
    - Dst: TIFFPredictorCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1481,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1487,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1489,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1491,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1493,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1495,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1497,1
    - Dst: inflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1501,1
    - Dst: deflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1503,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1506,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1507,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1510,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1478
        line_start: 1478
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1511
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1511
    functionName: PixarLogCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - _TIFFSetDefaultCompressionState
    - deflateEnd
    - TIFFPredictorCleanup
    - assert
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void PixarLogCleanup(TIFF *tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1522,1
    - Dst: deflateParams
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1525,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1528,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1535,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1545,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1546,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1549,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1550,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1553,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1554,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1557,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1558,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1561,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1562,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1570,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1570,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1578
    functionName: PixarLogVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - isTiled
    - TIFFScanlineSize
    - TIFFErrorExtR
    - TIFFSetField
    - va_arg
    - deflateParams
    linkageType: ''
    returnType: int
    signature: int PixarLogVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1587,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1596
    functionName: PixarLogVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int PixarLogVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1611,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1616,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1616,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1618,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1626,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1630,1
    - Dst: TIFFPredictorInit
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1665,1
    - Dst: PixarLogMakeTables
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1670,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_pixarlog.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_PIXARLOG)
      pos:
        line_end: 1610
        line_start: 1610
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1676
      start: 1604
    functionDepth: 2
    functionLinenumber: 1604
    functionLinenumberEnd: 1676
    functionName: TIFFInitPixarLog
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFArrayCount
    - _TIFFMergeFields
    - TIFFErrorExtR
    - assert
    - TIFFPredictorInit
    - PixarLogMakeTables
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitPixarLog(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MAXCODE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAXCODE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: LZWState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZWState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: LZWDecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZWDecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: LZWEncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZWEncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: LZWFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZWFixupTags(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:185,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:194,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:197,1
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:201,1
    - Dst: TIFFPredictorInit
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:208,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:213,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:216,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 239
    functionName: LZWSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    - TIFFPredictorInit
    - memset
    - LZWDecoderState
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int LZWSetupDecode(TIFF *tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:247,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:250,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:253,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:267,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:286,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:290,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:298,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 321
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 321
    functionName: LZWPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - MAXCODE
    - assert
    - TIFFErrorExtR
    - LZWDecoderState
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int LZWPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nextdata
    - ','
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: GetNextData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextData(nextdata, bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 401
    functionName: GetNextCodeLZW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextCodeLZW()
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:405,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:414,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:415,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:419,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:420,1
    - Dst: GetNextCodeLZW
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:495,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:519,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:564,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:590,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:598,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:635,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:645,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:663,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:675,1
    - Dst: GetNextCodeLZW
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:679,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:734,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:736,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:745,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:747,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:752,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:754,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 259
    argCount: 4
    argNames:
    - tif
    - op0
    - occ0
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->dec_codetab != NULL)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - condition: (sp != NULL)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - condition: (occ >= len)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - condition: (len >= 4)
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 756
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 756
    functionName: LZWDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MAXCODE
    - TIFFErrorExtR
    - assert
    - memset
    - LZWDecoderState
    - GetNextCodeLZW
    linkageType: ''
    returnType: int
    signature: int LZWDecode(TIFF *tif, uint8_t *op0, tmsize_t occ0, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - _tif
    - ','
    - _sp
    - ','
    - _bp
    - ','
    - _code
    - ','
    - _get
    - ','
    - dec_bitsleft
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 780
    functionName: NextCode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NextCode(_tif, _sp, _bp, _code, _get, dec_bitsleft)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sp
    - ','
    - bp
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 797
    functionName: GetNextCodeCompat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextCodeCompat(sp, bp, code)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:801,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:813,1
    - Dst: NextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:874,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:882,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:885,1
    - Dst: NextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:887,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:893,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:912,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:922,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:935,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:947,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:983,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1010,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 128
    argCount: 4
    argNames:
    - tif
    - op0
    - occ0
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 812
        line_start: 812
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - condition: (occ >= len)
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1017
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 1017
    functionName: LZWDecodeCompat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - NextCode
    - MAXCODE
    - assert
    - TIFFErrorExtR
    - LZWDecoderState
    linkageType: ''
    returnType: int
    signature: int LZWDecodeCompat(TIFF *tif, uint8_t *op0, tmsize_t occ0, uint16_t
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1031,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1033,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1034,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1041
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1041
    functionName: LZWSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - LZWEncoderState
    - _TIFFmallocExt
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int LZWSetupEncode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1048,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1051,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1055,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1059,1
    - Dst: cl_hash
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1075
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1075
    functionName: LZWPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - LZWEncoderState
    - TIFF*::tif_setupencode
    - cl_hash
    - MAXCODE
    - assert
    linkageType: ''
    returnType: int
    signature: int LZWPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - rat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: CALCRATIO
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALCRATIO(sp, rat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1102
    functionName: PutNextCode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PutNextCode(op, c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1119,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1136,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1160,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1221,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1225,1
    - Dst: cl_hash
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1232,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1237,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1239,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1250,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1251,1
    - Dst: CALCRATIO
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1263,1
    - Dst: cl_hash
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1266,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1271,1
    - Dst: MAXCODE
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1273,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 106
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->enc_hashtab != NULL)
      pos:
        line_end: 1135
        line_start: 1135
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - condition: (nbits <= BITS_MAX)
      pos:
        line_end: 1249
        line_start: 1249
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1296
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1296
    functionName: LZWEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - LZWEncoderState
    - cl_hash
    - PutNextCode
    - MAXCODE
    - assert
    - TIFFFlushData1
    - CALCRATIO
    linkageType: ''
    returnType: int
    signature: int LZWEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1304,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1314,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1322,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1330,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1342,1
    - Dst: PutNextCode
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (nbits <= BITS_MAX)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1353
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1353
    functionName: LZWPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - LZWEncoderState
    - PutNextCode
    - TIFFFlushData1
    - assert
    linkageType: ''
    returnType: int
    signature: int LZWPostEncode(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - sp
    argTypes:
    - LZWCodecState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1378
    functionName: cl_hash
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cl_hash(LZWCodecState *sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFPredictorCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1384,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1386,1
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1388,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1389,1
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1389,1
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1391,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1392,1
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1392,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1394,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (tif->tif_data != NULL)
      pos:
        line_end: 1385
        line_start: 1385
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1398
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1398
    functionName: LZWCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - LZWEncoderState
    - _TIFFSetDefaultCompressionState
    - TIFFPredictorCleanup
    - assert
    - LZWDecoderState
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void LZWCleanup(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1404,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1408,1
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1411,1
    - Dst: LZWDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1412,1
    - Dst: LZWEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1413,1
    - Dst: LZWState
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1414,1
    - Dst: TIFFPredictorInit
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1437,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzw.c:1440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_LZW)
      pos:
        line_end: 1403
        line_start: 1403
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1442
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1442
    functionName: TIFFInitLZW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - LZWEncoderState
    - assert
    - TIFFPredictorInit
    - LZWState
    - TIFFErrorExtR
    - LZWDecoderState
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitLZW(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wp
    argTypes:
    - uint16_t*
    assertStmts:
    - condition: (sizeof(uint16_t) == 2)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: TIFFSwabShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabShort(uint16_t *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - lp
    argTypes:
    - uint32_t*
    assertStmts:
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: TIFFSwabLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabLong(uint32_t *lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - lp
    argTypes:
    - uint64_t*
    assertStmts:
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: TIFFSwabLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabLong8(uint64_t *lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wp
    - n
    argTypes:
    - uint16_t*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(uint16_t) == 2)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: TIFFSwabArrayOfShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfShort(register uint16_t *wp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tp
    - n
    argTypes:
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: TIFFSwabArrayOfTriples
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfTriples(register uint8_t *tp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - n
    argTypes:
    - uint32_t*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: TIFFSwabArrayOfLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfLong(register uint32_t *lp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - lp
    - n
    argTypes:
    - uint64_t*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: TIFFSwabArrayOfLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfLong8(register uint64_t *lp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - float*
    assertStmts:
    - condition: (sizeof(float) == 4)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: TIFFSwabFloat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabFloat(float *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - fp
    - n
    argTypes:
    - float*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(float) == 4)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: TIFFSwabArrayOfFloat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfFloat(register float *fp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - dp
    argTypes:
    - double*
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: TIFFSwabDouble
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabDouble(double *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_swab.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - dp
    - n
    argTypes:
    - double*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: TIFFSwabArrayOfDouble
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfDouble(double *dp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reversed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: TIFFGetBitRevTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *TIFFGetBitRevTable(int reversed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - cp
    - n
    argTypes:
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: TIFFReverseBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_swab.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFReverseBits(uint8_t *cp, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:34,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:38,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - method
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: TIFFNoEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFFindCODEC
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFNoEncode(TIFF *tif, const char *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoEncode
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: _TIFFNoRowEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoEncode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoRowEncode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoEncode
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: _TIFFNoStripEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoEncode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoStripEncode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoEncode
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: _TIFFNoTileEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoEncode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoTileEncode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:77,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:80,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - method
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: TIFFNoDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFFindCODEC
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFNoDecode(TIFF *tif, const char *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: _TIFFNoFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFNoFixupTags(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoDecode
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: _TIFFNoRowDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoDecode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoRowDecode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoDecode
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: _TIFFNoStripDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoDecode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoStripDecode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoDecode
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: _TIFFNoTileDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoDecode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoTileDecode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - 'off'
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: _TIFFNoSeek
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int _TIFFNoSeek(TIFF *tif, uint32_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: _TIFFNoPreCode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFNoPreCode(TIFF *tif, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: _TIFFtrue
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFtrue(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: _TIFFvoid
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TIFFvoid(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: _TIFFSetDefaultCompressionState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TIFFSetDefaultCompressionState(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:168,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: TIFFSetCompressionScheme
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - TIFFFindCODEC
    linkageType: ''
    returnType: int
    signature: int TIFFSetCompressionScheme(TIFF *tif, int scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: TIFFFindCODEC
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TIFFCodec
    signature: TIFFCodec *TIFFFindCODEC(uint16_t scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:209,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:211,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:217,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - scheme
    - name
    - init
    argTypes:
    - uint16_t
    - char*
    - TIFFInitMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 230
    functionName: TIFFRegisterCODEC
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - _TIFFmallocExt
    - strcpy
    - strlen
    linkageType: ''
    returnType: TIFFCodec
    signature: "TIFFCodec *TIFFRegisterCODEC(uint16_t scheme, const char *name,\n
      \                            TIFFInitMethod init)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:241,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - TIFFCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: TIFFUnRegisterCODEC
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void TIFFUnRegisterCODEC(TIFFCodec *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:272,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:275,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:279,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:284,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:286,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:290,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:294,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:300,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:303,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_compress.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 310
    functionName: TIFFGetConfiguredCODECs
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - _TIFFmemcpy
    - TIFFIsCODECConfigured
    - _TIFFreallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: TIFFCodec
    signature: TIFFCodec *TIFFGetConfiguredCODECs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: TIFFGetTagListCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFGetTagListCount(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - tag_index
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: TIFFGetTagListEntry
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFGetTagListEntry(TIFF *tif, int tag_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TIFFAccessTagMethods
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFTagMethods
    signature: TIFFTagMethods *TIFFAccessTagMethods(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tif
    - name
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: TIFFGetClientInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void *TIFFGetClientInfo(TIFF *tif, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:87,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:101,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:102,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:104,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:104,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:105,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/libtiff/tif_extension.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - tif
    - data
    - name
    argTypes:
    - TIFF*
    - void*
    - char*
    assertStmts:
    - condition: (psLink != NULL)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/PROJ/libtiff/libtiff/tif_extension.c
    - condition: (psLink->name != NULL)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/PROJ/libtiff/libtiff/tif_extension.c
    constantsTouched: []
    func_position:
      end: 110
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 110
    functionName: TIFFSetClientInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strcmp
    - assert
    - strlen
    - _TIFFmallocExt
    linkageType: ''
    returnType: void
    signature: void TIFFSetClientInfo(TIFF *tif, void *data, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:48,1
    - Dst: _TIFFMultiplySSize
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:53,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:55,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - tif
    - vpp
    - vp
    - nmemb
    - elem_size
    argTypes:
    - TIFF*
    - void**
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: setByteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    - _TIFFmemcpy
    - _TIFFfreeExt
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: void
    signature: "void setByteArray(TIFF *tif, void **vpp, const void *vp, size_t nmemb,\n
      \                        size_t elem_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpp
    - vp
    - n
    argTypes:
    - void**
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: _TIFFsetByteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetByteArray(void **vpp, const void *vp, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - vpp
    - vp
    - n
    argTypes:
    - TIFF*
    - void**
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: _TIFFsetByteArrayExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetByteArrayExt(TIFF *tif, void **vpp, const void *vp, uint32_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - cpp
    - cp
    - n
    argTypes:
    - TIFF*
    - char**
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: _TIFFsetNString
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetNString(TIFF *tif, char **cpp, const char *cp, uint32_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpp
    - wp
    - n
    argTypes:
    - uint16_t**
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: _TIFFsetShortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetShortArray(uint16_t **wpp, const uint16_t *wp, uint32_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - wpp
    - wp
    - n
    argTypes:
    - TIFF*
    - uint16_t**
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: _TIFFsetShortArrayExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: "void _TIFFsetShortArrayExt(TIFF *tif, uint16_t **wpp, const uint16_t
      *wp,\n                           uint32_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lpp
    - lp
    - n
    argTypes:
    - uint32_t**
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: _TIFFsetLongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetLongArray(uint32_t **lpp, const uint32_t *lp, uint32_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - lpp
    - lp
    - n
    argTypes:
    - TIFF*
    - uint32_t**
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: _TIFFsetLongArrayExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: "void _TIFFsetLongArrayExt(TIFF *tif, uint32_t **lpp, const uint32_t
      *lp,\n                          uint32_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - lpp
    - lp
    - n
    argTypes:
    - TIFF*
    - uint64_t**
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: _TIFFsetLong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: "void _TIFFsetLong8Array(TIFF *tif, uint64_t **lpp, const uint64_t
      *lp,\n                               uint32_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fpp
    - fp
    - n
    argTypes:
    - float**
    - float*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: _TIFFsetFloatArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetFloatArray(float **fpp, const float *fp, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - fpp
    - fp
    - n
    argTypes:
    - TIFF*
    - float**
    - float*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: _TIFFsetFloatArrayExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetFloatArrayExt(TIFF *tif, float **fpp, const float *fp,
      uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dpp
    - dp
    - n
    argTypes:
    - double**
    - double*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: _TIFFsetDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetDoubleArray(double **dpp, const double *dp, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - dpp
    - dp
    - n
    argTypes:
    - TIFF*
    - double**
    - double*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: _TIFFsetDoubleArrayExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: "void _TIFFsetDoubleArrayExt(TIFF *tif, double **dpp, const double
      *dp,\n                            uint32_t n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:123,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - tif
    - vpp
    - value
    - nmemb
    argTypes:
    - TIFF*
    - double**
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: setDoubleArrayOneValue
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: "void setDoubleArrayOneValue(TIFF *tif, double **vpp, double value,\n
      \                                  size_t nmemb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:145,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:148,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:172,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:176,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:177,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - ap
    - v
    argTypes:
    - TIFF*
    - va_list
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 186
    functionName: setExtraSamples
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFsetShortArrayExt
    - TIFFWarningExtR
    - va_arg
    - TIFFClrFieldBit
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int setExtraSamples(TIFF *tif, va_list ap, uint32_t *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - slen
    - s
    argTypes:
    - TIFF*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: countInkNamesString
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t countInkNamesString(TIFF *tif, uint32_t slen, const char *s)
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:229,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:247,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:250,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:253,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:256,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:281,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:287,1
    - Dst: TIFFSetCompressionScheme
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:297,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:303,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:306,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:309,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:315,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:322,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:330,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:334,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:335,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:340,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:344,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:345,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:355,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:359,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:360,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:367,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:371,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:378,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:381,1
    - Dst: _TIFFsetDoubleArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:385,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:386,1
    - Dst: setDoubleArrayOneValue
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:389,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:390,1
    - Dst: _TIFFsetDoubleArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:395,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:396,1
    - Dst: setDoubleArrayOneValue
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:399,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:400,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:404,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:407,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:410,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:413,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:416,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:422,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:422,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:425,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:425,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:428,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:434,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:435,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:438,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:439,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:443,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:444,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:445,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:446,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:447,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:448,1
    - Dst: setExtraSamples
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:451,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:455,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:459,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:463,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:468,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:476,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:481,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:489,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:495,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:516,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:533,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:538,1
    - Dst: _TIFFsetLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:539,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:540,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:545,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:551,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:554,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:555,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:562,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:563,1
    - Dst: _TIFFsetFloatArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:569,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:570,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:574,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:575,1
    - Dst: countInkNamesString
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:577,1
    - Dst: _TIFFsetNString
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:581,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:584,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:588,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:602,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:604,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:608,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:621,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:624,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:628,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:643,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:647,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:658,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:682,1
    - Dst: isPseudoTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:685,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:692,1
    - Dst: isPseudoTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:695,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:712,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:726,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:731,1
    - Dst: TIFFFieldSetGetSize
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:753,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:757,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:768,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:769,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:770,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:774,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:775,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:779,1
    - Dst: setByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:788,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:795,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:797,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:809,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:818,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:827,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:834,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:835,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:836,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:846,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:846,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:859,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:879,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:896,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:903,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:904,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:909,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:910,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:915,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:916,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:921,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:922,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:928,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:929,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:934,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:935,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:941,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:942,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:948,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:960,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:961,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:967,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:986,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:987,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:992,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:993,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:999,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1011,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1011,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1012,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1017,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1018,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1022,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1032,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1034,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1039,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1043,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1044,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1046,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1051,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1052,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1054,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1059,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1060,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1062,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1084,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1097,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1099,1
    CyclomaticComplexity: 197
    EdgeCount: 197
    ICount: 550
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (fip->field_writecount == TIFF_VARIABLE2)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
    - condition: (tv->count == 1)
      pos:
        line_end: 895
        line_start: 895
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
    - condition: (0)
      pos:
        line_end: 1096
        line_start: 1096
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
    constantsTouched: []
    func_position:
      end: 1102
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 1102
    functionName: _TIFFVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFFieldWithTag
    - TIFFFindField
    - isPseudoTag
    - _TIFFCheckMalloc
    - TIFFWarningExtR
    - _TIFFreallocExt
    - _TIFFmemset
    - _TIFFsetNString
    - setDoubleArrayOneValue
    - assert
    - strlen
    - countInkNamesString
    - _TIFFsetShortArrayExt
    - TIFFClrFieldBit
    - setExtraSamples
    - va_end
    - _TIFFsetFloatArrayExt
    - _TIFFsetLong8Array
    - TIFFSetFieldBit
    - TIFFFieldSet
    - TIFFFieldSetGetSize
    - setByteArray
    - _TIFFfreeExt
    - _TIFFmemcpy
    - strcmp
    - TIFFErrorExtR
    - _TIFFClampDoubleToFloat
    - va_arg
    - _TIFFsetDoubleArrayExt
    - TIFFSetCompressionScheme
    linkageType: ''
    returnType: int
    signature: int _TIFFVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1115,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1118,1
    - Dst: isPseudoTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1119,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1137
    functionName: OkToChangeTag
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFFindField
    - isPseudoTag
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OkToChangeTag(TIFF *tif, uint32_t tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1151,1
    - Dst: TIFFVSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1152,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1155
    functionName: TIFFSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 63
    functionsReached:
    - va_end
    - va_start
    - TIFFVSetField
    linkageType: ''
    returnType: int
    signature: int TIFFSetField(TIFF *tif, uint32_t tag, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1162,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1169,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1197
    functionName: TIFFUnsetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFClrFieldBit
    - TIFFFieldWithTag
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFUnsetField(TIFF *tif, uint32_t tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkToChangeTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1210
    functionName: TIFFVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - OkToChangeTag
    linkageType: ''
    returnType: int
    signature: int TIFFVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1217,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1235,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1238,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1241,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1244,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1247,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1250,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1253,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1256,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1259,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1262,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1265,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1268,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1271,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1275,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1289,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1302,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1305,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1308,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1311,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1314,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1317,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1320,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1321,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1324,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1325,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1328,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1329,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1330,1
    - Dst: _TIFFFillStriles
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1334,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1335,1
    - Dst: _TIFFFillStriles
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1341,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1342,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1347,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1352,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1353,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1356,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1359,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1362,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1368,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1371,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1374,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1377,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1382,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1385,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1388,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1389,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1392,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1395,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1396,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1399,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1412,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1415,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1418,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1435,1
    - Dst: isPseudoTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1438,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1458,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1460,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1465,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1488,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1493,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1497,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1501,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1505,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1510,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1514,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1519,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1523,1
    - Dst: TIFFFieldSetGetSize
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1532,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1548,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1558,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1562,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 273
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (tv->count == 1)
      pos:
        line_end: 1487
        line_start: 1487
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
    constantsTouched: []
    func_position:
      end: 1576
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1576
    functionName: _TIFFVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFFindField
    - isPseudoTag
    - strcmp
    - TIFFErrorExtR
    - assert
    - va_arg
    - _TIFFFillStriles
    - TIFFFieldSetGetSize
    linkageType: ''
    returnType: int
    signature: int _TIFFVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1587,1
    - Dst: TIFFVGetField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1588,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1591
    functionName: TIFFGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 90
    functionsReached:
    - TIFFVGetField
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int TIFFGetField(TIFF *tif, uint32_t tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1601,1
    - Dst: isPseudoTag
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1602,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1605
    functionName: TIFFVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFFieldSet
    - TIFFFindField
    - isPseudoTag
    linkageType: ''
    returnType: int
    signature: int TIFFVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1615
    functionName: CleanupField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CleanupField(member)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1625,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1626,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1627,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1628,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1629,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1630,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1631,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1632,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1633,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1634,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1635,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1636,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1637,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1638,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1639,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1641,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1642,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1648,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1652,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1654,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1655,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1667
    functionName: TIFFFreeDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 2
    functionsReached:
    - _TIFFmemset
    - TIFFClrFieldBit
    - CleanupField
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void TIFFFreeDirectory(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - extender
    argTypes:
    - TIFFExtendProc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1680
    functionName: TIFFSetTagExtender
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TIFFExtendProc
    signature: TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc extender)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1692,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1689
    functionDepth: 2
    functionLinenumber: 1689
    functionLinenumberEnd: 1702
    functionName: TIFFCreateDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 6
    functionsReached:
    - TIFFFreeDirectory
    - TIFFDefaultDirectory
    linkageType: ''
    returnType: int
    signature: int TIFFCreateDirectory(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1707,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1708,1
    - Dst: _TIFFSetupFields
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1715,1
    - Dst: _TIFFCleanupIFDOffsetAndNumberMaps
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - tif
    - infoarray
    argTypes:
    - TIFF*
    - TIFFFieldArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1704
    functionDepth: 2
    functionLinenumber: 1704
    functionLinenumberEnd: 1730
    functionName: TIFFCreateCustomDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFFreeDirectory
    - _TIFFCleanupIFDOffsetAndNumberMaps
    - TIFFDefaultDirectory
    - _TIFFSetupFields
    linkageType: ''
    returnType: int
    signature: int TIFFCreateCustomDirectory(TIFF *tif, const TIFFFieldArray *infoarray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetExifFields
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1735,1
    - Dst: TIFFCreateCustomDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1732
    functionDepth: 3
    functionLinenumber: 1732
    functionLinenumberEnd: 1737
    functionName: TIFFCreateEXIFDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 4
    functionsReached:
    - TIFFCreateCustomDirectory
    - _TIFFGetExifFields
    linkageType: ''
    returnType: int
    signature: int TIFFCreateEXIFDirectory(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetGpsFields
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1745,1
    - Dst: TIFFCreateCustomDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1742
    functionDepth: 3
    functionLinenumber: 1742
    functionLinenumberEnd: 1747
    functionName: TIFFCreateGPSDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - _TIFFGetGpsFields
    - TIFFCreateCustomDirectory
    linkageType: ''
    returnType: int
    signature: int TIFFCreateGPSDirectory(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetFields
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1757,1
    - Dst: _TIFFSetupFields
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1758,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1760,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1809,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1811,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1836
    functionName: TIFFDefaultDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 2
    functionsReached:
    - _TIFFmemset
    - _TIFFSetupFields
    - _TIFFGetFields
    - TIFFSetField
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFDefaultDirectory(TIFF *tif)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckDirNumberAndOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1844,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1846,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1855,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1868,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1874,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1876,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1882,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1887,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1889,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1899,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1908,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1913,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1915,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1918,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1926,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1933,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1938,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1940,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1949,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1950,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1952,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1958,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1960,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1962,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1963,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1965,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1970,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1977,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1978,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1980,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1986,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1989,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1996,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1998,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:1999,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2001,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2006,1
    - Dst: _TIFFCheckDirNumberAndOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2014,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2016,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 116
    argCount: 4
    argNames:
    - tif
    - nextdiroff
    - 'off'
    - nextdirnum
    argTypes:
    - TIFF*
    - uint64_t*
    - uint64_t*
    - tdir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 2027
    functionName: TIFFAdvanceDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFWarningExtR
    - TIFFErrorExtR
    - TIFFSwabLong8
    - TIFFSeekFile
    - _TIFFCheckDirNumberAndOffset
    - isMapped
    - ReadOK
    - TIFFSwabShort
    - SeekOK
    - TIFFSwabLong
    linkageType: ''
    returnType: int
    signature: "int TIFFAdvanceDirectory(TIFF *tif, uint64_t *nextdiroff, uint64_t
      *off,\n                                tdir_t *nextdirnum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFAdvanceDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2032
    functionDepth: 2
    functionLinenumber: 2032
    functionLinenumberEnd: 2051
    functionName: TIFFNumberOfDirectories
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 7
    functionsReached:
    - TIFFAdvanceDirectory
    linkageType: ''
    returnType: tdir_t
    signature: tdir_t TIFFNumberOfDirectories(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCleanupIFDOffsetAndNumberMaps
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2069,1
    - Dst: _TIFFGetOffsetFromDirNumber
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2074,1
    - Dst: TIFFAdvanceDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2110,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2135,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - tif
    - dirn
    argTypes:
    - TIFF*
    - tdir_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2057
    functionDepth: 2
    functionLinenumber: 2057
    functionLinenumberEnd: 2145
    functionName: TIFFSetDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 28
    functionsReached:
    - TIFFReadDirectory
    - _TIFFGetOffsetFromDirNumber
    - TIFFAdvanceDirectory
    - _TIFFCleanupIFDOffsetAndNumberMaps
    linkageType: ''
    returnType: int
    signature: int TIFFSetDirectory(TIFF *tif, tdir_t dirn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetDirNumberFromOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2177,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2191,1
    - Dst: _TIFFCleanupIFDOffsetAndNumberMaps
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2208,1
    - Dst: _TIFFCheckDirNumberAndOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2218
    functionName: TIFFSetSubDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 16
    functionsReached:
    - TIFFReadDirectory
    - _TIFFCheckDirNumberAndOffset
    - _TIFFCleanupIFDOffsetAndNumberMaps
    - _TIFFGetDirNumberFromOffset
    linkageType: ''
    returnType: int
    signature: int TIFFSetSubDirectory(TIFF *tif, uint64_t diroff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2223
    functionName: TIFFCurrentDirOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFCurrentDirOffset(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2229
    functionName: TIFFLastDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFLastDirectory(TIFF *tif)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2247,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2253,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2279,1
    - Dst: TIFFAdvanceDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2282,1
    - Dst: TIFFAdvanceDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2289,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2296,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2301,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2303,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2304,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2306,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2315,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2316,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2318,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2342,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2351,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2352,1
    - Dst: _TIFFCleanupIFDOffsetAndNumberMaps
      Src: /src/PROJ/libtiff/libtiff/tif_dir.c:2364,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 2
    argNames:
    - tif
    - dirn
    argTypes:
    - TIFF*
    - tdir_t
    assertStmts:
    - condition: ((uint64_t)nextdir32 == nextdir)
      pos:
        line_end: 2300
        line_start: 2300
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
    constantsTouched: []
    func_position:
      end: 2366
      start: 2237
    functionDepth: 3
    functionLinenumber: 2237
    functionLinenumberEnd: 2366
    functionName: TIFFUnlinkDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.c
    functionUses: 3
    functionsReached:
    - TIFFDefaultDirectory
    - TIFFFreeDirectory
    - assert
    - TIFFErrorExtR
    - TIFFSeekFile
    - TIFFSwabLong8
    - TIFFAdvanceDirectory
    - _TIFFCleanupIFDOffsetAndNumberMaps
    - WriteOK
    - TIFFSwabLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFUnlinkDirectory(TIFF *tif, tdir_t dirn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:40,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: JBIGSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - TIFFNumberOfStrips
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int JBIGSetupDecode(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:58,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:60,1
    - Dst: jbg_dec_init
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:63,1
    - Dst: jbg_newlen
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:66,1
    - Dst: jbg_dec_in
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:79,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:88,1
    - Dst: jbg_strerror
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:90,1
    - Dst: jbg_strerror
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:92,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:95,1
    - Dst: jbg_dec_free
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:96,1
    - Dst: jbg_dec_getsize
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:100,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:103,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:104,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:111,1
    - Dst: jbg_dec_free
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:115,1
    - Dst: jbg_dec_getimage
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:118,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:119,1
    - Dst: jbg_dec_free
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - tif
    - buffer
    - size
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 126
    functionName: JBIGDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - jbg_newlen
    - jbg_dec_free
    - jbg_dec_init
    - isFillOrder
    - jbg_dec_in
    - jbg_dec_getsize
    - jbg_dec_getimage
    - TIFFWarningExtR
    - jbg_strerror
    - _TIFFmemcpy
    - TIFFReverseBits
    - TIFFErrorExtR
    - memset
    linkageType: ''
    returnType: int
    signature: int JBIGDecode(TIFF *tif, uint8_t *buffer, tmsize_t size, uint16_t
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:130,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: JBIGSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - TIFFNumberOfStrips
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int JBIGSetupEncode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:153,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:154,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - unsigned char*
    - size_t
    - uint16_t
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/PROJ/libtiff/libtiff/tif_jbig.c
    constantsTouched: []
    func_position:
      end: 166
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 166
    functionName: JBIGCopyEncodedData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFFlushData1
    - assert
    linkageType: ''
    returnType: int
    signature: "int JBIGCopyEncodedData(TIFF *tif, unsigned char *pp, size_t cc,\n
      \                              uint16_t s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:172,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:174,1
    - Dst: JBIGCopyEncodedData
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - len
    - userData
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: JBIGOutputBie
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - TIFFReverseBits
    - JBIGCopyEncodedData
    - isFillOrder
    linkageType: ''
    returnType: void
    signature: void JBIGOutputBie(unsigned char *buffer, size_t len, void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbg_enc_init
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:187,1
    - Dst: jbg_enc_out
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:193,1
    - Dst: jbg_enc_free
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - buffer
    - size
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: JBIGEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - jbg_enc_init
    - jbg_enc_free
    - jbg_enc_out
    linkageType: ''
    returnType: int
    signature: int JBIGEncode(TIFF *tif, uint8_t *buffer, tmsize_t size, uint16_t
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jbig.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_JBIG)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/PROJ/libtiff/libtiff/tif_jbig.c
    constantsTouched: []
    func_position:
      end: 231
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 231
    functionName: TIFFInitJBIG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFInitJBIG(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: SETPIXEL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETPIXEL(op, v)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:79,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:94,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:111,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:121,1
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:142,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:147,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:165,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 168
    functionName: NeXTDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached:
    - isTiled
    - SETPIXEL
    - _TIFFmemcpy
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int NeXTDecode(TIFF *tif, uint8_t *buf, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_next.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: NeXTPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int NeXTPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: TIFFInitNeXT
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitNeXT(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/mkspans.c:58,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/mkspans.c:59,1
    - Dst: dumparray
      Src: /src/PROJ/libtiff/libtiff/mkspans.c:74,1
    - Dst: dumparray
      Src: /src/PROJ/libtiff/libtiff/mkspans.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/libtiff/mkspans.c
    functionUses: 5
    functionsReached:
    - memset
    - dumparray
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: TIFFGetR
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetR(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: TIFFGetG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetG(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: TIFFGetB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetB(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: TIFFGetA
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetA(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: TIFF_ATTRIBUTE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - module
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WRITECHECKSTRIPS
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITECHECKSTRIPS(tif, module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - module
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: WRITECHECKTILES
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITECHECKTILES(tif, module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: BUFFERCHECK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFERCHECK(tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKSTRIPS
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:54,1
    - Dst: BUFFERCHECK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:61,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:74,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:89,1
    - Dst: TIFFGrowStrips
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:105,1
    - Dst: TIFFFlushData
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:112,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:122,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:125,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:173,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 4
    argNames:
    - tif
    - buf
    - row
    - sample
    argTypes:
    - TIFF*
    - void*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 181
    functionName: TIFFWriteScanline
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 28
    functionsReached:
    - WRITECHECKSTRIPS
    - TIFFFlushData
    - BUFFERCHECK
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFGrowStrips
    - TIFF*::tif_postdecode
    linkageType: ''
    returnType: int
    signature: int TIFFWriteScanline(TIFF *tif, void *buf, uint32_t row, uint16_t
      sample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteBufferSetup
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:200,1
    - Dst: TIFFroundup_64
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tif
    - strip_or_tile
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 207
    functionName: _TIFFReserveLargeEnoughWriteBuffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached:
    - TIFFroundup_64
    - TIFFWriteBufferSetup
    linkageType: ''
    returnType: int
    signature: int _TIFFReserveLargeEnoughWriteBuffer(TIFF *tif, uint32_t strip_or_tile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKSTRIPS
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:222,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:237,1
    - Dst: TIFFGrowStrips
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:242,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:245,1
    - Dst: BUFFERCHECK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:252,1
    - Dst: _TIFFReserveLargeEnoughWriteBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:262,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:272,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:290,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:292,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:294,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:296,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:306,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:312,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:314,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:316,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - tif
    - strip
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 321
    functionName: TIFFWriteEncodedStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 19
    functionsReached:
    - _TIFFReserveLargeEnoughWriteBuffer
    - isFillOrder
    - WRITECHECKSTRIPS
    - TIFFReverseBits
    - BUFFERCHECK
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFAppendToStrip
    - TIFFGrowStrips
    - TIFF*::tif_postdecode
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFWriteEncodedStrip(TIFF *tif, uint32_t strip, void *data,\n
      \                              tmsize_t cc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKSTRIPS
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:333,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:348,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:360,1
    - Dst: TIFFGrowStrips
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:361,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:375,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - tif
    - strip
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 381
    functionName: TIFFWriteRawStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 3
    functionsReached:
    - WRITECHECKSTRIPS
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFAppendToStrip
    - TIFFGrowStrips
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteRawStrip(TIFF *tif, uint32_t strip, void *data, tmsize_t
      cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckTile
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:390,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:398,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - tif
    - buf
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - void*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 400
    functionName: TIFFWriteTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 4
    functionsReached:
    - TIFFWriteEncodedTile
    - TIFFCheckTile
    - TIFFComputeTile
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFWriteTile(TIFF *tif, void *buf, uint32_t x, uint32_t
      y, uint32_t z,\n                       uint16_t s)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKTILES
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:421,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:426,1
    - Dst: BUFFERCHECK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:435,1
    - Dst: _TIFFReserveLargeEnoughWriteBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:445,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:457,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:460,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:464,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:467,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:492,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:494,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:496,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:498,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:507,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:513,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:515,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:517,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 4
    argNames:
    - tif
    - tile
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 522
    functionName: TIFFWriteEncodedTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 6
    functionsReached:
    - WRITECHECKTILES
    - _TIFFReserveLargeEnoughWriteBuffer
    - isFillOrder
    - TIFFReverseBits
    - BUFFERCHECK
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFAppendToStrip
    - TIFF*::tif_postdecode
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteEncodedTile(TIFF *tif, uint32_t tile, void *data,
      tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKTILES
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:537,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:541,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - tif
    - tile
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 548
    functionName: TIFFWriteRawTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 2
    functionsReached:
    - WRITECHECKTILES
    - TIFFAppendToStrip
    - TIFFErrorExtR
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteRawTile(TIFF *tif, uint32_t tile, void *data, tmsize_t
      cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: isUnspecified
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isUnspecified(tif, f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:557,1
    - Dst: isUnspecified
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:558,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:560,1
    - Dst: isUnspecified
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:562,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:564,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:570,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:578,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:579,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:582,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:583,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:591,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:592,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:593,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 596
    functionName: TIFFSetupStrips
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - isUnspecified
    - _TIFFCheckMalloc
    - isTiled
    - TIFFSetFieldBit
    - TIFFErrorExtR
    - TIFFNumberOfTiles
    - TIFFNumberOfStrips
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFSetupStrips(TIFF *tif)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:609,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:612,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:614,1
    - Dst: _TIFFFillStriles
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:620,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:632,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:634,1
    - Dst: TIFFSetupStrips
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:638,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:641,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:642,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:645,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:647,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:653,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:668,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - tif
    - tiles
    - module
    argTypes:
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 672
    functionName: TIFFWriteCheck
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 2
    functionsReached:
    - TIFFTileSize
    - isTiled
    - TIFFSetupStrips
    - TIFFScanlineSize
    - TIFFErrorExtR
    - TIFFFieldSet
    - _TIFFFillStriles
    - TIFFForceStrileArrayWriting
    linkageType: ''
    returnType: int
    signature: int TIFFWriteCheck(TIFF *tif, int tiles, const char *module)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:685,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:692,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:692,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:706,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - tif
    - bp
    - size
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 722
    functionName: TIFFWriteBufferSetup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 1
    functionsReached:
    - isTiled
    - TIFFStripSize
    - TIFFErrorExtR
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFWriteBufferSetup(TIFF *tif, void *bp, tmsize_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:733,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:734,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:736,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:742,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:744,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:746,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:751,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - delta
    - module
    argTypes:
    - TIFF*
    - uint32_t
    - char*
    assertStmts:
    - condition: (td->td_planarconfig == PLANARCONFIG_CONTIG)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/PROJ/libtiff/libtiff/tif_write.c
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: TIFFGrowStrips
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 3
    functionsReached:
    - _TIFFmemset
    - _TIFFreallocExt
    - TIFFErrorExtR
    - assert
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TIFFGrowStrips(TIFF *tif, uint32_t delta, const char *module)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:777,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:790,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:792,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:806,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:824,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:851,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:856,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:860,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:863,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:875,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:877,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:878,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:881,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:883,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:884,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:887,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:889,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:890,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:893,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:895,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:896,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:904,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:911,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:913,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 4
    argNames:
    - tif
    - strip
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32_t
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: (td->td_nstrips > 0)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/PROJ/libtiff/libtiff/tif_write.c
    constantsTouched: []
    func_position:
      end: 924
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 924
    functionName: TIFFAppendToStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 4
    functionsReached:
    - TIFFErrorExtR
    - assert
    - TIFFSeekFile
    - ReadOK
    - WriteOK
    - _TIFFmallocExt
    - SeekOK
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFAppendToStrip(TIFF *tif, uint32_t strip, uint8_t *data,\n
      \                            tmsize_t cc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:935,1
    - Dst: TIFFReverseBits
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:937,1
    - Dst: TIFFAppendToStrip
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:938,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_write.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 953
    functionName: TIFFFlushData1
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 5
    functionsReached:
    - TIFFReverseBits
    - isTiled
    - isFillOrder
    - TIFFAppendToStrip
    linkageType: ''
    returnType: int
    signature: int TIFFFlushData1(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - 'off'
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: TIFFSetWriteOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFSetWriteOffset(TIFF *tif, toff_t off)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:91,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:104,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:112,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:118,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:129,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:142,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:168,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:177,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:180,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:187,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:198,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:208,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:216,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:223,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:235,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:245,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 2
    argNames:
    - tif
    - emsg
    argTypes:
    - TIFF*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 251
    functionName: TIFFRGBAImageOK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - snprintf
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int TIFFRGBAImageOK(TIFF *tif, char emsg[EMSG_BUF_SIZE])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:257,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:262,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:267,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:272,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:277,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:282,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:287,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:293,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:294,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 298
    functionName: TIFFRGBAImageEnd
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 4
    functionsReached:
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void TIFFRGBAImageEnd(TIFFRGBAImage *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: isCCITTCompression
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int isCCITTCompression(TIFF *tif)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRGBAImageOK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:321,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:341,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:351,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:358,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:359,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:379,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:391,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:392,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:393,1
    - Dst: isCCITTCompression
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:398,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:407,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:415,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:418,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:426,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:428,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:430,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:433,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:438,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:439,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:440,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:448,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:472,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:490,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:499,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:502,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:510,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:521,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:526,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:534,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:542,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:547,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:554,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:559,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:560,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:561,1
    - Dst: PickContigCase
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:566,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:568,1
    - Dst: PickSeparateCase
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:574,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:576,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:583,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 184
    argCount: 4
    argNames:
    - img
    - tif
    - stop
    - emsg
    argTypes:
    - TIFFRGBAImage*
    - TIFF*
    - int
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 585
    functionName: TIFFRGBAImageBegin
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 3
    functionsReached:
    - PickContigCase
    - isCCITTCompression
    - _TIFFmemcpy
    - TIFFRGBAImageOK
    - TIFFGetFieldDefaulted
    - snprintf
    - TIFFRGBAImageEnd
    - TIFFSetField
    - PickSeparateCase
    - _TIFFmallocExt
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: "int TIFFRGBAImageBegin(TIFFRGBAImage *img, TIFF *tif, int stop,\n
      \                      char emsg[EMSG_BUF_SIZE])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:592,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:592,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:598,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:599,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:618,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 625
    functionName: TIFFRGBAImageGet
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 3
    functionsReached:
    - TIFFFileName
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: "int TIFFRGBAImageGet(TIFFRGBAImage *img, uint32_t *raster, uint32_t
      w,\n                     uint32_t h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:638,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:641,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:642,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:646,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - rwidth
    - rheight
    - raster
    - orientation
    - stop
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 650
    functionName: TIFFReadRGBAImageOriented
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - TIFFRGBAImageBegin
    - TIFFRGBAImageEnd
    - TIFFRGBAImageGet
    - TIFFErrorExtR
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: "int TIFFReadRGBAImageOriented(TIFF *tif, uint32_t rwidth, uint32_t
      rheight,\n                              uint32_t *raster, int orientation, int
      stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadRGBAImageOriented
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - rwidth
    - rheight
    - raster
    - stop
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 5
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: TIFFReadRGBAImage
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFReadRGBAImageOriented
    linkageType: ''
    returnType: int
    signature: "int TIFFReadRGBAImage(TIFF *tif, uint32_t rwidth, uint32_t rheight,\n
      \                     uint32_t *raster, int stop)"
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 722
    functionName: setorientation
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int setorientation(TIFFRGBAImage *img)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:754,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:758,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:758,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:764,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:767,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:767,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:771,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:772,1
    - Dst: setorientation
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:774,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:779,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:779,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:790,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:790,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:800,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:800,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:812,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:812,1
    - Dst: _TIFFReadTileAndAllocBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:829,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:837,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:864,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 889
    functionName: gtTileContig
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - setorientation
    - TIFFErrorExtR
    - _TIFFReadTileAndAllocBuffer
    - TIFFFileName
    - TIFFTileRowSize
    - TIFFmin
    - TIFFGetField
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int gtTileContig(TIFFRGBAImage *img, uint32_t *raster, uint32_t w,\n
      \                       uint32_t h)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:927,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:931,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:931,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:938,1
    - Dst: _TIFFMultiplySSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:940,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:946,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:947,1
    - Dst: setorientation
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:949,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:954,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:954,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:965,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:965,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:988,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:988,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1000,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1000,1
    - Dst: _TIFFReadTileAndAllocBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1019,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1040,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1048,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1056,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1064,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1074,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1125,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 118
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 1127
    functionName: gtTileSeparate
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - setorientation
    - TIFFErrorExtR
    - TIFFReadTile
    - _TIFFReadTileAndAllocBuffer
    - TIFFFileName
    - _TIFFMultiplySSize
    - TIFFTileRowSize
    - TIFFmin
    - TIFFGetField
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int gtTileSeparate(TIFFRGBAImage *img, uint32_t *raster, uint32_t
      w,\n                          uint32_t h)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1158,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1162,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1162,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1169,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1173,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1173,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1178,1
    - Dst: setorientation
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1180,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1185,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1185,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1201,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1204,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1204,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1208,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1221,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1221,1
    - Dst: _TIFFReadEncodedStripAndAllocBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1225,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1226,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1269,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1135
    functionDepth: 4
    functionLinenumber: 1135
    functionLinenumberEnd: 1271
    functionName: gtStripContig
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - setorientation
    - TIFFScanlineSize
    - TIFFErrorExtR
    - TIFFFileName
    - TIFFmin
    - TIFFComputeStrip
    - _TIFFfreeExt
    - _TIFFReadEncodedStripAndAllocBuffer
    linkageType: ''
    returnType: int
    signature: "int gtStripContig(TIFFRGBAImage *img, uint32_t *raster, uint32_t w,\n
      \                        uint32_t h)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1303,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1307,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1307,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1314,1
    - Dst: _TIFFMultiplySSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1316,1
    - Dst: setorientation
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1322,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1327,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1327,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1356,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1359,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1359,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1363,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1374,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1374,1
    - Dst: _TIFFReadEncodedStripAndAllocBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1380,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1381,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1401,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1401,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1409,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1409,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1417,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1417,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1426,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1427,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1468,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 99
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1279
    functionDepth: 4
    functionLinenumber: 1279
    functionLinenumberEnd: 1470
    functionName: gtStripSeparate
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - setorientation
    - TIFFScanlineSize
    - TIFFErrorExtR
    - TIFFReadEncodedStrip
    - TIFFFileName
    - _TIFFMultiplySSize
    - TIFFmin
    - TIFFComputeStrip
    - _TIFFfreeExt
    - _TIFFReadEncodedStripAndAllocBuffer
    linkageType: ''
    returnType: int
    signature: "int gtStripSeparate(TIFFRGBAImage *img, uint32_t *raster, uint32_t
      w,\n                           uint32_t h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1485
    functionName: REPEAT8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT8(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1488
    functionName: REPEAT4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: REPEAT2
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT2(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1495
    functionName: CASE8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE8(x, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1513
    functionName: CASE4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE4(x, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - op1
    - ','
    - op2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1535
    functionName: UNROLL8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNROLL8(w, op1, op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - op1
    - ','
    - op2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1549
    functionName: UNROLL4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNROLL4(w, op1, op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - op1
    - ','
    - op2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1563
    functionName: UNROLL2
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNROLL2(w, op1, op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1570
    functionName: SKEW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKEW(r, g, b, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - a
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1577
    functionName: SKEW4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKEW4(r, g, b, a, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1581
    functionName: PACK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1584
    functionName: PACK4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK4(r, g, b, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1585
    functionName: W2B
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2B(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1588
    functionName: PACKW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKW(r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1591
    functionName: PACKW4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKW4(r, g, b, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1596
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREContigPutFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1616
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put8bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL2
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1635
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL2
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put4bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1654
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put2bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1673
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put1bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1694
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putgreytile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1715
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putagreytile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put16bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1746
    functionDepth: 1
    functionLinenumber: 1746
    functionLinenumberEnd: 1760
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put1bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1779
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put2bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL2
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1798
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL2
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put4bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1812,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1817
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1832,1
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1837
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBAAcontig8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1865
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBUAcontig8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1887
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1910
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBAAcontig16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1939
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBUAcontig16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1956,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 1962
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig8bitCMYKtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1991
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig8bitCMYKMaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1998
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARESepPutFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2010,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2010,1
    - Dst: SKEW
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2014
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - SKEW
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2026,1
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2026,1
    - Dst: SKEW4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2030
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBAAseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2048,1
    - Dst: SKEW4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2053
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putCMYKseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2073,1
    - Dst: SKEW4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2078
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBUAseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2094,1
    - Dst: SKEW
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2099
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - SKEW
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBseparate16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2115,1
    - Dst: SKEW4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2104
    functionDepth: 1
    functionLinenumber: 2104
    functionLinenumberEnd: 2120
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBAAseparate16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2144,1
    - Dst: SKEW4
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2125
    functionDepth: 1
    functionLinenumber: 2125
    functionLinenumberEnd: 2149
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBUAseparate16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCIELabToXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2164,1
    - Dst: TIFFXYZToRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2166,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2154
    functionDepth: 1
    functionLinenumber: 2154
    functionLinenumberEnd: 2173
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - TIFFXYZToRGB
    - TIFFCIELabToXYZ
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitCIELab8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCIELab16ToXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2189,1
    - Dst: TIFFXYZToRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2191,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2198
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - TIFFCIELab16ToXYZ
    - TIFFXYZToRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitCIELab16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2210
    functionName: YCbCrtoRGB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YCbCrtoRGB(dst, Y)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2234,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2235,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2236,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2237,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2238,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2239,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2240,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2241,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2242,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2243,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2244,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2245,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2246,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2247,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2248,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2249,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2278,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2280,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2282,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2284,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2290,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2292,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2294,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2296,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2302,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2304,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2306,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2308,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2314,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2316,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2318,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2351
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr44tile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2373,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2374,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2375,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2376,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2377,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2378,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2379,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2380,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2405,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2407,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2413,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2415,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2421,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2423,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2429,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2431,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2456
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr42tile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2473,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2474,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2475,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2476,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2491,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2493,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2507
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr41tile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2526,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2527,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2528,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2529,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2539,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2540,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2557,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2558,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2512
    functionDepth: 1
    functionLinenumber: 2512
    functionLinenumberEnd: 2571
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr22tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2588,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2589,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2576
    functionDepth: 1
    functionLinenumber: 2576
    functionLinenumberEnd: 2610
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr21tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2629,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2630,1
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2652
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr12tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2676
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr11tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFYCbCrtoRGB
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2693,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2694,1
    - Dst: SKEW
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2699
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - TIFFYCbCrtoRGB
    - SKEW
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putseparate8bitYCbCr11tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2705
    functionName: isInRefBlackWhiteRange
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isInRefBlackWhiteRange(float f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2715,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2716,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2721,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2727,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2728,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2736,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2741,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2742,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2743,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2744,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2745,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2746,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2748,1
    - Dst: TIFFYCbCrToRGBInit
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2753,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2707
    functionDepth: 1
    functionLinenumber: 2707
    functionLinenumberEnd: 2756
    functionName: initYCbCrConversion
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - isInRefBlackWhiteRange
    - TIFFErrorExtR
    - TIFFYCbCrToRGBInit
    - _TIFFmallocExt
    - TIFFroundup_32
    linkageType: ''
    returnType: int
    signature: int initYCbCrConversion(TIFFRGBAImage *img)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2765,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2768,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2774,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2778,1
    - Dst: TIFFCIELabToRGBInit
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2788,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2790,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2758
    functionDepth: 1
    functionLinenumber: 2758
    functionLinenumberEnd: 2801
    functionName: initCIELabConversion
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFCIELabToRGBInit
    - TIFFErrorExtR
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: tileContigRoutine
    signature: tileContigRoutine initCIELabConversion(TIFFRGBAImage *img)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2821,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2826,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2826,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2841,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2842,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2843,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2844,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2845,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2846,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2847,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2848,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2851,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2852,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2853,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2854,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2857,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2858,1
    - Dst: GREY
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2868
    functionName: makebwmap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    - TIFFFileName
    - GREY
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int makebwmap(TIFFRGBAImage *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2840
    functionName: GREY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GREY(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2885,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2889,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2889,1
    - Dst: makebwmap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2911,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2875
    functionDepth: 2
    functionLinenumber: 2875
    functionLinenumberEnd: 2918
    functionName: setupMap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - makebwmap
    - TIFFErrorExtR
    - TIFFFileName
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int setupMap(TIFFRGBAImage *img)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2931
    functionName: checkcmap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkcmap(TIFFRGBAImage *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CVT
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2943,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2944,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2948
    functionName: cvtcmap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - CVT
    linkageType: ''
    returnType: void
    signature: void cvtcmap(TIFFRGBAImage *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2943
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2967,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2972,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2972,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2987,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2988,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2989,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2990,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2991,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2992,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2993,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2994,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2997,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2998,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:2999,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3000,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3003,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3004,1
    - Dst: CMAP
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2957
    functionDepth: 1
    functionLinenumber: 2957
    functionLinenumberEnd: 3013
    functionName: makecmap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    - TIFFFileName
    - CMAP
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int makecmap(TIFFRGBAImage *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2984
    functionName: CMAP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMAP(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setupMap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3031,1
    - Dst: checkcmap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3039,1
    - Dst: cvtcmap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3040,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3042,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3042,1
    - Dst: makecmap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3048,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3019
    functionDepth: 3
    functionLinenumber: 3019
    functionLinenumberEnd: 3053
    functionName: buildMap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - makecmap
    - TIFFFileName
    - setupMap
    - checkcmap
    - cvtcmap
    linkageType: ''
    returnType: int
    signature: int buildMap(TIFFRGBAImage *img)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3060,1
    - Dst: BuildMapUaToAa
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3074,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3084,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3090,1
    - Dst: BuildMapUaToAa
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3090,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3095,1
    - Dst: buildMap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3102,1
    - Dst: buildMap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3114,1
    - Dst: buildMap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3135,1
    - Dst: initYCbCrConversion
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3163,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3176,1
    - Dst: buildMap
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3206,1
    - Dst: initCIELabConversion
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3209,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 121
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3058
    functionDepth: 4
    functionLinenumber: 3058
    functionLinenumberEnd: 3214
    functionName: PickContigCase
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - initCIELabConversion
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - initYCbCrConversion
    - BuildMapUaToAa
    - BuildMapBitdepth16To8
    - buildMap
    linkageType: ''
    returnType: int
    signature: int PickContigCase(TIFFRGBAImage *img)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3224,1
    - Dst: BuildMapUaToAa
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3240,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3249,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3254,1
    - Dst: BuildMapUaToAa
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3254,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3259,1
    - Dst: initYCbCrConversion
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3276,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3222
    functionDepth: 2
    functionLinenumber: 3222
    functionLinenumberEnd: 3293
    functionName: PickSeparateCase
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - initYCbCrConversion
    - BuildMapUaToAa
    - BuildMapBitdepth16To8
    linkageType: ''
    returnType: int
    signature: int PickSeparateCase(TIFFRGBAImage *img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3300,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3301,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts:
    - condition: (img->UaToAa == NULL)
      pos:
        line_end: 3299
        line_start: 3299
        source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
    constantsTouched: []
    func_position:
      end: 3314
      start: 3295
    functionDepth: 1
    functionLinenumber: 3295
    functionLinenumberEnd: 3314
    functionName: BuildMapUaToAa
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - _TIFFmallocExt
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int BuildMapUaToAa(TIFFRGBAImage *img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3321,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3322,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts:
    - condition: (img->Bitdepth16To8 == NULL)
      pos:
        line_end: 3320
        line_start: 3320
        source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
    constantsTouched: []
    func_position:
      end: 3332
      start: 3316
    functionDepth: 1
    functionLinenumber: 3316
    functionLinenumberEnd: 3332
    functionName: BuildMapBitdepth16To8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - _TIFFmallocExt
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int BuildMapBitdepth16To8(TIFFRGBAImage *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadRGBAStripExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - row
    - raster
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3341
    functionDepth: 1
    functionLinenumber: 3341
    functionLinenumberEnd: 3345
    functionName: TIFFReadRGBAStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFReadRGBAStripExt
    linkageType: ''
    returnType: int
    signature: int TIFFReadRGBAStrip(TIFF *tif, uint32_t row, uint32_t *raster)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3356,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3358,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3358,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3363,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3367,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3367,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3373,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3374,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3379,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3383,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3383,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3385,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3397,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3399,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3403,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - tif
    - row
    - raster
    - stop_on_error
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3347
    functionDepth: 4
    functionLinenumber: 3347
    functionLinenumberEnd: 3408
    functionName: TIFFReadRGBAStripExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - TIFFRGBAImageBegin
    - TIFFRGBAImageEnd
    - TIFFRGBAImageGet
    - TIFFErrorExtR
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: "int TIFFReadRGBAStripExt(TIFF *tif, uint32_t row, uint32_t *raster,\n
      \                        int stop_on_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadRGBATileExt
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - col
    - row
    - raster
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3420
    functionName: TIFFReadRGBATile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - TIFFReadRGBATileExt
    linkageType: ''
    returnType: int
    signature: int TIFFReadRGBATile(TIFF *tif, uint32_t col, uint32_t row, uint32_t
      *raster)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3437,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3439,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3439,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3444,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3445,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3448,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3448,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3455,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3455,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3465,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3467,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3467,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3473,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3473,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3475,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3503,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3505,1
    - Dst: memmove
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3520,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3523,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_getimage.c:3530,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - tif
    - col
    - row
    - raster
    - stop_on_error
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3422
    functionDepth: 4
    functionLinenumber: 3422
    functionLinenumberEnd: 3535
    functionName: TIFFReadRGBATileExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - TIFFIsTiled
    - TIFFGetFieldDefaulted
    - TIFFRGBAImageBegin
    - TIFFRGBAImageEnd
    - TIFFRGBAImageGet
    - memmove
    - TIFFErrorExtR
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: "int TIFFReadRGBATileExt(TIFF *tif, uint32_t col, uint32_t row, uint32_t
      *raster,\n                        int stop_on_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: streq
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: strneq
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: isPseudoTag
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isPseudoTag(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: isTiled
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isTiled(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: isMapped
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isMapped(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: isFillOrder
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isFillOrder(tif, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: isUpSampled
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isUpSampled(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: TIFFReadFile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFReadFile(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: TIFFWriteFile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteFile(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - 'off'
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: TIFFSeekFile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSeekFile(tif, off, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: TIFFCloseFile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFCloseFile(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: TIFFGetFileSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetFileSize(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - paddr
    - ','
    - psize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: TIFFMapFileContents
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFMapFileContents(tif, paddr, psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - addr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: TIFFUnmapFileContents
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFUnmapFileContents(tif, addr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: ReadOK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ReadOK(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: SeekOK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SeekOK(tif, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: WriteOK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WriteOK(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: TIFFhowmany_32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany_32(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: TIFFhowmany_32_maxuint_compat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany_32_maxuint_compat(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: TIFFhowmany8_32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: TIFFroundup_32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFroundup_32(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: TIFFhowmany_64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany_64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: TIFFhowmany8_64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: TIFFroundup_64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFroundup_64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: TIFFSafeMultiply
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSafeMultiply(t, v, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: TIFFmax
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmax(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: TIFFmin
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmin(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: TIFFArrayCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFArrayCount(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: fseek
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fseek(stream, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: ftell
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftell(stream, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fildes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: _TIFF_lseek_f
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TIFF_lseek_f(fildes, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: _TIFF_fseek_f
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TIFF_fseek_f(stream, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fildes
    - ','
    - stat_buff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: _TIFF_fstat_f
    functionSourceFile: /src/PROJ/libtiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TIFF_fstat_f(fildes, stat_buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ifd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: thandle_from_int
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: thandle_t
    signature: thandle_t thandle_from_int(int ifd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: thandle_to_int
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thandle_to_int(thandle_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 91
    functionName: _tiffReadProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - ReadFile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffReadProc(thandle_t fd, void *buf, tmsize_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: _tiffWriteProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - WriteFile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffWriteProc(thandle_t fd, void *buf, tmsize_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointer
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:143,1
    - Dst: GetLastError
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: _tiffSeekProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - SetFilePointer
    - GetLastError
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffSeekProc(thandle_t fd, uint64_t off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: _tiffCloseProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int _tiffCloseProc(thandle_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetFileSizeEx
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: _tiffSizeProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - GetFileSizeEx
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffSizeProc(thandle_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tiffSizeProc
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:178,1
    - Dst: CreateFileMapping
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:185,1
    - Dst: MapViewOfFile
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:188,1
    - Dst: CloseHandle
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 194
    functionName: _tiffMapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - MapViewOfFile
    - _tiffSizeProc
    - CreateFileMapping
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int _tiffMapProc(thandle_t fd, void **pbase, toff_t *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnmapViewOfFile
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: _tiffUnmapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - UnmapViewOfFile
    linkageType: ''
    returnType: void
    signature: void _tiffUnmapProc(thandle_t fd, void *base, toff_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFdOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ifd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: TIFFFdOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 1
    functionsReached:
    - TIFFFdOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFFdOpen(int ifd, const char *name, const char *mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:230,1
    - Dst: thandle_from_int
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ifd
    - name
    - mode
    - opts
    argTypes:
    - int
    - char*
    - char*
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 238
    functionName: TIFFFdOpenExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 1
    functionsReached:
    - thandle_from_int
    - TIFFClientOpenExt
    linkageType: ''
    returnType: TIFF
    signature: "TIFF *TIFFFdOpenExt(int ifd, const char *name, const char *mode,\n
      \                   TIFFOpenOptions *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: TIFFOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 59
    functionsReached:
    - TIFFOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpen(const char *name, const char *mode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:258,1
    - Dst: CreateFileA
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:281,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:288,1
    - Dst: TIFFFdOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:292,1
    - Dst: thandle_to_int
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:292,1
    - Dst: CloseHandle
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - name
    - mode
    - opts
    argTypes:
    - char*
    - char*
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: TIFFOpenExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 12
    functionsReached:
    - CloseHandle
    - _TIFFErrorEarly
    - _TIFFgetMode
    - TIFFFdOpenExt
    - thandle_to_int
    - CreateFileA
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpenExt(const char *name, const char *mode, TIFFOpenOptions
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenWExt
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: TIFFOpenW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - TIFFOpenWExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpenW(const wchar_t *name, const char *mode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:316,1
    - Dst: CreateFileW
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:339,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:346,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:351,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:354,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:357,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:363,1
    - Dst: TIFFFdOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:366,1
    - Dst: thandle_to_int
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:366,1
    - Dst: CloseHandle
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:369,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - name
    - mode
    - opts
    argTypes:
    - wchar_t*
    - char*
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 374
    functionName: TIFFOpenWExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 1
    functionsReached:
    - WideCharToMultiByte
    - CloseHandle
    - _TIFFErrorEarly
    - _TIFFgetMode
    - _TIFFfree
    - _TIFFmalloc
    - CreateFileW
    - thandle_to_int
    - TIFFFdOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpenWExt(const wchar_t *name, const char *mode, TIFFOpenOptions
      *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: _TIFFmalloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 61
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFmalloc(tmsize_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - nmemb
    - siz
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: _TIFFcalloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFcalloc(tmsize_t nmemb, tmsize_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: _TIFFfree
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 92
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _TIFFfree(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: _TIFFrealloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 9
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFrealloc(void *p, tmsize_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - v
    - c
    argTypes:
    - void*
    - int
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: _TIFFmemset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 35
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _TIFFmemset(void *p, int v, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - s
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: _TIFFmemcpy
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 26
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _TIFFmemcpy(void *d, const void *s, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: _TIFFmemcmp
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _TIFFmemcmp(const void *p1, const void *p2, tmsize_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:415,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:416,1
    - Dst: vfprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:417,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: Win32WarningHandler
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Win32WarningHandler(const char *module, const char *fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:425,1
    - Dst: vfprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:426,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_win32.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: Win32ErrorHandler
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Win32ErrorHandler(const char *module, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/PROJ/libtiff/libtiff/tif_codec.c:112,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_codec.c:115,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_codec.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: _notConfigured
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_codec.c
    functionUses: 0
    functionsReached:
    - TIFFFindCODEC
    - snprintf
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int _notConfigured(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: NotConfigured
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NotConfigured(TIFF *tif, int scheme)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/PROJ/libtiff/libtiff/tif_codec.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: TIFFIsCODECConfigured
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_codec.c
    functionUses: 4
    functionsReached:
    - TIFFFindCODEC
    linkageType: ''
    returnType: int
    signature: int TIFFIsCODECConfigured(uint16_t scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: PredictorState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PredictorState(tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:67,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:78,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:88,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:98,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:107,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:117,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:118,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 125
    functionName: PredictorSetup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - isTiled
    - TIFFScanlineSize
    - TIFFErrorExtR
    - PredictorState
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: int PredictorSetup(TIFF *tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:129,1
    - Dst: PredictorSetup
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:135,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 224
    functionName: PredictorSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorSetup
    - PredictorState
    linkageType: ''
    returnType: int
    signature: int PredictorSetupDecode(TIFF *tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:228,1
    - Dst: PredictorSetup
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:231,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 320
    functionName: PredictorSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorSetup
    - PredictorState
    linkageType: ''
    returnType: int
    signature: int PredictorSetupEncode(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: REPEAT4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(n, op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:653,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:655,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:656,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - tif
    - op0
    - occ0
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->decodepfunc != NULL)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp->decoderow != NULL)
      pos:
        line_end: 655
        line_start: 655
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp != NULL)
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: PredictorDecodeRow
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: "int PredictorDecodeRow(TIFF *tif, uint8_t *op0, tmsize_t occ0,\n                              uint16_t
      s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:677,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:679,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:680,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:685,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:688,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - tif
    - op0
    - occ0
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->decodetile != NULL)
      pos:
        line_end: 679
        line_start: 679
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp != NULL)
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (rowsize > 0)
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp->decodepfunc != NULL)
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 704
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 704
    functionName: PredictorDecodeTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: "int PredictorDecodeTile(TIFF *tif, uint8_t *op0, tmsize_t occ0,\n
      \                              uint16_t s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:709,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:715,1
    - Dst: REPEAT4
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 782
    functionName: horDiff8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - REPEAT4
    - TIFFErrorExtR
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW horDiff8(TIFF *tif, uint8_t *cp0,
      tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:787,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:794,1
    - Dst: REPEAT4
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 812
    functionName: horDiff16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - REPEAT4
    - TIFFErrorExtR
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW horDiff16(TIFF *tif, uint8_t
      *cp0, tmsize_t cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: horDiff16
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:819,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: swabHorDiff16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - horDiff16
    linkageType: ''
    returnType: int
    signature: int swabHorDiff16(TIFF *tif, uint8_t *cp0, tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:829,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:836,1
    - Dst: REPEAT4
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 851
    functionName: horDiff32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - REPEAT4
    - TIFFErrorExtR
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW horDiff32(TIFF *tif, uint8_t
      *cp0, tmsize_t cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: horDiff32
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:858,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 863
    functionName: swabHorDiff32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - horDiff32
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: int
    signature: int swabHorDiff32(TIFF *tif, uint8_t *cp0, tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:868,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:875,1
    - Dst: REPEAT4
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 890
    functionName: horDiff64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - REPEAT4
    - TIFFErrorExtR
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW horDiff64(TIFF *tif, uint8_t
      *cp0, tmsize_t cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: horDiff64
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:897,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: swabHorDiff64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfLong8
    - horDiff64
    linkageType: ''
    returnType: int
    signature: int swabHorDiff64(TIFF *tif, uint8_t *cp0, tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:910,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:919,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:923,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:927,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:940,1
    - Dst: REPEAT4
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - cp0
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 949
    functionName: fpDiff
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    - PredictorState
    - REPEAT4
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW fpDiff(TIFF *tif, uint8_t *cp0,
      tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:954,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:958,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:959,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:960,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:967,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:970,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:975,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:979,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->encodepfunc != NULL)
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp->encoderow != NULL)
      pos:
        line_end: 959
        line_start: 959
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp != NULL)
      pos:
        line_end: 957
        line_start: 957
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 985
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 985
    functionName: PredictorEncodeRow
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TIFFErrorExtR
    - assert
    - PredictorState
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int PredictorEncodeRow(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:991,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:997,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:998,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:999,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1005,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1008,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1013,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1017,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1020,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1021,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - tif
    - bp0
    - cc0
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->encodetile != NULL)
      pos:
        line_end: 998
        line_start: 998
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp->encodepfunc != NULL)
      pos:
        line_end: 997
        line_start: 997
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp != NULL)
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (rowsize > 0)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 1035
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1035
    functionName: PredictorEncodeTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TIFFErrorExtR
    - assert
    - PredictorState
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int PredictorEncodeTile(TIFF *tif, uint8_t *bp0, tmsize_t cc0,\n                               uint16_t
      s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1046,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1048,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1049,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1054,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (sp->vsetparent != NULL)
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp != NULL)
      pos:
        line_end: 1047
        line_start: 1047
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 1062
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1062
    functionName: PredictorVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - TIFFSetFieldBit
    - va_arg
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: int PredictorVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1066,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1068,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1069,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1067
        line_start: 1067
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    - condition: (sp->vgetparent != NULL)
      pos:
        line_end: 1068
        line_start: 1068
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 1080
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1080
    functionName: PredictorVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - va_arg
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: int PredictorVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1084,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1087,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1089,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1093,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1096,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1099,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1106
    functionName: PredictorPrintDir
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - TIFFFieldSet
    - PredictorState
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PredictorPrintDir(TIFF *tif, FILE *fd, long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1110,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1112,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1117,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1117,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 1146
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1146
    functionName: TIFFPredictorInit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 3
    functionsReached:
    - TIFFArrayCount
    - _TIFFMergeFields
    - TIFFErrorExtR
    - assert
    - PredictorState
    linkageType: ''
    returnType: int
    signature: int TIFFPredictorInit(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1150,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_predict.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1151
        line_start: 1151
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 1161
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1161
    functionName: TIFFPredictorCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_predict.c
    functionUses: 2
    functionsReached:
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFPredictorCleanup(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - jbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: SETJMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETJMP(jbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - jbuf
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: LONGJMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGJMP(jbuf, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: JState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:254,1
    - Dst: jpeg_abort
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:256,1
    - Dst: LONGJMP
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: TIFFjpeg_error_exit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_abort
    - LONGJMP
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_error_exit(j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: TIFFjpeg_output_message
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_output_message(j_common_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:286,1
    - Dst: jpeg_abort
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:294,1
    - Dst: LONGJMP
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: TIFFjpeg_progress_monitor
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_abort
    - LONGJMP
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_progress_monitor(j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sp
    - ','
    - fail
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: CALLJPEG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALLJPEG(sp, fail, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: CALLVJPEG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALLVJPEG(sp, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:312,1
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:319,1
    - Dst: jpeg_create_compress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: TIFFjpeg_create_compress
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_create_compress
    - CALLVJPEG
    - jpeg_std_error
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_create_compress(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:325,1
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:332,1
    - Dst: jpeg_create_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: TIFFjpeg_create_decompress
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_create_decompress
    - CALLVJPEG
    - jpeg_std_error
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_create_decompress(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:337,1
    - Dst: jpeg_set_defaults
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: TIFFjpeg_set_defaults
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_defaults
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_set_defaults(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:342,1
    - Dst: jpeg_set_colorspace
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - colorspace
    argTypes:
    - JPEGState*
    - J_COLOR_SPACE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: TIFFjpeg_set_colorspace
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_colorspace
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_set_colorspace(JPEGState *sp, J_COLOR_SPACE colorspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:348,1
    - Dst: jpeg_set_quality
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - quality
    - force_baseline
    argTypes:
    - JPEGState*
    - int
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: TIFFjpeg_set_quality
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_quality
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: "int TIFFjpeg_set_quality(JPEGState *sp, int quality,\n                                boolean
      force_baseline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:354,1
    - Dst: jpeg_suppress_tables
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - suppress
    argTypes:
    - JPEGState*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: TIFFjpeg_suppress_tables
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLVJPEG
    - jpeg_suppress_tables
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_suppress_tables(JPEGState *sp, boolean suppress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:359,1
    - Dst: jpeg_start_compress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - write_all_tables
    argTypes:
    - JPEGState*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: TIFFjpeg_start_compress
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLVJPEG
    - jpeg_start_compress
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_start_compress(JPEGState *sp, boolean write_all_tables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:366,1
    - Dst: jpeg12_write_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:367,1
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:370,1
    - Dst: jpeg_write_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - scanlines
    - num_lines
    argTypes:
    - JPEGState*
    - TIFF_JSAMPARRAY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: TIFFjpeg_write_scanlines
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg12_write_scanlines
    - CALLJPEG
    - jpeg_write_scanlines
    linkageType: ''
    returnType: int
    signature: "int TIFFjpeg_write_scanlines(JPEGState *sp, TIFF_JSAMPARRAY scanlines,\n
      \                                   int num_lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:380,1
    - Dst: jpeg12_write_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:382,1
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:384,1
    - Dst: jpeg_write_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - data
    - num_lines
    argTypes:
    - JPEGState*
    - TIFF_JSAMPIMAGE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: TIFFjpeg_write_raw_data
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    - jpeg12_write_raw_data
    - jpeg_write_raw_data
    linkageType: ''
    returnType: int
    signature: "int TIFFjpeg_write_raw_data(JPEGState *sp, TIFF_JSAMPIMAGE data,\n
      \                                  int num_lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:392,1
    - Dst: jpeg_finish_compress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: TIFFjpeg_finish_compress
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_finish_compress
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_finish_compress(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:397,1
    - Dst: jpeg_write_tables
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: TIFFjpeg_write_tables
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_write_tables
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_write_tables(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:402,1
    - Dst: jpeg_read_header
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - require_image
    argTypes:
    - JPEGState*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: TIFFjpeg_read_header
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    - jpeg_read_header
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_read_header(JPEGState *sp, boolean require_image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:407,1
    - Dst: jpeg_has_multiple_scans
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: TIFFjpeg_has_multiple_scans
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    - jpeg_has_multiple_scans
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_has_multiple_scans(JPEGState *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:417,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:420,1
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:422,1
    - Dst: jpeg_start_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: TIFFjpeg_start_decompress
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - getenv
    - jpeg_start_decompress
    - CALLVJPEG
    - atoi
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_start_decompress(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:429,1
    - Dst: jpeg12_read_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:430,1
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:433,1
    - Dst: jpeg_read_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - scanlines
    - max_lines
    argTypes:
    - JPEGState*
    - TIFF_JSAMPARRAY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: TIFFjpeg_read_scanlines
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg12_read_scanlines
    - CALLJPEG
    - jpeg_read_scanlines
    linkageType: ''
    returnType: int
    signature: "int TIFFjpeg_read_scanlines(JPEGState *sp, TIFF_JSAMPARRAY scanlines,\n
      \                                  int max_lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:443,1
    - Dst: jpeg12_read_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:445,1
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:447,1
    - Dst: jpeg_read_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - data
    - max_lines
    argTypes:
    - JPEGState*
    - TIFF_JSAMPIMAGE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: TIFFjpeg_read_raw_data
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_read_raw_data
    - CALLJPEG
    - jpeg12_read_raw_data
    linkageType: ''
    returnType: int
    signature: "int TIFFjpeg_read_raw_data(JPEGState *sp, TIFF_JSAMPIMAGE data,\n
      \                                 int max_lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:455,1
    - Dst: jpeg_finish_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: TIFFjpeg_finish_decompress
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    - jpeg_finish_decompress
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_finish_decompress(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:460,1
    - Dst: jpeg_abort
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: TIFFjpeg_abort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_abort
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_abort(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:465,1
    - Dst: jpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: TIFFjpeg_destroy
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLVJPEG
    - jpeg_destroy
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_destroy(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sp
    - pool_id
    - samplesperrow
    - numrows
    argTypes:
    - JPEGState*
    - int
    - JDIMENSION
    - JDIMENSION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: TIFFjpeg_alloc_sarray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    linkageType: ''
    returnType: JSAMPARRAY
    signature: "JSAMPARRAY TIFFjpeg_alloc_sarray(JPEGState *sp, int pool_id,\n                                        JDIMENSION
      samplesperrow,\n                                        JDIMENSION numrows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: std_init_destination
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_init_destination(j_compress_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 519
    functionName: std_empty_output_buffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFFlushData1
    linkageType: ''
    returnType: boolean
    signature: boolean std_empty_output_buffer(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: std_term_destination
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_term_destination(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - tif
    argTypes:
    - JPEGState*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: TIFFjpeg_data_dest
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_data_dest(JPEGState *sp, TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: tables_init_destination
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tables_init_destination(j_compress_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:561,1
    - Dst: ERREXIT1
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 571
    functionName: tables_empty_output_buffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFreallocExt
    - ERREXIT1
    linkageType: ''
    returnType: boolean
    signature: boolean tables_empty_output_buffer(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: tables_term_destination
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tables_term_destination(j_compress_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:589,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:591,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - sp
    - tif
    argTypes:
    - JPEGState*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 605
    functionName: TIFFjpeg_tables_dest
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    - _TIFFfreeExt
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_tables_dest(JPEGState *sp, TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: std_init_source
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_init_source(j_decompress_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WARNMS
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 655
    functionName: std_fill_input_buffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - WARNMS
    linkageType: ''
    returnType: boolean
    signature: boolean std_fill_input_buffer(j_decompress_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std_fill_input_buffer
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cinfo
    - num_bytes
    argTypes:
    - j_decompress_ptr
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 674
    functionName: std_skip_input_data
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - std_fill_input_buffer
    linkageType: ''
    returnType: void
    signature: void std_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: std_term_source
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_term_source(j_decompress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 692
    functionName: TIFFjpeg_data_src
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_data_src(JPEGState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: tables_init_source
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tables_init_source(j_decompress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFjpeg_data_src
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: TIFFjpeg_tables_src
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_data_src
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_tables_src(JPEGState *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:723,1
    - Dst: TIFFjpeg_alloc_sarray
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - comp_info
    - num_components
    argTypes:
    - TIFF*
    - jpeg_component_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 741
    functionName: alloc_downsampled_buffers
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_alloc_sarray
    - JState
    linkageType: ''
    returnType: int
    signature: "int alloc_downsampled_buffers(TIFF *tif, jpeg_component_info *comp_info,\n
      \                                    int num_components)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:790,1
    - Dst: JPEGFixupTagsSubsampling
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 799
    functionName: JPEGFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JPEGFixupTagsSubsampling
    - JState
    linkageType: ''
    returnType: int
    signature: int JPEGFixupTags(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:827,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:839,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:842,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:851,1
    - Dst: JPEGFixupTagsSubsamplingSec
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:852,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:853,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 858
    functionName: JPEGFixupTagsSubsampling
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - JPEGFixupTagsSubsamplingSec
    - TIFFWarningExtR
    - TIFFGetStrileByteCount
    - _TIFFmallocExt
    - _TIFFfreeExt
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: void
    signature: void JPEGFixupTagsSubsampling(TIFF *tif)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:869,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:876,1
    - Dst: JPEGFixupTagsSubsamplingReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:911,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:917,1
    - Dst: JPEGFixupTagsSubsamplingReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:936,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:940,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:941,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:945,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:948,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:949,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:953,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:961,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:966,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:976,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 993
    functionName: JPEGFixupTagsSubsamplingSec
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - TIFFWarningExtR
    - JPEGFixupTagsSubsamplingSkip
    - JPEGFixupTagsSubsamplingReadByte
    - JPEGFixupTagsSubsamplingReadWord
    linkageType: ''
    returnType: int
    signature: int JPEGFixupTagsSubsamplingSec(struct JPEGFixupTagsSubsamplingData
      *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1006,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1016,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    - uint8_t*
    assertStmts:
    - condition: (m < 0x80000000UL)
      pos:
        line_end: 1015
        line_start: 1015
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 1028
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1028
    functionName: JPEGFixupTagsSubsamplingReadByte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - TIFFSeekFile
    - TIFFReadFile
    - assert
    linkageType: ''
    returnType: int
    signature: "int JPEGFixupTagsSubsamplingReadByte(struct JPEGFixupTagsSubsamplingData
      *data,\n                                 uint8_t *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1036,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1042
    functionName: JPEGFixupTagsSubsamplingReadWord
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - JPEGFixupTagsSubsamplingReadByte
    linkageType: ''
    returnType: int
    signature: "int JPEGFixupTagsSubsamplingReadWord(struct JPEGFixupTagsSubsamplingData
      *data,\n                                 uint16_t *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - skiplength
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1070
    functionName: JPEGFixupTagsSubsamplingSkip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void JPEGFixupTagsSubsamplingSkip(struct JPEGFixupTagsSubsamplingData
      *data,\n                             uint16_t skiplength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1076,1
    - Dst: TIFFReInitJPEG_12
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1085,1
    - Dst: JPEGInitializeLibJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1089,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1091,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1092,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1095,1
    - Dst: TIFFjpeg_tables_src
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1097,1
    - Dst: TIFFjpeg_read_header
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1098,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1100,1
    - Dst: TIFFjpeg_data_src
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1090
        line_start: 1090
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    - condition: (sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1091
        line_start: 1091
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 1124
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1124
    functionName: JPEGSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_tables_src
    - TIFFjpeg_data_src
    - TIFFReInitJPEG_12
    - TIFFjpeg_read_header
    - assert
    - TIFFErrorExtR
    - TIFFFieldSet
    - JState
    - JPEGInitializeLibJPEG
    linkageType: ''
    returnType: int
    signature: int JPEGSetupDecode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFJPEGIsFullStripRequired_12
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1140,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1143,1
    - Dst: TIFFjpeg_create_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1146,1
    - Dst: TIFFjpeg_data_src
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1148,1
    - Dst: TIFFjpeg_read_header
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1150,1
    - Dst: TIFFjpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1152,1
    - Dst: TIFFjpeg_has_multiple_scans
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1155,1
    - Dst: TIFFjpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1160
    functionName: TIFFJPEGIsFullStripRequired
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - TIFFjpeg_data_src
    - TIFFjpeg_has_multiple_scans
    - TIFFJPEGIsFullStripRequired_12
    - TIFFjpeg_create_decompress
    - memset
    - TIFFjpeg_destroy
    - TIFFjpeg_read_header
    linkageType: ''
    returnType: int
    signature: int TIFFJPEGIsFullStripRequired(TIFF *tif)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1167,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1174,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1178,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1181,1
    - Dst: TIFFjpeg_abort
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1186,1
    - Dst: TIFFjpeg_read_header
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1192,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1201,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1205,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1213,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1223,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1227,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1228,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1233,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1241,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1247,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1262,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1273,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1279,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1287,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1295,1
    - Dst: TIFFjpeg_has_multiple_scans
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1306,1
    - Dst: getenv
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1333,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1335,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1357,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1371,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1382,1
    - Dst: TIFFjpeg_start_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1425,1
    - Dst: alloc_downsampled_buffers
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1430,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 117
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1173
        line_start: 1173
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    - condition: (sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1180
        line_start: 1180
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 1436
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1436
    functionName: JPEGPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - getenv
    - TIFFWarningExtR
    - isTiled
    - TIFFjpeg_abort
    - TIFFjpeg_has_multiple_scans
    - TIFFScanlineSize
    - assert
    - TIFFErrorExtR
    - TIFFhowmany_32
    - JState
    - TIFFjpeg_start_decompress
    - TIFFTileRowSize
    - TIFF*::tif_setupdecode
    - alloc_downsampled_buffers
    - TIFFjpeg_read_header
    linkageType: ''
    returnType: int
    signature: int JPEGPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1445,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1458,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1464,1
    - Dst: TIFFjpeg_read_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1480,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1482,1
    - Dst: TIFFjpeg_finish_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1499
    functionName: JPEGDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - TIFFjpeg_finish_decompress
    - memset
    - JState
    - TIFFjpeg_read_scanlines
    linkageType: ''
    returnType: int
    signature: int JPEGDecode(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1506,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1519,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1525,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1541,1
    - Dst: TIFFjpeg_read_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1556,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1558,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1602,1
    - Dst: TIFFjpeg_finish_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1611,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1612
    functionName: JPEGDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - TIFFjpeg_finish_decompress
    - memset
    - JState
    - _TIFFmallocExt
    - TIFFjpeg_read_scanlines
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int JPEGDecode(TIFF *tif, uint8_t *buf, tmsize_t cc,\n                                   uint16_t
      s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1629
    functionName: DecodeRowError
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: "int DecodeRowError(TIFF *tif, uint8_t *buf, tmsize_t cc,\n                                       uint16_t
      s)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1638,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1647,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1663,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1668,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1680,1
    - Dst: TIFFjpeg_read_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1690,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1720,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1797,1
    - Dst: TIFFjpeg_finish_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1803,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1807,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1810
    functionName: JPEGDecodeRaw
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_finish_decompress
    - isTiled
    - TIFFErrorExtR
    - JState
    - _TIFFmallocExt
    - _TIFFfreeExt
    - TIFFjpeg_read_raw_data
    linkageType: ''
    returnType: int
    signature: "int JPEGDecodeRaw(TIFF *tif, uint8_t *buf, tmsize_t cc,\n                                      uint16_t
      s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1822
    functionName: unsuppress_quant_table
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsuppress_quant_table(JPEGState *sp, int tblno)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1830
    functionName: suppress_quant_table
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suppress_quant_table(JPEGState *sp, int tblno)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1840
    functionName: unsuppress_huff_table
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsuppress_huff_table(JPEGState *sp, int tblno)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1850
    functionName: suppress_huff_table
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suppress_huff_table(JPEGState *sp, int tblno)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1854,1
    - Dst: TIFFjpeg_set_quality
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1857,1
    - Dst: TIFFjpeg_suppress_tables
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1861,1
    - Dst: unsuppress_quant_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1865,1
    - Dst: unsuppress_quant_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1867,1
    - Dst: unsuppress_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1871,1
    - Dst: unsuppress_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1873,1
    - Dst: TIFFjpeg_tables_dest
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1876,1
    - Dst: TIFFjpeg_write_tables
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1852
    functionDepth: 2
    functionLinenumber: 1852
    functionLinenumberEnd: 1883
    functionName: prepare_JPEGTables
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_write_tables
    - unsuppress_huff_table
    - TIFFjpeg_suppress_tables
    - TIFFjpeg_tables_dest
    - TIFFjpeg_set_quality
    - JState
    - unsuppress_quant_table
    linkageType: ''
    returnType: int
    signature: int prepare_JPEGTables(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1896,1
    - Dst: jpeg_std_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1900,1
    - Dst: jpeg_std_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1904,1
    - Dst: jpeg_std_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1910
    functionName: TIFF_std_huff_tables
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_std_huff_table
    linkageType: ''
    returnType: void
    signature: void TIFF_std_huff_tables(j_compress_ptr cinfo)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1915,1
    - Dst: TIFFReInitJPEG_12
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1925,1
    - Dst: JPEGInitializeLibJPEG
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1929,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1931,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1932,1
    - Dst: TIFFjpeg_set_defaults
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1976,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:1987,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2005,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2011,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2024,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2034,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2040,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2066,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2075,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2079,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2086,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2097,1
    - Dst: memcmp
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2110,1
    - Dst: TIFF_std_huff_tables
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2123,1
    - Dst: prepare_JPEGTables
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2127,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2132,1
    - Dst: TIFFClrFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2139,1
    - Dst: TIFFjpeg_data_dest
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2143,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 106
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (!sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1931
        line_start: 1931
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    - condition: (sp != NULL)
      pos:
        line_end: 1930
        line_start: 1930
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2146
      start: 1913
    functionDepth: 3
    functionLinenumber: 1913
    functionLinenumberEnd: 2146
    functionName: JPEGSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - isTiled
    - TIFFReInitJPEG_12
    - prepare_JPEGTables
    - TIFFSetFieldBit
    - TIFFjpeg_data_dest
    - assert
    - TIFFErrorExtR
    - TIFF_std_huff_tables
    - TIFFSetField
    - JState
    - memcmp
    - TIFFClrFieldBit
    - TIFFGetField
    - TIFFjpeg_set_defaults
    - JPEGInitializeLibJPEG
    linkageType: ''
    returnType: int
    signature: int JPEGSetupEncode(TIFF *tif)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2153,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2159,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2163,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2166,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2170,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2174,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2182,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2191,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2195,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2196,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2201,1
    - Dst: TIFFjpeg_set_colorspace
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2219,1
    - Dst: TIFFjpeg_set_colorspace
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2230,1
    - Dst: TIFFjpeg_set_colorspace
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2237,1
    - Dst: TIFFjpeg_set_quality
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2260,1
    - Dst: suppress_quant_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2264,1
    - Dst: suppress_quant_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2265,1
    - Dst: unsuppress_quant_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2269,1
    - Dst: unsuppress_quant_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2270,1
    - Dst: suppress_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2277,1
    - Dst: suppress_huff_table
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2278,1
    - Dst: TIFFjpeg_start_compress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2300,1
    - Dst: alloc_downsampled_buffers
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2305,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 94
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2158
        line_start: 2158
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    - condition: (!sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 2165
        line_start: 2165
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2313
      start: 2151
    functionDepth: 3
    functionLinenumber: 2151
    functionLinenumberEnd: 2313
    functionName: JPEGPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFF*::tif_setupencode
    - TIFFjpeg_set_colorspace
    - suppress_huff_table
    - isTiled
    - TIFFScanlineSize
    - suppress_quant_table
    - assert
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFjpeg_start_compress
    - TIFFjpeg_set_quality
    - JState
    - TIFFTileRowSize
    - unsuppress_quant_table
    - alloc_downsampled_buffers
    linkageType: ''
    returnType: int
    signature: int JPEGPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2321,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2328,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2332,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2335,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2341,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2344,1
    - Dst: TIFFjpeg_write_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2374,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2327
        line_start: 2327
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2387
      start: 2319
    functionDepth: 2
    functionLinenumber: 2319
    functionLinenumberEnd: 2387
    functionName: JPEGEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_write_scanlines
    - TIFFWarningExtR
    - isTiled
    - assert
    - TIFFErrorExtR
    - JState
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int JPEGEncode(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2395,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2406,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2410,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2429,1
    - Dst: TIFFjpeg_write_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2484,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2405
        line_start: 2405
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2496
      start: 2393
    functionDepth: 2
    functionLinenumber: 2393
    functionLinenumberEnd: 2496
    functionName: JPEGEncodeRaw
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - TIFFErrorExtR
    - assert
    - JState
    - TIFFjpeg_write_raw_data
    linkageType: ''
    returnType: int
    signature: int JPEGEncodeRaw(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2503,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2522,1
    - Dst: TIFFjpeg_write_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2527,1
    - Dst: TIFFjpeg_finish_compress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2531,1
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2501
    functionDepth: 2
    functionLinenumber: 2501
    functionLinenumberEnd: 2532
    functionName: JPEGPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_write_raw_data
    - _TIFFmemcpy
    - JState
    - TIFFjpeg_finish_compress
    linkageType: ''
    returnType: int
    signature: int JPEGPostEncode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2536,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2538,1
    - Dst: TIFFjpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2544,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2546,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2547,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 2537
        line_start: 2537
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2551
      start: 2534
    functionDepth: 2
    functionLinenumber: 2534
    functionLinenumberEnd: 2551
    functionName: JPEGCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - assert
    - JState
    - TIFFjpeg_destroy
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void JPEGCleanup(TIFF *tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2555,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2586,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2586,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2589
    functionName: JPEGResetUpsampled
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - isTiled
    - TIFFScanlineSize
    - JState
    linkageType: ''
    returnType: void
    signature: void JPEGResetUpsampled(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2593,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2597,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2602,1
    - Dst: _TIFFsetByteArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2608,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2609,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2611,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2614,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2617,1
    - Dst: JPEGResetUpsampled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2618,1
    - Dst: JPEGResetUpsampled
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2623,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2627,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2638,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2596
        line_start: 2596
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2649
      start: 2591
    functionDepth: 3
    functionLinenumber: 2591
    functionLinenumberEnd: 2649
    functionName: JPEGVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFFieldWithTag
    - _TIFFsetByteArrayExt
    - JPEGResetUpsampled
    - TIFFSetFieldBit
    - assert
    - va_arg
    - JState
    linkageType: ''
    returnType: int
    signature: int JPEGVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2653,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2655,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2660,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2661,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2664,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2667,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2654
        line_start: 2654
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2676
      start: 2651
    functionDepth: 1
    functionLinenumber: 2651
    functionLinenumberEnd: 2676
    functionName: JPEGVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - va_arg
    - JState
    - assert
    linkageType: ''
    returnType: int
    signature: int JPEGVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2680,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2682,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2687,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2681
        line_start: 2681
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2693
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2693
    functionName: JPEGPrintDir
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TIFFFieldSet
    - JState
    - assert
    linkageType: ''
    returnType: void
    signature: void JPEGPrintDir(TIFF *tif, FILE *fd, long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2697,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2704
    functionName: JPEGDefaultStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFroundup_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JPEGDefaultStripSize(TIFF *tif, uint32_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2708,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2712,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - tw
    - th
    argTypes:
    - TIFF*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2714
    functionName: JPEGDefaultTileSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFroundup_32
    linkageType: ''
    returnType: void
    signature: void JPEGDefaultTileSize(TIFF *tif, uint32_t *tw, uint32_t *th)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2740,1
    - Dst: TIFFjpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2745,1
    - Dst: TIFFjpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2747,1
    - Dst: TIFFjpeg_create_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2759,1
    - Dst: TIFFjpeg_create_compress
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2764,1
    - Dst: getenv
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2776,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - tif
    - decompress
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2738
    functionDepth: 2
    functionLinenumber: 2738
    functionLinenumberEnd: 2794
    functionName: JPEGInitializeLibJPEG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 2
    functionsReached:
    - getenv
    - TIFFjpeg_create_compress
    - TIFFjpeg_create_decompress
    - JState
    - TIFFjpeg_destroy
    linkageType: ''
    returnType: int
    signature: int JPEGInitializeLibJPEG(TIFF *tif, int decompress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2797
    functionDepth: 1
    functionLinenumber: 2797
    functionLinenumberEnd: 2838
    functionName: TIFFInitJPEGCommon
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    linkageType: ''
    returnType: void
    signature: void TIFFInitJPEGCommon(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2845,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2850,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2850,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2852,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2860,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2864,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2867,1
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2869,1
    - Dst: TIFFInitJPEGCommon
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2880,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2901,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2904,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg.c:2908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_JPEG)
      pos:
        line_end: 2844
        line_start: 2844
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2915
      start: 2840
    functionDepth: 2
    functionLinenumber: 2840
    functionLinenumberEnd: 2915
    functionName: TIFFInitJPEG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFArrayCount
    - _TIFFMergeFields
    - TIFFInitJPEGCommon
    - TIFFErrorExtR
    - assert
    - JState
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitJPEG(TIFF *tif, int scheme)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:43,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tif
    - row
    - sample
    argTypes:
    - TIFF*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: TIFFComputeStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 6
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFComputeStrip(TIFF *tif, uint32_t row, uint16_t sample)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:72,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:77,1
    - Dst: _TIFFMultiply32
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: TIFFNumberOfStrips
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 23
    functionsReached:
    - TIFFWarningExtR
    - _TIFFMultiply32
    - TIFFhowmany_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFNumberOfStrips(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:95,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:113,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:116,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:124,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:130,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:131,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:132,1
    - Dst: TIFFhowmany8_64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:134,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:134,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:137,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:140,1
    - Dst: TIFFScanlineSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 141
    functionName: TIFFVStripSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - isUpSampled
    - TIFFGetFieldDefaulted
    - _TIFFMultiply64
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFScanlineSize64
    - TIFFhowmany8_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFVStripSize64(TIFF *tif, uint32_t nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:146,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: TIFFVStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 7
    functionsReached:
    - TIFFVStripSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFVStripSize(TIFF *tif, uint32_t nrows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:156,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: TIFFRawStripSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFGetStrileByteCount
    - TIFFErrorExtR
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFRawStripSize64(TIFF *tif, uint32_t strip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRawStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:173,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: TIFFRawStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFRawStripSize64
    - TIFFErrorExtR
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFRawStripSize(TIFF *tif, uint32_t strip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: TIFFStripSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 3
    functionsReached:
    - TIFFVStripSize64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFStripSize64(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:208,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: TIFFStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 25
    functionsReached:
    - TIFFStripSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFStripSize(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - request
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: TIFFDefaultStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFDefaultStripSize(TIFF *tif, uint32_t request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: _TIFFDefaultStripSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _TIFFDefaultStripSize(TIFF *tif, uint32_t s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:265,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:274,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:277,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:285,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:291,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:292,1
    - Dst: TIFFhowmany_64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:295,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:295,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:313,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:317,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:321,1
    - Dst: TIFFhowmany_64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:324,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:324,1
    - Dst: TIFFhowmany_64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:332,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:332,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:338,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 342
    functionName: TIFFScanlineSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 3
    functionsReached:
    - isUpSampled
    - TIFFGetFieldDefaulted
    - _TIFFMultiply64
    - TIFFhowmany_64
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFroundup_32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFScanlineSize64(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:347,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: TIFFScanlineSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 39
    functionsReached:
    - TIFFScanlineSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFScanlineSize(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:364,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:368,1
    - Dst: TIFFhowmany8_64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:369,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:372,1
    - Dst: TIFFhowmany8_64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: TIFFRasterScanlineSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - _TIFFMultiply64
    - TIFFhowmany8_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFRasterScanlineSize64(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRasterScanlineSize64
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:379,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_strip.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: TIFFRasterScanlineSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_strip.c
    functionUses: 3
    functionsReached:
    - _TIFFCastUInt64ToSSize
    - TIFFRasterScanlineSize64
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFRasterScanlineSize(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compar
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - key
    - base
    - nmemb
    - size
    argTypes:
    - void*
    - void*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: td_lfind
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - compar
    linkageType: ''
    returnType: void
    signature: "void *td_lfind(const void *key, const void *base, size_t *nmemb,\n
      \                     size_t size, int (*compar)(const void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: _TIFFGetFields
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TIFFFieldArray
    signature: TIFFFieldArray *_TIFFGetFields(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: _TIFFGetExifFields
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TIFFFieldArray
    signature: TIFFFieldArray *_TIFFGetExifFields(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: _TIFFGetGpsFields
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TIFFFieldArray
    signature: TIFFFieldArray *_TIFFGetGpsFields(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldIsAnonymous
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:524,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:526,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:531,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:536,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:540,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - fieldarray
    argTypes:
    - TIFF*
    - TIFFFieldArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 544
    functionName: _TIFFSetupFields
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 2
    functionsReached:
    - _TIFFMergeFields
    - TIFFErrorExtR
    - _TIFFfreeExt
    - TIFFFieldIsAnonymous
    linkageType: ''
    returnType: void
    signature: void _TIFFSetupFields(TIFF *tif, const TIFFFieldArray *fieldarray)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 557
    functionName: tagCompare
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tagCompare(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: tagNameCompare
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tagNameCompare(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:584,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:591,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:595,1
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:602,1
    - Dst: qsort
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - info
    - n
    argTypes:
    - TIFF*
    - TIFFField[]
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 616
    functionName: _TIFFMergeFields
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 5
    functionsReached:
    - qsort
    - TIFFFindField
    - _TIFFCheckRealloc
    - _TIFFCheckMalloc
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int _TIFFMergeFields(TIFF *tif, const TIFFField info[], uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:622,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - fd
    argTypes:
    - TIFF*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 632
    functionName: _TIFFPrintFieldInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _TIFFPrintFieldInfo(TIFF *tif, FILE *fd)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 665
    functionName: TIFFDataWidth
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFDataWidth(TIFFDataType type)
  - BBCount: 55
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 64
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 751
    functionName: TIFFFieldSetGetSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldSetGetSize(const TIFFField *fip)
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 793
    functionName: TIFFFieldSetGetCountSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldSetGetCountSize(const TIFFField *fip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - dt
    argTypes:
    - TIFF*
    - uint32_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 816
    functionName: TIFFFindField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 5
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: TIFFField
    signature: TIFFField *TIFFFindField(TIFF *tif, uint32_t tag, TIFFDataType dt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:825,1
    - Dst: td_lfind
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - field_name
    - dt
    argTypes:
    - TIFF*
    - char*
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 843
    functionName: _TIFFFindFieldByName
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - td_lfind
    - streq
    linkageType: ''
    returnType: TIFFField
    signature: "TIFFField *_TIFFFindFieldByName(TIFF *tif, const char *field_name,\n
      \                                            TIFFDataType dt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:847,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: TIFFFieldWithTag
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 4
    functionsReached:
    - TIFFWarningExtR
    - TIFFFindField
    linkageType: ''
    returnType: TIFFField
    signature: TIFFField *TIFFFieldWithTag(TIFF *tif, uint32_t tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFindFieldByName
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:858,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - field_name
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 865
    functionName: TIFFFieldWithName
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached:
    - TIFFWarningExtR
    - _TIFFFindFieldByName
    linkageType: ''
    returnType: TIFFField
    signature: TIFFField *TIFFFieldWithName(TIFF *tif, const char *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: TIFFFieldTag
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFFieldTag(const TIFFField *fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 869
    functionName: TIFFFieldName
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *TIFFFieldName(const TIFFField *fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 871
    functionName: TIFFFieldDataType
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFDataType
    signature: TIFFDataType TIFFFieldDataType(const TIFFField *fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 873
    functionName: TIFFFieldPassCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldPassCount(const TIFFField *fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 875
    functionName: TIFFFieldReadCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldReadCount(const TIFFField *fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 877
    functionName: TIFFFieldWriteCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldWriteCount(const TIFFField *fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    functionName: TIFFFieldIsAnonymous
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldIsAnonymous(const TIFFField *fip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:887,1
    - Dst: _TIFFCreateAnonField
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:890,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - tag
    - dt
    argTypes:
    - TIFF*
    - uint32_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 896
    functionName: _TIFFFindOrRegisterField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - _TIFFMergeFields
    - TIFFFindField
    - _TIFFCreateAnonField
    linkageType: ''
    returnType: TIFFField
    signature: "TIFFField *_TIFFFindOrRegisterField(TIFF *tif, uint32_t tag,\n                                          TIFFDataType
      dt)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:904,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:907,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:964,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:967,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:978,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 3
    argNames:
    - tif
    - tag
    - field_type
    argTypes:
    - TIFF*
    - uint32_t
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 981
    functionName: _TIFFCreateAnonField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - _TIFFmallocExt
    - snprintf
    - _TIFFfreeExt
    linkageType: ''
    returnType: TIFFField
    signature: "TIFFField *_TIFFCreateAnonField(TIFF *tif, uint32_t tag,\n                                TIFFDataType
      field_type)"
  - BBCount: 74
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 140
    argCount: 3
    argNames:
    - type
    - count
    - passcount
    argTypes:
    - TIFFDataType
    - short
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1145
    functionName: _TIFFSetGetType
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFSetGetFieldType
    signature: "TIFFSetGetFieldType _TIFFSetGetType(TIFFDataType type, short count,\n
      \                                          unsigned char passcount)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1157,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1163,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1168,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1177,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1180,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1193,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1205,1
    - Dst: _TIFFSetGetType
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1217,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1238,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - tif
    - info
    - n
    argTypes:
    - TIFF*
    - TIFFFieldInfo[]
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1245
    functionName: TIFFMergeFieldInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 2
    functionsReached:
    - _TIFFCheckRealloc
    - _TIFFSetGetType
    - _TIFFCheckMalloc
    - _TIFFMergeFields
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFMergeFieldInfo(TIFF *tif, const TIFFFieldInfo info[], uint32_t
      n)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsCODECConfigured
      Src: /src/PROJ/libtiff/libtiff/tif_dirinfo.c:1276,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - ttag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1364
    functionName: _TIFFCheckFieldIsValidForCodec
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - TIFFIsCODECConfigured
    linkageType: ''
    returnType: int
    signature: int _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: TIFFSetErrorHandler
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_error.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandler
    signature: TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandlerExt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: TIFFSetErrorHandlerExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_error.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandlerExt
    signature: TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:51,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:53,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:57,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - module
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: TIFFError
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_error.c
    functionUses: 137
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TIFFError(const char *module, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:68,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:70,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:74,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - module
    - fmt
    argTypes:
    - thandle_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: TIFFErrorExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_error.c
    functionUses: 2
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TIFFErrorExt(thandle_t fd, const char *module, const char *fmt,
      ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:86,1
    - Dst: TIFFOpenOptions*::errorhandler
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:87,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:89,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:95,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:97,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:101,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - opts
    - clientdata
    - module
    - fmt
    argTypes:
    - TIFFOpenOptions*
    - thandle_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: _TIFFErrorEarly
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_error.c
    functionUses: 2
    functionsReached:
    - TIFFOpenOptions*::errorhandler
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void _TIFFErrorEarly(TIFFOpenOptions *opts, thandle_t clientdata,\n
      \                    const char *module, const char *fmt, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:112,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:115,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:121,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:123,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:127,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_error.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - module
    - fmt
    argTypes:
    - TIFF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: TIFFErrorExtR
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_error.c
    functionUses: 105
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TIFFErrorExtR(TIFF *tif, const char *module, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: SAFE_MSG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_MSG(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: GetZIPState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetZIPState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: ZIPDecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZIPDecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: ZIPEncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZIPEncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ZIPFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZIPFixupTags(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZIPDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:104,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:106,1
    - Dst: deflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:111,1
    - Dst: inflateInit
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:119,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:121,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: ZIPSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - ZIPDecoderState
    - inflateInit
    - deflateEnd
    - TIFFErrorExtR
    - assert
    - SAFE_MSG
    linkageType: ''
    returnType: int
    signature: int ZIPSetupDecode(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: TIFF_MIN_UINT64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFF_MIN_UINT64(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFF_MIN_UINT64
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: TIFF_CLAMP_UINT64_TO_INT32_MAX
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - TIFF_MIN_UINT64
    linkageType: ''
    returnType: uInt
    signature: uInt TIFF_CLAMP_UINT64_TO_INT32_MAX(uint64_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZIPDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:146,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:149,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:152,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:158,1
    - Dst: TIFF_CLAMP_UINT64_TO_INT32_MAX
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:162,1
    - Dst: inflateReset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    - condition: (sizeof(sp->stream.avail_in) == 4)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: ZIPPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - ZIPDecoderState
    - inflateReset
    - TIFF_CLAMP_UINT64_TO_INT32_MAX
    - assert
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int ZIPPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ZIPDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:174,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:177,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:178,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:182,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:183,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:206,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:208,1
    - Dst: TIFFVStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:216,1
    - Dst: libdeflate_alloc_decompressor
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:231,1
    - Dst: libdeflate_zlib_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:240,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:255,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:256,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:271,1
    - Dst: TIFF_CLAMP_UINT64_TO_INT32_MAX
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:278,1
    - Dst: TIFF_CLAMP_UINT64_TO_INT32_MAX
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:279,1
    - Dst: inflate
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:282,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:289,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:290,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:291,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:297,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:298,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:298,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:305,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:309,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    - condition: (sp->state == ZSTATE_INIT_DECODE)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    - condition: (sizeof(sp->stream.avail_out) == 4)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 317
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 317
    functionName: ZIPDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - ZIPDecoderState
    - isTiled
    - TIFFTileSize64
    - libdeflate_alloc_decompressor
    - TIFF_CLAMP_UINT64_TO_INT32_MAX
    - TIFFErrorExtR
    - assert
    - memset
    - inflate
    - libdeflate_zlib_decompress
    - SAFE_MSG
    - TIFFVStripSize64
    linkageType: ''
    returnType: int
    signature: int ZIPDecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZIPEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:322,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:325,1
    - Dst: inflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:328,1
    - Dst: deflateInit
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:336,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:338,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 346
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 346
    functionName: ZIPSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - deflateInit
    - TIFFErrorExtR
    - assert
    - SAFE_MSG
    - ZIPEncoderState
    linkageType: ''
    returnType: int
    signature: int ZIPSetupEncode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZIPEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:353,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:356,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:358,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:364,1
    - Dst: deflateReset
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    - condition: (sizeof(sp->stream.avail_out) == 4)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 372
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 372
    functionName: ZIPPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - ZIPEncoderState
    - deflateReset
    - TIFF*::tif_setupencode
    - assert
    linkageType: ''
    returnType: int
    signature: int ZIPPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ZIPEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:380,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:382,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:383,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:407,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:409,1
    - Dst: TIFFVStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:417,1
    - Dst: libdeflate_alloc_compressor
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:434,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:441,1
    - Dst: libdeflate_zlib_compress_bound
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:452,1
    - Dst: libdeflate_zlib_compress
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:459,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:465,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:472,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:482,1
    - Dst: TIFF_CLAMP_UINT64_TO_INT32_MAX
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:488,1
    - Dst: deflate
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:490,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:492,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:492,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:498,1
    - Dst: TIFF_CLAMP_UINT64_TO_INT32_MAX
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:502,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sizeof(sp->stream.avail_in) == 4)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    - condition: (sp != NULL)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    - condition: (sp->state == ZSTATE_INIT_ENCODE)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 507
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 507
    functionName: ZIPEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - deflate
    - libdeflate_zlib_compress_bound
    - isTiled
    - TIFFTileSize64
    - TIFF_CLAMP_UINT64_TO_INT32_MAX
    - assert
    - TIFFErrorExtR
    - libdeflate_alloc_compressor
    - libdeflate_zlib_compress
    - TIFFFlushData1
    - SAFE_MSG
    - ZIPEncoderState
    - TIFFVStripSize64
    linkageType: ''
    returnType: int
    signature: int ZIPEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZIPEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:516,1
    - Dst: deflate
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:527,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:536,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:546,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 551
    functionName: ZIPPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - deflate
    - TIFFErrorExtR
    - TIFFFlushData1
    - SAFE_MSG
    - ZIPEncoderState
    linkageType: ''
    returnType: int
    signature: int ZIPPostEncode(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetZIPState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:555,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:557,1
    - Dst: TIFFPredictorCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:559,1
    - Dst: deflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:566,1
    - Dst: inflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:571,1
    - Dst: libdeflate_free_decompressor
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:577,1
    - Dst: libdeflate_free_compressor
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:579,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:582,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 586
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 586
    functionName: ZIPCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - _TIFFSetDefaultCompressionState
    - libdeflate_free_compressor
    - deflateEnd
    - TIFFPredictorCleanup
    - GetZIPState
    - assert
    - libdeflate_free_decompressor
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void ZIPCleanup(TIFF *tif)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetZIPState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:591,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:596,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:600,1
    - Dst: deflateParams
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:612,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:615,1
    - Dst: SAFE_MSG
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:615,1
    - Dst: libdeflate_free_compressor
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:623,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:631,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:635,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:641,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 653
    functionName: ZIPVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - libdeflate_free_compressor
    - GetZIPState
    - TIFFErrorExtR
    - va_arg
    - SAFE_MSG
    - deflateParams
    linkageType: ''
    returnType: int
    signature: int ZIPVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetZIPState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:657,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:662,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 673
    functionName: ZIPVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - va_arg
    - GetZIPState
    linkageType: ''
    returnType: int
    signature: int ZIPVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:689,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 694
    functionName: TIFF_zalloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void *TIFF_zalloc(void *opaque, unsigned int items, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: TIFF_zfree
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void TIFF_zfree(void *opaque, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:706,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:715,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:715,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:717,1
    - Dst: _TIFFcallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:725,1
    - Dst: GetZIPState
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:728,1
    - Dst: TIFFPredictorInit
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:770,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zip.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: "((scheme == COMPRESSION_DEFLATE) ||\n           (scheme == COMPRESSION_ADOBE_DEFLATE))"
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 775
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 775
    functionName: TIFFInitZIP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - _TIFFMergeFields
    - GetZIPState
    - TIFFErrorExtR
    - _TIFFcallocExt
    - assert
    - TIFFPredictorInit
    linkageType: ''
    returnType: int
    signature: int TIFFInitZIP(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: TIFFReadUInt64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFReadUInt64(const uint8_t *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:309,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:314,1
    - Dst: TIFFReadDirEntryCheckRangeByteSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:315,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:324,1
    - Dst: TIFFReadDirEntryCheckRangeByteShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:325,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:334,1
    - Dst: TIFFReadDirEntryCheckRangeByteSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:335,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:344,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:345,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:354,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:355,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:364,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:367,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:376,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 388
    functionName: TIFFReadDirEntryByte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeByteLong
    - TIFFReadDirEntryCheckRangeByteSshort
    - TIFFReadDirEntryCheckRangeByteSlong
    - TIFFReadDirEntryCheckRangeByteSlong8
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeByteShort
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckRangeByteSbyte
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    - TIFFReadDirEntryCheckRangeByteLong8
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryByte(TIFF *tif, TIFFDirEntry
      *direntry, uint8_t *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:403,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:404,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:412,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:418,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:419,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:428,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:429,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:438,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:439,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:448,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:449,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:458,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:461,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:470,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 72
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 482
    functionName: TIFFReadDirEntrySbyte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeSbyteLong
    - TIFFReadDirEntryCheckRangeSbyteLong8
    - TIFFReadDirEntryCheckRangeSbyteByte
    - TIFFReadDirEntryCheckRangeSbyteSlong
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckRangeSbyteShort
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckRangeSbyteSlong8
    - TIFFReadDirEntryCheckRangeSbyteSshort
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySbyte(TIFF *tif, TIFFDirEntry
      *direntry, int8_t *value)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:495,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:502,1
    - Dst: TIFFReadDirEntryCheckRangeShortSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:503,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:510,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:515,1
    - Dst: TIFFReadDirEntryCheckRangeShortSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:516,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:525,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:526,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:535,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:536,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:545,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:548,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:557,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:560,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 569
    functionName: TIFFReadDirEntryShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckRangeShortSlong8
    - TIFFReadDirEntryCheckRangeShortSshort
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeShortLong
    - TIFFReadDirEntryCheckRangeShortLong8
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckRangeShortSlong
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckRangeShortSbyte
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryShort(TIFF *tif, TIFFDirEntry
      *direntry, uint16_t *value)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:582,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:589,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:596,1
    - Dst: TIFFReadDirEntryCheckRangeSshortShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:597,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:604,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:609,1
    - Dst: TIFFReadDirEntryCheckRangeSshortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:610,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:619,1
    - Dst: TIFFReadDirEntryCheckRangeSshortSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:620,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:629,1
    - Dst: TIFFReadDirEntryCheckRangeSshortLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:632,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:641,1
    - Dst: TIFFReadDirEntryCheckRangeSshortSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 653
    functionName: TIFFReadDirEntrySshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeSshortLong
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckRangeSshortSlong
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckRangeSshortSlong8
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckRangeSshortShort
    - TIFFReadDirEntryCheckedShort
    - TIFFReadDirEntryCheckRangeSshortLong8
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySshort(TIFF *tif, TIFFDirEntry
      *direntry, int16_t *value)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:666,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:673,1
    - Dst: TIFFReadDirEntryCheckRangeLongSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:674,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:683,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:690,1
    - Dst: TIFFReadDirEntryCheckRangeLongSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:691,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:698,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:703,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:704,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:713,1
    - Dst: TIFFReadDirEntryCheckRangeLongLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:716,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:725,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 737
    functionName: TIFFReadDirEntryLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeLongSlong8
    - TIFFReadDirEntryCheckRangeLongSbyte
    - TIFFReadDirEntryCheckRangeLongSshort
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeLongLong8
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckRangeLongSlong
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLong(TIFF *tif, TIFFDirEntry
      *direntry, uint32_t *value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:750,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:757,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:764,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:771,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:778,1
    - Dst: TIFFReadDirEntryCheckRangeSlongLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:779,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:786,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:791,1
    - Dst: TIFFReadDirEntryCheckRangeSlongLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:794,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:803,1
    - Dst: TIFFReadDirEntryCheckRangeSlongSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 58
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 815
    functionName: TIFFReadDirEntrySlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeSlongSlong8
    - TIFFReadDirEntryCheckRangeSlongLong
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckRangeSlongLong8
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySlong(TIFF *tif, TIFFDirEntry
      *direntry, int32_t *value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:828,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:835,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:836,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:845,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:852,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:853,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:862,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:869,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:870,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:877,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:882,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 894
    functionName: TIFFReadDirEntryLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeLong8Slong8
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckRangeLong8Sbyte
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeLong8Slong
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckRangeLong8Sshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLong8(TIFF *tif, TIFFDirEntry
      *direntry, uint64_t *value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:907,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:914,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:921,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:928,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:935,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:942,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:949,1
    - Dst: TIFFReadDirEntryCheckRangeSlong8Long8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:952,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 964
    functionName: TIFFReadDirEntrySlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeSlong8Long8
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySlong8(TIFF *tif, TIFFDirEntry
      *direntry, int64_t *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:977,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:984,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:991,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:998,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1005,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1012,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1019,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1028,1
    - Dst: TIFFReadDirEntryCheckedRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1037,1
    - Dst: TIFFReadDirEntryCheckedSrational
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1046,1
    - Dst: TIFFReadDirEntryCheckedFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1053,1
    - Dst: TIFFReadDirEntryCheckedDouble
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1058,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 77
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 1069
    functionName: TIFFReadDirEntryFloat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedSrational
    - TIFFReadDirEntryCheckedRational
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedFloat
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedDouble
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryFloat(TIFF *tif, TIFFDirEntry
      *direntry, float *value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1082,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1089,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1096,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1103,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1110,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1117,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1124,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1133,1
    - Dst: TIFFReadDirEntryCheckedRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1140,1
    - Dst: TIFFReadDirEntryCheckedSrational
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1143,1
    - Dst: TIFFReadDirEntryCheckedFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1148,1
    - Dst: TIFFReadDirEntryCheckedDouble
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1158
    functionName: TIFFReadDirEntryDouble
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedSrational
    - TIFFReadDirEntryCheckedRational
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedFloat
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedDouble
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryDouble(TIFF *tif, TIFFDirEntry
      *direntry, double *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1172,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1183
    functionName: TIFFReadDirEntryIfd8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryIfd8(TIFF *tif, TIFFDirEntry
      *direntry, uint64_t *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1201,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1201,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1203,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1226,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1229,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - tif
    - offset
    - size
    - pdest
    argTypes:
    - TIFF*
    - uint64_t
    - tmsize_t
    - void**
    assertStmts:
    - condition: (!isMapped(tif))
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 1247
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1247
    functionName: TIFFReadDirEntryDataAndRealloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFreallocExt
    - TIFFErrorExtR
    - assert
    - TIFFReadFile
    - isMapped
    - SeekOK
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryDataAndRealloc(TIFF *tif,\n
      \                                                              uint64_t offset,\n
      \                                                              tmsize_t size,\n
      \                                                              void **pdest)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1263,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1294,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1301,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1304,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1314,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1317,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1324,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1333,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1339,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1340,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1341,1
    - Dst: TIFFReadDirEntryDataAndRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1344,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1348,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1357,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1363,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1364,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1365,1
    - Dst: TIFFReadDirEntryDataAndRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1368,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1372,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 6
    argNames:
    - tif
    - direntry
    - count
    - desttypesize
    - value
    - maxcount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t*
    - uint32_t
    - void**
    - uint64_t
    assertStmts:
    - condition: ((tmsize_t)datasize > 0)
      pos:
        line_end: 1293
        line_start: 1293
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 1379
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1379
    functionName: TIFFReadDirEntryArrayWithLimit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - _TIFFCheckMalloc
    - TIFFWarningExtR
    - TIFFDataWidth
    - assert
    - TIFFSwabLong8
    - TIFFGetFileSize
    - _TIFFfreeExt
    - isMapped
    - TIFFSwabLong
    - TIFFReadDirEntryData
    - TIFFReadDirEntryDataAndRealloc
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryArrayWithLimit(TIFF *tif,
      TIFFDirEntry *direntry,\n                               uint32_t *count, uint32_t
      desttypesize,\n                               void **value, uint64_t maxcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArrayWithLimit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - direntry
    - count
    - desttypesize
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t*
    - uint32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1387
    functionName: TIFFReadDirEntryArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArrayWithLimit
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryArray(TIFF *tif, TIFFDirEntry
      *direntry, uint32_t *count,\n                      uint32_t desttypesize, void
      **value)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1412,1
    - Dst: TIFFReadDirEntryCheckRangeByteSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1432,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1435,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1444,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1447,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1462,1
    - Dst: TIFFReadDirEntryCheckRangeByteShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1463,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1480,1
    - Dst: TIFFReadDirEntryCheckRangeByteSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1481,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1498,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1499,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1516,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1517,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1534,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1535,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1552,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1553,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1561,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1564,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 133
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1389
    functionDepth: 4
    functionLinenumber: 1389
    functionLinenumberEnd: 1569
    functionName: TIFFReadDirEntryByteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeByteLong
    - TIFFReadDirEntryCheckRangeByteSshort
    - TIFFReadDirEntryCheckRangeByteSlong
    - TIFFReadDirEntryCheckRangeByteSlong8
    - TIFFSwabLong8
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeByteShort
    - TIFFReadDirEntryCheckRangeByteSbyte
    - _TIFFmallocExt
    - TIFFSwabLong
    - _TIFFfreeExt
    - TIFFReadDirEntryCheckRangeByteLong8
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryByteArray(TIFF *tif, TIFFDirEntry
      *direntry, uint8_t **value)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1593,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1609,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1612,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1624,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1627,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1642,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1643,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1660,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1661,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1678,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1679,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1696,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1697,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1714,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1715,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1732,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1733,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1741,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1744,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1571
    functionDepth: 4
    functionLinenumber: 1571
    functionLinenumberEnd: 1749
    functionName: TIFFReadDirEntrySbyteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeSbyteLong
    - TIFFReadDirEntryCheckRangeSbyteLong8
    - TIFFReadDirEntryCheckRangeSbyteByte
    - TIFFReadDirEntryCheckRangeSbyteSlong
    - TIFFSwabLong8
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeSbyteShort
    - _TIFFmallocExt
    - TIFFReadDirEntryCheckRangeSbyteSlong8
    - TIFFReadDirEntryCheckRangeSbyteSshort
    - TIFFSwabLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySbyteArray(TIFF *tif, TIFFDirEntry
      *direntry, int8_t **value)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1772,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1783,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1793,1
    - Dst: TIFFReadDirEntryCheckRangeShortSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1794,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1797,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1806,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1809,1
    - Dst: TIFFReadDirEntryCheckRangeShortSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1834,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1851,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1852,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1869,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1870,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1887,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1888,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1905,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1906,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1914,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1917,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 125
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1751
    functionDepth: 4
    functionLinenumber: 1751
    functionLinenumberEnd: 1922
    functionName: TIFFReadDirEntryShortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeShortSlong8
    - TIFFReadDirEntryCheckRangeShortSshort
    - TIFFReadDirEntryCheckRangeShortLong
    - TIFFSwabLong
    - TIFFSwabArrayOfShort
    - TIFFSwabLong8
    - TIFFReadDirEntryCheckRangeShortLong8
    - TIFFReadDirEntryCheckRangeShortSlong
    - TIFFSwabShort
    - _TIFFmallocExt
    - TIFFReadDirEntryCheckRangeShortSbyte
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryShortArray(TIFF *tif, TIFFDirEntry
      *direntry, uint16_t **value)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1945,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1961,1
    - Dst: TIFFReadDirEntryCheckRangeSshortShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1962,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1965,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1976,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1979,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:1982,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2019,1
    - Dst: TIFFReadDirEntryCheckRangeSshortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2020,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2037,1
    - Dst: TIFFReadDirEntryCheckRangeSshortSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2038,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2055,1
    - Dst: TIFFReadDirEntryCheckRangeSshortLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2056,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2073,1
    - Dst: TIFFReadDirEntryCheckRangeSshortSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2074,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2082,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2085,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 121
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int16_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 1924
    functionDepth: 4
    functionLinenumber: 1924
    functionLinenumberEnd: 2090
    functionName: TIFFReadDirEntrySshortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeSshortLong
    - TIFFSwabLong8
    - TIFFReadDirEntryCheckRangeSshortSlong
    - TIFFSwabArrayOfShort
    - TIFFReadDirEntryCheckRangeSshortSlong8
    - TIFFSwabShort
    - _TIFFmallocExt
    - TIFFSwabLong
    - TIFFReadDirEntryCheckRangeSshortShort
    - _TIFFfreeExt
    - TIFFReadDirEntryCheckRangeSshortLong8
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySshortArray(TIFF *tif, TIFFDirEntry
      *direntry, int16_t **value)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2113,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2124,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2134,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2135,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2138,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2147,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2150,1
    - Dst: TIFFReadDirEntryCheckRangeLongSbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2175,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2192,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2207,1
    - Dst: TIFFReadDirEntryCheckRangeLongSshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2208,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2225,1
    - Dst: TIFFReadDirEntryCheckRangeLongLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2226,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2243,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2244,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2252,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2255,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 122
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2092
    functionDepth: 4
    functionLinenumber: 2092
    functionLinenumberEnd: 2260
    functionName: TIFFReadDirEntryLongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeLongSlong8
    - TIFFReadDirEntryCheckRangeLongSbyte
    - TIFFReadDirEntryCheckRangeLongSshort
    - TIFFSwabLong8
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeLongLong8
    - TIFFReadDirEntryCheckRangeLongSlong
    - _TIFFmallocExt
    - TIFFSwabLong
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLongArray(TIFF *tif, TIFFDirEntry
      *direntry, uint32_t **value)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2283,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2299,1
    - Dst: TIFFReadDirEntryCheckRangeSlongLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2300,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2303,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2314,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2317,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2320,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2357,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2372,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2387,1
    - Dst: TIFFReadDirEntryCheckRangeSlongLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2388,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2405,1
    - Dst: TIFFReadDirEntryCheckRangeSlongSlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2406,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2414,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2417,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2262
    functionDepth: 4
    functionLinenumber: 2262
    functionLinenumberEnd: 2422
    functionName: TIFFReadDirEntrySlongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeSlongSlong8
    - TIFFReadDirEntryCheckRangeSlongLong
    - TIFFSwabLong8
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeSlongLong8
    - _TIFFmallocExt
    - TIFFSwabLong
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySlongArray(TIFF *tif, TIFFDirEntry
      *direntry, int32_t **value)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArrayWithLimit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2446,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2458,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2468,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2469,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2472,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2481,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2484,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2509,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2526,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2541,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2542,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2559,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2574,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2575,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2583,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2586,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 4
    argNames:
    - tif
    - direntry
    - value
    - maxcount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64_t**
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2424
    functionDepth: 3
    functionLinenumber: 2424
    functionLinenumberEnd: 2591
    functionName: TIFFReadDirEntryLong8ArrayWithLimit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeLong8Sshort
    - TIFFReadDirEntryCheckRangeLong8Slong8
    - TIFFReadDirEntryCheckRangeLong8Sbyte
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeLong8Slong
    - _TIFFmallocExt
    - TIFFReadDirEntryArrayWithLimit
    - TIFFSwabArrayOfLong8
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryLong8ArrayWithLimit(TIFF
      *tif, TIFFDirEntry *direntry,\n                                    uint64_t
      **value, uint64_t maxcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryLong8ArrayWithLimit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2593
    functionDepth: 4
    functionLinenumber: 2593
    functionLinenumberEnd: 2598
    functionName: TIFFReadDirEntryLong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryLong8ArrayWithLimit
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLong8Array(TIFF *tif, TIFFDirEntry
      *direntry, uint64_t **value)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2621,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2637,1
    - Dst: TIFFReadDirEntryCheckRangeSlong8Long8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2638,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2641,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2652,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2655,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2658,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2695,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2710,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2725,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2740,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2746,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 105
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2600
    functionDepth: 4
    functionLinenumber: 2600
    functionLinenumberEnd: 2749
    functionName: TIFFReadDirEntrySlong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeSlong8Long8
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFSwabShort
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong8
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySlong8Array(TIFF *tif, TIFFDirEntry
      *direntry, int64_t **value)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2776,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2786,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2787,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2791,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2794,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2831,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2846,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2861,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2876,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2891,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2906,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2923,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2926,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2947,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2951,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2966,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2967,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:2982,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 163
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2751
    functionDepth: 4
    functionLinenumber: 2751
    functionLinenumberEnd: 2985
    functionName: TIFFReadDirEntryFloatArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFCvtIEEEFloatToNative
    - TIFFSwabArrayOfLong8
    - TIFFSwabLong8
    - TIFFSwabShort
    - TIFFCvtIEEEDoubleToNative
    - _TIFFmallocExt
    - TIFFSwabLong
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryFloatArray(TIFF *tif, TIFFDirEntry
      *direntry, float **value)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3012,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3022,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3023,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3027,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3030,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3067,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3082,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3097,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3112,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3127,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3142,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3159,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3162,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3183,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3187,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3202,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3203,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3211,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 158
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 2987
    functionDepth: 4
    functionLinenumber: 2987
    functionLinenumberEnd: 3214
    functionName: TIFFReadDirEntryDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFCvtIEEEFloatToNative
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFCvtIEEEDoubleToNative
    - TIFFSwabShort
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong8
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryDoubleArray(TIFF *tif, TIFFDirEntry
      *direntry, double **value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3233,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3245,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3248,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3251,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3267,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3216
    functionDepth: 4
    functionLinenumber: 3216
    functionLinenumberEnd: 3276
    functionName: TIFFReadDirEntryIfd8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArray
    - TIFFSwabLong
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong8
    - _TIFFfreeExt
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryIfd8Array(TIFF *tif, TIFFDirEntry
      *direntry, uint64_t **value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3288,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3278
    functionDepth: 5
    functionLinenumber: 3278
    functionLinenumberEnd: 3306
    functionName: TIFFReadDirEntryPersampleShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFfreeExt
    - TIFFReadDirEntryShortArray
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryPersampleShort(TIFF *tif,
      TIFFDirEntry *direntry,\n                               uint16_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3313
    functionName: TIFFReadDirEntryCheckedByte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedByte(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                       uint8_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3320
    functionName: TIFFReadDirEntryCheckedSbyte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedSbyte(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                        int8_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3322
    functionDepth: 1
    functionLinenumber: 3322
    functionLinenumberEnd: 3329
    functionName: TIFFReadDirEntryCheckedShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 10
    functionsReached:
    - TIFFSwabShort
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedShort(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                        uint16_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3337
    functionName: TIFFReadDirEntryCheckedSshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 10
    functionsReached:
    - TIFFSwabShort
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedSshort(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                         int16_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3339
    functionDepth: 1
    functionLinenumber: 3339
    functionLinenumberEnd: 3345
    functionName: TIFFReadDirEntryCheckedLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 11
    functionsReached:
    - TIFFSwabLong
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedLong(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                       uint32_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3347
    functionDepth: 1
    functionLinenumber: 3347
    functionLinenumberEnd: 3353
    functionName: TIFFReadDirEntryCheckedSlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 10
    functionsReached:
    - TIFFSwabLong
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedSlong(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                        int32_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3363,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3364,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3355
    functionDepth: 1
    functionLinenumber: 3355
    functionLinenumberEnd: 3373
    functionName: TIFFReadDirEntryCheckedLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 11
    functionsReached:
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFReadDirEntryData
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedLong8(TIFF *tif, TIFFDirEntry
      *direntry, uint64_t *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3383,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3384,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3375
    functionDepth: 1
    functionLinenumber: 3375
    functionLinenumberEnd: 3393
    functionName: TIFFReadDirEntryCheckedSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 10
    functionsReached:
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFReadDirEntryData
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedSlong8(TIFF *tif, TIFFDirEntry
      *direntry, int64_t *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3401,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3402,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3403,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3409,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3410,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 3400
        line_start: 3400
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 3402
        line_start: 3402
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 3401
        line_start: 3401
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3426
      start: 3395
    functionDepth: 1
    functionLinenumber: 3395
    functionLinenumberEnd: 3426
    functionName: TIFFReadDirEntryCheckedRational
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFSwabLong
    - TIFFReadDirEntryData
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedRational(TIFF *tif,
      TIFFDirEntry *direntry,\n                                double *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3433,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3434,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3435,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3436,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3442,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3443,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 3432
        line_start: 3432
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(int32_t) == 4)
      pos:
        line_end: 3434
        line_start: 3434
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 3433
        line_start: 3433
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 3435
        line_start: 3435
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3459
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3459
    functionName: TIFFReadDirEntryCheckedSrational
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFSwabLong
    - TIFFReadDirEntryData
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedSrational(TIFF *tif,
      TIFFDirEntry *direntry,\n                                 double *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3469,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3470,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3471,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3485,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3486,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - TIFFRational_t*
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 3468
        line_start: 3468
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 3470
        line_start: 3470
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 3469
        line_start: 3469
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3501
      start: 3462
    functionDepth: 1
    functionLinenumber: 3462
    functionLinenumberEnd: 3501
    functionName: TIFFReadDirEntryCheckedRationalDirect
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFSwabLong
    - TIFFReadDirEntryData
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedRationalDirect(TIFF
      *tif, TIFFDirEntry *direntry,\n                                      TIFFRational_t
      *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3512,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3513,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3514,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts:
    - condition: (sizeof(float) == 4)
      pos:
        line_end: 3511
        line_start: 3511
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 3512
        line_start: 3512
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(float_union) == 4)
      pos:
        line_end: 3513
        line_start: 3513
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3519
      start: 3504
    functionDepth: 1
    functionLinenumber: 3504
    functionLinenumberEnd: 3519
    functionName: TIFFReadDirEntryCheckedFloat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryCheckedFloat(TIFF *tif, TIFFDirEntry *direntry,\n
      \                                        float *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3524,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3525,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3526,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3532,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3533,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 3523
        line_start: 3523
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(UInt64Aligned_t) == 8)
      pos:
        line_end: 3525
        line_start: 3525
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 3524
        line_start: 3524
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3546
      start: 3521
    functionDepth: 1
    functionLinenumber: 3521
    functionLinenumberEnd: 3546
    functionName: TIFFReadDirEntryCheckedDouble
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFReadDirEntryData
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedDouble(TIFF *tif, TIFFDirEntry
      *direntry, double *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3548
    functionDepth: 0
    functionLinenumber: 3548
    functionLinenumberEnd: 3555
    functionName: TIFFReadDirEntryCheckRangeByteSbyte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSbyte(int8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3564
      start: 3557
    functionDepth: 0
    functionLinenumber: 3557
    functionLinenumberEnd: 3564
    functionName: TIFFReadDirEntryCheckRangeByteShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteShort(uint16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3566
    functionDepth: 0
    functionLinenumber: 3566
    functionLinenumberEnd: 3573
    functionName: TIFFReadDirEntryCheckRangeByteSshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSshort(int16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3575
    functionDepth: 0
    functionLinenumber: 3575
    functionLinenumberEnd: 3582
    functionName: TIFFReadDirEntryCheckRangeByteLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteLong(uint32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3591
    functionName: TIFFReadDirEntryCheckRangeByteSlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSlong(int32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3593
    functionDepth: 0
    functionLinenumber: 3593
    functionLinenumberEnd: 3600
    functionName: TIFFReadDirEntryCheckRangeByteLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteLong8(uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3609
    functionName: TIFFReadDirEntryCheckRangeByteSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSlong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3618
    functionName: TIFFReadDirEntryCheckRangeSbyteByte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteByte(uint8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3627
    functionName: TIFFReadDirEntryCheckRangeSbyteShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteShort(uint16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3629
    functionDepth: 0
    functionLinenumber: 3629
    functionLinenumberEnd: 3636
    functionName: TIFFReadDirEntryCheckRangeSbyteSshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteSshort(int16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3638
    functionDepth: 0
    functionLinenumber: 3638
    functionLinenumberEnd: 3645
    functionName: TIFFReadDirEntryCheckRangeSbyteLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteLong(uint32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3654
    functionName: TIFFReadDirEntryCheckRangeSbyteSlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteSlong(int32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3663
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3663
    functionName: TIFFReadDirEntryCheckRangeSbyteLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteLong8(uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3672
    functionName: TIFFReadDirEntryCheckRangeSbyteSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteSlong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3674
    functionDepth: 0
    functionLinenumber: 3674
    functionLinenumberEnd: 3681
    functionName: TIFFReadDirEntryCheckRangeShortSbyte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSbyte(int8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3683
    functionDepth: 0
    functionLinenumber: 3683
    functionLinenumberEnd: 3690
    functionName: TIFFReadDirEntryCheckRangeShortSshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSshort(int16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3699
      start: 3692
    functionDepth: 0
    functionLinenumber: 3692
    functionLinenumberEnd: 3699
    functionName: TIFFReadDirEntryCheckRangeShortLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortLong(uint32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3701
    functionDepth: 0
    functionLinenumber: 3701
    functionLinenumberEnd: 3708
    functionName: TIFFReadDirEntryCheckRangeShortSlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSlong(int32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3717
    functionName: TIFFReadDirEntryCheckRangeShortLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortLong8(uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3726
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3726
    functionName: TIFFReadDirEntryCheckRangeShortSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSlong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3735
      start: 3728
    functionDepth: 0
    functionLinenumber: 3728
    functionLinenumberEnd: 3735
    functionName: TIFFReadDirEntryCheckRangeSshortShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortShort(uint16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3737
    functionDepth: 0
    functionLinenumber: 3737
    functionLinenumberEnd: 3744
    functionName: TIFFReadDirEntryCheckRangeSshortLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortLong(uint32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3753
    functionName: TIFFReadDirEntryCheckRangeSshortSlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortSlong(int32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3762
    functionName: TIFFReadDirEntryCheckRangeSshortLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortLong8(uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3764
    functionDepth: 0
    functionLinenumber: 3764
    functionLinenumberEnd: 3771
    functionName: TIFFReadDirEntryCheckRangeSshortSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortSlong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3773
    functionDepth: 0
    functionLinenumber: 3773
    functionLinenumberEnd: 3780
    functionName: TIFFReadDirEntryCheckRangeLongSbyte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSbyte(int8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3782
    functionDepth: 0
    functionLinenumber: 3782
    functionLinenumberEnd: 3789
    functionName: TIFFReadDirEntryCheckRangeLongSshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSshort(int16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3791
    functionDepth: 0
    functionLinenumber: 3791
    functionLinenumberEnd: 3798
    functionName: TIFFReadDirEntryCheckRangeLongSlong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSlong(int32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3807
    functionName: TIFFReadDirEntryCheckRangeLongLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongLong8(uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3809
    functionDepth: 0
    functionLinenumber: 3809
    functionLinenumberEnd: 3816
    functionName: TIFFReadDirEntryCheckRangeLongSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSlong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3818
    functionDepth: 0
    functionLinenumber: 3818
    functionLinenumberEnd: 3825
    functionName: TIFFReadDirEntryCheckRangeSlongLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlongLong(uint32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3835
    functionName: TIFFReadDirEntryCheckRangeSlongLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlongLong8(uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3845
    functionName: TIFFReadDirEntryCheckRangeSlongSlong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlongSlong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3847
    functionDepth: 0
    functionLinenumber: 3847
    functionLinenumberEnd: 3854
    functionName: TIFFReadDirEntryCheckRangeLong8Sbyte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Sbyte(int8_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3863
      start: 3856
    functionDepth: 0
    functionLinenumber: 3856
    functionLinenumberEnd: 3863
    functionName: TIFFReadDirEntryCheckRangeLong8Sshort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Sshort(int16_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3872
      start: 3865
    functionDepth: 0
    functionLinenumber: 3865
    functionLinenumberEnd: 3872
    functionName: TIFFReadDirEntryCheckRangeLong8Slong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Slong(int32_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3874
    functionDepth: 0
    functionLinenumber: 3874
    functionLinenumberEnd: 3881
    functionName: TIFFReadDirEntryCheckRangeLong8Slong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Slong8(int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3890
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3890
    functionName: TIFFReadDirEntryCheckRangeSlong8Long8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlong8Long8(uint64_t
      value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3895,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3896,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3898,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3900,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - tif
    - offset
    - size
    - dest
    argTypes:
    - TIFF*
    - uint64_t
    - tmsize_t
    - void*
    assertStmts:
    - condition: (size > 0)
      pos:
        line_end: 3894
        line_start: 3894
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3917
      start: 3892
    functionDepth: 1
    functionLinenumber: 3892
    functionLinenumberEnd: 3917
    functionName: TIFFReadDirEntryData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 7
    functionsReached:
    - _TIFFmemcpy
    - assert
    - isMapped
    - ReadOK
    - SeekOK
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryData(TIFF *tif, uint64_t
      offset,\n                                                     tmsize_t size,
      void *dest)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3928,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3932,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3936,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3940,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3944,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3950,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3955,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3959,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3968,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3973,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3978,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3983,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3988,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:3994,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4000,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4005,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - tif
    - err
    - module
    - tagname
    - recover
    argTypes:
    - TIFF*
    - enum TIFFReadDirEntryErr
    - char*
    - char*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 3958
        line_start: 3958
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (0)
      pos:
        line_end: 4004
        line_start: 4004
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 4009
      start: 3919
    functionDepth: 1
    functionLinenumber: 3919
    functionLinenumberEnd: 4009
    functionName: TIFFReadDirEntryOutputErr
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - assert
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirEntryOutputErr(TIFF *tif, enum TIFFReadDirEntryErr
      err,\n                                      const char *module, const char *tagname,\n
      \                                     int recover)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - photometric
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4016
    functionDepth: 0
    functionLinenumber: 4016
    functionLinenumberEnd: 4039
    functionName: _TIFFGetMaxColorChannels
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFGetMaxColorChannels(uint16_t photometric)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4056,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4057,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4066,1
    - Dst: TIFFScanlineSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4071,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 4041
    functionDepth: 2
    functionLinenumber: 4041
    functionLinenumberEnd: 4081
    functionName: ByteCountLooksBad
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize64
    - TIFFGetFileSize
    - TIFFGetStrileByteCount
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: int
    signature: int ByteCountLooksBad(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4089,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4092,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4101,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4112,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - tif
    - dp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4135
      start: 4087
    functionDepth: 1
    functionLinenumber: 4087
    functionLinenumberEnd: 4135
    functionName: EvaluateIFDdatasizeReading
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFDataWidth
    - TIFFErrorExtR
    linkageType: ''
    returnType: bool
    signature: bool EvaluateIFDdatasizeReading(TIFF *tif, TIFFDirEntry *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4151
      start: 4140
    functionDepth: 0
    functionLinenumber: 4140
    functionLinenumberEnd: 4151
    functionName: cmpTIFFEntryOffsetAndLength
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpTIFFEntryOffsetAndLength(const void *a, const void *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4169,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - tif
    - dircount
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4230
      start: 4160
    functionDepth: 1
    functionLinenumber: 4160
    functionLinenumberEnd: 4230
    functionName: CalcFinalIFDdatasizeReading
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - qsort
    - TIFFSeekFile
    linkageType: ''
    returnType: void
    signature: void CalcFinalIFDdatasizeReading(TIFF *tif, uint16_t dircount)
  - BBCount: 144
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckDirNumberAndOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4262,1
    - Dst: TIFFFetchDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4272,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4275,1
    - Dst: TIFFReadDirectoryCheckOrder
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4288,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4316,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4317,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4327,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4331,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4344,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4363,1
    - Dst: TIFFFetchNormalTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4366,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4370,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4381,1
    - Dst: TIFFReadDirEntryPersampleShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4383,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4386,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4389,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4395,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4405,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4410,1
    - Dst: _TIFFCreateAnonField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4417,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4419,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4421,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4430,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4431,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4448,1
    - Dst: TIFFFetchNormalTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4459,1
    - Dst: _TIFFCheckFieldIsValidForCodec
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4464,1
    - Dst: _TIFFFillStriles
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4482,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4484,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4488,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4493,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4502,1
    - Dst: MissingRequired
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4504,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4535,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4536,1
    - Dst: TIFFReadDirEntryPersampleShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4540,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4543,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4544,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4549,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4567,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4568,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4572,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4573,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4580,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4582,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4603,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4604,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4610,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4612,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4632,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4633,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4639,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4641,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4662,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4663,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4674,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4675,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4697,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4698,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4702,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4703,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4709,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4712,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4721,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4737,1
    - Dst: TIFFReadDirEntryCheckedRationalDirect
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4754,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4758,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4759,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4767,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4769,1
    - Dst: TIFFFetchNormalTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4774,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4777,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4778,1
    - Dst: TIFFFetchNormalTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4788,1
    - Dst: CalcFinalIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4795,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4815,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4817,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4820,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4826,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4830,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4832,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4835,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4838,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4842,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4845,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4850,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4853,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4863,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4874,1
    - Dst: TIFFNumberOfStrips
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4876,1
    - Dst: TIFFNumberOfTiles
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4884,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4889,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4890,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4896,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4900,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4910,1
    - Dst: MissingRequired
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4915,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4915,1
    - Dst: TIFFSetupStrips
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4931,1
    - Dst: TIFFFetchStripThing
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4937,1
    - Dst: TIFFFetchStripThing
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4946,1
    - Dst: _TIFFGetMaxColorChannels
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4959,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4967,1
    - Dst: _TIFFcallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4979,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4983,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4992,1
    - Dst: _TIFFsetShortArrayExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4994,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:4996,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5003,1
    - Dst: MissingRequired
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5012,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5026,1
    - Dst: MissingRequired
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5039,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5042,1
    - Dst: EstimateStripByteCounts
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5046,1
    - Dst: ByteCountLooksBad
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5050,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5058,1
    - Dst: EstimateStripByteCounts
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5061,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5068,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5069,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5070,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5071,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5083,1
    - Dst: EstimateStripByteCounts
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5086,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5092,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5095,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5117,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5118,1
    - Dst: ChopUpSingleUncompressedStrip
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5146,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5155,1
    - Dst: TryChopUpUncompressedBigTiff
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5157,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5175,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5178,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5182,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5184,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5187,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5193,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5195,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5202,1
    CyclomaticComplexity: 209
    EdgeCount: 209
    ICount: 492
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (fii != FAILED_FII)
      pos:
        line_end: 4430
        line_start: 4430
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 5204
      start: 4236
    functionDepth: 6
    functionLinenumber: 4236
    functionLinenumberEnd: 5204
    functionName: TIFFReadDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 23
    functionsReached:
    - TIFFFieldWithTag
    - TIFFDefaultDirectory
    - ByteCountLooksBad
    - TIFFWarningExtR
    - TIFFSetupStrips
    - snprintf
    - TryChopUpUncompressedBigTiff
    - TIFFReadDirectoryFindEntry
    - TIFFFetchNormalTag
    - TIFFNumberOfTiles
    - TIFFReadDirEntryOutputErr
    - TIFFReadDirEntryShortArray
    - memcpy
    - TIFFReadDirEntryPersampleShort
    - TIFFStripSize
    - _TIFFCreateAnonField
    - assert
    - _TIFFCheckDirNumberAndOffset
    - _TIFFFillStriles
    - _TIFFmallocExt
    - _TIFFsetShortArrayExt
    - TIFFFetchDirectory
    - TIFFFetchStripThing
    - ChopUpSingleUncompressedStrip
    - TIFFTileSize
    - _TIFFGetMaxColorChannels
    - _TIFFMergeFields
    - EstimateStripByteCounts
    - TIFFSetFieldBit
    - TIFFGetStrileByteCount
    - _TIFFcallocExt
    - TIFFReadDirectoryCheckOrder
    - _TIFFCheckFieldIsValidForCodec
    - TIFFFieldSet
    - TIFFReadDirEntryDoubleArray
    - TIFFNumberOfStrips
    - _TIFFfreeExt
    - EvaluateIFDdatasizeReading
    - _TIFFmemcpy
    - TIFFReadDirectoryFindFieldInfo
    - TIFFFreeDirectory
    - isTiled
    - TIFFStripSize64
    - TIFFScanlineSize
    - TIFFErrorExtR
    - MissingRequired
    - CalcFinalIFDdatasizeReading
    - TIFFSetField
    - TIFFReadDirEntryShort
    - TIFFReadDirEntryCheckedRationalDirect
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: int
    signature: int TIFFReadDirectory(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - dir
    - dircount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5206
    functionDepth: 1
    functionLinenumber: 5206
    functionLinenumberEnd: 5225
    functionName: TIFFReadDirectoryCheckOrder
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFWarningExtR
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirectoryCheckOrder(TIFF *tif, TIFFDirEntry *dir,\n                                        uint16_t
      dircount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tif
    - dir
    - dircount
    - tagid
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5227
    functionDepth: 0
    functionLinenumber: 5227
    functionLinenumberEnd: 5240
    functionName: TIFFReadDirectoryFindEntry
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFDirEntry
    signature: "TIFFDirEntry *TIFFReadDirectoryFindEntry(TIFF *tif, TIFFDirEntry *dir,\n
      \                                               uint16_t dircount,\n                                                uint16_t
      tagid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - tagid
    - fii
    argTypes:
    - TIFF*
    - uint16_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5272
      start: 5242
    functionDepth: 0
    functionLinenumber: 5242
    functionLinenumberEnd: 5272
    functionName: TIFFReadDirectoryFindFieldInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFReadDirectoryFindFieldInfo(TIFF *tif, uint16_t tagid,\n                                           uint32_t
      *fii)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5289,1
    - Dst: TIFFFetchDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5290,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5293,1
    - Dst: TIFFReadDirectoryCheckOrder
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5298,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5322,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5329,1
    - Dst: _TIFFSetupFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5330,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5335,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5339,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5343,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5349,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5354,1
    - Dst: _TIFFCreateAnonField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5359,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5361,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5365,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5375,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5376,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5402,1
    - Dst: CheckDirCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5420,1
    - Dst: TIFFFieldIsAnonymous
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5430,1
    - Dst: TIFFFetchSubjectDistance
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5434,1
    - Dst: TIFFFetchNormalTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5438,1
    - Dst: TIFFFetchNormalTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5442,1
    - Dst: CalcFinalIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5449,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5454,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 3
    argNames:
    - tif
    - diroff
    - infoarray
    argTypes:
    - TIFF*
    - toff_t
    - TIFFFieldArray*
    assertStmts:
    - condition: (fii != FAILED_FII)
      pos:
        line_end: 5375
        line_start: 5375
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (infoarray != NULL)
      pos:
        line_end: 5288
        line_start: 5288
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 5456
      start: 5278
    functionDepth: 3
    functionLinenumber: 5278
    functionLinenumberEnd: 5456
    functionName: TIFFReadCustomDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - CheckDirCount
    - TIFFDefaultDirectory
    - TIFFReadDirectoryFindFieldInfo
    - TIFFWarningExtR
    - TIFFFreeDirectory
    - _TIFFSetupFields
    - _TIFFMergeFields
    - _TIFFCreateAnonField
    - TIFFFetchSubjectDistance
    - TIFFErrorExtR
    - assert
    - TIFFReadDirectoryCheckOrder
    - CalcFinalIFDdatasizeReading
    - TIFFFetchNormalTag
    - TIFFFieldIsAnonymous
    - _TIFFmallocExt
    - TIFFFetchDirectory
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFReadCustomDirectory(TIFF *tif, toff_t diroff,\n                            const
      TIFFFieldArray *infoarray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadCustomDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5464,1
    - Dst: _TIFFGetExifFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5465
      start: 5462
    functionDepth: 4
    functionLinenumber: 5462
    functionLinenumberEnd: 5465
    functionName: TIFFReadEXIFDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached:
    - TIFFReadCustomDirectory
    - _TIFFGetExifFields
    linkageType: ''
    returnType: int
    signature: int TIFFReadEXIFDirectory(TIFF *tif, toff_t diroff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadCustomDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5472,1
    - Dst: _TIFFGetGpsFields
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5473
      start: 5470
    functionDepth: 4
    functionLinenumber: 5470
    functionLinenumberEnd: 5473
    functionName: TIFFReadGPSDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFReadCustomDirectory
    - _TIFFGetGpsFields
    linkageType: ''
    returnType: int
    signature: int TIFFReadGPSDirectory(TIFF *tif, toff_t diroff)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStrilesInternal
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5485,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5494,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5497,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5507,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5508,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5526,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5529,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5553,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5589,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5591,1
    - Dst: TIFFScanlineSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5598,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5607,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5608,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 3
    argNames:
    - tif
    - dir
    - dircount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5611
      start: 5475
    functionDepth: 2
    functionLinenumber: 5475
    functionLinenumberEnd: 5611
    functionName: EstimateStripByteCounts
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - _TIFFCheckMalloc
    - TIFFWarningExtR
    - isTiled
    - TIFFTileSize64
    - TIFFDataWidth
    - TIFFSetFieldBit
    - TIFFErrorExtR
    - TIFFScanlineSize64
    - TIFFGetFileSize
    - TIFFFieldSet
    - _TIFFFillStrilesInternal
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int EstimateStripByteCounts(TIFF *tif, TIFFDirEntry *dir,\n                                   uint16_t
      dircount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - tagname
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5613
    functionDepth: 1
    functionLinenumber: 5613
    functionLinenumberEnd: 5619
    functionName: MissingRequired
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void MissingRequired(TIFF *tif, const char *tagname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5621
    functionDepth: 0
    functionLinenumber: 5621
    functionLinenumberEnd: 5628
    functionName: hashFuncOffsetToNumber
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long hashFuncOffsetToNumber(const void *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5637
      start: 5630
    functionDepth: 0
    functionLinenumber: 5630
    functionLinenumberEnd: 5637
    functionName: equalFuncOffsetToNumber
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equalFuncOffsetToNumber(const void *elt1, const void *elt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5644
      start: 5639
    functionDepth: 0
    functionLinenumber: 5639
    functionLinenumberEnd: 5644
    functionName: hashFuncNumberToOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long hashFuncNumberToOffset(const void *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5653
      start: 5646
    functionDepth: 0
    functionLinenumber: 5646
    functionLinenumberEnd: 5653
    functionName: equalFuncNumberToOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equalFuncNumberToOffset(const void *elt1, const void *elt2)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetNew
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5672,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5676,1
    - Dst: TIFFHashSetNew
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5686,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5690,1
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5706,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5716,1
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5727,1
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5740,1
    - Dst: TIFFHashSetRemove
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5744,1
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5747,1
    - Dst: TIFFHashSetRemove
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5751,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5755,1
    - Dst: TIFFHashSetInsert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5765,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5767,1
    - Dst: TIFFHashSetInsert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5772,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5774,1
    - Dst: TIFFHashSetSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5784,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5787,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5794,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5797,1
    - Dst: TIFFHashSetInsert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5805,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5807,1
    - Dst: TIFFHashSetInsert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5811,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5813,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 3
    argNames:
    - tif
    - dirn
    - diroff
    argTypes:
    - TIFF*
    - tdir_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5819
      start: 5665
    functionDepth: 3
    functionLinenumber: 5665
    functionLinenumberEnd: 5819
    functionName: _TIFFCheckDirNumberAndOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 3
    functionsReached:
    - TIFFHashSetInsert
    - TIFFWarningExtR
    - TIFFHashSetSize
    - TIFFHashSetLookup
    - TIFFHashSetRemove
    - TIFFErrorExtR
    - malloc
    - TIFFHashSetNew
    linkageType: ''
    returnType: int
    signature: int _TIFFCheckDirNumberAndOffset(TIFF *tif, tdir_t dirn, uint64_t diroff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5844,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5853,1
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - tif
    - diroff
    - dirn
    argTypes:
    - TIFF*
    - uint64_t
    - tdir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5864
      start: 5828
    functionDepth: 3
    functionLinenumber: 5828
    functionLinenumberEnd: 5864
    functionName: _TIFFGetDirNumberFromOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFHashSetLookup
    - TIFFNumberOfDirectories
    linkageType: ''
    returnType: int
    signature: int _TIFFGetDirNumberFromOffset(TIFF *tif, uint64_t diroff, tdir_t
      *dirn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - dirn
    - diroff
    argTypes:
    - TIFF*
    - tdir_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5892
      start: 5873
    functionDepth: 2
    functionLinenumber: 5873
    functionLinenumberEnd: 5892
    functionName: _TIFFGetOffsetFromDirNumber
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFHashSetLookup
    linkageType: ''
    returnType: int
    signature: int _TIFFGetOffsetFromDirNumber(TIFF *tif, tdir_t dirn, uint64_t *diroff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5913,1
    - Dst: TIFFHashSetLookup
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5921,1
    - Dst: TIFFHashSetRemove
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5925,1
    - Dst: TIFFHashSetRemove
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5927,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5941
      start: 5900
    functionDepth: 3
    functionLinenumber: 5900
    functionLinenumberEnd: 5941
    functionName: _TIFFRemoveEntryFromDirectoryListByOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFHashSetLookup
    - TIFFHashSetRemove
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int _TIFFRemoveEntryFromDirectoryListByOffset(TIFF *tif, uint64_t diroff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5951,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5952,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5961,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - dir
    - count
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5971
      start: 5947
    functionDepth: 2
    functionLinenumber: 5947
    functionLinenumberEnd: 5971
    functionName: CheckDirCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFWarningExtR
    - TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: int CheckDirCount(TIFF *tif, TIFFDirEntry *dir, uint32_t count)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5991,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5996,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:5998,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6000,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6007,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6009,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6015,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6018,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6028,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6030,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6036,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6039,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6047,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6051,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6053,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6055,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6067,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6070,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6075,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6078,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6088,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6108,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6113,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6117,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6120,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6134,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6139,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6143,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6146,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6156,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6163,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6167,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6175,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6183,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6184,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6189,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6202,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6205,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6215,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6218,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6224,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6228,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6237,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6241,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6247,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6257,1
    - Dst: TIFFReadUInt64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6258,1
    - Dst: TIFFReadUInt64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6260,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6265,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 175
    argCount: 4
    argNames:
    - tif
    - diroff
    - pdir
    - nextdiroff
    argTypes:
    - TIFF*
    - uint64_t
    - TIFFDirEntry**
    - uint64_t*
    assertStmts:
    - condition: (pdir)
      pos:
        line_end: 5990
        line_start: 5990
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 6268
      start: 5978
    functionDepth: 1
    functionLinenumber: 5978
    functionLinenumberEnd: 6268
    functionName: TIFFFetchDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFmemcpy
    - _TIFFCheckMalloc
    - TIFFWarningExtR
    - TIFFErrorExtR
    - assert
    - TIFFSwabLong8
    - TIFFGetFileSize
    - isMapped
    - ReadOK
    - TIFFReadUInt64
    - TIFFSwabShort
    - SeekOK
    - TIFFSwabLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t TIFFFetchDirectory(TIFF *tif, uint64_t diroff,\n                                   TIFFDirEntry
      **pdir, uint64_t *nextdiroff)"
  - BBCount: 301
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6279,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6282,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6287,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6288,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6291,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6298,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6307,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6308,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6319,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6336,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6339,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6343,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6351,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6357,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6359,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6363,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6368,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6372,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6375,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6377,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6386,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6387,1
    - Dst: TIFFReadDirEntryByte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6388,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6391,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6399,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6400,1
    - Dst: TIFFReadDirEntrySbyte
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6401,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6404,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6412,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6413,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6414,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6417,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6425,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6426,1
    - Dst: TIFFReadDirEntrySshort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6427,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6430,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6438,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6439,1
    - Dst: TIFFReadDirEntryLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6440,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6443,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6451,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6452,1
    - Dst: TIFFReadDirEntrySlong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6453,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6456,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6464,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6465,1
    - Dst: TIFFReadDirEntryLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6466,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6469,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6471,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6479,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6480,1
    - Dst: TIFFReadDirEntrySlong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6481,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6484,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6486,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6494,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6495,1
    - Dst: TIFFReadDirEntryFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6496,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6499,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6501,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6509,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6510,1
    - Dst: TIFFReadDirEntryDouble
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6511,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6514,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6516,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6524,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6525,1
    - Dst: TIFFReadDirEntryIfd8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6526,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6529,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6531,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6539,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6540,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6543,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6549,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6553,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6554,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6555,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6564,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6565,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6568,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6577,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6580,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6583,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6587,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6589,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6599,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6600,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6603,1
    - Dst: TIFFReadDirEntrySbyteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6612,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6615,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6618,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6622,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6624,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6634,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6635,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6638,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6647,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6650,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6653,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6657,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6659,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6669,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6670,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6673,1
    - Dst: TIFFReadDirEntrySshortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6682,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6685,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6688,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6692,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6694,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6704,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6705,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6708,1
    - Dst: TIFFReadDirEntryLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6717,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6720,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6723,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6727,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6729,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6739,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6740,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6743,1
    - Dst: TIFFReadDirEntrySlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6752,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6755,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6758,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6762,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6764,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6774,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6775,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6778,1
    - Dst: TIFFReadDirEntryLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6787,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6790,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6793,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6797,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6799,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6809,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6810,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6813,1
    - Dst: TIFFReadDirEntrySlong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6822,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6825,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6828,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6832,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6834,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6844,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6845,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6848,1
    - Dst: TIFFReadDirEntryFloatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6857,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6860,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6863,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6867,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6869,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6881,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6882,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6885,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6894,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6897,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6900,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6904,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6906,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6916,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6917,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6922,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6925,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6928,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6935,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6942,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6946,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6951,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6956,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6959,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6962,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6972,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6973,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6978,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6981,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6984,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6988,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:6991,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7001,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7002,1
    - Dst: TIFFReadDirEntrySbyteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7007,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7010,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7013,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7017,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7020,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7030,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7031,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7036,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7039,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7042,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7046,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7049,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7059,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7060,1
    - Dst: TIFFReadDirEntrySshortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7065,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7068,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7071,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7075,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7078,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7088,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7089,1
    - Dst: TIFFReadDirEntryLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7094,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7097,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7104,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7107,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7117,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7118,1
    - Dst: TIFFReadDirEntrySlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7123,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7126,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7129,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7133,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7136,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7146,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7147,1
    - Dst: TIFFReadDirEntryLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7152,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7155,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7158,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7162,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7165,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7175,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7176,1
    - Dst: TIFFReadDirEntrySlong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7181,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7184,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7187,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7191,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7194,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7204,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7205,1
    - Dst: TIFFReadDirEntryFloatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7210,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7213,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7216,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7220,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7223,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7233,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7234,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7239,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7242,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7245,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7249,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7252,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7262,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7263,1
    - Dst: TIFFReadDirEntryIfd8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7268,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7271,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7274,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7278,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7281,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7291,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7292,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7293,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7296,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7299,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7306,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7313,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7317,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7322,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7327,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7330,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7333,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7343,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7344,1
    - Dst: TIFFReadDirEntryArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7352,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7360,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7367,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7372,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7375,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7379,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7381,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7390,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7391,1
    - Dst: TIFFReadDirEntrySbyteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7392,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7395,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7398,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7402,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7405,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7414,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7415,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7416,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7419,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7422,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7426,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7429,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7438,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7439,1
    - Dst: TIFFReadDirEntrySshortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7440,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7443,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7446,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7450,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7453,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7462,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7463,1
    - Dst: TIFFReadDirEntryLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7464,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7467,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7470,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7474,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7477,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7486,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7487,1
    - Dst: TIFFReadDirEntrySlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7488,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7491,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7494,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7498,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7501,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7510,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7511,1
    - Dst: TIFFReadDirEntryLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7512,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7515,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7518,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7522,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7525,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7534,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7535,1
    - Dst: TIFFReadDirEntrySlong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7536,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7539,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7542,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7546,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7549,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7558,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7559,1
    - Dst: TIFFReadDirEntryFloatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7560,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7563,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7566,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7570,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7573,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7582,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7583,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7584,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7587,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7590,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7594,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7597,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7606,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7607,1
    - Dst: TIFFReadDirEntryIfd8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7608,1
    - Dst: EvaluateIFDdatasizeReading
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7611,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7614,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7618,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7621,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7628,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7633,1
    CyclomaticComplexity: 310
    EdgeCount: 310
    ICount: 951
    argCount: 3
    argNames:
    - tif
    - dp
    - recover
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int
    assertStmts:
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7557
        line_start: 7557
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6385
        line_start: 6385
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6844
        line_start: 6844
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7486
        line_start: 7486
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7029
        line_start: 7029
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7175
        line_start: 7175
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7606
        line_start: 7606
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6478
        line_start: 6478
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: "(fip->set_get_field_type !=\n           TIFF_SETGET_INT)"
      pos:
        line_end: 6291
        line_start: 6290
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6306
        line_start: 6306
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6880
        line_start: 6880
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 6916
        line_start: 6916
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6539
        line_start: 6539
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6633
        line_start: 6633
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7462
        line_start: 7462
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6494
        line_start: 6494
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6669
        line_start: 6669
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7088
        line_start: 7088
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6398
        line_start: 6398
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6411
        line_start: 6411
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7232
        line_start: 7232
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7389
        line_start: 7389
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7001
        line_start: 7001
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7533
        line_start: 7533
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6438
        line_start: 6438
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7000
        line_start: 7000
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7146
        line_start: 7146
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6509
        line_start: 6509
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7510
        line_start: 7510
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7581
        line_start: 7581
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7290
        line_start: 7290
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6738
        line_start: 6738
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7059
        line_start: 7059
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6451
        line_start: 6451
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6464
        line_start: 6464
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7203
        line_start: 7203
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7343
        line_start: 7343
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7437
        line_start: 7437
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6774
        line_start: 6774
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6523
        line_start: 6523
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 6972
        line_start: 6972
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (0)
      pos:
        line_end: 7627
        line_start: 7627
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6808
        line_start: 6808
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6563
        line_start: 6563
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7413
        line_start: 7413
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7116
        line_start: 7116
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6599
        line_start: 6599
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7262
        line_start: 7262
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6598
        line_start: 6598
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7261
        line_start: 7261
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6386
        line_start: 6386
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6479
        line_start: 6479
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7030
        line_start: 7030
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7485
        line_start: 7485
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6843
        line_start: 6843
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6881
        line_start: 6881
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7174
        line_start: 7174
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7605
        line_start: 7605
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6634
        line_start: 6634
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: "(fip->set_get_field_type !=\n           TIFF_SETGET_OTHER)"
      pos:
        line_end: 6288
        line_start: 6287
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6399
        line_start: 6399
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6412
        line_start: 6412
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 6915
        line_start: 6915
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 2)
      pos:
        line_end: 6538
        line_start: 6538
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7461
        line_start: 7461
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7087
        line_start: 7087
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7233
        line_start: 7233
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6493
        line_start: 6493
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6668
        line_start: 6668
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip != NULL)
      pos:
        line_end: 6286
        line_start: 6286
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7390
        line_start: 7390
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7534
        line_start: 7534
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: ((uint32_t)dp->tdir_count + 1 == dp->tdir_count + 1)
      pos:
        line_end: 6356
        line_start: 6356
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6425
        line_start: 6425
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6704
        line_start: 6704
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6424
        line_start: 6424
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6703
        line_start: 6703
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7582
        line_start: 7582
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6739
        line_start: 6739
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7145
        line_start: 7145
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7291
        line_start: 7291
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6437
        line_start: 6437
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6508
        line_start: 6508
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7509
        line_start: 7509
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (data)
      pos:
        line_end: 6552
        line_start: 6552
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 7058
        line_start: 7058
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7204
        line_start: 7204
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6450
        line_start: 6450
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7438
        line_start: 7438
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6524
        line_start: 6524
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 7342
        line_start: 7342
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == 1)
      pos:
        line_end: 6463
        line_start: 6463
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6564
        line_start: 6564
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount >= 1)
      pos:
        line_end: 6773
        line_start: 6773
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7117
        line_start: 7117
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 0)
      pos:
        line_end: 6809
        line_start: 6809
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 6971
        line_start: 6971
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7414
        line_start: 7414
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount == 1)
      pos:
        line_end: 7558
        line_start: 7558
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 7637
      start: 6273
    functionDepth: 5
    functionLinenumber: 6273
    functionLinenumberEnd: 7637
    functionName: TIFFFetchNormalTag
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFWarningExtR
    - TIFFReadDirEntrySbyteArray
    - TIFFReadDirEntrySshort
    - TIFFReadDirEntryByte
    - TIFFReadDirEntryDouble
    - TIFFReadDirEntryLongArray
    - TIFFReadDirEntrySbyte
    - TIFFReadDirEntryShortArray
    - TIFFReadDirEntryOutputErr
    - TIFFReadDirEntryByteArray
    - assert
    - TIFFReadDirEntryFloatArray
    - TIFFReadDirEntrySlongArray
    - strlen
    - _TIFFmallocExt
    - TIFFReadDirEntryIfd8Array
    - TIFFReadDirEntrySshortArray
    - TIFFReadDirEntrySlong8Array
    - TIFFReadDirEntryIfd8
    - TIFFReadDirEntryDoubleArray
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    - EvaluateIFDdatasizeReading
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryFloat
    - _TIFFmemcpy
    - TIFFReadDirectoryFindFieldInfo
    - TIFFReadDirEntryLong8Array
    - TIFFErrorExtR
    - TIFFReadDirEntrySlong
    - TIFFSetField
    - TIFFReadDirEntryShort
    - TIFFReadDirEntryLong8
    - TIFFReadDirEntryLong
    - TIFFReadDirEntrySlong8
    linkageType: ''
    returnType: int
    signature: int TIFFFetchNormalTag(TIFF *tif, TIFFDirEntry *dp, int recover)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryLong8ArrayWithLimit
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7649,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7652,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7653,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7660,1
    - Dst: getenv
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7661,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7664,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7665,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7671,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7681,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7684,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7690,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7694,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7698,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7702,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7704,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - tif
    - dir
    - nstrips
    - lpp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t
    - uint64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7711
      start: 7643
    functionDepth: 4
    functionLinenumber: 7643
    functionLinenumberEnd: 7711
    functionName: TIFFFetchStripThing
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFReadDirEntryLong8ArrayWithLimit
    - getenv
    - _TIFFmemset
    - TIFFFieldWithTag
    - _TIFFmemcpy
    - _TIFFCheckMalloc
    - TIFFWarningExtR
    - _TIFFfreeExt
    - TIFFGetFileSize
    - atoi
    - TIFFReadDirEntryOutputErr
    linkageType: ''
    returnType: int
    signature: "int TIFFFetchStripThing(TIFF *tif, TIFFDirEntry *dir, uint32_t nstrips,\n
      \                              uint64_t **lpp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7722,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7723,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7724,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7736,1
    - Dst: TIFFReadDirEntryData
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7737,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7749,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7761,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts:
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 7721
        line_start: 7721
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 7723
        line_start: 7723
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 7722
        line_start: 7722
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 7768
      start: 7716
    functionDepth: 2
    functionLinenumber: 7716
    functionLinenumberEnd: 7768
    functionName: TIFFFetchSubjectDistance
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFReadDirEntryData
    - assert
    - TIFFSetField
    - TIFFSwabLong
    - TIFFSwabArrayOfLong
    - TIFFReadDirEntryOutputErr
    linkageType: ''
    returnType: int
    signature: int TIFFFetchSubjectDistance(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7783,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7784,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7785,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7800,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7803,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7814,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7816,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7825,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7827,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7849,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7851,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7852,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - tif
    - nstrips
    - stripbytes
    - rowsperstrip
    argTypes:
    - TIFF*
    - uint32_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7859
      start: 7770
    functionDepth: 2
    functionLinenumber: 7770
    functionLinenumberEnd: 7859
    functionName: allocChoppedUpStripArrays
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFCheckMalloc
    - TIFFWarningExtR
    - TIFFGetStrileByteCount
    - TIFFGetFileSize
    - TIFFSetField
    - _TIFFfreeExt
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: void
    signature: "void allocChoppedUpStripArrays(TIFF *tif, uint32_t nstrips,\n                                      uint64_t
      stripbytes,\n                                      uint32_t rowsperstrip)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7878,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7884,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7885,1
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7886,1
    - Dst: TIFFVTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7890,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7915,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7922,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7923,1
    - Dst: allocChoppedUpStripArrays
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7928,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (td->td_planarconfig == PLANARCONFIG_CONTIG)
      pos:
        line_end: 7884
        line_start: 7884
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 7929
      start: 7867
    functionDepth: 3
    functionLinenumber: 7867
    functionLinenumberEnd: 7929
    functionName: ChopUpSingleUncompressedStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - isUpSampled
    - TIFFVTileSize64
    - TIFFGetStrileByteCount
    - assert
    - TIFFhowmany_32
    - TIFFGetFileSize
    - allocChoppedUpStripArrays
    linkageType: ''
    returnType: void
    signature: void ChopUpSingleUncompressedStrip(TIFF *tif)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7949,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7951,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7952,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7953,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7955,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7960,1
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7963,1
    - Dst: TIFFVStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7967,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7979,1
    - Dst: TIFFVStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7980,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7988,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7992,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7993,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:7994,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8007,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8011,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8019,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8020,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8022,1
    - Dst: allocChoppedUpStripArrays
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8029,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (tif->tif_dir.td_planarconfig == PLANARCONFIG_CONTIG)
      pos:
        line_end: 7950
        line_start: 7950
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (tif->tif_dir.td_compression == COMPRESSION_NONE)
      pos:
        line_end: 7951
        line_start: 7951
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: "((tif->tif_flags & (TIFF_STRIPCHOP | TIFF_ISTILED)) ==\n           TIFF_STRIPCHOP)"
      pos:
        line_end: 7953
        line_start: 7952
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (stripbytes <= 0x7FFFFFFFUL)
      pos:
        line_end: 8006
        line_start: 8006
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - condition: (stripsize > 0x7FFFFFFFUL)
      pos:
        line_end: 7954
        line_start: 7954
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 8030
      start: 7937
    functionDepth: 3
    functionLinenumber: 7937
    functionLinenumberEnd: 8030
    functionName: TryChopUpUncompressedBigTiff
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - isUpSampled
    - TIFFGetStrileByteCount
    - TIFFStripSize64
    - assert
    - TIFFhowmany_32
    - allocChoppedUpStripArrays
    - TIFFGetFileSize
    - TIFFVStripSize64
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: void
    signature: void TryChopUpUncompressedBigTiff(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8036
      start: 8032
    functionDepth: 0
    functionLinenumber: 8032
    functionLinenumberEnd: 8036
    functionName: _TIFFUnsanitizedAddUInt64AndInt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW _TIFFUnsanitizedAddUInt64AndInt(uint64_t
      a, int b)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8063,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8085,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8096,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8103,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8109,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8127,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8132,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8139,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8142,1
    - Dst: _TIFFUnsanitizedAddUInt64AndInt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8151,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8158,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8162,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8168,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8172,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8178,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8182,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8189,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8193,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 4
    argNames:
    - tif
    - dirent
    - strile
    - panVals
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int
    - uint64_t*
    assertStmts:
    - condition: (dirent->tdir_count > 4)
      pos:
        line_end: 8062
        line_start: 8062
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 8198
      start: 8042
    functionDepth: 1
    functionLinenumber: 8042
    functionLinenumberEnd: 8198
    functionName: _TIFFPartialReadStripArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TIFFErrorExtR
    - TIFFSwabLong8
    - assert
    - TIFFReadFile
    - _TIFFUnsanitizedAddUInt64AndInt
    - TIFFSwabShort
    - SeekOK
    - TIFFSwabLong
    linkageType: ''
    returnType: int
    signature: "int _TIFFPartialReadStripArray(TIFF *tif, TIFFDirEntry *dirent,\n
      \                                     int strile, uint64_t *panVals)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8220,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8226,1
    - Dst: TIFF_MAX
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8240,1
    - Dst: TIFF_MIN
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8243,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8245,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8251,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8256,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8258,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8269,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8273,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8279,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8281,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8283,1
    - Dst: _TIFFPartialReadStripArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8293,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - tif
    - strile
    - dirent
    - parray
    argTypes:
    - TIFF*
    - uint32_t
    - TIFFDirEntry*
    - uint64_t**
    assertStmts:
    - condition: (strile < nStripArrayAllocNew)
      pos:
        line_end: 8244
        line_start: 8244
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 8301
      start: 8200
    functionDepth: 2
    functionLinenumber: 8200
    functionLinenumberEnd: 8301
    functionName: _TIFFFetchStrileValue
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFF_MAX
    - _TIFFPartialReadStripArray
    - _TIFFreallocExt
    - assert
    - TIFFErrorExtR
    - memset
    - TIFFGetFileSize
    - TIFF_MIN
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int _TIFFFetchStrileValue(TIFF *tif, uint32_t strile,\n                                 TIFFDirEntry
      *dirent, uint64_t **parray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8239
      start: 8238
    functionDepth: 0
    functionLinenumber: 8238
    functionLinenumberEnd: 8239
    functionName: TIFF_MAX
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8240
      start: 8239
    functionDepth: 0
    functionLinenumber: 8239
    functionLinenumberEnd: 8240
    functionName: TIFF_MIN
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_MIN(a, b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStriles
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8319,1
    - Dst: _TIFFFetchStrileValue
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 5
    argNames:
    - tif
    - strile
    - dirent
    - parray
    - pbErr
    argTypes:
    - TIFF*
    - uint32_t
    - TIFFDirEntry*
    - uint64_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8345
      start: 8303
    functionDepth: 3
    functionLinenumber: 8303
    functionLinenumberEnd: 8345
    functionName: _TIFFGetStrileOffsetOrByteCountValue
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFFetchStrileValue
    - _TIFFFillStriles
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _TIFFGetStrileOffsetOrByteCountValue(TIFF *tif, uint32_t
      strile,\n                                                     TIFFDirEntry *dirent,\n
      \                                                    uint64_t **parray,\n                                                     int
      *pbErr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8352
      start: 8349
    functionDepth: 1
    functionLinenumber: 8349
    functionLinenumberEnd: 8352
    functionName: TIFFGetStrileOffset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 11
    functionsReached:
    - TIFFGetStrileOffsetWithErr
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFGetStrileOffset(TIFF *tif, uint32_t strile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetStrileOffsetOrByteCountValue
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - strile
    - pbErr
    argTypes:
    - TIFF*
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8362
      start: 8356
    functionDepth: 4
    functionLinenumber: 8356
    functionLinenumberEnd: 8362
    functionName: TIFFGetStrileOffsetWithErr
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFGetStrileOffsetOrByteCountValue
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFGetStrileOffsetWithErr(TIFF *tif, uint32_t strile, int
      *pbErr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8369
      start: 8366
    functionDepth: 1
    functionLinenumber: 8366
    functionLinenumberEnd: 8369
    functionName: TIFFGetStrileByteCount
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 15
    functionsReached:
    - TIFFGetStrileByteCountWithErr
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFGetStrileByteCount(TIFF *tif, uint32_t strile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetStrileOffsetOrByteCountValue
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - strile
    - pbErr
    argTypes:
    - TIFF*
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8379
      start: 8373
    functionDepth: 4
    functionLinenumber: 8373
    functionLinenumberEnd: 8379
    functionName: TIFFGetStrileByteCountWithErr
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFGetStrileOffsetOrByteCountValue
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFGetStrileByteCountWithErr(TIFF *tif, uint32_t strile,
      int *pbErr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStrilesInternal
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8381
      start: 8381
    functionDepth: 1
    functionLinenumber: 8381
    functionLinenumberEnd: 8381
    functionName: _TIFFFillStriles
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 4
    functionsReached:
    - _TIFFFillStrilesInternal
    linkageType: ''
    returnType: int
    signature: int _TIFFFillStriles(TIFF *tif)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8396,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8397,1
    - Dst: TIFFFetchStripThing
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8412,1
    - Dst: TIFFFetchStripThing
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8419,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8425,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_dirread.c:8426,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - tif
    - loadStripByteCount
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8447
      start: 8383
    functionDepth: 1
    functionLinenumber: 8383
    functionLinenumberEnd: 8447
    functionName: _TIFFFillStrilesInternal
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFmemset
    - TIFFFetchStripThing
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int _TIFFFillStrilesInternal(TIFF *tif, int loadStripByteCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: _tiffosReadProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffosReadProc(thandle_t, void *, tmsize_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:110,1
    - Dst: static_cast<tmsize_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:114,1
    - Dst: static_cast<tmsize_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:115,1
    - Dst: tiffis_data*::stream::read
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:117,1
    - Dst: static_cast<tmsize_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:119,1
    - Dst: tiffis_data*::stream::gcount
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: _tiffisReadProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - tiffis_data*::stream::read
    - tiffis_data*::stream::gcount
    - reinterpret_cast<tiffis_data *>
    - static_cast<tmsize_t>
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffisReadProc(thandle_t fd, void *buf, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:124,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:126,1
    - Dst: static_cast<tmsize_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:130,1
    - Dst: static_cast<tmsize_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:131,1
    - Dst: ostream*::write
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:133,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:133,1
    - Dst: static_cast<tmsize_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:135,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: _tiffosWriteProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - ostream*::tellp
    - reinterpret_cast<const char *>
    - static_cast<tmsize_t>
    - reinterpret_cast<tiffos_data *>
    - ostream*::write
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffosWriteProc(thandle_t fd, void *buf, tmsize_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: _tiffisWriteProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffisWriteProc(thandle_t, void *, tmsize_t)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:142,1
    - Dst: ostream*::fail
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:146,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:147,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:155,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:158,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:159,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:160,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:162,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:168,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:169,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:170,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:172,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:178,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:179,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:180,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:182,1
    - Dst: ostream*::fail
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:191,1
    - Dst: ostream*::rdstate
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:196,1
    - Dst: ostream*::clear
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:198,1
    - Dst: ostream*::rdstate
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:198,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:206,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:209,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:210,1
    - Dst: ostream*::clear
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:214,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:217,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:218,1
    - Dst: ostream*::clear
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:223,1
    - Dst: ostream*::rdstate
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:223,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:226,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:227,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:227,1
    - Dst: ostream*::put
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:229,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:232,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:232,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:233,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:238,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 239
    functionName: _tiffosSeekProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - ostream*::fail
    - ostream*::tellp
    - static_cast<ios::off_type>
    - ostream*::put
    - static_cast<uint64_t>
    - ostream*::clear
    - ostream*::rdstate
    - reinterpret_cast<tiffos_data *>
    - ostream*::seekp
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffosSeekProc(thandle_t fd, uint64_t off, int whence)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:243,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:251,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:254,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:255,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:256,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:258,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:264,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:265,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:266,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:268,1
    - Dst: static_cast<ios::off_type>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:274,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:275,1
    - Dst: static_cast<uint64_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:276,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:278,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 284
    functionName: _tiffisSeekProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffis_data *>
    - static_cast<ios::off_type>
    - tiffis_data*::stream::tellg
    - static_cast<uint64_t>
    - tiffis_data*::stream::seekg
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffisSeekProc(thandle_t fd, uint64_t off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:288,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:290,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:293,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:294,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: _tiffosSizeProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffos_data *>
    - ostream*::seekp
    - ostream*::tellp
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffosSizeProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:302,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:303,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:306,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:307,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: _tiffisSizeProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - tiffis_data*::stream::seekg
    - tiffis_data*::stream::tellg
    - reinterpret_cast<tiffis_data *>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffisSizeProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: _tiffosCloseProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffos_data *>
    linkageType: ''
    returnType: int
    signature: int _tiffosCloseProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: _tiffisCloseProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffis_data *>
    linkageType: ''
    returnType: int
    signature: int _tiffisCloseProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: _tiffDummyMapProcCxx
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffDummyMapProcCxx(thandle_t, void **base, toff_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: _tiffDummyUnmapProcCxx
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffDummyUnmapProcCxx(thandle_t, void *base, toff_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:347,1
    - Dst: tiffos_data::tiffos_data
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:349,1
    - Dst: reinterpret_cast<ostream *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:350,1
    - Dst: tiffos_data*::stream::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:351,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:354,1
    - Dst: reinterpret_cast<thandle_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:355,1
    - Dst: tiffis_data::tiffis_data
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:365,1
    - Dst: reinterpret_cast<istream *>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:366,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:367,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:369,1
    - Dst: reinterpret_cast<thandle_t>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - name
    - mode
    - fd
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 380
    functionName: _tiffStreamOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - tiffos_data*::stream::tellp
    - TIFFClientOpen
    - reinterpret_cast<istream *>
    - strchr
    - tiffis_data*::stream::tellg
    - reinterpret_cast<ostream *>
    - reinterpret_cast<thandle_t>
    - tiffis_data::tiffis_data
    - tiffos_data::tiffos_data
    linkageType: ''
    returnType: TIFF
    signature: TIFF *_tiffStreamOpen(const char *name, const char *mode, void *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostream*::fail
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:390,1
    - Dst: static_cast<int>
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:390,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:390,1
    - Dst: ostream*::seekp
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:393,1
    - Dst: _tiffStreamOpen
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - os
    argTypes:
    - char*
    - ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: TIFFStreamOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - ostream*::fail
    - ostream*::tellp
    - static_cast<int>
    - _tiffStreamOpen
    - ostream*::seekp
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFStreamOpen(const char *name, ostream *os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _tiffStreamOpen
      Src: /src/PROJ/libtiff/libtiff/tif_stream.cxx:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - is
    argTypes:
    - char*
    - istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: TIFFStreamOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - _tiffStreamOpen
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFStreamOpen(const char *name, istream *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: LState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: DecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: EncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:87,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - data_size
    - picture
    argTypes:
    - uint8_t*
    - size_t
    - WebPPicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: TWebPDatasetWriter
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: "int TWebPDatasetWriter(const uint8_t *data, size_t data_size,\n                              const
      WebPPicture *const picture)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:107,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:110,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:111,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:115,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: TWebPEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - TIFFErrorExtR
    - memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: int TWebPEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:129,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:135,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:136,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:140,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:141,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:153,1
    - Dst: WebPGetInfo
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:167,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:173,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:175,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:181,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:183,1
    - Dst: WebPInitDecoderConfig
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:191,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:193,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:195,1
    - Dst: WebPGetFeatures
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:200,1
    - Dst: WebPFreeDecBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:206,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:210,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:212,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:225,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:227,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:245,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:249,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:252,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:253,1
    - Dst: WebPInitDecBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:262,1
    - Dst: WebPINewDecoder
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:280,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:284,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:286,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:295,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:297,1
    - Dst: WebPIAppend
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:301,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:307,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:311,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:315,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:317,1
    - Dst: WebPIDecGetRGB
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:327,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:338,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:340,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:348,1
    - Dst: WebPIDelete
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:360,1
    - Dst: WebPFreeDecBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:361,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:369,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:371,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 138
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    - condition: (sp != NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 375
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 375
    functionName: TWebPDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPInitDecBuffer
    - WebPGetInfo
    - memcpy
    - WebPIDecGetRGB
    - isTiled
    - WebPIAppend
    - TIFFErrorExtR
    - assert
    - DecoderState
    - memset
    - WebPFreeDecBuffer
    - WebPInitDecoderConfig
    - WebPINewDecoder
    - WebPIDelete
    - WebPGetFeatures
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TWebPDecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: TWebPFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TWebPFixupTags(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:401,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:402,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:413,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:426,1
    - Dst: WebPPictureFree
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:433,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 446
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 446
    functionName: TWebPSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPPictureFree
    - TIFFErrorExtR
    - assert
    - DecoderState
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TWebPSetupDecode(TIFF *tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:455,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:458,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:460,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:475,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:481,1
    - Dst: WebPIDelete
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:485,1
    - Dst: WebPFreeDecBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 493
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 493
    functionName: TWebPPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - isTiled
    - WebPIDelete
    - TIFFErrorExtR
    - assert
    - DecoderState
    - WebPFreeDecBuffer
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int TWebPPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:501,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:502,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:513,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:526,1
    - Dst: WebPIDelete
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:532,1
    - Dst: WebPFreeDecBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:533,1
    - Dst: WebPPictureInit
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:541,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:543,1
    - Dst: WebPConfigInitInternal
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:547,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:551,1
    - Dst: WebPValidateConfig
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:568,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 575
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 575
    functionName: TWebPSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPIDelete
    - WebPFreeDecBuffer
    - TIFFErrorExtR
    - assert
    - WebPConfigInitInternal
    - WebPValidateConfig
    - EncoderState
    - WebPPictureInit
    linkageType: ''
    returnType: int
    signature: int TWebPSetupEncode(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:584,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:589,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:591,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:596,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:611,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:622,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:626,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 640
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 640
    functionName: TWebPPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFF*::tif_setupencode
    - isTiled
    - TIFFErrorExtR
    - assert
    - _TIFFmallocExt
    - EncoderState
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int TWebPPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:649,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:650,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:652,1
    - Dst: WebPPictureImportRGBA
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:659,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:661,1
    - Dst: WebPPictureImportRGB
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:667,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:669,1
    - Dst: WebPEncode
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:673,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:712,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:718,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:720,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:727,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:729,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    - condition: (sp != NULL)
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 734
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 734
    functionName: TWebPPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPEncode
    - TIFFErrorExtR
    - assert
    - TIFFFlushData1
    - WebPPictureImportRGB
    - WebPPictureImportRGBA
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int TWebPPostEncode(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:738,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:740,1
    - Dst: WebPPictureFree
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:747,1
    - Dst: WebPIDelete
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:752,1
    - Dst: WebPFreeDecBuffer
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:753,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:760,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:764,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 768
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 768
    functionName: TWebPCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPPictureFree
    - LState
    - _TIFFSetDefaultCompressionState
    - WebPIDelete
    - WebPFreeDecBuffer
    - assert
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void TWebPCleanup(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:773,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:778,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:781,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:787,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:794,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:802,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 815
    functionName: TWebPVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - TIFFErrorExtR
    - va_arg
    - LState
    linkageType: ''
    returnType: int
    signature: int TWebPVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:819,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:824,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:827,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 836
    functionName: TWebPVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - va_arg
    - LState
    linkageType: ''
    returnType: int
    signature: int TWebPVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:853,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:858,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:858,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:860,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:867,1
    - Dst: LState
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:870,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_webp.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_WEBP)
      pos:
        line_end: 852
        line_start: 852
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 915
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 915
    functionName: TIFFInitWebP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - LState
    - _TIFFMergeFields
    - TIFFErrorExtR
    - assert
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitWebP(TIFF *tif, int scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:40,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:46,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:47,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: PackBitsPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - TIFFTileRowSize
    - _TIFFmallocExt
    - TIFFScanlineSize
    - isTiled
    linkageType: ''
    returnType: int
    signature: int PackBitsPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: PackBitsPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int PackBitsPostEncode(TIFF *tif)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:107,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:117,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 100
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 208
    functionName: PackBitsEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int PackBitsEncode(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PackBitsEncode
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 234
    functionName: PackBitsEncodeChunk
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - PackBitsEncode
    linkageType: ''
    returnType: int
    signature: int PackBitsEncodeChunk(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t
      s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:260,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:268,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:283,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:291,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:296,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:307,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_packbits.c:308,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 313
    functionName: PackBitsDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - memset
    - _TIFFmemcpy
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int PackBitsDecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: TIFFInitPackBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitPackBits(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: SETPIXEL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_thunder.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETPIXEL(op, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: ThunderSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int ThunderSetupDecode(TIFF *tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:133,1
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:136,1
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:139,1
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:144,1
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:147,1
    - Dst: SETPIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:151,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:160,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:161,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - tif
    - op0
    - maxpixels
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 170
    functionName: ThunderDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached:
    - memset
    - SETPIXEL
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int ThunderDecode(TIFF *tif, uint8_t *op0, tmsize_t maxpixels)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:180,1
    - Dst: ThunderDecode
      Src: /src/PROJ/libtiff/libtiff/tif_thunder.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: ThunderDecodeRow
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached:
    - ThunderDecode
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int ThunderDecodeRow(TIFF *tif, uint8_t *buf, tmsize_t occ, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: TIFFInitThunderScan
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitThunderScan(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: TIFFGetVersion
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_version.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *TIFFGetVersion(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: _tiffReadProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffReadProc(thandle_t fd, void *buf, tmsize_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 129
    functionName: _tiffWriteProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffWriteProc(thandle_t fd, void *buf, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_lseek_f
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: _tiffSeekProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - _TIFF_lseek_f
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffSeekProc(thandle_t fd, uint64_t off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: _tiffCloseProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int _tiffCloseProc(thandle_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_fstat_f
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: _tiffSizeProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 1
    functionsReached:
    - _TIFF_fstat_f
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _tiffSizeProc(thandle_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _tiffSizeProc
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:167,1
    - Dst: mmap
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: _tiffMapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - mmap
    - _tiffSizeProc
    linkageType: ''
    returnType: int
    signature: int _tiffMapProc(thandle_t fd, void **pbase, toff_t *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: _tiffUnmapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void _tiffUnmapProc(thandle_t fd, void *base, toff_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: _tiffMapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffMapProc(thandle_t fd, void **pbase, toff_t *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: _tiffUnmapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffUnmapProc(thandle_t fd, void *base, toff_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFdOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: TIFFFdOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 1
    functionsReached:
    - TIFFFdOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFFdOpen(int fd, const char *name, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fd
    - name
    - mode
    - opts
    argTypes:
    - int
    - char*
    - char*
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: TIFFFdOpenExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 4
    functionsReached:
    - TIFFClientOpenExt
    linkageType: ''
    returnType: TIFF
    signature: "TIFF *TIFFFdOpenExt(int fd, const char *name, const char *mode,\n
      \                   TIFFOpenOptions *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: TIFFOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 59
    functionsReached:
    - TIFFOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpen(const char *name, const char *mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:243,1
    - Dst: open
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:252,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:255,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:257,1
    - Dst: strerror
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:258,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:262,1
    - Dst: TIFFFdOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:267,1
    - Dst: close
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - name
    - mode
    - opts
    argTypes:
    - char*
    - char*
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 271
    functionName: TIFFOpenExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 13
    functionsReached:
    - _TIFFErrorEarly
    - strerror
    - open
    - _TIFFgetMode
    - close
    - TIFFFdOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpenExt(const char *name, const char *mode, TIFFOpenOptions
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpenWExt
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: TIFFOpenW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - TIFFOpenWExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpenW(const wchar_t *name, const char *mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:290,1
    - Dst: _wopen
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:299,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:302,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:307,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:310,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:313,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:319,1
    - Dst: TIFFFdOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:322,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:325,1
    - Dst: close
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - name
    - mode
    - opts
    argTypes:
    - wchar_t*
    - char*
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 330
    functionName: TIFFOpenWExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 2
    functionsReached:
    - WideCharToMultiByte
    - _TIFFErrorEarly
    - _wopen
    - _TIFFgetMode
    - _TIFFfree
    - _TIFFmalloc
    - close
    - TIFFFdOpenExt
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TIFFOpenWExt(const wchar_t *name, const char *mode, TIFFOpenOptions
      *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: _TIFFmalloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 62
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFmalloc(tmsize_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - nmemb
    - siz
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: _TIFFcalloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFcalloc(tmsize_t nmemb, tmsize_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: _TIFFfree
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 93
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _TIFFfree(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: _TIFFrealloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 9
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFrealloc(void *p, tmsize_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - v
    - c
    argTypes:
    - void*
    - int
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: _TIFFmemset
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 39
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _TIFFmemset(void *p, int v, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - s
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: _TIFFmemcpy
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 36
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _TIFFmemcpy(void *d, const void *s, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: _TIFFmemcmp
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _TIFFmemcmp(const void *p1, const void *p2, tmsize_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:368,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:369,1
    - Dst: vfprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:370,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: unixWarningHandler
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void unixWarningHandler(const char *module, const char *fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:378,1
    - Dst: vfprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:379,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_unix.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: unixErrorHandler
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void unixErrorHandler(const char *module, const char *fmt, va_list
      ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:54,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:55,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: TIFFComputeTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 4
    functionsReached:
    - TIFFhowmany_32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t TIFFComputeTile(TIFF *tif, uint32_t x, uint32_t y, uint32_t
      z,\n                         uint16_t s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:77,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:83,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:90,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - tif
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 103
    functionName: TIFFCheckTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 3
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFCheckTile(TIFF *tif, uint32_t x, uint32_t y, uint32_t z, uint16_t
      s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiply32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:125,1
    - Dst: _TIFFMultiply32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:127,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:127,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:128,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:130,1
    - Dst: _TIFFMultiply32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: TIFFNumberOfTiles
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 13
    functionsReached:
    - TIFFhowmany_32
    - _TIFFMultiply32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFNumberOfTiles(TIFF *tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:149,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:154,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:157,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:163,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:166,1
    - Dst: TIFFhowmany8_64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:169,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 176
    functionName: TIFFTileRowSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 0
    functionsReached:
    - _TIFFMultiply64
    - TIFFhowmany8_64
    - TIFFErrorExtR
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFTileRowSize64(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:181,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: TIFFTileRowSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 16
    functionsReached:
    - TIFFTileRowSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFTileRowSize(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:197,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:213,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:220,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:226,1
    - Dst: TIFFhowmany_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:227,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:228,1
    - Dst: TIFFhowmany8_64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:230,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:230,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:233,1
    - Dst: _TIFFMultiply64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:236,1
    - Dst: TIFFTileRowSize64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:236,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 237
    functionName: TIFFVTileSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 1
    functionsReached:
    - isUpSampled
    - TIFFGetFieldDefaulted
    - _TIFFMultiply64
    - TIFFErrorExtR
    - TIFFhowmany_32
    - TIFFhowmany8_64
    - TIFFTileRowSize64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFVTileSize64(TIFF *tif, uint32_t nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:242,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: TIFFVTileSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 0
    functionsReached:
    - TIFFVTileSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFVTileSize(TIFF *tif, uint32_t nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: TIFFTileSize64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 7
    functionsReached:
    - TIFFVTileSize64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TIFFTileSize64(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:257,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: TIFFTileSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 27
    functionsReached:
    - TIFFTileSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFTileSize(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - tw
    - th
    argTypes:
    - TIFF*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: TIFFDefaultTileSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFDefaultTileSize(TIFF *tif, uint32_t *tw, uint32_t *th)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:281,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_tile.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - tw
    - th
    argTypes:
    - TIFF*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: _TIFFDefaultTileSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_tile.c
    functionUses: 0
    functionsReached:
    - TIFFroundup_32
    linkageType: ''
    returnType: void
    signature: void _TIFFDefaultTileSize(TIFF *tif, uint32_t *tw, uint32_t *th)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldIsAnonymous
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:83,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:94,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:99,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:101,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:103,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:105,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:107,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:109,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:111,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:113,1
    - Dst: TIFFFieldSetGetSize
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:117,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:119,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:121,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:126,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:128,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:130,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:132,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:135,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:140,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:145,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:148,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 4
    argNames:
    - fd
    - fip
    - value_count
    - raw_data
    argTypes:
    - FILE*
    - TIFFField*
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 149
    functionName: _TIFFPrintField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - TIFFFieldSetGetSize
    - fprintf
    - TIFFFieldIsAnonymous
    linkageType: ''
    returnType: void
    signature: "void _TIFFPrintField(FILE *fd, const TIFFField *fip,\n                            uint32_t
      value_count, void *raw_data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldIsAnonymous
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:158,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:168,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:172,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:175,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:187,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:196,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:206,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:208,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:209,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:213,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:218,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:223,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 6
    argNames:
    - tif
    - fip
    - fd
    - tag
    - value_count
    - raw_data
    argTypes:
    - TIFF*
    - TIFFField*
    - FILE*
    - uint32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 238
    functionName: _TIFFPrettyPrintField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - fputc
    - fprintf
    - TIFFFieldIsAnonymous
    linkageType: ''
    returnType: int
    signature: "int _TIFFPrettyPrintField(TIFF *tif, const TIFFField *fip, FILE *fd,\n
      \                                uint32_t tag, uint32_t value_count,\n                                 void
      *raw_data)"
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:250,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:252,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:254,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:258,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:263,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:267,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:268,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:271,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:273,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:275,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:276,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:277,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:279,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:281,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:283,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:284,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:285,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:287,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:289,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:291,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:296,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:299,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:302,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:305,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:310,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:312,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:313,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:314,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:315,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:316,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:318,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:322,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:325,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:328,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:331,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:334,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:337,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:340,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:345,1
    - Dst: TIFFFindCODEC
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:347,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:348,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:350,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:352,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:355,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:357,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:359,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:365,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:368,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:371,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:377,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:380,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:387,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:390,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:393,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:396,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:402,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:404,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:408,1
    - Dst: strchr
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:413,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:416,1
    - Dst: _TIFFprintAsciiBounded
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:417,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:420,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:422,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:424,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:426,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:428,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:432,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:435,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:438,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:441,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:446,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:448,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:452,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:455,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:458,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:463,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:465,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:468,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:470,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:474,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:477,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:480,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:485,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:486,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:488,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:490,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:492,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:494,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:497,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:498,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:499,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:501,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:503,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:505,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:507,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:508,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:509,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:510,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:511,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:516,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:518,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:519,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:521,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:526,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:528,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:529,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:531,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:533,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:537,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:540,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:543,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:548,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:549,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:551,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:553,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:556,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:559,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:564,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:566,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:569,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:571,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:575,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:577,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:580,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:585,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:590,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:591,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:595,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:597,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:600,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:602,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:603,1
    - Dst: TIFFGetTagListCount
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:613,1
    - Dst: TIFFGetTagListEntry
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:616,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:624,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:632,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:638,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:645,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:660,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:667,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:674,1
    - Dst: TIFFFieldSetGetSize
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:682,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:683,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:685,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:687,1
    - Dst: _TIFFPrettyPrintField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:700,1
    - Dst: _TIFFPrintField
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:702,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:705,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:712,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:716,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:717,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:719,1
    - Dst: TIFFGetStrileOffset
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:720,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:721,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 322
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: "(fip->field_readcount == TIFF_VARIABLE ||\n                           fip->field_readcount
        == TIFF_VARIABLE2)"
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/PROJ/libtiff/libtiff/tif_print.c
    constantsTouched: []
    func_position:
      end: 723
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 723
    functionName: TIFFPrintDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_print.c
    functionUses: 1
    functionsReached:
    - TIFFFieldWithTag
    - _TIFFPrintField
    - TIFFGetField
    - fputs
    - TIFFGetTagListCount
    - assert
    - _TIFFmallocExt
    - fprintf
    - TIFFGetStrileByteCount
    - TIFFFieldSet
    - TIFFFindCODEC
    - TIFFFieldSetGetSize
    - _TIFFfreeExt
    - strcmp
    - strchr
    - isTiled
    - _TIFFprintAsciiBounded
    - TIFFGetTagListEntry
    - _TIFFPrettyPrintField
    - fputc
    - TIFFGetStrileOffset
    linkageType: ''
    returnType: void
    signature: void TIFFPrintDirectory(TIFF *tif, FILE *fd, long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFprintAsciiBounded
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:727,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - cp
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: _TIFFprintAscii
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - _TIFFprintAsciiBounded
    - strlen
    linkageType: ''
    returnType: void
    signature: void _TIFFprintAscii(FILE *fd, const char *cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:736,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:738,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:745,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - cp
    - max_chars
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 749
    functionName: _TIFFprintAsciiBounded
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_print.c
    functionUses: 2
    functionsReached:
    - fputc
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _TIFFprintAsciiBounded(FILE *fd, const char *cp, size_t max_chars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:753,1
    - Dst: _TIFFprintAscii
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:754,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_print.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - name
    - value
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: _TIFFprintAsciiTag
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - _TIFFprintAscii
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _TIFFprintAsciiTag(FILE *fd, const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: DecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: EncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:188,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:199,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:200,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:210,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:215,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (s == 0)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 256
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 256
    functionName: LogL16Decode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - DecoderState
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int LogL16Decode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:264,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:272,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:273,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:283,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (s == 0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 309
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 309
    functionName: LogLuvDecode24
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecode24(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:328,1
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:329,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:330,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:340,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:345,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:373,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (s == 0)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 386
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 386
    functionName: LogLuvDecode32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - DecoderState
    - TIFFErrorExtR
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecode32(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:395,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (cc % rowlen == 0)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: LogLuvDecodeStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecodeStrip(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:416,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (cc % rowlen == 0)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 428
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 428
    functionName: LogLuvDecodeTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFTileRowSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecodeTile(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t
      s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:436,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:449,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:450,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:460,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:476,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:514,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 541
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 541
    functionName: LogL16Encode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - TIFFErrorExtR
    - TIFFFlushData1
    - assert
    linkageType: ''
    returnType: int
    signature: int LogL16Encode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:549,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:557,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:558,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:568,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 596
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 596
    functionName: LogLuvEncode24
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - TIFFErrorExtR
    - TIFFFlushData1
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvEncode24(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:604,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:617,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:618,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:629,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:646,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:683,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 617
        line_start: 617
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 616
        line_start: 616
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 710
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 710
    functionName: LogLuvEncode32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - TIFFErrorExtR
    - TIFFFlushData1
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvEncode32(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:718,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (cc % rowlen == 0)
      pos:
        line_end: 722
        line_start: 722
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: LogLuvEncodeStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvEncodeStrip(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:738,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (cc % rowlen == 0)
      pos:
        line_end: 742
        line_start: 742
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: LogLuvEncodeTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFTileRowSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvEncodeTile(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 772
    functionName: log2
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: exp2
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exp2(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 788
    functionName: _TIFFRand
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _TIFFRand()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFRand
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - m
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: tiff_itrunc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFRand
    linkageType: ''
    returnType: int
    signature: int tiff_itrunc(double x, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p16
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 810
    functionName: LogL16toY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double LogL16toY(int p16)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:823,1
    - Dst: log2
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:823,1
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:825,1
    - Dst: log2
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - Y
    - em
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 827
    functionName: LogL16fromY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - log2
    - tiff_itrunc
    linkageType: ''
    returnType: int
    signature: int LogL16fromY(double Y, int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogL16toY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 836
    functionName: L16toY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogL16toY
    linkageType: ''
    returnType: void
    signature: void L16toY(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogL16toY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:845,1
    - Dst: sqrt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 850
    functionName: L16toGry
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - sqrt
    - LogL16toY
    linkageType: ''
    returnType: void
    signature: void L16toGry(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogL16fromY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: L16fromY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogL16fromY
    linkageType: ''
    returnType: void
    signature: void L16fromY(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:874,1
    - Dst: sqrt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:875,1
    - Dst: sqrt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xyz
    - rgb
    argTypes:
    - float*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 877
    functionName: XYZtoRGB24
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: void XYZtoRGB24(float *xyz, uint8_t *rgb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p10
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: LogL10toY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double LogL10toY(int p10)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:901,1
    - Dst: log2
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - Y
    - em
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: LogL10fromY
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - log2
    - tiff_itrunc
    linkageType: ''
    returnType: int
    signature: int LogL10fromY(double Y, int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 907
    functionName: uv2ang
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv2ang(u, v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uv2ang
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:929,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:931,1
    - Dst: uv2ang
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:956,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 958
    functionName: oog_encode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - fabs
    - uv2ang
    linkageType: ''
    returnType: int
    signature: int oog_encode(double u, double v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: oog_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:980,1
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:981,1
    - Dst: oog_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:983,1
    - Dst: oog_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:985,1
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:986,1
    - Dst: oog_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - u
    - v
    - em
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 991
    functionName: uv_encode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - oog_encode
    - tiff_itrunc
    linkageType: ''
    returnType: int
    signature: int uv_encode(double u, double v, int em)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - up
    - vp
    - c
    argTypes:
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1026
    functionName: uv_decode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uv_decode(double *up, double *vp, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogL10toY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1037,1
    - Dst: uv_decode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p
    - XYZ
    argTypes:
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1057
    functionName: LogLuv24toXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL10toY
    - uv_decode
    linkageType: ''
    returnType: void
    signature: void LogLuv24toXYZ(uint32_t p, float *XYZ)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogL10fromY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1068,1
    - Dst: uv_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1081,1
    - Dst: uv_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - XYZ
    - em
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1086
    functionName: LogLuv24fromXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL10fromY
    - uv_encode
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t LogLuv24fromXYZ(float *XYZ, int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv24toXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: Luv24toXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv24toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv24toXYZ(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_decode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1120
    functionName: Luv24toLuv48
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - uv_decode
    linkageType: ''
    returnType: void
    signature: void Luv24toLuv48(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv24toXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1131,1
    - Dst: XYZtoRGB24
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1122
    functionDepth: 2
    functionLinenumber: 1122
    functionLinenumberEnd: 1135
    functionName: Luv24toRGB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogLuv24toXYZ
    - XYZtoRGB24
    linkageType: ''
    returnType: void
    signature: void Luv24toRGB(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv24fromXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1147
    functionName: Luv24fromXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv24fromXYZ
    linkageType: ''
    returnType: void
    signature: void Luv24fromXYZ(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1165,1
    - Dst: uv_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1167,1
    - Dst: uv_encode
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1174
    functionName: Luv24fromLuv48
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - uv_encode
    - tiff_itrunc
    linkageType: ''
    returnType: void
    signature: void Luv24fromLuv48(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogL16toY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p
    - XYZ
    argTypes:
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1200
    functionName: LogLuv32toXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL16toY
    linkageType: ''
    returnType: void
    signature: void LogLuv32toXYZ(uint32_t p, float *XYZ)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogL16fromY
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1211,1
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1227,1
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - XYZ
    - em
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1238
    functionName: LogLuv32fromXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL16fromY
    - tiff_itrunc
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t LogLuv32fromXYZ(float *XYZ, int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv32toXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1250
    functionName: Luv32toXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv32toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv32toXYZ(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1268
    functionName: Luv32toLuv48
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Luv32toLuv48(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv32toXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1279,1
    - Dst: XYZtoRGB24
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1283
    functionName: Luv32toRGB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - XYZtoRGB24
    - LogLuv32toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv32toRGB(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv32fromXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1285
    functionDepth: 4
    functionLinenumber: 1285
    functionLinenumberEnd: 1295
    functionName: Luv32fromXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv32fromXYZ
    linkageType: ''
    returnType: void
    signature: void Luv32fromXYZ(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1317,1
    - Dst: tiff_itrunc
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1324
    functionName: Luv32fromLuv48
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - tiff_itrunc
    linkageType: ''
    returnType: void
    signature: void Luv32fromLuv48(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8_t*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1331
    functionName: _logLuvNop
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _logLuvNop(LogLuvState *sp, uint8_t *op, tmsize_t n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1337,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1339,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1341,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1342,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1343,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1345,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1351
    functionName: LogL16GuessDataFmt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: int
    signature: int LogL16GuessDataFmt(TIFFDirectory *td)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1336
    functionName: PACK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(s, b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiplySSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1356
    functionName: multiply_ms
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 3
    functionsReached:
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t multiply_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1362,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1364,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1365,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1369,1
    - Dst: LogL16GuessDataFmt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1377,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1390,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1394,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1395,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1397,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1399,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1400,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1401,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (td->td_photometric == PHOTOMETRIC_LOGL)
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 1363
        line_start: 1363
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1408
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1408
    functionName: LogL16InitState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    - assert
    - DecoderState
    - LogL16GuessDataFmt
    - _TIFFmallocExt
    - multiply_ms
    linkageType: ''
    returnType: int
    signature: int LogL16InitState(TIFF *tif)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1419,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1421,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1424,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1425,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1426,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1429,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1430,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1431,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1434,1
    - Dst: PACK
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1461
    functionName: LogLuvGuessDataFmt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: int
    signature: int LogLuvGuessDataFmt(TIFFDirectory *td)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1419
    functionName: PACK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(a, b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1467,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1469,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1470,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1475,1
    - Dst: LogLuvGuessDataFmt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1480,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1496,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1501,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1502,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1504,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1506,1
    - Dst: multiply_ms
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1507,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1508,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (td->td_photometric == PHOTOMETRIC_LOGLUV)
      pos:
        line_end: 1469
        line_start: 1469
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 1468
        line_start: 1468
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1515
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1515
    functionName: LogLuvInitState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    - assert
    - DecoderState
    - LogLuvGuessDataFmt
    - _TIFFmallocExt
    - multiply_ms
    linkageType: ''
    returnType: int
    signature: int LogLuvInitState(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: LogLuvFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LogLuvFixupTags(TIFF *tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1526,1
    - Dst: LogLuvInitState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1533,1
    - Dst: LogL16InitState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1569,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1583,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1590
    functionName: LogLuvSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExtR
    - LogLuvInitState
    - LogL16InitState
    linkageType: ''
    returnType: int
    signature: int LogLuvSetupDecode(TIFF *tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1595,1
    - Dst: LogLuvInitState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1601,1
    - Dst: LogL16InitState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1639,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1654,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1663,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1667
    functionName: LogLuvSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - TIFFErrorExtR
    - LogLuvInitState
    - LogL16InitState
    linkageType: ''
    returnType: int
    signature: int LogLuvSetupEncode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1673
        line_start: 1673
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: LogLuvClose
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void LogLuvClose(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1698,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1704,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1705,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1697
        line_start: 1697
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1709
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1709
    functionName: LogLuvCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - _TIFFfreeExt
    - assert
    linkageType: ''
    returnType: void
    signature: void LogLuvCleanup(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1714,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1720,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1740,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1747,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1753,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1754,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1758,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1758,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1759,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1762,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1711
    functionDepth: 5
    functionLinenumber: 1711
    functionLinenumberEnd: 1775
    functionName: LogLuvVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - isTiled
    - TIFFScanlineSize
    - TIFFErrorExtR
    - DecoderState
    - TIFFSetField
    - va_arg
    linkageType: ''
    returnType: int
    signature: int LogLuvVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1789
    functionName: LogLuvVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int LogLuvVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1802,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1807,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1807,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1809,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1816,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1820,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_luv.c:1851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_SGILOG24 || scheme == COMPRESSION_SGILOG)
      pos:
        line_end: 1801
        line_start: 1801
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1854
      start: 1797
    functionDepth: 2
    functionLinenumber: 1797
    functionLinenumberEnd: 1854
    functionName: TIFFInitSGILog
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFArrayCount
    - _TIFFMergeFields
    - TIFFErrorExtR
    - assert
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitSGILog(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: BITn
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITn(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: BITFIELDn
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITFIELDn(tif, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: TIFFFieldSet
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFFieldSet(tif, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: TIFFSetFieldBit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSetFieldBit(tif, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: TIFFClrFieldBit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFClrFieldBit(tif, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fields
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: FieldSet
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FieldSet(fields, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fields
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: ResetFieldBit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ResetFieldBit(fields, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: DumpFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DumpFixupTags(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dumpmode.c:52,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dumpmode.c:59,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_dumpmode.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: DumpModeEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFFlushData1
    - assert
    linkageType: ''
    returnType: int
    signature: int DumpModeEncode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dumpmode.c:79,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dumpmode.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: DumpModeDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int DumpModeDecode(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: DumpModeSeek
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DumpModeSeek(TIFF *tif, uint32_t nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: TIFFInitDumpMode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitDumpMode(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: GetLZMAState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetLZMAState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: LZMADecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZMADecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: LZMAEncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZMAEncoderState(tif)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - ret
    argTypes:
    - lzma_ret
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 101
    functionName: LZMAStrerror
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *LZMAStrerror(lzma_ret ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: LZMAFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZMAFixupTags(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZMADecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:111,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:113,1
    - Dst: lzma_end
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: LZMASetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_end
    - LZMADecoderState
    - assert
    linkageType: ''
    returnType: int
    signature: int LZMASetupDecode(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZMADecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:132,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:136,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:139,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:145,1
    - Dst: lzma_stream_decoder
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:154,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:157,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 165
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 165
    functionName: LZMAPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - LZMADecoderState
    - TIFFErrorExtR
    - assert
    - LZMAStrerror
    - lzma_stream_decoder
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int LZMAPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LZMADecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:170,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:173,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:174,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:178,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:179,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:195,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:196,1
    - Dst: lzma_code
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:210,1
    - Dst: lzma_stream_decoder
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:216,1
    - Dst: lzma_memusage
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:216,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:220,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:221,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:223,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:232,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:234,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:241,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    - condition: (sp != NULL)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 253
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 253
    functionName: LZMADecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - LZMADecoderState
    - TIFFErrorExtR
    - assert
    - memset
    - lzma_memusage
    - lzma_code
    - LZMAStrerror
    - lzma_stream_decoder
    linkageType: ''
    returnType: int
    signature: int LZMADecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZMAEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:257,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:259,1
    - Dst: lzma_end
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: LZMASetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_end
    - assert
    - LZMAEncoderState
    linkageType: ''
    returnType: int
    signature: int LZMASetupEncode(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZMAEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:276,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:280,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:282,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:288,1
    - Dst: lzma_stream_encoder
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:292,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:295,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 300
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 300
    functionName: LZMAPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - TIFF*::tif_setupencode
    - LZMAEncoderState
    - assert
    - TIFFErrorExtR
    - LZMAStrerror
    - lzma_stream_encoder
    linkageType: ''
    returnType: int
    signature: int LZMAPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LZMAEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:308,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:310,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:311,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:318,1
    - Dst: lzma_code
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:324,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:327,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:329,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 345
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 345
    functionName: LZMAEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - assert
    - TIFFErrorExtR
    - lzma_code
    - LZMAStrerror
    - LZMAEncoderState
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int LZMAEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LZMAEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:354,1
    - Dst: lzma_code
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:360,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:369,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:380,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 386
    functionName: LZMAPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - LZMAEncoderState
    - TIFFErrorExtR
    - lzma_code
    - LZMAStrerror
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int LZMAPostEncode(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLZMAState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:390,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:392,1
    - Dst: TIFFPredictorCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:394,1
    - Dst: lzma_end
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:401,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:404,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: LZMACleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_end
    - _TIFFSetDefaultCompressionState
    - TIFFPredictorCleanup
    - assert
    - GetLZMAState
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void LZMACleanup(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetLZMAState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:413,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:418,1
    - Dst: lzma_lzma_preset
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:419,1
    - Dst: lzma_stream_encoder
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:423,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:426,1
    - Dst: LZMAStrerror
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 435
    functionName: LZMAVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    - GetLZMAState
    - va_arg
    - LZMAStrerror
    - lzma_stream_encoder
    - lzma_lzma_preset
    linkageType: ''
    returnType: int
    signature: int LZMAVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetLZMAState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:439,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: LZMAVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - GetLZMAState
    - va_arg
    linkageType: ''
    returnType: int
    signature: int LZMAVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:464,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:469,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:469,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:471,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:478,1
    - Dst: GetLZMAState
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:481,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:482,1
    - Dst: lzma_lzma_preset
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:509,1
    - Dst: TIFFPredictorInit
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:535,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lzma.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_LZMA)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 540
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 540
    functionName: TIFFInitLZMA
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - memcpy
    - _TIFFMergeFields
    - TIFFErrorExtR
    - assert
    - GetLZMAState
    - TIFFPredictorInit
    - lzma_lzma_preset
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitLZMA(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: GetZSTDState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetZSTDState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: ZSTDDecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTDDecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ZSTDEncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTDEncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: ZSTDFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZSTDFixupTags(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:72,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:74,1
    - Dst: ZSTD_freeCStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: ZSTDSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTDDecoderState
    - ZSTD_freeCStream
    - assert
    linkageType: ''
    returnType: int
    signature: int ZSTDSetupDecode(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:94,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:98,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:101,1
    - Dst: ZSTD_createDStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:105,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:108,1
    - Dst: ZSTD_initDStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:113,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:114,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:116,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: ZSTDPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - ZSTD_initDStream
    - ZSTD_createDStream
    - ZSTDDecoderState
    - TIFFErrorExtR
    - assert
    - ZSTD_isError
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int ZSTDPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:127,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:133,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:134,1
    - Dst: ZSTD_decompressStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:146,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:147,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:149,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:150,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:151,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:159,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 171
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 171
    functionName: ZSTDDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - ZSTD_decompressStream
    - ZSTDDecoderState
    - assert
    - TIFFErrorExtR
    - memset
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int ZSTDDecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:175,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:177,1
    - Dst: ZSTD_freeDStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: ZSTDSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_freeDStream
    - ZSTDEncoderState
    - assert
    linkageType: ''
    returnType: int
    signature: int ZSTDSetupEncode(TIFF *tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:195,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:199,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:201,1
    - Dst: ZSTD_createCStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:205,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:208,1
    - Dst: ZSTD_initCStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:213,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:214,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:216,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: ZSTDPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - TIFF*::tif_setupencode
    - ZSTD_createCStream
    - ZSTDEncoderState
    - TIFFErrorExtR
    - assert
    - ZSTD_initCStream
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int ZSTDPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:234,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:238,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:239,1
    - Dst: ZSTD_compressStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:250,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:251,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:253,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:254,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    - condition: (sp != NULL)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: ZSTDEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - ZSTD_compressStream
    - ZSTDEncoderState
    - TIFFErrorExtR
    - assert
    - TIFFFlushData1
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int ZSTDEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZSTDEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:276,1
    - Dst: ZSTD_endStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:281,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:282,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:284,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:285,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 298
    functionName: ZSTDPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - ZSTD_endStream
    - ZSTDEncoderState
    - TIFFErrorExtR
    - TIFFFlushData1
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int ZSTDPostEncode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetZSTDState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:302,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:304,1
    - Dst: TIFFPredictorCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:306,1
    - Dst: ZSTD_freeDStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:313,1
    - Dst: ZSTD_freeCStream
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:318,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:321,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: ZSTDCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_freeDStream
    - _TIFFSetDefaultCompressionState
    - ZSTD_freeCStream
    - TIFFPredictorCleanup
    - GetZSTDState
    - assert
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void ZSTDCleanup(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetZSTDState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:330,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:335,1
    - Dst: ZSTD_maxCLevel
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:337,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:339,1
    - Dst: ZSTD_maxCLevel
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: ZSTDVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - va_arg
    - ZSTD_maxCLevel
    - GetZSTDState
    linkageType: ''
    returnType: int
    signature: int ZSTDVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetZSTDState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:352,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: ZSTDVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - va_arg
    - GetZSTDState
    linkageType: ''
    returnType: int
    signature: int ZSTDVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:376,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:381,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:381,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:383,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:390,1
    - Dst: GetZSTDState
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:393,1
    - Dst: TIFFPredictorInit
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:431,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_zstd.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_ZSTD)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 436
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 436
    functionName: TIFFInitZSTD
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - _TIFFMergeFields
    - GetZSTDState
    - TIFFErrorExtR
    - assert
    - TIFFPredictorInit
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitZSTD(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCIELab16ToXYZ
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - cielab
    - l
    - a
    - b
    - X
    - Y
    - Z
    argTypes:
    - TIFFCIELabToRGB*
    - uint32_t
    - int32_t
    - int32_t
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: TIFFCIELabToXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - TIFFCIELab16ToXYZ
    linkageType: ''
    returnType: void
    signature: "void TIFFCIELabToXYZ(TIFFCIELabToRGB *cielab, uint32_t l, int32_t
      a, int32_t b,\n                     float *X, float *Y, float *Z)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - cielab
    - l
    - a
    - b
    - X
    - Y
    - Z
    argTypes:
    - TIFFCIELabToRGB*
    - uint32_t
    - int32_t
    - int32_t
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: TIFFCIELab16ToXYZ
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFCIELab16ToXYZ(TIFFCIELabToRGB *cielab, uint32_t l, int32_t
      a,\n                       int32_t b, float *X, float *Y, float *Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: RINT
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RINT(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:102,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:103,1
    - Dst: TIFFmax
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:104,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:107,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:108,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:109,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:113,1
    - Dst: RINT
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:114,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:117,1
    - Dst: RINT
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:118,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:121,1
    - Dst: RINT
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:122,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:125,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:126,1
    - Dst: TIFFmin
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 7
    argNames:
    - cielab
    - X
    - Y
    - Z
    - r
    - g
    - b
    argTypes:
    - TIFFCIELabToRGB*
    - float
    - float
    - float
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 128
    functionName: TIFFXYZToRGB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 2
    functionsReached:
    - RINT
    - TIFFmin
    - TIFFmax
    linkageType: ''
    returnType: void
    signature: "void TIFFXYZToRGB(TIFFCIELabToRGB *cielab, float X, float Y, float
      Z,\n                  uint32_t *r, uint32_t *g, uint32_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:143,1
    - Dst: pow
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:152,1
    - Dst: pow
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:162,1
    - Dst: pow
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cielab
    - display
    - refWhite
    argTypes:
    - TIFFCIELabToRGB*
    - TIFFDisplay*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 181
    functionName: TIFFCIELabToRGBInit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - pow
    linkageType: ''
    returnType: int
    signature: "int TIFFCIELabToRGBInit(TIFFCIELabToRGB *cielab, const TIFFDisplay
      *display,\n                        float *refWhite)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: FIX
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - RB
    - ','
    - RW
    - ','
    - CR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: Code2V
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Code2V(c, RB, RW, CR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: CLAMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: HICLAMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HICLAMP(f, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HICLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:205,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:206,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:207,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:210,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:213,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - ycbcr
    - Y
    - Cb
    - Cr
    - r
    - g
    - b
    argTypes:
    - TIFFYCbCrToRGB*
    - uint32_t
    - int32_t
    - int32_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: TIFFYCbCrtoRGB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - HICLAMP
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *ycbcr, uint32_t Y, int32_t Cb,
      int32_t Cr,\n                    uint32_t *r, uint32_t *g, uint32_t *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - v
    - vmin
    - vmax
    argTypes:
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: CLAMPw
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float CLAMPw(float v, float vmin, float vmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:262,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:263,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:267,1
    - Dst: FIX
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:276,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:276,1
    - Dst: FIX
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:278,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:278,1
    - Dst: FIX
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:280,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:280,1
    - Dst: FIX
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:282,1
    - Dst: CLAMP
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:282,1
    - Dst: CLAMPw
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:298,1
    - Dst: Code2V
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:298,1
    - Dst: CLAMPw
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:301,1
    - Dst: Code2V
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:301,1
    - Dst: CLAMPw
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:309,1
    - Dst: Code2V
      Src: /src/PROJ/libtiff/libtiff/tif_color.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ycbcr
    - luma
    - refBlackWhite
    argTypes:
    - TIFFYCbCrToRGB*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 316
    functionName: TIFFYCbCrToRGBInit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - CLAMPw
    - Code2V
    - CLAMP
    - FIX
    - TIFFroundup_32
    linkageType: ''
    returnType: int
    signature: int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB *ycbcr, float *luma, float *refBlackWhite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: Fax3State
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fax3State(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: DecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: EncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: is2DEncoding
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is2DEncoding(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: isAligned
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isAligned(p, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - sp
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: DECLARE_STATE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STATE(tif, sp, mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - sp
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: DECLARE_STATE_2D
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STATE_2D(tif, sp, mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: CACHE_STATE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_STATE(tif, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: UNCACHE_STATE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNCACHE_STATE(tif, sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:173,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:176,1
    - Dst: TIFFGetBitRevTable
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: Fax3PreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFGetBitRevTable
    - assert
    linkageType: ''
    returnType: int
    signature: int Fax3PreDecode(TIFF *tif, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:212,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:215,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: Fax3Unexpected
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: "void Fax3Unexpected(const char *module, TIFF *tif, uint32_t line,\n
      \                          uint32_t a0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: unexpected
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unexpected(table, a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:228,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:231,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: Fax3Extension
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: "void Fax3Extension(const char *module, TIFF *tif, uint32_t line,\n
      \                         uint32_t a0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: extension
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extension(a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:239,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:243,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - tif
    - line
    - a0
    - lastx
    argTypes:
    - char*
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: Fax3BadLength
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - isTiled
    linkageType: ''
    returnType: void
    signature: "void Fax3BadLength(const char *module, TIFF *tif, uint32_t line,\n
      \                         uint32_t a0, uint32_t lastx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a0
    - ','
    - lastx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: badlength
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: badlength(a0, lastx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:257,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:260,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: Fax3PrematureEOF
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - isTiled
    linkageType: ''
    returnType: void
    signature: "void Fax3PrematureEOF(const char *module, TIFF *tif, uint32_t line,\n
      \                            uint32_t a0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: prematureEOF
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prematureEOF(a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:273,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:277,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: Fax3TryG3WithoutEOL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    - isTiled
    linkageType: ''
    returnType: void
    signature: "void Fax3TryG3WithoutEOL(const char *module, TIFF *tif, uint32_t line,\n
      \                               uint32_t a0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: tryG3WithoutEOL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tryG3WithoutEOL(a0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:293,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:296,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:301,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:304,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:309,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tif
    - module
    - sp
    argTypes:
    - TIFF*
    - char*
    - Fax3CodecState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 317
    functionName: CheckReachedCounters
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: "int CheckReachedCounters(TIFF *tif, const char *module,\n                                Fax3CodecState
      *sp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:328,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:332,1
    - Dst: CheckReachedCounters
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:335,1
    - Dst: CACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:338,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:346,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:347,1
    - Dst: fflush
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:348,1
    - Dst: SYNC_EOL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:350,1
    - Dst: EXPAND1D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:351,1
    - Dst: CLEANUP_RUNS
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:358,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:361,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 366
    functionName: Fax3Decode1D
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - printf
    - UNCACHE_STATE
    - EXPAND1D
    - fflush
    - CLEANUP_RUNS
    - TIFFErrorExtR
    - DECLARE_STATE
    - CheckReachedCounters
    - SYNC_EOL
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax3Decode1D(TIFF *tif, uint8_t *buf, tmsize_t occ, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: SWAP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(t, a, b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE_2D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:380,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:385,1
    - Dst: CheckReachedCounters
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:388,1
    - Dst: CACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:391,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:398,1
    - Dst: SYNC_EOL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:401,1
    - Dst: NeedBits8
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:402,1
    - Dst: GetBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:403,1
    - Dst: ClrBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:404,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:406,1
    - Dst: fflush
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:408,1
    - Dst: EXPAND1D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:413,1
    - Dst: EXPAND2D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:415,1
    - Dst: SETVALUE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:419,1
    - Dst: CLEANUP_RUNS
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:427,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:430,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 435
    functionName: Fax3Decode2D
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - printf
    - EXPAND2D
    - ClrBits
    - UNCACHE_STATE
    - EXPAND1D
    - NeedBits8
    - fflush
    - CLEANUP_RUNS
    - TIFFErrorExtR
    - SETVALUE
    - CheckReachedCounters
    - SYNC_EOL
    - DECLARE_STATE_2D
    - GetBits
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax3Decode2D(TIFF *tif, uint8_t *buf, tmsize_t occ, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: FILL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL(n, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: ZERO
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERO(n, cp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isAligned
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:492,1
    - Dst: ZERO
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:503,1
    - Dst: isAligned
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:534,1
    - Dst: FILL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:545,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:557,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 4
    argNames:
    - buf
    - runs
    - erun
    - lastx
    argTypes:
    - unsigned char*
    - uint32_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (x == lastx)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 558
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 558
    functionName: _TIFFFax3fillruns
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - FILL
    - ZERO
    - isAligned
    - assert
    linkageType: ''
    returnType: void
    signature: "void _TIFFFax3fillruns(unsigned char *buf, uint32_t *runs, uint32_t
      *erun,\n                       uint32_t lastx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: Fax3FixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Fax3FixupTags(TIFF *tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:579,1
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:581,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:587,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:594,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:603,1
    - Dst: TIFFTileRowSize
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:605,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:610,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:615,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:636,1
    - Dst: TIFFroundup_32
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:639,1
    - Dst: TIFFSafeMultiply
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:642,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:646,1
    - Dst: return
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:649,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 650
    functionName: Fax3SetupState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFSafeMultiply
    - isTiled
    - return
    - TIFFScanlineSize
    - TIFFErrorExtR
    - Fax3State
    - TIFFTileRowSize
    - _TIFFfreeExt
    - TIFFroundup_32
    linkageType: ''
    returnType: int
    signature: int Fax3SetupState(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 712
    functionName: Fax3FlushBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fax3FlushBits(tif, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 723
    functionName: _FlushBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _FlushBits(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - bits
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 739
    functionName: _PutBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PutBits(tif, bits, length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:747,1
    - Dst: _PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tif
    - bits
    - length
    argTypes:
    - TIFF*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: Fax3PutBits
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - _PutBits
    linkageType: ''
    returnType: int
    signature: int Fax3PutBits(TIFF *tif, unsigned int bits, unsigned int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - te
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: putcode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putcode(tif, te)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 765
    functionName: DEBUG_COLOR
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_COLOR(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: DEBUG_PRINT
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRINT(what, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:784,1
    - Dst: DEBUG_PRINT
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:795,1
    - Dst: _PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:797,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:803,1
    - Dst: DEBUG_PRINT
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:807,1
    - Dst: _PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:809,1
    - Dst: DEBUG_PRINT
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:815,1
    - Dst: _PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - span
    - tab
    argTypes:
    - TIFF*
    - int32_t
    - tableentry*
    assertStmts:
    - condition: (te->runlen == 64 * (span >> 6))
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 823
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 823
    functionName: putspan
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - assert
    - EncoderState
    - _PutBits
    - DEBUG_PRINT
    linkageType: ''
    returnType: int
    signature: int putspan(TIFF *tif, int32_t span, const tableentry *tab)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:833,1
    - Dst: _PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:853,1
    - Dst: is2DEncoding
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:858,1
    - Dst: _PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 869
    functionName: Fax3PutEOL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - EncoderState
    - is2DEncoding
    - _PutBits
    linkageType: ''
    returnType: int
    signature: int Fax3PutEOL(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:876,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:879,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:889,1
    - Dst: is2DEncoding
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 878
        line_start: 878
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 912
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 912
    functionName: Fax3PreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - EncoderState
    - is2DEncoding
    - assert
    linkageType: ''
    returnType: int
    signature: int Fax3PreEncode(TIFF *tif, uint16_t s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isAligned
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:985,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - bp
    - bs
    - be
    argTypes:
    - unsigned char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 1022
    functionName: find0span
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isAligned
    linkageType: ''
    returnType: int32_t
    signature: int32_t find0span(unsigned char *bp, int32_t bs, int32_t be)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isAligned
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1053,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - bp
    - bs
    - be
    argTypes:
    - unsigned char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1091
    functionName: find1span
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isAligned
    linkageType: ''
    returnType: int32_t
    signature: int32_t find1span(unsigned char *bp, int32_t bs, int32_t be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _cp
    - ','
    - _bs
    - ','
    - _be
    - ','
    - _color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: finddiff
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: finddiff(_cp, _bs, _be, _color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _cp
    - ','
    - _bs
    - ','
    - _be
    - ','
    - _color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: finddiff2
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: finddiff2(_cp, _bs, _be, _color)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1115,1
    - Dst: find0span
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1121,1
    - Dst: putspan
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1122,1
    - Dst: find1span
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1127,1
    - Dst: putspan
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1128,1
    - Dst: Fax3FlushBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1137,1
    - Dst: isAligned
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1139,1
    - Dst: Fax3FlushBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - tif
    - bp
    - bits
    argTypes:
    - TIFF*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1143
    functionName: Fax3Encode1DRow
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - find0span
    - Fax3FlushBits
    - putspan
    - isAligned
    - EncoderState
    - find1span
    linkageType: ''
    returnType: int
    signature: int Fax3Encode1DRow(TIFF *tif, unsigned char *bp, uint32_t bits)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1166,1
    - Dst: finddiff
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1166,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1167,1
    - Dst: finddiff
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1167,1
    - Dst: finddiff2
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1172,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1172,1
    - Dst: finddiff2
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1185,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1185,1
    - Dst: putcode
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1186,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1188,1
    - Dst: putspan
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1190,1
    - Dst: putspan
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1192,1
    - Dst: putspan
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1197,1
    - Dst: putspan
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1199,1
    - Dst: putcode
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1206,1
    - Dst: putcode
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1213,1
    - Dst: finddiff
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1219,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1219,1
    - Dst: finddiff
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1220,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1220,1
    - Dst: finddiff
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1221,1
    - Dst: PIXEL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1221,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - tif
    - bp
    - rp
    - bits
    argTypes:
    - TIFF*
    - unsigned char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1225
    functionName: Fax3Encode2DRow
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - PIXEL
    - putcode
    - finddiff2
    - finddiff
    - putspan
    linkageType: ''
    returnType: int
    signature: "int Fax3Encode2DRow(TIFF *tif, unsigned char *bp, unsigned char *rp,\n
      \                          uint32_t bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - ix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1165
    functionName: PIXEL
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIXEL(buf, ix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1233,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1237,1
    - Dst: Fax3PutEOL
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1244,1
    - Dst: is2DEncoding
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1247,1
    - Dst: Fax3Encode1DRow
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1251,1
    - Dst: Fax3Encode2DRow
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1257,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1267,1
    - Dst: Fax3Encode1DRow
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1230
    functionDepth: 3
    functionLinenumber: 1230
    functionLinenumberEnd: 1278
    functionName: Fax3Encode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3Encode1DRow
    - _TIFFmemcpy
    - TIFFErrorExtR
    - is2DEncoding
    - Fax3Encode2DRow
    - EncoderState
    - Fax3PutEOL
    linkageType: ''
    returnType: int
    signature: int Fax3Encode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1282,1
    - Dst: Fax3FlushBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1287
    functionName: Fax3PostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3FlushBits
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int Fax3PostEncode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1291,1
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1293,1
    - Dst: is2DEncoding
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1298,1
    - Dst: Fax3PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1304,1
    - Dst: Fax3FlushBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1308
    functionName: _Fax3Close
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3PutBits
    - Fax3FlushBits
    - is2DEncoding
    - Fax3State
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int _Fax3Close(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _Fax3Close
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1310
    functionDepth: 3
    functionLinenumber: 1310
    functionLinenumberEnd: 1310
    functionName: Fax3Close
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 1
    functionsReached:
    - _Fax3Close
    linkageType: ''
    returnType: void
    signature: void Fax3Close(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1314,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1316,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1323,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1325,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1327,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1315
        line_start: 1315
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1331
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1331
    functionName: Fax3Cleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - DecoderState
    - _TIFFfreeExt
    - assert
    linkageType: ''
    returnType: void
    signature: void Fax3Cleanup(TIFF *tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1361,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1364,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1365,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1370,1
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1373,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1373,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1378,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1383,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1386,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1389,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1392,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1398,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (sp->vsetparent != 0)
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    - condition: (sp != 0)
      pos:
        line_end: 1363
        line_start: 1363
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1405
      start: 1359
    functionDepth: 2
    functionLinenumber: 1359
    functionLinenumberEnd: 1405
    functionName: Fax3VSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFFieldWithTag
    - TIFFSetFieldBit
    - assert
    - DecoderState
    - Fax3State
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Fax3VSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1409,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1411,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1416,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1419,1
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1419,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1423,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1426,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1429,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1410
        line_start: 1410
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1438
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1438
    functionName: Fax3VGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - Fax3State
    - va_arg
    - assert
    linkageType: ''
    returnType: int
    signature: int Fax3VGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1442,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1444,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1447,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1452,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1454,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1459,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1462,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1467,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1471,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1473,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1476,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1478,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1482,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1485,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1488,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1491,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1494,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1495,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1496,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1497,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1443
        line_start: 1443
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1501
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1501
    functionName: Fax3PrintDir
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3State
    - TIFFFieldSet
    - fprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void Fax3PrintDir(TIFF *tif, FILE *fd, long flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1511,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1511,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1513,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1521,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1525,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1528,1
    - Dst: Fax3State
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1530,1
    - Dst: DecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1546,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1547,1
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1569
    functionName: InitCCITTFax3
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFArrayCount
    - _TIFFMergeFields
    - TIFFErrorExtR
    - DecoderState
    - Fax3State
    - TIFFSetField
    - _TIFFmallocExt
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int InitCCITTFax3(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1574,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1579,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1579,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1581,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1571
    functionDepth: 3
    functionLinenumber: 1571
    functionLinenumberEnd: 1593
    functionName: TIFFInitCCITTFax3
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - InitCCITTFax3
    - _TIFFMergeFields
    - TIFFErrorExtR
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTFax3(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1607
    functionName: SWAP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(t, a, b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE_2D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1612,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1616,1
    - Dst: CheckReachedCounters
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1619,1
    - Dst: CACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1621,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1631,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1632,1
    - Dst: fflush
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1633,1
    - Dst: EXPAND2D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1635,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1640,1
    - Dst: SETVALUE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1647,1
    - Dst: NeedBits16
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1654,1
    - Dst: GetBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1657,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1658,1
    - Dst: ClrBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1660,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1663,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1670,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1677
    functionName: Fax4Decode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - printf
    - GetBits
    - fputs
    - NeedBits16
    - ClrBits
    - UNCACHE_STATE
    - fflush
    - TIFFErrorExtR
    - SETVALUE
    - CheckReachedCounters
    - DECLARE_STATE_2D
    - EXPAND2D
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax4Decode(TIFF *tif, uint8_t *buf, tmsize_t occ, uint16_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1686,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1690,1
    - Dst: Fax3Encode2DRow
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1695,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1683
    functionDepth: 3
    functionLinenumber: 1683
    functionLinenumberEnd: 1702
    functionName: Fax4Encode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3Encode2DRow
    - EncoderState
    - _TIFFmemcpy
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int Fax4Encode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1706,1
    - Dst: Fax3PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1709,1
    - Dst: Fax3PutBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1710,1
    - Dst: Fax3FlushBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1704
    functionDepth: 2
    functionLinenumber: 1704
    functionLinenumberEnd: 1714
    functionName: Fax4PostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3PutBits
    - Fax3FlushBits
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int Fax4PostEncode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1719,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1724,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1724,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1726,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1716
    functionDepth: 3
    functionLinenumber: 1716
    functionLinenumberEnd: 1745
    functionName: TIFFInitCCITTFax4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - InitCCITTFax3
    - _TIFFMergeFields
    - TIFFErrorExtR
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTFax4(TIFF *tif, int scheme)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1757,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1762,1
    - Dst: CheckReachedCounters
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1765,1
    - Dst: CACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1767,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1775,1
    - Dst: printf
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1776,1
    - Dst: fflush
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1777,1
    - Dst: EXPAND1D
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1779,1
    - Dst: ClrBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1787,1
    - Dst: ClrBits
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1792,1
    - Dst: isAligned
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1793,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1802,1
    - Dst: UNCACHE_STATE
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1807
    functionName: Fax3DecodeRLE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - printf
    - ClrBits
    - UNCACHE_STATE
    - EXPAND1D
    - fflush
    - TIFFErrorExtR
    - DECLARE_STATE
    - CheckReachedCounters
    - isAligned
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax3DecodeRLE(TIFF *tif, uint8_t *buf, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1812,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1809
    functionDepth: 3
    functionLinenumber: 1809
    functionLinenumberEnd: 1825
    functionName: TIFFInitCCITTRLE
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - InitCCITTFax3
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTRLE(TIFF *tif, int scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1830,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_fax3.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1827
    functionDepth: 3
    functionLinenumber: 1827
    functionLinenumberEnd: 1843
    functionName: TIFFInitCCITTRLEW
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - InitCCITTFax3
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTRLEW(TIFF *tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectorySec
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: TIFFWriteDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 29
    functionsReached:
    - TIFFWriteDirectorySec
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectory(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:273,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: TIFFDeferStrileArrayWriting
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFDeferStrileArrayWriting(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetupStrips
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:297,1
    - Dst: TIFFWriteDirectorySec
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:298,1
    - Dst: TIFFSetWriteOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:299,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: TIFFCheckpointDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSetupStrips
    - TIFFSeekFile
    - TIFFWriteDirectorySec
    - TIFFSetWriteOffset
    linkageType: ''
    returnType: int
    signature: int TIFFCheckpointDirectory(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectorySec
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - pdiroff
    argTypes:
    - TIFF*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: TIFFWriteCustomDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 5
    functionsReached:
    - TIFFWriteDirectorySec
    linkageType: ''
    returnType: int
    signature: int TIFFWriteCustomDirectory(TIFF *tif, uint64_t *pdiroff)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:322,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:337,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:338,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:340,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:346,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:360,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:360,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:362,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:367,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:368,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:369,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:371,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:375,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:380,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:382,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:384,1
    - Dst: _TIFFRemoveEntryFromDirectoryListByOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:397,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:406,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:407,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:409,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:423,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:423,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:425,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:430,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:433,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:439,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:440,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:442,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:446,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:451,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:453,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:455,1
    - Dst: _TIFFRemoveEntryFromDirectoryListByOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:468,1
    - Dst: TIFFWriteDirectorySec
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:474,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 94
    argCount: 4
    argNames:
    - tif
    - isimage
    - imagedone
    - pdiroff
    argTypes:
    - TIFF*
    - int
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 475
    functionName: TIFFRewriteDirectorySec
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - _TIFFRemoveEntryFromDirectoryListByOffset
    - TIFFWriteDirectory
    - TIFFErrorExtR
    - TIFFSwabLong8
    - TIFFSeekFile
    - ReadOK
    - TIFFWriteDirectorySec
    - WriteOK
    - TIFFSwabShort
    - SeekOK
    - TIFFSwabLong
    linkageType: ''
    returnType: int
    signature: "int TIFFRewriteDirectorySec(TIFF *tif, int isimage, int imagedone,\n
      \                                  uint64_t *pdiroff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRewriteDirectorySec
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: TIFFRewriteDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 4
    functionsReached:
    - TIFFRewriteDirectorySec
    linkageType: ''
    returnType: int
    signature: int TIFFRewriteDirectory(TIFF *tif)
  - BBCount: 182
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStriles
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:500,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:514,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:529,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:531,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:538,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:549,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:552,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:571,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:573,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:577,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:582,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:584,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:588,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:593,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:595,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:599,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:604,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:606,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:610,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:615,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:617,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:622,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:624,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:629,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:631,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:636,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:638,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:643,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:645,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:650,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:652,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:657,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:659,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:664,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:666,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:671,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:673,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:678,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:680,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:685,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:687,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:692,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:694,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:699,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:701,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:706,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:708,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:713,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:715,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:717,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:725,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:732,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:734,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:748,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:756,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:763,1
    - Dst: TIFFWriteDirectoryTagColormap
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:765,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:768,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:774,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:775,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:780,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:782,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:787,1
    - Dst: TIFFWriteDirectoryTagSampleformatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:789,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:795,1
    - Dst: TIFFWriteDirectoryTagSampleformatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:797,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:803,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:805,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:810,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:812,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:817,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:819,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:824,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:826,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:831,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:833,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:838,1
    - Dst: TIFFWriteDirectoryTagRationalArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:840,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:845,1
    - Dst: TIFFWriteDirectoryTagTransferfunction
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:847,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:850,1
    - Dst: TIFFWriteDirectoryTagAscii
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:852,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:857,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:859,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:864,1
    - Dst: TIFFWriteDirectoryTagSubifd
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:866,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:880,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:888,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:889,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:890,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:891,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:892,1
    - Dst: TIFFWriteDirectoryTagAscii
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:893,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:902,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:903,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:904,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:905,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:906,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:915,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:916,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:917,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:918,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:919,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:929,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:930,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:931,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:932,1
    - Dst: TIFFWriteDirectoryTagUndefinedArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:933,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:940,1
    - Dst: TIFFFieldTag
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:943,1
    - Dst: TIFFWriteDirectoryTagAscii
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:961,1
    - Dst: TIFFWriteDirectoryTagUndefinedArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:967,1
    - Dst: TIFFWriteDirectoryTagByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:973,1
    - Dst: TIFFWriteDirectoryTagSbyteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:979,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:985,1
    - Dst: TIFFWriteDirectoryTagSshortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:991,1
    - Dst: TIFFWriteDirectoryTagLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:997,1
    - Dst: TIFFWriteDirectoryTagSlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1003,1
    - Dst: TIFFWriteDirectoryTagLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1009,1
    - Dst: TIFFWriteDirectoryTagSlong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1015,1
    - Dst: TIFFFieldSetGetSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1026,1
    - Dst: TIFFWriteDirectoryTagRationalDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1030,1
    - Dst: TIFFWriteDirectoryTagRationalArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1038,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1046,1
    - Dst: TIFFFieldSetGetSize
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1061,1
    - Dst: TIFFWriteDirectoryTagSrationalDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1065,1
    - Dst: TIFFWriteDirectoryTagSrationalArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1073,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1081,1
    - Dst: TIFFWriteDirectoryTagFloatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1091,1
    - Dst: TIFFWriteDirectoryTagDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1097,1
    - Dst: TIFFWriteDirectoryTagIfdArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1103,1
    - Dst: TIFFWriteDirectoryTagIfdIfd8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1109,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1115,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1131,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1134,1
    - Dst: TIFFLinkDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1149,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1157,1
    - Dst: TIFFRewriteDirectorySec
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1160,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1177,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1197,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1208,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1216,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1230,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1233,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1244,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1251,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1255,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1258,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1260,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1264,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1270,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1271,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1280,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1287,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1291,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1293,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1295,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1297,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1301,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1303,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1305,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1307,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1309,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1313,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1315,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1318,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1325,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1338,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1340,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1363,1
    - Dst: _TIFFCheckDirNumberAndOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1373,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1375,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1383,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1387,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1398,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1400,1
    CyclomaticComplexity: 278
    EdgeCount: 278
    ICount: 585
    argCount: 4
    argNames:
    - tif
    - isimage
    - imagedone
    - pdiroff
    argTypes:
    - TIFF*
    - int
    - int
    - uint64_t*
    assertStmts:
    - condition: (o->field_readcount == TIFF_VARIABLE)
      pos:
        line_end: 888
        line_start: 888
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type == TIFF_SHORT)
      pos:
        line_end: 901
        line_start: 901
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount == 0)
      pos:
        line_end: 889
        line_start: 889
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type == TIFF_LONG)
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount == 1)
      pos:
        line_end: 902
        line_start: 902
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type == TIFF_UNDEFINED)
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount == 1)
      pos:
        line_end: 915
        line_start: 915
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount == 0)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount == TIFF_VARIABLE2)
      pos:
        line_end: 929
        line_start: 929
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount == 0)
      pos:
        line_end: 916
        line_start: 916
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (0)
      pos:
        line_end: 1114
        line_start: 1114
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount == 1)
      pos:
        line_end: 930
        line_start: 930
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type == TIFF_ASCII)
      pos:
        line_end: 887
        line_start: 887
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 1402
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 1402
    functionName: TIFFWriteDirectorySec
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 4
    functionsReached:
    - TIFFWriteDirectoryTagSshortArray
    - TIFFNumberOfDirectories
    - TIFFWarningExtR
    - TIFFWriteDirectoryTagRational
    - TIFFLinkDirectory
    - TIFFWriteDirectoryTagShortArray
    - TIFFWriteDirectoryTagIfdArray
    - TIFFFlushData1
    - TIFFSwabShort
    - TIFFWriteDirectoryTagTransferfunction
    - TIFFGetField
    - TIFFSwabLong
    - TIFFWriteDirectoryTagSbyteArray
    - TIFFWriteDirectoryTagShortPerSample
    - TIFFWriteDirectoryTagByteArray
    - TIFFWriteDirectoryTagUndefinedArray
    - TIFFWriteDirectoryTagSampleformatArray
    - TIFFWriteDirectoryTagSlong8Array
    - TIFFWriteDirectoryTagRationalDoubleArray
    - assert
    - TIFFWriteDirectoryTagSubifd
    - TIFFSeekFile
    - TIFFSwabLong8
    - _TIFFCheckDirNumberAndOffset
    - TIFFWriteDirectoryTagColormap
    - strlen
    - _TIFFFillStriles
    - _TIFFmallocExt
    - TIFFWriteDirectoryTagSrationalDoubleArray
    - SeekOK
    - TIFFRewriteDirectorySec
    - TIFFWriteDirectoryTagDoubleArray
    - TIFFWriteDirectoryTagShortLong
    - TIFFWriteDirectoryTagLong
    - TIFFFieldSet
    - TIFFWriteDirectoryTagRationalArray
    - WriteOK
    - TIFFWriteDirectoryTagLongLong8Array
    - TIFFFieldSetGetSize
    - _TIFFfreeExt
    - TIFFWriteDirectoryTagLong8Array
    - TIFFWriteDirectoryTagIfdIfd8Array
    - TIFFCreateDirectory
    - _TIFFmemcpy
    - TIFFFieldTag
    - TIFFGetFieldDefaulted
    - isTiled
    - TIFFWriteDirectoryTagLongArray
    - TIFFWriteDirectoryTagShort
    - TIFFWriteDirectoryTagSrationalArray
    - TIFFWriteDirectoryTagFloatArray
    - TIFFFreeDirectory
    - TIFFErrorExtR
    - TIFFWriteDirectoryTagAscii
    - TIFFWriteDirectoryTagSlongArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectorySec(TIFF *tif, int isimage, int imagedone,\n
      \                                uint64_t *pdiroff)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1411
    functionName: TIFFClampDoubleToInt8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t TIFFClampDoubleToInt8(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1420
    functionName: TIFFClampDoubleToInt16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t TIFFClampDoubleToInt16(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1429
    functionName: TIFFClampDoubleToInt32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t TIFFClampDoubleToInt32(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1438
    functionName: TIFFClampDoubleToUInt8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TIFFClampDoubleToUInt8(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1447
    functionName: TIFFClampDoubleToUInt16
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TIFFClampDoubleToUInt16(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1456
    functionName: TIFFClampDoubleToUInt32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFClampDoubleToUInt32(double val)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1467,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1470,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1480,1
    - Dst: TIFFWriteDirectoryTagFloatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1481,1
    - Dst: TIFFWriteDirectoryTagDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1486,1
    - Dst: TIFFClampDoubleToInt8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1494,1
    - Dst: TIFFWriteDirectoryTagSbyteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1495,1
    - Dst: TIFFClampDoubleToInt16
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1501,1
    - Dst: TIFFWriteDirectoryTagSshortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1502,1
    - Dst: TIFFClampDoubleToInt32
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1508,1
    - Dst: TIFFWriteDirectoryTagSlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1509,1
    - Dst: TIFFClampDoubleToUInt8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1517,1
    - Dst: TIFFWriteDirectoryTagByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1518,1
    - Dst: TIFFClampDoubleToUInt16
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1524,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1525,1
    - Dst: TIFFClampDoubleToUInt32
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1531,1
    - Dst: TIFFWriteDirectoryTagLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1532,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1540,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1542
    functionName: TIFFWriteDirectoryTagSampleformatArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagSshortArray
    - TIFFWriteDirectoryTagDoubleArray
    - TIFFWriteDirectoryTagByteArray
    - TIFFWriteDirectoryTagLongArray
    - TIFFWriteDirectoryTagFloatArray
    - TIFFClampDoubleToInt8
    - TIFFClampDoubleToInt16
    - TIFFClampDoubleToUInt8
    - TIFFClampDoubleToUInt16
    - TIFFClampDoubleToUInt32
    - TIFFErrorExtR
    - _TIFFClampDoubleToFloat
    - TIFFWriteDirectoryTagShortArray
    - _TIFFfreeExt
    - TIFFClampDoubleToInt32
    - _TIFFmallocExt
    - TIFFWriteDirectoryTagSlongArray
    - TIFFWriteDirectoryTagSbyteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSampleformatArray(TIFF *tif, uint32_t *ndir,\n
      \                                                 TIFFDirEntry *dir,\n                                                  uint16_t
      tag, uint32_t count,\n                                                  double
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedAscii
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1550
    functionName: TIFFWriteDirectoryTagAscii
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedAscii
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagAscii(TIFF *tif, uint32_t *ndir,\n                                      TIFFDirEntry
      *dir, uint16_t tag,\n                                      uint32_t count, char
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedUndefinedArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1558
    functionName: TIFFWriteDirectoryTagUndefinedArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedUndefinedArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagUndefinedArray(TIFF *tif, uint32_t *ndir,\n
      \                                              TIFFDirEntry *dir, uint16_t tag,\n
      \                                              uint32_t count, uint8_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedByteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1566
    functionName: TIFFWriteDirectoryTagByteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedByteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagByteArray(TIFF *tif, uint32_t *ndir,\n                                          TIFFDirEntry
      *dir, uint16_t tag,\n                                          uint32_t count,
      uint8_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSbyteArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1574
    functionName: TIFFWriteDirectoryTagSbyteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSbyteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSbyteArray(TIFF *tif, uint32_t *ndir,\n                                           TIFFDirEntry
      *dir, uint16_t tag,\n                                           uint32_t count,
      int8_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1581
    functionName: TIFFWriteDirectoryTagShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShort
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagShort(TIFF *tif, uint32_t *ndir,\n                                      TIFFDirEntry
      *dir, uint16_t tag,\n                                      uint16_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1589
    functionName: TIFFWriteDirectoryTagShortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShortArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagShortArray(TIFF *tif, uint32_t *ndir,\n                                           TIFFDirEntry
      *dir, uint16_t tag,\n                                           uint32_t count,
      uint16_t *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1603,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1606,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1609,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1614,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1618
    functionName: TIFFWriteDirectoryTagShortPerSample
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFmallocExt
    - TIFFWriteDirectoryTagCheckedShortArray
    - _TIFFfreeExt
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagShortPerSample(TIFF *tif, uint32_t *ndir,\n
      \                                              TIFFDirEntry *dir, uint16_t tag,\n
      \                                              uint16_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSshortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1626
    functionName: TIFFWriteDirectoryTagSshortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSshortArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSshortArray(TIFF *tif, uint32_t *ndir,\n
      \                                           TIFFDirEntry *dir, uint16_t tag,\n
      \                                           uint32_t count, int16_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1633
    functionName: TIFFWriteDirectoryTagLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLong
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagLong(TIFF *tif, uint32_t *ndir,\n                                     TIFFDirEntry
      *dir, uint16_t tag,\n                                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1641
    functionName: TIFFWriteDirectoryTagLongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLongArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagLongArray(TIFF *tif, uint32_t *ndir,\n                                          TIFFDirEntry
      *dir, uint16_t tag,\n                                          uint32_t count,
      uint32_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: TIFFWriteDirectoryTagSlongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlongArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSlongArray(TIFF *tif, uint32_t *ndir,\n                                           TIFFDirEntry
      *dir, uint16_t tag,\n                                           uint32_t count,
      int32_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1671,1
    - Dst: TIFFWriteDirectoryTagCheckedLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1677,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1684,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1687,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1695,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1700,1
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1706,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1710
    functionName: TIFFWriteDirectoryTagLong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLong8Array
    - TIFFErrorExtR
    - TIFFWriteDirectoryTagCheckedLongArray
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagLong8Array(TIFF *tif, uint32_t *ndir,\n                                           TIFFDirEntry
      *dir, uint16_t tag,\n                                           uint32_t count,
      uint64_t *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSlong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1732,1
    - Dst: TIFFWriteDirectoryTagCheckedSlong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1737,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1744,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1747,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1755,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1760,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1765,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1770,1
    - Dst: TIFFWriteDirectoryTagCheckedSlongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1776,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1780
    functionName: TIFFWriteDirectoryTagSlong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlongArray
    - TIFFErrorExtR
    - TIFFWriteDirectoryTagCheckedSlong8Array
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSlong8Array(TIFF *tif, uint32_t *ndir,\n
      \                                           TIFFDirEntry *dir, uint16_t tag,\n
      \                                           uint32_t count, int64_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1782
    functionDepth: 1
    functionLinenumber: 1782
    functionLinenumberEnd: 1787
    functionName: TIFFWriteDirectoryTagRational
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedRational
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagRational(TIFF *tif, uint32_t *ndir,\n                                         TIFFDirEntry
      *dir, uint16_t tag,\n                                         double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedRationalArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1795
    functionName: TIFFWriteDirectoryTagRationalArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedRationalArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagRationalArray(TIFF *tif, uint32_t *ndir,\n
      \                                             TIFFDirEntry *dir, uint16_t tag,\n
      \                                             uint32_t count, float *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSrationalArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1803
    functionName: TIFFWriteDirectoryTagSrationalArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSrationalArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSrationalArray(TIFF *tif, uint32_t *ndir,\n
      \                                              TIFFDirEntry *dir, uint16_t tag,\n
      \                                              uint32_t count, float *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedRationalDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1814
    functionName: TIFFWriteDirectoryTagRationalDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedRationalDoubleArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagRationalDoubleArray(TIFF *tif, uint32_t *ndir,\n
      \                                                   TIFFDirEntry *dir,\n                                                    uint16_t
      tag,\n                                                    uint32_t count,\n
      \                                                   double *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSrationalDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1824
    functionName: TIFFWriteDirectoryTagSrationalDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSrationalDoubleArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSrationalDoubleArray(TIFF *tif, uint32_t
      *ndir,\n                                                     TIFFDirEntry *dir,\n
      \                                                    uint16_t tag,\n                                                     uint32_t
      count,\n                                                     double *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedFloatArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1832
    functionName: TIFFWriteDirectoryTagFloatArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedFloatArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagFloatArray(TIFF *tif, uint32_t *ndir,\n                                           TIFFDirEntry
      *dir, uint16_t tag,\n                                           uint32_t count,
      float *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedDoubleArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 1840
    functionName: TIFFWriteDirectoryTagDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedDoubleArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagDoubleArray(TIFF *tif, uint32_t *ndir,\n
      \                                           TIFFDirEntry *dir, uint16_t tag,\n
      \                                           uint32_t count, double *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedIfdArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1848
    functionName: TIFFWriteDirectoryTagIfdArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedIfdArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagIfdArray(TIFF *tif, uint32_t *ndir,\n                                         TIFFDirEntry
      *dir, uint16_t tag,\n                                         uint32_t count,
      uint32_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1855,1
    - Dst: TIFFWriteDirectoryTagCheckedLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1859
    functionName: TIFFWriteDirectoryTagShortLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShort
    - TIFFWriteDirectoryTagCheckedLong
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagShortLong(TIFF *tif, uint32_t *ndir,\n                                          TIFFDirEntry
      *dir, uint16_t tag,\n                                          uint32_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - strile_size
    - uncompressed_threshold
    argTypes:
    - TIFF*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1884
    functionName: _WriteAsType
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _WriteAsType(TIFF *tif, uint64_t strile_size,\n                        uint64_t
      uncompressed_threshold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _WriteAsType
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile_size
    argTypes:
    - TIFF*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1889
    functionName: WriteAsLong8
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - _WriteAsType
    linkageType: ''
    returnType: int
    signature: int WriteAsLong8(TIFF *tif, uint64_t strile_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _WriteAsType
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile_size
    argTypes:
    - TIFF*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1894
    functionName: WriteAsLong4
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - _WriteAsType
    linkageType: ''
    returnType: int
    signature: int WriteAsLong4(TIFF *tif, uint64_t strile_size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1921,1
    - Dst: WriteAsLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1934,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1934,1
    - Dst: WriteAsLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1938,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1938,1
    - Dst: TIFFWriteDirectoryTagCheckedLong8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1942,1
    - Dst: WriteAsLong4
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1950,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1950,1
    - Dst: WriteAsLong4
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1954,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1954,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1963,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1970,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1978,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1981,1
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1987,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1989,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:1993,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2000,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2009,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2012,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2018,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2020,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1903
    functionDepth: 4
    functionLinenumber: 1903
    functionLinenumberEnd: 2024
    functionName: TIFFWriteDirectoryTagLongLong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - WriteAsLong4
    - TIFFWriteDirectoryTagData
    - TIFFTileSize64
    - TIFFWriteDirectoryTagCheckedLong8Array
    - TIFFStripSize64
    - TIFFErrorExtR
    - WriteAsLong8
    - TIFFWriteDirectoryTagCheckedLongArray
    - TIFFWriteDirectoryTagCheckedShortArray
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagLongLong8Array(TIFF *tif, uint32_t *ndir,\n
      \                                              TIFFDirEntry *dir, uint16_t tag,\n
      \                                              uint32_t count, uint64_t *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedIfd8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2045,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2053,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2056,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2064,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2067,1
    - Dst: TIFFWriteDirectoryTagCheckedIfdArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2073,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2032
    functionDepth: 1
    functionLinenumber: 2032
    functionLinenumberEnd: 2077
    functionName: TIFFWriteDirectoryTagIfdIfd8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedIfd8Array
    - TIFFErrorExtR
    - _TIFFmallocExt
    - TIFFWriteDirectoryTagCheckedIfdArray
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagIfdIfd8Array(TIFF *tif, uint32_t *ndir,\n
      \                                            TIFFDirEntry *dir, uint16_t tag,\n
      \                                            uint32_t count, uint64_t *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tif
    - count
    - typesize
    - ndir
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2097
    functionName: EvaluateIFDdatasizeWrite
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EvaluateIFDdatasizeWrite(TIFF *tif, uint32_t count,\n                                     uint32_t
      typesize, uint32_t *ndir)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2109,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2113,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2116,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2119,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2120,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2121,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2122,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - ndir
    - dir
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2126
    functionName: TIFFWriteDirectoryTagColormap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    - EvaluateIFDdatasizeWrite
    - TIFFWriteDirectoryTagCheckedShortArray
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagColormap(TIFF *tif, uint32_t *ndir,\n                                         TIFFDirEntry
      *dir)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2149,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2163,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2166,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2173,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2177,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2180,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2183,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2186,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2189,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2191,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - tif
    - ndir
    - dir
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2128
    functionDepth: 1
    functionLinenumber: 2128
    functionLinenumberEnd: 2195
    functionName: TIFFWriteDirectoryTagTransferfunction
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcmp
    - _TIFFmemcpy
    - TIFFWarningExtR
    - TIFFErrorExtR
    - EvaluateIFDdatasizeWrite
    - TIFFWriteDirectoryTagCheckedShortArray
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagTransferfunction(TIFF *tif, uint32_t *ndir,\n
      \                                                TIFFDirEntry *dir)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2212,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2215,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2222,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2228,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2229,1
    - Dst: TIFFWriteDirectoryTagCheckedIfdArray
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2234,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2236,1
    - Dst: TIFFWriteDirectoryTagCheckedIfd8Array
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - tif
    - ndir
    - dir
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    assertStmts:
    - condition: (pa != 0)
      pos:
        line_end: 2221
        line_start: 2221
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2265
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2265
    functionName: TIFFWriteDirectoryTagSubifd
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedIfd8Array
    - assert
    - TIFFErrorExtR
    - _TIFFmallocExt
    - TIFFWriteDirectoryTagCheckedIfdArray
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagSubifd(TIFF *tif, uint32_t *ndir,\n                                       TIFFDirEntry
      *dir)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2271,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2274,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - char*
    assertStmts:
    - condition: (sizeof(char) == 1)
      pos:
        line_end: 2270
        line_start: 2270
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2279
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2279
    functionName: TIFFWriteDirectoryTagCheckedAscii
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedAscii(TIFF *tif, uint32_t *ndir,\n
      \                                            TIFFDirEntry *dir, uint16_t tag,\n
      \                                            uint32_t count, char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2287,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2290,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (sizeof(uint8_t) == 1)
      pos:
        line_end: 2286
        line_start: 2286
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2295
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2295
    functionName: TIFFWriteDirectoryTagCheckedUndefinedArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedUndefinedArray(TIFF *tif, uint32_t
      *ndir,\n                                                      TIFFDirEntry *dir,\n
      \                                                     uint16_t tag,\n                                                      uint32_t
      count,\n                                                      uint8_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2302,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2305,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (sizeof(uint8_t) == 1)
      pos:
        line_end: 2301
        line_start: 2301
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2310
      start: 2297
    functionDepth: 1
    functionLinenumber: 2297
    functionLinenumberEnd: 2310
    functionName: TIFFWriteDirectoryTagCheckedByteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedByteArray(TIFF *tif, uint32_t *ndir,\n
      \                                                TIFFDirEntry *dir,\n                                                 uint16_t
      tag, uint32_t count,\n                                                 uint8_t
      *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2317,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2320,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int8_t*
    assertStmts:
    - condition: (sizeof(int8_t) == 1)
      pos:
        line_end: 2316
        line_start: 2316
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2325
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2325
    functionName: TIFFWriteDirectoryTagCheckedSbyteArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedSbyteArray(TIFF *tif, uint32_t *ndir,\n
      \                                                 TIFFDirEntry *dir,\n                                                  uint16_t
      tag, uint32_t count,\n                                                  int8_t
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2332,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2341,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (sizeof(uint16_t) == 2)
      pos:
        line_end: 2331
        line_start: 2331
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2344
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2344
    functionName: TIFFWriteDirectoryTagCheckedShort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFSwabShort
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedShort(TIFF *tif, uint32_t *ndir,\n
      \                                            TIFFDirEntry *dir, uint16_t tag,\n
      \                                            uint16_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2351,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2352,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2355,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2359,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint16_t*
    assertStmts:
    - condition: (count < 0x80000000)
      pos:
        line_end: 2350
        line_start: 2350
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint16_t) == 2)
      pos:
        line_end: 2351
        line_start: 2351
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2362
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2362
    functionName: TIFFWriteDirectoryTagCheckedShortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 5
    functionsReached:
    - TIFFSwabArrayOfShort
    - EvaluateIFDdatasizeWrite
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedShortArray(TIFF *tif, uint32_t *ndir,\n
      \                                                 TIFFDirEntry *dir,\n                                                  uint16_t
      tag, uint32_t count,\n                                                  uint16_t
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2369,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2370,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2373,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2377,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int16_t*
    assertStmts:
    - condition: (count < 0x80000000)
      pos:
        line_end: 2368
        line_start: 2368
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(int16_t) == 2)
      pos:
        line_end: 2369
        line_start: 2369
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2380
      start: 2364
    functionDepth: 1
    functionLinenumber: 2364
    functionLinenumberEnd: 2380
    functionName: TIFFWriteDirectoryTagCheckedSshortArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabArrayOfShort
    - EvaluateIFDdatasizeWrite
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedSshortArray(TIFF *tif, uint32_t *ndir,\n
      \                                                  TIFFDirEntry *dir,\n                                                   uint16_t
      tag, uint32_t count,\n                                                   int16_t
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2387,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2396,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    assertStmts:
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 2386
        line_start: 2386
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2399
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2399
    functionName: TIFFWriteDirectoryTagCheckedLong
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedLong(TIFF *tif, uint32_t *ndir,\n
      \                                           TIFFDirEntry *dir, uint16_t tag,\n
      \                                           uint32_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2406,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2407,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2410,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2414,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (count < 0x40000000)
      pos:
        line_end: 2405
        line_start: 2405
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 2406
        line_start: 2406
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2417
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2417
    functionName: TIFFWriteDirectoryTagCheckedLongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - TIFFSwabArrayOfLong
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedLongArray(TIFF *tif, uint32_t *ndir,\n
      \                                                TIFFDirEntry *dir,\n                                                 uint16_t
      tag, uint32_t count,\n                                                 uint32_t
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2424,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2425,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2428,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2432,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int32_t*
    assertStmts:
    - condition: (count < 0x40000000)
      pos:
        line_end: 2423
        line_start: 2423
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(int32_t) == 4)
      pos:
        line_end: 2424
        line_start: 2424
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2435
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2435
    functionName: TIFFWriteDirectoryTagCheckedSlongArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - TIFFSwabArrayOfLong
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedSlongArray(TIFF *tif, uint32_t *ndir,\n
      \                                                 TIFFDirEntry *dir,\n                                                  uint16_t
      tag, uint32_t count,\n                                                  int32_t
      *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2442,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2443,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2446,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2452,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2456,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint64_t*
    assertStmts:
    - condition: (count < 0x20000000)
      pos:
        line_end: 2441
        line_start: 2441
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 2442
        line_start: 2442
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2459
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2459
    functionName: TIFFWriteDirectoryTagCheckedLong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - assert
    - EvaluateIFDdatasizeWrite
    - TIFFSwabArrayOfLong8
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedLong8Array(TIFF *tif, uint32_t *ndir,\n
      \                                                 TIFFDirEntry *dir,\n                                                  uint16_t
      tag, uint32_t count,\n                                                  uint64_t
      *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2466,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2467,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2470,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2476,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2480,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - int64_t*
    assertStmts:
    - condition: (count < 0x20000000)
      pos:
        line_end: 2465
        line_start: 2465
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(int64_t) == 8)
      pos:
        line_end: 2466
        line_start: 2466
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2483
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2483
    functionName: TIFFWriteDirectoryTagCheckedSlong8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - assert
    - EvaluateIFDdatasizeWrite
    - TIFFSwabArrayOfLong8
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedSlong8Array(TIFF *tif, uint32_t *ndir,\n
      \                                                  TIFFDirEntry *dir,\n                                                   uint16_t
      tag, uint32_t count,\n                                                   int64_t
      *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2491,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2494,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2499,1
    - Dst: DoubleToRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2511,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2515,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2516,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - double
    assertStmts:
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 2490
        line_start: 2490
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2520
      start: 2485
    functionDepth: 1
    functionLinenumber: 2485
    functionLinenumberEnd: 2520
    functionName: TIFFWriteDirectoryTagCheckedRational
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - DoubleToRational
    - assert
    - TIFFSwabLong
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedRational(TIFF *tif, uint32_t *ndir,\n
      \                                               TIFFDirEntry *dir, uint16_t
      tag,\n                                                double value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2534,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2537,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2540,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2543,1
    - Dst: DoubleToRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2548,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2551,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2552,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - float*
    assertStmts:
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 2533
        line_start: 2533
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2556
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2556
    functionName: TIFFWriteDirectoryTagCheckedRationalArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - DoubleToRational
    - assert
    - EvaluateIFDdatasizeWrite
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedRationalArray(TIFF *tif, uint32_t
      *ndir,\n                                                     TIFFDirEntry *dir,\n
      \                                                    uint16_t tag,\n                                                     uint32_t
      count,\n                                                     float *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2570,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2573,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2576,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2579,1
    - Dst: DoubleToSrational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2584,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2587,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2588,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - float*
    assertStmts:
    - condition: (sizeof(int32_t) == 4)
      pos:
        line_end: 2569
        line_start: 2569
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2592
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2592
    functionName: TIFFWriteDirectoryTagCheckedSrationalArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - assert
    - DoubleToSrational
    - EvaluateIFDdatasizeWrite
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedSrationalArray(TIFF *tif, uint32_t
      *ndir,\n                                                      TIFFDirEntry *dir,\n
      \                                                     uint16_t tag,\n                                                      uint32_t
      count,\n                                                      float *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2607,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2610,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2613,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2616,1
    - Dst: DoubleToRational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2621,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2624,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2625,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts:
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 2606
        line_start: 2606
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2629
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2629
    functionName: TIFFWriteDirectoryTagCheckedRationalDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - DoubleToRational
    - assert
    - EvaluateIFDdatasizeWrite
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedRationalDoubleArray(TIFF *tif, uint32_t
      *ndir,\n                                                TIFFDirEntry *dir, uint16_t
      tag,\n                                                uint32_t count, double
      *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2642,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2645,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2648,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2651,1
    - Dst: DoubleToSrational
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2656,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2659,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2660,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts:
    - condition: (sizeof(int32_t) == 4)
      pos:
        line_end: 2641
        line_start: 2641
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2664
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2664
    functionName: TIFFWriteDirectoryTagCheckedSrationalDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExtR
    - assert
    - DoubleToSrational
    - EvaluateIFDdatasizeWrite
    - _TIFFmallocExt
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedSrationalDoubleArray(\n    TIFF *tif,
      uint32_t *ndir, TIFFDirEntry *dir, uint16_t tag, uint32_t count,\n    double
      *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2747,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 5
    argNames:
    - value
    - blnUseSignedRange
    - blnUseSmallRange
    - ullNum
    - ullDenom
    argTypes:
    - double
    - int
    - int
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2808
    functionName: ToRationalEuclideanGCD
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: "void ToRationalEuclideanGCD(double value, int blnUseSignedRange,\n
      \                                  int blnUseSmallRange, uint64_t *ullNum,\n
      \                                  uint64_t *ullDenom)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2826,1
    - Dst: ToRationalEuclideanGCD
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2857,1
    - Dst: ToRationalEuclideanGCD
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2858,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2863,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2868,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2872,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2873,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - value
    - num
    - denom
    argTypes:
    - double
    - uint32_t*
    - uint32_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2867
        line_start: 2867
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2884
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2884
    functionName: DoubleToRational
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - fabs
    - ToRationalEuclideanGCD
    - TIFFErrorExt
    - assert
    linkageType: ''
    returnType: void
    signature: void DoubleToRational(double value, uint32_t *num, uint32_t *denom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ToRationalEuclideanGCD
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2933,1
    - Dst: ToRationalEuclideanGCD
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2934,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2939,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2944,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2948,1
    - Dst: fabs
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2949,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - value
    - num
    - denom
    argTypes:
    - double
    - int32_t*
    - int32_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2943
        line_start: 2943
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2960
      start: 2891
    functionDepth: 1
    functionLinenumber: 2891
    functionLinenumberEnd: 2960
    functionName: DoubleToSrational
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - fabs
    - ToRationalEuclideanGCD
    - TIFFErrorExt
    - assert
    linkageType: ''
    returnType: void
    signature: void DoubleToSrational(double value, int32_t *num, int32_t *denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2967,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2968,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2971,1
    - Dst: TIFFCvtNativeToIEEEFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2974,1
    - Dst: TIFFSwabArrayOfFloat
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2976,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - float*
    assertStmts:
    - condition: (count < 0x40000000)
      pos:
        line_end: 2966
        line_start: 2966
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(float) == 4)
      pos:
        line_end: 2967
        line_start: 2967
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2979
      start: 2962
    functionDepth: 1
    functionLinenumber: 2962
    functionLinenumberEnd: 2979
    functionName: TIFFWriteDirectoryTagCheckedFloatArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFCvtNativeToIEEEFloat
    - TIFFWriteDirectoryTagData
    - TIFFSwabArrayOfFloat
    - assert
    - EvaluateIFDdatasizeWrite
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedFloatArray(TIFF *tif, uint32_t *ndir,\n
      \                                                 TIFFDirEntry *dir,\n                                                  uint16_t
      tag, uint32_t count,\n                                                  float
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2986,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2987,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2990,1
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2993,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2995,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:2996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - double*
    assertStmts:
    - condition: (count < 0x20000000)
      pos:
        line_end: 2985
        line_start: 2985
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(double) == 8)
      pos:
        line_end: 2986
        line_start: 2986
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2998
      start: 2981
    functionDepth: 1
    functionLinenumber: 2981
    functionLinenumberEnd: 2998
    functionName: TIFFWriteDirectoryTagCheckedDoubleArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    - TIFFSwabArrayOfDouble
    - EvaluateIFDdatasizeWrite
    - TIFFCvtNativeToIEEEDouble
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedDoubleArray(TIFF *tif, uint32_t *ndir,\n
      \                                                  TIFFDirEntry *dir,\n                                                   uint16_t
      tag, uint32_t count,\n                                                   double
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3004,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3005,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3008,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3012,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (count < 0x40000000)
      pos:
        line_end: 3003
        line_start: 3003
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 3004
        line_start: 3004
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 3015
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3015
    functionName: TIFFWriteDirectoryTagCheckedIfdArray
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - TIFFSwabArrayOfLong
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedIfdArray(TIFF *tif, uint32_t *ndir,\n
      \                                               TIFFDirEntry *dir, uint16_t
      tag,\n                                                uint32_t count, uint32_t
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3022,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3023,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3024,1
    - Dst: EvaluateIFDdatasizeWrite
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3027,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3031,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint32_t
    - uint64_t*
    assertStmts:
    - condition: (count < 0x20000000)
      pos:
        line_end: 3021
        line_start: 3021
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (tif->tif_flags & TIFF_BIGTIFF)
      pos:
        line_end: 3023
        line_start: 3023
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 3022
        line_start: 3022
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 3034
      start: 3017
    functionDepth: 1
    functionLinenumber: 3017
    functionLinenumberEnd: 3034
    functionName: TIFFWriteDirectoryTagCheckedIfd8Array
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - EvaluateIFDdatasizeWrite
    - TIFFSwabArrayOfLong8
    - assert
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagCheckedIfd8Array(TIFF *tif, uint32_t *ndir,\n
      \                                                TIFFDirEntry *dir,\n                                                 uint16_t
      tag, uint32_t count,\n                                                 uint64_t
      *value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3046,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3065,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3077,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3080,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3082,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3087,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3092,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3094,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3105,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3106,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3112,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 8
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - datatype
    - count
    - datalength
    - data
    argTypes:
    - TIFF*
    - uint32_t*
    - TIFFDirEntry*
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - void*
    assertStmts:
    - condition: (dir[m].tdir_tag != tag)
      pos:
        line_end: 3045
        line_start: 3045
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 3117
      start: 3036
    functionDepth: 1
    functionLinenumber: 3036
    functionLinenumberEnd: 3117
    functionName: TIFFWriteDirectoryTagData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 22
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExtR
    - assert
    - TIFFSwabLong8
    - WriteOK
    - SeekOK
    - TIFFSwabLong
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDirectoryTagData(TIFF *tif, uint32_t *ndir,\n                                     TIFFDirEntry
      *dir, uint16_t tag,\n                                     uint16_t datatype,
      uint32_t count,\n                                     uint32_t datalength, void
      *data)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3126,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3138,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3139,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3140,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3142,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3162,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3163,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3164,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3166,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3193,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3201,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3202,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3204,1
    - Dst: _TIFFGetDirNumberFromOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3216,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3234,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3234,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3236,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3240,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3241,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3242,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3244,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3248,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3251,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3252,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3254,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3271,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3279,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3280,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3282,1
    - Dst: _TIFFGetDirNumberFromOffset
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3294,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3312,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3312,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3314,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3318,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3321,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3327,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3328,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3330,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3334,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3337,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3338,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3340,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 137
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3122
    functionDepth: 4
    functionLinenumber: 3122
    functionLinenumberEnd: 3362
    functionName: TIFFLinkDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExtR
    - TIFFSwabLong8
    - TIFFSeekFile
    - ReadOK
    - WriteOK
    - TIFFSwabShort
    - SeekOK
    - TIFFSwabLong
    - _TIFFGetDirNumberFromOffset
    linkageType: ''
    returnType: int
    signature: int TIFFLinkDirectory(TIFF *tif)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3397,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3402,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3404,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3412,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3421,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3423,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3432,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3434,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3439,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3446,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3448,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3453,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3464,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3466,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3471,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3473,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3483,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3491,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3493,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3499,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3501,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3504,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3506,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3511,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3513,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3515,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3517,1
    - Dst: WriteAsLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3535,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3535,1
    - Dst: WriteAsLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3539,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3539,1
    - Dst: WriteAsLong4
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3550,1
    - Dst: TIFFStripSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3550,1
    - Dst: WriteAsLong4
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3554,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3554,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3571,1
    - Dst: _TIFFCheckMalloc
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3602,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3603,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3608,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3608,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3618,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3619,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3636,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3637,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3653,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3654,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3662,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3666,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3668,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3669,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3670,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3671,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3672,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3673,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3681,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3689,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3721,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3723,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3724,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3729,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3729,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3731,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3732,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3736,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3745,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3747,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3747,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3749,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3750,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3756,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3759,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3759,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3764,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3765,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3769,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3777,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3779,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3786,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3788,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3791,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3793,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3797,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3799,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3801,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3803,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3809,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3811,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3816,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_dirwrite.c:3818,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 242
    argCount: 5
    argNames:
    - tif
    - tag
    - in_datatype
    - count
    - data
    argTypes:
    - TIFF*
    - uint16_t
    - TIFFDataType
    - tmsize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3824
      start: 3377
    functionDepth: 4
    functionLinenumber: 3377
    functionLinenumberEnd: 3824
    functionName: _TIFFRewriteField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFFindField
    - _TIFFCheckMalloc
    - TIFFDataWidth
    - ReadOK
    - isMapped
    - TIFFSwabShort
    - TIFFSwabLong
    - memcpy
    - TIFFSwabLong8
    - TIFFSeekFile
    - SeekOK
    - TIFFTileSize64
    - WriteAsLong8
    - WriteOK
    - TIFFSwabArrayOfLong
    - _TIFFfreeExt
    - WriteAsLong4
    - TIFFStripSize64
    - TIFFErrorExtR
    - TIFFSwabArrayOfShort
    - TIFFSwabArrayOfLong8
    linkageType: ''
    returnType: int
    signature: "int _TIFFRewriteField(TIFF *tif, uint16_t tag, TIFFDataType in_datatype,\n
      \                     tmsize_t count, void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:35,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:46,1
    - Dst: TIFFRewriteDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 6
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: TIFFFlush
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_flush.c
    functionUses: 0
    functionsReached:
    - TIFFRewriteDirectory
    - TIFFFlushData
    - TIFFForceStrileArrayWriting
    linkageType: ''
    returnType: int
    signature: int TIFFFlush(TIFF *tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:79,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:83,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:88,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:93,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:110,1
    - Dst: TIFFSetupStrips
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:116,1
    - Dst: _TIFFRewriteField
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:120,1
    - Dst: _TIFFRewriteField
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:124,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: TIFFForceStrileArrayWriting
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_flush.c
    functionUses: 4
    functionsReached:
    - TIFFSetupStrips
    - _TIFFRewriteField
    - TIFFErrorExtR
    - TIFFIsTiled
    linkageType: ''
    returnType: int
    signature: int TIFFForceStrileArrayWriting(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_flush.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: TIFFFlushData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_flush.c
    functionUses: 3
    functionsReached:
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int TIFFFlushData(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:37,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:40,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:44,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:50,1
    - Dst: TIFFInitJPEGCommon
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:52,1
    - Dst: JState
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:54,1
    - Dst: JPEGSetupEncode
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:58,1
    - Dst: JPEGSetupDecode
      Src: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - tif
    - otherSettings
    - scheme
    - is_encode
    argTypes:
    - TIFF*
    - JPEGOtherSettings*
    - int
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_JPEG)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: TIFFReInitJPEG_12
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c
    functionUses: 2
    functionsReached:
    - _TIFFmemset
    - JPEGSetupEncode
    - _TIFFreallocExt
    - TIFFInitJPEGCommon
    - TIFFErrorExtR
    - assert
    - JState
    - JPEGSetupDecode
    linkageType: ''
    returnType: int
    signature: "int TIFFReInitJPEG_12(TIFF *tif, const JPEGOtherSettings *otherSettings,\n
      \                     int scheme, int is_encode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlush
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:50,1
    - Dst: TIFFFreeDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:51,1
    - Dst: _TIFFCleanupIFDOffsetAndNumberMaps
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:53,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:63,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:64,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:68,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:69,1
    - Dst: TIFFUnmapFileContents
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:70,1
    - Dst: TIFFFieldIsAnonymous
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:89,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:91,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:92,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:97,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:107,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:109,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:114,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:120,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 44
    functionDepth: 7
    functionLinenumber: 44
    functionLinenumberEnd: 121
    functionName: TIFFCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_close.c
    functionUses: 0
    functionsReached:
    - TIFFFlush
    - TIFFFreeDirectory
    - TIFFErrorExtR
    - TIFFUnmapFileContents
    - isMapped
    - _TIFFCleanupIFDOffsetAndNumberMaps
    - TIFFFieldIsAnonymous
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void TIFFCleanup(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFHashSetDestroy
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:131,1
    - Dst: TIFFHashSetDestroy
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: _TIFFCleanupIFDOffsetAndNumberMaps
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_close.c
    functionUses: 5
    functionsReached:
    - TIFFHashSetDestroy
    linkageType: ''
    returnType: void
    signature: void _TIFFCleanupIFDOffsetAndNumberMaps(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_close.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 8
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: TIFFClose
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_close.c
    functionUses: 73
    functionsReached:
    - TIFFCleanup
    linkageType: ''
    returnType: void
    signature: void TIFFClose(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - maj
    - ','
    - min
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: LERC_AT_LEAST_VERSION
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERC_AT_LEAST_VERSION(maj, min, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: GetLERCState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetLERCState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: LERCDecoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERCDecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: LERCEncoderState
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERCEncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: LERCFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LERCFixupTags(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LERCDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:106,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: LERCSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - assert
    - LERCDecoderState
    linkageType: ''
    returnType: int
    signature: int LERCSetupDecode(TIFF *tif)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:167,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 171
    functionName: GetLercDataType
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int GetLercDataType(TIFF *tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:183,1
    - Dst: ZSTD_compressBound
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:212,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:222,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:223,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:231,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:232,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:235,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:236,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:247,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:252,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:263,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:266,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:268,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 3
    argNames:
    - tif
    - sp
    - module
    argTypes:
    - TIFF*
    - LERCState*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 279
    functionName: SetupBuffers
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - LERC_AT_LEAST_VERSION
    - isTiled
    - _TIFFreallocExt
    - TIFFErrorExtR
    - GetLercDataType
    - _TIFFmallocExt
    - ZSTD_compressBound
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int SetupBuffers(TIFF *tif, LERCState *sp, const char *module)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: LERCDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:289,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:299,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:301,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:303,1
    - Dst: SetupBuffers
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:307,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:314,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:315,1
    - Dst: libdeflate_alloc_decompressor
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:332,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:335,1
    - Dst: libdeflate_zlib_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:340,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:345,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:349,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:356,1
    - Dst: inflateInit
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:360,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:363,1
    - Dst: inflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:364,1
    - Dst: inflate
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:372,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:375,1
    - Dst: inflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:376,1
    - Dst: inflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:381,1
    - Dst: ZSTD_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:389,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:391,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:393,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:394,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:401,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:407,1
    - Dst: lerc_getBlobInfo
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:412,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:415,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:424,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:442,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:448,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:454,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:461,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:470,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:477,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:483,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:493,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:496,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:507,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:514,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:521,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:527,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:535,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:546,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:561,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:568,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:570,1
    - Dst: lerc_decode
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:578,1
    - Dst: lerc_decode
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:587,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:588,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:597,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:602,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:615,1
    - Dst: memmove
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:624,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:637,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:662,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:663,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:693,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:696,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:697,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:698,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 238
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (nRequestedMasks == td->td_samplesperpixel)
      pos:
        line_end: 695
        line_start: 695
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (lerc_data_sizet == (unsigned int)lerc_data_sizet)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (nFoundDims == 1)
      pos:
        line_end: 696
        line_start: 696
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (nFoundDims == td->td_samplesperpixel)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (sp != NULL)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (nFoundBands == 1)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (nFoundBands == td->td_samplesperpixel)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 740
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 740
    functionName: LERCPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - lerc_decode
    - TIFFWarningExtR
    - lerc_getBlobInfo
    - inflateInit
    - inflateEnd
    - memcpy
    - assert
    - memset
    - _TIFFmallocExt
    - ZSTD_getErrorName
    - SetupBuffers
    - libdeflate_alloc_decompressor
    - memmove
    - GetLercDataType
    - TIFF*::tif_setupdecode
    - _TIFFfreeExt
    - LERC_AT_LEAST_VERSION
    - TIFFErrorExtR
    - inflate
    - ZSTD_decompress
    - libdeflate_zlib_decompress
    - LERCDecoderState
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int LERCPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LERCDecoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:748,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:751,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:752,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:756,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:757,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:764,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:765,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 750
        line_start: 750
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 773
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 773
    functionName: LERCDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - TIFFErrorExtR
    - memset
    - LERCDecoderState
    linkageType: ''
    returnType: int
    signature: int LERCDecode(TIFF *tif, uint8_t *op, tmsize_t occ, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LERCEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:779,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 790
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 790
    functionName: LERCSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - LERCEncoderState
    - assert
    linkageType: ''
    returnType: int
    signature: int LERCSetupEncode(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LERCEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:798,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:802,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:804,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:806,1
    - Dst: SetupBuffers
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 814
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 814
    functionName: LERCPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - TIFF*::tif_setupencode
    - LERCEncoderState
    - SetupBuffers
    - GetLercDataType
    - assert
    linkageType: ''
    returnType: int
    signature: int LERCPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LERCEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:822,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:825,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:826,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:831,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    - condition: (sp != NULL)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 839
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 839
    functionName: LERCEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    - LERCEncoderState
    - memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: int LERCEncode(TIFF *tif, uint8_t *bp, tmsize_t cc, uint16_t s)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: LERCEncoderState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:848,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:856,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:867,1
    - Dst: memmove
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:893,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:901,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1002,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1007,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1009,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1052,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1104,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1113,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1114,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1123,1
    - Dst: lerc_encodeForVersion
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1126,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1128,1
    - Dst: lerc_encodeForVersion
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1136,1
    - Dst: GetLercDataType
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1137,1
    - Dst: LERC_AT_LEAST_VERSION
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1140,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1149,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1152,1
    - Dst: libdeflate_alloc_compressor
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1161,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1168,1
    - Dst: libdeflate_zlib_compress_bound
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1174,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1177,1
    - Dst: libdeflate_zlib_compress
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1182,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1188,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1199,1
    - Dst: deflateInit
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1203,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1206,1
    - Dst: deflate
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1214,1
    - Dst: deflateEnd
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1219,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1222,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1230,1
    - Dst: ZSTD_compress
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1241,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1244,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1246,1
    - Dst: ZSTD_getErrorName
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1247,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1256,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1264,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1270,1
    - Dst: TIFFFlushData1
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1279,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 230
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (numBytesWritten < estimated_compressed_size)
      pos:
        line_end: 1151
        line_start: 1151
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 1286
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 1286
    functionName: LERCPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - lerc_encodeForVersion
    - deflate
    - libdeflate_zlib_compress_bound
    - libdeflate_alloc_compressor
    - libdeflate_zlib_compress
    - TIFFFlushData1
    - memcpy
    - LERCEncoderState
    - ZSTD_compress
    - assert
    - memset
    - _TIFFmallocExt
    - ZSTD_getErrorName
    - deflateEnd
    - memmove
    - GetLercDataType
    - _TIFFfreeExt
    - LERC_AT_LEAST_VERSION
    - TIFFErrorExtR
    - deflateInit
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int LERCPostEncode(TIFF *tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetLERCState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1292,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1294,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1299,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1300,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1301,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1302,1
    - Dst: libdeflate_free_decompressor
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1306,1
    - Dst: libdeflate_free_compressor
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1308,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1311,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1293
        line_start: 1293
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 1315
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1315
    functionName: LERCCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - libdeflate_free_compressor
    - GetLERCState
    - assert
    - libdeflate_free_decompressor
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void LERCCleanup(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLERCState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1335,1
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1338,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1342
    functionName: LERCVSetFieldBase
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - GetLERCState
    linkageType: ''
    returnType: int
    signature: int LERCVSetFieldBase(TIFF *tif, uint32_t tag, ...)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetLERCState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1347,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1353,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1354,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1357,1
    - Dst: LERCVSetFieldBase
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1363,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1367,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1372,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1375,1
    - Dst: LERCVSetFieldBase
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1382,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1387,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1391,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1400,1
    - Dst: LERCVSetFieldBase
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1408,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1413,1
    - Dst: ZSTD_maxCLevel
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1415,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1417,1
    - Dst: ZSTD_maxCLevel
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1419,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1426,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1430,1
    - Dst: libdeflate_free_compressor
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1451
    functionName: LERCVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - LERCVSetFieldBase
    - TIFFWarningExtR
    - libdeflate_free_compressor
    - GetLERCState
    - TIFFErrorExtR
    - va_arg
    - ZSTD_maxCLevel
    linkageType: ''
    returnType: int
    signature: int LERCVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetLERCState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1455,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1460,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1463,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1466,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1469,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1478
    functionName: LERCVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - va_arg
    - GetLERCState
    linkageType: ''
    returnType: int
    signature: int LERCVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1486,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1491,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1491,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1493,1
    - Dst: _TIFFcallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1500,1
    - Dst: GetLERCState
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1503,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1533,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1534,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_lerc.c:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_LERC)
      pos:
        line_end: 1485
        line_start: 1485
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    constantsTouched: []
    func_position:
      end: 1544
      start: 1480
    functionDepth: 2
    functionLinenumber: 1480
    functionLinenumberEnd: 1544
    functionName: TIFFInitLERC
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_lerc.c
    functionUses: 0
    functionsReached:
    - TIFFArrayCount
    - _TIFFMergeFields
    - GetLERCState
    - TIFFErrorExtR
    - _TIFFcallocExt
    - assert
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitLERC(TIFF *tif, int scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - first
    - second
    - where
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: _TIFFMultiply32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 3
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t _TIFFMultiply32(TIFF *tif, uint32_t first, uint32_t second,\n
      \                        const char *where)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - first
    - second
    - where
    argTypes:
    - TIFF*
    - uint64_t
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: _TIFFMultiply64
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 5
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _TIFFMultiply64(TIFF *tif, uint64_t first, uint64_t second,\n
      \                        const char *where)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:66,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - tif
    - first
    - second
    - where
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 82
    functionName: _TIFFMultiplySSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 5
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFMultiplySSize(TIFF *tif, tmsize_t first, tmsize_t second,\n
      \                           const char *where)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - val
    - module
    argTypes:
    - TIFF*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: _TIFFCastUInt64ToSSize
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 9
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _TIFFCastUInt64ToSSize(TIFF *tif, uint64_t val, const char
      *module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiplySSize
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:101,1
    - Dst: _TIFFreallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:107,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - tif
    - buffer
    - nmemb
    - elem_size
    - what
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: _TIFFCheckRealloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 2
    functionsReached:
    - _TIFFreallocExt
    - TIFFErrorExtR
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: void
    signature: "void *_TIFFCheckRealloc(TIFF *tif, void *buffer, tmsize_t nmemb,\n
      \                       tmsize_t elem_size, const char *what)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckRealloc
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - nmemb
    - elem_size
    - what
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: _TIFFCheckMalloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 13
    functionsReached:
    - _TIFFCheckRealloc
    linkageType: ''
    returnType: void
    signature: "void *_TIFFCheckMalloc(TIFF *tif, tmsize_t nmemb, tmsize_t elem_size,\n
      \                      const char *what)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:142,1
    - Dst: floor
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:149,1
    - Dst: pow
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:149,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:154,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:157,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:158,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:161,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:167,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:169,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - tif
    - td
    argTypes:
    - TIFF*
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: TIFFDefaultTransferFunction
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - _TIFFmallocExt
    - floor
    - _TIFFfreeExt
    - pow
    linkageType: ''
    returnType: int
    signature: int TIFFDefaultTransferFunction(TIFF *tif, TIFFDirectory *td)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - tif
    - td
    argTypes:
    - TIFF*
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: TIFFDefaultRefBlackWhite
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFDefaultRefBlackWhite(TIFF *tif, TIFFDirectory *td)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVGetField
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:221,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:226,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:229,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:232,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:235,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:238,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:241,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:244,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:247,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:277,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:280,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:287,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:297,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:298,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:301,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:304,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:307,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:308,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:311,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:316,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:319,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:322,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:325,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:335,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:336,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:339,1
    - Dst: TIFFDefaultTransferFunction
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:354,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:356,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:360,1
    - Dst: TIFFDefaultRefBlackWhite
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:368,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 118
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 374
    functionName: TIFFVGetFieldDefaulted
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - TIFFDefaultRefBlackWhite
    - TIFFDefaultTransferFunction
    - TIFFErrorExtR
    - va_arg
    - TIFFVGetField
    linkageType: ''
    returnType: int
    signature: int TIFFVGetFieldDefaulted(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:385,1
    - Dst: TIFFVGetFieldDefaulted
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:386,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: TIFFGetFieldDefaulted
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 33
    functionsReached:
    - va_end
    - va_start
    - TIFFVGetFieldDefaulted
    linkageType: ''
    returnType: int
    signature: int TIFFGetFieldDefaulted(TIFF *tif, uint32_t tag, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: _TIFFClampDoubleToFloat
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float _TIFFClampDoubleToFloat(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: _TIFFClampDoubleToUInt32
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _TIFFClampDoubleToUInt32(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_aux.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - 'off'
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: _TIFFSeekOK
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - TIFFSeekFile
    linkageType: ''
    returnType: int
    signature: int _TIFFSeekOK(TIFF *tif, toff_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: _tiffDummyMapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffDummyMapProc(thandle_t fd, void **pbase, toff_t *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: _tiffDummyUnmapProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffDummyUnmapProc(thandle_t fd, void *base, toff_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - opts
    - clientdata
    - mode
    - module
    argTypes:
    - TIFFOpenOptions*
    - thandle_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: _TIFFgetMode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 4
    functionsReached:
    - _TIFFErrorEarly
    linkageType: ''
    returnType: int
    signature: "int _TIFFgetMode(TIFFOpenOptions *opts, thandle_t clientdata, const
      char *mode,\n                 const char *module)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFcalloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: TIFFOpenOptionsAlloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 11
    functionsReached:
    - _TIFFcalloc
    linkageType: ''
    returnType: TIFFOpenOptions
    signature: TIFFOpenOptions *TIFFOpenOptionsAlloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - TIFFOpenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: TIFFOpenOptionsFree
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 11
    functionsReached:
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void TIFFOpenOptionsFree(TIFFOpenOptions *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - max_single_mem_alloc
    argTypes:
    - TIFFOpenOptions*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: TIFFOpenOptionsSetMaxSingleMemAlloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFOpenOptionsSetMaxSingleMemAlloc(TIFFOpenOptions *opts,\n
      \                                        tmsize_t max_single_mem_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - max_cumulated_mem_alloc
    argTypes:
    - TIFFOpenOptions*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: TIFFOpenOptionsSetMaxCumulatedMemAlloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFOpenOptionsSetMaxCumulatedMemAlloc(TIFFOpenOptions *opts,\n
      \                                           tmsize_t max_cumulated_mem_alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - warn_about_unknown_tags
    argTypes:
    - TIFFOpenOptions*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: TIFFOpenOptionsSetWarnAboutUnknownTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFOpenOptionsSetWarnAboutUnknownTags(TIFFOpenOptions *opts,\n
      \                                           int warn_about_unknown_tags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opts
    - handler
    - errorhandler_user_data
    argTypes:
    - TIFFOpenOptions*
    - TIFFErrorHandlerExtR
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: TIFFOpenOptionsSetErrorHandlerExtR
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFOpenOptionsSetErrorHandlerExtR(TIFFOpenOptions *opts,\n                                        TIFFErrorHandlerExtR
      handler,\n                                        void *errorhandler_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opts
    - handler
    - warnhandler_user_data
    argTypes:
    - TIFFOpenOptions*
    - TIFFErrorHandlerExtR
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: TIFFOpenOptionsSetWarningHandlerExtR
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFOpenOptionsSetWarningHandlerExtR(TIFFOpenOptions *opts,\n
      \                                         TIFFErrorHandlerExtR handler,\n                                          void
      *warnhandler_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - pszFunction
    - s
    argTypes:
    - TIFF*
    - char*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: _TIFFEmitErrorAboveMaxSingleMemAlloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: "void _TIFFEmitErrorAboveMaxSingleMemAlloc(TIFF *tif,\n                                                 const
      char *pszFunction,\n                                                 tmsize_t
      s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - pszFunction
    - s
    argTypes:
    - TIFF*
    - char*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: _TIFFEmitErrorAboveMaxCumulatedMemAlloc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: "void _TIFFEmitErrorAboveMaxCumulatedMemAlloc(TIFF *tif,\n                                                    const
      char *pszFunction,\n                                                    tmsize_t
      s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFEmitErrorAboveMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:178,1
    - Dst: _TIFFEmitErrorAboveMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:187,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:190,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:194,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: _TIFFmallocExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 78
    functionsReached:
    - _TIFFmalloc
    - _TIFFEmitErrorAboveMaxCumulatedMemAlloc
    - _TIFFEmitErrorAboveMaxSingleMemAlloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *_TIFFmallocExt(TIFF *tif, tmsize_t s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFEmitErrorAboveMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:209,1
    - Dst: _TIFFEmitErrorAboveMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:221,1
    - Dst: _TIFFcalloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:224,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:228,1
    - Dst: _TIFFcalloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - nmemb
    - siz
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: _TIFFcallocExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 4
    functionsReached:
    - _TIFFcalloc
    - _TIFFEmitErrorAboveMaxCumulatedMemAlloc
    - _TIFFEmitErrorAboveMaxSingleMemAlloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *_TIFFcallocExt(TIFF *tif, tmsize_t nmemb, tmsize_t siz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFEmitErrorAboveMaxSingleMemAlloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:240,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:250,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:251,1
    - Dst: _TIFFEmitErrorAboveMaxCumulatedMemAlloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:258,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:263,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:268,1
    - Dst: _TIFFrealloc
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - p
    - s
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    assertStmts:
    - condition: (oldSize <= tif->tif_cur_cumulated_mem_alloc)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: _TIFFreallocExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 10
    functionsReached:
    - memcpy
    - assert
    - _TIFFrealloc
    - _TIFFEmitErrorAboveMaxCumulatedMemAlloc
    - _TIFFEmitErrorAboveMaxSingleMemAlloc
    linkageType: ''
    returnType: void
    signature: void *_TIFFreallocExt(TIFF *tif, void *p, tmsize_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:281,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:282,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tif
    - p
    argTypes:
    - TIFF*
    - void*
    assertStmts:
    - condition: (oldSize <= tif->tif_cur_cumulated_mem_alloc)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: _TIFFfreeExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 96
    functionsReached:
    - _TIFFfree
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFfreeExt(TIFF *tif, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientOpenExt
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - name
    - mode
    - clientdata
    - readproc
    - writeproc
    - seekproc
    - closeproc
    - sizeproc
    - mapproc
    - unmapproc
    argTypes:
    - char*
    - char*
    - thandle_t
    - TIFFReadWriteProc
    - TIFFReadWriteProc
    - TIFFSeekProc
    - TIFFCloseProc
    - TIFFSizeProc
    - TIFFMapFileProc
    - TIFFUnmapFileProc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: TIFFClientOpen
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 4
    functionsReached:
    - TIFFClientOpenExt
    linkageType: ''
    returnType: TIFF
    signature: "TIFF *TIFFClientOpen(const char *name, const char *mode, thandle_t
      clientdata,\n                     TIFFReadWriteProc readproc, TIFFReadWriteProc
      writeproc,\n                     TIFFSeekProc seekproc, TIFFCloseProc closeproc,\n
      \                    TIFFSizeProc sizeproc, TIFFMapFileProc mapproc,\n                     TIFFUnmapFileProc
      unmapproc)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:316,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:317,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:318,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:319,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:320,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:321,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:322,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:323,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:334,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:336,1
    - Dst: _TIFFgetMode
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:340,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:343,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:347,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:358,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:366,1
    - Dst: _TIFFErrorEarly
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:369,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:373,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:375,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:403,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:405,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:409,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:503,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:554,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:558,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:578,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:581,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:591,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:595,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:596,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:606,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:607,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:610,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:616,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:641,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:647,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:668,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:672,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:682,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:687,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:691,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:696,1
    - Dst: TIFFSwabLong8
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:697,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:701,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:710,1
    - Dst: TIFFMapFileContents
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:741,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:744,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:761,1
    - Dst: TIFFReadDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:769,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:780,1
    - Dst: TIFFCleanup
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:786,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:859,1
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:889,1
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:894,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 307
    argCount: 11
    argNames:
    - name
    - mode
    - clientdata
    - readproc
    - writeproc
    - seekproc
    - closeproc
    - sizeproc
    - mapproc
    - unmapproc
    - opts
    argTypes:
    - char*
    - char*
    - thandle_t
    - TIFFReadWriteProc
    - TIFFReadWriteProc
    - TIFFSeekProc
    - TIFFCloseProc
    - TIFFSizeProc
    - TIFFMapFileProc
    - TIFFUnmapFileProc
    - TIFFOpenOptions*
    assertStmts:
    - condition: (sizeof(uint8_t) == 1)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(int16_t) == 2)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(int64_t) == 8)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(uint32_t) == 4)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (n.a16 == 256)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(int8_t) == 1)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(int32_t) == 4)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (n.a16 == 1)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(uint16_t) == 2)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: (sizeof(uint64_t) == 8)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    - condition: ((toff_t)tif->tif_size == n)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
    constantsTouched: []
    func_position:
      end: 945
      start: 300
    functionDepth: 8
    functionLinenumber: 300
    functionLinenumberEnd: 945
    functionName: TIFFClientOpenExt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 3
    functionsReached:
    - TIFFDefaultDirectory
    - TIFFWarningExtR
    - ReadOK
    - TIFFSwabShort
    - TIFFSwabLong
    - _TIFFmemset
    - isUpSampled
    - isFillOrder
    - assert
    - TIFFSwabLong8
    - TIFFSeekFile
    - strlen
    - _TIFFmallocExt
    - TIFFMapFileContents
    - _TIFFSetDefaultCompressionState
    - _TIFFErrorEarly
    - TIFFReadDirectory
    - TIFFCleanup
    - WriteOK
    - _TIFFfreeExt
    - strcpy
    - _TIFFmemcpy
    - isTiled
    - TIFFErrorExtR
    - _TIFFgetMode
    linkageType: ''
    returnType: TIFF
    signature: "TIFF *TIFFClientOpenExt(const char *name, const char *mode,\n                        thandle_t
      clientdata, TIFFReadWriteProc readproc,\n                        TIFFReadWriteProc
      writeproc, TIFFSeekProc seekproc,\n                        TIFFCloseProc closeproc,
      TIFFSizeProc sizeproc,\n                        TIFFMapFileProc mapproc, TIFFUnmapFileProc
      unmapproc,\n                        TIFFOpenOptions *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 798
    functionName: TIFFFileName
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *TIFFFileName(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - name
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: TIFFSetFileName
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *TIFFSetFileName(TIFF *tif, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: TIFFFileno
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFileno(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - fd
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: TIFFSetFileno
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFSetFileno(TIFF *tif, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 828
    functionName: TIFFClientdata
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: thandle_t
    signature: thandle_t TIFFClientdata(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - newvalue
    argTypes:
    - TIFF*
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 838
    functionName: TIFFSetClientdata
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: thandle_t
    signature: thandle_t TIFFSetClientdata(TIFF *tif, thandle_t newvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: TIFFGetMode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFGetMode(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - mode
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: TIFFSetMode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFSetMode(TIFF *tif, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 859
    functionName: TIFFIsTiled
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 27
    functionsReached:
    - isTiled
    linkageType: ''
    returnType: int
    signature: int TIFFIsTiled(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: TIFFCurrentRow
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFCurrentRow(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 869
    functionName: TIFFCurrentDirectory
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: tdir_t
    signature: tdir_t TIFFCurrentDirectory(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 874
    functionName: TIFFCurrentStrip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFCurrentStrip(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    functionName: TIFFCurrentTile
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TIFFCurrentTile(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 884
    functionName: TIFFIsByteSwapped
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFIsByteSwapped(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 889
    functionName: TIFFIsUpSampled
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached:
    - isUpSampled
    linkageType: ''
    returnType: int
    signature: int TIFFIsUpSampled(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/PROJ/libtiff/libtiff/tif_open.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 894
    functionName: TIFFIsMSB2LSB
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached:
    - isFillOrder
    linkageType: ''
    returnType: int
    signature: int TIFFIsMSB2LSB(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: TIFFIsBigEndian
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFIsBigEndian(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: TIFFIsBigTIFF
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFIsBigTIFF(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 912
    functionName: TIFFGetReadProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFReadWriteProc
    signature: TIFFReadWriteProc TIFFGetReadProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 917
    functionName: TIFFGetWriteProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFReadWriteProc
    signature: TIFFReadWriteProc TIFFGetWriteProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 922
    functionName: TIFFGetSeekProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFSeekProc
    signature: TIFFSeekProc TIFFGetSeekProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 927
    functionName: TIFFGetCloseProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFCloseProc
    signature: TIFFCloseProc TIFFGetCloseProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 932
    functionName: TIFFGetSizeProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFSizeProc
    signature: TIFFSizeProc TIFFGetSizeProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 937
    functionName: TIFFGetMapFileProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFMapFileProc
    signature: TIFFMapFileProc TIFFGetMapFileProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: TIFFGetUnmapFileProc
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFUnmapFileProc
    signature: TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - jbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: SETJMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETJMP(jbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - jbuf
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: LONGJMP
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGJMP(jbuf, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:463,1
    - Dst: _TIFFMergeFields
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:468,1
    - Dst: TIFFArrayCount
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:468,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:470,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:476,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:479,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:482,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_OJPEG)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 519
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 519
    functionName: TIFFInitOJPEG
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFArrayCount
    - _TIFFMergeFields
    - TIFFErrorExtR
    - assert
    - TIFFSetField
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int TIFFInitOJPEG(TIFF *tif, int scheme)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:527,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:530,1
    - Dst: OJPEGSubsamplingCorrect
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:535,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:536,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:537,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:540,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:541,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:544,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:545,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:548,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:549,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:552,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:555,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 561
    functionName: OJPEGVGetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGSubsamplingCorrect
    - va_arg
    linkageType: ''
    returnType: int
    signature: int OJPEGVGetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:575,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:578,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:582,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:583,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:588,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:593,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:598,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:604,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:609,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:614,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:620,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:625,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:630,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:636,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:639,1
    - Dst: TIFFFieldWithTag
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:644,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:647,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 650
    functionName: OJPEGVSetField
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFFieldWithTag
    - va_arg
    - TIFFSetFieldBit
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGVSetField(TIFF *tif, uint32_t tag, va_list ap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:657,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:658,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:659,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:661,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:662,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:664,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:666,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:668,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:669,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:671,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:673,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:675,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:676,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:678,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:680,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:682,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:683,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:685,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:686,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:687,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:688,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 692
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 692
    functionName: OJPEGPrintDir
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFFieldSet
    - fprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGPrintDir(TIFF *tif, FILE *fd, long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: OJPEGFixupTags
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OJPEGFixupTags(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 708
    functionName: OJPEGSetupDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGSetupDecode(TIFF *tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGSubsamplingCorrect
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:715,1
    - Dst: OJPEGReadHeaderInfo
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:718,1
    - Dst: OJPEGReadSecondarySos
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:723,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:726,1
    - Dst: OJPEGLibjpegSessionAbort
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:734,1
    - Dst: OJPEGWriteHeaderInfo
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:754,1
    - Dst: OJPEGPreDecodeSkipRaw
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:764,1
    - Dst: OJPEGPreDecodeSkipScanlines
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:769,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 776
    functionName: OJPEGPreDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGLibjpegSessionAbort
    - OJPEGReadHeaderInfo
    - isTiled
    - OJPEGPreDecodeSkipScanlines
    - OJPEGWriteHeaderInfo
    - OJPEGPreDecodeSkipRaw
    - OJPEGSubsamplingCorrect
    - OJPEGReadSecondarySos
    linkageType: ''
    returnType: int
    signature: int OJPEGPreDecode(TIFF *tif, uint16_t s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_read_raw_data_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:798,1
    - Dst: jpeg_read_raw_data_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 813
    functionName: OJPEGPreDecodeSkipRaw
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_read_raw_data_encap
    linkageType: ''
    returnType: int
    signature: int OJPEGPreDecodeSkipRaw(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:822,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:825,1
    - Dst: jpeg_read_scanlines_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 836
    functionName: OJPEGPreDecodeSkipScanlines
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - _TIFFmallocExt
    - jpeg_read_scanlines_encap
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGPreDecodeSkipScanlines(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:845,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:846,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:852,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:860,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:866,1
    - Dst: OJPEGDecodeRaw
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:871,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:873,1
    - Dst: OJPEGDecodeScanlines
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:879,1
    - Dst: memset
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 886
    functionName: OJPEGDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - memset
    - OJPEGDecodeRaw
    - OJPEGDecodeScanlines
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGDecode(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:903,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:906,1
    - Dst: jpeg_read_raw_data_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: (cc > 0)
      pos:
        line_end: 905
        line_start: 905
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 950
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 950
    functionName: OJPEGDecodeRaw
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    - jpeg_read_raw_data_encap
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGDecodeRaw(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:960,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:963,1
    - Dst: jpeg_read_scanlines_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: (cc > 0)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 975
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 975
    functionName: OJPEGDecodeScanlines
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    - jpeg_read_scanlines_encap
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGDecodeScanlines(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:993,1
    - Dst: OJPEGLibjpegSessionAbort
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    assertStmts:
    - condition: (sp->libjpeg_session_active != 0)
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 997
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 997
    functionName: OJPEGPostDecode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGLibjpegSessionAbort
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGPostDecode(TIFF *tif, uint8_t *buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1006
    functionName: OJPEGSetupEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGSetupEncode(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1016
    functionName: OJPEGPreEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGPreEncode(TIFF *tif, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8_t*
    - tmsize_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1028
    functionName: OJPEGEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGEncode(TIFF *tif, uint8_t *buf, tmsize_t cc, uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: OJPEGPostEncode
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGPostEncode(TIFF *tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1048,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1050,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1052,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1054,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1056,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1058,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1060,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1062,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1064,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1066,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1068,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1070,1
    - Dst: OJPEGLibjpegSessionAbort
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1072,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1074,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1076,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1078,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1079,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1081,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1083
    functionName: OJPEGCleanup
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - OJPEGLibjpegSessionAbort
    - _TIFFfreeExt
    linkageType: ''
    returnType: void
    signature: void OJPEGCleanup(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1092,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1098,1
    - Dst: OJPEGReadHeaderInfoSec
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1111,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1122,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1130,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1141,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1149,1
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->subsamplingcorrect_done == 0)
      pos:
        line_end: 1091
        line_start: 1091
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1168
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1168
    functionName: OJPEGSubsamplingCorrect
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - TIFFWarningExtR
    - OJPEGReadHeaderInfoSec
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGSubsamplingCorrect(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1174,1
    - Dst: isTiled
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1177,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1205,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1225,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1230,1
    - Dst: OJPEGReadHeaderInfoSec
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->readheader_done == 0)
      pos:
        line_end: 1173
        line_start: 1173
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1251
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1251
    functionName: OJPEGReadHeaderInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - isTiled
    - TIFFErrorExtR
    - OJPEGReadHeaderInfoSec
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfo(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1257,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1258,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1259,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1260,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1279,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1285,1
    - Dst: OJPEGReadHeaderInfoSecStreamSos
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 1256
        line_start: 1256
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (s < 3)
      pos:
        line_end: 1257
        line_start: 1257
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (sp->sos_end[s].log == 0)
      pos:
        line_end: 1259
        line_start: 1259
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (sp->sos_end[0].log != 0)
      pos:
        line_end: 1258
        line_start: 1258
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1308
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1308
    functionName: OJPEGReadSecondarySos
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadHeaderInfoSecStreamSos
    - OJPEGReadByte
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadSecondarySos(TIFF *tif, uint16_t s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1321,1
    - Dst: jpeg_create_decompress_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1327,1
    - Dst: jpeg_read_header_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1343,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1356,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1357,1
    - Dst: _TIFFcallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1387,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1390,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1401,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1405,1
    - Dst: jpeg_start_decompress_encap
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1446,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1451,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 88
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->subsampling_convert_ycbcrbuf == 0)
      pos:
        line_end: 1355
        line_start: 1355
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (sp->subsampling_convert_ycbcrimage == 0)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1475
      start: 1310
    functionDepth: 3
    functionLinenumber: 1310
    functionLinenumberEnd: 1475
    functionName: OJPEGWriteHeaderInfo
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_create_decompress_encap
    - jpeg_start_decompress_encap
    - jpeg_read_header_encap
    - assert
    - _TIFFcallocExt
    - TIFFErrorExtR
    - jpeg_std_error
    - _TIFFmallocExt
    linkageType: ''
    returnType: int
    signature: int OJPEGWriteHeaderInfo(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1480,1
    - Dst: jpeg_destroy
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->libjpeg_session_active != 0)
      pos:
        line_end: 1479
        line_start: 1479
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1483
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1483
    functionName: OJPEGLibjpegSessionAbort
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 3
    functionsReached:
    - jpeg_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegSessionAbort(TIFF *tif)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1493,1
    - Dst: OJPEGReadBytePeek
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1520,1
    - Dst: OJPEGReadByteAdvance
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1524,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1527,1
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1554,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1559,1
    - Dst: OJPEGReadSkip
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1563,1
    - Dst: OJPEGReadHeaderInfoSecStreamDri
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1566,1
    - Dst: OJPEGReadHeaderInfoSecStreamDqt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1570,1
    - Dst: OJPEGReadHeaderInfoSecStreamDht
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1574,1
    - Dst: OJPEGReadHeaderInfoSecStreamSof
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1580,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1588,1
    - Dst: OJPEGReadHeaderInfoSecStreamSos
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1589,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1593,1
    - Dst: OJPEGReadHeaderInfoSecTablesQTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1602,1
    - Dst: OJPEGReadHeaderInfoSecTablesDcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1613,1
    - Dst: OJPEGReadHeaderInfoSecTablesAcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1615,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 111
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->plane_sample_offset == 0)
      pos:
        line_end: 1587
        line_start: 1587
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1621
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1621
    functionName: OJPEGReadHeaderInfoSec
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadSkip
    - OJPEGReadHeaderInfoSecTablesQTable
    - OJPEGReadHeaderInfoSecTablesDcTable
    - OJPEGReadHeaderInfoSecTablesAcTable
    - OJPEGReadBytePeek
    - OJPEGReadHeaderInfoSecStreamSos
    - OJPEGReadWord
    - TIFFErrorExtR
    - OJPEGReadHeaderInfoSecStreamDqt
    - assert
    - TIFFGetFileSize
    - OJPEGReadHeaderInfoSecStreamDri
    - OJPEGReadHeaderInfoSecStreamSof
    - OJPEGReadByteAdvance
    - OJPEGReadHeaderInfoSecStreamDht
    - OJPEGReadByte
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSec(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1630,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1634,1
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1641
    functionName: OJPEGReadHeaderInfoSecStreamDri
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadWord
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamDri(TIFF *tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1653,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1658,1
    - Dst: OJPEGReadSkip
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1662,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1670,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1674,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1677,1
    - Dst: OJPEGReadBlock
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1685,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1687,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1693,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1694,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1698,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1704
    functionName: OJPEGReadHeaderInfoSecStreamDqt
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadSkip
    - OJPEGReadBlock
    - OJPEGReadWord
    - TIFFErrorExtR
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamDqt(TIFF *tif)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1718,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1723,1
    - Dst: OJPEGReadSkip
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1728,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1733,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1736,1
    - Dst: OJPEGReadBlock
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1744,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1746,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1754,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1755,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1759,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1766,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1767,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1773,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1774,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1778,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1706
    functionDepth: 3
    functionLinenumber: 1706
    functionLinenumberEnd: 1783
    functionName: OJPEGReadHeaderInfoSecStreamDht
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadSkip
    - OJPEGReadBlock
    - OJPEGReadWord
    - TIFFErrorExtR
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamDht(TIFF *tif)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1798,1
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1804,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1809,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1816,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1824,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1831,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1836,1
    - Dst: OJPEGReadSkip
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1843,1
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1847,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1852,1
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1858,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1862,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1868,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1876,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1881,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1890,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1895,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1926,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1936,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1945,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 103
    argCount: 2
    argNames:
    - tif
    - marker_id
    argTypes:
    - TIFF*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1953
    functionName: OJPEGReadHeaderInfoSecStreamSof
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadSkip
    - OJPEGReadByte
    - OJPEGReadWord
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamSof(TIFF *tif, uint8_t marker_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1964,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1967,1
    - Dst: OJPEGReadWord
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1971,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1975,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1979,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1983,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1990,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:1994,1
    - Dst: OJPEGReadSkip
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2000,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->subsamplingcorrect == 0)
      pos:
        line_end: 1963
        line_start: 1963
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2002
      start: 1955
    functionDepth: 1
    functionLinenumber: 1955
    functionLinenumberEnd: 2002
    functionName: OJPEGReadHeaderInfoSecStreamSos
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadSkip
    - OJPEGReadWord
    - TIFFErrorExtR
    - assert
    - OJPEGReadByte
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamSos(TIFF *tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2015,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2028,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2033,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2036,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2045,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2046,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2049,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2053,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2061
    functionName: OJPEGReadHeaderInfoSecTablesQTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFReadFile
    - TIFFErrorExtR
    - TIFFSeekFile
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecTablesQTable(TIFF *tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2076,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2089,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2094,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2095,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2102,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2105,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2116,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2119,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2063
    functionDepth: 3
    functionLinenumber: 2063
    functionLinenumberEnd: 2131
    functionName: OJPEGReadHeaderInfoSecTablesDcTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFReadFile
    - TIFFErrorExtR
    - TIFFSeekFile
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecTablesDcTable(TIFF *tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2146,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2159,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2164,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2165,1
    - Dst: _TIFFmallocExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2172,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2175,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2186,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2189,1
    - Dst: _TIFFfreeExt
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2201
    functionName: OJPEGReadHeaderInfoSecTablesAcTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFReadFile
    - TIFFErrorExtR
    - TIFFSeekFile
    - _TIFFmallocExt
    - _TIFFfreeExt
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecTablesAcTable(TIFF *tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2216,1
    - Dst: TIFFReadFile
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2222,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2225,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2226,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2227,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2228,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2257,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2263,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 1
    argNames:
    - sp
    argTypes:
    - OJPEGState*
    assertStmts:
    - condition: (n < 65536)
      pos:
        line_end: 2226
        line_start: 2226
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (n <= OJPEG_BUFFER)
      pos:
        line_end: 2225
        line_start: 2225
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (n > 0)
      pos:
        line_end: 2224
        line_start: 2224
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: ((uint64_t)n <= sp->in_buffer_file_togo)
      pos:
        line_end: 2227
        line_start: 2227
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2294
      start: 2203
    functionDepth: 5
    functionLinenumber: 2203
    functionLinenumberEnd: 2294
    functionName: OJPEGReadBufferFill
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFGetStrileByteCountWithErr
    - TIFFGetStrileOffsetWithErr
    - assert
    - TIFFReadFile
    - TIFFSeekFile
    linkageType: ''
    returnType: int
    signature: int OJPEGReadBufferFill(OJPEGState *sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadBufferFill
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2300,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sp
    - byte
    argTypes:
    - OJPEGState*
    - uint8_t*
    assertStmts:
    - condition: (sp->in_buffer_togo > 0)
      pos:
        line_end: 2301
        line_start: 2301
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2308
      start: 2296
    functionDepth: 6
    functionLinenumber: 2296
    functionLinenumberEnd: 2308
    functionName: OJPEGReadByte
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 4
    functionsReached:
    - OJPEGReadBufferFill
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadByte(OJPEGState *sp, uint8_t *byte)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadBufferFill
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2314,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - byte
    argTypes:
    - OJPEGState*
    - uint8_t*
    assertStmts:
    - condition: (sp->in_buffer_togo > 0)
      pos:
        line_end: 2315
        line_start: 2315
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2320
      start: 2310
    functionDepth: 6
    functionLinenumber: 2310
    functionLinenumberEnd: 2320
    functionName: OJPEGReadBytePeek
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadBufferFill
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadBytePeek(OJPEGState *sp, uint8_t *byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sp
    argTypes:
    - OJPEGState*
    assertStmts:
    - condition: (sp->in_buffer_togo > 0)
      pos:
        line_end: 2323
        line_start: 2323
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2327
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2327
    functionName: OJPEGReadByteAdvance
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGReadByteAdvance(OJPEGState *sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2332,1
    - Dst: OJPEGReadByte
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - word
    argTypes:
    - OJPEGState*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2329
    functionDepth: 7
    functionLinenumber: 2329
    functionLinenumberEnd: 2339
    functionName: OJPEGReadWord
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 6
    functionsReached:
    - OJPEGReadByte
    linkageType: ''
    returnType: int
    signature: int OJPEGReadWord(OJPEGState *sp, uint16_t *word)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2346,1
    - Dst: OJPEGReadBufferFill
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2353,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2355,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - sp
    - len
    - mem
    argTypes:
    - OJPEGState*
    - uint16_t
    - void*
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 2345
        line_start: 2345
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (sp->in_buffer_togo > 0)
      pos:
        line_end: 2354
        line_start: 2354
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2367
      start: 2341
    functionDepth: 6
    functionLinenumber: 2341
    functionLinenumberEnd: 2367
    functionName: OJPEGReadBlock
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadBufferFill
    - _TIFFmemcpy
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadBlock(OJPEGState *sp, uint16_t len, void *mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - sp
    - len
    argTypes:
    - OJPEGState*
    - uint16_t
    assertStmts:
    - condition: (sp->in_buffer_togo == 0)
      pos:
        line_end: 2381
        line_start: 2381
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2396
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2396
    functionName: OJPEGReadSkip
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGReadSkip(OJPEGState *sp, uint16_t len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2404,1
    - Dst: OJPEGWriteStreamSoi
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2408,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2411,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2414,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2417,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2420,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2423,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2426,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2429,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2432,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2435,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2438,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2441,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2444,1
    - Dst: OJPEGWriteStreamDri
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2447,1
    - Dst: OJPEGWriteStreamSof
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2450,1
    - Dst: OJPEGWriteStreamSos
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2453,1
    - Dst: OJPEGWriteStreamCompressed
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2456,1
    - Dst: OJPEGWriteStreamRst
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2460,1
    - Dst: OJPEGWriteStreamEoi
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2463,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (sp->out_state <= ososEoi)
      pos:
        line_end: 2403
        line_start: 2403
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2468
      start: 2398
    functionDepth: 1
    functionLinenumber: 2398
    functionLinenumberEnd: 2468
    functionName: OJPEGWriteStream
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGWriteStreamAcTable
    - OJPEGWriteStreamSos
    - OJPEGWriteStreamRst
    - OJPEGWriteStreamEoi
    - OJPEGWriteStreamQTable
    - OJPEGWriteStreamSoi
    - assert
    - OJPEGWriteStreamDri
    - OJPEGWriteStreamSof
    - OJPEGWriteStreamDcTable
    - OJPEGWriteStreamCompressed
    linkageType: ''
    returnType: int
    signature: int OJPEGWriteStream(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (OJPEG_BUFFER >= 2)
      pos:
        line_end: 2472
        line_start: 2472
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2479
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2479
    functionName: OJPEGWriteStreamSoi
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamSoi(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - table_index
    - mem
    - len
    argTypes:
    - TIFF*
    - uint8_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2491
    functionName: OJPEGWriteStreamQTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OJPEGWriteStreamQTable(TIFF *tif, uint8_t table_index, void **mem,\n
      \                                  uint32_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - table_index
    - mem
    - len
    argTypes:
    - TIFF*
    - uint8_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2503
    functionName: OJPEGWriteStreamDcTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OJPEGWriteStreamDcTable(TIFF *tif, uint8_t table_index, void
      **mem,\n                                    uint32_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - table_index
    - mem
    - len
    argTypes:
    - TIFF*
    - uint8_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2515
    functionName: OJPEGWriteStreamAcTable
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OJPEGWriteStreamAcTable(TIFF *tif, uint8_t table_index, void
      **mem,\n                                    uint32_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (OJPEG_BUFFER >= 6)
      pos:
        line_end: 2519
        line_start: 2519
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2533
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2533
    functionName: OJPEGWriteStreamDri
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamDri(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2539,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (OJPEG_BUFFER >= 2 + 8 + sp->samples_per_pixel_per_plane * 3)
      pos:
        line_end: 2538
        line_start: 2538
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (255 >= 8 + sp->samples_per_pixel_per_plane * 3)
      pos:
        line_end: 2539
        line_start: 2539
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2570
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2570
    functionName: OJPEGWriteStreamSof
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamSof(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2576,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (OJPEG_BUFFER >= 2 + 6 + sp->samples_per_pixel_per_plane * 2)
      pos:
        line_end: 2575
        line_start: 2575
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    - condition: (255 >= 6 + sp->samples_per_pixel_per_plane * 2)
      pos:
        line_end: 2576
        line_start: 2576
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2602
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2602
    functionName: OJPEGWriteStreamSos
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamSos(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadBufferFill
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2609,1
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (sp->in_buffer_togo > 0)
      pos:
        line_end: 2610
        line_start: 2610
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2634
      start: 2604
    functionDepth: 6
    functionLinenumber: 2604
    functionLinenumberEnd: 2634
    functionName: OJPEGWriteStreamCompressed
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadBufferFill
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGWriteStreamCompressed(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (OJPEG_BUFFER >= 2)
      pos:
        line_end: 2638
        line_start: 2638
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2648
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2648
    functionName: OJPEGWriteStreamRst
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamRst(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32_t*
    assertStmts:
    - condition: (OJPEG_BUFFER >= 2)
      pos:
        line_end: 2652
        line_start: 2652
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2658
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2658
    functionName: OJPEGWriteStreamEoi
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamEoi(TIFF *tif, void **mem, uint32_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2664,1
    - Dst: jpeg_create_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - cinfo
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2671
    functionName: jpeg_create_decompress_encap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_create_decompress
    - SETJMP
    linkageType: ''
    returnType: int
    signature: "int jpeg_create_decompress_encap(OJPEGState *sp,\n                                        jpeg_decompress_struct
      *cinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2678,1
    - Dst: jpeg_read_header
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - cinfo
    - require_image
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2685
    functionName: jpeg_read_header_encap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - SETJMP
    - jpeg_read_header
    linkageType: ''
    returnType: int
    signature: "int jpeg_read_header_encap(OJPEGState *sp, jpeg_decompress_struct
      *cinfo,\n                                  uint8_t require_image)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2692,1
    - Dst: jpeg_start_decompress
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - cinfo
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2699
    functionName: jpeg_start_decompress_encap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - SETJMP
    - jpeg_start_decompress
    linkageType: ''
    returnType: int
    signature: "int jpeg_start_decompress_encap(OJPEGState *sp,\n                                       jpeg_decompress_struct
      *cinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2707,1
    - Dst: jpeg_read_scanlines
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sp
    - cinfo
    - scanlines
    - max_lines
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2714
    functionName: jpeg_read_scanlines_encap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - SETJMP
    - jpeg_read_scanlines
    linkageType: ''
    returnType: int
    signature: "int jpeg_read_scanlines_encap(OJPEGState *sp,\n                                     jpeg_decompress_struct
      *cinfo,\n                                     void *scanlines, uint32_t max_lines)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2722,1
    - Dst: jpeg_read_raw_data
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sp
    - cinfo
    - data
    - max_lines
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2729
    functionName: jpeg_read_raw_data_encap
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - jpeg_read_raw_data
    - SETJMP
    linkageType: ''
    returnType: int
    signature: "int jpeg_read_raw_data_encap(OJPEGState *sp,\n                                    jpeg_decompress_struct
      *cinfo, void *data,\n                                    uint32_t max_lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LONGJMP
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2737
    functionName: jpeg_encap_unwind
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - LONGJMP
    linkageType: ''
    returnType: void
    signature: void jpeg_encap_unwind(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_common_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2745
    functionName: OJPEGLibjpegJpegErrorMgrOutputMessage
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExtR
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegErrorMgrOutputMessage(jpeg_common_struct *cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2751,1
    - Dst: jpeg_encap_unwind
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_common_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2747
    functionDepth: 1
    functionLinenumber: 2747
    functionLinenumberEnd: 2753
    functionName: OJPEGLibjpegJpegErrorMgrErrorExit
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_encap_unwind
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegErrorMgrErrorExit(jpeg_common_struct *cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2758
    functionName: OJPEGLibjpegJpegSourceMgrInitSource
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegSourceMgrInitSource(jpeg_decompress_struct *cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGWriteStream
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2767,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2769,1
    - Dst: jpeg_encap_unwind
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2760
    functionDepth: 2
    functionLinenumber: 2760
    functionLinenumberEnd: 2775
    functionName: OJPEGLibjpegJpegSourceMgrFillInputBuffer
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGWriteStream
    - jpeg_encap_unwind
    - TIFFErrorExtR
    linkageType: ''
    returnType: boolean
    signature: boolean OJPEGLibjpegJpegSourceMgrFillInputBuffer(jpeg_decompress_struct
      *cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2783,1
    - Dst: jpeg_encap_unwind
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cinfo
    - num_bytes
    argTypes:
    - jpeg_decompress_struct*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2777
    functionDepth: 1
    functionLinenumber: 2777
    functionLinenumberEnd: 2785
    functionName: OJPEGLibjpegJpegSourceMgrSkipInputData
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_encap_unwind
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: "void OJPEGLibjpegJpegSourceMgrSkipInputData(jpeg_decompress_struct
      *cinfo,\n                                       long num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2797,1
    - Dst: jpeg_encap_unwind
      Src: /src/PROJ/libtiff/libtiff/tif_ojpeg.c:2798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cinfo
    - desired
    argTypes:
    - jpeg_decompress_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2791
    functionDepth: 1
    functionLinenumber: 2791
    functionLinenumberEnd: 2800
    functionName: OJPEGLibjpegJpegSourceMgrResyncToRestart
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_encap_unwind
    - TIFFErrorExtR
    linkageType: ''
    returnType: boolean
    signature: "boolean OJPEGLibjpegJpegSourceMgrResyncToRestart(jpeg_decompress_struct
      *cinfo,\n                                         int desired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2808
    functionName: OJPEGLibjpegJpegSourceMgrTermSource
    functionSourceFile: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegSourceMgrTermSource(jpeg_decompress_struct *cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFOpen
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:19,1
    - Dst: SetUpTIFFDirectory
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:23,1
    - Dst: WriteImage
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:24,1
    - Dst: XTIFFClose
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:26,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:27,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:30,1
    - Dst: XTIFFClose
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:32,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/maketif.c
    functionUses: 5
    functionsReached:
    - printf
    - WriteImage
    - XTIFFOpen
    - SetUpTIFFDirectory
    - XTIFFClose
    - exit
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:42,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:43,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:44,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:45,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:46,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:47,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:48,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:51,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:52,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: SetUpTIFFDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/maketif.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    linkageType: ''
    returnType: void
    signature: void SetUpTIFFDirectory(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:61,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:63,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/tags/maketif.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: WriteImage
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/maketif.c
    functionUses: 1
    functionsReached:
    - memset
    - TIFFWriteScanline
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void WriteImage(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xt
    - ','
    - pmember
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: PARENT
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARENT(xt, pmember)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tf
    - ','
    - pmember
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: TIFFMEMBER
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFMEMBER(tf, pmember)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: XTIFFDIR
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XTIFFDIR(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: N
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 174
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:41,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:46,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:53,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:59,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:61,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:67,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:69,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:70,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:73,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:76,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:78,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:81,1
    - Dst: _TIFFprintAsciiTag
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 85
    functionName: _XTIFFPrintDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - XTIFFDIR
    - _TIFFprintAsciiTag
    - TIFFFieldSet
    - PARENT
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _XTIFFPrintDirectory(TIFF *tif, FILE *fd, long flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:89,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:106,1
    - Dst: _TIFFsetDoubleArray
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:107,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:107,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:111,1
    - Dst: _TIFFsetString
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:114,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:114,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:118,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:131,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:131,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:132,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:135,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:135,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:138,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:141,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:142,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:143,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:146,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:147,1
    - Dst: va_end
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - ttag_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 150
    functionName: _XTIFFVSetField
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - va_end
    - XTIFFDIR
    - _TIFFsetDoubleArray
    - _TIFFsetString
    - TIFFSetFieldBit
    - _TIFFFieldWithTag
    - TIFFErrorExtR
    - TIFFMEMBER
    - va_arg
    - PARENT
    linkageType: ''
    returnType: int
    signature: int _XTIFFVSetField(TIFF *tif, ttag_t tag, va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:154,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:164,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:165,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:168,1
    - Dst: va_arg
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:171,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - ttag_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: _XTIFFVGetField
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - XTIFFDIR
    - va_arg
    - PARENT
    linkageType: ''
    returnType: int
    signature: int _XTIFFVGetField(TIFF *tif, ttag_t tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: CleanupField
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CleanupField(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:203,1
    - Dst: CleanupField
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xt
    argTypes:
    - xtiff*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: _XTIFFFreeDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - CleanupField
    linkageType: ''
    returnType: void
    signature: void _XTIFFFreeDirectory(xtiff *xt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:210,1
    - Dst: _TIFFMergeFieldInfo
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:214,1
    - Dst: N
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:214,1
    - Dst: _XTIFFFreeDirectory
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:221,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:222,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:226,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:226,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:227,1
    - Dst: PARENT
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:228,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:228,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 236
    functionName: _XTIFFLocalDefaultDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - N
    - _TIFFmemset
    - _TIFFMergeFieldInfo
    - XTIFFDIR
    - _XTIFFFreeDirectory
    - TIFFMEMBER
    - PARENT
    linkageType: ''
    returnType: void
    signature: void _XTIFFLocalDefaultDirectory(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:257,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:263,1
    - Dst: TIFFMEMBER
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:267,1
    - Dst: _XTIFFLocalDefaultDirectory
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 281
    functionName: _XTIFFDefaultDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFMEMBER
    - _XTIFFLocalDefaultDirectory
    - _TIFFmalloc
    linkageType: ''
    returnType: void
    signature: void _XTIFFDefaultDirectory(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetTagExtender
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: _XTIFFInitialize
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFSetTagExtender
    linkageType: ''
    returnType: void
    signature: void _XTIFFInitialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _XTIFFInitialize
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:306,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: XTIFFOpen
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFOpen
    - _XTIFFInitialize
    linkageType: ''
    returnType: TIFF
    signature: TIFF *XTIFFOpen(const char *name, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _XTIFFInitialize
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:316,1
    - Dst: TIFFFdOpen
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: XTIFFFdOpen
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - _XTIFFInitialize
    - TIFFFdOpen
    linkageType: ''
    returnType: TIFF
    signature: TIFF *XTIFFFdOpen(int fd, const char *name, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:325,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:328,1
    - Dst: _XTIFFFreeDirectory
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:331,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/tags/xtif_dir.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 9
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: XTIFFClose
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFClose
    - XTIFFDIR
    - _XTIFFFreeDirectory
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void XTIFFClose(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFOpen
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:18,1
    - Dst: TIFFPrintDirectory
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:25,1
    - Dst: XTIFFClose
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:26,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:27,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:30,1
    - Dst: XTIFFClose
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:32,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/tags/listtif.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 8
    functionDepth: 10
    functionLinenumber: 8
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/tags/listtif.c
    functionUses: 5
    functionsReached:
    - printf
    - XTIFFOpen
    - XTIFFClose
    - TIFFPrintDirectory
    - exit
    linkageType: ''
    returnType: void
    signature: void main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:87,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - n
    - what
    argTypes:
    - TIFF*
    - tsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: CheckMalloc
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 13
    functionsReached:
    - _TIFFmalloc
    - TIFFErrorExtR
    linkageType: ''
    returnType: char
    signature: char *CheckMalloc(TIFF *tif, tsize_t n, const char *what)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isMapped
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:134,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:136,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:138,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:142,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:144,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:149,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:150,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:154,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:156,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:163,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:171,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:176,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:179,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:180,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:186,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:191,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:195,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:198,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:213,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:214,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:228,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:240,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:272,1
    - Dst: CheckDirCount
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:286,1
    - Dst: TIFFFetchNormalSubTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:291,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:296,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:300,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 3
    argNames:
    - tif
    - pdir_offset
    - field_info
    argTypes:
    - TIFF*
    - toff_t
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 302
    functionName: TIFFReadPrivateDataSubDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - CheckDirCount
    - TIFFFetchNormalSubTag
    - _TIFFmemcpy
    - TIFFWarning
    - TIFFSwabArrayOfLong
    - TIFFErrorExtR
    - _TIFFfree
    - TIFFSwabArrayOfShort
    - isMapped
    - ReadOK
    - TIFFSwabShort
    - SeekOK
    - TIFFSwabLong
    - CheckMalloc
    linkageType: ''
    returnType: int
    signature: "int TIFFReadPrivateDataSubDirectory(TIFF *tif, toff_t pdir_offset,\n
      \                                   TIFFFieldInfo *field_info,\n                                    int
      (*setFieldFn)(TIFF *tif, ttag_t tag,\n                                                      ...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:312,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:314,1
    - Dst: TIFFGetFileSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:321,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:327,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:347,1
    - Dst: TIFFSetFieldBit
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:352,1
    - Dst: TIFFFieldSet
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - tif
    - dir
    - dircount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 355
    functionName: EstimateStripByteCounts
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - TIFFScanlineSize
    - TIFFDataWidth
    - TIFFSetFieldBit
    - _TIFFfree
    - TIFFGetFileSize
    - TIFFFieldSet
    - CheckMalloc
    linkageType: ''
    returnType: void
    signature: "void EstimateStripByteCounts(TIFF *tif, TIFFDirEntry *dir,\n                                    uint16_t
      dircount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - tagname
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: MissingRequired
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExtR
    linkageType: ''
    returnType: void
    signature: void MissingRequired(TIFF *tif, const char *tagname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:373,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - dir
    - count
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 381
    functionName: CheckDirCount
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 2
    functionsReached:
    - _TIFFFieldWithTag
    - TIFFWarning
    linkageType: ''
    returnType: int
    signature: int CheckDirCount(TIFF *tif, TIFFDirEntry *dir, uint32_t count)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:388,1
    - Dst: isMapped
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:391,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:393,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:395,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:402,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:410,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:415,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:419,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:422,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:428,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:429,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 431
    functionName: TIFFFetchData
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFDataWidth
    - TIFFErrorExtR
    - _TIFFFieldWithTag
    - TIFFSwabArrayOfShort
    - TIFFSwabArrayOfDouble
    - isMapped
    - ReadOK
    - SeekOK
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TIFFFetchData(TIFF *tif, TIFFDirEntry *dir, char *cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:442,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:443,1
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: TIFFFetchString
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    - TIFFSwabLong
    - _TIFFmemcpy
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TIFFFetchString(TIFF *tif, TIFFDirEntry *dir, char *cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:457,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - tif
    - dir
    - num
    - denom
    - rv
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 470
    functionName: cvtRational
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - _TIFFFieldWithTag
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: "int cvtRational(TIFF *tif, TIFFDirEntry *dir, uint32_t num,\n                       uint32_t
      denom, float *rv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:482,1
    - Dst: cvtRational
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: TIFFFetchRational
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - cvtRational
    - TIFFFetchData
    linkageType: ''
    returnType: float
    signature: float TIFFFetchRational(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFExtractData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:499,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:500,1
    - Dst: TIFFExtractData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:509,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 514
    functionName: TIFFFetchFloat
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFExtractData
    - TIFFCvtIEEEFloatToNative
    linkageType: ''
    returnType: float
    signature: float TIFFFetchFloat(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 558
    functionName: TIFFFetchByteArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchByteArray(TIFF *tif, TIFFDirEntry *dir, uint16_t *v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 591
    functionName: TIFFFetchShortArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchShortArray(TIFF *tif, TIFFDirEntry *dir, uint16_t *v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:605,1
    - Dst: TIFFFetchByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:609,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 615
    functionName: TIFFFetchShortPair
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - TIFFFetchShortArray
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchShortPair(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: TIFFFetchLongArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchLongArray(TIFF *tif, TIFFDirEntry *dir, uint32_t *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:639,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:640,1
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:644,1
    - Dst: cvtRational
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:649,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 657
    functionName: TIFFFetchRationalArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFDataWidth
    - cvtRational
    - _TIFFfree
    - TIFFFetchData
    - CheckMalloc
    linkageType: ''
    returnType: int
    signature: int TIFFFetchRationalArray(TIFF *tif, TIFFDirEntry *dir, float *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:668,1
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:671,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 678
    functionName: TIFFFetchFloatArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFCvtIEEEFloatToNative
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchFloatArray(TIFF *tif, TIFFDirEntry *dir, float *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:685,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: TIFFFetchDoubleArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFCvtIEEEDoubleToNative
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchDoubleArray(TIFF *tif, TIFFDirEntry *dir, double *v)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:713,1
    - Dst: TIFFFetchShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:730,1
    - Dst: TIFFFetchLongArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:747,1
    - Dst: TIFFFetchRationalArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:764,1
    - Dst: TIFFFetchFloatArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:773,1
    - Dst: TIFFFetchDoubleArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:782,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:787,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:789,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 793
    functionName: TIFFFetchAnyArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchFloatArray
    - TIFFFetchDoubleArray
    - TIFFFetchShortArray
    - TIFFErrorExtR
    - _TIFFFieldWithTag
    - TIFFFetchLongArray
    - TIFFFetchRationalArray
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchAnyArray(TIFF *tif, TIFFDirEntry *dir, double *v)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:817,1
    - Dst: TIFFFetchByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:818,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:822,1
    - Dst: TIFFFetchShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:823,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:827,1
    - Dst: TIFFFetchLongArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:828,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:832,1
    - Dst: TIFFFetchRationalArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:833,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:836,1
    - Dst: TIFFFetchFloatArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:837,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:840,1
    - Dst: TIFFFetchDoubleArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:841,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:849,1
    - Dst: TIFFFetchString
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:850,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:861,1
    - Dst: CheckDirCount
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:863,1
    - Dst: TIFFExtractData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:888,1
    - Dst: TIFFExtractData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:901,1
    - Dst: TIFFFetchFloat
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:912,1
    - Dst: TIFFFetchRational
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:913,1
    - Dst: TIFFFetchDoubleArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:922,1
    - Dst: TIFFFetchString
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:932,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 3
    argNames:
    - tif
    - dp
    - fip
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 942
    functionName: TIFFFetchNormalSubTag
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - CheckDirCount
    - TIFFFetchRational
    - TIFFFetchFloat
    - TIFFFetchFloatArray
    - TIFFFetchDoubleArray
    - TIFFFetchShortArray
    - _TIFFfree
    - TIFFFetchString
    - TIFFExtractData
    - TIFFFetchLongArray
    - CheckMalloc
    - TIFFFetchRationalArray
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFFetchNormalSubTag(TIFF *tif, TIFFDirEntry *dp,\n                                 const
      TIFFFieldInfo *fip,\n                                 int (*setFieldFn)(TIFF
      *tif, ttag_t tag, ...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 949
    functionName: NITEMS
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NITEMS(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckDirCount
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:959,1
    - Dst: NITEMS
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:964,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:965,1
    - Dst: TIFFFetchShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:966,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:972,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:976,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - dir
    - pl
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 987
    functionName: TIFFFetchPerSampleShorts
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - CheckDirCount
    - TIFFFetchShortArray
    - TIFFErrorExtR
    - _TIFFFieldWithTag
    - _TIFFfree
    - _TIFFmalloc
    - NITEMS
    linkageType: ''
    returnType: int
    signature: int TIFFFetchPerSampleShorts(TIFF *tif, TIFFDirEntry *dir, int *pl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckDirCount
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:999,1
    - Dst: NITEMS
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1004,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1005,1
    - Dst: TIFFFetchAnyArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1006,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1012,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1016,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - dir
    - pl
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 994
    functionDepth: 4
    functionLinenumber: 994
    functionLinenumberEnd: 1027
    functionName: TIFFFetchPerSampleAnys
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - CheckDirCount
    - TIFFErrorExtR
    - _TIFFFieldWithTag
    - _TIFFfree
    - _TIFFmalloc
    - NITEMS
    - TIFFFetchAnyArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchPerSampleAnys(TIFF *tif, TIFFDirEntry *dir, double *pl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckDirCount
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1041,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1047,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1056,1
    - Dst: TIFFFetchShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1060,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1066,1
    - Dst: TIFFFetchLongArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1069,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - dir
    - nstrips
    - lpp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - long
    - uint32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1071
    functionName: TIFFFetchStripThing
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 2
    functionsReached:
    - CheckDirCount
    - TIFFFetchShortArray
    - _TIFFfree
    - TIFFFetchLongArray
    - CheckMalloc
    linkageType: ''
    returnType: int
    signature: "int TIFFFetchStripThing(TIFF *tif, TIFFDirEntry *dir, long nstrips,\n
      \                              uint32_t **lpp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1074
    functionName: NITEMS
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NITEMS(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NITEMS
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1083,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1084,1
    - Dst: TIFFFetchByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1086,1
    - Dst: TIFFFetchShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1088,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1090,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1094
    functionName: TIFFFetchExtraSamples
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchShortArray
    - _TIFFfree
    - _TIFFmalloc
    - TIFFSetField
    - NITEMS
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchExtraSamples(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1112,1
    - Dst: TIFFFetchLongArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1113,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1116,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1122,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1123,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1129
    functionName: TIFFFetchRefBlackWhite
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - TIFFFetchLongArray
    - TIFFSetField
    - CheckMalloc
    linkageType: ''
    returnType: int
    signature: int TIFFFetchRefBlackWhite(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVTileSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1145,1
    - Dst: TIFFhowmany
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1167,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1169,1
    - Dst: CheckMalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1171,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1180,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1182,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1203,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1205,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c:1206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1209
    functionName: ChopUpSingleUncompressedStrip
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - TIFFhowmany
    - _TIFFfree
    - TIFFSetField
    - TIFFVTileSize
    - CheckMalloc
    linkageType: ''
    returnType: void
    signature: void ChopUpSingleUncompressedStrip(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: isCCITTCompression
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 2
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int isCCITTCompression(TIFF *tif)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:78,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:80,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:81,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:92,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:93,1
    - Dst: isCCITTCompression
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:98,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:107,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:114,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:117,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:117,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:136,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:143,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:149,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:157,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:165,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:168,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:175,1
    - Dst: sprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:183,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:187,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:188,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:190,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:196,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:196,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:205,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:205,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:216,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:220,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 101
    argCount: 4
    argNames:
    - img
    - tif
    - stop
    - emsg
    argTypes:
    - TIFFImageIter*
    - TIFF*
    - int
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 223
    functionName: TIFFImageIterBegin
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - isCCITTCompression
    - TIFFWarning
    - TIFFGetFieldDefaulted
    - TIFFIsTiled
    - TIFFErrorExtR
    - TIFFSetField
    - TIFFFileName
    - TIFFGetField
    - sprintf
    linkageType: ''
    returnType: int
    signature: int TIFFImageIterBegin(TIFFImageIter *img, TIFF *tif, int stop, char
      emsg[1024])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:229,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:229,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:235,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: TIFFImageIterGet
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFErrorExtR
    linkageType: ''
    returnType: int
    signature: int TIFFImageIterGet(TIFFImageIter *img, void *udata, uint32_t w, uint32_t
      h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFImageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: TIFFImageIterEnd
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFImageIterEnd(TIFFImageIter *img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFImageIterBegin
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:257,1
    - Dst: TIFFImageIterGet
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:260,1
    - Dst: TIFFImageIterEnd
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:261,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:265,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tif
    - rwidth
    - rheight
    - raster
    - stop
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: TIFFReadImageIter
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFImageIterEnd
    - TIFFImageIterGet
    - TIFFErrorExtR
    - TIFFImageIterBegin
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: "int TIFFReadImageIter(TIFF *tif, uint32_t rwidth, uint32_t rheight,\n
      \                     uint8_t *raster, int stop)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:288,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:288,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:291,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:291,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:294,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:295,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:302,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 322
    functionName: gtTileContig
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - TIFFErrorExtR
    - TIFFReadTile
    - _TIFFfree
    - _TIFFmalloc
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int gtTileContig(TIFFImageIter *img, void *udata, uint32_t w, uint32_t
      h)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:348,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:349,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:352,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:352,1
    - Dst: memset
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:360,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:361,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:362,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:369,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:371,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:373,1
    - Dst: TIFFReadTile
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:375,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:395,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 397
    functionName: gtTileSeparate
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - TIFFErrorExtR
    - TIFFReadTile
    - memset
    - _TIFFfree
    - _TIFFmalloc
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: "int gtTileSeparate(TIFFImageIter *img, void *udata, uint32_t w,\n
      \                         uint32_t h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:418,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:418,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:421,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:421,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:425,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:426,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:431,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:431,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 439
    functionName: gtStripContig
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - TIFFScanlineSize
    - TIFFErrorExtR
    - _TIFFfree
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFFileName
    - TIFFComputeStrip
    linkageType: ''
    returnType: int
    signature: "int gtStripContig(TIFFImageIter *img, void *udata, uint32_t w,\n                         uint32_t
      h)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:463,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:464,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:467,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:467,1
    - Dst: memset
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:474,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:476,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:477,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:482,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:482,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:486,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:486,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:490,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:490,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:494,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:494,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:500,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 502
    functionName: gtStripSeparate
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - TIFFScanlineSize
    - TIFFErrorExtR
    - memset
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFFileName
    - _TIFFfree
    - TIFFComputeStrip
    linkageType: ''
    returnType: int
    signature: "int gtStripSeparate(TIFFImageIter *img, void *udata, uint32_t w,\n
      \                          uint32_t h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: DECLAREContigCallbackFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void DECLAREContigCallbackFunc(TestContigCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: DECLARESepCallbackFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void DECLARESepCallbackFunc(TestSepCallback)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:535,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:536,1
    - Dst: PLIGetImage
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:538,1
    - Dst: TIFFImageIterBegin
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:544,1
    - Dst: TIFFImageIterGet
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:555,1
    - Dst: TIFFImageIterEnd
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:556,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:560,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 563
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
    functionUses: 5
    functionsReached:
    - TIFFImageIterEnd
    - TIFFImageIterGet
    - TIFFErrorExtR
    - TIFFImageIterBegin
    - PLIGetImage
    - TIFFFileName
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - tag1
    - ','
    - v1
    - ','
    - tag2
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: WriteRationalPair
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WriteRationalPair(type, tag1, v1, tag2, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tif
    - ','
    - type
    - ','
    - tag
    - ','
    - dir
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: TIFFWriteRational
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteRational(tif, type, tag, dir, v)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:162,1
    - Dst: FieldSet
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:171,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:176,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:179,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:189,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:195,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:219,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:220,1
    - Dst: FieldSet
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:232,1
    - Dst: TIFFWriteNormalSubTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:234,1
    - Dst: ResetFieldBit
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:237,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:265,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:266,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:269,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:270,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:273,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:274,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:276,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:280,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:282,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:286,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:288,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:294,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:295,1
    - Dst: TIFFDefaultDirectory
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:307,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:315,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:316,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 4
    argNames:
    - tif
    - pdir_fieldsset
    - pdir_fields_last
    - field_info
    argTypes:
    - TIFF*
    - uint32_t[]
    - int
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 318
    functionName: TIFFWritePrivateDataSubDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - FieldSet
    - TIFFDefaultDirectory
    - _TIFFmemcpy
    - ResetFieldBit
    - TIFFFlushData
    - TIFFWriteNormalSubTag
    - TIFFErrorExtR
    - TIFFSeekFile
    - TIFFSwabArrayOfShort
    - _TIFFmalloc
    - _TIFFfree
    - WriteOK
    - TIFFSwabShort
    - TIFFSwabLong
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: toff_t
    signature: "toff_t TIFFWritePrivateDataSubDirectory(\n    TIFF *tif, uint32_t
      pdir_fieldsset[], int pdir_fields_last,\n    TIFFFieldInfo *field_info, int
      (*getFieldFn)(TIFF *tif, ttag_t tag, ...))"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:351,1
    - Dst: TIFFInsertData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:358,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:373,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:394,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:401,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:416,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:423,1
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:456,1
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:457,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:471,1
    - Dst: WRITEF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:478,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:487,1
    - Dst: TIFFWriteByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:488,1
    - Dst: TIFFWriteByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:502,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 3
    argNames:
    - tif
    - dir
    - fip
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 508
    functionName: TIFFWriteNormalSubTag
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteData
    - TIFFInsertData
    - WRITEF
    - strlen
    - TIFFCvtNativeToIEEEDouble
    - TIFFWriteByteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteNormalSubTag(TIFF *tif, TIFFDirEntry *dir,\n                                 const
      TIFFFieldInfo *fip,\n                                 int (*getFieldFn)(TIFF
      *tif, ttag_t tag, ...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: WRITEF
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITEF(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFInsertData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - tag
    - dir
    - v
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 534
    functionName: TIFFSetupShortLong
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFInsertData
    linkageType: ''
    returnType: void
    signature: "void TIFFSetupShortLong(TIFF *tif, ttag_t tag, TIFFDirEntry *dir,\n
      \                              uint32_t v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteRationalArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - type
    - tag
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: TIFFWriteRational
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteRationalArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteRational(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                            TIFFDirEntry *dir, float v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: NITEMS
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NITEMS(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NITEMS
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:562,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:563,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:564,1
    - Dst: TIFFWriteShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:567,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - tag
    - dir
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 571
    functionName: TIFFWritePerSampleShorts
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFmalloc
    - TIFFWriteShortArray
    - TIFFGetField
    - NITEMS
    linkageType: ''
    returnType: int
    signature: int TIFFWritePerSampleShorts(TIFF *tif, ttag_t tag, TIFFDirEntry *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NITEMS
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:586,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:587,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:588,1
    - Dst: TIFFWriteAnyArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:591,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - type
    - tag
    - dir
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 595
    functionName: TIFFWritePerSampleAnys
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteAnyArray
    - _TIFFfree
    - _TIFFmalloc
    - TIFFGetField
    - NITEMS
    linkageType: ''
    returnType: int
    signature: "int TIFFWritePerSampleAnys(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                                 TIFFDirEntry *dir)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:606,1
    - Dst: TIFFWriteShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tif
    - tag
    - dir
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: TIFFSetupShortPair
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFWriteShortArray
    linkageType: ''
    returnType: int
    signature: int TIFFSetupShortPair(TIFF *tif, ttag_t tag, TIFFDirEntry *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tif
    - tag
    - dir
    - n
    - table
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - uint16_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 631
    functionName: TIFFWriteShortTable
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteShortTable(TIFF *tif, ttag_t tag, TIFFDirEntry *dir,\n
      \                              uint32_t n, uint16_t **table)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:640,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: TIFFWriteByteArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: int TIFFWriteByteArray(TIFF *tif, TIFFDirEntry *dir, char *cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 676
    functionName: TIFFWriteShortArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteShortArray(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                              TIFFDirEntry *dir, uint32_t n, uint16_t *v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 695
    functionName: TIFFWriteLongArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteLongArray(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                             TIFFDirEntry *dir, uint32_t n, uint32_t *v)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:711,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:722,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:725,1
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:740,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 743
    functionName: TIFFWriteRationalArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteData
    - TIFFWarning
    - _TIFFFieldWithTag
    - _TIFFfree
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteRationalArray(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                                 TIFFDirEntry *dir, uint32_t n, float *v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCvtNativeToIEEEFloat
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:751,1
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 759
    functionName: TIFFWriteFloatArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFCvtNativeToIEEEFloat
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteFloatArray(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                              TIFFDirEntry *dir, uint32_t n, float *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:767,1
    - Dst: TIFFWriteData
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: TIFFWriteDoubleArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteData
    - TIFFCvtNativeToIEEEDouble
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDoubleArray(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                               TIFFDirEntry *dir, uint32_t n, double *v)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:787,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:788,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:788,1
    - Dst: TIFFWriteByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:799,1
    - Dst: TIFFWriteByteArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:811,1
    - Dst: TIFFWriteShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:820,1
    - Dst: TIFFWriteShortArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:829,1
    - Dst: TIFFWriteLongArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:838,1
    - Dst: TIFFWriteLongArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:847,1
    - Dst: TIFFWriteFloatArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:856,1
    - Dst: TIFFWriteDoubleArray
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:861,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:873,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 78
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 875
    functionName: TIFFWriteAnyArray
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteLongArray
    - TIFFDataWidth
    - _TIFFfree
    - TIFFWriteDoubleArray
    - _TIFFmalloc
    - TIFFWriteFloatArray
    - TIFFWriteByteArray
    - TIFFWriteShortArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteAnyArray(TIFF *tif, TIFFDataType type, ttag_t tag,\n
      \                            TIFFDirEntry *dir, uint32_t n, double *v)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:894,1
    - Dst: _TIFFmemcmp
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:900,1
    - Dst: TIFFWriteShortTable
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 910
    functionName: TIFFWriteTransferFunction
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcmp
    - TIFFWriteShortTable
    linkageType: ''
    returnType: int
    signature: int TIFFWriteTransferFunction(TIFF *tif, TIFFDirEntry *dir)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:926,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:931,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:935,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:938,1
    - Dst: TIFFDataWidth
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:943,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:944,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:944,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:949,1
    - Dst: _TIFFFieldWithTag
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 952
    functionName: TIFFWriteData
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 8
    functionsReached:
    - TIFFDataWidth
    - TIFFErrorExtR
    - _TIFFFieldWithTag
    - TIFFSwabArrayOfDouble
    - TIFFSwabArrayOfShort
    - WriteOK
    - SeekOK
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: int
    signature: int TIFFWriteData(TIFF *tif, TIFFDirEntry *dir, char *cp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:964,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:967,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:971,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:972,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:974,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:998,1
    - Dst: HDROFF
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:998,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:999,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1001,1
    - Dst: SeekOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1014,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1014,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1016,1
    - Dst: TIFFSwabShort
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1020,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1021,1
    - Dst: ReadOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1022,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1024,1
    - Dst: TIFFSwabLong
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1028,1
    - Dst: TIFFSeekFile
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1030,1
    - Dst: WriteOK
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1031,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c:1033,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 1037
    functionName: TIFFLinkDirectory
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExtR
    - TIFFSeekFile
    - ReadOK
    - WriteOK
    - TIFFSwabShort
    - HDROFF
    - SeekOK
    - TIFFSwabLong
    linkageType: ''
    returnType: int
    signature: int TIFFLinkDirectory(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 998
    functionName: HDROFF
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDROFF(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: DECLAREContigCallbackFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREContigCallbackFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: DECLARESepCallbackFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARESepCallbackFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: __TIFFSafeMultiply
    functionSourceFile: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __TIFFSafeMultiply(t, v, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unused
    - unused2
    - unused3
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: handle_error
    functionSourceFile: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void handle_error(const char *unused, const char *unused2,\n                             va_list
      unused3)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:50,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:51,1
    - Dst: __has_feature
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:54,1
    - Dst: setenv
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:58,1
    - Dst: std::string
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:61,1
    - Dst: TIFFStreamOpen
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:62,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:70,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:71,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:73,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:75,1
    - Dst: TIFFTileSize64
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:78,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:83,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:87,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:92,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:93,1
    - Dst: __TIFFSafeMultiply
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:94,1
    - Dst: __TIFFSafeMultiply
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:95,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:99,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:107,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:108,1
    - Dst: __TIFFSafeMultiply
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:109,1
    - Dst: __TIFFSafeMultiply
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:110,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:114,1
    - Dst: __TIFFSafeMultiply
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:119,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:123,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:127,1
    - Dst: TIFFReadRGBAImage
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:131,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:133,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:136,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:137,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:140,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:148,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:150,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:155,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:158,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 47
    functionDepth: 9
    functionLinenumber: 47
    functionLinenumberEnd: 163
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
    functionUses: 1
    functionsReached:
    - TIFFIsTiled
    - TIFFClose
    - __TIFFSafeMultiply
    - TIFFTileSize64
    - TIFFStreamOpen
    - TIFFStripSize
    - TIFFScanlineSize
    - TIFFReadScanline
    - TIFFSetErrorHandler
    - _TIFFfree
    - __has_feature
    - TIFFSetWarningHandler
    - _TIFFmalloc
    - std::string
    - setenv
    - TIFFGetField
    - fprintf
    - TIFFReadRGBAImage
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: CPL_IGNORE_RET_VAL
    functionSourceFile: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPL_IGNORE_RET_VAL(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:171,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: Usage
    functionSourceFile: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
    functionUses: 9
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Usage(int, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:185,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:187,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:190,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:193,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:195,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:197,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:201,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:202,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:211,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:212,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:214,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:217,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:218,1
    - Dst: fseek
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:220,1
    - Dst: ftell
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:221,1
    - Dst: fseek
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:222,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:223,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:226,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:227,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:228,1
    - Dst: CPL_IGNORE_RET_VAL
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:230,1
    - Dst: fread
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:230,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:231,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:234,1
    - Dst: static_cast<const uint8_t *>
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:234,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 240
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
    functionUses: 5
    functionsReached:
    - free
    - ftell
    - strcmp
    - fopen
    - LLVMFuzzerTestOneInput
    - Usage
    - fclose
    - CPL_IGNORE_RET_VAL
    - fseek
    - exit
    - fread
    - malloc
    - atoi
    - fprintf
    - static_cast<const uint8_t *>
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:41,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:45,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:47,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:51,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:52,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:53,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:54,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:55,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:56,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:57,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:58,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:59,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:61,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:70,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:79,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:81,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 33
    functionDepth: 9
    functionLinenumber: 33
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c
    functionUses: 5
    functionsReached:
    - free
    - TIFFWriteScanline
    - TIFFClose
    - TIFFSetField
    - malloc
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SCALE
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:49,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:51,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:52,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:54,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:75,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:86,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:87,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:88,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:98,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:100,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:102,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:104,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:106,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:108,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:110,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:115,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:117,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:119,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:121,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:123,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:125,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:127,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:130,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:132,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:134,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:136,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:140,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:145,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:150,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:152,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:153,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:154,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:157,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:158,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:160,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:162,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:164,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:165,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:172,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:173,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:174,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:175,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:176,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:177,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:178,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:179,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:180,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:181,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:182,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:183,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:184,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:185,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:186,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:187,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:188,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:189,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:190,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:191,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:192,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:193,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:194,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:195,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:198,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:203,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:208,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:209,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:210,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:211,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:218,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:219,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:220,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:224,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:226,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:227,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:228,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:229,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:233,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:234,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:235,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:236,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:237,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:238,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:239,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:240,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:241,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:242,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:244,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:274,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:277,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:278,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 198
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 38
    functionDepth: 9
    functionLinenumber: 38
    functionLinenumberEnd: 280
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c
    functionUses: 5
    functionsReached:
    - free
    - TIFFWriteScanline
    - strcmp
    - TIFFClose
    - SCALE
    - TIFFSetField
    - Usage
    - malloc
    - TIFFOpen
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:284,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: Usage
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c
    functionUses: 11
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ROUND
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:60,1
    - Dst: atof
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:62,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:66,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:69,1
    - Dst: ROUND
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:78,1
    - Dst: pow
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:78,1
    - Dst: ROUND
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:79,1
    - Dst: pow
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:79,1
    - Dst: ROUND
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:80,1
    - Dst: pow
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:80,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:90,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:92,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:93,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:96,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:97,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:98,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:99,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:101,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:102,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:103,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:104,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:106,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:107,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:109,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:110,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:112,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:158,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:204,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:207,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:208,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:209,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 41
    functionDepth: 9
    functionLinenumber: 41
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
    functionUses: 5
    functionsReached:
    - free
    - atof
    - TIFFWriteScanline
    - strcmp
    - TIFFClose
    - TIFFSetField
    - Usage
    - malloc
    - exit
    - TIFFOpen
    - ROUND
    - fprintf
    - pow
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:214,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Usage
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
    functionUses: 12
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:51,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:53,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:54,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:56,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:73,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:77,1
    - Dst: log10
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:81,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:86,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:88,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:89,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:93,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:94,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:95,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:96,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:97,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:98,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:99,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:101,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:102,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:103,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:105,1
    - Dst: TIFFWriteScanline
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:130,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:133,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:134,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 39
    functionDepth: 9
    functionLinenumber: 39
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c
    functionUses: 5
    functionsReached:
    - free
    - TIFFWriteScanline
    - strcmp
    - TIFFClose
    - TIFFSetField
    - log10
    - Usage
    - malloc
    - TIFFOpen
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:140,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: Usage
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c
    functionUses: 13
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: ROUND
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: SCALE
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: MCHECK
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCHECK(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: MIN
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: MAX
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: PP
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: PP
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP(args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:246,1
    - Dst: setbuf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:247,1
    - Dst: XtInitialize
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:249,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:250,1
    - Dst: XSetErrorHandler
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:252,1
    - Dst: XtGetApplicationResources
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:254,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:256,1
    - Dst: Usage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:259,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:263,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:264,1
    - Dst: XtDisplay
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:269,1
    - Dst: DefaultScreen
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:270,1
    - Dst: OpenTIFFFile
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:272,1
    - Dst: GetTIFFHeader
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:273,1
    - Dst: SimpleGammaCorrection
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:274,1
    - Dst: GetVisual
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:275,1
    - Dst: GetTIFFImage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:276,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:282,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:283,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:284,1
    - Dst: DefaultDepth
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:285,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:286,1
    - Dst: XCreateBitmapFromData
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:287,1
    - Dst: RootWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:287,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:290,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:291,1
    - Dst: XtCreateManagedWidget
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:296,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:297,1
    - Dst: XtCreateWidget
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:299,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:300,1
    - Dst: XtCreateWidget
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:302,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:303,1
    - Dst: XtCreateWidget
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:305,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:306,1
    - Dst: XtManageChildren
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:308,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:308,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:315,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:316,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:320,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:321,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:324,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:325,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:326,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:331,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:332,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:333,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:334,1
    - Dst: SetNameLabel
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:336,1
    - Dst: XtAddCallback
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:338,1
    - Dst: XtAddActions
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:341,1
    - Dst: XtNumber
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:341,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:342,1
    - Dst: XtParseTranslationTable
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:343,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:344,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:345,1
    - Dst: XtAddEventHandler
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:351,1
    - Dst: XtRealizeWidget
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:356,1
    - Dst: XCreateFontCursor
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:358,1
    - Dst: XChangeWindowAttributes
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:359,1
    - Dst: XtWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:359,1
    - Dst: CreateXImage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:362,1
    - Dst: XtMainLoop
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 367
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 5
    functionsReached:
    - DefaultScreen
    - DefaultDepth
    - setbuf
    - XtNumber
    - GetVisual
    - XtInitialize
    - XtManageChildren
    - XCreateFontCursor
    - XtSetValues
    - TIFFSetWarningHandler
    - RootWindow
    - XtGetApplicationResources
    - XCreateBitmapFromData
    - XSetErrorHandler
    - XtAddActions
    - GetTIFFHeader
    - XChangeWindowAttributes
    - SimpleGammaCorrection
    - TIFFSetErrorHandler
    - Usage
    - OpenTIFFFile
    - XtCreateManagedWidget
    - XtParseTranslationTable
    - XtMainLoop
    - GetTIFFImage
    - XtCreateWidget
    - CreateXImage
    - XtAddCallback
    - SetNameLabel
    - XtWindow
    - XtAddEventHandler
    - XtRealizeWidget
    - XtSetArg
    - XtDisplay
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:372,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:374,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:376,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:378,1
    - Dst: TIFFLastDirectory
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 9
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: OpenTIFFFile
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - TIFFClose
    - TIFFLastDirectory
    - exit
    - TIFFOpen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void OpenTIFFFile()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:388,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:390,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:392,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:395,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:396,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:401,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:402,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:403,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:404,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:411,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:412,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:413,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:414,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:415,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:416,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:422,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:429,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:445,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:446,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:447,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:448,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:449,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:450,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:453,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:456,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:459,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:460,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:461,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:462,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:463,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:464,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:467,1
    - Dst: CheckAndCorrectColormap
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:471,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:481,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:482,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:483,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:484,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:485,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:486,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:489,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:492,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:493,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:494,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:495,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:496,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:497,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:500,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:503,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:506,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 508
    functionName: GetTIFFHeader
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - CheckAndCorrectColormap
    - TIFFGetFieldDefaulted
    - TIFFSetDirectory
    - SCALE
    - MCHECK
    - malloc
    - exit
    - TIFFGetField
    - fprintf
    linkageType: ''
    returnType: void
    signature: void GetTIFFHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:516,1
    - Dst: snprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:518,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:519,1
    - Dst: XtSetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 521
    functionName: SetNameLabel
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - XtSetValues
    - snprintf
    - XtSetArg
    linkageType: ''
    returnType: void
    signature: void SetNameLabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:537,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:538,1
    - Dst: SCALE
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:539,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 542
    functionName: CheckAndCorrectColormap
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - SCALE
    - TIFFWarning
    linkageType: ''
    returnType: void
    signature: void CheckAndCorrectColormap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:558,1
    - Dst: pow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:558,1
    - Dst: ROUND
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:559,1
    - Dst: pow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:559,1
    - Dst: ROUND
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:560,1
    - Dst: pow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:560,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:564,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:565,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 567
    functionName: SimpleGammaCorrection
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - free
    - ROUND
    - pow
    linkageType: ''
    returnType: void
    signature: void SimpleGammaCorrection()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SearchVisualList
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:590,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:592,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:594,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:597,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:598,1
    - Dst: XCreateColormap
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:609,1
    - Dst: RootWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:609,1
    - Dst: XStoreColors
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:611,1
    - Dst: SearchVisualList
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:625,1
    - Dst: SearchVisualList
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:629,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:633,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:635,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:638,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:639,1
    - Dst: XCreateColormap
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:660,1
    - Dst: RootWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:661,1
    - Dst: XCreateColormap
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:665,1
    - Dst: RootWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:665,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:667,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:669,1
    - Dst: XAllocColorCells
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:670,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:673,1
    - Dst: XStoreColors
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:675,1
    - Dst: DefaultVisual
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:679,1
    - Dst: DefaultColormap
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:680,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:683,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:685,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:689,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:693,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:695,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:697,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:699,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:701,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 705
    functionName: GetVisual
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - DefaultColormap
    - SearchVisualList
    - XAllocColorCells
    - free
    - DefaultVisual
    - MCHECK
    - XCreateColormap
    - RootWindow
    - malloc
    - exit
    - XStoreColors
    - fprintf
    linkageType: ''
    returnType: void
    signature: void GetVisual()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:756,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:756,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:757,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:762,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:763,1
    - Dst: ImageByteOrder
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:768,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:807,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:828,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:844,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:845,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:848,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:854,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:855,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:864,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:878,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:879,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:883,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:899,1
    - Dst: MCHECK
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:900,1
    - Dst: TIFFReadScanline
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:904,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:921,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:925,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:929,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 930
    functionName: GetTIFFImage
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - free
    - ImageByteOrder
    - TIFFScanlineSize
    - MCHECK
    - malloc
    - exit
    - TIFFReadScanline
    - fprintf
    linkageType: ''
    returnType: void
    signature: void GetTIFFImage()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XCreateImage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:940,1
    - Dst: XWhitePixel
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:960,1
    - Dst: XBlackPixel
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:961,1
    - Dst: XBlackPixel
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:965,1
    - Dst: XWhitePixel
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:966,1
    - Dst: XCreateGC
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:968,1
    - Dst: XtWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:968,1
    - Dst: XCreatePixmap
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:978,1
    - Dst: RootWindow
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:978,1
    - Dst: XCreateGC
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:991,1
    - Dst: XPutImage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:993,1
    - Dst: XPutImage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:997,1
    - Dst: XDestroyImage
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:999,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 1002
    functionName: CreateXImage
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - XBlackPixel
    - free
    - XPutImage
    - XtWindow
    - XWhitePixel
    - XCreateImage
    - XCreatePixmap
    - RootWindow
    - XDestroyImage
    - XCreateGC
    linkageType: ''
    returnType: void
    signature: void CreateXImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: QuitProc
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void QuitProc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageProc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1033
    functionName: NextProc
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - PageProc
    linkageType: ''
    returnType: void
    signature: void NextProc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageProc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1035
    functionName: PreviousProc
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - PageProc
    linkageType: ''
    returnType: void
    signature: void PreviousProc()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1282,1
    - Dst: XtSetArg
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1283,1
    - Dst: XtGetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1284,1
    - Dst: XtGetValues
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1287,1
    - Dst: MAX
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1294,1
    - Dst: MAX
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1296,1
    - Dst: EventProc
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1310
    functionName: ResizeProc
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - EventProc
    - XtSetArg
    - XtGetValues
    - MAX
    linkageType: ''
    returnType: void
    signature: void ResizeProc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1335,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1336,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1337,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1338,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1339,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1340,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1341,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1342,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1343,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1345
    functionName: Usage
    functionSourceFile: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 14
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_init
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:124,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:172,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 3
    argNames:
    - buffer
    - size
    - mode
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 223
    functionName: mfs_open
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - malloc
    - mem_init
    linkageType: ''
    returnType: int
    signature: int mfs_open(void *buffer, int size, char *mode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: extend_mem_file
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:261,1
    - Dst: extend_mem_file
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:277,1
    - Dst: extend_mem_file
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:294,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - fd
    - offset
    - whence
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 308
    functionName: mfs_lseek
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - extend_mem_file
    linkageType: ''
    returnType: int
    signature: int mfs_lseek(int fd, int offset, int whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - clnt_buf
    - size
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 348
    functionName: mfs_read
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mfs_read(int fd, void *clnt_buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extend_mem_file
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:382,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:386,1
    - Dst: extend_mem_file
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:398,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - fd
    - clnt_buf
    - size
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 408
    functionName: mfs_write
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - memcpy
    - extend_mem_file
    linkageType: ''
    returnType: int
    signature: int mfs_write(int fd, void *clnt_buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: mfs_size
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_size(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - addr
    - len
    argTypes:
    - int
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 471
    functionName: mfs_map
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_map(int fd, char **addr, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: mfs_unmap
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_unmap(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: mfs_close
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_close(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/libtiff/contrib/mfs/mfs_file.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: extend_mem_file
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 2
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int extend_mem_file(int fd, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: mem_init
    functionSourceFile: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mem_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<thandle_t>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: TiffStream::TiffStream
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<thandle_t>
    linkageType: ''
    returnType: void
    signature: void TiffStream::TiffStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 9
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: TiffStream::~TiffStream()
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TIFFClose
    linkageType: ''
    returnType: void
    signature: void TiffStream::~TiffStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::getSize
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:31,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: TiffStream::makeFileStream
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TiffStream::getSize
    - TIFFClientOpen
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TiffStream::makeFileStream(istream *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::getSize
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:43,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: TiffStream::makeFileStream
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TiffStream::getSize
    - TIFFClientOpen
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TiffStream::makeFileStream(ostream *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::getSize
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:55,1
    - Dst: TIFFClientOpen
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - iostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: TiffStream::makeFileStream
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TiffStream::getSize
    - TIFFClientOpen
    linkageType: ''
    returnType: TIFF
    signature: TIFF *TiffStream::makeFileStream(iostream *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:65,1
    - Dst: TiffStream*::tell
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:75,1
    - Dst: istream*::read
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:77,1
    - Dst: reinterpret_cast<char *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:77,1
    - Dst: istream*::gcount
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: TiffStream::read
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - istream*::gcount
    - reinterpret_cast<TiffStream *>
    - TiffStream*::tell
    - reinterpret_cast<char *>
    - istream*::read
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TiffStream::read(thandle_t fd, tdata_t buf, tsize_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:83,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:94,1
    - Dst: ostream*::write
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:95,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:95,1
    - Dst: ostream*::tellp
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: TiffStream::write
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - ostream*::write
    - reinterpret_cast<TiffStream *>
    - reinterpret_cast<const char *>
    - ostream*::tellp
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TiffStream::write(thandle_t fd, tdata_t buf, tsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:101,1
    - Dst: TiffStream*::seekInt
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - offset
    - origin
    argTypes:
    - thandle_t
    - toff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: TiffStream::seek
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TiffStream *>
    - TiffStream*::seekInt
    linkageType: ''
    returnType: toff_t
    signature: toff_t TiffStream::seek(thandle_t fd, toff_t offset, int origin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: TiffStream::close
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TiffStream *>
    linkageType: ''
    returnType: int
    signature: int TiffStream::close(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:131,1
    - Dst: TiffStream*::getSize
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: TiffStream::size
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TiffStream*::getSize
    - reinterpret_cast<TiffStream *>
    linkageType: ''
    returnType: toff_t
    signature: toff_t TiffStream::size(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - phase
    - psize
    argTypes:
    - thandle_t
    - tdata_t*
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: TiffStream::map
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TiffStream::map(thandle_t fd, tdata_t *phase, toff_t *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: TiffStream::unmap
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TiffStream::unmap(thandle_t fd, tdata_t base, tsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::isOpen
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:141,1
    - Dst: TiffStream::tell
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:144,1
    - Dst: TiffStream::seekInt
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:145,1
    - Dst: TiffStream::tell
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:146,1
    - Dst: TiffStream::seekInt
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: TiffStream::getSize
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 3
    functionsReached:
    - TiffStream::tell
    - TiffStream::seekInt
    - TiffStream::isOpen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TiffStream::getSize(thandle_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:154,1
    - Dst: TiffStream*::m_inStream::tellg
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:157,1
    - Dst: TiffStream*::m_outStream::tellp
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:161,1
    - Dst: TiffStream*::m_ioStream::tellg
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: TiffStream::tell
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TiffStream *>
    - TiffStream*::m_ioStream::tellg
    - TiffStream*::m_outStream::tellp
    - TiffStream*::m_inStream::tellg
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TiffStream::tell(thandle_t fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::isOpen
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:172,1
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:189,1
    - Dst: TiffStream*::m_inStream::seekg
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:192,1
    - Dst: TiffStream*::m_outStream::seekp
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:197,1
    - Dst: TiffStream*::m_ioStream::seekg
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:202,1
    - Dst: TiffStream*::m_ioStream::seekp
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - fd
    - offset
    - origin
    argTypes:
    - thandle_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 207
    functionName: TiffStream::seekInt
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TiffStream *>
    - TiffStream*::m_ioStream::seekp
    - TiffStream*::m_inStream::seekg
    - TiffStream*::m_ioStream::seekg
    - TiffStream*::m_outStream::seekp
    - TiffStream::isOpen
    linkageType: ''
    returnType: bool
    signature: bool TiffStream::seekInt(thandle_t fd, unsigned int offset, int origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream *>
      Src: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: TiffStream::isOpen
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<TiffStream *>
    linkageType: ''
    returnType: bool
    signature: bool TiffStream::isOpen(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: TiffStream::getTiffHandle
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF
    signature: TIFF *getTiffHandle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: TiffStream::getStreamLength
    functionSourceFile: /src/PROJ/libtiff/contrib/stream/tiffstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getStreamLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/contrib/ras/tif2ras.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/PROJ/libtiff/contrib/ras/tif2ras.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/contrib/ras/tif2ras.c
    functionUses: 46
    functionsReached:
    - error
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: SCALE
    functionSourceFile: /src/PROJ/libtiff/contrib/ras/ras2tif.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/PROJ/libtiff/contrib/ras/ras2tif.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: usage
    functionSourceFile: /src/PROJ/libtiff/contrib/ras/ras2tif.c
    functionUses: 46
    functionsReached:
    - error
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:92,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:99,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:103,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:106,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:110,1
    - Dst: iscntrl
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:113,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:114,1
    - Dst: putc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:116,1
    - Dst: fputs
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ofile
    - s
    - len
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 121
    functionName: formatString
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputs
    - iscntrl
    - putc
    linkageType: ''
    returnType: void
    signature: void formatString(FILE *ofile, const char *s, int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:151,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:161,1
    - Dst: STRNICMP
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:173,1
    - Dst: strcpy
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:175,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 183
    functionName: convertHTMLcodes
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - STRNICMP
    - sscanf
    - strcpy
    linkageType: ''
    returnType: int
    signature: int convertHTMLcodes(char *s, int len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:200,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:213,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:220,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:223,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:239,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:248,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:261,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:269,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:274,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:277,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:282,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:285,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:293,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:294,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:297,1
    - Dst: formatString
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:302,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:303,1
    - Dst: getc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:307,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 2
    argNames:
    - ifile
    - ofile
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 310
    functionName: formatIPTC
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - printf
    - free
    - getc
    - strlen
    - formatString
    - malloc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int formatIPTC(FILE *ifile, FILE *ofile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:325,1
    - Dst: realloc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - b
    - blen
    - file
    argTypes:
    - char*
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: super_fgets
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - realloc
    - fgetc
    linkageType: ''
    returnType: char
    signature: char *super_fgets(char *b, int *blen, FILE *file)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:374,1
    - Dst: _setmode
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:394,1
    - Dst: _fileno
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:394,1
    - Dst: _setmode
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:401,1
    - Dst: _fileno
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:401,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:406,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:408,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:411,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:417,1
    - Dst: fopen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:419,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:422,1
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:427,1
    - Dst: puts
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:433,1
    - Dst: formatIPTC
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:439,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:451,1
    - Dst: super_fgets
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:452,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:457,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:458,1
    - Dst: tokenizer
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:459,1
    - Dst: tokenizer
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:470,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:474,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:476,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:489,1
    - Dst: tokenizer
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:490,1
    - Dst: convertHTMLcodes
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:497,1
    - Dst: strlen
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:497,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:501,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:502,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:503,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:506,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:507,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:511,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:512,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:513,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:514,1
    - Dst: fputc
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:518,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:522,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:523,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:525,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:527,1
    - Dst: fclose
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:528,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 101
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 532
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 5
    functionsReached:
    - printf
    - fputc
    - _setmode
    - _fileno
    - free
    - formatIPTC
    - super_fgets
    - convertHTMLcodes
    - strlen
    - tokenizer
    - fclose
    - malloc
    - atoi
    - fopen
    - puts
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ch
    - string
    argTypes:
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: sindex
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sindex(char ch, char *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:753,1
    - Dst: tolower
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - string
    - max
    - ch
    argTypes:
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 767
    functionName: chstore
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - toupper
    - tolower
    linkageType: ''
    returnType: void
    signature: void chstore(char *string, int max, char ch)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: sindex
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:788,1
    - Dst: chstore
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:800,1
    - Dst: sindex
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:804,1
    - Dst: chstore
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:823,1
    - Dst: sindex
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:832,1
    - Dst: chstore
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:845,1
    - Dst: chstore
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:855,1
    - Dst: chstore
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:869,1
    - Dst: chstore
      Src: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c:886,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 11
    argNames:
    - inflag
    - token
    - tokmax
    - line
    - white
    - brkchar
    - quote
    - eschar
    - brkused
    - next
    - quoted
    argTypes:
    - unsigned
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 899
    functionName: tokenizer
    functionSourceFile: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    functionUses: 1
    functionsReached:
    - sindex
    - chstore
    linkageType: ''
    returnType: int
    signature: "int tokenizer(unsigned inflag, char *token, int tokmax, char *line,
      char *white,\n              char *brkchar, char *quote, char eschar, char *brkused,
      int *next,\n              char *quoted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lpbi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: IS_WIN30_DIB
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_WIN30_DIB(lpbi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: CVT
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:76,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:81,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:82,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:83,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:84,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:85,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:86,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:88,1
    - Dst: CreateDIB
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:98,1
    - Dst: GlobalLock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:100,1
    - Dst: FindDIBBits
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:105,1
    - Dst: FindDIBBits
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:113,1
    - Dst: GlobalAlloc
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:117,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:117,1
    - Dst: GlobalLock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:118,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:134,1
    - Dst: checkcmap
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:137,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:149,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:150,1
    - Dst: CVT
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:151,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:168,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:168,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:188,1
    - Dst: GlobalUnlock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:195,1
    - Dst: GlobalFree
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:196,1
    - Dst: GlobalUnlock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:197,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:198,1
    - Dst: GlobalUnlock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:206,1
    - Dst: GlobalFree
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:207,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:209,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 87
    argCount: 1
    argNames:
    - lpFileName
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 56
    functionDepth: 9
    functionLinenumber: 56
    functionLinenumberEnd: 212
    functionName: LoadTIFFinDIB
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - GlobalAlloc
    - TIFFStripSize
    - CreateDIB
    - CVT
    - FindDIBBits
    - TIFFScanlineSize
    - GlobalFree
    - TIFFGetField
    - GlobalUnlock
    - TIFFClose
    - TIFFReadEncodedStrip
    - checkcmap
    - TIFFOpen
    - TIFFComputeStrip
    - GlobalLock
    linkageType: ''
    returnType: HDIB
    signature: HDIB LoadTIFFinDIB(LPSTR lpFileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - n
    - r
    - g
    - b
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: checkcmap
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkcmap(int n, uint16_t *r, uint16_t *g, uint16_t *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PaletteSize
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:276,1
    - Dst: GlobalAlloc
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:279,1
    - Dst: GlobalLock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:288,1
    - Dst: GlobalUnlock
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - dwWidth
    - dwHeight
    - wBitCount
    argTypes:
    - DWORD
    - DWORD
    - WORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 301
    functionName: CreateDIB
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 1
    functionsReached:
    - GlobalAlloc
    - PaletteSize
    - GlobalUnlock
    - GlobalLock
    linkageType: ''
    returnType: HDIB
    signature: HDIB CreateDIB(DWORD dwWidth, DWORD dwHeight, WORD wBitCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PaletteSize
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lpDIB
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: FindDIBBits
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 1
    functionsReached:
    - PaletteSize
    linkageType: ''
    returnType: LPSTR
    signature: LPSTR FindDIBBits(LPSTR lpDIB)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_WIN30_DIB
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:311,1
    - Dst: DIBNumColors
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:312,1
    - Dst: DIBNumColors
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lpDIB
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: PaletteSize
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 2
    functionsReached:
    - DIBNumColors
    - IS_WIN30_DIB
    linkageType: ''
    returnType: WORD
    signature: WORD PaletteSize(LPSTR lpDIB)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_WIN30_DIB
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:327,1
    - Dst: IS_WIN30_DIB
      Src: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - lpDIB
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 359
    functionName: DIBNumColors
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
    functionUses: 1
    functionsReached:
    - IS_WIN30_DIB
    linkageType: ''
    returnType: WORD
    signature: WORD DIBNumColors(LPSTR lpDIB)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: MyWarningHandler
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyWarningHandler(const char *module, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: MyErrorHandler
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyErrorHandler(const char *module, const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:64,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:65,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:67,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:71,1
    - Dst: TIFFSetErrorHandler
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:74,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - lpszPath
    argTypes:
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 9
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: ChkTIFF
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - TIFFSetErrorHandler
    - TIFFClose
    - TIFFSetWarningHandler
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int ChkTIFF(LPCTSTR lpszPath)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:87,1
    - Dst: ChkTIFF
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:89,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:91,1
    - Dst: TIFFRGBAImageOK
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:96,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:101,1
    - Dst: DibInstallHack
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:106,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:110,1
    - Dst: TIFFRGBAImageGet
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:113,1
    - Dst: TIFFRGBA2DIB
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:116,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:119,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:121,1
    - Dst: TRACE
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:125,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:127,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - lpszPath
    argTypes:
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 82
    functionDepth: 10
    functionLinenumber: 82
    functionLinenumberEnd: 134
    functionName: ReadTIFF
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - TRACE
    - TIFFRGBAImageOK
    - TIFFRGBAImageBegin
    - TIFFRGBA2DIB
    - TIFFRGBAImageEnd
    - DibInstallHack
    - TIFFRGBAImageGet
    - TIFFClose
    - _TIFFfree
    - TIFFSetWarningHandler
    - _TIFFmalloc
    - ChkTIFF
    - TIFFOpen
    linkageType: ''
    returnType: PVOID
    signature: PVOID ReadTIFF(LPCTSTR lpszPath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:151,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:152,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:153,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:154,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:155,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:156,1
    - Dst: WIDTHBYTES
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:166,1
    - Dst: GetDIBSize
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:173,1
    - Dst: GlobalAllocPtr
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:176,1
    - Dst: GetDIBImagePtr
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:204,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:211,1
    - Dst: WIDTHBYTES
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:225,1
    - Dst: GetDIBSize
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:232,1
    - Dst: GlobalAllocPtr
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:235,1
    - Dst: TIFFGetR
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:263,1
    - Dst: TIFFGetB
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:264,1
    - Dst: TIFFGetG
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 2
    argNames:
    - dib
    - raster
    argTypes:
    - TIFFDibImage*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 271
    functionName: TIFFRGBA2DIB
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - GetDIBSize
    - GlobalAllocPtr
    - TIFFGetR
    - TIFFGetG
    - TIFFGetField
    - TIFFGetB
    - GetDIBImagePtr
    - WIDTHBYTES
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE TIFFRGBA2DIB(TIFFDibImage *dib, uint32_t *raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREContigPutFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARESepPutFunc(name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dib
    argTypes:
    - TIFFDibImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: DibInstallHack
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DibInstallHack(TIFFDibImage *dib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIDTHBYTES
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:330,1
    - Dst: _TIFFmemcpy
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 348
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - WIDTHBYTES
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putContig1bitTile)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:363,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:363,1
    - Dst: TIFFWarning
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:373,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - img
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 381
    functionName: setorientation
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 4
    functionsReached:
    - TIFFFileName
    - TIFFWarning
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t setorientation(TIFFRGBAImage *img, uint32_t h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WIDTHBYTES
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:410,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:413,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:413,1
    - Dst: TIFFErrorExtR
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:416,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:416,1
    - Dst: setorientation
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:419,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:422,1
    - Dst: TIFFScanlineSize
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:423,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:429,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:431,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 446
    functionName: getStripContig1Bit
    functionSourceFile: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - setorientation
    - TIFFScanlineSize
    - TIFFErrorExtR
    - _TIFFfree
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFFileName
    - TIFFComputeStrip
    - WIDTHBYTES
    linkageType: ''
    returnType: int
    signature: "int getStripContig1Bit(TIFFRGBAImage *img, uint32_t *raster, uint32_t
      w,\n                              uint32_t h)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:48,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:55,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:56,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:58,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:60,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:61,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:63,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:64,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:65,1
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:67,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:69,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:71,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:76,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:77,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:78,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:103,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:105,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:109,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:114,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:116,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:117,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:121,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:122,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:126,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - hTIFF
    - nDirOffset
    argTypes:
    - TIFF*
    - toff_t
    assertStmts:
    - condition: (nRet == 1)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: (nRet == 1)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 131
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 131
    functionName: TIFFCreateOvrCache
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFTileSize
    - TIFFSetSubDirectory
    - TIFFErrorExt
    - TIFFIsTiled
    - TIFFStripSize
    - assert
    - _TIFFfree
    - _TIFFmalloc
    - TIFFGetField
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: TIFFOvrCache
    signature: TIFFOvrCache *TIFFCreateOvrCache(TIFF *hTIFF, toff_t nDirOffset)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsByteSwapped
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:154,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:172,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:172,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:177,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:196,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:196,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:201,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:220,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:220,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:225,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:234,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:235,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:237,1
    - Dst: TIFFGetOvrBlock
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:252,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:256,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:259,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:260,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:262,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:267,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:274,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:276,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:278,1
    - Dst: TIFFGetOvrBlock
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:285,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:289,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:292,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:293,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:295,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:300,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:306,1
    - Dst: TIFFVStripSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:308,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:310,1
    - Dst: _TIFFmemset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:323,1
    - Dst: TIFFFlush
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:330,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:332,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 1
    argNames:
    - psCache
    argTypes:
    - TIFFOvrCache*
    assertStmts:
    - condition: (nRet == 1)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 334
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 334
    functionName: TIFFWriteOvrRow
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFComputeStrip
    - _TIFFmemset
    - TIFFSetSubDirectory
    - TIFFComputeTile
    - assert
    - TIFFClientdata
    - fprintf
    - TIFFIsByteSwapped
    - TIFFTileSize
    - TIFFVStripSize
    - TIFFSwabArrayOfDouble
    - TIFFSwabArrayOfLong
    - TIFFFlush
    - TIFFErrorExt
    - TIFFSwabArrayOfShort
    - TIFFWriteEncodedTile
    - TIFFGetOvrBlock
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: void
    signature: void TIFFWriteOvrRow(TIFFOvrCache *psCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteOvrRow
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:350,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:352,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:353,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:354,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - psCache
    - iTileX
    - iTileY
    - iSample
    argTypes:
    - TIFFOvrCache*
    - int
    - int
    - int
    assertStmts:
    - condition: "(iTileY >= psCache->nBlockOffset &&\n           iTileY < psCache->nBlockOffset
        + 2)"
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: (iSample >= 0 && iSample < psCache->nSamples)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: (iTileX >= 0 && iTileX < psCache->nBlocksPerRow)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: (iTileY >= 0 && iTileY < psCache->nBlocksPerColumn)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 369
      start: 343
    functionDepth: 8
    functionLinenumber: 343
    functionLinenumberEnd: 369
    functionName: TIFFGetOvrBlock
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 1
    functionsReached:
    - TIFFWriteOvrRow
    - assert
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *TIFFGetOvrBlock(TIFFOvrCache *psCache, int iTileX,
      int iTileY,\n                               int iSample)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteOvrRow
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:382,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:384,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:385,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:386,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - psCache
    - iTileX
    - iTileY
    argTypes:
    - TIFFOvrCache*
    - int
    - int
    assertStmts:
    - condition: (iTileY >= 0 && iTileY < psCache->nBlocksPerColumn)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: (iTileX >= 0 && iTileX < psCache->nBlocksPerRow)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: "(iTileY >= psCache->nBlockOffset &&\n           iTileY < psCache->nBlockOffset
        + 2)"
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    - condition: (psCache->nPlanarConfig != PLANARCONFIG_SEPARATE)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 396
      start: 375
    functionDepth: 8
    functionLinenumber: 375
    functionLinenumberEnd: 396
    functionName: TIFFGetOvrBlock_Subsampled
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - TIFFWriteOvrRow
    - assert
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *TIFFGetOvrBlock_Subsampled(TIFFOvrCache *psCache, int
      iTileX,\n                                          int iTileY)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteOvrRow
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:406,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:408,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:409,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - psCache
    argTypes:
    - TIFFOvrCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 8
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: TIFFDestroyOvrCache
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - TIFFWriteOvrRow
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void TIFFDestroyOvrCache(TIFFOvrCache *psCache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:89,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:99,1
    - Dst: strcmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:105,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:113,1
    - Dst: atoi
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:126,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:130,1
    - Dst: TIFFOpen
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:154,1
    - Dst: fprintf
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:157,1
    - Dst: TIFFBuildOverviews
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:161,1
    - Dst: TIFFClose
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:164,1
    - Dst: malloc_dump
      Src: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 74
    functionDepth: 9
    functionLinenumber: 74
    functionLinenumberEnd: 174
    functionName: main
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c
    functionUses: 5
    functionsReached:
    - printf
    - malloc_dump
    - strcmp
    - TIFFClose
    - TIFFBuildOverviews
    - TIFFOpen
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: MIN
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: MAX
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a, b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:98,1
    - Dst: TIFFCreateDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:100,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:105,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:106,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:108,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:110,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:112,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:113,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:114,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:115,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:116,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:120,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:121,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:124,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:126,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:130,1
    - Dst: TIFFSetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:143,1
    - Dst: TIFFWriteCheck
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:149,1
    - Dst: TIFFWriteDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:152,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:154,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:157,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:157,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:159,1
    - Dst: exit
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:160,1
    - Dst: TIFFSetDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:162,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:164,1
    - Dst: TIFFSetSubDirectory
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 18
    argNames:
    - hTIFF
    - nXSize
    - nYSize
    - nBitsPerPixel
    - nPlanarConfig
    - nSamples
    - nBlockXSize
    - nBlockYSize
    - bTiled
    - nCompressFlag
    - nPhotometric
    - nSampleFormat
    - panRed
    - panGreen
    - panBlue
    - bUseSubIFDs
    - nHorSubsampling
    - nVerSubsampling
    argTypes:
    - TIFF*
    - uint32_t
    - uint32_t
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned short*
    - unsigned short*
    - unsigned short*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 169
    functionName: TIFF_WriteOverview
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - TIFFSetSubDirectory
    - TIFFCreateDirectory
    - TIFFNumberOfDirectories
    - TIFFErrorExt
    - TIFFWriteCheck
    - TIFFSetDirectory
    - TIFFWriteDirectory
    - TIFFSetField
    - TIFFFileName
    - exit
    - TIFFClientdata
    - TIFFCurrentDirOffset
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t TIFF_WriteOverview(TIFF *hTIFF, uint32_t nXSize, uint32_t
      nYSize,\n                            int nBitsPerPixel, int nPlanarConfig, int
      nSamples,\n                            int nBlockXSize, int nBlockYSize, int
      bTiled,\n                            int nCompressFlag, int nPhotometric,\n
      \                           int nSampleFormat, unsigned short *panRed,\n                            unsigned
      short *panGreen, unsigned short *panBlue,\n                            int bUseSubIFDs,
      int nHorSubsampling,\n                            int nVerSubsampling)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 8
    argNames:
    - padfSamples
    - pabySrc
    - nPixelBytes
    - nSampleFormat
    - nXSize
    - nYSize
    - nPixelOffset
    - nLineOffset
    argTypes:
    - double*
    - unsigned char*
    - int
    - int
    - uint32_t
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 223
    functionName: TIFF_GetSourceSamples
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFF_GetSourceSamples(double *padfSamples, unsigned char *pabySrc,\n
      \                                 int nPixelBytes, int nSampleFormat,\n                                  uint32_t
      nXSize, uint32_t nYSize,\n                                  int nPixelOffset,
      int nLineOffset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:235,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:235,1
    - Dst: MAX
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:239,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:239,1
    - Dst: MAX
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:247,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - pabyData
    - nPixelBytes
    - nSampleFormat
    - dfValue
    argTypes:
    - unsigned char*
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 261
    functionName: TIFF_SetSample
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: "void TIFF_SetSample(unsigned char *pabyData, int nPixelBytes,\n                           int
      nSampleFormat, double dfValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:285,1
    - Dst: malloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:307,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:327,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:328,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:356,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:357,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:369,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:370,1
    - Dst: TIFF_GetSourceSamples
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:372,1
    - Dst: TIFF_SetSample
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:382,1
    - Dst: free
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:391,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 13
    argNames:
    - pabySrcTile
    - nBlockXSize
    - nBlockYSize
    - nPixelSkewBits
    - nBitsPerPixel
    - pabyOTile
    - nOBlockXSize
    - nOBlockYSize
    - nTXOff
    - nTYOff
    - nOMult
    - nSampleFormat
    - pszResampling
    argTypes:
    - unsigned char*
    - uint32_t
    - uint32_t
    - int
    - int
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - int
    - char*
    assertStmts:
    - condition: (nBitsPerPixel >= 8)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    constantsTouched: []
    func_position:
      end: 392
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 392
    functionName: TIFF_DownSample
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - strncmp
    - free
    - assert
    - TIFF_SetSample
    - malloc
    - TIFF_GetSourceSamples
    - MIN
    linkageType: ''
    returnType: void
    signature: "void TIFF_DownSample(unsigned char *pabySrcTile, uint32_t nBlockXSize,\n
      \                           uint32_t nBlockYSize, int nPixelSkewBits,\n                            int
      nBitsPerPixel, unsigned char *pabyOTile,\n                            uint32_t
      nOBlockXSize, uint32_t nOBlockYSize,\n                            uint32_t nTXOff,
      uint32_t nTYOff, int nOMult,\n                            int nSampleFormat,
      const char *pszResampling)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:424,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:425,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:481,1
    - Dst: strncmp
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:482,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 78
    argCount: 13
    argNames:
    - pabySrcTile
    - nSample
    - nBlockXSize
    - nBlockYSize
    - pabyOTile
    - nOBlockXSize
    - nOBlockYSize
    - nTXOff
    - nTYOff
    - nOMult
    - pszResampling
    - nHorSubsampling
    - nVerSubsampling
    argTypes:
    - unsigned char*
    - int
    - uint32_t
    - uint32_t
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 581
    functionName: TIFF_DownSample_Subsampled
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void TIFF_DownSample_Subsampled(\n    unsigned char *pabySrcTile,
      int nSample, uint32_t nBlockXSize,\n    uint32_t nBlockYSize, unsigned char
      *pabyOTile, uint32_t nOBlockXSize,\n    uint32_t nOBlockYSize, uint32_t nTXOff,
      uint32_t nTYOff, int nOMult,\n    const char *pszResampling, int nHorSubsampling,
      int nVerSubsampling)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:611,1
    - Dst: TIFFReadEncodedTile
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:613,1
    - Dst: TIFFComputeTile
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:614,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:616,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:622,1
    - Dst: TIFFComputeStrip
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:623,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:624,1
    - Dst: TIFFGetOvrBlock_Subsampled
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:649,1
    - Dst: malloc_chain_check
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:659,1
    - Dst: TIFF_DownSample_Subsampled
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:661,1
    - Dst: malloc_chain_check
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:666,1
    - Dst: TIFFGetOvrBlock
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:672,1
    - Dst: assert
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:685,1
    - Dst: malloc_chain_check
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:701,1
    - Dst: TIFF_DownSample
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:703,1
    - Dst: malloc_chain_check
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 17
    argNames:
    - hTIFF
    - nPlanarConfig
    - bSubsampled
    - nHorSubsampling
    - nVerSubsampling
    - nOverviews
    - panOvList
    - nBitsPerPixel
    - nSamples
    - papoRawBIs
    - nSXOff
    - nSYOff
    - pabySrcTile
    - nBlockXSize
    - nBlockYSize
    - nSampleFormat
    - pszResampling
    argTypes:
    - TIFF*
    - int
    - int
    - int
    - int
    - int
    - int*
    - int
    - int
    - TIFFOvrCache**
    - uint32_t
    - uint32_t
    - unsigned char*
    - uint32_t
    - uint32_t
    - int
    - char*
    assertStmts:
    - condition: ((nBitsPerPixel % 8) == 0)
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    constantsTouched: []
    func_position:
      end: 714
      start: 590
    functionDepth: 9
    functionLinenumber: 590
    functionLinenumberEnd: 714
    functionName: TIFF_ProcessFullResBlock
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - TIFFTileSize
    - TIFFComputeTile
    - TIFFIsTiled
    - TIFFStripSize
    - malloc_chain_check
    - TIFFGetOvrBlock_Subsampled
    - assert
    - TIFF_DownSample
    - TIFFReadEncodedStrip
    - TIFF_DownSample_Subsampled
    - TIFFComputeStrip
    - TIFFGetOvrBlock
    - TIFFReadEncodedTile
    linkageType: ''
    returnType: void
    signature: "void TIFF_ProcessFullResBlock(TIFF *hTIFF, int nPlanarConfig, int
      bSubsampled,\n                              int nHorSubsampling, int nVerSubsampling,\n
      \                             int nOverviews, int *panOvList, int nBitsPerPixel,\n
      \                             int nSamples, TIFFOvrCache **papoRawBIs,\n                              uint32_t
      nSXOff, uint32_t nSYOff,\n                              unsigned char *pabySrcTile,
      uint32_t nBlockXSize,\n                              uint32_t nBlockYSize, int
      nSampleFormat,\n                              const char *pszResampling)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:748,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:749,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:751,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:754,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:755,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:757,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:758,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:759,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:769,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:770,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:772,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:780,1
    - Dst: TIFFErrorExt
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:791,1
    - Dst: TIFFClientdata
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:792,1
    - Dst: TIFFFileName
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:795,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:807,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:812,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:819,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:820,1
    - Dst: TIFFGetField
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:827,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:833,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:834,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:835,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:837,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:838,1
    - Dst: memcpy
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:839,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:853,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:863,1
    - Dst: MIN
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:864,1
    - Dst: TIFF_WriteOverview
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:875,1
    - Dst: TIFFCreateOvrCache
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:881,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:886,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:887,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:888,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:895,1
    - Dst: TIFFTileSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:895,1
    - Dst: _TIFFmalloc
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:897,1
    - Dst: TIFFStripSize
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:897,1
    - Dst: TIFF_ProcessFullResBlock
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:911,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:919,1
    - Dst: TIFFDestroyOvrCache
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:926,1
    - Dst: _TIFFfree
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:930,1
    - Dst: TIFFSetWarningHandler
      Src: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c:932,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 6
    argNames:
    - hTIFF
    - nOverviews
    - panOvList
    - bUseSubIFDs
    - pszResampleMethod
    - pProgressData
    argTypes:
    - TIFF*
    - int
    - int*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 726
    functionDepth: 10
    functionLinenumber: 726
    functionLinenumberEnd: 933
    functionName: TIFFBuildOverviews
    functionSourceFile: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
    functionUses: 1
    functionsReached:
    - TIFFTileSize
    - TIFFErrorExt
    - memcpy
    - TIFFGetFieldDefaulted
    - TIFFStripSize
    - TIFFDestroyOvrCache
    - TIFFCreateOvrCache
    - _TIFFfree
    - TIFFSetWarningHandler
    - _TIFFmalloc
    - TIFFFileName
    - TIFF_ProcessFullResBlock
    - TIFFGetField
    - TIFFClientdata
    - MIN
    - TIFF_WriteOverview
    linkageType: ''
    returnType: void
    signature: "void TIFFBuildOverviews(TIFF *hTIFF, int nOverviews, int *panOvList,\n
      \                       int bUseSubIFDs, const char *pszResampleMethod,\n                        int
      (*pfnProgress)(double, void *), void *pProgressData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/tests/cmake/test.c:31,1
    - Dst: curl_version
      Src: /src/PROJ/curl/tests/cmake/test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/PROJ/curl/tests/cmake/test.c
    functionUses: 5
    functionsReached:
    - printf
    - curl_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:67,1
    - Dst: apr_pool_userdata_set
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: curltest_post_config
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_get
    - apr_pool_userdata_set
    linkageType: ''
    returnType: int
    signature: "int curltest_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:82,1
    - Dst: ap_hook_post_config
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:86,1
    - Dst: ap_hook_handler
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:89,1
    - Dst: ap_hook_handler
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:90,1
    - Dst: ap_hook_handler
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:91,1
    - Dst: ap_hook_handler
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:92,1
    - Dst: ap_hook_handler
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: curltest_hooks
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    - ap_log_perror
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void curltest_hooks(apr_pool_t *pool)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:105,1
    - Dst: apr_time_from_sec
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:123,1
    - Dst: apr_time_from_sec
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:127,1
    - Dst: apr_time_from_sec
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:132,1
    - Dst: apr_time_from_sec
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 3
    argNames:
    - ptimeout
    - value
    - def_unit
    argTypes:
    - apr_interval_time_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 167
    functionName: duration_parse
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_strtoi64
    - apr_time_from_sec
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t duration_parse(apr_interval_time_t *ptimeout,\n                                   const
      char *value, const char *def_unit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:171,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - pstatus
    argTypes:
    - char*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: status_from_str
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int status_from_str(const char *s, apr_status_t *pstatus)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:195,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:202,1
    - Dst: apr_cstr_split
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:206,1
    - Dst: APR_ARRAY_IDX
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:208,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:209,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:213,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:214,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:217,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:221,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:225,1
    - Dst: duration_parse
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:226,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:236,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:239,1
    - Dst: apr_table_set
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:248,1
    - Dst: apr_ltoa
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:249,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:254,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:257,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:258,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:259,1
    - Dst: apr_table_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:261,1
    - Dst: ap_set_content_type
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:262,1
    - Dst: apr_table_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:264,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:265,1
    - Dst: apr_table_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:266,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:269,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:271,1
    - Dst: apr_brigade_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:274,1
    - Dst: ap_setup_client_block
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:276,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:280,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:283,1
    - Dst: ap_should_client_block
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:287,1
    - Dst: ap_get_client_block
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:288,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:291,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:294,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:295,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:299,1
    - Dst: apr_brigade_write
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:301,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:304,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:307,1
    - Dst: apr_bucket_eos_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:312,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:313,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:314,1
    - Dst: apr_is_empty_table
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:316,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:317,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:319,1
    - Dst: apr_itoa
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:320,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:323,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:329,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:334,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 338
    functionName: curltest_echo_handler
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type
    - apr_is_empty_table
    - apr_bucket_eos_create
    - apr_itoa
    - ap_setup_client_block
    - ap_log_rerror
    - ap_remove_output_filter_byhandle
    - apr_sleep
    - apr_table_unset
    - apr_ltoa
    - ap_pass_brigade
    - apr_brigade_write
    - apr_table_get
    - apr_atoi64
    - apr_cstr_split
    - duration_parse
    - apr_brigade_create
    - APR_ARRAY_IDX
    - apr_table_set
    - APR_BRIGADE_INSERT_TAIL
    - strcmp
    - strchr
    - ap_get_client_block
    - apr_table_setn
    - ap_should_client_block
    linkageType: ''
    returnType: int
    signature: int curltest_echo_handler(request_rec *r)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:357,1
    - Dst: apr_cstr_split
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:369,1
    - Dst: APR_ARRAY_IDX
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:371,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:372,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:376,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:377,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:382,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:383,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:388,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:389,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:392,1
    - Dst: ap_die
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:394,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:400,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:405,1
    - Dst: status_from_str
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:406,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:410,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:411,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:416,1
    - Dst: status_from_str
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:417,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:421,1
    - Dst: duration_parse
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:422,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:427,1
    - Dst: duration_parse
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:428,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:433,1
    - Dst: duration_parse
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:434,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:439,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:440,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:443,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:444,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:448,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:453,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:457,1
    - Dst: ap_die
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:460,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:465,1
    - Dst: HTTP_VERSION
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:469,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:470,1
    - Dst: apr_table_set
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:472,1
    - Dst: apr_ltoa
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:473,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:476,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:478,1
    - Dst: apr_palloc
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:482,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:483,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:486,1
    - Dst: apr_psprintf
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:487,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:491,1
    - Dst: apr_psprintf
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:492,1
    - Dst: apr_palloc
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:496,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:497,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:499,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:502,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:503,1
    - Dst: ap_set_content_type
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:504,1
    - Dst: apr_brigade_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:505,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:508,1
    - Dst: ap_map_http_request_error
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:511,1
    - Dst: apr_bucket_flush_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:514,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:515,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:516,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:520,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:523,1
    - Dst: apr_brigade_write
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:525,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:528,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:531,1
    - Dst: apr_bucket_eos_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:540,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:541,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:542,1
    - Dst: apr_brigade_cleanup
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:543,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:544,1
    - Dst: apr_bucket_flush_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:550,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:551,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:552,1
    - Dst: apr_brigade_cleanup
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:553,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:554,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:558,1
    - Dst: ap_map_http_request_error
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:565,1
    - Dst: ap_bucket_error_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:566,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:567,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:570,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:571,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 192
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 574
    functionName: curltest_tweak_handler
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type
    - apr_bucket_eos_create
    - apr_bucket_flush_create
    - apr_sleep
    - ap_map_http_request_error
    - memset
    - ap_die
    - apr_table_unset
    - apr_ltoa
    - ap_pass_brigade
    - apr_brigade_write
    - ap_bucket_error_create
    - status_from_str
    - apr_psprintf
    - apr_atoi64
    - apr_cstr_split
    - duration_parse
    - apr_brigade_create
    - apr_brigade_cleanup
    - APR_ARRAY_IDX
    - HTTP_VERSION
    - apr_table_set
    - APR_BRIGADE_INSERT_TAIL
    - strcmp
    - strchr
    - apr_palloc
    - apr_table_setn
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int curltest_tweak_handler(request_rec *r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:593,1
    - Dst: apr_cstr_split
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:601,1
    - Dst: APR_ARRAY_IDX
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:603,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:604,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:608,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:613,1
    - Dst: duration_parse
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:614,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:619,1
    - Dst: duration_parse
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:620,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:625,1
    - Dst: apr_atoi64
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:626,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:630,1
    - Dst: ap_die
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:633,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:638,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:642,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:644,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:645,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:646,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:647,1
    - Dst: apr_table_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:649,1
    - Dst: ap_set_content_type
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:650,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:653,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:655,1
    - Dst: apr_brigade_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:657,1
    - Dst: ap_setup_client_block
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:659,1
    - Dst: ap_should_client_block
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:662,1
    - Dst: ap_get_client_block
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:663,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:664,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:667,1
    - Dst: apr_psprintf
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:677,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:678,1
    - Dst: apr_brigade_puts
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:679,1
    - Dst: apr_bucket_eos_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:682,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:683,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:684,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:686,1
    - Dst: apr_sleep
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:689,1
    - Dst: apr_time_from_sec
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:689,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:696,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:701,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 705
    functionName: curltest_put_handler
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type
    - apr_bucket_eos_create
    - ap_setup_client_block
    - ap_log_rerror
    - apr_brigade_puts
    - apr_sleep
    - ap_die
    - apr_table_unset
    - ap_pass_brigade
    - apr_table_get
    - duration_parse
    - apr_cstr_split
    - apr_atoi64
    - apr_brigade_create
    - apr_psprintf
    - APR_ARRAY_IDX
    - APR_BRIGADE_INSERT_TAIL
    - strcmp
    - strchr
    - ap_get_client_block
    - apr_table_setn
    - apr_time_from_sec
    - ap_should_client_block
    linkageType: ''
    returnType: int
    signature: int curltest_put_handler(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:715,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:719,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:720,1
    - Dst: ap_die
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:721,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:725,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:729,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:731,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:732,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:733,1
    - Dst: apr_table_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:735,1
    - Dst: ap_set_content_type
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:736,1
    - Dst: apr_brigade_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:738,1
    - Dst: apr_bucket_flush_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:740,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:741,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:742,1
    - Dst: apr_brigade_printf
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:747,1
    - Dst: apr_bucket_eos_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:750,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:751,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:752,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:754,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:760,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 769
    functionName: curltest_1_1_required
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type
    - APR_BRIGADE_INSERT_TAIL
    - strcmp
    - apr_bucket_eos_create
    - HTTP_VERSION_MAJOR
    - apr_table_get
    - ap_pass_brigade
    - apr_table_setn
    - apr_brigade_printf
    - ap_die
    - apr_table_unset
    - apr_brigade_create
    - ap_log_rerror
    - apr_bucket_flush_create
    linkageType: ''
    returnType: int
    signature: int curltest_1_1_required(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:775,1
    - Dst: apr_brigade_printf
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - bb
    - name
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 779
    functionName: brigade_env_var
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_brigade_printf
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: "int brigade_env_var(request_rec *r, apr_bucket_brigade *bb,\n                           const
      char *name)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:791,1
    - Dst: apr_cstr_split
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:799,1
    - Dst: APR_ARRAY_IDX
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:801,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:802,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:806,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:812,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:817,1
    - Dst: ap_die
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:820,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:825,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:829,1
    - Dst: apr_table_unset
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:831,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:833,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:834,1
    - Dst: apr_table_setn
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:835,1
    - Dst: ap_set_content_type
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:837,1
    - Dst: apr_brigade_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:839,1
    - Dst: apr_brigade_puts
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:841,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:842,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:843,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:844,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:845,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:846,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:847,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:848,1
    - Dst: brigade_env_var
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:849,1
    - Dst: apr_brigade_puts
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:850,1
    - Dst: apr_bucket_flush_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:853,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:854,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:855,1
    - Dst: apr_bucket_eos_create
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:860,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:861,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:862,1
    - Dst: ap_pass_brigade
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:864,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:872,1
    - Dst: ap_log_rerror
      Src: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c:877,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 881
    functionName: curltest_sslinfo_handler
    functionSourceFile: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type
    - APR_BRIGADE_INSERT_TAIL
    - strcmp
    - apr_bucket_eos_create
    - strchr
    - ap_pass_brigade
    - apr_cstr_split
    - apr_table_setn
    - ap_die
    - apr_table_unset
    - apr_brigade_create
    - APR_ARRAY_IDX
    - apr_brigade_puts
    - brigade_env_var
    - ap_log_rerror
    - apr_bucket_flush_create
    linkageType: ''
    returnType: int
    signature: int curltest_sslinfo_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - outstream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: t1518_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1518.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t t1518_write_cb(char *buffer, size_t size, size_t nitems,\n
      \                            void *outstream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:52,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:58,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:65,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:70,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:74,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:78,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:79,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:80,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:82,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:98,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:99,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1518.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: test_lib1518
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1518.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_url
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1518(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib574.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - pattern
    - string
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: new_fnmatch
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib574.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int new_fnmatch(void *ptr,\n                       const char *pattern,
      const char *string)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib574.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib574.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib574.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib574.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib574.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib574.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib574.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib574.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib574.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib574.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib574.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib574.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib574.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib574.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib574.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: test_lib574
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib574.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib574(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:37,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/tests/libtest/lib500.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - purpose
    - addr
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: tst_opensocket
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - CURL_SOCKET
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t tst_opensocket(void *clientp,\n                                    curlsocktype
      purpose,\n                                    struct curl_sockaddr *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:44,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/libtest/lib500.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clientp
    - sock
    argTypes:
    - void*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: tst_closesocket
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - sclose
    linkageType: ''
    returnType: int
    signature: int tst_closesocket(void *clientp, curl_socket_t sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: setupcallbacks
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void setupcallbacks(CURL *curl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib500.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:62,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib500.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib500.c:69,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:79,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:80,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib500.c:82,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib500.c:83,1
    - Dst: setupcallbacks
      Src: /src/PROJ/curl/tests/libtest/lib500.c:86,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib500.c:88,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:91,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib500.c:93,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:101,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:102,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:103,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:104,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:106,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:108,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib500.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:115,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:123,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:132,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:141,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:150,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib500.c:158,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib500.c:166,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib500.c:173,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib500.c:174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 177
    functionName: test_lib500
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - setupcallbacks
    - curl_mfprintf
    - curl_easy_getinfo
    - strcmp
    - curl_easy_init
    - curlx_fopen
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib500(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib573.c:47,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib573.c:49,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib573.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib573.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib573.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib573.c:58,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib573.c:59,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib573.c:60,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib573.c:62,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib573.c:64,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib573.c:74,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib573.c:76,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib573.c:81,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib573.c:82,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib573.c:83,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib573.c:85,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib573.c:89,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib573.c:91,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib573.c:94,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib573.c:96,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib573.c:105,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib573.c:106,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib573.c:107,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib573.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 111
    functionName: test_lib573
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib573.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib573(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:58,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1956.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: test_lib1956
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1956.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1956(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:39,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:42,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:47,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:53,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:55,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:59,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:60,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3010.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib3010
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3010.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3010(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/tests/libtest/first.c:36,1
    - Dst: Sleep
      Src: /src/PROJ/curl/tests/libtest/first.c:46,1
    - Dst: curlx_tvtoms
      Src: /src/PROJ/curl/tests/libtest/first.c:46,1
    - Dst: select
      Src: /src/PROJ/curl/tests/libtest/first.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - nfds
    - rd
    - wr
    - exc
    - tv
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: select_wrapper
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - select
    - SET_SOCKERRNO
    - curlx_tvtoms
    - Sleep
    linkageType: ''
    returnType: int
    signature: "int select_wrapper(int nfds, fd_set *rd, fd_set *wr, fd_set *exc,\n
      \                  struct timeval *tv)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/first.c:79,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/libtest/first.c:87,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 125
    functionName: cgetopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - strchr
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cgetopt(int argc, const char * const argv[], const char *optstring)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/tests/libtest/first.c:132,1
    - Dst: curl_dbg_memdebug
      Src: /src/PROJ/curl/tests/libtest/first.c:135,1
    - Dst: getenv
      Src: /src/PROJ/curl/tests/libtest/first.c:138,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/first.c:140,1
    - Dst: curl_dbg_memlimit
      Src: /src/PROJ/curl/tests/libtest/first.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: memory_tracking_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - getenv
    - curl_dbg_memlimit
    - atol
    - curl_dbg_memdebug
    linkageType: ''
    returnType: void
    signature: void memory_tracking_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: memory_tracking_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_tracking_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: hexdump
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *hexdump(const unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/tests/libtest/first.c:166,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/first.c:166,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curl
    - send_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: ws_send_ping
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_send
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ws_send_ping(CURL *curl, const char *send_payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/PROJ/curl/tests/libtest/first.c:178,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:180,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:186,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:191,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/first.c:192,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/first.c:193,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:194,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - curl
    - expected_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: ws_recv_pong
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - memcmp
    - curl_mfprintf
    - curl_ws_recv
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ws_recv_pong(CURL *curl, const char *expected_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/tests/libtest/first.c:205,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: ws_close
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_send
    linkageType: ''
    returnType: void
    signature: void ws_close(CURL *curl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/libtest/first.c:221,1
    - Dst: memory_tracking_init
      Src: /src/PROJ/curl/tests/libtest/first.c:223,1
    - Dst: curlx_now_init
      Src: /src/PROJ/curl/tests/libtest/first.c:225,1
    - Dst: setlocale
      Src: /src/PROJ/curl/tests/libtest/first.c:234,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:241,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/first.c:249,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:256,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:262,1
    - Dst: getenv
      Src: /src/PROJ/curl/tests/libtest/first.c:274,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/libtest/first.c:276,1
    - Dst: entry_func
      Src: /src/PROJ/curl/tests/libtest/first.c:280,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/first.c:281,1
    - Dst: _flushall
      Src: /src/PROJ/curl/tests/libtest/first.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 291
    functionName: main
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.c
    functionUses: 5
    functionsReached:
    - getenv
    - _flushall
    - curl_mfprintf
    - strcmp
    - memory_tracking_init
    - entry_func
    - CURLX_SET_BINMODE
    - curlx_now_init
    - atoi
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:44,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:46,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:49,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:53,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:55,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:57,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:59,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:62,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:64,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:70,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:72,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:73,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:74,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:80,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:81,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:82,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:84,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:86,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:89,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:91,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:93,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:103,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:105,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:110,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:111,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:112,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:114,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:118,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:120,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:122,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:129,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:131,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:134,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:136,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2502.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 140
    functionName: test_lib2502
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2502.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_multi_cleanup
    - global_init
    - curl_slist_free_all
    - CURL_ARRAYSIZE
    - test_setopt
    - multi_add_handle
    - select_test
    - multi_setopt
    - curl_msnprintf
    - easy_init
    - curlx_wait_ms
    - curl_mprintf
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2502(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:58,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:59,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:65,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:70,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:74,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:76,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:78,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:80,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:84,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:86,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1955.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 90
    functionName: test_lib1955
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1955.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1955(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:34,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:47,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:53,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:65,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1939.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: test_lib1939
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1939.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1939(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: RTP_PKT_CHANNEL
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_CHANNEL(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: RTP_PKT_LENGTH
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_LENGTH(p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTP_PKT_CHANNEL
      Src: /src/PROJ/curl/tests/libtest/lib571.c:52,1
    - Dst: RTP_PKT_LENGTH
      Src: /src/PROJ/curl/tests/libtest/lib571.c:54,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/tests/libtest/lib571.c:59,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:61,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:63,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib571.c:71,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:72,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib571.c:77,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:78,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 89
    functionName: rtp_write
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached:
    - RTP_PKT_LENGTH
    - curl_mfprintf
    - RTP_PKT_CHANNEL
    - curlx_uztosi
    - curl_mprintf
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t rtp_write(char *data, size_t size, size_t nmemb, void *stream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib571.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:100,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib571.c:104,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:105,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib571.c:106,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib571.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:112,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib571.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib571.c:114,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:117,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib571.c:119,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:124,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib571.c:125,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:128,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:129,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:130,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:131,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:133,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:134,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib571.c:136,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib571.c:141,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:146,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib571.c:147,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:149,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib571.c:151,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib571.c:156,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:161,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib571.c:162,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:164,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib571.c:166,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib571.c:170,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:175,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib571.c:176,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:178,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib571.c:180,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:184,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib571.c:188,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib571.c:189,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib571.c:190,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib571.c:194,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib571.c:197,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib571.c:199,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib571.c:200,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 203
    functionName: test_lib571
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - tutil_suburl
    - curl_easy_init
    - curlx_fopen
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib571(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: test_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: test_multi_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_multi_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: exe_easy_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_easy_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: res_easy_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_easy_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: chk_easy_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_easy_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: easy_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easy_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: exe_multi_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: res_multi_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: chk_multi_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: multi_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: exe_easy_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_easy_setopt(A,B,C,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: res_easy_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_easy_setopt(A, B, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: chk_easy_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_easy_setopt(A, B, C, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: easy_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easy_setopt(A, B, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: exe_multi_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_setopt(A, B, C, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: res_multi_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: chk_multi_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_setopt(A,B,C,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: multi_setopt
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: exe_multi_add_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_add_handle(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: res_multi_add_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_add_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: chk_multi_add_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_add_handle(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: multi_add_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_add_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: exe_multi_remove_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_remove_handle(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: res_multi_remove_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_remove_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: chk_multi_remove_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_remove_handle(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: multi_remove_handle
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_remove_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: exe_multi_perform
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_perform(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: res_multi_perform
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_perform(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: chk_multi_perform
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_perform(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: multi_perform
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_perform(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: exe_multi_fdset
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_fdset(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: res_multi_fdset
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_fdset(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: chk_multi_fdset
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_fdset(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: multi_fdset
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_fdset(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: exe_multi_timeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_timeout(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: res_multi_timeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_timeout(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: chk_multi_timeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_timeout(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: multi_timeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_timeout(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: exe_multi_poll
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_poll(A,B,C,D,E,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: res_multi_poll
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_poll(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: chk_multi_poll
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_poll(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: multi_poll
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_poll(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: exe_multi_wakeup
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_wakeup(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: res_multi_wakeup
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_wakeup(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: chk_multi_wakeup
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_wakeup(A, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: multi_wakeup
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_wakeup(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 442
    functionName: exe_select_test
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_select_test(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: res_select_test
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_select_test(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: chk_select_test
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_select_test(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: select_test
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select_test(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: start_test_timing
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: start_test_timing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - T
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: exe_test_timedout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_test_timedout(T,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: res_test_timedout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_test_timedout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: res_test_timedout_custom
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_test_timedout_custom(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - T
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: chk_test_timedout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_test_timedout(T, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: abort_on_test_timeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_on_test_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: abort_on_test_timeout_custom
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_on_test_timeout_custom(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 502
    functionName: exe_global_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_global_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: res_global_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_global_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: chk_global_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_global_init(A, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: global_init
    functionSourceFile: /src/PROJ/curl/tests/libtest/first.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: global_init(A)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib562.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib562.c:42,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib562.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib562.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib562.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib562.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib562.c:58,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/lib562.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib562.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib562.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib562.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib562.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: test_lib562
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib562.c
    functionUses: 0
    functionsReached:
    - atol
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib562(const char *URL)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib661.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib661.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:42,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:53,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:54,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib661.c:58,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib661.c:67,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib661.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:70,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib661.c:75,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:79,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:80,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:81,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib661.c:86,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:88,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:89,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:90,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib661.c:94,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:96,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:97,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:98,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib661.c:104,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib661.c:105,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:107,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib661.c:112,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:114,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:119,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:120,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:121,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:122,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:123,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:124,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib661.c:130,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib661.c:131,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:133,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:138,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:139,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:140,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:141,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:142,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:143,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib661.c:150,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:151,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:152,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:153,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:154,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib661.c:155,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib661.c:156,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib661.c:161,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib661.c:162,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib661.c:163,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib661.c:164,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib661.c:165,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 119
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 168
    functionName: test_lib661
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib661.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_slist_append
    - curl_mfprintf
    - curl_maprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib661(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: descr_flags
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *descr_flags(int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:53,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:56,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:60,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:61,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:62,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - curl
    - flags
    - size
    argTypes:
    - CURL*
    - int
    - size_t
    assertStmts:
    - condition: (nsent == 0)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nsent == 0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nsent == 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: send_header
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_strerror
    - curl_ws_send
    - assert
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode send_header(CURL *curl, int flags, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:83,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:85,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:90,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:91,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:95,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:96,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:97,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:104,1
    - Dst: descr_flags
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:104,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:108,1
    - Dst: send_header
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - curl
    - flags
    - offset
    - bytesleft
    argTypes:
    - CURL*
    - int*
    - curl_off_t*
    - curl_off_t*
    assertStmts:
    - condition: (nread == 0)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nread == 0)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nread == 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta->flags)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta->offset == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 115
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 115
    functionName: recv_header
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_recv
    - send_header
    - assert
    - curl_easy_strerror
    - descr_flags
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_header(CURL *curl, int *flags, curl_off_t *offset,\n
      \                           curl_off_t *bytesleft)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:124,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:127,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:131,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:132,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:133,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - curl
    - flags
    - buffer
    - size
    - offset
    argTypes:
    - CURL*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts:
    - condition: (nsent == 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nsent == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nsent <= size - *offset)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: send_chunk
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_strerror
    - curl_ws_send
    - assert
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_chunk(CURL *curl, int flags, const char *buffer,\n                           size_t
      size, size_t *offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:154,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:156,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:160,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:161,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:162,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:166,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:167,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:168,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:169,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:170,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:175,1
    - Dst: send_chunk
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - curl
    - flags
    - offset
    - bytesleft
    argTypes:
    - CURL*
    - int
    - curl_off_t*
    - curl_off_t*
    assertStmts:
    - condition: (nread == 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nread == 0)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (nread <= sizeof(buffer))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta != NULL)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta->flags == flags)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta->offset == *offset)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    - condition: (meta->bytesleft == (*bytesleft - (curl_off_t)nread))
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/PROJ/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 184
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 184
    functionName: recv_chunk
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - fwrite
    - curl_mfprintf
    - curl_ws_recv
    - assert
    - curl_easy_strerror
    - send_chunk
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_chunk(CURL *curl, int flags, curl_off_t *offset,\n                           curl_off_t
      *bytesleft)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: recv_header
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:193,1
    - Dst: recv_chunk
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:198,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - curl
    - stop
    argTypes:
    - CURL*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: recv_frame
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - recv_chunk
    - curl_mfprintf
    - recv_header
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode recv_frame(CURL *curl, bool *stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:219,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:220,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:221,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:223,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:224,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:227,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:228,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:229,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:230,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:232,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:234,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:236,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:238,1
    - Dst: recv_frame
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:243,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:249,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2700.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 255
    functionName: test_lib2700
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - recv_frame
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_trace
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2700(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:56,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:61,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:65,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1937.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: test_lib1937
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1937.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1937(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: header
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1556.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t header(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:52,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:57,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:58,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:65,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:70,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1556.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: test_lib1556
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1556.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1556(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:32,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:36,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:38,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:39,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:40,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:41,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:45,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:48,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:50,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:59,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:60,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:64,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:70,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:73,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:74,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:78,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1906.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: test_lib1906
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1906.c
    functionUses: 0
    functionsReached:
    - curl_free
    - easy_setopt
    - curl_mfprintf
    - curl_url
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1906(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:40,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:41,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:44,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:45,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:49,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - clientp
    - conn_primary_ip
    - conn_local_ip
    - conn_primary_port
    - conn_local_port
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: prereq_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2082.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int prereq_callback(void *clientp,\n                           char
      *conn_primary_ip,\n                           char *conn_local_ip,\n                           int
      conn_primary_port,\n                           int conn_local_port)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:63,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:64,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:67,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:79,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:83,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:86,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2082.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 100
    functionName: test_lib2082
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2082.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - strstr
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2082(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib560.c:46,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib560.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib560.c:55,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib560.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib560.c:57,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib560.c:58,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib560.c:61,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib560.c:64,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib560.c:67,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib560.c:69,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib560.c:79,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib560.c:80,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib560.c:81,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib560.c:88,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib560.c:92,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib560.c:94,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib560.c:97,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib560.c:99,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib560.c:106,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib560.c:107,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib560.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 111
    functionName: test_lib560
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib560.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - multi_fdset
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib560(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: t667_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib667.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t667_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib667.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib667.c:70,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib667.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib667.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib667.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib667.c:83,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib667.c:87,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib667.c:90,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib667.c:91,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib667.c:92,1
    - Dst: curl_mime_encoder
      Src: /src/PROJ/curl/tests/libtest/lib667.c:93,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib667.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib667.c:99,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib667.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib667.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib667.c:108,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib667.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib667.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 112
    functionName: test_lib667
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib667.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_data_cb
    - curl_mime_encoder
    - curl_easy_init
    - curl_mime_free
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib667(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib658.c:39,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib658.c:40,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib658.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib658.c:45,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib658.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib658.c:51,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib658.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib658.c:57,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib658.c:59,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib658.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib658.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib658.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib658.c:67,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib658.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib658.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib658.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: test_lib658
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib658.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - curl_url
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib658(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib567.c:37,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib567.c:38,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib567.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib567.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib567.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:57,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib567.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib567.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib567.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib567.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib567.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib567.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: test_lib567
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib567.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib567(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:40,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: t1517_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1517.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1517_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:65,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:68,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:75,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:83,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:89,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:98,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:105,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:110,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1517.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 114
    functionName: test_lib1517
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1517.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1517(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1902.c:33,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1902.c:35,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1902.c:37,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1902.c:38,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1902.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1902.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: test_lib1902
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1902.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1902(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib543.c:41,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib543.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib543.c:44,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib543.c:49,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib543.c:52,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib543.c:53,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib543.c:56,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib543.c:58,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib543.c:59,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib543.c:61,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib543.c:63,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib543.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib543.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib543.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: test_lib543
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib543.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - global_init
    - curl_easy_init
    - curl_easy_cleanup
    - curl_mprintf
    - curl_global_cleanup
    - curl_easy_escape
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib543(const char *URL)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:41,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:44,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:49,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:52,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:52,1
    - Dst: curl_easy_option_next
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:54,1
    - Dst: curl_easy_option_next
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1911.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 94
    functionName: test_lib1911
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1911.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_option_next
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_cleanup
    - memset
    - curl_mprintf
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1911(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: KN
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:39,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - val
    - lineno
    argTypes:
    - char*
    - CURLcode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: t1541_geterr
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_easy_strerror
    linkageType: ''
    returnType: void
    signature: void t1541_geterr(const char *name, CURLcode val, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:47,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key
    - where
    - time
    - ok
    argTypes:
    - char*
    - char*
    - curl_off_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: report_time
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: "void report_time(const char *key, const char *where, curl_off_t time,\n
      \                       bool ok)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:57,1
    - Dst: t1541_geterr
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:59,1
    - Dst: report_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - curl
    - key
    - name
    - where
    argTypes:
    - CURL*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: check_time
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - report_time
    - t1541_geterr
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: "void check_time(CURL *curl, int key, const char *name,\n                       const
      char *where)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:69,1
    - Dst: t1541_geterr
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:71,1
    - Dst: report_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - curl
    - key
    - name
    - where
    argTypes:
    - CURL*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: check_time0
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - report_time
    - t1541_geterr
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: "void check_time0(CURL *curl, int key, const char *name,\n                        const
      char *where)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:86,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:86,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:87,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:87,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:88,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:88,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:90,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:90,1
    - Dst: check_time0
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:92,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:92,1
    - Dst: check_time0
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:94,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:94,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: t1541_header_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - check_time
    - check_time0
    - fwrite
    - KN
    linkageType: ''
    returnType: size_t
    signature: "size_t t1541_header_callback(char *ptr, size_t size, size_t nmemb,\n
      \                                   void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: t1541_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t t1541_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:116,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:118,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:120,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:122,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:125,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:126,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:127,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:128,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:129,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:131,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:133,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:135,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:135,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:136,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:136,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:137,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:137,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:138,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:138,1
    - Dst: check_time0
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:140,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:140,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:141,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:141,1
    - Dst: check_time
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:142,1
    - Dst: KN
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:146,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1541.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: test_lib1541
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - check_time0
    - easy_init
    - curl_easy_perform
    - memset
    - curl_easy_cleanup
    - KN
    - curl_global_cleanup
    - check_time
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1541(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:31,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:32,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:36,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:37,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:40,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:41,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:43,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:51,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:55,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:59,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:64,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:67,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:74,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:76,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:81,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:88,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:89,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:90,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1977.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 94
    functionName: test_lib1977
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1977.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_url
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1977(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:37,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:39,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:41,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:46,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:48,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:50,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:52,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:57,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:59,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:64,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:66,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:68,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:71,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1500.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 89
    functionName: test_lib1500
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1500.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - easy_init
    - curl_multi_cleanup
    - curl_multi_wait
    - multi_add_handle
    - curl_mprintf
    - curl_multi_info_read
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1500(const char *URL)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib568.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib568.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib568.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib568.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib568.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:58,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib568.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:65,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib568.c:66,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/tests/libtest/lib568.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib568.c:71,1
    - Dst: fstat
      Src: /src/PROJ/curl/tests/libtest/lib568.c:75,1
    - Dst: close
      Src: /src/PROJ/curl/tests/libtest/lib568.c:76,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib568.c:78,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib568.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:88,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:89,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib568.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:96,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib568.c:97,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib568.c:101,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:106,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib568.c:107,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:110,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib568.c:111,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib568.c:117,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:122,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib568.c:123,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib568.c:126,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:132,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:133,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:134,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib568.c:137,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:141,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:142,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib568.c:143,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib568.c:147,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:152,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib568.c:153,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib568.c:156,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib568.c:157,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib568.c:162,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib568.c:164,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib568.c:167,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib568.c:169,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib568.c:170,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 112
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 173
    functionName: test_lib568
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib568.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_slist_append
    - curl_mfprintf
    - tutil_suburl
    - curl_easy_init
    - curl_slist_free_all
    - curlx_fopen
    - fstat
    - curl_easy_perform
    - test_setopt
    - close
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curlx_open
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib568(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:35,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:41,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: t1662_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1662.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1662_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:59,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:65,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:66,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:68,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:69,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:70,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:79,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:84,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1662.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: test_lib1662
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1662.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mime_name
    - curl_mime_data_cb
    - global_init
    - curl_easy_init
    - curl_mime_free
    - curl_easy_perform
    - curl_mime_filename
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1662(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:34,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:36,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:39,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:40,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:42,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:44,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:61,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3103.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: test_lib3103
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3103.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - curl_share_cleanup
    - curl_mfprintf
    - curl_share_init
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3103(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:32,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:39,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:40,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3027.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib3027
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3027.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3027(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:42,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:44,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - userdata
    argTypes:
    - struct curl_slist**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: t1598_trailers_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1598.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: int
    signature: int t1598_trailers_callback(struct curl_slist **list, void *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:65,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:72,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:76,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:88,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:89,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:89,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:90,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:91,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:93,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:99,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1598.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 106
    functionName: test_lib1598
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1598.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1598(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib559.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib559.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib559.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib559.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib559.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib559.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib559.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib559.c:47,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib559.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib559.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib559.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: test_lib559
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib559.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib559(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:36,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:38,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:45,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:58,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:65,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:74,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:76,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:80,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:90,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:92,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:106,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:116,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:118,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:120,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:122,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:134,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:135,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1534.c:136,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 138
    functionName: test_lib1534
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1534.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_duphandle
    - curl_mfprintf
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1534(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:36,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:44,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:48,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:68,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:69,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1528.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib1528
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1528.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1528(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib547.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib547.c:48,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/libtest/lib547.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib547.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: t547_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib547.c
    functionUses: 0
    functionsReached:
    - strcpy
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t547_read_cb(char *ptr, size_t size, size_t nmemb, void *clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib547.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - curl
    - cmd
    - clientp
    argTypes:
    - CURL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: t547_ioctl_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib547.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: curlioerr
    signature: curlioerr t547_ioctl_callback(CURL *curl, int cmd, void *clientp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib547.c:73,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib547.c:74,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib547.c:78,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib547.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib547.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:85,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:90,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:94,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:97,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:101,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:103,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:104,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib547.c:106,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib547.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib547.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib547.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 117
    functionName: test_lib547
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib547.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib547(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - arg
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: progressKiller
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1513.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int progressKiller(void *arg,\n                          double dltotal,\n
      \                         double dlnow,\n                          double ultotal,\n
      \                         double ulnow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:55,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:57,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:59,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:60,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:61,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:62,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:63,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:64,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1513.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: test_lib1513
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1513.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1513(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:32,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:34,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:35,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:37,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:42,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:42,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:44,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:46,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1568.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: test_lib1568
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1568.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - atol
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1568(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/lib670.c:49,1
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/lib670.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:58,1
    - Dst: exit
      Src: /src/PROJ/curl/tests/libtest/lib670.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: t670_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib670.c
    functionUses: 0
    functionsReached:
    - exit
    - curl_mfprintf
    - time
    linkageType: ''
    returnType: size_t
    signature: size_t t670_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/lib670.c:74,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:77,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/lib670.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: t670_xferinfo
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib670.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_pause
    - time
    linkageType: ''
    returnType: int
    signature: "int t670_xferinfo(void *clientp,\n                         curl_off_t
      dltotal, curl_off_t dlnow,\n                         curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib670.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:103,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib670.c:109,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:112,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:115,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:118,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib670.c:123,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib670.c:124,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib670.c:125,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:127,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib670.c:133,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:138,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib670.c:144,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:150,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:155,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:158,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib670.c:165,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib670.c:166,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib670.c:176,1
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/lib670.c:181,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:184,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/lib670.c:190,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib670.c:193,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib670.c:194,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib670.c:195,1
    - Dst: curl_multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib670.c:198,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib670.c:203,1
    - Dst: select
      Src: /src/PROJ/curl/tests/libtest/lib670.c:206,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib670.c:208,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib670.c:217,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib670.c:225,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib670.c:226,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:230,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:231,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib670.c:232,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib670.c:233,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib670.c:237,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib670.c:240,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib670.c:243,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib670.c:246,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 248
    functionName: test_lib670
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib670.c
    functionUses: 0
    functionsReached:
    - curl_mime_free
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_easy_pause
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_init
    - curl_multi_cleanup
    - curl_easy_perform
    - curl_mime_data_cb
    - curl_multi_fdset
    - test_setopt
    - curl_multi_add_handle
    - curl_formfree
    - select
    - curl_mime_init
    - curl_global_init
    - time
    - curl_mime_name
    - curlx_wait_ms
    - curl_multi_info_read
    - curl_formadd
    - curl_global_cleanup
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib670(const char *URL)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:38,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:40,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:43,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:48,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:50,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:52,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:57,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:60,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:75,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:79,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:81,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:86,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:95,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - multi
    - curl
    - URL
    - index
    argTypes:
    - CURLM*
    - CURL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 98
    functionName: t3033_req_test
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3033.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_wait
    - curl_mprintf
    - curl_easy_reset
    - curl_multi_add_handle
    - curl_multi_info_read
    - curl_multi_setopt
    - curl_multi_perform
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode t3033_req_test(CURLM *multi, CURL *curl,\n                               const
      char *URL, int index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:106,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:107,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:108,1
    - Dst: t3033_req_test
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:113,1
    - Dst: t3033_req_test
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:116,1
    - Dst: t3033_req_test
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:119,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:125,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3033.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: test_lib3033
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3033.c
    functionUses: 0
    functionsReached:
    - global_init
    - t3033_req_test
    - easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3033(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:33,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:35,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:37,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:40,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:42,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:43,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:47,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:48,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1545.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: test_lib1545
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1545.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_formfree
    - curl_formadd
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1545(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib599.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: t599_progress_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib599.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int t599_progress_callback(void *clientp, double dltotal,\n                                  double
      dlnow, double ultotal, double ulnow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib599.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib599.c:51,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib599.c:55,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib599.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib599.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib599.c:63,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib599.c:66,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib599.c:67,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib599.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib599.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib599.c:76,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib599.c:79,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib599.c:83,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib599.c:85,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib599.c:87,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib599.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib599.c:95,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib599.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 99
    functionName: test_lib599
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib599.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curlx_fopen
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib599(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t3034_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3034.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t3034_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:42,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:54,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:56,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:58,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:60,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:65,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:69,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3034.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 77
    functionName: test_lib3034
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3034.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - global_init
    - easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3034(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:40,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:42,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:45,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:48,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:56,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:59,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:61,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:75,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:76,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:77,1
    - Dst: curl_multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:83,1
    - Dst: curlx_mstotv
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:85,1
    - Dst: curl_multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:93,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:96,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:107,1
    - Dst: select
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:112,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:121,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:125,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:130,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:132,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:137,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:141,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:144,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1531.c:145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 148
    functionName: test_lib1531
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1531.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - abort_on_test_timeout
    - FD_ZERO
    - curl_easy_cleanup
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_init
    - curlx_mstotv
    - curl_multi_cleanup
    - curl_multi_fdset
    - global_init
    - curl_multi_add_handle
    - select
    - curl_global_cleanup
    - curlx_wait_ms
    - curl_multi_info_read
    - curl_mprintf
    - curl_multi_timeout
    - start_test_timing
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1531(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - curl
    argTypes:
    - struct cb_data*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: reset_data
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_data(struct cb_data *data, CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nitems
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: t1533_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t t1533_read_cb(char *ptr, size_t size, size_t nitems, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: t1533_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    linkageType: ''
    returnType: size_t
    signature: size_t t1533_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:101,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:103,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:107,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:109,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - curl
    - description
    - expected_connections
    argTypes:
    - CURL*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: perform_and_check_connections
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_getinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode perform_and_check_connections(CURL *curl,\n                                              const
      char *description,\n                                              long expected_connections)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:132,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:133,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:137,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:140,1
    - Dst: reset_data
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:144,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:146,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:147,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:148,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:150,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:151,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:152,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:153,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:154,1
    - Dst: perform_and_check_connections
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:156,1
    - Dst: reset_data
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:163,1
    - Dst: perform_and_check_connections
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:165,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:172,1
    - Dst: reset_data
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:174,1
    - Dst: perform_and_check_connections
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:176,1
    - Dst: reset_data
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:183,1
    - Dst: perform_and_check_connections
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:185,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:196,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1533.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 201
    functionName: test_lib1533
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - perform_and_check_connections
    - curl_easy_init
    - reset_data
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1533(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:50,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:53,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib537.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - err
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: t537_store_errmsg
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: void t537_store_errmsg(const char *msg, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PROJ/curl/tests/libtest/lib537.c:64,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib537.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: t537_close_file_descriptors
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - close
    - free
    linkageType: ''
    returnType: void
    signature: void t537_close_file_descriptors(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib537.c:79,1
    - Dst: t537_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib537.c:81,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:82,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib537.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: t537_fopen_works
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - t537_store_errmsg
    - curlx_fclose
    - curl_mfprintf
    - curlx_fopen
    linkageType: ''
    returnType: int
    signature: int t537_fopen_works(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib537.c:445,1
    - Dst: t537_test_rlimit
      Src: /src/PROJ/curl/tests/libtest/lib537.c:447,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:448,1
    - Dst: t537_test_rlimit
      Src: /src/PROJ/curl/tests/libtest/lib537.c:454,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib537.c:462,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:463,1
    - Dst: t537_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib537.c:464,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib537.c:468,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:470,1
    - Dst: t537_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib537.c:471,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib537.c:472,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib537.c:476,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib537.c:477,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib537.c:479,1
    - Dst: t537_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib537.c:483,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib537.c:484,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib537.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 488
    functionName: test_lib537
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - t537_test_rlimit
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - t537_close_file_descriptors
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib537(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib537.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: test_lib537
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib537(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:37,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:39,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:41,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:53,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:56,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:58,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:60,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:65,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:67,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:72,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:74,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:76,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:79,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:85,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:88,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:95,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3208.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 102
    functionName: test_lib3208
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3208.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - curl_multi_remove_handle
    - easy_init
    - curl_multi_cleanup
    - curl_easy_perform
    - multi_add_handle
    - curl_multi_wait
    - curl_mprintf
    - curl_multi_info_read
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3208(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:58,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:64,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:68,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1959.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib1959
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1959.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1959(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib589.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib589.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib589.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib589.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib589.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib589.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib589.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib589.c:48,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib589.c:51,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib589.c:52,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib589.c:53,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib589.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib589.c:55,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib589.c:56,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib589.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib589.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib589.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib589.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib589.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib589
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib589.c
    functionUses: 0
    functionsReached:
    - curl_mime_data
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_free
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib589(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:53,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:57,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1970.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: test_lib1970
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1970.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1970(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:48,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:53,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:56,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:60,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:61,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:65,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:67,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:69,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:73,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:79,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:83,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:85,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:87,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:89,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:98,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:99,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:100,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:104,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:108,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:110,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:112,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:114,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:123,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:124,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:125,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:129,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:131,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:132,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:136,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:137,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:138,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:143,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:144,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:145,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1502.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 152
    functionName: test_lib1502
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1502.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_multi_cleanup
    - curl_easy_duphandle
    - res_global_init
    - curl_slist_free_all
    - multi_add_handle
    - select_test
    - curl_msnprintf
    - easy_init
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1502(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:43,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:45,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:48,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:52,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:54,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:56,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:58,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:61,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:63,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:65,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:71,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:73,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:74,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:76,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:78,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:80,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:82,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:85,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:87,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:89,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:99,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:101,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:106,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:107,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:108,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:110,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:114,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:116,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:118,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:125,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:127,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:130,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:132,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2402.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 136
    functionName: test_lib2402
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2402.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_multi_cleanup
    - global_init
    - curl_slist_free_all
    - CURL_ARRAYSIZE
    - multi_add_handle
    - select_test
    - multi_setopt
    - curl_msnprintf
    - easy_init
    - curlx_wait_ms
    - curl_mprintf
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2402(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - frame
    - r_offset
    - nread
    - exp_len
    argTypes:
    - struct curl_ws_frame*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 70
    functionName: test_ws_data_m2_check_recv
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_ws_data_m2_check_recv(const struct curl_ws_frame *frame,\n
      \                          size_t r_offset, size_t nread,\n                           size_t
      exp_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:86,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:87,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:107,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:108,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:109,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:117,1
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:121,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:124,1
    - Dst: curl_ws_recv
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:141,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:145,1
    - Dst: test_ws_data_m2_check_recv
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:148,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:165,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:166,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:170,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:171,1
    - Dst: debug_dump
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:172,1
    - Dst: debug_dump
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:174,1
    - Dst: ws_close
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:184,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:185,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:187,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:188,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 4
    argNames:
    - url
    - count
    - plen_min
    - plen_max
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 190
    functionName: test_ws_data_m2_echo
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - ws_close
    - free
    - curl_mfprintf
    - curl_ws_send
    - curl_ws_recv
    - curl_easy_init
    - curlx_wait_ms
    - debug_dump
    - curl_easy_perform
    - memset
    - test_ws_data_m2_check_recv
    - curl_easy_cleanup
    - calloc
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_ws_data_m2_echo(const char *url,\n                                     size_t
      count,\n                                     size_t plen_min,\n                                     size_t
      plen_max)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_start_frame
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:219,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:227,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:230,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 244
    functionName: test_ws_data_m1_read
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - memcpy
    - curl_ws_start_frame
    linkageType: ''
    returnType: size_t
    signature: "size_t test_ws_data_m1_read(char *buf, size_t nitems, size_t buflen,\n
      \                                  void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:255,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:259,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:263,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:264,1
    - Dst: debug_dump
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:267,1
    - Dst: debug_dump
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:269,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 282
    functionName: test_ws_data_m1_write
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - debug_dump
    - curl_mfprintf
    - memcmp
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t test_ws_data_m1_write(char *buf, size_t nitems, size_t buflen,\n
      \                                   void *userdata)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:294,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:296,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:297,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:298,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:307,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:313,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:321,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:332,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:333,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:335,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:336,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:338,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:339,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:341,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:342,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:343,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:344,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:346,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:348,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:352,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:360,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:369,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:373,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:379,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:388,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:390,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:392,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:393,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 3
    argNames:
    - url
    - plen_min
    - plen_max
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 395
    functionName: test_ws_data_m1_echo
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - free
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - memset
    - curl_easy_reset
    - curl_multi_add_handle
    - calloc
    - curl_easy_pause
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_ws_data_m1_echo(const char *url,\n                                     size_t
      plen_min,\n                                     size_t plen_max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:401,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: test_ws_data_usage
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void test_ws_data_usage(const char *msg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:421,1
    - Dst: test_ws_data_usage
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:430,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:433,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:436,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:439,1
    - Dst: test_ws_data_usage
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:442,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:453,1
    - Dst: test_ws_data_usage
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:459,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:464,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:465,1
    - Dst: test_ws_data_m1_echo
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:470,1
    - Dst: test_ws_data_m2_echo
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:472,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:474,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_data.c:480,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 483
    functionName: test_cli_ws_data
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - atol
    - curl_mfprintf
    - test_ws_data_m2_echo
    - cgetopt
    - curl_global_cleanup
    - test_ws_data_m1_echo
    - test_ws_data_usage
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_ws_data(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:39,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:40,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:43,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:43,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: t1526_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1526.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1526_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:54,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:55,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:62,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:66,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:67,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:71,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:79,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:82,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:83,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:85,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:88,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:89,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:90,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:90,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:92,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:96,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:100,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1526.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: test_lib1526
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1526.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1526(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:69,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:75,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - curl
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: t506_test_lock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void t506_test_lock(CURL *curl, curl_lock_data data,\n                           curl_lock_access
      laccess, void *useptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:105,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:111,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - curl
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: t506_test_unlock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void t506_test_unlock(CURL *curl, curl_lock_data data, void *useptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib506.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - headers
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: sethost
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *sethost(struct curl_slist *headers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib506.c:135,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:137,1
    - Dst: sethost
      Src: /src/PROJ/curl/tests/libtest/lib506.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:144,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:145,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:147,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:149,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib506.c:150,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:153,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:157,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:158,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib506.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: t506_test_fire
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - sethost
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void *t506_test_fire(void *ptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:185,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib506.c:186,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:187,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:192,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib506.c:193,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:195,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:196,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:201,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:202,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:205,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:206,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:209,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:210,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:213,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:214,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:217,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:218,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:222,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:223,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:224,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib506.c:229,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:231,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:232,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:233,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:236,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:237,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:238,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:239,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:242,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:243,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:244,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:245,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:246,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:247,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:250,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:251,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:252,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:253,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib506.c:260,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:264,1
    - Dst: t506_test_fire
      Src: /src/PROJ/curl/tests/libtest/lib506.c:265,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib506.c:267,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:272,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib506.c:273,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:275,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:276,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:277,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib506.c:281,1
    - Dst: sethost
      Src: /src/PROJ/curl/tests/libtest/lib506.c:282,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:283,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:284,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:285,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:286,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:287,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:288,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:289,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:290,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:292,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib506.c:293,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:295,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:296,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib506.c:297,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib506.c:298,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib506.c:301,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:303,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:304,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:305,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib506.c:308,1
    - Dst: sethost
      Src: /src/PROJ/curl/tests/libtest/lib506.c:309,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:310,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:311,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:312,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:313,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:314,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:315,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:316,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:317,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:318,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib506.c:319,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib506.c:323,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:325,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:329,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:331,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:335,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:338,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:341,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib506.c:342,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:345,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:346,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:348,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:352,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:358,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:359,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib506.c:360,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib506.c:361,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:364,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:365,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:367,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib506.c:369,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib506.c:370,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 156
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 373
    functionName: test_lib506
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - curl_share_cleanup
    - curl_free
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_share_init
    - tutil_suburl
    - sethost
    - curl_easy_init
    - curl_slist_free_all
    - t506_test_fire
    - curl_easy_cleanup
    - curl_mprintf
    - test_setopt
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib506(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib598.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib598.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib598.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib598.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib598.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib598.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib598.c:54,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib598.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib598.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib598.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib598.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib598.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib598.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib598
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib598.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib598(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:33,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:34,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:37,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:37,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: t1576_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1576.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1576_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - offset
    - origin
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: t1576_seek_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1576.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t1576_seek_callback(void *ptr, curl_off_t offset, int origin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:56,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:57,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:63,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:69,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:71,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:72,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:74,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:81,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:86,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:87,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:90,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:91,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1576.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 95
    functionName: test_lib1576
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1576.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1576(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:37,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:38,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:45,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:49,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:52,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:55,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:62,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:63,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:67,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:69,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:71,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:73,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:77,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:79,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1972.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: test_lib1972
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1972.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mime_data
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_free
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1972(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:34,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:36,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:39,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:40,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:42,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:44,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:61,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3104.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: test_lib3104
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3104.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - curl_share_cleanup
    - curl_mfprintf
    - curl_share_init
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3104(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:34,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:39,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:42,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:50,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:54,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:56,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1974.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: test_lib1974
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1974.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1974(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:36,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:38,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:40,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:42,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:44,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:46,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:50,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3105.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 63
    functionName: test_lib3105
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3105.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - global_init
    - curl_multi_remove_handle
    - easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - curl_global_cleanup
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3105(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:38,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:39,1
    - Dst: curl_share_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:40,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:41,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:42,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:43,1
    - Dst: curl_share_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:44,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:45,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:48,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:52,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:52,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:55,1
    - Dst: curl_share_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:55,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:58,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1538.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1538
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1538.c
    functionUses: 0
    functionsReached:
    - curl_share_strerror
    - curl_multi_strerror
    - curl_mprintf
    - curl_easy_strerror
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1538(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib544.c:41,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib544.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib544.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib544.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib544.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib544.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib544.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib544.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib544.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib544.c:63,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib544.c:64,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/libtest/lib544.c:67,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib544.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib544.c:72,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib544.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib544.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib544.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 87
    functionName: test_lib544
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib544.c
    functionUses: 0
    functionsReached:
    - curl_easy_duphandle
    - strcpy
    - curl_mfprintf
    - memcpy
    - curl_easy_init
    - curl_easy_cleanup
    - test_setopt
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib544(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:40,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:42,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:47,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:49,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:51,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:53,1
    - Dst: abort_on_test_timeout_custom
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:55,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:70,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:71,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:72,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:74,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:78,1
    - Dst: abort_on_test_timeout_custom
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:80,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:82,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:83,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:85,1
    - Dst: abort_on_test_timeout_custom
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:87,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:89,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:90,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:91,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:103,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1501.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 108
    functionName: test_lib1501
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1501.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - curl_mfprintf
    - curlx_now
    - global_init
    - abort_on_test_timeout_custom
    - multi_fdset
    - easy_init
    - FD_ZERO
    - curlx_timediff
    - curl_multi_cleanup
    - multi_add_handle
    - curl_easy_cleanup
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1501(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: t1553_xferinfo
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1553.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int t1553_xferinfo(void *p,\n                          curl_off_t
      dltotal, curl_off_t dlnow,\n                          curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:53,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:55,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:57,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:59,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:61,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:62,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:63,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:64,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:67,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:70,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:71,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:72,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:76,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:77,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:78,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:80,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:82,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:84,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:89,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:91,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:96,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:98,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:100,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:105,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:106,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:107,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1553.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 115
    functionName: test_lib1553
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1553.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - curl_mime_free
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_mime_addpart
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_multi_cleanup
    - curl_multi_wait
    - curl_mime_data
    - global_init
    - test_setopt
    - multi_add_handle
    - curl_mime_init
    - curl_mime_name
    - easy_init
    - curl_mprintf
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1553(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib526.c:56,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib526.c:59,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib526.c:61,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib526.c:64,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib526.c:65,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib526.c:67,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib526.c:69,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib526.c:72,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib526.c:74,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib526.c:76,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib526.c:86,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib526.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:95,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib526.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib526.c:99,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib526.c:102,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib526.c:106,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib526.c:107,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib526.c:109,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib526.c:112,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib526.c:115,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib526.c:123,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib526.c:124,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib526.c:125,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib526.c:127,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib526.c:131,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib526.c:133,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib526.c:141,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib526.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:143,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:145,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:146,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib526.c:155,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:156,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:158,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:159,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib526.c:165,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:166,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib526.c:168,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 172
    functionName: test_lib526
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib526.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - curl_mfprintf
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - multi_add_handle
    - curl_easy_reset
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib526(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:35,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:37,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:39,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:42,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:46,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:47,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:56,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:58,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:67,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:68,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:69,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:70,1
    - Dst: curl_multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:72,1
    - Dst: curl_multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:73,1
    - Dst: curlx_mstotv
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:76,1
    - Dst: select
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:87,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:91,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:92,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1905.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 97
    functionName: test_lib1905
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1905.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - curl_easy_setopt
    - curl_share_cleanup
    - curl_multi_perform
    - curl_share_init
    - curl_multi_fdset
    - curl_easy_init
    - curlx_mstotv
    - FD_ZERO
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_multi_timeout
    - curl_global_cleanup
    - select
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1905(const char *URL)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib556.c:34,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib556.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib556.c:39,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib556.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib556.c:42,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib556.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib556.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib556.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib556.c:52,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib556.c:61,1
    - Dst: curl_easy_send
      Src: /src/PROJ/curl/tests/libtest/lib556.c:69,1
    - Dst: curl_easy_recv
      Src: /src/PROJ/curl/tests/libtest/lib556.c:79,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib556.c:84,1
    - Dst: write
      Src: /src/PROJ/curl/tests/libtest/lib556.c:86,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib556.c:89,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib556.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib556.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib556.c:112,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 115
    functionName: test_lib556
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib556.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - fwrite
    - write
    - curl_easy_init
    - curl_msnprintf
    - curlx_strerror
    - curl_easy_perform
    - test_setopt
    - curl_easy_recv
    - curl_easy_cleanup
    - curl_easy_send
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib556(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:46,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1916.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: test_lib1916
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1916.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1916(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib536.c:31,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib536.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: proxystat
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib536.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void proxystat(CURL *curl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib536.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib536.c:47,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib536.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib536.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib536.c:54,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib536.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib536.c:62,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib536.c:63,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib536.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib536.c:65,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib536.c:66,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib536.c:68,1
    - Dst: proxystat
      Src: /src/PROJ/curl/tests/libtest/lib536.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib536.c:71,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib536.c:72,1
    - Dst: proxystat
      Src: /src/PROJ/curl/tests/libtest/lib536.c:74,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib536.c:79,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib536.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib536.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: test_lib536
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib536.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - proxystat
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib536(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib502.c:39,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib502.c:41,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib502.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib502.c:45,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib502.c:47,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib502.c:49,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib502.c:59,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib502.c:61,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib502.c:66,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib502.c:67,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib502.c:68,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib502.c:70,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib502.c:74,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib502.c:76,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib502.c:83,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib502.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib502.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib502.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 89
    functionName: test_lib502
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib502.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib502(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:43,1
    - Dst: res_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:53,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:55,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:59,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:65,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:67,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:71,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1542.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 83
    functionName: test_lib1542
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1542.c
    functionUses: 0
    functionsReached:
    - res_easy_init
    - easy_setopt
    - global_init
    - curlx_wait_ms
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1542(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: t508_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib508.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t508_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib508.c:61,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib508.c:63,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib508.c:64,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib508.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib508.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib508.c:71,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:79,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:82,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:85,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:88,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:91,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib508.c:94,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib508.c:97,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib508.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib508.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 106
    functionName: test_lib508
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib508.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib508(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:52,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:55,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:61,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:62,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:63,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:72,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - cert_info
    argTypes:
    - struct curl_certinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: is_chain_in_order
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3102.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - strncmp
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_chain_in_order(struct curl_certinfo *cert_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: wrfu
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3102.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wrfu(void *ptr,  size_t  size,  size_t  nmemb,  void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:97,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:98,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:110,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:113,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:116,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:119,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:120,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:123,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:127,1
    - Dst: is_chain_in_order
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:138,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3102.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 142
    functionName: test_lib3102
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3102.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - is_chain_in_order
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3102(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:32,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:34,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:36,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:37,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:38,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:42,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:46,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:47,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1903.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1903
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1903.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1903(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:57,1
    - Dst: fputs
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:69,1
    - Dst: fputc
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:79,1
    - Dst: fflush
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:81,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 6
    argNames:
    - timebuf
    - text
    - stream
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: debug_dump
    functionSourceFile: /src/PROJ/curl/tests/libtest/testtrace.c
    functionUses: 2
    functionsReached:
    - fputc
    - fputs
    - fflush
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void debug_dump(const char *timebuf, const char *text,\n                FILE
      *stream, const unsigned char *ptr,\n                size_t size, bool nohex)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:101,1
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:103,1
    - Dst: localtime
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:108,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:109,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:115,1
    - Dst: debug_dump
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 142
    functionName: libtest_debug_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/testtrace.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - time
    - curlx_now
    - localtime
    - curl_msnprintf
    - debug_dump
    linkageType: ''
    returnType: int
    signature: "int libtest_debug_cb(CURL *curl, curl_infotype type,\n                     char
      *data, size_t size, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:154,1
    - Dst: fputs
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - log
    - idsbuf
    - type
    argTypes:
    - FILE*
    - char*
    - curl_infotype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: log_line_start
    functionSourceFile: /src/PROJ/curl/tests/libtest/testtrace.c
    functionUses: 0
    functionsReached:
    - fputs
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void log_line_start(FILE *log, const char *idsbuf, curl_infotype type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:172,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:173,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:175,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:180,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:195,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:197,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:203,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:204,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:212,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:213,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:223,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/testtrace.c:224,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 236
    functionName: cli_debug_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/testtrace.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - fwrite
    - curl_easy_getinfo
    - log_line_start
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int cli_debug_cb(CURL *curl, curl_infotype type,\n                 char
      *data, size_t size, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:55,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:59,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1935.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib1935
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1935.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1935(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib678.c:33,1
    - Dst: fseek
      Src: /src/PROJ/curl/tests/libtest/lib678.c:37,1
    - Dst: ftell
      Src: /src/PROJ/curl/tests/libtest/lib678.c:39,1
    - Dst: fseek
      Src: /src/PROJ/curl/tests/libtest/lib678.c:45,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib678.c:47,1
    - Dst: fread
      Src: /src/PROJ/curl/tests/libtest/lib678.c:49,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib678.c:51,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib678.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - filename
    - filedata
    - filesize
    argTypes:
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: loadfile
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib678.c
    functionUses: 0
    functionsReached:
    - free
    - ftell
    - curlx_fopen
    - fseek
    - curlx_fclose
    - malloc
    - fread
    linkageType: ''
    returnType: int
    signature: int loadfile(const char *filename, void **filedata, size_t *filesize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib678.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib678.c:74,1
    - Dst: loadfile
      Src: /src/PROJ/curl/tests/libtest/lib678.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:88,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib678.c:89,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib678.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib678.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - url
    - cafile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: test_cert_blob
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib678.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - free
    - curl_mfprintf
    - curl_easy_init
    - loadfile
    - curl_easy_perform
    - curl_easy_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cert_blob(const char *url, const char *cafile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib678.c:100,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib678.c:101,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib678.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib678.c:106,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib678.c:108,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib678.c:109,1
    - Dst: test_cert_blob
      Src: /src/PROJ/curl/tests/libtest/lib678.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib678.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: test_lib678
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib678.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - strcmp
    - curl_easy_init
    - curl_easy_cleanup
    - curl_mprintf
    - curl_global_cleanup
    - test_cert_blob
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib678(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib652.c:43,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib652.c:45,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:46,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib652.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:52,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib652.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:60,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib652.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:66,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/tests/libtest/lib652.c:70,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:72,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/tests/libtest/lib652.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:77,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib652.c:80,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:82,1
    - Dst: curl_mime_encoder
      Src: /src/PROJ/curl/tests/libtest/lib652.c:85,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:87,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib652.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib652.c:94,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib652.c:99,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib652.c:102,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib652.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib652.c:108,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib652.c:111,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib652.c:114,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib652.c:117,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib652.c:122,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib652.c:125,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib652.c:128,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib652.c:130,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 133
    functionName: test_lib652
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib652.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mime_data
    - curl_mfprintf
    - curl_mime_encoder
    - curl_easy_init
    - curl_mime_free
    - curl_slist_free_all
    - curl_easy_perform
    - memset
    - curl_mime_filename
    - curl_mime_type
    - test_setopt
    - curl_mime_addpart
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib652(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: t1514_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1514.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1514_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:64,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:71,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:72,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:76,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1514.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: test_lib1514
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1514.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1514(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:40,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:41,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:44,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:44,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: t1525_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1525.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1525_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:55,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:56,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:63,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:67,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:75,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:79,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:82,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:83,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:85,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:86,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:86,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:92,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1525.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: test_lib1525
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1525.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1525(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:50,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:54,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:58,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:64,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1933.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: test_lib1933
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1933.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1933(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:36,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:38,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:40,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:44,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:46,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:52,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:54,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:58,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:65,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:69,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:71,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:84,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1532.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 87
    functionName: test_lib1532
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1532.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1532(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:34,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:36,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:37,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:38,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:39,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:41,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:45,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1900.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: test_lib1900
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1900.c
    functionUses: 0
    functionsReached:
    - curl_easy_duphandle
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1900(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:32,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: recv_any
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2304.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_recv
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode recv_any(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:44,1
    - Dst: recv_any
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:47,1
    - Dst: ws_send_ping
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:50,1
    - Dst: ws_recv_pong
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:51,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:52,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:55,1
    - Dst: ws_close
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: t2304_websocket
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2304.c
    functionUses: 0
    functionsReached:
    - ws_close
    - recv_any
    - curl_mfprintf
    - curlx_wait_ms
    - curl_mprintf
    - ws_recv_pong
    - ws_send_ping
    linkageType: ''
    returnType: void
    signature: void t2304_websocket(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:67,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:76,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:77,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:78,1
    - Dst: t2304_websocket
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2304.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: test_lib2304
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2304.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - global_init
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - t2304_websocket
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2304(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: fail_if
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: fail_unless
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dynamic
    - ','
    - check
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: verify_memory
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_memory(dynamic, check, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: fail
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: abort_if
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_if(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: abort_unless
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: unittest_abort
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unittest_abort(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - setupfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: UNITTEST_BEGIN
    functionSourceFile: /src/PROJ/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITTEST_BEGIN(setupfunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:31,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:32,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:34,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:35,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:37,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:39,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1599.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: test_lib1599
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1599.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - global_init
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1599(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:56,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1973.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1973
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1973.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1973(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1571.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1571
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1571.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1571(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib516.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib516.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib516.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib516.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib516.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib516.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib516.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib516.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib516.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib516.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib516.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib516.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: test_lib516
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib516.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib516(const char *URL)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib751.c:41,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib751.c:43,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib751.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib751.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib751.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib751.c:60,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib751.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib751.c:66,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib751.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib751.c:75,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib751.c:75,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib751.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib751.c:80,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib751.c:84,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib751.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 88
    functionName: test_lib751
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib751.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - memset
    - curl_multi_add_handle
    - curl_multi_strerror
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib751(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:55,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:59,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1934.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib1934
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1934.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1934(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib520.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib520.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib520.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib520.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib520.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib520.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib520.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib520.c:47,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib520.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib520.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib520.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: test_lib520
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib520.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib520(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: get_transfer_for_easy_u
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct transfer_u
    signature: struct transfer_u *get_transfer_for_easy_u(CURL *curl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:71,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:76,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:78,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:83,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: my_write_u_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curl_mfprintf
    - curlx_fopen
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t my_write_u_cb(char *buf, size_t nitems, size_t buflen,\n                            void
      *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:106,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:114,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: my_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - memset
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t my_read_cb(char *buf, size_t nitems, size_t buflen,\n                         void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - userdata
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: my_progress_u_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int my_progress_u_cb(void *userdata,\n                            curl_off_t
      dltotal, curl_off_t dlnow,\n                            curl_off_t ultotal,
      curl_off_t ulnow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:152,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:153,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:154,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:155,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:156,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:157,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:158,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:160,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:162,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:164,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:165,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:166,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:167,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:168,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:172,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:174,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:176,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:179,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:182,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:185,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:186,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:187,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:189,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:191,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:195,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:196,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 8
    argNames:
    - curl
    - url
    - t
    - http_version
    - host
    - share
    - use_earlydata
    - announce_length
    argTypes:
    - CURL*
    - char*
    - struct transfer_u*
    - long
    - struct curl_slist*
    - CURLSH*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 203
    functionName: setup_hx_upload
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_mime_name
    - strcmp
    - curl_mime_data_cb
    - curl_mime_addpart
    - curl_mime_init
    linkageType: ''
    returnType: int
    signature: "int setup_hx_upload(CURL *curl, const char *url, struct transfer_u
      *t,\n                           long http_version, struct curl_slist *host,\n
      \                          CURLSH *share, int use_earlydata,\n                           int
      announce_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:208,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 223
    functionName: usage_hx_upload
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_hx_upload(const char *msg)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:253,1
    - Dst: usage_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:257,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:272,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:275,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:278,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:281,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:287,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:296,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:299,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:301,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:303,1
    - Dst: usage_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:306,1
    - Dst: usage_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:312,1
    - Dst: usage_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:320,1
    - Dst: usage_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:325,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:330,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:331,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:335,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:338,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:340,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:342,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:346,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:347,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:348,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:349,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:350,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:351,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:353,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:355,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:372,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:374,1
    - Dst: setup_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:382,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:384,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:389,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:390,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:391,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:393,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:395,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:398,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:399,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:404,1
    - Dst: setup_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:405,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:407,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:411,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:414,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:419,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:424,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:432,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:436,1
    - Dst: get_transfer_for_easy_u
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:437,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:440,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:442,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:447,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:448,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:453,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:454,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:465,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:468,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:479,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:480,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:490,1
    - Dst: setup_hx_upload
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:491,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:494,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:498,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:501,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:513,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:514,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:523,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:527,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:531,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:534,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:537,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:538,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_upload.c:539,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 248
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 542
    functionName: test_cli_hx_upload
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mime_free
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - get_transfer_for_easy_u
    - curl_global_trace
    - curl_easy_pause
    - curl_multi_perform
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_multi_cleanup
    - curl_easy_perform
    - curl_easy_reset
    - curlx_fclose
    - setup_hx_upload
    - curl_share_setopt
    - curl_share_cleanup
    - curl_slist_free_all
    - curl_multi_add_handle
    - calloc
    - usage_hx_upload
    - curl_multi_setopt
    - curl_global_init
    - curl_multi_poll
    - free
    - atol
    - strcmp
    - cgetopt
    - curl_share_init
    - curl_multi_info_read
    - curl_global_cleanup
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_hx_upload(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:66,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:71,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:73,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:76,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:78,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:81,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:83,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - u
    - in
    - wanted
    - getflags
    argTypes:
    - CURLU*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 88
    functionName: checkparts
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - strcmp
    - curl_msnprintf
    - memset
    - strlen
    - curl_url_get
    linkageType: ''
    returnType: int
    signature: "int checkparts(CURLU *u, const char *in, const char *wanted,\n                      unsigned
      int getflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:852,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - org
    - url
    - out
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 861
    functionName: checkurl
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int checkurl(const char *org, const char *url, const char *out)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1157,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1159,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1161,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1163,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1165,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1167,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1169,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1171,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1173,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1175,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1181
    functionName: part2id
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: CURLUPart
    signature: CURLUPart part2id(char *part)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1190,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1197,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1198,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1199,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1202,1
    - Dst: part2id
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1203,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1206,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1209,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1211,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1212,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1213,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1214,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - u
    - cmd
    - setflags
    argTypes:
    - CURLU*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1226
    functionName: updateurl
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - sscanf
    - memcpy
    - curl_mfprintf
    - strcmp
    - strchr
    - memset
    - curl_url_set
    - part2id
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode updateurl(CURLU *u, const char *cmd, unsigned int setflags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1392,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1395,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1398,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1401,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1403,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1408,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1410,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1411,1
    - Dst: checkurl
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1415,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1419,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1423,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1430
    functionName: set_url
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - checkurl
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int set_url(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1442,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1451,1
    - Dst: updateurl
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1457,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1461,1
    - Dst: checkparts
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1468,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1474,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1477,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1482,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - has_utf8
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1485
    functionName: setget_parts
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - checkparts
    - updateurl
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: int setget_parts(bool has_utf8)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1494,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1500,1
    - Dst: updateurl
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1506,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1510,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1516,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1519,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1520,1
    - Dst: checkurl
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1523,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1527,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1530,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1537
    functionName: set_parts
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - checkurl
    - updateurl
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int set_parts(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1544,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1552,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1556,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1559,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1560,1
    - Dst: checkurl
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1565,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1569,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1572,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - has_utf8
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1580
    functionName: get_url
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - checkurl
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int get_url(bool has_utf8)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1587,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1595,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1599,1
    - Dst: checkparts
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1606,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1610,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - has_utf8
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1613
    functionName: get_parts
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_url
    - checkparts
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: int get_parts(bool has_utf8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1639,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1644,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1650,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1656,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1665,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1667,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1668,1
    - Dst: checkurl
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1672,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1675,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1681
    functionName: append
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 47
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - checkurl
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int append(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1685,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1690,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1693,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1694,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1698,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1700,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1702,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1706,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1709,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1711,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1713,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1717,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1719,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1721,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1725,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1728,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1730,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1732,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1736,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1738,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1740,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1744,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1747,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1750,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1752,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1756,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1758,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1760,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1764,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1767,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1769,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1771,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1775,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1778,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1780,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1782,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1786,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1789,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1791,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1793,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1797,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1799,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1801,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1805,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1808,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1811
    functionName: scopeid
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int scopeid(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1815,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1820,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1822,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1824,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1826,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1828,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1830,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1832,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1834,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1836,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1838,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1840,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1842,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1844,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1846,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1848,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1850,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1852,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1854,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1856,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1859,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1862
    functionName: get_nothing
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - curl_url_get
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int get_nothing(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1880,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1887,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1889,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1891,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1893,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1895,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1897,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1899,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1903,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1910
    functionName: clear_url
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_url
    - strcmp
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: int clear_url(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1922,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1937,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1942,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1951,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1954,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1960,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1961,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1962,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1965,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1970
    functionName: huge
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_url
    - strcmp
    - curl_msnprintf
    - memset
    - curl_mprintf
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: int huge(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:1993,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2000,1
    - Dst: curl_url_dup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2004,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2006,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2010,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2014,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2015,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2019,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2020,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2021,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2026,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2029,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2030,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2031,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2032,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 2034
    functionName: urldup
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_url
    - strcmp
    - curl_mprintf
    - curl_url_set
    - curl_url_get
    - curl_url_cleanup
    - curl_url_dup
    linkageType: ''
    returnType: int
    signature: int urldup(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2038,1
    - Dst: urldup
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2042,1
    - Dst: setget_parts
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2045,1
    - Dst: get_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2048,1
    - Dst: huge
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2051,1
    - Dst: get_nothing
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2054,1
    - Dst: scopeid
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2057,1
    - Dst: append
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2060,1
    - Dst: set_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2063,1
    - Dst: set_parts
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2066,1
    - Dst: get_parts
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2069,1
    - Dst: clear_url
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2072,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1560.c:2075,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2036
    functionDepth: 3
    functionLinenumber: 2036
    functionLinenumberEnd: 2077
    functionName: test_lib1560
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - getenv
    - scopeid
    - set_url
    - get_url
    - get_nothing
    - append
    - get_parts
    - clear_url
    - curl_mprintf
    - urldup
    - set_parts
    - huge
    - setget_parts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1560(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:63,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:64,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - curl
    - e
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: hstsread
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcpy
    - strlen
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstsread(CURL *curl, struct curl_hstsentry *e,\n                            void
      *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curl
    - e
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: hstsreadfail
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstsreadfail(CURL *curl, struct curl_hstsentry *e,\n                                void
      *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - curl
    - e
    - i
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - struct curl_index*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: hstswrite
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstswrite(CURL *curl, struct curl_hstsentry *e,\n                             struct
      curl_index *i, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:104,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:109,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:110,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:111,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:112,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:113,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:114,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:115,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:116,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:117,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:118,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:119,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:120,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:121,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:125,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:128,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:129,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:130,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:131,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:132,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:133,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:134,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:135,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:136,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:137,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:138,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:139,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:140,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:145,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1915.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 148
    functionName: test_lib1915
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_mprintf
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1915(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected_fds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: test_check
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_check(expected_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - option
    - ','
    - expected_fds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: test_run_check
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_run_check(option, expected_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: emptyWriteFunc
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t emptyWriteFunc(void *ptr, size_t size, size_t nmemb,\n    void
      *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:82,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:85,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:90,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:95,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:100,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:101,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:106,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:107,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:110,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - URL
    - curl
    - option
    argTypes:
    - char*
    - CURL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 117
    functionName: set_easy
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_easy(const char *URL, CURL *curl, long option)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:142,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:143,1
    - Dst: set_easy
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:145,1
    - Dst: set_easy
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:148,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:151,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:152,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:155,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:157,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:158,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:165,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:170,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:173,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:179,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:182,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:188,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:191,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:197,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:200,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:210,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:213,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:219,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:227,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:230,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:237,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:245,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:248,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:254,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:257,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:264,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:275,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:278,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:285,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:296,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:297,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:300,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:301,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:303,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:304,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 114
    argCount: 3
    argNames:
    - URL
    - option
    - max_fd_count
    argTypes:
    - char*
    - long
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 310
    functionName: test_run
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - curl_multi_poll
    - curl_multi_perform
    - curl_mfprintf
    - curl_multi_waitfds
    - set_easy
    - curl_multi_remove_handle
    - easy_init
    - curl_multi_cleanup
    - curl_multi_info_read
    - multi_add_handle
    - curl_easy_cleanup
    - multi_init
    - multi_setopt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_run(const char *URL, long option,\n                         unsigned
      int *max_fd_count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:323,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:326,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:329,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:334,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:341,1
    - Dst: set_easy
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:343,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:346,1
    - Dst: curl_multi_waitfds
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:348,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:351,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:356,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:362,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:365,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 368
    functionName: empty_multi_test
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_multi_waitfds
    - set_easy
    - curl_multi_remove_handle
    - easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode empty_multi_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:375,1
    - Dst: empty_multi_test
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:378,1
    - Dst: test_run_check
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:383,1
    - Dst: test_run_check
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:386,1
    - Dst: test_run_check
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:389,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2405.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 394
    functionName: test_lib2405
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - empty_multi_test
    - global_init
    - test_run_check
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2405(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: write_it
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib695.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_it(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib695.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib695.c:49,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib695.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib695.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib695.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib695.c:62,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib695.c:65,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib695.c:66,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib695.c:67,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/tests/libtest/lib695.c:68,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib695.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib695.c:72,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib695.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib695.c:79,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib695.c:80,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib695.c:83,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib695.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib695.c:87,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/tests/libtest/lib695.c:90,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib695.c:93,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib695.c:94,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib695.c:99,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib695.c:103,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib695.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib695.c:109,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib695.c:110,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib695.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib695.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 114
    functionName: test_lib695
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib695.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mime_data
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_subparts
    - curl_mime_free
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_mime_type
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib695(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:40,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:45,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:46,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1551.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: test_lib1551
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1551.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - global_init
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1551(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:40,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:42,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:44,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:48,1
    - Dst: multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:49,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:50,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:53,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:59,1
    - Dst: res_multi_wakeup
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:63,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:65,1
    - Dst: multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:66,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:67,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:70,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:76,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:80,1
    - Dst: multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:81,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:82,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:84,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:85,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:91,1
    - Dst: res_multi_wakeup
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:96,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:98,1
    - Dst: multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:99,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:100,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:103,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:109,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:113,1
    - Dst: multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:114,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:115,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:117,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:118,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:124,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:128,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1564.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 132
    functionName: test_lib1564
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1564.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_now
    - abort_on_test_timeout
    - global_init
    - multi_poll
    - curlx_timediff
    - res_multi_wakeup
    - curl_multi_cleanup
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1564(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib504.c:43,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib504.c:45,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib504.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib504.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib504.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib504.c:54,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib504.c:56,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib504.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib504.c:67,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib504.c:69,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib504.c:74,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib504.c:76,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib504.c:81,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib504.c:82,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib504.c:83,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib504.c:86,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib504.c:91,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib504.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib504.c:99,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib504.c:101,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib504.c:102,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib504.c:103,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib504.c:105,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib504.c:107,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib504.c:111,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib504.c:113,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib504.c:120,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib504.c:121,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib504.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib504.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 126
    functionName: test_lib504
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib504.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_mfprintf
    - curl_multi_cleanup
    - curl_multi_wait
    - global_init
    - multi_add_handle
    - select_test
    - easy_init
    - curl_multi_info_read
    - curl_mprintf
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib504(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib597.c:46,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib597.c:48,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib597.c:50,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib597.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib597.c:55,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib597.c:58,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib597.c:60,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib597.c:62,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib597.c:72,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib597.c:74,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib597.c:79,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib597.c:80,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib597.c:81,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib597.c:83,1
    - Dst: multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib597.c:87,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib597.c:107,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib597.c:109,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib597.c:112,1
    - Dst: multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib597.c:116,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib597.c:122,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib597.c:123,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib597.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 127
    functionName: test_lib597
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib597.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - multi_timeout
    - multi_remove_handle
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_multi_info_read
    - multi_add_handle
    - curl_easy_cleanup
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib597(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:71,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:73,1
    - Dst: curl_version_info
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:76,1
    - Dst: fputs
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:78,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:86,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:90,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:91,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:99,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:101,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:105,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1597.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 112
    functionName: test_lib1597
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1597.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - fputs
    - global_init
    - curl_msnprintf
    - easy_init
    - curl_easy_cleanup
    - curl_mprintf
    - curl_version_info
    - curl_global_cleanup
    - curl_strequal
    - puts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1597(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib525.c:39,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib525.c:42,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib525.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib525.c:48,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib525.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib525.c:50,1
    - Dst: stat
      Src: /src/PROJ/curl/tests/libtest/lib525.c:57,1
    - Dst: fstat
      Src: /src/PROJ/curl/tests/libtest/lib525.c:59,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/libtest/lib525.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib525.c:63,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib525.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib525.c:65,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib525.c:66,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib525.c:70,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib525.c:72,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib525.c:76,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib525.c:79,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib525.c:82,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib525.c:85,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib525.c:88,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib525.c:91,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib525.c:102,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib525.c:104,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib525.c:106,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib525.c:116,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib525.c:118,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib525.c:123,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib525.c:124,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib525.c:125,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib525.c:127,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib525.c:131,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib525.c:133,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib525.c:140,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib525.c:141,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib525.c:142,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib525.c:143,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib525.c:147,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib525.c:148,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib525.c:149,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib525.c:150,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib525.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 63
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 157
    functionName: test_lib525
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib525.c
    functionUses: 0
    functionsReached:
    - fileno
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - curlx_strerror
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_mfprintf
    - curlx_fopen
    - fstat
    - curl_multi_cleanup
    - curlx_fclose
    - res_global_init
    - multi_add_handle
    - select_test
    - stat
    - easy_init
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib525(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib570.c:36,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib570.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib570.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib570.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib570.c:44,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:54,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib570.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:61,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib570.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib570.c:65,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib570.c:67,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:72,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:75,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib570.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:82,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib570.c:83,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib570.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:90,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib570.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib570.c:97,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib570.c:98,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib570.c:101,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib570.c:106,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib570.c:111,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib570.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib570.c:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 117
    functionName: test_lib570
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib570.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - tutil_suburl
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib570(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib549.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib549.c:39,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib549.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib549.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib549.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib549.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib549.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib549.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib549.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib549.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib549.c:59,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib549.c:63,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib549.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 67
    functionName: test_lib549
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib549.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib549(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:32,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:40,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:41,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:45,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:47,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:50,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1908.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1908
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1908.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_duphandle
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_global_cleanup
    - start_test_timing
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1908(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:40,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:42,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:50,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:54,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:56,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:58,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:63,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:67,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:72,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: test_lib1509
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1509.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1509(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1509.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: WriteOutput
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1509.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t WriteOutput(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: WriteHeader
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t WriteHeader(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: t1947_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1947.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1947_write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:44,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:50,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:51,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:55,1
    - Dst: curl_easy_nextheader
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:64,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:71,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:74,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:75,1
    - Dst: curl_easy_nextheader
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:82,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1947.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 92
    functionName: test_lib1947
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1947.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - curl_easy_nextheader
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1947(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:39,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:41,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - opaque
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: write_tse_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_getinfo
    linkageType: ''
    returnType: size_t
    signature: size_t write_tse_cb(char *ptr, size_t size, size_t nmemb, void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:85,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:88,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:90,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:91,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - multi
    - share
    - resolve
    - url
    - http_version
    argTypes:
    - CURLM*
    - CURLSH*
    - struct curl_slist*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 96
    functionName: tse_add_transfer
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_cleanup
    - curl_multi_strerror
    - curl_multi_add_handle
    linkageType: ''
    returnType: CURL
    signature: "CURL *tse_add_transfer(CURLM *multi, CURLSH *share,\n                              struct
      curl_slist *resolve,\n                              const char *url, long http_version)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:115,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:120,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:124,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:126,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:129,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:131,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:135,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:136,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:139,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:140,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:143,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:144,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:148,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:150,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:152,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:154,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:158,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:160,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:163,1
    - Dst: tse_add_transfer
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:166,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:172,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:174,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:175,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:180,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:182,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:183,1
    - Dst: tse_add_transfer
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:193,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:202,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:206,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:207,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:214,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:219,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:224,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:225,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:227,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:232,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:238,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:243,1
    - Dst: curl_multi_get_handles
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:249,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:253,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:254,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:256,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:258,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:260,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:261,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:262,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:263,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:265,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c:266,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 134
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 269
    functionName: test_cli_tls_session_reuse
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_multi_remove_handle
    - tse_add_transfer
    - curl_easy_cleanup
    - curl_multi_get_handles
    - curl_url_set
    - curl_multi_perform
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_multi_cleanup
    - curl_multi_strerror
    - curl_url_cleanup
    - curl_share_setopt
    - curl_share_cleanup
    - curl_url
    - curl_slist_free_all
    - curl_global_init
    - curl_multi_poll
    - strcmp
    - curl_share_init
    - curl_msnprintf
    - curl_multi_info_read
    - curl_global_cleanup
    - curl_url_get
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_tls_session_reuse(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:50,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 78
    functionName: callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2032.c
    functionUses: 26
    functionsReached:
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_getinfo
    linkageType: ''
    returnType: size_t
    signature: size_t callback(char *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:94,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:95,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:97,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:100,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:109,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:111,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:115,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:128,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:131,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:132,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:135,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:136,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:138,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:139,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:140,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:141,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:142,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:144,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:145,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:147,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:149,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:155,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:157,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:160,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:165,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:166,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:167,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:169,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:182,1
    - Dst: multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:186,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:190,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:215,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:217,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:225,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:226,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:227,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:230,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:231,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib2032.c:233,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 236
    functionName: test_lib2032
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2032.c
    functionUses: 0
    functionsReached:
    - multi_timeout
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_mfprintf
    - curl_multi_cleanup
    - strlen
    - res_global_init
    - multi_add_handle
    - select_test
    - free
    - curl_msnprintf
    - easy_init
    - curl_mprintf
    - curl_global_cleanup
    - malloc
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2032(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/libtest/testutil.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - i
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: tutil_suburl
    functionSourceFile: /src/PROJ/curl/tests/libtest/testutil.c
    functionUses: 4
    functionsReached:
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: char *tutil_suburl(const char *base, int i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testutil.c:39,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testutil.c:45,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testutil.c:50,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/testutil.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - val
    argTypes:
    - char*
    - size_t
    - rlim_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: tutil_rlim2str
    functionSourceFile: /src/PROJ/curl/tests/libtest/testutil.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void tutil_rlim2str(char *buf, size_t len, rlim_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: free_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib654.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_callback(void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: t654_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib654.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t654_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib654.c:79,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib654.c:80,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib654.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib654.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib654.c:90,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib654.c:93,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib654.c:97,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib654.c:101,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib654.c:102,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib654.c:103,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib654.c:104,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/tests/libtest/lib654.c:105,1
    - Dst: curl_mime_encoder
      Src: /src/PROJ/curl/tests/libtest/lib654.c:106,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib654.c:107,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/tests/libtest/lib654.c:108,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib654.c:109,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/tests/libtest/lib654.c:110,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib654.c:111,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib654.c:112,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib654.c:116,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib654.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib654.c:121,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib654.c:128,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib654.c:132,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib654.c:134,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib654.c:140,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib654.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib654.c:149,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib654.c:153,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib654.c:160,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib654.c:161,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib654.c:162,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib654.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 165
    functionName: test_lib654
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib654.c
    functionUses: 0
    functionsReached:
    - curl_mime_free
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - curl_mime_type
    - strlen
    - curl_easy_duphandle
    - curl_mime_data
    - curl_mime_data_cb
    - test_setopt
    - curl_mime_headers
    - curl_mime_init
    - curl_mime_filedata
    - curl_global_init
    - curl_mime_name
    - curl_mime_encoder
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib654(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib514.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib514.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib514.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib514.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib514.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:66,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib514.c:67,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib514.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib514.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib514.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 81
    functionName: test_lib514
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib514.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib514(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: t1301_fail_unless
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1301.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t1301_fail_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:40,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:41,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:43,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:44,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:46,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:47,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:49,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:50,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:52,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:53,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:55,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:56,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:58,1
    - Dst: t1301_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1301.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: test_lib1301
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1301.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - curl_strequal
    - t1301_fail_unless
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1301(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib521.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib521.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib521.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib521.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib521.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib521.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib521.c:46,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/lib521.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib521.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib521.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib521.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib521.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib521.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: test_lib521
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib521.c
    functionUses: 0
    functionsReached:
    - atol
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib521(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:43,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:45,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:48,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:52,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:54,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:56,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:58,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:61,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:63,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:65,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:71,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:73,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:74,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:76,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:78,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:80,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:82,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:84,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:87,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:89,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:91,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:101,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:103,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:108,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:109,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:110,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:112,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:116,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:118,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:120,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:127,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:129,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:132,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:134,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2404.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 138
    functionName: test_lib2404
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2404.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_multi_cleanup
    - global_init
    - curl_slist_free_all
    - CURL_ARRAYSIZE
    - multi_add_handle
    - select_test
    - multi_setopt
    - curl_msnprintf
    - easy_init
    - curlx_wait_ms
    - curl_mprintf
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2404(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:42,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:46,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:47,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: t1591_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1591.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1591_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:64,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - userdata
    argTypes:
    - struct curl_slist**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: t1591_trailers_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1591.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: int
    signature: int t1591_trailers_callback(struct curl_slist **list, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:84,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:85,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:89,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:92,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:96,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:102,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:103,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:104,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:106,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:107,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:113,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:115,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1591.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 120
    functionName: test_lib1591
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1591.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1591(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ws_send_ping
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:36,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:40,1
    - Dst: ws_recv_pong
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:41,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:43,1
    - Dst: ws_close
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:46,1
    - Dst: ws_close
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - curl
    - payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: pingpong
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c
    functionUses: 0
    functionsReached:
    - ws_close
    - curl_mfprintf
    - curlx_wait_ms
    - ws_recv_pong
    - ws_send_ping
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pingpong(CURL *curl, const char *payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:63,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:69,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:80,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:81,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:82,1
    - Dst: pingpong
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:89,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 97
    functionName: test_cli_ws_pingpong
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - pingpong
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_ws_pingpong(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: dload_progress_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dload_progress_cb(void *a, curl_off_t b, curl_off_t c,\n                             curl_off_t
      d, curl_off_t e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - d
    - n
    - l
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: t1523_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1523_write_cb(char *d, size_t n, size_t l, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curl
    - limit
    - time
    argTypes:
    - CURL*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: run
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1523.c
    functionUses: 58
    functionsReached:
    - curl_easy_setopt
    - curl_easy_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode run(CURL *curl, long limit, long time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:61,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:67,1
    - Dst: run
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:71,1
    - Dst: run
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:73,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1523.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 83
    functionName: test_lib1523
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - run
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1523(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: print_httppost_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1308.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t print_httppost_callback(void *arg, const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: t1308_fail_unless
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1308.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t1308_fail_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:53,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:55,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:57,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:61,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:63,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:66,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:68,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:70,1
    - Dst: curl_formget
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:72,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:73,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:75,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:77,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:82,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:87,1
    - Dst: curl_formget
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:89,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:91,1
    - Dst: t1308_fail_unless
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:92,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1308.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 99
    functionName: test_lib1308
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1308.c
    functionUses: 0
    functionsReached:
    - curl_formget
    - global_init
    - t1308_fail_unless
    - curl_formfree
    - curl_formadd
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1308(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: custom_calloc
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *custom_calloc(size_t nmemb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: custom_malloc
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *custom_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: custom_strdup
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *custom_strdup(const char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: custom_realloc
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *custom_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: custom_free
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_free(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init_mem
      Src: /src/PROJ/curl/tests/libtest/lib509.c:80,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib509.c:87,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib509.c:91,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib509.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib509.c:94,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib509.c:98,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib509.c:101,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib509.c:104,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib509.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib509.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib509.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 115
    functionName: test_lib509
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_cleanup
    - test_setopt
    - curl_global_init_mem
    - curl_mprintf
    - curl_global_cleanup
    - curl_easy_escape
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib509(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:31,1
    - Dst: ws_send_ping
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:33,1
    - Dst: ws_recv_pong
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:35,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:37,1
    - Dst: ws_close
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: t2301_websocket
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2301.c
    functionUses: 0
    functionsReached:
    - ws_close
    - curl_mfprintf
    - curlx_wait_ms
    - ws_recv_pong
    - ws_send_ping
    linkageType: ''
    returnType: void
    signature: void t2301_websocket(CURL *curl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:53,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:56,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:57,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:61,1
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - b
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: t2301_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2301.c
    functionUses: 0
    functionsReached:
    - curl_ws_send
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t2301_write_cb(char *b, size_t size, size_t nitems, void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:78,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:89,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:90,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:91,1
    - Dst: t2301_websocket
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:97,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2301.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: test_lib2301
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2301.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - global_init
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - t2301_websocket
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2301(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib512.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib512.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib512.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib512.c:43,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib512.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib512.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib512.c:51,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib512.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib512.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib512.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: test_lib512
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib512.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_duphandle
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib512(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: t530_tag
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *t530_tag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:55,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: t530_msg
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_tag
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void t530_msg(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:78,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:79,1
    - Dst: memmove
      Src: /src/PROJ/curl/tests/libtest/lib530.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fd
    - mention
    argTypes:
    - struct t530_Sockets*
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: t530_removeFd
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_tag
    - curl_mfprintf
    - memmove
    linkageType: ''
    returnType: void
    signature: "void t530_removeFd(struct t530_Sockets *sockets, curl_socket_t fd,\n
      \                         int mention)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:102,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:103,1
    - Dst: t530_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib530.c:104,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib530.c:109,1
    - Dst: realloc
      Src: /src/PROJ/curl/tests/libtest/lib530.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sockets
    - fd
    - what
    argTypes:
    - struct t530_Sockets*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: t530_addFd
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - realloc
    - t530_tag
    - malloc
    - t530_removeFd
    linkageType: ''
    returnType: int
    signature: "int t530_addFd(struct t530_Sockets *sockets, curl_socket_t fd,\n                      const
      char *what)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:143,1
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:145,1
    - Dst: t530_addFd
      Src: /src/PROJ/curl/tests/libtest/lib530.c:150,1
    - Dst: t530_addFd
      Src: /src/PROJ/curl/tests/libtest/lib530.c:154,1
    - Dst: t530_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib530.c:158,1
    - Dst: t530_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib530.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - curl
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: t530_curlSocketCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_addFd
    - t530_removeFd
    - t530_msg
    linkageType: ''
    returnType: int
    signature: "int t530_curlSocketCallback(CURL *curl, curl_socket_t s, int action,\n
      \                                  void *userp, void *socketp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:174,1
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:176,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib530.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: t530_curlTimerCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_msg
    - curlx_now
    linkageType: ''
    returnType: int
    signature: int t530_curlTimerCallback(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib530.c:198,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:209,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - multi
    - success
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: t530_checkForCompletion
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_multi_info_read
    - t530_tag
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: int t530_checkForCompletion(CURLM *multi, int *success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib530.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: t530_getMicroSecondTimeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t t530_getMicroSecondTimeout(struct curltime *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/libtest/lib530.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sockets
    - fdset
    - maxFd
    argTypes:
    - struct t530_Sockets*
    - fd_set*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: t530_updateFdSet
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void t530_updateFdSet(struct t530_Sockets *sockets, fd_set* fdset,\n
      \                            curl_socket_t *maxFd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/tests/libtest/lib530.c:257,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:260,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:261,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib530.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - multi
    - s
    - evBitmask
    - info
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: socket_action
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 1
    functionsReached:
    - curl_multi_socket_action
    - curl_multi_strerror
    - t530_tag
    - curl_mfprintf
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode socket_action(CURLM *multi, curl_socket_t s, int evBitmask,\n
      \                              const char *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/libtest/lib530.c:276,1
    - Dst: socket_action
      Src: /src/PROJ/curl/tests/libtest/lib530.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - multi
    - sockets
    - fdset
    - evBitmask
    - name
    argTypes:
    - CURLM*
    - struct t530_Sockets*
    - fd_set*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: t530_checkFdSet
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - socket_action
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode t530_checkFdSet(CURLM *multi, struct t530_Sockets *sockets,\n
      \                                fd_set *fdset, int evBitmask,\n                                 const
      char *name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib530.c:296,1
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:300,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib530.c:301,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib530.c:303,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib530.c:307,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib530.c:310,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib530.c:313,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib530.c:315,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib530.c:317,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib530.c:318,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib530.c:320,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib530.c:321,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib530.c:323,1
    - Dst: socket_action
      Src: /src/PROJ/curl/tests/libtest/lib530.c:325,1
    - Dst: t530_checkForCompletion
      Src: /src/PROJ/curl/tests/libtest/lib530.c:330,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib530.c:336,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib530.c:337,1
    - Dst: t530_updateFdSet
      Src: /src/PROJ/curl/tests/libtest/lib530.c:338,1
    - Dst: t530_updateFdSet
      Src: /src/PROJ/curl/tests/libtest/lib530.c:339,1
    - Dst: curlx_sztosi
      Src: /src/PROJ/curl/tests/libtest/lib530.c:342,1
    - Dst: t530_getMicroSecondTimeout
      Src: /src/PROJ/curl/tests/libtest/lib530.c:342,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib530.c:351,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib530.c:352,1
    - Dst: t530_checkFdSet
      Src: /src/PROJ/curl/tests/libtest/lib530.c:355,1
    - Dst: t530_checkFdSet
      Src: /src/PROJ/curl/tests/libtest/lib530.c:360,1
    - Dst: t530_getMicroSecondTimeout
      Src: /src/PROJ/curl/tests/libtest/lib530.c:367,1
    - Dst: socket_action
      Src: /src/PROJ/curl/tests/libtest/lib530.c:369,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib530.c:375,1
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:379,1
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:386,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib530.c:387,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib530.c:388,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib530.c:389,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib530.c:390,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib530.c:393,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib530.c:394,1
    - Dst: t530_msg
      Src: /src/PROJ/curl/tests/libtest/lib530.c:395,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 3
    argNames:
    - URL
    - timer_fail_at
    - socket_fail_at
    argTypes:
    - char*
    - int
    - int
    assertStmts:
    - condition: (maxFd)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/PROJ/curl/tests/libtest/lib530.c
    constantsTouched: []
    func_position:
      end: 398
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 398
    functionName: testone
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_checkFdSet
    - abort_on_test_timeout
    - t530_checkForCompletion
    - FD_ZERO
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - t530_updateFdSet
    - multi_init
    - easy_setopt
    - assert
    - curl_multi_cleanup
    - memset
    - t530_getMicroSecondTimeout
    - res_global_init
    - socket_action
    - multi_add_handle
    - select_test
    - multi_setopt
    - free
    - t530_msg
    - easy_init
    - start_test_timing
    - curl_global_cleanup
    - curlx_sztosi
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode testone(const char *URL, int timer_fail_at, int socket_fail_at)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: testone
      Src: /src/PROJ/curl/tests/libtest/lib530.c:405,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:407,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:407,1
    - Dst: testone
      Src: /src/PROJ/curl/tests/libtest/lib530.c:409,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:411,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:411,1
    - Dst: testone
      Src: /src/PROJ/curl/tests/libtest/lib530.c:413,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:415,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:415,1
    - Dst: testone
      Src: /src/PROJ/curl/tests/libtest/lib530.c:417,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:419,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:419,1
    - Dst: testone
      Src: /src/PROJ/curl/tests/libtest/lib530.c:421,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib530.c:423,1
    - Dst: t530_tag
      Src: /src/PROJ/curl/tests/libtest/lib530.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 426
    functionName: test_lib530
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - testone
    - t530_tag
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib530(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:36,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:44,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:53,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:57,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1938.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: test_lib1938
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1938.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1938(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib553.c:41,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib553.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: myreadfunc
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib553.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t myreadfunc(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib553.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib553.c:68,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib553.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib553.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib553.c:75,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib553.c:80,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib553.c:81,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib553.c:83,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib553.c:89,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:94,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:96,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:97,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:99,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib553.c:100,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib553.c:102,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib553.c:106,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib553.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib553.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: test_lib553
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib553.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_msnprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - memset
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib553(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib674.c:40,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib674.c:41,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib674.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib674.c:46,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib674.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib674.c:52,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib674.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib674.c:59,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib674.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib674.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib674.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib674.c:67,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib674.c:71,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib674.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib674.c:73,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib674.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib674.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib674.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 82
    functionName: test_lib674
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib674.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_duphandle
    - curl_mfprintf
    - curl_url
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib674(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:36,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:38,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:46,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:65,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:75,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:77,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:81,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:94,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:100,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:103,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:105,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:109,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:119,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:121,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:124,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:126,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:138,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1535.c:140,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 142
    functionName: test_lib1535
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1535.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_duphandle
    - curl_mfprintf
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1535(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: get_transfer_for_easy_d
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct transfer_d
    signature: struct transfer_d *get_transfer_for_easy_d(CURL *curl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:90,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:95,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:97,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:105,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:112,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 123
    functionName: my_write_d_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curl_mfprintf
    - curlx_fopen
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t my_write_d_cb(char *buf, size_t nitems, size_t buflen,\n                            void
      *userdata)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:134,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:146,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:148,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:150,1
    - Dst: SSL_get_version
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:156,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:157,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:158,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:158,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:159,1
    - Dst: wolfSSL_get_version
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:166,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:167,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:168,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:168,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:169,1
    - Dst: gnutls_protocol_get_version
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:176,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:177,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:178,1
    - Dst: gnutls_protocol_get_name
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:179,1
    - Dst: mbedtls_ssl_get_version
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:185,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:187,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:188,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:188,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:189,1
    - Dst: rustls_connection_get_protocol_version
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:196,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:198,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:199,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:205,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - userdata
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts:
    - condition: (strcmp(version, "unknown"))
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (v)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (0)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (version)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (strcmp(version, "unknown"))
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (v)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (strcmp(version, "unknown"))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (version)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    - condition: (version)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    constantsTouched: []
    func_position:
      end: 213
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 213
    functionName: my_progress_d_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - strcmp
    - wolfSSL_get_version
    - gnutls_protocol_get_name
    - mbedtls_ssl_get_version
    - SSL_get_version
    - assert
    - gnutls_protocol_get_version
    - rustls_connection_get_protocol_version
    linkageType: ''
    returnType: int
    signature: "int my_progress_d_cb(void *userdata,\n                            curl_off_t
      dltotal, curl_off_t dlnow,\n                            curl_off_t ultotal,
      curl_off_t ulnow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:220,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:221,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:222,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:223,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:224,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:225,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:226,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:227,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:228,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:229,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:230,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:231,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:233,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:235,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:237,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:239,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:243,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:244,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 8
    argNames:
    - curl
    - url
    - t
    - http_version
    - host
    - share
    - use_earlydata
    - fresh_connect
    argTypes:
    - CURL*
    - char*
    - struct transfer_d*
    - long
    - struct curl_slist*
    - CURLSH*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 251
    functionName: setup_hx_download
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: "int setup_hx_download(CURL *curl, const char *url, struct transfer_d
      *t,\n                             long http_version, struct curl_slist *host,\n
      \                            CURLSH *share, int use_earlydata,\n                             int
      fresh_connect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:256,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:257,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: usage_hx_download
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_hx_download(const char *msg)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:303,1
    - Dst: usage_hx_download
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:307,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:320,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:323,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:329,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:332,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:335,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:338,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:341,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:342,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:345,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:348,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:350,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:352,1
    - Dst: usage_hx_download
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:355,1
    - Dst: usage_hx_download
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:362,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:370,1
    - Dst: usage_hx_download
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:373,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:379,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:380,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:386,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:388,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:390,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:394,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:395,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:396,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:398,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:399,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:401,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:403,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:408,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:409,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:410,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:412,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:427,1
    - Dst: setup_hx_download
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:429,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:431,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:435,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:438,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:443,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:447,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:455,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:459,1
    - Dst: get_transfer_for_easy_d
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:460,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:464,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:468,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:469,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:474,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:475,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:485,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:488,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:499,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:500,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:510,1
    - Dst: setup_hx_download
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:512,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:514,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:518,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:521,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:535,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:541,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:545,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:551,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:553,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:556,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:557,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:559,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/cli_hx_download.c:563,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 228
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts:
    - condition: (t->checked_ssl)
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    constantsTouched: []
    func_position:
      end: 566
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 566
    functionName: test_cli_hx_download
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - usage_hx_download
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_global_trace
    - curl_easy_pause
    - curl_multi_perform
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_multi_cleanup
    - assert
    - setup_hx_download
    - curlx_fclose
    - curl_share_setopt
    - curl_share_cleanup
    - curl_slist_free_all
    - curl_multi_add_handle
    - calloc
    - get_transfer_for_easy_d
    - curl_multi_setopt
    - curl_global_init
    - curl_multi_poll
    - free
    - atol
    - cgetopt
    - strcmp
    - curl_share_init
    - curl_multi_info_read
    - curl_global_cleanup
    - strdup
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_hx_download(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:37,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:40,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:44,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:54,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - curl
    - url
    - seq
    - auth_scheme
    - userpwd
    argTypes:
    - CURL*
    - char*
    - int
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: send_request
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - free
    - curl_mfprintf
    - curl_msnprintf
    - curl_easy_perform
    - test_setopt
    - strlen
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_request(CURL *curl, const char *url, int seq,\n                             long
      auth_scheme, const char *userpwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curl
    - url
    - seq
    - auth_scheme
    argTypes:
    - CURL*
    - char*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: send_wrong_password
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - send_request
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_wrong_password(CURL *curl, const char *url, int seq,\n
      \                                   long auth_scheme)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curl
    - url
    - seq
    - auth_scheme
    argTypes:
    - CURL*
    - char*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: send_right_password
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - send_request
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_right_password(CURL *curl, const char *url, int seq,\n
      \                                   long auth_scheme)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:77,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:79,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: parse_auth_name
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: long
    signature: long parse_auth_name(const char *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parse_auth_name
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:91,1
    - Dst: parse_auth_name
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:96,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:100,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:101,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:107,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:110,1
    - Dst: send_wrong_password
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:114,1
    - Dst: send_right_password
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:118,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:122,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:125,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:127,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:128,1
    - Dst: send_wrong_password
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:132,1
    - Dst: send_wrong_password
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:136,1
    - Dst: send_right_password
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:140,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:146,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2023.c:147,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 150
    functionName: test_lib2023
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - parse_auth_name
    - curl_mfprintf
    - send_wrong_password
    - send_right_password
    - curl_easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2023(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:34,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: usage_h2_pausing
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_h2_pausing(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:67,1
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:74,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts:
    - condition: (handle->paused == 1)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 5
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t cb(char *data, size_t size, size_t nmemb, void *clientp)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:104,1
    - Dst: usage_h2_pausing
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:107,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:110,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:112,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:114,1
    - Dst: usage_h2_pausing
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:117,1
    - Dst: usage_h2_pausing
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:123,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:131,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:136,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:137,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:141,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:143,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:145,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:147,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:151,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:152,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:156,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:157,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:161,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:162,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:166,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:167,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:169,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:171,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:177,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:179,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:181,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:185,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:186,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:188,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:192,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:193,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:194,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:198,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:201,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:203,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:208,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:209,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:210,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:217,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:218,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:219,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:226,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:227,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:229,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:233,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:238,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:242,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:248,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:255,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:256,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:262,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:264,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:267,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:281,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:286,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:288,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:295,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:296,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:298,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:305,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:306,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:307,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:310,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:311,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:312,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:313,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:314,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c:315,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 182
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 318
    functionName: test_cli_h2_pausing
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_free
    - usage_h2_pausing
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_global_trace
    - curl_url_set
    - curl_easy_pause
    - curl_multi_perform
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_multi_cleanup
    - memset
    - curl_url_cleanup
    - curl_url
    - curl_slist_free_all
    - CURL_ARRAYSIZE
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - strcmp
    - cgetopt
    - curl_msnprintf
    - curl_multi_info_read
    - curl_global_cleanup
    - curl_url_get
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_h2_pausing(const char *URL)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:39,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:41,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:42,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:44,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:46,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:47,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:49,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:51,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:53,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:55,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:56,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:59,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:62,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:65,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:66,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:69,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:74,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib576.c:78,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:79,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - f
    - ptr
    - remains
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 83
    functionName: chunk_bgn
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib576.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - strcmp
    linkageType: ''
    returnType: long
    signature: long chunk_bgn(const void *f, void *ptr, int remains)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:90,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib576.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: chunk_end
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib576.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: long
    signature: long chunk_end(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib576.c:104,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib576.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib576.c:111,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib576.c:112,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib576.c:113,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib576.c:114,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib576.c:115,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib576.c:117,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib576.c:121,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib576.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 124
    functionName: test_lib576
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib576.c
    functionUses: 0
    functionsReached:
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib576(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib539.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib539.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib539.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib539.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib539.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib539.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib539.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib539.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib539.c:54,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib539.c:64,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib539.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib539.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib539.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib539.c:72,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib539.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib539.c:74,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib539.c:76,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib539.c:80,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib539.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib539.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib539.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 86
    functionName: test_lib539
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib539.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib539(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib590.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib590.c:49,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib590.c:53,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib590.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib590.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:62,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:67,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib590.c:69,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib590.c:71,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib590.c:75,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib590.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib590.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib590.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 86
    functionName: test_lib590
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib590.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib590(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:53,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:56,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib518.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - err
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: t518_store_errmsg
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: void t518_store_errmsg(const char *msg, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PROJ/curl/tests/libtest/lib518.c:67,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: t518_close_file_descriptors
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - close
    - free
    linkageType: ''
    returnType: void
    signature: void t518_close_file_descriptors(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib518.c:82,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:84,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:85,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib518.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: t518_fopen_works
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - t518_store_errmsg
    - curlx_fclose
    - curl_mfprintf
    - curlx_fopen
    linkageType: ''
    returnType: int
    signature: int t518_fopen_works(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/PROJ/curl/tests/libtest/lib518.c:108,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:109,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:110,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:116,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:117,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:120,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:124,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:125,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:126,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:142,1
    - Dst: setrlimit
      Src: /src/PROJ/curl/tests/libtest/lib518.c:144,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:146,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:147,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:153,1
    - Dst: setrlimit
      Src: /src/PROJ/curl/tests/libtest/lib518.c:155,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:157,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:158,1
    - Dst: getrlimit
      Src: /src/PROJ/curl/tests/libtest/lib518.c:164,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:165,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:166,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:172,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:173,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:176,1
    - Dst: RLIM_INFINITY
      Src: /src/PROJ/curl/tests/libtest/lib518.c:198,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:202,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:203,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:204,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:206,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:207,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:226,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:227,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib518.c:228,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:230,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:235,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:236,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:242,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:254,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:255,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:258,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:259,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:260,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:266,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:267,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib518.c:269,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:272,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:273,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:274,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:280,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:287,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:288,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/tests/libtest/lib518.c:292,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:294,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:295,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:296,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:297,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:299,1
    - Dst: dup
      Src: /src/PROJ/curl/tests/libtest/lib518.c:309,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:315,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:316,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:318,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:320,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:321,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:323,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:327,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:328,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:329,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:331,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:332,1
    - Dst: close
      Src: /src/PROJ/curl/tests/libtest/lib518.c:337,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:338,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:340,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:345,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:346,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:363,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:365,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:366,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:367,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:368,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:378,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:380,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:381,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:382,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:383,1
    - Dst: t518_fopen_works
      Src: /src/PROJ/curl/tests/libtest/lib518.c:399,1
    - Dst: tutil_rlim2str
      Src: /src/PROJ/curl/tests/libtest/lib518.c:400,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:401,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:403,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:404,1
    - Dst: t518_store_errmsg
      Src: /src/PROJ/curl/tests/libtest/lib518.c:406,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:407,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:408,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib518.c:415,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:420,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 165
    argCount: 1
    argNames:
    - keep_open
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 424
    functionName: t518_test_rlimit
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - free
    - curl_mfprintf
    - tutil_rlim2str
    - curlx_open
    - RLIM_INFINITY
    - dup
    - curl_msnprintf
    - close
    - t518_store_errmsg
    - getrlimit
    - t518_fopen_works
    - malloc
    - t518_close_file_descriptors
    - setrlimit
    linkageType: ''
    returnType: int
    signature: int t518_test_rlimit(int keep_open)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib518.c:431,1
    - Dst: t518_test_rlimit
      Src: /src/PROJ/curl/tests/libtest/lib518.c:433,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:434,1
    - Dst: t518_test_rlimit
      Src: /src/PROJ/curl/tests/libtest/lib518.c:440,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib518.c:448,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:449,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:450,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib518.c:454,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:456,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:457,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib518.c:458,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib518.c:462,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib518.c:463,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib518.c:465,1
    - Dst: t518_close_file_descriptors
      Src: /src/PROJ/curl/tests/libtest/lib518.c:469,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib518.c:470,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib518.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 474
    functionName: test_lib518
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - t518_test_rlimit
    - t518_close_file_descriptors
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib518(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib518.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: test_lib518
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib518(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib523.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib523.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib523.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib523.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib523.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib523.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib523.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib523.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib523.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib523.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib523.c:51,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib523.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib523.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: test_lib523
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib523.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib523(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib515.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib515.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib515.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib515.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib515.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib515.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib515.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib515.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib515.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib515.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib515.c:53,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib515.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib515.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib515
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib515.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib515(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib591.c:40,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib591.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib591.c:45,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib591.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib591.c:47,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib591.c:51,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib591.c:53,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib591.c:57,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib591.c:60,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib591.c:63,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib591.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib591.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib591.c:72,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib591.c:75,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/libtest/lib591.c:75,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib591.c:77,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib591.c:79,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib591.c:89,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib591.c:91,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib591.c:96,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib591.c:97,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib591.c:98,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib591.c:100,1
    - Dst: multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib591.c:104,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib591.c:123,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib591.c:125,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib591.c:128,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib591.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib591.c:137,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib591.c:138,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib591.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 144
    functionName: test_lib591
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib591.c
    functionUses: 0
    functionsReached:
    - multi_timeout
    - abort_on_test_timeout
    - multi_fdset
    - curlx_strerror
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_mfprintf
    - curlx_fopen
    - curl_multi_cleanup
    - curlx_fclose
    - res_global_init
    - multi_add_handle
    - select_test
    - atol
    - easy_init
    - curl_multi_info_read
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib591(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: opensocket
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t opensocket(void *clientp,\n                                curlsocktype
      purpose,\n                                struct curl_sockaddr *address)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:45,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:46,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1530.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: test_lib1530
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1530(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib507.c:37,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib507.c:39,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib507.c:41,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib507.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib507.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib507.c:46,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib507.c:48,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib507.c:50,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib507.c:52,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib507.c:61,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib507.c:62,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib507.c:63,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib507.c:67,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib507.c:71,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib507.c:73,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib507.c:75,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib507.c:77,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib507.c:80,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib507.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib507.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib507.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 98
    functionName: test_lib507
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib507.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_multi_info_read
    - multi_add_handle
    - curl_easy_cleanup
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib507(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib655.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:39,1
    - Dst: exit
      Src: /src/PROJ/curl/tests/libtest/lib655.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - resolver_state
    - reserved
    - userdata
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: resolver_alloc_cb_fail
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib655.c
    functionUses: 0
    functionsReached:
    - exit
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int resolver_alloc_cb_fail(void *resolver_state, void *reserved,\n
      \                                 void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib655.c:53,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:54,1
    - Dst: exit
      Src: /src/PROJ/curl/tests/libtest/lib655.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - resolver_state
    - reserved
    - userdata
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: resolver_alloc_cb_pass
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib655.c
    functionUses: 0
    functionsReached:
    - exit
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int resolver_alloc_cb_pass(void *resolver_state, void *reserved,\n
      \                                 void *userdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib655.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:67,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib655.c:70,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:72,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib655.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib655.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib655.c:81,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib655.c:84,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib655.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib655.c:97,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib655.c:100,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib655.c:107,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib655.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib655.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 118
    functionName: test_lib655
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib655.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib655(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:36,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:38,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:39,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:41,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:42,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:43,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:46,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:47,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:49,1
    - Dst: multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:51,1
    - Dst: multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:57,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:58,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1557.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1557
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1557.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - multi_remove_handle
    - global_init
    - easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - curl_global_cleanup
    - multi_perform
    - multi_init
    - multi_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1557(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:44,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:45,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:47,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:50,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:56,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:58,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:60,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:62,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:65,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:67,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:73,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:75,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:77,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:79,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:82,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:84,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:86,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:96,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:98,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:103,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:104,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:105,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:107,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:111,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:113,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:115,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:122,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:123,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:124,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:127,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:129,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1506.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 133
    functionName: test_lib1506
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1506.c
    functionUses: 0
    functionsReached:
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_multi_cleanup
    - global_init
    - curl_slist_free_all
    - CURL_ARRAYSIZE
    - multi_add_handle
    - select_test
    - multi_setopt
    - curl_msnprintf
    - easy_init
    - curlx_wait_ms
    - curl_mprintf
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1506(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:38,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:40,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:42,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:48,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:49,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:51,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:53,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:55,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:60,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:62,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:67,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:69,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:71,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:74,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1552.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: test_lib1552
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1552.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - easy_init
    - curl_multi_cleanup
    - curl_multi_wait
    - multi_add_handle
    - curl_mprintf
    - curl_multi_info_read
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1552(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:55,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:57,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:59,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3100.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib3100
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3100.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3100(const char *URL)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib572.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib572.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib572.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib572.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib572.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:59,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib572.c:62,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:67,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib572.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:71,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:72,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib572.c:73,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib572.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:82,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib572.c:83,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/tests/libtest/lib572.c:87,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib572.c:89,1
    - Dst: fstat
      Src: /src/PROJ/curl/tests/libtest/lib572.c:93,1
    - Dst: close
      Src: /src/PROJ/curl/tests/libtest/lib572.c:94,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib572.c:96,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib572.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:102,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:104,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:106,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib572.c:108,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:112,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib572.c:113,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib572.c:117,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:122,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib572.c:123,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib572.c:126,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib572.c:132,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:137,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib572.c:138,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:141,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:142,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib572.c:144,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:148,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib572.c:151,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:156,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib572.c:157,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib572.c:160,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib572.c:161,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib572.c:166,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib572.c:168,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib572.c:171,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib572.c:173,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib572.c:174,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 116
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 177
    functionName: test_lib572
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib572.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - tutil_suburl
    - curl_easy_init
    - curl_slist_free_all
    - curlx_fopen
    - fstat
    - curl_easy_perform
    - test_setopt
    - close
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curlx_open
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib572(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:45,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:47,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:48,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:50,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:56,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:58,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:61,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:64,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:70,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:75,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:79,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:81,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:92,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1510.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 99
    functionName: test_lib1510
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1510.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - abort_on_test_timeout
    - global_init
    - curl_msnprintf
    - curl_slist_free_all
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1510(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:38,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:40,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:42,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:45,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:53,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:55,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:76,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1593.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 81
    functionName: test_lib1593
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1593.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_slist_append
    - curl_easy_getinfo
    - global_init
    - curl_slist_free_all
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1593(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:53,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:67,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:70,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:71,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:72,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:73,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:74,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:75,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:76,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:77,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:78,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:79,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:80,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:81,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:82,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:83,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:84,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:85,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:86,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:89,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:91,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:93,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:95,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:99,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:100,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1978.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 105
    functionName: test_lib1978
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1978.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1978(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib555.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib555.c:52,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/libtest/lib555.c:53,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib555.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: t555_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib555.c
    functionUses: 0
    functionsReached:
    - strcpy
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t555_read_cb(char *ptr, size_t size, size_t nmemb, void *clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib555.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - curl
    - cmd
    - clientp
    argTypes:
    - CURL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: t555_ioctl_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib555.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: curlioerr
    signature: curlioerr t555_ioctl_callback(CURL *curl, int cmd, void *clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib555.c:79,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib555.c:81,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib555.c:83,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:85,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:86,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:87,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:90,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:91,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:93,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:94,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:97,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:99,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:100,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:101,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib555.c:102,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib555.c:105,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib555.c:107,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib555.c:117,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib555.c:119,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib555.c:124,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib555.c:125,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib555.c:126,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib555.c:128,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib555.c:132,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib555.c:134,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib555.c:141,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib555.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib555.c:143,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib555.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 147
    functionName: test_lib555
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib555.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib555(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:55,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:59,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1936.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib1936
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1936.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1936(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:39,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:40,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:43,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:43,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: t1527_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1527.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1527_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:54,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:55,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:62,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:66,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:79,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:80,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:82,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:83,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:85,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:87,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:88,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:94,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1527.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 101
    functionName: test_lib1527
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1527.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1527(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:35,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:36,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:38,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:39,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:40,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:42,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:48,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:49,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:50,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:58,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:64,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1964.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: test_lib1964
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1964.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_slist_append
    - global_init
    - curl_slist_free_all
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1964(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t513_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib513.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t513_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib513.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib513.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib513.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib513.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib513.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:55,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:67,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib513.c:73,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib513.c:76,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib513.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib513.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 85
    functionName: test_lib513
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib513.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib513(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:51,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:54,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:57,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:59,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:60,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: write_memory_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - free
    - memcpy
    - curl_mprintf
    - malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t write_memory_callback(char *contents, size_t size,\n                                    size_t
      nmemb, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:95,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:98,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:101,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:104,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 114
    functionName: test_thread
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_easy_strerror
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test_thread(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - curl
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: t3207_test_lock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_acquire
    linkageType: ''
    returnType: void
    signature: "void t3207_test_lock(CURL *curl, curl_lock_data data,\n                            curl_lock_access
      laccess, void *useptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - curl
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: t3207_test_unlock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_release
    linkageType: ''
    returnType: void
    signature: void t3207_test_unlock(CURL *curl, curl_lock_data data, void *useptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:139,1
    - Dst: Curl_mutex_init
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:140,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:142,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:143,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:144,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:145,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:147,1
    - Dst: Curl_thread_create
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:148,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:150,1
    - Dst: Curl_thread_join
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:152,1
    - Dst: Curl_thread_destroy
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:153,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:156,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:157,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:158,1
    - Dst: Curl_mutex_destroy
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - share
    - ctx
    argTypes:
    - CURLSH*
    - struct Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: execute
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 51
    functionsReached:
    - curl_share_setopt
    - Curl_thread_create
    - Curl_mutex_destroy
    - CURL_ARRAYSIZE
    - Curl_thread_destroy
    - Curl_thread_join
    - Curl_mutex_init
    linkageType: ''
    returnType: void
    signature: void execute(CURLSH *share, struct Ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_thread
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - share
    - ctx
    argTypes:
    - CURLSH*
    - struct Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: execute
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 51
    functionsReached:
    - test_thread
    linkageType: ''
    returnType: void
    signature: void execute(CURLSH *share, struct Ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:183,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:185,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:187,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:191,1
    - Dst: execute
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:199,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:201,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:208,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:212,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:217,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3207.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 220
    functionName: test_lib3207
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - curl_share_cleanup
    - curl_mfprintf
    - curl_share_init
    - curl_slist_free_all
    - CURL_ARRAYSIZE
    - curl_mprintf
    - execute
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3207(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - userp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: please_continue
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int please_continue(void *userp,\n                           curl_off_t
      dltotal,\n                           curl_off_t dlnow,\n                           curl_off_t
      ultotal,\n                           curl_off_t ulnow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: t1540_header_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t t1540_header_callback(char *ptr, size_t size, size_t nmemb,\n
      \                                   void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:75,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: t1540_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t t1540_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:90,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:92,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:94,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:96,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:99,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:100,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:101,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:102,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:103,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:105,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:106,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:107,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:111,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:112,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:113,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:119,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1540.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 123
    functionName: test_lib1540
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - memset
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1540(const char *URL)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/lib677.c:37,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib677.c:42,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib677.c:43,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib677.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib677.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib677.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib677.c:48,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib677.c:49,1
    - Dst: time
      Src: /src/PROJ/curl/tests/libtest/lib677.c:52,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib677.c:55,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib677.c:58,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib677.c:63,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib677.c:66,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib677.c:73,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib677.c:76,1
    - Dst: curl_easy_send
      Src: /src/PROJ/curl/tests/libtest/lib677.c:83,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib677.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib677.c:90,1
    - Dst: curl_easy_recv
      Src: /src/PROJ/curl/tests/libtest/lib677.c:105,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib677.c:110,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib677.c:111,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib677.c:124,1
    - Dst: putchar
      Src: /src/PROJ/curl/tests/libtest/lib677.c:125,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib677.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib677.c:130,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib677.c:131,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib677.c:133,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 135
    functionName: test_lib677
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib677.c
    functionUses: 0
    functionsReached:
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - multi_perform
    - multi_init
    - easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - fwrite
    - curl_multi_cleanup
    - curl_multi_wait
    - curl_easy_strerror
    - putchar
    - global_init
    - curl_multi_add_handle
    - curl_easy_recv
    - time
    - easy_init
    - curl_multi_info_read
    - curl_mprintf
    - curl_easy_send
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib677(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:48,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:52,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:54,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:55,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:58,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:60,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:62,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:70,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:72,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:76,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:79,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:87,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:88,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1512.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 93
    functionName: test_lib1512
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1512.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_slist_append
    - curl_mfprintf
    - curl_msnprintf
    - curl_slist_free_all
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - CURL_ARRAYSIZE
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1512(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:58,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1958.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1958
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1958.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1958(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:54,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: t1485_header_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1485.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - fwrite
    - curl_easy_getinfo
    linkageType: ''
    returnType: size_t
    signature: "size_t t1485_header_callback(char *ptr, size_t size, size_t nmemb,\n
      \                                   void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: t1485_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1485.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t t1485_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:94,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:96,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:98,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:100,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:103,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:104,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:105,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:106,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:107,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:109,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:111,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:115,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1485.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: test_lib1485
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1485.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - memset
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1485(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib583.c:41,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib583.c:43,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib583.c:45,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib583.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:50,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib583.c:57,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib583.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib583.c:64,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib583.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib583.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib583.c:70,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib583.c:71,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib583.c:73,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib583.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib583.c:84,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib583.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib583.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts:
    - condition: (test_argc >= 4)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/PROJ/curl/tests/libtest/lib583.c
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: test_lib583
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib583.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - global_init
    - curl_multi_remove_handle
    - easy_init
    - assert
    - curl_easy_cleanup
    - multi_add_handle
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib583(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:51,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:53,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1582.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: test_lib1582
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1582.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1582(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:33,1
    - Dst: curl_easy_option_next
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:35,1
    - Dst: curl_easy_option_next
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:37,1
    - Dst: curl_easy_option_by_name
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:39,1
    - Dst: curl_easy_option_by_id
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:41,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:44,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:48,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1918.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1918
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1918.c
    functionUses: 0
    functionsReached:
    - curl_easy_option_by_id
    - curl_easy_option_next
    - curl_mprintf
    - curl_global_cleanup
    - curl_easy_option_by_name
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1918(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t1507_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1507.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1507_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:48,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:50,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:54,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:68,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:69,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:71,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:74,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:87,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:88,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:89,1
    - Dst: curl_multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:95,1
    - Dst: curlx_mstotv
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:97,1
    - Dst: curl_multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:105,1
    - Dst: select
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:113,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:115,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:115,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:116,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:127,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:134,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:135,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:137,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1507.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 141
    functionName: test_lib1507
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1507.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curlx_now
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - multi_init
    - curl_multi_perform
    - curl_slist_append
    - curl_mfprintf
    - curlx_mstotv
    - curl_multi_cleanup
    - curl_multi_fdset
    - curl_slist_free_all
    - curlx_timediff
    - multi_add_handle
    - select
    - curl_global_init
    - curl_global_cleanup
    - easy_init
    - curl_multi_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1507(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:32,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:34,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:35,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:36,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:37,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:43,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:44,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1569.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: test_lib1569
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1569.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1569(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:34,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:35,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:37,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:40,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:41,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:45,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:47,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1558.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: test_lib1558
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1558.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1558(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib542.c:37,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib542.c:38,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib542.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib542.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib542.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib542.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib542.c:54,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib542.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib542.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib542.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib542.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib542.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 71
    functionName: test_lib542
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib542.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib542(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:48,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:50,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:58,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:59,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:60,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:62,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:63,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:65,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:72,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:73,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:74,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:78,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:79,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:81,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:82,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:84,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:88,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:97,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - multi
    - URL
    - resolve
    argTypes:
    - CURLM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 102
    functionName: do_one_request
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1515.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_slist_append
    - abort_on_test_timeout
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_slist_free_all
    - curl_multi_info_read
    - multi_add_handle
    - curl_easy_cleanup
    - select_test
    - multi_perform
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_one_request(CURLM *multi, const char *URL,\n                               const
      char *resolve)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:115,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:118,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:120,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:121,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:122,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:126,1
    - Dst: do_one_request
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:130,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:132,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:137,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:142,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1515.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: test_lib1515
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1515.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - global_init
    - curl_msnprintf
    - curlx_wait_ms
    - do_one_request
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_global_trace
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1515(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib501.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib501.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib501.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib501.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib501.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib501.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib501.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib501.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib501.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib501.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: test_lib501
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib501.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib501(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3101.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: test_lib3101
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3101.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3101(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:32,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:41,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:42,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1910.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: test_lib1910
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1910.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1910(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib766.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: sockopt_766
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib766.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int sockopt_766(void *clientp,\n                       curl_socket_t
      curlfd,\n                       curlsocktype purpose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib766.c:48,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib766.c:50,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib766.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib766.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib766.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib766.c:55,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib766.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib766.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib766.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib766.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: test_lib766
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib766.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - res_global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib766(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib578.c:36,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib578.c:44,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib578.c:46,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib578.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: t578_progress_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib578.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - curl_mfprintf
    - curlx_fopen
    linkageType: ''
    returnType: int
    signature: "int t578_progress_callback(void *clientp, double dltotal, double dlnow,\n
      \                                 double ultotal, double ulnow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib578.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib578.c:59,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib578.c:63,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib578.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib578.c:66,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:71,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:82,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:85,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib578.c:88,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib578.c:91,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib578.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib578.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: test_lib578
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib578.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib578(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib558.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib558.c:39,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib558.c:43,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/libtest/lib558.c:44,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib558.c:47,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib558.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib558.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib558
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib558.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_global_cleanup
    - Curl_safefree
    - malloc
    - curl_easy_escape
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib558(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:34,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:35,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:36,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:37,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:39,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:41,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:45,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1919.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1919
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1919.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1919(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_recv
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:49,1
    - Dst: curl_easy_send
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:50,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - arg
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: progressCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1555.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_easy_recv
    - curl_easy_send
    linkageType: ''
    returnType: int
    signature: "int progressCallback(void *arg,\n                            double
      dltotal,\n                            double dlnow,\n                            double
      ultotal,\n                            double ulnow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:60,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:62,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:64,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:65,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:67,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:69,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1555.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: test_lib1555
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1555.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1555(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:41,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:46,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:47,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:48,1
    - Dst: curl_escape
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:51,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:56,1
    - Dst: curl_easy_unescape
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:58,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:58,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:59,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:60,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:61,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:62,1
    - Dst: curl_unescape
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:65,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:65,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:70,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:71,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:72,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:73,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:74,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:75,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:78,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:79,1
    - Dst: curl_easy_unescape
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:83,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:84,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1537.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 91
    functionName: test_lib1537
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1537.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_global_cleanup
    - curl_mprintf
    - strlen
    - memcmp
    - curl_easy_unescape
    - curl_easy_escape
    - curl_escape
    - curl_unescape
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1537(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib552.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: t552_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t552_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib552.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: t552_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t552_write_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib552.c:61,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib552.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - curl
    - cmd
    - clientp
    argTypes:
    - CURL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: ioctl_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: curlioerr
    signature: curlioerr ioctl_callback(CURL *curl, int cmd, void *clientp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib552.c:80,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib552.c:81,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:83,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:86,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:93,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:96,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:97,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:100,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:103,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:105,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:107,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib552.c:111,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib552.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib552.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib552.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 120
    functionName: test_lib552
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - global_init
    - easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib552(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:47,1
    - Dst: memmove
      Src: /src/PROJ/curl/tests/libtest/lib582.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fd
    - mention
    argTypes:
    - struct t582_Sockets*
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: t582_removeFd
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - memmove
    linkageType: ''
    returnType: void
    signature: "void t582_removeFd(struct t582_Sockets *sockets, curl_socket_t fd,\n
      \                         int mention)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:69,1
    - Dst: t582_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib582.c:70,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib582.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:82,1
    - Dst: exit
      Src: /src/PROJ/curl/tests/libtest/lib582.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sockets
    - fd
    - what
    argTypes:
    - struct t582_Sockets*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: t582_addFd
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - malloc
    - exit
    - curl_mfprintf
    - t582_removeFd
    linkageType: ''
    returnType: void
    signature: "void t582_addFd(struct t582_Sockets *sockets, curl_socket_t fd,\n
      \                      const char *what)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t582_addFd
      Src: /src/PROJ/curl/tests/libtest/lib582.c:104,1
    - Dst: t582_addFd
      Src: /src/PROJ/curl/tests/libtest/lib582.c:107,1
    - Dst: t582_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib582.c:110,1
    - Dst: t582_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib582.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - curl
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: t582_curlSocketCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - t582_addFd
    - t582_removeFd
    linkageType: ''
    returnType: int
    signature: "int t582_curlSocketCallback(CURL *curl, curl_socket_t s, int action,\n
      \                                  void *userp, void *socketp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib582.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: t582_curlTimerCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: int
    signature: int t582_curlTimerCallback(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib582.c:144,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - multi
    - success
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: t582_checkForCompletion
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_multi_info_read
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: int t582_checkForCompletion(CURLM *multi, int *success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib582.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: t582_getMicroSecondTimeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t t582_getMicroSecondTimeout(struct curltime *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/libtest/lib582.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sockets
    - fdset
    - maxFd
    argTypes:
    - struct t582_Sockets*
    - fd_set*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: t582_updateFdSet
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void t582_updateFdSet(struct t582_Sockets *sockets, fd_set* fdset,\n
      \                            curl_socket_t *maxFd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/tests/libtest/lib582.c:203,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:206,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib582.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - multi
    - s
    - evBitmask
    - info
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: notifyCurl
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - curl_multi_strerror
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void notifyCurl(CURLM *multi, curl_socket_t s, int evBitmask,\n                       const
      char *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/libtest/lib582.c:219,1
    - Dst: notifyCurl
      Src: /src/PROJ/curl/tests/libtest/lib582.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - multi
    - sockets
    - fdset
    - evBitmask
    - name
    argTypes:
    - CURLM*
    - struct t582_Sockets*
    - fd_set*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: t582_checkFdSet
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - notifyCurl
    linkageType: ''
    returnType: void
    signature: "void t582_checkFdSet(CURLM *multi, struct t582_Sockets *sockets,\n
      \                           fd_set *fdset, int evBitmask, const char *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/curl/tests/libtest/lib582.c:239,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib582.c:241,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:244,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib582.c:248,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:250,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib582.c:251,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:252,1
    - Dst: stat
      Src: /src/PROJ/curl/tests/libtest/lib582.c:259,1
    - Dst: fstat
      Src: /src/PROJ/curl/tests/libtest/lib582.c:261,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/libtest/lib582.c:261,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:265,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib582.c:266,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:267,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib582.c:268,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:271,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib582.c:274,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib582.c:276,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib582.c:280,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:283,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:286,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:289,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:292,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:294,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:295,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:296,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:297,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:299,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib582.c:301,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:303,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:304,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:306,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib582.c:307,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib582.c:309,1
    - Dst: t582_checkForCompletion
      Src: /src/PROJ/curl/tests/libtest/lib582.c:311,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib582.c:317,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib582.c:318,1
    - Dst: t582_updateFdSet
      Src: /src/PROJ/curl/tests/libtest/lib582.c:319,1
    - Dst: t582_updateFdSet
      Src: /src/PROJ/curl/tests/libtest/lib582.c:320,1
    - Dst: curlx_sztosi
      Src: /src/PROJ/curl/tests/libtest/lib582.c:323,1
    - Dst: t582_getMicroSecondTimeout
      Src: /src/PROJ/curl/tests/libtest/lib582.c:323,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib582.c:332,1
    - Dst: t582_checkFdSet
      Src: /src/PROJ/curl/tests/libtest/lib582.c:335,1
    - Dst: t582_checkFdSet
      Src: /src/PROJ/curl/tests/libtest/lib582.c:337,1
    - Dst: t582_getMicroSecondTimeout
      Src: /src/PROJ/curl/tests/libtest/lib582.c:341,1
    - Dst: notifyCurl
      Src: /src/PROJ/curl/tests/libtest/lib582.c:343,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib582.c:346,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib582.c:350,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib582.c:358,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib582.c:359,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib582.c:360,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib582.c:361,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib582.c:364,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib582.c:367,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib582.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 80
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts:
    - condition: (test_argc >= 5)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/PROJ/curl/tests/libtest/lib582.c
    constantsTouched: []
    func_position:
      end: 371
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 371
    functionName: test_lib582
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - fileno
    - abort_on_test_timeout
    - curl_multi_remove_handle
    - curlx_strerror
    - FD_ZERO
    - t582_updateFdSet
    - curl_easy_cleanup
    - multi_init
    - easy_setopt
    - t582_checkForCompletion
    - curl_mfprintf
    - curlx_fopen
    - assert
    - fstat
    - curl_multi_cleanup
    - curlx_fclose
    - notifyCurl
    - t582_getMicroSecondTimeout
    - res_global_init
    - multi_add_handle
    - select_test
    - t582_checkFdSet
    - multi_setopt
    - free
    - stat
    - easy_init
    - start_test_timing
    - curl_global_cleanup
    - curlx_sztosi
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib582(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:33,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:36,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:44,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1529.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1529
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1529.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_msnprintf
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1529(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:51,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:52,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:58,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1957.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1957
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1957.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1957(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:51,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:55,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:56,1
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:58,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:61,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:69,1
    - Dst: res_multi_wakeup
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:76,1
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:78,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 86
    functionName: t1565_run_thread
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1565.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - res_multi_wakeup
    - easy_init
    - curlx_wait_ms
    - curl_easy_cleanup
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void *t1565_run_thread(void *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:102,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:104,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:106,1
    - Dst: pthread_create
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:114,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:120,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:122,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:124,1
    - Dst: multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:129,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:133,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:140,1
    - Dst: multi_poll
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:146,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:148,1
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:150,1
    - Dst: res_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:153,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:155,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:164,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:166,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:170,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:176,1
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:183,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:186,1
    - Dst: pthread_join
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:189,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:191,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:193,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:195,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1565.c:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 199
    functionName: test_lib1565
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1565.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - pthread_create
    - curl_mfprintf
    - multi_remove_handle
    - abort_on_test_timeout
    - global_init
    - multi_poll
    - pthread_join
    - curl_multi_cleanup
    - curl_multi_info_read
    - curl_easy_cleanup
    - res_multi_add_handle
    - curl_global_cleanup
    - start_test_timing
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1565(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: test_lib1565
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1565.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1565(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: t1940_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1940.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1940_write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:55,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:62,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:67,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - curl
    - header_request
    - type
    argTypes:
    - CURL*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 78
    functionName: t1940_showem
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1940.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_easy_header
    linkageType: ''
    returnType: void
    signature: void t1940_showem(CURL *curl, int header_request, unsigned int type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:93,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:94,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:95,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:96,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:97,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:99,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:103,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:104,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:106,1
    - Dst: t1940_showem
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:110,1
    - Dst: t1940_showem
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:113,1
    - Dst: t1940_showem
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:115,1
    - Dst: t1940_showem
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:116,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:119,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1940.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: test_lib1940
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1940.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - t1940_showem
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1940(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:51,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib505.c:55,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:57,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib505.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:59,1
    - Dst: stat
      Src: /src/PROJ/curl/tests/libtest/lib505.c:66,1
    - Dst: fstat
      Src: /src/PROJ/curl/tests/libtest/lib505.c:68,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/libtest/lib505.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:72,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib505.c:73,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:74,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:80,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:81,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib505.c:85,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:86,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:87,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib505.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:95,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:96,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib505.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:105,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:106,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:107,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib505.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib505.c:112,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib505.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:115,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:116,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib505.c:122,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib505.c:125,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib505.c:128,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib505.c:131,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib505.c:134,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib505.c:137,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib505.c:141,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib505.c:146,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib505.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:151,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib505.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 155
    functionName: test_lib505
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib505.c
    functionUses: 0
    functionsReached:
    - fileno
    - curl_slist_append
    - stat
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curlx_strerror
    - curlx_fopen
    - fstat
    - curl_easy_cleanup
    - test_setopt
    - curl_easy_perform
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib505(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:37,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:39,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:42,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:47,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:48,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1907.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1907
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1907.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1907(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1508.c:35,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1508.c:37,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1508.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1508.c:44,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1508.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: test_lib1508
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1508.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_multi_cleanup
    - curl_mprintf
    - curl_global_cleanup
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1508(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - curl
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: t1554_test_lock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1554.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: "void t1554_test_lock(CURL *curl, curl_lock_data data,\n                            curl_lock_access
      laccess, void *useptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curl
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: t1554_test_unlock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1554.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void t1554_test_unlock(CURL *curl, curl_lock_data data, void *useptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:65,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:69,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:73,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:74,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:75,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:86,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:96,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:97,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1554.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 108
    functionName: test_lib1554
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1554.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - curl_easy_setopt
    - curl_share_cleanup
    - curl_mfprintf
    - curl_share_init
    - global_init
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1554(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: res_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib540.c:46,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:50,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:54,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:58,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:62,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:66,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:70,1
    - Dst: res_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib540.c:75,1
    - Dst: res_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib540.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib540.c:87,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 5
    argNames:
    - num
    - multi
    - url
    - userpwd
    - headers
    argTypes:
    - int
    - CURLM*
    - char*
    - char*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 91
    functionName: init
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib540.c
    functionUses: 280
    functionsReached:
    - curl_easy_cleanup
    - res_easy_init
    - res_easy_setopt
    - res_multi_add_handle
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init(int num, CURLM *multi, const char *url,\n                     const
      char *userpwd, struct curl_slist *headers)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PROJ/curl/tests/libtest/lib540.c:103,1
    - Dst: res_multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib540.c:111,1
    - Dst: res_test_timedout
      Src: /src/PROJ/curl/tests/libtest/lib540.c:115,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib540.c:120,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib540.c:121,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib540.c:122,1
    - Dst: res_multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib540.c:124,1
    - Dst: res_multi_timeout
      Src: /src/PROJ/curl/tests/libtest/lib540.c:130,1
    - Dst: res_select_test
      Src: /src/PROJ/curl/tests/libtest/lib540.c:151,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib540.c:157,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib540.c:163,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib540.c:164,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib540.c:165,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib540.c:166,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib540.c:167,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib540.c:175,1
    - Dst: res_test_timedout
      Src: /src/PROJ/curl/tests/libtest/lib540.c:178,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - num
    - multi
    - url
    - userpwd
    - headers
    argTypes:
    - int
    - CURLM*
    - char*
    - char*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 184
    functionName: loop
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib540.c
    functionUses: 2
    functionsReached:
    - res_multi_timeout
    - res_multi_perform
    - res_select_test
    - curl_mfprintf
    - res_test_timedout
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_multi_info_read
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - init
    - curl_easy_strerror
    - res_multi_fdset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode loop(int num, CURLM *multi, const char *url,\n                     const
      char *userpwd, struct curl_slist *headers)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib540.c:197,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib540.c:200,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib540.c:206,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib540.c:209,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib540.c:211,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib540.c:215,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib540.c:217,1
    - Dst: res_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib540.c:221,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib540.c:223,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib540.c:224,1
    - Dst: loop
      Src: /src/PROJ/curl/tests/libtest/lib540.c:228,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib540.c:232,1
    - Dst: loop
      Src: /src/PROJ/curl/tests/libtest/lib540.c:234,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib540.c:240,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib540.c:241,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib540.c:242,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib540.c:245,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib540.c:246,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib540.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 251
    functionName: test_lib540
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib540.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - res_multi_init
    - res_global_init
    - curl_msnprintf
    - curl_slist_free_all
    - curl_multi_remove_handle
    - loop
    - curl_multi_cleanup
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - curl_global_cleanup
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib540(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:34,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:36,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:38,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:39,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:40,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:43,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:45,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:58,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:73,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1511.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: test_lib1511
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1511.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1511(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:34,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:39,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:42,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:56,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3025.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: test_lib3025
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3025.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3025(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:38,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:39,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:41,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:50,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:54,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:55,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:58,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:60,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:61,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:62,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:63,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:64,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:65,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:66,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:67,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:68,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:69,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1559.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 78
    functionName: test_lib1559
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1559.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - free
    - curl_url
    - global_init
    - easy_init
    - curl_easy_cleanup
    - memset
    - curl_mprintf
    - curl_global_cleanup
    - malloc
    - curl_url_cleanup
    - curl_url_set
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1559(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - opaque
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: write_h2_upg_extreme_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t write_h2_upg_extreme_cb(char *ptr, size_t size, size_t nmemb,\n
      \                                     void *opaque)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:49,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:53,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:54,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:60,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:81,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:87,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:89,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:91,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:92,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:93,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:99,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:101,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:102,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:107,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:109,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:110,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:117,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:121,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:122,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:129,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:134,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:139,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:140,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:141,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:146,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:151,1
    - Dst: curl_multi_get_handles
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:157,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:161,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:162,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:164,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:166,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c:169,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 172
    functionName: test_cli_h2_upgrade_extreme
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_free
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_strerror
    - curl_multi_add_handle
    - curl_multi_info_read
    - curl_multi_get_handles
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_h2_upgrade_extreme(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:34,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:39,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:42,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:50,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:56,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:61,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1549.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 76
    functionName: test_lib1549
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1549.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1549(const char *URL)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:42,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib541.c:46,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:48,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib541.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:50,1
    - Dst: stat
      Src: /src/PROJ/curl/tests/libtest/lib541.c:57,1
    - Dst: fstat
      Src: /src/PROJ/curl/tests/libtest/lib541.c:59,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/libtest/lib541.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:63,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/libtest/lib541.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:65,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib541.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:71,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib541.c:72,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib541.c:76,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:77,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib541.c:78,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib541.c:83,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib541.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib541.c:86,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib541.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib541.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib541.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib541.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib541.c:101,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib541.c:104,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib541.c:110,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib541.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib541.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib541.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 121
    functionName: test_lib541
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib541.c
    functionUses: 0
    functionsReached:
    - fileno
    - stat
    - curl_mfprintf
    - curl_easy_init
    - curlx_strerror
    - curlx_fopen
    - fstat
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib541(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib533.c:38,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib533.c:40,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib533.c:42,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib533.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib533.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib533.c:46,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib533.c:48,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib533.c:50,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib533.c:52,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib533.c:62,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib533.c:64,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib533.c:68,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib533.c:70,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib533.c:74,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib533.c:75,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib533.c:76,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib533.c:77,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib533.c:80,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib533.c:86,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib533.c:87,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib533.c:88,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib533.c:90,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib533.c:94,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib533.c:96,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib533.c:103,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib533.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib533.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 108
    functionName: test_lib533
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib533.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - curl_mfprintf
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - curl_easy_reset
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib533(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib503.c:43,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib503.c:45,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib503.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:50,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:53,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:55,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib503.c:56,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib503.c:58,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib503.c:60,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib503.c:70,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib503.c:72,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib503.c:77,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib503.c:78,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib503.c:79,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib503.c:81,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib503.c:85,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib503.c:87,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib503.c:94,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib503.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib503.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib503.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 100
    functionName: test_lib503
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib503.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - curl_multi_remove_handle
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib503(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib659.c:38,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib659.c:39,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib659.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib659.c:44,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib659.c:49,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib659.c:50,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib659.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib659.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib659.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib659.c:57,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib659.c:58,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib659.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib659.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib659.c:65,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib659.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib659.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib659.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 76
    functionName: test_lib659
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib659.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mfprintf
    - curl_url
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib659(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nitems
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t1971_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1971.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1971_read_cb(char *ptr, size_t size, size_t nitems, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:44,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:45,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:62,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:63,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:66,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:70,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:72,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:76,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1971.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 82
    functionName: test_lib1971
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1971.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1971(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:58,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: t1520_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1520.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1520_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:76,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:80,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:83,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:87,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:90,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:93,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:94,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:96,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:97,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:98,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:100,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:105,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1520.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 109
    functionName: test_lib1520
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1520.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1520(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:33,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:37,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - curl
    - url
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: setup_h2_serverpush
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curlx_fopen
    linkageType: ''
    returnType: int
    signature: int setup_h2_serverpush(CURL *curl, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:72,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:83,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:85,1
    - Dst: curl_pushheader_bynum
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:89,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:90,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:93,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - parent
    - curl
    - num_headers
    - headers
    - userp
    argTypes:
    - CURL*
    - CURL*
    - size_t
    - struct curl_pushheaders*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 102
    functionName: server_push_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_pushheader_byname
    - curl_msnprintf
    - curlx_fopen
    - curl_pushheader_bynum
    linkageType: ''
    returnType: int
    signature: "int server_push_callback(CURL *parent,\n                                CURL
      *curl,\n                                size_t num_headers,\n                                struct
      curl_pushheaders *headers,\n                                void *userp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:118,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:122,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:123,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:127,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:133,1
    - Dst: setup_h2_serverpush
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:139,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:140,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:145,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:146,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:147,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:149,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:154,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:158,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:170,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:174,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:175,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:183,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:186,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:188,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 193
    functionName: test_cli_h2_serverpush
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c
    functionUses: 0
    functionsReached:
    - curl_multi_poll
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_multi_info_read
    - curl_easy_cleanup
    - curl_multi_add_handle
    - setup_h2_serverpush
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_h2_serverpush(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_nextheader
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:34,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - curl
    - type
    argTypes:
    - CURL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: t1945_showem
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1945.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_easy_nextheader
    linkageType: ''
    returnType: void
    signature: void t1945_showem(CURL *curl, unsigned int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: t1945_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1945.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1945_write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:54,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:66,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:68,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:70,1
    - Dst: t1945_showem
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:75,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1945.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: test_lib1945
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1945.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - t1945_showem
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1945(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib524.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib524.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib524.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib524.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib524.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib524.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib524.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib524.c:47,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib524.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib524.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib524.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: test_lib524
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib524.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib524(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib519.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib519.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib519.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib519.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib519.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib519.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib519.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib519.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib519.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib519.c:51,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib519.c:55,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib519.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib519.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib519.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: test_lib519
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib519.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib519(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:65,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - curl
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: t586_test_lock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void t586_test_lock(CURL *curl, curl_lock_data data,\n                           curl_lock_access
      laccess, void *useptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:92,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - curl
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: t586_test_unlock
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void t586_test_unlock(CURL *curl, curl_lock_data data, void *useptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib586.c:106,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:108,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:114,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:116,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:118,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib586.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:122,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: t586_test_fire
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void *t586_test_fire(void *ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:146,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib586.c:147,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:148,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:153,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/tests/libtest/lib586.c:154,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:156,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:157,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:162,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:163,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:166,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:167,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:170,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:171,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:174,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:180,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:181,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:182,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:195,1
    - Dst: t586_test_fire
      Src: /src/PROJ/curl/tests/libtest/lib586.c:196,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:201,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib586.c:202,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:204,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:205,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:206,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:210,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:211,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib586.c:212,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:214,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib586.c:215,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:218,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:219,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:221,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:225,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:231,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:232,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:235,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:236,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:238,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib586.c:241,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib586.c:242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 245
    functionName: test_lib586
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - curl_share_cleanup
    - curl_mfprintf
    - curl_share_init
    - curl_easy_init
    - curl_easy_perform
    - curl_mprintf
    - test_setopt
    - curl_easy_cleanup
    - t586_test_fire
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib586(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:33,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: t3026_run_thread
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: DWORD
    signature: DWORD t3026_run_thread(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:51,1
    - Dst: CreateThread
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:62,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:64,1
    - Dst: WaitForSingleObject
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:74,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:77,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 85
    functionName: test_lib3026
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - CreateThread
    - curl_mfprintf
    - CloseHandle
    - curl_version_info
    - curl_easy_strerror
    - GetLastError
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3026(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: t3026_run_thread
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: void
    signature: void *t3026_run_thread(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:112,1
    - Dst: pthread_create
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:121,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:123,1
    - Dst: pthread_join
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:133,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:135,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 143
    functionName: test_lib3026
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - curl_mfprintf
    - pthread_join
    - curl_version_info
    - curl_easy_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3026(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:151,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib3026.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: test_lib3026
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_version_info
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3026(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: t643_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t643_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib643.c:74,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib643.c:77,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:80,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib643.c:84,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:88,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:92,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:94,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:97,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib643.c:103,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib643.c:105,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/tests/libtest/lib643.c:108,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib643.c:112,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib643.c:114,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/tests/libtest/lib643.c:117,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:121,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib643.c:121,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib643.c:128,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:131,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:133,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:134,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:135,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:136,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib643.c:140,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib643.c:142,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:146,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib643.c:146,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:148,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:150,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:151,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:152,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:153,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib643.c:158,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib643.c:160,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:164,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib643.c:164,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:167,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:169,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:170,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:171,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:172,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib643.c:175,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib643.c:177,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:181,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib643.c:181,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:183,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:185,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:186,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:187,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:188,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib643.c:191,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/tests/libtest/lib643.c:193,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib643.c:195,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:198,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib643.c:198,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib643.c:201,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib643.c:204,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib643.c:207,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib643.c:210,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib643.c:213,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:218,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:221,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 109
    argCount: 2
    argNames:
    - URL
    - oldstyle
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 224
    functionName: t643_test_once
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached:
    - curl_mime_data
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_data_cb
    - curl_mime_free
    - curl_easy_init
    - curl_easy_cleanup
    - curl_mime_filename
    - curl_mprintf
    - test_setopt
    - curl_easy_strerror
    - strlen
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_easy_perform
    - curl_mime_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t643_test_once(const char *URL, bool oldstyle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib643.c:228,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib643.c:229,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:230,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/tests/libtest/lib643.c:231,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib643.c:234,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib643.c:235,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/tests/libtest/lib643.c:237,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/tests/libtest/lib643.c:238,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib643.c:241,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: t643_cyclic_add
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached:
    - curl_mime_subparts
    - curl_mime_free
    - curl_easy_init
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_mime_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t643_cyclic_add(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib643.c:254,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib643.c:255,1
    - Dst: t643_test_once
      Src: /src/PROJ/curl/tests/libtest/lib643.c:259,1
    - Dst: t643_test_once
      Src: /src/PROJ/curl/tests/libtest/lib643.c:261,1
    - Dst: t643_cyclic_add
      Src: /src/PROJ/curl/tests/libtest/lib643.c:264,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib643.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: test_lib643
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t643_test_once
    - curl_global_cleanup
    - t643_cyclic_add
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib643(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib694.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib694.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib694.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib694.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib694.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib694.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib694.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib694.c:49,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib694.c:50,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib694.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib694.c:56,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib694.c:60,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib694.c:64,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib694.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib694.c:73,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib694.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: test_lib694
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib694.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib694(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib666.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:48,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib666.c:52,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:54,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib666.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:62,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib666.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:68,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib666.c:72,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:74,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/tests/libtest/lib666.c:77,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:79,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib666.c:82,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:84,1
    - Dst: curl_mime_encoder
      Src: /src/PROJ/curl/tests/libtest/lib666.c:87,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib666.c:89,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib666.c:94,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib666.c:97,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib666.c:100,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib666.c:103,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib666.c:106,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib666.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib666.c:114,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib666.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib666.c:119,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 122
    functionName: test_lib666
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib666.c
    functionUses: 0
    functionsReached:
    - curl_mime_data
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_encoder
    - curl_easy_init
    - curl_mime_free
    - curl_easy_perform
    - curl_mime_filename
    - test_setopt
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib666(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: write_757
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_757(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib757.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - arg
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: read_757
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_757(char *buffer, size_t size, size_t nitems, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - offset
    - origin
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: seek_757
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seek_757(void *arg, curl_off_t offset, int origin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib757.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib757.c:70,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib757.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib757.c:77,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib757.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib757.c:83,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib757.c:86,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib757.c:87,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib757.c:88,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/tests/libtest/lib757.c:89,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib757.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib757.c:93,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib757.c:96,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib757.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib757.c:101,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib757.c:104,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib757.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib757.c:108,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/tests/libtest/lib757.c:111,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib757.c:114,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib757.c:115,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib757.c:120,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib757.c:124,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib757.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib757.c:130,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib757.c:131,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib757.c:132,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib757.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 135
    functionName: test_lib757
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_data_cb
    - curl_mime_subparts
    - curl_mime_free
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_mime_type
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib757(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib676.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib676.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib676.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib676.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib676.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib676.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib676.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib676.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib676.c:48,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib676.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib676.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib676.c:53,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib676.c:58,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib676.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib676.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib676.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib676.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 70
    functionName: test_lib676
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib676.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib676(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: put_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1948.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t put_callback(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:50,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:52,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:55,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:57,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:59,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:60,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:61,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:61,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:63,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:69,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:70,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:70,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1948.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: test_lib1948
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1948.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1948(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:36,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:38,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:45,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:51,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:58,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:62,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:64,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:71,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:73,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:75,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:78,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:79,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:90,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:92,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:102,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:106,1
    - Dst: curl_easy_reset
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:115,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:117,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:119,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:121,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:132,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:133,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1536.c:134,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 136
    functionName: test_lib1536
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1536.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_duphandle
    - curl_mfprintf
    - curl_easy_getinfo
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_reset
    - curl_easy_strerror
    - memcmp
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1536(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib511.c:33,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib511.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib511.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib511.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib511.c:41,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib511.c:45,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib511.c:46,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib511.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib511.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib511.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib511.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib511.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: test_lib511
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib511.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib511(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib653.c:35,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib653.c:36,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib653.c:38,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib653.c:39,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib653.c:40,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib653.c:41,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib653.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib653.c:44,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib653.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib653.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib653.c:47,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib653.c:49,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/tests/libtest/lib653.c:54,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib653.c:55,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib653.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib653.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib653.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib653
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib653.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_mime_data
    - curl_mime_name
    - global_init
    - curl_mime_free
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib653(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: t554_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t554_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: t587_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t587_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib554.c:74,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib554.c:78,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib554.c:88,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:98,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib554.c:104,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib554.c:107,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:115,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib554.c:118,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:124,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib554.c:127,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:135,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib554.c:137,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:145,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib554.c:147,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:149,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib554.c:150,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib554.c:151,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:156,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:159,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:162,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:166,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:169,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:173,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:176,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib554.c:179,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib554.c:182,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib554.c:187,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib554.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - URL
    - oldstyle
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 193
    functionName: t554_test_once
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - curl_mprintf
    - test_setopt
    - curl_formfree
    - curl_easy_cleanup
    - strlen
    - curl_formadd
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t554_test_once(const char *URL, bool oldstyle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib554.c:199,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib554.c:200,1
    - Dst: t554_test_once
      Src: /src/PROJ/curl/tests/libtest/lib554.c:204,1
    - Dst: t554_test_once
      Src: /src/PROJ/curl/tests/libtest/lib554.c:206,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib554.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: test_lib554
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached:
    - curl_global_cleanup
    - curl_mfprintf
    - t554_test_once
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib554(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_getdate
      Src: /src/PROJ/curl/tests/libtest/lib517.c:170,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib517.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 181
    functionName: test_lib517
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib517.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_getdate
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib517(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: writedata
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1156.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t writedata(char *data, size_t size, size_t nmemb, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:96,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:97,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:99,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:100,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:102,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:104,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:106,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - curl
    - url
    - p
    - num
    argTypes:
    - CURL*
    - char*
    - struct testparams*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: onetest
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1156.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - test_setopt
    - curl_mprintf
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int onetest(CURL *curl, const char *url, const struct testparams *p,\n
      \                  size_t num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:141,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:142,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:146,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:147,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:149,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:150,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:154,1
    - Dst: onetest
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:159,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:160,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:163,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:164,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:169,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1156.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: test_lib1156
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1156.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - onetest
    - CURL_ARRAYSIZE
    - test_setopt
    - curl_easy_cleanup
    - curl_mprintf
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1156(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:42,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: t1901_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1901.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1901_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:56,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:58,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:62,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:63,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:64,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:65,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:66,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:67,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:68,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:69,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:71,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:74,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:78,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:84,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1901.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: test_lib1901
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1901.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1901(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: print_err
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1912.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_err(name, exp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_option_next
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:38,1
    - Dst: curl_easy_option_next
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:40,1
    - Dst: curlcheck_long_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:42,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:44,1
    - Dst: curlcheck_off_t_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:47,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:48,1
    - Dst: curlcheck_string_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:51,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:52,1
    - Dst: curlcheck_slist_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:55,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:56,1
    - Dst: curlcheck_cb_data_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:59,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:60,1
    - Dst: curlcheck_write_cb_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:64,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:65,1
    - Dst: curlcheck_conv_cb_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:68,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:69,1
    - Dst: curlcheck_postfields_option
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:72,1
    - Dst: print_err
      Src: /src/PROJ/curl/tests/libtest/lib1912.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 81
    functionName: test_lib1912
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1912.c
    functionUses: 0
    functionsReached:
    - curlcheck_cb_data_option
    - curl_easy_option_next
    - curlcheck_string_option
    - curlcheck_write_cb_option
    - curlcheck_long_option
    - curlcheck_postfields_option
    - curlcheck_off_t_option
    - curlcheck_conv_cb_option
    - curlcheck_slist_option
    - print_err
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1912(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib510.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib510.c:53,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib510.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: t510_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib510.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t510_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib510.c:71,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib510.c:72,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib510.c:76,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib510.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib510.c:79,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib510.c:83,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib510.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib510.c:86,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib510.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:92,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:95,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:101,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:104,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:107,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:110,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:113,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib510.c:114,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib510.c:118,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib510.c:124,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib510.c:127,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib510.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 131
    functionName: test_lib510
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib510.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_cleanup
    - test_setopt
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib510(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib569.c:41,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib569.c:43,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib569.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib569.c:48,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib569.c:49,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib569.c:53,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib569.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib569.c:56,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib569.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:62,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:63,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:65,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:67,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib569.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib569.c:70,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib569.c:78,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:83,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib569.c:84,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:87,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:88,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib569.c:90,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib569.c:94,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib569.c:95,1
    - Dst: tutil_suburl
      Src: /src/PROJ/curl/tests/libtest/lib569.c:98,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:103,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib569.c:104,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:107,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib569.c:108,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib569.c:113,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib569.c:119,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/lib569.c:121,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib569.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib569.c:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 126
    functionName: test_lib569
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib569.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_mfprintf
    - curl_easy_getinfo
    - tutil_suburl
    - curl_easy_init
    - curlx_fopen
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib569(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:50,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:52,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:54,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:56,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:60,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:79,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:89,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:91,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:94,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:95,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:96,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:99,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:100,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:101,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:103,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:108,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:116,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1592.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 121
    functionName: test_lib1592
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1592.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easy_setopt
    - curl_mfprintf
    - abort_on_test_timeout
    - global_init
    - curl_multi_remove_handle
    - easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - start_test_timing
    - curl_global_cleanup
    - multi_perform
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1592(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib579.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:39,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib579.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: progress_final_report
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - curl_mfprintf
    - curlx_fopen
    linkageType: ''
    returnType: void
    signature: void progress_final_report(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: progress_final_report
      Src: /src/PROJ/curl/tests/libtest/lib579.c:56,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib579.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:63,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib579.c:66,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: t579_progress_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - progress_final_report
    - curlx_fclose
    - curl_mfprintf
    - curlx_fopen
    linkageType: ''
    returnType: int
    signature: "int t579_progress_callback(void *clientp, double dltotal, double dlnow,\n
      \                                 double ultotal, double ulnow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib579.c:95,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib579.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 101
    functionName: t579_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t579_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib579.c:111,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:112,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib579.c:116,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:118,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib579.c:119,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib579.c:123,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib579.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib579.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib579.c:127,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:132,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:135,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:138,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:141,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:144,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:147,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:150,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:152,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:153,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:156,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib579.c:157,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib579.c:160,1
    - Dst: progress_final_report
      Src: /src/PROJ/curl/tests/libtest/lib579.c:162,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib579.c:168,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib579.c:171,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib579.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 175
    functionName: test_lib579
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_cleanup
    - test_setopt
    - curl_easy_perform
    - curl_global_cleanup
    - progress_final_report
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib579(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib566.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib566.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib566.c:40,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib566.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib566.c:43,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib566.c:47,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib566.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib566.c:50,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib566.c:54,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/libtest/lib566.c:57,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib566.c:59,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/libtest/lib566.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib566.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib566.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 70
    functionName: test_lib566
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib566.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_init
    - curlx_fopen
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fclose
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib566(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:143,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:145,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:147,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:148,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:157,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 162
    functionName: test_unsigned_short_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_unsigned_short_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:218,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:220,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:222,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:223,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:231,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 236
    functionName: test_signed_short_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_signed_short_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:368,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:370,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:372,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:373,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:381,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 279
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 386
    functionName: test_unsigned_int_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_unsigned_int_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:596,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:598,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:600,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:601,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:609,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 477
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 614
    functionName: test_signed_int_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_signed_int_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:745,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:747,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:749,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:750,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:758,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 279
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 763
    functionName: test_unsigned_long_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_unsigned_long_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:973,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:975,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:977,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:978,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:986,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 477
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 991
    functionName: test_signed_long_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_signed_long_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1087,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1090,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1092,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1093,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1101,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 223
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1106
    functionName: test_curl_off_t_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msprintf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_curl_off_t_formatting(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1110,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - linenumber
    - buf
    - buf2
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1117
    functionName: string_check_low
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int string_check_low(int linenumber, char *buf, const char *buf2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1119
    functionName: string_check
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_check(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1122,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - linenumber
    - buf
    - len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1130
    functionName: strlen_check_low
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int strlen_check_low(int linenumber, char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1132
    functionName: strlen_check
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strlen_check(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1141,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1142,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1144,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1145,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1147,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1148,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1150,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1151,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1153,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1154,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1156,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1157,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1159,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1160,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1163,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1168
    functionName: test_string_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msnprintf
    - string_check
    linkageType: ''
    returnType: int
    signature: int test_string_formatting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1175,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1176,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1178,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1179,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1183,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1187
    functionName: test_pos_arguments
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - string_check
    linkageType: ''
    returnType: int
    signature: int test_pos_arguments(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1199,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1202,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1204,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1207,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1209,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1212,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1214,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1217,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1225
    functionName: test_width_precision
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - string_check
    linkageType: ''
    returnType: int
    signature: int test_width_precision(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1235,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1236,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1239,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1243,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1246,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1247,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1249,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1250,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1253,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1283,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1287,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1305,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1335,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1339,1
    - Dst: test_width_precision
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1341,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1347
    functionName: test_weird_arguments
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msnprintf
    - test_width_precision
    - string_check
    linkageType: ''
    returnType: int
    signature: int test_weird_arguments(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1356,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1357,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1359,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1360,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1362,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1363,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1365,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1366,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1368,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1369,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1371,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1372,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1374,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1375,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1377,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1378,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1380,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1381,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1383,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1384,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1386,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1387,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1389,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1390,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1392,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1393,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1395,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1396,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1398,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1399,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1401,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1402,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1403,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1404,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1405,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1406,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1407,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1408,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1409,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1410,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1411,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1412,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1413,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1414,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1419,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1420,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1422,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1423,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1425,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1427,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1431,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1432,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1436,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1437,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1438,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1439,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1441,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1442,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1444,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1445,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1446,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1447,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1448,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1449,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1450,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1451,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1452,1
    - Dst: strlen_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1453,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1456,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1461
    functionName: test_float_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msnprintf
    - string_check
    - strlen_check
    linkageType: ''
    returnType: int
    signature: int test_float_formatting(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1468,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1469,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1472,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1473,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1475,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1477,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1479,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1481,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1485,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1486,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1488,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1490,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1492,1
    - Dst: string_check
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1494,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1498,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1503
    functionName: test_oct_hex_formatting
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_msnprintf
    - string_check
    linkageType: ''
    returnType: int
    signature: int test_oct_hex_formatting(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1511,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1515,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1520,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1525,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1535
    functionName: test_return_codes
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_return_codes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1547,1
    - Dst: test_pos_arguments
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1550,1
    - Dst: test_weird_arguments
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1551,1
    - Dst: test_unsigned_short_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1552,1
    - Dst: test_signed_short_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1553,1
    - Dst: test_unsigned_int_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1554,1
    - Dst: test_signed_int_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1555,1
    - Dst: test_unsigned_long_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1556,1
    - Dst: test_signed_long_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1557,1
    - Dst: test_curl_off_t_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1558,1
    - Dst: test_string_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1559,1
    - Dst: test_float_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1560,1
    - Dst: test_oct_hex_formatting
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1561,1
    - Dst: test_return_codes
      Src: /src/PROJ/curl/tests/libtest/lib557.c:1562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1568
    functionName: test_lib557
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - test_curl_off_t_formatting
    - test_float_formatting
    - test_unsigned_short_formatting
    - test_unsigned_long_formatting
    - test_signed_long_formatting
    - test_pos_arguments
    - test_signed_int_formatting
    - test_weird_arguments
    - test_unsigned_int_formatting
    - test_signed_short_formatting
    - test_oct_hex_formatting
    - test_return_codes
    - test_string_formatting
    - setlocale
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib557(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:32,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:42,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1913.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: test_lib1913
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1913.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - start_test_timing
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1913(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: t753_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t753_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:56,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib753.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: t753_hd_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: size_t
    signature: size_t t753_hd_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib753.c:72,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib753.c:77,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:79,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:80,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:81,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:82,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:83,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:85,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:86,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:87,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib753.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - URL
    - name
    - pcurl
    - st
    argTypes:
    - char*
    - char*
    - CURL**
    - struct t753_transfer_status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: t753_setup
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - memset
    - easy_init
    - easy_setopt
    linkageType: ''
    returnType: bool
    signature: "bool t753_setup(const char *URL, const char *name,\n                       CURL
      **pcurl,\n                       struct t753_transfer_status *st)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib753.c:108,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib753.c:113,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:115,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib753.c:116,1
    - Dst: t753_setup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:122,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib753.c:125,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib753.c:127,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib753.c:128,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:129,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:146,1
    - Dst: t753_setup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:149,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib753.c:152,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/tests/libtest/lib753.c:156,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:158,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib753.c:163,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib753.c:165,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:166,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib753.c:168,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib753.c:174,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/libtest/lib753.c:174,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:177,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:179,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:180,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib753.c:181,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 184
    functionName: test_lib753
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - curl_mfprintf
    - abort_on_test_timeout
    - t753_setup
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - curl_multi_wait
    - curl_easy_strerror
    - curl_global_cleanup
    - start_test_timing
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib753(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib575.c:42,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib575.c:44,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib575.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib575.c:48,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib575.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib575.c:50,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib575.c:52,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib575.c:56,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib575.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib575.c:63,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib575.c:66,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib575.c:68,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib575.c:70,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib575.c:72,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib575.c:84,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib575.c:85,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib575.c:86,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib575.c:88,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib575.c:92,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib575.c:94,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib575.c:96,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib575.c:98,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib575.c:105,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib575.c:106,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib575.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 110
    functionName: test_lib575
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib575.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - curl_easy_duphandle
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_perform
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib575(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib668.c:36,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib668.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: t668_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib668.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t668_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib668.c:63,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib668.c:64,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib668.c:68,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib668.c:71,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib668.c:74,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib668.c:77,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib668.c:81,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/tests/libtest/lib668.c:85,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib668.c:86,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib668.c:87,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib668.c:89,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib668.c:89,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib668.c:91,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib668.c:92,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/tests/libtest/lib668.c:95,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/tests/libtest/lib668.c:97,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/tests/libtest/lib668.c:98,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/tests/libtest/lib668.c:101,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib668.c:104,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib668.c:107,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib668.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib668.c:113,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/tests/libtest/lib668.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib668.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 117
    functionName: test_lib668
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib668.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mime_name
    - curl_mime_data_cb
    - curl_mime_filedata
    - curl_easy_init
    - curl_mime_free
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - strlen
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib668(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userp
    - buf
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: count_chars
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib650.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count_chars(void *userp, const char *buf, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib650.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:60,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib650.c:65,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib650.c:69,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib650.c:74,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib650.c:79,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:85,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib650.c:89,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib650.c:98,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/libtest/lib650.c:101,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:107,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib650.c:117,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:127,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib650.c:132,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:138,1
    - Dst: curl_formget
      Src: /src/PROJ/curl/tests/libtest/lib650.c:146,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:149,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib650.c:151,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:158,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib650.c:163,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:170,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib650.c:174,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib650.c:176,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib650.c:181,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib650.c:184,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib650.c:187,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib650.c:189,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib650.c:190,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib650.c:193,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib650.c:196,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib650.c:201,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib650.c:204,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib650.c:205,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib650.c:207,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 210
    functionName: test_lib650
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib650.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_formget
    - curl_msnprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_mprintf
    - test_setopt
    - curl_easy_cleanup
    - curl_formfree
    - strlen
    - curl_formadd
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib650(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:42,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: read_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t read_callback(char *ptr, size_t size, size_t nmemb,\n                            void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: progress_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    linkageType: ''
    returnType: int
    signature: "int progress_callback(void *clientp,\n                             curl_off_t
      dltotal,\n                             curl_off_t dlnow,\n                             curl_off_t
      ultotal,\n                             curl_off_t ulnow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:78,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: usage_upload_pausing
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_upload_pausing(const char *msg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:100,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:103,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:105,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:107,1
    - Dst: usage_upload_pausing
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:110,1
    - Dst: usage_upload_pausing
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:116,1
    - Dst: usage_upload_pausing
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:124,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:129,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:130,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:134,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:136,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:138,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:142,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:143,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:147,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:148,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:152,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:153,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:157,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:158,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:160,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:162,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:164,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:172,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:174,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:177,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:178,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:179,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:184,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:186,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:187,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:189,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:191,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:192,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:197,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:198,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:200,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:205,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:206,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:207,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:208,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:210,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c:211,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 100
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 214
    functionName: test_cli_upload_pausing
    functionSourceFile: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_free
    - curl_easy_cleanup
    - curl_global_trace
    - curl_url_set
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - memset
    - curl_url_cleanup
    - usage_upload_pausing
    - curl_url
    - curl_slist_free_all
    - curl_global_init
    - strcmp
    - cgetopt
    - curl_msnprintf
    - curl_global_cleanup
    - curl_url_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_upload_pausing(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib651.c:43,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib651.c:47,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib651.c:48,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/tests/libtest/lib651.c:53,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib651.c:58,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib651.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib651.c:63,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib651.c:64,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib651.c:65,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib651.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib651.c:73,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib651.c:76,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib651.c:79,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib651.c:82,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib651.c:87,1
    - Dst: curl_formfree
      Src: /src/PROJ/curl/tests/libtest/lib651.c:90,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib651.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: test_lib651
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib651.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_init
    - curl_easy_perform
    - memset
    - curl_mprintf
    - curl_formfree
    - test_setopt
    - curl_easy_cleanup
    - curl_formadd
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib651(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clientp
    - item
    argTypes:
    - void*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: closesocket_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int closesocket_cb(void *clientp, curl_socket_t item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: socket_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t socket_cb(void *clientp,\n                               curlsocktype
      purpose,\n                               struct curl_sockaddr *address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: sockopt_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sockopt_cb(void *clientp,\n                      curl_socket_t
      curlfd,\n                      curlsocktype purpose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: my_inet_pton
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_inet_pton(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: my_inet_pton
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_inet_pton(x,y,z)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:84,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:87,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:89,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:90,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:99,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:101,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:106,1
    - Dst: my_inet_pton
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:108,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:109,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:113,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:115,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:121,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:125,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:126,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:127,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:128,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:129,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:130,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:131,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:132,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:133,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:134,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:139,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:141,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 145
    functionName: test_lib1960
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - my_inet_pton
    - strcmp
    - connect
    - curl_easy_init
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - CURL_SOCKET
    - sclose
    - curl_global_cleanup
    - htons
    - atoi
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1960(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1960.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: test_lib1960
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1960(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:38,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:40,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:42,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:48,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:57,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1594.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: test_lib1594
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1594.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_getinfo
    - global_init
    - curl_slist_free_all
    - easy_init
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1594(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: sockopt_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1522.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: "int sockopt_callback(void *clientp, curl_socket_t curlfd,\n                            curlsocktype
      purpose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:55,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:65,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:66,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:67,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:72,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:74,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:78,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:80,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:83,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:86,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:91,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:95,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1522.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: test_lib1522
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1522.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_getinfo
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - memset
    - test_setopt
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1522(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: t758_tag
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *t758_tag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:70,1
    - Dst: t758_tag
      Src: /src/PROJ/curl/tests/libtest/lib758.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: t758_msg
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_tag
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void t758_msg(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:93,1
    - Dst: t758_tag
      Src: /src/PROJ/curl/tests/libtest/lib758.c:94,1
    - Dst: memmove
      Src: /src/PROJ/curl/tests/libtest/lib758.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fd
    - mention
    argTypes:
    - struct t758_Sockets*
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: t758_removeFd
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_tag
    - curl_mfprintf
    - memmove
    linkageType: ''
    returnType: void
    signature: "void t758_removeFd(struct t758_Sockets *sockets, curl_socket_t fd,\n
      \                         int mention)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:117,1
    - Dst: t758_tag
      Src: /src/PROJ/curl/tests/libtest/lib758.c:118,1
    - Dst: t758_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib758.c:119,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/libtest/lib758.c:124,1
    - Dst: realloc
      Src: /src/PROJ/curl/tests/libtest/lib758.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sockets
    - fd
    - what
    argTypes:
    - struct t758_Sockets*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: t758_addFd
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - realloc
    - t758_tag
    - t758_removeFd
    - malloc
    linkageType: ''
    returnType: int
    signature: "int t758_addFd(struct t758_Sockets *sockets, curl_socket_t fd,\n                      const
      char *what)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:158,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:160,1
    - Dst: t758_addFd
      Src: /src/PROJ/curl/tests/libtest/lib758.c:165,1
    - Dst: t758_addFd
      Src: /src/PROJ/curl/tests/libtest/lib758.c:169,1
    - Dst: t758_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib758.c:173,1
    - Dst: t758_removeFd
      Src: /src/PROJ/curl/tests/libtest/lib758.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - curl
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 178
    functionName: t758_curlSocketCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_msg
    - t758_removeFd
    - t758_addFd
    linkageType: ''
    returnType: int
    signature: "int t758_curlSocketCallback(CURL *curl, curl_socket_t s, int action,\n
      \                                  void *userp, void *socketp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:189,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:191,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib758.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: t758_curlTimerCallback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_msg
    - curlx_now
    linkageType: ''
    returnType: int
    signature: int t758_curlTimerCallback(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/PROJ/curl/tests/libtest/lib758.c:208,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/PROJ/curl/tests/libtest/lib758.c:209,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:213,1
    - Dst: SSL_set_retry_verify
      Src: /src/PROJ/curl/tests/libtest/lib758.c:214,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:217,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:221,1
    - Dst: SSL_set_retry_verify
      Src: /src/PROJ/curl/tests/libtest/lib758.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: t758_cert_verify_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_msg
    - SSL_set_retry_verify
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    linkageType: ''
    returnType: int
    signature: int t758_cert_verify_callback(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/PROJ/curl/tests/libtest/lib758.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curl
    - ssl_ctx
    - clientp
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: t758_set_ssl_ctx_callback
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cert_verify_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t758_set_ssl_ctx_callback(CURL *curl, void *ssl_ctx, void
      *clientp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/tests/libtest/lib758.c:244,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:255,1
    - Dst: t758_tag
      Src: /src/PROJ/curl/tests/libtest/lib758.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - multi
    - success
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 262
    functionName: t758_checkForCompletion
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_multi_info_read
    - t758_tag
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: int t758_checkForCompletion(CURLM *multi, int *success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/libtest/lib758.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: t758_getMicroSecondTimeout
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t t758_getMicroSecondTimeout(struct curltime *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/libtest/lib758.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sockets
    - fdset
    - maxFd
    argTypes:
    - struct t758_Sockets*
    - fd_set*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: t758_updateFdSet
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void t758_updateFdSet(struct t758_Sockets *sockets, fd_set* fdset,\n
      \                            curl_socket_t *maxFd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/tests/libtest/lib758.c:303,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:306,1
    - Dst: t758_tag
      Src: /src/PROJ/curl/tests/libtest/lib758.c:307,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/tests/libtest/lib758.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - multi
    - s
    - evBitmask
    - info
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: t758_saction
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - curl_multi_strerror
    - t758_tag
    - curl_mfprintf
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode t758_saction(CURLM *multi, curl_socket_t s,\n                              int
      evBitmask, const char *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/libtest/lib758.c:322,1
    - Dst: t758_saction
      Src: /src/PROJ/curl/tests/libtest/lib758.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - multi
    - sockets
    - fdset
    - evBitmask
    - name
    argTypes:
    - CURLM*
    - struct t758_Sockets*
    - fd_set*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: t758_checkFdSet
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - t758_saction
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode t758_checkFdSet(CURLM *multi, struct t758_Sockets *sockets,\n
      \                                fd_set *fdset, int evBitmask,\n                                 const
      char *name)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib758.c:343,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:347,1
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib758.c:348,1
    - Dst: curl_global_sslset
      Src: /src/PROJ/curl/tests/libtest/lib758.c:350,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:351,1
    - Dst: res_global_init
      Src: /src/PROJ/curl/tests/libtest/lib758.c:356,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/libtest/lib758.c:360,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib758.c:363,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:366,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:367,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:368,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:371,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:374,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:376,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib758.c:378,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:380,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:381,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:383,1
    - Dst: multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib758.c:384,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib758.c:386,1
    - Dst: t758_saction
      Src: /src/PROJ/curl/tests/libtest/lib758.c:388,1
    - Dst: t758_checkForCompletion
      Src: /src/PROJ/curl/tests/libtest/lib758.c:392,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:401,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:406,1
    - Dst: t758_saction
      Src: /src/PROJ/curl/tests/libtest/lib758.c:411,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:412,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/tests/libtest/lib758.c:416,1
    - Dst: t758_saction
      Src: /src/PROJ/curl/tests/libtest/lib758.c:417,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:418,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:423,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:427,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib758.c:429,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib758.c:430,1
    - Dst: t758_updateFdSet
      Src: /src/PROJ/curl/tests/libtest/lib758.c:431,1
    - Dst: t758_updateFdSet
      Src: /src/PROJ/curl/tests/libtest/lib758.c:432,1
    - Dst: curlx_sztosi
      Src: /src/PROJ/curl/tests/libtest/lib758.c:435,1
    - Dst: t758_getMicroSecondTimeout
      Src: /src/PROJ/curl/tests/libtest/lib758.c:435,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib758.c:444,1
    - Dst: t758_checkFdSet
      Src: /src/PROJ/curl/tests/libtest/lib758.c:447,1
    - Dst: t758_checkFdSet
      Src: /src/PROJ/curl/tests/libtest/lib758.c:452,1
    - Dst: t758_getMicroSecondTimeout
      Src: /src/PROJ/curl/tests/libtest/lib758.c:459,1
    - Dst: t758_saction
      Src: /src/PROJ/curl/tests/libtest/lib758.c:461,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib758.c:467,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:470,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:476,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:483,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/tests/libtest/lib758.c:484,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib758.c:485,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib758.c:486,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib758.c:487,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib758.c:490,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib758.c:491,1
    - Dst: t758_msg
      Src: /src/PROJ/curl/tests/libtest/lib758.c:492,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 126
    argCount: 3
    argNames:
    - URL
    - timer_fail_at
    - socket_fail_at
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 495
    functionName: t758_one
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_checkFdSet
    - abort_on_test_timeout
    - curl_multi_remove_handle
    - FD_ZERO
    - curl_easy_cleanup
    - t758_msg
    - curl_global_trace
    - curl_easy_pause
    - multi_init
    - easy_setopt
    - curl_multi_cleanup
    - memset
    - curl_global_sslset
    - t758_getMicroSecondTimeout
    - res_global_init
    - test_setopt
    - multi_add_handle
    - select_test
    - multi_setopt
    - free
    - t758_updateFdSet
    - easy_init
    - t758_saction
    - t758_checkForCompletion
    - start_test_timing
    - curl_global_cleanup
    - curlx_sztosi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode t758_one(const char *URL, int timer_fail_at,\n                         int
      socket_fail_at)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t758_one
      Src: /src/PROJ/curl/tests/libtest/lib758.c:502,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib758.c:504,1
    - Dst: t758_tag
      Src: /src/PROJ/curl/tests/libtest/lib758.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 507
    functionName: test_lib758
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_tag
    - t758_one
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib758(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: test_lib758
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib758(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1550.c:39,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/libtest/lib1550.c:40,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1550.c:43,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1550.c:44,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1550.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1550.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: test_lib1550
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1550.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_setopt
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1550(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:32,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:34,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:35,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:36,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:37,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:42,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:46,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2306.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 49
    functionName: test_lib2306
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2306.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - global_init
    - easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2306(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:47,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:49,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:51,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - wd
    argTypes:
    - struct ws_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: flush_data
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void flush_data(struct ws_data *wd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flush_data
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:65,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - wd
    - buf
    - blen
    - meta
    argTypes:
    - struct ws_data*
    - char*
    - size_t
    - struct curl_ws_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: add_data
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - memcpy
    - flush_data
    linkageType: ''
    returnType: size_t
    signature: "size_t add_data(struct ws_data *wd, const char *buf, size_t blen,\n
      \                      const struct curl_ws_frame *meta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_meta
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:86,1
    - Dst: add_data
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:87,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: t2302_write_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - curl_ws_meta
    - curl_mfprintf
    - add_data
    linkageType: ''
    returnType: size_t
    signature: size_t t2302_write_cb(char *buffer, size_t size, size_t nitems, void
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:102,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:104,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:105,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:116,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:117,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:118,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:120,1
    - Dst: flush_data
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:121,1
    - Dst: free
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:123,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2302.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 130
    functionName: test_lib2302
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - free
    - curl_mfprintf
    - curl_global_cleanup
    - global_init
    - curl_easy_init
    - curl_easy_perform
    - memset
    - curl_easy_cleanup
    - calloc
    - flush_data
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2302(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:37,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:42,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:44,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:45,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:50,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1567.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: test_lib1567
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1567.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_mfprintf
    - curl_url
    - global_init
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1567(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nitems
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t1975_read_cb
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1975.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1975_read_cb(char *ptr, size_t size, size_t nitems, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:44,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:45,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:52,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:56,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:57,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:58,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:59,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:60,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:61,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:62,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:63,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:66,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:68,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:70,1
    - Dst: test_setopt
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:72,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:74,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:78,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib1975.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: test_lib1975
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib1975.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_mfprintf
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - test_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1975(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cb_curl
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2308.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cb_curl(char *buffer, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:40,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:43,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:44,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:45,1
    - Dst: fflush
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:46,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2308.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: test_lib2308
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2308.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - global_init
    - curl_easy_init
    - fflush
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2308(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/PROJ/curl/tests/libtest/lib564.c:39,1
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib564.c:41,1
    - Dst: easy_init
      Src: /src/PROJ/curl/tests/libtest/lib564.c:43,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib564.c:45,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib564.c:46,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib564.c:47,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib564.c:48,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib564.c:49,1
    - Dst: easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib564.c:50,1
    - Dst: multi_init
      Src: /src/PROJ/curl/tests/libtest/lib564.c:52,1
    - Dst: multi_add_handle
      Src: /src/PROJ/curl/tests/libtest/lib564.c:54,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/libtest/lib564.c:56,1
    - Dst: multi_perform
      Src: /src/PROJ/curl/tests/libtest/lib564.c:66,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib564.c:68,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib564.c:73,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib564.c:74,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/libtest/lib564.c:75,1
    - Dst: multi_fdset
      Src: /src/PROJ/curl/tests/libtest/lib564.c:77,1
    - Dst: select_test
      Src: /src/PROJ/curl/tests/libtest/lib564.c:81,1
    - Dst: abort_on_test_timeout
      Src: /src/PROJ/curl/tests/libtest/lib564.c:83,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib564.c:90,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib564.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib564.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 95
    functionName: test_lib564
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib564.c
    functionUses: 0
    functionsReached:
    - multi_perform
    - easy_setopt
    - curl_mfprintf
    - abort_on_test_timeout
    - global_init
    - multi_fdset
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_add_handle
    - select_test
    - curl_global_cleanup
    - start_test_timing
    - multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib564(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cb_ignore
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2309.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cb_ignore(char *buffer, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:41,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:49,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:51,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:53,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:54,1
    - Dst: fflush
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:56,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/libtest/lib2309.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: test_lib2309
    functionSourceFile: /src/PROJ/curl/tests/libtest/lib2309.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_duphandle
    - global_init
    - curl_easy_init
    - fflush
    - curl_easy_perform
    - curl_mprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2309(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_cert_parameter
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:72,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:75,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:76,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:78,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:82,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:84,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:89,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:91,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:96,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:97,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:99,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:103,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:105,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:110,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:112,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:116,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1394.c:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 122
    functionName: test_tool1394
    functionSourceFile: /src/PROJ/curl/tests/tunit/tool1394.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - parse_cert_parameter
    - curl_mprintf
    - fail
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_tool1394(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:34,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: getflagstr
    functionSourceFile: /src/PROJ/curl/tests/tunit/tool1604.c
    functionUses: 0
    functionsReached:
    - malloc
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *getflagstr(int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:47,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: getcurlcodestr
    functionSourceFile: /src/PROJ/curl/tests/tunit/tool1604.c
    functionUses: 0
    functionsReached:
    - malloc
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *getcurlcodestr(int cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:202,1
    - Dst: sanitize_file_name
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:209,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:214,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:215,1
    - Dst: getflagstr
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:219,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:220,1
    - Dst: getcurlcodestr
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:221,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:222,1
    - Dst: getcurlcodestr
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:223,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:224,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:227,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:243,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:244,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:245,1
    - Dst: free
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:246,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/tunit/tool1604.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 254
    functionName: test_tool1604
    functionSourceFile: /src/PROJ/curl/tests/tunit/tool1604.c
    functionUses: 0
    functionsReached:
    - free
    - curl_mfprintf
    - abort_unless
    - strcmp
    - CURL_ARRAYSIZE
    - getflagstr
    - getcurlcodestr
    - sanitize_file_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_tool1604(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:43,1
    - Dst: defined
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:49,1
    - Dst: stripcredentials
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:75,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:77,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:81,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:81,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/tunit/tool1621.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 87
    functionName: test_tool1621
    functionSourceFile: /src/PROJ/curl/tests/tunit/tool1621.c
    functionUses: 0
    functionsReached:
    - curl_free
    - stripcredentials
    - strcmp
    - curl_mprintf
    - defined
    - fail_if
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_tool1621(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/first.c:36,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/first.c:43,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/first.c:50,1
    - Dst: entry_func
      Src: /src/PROJ/curl/tests/server/first.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/PROJ/curl/tests/server/first.c
    functionUses: 5
    functionsReached:
    - entry_func
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CURL_STRNICMP
    functionSourceFile: /src/PROJ/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: CURL_STRNICMP
    functionSourceFile: /src/PROJ/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: CURL_STRNICMP
    functionSourceFile: /src/PROJ/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: CURL_STRNICMP
    functionSourceFile: /src/PROJ/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: EAT_SPACE
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAT_SPACE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: EAT_WORD
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAT_WORD(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: show
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: show(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: show
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: show(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - bytestocheck
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: line_length
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t line_length(const char *buffer, int bytestocheck)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/tests/server/getpart.c:87,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/tests/server/getpart.c:94,1
    - Dst: fgets
      Src: /src/PROJ/curl/tests/server/getpart.c:96,1
    - Dst: line_length
      Src: /src/PROJ/curl/tests/server/getpart.c:101,1
    - Dst: realloc
      Src: /src/PROJ/curl/tests/server/getpart.c:108,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/getpart.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - length
    - stream
    argTypes:
    - char**
    - size_t*
    - size_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionName: readline
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - realloc
    - curlx_uztosi
    - memset
    - fgets
    - calloc
    - line_length
    linkageType: ''
    returnType: int
    signature: "int readline(char **buffer, size_t *bufsize, size_t *length,\n                    FILE
      *stream)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/tests/server/getpart.c:169,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - dst_buf
    - dst_len
    - dst_alloc
    - src_buf
    - src_len
    - src_b64
    argTypes:
    - char**
    - size_t*
    - size_t*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: appenddata
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int appenddata(char  **dst_buf,   /* dest buffer */\n                      size_t
      *dst_len,   /* dest buffer data length */\n                      size_t *dst_alloc,
      /* dest buffer allocated size */\n                      char   *src_buf,   /*
      source buffer */\n                      size_t  src_len,   /* source buffer
      length */\n                      int     src_b64)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/tests/server/getpart.c:196,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/getpart.c:207,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:213,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/getpart.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 220
    functionName: decodedata
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - curlx_base64_decode
    linkageType: ''
    returnType: int
    signature: "int decodedata(char  **buf,   /* dest buffer */\n                      size_t
      *len)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/tests/server/getpart.c:276,1
    - Dst: readline
      Src: /src/PROJ/curl/tests/server/getpart.c:283,1
    - Dst: EAT_SPACE
      Src: /src/PROJ/curl/tests/server/getpart.c:286,1
    - Dst: show
      Src: /src/PROJ/curl/tests/server/getpart.c:290,1
    - Dst: appenddata
      Src: /src/PROJ/curl/tests/server/getpart.c:291,1
    - Dst: EAT_WORD
      Src: /src/PROJ/curl/tests/server/getpart.c:308,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:314,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/getpart.c:317,1
    - Dst: decodedata
      Src: /src/PROJ/curl/tests/server/getpart.c:324,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/getpart.c:333,1
    - Dst: decodedata
      Src: /src/PROJ/curl/tests/server/getpart.c:340,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/getpart.c:349,1
    - Dst: EAT_WORD
      Src: /src/PROJ/curl/tests/server/getpart.c:365,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:371,1
    - Dst: show
      Src: /src/PROJ/curl/tests/server/getpart.c:376,1
    - Dst: EAT_SPACE
      Src: /src/PROJ/curl/tests/server/getpart.c:382,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:391,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:396,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:402,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/getpart.c:408,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/getpart.c:410,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/getpart.c:410,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/getpart.c:413,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/getpart.c:417,1
    - Dst: show
      Src: /src/PROJ/curl/tests/server/getpart.c:418,1
    - Dst: show
      Src: /src/PROJ/curl/tests/server/getpart.c:428,1
    - Dst: appenddata
      Src: /src/PROJ/curl/tests/server/getpart.c:429,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/getpart.c:436,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/getpart.c:442,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 134
    argCount: 5
    argNames:
    - outbuf
    - outlen
    - main
    - sub
    - stream
    argTypes:
    - char**
    - size_t*
    - char*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 449
    functionName: getpart
    functionSourceFile: /src/PROJ/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - memcpy
    - EAT_WORD
    - strcmp
    - strstr
    - decodedata
    - readline
    - malloc
    - show
    - appenddata
    - EAT_SPACE
    linkageType: ''
    returnType: int
    signature: "int getpart(char **outbuf, size_t *outlen,\n            const char
      *main, const char *sub, FILE *stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: socket_domain_is_ip
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool socket_domain_is_ip(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/sws.c:181,1
    - Dst: fgets
      Src: /src/PROJ/curl/tests/server/sws.c:185,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:186,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:187,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/sws.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: parse_cmdfile
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - sscanf
    - fgets
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int parse_cmdfile(struct sws_httprequest *req)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/sws.c:202,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:209,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:210,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:211,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/sws.c:222,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/sws.c:223,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:225,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:234,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:234,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:235,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:238,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:238,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:239,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:243,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:243,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:244,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:247,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:248,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:249,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:252,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:252,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:253,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:256,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:256,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:257,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:260,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:261,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:264,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:264,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:265,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:268,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:269,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:272,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:273,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:277,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/sws.c:280,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/sws.c:282,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:297,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 301
    functionName: sws_parse_servercmd
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - strncmp
    - free
    - sscanf
    - getpart
    - test2fopen
    - strchr
    - curlx_strerror
    - fclose
    - strlen
    linkageType: ''
    returnType: int
    signature: int sws_parse_servercmd(struct sws_httprequest *req)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:310,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:314,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:322,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:323,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:334,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:336,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:336,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:338,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:342,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/tests/server/sws.c:346,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/tests/server/sws.c:351,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:374,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:375,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:378,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:380,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:381,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:386,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:387,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/sws.c:394,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:404,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:407,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:416,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:420,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/tests/server/sws.c:433,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/tests/server/sws.c:435,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:441,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:443,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/sws.c:450,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/tests/server/sws.c:452,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/sws.c:453,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:455,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:460,1
    - Dst: parse_cmdfile
      Src: /src/PROJ/curl/tests/server/sws.c:467,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:470,1
    - Dst: sws_parse_servercmd
      Src: /src/PROJ/curl/tests/server/sws.c:474,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:478,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:485,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:488,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:492,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/sws.c:494,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:495,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:498,1
    - Dst: sws_parse_servercmd
      Src: /src/PROJ/curl/tests/server/sws.c:503,1
    - Dst: strrchr
      Src: /src/PROJ/curl/tests/server/sws.c:511,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/tests/server/sws.c:517,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/sws.c:520,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:529,1
    - Dst: CURL_STRNICMP
      Src: /src/PROJ/curl/tests/server/sws.c:549,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:555,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/tests/server/sws.c:556,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:558,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:567,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:569,1
    - Dst: CURL_STRNICMP
      Src: /src/PROJ/curl/tests/server/sws.c:571,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:572,1
    - Dst: CURL_STRNICMP
      Src: /src/PROJ/curl/tests/server/sws.c:576,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:577,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:581,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:585,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:589,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:590,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:592,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:594,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:597,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:602,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/sws.c:608,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:614,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:617,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:620,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:624,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:633,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:639,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:642,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:646,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:648,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:652,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:656,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:659,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:664,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:666,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:671,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:673,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:673,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/sws.c:674,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:674,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:677,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:685,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:689,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:691,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:697,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 234
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 704
    functionName: sws_ProcessRequest
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - logmsg
    - strncmp
    - sscanf
    - atol
    - strstr
    - curlx_str_numblanks
    - strchr
    - parse_cmdfile
    - curlx_str_hex
    - atoi
    - strrchr
    - ISSPACE
    - strlen
    - sws_parse_servercmd
    - CURL_STRNICMP
    - ISXDIGIT
    linkageType: ''
    returnType: int
    signature: int sws_ProcessRequest(struct sws_httprequest *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:717,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/sws.c:726,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:730,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:731,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:732,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/server/sws.c:738,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:748,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:750,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:751,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:752,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/sws.c:758,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:760,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:761,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - reqbuf
    - totalsize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 762
    functionName: sws_storerequest
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fwrite
    - snprintf
    - curlx_strerror
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void sws_storerequest(const char *reqbuf, size_t totalsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 789
    functionName: init_httprequest
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_httprequest(struct sws_httprequest *req)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:804,1
    - Dst: sws_send_doc
      Src: /src/PROJ/curl/tests/server/sws.c:805,1
    - Dst: sws_storerequest
      Src: /src/PROJ/curl/tests/server/sws.c:809,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:814,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/sws.c:816,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:820,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:831,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:832,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:833,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:839,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:844,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/sws.c:845,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:847,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:854,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:857,1
    - Dst: sws_storerequest
      Src: /src/PROJ/curl/tests/server/sws.c:860,1
    - Dst: init_httprequest
      Src: /src/PROJ/curl/tests/server/sws.c:863,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/sws.c:877,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/sws.c:879,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:885,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:895,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:896,1
    - Dst: sws_storerequest
      Src: /src/PROJ/curl/tests/server/sws.c:902,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:906,1
    - Dst: sws_ProcessRequest
      Src: /src/PROJ/curl/tests/server/sws.c:911,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:917,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:923,1
    - Dst: sws_storerequest
      Src: /src/PROJ/curl/tests/server/sws.c:933,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 938
    functionName: sws_get_request
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - sws_storerequest
    - sws_ProcessRequest
    - FD_ZERO
    - sread
    - init_httprequest
    - curlx_strerror
    - FD_SET
    - sws_send_doc
    - select
    linkageType: ''
    returnType: int
    signature: int sws_get_request(curl_socket_t sock, struct sws_httprequest *req)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:960,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/sws.c:970,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:974,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:993,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:998,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:999,1
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/sws.c:1000,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:1001,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:1003,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:1005,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1012,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:1017,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:1027,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:1029,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1031,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/sws.c:1033,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1036,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1037,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/sws.c:1041,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/sws.c:1042,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1044,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1051,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/sws.c:1056,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1059,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1060,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1061,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/sws.c:1066,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/sws.c:1067,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1069,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1070,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1077,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1078,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:1085,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1087,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/sws.c:1089,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1091,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/sws.c:1096,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1099,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1100,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1101,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1102,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1103,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/sws.c:1117,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:1120,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/server/sws.c:1128,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1138,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:1144,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/sws.c:1150,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1152,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1153,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1156,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1157,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1162,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1167,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1168,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1172,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1174,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/sws.c:1182,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:1183,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1184,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:1188,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1192,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1193,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1198,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1201,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/sws.c:1203,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:1210,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 186
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 1217
    functionName: sws_send_doc
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 1
    functionsReached:
    - logmsg
    - free
    - sscanf
    - fwrite
    - swrite
    - getpart
    - strstr
    - test2fopen
    - snprintf
    - strcmp
    - strchr
    - curlx_strerror
    - our_getpid
    - curlx_wait_ms
    - strlen
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int sws_send_doc(curl_socket_t sock, struct sws_httprequest *req)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1239,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/sws.c:1243,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1246,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1247,1
    - Dst: socket_domain_is_ip
      Src: /src/PROJ/curl/tests/server/sws.c:1252,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/sws.c:1255,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1257,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/tests/server/sws.c:1264,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1266,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1267,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1268,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sws.c:1274,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/sws.c:1276,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/sws.c:1277,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1278,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1279,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/server/sws.c:1283,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sws.c:1287,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/sws.c:1289,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/sws.c:1290,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1291,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1292,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/server/sws.c:1296,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1301,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1307,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:1318,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:1323,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/sws.c:1328,1
    - Dst: getsockopt
      Src: /src/PROJ/curl/tests/server/sws.c:1333,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1342,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1343,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1349,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1350,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1351,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1355,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/tests/server/sws.c:1358,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1360,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1361,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1362,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 2
    argNames:
    - ipaddr
    - port
    argTypes:
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1367
    functionName: connect_to
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - socket_domain_is_ip
    - curlx_inet_pton
    - socket
    - connect
    - curlx_strerror
    - FD_ZERO
    - setsockopt
    - memset
    - sclose
    - FD_SET
    - getsockopt
    - curlx_nonblock
    - htons
    - select
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t connect_to(const char *ipaddr, unsigned short port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1382
    functionName: data_or_ctrl
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_or_ctrl(x)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:1416,1
    - Dst: connect_to
      Src: /src/PROJ/curl/tests/server/sws.c:1420,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:1441,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:1442,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:1455,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:1472,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:1486,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:1502,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:1516,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/sws.c:1529,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:1544,1
    - Dst: accept
      Src: /src/PROJ/curl/tests/server/sws.c:1546,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/server/sws.c:1551,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sws.c:1555,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1556,1
    - Dst: socket_domain_is_ip
      Src: /src/PROJ/curl/tests/server/sws.c:1558,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/sws.c:1561,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1563,1
    - Dst: init_httprequest
      Src: /src/PROJ/curl/tests/server/sws.c:1566,1
    - Dst: sws_get_request
      Src: /src/PROJ/curl/tests/server/sws.c:1568,1
    - Dst: sws_send_doc
      Src: /src/PROJ/curl/tests/server/sws.c:1577,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:1581,1
    - Dst: connect_to
      Src: /src/PROJ/curl/tests/server/sws.c:1584,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1604,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1605,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:1619,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/sws.c:1621,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1623,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1623,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1624,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1628,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1628,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1629,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1629,1
    - Dst: data_to_hex
      Src: /src/PROJ/curl/tests/server/sws.c:1630,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:1637,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/sws.c:1639,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1641,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1641,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1642,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1646,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1646,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1647,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1647,1
    - Dst: data_to_hex
      Src: /src/PROJ/curl/tests/server/sws.c:1648,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:1654,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/sws.c:1656,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1658,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1658,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1659,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1664,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1664,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1665,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1665,1
    - Dst: data_to_hex
      Src: /src/PROJ/curl/tests/server/sws.c:1666,1
    - Dst: memmove
      Src: /src/PROJ/curl/tests/server/sws.c:1668,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:1674,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/sws.c:1676,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1678,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1678,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1679,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1684,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1684,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1685,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1685,1
    - Dst: data_to_hex
      Src: /src/PROJ/curl/tests/server/sws.c:1686,1
    - Dst: memmove
      Src: /src/PROJ/curl/tests/server/sws.c:1688,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1706,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1706,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1707,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1711,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1711,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1712,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1719,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1719,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1720,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1724,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1724,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1725,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:1735,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1742,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1742,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1743,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1746,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1746,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1756,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1756,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1757,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1760,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1760,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1783,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1793,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1793,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1794,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1795,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1798,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1798,1
    - Dst: shutdown
      Src: /src/PROJ/curl/tests/server/sws.c:1799,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1800,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1804,1
    - Dst: data_or_ctrl
      Src: /src/PROJ/curl/tests/server/sws.c:1804,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 266
    argCount: 5
    argNames:
    - infdp
    - rootfd
    - ipaddr
    - ipport
    - keepalive_secs
    argTypes:
    - curl_socket_t*
    - curl_socket_t
    - char*
    - unsigned short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1386
    functionDepth: 6
    functionLinenumber: 1386
    functionLinenumberEnd: 1809
    functionName: http_connect
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - socket_domain_is_ip
    - sws_get_request
    - FD_ZERO
    - sread
    - accept
    - FD_SET
    - logmsg
    - data_or_ctrl
    - memset
    - FD_ISSET
    - sws_send_doc
    - data_to_hex
    - connect_to
    - memmove
    - setsockopt
    - sclose
    - shutdown
    - select
    - swrite
    - curlx_wait_ms
    - init_httprequest
    - malloc
    linkageType: ''
    returnType: void
    signature: "void http_connect(curl_socket_t *infdp,\n                         curl_socket_t
      rootfd,\n                         const char *ipaddr,\n                         unsigned
      short ipport,\n                         int keepalive_secs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1811
    functionDepth: 1
    functionLinenumber: 1811
    functionLinenumberEnd: 1816
    functionName: http_upgrade
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    linkageType: ''
    returnType: void
    signature: void http_upgrade(struct sws_httprequest *req)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1829,1
    - Dst: accept
      Src: /src/PROJ/curl/tests/server/sws.c:1833,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1837,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1847,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1848,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/tests/server/sws.c:1852,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1854,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1855,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1856,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/sws.c:1860,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1863,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:1864,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:1865,1
    - Dst: set_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/sws.c:1876,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1879,1
    - Dst: socket_domain_is_ip
      Src: /src/PROJ/curl/tests/server/sws.c:1885,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/sws.c:1890,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1892,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - sock
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1897
    functionName: accept_connection
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - socket_domain_is_ip
    - curlx_strerror
    - setsockopt
    - accept
    - sclose
    - curlx_nonblock
    - set_advisor_read_lock
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t accept_connection(curl_socket_t sock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sws_get_request
      Src: /src/PROJ/curl/tests/server/sws.c:1911,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1922,1
    - Dst: sws_send_doc
      Src: /src/PROJ/curl/tests/server/sws.c:1931,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1936,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1940,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1947,1
    - Dst: http_connect
      Src: /src/PROJ/curl/tests/server/sws.c:1951,1
    - Dst: http_upgrade
      Src: /src/PROJ/curl/tests/server/sws.c:1959,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1966,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:1970,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 5
    argNames:
    - msgsock
    - req
    - listensock
    - connecthost
    - keepalive_secs
    argTypes:
    - curl_socket_t*
    - struct sws_httprequest*
    - curl_socket_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1901
    functionDepth: 7
    functionLinenumber: 1901
    functionLinenumberEnd: 1974
    functionName: service_connection
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - http_upgrade
    - sws_get_request
    - http_connect
    - sws_send_doc
    linkageType: ''
    returnType: int
    signature: "int service_connection(curl_socket_t *msgsock,\n                              struct
      sws_httprequest *req,\n                              curl_socket_t listensock,\n
      \                             const char *connecthost,\n                              int
      keepalive_secs)"
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2008,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/sws.c:2009,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2019,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2024,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2029,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2034,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2039,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2044,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2050,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2056,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2064,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:2069,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/sws.c:2070,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2082,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/sws.c:2085,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/sws.c:2087,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2095,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2102,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/sws.c:2105,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/sws.c:2107,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sws.c:2115,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2124,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/sws.c:2128,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:2145,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/sws.c:2150,1
    - Dst: install_signal_handlers
      Src: /src/PROJ/curl/tests/server/sws.c:2154,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/server/sws.c:2156,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/sws.c:2160,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2167,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2168,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/sws.c:2173,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2176,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2177,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/tests/server/sws.c:2180,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2182,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2183,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sws.c:2189,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/sws.c:2192,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/sws.c:2193,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sws.c:2197,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/sws.c:2200,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/sws.c:2201,1
    - Dst: bind_unix_socket
      Src: /src/PROJ/curl/tests/server/sws.c:2206,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2213,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2214,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2217,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2218,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sws.c:2235,1
    - Dst: getsockname
      Src: /src/PROJ/curl/tests/server/sws.c:2236,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2238,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2239,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:2240,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/sws.c:2245,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/sws.c:2249,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2257,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2258,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2259,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2260,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:2261,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sws.c:2268,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2270,1
    - Dst: listen
      Src: /src/PROJ/curl/tests/server/sws.c:2274,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2277,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2278,1
    - Dst: write_pidfile
      Src: /src/PROJ/curl/tests/server/sws.c:2292,1
    - Dst: write_portfile
      Src: /src/PROJ/curl/tests/server/sws.c:2296,1
    - Dst: init_httprequest
      Src: /src/PROJ/curl/tests/server/sws.c:2304,1
    - Dst: memmove
      Src: /src/PROJ/curl/tests/server/sws.c:2320,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:2329,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sws.c:2330,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sws.c:2338,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/sws.c:2350,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2358,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2359,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:2370,1
    - Dst: accept_connection
      Src: /src/PROJ/curl/tests/server/sws.c:2374,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2375,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:2380,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sws.c:2387,1
    - Dst: service_connection
      Src: /src/PROJ/curl/tests/server/sws.c:2394,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2400,1
    - Dst: sws_storerequest
      Src: /src/PROJ/curl/tests/server/sws.c:2404,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sws.c:2404,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/sws.c:2412,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:2415,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/sws.c:2421,1
    - Dst: init_httprequest
      Src: /src/PROJ/curl/tests/server/sws.c:2442,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:2456,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sws.c:2459,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/sws.c:2463,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2464,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sws.c:2465,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sws.c:2469,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2472,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/sws.c:2475,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/sws.c:2477,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/sws.c:2481,1
    - Dst: restore_signal_handlers
      Src: /src/PROJ/curl/tests/server/sws.c:2484,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2487,1
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/sws.c:2488,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/sws.c:2494,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sws.c:2497,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 333
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2499
      start: 1976
    functionDepth: 8
    functionLinenumber: 1976
    functionLinenumberEnd: 2499
    functionName: test_sws
    functionSourceFile: /src/PROJ/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - sws_storerequest
    - clear_advisor_read_lock
    - snprintf
    - curlx_strerror
    - FD_ZERO
    - our_getpid
    - FD_SET
    - logmsg
    - memset
    - accept_connection
    - FD_ISSET
    - strlen
    - install_signal_handlers
    - bind
    - fprintf
    - service_connection
    - socket
    - write_portfile
    - memmove
    - setsockopt
    - unlink
    - calloc
    - sclose
    - restore_signal_handlers
    - curlx_nonblock
    - htons
    - select
    - atoi
    - free
    - strcmp
    - curlx_wait_ms
    - bind_unix_socket
    - getsockname
    - init_httprequest
    - write_pidfile
    - listen
    - win32_init
    - raise
    - ntohs
    - puts
    linkageType: ''
    returnType: int
    signature: int test_sws(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:114,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:115,1
    - Dst: read
      Src: /src/PROJ/curl/tests/server/sockfilt.c:118,1
    - Dst: GetConsoleMode
      Src: /src/PROJ/curl/tests/server/sockfilt.c:121,1
    - Dst: ReadConsole
      Src: /src/PROJ/curl/tests/server/sockfilt.c:122,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/tests/server/sockfilt.c:122,1
    - Dst: ReadFile
      Src: /src/PROJ/curl/tests/server/sockfilt.c:125,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/tests/server/sockfilt.c:125,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:131,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/tests/server/sockfilt.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: read_wincon
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - fileno
    - GetStdHandle
    - curlx_uztoul
    - read
    - ReadFile
    - GetConsoleMode
    - GetLastError
    - ReadConsole
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_wincon(int fd, void *buf, size_t count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:144,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:145,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:147,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:148,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/sockfilt.c:151,1
    - Dst: GetConsoleMode
      Src: /src/PROJ/curl/tests/server/sockfilt.c:154,1
    - Dst: WriteConsole
      Src: /src/PROJ/curl/tests/server/sockfilt.c:155,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/tests/server/sockfilt.c:155,1
    - Dst: WriteFile
      Src: /src/PROJ/curl/tests/server/sockfilt.c:158,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/tests/server/sockfilt.c:158,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:164,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/tests/server/sockfilt.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: write_wincon
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - fileno
    - GetStdHandle
    - curlx_uztoul
    - write
    - WriteFile
    - GetConsoleMode
    - WriteConsole
    - GetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_wincon(int fd, const void *buf, size_t count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SOCKFILT_read
      Src: /src/PROJ/curl/tests/server/sockfilt.c:193,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:198,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:209,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:213,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:214,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sockfilt.c:215,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:220,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - filedes
    - buffer
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 232
    functionName: fullread
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_strerror
    - SOCKFILT_read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fullread(int filedes, void *buffer, size_t nbytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SOCKFILT_write
      Src: /src/PROJ/curl/tests/server/sockfilt.c:247,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:252,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:262,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:263,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sockfilt.c:264,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:269,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - filedes
    - buffer
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 281
    functionName: fullwrite
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - SOCKFILT_write
    - logmsg
    - curlx_strerror
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fullwrite(int filedes, const void *buffer, size_t nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fullread
      Src: /src/PROJ/curl/tests/server/sockfilt.c:292,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:292,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - nbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: read_stdin
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - fullread
    - fileno
    - logmsg
    linkageType: ''
    returnType: bool
    signature: bool read_stdin(void *buffer, size_t nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/sockfilt.c:312,1
    - Dst: fullwrite
      Src: /src/PROJ/curl/tests/server/sockfilt.c:315,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:315,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - nbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: write_stdout
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - fileno
    - fullwrite
    - logmsg
    - puts
    linkageType: ''
    returnType: bool
    signature: bool write_stdout(const void *buffer, size_t nbytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:337,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:343,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:349,1
    - Dst: ISGRAPH
      Src: /src/PROJ/curl/tests/server/sockfilt.c:349,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:358,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 366
    functionName: lograw
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - snprintf
    - ISGRAPH
    linkageType: ''
    returnType: void
    signature: void lograw(unsigned char *buffer, ssize_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_stdin
      Src: /src/PROJ/curl/tests/server/sockfilt.c:379,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/tests/server/sockfilt.c:385,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:386,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:391,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:395,1
    - Dst: read_stdin
      Src: /src/PROJ/curl/tests/server/sockfilt.c:397,1
    - Dst: lograw
      Src: /src/PROJ/curl/tests/server/sockfilt.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - buffer
    - maxlen
    - buffer_len
    argTypes:
    - unsigned char*
    - ssize_t
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 403
    functionName: read_data_block
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - lograw
    - logmsg
    - curlx_str_hex
    - read_stdin
    linkageType: ''
    returnType: bool
    signature: "bool read_data_block(unsigned char *buffer, ssize_t maxlen,\n                            ssize_t
      *buffer_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sockfilt.c:440,1
    - Dst: GetFileType
      Src: /src/PROJ/curl/tests/server/sockfilt.c:446,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:457,1
    - Dst: GetFileSize
      Src: /src/PROJ/curl/tests/server/sockfilt.c:462,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/tests/server/sockfilt.c:464,1
    - Dst: SetFilePointer
      Src: /src/PROJ/curl/tests/server/sockfilt.c:468,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/tests/server/sockfilt.c:470,1
    - Dst: SleepEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:474,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:480,1
    - Dst: SetEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:481,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:493,1
    - Dst: GetConsoleMode
      Src: /src/PROJ/curl/tests/server/sockfilt.c:496,1
    - Dst: PeekConsoleInput
      Src: /src/PROJ/curl/tests/server/sockfilt.c:499,1
    - Dst: ReadConsoleInput
      Src: /src/PROJ/curl/tests/server/sockfilt.c:503,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:509,1
    - Dst: SetEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:510,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:522,1
    - Dst: PeekNamedPipe
      Src: /src/PROJ/curl/tests/server/sockfilt.c:526,1
    - Dst: SleepEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:529,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:533,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/tests/server/sockfilt.c:538,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:540,1
    - Dst: SleepEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:541,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:545,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:549,1
    - Dst: SetEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:550,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:556,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:558,1
    - Dst: SetEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:559,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 565
    functionName: select_ws_wait_thread
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - free
    - SetFilePointer
    - PeekConsoleInput
    - PeekNamedPipe
    - GetConsoleMode
    - GetFileType
    - GetLastError
    - SleepEx
    - SetEvent
    - ReadConsoleInput
    - WaitForMultipleObjectsEx
    - GetFileSize
    linkageType: ''
    returnType: DWORD
    signature: DWORD select_ws_wait_thread(void *lpParameter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/tests/server/sockfilt.c:572,1
    - Dst: CreateThread
      Src: /src/PROJ/curl/tests/server/sockfilt.c:581,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sockfilt.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - signal
    - abort
    argTypes:
    - HANDLE
    - HANDLE
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 590
    functionName: select_ws_wait
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - malloc
    - CreateThread
    - free
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE select_ws_wait(HANDLE handle, HANDLE signal, HANDLE abort)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:615,1
    - Dst: curlx_tvtoms
      Src: /src/PROJ/curl/tests/server/sockfilt.c:621,1
    - Dst: SleepEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:629,1
    - Dst: CreateEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:634,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:636,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/server/sockfilt.c:641,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:643,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:644,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/server/sockfilt.c:649,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:651,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sockfilt.c:652,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:653,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:666,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:667,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:668,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:670,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:671,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:675,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:676,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:680,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:681,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:688,1
    - Dst: CreateEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:689,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:691,1
    - Dst: select_ws_wait
      Src: /src/PROJ/curl/tests/server/sockfilt.c:692,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:701,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:705,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:706,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:709,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:710,1
    - Dst: WSACreateEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:714,1
    - Dst: send
      Src: /src/PROJ/curl/tests/server/sockfilt.c:717,1
    - Dst: WSAEventSelect
      Src: /src/PROJ/curl/tests/server/sockfilt.c:719,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/sockfilt.c:728,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:729,1
    - Dst: WSASetEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:730,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:731,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:733,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:735,1
    - Dst: WSACloseEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:742,1
    - Dst: CreateEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:743,1
    - Dst: select_ws_wait
      Src: /src/PROJ/curl/tests/server/sockfilt.c:746,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:755,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:775,1
    - Dst: SetEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:778,1
    - Dst: WaitForSingleObjectEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:780,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:781,1
    - Dst: WaitForSingleObjectEx
      Src: /src/PROJ/curl/tests/server/sockfilt.c:793,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:795,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:797,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:798,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:800,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:800,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:802,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:803,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/PROJ/curl/tests/server/sockfilt.c:808,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:815,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:819,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:823,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:828,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:828,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:829,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:835,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:836,1
    - Dst: FD_CLR
      Src: /src/PROJ/curl/tests/server/sockfilt.c:837,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:842,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:843,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:844,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:845,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:846,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:847,1
    - Dst: WSAEventSelect
      Src: /src/PROJ/curl/tests/server/sockfilt.c:851,1
    - Dst: WSACloseEvent
      Src: /src/PROJ/curl/tests/server/sockfilt.c:852,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:856,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:858,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sockfilt.c:860,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/sockfilt.c:861,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 191
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - exceptfds
    - tv
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 864
    functionName: select_ws
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - fileno
    - SET_SOCKERRNO
    - FD_CLR
    - WaitForSingleObjectEx
    - FD_ZERO
    - FD_SET
    - WaitForMultipleObjectsEx
    - logmsg
    - FD_ISSET
    - send
    - select_ws_wait
    - CreateEvent
    - WSACloseEvent
    - CloseHandle
    - WSAEventSelect
    - WSASetEvent
    - calloc
    - WSACreateEvent
    - SleepEx
    - SetEvent
    - select
    - curlx_tvtoms
    - GetStdHandle
    - free
    - WSAEnumNetworkEvents
    linkageType: ''
    returnType: int
    signature: "int select_ws(int nfds, fd_set *readfds, fd_set *writefds,\n                     fd_set
      *exceptfds, struct timeval *tv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    functionName: SOCKFILT_select
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKFILT_select(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: SOCKFILT_select
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKFILT_select(a,b,c,d,e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:879,1
    - Dst: read_stdin
      Src: /src/PROJ/curl/tests/server/sockfilt.c:885,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:887,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:890,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:894,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:895,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:896,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:899,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:901,1
    - Dst: read_data_block
      Src: /src/PROJ/curl/tests/server/sockfilt.c:902,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:906,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:908,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:912,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 925
    functionName: disc_handshake
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - write_stdout
    - read_data_block
    - memcmp
    - read_stdin
    linkageType: ''
    returnType: bool
    signature: bool disc_handshake(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:958,1
    - Dst: getppid
      Src: /src/PROJ/curl/tests/server/sockfilt.c:965,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:966,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:974,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:975,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/sockfilt.c:976,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:982,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:982,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:998,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1010,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1019,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1036,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1043,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1050,1
    - Dst: SOCKFILT_select
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1062,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1065,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1072,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1073,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1082,1
    - Dst: fileno
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1082,1
    - Dst: read_stdin
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1099,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1102,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1105,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1107,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1111,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1114,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1116,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1117,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1118,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1120,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1123,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1125,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1128,1
    - Dst: read_data_block
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1130,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1137,1
    - Dst: disc_handshake
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1138,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1143,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1145,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1150,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1152,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1155,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1156,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1164,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1170,1
    - Dst: accept
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1175,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1178,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1179,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1182,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1183,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1192,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1195,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1196,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1198,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1201,1
    - Dst: lograw
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1202,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1206,1
    - Dst: disc_handshake
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1207,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1209,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 152
    argCount: 3
    argNames:
    - sockfdp
    - listenfd
    - mode
    argTypes:
    - curl_socket_t*
    - curl_socket_t
    - enum sockmode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 934
    functionDepth: 5
    functionLinenumber: 934
    functionLinenumberEnd: 1221
    functionName: juggle
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - fileno
    - SOCKFILT_select
    - write_stdout
    - snprintf
    - FD_ZERO
    - curlx_strerror
    - sread
    - read_data_block
    - accept
    - FD_SET
    - read_stdin
    - memcmp
    - logmsg
    - FD_ISSET
    - strlen
    - disc_handshake
    - getppid
    - lograw
    - sclose
    - swrite
    linkageType: ''
    returnType: bool
    signature: "bool juggle(curl_socket_t *sockfdp,\n                   curl_socket_t
      listenfd,\n                   enum sockmode *mode)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1243,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1244,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1253,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1257,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1262,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1267,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1272,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1279,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1287,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1291,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1294,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1298,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1303,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1305,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1313,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1322,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1339,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1343,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1344,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1345,1
    - Dst: install_signal_handlers
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1347,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1349,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1353,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1354,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1355,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1364,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1366,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1370,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1372,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1376,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1378,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1381,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1383,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1391,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1392,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1393,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1396,1
    - Dst: sockdaemon
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1401,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1403,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1409,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1412,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1414,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1416,1
    - Dst: write_pidfile
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1418,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1420,1
    - Dst: write_portfile
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1424,1
    - Dst: write_stdout
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1426,1
    - Dst: juggle
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1432,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1438,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1441,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1444,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1446,1
    - Dst: restore_signal_handlers
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1448,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1451,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1457,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/sockfilt.c:1460,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1223
    functionDepth: 6
    functionLinenumber: 1223
    functionLinenumberEnd: 1462
    functionName: test_sockfilt
    functionSourceFile: /src/PROJ/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - write_stdout
    - curlx_strerror
    - logmsg
    - sockdaemon
    - memset
    - install_signal_handlers
    - fprintf
    - printf
    - socket
    - write_portfile
    - CURLX_SET_BINMODE
    - unlink
    - restore_signal_handlers
    - sclose
    - juggle
    - htons
    - atoi
    - atol
    - curlx_inet_pton
    - strcmp
    - connect
    - write_pidfile
    - win32_init
    - raise
    - puts
    linkageType: ''
    returnType: int
    signature: int test_sockfilt(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:95,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:104,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:105,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: socksd_resetdefaults
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - strcpy
    linkageType: ''
    returnType: void
    signature: void socksd_resetdefaults(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/socksd.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: shortval
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short shortval(char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/socksd.c:117,1
    - Dst: socksd_resetdefaults
      Src: /src/PROJ/curl/tests/server/socksd.c:118,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:121,1
    - Dst: fgets
      Src: /src/PROJ/curl/tests/server/socksd.c:122,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/socksd.c:125,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:126,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/socksd.c:127,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:128,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:130,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/socksd.c:131,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:132,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:134,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/socksd.c:135,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:136,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:138,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:139,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:140,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:142,1
    - Dst: shortval
      Src: /src/PROJ/curl/tests/server/socksd.c:143,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:144,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:146,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:147,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:148,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:150,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:151,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:152,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:159,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/socksd.c:160,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:161,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:163,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/socksd.c:164,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:165,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/socksd.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 171
    functionName: socksd_getconfig
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - shortval
    - sscanf
    - socksd_resetdefaults
    - byteval
    - strcmp
    - strcpy
    - fgets
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void socksd_getconfig(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/socksd.c:200,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/socksd.c:203,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/socksd.c:205,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/socksd.c:207,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/server/socksd.c:209,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:214,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/socksd.c:215,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - connectport
    - connectaddr
    argTypes:
    - unsigned short
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: socksconnect
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_inet_pton
    - socket
    - connect
    - curlx_strerror
    - memset
    - htons
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t socksconnect(unsigned short connectport,\n                                  const
      char *connectaddr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:232,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:236,1
    - Dst: socksconnect
      Src: /src/PROJ/curl/tests/server/socksd.c:245,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:257,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:260,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:263,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:264,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - fd
    - buffer
    - rc
    argTypes:
    - curl_socket_t
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 274
    functionName: socks4
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - memcpy
    - loghex
    - sclose
    - socksconnect
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t socks4(curl_socket_t fd,\n                            unsigned
      char *buffer,\n                            ssize_t rc)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: socksd_getconfig
      Src: /src/PROJ/curl/tests/server/socksd.c:289,1
    - Dst: recv
      Src: /src/PROJ/curl/tests/server/socksd.c:291,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:293,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:297,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:298,1
    - Dst: socks4
      Src: /src/PROJ/curl/tests/server/socksd.c:301,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:304,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:309,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:314,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:321,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:324,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:331,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:334,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:335,1
    - Dst: recv
      Src: /src/PROJ/curl/tests/server/socksd.c:338,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:340,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:344,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:345,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:359,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:363,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:368,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:373,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/socksd.c:376,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/socksd.c:377,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:378,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:379,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:381,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:388,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:391,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:392,1
    - Dst: recv
      Src: /src/PROJ/curl/tests/server/socksd.c:397,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:399,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:403,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:404,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:407,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:412,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:417,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:422,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:448,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:452,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:455,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/socksd.c:459,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/socksd.c:462,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/socksd.c:466,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/socksd.c:472,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/socksd.c:477,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/socksd.c:479,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/socksd.c:482,1
    - Dst: socksconnect
      Src: /src/PROJ/curl/tests/server/socksd.c:494,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:527,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/socksd.c:530,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:535,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:538,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/socksd.c:539,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:545,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 173
    argCount: 1
    argNames:
    - fd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 548
    functionName: sockit
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - memcpy
    - socksd_getconfig
    - recv
    - loghex
    - socks4
    - fprintf
    - strlen
    - memcmp
    - fclose
    - sclose
    - fopen
    - socksconnect
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t sockit(curl_socket_t fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/socksd.c:564,1
    - Dst: recv
      Src: /src/PROJ/curl/tests/server/socksd.c:566,1
    - Dst: send
      Src: /src/PROJ/curl/tests/server/socksd.c:568,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/socksd.c:577,1
    - Dst: recv
      Src: /src/PROJ/curl/tests/server/socksd.c:579,1
    - Dst: send
      Src: /src/PROJ/curl/tests/server/socksd.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cp
    - fds
    argTypes:
    - struct perclient*
    - fd_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 591
    functionName: tunnel
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - send
    - FD_ISSET
    - recv
    linkageType: ''
    returnType: int
    signature: int tunnel(struct perclient *cp, fd_set *fds)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/socksd.c:607,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:609,1
    - Dst: getppid
      Src: /src/PROJ/curl/tests/server/socksd.c:615,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:616,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/socksd.c:629,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/socksd.c:630,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/socksd.c:631,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/socksd.c:638,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/socksd.c:650,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/socksd.c:661,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/socksd.c:672,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:674,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:680,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/socksd.c:681,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/socksd.c:685,1
    - Dst: accept
      Src: /src/PROJ/curl/tests/server/socksd.c:686,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:689,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/socksd.c:690,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:694,1
    - Dst: sockit
      Src: /src/PROJ/curl/tests/server/socksd.c:696,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:698,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:699,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:703,1
    - Dst: tunnel
      Src: /src/PROJ/curl/tests/server/socksd.c:720,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:721,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:723,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 1
    argNames:
    - listenfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 733
    functionName: socksd_incoming
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - getppid
    - logmsg
    - sockit
    - FD_ZERO
    - curlx_strerror
    - memset
    - FD_ISSET
    - accept
    - sclose
    - FD_SET
    - tunnel
    - select
    linkageType: ''
    returnType: bool
    signature: bool socksd_incoming(curl_socket_t listenfd)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:757,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/socksd.c:758,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:767,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:772,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:777,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:782,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:787,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/socksd.c:790,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:792,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:797,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:802,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:809,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:816,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/socksd.c:822,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/socksd.c:823,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/socksd.c:834,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/socksd.c:837,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/socksd.c:842,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/socksd.c:860,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/socksd.c:864,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/socksd.c:865,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/socksd.c:866,1
    - Dst: install_signal_handlers
      Src: /src/PROJ/curl/tests/server/socksd.c:868,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/socksd.c:870,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:874,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/socksd.c:875,1
    - Dst: sockdaemon
      Src: /src/PROJ/curl/tests/server/socksd.c:881,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:891,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:895,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:898,1
    - Dst: write_pidfile
      Src: /src/PROJ/curl/tests/server/socksd.c:900,1
    - Dst: write_portfile
      Src: /src/PROJ/curl/tests/server/socksd.c:906,1
    - Dst: socksd_incoming
      Src: /src/PROJ/curl/tests/server/socksd.c:913,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:919,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/socksd.c:922,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/socksd.c:926,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:927,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/socksd.c:928,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/socksd.c:933,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/socksd.c:935,1
    - Dst: restore_signal_handlers
      Src: /src/PROJ/curl/tests/server/socksd.c:937,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:940,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/socksd.c:946,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/socksd.c:949,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 139
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 735
    functionDepth: 5
    functionLinenumber: 735
    functionLinenumberEnd: 951
    functionName: test_socksd
    functionSourceFile: /src/PROJ/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - logmsg
    - sockdaemon
    - strlen
    - socksd_incoming
    - install_signal_handlers
    - fprintf
    - printf
    - socket
    - write_portfile
    - CURLX_SET_BINMODE
    - unlink
    - restore_signal_handlers
    - sclose
    - atoi
    - atol
    - strcmp
    - write_pidfile
    - win32_init
    - raise
    - puts
    linkageType: ''
    returnType: int
    signature: int test_socksd(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/util.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: data_to_hex
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *data_to_hex(char *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/util.c:67,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: loghex
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - logmsg
    - snprintf
    linkageType: ''
    returnType: void
    signature: void loghex(unsigned char *buffer, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:89,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/server/util.c:93,1
    - Dst: time
      Src: /src/PROJ/curl/tests/server/util.c:95,1
    - Dst: localtime
      Src: /src/PROJ/curl/tests/server/util.c:100,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/util.c:102,1
    - Dst: va_start
      Src: /src/PROJ/curl/tests/server/util.c:106,1
    - Dst: vsnprintf
      Src: /src/PROJ/curl/tests/server/util.c:111,1
    - Dst: va_end
      Src: /src/PROJ/curl/tests/server/util.c:115,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/util.c:118,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:122,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/util.c:123,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:128,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:129,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:130,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 133
    functionName: logmsg
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 31
    functionsReached:
    - va_end
    - time
    - curlx_now
    - localtime
    - snprintf
    - va_start
    - curlx_strerror
    - fopen
    - vsnprintf
    - fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: void logmsg(const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/util.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: byteval
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - atoi
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char byteval(char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/tests/server/util.c:147,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:149,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: win32_perror
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - fprintf
    - curlx_winapi_strerror
    linkageType: ''
    returnType: void
    signature: void win32_perror(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/PROJ/curl/tests/server/util.c:156,1
    - Dst: _flushall
      Src: /src/PROJ/curl/tests/server/util.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: win32_cleanup
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    - _flushall
    linkageType: ''
    returnType: void
    signature: void win32_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now_init
      Src: /src/PROJ/curl/tests/server/util.c:165,1
    - Dst: MAKEWORD
      Src: /src/PROJ/curl/tests/server/util.c:172,1
    - Dst: WSAStartup
      Src: /src/PROJ/curl/tests/server/util.c:173,1
    - Dst: win32_perror
      Src: /src/PROJ/curl/tests/server/util.c:176,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:177,1
    - Dst: LOBYTE
      Src: /src/PROJ/curl/tests/server/util.c:181,1
    - Dst: LOBYTE
      Src: /src/PROJ/curl/tests/server/util.c:181,1
    - Dst: HIBYTE
      Src: /src/PROJ/curl/tests/server/util.c:182,1
    - Dst: HIBYTE
      Src: /src/PROJ/curl/tests/server/util.c:182,1
    - Dst: WSACleanup
      Src: /src/PROJ/curl/tests/server/util.c:183,1
    - Dst: win32_perror
      Src: /src/PROJ/curl/tests/server/util.c:184,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:185,1
    - Dst: atexit
      Src: /src/PROJ/curl/tests/server/util.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 192
    functionName: win32_init
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - HIBYTE
    - win32_perror
    - WSACleanup
    - LOBYTE
    - curlx_now_init
    - MAKEWORD
    - atexit
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int win32_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/util.c:201,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/util.c:202,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/util.c:207,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/util.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - testno
    - logdir2
    argTypes:
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: test2fopen
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - snprintf
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE *test2fopen(long testno, const char *logdir2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: t_getpid
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t_getpid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: t_getpid
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t_getpid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t_getpid
      Src: /src/PROJ/curl/tests/server/util.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: our_getpid
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - t_getpid
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t our_getpid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/util.c:238,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/util.c:239,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:242,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:243,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:246,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/util.c:247,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 250
    functionName: write_pidfile
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - curlx_strerror
    - fopen
    - our_getpid
    - fclose
    - fprintf
    linkageType: ''
    returnType: int
    signature: int write_pidfile(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/util.c:255,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:258,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:259,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/util.c:262,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/util.c:263,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - filename
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: write_portfile
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - curlx_strerror
    - fopen
    - fclose
    - fprintf
    linkageType: ''
    returnType: int
    signature: int write_portfile(const char *filename, int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/util.c:276,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:280,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:281,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/util.c:285,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:287,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: set_advisor_read_lock
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - fopen
    linkageType: ''
    returnType: void
    signature: void set_advisor_read_lock(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/util.c:303,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:308,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: clear_advisor_read_lock
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - logmsg
    - unlink
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: void clear_advisor_read_lock(const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/curl/tests/server/util.c:372,1
    - Dst: open
      Src: /src/PROJ/curl/tests/server/util.c:380,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/util.c:383,1
    - Dst: close
      Src: /src/PROJ/curl/tests/server/util.c:384,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/util.c:388,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/util.c:389,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/util.c:389,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/util.c:390,1
    - Dst: SetEvent
      Src: /src/PROJ/curl/tests/server/util.c:398,1
    - Dst: signal
      Src: /src/PROJ/curl/tests/server/util.c:401,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/tests/server/util.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 403
    functionName: exit_signal_handler
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - write
    - open
    - close
    - strlen
    - SetEvent
    - signal
    linkageType: ''
    returnType: void
    signature: void exit_signal_handler(int signum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:426,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:447,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/util.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - dwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 451
    functionName: ctrl_event_handler
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - logmsg
    - raise
    linkageType: ''
    returnType: BOOL
    signature: BOOL ctrl_event_handler(DWORD dwCtrlType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PostQuitMessage
      Src: /src/PROJ/curl/tests/server/util.c:474,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:478,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/util.c:479,1
    - Dst: DefWindowProc
      Src: /src/PROJ/curl/tests/server/util.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: main_window_proc
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - logmsg
    - raise
    - DefWindowProc
    - PostQuitMessage
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT main_window_proc(HWND hwnd, UINT uMsg,\n                                         WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/PROJ/curl/tests/server/util.c:492,1
    - Dst: TEXT
      Src: /src/PROJ/curl/tests/server/util.c:495,1
    - Dst: RegisterClass
      Src: /src/PROJ/curl/tests/server/util.c:496,1
    - Dst: win32_perror
      Src: /src/PROJ/curl/tests/server/util.c:497,1
    - Dst: CreateWindowEx
      Src: /src/PROJ/curl/tests/server/util.c:501,1
    - Dst: TEXT
      Src: /src/PROJ/curl/tests/server/util.c:501,1
    - Dst: TEXT
      Src: /src/PROJ/curl/tests/server/util.c:502,1
    - Dst: win32_perror
      Src: /src/PROJ/curl/tests/server/util.c:509,1
    - Dst: GetMessage
      Src: /src/PROJ/curl/tests/server/util.c:514,1
    - Dst: win32_perror
      Src: /src/PROJ/curl/tests/server/util.c:516,1
    - Dst: DestroyWindow
      Src: /src/PROJ/curl/tests/server/util.c:521,1
    - Dst: TranslateMessage
      Src: /src/PROJ/curl/tests/server/util.c:523,1
    - Dst: DispatchMessage
      Src: /src/PROJ/curl/tests/server/util.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 531
    functionName: main_window_loop
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - ZeroMemory
    - GetMessage
    - DestroyWindow
    - TranslateMessage
    - DispatchMessage
    - win32_perror
    - RegisterClass
    - TEXT
    - CreateWindowEx
    linkageType: ''
    returnType: DWORD
    signature: DWORD main_window_loop(void *lpParameter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/util.c:541,1
    - Dst: sigemptyset
      Src: /src/PROJ/curl/tests/server/util.c:543,1
    - Dst: sigaddset
      Src: /src/PROJ/curl/tests/server/util.c:544,1
    - Dst: sigaction
      Src: /src/PROJ/curl/tests/server/util.c:547,1
    - Dst: signal
      Src: /src/PROJ/curl/tests/server/util.c:552,1
    - Dst: siginterrupt
      Src: /src/PROJ/curl/tests/server/util.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - signum
    - handler
    - restartable
    argTypes:
    - int
    - SIGHANDLER_T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 563
    functionName: set_signal
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - sigaction
    - memset
    - siginterrupt
    - signal
    - sigemptyset
    linkageType: ''
    returnType: SIGHANDLER_T
    signature: "SIGHANDLER_T set_signal(int signum, SIGHANDLER_T handler,\n                               bool
      restartable)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/PROJ/curl/tests/server/util.c:572,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:574,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:578,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:580,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:581,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:585,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:587,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:588,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:593,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:595,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:596,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:603,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:605,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:606,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:610,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:612,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:613,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:617,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:619,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:620,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/PROJ/curl/tests/server/util.c:624,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:625,1
    - Dst: CreateThread
      Src: /src/PROJ/curl/tests/server/util.c:629,1
    - Dst: GetModuleHandle
      Src: /src/PROJ/curl/tests/server/util.c:630,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:632,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - keep_sigalrm
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 635
    functionName: install_signal_handlers
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - CreateThread
    - GetModuleHandle
    - SetConsoleCtrlHandler
    - set_signal
    - curlx_strerror
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: void install_signal_handlers(bool keep_sigalrm)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:641,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:645,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:650,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:657,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:661,1
    - Dst: set_signal
      Src: /src/PROJ/curl/tests/server/util.c:665,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/PROJ/curl/tests/server/util.c:669,1
    - Dst: PostThreadMessage
      Src: /src/PROJ/curl/tests/server/util.c:673,1
    - Dst: WaitForSingleObjectEx
      Src: /src/PROJ/curl/tests/server/util.c:674,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/util.c:675,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/tests/server/util.c:683,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - keep_sigalrm
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 689
    functionName: restore_signal_handlers
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - WaitForSingleObjectEx
    - CloseHandle
    - SetConsoleCtrlHandler
    - set_signal
    - PostThreadMessage
    linkageType: ''
    returnType: void
    signature: void restore_signal_handlers(bool keep_sigalrm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/util.c:699,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/util.c:701,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:704,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/server/util.c:707,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/util.c:708,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/util.c:712,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:714,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:715,1
    - Dst: connect
      Src: /src/PROJ/curl/tests/server/util.c:719,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:721,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:723,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:724,1
    - Dst: curlx_win32_stat
      Src: /src/PROJ/curl/tests/server/util.c:730,1
    - Dst: lstat
      Src: /src/PROJ/curl/tests/server/util.c:732,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:735,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:736,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:741,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/util.c:746,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:748,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:749,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/util.c:753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - sock
    - unix_socket
    - sau
    argTypes:
    - curl_socket_t
    - char*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 756
    functionName: bind_unix_socket
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - logmsg
    - curlx_win32_stat
    - strcpy
    - lstat
    - socket
    - connect
    - curlx_strerror
    - memset
    - unlink
    - strlen
    - sclose
    - bind
    linkageType: ''
    returnType: int
    signature: "int bind_unix_socket(curl_socket_t sock, const char *unix_socket,\n
      \                    struct sockaddr_un *sau)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/util.c:782,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:786,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:787,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/util.c:789,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:793,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:794,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:795,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:799,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:800,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:810,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:812,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:813,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/util.c:821,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/util.c:824,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/util.c:825,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/util.c:829,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/util.c:832,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/util.c:833,1
    - Dst: bind_unix_socket
      Src: /src/PROJ/curl/tests/server/util.c:838,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:849,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:850,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:853,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:854,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:855,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/util.c:874,1
    - Dst: getsockname
      Src: /src/PROJ/curl/tests/server/util.c:875,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:877,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:878,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:879,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/util.c:884,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/util.c:888,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:896,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:897,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:898,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:899,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:900,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:907,1
    - Dst: listen
      Src: /src/PROJ/curl/tests/server/util.c:912,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/util.c:915,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/util.c:916,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/util.c:917,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 102
    argCount: 4
    argNames:
    - sock
    - listenport
    - unix_socket
    - bind_only
    argTypes:
    - curl_socket_t
    - unsigned short*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 922
    functionName: sockdaemon
    functionSourceFile: /src/PROJ/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - logmsg
    - curlx_wait_ms
    - curlx_strerror
    - bind_unix_socket
    - setsockopt
    - memset
    - getsockname
    - listen
    - sclose
    - htons
    - bind
    - ntohs
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t sockdaemon(curl_socket_t sock,\n                         unsigned
      short *listenport,\n                         const char *unix_socket,\n                         bool
      bind_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - size
    argTypes:
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: get16bit
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: "unsigned short get16bit(const unsigned char **pkt,\n                               size_t
      *size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pkt
    - size
    argTypes:
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: qname
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qname(const unsigned char **pkt, size_t *size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - qtype
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: type2string
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *type2string(unsigned short qtype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:102,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/dnsd.c:105,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:109,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/dnsd.c:110,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:111,1
    - Dst: get16bit
      Src: /src/PROJ/curl/tests/server/dnsd.c:132,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:136,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:137,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:138,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:139,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:140,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:141,1
    - Dst: get16bit
      Src: /src/PROJ/curl/tests/server/dnsd.c:143,1
    - Dst: qname
      Src: /src/PROJ/curl/tests/server/dnsd.c:152,1
    - Dst: get16bit
      Src: /src/PROJ/curl/tests/server/dnsd.c:153,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:154,1
    - Dst: type2string
      Src: /src/PROJ/curl/tests/server/dnsd.c:154,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:156,1
    - Dst: type2string
      Src: /src/PROJ/curl/tests/server/dnsd.c:157,1
    - Dst: get16bit
      Src: /src/PROJ/curl/tests/server/dnsd.c:159,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:163,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/dnsd.c:165,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/dnsd.c:168,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:171,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:174,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:176,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/dnsd.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 7
    argNames:
    - data
    - size
    - qbuf
    - qbuflen
    - qlen
    - qtype
    - idp
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    - unsigned short*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 182
    functionName: store_incoming
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - get16bit
    - logmsg
    - type2string
    - memcpy
    - snprintf
    - curlx_strerror
    - fprintf
    - qname
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: "int store_incoming(const unsigned char *data, size_t size,\n                          unsigned
      char *qbuf, size_t qbuflen, size_t *qlen,\n                          unsigned
      short *qtype, unsigned short *idp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/dnsd.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - bytes
    - w
    - a
    - alen
    - qtype
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: add_answer
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void add_answer(unsigned char *bytes, size_t *w,\n                       const
      unsigned char *a, size_t alen,\n                       unsigned short qtype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/dnsd.c:277,1
    - Dst: add_answer
      Src: /src/PROJ/curl/tests/server/dnsd.c:286,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:287,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/tests/server/dnsd.c:288,1
    - Dst: add_answer
      Src: /src/PROJ/curl/tests/server/dnsd.c:295,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:296,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/tests/server/dnsd.c:297,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:311,1
    - Dst: sendto
      Src: /src/PROJ/curl/tests/server/dnsd.c:314,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - sock
    - addr
    - addrlen
    - qbuf
    - qlen
    - qtype
    - id
    argTypes:
    - curl_socket_t
    - struct sockaddr*
    - curl_socklen_t
    - unsigned char*
    - size_t
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 320
    functionName: send_response
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - curlx_inet_ntop
    - logmsg
    - memcpy
    - add_answer
    - sendto
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int send_response(curl_socket_t sock,\n                         const
      struct sockaddr *addr, curl_socklen_t addrlen,\n                         unsigned
      char *qbuf, size_t qlen,\n                         unsigned short qtype, unsigned
      short id)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:327,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/dnsd.c:328,1
    - Dst: fgets
      Src: /src/PROJ/curl/tests/server/dnsd.c:333,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/dnsd.c:334,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:338,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/dnsd.c:339,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:342,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/dnsd.c:345,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/tests/server/dnsd.c:350,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:353,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:374,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/dnsd.c:378,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:381,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 382
    functionName: read_instructions
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - strncmp
    - curlx_inet_pton
    - strchr
    - snprintf
    - fgets
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void read_instructions(void)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:402,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:406,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/dnsd.c:407,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:416,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:421,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:426,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:431,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:436,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:443,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/dnsd.c:450,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/dnsd.c:453,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:459,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/dnsd.c:460,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/dnsd.c:473,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/dnsd.c:477,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/dnsd.c:484,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/dnsd.c:487,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:492,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/dnsd.c:493,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/dnsd.c:499,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:502,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/dnsd.c:503,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/dnsd.c:511,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/dnsd.c:514,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/dnsd.c:515,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/dnsd.c:519,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/dnsd.c:522,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/dnsd.c:523,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:528,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/dnsd.c:529,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/dnsd.c:547,1
    - Dst: getsockname
      Src: /src/PROJ/curl/tests/server/dnsd.c:548,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:550,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/dnsd.c:551,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/dnsd.c:552,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/dnsd.c:557,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/dnsd.c:561,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:569,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:570,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:571,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:572,1
    - Dst: write_pidfile
      Src: /src/PROJ/curl/tests/server/dnsd.c:578,1
    - Dst: write_portfile
      Src: /src/PROJ/curl/tests/server/dnsd.c:585,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:592,1
    - Dst: recvfrom
      Src: /src/PROJ/curl/tests/server/dnsd.c:611,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:616,1
    - Dst: read_instructions
      Src: /src/PROJ/curl/tests/server/dnsd.c:623,1
    - Dst: store_incoming
      Src: /src/PROJ/curl/tests/server/dnsd.c:625,1
    - Dst: set_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/dnsd.c:627,1
    - Dst: send_response
      Src: /src/PROJ/curl/tests/server/dnsd.c:630,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/dnsd.c:637,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/dnsd.c:647,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/dnsd.c:651,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:654,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/dnsd.c:657,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/dnsd.c:659,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/dnsd.c:663,1
    - Dst: restore_signal_handlers
      Src: /src/PROJ/curl/tests/server/dnsd.c:666,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:669,1
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/dnsd.c:670,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/dnsd.c:676,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/dnsd.c:679,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 191
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 681
    functionName: test_dnsd
    functionSourceFile: /src/PROJ/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - clear_advisor_read_lock
    - snprintf
    - curlx_strerror
    - our_getpid
    - send_response
    - logmsg
    - store_incoming
    - read_instructions
    - memset
    - bind
    - fprintf
    - printf
    - socket
    - write_portfile
    - setsockopt
    - unlink
    - restore_signal_handlers
    - sclose
    - recvfrom
    - htons
    - atoi
    - strcmp
    - getsockname
    - write_pidfile
    - win32_init
    - raise
    - set_advisor_read_lock
    - ntohs
    - puts
    linkageType: ''
    returnType: int
    signature: int test_dnsd(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/tftpd.c:263,1
    - Dst: sigaction
      Src: /src/PROJ/curl/tests/server/tftpd.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: mysignal
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - memset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void mysignal(int sig, void (*handler)(int))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:275,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/tftpd.c:281,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/tftpd.c:285,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/tftpd.c:289,1
    - Dst: exit
      Src: /src/PROJ/curl/tests/server/tftpd.c:291,1
    - Dst: siglongjmp
      Src: /src/PROJ/curl/tests/server/tftpd.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 296
    functionName: timer
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - clear_advisor_read_lock
    - unlink
    - exit
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: void timer(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: justtimeout
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void justtimeout(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: rw_init
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tftphdr
    signature: struct tftphdr *rw_init(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_init
      Src: /src/PROJ/curl/tests/server/tftpd.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: w_init
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 3
    functionsReached:
    - rw_init
    linkageType: ''
    returnType: struct tftphdr
    signature: struct tftphdr *w_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_init
      Src: /src/PROJ/curl/tests/server/tftpd.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: r_init
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 2
    functionsReached:
    - rw_init
    linkageType: ''
    returnType: struct tftphdr
    signature: struct tftphdr *r_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_ahead
      Src: /src/PROJ/curl/tests/server/tftpd.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - test
    - dpp
    - convert
    argTypes:
    - struct testcase*
    - struct tftphdr**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: readit
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - read_ahead
    linkageType: ''
    returnType: int
    signature: "int readit(struct testcase *test, struct tftphdr * volatile *dpp,\n
      \                 int convert /* if true, convert to ASCII */)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/PROJ/curl/tests/server/tftpd.c:372,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/tftpd.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - test
    - convert
    argTypes:
    - struct testcase*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 408
    functionName: read_ahead
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - CURLMIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void read_ahead(struct testcase *test,\n                       int
      convert /* if true, convert to ASCII */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_behind
      Src: /src/PROJ/curl/tests/server/tftpd.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - test
    - dpp
    - ct
    - convert
    argTypes:
    - struct testcase*
    - struct tftphdr**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: writeit
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - write_behind
    linkageType: ''
    returnType: int
    signature: "int writeit(struct testcase *test, struct tftphdr * volatile *dpp,\n
      \                  int ct, int convert)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:447,1
    - Dst: open
      Src: /src/PROJ/curl/tests/server/tftpd.c:448,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:450,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/tftpd.c:468,1
    - Dst: lseek
      Src: /src/PROJ/curl/tests/server/tftpd.c:476,1
    - Dst: write
      Src: /src/PROJ/curl/tests/server/tftpd.c:484,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - test
    - convert
    argTypes:
    - struct testcase*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 490
    functionName: write_behind
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - snprintf
    - write
    - lseek
    - open
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_behind(struct testcase *test, int convert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IoctlSocket
      Src: /src/PROJ/curl/tests/server/tftpd.c:513,1
    - Dst: ioctlsocket
      Src: /src/PROJ/curl/tests/server/tftpd.c:516,1
    - Dst: ioctl
      Src: /src/PROJ/curl/tests/server/tftpd.c:519,1
    - Dst: recvfrom
      Src: /src/PROJ/curl/tests/server/tftpd.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 538
    functionName: synchnet
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - recvfrom
    - ioctl
    - IoctlSocket
    linkageType: ''
    returnType: int
    signature: int synchnet(curl_socket_t f /* socket to flush */)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:898,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/tftpd.c:901,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:905,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/tftpd.c:906,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:907,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:912,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:940,1
    - Dst: nak
      Src: /src/PROJ/curl/tests/server/tftpd.c:953,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/tftpd.c:954,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:959,1
    - Dst: ISUPPER
      Src: /src/PROJ/curl/tests/server/tftpd.c:962,1
    - Dst: tolower
      Src: /src/PROJ/curl/tests/server/tftpd.c:963,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/tftpd.c:966,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/tftpd.c:969,1
    - Dst: nak
      Src: /src/PROJ/curl/tests/server/tftpd.c:972,1
    - Dst: validate_access
      Src: /src/PROJ/curl/tests/server/tftpd.c:975,1
    - Dst: nak
      Src: /src/PROJ/curl/tests/server/tftpd.c:977,1
    - Dst: getsockopt
      Src: /src/PROJ/curl/tests/server/tftpd.c:983,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/tftpd.c:986,1
    - Dst: recvtftp
      Src: /src/PROJ/curl/tests/server/tftpd.c:991,1
    - Dst: sendtftp
      Src: /src/PROJ/curl/tests/server/tftpd.c:993,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/tftpd.c:997,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - test
    - tp
    - size
    argTypes:
    - struct testcase*
    - struct tftphdr*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 1002
    functionName: do_tftp
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - recvtftp
    - tolower
    - strcmp
    - validate_access
    - snprintf
    - curlx_strerror
    - fopen
    - sendtftp
    - ISUPPER
    - setsockopt
    - fclose
    - getsockopt
    - nak
    - fprintf
    linkageType: ''
    returnType: int
    signature: int do_tftp(struct testcase *test, struct tftphdr *tp, ssize_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/tftpd.c:1010,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1014,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/tftpd.c:1015,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1016,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/tftpd.c:1026,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/tftpd.c:1027,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1029,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/tftpd.c:1036,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1037,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1041,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/tftpd.c:1044,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/tftpd.c:1046,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/tftpd.c:1061,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct testcase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1065
    functionName: tftpd_parse_servercmd
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - free
    - sscanf
    - getpart
    - test2fopen
    - strchr
    - curlx_strerror
    - fclose
    linkageType: ''
    returnType: int
    signature: int tftpd_parse_servercmd(struct testcase *req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1076,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/tftpd.c:1078,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:1080,1
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/tftpd.c:1081,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1083,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/server/tftpd.c:1084,1
    - Dst: strrchr
      Src: /src/PROJ/curl/tests/server/tftpd.c:1092,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/tests/server/tftpd.c:1103,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/tftpd.c:1107,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1116,1
    - Dst: tftpd_parse_servercmd
      Src: /src/PROJ/curl/tests/server/tftpd.c:1120,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/tftpd.c:1122,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/tftpd.c:1125,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1130,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/tftpd.c:1131,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1132,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/tftpd.c:1137,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/tftpd.c:1138,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1140,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1153,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - test
    - filename
    - mode
    argTypes:
    - struct testcase*
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1071
    functionDepth: 4
    functionLinenumber: 1071
    functionLinenumberEnd: 1159
    functionName: validate_access
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - ISDIGIT
    - logmsg
    - strncmp
    - tftpd_parse_servercmd
    - atol
    - getpart
    - test2fopen
    - snprintf
    - curlx_strerror
    - our_getpid
    - strrchr
    - fclose
    - strdup
    linkageType: ''
    returnType: int
    signature: "int validate_access(struct testcase *test,\n                           const
      char *filename, unsigned short mode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: r_init
      Src: /src/PROJ/curl/tests/server/tftpd.c:1170,1
    - Dst: mysignal
      Src: /src/PROJ/curl/tests/server/tftpd.c:1175,1
    - Dst: readit
      Src: /src/PROJ/curl/tests/server/tftpd.c:1178,1
    - Dst: nak
      Src: /src/PROJ/curl/tests/server/tftpd.c:1180,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1183,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1184,1
    - Dst: sigsetjmp
      Src: /src/PROJ/curl/tests/server/tftpd.c:1187,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1190,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/tftpd.c:1192,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1196,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/tftpd.c:1197,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1198,1
    - Dst: read_ahead
      Src: /src/PROJ/curl/tests/server/tftpd.c:1201,1
    - Dst: alarm
      Src: /src/PROJ/curl/tests/server/tftpd.c:1204,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1206,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/tftpd.c:1207,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1208,1
    - Dst: alarm
      Src: /src/PROJ/curl/tests/server/tftpd.c:1210,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1215,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/tftpd.c:1218,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/tftpd.c:1219,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1222,1
    - Dst: synchnet
      Src: /src/PROJ/curl/tests/server/tftpd.c:1231,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - test
    - pf
    argTypes:
    - struct testcase*
    - struct formats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1240
    functionName: sendtftp
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - swrite
    - read_ahead
    - synchnet
    - sigsetjmp
    - curlx_wait_ms
    - alarm
    - sread
    - r_init
    - readit
    - mysignal
    - nak
    - htons
    - ntohs
    linkageType: ''
    returnType: void
    signature: void sendtftp(struct testcase *test, const struct formats *pf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: w_init
      Src: /src/PROJ/curl/tests/server/tftpd.c:1254,1
    - Dst: mysignal
      Src: /src/PROJ/curl/tests/server/tftpd.c:1256,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1261,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1262,1
    - Dst: sigsetjmp
      Src: /src/PROJ/curl/tests/server/tftpd.c:1265,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1268,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/tftpd.c:1269,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1270,1
    - Dst: write_behind
      Src: /src/PROJ/curl/tests/server/tftpd.c:1273,1
    - Dst: alarm
      Src: /src/PROJ/curl/tests/server/tftpd.c:1276,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1278,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/tftpd.c:1279,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1280,1
    - Dst: alarm
      Src: /src/PROJ/curl/tests/server/tftpd.c:1282,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1287,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/tftpd.c:1290,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/tftpd.c:1291,1
    - Dst: synchnet
      Src: /src/PROJ/curl/tests/server/tftpd.c:1299,1
    - Dst: writeit
      Src: /src/PROJ/curl/tests/server/tftpd.c:1305,1
    - Dst: nak
      Src: /src/PROJ/curl/tests/server/tftpd.c:1308,1
    - Dst: nak
      Src: /src/PROJ/curl/tests/server/tftpd.c:1310,1
    - Dst: write_behind
      Src: /src/PROJ/curl/tests/server/tftpd.c:1314,1
    - Dst: close
      Src: /src/PROJ/curl/tests/server/tftpd.c:1317,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1321,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1322,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/tftpd.c:1323,1
    - Dst: mysignal
      Src: /src/PROJ/curl/tests/server/tftpd.c:1325,1
    - Dst: alarm
      Src: /src/PROJ/curl/tests/server/tftpd.c:1326,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/tftpd.c:1329,1
    - Dst: alarm
      Src: /src/PROJ/curl/tests/server/tftpd.c:1331,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/tftpd.c:1338,1
    - Dst: close
      Src: /src/PROJ/curl/tests/server/tftpd.c:1343,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - test
    - pf
    argTypes:
    - struct testcase*
    - struct formats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1245
    functionDepth: 3
    functionLinenumber: 1245
    functionLinenumberEnd: 1347
    functionName: recvtftp
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - swrite
    - synchnet
    - writeit
    - htons
    - sread
    - alarm
    - close
    - w_init
    - mysignal
    - write_behind
    - nak
    - sigsetjmp
    - ntohs
    linkageType: ''
    returnType: void
    signature: void recvtftp(struct testcase *test, const struct formats *pf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1360,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/tftpd.c:1361,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/tftpd.c:1366,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/tftpd.c:1369,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/tftpd.c:1373,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/tftpd.c:1375,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/tftpd.c:1376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1377
    functionName: nak
    functionSourceFile: /src/PROJ/curl/tests/server/tftpd.c
    functionUses: 3
    functionsReached:
    - logmsg
    - memcpy
    - swrite
    - curlx_strerror
    - strlen
    - htons
    linkageType: ''
    returnType: void
    signature: void nak(int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SET_RTP_PKT_CHN
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RTP_PKT_CHN(p,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: SET_RTP_PKT_LEN
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RTP_PKT_LEN(p,l)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:152,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:154,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/rtspd.c:160,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:169,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:172,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:177,1
    - Dst: strrchr
      Src: /src/PROJ/curl/tests/server/rtspd.c:184,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:189,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:189,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:190,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:193,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:196,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:197,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:202,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:203,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/tests/server/rtspd.c:211,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/rtspd.c:214,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:223,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/rtspd.c:225,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:230,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:231,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:232,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/rtspd.c:248,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:249,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:251,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:258,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:261,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:261,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:262,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:265,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:265,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:266,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:270,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:270,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:271,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/rtspd.c:274,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:275,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:277,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/rtspd.c:282,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:283,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/rtspd.c:286,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:293,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/server/rtspd.c:298,1
    - Dst: SET_RTP_PKT_CHN
      Src: /src/PROJ/curl/tests/server/rtspd.c:304,1
    - Dst: SET_RTP_PKT_LEN
      Src: /src/PROJ/curl/tests/server/rtspd.c:307,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/rtspd.c:311,1
    - Dst: realloc
      Src: /src/PROJ/curl/tests/server/rtspd.c:319,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/rtspd.c:322,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:325,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:327,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:332,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/rtspd.c:335,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:341,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:343,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/rtspd.c:347,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:349,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:355,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:358,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/rtspd.c:361,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/tests/server/rtspd.c:362,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/rtspd.c:363,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:371,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:379,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:382,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:387,1
    - Dst: CURL_STRNICMP
      Src: /src/PROJ/curl/tests/server/rtspd.c:404,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:410,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/tests/server/rtspd.c:411,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:413,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:419,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:421,1
    - Dst: CURL_STRNICMP
      Src: /src/PROJ/curl/tests/server/rtspd.c:424,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:425,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:431,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/rtspd.c:438,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:444,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:447,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:450,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:456,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:459,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:463,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:465,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:469,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:473,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:476,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:481,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:483,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:489,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:490,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:490,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:491,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:491,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:494,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:503,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:506,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:518,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 218
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct rtspd_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 525
    functionName: rtspd_ProcessRequest
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - strncmp
    - test2fopen
    - curlx_strerror
    - SET_RTP_PKT_LEN
    - fclose
    - ISDIGIT
    - logmsg
    - memcpy
    - curlx_str_numblanks
    - strlen
    - sscanf
    - getpart
    - realloc
    - CURL_STRNICMP
    - free
    - atol
    - strstr
    - strcmp
    - strchr
    - strrchr
    - SET_RTP_PKT_CHN
    - malloc
    linkageType: ''
    returnType: int
    signature: int rtspd_ProcessRequest(struct rtspd_httprequest *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/rtspd.c:538,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/rtspd.c:546,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:550,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:551,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:552,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/server/rtspd.c:558,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:568,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:570,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:571,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:572,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:578,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:580,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - reqbuf
    - totalsize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 582
    functionName: rtspd_storerequest
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fwrite
    - snprintf
    - curlx_strerror
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void rtspd_storerequest(char *reqbuf, size_t totalsize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/PROJ/curl/tests/server/rtspd.c:627,1
    - Dst: curlx_uztosz
      Src: /src/PROJ/curl/tests/server/rtspd.c:628,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/rtspd.c:636,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/rtspd.c:638,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:644,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:649,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:650,1
    - Dst: rtspd_storerequest
      Src: /src/PROJ/curl/tests/server/rtspd.c:656,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:660,1
    - Dst: rtspd_ProcessRequest
      Src: /src/PROJ/curl/tests/server/rtspd.c:665,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:669,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:676,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:682,1
    - Dst: rtspd_storerequest
      Src: /src/PROJ/curl/tests/server/rtspd.c:691,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct rtspd_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 696
    functionName: rtspd_get_request
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - rtspd_storerequest
    - curlx_strerror
    - memmove
    - sread
    - rtspd_ProcessRequest
    - curlx_uztosz
    linkageType: ''
    returnType: int
    signature: int rtspd_get_request(curl_socket_t sock, struct rtspd_httprequest
      *req)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/rtspd.c:717,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:719,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/rtspd.c:728,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:732,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:751,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:756,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/rtspd.c:757,1
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/rtspd.c:758,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:759,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/rtspd.c:760,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:766,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:769,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:773,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:778,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/rtspd.c:788,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/rtspd.c:791,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/rtspd.c:794,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:797,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:798,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:799,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/rtspd.c:803,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:804,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:806,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:813,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/rtspd.c:818,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:821,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:822,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:823,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:824,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/rtspd.c:829,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:830,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:832,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:833,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:840,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:841,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:848,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:850,1
    - Dst: strstr
      Src: /src/PROJ/curl/tests/server/rtspd.c:852,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:854,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/rtspd.c:859,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:862,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:863,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:864,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:865,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:866,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:867,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/rtspd.c:879,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:885,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/server/rtspd.c:888,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:898,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/rtspd.c:904,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:913,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:917,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:919,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:920,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:923,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:924,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:929,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:932,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:933,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:937,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:939,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/rtspd.c:947,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:948,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:949,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/server/rtspd.c:953,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:959,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:960,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:965,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:968,1
    - Dst: strchr
      Src: /src/PROJ/curl/tests/server/rtspd.c:970,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/rtspd.c:977,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 203
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct rtspd_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 699
    functionDepth: 3
    functionLinenumber: 699
    functionLinenumberEnd: 984
    functionName: rtspd_send_doc
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - free
    - sscanf
    - fwrite
    - swrite
    - getpart
    - strstr
    - test2fopen
    - snprintf
    - strcmp
    - strchr
    - curlx_strerror
    - our_getpid
    - curlx_wait_ms
    - strlen
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int rtspd_send_doc(curl_socket_t sock, struct rtspd_httprequest *req)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/rtspd.c:1002,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1009,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/rtspd.c:1010,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1021,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1026,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1031,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1036,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1041,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1048,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1055,1
    - Dst: atol
      Src: /src/PROJ/curl/tests/server/rtspd.c:1058,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/rtspd.c:1062,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/rtspd.c:1070,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/rtspd.c:1084,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/rtspd.c:1088,1
    - Dst: install_signal_handlers
      Src: /src/PROJ/curl/tests/server/rtspd.c:1092,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/rtspd.c:1097,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/rtspd.c:1100,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1105,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:1106,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/rtspd.c:1111,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1114,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:1115,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/rtspd.c:1122,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/rtspd.c:1125,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/rtspd.c:1126,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/rtspd.c:1130,1
    - Dst: htons
      Src: /src/PROJ/curl/tests/server/rtspd.c:1133,1
    - Dst: bind
      Src: /src/PROJ/curl/tests/server/rtspd.c:1134,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1139,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:1140,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/rtspd.c:1157,1
    - Dst: getsockname
      Src: /src/PROJ/curl/tests/server/rtspd.c:1158,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1160,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:1161,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:1162,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/rtspd.c:1167,1
    - Dst: ntohs
      Src: /src/PROJ/curl/tests/server/rtspd.c:1171,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1179,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1180,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1181,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1182,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:1183,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1187,1
    - Dst: listen
      Src: /src/PROJ/curl/tests/server/rtspd.c:1190,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1193,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:1194,1
    - Dst: write_pidfile
      Src: /src/PROJ/curl/tests/server/rtspd.c:1203,1
    - Dst: write_portfile
      Src: /src/PROJ/curl/tests/server/rtspd.c:1208,1
    - Dst: accept
      Src: /src/PROJ/curl/tests/server/rtspd.c:1214,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1220,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/rtspd.c:1221,1
    - Dst: set_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/rtspd.c:1231,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1234,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/tests/server/rtspd.c:1242,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1244,1
    - Dst: rtspd_get_request
      Src: /src/PROJ/curl/tests/server/rtspd.c:1258,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1266,1
    - Dst: rtspd_send_doc
      Src: /src/PROJ/curl/tests/server/rtspd.c:1275,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1280,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1284,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1289,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1296,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:1297,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/rtspd.c:1302,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:1312,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/rtspd.c:1315,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1318,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/rtspd.c:1321,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/rtspd.c:1323,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/rtspd.c:1327,1
    - Dst: restore_signal_handlers
      Src: /src/PROJ/curl/tests/server/rtspd.c:1330,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1333,1
    - Dst: our_getpid
      Src: /src/PROJ/curl/tests/server/rtspd.c:1334,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/rtspd.c:1340,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/rtspd.c:1343,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 227
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 987
    functionDepth: 5
    functionLinenumber: 987
    functionLinenumberEnd: 1345
    functionName: test_rtspd
    functionSourceFile: /src/PROJ/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - clear_advisor_read_lock
    - snprintf
    - curlx_strerror
    - our_getpid
    - accept
    - rtspd_get_request
    - logmsg
    - rtspd_send_doc
    - memset
    - install_signal_handlers
    - bind
    - printf
    - socket
    - write_portfile
    - setsockopt
    - unlink
    - restore_signal_handlers
    - sclose
    - htons
    - atol
    - strcmp
    - getsockname
    - write_pidfile
    - listen
    - win32_init
    - raise
    - set_advisor_read_lock
    - ntohs
    - puts
    linkageType: ''
    returnType: int
    signature: int test_rtspd(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: mqttd_resetdefaults
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    linkageType: ''
    returnType: void
    signature: void mqttd_resetdefaults(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/mqttd.c:76,1
    - Dst: mqttd_resetdefaults
      Src: /src/PROJ/curl/tests/server/mqttd.c:77,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:80,1
    - Dst: fgets
      Src: /src/PROJ/curl/tests/server/mqttd.c:81,1
    - Dst: sscanf
      Src: /src/PROJ/curl/tests/server/mqttd.c:84,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:85,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/mqttd.c:86,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:87,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:89,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:90,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:93,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:94,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:97,1
    - Dst: byteval
      Src: /src/PROJ/curl/tests/server/mqttd.c:98,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:99,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:101,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/mqttd.c:102,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:103,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:105,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:106,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/mqttd.c:111,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 116
    functionName: mqttd_getconfig
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - sscanf
    - byteval
    - strcmp
    - fgets
    - fclose
    - atoi
    - fopen
    - mqttd_resetdefaults
    linkageType: ''
    returnType: void
    signature: void mqttd_getconfig(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/mqttd.c:135,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/mqttd.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - dir
    - prefix
    - remlen
    - output
    - buffer
    - len
    argTypes:
    - mqttdir
    - char*
    - size_t
    - FILE*
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: logprotocol
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void logprotocol(mqttdir dir,\n                        const char
      *prefix, size_t remlen,\n                        FILE *output,\n                        unsigned
      char *buffer, ssize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/mqttd.c:156,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:158,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:159,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - dump
    - fd
    argTypes:
    - FILE*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: connack
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - loghex
    - logmsg
    - logprotocol
    - swrite
    linkageType: ''
    returnType: int
    signature: int connack(FILE *dump, curl_socket_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/mqttd.c:180,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:182,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:183,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dump
    - fd
    - packetid
    argTypes:
    - FILE*
    - curl_socket_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: suback
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - loghex
    - logmsg
    - logprotocol
    - swrite
    linkageType: ''
    returnType: int
    signature: int suback(FILE *dump, curl_socket_t fd, unsigned short packetid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/mqttd.c:202,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:204,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:205,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:206,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - dump
    - fd
    - packetid
    argTypes:
    - FILE*
    - curl_socket_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: puback
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - loghex
    - logmsg
    - logprotocol
    - swrite
    linkageType: ''
    returnType: int
    signature: int puback(FILE *dump, curl_socket_t fd, unsigned short packetid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/mqttd.c:220,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:222,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:223,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:224,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dump
    - fd
    argTypes:
    - FILE*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: disconnect
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - loghex
    - logmsg
    - logprotocol
    - swrite
    linkageType: ''
    returnType: int
    signature: int disconnect(FILE *dump, curl_socket_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - packetlen
    - remlength
    argTypes:
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: encode_length
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    linkageType: ''
    returnType: size_t
    signature: "size_t encode_length(size_t packetlen,\n                            unsigned
      char *remlength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - buflen
    - lenbytes
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: decode_length
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t decode_length(unsigned char *buffer,\n                            size_t
      buflen, size_t *lenbytes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/mqttd.c:302,1
    - Dst: encode_length
      Src: /src/PROJ/curl/tests/server/mqttd.c:321,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/server/mqttd.c:325,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/mqttd.c:330,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/mqttd.c:337,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/mqttd.c:340,1
    - Dst: swrite
      Src: /src/PROJ/curl/tests/server/mqttd.c:346,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:348,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:349,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:350,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/mqttd.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 6
    argNames:
    - dump
    - fd
    - packetid
    - topic
    - payload
    - payloadlen
    argTypes:
    - FILE*
    - curl_socket_t
    - unsigned short
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 356
    functionName: publish
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - encode_length
    - logmsg
    - free
    - memcpy
    - swrite
    - loghex
    - strlen
    - malloc
    - logprotocol
    linkageType: ''
    returnType: int
    signature: "int publish(FILE *dump,\n                   curl_socket_t fd, unsigned
      short packetid,\n                   char *topic, const char *payload, size_t
      payloadlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/mqttd.c:372,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:375,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:378,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:379,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/mqttd.c:386,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:388,1
    - Dst: decode_length
      Src: /src/PROJ/curl/tests/server/mqttd.c:392,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - fd
    - bytep
    - remaining_lengthp
    - remaining_length_bytesp
    argTypes:
    - curl_socket_t
    - unsigned char*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 396
    functionName: fixedheader
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - loghex
    - logmsg
    - decode_length
    - sread
    linkageType: ''
    returnType: int
    signature: "int fixedheader(curl_socket_t fd,\n                       unsigned
      char *bytep,\n                       size_t *remaining_lengthp,\n                       size_t
      *remaining_length_bytesp)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/mqttd.c:421,1
    - Dst: fopen
      Src: /src/PROJ/curl/tests/server/mqttd.c:422,1
    - Dst: mqttd_getconfig
      Src: /src/PROJ/curl/tests/server/mqttd.c:426,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:431,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/server/mqttd.c:433,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:435,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/mqttd.c:438,1
    - Dst: fixedheader
      Src: /src/PROJ/curl/tests/server/mqttd.c:449,1
    - Dst: realloc
      Src: /src/PROJ/curl/tests/server/mqttd.c:456,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:458,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/mqttd.c:466,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:468,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:469,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:474,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:477,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:478,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:491,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:499,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:507,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:513,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/mqttd.c:516,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:519,1
    - Dst: connack
      Src: /src/PROJ/curl/tests/server/mqttd.c:524,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:525,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:533,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:535,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:538,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:548,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/server/mqttd.c:552,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:557,1
    - Dst: test2fopen
      Src: /src/PROJ/curl/tests/server/mqttd.c:558,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:562,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/mqttd.c:563,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:564,1
    - Dst: getpart
      Src: /src/PROJ/curl/tests/server/mqttd.c:567,1
    - Dst: suback
      Src: /src/PROJ/curl/tests/server/mqttd.c:570,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:571,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/mqttd.c:572,1
    - Dst: publish
      Src: /src/PROJ/curl/tests/server/mqttd.c:576,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:577,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/mqttd.c:578,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/mqttd.c:581,1
    - Dst: suback
      Src: /src/PROJ/curl/tests/server/mqttd.c:583,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:584,1
    - Dst: publish
      Src: /src/PROJ/curl/tests/server/mqttd.c:591,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/server/mqttd.c:591,1
    - Dst: disconnect
      Src: /src/PROJ/curl/tests/server/mqttd.c:593,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:598,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:599,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:603,1
    - Dst: puback
      Src: /src/PROJ/curl/tests/server/mqttd.c:607,1
    - Dst: sread
      Src: /src/PROJ/curl/tests/server/mqttd.c:611,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:613,1
    - Dst: loghex
      Src: /src/PROJ/curl/tests/server/mqttd.c:614,1
    - Dst: logprotocol
      Src: /src/PROJ/curl/tests/server/mqttd.c:615,1
    - Dst: free
      Src: /src/PROJ/curl/tests/server/mqttd.c:626,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/mqttd.c:628,1
    - Dst: fclose
      Src: /src/PROJ/curl/tests/server/mqttd.c:630,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 160
    argCount: 1
    argNames:
    - fd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 632
    functionName: mqttit
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - connack
    - test2fopen
    - snprintf
    - curlx_strerror
    - sread
    - fclose
    - memcmp
    - logmsg
    - memcpy
    - publish
    - puback
    - suback
    - mqttd_getconfig
    - memset
    - strlen
    - fixedheader
    - getpart
    - realloc
    - disconnect
    - logprotocol
    - free
    - loghex
    - malloc
    - fopen
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t mqttit(curl_socket_t fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:648,1
    - Dst: getppid
      Src: /src/PROJ/curl/tests/server/mqttd.c:654,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:655,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/mqttd.c:667,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/mqttd.c:668,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/tests/server/mqttd.c:669,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/tests/server/mqttd.c:676,1
    - Dst: select
      Src: /src/PROJ/curl/tests/server/mqttd.c:683,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:685,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:691,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/mqttd.c:692,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/tests/server/mqttd.c:696,1
    - Dst: accept
      Src: /src/PROJ/curl/tests/server/mqttd.c:697,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:700,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/mqttd.c:701,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:704,1
    - Dst: set_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/mqttd.c:706,1
    - Dst: mqttit
      Src: /src/PROJ/curl/tests/server/mqttd.c:707,1
    - Dst: clear_advisor_read_lock
      Src: /src/PROJ/curl/tests/server/mqttd.c:708,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:710,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/mqttd.c:711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - listenfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 717
    functionName: mqttd_incoming
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - getppid
    - logmsg
    - mqttit
    - clear_advisor_read_lock
    - FD_ZERO
    - curlx_strerror
    - set_advisor_read_lock
    - FD_ISSET
    - accept
    - sclose
    - FD_SET
    - select
    linkageType: ''
    returnType: bool
    signature: bool mqttd_incoming(curl_socket_t listenfd)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:737,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/mqttd.c:738,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:747,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:752,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:757,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:762,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:767,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:772,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:779,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/mqttd.c:787,1
    - Dst: atoi
      Src: /src/PROJ/curl/tests/server/mqttd.c:790,1
    - Dst: fprintf
      Src: /src/PROJ/curl/tests/server/mqttd.c:792,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/mqttd.c:801,1
    - Dst: snprintf
      Src: /src/PROJ/curl/tests/server/mqttd.c:815,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/mqttd.c:819,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/mqttd.c:823,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/mqttd.c:824,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/tests/server/mqttd.c:825,1
    - Dst: install_signal_handlers
      Src: /src/PROJ/curl/tests/server/mqttd.c:827,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/mqttd.c:829,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:833,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/tests/server/mqttd.c:834,1
    - Dst: sockdaemon
      Src: /src/PROJ/curl/tests/server/mqttd.c:840,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:847,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:848,1
    - Dst: write_pidfile
      Src: /src/PROJ/curl/tests/server/mqttd.c:850,1
    - Dst: write_portfile
      Src: /src/PROJ/curl/tests/server/mqttd.c:855,1
    - Dst: mqttd_incoming
      Src: /src/PROJ/curl/tests/server/mqttd.c:861,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/mqttd.c:867,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/mqttd.c:870,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/mqttd.c:873,1
    - Dst: unlink
      Src: /src/PROJ/curl/tests/server/mqttd.c:875,1
    - Dst: restore_signal_handlers
      Src: /src/PROJ/curl/tests/server/mqttd.c:877,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:880,1
    - Dst: raise
      Src: /src/PROJ/curl/tests/server/mqttd.c:886,1
    - Dst: logmsg
      Src: /src/PROJ/curl/tests/server/mqttd.c:889,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 719
    functionDepth: 6
    functionLinenumber: 719
    functionLinenumberEnd: 891
    functionName: test_mqttd
    functionSourceFile: /src/PROJ/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - curlx_strerror
    - logmsg
    - sockdaemon
    - mqttd_incoming
    - install_signal_handlers
    - fprintf
    - printf
    - socket
    - write_portfile
    - CURLX_SET_BINMODE
    - unlink
    - restore_signal_handlers
    - sclose
    - atoi
    - strcmp
    - write_pidfile
    - win32_init
    - raise
    - puts
    linkageType: ''
    returnType: int
    signature: int test_mqttd(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/resolve.c:43,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/resolve.c:44,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/resolve.c:53,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/resolve.c:59,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/server/resolve.c:63,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/server/resolve.c:76,1
    - Dst: win32_init
      Src: /src/PROJ/curl/tests/server/resolve.c:87,1
    - Dst: socket
      Src: /src/PROJ/curl/tests/server/resolve.c:94,1
    - Dst: sclose
      Src: /src/PROJ/curl/tests/server/resolve.c:99,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/server/resolve.c:108,1
    - Dst: getaddrinfo
      Src: /src/PROJ/curl/tests/server/resolve.c:112,1
    - Dst: freeaddrinfo
      Src: /src/PROJ/curl/tests/server/resolve.c:114,1
    - Dst: gethostbyname
      Src: /src/PROJ/curl/tests/server/resolve.c:121,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/tests/server/resolve.c:121,1
    - Dst: gethostbyname
      Src: /src/PROJ/curl/tests/server/resolve.c:123,1
    - Dst: printf
      Src: /src/PROJ/curl/tests/server/resolve.c:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 134
    functionName: test_resolve
    functionSourceFile: /src/PROJ/curl/tests/server/resolve.c
    functionUses: 0
    functionsReached:
    - printf
    - socket
    - strcmp
    - memset
    - gethostbyname
    - CURL_UNCONST
    - sclose
    - win32_init
    - freeaddrinfo
    - getaddrinfo
    - puts
    linkageType: ''
    returnType: int
    signature: int test_resolve(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3200.c:80,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit3200.c:86,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/unit/unit3200.c:88,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:89,1
    - Dst: fwrite
      Src: /src/PROJ/curl/tests/unit/unit3200.c:90,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit3200.c:90,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/unit/unit3200.c:91,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/tests/unit/unit3200.c:93,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:94,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3200.c:96,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:99,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:100,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:101,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:101,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:103,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:104,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:105,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:105,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:107,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:108,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:111,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:112,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:113,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:113,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:115,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:116,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:117,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:117,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:119,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:120,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:123,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:124,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:125,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:125,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:127,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:128,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/tests/unit/unit3200.c:128,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:132,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:133,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:134,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:134,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:136,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:137,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/tests/unit/unit3200.c:137,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:141,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:142,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:143,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:143,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:145,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:146,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/tests/unit/unit3200.c:146,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:150,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit3200.c:151,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:152,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3200.c:152,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/tests/unit/unit3200.c:154,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:155,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit3200.c:158,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit3200.c:161,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/tests/unit/unit3200.c:162,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3200.c:163,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 170
    functionName: test_unit3200
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3200.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - curlx_dyn_ptr
    - fwrite
    - abort_unless
    - curl_mfprintf
    - strcmp
    - curlx_dyn_init
    - curlx_fopen
    - curlx_dyn_free
    - CURL_ARRAYSIZE
    - strlen
    - curlx_dyn_len
    - Curl_get_line
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3200(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1600.c:33,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1600.c:34,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1600.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: t1600_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1600.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_easy_init
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1600_setup(CURL **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1600.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1600.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: t1600_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1600.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1600_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1600.c:52,1
    - Dst: t1600_setup
      Src: /src/PROJ/curl/tests/unit/unit1600.c:52,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/PROJ/curl/tests/unit/unit1600.c:58,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1600.c:60,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/PROJ/curl/tests/unit/unit1600.c:64,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1600.c:66,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/PROJ/curl/tests/unit/unit1600.c:71,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1600.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: test_unit1600
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1600.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - t1600_setup
    - verify_memory
    - Curl_ntlm_core_mk_nt_hash
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1600(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1303.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1303.c:35,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1303.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: t1303_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_easy_init
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1303_setup(struct Curl_easy **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1303.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1303.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: t1303_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1303_stop(struct Curl_easy *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: NOW
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOW(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: TIMEOUTS
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMEOUTS(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1303.c:72,1
    - Dst: t1303_setup
      Src: /src/PROJ/curl/tests/unit/unit1303.c:72,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1303.c:147,1
    - Dst: NOW
      Src: /src/PROJ/curl/tests/unit/unit1303.c:149,1
    - Dst: TIMEOUTS
      Src: /src/PROJ/curl/tests/unit/unit1303.c:150,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/tests/unit/unit1303.c:151,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit1303.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 157
    functionName: test_unit1303
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - t1303_setup
    - Curl_timeleft
    - CURL_ARRAYSIZE
    - TIMEOUTS
    - NOW
    - fail
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1303(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1664.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: t1664_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1664.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1664_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:60,1
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/tests/unit/unit1664.c:65,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:66,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:71,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/tests/unit/unit1664.c:76,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:77,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:99,1
    - Dst: curlx_str_quotedword
      Src: /src/PROJ/curl/tests/unit/unit1664.c:104,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:105,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:122,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/tests/unit/unit1664.c:126,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:127,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:144,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/tests/unit/unit1664.c:148,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:149,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:165,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/tests/unit/unit1664.c:169,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:170,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:190,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/tests/unit/unit1664.c:195,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:196,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:222,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/tests/unit/unit1664.c:227,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:228,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:262,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/tests/unit/unit1664.c:267,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:268,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:297,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/tests/unit/unit1664.c:302,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:303,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:333,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/tests/unit/unit1664.c:338,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:339,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:359,1
    - Dst: curlx_str_newline
      Src: /src/PROJ/curl/tests/unit/unit1664.c:363,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:364,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:385,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/tests/unit/unit1664.c:390,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:391,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:412,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/tests/unit/unit1664.c:417,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:418,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:436,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/tests/unit/unit1664.c:441,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:442,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:472,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/tests/unit/unit1664.c:477,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1664.c:478,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 79
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 484
    functionName: test_unit1664
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1664.c
    functionUses: 0
    functionsReached:
    - curlx_str_octal
    - curlx_str_single
    - curlx_str_hex
    - curlx_str_singlespace
    - curlx_str_number
    - curlx_str_newline
    - curl_mprintf
    - curlx_str_until
    - curlx_str_quotedword
    - curlx_str_word
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1664(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: ret2name
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ret2name(int i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1307.c:283,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1307.c:286,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1307.c:290,1
    - Dst: Curl_fnmatch
      Src: /src/PROJ/curl/tests/unit/unit1307.c:292,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1307.c:301,1
    - Dst: ret2name
      Src: /src/PROJ/curl/tests/unit/unit1307.c:303,1
    - Dst: ret2name
      Src: /src/PROJ/curl/tests/unit/unit1307.c:304,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit1307.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 310
    functionName: test_unit1307
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached:
    - Curl_fnmatch
    - CURL_ARRAYSIZE
    - curl_mprintf
    - ret2name
    - fail
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1307(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: testcase
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST_BEGIN_SIMPLE
    signature: UNITTEST_BEGIN_SIMPLE testcase
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: test_unit1307
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1307(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cert_hostcheck
      Src: /src/PROJ/curl/tests/unit/unit1397.c:96,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1397.c:97,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1397.c:99,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1397.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 113
    functionName: test_unit1397
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1397.c
    functionUses: 0
    functionsReached:
    - Curl_cert_hostcheck
    - curl_mfprintf
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1397(const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: splayprint
      Src: /src/PROJ/curl/tests/unit/unit1309.c:36,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:39,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:42,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:50,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:52,1
    - Dst: splayprint
      Src: /src/PROJ/curl/tests/unit/unit1309.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - t
    - d
    - output
    argTypes:
    - struct Curl_tree*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: splayprint
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1309.c
    functionUses: 1
    functionsReached:
    - curl_mprintf
    - splayprint
    linkageType: ''
    returnType: void
    signature: void splayprint(struct Curl_tree *t, int d, char output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splayset
      Src: /src/PROJ/curl/tests/unit/unit1309.c:80,1
    - Dst: Curl_splayinsert
      Src: /src/PROJ/curl/tests/unit/unit1309.c:81,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/unit/unit1309.c:84,1
    - Dst: splayprint
      Src: /src/PROJ/curl/tests/unit/unit1309.c:85,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:89,1
    - Dst: splayprint
      Src: /src/PROJ/curl/tests/unit/unit1309.c:90,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:91,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/tests/unit/unit1309.c:92,1
    - Dst: Curl_splayremove
      Src: /src/PROJ/curl/tests/unit/unit1309.c:93,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:96,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit1309.c:97,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1309.c:101,1
    - Dst: Curl_splayset
      Src: /src/PROJ/curl/tests/unit/unit1309.c:113,1
    - Dst: Curl_splayinsert
      Src: /src/PROJ/curl/tests/unit/unit1309.c:114,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:120,1
    - Dst: Curl_splaygetbest
      Src: /src/PROJ/curl/tests/unit/unit1309.c:122,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1309.c:124,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/tests/unit/unit1309.c:125,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/tests/unit/unit1309.c:126,1
    - Dst: Curl_splaygetbest
      Src: /src/PROJ/curl/tests/unit/unit1309.c:127,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1309.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 134
    functionName: test_unit1309
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1309.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - Curl_splayinsert
    - Curl_splayset
    - Curl_splaygetbest
    - curl_mprintf
    - Curl_splayremove
    - Curl_splayget
    - fail
    - splayprint
    - puts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1309(const char *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1302.c:128,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/tests/unit/unit1302.c:136,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1302.c:137,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1302.c:138,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1302.c:139,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:140,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/unit/unit1302.c:143,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/tests/unit/unit1302.c:146,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:148,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:152,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1302.c:156,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:157,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/unit/unit1302.c:162,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1302.c:165,1
    - Dst: curlx_base64url_encode
      Src: /src/PROJ/curl/tests/unit/unit1302.c:169,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1302.c:170,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:172,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1302.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:176,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/unit/unit1302.c:180,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1302.c:183,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/tests/unit/unit1302.c:189,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1302.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 199
    functionName: test_unit1302
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1302.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - abort_unless
    - curlx_base64_decode
    - curlx_base64_encode
    - CURL_ARRAYSIZE
    - memcmp
    - Curl_safefree
    - curlx_base64url_encode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1302(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/tests/unit/unit1330.c:32,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/unit/unit1330.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: test_unit1330
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1330.c
    functionUses: 0
    functionsReached:
    - malloc
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1330(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1607.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: t1607_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1607.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1607_setup(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IPV6ONLY
      Src: /src/PROJ/curl/tests/unit/unit1607.c:74,1
    - Dst: IPV6ONLY
      Src: /src/PROJ/curl/tests/unit/unit1607.c:77,1
    - Dst: IPV6ONLY
      Src: /src/PROJ/curl/tests/unit/unit1607.c:80,1
    - Dst: IPV6ONLY
      Src: /src/PROJ/curl/tests/unit/unit1607.c:83,1
    - Dst: IPV6ONLY
      Src: /src/PROJ/curl/tests/unit/unit1607.c:86,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1607.c:110,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1607.c:112,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1607.c:117,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/unit/unit1607.c:123,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/unit/unit1607.c:124,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/unit/unit1607.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1607.c:129,1
    - Dst: Curl_loadhostpairs
      Src: /src/PROJ/curl/tests/unit/unit1607.c:131,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:133,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1607.c:136,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1607.c:137,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1607.c:138,1
    - Dst: Curl_addr2string
      Src: /src/PROJ/curl/tests/unit/unit1607.c:153,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:155,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:163,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:171,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/unit/unit1607.c:178,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:179,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:188,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:197,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1607.c:206,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1607.c:216,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1607.c:218,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/unit/unit1607.c:220,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1607.c:229,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1607.c:230,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/unit/unit1607.c:231,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 234
    functionName: test_unit1607
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1607.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - Curl_loadhostpairs
    - free
    - Curl_addr2string
    - curl_mfprintf
    - curl_maprintf
    - Curl_hash_pick
    - curl_easy_init
    - curl_slist_free_all
    - curl_multi_cleanup
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - curl_multi_add_handle
    - IPV6ONLY
    - strlen
    - curl_strequal
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1607(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: IPV6ONLY
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1607.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPV6ONLY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: IPV6ONLY
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1607.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPV6ONLY(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/unit/unit1651.c:349,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1651.c:350,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1651.c:354,1
    - Dst: Curl_extract_certinfo
      Src: /src/PROJ/curl/tests/unit/unit1651.c:356,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1651.c:358,1
    - Dst: Curl_extract_certinfo
      Src: /src/PROJ/curl/tests/unit/unit1651.c:366,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1651.c:371,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1651.c:373,1
    - Dst: puts
      Src: /src/PROJ/curl/tests/unit/unit1651.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 379
    functionName: test_unit1651
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1651.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - curl_mfprintf
    - Curl_extract_certinfo
    - curl_easy_init
    - curl_easy_cleanup
    - puts
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1651(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1608.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: t1608_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1608.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1608_setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1608.c:53,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1608.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1608.c:56,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1608.c:57,1
    - Dst: Curl_shuffle_addr
      Src: /src/PROJ/curl/tests/unit/unit1608.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1608.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1608.c:68,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1608.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: test_unit1608
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1608.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - abort_unless
    - curl_easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - Curl_shuffle_addr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1608(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: test_unit1608
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1608.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1608(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2603.c:35,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:36,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:38,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:42,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:46,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - s
    - exp_s
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: check_eq
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2603.c
    functionUses: 0
    functionsReached:
    - fail
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void check_eq(const char *s, const char *exp_s, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_h1_req_parse_init
      Src: /src/PROJ/curl/tests/unit/unit2603.c:70,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit2603.c:74,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/PROJ/curl/tests/unit/unit2603.c:76,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:79,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:80,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:85,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:87,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2603.c:92,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2603.c:93,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:95,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:97,1
    - Dst: check_eq
      Src: /src/PROJ/curl/tests/unit/unit2603.c:100,1
    - Dst: check_eq
      Src: /src/PROJ/curl/tests/unit/unit2603.c:101,1
    - Dst: check_eq
      Src: /src/PROJ/curl/tests/unit/unit2603.c:102,1
    - Dst: check_eq
      Src: /src/PROJ/curl/tests/unit/unit2603.c:103,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/tests/unit/unit2603.c:104,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2603.c:105,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/tests/unit/unit2603.c:106,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2603.c:107,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/tests/unit/unit2603.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tcase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 112
    functionName: parse_success
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2603.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_h1_req_parse_read
    - Curl_h1_req_parse_init
    - strlen
    - Curl_h1_req_parse_free
    - Curl_dynhds_count
    - check_eq
    - fail_if
    - fail
    linkageType: ''
    returnType: void
    signature: void parse_success(const struct tcase *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:179,1
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:180,1
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:181,1
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:182,1
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:183,1
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:184,1
    - Dst: parse_success
      Src: /src/PROJ/curl/tests/unit/unit2603.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 189
    functionName: test_unit2603
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2603.c
    functionUses: 0
    functionsReached:
    - parse_success
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2603(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1655.c:92,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1655.c:101,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:105,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1655.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:113,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:116,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:118,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:123,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:125,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1655.c:125,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1655.c:145,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:146,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1655.c:147,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:148,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1655.c:148,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1655.c:152,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:153,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1655.c:154,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:155,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1655.c:159,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:160,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1655.c:161,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:162,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1655.c:165,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1655.c:166,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1655.c:169,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:170,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1655.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 177
    functionName: test_unit1655
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1655.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - doh_req_encode
    - CURL_ARRAYSIZE
    - strlen
    - fail_if
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1655(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/tests/unit/unit2604.c:82,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2604.c:83,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit2604.c:84,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/tests/unit/unit2604.c:89,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit2604.c:90,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit2604.c:93,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2604.c:97,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit2604.c:98,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2604.c:102,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit2604.c:103,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit2604.c:107,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit2604.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 116
    functionName: test_unit2604
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2604.c
    functionUses: 0
    functionsReached:
    - curl_free
    - fail_unless
    - Curl_get_pathname
    - free
    - strcmp
    - curl_mprintf
    - memset
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2604(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1605.c:32,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1605.c:33,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1605.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: t1605_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1605.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_easy_init
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1605_setup(CURL **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1605.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1605.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: t1605_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1605.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1605_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1605.c:51,1
    - Dst: t1605_setup
      Src: /src/PROJ/curl/tests/unit/unit1605.c:51,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/unit/unit1605.c:56,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1605.c:57,1
    - Dst: curl_easy_unescape
      Src: /src/PROJ/curl/tests/unit/unit1605.c:59,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1605.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: test_unit1605
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1605.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - fail_unless
    - t1605_setup
    - curl_easy_unescape
    - curl_easy_escape
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1605(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3214.c:31,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit3214.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - size
    - allowed
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: checksize
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3214.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void checksize(const char *name, size_t size, size_t allowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:65,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:66,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:70,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:71,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:72,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:73,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:75,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:76,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:77,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:78,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:79,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:81,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:82,1
    - Dst: checksize
      Src: /src/PROJ/curl/tests/unit/unit3214.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: test_unit3214
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3214.c
    functionUses: 0
    functionsReached:
    - checksize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3214(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1980.c:81,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit1980.c:89,1
    - Dst: canon_query
      Src: /src/PROJ/curl/tests/unit/unit1980.c:91,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1980.c:92,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1980.c:93,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1980.c:99,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1980.c:100,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1980.c:101,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit1980.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 108
    functionName: test_unit1980
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1980.c
    functionUses: 0
    functionsReached:
    - canon_query
    - fail_unless
    - curlx_dyn_ptr
    - strcmp
    - curlx_dyn_init
    - curl_msnprintf
    - curlx_dyn_free
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1980(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:32,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1661.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: test_free
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - free
    linkageType: ''
    returnType: void
    signature: void test_free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/tests/unit/unit1661.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bufref
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: t1661_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1661_setup(struct bufref *bufref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/tests/unit/unit1661.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufref
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: t1661_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_free
    linkageType: ''
    returnType: void
    signature: void t1661_stop(struct bufref *bufref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:64,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:65,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:66,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/unit/unit1661.c:71,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:72,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/tests/unit/unit1661.c:73,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:75,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:76,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:77,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:82,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/tests/unit/unit1661.c:82,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:88,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/tests/unit/unit1661.c:88,1
    - Dst: Curl_bufref_memdup
      Src: /src/PROJ/curl/tests/unit/unit1661.c:93,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:94,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/tests/unit/unit1661.c:94,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:95,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:96,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/tests/unit/unit1661.c:97,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:98,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:99,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:101,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:102,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1661.c:102,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/tests/unit/unit1661.c:108,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:110,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:111,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1661.c:112,1
    - Dst: UNITTEST_END
      Src: /src/PROJ/curl/tests/unit/unit1661.c:114,1
    - Dst: t1661_stop
      Src: /src/PROJ/curl/tests/unit/unit1661.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: test_unit1661
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - UNITTEST_END
    - fail_unless
    - abort_unless
    - strcmp
    - Curl_bufref_set
    - t1661_stop
    - Curl_bufref_len
    - curl_easy_strerror
    - Curl_bufref_free
    - malloc
    - Curl_bufref_ptr
    - Curl_bufref_memdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1661(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: test_Curl_llist_dtor
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1300.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_Curl_llist_dtor(void *key, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/tests/unit/unit1300.c:56,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/tests/unit/unit1300.c:57,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:70,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1300.c:70,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:72,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:72,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:74,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:74,1
    - Dst: Curl_llist_insert_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:87,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:87,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:90,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1300.c:90,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:93,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:93,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:93,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:96,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:96,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:96,1
    - Dst: Curl_llist_insert_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:108,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:108,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:110,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:110,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:110,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:110,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:113,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:113,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:113,1
    - Dst: Curl_llist_insert_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:125,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:125,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:127,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:127,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:127,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:127,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:131,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:131,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:131,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:145,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:146,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:147,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1300.c:148,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/tests/unit/unit1300.c:150,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:150,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:152,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1300.c:152,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:154,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:154,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:156,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:156,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:157,1
    - Dst: Curl_node_prev
      Src: /src/PROJ/curl/tests/unit/unit1300.c:157,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:157,1
    - Dst: Curl_llist_insert_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:170,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:170,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1300.c:172,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:173,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:175,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:175,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:176,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:177,1
    - Dst: Curl_node_prev
      Src: /src/PROJ/curl/tests/unit/unit1300.c:178,1
    - Dst: Curl_node_uremove
      Src: /src/PROJ/curl/tests/unit/unit1300.c:179,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:180,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:180,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:182,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:183,1
    - Dst: Curl_node_prev
      Src: /src/PROJ/curl/tests/unit/unit1300.c:183,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:196,1
    - Dst: Curl_node_prev
      Src: /src/PROJ/curl/tests/unit/unit1300.c:197,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/tests/unit/unit1300.c:198,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:199,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:199,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:211,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/tests/unit/unit1300.c:212,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:213,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:213,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:215,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:215,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/tests/unit/unit1300.c:226,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:227,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1300.c:227,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:230,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:230,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:230,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:233,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:233,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:233,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/tests/unit/unit1300.c:244,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:245,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:245,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:245,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:245,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:248,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:248,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:248,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/tests/unit/unit1300.c:259,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:260,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:260,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/tests/unit/unit1300.c:260,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/tests/unit/unit1300.c:260,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1300.c:263,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/tests/unit/unit1300.c:263,1
    - Dst: Curl_llist_tail
      Src: /src/PROJ/curl/tests/unit/unit1300.c:263,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/tests/unit/unit1300.c:266,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/tests/unit/unit1300.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 270
    functionName: test_unit1300
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1300.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - abort_unless
    - Curl_llist_destroy
    - Curl_llist_insert_next
    - Curl_llist_append
    - Curl_llist_tail
    - Curl_node_remove
    - Curl_llist_count
    - Curl_node_prev
    - Curl_llist_init
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_uremove
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1300(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_md4it
      Src: /src/PROJ/curl/tests/unit/unit1611.c:38,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1611.c:38,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1611.c:40,1
    - Dst: Curl_md4it
      Src: /src/PROJ/curl/tests/unit/unit1611.c:44,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1611.c:44,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1611.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: test_unit1611
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1611.c
    functionUses: 0
    functionsReached:
    - verify_memory
    - Curl_md4it
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1611(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: test_unit1660
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1660(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1660.c:41,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1660.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - e
    - chost
    argTypes:
    - struct stsentry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: showsts
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void showsts(struct stsentry *e, const char *chost)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hsts_init
      Src: /src/PROJ/curl/tests/unit/unit1660.c:115,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1660.c:121,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/unit/unit1660.c:123,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1660.c:124,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1660.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1660.c:127,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1660.c:128,1
    - Dst: Curl_hsts_loadfile
      Src: /src/PROJ/curl/tests/unit/unit1660.c:131,1
    - Dst: Curl_hsts_parse
      Src: /src/PROJ/curl/tests/unit/unit1660.c:135,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1660.c:138,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1660.c:144,1
    - Dst: Curl_hsts
      Src: /src/PROJ/curl/tests/unit/unit1660.c:150,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1660.c:150,1
    - Dst: showsts
      Src: /src/PROJ/curl/tests/unit/unit1660.c:151,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1660.c:154,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1660.c:154,1
    - Dst: Curl_hsts
      Src: /src/PROJ/curl/tests/unit/unit1660.c:159,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1660.c:159,1
    - Dst: showsts
      Src: /src/PROJ/curl/tests/unit/unit1660.c:160,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1660.c:164,1
    - Dst: Curl_hsts_save
      Src: /src/PROJ/curl/tests/unit/unit1660.c:165,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1660.c:166,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1660.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1660.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 171
    functionName: test_unit1660
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached:
    - Curl_hsts_cleanup
    - curl_mfprintf
    - abort_unless
    - Curl_hsts_init
    - Curl_hsts_save
    - curl_easy_init
    - showsts
    - curl_msnprintf
    - Curl_hsts
    - Curl_llist_count
    - curl_mprintf
    - curl_easy_cleanup
    - Curl_hsts_loadfile
    - Curl_hsts_parse
    - strlen
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1660(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: struct
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1660.c
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST_BEGIN_SIMPLE
    signature: UNITTEST_BEGIN_SIMPLE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_md5it
      Src: /src/PROJ/curl/tests/unit/unit1601.c:40,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1601.c:40,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1601.c:42,1
    - Dst: Curl_md5it
      Src: /src/PROJ/curl/tests/unit/unit1601.c:45,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1601.c:45,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1601.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: test_unit1601
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1601.c
    functionUses: 0
    functionsReached:
    - verify_memory
    - Curl_md5it
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1601(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: t1603_mydtor
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1603_mydtor(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: my_elem_dtor
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_elem_dtor(void *key, size_t key_len, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/tests/unit/unit1603.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash_static
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: t1603_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1603_setup(struct Curl_hash *hash_static)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/tests/unit/unit1603.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_static
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: t1603_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void t1603_stop(struct Curl_hash *hash_static)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1603.c:64,1
    - Dst: t1603_setup
      Src: /src/PROJ/curl/tests/unit/unit1603.c:64,1
    - Dst: Curl_hash_str
      Src: /src/PROJ/curl/tests/unit/unit1603.c:77,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:77,1
    - Dst: Curl_hash_str
      Src: /src/PROJ/curl/tests/unit/unit1603.c:78,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:78,1
    - Dst: Curl_hash_str
      Src: /src/PROJ/curl/tests/unit/unit1603.c:79,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:79,1
    - Dst: Curl_hash_str
      Src: /src/PROJ/curl/tests/unit/unit1603.c:80,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:80,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1603.c:81,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1603.c:85,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:85,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:86,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:87,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:87,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:88,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1603.c:90,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:90,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:91,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:92,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:92,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:93,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1603.c:95,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:95,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:96,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:97,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:97,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:98,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1603.c:101,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:101,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:102,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:103,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:103,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:104,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:107,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:107,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:108,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:109,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:110,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:111,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:111,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:112,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:113,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:113,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:114,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/tests/unit/unit1603.c:117,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:117,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:118,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:119,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:119,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:120,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:121,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:121,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:122,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1603.c:125,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:125,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:126,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:127,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:127,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:128,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/tests/unit/unit1603.c:131,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:131,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:132,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:133,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:133,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:134,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:135,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:135,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:136,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/tests/unit/unit1603.c:139,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:139,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:140,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:141,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:141,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:142,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:143,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:143,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:144,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/tests/unit/unit1603.c:147,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:147,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:148,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1603.c:151,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:151,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:152,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:153,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:153,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:154,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:157,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:157,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:158,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1603.c:159,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:159,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:160,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/tests/unit/unit1603.c:163,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:163,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:165,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:166,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/tests/unit/unit1603.c:168,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:168,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:170,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:171,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/tests/unit/unit1603.c:173,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1603.c:173,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:174,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1603.c:175,1
    - Dst: Curl_hash_clean
      Src: /src/PROJ/curl/tests/unit/unit1603.c:178,1
    - Dst: UNITTEST_END
      Src: /src/PROJ/curl/tests/unit/unit1603.c:180,1
    - Dst: t1603_stop
      Src: /src/PROJ/curl/tests/unit/unit1603.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 181
    functionName: test_unit1603
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached:
    - UNITTEST_END
    - Curl_hash_str
    - UNITTEST_BEGIN
    - fail_unless
    - curl_mfprintf
    - Curl_hash_pick
    - t1603_stop
    - Curl_hash_delete
    - Curl_hash_add2
    - strlen
    - Curl_hash_add
    - Curl_hash_clean
    - t1603_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1603(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1396.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: t1396_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1396.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1396_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1396.c:36,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1396.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: t1396_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1396.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1396_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1396.c:85,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:86,1
    - Dst: curl_easy_unescape
      Src: /src/PROJ/curl/tests/unit/unit1396.c:89,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:93,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:94,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:95,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1396.c:95,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1396.c:98,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1396.c:100,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/tests/unit/unit1396.c:105,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:106,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1396.c:108,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1396.c:110,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1396.c:110,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1396.c:113,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1396.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: test_unit1396
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1396.c
    functionUses: 0
    functionsReached:
    - curl_free
    - fail_unless
    - abort_unless
    - curl_easy_init
    - curl_mprintf
    - strlen
    - memcmp
    - curl_easy_unescape
    - curl_easy_escape
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1396(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_init
      Src: /src/PROJ/curl/tests/unit/unit3212.c:35,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/PROJ/curl/tests/unit/unit3212.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: t3212_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3212.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_init
    - Curl_uint_tbl_resize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t3212_setup(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_destroy
      Src: /src/PROJ/curl/tests/unit/unit3212.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: t3212_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3212.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_destroy
    linkageType: ''
    returnType: void
    signature: void t3212_stop(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit3212.c:49,1
    - Dst: t3212_setup
      Src: /src/PROJ/curl/tests/unit/unit3212.c:49,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:54,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/PROJ/curl/tests/unit/unit3212.c:54,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:57,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:57,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:58,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:61,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:61,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:62,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:62,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/tests/unit/unit3212.c:66,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:68,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:68,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/tests/unit/unit3212.c:72,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:73,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:73,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:77,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/PROJ/curl/tests/unit/unit3212.c:77,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:78,1
    - Dst: Curl_uint_tbl_get
      Src: /src/PROJ/curl/tests/unit/unit3212.c:78,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:82,1
    - Dst: Curl_uint_tbl_first
      Src: /src/PROJ/curl/tests/unit/unit3212.c:82,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:83,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:84,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:86,1
    - Dst: Curl_uint_tbl_next
      Src: /src/PROJ/curl/tests/unit/unit3212.c:86,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:87,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:88,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:90,1
    - Dst: Curl_uint_tbl_next
      Src: /src/PROJ/curl/tests/unit/unit3212.c:90,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:91,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:92,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:95,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:96,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/PROJ/curl/tests/unit/unit3212.c:96,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:98,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:98,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:100,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/PROJ/curl/tests/unit/unit3212.c:100,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:101,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:101,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:103,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/PROJ/curl/tests/unit/unit3212.c:103,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:104,1
    - Dst: Curl_uint_tbl_get
      Src: /src/PROJ/curl/tests/unit/unit3212.c:104,1
    - Dst: Curl_uint_tbl_clear
      Src: /src/PROJ/curl/tests/unit/unit3212.c:108,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:109,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/tests/unit/unit3212.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:111,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/PROJ/curl/tests/unit/unit3212.c:111,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:114,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:114,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:115,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/tests/unit/unit3212.c:117,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:118,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:118,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:119,1
    - Dst: Curl_uint_tbl_clear
      Src: /src/PROJ/curl/tests/unit/unit3212.c:121,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/PROJ/curl/tests/unit/unit3212.c:122,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:123,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:123,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:124,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:124,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/tests/unit/unit3212.c:125,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:126,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:126,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:127,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/tests/unit/unit3212.c:129,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:130,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/tests/unit/unit3212.c:130,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3212.c:131,1
    - Dst: UNITTEST_END
      Src: /src/PROJ/curl/tests/unit/unit3212.c:133,1
    - Dst: t3212_stop
      Src: /src/PROJ/curl/tests/unit/unit3212.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 134
    functionName: test_unit3212
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3212.c
    functionUses: 0
    functionsReached:
    - UNITTEST_END
    - UNITTEST_BEGIN
    - fail_unless
    - t3212_setup
    - Curl_uint_tbl_add
    - Curl_uint_tbl_resize
    - Curl_uint_tbl_capacity
    - Curl_uint_tbl_contains
    - Curl_uint_tbl_count
    - Curl_uint_tbl_first
    - Curl_uint_tbl_clear
    - Curl_uint_tbl_get
    - Curl_uint_tbl_remove
    - t3212_stop
    - Curl_uint_tbl_next
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3212(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1609.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: t1609_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1609.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1609_setup(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1609.c:106,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1609.c:108,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1609.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1609.c:115,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/tests/unit/unit1609.c:120,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/tests/unit/unit1609.c:123,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/unit/unit1609.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1609.c:129,1
    - Dst: Curl_loadhostpairs
      Src: /src/PROJ/curl/tests/unit/unit1609.c:131,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/unit/unit1609.c:134,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/tests/unit/unit1609.c:138,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1609.c:139,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1609.c:140,1
    - Dst: Curl_addr2string
      Src: /src/PROJ/curl/tests/unit/unit1609.c:152,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1609.c:154,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1609.c:162,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1609.c:170,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/tests/unit/unit1609.c:177,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1609.c:178,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1609.c:187,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1609.c:198,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1609.c:200,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/unit/unit1609.c:202,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1609.c:212,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1609.c:213,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/unit/unit1609.c:214,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 217
    functionName: test_unit1609
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1609.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - Curl_loadhostpairs
    - free
    - Curl_addr2string
    - curl_mfprintf
    - curl_maprintf
    - Curl_hash_pick
    - curl_easy_init
    - curl_slist_free_all
    - curl_multi_cleanup
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - curl_multi_add_handle
    - strlen
    - curl_global_cleanup
    - curl_strequal
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1609(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_altsvc_init
      Src: /src/PROJ/curl/tests/unit/unit1654.c:37,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:38,1
    - Dst: Curl_altsvc_load
      Src: /src/PROJ/curl/tests/unit/unit1654.c:39,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:41,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/unit/unit1654.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1654.c:45,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:47,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:50,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:50,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1654.c:51,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:53,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:55,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:56,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:56,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:58,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:60,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:61,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:61,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:63,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:67,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:69,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:69,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:71,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:74,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:75,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:75,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:78,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:81,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:82,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:82,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:85,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:89,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:90,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:90,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:93,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:95,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:96,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:96,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:99,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:103,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:104,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:104,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:107,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1654.c:110,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/tests/unit/unit1654.c:110,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:113,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:116,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:119,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:122,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:125,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:128,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/tests/unit/unit1654.c:131,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1654.c:134,1
    - Dst: Curl_altsvc_save
      Src: /src/PROJ/curl/tests/unit/unit1654.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1654.c:138,1
    - Dst: Curl_altsvc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1654.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 144
    functionName: test_unit1654
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1654.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - Curl_altsvc_save
    - Curl_altsvc_cleanup
    - Curl_altsvc_init
    - curl_easy_init
    - Curl_altsvc_load
    - abort_if
    - curl_msnprintf
    - Curl_llist_count
    - curl_easy_cleanup
    - Curl_altsvc_parse
    - fail_if
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1654(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1979.c:108,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit1979.c:116,1
    - Dst: canon_path
      Src: /src/PROJ/curl/tests/unit/unit1979.c:118,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1979.c:118,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1979.c:120,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1979.c:121,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1979.c:125,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1979.c:128,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1979.c:129,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1979.c:130,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit1979.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 137
    functionName: test_unit1979
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1979.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - curlx_dyn_ptr
    - strcmp
    - curlx_dyn_init
    - curl_msnprintf
    - canon_path
    - curlx_dyn_free
    - CURL_ARRAYSIZE
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1979(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:44,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:45,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:46,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:46,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:49,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:50,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:51,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:51,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:55,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:56,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:57,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:57,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:60,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:61,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:62,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:62,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:65,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:66,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:67,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:67,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:70,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:71,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:72,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:72,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:75,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:76,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:77,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:77,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:80,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:81,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:82,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:82,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:85,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:86,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:87,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:87,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:90,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:91,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:92,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1398.c:92,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:100,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:101,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:108,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:137,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:140,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:169,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:172,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:181,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1398.c:184,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1398.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 196
    functionName: test_unit1398
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1398.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - curl_msnprintf
    - strcmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1398(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:116,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:117,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:118,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:120,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:121,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:122,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:124,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:125,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:126,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:128,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:129,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:130,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:132,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:133,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:134,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:136,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:137,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:138,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:140,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:141,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:142,1
    - Dst: Curl_sha512_256it
      Src: /src/PROJ/curl/tests/unit/unit1615.c:144,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1615.c:145,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1615.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 151
    functionName: test_unit1615
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1615.c
    functionUses: 0
    functionsReached:
    - Curl_sha512_256it
    - CURL_ARRAYSIZE
    - verify_memory
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1615(const char *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1650.c:154,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/tests/unit/unit1650.c:155,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:158,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:160,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:163,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:165,1
    - Dst: hexdump
      Src: /src/PROJ/curl/tests/unit/unit1650.c:165,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:166,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1650.c:168,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:169,1
    - Dst: hexdump
      Src: /src/PROJ/curl/tests/unit/unit1650.c:169,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:170,1
    - Dst: hexdump
      Src: /src/PROJ/curl/tests/unit/unit1650.c:171,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:172,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit1650.c:172,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1650.c:177,1
    - Dst: de_init
      Src: /src/PROJ/curl/tests/unit/unit1650.c:183,1
    - Dst: doh_resp_decode
      Src: /src/PROJ/curl/tests/unit/unit1650.c:184,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:187,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:189,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:199,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1650.c:200,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:208,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1650.c:210,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:214,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:221,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1650.c:221,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1650.c:222,1
    - Dst: de_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1650.c:226,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1650.c:227,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:228,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:230,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1650.c:230,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1650.c:238,1
    - Dst: doh_resp_decode
      Src: /src/PROJ/curl/tests/unit/unit1650.c:239,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:243,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:244,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1650.c:252,1
    - Dst: doh_resp_decode
      Src: /src/PROJ/curl/tests/unit/unit1650.c:253,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:257,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:258,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1650.c:266,1
    - Dst: doh_resp_decode
      Src: /src/PROJ/curl/tests/unit/unit1650.c:267,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:269,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:272,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1650.c:274,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1650.c:275,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:276,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1650.c:276,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1650.c:278,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 283
    functionName: test_unit1650
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1650.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curl_mfprintf
    - de_init
    - strcmp
    - doh_req_encode
    - curl_msnprintf
    - abort_if
    - CURL_ARRAYSIZE
    - doh_resp_decode
    - memset
    - hexdump
    - memcmp
    - strlen
    - fail_if
    - de_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1650(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/tests/unit/unit1657.c:45,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/tests/unit/unit1657.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - spec
    - buf
    argTypes:
    - struct test1657_spec*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: make1657_nested
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode make1657_nested(const struct test1657_spec *spec,\n                                struct
      dynbuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1657.c:71,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/tests/unit/unit1657.c:72,1
    - Dst: struct test1657_spec*::setbuf
      Src: /src/PROJ/curl/tests/unit/unit1657.c:73,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1657.c:75,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1657.c:78,1
    - Dst: Curl_x509_getASN1Element
      Src: /src/PROJ/curl/tests/unit/unit1657.c:79,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/tests/unit/unit1657.c:79,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1657.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - spec
    - i
    - buf
    argTypes:
    - struct test1657_spec*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: do_test1657
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curl_mfprintf
    - struct test1657_spec*::setbuf
    - memset
    - curlx_dyn_reset
    - curlx_dyn_len
    - Curl_x509_getASN1Element
    linkageType: ''
    returnType: bool
    signature: "bool do_test1657(const struct test1657_spec *spec, size_t i,\n                        struct
      dynbuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit1657.c:96,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/unit/unit1657.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1657.c:99,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1657.c:103,1
    - Dst: do_test1657
      Src: /src/PROJ/curl/tests/unit/unit1657.c:104,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1657.c:107,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit1657.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1657.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 113
    functionName: test_unit1657
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - do_test1657
    - curl_mfprintf
    - curlx_dyn_init
    - curlx_dyn_free
    - CURL_ARRAYSIZE
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1657(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: test_unit1657
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1657(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1616.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - elem
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: t1616_mydtor
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void t1616_mydtor(unsigned int id, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_init
      Src: /src/PROJ/curl/tests/unit/unit1616.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: t1616_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1616_setup(struct uint_hash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_destroy
      Src: /src/PROJ/curl/tests/unit/unit1616.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: t1616_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_destroy
    linkageType: ''
    returnType: void
    signature: void t1616_stop(struct uint_hash *hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1616.c:52,1
    - Dst: t1616_setup
      Src: /src/PROJ/curl/tests/unit/unit1616.c:52,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/unit/unit1616.c:61,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:62,1
    - Dst: Curl_uint_hash_set
      Src: /src/PROJ/curl/tests/unit/unit1616.c:64,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1616.c:66,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:67,1
    - Dst: Curl_uint_hash_get
      Src: /src/PROJ/curl/tests/unit/unit1616.c:68,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:69,1
    - Dst: Curl_uint_hash_get
      Src: /src/PROJ/curl/tests/unit/unit1616.c:70,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:71,1
    - Dst: Curl_uint_hash_clear
      Src: /src/PROJ/curl/tests/unit/unit1616.c:72,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/unit/unit1616.c:75,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:76,1
    - Dst: Curl_uint_hash_set
      Src: /src/PROJ/curl/tests/unit/unit1616.c:78,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1616.c:80,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:81,1
    - Dst: Curl_uint_hash_get
      Src: /src/PROJ/curl/tests/unit/unit1616.c:82,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:83,1
    - Dst: Curl_uint_hash_get
      Src: /src/PROJ/curl/tests/unit/unit1616.c:84,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1616.c:85,1
    - Dst: UNITTEST_END
      Src: /src/PROJ/curl/tests/unit/unit1616.c:87,1
    - Dst: t1616_stop
      Src: /src/PROJ/curl/tests/unit/unit1616.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 88
    functionName: test_unit1616
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - UNITTEST_END
    - UNITTEST_BEGIN
    - Curl_uint_hash_set
    - free
    - abort_unless
    - Curl_uint_hash_get
    - Curl_uint_hash_clear
    - t1616_stop
    - t1616_setup
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1616(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1610.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: t1610_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1610.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1610_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha256it
      Src: /src/PROJ/curl/tests/unit/unit1610.c:47,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1610.c:47,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1610.c:49,1
    - Dst: Curl_sha256it
      Src: /src/PROJ/curl/tests/unit/unit1610.c:54,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1610.c:54,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1610.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: test_unit1610
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1610.c
    functionUses: 0
    functionsReached:
    - Curl_sha256it
    - verify_memory
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1610(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/unit/unit1304.c:32,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/tests/unit/unit1304.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - password
    - login
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: t1304_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1304.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void t1304_stop(char **password, char **login)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:49,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:50,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:52,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:53,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:54,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:55,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/tests/unit/unit1304.c:60,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:61,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:62,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:64,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:65,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:66,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/tests/unit/unit1304.c:71,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:72,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:73,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:75,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:76,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:77,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/tests/unit/unit1304.c:83,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:84,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:85,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:87,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:88,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:89,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/tests/unit/unit1304.c:95,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:96,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:97,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:99,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:100,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:101,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:108,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:111,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:112,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:113,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:113,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:115,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:116,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:116,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:117,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1304.c:123,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1304.c:124,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:127,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:128,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:130,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:131,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:132,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:132,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:134,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:135,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:135,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:136,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1304.c:142,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1304.c:144,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:146,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:147,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:149,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:150,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:151,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:151,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:153,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:154,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:154,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:155,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1304.c:161,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1304.c:163,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/tests/unit/unit1304.c:165,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/tests/unit/unit1304.c:166,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:168,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:169,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:170,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:170,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:172,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1304.c:173,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1304.c:173,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1304.c:174,1
    - Dst: UNITTEST_END
      Src: /src/PROJ/curl/tests/unit/unit1304.c:176,1
    - Dst: t1304_stop
      Src: /src/PROJ/curl/tests/unit/unit1304.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 77
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 177
    functionName: test_unit1304
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1304.c
    functionUses: 0
    functionsReached:
    - UNITTEST_END
    - Curl_parsenetrc
    - fail_unless
    - strncmp
    - free
    - abort_unless
    - Curl_netrc_cleanup
    - Curl_netrc_init
    - CURL_UNCONST
    - t1304_stop
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1304(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: test_unit1304
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1304.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1304(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: free_and_clear
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1653.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free_and_clear(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit1653.c:36,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/tests/unit/unit1653.c:37,1
    - Dst: Curl_parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:39,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit1653.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - url
    - h
    - has_scheme
    argTypes:
    - CURLU*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: parse_port
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1653.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_init
    - Curl_parse_port
    - curlx_dyn_add
    - curlx_dyn_free
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode parse_port(CURLU *url, char *h, bool has_scheme)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:55,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:58,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:61,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:62,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/unit/unit1653.c:63,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:64,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:65,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:66,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:69,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:72,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:75,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:76,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:77,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:78,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:80,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:83,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:86,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:87,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/unit/unit1653.c:88,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:89,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:90,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1653.c:90,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1653.c:92,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:93,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:94,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:97,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:100,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:103,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:104,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/unit/unit1653.c:105,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:106,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:107,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1653.c:107,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1653.c:108,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:109,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:110,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:113,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:116,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:119,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:120,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:121,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:122,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:125,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:128,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:131,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:132,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/unit/unit1653.c:133,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:134,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:135,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1653.c:135,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1653.c:136,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:137,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:138,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:141,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:144,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:147,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:148,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:149,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:150,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:152,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:155,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:158,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:159,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:160,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:161,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:165,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:168,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:171,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:172,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:173,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:174,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:177,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:180,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:183,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:184,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/tests/unit/unit1653.c:185,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:186,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:187,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1653.c:187,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1653.c:188,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:189,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:190,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:193,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:196,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:199,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:200,1
    - Dst: free_and_clear
      Src: /src/PROJ/curl/tests/unit/unit1653.c:201,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:202,1
    - Dst: curl_url
      Src: /src/PROJ/curl/tests/unit/unit1653.c:206,1
    - Dst: strdup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:209,1
    - Dst: parse_port
      Src: /src/PROJ/curl/tests/unit/unit1653.c:213,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1653.c:214,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1653.c:216,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1653.c:217,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 165
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 220
    functionName: test_unit1653
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1653.c
    functionUses: 0
    functionsReached:
    - curl_free
    - fail_unless
    - free
    - curl_url
    - strcmp
    - parse_port
    - free_and_clear
    - curl_url_get
    - curl_url_cleanup
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1653(const char *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/tests/unit/unit2602.c:40,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:41,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/tests/unit/unit2602.c:41,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:42,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:42,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:43,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:43,1
    - Dst: Curl_dynhds_remove
      Src: /src/PROJ/curl/tests/unit/unit2602.c:46,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:47,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:50,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:51,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:55,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/tests/unit/unit2602.c:55,1
    - Dst: Curl_dynhds_set
      Src: /src/PROJ/curl/tests/unit/unit2602.c:58,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:59,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:63,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/tests/unit/unit2602.c:63,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:65,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:66,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:68,1
    - Dst: Curl_dynhds_count_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:68,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:69,1
    - Dst: Curl_dynhds_count_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:69,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:70,1
    - Dst: Curl_dynhds_get
      Src: /src/PROJ/curl/tests/unit/unit2602.c:70,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:71,1
    - Dst: Curl_dynhds_get
      Src: /src/PROJ/curl/tests/unit/unit2602.c:71,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:72,1
    - Dst: Curl_dynhds_count_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:72,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:73,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:73,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:74,1
    - Dst: Curl_dynhds_cget
      Src: /src/PROJ/curl/tests/unit/unit2602.c:74,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:75,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:75,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:76,1
    - Dst: Curl_dynhds_ccontains
      Src: /src/PROJ/curl/tests/unit/unit2602.c:76,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:77,1
    - Dst: Curl_dynhds_contains
      Src: /src/PROJ/curl/tests/unit/unit2602.c:77,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/tests/unit/unit2602.c:78,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/tests/unit/unit2602.c:81,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:82,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:82,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:83,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:83,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:84,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:84,1
    - Dst: Curl_dynhds_reset
      Src: /src/PROJ/curl/tests/unit/unit2602.c:85,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/tests/unit/unit2602.c:86,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/tests/unit/unit2602.c:88,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:89,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:89,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:90,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/tests/unit/unit2602.c:90,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:91,1
    - Dst: Curl_dynhds_cadd
      Src: /src/PROJ/curl/tests/unit/unit2602.c:91,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:92,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:92,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:93,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:93,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:94,1
    - Dst: Curl_dynhds_cremove
      Src: /src/PROJ/curl/tests/unit/unit2602.c:94,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:95,1
    - Dst: Curl_dynhds_ccontains
      Src: /src/PROJ/curl/tests/unit/unit2602.c:95,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:97,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:98,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:100,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/PROJ/curl/tests/unit/unit2602.c:100,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:101,1
    - Dst: Curl_dynhds_cadd
      Src: /src/PROJ/curl/tests/unit/unit2602.c:101,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit2602.c:103,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:104,1
    - Dst: Curl_dynhds_h1_dprint
      Src: /src/PROJ/curl/tests/unit/unit2602.c:104,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit2602.c:105,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:106,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2602.c:106,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit2602.c:106,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit2602.c:110,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/tests/unit/unit2602.c:113,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/tests/unit/unit2602.c:114,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:116,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2602.c:117,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:120,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:120,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:121,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:121,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:122,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:122,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:123,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:123,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:124,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:124,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:125,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/tests/unit/unit2602.c:125,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit2602.c:127,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:128,1
    - Dst: Curl_dynhds_h1_dprint
      Src: /src/PROJ/curl/tests/unit/unit2602.c:128,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit2602.c:129,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2602.c:130,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit2602.c:130,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2602.c:131,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2602.c:131,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit2602.c:131,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit2602.c:135,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/tests/unit/unit2602.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 140
    functionName: test_unit2602
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2602.c
    functionUses: 0
    functionsReached:
    - Curl_dynhds_count_name
    - Curl_dynhds_cget
    - Curl_dynhds_add
    - Curl_dynhds_ccount_name
    - Curl_dynhds_reset
    - Curl_dynhds_count
    - curlx_dyn_ptr
    - curl_mfprintf
    - Curl_dynhds_remove
    - Curl_dynhds_free
    - curlx_dyn_init
    - Curl_dynhds_set
    - Curl_dynhds_get
    - fail_unless
    - Curl_dynhds_h1_cadd_line
    - Curl_dynhds_contains
    - Curl_dynhds_cremove
    - Curl_dynhds_cadd
    - Curl_dynhds_init
    - strcmp
    - Curl_dynhds_h1_dprint
    - curlx_dyn_free
    - Curl_dynhds_ccontains
    - fail_if
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2602(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/tests/unit/unit1656.c:42,1
    - Dst: Curl_x509_GTime2str
      Src: /src/PROJ/curl/tests/unit/unit1656.c:43,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1656.c:43,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1656.c:45,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1656.c:49,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1656.c:49,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1656.c:50,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/tests/unit/unit1656.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - spec
    - i
    - dbuf
    argTypes:
    - struct test_spec*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: do_test
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1656.c
    functionUses: 0
    functionsReached:
    - Curl_x509_GTime2str
    - curlx_dyn_ptr
    - curl_mfprintf
    - strcmp
    - curlx_dyn_reset
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool do_test(const struct test_spec *spec, size_t i,\n                    struct
      dynbuf *dbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/tests/unit/unit1656.c:96,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/unit/unit1656.c:98,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1656.c:99,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1656.c:103,1
    - Dst: do_test
      Src: /src/PROJ/curl/tests/unit/unit1656.c:104,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1656.c:107,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/tests/unit/unit1656.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1656.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 113
    functionName: test_unit1656
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1656.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - curl_mfprintf
    - curlx_dyn_init
    - curlx_dyn_free
    - CURL_ARRAYSIZE
    - curl_global_cleanup
    - curl_global_init
    - do_test
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1656(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: test_unit1656
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1656.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1656(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - fake_now
    - seconds_offset
    argTypes:
    - struct Curl_easy*
    - struct curltime
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: fake_t_startsingle_time
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    linkageType: ''
    returnType: void
    signature: "void fake_t_startsingle_time(struct Curl_easy *data,\n                                    struct
      curltime fake_now,\n                                    int seconds_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1399.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - time_usec
    - expected_seconds
    argTypes:
    - timediff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: usec_matches_seconds
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: bool
    signature: bool usec_matches_seconds(timediff_t time_usec, int expected_seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1399.c:58,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1399.c:60,1
    - Dst: usec_matches_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:60,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1399.c:61,1
    - Dst: usec_matches_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:61,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1399.c:62,1
    - Dst: usec_matches_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:62,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1399.c:63,1
    - Dst: usec_matches_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:63,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1399.c:65,1
    - Dst: usec_matches_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - seconds
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: expect_timer_seconds
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - curl_msnprintf
    - usec_matches_seconds
    linkageType: ''
    returnType: void
    signature: void expect_timer_seconds(struct Curl_easy *data, int seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/unit/unit1399.c:79,1
    - Dst: fake_t_startsingle_time
      Src: /src/PROJ/curl/tests/unit/unit1399.c:89,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:91,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:92,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:93,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:94,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:95,1
    - Dst: expect_timer_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:97,1
    - Dst: fake_t_startsingle_time
      Src: /src/PROJ/curl/tests/unit/unit1399.c:101,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:103,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:104,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:105,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:106,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:109,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/tests/unit/unit1399.c:110,1
    - Dst: expect_timer_seconds
      Src: /src/PROJ/curl/tests/unit/unit1399.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 115
    functionName: test_unit1399
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    - fake_t_startsingle_time
    - expect_timer_seconds
    - curlx_now
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1399(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: tail_err
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tail_err(struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:57,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:59,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:66,1
    - Dst: tail_err
      Src: /src/PROJ/curl/tests/unit/unit2601.c:67,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:68,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - q
    - msg
    argTypes:
    - struct bufq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: dump_bufq
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached:
    - tail_err
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void dump_bufq(struct bufq *q, const char *msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufcp_init
      Src: /src/PROJ/curl/tests/unit/unit2601.c:94,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/tests/unit/unit2601.c:95,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/tests/unit/unit2601.c:98,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:101,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:102,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:103,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:104,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:105,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:106,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/tests/unit/unit2601.c:106,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/tests/unit/unit2601.c:108,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:109,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:110,1
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/tests/unit/unit2601.c:114,1
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/tests/unit/unit2601.c:115,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/tests/unit/unit2601.c:116,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:121,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:126,1
    - Dst: dump_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:128,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2601.c:129,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/tests/unit/unit2601.c:134,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/tests/unit/unit2601.c:135,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:140,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:145,1
    - Dst: dump_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:147,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2601.c:148,1
    - Dst: dump_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:151,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2601.c:152,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/tests/unit/unit2601.c:156,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:158,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/tests/unit/unit2601.c:161,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:163,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/tests/unit/unit2601.c:169,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/tests/unit/unit2601.c:170,1
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/tests/unit/unit2601.c:172,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/tests/unit/unit2601.c:173,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2601.c:181,1
    - Dst: dump_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:183,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit2601.c:184,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/tests/unit/unit2601.c:187,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:188,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/tests/unit/unit2601.c:192,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/tests/unit/unit2601.c:193,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:195,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:200,1
    - Dst: dump_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:202,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/tests/unit/unit2601.c:203,1
    - Dst: Curl_bufcp_free
      Src: /src/PROJ/curl/tests/unit/unit2601.c:205,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 6
    argNames:
    - pool_spares
    - chunk_size
    - max_chunks
    - wsize
    - rsize
    - opts
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 206
    functionName: check_bufq
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - Curl_bufq_initp
    - Curl_bufq_read
    - curl_mfprintf
    - dump_bufq
    - Curl_bufq_free
    - Curl_bufq_is_empty
    - Curl_bufq_init2
    - Curl_bufcp_init
    - Curl_bufq_reset
    - Curl_bufq_len
    - Curl_bufq_is_full
    - Curl_bufcp_free
    - fail_if
    - Curl_bufq_write
    linkageType: ''
    returnType: void
    signature: "void check_bufq(size_t pool_spares,\n                       size_t
      chunk_size, size_t max_chunks,\n                       size_t wsize, size_t
      rsize, int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init
      Src: /src/PROJ/curl/tests/unit/unit2601.c:217,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/tests/unit/unit2601.c:218,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2601.c:219,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/tests/unit/unit2601.c:220,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:222,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:223,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:224,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:225,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:227,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:228,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:230,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:231,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:232,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:233,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:235,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:236,1
    - Dst: check_bufq
      Src: /src/PROJ/curl/tests/unit/unit2601.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 240
    functionName: test_unit2601
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - Curl_bufq_read
    - check_bufq
    - Curl_bufq_init
    - Curl_bufq_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2601(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1602.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: t1602_mydtor
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void t1602_mydtor(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/tests/unit/unit1602.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: t1602_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1602_setup(struct Curl_hash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/tests/unit/unit1602.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: t1602_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void t1602_stop(struct Curl_hash *hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1602.c:52,1
    - Dst: t1602_setup
      Src: /src/PROJ/curl/tests/unit/unit1602.c:52,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/unit/unit1602.c:62,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1602.c:63,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1602.c:65,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1602.c:67,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1602.c:68,1
    - Dst: Curl_hash_clean
      Src: /src/PROJ/curl/tests/unit/unit1602.c:69,1
    - Dst: malloc
      Src: /src/PROJ/curl/tests/unit/unit1602.c:72,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1602.c:73,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1602.c:75,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1602.c:77,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1602.c:78,1
    - Dst: UNITTEST_END
      Src: /src/PROJ/curl/tests/unit/unit1602.c:80,1
    - Dst: t1602_stop
      Src: /src/PROJ/curl/tests/unit/unit1602.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: test_unit1602
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - UNITTEST_END
    - UNITTEST_BEGIN
    - free
    - abort_unless
    - Curl_hash_add
    - t1602_stop
    - t1602_setup
    - malloc
    - Curl_hash_clean
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1602(const char *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3205.c:513,1
    - Dst: Curl_cipher_suite_lookup_id
      Src: /src/PROJ/curl/tests/unit/unit3205.c:522,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit3205.c:522,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3205.c:524,1
    - Dst: Curl_cipher_suite_lookup_id
      Src: /src/PROJ/curl/tests/unit/unit3205.c:533,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit3205.c:533,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3205.c:535,1
    - Dst: Curl_cipher_suite_get_str
      Src: /src/PROJ/curl/tests/unit/unit3205.c:546,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3205.c:548,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3205.c:549,1
    - Dst: Curl_cipher_suite_get_str
      Src: /src/PROJ/curl/tests/unit/unit3205.c:559,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit3205.c:563,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/unit/unit3205.c:564,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/unit/unit3205.c:564,1
    - Dst: memcmp
      Src: /src/PROJ/curl/tests/unit/unit3205.c:565,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/unit/unit3205.c:566,1
    - Dst: strcpy
      Src: /src/PROJ/curl/tests/unit/unit3205.c:566,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit3205.c:569,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3205.c:570,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit3205.c:586,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3205.c:586,1
    - Dst: Curl_cipher_suite_walk_str
      Src: /src/PROJ/curl/tests/unit/unit3205.c:588,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3205.c:592,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit3205.c:598,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3205.c:599,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 611
    functionName: test_unit3205
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3205.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strcpy
    - curl_mfprintf
    - memcpy
    - strcmp
    - Curl_cipher_suite_get_str
    - Curl_cipher_suite_lookup_id
    - abort_if
    - CURL_ARRAYSIZE
    - Curl_cipher_suite_walk_str
    - strlen
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3205(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:50,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/unit/unit1652.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - handle
    - type
    - buf
    - size
    - userptr
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: debugf_cb
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int debugf_cb(CURL *handle, curl_infotype type, char *buf, size_t
      size,\n                     void *userptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1652.c:59,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1652.c:60,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1652.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1652.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1652.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: t1652_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - global_init
    - curl_easy_init
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1652_setup(struct Curl_easy **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1652.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1652.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: t1652_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1652_stop(struct Curl_easy *easy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/tests/unit/unit1652.c:79,1
    - Dst: strncmp
      Src: /src/PROJ/curl/tests/unit/unit1652.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - info
    - two
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: verify
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1652.c
    functionUses: 1
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: int
    signature: int verify(const char *info, const char *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1652.c:89,1
    - Dst: t1652_setup
      Src: /src/PROJ/curl/tests/unit/unit1652.c:89,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1652.c:101,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:102,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:103,1
    - Dst: verify
      Src: /src/PROJ/curl/tests/unit/unit1652.c:103,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:106,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:107,1
    - Dst: verify
      Src: /src/PROJ/curl/tests/unit/unit1652.c:107,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:111,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:112,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:112,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:113,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:114,1
    - Dst: verify
      Src: /src/PROJ/curl/tests/unit/unit1652.c:114,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:124,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:125,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:126,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1652.c:127,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:127,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:129,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:129,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:130,1
    - Dst: verify
      Src: /src/PROJ/curl/tests/unit/unit1652.c:130,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:131,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:135,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:136,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1652.c:137,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:137,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:138,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:138,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:139,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:143,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:144,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:145,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1652.c:146,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:146,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:147,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:147,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:148,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:152,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit1652.c:153,1
    - Dst: Curl_infof
      Src: /src/PROJ/curl/tests/unit/unit1652.c:154,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1652.c:155,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:155,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:156,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1652.c:156,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1652.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 165
    functionName: test_unit1652
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - fail_unless
    - curl_mfprintf
    - curl_msnprintf
    - Curl_infof
    - t1652_setup
    - memset
    - strlen
    - verify
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1652(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cidr4_match
      Src: /src/PROJ/curl/tests/unit/unit1614.c:148,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1614.c:150,1
    - Dst: Curl_cidr6_match
      Src: /src/PROJ/curl/tests/unit/unit1614.c:158,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1614.c:160,1
    - Dst: Curl_check_noproxy
      Src: /src/PROJ/curl/tests/unit/unit1614.c:168,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1614.c:170,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1614.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 180
    functionName: test_unit1614
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1614.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_cidr4_match
    - Curl_cidr6_match
    - Curl_check_noproxy
    - fail_if
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1614(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1395.c:114,1
    - Dst: dedotdotify
      Src: /src/PROJ/curl/tests/unit/unit1395.c:116,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1395.c:116,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1395.c:117,1
    - Dst: abort_if
      Src: /src/PROJ/curl/tests/unit/unit1395.c:118,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1395.c:120,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1395.c:121,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit1395.c:123,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1395.c:128,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit1395.c:131,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1395.c:135,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1395.c:136,1
    - Dst: fail_if
      Src: /src/PROJ/curl/tests/unit/unit1395.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 142
    functionName: test_unit1395
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1395.c
    functionUses: 0
    functionsReached:
    - free
    - dedotdotify
    - abort_unless
    - strcmp
    - curl_mfprintf
    - abort_if
    - CURL_ARRAYSIZE
    - strlen
    - fail_if
    - fail
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1395(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dnscache_init
      Src: /src/PROJ/curl/tests/unit/unit1305.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: t1305_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - Curl_dnscache_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1305_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/tests/unit/unit1305.c:54,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1305.c:55,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1305.c:57,1
    - Dst: Curl_dnscache_destroy
      Src: /src/PROJ/curl/tests/unit/unit1305.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: t1305_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - Curl_freeaddrinfo
    - Curl_dnscache_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void t1305_stop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/tests/unit/unit1305.c:67,1
    - Dst: memcpy
      Src: /src/PROJ/curl/tests/unit/unit1305.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: fake_ai
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - calloc
    - memcpy
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *fake_ai(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/tests/unit/unit1305.c:85,1
    - Dst: calloc
      Src: /src/PROJ/curl/tests/unit/unit1305.c:89,1
    - Dst: fake_ai
      Src: /src/PROJ/curl/tests/unit/unit1305.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: create_node
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - fake_ai
    - calloc
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode create_node(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/PROJ/curl/tests/unit/unit1305.c:109,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1305.c:110,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1305.c:111,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/tests/unit/unit1305.c:114,1
    - Dst: abort_unless
      Src: /src/PROJ/curl/tests/unit/unit1305.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: test_unit1305
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - create_node
    - strlen
    - abort_unless
    - Curl_hash_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1305(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1620.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: t1620_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1620.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1620_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_parse_login_details
      Src: /src/PROJ/curl/tests/unit/unit1620.c:47,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1620.c:47,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:49,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:51,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:52,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:53,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:56,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1620.c:57,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:59,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1620.c:60,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:62,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1620.c:63,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1620.c:67,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1620.c:68,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1620.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - input
    - exp_username
    - exp_password
    - exp_options
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 70
    functionName: t1620_parse
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1620.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - free
    - strcmp
    - strlen
    - Curl_parse_login_details
    linkageType: ''
    returnType: void
    signature: "void t1620_parse(\n  const char *input,\n  const char *exp_username,\n
      \ const char *exp_password,\n  const char *exp_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_open
      Src: /src/PROJ/curl/tests/unit/unit1620.c:83,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:86,1
    - Dst: Curl_connect
      Src: /src/PROJ/curl/tests/unit/unit1620.c:88,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:89,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:92,1
    - Dst: Curl_connect
      Src: /src/PROJ/curl/tests/unit/unit1620.c:96,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:97,1
    - Dst: Curl_init_do
      Src: /src/PROJ/curl/tests/unit/unit1620.c:100,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:101,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:103,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:104,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:105,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:106,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:108,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:109,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:110,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:111,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:112,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:113,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:114,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:115,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:116,1
    - Dst: t1620_parse
      Src: /src/PROJ/curl/tests/unit/unit1620.c:117,1
    - Dst: Curl_freeset
      Src: /src/PROJ/curl/tests/unit/unit1620.c:119,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:121,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/tests/unit/unit1620.c:125,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1620.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 129
    functionName: test_unit1620
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1620.c
    functionUses: 0
    functionsReached:
    - t1620_parse
    - fail_unless
    - Curl_connect
    - Curl_open
    - Curl_freeset
    - Curl_init_do
    - Curl_close
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1620(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3213.c:37,1
    - Dst: Curl_uint_spbset_init
      Src: /src/PROJ/curl/tests/unit/unit3213.c:39,1
    - Dst: Curl_uint_spbset_clear
      Src: /src/PROJ/curl/tests/unit/unit3213.c:41,1
    - Dst: Curl_uint_spbset_count
      Src: /src/PROJ/curl/tests/unit/unit3213.c:42,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:43,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:46,1
    - Dst: Curl_uint_spbset_add
      Src: /src/PROJ/curl/tests/unit/unit3213.c:46,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:48,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/tests/unit/unit3213.c:48,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:53,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/tests/unit/unit3213.c:53,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:58,1
    - Dst: Curl_uint_spbset_first
      Src: /src/PROJ/curl/tests/unit/unit3213.c:58,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:59,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:61,1
    - Dst: Curl_uint_spbset_next
      Src: /src/PROJ/curl/tests/unit/unit3213.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3213.c:63,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:64,1
    - Dst: Curl_uint_spbset_remove
      Src: /src/PROJ/curl/tests/unit/unit3213.c:69,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:70,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/tests/unit/unit3213.c:70,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:73,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/tests/unit/unit3213.c:73,1
    - Dst: Curl_uint_spbset_count
      Src: /src/PROJ/curl/tests/unit/unit3213.c:76,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:77,1
    - Dst: Curl_uint_spbset_clear
      Src: /src/PROJ/curl/tests/unit/unit3213.c:79,1
    - Dst: Curl_uint_spbset_count
      Src: /src/PROJ/curl/tests/unit/unit3213.c:80,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:81,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:83,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/tests/unit/unit3213.c:83,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3213.c:87,1
    - Dst: Curl_uint_spbset_add
      Src: /src/PROJ/curl/tests/unit/unit3213.c:87,1
    - Dst: Curl_uint_spbset_destroy
      Src: /src/PROJ/curl/tests/unit/unit3213.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - name
    - s
    - slen
    argTypes:
    - char*
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: check_spbset
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3213.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_clear
    - fail_unless
    - Curl_uint_spbset_next
    - curl_mfprintf
    - Curl_uint_spbset_count
    - Curl_uint_spbset_contains
    - Curl_uint_spbset_init
    - Curl_uint_spbset_destroy
    - Curl_uint_spbset_remove
    - Curl_uint_spbset_first
    - Curl_uint_spbset_add
    linkageType: ''
    returnType: void
    signature: void check_spbset(const char *name, const unsigned int *s, size_t slen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_spbset
      Src: /src/PROJ/curl/tests/unit/unit3213.c:116,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3213.c:116,1
    - Dst: check_spbset
      Src: /src/PROJ/curl/tests/unit/unit3213.c:117,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3213.c:117,1
    - Dst: check_spbset
      Src: /src/PROJ/curl/tests/unit/unit3213.c:118,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3213.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: test_unit3213
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3213.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - check_spbset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3213(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/tests/unit/unit1658.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: t1658_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached:
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1658_setup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:55,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:56,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:60,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:61,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:63,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:64,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:67,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:68,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:71,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:72,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:75,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:76,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:80,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:85,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:89,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:90,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:92,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:93,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:95,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:96,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:101,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:102,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:104,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:108,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:110,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1658.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - rr
    - result
    argTypes:
    - struct Curl_https_rrinfo*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 115
    functionName: rrresults
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void rrresults(struct Curl_https_rrinfo *rr, CURLcode result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1658.c:508,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1658.c:510,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1658.c:514,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:517,1
    - Dst: doh_resp_decode_httpsrr
      Src: /src/PROJ/curl/tests/unit/unit1658.c:519,1
    - Dst: rrresults
      Src: /src/PROJ/curl/tests/unit/unit1658.c:522,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1658.c:525,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit1658.c:526,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1658.c:534,1
    - Dst: curl_free
      Src: /src/PROJ/curl/tests/unit/unit1658.c:535,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1658.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 542
    functionName: test_unit1658
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - rrresults
    - curl_free
    - curl_mfprintf
    - strcmp
    - curl_easy_init
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - curl_mprintf
    - Curl_httpsrr_cleanup
    - doh_resp_decode_httpsrr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1658(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: test_unit1658
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1658(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit1323.c:45,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/unit/unit1323.c:46,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/tests/unit/unit1323.c:48,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit1323.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: test_unit1323
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1323.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_mprintf
    - curlx_timediff
    - fail
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1323(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: struct
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1323.c
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST_BEGIN_SIMPLE
    signature: UNITTEST_BEGIN_SIMPLE struct
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit2600.c:56,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit2600.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit2600.c:59,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/tests/unit/unit2600.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: t2600_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - global_init
    - curl_easy_init
    - curl_global_cleanup
    - curl_global_trace
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t2600_setup(CURL **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit2600.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit2600.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: t2600_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t2600_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/tests/unit/unit2600.c:124,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/unit/unit2600.c:125,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/unit/unit2600.c:125,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit2600.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: cf_test_destroy
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_timediff
    - free
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void cf_test_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/unit/unit2600.c:142,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/unit/unit2600.c:142,1
    - Dst: infof
      Src: /src/PROJ/curl/tests/unit/unit2600.c:144,1
    - Dst: infof
      Src: /src/PROJ/curl/tests/unit/unit2600.c:149,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/tests/unit/unit2600.c:150,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/tests/unit/unit2600.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: cf_test_connect
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_expire
    - curlx_now
    - curlx_timediff
    - curlx_wait_ms
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_test_connect(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/tests/unit/unit2600.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: cf_test_adjust_pollset
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_test_adjust_pollset(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       struct easy_pollset
      *ps)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/tests/unit/unit2600.c:196,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/unit/unit2600.c:204,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:209,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:217,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/unit/unit2600.c:221,1
    - Dst: infof
      Src: /src/PROJ/curl/tests/unit/unit2600.c:225,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/tests/unit/unit2600.c:227,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/tests/unit/unit2600.c:231,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit2600.c:236,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit2600.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 240
    functionName: cf_test_create
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - Curl_expire
    - curlx_now
    - curlx_timediff
    - Curl_cf_create
    - calloc
    - curl_msprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_test_create(struct Curl_cfilter **pcf,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              const struct Curl_addrinfo *ai,\n                               int
      transport)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/unit/unit2600.c:248,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:249,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:255,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:257,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:260,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:262,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:265,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:267,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/tests/unit/unit2600.c:270,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:272,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:274,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:277,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:279,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2600.c:284,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit2600.c:286,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:290,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:293,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/tests/unit/unit2600.c:296,1
    - Dst: fail
      Src: /src/PROJ/curl/tests/unit/unit2600.c:300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - tc
    - tr
    argTypes:
    - struct test_case*
    - struct test_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 303
    functionName: check_result
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - curlx_timediff
    - curl_msprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void check_result(const struct test_case *tc,\n                         struct
      test_result *tr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_debug_set_transport_provider
      Src: /src/PROJ/curl/tests/unit/unit2600.c:310,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/tests/unit/unit2600.c:314,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit2600.c:315,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:316,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:317,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:318,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:323,1
    - Dst: memset
      Src: /src/PROJ/curl/tests/unit/unit2600.c:324,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/unit/unit2600.c:328,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/tests/unit/unit2600.c:329,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/tests/unit/unit2600.c:330,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit2600.c:332,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/tests/unit/unit2600.c:333,1
    - Dst: check_result
      Src: /src/PROJ/curl/tests/unit/unit2600.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - easy
    - tc
    argTypes:
    - CURL*
    - struct test_case*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 339
    functionName: test_connect
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - fail_unless
    - curl_slist_append
    - curlx_now
    - curl_slist_free_all
    - curl_easy_perform
    - memset
    - Curl_debug_set_transport_provider
    - check_result
    linkageType: ''
    returnType: void
    signature: void test_connect(CURL *easy, const struct test_case *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit2600.c:363,1
    - Dst: t2600_setup
      Src: /src/PROJ/curl/tests/unit/unit2600.c:363,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit2600.c:404,1
    - Dst: test_connect
      Src: /src/PROJ/curl/tests/unit/unit2600.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 409
    functionName: test_unit2600
    functionSourceFile: /src/PROJ/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - UNITTEST_BEGIN
    - test_connect
    - t2600_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2600(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3211.c:37,1
    - Dst: Curl_uint_bset_init
      Src: /src/PROJ/curl/tests/unit/unit3211.c:39,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:40,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/tests/unit/unit3211.c:40,1
    - Dst: Curl_uint_bset_capacity
      Src: /src/PROJ/curl/tests/unit/unit3211.c:41,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:42,1
    - Dst: Curl_uint_bset_clear
      Src: /src/PROJ/curl/tests/unit/unit3211.c:44,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/tests/unit/unit3211.c:45,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:46,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:49,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/tests/unit/unit3211.c:49,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:51,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:51,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:55,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:55,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:59,1
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/tests/unit/unit3211.c:59,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:60,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:62,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/tests/unit/unit3211.c:62,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/tests/unit/unit3211.c:64,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:65,1
    - Dst: Curl_uint_bset_capacity
      Src: /src/PROJ/curl/tests/unit/unit3211.c:70,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:71,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/tests/unit/unit3211.c:71,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/tests/unit/unit3211.c:73,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:74,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/tests/unit/unit3211.c:77,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:78,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:78,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:81,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:81,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/tests/unit/unit3211.c:84,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:85,1
    - Dst: Curl_uint_bset_clear
      Src: /src/PROJ/curl/tests/unit/unit3211.c:87,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/tests/unit/unit3211.c:88,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:89,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:91,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:91,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:95,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/tests/unit/unit3211.c:95,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:98,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/tests/unit/unit3211.c:98,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:101,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:101,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:104,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/tests/unit/unit3211.c:104,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:106,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:106,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:108,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/tests/unit/unit3211.c:108,1
    - Dst: Curl_uint_bset_capacity
      Src: /src/PROJ/curl/tests/unit/unit3211.c:110,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:116,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/tests/unit/unit3211.c:116,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit3211.c:118,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/tests/unit/unit3211.c:118,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/tests/unit/unit3211.c:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 4
    argNames:
    - name
    - capacity
    - s
    - slen
    argTypes:
    - char*
    - unsigned int
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 121
    functionName: check_set
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3211.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_first
    - fail_unless
    - curl_mfprintf
    - Curl_uint_bset_destroy
    - Curl_uint_bset_contains
    - Curl_uint_bset_count
    - Curl_uint_bset_init
    - Curl_uint_bset_resize
    - Curl_uint_bset_next
    - Curl_uint_bset_capacity
    - Curl_uint_bset_add
    - Curl_uint_bset_remove
    - Curl_uint_bset_clear
    linkageType: ''
    returnType: void
    signature: "void check_set(const char *name, unsigned int capacity,\n                      const
      unsigned int *s, size_t slen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_set
      Src: /src/PROJ/curl/tests/unit/unit3211.c:142,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3211.c:142,1
    - Dst: check_set
      Src: /src/PROJ/curl/tests/unit/unit3211.c:143,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/tests/unit/unit3211.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: test_unit3211
    functionSourceFile: /src/PROJ/curl/tests/unit/unit3211.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - check_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3211(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/tests/unit/unit1612.c:42,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1612.c:43,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1612.c:44,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1612.c:47,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/tests/unit/unit1612.c:51,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1612.c:52,1
    - Dst: strlen
      Src: /src/PROJ/curl/tests/unit/unit1612.c:53,1
    - Dst: verify_memory
      Src: /src/PROJ/curl/tests/unit/unit1612.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: test_unit1612
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1612.c
    functionUses: 0
    functionsReached:
    - Curl_hmacit
    - verify_memory
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1612(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1606.c:33,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/tests/unit/unit1606.c:34,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1606.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: t1606_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_easy_init
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1606_setup(struct Curl_easy **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1606.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/tests/unit/unit1606.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: t1606_stop
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1606_stop(struct Curl_easy *easy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1606.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/tests/unit/unit1606.c:60,1
    - Dst: Curl_speedinit
      Src: /src/PROJ/curl/tests/unit/unit1606.c:61,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/tests/unit/unit1606.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - easy
    - time_limit
    - speed_limit
    - speed
    - dec
    argTypes:
    - struct Curl_easy*
    - long
    - long
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: runawhile
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - Curl_speedcheck
    - Curl_speedinit
    linkageType: ''
    returnType: int
    signature: "int runawhile(struct Curl_easy *easy,\n                     long time_limit,\n
      \                    long speed_limit,\n                     curl_off_t speed,\n
      \                    int dec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/PROJ/curl/tests/unit/unit1606.c:83,1
    - Dst: t1606_setup
      Src: /src/PROJ/curl/tests/unit/unit1606.c:83,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1606.c:85,1
    - Dst: runawhile
      Src: /src/PROJ/curl/tests/unit/unit1606.c:85,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1606.c:87,1
    - Dst: runawhile
      Src: /src/PROJ/curl/tests/unit/unit1606.c:87,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1606.c:89,1
    - Dst: runawhile
      Src: /src/PROJ/curl/tests/unit/unit1606.c:89,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1606.c:91,1
    - Dst: runawhile
      Src: /src/PROJ/curl/tests/unit/unit1606.c:91,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1606.c:93,1
    - Dst: runawhile
      Src: /src/PROJ/curl/tests/unit/unit1606.c:93,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1606.c:95,1
    - Dst: runawhile
      Src: /src/PROJ/curl/tests/unit/unit1606.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: test_unit1606
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - runawhile
    - UNITTEST_BEGIN
    - fail_unless
    - t1606_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1606(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/PROJ/curl/tests/unit/unit1663.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: t1663_setup
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1663.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1663_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_parse_interface
      Src: /src/PROJ/curl/tests/unit/unit1663.c:54,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:55,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:57,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:58,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:59,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:62,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1663.c:62,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:64,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1663.c:64,1
    - Dst: fail_unless
      Src: /src/PROJ/curl/tests/unit/unit1663.c:66,1
    - Dst: strcmp
      Src: /src/PROJ/curl/tests/unit/unit1663.c:66,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1663.c:70,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1663.c:71,1
    - Dst: free
      Src: /src/PROJ/curl/tests/unit/unit1663.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - input_data
    - exp_dev
    - exp_iface
    - exp_host
    - exp_rc
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: t1663_parse
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1663.c
    functionUses: 0
    functionsReached:
    - Curl_parse_interface
    - fail_unless
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void t1663_parse(\n  const char *input_data,\n  const char *exp_dev,\n
      \ const char *exp_iface,\n  const char *exp_host,\n  CURLcode exp_rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:79,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:80,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:81,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:82,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:83,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:84,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:85,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:86,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:87,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:88,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:89,1
    - Dst: t1663_parse
      Src: /src/PROJ/curl/tests/unit/unit1663.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: test_unit1663
    functionSourceFile: /src/PROJ/curl/tests/unit/unit1663.c
    functionUses: 0
    functionsReached:
    - t1663_parse
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1663(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:73,1
    - Dst: iconv
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:82,1
    - Dst: iconv
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:87,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:91,1
    - Dst: iconv
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:101,1
    - Dst: iconv
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:102,1
    - Dst: iconv_close
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:105,1
    - Dst: setlocale_a
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:109,1
    - Dst: main_a
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:112,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:115,1
    - Dst: QadrtFreeConversionTable
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:116,1
    - Dst: QadrtFreeEnviron
      Src: /src/PROJ/curl/packages/OS400/curlmain.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/PROJ/curl/packages/OS400/curlmain.c
    functionUses: 5
    functionsReached:
    - iconv_open
    - main_a
    - free
    - QadrtFreeEnviron
    - iconv_close
    - QadrtFreeConversionTable
    - setlocale_a
    - malloc
    - iconv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: is_ifs
    functionSourceFile: /src/PROJ/curl/packages/OS400/curlcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ifs(char c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_ifs
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:74,1
    - Dst: fputs
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:93,1
    - Dst: is_ifs
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:98,1
    - Dst: fprintf
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:111,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 6
    argNames:
    - cmdargs
    - len
    - argc
    - argv
    - argsize
    - argbuf
    argTypes:
    - char*
    - size_t
    - size_t*
    - char**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 127
    functionName: parse_command_line
    functionSourceFile: /src/PROJ/curl/packages/OS400/curlcl.c
    functionUses: 0
    functionsReached:
    - fputs
    - is_ifs
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int parse_command_line(const char *cmdargs, size_t len,\n                   size_t
      *argc, char **argv,\n                   size_t *argsize, char *argbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_command_line
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:152,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:157,1
    - Dst: fputs
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:159,1
    - Dst: rslvsp
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:163,1
    - Dst: _LUWRKA
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:164,1
    - Dst: parse_command_line
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:166,1
    - Dst: _CALLPGMV
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:170,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/curlcl.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argsc
    - args
    argTypes:
    - int
    - struct arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/PROJ/curl/packages/OS400/curlcl.c
    functionUses: 5
    functionsReached:
    - fputs
    - _LUWRKA
    - free
    - _CALLPGMV
    - rslvsp
    - malloc
    - parse_command_line
    linkageType: ''
    returnType: int
    signature: int main(int argsc, struct arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ICONV_OPEN_ERROR
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICONV_OPEN_ERROR(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:77,1
    - Dst: curl_msprintf
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - ccsid
    argTypes:
    - char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: makeOS400IconvCode
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - memset
    - curl_msprintf
    linkageType: ''
    returnType: void
    signature: void makeOS400IconvCode(char buf[ICONV_ID_SIZE], unsigned int ccsid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeOS400IconvCode
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:96,1
    - Dst: makeOS400IconvCode
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:97,1
    - Dst: memset
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:98,1
    - Dst: iconv_open
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ccsidout
    - ccsidin
    - cstr
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: iconv_open_CCSID
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - memset
    - makeOS400IconvCode
    - iconv_open
    linkageType: ''
    returnType: iconv_t
    signature: "iconv_t iconv_open_CCSID(unsigned int ccsidout, unsigned int ccsidin,\n
      \                unsigned int cstr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:130,1
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:134,1
    - Dst: iconv_open_CCSID
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:141,1
    - Dst: iconv_open_CCSID
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:145,1
    - Dst: ICONV_OPEN_ERROR
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:148,1
    - Dst: iconv
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:153,1
    - Dst: iconv_close
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - d
    - dlen
    - dccsid
    - s
    - slen
    - sccsid
    argTypes:
    - char*
    - size_t
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 160
    functionName: convert
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 9
    functionsReached:
    - memcpy
    - iconv_close
    - strlen
    - iconv
    - ICONV_OPEN_ERROR
    - iconv_open_CCSID
    linkageType: ''
    returnType: int
    signature: "int convert(char *d, size_t dlen, int dccsid,\n        const char
      *s, int slen, int sccsid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:173,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:175,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:180,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:183,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:192,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:195,1
    - Dst: realloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - dccsid
    - s
    - slen
    - sccsid
    argTypes:
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 210
    functionName: dynconvert
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - realloc
    - strlen
    - malloc
    - convert
    linkageType: ''
    returnType: char
    signature: char *dynconvert(int dccsid, const char *s, int slen, int sccsid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:220,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:223,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:226,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:228,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - dccsid
    - from
    - sccsid
    argTypes:
    - int
    - struct curl_slist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: slist_convert
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_slist_append_nodup
    - curl_slist_free_all
    - free
    - dynconvert
    linkageType: ''
    returnType: struct curl_slist
    signature: 'struct curl_slist *

      slist_convert(int dccsid, struct curl_slist *from, int sccsid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:247,1
    - Dst: Curl_thread_buffer
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:249,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ascii
    - ccsid
    argTypes:
    - localkey_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: keyed_string
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - strlen
    - convert
    linkageType: ''
    returnType: char
    signature: 'char *

      keyed_string(localkey_t key, const char *ascii, unsigned int ccsid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ccsid
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: curl_to_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_to_ccsid(const char *s, unsigned int ccsid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ccsid
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: curl_from_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_from_ccsid(const char *s, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:281,1
    - Dst: curl_version
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ccsid
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: curl_version_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_version
    - keyed_string
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_version_ccsid(unsigned int ccsid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:298,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:303,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:304,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:309,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - string
    - length
    - sccsid
    - dccsid
    argTypes:
    - CURL*
    - char*
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: curl_easy_escape_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_easy_escape
    - free
    - dynconvert
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_easy_escape_ccsid(CURL *handle, const char *string, int
      length,\n                       unsigned int sccsid, unsigned int dccsid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:329,1
    - Dst: curl_easy_unescape
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:334,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:335,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:340,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:341,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - handle
    - string
    - length
    - outlength
    - sccsid
    - dccsid
    argTypes:
    - CURL*
    - char*
    - int
    - int*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: curl_easy_unescape_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - dynconvert
    - curl_easy_unescape
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_easy_unescape_ccsid(CURL *handle, const char *string,
      int length,\n                         int *outlength,\n                         unsigned
      int sccsid, unsigned int dccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:359,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:361,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:366,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - list
    - data
    - ccsid
    argTypes:
    - struct curl_slist*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: curl_slist_append_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - free
    - dynconvert
    linkageType: ''
    returnType: struct curl_slist
    signature: "struct curl_slist *\ncurl_slist_append_ccsid(struct curl_slist *list,\n
      \                       const char *data, unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_getdate
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:379,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:381,1
    - Dst: curl_getdate
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:386,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p
    - unused
    - ccsid
    argTypes:
    - char*
    - time_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 389
    functionName: curl_getdate_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_getdate
    - dynconvert
    linkageType: ''
    returnType: time_t
    signature: time_t curl_getdate_ccsid(const char *p, const time_t *unused, unsigned
      int ccsid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - stringp
    - bufp
    - left
    - ccsid
    argTypes:
    - char**
    - char**
    - int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: convert_version_info_string
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - convert
    linkageType: ''
    returnType: int
    signature: "int convert_version_info_string(const char **stringp,\n                            char
      **bufp, int *left, unsigned int ccsid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:459,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:471,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:479,1
    - Dst: Curl_thread_buffer
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:489,1
    - Dst: Curl_thread_buffer
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:490,1
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:498,1
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:504,1
    - Dst: convert_version_info_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:509,1
    - Dst: convert_version_info_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:516,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - stamp
    - ccsid
    argTypes:
    - CURLversion
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 521
    functionName: curl_version_info_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - memcpy
    - convert_version_info_string
    - curl_version_info
    - strlen
    linkageType: ''
    returnType: curl_version_info_data
    signature: 'curl_version_info_data *

      curl_version_info_ccsid(CURLversion stamp, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:527,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: curl_easy_strerror_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - keyed_string
    - curl_easy_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_easy_strerror_ccsid(CURLcode error, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:534,1
    - Dst: curl_share_strerror
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLSHcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: curl_share_strerror_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_share_strerror
    - keyed_string
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_share_strerror_ccsid(CURLSHcode error, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:541,1
    - Dst: curl_multi_strerror
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLMcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: curl_multi_strerror_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_multi_strerror
    - keyed_string
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_multi_strerror_ccsid(CURLMcode error, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:548,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLUcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: curl_url_strerror_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - keyed_string
    - curl_url_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_url_strerror_ccsid(CURLUcode error, unsigned int ccsid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:561,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:562,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct curl_certinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: curl_certinfo_free_all
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void curl_certinfo_free_all(struct curl_certinfo *info)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:581,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:582,1
    - Dst: Curl_getinfo
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:583,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:595,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:599,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:608,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:613,1
    - Dst: calloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:618,1
    - Dst: slist_convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:628,1
    - Dst: curl_certinfo_free_all
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:638,1
    - Dst: slist_convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:655,1
    - Dst: va_end
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:664,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - curl
    - info
    argTypes:
    - CURL*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 666
    functionName: curl_easy_getinfo_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - slist_convert
    - dynconvert
    - Curl_getinfo
    - curl_certinfo_free_all
    - va_arg
    - calloc
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_getinfo_ccsid(CURL *curl, CURLINFO info, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - option
    argTypes:
    - CURLformoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 685
    functionName: Curl_is_formadd_string
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_is_formadd_string(CURLformoption option)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_formadd_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:693,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:695,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - forms
    - nargs
    - skip
    argTypes:
    - struct curl_forms*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 698
    functionName: Curl_formadd_release_local
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_is_formadd_string
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_formadd_release_local(struct curl_forms *forms, int nargs,
      int skip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:715,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:717,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:722,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:726,1
    - Dst: realloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - forms
    - formx
    - lengthx
    - ccsid
    argTypes:
    - struct curl_forms*
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 741
    functionName: Curl_formadd_convert
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - realloc
    - strlen
    - malloc
    - convert
    linkageType: ''
    returnType: int
    signature: "int Curl_formadd_convert(struct curl_forms *forms,\n                     int
      formx, int lengthx, unsigned int ccsid)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:783,1
    - Dst: va_start
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:798,1
    - Dst: realloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:805,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:827,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:843,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:860,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:861,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:877,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:878,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:890,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:898,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:906,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:914,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:920,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:926,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:932,1
    - Dst: Curl_formadd_convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:939,1
    - Dst: Curl_is_formadd_string
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:951,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:957,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:958,1
    - Dst: Curl_formadd_convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:969,1
    - Dst: va_end
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:984,1
    - Dst: Curl_formadd_convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:989,1
    - Dst: Curl_formadd_convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:996,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1006,1
    - Dst: Curl_formadd_release_local
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1012,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 149
    argCount: 2
    argNames:
    - httppost
    - last_post
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 1014
    functionName: curl_formadd_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_is_formadd_string
    - va_end
    - va_start
    - realloc
    - Curl_formadd_release_local
    - va_arg
    - curl_formadd
    - malloc
    - Curl_formadd_convert
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode curl_formadd_ccsid(struct curl_httppost **httppost,\n
      \                  struct curl_httppost **last_post, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1037,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1042,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1045,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1052
    functionName: Curl_formget_callback_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - convert
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_formget_callback_ccsid(void *arg, const char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_formget
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - form
    - arg
    - append
    - ccsid
    argTypes:
    - struct curl_httppost*
    - void*
    - curl_formget_callback
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1065
    functionName: curl_formget_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_formget
    linkageType: ''
    returnType: int
    signature: "int curl_formget_ccsid(struct curl_httppost *form, void *arg,\n                   curl_formget_callback
      append, unsigned int ccsid)"
  - BBCount: 110
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1079,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1179,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1180,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1183,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1191,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1192,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1199,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1200,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1205,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1211,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1233,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1240,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1252,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1258,1
    - Dst: va_arg
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1261,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1270,1
    - Dst: convert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1277,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1289,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1292,1
    - Dst: Curl_vsetopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1294,1
    - Dst: va_end
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1298,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1299,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 180
    argCount: 2
    argNames:
    - easy
    - tag
    argTypes:
    - CURL*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1301
    functionName: curl_easy_setopt_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - va_end
    - free
    - Curl_vsetopt
    - FALLTHROUGH
    - va_start
    - dynconvert
    - va_arg
    - malloc
    - convert
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_setopt_ccsid(CURL *easy, CURLoption tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1312
    functionName: curl_form_long_value
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_form_long_value(long value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1323,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - easy
    - tag
    - arg
    argTypes:
    - CURL*
    - CURLoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1325
    functionName: curl_easy_setopt_RPGnum_
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_setopt_RPGnum_(CURL *easy, CURLoption tag, curl_off_t
      arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1333,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - multi
    - tag
    - arg
    argTypes:
    - CURLM*
    - CURLMoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1335
    functionName: curl_multi_setopt_RPGnum_
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_multi_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_multi_setopt_RPGnum_(CURLM *multi, CURLMoption tag, curl_off_t
      arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_pushheader_bynum
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1343,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - num
    - ccsid
    argTypes:
    - struct curl_pushheaders*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1349
    functionName: curl_pushheader_bynum_cssid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    - curl_pushheader_bynum
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_pushheader_bynum_cssid(struct curl_pushheaders *h,\n
      \                           size_t num, unsigned int ccsid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1359,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1362,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1363,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - h
    - header
    - ccsidin
    - ccsidout
    argTypes:
    - struct curl_pushheaders*
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1371
    functionName: curl_pushheader_byname_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_pushheader_byname
    - free
    - dynconvert
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_pushheader_byname_ccsid(struct curl_pushheaders *h, const
      char *header,\n                             unsigned int ccsidin, unsigned int
      ccsidout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mimefunc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1381,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1382,1
    - Dst: mimefunc
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1386,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - part
    - string
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1389
    functionName: mime_string_call
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - mimefunc
    - dynconvert
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mime_string_call(curl_mimepart *part, const char *string,
      unsigned int ccsid,\n                 CURLcode (*mimefunc)(curl_mimepart *part,
      const char *string))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - name
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: curl_mime_name_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_name_ccsid(curl_mimepart *part, const char *name,
      unsigned int ccsid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - filename
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1402
    functionName: curl_mime_filename_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_filename_ccsid(curl_mimepart *part,\n                         const
      char *filename, unsigned int ccsid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - mimetype
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1409
    functionName: curl_mime_type_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_type_ccsid(curl_mimepart *part,\n                     const
      char *mimetype, unsigned int ccsid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - encoding
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1416
    functionName: curl_mime_encoder_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_encoder_ccsid(curl_mimepart *part,\n                       const
      char *encoding, unsigned int ccsid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - filename
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1423
    functionName: curl_mime_filedata_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_filedata_ccsid(curl_mimepart *part,\n                         const
      char *filename, unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1433,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1434,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1438,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - part
    - data
    - datasize
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1441
    functionName: curl_mime_data_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_mime_data
    - dynconvert
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data_ccsid(curl_mimepart *part,\n                     const
      char *data, size_t datasize, unsigned int ccsid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_get
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1454,1
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1457,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - what
    - part
    - flags
    - ccsid
    argTypes:
    - CURLU*
    - CURLUPart
    - char**
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1465
    functionName: curl_url_get_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_url_get
    - free
    - dynconvert
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_get_ccsid(CURLU *handle, CURLUPart what, char **part,\n
      \                  unsigned int flags, unsigned int ccsid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1475,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1479,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - handle
    - what
    - part
    - flags
    - ccsid
    argTypes:
    - CURLU*
    - CURLUPart
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1483
    functionName: curl_url_set_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_url_set
    - dynconvert
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_set_ccsid(CURLU *handle, CURLUPart what, const
      char *part,\n                   unsigned int flags, unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1491,1
    - Dst: curl_easy_option_by_name
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1494,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - ccsid
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1500
    functionName: curl_easy_option_by_name_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_easy_option_by_name
    - dynconvert
    linkageType: ''
    returnType: struct curl_easyoption
    signature: 'struct curl_easyoption *

      curl_easy_option_by_name_ccsid(const char *name, unsigned int ccsid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - option
    - ccsid
    argTypes:
    - struct curl_easyoption*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: curl_easy_option_get_name_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_easy_option_get_name_ccsid(const struct curl_easyoption
      *option,\n                                unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1524,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1528,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/ccsidcurl.c:1529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - easy
    - name
    - index
    - origin
    - request
    - hout
    - ccsid
    argTypes:
    - CURL*
    - char*
    - size_t
    - unsigned int
    - int
    - struct curl_header**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1534
    functionName: curl_easy_header_ccsid
    functionSourceFile: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_easy_header
    - dynconvert
    linkageType: ''
    returnType: CURLHcode
    signature: "CURLHcode curl_easy_header_ccsid(CURL *easy, const char *name, size_t
      index,\n                       unsigned int origin, int request,\n                       struct
      curl_header **hout, unsigned int ccsid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:93,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: thdbufdestroy
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void thdbufdestroy(void *private)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:106,1
    - Dst: pthread_setspecific
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:107,1
    - Dst: pthread_key_delete
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:108,1
    - Dst: thdbufdestroy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: terminate
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - thdbufdestroy
    - pthread_key_delete
    - pthread_getspecific
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:132,1
    - Dst: realloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - struct buffer_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: get_buffer
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_buffer(struct buffer_t *buf, long size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - localkey_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: buffer_unthreaded
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - get_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      buffer_unthreaded(localkey_t key, long size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:188,1
    - Dst: calloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:196,1
    - Dst: pthread_setspecific
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:200,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:201,1
    - Dst: get_buffer
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - localkey_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: buffer_threaded
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_getspecific
    - pthread_setspecific
    - calloc
    - get_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      buffer_threaded(localkey_t key, long size)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:217,1
    - Dst: pthread_key_create
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:223,1
    - Dst: calloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:230,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:232,1
    - Dst: atexit
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:239,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:242,1
    - Dst: Curl_thread_buffer
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - localkey_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 244
    functionName: buffer_undef
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - pthread_mutex_unlock
    - calloc
    - pthread_key_create
    - atexit
    - pthread_mutex_lock
    linkageType: ''
    returnType: char
    signature: 'char *

      buffer_undef(localkey_t key, long size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:256,1
    - Dst: Curl_thread_buffer
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:257,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - s
    argTypes:
    - localkey_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: set_thread_string
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - Curl_thread_buffer
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      set_thread_string(localkey_t key, const char *s)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:279,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:285,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:287,1
    - Dst: getnameinfo
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:292,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:298,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:299,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:304,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:305,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:310,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 7
    argNames:
    - sa
    - salen
    - nodename
    - nodenamelen
    - servname
    - servnamelen
    - flags
    argTypes:
    - struct sockaddr*
    - socklen_t
    - char*
    - socklen_t
    - char*
    - socklen_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 313
    functionName: Curl_getnameinfo_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - free
    - strlen
    - getnameinfo
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Curl_getnameinfo_a(const struct sockaddr *sa, socklen_t salen,\n
      \                  char *nodename, socklen_t nodenamelen,\n                   char
      *servname, socklen_t servnamelen,\n                   int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:329,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:331,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:335,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:340,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:342,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:344,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:348,1
    - Dst: getaddrinfo
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:353,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:354,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - nodename
    - servname
    - hints
    - res
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 357
    functionName: Curl_getaddrinfo_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - free
    - QadrtConvertA2E
    - strlen
    - malloc
    - getaddrinfo
    linkageType: ''
    returnType: int
    signature: "int Curl_getaddrinfo_a(const char *nodename, const char *servname,\n
      \                  const struct addrinfo *hints,\n                   struct
      addrinfo **res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:372,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:374,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:383,1
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:384,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - minor_status
    - buf
    argTypes:
    - OM_uint32*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: Curl_gss_convert_in_place
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - free
    - memcpy
    - gss_release_buffer
    - malloc
    linkageType: ''
    returnType: int
    signature: int Curl_gss_convert_in_place(OM_uint32 *minor_status, gss_buffer_t
      buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gss_import_name
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:401,1
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:403,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:406,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:415,1
    - Dst: gss_import_name
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:417,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - minor_status
    - in_name
    - in_name_type
    - out_name
    argTypes:
    - OM_uint32*
    - gss_buffer_t
    - gss_OID
    - gss_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 420
    functionName: Curl_gss_import_name_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - QadrtConvertA2E
    - malloc
    - gss_import_name
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_import_name_a(OM_uint32 *minor_status, gss_buffer_t
      in_name,\n                       gss_OID in_name_type, gss_name_t *out_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_display_status
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:430,1
    - Dst: Curl_gss_convert_in_place
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 6
    argNames:
    - minor_status
    - status_value
    - status_type
    - mech_type
    - message_context
    - status_string
    argTypes:
    - OM_uint32*
    - OM_uint32
    - int
    - gss_OID
    - gss_msg_ctx_t*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: Curl_gss_display_status_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - Curl_gss_convert_in_place
    - gss_display_status
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_display_status_a(OM_uint32 *minor_status, OM_uint32
      status_value,\n                          int status_type, gss_OID mech_type,\n
      \                         gss_msg_ctx_t *message_context,\n                          gss_buffer_t
      status_string)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:470,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:479,1
    - Dst: gss_init_sec_context
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:486,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:490,1
    - Dst: Curl_gss_convert_in_place
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 13
    argNames:
    - minor_status
    - cred_handle
    - context_handle
    - target_name
    - mech_type
    - req_flags
    - time_req
    - input_chan_bindings
    - input_token
    - actual_mech_type
    - output_token
    - ret_flags
    - time_rec
    argTypes:
    - OM_uint32*
    - gss_cred_id_t
    - gss_ctx_id_t*
    - gss_name_t
    - gss_OID
    - gss_flags_t
    - OM_uint32
    - gss_channel_bindings_t
    - gss_buffer_t
    - gss_OID*
    - gss_buffer_t
    - gss_flags_t*
    - OM_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 504
    functionName: Curl_gss_init_sec_context_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - gss_init_sec_context
    - free
    - QadrtConvertA2E
    - Curl_gss_convert_in_place
    - malloc
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_init_sec_context_a(OM_uint32 *minor_status,\n                            gss_cred_id_t
      cred_handle,\n                            gss_ctx_id_t *context_handle,\n                            gss_name_t
      target_name, gss_OID mech_type,\n                            gss_flags_t req_flags,
      OM_uint32 time_req,\n                            gss_channel_bindings_t input_chan_bindings,\n
      \                           gss_buffer_t input_token,\n                            gss_OID
      *actual_mech_type,\n                            gss_buffer_t output_token, gss_flags_t
      *ret_flags,\n                            OM_uint32 *time_rec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_delete_sec_context
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:514,1
    - Dst: Curl_gss_convert_in_place
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - minor_status
    - context_handle
    - output_token
    argTypes:
    - OM_uint32*
    - gss_ctx_id_t*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: Curl_gss_delete_sec_context_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - Curl_gss_convert_in_place
    - gss_delete_sec_context
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_delete_sec_context_a(OM_uint32 *minor_status,\n
      \                             gss_ctx_id_t *context_handle,\n                              gss_buffer_t
      output_token)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_init
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:544,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:546,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:548,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:552,1
    - Dst: ldap_init
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:554,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 557
    functionName: Curl_ldap_init_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - ldap_init
    - free
    - QadrtConvertA2E
    - strlen
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_ldap_init_a(char *host, int port)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:570,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:572,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:576,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:581,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:583,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:585,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:589,1
    - Dst: ldap_simple_bind_s
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:593,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:594,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ld
    - dn
    - passwd
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 597
    functionName: Curl_ldap_simple_bind_s_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - ldap_simple_bind_s
    - free
    - QadrtConvertA2E
    - strlen
    - malloc
    linkageType: ''
    returnType: int
    signature: int Curl_ldap_simple_bind_s_a(void *ld, char *dn, char *passwd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:616,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:618,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:622,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:628,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:630,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:634,1
    - Dst: calloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:643,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:648,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:650,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:656,1
    - Dst: ldap_search_s
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:663,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:669,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:671,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:674,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:675,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 7
    argNames:
    - ld
    - base
    - scope
    - filter
    - attrs
    - attrsonly
    - res
    argTypes:
    - void*
    - char*
    - int
    - char*
    - char**
    - int
    - LDAPMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 677
    functionName: Curl_ldap_search_s_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - free
    - QadrtConvertA2E
    - ldap_search_s
    - calloc
    - strlen
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Curl_ldap_search_s_a(void *ld, char *base, int scope, char *filter,\n
      \                    char **attrs, int attrsonly, LDAPMessage **res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:689,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:691,1
    - Dst: ldap_set_lderrno
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:693,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:694,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:698,1
    - Dst: ldap_get_values_len
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:702,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 709
    functionName: Curl_ldap_get_values_len_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - ldap_get_values_len
    - free
    - ldap_set_lderrno
    - QadrtConvertA2E
    - ldap_err2string
    - strlen
    - malloc
    linkageType: ''
    returnType: struct berval
    signature: 'struct berval **

      Curl_ldap_get_values_len_a(void *ld, LDAPMessage *entry, const char *attr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_thread_string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:714,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: Curl_ldap_err2string_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - set_thread_string
    - ldap_err2string
    linkageType: ''
    returnType: char
    signature: 'char *

      Curl_ldap_err2string_a(int error)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_dn
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:724,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:729,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:731,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:735,1
    - Dst: strcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:742,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ld
    - entry
    argTypes:
    - void*
    - LDAPMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 745
    functionName: Curl_ldap_get_dn_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - free
    - strcpy
    - ldap_get_dn
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      Curl_ldap_get_dn_a(void *ld, LDAPMessage *entry)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_first_attribute
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:755,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:760,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:762,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:766,1
    - Dst: strcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:773,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ld
    - entry
    - berptr
    argTypes:
    - void*
    - LDAPMessage*
    - BerElement**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 776
    functionName: Curl_ldap_first_attribute_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - free
    - strcpy
    - ldap_first_attribute
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: "char *\nCurl_ldap_first_attribute_a(void *ld,\n                            LDAPMessage
      *entry, BerElement **berptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_next_attribute
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:786,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:791,1
    - Dst: malloc
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:793,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:797,1
    - Dst: strcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:804,1
    - Dst: free
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ld
    - entry
    - berptr
    argTypes:
    - void*
    - LDAPMessage*
    - BerElement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 807
    functionName: Curl_ldap_next_attribute_a
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - free
    - strcpy
    - strlen
    - malloc
    - ldap_next_attribute
    linkageType: ''
    returnType: char
    signature: "char *\nCurl_ldap_next_attribute_a(void *ld,\n                           LDAPMessage
      *entry, BerElement *berptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:829,1
    - Dst: QadrtConvertA2E
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - dstaddr
    - srcaddr
    - srclen
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 844
    functionName: sockaddr2ebcdic
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertA2E
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int sockaddr2ebcdic(struct sockaddr_storage *dstaddr,\n                const
      struct sockaddr *srcaddr, int srclen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:867,1
    - Dst: QadrtConvertE2A
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - dstaddr
    - dstlen
    - srcaddr
    - srclen
    argTypes:
    - struct sockaddr*
    - int
    - struct sockaddr_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 888
    functionName: sockaddr2ascii
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - QadrtConvertE2A
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int sockaddr2ascii(struct sockaddr *dstaddr, int dstlen,\n               const
      struct sockaddr_storage *srcaddr, int srclen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr2ebcdic
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:896,1
    - Dst: connect
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sd
    - destaddr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 902
    functionName: Curl_os400_connect
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sockaddr2ebcdic
    - connect
    linkageType: ''
    returnType: int
    signature: int Curl_os400_connect(int sd, struct sockaddr *destaddr, int addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr2ebcdic
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:910,1
    - Dst: bind
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sd
    - localaddr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 916
    functionName: Curl_os400_bind
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - bind
    - sockaddr2ebcdic
    linkageType: ''
    returnType: int
    signature: int Curl_os400_bind(int sd, struct sockaddr *localaddr, int addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr2ebcdic
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:925,1
    - Dst: sendto
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - sd
    - buffer
    - buflen
    - flags
    - dstaddr
    - addrlen
    argTypes:
    - int
    - char*
    - int
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 931
    functionName: Curl_os400_sendto
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sockaddr2ebcdic
    - sendto
    linkageType: ''
    returnType: int
    signature: "int Curl_os400_sendto(int sd, char *buffer, int buflen, int flags,\n
      \                 const struct sockaddr *dstaddr, int addrlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:942,1
    - Dst: recvfrom
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:945,1
    - Dst: sockaddr2ascii
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - sd
    - buffer
    - buflen
    - flags
    - fromaddr
    - addrlen
    argTypes:
    - int
    - char*
    - int
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 960
    functionName: Curl_os400_recvfrom
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - recvfrom
    - sockaddr2ascii
    linkageType: ''
    returnType: int
    signature: "int Curl_os400_recvfrom(int sd, char *buffer, int buflen, int flags,\n
      \                   struct sockaddr *fromaddr, int *addrlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:967,1
    - Dst: sockaddr2ascii
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 977
    functionName: Curl_os400_getpeername
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - getpeername
    - sockaddr2ascii
    linkageType: ''
    returnType: int
    signature: int Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:984,1
    - Dst: sockaddr2ascii
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: Curl_os400_getsockname
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sockaddr2ascii
    - getsockname
    linkageType: ''
    returnType: int
    signature: int Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_thread_string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1001,1
    - Dst: zlibVersion
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: Curl_os400_zlibVersion
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - set_thread_string
    - zlibVersion
    linkageType: ''
    returnType: char
    signature: 'char *

      Curl_os400_zlibVersion(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1011,1
    - Dst: set_thread_string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - strm
    - version
    - stream_size
    argTypes:
    - z_streamp
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: Curl_os400_inflateInit_
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - set_thread_string
    - inflateInit
    linkageType: ''
    returnType: int
    signature: int Curl_os400_inflateInit_(z_streamp strm, const char *version, int
      stream_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1026,1
    - Dst: set_thread_string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - strm
    - windowBits
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1032
    functionName: Curl_os400_inflateInit2_
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - set_thread_string
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: "int Curl_os400_inflateInit2_(z_streamp strm, int windowBits,\n                         const
      char *version, int stream_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1040,1
    - Dst: set_thread_string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - flush
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1046
    functionName: Curl_os400_inflate
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - inflate
    - set_thread_string
    linkageType: ''
    returnType: int
    signature: int Curl_os400_inflate(z_streamp strm, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1054,1
    - Dst: set_thread_string
      Src: /src/PROJ/curl/packages/OS400/os400sys.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1060
    functionName: Curl_os400_inflateEnd
    functionSourceFile: /src/PROJ/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - set_thread_string
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: int Curl_os400_inflateEnd(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:125,1
    - Dst: SYS$TRNLNM
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:130,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - logname
    - value
    - value_len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: sys_trnlnm
    functionSourceFile: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - SYS$TRNLNM
    - strlen
    - $VMS_STATUS_SUCCESS
    linkageType: ''
    returnType: int
    signature: "int sys_trnlnm(const char *logname,\n                      char *value,\n
      \                     int value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:125,1
    - Dst: SYS$TRNLNM
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:130,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: $DESCRIPTOR
    functionSourceFile: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - SYS$TRNLNM
    - strlen
    - $VMS_STATUS_SUCCESS
    linkageType: ''
    returnType: void
    signature: "void $DESCRIPTOR(table_dsc, \"LNM$FILE_DEV\");\n  const unsigned long
      attr = LNM$M_CASE_BLIND;\n  struct dsc$descriptor_s name_dsc;\n  int status;\n
      \ unsigned short result;\n  struct itmlst_3 itlst[2];\n\n  itlst[0].buflen =
      value_len;\n  itlst[0].itmcode = LNM$_STRING;\n  itlst[0].bufadr = value;\n
      \ itlst[0].retlen = &result;\n\n  itlst[1].buflen = 0;\n  itlst[1].itmcode =
      0;\n\n  name_dsc.dsc$w_length = strlen(logname);\n  name_dsc.dsc$a_pointer =
      (char *)logname;\n  name_dsc.dsc$b_dtype = DSC$K_DTYPE_T;\n  name_dsc.dsc$b_class
      = DSC$K_CLASS_S;\n\n  status = SYS$TRNLNM(&attr, &table_dsc, &name_dsc, 0, itlst);\n\n
      \ if($VMS_STATUS_SUCCESS(status))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:153,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:158,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:162,1
    - Dst: SYS$CRELNM
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - logname
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: sys_crelnm
    functionSourceFile: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - strlen
    - SYS$CRELNM
    linkageType: ''
    returnType: int
    signature: "int sys_crelnm(const char *logname,\n                      const char
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_crelnm
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: set_feature_default
    functionSourceFile: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - sys_crelnm
    linkageType: ''
    returnType: void
    signature: void set_feature_default(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decc$feature_get_index
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:191,1
    - Dst: decc$feature_set_value
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: set_feature_default
    functionSourceFile: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - decc$feature_set_value
    - decc$feature_get_index
    linkageType: ''
    returnType: void
    signature: void set_feature_default(const char *name, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sys_trnlnm
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:204,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:206,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:211,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:214,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:220,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:224,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:225,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:228,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:231,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:235,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:237,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:241,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:245,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:248,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:253,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:256,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:260,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:262,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:264,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:265,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:269,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:273,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:277,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:281,1
    - Dst: set_feature_default
      Src: /src/PROJ/curl/packages/vms/curl_crtl_init.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 290
    functionName: set_features
    functionSourceFile: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - set_feature_default
    - $VMS_STATUS_SUCCESS
    - sys_trnlnm
    linkageType: ''
    returnType: void
    signature: void set_features(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:50,1
    - Dst: dlopen
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:54,1
    - Dst: dlsym
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:56,1
    - Dst: dlsym
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:58,1
    - Dst: dlsym
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:60,1
    - Dst: dlclose
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:64,1
    - Dst: puts
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:67,1
    - Dst: ssl_version
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:71,1
    - Dst: puts
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:73,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:83,1
    - Dst: strlen
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:88,1
    - Dst: LIB$SET_SYMBOL
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:92,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/PROJ/curl/packages/vms/report_openssl_version.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/PROJ/curl/packages/vms/report_openssl_version.c
    functionUses: 5
    functionsReached:
    - $VMS_STATUS_SUCCESS
    - dlclose
    - dlopen
    - strlen
    - LIB$SET_SYMBOL
    - dlsym
    - ssl_version
    - puts
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/src/tool_filetime.c:44,1
    - Dst: CreateFile
      Src: /src/PROJ/curl/src/tool_filetime.c:46,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/src/tool_filetime.c:50,1
    - Dst: GetFileTime
      Src: /src/PROJ/curl/src/tool_filetime.c:53,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:58,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:65,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_filetime.c:66,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/src/tool_filetime.c:68,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_filetime.c:70,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:71,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_filetime.c:72,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/src/tool_filetime.c:76,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:82,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_filetime.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - filename
    - stamp
    argTypes:
    - char*
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 87
    functionName: getfiletime
    functionSourceFile: /src/PROJ/curl/src/tool_filetime.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - GetLastError
    - curlx_strerror
    - GetFileTime
    - curlx_convert_UTF8_to_tchar
    - warnf
    - curlx_stat
    - CreateFile
    - curlx_unicodefree
    linkageType: ''
    returnType: int
    signature: int getfiletime(const char *filename, curl_off_t *stamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/src/tool_filetime.c:97,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:103,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:109,1
    - Dst: CreateFile
      Src: /src/PROJ/curl/src/tool_filetime.c:112,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/src/tool_filetime.c:116,1
    - Dst: SetFileTime
      Src: /src/PROJ/curl/src/tool_filetime.c:123,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:124,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_filetime.c:126,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/src/tool_filetime.c:128,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:131,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_filetime.c:133,1
    - Dst: utimes
      Src: /src/PROJ/curl/src/tool_filetime.c:140,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:142,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_filetime.c:144,1
    - Dst: utime
      Src: /src/PROJ/curl/src/tool_filetime.c:151,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_filetime.c:153,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_filetime.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - filetime
    - filename
    argTypes:
    - curl_off_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 158
    functionName: setfiletime
    functionSourceFile: /src/PROJ/curl/src/tool_filetime.c
    functionUses: 0
    functionsReached:
    - utimes
    - CloseHandle
    - curlx_strerror
    - curlx_convert_UTF8_to_tchar
    - SetFileTime
    - warnf
    - GetLastError
    - utime
    - curlx_unicodefree
    - CreateFile
    linkageType: ''
    returnType: void
    signature: void setfiletime(curl_off_t filetime, const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:164,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:167,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:171,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:179,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:181,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: writeTime
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - DEBUGASSERT
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int writeTime(FILE *stream, const struct writeoutvar *wovar,\n                     struct
      per_transfer *per, CURLcode per_result,\n                     bool use_json)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_writeout.c:195,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:203,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_writeout.c:257,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_writeout.c:261,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_writeout.c:266,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - per
    - vid
    - contentp
    argTypes:
    - struct per_transfer*
    - writeoutid
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 271
    functionName: urlpart
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - curl_url
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: "int urlpart(struct per_transfer *per, writeoutid vid,\n                   const
      char **contentp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: certinfo
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 1
    functionsReached:
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void certinfo(struct per_transfer *per)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_writeout.c:290,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:292,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:297,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:310,1
    - Dst: certinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:317,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_writeout.c:326,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/tool_writeout.c:327,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/tool_writeout.c:333,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_writeout.c:338,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_writeout.c:340,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout.c:343,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_writeout.c:352,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/src/tool_writeout.c:365,1
    - Dst: urlpart
      Src: /src/PROJ/curl/src/tool_writeout.c:402,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:409,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:414,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:417,1
    - Dst: jsonWriteString
      Src: /src/PROJ/curl/src/tool_writeout.c:418,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:421,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:425,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_writeout.c:427,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/tool_writeout.c:427,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_writeout.c:429,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 121
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 431
    functionName: writeString
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - fputs
    - curl_mfprintf
    - curl_easy_getinfo
    - urlpart
    - certinfo
    - curlx_dyn_init
    - jsonWriteString
    - curlx_dyn_free
    - curl_strnequal
    - CURL_UNCONST
    - curl_easy_strerror
    - DEBUGASSERT
    - curlx_dyn_add
    - curlx_dyn_len
    linkageType: ''
    returnType: int
    signature: "int writeString(FILE *stream, const struct writeoutvar *wovar,\n                       struct
      per_transfer *per, CURLcode per_result,\n                       bool use_json)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:440,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:443,1
    - Dst: certinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:453,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:466,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:473,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:476,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:478,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:483,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 487
    functionName: writeLong
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - certinfo
    - curl_mfprintf
    - DEBUGASSERT
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int writeLong(FILE *stream, const struct writeoutvar *wovar,\n                     struct
      per_transfer *per, CURLcode per_result,\n                     bool use_json)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:498,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_writeout.c:501,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_writeout.c:513,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:519,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:521,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 529
    functionName: writeOffset
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - DEBUGASSERT
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int writeOffset(FILE *stream, const struct writeoutvar *wovar,\n                       struct
      per_transfer *per, CURLcode per_result,\n                       bool use_json)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_writeout.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: matchvar
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int matchvar(const void *m1, const void *m2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_writeout.c:548,1
    - Dst: gettimeofday
      Src: /src/PROJ/curl/src/tool_writeout.c:565,1
    - Dst: time
      Src: /src/PROJ/curl/src/tool_writeout.c:567,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_writeout.c:574,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_writeout.c:577,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_writeout.c:584,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_writeout.c:593,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout.c:595,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout.c:597,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout.c:601,1
    - Dst: gmtime
      Src: /src/PROJ/curl/src/tool_writeout.c:605,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_writeout.c:606,1
    - Dst: strftime
      Src: /src/PROJ/curl/src/tool_writeout.c:607,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_writeout.c:607,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:608,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_writeout.c:609,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:614,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 616
    functionName: outtime
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - getenv
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - fputs
    - time
    - curlx_dyn_addf
    - gettimeofday
    - strchr
    - curlx_dyn_init
    - curlx_str_number
    - gmtime
    - curlx_dyn_free
    - curlx_dyn_len
    - strftime
    linkageType: ''
    returnType: char
    signature: "char *outtime(const char *ptr, /* %time{ ... */\n                           FILE
      *stream)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:624,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:627,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:630,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:633,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:639,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:640,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - sep
    - seplen
    - stream
    argTypes:
    - char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 652
    functionName: separator
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 3
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void separator(const char *sep, size_t seplen, FILE *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_writeout.c:660,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_writeout.c:664,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/tool_writeout.c:673,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_writeout.c:676,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_writeout.c:683,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/src/tool_writeout.c:691,1
    - Dst: separator
      Src: /src/PROJ/curl/src/tool_writeout.c:696,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:697,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/src/tool_writeout.c:711,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:713,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:719,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - per
    - stream
    - pptr
    argTypes:
    - struct per_transfer*
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 721
    functionName: output_header
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - strncmp
    - fputs
    - memcpy
    - strchr
    - separator
    - curl_easy_header
    - memchr
    linkageType: ''
    returnType: void
    signature: "void output_header(struct per_transfer *per,\n                          FILE
      *stream,\n                          const char **pptr)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_writeout.c:736,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:741,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_writeout.c:751,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:754,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_writeout.c:759,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout.c:760,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_writeout.c:761,1
    - Dst: bsearch
      Src: /src/PROJ/curl/src/tool_writeout.c:762,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_writeout.c:763,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_writeout.c:775,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_writeout.c:781,1
    - Dst: ourWriteOutJSON
      Src: /src/PROJ/curl/src/tool_writeout.c:786,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_writeout.c:787,1
    - Dst: headerJSON
      Src: /src/PROJ/curl/src/tool_writeout.c:791,1
    - Dst: struct writeoutvar*::writefunc
      Src: /src/PROJ/curl/src/tool_writeout.c:794,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout.c:799,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_writeout.c:805,1
    - Dst: output_header
      Src: /src/PROJ/curl/src/tool_writeout.c:807,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_writeout.c:809,1
    - Dst: outtime
      Src: /src/PROJ/curl/src/tool_writeout.c:810,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_writeout.c:812,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_writeout.c:819,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_writeout.c:825,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_writeout.c:827,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_writeout.c:832,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout.c:840,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:844,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:845,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:853,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:856,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:859,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:863,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:864,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout.c:870,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_writeout.c:875,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_writeout.c:876,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 117
    argCount: 3
    argNames:
    - config
    - per
    - per_result
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 877
    functionName: ourWriteOut
    functionSourceFile: /src/PROJ/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ourWriteOutJSON
    - fputs
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curl_mfprintf
    - memcpy
    - curlx_dyn_init
    - curlx_fopen
    - curlx_dyn_reset
    - curlx_fclose
    - bsearch
    - output_header
    - CURL_ARRAYSIZE
    - strchr
    - outtime
    - curlx_dyn_free
    - headerJSON
    - struct writeoutvar*::writefunc
    - fputc
    linkageType: ''
    returnType: void
    signature: "void ourWriteOut(struct OperationConfig *config, struct per_transfer
      *per,\n                 CURLcode per_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/PROJ/curl/src/tool_util.c:40,1
    - Dst: SystemTimeToFileTime
      Src: /src/PROJ/curl/src/tool_util.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tvrealnow
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 1
    functionsReached:
    - GetSystemTime
    - SystemTimeToFileTime
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval tvrealnow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PROJ/curl/src/tool_util.c:56,1
    - Dst: time
      Src: /src/PROJ/curl/src/tool_util.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: tvrealnow
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    - time
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval tvrealnow(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_STRICMP
      Src: /src/PROJ/curl/src/tool_util.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: struplocompare
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - CURL_STRICMP
    linkageType: ''
    returnType: int
    signature: int struplocompare(const char *p1, const char *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struplocompare
      Src: /src/PROJ/curl/src/tool_util.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: struplocompare4sort
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - struplocompare
    linkageType: ''
    returnType: int
    signature: int struplocompare4sort(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hnd
    - ','
    - ofs
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: _lseeki64
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _lseeki64(hnd,ofs,whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/PROJ/curl/src/tool_util.c:96,1
    - Dst: _lseeki64
      Src: /src/PROJ/curl/src/tool_util.c:98,1
    - Dst: SetEndOfFile
      Src: /src/PROJ/curl/src/tool_util.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - where
    argTypes:
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: tool_ftruncate64
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    - SetEndOfFile
    - _lseeki64
    linkageType: ''
    returnType: int
    signature: int tool_ftruncate64(int fd, curl_off_t where)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileNameA
      Src: /src/PROJ/curl/src/tool_util.c:118,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_util.c:121,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_util.c:126,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_util.c:127,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_util.c:128,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_util.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - pathp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: tool_execpath
    functionSourceFile: /src/PROJ/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - GetModuleFileNameA
    - curl_msnprintf
    - curlx_fopen
    - strrchr
    - strlen
    linkageType: ''
    returnType: FILE
    signature: FILE *tool_execpath(const char *filename, char **pathp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/src/tool_cfgable.c:39,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_cfgable.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: config_alloc
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    linkageType: ''
    returnType: struct OperationConfig
    signature: struct OperationConfig *config_alloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:63,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:64,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:65,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:67,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:68,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:69,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_cfgable.c:71,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:72,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:73,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:75,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:76,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:77,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:79,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:81,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:82,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:83,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:84,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:85,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:86,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:87,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:88,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:89,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:91,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:92,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:93,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:94,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:96,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:99,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:100,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:102,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:103,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:104,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:105,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:110,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:111,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:112,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:113,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:122,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:124,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:125,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:126,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:127,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:128,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:129,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:130,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:131,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:132,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:133,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:134,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:135,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:136,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:137,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:138,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:139,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:140,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:141,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:142,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:143,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:144,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:145,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:146,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:147,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:148,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:149,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:150,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:151,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:152,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:153,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:154,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:155,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:156,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:157,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:158,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:159,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:160,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:161,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:162,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:164,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:165,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:166,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:168,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:169,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/src/tool_cfgable.c:171,1
    - Dst: tool_mime_free
      Src: /src/PROJ/curl/src/tool_cfgable.c:173,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:177,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:178,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cfgable.c:179,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:181,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:182,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:183,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:184,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:185,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:186,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:187,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:188,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:189,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 111
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 191
    functionName: free_config_fields
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - tool_mime_free
    - curl_mime_free
    - curl_slist_free_all
    - curlx_dyn_free
    - tool_safefree
    linkageType: ''
    returnType: void
    signature: void free_config_fields(struct OperationConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_config_fields
      Src: /src/PROJ/curl/src/tool_cfgable.c:201,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cfgable.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: config_free
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - free_config_fields
    - free
    linkageType: ''
    returnType: void
    signature: void config_free(struct OperationConfig *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_alloc
      Src: /src/PROJ/curl/src/tool_cfgable.c:229,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/src/tool_cfgable.c:232,1
    - Dst: get_libcurl_info
      Src: /src/PROJ/curl/src/tool_cfgable.c:235,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_cfgable.c:238,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cfgable.c:239,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_cfgable.c:243,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cfgable.c:244,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_cfgable.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 253
    functionName: globalconf_init
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - free
    - get_libcurl_info
    - config_alloc
    - errorf
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode globalconf_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:257,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_cfgable.c:260,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cfgable.c:263,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cfgable.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: free_globalconfig
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - curlx_fclose
    - free
    linkageType: ''
    returnType: void
    signature: void free_globalconfig(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/src/tool_cfgable.c:277,1
    - Dst: free_globalconfig
      Src: /src/PROJ/curl/src/tool_cfgable.c:278,1
    - Dst: config_free
      Src: /src/PROJ/curl/src/tool_cfgable.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: globalconf_free
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - free_globalconfig
    - config_free
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void globalconf_free(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/PROJ/curl/src/tool_getpass.c:73,1
    - Dst: sys$assign
      Src: /src/PROJ/curl/src/tool_getpass.c:76,1
    - Dst: sys$qiow
      Src: /src/PROJ/curl/src/tool_getpass.c:78,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getpass.c:81,1
    - Dst: sys$dassgn
      Src: /src/PROJ/curl/src/tool_getpass.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - prompt
    - buffer
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: getpass_r
    functionSourceFile: /src/PROJ/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - sys$dassgn
    - sys$qiow
    - strlen
    - sys$assign
    - $DESCRIPTOR
    linkageType: ''
    returnType: char
    signature: char *getpass_r(const char *prompt, char *buffer, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_getpass.c:98,1
    - Dst: _getch
      Src: /src/PROJ/curl/src/tool_getpass.c:101,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_getpass.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - prompt
    - buffer
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: getpass_r
    functionSourceFile: /src/PROJ/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - fputs
    - _getch
    linkageType: ''
    returnType: char
    signature: char *getpass_r(const char *prompt, char *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/PROJ/curl/src/tool_getpass.c:143,1
    - Dst: tcsetattr
      Src: /src/PROJ/curl/src/tool_getpass.c:146,1
    - Dst: ioctl
      Src: /src/PROJ/curl/src/tool_getpass.c:148,1
    - Dst: ioctl
      Src: /src/PROJ/curl/src/tool_getpass.c:151,1
    - Dst: tcsetattr
      Src: /src/PROJ/curl/src/tool_getpass.c:162,1
    - Dst: ioctl
      Src: /src/PROJ/curl/src/tool_getpass.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - enable
    - fd
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 169
    functionName: ttyecho
    functionSourceFile: /src/PROJ/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - ioctl
    - tcgetattr
    - tcsetattr
    linkageType: ''
    returnType: bool
    signature: bool ttyecho(bool enable, int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_getpass.c:177,1
    - Dst: ttyecho
      Src: /src/PROJ/curl/src/tool_getpass.c:181,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_getpass.c:183,1
    - Dst: read
      Src: /src/PROJ/curl/src/tool_getpass.c:184,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_getpass.c:192,1
    - Dst: ttyecho
      Src: /src/PROJ/curl/src/tool_getpass.c:193,1
    - Dst: close
      Src: /src/PROJ/curl/src/tool_getpass.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - prompt
    - password
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 200
    functionName: getpass_r
    functionSourceFile: /src/PROJ/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - fputs
    - ttyecho
    - close
    - curlx_open
    - read
    linkageType: ''
    returnType: char
    signature: "char *getpass_r(const char *prompt, /* prompt to display */\n                char
      *password,     /* buffer to store password in */\n                size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: fwrite_xattr
    functionSourceFile: /src/PROJ/curl/src/tool_xattr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fwrite_xattr(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: exit
    functionSourceFile: /src/PROJ/curl/src/tool_vms.h
    functionUses: 92
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exit(__code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - f
    - ','
    - e
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: VMS_STS
    functionSourceFile: /src/PROJ/curl/src/tool_vms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VMS_STS(c,f,e,s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/PROJ/curl/src/tool_cb_see.c:66,1
    - Dst: lseek
      Src: /src/PROJ/curl/src/tool_cb_see.c:72,1
    - Dst: lseek
      Src: /src/PROJ/curl/src/tool_cb_see.c:82,1
    - Dst: lseek
      Src: /src/PROJ/curl/src/tool_cb_see.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - userdata
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 92
    functionName: tool_seek_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_see.c
    functionUses: 0
    functionsReached:
    - lseek
    linkageType: ''
    returnType: int
    signature: int tool_seek_cb(void *userdata, curl_off_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: BIT
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: BIT
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: checkprefix
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkprefix(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tool_safefree
    functionSourceFile: /src/PROJ/curl/src/tool_cfgable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tool_safefree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: basename
    functionSourceFile: /src/PROJ/curl/src/tool_bname.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: basename(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: easysrc_init
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easysrc_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: easysrc_perform
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easysrc_perform()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/PROJ/curl/src/tool_main.c:100,1
    - Dst: fcntl
      Src: /src/PROJ/curl/src/tool_main.c:101,1
    - Dst: fcntl
      Src: /src/PROJ/curl/src/tool_main.c:102,1
    - Dst: pipe
      Src: /src/PROJ/curl/src/tool_main.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: main_checkfds
    functionSourceFile: /src/PROJ/curl/src/tool_main.c
    functionUses: 0
    functionsReached:
    - fcntl
    - pipe
    linkageType: ''
    returnType: int
    signature: int main_checkfds(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: main_checkfds
    functionSourceFile: /src/PROJ/curl/src/tool_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: main_checkfds()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_main.c:116,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_main.c:120,1
    - Dst: strcpy
      Src: /src/PROJ/curl/src/tool_main.c:122,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_main.c:123,1
    - Dst: curl_dbg_memdebug
      Src: /src/PROJ/curl/src/tool_main.c:124,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_main.c:130,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_main.c:134,1
    - Dst: curl_dbg_memlimit
      Src: /src/PROJ/curl/src/tool_main.c:135,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_main.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 138
    functionName: memory_tracking_init
    functionSourceFile: /src/PROJ/curl/src/tool_main.c
    functionUses: 1
    functionsReached:
    - curl_free
    - strcpy
    - curlx_str_number
    - strlen
    - curl_getenv
    - curl_dbg_memlimit
    - curl_dbg_memdebug
    linkageType: ''
    returnType: void
    signature: void memory_tracking_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: memory_tracking_init
    functionSourceFile: /src/PROJ/curl/src/tool_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_tracking_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mkdir
    functionSourceFile: /src/PROJ/curl/src/tool_dirhie.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mkdir(x,y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_dirhie.c:48,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_dirhie.c:53,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_dirhie.c:58,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_dirhie.c:63,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_dirhie.c:69,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_dirhie.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: show_dir_errno
    functionSourceFile: /src/PROJ/curl/src/tool_dirhie.c
    functionUses: 0
    functionsReached:
    - errorf
    linkageType: ''
    returnType: void
    signature: void show_dir_errno(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_dirhie.c:96,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_dirhie.c:99,1
    - Dst: strspn
      Src: /src/PROJ/curl/src/tool_dirhie.c:103,1
    - Dst: strcspn
      Src: /src/PROJ/curl/src/tool_dirhie.c:104,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_dirhie.c:111,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_dirhie.c:123,1
    - Dst: mkdir
      Src: /src/PROJ/curl/src/tool_dirhie.c:129,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_dirhie.c:129,1
    - Dst: show_dir_errno
      Src: /src/PROJ/curl/src/tool_dirhie.c:131,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_dirhie.c:131,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_dirhie.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - outfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: create_dir_hierarchy
    functionSourceFile: /src/PROJ/curl/src/tool_dirhie.c
    functionUses: 0
    functionsReached:
    - strcspn
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - strspn
    - curlx_dyn_init
    - curlx_dyn_free
    - strlen
    - curlx_dyn_len
    - mkdir
    - show_dir_errno
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode create_dir_hierarchy(const char *outfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:48,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tv_sec
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: hms_for_sec
    functionSourceFile: /src/PROJ/curl/src/tool_cb_dbg.c
    functionUses: 0
    functionsReached:
    - localtime
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *hms_for_sec(time_t tv_sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:67,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - log
    - timebuf
    - idsbuf
    - type
    argTypes:
    - FILE*
    - char*
    - char*
    - curl_infotype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: log_line_start
    functionSourceFile: /src/PROJ/curl/src/tool_cb_dbg.c
    functionUses: 1
    functionsReached:
    - fputs
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void log_line_start(FILE *log, const char *timebuf,\n                           const
      char *idsbuf, curl_infotype type)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: tvrealnow
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:98,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:99,1
    - Dst: hms_for_sec
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:100,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:106,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:107,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:109,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:113,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:121,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:123,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:127,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:136,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:152,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:154,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:160,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:161,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:169,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:170,1
    - Dst: log_line_start
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:186,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:187,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:204,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:205,1
    - Dst: dump
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:229,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userdata
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 232
    functionName: tool_debug_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_dbg.c
    functionUses: 0
    functionsReached:
    - fwrite
    - curl_easy_getinfo
    - strcmp
    - curl_mfprintf
    - FALLTHROUGH
    - log_line_start
    - curl_msnprintf
    - dump
    - curlx_fopen
    - warnf
    - tvrealnow
    - hms_for_sec
    linkageType: ''
    returnType: int
    signature: "int tool_debug_cb(CURL *handle, curl_infotype type,\n                  char
      *data, size_t size,\n                  void *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:247,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:252,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:258,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:260,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:272,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:283,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_cb_dbg.c:285,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 8
    argNames:
    - timebuf
    - idsbuf
    - text
    - stream
    - ptr
    - size
    - tracetype
    - infotype
    argTypes:
    - char*
    - char*
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - trace
    - curl_infotype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 286
    functionName: dump
    functionSourceFile: /src/PROJ/curl/src/tool_cb_dbg.c
    functionUses: 42
    functionsReached:
    - fputc
    - fputs
    - fflush
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *timebuf, const char *idsbuf, const char *text,\n
      \                FILE *stream, const unsigned char *ptr, size_t size,\n                 trace
      tracetype, curl_infotype infotype)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/PROJ/curl/src/tool_libinfo.c:144,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_libinfo.c:156,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_libinfo.c:181,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_libinfo.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 192
    functionName: get_libcurl_info
    functionSourceFile: /src/PROJ/curl/src/tool_libinfo.c
    functionUses: 1
    functionsReached:
    - curl_version_info
    - curl_strequal
    - strncmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode get_libcurl_info(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_libinfo.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - proto
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: proto_token
    functionSourceFile: /src/PROJ/curl/src/tool_libinfo.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: char
    signature: char *proto_token(const char *proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: my_setopt
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: my_setopt_long
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_long(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: my_setopt_offt
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_offt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: my_setopt_str
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_str(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: my_setopt_enum
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_enum(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: my_setopt_SSLVERSION
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_SSLVERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: my_setopt_bitmask
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_bitmask(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: my_setopt_mimepost
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_mimepost(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: my_setopt_slist
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_slist(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: my_setopt
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: my_setopt_long
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_long(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: my_setopt_offt
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_offt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: my_setopt_str
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_str(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: my_setopt_enum
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_enum(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: my_setopt_SSLVERSION
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_SSLVERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: my_setopt_bitmask
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_bitmask(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: my_setopt_mimepost
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_mimepost(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: my_setopt_slist
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_slist(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: NV
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NV(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: NV1
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NV1(e, v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_setopt.c:186,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_setopt.c:189,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_setopt.c:197,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/src/tool_setopt.c:197,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_setopt.c:203,1
    - Dst: ISPRINT
      Src: /src/PROJ/curl/src/tool_setopt.c:205,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_setopt.c:208,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_setopt.c:213,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:215,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/src/tool_setopt.c:217,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_setopt.c:225,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_setopt.c:228,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_setopt.c:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 231
    functionName: c_escape
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - strchr
    - curlx_dyn_init
    - ISPRINT
    - STRCONST
    - strlen
    - ISXDIGIT
    linkageType: ''
    returnType: char
    signature: char *c_escape(const char *str, curl_off_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:240,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:255,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:259,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_setopt.c:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - curl
    - name
    - tag
    - nvlist
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - struct NameValue*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: tool_setopt_enum
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_enum(CURL *curl, const char *name, CURLoption
      tag,\n                          const struct NameValue *nvlist, long lval)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:278,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:298,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:304,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:309,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_setopt.c:317,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 320
    functionName: tool_setopt_SSLVERSION
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_SSLVERSION(CURL *curl, const char *name, CURLoption
      tag,\n                                long lval)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:328,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_setopt.c:337,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:343,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_setopt.c:348,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_setopt.c:349,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - curl
    - name
    - tag
    - nvlist
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - struct NameValueUnsigned*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 360
    functionName: tool_setopt_bitmask
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - curl_msnprintf
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_bitmask(CURL *curl, const char *name, CURLoption
      tag,\n                             const struct NameValueUnsigned *nvlist,\n
      \                            long lval)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:370,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:372,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:374,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:377,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:381,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:384,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - slist
    - slistno
    argTypes:
    - struct curl_slist*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 391
    functionName: libcurl_generate_slist
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - easysrc_addf
    - c_escape
    - free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode libcurl_generate_slist(struct curl_slist *slist, int *slistno)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: libcurl_generate_mime_part
      Src: /src/PROJ/curl/src/tool_setopt.c:411,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:415,1
    - Dst: libcurl_generate_mime
      Src: /src/PROJ/curl/src/tool_setopt.c:422,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:424,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:428,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:436,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:438,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:441,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:447,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:448,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:451,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:454,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_setopt.c:461,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:464,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:467,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:476,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:477,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:479,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:483,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:484,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:486,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:490,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:491,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:493,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:497,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:498,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:500,1
    - Dst: libcurl_generate_slist
      Src: /src/PROJ/curl/src/tool_setopt.c:506,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:508,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:512,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 4
    argNames:
    - curl
    - config
    - part
    - mimeno
    argTypes:
    - CURL*
    - struct OperationConfig*
    - struct tool_mime*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 517
    functionName: libcurl_generate_mime_part
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 1
    functionsReached:
    - easysrc_addf
    - free
    - FALLTHROUGH
    - libcurl_generate_slist
    - c_escape
    - libcurl_generate_mime_part
    - libcurl_generate_mime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode libcurl_generate_mime_part(CURL *curl,\n                                           struct
      OperationConfig *config,\n                                           struct
      tool_mime *part,\n                                           int mimeno)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:529,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:531,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:533,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:536,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:538,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:541,1
    - Dst: libcurl_generate_mime_part
      Src: /src/PROJ/curl/src/tool_setopt.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - curl
    - config
    - toolmime
    - mimeno
    argTypes:
    - CURL*
    - struct OperationConfig*
    - struct tool_mime*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 548
    functionName: libcurl_generate_mime
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 1
    functionsReached:
    - easysrc_addf
    - libcurl_generate_mime_part
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode libcurl_generate_mime(CURL *curl,\n                                      struct
      OperationConfig *config,\n                                      struct tool_mime
      *toolmime,\n                                      int *mimeno)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:555,1
    - Dst: libcurl_generate_mime
      Src: /src/PROJ/curl/src/tool_setopt.c:559,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - curl
    - config
    - name
    - tag
    - mimepost
    argTypes:
    - CURL*
    - struct OperationConfig*
    - char*
    - CURLoption
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: tool_setopt_mimepost
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - libcurl_generate_mime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_mimepost(CURL *curl, struct OperationConfig *config,\n
      \                             const char *name, CURLoption tag,\n                              curl_mime
      *mimepost)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:575,1
    - Dst: libcurl_generate_slist
      Src: /src/PROJ/curl/src/tool_setopt.c:580,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - list
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 587
    functionName: tool_setopt_slist
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - libcurl_generate_slist
    - easysrc_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_slist(CURL *curl, const char *name, CURLoption
      tag,\n                           struct curl_slist *list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_setopt.c:596,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_setopt.c:599,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:605,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 612
    functionName: tool_setopt_long
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - DEBUGASSERT
    - strcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_long(CURL *curl, const char *name, CURLoption
      tag,\n                          long lval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_setopt.c:619,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:621,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: tool_setopt_offt
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_offt(CURL *curl, const char *name, CURLoption
      tag,\n                          curl_off_t lval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/src/tool_setopt.c:640,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_setopt.c:642,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_setopt.c:643,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_setopt.c:646,1
    - Dst: va_arg
      Src: /src/PROJ/curl/src/tool_setopt.c:649,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_setopt.c:651,1
    - Dst: va_end
      Src: /src/PROJ/curl/src/tool_setopt.c:653,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:662,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_setopt.c:670,1
    - Dst: c_escape
      Src: /src/PROJ/curl/src/tool_setopt.c:671,1
    - Dst: easysrc_addf
      Src: /src/PROJ/curl/src/tool_setopt.c:673,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_setopt.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - curl
    - config
    - str
    - name
    - tag
    argTypes:
    - CURL*
    - struct OperationConfig*
    - bool
    - char*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 681
    functionName: tool_setopt
    functionSourceFile: /src/PROJ/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - va_end
    - easysrc_addf
    - free
    - va_start
    - c_escape
    - va_arg
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt(CURL *curl, struct OperationConfig *config,\n
      \                    bool str, const char *name, CURLoption tag,\n                     ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/src/tool_paramhlp.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: new_getout
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct getout
    signature: struct getout *new_getout(struct OperationConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ISCRLF
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCRLF(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISCRLF
      Src: /src/PROJ/curl/src/tool_paramhlp.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - orig
    - countcrlf
    - max
    argTypes:
    - char*
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: memcrlf
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - ISCRLF
    linkageType: ''
    returnType: size_t
    signature: "size_t memcrlf(char *orig,\n                      bool countcrlf,
      /* TRUE if we count CRLF, FALSE\n                                         if
      we count non-CRLF */\n                      size_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_paramhlp.c:91,1
    - Dst: fread
      Src: /src/PROJ/curl/src/tool_paramhlp.c:96,1
    - Dst: ferror
      Src: /src/PROJ/curl/src/tool_paramhlp.c:97,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_paramhlp.c:98,1
    - Dst: memcrlf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:104,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_paramhlp.c:105,1
    - Dst: memcrlf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:111,1
    - Dst: feof
      Src: /src/PROJ/curl/src/tool_paramhlp.c:116,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - bufp
    - file
    argTypes:
    - char**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: file2string
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - feof
    - curlx_dyn_init
    - curlx_dyn_free
    - memcrlf
    - ferror
    - fread
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError file2string(char **bufp, FILE *file)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fseek
      Src: /src/PROJ/curl/src/tool_paramhlp.c:133,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_paramhlp.c:143,1
    - Dst: fread
      Src: /src/PROJ/curl/src/tool_paramhlp.c:148,1
    - Dst: ferror
      Src: /src/PROJ/curl/src/tool_paramhlp.c:149,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_paramhlp.c:150,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_paramhlp.c:176,1
    - Dst: feof
      Src: /src/PROJ/curl/src/tool_paramhlp.c:184,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_paramhlp.c:185,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 5
    argNames:
    - bufp
    - size
    - file
    - starto
    - endo
    argTypes:
    - char**
    - size_t*
    - FILE*
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 193
    functionName: file2memory_range
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_fseek
    - feof
    - curlx_dyn_init
    - curlx_dyn_free
    - ferror
    - curlx_dyn_len
    - fread
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError file2memory_range(char **bufp, size_t *size, FILE *file,\n
      \                                curl_off_t starto, curl_off_t endo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file2memory_range
      Src: /src/PROJ/curl/src/tool_paramhlp.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bufp
    - size
    - file
    argTypes:
    - char**
    - size_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: file2memory
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - file2memory_range
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError file2memory(char **bufp, size_t *size, FILE *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_paramhlp.c:210,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_paramhlp.c:218,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:222,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_paramhlp.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - val
    - str
    - base
    argTypes:
    - long*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: getnum
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - curlx_str_octal
    - DEBUGASSERT
    - curlx_str_number
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError getnum(long *val, const char *str, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getnum
      Src: /src/PROJ/curl/src/tool_paramhlp.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: str2num
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - getnum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2num(long *val, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getnum
      Src: /src/PROJ/curl/src/tool_paramhlp.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - val
    - str
    - max
    argTypes:
    - long*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: oct2nummax
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - getnum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError oct2nummax(long *val, const char *str, long max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getnum
      Src: /src/PROJ/curl/src/tool_paramhlp.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: str2unum
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - getnum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2unum(long *val, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_paramhlp.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - val
    - str
    - max
    argTypes:
    - long*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: str2unummax
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - str2unum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2unummax(long *val, const char *str, long max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_paramhlp.c:314,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_paramhlp.c:316,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_paramhlp.c:320,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_paramhlp.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - valp
    - str
    argTypes:
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: secs2ms
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curlx_str_single
    - curlx_str_number
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError secs2ms(long *valp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_paramhlp.c:345,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_paramhlp.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - protoset
    - proto
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 351
    functionName: protoset_index
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - proto_token
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t protoset_index(const char * const *protoset, const char *proto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protoset_index
      Src: /src/PROJ/curl/src/tool_paramhlp.c:357,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_paramhlp.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - protoset
    - proto
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: protoset_set
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - protoset_index
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void protoset_set(const char **protoset, const char *proto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protoset_index
      Src: /src/PROJ/curl/src/tool_paramhlp.c:371,1
    - Dst: protoset_index
      Src: /src/PROJ/curl/src/tool_paramhlp.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - protoset
    - proto
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: protoset_clear
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - protoset_index
    linkageType: ''
    returnType: void
    signature: void protoset_clear(const char **protoset, const char *proto)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_paramhlp.c:402,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_paramhlp.c:404,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_paramhlp.c:411,1
    - Dst: protoset_set
      Src: /src/PROJ/curl/src/tool_paramhlp.c:414,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:418,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_paramhlp.c:430,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:450,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_paramhlp.c:457,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:465,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_paramhlp.c:467,1
    - Dst: protoset_clear
      Src: /src/PROJ/curl/src/tool_paramhlp.c:472,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_paramhlp.c:476,1
    - Dst: protoset_set
      Src: /src/PROJ/curl/src/tool_paramhlp.c:478,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:486,1
    - Dst: qsort
      Src: /src/PROJ/curl/src/tool_paramhlp.c:496,1
    - Dst: protoset_index
      Src: /src/PROJ/curl/src/tool_paramhlp.c:496,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_paramhlp.c:499,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:501,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_paramhlp.c:502,1
    - Dst: curlx_dyn_setlen
      Src: /src/PROJ/curl/src/tool_paramhlp.c:503,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_paramhlp.c:503,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_paramhlp.c:504,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:505,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 3
    argNames:
    - val
    - ostr
    - str
    argTypes:
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 508
    functionName: proto2num
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curl_strnequal
    - protoset_index
    - warnf
    - qsort
    - curlx_dyn_addn
    - curlx_dyn_setlen
    - curlx_dyn_ptr
    - memcpy
    - curlx_dyn_addf
    - curlx_dyn_init
    - proto_token
    - strlen
    - curlx_dyn_len
    - free
    - protoset_set
    - strchr
    - curl_msnprintf
    - protoset_clear
    - malloc
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError proto2num(const char * const *val, char **ostr, const
      char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_paramhlp.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: check_protocol
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - proto_token
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError check_protocol(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_paramhlp.c:538,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_paramhlp.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - curl_off_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: str2offset
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - curlx_str_number
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2offset(curl_off_t *val, const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:557,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:560,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_paramhlp.c:568,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:574,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:578,1
    - Dst: getpass_r
      Src: /src/PROJ/curl/src/tool_paramhlp.c:583,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:587,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_paramhlp.c:591,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_paramhlp.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - kind
    - i
    - last
    - userpwd
    argTypes:
    - char*
    - size_t
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 596
    functionName: checkpasswd
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - strchr
    - curlx_dyn_init
    - curl_msnprintf
    - getpass_r
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode checkpasswd(const char *kind, /* for what purpose */\n                            const
      size_t i,   /* operation index */\n                            const bool last,
      \ /* TRUE if last operation */\n                            char **userpwd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/src/tool_paramhlp.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - ptr
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: add2list
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError add2list(struct curl_slist **list, const char *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:611,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:613,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:615,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: ftpfilemethod
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    - warnf
    linkageType: ''
    returnType: long
    signature: long ftpfilemethod(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:625,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:627,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 633
    functionName: ftpcccmethod
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    - warnf
    linkageType: ''
    returnType: long
    signature: long ftpcccmethod(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:637,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:639,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:641,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 647
    functionName: delegation
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    - warnf
    linkageType: ''
    returnType: long
    signature: long delegation(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_paramhlp.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: my_useragent
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: char
    signature: char *my_useragent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 658
    functionName: isheadersep
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isheadersep(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_paramhlp.c:666,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_paramhlp.c:667,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_paramhlp.c:668,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_paramhlp.c:671,1
    - Dst: isheadersep
      Src: /src/PROJ/curl/src/tool_paramhlp.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - head
    - checkfor
    argTypes:
    - struct curl_slist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 677
    functionName: inlist
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - isheadersep
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool inlist(const struct curl_slist *head,\n                   const
      char *checkfor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inlist
      Src: /src/PROJ/curl/src/tool_paramhlp.c:688,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_paramhlp.c:689,1
    - Dst: inlist
      Src: /src/PROJ/curl/src/tool_paramhlp.c:690,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_paramhlp.c:691,1
    - Dst: checkpasswd
      Src: /src/PROJ/curl/src/tool_paramhlp.c:698,1
    - Dst: checkpasswd
      Src: /src/PROJ/curl/src/tool_paramhlp.c:702,1
    - Dst: my_useragent
      Src: /src/PROJ/curl/src/tool_paramhlp.c:706,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_paramhlp.c:708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - config
    - i
    argTypes:
    - struct OperationConfig*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 714
    functionName: get_args
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - my_useragent
    - inlist
    - errorf
    - checkpasswd
    - add2list
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode get_args(struct OperationConfig *config, const size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_paramhlp.c:740,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_paramhlp.c:741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 747
    functionName: str2tls_max
    functionSourceFile: /src/PROJ/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - strcmp
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2tls_max(unsigned char *val, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/PROJ/curl/src/tool_cb_rea.c:55,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/src/tool_cb_rea.c:70,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/src/tool_cb_rea.c:75,1
    - Dst: select
      Src: /src/PROJ/curl/src/tool_cb_rea.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - waitms
    - fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 83
    functionName: waitfd
    functionSourceFile: /src/PROJ/curl/src/tool_cb_rea.c
    functionUses: 0
    functionsReached:
    - FD_SET
    - select
    - FD_ZERO
    - poll
    linkageType: ''
    returnType: bool
    signature: bool waitfd(int waitms, int fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_cb_rea.c:103,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_cb_rea.c:104,1
    - Dst: waitfd
      Src: /src/PROJ/curl/src/tool_cb_rea.c:114,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_rea.c:124,1
    - Dst: CURL_RECV
      Src: /src/PROJ/curl/src/tool_cb_rea.c:126,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/src/tool_cb_rea.c:126,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/src/tool_cb_rea.c:129,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_rea.c:137,1
    - Dst: read
      Src: /src/PROJ/curl/src/tool_cb_rea.c:142,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/src/tool_cb_rea.c:145,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_rea.c:157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - buffer
    - sz
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 166
    functionName: tool_read_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_rea.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - CURL_RECV
    - strcmp
    - curlx_now
    - curlx_timediff
    - curlx_uztosi
    - waitfd
    - warnf
    - read
    linkageType: ''
    returnType: size_t
    signature: size_t tool_read_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: waitfd
      Src: /src/PROJ/curl/src/tool_cb_rea.c:188,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/src/tool_cb_rea.c:191,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/src/tool_cb_rea.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 202
    functionName: tool_readbusy_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_rea.c
    functionUses: 0
    functionsReached:
    - waitfd
    - curl_easy_pause
    - curlx_wait_ms
    linkageType: ''
    returnType: int
    signature: "int tool_readbusy_cb(void *clientp,\n                     curl_off_t
      dltotal, curl_off_t dlnow,\n                     curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:49,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_getparam.c:52,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - str
    - val
    - allowblank
    argTypes:
    - char**
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: getstr
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError getstr(char **str, const char *val, bool allowblank)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:67,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_getparam.c:70,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_getparam.c:74,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_getparam.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - str
    - val
    - len
    - allowblank
    argTypes:
    - char**
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: getstrn
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError getstrn(char **str, const char *val,\n                              size_t
      len, bool allowblank)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:392,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_getparam.c:407,1
    - Dst: strpbrk
      Src: /src/PROJ/curl/src/tool_getparam.c:408,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:409,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_getparam.c:413,1
    - Dst: strcspn
      Src: /src/PROJ/curl/src/tool_getparam.c:420,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_getparam.c:421,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/src/tool_getparam.c:459,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:473,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - cert_parameter
    - certname
    - passphrase
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 480
    functionName: parse_cert_parameter
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 1
    functionsReached:
    - strcspn
    - memcpy
    - strpbrk
    - curl_strnequal
    - strlen
    - ISALPHA
    - malloc
    - strdup
    linkageType: ''
    returnType: void
    signature: "void parse_cert_parameter(const char *cert_parameter,\n                          char
      **certname,\n                          char **passphrase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: replace_url_encoded_space_by_plus
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t replace_url_encoded_space_by_plus(char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_cert_parameter
      Src: /src/PROJ/curl/src/tool_getparam.c:515,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:516,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nextarg
    - file
    - password
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: GetFileAndPassword
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - parse_cert_parameter
    linkageType: ''
    returnType: void
    signature: void GetFileAndPassword(const char *nextarg, char **file, char **password)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_getparam.c:534,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:535,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:541,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:568,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - arg
    - which
    - value_out
    argTypes:
    - char*
    - char*
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 573
    functionName: GetSizeParameter
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - warnf
    - strlen
    - curlx_str_number
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError GetSizeParameter(const char *arg,\n                                       const
      char *which,\n                                       curl_off_t *value_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:582,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_getparam.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: cleanarg
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    linkageType: ''
    returnType: void
    signature: void cleanarg(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: cleanarg
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanarg(x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:605,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:612,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:626,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_getparam.c:628,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_getparam.c:631,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:633,1
    - Dst: file2memory
      Src: /src/PROJ/curl/src/tool_getparam.c:638,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_getparam.c:641,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:646,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:649,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:655,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/src/tool_getparam.c:661,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_getparam.c:662,1
    - Dst: replace_url_encoded_space_by_plus
      Src: /src/PROJ/curl/src/tool_getparam.c:665,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_getparam.c:668,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_getparam.c:669,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_getparam.c:670,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/tool_getparam.c:671,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_getparam.c:672,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_getparam.c:675,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_getparam.c:676,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_getparam.c:677,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:681,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 3
    argNames:
    - nextarg
    - postp
    - lenp
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 693
    functionName: data_urlencode
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - curl_free
    - errorf
    - curl_easy_escape
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_fopen
    - strlen
    - file2memory
    - curlx_fclose
    - CURLX_SET_BINMODE
    - curlx_dyn_add
    - curlx_dyn_len
    - tool_safefree
    - getstr
    - replace_url_encoded_space_by_plus
    - strcmp
    - strchr
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError data_urlencode(const char *nextarg,\n                                     char
      **postp,\n                                     size_t *lenp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - config
    - httpversion
    argTypes:
    - struct OperationConfig*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 703
    functionName: sethttpver
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - warnf
    linkageType: ''
    returnType: void
    signature: "void sethttpver(struct OperationConfig *config,\n                       long
      httpversion)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:713,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:718,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_getparam.c:737,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/src/tool_getparam.c:741,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/src/tool_getparam.c:743,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_getparam.c:747,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_getparam.c:750,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_getparam.c:755,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/src/tool_getparam.c:757,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 770
    functionName: set_trace_config
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strchr
    - curl_msnprintf
    - curl_strnequal
    - strlen
    - curl_global_trace
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_trace_config(const char *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: findarg
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int findarg(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_getparam.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - letter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 797
    functionName: findshortopt
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: struct LongShort
    signature: struct LongShort *findshortopt(char letter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: find_tos
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int find_tos(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_getparam.c:853,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:857,1
    - Dst: data_urlencode
      Src: /src/PROJ/curl/src/tool_getparam.c:862,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_getparam.c:866,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:867,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:871,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_getparam.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - nextarg
    - config
    argTypes:
    - char*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 879
    functionName: url_query
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_init
    - data_urlencode
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError url_query(const char *nextarg,\n                                struct
      OperationConfig *config)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: data_urlencode
      Src: /src/PROJ/curl/src/tool_getparam.c:891,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:900,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_getparam.c:903,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_getparam.c:906,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:908,1
    - Dst: file2memory
      Src: /src/PROJ/curl/src/tool_getparam.c:916,1
    - Dst: file2string
      Src: /src/PROJ/curl/src/tool_getparam.c:918,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:920,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_getparam.c:924,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:931,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:937,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:940,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_getparam.c:945,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_getparam.c:948,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_getparam.c:952,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_getparam.c:955,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_getparam.c:957,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 3
    argNames:
    - cmd
    - nextarg
    - config
    argTypes:
    - cmdline_t
    - char*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 959
    functionName: set_data
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 1
    functionsReached:
    - getstr
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - strcmp
    - data_urlencode
    - curlx_fopen
    - CURLX_SET_BINMODE
    - file2string
    - errorf
    - strlen
    - curlx_dyn_len
    - file2memory
    - tool_safefree
    - curlx_fclose
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError set_data(cmdline_t cmd,\n                               const
      char *nextarg,\n                               struct OperationConfig *config)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:972,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:976,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_getparam.c:980,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:982,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_getparam.c:993,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1009,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1016,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - nextarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1032
    functionName: set_rate
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strchr
    - curlx_str_number
    - strlen
    - errorf
    - str2unum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError set_rate(const char *nextarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/PROJ/curl/src/tool_getparam.c:1039,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_getparam.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1041
    functionName: findlongopt
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - bsearch
    linkageType: ''
    returnType: struct LongShort
    signature: struct LongShort *findlongopt(const char *opt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/PROJ/curl/src/tool_getparam.c:1067,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1073,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1079,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - config
    - thisurl
    - remote_noglob
    argTypes:
    - struct OperationConfig*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1084
    functionName: add_url
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    - errorf
    - getstr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError add_url(struct OperationConfig *config,\n                              const
      char *thisurl,\n                              bool remote_noglob)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:1095,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_getparam.c:1101,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_getparam.c:1103,1
    - Dst: my_get_line
      Src: /src/PROJ/curl/src/tool_getparam.c:1104,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_getparam.c:1105,1
    - Dst: add_url
      Src: /src/PROJ/curl/src/tool_getparam.c:1106,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_getparam.c:1111,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_getparam.c:1112,1
    - Dst: add_url
      Src: /src/PROJ/curl/src/tool_getparam.c:1119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1120
    functionName: parse_url
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - my_get_line
    - curlx_dyn_ptr
    - strcmp
    - curlx_dyn_init
    - curlx_fopen
    - curlx_dyn_free
    - add_url
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_url(struct OperationConfig *config,\n                                const
      char *nextarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/src/tool_getparam.c:1130,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_getparam.c:1136,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_getparam.c:1141,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_getparam.c:1144,1
    - Dst: str2unummax
      Src: /src/PROJ/curl/src/tool_getparam.c:1145,1
    - Dst: str2unummax
      Src: /src/PROJ/curl/src/tool_getparam.c:1150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1123
    functionDepth: 4
    functionLinenumber: 1123
    functionLinenumberEnd: 1157
    functionName: parse_localport
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curl_msnprintf
    - ISBLANK
    - str2unummax
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_localport(struct OperationConfig *config,\n                                      const
      char *nextarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1164,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1168,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1172,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:1176,1
    - Dst: str2offset
      Src: /src/PROJ/curl/src/tool_getparam.c:1177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1186
    functionName: parse_continue_at
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - str2offset
    - errorf
    - strcmp
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_continue_at(struct OperationConfig *config,\n
      \                                       const char *nextarg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:1194,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_getparam.c:1194,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1196,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:1198,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_getparam.c:1198,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1201,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:1209,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_getparam.c:1213,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1216,1
    - Dst: file2string
      Src: /src/PROJ/curl/src/tool_getparam.c:1221,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_getparam.c:1223,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_getparam.c:1226,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:1227,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1237
    functionName: parse_ech
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - getstr
    - free
    - strcmp
    - curl_maprintf
    - curlx_fopen
    - curl_strnequal
    - warnf
    - strlen
    - file2string
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_ech(struct OperationConfig *config,\n                                const
      char *nextarg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:1248,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_getparam.c:1249,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1251,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_getparam.c:1257,1
    - Dst: my_get_line
      Src: /src/PROJ/curl/src/tool_getparam.c:1258,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_getparam.c:1259,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:1260,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_getparam.c:1268,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_getparam.c:1270,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:1274,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:1274,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1275,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:1279,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:1281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - config
    - cmd
    - nextarg
    argTypes:
    - struct OperationConfig*
    - cmdline_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1284
    functionName: parse_header
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - my_get_line
    - curlx_dyn_ptr
    - strcmp
    - curlx_dyn_init
    - strchr
    - curlx_fopen
    - curlx_dyn_free
    - warnf
    - errorf
    - curlx_fclose
    - add2list
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_header(struct OperationConfig *config,\n                                   cmdline_t
      cmd,\n                                   const char *nextarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/PROJ/curl/src/tool_getparam.c:1309,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1324
    functionName: parse_output
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    - getstr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_output(struct OperationConfig *config,\n                                   const
      char *nextarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/PROJ/curl/src/tool_getparam.c:1352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - config
    - toggle
    argTypes:
    - struct OperationConfig*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1363
    functionName: parse_remote_name
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_remote_name(struct OperationConfig *config,\n
      \                                       bool toggle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:1375,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:1380,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:1383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1387
    functionName: parse_quote
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - add2list
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_quote(struct OperationConfig *config,\n                                  const
      char *nextarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1397,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_getparam.c:1400,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_getparam.c:1401,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1407,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_getparam.c:1409,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:1411,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:1412,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/src/tool_getparam.c:1419,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1420,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1431
    functionName: parse_range
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - getstr
    - free
    - curlx_str_single
    - curl_msnprintf
    - curlx_str_number
    - warnf
    - errorf
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_range(struct OperationConfig *config,\n                                  const
      char *nextarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/PROJ/curl/src/tool_getparam.c:1456,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1469
    functionName: parse_upload_file
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    - getstr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_upload_file(struct OperationConfig *config,\n
      \                                       const char *nextarg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_config
      Src: /src/PROJ/curl/src/tool_getparam.c:1481,1
    - Dst: set_trace_config
      Src: /src/PROJ/curl/src/tool_getparam.c:1489,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:1496,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_getparam.c:1497,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1502,1
    - Dst: set_trace_config
      Src: /src/PROJ/curl/src/tool_getparam.c:1508,1
    - Dst: set_trace_config
      Src: /src/PROJ/curl/src/tool_getparam.c:1514,1
    - Dst: set_trace_config
      Src: /src/PROJ/curl/src/tool_getparam.c:1519,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - toggle
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1527
    functionName: parse_verbose
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - set_trace_config
    - free
    - warnf
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError parse_verbose(bool toggle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:1541,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_getparam.c:1547,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1549,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_getparam.c:1553,1
    - Dst: file2string
      Src: /src/PROJ/curl/src/tool_getparam.c:1554,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_getparam.c:1556,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1560,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1529
    functionDepth: 3
    functionLinenumber: 1529
    functionLinenumberEnd: 1566
    functionName: parse_writeout
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - getstr
    - strcmp
    - curlx_fopen
    - file2string
    - errorf
    - warnf
    - tool_safefree
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_writeout(struct OperationConfig *config,\n                                     const
      char *nextarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_getparam.c:1576,1
    - Dst: curl_getdate
      Src: /src/PROJ/curl/src/tool_getparam.c:1592,1
    - Dst: getfiletime
      Src: /src/PROJ/curl/src/tool_getparam.c:1596,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1609
    functionName: parse_time_cond
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - getfiletime
    - curl_getdate
    - warnf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_time_cond(struct OperationConfig *config,\n                                      const
      char *nextarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:1635,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:1639,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_getparam.c:1648,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - config
    - flag
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1669
    functionName: parse_upload_flags
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - strlen
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_upload_flags(struct OperationConfig *config,\n
      \                                        const char *flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - toggle
    - modify
    - bits
    argTypes:
    - bool
    - unsigned long*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1680
    functionName: togglebit
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void togglebit(bool toggle, unsigned long *modify, unsigned long bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct LongShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1686
    functionName: opt_depr
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - warnf
    linkageType: ''
    returnType: void
    signature: void opt_depr(const struct LongShort *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - config
    - ver
    argTypes:
    - struct OperationConfig*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1698
    functionName: opt_sslver
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - errorf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_sslver(struct OperationConfig *config,\n                                 unsigned
      char ver)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_getparam.c:1712,1
    - Dst: sethttpver
      Src: /src/PROJ/curl/src/tool_getparam.c:1717,1
    - Dst: sethttpver
      Src: /src/PROJ/curl/src/tool_getparam.c:1721,1
    - Dst: sethttpver
      Src: /src/PROJ/curl/src/tool_getparam.c:1727,1
    - Dst: sethttpver
      Src: /src/PROJ/curl/src/tool_getparam.c:1733,1
    - Dst: sethttpver
      Src: /src/PROJ/curl/src/tool_getparam.c:1740,1
    - Dst: sethttpver
      Src: /src/PROJ/curl/src/tool_getparam.c:1747,1
    - Dst: opt_sslver
      Src: /src/PROJ/curl/src/tool_getparam.c:1750,1
    - Dst: opt_sslver
      Src: /src/PROJ/curl/src/tool_getparam.c:1753,1
    - Dst: opt_sslver
      Src: /src/PROJ/curl/src/tool_getparam.c:1756,1
    - Dst: opt_sslver
      Src: /src/PROJ/curl/src/tool_getparam.c:1759,1
    - Dst: opt_sslver
      Src: /src/PROJ/curl/src/tool_getparam.c:1762,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - config
    - a
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1701
    functionDepth: 2
    functionLinenumber: 1701
    functionLinenumberEnd: 1778
    functionName: opt_none
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - sethttpver
    - tool_safefree
    - opt_sslver
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_none(struct OperationConfig *config,\n                               const
      struct LongShort *a)"
  - BBCount: 131
    BranchProfiles: []
    Callsites:
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:1808,1
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:1831,1
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:1836,1
    - Dst: parse_output
      Src: /src/PROJ/curl/src/tool_getparam.c:1839,1
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:1841,1
    - Dst: dbug_init
      Src: /src/PROJ/curl/src/tool_getparam.c:1845,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:1861,1
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:1891,1
    - Dst: opt_depr
      Src: /src/PROJ/curl/src/tool_getparam.c:2008,1
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:2026,1
    - Dst: togglebit
      Src: /src/PROJ/curl/src/tool_getparam.c:2029,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:2042,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2049,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2054,1
    - Dst: SetHTTPrequest
      Src: /src/PROJ/curl/src/tool_getparam.c:2073,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:2107,1
    - Dst: parse_remote_name
      Src: /src/PROJ/curl/src/tool_getparam.c:2113,1
    - Dst: parse_verbose
      Src: /src/PROJ/curl/src/tool_getparam.c:2134,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_getparam.c:2150,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2153,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2158,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 369
    argCount: 3
    argNames:
    - config
    - a
    - toggle
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 2165
    functionName: opt_bool
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - parse_output
    - SetHTTPrequest
    - FALLTHROUGH
    - parse_remote_name
    - opt_depr
    - dbug_init
    - warnf
    - errorf
    - togglebit
    - parse_verbose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_bool(struct OperationConfig *config,\n                               const
      struct LongShort *a,\n                               bool toggle)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2176,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2181,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2184,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2187,1
    - Dst: GetFileAndPassword
      Src: /src/PROJ/curl/src/tool_getparam.c:2190,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:2194,1
    - Dst: parseconfig
      Src: /src/PROJ/curl/src/tool_getparam.c:2199,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2203,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2206,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:2210,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2214,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:2218,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2222,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2225,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2228,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2231,1
    - Dst: parse_output
      Src: /src/PROJ/curl/src/tool_getparam.c:2234,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2237,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2240,1
    - Dst: GetFileAndPassword
      Src: /src/PROJ/curl/src/tool_getparam.c:2243,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2247,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2250,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2254,1
    - Dst: tool_set_stderr_file
      Src: /src/PROJ/curl/src/tool_getparam.c:2259,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2262,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2265,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2270,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2273,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2279,1
    - Dst: parse_upload_file
      Src: /src/PROJ/curl/src/tool_getparam.c:2282,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 106
    argCount: 4
    argNames:
    - config
    - a
    - nextarg
    - max_recursive
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2168
    functionDepth: 3
    functionLinenumber: 2168
    functionLinenumberEnd: 2286
    functionName: opt_file
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - getstr
    - GetFileAndPassword
    - parse_output
    - warnf
    - errorf
    - parseconfig
    - parse_upload_file
    - tool_set_stderr_file
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_file(struct OperationConfig *config,\n                               const
      struct LongShort *a,\n                               const char *nextarg,\n
      \                              int max_recursive)"
  - BBCount: 160
    BranchProfiles: []
    Callsites:
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2311,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2317,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2321,1
    - Dst: secs2ms
      Src: /src/PROJ/curl/src/tool_getparam.c:2324,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2327,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_getparam.c:2330,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2334,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2342,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2349,1
    - Dst: GetSizeParameter
      Src: /src/PROJ/curl/src/tool_getparam.c:2352,1
    - Dst: set_rate
      Src: /src/PROJ/curl/src/tool_getparam.c:2359,1
    - Dst: oct2nummax
      Src: /src/PROJ/curl/src/tool_getparam.c:2362,1
    - Dst: str2num
      Src: /src/PROJ/curl/src/tool_getparam.c:2367,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2373,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2378,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2382,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2385,1
    - Dst: GetSizeParameter
      Src: /src/PROJ/curl/src/tool_getparam.c:2388,1
    - Dst: parse_url
      Src: /src/PROJ/curl/src/tool_getparam.c:2393,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2398,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2402,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2406,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2410,1
    - Dst: bsearch
      Src: /src/PROJ/curl/src/tool_getparam.c:2417,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_getparam.c:2418,1
    - Dst: str2unummax
      Src: /src/PROJ/curl/src/tool_getparam.c:2423,1
    - Dst: str2unummax
      Src: /src/PROJ/curl/src/tool_getparam.c:2427,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2430,1
    - Dst: secs2ms
      Src: /src/PROJ/curl/src/tool_getparam.c:2433,1
    - Dst: secs2ms
      Src: /src/PROJ/curl/src/tool_getparam.c:2436,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2439,1
    - Dst: ftpfilemethod
      Src: /src/PROJ/curl/src/tool_getparam.c:2442,1
    - Dst: parse_localport
      Src: /src/PROJ/curl/src/tool_getparam.c:2445,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2448,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2452,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2455,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2459,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2462,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2466,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2470,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2474,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2477,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:2481,1
    - Dst: proto2num
      Src: /src/PROJ/curl/src/tool_getparam.c:2485,1
    - Dst: proto2num
      Src: /src/PROJ/curl/src/tool_getparam.c:2489,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:2493,1
    - Dst: delegation
      Src: /src/PROJ/curl/src/tool_getparam.c:2496,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2499,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2502,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2505,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2508,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2511,1
    - Dst: check_protocol
      Src: /src/PROJ/curl/src/tool_getparam.c:2513,1
    - Dst: secs2ms
      Src: /src/PROJ/curl/src/tool_getparam.c:2516,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:2519,1
    - Dst: str2tls_max
      Src: /src/PROJ/curl/src/tool_getparam.c:2522,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:2524,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2529,1
    - Dst: set_trace_config
      Src: /src/PROJ/curl/src/tool_getparam.c:2534,1
    - Dst: setvariable
      Src: /src/PROJ/curl/src/tool_getparam.c:2538,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2541,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2544,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2547,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2553,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2559,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_getparam.c:2562,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:2564,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:2569,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2573,1
    - Dst: parse_continue_at
      Src: /src/PROJ/curl/src/tool_getparam.c:2576,1
    - Dst: set_data
      Src: /src/PROJ/curl/src/tool_getparam.c:2584,1
    - Dst: url_query
      Src: /src/PROJ/curl/src/tool_getparam.c:2587,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:2590,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:2592,1
    - Dst: getstrn
      Src: /src/PROJ/curl/src/tool_getparam.c:2602,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_getparam.c:2604,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2608,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2611,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2614,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2617,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:2619,1
    - Dst: parse_ech
      Src: /src/PROJ/curl/src/tool_getparam.c:2624,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2627,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2630,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:2632,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2640,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2646,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2652,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2658,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:2659,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2664,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2667,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2673,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2679,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2685,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:2687,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2692,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2695,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2698,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2701,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2704,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2707,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2710,1
    - Dst: formparse
      Src: /src/PROJ/curl/src/tool_getparam.c:2716,1
    - Dst: SetHTTPrequest
      Src: /src/PROJ/curl/src/tool_getparam.c:2719,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2723,1
    - Dst: parse_header
      Src: /src/PROJ/curl/src/tool_getparam.c:2727,1
    - Dst: secs2ms
      Src: /src/PROJ/curl/src/tool_getparam.c:2731,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2734,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2742,1
    - Dst: ftpcccmethod
      Src: /src/PROJ/curl/src/tool_getparam.c:2746,1
    - Dst: parse_quote
      Src: /src/PROJ/curl/src/tool_getparam.c:2749,1
    - Dst: parse_range
      Src: /src/PROJ/curl/src/tool_getparam.c:2752,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_getparam.c:2756,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2760,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2764,1
    - Dst: parse_writeout
      Src: /src/PROJ/curl/src/tool_getparam.c:2767,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2770,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2774,1
    - Dst: getstr
      Src: /src/PROJ/curl/src/tool_getparam.c:2780,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2784,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2790,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2795,1
    - Dst: str2unum
      Src: /src/PROJ/curl/src/tool_getparam.c:2806,1
    - Dst: parse_time_cond
      Src: /src/PROJ/curl/src/tool_getparam.c:2817,1
    - Dst: parse_upload_flags
      Src: /src/PROJ/curl/src/tool_getparam.c:2820,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 450
    argCount: 3
    argNames:
    - config
    - a
    - nextarg
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2289
    functionDepth: 5
    functionLinenumber: 2289
    functionLinenumberEnd: 2824
    functionName: opt_string
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - proto2num
    - SetHTTPrequest
    - ftpfilemethod
    - parse_upload_flags
    - set_rate
    - set_data
    - parse_writeout
    - warnf
    - errorf
    - oct2nummax
    - secs2ms
    - set_trace_config
    - formparse
    - add2list
    - parse_time_cond
    - parse_url
    - getstrn
    - parse_range
    - check_protocol
    - delegation
    - url_query
    - strlen
    - parse_ech
    - str2tls_max
    - bsearch
    - GetSizeParameter
    - CURL_ARRAYSIZE
    - ftpcccmethod
    - str2num
    - parse_quote
    - tool_safefree
    - parse_localport
    - str2unummax
    - getstr
    - parse_continue_at
    - setvariable
    - parse_header
    - strcmp
    - strchr
    - str2unum
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_string(struct OperationConfig *config,\n                                 const
      struct LongShort *a,\n                                 const char *nextarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2830
    functionName: has_leading_unicode
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_leading_unicode(const unsigned char *arg)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_getparam.c:2863,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_getparam.c:2869,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/src/tool_getparam.c:2877,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_getparam.c:2878,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_getparam.c:2881,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/src/tool_getparam.c:2881,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:2881,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/src/tool_getparam.c:2882,1
    - Dst: findlongopt
      Src: /src/PROJ/curl/src/tool_getparam.c:2883,1
    - Dst: findlongopt
      Src: /src/PROJ/curl/src/tool_getparam.c:2888,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_getparam.c:2897,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_getparam.c:2906,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_getparam.c:2907,1
    - Dst: varexpand
      Src: /src/PROJ/curl/src/tool_getparam.c:2912,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_getparam.c:2914,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_getparam.c:2918,1
    - Dst: findshortopt
      Src: /src/PROJ/curl/src/tool_getparam.c:2931,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_getparam.c:2942,1
    - Dst: tool_help
      Src: /src/PROJ/curl/src/tool_getparam.c:2950,1
    - Dst: opt_depr
      Src: /src/PROJ/curl/src/tool_getparam.c:2962,1
    - Dst: has_leading_unicode
      Src: /src/PROJ/curl/src/tool_getparam.c:2966,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_getparam.c:2967,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_getparam.c:2970,1
    - Dst: opt_file
      Src: /src/PROJ/curl/src/tool_getparam.c:2971,1
    - Dst: opt_string
      Src: /src/PROJ/curl/src/tool_getparam.c:2973,1
    - Dst: cleanarg
      Src: /src/PROJ/curl/src/tool_getparam.c:2975,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/tool_getparam.c:2975,1
    - Dst: opt_depr
      Src: /src/PROJ/curl/src/tool_getparam.c:2979,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_getparam.c:2983,1
    - Dst: opt_bool
      Src: /src/PROJ/curl/src/tool_getparam.c:2984,1
    - Dst: opt_none
      Src: /src/PROJ/curl/src/tool_getparam.c:2986,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_getparam.c:2995,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/tool_getparam.c:2995,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 112
    argCount: 5
    argNames:
    - flag
    - nextarg
    - usedarg
    - config
    - max_recursive
    argTypes:
    - char*
    - char*
    - bool*
    - struct OperationConfig*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2835
    functionDepth: 6
    functionLinenumber: 2835
    functionLinenumberEnd: 2997
    functionName: getparameter
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strncmp
    - opt_depr
    - CURL_UNCONST
    - warnf
    - curlx_dyn_ptr
    - memcpy
    - cleanarg
    - curlx_str
    - opt_string
    - varexpand
    - curlx_str_until
    - opt_file
    - ARGTYPE
    - has_leading_unicode
    - opt_bool
    - tool_help
    - curlx_strlen
    - findshortopt
    - free
    - curlx_str_single
    - findlongopt
    - curlx_dyn_free
    - opt_none
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError getparameter(const char *flag, /* f or -long-flag */\n
      \                           const char *nextarg,    /* NULL if unset */\n                            bool
      *usedarg,    /* set to TRUE if the arg\n                                                 has
      been used */\n                            struct OperationConfig *config,\n
      \                           int max_recursive)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: convert_tchar_to_UTF8
      Src: /src/PROJ/curl/src/tool_getparam.c:3008,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:3015,1
    - Dst: convert_tchar_to_UTF8
      Src: /src/PROJ/curl/src/tool_getparam.c:3022,1
    - Dst: unicodefree
      Src: /src/PROJ/curl/src/tool_getparam.c:3024,1
    - Dst: getparameter
      Src: /src/PROJ/curl/src/tool_getparam.c:3029,1
    - Dst: unicodefree
      Src: /src/PROJ/curl/src/tool_getparam.c:3032,1
    - Dst: config_alloc
      Src: /src/PROJ/curl/src/tool_getparam.c:3041,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_getparam.c:3054,1
    - Dst: getparameter
      Src: /src/PROJ/curl/src/tool_getparam.c:3066,1
    - Dst: unicodefree
      Src: /src/PROJ/curl/src/tool_getparam.c:3070,1
    - Dst: param2text
      Src: /src/PROJ/curl/src/tool_getparam.c:3085,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_getparam.c:3087,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_getparam.c:3088,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_getparam.c:3090,1
    - Dst: unicodefree
      Src: /src/PROJ/curl/src/tool_getparam.c:3093,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - argv_item_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 2999
    functionDepth: 7
    functionLinenumber: 2999
    functionLinenumberEnd: 3095
    functionName: parse_args
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - convert_tchar_to_UTF8
    - param2text
    - strcmp
    - unicodefree
    - config_alloc
    - errorf
    - getparameter
    - helpf
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError parse_args(int argc, argv_item_t argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: main(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CURL_STRICMP
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: CURL_STRICMP
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: CURL_STRICMP
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: CURL_STRICMP
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: CURL_STRICMP
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: isatty
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: _get_osfhandle
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _get_osfhandle(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: _getch
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _getch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - where
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ftruncate
    functionSourceFile: /src/PROJ/curl/src/tool_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftruncate(fd,where)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_strdup.c:36,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_strdup.c:38,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_strdup.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: strdup
    functionSourceFile: /src/PROJ/curl/src/tool_strdup.c
    functionUses: 22
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *strdup(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_strdup.c:49,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_strdup.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: memdup0
    functionSourceFile: /src/PROJ/curl/src/tool_strdup.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *memdup0(const char *data, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:38,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:46,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:53,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_progress.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - bytes
    - max5
    argTypes:
    - curl_off_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: max5data
    functionSourceFile: /src/PROJ/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *max5data(curl_off_t bytes, char *max5)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/src/tool_progress.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: xferinfo_cb
    functionSourceFile: /src/PROJ/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *clientp,\n                curl_off_t dltotal,\n
      \               curl_off_t dlnow,\n                curl_off_t ultotal,\n                curl_off_t
      ulnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/PROJ/curl/src/tool_progress.c:94,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:101,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:111,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - r
    - seconds
    argTypes:
    - char*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 116
    functionName: time2str
    functionSourceFile: /src/PROJ/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: void time2str(char *r, curl_off_t seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - val
    - add
    argTypes:
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: add_offt
    functionSourceFile: /src/PROJ/curl/src/tool_progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_offt(curl_off_t *val, curl_off_t add)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_progress.c:158,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_progress.c:159,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_progress.c:163,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_progress.c:172,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:187,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:188,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:191,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:192,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:197,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:204,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:209,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_progress.c:215,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_progress.c:239,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_progress.c:245,1
    - Dst: time2str
      Src: /src/PROJ/curl/src/tool_progress.c:260,1
    - Dst: time2str
      Src: /src/PROJ/curl/src/tool_progress.c:261,1
    - Dst: time2str
      Src: /src/PROJ/curl/src/tool_progress.c:264,1
    - Dst: time2str
      Src: /src/PROJ/curl/src/tool_progress.c:265,1
    - Dst: time2str
      Src: /src/PROJ/curl/src/tool_progress.c:267,1
    - Dst: curl_multi_get_offt
      Src: /src/PROJ/curl/src/tool_progress.c:269,1
    - Dst: curl_multi_get_offt
      Src: /src/PROJ/curl/src/tool_progress.c:270,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_progress.c:271,1
    - Dst: max5data
      Src: /src/PROJ/curl/src/tool_progress.c:287,1
    - Dst: max5data
      Src: /src/PROJ/curl/src/tool_progress.c:288,1
    - Dst: max5data
      Src: /src/PROJ/curl/src/tool_progress.c:294,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - multi
    - start
    - final
    argTypes:
    - CURLM*
    - struct curltime*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 299
    functionName: progress_meter
    functionSourceFile: /src/PROJ/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - time2str
    - fputs
    - curl_mfprintf
    - curlx_now
    - curl_msnprintf
    - curlx_timediff
    - curl_multi_get_offt
    - max5data
    - add_offt
    linkageType: ''
    returnType: bool
    signature: "bool progress_meter(CURLM *multi,\n                    struct curltime
      *start,\n                    bool final)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:304,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:305,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:307,1
    - Dst: add_offt
      Src: /src/PROJ/curl/src/tool_progress.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: progress_finalize
    functionSourceFile: /src/PROJ/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - add_offt
    linkageType: ''
    returnType: void
    signature: void progress_finalize(struct per_transfer *per)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - glob
    - err
    - pos
    - error
    argTypes:
    - struct URLGlob*
    - char*
    - size_t
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: globerror
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode globerror(struct URLGlob *glob, const char *err,\n                          size_t
      pos, CURLcode error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_urlglob.c:49,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:52,1
    - Dst: memdup0
      Src: /src/PROJ/curl/src/tool_urlglob.c:54,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - glob
    - fixed
    - len
    argTypes:
    - struct URLGlob*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: glob_fixed
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - malloc
    - globerror
    - memdup0
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode glob_fixed(struct URLGlob *glob, char *fixed, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_urlglob.c:68,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_urlglob.c:69,1
    - Dst: __builtin_mul_overflow
      Src: /src/PROJ/curl/src/tool_urlglob.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - amount
    - with
    argTypes:
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: multiply
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int multiply(curl_off_t *amount, curl_off_t with)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:113,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:117,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:121,1
    - Dst: multiply
      Src: /src/PROJ/curl/src/tool_urlglob.c:125,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:126,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_urlglob.c:128,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:134,1
    - Dst: realloc
      Src: /src/PROJ/curl/src/tool_urlglob.c:136,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:139,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_urlglob.c:144,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:147,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_urlglob.c:149,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_urlglob.c:149,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_urlglob.c:150,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:152,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_urlglob.c:154,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:162,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_urlglob.c:170,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - glob
    - patternp
    - posp
    - amount
    - globindex
    argTypes:
    - struct URLGlob*
    - char**
    - size_t*
    - curl_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 181
    functionName: glob_set
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - multiply
    - FALLTHROUGH
    - realloc
    - curlx_dyn_reset
    - malloc
    - globerror
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_set(struct URLGlob *glob, const char **patternp,\n                         size_t
      *posp, curl_off_t *amount,\n                         int globindex)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ISALPHA
      Src: /src/PROJ/curl/src/tool_urlglob.c:200,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_urlglob.c:219,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_urlglob.c:219,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:240,1
    - Dst: multiply
      Src: /src/PROJ/curl/src/tool_urlglob.c:247,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:249,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/src/tool_urlglob.c:251,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/src/tool_urlglob.c:264,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_urlglob.c:271,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_urlglob.c:273,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/src/tool_urlglob.c:274,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_urlglob.c:275,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_urlglob.c:277,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_urlglob.c:279,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_urlglob.c:280,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/tool_urlglob.c:281,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:295,1
    - Dst: multiply
      Src: /src/PROJ/curl/src/tool_urlglob.c:303,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:305,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:308,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    argCount: 5
    argNames:
    - glob
    - patternp
    - posp
    - amount
    - globindex
    argTypes:
    - struct URLGlob*
    - char**
    - size_t*
    - curl_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 313
    functionName: glob_range
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_str_single
    - multiply
    - curlx_str_passblanks
    - curlx_str_number
    - ISALPHA
    - globerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_range(struct URLGlob *glob, const char **patternp,\n
      \                          size_t *posp, curl_off_t *amount,\n                           int
      globindex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_urlglob.c:326,1
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_urlglob.c:336,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_urlglob.c:340,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_urlglob.c:344,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_urlglob.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - skip
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 350
    functionName: peek_ipv6
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curl_url
    - strchr
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: bool
    signature: bool peek_ipv6(const char *str, size_t *skip)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: peek_ipv6
      Src: /src/PROJ/curl/src/tool_urlglob.c:368,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:371,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:379,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:392,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_urlglob.c:396,1
    - Dst: glob_fixed
      Src: /src/PROJ/curl/src/tool_urlglob.c:398,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_urlglob.c:398,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_urlglob.c:399,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_urlglob.c:400,1
    - Dst: glob_set
      Src: /src/PROJ/curl/src/tool_urlglob.c:411,1
    - Dst: glob_range
      Src: /src/PROJ/curl/src/tool_urlglob.c:418,1
    - Dst: realloc
      Src: /src/PROJ/curl/src/tool_urlglob.c:427,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:429,1
    - Dst: globerror
      Src: /src/PROJ/curl/src/tool_urlglob.c:432,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 4
    argNames:
    - glob
    - pattern
    - pos
    - amount
    argTypes:
    - struct URLGlob*
    - char*
    - size_t
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 437
    functionName: glob_parse
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - peek_ipv6
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - glob_fixed
    - glob_range
    - realloc
    - curlx_dyn_reset
    - curlx_dyn_len
    - glob_set
    - globerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_parse(struct URLGlob *glob, const char *pattern,\n                           size_t
      pos, curl_off_t *amount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob
    argTypes:
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: glob_inuse
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool glob_inuse(struct URLGlob *glob)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_urlglob.c:454,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_urlglob.c:455,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_urlglob.c:456,1
    - Dst: glob_parse
      Src: /src/PROJ/curl/src/tool_urlglob.c:461,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_urlglob.c:469,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_urlglob.c:478,1
    - Dst: glob_cleanup
      Src: /src/PROJ/curl/src/tool_urlglob.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - glob
    - url
    - urlnum
    - error
    argTypes:
    - struct URLGlob*
    - char*
    - curl_off_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 487
    functionName: glob_url
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - glob_parse
    - curl_mfprintf
    - glob_cleanup
    - curlx_dyn_init
    - curl_msnprintf
    - memset
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_url(struct URLGlob *glob, char *url, curl_off_t *urlnum,\n
      \                 FILE *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_urlglob.c:499,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_urlglob.c:500,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_urlglob.c:503,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_urlglob.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - glob
    argTypes:
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 507
    functionName: glob_cleanup
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 1
    functionsReached:
    - tool_safefree
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void glob_cleanup(struct URLGlob *glob)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_urlglob.c:515,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_urlglob.c:549,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/tool_urlglob.c:563,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:569,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_urlglob.c:574,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_urlglob.c:579,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_urlglob.c:584,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_urlglob.c:584,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - globbed
    - glob
    argTypes:
    - char**
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 589
    functionName: glob_next_url
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_add
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode glob_next_url(char **globbed, struct URLGlob *glob)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_urlglob.c:599,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/src/tool_urlglob.c:603,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_urlglob.c:608,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/tool_urlglob.c:624,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:628,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_urlglob.c:632,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_urlglob.c:636,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_urlglob.c:637,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:643,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:646,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_urlglob.c:651,1
    - Dst: sanitize_file_name
      Src: /src/PROJ/curl/src/tool_urlglob.c:657,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_urlglob.c:657,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_urlglob.c:660,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_urlglob.c:667,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - output
    - filename
    - glob
    argTypes:
    - char**
    - char*
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 670
    functionName: glob_match_url
    functionSourceFile: /src/PROJ/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_init
    - curlx_str_number
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_add
    - sanitize_file_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_match_url(char **output, const char *filename,\n                        struct
      URLGlob *glob)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operhlp.c:41,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operhlp.c:42,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operhlp.c:43,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operhlp.c:44,1
    - Dst: single_transfer_cleanup
      Src: /src/PROJ/curl/src/tool_operhlp.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: clean_getout
    functionSourceFile: /src/PROJ/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - single_transfer_cleanup
    - tool_safefree
    linkageType: ''
    returnType: void
    signature: void clean_getout(struct OperationConfig *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_operhlp.c:56,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_operhlp.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - url
    - uploadfile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: output_expected
    functionSourceFile: /src/PROJ/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - checkprefix
    linkageType: ''
    returnType: bool
    signature: bool output_expected(const char *url, const char *uploadfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operhlp.c:64,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operhlp.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - uploadfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: stdin_upload
    functionSourceFile: /src/PROJ/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool stdin_upload(const char *uploadfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ucode
    argTypes:
    - CURLUcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: urlerr_cvt
    functionSourceFile: /src/PROJ/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode urlerr_cvt(CURLUcode ucode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_operhlp.c:89,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_operhlp.c:94,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operhlp.c:97,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_operhlp.c:100,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operhlp.c:102,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_operhlp.c:105,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operhlp.c:107,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operhlp.c:108,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_operhlp.c:109,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_operhlp.c:112,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_operhlp.c:119,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_operhlp.c:120,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/src/tool_operhlp.c:131,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_operhlp.c:137,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_operhlp.c:140,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operhlp.c:142,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_operhlp.c:146,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operhlp.c:147,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operhlp.c:149,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_operhlp.c:152,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operhlp.c:154,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operhlp.c:157,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_operhlp.c:167,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operhlp.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - curl
    - inurlp
    - filename
    argTypes:
    - CURL*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 170
    functionName: add_file_name_to_url
    functionSourceFile: /src/PROJ/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - curl_free
    - free
    - curl_url
    - curl_maprintf
    - urlerr_cvt
    - curl_easy_escape
    - strrchr
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode add_file_name_to_url(CURL *curl, char **inurlp, const char
      *filename)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_operhlp.c:178,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_operhlp.c:187,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_operhlp.c:189,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_operhlp.c:190,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_operhlp.c:196,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_operhlp.c:197,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operhlp.c:209,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operhlp.c:213,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operhlp.c:214,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operhlp.c:217,1
    - Dst: sanitize_file_name
      Src: /src/PROJ/curl/src/tool_operhlp.c:224,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operhlp.c:225,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_operhlp.c:238,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operhlp.c:239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - filename
    - url
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 240
    functionName: get_url_file_name
    functionSourceFile: /src/PROJ/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - curl_free
    - tool_safefree
    - curl_url
    - urlerr_cvt
    - strrchr
    - warnf
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - strdup
    - sanitize_file_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode get_url_file_name(char **filename, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: ARGTYPE
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: convert_UTF8_to_tchar
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: convert_tchar_to_UTF8
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: unicodefree
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unicodefree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: convert_UTF8_to_tchar
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: convert_tchar_to_UTF8
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: unicodefree
    functionSourceFile: /src/PROJ/curl/src/tool_getparam.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unicodefree(ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_terminal_columns
      Src: /src/PROJ/curl/src/tool_msgs.c:45,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_msgs.c:45,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_msgs.c:49,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_msgs.c:49,1
    - Dst: curl_mvaprintf
      Src: /src/PROJ/curl/src/tool_msgs.c:51,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_msgs.c:54,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_msgs.c:58,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_msgs.c:63,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_msgs.c:71,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_msgs.c:72,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_msgs.c:77,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_msgs.c:78,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_msgs.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - prefix
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: voutf
    functionSourceFile: /src/PROJ/curl/src/tool_msgs.c
    functionUses: 0
    functionsReached:
    - curl_free
    - get_terminal_columns
    - fputs
    - fwrite
    - ISBLANK
    - strchr
    - DEBUGASSERT
    - strlen
    - curl_mvaprintf
    linkageType: ''
    returnType: void
    signature: "void voutf(const char *prefix,\n                  const char *fmt,\n
      \                 va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/src/tool_msgs.c:93,1
    - Dst: voutf
      Src: /src/PROJ/curl/src/tool_msgs.c:94,1
    - Dst: va_end
      Src: /src/PROJ/curl/src/tool_msgs.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: notef
    functionSourceFile: /src/PROJ/curl/src/tool_msgs.c
    functionUses: 0
    functionsReached:
    - voutf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void notef(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/src/tool_msgs.c:107,1
    - Dst: voutf
      Src: /src/PROJ/curl/src/tool_msgs.c:108,1
    - Dst: va_end
      Src: /src/PROJ/curl/src/tool_msgs.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: warnf
    functionSourceFile: /src/PROJ/curl/src/tool_msgs.c
    functionUses: 24
    functionsReached:
    - voutf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void warnf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/src/tool_msgs.c:121,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_msgs.c:122,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_msgs.c:122,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_msgs.c:123,1
    - Dst: curl_mvfprintf
      Src: /src/PROJ/curl/src/tool_msgs.c:124,1
    - Dst: va_end
      Src: /src/PROJ/curl/src/tool_msgs.c:125,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_msgs.c:126,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_msgs.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: helpf
    functionSourceFile: /src/PROJ/curl/src/tool_msgs.c
    functionUses: 1
    functionsReached:
    - va_end
    - fputs
    - curl_mfprintf
    - strchr
    - va_start
    - curl_mvfprintf
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void helpf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/src/tool_msgs.c:143,1
    - Dst: voutf
      Src: /src/PROJ/curl/src/tool_msgs.c:144,1
    - Dst: va_end
      Src: /src/PROJ/curl/src/tool_msgs.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: errorf
    functionSourceFile: /src/PROJ/curl/src/tool_msgs.c
    functionUses: 16
    functionsReached:
    - voutf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void errorf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/src/config2setopts.c:48,1
    - Dst: getsockname
      Src: /src/PROJ/curl/src/config2setopts.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: get_address_family
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - memset
    - getsockname
    linkageType: ''
    returnType: int
    signature: int get_address_family(curl_socket_t sockfd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_address_family
      Src: /src/PROJ/curl/src/config2setopts.c:72,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/src/config2setopts.c:75,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/src/config2setopts.c:80,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:88,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/config2setopts.c:89,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/src/config2setopts.c:96,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:100,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/config2setopts.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 106
    functionName: sockopt_callback
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - get_address_family
    - warnf
    - curlx_strerror
    linkageType: ''
    returnType: int
    signature: "int sockopt_callback(void *clientp, curl_socket_t curlfd,\n                            curlsocktype
      purpose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/PROJ/curl/src/config2setopts.c:115,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/config2setopts.c:117,1
    - Dst: strcspn
      Src: /src/PROJ/curl/src/config2setopts.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: ssl_backend
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - strcspn
    - curl_version_info
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *ssl_backend(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/config2setopts.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/config2setopts.c:137,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/config2setopts.c:140,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/config2setopts.c:142,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/config2setopts.c:147,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/config2setopts.c:148,1
    - Dst: ipfs_url_rewrite
      Src: /src/PROJ/curl/src/config2setopts.c:149,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/config2setopts.c:151,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/config2setopts.c:153,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/config2setopts.c:160,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/config2setopts.c:162,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/config2setopts.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - url
    - config
    - scheme
    argTypes:
    - char**
    - struct OperationConfig*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 171
    functionName: url_proto_and_rewrite
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_url
    - ipfs_url_rewrite
    - proto_token
    - DEBUGASSERT
    - curl_url_get
    - curl_url_cleanup
    - curl_strequal
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode url_proto_and_rewrite(char **url,\n                                      struct
      OperationConfig *config,\n                                      const char **scheme)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:179,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:181,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:185,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:190,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:195,1
    - Dst: findfile
      Src: /src/PROJ/curl/src/config2setopts.c:201,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:204,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/config2setopts.c:207,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/config2setopts.c:214,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 221
    functionName: ssh_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    - curl_free
    - warnf
    - errorf
    - my_setopt_long
    - findfile
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - mintls
    - maxtls
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 275
    functionName: tlsversion
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long tlsversion(unsigned char mintls,\n                       unsigned
      char maxtls)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:283,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:285,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:288,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:295,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:301,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:303,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/config2setopts.c:313,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/config2setopts.c:314,1
    - Dst: notef
      Src: /src/PROJ/curl/src/config2setopts.c:316,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:317,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:319,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:320,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/config2setopts.c:325,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/config2setopts.c:326,1
    - Dst: notef
      Src: /src/PROJ/curl/src/config2setopts.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:329,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:331,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:332,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:338,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:340,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:342,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:345,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:348,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:349,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:352,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:355,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:356,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:360,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:363,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:367,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:369,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:370,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:371,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:372,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:374,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:375,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:376,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:377,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:382,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:383,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:387,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:388,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:392,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:393,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:397,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:400,1
    - Dst: my_setopt_SSLVERSION
      Src: /src/PROJ/curl/src/config2setopts.c:402,1
    - Dst: tlsversion
      Src: /src/PROJ/curl/src/config2setopts.c:403,1
    - Dst: my_setopt_SSLVERSION
      Src: /src/PROJ/curl/src/config2setopts.c:406,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:419,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:430,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:434,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:437,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:438,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:441,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:444,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:445,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:448,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:451,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:452,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:455,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:458,1
    - Dst: ssl_backend
      Src: /src/PROJ/curl/src/config2setopts.c:459,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:465,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:470,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:472,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:474,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:479,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:486,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:490,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:494,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:497,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 139
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 500
    functionName: ssl_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    - curl_easy_setopt
    - my_setopt_enum
    - ssl_backend
    - notef
    - tlsversion
    - my_setopt_bitmask
    - CURL_UNCONST
    - warnf
    - strlen
    - my_setopt_long
    - my_setopt_SSLVERSION
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssl_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:508,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:509,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:511,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:512,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:516,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:517,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:521,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:524,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:534,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:538,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:542,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:544,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:547,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:550,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 558
    functionName: http_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_long
    - my_setopt_enum
    - my_setopt_slist
    - my_setopt_str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_setopts(struct OperationConfig *config,\n                             CURL
      *curl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/config2setopts.c:569,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/config2setopts.c:572,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/config2setopts.c:574,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/config2setopts.c:577,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:583,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/config2setopts.c:583,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/config2setopts.c:584,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:591,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:596,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 602
    functionName: cookie_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_init
    - curlx_dyn_free
    - warnf
    - curlx_dyn_add
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cookie_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:608,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:611,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:614,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:618,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:620,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:621,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:624,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 629
    functionName: tcp_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_long
    - my_setopt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tcp_setopts(struct OperationConfig *config,\n                            CURL
      *curl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:633,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:638,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:643,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:647,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:649,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:652,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:655,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:658,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 666
    functionName: ftp_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    - my_setopt_enum
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ftp_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:671,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:672,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: gen_trace_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt
    - my_setopt_long
    linkageType: ''
    returnType: void
    signature: void gen_trace_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:684,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:685,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:688,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:691,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:692,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:696,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:697,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:703,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:704,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/config2setopts.c:706,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:709,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:710,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:711,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:714,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - config
    - per
    - curl
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 716
    functionName: gen_cb_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt
    - my_setopt_long
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void gen_cb_setopts(struct OperationConfig *config,\n                           struct
      per_transfer *per,\n                           CURL *curl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:721,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/config2setopts.c:724,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:732,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:734,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:737,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:741,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:745,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:747,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:749,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:751,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:753,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:756,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:758,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:763,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:768,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:772,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 775
    functionName: proxy_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    - my_setopt_enum
    - my_setopt_bitmask
    - errorf
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode proxy_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:780,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:782,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:784,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:786,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:789,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 794
    functionName: tls_srp_setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    linkageType: ''
    returnType: void
    signature: void tls_srp_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: url_proto_and_rewrite
      Src: /src/PROJ/curl/src/config2setopts.c:802,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:806,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:816,1
    - Dst: gen_trace_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:821,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/config2setopts.c:825,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/config2setopts.c:829,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:830,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:836,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:838,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:841,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:842,1
    - Dst: gen_cb_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:845,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:847,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:848,1
    - Dst: proxy_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:850,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:854,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:855,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:856,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:857,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:858,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:861,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:863,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:865,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:867,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:868,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:869,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:870,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:871,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:872,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:873,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/config2setopts.c:878,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:882,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/config2setopts.c:883,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:884,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/config2setopts.c:885,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/src/config2setopts.c:890,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/config2setopts.c:893,1
    - Dst: tool2curlmime
      Src: /src/PROJ/curl/src/config2setopts.c:897,1
    - Dst: my_setopt_mimepost
      Src: /src/PROJ/curl/src/config2setopts.c:899,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:909,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:912,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:914,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:917,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:918,1
    - Dst: http_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:922,1
    - Dst: cookie_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:924,1
    - Dst: ftp_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:930,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:935,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:936,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:937,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:938,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:941,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:943,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:945,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:946,1
    - Dst: ssh_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:949,1
    - Dst: ssl_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:955,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:961,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:965,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:968,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:969,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:970,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:971,1
    - Dst: my_setopt_enum
      Src: /src/PROJ/curl/src/config2setopts.c:973,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:974,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:975,1
    - Dst: customrequest_helper
      Src: /src/PROJ/curl/src/config2setopts.c:976,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:977,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:978,1
    - Dst: progressbarinit
      Src: /src/PROJ/curl/src/config2setopts.c:979,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:980,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:981,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:982,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:983,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:984,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:985,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:986,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:987,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/config2setopts.c:990,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:992,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:994,1
    - Dst: my_setopt_bitmask
      Src: /src/PROJ/curl/src/config2setopts.c:996,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:997,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:998,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1001,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1002,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1006,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1007,1
    - Dst: tcp_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:1010,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1015,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1017,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:1018,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1019,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1022,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1025,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1027,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:1029,1
    - Dst: my_setopt_slist
      Src: /src/PROJ/curl/src/config2setopts.c:1030,1
    - Dst: tls_srp_setopts
      Src: /src/PROJ/curl/src/config2setopts.c:1033,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1036,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1038,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1039,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1040,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1044,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1048,1
    - Dst: my_setopt_str
      Src: /src/PROJ/curl/src/config2setopts.c:1053,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1054,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1058,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1061,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:1066,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/config2setopts.c:1067,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/config2setopts.c:1070,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/config2setopts.c:1074,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/config2setopts.c:1079,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 198
    argCount: 4
    argNames:
    - config
    - per
    - curl
    - share
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURL*
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 796
    functionDepth: 4
    functionLinenumber: 796
    functionLinenumberEnd: 1081
    functionName: config2setopts
    functionSourceFile: /src/PROJ/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - getenv
    - my_setopt_enum
    - curl_mime_free
    - errorf
    - my_setopt_long
    - gen_cb_setopts
    - curlx_dyn_ptr
    - proxy_setopts
    - customrequest_helper
    - tls_srp_setopts
    - my_setopt_str
    - ssl_setopts
    - ssh_setopts
    - gen_trace_setopts
    - my_setopt_mimepost
    - my_setopt_offt
    - curlx_dyn_len
    - tcp_setopts
    - tool2curlmime
    - progressbarinit
    - http_setopts
    - cookie_setopts
    - curlx_str_number
    - my_setopt_bitmask
    - ftp_setopts
    - my_setopt
    - url_proto_and_rewrite
    - my_setopt_slist
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode config2setopts(struct OperationConfig *config,\n                        struct
      per_transfer *per,\n                        CURL *curl,\n                        CURLSH
      *share)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slist_wc_free_all
      Src: /src/PROJ/curl/src/tool_easysrc.c:80,1
    - Dst: slist_wc_free_all
      Src: /src/PROJ/curl/src/tool_easysrc.c:82,1
    - Dst: slist_wc_free_all
      Src: /src/PROJ/curl/src/tool_easysrc.c:84,1
    - Dst: slist_wc_free_all
      Src: /src/PROJ/curl/src/tool_easysrc.c:86,1
    - Dst: slist_wc_free_all
      Src: /src/PROJ/curl/src/tool_easysrc.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: easysrc_free
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - slist_wc_free_all
    linkageType: ''
    returnType: void
    signature: void easysrc_free(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: slist_wc_append
      Src: /src/PROJ/curl/src/tool_easysrc.c:96,1
    - Dst: easysrc_free
      Src: /src/PROJ/curl/src/tool_easysrc.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - plist
    - line
    argTypes:
    - struct slist_wc**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: easysrc_add
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_free
    - slist_wc_append
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_add(struct slist_wc **plist, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/src/tool_easysrc.c:111,1
    - Dst: curl_mvaprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:112,1
    - Dst: va_end
      Src: /src/PROJ/curl/src/tool_easysrc.c:113,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:118,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_easysrc.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - plist
    - fmt
    argTypes:
    - struct slist_wc**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: easysrc_addf
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 11
    functionsReached:
    - curl_free
    - va_end
    - easysrc_add
    - va_start
    - curl_mvaprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_addf(struct slist_wc **plist, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: easysrc_init
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_init(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:136,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:139,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:143,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:146,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:148,1
    - Dst: slist_wc_free_all
      Src: /src/PROJ/curl/src/tool_easysrc.c:150,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:155,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:157,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: easysrc_perform
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_add
    - slist_wc_free_all
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_perform(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:166,1
    - Dst: easysrc_add
      Src: /src/PROJ/curl/src/tool_easysrc.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: easysrc_cleanup
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_cleanup(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_easysrc.c:180,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_easysrc.c:181,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_easysrc.c:187,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:193,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:198,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:203,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:206,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:209,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:213,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:216,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:223,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_easysrc.c:227,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_easysrc.c:230,1
    - Dst: easysrc_free
      Src: /src/PROJ/curl/src/tool_easysrc.c:233,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 234
    functionName: dumpeasysrc
    functionSourceFile: /src/PROJ/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_free
    - curl_mfprintf
    - strcmp
    - curlx_fopen
    - warnf
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void dumpeasysrc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:69,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:70,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hdrcbdata
    - stream
    argTypes:
    - struct HdrCbData*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tool_write_headers
    functionSourceFile: /src/PROJ/curl/src/tool_cb_hdr.c
    functionUses: 0
    functionsReached:
    - curl_slist_free_all
    - strlen
    - fwrite
    linkageType: ''
    returnType: int
    signature: int tool_write_headers(struct HdrCbData *hdrcbdata, FILE *stream)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:104,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:112,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:120,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:124,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:125,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:130,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:131,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:134,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:145,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:149,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:151,1
    - Dst: ftruncate
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:160,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:160,1
    - Dst: fseek
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:164,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:169,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:171,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:172,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:185,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:194,1
    - Dst: memcmp
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:199,1
    - Dst: parse_filename
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:211,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:215,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:220,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:222,1
    - Dst: tool_create_output_file
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:234,1
    - Dst: tool_write_headers
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:236,1
    - Dst: tool_create_output_file
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:241,1
    - Dst: tool_write_headers
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:243,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:251,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:254,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:255,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:257,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:262,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:271,1
    - Dst: tool_create_output_file
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:287,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:295,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:298,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:300,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:302,1
    - Dst: write_linked_location
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:303,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:307,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:312,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 130
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 315
    functionName: tool_header_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_hdr.c
    functionUses: 0
    functionsReached:
    - fileno
    - curl_strnequal
    - warnf
    - errorf
    - memcmp
    - fseek
    - curl_slist_append
    - fwrite
    - curl_easy_getinfo
    - curl_mfprintf
    - write_linked_location
    - memset
    - proto_token
    - ISSPACE
    - tool_write_headers
    - checkprefix
    - curl_slist_free_all
    - fflush
    - ISALPHA
    - memchr
    - free
    - ISBLANK
    - curl_maprintf
    - ftruncate
    - tool_create_output_file
    - parse_filename
    - fputc
    linkageType: ''
    returnType: size_t
    signature: size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memdup0
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:327,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:341,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:346,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:350,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:358,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:362,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:368,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:372,1
    - Dst: memmove
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:377,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:377,1
    - Dst: sanitize_file_name
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:382,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 391
    functionName: parse_filename
    functionSourceFile: /src/PROJ/curl/src/tool_cb_hdr.c
    functionUses: 1
    functionsReached:
    - strchr
    - memmove
    - strrchr
    - strlen
    - memdup0
    - tool_safefree
    - sanitize_file_name
    linkageType: ''
    returnType: char
    signature: char *parse_filename(const char *ptr, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:412,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:416,1
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:435,1
    - Dst: memdup0
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:440,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:445,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:447,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:451,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:454,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:457,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:460,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:461,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:462,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:463,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:464,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:475,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:479,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:480,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:481,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_cb_hdr.c:482,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 4
    argNames:
    - curl
    - location
    - loclen
    - stream
    argTypes:
    - CURL*
    - char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 484
    functionName: write_linked_location
    functionSourceFile: /src/PROJ/curl/src/tool_cb_hdr.c
    functionUses: 1
    functionsReached:
    - curl_free
    - getenv
    - free
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_url
    - strcmp
    - fwrite
    - curlx_str_number
    - memdup0
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: void
    signature: "void write_linked_location(CURL *curl, const char *location,\n                                  size_t
      loclen, FILE *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/src/tool_ssls.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_ssls.c:46,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/tool_ssls.c:48,1
    - Dst: my_setopt
      Src: /src/PROJ/curl/src/tool_ssls.c:49,1
    - Dst: my_setopt_long
      Src: /src/PROJ/curl/src/tool_ssls.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - config
    - share
    - peasy
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: tool_ssls_easy
    functionSourceFile: /src/PROJ/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - my_setopt
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_easy(struct OperationConfig *config,\n                               CURLSH
      *share, CURL **peasy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_ssls.c:68,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_ssls.c:69,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_ssls.c:71,1
    - Dst: tool_ssls_easy
      Src: /src/PROJ/curl/src/tool_ssls.c:75,1
    - Dst: my_get_line
      Src: /src/PROJ/curl/src/tool_ssls.c:80,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ssls.c:82,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ssls.c:83,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_ssls.c:84,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/tool_ssls.c:86,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_ssls.c:86,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_ssls.c:88,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/src/tool_ssls.c:92,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_ssls.c:94,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_ssls.c:98,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_ssls.c:99,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/src/tool_ssls.c:103,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_ssls.c:105,1
    - Dst: curl_easy_ssls_import
      Src: /src/PROJ/curl/src/tool_ssls.c:109,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_ssls.c:111,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_ssls.c:123,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_ssls.c:125,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_ssls.c:126,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ssls.c:127,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ssls.c:128,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - config
    - share
    - filename
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 130
    functionName: tool_ssls_load
    functionSourceFile: /src/PROJ/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - curl_free
    - my_get_line
    - curlx_dyn_ptr
    - ISBLANK
    - curlx_base64_decode
    - curl_easy_ssls_import
    - curlx_dyn_init
    - notef
    - curlx_fopen
    - curlx_dyn_free
    - curl_easy_cleanup
    - warnf
    - strlen
    - memchr
    - tool_ssls_easy
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_load(struct OperationConfig *config,\n                        CURLSH
      *share, const char *filename)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_ssls.c:155,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/src/tool_ssls.c:159,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_ssls.c:163,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_ssls.c:165,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ssls.c:167,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/src/tool_ssls.c:168,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_ssls.c:172,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_ssls.c:174,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_ssls.c:180,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ssls.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 11
    argNames:
    - easy
    - userptr
    - session_key
    - shmac
    - shmac_len
    - sdata
    - sdata_len
    - valid_until
    - ietf_tls_id
    - alpn
    - earlydata_max
    argTypes:
    - CURL*
    - void*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - curl_off_t
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 183
    functionName: tool_ssls_exp
    functionSourceFile: /src/PROJ/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - curl_free
    - fputs
    - fwrite
    - curlx_base64_encode
    - warnf
    - fputc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_exp(CURL *easy, void *userptr,\n                              const
      char *session_key,\n                              const unsigned char *shmac,
      size_t shmac_len,\n                              const unsigned char *sdata,
      size_t sdata_len,\n                              curl_off_t valid_until, int
      ietf_tls_id,\n                              const char *alpn, size_t earlydata_max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_ssls.c:193,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_ssls.c:195,1
    - Dst: tool_ssls_easy
      Src: /src/PROJ/curl/src/tool_ssls.c:200,1
    - Dst: curl_easy_ssls_export
      Src: /src/PROJ/curl/src/tool_ssls.c:204,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_ssls.c:208,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_ssls.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - config
    - share
    - filename
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 212
    functionName: tool_ssls_save
    functionSourceFile: /src/PROJ/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - curl_easy_ssls_export
    - curlx_fopen
    - curl_easy_cleanup
    - warnf
    - tool_ssls_easy
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_save(struct OperationConfig *config,\n                        CURLSH
      *share, const char *filename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/src/slist_wc.c:41,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/slist_wc.c:47,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/slist_wc.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct slist_wc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: slist_wc_append
    functionSourceFile: /src/PROJ/curl/src/slist_wc.c
    functionUses: 1
    functionsReached:
    - malloc
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: struct slist_wc
    signature: "struct slist_wc *slist_wc_append(struct slist_wc *list,\n                                 const
      char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/slist_wc.c:70,1
    - Dst: free
      Src: /src/PROJ/curl/src/slist_wc.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct slist_wc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: slist_wc_free_all
    functionSourceFile: /src/PROJ/curl/src/slist_wc.c
    functionUses: 2
    functionsReached:
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void slist_wc_free_all(struct slist_wc *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_vms.c:54,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_vms.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: is_vms_shell
    functionSourceFile: /src/PROJ/curl/src/tool_vms.c
    functionUses: 0
    functionsReached:
    - getenv
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_vms_shell(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_vms_shell
      Src: /src/PROJ/curl/src/tool_vms.c:95,1
    - Dst: decc$__posix_exit
      Src: /src/PROJ/curl/src/tool_vms.c:96,1
    - Dst: decc$exit
      Src: /src/PROJ/curl/src/tool_vms.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - code
    - vms_show
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: vms_special_exit
    functionSourceFile: /src/PROJ/curl/src/tool_vms.c
    functionUses: 0
    functionsReached:
    - is_vms_shell
    - decc$__posix_exit
    - decc$exit
    linkageType: ''
    returnType: void
    signature: void vms_special_exit(int code, int vms_show)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decc$feature_get_index
      Src: /src/PROJ/curl/src/tool_vms.c:161,1
    - Dst: decc$feature_get_value
      Src: /src/PROJ/curl/src/tool_vms.c:165,1
    - Dst: decc$feature_get_value
      Src: /src/PROJ/curl/src/tool_vms.c:166,1
    - Dst: decc$feature_get_value
      Src: /src/PROJ/curl/src/tool_vms.c:167,1
    - Dst: decc$feature_set_value
      Src: /src/PROJ/curl/src/tool_vms.c:173,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_vms.c:179,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_vms.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: decc_init
    functionSourceFile: /src/PROJ/curl/src/tool_vms.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - decc$feature_get_value
    - decc$feature_get_index
    - decc$feature_set_value
    linkageType: ''
    returnType: void
    signature: void decc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/src/var.c:48,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/var.c:48,1
    - Dst: free
      Src: /src/PROJ/curl/src/var.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: varcleanup
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void varcleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/var.c:57,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/var.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - nlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: varcontent
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: struct tool_var
    signature: struct tool_var *varcontent(const char *name, size_t nlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ENDOFFUNC
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENDOFFUNC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - name
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: FUNCMATCH
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNCMATCH(ptr,name,len)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: FUNCMATCH
      Src: /src/PROJ/curl/src/var.c:100,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/src/var.c:105,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/src/var.c:109,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/var.c:113,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:114,1
    - Dst: FUNCMATCH
      Src: /src/PROJ/curl/src/var.c:119,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/var.c:121,1
    - Dst: jsonquoted
      Src: /src/PROJ/curl/src/var.c:123,1
    - Dst: FUNCMATCH
      Src: /src/PROJ/curl/src/var.c:129,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/var.c:131,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/src/var.c:133,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/var.c:140,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/var.c:142,1
    - Dst: FUNCMATCH
      Src: /src/PROJ/curl/src/var.c:147,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/var.c:149,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/src/var.c:153,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:160,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/var.c:162,1
    - Dst: FUNCMATCH
      Src: /src/PROJ/curl/src/var.c:167,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/var.c:169,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/src/var.c:173,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/var.c:176,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:180,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/var.c:182,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/var.c:190,1
    - Dst: free
      Src: /src/PROJ/curl/src/var.c:195,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/var.c:197,1
    - Dst: memdup0
      Src: /src/PROJ/curl/src/var.c:198,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/var.c:198,1
    - Dst: free
      Src: /src/PROJ/curl/src/var.c:206,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/var.c:208,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 5
    argNames:
    - c
    - clen
    - f
    - flen
    - out
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 210
    functionName: varfunc
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curlx_dyn_addn
    - free
    - curlx_dyn_ptr
    - curlx_base64_decode
    - memdup0
    - curlx_dyn_free
    - jsonquoted
    - curlx_base64_encode
    - curlx_dyn_reset
    - ISSPACE
    - errorf
    - curlx_dyn_add
    - curlx_dyn_len
    - curl_easy_escape
    - FUNCMATCH
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError varfunc(char *c, /* content */\n                              size_t
      clen, /* content length */\n                              char *f, /* functions
      */\n                              size_t flen, /* function string length */\n
      \                             struct dynbuf *out)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/var.c:220,1
    - Dst: strstr
      Src: /src/PROJ/curl/src/var.c:222,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:227,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:232,1
    - Dst: strstr
      Src: /src/PROJ/curl/src/var.c:242,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/var.c:247,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/var.c:255,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/var.c:261,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:263,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:269,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/var.c:274,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/src/var.c:279,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/var.c:281,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:283,1
    - Dst: varcontent
      Src: /src/PROJ/curl/src/var.c:292,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/var.c:294,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/var.c:300,1
    - Dst: varfunc
      Src: /src/PROJ/curl/src/var.c:304,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/var.c:307,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/var.c:308,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/var.c:314,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/var.c:316,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/var.c:321,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/var.c:322,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/var.c:335,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/var.c:341,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 3
    argNames:
    - line
    - out
    - replaced
    argTypes:
    - char*
    - struct dynbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 343
    functionName: varexpand
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - memcpy
    - strstr
    - ISALNUM
    - curlx_dyn_init
    - varcontent
    - curlx_dyn_free
    - varfunc
    - CURL_UNCONST
    - warnf
    - errorf
    - memchr
    - curlx_dyn_len
    - curlx_dyn_add
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError varexpand(const char *line, struct dynbuf *out,\n                         bool
      *replaced)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: varcontent
      Src: /src/PROJ/curl/src/var.c:357,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/var.c:358,1
    - Dst: notef
      Src: /src/PROJ/curl/src/var.c:360,1
    - Dst: calloc
      Src: /src/PROJ/curl/src/var.c:362,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/var.c:364,1
    - Dst: memdup0
      Src: /src/PROJ/curl/src/var.c:367,1
    - Dst: free
      Src: /src/PROJ/curl/src/var.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - name
    - nlen
    - content
    - clen
    - contalloc
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 378
    functionName: addvariable
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - notef
    - varcontent
    - calloc
    - DEBUGASSERT
    - memdup0
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError addvariable(const char *name,\n                                  size_t
      nlen,\n                                  const char *content,\n                                  size_t
      clen,\n                                  bool contalloc)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/PROJ/curl/src/var.c:402,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/var.c:406,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/var.c:414,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/var.c:418,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/var.c:421,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/var.c:427,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/src/var.c:430,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/var.c:433,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/var.c:434,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/var.c:436,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/var.c:437,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/src/var.c:438,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/var.c:452,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/var.c:456,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/var.c:459,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/var.c:460,1
    - Dst: file2memory_range
      Src: /src/PROJ/curl/src/var.c:465,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/var.c:471,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/var.c:477,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/var.c:479,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/var.c:493,1
    - Dst: addvariable
      Src: /src/PROJ/curl/src/var.c:496,1
    - Dst: free
      Src: /src/PROJ/curl/src/var.c:499,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 502
    functionName: setvariable
    functionSourceFile: /src/PROJ/curl/src/var.c
    functionUses: 1
    functionsReached:
    - ISDIGIT
    - getenv
    - free
    - memcpy
    - curlx_str_single
    - strcmp
    - ISALNUM
    - curlx_strerror
    - curlx_str_number
    - curlx_fopen
    - file2memory_range
    - warnf
    - errorf
    - strlen
    - CURL_UNCONST
    - addvariable
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError setvariable(const char *input)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:83,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:86,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:96,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - category
    - cols
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: print_category
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void print_category(unsigned int category, unsigned int cols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_help.c:111,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_help.c:112,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:113,1
    - Dst: print_category
      Src: /src/PROJ/curl/src/tool_help.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - category
    - cols
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: get_category_content
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - print_category
    - CURL_ARRAYSIZE
    - curl_mprintf
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int get_category_content(const char *category, unsigned int cols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_help.c:124,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: get_categories
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void get_categories(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_help.c:133,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:134,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_help.c:135,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:138,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:141,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:144,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - width
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: get_categories_list
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_mprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void get_categories_list(unsigned int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:163,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:165,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_help.c:167,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_help.c:168,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_help.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - trigger
    - arg
    - endarg
    argTypes:
    - struct scan_ctx*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: inithelpscan
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - memset
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: void
    signature: "void inithelpscan(struct scan_ctx *ctx,\n                  const char
      *trigger,\n                  const char *arg,\n                  const char
      *endarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/PROJ/curl/src/tool_help.c:181,1
    - Dst: memcmp
      Src: /src/PROJ/curl/src/tool_help.c:183,1
    - Dst: memmove
      Src: /src/PROJ/curl/src/tool_help.c:189,1
    - Dst: memcmp
      Src: /src/PROJ/curl/src/tool_help.c:191,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_help.c:193,1
    - Dst: memmove
      Src: /src/PROJ/curl/src/tool_help.c:199,1
    - Dst: memcmp
      Src: /src/PROJ/curl/src/tool_help.c:201,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_help.c:205,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:210,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_help.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - len
    - ctx
    argTypes:
    - unsigned char*
    - size_t
    - struct scan_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: helpscan
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - fputs
    - memmove
    - DEBUGASSERT
    - memcmp
    - puts
    linkageType: ''
    returnType: bool
    signature: bool helpscan(const unsigned char *buf, size_t len, struct scan_ctx
      *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_terminal_columns
      Src: /src/PROJ/curl/src/tool_help.c:226,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:238,1
    - Dst: print_category
      Src: /src/PROJ/curl/src/tool_help.c:239,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:240,1
    - Dst: get_categories_list
      Src: /src/PROJ/curl/src/tool_help.c:241,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:242,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_help.c:245,1
    - Dst: print_category
      Src: /src/PROJ/curl/src/tool_help.c:247,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_help.c:249,1
    - Dst: get_categories
      Src: /src/PROJ/curl/src/tool_help.c:250,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_help.c:258,1
    - Dst: findlongopt
      Src: /src/PROJ/curl/src/tool_help.c:262,1
    - Dst: ARGTYPE
      Src: /src/PROJ/curl/src/tool_help.c:263,1
    - Dst: findshortopt
      Src: /src/PROJ/curl/src/tool_help.c:269,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_help.c:271,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_help.c:277,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_help.c:279,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_help.c:281,1
    - Dst: showhelp
      Src: /src/PROJ/curl/src/tool_help.c:285,1
    - Dst: showhelp
      Src: /src/PROJ/curl/src/tool_help.c:287,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_help.c:291,1
    - Dst: get_category_content
      Src: /src/PROJ/curl/src/tool_help.c:296,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:297,1
    - Dst: get_categories
      Src: /src/PROJ/curl/src/tool_help.c:298,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - category
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 300
    functionName: tool_help
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 1
    functionsReached:
    - get_terminal_columns
    - strncmp
    - curl_mfprintf
    - get_category_content
    - print_category
    - curl_msnprintf
    - findlongopt
    - get_categories
    - ARGTYPE
    - get_categories_list
    - showhelp
    - curl_strequal
    - findshortopt
    - puts
    linkageType: ''
    returnType: void
    signature: void tool_help(const char *category)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_help.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: is_debug
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool is_debug(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_debug
      Src: /src/PROJ/curl/src/tool_help.c:314,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_help.c:315,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:318,1
    - Dst: curl_version
      Src: /src/PROJ/curl/src/tool_help.c:318,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:320,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:323,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_help.c:332,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_help.c:337,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:342,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_help.c:346,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:347,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:350,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:355,1
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_help.c:363,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_help.c:365,1
    - Dst: qsort
      Src: /src/PROJ/curl/src/tool_help.c:372,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:374,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:376,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:377,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_help.c:378,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_help.c:381,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:382,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 385
    functionName: tool_version_info
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - qsort
    - free
    - curl_mfprintf
    - memcpy
    - strcmp
    - curl_version
    - curl_mprintf
    - curl_strnequal
    - puts
    - malloc
    - is_debug
    linkageType: ''
    returnType: void
    signature: void tool_version_info(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/src/tool_help.c:389,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_help.c:393,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:395,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_help.c:398,1
    - Dst: puts
      Src: /src/PROJ/curl/src/tool_help.c:401,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_help.c:405,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_help.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: tool_list_engines
    functionSourceFile: /src/PROJ/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - curl_slist_free_all
    - curl_easy_init
    - curl_easy_cleanup
    - curl_mprintf
    - puts
    linkageType: ''
    returnType: void
    signature: void tool_list_engines(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_findfile.c:72,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_findfile.c:74,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_findfile.c:76,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_findfile.c:78,1
    - Dst: close
      Src: /src/PROJ/curl/src/tool_findfile.c:79,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_findfile.c:80,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_findfile.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - home
    - fname
    - dotscore
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: checkhome
    functionSourceFile: /src/PROJ/curl/src/tool_findfile.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curl_maprintf
    - close
    - curlx_open
    - strdup
    linkageType: ''
    returnType: char
    signature: char *checkhome(const char *home, const char *fname, bool dotscore)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_findfile.c:102,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_findfile.c:103,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_findfile.c:109,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_findfile.c:114,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_findfile.c:118,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_findfile.c:119,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_findfile.c:128,1
    - Dst: checkhome
      Src: /src/PROJ/curl/src/tool_findfile.c:134,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_findfile.c:135,1
    - Dst: getpwuid
      Src: /src/PROJ/curl/src/tool_findfile.c:142,1
    - Dst: geteuid
      Src: /src/PROJ/curl/src/tool_findfile.c:142,1
    - Dst: checkhome
      Src: /src/PROJ/curl/src/tool_findfile.c:146,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - fname
    - dotscore
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 151
    functionName: findfile
    functionSourceFile: /src/PROJ/curl/src/tool_findfile.c
    functionUses: 1
    functionsReached:
    - curl_free
    - curl_maprintf
    - geteuid
    - getpwuid
    - DEBUGASSERT
    - curl_getenv
    - checkhome
    linkageType: ''
    returnType: char
    signature: char *findfile(const char *fname, int dotscore)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - code
    argTypes:
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: is_fatal_error
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fatal_error(CURLcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_operate.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: is_pkcs11_uri
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool is_pkcs11_uri(const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:163,1
    - Dst: fread
      Src: /src/PROJ/curl/src/tool_operate.c:170,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: vms_realfilesize
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - fread
    - curlx_fopen
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t vms_realfilesize(const char *name,\n                                   const
      struct_stat *stat_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vms_realfilesize
      Src: /src/PROJ/curl/src/tool_operate.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: VmsSpecialSize
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - vms_realfilesize
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t VmsSpecialSize(const char *name,\n                                 const
      struct_stat *stat_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/src/tool_operate.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: add_per_transfer
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode add_per_transfer(struct per_transfer **per)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:232,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:233,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:234,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: del_per_transfer
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: struct per_transfer
    signature: struct per_transfer *del_per_transfer(struct per_transfer *per)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stdin_upload
      Src: /src/PROJ/curl/src/tool_operate.c:260,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/src/tool_operate.c:278,1
    - Dst: VmsSpecialSize
      Src: /src/PROJ/curl/src/tool_operate.c:279,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_operate.c:284,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_operate.c:287,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_operate.c:293,1
    - Dst: fstat
      Src: /src/PROJ/curl/src/tool_operate.c:294,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_operate.c:297,1
    - Dst: close
      Src: /src/PROJ/curl/src/tool_operate.c:299,1
    - Dst: S_ISREG
      Src: /src/PROJ/curl/src/tool_operate.c:307,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_operate.c:313,1
    - Dst: atoi
      Src: /src/PROJ/curl/src/tool_operate.c:315,1
    - Dst: my_setopt_offt
      Src: /src/PROJ/curl/src/tool_operate.c:322,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 327
    functionName: pre_transfer
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - S_ISREG
    - getenv
    - curlx_now
    - stdin_upload
    - my_setopt_offt
    - fstat
    - close
    - curlx_stat
    - VmsSpecialSize
    - helpf
    - curlx_open
    - atoi
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pre_transfer(struct per_transfer *per)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glob_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:333,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:334,1
    - Dst: glob_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: single_transfer_cleanup
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 1
    functionsReached:
    - tool_safefree
    - glob_cleanup
    linkageType: ''
    returnType: void
    signature: void single_transfer_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/PROJ/curl/src/tool_operate.c:357,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 3
    argNames:
    - config
    - per
    - result
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: is_outfile_auto_resumable
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - ferror
    linkageType: ''
    returnType: bool
    signature: "bool is_outfile_auto_resumable(struct OperationConfig *config,\n                                      struct
      per_transfer *per,\n                                      CURLcode result)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:391,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:401,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_operate.c:402,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:406,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:436,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:437,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_operate.c:438,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:466,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_operate.c:478,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:478,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:482,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:501,1
    - Dst: is_outfile_auto_resumable
      Src: /src/PROJ/curl/src/tool_operate.c:517,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:522,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:523,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:524,1
    - Dst: proto_token
      Src: /src/PROJ/curl/src/tool_operate.c:525,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:528,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/src/tool_operate.c:531,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:533,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_operate.c:535,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_operate.c:536,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:537,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:541,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:551,1
    - Dst: fstat
      Src: /src/PROJ/curl/src/tool_operate.c:562,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_operate.c:562,1
    - Dst: S_ISREG
      Src: /src/PROJ/curl/src/tool_operate.c:563,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_operate.c:570,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_operate.c:571,1
    - Dst: ftruncate
      Src: /src/PROJ/curl/src/tool_operate.c:576,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_operate.c:576,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:579,1
    - Dst: fseek
      Src: /src/PROJ/curl/src/tool_operate.c:584,1
    - Dst: curlx_fseek
      Src: /src/PROJ/curl/src/tool_operate.c:588,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:591,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 110
    argCount: 5
    argNames:
    - config
    - per
    - result
    - retryp
    - delayms
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURLcode
    - bool*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 603
    functionName: retrycheck
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - fileno
    - S_ISREG
    - curlx_fseek
    - curl_easy_getinfo
    - curlx_now
    - strcmp
    - notef
    - curl_easy_header
    - curlx_timediff
    - fflush
    - fstat
    - ftruncate
    - proto_token
    - warnf
    - is_outfile_auto_resumable
    - errorf
    - fseek
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode retrycheck(struct OperationConfig *config,\n                           struct
      per_transfer *per,\n                           CURLcode result,\n                           bool
      *retryp,\n                           long *delayms)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:626,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_operate.c:628,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:630,1
    - Dst: close
      Src: /src/PROJ/curl/src/tool_operate.c:638,1
    - Dst: is_vms_shell
      Src: /src/PROJ/curl/src/tool_operate.c:646,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:656,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/src/tool_operate.c:657,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_operate.c:659,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:664,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:667,1
    - Dst: fwrite_xattr
      Src: /src/PROJ/curl/src/tool_operate.c:675,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_operate.c:675,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:678,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_operate.c:679,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:690,1
    - Dst: tool_create_output_file
      Src: /src/PROJ/curl/src/tool_operate.c:691,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_operate.c:697,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:701,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_operate.c:708,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_operate.c:715,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:715,1
    - Dst: retrycheck
      Src: /src/PROJ/curl/src/tool_operate.c:717,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_operate.c:726,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:730,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:734,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/src/tool_operate.c:738,1
    - Dst: S_ISREG
      Src: /src/PROJ/curl/src/tool_operate.c:738,1
    - Dst: unlink
      Src: /src/PROJ/curl/src/tool_operate.c:739,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_operate.c:740,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:742,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:745,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:754,1
    - Dst: setfiletime
      Src: /src/PROJ/curl/src/tool_operate.c:756,1
    - Dst: ourWriteOut
      Src: /src/PROJ/curl/src/tool_operate.c:761,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:765,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:768,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:771,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:774,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:776,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:778,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:779,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:780,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:781,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_operate.c:782,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 103
    argCount: 4
    argNames:
    - per
    - result
    - retryp
    - delay
    argTypes:
    - struct per_transfer*
    - CURLcode
    - bool*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 785
    functionName: post_per_transfer
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - fileno
    - curlx_now
    - curlx_strerror
    - curl_easy_cleanup
    - warnf
    - errorf
    - S_ISREG
    - fputs
    - curl_mfprintf
    - curl_easy_getinfo
    - memset
    - curl_easy_strerror
    - curlx_stat
    - curlx_fclose
    - setfiletime
    - retrycheck
    - is_vms_shell
    - fflush
    - curlx_timediff
    - curl_slist_free_all
    - unlink
    - sclose
    - tool_safefree
    - free
    - strcmp
    - notef
    - ourWriteOut
    - tool_create_output_file
    - close
    - fwrite_xattr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode post_per_transfer(struct per_transfer *per,\n                                  CURLcode
      result,\n                                  bool *retryp,\n                                  long
      *delay)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_pkcs11_uri
      Src: /src/PROJ/curl/src/tool_operate.c:792,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:793,1
    - Dst: is_pkcs11_uri
      Src: /src/PROJ/curl/src/tool_operate.c:800,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:801,1
    - Dst: is_pkcs11_uri
      Src: /src/PROJ/curl/src/tool_operate.c:809,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:810,1
    - Dst: is_pkcs11_uri
      Src: /src/PROJ/curl/src/tool_operate.c:818,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:819,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 825
    functionName: set_cert_types
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - is_pkcs11_uri
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_cert_types(struct OperationConfig *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_operate.c:832,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_operate.c:835,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operate.c:838,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:839,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_operate.c:845,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_operate.c:847,1
    - Dst: urlerr_cvt
      Src: /src/PROJ/curl/src/tool_operate.c:850,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:852,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - config
    - per
    - q
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 859
    functionName: append2query
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - free
    - curl_url
    - urlerr_cvt
    - errorf
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode append2query(struct OperationConfig *config,\n                             struct
      per_transfer *per,\n                             const char *q)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:869,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:872,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_operate.c:873,1
    - Dst: file2string
      Src: /src/PROJ/curl/src/tool_operate.c:876,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_operate.c:878,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:879,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_operate.c:882,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:886,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:887,1
    - Dst: add2list
      Src: /src/PROJ/curl/src/tool_operate.c:892,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:893,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 900
    functionName: etag_compare
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_maprintf
    - curlx_strerror
    - curlx_fopen
    - file2string
    - warnf
    - errorf
    - tool_safefree
    - curlx_fclose
    - add2list
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode etag_compare(struct OperationConfig *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_dir_hierarchy
      Src: /src/PROJ/curl/src/tool_operate.c:907,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:913,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:914,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:916,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_operate.c:930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - config
    - etag_save
    - skip
    argTypes:
    - struct OperationConfig*
    - struct OutStruct*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 933
    functionName: etag_store
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - create_dir_hierarchy
    - strcmp
    - curlx_fopen
    - CURLX_SET_BINMODE
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode etag_store(struct OperationConfig *config,\n                           struct
      OutStruct *etag_save,\n                           bool *skip)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:940,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_operate.c:943,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:945,1
    - Dst: create_dir_hierarchy
      Src: /src/PROJ/curl/src/tool_operate.c:958,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:964,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:966,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:968,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:971,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_operate.c:983,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - config
    - per
    - heads
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - struct OutStruct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 986
    functionName: setup_headerfile
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - create_dir_hierarchy
    - strcmp
    - curlx_fopen
    - CURLX_SET_BINMODE
    - errorf
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setup_headerfile(struct OperationConfig *config,\n                                 struct
      per_transfer *per,\n                                 struct OutStruct *heads)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_url_file_name
      Src: /src/PROJ/curl/src/tool_operate.c:1001,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:1003,1
    - Dst: glob_inuse
      Src: /src/PROJ/curl/src/tool_operate.c:1008,1
    - Dst: glob_match_url
      Src: /src/PROJ/curl/src/tool_operate.c:1012,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:1013,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1016,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1020,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:1024,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1027,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:1030,1
    - Dst: create_dir_hierarchy
      Src: /src/PROJ/curl/src/tool_operate.c:1037,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/src/tool_operate.c:1045,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_operate.c:1047,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/src/tool_operate.c:1058,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:1070,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_operate.c:1074,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:1077,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - config
    - per
    - outs
    - skipped
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - struct OutStruct*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 1090
    functionName: setup_outfile
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - create_dir_hierarchy
    - tool_safefree
    - free
    - curl_maprintf
    - glob_match_url
    - notef
    - curlx_fopen
    - warnf
    - errorf
    - DEBUGASSERT
    - curlx_stat
    - get_url_file_name
    - glob_inuse
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setup_outfile(struct OperationConfig *config,\n                              struct
      per_transfer *per,\n                              struct OutStruct *outs,\n
      \                             bool *skipped)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1114,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:1119,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:1120,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_operate.c:1122,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:1123,1
    - Dst: win32_stdin_read_thread
      Src: /src/PROJ/curl/src/tool_operate.c:1128,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1131,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1134,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_operate.c:1139,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/src/tool_operate.c:1144,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1146,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_operate.c:1147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - config
    - per
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1092
    functionDepth: 3
    functionLinenumber: 1092
    functionLinenumberEnd: 1150
    functionName: check_stdin_upload
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - strcmp
    - curlx_strerror
    - win32_stdin_read_thread
    - CURLX_SET_BINMODE
    - warnf
    - DEBUGASSERT
    - sclose
    - curlx_nonblock
    linkageType: ''
    returnType: void
    signature: "void check_stdin_upload(struct OperationConfig *config,\n                               struct
      per_transfer *per)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: SetHTTPrequest
      Src: /src/PROJ/curl/src/tool_operate.c:1170,1
    - Dst: SetHTTPrequest
      Src: /src/PROJ/curl/src/tool_operate.c:1175,1
    - Dst: set_cert_types
      Src: /src/PROJ/curl/src/tool_operate.c:1179,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:1201,1
    - Dst: glob_inuse
      Src: /src/PROJ/curl/src/tool_operate.c:1205,1
    - Dst: glob_url
      Src: /src/PROJ/curl/src/tool_operate.c:1206,1
    - Dst: glob_inuse
      Src: /src/PROJ/curl/src/tool_operate.c:1208,1
    - Dst: glob_next_url
      Src: /src/PROJ/curl/src/tool_operate.c:1209,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:1222,1
    - Dst: glob_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1223,1
    - Dst: glob_url
      Src: /src/PROJ/curl/src/tool_operate.c:1233,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_operate.c:1242,1
    - Dst: etag_compare
      Src: /src/PROJ/curl/src/tool_operate.c:1247,1
    - Dst: etag_store
      Src: /src/PROJ/curl/src/tool_operate.c:1254,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/src/tool_operate.c:1259,1
    - Dst: add_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1261,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1265,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:1267,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:1272,1
    - Dst: SetHTTPrequest
      Src: /src/PROJ/curl/src/tool_operate.c:1274,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:1275,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1276,1
    - Dst: setup_headerfile
      Src: /src/PROJ/curl/src/tool_operate.c:1290,1
    - Dst: glob_inuse
      Src: /src/PROJ/curl/src/tool_operate.c:1305,1
    - Dst: glob_next_url
      Src: /src/PROJ/curl/src/tool_operate.c:1306,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:1308,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:1320,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:1327,1
    - Dst: setup_outfile
      Src: /src/PROJ/curl/src/tool_operate.c:1328,1
    - Dst: stdin_upload
      Src: /src/PROJ/curl/src/tool_operate.c:1335,1
    - Dst: check_stdin_upload
      Src: /src/PROJ/curl/src/tool_operate.c:1336,1
    - Dst: add_file_name_to_url
      Src: /src/PROJ/curl/src/tool_operate.c:1341,1
    - Dst: output_expected
      Src: /src/PROJ/curl/src/tool_operate.c:1351,1
    - Dst: isatty
      Src: /src/PROJ/curl/src/tool_operate.c:1352,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_operate.c:1352,1
    - Dst: append2query
      Src: /src/PROJ/curl/src/tool_operate.c:1364,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:1370,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_operate.c:1374,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:1379,1
    - Dst: config2setopts
      Src: /src/PROJ/curl/src/tool_operate.c:1388,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:1396,1
    - Dst: glob_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1402,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:1404,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 173
    argCount: 4
    argNames:
    - config
    - share
    - added
    - skipped
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1153
    functionDepth: 5
    functionLinenumber: 1153
    functionLinenumberEnd: 1410
    functionName: single_transfer
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - isatty
    - fileno
    - SetHTTPrequest
    - append2query
    - curlx_now
    - curl_easy_cleanup
    - warnf
    - etag_compare
    - setup_outfile
    - curl_easy_init
    - check_stdin_upload
    - glob_next_url
    - memset
    - config2setopts
    - add_file_name_to_url
    - glob_inuse
    - curlx_fclose
    - glob_cleanup
    - CURLX_SET_BINMODE
    - setup_headerfile
    - tool_safefree
    - etag_store
    - glob_url
    - set_cert_types
    - strcmp
    - stdin_upload
    - add_per_transfer
    - output_expected
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode single_transfer(struct OperationConfig *config,\n                                CURLSH
      *share, bool *added, bool *skipped)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_get_offt
      Src: /src/PROJ/curl/src/tool_operate.c:1430,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:1432,1
    - Dst: create_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1439,1
    - Dst: time
      Src: /src/PROJ/curl/src/tool_operate.c:1449,1
    - Dst: pre_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1456,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1462,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1464,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1466,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1467,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1468,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1469,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1470,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_operate.c:1472,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1473,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/src/tool_operate.c:1476,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_operate.c:1478,1
    - Dst: create_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1486,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - multi
    - share
    - morep
    - addedp
    argTypes:
    - CURLM*
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1501
    functionName: add_parallel_transfers
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - getenv
    - time
    - curl_multi_get_offt
    - pre_transfer
    - create_transfer
    - curl_multi_add_handle
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_parallel_transfers(CURLM *multi, CURLSH *share,\n                                       bool
      *morep, bool *addedp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/src/tool_operate.c:1550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - status
    - events
    argTypes:
    - uv_poll_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1552
    functionName: on_uv_socket
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    linkageType: ''
    returnType: void
    signature: void on_uv_socket(uv_poll_t *req, int status, int events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1559,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/src/tool_operate.c:1562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1565
    functionName: on_uv_timeout
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void on_uv_timeout(uv_timer_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1573,1
    - Dst: uv_timer_stop
      Src: /src/PROJ/curl/src/tool_operate.c:1576,1
    - Dst: uv_timer_start
      Src: /src/PROJ/curl/src/tool_operate.c:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1585
    functionName: cb_timeout
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - uv_timer_start
    - curl_mfprintf
    - uv_timer_stop
    linkageType: ''
    returnType: int
    signature: int cb_timeout(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/src/tool_operate.c:1592,1
    - Dst: uv_poll_init_socket
      Src: /src/PROJ/curl/src/tool_operate.c:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sockfd
    - uv
    argTypes:
    - curl_socket_t
    - struct datauv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1601
    functionName: create_context
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - malloc
    - uv_poll_init_socket
    linkageType: ''
    returnType: struct contextuv
    signature: "struct contextuv *create_context(curl_socket_t sockfd,\n                                        struct
      datauv *uv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/src/tool_operate.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1607
    functionName: close_cb
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void close_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_close
      Src: /src/PROJ/curl/src/tool_operate.c:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct contextuv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: destroy_context
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - uv_close
    linkageType: ''
    returnType: void
    signature: void destroy_context(struct contextuv *c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1624,1
    - Dst: create_context
      Src: /src/PROJ/curl/src/tool_operate.c:1632,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/src/tool_operate.c:1634,1
    - Dst: uv_poll_start
      Src: /src/PROJ/curl/src/tool_operate.c:1641,1
    - Dst: uv_poll_stop
      Src: /src/PROJ/curl/src/tool_operate.c:1646,1
    - Dst: destroy_context
      Src: /src/PROJ/curl/src/tool_operate.c:1647,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/src/tool_operate.c:1648,1
    - Dst: abort
      Src: /src/PROJ/curl/src/tool_operate.c:1652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1656
    functionName: cb_socket
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - uv_poll_stop
    - curl_mfprintf
    - curl_multi_assign
    - uv_poll_start
    - create_context
    - abort
    - destroy_context
    linkageType: ''
    returnType: int
    signature: "int cb_socket(CURL *easy, curl_socket_t s, int action,\n                     void
      *userp, void *socketp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_default_loop
      Src: /src/PROJ/curl/src/tool_operate.c:1665,1
    - Dst: uv_timer_init
      Src: /src/PROJ/curl/src/tool_operate.c:1666,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1670,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1671,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1672,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1673,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1674,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/src/tool_operate.c:1678,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1683,1
    - Dst: uv_run
      Src: /src/PROJ/curl/src/tool_operate.c:1687,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1689,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1718,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct parastate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1726
    functionName: parallel_event
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - uv_run
    - curl_multi_cleanup
    - curl_multi_socket_action
    - uv_timer_init
    - uv_default_loop
    - curl_multi_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode parallel_event(struct parastate *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: progress_meter
      Src: /src/PROJ/curl/src/tool_operate.c:1736,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/src/tool_operate.c:1738,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:1745,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/src/tool_operate.c:1746,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_operate.c:1749,1
    - Dst: post_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1753,1
    - Dst: progress_finalize
      Src: /src/PROJ/curl/src/tool_operate.c:1754,1
    - Dst: time
      Src: /src/PROJ/curl/src/tool_operate.c:1760,1
    - Dst: is_fatal_error
      Src: /src/PROJ/curl/src/tool_operate.c:1767,1
    - Dst: del_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1769,1
    - Dst: time
      Src: /src/PROJ/curl/src/tool_operate.c:1775,1
    - Dst: add_parallel_transfers
      Src: /src/PROJ/curl/src/tool_operate.c:1783,1
    - Dst: is_fatal_error
      Src: /src/PROJ/curl/src/tool_operate.c:1792,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct parastate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1730
    functionDepth: 5
    functionLinenumber: 1730
    functionLinenumberEnd: 1796
    functionName: check_finished
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - progress_meter
    - time
    - curl_easy_getinfo
    - curl_msnprintf
    - curl_multi_remove_handle
    - del_per_transfer
    - curl_multi_info_read
    - post_per_transfer
    - add_parallel_transfers
    - is_fatal_error
    - progress_finalize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode check_finished(struct parastate *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_finished
      Src: /src/PROJ/curl/src/tool_operate.c:1809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - multi
    - notification
    - easy
    - user_data
    argTypes:
    - CURLM*
    - unsigned int
    - CURL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1798
    functionDepth: 6
    functionLinenumber: 1798
    functionLinenumberEnd: 1817
    functionName: mnotify
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - check_finished
    linkageType: ''
    returnType: void
    signature: "void mnotify(CURLM *multi, unsigned int notification,\n                    CURL
      *easy, void *user_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:1828,1
    - Dst: time
      Src: /src/PROJ/curl/src/tool_operate.c:1831,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/src/tool_operate.c:1832,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1836,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1837,1
    - Dst: curl_multi_notify_enable
      Src: /src/PROJ/curl/src/tool_operate.c:1838,1
    - Dst: add_parallel_transfers
      Src: /src/PROJ/curl/src/tool_operate.c:1840,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1843,1
    - Dst: parallel_event
      Src: /src/PROJ/curl/src/tool_operate.c:1850,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:1852,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/src/tool_operate.c:1875,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/src/tool_operate.c:1877,1
    - Dst: progress_meter
      Src: /src/PROJ/curl/src/tool_operate.c:1880,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1894,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - share
    argTypes:
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1819
    functionDepth: 4
    functionLinenumber: 1819
    functionLinenumberEnd: 1897
    functionName: parallel_transfers
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 2
    functionsReached:
    - curl_multi_poll
    - progress_meter
    - curl_multi_perform
    - time
    - parallel_event
    - curlx_now
    - curl_multi_notify_enable
    - curl_multi_cleanup
    - add_parallel_transfers
    - errorf
    - curl_multi_setopt
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode parallel_transfers(CURLSH *share)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: create_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1907,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:1911,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:1920,1
    - Dst: pre_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1922,1
    - Dst: easysrc_perform
      Src: /src/PROJ/curl/src/tool_operate.c:1927,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_operate.c:1933,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1934,1
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/src/tool_operate.c:1937,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1938,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:1945,1
    - Dst: curl_easy_perform_ev
      Src: /src/PROJ/curl/src/tool_operate.c:1948,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/src/tool_operate.c:1951,1
    - Dst: post_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1954,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/src/tool_operate.c:1956,1
    - Dst: is_fatal_error
      Src: /src/PROJ/curl/src/tool_operate.c:1961,1
    - Dst: create_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1966,1
    - Dst: del_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:1975,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_operate.c:1983,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_operate.c:1983,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_operate.c:1985,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/src/tool_operate.c:1989,1
    - Dst: single_transfer_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:1998,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 1
    argNames:
    - share
    argTypes:
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1899
    functionDepth: 5
    functionLinenumber: 1899
    functionLinenumberEnd: 2001
    functionName: serial_transfers
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - getenv
    - curl_easy_duphandle
    - single_transfer_cleanup
    - curlx_now
    - notef
    - curl_easy_perform_ev
    - curlx_timediff
    - curlx_wait_ms
    - del_per_transfer
    - curl_easy_cleanup
    - curl_easy_perform
    - pre_transfer
    - create_transfer
    - easysrc_perform
    - errorf
    - post_per_transfer
    - is_fatal_error
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode serial_transfers(CURLSH *share)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/src/tool_operate.c:2010,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_operate.c:2017,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:2023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pusing
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2003
    functionDepth: 1
    functionLinenumber: 2003
    functionLinenumberEnd: 2029
    functionName: is_using_schannel
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_easy_init
    - curl_easy_getinfo
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode is_using_schannel(int *pusing)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_using_schannel
      Src: /src/PROJ/curl/src/tool_operate.c:2052,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_operate.c:2056,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:2058,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operate.c:2059,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_operate.c:2066,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:2068,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operate.c:2069,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_operate.c:2075,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:2077,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_operate.c:2078,1
    - Dst: tool_execpath
      Src: /src/PROJ/curl/src/tool_operate.c:2090,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_operate.c:2092,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:2093,1
    - Dst: FindWin32CACert
      Src: /src/PROJ/curl/src/tool_operate.c:2101,1
    - Dst: TEXT
      Src: /src/PROJ/curl/src/tool_operate.c:2101,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/src/tool_operate.c:2109,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2042
    functionDepth: 2
    functionLinenumber: 2042
    functionLinenumberEnd: 2111
    functionName: cacertpaths
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_free
    - FindWin32CACert
    - is_using_schannel
    - Curl_safefree
    - curl_getenv
    - curlx_fclose
    - strdup
    - TEXT
    - tool_execpath
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cacertpaths(struct OperationConfig *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_operate.c:2124,1
    - Dst: cacertpaths
      Src: /src/PROJ/curl/src/tool_operate.c:2129,1
    - Dst: single_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:2132,1
    - Dst: single_transfer_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:2134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - config
    - share
    - added
    - skipped
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2114
    functionDepth: 6
    functionLinenumber: 2114
    functionLinenumberEnd: 2138
    functionName: transfer_per_config
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - single_transfer_cleanup
    - single_transfer
    - helpf
    - cacertpaths
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode transfer_per_config(struct OperationConfig *config,\n                                    CURLSH
      *share,\n                                    bool *added,\n                                    bool
      *skipped)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transfer_per_config
      Src: /src/PROJ/curl/src/tool_operate.c:2151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - share
    - added
    - skipped
    argTypes:
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2144
    functionDepth: 7
    functionLinenumber: 2144
    functionLinenumberEnd: 2160
    functionName: create_transfer
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 2
    functionsReached:
    - transfer_per_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode create_transfer(CURLSH *share,\n                                bool
      *added,\n                                bool *skipped)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parallel_transfers
      Src: /src/PROJ/curl/src/tool_operate.c:2173,1
    - Dst: serial_transfers
      Src: /src/PROJ/curl/src/tool_operate.c:2175,1
    - Dst: post_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:2182,1
    - Dst: clean_getout
      Src: /src/PROJ/curl/src/tool_operate.c:2188,1
    - Dst: del_per_transfer
      Src: /src/PROJ/curl/src/tool_operate.c:2190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - share
    - result
    argTypes:
    - CURLSH*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2162
    functionDepth: 6
    functionLinenumber: 2162
    functionLinenumberEnd: 2199
    functionName: run_all_transfers
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - serial_transfers
    - clean_getout
    - parallel_transfers
    - del_per_transfer
    - post_per_transfer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode run_all_transfers(CURLSH *share,\n                                  CURLcode
      result)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_operate.c:2206,1
    - Dst: convert_tchar_to_UTF8
      Src: /src/PROJ/curl/src/tool_operate.c:2208,1
    - Dst: setlocale
      Src: /src/PROJ/curl/src/tool_operate.c:2213,1
    - Dst: setlocale
      Src: /src/PROJ/curl/src/tool_operate.c:2214,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_operate.c:2219,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_operate.c:2220,1
    - Dst: parseconfig
      Src: /src/PROJ/curl/src/tool_operate.c:2221,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_operate.c:2225,1
    - Dst: unicodefree
      Src: /src/PROJ/curl/src/tool_operate.c:2230,1
    - Dst: parse_args
      Src: /src/PROJ/curl/src/tool_operate.c:2234,1
    - Dst: hugehelp
      Src: /src/PROJ/curl/src/tool_operate.c:2244,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_operate.c:2246,1
    - Dst: tool_version_info
      Src: /src/PROJ/curl/src/tool_operate.c:2251,1
    - Dst: tool_list_engines
      Src: /src/PROJ/curl/src/tool_operate.c:2254,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_operate.c:2258,1
    - Dst: easysrc_init
      Src: /src/PROJ/curl/src/tool_operate.c:2271,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/src/tool_operate.c:2278,1
    - Dst: easysrc_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:2282,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:2288,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:2289,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:2290,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:2294,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:2295,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/src/tool_operate.c:2296,1
    - Dst: tool_ssls_load
      Src: /src/PROJ/curl/src/tool_operate.c:2299,1
    - Dst: get_args
      Src: /src/PROJ/curl/src/tool_operate.c:2305,1
    - Dst: run_all_transfers
      Src: /src/PROJ/curl/src/tool_operate.c:2314,1
    - Dst: tool_ssls_save
      Src: /src/PROJ/curl/src/tool_operate.c:2317,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:2324,1
    - Dst: easysrc_cleanup
      Src: /src/PROJ/curl/src/tool_operate.c:2327,1
    - Dst: dumpeasysrc
      Src: /src/PROJ/curl/src/tool_operate.c:2330,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_operate.c:2335,1
    - Dst: varcleanup
      Src: /src/PROJ/curl/src/tool_operate.c:2339,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - argv_item_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2201
    functionDepth: 8
    functionLinenumber: 2201
    functionLinenumberEnd: 2342
    functionName: operate
    functionSourceFile: /src/PROJ/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - convert_tchar_to_UTF8
    - strncmp
    - tool_list_engines
    - get_args
    - warnf
    - errorf
    - tool_version_info
    - unicodefree
    - parse_args
    - tool_ssls_save
    - easysrc_init
    - parseconfig
    - setlocale
    - helpf
    - curl_share_setopt
    - curl_share_cleanup
    - hugehelp
    - easysrc_cleanup
    - run_all_transfers
    - dumpeasysrc
    - tool_ssls_load
    - varcleanup
    - strcmp
    - curl_share_init
    - curl_mprintf
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode operate(int argc, argv_item_t argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_cb_prg.c:76,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_cb_prg.c:78,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_cb_prg.c:81,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_cb_prg.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - bar
    - moved
    argTypes:
    - struct ProgressData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: fly
    functionSourceFile: /src/PROJ/curl/src/tool_cb_prg.c
    functionUses: 0
    functionsReached:
    - memset
    - fputs
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fly(struct ProgressData *bar, bool moved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_terminal_columns
      Src: /src/PROJ/curl/src/tool_cb_prg.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bar
    argTypes:
    - struct ProgressData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: update_width
    functionSourceFile: /src/PROJ/curl/src/tool_cb_prg.c
    functionUses: 0
    functionsReached:
    - get_terminal_columns
    linkageType: ''
    returnType: void
    signature: void update_width(struct ProgressData *bar)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/src/tool_cb_prg.c:134,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_cb_prg.c:174,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/src/tool_cb_prg.c:180,1
    - Dst: update_width
      Src: /src/PROJ/curl/src/tool_cb_prg.c:183,1
    - Dst: fly
      Src: /src/PROJ/curl/src/tool_cb_prg.c:184,1
    - Dst: update_width
      Src: /src/PROJ/curl/src/tool_cb_prg.c:191,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_cb_prg.c:209,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/src/tool_cb_prg.c:211,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_cb_prg.c:216,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_cb_prg.c:221,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/src/tool_cb_prg.c:227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 231
    functionName: tool_progress_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_prg.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_now
    - curl_msnprintf
    - curlx_timediff
    - fflush
    - fly
    - update_width
    - memset
    - curl_easy_pause
    linkageType: ''
    returnType: int
    signature: "int tool_progress_cb(void *clientp,\n                     curl_off_t
      dltotal, curl_off_t dlnow,\n                     curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_cb_prg.c:236,1
    - Dst: update_width
      Src: /src/PROJ/curl/src/tool_cb_prg.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bar
    - config
    argTypes:
    - struct ProgressData*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: progressbarinit
    functionSourceFile: /src/PROJ/curl/src/tool_cb_prg.c
    functionUses: 1
    functionsReached:
    - memset
    - update_width
    linkageType: ''
    returnType: void
    signature: "void progressbarinit(struct ProgressData *bar,\n                     struct
      OperationConfig *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CURL_USE_LFN
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_USE_LFN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CURL_USE_LFN
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_USE_LFN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: S_ISCHR
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: S_ISCHR
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(m)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:132,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_doswin.c:136,1
    - Dst: strncmp
      Src: /src/PROJ/curl/src/tool_doswin.c:141,1
    - Dst: msdosify
      Src: /src/PROJ/curl/src/tool_doswin.c:185,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_doswin.c:186,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:190,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_doswin.c:193,1
    - Dst: rename_if_reserved_dos
      Src: /src/PROJ/curl/src/tool_doswin.c:199,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_doswin.c:200,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:204,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_doswin.c:207,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 3
    argNames:
    - sanitized
    - file_name
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 214
    functionName: sanitize_file_name
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 4
    functionsReached:
    - strncmp
    - free
    - rename_if_reserved_dos
    - msdosify
    - strlen
    - strdup
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode sanitize_file_name(char **const sanitized, const char
      *file_name,\n                                int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:250,1
    - Dst: strpbrk
      Src: /src/PROJ/curl/src/tool_doswin.c:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - path
    - truncate_pos
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: truncate_dryrun
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - strlen
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode truncate_dryrun(const char *path,\n                                    const
      size_t truncate_pos)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:314,1
    - Dst: CURL_USE_LFN
      Src: /src/PROJ/curl/src/tool_doswin.c:318,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/tool_doswin.c:331,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_doswin.c:389,1
    - Dst: strpbrk
      Src: /src/PROJ/curl/src/tool_doswin.c:414,1
    - Dst: truncate_dryrun
      Src: /src/PROJ/curl/src/tool_doswin.c:414,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_doswin.c:418,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 85
    argCount: 3
    argNames:
    - sanitized
    - file_name
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 420
    functionName: msdosify
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - memcpy
    - strpbrk
    - strlen
    - memchr
    - truncate_dryrun
    - strdup
    - CURL_USE_LFN
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode msdosify(char **const sanitized, const char *file_name,\n
      \                            int flags)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:454,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_doswin.c:460,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_doswin.c:470,1
    - Dst: basename
      Src: /src/PROJ/curl/src/tool_doswin.c:472,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:481,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:482,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:483,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:484,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:485,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:486,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/src/tool_doswin.c:486,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:513,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:516,1
    - Dst: memmove
      Src: /src/PROJ/curl/src/tool_doswin.c:518,1
    - Dst: basename
      Src: /src/PROJ/curl/src/tool_doswin.c:524,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/src/tool_doswin.c:535,1
    - Dst: S_ISCHR
      Src: /src/PROJ/curl/src/tool_doswin.c:535,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:537,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_doswin.c:539,1
    - Dst: memmove
      Src: /src/PROJ/curl/src/tool_doswin.c:541,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_doswin.c:547,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 53
    argCount: 3
    argNames:
    - sanitized
    - file_name
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 549
    functionName: rename_if_reserved_dos
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - memcpy
    - S_ISCHR
    - memmove
    - basename
    - curl_strnequal
    - strlen
    - curlx_stat
    - strdup
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode rename_if_reserved_dos(char **const sanitized,\n                                           const
      char *file_name,\n                                           int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: __crt0_glob_function
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **__crt0_glob_function(char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/PROJ/curl/src/tool_doswin.c:593,1
    - Dst: SearchPath
      Src: /src/PROJ/curl/src/tool_doswin.c:595,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/src/tool_doswin.c:597,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_doswin.c:598,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_doswin.c:600,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/src/tool_doswin.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - config
    - bundle_file
    argTypes:
    - struct OperationConfig*
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 607
    functionName: FindWin32CACert
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - curlx_convert_tchar_to_UTF8
    - SearchPath
    - tool_safefree
    - curlx_unicodefree
    - strdup
    - TEXT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode FindWin32CACert(struct OperationConfig *config,\n                         const
      TCHAR *bundle_file)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CreateToolhelp32Snapshot
      Src: /src/PROJ/curl/src/tool_doswin.c:623,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_doswin.c:624,1
    - Dst: Module32First
      Src: /src/PROJ/curl/src/tool_doswin.c:629,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/curl/src/tool_doswin.c:640,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/src/tool_doswin.c:647,1
    - Dst: Module32Next
      Src: /src/PROJ/curl/src/tool_doswin.c:651,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_doswin.c:656,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:660,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 663
    functionName: GetLoadedModulePaths
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - WideCharToMultiByte
    - curl_slist_append
    - Module32Next
    - CloseHandle
    - curl_slist_free_all
    - CreateToolhelp32Snapshot
    - GetLastError
    - Module32First
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *GetLoadedModulePaths(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchange
      Src: /src/PROJ/curl/src/tool_doswin.c:681,1
    - Dst: SetConsoleMode
      Src: /src/PROJ/curl/src/tool_doswin.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: restore_terminal
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - SetConsoleMode
    - InterlockedExchange
    linkageType: ''
    returnType: void
    signature: void restore_terminal(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restore_terminal
      Src: /src/PROJ/curl/src/tool_doswin.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: signal_handler
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - restore_terminal
    linkageType: ''
    returnType: BOOL
    signature: BOOL signal_handler(DWORD type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:697,1
    - Dst: GetConsoleMode
      Src: /src/PROJ/curl/src/tool_doswin.c:706,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/src/tool_doswin.c:708,1
    - Dst: InterlockedExchange
      Src: /src/PROJ/curl/src/tool_doswin.c:718,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/PROJ/curl/src/tool_doswin.c:719,1
    - Dst: SetConsoleMode
      Src: /src/PROJ/curl/src/tool_doswin.c:720,1
    - Dst: atexit
      Src: /src/PROJ/curl/src/tool_doswin.c:724,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/PROJ/curl/src/tool_doswin.c:727,1
    - Dst: InterlockedExchange
      Src: /src/PROJ/curl/src/tool_doswin.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 732
    functionName: init_terminal
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - GetStdHandle
    - SetConsoleMode
    - SetConsoleCtrlHandler
    - GetConsoleMode
    - atexit
    - InterlockedExchange
    - curlx_verify_windows_version
    linkageType: ''
    returnType: void
    signature: void init_terminal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now_init
      Src: /src/PROJ/curl/src/tool_doswin.c:737,1
    - Dst: init_terminal
      Src: /src/PROJ/curl/src/tool_doswin.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: win32_init
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 7
    functionsReached:
    - curlx_now_init
    - init_terminal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode win32_init(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ACCEPT
      Src: /src/PROJ/curl/src/tool_doswin.c:768,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:772,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_doswin.c:776,1
    - Dst: shutdown
      Src: /src/PROJ/curl/src/tool_doswin.c:778,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:779,1
    - Dst: ReadFile
      Src: /src/PROJ/curl/src/tool_doswin.c:783,1
    - Dst: CURL_SEND
      Src: /src/PROJ/curl/src/tool_doswin.c:788,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:795,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_doswin.c:798,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_doswin.c:802,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_doswin.c:805,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 809
    functionName: win_stdin_thread_func
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - free
    - CloseHandle
    - ReadFile
    - CURL_ACCEPT
    - sclose
    - errorf
    - CURL_SEND
    - shutdown
    linkageType: ''
    returnType: DWORD
    signature: DWORD win_stdin_thread_func(void *thread_data)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/PROJ/curl/src/tool_doswin.c:823,1
    - Dst: assert
      Src: /src/PROJ/curl/src/tool_doswin.c:826,1
    - Dst: calloc
      Src: /src/PROJ/curl/src/tool_doswin.c:830,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:832,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/src/tool_doswin.c:837,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:839,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_doswin.c:844,1
    - Dst: htonl
      Src: /src/PROJ/curl/src/tool_doswin.c:846,1
    - Dst: bind
      Src: /src/PROJ/curl/src/tool_doswin.c:848,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:850,1
    - Dst: getsockname
      Src: /src/PROJ/curl/src/tool_doswin.c:855,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:857,1
    - Dst: listen
      Src: /src/PROJ/curl/src/tool_doswin.c:861,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:863,1
    - Dst: DuplicateHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:868,1
    - Dst: GetCurrentProcess
      Src: /src/PROJ/curl/src/tool_doswin.c:868,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:868,1
    - Dst: GetCurrentProcess
      Src: /src/PROJ/curl/src/tool_doswin.c:869,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:873,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_doswin.c:873,1
    - Dst: CreateThread
      Src: /src/PROJ/curl/src/tool_doswin.c:881,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:884,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_doswin.c:884,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/src/tool_doswin.c:889,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:891,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/src/tool_doswin.c:896,1
    - Dst: connect
      Src: /src/PROJ/curl/src/tool_doswin.c:898,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:899,1
    - Dst: shutdown
      Src: /src/PROJ/curl/src/tool_doswin.c:903,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:904,1
    - Dst: SetStdHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:909,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_doswin.c:910,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/src/tool_doswin.c:910,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:919,1
    - Dst: SetStdHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:922,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_doswin.c:926,1
    - Dst: TerminateThread
      Src: /src/PROJ/curl/src/tool_doswin.c:931,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:932,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/src/tool_doswin.c:938,1
    - Dst: sclose
      Src: /src/PROJ/curl/src/tool_doswin.c:940,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_doswin.c:942,1
    - Dst: assert
      Src: /src/PROJ/curl/src/tool_doswin.c:948,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (stdin_thread != NULL)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/PROJ/curl/src/tool_doswin.c
    - condition: (socket_r != CURL_SOCKET_BAD)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/PROJ/curl/src/tool_doswin.c
    - condition: (stdin_thread == NULL)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/PROJ/curl/src/tool_doswin.c
    constantsTouched: []
    func_position:
      end: 950
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 950
    functionName: win32_stdin_read_thread
    functionSourceFile: /src/PROJ/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - errorf
    - SetStdHandle
    - assert
    - memset
    - GetLastError
    - bind
    - DuplicateHandle
    - CreateThread
    - CloseHandle
    - setsockopt
    - TerminateThread
    - calloc
    - sclose
    - shutdown
    - GetCurrentProcess
    - GetStdHandle
    - free
    - connect
    - getsockname
    - listen
    - CURL_SOCKET
    - htonl
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t win32_stdin_read_thread(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/src/tool_formparse.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - kind
    argTypes:
    - struct tool_mime*
    - toolmimekind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: tool_mime_new
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct tool_mime
    signature: "struct tool_mime *tool_mime_new(struct tool_mime *parent,\n                                       toolmimekind
      kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tool_mime_new
      Src: /src/PROJ/curl/src/tool_formparse.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - struct tool_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tool_mime_new_parts
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - tool_mime_new
    linkageType: ''
    returnType: struct tool_mime
    signature: struct tool_mime *tool_mime_new_parts(struct tool_mime *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_formparse.c:63,1
    - Dst: tool_mime_new
      Src: /src/PROJ/curl/src/tool_formparse.c:65,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_formparse.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - parent
    - mime_data
    argTypes:
    - struct tool_mime*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: tool_mime_new_data
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - tool_mime_new
    - free
    - strdup
    linkageType: ''
    returnType: struct tool_mime
    signature: "struct tool_mime *tool_mime_new_data(struct tool_mime *parent,\n                                            char
      *mime_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_formparse.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: uztoso
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t uztoso(size_t uznum)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_formparse.c:108,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_formparse.c:110,1
    - Dst: tool_mime_new
      Src: /src/PROJ/curl/src/tool_formparse.c:112,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_formparse.c:114,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_formparse.c:127,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/PROJ/curl/src/tool_formparse.c:134,1
    - Dst: ftell
      Src: /src/PROJ/curl/src/tool_formparse.c:135,1
    - Dst: fstat
      Src: /src/PROJ/curl/src/tool_formparse.c:138,1
    - Dst: S_ISREG
      Src: /src/PROJ/curl/src/tool_formparse.c:142,1
    - Dst: file2memory
      Src: /src/PROJ/curl/src/tool_formparse.c:150,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_formparse.c:159,1
    - Dst: uztoso
      Src: /src/PROJ/curl/src/tool_formparse.c:165,1
    - Dst: tool_mime_new
      Src: /src/PROJ/curl/src/tool_formparse.c:168,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:170,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - parent
    - filename
    - isremotefile
    - errcode
    argTypes:
    - struct tool_mime*
    - char*
    - bool
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 180
    functionName: tool_mime_new_filedata
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - S_ISREG
    - fileno
    - free
    - ftell
    - uztoso
    - tool_safefree
    - strcmp
    - fstat
    - CURLX_SET_BINMODE
    - file2memory
    - tool_mime_new
    - strdup
    linkageType: ''
    returnType: struct tool_mime
    signature: "struct tool_mime *tool_mime_new_filedata(struct tool_mime *parent,\n
      \                                               const char *filename,\n                                                bool
      isremotefile,\n                                                CURLcode *errcode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tool_mime_free
      Src: /src/PROJ/curl/src/tool_formparse.c:188,1
    - Dst: tool_mime_free
      Src: /src/PROJ/curl/src/tool_formparse.c:190,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:191,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:192,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:193,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:194,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:195,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_formparse.c:196,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_formparse.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - mime
    argTypes:
    - struct tool_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: tool_mime_free
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 2
    functionsReached:
    - tool_safefree
    - curl_slist_free_all
    - tool_mime_free
    - free
    linkageType: ''
    returnType: void
    signature: void tool_mime_free(struct tool_mime *mime)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uztoso
      Src: /src/PROJ/curl/src/tool_formparse.c:214,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/src/tool_formparse.c:215,1
    - Dst: memcpy
      Src: /src/PROJ/curl/src/tool_formparse.c:220,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/src/tool_formparse.c:220,1
    - Dst: fread
      Src: /src/PROJ/curl/src/tool_formparse.c:224,1
    - Dst: ferror
      Src: /src/PROJ/curl/src/tool_formparse.c:225,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:228,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_formparse.c:228,1
    - Dst: uztoso
      Src: /src/PROJ/curl/src/tool_formparse.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - arg
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 235
    functionName: tool_mime_stdin_read
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - uztoso
    - curlx_sotouz
    - memcpy
    - curlx_strerror
    - warnf
    - ferror
    - fread
    linkageType: ''
    returnType: size_t
    signature: "size_t tool_mime_stdin_read(char *buffer,\n                            size_t
      size, size_t nitems, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fseek
      Src: /src/PROJ/curl/src/tool_formparse.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 257
    functionName: tool_mime_stdin_seek
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - curlx_fseek
    linkageType: ''
    returnType: int
    signature: int tool_mime_stdin_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tool2curlparts
      Src: /src/PROJ/curl/src/tool_formparse.c:270,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/src/tool_formparse.c:272,1
    - Dst: tool2curlmime
      Src: /src/PROJ/curl/src/tool_formparse.c:280,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/src/tool_formparse.c:282,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/src/tool_formparse.c:284,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/src/tool_formparse.c:289,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/src/tool_formparse.c:294,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/src/tool_formparse.c:296,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/src/tool_formparse.c:302,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/src/tool_formparse.c:304,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/src/tool_formparse.c:316,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/src/tool_formparse.c:318,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/src/tool_formparse.c:320,1
    - Dst: curl_mime_encoder
      Src: /src/PROJ/curl/src/tool_formparse.c:322,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/src/tool_formparse.c:324,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 3
    argNames:
    - curl
    - m
    - mime
    argTypes:
    - CURL*
    - struct tool_mime*
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 327
    functionName: tool2curlparts
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 1
    functionsReached:
    - tool2curlparts
    - curl_mime_headers
    - curl_mime_data
    - curl_mime_name
    - curl_mime_subparts
    - FALLTHROUGH
    - curl_mime_free
    - curl_mime_data_cb
    - curl_mime_encoder
    - curl_mime_filename
    - curl_mime_type
    - curl_mime_addpart
    - tool2curlmime
    - curl_mime_filedata
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool2curlparts(CURL *curl, struct tool_mime *m,\n                               curl_mime
      *mime)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/src/tool_formparse.c:333,1
    - Dst: tool2curlparts
      Src: /src/PROJ/curl/src/tool_formparse.c:337,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/src/tool_formparse.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - curl
    - m
    - mime
    argTypes:
    - CURL*
    - struct tool_mime*
    - curl_mime**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: tool2curlmime
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 2
    functionsReached:
    - tool2curlparts
    - curl_mime_init
    - curl_mime_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tool2curlmime(CURL *curl, struct tool_mime *m, curl_mime **mime)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/PROJ/curl/src/tool_formparse.c:387,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:392,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - str
    - end_pos
    - endchar
    argTypes:
    - char**
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 406
    functionName: get_param_word
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - warnf
    linkageType: ''
    returnType: char
    signature: char *get_param_word(char **str, char **end_pos, char endchar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/src/tool_formparse.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - plist
    - data
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: slist_append
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 71
    functionsReached:
    - curl_slist_append
    linkageType: ''
    returnType: int
    signature: int slist_append(struct curl_slist **plist, const char *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_formparse.c:427,1
    - Dst: my_get_line
      Src: /src/PROJ/curl/src/tool_formparse.c:428,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_formparse.c:429,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_formparse.c:430,1
    - Dst: ISNEWLINE
      Src: /src/PROJ/curl/src/tool_formparse.c:437,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:437,1
    - Dst: curlx_dyn_setlen
      Src: /src/PROJ/curl/src/tool_formparse.c:442,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_formparse.c:448,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/src/tool_formparse.c:453,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_formparse.c:453,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_formparse.c:457,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_formparse.c:460,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_formparse.c:460,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_formparse.c:461,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_formparse.c:463,1
    - Dst: slist_append
      Src: /src/PROJ/curl/src/tool_formparse.c:468,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_formparse.c:471,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_formparse.c:476,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - fp
    - pheaders
    argTypes:
    - FILE*
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 478
    functionName: read_field_headers
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - curl_free
    - curlx_dyn_setlen
    - my_get_line
    - curlx_dyn_ptr
    - ISNEWLINE
    - curlx_dyn_addn
    - ISBLANK
    - curl_maprintf
    - curlx_dyn_init
    - curlx_dyn_free
    - errorf
    - curlx_dyn_len
    - curlx_dyn_add
    - slist_append
    linkageType: ''
    returnType: int
    signature: int read_field_headers(FILE *fp, struct curl_slist **pheaders)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:503,1
    - Dst: get_param_word
      Src: /src/PROJ/curl/src/tool_formparse.c:506,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:509,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:514,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_formparse.c:517,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:519,1
    - Dst: strcspn
      Src: /src/PROJ/curl/src/tool_formparse.c:525,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_formparse.c:530,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:535,1
    - Dst: get_param_word
      Src: /src/PROJ/curl/src/tool_formparse.c:538,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:541,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_formparse.c:546,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:558,1
    - Dst: get_param_word
      Src: /src/PROJ/curl/src/tool_formparse.c:560,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:563,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_formparse.c:567,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:570,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_formparse.c:571,1
    - Dst: read_field_headers
      Src: /src/PROJ/curl/src/tool_formparse.c:574,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_formparse.c:576,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_formparse.c:578,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:586,1
    - Dst: get_param_word
      Src: /src/PROJ/curl/src/tool_formparse.c:589,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:592,1
    - Dst: slist_append
      Src: /src/PROJ/curl/src/tool_formparse.c:596,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_formparse.c:597,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_formparse.c:598,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/src/tool_formparse.c:603,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:608,1
    - Dst: get_param_word
      Src: /src/PROJ/curl/src/tool_formparse.c:611,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/src/tool_formparse.c:614,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_formparse.c:622,1
    - Dst: get_param_word
      Src: /src/PROJ/curl/src/tool_formparse.c:628,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:633,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:644,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:649,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:654,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:659,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_formparse.c:660,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 138
    argCount: 7
    argNames:
    - endchar
    - str
    - pdata
    - ptype
    - pfilename
    - pencoder
    - pheaders
    argTypes:
    - char
    - char**
    - char**
    - char**
    - char**
    - char**
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 665
    functionName: get_param_part
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - strcspn
    - ISBLANK
    - curl_slist_free_all
    - curlx_strerror
    - get_param_word
    - curlx_fopen
    - read_field_headers
    - slist_append
    - warnf
    - errorf
    - ISSPACE
    - curlx_fclose
    - checkprefix
    linkageType: ''
    returnType: int
    signature: "int get_param_part(char endchar,\n                          char **str,
      char **pdata, char **ptype,\n                          char **pfilename, char
      **pencoder,\n                          struct curl_slist **pheaders)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: SET_TOOL_MIME_PTR
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TOOL_MIME_PTR(m, field)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: tool_mime_new_parts
      Src: /src/PROJ/curl/src/tool_formparse.c:745,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_formparse.c:752,1
    - Dst: strchr
      Src: /src/PROJ/curl/src/tool_formparse.c:757,1
    - Dst: get_param_part
      Src: /src/PROJ/curl/src/tool_formparse.c:766,1
    - Dst: tool_mime_new_parts
      Src: /src/PROJ/curl/src/tool_formparse.c:769,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:775,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_formparse.c:777,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:780,1
    - Dst: get_param_part
      Src: /src/PROJ/curl/src/tool_formparse.c:795,1
    - Dst: tool_mime_new_parts
      Src: /src/PROJ/curl/src/tool_formparse.c:807,1
    - Dst: tool_mime_new_filedata
      Src: /src/PROJ/curl/src/tool_formparse.c:814,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:824,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:827,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:831,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:832,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:833,1
    - Dst: get_param_part
      Src: /src/PROJ/curl/src/tool_formparse.c:842,1
    - Dst: tool_mime_new_filedata
      Src: /src/PROJ/curl/src/tool_formparse.c:847,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:858,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:861,1
    - Dst: get_param_part
      Src: /src/PROJ/curl/src/tool_formparse.c:870,1
    - Dst: tool_mime_new_data
      Src: /src/PROJ/curl/src/tool_formparse.c:876,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:883,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:884,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:885,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:889,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/PROJ/curl/src/tool_formparse.c:894,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_formparse.c:897,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_formparse.c:902,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/src/tool_formparse.c:903,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 135
    argCount: 4
    argNames:
    - input
    - mimeroot
    - mimecurrent
    - literal_value
    argTypes:
    - char*
    - struct tool_mime**
    - struct tool_mime**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 724
    functionDepth: 5
    functionLinenumber: 724
    functionLinenumberEnd: 905
    functionName: formparse
    functionSourceFile: /src/PROJ/curl/src/tool_formparse.c
    functionUses: 1
    functionsReached:
    - strcmp
    - tool_mime_new_data
    - strchr
    - tool_mime_new_filedata
    - curl_slist_free_all
    - SET_TOOL_MIME_PTR
    - warnf
    - tool_mime_new_parts
    - get_param_part
    - tool_safefree
    - strdup
    linkageType: ''
    returnType: int
    signature: "int formparse(const char *input,\n              struct tool_mime **mimeroot,\n
      \             struct tool_mime **mimecurrent,\n              bool literal_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/src/tool_cb_soc.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - clientp
    - purpose
    - addr
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: tool_socket_open_mptcp_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_soc.c
    functionUses: 0
    functionsReached:
    - CURL_SOCKET
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t tool_socket_open_mptcp_cb(void *clientp,\n                                        curlsocktype
      purpose,\n                                        struct curl_sockaddr *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: tool_init_stderr
    functionSourceFile: /src/PROJ/curl/src/tool_stderr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tool_init_stderr(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_stderr.c:46,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_stderr.c:53,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_stderr.c:55,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_stderr.c:58,1
    - Dst: freopen
      Src: /src/PROJ/curl/src/tool_stderr.c:63,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_stderr.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: tool_set_stderr_file
    functionSourceFile: /src/PROJ/curl/src/tool_stderr.c
    functionUses: 1
    functionsReached:
    - strcmp
    - curlx_fopen
    - freopen
    - warnf
    - DEBUGASSERT
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void tool_set_stderr_file(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/curlinfo.c:248,1
    - Dst: printf
      Src: /src/PROJ/curl/src/curlinfo.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/PROJ/curl/src/curlinfo.c
    functionUses: 5
    functionsReached:
    - CURL_ARRAYSIZE
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_xattr.c:51,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_xattr.c:53,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_xattr.c:57,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_xattr.c:61,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_xattr.c:65,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_xattr.c:69,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_xattr.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 76
    functionName: stripcredentials
    functionSourceFile: /src/PROJ/curl/src/tool_xattr.c
    functionUses: 1
    functionsReached:
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    - curl_url
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST *stripcredentials(const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_xattr.c:85,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/src/tool_xattr.c:86,1
    - Dst: fsetxattr
      Src: /src/PROJ/curl/src/tool_xattr.c:91,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_xattr.c:91,1
    - Dst: fsetxattr
      Src: /src/PROJ/curl/src/tool_xattr.c:93,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_xattr.c:93,1
    - Dst: extattr_set_fd
      Src: /src/PROJ/curl/src/tool_xattr.c:96,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_xattr.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - attr
    - value
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: xattr
    functionSourceFile: /src/PROJ/curl/src/tool_xattr.c
    functionUses: 2
    functionsReached:
    - getenv
    - fsetxattr
    - curl_mprintf
    - strlen
    - extattr_set_fd
    linkageType: ''
    returnType: int
    signature: "int xattr(int fd,\n                 const char *attr, /* name of the
      xattr */\n                 const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xattr
      Src: /src/PROJ/curl/src/tool_xattr.c:112,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/src/tool_xattr.c:117,1
    - Dst: xattr
      Src: /src/PROJ/curl/src/tool_xattr.c:119,1
    - Dst: stripcredentials
      Src: /src/PROJ/curl/src/tool_xattr.c:123,1
    - Dst: xattr
      Src: /src/PROJ/curl/src/tool_xattr.c:126,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_xattr.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - curl
    - url
    - fd
    argTypes:
    - CURL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: fwrite_xattr
    functionSourceFile: /src/PROJ/curl/src/tool_xattr.c
    functionUses: 1
    functionsReached:
    - curl_free
    - xattr
    - stripcredentials
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: int fwrite_xattr(CURL *curl, const char *url, int fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:45,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:46,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:47,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:53,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:58,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:66,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:72,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:73,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:77,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:77,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:83,1
    - Dst: curlx_fdopen
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:92,1
    - Dst: close
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:94,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:100,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:101,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - outs
    - config
    argTypes:
    - struct OutStruct*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 110
    functionName: tool_create_output_file
    functionSourceFile: /src/PROJ/curl/src/tool_cb_wrt.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_init
    - curlx_strerror
    - curlx_fopen
    - close
    - curlx_dyn_reset
    - warnf
    - DEBUGASSERT
    - curlx_open
    - curlx_fdopen
    linkageType: ''
    returnType: bool
    signature: "bool tool_create_output_file(struct OutStruct *outs,\n                             struct
      OperationConfig *config)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:165,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:166,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:167,1
    - Dst: WriteConsoleW
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:168,1
    - Dst: memset
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:175,1
    - Dst: IS_TRAILING_BYTE
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:186,1
    - Dst: IS_TRAILING_BYTE
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:193,1
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:207,1
    - Dst: realloc
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:214,1
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:222,1
    - Dst: WriteConsoleW
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:228,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 5
    argNames:
    - fhnd
    - outs
    - buffer
    - bytes
    - retp
    argTypes:
    - intptr_t
    - struct OutStruct*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 235
    functionName: win_console
    functionSourceFile: /src/PROJ/curl/src/tool_cb_wrt.c
    functionUses: 0
    functionsReached:
    - MultiByteToWideChar
    - realloc
    - CURL_ARRAYSIZE
    - memset
    - DEBUGASSERT
    - IS_TRAILING_BYTE
    - WriteConsoleW
    linkageType: ''
    returnType: size_t
    signature: "size_t win_console(intptr_t fhnd, struct OutStruct *outs,\n                          char
      *buffer, size_t bytes,\n                          size_t *retp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: IS_TRAILING_BYTE
    functionSourceFile: /src/PROJ/curl/src/tool_cb_wrt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRAILING_BYTE(x)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:260,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:263,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:269,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:275,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:304,1
    - Dst: tool_create_output_file
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:310,1
    - Dst: memchr
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:315,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:316,1
    - Dst: _get_osfhandle
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:325,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:325,1
    - Dst: isatty
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:327,1
    - Dst: fileno
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:327,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:328,1
    - Dst: win_console
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:329,1
    - Dst: tool_write_headers
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:337,1
    - Dst: fwrite
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:340,1
    - Dst: curl_easy_pause
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:349,1
    - Dst: fflush
      Src: /src/PROJ/curl/src/tool_cb_wrt.c:356,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 75
    argCount: 4
    argNames:
    - buffer
    - sz
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 365
    functionName: tool_write_cb
    functionSourceFile: /src/PROJ/curl/src/tool_cb_wrt.c
    functionUses: 0
    functionsReached:
    - curl_free
    - _get_osfhandle
    - fileno
    - isatty
    - win_console
    - tool_write_headers
    - fwrite
    - fflush
    - tool_create_output_file
    - warnf
    - GetConsoleScreenBufferInfo
    - memchr
    - curl_getenv
    - curl_easy_pause
    linkageType: ''
    returnType: size_t
    signature: size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:47,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:50,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:53,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:56,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:59,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:62,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:65,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/src/tool_writeout_json.c:69,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_writeout_json.c:75,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - in
    - len
    - out
    - lowercase
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: jsonquoted
    functionSourceFile: /src/PROJ/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_addf
    linkageType: ''
    returnType: int
    signature: "int jsonquoted(const char *in, size_t len,\n               struct
      dynbuf *out, bool lowercase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_writeout_json.c:88,1
    - Dst: jsonquoted
      Src: /src/PROJ/curl/src/tool_writeout_json.c:90,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_writeout_json.c:90,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:91,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_writeout_json.c:92,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout_json.c:93,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_writeout_json.c:93,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:94,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_writeout_json.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - in
    - lowercase
    argTypes:
    - FILE*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: jsonWriteString
    functionSourceFile: /src/PROJ/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - fputs
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_dyn_free
    - jsonquoted
    - strlen
    - curlx_dyn_len
    - fputc
    linkageType: ''
    returnType: void
    signature: void jsonWriteString(FILE *stream, const char *in, bool lowercase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout_json.c:105,1
    - Dst: writefunc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:109,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout_json.c:110,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout_json.c:115,1
    - Dst: jsonWriteString
      Src: /src/PROJ/curl/src/tool_writeout_json.c:116,1
    - Dst: curl_version
      Src: /src/PROJ/curl/src/tool_writeout_json.c:116,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_writeout_json.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - stream
    - mappings
    - nentries
    - per
    - per_result
    argTypes:
    - FILE*
    - struct writeoutvar[]
    - size_t
    - struct per_transfer*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: ourWriteOutJSON
    functionSourceFile: /src/PROJ/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - fputs
    - curl_mfprintf
    - curl_version
    - jsonWriteString
    - writefunc
    linkageType: ''
    returnType: void
    signature: "void ourWriteOutJSON(FILE *stream, const struct writeoutvar mappings[],\n
      \                    size_t nentries,\n                     struct per_transfer
      *per, CURLcode per_result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:125,1
    - Dst: curl_easy_nextheader
      Src: /src/PROJ/curl/src/tool_writeout_json.c:126,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout_json.c:136,1
    - Dst: jsonWriteString
      Src: /src/PROJ/curl/src/tool_writeout_json.c:137,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:138,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:140,1
    - Dst: jsonWriteString
      Src: /src/PROJ/curl/src/tool_writeout_json.c:142,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:145,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/src/tool_writeout_json.c:146,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:150,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout_json.c:155,1
    - Dst: jsonWriteString
      Src: /src/PROJ/curl/src/tool_writeout_json.c:156,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:157,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:158,1
    - Dst: jsonWriteString
      Src: /src/PROJ/curl/src/tool_writeout_json.c:159,1
    - Dst: fputc
      Src: /src/PROJ/curl/src/tool_writeout_json.c:160,1
    - Dst: fputs
      Src: /src/PROJ/curl/src/tool_writeout_json.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - stream
    - per
    argTypes:
    - FILE*
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: headerJSON
    functionSourceFile: /src/PROJ/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - fputs
    - curl_easy_nextheader
    - curl_easy_header
    - jsonWriteString
    - fputc
    linkageType: ''
    returnType: void
    signature: void headerJSON(FILE *stream, struct per_transfer *per)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/terminal.c:47,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/src/terminal.c:51,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/terminal.c:53,1
    - Dst: ioctl
      Src: /src/PROJ/curl/src/terminal.c:61,1
    - Dst: ioctl
      Src: /src/PROJ/curl/src/terminal.c:65,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/src/terminal.c:69,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/PROJ/curl/src/terminal.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: get_terminal_columns
    functionSourceFile: /src/PROJ/curl/src/terminal.c
    functionUses: 3
    functionsReached:
    - curl_free
    - GetStdHandle
    - ioctl
    - curlx_str_number
    - GetConsoleScreenBufferInfo
    - curl_getenv
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_terminal_columns(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - error
    argTypes:
    - ParameterError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 74
    functionName: param2text
    functionSourceFile: /src/PROJ/curl/src/tool_helpers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *param2text(ParameterError error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_helpers.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - req
    - store
    argTypes:
    - HttpReq
    - HttpReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: SetHTTPrequest
    functionSourceFile: /src/PROJ/curl/src/tool_helpers.c
    functionUses: 3
    functionsReached:
    - warnf
    linkageType: ''
    returnType: int
    signature: int SetHTTPrequest(HttpReq req, HttpReq *store)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_helpers.c:114,1
    - Dst: notef
      Src: /src/PROJ/curl/src/tool_helpers.c:115,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/src/tool_helpers.c:118,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_helpers.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - req
    - method
    argTypes:
    - HttpReq
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: customrequest_helper
    functionSourceFile: /src/PROJ/curl/src/tool_helpers.c
    functionUses: 1
    functionsReached:
    - notef
    - curl_strequal
    - warnf
    linkageType: ''
    returnType: void
    signature: void customrequest_helper(HttpReq req, char *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: setfiletime
    functionSourceFile: /src/PROJ/curl/src/tool_filetime.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setfiletime(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_ipfs.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: has_trailing_slash
    functionSourceFile: /src/PROJ/curl/src/tool_ipfs.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool has_trailing_slash(const char *input)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_ipfs.c:45,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_ipfs.c:48,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/src/tool_ipfs.c:51,1
    - Dst: getenv
      Src: /src/PROJ/curl/src/tool_ipfs.c:54,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_ipfs.c:57,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_ipfs.c:63,1
    - Dst: has_trailing_slash
      Src: /src/PROJ/curl/src/tool_ipfs.c:64,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_ipfs.c:69,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:70,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_ipfs.c:76,1
    - Dst: getc
      Src: /src/PROJ/curl/src/tool_ipfs.c:79,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_ipfs.c:81,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_ipfs.c:85,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_ipfs.c:86,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:88,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_ipfs.c:89,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_ipfs.c:95,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:96,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: ipfs_gateway
    functionSourceFile: /src/PROJ/curl/src/tool_ipfs.c
    functionUses: 0
    functionsReached:
    - curl_free
    - getenv
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curl_maprintf
    - curlx_dyn_init
    - curlx_fopen
    - getc
    - curlx_dyn_len
    - curl_getenv
    - curlx_fclose
    - has_trailing_slash
    - strdup
    linkageType: ''
    returnType: char
    signature: char *ipfs_gateway(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/src/tool_ipfs.c:119,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:126,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_ipfs.c:134,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_ipfs.c:136,1
    - Dst: ipfs_gateway
      Src: /src/PROJ/curl/src/tool_ipfs.c:148,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_ipfs.c:154,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:161,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:168,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:173,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:178,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:180,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:184,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_ipfs.c:188,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_ipfs.c:189,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_ipfs.c:190,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/src/tool_ipfs.c:197,1
    - Dst: has_trailing_slash
      Src: /src/PROJ/curl/src/tool_ipfs.c:198,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/src/tool_ipfs.c:205,1
    - Dst: tool_safefree
      Src: /src/PROJ/curl/src/tool_ipfs.c:210,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/src/tool_ipfs.c:212,1
    - Dst: strdup
      Src: /src/PROJ/curl/src/tool_ipfs.c:216,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:217,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_ipfs.c:224,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:225,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:226,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:227,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:228,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:229,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:230,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:231,1
    - Dst: curl_free
      Src: /src/PROJ/curl/src/tool_ipfs.c:232,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/src/tool_ipfs.c:233,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_ipfs.c:237,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_ipfs.c:240,1
    - Dst: helpf
      Src: /src/PROJ/curl/src/tool_ipfs.c:243,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 106
    argCount: 4
    argNames:
    - uh
    - protocol
    - url
    - config
    argTypes:
    - CURLU*
    - char*
    - char**
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 250
    functionName: ipfs_url_rewrite
    functionSourceFile: /src/PROJ/curl/src/tool_ipfs.c
    functionUses: 1
    functionsReached:
    - curl_free
    - tool_safefree
    - free
    - curl_url_cleanup
    - curl_url
    - curl_maprintf
    - helpf
    - curl_url_get
    - ipfs_gateway
    - has_trailing_slash
    - curl_url_set
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ipfs_url_rewrite(CURLU *uh, const char *protocol, char **url,\n
      \                         struct OperationConfig *config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_bname.c:37,1
    - Dst: strrchr
      Src: /src/PROJ/curl/src/tool_bname.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: tool_basename
    functionSourceFile: /src/PROJ/curl/src/tool_bname.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *tool_basename(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - dash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ISSEP
    functionSourceFile: /src/PROJ/curl/src/tool_parsecfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSEP(x,dash)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_parsecfg.c:47,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_parsecfg.c:71,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_parsecfg.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - line
    - param
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: unslashquote
    functionSourceFile: /src/PROJ/curl/src/tool_parsecfg.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_reset
    linkageType: ''
    returnType: int
    signature: int unslashquote(const char *line, struct dynbuf *param)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: findfile
      Src: /src/PROJ/curl/src/tool_parsecfg.c:94,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_parsecfg.c:96,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_parsecfg.c:98,1
    - Dst: tool_execpath
      Src: /src/PROJ/curl/src/tool_parsecfg.c:107,1
    - Dst: tool_execpath
      Src: /src/PROJ/curl/src/tool_parsecfg.c:109,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_parsecfg.c:117,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/src/tool_parsecfg.c:118,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_parsecfg.c:132,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/src/tool_parsecfg.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/src/tool_parsecfg.c:134,1
    - Dst: my_get_line
      Src: /src/PROJ/curl/src/tool_parsecfg.c:136,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_parsecfg.c:139,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_parsecfg.c:151,1
    - Dst: ISSEP
      Src: /src/PROJ/curl/src/tool_parsecfg.c:151,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_parsecfg.c:159,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_parsecfg.c:163,1
    - Dst: ISSEP
      Src: /src/PROJ/curl/src/tool_parsecfg.c:163,1
    - Dst: unslashquote
      Src: /src/PROJ/curl/src/tool_parsecfg.c:169,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_parsecfg.c:174,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_parsecfg.c:174,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/src/tool_parsecfg.c:174,1
    - Dst: ISSPACE
      Src: /src/PROJ/curl/src/tool_parsecfg.c:178,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_parsecfg.c:187,1
    - Dst: warnf
      Src: /src/PROJ/curl/src/tool_parsecfg.c:197,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/src/tool_parsecfg.c:209,1
    - Dst: getparameter
      Src: /src/PROJ/curl/src/tool_parsecfg.c:211,1
    - Dst: config_alloc
      Src: /src/PROJ/curl/src/tool_parsecfg.c:221,1
    - Dst: strcmp
      Src: /src/PROJ/curl/src/tool_parsecfg.c:237,1
    - Dst: param2text
      Src: /src/PROJ/curl/src/tool_parsecfg.c:247,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_parsecfg.c:248,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_parsecfg.c:254,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/src/tool_parsecfg.c:255,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/src/tool_parsecfg.c:257,1
    - Dst: errorf
      Src: /src/PROJ/curl/src/tool_parsecfg.c:265,1
    - Dst: free
      Src: /src/PROJ/curl/src/tool_parsecfg.c:267,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 109
    argCount: 2
    argNames:
    - filename
    - max_recursive
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 269
    functionName: parseconfig
    functionSourceFile: /src/PROJ/curl/src/tool_parsecfg.c
    functionUses: 2
    functionsReached:
    - my_get_line
    - CURL_UNCONST
    - warnf
    - errorf
    - getparameter
    - ISSEP
    - tool_execpath
    - curlx_dyn_ptr
    - curl_mfprintf
    - curlx_dyn_init
    - curlx_fopen
    - ISSPACE
    - curlx_fclose
    - findfile
    - param2text
    - DEBUGASSERT
    - curlx_dyn_len
    - free
    - ISBLANK
    - strcmp
    - curlx_dyn_free
    - config_alloc
    - unslashquote
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError parseconfig(const char *filename, int max_recursive)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/src/tool_parsecfg.c:276,1
    - Dst: fgets
      Src: /src/PROJ/curl/src/tool_parsecfg.c:278,1
    - Dst: strlen
      Src: /src/PROJ/curl/src/tool_parsecfg.c:281,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/src/tool_parsecfg.c:286,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_parsecfg.c:295,1
    - Dst: curlx_dyn_setlen
      Src: /src/PROJ/curl/src/tool_parsecfg.c:297,1
    - Dst: feof
      Src: /src/PROJ/curl/src/tool_parsecfg.c:301,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_parsecfg.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - input
    - buf
    - error
    argTypes:
    - FILE*
    - struct dynbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 310
    functionName: get_line
    functionSourceFile: /src/PROJ/curl/src/tool_parsecfg.c
    functionUses: 6
    functionsReached:
    - curlx_dyn_setlen
    - curlx_dyn_addn
    - feof
    - curlx_dyn_reset
    - fgets
    - strlen
    - curlx_dyn_len
    linkageType: ''
    returnType: bool
    signature: bool get_line(FILE *input, struct dynbuf *buf, bool *error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_line
      Src: /src/PROJ/curl/src/tool_parsecfg.c:320,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/src/tool_parsecfg.c:322,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/src/tool_parsecfg.c:324,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/src/tool_parsecfg.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - input
    - buf
    - error
    argTypes:
    - FILE*
    - struct dynbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: my_get_line
    functionSourceFile: /src/PROJ/curl/src/tool_parsecfg.c
    functionUses: 5
    functionsReached:
    - curlx_dyn_len
    - ISBLANK
    - curlx_dyn_ptr
    - get_line
    linkageType: ''
    returnType: bool
    signature: bool my_get_line(FILE *input, struct dynbuf *buf, bool *error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-uidl.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-uidl.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:83,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-authzid.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:96,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:117,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:126,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:131,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:137,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:138,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:141,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:145,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:146,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:159,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-authzid.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-authzid.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-create.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-create.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-create.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-create.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-create.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-create.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-create.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-create.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-create.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-create.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-create.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-create.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:61,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:66,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:88,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:91,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:94,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/httpput-postfields.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/httpput-postfields.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:73,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-multi.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:86,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:90,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:110,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:115,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:116,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:117,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:123,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:124,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:127,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:130,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:134,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:142,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:145,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:146,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:148,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-multi.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-multi.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_slist_append
    - curl_multi_perform
    - curl_easy_init
    - curl_slist_free_all
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:39,1
    - Dst: fread
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - ferror
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:64,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:66,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:68,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - i_remoteFile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: sftpGetRemoteFileSize
    functionSourceFile: /src/PROJ/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t sftpGetRemoteFileSize(const char *i_remoteFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sftpGetRemoteFileSize
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:88,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:90,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:94,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:105,1
    - Dst: _fseeki64
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:108,1
    - Dst: fseek
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:112,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:113,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:115,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:120,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - curl
    - remotepath
    - localpath
    argTypes:
    - CURL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 123
    functionName: sftpResumeUpload
    functionSourceFile: /src/PROJ/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - printf
    - _fseeki64
    - sftpGetRemoteFileSize
    - curl_easy_perform
    - fprintf
    - curl_easy_strerror
    - perror
    - fclose
    - fseek
    - fopen
    linkageType: ''
    returnType: int
    signature: "int sftpResumeUpload(CURL *curl, const char *remotepath,\n                            const
      char *localpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:129,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:133,1
    - Dst: sftpResumeUpload
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:138,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:139,1
    - Dst: curl_version
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:139,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:142,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sftpuploadresume.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/sftpuploadresume.c
    functionUses: 5
    functionsReached:
    - printf
    - curl_version
    - curl_easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - sftpResumeUpload
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:54,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:63,1
    - Dst: gnutls_x509_crt_init
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:71,1
    - Dst: gnutls_x509_crt_import
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:73,1
    - Dst: gnutls_x509_crt_print
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:75,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:76,1
    - Dst: gnutls_free
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:79,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 95
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/sessioninfo.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - gnutls_x509_crt_deinit
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_print
    - gnutls_x509_crt_import
    - gnutls_certificate_get_peers
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:99,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:107,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sessioninfo.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/sessioninfo.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:54,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:58,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:62,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-fetch.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-fetch.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multithread.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multithread.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/multithread.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multithread.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: pull_one_url
    functionSourceFile: /src/PROJ/curl/docs/examples/multithread.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    linkageType: ''
    returnType: void
    signature: void *pull_one_url(void *pindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multithread.c:82,1
    - Dst: pthread_create
      Src: /src/PROJ/curl/docs/examples/multithread.c:87,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multithread.c:92,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multithread.c:94,1
    - Dst: pthread_join
      Src: /src/PROJ/curl/docs/examples/multithread.c:99,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multithread.c:100,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multithread.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multithread.c
    functionUses: 5
    functionsReached:
    - pthread_create
    - pthread_join
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-store.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-store.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-store.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-store.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-store.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-store.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-store.c:62,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-store.c:66,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-store.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-store.c:71,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-store.c:74,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-store.c:78,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-store.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-store.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-store.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-store.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/https.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/https.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/https.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/https.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/https.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/https.c:68,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/https.c:71,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/https.c:74,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/https.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/https.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/https.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/https.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:44,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:47,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/postinmemory.c
    functionUses: 0
    functionsReached:
    - printf
    - realloc
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(void *contents, size_t size, size_t nmemb,\n                                  void
      *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:66,1
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:70,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:90,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:90,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:93,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:96,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:97,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:106,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:110,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/postinmemory.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/postinmemory.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - printf
    - free
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - strlen
    - curl_global_cleanup
    - malloc
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:49,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:54,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:60,1
    - Dst: fputs
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:62,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:72,1
    - Dst: fputc
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:81,1
    - Dst: fflush
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:83,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - text
    - stream
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: dump
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-debugcallback.c
    functionUses: 42
    functionsReached:
    - fputs
    - fflush
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, FILE *stream, unsigned char *ptr,\n                 size_t
      size, char nohex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:97,1
    - Dst: dump
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: my_trace
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-debugcallback.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *curl, curl_infotype type,\n                    unsigned
      char *data, size_t size,\n                    void *userp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:126,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:138,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:139,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:142,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:148,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:151,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:155,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:162,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:165,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-debugcallback.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-debugcallback.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tidyBufAppend
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - size
    - nmemb
    - out
    argTypes:
    - char*
    - uint
    - uint
    - TidyBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltidy.c
    functionUses: 0
    functionsReached:
    - tidyBufAppend
    linkageType: ''
    returnType: uint
    signature: uint write_cb(char *in, uint size, uint nmemb, TidyBuffer *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tidyGetChild
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:50,1
    - Dst: tidyGetNext
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:50,1
    - Dst: tidyNodeGetName
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:51,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:55,1
    - Dst: tidyAttrFirst
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:57,1
    - Dst: tidyAttrNext
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:57,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:58,1
    - Dst: tidyAttrName
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:58,1
    - Dst: tidyAttrValue
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:59,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:59,1
    - Dst: tidyAttrValue
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:60,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:60,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:62,1
    - Dst: tidyBufInit
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:67,1
    - Dst: tidyNodeGetText
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:68,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:69,1
    - Dst: tidyBufFree
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:70,1
    - Dst: dumpNode
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - doc
    - tnod
    - indent
    argTypes:
    - TidyDoc
    - TidyNode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: dumpNode
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltidy.c
    functionUses: 1
    functionsReached:
    - tidyNodeGetName
    - printf
    - tidyGetNext
    - tidyAttrName
    - tidyBufInit
    - tidyAttrNext
    - tidyBufFree
    - tidyAttrFirst
    - tidyGetChild
    - tidyAttrValue
    - tidyNodeGetText
    - dumpNode
    linkageType: ''
    returnType: void
    signature: void dumpNode(TidyDoc doc, TidyNode tnod, int indent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:87,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:91,1
    - Dst: tidyCreate
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:95,1
    - Dst: tidyOptSetBool
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:96,1
    - Dst: tidyOptSetInt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:97,1
    - Dst: tidySetErrorBuffer
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:98,1
    - Dst: tidyBufInit
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:99,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:109,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:110,1
    - Dst: tidyParseBuffer
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:112,1
    - Dst: tidyCleanAndRepair
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:114,1
    - Dst: tidyRunDiagnostics
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:116,1
    - Dst: dumpNode
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:118,1
    - Dst: tidyGetRoot
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:118,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:119,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:128,1
    - Dst: tidyBufFree
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:131,1
    - Dst: tidyBufFree
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:132,1
    - Dst: tidyRelease
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:133,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/htmltidy.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltidy.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - tidyBufInit
    - curl_easy_cleanup
    - tidyRelease
    - tidyGetRoot
    - tidyCreate
    - curl_easy_init
    - tidyBufFree
    - curl_easy_perform
    - dumpNode
    - fprintf
    - printf
    - tidyOptSetBool
    - tidyParseBuffer
    - tidyRunDiagnostics
    - curl_global_init
    - tidyCleanAndRepair
    - tidySetErrorBuffer
    - tidyOptSetInt
    - curl_global_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:45,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:48,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:51,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/rtsp-options.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/rtsp-options.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/protofeats.c:40,1
    - Dst: curl_version_info
      Src: /src/PROJ/curl/docs/examples/protofeats.c:44,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/protofeats.c:45,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/protofeats.c:47,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/protofeats.c:48,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/protofeats.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/protofeats.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/protofeats.c
    functionUses: 5
    functionsReached:
    - printf
    - curl_version_info
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:47,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:48,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:50,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:51,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:57,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: print_cookies
    functionSourceFile: /src/PROJ/curl/docs/examples/cookie_interface.c
    functionUses: 0
    functionsReached:
    - printf
    - curl_easy_getinfo
    - curl_slist_free_all
    - curl_easy_strerror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int print_cookies(CURL *curl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:75,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:85,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:86,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:88,1
    - Dst: print_cookies
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:92,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:95,1
    - Dst: print_cookies
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:97,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:99,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:102,1
    - Dst: difftime
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:104,1
    - Dst: time
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:106,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:108,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:109,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:118,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:121,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:123,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:124,1
    - Dst: print_cookies
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:128,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:130,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:132,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:132,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:136,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/cookie_interface.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/cookie_interface.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - print_cookies
    - printf
    - time
    - snprintf
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - difftime
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-delete.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-delete.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:51,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/default-scheme.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/default-scheme.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: mycase
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mycase(code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:118,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:119,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:120,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:121,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:122,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:123,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:125,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:126,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:130,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: mcode_or_die
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - exit
    - mycase
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:143,1
    - Dst: evtimer_del
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:152,1
    - Dst: evtimer_add
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - g
    argTypes:
    - CURLM*
    - long
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: multi_timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - evtimer_add
    - evtimer_del
    - fprintf
    linkageType: ''
    returnType: int
    signature: int multi_timer_cb(CURLM *multi, long timeout_ms, struct GlobalInfo
      *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:166,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:167,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:171,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:172,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:173,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:174,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:175,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:176,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:177,1
    - Dst: event_base_loopbreak
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: check_multi_info
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - free
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - event_base_loopbreak
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:194,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:195,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:197,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:199,1
    - Dst: evtimer_pending
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:200,1
    - Dst: evtimer_del
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - kind
    - userp
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: event_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - evtimer_del
    - check_multi_info
    - evtimer_pending
    - curl_multi_socket_action
    - mcode_or_die
    - fprintf
    linkageType: ''
    returnType: void
    signature: void event_cb(int fd, short kind, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:214,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:216,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - kind
    - userp
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    - mcode_or_die
    linkageType: ''
    returnType: void
    signature: void timer_cb(int fd, short kind, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:224,1
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:225,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct SockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: remsock
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - free
    - event_del
    - event_initialized
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:242,1
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:243,1
    - Dst: event_assign
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:245,1
    - Dst: event_add
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: setsock
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - event_assign
    - event_add
    - event_del
    - event_initialized
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:253,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:256,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - curl
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: addsock
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - curl_multi_assign
    - calloc
    - setsock
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *curl, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:267,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:270,1
    - Dst: remsock
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:271,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:275,1
    - Dst: addsock
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:276,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:279,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 286
    functionName: sock_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - addsock
    - remsock
    - fprintf
    - setsock
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: xferinfo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *p, curl_off_t dltotal, curl_off_t dlnow,\n                       curl_off_t
      ult, curl_off_t uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:315,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:318,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:320,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:321,1
    - Dst: strdup
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:324,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:325,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:326,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:327,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:329,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:330,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:331,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:332,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:333,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:334,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:335,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:337,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 342
    functionName: new_conn
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_multi_add_handle
    - calloc
    - exit
    - mcode_or_die
    - strdup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:356,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:359,1
    - Dst: event_base_loopbreak
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:362,1
    - Dst: new_conn
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 370
    functionName: fifo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - fscanf
    - event_base_loopbreak
    - new_conn
    - strcmp
    linkageType: ''
    returnType: void
    signature: void fifo_cb(int fd, short event, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:379,1
    - Dst: lstat
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:380,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:383,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:387,1
    - Dst: mkfifo
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:388,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:389,1
    - Dst: open
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:392,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:394,1
    - Dst: fdopen
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:397,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:399,1
    - Dst: event_assign
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:400,1
    - Dst: event_add
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 404
    functionName: init_fifo
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - lstat
    - event_add
    - open
    - fdopen
    - event_assign
    - mkfifo
    - unlink
    - perror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int init_fifo(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:408,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:409,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: clean_fifo
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - unlink
    - event_del
    - fclose
    linkageType: ''
    returnType: void
    signature: void clean_fifo(struct GlobalInfo *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:420,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:424,1
    - Dst: event_base_new
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:425,1
    - Dst: init_fifo
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:426,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:427,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:430,1
    - Dst: evtimer_assign
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:431,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:434,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:435,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:436,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:437,1
    - Dst: event_base_dispatch
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:442,1
    - Dst: clean_fifo
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:447,1
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:448,1
    - Dst: event_base_free
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:449,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:450,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/hiperfifo.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 453
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/hiperfifo.c
    functionUses: 5
    functionsReached:
    - clean_fifo
    - curl_multi_init
    - init_fifo
    - evtimer_assign
    - event_base_dispatch
    - curl_multi_cleanup
    - memset
    - event_base_new
    - curl_global_cleanup
    - event_base_free
    - event_del
    - curl_multi_setopt
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-list.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-list.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-list.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-list.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-list.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-list.c:59,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-list.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-list.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-list.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-list.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-list.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:63,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-noop.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-noop.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/chkspeed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:79,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:85,1
    - Dst: curl_version
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:86,1
    - Dst: atoi
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:103,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:127,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:133,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:137,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:150,1
    - Dst: time
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:154,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:155,1
    - Dst: ctime
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:155,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:159,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:164,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:175,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:179,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:185,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:187,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:190,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:192,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:198,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:200,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:206,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:208,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:214,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:216,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:223,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:224,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:228,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/chkspeed.c:232,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 235
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/chkspeed.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - printf
    - ctime
    - time
    - curl_easy_getinfo
    - curl_version
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - atoi
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - curl
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: my_lock
    functionSourceFile: /src/PROJ/curl/docs/examples/shared-connection-cache.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void my_lock(CURL *curl, curl_lock_data data,\n                    curl_lock_access
      laccess, void *useptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curl
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: my_unlock
    functionSourceFile: /src/PROJ/curl/docs/examples/shared-connection-cache.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void my_unlock(CURL *curl, curl_lock_data data, void *useptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:54,1
    - Dst: curl_share_init
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:58,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:59,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:61,1
    - Dst: curl_share_setopt
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:62,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:73,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:76,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:79,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:83,1
    - Dst: curl_share_cleanup
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/shared-connection-cache.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/shared-connection-cache.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_share_setopt
    - curl_share_cleanup
    - curl_share_init
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http-post.c:37,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/http-post.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http-post.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http-post.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/http-post.c:52,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http-post.c:55,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/http-post.c:56,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http-post.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http-post.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http-post.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:77,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-ssl.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:90,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:116,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:124,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:134,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:139,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:140,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:147,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:148,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:153,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:156,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:160,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:161,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:164,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-ssl.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-ssl.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:54,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:57,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-retr.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-retr.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:67,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: pull_one_url
    functionSourceFile: /src/PROJ/curl/docs/examples/threaded-ssl.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    linkageType: ''
    returnType: void
    signature: void *pull_one_url(void *pindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:84,1
    - Dst: pthread_create
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:89,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:94,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:96,1
    - Dst: pthread_join
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:101,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/threaded-ssl.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/threaded-ssl.c
    functionUses: 5
    functionsReached:
    - pthread_create
    - pthread_join
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: strerror
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: gettimeofday
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettimeofday(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tp
    - tzp
    argTypes:
    - struct timeval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: my_gettimeofday
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int my_gettimeofday(struct timeval *tp, void *tzp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:106,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:111,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:117,1
    - Dst: fputs
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:119,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:129,1
    - Dst: fputc
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - text
    - num
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - int
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 140
    functionName: dump
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 43
    functionsReached:
    - fputs
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, int num, unsigned char *ptr,\n                 size_t
      size, char nohex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:156,1
    - Dst: time
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:158,1
    - Dst: localtime
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:162,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:163,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:168,1
    - Dst: dump
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 194
    functionName: my_trace
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - time
    - gettimeofday
    - dump
    - localtime
    - snprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *curl, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:303,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:314,1
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:318,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:320,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:325,1
    - Dst: setup
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:330,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:335,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:338,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:341,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:344,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:348,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:359,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:360,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:363,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:365,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:367,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:370,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-upload.c:372,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 375
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-upload.c
    functionUses: 5
    functionsReached:
    - curl_global_init
    - curl_multi_poll
    - free
    - curl_multi_perform
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - setup
    - calloc
    - fclose
    - curl_global_cleanup
    - atoi
    - fprintf
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http3-present.c:35,1
    - Dst: curl_version_info
      Src: /src/PROJ/curl/docs/examples/http3-present.c:39,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/http3-present.c:41,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/http3-present.c:44,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/http3-present.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http3-present.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http3-present.c
    functionUses: 5
    functionsReached:
    - printf
    - curl_version_info
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:64,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-authzid.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-authzid.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: strerror
    functionSourceFile: /src/PROJ/curl/docs/examples/externalsocket.c
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clientp
    - item
    argTypes:
    - void*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: closecb
    functionSourceFile: /src/PROJ/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int closecb(void *clientp, curl_socket_t item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: opensocket
    functionSourceFile: /src/PROJ/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t opensocket(void *clientp,\n                                curlsocktype
      purpose,\n                                struct curl_sockaddr *address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: sockopt_callback
    functionSourceFile: /src/PROJ/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sockopt_callback(void *clientp, curl_socket_t curlfd,\n                            curlsocktype
      purpose)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:106,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:116,1
    - Dst: socket
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:119,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:121,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:125,1
    - Dst: htons
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:127,1
    - Dst: inet_addr
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:129,1
    - Dst: close
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:131,1
    - Dst: connect
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:135,1
    - Dst: close
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:137,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:138,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:138,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:153,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:154,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:157,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:159,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:161,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:163,1
    - Dst: close
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:165,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:168,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/externalsocket.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/externalsocket.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - printf
    - inet_addr
    - socket
    - connect
    - curl_easy_init
    - strerror
    - curl_easy_perform
    - memset
    - close
    - curl_easy_cleanup
    - curl_global_cleanup
    - htons
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/simple.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/simple.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simple.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simple.c:43,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/simple.c:46,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/simple.c:49,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/simple.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/simple.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/simple.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/simple.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_meta
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:35,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:36,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:38,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - b
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket-cb.c
    functionUses: 0
    functionsReached:
    - curl_ws_meta
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *b, size_t size, size_t nitems, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:48,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:58,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:61,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/websocket-cb.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket-cb.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:47,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:60,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:64,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:67,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:71,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:78,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-multi.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-multi.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/persistent.c:36,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/persistent.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/persistent.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/persistent.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/persistent.c:46,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/persistent.c:49,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/persistent.c:52,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/persistent.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/persistent.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/persistent.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/persistent.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/persistent.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/persistent.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/persistent.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/persistent.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/debug.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/debug.c:52,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/debug.c:58,1
    - Dst: fputs
      Src: /src/PROJ/curl/docs/examples/debug.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/debug.c:70,1
    - Dst: fputc
      Src: /src/PROJ/curl/docs/examples/debug.c:79,1
    - Dst: fflush
      Src: /src/PROJ/curl/docs/examples/debug.c:81,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - text
    - stream
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 82
    functionName: dump
    functionSourceFile: /src/PROJ/curl/docs/examples/debug.c
    functionUses: 44
    functionsReached:
    - fputs
    - fflush
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, FILE *stream, unsigned char *ptr,\n                 size_t
      size, char nohex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/debug.c:93,1
    - Dst: dump
      Src: /src/PROJ/curl/docs/examples/debug.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: my_trace
    functionSourceFile: /src/PROJ/curl/docs/examples/debug.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *curl, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/debug.c:127,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/debug.c:133,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/debug.c:135,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/debug.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/debug.c:139,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/debug.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/debug.c:144,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/debug.c:145,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/debug.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/debug.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/debug.c:152,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/debug.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/debug.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-double.c:42,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-double.c:46,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-double.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-double.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-double.c:57,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-double.c:60,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-double.c:66,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-double.c:67,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-double.c:73,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/multi-double.c:77,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/multi-double.c:83,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-double.c:87,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/multi-double.c:93,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/multi-double.c:94,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-double.c:96,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-double.c:100,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-double.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-double.c:103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-double.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_multi_info_read
    - fprintf
    - curl_multi_add_handle
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/altsvc.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/altsvc.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/altsvc.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/altsvc.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/altsvc.c:47,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/altsvc.c:51,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/altsvc.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/altsvc.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/altsvc.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/altsvc.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/altsvc.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: getcontentlengthfunc
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: size_t
    signature: "size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb,\n
      \                                  void *stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:61,1
    - Dst: fread
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached:
    - ferror
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:78,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:109,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:123,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:129,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:130,1
    - Dst: fseek
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:132,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:137,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:140,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:143,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - curl
    - remotepath
    - localpath
    - timeout
    - tries
    argTypes:
    - CURL*
    - char*
    - char*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 151
    functionName: upload
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadresume.c
    functionUses: 3
    functionsReached:
    - curl_easy_setopt
    - curl_easy_perform
    - fprintf
    - curl_easy_strerror
    - perror
    - fclose
    - fseek
    - fopen
    linkageType: ''
    returnType: int
    signature: "int upload(CURL *curl, const char *remotepath,\n                  const
      char *localpath, long timeout, long tries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:157,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:161,1
    - Dst: upload
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:163,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:164,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpuploadresume.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadresume.c
    functionUses: 5
    functionsReached:
    - upload
    - curl_easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/simplepost.c:38,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/simplepost.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplepost.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplepost.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplepost.c:48,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/simplepost.c:48,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/simplepost.c:51,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/simplepost.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/simplepost.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/simplepost.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/simplepost.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/simplepost.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - strlen
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: write_response
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpgetresp.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_response(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:49,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:56,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:61,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:63,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:64,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:76,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:77,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:80,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:84,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:87,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:88,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpgetresp.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpgetresp.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - fprintf
    - curl_easy_cleanup
    - curl_easy_strerror
    - fclose
    - curl_global_cleanup
    - fopen
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/keepalive.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/keepalive.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/keepalive.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/keepalive.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/keepalive.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/keepalive.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/keepalive.c:53,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/keepalive.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/keepalive.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/keepalive.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/keepalive.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:81,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:92,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-tls.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-tls.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/postit2.c:50,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/postit2.c:54,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/docs/examples/postit2.c:62,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/postit2.c:65,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/docs/examples/postit2.c:66,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/docs/examples/postit2.c:67,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/postit2.c:70,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/docs/examples/postit2.c:71,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/docs/examples/postit2.c:72,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/postit2.c:75,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/docs/examples/postit2.c:76,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/docs/examples/postit2.c:77,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/postit2.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postit2.c:83,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/postit2.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postit2.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postit2.c:87,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/postit2.c:90,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/postit2.c:93,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/postit2.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/postit2.c:97,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/docs/examples/postit2.c:100,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/postit2.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/postit2.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/postit2.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_mime_data
    - curl_mime_name
    - strcmp
    - curl_mime_filedata
    - curl_easy_init
    - curl_mime_free
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/connect-to.c:36,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/connect-to.c:48,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/connect-to.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/connect-to.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/connect-to.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/connect-to.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/connect-to.c:59,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/connect-to.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/connect-to.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/connect-to.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/connect-to.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/connect-to.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:63,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-authzid.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-authzid.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:77,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:80,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:83,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:84,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:89,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:108,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:111,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:115,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:118,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:119,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - strlen
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/interface.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/interface.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/interface.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/interface.c:46,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/interface.c:48,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/interface.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/interface.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/interface.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/imap-append.c:75,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/imap-append.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-append.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-append.c:91,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-append.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:113,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/imap-append.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-append.c:118,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-append.c:121,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-append.c:125,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-append.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-append.c:129,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-append.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-append.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - strlen
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:45,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:56,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/unixsocket.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/unixsocket.c
    functionUses: 5
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, FILE *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:72,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:74,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:83,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:84,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - http
    - j
    argTypes:
    - gchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: run_one
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void run_one(gchar *http, int j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:95,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:99,1
    - Dst: g_strdup_printf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:100,1
    - Dst: run_one
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:102,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:103,1
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:105,1
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - NaN
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: pull_one_url
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - run_one
    - pthread_mutex_lock
    - g_strdup_printf
    - pthread_mutex_unlock
    - g_free
    linkageType: ''
    returnType: void
    signature: void *pull_one_url(void *NaN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_threads_enter
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:114,1
    - Dst: gtk_progress_bar_pulse
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:115,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:115,1
    - Dst: gdk_threads_leave
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: pulse_bar
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - gdk_threads_leave
    - gdk_threads_enter
    - gtk_progress_bar_pulse
    - GTK_PROGRESS_BAR
    linkageType: ''
    returnType: gboolean
    signature: gboolean pulse_bar(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:131,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:136,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:138,1
    - Dst: pthread_join
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:143,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:144,1
    - Dst: g_source_remove
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: GPOINTER_TO_INT
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: g_object_get_data
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: G_OBJECT
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: gtk_widget_destroy
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - progress_bar
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: create_thread
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - GPOINTER_TO_INT
    - g_source_remove
    - pthread_create
    - g_object_get_data
    - G_OBJECT
    - gtk_widget_destroy
    - pthread_join
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *create_thread(void *progress_bar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - window
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: cb_delete
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: gboolean cb_delete(GtkWidget *window, gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:174,1
    - Dst: g_thread_init
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:179,1
    - Dst: gdk_threads_init
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:180,1
    - Dst: gdk_threads_enter
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:181,1
    - Dst: gtk_init
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:183,1
    - Dst: gtk_window_new
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:186,1
    - Dst: gtk_frame_new
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:189,1
    - Dst: gtk_frame_set_shadow_type
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:190,1
    - Dst: GTK_FRAME
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:190,1
    - Dst: gtk_container_add
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:191,1
    - Dst: GTK_CONTAINER
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:191,1
    - Dst: gtk_frame_new
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:194,1
    - Dst: gtk_frame_set_shadow_type
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:195,1
    - Dst: GTK_FRAME
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:195,1
    - Dst: gtk_container_set_border_width
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:196,1
    - Dst: GTK_CONTAINER
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:196,1
    - Dst: gtk_container_add
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:197,1
    - Dst: GTK_CONTAINER
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:197,1
    - Dst: gtk_progress_bar_new
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:200,1
    - Dst: gtk_progress_bar_pulse
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:201,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:201,1
    - Dst: g_timeout_add
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:203,1
    - Dst: g_object_set_data
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:204,1
    - Dst: G_OBJECT
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:204,1
    - Dst: GINT_TO_POINTER
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:205,1
    - Dst: gtk_container_add
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:206,1
    - Dst: GTK_CONTAINER
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:206,1
    - Dst: gtk_widget_show_all
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:208,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:209,1
    - Dst: g_signal_connect
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:211,1
    - Dst: G_OBJECT
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:211,1
    - Dst: G_CALLBACK
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:212,1
    - Dst: g_thread_create
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:214,1
    - Dst: g_warning
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:215,1
    - Dst: gtk_main
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:217,1
    - Dst: gdk_threads_leave
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:218,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:219,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 6
    functionsReached:
    - GTK_FRAME
    - G_OBJECT
    - g_warning
    - g_thread_create
    - g_object_set_data
    - gdk_threads_leave
    - gtk_window_new
    - gtk_progress_bar_new
    - GINT_TO_POINTER
    - g_thread_init
    - printf
    - g_signal_connect
    - gtk_frame_new
    - gdk_threads_enter
    - GTK_CONTAINER
    - gtk_widget_show_all
    - gtk_progress_bar_pulse
    - gtk_init
    - curl_global_init
    - g_timeout_add
    - curl_global_cleanup
    - gtk_container_add
    - gtk_container_set_border_width
    - gdk_threads_init
    - gtk_main
    - GTK_PROGRESS_BAR
    - G_CALLBACK
    - gtk_frame_set_shadow_type
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/url2file.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/url2file.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/url2file.c:47,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/url2file.c:51,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/url2file.c:53,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/url2file.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/url2file.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/url2file.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/url2file.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/url2file.c:72,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/url2file.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/url2file.c:79,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/url2file.c:82,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/url2file.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/url2file.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/url2file.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/url2file.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_init
    - fopen
    - curl_easy_perform
    - curl_easy_cleanup
    - fclose
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-search.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-search.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-search.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-search.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-search.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-search.c:61,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-search.c:64,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-search.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-search.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-search.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-search.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-search.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/getredirect.c:38,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/getredirect.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getredirect.c:44,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/getredirect.c:49,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/getredirect.c:52,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/getredirect.c:53,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/getredirect.c:55,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/getredirect.c:59,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/getredirect.c:62,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/getredirect.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/getredirect.c:73,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/getredirect.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/getredirect.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:46,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:55,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:65,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:69,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:70,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-expn.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-expn.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-single.c:42,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-single.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-single.c:53,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-single.c:56,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-single.c:60,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-single.c:63,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/multi-single.c:67,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-single.c:70,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/multi-single.c:76,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-single.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-single.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-single.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-single.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - fprintf
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftp-delete.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *buffer, size_t size, size_t nmemb, void *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:46,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:60,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:66,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:71,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:74,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftp-delete.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftp-delete.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: writefunction
    functionSourceFile: /src/PROJ/curl/docs/examples/usercertinmem.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:102,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:105,1
    - Dst: PEM_read_bio_X509
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:111,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:113,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:117,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:119,1
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:123,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:125,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:129,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:131,1
    - Dst: SSL_CTX_use_RSAPrivateKey
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:135,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:137,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:142,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:145,1
    - Dst: RSA_free
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:148,1
    - Dst: X509_free
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - curl
    - sslctx
    - pointer
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 155
    functionName: sslctx_function
    functionSourceFile: /src/PROJ/curl/docs/examples/usercertinmem.c
    functionUses: 0
    functionsReached:
    - printf
    - X509_free
    - BIO_new_mem_buf
    - RSA_free
    - PEM_read_bio_X509
    - PEM_read_bio_RSAPrivateKey
    - SSL_CTX_use_RSAPrivateKey
    - BIO_free
    - SSL_CTX_use_certificate
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sslctx_function(CURL *curl, void *sslctx, void *pointer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:161,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:165,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:167,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:172,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:174,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:175,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:179,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:182,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:183,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:186,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:188,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:196,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:197,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:199,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:201,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:203,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/usercertinmem.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/usercertinmem.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:56,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:61,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:67,1
    - Dst: fputs
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:69,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:79,1
    - Dst: fputc
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:88,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - text
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 90
    functionName: dump
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-serverpush.c
    functionUses: 45
    functionsReached:
    - fputs
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *text, unsigned char *ptr, size_t size, char nohex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:100,1
    - Dst: dump
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: my_trace
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-serverpush.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *curl, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:132,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:137,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:140,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:144,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:147,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - curl
    - url
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 158
    functionName: setup
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-serverpush.c
    functionUses: 67
    functionsReached:
    - curl_easy_setopt
    - fopen
    linkageType: ''
    returnType: int
    signature: int setup(CURL *curl, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:177,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:180,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:188,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:190,1
    - Dst: curl_pushheader_bynum
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:194,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:195,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:198,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - parent
    - curl
    - num_headers
    - headers
    - userp
    argTypes:
    - CURL*
    - CURL*
    - size_t
    - struct curl_pushheaders*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 206
    functionName: server_push_callback
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-serverpush.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - snprintf
    - curl_pushheader_byname
    - fopen
    - curl_pushheader_bynum
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int server_push_callback(CURL *parent,\n                                CURL
      *curl,\n                                size_t num_headers,\n                                struct
      curl_pushheaders *headers,\n                                void *userp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:222,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:227,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:231,1
    - Dst: setup
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:234,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:235,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:239,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:240,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:241,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:244,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:249,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:253,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:265,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:269,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:270,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:279,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:281,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:283,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/http2-serverpush.c:285,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 288
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-serverpush.c
    functionUses: 6
    functionsReached:
    - curl_global_init
    - curl_multi_poll
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_multi_info_read
    - curl_easy_cleanup
    - curl_multi_add_handle
    - setup
    - fclose
    - curl_global_cleanup
    - fprintf
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:64,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-copy.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-copy.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:57,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:69,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:72,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:82,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:85,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:100,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:101,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:102,1
    - Dst: curl_multi_timeout
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:108,1
    - Dst: curl_multi_fdset
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:126,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:129,1
    - Dst: Sleep
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:141,1
    - Dst: select
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:147,1
    - Dst: select
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:153,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:162,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:169,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:182,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:185,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:191,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:196,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-legacy.c:198,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-legacy.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_multi_perform
    - Sleep
    - curl_global_cleanup
    - curl_multi_fdset
    - curl_easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - fprintf
    - curl_multi_info_read
    - curl_multi_add_handle
    - curl_easy_cleanup
    - curl_multi_timeout
    - select
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:48,1
    - Dst: curl_global_sslset
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:52,1
    - Dst: assert
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:53,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:56,1
    - Dst: isdigit
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:61,1
    - Dst: atoi
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:62,1
    - Dst: curl_global_sslset
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:64,1
    - Dst: curl_global_sslset
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:67,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:70,1
    - Dst: assert
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:74,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:76,1
    - Dst: curl_version
      Src: /src/PROJ/curl/docs/examples/sslbackend.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (result == CURLSSLSET_UNKNOWN_BACKEND)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/PROJ/curl/docs/examples/sslbackend.c
    - condition: (result == CURLSSLSET_OK)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/PROJ/curl/docs/examples/sslbackend.c
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/sslbackend.c
    functionUses: 6
    functionsReached:
    - printf
    - strcmp
    - curl_global_sslset
    - curl_version
    - assert
    - isdigit
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_meta
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:37,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:38,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:41,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:43,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:44,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - b
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket-updown.c
    functionUses: 0
    functionsReached:
    - curl_ws_meta
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *b, size_t size, size_t nitems, void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_start_frame
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:68,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:71,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:75,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket-updown.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fprintf
    - curl_ws_start_frame
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *buf, size_t nitems, size_t buflen, void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:92,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:96,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:107,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:110,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:113,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:117,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:120,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:121,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:124,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/websocket-updown.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket-updown.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - memcpy
    - curl_easy_init
    - curl_easy_perform
    - memset
    - curl_easy_cleanup
    - curl_easy_strerror
    - strlen
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/getinfo.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/getinfo.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getinfo.c:41,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/getinfo.c:42,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/getinfo.c:47,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/getinfo.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/getinfo.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/getinfo.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/getinfo.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:80,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-mail.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:93,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:112,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:117,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:118,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:119,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:124,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:126,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:129,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:133,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:134,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:137,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:147,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-mail.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-mail.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: COMPARE
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: COMPARE
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Context
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 136
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - writerData
    argTypes:
    - char*
    - size_t
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: writer
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 46
    functionsReached:
    - std::string*::append
    linkageType: ''
    returnType: size_t
    signature: "size_t writer(char *data, size_t size, size_t nmemb,\n                     std::string
      *writerData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:93,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:96,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:100,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:106,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:108,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:112,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:114,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:118,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:120,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:124,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - curl
    - url
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 131
    functionName: init
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 506
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool init(CURL *&curl, const char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:141,1
    - Dst: COMPARE
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:143,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - voidContext
    - name
    - attributes
    argTypes:
    - void*
    - xmlChar*
    - xmlChar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: StartElement
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - COMPARE
    - static_cast<Context *>
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: void
    signature: "void StartElement(void *voidContext,\n                         const
      xmlChar *name,\n                         const xmlChar **attributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:157,1
    - Dst: COMPARE
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:159,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - voidContext
    - name
    argTypes:
    - void*
    - xmlChar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: EndElement
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - COMPARE
    - static_cast<Context *>
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: void
    signature: "void EndElement(void *voidContext,\n                       const xmlChar
      *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context*::title::append
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:172,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - context
    - chars
    - length
    argTypes:
    - Context*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: handleCharacters
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - Context*::title::append
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: void
    signature: "void handleCharacters(Context *context,\n                             const
      xmlChar *chars,\n                             int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:184,1
    - Dst: handleCharacters
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - voidContext
    - chars
    - length
    argTypes:
    - void*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Characters
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 1
    functionsReached:
    - handleCharacters
    - static_cast<Context *>
    linkageType: ''
    returnType: void
    signature: "void Characters(void *voidContext,\n                       const xmlChar
      *chars,\n                       int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:197,1
    - Dst: handleCharacters
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - voidContext
    - chars
    - length
    argTypes:
    - void*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: cdata
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - handleCharacters
    - static_cast<Context *>
    linkageType: ''
    returnType: void
    signature: "void cdata(void *voidContext,\n                  const xmlChar *chars,\n
      \                 int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htmlCreatePushParserCtxt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:252,1
    - Dst: htmlParseChunk
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:255,1
    - Dst: std::string::c_str
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:255,1
    - Dst: std::string::size
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:255,1
    - Dst: htmlParseChunk
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:256,1
    - Dst: htmlFreeParserCtxt
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - html
    - title
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: parseHtml
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - htmlCreatePushParserCtxt
    - std::string::c_str
    - htmlParseChunk
    - htmlFreeParserCtxt
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void parseHtml(const std::string &html,\n                      std::string
      &title)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:272,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:276,1
    - Dst: init
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:282,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:283,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:284,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:290,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:291,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:294,1
    - Dst: parseHtml
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:299,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:302,1
    - Dst: std::string::c_str
      Src: /src/PROJ/curl/docs/examples/htmltitle.cpp:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/htmltitle.cpp
    functionUses: 6
    functionsReached:
    - printf
    - std::string::c_str
    - curl_easy_perform
    - curl_easy_cleanup
    - init
    - curl_global_cleanup
    - parseHtml
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-post.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-post.c:47,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-post.c:51,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/docs/examples/multi-post.c:56,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/multi-post.c:59,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/docs/examples/multi-post.c:60,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/docs/examples/multi-post.c:61,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/multi-post.c:64,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/docs/examples/multi-post.c:65,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/docs/examples/multi-post.c:66,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/multi-post.c:69,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/docs/examples/multi-post.c:70,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/docs/examples/multi-post.c:71,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/multi-post.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-post.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-post.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-post.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-post.c:83,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-post.c:85,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-post.c:88,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/multi-post.c:92,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-post.c:98,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-post.c:102,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/docs/examples/multi-post.c:106,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/multi-post.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-post.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-post.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_slist_append
    - curl_mime_data
    - curl_multi_perform
    - curl_mime_name
    - curl_mime_filedata
    - curl_easy_init
    - curl_mime_free
    - curl_slist_free_all
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/docs/examples/parseurl.c:42,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/docs/examples/parseurl.c:47,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/docs/examples/parseurl.c:52,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/parseurl.c:54,1
    - Dst: curl_free
      Src: /src/PROJ/curl/docs/examples/parseurl.c:55,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/docs/examples/parseurl.c:59,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/parseurl.c:61,1
    - Dst: curl_free
      Src: /src/PROJ/curl/docs/examples/parseurl.c:62,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/docs/examples/parseurl.c:66,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/docs/examples/parseurl.c:71,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/parseurl.c:73,1
    - Dst: curl_free
      Src: /src/PROJ/curl/docs/examples/parseurl.c:74,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/docs/examples/parseurl.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/parseurl.c
    functionUses: 6
    functionsReached:
    - curl_free
    - printf
    - curl_url
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:58,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:61,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-lsub.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-lsub.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/PROJ/curl/docs/examples/anyauthput.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - userp
    - offset
    - origin
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: my_seek
    functionSourceFile: /src/PROJ/curl/docs/examples/anyauthput.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int my_seek(void *userp, curl_off_t offset, int origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/curl/docs/examples/anyauthput.c:76,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/anyauthput.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/anyauthput.c
    functionUses: 0
    functionsReached:
    - fread
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:48,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:61,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:64,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:67,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:71,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:79,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-multi.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-multi.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:39,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:44,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:47,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:50,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:62,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:69,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/httpcustomheader.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/httpcustomheader.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/block_ip.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 6
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/block_ip.c:114,1
    - Dst: strchr
      Src: /src/PROJ/curl/docs/examples/block_ip.c:118,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:122,1
    - Dst: strdup
      Src: /src/PROJ/curl/docs/examples/block_ip.c:129,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:131,1
    - Dst: strchr
      Src: /src/PROJ/curl/docs/examples/block_ip.c:136,1
    - Dst: atoi
      Src: /src/PROJ/curl/docs/examples/block_ip.c:138,1
    - Dst: AF_INET6
      Src: /src/PROJ/curl/docs/examples/block_ip.c:140,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:144,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:145,1
    - Dst: inet_pton
      Src: /src/PROJ/curl/docs/examples/block_ip.c:158,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:159,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct ip*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 173
    functionName: ip_list_append
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - free
    - strchr
    - AF_INET6
    - inet_pton
    - calloc
    - atoi
    - strdup
    linkageType: ''
    returnType: struct ip
    signature: struct ip *ip_list_append(struct ip *list, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:180,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: ip_list_free_all
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ip_list_free_all(struct ip *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ip_list_free_all
      Src: /src/PROJ/curl/docs/examples/block_ip.c:189,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct connection_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: free_connection_filter
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - ip_list_free_all
    - free
    linkageType: ''
    returnType: void
    signature: void free_connection_filter(struct connection_filter *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ip
    - netaddr
    argTypes:
    - struct ip*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: ip_match
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ip_match(struct ip *ip, void *netaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 2
    argNames:
    - family
    - netaddr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: is_ipv4_mapped_ipv6_address
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ipv4_mapped_ipv6_address(int family, void *netaddr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_ipv4_mapped_ipv6_address
      Src: /src/PROJ/curl/docs/examples/block_ip.c:257,1
    - Dst: ip_match
      Src: /src/PROJ/curl/docs/examples/block_ip.c:261,1
    - Dst: ip_match
      Src: /src/PROJ/curl/docs/examples/block_ip.c:265,1
    - Dst: inet_ntop
      Src: /src/PROJ/curl/docs/examples/block_ip.c:273,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/block_ip.c:274,1
    - Dst: inet_ntop
      Src: /src/PROJ/curl/docs/examples/block_ip.c:282,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/block_ip.c:283,1
    - Dst: socket
      Src: /src/PROJ/curl/docs/examples/block_ip.c:291,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 292
    functionName: opensocket
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - socket
    - ip_match
    - is_ipv4_mapped_ipv6_address
    - inet_ntop
    - fprintf
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t opensocket(void *clientp,\n                                curlsocktype
      purpose,\n                                struct curl_sockaddr *address)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/block_ip.c:300,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/block_ip.c:304,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:306,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/block_ip.c:310,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/block_ip.c:312,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/block_ip.c:313,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/block_ip.c:318,1
    - Dst: ip_list_append
      Src: /src/PROJ/curl/docs/examples/block_ip.c:325,1
    - Dst: ip_list_append
      Src: /src/PROJ/curl/docs/examples/block_ip.c:326,1
    - Dst: ip_list_append
      Src: /src/PROJ/curl/docs/examples/block_ip.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/block_ip.c:332,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/block_ip.c:333,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/block_ip.c:337,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/block_ip.c:340,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/block_ip.c:344,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/block_ip.c:345,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/block_ip.c:349,1
    - Dst: free_connection_filter
      Src: /src/PROJ/curl/docs/examples/block_ip.c:350,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/block_ip.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 356
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/block_ip.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - free
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - calloc
    - curl_easy_strerror
    - curl_global_cleanup
    - free_connection_filter
    - ip_list_append
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/10-at-a-time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:100,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - multi
    - i
    - left
    argTypes:
    - CURLM*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: add_transfer
    functionSourceFile: /src/PROJ/curl/docs/examples/10-at-a-time.c
    functionUses: 1
    functionsReached:
    - curl_easy_setopt
    - curl_multi_add_handle
    - curl_easy_init
    linkageType: ''
    returnType: void
    signature: void add_transfer(CURLM *multi, unsigned int i, int *left)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:110,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:114,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:122,1
    - Dst: add_transfer
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:126,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:130,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:133,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:137,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:138,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:139,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:140,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:141,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:145,1
    - Dst: add_transfer
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:148,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:151,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:155,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/10-at-a-time.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/10-at-a-time.c
    functionUses: 6
    functionsReached:
    - curl_global_init
    - curl_multi_init
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_multi_info_read
    - fprintf
    - curl_easy_cleanup
    - curl_multi_wait
    - add_transfer
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_multi_setopt
    - curl_multi_perform
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/range.c:34,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/range.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/range.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/range.c:41,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/range.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/range.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/range.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/range.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http-options.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/http-options.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http-options.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http-options.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http-options.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http-options.c:49,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/http-options.c:52,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http-options.c:55,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/http-options.c:56,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http-options.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http-options.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http-options.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:75,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:99,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:104,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:109,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:114,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:117,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:121,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:124,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:125,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:126,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:129,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:130,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:133,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:134,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:135,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:136,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:137,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:140,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:142,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:145,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:149,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:150,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:153,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:154,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:164,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-mime.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-mime.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_mime_headers
    - curl_mime_data
    - curl_mime_subparts
    - curl_mime_filedata
    - curl_easy_init
    - curl_slist_free_all
    - curl_mime_free
    - curl_easy_perform
    - curl_mime_type
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_mime_addpart
    - curl_global_cleanup
    - curl_mime_init
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:61,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:62,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:63,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:65,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:68,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:71,1
    - Dst: select
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sockfd
    - for_recv
    - timeout_ms
    argTypes:
    - curl_socket_t
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: wait_on_socket
    functionSourceFile: /src/PROJ/curl/docs/examples/sendrecv.c
    functionUses: 0
    functionsReached:
    - select
    - FD_ZERO
    - FD_SET
    linkageType: ''
    returnType: int
    signature: int wait_on_socket(curl_socket_t sockfd, int for_recv, long timeout_ms)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:84,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:86,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:105,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:106,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:109,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:109,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:114,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:117,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:117,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:121,1
    - Dst: curl_easy_send
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:130,1
    - Dst: wait_on_socket
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:134,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:135,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:141,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:141,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:145,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:149,1
    - Dst: curl_easy_recv
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:157,1
    - Dst: wait_on_socket
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:159,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:160,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:166,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:166,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:175,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:179,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sendrecv.c:181,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/sendrecv.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_getinfo
    - wait_on_socket
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_recv
    - curl_easy_strerror
    - strlen
    - curl_easy_send
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:62,1
    - Dst: uv_poll_init_socket
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sockfd
    - uv
    argTypes:
    - curl_socket_t
    - struct datauv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: create_curl_context
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - malloc
    - uv_poll_init_socket
    linkageType: ''
    returnType: struct curl_context
    signature: "struct curl_context *create_curl_context(curl_socket_t sockfd,\n                                                struct
      datauv *uv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: curl_close_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void curl_close_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_close
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct curl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: destroy_curl_context
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - uv_close
    linkageType: ''
    returnType: void
    signature: void destroy_curl_context(struct curl_context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:90,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:92,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:94,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:101,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:102,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - url
    - num
    - multi
    argTypes:
    - char*
    - int
    - CURLM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: add_download
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - snprintf
    - curl_easy_init
    - fopen
    - curl_multi_add_handle
    - fprintf
    linkageType: ''
    returnType: void
    signature: void add_download(const char *url, int num, CURLM *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:114,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:124,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:125,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:126,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:129,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:131,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct curl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: check_multi_info
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 2
    functionsReached:
    - printf
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct curl_context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:154,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - req
    - status
    - events
    argTypes:
    - uv_poll_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: on_uv_socket
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void on_uv_socket(uv_poll_t *req, int status, int events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:165,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: on_uv_timeout
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void on_uv_timeout(uv_timer_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_timer_stop
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:177,1
    - Dst: uv_timer_start
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: cb_timeout
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - uv_timer_start
    - uv_timer_stop
    linkageType: ''
    returnType: int
    signature: int cb_timeout(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_curl_context
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:202,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:204,1
    - Dst: uv_poll_start
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:211,1
    - Dst: uv_poll_stop
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:215,1
    - Dst: destroy_curl_context
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:216,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:217,1
    - Dst: abort
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - curl
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 225
    functionName: cb_socket
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - uv_poll_stop
    - destroy_curl_context
    - curl_multi_assign
    - uv_poll_start
    - abort
    - create_curl_context
    linkageType: ''
    returnType: int
    signature: "int cb_socket(CURL *curl, curl_socket_t s, int action,\n                     void
      *userp, void *socketp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:236,1
    - Dst: uv_default_loop
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:240,1
    - Dst: uv_timer_init
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:241,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:243,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:245,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:246,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:247,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:248,1
    - Dst: add_download
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:251,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:255,1
    - Dst: uv_run
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:257,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:258,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-uv.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-uv.c
    functionUses: 6
    functionsReached:
    - curl_global_init
    - add_download
    - uv_run
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_socket_action
    - uv_timer_init
    - uv_default_loop
    - curl_multi_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:42,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:45,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:48,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:49,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:52,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/getreferrer.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/getreferrer.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/ftpget.c:43,1
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/ftpget.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpget.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *buffer, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftpget.c:60,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftpget.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpget.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpget.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpget.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpget.c:77,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpget.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpget.c:82,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpget.c:86,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftpget.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpget.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpget.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - fclose
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-examine.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-examine.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/multi-event.c:50,1
    - Dst: event_new
      Src: /src/PROJ/curl/docs/examples/multi-event.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: create_curl_context
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - malloc
    - event_new
    linkageType: ''
    returnType: struct curl_context
    signature: struct curl_context *create_curl_context(curl_socket_t sockfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/multi-event.c:61,1
    - Dst: event_free
      Src: /src/PROJ/curl/docs/examples/multi-event.c:62,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/multi-event.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct curl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: destroy_curl_context
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - event_free
    - free
    - event_del
    linkageType: ''
    returnType: void
    signature: void destroy_curl_context(struct curl_context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/multi-event.c:72,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/multi-event.c:74,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-event.c:76,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-event.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-event.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-event.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-event.c:83,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-event.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-event.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - url
    - num
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: add_download
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - curl_easy_setopt
    - snprintf
    - curl_easy_init
    - fopen
    - curl_multi_add_handle
    - fprintf
    linkageType: ''
    returnType: void
    signature: void add_download(const char *url, int num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/multi-event.c:96,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/multi-event.c:106,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/multi-event.c:107,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/multi-event.c:108,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/multi-event.c:110,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-event.c:111,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/multi-event.c:113,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-event.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: check_multi_info
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 4
    functionsReached:
    - printf
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_multi_info(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/multi-event.c:139,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/multi-event.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: curl_perform
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void curl_perform(int fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/multi-event.c:151,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/multi-event.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: on_timeout
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void on_timeout(evutil_socket_t fd, short events, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_del
      Src: /src/PROJ/curl/docs/examples/multi-event.c:161,1
    - Dst: evtimer_del
      Src: /src/PROJ/curl/docs/examples/multi-event.c:169,1
    - Dst: evtimer_add
      Src: /src/PROJ/curl/docs/examples/multi-event.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: start_timeout
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - evtimer_add
    - evtimer_del
    linkageType: ''
    returnType: int
    signature: int start_timeout(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_curl_context
      Src: /src/PROJ/curl/docs/examples/multi-event.c:189,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/multi-event.c:191,1
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/multi-event.c:200,1
    - Dst: event_assign
      Src: /src/PROJ/curl/docs/examples/multi-event.c:201,1
    - Dst: event_add
      Src: /src/PROJ/curl/docs/examples/multi-event.c:203,1
    - Dst: event_del
      Src: /src/PROJ/curl/docs/examples/multi-event.c:208,1
    - Dst: destroy_curl_context
      Src: /src/PROJ/curl/docs/examples/multi-event.c:209,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/multi-event.c:210,1
    - Dst: abort
      Src: /src/PROJ/curl/docs/examples/multi-event.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - curl
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 218
    functionName: handle_socket
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - event_add
    - destroy_curl_context
    - curl_multi_assign
    - abort
    - event_assign
    - create_curl_context
    - event_del
    linkageType: ''
    returnType: int
    signature: "int handle_socket(CURL *curl, curl_socket_t s, int action, void *userp,\n
      \                        void *socketp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-event.c:227,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/multi-event.c:229,1
    - Dst: event_base_new
      Src: /src/PROJ/curl/docs/examples/multi-event.c:233,1
    - Dst: evtimer_new
      Src: /src/PROJ/curl/docs/examples/multi-event.c:234,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-event.c:236,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/multi-event.c:238,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/multi-event.c:239,1
    - Dst: add_download
      Src: /src/PROJ/curl/docs/examples/multi-event.c:242,1
    - Dst: event_base_dispatch
      Src: /src/PROJ/curl/docs/examples/multi-event.c:245,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-event.c:247,1
    - Dst: event_free
      Src: /src/PROJ/curl/docs/examples/multi-event.c:249,1
    - Dst: event_base_free
      Src: /src/PROJ/curl/docs/examples/multi-event.c:250,1
    - Dst: libevent_global_shutdown
      Src: /src/PROJ/curl/docs/examples/multi-event.c:252,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-event.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-event.c
    functionUses: 6
    functionsReached:
    - curl_global_init
    - libevent_global_shutdown
    - add_download
    - event_base_dispatch
    - curl_multi_setopt
    - curl_multi_cleanup
    - event_free
    - event_base_new
    - curl_global_cleanup
    - event_base_free
    - evtimer_new
    - fprintf
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/sepheaders.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:62,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:68,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:75,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:76,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:85,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:88,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:91,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:97,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sepheaders.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/sepheaders.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - fclose
    - curl_global_cleanup
    - fopen
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:81,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:92,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-ssl.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-ssl.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/post-callback.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - dest
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/post-callback.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *dest, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/post-callback.c:74,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/post-callback.c:77,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/post-callback.c:80,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/post-callback.c:81,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/post-callback.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:89,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:101,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/post-callback.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:122,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/post-callback.c:137,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/post-callback.c:138,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/post-callback.c:145,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/post-callback.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/post-callback.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/post-callback.c:152,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/post-callback.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/post-callback.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - strlen
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/urlapi.c:41,1
    - Dst: curl_url
      Src: /src/PROJ/curl/docs/examples/urlapi.c:46,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/docs/examples/urlapi.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/urlapi.c:51,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/docs/examples/urlapi.c:51,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/urlapi.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/urlapi.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/urlapi.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/urlapi.c:63,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/urlapi.c:65,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/urlapi.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/urlapi.c:69,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/docs/examples/urlapi.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/urlapi.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/urlapi.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/urlapi.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_url
    - curl_url_strerror
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - curl_url_cleanup
    - curl_url_set
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:82,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:85,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-tls.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-tls.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:44,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:47,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
    functionUses: 0
    functionsReached:
    - printf
    - realloc
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *contents, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct Memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: init_memory
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void init_memory(struct Memory *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:82,1
    - Dst: init_memory
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: setup
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
    functionUses: 68
    functionsReached:
    - curl_easy_setopt
    - init_memory
    linkageType: ''
    returnType: void
    signature: void setup(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_memory
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:108,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:111,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - parent
    - curl
    - num_headers
    - headers
    - userp
    argTypes:
    - CURL*
    - CURL*
    - size_t
    - struct curl_pushheaders*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: server_push_callback
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_pushheader_byname
    - init_memory
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int server_push_callback(CURL *parent,\n                                CURL
      *curl,\n                                size_t num_headers,\n                                struct
      curl_pushheaders *headers,\n                                void *userp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:130,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:135,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:137,1
    - Dst: setup
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:140,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:143,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:145,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:146,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:147,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:154,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:158,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:168,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:172,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:173,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:178,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:179,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/http2-pushinmemory.c:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
    functionUses: 6
    functionsReached:
    - free
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_multi_wait
    - curl_multi_info_read
    - curl_multi_add_handle
    - setup
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: sleep
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/websocket.c:44,1
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/docs/examples/websocket.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:53,1
    - Dst: sleep
      Src: /src/PROJ/curl/docs/examples/websocket.c:54,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - curl
    - send_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: ping
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket.c
    functionUses: 27
    functionsReached:
    - curl_ws_send
    - strlen
    - fprintf
    - sleep
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ping(CURL *curl, const char *send_payload)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/PROJ/curl/docs/examples/websocket.c:73,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/websocket.c:80,1
    - Dst: memcmp
      Src: /src/PROJ/curl/docs/examples/websocket.c:81,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:84,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:88,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:92,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:97,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:103,1
    - Dst: sleep
      Src: /src/PROJ/curl/docs/examples/websocket.c:104,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - curl
    - expected_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 112
    functionName: recv_pong
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket.c
    functionUses: 3
    functionsReached:
    - curl_ws_recv
    - sleep
    - strlen
    - memcmp
    - fprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode recv_pong(CURL *curl, const char *expected_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/PROJ/curl/docs/examples/websocket.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: websocket_close
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket.c
    functionUses: 0
    functionsReached:
    - curl_ws_send
    linkageType: ''
    returnType: void
    signature: void websocket_close(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ping
      Src: /src/PROJ/curl/docs/examples/websocket.c:126,1
    - Dst: recv_pong
      Src: /src/PROJ/curl/docs/examples/websocket.c:129,1
    - Dst: sleep
      Src: /src/PROJ/curl/docs/examples/websocket.c:132,1
    - Dst: websocket_close
      Src: /src/PROJ/curl/docs/examples/websocket.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: websocket
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket.c
    functionUses: 2
    functionsReached:
    - recv_pong
    - websocket_close
    - ping
    - sleep
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode websocket(CURL *curl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/websocket.c:142,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/websocket.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/websocket.c:153,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/websocket.c:156,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/websocket.c:159,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/websocket.c:160,1
    - Dst: websocket
      Src: /src/PROJ/curl/docs/examples/websocket.c:163,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/websocket.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/websocket.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/websocket.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - websocket
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/curl/docs/examples/httpput.c:59,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/httpput.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/httpput.c
    functionUses: 0
    functionsReached:
    - fread
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:113,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/ghiper.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: mcode_or_die
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 3
    functionsReached:
    - exit
    - MSG_OUT
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:124,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/ghiper.c:125,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/ghiper.c:131,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/ghiper.c:132,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:133,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/ghiper.c:134,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:135,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ghiper.c:136,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: check_multi_info
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 6
    functionsReached:
    - free
    - curl_easy_getinfo
    - MSG_OUT
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/ghiper.c:148,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/ghiper.c:150,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/ghiper.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    - mcode_or_die
    linkageType: ''
    returnType: gboolean
    signature: gboolean timer_cb(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:163,1
    - Dst: g_timeout_add
      Src: /src/PROJ/curl/docs/examples/ghiper.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: update_timeout_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - MSG_OUT
    - g_timeout_add
    linkageType: ''
    returnType: int
    signature: int update_timeout_cb(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unix_get_fd
      Src: /src/PROJ/curl/docs/examples/ghiper.c:182,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/ghiper.c:188,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/ghiper.c:189,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/ghiper.c:191,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:196,1
    - Dst: g_source_remove
      Src: /src/PROJ/curl/docs/examples/ghiper.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ch
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 202
    functionName: event_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - g_source_remove
    - MSG_OUT
    - check_multi_info
    - curl_multi_socket_action
    - g_io_channel_unix_get_fd
    - mcode_or_die
    linkageType: ''
    returnType: gboolean
    signature: gboolean event_cb(GIOChannel *ch, GIOCondition condition, gpointer
      data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove
      Src: /src/PROJ/curl/docs/examples/ghiper.c:211,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct SockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: remsock
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - g_source_remove
    - g_free
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove
      Src: /src/PROJ/curl/docs/examples/ghiper.c:228,1
    - Dst: g_io_add_watch
      Src: /src/PROJ/curl/docs/examples/ghiper.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: setsock
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 2
    functionsReached:
    - g_source_remove
    - g_io_add_watch
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/PROJ/curl/docs/examples/ghiper.c:237,1
    - Dst: g_io_channel_unix_new
      Src: /src/PROJ/curl/docs/examples/ghiper.c:240,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/ghiper.c:241,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/ghiper.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - curl
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: addsock
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - setsock
    - g_malloc0
    - curl_multi_assign
    - g_io_channel_unix_new
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *curl, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:252,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:254,1
    - Dst: remsock
      Src: /src/PROJ/curl/docs/examples/ghiper.c:255,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:259,1
    - Dst: addsock
      Src: /src/PROJ/curl/docs/examples/ghiper.c:262,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:265,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/ghiper.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: sock_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - addsock
    - MSG_OUT
    - remsock
    - setsock
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ghiper.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: xferinfo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *p, curl_off_t dltotal, curl_off_t dlnow,\n                       curl_off_t
      ult, curl_off_t uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/PROJ/curl/docs/examples/ghiper.c:302,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ghiper.c:304,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:306,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/ghiper.c:307,1
    - Dst: g_strdup
      Src: /src/PROJ/curl/docs/examples/ghiper.c:310,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:311,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:312,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:313,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:314,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:315,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:316,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:317,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:318,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:319,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:321,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:322,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:323,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:325,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/ghiper.c:326,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/ghiper.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 331
    functionName: new_conn
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - curl_easy_setopt
    - g_malloc0
    - MSG_OUT
    - curl_easy_init
    - g_strdup
    - curl_multi_add_handle
    - exit
    - mcode_or_die
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_line
      Src: /src/PROJ/curl/docs/examples/ghiper.c:343,1
    - Dst: new_conn
      Src: /src/PROJ/curl/docs/examples/ghiper.c:348,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:349,1
    - Dst: g_malloc
      Src: /src/PROJ/curl/docs/examples/ghiper.c:352,1
    - Dst: g_io_channel_read_chars
      Src: /src/PROJ/curl/docs/examples/ghiper.c:355,1
    - Dst: g_strdup_printf
      Src: /src/PROJ/curl/docs/examples/ghiper.c:360,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:361,1
    - Dst: g_strdup
      Src: /src/PROJ/curl/docs/examples/ghiper.c:364,1
    - Dst: new_conn
      Src: /src/PROJ/curl/docs/examples/ghiper.c:372,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:373,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:375,1
    - Dst: g_error
      Src: /src/PROJ/curl/docs/examples/ghiper.c:378,1
    - Dst: g_free
      Src: /src/PROJ/curl/docs/examples/ghiper.c:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ch
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 384
    functionName: fifo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - g_strdup_printf
    - g_error
    - g_io_channel_read_chars
    - g_io_channel_read_line
    - g_malloc
    - new_conn
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: gboolean fifo_cb(GIOChannel *ch, GIOCondition condition, gpointer data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/PROJ/curl/docs/examples/ghiper.c:392,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ghiper.c:395,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/ghiper.c:400,1
    - Dst: mkfifo
      Src: /src/PROJ/curl/docs/examples/ghiper.c:401,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ghiper.c:402,1
    - Dst: open
      Src: /src/PROJ/curl/docs/examples/ghiper.c:406,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ghiper.c:409,1
    - Dst: MSG_OUT
      Src: /src/PROJ/curl/docs/examples/ghiper.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 415
    functionName: init_fifo
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - lstat
    - MSG_OUT
    - open
    - mkfifo
    - unlink
    - perror
    linkageType: ''
    returnType: int
    signature: int init_fifo(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/PROJ/curl/docs/examples/ghiper.c:419,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ghiper.c:424,1
    - Dst: init_fifo
      Src: /src/PROJ/curl/docs/examples/ghiper.c:428,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ghiper.c:430,1
    - Dst: g_io_channel_unix_new
      Src: /src/PROJ/curl/docs/examples/ghiper.c:433,1
    - Dst: g_io_add_watch
      Src: /src/PROJ/curl/docs/examples/ghiper.c:434,1
    - Dst: g_main_loop_new
      Src: /src/PROJ/curl/docs/examples/ghiper.c:435,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/ghiper.c:436,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:438,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:439,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:440,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ghiper.c:441,1
    - Dst: g_main_loop_run
      Src: /src/PROJ/curl/docs/examples/ghiper.c:446,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/ghiper.c:447,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ghiper.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 451
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ghiper.c
    functionUses: 6
    functionsReached:
    - g_malloc0
    - curl_multi_init
    - init_fifo
    - g_main_loop_run
    - g_io_add_watch
    - curl_multi_setopt
    - curl_multi_cleanup
    - g_main_loop_new
    - curl_global_cleanup
    - curl_global_init
    - g_io_channel_unix_new
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: throw_away
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpgetinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t throw_away(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:50,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:52,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:64,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:68,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:72,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:75,1
    - Dst: ctime
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:75,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:77,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:80,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpgetinfo.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpgetinfo.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - ctime
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - strrchr
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:48,1
    - Dst: CURL_IGNORE_DEPRECATION
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:52,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:55,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:62,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:69,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:78,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:80,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:94,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:99,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:102,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:106,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:117,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-formadd.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-formadd.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - curl_slist_append
    - curl_multi_init
    - curl_multi_perform
    - curl_easy_init
    - curl_slist_free_all
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - CURL_IGNORE_DEPRECATION
    - curl_formadd
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/address-scope.c:41,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/address-scope.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/address-scope.c:48,1
    - Dst: if_nametoindex
      Src: /src/PROJ/curl/docs/examples/address-scope.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/address-scope.c:51,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/address-scope.c:54,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/address-scope.c:57,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/address-scope.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/address-scope.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/address-scope.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/address-scope.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - if_nametoindex
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: startElement
    functionSourceFile: /src/PROJ/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "void startElement(void *userData, const XML_Char *name,\n                         const
      XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:76,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:79,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: characterDataHandler
    functionSourceFile: /src/PROJ/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    - fprintf
    linkageType: ''
    returnType: void
    signature: void characterDataHandler(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: endElement
    functionSourceFile: /src/PROJ/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void endElement(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:103,1
    - Dst: XML_Parse
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:106,1
    - Dst: XML_GetErrorCode
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:107,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:108,1
    - Dst: XML_ErrorString
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - contents
    - length
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - XML_ErrorString
    - XML_GetUserData
    - XML_Parse
    - XML_GetErrorCode
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(void *contents, size_t length, size_t nmemb,\n                       void
      *userp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:121,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:126,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:132,1
    - Dst: XML_ParserCreateNS
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:136,1
    - Dst: XML_SetUserData
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:137,1
    - Dst: XML_SetElementHandler
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:138,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:139,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:144,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:146,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:149,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:151,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:152,1
    - Dst: XML_Parse
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:156,1
    - Dst: XML_GetErrorCode
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:157,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:158,1
    - Dst: XML_ErrorString
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:159,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:162,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:163,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:168,1
    - Dst: XML_ParserFree
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:169,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:171,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/xmlstream.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/xmlstream.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - XML_SetCharacterDataHandler
    - curl_easy_cleanup
    - curl_easy_init
    - curl_easy_perform
    - memset
    - XML_Parse
    - curl_easy_strerror
    - XML_SetUserData
    - fprintf
    - printf
    - XML_ParserFree
    - XML_ParserCreateNS
    - curl_global_init
    - free
    - XML_ErrorString
    - XML_GetErrorCode
    - curl_global_cleanup
    - XML_SetElementHandler
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/resolve.c:41,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/resolve.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/resolve.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/resolve.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/resolve.c:51,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/resolve.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/resolve.c:55,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/resolve.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/resolve.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/resolve.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http3.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/http3.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http3.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http3.c:44,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/http3.c:47,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http3.c:50,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/http3.c:51,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http3.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http3.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http3.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:59,1
    - Dst: strcpy
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:60,1
    - Dst: strcpy
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:62,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - curl
    - e
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: hstsread
    functionSourceFile: /src/PROJ/curl/docs/examples/hsts-preload.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    - fprintf
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstsread(CURL *curl, struct curl_hstsentry *e,\n                            void
      *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - curl
    - e
    - i
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - struct curl_index*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: hstswrite
    functionSourceFile: /src/PROJ/curl/docs/examples/hsts-preload.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstswrite(CURL *curl, struct curl_hstsentry *e,\n                             struct
      curl_index *i, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:84,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:108,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:111,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:114,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:118,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/hsts-preload.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/hsts-preload.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - struct mem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: mem_reset
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mem_reset(struct mem *mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - mem
    - needed
    argTypes:
    - struct mem*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 114
    functionName: mem_need
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int mem_need(struct mem *mem, size_t needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_need
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:118,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - buf
    - len
    argTypes:
    - struct mem*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: mem_addn
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mem_need
    linkageType: ''
    returnType: int
    signature: int mem_addn(struct mem *mem, const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_addn
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:129,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - str
    argTypes:
    - struct mem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mem_add
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - mem_addn
    - strlen
    linkageType: ''
    returnType: int
    signature: int mem_add(struct mem *mem, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:133,1
    - Dst: mem_need
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:146,1
    - Dst: va_start
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:149,1
    - Dst: vsnprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:150,1
    - Dst: va_end
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:151,1
    - Dst: va_start
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:163,1
    - Dst: _vscprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:164,1
    - Dst: va_end
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - mem
    - format
    argTypes:
    - struct mem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: mem_addf
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - va_end
    - _vscprintf
    - mem_need
    - va_start
    - vsnprintf
    - format
    linkageType: ''
    returnType: int
    signature: int mem_addf(struct mem *mem, const char *format, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_addn
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:189,1
    - Dst: mem_addn
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:190,1
    - Dst: mem_add
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userdata
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: mydebug
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - mem_addn
    - mem_add
    linkageType: ''
    returnType: int
    signature: "int mydebug(CURL *curl, curl_infotype type,\n                   char
      *data, size_t size, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:216,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:226,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:228,1
    - Dst: curl_global_trace
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:235,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:242,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:245,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:246,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:250,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:253,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:256,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:257,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:258,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:261,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:262,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:266,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:269,1
    - Dst: mem_addf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:271,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:272,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:275,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:279,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:282,1
    - Dst: mem_addf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:288,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:289,1
    - Dst: mem_addf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:293,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:294,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:295,1
    - Dst: mem_addf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:301,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:302,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:303,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:309,1
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:311,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:312,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:315,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:316,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:321,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:325,1
    - Dst: mem_reset
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:330,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:332,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:336,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/log_failed_transfers.c:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 342
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - fwrite
    - curl_easy_init
    - fopen
    - strerror
    - curl_easy_perform
    - memset
    - mem_addf
    - unlink
    - curl_easy_strerror
    - fclose
    - mem_reset
    - curl_global_cleanup
    - curl_easy_cleanup
    - curl_global_trace
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:47,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:50,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/getinmemory.c
    functionUses: 0
    functionsReached:
    - printf
    - realloc
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(void *contents, size_t size, size_t nmemb,\n                                  void
      *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:69,1
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:73,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:91,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:94,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:98,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:99,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:113,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:116,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/getinmemory.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/getinmemory.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - free
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - malloc
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:49,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:58,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:62,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:65,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:69,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:70,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-vrfy.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-vrfy.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:54,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:57,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-list.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-list.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:60,1
    - Dst: CURL_IGNORE_DEPRECATION
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:64,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:66,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:73,1
    - Dst: curl_formadd
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:81,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:88,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:94,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:97,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:103,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:106,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:107,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:110,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:118,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/postit2-formadd.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/postit2-formadd.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - strcmp
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - CURL_IGNORE_DEPRECATION
    - curl_easy_strerror
    - curl_formadd
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-top.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-top.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:77,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-tls.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:90,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:136,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:141,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:148,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:156,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:159,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:163,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:164,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:167,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:170,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/smtp-tls.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/smtp-tls.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/localport.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/localport.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/localport.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/localport.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/localport.c:47,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/localport.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/localport.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/localport.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/localport.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/netrc.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/netrc.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/netrc.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/netrc.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/netrc.c:44,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/netrc.c:46,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/netrc.c:48,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/netrc.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/netrc.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/sftpget.c:54,1
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/sftpget.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/sftpget.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(void *buffer, size_t size, size_t nmemb,\n                        void
      *stream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/sftpget.c:70,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/sftpget.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpget.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpget.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpget.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpget.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/sftpget.c:94,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/sftpget.c:96,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/sftpget.c:99,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/sftpget.c:103,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/sftpget.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/sftpget.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/sftpget.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - fclose
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/headerapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/headerapi.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/headerapi.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/headerapi.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/headerapi.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/headerapi.c:55,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/headerapi.c:58,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/headerapi.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/headerapi.c:62,1
    - Dst: curl_easy_header
      Src: /src/PROJ/curl/docs/examples/headerapi.c:64,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/headerapi.c:66,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/headerapi.c:68,1
    - Dst: curl_easy_nextheader
      Src: /src/PROJ/curl/docs/examples/headerapi.c:73,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/headerapi.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/headerapi.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/headerapi.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/headerapi.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_nextheader
    - curl_easy_init
    - curl_easy_header
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/synctime.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 6
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/synctime.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 6
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/synctime.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(void *ptr, size_t size, size_t nmemb,\n                                        void
      *stream)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:136,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:138,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:140,1
    - Dst: sscanf
      Src: /src/PROJ/curl/docs/examples/synctime.c:149,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:159,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:172,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 178
    functionName: SyncTime_CURL_WriteHeader
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - strncmp
    - sscanf
    - fprintf
    - strcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t SyncTime_CURL_WriteHeader(void *ptr, size_t size, size_t nmemb,\n
      \                                       void *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/synctime.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:184,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/synctime.c:186,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:187,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:189,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - curl
    - proxy_port
    - proxy_user_password
    argTypes:
    - CURL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: SyncTime_CURL_Init
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - strlen
    linkageType: ''
    returnType: void
    signature: "void SyncTime_CURL_Init(CURL *curl, const char *proxy_port,\n                               const
      char *proxy_user_password)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:202,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/synctime.c:204,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:205,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/synctime.c:208,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/synctime.c:209,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/synctime.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - curl
    - URL_Str
    - OutFileName
    - HttpGetBody
    argTypes:
    - CURL*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: SyncTime_CURL_Fetch
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_perform
    - fclose
    - fopen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode SyncTime_CURL_Fetch(CURL *curl, const char *URL_Str,\n                                    const
      char *OutFileName, int HttpGetBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:217,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:219,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:220,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:221,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:223,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:224,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:226,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:228,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:230,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: showUsage
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void showUsage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: conf_init
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conf_init(struct conf *conf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: conf_init
      Src: /src/PROJ/curl/docs/examples/synctime.c:256,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:261,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:262,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:264,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:267,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:270,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:271,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:273,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:274,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:276,1
    - Dst: strcmp
      Src: /src/PROJ/curl/docs/examples/synctime.c:277,1
    - Dst: showUsage
      Src: /src/PROJ/curl/docs/examples/synctime.c:278,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:286,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/synctime.c:289,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/synctime.c:293,1
    - Dst: SyncTime_CURL_Init
      Src: /src/PROJ/curl/docs/examples/synctime.c:305,1
    - Dst: time
      Src: /src/PROJ/curl/docs/examples/synctime.c:308,1
    - Dst: localtime
      Src: /src/PROJ/curl/docs/examples/synctime.c:309,1
    - Dst: mktime
      Src: /src/PROJ/curl/docs/examples/synctime.c:310,1
    - Dst: gmtime
      Src: /src/PROJ/curl/docs/examples/synctime.c:311,1
    - Dst: mktime
      Src: /src/PROJ/curl/docs/examples/synctime.c:312,1
    - Dst: difftime
      Src: /src/PROJ/curl/docs/examples/synctime.c:313,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:317,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:319,1
    - Dst: GetSystemTime
      Src: /src/PROJ/curl/docs/examples/synctime.c:322,1
    - Dst: GetLocalTime
      Src: /src/PROJ/curl/docs/examples/synctime.c:323,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:324,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:330,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:331,1
    - Dst: SyncTime_CURL_Fetch
      Src: /src/PROJ/curl/docs/examples/synctime.c:334,1
    - Dst: GetLocalTime
      Src: /src/PROJ/curl/docs/examples/synctime.c:337,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:338,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:343,1
    - Dst: SetSystemTime
      Src: /src/PROJ/curl/docs/examples/synctime.c:347,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:348,1
    - Dst: GetLocalTime
      Src: /src/PROJ/curl/docs/examples/synctime.c:353,1
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:354,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/synctime.c:359,1
    - Dst: conf_init
      Src: /src/PROJ/curl/docs/examples/synctime.c:364,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/synctime.c:365,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/synctime.c:368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 371
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/synctime.c
    functionUses: 6
    functionsReached:
    - strncmp
    - SetSystemTime
    - conf_init
    - snprintf
    - curl_easy_cleanup
    - GetLocalTime
    - curl_easy_init
    - SyncTime_CURL_Fetch
    - fprintf
    - localtime
    - curl_global_init
    - GetSystemTime
    - time
    - strcmp
    - gmtime
    - mktime
    - difftime
    - showUsage
    - curl_global_cleanup
    - SyncTime_CURL_Init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:57,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:60,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-noop.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-noop.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:39,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:44,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:47,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:50,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:57,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - finfo
    - input
    - remains
    argTypes:
    - struct curl_fileinfo*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 68
    functionName: file_is_coming
    functionSourceFile: /src/PROJ/curl/docs/examples/ftp-wildcard.c
    functionUses: 0
    functionsReached:
    - printf
    - fopen
    linkageType: ''
    returnType: long
    signature: "long file_is_coming(struct curl_fileinfo *finfo, void *input,\n                           int
      remains)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:74,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: file_is_downloaded
    functionSourceFile: /src/PROJ/curl/docs/examples/ftp-wildcard.c
    functionUses: 0
    functionsReached:
    - printf
    - fclose
    linkageType: ''
    returnType: long
    signature: long file_is_downloaded(void *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:87,1
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buff
    - size
    - nmemb
    - cb_data
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftp-wildcard.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(char *buff, size_t size, size_t nmemb,\n                       void
      *cb_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:103,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:118,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:121,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:124,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:128,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:136,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:139,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:141,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftp-wildcard.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftp-wildcard.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:55,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:58,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/maxconnects.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/maxconnects.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:82,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:85,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/imap-ssl.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/imap-ssl.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: strerror
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpupload.c
    functionUses: 193
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PROJ/curl/docs/examples/ftpupload.c:68,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpupload.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpupload.c
    functionUses: 0
    functionsReached:
    - fread
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: mycase
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mycase(code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:117,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:118,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:119,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:120,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:121,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:122,1
    - Dst: mycase
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:124,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:125,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:129,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: mcode_or_die
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 6
    functionsReached:
    - exit
    - mycase
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:143,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:161,1
    - Dst: timerfd_settime
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - g
    argTypes:
    - CURLM*
    - long
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: multi_timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - timerfd_settime
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int multi_timer_cb(CURLM *multi, long timeout_ms, struct GlobalInfo
      *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:176,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:177,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:181,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:182,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:183,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:184,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:185,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:186,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 190
    functionName: check_multi_info
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 8
    functionsReached:
    - free
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:201,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:202,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:204,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:206,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:207,1
    - Dst: timerfd_settime
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - g
    - fd
    - revents
    argTypes:
    - struct GlobalInfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: event_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - timerfd_settime
    - memset
    - check_multi_info
    - curl_multi_socket_action
    - mcode_or_die
    - fprintf
    linkageType: ''
    returnType: void
    signature: void event_cb(struct GlobalInfo *g, int fd, int revents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:219,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:227,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:232,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:233,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:236,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:238,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - g
    - revents
    argTypes:
    - struct GlobalInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 240
    functionName: timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - check_multi_info
    - perror
    - curl_multi_socket_action
    - mcode_or_die
    - read
    - fprintf
    linkageType: ''
    returnType: void
    signature: void timer_cb(struct GlobalInfo *g, int revents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:247,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:248,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:249,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - f
    - g
    argTypes:
    - struct SockInfo*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: remsock
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - free
    - epoll_ctl
    - fprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f, struct GlobalInfo *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:264,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:265,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:266,1
    - Dst: epoll_ctl
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:275,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:276,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 278
    functionName: setsock
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 4
    functionsReached:
    - epoll_ctl
    - fprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:284,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:287,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - curl
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: addsock
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - curl_multi_assign
    - calloc
    - setsock
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *curl, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:298,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:301,1
    - Dst: remsock
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:302,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:306,1
    - Dst: addsock
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:307,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:310,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 317
    functionName: sock_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - addsock
    - remsock
    - fprintf
    - setsock
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: prog_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int prog_cb(void *p, double dltotal, double dlnow, double ult,\n                   double
      uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:345,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:348,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:350,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:351,1
    - Dst: strdup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:354,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:355,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:356,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:357,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:358,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:359,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:360,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:361,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:362,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:363,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:364,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:365,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:366,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:367,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:369,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 374
    functionName: new_conn
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_multi_add_handle
    - calloc
    - exit
    - mcode_or_die
    - strdup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:385,1
    - Dst: new_conn
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - revents
    argTypes:
    - struct GlobalInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: fifo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - fscanf
    - new_conn
    linkageType: ''
    returnType: void
    signature: void fifo_cb(struct GlobalInfo *g, int revents)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:403,1
    - Dst: lstat
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:404,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:407,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:411,1
    - Dst: mkfifo
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:412,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:413,1
    - Dst: open
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:416,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:418,1
    - Dst: fdopen
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:423,1
    - Dst: epoll_ctl
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:427,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 431
    functionName: init_fifo
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - lstat
    - epoll_ctl
    - open
    - fdopen
    - mkfifo
    - unlink
    - perror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int init_fifo(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:435,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:436,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: clean_fifo
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 1
    functionsReached:
    - fclose
    - unlink
    - epoll_ctl
    linkageType: ''
    returnType: void
    signature: void clean_fifo(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: sigint_handler
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint_handler(int signo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:458,1
    - Dst: signal
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:463,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:465,1
    - Dst: epoll_create1
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:466,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:468,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:469,1
    - Dst: timerfd_create
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:473,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:475,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:476,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:480,1
    - Dst: timerfd_settime
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:483,1
    - Dst: epoll_ctl
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:487,1
    - Dst: init_fifo
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:489,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:490,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:493,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:496,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:497,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:498,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:499,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:504,1
    - Dst: fflush
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:505,1
    - Dst: epoll_wait
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:508,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:513,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:517,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:518,1
    - Dst: fifo_cb
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:525,1
    - Dst: timer_cb
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:528,1
    - Dst: event_cb
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:531,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:536,1
    - Dst: fflush
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:537,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:539,1
    - Dst: clean_fifo
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:540,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ephiperfifo.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 543
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ephiperfifo.c
    functionUses: 6
    functionsReached:
    - perror
    - timer_cb
    - init_fifo
    - fifo_cb
    - curl_multi_cleanup
    - memset
    - epoll_create1
    - fprintf
    - event_cb
    - fflush
    - epoll_ctl
    - signal
    - curl_multi_setopt
    - curl_global_init
    - clean_fifo
    - epoll_wait
    - timerfd_create
    - timerfd_settime
    - curl_global_cleanup
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:116,1
    - Dst: ev_timer_stop
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:117,1
    - Dst: ev_timer_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:121,1
    - Dst: ev_timer_start
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - g
    argTypes:
    - CURLM*
    - long
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: multi_timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached:
    - ev_timer_init
    - printf
    - ev_timer_start
    - ev_timer_stop
    linkageType: ''
    returnType: int
    signature: int multi_timer_cb(CURLM *multi, long timeout_ms, struct GlobalInfo
      *g)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:156,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:160,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 163
    functionName: mcode_or_die
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 9
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:173,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:174,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:178,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:179,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:180,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:181,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:182,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:183,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: check_multi_info
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 10
    functionsReached:
    - free
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:196,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:201,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:202,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:203,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:205,1
    - Dst: ev_timer_stop
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: event_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - printf
    - check_multi_info
    - curl_multi_socket_action
    - mcode_or_die
    - fprintf
    - ev_timer_stop
    linkageType: ''
    returnType: void
    signature: void event_cb(EV_P_ struct ev_io *w, int revents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:216,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:220,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:222,1
    - Dst: check_multi_info
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: timer_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - curl_multi_socket_action
    - printf
    - check_multi_info
    - mcode_or_die
    linkageType: ''
    returnType: void
    signature: void timer_cb(EV_P_ struct ev_timer *w, int revents)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:229,1
    - Dst: ev_io_stop
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:232,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - g
    argTypes:
    - struct SockInfo*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: remsock
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - printf
    - free
    - ev_io_stop
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f, struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:244,1
    - Dst: ev_io_stop
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:250,1
    - Dst: ev_io_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:251,1
    - Dst: ev_io_start
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: setsock
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 6
    functionsReached:
    - ev_io_start
    - printf
    - ev_io_init
    - ev_io_stop
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:261,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:264,1
    - Dst: curl_multi_assign
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - curl
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: addsock
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - curl_multi_assign
    - calloc
    - setsock
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *curl, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:275,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:278,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:281,1
    - Dst: remsock
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:282,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:286,1
    - Dst: addsock
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:287,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:290,1
    - Dst: setsock
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 297
    functionName: sock_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached:
    - printf
    - addsock
    - remsock
    - setsock
    - fprintf
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: xferinfo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *p, curl_off_t dltotal, curl_off_t dlnow,\n                       curl_off_t
      ult, curl_off_t uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:328,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:331,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:333,1
    - Dst: exit
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:334,1
    - Dst: strdup
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:337,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:338,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:339,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:340,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:341,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:342,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:343,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:344,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:345,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:346,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:347,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:348,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:350,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:352,1
    - Dst: mcode_or_die
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 357
    functionName: new_conn
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_multi_add_handle
    - calloc
    - exit
    - mcode_or_die
    - strdup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:371,1
    - Dst: new_conn
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: fifo_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - fscanf
    - new_conn
    linkageType: ''
    returnType: void
    signature: void fifo_cb(EV_P_ struct ev_io *w, int revents)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:388,1
    - Dst: lstat
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:389,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:392,1
    - Dst: unlink
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:396,1
    - Dst: mkfifo
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:397,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:398,1
    - Dst: open
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:401,1
    - Dst: perror
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:403,1
    - Dst: fdopen
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:406,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:408,1
    - Dst: ev_io_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:409,1
    - Dst: ev_io_start
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 412
    functionName: init_fifo
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - lstat
    - open
    - fdopen
    - ev_io_start
    - mkfifo
    - unlink
    - perror
    - ev_io_init
    - fprintf
    linkageType: ''
    returnType: int
    signature: int init_fifo(struct GlobalInfo *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:421,1
    - Dst: memset
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:425,1
    - Dst: ev_default_loop
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:426,1
    - Dst: init_fifo
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:428,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:430,1
    - Dst: ev_timer_init
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:432,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:435,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:436,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:437,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:438,1
    - Dst: ev_loop
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:443,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:444,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/evhiperfifo.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 447
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/evhiperfifo.c
    functionUses: 6
    functionsReached:
    - ev_loop
    - init_fifo
    - ev_timer_init
    - curl_multi_setopt
    - ev_default_loop
    - curl_multi_cleanup
    - memset
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ipv6.c:35,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ipv6.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ipv6.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ipv6.c:43,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ipv6.c:45,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ipv6.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ipv6.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ipv6.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: strerror
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-download.c
    functionUses: 195
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:68,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:73,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:79,1
    - Dst: fputs
      Src: /src/PROJ/curl/docs/examples/http2-download.c:81,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:91,1
    - Dst: fputc
      Src: /src/PROJ/curl/docs/examples/http2-download.c:100,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - text
    - num
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - int
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: dump
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-download.c
    functionUses: 46
    functionsReached:
    - fputs
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, int num, unsigned char *ptr,\n                 size_t
      size, char nohex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:114,1
    - Dst: dump
      Src: /src/PROJ/curl/docs/examples/http2-download.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: my_trace
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-download.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *curl, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:150,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/http2-download.c:151,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:153,1
    - Dst: strerror
      Src: /src/PROJ/curl/docs/examples/http2-download.c:154,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/http2-download.c:158,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:162,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:165,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:176,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - t
    - num
    argTypes:
    - struct transfer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 184
    functionName: setup
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-download.c
    functionUses: 69
    functionsReached:
    - curl_easy_setopt
    - snprintf
    - curl_easy_init
    - fopen
    - strerror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int setup(struct transfer *t, int num)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/PROJ/curl/docs/examples/http2-download.c:200,1
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/http2-download.c:207,1
    - Dst: calloc
      Src: /src/PROJ/curl/docs/examples/http2-download.c:211,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/http2-download.c:213,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/http2-download.c:218,1
    - Dst: setup
      Src: /src/PROJ/curl/docs/examples/http2-download.c:223,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/http2-download.c:228,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/http2-download.c:231,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/http2-download.c:234,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/http2-download.c:238,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/http2-download.c:249,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-download.c:250,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/http2-download.c:253,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-download.c:255,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/http2-download.c:258,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/http2-download.c:260,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/http2-download.c
    functionUses: 6
    functionsReached:
    - curl_global_init
    - curl_multi_poll
    - free
    - curl_multi_perform
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_multi_add_handle
    - setup
    - calloc
    - fclose
    - curl_global_cleanup
    - atoi
    - fprintf
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/simplessl.c:72,1
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/simplessl.c:77,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/simplessl.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:91,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/simplessl.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:96,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/simplessl.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:119,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/simplessl.c:128,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/simplessl.c:131,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/simplessl.c:134,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/simplessl.c:135,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/simplessl.c:141,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/simplessl.c:144,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/simplessl.c:146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/simplessl.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - fopen
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - fclose
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:63,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-stat.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-stat.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/certinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr,  size_t  size,  size_t  nmemb,  void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/certinfo.c:44,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/certinfo.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/certinfo.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/certinfo.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/certinfo.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/certinfo.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/certinfo.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/certinfo.c:58,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/certinfo.c:60,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/certinfo.c:65,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/certinfo.c:70,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/certinfo.c:76,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/certinfo.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/certinfo.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/certinfo.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: sighandler
    functionSourceFile: /src/PROJ/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sighandler(int dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/docs/examples/crawler.c:67,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/crawler.c:70,1
    - Dst: memcpy
      Src: /src/PROJ/curl/docs/examples/crawler.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - contents
    - sz
    - nmemb
    - ctx
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - printf
    - realloc
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *contents, size_t sz, size_t nmemb, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/crawler.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:86,1
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/crawler.c:89,1
    - Dst: malloc
      Src: /src/PROJ/curl/docs/examples/crawler.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:109,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:116,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 119
    functionName: make_handle
    functionSourceFile: /src/PROJ/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - malloc
    linkageType: ''
    returnType: CURL
    signature: CURL *make_handle(const char *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htmlReadMemory
      Src: /src/PROJ/curl/docs/examples/crawler.c:127,1
    - Dst: xmlXPathNewContext
      Src: /src/PROJ/curl/docs/examples/crawler.c:137,1
    - Dst: xmlXPathEvalExpression
      Src: /src/PROJ/curl/docs/examples/crawler.c:138,1
    - Dst: xmlXPathFreeContext
      Src: /src/PROJ/curl/docs/examples/crawler.c:139,1
    - Dst: xmlXPathNodeSetIsEmpty
      Src: /src/PROJ/curl/docs/examples/crawler.c:143,1
    - Dst: xmlXPathFreeObject
      Src: /src/PROJ/curl/docs/examples/crawler.c:144,1
    - Dst: rand
      Src: /src/PROJ/curl/docs/examples/crawler.c:149,1
    - Dst: xmlNodeListGetString
      Src: /src/PROJ/curl/docs/examples/crawler.c:152,1
    - Dst: xmlBuildURI
      Src: /src/PROJ/curl/docs/examples/crawler.c:156,1
    - Dst: xmlFree
      Src: /src/PROJ/curl/docs/examples/crawler.c:157,1
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/crawler.c:160,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/crawler.c:162,1
    - Dst: strncmp
      Src: /src/PROJ/curl/docs/examples/crawler.c:162,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/crawler.c:163,1
    - Dst: make_handle
      Src: /src/PROJ/curl/docs/examples/crawler.c:163,1
    - Dst: xmlFree
      Src: /src/PROJ/curl/docs/examples/crawler.c:167,1
    - Dst: xmlXPathFreeObject
      Src: /src/PROJ/curl/docs/examples/crawler.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - multi
    - mem
    - url
    argTypes:
    - CURLM*
    - struct memory*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 171
    functionName: follow_links
    functionSourceFile: /src/PROJ/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - xmlXPathFreeObject
    - xmlNodeListGetString
    - strncmp
    - xmlBuildURI
    - xmlXPathNewContext
    - xmlXPathEvalExpression
    - curl_multi_add_handle
    - xmlFree
    - htmlReadMemory
    - xmlXPathFreeContext
    - rand
    - strlen
    - xmlXPathNodeSetIsEmpty
    - make_handle
    linkageType: ''
    returnType: size_t
    signature: "size_t follow_links(CURLM *multi, struct memory *mem,\n                           const
      char *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/docs/examples/crawler.c:175,1
    - Dst: strstr
      Src: /src/PROJ/curl/docs/examples/crawler.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctype
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: is_html
    functionSourceFile: /src/PROJ/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - strlen
    - strstr
    linkageType: ''
    returnType: int
    signature: int is_html(char *ctype)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/crawler.c:187,1
    - Dst: signal
      Src: /src/PROJ/curl/docs/examples/crawler.c:191,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/crawler.c:193,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:195,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:196,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/docs/examples/crawler.c:200,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/crawler.c:204,1
    - Dst: make_handle
      Src: /src/PROJ/curl/docs/examples/crawler.c:204,1
    - Dst: curl_multi_wait
      Src: /src/PROJ/curl/docs/examples/crawler.c:213,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/crawler.c:214,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/crawler.c:218,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/crawler.c:223,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/crawler.c:224,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/crawler.c:227,1
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/crawler.c:230,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/crawler.c:231,1
    - Dst: is_html
      Src: /src/PROJ/curl/docs/examples/crawler.c:232,1
    - Dst: follow_links
      Src: /src/PROJ/curl/docs/examples/crawler.c:235,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/crawler.c:241,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/crawler.c:245,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/crawler.c:247,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/crawler.c:248,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/crawler.c:249,1
    - Dst: free
      Src: /src/PROJ/curl/docs/examples/crawler.c:250,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/crawler.c:256,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/crawler.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 260
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/crawler.c
    functionUses: 6
    functionsReached:
    - curl_global_init
    - printf
    - free
    - make_handle
    - curl_multi_perform
    - curl_easy_getinfo
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_multi_wait
    - curl_multi_info_read
    - curl_multi_add_handle
    - is_html
    - follow_links
    - curl_easy_cleanup
    - curl_global_cleanup
    - signal
    - curl_multi_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:45,1
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpsget.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb(void *buffer, size_t size, size_t nmemb,\n                        void
      *stream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:62,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:84,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:89,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:93,1
    - Dst: fclose
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:98,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/ftpsget.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/ftpsget.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_perform
    - fclose
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/multi-app.c:51,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/multi-app.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-app.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-app.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/multi-app.c:63,1
    - Dst: curl_multi_init
      Src: /src/PROJ/curl/docs/examples/multi-app.c:66,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/docs/examples/multi-app.c:76,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/docs/examples/multi-app.c:79,1
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/docs/examples/multi-app.c:83,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/docs/examples/multi-app.c:91,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/multi-app.c:104,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/multi-app.c:107,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/docs/examples/multi-app.c:115,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-app.c:117,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-app.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/multi-app.c:124,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/multi-app.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_multi_poll
    - printf
    - curl_multi_perform
    - curl_easy_init
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - curl_multi_info_read
    - curl_easy_cleanup
    - curl_multi_add_handle
    - curl_global_cleanup
    - curl_global_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:49,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:56,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 73
    functionName: xferinfo
    functionSourceFile: /src/PROJ/curl/docs/examples/progressfunc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int xferinfo(void *p,\n                    curl_off_t dltotal, curl_off_t
      dlnow,\n                    curl_off_t ultotal, curl_off_t ulnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:79,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:96,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:97,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:100,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:103,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/progressfunc.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/progressfunc.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/docs/examples/cacertinmem.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:81,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:82,1
    - Dst: STACK_OF
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:84,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:93,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:96,1
    - Dst: sk_X509_INFO_num
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:100,1
    - Dst: sk_X509_INFO_value
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:101,1
    - Dst: X509_STORE_add_cert
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:103,1
    - Dst: X509_STORE_add_crl
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:106,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:110,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - curl
    - sslctx
    - pointer
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 114
    functionName: sslctx_function
    functionSourceFile: /src/PROJ/curl/docs/examples/cacertinmem.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_crl
    - X509_STORE_add_cert
    - BIO_new_mem_buf
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_pop_free
    - STACK_OF
    - BIO_free
    - sk_X509_INFO_value
    - SSL_CTX_get_cert_store
    - sk_X509_INFO_num
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sslctx_function(CURL *curl, void *sslctx, void *pointer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:120,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:124,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:128,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:129,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:131,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:132,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:133,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:135,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:143,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:148,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:150,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:152,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:162,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:168,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:169,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:171,1
    - Dst: printf
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:173,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:175,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/cacertinmem.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/cacertinmem.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - printf
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:43,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:60,1
    - Dst: curl_easy_perform
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:63,1
    - Dst: fprintf
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/PROJ/curl/docs/examples/pop3-dele.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/PROJ/curl/docs/examples/pop3-dele.c
    functionUses: 6
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_easy_strerror
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: CURL_VERSION_BITS
    functionSourceFile: /src/PROJ/curl/include/curl/curlver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_VERSION_BITS(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: CURL_AT_LEAST_VERSION
    functionSourceFile: /src/PROJ/curl/include/curl/curlver.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AT_LEAST_VERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - version
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: CURL_DEPRECATED
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_DEPRECATED(version, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statements
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: CURL_IGNORE_DEPRECATION
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_IGNORE_DEPRECATION(statements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statements
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: CURL_IGNORE_DEPRECATION
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_IGNORE_DEPRECATION(statements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statements
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CURL_IGNORE_DEPRECATION
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_IGNORE_DEPRECATION(statements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: CURL_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HAS_DECLSPEC_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: CURL_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HAS_DECLSPEC_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - na
    - ','
    - t
    - ','
    - nu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1120
    functionName: CURLOPT
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLOPT(na,t,nu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - na
    - ','
    - t
    - ','
    - nu
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1121
    functionName: CURLOPTDEPRECATED
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLOPTDEPRECATED(na,t,nu,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3340
    functionName: curl_easy_setopt
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 211
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_setopt(handle,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - info
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3341
    functionName: curl_easy_getinfo
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_getinfo(handle,info,arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - share
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3342
    functionName: curl_share_setopt
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_share_setopt(share,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3343
    functionName: curl_multi_setopt
    functionSourceFile: /src/PROJ/curl/include/curl/curl.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_multi_setopt(handle,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - option
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 161
    functionName: curl_easy_setopt
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 211
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_setopt(handle, option, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - info
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 195
    functionName: curl_easy_getinfo
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_getinfo(handle, info, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - option
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: curl_multi_setopt
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_multi_setopt(handle, option, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: curlcheck_multicb_data_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multicb_data_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: curlcheck_charpp_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_charpp_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: curlcheck_multitimer_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multitimer_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: curlcheck_multisocket_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multisocket_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: curlcheck_multipush_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multipush_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: curlcheck_multinotify_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multinotify_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - share
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: curl_share_setopt
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_share_setopt(share,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: CURLWARNING
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLWARNING(id, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: curlcheck_long_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_long_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: curlcheck_off_t_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_off_t_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: curlcheck_curl_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_curl_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 502
    functionName: curlcheck_string_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_string_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: curlcheck_write_cb_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_write_cb_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: curlcheck_conv_cb_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_conv_cb_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 538
    functionName: curlcheck_cb_data_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_data_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: curlcheck_postfields_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_postfields_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: curlcheck_slist_option
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_slist_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: curlcheck_string_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_string_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: curlcheck_long_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_long_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: curlcheck_double_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_double_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: curlcheck_slist_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_slist_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: curlcheck_tlssessioninfo_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_tlssessioninfo_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: curlcheck_certinfo_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_certinfo_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 588
    functionName: curlcheck_socket_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_socket_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: curlcheck_off_t_info
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_off_t_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: curlcheck_any_ptr
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_any_ptr(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 613
    functionName: curlcheck_NULL
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_NULL(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: curlcheck_ptr
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ptr(expr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: curlcheck_ptrptr
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ptrptr(expr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: curlcheck_arr
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_arr(expr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: curlcheck_string
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_string(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: curlcheck_curl
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_curl(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 669
    functionName: curlcheck_long
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_long(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: curlcheck_off_t
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_off_t(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: curlcheck_error_buffer
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_error_buffer(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: curlcheck_cb_data
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_data(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: curlcheck_cb_data
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_data(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: curlcheck_FILE
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_FILE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: curlcheck_postfields
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_postfields(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: curlcheck_cb_compatible
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_compatible(func, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: curlcheck_resolver_start_callback
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_resolver_start_callback(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: curlcheck_read_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_read_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 742
    functionName: curlcheck_write_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_write_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: curlcheck_ioctl_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ioctl_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: curlcheck_sockopt_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_sockopt_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: curlcheck_opensocket_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_opensocket_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: curlcheck_progress_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_progress_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: curlcheck_xferinfo_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_xferinfo_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 820
    functionName: curlcheck_debug_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_debug_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 850
    functionName: curlcheck_ssl_ctx_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ssl_ctx_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 879
    functionName: curlcheck_conv_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_conv_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: curlcheck_seek_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_seek_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: curlcheck_chunk_bgn_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_chunk_bgn_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: curlcheck_chunk_end_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_chunk_end_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: curlcheck_close_socket_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_close_socket_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: curlcheck_fnmatch_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_fnmatch_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: curlcheck_hstsread_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_hstsread_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: curlcheck_hstswrite_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_hstswrite_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: curlcheck_ssh_hostkey_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ssh_hostkey_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: curlcheck_ssh_key_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ssh_key_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: curlcheck_interleave_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_interleave_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: curlcheck_prereq_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_prereq_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: curlcheck_trailer_cb
    functionSourceFile: /src/PROJ/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_trailer_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: CURL_POPCOUNT64
    functionSourceFile: /src/PROJ/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_POPCOUNT64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: CURL_CTZ64
    functionSourceFile: /src/PROJ/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CTZ64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: CURL_POPCOUNT64
    functionSourceFile: /src/PROJ/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_POPCOUNT64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: CURL_CTZ64
    functionSourceFile: /src/PROJ/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CTZ64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: CURL_TEMP_PRINTF
    functionSourceFile: /src/PROJ/curl/include/curl/mprintf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEMP_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: CURL_TEMP_PRINTF
    functionSourceFile: /src/PROJ/curl/include/curl/mprintf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEMP_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: curl_multi_socket
    functionSourceFile: /src/PROJ/curl/include/curl/multi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_multi_socket(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - add
    - shift
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: calc
    functionSourceFile: /src/PROJ/curl/scripts/schemetable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int calc(const char *s, int add, int shift)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calc
      Src: /src/PROJ/curl/scripts/schemetable.c:100,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:103,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:113,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:121,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:122,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:123,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:124,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:125,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:133,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:136,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - try
    - init
    - shift
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 141
    functionName: showtable
    functionSourceFile: /src/PROJ/curl/scripts/schemetable.c
    functionUses: 0
    functionsReached:
    - printf
    - calc
    linkageType: ''
    returnType: void
    signature: void showtable(int try, int init, int shift)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calc
      Src: /src/PROJ/curl/scripts/schemetable.c:155,1
    - Dst: printf
      Src: /src/PROJ/curl/scripts/schemetable.c:175,1
    - Dst: showtable
      Src: /src/PROJ/curl/scripts/schemetable.c:206,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/PROJ/curl/scripts/schemetable.c
    functionUses: 6
    functionsReached:
    - printf
    - calc
    - showtable
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/PROJ/curl/CMake/CurlTests.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/CMake/CurlTests.c:85,1
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/CMake/CurlTests.c:89,1
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/CMake/CurlTests.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - gethostbyname_r
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/PROJ/curl/CMake/CurlTests.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IoctlSocket
      Src: /src/PROJ/curl/CMake/CurlTests.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - IoctlSocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IoctlSocket
      Src: /src/PROJ/curl/CMake/CurlTests.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - IoctlSocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/PROJ/curl/CMake/CurlTests.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/PROJ/curl/CMake/CurlTests.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/PROJ/curl/CMake/CurlTests.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/CMake/CurlTests.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: check
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/PROJ/curl/CMake/CurlTests.c:282,1
    - Dst: strerror_r
      Src: /src/PROJ/curl/CMake/CurlTests.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - check
    - strerror_r
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: check
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/PROJ/curl/CMake/CurlTests.c:299,1
    - Dst: strerror_r
      Src: /src/PROJ/curl/CMake/CurlTests.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - check
    - strerror_r
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fsetxattr
      Src: /src/PROJ/curl/CMake/CurlTests.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - fsetxattr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fsetxattr
      Src: /src/PROJ/curl/CMake/CurlTests.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - fsetxattr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PROJ/curl/CMake/CurlTests.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/PROJ/curl/CMake/CurlTests.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached:
    - __builtin_available
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: enquote
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enquote(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: expand
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expand(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: enquote
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enquote(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: expand
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expand(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: main
    functionSourceFile: /src/PROJ/curl/CMake/CurlTests.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cw-out.c:88,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/cw-out.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - otype
    argTypes:
    - cw_out_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: cw_out_buf_create
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    linkageType: ''
    returnType: struct cw_out_buf
    signature: struct cw_out_buf *cw_out_buf_create(cw_out_type otype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cw-out.c:99,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cw-out.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cwbuf
    argTypes:
    - struct cw_out_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: cw_out_buf_free
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void cw_out_buf_free(struct cw_out_buf *cwbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: cw_out_init
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_init(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_buf_free
      Src: /src/PROJ/curl/lib/cw-out.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cw_out_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: cw_out_bufs_free
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_buf_free
    linkageType: ''
    returnType: void
    signature: void cw_out_bufs_free(struct cw_out_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cw_out_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: cw_out_bufs_len
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_len
    linkageType: ''
    returnType: size_t
    signature: size_t cw_out_bufs_len(struct cw_out_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_bufs_free
      Src: /src/PROJ/curl/lib/cw-out.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: cw_out_close
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_bufs_free
    linkageType: ''
    returnType: void
    signature: void cw_out_close(struct Curl_easy *data, struct Curl_cwriter *writer)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - data
    - otype
    - pwcb
    - pwcb_data
    - pmax_write
    - pmin_write
    argTypes:
    - struct Curl_easy*
    - cw_out_type
    - curl_write_callback*
    - void**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 195
    functionName: cw_get_writefunc
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cw_get_writefunc(struct Curl_easy *data, cw_out_type otype,\n
      \                            curl_write_callback *pwcb, void **pwcb_data,\n
      \                            size_t *pmax_write, size_t *pmin_write)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-out.c:208,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cw-out.c:210,1
    - Dst: wcb
      Src: /src/PROJ/curl/lib/cw-out.c:211,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/cw-out.c:211,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cw-out.c:212,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-out.c:213,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cw-out.c:221,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-out.c:225,1
    - Dst: Curl_xfer_pause_recv
      Src: /src/PROJ/curl/lib/cw-out.c:226,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cw-out.c:230,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cw-out.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 8
    argNames:
    - ctx
    - data
    - wcb
    - wcb_data
    - otype
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - curl_write_callback
    - void*
    - cw_out_type
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 240
    functionName: cw_out_cb_write
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - Curl_set_in_callback
    - failf
    - CURL_TRC_WRITE
    - Curl_xfer_pause_recv
    - CURL_UNCONST
    - DEBUGASSERT
    - wcb
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_cb_write(struct cw_out_ctx *ctx,\n                                struct
      Curl_easy *data,\n                                curl_write_callback wcb,\n
      \                               void *wcb_data,\n                                cw_out_type
      otype,\n                                const char *buf, size_t blen,\n                                size_t
      *pnwritten)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cw_get_writefunc
      Src: /src/PROJ/curl/lib/cw-out.c:260,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-out.c:268,1
    - Dst: cw_out_cb_write
      Src: /src/PROJ/curl/lib/cw-out.c:269,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/cw-out.c:276,1
    - Dst: cw_out_cb_write
      Src: /src/PROJ/curl/lib/cw-out.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - ctx
    - data
    - otype
    - flush_all
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - cw_out_type
    - bool
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 287
    functionName: cw_out_ptr_flush
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - cw_out_cb_write
    - DEBUGASSERT
    - cw_get_writefunc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_ptr_flush(struct cw_out_ctx *ctx,\n                                 struct
      Curl_easy *data,\n                                 cw_out_type otype,\n                                 bool
      flush_all,\n                                 const char *buf, size_t blen,\n
      \                                size_t *pconsumed)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:296,1
    - Dst: cw_out_ptr_flush
      Src: /src/PROJ/curl/lib/cw-out.c:299,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/cw-out.c:300,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:301,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:308,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cw-out.c:309,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-out.c:312,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:312,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/cw-out.c:313,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - data
    - cwbuf
    - flush_all
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - struct cw_out_buf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 321
    functionName: cw_out_buf_flush
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - curlx_dyn_ptr
    - cw_out_ptr_flush
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_buf_flush(struct cw_out_ctx *ctx,\n                                 struct
      Curl_easy *data,\n                                 struct cw_out_buf *cwbuf,\n
      \                                bool flush_all)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_flush_chain
      Src: /src/PROJ/curl/lib/cw-out.c:341,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-out.c:346,1
    - Dst: cw_out_buf_flush
      Src: /src/PROJ/curl/lib/cw-out.c:351,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cw-out.c:354,1
    - Dst: cw_out_buf_free
      Src: /src/PROJ/curl/lib/cw-out.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - data
    - pcwbuf
    - flush_all
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - struct cw_out_buf**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 359
    functionName: cw_out_flush_chain
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 1
    functionsReached:
    - cw_out_buf_free
    - cw_out_buf_flush
    - DEBUGASSERT
    - curlx_dyn_len
    - cw_out_flush_chain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_flush_chain(struct cw_out_ctx *ctx,\n                                   struct
      Curl_easy *data,\n                                   struct cw_out_buf **pcwbuf,\n
      \                                  bool flush_all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-out.c:366,1
    - Dst: cw_out_bufs_len
      Src: /src/PROJ/curl/lib/cw-out.c:367,1
    - Dst: cw_out_bufs_len
      Src: /src/PROJ/curl/lib/cw-out.c:368,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cw-out.c:369,1
    - Dst: cw_out_buf_create
      Src: /src/PROJ/curl/lib/cw-out.c:377,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-out.c:383,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/cw-out.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - data
    - otype
    - buf
    - blen
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - cw_out_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 385
    functionName: cw_out_append
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - cw_out_buf_create
    - failf
    - CURL_TRC_WRITE
    - cw_out_bufs_len
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_append(struct cw_out_ctx *ctx,\n                              struct
      Curl_easy *data,\n                              cw_out_type otype,\n                              const
      char *buf, size_t blen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_flush_chain
      Src: /src/PROJ/curl/lib/cw-out.c:398,1
    - Dst: cw_out_append
      Src: /src/PROJ/curl/lib/cw-out.c:405,1
    - Dst: cw_out_flush_chain
      Src: /src/PROJ/curl/lib/cw-out.c:408,1
    - Dst: cw_out_ptr_flush
      Src: /src/PROJ/curl/lib/cw-out.c:415,1
    - Dst: cw_out_append
      Src: /src/PROJ/curl/lib/cw-out.c:422,1
    - Dst: cw_out_bufs_free
      Src: /src/PROJ/curl/lib/cw-out.c:434,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 6
    argNames:
    - ctx
    - data
    - otype
    - flush_all
    - buf
    - blen
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - cw_out_type
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 437
    functionName: cw_out_do_write
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_ptr_flush
    - cw_out_flush_chain
    - cw_out_bufs_free
    - cw_out_append
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_do_write(struct cw_out_ctx *ctx,\n                                struct
      Curl_easy *data,\n                                cw_out_type otype,\n                                bool
      flush_all,\n                                const char *buf, size_t blen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_do_write
      Src: /src/PROJ/curl/lib/cw-out.c:451,1
    - Dst: cw_out_do_write
      Src: /src/PROJ/curl/lib/cw-out.c:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 439
    functionDepth: 6
    functionLinenumber: 439
    functionLinenumberEnd: 463
    functionName: cw_out_write
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_do_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_write(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer, int type,\n                             const char *buf,
      size_t blen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/PROJ/curl/lib/cw-out.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 476
    functionName: Curl_cw_out_is_paused
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_get_by_type
    linkageType: ''
    returnType: bool
    signature: bool Curl_cw_out_is_paused(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_flush_chain
      Src: /src/PROJ/curl/lib/cw-out.c:490,1
    - Dst: cw_out_bufs_free
      Src: /src/PROJ/curl/lib/cw-out.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - cw_out
    - flush_all
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 478
    functionDepth: 5
    functionLinenumber: 478
    functionLinenumberEnd: 497
    functionName: cw_out_flush
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_flush_chain
    - cw_out_bufs_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_flush(struct Curl_easy *data,\n                             struct
      Curl_cwriter *cw_out,\n                             bool flush_all)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/PROJ/curl/lib/cw-out.c:504,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-out.c:507,1
    - Dst: Curl_cw_pause_flush
      Src: /src/PROJ/curl/lib/cw-out.c:509,1
    - Dst: cw_out_flush
      Src: /src/PROJ/curl/lib/cw-out.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 6
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: Curl_cw_out_unpause
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WRITE
    - Curl_cwriter_get_by_type
    - Curl_cw_pause_flush
    - cw_out_flush
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cw_out_unpause(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/PROJ/curl/lib/cw-out.c:521,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-out.c:523,1
    - Dst: Curl_cw_pause_flush
      Src: /src/PROJ/curl/lib/cw-out.c:524,1
    - Dst: cw_out_flush
      Src: /src/PROJ/curl/lib/cw-out.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 516
    functionDepth: 6
    functionLinenumber: 516
    functionLinenumberEnd: 529
    functionName: Curl_cw_out_done
    functionSourceFile: /src/PROJ/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WRITE
    - Curl_cwriter_get_by_type
    - Curl_cw_pause_flush
    - cw_out_flush
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cw_out_done(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: show_resolve_info
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: show_resolve_info(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:140,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/hostip.c:147,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/hostip.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ai
    - buf
    - bufsize
    argTypes:
    - struct Curl_addrinfo*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: Curl_printable_address
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_inet_ntop
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_printable_address(const struct Curl_addrinfo *ai, char *buf,\n
      \                           size_t bufsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hostip.c:172,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:173,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/hostip.c:177,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/hostip.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - name
    - nlen
    - port
    - ptr
    - buflen
    argTypes:
    - char*
    - size_t
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: create_dnscache_id
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_strntolower
    - curl_msnprintf
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t create_dnscache_id(const char *name,\n                   size_t
      nlen, /* 0 or actual name length */\n                   int port, char *ptr,
      size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/hostip.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - datap
    - hc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: dnscache_entry_is_stale
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    linkageType: ''
    returnType: int
    signature: int dnscache_entry_is_stale(void *datap, void *hc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_clean_with_criterium
      Src: /src/PROJ/curl/lib/hostip.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hostcache
    - cache_timeout_ms
    - now
    argTypes:
    - struct Curl_hash*
    - timediff_t
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: dnscache_prune
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_hash_clean_with_criterium
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t dnscache_prune(struct Curl_hash *hostcache, timediff_t
      cache_timeout_ms,\n               struct curltime now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: dnscache_get
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_dnscache
    signature: struct Curl_dnscache *dnscache_get(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/hostip.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - dnscache
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: dnscache_lock
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_share_lock
    linkageType: ''
    returnType: void
    signature: "void dnscache_lock(struct Curl_easy *data,\n                          struct
      Curl_dnscache *dnscache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/hostip.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - dnscache
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: dnscache_unlock
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: "void dnscache_unlock(struct Curl_easy *data,\n                            struct
      Curl_dnscache *dnscache)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:264,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:273,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/hostip.c:275,1
    - Dst: dnscache_prune
      Src: /src/PROJ/curl/lib/hostip.c:279,1
    - Dst: Curl_hash_count
      Src: /src/PROJ/curl/lib/hostip.c:281,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: Curl_dnscache_prune
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - curlx_now
    - dnscache_prune
    - dnscache_get
    - dnscache_unlock
    - Curl_hash_count
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_prune(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:296,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:298,1
    - Dst: Curl_hash_clean
      Src: /src/PROJ/curl/lib/hostip.c:299,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: Curl_dnscache_clear
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_get
    - Curl_hash_clean
    - dnscache_lock
    - dnscache_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_clear(struct Curl_easy *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_dnscache_id
      Src: /src/PROJ/curl/lib/hostip.c:327,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/hostip.c:331,1
    - Dst: create_dnscache_id
      Src: /src/PROJ/curl/lib/hostip.c:335,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/hostip.c:338,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/hostip.c:345,1
    - Dst: dnscache_entry_is_stale
      Src: /src/PROJ/curl/lib/hostip.c:349,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:350,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/hostip.c:352,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:376,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/hostip.c:378,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - data
    - dnscache
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 382
    functionName: fetch_addr
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_now
    - Curl_hash_pick
    - Curl_hash_delete
    - create_dnscache_id
    - dnscache_entry_is_stale
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *fetch_addr(struct Curl_easy *data,\n                                         struct
      Curl_dnscache *dnscache,\n                                         const char
      *hostname,\n                                         int port,\n                                         int
      ip_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:404,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:407,1
    - Dst: fetch_addr
      Src: /src/PROJ/curl/lib/hostip.c:409,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: Curl_dnscache_get
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - fetch_addr
    - dnscache_get
    - dnscache_lock
    - dnscache_unlock
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *\nCurl_dnscache_get(struct Curl_easy *data,\n
      \                 const char *hostname,\n                  int port,\n                  int
      ip_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 430
    functionName: num_addresses
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_addresses(const struct Curl_addrinfo *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_addresses
      Src: /src/PROJ/curl/lib/hostip.c:450,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:454,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/hostip.c:456,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/hostip.c:468,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/hostip.c:471,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hostip.c:487,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hostip.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - data
    - addr
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 497
    functionName: Curl_shuffle_addr
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - Curl_rand
    - infof
    - free
    - malloc
    - num_addresses
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_shuffle_addr(struct Curl_easy *data,\n                                    struct
      Curl_addrinfo **addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_shuffle_addr
      Src: /src/PROJ/curl/lib/hostip.c:513,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/hostip.c:515,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hostip.c:523,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hostip.c:526,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/hostip.c:528,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/hostip.c:539,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hostip.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - data
    - addr
    - hostname
    - hostlen
    - port
    - permanent
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - char*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 546
    functionName: Curl_dnscache_mk_entry
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_now
    - calloc
    - strlen
    - Curl_shuffle_addr
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *\nCurl_dnscache_mk_entry(struct Curl_easy *data,\n
      \                      struct Curl_addrinfo *addr,\n                       const
      char *hostname,\n                       size_t hostlen, /* length or zero */\n
      \                      int port,\n                       bool permanent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dnscache_mk_entry
      Src: /src/PROJ/curl/lib/hostip.c:562,1
    - Dst: create_dnscache_id
      Src: /src/PROJ/curl/lib/hostip.c:567,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/lib/hostip.c:571,1
    - Dst: dnscache_entry_free
      Src: /src/PROJ/curl/lib/hostip.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - data
    - dnscache
    - addr
    - hostname
    - hlen
    - port
    - permanent
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    - struct Curl_addrinfo*
    - char*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 581
    functionName: dnscache_add_addr
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_hash_add
    - create_dnscache_id
    - dnscache_entry_free
    - Curl_dnscache_mk_entry
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *\ndnscache_add_addr(struct Curl_easy *data,\n
      \                 struct Curl_dnscache *dnscache,\n                  struct
      Curl_addrinfo *addr,\n                  const char *hostname,\n                  size_t
      hlen, /* length or zero */\n                  int port,\n                  bool
      permanent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:586,1
    - Dst: create_dnscache_id
      Src: /src/PROJ/curl/lib/hostip.c:593,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:597,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/lib/hostip.c:598,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:599,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 605
    functionName: Curl_dnscache_add
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - dnscache_get
    - dnscache_unlock
    - Curl_hash_add
    - create_dnscache_id
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dnscache_add(struct Curl_easy *data,\n                           struct
      Curl_dns_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hostip.c:613,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hostip.c:617,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/hostip.c:622,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip.c:628,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hostip.c:629,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hostip.c:638,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/hostip.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - port
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 642
    functionName: get_localhost6
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    - memcpy
    - strcpy
    - calloc
    - strlen
    - htons
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *get_localhost6(int port, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: get_localhost6
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_localhost6(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hostip.c:653,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/hostip.c:659,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/hostip.c:661,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip.c:662,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hostip.c:664,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hostip.c:666,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hostip.c:675,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/hostip.c:677,1
    - Dst: get_localhost6
      Src: /src/PROJ/curl/lib/hostip.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - port
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 684
    functionName: get_localhost
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    - memcpy
    - strcpy
    - memset
    - calloc
    - strlen
    - htons
    - get_localhost6
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *get_localhost(int port, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:696,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:697,1
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/hostip.c:699,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/lib/hostip.c:707,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/hostip.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 717
    functionName: Curl_ipv6works
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - sclose
    - CURL_SOCKET
    - DEBUGASSERT
    - Curl_ipv6works
    linkageType: ''
    returnType: bool
    signature: bool Curl_ipv6works(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip.c:730,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 737
    functionName: Curl_host_is_ipnum
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    linkageType: ''
    returnType: bool
    signature: bool Curl_host_is_ipnum(const char *hostname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/hostip.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - full
    - flen
    - part
    - plen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: tailmatch
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool tailmatch(const char *full, size_t flen,\n                      const
      char *part, size_t plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip.c:755,1
    - Dst: Curl_ip2addr
      Src: /src/PROJ/curl/lib/hostip.c:762,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip.c:769,1
    - Dst: Curl_ip2addr
      Src: /src/PROJ/curl/lib/hostip.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - hostname
    - port
    - is_ipaddr
    argTypes:
    - char*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 781
    functionName: convert_ipaddr_direct
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_ip2addr
    - curlx_inet_pton
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      convert_ipaddr_direct(const char *hostname, int port, bool *is_ipaddr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/hostip.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ip_version
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 796
    functionName: can_resolve_ip_version
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_ipv6works
    linkageType: ''
    returnType: bool
    signature: bool can_resolve_ip_version(struct Curl_easy *data, int ip_version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:802,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:804,1
    - Dst: dnscache_add_addr
      Src: /src/PROJ/curl/lib/hostip.c:809,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - host
    - port
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 818
    functionName: store_negative_resolve
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_get
    - infof
    - dnscache_add_addr
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode store_negative_resolve(struct Curl_easy *data,\n                                       const
      char *host,\n                                       int port)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:843,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hostip.c:862,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:863,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/hostip.c:865,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/hostip.c:866,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/hostip.c:867,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:872,1
    - Dst: fetch_addr
      Src: /src/PROJ/curl/lib/hostip.c:873,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:876,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:878,1
    - Dst: Curl_async_get_impl
      Src: /src/PROJ/curl/lib/hostip.c:887,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/hostip.c:890,1
    - Dst: struct Curl_easy*::set::resolver_start
      Src: /src/PROJ/curl/lib/hostip.c:891,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/hostip.c:893,1
    - Dst: convert_ipaddr_direct
      Src: /src/PROJ/curl/lib/hostip.c:901,1
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/hostip.c:912,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/hostip.c:916,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/hostip.c:917,1
    - Dst: tailmatch
      Src: /src/PROJ/curl/lib/hostip.c:918,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/hostip.c:918,1
    - Dst: tailmatch
      Src: /src/PROJ/curl/lib/hostip.c:919,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/hostip.c:919,1
    - Dst: get_localhost
      Src: /src/PROJ/curl/lib/hostip.c:920,1
    - Dst: Curl_doh
      Src: /src/PROJ/curl/lib/hostip.c:924,1
    - Dst: if
      Src: /src/PROJ/curl/lib/hostip.c:929,1
    - Dst: can_resolve_ip_version
      Src: /src/PROJ/curl/lib/hostip.c:929,1
    - Dst: Curl_async_getaddrinfo
      Src: /src/PROJ/curl/lib/hostip.c:933,1
    - Dst: Curl_sync_getaddrinfo
      Src: /src/PROJ/curl/lib/hostip.c:936,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 6
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - allowDOH
    - entry
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - bool
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 836
    functionDepth: 3
    functionLinenumber: 836
    functionLinenumberEnd: 938
    functionName: Curl_resolv
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - tailmatch
    - dnscache_lock
    - failf
    - Curl_ipv6works
    - fetch_addr
    - convert_ipaddr_direct
    - if
    - infof
    - get_localhost
    - Curl_async_get_impl
    - dnscache_get
    - STRCONST
    - can_resolve_ip_version
    - strlen
    - Curl_async_getaddrinfo
    - Curl_doh
    - dnscache_unlock
    - DEBUGASSERT
    - curl_strequal
    - Curl_set_in_callback
    - Curl_sync_getaddrinfo
    - struct Curl_easy*::set::resolver_start
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv(struct Curl_easy *data,\n                     const
      char *hostname,\n                     int port,\n                     int ip_version,\n
      \                    bool allowDOH,\n                     struct Curl_dns_entry
      **entry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:987,1
    - Dst: Curl_resolv
      Src: /src/PROJ/curl/lib/hostip.c:989,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:992,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:995,1
    - Dst: Curl_async_await
      Src: /src/PROJ/curl/lib/hostip.c:996,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/hostip.c:1000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - dnsentry
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 980
    functionDepth: 4
    functionLinenumber: 980
    functionLinenumberEnd: 1006
    functionName: Curl_resolv_blocking
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - connclose
    - Curl_async_await
    - DEBUGASSERT
    - Curl_resolv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_blocking(struct Curl_easy *data,\n                              const
      char *hostname,\n                              int port,\n                              int
      ip_version,\n                              struct Curl_dns_entry **dnsentry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/PROJ/curl/lib/hostip.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: alarmfunc
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: CURL_NORETURN
    signature: CURL_NORETURN alarmfunc(int sig)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:1065,1
    - Dst: Curl_resolv
      Src: /src/PROJ/curl/lib/hostip.c:1086,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/hostip.c:1091,1
    - Dst: curl_simple_lock_lock
      Src: /src/PROJ/curl/lib/hostip.c:1102,1
    - Dst: sigsetjmp
      Src: /src/PROJ/curl/lib/hostip.c:1104,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/hostip.c:1106,1
    - Dst: sigaction
      Src: /src/PROJ/curl/lib/hostip.c:1116,1
    - Dst: sigaction
      Src: /src/PROJ/curl/lib/hostip.c:1125,1
    - Dst: signal
      Src: /src/PROJ/curl/lib/hostip.c:1129,1
    - Dst: alarm
      Src: /src/PROJ/curl/lib/hostip.c:1135,1
    - Dst: curlx_sltoui
      Src: /src/PROJ/curl/lib/hostip.c:1135,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1141,1
    - Dst: Curl_resolv
      Src: /src/PROJ/curl/lib/hostip.c:1150,1
    - Dst: alarm
      Src: /src/PROJ/curl/lib/hostip.c:1157,1
    - Dst: sigaction
      Src: /src/PROJ/curl/lib/hostip.c:1163,1
    - Dst: signal
      Src: /src/PROJ/curl/lib/hostip.c:1168,1
    - Dst: curl_simple_lock_unlock
      Src: /src/PROJ/curl/lib/hostip.c:1172,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/hostip.c:1178,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/hostip.c:1178,1
    - Dst: alarm
      Src: /src/PROJ/curl/lib/hostip.c:1190,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/hostip.c:1192,1
    - Dst: alarm
      Src: /src/PROJ/curl/lib/hostip.c:1195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 6
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - entry
    - timeoutms
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - struct Curl_dns_entry**
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1200
    functionName: Curl_resolv_timeout
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curl_simple_lock_lock
    - infof
    - failf
    - curlx_now
    - curlx_timediff
    - sigaction
    - Curl_resolv
    - alarm
    - curlx_sltoui
    - DEBUGASSERT
    - signal
    - sigsetjmp
    - curl_simple_lock_unlock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_timeout(struct Curl_easy *data,\n                             const
      char *hostname,\n                             int port,\n                             int
      ip_version,\n                             struct Curl_dns_entry **entry,\n                             timediff_t
      timeoutms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/hostip.c:1204,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/PROJ/curl/lib/hostip.c:1207,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hostip.c:1208,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hostip.c:1211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dns
    argTypes:
    - struct Curl_dns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1212
    functionName: dnscache_entry_free
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - Curl_freeaddrinfo
    - free
    - Curl_httpsrr_cleanup
    linkageType: ''
    returnType: void
    signature: void dnscache_entry_free(struct Curl_dns_entry *dns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:1224,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:1227,1
    - Dst: dnscache_entry_free
      Src: /src/PROJ/curl/lib/hostip.c:1230,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - pdns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1233
    functionName: Curl_resolv_unlink
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_get
    - dnscache_entry_free
    - dnscache_lock
    - dnscache_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_resolv_unlink(struct Curl_easy *data, struct Curl_dns_entry
      **pdns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:1238,1
    - Dst: dnscache_entry_free
      Src: /src/PROJ/curl/lib/hostip.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    functionName: dnscache_entry_dtor
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_entry_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void dnscache_entry_dtor(void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/hostip.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dns
    - size
    argTypes:
    - struct Curl_dnscache*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1251
    functionName: Curl_dnscache_init
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_init(struct Curl_dnscache *dns, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/hostip.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dns
    argTypes:
    - struct Curl_dnscache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: Curl_dnscache_destroy
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_destroy(struct Curl_dnscache *dns)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:1260,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1279,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/hostip.c:1280,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1281,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1282,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/hostip.c:1286,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1287,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/hostip.c:1292,1
    - Dst: create_dnscache_id
      Src: /src/PROJ/curl/lib/hostip.c:1294,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1294,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1295,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:1297,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/hostip.c:1299,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:1300,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1319,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/hostip.c:1320,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1321,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/hostip.c:1325,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1328,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/hostip.c:1329,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1330,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1342,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/hostip.c:1343,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1344,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/hostip.c:1348,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1349,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/hostip.c:1356,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1356,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1356,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1357,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1358,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1358,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1359,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1365,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hostip.c:1368,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1368,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1368,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1369,1
    - Dst: Curl_str2addr
      Src: /src/PROJ/curl/lib/hostip.c:1371,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1373,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hostip.c:1384,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/hostip.c:1394,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/hostip.c:1396,1
    - Dst: create_dnscache_id
      Src: /src/PROJ/curl/lib/hostip.c:1401,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1401,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1401,1
    - Dst: dnscache_lock
      Src: /src/PROJ/curl/lib/hostip.c:1405,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/hostip.c:1408,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1411,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1412,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1413,1
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/hostip.c:1425,1
    - Dst: dnscache_add_addr
      Src: /src/PROJ/curl/lib/hostip.c:1429,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1429,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1430,1
    - Dst: dnscache_unlock
      Src: /src/PROJ/curl/lib/hostip.c:1437,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1443,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hostip.c:1444,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hostip.c:1444,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/hostip.c:1449,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1450,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 113
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1258
    functionDepth: 4
    functionLinenumber: 1258
    functionLinenumberEnd: 1459
    functionName: Curl_loadhostpairs
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 2
    functionsReached:
    - dnscache_lock
    - failf
    - infof
    - memcpy
    - dnscache_get
    - curlx_str
    - curlx_str_until
    - curlx_str_casecompare
    - Curl_hash_delete
    - dnscache_unlock
    - memchr
    - Curl_str2addr
    - curlx_strlen
    - curlx_str_single
    - Curl_hash_pick
    - curlx_str_number
    - dnscache_add_addr
    - create_dnscache_id
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_loadhostpairs(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:1472,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:1473,1
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/hostip.c:1477,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1482,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/hostip.c:1485,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/hostip.c:1487,1
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/hostip.c:1498,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/hostip.c:1499,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/hostip.c:1500,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/hostip.c:1502,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1504,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1512,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/hostip.c:1513,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/hostip.c:1513,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1515,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/hostip.c:1516,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/hostip.c:1516,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/hostip.c:1519,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/hostip.c:1521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1523
    functionName: show_resolve_info
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - Curl_host_is_ipnum
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_len
    - curlx_dyn_add
    - Curl_printable_address
    linkageType: ''
    returnType: void
    signature: "void show_resolve_info(struct Curl_easy *data,\n                              struct
      Curl_dns_entry *dns)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dnscache_get
      Src: /src/PROJ/curl/lib/hostip.c:1537,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip.c:1542,1
    - Dst: Curl_async_shutdown
      Src: /src/PROJ/curl/lib/hostip.c:1544,1
    - Dst: Curl_doh_is_resolved
      Src: /src/PROJ/curl/lib/hostip.c:1552,1
    - Dst: Curl_resolver_error
      Src: /src/PROJ/curl/lib/hostip.c:1554,1
    - Dst: Curl_async_is_resolved
      Src: /src/PROJ/curl/lib/hostip.c:1558,1
    - Dst: show_resolve_info
      Src: /src/PROJ/curl/lib/hostip.c:1560,1
    - Dst: store_negative_resolve
      Src: /src/PROJ/curl/lib/hostip.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1527
    functionDepth: 5
    functionLinenumber: 1527
    functionLinenumberEnd: 1566
    functionName: Curl_resolv_check
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_resolver_error
    - show_resolve_info
    - Curl_async_shutdown
    - store_negative_resolve
    - Curl_dnscache_get
    - Curl_doh_is_resolved
    - Curl_async_is_resolved
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_check(struct Curl_easy *data,\n                           struct
      Curl_dns_entry **dns)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_pollset
      Src: /src/PROJ/curl/lib/hostip.c:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1585
    functionName: Curl_resolv_pollset
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_async_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hostip.c:1601,1
    - Dst: Curl_setup_conn
      Src: /src/PROJ/curl/lib/hostip.c:1606,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/hostip.c:1609,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/hostip.c:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - dns
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1613
    functionName: Curl_once_resolved
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_conn_terminate
    - Curl_detach_connection
    - DEBUGASSERT
    - Curl_setup_conn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_once_resolved(struct Curl_easy *data,\n                            struct
      Curl_dns_entry *dns,\n                            bool *protocol_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/hostip.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - detail
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1640
    functionName: Curl_resolver_error
    functionSourceFile: /src/PROJ/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_resolver_error(struct Curl_easy *data, const char *detail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: CURL_POPCOUNT64
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_POPCOUNT64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: CURL_CTZ64
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CTZ64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cahead
    argTypes:
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: r_freeaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void r_freeaddrinfo(struct addrinfo *cahead)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - userp
    - status
    - timeouts
    - result
    argTypes:
    - void*
    - int
    - int
    - struct ares_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: async_addrinfo_cb
    functionSourceFile: /src/PROJ/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void async_addrinfo_cb(void *userp, int status, int timeouts,\n                              struct
      ares_addrinfo *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:75,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:93,1
    - Dst: r_freeaddrinfo
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:95,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:112,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - aihead
    argTypes:
    - struct ares_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 134
    functionName: mk_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached:
    - malloc
    - r_freeaddrinfo
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct addrinfo
    signature: struct addrinfo *mk_getaddrinfo(const struct ares_addrinfo *aihead)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:157,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:161,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:162,1
    - Dst: ares_init_options
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:171,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:176,1
    - Dst: ares_set_servers_ports_csv
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:178,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:180,1
    - Dst: ares_destroy
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:182,1
    - Dst: ares_getaddrinfo
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:188,1
    - Dst: ares_queue_wait_empty
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:192,1
    - Dst: mk_getaddrinfo
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:196,1
    - Dst: ares_freeaddrinfo
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:198,1
    - Dst: ares_destroy
      Src: /src/PROJ/curl/lib/fake_addrinfo.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - node
    - service
    - hints
    - res
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 207
    functionName: r_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - curl_mfprintf
    - ares_queue_wait_empty
    - ares_init_options
    - ares_freeaddrinfo
    - memset
    - ares_getaddrinfo
    - ares_set_servers_ports_csv
    - ares_destroy
    - mk_getaddrinfo
    linkageType: ''
    returnType: int
    signature: "int r_getaddrinfo(const char *node,\n                  const char
      *service,\n                  const struct addrinfo *hints,\n                  struct
      addrinfo **res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/pingpong.c:55,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/pingpong.c:64,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/pingpong.c:68,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/pingpong.c:70,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/pingpong.c:74,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/pingpong.c:75,1
    - Dst: CURLMAX
      Src: /src/PROJ/curl/lib/pingpong.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - pp
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: Curl_pp_state_timeout
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - CURLMAX
    - curlx_now
    - Curl_timeleft
    - curlx_timediff
    - CURLMIN
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_pp_state_timeout(struct Curl_easy *data,\n                                 struct
      pingpong *pp, bool disconnecting)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_state_timeout
      Src: /src/PROJ/curl/lib/pingpong.c:92,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pingpong.c:96,1
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/pingpong.c:108,1
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/pingpong.c:113,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/pingpong.c:117,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/pingpong.c:125,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/pingpong.c:128,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/pingpong.c:128,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pingpong.c:135,1
    - Dst: struct pingpong*::statemachine
      Src: /src/PROJ/curl/lib/pingpong.c:139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - data
    - pp
    - block
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 144
    functionName: Curl_pp_statemach
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_conn_data_pending
    - failf
    - Curl_pgrsUpdate
    - curlx_now
    - struct pingpong*::statemachine
    - Curl_socket_check
    - Curl_pp_state_timeout
    - Curl_speedcheck
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_statemach(struct Curl_easy *data,\n                           struct
      pingpong *pp, bool block,\n                           bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pingpong.c:149,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/pingpong.c:151,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/pingpong.c:153,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/pingpong.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Curl_pp_init
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - DEBUGASSERT
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void Curl_pp_init(struct pingpong *pp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pingpong.c:179,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pingpong.c:180,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pingpong.c:181,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/pingpong.c:187,1
    - Dst: curlx_dyn_vaddf
      Src: /src/PROJ/curl/lib/pingpong.c:188,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/pingpong.c:193,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:198,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/pingpong.c:199,1
    - Dst: Curl_conn_send
      Src: /src/PROJ/curl/lib/pingpong.c:201,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/pingpong.c:209,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/pingpong.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - data
    - pp
    - fmt
    - args
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 224
    functionName: Curl_pp_vsendf
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_now
    - Curl_conn_send
    - Curl_debug
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    - curlx_dyn_vaddf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_vsendf(struct Curl_easy *data,\n                        struct
      pingpong *pp,\n                        const char *fmt,\n                        va_list
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/pingpong.c:242,1
    - Dst: Curl_pp_vsendf
      Src: /src/PROJ/curl/lib/pingpong.c:244,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/pingpong.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - pp
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: Curl_pp_sendf
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_pp_vsendf
    - va_start
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_sendf(struct Curl_easy *data, struct pingpong *pp,\n
      \                      const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_recv
      Src: /src/PROJ/curl/lib/pingpong.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - sockindex
    - buffer
    - buflen
    - nread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: pingpong_read
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_conn_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pingpong_read(struct Curl_easy *data,\n                              int
      sockindex,\n                              char *buffer,\n                              size_t
      buflen,\n                              size_t *nread)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:284,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/pingpong.c:287,1
    - Dst: pingpong_read
      Src: /src/PROJ/curl/lib/pingpong.c:292,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pingpong.c:301,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/pingpong.c:305,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/pingpong.c:315,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/pingpong.c:316,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:316,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/pingpong.c:323,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/pingpong.c:329,1
    - Dst: struct pingpong*::endofresp
      Src: /src/PROJ/curl/lib/pingpong.c:333,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:339,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:340,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:348,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/pingpong.c:350,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:350,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/pingpong.c:352,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 5
    argNames:
    - data
    - sockindex
    - pp
    - code
    - size
    argTypes:
    - struct Curl_easy*
    - int
    - struct pingpong*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 367
    functionName: Curl_pp_readresp
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - pingpong_read
    - curlx_dyn_tail
    - curlx_dyn_addn
    - failf
    - curlx_dyn_ptr
    - struct pingpong*::endofresp
    - Curl_client_write
    - Curl_debug
    - curlx_dyn_reset
    - curlx_dyn_len
    - memchr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_readresp(struct Curl_easy *data,\n                          int
      sockindex,\n                          struct pingpong *pp,\n                          int
      *code, /* return the server code if done */\n                          size_t
      *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/pingpong.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - pp
    - ps
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: Curl_pp_pollset
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_pollset(struct Curl_easy *data,\n                         struct
      pingpong *pp,\n                         struct easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - pp
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: Curl_pp_needs_flush
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_pp_needs_flush(struct Curl_easy *data,\n                         struct
      pingpong *pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/pingpong.c:392,1
    - Dst: Curl_conn_send
      Src: /src/PROJ/curl/lib/pingpong.c:395,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/pingpong.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - pp
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 415
    functionName: Curl_pp_flushsend
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_conn_send
    - Curl_pp_needs_flush
    - curlx_now
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_flushsend(struct Curl_easy *data,\n                           struct
      pingpong *pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/pingpong.c:420,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/pingpong.c:421,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/pingpong.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: Curl_pp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - memset
    - curlx_dyn_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_pp_disconnect(struct pingpong *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pingpong.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: Curl_pp_moredata
    functionSourceFile: /src/PROJ/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_len
    linkageType: ''
    returnType: bool
    signature: bool Curl_pp_moredata(struct pingpong *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: Curl_http2_may_switch
    functionSourceFile: /src/PROJ/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_may_switch(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: Curl_http2_request_upgrade
    functionSourceFile: /src/PROJ/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_request_upgrade(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Curl_http2_switch
    functionSourceFile: /src/PROJ/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_switch(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: Curl_http2_upgrade
    functionSourceFile: /src/PROJ/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_upgrade(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Curl_h2_http_1_1_error
    functionSourceFile: /src/PROJ/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_h2_http_1_1_error(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/file.c:138,1
    - Dst: close
      Src: /src/PROJ/curl/lib/file.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct FILEPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: file_cleanup
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - close
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void file_cleanup(struct FILEPROTO *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_cleanup
      Src: /src/PROJ/curl/lib/file.c:151,1
    - Dst: free
      Src: /src/PROJ/curl/lib/file.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: file_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - free
    - file_cleanup
    linkageType: ''
    returnType: void
    signature: void file_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/file.c:161,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/file.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: file_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/file.c:177,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/file.c:198,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/file.c:232,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/file.c:236,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/file.c:239,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/file.c:241,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/file.c:258,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/file.c:260,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/file.c:265,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/file.c:269,1
    - Dst: free
      Src: /src/PROJ/curl/lib/file.c:273,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/file.c:278,1
    - Dst: file_done
      Src: /src/PROJ/curl/lib/file.c:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 285
    functionName: file_connect
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - file_done
    - strchr
    - Curl_meta_get
    - Curl_safefree
    - memchr
    - Curl_urldecode
    - curlx_open
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode file_connect(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/file.c:290,1
    - Dst: file_cleanup
      Src: /src/PROJ/curl/lib/file.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: file_done
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 1
    functionsReached:
    - Curl_meta_get
    - file_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_done(struct Curl_easy *data,\n                          CURLcode
      status, bool premature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_done
      Src: /src/PROJ/curl/lib/file.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: file_disconnect
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - file_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/file.c:318,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/file.c:348,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/file.c:350,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/file.c:353,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/file.c:359,1
    - Dst: fstat
      Src: /src/PROJ/curl/lib/file.c:363,1
    - Dst: close
      Src: /src/PROJ/curl/lib/file.c:364,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/file.c:365,1
    - Dst: Curl_multi_xfer_ulbuf_borrow
      Src: /src/PROJ/curl/lib/file.c:371,1
    - Dst: Curl_client_read
      Src: /src/PROJ/curl/lib/file.c:380,1
    - Dst: write
      Src: /src/PROJ/curl/lib/file.c:406,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/file.c:414,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/file.c:416,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/file.c:419,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/file.c:419,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/file.c:421,1
    - Dst: close
      Src: /src/PROJ/curl/lib/file.c:425,1
    - Dst: Curl_multi_xfer_ulbuf_release
      Src: /src/PROJ/curl/lib/file.c:426,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 2
    argNames:
    - data
    - file
    argTypes:
    - struct Curl_easy*
    - struct FILEPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 429
    functionName: file_upload
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pgrsSetUploadCounter
    - Curl_pgrsUpdate
    - strchr
    - write
    - Curl_multi_xfer_ulbuf_borrow
    - curlx_now
    - Curl_multi_xfer_ulbuf_release
    - fstat
    - close
    - Curl_speedcheck
    - Curl_client_read
    - Curl_pgrsSetUploadSize
    - curlx_open
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_upload(struct Curl_easy *data,\n                            struct
      FILEPROTO *file)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/file.c:446,1
    - Dst: file_upload
      Src: /src/PROJ/curl/lib/file.c:463,1
    - Dst: fstat
      Src: /src/PROJ/curl/lib/file.c:469,1
    - Dst: S_ISDIR
      Src: /src/PROJ/curl/lib/file.c:470,1
    - Dst: Curl_meets_timecondition
      Src: /src/PROJ/curl/lib/file.c:478,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/file.c:490,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:492,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:496,1
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/file.c:503,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/file.c:509,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:518,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:521,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/file.c:525,1
    - Dst: Curl_range
      Src: /src/PROJ/curl/lib/file.c:531,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/file.c:539,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/file.c:552,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/file.c:571,1
    - Dst: S_ISDIR
      Src: /src/PROJ/curl/lib/file.c:574,1
    - Dst: lseek
      Src: /src/PROJ/curl/lib/file.c:577,1
    - Dst: lseek
      Src: /src/PROJ/curl/lib/file.c:580,1
    - Dst: Curl_multi_xfer_buf_borrow
      Src: /src/PROJ/curl/lib/file.c:589,1
    - Dst: S_ISDIR
      Src: /src/PROJ/curl/lib/file.c:593,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/file.c:601,1
    - Dst: read
      Src: /src/PROJ/curl/lib/file.c:606,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:617,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/file.c:621,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/file.c:624,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/file.c:624,1
    - Dst: opendir
      Src: /src/PROJ/curl/lib/file.c:631,1
    - Dst: readdir
      Src: /src/PROJ/curl/lib/file.c:639,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:641,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/file.c:642,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/file.c:645,1
    - Dst: closedir
      Src: /src/PROJ/curl/lib/file.c:650,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/file.c:653,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/file.c:658,1
    - Dst: Curl_multi_xfer_buf_release
      Src: /src/PROJ/curl/lib/file.c:662,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 128
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 664
    functionName: file_do
    functionSourceFile: /src/PROJ/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_now
    - Curl_client_write
    - Curl_range
    - Curl_meets_timecondition
    - Curl_multi_xfer_buf_borrow
    - S_ISDIR
    - Curl_pgrsSetDownloadSize
    - closedir
    - Curl_pgrsUpdate
    - fstat
    - readdir
    - Curl_gmtime
    - Curl_speedcheck
    - Curl_multi_xfer_buf_release
    - strlen
    - read
    - curlx_sotouz
    - Curl_meta_get
    - curl_msnprintf
    - lseek
    - opendir
    - file_upload
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode file_do(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/fileinfo.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: Curl_fileinfo_alloc
    functionSourceFile: /src/PROJ/curl/lib/fileinfo.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct fileinfo
    signature: struct fileinfo *Curl_fileinfo_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/fileinfo.c:44,1
    - Dst: free
      Src: /src/PROJ/curl/lib/fileinfo.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - finfo
    argTypes:
    - struct fileinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Curl_fileinfo_cleanup
    functionSourceFile: /src/PROJ/curl/lib/fileinfo.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void Curl_fileinfo_cleanup(struct fileinfo *finfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/noproxy.c:57,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/noproxy.c:59,1
    - Dst: htonl
      Src: /src/PROJ/curl/lib/noproxy.c:64,1
    - Dst: htonl
      Src: /src/PROJ/curl/lib/noproxy.c:65,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/noproxy.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ipv4
    - network
    - bits
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: Curl_cidr4_match
    functionSourceFile: /src/PROJ/curl/lib/noproxy.c
    functionUses: 1
    functionsReached:
    - htonl
    - curlx_inet_pton
    - curl_mfprintf
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_cidr4_match(const char *ipv4,    /* 1.2.3.4 address
      */\n                               const char *network, /* 1.2.3.4 address */\n
      \                              unsigned int bits)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/noproxy.c:96,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/noproxy.c:98,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/noproxy.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ipv6
    - network
    - bits
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 112
    functionName: Curl_cidr6_match
    functionSourceFile: /src/PROJ/curl/lib/noproxy.c
    functionUses: 1
    functionsReached:
    - curlx_inet_pton
    - memcmp
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_cidr6_match(const char *ipv6,\n                               const
      char *network,\n                               unsigned int bits)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/noproxy.c:144,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/noproxy.c:152,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/noproxy.c:159,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/noproxy.c:166,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/noproxy.c:167,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/noproxy.c:182,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/noproxy.c:186,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/noproxy.c:209,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/noproxy.c:213,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/noproxy.c:228,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/noproxy.c:232,1
    - Dst: atoi
      Src: /src/PROJ/curl/lib/noproxy.c:237,1
    - Dst: Curl_cidr6_match
      Src: /src/PROJ/curl/lib/noproxy.c:241,1
    - Dst: Curl_cidr4_match
      Src: /src/PROJ/curl/lib/noproxy.c:243,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/noproxy.c:251,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 2
    argNames:
    - name
    - no_proxy
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 262
    functionName: Curl_check_noproxy
    functionSourceFile: /src/PROJ/curl/lib/noproxy.c
    functionUses: 1
    functionsReached:
    - curlx_inet_pton
    - memcpy
    - ISBLANK
    - strcmp
    - curlx_str_passblanks
    - strchr
    - Curl_cidr4_match
    - curl_strnequal
    - Curl_cidr6_match
    - strlen
    - atoi
    linkageType: ''
    returnType: bool
    signature: bool Curl_check_noproxy(const char *name, const char *no_proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CURLM_NTFY
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLM_NTFY(d,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - host
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: IDN2_LOOKUP
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDN2_LOOKUP(name, host, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - host
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: IDN2_LOOKUP
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDN2_LOOKUP(name, host, flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/PROJ/curl/lib/idn.c:63,1
    - Dst: nl_langinfo
      Src: /src/PROJ/curl/lib/idn.c:63,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/idn.c:66,1
    - Dst: iconv
      Src: /src/PROJ/curl/lib/idn.c:68,1
    - Dst: iconv_close
      Src: /src/PROJ/curl/lib/idn.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: iconv_to_utf8
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - iconv_open
    - nl_langinfo
    - iconv_close
    - CURL_UNCONST
    - iconv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode iconv_to_utf8(const char *in, size_t inlen,\n                              char
      **out, size_t *outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/idn.c:93,1
    - Dst: iconv_to_utf8
      Src: /src/PROJ/curl/lib/idn.c:98,1
    - Dst: uidna_openUTS46
      Src: /src/PROJ/curl/lib/idn.c:102,1
    - Dst: U_FAILURE
      Src: /src/PROJ/curl/lib/idn.c:104,1
    - Dst: uidna_nameToASCII_UTF8
      Src: /src/PROJ/curl/lib/idn.c:107,1
    - Dst: uidna_close
      Src: /src/PROJ/curl/lib/idn.c:109,1
    - Dst: U_FAILURE
      Src: /src/PROJ/curl/lib/idn.c:110,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/idn.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: mac_idn_to_ascii
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - uidna_close
    - uidna_openUTS46
    - uidna_nameToASCII_UTF8
    - strlen
    - iconv_to_utf8
    - strdup
    - U_FAILURE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mac_idn_to_ascii(const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/idn.c:127,1
    - Dst: uidna_openUTS46
      Src: /src/PROJ/curl/lib/idn.c:130,1
    - Dst: U_FAILURE
      Src: /src/PROJ/curl/lib/idn.c:132,1
    - Dst: uidna_nameToUnicodeUTF8
      Src: /src/PROJ/curl/lib/idn.c:135,1
    - Dst: uidna_close
      Src: /src/PROJ/curl/lib/idn.c:137,1
    - Dst: U_FAILURE
      Src: /src/PROJ/curl/lib/idn.c:138,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/idn.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: mac_ascii_to_idn
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - uidna_nameToUnicodeUTF8
    - uidna_close
    - uidna_openUTS46
    - strlen
    - strdup
    - U_FAILURE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mac_ascii_to_idn(const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/PROJ/curl/lib/idn.c:172,1
    - Dst: IdnToAscii
      Src: /src/PROJ/curl/lib/idn.c:176,1
    - Dst: wcslen
      Src: /src/PROJ/curl/lib/idn.c:176,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/idn.c:178,1
    - Dst: curlx_convert_wchar_to_UTF8
      Src: /src/PROJ/curl/lib/idn.c:180,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/idn.c:182,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/idn.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: win32_idn_to_ascii
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - IdnToAscii
    - curlx_convert_UTF8_to_wchar
    - wcslen
    - curlx_convert_wchar_to_UTF8
    - curlx_unicodefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode win32_idn_to_ascii(const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/PROJ/curl/lib/idn.c:203,1
    - Dst: IdnToUnicode
      Src: /src/PROJ/curl/lib/idn.c:206,1
    - Dst: wcslen
      Src: /src/PROJ/curl/lib/idn.c:206,1
    - Dst: curlx_convert_wchar_to_UTF8
      Src: /src/PROJ/curl/lib/idn.c:210,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/idn.c:212,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/idn.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - in
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 225
    functionName: win32_ascii_to_idn
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - curlx_convert_UTF8_to_wchar
    - wcslen
    - curlx_convert_wchar_to_UTF8
    - IdnToUnicode
    - curlx_unicodefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode win32_ascii_to_idn(const char *in, char **output)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: Curl_is_ASCII_name
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_is_ASCII_name(const char *hostname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idn2_check_version
      Src: /src/PROJ/curl/lib/idn.c:261,1
    - Dst: IDN2_LOOKUP
      Src: /src/PROJ/curl/lib/idn.c:270,1
    - Dst: IDN2_LOOKUP
      Src: /src/PROJ/curl/lib/idn.c:274,1
    - Dst: win32_idn_to_ascii
      Src: /src/PROJ/curl/lib/idn.c:282,1
    - Dst: mac_idn_to_ascii
      Src: /src/PROJ/curl/lib/idn.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 289
    functionName: idn_decode
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - mac_idn_to_ascii
    - win32_idn_to_ascii
    - idn2_check_version
    - IDN2_LOOKUP
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode idn_decode(const char *input, char **output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idn2_to_unicode_8z8z
      Src: /src/PROJ/curl/lib/idn.c:295,1
    - Dst: win32_ascii_to_idn
      Src: /src/PROJ/curl/lib/idn.c:299,1
    - Dst: mac_ascii_to_idn
      Src: /src/PROJ/curl/lib/idn.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - puny
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: idn_encode
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - win32_ascii_to_idn
    - mac_ascii_to_idn
    - idn2_to_unicode_8z8z
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode idn_encode(const char *puny, char **output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idn_decode
      Src: /src/PROJ/curl/lib/idn.c:314,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/idn.c:317,1
    - Dst: idn2_free
      Src: /src/PROJ/curl/lib/idn.c:318,1
    - Dst: free
      Src: /src/PROJ/curl/lib/idn.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: Curl_idn_decode
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - free
    - idn2_free
    - strdup
    - idn_decode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_idn_decode(const char *input, char **output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idn_encode
      Src: /src/PROJ/curl/lib/idn.c:339,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/idn.c:342,1
    - Dst: idn2_free
      Src: /src/PROJ/curl/lib/idn.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - puny
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: Curl_idn_encode
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - idn2_free
    - idn_encode
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_idn_encode(const char *puny, char **output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/idn.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct hostname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: Curl_free_idnconverted_hostname
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_free_idnconverted_hostname(struct hostname *host)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/idn.c:375,1
    - Dst: Curl_idn_decode
      Src: /src/PROJ/curl/lib/idn.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct hostname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: Curl_idnconvert_hostname
    functionSourceFile: /src/PROJ/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - Curl_is_ASCII_name
    - Curl_idn_decode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_idnconvert_hostname(struct hostname *host)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/http.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - data
    - neg
    argTypes:
    - struct Curl_easy*
    - struct http_negotiation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 216
    functionName: Curl_http_neg_init
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_http_neg_init(struct Curl_easy *data, struct http_negotiation
      *neg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/http.c:223,1
    - Dst: Curl_conn_may_http3
      Src: /src/PROJ/curl/lib/http.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: Curl_http_setup_conn
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_conn_may_http3
    - connkeep
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_setup_conn(struct Curl_easy *data,\n                              struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:253,1
    - Dst: Curl_headersep
      Src: /src/PROJ/curl/lib/http.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - data
    - conn
    - thisheader
    - thislen
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: Curl_checkProxyheaders
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - Curl_headersep
    linkageType: ''
    returnType: char
    signature: "char *Curl_checkProxyheaders(struct Curl_easy *data,\n                             const
      struct connectdata *conn,\n                             const char *thisheader,\n
      \                            const size_t thislen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Curl_checkProxyheaders
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_checkProxyheaders(x,y,z,a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/http.c:269,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:270,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:270,1
    - Dst: curlx_str_untilnl
      Src: /src/PROJ/curl/lib/http.c:271,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/http.c:272,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: http_header_is_empty
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - curlx_str_cspn
    - curlx_str_trimblanks
    - curlx_str_untilnl
    - curlx_strlen
    linkageType: ''
    returnType: bool
    signature: bool http_header_is_empty(const char *header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/http.c:291,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:292,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:292,1
    - Dst: curlx_str_untilnl
      Src: /src/PROJ/curl/lib/http.c:293,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/http.c:294,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/http.c:296,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http.c:296,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - header
    - valp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: copy_custom_value
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - curlx_str_cspn
    - curlx_str_trimblanks
    - curlx_str_untilnl
    - Curl_memdup0
    - curlx_str
    - curlx_strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode copy_custom_value(const char *header, char **valp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http.c:319,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:320,1
    - Dst: curlx_str_untilnl
      Src: /src/PROJ/curl/lib/http.c:321,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/http.c:322,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/http.c:323,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http.c:323,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:323,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: Curl_copy_header_value
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - curlx_str_trimblanks
    - curlx_str_untilnl
    - Curl_memdup0
    - DEBUGASSERT
    - curlx_str
    - curlx_strlen
    - curlx_str_until
    linkageType: ''
    returnType: char
    signature: char *Curl_copy_header_value(const char *header)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:366,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/http.c:370,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:370,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:379,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:380,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:383,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - data
    - proxy
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 392
    functionName: http_output_basic
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_base64_encode
    - free
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_output_basic(struct Curl_easy *data, bool proxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:409,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: http_output_bearer
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_output_bearer(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pick
    - mask
    argTypes:
    - struct auth*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 463
    functionName: pickoneauth
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pickoneauth(struct auth *pick, unsigned long mask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/http.c:481,1
    - Dst: Curl_creader_needs_rewind
      Src: /src/PROJ/curl/lib/http.c:484,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:498,1
    - Dst: Curl_creader_set_rewind
      Src: /src/PROJ/curl/lib/http.c:499,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:537,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:542,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:547,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 552
    functionName: http_perhapsrewind
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_creader_set_rewind
    - Curl_creader_total_length
    - Curl_creader_needs_rewind
    - streamclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_perhapsrewind(struct Curl_easy *data,\n                                   struct
      connectdata *conn)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pickoneauth
      Src: /src/PROJ/curl/lib/http.c:582,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:589,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http.c:590,1
    - Dst: pickoneauth
      Src: /src/PROJ/curl/lib/http.c:599,1
    - Dst: http_perhapsrewind
      Src: /src/PROJ/curl/lib/http.c:610,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:617,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:618,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:631,1
    - Dst: http_should_fail
      Src: /src/PROJ/curl/lib/http.c:637,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:638,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 644
    functionName: Curl_http_auth_act
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - failf
    - pickoneauth
    - http_perhapsrewind
    - connclose
    - http_should_fail
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http_auth_act(struct Curl_easy *data)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_output_aws_sigv4
      Src: /src/PROJ/curl/lib/http.c:671,1
    - Dst: Curl_output_negotiate
      Src: /src/PROJ/curl/lib/http.c:680,1
    - Dst: Curl_output_ntlm
      Src: /src/PROJ/curl/lib/http.c:689,1
    - Dst: Curl_output_digest
      Src: /src/PROJ/curl/lib/http.c:698,1
    - Dst: CURL_DISABLE_PROXY
      Src: /src/PROJ/curl/lib/http.c:711,1
    - Dst: Curl_checkProxyheaders
      Src: /src/PROJ/curl/lib/http.c:713,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:713,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:716,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:716,1
    - Dst: http_output_basic
      Src: /src/PROJ/curl/lib/http.c:718,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:732,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:732,1
    - Dst: http_output_bearer
      Src: /src/PROJ/curl/lib/http.c:734,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:747,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:755,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 6
    argNames:
    - data
    - conn
    - authstatus
    - request
    - path
    - proxy
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct auth*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 765
    functionName: output_auth_headers
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_checkProxyheaders
    - Curl_checkheaders
    - http_output_bearer
    - Curl_output_aws_sigv4
    - Curl_output_digest
    - STRCONST
    - Curl_output_ntlm
    - http_output_basic
    - Curl_output_negotiate
    - CURL_DISABLE_PROXY
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode output_auth_headers(struct Curl_easy *data,\n                    struct
      connectdata *conn,\n                    struct auth *authstatus,\n                    const
      char *request,\n                    const char *path,\n                    bool
      proxy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - data
    - conn
    - request
    - httpreq
    - path
    - proxytunnel
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - Curl_HttpReq
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: Curl_http_output_auth
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_output_auth(struct Curl_easy *data,\n                      struct
      connectdata *conn,\n                      const char *request,\n                      Curl_HttpReq
      httpreq,\n                      const char *path,\n                      bool
      proxytunnel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:896,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:897,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/http.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - auth
    - line
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: authcmp
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool authcmp(const char *auth, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_spnego_supported
      Src: /src/PROJ/curl/lib/http.c:908,1
    - Dst: Curl_input_negotiate
      Src: /src/PROJ/curl/lib/http.c:914,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:918,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - data
    - proxy
    - auth
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 931
    functionName: auth_spnego
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_auth_is_spnego_supported
    - Curl_input_negotiate
    - free
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_spnego(struct Curl_easy *data,\n                            bool
      proxy,\n                            const char *auth,\n                            struct
      auth *authp,\n                            unsigned long *availp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_ntlm_supported
      Src: /src/PROJ/curl/lib/http.c:942,1
    - Dst: Curl_input_ntlm
      Src: /src/PROJ/curl/lib/http.c:948,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:952,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - data
    - proxy
    - auth
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 958
    functionName: auth_ntlm
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_input_ntlm
    - Curl_auth_is_ntlm_supported
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_ntlm(struct Curl_easy *data,\n                          bool
      proxy,\n                          const char *auth,\n                          struct
      auth *authp,\n                          unsigned long *availp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:969,1
    - Dst: Curl_auth_is_digest_supported
      Src: /src/PROJ/curl/lib/http.c:970,1
    - Dst: Curl_input_digest
      Src: /src/PROJ/curl/lib/http.c:980,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - proxy
    - auth
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 987
    functionName: auth_digest
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_input_digest
    - Curl_auth_is_digest_supported
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_digest(struct Curl_easy *data,\n                            bool
      proxy,\n                            const char *auth,\n                            struct
      auth *authp,\n                            unsigned long *availp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1006
    functionName: auth_basic
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_basic(struct Curl_easy *data,\n                           struct
      auth *authp,\n                           unsigned long *availp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1024
    functionName: auth_bearer
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_bearer(struct Curl_easy *data,\n                            struct
      auth *authp,\n                            unsigned long *availp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1049,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1050,1
    - Dst: authcmp
      Src: /src/PROJ/curl/lib/http.c:1079,1
    - Dst: auth_spnego
      Src: /src/PROJ/curl/lib/http.c:1080,1
    - Dst: authcmp
      Src: /src/PROJ/curl/lib/http.c:1083,1
    - Dst: auth_ntlm
      Src: /src/PROJ/curl/lib/http.c:1084,1
    - Dst: authcmp
      Src: /src/PROJ/curl/lib/http.c:1087,1
    - Dst: auth_digest
      Src: /src/PROJ/curl/lib/http.c:1088,1
    - Dst: authcmp
      Src: /src/PROJ/curl/lib/http.c:1091,1
    - Dst: auth_basic
      Src: /src/PROJ/curl/lib/http.c:1092,1
    - Dst: authcmp
      Src: /src/PROJ/curl/lib/http.c:1095,1
    - Dst: auth_bearer
      Src: /src/PROJ/curl/lib/http.c:1096,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http.c:1103,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http.c:1108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - data
    - proxy
    - auth
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1118
    functionName: Curl_http_input_auth
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - auth_spnego
    - auth_basic
    - curlx_str_passblanks
    - strchr
    - auth_ntlm
    - authcmp
    - auth_bearer
    - DEBUGASSERT
    - auth_digest
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_input_auth(struct Curl_easy *data, bool proxy,\n
      \                             const char *auth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1130,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1131,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - data
    - httpcode
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1189
    functionName: http_should_fail
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool http_should_fail(struct Curl_easy *data, int httpcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1196,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1200,1
    - Dst: Curl_creader_set_rewind
      Src: /src/PROJ/curl/lib/http.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - code
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1204
    functionName: http_switch_to_get
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_creader_set_rewind
    linkageType: ''
    returnType: void
    signature: void http_switch_to_get(struct Curl_easy *data, int code)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1216,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:1240,1
    - Dst: curl_url
      Src: /src/PROJ/curl/lib/http.c:1245,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:1249,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:1251,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:1253,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:1255,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:1257,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:1259,1
    - Dst: Curl_is_absolute_url
      Src: /src/PROJ/curl/lib/http.c:1272,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1278,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:1279,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:1286,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/lib/http.c:1287,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/http.c:1288,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:1293,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:1298,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/http.c:1300,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:1313,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1316,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/http.c:1317,1
    - Dst: atoi
      Src: /src/PROJ/curl/lib/http.c:1319,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1320,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1323,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:1330,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1332,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/http.c:1333,1
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/http.c:1336,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1338,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1342,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:1345,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:1346,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1350,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:1358,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:1368,1
    - Dst: Curl_req_soft_reset
      Src: /src/PROJ/curl/lib/http.c:1372,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1373,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1378,1
    - Dst: http_switch_to_get
      Src: /src/PROJ/curl/lib/http.c:1422,1
    - Dst: http_switch_to_get
      Src: /src/PROJ/curl/lib/http.c:1447,1
    - Dst: http_switch_to_get
      Src: /src/PROJ/curl/lib/http.c:1463,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/http.c:1488,1
    - Dst: Curl_pgrsResetTransferSizes
      Src: /src/PROJ/curl/lib/http.c:1489,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 137
    argCount: 3
    argNames:
    - data
    - newurl
    - type
    argTypes:
    - struct Curl_easy*
    - char*
    - followtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1492
    functionName: Curl_http_follow
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_get_scheme_handler
    - Curl_pgrsTime
    - curl_url_set
    - infof
    - Curl_req_soft_reset
    - Curl_uc_to_curlcode
    - curl_url_cleanup
    - curl_url
    - DEBUGASSERT
    - http_switch_to_get
    - Curl_pgrsResetTransferSizes
    - atoi
    - curl_url_strerror
    - free
    - Curl_is_absolute_url
    - Curl_safefree
    - curl_url_get
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_follow(struct Curl_easy *data, const char *newurl,\n
      \                         followtype type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1514,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1515,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1516,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1517,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:1519,1
    - Dst: curlx_str_untilnl
      Src: /src/PROJ/curl/lib/http.c:1525,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/http.c:1527,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:1530,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http.c:1532,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:1533,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:1533,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:1534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - headerline
    - header
    - hlen
    - content
    - clen
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1539
    functionName: Curl_compareheader
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - curlx_str_untilnl
    - curlx_str_trimblanks
    - DEBUGASSERT
    - curlx_str
    - curlx_strlen
    linkageType: ''
    returnType: bool
    signature: "bool Curl_compareheader(const char *headerline, /* line to check */\n
      \                  const char *header,  /* header keyword _with_ colon */\n
      \                  const size_t hlen,   /* len of the keyword in bytes */\n
      \                  const char *content, /* content string to find */\n                   const
      size_t clen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/http.c:1551,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/http.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1554
    functionName: Curl_http_connect
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_conn_connect
    - connkeep
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http_connect(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_out
      Src: /src/PROJ/curl/lib/http.c:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1564
    functionName: Curl_http_do_pollset
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_do_pollset(struct Curl_easy *data,\n                              struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http.c:1581,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:1596,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:1598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1603
    functionName: Curl_http_done
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_reset
    - streamclose
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_done(struct Curl_easy *data,\n                        CURLcode
      status, bool premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1623
    functionName: http_may_use_1_1
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool http_may_use_1_1(const struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http.c:1627,1
    - Dst: http_may_use_1_1
      Src: /src/PROJ/curl/lib/http.c:1630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1633
    functionName: http_request_version
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_may_use_1_1
    - Curl_conn_http_version
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char http_request_version(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - httpversion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1647
    functionName: get_http_string
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_http_string(int httpversion)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http.c:1702,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:1703,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:1704,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/http.c:1705,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http.c:1705,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:1705,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http.c:1709,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:1710,1
    - Dst: curlx_str_untilnl
      Src: /src/PROJ/curl/lib/http.c:1712,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/http.c:1713,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:1714,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1729,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1733,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1737,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1742,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1744,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1748,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1751,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:1752,1
    - Dst: Curl_auth_allowed_to_host
      Src: /src/PROJ/curl/lib/http.c:1755,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:1758,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http.c:1758,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http.c:1759,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:1761,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 58
    argCount: 4
    argNames:
    - data
    - is_connect
    - httpversion
    - req
    argTypes:
    - struct Curl_easy*
    - bool
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1769
    functionName: Curl_add_custom_headers
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - curlx_str_single
    - Curl_auth_allowed_to_host
    - curlx_dyn_addf
    - curlx_str_trimblanks
    - curlx_str_untilnl
    - memchr
    - curlx_str
    - curlx_strlen
    - curlx_str_until
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_add_custom_headers(struct Curl_easy *data,\n                                 bool
      is_connect, int httpversion,\n                                 struct dynbuf
      *req)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/http.c:1786,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:1788,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:1795,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:1795,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:1812,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http.c:1825,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:1836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1838
    functionName: Curl_add_timecondition
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - failf
    - Curl_checkheaders
    - curl_msnprintf
    - Curl_gmtime
    - curlx_dyn_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_add_timecondition(struct Curl_easy *data,\n                                struct
      dynbuf *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1847
    functionName: Curl_add_timecondition
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_add_timecondition(struct Curl_easy *data,\n                                struct
      dynbuf *req)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:1873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - data
    - method
    - reqp
    argTypes:
    - struct Curl_easy*
    - char**
    - Curl_HttpReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1895
    functionName: Curl_http_method
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_http_method(struct Curl_easy *data,\n                      const
      char **method, Curl_HttpReq *reqp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:1903,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:1903,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1908
    functionName: http_useragent
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - free
    - Curl_checkheaders
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_useragent(struct Curl_easy *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1919,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:1921,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:1928,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:1930,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:1930,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http.c:1932,1
    - Dst: copy_custom_value
      Src: /src/PROJ/curl/lib/http.c:1940,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1945,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/http.c:1953,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:1953,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http.c:1954,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http.c:1960,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:1964,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http.c:1969,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:1970,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:1986,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:1990,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1911
    functionDepth: 2
    functionLinenumber: 1911
    functionLinenumberEnd: 2000
    functionName: http_set_aptr_host
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_checkheaders
    - curl_maprintf
    - strchr
    - memmove
    - STRCONST
    - copy_custom_value
    - strlen
    - Curl_safefree
    - curl_strequal
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_set_aptr_host(struct Curl_easy *data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_dup
      Src: /src/PROJ/curl/lib/http.c:2031,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:2036,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:2038,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:2042,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:2044,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http.c:2048,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:2050,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:2052,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http.c:2055,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:2057,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:2062,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:2064,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http.c:2068,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2071,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:2073,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http.c:2077,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:2080,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/http.c:2082,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/http.c:2083,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2092,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2103,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2107,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2111
    functionName: http_target
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_addf
    - curl_url_set
    - curlx_dyn_add
    - strlen
    - curl_url_get
    - memcmp
    - curl_url_cleanup
    - curl_strequal
    - curl_url_dup
    - Curl_raw_toupper
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_target(struct Curl_easy *data,\n                            struct
      dynbuf *r)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http.c:2129,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/http.c:2132,1
    - Dst: Curl_getformdata
      Src: /src/PROJ/curl/lib/http.c:2133,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:2136,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2154,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2154,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/lib/http.c:2167,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/PROJ/curl/lib/http.c:2168,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/lib/http.c:2172,1
    - Dst: Curl_creader_set_mime
      Src: /src/PROJ/curl/lib/http.c:2173,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2180,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/http.c:2182,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2189
    functionName: set_post_reader
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_mime_prepare_headers
    - Curl_mime_cleanpart
    - Curl_checkheaders
    - Curl_creader_total_length
    - STRCONST
    - calloc
    - Curl_getformdata
    - Curl_safefree
    - Curl_creader_set_mime
    - curl_mime_headers
    - Curl_creader_set_null
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_post_reader(struct Curl_easy *data, Curl_HttpReq httpreq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:2197,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2200,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/http.c:2205,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2206,1
    - Dst: set_post_reader
      Src: /src/PROJ/curl/lib/http.c:2211,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2218,1
    - Dst: Curl_creader_set_buf
      Src: /src/PROJ/curl/lib/http.c:2222,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2225,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2233,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2233,1
    - Dst: Curl_compareheader
      Src: /src/PROJ/curl/lib/http.c:2236,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2236,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2237,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/http.c:2239,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/http.c:2246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2192
    functionDepth: 2
    functionLinenumber: 2192
    functionLinenumberEnd: 2249
    functionName: set_reader
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_set_buf
    - set_post_reader
    - Curl_checkheaders
    - Curl_creader_set_fread
    - STRCONST
    - Curl_compareheader
    - DEBUGASSERT
    - Curl_creader_set_null
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_reader(struct Curl_easy *data, Curl_HttpReq httpreq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_resume_from
      Src: /src/PROJ/curl/lib/http.c:2275,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:2277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2284
    functionName: http_resume
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_creader_resume_from
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_resume(struct Curl_easy *data, Curl_HttpReq httpreq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2293,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2293,1
    - Dst: Curl_compareheader
      Src: /src/PROJ/curl/lib/http.c:2297,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2298,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2298,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2300,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/http.c:2306,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:2316,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - data
    - req
    - httpversion
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2329
    functionName: http_req_set_TE
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - Curl_checkheaders
    - Curl_creader_total_length
    - STRCONST
    - Curl_compareheader
    - curlx_dyn_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_req_set_TE(struct Curl_easy *data,\n                                struct
      dynbuf *req,\n                                int httpversion)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2346,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2346,1
    - Dst: Curl_compareheader
      Src: /src/PROJ/curl/lib/http.c:2349,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2349,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2349,1
    - Dst: Curl_creader_client_length
      Src: /src/PROJ/curl/lib/http.c:2355,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2357,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - data
    - r
    - httpversion
    - announced_exp100
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2331
    functionDepth: 2
    functionLinenumber: 2331
    functionLinenumberEnd: 2364
    functionName: addexpect
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_client_length
    - curlx_dyn_addn
    - Curl_checkheaders
    - STRCONST
    - Curl_compareheader
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode addexpect(struct Curl_easy *data, struct dynbuf *r,\n                          int
      httpversion, bool *announced_exp100)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:2375,1
    - Dst: Curl_httpchunk_add_reader
      Src: /src/PROJ/curl/lib/http.c:2377,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/http.c:2383,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2399,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2399,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2402,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2415,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2422,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2422,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2423,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2423,1
    - Dst: addexpect
      Src: /src/PROJ/curl/lib/http.c:2429,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/http.c:2437,1
    - Dst: http_exp100_add_reader
      Src: /src/PROJ/curl/lib/http.c:2439,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - data
    - r
    - httpversion
    - httpreq
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - int
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2366
    functionDepth: 3
    functionLinenumber: 2366
    functionLinenumberEnd: 2443
    functionName: http_add_content_hds
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_addf
    - Curl_checkheaders
    - Curl_creader_total_length
    - Curl_httpchunk_add_reader
    - STRCONST
    - http_exp100_add_reader
    - DEBUGASSERT
    - Curl_pgrsSetUploadSize
    - addexpect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_add_content_hds(struct Curl_easy *data,\n                                     struct
      dynbuf *r,\n                                     int httpversion,\n                                     Curl_HttpReq
      httpreq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2454,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2454,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/http.c:2464,1
    - Dst: Curl_cookie_getlist
      Src: /src/PROJ/curl/lib/http.c:2465,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/http.c:2470,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/http.c:2470,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/http.c:2471,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2475,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2475,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:2479,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:2479,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2481,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2486,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/http.c:2494,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/http.c:2496,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2500,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2500,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2502,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2507,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2507,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2513
    functionName: http_cookies
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - infof
    - curlx_dyn_addf
    - Curl_checkheaders
    - Curl_share_unlock
    - Curl_llist_destroy
    - Curl_share_lock
    - Curl_cookie_getlist
    - STRCONST
    - Curl_node_next
    - Curl_llist_head
    - strlen
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_cookies(struct Curl_easy *data,\n                             struct
      dynbuf *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2516
    functionName: http_cookies
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_cookies(a,b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2528,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2528,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:2530,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:2531,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2535,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2535,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/http.c:2536,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:2538,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:2545,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:2558,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:2566,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2518
    functionDepth: 1
    functionLinenumber: 2518
    functionLinenumberEnd: 2574
    functionName: http_range
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_checkheaders
    - curl_maprintf
    - Curl_creader_total_length
    - STRCONST
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_range(struct Curl_easy *data,\n                           Curl_HttpReq
      httpreq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2592,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2601,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:2602,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:2612,1
    - Dst: Curl_meets_timecondition
      Src: /src/PROJ/curl/lib/http.c:2622,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2627,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:2630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2576
    functionDepth: 1
    functionLinenumber: 2576
    functionLinenumberEnd: 2636
    functionName: http_firstwrite
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_meets_timecondition
    - streamclose
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_firstwrite(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_alpn_negotiated
      Src: /src/PROJ/curl/lib/http.c:2645,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http.c:2646,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:2647,1
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http.c:2647,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http.c:2650,1
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http.c:2652,1
    - Dst: Curl_http2_switch
      Src: /src/PROJ/curl/lib/http.c:2654,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:2660,1
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http.c:2660,1
    - Dst: Curl_http2_may_switch
      Src: /src/PROJ/curl/lib/http.c:2665,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:2666,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2666,1
    - Dst: Curl_http2_switch
      Src: /src/PROJ/curl/lib/http.c:2667,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/PROJ/curl/lib/http.c:2673,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:2680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2638
    functionDepth: 1
    functionLinenumber: 2638
    functionLinenumberEnd: 2682
    functionName: http_check_new_conn
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - strcmp
    - Curl_conn_set_multiplex
    - Curl_http2_may_switch
    - Curl_conn_get_alpn_negotiated
    - Curl_http2_switch
    - Curl_conn_http_version
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_check_new_conn(struct Curl_easy *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:2690,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:2695,1
    - Dst: Curl_headersep
      Src: /src/PROJ/curl/lib/http.c:2696,1
    - Dst: http_header_is_empty
      Src: /src/PROJ/curl/lib/http.c:2697,1
    - Dst: copy_custom_value
      Src: /src/PROJ/curl/lib/http.c:2699,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2702,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:2704,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2711,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2715,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2719,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:2721,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2722,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2722,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:2729,1
    - Dst: Curl_headersep
      Src: /src/PROJ/curl/lib/http.c:2730,1
    - Dst: http_header_is_empty
      Src: /src/PROJ/curl/lib/http.c:2731,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2736,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2684
    functionDepth: 2
    functionLinenumber: 2684
    functionLinenumberEnd: 2743
    functionName: http_add_connection_hd
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_addn
    - curlx_dyn_addf
    - curl_strnequal
    - STRCONST
    - copy_custom_value
    - http_header_is_empty
    - curlx_dyn_len
    - Curl_headersep
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_add_connection_hd(struct Curl_easy *data,\n                                       struct
      dynbuf *req)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2792,1
    - Dst: http_target
      Src: /src/PROJ/curl/lib/http.c:2794,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2796,1
    - Dst: get_http_string
      Src: /src/PROJ/curl/lib/http.c:2797,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2802,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2808,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2814,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2819,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2826,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2830,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2830,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2831,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2836,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2836,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2839,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:2845,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2846,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2846,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2848,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:2853,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2854,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2854,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2855,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2862,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2862,1
    - Dst: Curl_checkProxyheaders
      Src: /src/PROJ/curl/lib/http.c:2863,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2863,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:2864,1
    - Dst: http_req_set_TE
      Src: /src/PROJ/curl/lib/http.c:2869,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:2874,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2874,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:2875,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/http.c:2882,1
    - Dst: Curl_http2_request_upgrade
      Src: /src/PROJ/curl/lib/http.c:2887,1
    - Dst: Curl_ws_request
      Src: /src/PROJ/curl/lib/http.c:2891,1
    - Dst: http_cookies
      Src: /src/PROJ/curl/lib/http.c:2896,1
    - Dst: Curl_add_timecondition
      Src: /src/PROJ/curl/lib/http.c:2900,1
    - Dst: Curl_add_custom_headers
      Src: /src/PROJ/curl/lib/http.c:2904,1
    - Dst: http_add_content_hds
      Src: /src/PROJ/curl/lib/http.c:2908,1
    - Dst: http_add_connection_hd
      Src: /src/PROJ/curl/lib/http.c:2912,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:2917,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:2917,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 6
    argNames:
    - data
    - req
    - id
    - httpversion
    - method
    - httpreq
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - http_hd_t
    - unsigned char
    - char*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2775
    functionDepth: 4
    functionLinenumber: 2775
    functionLinenumberEnd: 2921
    functionName: http_add_hd
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - get_http_string
    - Curl_checkProxyheaders
    - curlx_dyn_addf
    - Curl_checkheaders
    - http_req_set_TE
    - Curl_conn_is_ssl
    - Curl_http2_request_upgrade
    - STRCONST
    - http_target
    - Curl_ws_request
    - curlx_dyn_add
    - Curl_safefree
    - http_cookies
    - Curl_add_custom_headers
    - http_add_connection_hd
    - Curl_add_timecondition
    - http_add_content_hds
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_add_hd(struct Curl_easy *data,\n                            struct
      dynbuf *req,\n                            http_hd_t id,\n                            unsigned
      char httpversion,\n                            const char *method,\n                            Curl_HttpReq
      httpreq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http.c:2942,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http.c:2945,1
    - Dst: http_check_new_conn
      Src: /src/PROJ/curl/lib/http.c:2948,1
    - Dst: Curl_headers_init
      Src: /src/PROJ/curl/lib/http.c:2956,1
    - Dst: Curl_http_method
      Src: /src/PROJ/curl/lib/http.c:2965,1
    - Dst: http_set_aptr_host
      Src: /src/PROJ/curl/lib/http.c:2968,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http.c:2973,1
    - Dst: Curl_http_output_auth
      Src: /src/PROJ/curl/lib/http.c:2979,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:2981,1
    - Dst: http_useragent
      Src: /src/PROJ/curl/lib/http.c:2986,1
    - Dst: set_reader
      Src: /src/PROJ/curl/lib/http.c:2991,1
    - Dst: http_resume
      Src: /src/PROJ/curl/lib/http.c:2993,1
    - Dst: http_range
      Src: /src/PROJ/curl/lib/http.c:2995,1
    - Dst: http_request_version
      Src: /src/PROJ/curl/lib/http.c:2999,1
    - Dst: http_add_hd
      Src: /src/PROJ/curl/lib/http.c:3002,1
    - Dst: Curl_xfer_setup_sendrecv
      Src: /src/PROJ/curl/lib/http.c:3009,1
    - Dst: Curl_req_send
      Src: /src/PROJ/curl/lib/http.c:3010,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3020,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:3024,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http.c:3026,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http.c:3028,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 2928
    functionDepth: 5
    functionLinenumber: 2928
    functionLinenumberEnd: 3030
    functionName: Curl_http
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - http_check_new_conn
    - Curl_http_output_auth
    - http_add_hd
    - http_range
    - http_useragent
    - http_resume
    - Curl_xfer_setup_sendrecv
    - curlx_dyn_init
    - curlx_dyn_reset
    - set_reader
    - http_request_version
    - Curl_req_send
    - free
    - curl_maprintf
    - http_set_aptr_host
    - curlx_dyn_free
    - Curl_safefree
    - Curl_http_method
    - Curl_headers_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/http.c:3042,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:3042,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/http.c:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prefix
    - buffer
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3040
    functionDepth: 1
    functionLinenumber: 3040
    functionLinenumberEnd: 3044
    functionName: checkprefixmax
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool checkprefixmax(const char *prefix, const char *buffer, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkprefixmax
      Src: /src/PROJ/curl/lib/http.c:3060,1
    - Dst: checkprefixmax
      Src: /src/PROJ/curl/lib/http.c:3067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - data
    - s
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3051
    functionDepth: 2
    functionLinenumber: 3051
    functionLinenumberEnd: 3071
    functionName: checkhttpprefix
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - checkprefixmax
    linkageType: ''
    returnType: statusline
    signature: "statusline checkhttpprefix(struct Curl_easy *data,\n                const
      char *s, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkprefixmax
      Src: /src/PROJ/curl/lib/http.c:3081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - s
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3074
    functionDepth: 2
    functionLinenumber: 3074
    functionLinenumberEnd: 3085
    functionName: checkrtspprefix
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - checkprefixmax
    linkageType: ''
    returnType: statusline
    signature: "statusline checkrtspprefix(struct Curl_easy *data,\n                const
      char *s, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkrtspprefix
      Src: /src/PROJ/curl/lib/http.c:3094,1
    - Dst: checkhttpprefix
      Src: /src/PROJ/curl/lib/http.c:3099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - conn
    - s
    - len
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3088
    functionDepth: 3
    functionLinenumber: 3088
    functionLinenumberEnd: 3100
    functionName: checkprotoprefix
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - checkhttpprefix
    - checkrtspprefix
    linkageType: ''
    returnType: statusline
    signature: "statusline checkprotoprefix(struct Curl_easy *data, struct connectdata
      *conn,\n                 const char *s, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hd
    - ','
    - hdlen
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3105
    functionName: HD_IS
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HD_IS(hd, hdlen, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hd
    - ','
    - hdlen
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3109
    functionName: HD_VAL
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HD_VAL(hd, hdlen, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hd
    - ','
    - hdlen
    - ','
    - n
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3116
    functionName: HD_IS_AND_SAYS
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HD_IS_AND_SAYS(hd, hdlen, n, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/http.c:3127,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/http.c:3130,1
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3134,1
    - Dst: Curl_altsvc_parse
      Src: /src/PROJ/curl/lib/http.c:3140,1
    - Dst: curlx_uitous
      Src: /src/PROJ/curl/lib/http.c:3141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3120
    functionDepth: 1
    functionLinenumber: 3120
    functionLinenumberEnd: 3149
    functionName: http_header_a
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - getenv
    - Curl_conn_is_ssl
    - HD_VAL
    - Curl_altsvc_parse
    - curlx_uitous
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_a(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3167,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/lib/http.c:3171,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3176,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:3179,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3180,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http.c:3189,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:3192,1
    - Dst: curlx_str_newline
      Src: /src/PROJ/curl/lib/http.c:3195,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3201,1
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3207,1
    - Dst: Curl_build_unencoding_stack
      Src: /src/PROJ/curl/lib/http.c:3216,1
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3219,1
    - Dst: Curl_copy_header_value
      Src: /src/PROJ/curl/lib/http.c:3221,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3226,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3228,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/PROJ/curl/lib/http.c:3233,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:3240,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/PROJ/curl/lib/http.c:3244,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/http.c:3251,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3252,1
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3255,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:3271,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:3275,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/http.c:3276,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3154
    functionDepth: 2
    functionLinenumber: 3154
    functionLinenumberEnd: 3285
    functionName: http_header_c
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - HD_IS_AND_SAYS
    - infof
    - free
    - connkeep
    - failf
    - curlx_str_single
    - Curl_copy_header_value
    - curlx_str_numblanks
    - curlx_str_passblanks
    - curlx_str_newline
    - curlx_str_number
    - HD_VAL
    - Curl_build_unencoding_stack
    - streamclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_c(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3297,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/http.c:3299,1
    - Dst: HD_IS
      Src: /src/PROJ/curl/lib/http.c:3305,1
    - Dst: Curl_copy_header_value
      Src: /src/PROJ/curl/lib/http.c:3307,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http.c:3311,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3313,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3319,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3320,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:3328,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:3329,1
    - Dst: http_perhapsrewind
      Src: /src/PROJ/curl/lib/http.c:3335,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3290
    functionDepth: 2
    functionLinenumber: 3290
    functionLinenumberEnd: 3345
    functionName: http_header_l
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - strcmp
    - Curl_copy_header_value
    - http_perhapsrewind
    - Curl_getdate_capped
    - HD_IS
    - HD_VAL
    - DEBUGASSERT
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_l(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3356,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/PROJ/curl/lib/http.c:3360,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/http.c:3367,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3368,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/PROJ/curl/lib/http.c:3371,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http.c:3376,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3377,1
    - Dst: HD_IS
      Src: /src/PROJ/curl/lib/http.c:3382,1
    - Dst: Curl_copy_header_value
      Src: /src/PROJ/curl/lib/http.c:3383,1
    - Dst: Curl_http_input_auth
      Src: /src/PROJ/curl/lib/http.c:3386,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3387,1
    - Dst: HD_IS
      Src: /src/PROJ/curl/lib/http.c:3392,1
    - Dst: Curl_auth_nego_get
      Src: /src/PROJ/curl/lib/http.c:3394,1
    - Dst: Curl_copy_header_value
      Src: /src/PROJ/curl/lib/http.c:3399,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/http.c:3402,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3404,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3350
    functionDepth: 3
    functionLinenumber: 3350
    functionLinenumberEnd: 3411
    functionName: http_header_p
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - HD_IS_AND_SAYS
    - infof
    - free
    - connkeep
    - Curl_auth_nego_get
    - Curl_copy_header_value
    - checkprefix
    - connclose
    - HD_VAL
    - HD_IS
    - Curl_http_input_auth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_p(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3419,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http.c:3424,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/http.c:3428,1
    - Dst: time
      Src: /src/PROJ/curl/lib/http.c:3429,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/http.c:3436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3444
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3444
    functionName: http_header_r
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - time
    - curlx_str_passblanks
    - Curl_getdate_capped
    - curlx_str_number
    - HD_VAL
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_r(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3463,1
    - Dst: Curl_secure_context
      Src: /src/PROJ/curl/lib/http.c:3469,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/http.c:3470,1
    - Dst: Curl_cookie_add
      Src: /src/PROJ/curl/lib/http.c:3471,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/http.c:3473,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/http.c:3480,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/http.c:3483,1
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3488,1
    - Dst: Curl_hsts_parse
      Src: /src/PROJ/curl/lib/http.c:3491,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3493,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/http.c:3497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3449
    functionDepth: 1
    functionLinenumber: 3449
    functionLinenumberEnd: 3503
    functionName: http_header_s
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - getenv
    - infof
    - Curl_secure_context
    - Curl_share_unlock
    - Curl_conn_is_ssl
    - Curl_cookie_add
    - Curl_share_lock
    - Curl_llist_count
    - HD_VAL
    - Curl_hsts_parse
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_s(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3527,1
    - Dst: Curl_build_unencoding_stack
      Src: /src/PROJ/curl/lib/http.c:3531,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http.c:3538,1
    - Dst: HD_VAL
      Src: /src/PROJ/curl/lib/http.c:3543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3508
    functionDepth: 1
    functionLinenumber: 3508
    functionLinenumberEnd: 3549
    functionName: http_header_t
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - connclose
    - HD_VAL
    - Curl_build_unencoding_stack
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_t(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HD_IS
      Src: /src/PROJ/curl/lib/http.c:3560,1
    - Dst: Curl_copy_header_value
      Src: /src/PROJ/curl/lib/http.c:3561,1
    - Dst: Curl_http_input_auth
      Src: /src/PROJ/curl/lib/http.c:3565,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:3566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3570
      start: 3554
    functionDepth: 3
    functionLinenumber: 3554
    functionLinenumberEnd: 3570
    functionName: http_header_w
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_http_input_auth
    - HD_IS
    - free
    - Curl_copy_header_value
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_w(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: http_header_a
      Src: /src/PROJ/curl/lib/http.c:3583,1
    - Dst: http_header_c
      Src: /src/PROJ/curl/lib/http.c:3587,1
    - Dst: http_header_l
      Src: /src/PROJ/curl/lib/http.c:3591,1
    - Dst: http_header_p
      Src: /src/PROJ/curl/lib/http.c:3595,1
    - Dst: http_header_r
      Src: /src/PROJ/curl/lib/http.c:3599,1
    - Dst: http_header_s
      Src: /src/PROJ/curl/lib/http.c:3603,1
    - Dst: http_header_t
      Src: /src/PROJ/curl/lib/http.c:3607,1
    - Dst: http_header_w
      Src: /src/PROJ/curl/lib/http.c:3611,1
    - Dst: Curl_rtsp_parseheader
      Src: /src/PROJ/curl/lib/http.c:3618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3621
      start: 3575
    functionDepth: 4
    functionLinenumber: 3575
    functionLinenumberEnd: 3621
    functionName: http_header
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_header_r
    - http_header_c
    - http_header_a
    - http_header_t
    - http_header_s
    - http_header_l
    - http_header_p
    - Curl_rtsp_parseheader
    - http_header_w
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header(struct Curl_easy *data,\n                            const
      char *hd, size_t hdlen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3644,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3650,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3683,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http.c:3684,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/http.c:3696,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3711
      start: 3627
    functionDepth: 1
    functionLinenumber: 3627
    functionLinenumberEnd: 3711
    functionName: http_statusline
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - connclose
    - infof
    - FALLTHROUGH
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_statusline(struct Curl_easy *data,\n                                struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3728,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3732,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/http.c:3733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3718
    functionDepth: 1
    functionLinenumber: 3718
    functionLinenumberEnd: 3737
    functionName: http_size
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_size(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/PROJ/curl/lib/http.c:3743,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3746,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/http.c:3756,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3764
      start: 3739
    functionDepth: 0
    functionLinenumber: 3739
    functionLinenumberEnd: 3764
    functionName: verify_header
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - memchr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode verify_header(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - data
    - delta
    - connect_only
    argTypes:
    - struct Curl_easy*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3791
      start: 3766
    functionDepth: 0
    functionLinenumber: 3766
    functionLinenumberEnd: 3791
    functionName: Curl_bump_headersize
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bump_headersize(struct Curl_easy *data,\n                              size_t
      delta,\n                              bool connect_only)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/http.c:3801,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http.c:3806,1
    - Dst: Curl_bump_headersize
      Src: /src/PROJ/curl/lib/http.c:3810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3793
    functionDepth: 1
    functionLinenumber: 3793
    functionLinenumberEnd: 3818
    functionName: http_write_header
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_debug
    - Curl_client_write
    - Curl_bump_headersize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_write_header(struct Curl_easy *data,\n                                  const
      char *hd, size_t hdlen)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3836,1
    - Dst: http_write_header
      Src: /src/PROJ/curl/lib/http.c:3843,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3850,1
    - Dst: http_exp100_got100
      Src: /src/PROJ/curl/lib/http.c:3867,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3874,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3890,1
    - Dst: Curl_http2_upgrade
      Src: /src/PROJ/curl/lib/http.c:3891,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3900,1
    - Dst: Curl_ws_accept
      Src: /src/PROJ/curl/lib/http.c:3901,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3943,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:3945,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3956,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:3966,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3982,1
    - Dst: http_should_fail
      Src: /src/PROJ/curl/lib/http.c:3989,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:3990,1
    - Dst: Curl_http_auth_act
      Src: /src/PROJ/curl/lib/http.c:3999,1
    - Dst: Curl_creader_will_rewind
      Src: /src/PROJ/curl/lib/http.c:4005,1
    - Dst: Curl_req_done_sending
      Src: /src/PROJ/curl/lib/http.c:4026,1
    - Dst: http_exp100_is_selected
      Src: /src/PROJ/curl/lib/http.c:4027,1
    - Dst: http_exp100_is_waiting
      Src: /src/PROJ/curl/lib/http.c:4030,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4031,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4034,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:4035,1
    - Dst: http_perhapsrewind
      Src: /src/PROJ/curl/lib/http.c:4037,1
    - Dst: Curl_req_abort_sending
      Src: /src/PROJ/curl/lib/http.c:4042,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4043,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:4044,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4051,1
    - Dst: http_exp100_send_anyway
      Src: /src/PROJ/curl/lib/http.c:4052,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4055,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:4056,1
    - Dst: Curl_req_abort_sending
      Src: /src/PROJ/curl/lib/http.c:4057,1
    - Dst: Curl_creader_will_rewind
      Src: /src/PROJ/curl/lib/http.c:4069,1
    - Dst: Curl_req_done_sending
      Src: /src/PROJ/curl/lib/http.c:4069,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4071,1
    - Dst: http_firstwrite
      Src: /src/PROJ/curl/lib/http.c:4092,1
    - Dst: http_size
      Src: /src/PROJ/curl/lib/http.c:4098,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/http.c:4103,1
    - Dst: http_write_header
      Src: /src/PROJ/curl/lib/http.c:4104,1
    - Dst: Curl_multi_connchanged
      Src: /src/PROJ/curl/lib/http.c:4108,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 172
    argCount: 6
    argNames:
    - data
    - last_hd
    - last_hd_len
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 3820
    functionDepth: 3
    functionLinenumber: 3820
    functionLinenumberEnd: 4111
    functionName: http_on_response
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_http2_upgrade
    - Curl_req_done_sending
    - Curl_multi_connchanged
    - http_exp100_send_anyway
    - http_exp100_got100
    - http_write_header
    - infof
    - http_firstwrite
    - http_exp100_is_waiting
    - http_size
    - Curl_1st_err
    - Curl_ws_accept
    - Curl_http_auth_act
    - DEBUGASSERT
    - Curl_req_abort_sending
    - streamclose
    - http_perhapsrewind
    - Curl_creader_will_rewind
    - http_exp100_is_selected
    - http_should_fail
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_on_response(struct Curl_easy *data,\n                                 const
      char *last_hd, size_t last_hd_len,\n                                 const char
      *buf, size_t blen,\n                                 size_t *pconsumed)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http.c:4128,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:4129,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http.c:4137,1
    - Dst: http_on_response
      Src: /src/PROJ/curl/lib/http.c:4138,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4138,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:4139,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http.c:4142,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http.c:4167,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/http.c:4168,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http.c:4174,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:4177,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:4177,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:4177,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:4187,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http.c:4193,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:4197,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:4197,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/http.c:4197,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http.c:4201,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:4207,1
    - Dst: checkhttpprefix
      Src: /src/PROJ/curl/lib/http.c:4216,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http.c:4230,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http.c:4231,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/http.c:4232,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/http.c:4233,1
    - Dst: curlx_str_cmp
      Src: /src/PROJ/curl/lib/http.c:4234,1
    - Dst: http_statusline
      Src: /src/PROJ/curl/lib/http.c:4245,1
    - Dst: verify_header
      Src: /src/PROJ/curl/lib/http.c:4256,1
    - Dst: http_header
      Src: /src/PROJ/curl/lib/http.c:4260,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/http.c:4267,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http.c:4271,1
    - Dst: Curl_bump_headersize
      Src: /src/PROJ/curl/lib/http.c:4275,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 103
    argCount: 6
    argNames:
    - data
    - hd
    - hdlen
    - buf_remain
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4113
    functionDepth: 5
    functionLinenumber: 4113
    functionLinenumberEnd: 4280
    functionName: http_rw_hd
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - verify_header
    - strncmp
    - failf
    - Curl_client_write
    - curlx_str_cmp
    - ISDIGIT
    - curlx_dyn_addn
    - http_on_response
    - curlx_dyn_ptr
    - curlx_str_passblanks
    - curlx_dyn_init
    - checkhttpprefix
    - Curl_debug
    - curlx_dyn_reset
    - curlx_str_until
    - Curl_bump_headersize
    - http_header
    - curlx_dyn_len
    - curlx_str_single
    - ISBLANK
    - curlx_str_number
    - curlx_dyn_free
    - curlx_str_trimblanks
    - http_statusline
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_rw_hd(struct Curl_easy *data,\n                           const
      char *hd, size_t hdlen,\n                           const char *buf_remain,
      size_t blen,\n                           size_t *pconsumed)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/PROJ/curl/lib/http.c:4300,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:4304,1
    - Dst: checkprotoprefix
      Src: /src/PROJ/curl/lib/http.c:4312,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4313,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:4314,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:4320,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:4322,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:4326,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http.c:4338,1
    - Dst: checkprotoprefix
      Src: /src/PROJ/curl/lib/http.c:4351,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4352,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:4353,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/http.c:4355,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:4359,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http.c:4363,1
    - Dst: http_rw_hd
      Src: /src/PROJ/curl/lib/http.c:4372,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4372,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:4373,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http.c:4378,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http.c:4393,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4285
    functionDepth: 6
    functionLinenumber: 4285
    functionLinenumberEnd: 4396
    functionName: http_parse_headers
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - failf
    - checkprotoprefix
    - curlx_dyn_free
    - http_rw_hd
    - curlx_dyn_reset
    - curlx_dyn_len
    - memchr
    - streamclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_parse_headers(struct Curl_easy *data,\n                                   const
      char *buf, size_t blen,\n                                   size_t *pconsumed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_rw_hd
      Src: /src/PROJ/curl/lib/http.c:4406,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http.c:4408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - hd
    - hdlen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4412
      start: 4398
    functionDepth: 6
    functionLinenumber: 4398
    functionLinenumberEnd: 4412
    functionName: Curl_http_write_resp_hd
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_rw_hd
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_write_resp_hd(struct Curl_easy *data,\n                                 const
      char *hd, size_t hdlen,\n                                 bool is_eos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_headers
      Src: /src/PROJ/curl/lib/http.c:4429,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:4431,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http.c:4435,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4436,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http.c:4437,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http.c:4439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4418
    functionDepth: 7
    functionLinenumber: 4418
    functionLinenumberEnd: 4443
    functionName: Curl_http_write_resp_hds
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - Curl_client_write
    - http_parse_headers
    - curlx_dyn_free
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_write_resp_hds(struct Curl_easy *data,\n                                  const
      char *buf, size_t blen,\n                                  size_t *pconsumed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_write_resp_hds
      Src: /src/PROJ/curl/lib/http.c:4453,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4457,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4462,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http.c:4468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4472
      start: 4445
    functionDepth: 8
    functionLinenumber: 4445
    functionLinenumberEnd: 4472
    functionName: Curl_http_write_resp
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_client_write
    - DEBUGASSERT
    - Curl_http_write_resp_hds
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_write_resp(struct Curl_easy *data,\n                              const
      char *buf, size_t blen,\n                              bool is_eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pstatus
    - s
    - len
    argTypes:
    - int*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4497
    functionName: Curl_http_decode_status
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http_decode_status(int *pstatus, const char *s, size_t
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4508,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http.c:4510,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http.c:4520,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/http.c:4525,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/http.c:4530,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/http.c:4535,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http.c:4539,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http.c:4540,1
    - Dst: Curl_http_req_free
      Src: /src/PROJ/curl/lib/http.c:4545,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 9
    argNames:
    - preq
    - method
    - m_len
    - scheme
    - s_len
    - authority
    - a_len
    - path
    - p_len
    argTypes:
    - struct httpreq**
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4548
      start: 4499
    functionDepth: 1
    functionLinenumber: 4499
    functionLinenumberEnd: 4548
    functionName: Curl_http_req_make
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_http_req_free
    - memcpy
    - Curl_dynhds_init
    - calloc
    - Curl_memdup0
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_req_make(struct httpreq **preq,\n                            const
      char *method, size_t m_len,\n                            const char *scheme,
      size_t s_len,\n                            const char *authority, size_t a_len,\n
      \                           const char *path, size_t p_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http.c:4558,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4560,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4569,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4572,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4576,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:4582,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:4586,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:4590,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:4594,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:4598,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:4602,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4602,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4608,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4609,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4610,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4611,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http.c:4612,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 2
    argNames:
    - req
    - url
    argTypes:
    - struct httpreq*
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4614
      start: 4550
    functionDepth: 1
    functionLinenumber: 4550
    functionLinenumberEnd: 4614
    functionName: req_assign_url_authority
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_add
    - curl_url_get
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_assign_url_authority(struct httpreq *req, CURLU *url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http.c:4624,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4626,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4629,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http.c:4642,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http.c:4647,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:4651,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http.c:4651,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4658,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4659,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http.c:4660,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - req
    - url
    argTypes:
    - struct httpreq*
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4616
    functionDepth: 1
    functionLinenumber: 4616
    functionLinenumberEnd: 4662
    functionName: req_assign_url_path
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_add
    - curl_url_get
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_assign_url_path(struct httpreq *req, CURLU *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4672,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http.c:4674,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http.c:4677,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http.c:4679,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:4683,1
    - Dst: req_assign_url_authority
      Src: /src/PROJ/curl/lib/http.c:4688,1
    - Dst: req_assign_url_path
      Src: /src/PROJ/curl/lib/http.c:4691,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http.c:4695,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http.c:4696,1
    - Dst: Curl_http_req_free
      Src: /src/PROJ/curl/lib/http.c:4701,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 5
    argNames:
    - preq
    - method
    - m_len
    - url
    - scheme_default
    argTypes:
    - struct httpreq**
    - char*
    - size_t
    - CURLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4704
      start: 4664
    functionDepth: 2
    functionLinenumber: 4664
    functionLinenumberEnd: 4704
    functionName: Curl_http_req_make2
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_http_req_free
    - memcpy
    - Curl_dynhds_init
    - req_assign_url_authority
    - calloc
    - DEBUGASSERT
    - curl_url_get
    - req_assign_url_path
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_req_make2(struct httpreq **preq,\n                             const
      char *method, size_t m_len,\n                             CURLU *url, const
      char *scheme_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4709,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4710,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4711,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/http.c:4712,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/http.c:4713,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct httpreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4706
    functionDepth: 1
    functionLinenumber: 4706
    functionLinenumberEnd: 4716
    functionName: Curl_http_req_free
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 2
    functionsReached:
    - Curl_dynhds_free
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_http_req_free(struct httpreq *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/http.c:4736,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http.c:4740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dynhds_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4744
      start: 4733
    functionDepth: 1
    functionLinenumber: 4733
    functionLinenumberEnd: 4744
    functionName: h2_permissible_field
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool h2_permissible_field(struct dynhds_entry *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http.c:4752,1
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/http.c:4754,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http.c:4756,1
    - Dst: curlx_str_quotedword
      Src: /src/PROJ/curl/lib/http.c:4765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - fvalue
    - token
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4746
    functionDepth: 1
    functionLinenumber: 4746
    functionLinenumberEnd: 4773
    functionName: http_TE_has_token
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_quotedword
    - curlx_str_casecompare
    - curlx_str_cspn
    - ISBLANK
    linkageType: ''
    returnType: bool
    signature: bool http_TE_has_token(const char *fvalue, const char *token)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4783,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http.c:4784,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http.c:4789,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http.c:4790,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:4790,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http.c:4793,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4794,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/http.c:4797,1
    - Dst: Curl_dynhds_get
      Src: /src/PROJ/curl/lib/http.c:4806,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:4806,1
    - Dst: Curl_dynhds_reset
      Src: /src/PROJ/curl/lib/http.c:4811,1
    - Dst: Curl_dynhds_set_opts
      Src: /src/PROJ/curl/lib/http.c:4812,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http.c:4813,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:4813,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:4814,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http.c:4816,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:4816,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:4817,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http.c:4820,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:4820,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:4821,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http.c:4824,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http.c:4824,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http.c:4825,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/lib/http.c:4827,1
    - Dst: Curl_dynhds_getn
      Src: /src/PROJ/curl/lib/http.c:4828,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http.c:4831,1
    - Dst: http_TE_has_token
      Src: /src/PROJ/curl/lib/http.c:4832,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http.c:4833,1
    - Dst: h2_permissible_field
      Src: /src/PROJ/curl/lib/http.c:4836,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http.c:4837,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - h2_headers
    - req
    - data
    argTypes:
    - struct dynhds*
    - struct httpreq*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4843
      start: 4775
    functionDepth: 2
    functionLinenumber: 4775
    functionLinenumberEnd: 4843
    functionName: Curl_http_req_to_h2
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_checkheaders
    - strcmp
    - curlx_str_passblanks
    - Curl_conn_is_ssl
    - h2_permissible_field
    - Curl_dynhds_getn
    - Curl_dynhds_count
    - http_TE_has_token
    - STRCONST
    - DEBUGASSERT
    - strlen
    - Curl_dynhds_add
    - Curl_dynhds_set_opts
    - Curl_dynhds_reset
    - curl_strequal
    - Curl_dynhds_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_req_to_h2(struct dynhds *h2_headers,\n                             struct
      httpreq *req, struct Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http.c:4852,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http.c:4858,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http.c:4862,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http.c:4863,1
    - Dst: Curl_http_resp_free
      Src: /src/PROJ/curl/lib/http.c:4868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - presp
    - status
    - description
    argTypes:
    - struct http_resp**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4871
      start: 4845
    functionDepth: 1
    functionLinenumber: 4845
    functionLinenumberEnd: 4871
    functionName: Curl_http_resp_make
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_http_resp_free
    - calloc
    - strdup
    - Curl_dynhds_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_resp_make(struct http_resp **presp,\n                             int
      status,\n                             const char *description)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4876,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/http.c:4877,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/http.c:4878,1
    - Dst: Curl_http_resp_free
      Src: /src/PROJ/curl/lib/http.c:4880,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http.c:4881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - resp
    argTypes:
    - struct http_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4883
      start: 4873
    functionDepth: 1
    functionLinenumber: 4873
    functionLinenumberEnd: 4883
    functionName: Curl_http_resp_free
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 2
    functionsReached:
    - Curl_dynhds_free
    - free
    - Curl_http_resp_free
    linkageType: ''
    returnType: void
    signature: void Curl_http_resp_free(struct http_resp *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_expire_done
      Src: /src/PROJ/curl/lib/http.c:4901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4903
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4903
    functionName: http_exp100_continue
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_expire_done
    linkageType: ''
    returnType: void
    signature: "void http_exp100_continue(struct Curl_easy *data,\n                                 struct
      Curl_creader *reader)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_sendbuf_empty
      Src: /src/PROJ/curl/lib/http.c:4915,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:4918,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4918,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:4925,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4925,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/http.c:4928,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/http.c:4929,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:4936,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4936,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/http.c:4941,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/http.c:4941,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:4943,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4943,1
    - Dst: http_exp100_continue
      Src: /src/PROJ/curl/lib/http.c:4951,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4952,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/http.c:4953,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/http.c:4955,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http.c:4955,1
    - Dst: Curl_creader_read
      Src: /src/PROJ/curl/lib/http.c:4956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4905
    functionDepth: 2
    functionLinenumber: 4905
    functionLinenumberEnd: 4958
    functionName: cr_exp100_read
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_exp100_continue
    - infof
    - DEBUGF
    - Curl_expire
    - curlx_now
    - FALLTHROUGH
    - curlx_timediff
    - Curl_req_sendbuf_empty
    - Curl_creader_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_exp100_read(struct Curl_easy *data,\n                               struct
      Curl_creader *reader,\n                               char *buf, size_t blen,\n
      \                              size_t *nread, bool *eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_expire_done
      Src: /src/PROJ/curl/lib/http.c:4966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - reader
    - premature
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4967
      start: 4960
    functionDepth: 1
    functionLinenumber: 4960
    functionLinenumberEnd: 4967
    functionName: cr_exp100_done
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_expire_done
    linkageType: ''
    returnType: void
    signature: "void cr_exp100_done(struct Curl_easy *data,\n                           struct
      Curl_creader *reader, int premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/http.c:4988,1
    - Dst: Curl_creader_add
      Src: /src/PROJ/curl/lib/http.c:4991,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/http.c:4998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4983
    functionDepth: 1
    functionLinenumber: 4983
    functionLinenumberEnd: 5000
    functionName: http_exp100_add_reader
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - Curl_creader_add
    - Curl_creader_create
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_exp100_add_reader(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/PROJ/curl/lib/http.c:5004,1
    - Dst: http_exp100_continue
      Src: /src/PROJ/curl/lib/http.c:5006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 5002
    functionDepth: 2
    functionLinenumber: 5002
    functionLinenumberEnd: 5007
    functionName: http_exp100_got100
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - http_exp100_continue
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: void
    signature: void http_exp100_got100(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/PROJ/curl/lib/http.c:5011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5017
      start: 5009
    functionDepth: 1
    functionLinenumber: 5009
    functionLinenumberEnd: 5017
    functionName: http_exp100_is_waiting
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: bool
    signature: bool http_exp100_is_waiting(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/PROJ/curl/lib/http.c:5021,1
    - Dst: http_exp100_continue
      Src: /src/PROJ/curl/lib/http.c:5023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5024
      start: 5019
    functionDepth: 2
    functionLinenumber: 5019
    functionLinenumberEnd: 5024
    functionName: http_exp100_send_anyway
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - http_exp100_continue
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: void
    signature: void http_exp100_send_anyway(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/PROJ/curl/lib/http.c:5028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5030
      start: 5026
    functionDepth: 1
    functionLinenumber: 5026
    functionLinenumberEnd: 5030
    functionName: http_exp100_is_selected
    functionSourceFile: /src/PROJ/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: bool
    signature: bool http_exp100_is_selected(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: GOOD_EASY_HANDLE
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_EASY_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: GOOD_EASY_HANDLE
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_EASY_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: CONN_IS_PROXIED
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_IS_PROXIED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: CONN_IS_PROXIED
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_IS_PROXIED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: CURL_WANT_SEND
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_WANT_SEND(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: CURL_WANT_RECV
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_WANT_RECV(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: CONN_INUSE
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_INUSE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: CONN_ATTACHED
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_ATTACHED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: CONN_SOCK_IDX_VALID
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_SOCK_IDX_VALID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: CURL_CONN_HOST_DISPNAME
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONN_HOST_DISPNAME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: CURL_CONN_HOST_DISPNAME
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONN_HOST_DISPNAME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1619
    functionName: IS_MIME_POST
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_MIME_POST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1621
    functionName: IS_MIME_POST
    functionSourceFile: /src/PROJ/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_MIME_POST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ISLOWHEXALHA
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWHEXALHA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ISUPHEXALHA
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUPHEXALHA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ISLOWCNTRL
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWCNTRL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: IS7F
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS7F(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ISLOWPRINT
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWPRINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ISPRINT
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISPRINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: ISGRAPH
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISGRAPH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ISCNTRL
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCNTRL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: ISALPHA
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISALPHA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ISXDIGIT
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISXDIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ISODIGIT
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISODIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ISALNUM
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISALNUM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ISUPPER
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUPPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ISLOWER
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ISDIGIT
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISDIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ISBLANK
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISBLANK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ISSPACE
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSPACE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ISURLPUNTCS
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISURLPUNTCS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ISUNRESERVED
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUNRESERVED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ISNEWLINE
    functionSourceFile: /src/PROJ/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISNEWLINE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: VERIFYNODE
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFYNODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: verifynode
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *verifynode(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: VERIFYNODE
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFYNODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - l
    - dtor
    argTypes:
    - struct Curl_llist*
    - Curl_llist_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: Curl_llist_init
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_llist_init(struct Curl_llist *l, Curl_llist_dtor dtor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:81,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:82,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:83,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/llist.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - list
    - e
    - p
    - ne
    argTypes:
    - struct Curl_llist*
    - struct Curl_llist_node*
    - void*
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: Curl_llist_insert_next
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - CURL_UNCONST
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_llist_insert_next(struct Curl_llist *list,\n                       struct
      Curl_llist_node *e, /* may be NULL */\n                       const void *p,\n
      \                      struct Curl_llist_node *ne)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:130,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:131,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:132,1
    - Dst: Curl_llist_insert_next
      Src: /src/PROJ/curl/lib/llist.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - list
    - p
    - ne
    argTypes:
    - struct Curl_llist*
    - void*
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: Curl_llist_append
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - Curl_llist_insert_next
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_llist_append(struct Curl_llist *list, const void *p,\n                  struct
      Curl_llist_node *ne)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:144,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:145,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:146,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 179
    functionName: Curl_node_take_elem
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_node_take_elem(struct Curl_llist_node *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:194,1
    - Dst: Curl_node_take_elem
      Src: /src/PROJ/curl/lib/llist.c:196,1
    - Dst: struct Curl_llist*::_dtor
      Src: /src/PROJ/curl/lib/llist.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - e
    - user
    argTypes:
    - struct Curl_llist_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: Curl_node_uremove
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - struct Curl_llist*::_dtor
    - Curl_node_take_elem
    - DEBUGASSERT
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_node_uremove(struct Curl_llist_node *e, void *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_uremove
      Src: /src/PROJ/curl/lib/llist.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: Curl_node_remove
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - Curl_node_uremove
    linkageType: ''
    returnType: void
    signature: void Curl_node_remove(struct Curl_llist_node *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:211,1
    - Dst: Curl_node_uremove
      Src: /src/PROJ/curl/lib/llist.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - user
    argTypes:
    - struct Curl_llist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: Curl_llist_destroy
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - Curl_node_uremove
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_llist_destroy(struct Curl_llist *list, void *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:221,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:222,1
    - Dst: VERIFYNODE
      Src: /src/PROJ/curl/lib/llist.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: Curl_llist_head
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - VERIFYNODE
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_llist_head(struct Curl_llist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:231,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:232,1
    - Dst: VERIFYNODE
      Src: /src/PROJ/curl/lib/llist.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: Curl_llist_tail
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - VERIFYNODE
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_llist_tail(struct Curl_llist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:240,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: Curl_llist_count
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_llist_count(struct Curl_llist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:248,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: Curl_node_elem
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_node_elem(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:257,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:258,1
    - Dst: VERIFYNODE
      Src: /src/PROJ/curl/lib/llist.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: Curl_node_next
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - VERIFYNODE
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_node_next(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:268,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:269,1
    - Dst: VERIFYNODE
      Src: /src/PROJ/curl/lib/llist.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Curl_node_prev
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - VERIFYNODE
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_node_prev(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:277,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/llist.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: Curl_node_llist
    functionSourceFile: /src/PROJ/curl/lib/llist.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist
    signature: struct Curl_llist *Curl_node_llist(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: CURL_CONC_MACROS_
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONC_MACROS_(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: CURL_CONC_MACROS
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONC_MACROS(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: CURL_PRINTF
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: CURL_PRINTF
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: select
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: select
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fdes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: lseek
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fdes, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fdes
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: fstat
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fstat(fdes,stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fdes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: lseek
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fdes, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fdes
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: fstat
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fstat(fdes, stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fdes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    functionName: lseek
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fdes,offset,whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: CURL_UINT64_C
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UINT64_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - r
    - ','
    - w
    - ','
    - x
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 664
    functionName: select
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select(n,r,w,x,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: ioctl
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctl(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 808
    functionName: FALLTHROUGH
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 810
    functionName: FALLTHROUGH
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: raise
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: raise(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 827
    functionName: CURL_SETERRNO
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SETERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 836
    functionName: strerror
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 201
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 840
    functionName: CURL_SETERRNO
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SETERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 879
    functionName: S_ISREG
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 884
    functionName: S_ISDIR
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 945
    functionName: CURLMAX
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLMAX(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 946
    functionName: CURLMIN
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLMIN(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: STRCONST
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCONST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 953
    functionName: CURL_ARRAYSIZE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_ARRAYSIZE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 986
    functionName: Curl_safefree
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_safefree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 994
    functionName: ALLOC_SIZE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 995
    functionName: ALLOC_SIZE2
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE2(n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: ALLOC_SIZE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1003
    functionName: ALLOC_SIZE2
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE2(n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sockfd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1076
    functionName: sclose
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclose(sockfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sockfd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1077
    functionName: fake_sclose
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fake_sclose(sockfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - host
    - ','
    - serv
    - ','
    - hint
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: CURL_GETADDRINFO
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_GETADDRINFO(host,serv,hint,res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1082
    functionName: CURL_FREEADDRINFO
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_FREEADDRINFO(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - domain
    - ','
    - type
    - ','
    - protocol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: CURL_SOCKET
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SOCKET(domain,type,protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - domain
    - ','
    - type
    - ','
    - protocol
    - ','
    - socket_vector
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: CURL_SOCKETPAIR
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SOCKETPAIR(domain,type,protocol,socket_vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sock
    - ','
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: CURL_ACCEPT
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_ACCEPT(sock,addr,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - sock
    - ','
    - addr
    - ','
    - len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1094
    functionName: CURL_ACCEPT4
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_ACCEPT4(sock,addr,len,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1096
    functionName: CURL_SEND
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SEND(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1097
    functionName: CURL_RECV
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_RECV(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1101
    functionName: sclose
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclose(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1102
    functionName: fake_sclose
    functionSourceFile: /src/PROJ/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fake_sclose(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cahead
    argTypes:
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: Curl_freeaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_freeaddrinfo(struct Curl_addrinfo *cahead)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CURL_GETADDRINFO
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:122,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:129,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:149,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:168,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:172,1
    - Dst: CURL_FREEADDRINFO
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:188,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:192,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - nodename
    - servname
    - hints
    - result
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct Curl_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 212
    functionName: Curl_getaddrinfo_ex
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - SET_SOCKERRNO
    - memcpy
    - CURL_FREEADDRINFO
    - CURL_GETADDRINFO
    - strlen
    - malloc
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int Curl_getaddrinfo_ex(const char *nodename,\n                    const
      char *servname,\n                    const struct addrinfo *hints,\n                    struct
      Curl_addrinfo **result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:275,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:279,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:288,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:297,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:321,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:323,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:330,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:332,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:341,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - he
    - port
    argTypes:
    - struct hostent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 346
    functionName: Curl_he2ai
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - DEBUGASSERT
    - strlen
    - Curl_freeaddrinfo
    - htons
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      Curl_he2ai(const struct hostent *he, int port)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:369,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:371,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:383,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:390,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:400,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:402,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:409,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - af
    - inaddr
    - hostname
    - port
    argTypes:
    - int
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 417
    functionName: Curl_ip2addr
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 1
    functionsReached:
    - memcpy
    - calloc
    - DEBUGASSERT
    - strlen
    - htons
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      Curl_ip2addr(int af, const void *inaddr, const char *hostname, int port)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:426,1
    - Dst: Curl_ip2addr
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:428,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:432,1
    - Dst: Curl_ip2addr
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 438
    functionName: Curl_str2addr
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 1
    functionsReached:
    - Curl_ip2addr
    - curlx_inet_pton
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *Curl_str2addr(char *address, int port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:455,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:464,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:466,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:478,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - path
    - longpath
    - abstract
    argTypes:
    - char*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 483
    functionName: Curl_unix2addr
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_unix2addr(const char *path, bool *longpath,\n
      \                                    bool abstract)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:500,1
    - Dst: lwip_freeaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:503,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:506,1
    - Dst: r_freeaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:508,1
    - Dst: freeaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:511,1
    - Dst: freeaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - freethis
    - line
    - source
    argTypes:
    - struct addrinfo*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: curl_dbg_freeaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - curl_dbg_log
    - r_freeaddrinfo
    - lwip_freeaddrinfo
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: "void curl_dbg_freeaddrinfo(struct addrinfo *freethis,\n                      int
      line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwip_getaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:538,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:541,1
    - Dst: r_getaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:543,1
    - Dst: getaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:546,1
    - Dst: getaddrinfo
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:549,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:553,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - hostname
    - service
    - hints
    - result
    - line
    - source
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 559
    functionName: curl_dbg_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - curl_dbg_log
    - lwip_getaddrinfo
    - r_getaddrinfo
    - getaddrinfo
    linkageType: ''
    returnType: int
    signature: "int curl_dbg_getaddrinfo(const char *hostname,\n                     const
      char *service,\n                     const struct addrinfo *hints,\n                     struct
      addrinfo **result,\n                     int line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:578,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/curl_addrinfo.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - addrinfo
    - port
    argTypes:
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 589
    functionName: Curl_addrinfo_set_port
    functionSourceFile: /src/PROJ/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void Curl_addrinfo_set_port(struct Curl_addrinfo *addrinfo, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: CURL_TRC_M_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_M_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: CURL_TRC_DNS_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_DNS_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: CURL_TRC_TIMER_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_TIMER_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: infof
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infof(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: CURL_TRC_M
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_M(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - cf
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: CURL_TRC_CF
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_CF(data, cf, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: CURL_TRC_WRITE
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_WRITE(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: CURL_TRC_READ
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_READ(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CURL_TRC_DNS
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_DNS(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - tid
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: CURL_TRC_TIMER
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_TIMER(data, tid, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: CURL_TRC_FTP
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_FTP(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: CURL_TRC_SMTP
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_SMTP(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: CURL_TRC_SSLS
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_SSLS(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: CURL_TRC_WS
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_WS(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Curl_trc_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cf
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: Curl_trc_cf_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_cf_is_verbose(cf, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - ft
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: Curl_trc_ft_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_ft_is_verbose(data, ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: CURL_MSTATE_NAME
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_MSTATE_NAME(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: CURL_TRC_EASY_TIMERS
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_EASY_TIMERS(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: Curl_trc_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_is_verbose(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Curl_trc_cf_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_cf_is_verbose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Curl_trc_ft_is_verbose
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_ft_is_verbose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: CURL_MSTATE_NAME
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_MSTATE_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: CURL_TRC_EASY_TIMERS
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_EASY_TIMERS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: Curl_headersep
    functionSourceFile: /src/PROJ/curl/lib/transfer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headersep(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: Curl_rand
    functionSourceFile: /src/PROJ/curl/lib/rand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_rand(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Curl_rand
    functionSourceFile: /src/PROJ/curl/lib/rand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_rand(a,b,c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/lib/getenv.c:48,1
    - Dst: free
      Src: /src/PROJ/curl/lib/getenv.c:50,1
    - Dst: GetEnvironmentVariableA
      Src: /src/PROJ/curl/lib/getenv.c:59,1
    - Dst: free
      Src: /src/PROJ/curl/lib/getenv.c:61,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/getenv.c:72,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/getenv.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - variable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: GetEnv
    functionSourceFile: /src/PROJ/curl/lib/getenv.c
    functionUses: 0
    functionsReached:
    - getenv
    - free
    - realloc
    - GetEnvironmentVariableA
    - strdup
    linkageType: ''
    returnType: char
    signature: char *GetEnv(const char *variable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEnv
      Src: /src/PROJ/curl/lib/getenv.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: curl_getenv
    functionSourceFile: /src/PROJ/curl/lib/getenv.c
    functionUses: 6
    functionsReached:
    - GetEnv
    linkageType: ''
    returnType: char
    signature: char *curl_getenv(const char *v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/PROJ/curl/lib/system_win32.c:62,1
    - Dst: WSAStartup
      Src: /src/PROJ/curl/lib/system_win32.c:63,1
    - Dst: LOBYTE
      Src: /src/PROJ/curl/lib/system_win32.c:76,1
    - Dst: LOBYTE
      Src: /src/PROJ/curl/lib/system_win32.c:76,1
    - Dst: HIBYTE
      Src: /src/PROJ/curl/lib/system_win32.c:77,1
    - Dst: HIBYTE
      Src: /src/PROJ/curl/lib/system_win32.c:77,1
    - Dst: WSACleanup
      Src: /src/PROJ/curl/lib/system_win32.c:81,1
    - Dst: lwip_init
      Src: /src/PROJ/curl/lib/system_win32.c:86,1
    - Dst: Curl_sspi_global_init
      Src: /src/PROJ/curl/lib/system_win32.c:92,1
    - Dst: curl_load_library
      Src: /src/PROJ/curl/lib/system_win32.c:99,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/system_win32.c:99,1
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/PROJ/curl/lib/system_win32.c:108,1
    - Dst: GetProcAddress
      Src: /src/PROJ/curl/lib/system_win32.c:109,1
    - Dst: CURL_TEXT
      Src: /src/PROJ/curl/lib/system_win32.c:110,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/system_win32.c:119,1
    - Dst: QueryPerformanceFrequency
      Src: /src/PROJ/curl/lib/system_win32.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - flags
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 128
    functionName: Curl_win32_init
    functionSourceFile: /src/PROJ/curl/lib/system_win32.c
    functionUses: 0
    functionsReached:
    - CURL_TEXT
    - Curl_sspi_global_init
    - GetProcAddress
    - QueryPerformanceFrequency
    - lwip_init
    - WSACleanup
    - WSAStartup
    - curl_load_library
    - curlx_verify_windows_version
    - HIBYTE
    - CURLX_FUNCTION_CAST
    - MAKEWORD
    - TEXT
    - LOBYTE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_win32_init(long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CURL_TEXT
    functionSourceFile: /src/PROJ/curl/lib/system_win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEXT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: CURL_TEXT
    functionSourceFile: /src/PROJ/curl/lib/system_win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEXT(n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/PROJ/curl/lib/system_win32.c:135,1
    - Dst: Curl_sspi_global_cleanup
      Src: /src/PROJ/curl/lib/system_win32.c:142,1
    - Dst: WSACleanup
      Src: /src/PROJ/curl/lib/system_win32.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - init_flags
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: Curl_win32_cleanup
    functionSourceFile: /src/PROJ/curl/lib/system_win32.c
    functionUses: 0
    functionsReached:
    - Curl_sspi_global_cleanup
    - WSACleanup
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void Curl_win32_cleanup(long init_flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/PROJ/curl/lib/system_win32.c:197,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/system_win32.c:197,1
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/PROJ/curl/lib/system_win32.c:204,1
    - Dst: GetProcAddress
      Src: /src/PROJ/curl/lib/system_win32.c:205,1
    - Dst: _tcspbrk
      Src: /src/PROJ/curl/lib/system_win32.c:211,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/system_win32.c:211,1
    - Dst: pLoadLibraryEx
      Src: /src/PROJ/curl/lib/system_win32.c:214,1
    - Dst: LoadLibrary
      Src: /src/PROJ/curl/lib/system_win32.c:215,1
    - Dst: GetProcAddress
      Src: /src/PROJ/curl/lib/system_win32.c:220,1
    - Dst: pLoadLibraryEx
      Src: /src/PROJ/curl/lib/system_win32.c:222,1
    - Dst: GetSystemDirectory
      Src: /src/PROJ/curl/lib/system_win32.c:226,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/system_win32.c:230,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/system_win32.c:231,1
    - Dst: GetSystemDirectory
      Src: /src/PROJ/curl/lib/system_win32.c:232,1
    - Dst: _tcscpy
      Src: /src/PROJ/curl/lib/system_win32.c:234,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/system_win32.c:234,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/system_win32.c:234,1
    - Dst: _tcscpy
      Src: /src/PROJ/curl/lib/system_win32.c:235,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/system_win32.c:235,1
    - Dst: pLoadLibraryEx
      Src: /src/PROJ/curl/lib/system_win32.c:240,1
    - Dst: LoadLibrary
      Src: /src/PROJ/curl/lib/system_win32.c:241,1
    - Dst: free
      Src: /src/PROJ/curl/lib/system_win32.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - filename
    argTypes:
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 252
    functionName: curl_load_library
    functionSourceFile: /src/PROJ/curl/lib/system_win32.c
    functionUses: 1
    functionsReached:
    - pLoadLibraryEx
    - free
    - GetModuleHandle
    - GetSystemDirectory
    - GetProcAddress
    - _tcspbrk
    - LoadLibrary
    - _tcslen
    - _tcscpy
    - malloc
    - CURLX_FUNCTION_CAST
    - TEXT
    linkageType: ''
    returnType: HMODULE
    signature: HMODULE curl_load_library(LPCTSTR filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-table.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tbl
    - entry_dtor
    argTypes:
    - struct uint_tbl*
    - Curl_uint_tbl_entry_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: Curl_uint_tbl_init
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void Curl_uint_tbl_init(struct uint_tbl *tbl,\n                        Curl_uint_tbl_entry_dtor
      *entry_dtor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/uint-table.c:57,1
    - Dst: struct uint_tbl*::entry_dtor
      Src: /src/PROJ/curl/lib/uint-table.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tbl
    - from
    - upto_excluding
    argTypes:
    - struct uint_tbl*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: uint_tbl_clear_rows
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - struct uint_tbl*::entry_dtor
    linkageType: ''
    returnType: void
    signature: "void uint_tbl_clear_rows(struct uint_tbl *tbl,\n                                unsigned
      int from,\n                                unsigned int upto_excluding)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:72,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/uint-table.c:76,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/uint-table.c:80,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/uint-table.c:80,1
    - Dst: uint_tbl_clear_rows
      Src: /src/PROJ/curl/lib/uint-table.c:82,1
    - Dst: free
      Src: /src/PROJ/curl/lib/uint-table.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - tbl
    - nrows
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: Curl_uint_tbl_resize
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 2
    functionsReached:
    - free
    - memcpy
    - uint_tbl_clear_rows
    - CURLMIN
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_uint_tbl_resize(struct uint_tbl *tbl, unsigned int nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:94,1
    - Dst: Curl_uint_tbl_clear
      Src: /src/PROJ/curl/lib/uint-table.c:95,1
    - Dst: free
      Src: /src/PROJ/curl/lib/uint-table.c:96,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-table.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Curl_uint_tbl_destroy
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - memset
    - free
    - DEBUGASSERT
    - Curl_uint_tbl_clear
    linkageType: ''
    returnType: void
    signature: void Curl_uint_tbl_destroy(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:102,1
    - Dst: uint_tbl_clear_rows
      Src: /src/PROJ/curl/lib/uint-table.c:103,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Curl_uint_tbl_clear
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - uint_tbl_clear_rows
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_uint_tbl_clear(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Curl_uint_tbl_capacity
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_tbl_capacity(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: Curl_uint_tbl_count
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_tbl_count(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - key
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Curl_uint_tbl_get
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *Curl_uint_tbl_get(struct uint_tbl *tbl, unsigned int key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:131,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/uint-table.c:138,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - tbl
    - entry
    - pkey
    argTypes:
    - struct uint_tbl*
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 161
    functionName: Curl_uint_tbl_add
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - CURLMIN
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_tbl_add(struct uint_tbl *tbl, void *entry, unsigned
      int *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint_tbl_clear_rows
      Src: /src/PROJ/curl/lib/uint-table.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - key
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Curl_uint_tbl_remove
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - uint_tbl_clear_rows
    linkageType: ''
    returnType: void
    signature: void Curl_uint_tbl_remove(struct uint_tbl *tbl, unsigned int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - key
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: Curl_uint_tbl_contains
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_tbl_contains(struct uint_tbl *tbl, unsigned int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - tbl
    - key
    - pkey
    - pentry
    argTypes:
    - struct uint_tbl*
    - unsigned int
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: uint_tbl_next_at
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uint_tbl_next_at(struct uint_tbl *tbl, unsigned int key,\n                             unsigned
      int *pkey, void **pentry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint_tbl_next_at
      Src: /src/PROJ/curl/lib/uint-table.c:196,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-table.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - tbl
    - pkey
    - pentry
    argTypes:
    - struct uint_tbl*
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: Curl_uint_tbl_first
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - uint_tbl_next_at
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_tbl_first(struct uint_tbl *tbl,\n                         unsigned
      int *pkey, void **pentry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint_tbl_next_at
      Src: /src/PROJ/curl/lib/uint-table.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - tbl
    - last_key
    - pkey
    - pentry
    argTypes:
    - struct uint_tbl*
    - unsigned int
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: Curl_uint_tbl_next
    functionSourceFile: /src/PROJ/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - uint_tbl_next_at
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_tbl_next(struct uint_tbl *tbl, unsigned int last_key,\n
      \                       unsigned int *pkey, void **pentry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/easygetopt.c:33,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/easygetopt.c:34,1
    - Dst: Curl_easyopts_check
      Src: /src/PROJ/curl/lib/easygetopt.c:34,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/easygetopt.c:39,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - char*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: lookup
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    - Curl_easyopts_check
    - DEBUGASSERT
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *lookup(const char *name, CURLoption id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/PROJ/curl/lib/easygetopt.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: curl_easy_option_by_name
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 2
    functionsReached:
    - lookup
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_name(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/PROJ/curl/lib/easygetopt.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: curl_easy_option_by_id
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 1
    functionsReached:
    - lookup
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_id(CURLoption id)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - prev
    argTypes:
    - struct curl_easyoption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: curl_easy_option_next
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: 'struct curl_easyoption *

      curl_easy_option_next(const struct curl_easyoption *prev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: curl_easy_option_by_name
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_name(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: curl_easy_option_by_id
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_id(CURLoption id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prev
    argTypes:
    - struct curl_easyoption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: curl_easy_option_next
    functionSourceFile: /src/PROJ/curl/lib/easygetopt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: 'struct curl_easyoption *

      curl_easy_option_next(const struct curl_easyoption *prev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:103,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:104,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/transfer.c:107,1
    - Dst: Curl_headersep
      Src: /src/PROJ/curl/lib/transfer.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - thisheader
    - thislen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: Curl_checkheaders
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 13
    functionsReached:
    - Curl_headersep
    - curl_strnequal
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: "char *Curl_checkheaders(const struct Curl_easy *data,\n                        const
      char *thisheader,\n                        const size_t thislen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/transfer.c:121,1
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/transfer.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rcvd_eagain
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: data_pending
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 2
    functionsReached:
    - Curl_conn_data_pending
    linkageType: ''
    returnType: int
    signature: int data_pending(struct Curl_easy *data, bool rcvd_eagain)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:143,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - data
    - timeofdoc
    argTypes:
    - struct Curl_easy*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: Curl_meets_timecondition
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 2
    functionsReached:
    - infof
    linkageType: ''
    returnType: bool
    signature: bool Curl_meets_timecondition(struct Curl_easy *data, time_t timeofdoc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_shutdown
      Src: /src/PROJ/curl/lib/transfer.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: xfer_recv_shutdown
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode xfer_recv_shutdown(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_shutdown_started
      Src: /src/PROJ/curl/lib/transfer.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: xfer_recv_shutdown_started
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_shutdown_started
    linkageType: ''
    returnType: bool
    signature: bool xfer_recv_shutdown_started(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_shutdown
      Src: /src/PROJ/curl/lib/transfer.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: Curl_xfer_send_shutdown
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_send_shutdown(struct Curl_easy *data, bool *done)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:199,1
    - Dst: xfer_recv_shutdown_started
      Src: /src/PROJ/curl/lib/transfer.c:209,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/transfer.c:220,1
    - Dst: xfer_recv_shutdown
      Src: /src/PROJ/curl/lib/transfer.c:228,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:236,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - eos_reliable
    - err
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 239
    functionName: xfer_recv_resp
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_recv_shutdown_started
    - Curl_xfer_recv
    - infof
    - DEBUGF
    - xfer_recv_shutdown
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t xfer_recv_resp(struct Curl_easy *data,\n                              char
      *buf, size_t blen,\n                              bool eos_reliable,\n                              CURLcode
      *err)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_xfer_buf_borrow
      Src: /src/PROJ/curl/lib/transfer.c:259,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/PROJ/curl/lib/transfer.c:273,1
    - Dst: xfer_recv_resp
      Src: /src/PROJ/curl/lib/transfer.c:291,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:299,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:299,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:321,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:321,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:323,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:323,1
    - Dst: Curl_req_stop_send_recv
      Src: /src/PROJ/curl/lib/transfer.c:324,1
    - Dst: Curl_xfer_write_resp
      Src: /src/PROJ/curl/lib/transfer.c:332,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/PROJ/curl/lib/transfer.c:348,1
    - Dst: data_pending
      Src: /src/PROJ/curl/lib/transfer.c:349,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/transfer.c:352,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/transfer.c:353,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:361,1
    - Dst: Curl_req_abort_sending
      Src: /src/PROJ/curl/lib/transfer.c:362,1
    - Dst: Curl_multi_xfer_buf_release
      Src: /src/PROJ/curl/lib/transfer.c:366,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:368,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:368,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 69
    argCount: 2
    argNames:
    - data
    - k
    argTypes:
    - struct Curl_easy*
    - struct SingleRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 370
    functionName: sendrecv_dl
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_req_stop_send_recv
    - Curl_multi_mark_dirty
    - CURL_TRC_M
    - Curl_conn_is_multiplex
    - data_pending
    - Curl_multi_xfer_buf_release
    - Curl_req_abort_sending
    - xfer_recv_resp
    - Curl_multi_xfer_buf_borrow
    - Curl_xfer_is_blocked
    - Curl_xfer_write_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sendrecv_dl(struct Curl_easy *data,\n                            struct
      SingleRequest *k)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:380,1
    - Dst: Curl_req_done_sending
      Src: /src/PROJ/curl/lib/transfer.c:380,1
    - Dst: Curl_req_done_sending
      Src: /src/PROJ/curl/lib/transfer.c:382,1
    - Dst: Curl_req_send_more
      Src: /src/PROJ/curl/lib/transfer.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: sendrecv_ul
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_req_send_more
    - DEBUGASSERT
    - Curl_req_done_sending
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sendrecv_ul(struct Curl_easy *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:396,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/PROJ/curl/lib/transfer.c:397,1
    - Dst: sendrecv_dl
      Src: /src/PROJ/curl/lib/transfer.c:405,1
    - Dst: Curl_req_want_send
      Src: /src/PROJ/curl/lib/transfer.c:411,1
    - Dst: sendrecv_ul
      Src: /src/PROJ/curl/lib/transfer.c:412,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/transfer.c:417,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/transfer.c:420,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/transfer.c:425,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:427,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/transfer.c:430,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:434,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/transfer.c:436,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:450,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/transfer.c:455,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:467,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:467,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 2
    argNames:
    - data
    - nowp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 469
    functionName: Curl_sendrecv
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - sendrecv_ul
    - failf
    - Curl_pgrsUpdate
    - Curl_req_want_send
    - Curl_timeleft
    - curlx_timediff
    - sendrecv_dl
    - Curl_speedcheck
    - DEBUGASSERT
    - Curl_xfer_is_blocked
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sendrecv(struct Curl_easy *data, struct curltime *nowp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: Curl_init_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_init_CONNECT(struct Curl_easy *data)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:499,1
    - Dst: free
      Src: /src/PROJ/curl/lib/transfer.c:507,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/transfer.c:508,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:511,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/transfer.c:518,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:526,1
    - Dst: Curl_http_neg_init
      Src: /src/PROJ/curl/lib/transfer.c:541,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/transfer.c:546,1
    - Dst: Curl_data_priority_clear_state
      Src: /src/PROJ/curl/lib/transfer.c:547,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/transfer.c:555,1
    - Dst: Curl_cookie_loadfiles
      Src: /src/PROJ/curl/lib/transfer.c:561,1
    - Dst: Curl_loadhostpairs
      Src: /src/PROJ/curl/lib/transfer.c:565,1
    - Dst: Curl_hsts_loadfiles
      Src: /src/PROJ/curl/lib/transfer.c:568,1
    - Dst: signal
      Src: /src/PROJ/curl/lib/transfer.c:581,1
    - Dst: Curl_initinfo
      Src: /src/PROJ/curl/lib/transfer.c:584,1
    - Dst: Curl_pgrsResetTransferSizes
      Src: /src/PROJ/curl/lib/transfer.c:585,1
    - Dst: Curl_pgrsStartNow
      Src: /src/PROJ/curl/lib/transfer.c:586,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/transfer.c:599,1
    - Dst: struct WildcardData*::dtor
      Src: /src/PROJ/curl/lib/transfer.c:606,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/transfer.c:607,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/transfer.c:608,1
    - Dst: Curl_wildcard_init
      Src: /src/PROJ/curl/lib/transfer.c:609,1
    - Dst: Curl_hsts_loadcb
      Src: /src/PROJ/curl/lib/transfer.c:615,1
    - Dst: free
      Src: /src/PROJ/curl/lib/transfer.c:624,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/transfer.c:626,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/transfer.c:635,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/transfer.c:638,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/transfer.c:642,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/transfer.c:645,1
    - Dst: Curl_headers_cleanup
      Src: /src/PROJ/curl/lib/transfer.c:650,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 652
    functionName: Curl_pretransfer
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pgrsStartNow
    - Curl_data_priority_clear_state
    - strlen
    - Curl_headers_cleanup
    - Curl_initinfo
    - struct WildcardData*::dtor
    - Curl_http_neg_init
    - calloc
    - Curl_wildcard_init
    - Curl_hsts_loadcb
    - Curl_cookie_loadfiles
    - Curl_pgrsResetTransferSizes
    - Curl_hsts_loadfiles
    - signal
    - free
    - Curl_loadhostpairs
    - Curl_setstropt
    - curl_maprintf
    - Curl_safefree
    - curl_url_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_pretransfer(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:693,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/transfer.c:700,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:705,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/transfer.c:707,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/transfer.c:711,1
    - Dst: Curl_creader_set_rewind
      Src: /src/PROJ/curl/lib/transfer.c:717,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - data
    - url
    argTypes:
    - struct Curl_easy*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 720
    functionName: Curl_retry_request
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_creader_set_rewind
    - failf
    - connclose
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_retry_request(struct Curl_easy *data, char **url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:732,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:734,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:735,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:737,1
    - Dst: Curl_req_want_send
      Src: /src/PROJ/curl/lib/transfer.c:737,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:743,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/transfer.c:754,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/transfer.c:766,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - data
    - send_idx
    - recv_idx
    - recv_size
    argTypes:
    - struct Curl_easy*
    - int
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 768
    functionName: xfer_setup
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_req_want_send
    - CURL_TRC_M
    - DEBUGASSERT
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: void
    signature: "void xfer_setup(\n  struct Curl_easy *data,   /* transfer */\n  int
      send_idx,             /* sockindex to send on or -1 */\n  int recv_idx,             /*
      sockindex to receive on or -1 */\n  curl_off_t recv_size      /* how much to
      receive, -1 if unknown */\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/PROJ/curl/lib/transfer.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: Curl_xfer_setup_nop
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: void Curl_xfer_setup_nop(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/PROJ/curl/lib/transfer.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - sockindex
    - recv_size
    argTypes:
    - struct Curl_easy*
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: Curl_xfer_setup_sendrecv
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_setup_sendrecv(struct Curl_easy *data,\n                              int
      sockindex,\n                              curl_off_t recv_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/PROJ/curl/lib/transfer.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: Curl_xfer_setup_send
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_setup_send(struct Curl_easy *data,\n                          int
      sockindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/PROJ/curl/lib/transfer.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - sockindex
    - recv_size
    argTypes:
    - struct Curl_easy*
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: Curl_xfer_setup_recv
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_setup_recv(struct Curl_easy *data,\n                          int
      sockindex,\n                          curl_off_t recv_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - data
    - shutdown
    - ignore_errors
    argTypes:
    - struct Curl_easy*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: Curl_xfer_set_shutdown
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_set_shutdown(struct Curl_easy *data,\n                            bool
      shutdown,\n                            bool ignore_errors)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_easy*::conn::handler::write_resp
      Src: /src/PROJ/curl/lib/transfer.c:815,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/transfer.c:824,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/transfer.c:833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 836
    functionName: Curl_xfer_write_resp
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_WRITE
    - Curl_client_write
    - struct Curl_easy*::conn::handler::write_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_write_resp(struct Curl_easy *data,\n                              const
      char *buf, size_t blen,\n                              bool is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: Curl_xfer_write_is_paused
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_write_is_paused(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_easy*::conn::handler::write_resp_hd
      Src: /src/PROJ/curl/lib/transfer.c:849,1
    - Dst: Curl_xfer_write_resp
      Src: /src/PROJ/curl/lib/transfer.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - hd0
    - hdlen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 853
    functionName: Curl_xfer_write_resp_hd
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::conn::handler::write_resp_hd
    - Curl_xfer_write_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_write_resp_hd(struct Curl_easy *data,\n                                 const
      char *hd0, size_t hdlen, bool is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cw_out_done
      Src: /src/PROJ/curl/lib/transfer.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - premature
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 7
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: Curl_xfer_write_done
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_cw_out_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_write_done(struct Curl_easy *data, bool premature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_needs_flush
      Src: /src/PROJ/curl/lib/transfer.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: Curl_xfer_needs_flush
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_needs_flush
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_needs_flush(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_flush
      Src: /src/PROJ/curl/lib/transfer.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: Curl_xfer_flush
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_flush
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_flush(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:877,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:878,1
    - Dst: Curl_conn_send
      Src: /src/PROJ/curl/lib/transfer.c:880,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/transfer.c:889,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/transfer.c:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 892
    functionName: Curl_xfer_send
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_send
    - infof
    - DEBUGF
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_send(struct Curl_easy *data,\n                        const
      void *buf, size_t blen, bool eos,\n                        size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:898,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:899,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/transfer.c:900,1
    - Dst: Curl_conn_recv
      Src: /src/PROJ/curl/lib/transfer.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - pnrcvd
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 905
    functionName: Curl_xfer_recv
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - Curl_conn_recv
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_recv(struct Curl_easy *data,\n                        char
      *buf, size_t blen,\n                        size_t *pnrcvd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_ev_data_done_send
      Src: /src/PROJ/curl/lib/transfer.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: Curl_xfer_send_close
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_ev_data_done_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_send_close(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:918,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:920,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:922,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 923
    functionName: Curl_xfer_is_blocked
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 2
    functionsReached:
    - Curl_xfer_recv_is_paused
    - Curl_xfer_send_is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_is_blocked(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: Curl_xfer_send_is_paused
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_send_is_paused(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: Curl_xfer_recv_is_paused
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_recv_is_paused(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:943,1
    - Dst: Curl_creader_unpause
      Src: /src/PROJ/curl/lib/transfer.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - enable
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 947
    functionName: Curl_xfer_pause_send
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_creader_unpause
    - Curl_creader_is_paused
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_pause_send(struct Curl_easy *data, bool enable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/transfer.c:957,1
    - Dst: Curl_cwriter_unpause
      Src: /src/PROJ/curl/lib/transfer.c:958,1
    - Dst: Curl_conn_ev_data_pause
      Src: /src/PROJ/curl/lib/transfer.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - enable
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 962
    functionName: Curl_xfer_pause_recv
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - Curl_cwriter_is_paused
    - Curl_conn_ev_data_pause
    - Curl_cwriter_unpause
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_pause_recv(struct Curl_easy *data, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/transfer.c:966,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/transfer.c:968,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/transfer.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 974
    functionName: Curl_xfer_is_too_fast
    functionSourceFile: /src/PROJ/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_node_next
    - Curl_node_elem
    - Curl_llist_head
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_is_too_fast(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:46,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:47,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/dynhds.c:48,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/dynhds.c:52,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/dynhds.c:55,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/dynhds.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - name
    - namelen
    - value
    - valuelen
    - opts
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: entry_new
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - Curl_strntolower
    - calloc
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: struct dynhds_entry
    signature: "struct dynhds_entry *\nentry_new(const char *name, size_t namelen,\n
      \         const char *value, size_t valuelen, int opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:70,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/dynhds.c:71,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/dynhds.c:75,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/dynhds.c:78,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/dynhds.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - e
    - value
    - valuelen
    argTypes:
    - struct dynhds_entry*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: entry_append
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - calloc
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: struct dynhds_entry
    signature: "struct dynhds_entry *\nentry_append(struct dynhds_entry *e,\n             const
      char *value, size_t valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/dynhds.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dynhds_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: entry_free
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void entry_free(struct dynhds_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:94,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dynhds
    - max_entries
    - max_strs_size
    argTypes:
    - struct dynhds*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: Curl_dynhds_init
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_dynhds_init(struct dynhds *dynhds, size_t max_entries,\n
      \                     size_t max_strs_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:105,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:108,1
    - Dst: entry_free
      Src: /src/PROJ/curl/lib/dynhds.c:110,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/dynhds.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dynhds
    argTypes:
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: Curl_dynhds_free
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 3
    functionsReached:
    - entry_free
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_dynhds_free(struct dynhds *dynhds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:119,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:122,1
    - Dst: entry_free
      Src: /src/PROJ/curl/lib/dynhds.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dynhds
    argTypes:
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: Curl_dynhds_reset
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - entry_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_dynhds_reset(struct dynhds *dynhds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dynhds
    argTypes:
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: Curl_dynhds_count
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_dynhds_count(struct dynhds *dynhds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - opts
    argTypes:
    - struct dynhds*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: Curl_dynhds_set_opts
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_dynhds_set_opts(struct dynhds *dynhds, int opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dynhds
    - n
    argTypes:
    - struct dynhds*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: Curl_dynhds_getn
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct dynhds_entry
    signature: struct dynhds_entry *Curl_dynhds_getn(struct dynhds *dynhds, size_t
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dynhds.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: Curl_dynhds_get
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: struct dynhds_entry
    signature: "struct dynhds_entry *Curl_dynhds_get(struct dynhds *dynhds, const
      char *name,\n                                     size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_get
      Src: /src/PROJ/curl/lib/dynhds.c:162,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: Curl_dynhds_cget
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_get
    linkageType: ''
    returnType: struct dynhds_entry
    signature: struct dynhds_entry *Curl_dynhds_cget(struct dynhds *dynhds, const
      char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:172,1
    - Dst: entry_new
      Src: /src/PROJ/curl/lib/dynhds.c:178,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/dynhds.c:189,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/dynhds.c:193,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/dynhds.c:195,1
    - Dst: entry_free
      Src: /src/PROJ/curl/lib/dynhds.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - dynhds
    - name
    - namelen
    - value
    - valuelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 209
    functionName: Curl_dynhds_add
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - entry_free
    - memcpy
    - entry_new
    - calloc
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_add(struct dynhds *dynhds,\n                         const
      char *name, size_t namelen,\n                         const char *value, size_t
      valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/dynhds.c:214,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:214,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dynhds
    - name
    - value
    argTypes:
    - struct dynhds*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Curl_dynhds_cadd
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_cadd(struct dynhds *dynhds,\n                          const
      char *name, const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/dynhds.c:235,1
    - Dst: entry_append
      Src: /src/PROJ/curl/lib/dynhds.c:242,1
    - Dst: entry_free
      Src: /src/PROJ/curl/lib/dynhds.c:246,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/dynhds.c:250,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/dynhds.c:257,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/dynhds.c:263,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/dynhds.c:265,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/dynhds.c:269,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - dynhds
    - line
    - line_len
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 271
    functionName: Curl_dynhds_h1_add_line
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - entry_free
    - ISBLANK
    - entry_append
    - memchr
    - Curl_dynhds_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_h1_add_line(struct dynhds *dynhds,\n                                 const
      char *line, size_t line_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_h1_add_line
      Src: /src/PROJ/curl/lib/dynhds.c:275,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - line
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: Curl_dynhds_h1_cadd_line
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_h1_add_line
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_dynhds_h1_cadd_line(struct dynhds *dynhds, const char
      *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_get
      Src: /src/PROJ/curl/lib/dynhds.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: Curl_dynhds_contains
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_get
    linkageType: ''
    returnType: bool
    signature: "bool Curl_dynhds_contains(struct dynhds *dynhds,\n                          const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_contains
      Src: /src/PROJ/curl/lib/dynhds.c:289,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Curl_dynhds_ccontains
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_contains
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool Curl_dynhds_ccontains(struct dynhds *dynhds, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dynhds.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: Curl_dynhds_count_name
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_dynhds_count_name(struct dynhds *dynhds,\n                              const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_count_name
      Src: /src/PROJ/curl/lib/dynhds.c:309,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: Curl_dynhds_ccount_name
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_count_name
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_dynhds_ccount_name(struct dynhds *dynhds, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_remove
      Src: /src/PROJ/curl/lib/dynhds.c:316,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/dynhds.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dynhds
    - name
    - namelen
    - value
    - valuelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: Curl_dynhds_set
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_remove
    - Curl_dynhds_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_set(struct dynhds *dynhds,\n                         const
      char *name, size_t namelen,\n                         const char *value, size_t
      valuelen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dynhds.c:328,1
    - Dst: entry_free
      Src: /src/PROJ/curl/lib/dynhds.c:333,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/dynhds.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: Curl_dynhds_remove
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - curl_strnequal
    - memmove
    - entry_free
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_dynhds_remove(struct dynhds *dynhds,\n                          const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_remove
      Src: /src/PROJ/curl/lib/dynhds.c:348,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dynhds.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: Curl_dynhds_cremove
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_remove
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_dynhds_cremove(struct dynhds *dynhds, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/dynhds.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - dynhds
    - dbuf
    argTypes:
    - struct dynhds*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 371
    functionName: Curl_dynhds_h1_dprint
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_dynhds_h1_dprint(struct dynhds *dynhds, struct dynbuf
      *dbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/dynhds.c:377,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/dynhds.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dynhds
    - pcount
    argTypes:
    - struct dynhds*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: Curl_dynhds_to_nva
    functionSourceFile: /src/PROJ/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: nghttp2_nv
    signature: nghttp2_nv *Curl_dynhds_to_nva(struct dynhds *dynhds, size_t *pcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: OUTCHAR
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUTCHAR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/mprintf.c:171,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/mprintf.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: dollarstring
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - curlx_str_number
    linkageType: ''
    returnType: int
    signature: int dollarstring(const char *p, const char **end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: is_arg_used
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_arg_used(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: mark_arg_used
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mark_arg_used(x,y)
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/mprintf.c:220,1
    - Dst: dollarstring
      Src: /src/PROJ/curl/lib/mprintf.c:251,1
    - Dst: dollarstring
      Src: /src/PROJ/curl/lib/mprintf.c:288,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/mprintf.c:304,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mprintf.c:370,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/mprintf.c:376,1
    - Dst: dollarstring
      Src: /src/PROJ/curl/lib/mprintf.c:384,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mprintf.c:403,1
    - Dst: is_arg_used
      Src: /src/PROJ/curl/lib/mprintf.c:491,1
    - Dst: mark_arg_used
      Src: /src/PROJ/curl/lib/mprintf.c:501,1
    - Dst: is_arg_used
      Src: /src/PROJ/curl/lib/mprintf.c:509,1
    - Dst: mark_arg_used
      Src: /src/PROJ/curl/lib/mprintf.c:518,1
    - Dst: mark_arg_used
      Src: /src/PROJ/curl/lib/mprintf.c:533,1
    - Dst: is_arg_used
      Src: /src/PROJ/curl/lib/mprintf.c:566,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:573,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:578,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:582,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:586,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:590,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:594,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:598,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:604,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/mprintf.c:608,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mprintf.c:612,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 319
    argCount: 6
    argNames:
    - format
    - out
    - in
    - opieces
    - ipieces
    - arglist
    argTypes:
    - char*
    - struct outsegment*
    - struct va_input*
    - int*
    - int*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 620
    functionName: parsefmt
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - dollarstring
    - FALLTHROUGH
    - mark_arg_used
    - is_arg_used
    - curlx_str_number
    - memset
    - va_arg
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int parsefmt(const char *format,\n                    struct outsegment
      *out,\n                    struct va_input *in,\n                    int *opieces,\n
      \                   int *ipieces, va_list arglist)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mprintf.c:636,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/mprintf.c:657,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/mprintf.c:681,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mprintf.c:717,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mprintf.c:717,1
    - Dst: stream
      Src: /src/PROJ/curl/lib/mprintf.c:719,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - userp
    - p
    - dnum
    - work
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - double
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 724
    functionName: out_double
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - DEBUGASSERT
    - strlen
    - stream
    linkageType: ''
    returnType: bool
    signature: "bool out_double(void *userp,\n                       int (*stream)(unsigned
      char, void *),\n                       struct mproperty *p,\n                       double
      dnum,\n                       char *work, int *donep)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:751,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:752,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:755,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mprintf.c:790,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:827,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:830,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:832,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:834,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:837,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:839,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:841,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:846,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:850,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:855,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 6
    argNames:
    - userp
    - p
    - num
    - nums
    - work
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - mp_uintmax_t
    - mp_intmax_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 858
    functionName: out_number
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - OUTCHAR
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool out_number(void *userp,\n                       int (*stream)(unsigned
      char, void *),\n                       struct mproperty *p,\n                       mp_uintmax_t
      num,\n                       mp_intmax_t nums,\n                       char
      *work, int *donep)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mprintf.c:891,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:896,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:900,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:903,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:906,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - userp
    - p
    - str
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 912
    functionName: out_string
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - OUTCHAR
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool out_string(void *userp,\n                       int (*stream)(unsigned
      char, void *),\n                       struct mproperty *p,\n                       const
      char *str,\n                       int *donep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: out_number
      Src: /src/PROJ/curl/lib/mprintf.c:927,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:939,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:941,1
    - Dst: OUTCHAR
      Src: /src/PROJ/curl/lib/mprintf.c:944,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - userp
    - p
    - ptr
    - work
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 947
    functionName: out_pointer
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - OUTCHAR
    - out_number
    linkageType: ''
    returnType: bool
    signature: "bool out_pointer(void *userp,\n                        int (*stream)(unsigned
      char, void *),\n                        struct mproperty *p,\n                        const
      char *ptr,\n                        char *work,\n                        int
      *donep)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: parsefmt
      Src: /src/PROJ/curl/lib/mprintf.c:983,1
    - Dst: stream
      Src: /src/PROJ/curl/lib/mprintf.c:995,1
    - Dst: out_number
      Src: /src/PROJ/curl/lib/mprintf.c:1041,1
    - Dst: out_number
      Src: /src/PROJ/curl/lib/mprintf.c:1048,1
    - Dst: out_string
      Src: /src/PROJ/curl/lib/mprintf.c:1054,1
    - Dst: out_pointer
      Src: /src/PROJ/curl/lib/mprintf.c:1059,1
    - Dst: out_double
      Src: /src/PROJ/curl/lib/mprintf.c:1064,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 3
    argNames:
    - userp
    - format
    - ap_save
    argTypes:
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 1088
    functionName: formatf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - out_pointer
    - out_string
    - out_number
    - out_double
    - parsefmt
    - stream
    linkageType: ''
    returnType: int
    signature: "int formatf(\n  void *userp, /* untouched by format(), just sent to
      the stream() function in\n                  the second argument */\n  /* function
      pointer called for each output character */\n  int (*stream)(unsigned char,
      void *),\n  const char *format,    /* %-formatted string */\n  va_list ap_save)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1101
    functionName: addbyter
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int addbyter(unsigned char outc, void *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1113,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mprintf.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - maxlength
    - format
    - ap_save
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1103
    functionDepth: 4
    functionLinenumber: 1103
    functionLinenumberEnd: 1126
    functionName: curl_mvsnprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - formatf
    linkageType: ''
    returnType: int
    signature: "int curl_mvsnprintf(char *buffer, size_t maxlength, const char *format,\n
      \                   va_list ap_save)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/mprintf.c:1132,1
    - Dst: curl_mvsnprintf
      Src: /src/PROJ/curl/lib/mprintf.c:1133,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/mprintf.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - maxlength
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1128
    functionDepth: 5
    functionLinenumber: 1128
    functionLinenumberEnd: 1136
    functionName: curl_msnprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 74
    functionsReached:
    - va_end
    - va_start
    - curl_mvsnprintf
    linkageType: ''
    returnType: int
    signature: int curl_msnprintf(char *buffer, size_t maxlength, const char *format,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/mprintf.c:1142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1148
    functionName: alloc_addbyter
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: int
    signature: int alloc_addbyter(unsigned char outc, void *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1157,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/mprintf.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dyn
    - format
    - ap_save
    argTypes:
    - struct dynbuf*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1151
    functionDepth: 4
    functionLinenumber: 1151
    functionLinenumberEnd: 1163
    functionName: curlx_dyn_vprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - formatf
    linkageType: ''
    returnType: int
    signature: int curlx_dyn_vprintf(struct dynbuf *dyn, const char *format, va_list
      ap_save)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/mprintf.c:1170,1
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1173,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/mprintf.c:1175,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mprintf.c:1178,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/mprintf.c:1179,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mprintf.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - format
    - ap_save
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1165
    functionDepth: 4
    functionLinenumber: 1165
    functionLinenumberEnd: 1181
    functionName: curl_mvaprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_len
    - formatf
    - strdup
    linkageType: ''
    returnType: char
    signature: char *curl_mvaprintf(const char *format, va_list ap_save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/mprintf.c:1187,1
    - Dst: curl_mvaprintf
      Src: /src/PROJ/curl/lib/mprintf.c:1188,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/mprintf.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1183
    functionDepth: 5
    functionLinenumber: 1183
    functionLinenumberEnd: 1191
    functionName: curl_maprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 21
    functionsReached:
    - va_end
    - curl_mvaprintf
    - va_start
    linkageType: ''
    returnType: char
    signature: char *curl_maprintf(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1199
    functionName: storebuffer
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int storebuffer(unsigned char outc, void *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/mprintf.c:1205,1
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1206,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/mprintf.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - format
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1210
    functionName: curl_msprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 10
    functionsReached:
    - va_end
    - va_start
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_msprintf(char *buffer, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/PROJ/curl/lib/mprintf.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1218
    functionName: fputc_wrapper
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: int
    signature: int fputc_wrapper(unsigned char outc, void *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/mprintf.c:1224,1
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1225,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/mprintf.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1220
    functionDepth: 4
    functionLinenumber: 1220
    functionLinenumberEnd: 1228
    functionName: curl_mprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 124
    functionsReached:
    - va_end
    - va_start
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mprintf(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/mprintf.c:1234,1
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1235,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/mprintf.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - whereto
    - format
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 4
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    functionName: curl_mfprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 343
    functionsReached:
    - va_end
    - va_start
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mfprintf(FILE *whereto, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - format
    - ap_save
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1240
    functionDepth: 4
    functionLinenumber: 1240
    functionLinenumberEnd: 1245
    functionName: curl_mvsprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mvsprintf(char *buffer, const char *format, va_list ap_save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - ap_save
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1250
    functionName: curl_mvprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mvprintf(const char *format, va_list ap_save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/PROJ/curl/lib/mprintf.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - whereto
    - format
    - ap_save
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 4
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: curl_mvfprintf
    functionSourceFile: /src/PROJ/curl/lib/mprintf.c
    functionUses: 1
    functionsReached:
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mvfprintf(FILE *whereto, const char *format, va_list ap_save)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptimeout_ms
    - secs
    argTypes:
    - timediff_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: setopt_set_timeout_sec
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_set_timeout_sec(timediff_t *ptimeout_ms, long secs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptimeout_ms
    - ms
    argTypes:
    - timediff_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: setopt_set_timeout_ms
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_set_timeout_ms(timediff_t *ptimeout_ms, long ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:95,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/setopt.c:98,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/setopt.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - charp
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: Curl_setstropt
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 1
    functionsReached:
    - strlen
    - strdup
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_setstropt(char **charp, const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:115,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/setopt.c:122,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/setopt.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - blobp
    - blob
    argTypes:
    - struct curl_blob**
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: Curl_setblobopt
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_setblobopt(struct curl_blob **blobp,\n                         const
      struct curl_blob *blob)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/setopt.c:145,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/setopt.c:146,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/setopt.c:151,1
    - Dst: Curl_parse_login_details
      Src: /src/PROJ/curl/lib/setopt.c:156,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:161,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - option
    - userp
    - passwdp
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 168
    functionName: setstropt_userpwd
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_parse_login_details
    - free
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setstropt_userpwd(char *option, char **userp, char **passwdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/setopt.c:178,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/setopt.c:179,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/setopt.c:180,1
    - Dst: Curl_parse_interface
      Src: /src/PROJ/curl/lib/setopt.c:184,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:188,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:191,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - option
    - devp
    - ifacep
    - hostp
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: setstropt_interface
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_parse_interface
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setstropt_interface(char *option, char **devp,\n                                    char
      **ifacep, char **hostp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: C_SSLVERSION_VALUE
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_SSLVERSION_VALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: C_SSLVERSION_MAX_VALUE
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_SSLVERSION_MAX_VALUE(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:214,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/setopt.c:223,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/setopt.c:224,1
    - Dst: Curl_getn_scheme_handler
      Src: /src/PROJ/curl/lib/setopt.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - curl_prot_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 239
    functionName: protocol2num
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - strchr
    - curl_strequal
    - strlen
    - Curl_getn_scheme_handler
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode protocol2num(const char *str, curl_prot_t *val)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - data
    - proxy
    - auth
    argTypes:
    - struct Curl_easy*
    - bool
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 285
    functionName: httpauth
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpauth(struct Curl_easy *data, bool proxy,\n                         unsigned
      long auth)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - data
    - arg
    argTypes:
    - struct Curl_easy*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 324
    functionName: setopt_HTTP_VERSION
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_HTTP_VERSION(struct Curl_easy *data, long arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: C_SSLVERSION_VALUE
      Src: /src/PROJ/curl/lib/setopt.c:344,1
    - Dst: C_SSLVERSION_MAX_VALUE
      Src: /src/PROJ/curl/lib/setopt.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - data
    - option
    - arg
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 361
    functionName: Curl_setopt_SSLVERSION
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - C_SSLVERSION_VALUE
    - C_SSLVERSION_MAX_VALUE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_setopt_SSLVERSION(struct Curl_easy *data, CURLoption
      option,\n                                long arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - data
    - arg
    argTypes:
    - struct Curl_easy*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 422
    functionName: setopt_RTSP_REQUEST
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_RTSP_REQUEST(struct Curl_easy *data, long arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - config
    - arg
    argTypes:
    - struct ssl_config_data*
    - struct ssl_primary_config*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: set_ssl_options
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_ssl_options(struct ssl_config_data *ssl,\n                            struct
      ssl_primary_config *config,\n                            long arg)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_conn_config_update
      Src: /src/PROJ/curl/lib/setopt.c:615,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/PROJ/curl/lib/setopt.c:624,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/PROJ/curl/lib/setopt.c:712,1
    - Dst: Curl_ssl_cert_status_request
      Src: /src/PROJ/curl/lib/setopt.c:732,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/PROJ/curl/lib/setopt.c:751,1
    - Dst: Curl_ssl_cert_status_request
      Src: /src/PROJ/curl/lib/setopt.c:757,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/PROJ/curl/lib/setopt.c:763,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:767,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/setopt.c:852,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 216
    argCount: 4
    argNames:
    - data
    - option
    - arg
    - set
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - long
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 857
    functionName: setopt_bool
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_ssl_conn_config_update
    - Curl_ssl_cert_status_request
    - Curl_ssl_supports
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_bool(struct Curl_easy *data, CURLoption option,\n
      \                           long arg, bool *set)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - value
    - below_error
    - min
    - max
    argTypes:
    - long*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 868
    functionName: value_range
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode value_range(long *value, long below_error, long min, long
      max)
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: setopt_bool
      Src: /src/PROJ/curl/lib/setopt.c:880,1
    - Dst: setopt_set_timeout_sec
      Src: /src/PROJ/curl/lib/setopt.c:888,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:893,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:894,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:904,1
    - Dst: setopt_set_timeout_sec
      Src: /src/PROJ/curl/lib/setopt.c:910,1
    - Dst: setopt_set_timeout_ms
      Src: /src/PROJ/curl/lib/setopt.c:913,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:917,1
    - Dst: Curl_setopt_SSLVERSION
      Src: /src/PROJ/curl/lib/setopt.c:942,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:951,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:965,1
    - Dst: httpauth
      Src: /src/PROJ/curl/lib/setopt.c:983,1
    - Dst: setopt_HTTP_VERSION
      Src: /src/PROJ/curl/lib/setopt.c:986,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:989,1
    - Dst: httpauth
      Src: /src/PROJ/curl/lib/setopt.c:1010,1
    - Dst: setopt_set_timeout_ms
      Src: /src/PROJ/curl/lib/setopt.c:1043,1
    - Dst: setopt_set_timeout_sec
      Src: /src/PROJ/curl/lib/setopt.c:1073,1
    - Dst: setopt_set_timeout_ms
      Src: /src/PROJ/curl/lib/setopt.c:1076,1
    - Dst: setopt_set_timeout_sec
      Src: /src/PROJ/curl/lib/setopt.c:1079,1
    - Dst: setopt_set_timeout_ms
      Src: /src/PROJ/curl/lib/setopt.c:1082,1
    - Dst: curlx_sltous
      Src: /src/PROJ/curl/lib/setopt.c:1094,1
    - Dst: curlx_sltous
      Src: /src/PROJ/curl/lib/setopt.c:1099,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:1113,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:1120,1
    - Dst: set_ssl_options
      Src: /src/PROJ/curl/lib/setopt.c:1139,1
    - Dst: set_ssl_options
      Src: /src/PROJ/curl/lib/setopt.c:1144,1
    - Dst: setopt_RTSP_REQUEST
      Src: /src/PROJ/curl/lib/setopt.c:1202,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:1214,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:1220,1
    - Dst: value_range
      Src: /src/PROJ/curl/lib/setopt.c:1226,1
    - Dst: setopt_set_timeout_ms
      Src: /src/PROJ/curl/lib/setopt.c:1242,1
    - Dst: setopt_set_timeout_sec
      Src: /src/PROJ/curl/lib/setopt.c:1250,1
    - Dst: setopt_set_timeout_sec
      Src: /src/PROJ/curl/lib/setopt.c:1253,1
    - Dst: Curl_hsts_init
      Src: /src/PROJ/curl/lib/setopt.c:1259,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/setopt.c:1265,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/setopt.c:1271,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/setopt.c:1271,1
    - Dst: Curl_altsvc_init
      Src: /src/PROJ/curl/lib/setopt.c:1275,1
    - Dst: Curl_altsvc_ctrl
      Src: /src/PROJ/curl/lib/setopt.c:1279,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:1291,1
    - Dst: Curl_ssl_set_engine_default
      Src: /src/PROJ/curl/lib/setopt.c:1292,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 322
    argCount: 3
    argNames:
    - data
    - option
    - arg
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 1300
    functionName: setopt_long
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 11
    functionsReached:
    - Curl_hsts_cleanup
    - setopt_bool
    - setopt_HTTP_VERSION
    - Curl_hsts_init
    - Curl_altsvc_ctrl
    - Curl_ssl_set_engine_default
    - curlx_sltous
    - infof
    - DEBUGF
    - Curl_setopt_SSLVERSION
    - set_ssl_options
    - value_range
    - setopt_set_timeout_ms
    - httpauth
    - Curl_ssl_supports
    - setopt_set_timeout_sec
    - setopt_RTSP_REQUEST
    - Curl_altsvc_init
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_long(struct Curl_easy *data, CURLoption option,\n
      \                           long arg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - data
    - option
    - slist
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1397
    functionName: setopt_slist
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_slist(struct Curl_easy *data, CURLoption option,\n
      \                            struct curl_slist *slist)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:1412,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/setopt.c:1415,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:1416,1
    - Dst: Curl_mime_set_subparts
      Src: /src/PROJ/curl/lib/setopt.c:1428,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:1429,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/setopt.c:1435,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:1436,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:1448,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:1454,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/setopt.c:1458,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/setopt.c:1474,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/setopt.c:1475,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/setopt.c:1480,1
    - Dst: GOOD_SHARE_HANDLE
      Src: /src/PROJ/curl/lib/setopt.c:1484,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/setopt.c:1489,1
    - Dst: Curl_cookie_cleanup
      Src: /src/PROJ/curl/lib/setopt.c:1496,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/setopt.c:1504,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/setopt.c:1513,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:1523,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/setopt.c:1524,1
    - Dst: Curl_data_priority_add_child
      Src: /src/PROJ/curl/lib/setopt.c:1525,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - data
    - option
    - param
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1400
    functionDepth: 3
    functionLinenumber: 1400
    functionLinenumberEnd: 1535
    functionName: setopt_pointers
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_hsts_cleanup
    - Curl_mime_cleanpart
    - GOOD_SHARE_HANDLE
    - GOOD_EASY_HANDLE
    - Curl_share_unlock
    - Curl_share_lock
    - Curl_data_priority_add_child
    - va_arg
    - Curl_mime_set_subparts
    - Curl_safefree
    - Curl_cookie_cleanup
    - Curl_resolv_unlink
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_pointers(struct Curl_easy *data, CURLoption option,\n
      \                               va_list param)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:1544,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/setopt.c:1546,1
    - Dst: Curl_cookie_clearall
      Src: /src/PROJ/curl/lib/setopt.c:1547,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/setopt.c:1548,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:1550,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/setopt.c:1552,1
    - Dst: Curl_cookie_clearsess
      Src: /src/PROJ/curl/lib/setopt.c:1553,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/setopt.c:1554,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:1556,1
    - Dst: Curl_flush_cookies
      Src: /src/PROJ/curl/lib/setopt.c:1558,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:1560,1
    - Dst: Curl_cookie_loadfiles
      Src: /src/PROJ/curl/lib/setopt.c:1562,1
    - Dst: Curl_cookie_init
      Src: /src/PROJ/curl/lib/setopt.c:1567,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/setopt.c:1573,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/setopt.c:1576,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/setopt.c:1577,1
    - Dst: Curl_cookie_add
      Src: /src/PROJ/curl/lib/setopt.c:1579,1
    - Dst: Curl_cookie_add
      Src: /src/PROJ/curl/lib/setopt.c:1583,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/setopt.c:1585,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1588
    functionName: cookielist
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_cookie_clearsess
    - Curl_cookie_init
    - Curl_share_unlock
    - Curl_share_lock
    - Curl_cookie_clearall
    - Curl_cookie_add
    - strlen
    - Curl_cookie_loadfiles
    - curl_strequal
    - checkprefix
    - Curl_flush_cookies
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cookielist(struct Curl_easy *data,\n                           const
      char *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/setopt.c:1599,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/setopt.c:1603,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/setopt.c:1605,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/setopt.c:1613,1
    - Dst: Curl_cookie_clearall
      Src: /src/PROJ/curl/lib/setopt.c:1619,1
    - Dst: Curl_cookie_cleanup
      Src: /src/PROJ/curl/lib/setopt.c:1620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1626
    functionName: cookiefile
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    - Curl_cookie_clearall
    - strlen
    - Curl_cookie_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cookiefile(struct Curl_easy *data,\n                           const
      char *ptr)"
  - BBCount: 172
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:1636,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1638,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:1643,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1645,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:1652,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1654,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:1660,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1662,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1672,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1678,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1689,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/setopt.c:1706,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:1710,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:1726,1
    - Dst: Curl_all_content_encodings
      Src: /src/PROJ/curl/lib/setopt.c:1744,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1745,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1747,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1755,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:1768,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1771,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1779,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1786,1
    - Dst: cookiefile
      Src: /src/PROJ/curl/lib/setopt.c:1789,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1795,1
    - Dst: Curl_cookie_init
      Src: /src/PROJ/curl/lib/setopt.c:1802,1
    - Dst: cookielist
      Src: /src/PROJ/curl/lib/setopt.c:1810,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1819,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1838,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1847,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1856,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1862,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:1914,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1967,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1972,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1975,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:1985,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:1988,1
    - Dst: setstropt_userpwd
      Src: /src/PROJ/curl/lib/setopt.c:1996,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2003,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2009,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2015,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2021,1
    - Dst: setstropt_userpwd
      Src: /src/PROJ/curl/lib/setopt.c:2030,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:2034,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/setopt.c:2035,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:2039,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/setopt.c:2040,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:2043,1
    - Dst: free
      Src: /src/PROJ/curl/lib/setopt.c:2044,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2051,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2057,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2063,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2070,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:2077,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:2082,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2089,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2096,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2103,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2110,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2117,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2124,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2131,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2138,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2145,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2152,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2160,1
    - Dst: Curl_ssl_set_engine
      Src: /src/PROJ/curl/lib/setopt.c:2162,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2172,1
    - Dst: setstropt_interface
      Src: /src/PROJ/curl/lib/setopt.c:2183,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2194,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2195,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2206,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2207,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2217,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2226,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2235,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2238,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2249,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2252,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2262,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2270,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2278,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2286,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2302,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2309,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2310,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2319,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2325,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2333,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2339,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2353,1
    - Dst: protocol2num
      Src: /src/PROJ/curl/lib/setopt.c:2366,1
    - Dst: protocol2num
      Src: /src/PROJ/curl/lib/setopt.c:2373,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2380,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2385,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2389,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2393,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2401,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2408,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2414,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2430,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2434,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2438,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2442,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:2445,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/setopt.c:2450,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2457,1
    - Dst: Curl_async_ares_set_dns_servers
      Src: /src/PROJ/curl/lib/setopt.c:2460,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2463,1
    - Dst: Curl_async_ares_set_dns_interface
      Src: /src/PROJ/curl/lib/setopt.c:2466,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2469,1
    - Dst: Curl_async_ares_set_dns_local_ip4
      Src: /src/PROJ/curl/lib/setopt.c:2472,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2475,1
    - Dst: Curl_async_ares_set_dns_local_ip6
      Src: /src/PROJ/curl/lib/setopt.c:2478,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2484,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2488,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2494,1
    - Dst: Curl_hsts_init
      Src: /src/PROJ/curl/lib/setopt.c:2508,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2513,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/setopt.c:2519,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/setopt.c:2521,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/setopt.c:2529,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/setopt.c:2533,1
    - Dst: Curl_altsvc_init
      Src: /src/PROJ/curl/lib/setopt.c:2541,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2545,1
    - Dst: Curl_altsvc_load
      Src: /src/PROJ/curl/lib/setopt.c:2549,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/setopt.c:2560,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/setopt.c:2566,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/setopt.c:2569,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/setopt.c:2572,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/setopt.c:2575,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/setopt.c:2578,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2579,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/setopt.c:2584,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/setopt.c:2585,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 452
    argCount: 3
    argNames:
    - data
    - option
    - ptr
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 1629
    functionDepth: 2
    functionLinenumber: 1629
    functionLinenumberEnd: 2596
    functionName: setopt_cptr
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_hsts_cleanup
    - strncmp
    - Curl_hsts_init
    - setstropt_userpwd
    - Curl_ssl_set_engine
    - Curl_async_ares_set_dns_servers
    - Curl_async_ares_set_dns_interface
    - curl_slist_append
    - strlen
    - cookiefile
    - Curl_cookie_init
    - Curl_async_ares_set_dns_local_ip4
    - curl_slist_free_all
    - Curl_altsvc_load
    - Curl_async_ares_set_dns_local_ip6
    - cookielist
    - Curl_memdup0
    - Curl_urldecode
    - Curl_ssl_supports
    - curl_strequal
    - Curl_setstropt
    - free
    - Curl_all_content_encodings
    - strcmp
    - protocol2num
    - setstropt_interface
    - Curl_altsvc_init
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_cptr(struct Curl_easy *data, CURLoption option,\n
      \                           char *ptr)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2607,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2618,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2629,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2638,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2644,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2660,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2680,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2686,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2693,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2694,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2705,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2713,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2721,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2729,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2736,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2743,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2751,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2756,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2759,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2762,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2767,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2772,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2775,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2779,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 3
    argNames:
    - data
    - option
    - param
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2785
    functionName: setopt_func
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - va_arg
    - Curl_ssl_supports
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_func(struct Curl_easy *data, CURLoption option,\n
      \                           va_list param)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/setopt.c:2812,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - data
    - option
    - offt
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2787
    functionDepth: 1
    functionLinenumber: 2787
    functionLinenumberEnd: 2865
    functionName: setopt_offt
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_offt(struct Curl_easy *data, CURLoption option,\n
      \                           curl_off_t offt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2876,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2882,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2887,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2894,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2895,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2902,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2909,1
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/setopt.c:2916,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2918,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/setopt.c:2926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - data
    - option
    - blob
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2867
    functionDepth: 2
    functionLinenumber: 2867
    functionLinenumberEnd: 2932
    functionName: setopt_blob
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_setblobopt
    - Curl_ssl_supports
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_blob(struct Curl_easy *data, CURLoption option,\n
      \                           struct curl_blob *blob)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: setopt_long
      Src: /src/PROJ/curl/lib/setopt.c:2941,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2941,1
    - Dst: setopt_slist
      Src: /src/PROJ/curl/lib/setopt.c:2956,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2956,1
    - Dst: setopt_pointers
      Src: /src/PROJ/curl/lib/setopt.c:2963,1
    - Dst: setopt_cptr
      Src: /src/PROJ/curl/lib/setopt.c:2968,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2968,1
    - Dst: setopt_func
      Src: /src/PROJ/curl/lib/setopt.c:2971,1
    - Dst: setopt_offt
      Src: /src/PROJ/curl/lib/setopt.c:2973,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2973,1
    - Dst: setopt_blob
      Src: /src/PROJ/curl/lib/setopt.c:2974,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/setopt.c:2974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - data
    - option
    - param
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2938
    functionDepth: 4
    functionLinenumber: 2938
    functionLinenumberEnd: 2975
    functionName: Curl_vsetopt
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 1
    functionsReached:
    - setopt_cptr
    - setopt_slist
    - setopt_func
    - setopt_blob
    - va_arg
    - setopt_long
    - setopt_pointers
    - setopt_offt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list
      param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/setopt.c:2995,1
    - Dst: Curl_vsetopt
      Src: /src/PROJ/curl/lib/setopt.c:2997,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/setopt.c:2999,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/setopt.c:3001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - d
    - tag
    argTypes:
    - CURL*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2986
    functionDepth: 5
    functionLinenumber: 2986
    functionLinenumberEnd: 3003
    functionName: curl_easy_setopt
    functionSourceFile: /src/PROJ/curl/lib/setopt.c
    functionUses: 211
    functionsReached:
    - va_end
    - va_start
    - Curl_vsetopt
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_setopt(CURL *d, CURLoption tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - k
    - ','
    - kl
    - ','
    - d
    - ','
    - dl
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: HMAC_SHA256
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HMAC_SHA256(k, kl, d, dl, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hexencode
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - sha
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: sha256_to_hex
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - Curl_hexencode
    linkageType: ''
    returnType: void
    signature: void sha256_to_hex(char *dst, unsigned char *sha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:94,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:94,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:98,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sig_hdr
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: find_date_hdr
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - strlen
    - Curl_checkheaders
    linkageType: ''
    returnType: char
    signature: char *find_date_hdr(struct Curl_easy *data, const char *sig_hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:108,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:109,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:115,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:118,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: trim_headers
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - strcspn
    - ISBLANK
    - curlx_str_passblanks
    - Curl_strntolower
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void trim_headers(struct curl_slist *head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:157,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:158,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:160,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:161,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:163,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:164,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: compare_header_names
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: int
    signature: int compare_header_names(const char *a, const char *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compare_header_names
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:190,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:195,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:197,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:201,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:202,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:205,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:209,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:213,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:214,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:217,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 226
    functionName: merge_duplicate_headers
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - free
    - curlx_dyn_ptr
    - curlx_dyn_init
    - strchr
    - DEBUGASSERT
    - curlx_dyn_add
    - compare_header_names
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode merge_duplicate_headers(struct curl_slist *head)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:247,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:250,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:251,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:253,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:256,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:258,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:258,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:263,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:264,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:267,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:270,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:272,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:279,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:302,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:304,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:307,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:311,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:315,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:317,1
    - Dst: trim_headers
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:323,1
    - Dst: find_date_hdr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:325,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:327,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:331,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:338,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:344,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:346,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:350,1
    - Dst: compare_header_names
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:365,1
    - Dst: merge_duplicate_headers
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:375,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:382,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:384,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:387,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:392,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:395,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:401,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 117
    argCount: 9
    argNames:
    - data
    - hostname
    - timestamp
    - provider1
    - plen
    - date_header
    - content_sha256_header
    - canonical_headers
    - signed_headers
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - size_t
    - char**
    - char*
    - struct dynbuf*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 229
    functionDepth: 6
    functionLinenumber: 229
    functionLinenumberEnd: 404
    functionName: make_headers
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - find_date_hdr
    - Curl_strntolower
    - compare_header_names
    - merge_duplicate_headers
    - curl_slist_append
    - memcpy
    - Curl_checkheaders
    - curlx_str_passblanks
    - trim_headers
    - STRCONST
    - strcspn
    - curl_slist_free_all
    - Curl_memdup0
    - curlx_dyn_add
    - free
    - ISBLANK
    - curl_maprintf
    - ISALNUM
    - strchr
    - curl_msnprintf
    - Curl_slist_append_nodup
    - strdup
    - Curl_raw_toupper
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode make_headers(struct Curl_easy *data,\n                             const
      char *hostname,\n                             char *timestamp,\n                             const
      char *provider1,\n                             size_t plen, /* length of provider1
      */\n                             char **date_header,\n                             char
      *content_sha256_header,\n                             struct dynbuf *canonical_headers,\n
      \                            struct dynbuf *signed_headers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:421,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:424,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:428,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:433,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:435,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - data
    - provider1
    - plen
    - value_len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 412
    functionDepth: 6
    functionLinenumber: 412
    functionLinenumberEnd: 441
    functionName: parse_content_sha_hdr
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - Curl_checkheaders
    - ISBLANK
    - curlx_str_passblanks
    - strchr
    - curl_msnprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *parse_content_sha_hdr(struct Curl_easy *data,\n                                         const
      char *provider1,\n                                         size_t plen,\n                                         size_t
      *value_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:452,1
    - Dst: Curl_sha256it
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:456,1
    - Dst: sha256_to_hex
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - sha_hash
    - sha_hex
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: calc_payload_hash
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - sha256_to_hex
    - Curl_sha256it
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode calc_payload_hash(struct Curl_easy *data,\n                                  unsigned
      char *sha_hash, char *sha_hex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_payload_hash
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:481,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:488,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:489,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 7
    argNames:
    - data
    - httpreq
    - provider1
    - plen
    - sha_hash
    - sha_hex
    - header
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    - char*
    - size_t
    - unsigned char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 465
    functionDepth: 6
    functionLinenumber: 465
    functionLinenumberEnd: 500
    functionName: calc_s3_payload_hash
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - DEBUGASSERT
    - calc_payload_hash
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode calc_s3_payload_hash(struct Curl_easy *data,\n                                     Curl_HttpReq
      httpreq,\n                                     const char *provider1,\n                                     size_t
      plen,\n                                     unsigned char *sha_hash,\n                                     char
      *sha_hex, char *header)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:507,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:508,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:509,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:510,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:522,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:522,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:522,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:534,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:534,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 538
    functionName: compare_func
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_len
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_func(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_assign
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:548,1
    - Dst: uri_encode_path
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:554,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:556,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:559,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - q
    - len
    - new_path
    - do_uri_encode
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 564
    functionName: canon_path
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_str_assign
    - uri_encode_path
    - curlx_dyn_add
    - curlx_dyn_len
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST canon_path(const char *q, size_t len,\n                             struct
      dynbuf *new_path,\n                             bool do_uri_encode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: split_to_dyn_array
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:579,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:592,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:593,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:597,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:600,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:606,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:607,1
    - Dst: http_aws_decode_encode
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:611,1
    - Dst: http_aws_decode_encode
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:622,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:630,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:631,1
    - Dst: qsort
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:640,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:647,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:649,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:650,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:651,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:653,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:657,1
    - Dst: pair_array_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:667,1
    - Dst: dyn_array_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:668,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - query
    - dq
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 670
    functionName: canon_query
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - qsort
    - split_to_dyn_array
    - curlx_dyn_ptr
    - curlx_dyn_addn
    - curlx_dyn_addf
    - pair_array_free
    - dyn_array_free
    - strchr
    - curlx_dyn_init
    - strlen
    - curlx_dyn_len
    - http_aws_decode_encode
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST canon_query(const char *query, struct dynbuf *dq)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:709,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:713,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:713,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:719,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:720,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:721,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:722,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:739,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:740,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:744,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:745,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:748,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:749,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:750,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:751,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:755,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:757,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:758,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:759,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:764,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:765,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:765,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:767,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:768,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:769,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:770,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:774,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:775,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:775,1
    - Dst: Curl_http_method
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:779,1
    - Dst: parse_content_sha_hdr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:782,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:782,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:783,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:788,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:789,1
    - Dst: calc_s3_payload_hash
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:792,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:792,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:793,1
    - Dst: calc_payload_hash
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:796,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:802,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:807,1
    - Dst: time
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:811,1
    - Dst: time
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:814,1
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:816,1
    - Dst: strftime
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:820,1
    - Dst: make_headers
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:825,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:826,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:826,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:834,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:835,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:836,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:839,1
    - Dst: canon_query
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:842,1
    - Dst: canon_path
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:846,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:846,1
    - Dst: should_urlencode
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:848,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:854,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:861,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:862,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:863,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:864,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:865,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:870,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:873,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:874,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:875,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:881,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:881,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:883,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:884,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:885,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:886,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:887,1
    - Dst: Curl_sha256it
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:892,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:893,1
    - Dst: sha256_to_hex
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:896,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:902,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:906,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:907,1
    - Dst: Curl_strntoupper
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:915,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:915,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:916,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:918,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:921,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:921,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:922,1
    - Dst: Curl_strntoupper
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:927,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:927,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:927,1
    - Dst: HMAC_SHA256
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:929,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:929,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:929,1
    - Dst: HMAC_SHA256
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:930,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:931,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:931,1
    - Dst: HMAC_SHA256
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:932,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:933,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:933,1
    - Dst: HMAC_SHA256
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:934,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:934,1
    - Dst: HMAC_SHA256
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:935,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:935,1
    - Dst: sha256_to_hex
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:937,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:939,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:941,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:952,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:953,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:956,1
    - Dst: Curl_strntoupper
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:964,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:965,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:965,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:967,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:973,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:974,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:975,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:976,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:977,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:978,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:979,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:980,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:981,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:982,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 149
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 672
    functionDepth: 7
    functionLinenumber: 672
    functionLinenumberEnd: 984
    functionName: Curl_output_aws_sigv4
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - getenv
    - failf
    - canon_path
    - Curl_strntolower
    - strftime
    - Curl_strntoupper
    - infof
    - curlx_dyn_ptr
    - memcpy
    - Curl_checkheaders
    - curlx_dyn_init
    - parse_content_sha_hdr
    - calc_payload_hash
    - STRCONST
    - Curl_gmtime
    - strlen
    - curlx_str
    - sha256_to_hex
    - curlx_str_until
    - canon_query
    - curlx_str_casecompare
    - Curl_sha256it
    - should_urlencode
    - DEBUGASSERT
    - curlx_strlen
    - HMAC_SHA256
    - free
    - curlx_str_single
    - time
    - curl_maprintf
    - calc_s3_payload_hash
    - curlx_dyn_free
    - Curl_http_method
    - make_headers
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_output_aws_sigv4(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:995,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pair_array
    - num_elements
    argTypes:
    - struct pair*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 999
    functionName: pair_array_free
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void pair_array_free(struct pair *pair_array, size_t num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - db
    - num_elements
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1011
    functionName: dyn_array_free
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void dyn_array_free(struct dynbuf *db, size_t num_elements)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1026,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1038,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1039,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1059,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1060,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - source
    - db
    - num_splits_out
    argTypes:
    - char*
    - struct dynbuf[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1069
    functionName: split_to_dyn_array
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_init
    - curlx_dyn_addn
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode split_to_dyn_array(const char *source,\n                                   struct
      dynbuf db[MAX_QUERY_COMPONENTS],\n                                   size_t
      *num_splits_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1074,1
    - Dst: ISURLPUNTCS
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: is_reserved_char
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - ISURLPUNTCS
    linkageType: ''
    returnType: bool
    signature: bool is_reserved_char(const char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1080,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1083,1
    - Dst: is_reserved_char
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1087,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1088,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - original_path
    - new_path
    argTypes:
    - struct Curl_str*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1096
    functionName: uri_encode_path
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_addf
    - is_reserved_char
    - curlx_str
    - curlx_strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode uri_encode_path(struct Curl_str *original_path,\n                                struct
      dynbuf *new_path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_reserved_char
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1107,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1109,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1112,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - component
    - len
    - db
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1120
    functionName: encode_query_component
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_addf
    - curlx_dyn_add
    - is_reserved_char
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode encode_query_component(char *component, size_t len,\n                                       struct
      dynbuf *db)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1132,1
    - Dst: encode_query_component
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1135,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1126
    functionDepth: 3
    functionLinenumber: 1126
    functionLinenumberEnd: 1139
    functionName: http_aws_decode_encode
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - encode_query_component
    - Curl_urldecode
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_aws_decode_encode(const char *in, size_t in_len,\n                                       struct
      dynbuf *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cmp
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1150,1
    - Dst: curlx_str_cmp
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1151,1
    - Dst: curlx_str_cmp
      Src: /src/PROJ/curl/lib/http_aws_sigv4.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - service_name
    argTypes:
    - struct Curl_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1156
    functionName: should_urlencode
    functionSourceFile: /src/PROJ/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_str_cmp
    linkageType: ''
    returnType: bool
    signature: bool should_urlencode(struct Curl_str *service_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: Curl_doh
    functionSourceFile: /src/PROJ/curl/lib/doh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_doh(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: Curl_doh_is_resolved
    functionSourceFile: /src/PROJ/curl/lib/doh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_doh_is_resolved(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: global_init_lock
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: global_init_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: global_init_unlock
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: global_init_unlock()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_init
      Src: /src/PROJ/curl/lib/easy.c:158,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:159,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:159,1
    - Dst: Curl_ssl_init
      Src: /src/PROJ/curl/lib/easy.c:163,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:164,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:164,1
    - Dst: Curl_vquic_init
      Src: /src/PROJ/curl/lib/easy.c:168,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:169,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:169,1
    - Dst: Curl_win32_init
      Src: /src/PROJ/curl/lib/easy.c:173,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:174,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:174,1
    - Dst: Curl_amiga_init
      Src: /src/PROJ/curl/lib/easy.c:178,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:179,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:179,1
    - Dst: Curl_macos_init
      Src: /src/PROJ/curl/lib/easy.c:183,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:184,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:184,1
    - Dst: Curl_async_global_init
      Src: /src/PROJ/curl/lib/easy.c:188,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:189,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:189,1
    - Dst: Curl_ssh_init
      Src: /src/PROJ/curl/lib/easy.c:193,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:194,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:194,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/easy.c:201,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/easy.c:203,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - flags
    - memoryfuncs
    argTypes:
    - long
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: global_init
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 380
    functionsReached:
    - Curl_macos_init
    - getenv
    - DEBUGF
    - Curl_ssl_init
    - curl_mfprintf
    - Curl_amiga_init
    - Curl_ssh_init
    - Curl_async_global_init
    - Curl_vquic_init
    - malloc
    - Curl_trc_init
    - Curl_win32_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode global_init(long flags, bool memoryfuncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/PROJ/curl/lib/easy.c:221,1
    - Dst: global_init
      Src: /src/PROJ/curl/lib/easy.c:223,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: curl_global_init
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 272
    functionsReached:
    - global_init
    - global_init_lock
    - global_init_unlock
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_global_init(long flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/PROJ/curl/lib/easy.c:244,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:251,1
    - Dst: global_init
      Src: /src/PROJ/curl/lib/easy.c:264,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - flags
    - m
    - f
    - r
    - s
    - c
    argTypes:
    - long
    - curl_malloc_callback
    - curl_free_callback
    - curl_realloc_callback
    - curl_strdup_callback
    - curl_calloc_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: curl_global_init_mem
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - global_init
    - global_init_unlock
    - global_init_lock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_global_init_mem(long flags, curl_malloc_callback m,\n
      \                             curl_free_callback f, curl_realloc_callback r,\n
      \                             curl_strdup_callback s, curl_calloc_callback c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/PROJ/curl/lib/easy.c:278,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:281,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:286,1
    - Dst: Curl_ssl_cleanup
      Src: /src/PROJ/curl/lib/easy.c:290,1
    - Dst: Curl_async_global_cleanup
      Src: /src/PROJ/curl/lib/easy.c:291,1
    - Dst: Curl_win32_cleanup
      Src: /src/PROJ/curl/lib/easy.c:294,1
    - Dst: Curl_amiga_cleanup
      Src: /src/PROJ/curl/lib/easy.c:297,1
    - Dst: Curl_ssh_cleanup
      Src: /src/PROJ/curl/lib/easy.c:299,1
    - Dst: free
      Src: /src/PROJ/curl/lib/easy.c:302,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 308
    functionName: curl_global_cleanup
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 385
    functionsReached:
    - Curl_ssl_cleanup
    - free
    - Curl_ssh_cleanup
    - Curl_async_global_cleanup
    - global_init_lock
    - Curl_win32_cleanup
    - global_init_unlock
    - Curl_amiga_cleanup
    linkageType: ''
    returnType: void
    signature: void curl_global_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/PROJ/curl/lib/easy.c:317,1
    - Dst: Curl_trc_opt
      Src: /src/PROJ/curl/lib/easy.c:319,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: curl_global_trace
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 10
    functionsReached:
    - global_init_unlock
    - global_init_lock
    - Curl_trc_opt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_global_trace(const char *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/PROJ/curl/lib/easy.c:338,1
    - Dst: Curl_init_sslset_nolock
      Src: /src/PROJ/curl/lib/easy.c:340,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - id
    - name
    - avail
    argTypes:
    - curl_sslbackend
    - char*
    - curl_ssl_backend***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: curl_global_sslset
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 2
    functionsReached:
    - global_init_unlock
    - global_init_lock
    - Curl_init_sslset_nolock
    linkageType: ''
    returnType: CURLsslset
    signature: "CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,\n
      \                             const curl_ssl_backend ***avail)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/PROJ/curl/lib/easy.c:357,1
    - Dst: global_init
      Src: /src/PROJ/curl/lib/easy.c:360,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:363,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:363,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:364,1
    - Dst: global_init_unlock
      Src: /src/PROJ/curl/lib/easy.c:368,1
    - Dst: Curl_open
      Src: /src/PROJ/curl/lib/easy.c:371,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:373,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: curl_easy_init
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 295
    functionsReached:
    - DEBUGF
    - curl_mfprintf
    - global_init
    - Curl_open
    - global_init_lock
    - global_init_unlock
    linkageType: ''
    returnType: CURL
    signature: CURL *curl_easy_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: events_timer
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int events_timer(CURLM *multi,    /* multi handle */\n                        long
      timeout_ms, /* see above */\n                        void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pollmask
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: poll2cselect
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int poll2cselect(int pollmask)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pollmask
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: socketcb2poll
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short socketcb2poll(int pollmask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/easy.c:483,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/easy.c:484,1
    - Dst: socketcb2poll
      Src: /src/PROJ/curl/lib/easy.c:489,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/easy.c:490,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/easy.c:504,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/easy.c:504,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/easy.c:506,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/easy.c:509,1
    - Dst: socketcb2poll
      Src: /src/PROJ/curl/lib/easy.c:513,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/easy.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - easy
    - s
    - what
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 526
    functionName: events_socket
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - socketcb2poll
    - infof
    - free
    - DEBUGF
    - DEBUGASSERT
    - malloc
    linkageType: ''
    returnType: int
    signature: "int events_socket(CURL *easy,      /* easy handle */\n                         curl_socket_t
      s, /* socket */\n                         int what,        /* see above */\n
      \                        void *userp,     /* private callback\n                                             pointer
      */\n                         void *socketp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/lib/easy.c:537,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/lib/easy.c:538,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/lib/easy.c:541,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/lib/easy.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - multi
    - ev
    argTypes:
    - struct Curl_multi*
    - struct events*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: events_setup
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_multi_setopt
    linkageType: ''
    returnType: void
    signature: void events_setup(struct Curl_multi *multi, struct events *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - fds
    - ev
    argTypes:
    - struct pollfd*
    - struct events*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 5
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: populate_fds
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int populate_fds(struct pollfd *fds, struct events *ev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:581,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/easy.c:583,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:585,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:593,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/lib/easy.c:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ev
    - fds
    - numfds
    - pollrc
    argTypes:
    - struct events*
    - struct pollfd*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 573
    functionDepth: 5
    functionLinenumber: 573
    functionLinenumberEnd: 600
    functionName: poll_fds
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - Curl_poll
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode poll_fds(struct events *ev,\n                         struct
      pollfd *fds,\n                         const unsigned int numfds,\n                         int
      *pollrc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: populate_fds
      Src: /src/PROJ/curl/lib/easy.c:617,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/easy.c:620,1
    - Dst: poll_fds
      Src: /src/PROJ/curl/lib/easy.c:622,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/lib/easy.c:632,1
    - Dst: poll2cselect
      Src: /src/PROJ/curl/lib/easy.c:642,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/easy.c:645,1
    - Dst: curl_multi_socket_action
      Src: /src/PROJ/curl/lib/easy.c:647,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/easy.c:657,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/easy.c:657,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/easy.c:660,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/lib/easy.c:676,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - multi
    - ev
    argTypes:
    - struct Curl_multi*
    - struct events*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 606
    functionDepth: 6
    functionLinenumber: 606
    functionLinenumberEnd: 684
    functionName: wait_or_timeout
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - infof
    - poll_fds
    - curl_mfprintf
    - curlx_now
    - poll2cselect
    - curlx_timediff
    - curl_multi_info_read
    - populate_fds
    - curl_multi_socket_action
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode wait_or_timeout(struct Curl_multi *multi, struct events *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: events_setup
      Src: /src/PROJ/curl/lib/easy.c:698,1
    - Dst: wait_or_timeout
      Src: /src/PROJ/curl/lib/easy.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 7
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: easy_events
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - wait_or_timeout
    - events_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easy_events(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: easy_events
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easy_events(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_poll
      Src: /src/PROJ/curl/lib/easy.c:716,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/lib/easy.c:719,1
    - Dst: curl_multi_info_read
      Src: /src/PROJ/curl/lib/easy.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 741
    functionName: easy_transfer
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_multi_info_read
    - curl_multi_poll
    - curl_multi_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easy_transfer(struct Curl_multi *multi)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/easy.c:766,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/easy.c:778,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/easy.c:787,1
    - Dst: Curl_getconnectinfo
      Src: /src/PROJ/curl/lib/easy.c:788,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/easy.c:790,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/easy.c:792,1
    - Dst: Curl_multi_handle
      Src: /src/PROJ/curl/lib/easy.c:800,1
    - Dst: curl_multi_setopt
      Src: /src/PROJ/curl/lib/easy.c:809,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/lib/easy.c:812,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/lib/easy.c:814,1
    - Dst: sigpipe_init
      Src: /src/PROJ/curl/lib/easy.c:823,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/easy.c:824,1
    - Dst: easy_events
      Src: /src/PROJ/curl/lib/easy.c:827,1
    - Dst: easy_transfer
      Src: /src/PROJ/curl/lib/easy.c:827,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/lib/easy.c:831,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/easy.c:833,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - data
    - events
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 761
    functionDepth: 8
    functionLinenumber: 761
    functionLinenumberEnd: 837
    functionName: easy_perform
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 285
    functionsReached:
    - Curl_multi_handle
    - failf
    - Curl_detach_connection
    - easy_transfer
    - sigpipe_init
    - sigpipe_restore
    - sigpipe_apply
    - curl_multi_remove_handle
    - curl_multi_cleanup
    - Curl_conn_terminate
    - curl_multi_add_handle
    - Curl_getconnectinfo
    - DEBUGASSERT
    - easy_events
    - SIGPIPE_VARIABLE
    - curl_multi_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easy_perform(struct Curl_easy *data, bool events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: easy_perform
      Src: /src/PROJ/curl/lib/easy.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 9
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: curl_easy_perform
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 285
    functionsReached:
    - easy_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_perform(CURL *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: easy_perform
      Src: /src/PROJ/curl/lib/easy.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 9
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: curl_easy_perform_ev
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - easy_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_perform_ev(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:866,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/easy.c:867,1
    - Dst: sigpipe_ignore
      Src: /src/PROJ/curl/lib/easy.c:868,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/easy.c:869,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/easy.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 872
    functionName: curl_easy_cleanup
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 388
    functionsReached:
    - GOOD_EASY_HANDLE
    - sigpipe_restore
    - sigpipe_ignore
    - Curl_close
    - SIGPIPE_VARIABLE
    linkageType: ''
    returnType: void
    signature: void curl_easy_cleanup(CURL *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:886,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/easy.c:889,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/easy.c:890,1
    - Dst: Curl_getinfo
      Src: /src/PROJ/curl/lib/easy.c:892,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/easy.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - easy
    - info
    argTypes:
    - CURL*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 896
    functionName: curl_easy_getinfo
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 79
    functionsReached:
    - va_end
    - GOOD_EASY_HANDLE
    - va_start
    - Curl_getinfo
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_getinfo(CURL *easy, CURLINFO info, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_initpart
      Src: /src/PROJ/curl/lib/easy.c:907,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/easy.c:911,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/easy.c:912,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/easy.c:916,1
    - Dst: Curl_setblobopt
      Src: /src/PROJ/curl/lib/easy.c:923,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/easy.c:932,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/easy.c:935,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/easy.c:936,1
    - Dst: Curl_mime_duppart
      Src: /src/PROJ/curl/lib/easy.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 950
    functionName: dupset
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_setstropt
    - curlx_sotouz
    - Curl_mime_initpart
    - Curl_mime_duppart
    - memset
    - Curl_memdup
    - strdup
    - Curl_setblobopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode dupset(struct Curl_easy *dst, struct Curl_easy *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/easy.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: dupeasy_meta_freeentry
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void dupeasy_meta_freeentry(void *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:971,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/easy.c:973,1
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/easy.c:984,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/easy.c:986,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/lib/easy.c:987,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/easy.c:997,1
    - Dst: Curl_initinfo
      Src: /src/PROJ/curl/lib/easy.c:999,1
    - Dst: dupset
      Src: /src/PROJ/curl/lib/easy.c:1002,1
    - Dst: Curl_cookie_init
      Src: /src/PROJ/curl/lib/easy.c:1013,1
    - Dst: Curl_slist_duplicate
      Src: /src/PROJ/curl/lib/easy.c:1020,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/easy.c:1027,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/easy.c:1034,1
    - Dst: Curl_ssl_set_engine
      Src: /src/PROJ/curl/lib/easy.c:1043,1
    - Dst: Curl_altsvc_init
      Src: /src/PROJ/curl/lib/easy.c:1049,1
    - Dst: Curl_altsvc_load
      Src: /src/PROJ/curl/lib/easy.c:1053,1
    - Dst: Curl_hsts_init
      Src: /src/PROJ/curl/lib/easy.c:1058,1
    - Dst: Curl_hsts_loadfile
      Src: /src/PROJ/curl/lib/easy.c:1062,1
    - Dst: Curl_hsts_loadcb
      Src: /src/PROJ/curl/lib/easy.c:1064,1
    - Dst: free
      Src: /src/PROJ/curl/lib/easy.c:1078,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/easy.c:1080,1
    - Dst: Curl_altsvc_cleanup
      Src: /src/PROJ/curl/lib/easy.c:1081,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/easy.c:1082,1
    - Dst: Curl_freeset
      Src: /src/PROJ/curl/lib/easy.c:1083,1
    - Dst: free
      Src: /src/PROJ/curl/lib/easy.c:1084,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 1088
    functionName: curl_easy_duphandle
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 13
    functionsReached:
    - Curl_hsts_cleanup
    - Curl_hsts_init
    - Curl_llist_init
    - Curl_ssl_set_engine
    - curlx_dyn_init
    - Curl_cookie_init
    - GOOD_EASY_HANDLE
    - Curl_initinfo
    - Curl_altsvc_cleanup
    - Curl_hash_init
    - Curl_altsvc_load
    - calloc
    - Curl_hsts_loadfile
    - Curl_hsts_loadcb
    - Curl_slist_duplicate
    - free
    - dupset
    - Curl_altsvc_init
    - curlx_dyn_free
    - Curl_netrc_init
    - Curl_freeset
    - strdup
    linkageType: ''
    returnType: CURL
    signature: CURL *curl_easy_duphandle(CURL *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1097,1
    - Dst: Curl_req_hard_reset
      Src: /src/PROJ/curl/lib/easy.c:1100,1
    - Dst: Curl_hash_clean
      Src: /src/PROJ/curl/lib/easy.c:1101,1
    - Dst: Curl_meta_reset
      Src: /src/PROJ/curl/lib/easy.c:1104,1
    - Dst: Curl_async_shutdown
      Src: /src/PROJ/curl/lib/easy.c:1106,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/easy.c:1107,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/easy.c:1108,1
    - Dst: Curl_freeset
      Src: /src/PROJ/curl/lib/easy.c:1110,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/easy.c:1111,1
    - Dst: Curl_init_userdefined
      Src: /src/PROJ/curl/lib/easy.c:1112,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/easy.c:1115,1
    - Dst: Curl_initinfo
      Src: /src/PROJ/curl/lib/easy.c:1118,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/easy.c:1125,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/easy.c:1126,1
    - Dst: Curl_http_auth_cleanup_digest
      Src: /src/PROJ/curl/lib/easy.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1132
    functionName: curl_easy_reset
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 15
    functionsReached:
    - GOOD_EASY_HANDLE
    - Curl_initinfo
    - Curl_async_shutdown
    - Curl_req_hard_reset
    - Curl_init_userdefined
    - memset
    - Curl_freeset
    - Curl_http_auth_cleanup_digest
    - Curl_hash_clean
    - Curl_resolv_unlink
    - Curl_meta_reset
    linkageType: ''
    returnType: void
    signature: void curl_easy_reset(CURL *d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1156,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/easy.c:1160,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/easy.c:1163,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/PROJ/curl/lib/easy.c:1165,1
    - Dst: Curl_creader_is_paused
      Src: /src/PROJ/curl/lib/easy.c:1169,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/easy.c:1171,1
    - Dst: Curl_xfer_pause_send
      Src: /src/PROJ/curl/lib/easy.c:1171,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/easy.c:1176,1
    - Dst: Curl_xfer_pause_recv
      Src: /src/PROJ/curl/lib/easy.c:1176,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/PROJ/curl/lib/easy.c:1180,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/easy.c:1184,1
    - Dst: Curl_update_timer
      Src: /src/PROJ/curl/lib/easy.c:1187,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/PROJ/curl/lib/easy.c:1195,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/easy.c:1201,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - d
    - action
    argTypes:
    - CURL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1204
    functionName: curl_easy_pause
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 14
    functionsReached:
    - Curl_1st_err
    - Curl_set_in_callback
    - GOOD_EASY_HANDLE
    - Curl_xfer_send_is_paused
    - Curl_multi_mark_dirty
    - Curl_xfer_pause_recv
    - Curl_update_timer
    - Curl_creader_is_paused
    - Curl_xfer_pause_send
    - Curl_is_in_callback
    - Curl_multi_ev_assess_xfer
    - Curl_xfer_is_blocked
    - Curl_xfer_recv_is_paused
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_pause(CURL *d, int action)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/easy.c:1217,1
    - Dst: Curl_getconnectinfo
      Src: /src/PROJ/curl/lib/easy.c:1221,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/easy.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - connp
    argTypes:
    - struct Curl_easy*
    - struct connectdata**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1229
    functionName: easy_connection
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_getconnectinfo
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode easy_connection(struct Curl_easy *data,\n                                struct
      connectdata **connp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1242,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/easy.c:1244,1
    - Dst: easy_connection
      Src: /src/PROJ/curl/lib/easy.c:1247,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/easy.c:1254,1
    - Dst: Curl_conn_recv
      Src: /src/PROJ/curl/lib/easy.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - d
    - buffer
    - buflen
    - n
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1258
    functionName: curl_easy_recv
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 4
    functionsReached:
    - Curl_attach_connection
    - GOOD_EASY_HANDLE
    - Curl_conn_recv
    - easy_connection
    - Curl_is_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_recv(CURL *d, void *buffer, size_t buflen, size_t
      *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: easy_connection
      Src: /src/PROJ/curl/lib/easy.c:1266,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/easy.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1276
    functionName: Curl_connect_only_attach
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - easy_connection
    - Curl_attach_connection
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_connect_only_attach(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/easy.c:1289,1
    - Dst: easy_connection
      Src: /src/PROJ/curl/lib/easy.c:1292,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/easy.c:1299,1
    - Dst: sigpipe_ignore
      Src: /src/PROJ/curl/lib/easy.c:1301,1
    - Dst: Curl_conn_send
      Src: /src/PROJ/curl/lib/easy.c:1302,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/easy.c:1303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - buffer
    - buflen
    - n
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1308
    functionName: Curl_senddata
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - Curl_conn_send
    - sigpipe_restore
    - easy_connection
    - sigpipe_ignore
    - SIGPIPE_VARIABLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_senddata(struct Curl_easy *data, const void *buffer,\n
      \                      size_t buflen, size_t *n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1319,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/easy.c:1321,1
    - Dst: Curl_senddata
      Src: /src/PROJ/curl/lib/easy.c:1324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - d
    - buffer
    - buflen
    - n
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: curl_easy_send
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 4
    functionsReached:
    - Curl_senddata
    - Curl_is_in_callback
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_send(CURL *d, const void *buffer, size_t buflen,
      size_t *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1336,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/easy.c:1339,1
    - Dst: Curl_cpool_upkeep
      Src: /src/PROJ/curl/lib/easy.c:1343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1344
    functionName: curl_easy_upkeep
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_is_in_callback
    - GOOD_EASY_HANDLE
    - Curl_cpool_upkeep
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_upkeep(CURL *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1352,1
    - Dst: Curl_ssl_session_import
      Src: /src/PROJ/curl/lib/easy.c:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - d
    - session_key
    - shmac
    - shmac_len
    - sdata
    - sdata_len
    argTypes:
    - CURL*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1365
    functionName: curl_easy_ssls_import
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_session_import
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_easy_ssls_import(CURL *d, const char *session_key,\n
      \                              const unsigned char *shmac, size_t shmac_len,\n
      \                              const unsigned char *sdata, size_t sdata_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/easy.c:1373,1
    - Dst: Curl_ssl_session_export
      Src: /src/PROJ/curl/lib/easy.c:1375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - d
    - export_fn
    - userptr
    argTypes:
    - CURL*
    - curl_ssls_export_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1382
    functionName: curl_easy_ssls_export
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_session_export
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_easy_ssls_export(CURL *d,\n                               curl_ssls_export_cb
      *export_fn,\n                               void *userptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/easy.c:1387,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/easy.c:1388,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/easy.c:1388,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/easy.c:1388,1
    - Dst: meta_dtor
      Src: /src/PROJ/curl/lib/easy.c:1390,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/easy.c:1390,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/easy.c:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - key
    - meta_data
    - meta_dtor
    argTypes:
    - struct Curl_easy*
    - char*
    - void*
    - Curl_meta_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1394
    functionName: Curl_meta_set
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - Curl_hash_add2
    - CURL_UNCONST
    - DEBUGASSERT
    - strlen
    - meta_dtor
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_meta_set(struct Curl_easy *data, const char *key,\n
      \                      void *meta_data, Curl_meta_dtor *meta_dtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/easy.c:1398,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/easy.c:1398,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/easy.c:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1399
    functionName: Curl_meta_remove
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - strlen
    - Curl_hash_delete
    linkageType: ''
    returnType: void
    signature: void Curl_meta_remove(struct Curl_easy *data, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/easy.c:1403,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/easy.c:1403,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/easy.c:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1404
    functionName: Curl_meta_get
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 3
    functionsReached:
    - Curl_hash_pick
    - CURL_UNCONST
    - strlen
    linkageType: ''
    returnType: void
    signature: void *Curl_meta_get(struct Curl_easy *data, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_clean
      Src: /src/PROJ/curl/lib/easy.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1409
    functionName: Curl_meta_reset
    functionSourceFile: /src/PROJ/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - Curl_hash_clean
    linkageType: ''
    returnType: void
    signature: void Curl_meta_reset(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_memrchr.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: Curl_memrchr
    functionSourceFile: /src/PROJ/curl/lib/curl_memrchr.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_memrchr(const void *s, int c, size_t n)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/http_ntlm.c:68,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/PROJ/curl/lib/http_ntlm.c:69,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_ntlm.c:73,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_ntlm.c:74,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/http_ntlm.c:79,1
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/lib/http_ntlm.c:83,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/http_ntlm.c:84,1
    - Dst: Curl_auth_decode_ntlm_type2_message
      Src: /src/PROJ/curl/lib/http_ntlm.c:85,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/http_ntlm.c:86,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_ntlm.c:95,1
    - Dst: Curl_auth_ntlm_remove
      Src: /src/PROJ/curl/lib/http_ntlm.c:96,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_ntlm.c:99,1
    - Dst: Curl_auth_ntlm_remove
      Src: /src/PROJ/curl/lib/http_ntlm.c:100,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_ntlm.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - data
    - proxy
    - header
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 114
    functionName: Curl_input_ntlm
    functionSourceFile: /src/PROJ/curl/lib/http_ntlm.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_auth_ntlm_remove
    - curlx_base64_decode
    - curlx_str_passblanks
    - Curl_bufref_init
    - Curl_bufref_set
    - strlen
    - Curl_bufref_free
    - Curl_auth_decode_ntlm_type2_message
    - checkprefix
    - Curl_auth_ntlm_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_input_ntlm(struct Curl_easy *data,\n                         bool
      proxy,         /* if proxy or not */\n                         const char *header)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_ntlm.c:142,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_ntlm.c:143,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/PROJ/curl/lib/http_ntlm.c:169,1
    - Dst: Curl_sspi_global_init
      Src: /src/PROJ/curl/lib/http_ntlm.c:184,1
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/lib/http_ntlm.c:193,1
    - Dst: Curl_auth_create_ntlm_type1_message
      Src: /src/PROJ/curl/lib/http_ntlm.c:204,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_ntlm.c:207,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/http_ntlm.c:207,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/http_ntlm.c:208,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/http_ntlm.c:208,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/http_ntlm.c:209,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_ntlm.c:211,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_ntlm.c:212,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_ntlm.c:215,1
    - Dst: Curl_auth_create_ntlm_type3_message
      Src: /src/PROJ/curl/lib/http_ntlm.c:224,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/http_ntlm.c:226,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/http_ntlm.c:227,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/http_ntlm.c:227,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/http_ntlm.c:228,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_ntlm.c:230,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_ntlm.c:231,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_ntlm.c:234,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http_ntlm.c:252,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/http_ntlm.c:256,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 2
    argNames:
    - data
    - proxy
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 259
    functionName: Curl_output_ntlm
    functionSourceFile: /src/PROJ/curl/lib/http_ntlm.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_auth_create_ntlm_type3_message
    - curl_maprintf
    - Curl_bufref_init
    - Curl_sspi_global_init
    - Curl_auth_create_ntlm_type1_message
    - curlx_base64_encode
    - Curl_bufref_len
    - DEBUGASSERT
    - Curl_bufref_free
    - Curl_safefree
    - Curl_bufref_ptr
    - Curl_auth_ntlm_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_output_ntlm(struct Curl_easy *data, bool proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: strdup
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: malloc
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 189
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: malloc(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nbelem
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: calloc
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 179
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calloc(nbelem,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: realloc
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: realloc(ptr,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: free
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 579
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: Curl_tcsdup
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Curl_tcsdup
    functionSourceFile: /src/PROJ/curl/lib/memdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - DOHcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: doh_strerror
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *doh_strerror(DOHcode code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/doh.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:112,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/doh.c:139,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/doh.c:143,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/doh.c:151,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 5
    argNames:
    - host
    - dnstype
    - dnsp
    - len
    - olen
    argTypes:
    - char*
    - DNStype
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 174
    functionName: doh_req_encode
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 2
    functionsReached:
    - strchr
    - DEBUGASSERT
    - strlen
    - memcpy
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_req_encode(const char *host,\n                                DNStype
      dnstype,\n                                unsigned char *dnsp, /* buffer */\n
      \                               size_t len,  /* buffer size */\n                                size_t
      *olen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/doh.c:181,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: doh_probe_write_cb
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - curlx_dyn_addn
    linkageType: ''
    returnType: size_t
    signature: size_t doh_probe_write_cb(char *contents, size_t size, size_t nmemb,
      void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hexencode
      Src: /src/PROJ/curl/lib/doh.c:206,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:208,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - prefix
    - buf
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: doh_print_buf
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_hexencode
    linkageType: ''
    returnType: void
    signature: "void doh_print_buf(struct Curl_easy *data,\n                          const
      char *prefix,\n                          unsigned char *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:223,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/doh.c:225,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/doh.c:233,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:238,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:242,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:246,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/doh.c:247,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/doh.c:248,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/doh.c:249,1
    - Dst: Curl_meta_remove
      Src: /src/PROJ/curl/lib/doh.c:251,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:255,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/doh.c:255,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/doh.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - data
    - doh
    - result
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 262
    functionName: doh_probe_done
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - failf
    - Curl_multi_mark_dirty
    - Curl_meta_get
    - curlx_dyn_free
    - curl_easy_strerror
    - DEBUGASSERT
    - curlx_dyn_len
    - Curl_meta_remove
    linkageType: ''
    returnType: void
    signature: "void doh_probe_done(struct Curl_easy *data,\n                           struct
      Curl_easy *doh, CURLcode result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/doh.c:270,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/doh.c:271,1
    - Dst: free
      Src: /src/PROJ/curl/lib/doh.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - e
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: doh_probe_dtor
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - free
    - curl_slist_free_all
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void doh_probe_dtor(void *key, size_t klen, void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: ERROR_CHECK_SETOPT
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERROR_CHECK_SETOPT(x,y)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/doh.c:299,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/doh.c:303,1
    - Dst: doh_req_encode
      Src: /src/PROJ/curl/lib/doh.c:305,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/doh.c:309,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/doh.c:314,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/doh.c:321,1
    - Dst: Curl_open
      Src: /src/PROJ/curl/lib/doh.c:328,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:337,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:338,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:339,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:340,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:341,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:342,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:343,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:345,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:346,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:350,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:353,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:355,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:356,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:358,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/doh.c:359,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:360,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:362,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:364,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:366,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:368,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:383,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:387,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:391,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:395,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:399,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:401,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:403,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:405,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:407,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/PROJ/curl/lib/doh.c:409,1
    - Dst: curl_easy_setopt
      Src: /src/PROJ/curl/lib/doh.c:413,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/doh.c:419,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:428,1
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/lib/doh.c:430,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/doh.c:437,1
    - Dst: doh_probe_dtor
      Src: /src/PROJ/curl/lib/doh.c:439,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    argCount: 6
    argNames:
    - data
    - dnstype
    - host
    - url
    - multi
    - pmid
    argTypes:
    - struct Curl_easy*
    - DNStype
    - char*
    - char*
    - CURLM*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 441
    functionName: doh_probe_run
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - ERROR_CHECK_SETOPT
    - Curl_trc_ft_is_verbose
    - failf
    - Curl_meta_set
    - Curl_timeleft
    - curlx_dyn_init
    - Curl_open
    - doh_req_encode
    - curl_multi_add_handle
    - calloc
    - DEBUGASSERT
    - Curl_close
    - doh_probe_dtor
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode doh_probe_run(struct Curl_easy *data,\n                              DNStype
      dnstype,\n                              const char *host,\n                              const
      char *url, CURLM *multi,\n                              unsigned int *pmid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:459,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:460,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:461,1
    - Dst: Curl_doh_cleanup
      Src: /src/PROJ/curl/lib/doh.c:463,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/doh.c:468,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/doh.c:473,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/doh.c:479,1
    - Dst: doh_probe_run
      Src: /src/PROJ/curl/lib/doh.c:490,1
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/doh.c:499,1
    - Dst: doh_probe_run
      Src: /src/PROJ/curl/lib/doh.c:501,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/doh.c:516,1
    - Dst: doh_probe_run
      Src: /src/PROJ/curl/lib/doh.c:520,1
    - Dst: free
      Src: /src/PROJ/curl/lib/doh.c:524,1
    - Dst: Curl_doh_cleanup
      Src: /src/PROJ/curl/lib/doh.c:534,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 448
    functionDepth: 6
    functionLinenumber: 448
    functionLinenumberEnd: 536
    functionName: Curl_doh
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_doh_cleanup
    - curl_maprintf
    - curlx_dyn_init
    - calloc
    - DEBUGASSERT
    - Curl_ipv6works
    - doh_probe_run
    - strdup
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_doh(struct Curl_easy *data,\n                               const
      char *hostname,\n                               int port,\n                               int
      ip_version,\n                               int *waitp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - doh
    - dohlen
    - indexp
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 560
    functionName: doh_skipqname
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_skipqname(const unsigned char *doh, size_t dohlen,\n                             unsigned
      int *indexp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doh
    - index
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: doh_get16bit
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: "unsigned short doh_get16bit(const unsigned char *doh,\n                                   unsigned
      int index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - doh
    - index
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 579
    functionName: doh_get32bit
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int doh_get32bit(const unsigned char *doh, unsigned int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/doh.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - doh
    - index
    - d
    argTypes:
    - unsigned char*
    - int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: doh_store_a
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void doh_store_a(const unsigned char *doh, int index,\n                        struct
      dohentry *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/doh.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - doh
    - index
    - d
    argTypes:
    - unsigned char*
    - int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: doh_store_aaaa
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void doh_store_aaaa(const unsigned char *doh, int index,\n                           struct
      dohentry *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/doh.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - doh
    - index
    - d
    - len
    argTypes:
    - unsigned char*
    - int
    - struct dohentry*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: doh_store_https
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - Curl_memdup
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_store_https(const unsigned char *doh, int index,\n                               struct
      dohentry *d, uint16_t len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/doh.c:654,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:655,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/doh.c:655,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:661,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - doh
    - dohlen
    - index
    - d
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 670
    functionName: doh_store_cname
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - curlx_dyn_addn
    - curlx_dyn_len
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_store_cname(const unsigned char *doh, size_t dohlen,\n
      \                              unsigned int index, struct dohentry *d)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: doh_store_a
      Src: /src/PROJ/curl/lib/doh.c:690,1
    - Dst: doh_store_aaaa
      Src: /src/PROJ/curl/lib/doh.c:695,1
    - Dst: doh_store_https
      Src: /src/PROJ/curl/lib/doh.c:699,1
    - Dst: doh_store_cname
      Src: /src/PROJ/curl/lib/doh.c:705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - doh
    - dohlen
    - rdlength
    - type
    - index
    - d
    argTypes:
    - unsigned char*
    - size_t
    - unsigned short
    - unsigned short
    - int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 717
    functionName: doh_rdata
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - doh_store_a
    - doh_store_aaaa
    - doh_store_https
    - doh_store_cname
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_rdata(const unsigned char *doh,\n                         size_t
      dohlen,\n                         unsigned short rdlength,\n                         unsigned
      short type,\n                         int index,\n                         struct
      dohentry *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/doh.c:722,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/doh.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 726
    functionName: de_init
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - memset
    - curlx_dyn_init
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST de_init(struct dohentry *de)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:752,1
    - Dst: doh_skipqname
      Src: /src/PROJ/curl/lib/doh.c:754,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:763,1
    - Dst: doh_skipqname
      Src: /src/PROJ/curl/lib/doh.c:768,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:775,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:785,1
    - Dst: doh_get32bit
      Src: /src/PROJ/curl/lib/doh.c:793,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:801,1
    - Dst: doh_rdata
      Src: /src/PROJ/curl/lib/doh.c:806,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:813,1
    - Dst: doh_skipqname
      Src: /src/PROJ/curl/lib/doh.c:815,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:827,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:835,1
    - Dst: doh_skipqname
      Src: /src/PROJ/curl/lib/doh.c:837,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:849,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 94
    argCount: 4
    argNames:
    - doh
    - dohlen
    - dnstype
    - d
    argTypes:
    - unsigned char*
    - size_t
    - DNStype
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 870
    functionName: doh_resp_decode
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - doh_rdata
    - doh_get32bit
    - doh_get16bit
    - doh_skipqname
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_resp_decode(const unsigned char *doh,\n                                 size_t
      dohlen,\n                                 DNStype dnstype,\n                                 struct
      dohentry *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:877,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:881,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/doh.c:888,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/doh.c:893,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/doh.c:896,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:900,1
    - Dst: doh_print_buf
      Src: /src/PROJ/curl/lib/doh.c:906,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:909,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:914,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/doh.c:914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - data
    - d
    argTypes:
    - struct Curl_easy*
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 873
    functionDepth: 6
    functionLinenumber: 873
    functionLinenumberEnd: 916
    functionName: doh_show
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_ptr
    - curl_msnprintf
    - doh_print_buf
    - strlen
    linkageType: ''
    returnType: void
    signature: "void doh_show(struct Curl_easy *data,\n                     const
      struct dohentry *d)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/doh.c:946,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:948,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/doh.c:970,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/doh.c:977,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:1000,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/doh.c:1001,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/doh.c:1003,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:1009,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/doh.c:1010,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/doh.c:1012,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/doh.c:1021,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - de
    - hostname
    - port
    - aip
    argTypes:
    - struct dohentry*
    - char*
    - int
    - struct Curl_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 1027
    functionName: doh2ai
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - DEBUGASSERT
    - strlen
    - Curl_freeaddrinfo
    - htons
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode doh2ai(const struct dohentry *de, const char *hostname,\n
      \                      int port, struct Curl_addrinfo **aip)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - dnstype
    argTypes:
    - DNStype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: doh_type2name
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *doh_type2name(DNStype dnstype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/doh.c:1051,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/doh.c:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: de_cleanup
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - curlx_dyn_free
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST de_cleanup(struct dohentry *d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:1083,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/doh.c:1086,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:1092,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/doh.c:1097,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:1100,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/doh.c:1101,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/doh.c:1107,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/doh.c:1114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - remaining
    - dnsname
    argTypes:
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1116
    functionName: doh_decode_rdata_name
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_dyn_free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode doh_decode_rdata_name(const unsigned char **buf,\n                                      size_t
      *remaining, char **dnsname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/doh.c:1137,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:1140,1
    - Dst: doh_decode_rdata_name
      Src: /src/PROJ/curl/lib/doh.c:1143,1
    - Dst: Curl_junkscan
      Src: /src/PROJ/curl/lib/doh.c:1146,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:1153,1
    - Dst: doh_get16bit
      Src: /src/PROJ/curl/lib/doh.c:1154,1
    - Dst: Curl_httpsrr_set
      Src: /src/PROJ/curl/lib/doh.c:1161,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:1168,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/PROJ/curl/lib/doh.c:1172,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/doh.c:1173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - data
    - cp
    - len
    - hrr
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    - struct Curl_https_rrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1175
    functionName: doh_resp_decode_httpsrr
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - Curl_junkscan
    - Curl_httpsrr_cleanup
    - calloc
    - DEBUGASSERT
    - Curl_safefree
    - Curl_httpsrr_set
    - doh_get16bit
    - doh_decode_rdata_name
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_resp_decode_httpsrr(struct Curl_easy *data,\n                                          const
      unsigned char *cp, size_t len,\n                                          struct
      Curl_https_rrinfo **hrr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:1184,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1185,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1188,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1191,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1193,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1195,1
    - Dst: doh_print_buf
      Src: /src/PROJ/curl/lib/doh.c:1197,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1201,1
    - Dst: doh_print_buf
      Src: /src/PROJ/curl/lib/doh.c:1203,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1207,1
    - Dst: doh_print_buf
      Src: /src/PROJ/curl/lib/doh.c:1209,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - data
    - hrr
    argTypes:
    - struct Curl_easy*
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1215
    functionName: doh_print_httpsrr
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - infof
    - doh_print_buf
    - DEBUGASSERT
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_print_httpsrr(struct Curl_easy *data,\n                                struct
      Curl_https_rrinfo *hrr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/doh.c:1231,1
    - Dst: CONN_IS_PROXIED
      Src: /src/PROJ/curl/lib/doh.c:1232,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/doh.c:1240,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/doh.c:1242,1
    - Dst: Curl_doh_close
      Src: /src/PROJ/curl/lib/doh.c:1244,1
    - Dst: de_init
      Src: /src/PROJ/curl/lib/doh.c:1246,1
    - Dst: doh_resp_decode
      Src: /src/PROJ/curl/lib/doh.c:1251,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/doh.c:1251,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/doh.c:1252,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/doh.c:1256,1
    - Dst: doh_strerror
      Src: /src/PROJ/curl/lib/doh.c:1256,1
    - Dst: doh_type2name
      Src: /src/PROJ/curl/lib/doh.c:1257,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/doh.c:1268,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/doh.c:1269,1
    - Dst: doh_show
      Src: /src/PROJ/curl/lib/doh.c:1270,1
    - Dst: doh2ai
      Src: /src/PROJ/curl/lib/doh.c:1273,1
    - Dst: Curl_dnscache_mk_entry
      Src: /src/PROJ/curl/lib/doh.c:1278,1
    - Dst: doh_resp_decode_httpsrr
      Src: /src/PROJ/curl/lib/doh.c:1284,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1287,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/doh.c:1288,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1291,1
    - Dst: doh_print_httpsrr
      Src: /src/PROJ/curl/lib/doh.c:1293,1
    - Dst: Curl_dnscache_add
      Src: /src/PROJ/curl/lib/doh.c:1300,1
    - Dst: de_cleanup
      Src: /src/PROJ/curl/lib/doh.c:1313,1
    - Dst: Curl_doh_cleanup
      Src: /src/PROJ/curl/lib/doh.c:1314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - data
    - dnsp
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1219
    functionDepth: 7
    functionLinenumber: 1219
    functionLinenumberEnd: 1316
    functionName: Curl_doh_is_resolved
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - failf
    - CONN_IS_PROXIED
    - Curl_doh_cleanup
    - doh_resp_decode
    - doh_resp_decode_httpsrr
    - doh2ai
    - Curl_dnscache_mk_entry
    - infof
    - doh_type2name
    - memset
    - CURL_TRC_DNS
    - Curl_dnscache_add
    - de_init
    - doh_show
    - doh_print_httpsrr
    - curlx_dyn_uptr
    - curlx_dyn_len
    - Curl_resolv_unlink
    - Curl_trc_ft_is_verbose
    - doh_strerror
    - de_cleanup
    - Curl_doh_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_doh_is_resolved(struct Curl_easy *data,\n                              struct
      Curl_dns_entry **dnsp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/doh.c:1331,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/doh.c:1332,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/doh.c:1335,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/doh.c:1335,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/lib/doh.c:1340,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/doh.c:1341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1345
    functionName: Curl_doh_close
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - infof
    - DEBUGF
    - Curl_multi_get_easy
    - curl_multi_remove_handle
    - DEBUGASSERT
    - Curl_close
    linkageType: ''
    returnType: void
    signature: void Curl_doh_close(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_doh_close
      Src: /src/PROJ/curl/lib/doh.c:1352,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/doh.c:1354,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/doh.c:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1358
    functionName: Curl_doh_cleanup
    functionSourceFile: /src/PROJ/curl/lib/doh.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_free
    - Curl_safefree
    - Curl_doh_close
    linkageType: ''
    returnType: void
    signature: void Curl_doh_cleanup(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/parsedate.c:225,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/parsedate.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - check
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: checkday
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: int
    signature: int checkday(const char *check, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/parsedate.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - check
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: checkmonth
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: int
    signature: int checkmonth(const char *check, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/parsedate.c:259,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/parsedate.c:260,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/parsedate.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - check
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: checktz
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: int
    signature: int checktz(const char *check, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/parsedate.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - date
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: skip
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 3
    functionsReached:
    - ISALNUM
    linkageType: ''
    returnType: void
    signature: void skip(const char **date)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - sec
    - min
    - hour
    - mday
    - mon
    - year
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: time2epoch
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: "time_t time2epoch(int sec, int min, int hour,\n                         int
      mday, int mon, int year)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/parsedate.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - date
    - endp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: oneortwodigit
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    linkageType: ''
    returnType: int
    signature: int oneortwodigit(const char *date, const char **endp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: oneortwodigit
      Src: /src/PROJ/curl/lib/parsedate.c:320,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/parsedate.c:321,1
    - Dst: oneortwodigit
      Src: /src/PROJ/curl/lib/parsedate.c:322,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/parsedate.c:324,1
    - Dst: oneortwodigit
      Src: /src/PROJ/curl/lib/parsedate.c:325,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/parsedate.c:342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - date
    - h
    - m
    - s
    - endp
    argTypes:
    - char*
    - int*
    - int*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 344
    functionName: match_time
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - CURL_UNCONST
    - oneortwodigit
    linkageType: ''
    returnType: bool
    signature: "bool match_time(const char *date,\n                       int *h,
      int *m, int *s, char **endp)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/PROJ/curl/lib/parsedate.c:378,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/lib/parsedate.c:380,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/lib/parsedate.c:384,1
    - Dst: checkday
      Src: /src/PROJ/curl/lib/parsedate.c:391,1
    - Dst: checkmonth
      Src: /src/PROJ/curl/lib/parsedate.c:396,1
    - Dst: checktz
      Src: /src/PROJ/curl/lib/parsedate.c:403,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/parsedate.c:413,1
    - Dst: match_time
      Src: /src/PROJ/curl/lib/parsedate.c:418,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/parsedate.c:426,1
    - Dst: time2epoch
      Src: /src/PROJ/curl/lib/parsedate.c:547,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 107
    argCount: 2
    argNames:
    - date
    - output
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 563
    functionName: parsedate
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - checkmonth
    - time2epoch
    - curlx_str_number
    - checktz
    - match_time
    - ISALPHA
    - skip
    - checkday
    linkageType: ''
    returnType: int
    signature: int parsedate(const char *date, time_t *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - date
    - output
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: parsedate
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parsedate(const char *date, time_t *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parsedate
      Src: /src/PROJ/curl/lib/parsedate.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - now
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: curl_getdate
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 3
    functionsReached:
    - parsedate
    linkageType: ''
    returnType: time_t
    signature: time_t curl_getdate(const char *p, const time_t *now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parsedate
      Src: /src/PROJ/curl/lib/parsedate.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - tp
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: Curl_getdate_capped
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 2
    functionsReached:
    - parsedate
    linkageType: ''
    returnType: int
    signature: int Curl_getdate_capped(const char *p, time_t *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/PROJ/curl/lib/parsedate.c:611,1
    - Dst: gmtime
      Src: /src/PROJ/curl/lib/parsedate.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - intime
    - store
    argTypes:
    - time_t
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 622
    functionName: Curl_gmtime
    functionSourceFile: /src/PROJ/curl/lib/parsedate.c
    functionUses: 3
    functionsReached:
    - gmtime
    - gmtime_r
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_gmtime(time_t intime, struct tm *store)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:268,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smtp.c:272,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/smtp.c:277,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/smtp.c:277,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/smtp.c:277,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/smtp.c:289,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/smtp.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - resp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 307
    functionName: smtp_endofresp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - memcpy
    - curlx_str_number
    - Curl_conn_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool smtp_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                          const char *line, size_t len, int *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:318,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/smtp.c:325,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/smtp.c:341,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/smtp.c:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 348
    functionName: smtp_get_message
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - Curl_conn_meta_get
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smtpc
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 387
    functionName: smtp_state
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    linkageType: ''
    returnType: void
    signature: "void smtp_state(struct Curl_easy *data,\n                       struct
      smtp_conn *smtpc,\n                       smtpstate newstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:408,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: smtp_perform_ehlo
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_ehlo(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:431,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: smtp_perform_helo
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_helo(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:449,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: smtp_perform_starttls
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_starttls(struct Curl_easy *data,\n                                      struct
      smtp_conn *smtpc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smtp.c:472,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/smtp.c:473,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/PROJ/curl/lib/smtp.c:474,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smtp.c:481,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/smtp.c:482,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/smtp.c:483,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/smtp.c:483,1
    - Dst: smtp_perform_ehlo
      Src: /src/PROJ/curl/lib/smtp.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 497
    functionName: smtp_perform_upgrade_tls
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_is_ssl
    - Curl_conn_connect
    - smtp_perform_ehlo
    - DEBUGASSERT
    - Curl_ssl_cfilter_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_upgrade_tls(struct Curl_easy *data,\n                                         struct
      smtp_conn *smtpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:512,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/smtp.c:513,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:520,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: smtp_perform_auth
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_auth(struct Curl_easy *data,\n                                  const
      char *mech,\n                                  const struct bufref *initresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:541,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:546,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/smtp.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: smtp_continue_auth
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_continue_auth(struct Curl_easy *data,\n                                   const
      char *mech,\n                                   const struct bufref *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:559,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: smtp_cancel_auth
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_cancel_auth(struct Curl_easy *data, const char *mech)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_can_authenticate
      Src: /src/PROJ/curl/lib/smtp.c:583,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:584,1
    - Dst: Curl_sasl_start
      Src: /src/PROJ/curl/lib/smtp.c:589,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:593,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/PROJ/curl/lib/smtp.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 599
    functionName: smtp_perform_authentication
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - Curl_sasl_start
    - Curl_sasl_is_blocked
    - Curl_sasl_can_authenticate
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_authentication(struct Curl_easy *data,\n                                            struct
      smtp_conn *smtpc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smtp_parse_address
      Src: /src/PROJ/curl/lib/smtp.c:627,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:635,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:636,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:640,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/smtp.c:646,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:647,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/smtp.c:652,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:655,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:663,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:668,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - data
    - smtpc
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 671
    functionName: smtp_perform_command
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_free_idnconverted_hostname
    - strcmp
    - smtp_parse_address
    - smtp_state
    - Curl_is_ASCII_name
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_command(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: smtp_parse_address
      Src: /src/PROJ/curl/lib/smtp.c:702,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:710,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:711,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/smtp.c:714,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/smtp.c:716,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/smtp.c:721,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:723,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/smtp.c:727,1
    - Dst: smtp_parse_address
      Src: /src/PROJ/curl/lib/smtp.c:743,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:751,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:752,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/smtp.c:756,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/smtp.c:758,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/smtp.c:763,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:764,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/smtp.c:768,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/lib/smtp.c:783,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/PROJ/curl/lib/smtp.c:784,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/smtp.c:788,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/smtp.c:788,1
    - Dst: Curl_mime_add_header
      Src: /src/PROJ/curl/lib/smtp.c:789,1
    - Dst: Curl_creader_set_mime
      Src: /src/PROJ/curl/lib/smtp.c:793,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/smtp.c:796,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/smtp.c:801,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/smtp.c:808,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/smtp.c:825,1
    - Dst: cr_eob_add
      Src: /src/PROJ/curl/lib/smtp.c:833,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:838,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:849,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:850,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:851,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:854,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 3
    argNames:
    - data
    - smtpc
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 679
    functionDepth: 6
    functionLinenumber: 679
    functionLinenumberEnd: 857
    functionName: smtp_perform_mail
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_mime_prepare_headers
    - free
    - cr_eob_add
    - Curl_mime_add_header
    - Curl_free_idnconverted_hostname
    - curl_maprintf
    - Curl_checkheaders
    - Curl_creader_total_length
    - smtp_parse_address
    - Curl_creader_set_fread
    - STRCONST
    - smtp_state
    - Curl_is_ASCII_name
    - Curl_creader_set_mime
    - curl_mime_headers
    - strdup
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_mail(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc,\n                                  struct SMTP *smtp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smtp_parse_address
      Src: /src/PROJ/curl/lib/smtp.c:877,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:884,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:889,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/smtp.c:892,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:893,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - smtpc
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 899
    functionName: smtp_perform_rcpt_to
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_free_idnconverted_hostname
    - smtp_parse_address
    - smtp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_rcpt_to(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:911,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: smtp_perform_quit
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_quit(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:929,1
    - Dst: smtp_perform_ehlo
      Src: /src/PROJ/curl/lib/smtp.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 936
    functionName: smtp_state_servergreet_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_perform_ehlo
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_servergreet_resp(struct Curl_easy *data,\n                                            struct
      smtp_conn *smtpc,\n                                            int smtpcode,\n
      \                                           smtpstate instate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:953,1
    - Dst: smtp_perform_authentication
      Src: /src/PROJ/curl/lib/smtp.c:957,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 963
    functionName: smtp_state_starttls_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_perform_authentication
    - smtp_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_starttls_resp(struct Curl_easy *data,\n                                         struct
      smtp_conn *smtpc,\n                                         int smtpcode,\n
      \                                        smtpstate instate)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/smtp.c:972,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/smtp.c:979,1
    - Dst: smtp_perform_helo
      Src: /src/PROJ/curl/lib/smtp.c:980,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:982,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/smtp.c:991,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/smtp.c:995,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/smtp.c:999,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/smtp.c:1003,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/PROJ/curl/lib/smtp.c:1034,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/smtp.c:1044,1
    - Dst: smtp_perform_starttls
      Src: /src/PROJ/curl/lib/smtp.c:1048,1
    - Dst: smtp_perform_authentication
      Src: /src/PROJ/curl/lib/smtp.c:1051,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1053,1
    - Dst: smtp_perform_authentication
      Src: /src/PROJ/curl/lib/smtp.c:1058,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1062,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 55
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 966
    functionDepth: 4
    functionLinenumber: 966
    functionLinenumberEnd: 1067
    functionName: smtp_state_ehlo_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - failf
    - Curl_conn_is_ssl
    - Curl_sasl_decode_mech
    - smtp_perform_authentication
    - curl_strnequal
    - smtp_perform_starttls
    - smtp_perform_helo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_ehlo_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1079,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1087
    functionName: smtp_state_helo_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_helo_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_continue
      Src: /src/PROJ/curl/lib/smtp.c:1100,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1104,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1115
    functionName: smtp_state_auth_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_continue
    - smtp_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_auth_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/smtp.c:1125,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1132,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/smtp.c:1137,1
    - Dst: smtp_perform_command
      Src: /src/PROJ/curl/lib/smtp.c:1145,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1149,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1118
    functionDepth: 4
    functionLinenumber: 1118
    functionLinenumberEnd: 1158
    functionName: smtp_state_command_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - smtp_perform_command
    - failf
    - Curl_client_write
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_command_resp(struct Curl_easy *data,\n                                        struct
      smtp_conn *smtpc,\n                                        struct SMTP *smtp,\n
      \                                       int smtpcode,\n                                        smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1171,1
    - Dst: smtp_perform_rcpt_to
      Src: /src/PROJ/curl/lib/smtp.c:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1161
    functionDepth: 4
    functionLinenumber: 1161
    functionLinenumberEnd: 1179
    functionName: smtp_state_mail_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_perform_rcpt_to
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_mail_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp,\n
      \                                    int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1206,1
    - Dst: smtp_perform_rcpt_to
      Src: /src/PROJ/curl/lib/smtp.c:1220,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1225,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/smtp.c:1230,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1182
    functionDepth: 4
    functionLinenumber: 1182
    functionLinenumberEnd: 1239
    functionName: smtp_state_rcpt_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - smtp_perform_rcpt_to
    - failf
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_rcpt_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp,\n
      \                                    int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/smtp.c:1251,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/smtp.c:1256,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/smtp.c:1259,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1242
    functionDepth: 3
    functionLinenumber: 1242
    functionLinenumberEnd: 1266
    functionName: smtp_state_data_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    - Curl_xfer_setup_send
    - failf
    - Curl_pgrsSetUploadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_data_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1286
    functionName: smtp_state_postdata_resp
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_postdata_resp(struct Curl_easy *data,\n                                         struct
      smtp_conn *smtpc,\n                                         int smtpcode,\n
      \                                        smtpstate instate)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1293,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1294,1
    - Dst: smtp_perform_upgrade_tls
      Src: /src/PROJ/curl/lib/smtp.c:1303,1
    - Dst: Curl_pp_flushsend
      Src: /src/PROJ/curl/lib/smtp.c:1310,1
    - Dst: Curl_pp_readresp
      Src: /src/PROJ/curl/lib/smtp.c:1314,1
    - Dst: smtp_state_servergreet_resp
      Src: /src/PROJ/curl/lib/smtp.c:1329,1
    - Dst: smtp_state_ehlo_resp
      Src: /src/PROJ/curl/lib/smtp.c:1334,1
    - Dst: smtp_state_helo_resp
      Src: /src/PROJ/curl/lib/smtp.c:1338,1
    - Dst: smtp_state_starttls_resp
      Src: /src/PROJ/curl/lib/smtp.c:1342,1
    - Dst: smtp_state_auth_resp
      Src: /src/PROJ/curl/lib/smtp.c:1350,1
    - Dst: smtp_state_command_resp
      Src: /src/PROJ/curl/lib/smtp.c:1354,1
    - Dst: smtp_state_mail_resp
      Src: /src/PROJ/curl/lib/smtp.c:1359,1
    - Dst: smtp_state_rcpt_resp
      Src: /src/PROJ/curl/lib/smtp.c:1363,1
    - Dst: smtp_state_data_resp
      Src: /src/PROJ/curl/lib/smtp.c:1367,1
    - Dst: smtp_state_postdata_resp
      Src: /src/PROJ/curl/lib/smtp.c:1371,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1377,1
    - Dst: Curl_pp_moredata
      Src: /src/PROJ/curl/lib/smtp.c:1381,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 61
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1288
    functionDepth: 5
    functionLinenumber: 1288
    functionLinenumberEnd: 1384
    functionName: smtp_pp_statemachine
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state_command_resp
    - Curl_pp_moredata
    - smtp_state_servergreet_resp
    - Curl_pp_flushsend
    - smtp_state_ehlo_resp
    - smtp_state_data_resp
    - Curl_meta_get
    - smtp_perform_upgrade_tls
    - smtp_state_mail_resp
    - smtp_state_rcpt_resp
    - Curl_conn_meta_get
    - smtp_state
    - smtp_state_helo_resp
    - smtp_state_postdata_resp
    - Curl_pp_readresp
    - smtp_state_starttls_resp
    - smtp_state_auth_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_pp_statemachine(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1391,1
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1400
    functionName: smtp_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - data
    - smtpc
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1402
    functionDepth: 3
    functionLinenumber: 1402
    functionLinenumberEnd: 1412
    functionName: smtp_block_statemach
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_block_statemach(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1419,1
    - Dst: Curl_pp_pollset
      Src: /src/PROJ/curl/lib/smtp.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1421
    functionName: smtp_pollset
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1436,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/smtp.c:1444,1
    - Dst: PINGPONG_SETUP
      Src: /src/PROJ/curl/lib/smtp.c:1446,1
    - Dst: Curl_sasl_init
      Src: /src/PROJ/curl/lib/smtp.c:1449,1
    - Dst: Curl_pp_init
      Src: /src/PROJ/curl/lib/smtp.c:1452,1
    - Dst: smtp_parse_url_options
      Src: /src/PROJ/curl/lib/smtp.c:1455,1
    - Dst: smtp_parse_url_path
      Src: /src/PROJ/curl/lib/smtp.c:1460,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1465,1
    - Dst: smtp_multi_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1433
    functionDepth: 4
    functionLinenumber: 1433
    functionLinenumberEnd: 1470
    functionName: smtp_connect
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_init
    - Curl_sasl_init
    - connkeep
    - smtp_multi_statemach
    - smtp_parse_url_options
    - PINGPONG_SETUP
    - smtp_parse_url_path
    - Curl_conn_meta_get
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1485,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1488,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smtp.c:1498,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smtp.c:1501,1
    - Dst: IS_MIME_POST
      Src: /src/PROJ/curl/lib/smtp.c:1505,1
    - Dst: smtp_state
      Src: /src/PROJ/curl/lib/smtp.c:1507,1
    - Dst: smtp_block_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1510,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1515,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1481
    functionDepth: 4
    functionLinenumber: 1481
    functionLinenumberEnd: 1518
    functionName: smtp_done
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - connclose
    - Curl_conn_meta_get
    - smtp_state
    - CURL_TRC_SMTP
    - Curl_safefree
    - IS_MIME_POST
    - smtp_block_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1536,1
    - Dst: IS_MIME_POST
      Src: /src/PROJ/curl/lib/smtp.c:1560,1
    - Dst: smtp_perform_mail
      Src: /src/PROJ/curl/lib/smtp.c:1562,1
    - Dst: smtp_perform_command
      Src: /src/PROJ/curl/lib/smtp.c:1565,1
    - Dst: smtp_multi_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1571,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/smtp.c:1573,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1527
    functionDepth: 7
    functionLinenumber: 1527
    functionLinenumberEnd: 1579
    functionName: smtp_perform
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_perform_mail
    - smtp_perform_command
    - smtp_multi_statemach
    - Curl_conn_is_connected
    - CURL_TRC_SMTP
    - IS_MIME_POST
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform(struct Curl_easy *data,\n                             struct
      smtp_conn *smtpc,\n                             struct SMTP *smtp,\n                             bool
      *connected,\n                             bool *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1593,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1594,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smtp.c:1597,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smtp.c:1598,1
    - Dst: smtp_parse_custom_request
      Src: /src/PROJ/curl/lib/smtp.c:1604,1
    - Dst: smtp_regular_transfer
      Src: /src/PROJ/curl/lib/smtp.c:1608,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1611
    functionName: smtp_do
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_regular_transfer
    - Curl_meta_get
    - Curl_conn_meta_get
    - DEBUGASSERT
    - CURL_TRC_SMTP
    - smtp_parse_custom_request
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1624,1
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/smtp.c:1635,1
    - Dst: smtp_perform_quit
      Src: /src/PROJ/curl/lib/smtp.c:1636,1
    - Dst: smtp_block_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1637,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1620
    functionDepth: 4
    functionLinenumber: 1620
    functionLinenumberEnd: 1642
    functionName: smtp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_needs_flush
    - CURL_TRC_SMTP
    - smtp_perform_quit
    - smtp_block_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/smtp.c:1653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smtp
    - connected
    argTypes:
    - struct Curl_easy*
    - struct SMTP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1645
    functionDepth: 3
    functionLinenumber: 1645
    functionLinenumberEnd: 1656
    functionName: smtp_dophase_done
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_dophase_done(struct Curl_easy *data,\n                                  struct
      SMTP *smtp,\n                                  bool connected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smtp.c:1661,1
    - Dst: smtp_multi_statemach
      Src: /src/PROJ/curl/lib/smtp.c:1666,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/smtp.c:1668,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/smtp.c:1668,1
    - Dst: smtp_dophase_done
      Src: /src/PROJ/curl/lib/smtp.c:1670,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/smtp.c:1672,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/smtp.c:1672,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1659
    functionDepth: 4
    functionLinenumber: 1659
    functionLinenumberEnd: 1677
    functionName: smtp_doing
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - smtp_dophase_done
    - smtp_multi_statemach
    - Curl_meta_get
    - CURL_TRC_SMTP
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/smtp.c:1700,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/smtp.c:1701,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/smtp.c:1702,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/smtp.c:1703,1
    - Dst: smtp_perform
      Src: /src/PROJ/curl/lib/smtp.c:1706,1
    - Dst: smtp_dophase_done
      Src: /src/PROJ/curl/lib/smtp.c:1710,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtp
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1688
    functionDepth: 8
    functionLinenumber: 1688
    functionLinenumberEnd: 1715
    functionName: smtp_regular_transfer
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - smtp_dophase_done
    - Curl_pgrsSetUploadCounter
    - CURL_TRC_SMTP
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadCounter
    - smtp_perform
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_regular_transfer(struct Curl_easy *data,\n                                      struct
      smtp_conn *smtpc,\n                                      struct SMTP *smtp,\n
      \                                     bool *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1724
    functionName: smtp_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void smtp_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_disconnect
      Src: /src/PROJ/curl/lib/smtp.c:1731,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smtp.c:1732,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smtp.c:1733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1726
    functionDepth: 2
    functionLinenumber: 1726
    functionLinenumberEnd: 1734
    functionName: smtp_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void smtp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/smtp.c:1743,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/smtp.c:1745,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/smtp.c:1750,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/smtp.c:1752,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1758
    functionName: smtp_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    - CURL_TRC_SMTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/smtp.c:1784,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/PROJ/curl/lib/smtp.c:1785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - smtpc
    argTypes:
    - struct connectdata*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1795
    functionName: smtp_parse_url_options
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_sasl_parse_url_auth_option
    - curl_strnequal
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_url_options(struct connectdata *conn,\n                                       struct
      smtp_conn *smtpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gethostname
      Src: /src/PROJ/curl/lib/smtp.c:1812,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/smtp.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1820
    functionName: smtp_parse_url_path
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_gethostname
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_url_path(struct Curl_easy *data,\n                                    struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/smtp.c:1836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1839
    functionName: smtp_parse_custom_request
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_custom_request(struct Curl_easy *data,\n                                          struct
      SMTP *smtp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/smtp.c:1884,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smtp.c:1889,1
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/smtp.c:1896,1
    - Dst: strpbrk
      Src: /src/PROJ/curl/lib/smtp.c:1904,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/PROJ/curl/lib/smtp.c:1910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - fqma
    - address
    - host
    - suffix
    argTypes:
    - char*
    - char**
    - struct hostname*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1921
    functionName: smtp_parse_address
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 3
    functionsReached:
    - strpbrk
    - strrchr
    - strlen
    - Curl_idnconvert_hostname
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_address(const char *fqma, char **address,\n                                   struct
      hostname *host, const char **suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/smtp.c:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1944
    functionName: cr_eob_init
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_eob_init(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/smtp.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 1951
    functionName: cr_eob_close
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cr_eob_close(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/smtp.c:1968,1
    - Dst: Curl_creader_read
      Src: /src/PROJ/curl/lib/smtp.c:1970,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:1971,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/smtp.c:1978,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/smtp.c:1988,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/smtp.c:1991,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/smtp.c:2011,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:2025,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/smtp.c:2038,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smtp.c:2038,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/smtp.c:2044,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/smtp.c:2045,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/smtp.c:2050,1
    - Dst: CURL_TRC_SMTP
      Src: /src/PROJ/curl/lib/smtp.c:2052,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/smtp.c:2056,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/smtp.c:2056,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 1958
    functionDepth: 1
    functionLinenumber: 1958
    functionLinenumberEnd: 2059
    functionName: cr_eob_read
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_bufq_cwrite
    - DEBUGF
    - Curl_bufq_cread
    - Curl_bufq_is_empty
    - CURL_TRC_SMTP
    - memchr
    - strlen
    - Curl_creader_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_eob_read(struct Curl_easy *data,\n                            struct
      Curl_creader *reader,\n                            char *buf, size_t blen,\n
      \                           size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2068
    functionName: cr_eob_total_length
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_eob_total_length(struct Curl_easy *data,\n                                      struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/smtp.c:2089,1
    - Dst: Curl_creader_add
      Src: /src/PROJ/curl/lib/smtp.c:2092,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/smtp.c:2095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2097
    functionName: cr_eob_add
    functionSourceFile: /src/PROJ/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_creader_add
    - Curl_creader_create
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_eob_add(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - firstbyte
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: ws_frame_name_of_op
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ws_frame_name_of_op(unsigned char firstbyte)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:160,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:167,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:174,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:181,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:188,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:195,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:201,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:208,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:215,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:224,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - data
    - firstbyte
    - cont_flags
    argTypes:
    - struct Curl_easy*
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: ws_frame_firstbyte2flags
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: int
    signature: "int ws_frame_firstbyte2flags(struct Curl_easy *data,\n                                    unsigned
      char firstbyte, int cont_flags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:241,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:246,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ws.c:250,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:255,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:275,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:281,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:287,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 4
    argNames:
    - data
    - flags
    - contfragment
    - pfirstbyte
    argTypes:
    - struct Curl_easy*
    - unsigned int
    - bool
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 293
    functionName: ws_frame_flags2firstbyte
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_frame_flags2firstbyte(struct Curl_easy *data,\n                                         unsigned
      int flags,\n                                         bool contfragment,\n                                         unsigned
      char *pfirstbyte)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:302,1
    - Dst: ws_frame_name_of_op
      Src: /src/PROJ/curl/lib/ws.c:303,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:308,1
    - Dst: ws_frame_name_of_op
      Src: /src/PROJ/curl/lib/ws.c:309,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:314,1
    - Dst: ws_frame_name_of_op
      Src: /src/PROJ/curl/lib/ws.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - dec
    - data
    - msg
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: ws_dec_info
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WS
    - ws_frame_name_of_op
    linkageType: ''
    returnType: void
    signature: "void ws_dec_info(struct ws_decoder *dec, struct Curl_easy *data,\n
      \                       const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct ws_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: ws_dec_next_frame
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws_dec_next_frame(struct ws_decoder *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct ws_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: ws_dec_reset
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws_dec_reset(struct ws_decoder *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct ws_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: ws_dec_init
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_dec_reset
    linkageType: ''
    returnType: void
    signature: void ws_dec_init(struct ws_decoder *dec)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/ws.c:369,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/ws.c:372,1
    - Dst: ws_frame_firstbyte2flags
      Src: /src/PROJ/curl/lib/ws.c:374,1
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:377,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/ws.c:393,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:398,1
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:399,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:405,1
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:406,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:411,1
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:412,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:416,1
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:417,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/ws.c:437,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:445,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:455,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:469,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:470,1
    - Dst: ws_dec_info
      Src: /src/PROJ/curl/lib/ws.c:476,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - dec
    - data
    - inraw
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 480
    functionName: ws_dec_read_head
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    - ws_dec_info
    - Curl_bufq_peek
    - DEBUGASSERT
    - ws_frame_firstbyte2flags
    - Curl_bufq_skip
    - ws_dec_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_dec_read_head(struct ws_decoder *dec,\n                                 struct
      Curl_easy *data,\n                                 struct bufq *inraw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/ws.c:495,1
    - Dst: write_cb
      Src: /src/PROJ/curl/lib/ws.c:498,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/ws.c:503,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - dec
    - data
    - inraw
    - write_cb
    - write_ctx
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - struct bufq*
    - ws_write_payload*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 511
    functionName: ws_dec_pass_payload
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_skip
    - write_cb
    - Curl_bufq_peek
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_dec_pass_payload(struct ws_decoder *dec,\n                                    struct
      Curl_easy *data,\n                                    struct bufq *inraw,\n
      \                                   ws_write_payload *write_cb,\n                                    void
      *write_ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:521,1
    - Dst: ws_dec_next_frame
      Src: /src/PROJ/curl/lib/ws.c:526,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/ws.c:528,1
    - Dst: ws_dec_read_head
      Src: /src/PROJ/curl/lib/ws.c:530,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:533,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:537,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:537,1
    - Dst: write_cb
      Src: /src/PROJ/curl/lib/ws.c:546,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/ws.c:553,1
    - Dst: ws_dec_pass_payload
      Src: /src/PROJ/curl/lib/ws.c:555,1
    - Dst: ws_dec_info
      Src: /src/PROJ/curl/lib/ws.c:556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - dec
    - data
    - inraw
    - write_cb
    - write_ctx
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - struct bufq*
    - ws_write_payload*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 567
    functionName: ws_dec_pass
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_dec_next_frame
    - failf
    - ws_dec_pass_payload
    - FALLTHROUGH
    - Curl_bufq_is_empty
    - write_cb
    - DEBUGASSERT
    - ws_dec_info
    - ws_dec_read_head
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_dec_pass(struct ws_decoder *dec,\n                            struct
      Curl_easy *data,\n                            struct bufq *inraw,\n                            ws_write_payload
      *write_cb,\n                            void *write_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ws
    - frame_age
    - frame_flags
    - payload_offset
    - payload_len
    - cur_len
    argTypes:
    - struct websocket*
    - int
    - int
    - curl_off_t
    - curl_off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: update_meta
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void update_meta(struct websocket *ws,\n                        int
      frame_age, int frame_flags,\n                        curl_off_t payload_offset,\n
      \                       curl_off_t payload_len,\n                        size_t
      cur_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/ws.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: ws_cw_init
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_cw_init(struct Curl_easy *data,\n                           struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/ws.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: ws_cw_close
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void ws_cw_close(struct Curl_easy *data, struct Curl_cwriter *writer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:631,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/ws.c:639,1
    - Dst: ws_enc_add_pending
      Src: /src/PROJ/curl/lib/ws.c:642,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:644,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - ws
    - payload
    - plen
    - frame_type
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 648
    functionName: ws_enc_add_cntrl
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ws_enc_add_pending
    - ws_flush
    - Curl_is_in_callback
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_add_cntrl(struct Curl_easy *data,\n                                 struct
      websocket *ws,\n                                 const unsigned char *payload,\n
      \                                size_t plen,\n                                 unsigned
      int frame_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - payload_total
    - payload_offset
    - payload_buffered
    argTypes:
    - curl_off_t
    - curl_off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 664
    functionName: ws_payload_remain
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t ws_payload_remain(curl_off_t payload_total,\n                                    curl_off_t
      payload_offset,\n                                    size_t payload_buffered)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ws_payload_remain
      Src: /src/PROJ/curl/lib/ws.c:682,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:684,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:690,1
    - Dst: ws_enc_add_cntrl
      Src: /src/PROJ/curl/lib/ws.c:693,1
    - Dst: update_meta
      Src: /src/PROJ/curl/lib/ws.c:699,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ws.c:702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 8
    argNames:
    - buf
    - buflen
    - frame_age
    - frame_flags
    - payload_offset
    - payload_len
    - user_data
    - pnwritten
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    - curl_off_t
    - curl_off_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 710
    functionName: ws_cw_dec_next
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - ws_payload_remain
    - ws_enc_add_cntrl
    - update_meta
    - DEBUGASSERT
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_cw_dec_next(const unsigned char *buf, size_t buflen,\n
      \                              int frame_age, int frame_flags,\n                               curl_off_t
      payload_offset,\n                               curl_off_t payload_len,\n                               void
      *user_data,\n                               size_t *pnwritten)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/ws.c:720,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ws.c:722,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:724,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:726,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/ws.c:732,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ws.c:735,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:740,1
    - Dst: ws_dec_pass
      Src: /src/PROJ/curl/lib/ws.c:746,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:754,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:759,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:760,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:761,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 712
    functionDepth: 4
    functionLinenumber: 712
    functionLinenumberEnd: 766
    functionName: ws_cw_write
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - CURL_TRC_WRITE
    - Curl_bufq_is_empty
    - Curl_conn_meta_get
    - Curl_bufq_len
    - ws_dec_pass
    - Curl_cwriter_write
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_cw_write(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer, int type,\n                            const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:782,1
    - Dst: ws_frame_name_of_op
      Src: /src/PROJ/curl/lib/ws.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enc
    - data
    - msg
    argTypes:
    - struct ws_encoder*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: ws_enc_info
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WS
    - ws_frame_name_of_op
    linkageType: ''
    returnType: void
    signature: "void ws_enc_info(struct ws_encoder *enc, struct Curl_easy *data,\n
      \                       const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - enc
    argTypes:
    - struct ws_encoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: ws_enc_reset
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws_enc_reset(struct ws_encoder *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws_enc_reset
      Src: /src/PROJ/curl/lib/ws.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - struct ws_encoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: ws_enc_init
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_enc_reset
    linkageType: ''
    returnType: void
    signature: void ws_enc_init(struct ws_encoder *enc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:836,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:843,1
    - Dst: ws_frame_flags2firstbyte
      Src: /src/PROJ/curl/lib/ws.c:848,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:859,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:863,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:867,1
    - Dst: ws_enc_info
      Src: /src/PROJ/curl/lib/ws.c:896,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/ws.c:900,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/ws.c:905,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/ws.c:907,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/ws.c:911,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/ws.c:916,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:921,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 5
    argNames:
    - data
    - enc
    - flags
    - payload_len
    - out
    argTypes:
    - struct Curl_easy*
    - struct ws_encoder*
    - unsigned int
    - curl_off_t
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 925
    functionName: ws_enc_add_frame
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - getenv
    - failf
    - memcpy
    - ws_frame_flags2firstbyte
    - ws_enc_info
    - memset
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_add_frame(struct Curl_easy *data,\n                                 struct
      ws_encoder *enc,\n                                 unsigned int flags,\n                                 curl_off_t
      payload_len,\n                                 struct bufq *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ws_enc_add_pending
      Src: /src/PROJ/curl/lib/ws.c:937,1
    - Dst: ws_enc_add_frame
      Src: /src/PROJ/curl/lib/ws.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - data
    - ws
    - enc
    - flags
    - payload_len
    - out
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - struct ws_encoder*
    - unsigned int
    - curl_off_t
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 942
    functionName: ws_enc_write_head
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_enc_add_frame
    - ws_enc_add_pending
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_write_head(struct Curl_easy *data,\n                                  struct
      websocket *ws,\n                                  struct ws_encoder *enc,\n
      \                                 unsigned int flags,\n                                  curl_off_t
      payload_len,\n                                  struct bufq *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/lib/ws.c:953,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/ws.c:963,1
    - Dst: ws_enc_info
      Src: /src/PROJ/curl/lib/ws.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - enc
    - data
    - buf
    - buflen
    - out
    - pnwritten
    argTypes:
    - struct ws_encoder*
    - struct Curl_easy*
    - unsigned char*
    - size_t
    - struct bufq*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 976
    functionName: ws_enc_write_payload
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_full
    - ws_enc_info
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_write_payload(struct ws_encoder *enc,\n                                     struct
      Curl_easy *data,\n                                     const unsigned char *buf,
      size_t buflen,\n                                     struct bufq *out, size_t
      *pnwritten)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ws_enc_add_frame
      Src: /src/PROJ/curl/lib/ws.c:989,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:993,1
    - Dst: ws_enc_write_payload
      Src: /src/PROJ/curl/lib/ws.c:997,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1001,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1006,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1007,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1013,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/ws.c:1014,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - data
    - ws
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 1018
    functionName: ws_enc_add_pending
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 2
    functionsReached:
    - ws_enc_add_frame
    - ws_enc_write_payload
    - memset
    - DEBUGASSERT
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_add_pending(struct Curl_easy *data,\n                                   struct
      websocket *ws)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1031,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1034,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1040,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1048,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:1055,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:1055,1
    - Dst: ws_enc_write_head
      Src: /src/PROJ/curl/lib/ws.c:1059,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1064,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1070,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:1073,1
    - Dst: ws_enc_write_payload
      Src: /src/PROJ/curl/lib/ws.c:1074,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:1080,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:1087,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:1087,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:1095,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:1098,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1106,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 7
    argNames:
    - data
    - ws
    - buffer
    - buflen
    - fragsize
    - flags
    - pnsent
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - unsigned char*
    - size_t
    - curl_off_t
    - unsigned int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1020
    functionDepth: 4
    functionLinenumber: 1020
    functionLinenumberEnd: 1116
    functionName: ws_enc_send
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    - ws_enc_write_head
    - Curl_bufq_is_empty
    - ws_flush
    - ws_enc_write_payload
    - Curl_is_in_callback
    - DEBUGASSERT
    - Curl_bufq_len
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_send(struct Curl_easy *data,\n                            struct
      websocket *ws,\n                            const unsigned char *buffer,\n                            size_t
      buflen,\n                            curl_off_t fragsize,\n                            unsigned
      int flags,\n                            size_t *pnsent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: cr_ws_init
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_ws_init(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: cr_ws_close
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cr_ws_close(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1154,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1156,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1160,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1168,1
    - Dst: Curl_creader_read
      Src: /src/PROJ/curl/lib/ws.c:1174,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1179,1
    - Dst: Curl_creader_clear_eos
      Src: /src/PROJ/curl/lib/ws.c:1182,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1193,1
    - Dst: ws_enc_write_head
      Src: /src/PROJ/curl/lib/ws.c:1195,1
    - Dst: ws_enc_write_payload
      Src: /src/PROJ/curl/lib/ws.c:1201,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/ws.c:1205,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1208,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1208,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/ws.c:1210,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1211,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/ws.c:1218,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1221
    functionName: cr_ws_read
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WS
    - failf
    - Curl_bufq_cread
    - ws_enc_write_head
    - Curl_bufq_is_empty
    - ws_enc_write_payload
    - Curl_conn_meta_get
    - DEBUGASSERT
    - Curl_creader_clear_eos
    - CURL_TRC_READ
    - Curl_creader_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_ws_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen,\n
      \                          size_t *pnread, bool *peos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/ws.c:1276,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/ws.c:1279,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1282,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ws.c:1284,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/ws.c:1287,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ws.c:1288,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/ws.c:1289,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/ws.c:1290,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ws.c:1290,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/ws.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1299
    functionName: Curl_ws_request
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 1
    functionsReached:
    - Curl_rand
    - free
    - strcpy
    - curlx_dyn_addf
    - Curl_checkheaders
    - curlx_base64_encode
    - CURL_ARRAYSIZE
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ws_request(struct Curl_easy *data, struct dynbuf *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/ws.c:1306,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/ws.c:1307,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ws.c:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1309
    functionName: ws_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void ws_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1324,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1325,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ws.c:1328,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/ws.c:1333,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ws.c:1336,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1341,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/ws.c:1342,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/ws.c:1344,1
    - Dst: ws_dec_init
      Src: /src/PROJ/curl/lib/ws.c:1346,1
    - Dst: ws_enc_init
      Src: /src/PROJ/curl/lib/ws.c:1347,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/ws.c:1348,1
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/lib/ws.c:1354,1
    - Dst: ws_dec_reset
      Src: /src/PROJ/curl/lib/ws.c:1355,1
    - Dst: ws_enc_reset
      Src: /src/PROJ/curl/lib/ws.c:1356,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ws.c:1377,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/ws.c:1380,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/ws.c:1384,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/ws.c:1396,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1400,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1405,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/ws.c:1406,1
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/ws.c:1412,1
    - Dst: Curl_creader_add
      Src: /src/PROJ/curl/lib/ws.c:1416,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ws.c:1430,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/ws.c:1441,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/ws.c:1443,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1445,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1447,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 3
    argNames:
    - data
    - mem
    - nread
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1450
    functionName: Curl_ws_accept
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 1
    functionsReached:
    - getenv
    - Curl_cwriter_create
    - Curl_client_write
    - Curl_conn_meta_get
    - Curl_bufq_reset
    - Curl_conn_meta_set
    - ws_dec_reset
    - CURL_TRC_WS
    - infof
    - Curl_creader_free
    - Curl_creader_set_fread
    - Curl_creader_add
    - Curl_creader_create
    - ws_enc_reset
    - Curl_cwriter_add
    - Curl_cwriter_free
    - calloc
    - DEBUGASSERT
    - ws_dec_init
    - Curl_bufq_write
    - ws_enc_init
    - Curl_bufq_init2
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ws_accept(struct Curl_easy *data,\n                        const
      char *mem, size_t nread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ws_payload_remain
      Src: /src/PROJ/curl/lib/ws.c:1479,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1481,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1495,1
    - Dst: ws_enc_add_cntrl
      Src: /src/PROJ/curl/lib/ws.c:1498,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1507,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/ws.c:1508,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/ws.c:1514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 8
    argNames:
    - buf
    - buflen
    - frame_age
    - frame_flags
    - payload_offset
    - payload_len
    - userp
    - pnwritten
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    - curl_off_t
    - curl_off_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1519
    functionName: ws_client_collect
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ws_payload_remain
    - ws_enc_add_cntrl
    - CURLMIN
    - DEBUGASSERT
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_client_collect(const unsigned char *buf, size_t buflen,\n
      \                                 int frame_age, int frame_flags,\n                                  curl_off_t
      payload_offset,\n                                  curl_off_t payload_len,\n
      \                                 void *userp,\n                                  size_t
      *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_recv
      Src: /src/PROJ/curl/lib/ws.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1521
    functionDepth: 3
    functionLinenumber: 1521
    functionLinenumberEnd: 1527
    functionName: nw_in_recv
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - curl_easy_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode nw_in_recv(void *reader_ctx,\n                           unsigned
      char *buf, size_t buflen,\n                           size_t *pnread)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/ws.c:1540,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1547,1
    - Dst: Curl_getconnectinfo
      Src: /src/PROJ/curl/lib/ws.c:1551,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1553,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1557,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1559,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/ws.c:1564,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1574,1
    - Dst: Curl_bufq_slurp
      Src: /src/PROJ/curl/lib/ws.c:1576,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ws.c:1581,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1584,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:1585,1
    - Dst: ws_dec_pass
      Src: /src/PROJ/curl/lib/ws.c:1588,1
    - Dst: ws_dec_info
      Src: /src/PROJ/curl/lib/ws.c:1592,1
    - Dst: update_meta
      Src: /src/PROJ/curl/lib/ws.c:1609,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1613,1
    - Dst: ws_enc_add_pending
      Src: /src/PROJ/curl/lib/ws.c:1620,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:1622,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:1622,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 5
    argNames:
    - d
    - buffer
    - buflen
    - nread
    - metap
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - struct curl_ws_frame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1529
    functionDepth: 4
    functionLinenumber: 1529
    functionLinenumberEnd: 1625
    functionName: curl_ws_recv
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 6
    functionsReached:
    - infof
    - failf
    - GOOD_EASY_HANDLE
    - ws_enc_add_pending
    - Curl_bufq_is_empty
    - ws_flush
    - update_meta
    - Curl_conn_meta_get
    - memset
    - Curl_bufq_len
    - Curl_getconnectinfo
    - Curl_is_in_callback
    - Curl_bufq_slurp
    - ws_dec_pass
    - ws_dec_info
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_recv(CURL *d, void *buffer,\n                      size_t
      buflen, size_t *nread,\n                      const struct curl_ws_frame **metap)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/ws.c:1630,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/ws.c:1638,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ws.c:1641,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/ws.c:1646,1
    - Dst: ws_send_raw_blocking
      Src: /src/PROJ/curl/lib/ws.c:1656,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:1659,1
    - Dst: Curl_senddata
      Src: /src/PROJ/curl/lib/ws.c:1660,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/ws.c:1662,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1668,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/ws.c:1669,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1673,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1677,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/ws.c:1678,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - data
    - ws
    - blocking
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1627
    functionDepth: 3
    functionLinenumber: 1627
    functionLinenumberEnd: 1683
    functionName: ws_flush
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 3
    functionsReached:
    - getenv
    - Curl_senddata
    - failf
    - Curl_bufq_is_empty
    - Curl_bufq_peek
    - curlx_str_number
    - ws_send_raw_blocking
    - Curl_is_in_callback
    - Curl_bufq_len
    - Curl_bufq_skip
    - Curl_xfer_send
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_flush(struct Curl_easy *data, struct websocket *ws,\n
      \                        bool blocking)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/ws.c:1694,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ws.c:1697,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1705,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/ws.c:1707,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1709,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/ws.c:1716,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - data
    - ws
    - buffer
    - buflen
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1685
    functionDepth: 2
    functionLinenumber: 1685
    functionLinenumberEnd: 1725
    functionName: ws_send_raw_blocking
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 1
    functionsReached:
    - failf
    - Curl_timeleft
    - Curl_socket_check
    - DEBUGASSERT
    - Curl_xfer_send
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_send_raw_blocking(struct Curl_easy *data,\n                                     struct
      websocket *ws,\n                                     const char *buffer, size_t
      buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1733,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1735,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:1741,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:1746,1
    - Dst: ws_send_raw_blocking
      Src: /src/PROJ/curl/lib/ws.c:1749,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:1753,1
    - Dst: Curl_senddata
      Src: /src/PROJ/curl/lib/ws.c:1756,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - data
    - buffer
    - buflen
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1727
    functionDepth: 4
    functionLinenumber: 1727
    functionLinenumberEnd: 1762
    functionName: ws_send_raw
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_senddata
    - failf
    - ws_flush
    - Curl_conn_meta_get
    - ws_send_raw_blocking
    - Curl_is_in_callback
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_send_raw(struct Curl_easy *data, const void *buffer,\n
      \                           size_t buflen, size_t *pnwritten)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/ws.c:1776,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1778,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1785,1
    - Dst: Curl_connect_only_attach
      Src: /src/PROJ/curl/lib/ws.c:1791,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1796,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1800,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1802,1
    - Dst: ws_flush
      Src: /src/PROJ/curl/lib/ws.c:1810,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1815,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1819,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1823,1
    - Dst: ws_send_raw
      Src: /src/PROJ/curl/lib/ws.c:1826,1
    - Dst: ws_enc_send
      Src: /src/PROJ/curl/lib/ws.c:1831,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1834,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 6
    argNames:
    - d
    - buffer_arg
    - buflen
    - sent
    - fragsize
    - flags
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - curl_off_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1764
    functionDepth: 5
    functionLinenumber: 1764
    functionLinenumberEnd: 1839
    functionName: curl_ws_send
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 8
    functionsReached:
    - Curl_connect_only_attach
    - failf
    - GOOD_EASY_HANDLE
    - ws_send_raw
    - ws_flush
    - Curl_conn_meta_get
    - ws_enc_send
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_send(CURL *d, const void *buffer_arg,\n                      size_t
      buflen, size_t *sent,\n                      curl_off_t fragsize,\n                      unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_setup_conn
      Src: /src/PROJ/curl/lib/ws.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1850
    functionName: ws_setup_conn
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_http_setup_conn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_setup_conn(struct Curl_easy *data,\n                              struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/ws.c:1858,1
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/ws.c:1858,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1867
    functionName: curl_ws_meta
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 3
    functionsReached:
    - Curl_conn_meta_get
    - Curl_is_in_callback
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: struct curl_ws_frame
    signature: struct curl_ws_frame *curl_ws_meta(CURL *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/ws.c:1877,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1880,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1884,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1888,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ws.c:1892,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1894,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1900,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ws.c:1906,1
    - Dst: ws_enc_write_head
      Src: /src/PROJ/curl/lib/ws.c:1911,1
    - Dst: CURL_TRC_WS
      Src: /src/PROJ/curl/lib/ws.c:1914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - d
    - flags
    - frame_len
    argTypes:
    - CURL*
    - unsigned int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1869
    functionDepth: 4
    functionLinenumber: 1869
    functionLinenumberEnd: 1919
    functionName: curl_ws_start_frame
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 2
    functionsReached:
    - failf
    - GOOD_EASY_HANDLE
    - ws_enc_write_head
    - Curl_conn_meta_get
    - CURL_TRC_WS
    linkageType: ''
    returnType: CURL_EXTERN
    signature: "CURL_EXTERN curl_ws_start_frame(CURL *d,\n                                         unsigned
      int flags,\n                                         curl_off_t frame_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - curl
    - buffer
    - buflen
    - nread
    - metap
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - struct curl_ws_frame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1988
    functionName: curl_ws_recv
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen,\n                      size_t
      *nread,\n                      const struct curl_ws_frame **metap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - curl
    - buffer
    - buflen
    - sent
    - fragsize
    - flags
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - curl_off_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2002
    functionName: curl_ws_send
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_send(CURL *curl, const void *buffer,\n                      size_t
      buflen, size_t *sent,\n                      curl_off_t fragsize,\n                      unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2008
    functionName: curl_ws_meta
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct curl_ws_frame
    signature: struct curl_ws_frame *curl_ws_meta(CURL *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curl
    - flags
    - frame_len
    argTypes:
    - CURL*
    - unsigned int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2018
    functionName: curl_ws_start_frame
    functionSourceFile: /src/PROJ/curl/lib/ws.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURL_EXTERN
    signature: "CURL_EXTERN curl_ws_start_frame(CURL *curl,\n                                         unsigned
      int flags,\n                                         curl_off_t frame_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sockfd
    - 'on'
    argTypes:
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: set_ipv6_v6only
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void set_ipv6_v6only(curl_socket_t sockfd, int on)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:113,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:115,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: tcpnodelay
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - infof
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: void tcpnodelay(struct Curl_easy *data, curl_socket_t sockfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:133,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:137,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: nosigpipe
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - infof
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: "void nosigpipe(struct Curl_easy *data,\n                      curl_socket_t
      sockfd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: nosigpipe
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nosigpipe(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: KEEPALIVE_FACTOR
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEEPALIVE_FACTOR(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:181,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:183,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:191,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:192,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:193,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:195,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:199,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:200,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:201,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:203,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:207,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:208,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:210,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:218,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:219,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:221,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:222,1
    - Dst: WSAIoctl
      Src: /src/PROJ/curl/lib/cf-socket.c:224,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:226,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:232,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:233,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:234,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:236,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:242,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:243,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:244,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:246,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:252,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:253,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:254,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:256,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:262,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:263,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:264,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:266,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:282,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:283,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/PROJ/curl/lib/cf-socket.c:284,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:285,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:287,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/cf-socket.c:292,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:293,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 301
    functionName: tcpkeepalive
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - setsockopt
    - WSAIoctl
    - KEEPALIVE_FACTOR
    - curlx_sltosi
    linkageType: ''
    returnType: void
    signature: "void tcpkeepalive(struct Curl_easy *data,\n             curl_socket_t
      sockfd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:335,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/cf-socket.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - ai
    - transport
    argTypes:
    - struct Curl_sockaddr_ex*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 341
    functionName: sock_assign_addr
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sock_assign_addr(struct Curl_sockaddr_ex *dest,\n                                 const
      struct Curl_addrinfo *ai,\n                                 int transport)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:349,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:350,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:361,1
    - Dst: struct Curl_easy*::set::fopensocket
      Src: /src/PROJ/curl/lib/cf-socket.c:362,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:365,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/lib/cf-socket.c:369,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:374,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:375,1
    - Dst: fcntl
      Src: /src/PROJ/curl/lib/cf-socket.c:380,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:381,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:382,1
    - Dst: close
      Src: /src/PROJ/curl/lib/cf-socket.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - data
    - addr
    - sockfd
    argTypes:
    - struct Curl_easy*
    - struct Curl_sockaddr_ex*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 396
    functionName: socket_open
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::set::fopensocket
    - Curl_set_in_callback
    - failf
    - fcntl
    - curlx_strerror
    - close
    - CURL_SOCKET
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socket_open(struct Curl_easy *data,\n                            struct
      Curl_sockaddr_ex *addr,\n                            curl_socket_t *sockfd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_assign_addr
      Src: /src/PROJ/curl/lib/cf-socket.c:420,1
    - Dst: socket_open
      Src: /src/PROJ/curl/lib/cf-socket.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - ai
    - addr
    - transport
    - sockfd
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - struct Curl_sockaddr_ex*
    - int
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: Curl_socket_open
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - socket_open
    - sock_assign_addr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_socket_open(struct Curl_easy *data,\n                          const
      struct Curl_addrinfo *ai,\n                          struct Curl_sockaddr_ex
      *addr,\n                          int transport,\n                          curl_socket_t
      *sockfd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_will_close
      Src: /src/PROJ/curl/lib/cf-socket.c:435,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:436,1
    - Dst: struct connectdata*::fclosesocket
      Src: /src/PROJ/curl/lib/cf-socket.c:437,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:438,1
    - Dst: Curl_multi_will_close
      Src: /src/PROJ/curl/lib/cf-socket.c:444,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/cf-socket.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - data
    - conn
    - use_callback
    - sock
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: socket_close
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 1
    functionsReached:
    - Curl_set_in_callback
    - struct connectdata*::fclosesocket
    - Curl_multi_will_close
    - sclose
    linkageType: ''
    returnType: int
    signature: "int socket_close(struct Curl_easy *data, struct connectdata *conn,\n
      \                       int use_callback, curl_socket_t sock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - conn
    - sock
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: Curl_socket_close
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - socket_close
    linkageType: ''
    returnType: int
    signature: "int Curl_socket_close(struct Curl_easy *data, struct connectdata *conn,\n
      \                     curl_socket_t sock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:485,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 490
    functionName: Curl_sndbuf_init
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void Curl_sndbuf_init(curl_socket_t sockfd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:526,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:527,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:528,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:530,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cf-socket.c:534,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:534,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:535,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cf-socket.c:538,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:538,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cf-socket.c:541,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:541,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:542,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cf-socket.c:545,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:545,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cf-socket.c:548,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:548,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:550,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:551,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/cf-socket.c:552,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cf-socket.c:555,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cf-socket.c:559,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-socket.c:561,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cf-socket.c:570,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - input
    - dev
    - iface
    - host
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 572
    functionName: Curl_parse_interface
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 2
    functionsReached:
    - strncmp
    - free
    - Curl_memdup0
    - DEBUGASSERT
    - memchr
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_parse_interface(const char *input,\n                              char
      **dev, char **iface, char **host)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:610,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-socket.c:613,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:632,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-socket.c:633,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:640,1
    - Dst: Curl_if2ip
      Src: /src/PROJ/curl/lib/cf-socket.c:648,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:660,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:661,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:673,1
    - Dst: Curl_resolv_blocking
      Src: /src/PROJ/curl/lib/cf-socket.c:694,1
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/cf-socket.c:698,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:699,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/cf-socket.c:701,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/cf-socket.c:723,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/cf-socket.c:727,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/cf-socket.c:729,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cf-socket.c:737,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/cf-socket.c:737,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/cf-socket.c:750,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/cf-socket.c:752,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:764,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:765,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/cf-socket.c:774,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/cf-socket.c:781,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:786,1
    - Dst: bind
      Src: /src/PROJ/curl/lib/cf-socket.c:789,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:791,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:800,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/cf-socket.c:803,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/cf-socket.c:806,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:815,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:816,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 111
    argCount: 5
    argNames:
    - data
    - conn
    - sockfd
    - af
    - scope
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - curl_socket_t
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 820
    functionName: bindlocal
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_inet_pton
    - Curl_if2ip
    - failf
    - strchr
    - curlx_strerror
    - curlx_str_number
    - setsockopt
    - memset
    - Curl_resolv_blocking
    - CURL_UNCONST
    - bind
    - strlen
    - htons
    - Curl_resolv_unlink
    - Curl_printable_address
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bindlocal(struct Curl_easy *data, struct connectdata *conn,\n
      \                         curl_socket_t sockfd, int af, unsigned int scope)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/PROJ/curl/lib/cf-socket.c:851,1
    - Dst: SleepEx
      Src: /src/PROJ/curl/lib/cf-socket.c:853,1
    - Dst: getsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:858,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/cf-socket.c:863,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/cf-socket.c:870,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - sockfd
    - error
    argTypes:
    - curl_socket_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 888
    functionName: verifyconnect
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - SET_SOCKERRNO
    - getsockopt
    - SleepEx
    - Sleep
    linkageType: ''
    returnType: bool
    signature: bool verifyconnect(curl_socket_t sockfd, int *error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:917,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - data
    - ipaddress
    - error
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 925
    functionName: socket_connect_result
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socket_connect_result(struct Curl_easy *data,\n                                      const
      char *ipaddress, int error)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-socket.c:959,1
    - Dst: sock_assign_addr
      Src: /src/PROJ/curl/lib/cf-socket.c:963,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/cf-socket.c:969,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cf-socket.c:972,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/cf-socket.c:975,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cf-socket.c:978,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/cf-socket.c:981,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cf-socket.c:984,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/cf-socket.c:987,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cf-socket.c:990,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - ai
    - transport
    argTypes:
    - struct cf_socket_ctx*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 997
    functionName: cf_socket_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - memset
    - getenv
    - curlx_str_number
    - sock_assign_addr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_ctx_init(struct cf_socket_ctx *ctx,\n                                   const
      struct Curl_addrinfo *ai,\n                                   int transport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1004,1
    - Dst: socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:1007,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-socket.c:1010,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-socket.c:1011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1015
    functionName: cf_socket_close
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - memset
    - socket_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: void cf_socket_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1024,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/cf-socket.c:1030,1
    - Dst: sread
      Src: /src/PROJ/curl/lib/cf-socket.c:1032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1037
    functionName: cf_socket_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_nonblock
    - CURL_TRC_CF
    - sread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_shutdown(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:1043,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1044,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-socket.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1047
    functionName: cf_socket_destroy
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - free
    - cf_socket_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: void cf_socket_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-socket.c:1065,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/cf-socket.c:1066,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:1068,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:1069,1
    - Dst: Curl_addr2string
      Src: /src/PROJ/curl/lib/cf-socket.c:1071,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:1073,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:1074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1080
    functionName: set_local_ip
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_addr2string
    - curlx_strerror
    - getsockname
    - memset
    linkageType: ''
    returnType: void
    signature: "void set_local_ip(struct Curl_cfilter *cf,\n                         struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_addr2string
      Src: /src/PROJ/curl/lib/cf-socket.c:1088,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:1095,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1100
    functionName: set_remote_ip
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_addr2string
    - failf
    - curlx_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_remote_ip(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1112,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:1113,1
    - Dst: socket_open
      Src: /src/PROJ/curl/lib/cf-socket.c:1122,1
    - Dst: set_remote_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1131,1
    - Dst: set_ipv6_v6only
      Src: /src/PROJ/curl/lib/cf-socket.c:1137,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:1138,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:1142,1
    - Dst: tcpnodelay
      Src: /src/PROJ/curl/lib/cf-socket.c:1153,1
    - Dst: nosigpipe
      Src: /src/PROJ/curl/lib/cf-socket.c:1155,1
    - Dst: Curl_sndbuf_init
      Src: /src/PROJ/curl/lib/cf-socket.c:1157,1
    - Dst: tcpkeepalive
      Src: /src/PROJ/curl/lib/cf-socket.c:1160,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:1164,1
    - Dst: struct Curl_easy*::set::fsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:1165,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:1168,1
    - Dst: bindlocal
      Src: /src/PROJ/curl/lib/cf-socket.c:1185,1
    - Dst: Curl_ipv6_scope
      Src: /src/PROJ/curl/lib/cf-socket.c:1186,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/cf-socket.c:1201,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/cf-socket.c:1211,1
    - Dst: socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:1223,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1228,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:1229,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1232,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1102
    functionDepth: 6
    functionLinenumber: 1102
    functionLinenumberEnd: 1235
    functionName: cf_socket_open
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_set_in_callback
    - Curl_ipv6_scope
    - CURL_TRC_CF
    - curlx_now
    - tcpnodelay
    - bindlocal
    - socket_close
    - struct Curl_easy*::set::fsockopt
    - set_ipv6_v6only
    - set_remote_ip
    - socket_open
    - DEBUGASSERT
    - Curl_sndbuf_init
    - curlx_nonblock
    - set_local_ip
    - nosigpipe
    - tcpkeepalive
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_open(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/PROJ/curl/lib/cf-socket.c:1253,1
    - Dst: connectx
      Src: /src/PROJ/curl/lib/cf-socket.c:1261,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1266,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1269,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:1272,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:1274,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1277,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/cf-socket.c:1279,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1280,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - cf
    - data
    - is_tcp_fastopen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1290
    functionName: do_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - connectx
    - infof
    - connect
    - Curl_conn_is_ssl
    - setsockopt
    - __builtin_available
    linkageType: ''
    returnType: int
    signature: "int do_connect(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                     bool is_tcp_fastopen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_open
      Src: /src/PROJ/curl/lib/cf-socket.c:1310,1
    - Dst: do_connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1320,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1322,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1323,1
    - Dst: socket_connect_result
      Src: /src/PROJ/curl/lib/cf-socket.c:1326,1
    - Dst: verifyconnect
      Src: /src/PROJ/curl/lib/cf-socket.c:1336,1
    - Dst: SOCKET_WRITABLE
      Src: /src/PROJ/curl/lib/cf-socket.c:1339,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1342,1
    - Dst: verifyconnect
      Src: /src/PROJ/curl/lib/cf-socket.c:1347,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:1349,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1350,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1353,1
    - Dst: verifyconnect
      Src: /src/PROJ/curl/lib/cf-socket.c:1358,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1365,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/cf-socket.c:1367,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:1371,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:1374,1
    - Dst: socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:1379,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1292
    functionDepth: 7
    functionLinenumber: 1292
    functionLinenumberEnd: 1385
    functionName: cf_tcp_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - verifyconnect
    - infof
    - SET_SOCKERRNO
    - CURL_TRC_CF
    - curlx_now
    - do_connect
    - socket_connect_result
    - SOCKET_WRITABLE
    - curlx_strerror
    - cf_socket_open
    - set_local_ip
    - socket_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_tcp_connect(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set_in_only
      Src: /src/PROJ/curl/lib/cf-socket.c:1400,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1401,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/cf-socket.c:1405,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1406,1
    - Dst: Curl_pollset_add_in
      Src: /src/PROJ/curl/lib/cf-socket.c:1410,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: cf_socket_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set_in_only
    - CURL_TRC_CF
    - Curl_pollset_set_out_only
    - Curl_pollset_add_in
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:1429,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-socket.c:1431,1
    - Dst: WSAIoctl
      Src: /src/PROJ/curl/lib/cf-socket.c:1432,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_socket_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1441
    functionName: win_update_sndbuf_size
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - WSAIoctl
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void win_update_sndbuf_size(struct cf_socket_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand_bytes
      Src: /src/PROJ/curl/lib/cf-socket.c:1464,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1466,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1475,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/cf-socket.c:1482,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/cf-socket.c:1488,1
    - Dst: USE_WINSOCK
      Src: /src/PROJ/curl/lib/cf-socket.c:1494,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:1511,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:1512,1
    - Dst: win_update_sndbuf_size
      Src: /src/PROJ/curl/lib/cf-socket.c:1522,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1525,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1445
    functionDepth: 2
    functionLinenumber: 1445
    functionLinenumberEnd: 1529
    functionName: cf_socket_send
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - swrite
    - USE_WINSOCK
    - failf
    - curlx_strerror
    - win_update_sndbuf_size
    - Curl_rand_bytes
    - sendto
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               const void *buf, size_t len, bool eos,\n
      \                              size_t *pnwritten)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/cf-socket.c:1543,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1545,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1552,1
    - Dst: sread
      Src: /src/PROJ/curl/lib/cf-socket.c:1557,1
    - Dst: USE_WINSOCK
      Src: /src/PROJ/curl/lib/cf-socket.c:1563,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:1579,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:1580,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1588,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:1590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1594
    functionName: cf_socket_recv
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - failf
    - CURL_TRC_CF
    - USE_WINSOCK
    - curlx_now
    - curlx_strerror
    - sread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               char *buf, size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1606
    functionName: cf_socket_update_data
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf_socket_update_data(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1620
    functionName: cf_socket_active
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - set_local_ip
    linkageType: ''
    returnType: void
    signature: void cf_socket_active(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_active
      Src: /src/PROJ/curl/lib/cf-socket.c:1632,1
    - Dst: cf_socket_update_data
      Src: /src/PROJ/curl/lib/cf-socket.c:1633,1
    - Dst: cf_socket_update_data
      Src: /src/PROJ/curl/lib/cf-socket.c:1636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1622
    functionDepth: 3
    functionLinenumber: 1622
    functionLinenumberEnd: 1643
    functionName: cf_socket_cntrl
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_socket_active
    - cf_socket_update_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_cntrl(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int event, int arg1, void
      *arg2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/cf-socket.c:1663,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1665,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1669,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1673,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1680
    functionName: cf_socket_conn_is_alive
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_poll
    - CURL_TRC_CF
    linkageType: ''
    returnType: bool
    signature: "bool cf_socket_conn_is_alive(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *input_pending)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1690,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1694,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1698,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-socket.c:1704,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-socket.c:1721,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/cf-socket.c:1740,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1742
    functionName: cf_socket_query
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - struct Curl_cfilter*::next::cft::query
    - curlx_timediff
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_query(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int query, int *pres1, void
      *pres2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1774,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-socket.c:1780,1
    - Dst: cf_socket_ctx_init
      Src: /src/PROJ/curl/lib/cf-socket.c:1786,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-socket.c:1790,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:1795,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:1796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1762
    functionDepth: 3
    functionLinenumber: 1762
    functionLinenumberEnd: 1800
    functionName: Curl_cf_tcp_create
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - calloc
    - cf_socket_ctx_init
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_tcp_create(struct Curl_cfilter **pcf,\n                            struct
      Curl_easy *data,\n                            struct connectdata *conn,\n                            const
      struct Curl_addrinfo *ai,\n                            int transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1812,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/cf-socket.c:1816,1
    - Dst: socket_connect_result
      Src: /src/PROJ/curl/lib/cf-socket.c:1819,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:1822,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1823,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:1839,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:1847,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:1857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1802
    functionDepth: 2
    functionLinenumber: 1802
    functionLinenumberEnd: 1863
    functionName: cf_udp_setup_quic
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - connect
    - socket_connect_result
    - setsockopt
    - DEBUGASSERT
    - set_local_ip
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_udp_setup_quic(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_open
      Src: /src/PROJ/curl/lib/cf-socket.c:1879,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1881,1
    - Dst: cf_udp_setup_quic
      Src: /src/PROJ/curl/lib/cf-socket.c:1886,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1865
    functionDepth: 7
    functionLinenumber: 1865
    functionLinenumberEnd: 1898
    functionName: cf_udp_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_socket_open
    - cf_udp_setup_quic
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_udp_connect(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1930,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-socket.c:1931,1
    - Dst: cf_socket_ctx_init
      Src: /src/PROJ/curl/lib/cf-socket.c:1937,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-socket.c:1941,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:1946,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:1947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1918
    functionDepth: 3
    functionLinenumber: 1918
    functionLinenumberEnd: 1951
    functionName: Curl_cf_udp_create
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - calloc
    - cf_socket_ctx_init
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_udp_create(struct Curl_cfilter **pcf,\n                            struct
      Curl_easy *data,\n                            struct connectdata *conn,\n                            const
      struct Curl_addrinfo *ai,\n                            int transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:1984,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-socket.c:1985,1
    - Dst: cf_socket_ctx_init
      Src: /src/PROJ/curl/lib/cf-socket.c:1991,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-socket.c:1995,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:2000,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:2001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1972
    functionDepth: 3
    functionLinenumber: 1972
    functionLinenumberEnd: 2005
    functionName: Curl_cf_unix_create
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - calloc
    - cf_socket_ctx_init
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_unix_create(struct Curl_cfilter **pcf,\n                             struct
      Curl_easy *data,\n                             struct connectdata *conn,\n                             const
      struct Curl_addrinfo *ai,\n                             int transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:2020,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/cf-socket.c:2022,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-socket.c:2029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2035
    functionName: cf_tcp_accept_timeleft
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t cf_tcp_accept_timeleft(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-socket.c:2049,1
    - Dst: getpeername
      Src: /src/PROJ/curl/lib/cf-socket.c:2050,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:2052,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:2053,1
    - Dst: Curl_addr2string
      Src: /src/PROJ/curl/lib/cf-socket.c:2056,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:2058,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:2059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2067
    functionName: cf_tcp_set_accepted_remote_ip
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_addr2string
    - failf
    - curlx_strerror
    - memset
    - getpeername
    linkageType: ''
    returnType: void
    signature: "void cf_tcp_set_accepted_remote_ip(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cf_tcp_accept_timeleft
      Src: /src/PROJ/curl/lib/cf-socket.c:2094,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:2097,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:2101,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/cf-socket.c:2103,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:2105,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:2109,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:2113,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:2120,1
    - Dst: CURL_ACCEPT4
      Src: /src/PROJ/curl/lib/cf-socket.c:2126,1
    - Dst: CURL_ACCEPT
      Src: /src/PROJ/curl/lib/cf-socket.c:2129,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:2133,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:2134,1
    - Dst: fcntl
      Src: /src/PROJ/curl/lib/cf-socket.c:2138,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/cf-socket.c:2139,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-socket.c:2140,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/cf-socket.c:2141,1
    - Dst: Curl_socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:2142,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-socket.c:2146,1
    - Dst: socket_close
      Src: /src/PROJ/curl/lib/cf-socket.c:2151,1
    - Dst: cf_tcp_set_accepted_remote_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:2155,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:2156,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:2158,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:2160,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:2168,1
    - Dst: struct Curl_easy*::set::fsockopt
      Src: /src/PROJ/curl/lib/cf-socket.c:2169,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/cf-socket.c:2171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2069
    functionDepth: 3
    functionLinenumber: 2069
    functionLinenumberEnd: 2178
    functionName: cf_tcp_accept_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - cf_tcp_set_accepted_remote_ip
    - Curl_set_in_callback
    - failf
    - CURL_TRC_CF
    - curlx_now
    - fcntl
    - curlx_strerror
    - Curl_socket_close
    - struct Curl_easy*::set::fsockopt
    - Curl_socket_check
    - CURL_ACCEPT
    - set_local_ip
    - CURL_ACCEPT4
    - curlx_nonblock
    - cf_tcp_accept_timeleft
    - socket_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_tcp_accept_connect(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_all
      Src: /src/PROJ/curl/lib/cf-socket.c:2207,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-socket.c:2208,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-socket.c:2210,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-socket.c:2219,1
    - Dst: Curl_conn_cf_add
      Src: /src/PROJ/curl/lib/cf-socket.c:2222,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-socket.c:2224,1
    - Dst: set_local_ip
      Src: /src/PROJ/curl/lib/cf-socket.c:2226,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-socket.c:2227,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:2233,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-socket.c:2234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - data
    - conn
    - sockindex
    - s
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2198
    functionDepth: 2
    functionLinenumber: 2198
    functionLinenumberEnd: 2237
    functionName: Curl_conn_tcp_listen_set
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_all
    - CURL_TRC_CF
    - curlx_now
    - Curl_cf_create
    - calloc
    - DEBUGASSERT
    - Curl_safefree
    - set_local_ip
    - Curl_conn_cf_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_tcp_listen_set(struct Curl_easy *data,\n                                  struct
      connectdata *conn,\n                                  int sockindex, curl_socket_t
      *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2249
    functionName: Curl_conn_is_tcp_listen
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_tcp_listen(struct Curl_easy *data,\n                             int
      sockindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2260
    functionName: cf_is_socket
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_is_socket(struct Curl_cfilter *cf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf_is_socket
      Src: /src/PROJ/curl/lib/cf-socket.c:2269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - cf
    - data
    - psock
    - paddr
    - pip
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - curl_socket_t*
    - struct Curl_sockaddr_ex**
    - struct ip_quadruple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2281
    functionName: Curl_cf_socket_peek
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_is_socket
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_socket_peek(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             curl_socket_t *psock,\n                             const
      struct Curl_sockaddr_ex **paddr,\n                             struct ip_quadruple
      *pip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:168,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: get_protocol_family
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: curl_prot_t
    signature: curl_prot_t get_protocol_family(const struct Curl_handler *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:180,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:184,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:188,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:193,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/url.c:198,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/url.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: Curl_freeset
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 3
    functionsReached:
    - curl_slist_free_all
    - Curl_mime_cleanpart
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_freeset(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:210,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:211,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:212,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:213,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:214,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:215,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:216,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:217,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/url.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: up_free
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curl_url_cleanup
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void up_free(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/lib/url.c:243,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/url.c:248,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/lib/url.c:252,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:256,1
    - Dst: Curl_expire_clear
      Src: /src/PROJ/curl/lib/url.c:258,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:261,1
    - Dst: Curl_async_destroy
      Src: /src/PROJ/curl/lib/url.c:264,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/url.c:265,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/url.c:266,1
    - Dst: Curl_req_free
      Src: /src/PROJ/curl/lib/url.c:275,1
    - Dst: Curl_ssl_close_all
      Src: /src/PROJ/curl/lib/url.c:278,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:279,1
    - Dst: Curl_ssl_free_certinfo
      Src: /src/PROJ/curl/lib/url.c:280,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:283,1
    - Dst: up_free
      Src: /src/PROJ/curl/lib/url.c:288,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/url.c:289,1
    - Dst: Curl_flush_cookies
      Src: /src/PROJ/curl/lib/url.c:290,1
    - Dst: Curl_altsvc_save
      Src: /src/PROJ/curl/lib/url.c:292,1
    - Dst: Curl_altsvc_cleanup
      Src: /src/PROJ/curl/lib/url.c:293,1
    - Dst: Curl_hsts_save
      Src: /src/PROJ/curl/lib/url.c:296,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/url.c:298,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/url.c:299,1
    - Dst: Curl_http_auth_cleanup_digest
      Src: /src/PROJ/curl/lib/url.c:302,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:304,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:305,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:306,1
    - Dst: data_priority_cleanup
      Src: /src/PROJ/curl/lib/url.c:308,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/url.c:312,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/url.c:314,1
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/url.c:317,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:319,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:321,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:322,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:323,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:324,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:325,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:326,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:328,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:331,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:333,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:334,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:336,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:337,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/url.c:341,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:342,1
    - Dst: Curl_wildcard_dtor
      Src: /src/PROJ/curl/lib/url.c:346,1
    - Dst: Curl_freeset
      Src: /src/PROJ/curl/lib/url.c:347,1
    - Dst: Curl_headers_cleanup
      Src: /src/PROJ/curl/lib/url.c:348,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/lib/url.c:349,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:350,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 1
    argNames:
    - datap
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 352
    functionName: Curl_close
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 4
    functionsReached:
    - Curl_hsts_cleanup
    - Curl_expire_clear
    - Curl_mime_cleanpart
    - Curl_detach_connection
    - Curl_share_unlock
    - curl_multi_remove_handle
    - Curl_async_destroy
    - Curl_share_lock
    - data_priority_cleanup
    - Curl_req_free
    - Curl_altsvc_save
    - Curl_hash_destroy
    - up_free
    - curl_multi_cleanup
    - Curl_ssl_free_certinfo
    - Curl_headers_cleanup
    - Curl_flush_cookies
    - Curl_altsvc_cleanup
    - curl_slist_free_all
    - Curl_wildcard_dtor
    - DEBUGASSERT
    - Curl_resolv_unlink
    - Curl_ssl_close_all
    - free
    - Curl_hsts_save
    - Curl_netrc_cleanup
    - curlx_dyn_free
    - Curl_freeset
    - Curl_http_auth_cleanup_digest
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_close(struct Curl_easy **datap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_initpart
      Src: /src/PROJ/curl/lib/url.c:412,1
    - Dst: Curl_ssl_easy_config_init
      Src: /src/PROJ/curl/lib/url.c:414,1
    - Dst: Curl_setopt_SSLVERSION
      Src: /src/PROJ/curl/lib/url.c:439,1
    - Dst: Curl_setopt_SSLVERSION
      Src: /src/PROJ/curl/lib/url.c:441,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/url.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 478
    functionName: Curl_init_userdefined
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_easy_config_init
    - memset
    - Curl_mime_initpart
    - Curl_setopt_SSLVERSION
    linkageType: ''
    returnType: void
    signature: void Curl_init_userdefined(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: easy_meta_freeentry
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void easy_meta_freeentry(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/url.c:504,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:507,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/url.c:507,1
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/url.c:522,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/url.c:524,1
    - Dst: Curl_req_init
      Src: /src/PROJ/curl/lib/url.c:525,1
    - Dst: Curl_initinfo
      Src: /src/PROJ/curl/lib/url.c:526,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/url.c:528,1
    - Dst: Curl_netrc_init
      Src: /src/PROJ/curl/lib/url.c:530,1
    - Dst: Curl_init_userdefined
      Src: /src/PROJ/curl/lib/url.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - curl
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 499
    functionDepth: 5
    functionLinenumber: 499
    functionLinenumberEnd: 535
    functionName: Curl_open
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 3
    functionsReached:
    - DEBUGF
    - curl_mfprintf
    - Curl_initinfo
    - curlx_dyn_init
    - Curl_hash_init
    - Curl_netrc_init
    - Curl_llist_init
    - Curl_req_init
    - calloc
    - Curl_init_userdefined
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_open(struct Curl_easy **curl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:541,1
    - Dst: struct connectdata*::handler::disconnect
      Src: /src/PROJ/curl/lib/url.c:545,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/url.c:547,1
    - Dst: Curl_conn_cf_discard_all
      Src: /src/PROJ/curl/lib/url.c:548,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/url.c:551,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/url.c:552,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/url.c:554,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/url.c:555,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:556,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:557,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:558,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:559,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:560,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:561,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:563,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:564,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:565,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:566,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:567,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:568,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:569,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:570,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:571,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:572,1
    - Dst: Curl_ssl_conn_config_cleanup
      Src: /src/PROJ/curl/lib/url.c:573,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:576,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:578,1
    - Dst: Curl_uint_spbset_destroy
      Src: /src/PROJ/curl/lib/url.c:579,1
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/url.c:580,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 583
    functionName: Curl_conn_free
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_conn_cf_discard_all
    - Curl_hash_destroy
    - Curl_free_idnconverted_hostname
    - Curl_ssl_conn_config_cleanup
    - Curl_uint_spbset_destroy
    - CURL_ARRAYSIZE
    - DEBUGASSERT
    - Curl_safefree
    - struct connectdata*::handler::disconnect
    linkageType: ''
    returnType: void
    signature: void Curl_conn_free(struct Curl_easy *data, struct connectdata *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multiplex_wanted
      Src: /src/PROJ/curl/lib/url.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 609
    functionName: xfer_may_multiplex
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_multiplex_wanted
    linkageType: ''
    returnType: bool
    signature: "bool xfer_may_multiplex(const struct Curl_easy *data,\n                               const
      struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - needle
    argTypes:
    - struct proxy_info*
    - struct proxy_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: proxy_info_matches
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: "bool proxy_info_matches(const struct proxy_info *data,\n                   const
      struct proxy_info *needle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_info_matches
      Src: /src/PROJ/curl/lib/url.c:628,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:637,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - needle
    argTypes:
    - struct proxy_info*
    - struct proxy_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 641
    functionName: socks_proxy_info_matches
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - proxy_info_matches
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool socks_proxy_info_matches(const struct proxy_info *data,\n                         const
      struct proxy_info *needle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: proxy_info_matches
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: proxy_info_matches(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: socks_proxy_info_matches
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: socks_proxy_info_matches(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/url.c:658,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:660,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/url.c:668,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - data
    - conn
    - now
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: conn_maxage
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_timediff
    linkageType: ''
    returnType: bool
    signature: "bool conn_maxage(struct Curl_easy *data,\n                        struct
      connectdata *conn,\n                        struct curltime now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:688,1
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/url.c:689,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/url.c:695,1
    - Dst: conn_maxage
      Src: /src/PROJ/curl/lib/url.c:699,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/url.c:710,1
    - Dst: struct connectdata*::handler::connection_check
      Src: /src/PROJ/curl/lib/url.c:712,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/url.c:715,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/url.c:721,1
    - Dst: Curl_conn_is_alive
      Src: /src/PROJ/curl/lib/url.c:722,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:732,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:732,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/url.c:735,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - conn
    - data
    - pnow
    argTypes:
    - struct connectdata*
    - struct Curl_easy*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 746
    functionName: Curl_conn_seems_dead
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_attach_connection
    - Curl_detach_connection
    - curlx_now
    - DEBUGASSERT
    - struct connectdata*::handler::connection_check
    - conn_maxage
    - CONN_INUSE
    - Curl_conn_is_alive
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_seems_dead(struct connectdata *conn,\n                          struct
      Curl_easy *data,\n                          struct curltime *pnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/url.c:753,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/url.c:757,1
    - Dst: struct connectdata*::handler::connection_check
      Src: /src/PROJ/curl/lib/url.c:761,1
    - Dst: Curl_conn_keep_alive
      Src: /src/PROJ/curl/lib/url.c:767,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/url.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - conn
    - now
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 773
    functionName: Curl_conn_upkeep
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - Curl_detach_connection
    - curlx_timediff
    - Curl_conn_keep_alive
    - struct connectdata*::handler::connection_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_upkeep(struct Curl_easy *data,\n                          struct
      connectdata *conn,\n                          struct curltime *now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/url.c:781,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/url.c:782,1
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/url.c:783,1
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/url.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - struct connectdata*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: ssh_config_matches
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_safecmp
    linkageType: ''
    returnType: bool
    signature: "bool ssh_config_matches(struct connectdata *one,\n                               struct
      connectdata *two)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/url.c:830,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/url.c:849,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 859
    functionName: url_match_connect_config
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool url_match_connect_config(struct connectdata *conn,\n                                     struct
      url_conn_match *m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/url.c:864,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 878
    functionName: url_match_fully_connected
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_conn_is_connected
    linkageType: ''
    returnType: bool
    signature: "bool url_match_fully_connected(struct connectdata *conn,\n                                      struct
      url_conn_match *m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/url.c:883,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 889
    functionName: url_match_multi
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - CONN_INUSE
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool url_match_multi(struct connectdata *conn,\n                            struct
      url_conn_match *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/url.c:894,1
    - Dst: url_match_multi
      Src: /src/PROJ/curl/lib/url.c:901,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 906
    functionName: url_match_multiplex_needs
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - CONN_INUSE
    - url_match_multi
    linkageType: ''
    returnType: bool
    signature: "bool url_match_multiplex_needs(struct connectdata *conn,\n                                      struct
      url_conn_match *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/url.c:911,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:912,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/url.c:914,1
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/PROJ/curl/lib/url.c:915,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:916,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/url.c:917,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/url.c:920,1
    - Dst: Curl_conn_get_max_concurrent
      Src: /src/PROJ/curl/lib/url.c:921,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:922,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/url.c:923,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 930
    functionName: url_match_multiplex_limits
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - CONN_ATTACHED
    - DEBUGASSERT
    - Curl_conn_get_max_concurrent
    - CONN_INUSE
    - Curl_multi_max_concurrent_streams
    linkageType: ''
    returnType: bool
    signature: "bool url_match_multiplex_limits(struct connectdata *conn,\n                                       struct
      url_conn_match *m)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/url.c:937,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/url.c:940,1
    - Dst: get_protocol_family
      Src: /src/PROJ/curl/lib/url.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 948
    functionName: url_match_ssl_use
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_ssl
    - get_protocol_family
    linkageType: ''
    returnType: bool
    signature: "bool url_match_ssl_use(struct connectdata *conn,\n                              struct
      url_conn_match *m)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: socks_proxy_info_matches
      Src: /src/PROJ/curl/lib/url.c:959,1
    - Dst: proxy_info_matches
      Src: /src/PROJ/curl/lib/url.c:967,1
    - Dst: IS_HTTPS_PROXY
      Src: /src/PROJ/curl/lib/url.c:970,1
    - Dst: Curl_ssl_conn_config_match
      Src: /src/PROJ/curl/lib/url.c:975,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:976,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:976,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 987
    functionName: url_match_proxy_use
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - proxy_info_matches
    - DEBUGF
    - infof
    - IS_HTTPS_PROXY
    - Curl_ssl_conn_config_match
    - socks_proxy_info_matches
    linkageType: ''
    returnType: bool
    signature: "bool url_match_proxy_use(struct connectdata *conn,\n                                struct
      url_conn_match *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 990
    functionName: url_match_proxy_use
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_proxy_use(c,m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1001,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1010
    functionName: url_match_http_multiplex
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: bool
    signature: "bool url_match_http_multiplex(struct connectdata *conn,\n                                     struct
      url_conn_match *m)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/url.c:1018,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:1021,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1021,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:1028,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1028,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:1035,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1043
    functionName: url_match_http_version
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_http_version
    linkageType: ''
    returnType: bool
    signature: "bool url_match_http_version(struct connectdata *conn,\n                                   struct
      url_conn_match *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1046
    functionName: url_match_http_multiplex
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_http_multiplex(c,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1047
    functionName: url_match_http_version
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_http_version(c,m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: url_match_http_version
      Src: /src/PROJ/curl/lib/url.c:1052,1
    - Dst: get_protocol_family
      Src: /src/PROJ/curl/lib/url.c:1056,1
    - Dst: ssh_config_matches
      Src: /src/PROJ/curl/lib/url.c:1057,1
    - Dst: get_protocol_family
      Src: /src/PROJ/curl/lib/url.c:1062,1
    - Dst: ftp_conns_match
      Src: /src/PROJ/curl/lib/url.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1068
    functionName: url_match_proto_config
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - url_match_http_version
    - ftp_conns_match
    - get_protocol_family
    - ssh_config_matches
    linkageType: ''
    returnType: bool
    signature: "bool url_match_proto_config(struct connectdata *conn,\n                                   struct
      url_conn_match *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1076,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1077,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1078,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1092
    functionName: url_match_auth
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool url_match_auth(struct connectdata *conn,\n                           struct
      url_conn_match *m)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:1104,1
    - Dst: get_protocol_family
      Src: /src/PROJ/curl/lib/url.c:1106,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/url.c:1112,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:1113,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1113,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:1121,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:1128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1133
    functionName: url_match_destination
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - get_protocol_family
    - Curl_conn_is_ssl
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: "bool url_match_destination(struct connectdata *conn,\n                                  struct
      url_conn_match *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_conn_config_match
      Src: /src/PROJ/curl/lib/url.c:1140,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:1141,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1148
    functionName: url_match_ssl_config
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_ssl_conn_config_match
    - DEBUGF
    linkageType: ''
    returnType: bool
    signature: "bool url_match_ssl_config(struct connectdata *conn,\n                                 struct
      url_conn_match *m)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1160,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1161,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1183,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/url.c:1185,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1213
    functionName: url_match_auth_ntlm
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool url_match_auth_ntlm(struct connectdata *conn,\n                                struct
      url_conn_match *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1216
    functionName: url_match_auth_ntlm
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_auth_ntlm(c,m)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: url_match_connect_config
      Src: /src/PROJ/curl/lib/url.c:1224,1
    - Dst: url_match_destination
      Src: /src/PROJ/curl/lib/url.c:1228,1
    - Dst: url_match_fully_connected
      Src: /src/PROJ/curl/lib/url.c:1231,1
    - Dst: url_match_multiplex_needs
      Src: /src/PROJ/curl/lib/url.c:1234,1
    - Dst: url_match_ssl_use
      Src: /src/PROJ/curl/lib/url.c:1237,1
    - Dst: url_match_proxy_use
      Src: /src/PROJ/curl/lib/url.c:1239,1
    - Dst: url_match_ssl_config
      Src: /src/PROJ/curl/lib/url.c:1241,1
    - Dst: url_match_http_multiplex
      Src: /src/PROJ/curl/lib/url.c:1244,1
    - Dst: url_match_auth
      Src: /src/PROJ/curl/lib/url.c:1250,1
    - Dst: url_match_proto_config
      Src: /src/PROJ/curl/lib/url.c:1253,1
    - Dst: url_match_auth_ntlm
      Src: /src/PROJ/curl/lib/url.c:1256,1
    - Dst: url_match_multiplex_limits
      Src: /src/PROJ/curl/lib/url.c:1261,1
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/url.c:1264,1
    - Dst: Curl_conn_seems_dead
      Src: /src/PROJ/curl/lib/url.c:1264,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/url.c:1266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - conn
    - userdata
    argTypes:
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1218
    functionDepth: 4
    functionLinenumber: 1218
    functionLinenumberEnd: 1273
    functionName: url_match_conn
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - url_match_auth_ntlm
    - url_match_http_multiplex
    - url_match_proto_config
    - url_match_auth
    - url_match_ssl_config
    - url_match_ssl_use
    - url_match_proxy_use
    - url_match_multiplex_limits
    - Curl_conn_terminate
    - url_match_destination
    - url_match_multiplex_needs
    - Curl_conn_seems_dead
    - url_match_connect_config
    - url_match_fully_connected
    - CONN_INUSE
    linkageType: ''
    returnType: bool
    signature: bool url_match_conn(struct connectdata *conn, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/url.c:1282,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - result
    - userdata
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1298
    functionName: url_match_result
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_attach_connection
    linkageType: ''
    returnType: bool
    signature: bool url_match_result(bool result, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/url.c:1321,1
    - Dst: xfer_may_multiplex
      Src: /src/PROJ/curl/lib/url.c:1324,1
    - Dst: Curl_cpool_find
      Src: /src/PROJ/curl/lib/url.c:1339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - data
    - needle
    - usethis
    - force_reuse
    - waitpipe
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct connectdata**
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1348
    functionName: ConnectionExists
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_cpool_find
    - memset
    - xfer_may_multiplex
    linkageType: ''
    returnType: bool
    signature: "bool ConnectionExists(struct Curl_easy *data,\n                 struct
      connectdata *needle,\n                 struct connectdata **usethis,\n                 bool
      *force_reuse,\n                 bool *waitpipe)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/url.c:1355,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/url.c:1371,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/url.c:1374,1
    - Dst: IS_HTTPS_PROXY
      Src: /src/PROJ/curl/lib/url.c:1390,1
    - Dst: Curl_uint_spbset_init
      Src: /src/PROJ/curl/lib/url.c:1411,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:1415,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1435,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1438
    functionName: allocate_conn
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_now
    - IS_HTTPS_PROXY
    - Curl_uint_spbset_init
    - connclose
    - calloc
    - strdup
    linkageType: ''
    returnType: struct connectdata
    signature: struct connectdata *allocate_conn(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getn_scheme_handler
      Src: /src/PROJ/curl/lib/url.c:1442,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1443
    functionName: Curl_get_scheme_handler
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - Curl_getn_scheme_handler
    - strlen
    linkageType: ''
    returnType: struct Curl_handler
    signature: struct Curl_handler *Curl_get_scheme_handler(const char *scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1466,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1487,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1487,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1493,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1514,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1540,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1541,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1542,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1542,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1543,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1543,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1548,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1549,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1549,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1554,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1565,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1566,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1606,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1611,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1617,1
    - Dst: defined
      Src: /src/PROJ/curl/lib/url.c:1617,1
    - Dst: Curl_raw_tolower
      Src: /src/PROJ/curl/lib/url.c:1648,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/url.c:1654,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 13
    argCount: 2
    argNames:
    - scheme
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1658
    functionName: Curl_getn_scheme_handler
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - curl_strnequal
    - defined
    - Curl_raw_tolower
    linkageType: ''
    returnType: struct Curl_handler
    signature: "struct Curl_handler *Curl_getn_scheme_handler(const char *scheme,\n
      \                                                   size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/url.c:1664,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - data
    - conn
    - protostr
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1691
    functionName: findprotocol
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_get_scheme_handler
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode findprotocol(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             const char *protostr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - uc
    argTypes:
    - CURLUcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1706
    functionName: Curl_uc_to_curlcode
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_uc_to_curlcode(CURLUcode uc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1718,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/url.c:1726,1
    - Dst: if_nametoindex
      Src: /src/PROJ/curl/lib/url.c:1739,1
    - Dst: Curl_if_nametoindex
      Src: /src/PROJ/curl/lib/url.c:1741,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1746,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/url.c:1747,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - uh
    - data
    - conn
    argTypes:
    - CURLU*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1757
    functionName: zonefrom_url
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - Curl_if_nametoindex
    - curlx_strerror
    - curlx_str_number
    - curl_url_get
    - if_nametoindex
    linkageType: ''
    returnType: void
    signature: "void zonefrom_url(CURLU *uh, struct Curl_easy *data,\n                         struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/PROJ/curl/lib/url.c:1739,1
    - Dst: Curl_if_nametoindex
      Src: /src/PROJ/curl/lib/url.c:1741,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1746,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/url.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1752
    functionName: if
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 14
    functionsReached:
    - infof
    - Curl_if_nametoindex
    - if_nametoindex
    - curlx_strerror
    linkageType: ''
    returnType: else
    signature: else if(Curl_if_nametoindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1760
    functionName: zonefrom_url
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zonefrom_url(a,b,c)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: up_free
      Src: /src/PROJ/curl/lib/url.c:1774,1
    - Dst: curl_url_dup
      Src: /src/PROJ/curl/lib/url.c:1778,1
    - Dst: curl_url
      Src: /src/PROJ/curl/lib/url.c:1781,1
    - Dst: Curl_is_absolute_url
      Src: /src/PROJ/curl/lib/url.c:1788,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/url.c:1789,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1795,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/url.c:1802,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:1809,1
    - Dst: curl_url_strerror
      Src: /src/PROJ/curl/lib/url.c:1809,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1810,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1814,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1816,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1818,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1823,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1825,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1827,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:1829,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:1832,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:1833,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:1845,1
    - Dst: zonefrom_url
      Src: /src/PROJ/curl/lib/url.c:1848,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:1852,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/PROJ/curl/lib/url.c:1860,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:1866,1
    - Dst: Curl_hsts
      Src: /src/PROJ/curl/lib/url.c:1868,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:1868,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:1870,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/url.c:1871,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1873,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:1875,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1877,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1879,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1880,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1882,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1883,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:1887,1
    - Dst: findprotocol
      Src: /src/PROJ/curl/lib/url.c:1893,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1902,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/url.c:1905,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/url.c:1911,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1917,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1924,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/url.c:1927,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/url.c:1933,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1937,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1942,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:1945,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1950,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1952,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:1955,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1957,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:1960,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/url.c:1970,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/url.c:1977,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 140
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1765
    functionDepth: 6
    functionLinenumber: 1765
    functionLinenumberEnd: 1986
    functionName: parseurlandfillconn
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - failf
    - curl_url_set
    - curl_url_dup
    - zonefrom_url
    - infof
    - up_free
    - Curl_hsts
    - strlen
    - Curl_uc_to_curlcode
    - Curl_idnconvert_hostname
    - findprotocol
    - curl_url
    - Curl_urldecode
    - curl_strequal
    - curl_url_strerror
    - free
    - Curl_setstropt
    - curl_maprintf
    - curlx_str_number
    - Curl_is_absolute_url
    - Curl_safefree
    - curl_url_get
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parseurlandfillconn(struct Curl_easy *data,\n                                    struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:1999,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/url.c:2002,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1993
    functionDepth: 6
    functionLinenumber: 1993
    functionLinenumberEnd: 2018
    functionName: setup_range
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setup_range(struct Curl_easy *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::setup_connection
      Src: /src/PROJ/curl/lib/url.c:2038,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/url.c:2060,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/url.c:2063,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/url.c:2068,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:2069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2030
    functionDepth: 6
    functionLinenumber: 2030
    functionLinenumberEnd: 2072
    functionName: setup_connection_internals
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_strntolower
    - struct connectdata*::handler::setup_connection
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setup_connection_internals(struct Curl_easy *data,\n                                           struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/url.c:2111,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2115,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:2129,1
    - Dst: Curl_strntoupper
      Src: /src/PROJ/curl/lib/url.c:2131,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2132,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:2138,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2139,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:2141,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2142,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2144,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2149,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2152,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:2159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2083
    functionDepth: 6
    functionLinenumber: 2083
    functionLinenumberEnd: 2162
    functionName: detect_proxy
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_strntoupper
    - infof
    - curl_msnprintf
    - curl_getenv
    - curl_strequal
    linkageType: ''
    returnType: char
    signature: "char *detect_proxy(struct Curl_easy *data,\n                          struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2383,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2385,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2374
    functionDepth: 1
    functionLinenumber: 2374
    functionLinenumberEnd: 2392
    functionName: parse_proxy_auth
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strdup
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_proxy_auth(struct Curl_easy *data,\n                                 struct
      connectdata *conn)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: parse_proxy_auth
      Src: /src/PROJ/curl/lib/url.c:2408,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2417,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:2420,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2427,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:2430,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2438,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/url.c:2441,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:2444,1
    - Dst: Curl_check_noproxy
      Src: /src/PROJ/curl/lib/url.c:2448,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2450,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2451,1
    - Dst: detect_proxy
      Src: /src/PROJ/curl/lib/url.c:2456,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2458,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2463,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2469,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2475,1
    - Dst: parse_proxy
      Src: /src/PROJ/curl/lib/url.c:2488,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2489,1
    - Dst: parse_proxy
      Src: /src/PROJ/curl/lib/url.c:2495,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2497,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2531,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2561,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2562,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 113
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2396
    functionDepth: 7
    functionLinenumber: 2396
    functionLinenumberEnd: 2564
    functionName: create_conn_helper_init_proxy
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - failf
    - parse_proxy_auth
    - Curl_safefree
    - Curl_check_noproxy
    - detect_proxy
    - curl_getenv
    - parse_proxy
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode create_conn_helper_init_proxy(struct Curl_easy *data,\n                                              struct
      connectdata *conn)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:2609,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:2610,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/url.c:2613,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/url.c:2617,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/url.c:2631,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/url.c:2637,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/url.c:2646,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2656,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - login
    - len
    - userp
    - passwdp
    - optionsp
    argTypes:
    - char*
    - size_t
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2659
    functionName: Curl_parse_login_details
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - Curl_memdup0
    - free
    - DEBUGASSERT
    - memchr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_parse_login_details(const char *login, const size_t
      len,\n                                  char **userp, char **passwdp,\n                                  char
      **optionsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/url.c:2678,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/url.c:2679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2669
    functionDepth: 6
    functionLinenumber: 2669
    functionLinenumberEnd: 2685
    functionName: parse_remote_port
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_remote_port(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2699
    functionName: str_has_ctrl
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_has_ctrl(const char *input)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2715,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2716,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2723,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:2724,1
    - Dst: Curl_parsenetrc
      Src: /src/PROJ/curl/lib/url.c:2739,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:2744,1
    - Dst: Curl_netrc_strerror
      Src: /src/PROJ/curl/lib/url.c:2750,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:2751,1
    - Dst: str_has_ctrl
      Src: /src/PROJ/curl/lib/url.c:2758,1
    - Dst: str_has_ctrl
      Src: /src/PROJ/curl/lib/url.c:2758,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:2759,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2770,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2771,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2777,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/url.c:2789,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/url.c:2796,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:2799,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2801,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/url.c:2807,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/url.c:2813,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/PROJ/curl/lib/url.c:2816,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2818,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2706
    functionDepth: 2
    functionLinenumber: 2706
    functionLinenumberEnd: 2825
    functionName: override_login
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_parsenetrc
    - infof
    - free
    - Curl_setstropt
    - failf
    - Curl_uc_to_curlcode
    - Curl_netrc_strerror
    - curl_url_set
    - Curl_safefree
    - str_has_ctrl
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode override_login(struct Curl_easy *data,\n                               struct
      connectdata *conn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2846,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2859
    functionName: set_login
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_login(struct Curl_easy *data,\n                          struct
      connectdata *conn)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2888,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/url.c:2901,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/url.c:2905,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:2906,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/lib/url.c:2909,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/url.c:2909,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:2917,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:2924,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/url.c:2931,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/url.c:2938,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:2939,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:2949,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:2950,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2959,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - data
    - host
    - hostname_result
    - port_result
    argTypes:
    - struct Curl_easy*
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2961
    functionName: parse_connect_to_host_port
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - strncmp
    - free
    - failf
    - strchr
    - curlx_str_number
    - DEBUGASSERT
    - ISALPHA
    - ISXDIGIT
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_connect_to_host_port(struct Curl_easy *data,\n                                           const
      char *host,\n                                           char **hostname_result,\n
      \                                          int *port_result)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/url.c:2989,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:2995,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/url.c:2996,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:2998,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/url.c:3013,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/url.c:3016,1
    - Dst: parse_connect_to_host_port
      Src: /src/PROJ/curl/lib/url.c:3026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - data
    - conn
    - conn_to_host
    - host_result
    - port_result
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 2967
    functionDepth: 6
    functionLinenumber: 2967
    functionLinenumberEnd: 3030
    functionName: parse_connect_to_string
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - curl_maprintf
    - strchr
    - parse_connect_to_host_port
    - curlx_str_number
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_connect_to_string(struct Curl_easy *data,\n                                        struct
      connectdata *conn,\n                                        const char *conn_to_host,\n
      \                                       char **host_result,\n                                        int
      *port_result)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: parse_connect_to_string
      Src: /src/PROJ/curl/lib/url.c:3045,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3055,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:3060,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3066,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/url.c:3082,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:3094,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3094,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:3109,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3109,1
    - Dst: Curl_altsvc_lookup
      Src: /src/PROJ/curl/lib/url.c:3113,1
    - Dst: Curl_altsvc_lookup
      Src: /src/PROJ/curl/lib/url.c:3123,1
    - Dst: Curl_altsvc_lookup
      Src: /src/PROJ/curl/lib/url.c:3132,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:3139,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3148,1
    - Dst: Curl_alpnid2str
      Src: /src/PROJ/curl/lib/url.c:3149,1
    - Dst: Curl_alpnid2str
      Src: /src/PROJ/curl/lib/url.c:3150,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 77
    argCount: 3
    argNames:
    - data
    - conn
    - conn_to_host
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3036
    functionDepth: 7
    functionLinenumber: 3036
    functionLinenumberEnd: 3174
    functionName: parse_connect_to_slist
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - getenv
    - infof
    - DEBUGF
    - Curl_alpnid2str
    - Curl_altsvc_lookup
    - parse_connect_to_string
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_connect_to_slist(struct Curl_easy *data,\n                                       struct
      connectdata *conn,\n                                       struct curl_slist
      *conn_to_host)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3185,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/url.c:3191,1
    - Dst: Curl_unix2addr
      Src: /src/PROJ/curl/lib/url.c:3195,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:3200,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - data
    - conn
    - unix_path
    - pdns
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3177
    functionDepth: 1
    functionLinenumber: 3177
    functionLinenumberEnd: 3208
    functionName: resolve_unix
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - calloc
    - DEBUGASSERT
    - Curl_unix2addr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode resolve_unix(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             char *unix_path,\n                             struct
      Curl_dns_entry **pdns)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/url.c:3221,1
    - Dst: CONN_IS_PROXIED
      Src: /src/PROJ/curl/lib/url.c:3232,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/url.c:3233,1
    - Dst: resolve_unix
      Src: /src/PROJ/curl/lib/url.c:3241,1
    - Dst: CONN_IS_PROXIED
      Src: /src/PROJ/curl/lib/url.c:3247,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:3264,1
    - Dst: Curl_resolv_timeout
      Src: /src/PROJ/curl/lib/url.c:3268,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3271,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:3277,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/url.c:3279,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/url.c:3279,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/url.c:3283,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - data
    - conn
    - async
    - pdns
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3214
    functionDepth: 5
    functionLinenumber: 3214
    functionLinenumberEnd: 3288
    functionName: resolve_server
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strncmp
    - failf
    - CONN_IS_PROXIED
    - curlx_now
    - Curl_timeleft
    - resolve_unix
    - curlx_timediff
    - DEBUGASSERT
    - Curl_resolv_timeout
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode resolve_server(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool *async,\n                               struct
      Curl_dns_entry **pdns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/url.c:3292,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/PROJ/curl/lib/url.c:3293,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/url.c:3295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - struct hostname*
    - struct hostname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3290
    functionDepth: 2
    functionLinenumber: 3290
    functionLinenumberEnd: 3296
    functionName: url_move_hostname
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - memset
    - Curl_free_idnconverted_hostname
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void url_move_hostname(struct hostname *dest, struct hostname *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3311,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3312,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3323,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3324,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3325,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3326,1
    - Dst: url_move_hostname
      Src: /src/PROJ/curl/lib/url.c:3352,1
    - Dst: url_move_hostname
      Src: /src/PROJ/curl/lib/url.c:3353,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3357,1
    - Dst: Curl_conn_free
      Src: /src/PROJ/curl/lib/url.c:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - data
    - temp
    - existing
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3303
    functionDepth: 4
    functionLinenumber: 3303
    functionLinenumberEnd: 3365
    functionName: reuse_conn
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - url_move_hostname
    - free
    - Curl_conn_free
    linkageType: ''
    returnType: void
    signature: "void reuse_conn(struct Curl_easy *data,\n                       struct
      connectdata *temp,\n                       struct connectdata *existing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3367
    functionDepth: 1
    functionLinenumber: 3367
    functionLinenumberEnd: 3374
    functionName: conn_meta_freeentry
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void conn_meta_freeentry(void *p)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: allocate_conn
      Src: /src/PROJ/curl/lib/url.c:3418,1
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/url.c:3431,1
    - Dst: parseurlandfillconn
      Src: /src/PROJ/curl/lib/url.c:3434,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:3439,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:3447,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/url.c:3456,1
    - Dst: create_conn_helper_init_proxy
      Src: /src/PROJ/curl/lib/url.c:3468,1
    - Dst: parse_remote_port
      Src: /src/PROJ/curl/lib/url.c:3483,1
    - Dst: override_login
      Src: /src/PROJ/curl/lib/url.c:3489,1
    - Dst: set_login
      Src: /src/PROJ/curl/lib/url.c:3493,1
    - Dst: parse_connect_to_slist
      Src: /src/PROJ/curl/lib/url.c:3501,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/PROJ/curl/lib/url.c:3510,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/PROJ/curl/lib/url.c:3515,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/PROJ/curl/lib/url.c:3521,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/url.c:3531,1
    - Dst: setup_connection_internals
      Src: /src/PROJ/curl/lib/url.c:3557,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3569,1
    - Dst: struct connectdata*::handler::connect_it
      Src: /src/PROJ/curl/lib/url.c:3573,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/url.c:3578,1
    - Dst: Curl_cpool_add
      Src: /src/PROJ/curl/lib/url.c:3579,1
    - Dst: setup_range
      Src: /src/PROJ/curl/lib/url.c:3582,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/url.c:3584,1
    - Dst: Curl_init_do
      Src: /src/PROJ/curl/lib/url.c:3585,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3590,1
    - Dst: struct connectdata*::handler::done
      Src: /src/PROJ/curl/lib/url.c:3592,1
    - Dst: Curl_ssl_easy_config_complete
      Src: /src/PROJ/curl/lib/url.c:3606,1
    - Dst: Curl_cpool_prune_dead
      Src: /src/PROJ/curl/lib/url.c:3610,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3618,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3619,1
    - Dst: ConnectionExists
      Src: /src/PROJ/curl/lib/url.c:3629,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/url.c:3638,1
    - Dst: reuse_conn
      Src: /src/PROJ/curl/lib/url.c:3640,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3645,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3653,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3674,1
    - Dst: Curl_cpool_check_limits
      Src: /src/PROJ/curl/lib/url.c:3678,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3680,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/url.c:3685,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3688,1
    - Dst: Curl_conn_free
      Src: /src/PROJ/curl/lib/url.c:3699,1
    - Dst: Curl_ssl_conn_config_init
      Src: /src/PROJ/curl/lib/url.c:3710,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/url.c:3712,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/url.c:3712,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/url.c:3716,1
    - Dst: Curl_cpool_add
      Src: /src/PROJ/curl/lib/url.c:3717,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3728,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/url.c:3735,1
    - Dst: Curl_init_do
      Src: /src/PROJ/curl/lib/url.c:3743,1
    - Dst: setup_range
      Src: /src/PROJ/curl/lib/url.c:3750,1
    - Dst: Curl_conn_ev_data_setup
      Src: /src/PROJ/curl/lib/url.c:3777,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 213
    argCount: 3
    argNames:
    - data
    - in_connect
    - reusedp
    argTypes:
    - struct Curl_easy*
    - struct connectdata**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3781
      start: 3391
    functionDepth: 8
    functionLinenumber: 3391
    functionLinenumberEnd: 3781
    functionName: create_conn
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - parseurlandfillconn
    - Curl_cpool_add
    - Curl_attach_connection
    - Curl_cpool_prune_dead
    - set_login
    - struct connectdata*::handler::connect_it
    - CURL_TRC_M
    - infof
    - DEBUGF
    - setup_range
    - parse_connect_to_slist
    - curl_mfprintf
    - Curl_conn_is_ssl
    - struct connectdata*::handler::done
    - Curl_cpool_check_limits
    - Curl_idnconvert_hostname
    - parse_remote_port
    - Curl_conn_free
    - override_login
    - Curl_ssl_conn_config_init
    - ConnectionExists
    - create_conn_helper_init_proxy
    - Curl_hash_init
    - Curl_xfer_setup_nop
    - DEBUGASSERT
    - allocate_conn
    - curl_strequal
    - reuse_conn
    - Curl_conn_ev_data_setup
    - Curl_init_do
    - setup_connection_internals
    - strdup
    - Curl_ssl_easy_config_complete
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode create_conn(struct Curl_easy *data,\n                            struct
      connectdata **in_connect,\n                            bool *reusedp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3795,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/url.c:3796,1
    - Dst: Curl_conn_setup
      Src: /src/PROJ/curl/lib/url.c:3799,1
    - Dst: Curl_headers_init
      Src: /src/PROJ/curl/lib/url.c:3802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - dns
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3807
    functionName: Curl_setup_conn
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - Curl_pgrsTime
    - Curl_conn_setup
    - DEBUGASSERT
    - Curl_headers_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_setup_conn(struct Curl_easy *data,\n                         struct
      Curl_dns_entry *dns,\n                         bool *protocol_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_hard_reset
      Src: /src/PROJ/curl/lib/url.c:3821,1
    - Dst: create_conn
      Src: /src/PROJ/curl/lib/url.c:3824,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3827,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3832,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/url.c:3834,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/url.c:3840,1
    - Dst: resolve_server
      Src: /src/PROJ/curl/lib/url.c:3848,1
    - Dst: Curl_setup_conn
      Src: /src/PROJ/curl/lib/url.c:3855,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/url.c:3863,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/url.c:3864,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - data
    - asyncp
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3809
    functionDepth: 9
    functionLinenumber: 3809
    functionLinenumberEnd: 3868
    functionName: Curl_connect
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - create_conn
    - Curl_detach_connection
    - CONN_ATTACHED
    - Curl_req_hard_reset
    - Curl_setup_conn
    - Curl_conn_terminate
    - DEBUGASSERT
    - resolve_server
    - Curl_pgrsTime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_connect(struct Curl_easy *data,\n                      bool
      *asyncp,\n                      bool *protocol_done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_start
      Src: /src/PROJ/curl/lib/url.c:3900,1
    - Dst: Curl_speedinit
      Src: /src/PROJ/curl/lib/url.c:3902,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/url.c:3903,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/url.c:3904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3880
    functionDepth: 1
    functionLinenumber: 3880
    functionLinenumberEnd: 3907
    functionName: Curl_init_do
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - Curl_pgrsSetDownloadCounter
    - Curl_speedinit
    - Curl_req_start
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3919,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3925,1
    - Dst: free
      Src: /src/PROJ/curl/lib/url.c:3928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3913
    functionDepth: 1
    functionLinenumber: 3913
    functionLinenumberEnd: 3933
    functionName: priority_remove_child
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void priority_remove_child(struct Curl_easy *parent,\n                                  struct
      Curl_easy *child)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: priority_remove_child
      Src: /src/PROJ/curl/lib/url.c:3940,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/url.c:3947,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3964,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/url.c:3975,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - parent
    - child
    - exclusive
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3982
      start: 3935
    functionDepth: 2
    functionLinenumber: 3935
    functionLinenumberEnd: 3982
    functionName: Curl_data_priority_add_child
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - calloc
    - priority_remove_child
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_data_priority_add_child(struct Curl_easy *parent,\n
      \                                     struct Curl_easy *child,\n                                      bool
      exclusive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: priority_remove_child
      Src: /src/PROJ/curl/lib/url.c:3991,1
    - Dst: Curl_data_priority_add_child
      Src: /src/PROJ/curl/lib/url.c:3993,1
    - Dst: priority_remove_child
      Src: /src/PROJ/curl/lib/url.c:3997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3987
    functionDepth: 2
    functionLinenumber: 3987
    functionLinenumberEnd: 3998
    functionName: data_priority_cleanup
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - priority_remove_child
    - Curl_data_priority_add_child
    linkageType: ''
    returnType: void
    signature: void data_priority_cleanup(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/url.c:4003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4001
    functionDepth: 0
    functionLinenumber: 4001
    functionLinenumberEnd: 4004
    functionName: Curl_data_priority_clear_state
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_data_priority_clear_state(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/url.c:4012,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/url.c:4012,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:4012,1
    - Dst: meta_dtor
      Src: /src/PROJ/curl/lib/url.c:4014,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/url.c:4014,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:4014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - key
    - meta_data
    - meta_dtor
    argTypes:
    - struct connectdata*
    - char*
    - void*
    - Curl_meta_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4018
      start: 4009
    functionDepth: 1
    functionLinenumber: 4009
    functionLinenumberEnd: 4018
    functionName: Curl_conn_meta_set
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - Curl_hash_add2
    - meta_dtor
    - CURL_UNCONST
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_meta_set(struct connectdata *conn, const char *key,\n
      \                           void *meta_data, Curl_meta_dtor *meta_dtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/url.c:4022,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/url.c:4022,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:4022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - key
    argTypes:
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4023
    functionName: Curl_conn_meta_remove
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - strlen
    - Curl_hash_delete
    linkageType: ''
    returnType: void
    signature: void Curl_conn_meta_remove(struct connectdata *conn, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/url.c:4027,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/url.c:4027,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/url.c:4027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - key
    argTypes:
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4025
    functionDepth: 1
    functionLinenumber: 4025
    functionLinenumberEnd: 4028
    functionName: Curl_conn_meta_get
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 21
    functionsReached:
    - Curl_hash_pick
    - CURL_UNCONST
    - strlen
    linkageType: ''
    returnType: void
    signature: void *Curl_conn_meta_get(struct connectdata *conn, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - CURLcode
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4033
    functionName: Curl_1st_err
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_1st_err(CURLcode r1, CURLcode r2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - CURLcode
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4035
    functionDepth: 0
    functionLinenumber: 4035
    functionLinenumberEnd: 4042
    functionName: Curl_1st_fatal
    functionSourceFile: /src/PROJ/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_1st_fatal(CURLcode r1, CURLcode r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/cfilters.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Curl_cf_def_close
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_cf_def_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: Curl_cf_def_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data, bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: Curl_cf_def_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_adjust_pollset(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cfilters.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Curl_cf_def_data_pending
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cf_def_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_send
      Src: /src/PROJ/curl/lib/cfilters.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: Curl_cf_def_send
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                          const void *buf, size_t len, bool eos,\n                          size_t
      *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_recv
      Src: /src/PROJ/curl/lib/cfilters.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: Curl_cf_def_recv
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                          char *buf, size_t len, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/cfilters.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Curl_cf_def_conn_is_alive
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cf_def_conn_is_alive(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *input_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::keep_alive
      Src: /src/PROJ/curl/lib/cfilters.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: Curl_cf_def_conn_keep_alive
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::keep_alive
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_conn_keep_alive(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: Curl_cf_def_query
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_query(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           int query, int *pres1, void *pres2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cft::destroy
      Src: /src/PROJ/curl/lib/cfilters.c:145,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cfilters.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pcf
    - data
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: Curl_conn_cf_discard_chain
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - free
    - cft::destroy
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_discard_chain(struct Curl_cfilter **pcf,\n                                struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cfilters.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - conn
    - index
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: Curl_conn_cf_discard_all
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - Curl_conn_cf_discard_chain
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_discard_all(struct Curl_easy *data,\n                              struct
      connectdata *conn, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:162,1
    - Dst: struct Curl_cfilter*::cft::do_close
      Src: /src/PROJ/curl/lib/cfilters.c:166,1
    - Dst: Curl_shutdown_clear
      Src: /src/PROJ/curl/lib/cfilters.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - index
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: Curl_conn_close
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_shutdown_clear
    - DEBUGASSERT
    - struct Curl_cfilter*::cft::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_conn_close(struct Curl_easy *data, int index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:178,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:180,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cfilters.c:194,1
    - Dst: Curl_shutdown_started
      Src: /src/PROJ/curl/lib/cfilters.c:195,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cfilters.c:196,1
    - Dst: Curl_shutdown_start
      Src: /src/PROJ/curl/lib/cfilters.c:198,1
    - Dst: Curl_shutdown_timeleft
      Src: /src/PROJ/curl/lib/cfilters.c:201,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cfilters.c:204,1
    - Dst: struct Curl_cfilter*::cft::do_shutdown
      Src: /src/PROJ/curl/lib/cfilters.c:212,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:214,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:218,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - data
    - sockindex
    - done
    argTypes:
    - struct Curl_easy*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 228
    functionName: Curl_conn_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - Curl_shutdown_timeleft
    - infof
    - CURL_TRC_CF
    - curlx_now
    - Curl_shutdown_started
    - DEBUGASSERT
    - struct Curl_cfilter*::cft::do_shutdown
    - CONN_SOCK_IDX_VALID
    - CURL_TRC_M
    - Curl_shutdown_start
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_shutdown(struct Curl_easy *data, int sockindex,
      bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:235,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:236,1
    - Dst: struct Curl_cfilter*::cft::do_recv
      Src: /src/PROJ/curl/lib/cfilters.c:241,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cfilters.c:242,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - data
    - num
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: Curl_cf_recv
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::do_recv
    - failf
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_recv(struct Curl_easy *data, int num, char *buf,\n
      \                     size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:254,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:255,1
    - Dst: struct Curl_cfilter*::cft::do_send
      Src: /src/PROJ/curl/lib/cfilters.c:260,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cfilters.c:262,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - data
    - num
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: Curl_cf_send
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - failf
    - struct Curl_cfilter*::cft::do_send
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_send(struct Curl_easy *data, int num,\n                      const
      void *mem, size_t len, bool eos,\n                      size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/cfilters.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - blen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: cf_bufq_reader
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_bufq_reader(void *writer_ctx,\n                               unsigned
      char *buf, size_t blen,\n                               size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_sipn
      Src: /src/PROJ/curl/lib/cfilters.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cf
    - data
    - bufq
    - maxlen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct bufq*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: Curl_cf_recv_bufq
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_sipn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_recv_bufq(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct bufq *bufq,\n                           size_t
      maxlen,\n                           size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/cfilters.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - buflen
    - pnwritten
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: cf_bufq_writer
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_bufq_writer(void *writer_ctx,\n                               const
      unsigned char *buf, size_t buflen,\n                               size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write_pass
      Src: /src/PROJ/curl/lib/cfilters.c:322,1
    - Dst: Curl_bufq_pass
      Src: /src/PROJ/curl/lib/cfilters.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - cf
    - data
    - bufq
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct bufq*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: Curl_cf_send_bufq
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_write_pass
    - Curl_bufq_pass
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_send_bufq(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct bufq *bufq,\n                           const
      unsigned char *buf, size_t blen,\n                           size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:335,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cfilters.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pcf
    - cft
    - ctx
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_cftype*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 346
    functionName: Curl_cf_create
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 5
    functionsReached:
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_create(struct Curl_cfilter **pcf,\n                        const
      struct Curl_cftype *cft,\n                        void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:354,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:355,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:356,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - data
    - conn
    - index
    - cf
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: Curl_conn_cf_add
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_add(struct Curl_easy *data,\n                      struct
      connectdata *conn,\n                      int index,\n                      struct
      Curl_cfilter *cf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:370,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:371,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - cf_at
    - cf_new
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 383
    functionName: Curl_conn_cf_insert_after
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_insert_after(struct Curl_cfilter *cf_at,\n                               struct
      Curl_cfilter *cf_new)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cfilters.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pcf
    - data
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: Curl_conn_cf_discard
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_cf_discard(struct Curl_cfilter **pcf,\n                          struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_connect
      Src: /src/PROJ/curl/lib/cfilters.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: Curl_conn_cf_connect
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_close
      Src: /src/PROJ/curl/lib/cfilters.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: Curl_conn_cf_close
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_conn_cf_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_send
      Src: /src/PROJ/curl/lib/cfilters.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: Curl_conn_cf_send
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::do_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                           const void *buf, size_t len, bool eos,\n
      \                          size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_recv
      Src: /src/PROJ/curl/lib/cfilters.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: Curl_conn_cf_recv
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::do_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                           char *buf, size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/cfilters.c:447,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/PROJ/curl/lib/cfilters.c:452,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cfilters.c:456,1
    - Dst: CURL_CONN_HOST_DISPNAME
      Src: /src/PROJ/curl/lib/cfilters.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - cf
    argTypes:
    - struct Curl_easy*
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: cf_verboseconnect
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CURL_CONN_HOST_DISPNAME
    - infof
    - Curl_conn_cf_get_ip_info
    - Curl_trc_is_verbose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_verboseconnect(struct Curl_easy *data,\n                                  struct
      Curl_cfilter *cf)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:478,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:479,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:480,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/cfilters.c:493,1
    - Dst: Curl_pollfds_init
      Src: /src/PROJ/curl/lib/cfilters.c:494,1
    - Dst: Curl_conn_needs_flush
      Src: /src/PROJ/curl/lib/cfilters.c:496,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/cfilters.c:497,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cfilters.c:497,1
    - Dst: Curl_conn_flush
      Src: /src/PROJ/curl/lib/cfilters.c:498,1
    - Dst: struct Curl_cfilter*::cft::do_connect
      Src: /src/PROJ/curl/lib/cfilters.c:503,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:504,1
    - Dst: cf_cntrl_update_info
      Src: /src/PROJ/curl/lib/cfilters.c:510,1
    - Dst: conn_report_connect_stats
      Src: /src/PROJ/curl/lib/cfilters.c:511,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cfilters.c:512,1
    - Dst: cf_verboseconnect
      Src: /src/PROJ/curl/lib/cfilters.c:514,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:519,1
    - Dst: conn_report_connect_stats
      Src: /src/PROJ/curl/lib/cfilters.c:521,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/cfilters.c:529,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/cfilters.c:530,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cfilters.c:535,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:540,1
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/cfilters.c:541,1
    - Dst: Curl_pollfds_reset
      Src: /src/PROJ/curl/lib/cfilters.c:542,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/cfilters.c:545,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/cfilters.c:547,1
    - Dst: Curl_pollfds_add_ps
      Src: /src/PROJ/curl/lib/cfilters.c:550,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/cfilters.c:554,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/cfilters.c:555,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:556,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/cfilters.c:567,1
    - Dst: Curl_pollfds_cleanup
      Src: /src/PROJ/curl/lib/cfilters.c:568,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 4
    argNames:
    - data
    - sockindex
    - blocking
    - done
    argTypes:
    - struct Curl_easy*
    - int
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 570
    functionName: Curl_conn_connect
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - struct Curl_cfilter*::cft::do_connect
    - CURL_TRC_CF
    - failf
    - curlx_now
    - CURLMIN
    - Curl_pollset_init
    - infof
    - DEBUGF
    - Curl_pollset_set_out_only
    - Curl_poll
    - cf_cntrl_update_info
    - CONN_SOCK_IDX_VALID
    - Curl_conn_flush
    - conn_report_connect_stats
    - Curl_pollfds_reset
    - cf_verboseconnect
    - DEBUGASSERT
    - Curl_pollset_reset
    - Curl_pollfds_init
    - Curl_conn_cf_get_socket
    - Curl_timeleft
    - Curl_conn_adjust_pollset
    - Curl_pollfds_add_ps
    - Curl_pollset_cleanup
    - Curl_pollfds_cleanup
    - Curl_conn_needs_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_connect(struct Curl_easy *data,\n                           int
      sockindex,\n                           bool blocking,\n                           bool
      *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: Curl_conn_is_setup
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_setup(struct connectdata *conn, int sockindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: Curl_conn_is_connected
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_connected(struct connectdata *conn, int sockindex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: Curl_conn_is_ip_connected
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_ip_connected(struct Curl_easy *data, int sockindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 615
    functionName: cf_is_ssl
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_is_ssl(struct Curl_cfilter *cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:619,1
    - Dst: cf_is_ssl
      Src: /src/PROJ/curl/lib/cfilters.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: Curl_conn_is_ssl
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 10
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - cf_is_ssl
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_ssl(struct connectdata *conn, int sockindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:628,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/cfilters.c:630,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - conn
    - sockindex
    - info
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - struct curl_tlssessioninfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: Curl_conn_get_ssl_info
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_ssl
    - CONN_SOCK_IDX_VALID
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_get_ssl_info(struct Curl_easy *data,\n                            struct
      connectdata *conn, int sockindex,\n                            struct curl_tlssessioninfo
      *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:644,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/PROJ/curl/lib/cfilters.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - is_ipv6
    - ipquad
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - bool*
    - struct ip_quadruple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 648
    functionName: Curl_conn_get_ip_info
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - Curl_conn_cf_get_ip_info
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_get_ip_info(struct Curl_easy *data,\n                               struct
      connectdata *conn, int sockindex,\n                               bool *is_ipv6,
      struct ip_quadruple *ipquad)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: Curl_conn_is_multiplex
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_multiplex(struct connectdata *conn, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_transport
      Src: /src/PROJ/curl/lib/cfilters.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: Curl_conn_get_transport
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_transport
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char Curl_conn_get_transport(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_alpn_negotiated
      Src: /src/PROJ/curl/lib/cfilters.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 679
    functionName: Curl_conn_get_alpn_negotiated
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - Curl_conn_cf_get_alpn_negotiated
    linkageType: ''
    returnType: char
    signature: "char *Curl_conn_get_alpn_negotiated(struct Curl_easy *data,\n                                          struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 703
    functionName: Curl_conn_http_version
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 3
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char Curl_conn_http_version(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:710,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:711,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:712,1
    - Dst: struct Curl_cfilter*::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cfilters.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 723
    functionName: Curl_conn_data_pending
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - DEBUGASSERT
    - struct Curl_cfilter*::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_data_pending(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: Curl_conn_cf_needs_flush
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_cf_needs_flush(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:737,1
    - Dst: Curl_conn_cf_needs_flush
      Src: /src/PROJ/curl/lib/cfilters.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: Curl_conn_needs_flush
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - Curl_conn_cf_needs_flush
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_needs_flush(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::adjust_pollset
      Src: /src/PROJ/curl/lib/cfilters.c:756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 760
    functionName: Curl_conn_cf_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_adjust_pollset(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:769,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:770,1
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/PROJ/curl/lib/cfilters.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - ps
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: Curl_conn_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - Curl_conn_cf_adjust_pollset
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_adjust_pollset(struct Curl_easy *data,\n                                  struct
      connectdata *conn,\n                                  struct easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:784,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:785,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:786,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/cfilters.c:787,1
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/PROJ/curl/lib/cfilters.c:789,1
    - Dst: Curl_pollset_poll
      Src: /src/PROJ/curl/lib/cfilters.c:791,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/cfilters.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - timeout_ms
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 794
    functionName: Curl_conn_cf_poll
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_init
    - Curl_pollset_poll
    - Curl_pollset_cleanup
    - DEBUGASSERT
    - Curl_conn_cf_adjust_pollset
    linkageType: ''
    returnType: int
    signature: "int Curl_conn_cf_poll(struct Curl_cfilter *cf,\n                      struct
      Curl_easy *data,\n                      timediff_t timeout_ms)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:802,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:808,1
    - Dst: cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:819,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/cfilters.c:820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - data
    - sockindex
    - phost
    - pport
    argTypes:
    - struct Curl_easy*
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 826
    functionName: Curl_conn_get_current_host
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - CURL_UNCONST
    - DEBUGASSERT
    - cft::query
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_get_current_host(struct Curl_easy *data, int sockindex,\n
      \                               const char **phost, int *pport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 838
    functionName: Curl_cf_def_cntrl
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_cntrl(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           int event, int arg1, void *arg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::cntrl
      Src: /src/PROJ/curl/lib/cfilters.c:850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - cf
    - data
    - ignore_result
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 855
    functionName: Curl_conn_cf_cntrl
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_cntrl(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            bool ignore_result,\n                            int
      event, int arg1, void *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 864
    functionName: Curl_conn_cf_get_socket
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t Curl_conn_cf_get_socket(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: Curl_conn_cf_get_transport
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char Curl_conn_cf_get_transport(struct Curl_cfilter *cf,\n
      \                                        struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cfilters.c:879,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:880,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/cfilters.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 884
    functionName: Curl_conn_cf_get_alpn_negotiated
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - CURL_UNCONST
    - CURL_TRC_CF
    linkageType: ''
    returnType: char
    signature: "char *Curl_conn_cf_get_alpn_negotiated(struct Curl_cfilter *cf,\n
      \                                            struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:891,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/cfilters.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: cf_get_remote_addr
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - CURL_UNCONST
    linkageType: ''
    returnType: struct Curl_sockaddr_ex
    signature: 'struct Curl_sockaddr_ex *

      cf_get_remote_addr(struct Curl_cfilter *cf, struct Curl_easy *data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cf
    - data
    - is_ipv6
    - ipquad
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    - struct ip_quadruple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 908
    functionName: Curl_conn_cf_get_ip_info
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_get_ip_info(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool *is_ipv6, struct ip_quadruple
      *ipquad)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/cfilters.c:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 923
    functionName: Curl_conn_get_first_socket
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t Curl_conn_get_first_socket(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:929,1
    - Dst: cf_get_remote_addr
      Src: /src/PROJ/curl/lib/cfilters.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 932
    functionName: Curl_conn_get_remote_addr
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - cf_get_remote_addr
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: struct Curl_sockaddr_ex
    signature: 'struct Curl_sockaddr_ex *

      Curl_conn_get_remote_addr(struct Curl_easy *data, int sockindex)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:937,1
    - Dst: Curl_conn_cf_cntrl
      Src: /src/PROJ/curl/lib/cfilters.c:940,1
    - Dst: fake_sclose
      Src: /src/PROJ/curl/lib/cfilters.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 945
    functionName: Curl_conn_forget_socket
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - fake_sclose
    - CONN_SOCK_IDX_VALID
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: void
    signature: void Curl_conn_forget_socket(struct Curl_easy *data, int sockindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cfilters.c:955,1
    - Dst: Curl_conn_cf_cntrl
      Src: /src/PROJ/curl/lib/cfilters.c:956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - conn
    - data
    - ignore_result
    - event
    - arg1
    - arg2
    argTypes:
    - struct connectdata*
    - struct Curl_easy*
    - bool
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: cf_cntrl_all
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_cntrl_all(struct connectdata *conn,\n                             struct
      Curl_easy *data,\n                             bool ignore_result,\n                             int
      event, int arg1, void *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/PROJ/curl/lib/cfilters.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 968
    functionName: Curl_conn_ev_data_setup
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_ev_data_setup(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:972,1
    - Dst: Curl_conn_cf_cntrl
      Src: /src/PROJ/curl/lib/cfilters.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 976
    functionName: Curl_conn_flush
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_flush(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/PROJ/curl/lib/cfilters.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: Curl_conn_ev_data_done_send
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: void
    signature: void Curl_conn_ev_data_done_send(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/PROJ/curl/lib/cfilters.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - premature
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: Curl_conn_ev_data_done
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: void
    signature: void Curl_conn_ev_data_done(struct Curl_easy *data, bool premature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/PROJ/curl/lib/cfilters.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - do_pause
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1000
    functionName: Curl_conn_ev_data_pause
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_ev_data_pause(struct Curl_easy *data, bool do_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/PROJ/curl/lib/cfilters.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1006
    functionName: cf_cntrl_update_info
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: void
    signature: "void cf_cntrl_update_info(struct Curl_easy *data,\n                                 struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cfilters.c:1019,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:1020,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/PROJ/curl/lib/cfilters.c:1022,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cfilters.c:1024,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:1025,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/PROJ/curl/lib/cfilters.c:1027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1029
    functionName: conn_report_connect_stats
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - memset
    - Curl_pgrsTimeWas
    linkageType: ''
    returnType: void
    signature: "void conn_report_connect_stats(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::is_alive
      Src: /src/PROJ/curl/lib/cfilters.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - data
    - conn
    - input_pending
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1037
    functionName: Curl_conn_is_alive
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_alive(struct Curl_easy *data, struct connectdata
      *conn,\n                        bool *input_pending)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:1045,1
    - Dst: struct Curl_cfilter*::cft::keep_alive
      Src: /src/PROJ/curl/lib/cfilters.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1049
    functionName: Curl_conn_keep_alive
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - struct Curl_cfilter*::cft::keep_alive
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_keep_alive(struct Curl_easy *data,\n                              struct
      connectdata *conn,\n                              int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:1059,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:1063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1069
    functionName: Curl_conn_get_max_concurrent
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_conn_get_max_concurrent(struct Curl_easy *data,\n                                    struct
      connectdata *conn,\n                                    int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:1079,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cfilters.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1086
    functionName: Curl_conn_get_stream_error
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: int
    signature: "int Curl_conn_get_stream_error(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1094
    functionName: Curl_conn_sockindex
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_conn_sockindex(struct Curl_easy *data, curl_socket_t sockfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:1099,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:1100,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:1101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - data
    - sockindex
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1107
    functionName: Curl_conn_recv
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 3
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_recv(struct Curl_easy *data, int sockindex,\n                        char
      *buf, size_t blen, size_t *pnread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:1115,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:1116,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cfilters.c:1117,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:1117,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/cfilters.c:1118,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/cfilters.c:1124,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cfilters.c:1127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - data
    - sockindex
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1139
    functionName: Curl_conn_send
    functionSourceFile: /src/PROJ/curl/lib/cfilters.c
    functionUses: 4
    functionsReached:
    - getenv
    - CONN_SOCK_IDX_VALID
    - DEBUGASSERT
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_send(struct Curl_easy *data, int sockindex,\n                        const
      void *buf, size_t blen, bool eos,\n                        size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:76,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:78,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:81,1
    - Dst: do_init_writer_stack
      Src: /src/PROJ/curl/lib/sendf.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:88,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/sendf.c:91,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/sendf.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: Curl_client_write
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 10
    functionsReached:
    - Curl_cwriter_write
    - DEBUGASSERT
    - CURL_TRC_WRITE
    - do_init_writer_stack
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_client_write(struct Curl_easy *data,\n                           int
      type, const char *buf, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cwriter*::cwt::do_close
      Src: /src/PROJ/curl/lib/sendf.c:102,1
    - Dst: free
      Src: /src/PROJ/curl/lib/sendf.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: cl_reset_writer
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - free
    - struct Curl_cwriter*::cwt::do_close
    linkageType: ''
    returnType: void
    signature: void cl_reset_writer(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::do_close
      Src: /src/PROJ/curl/lib/sendf.c:113,1
    - Dst: free
      Src: /src/PROJ/curl/lib/sendf.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: cl_reset_reader
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - free
    - struct Curl_creader*::crt::do_close
    linkageType: ''
    returnType: void
    signature: void cl_reset_reader(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:121,1
    - Dst: cl_reset_writer
      Src: /src/PROJ/curl/lib/sendf.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: Curl_client_cleanup
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cl_reset_writer
    - cl_reset_reader
    linkageType: ''
    returnType: void
    signature: void Curl_client_cleanup(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:132,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:135,1
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:136,1
    - Dst: cl_reset_writer
      Src: /src/PROJ/curl/lib/sendf.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: Curl_client_reset
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cl_reset_reader
    - cl_reset_writer
    - CURL_TRC_READ
    linkageType: ''
    returnType: void
    signature: void Curl_client_reset(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:150,1
    - Dst: struct Curl_creader*::crt::cntrl
      Src: /src/PROJ/curl/lib/sendf.c:152,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:154,1
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: Curl_client_start
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cl_reset_reader
    - struct Curl_creader*::crt::cntrl
    - CURL_TRC_READ
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_client_start(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: Curl_creader_will_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_creader_will_rewind(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - enable
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: Curl_creader_set_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_creader_set_rewind(struct Curl_easy *data, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cwriter*::cwt::do_write
      Src: /src/PROJ/curl/lib/sendf.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: Curl_cwriter_write
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - struct Curl_cwriter*::cwt::do_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_write(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer, int type,\n                            const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: Curl_cwriter_def_init
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_def_init(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/sendf.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: Curl_cwriter_def_write
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_def_write(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer, int type,\n                                const char
      *buf, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: Curl_cwriter_def_close
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_cwriter_def_close(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - limit
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: get_max_body_write_len
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_max_body_write_len(struct Curl_easy *data, curl_off_t limit)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/sendf.c:246,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/sendf.c:253,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/sendf.c:254,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/sendf.c:267,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/sendf.c:268,1
    - Dst: get_max_body_write_len
      Src: /src/PROJ/curl/lib/sendf.c:283,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:295,1
    - Dst: get_max_body_write_len
      Src: /src/PROJ/curl/lib/sendf.c:304,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/sendf.c:311,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/sendf.c:312,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/sendf.c:319,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/sendf.c:325,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/sendf.c:333,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:337,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 344
    functionName: cw_download_write
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - CURL_TRC_WRITE
    - connclose
    - get_max_body_write_len
    - Curl_pgrsTime
    - Curl_pgrsSetDownloadCounter
    - streamclose
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_download_write(struct Curl_easy *data,\n                                  struct
      Curl_cwriter *writer, int type,\n                                  const char
      *buf, size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/sendf.c:362,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/sendf.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: cw_raw_write
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_debug
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_raw_write(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer, int type,\n                             const char *buf,
      size_t nbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:386,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/sendf.c:387,1
    - Dst: struct Curl_cwtype*::do_init
      Src: /src/PROJ/curl/lib/sendf.c:395,1
    - Dst: free
      Src: /src/PROJ/curl/lib/sendf.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pwriter
    - data
    - cwt
    - phase
    argTypes:
    - struct Curl_cwriter**
    - struct Curl_easy*
    - struct Curl_cwtype*
    - Curl_cwriter_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 402
    functionName: Curl_cwriter_create
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_cwtype*::do_init
    - free
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_create(struct Curl_cwriter **pwriter,\n                             struct
      Curl_easy *data,\n                             const struct Curl_cwtype *cwt,\n
      \                            Curl_cwriter_phase phase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cwriter*::cwt::do_close
      Src: /src/PROJ/curl/lib/sendf.c:408,1
    - Dst: free
      Src: /src/PROJ/curl/lib/sendf.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: Curl_cwriter_free
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - free
    - struct Curl_cwriter*::cwt::do_close
    linkageType: ''
    returnType: void
    signature: "void Curl_cwriter_free(struct Curl_easy *data,\n                       struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - phase
    argTypes:
    - struct Curl_easy*
    - Curl_cwriter_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: Curl_cwriter_count
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_cwriter_count(struct Curl_easy *data, Curl_cwriter_phase
      phase)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:430,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/sendf.c:431,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/sendf.c:439,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/sendf.c:442,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/sendf.c:444,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/sendf.c:449,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/sendf.c:451,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/sendf.c:453,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/sendf.c:458,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/sendf.c:460,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/sendf.c:462,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 468
    functionName: do_init_writer_stack
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - Curl_cwriter_create
    - Curl_cwriter_free
    - DEBUGASSERT
    - Curl_cwriter_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode do_init_writer_stack(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_init_writer_stack
      Src: /src/PROJ/curl/lib/sendf.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: Curl_cwriter_add
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - do_init_writer_stack
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_add(struct Curl_easy *data,\n                          struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/sendf.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - name
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: Curl_cwriter_get_by_name
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct Curl_cwriter
    signature: "struct Curl_cwriter *Curl_cwriter_get_by_name(struct Curl_easy *data,\n
      \                                             const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - cwt
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: Curl_cwriter_get_by_type
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_cwriter
    signature: "struct Curl_cwriter *Curl_cwriter_get_by_type(struct Curl_easy *data,\n
      \                                             const struct Curl_cwtype *cwt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: Curl_cwriter_is_content_decoding
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_cwriter_is_content_decoding(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cw_out_is_paused
      Src: /src/PROJ/curl/lib/sendf.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: Curl_cwriter_is_paused
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - Curl_cw_out_is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_cwriter_is_paused(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cw_out_unpause
      Src: /src/PROJ/curl/lib/sendf.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 7
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: Curl_cwriter_unpause
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - Curl_cw_out_unpause
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cwriter_unpause(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::do_read
      Src: /src/PROJ/curl/lib/sendf.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: Curl_creader_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - struct Curl_creader*::crt::do_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen, size_t
      *nread, bool *eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::cntrl
      Src: /src/PROJ/curl/lib/sendf.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: Curl_creader_clear_eos
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::cntrl
    linkageType: ''
    returnType: void
    signature: "void Curl_creader_clear_eos(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: Curl_creader_def_init
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_init(struct Curl_easy *data,\n                               struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: Curl_creader_def_close
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_creader_def_close(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::next::crt::do_read
      Src: /src/PROJ/curl/lib/sendf.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 581
    functionName: Curl_creader_def_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - struct Curl_creader*::next::crt::do_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_read(struct Curl_easy *data,\n                               struct
      Curl_creader *reader,\n                               char *buf, size_t blen,\n
      \                              size_t *nread, bool *eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionName: Curl_creader_def_needs_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_creader_def_needs_rewind(struct Curl_easy *data,\n                                   struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::next::crt::total_length
      Src: /src/PROJ/curl/lib/sendf.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: Curl_creader_def_total_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - struct Curl_creader*::next::crt::total_length
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t Curl_creader_def_total_length(struct Curl_easy *data,\n
      \                                        struct Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: Curl_creader_def_resume_from
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_resume_from(struct Curl_easy *data,\n                                      struct
      Curl_creader *reader,\n                                      curl_off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 616
    functionName: Curl_creader_def_cntrl
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_cntrl(struct Curl_easy *data,\n                                struct
      Curl_creader *reader,\n                                Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: Curl_creader_def_is_paused
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_creader_def_is_paused(struct Curl_easy *data,\n                                struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - reader
    - premature
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: Curl_creader_def_done
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_creader_def_done(struct Curl_easy *data,\n                           struct
      Curl_creader *reader, int premature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 656
    functionName: cr_in_init
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_in_init(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:691,1
    - Dst: struct cr_in_ctx*::read_cb
      Src: /src/PROJ/curl/lib/sendf.c:692,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:693,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:700,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:712,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:725,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:730,1
    - Dst: Curl_xfer_pause_send
      Src: /src/PROJ/curl/lib/sendf.c:734,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:740,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:755,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 760
    functionName: cr_in_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_set_in_callback
    - failf
    - struct cr_in_ctx*::read_cb
    - Curl_xfer_pause_send
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen,\n
      \                          size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: cr_in_needs_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_in_needs_rewind(struct Curl_easy *data,\n                               struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: cr_in_total_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_in_total_length(struct Curl_easy *data,\n                                     struct
      Curl_creader *reader)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:785,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:791,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/PROJ/curl/lib/sendf.c:792,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:793,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:800,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/sendf.c:809,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:812,1
    - Dst: struct cr_in_ctx*::read_cb
      Src: /src/PROJ/curl/lib/sendf.c:813,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:815,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:821,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:833,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 839
    functionName: cr_in_resume_from
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_set_in_callback
    - curlx_sotouz
    - failf
    - struct Curl_easy*::set::seek_func
    - struct cr_in_ctx*::read_cb
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_resume_from(struct Curl_easy *data,\n                                  struct
      Curl_creader *reader,\n                                  curl_off_t offset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:853,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:855,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:856,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:858,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:865,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/sendf.c:868,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:869,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:871,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/sendf.c:887,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:888,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/sendf.c:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 900
    functionName: cr_in_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - fseek
    - failf
    - Curl_set_in_callback
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_rewind(struct Curl_easy *data,\n                             struct
      Curl_creader *reader)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cr_in_rewind
      Src: /src/PROJ/curl/lib/sendf.c:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 921
    functionName: cr_in_cntrl
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cr_in_rewind
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_cntrl(struct Curl_easy *data,\n                            struct
      Curl_creader *reader,\n                            Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 929
    functionName: cr_in_is_paused
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_in_is_paused(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:954,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/sendf.c:955,1
    - Dst: struct Curl_crtype*::do_init
      Src: /src/PROJ/curl/lib/sendf.c:963,1
    - Dst: free
      Src: /src/PROJ/curl/lib/sendf.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - preader
    - data
    - crt
    - phase
    argTypes:
    - struct Curl_creader**
    - struct Curl_easy*
    - struct Curl_crtype*
    - Curl_creader_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 970
    functionName: Curl_creader_create
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - free
    - calloc
    - DEBUGASSERT
    - struct Curl_crtype*::do_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_create(struct Curl_creader **preader,\n                             struct
      Curl_easy *data,\n                             const struct Curl_crtype *crt,\n
      \                            Curl_creader_phase phase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::do_close
      Src: /src/PROJ/curl/lib/sendf.c:975,1
    - Dst: free
      Src: /src/PROJ/curl/lib/sendf.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 978
    functionName: Curl_creader_free
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - free
    - struct Curl_creader*::crt::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_creader_free(struct Curl_easy *data, struct Curl_creader
      *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/sendf.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: cr_lc_init
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_lc_init(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/sendf.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: cr_lc_close
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cr_lc_close(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/sendf.c:1020,1
    - Dst: Curl_creader_read
      Src: /src/PROJ/curl/lib/sendf.c:1028,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/sendf.c:1033,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/sendf.c:1052,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/sendf.c:1054,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/sendf.c:1054,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/sendf.c:1061,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1067,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/sendf.c:1067,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/sendf.c:1069,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/sendf.c:1070,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1077,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1080
    functionName: cr_lc_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - Curl_bufq_cread
    - Curl_bufq_is_empty
    - STRCONST
    - DEBUGASSERT
    - memchr
    - CURL_TRC_READ
    - Curl_creader_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_lc_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen,\n
      \                          size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1089
    functionName: cr_lc_total_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_lc_total_length(struct Curl_easy *data,\n                                     struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/sendf.c:1110,1
    - Dst: Curl_creader_add
      Src: /src/PROJ/curl/lib/sendf.c:1113,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/sendf.c:1116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1118
    functionName: cr_lc_add
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_creader_add
    - Curl_creader_create
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_lc_add(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1126,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1127,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1128,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1129,1
    - Dst: struct Curl_creader*::crt::total_length
      Src: /src/PROJ/curl/lib/sendf.c:1132,1
    - Dst: cr_lc_add
      Src: /src/PROJ/curl/lib/sendf.c:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1146
    functionName: do_init_reader_stack
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cr_lc_add
    - DEBUGASSERT
    - struct Curl_creader*::crt::total_length
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_init_reader_stack(struct Curl_easy *data,\n                                     struct
      Curl_creader *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/sendf.c:1154,1
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:1160,1
    - Dst: do_init_reader_stack
      Src: /src/PROJ/curl/lib/sendf.c:1161,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1148
    functionDepth: 4
    functionLinenumber: 1148
    functionLinenumberEnd: 1166
    functionName: Curl_creader_set_fread
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - CURL_TRC_READ
    - Curl_creader_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set_fread(struct Curl_easy *data, curl_off_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/sendf.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1168
    functionDepth: 5
    functionLinenumber: 1168
    functionLinenumberEnd: 1187
    functionName: Curl_creader_add
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 4
    functionsReached:
    - Curl_creader_set_fread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_add(struct Curl_easy *data,\n                          struct
      Curl_creader *reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1193,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1194,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1195,1
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:1197,1
    - Dst: do_init_reader_stack
      Src: /src/PROJ/curl/lib/sendf.c:1198,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/sendf.c:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1189
    functionDepth: 4
    functionLinenumber: 1189
    functionLinenumberEnd: 1202
    functionName: Curl_creader_set
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - DEBUGASSERT
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set(struct Curl_easy *data, struct Curl_creader
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1209,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1210,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1211,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1212,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/sendf.c:1215,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1218,1
    - Dst: Curl_creader_read
      Src: /src/PROJ/curl/lib/sendf.c:1221,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 5
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: Curl_client_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - Curl_creader_set_fread
    - Curl_creader_read
    - CURL_TRC_READ
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_client_read(struct Curl_easy *data, char *buf, size_t
      blen,\n                          size_t *nread, bool *eos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::needs_rewind
      Src: /src/PROJ/curl/lib/sendf.c:1232,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1239
    functionName: Curl_creader_needs_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_READ
    - struct Curl_creader*::crt::needs_rewind
    linkageType: ''
    returnType: bool
    signature: bool Curl_creader_needs_rewind(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1253
    functionName: cr_null_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_null_read(struct Curl_easy *data,\n                             struct
      Curl_creader *reader,\n                             char *buf, size_t blen,\n
      \                            size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1262
    functionName: cr_null_total_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_null_total_length(struct Curl_easy *data,\n                                       struct
      Curl_creader *reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/sendf.c:1283,1
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:1287,1
    - Dst: do_init_reader_stack
      Src: /src/PROJ/curl/lib/sendf.c:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1278
    functionDepth: 4
    functionLinenumber: 1278
    functionLinenumberEnd: 1289
    functionName: Curl_creader_set_null
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - Curl_creader_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set_null(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/sendf.c:1314,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1322
    functionName: cr_buf_read
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_READ
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_buf_read(struct Curl_easy *data,\n                            struct
      Curl_creader *reader,\n                            char *buf, size_t blen,\n
      \                           size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1330
    functionName: cr_buf_needs_rewind
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_buf_needs_rewind(struct Curl_easy *data,\n                                struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1346
    functionName: cr_buf_cntrl
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_buf_cntrl(struct Curl_easy *data,\n                             struct
      Curl_creader *reader,\n                             Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1354
    functionName: cr_buf_total_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_buf_total_length(struct Curl_easy *data,\n                                      struct
      Curl_creader *reader)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/sendf.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1377
    functionName: cr_buf_resume_from
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_buf_resume_from(struct Curl_easy *data,\n                                   struct
      Curl_creader *reader,\n                                   curl_off_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/sendf.c:1400,1
    - Dst: cl_reset_reader
      Src: /src/PROJ/curl/lib/sendf.c:1408,1
    - Dst: do_init_reader_stack
      Src: /src/PROJ/curl/lib/sendf.c:1409,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - data
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1393
    functionDepth: 4
    functionLinenumber: 1393
    functionLinenumberEnd: 1413
    functionName: Curl_creader_set_buf
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - CURL_TRC_READ
    - Curl_creader_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_set_buf(struct Curl_easy *data,\n                              const
      char *buf, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::total_length
      Src: /src/PROJ/curl/lib/sendf.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1419
    functionName: Curl_creader_total_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 6
    functionsReached:
    - struct Curl_creader*::crt::total_length
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t Curl_creader_total_length(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::total_length
      Src: /src/PROJ/curl/lib/sendf.c:1426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1427
    functionName: Curl_creader_client_length
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::total_length
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t Curl_creader_client_length(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::resume_from
      Src: /src/PROJ/curl/lib/sendf.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1435
    functionName: Curl_creader_resume_from
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::resume_from
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_resume_from(struct Curl_easy *data, curl_off_t
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::cntrl
      Src: /src/PROJ/curl/lib/sendf.c:1443,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/sendf.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1450
    functionName: Curl_creader_unpause
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::cntrl
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_unpause(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::is_paused
      Src: /src/PROJ/curl/lib/sendf.c:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1462
    functionName: Curl_creader_is_paused
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - struct Curl_creader*::crt::is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_creader_is_paused(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::done
      Src: /src/PROJ/curl/lib/sendf.c:1468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - premature
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1471
    functionName: Curl_creader_done
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - struct Curl_creader*::crt::done
    linkageType: ''
    returnType: void
    signature: void Curl_creader_done(struct Curl_easy *data, int premature)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - crt
    argTypes:
    - struct Curl_easy*
    - struct Curl_crtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: Curl_creader_get_by_type
    functionSourceFile: /src/PROJ/curl/lib/sendf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_creader
    signature: "struct Curl_creader *Curl_creader_get_by_type(struct Curl_easy *data,\n
      \                                             const struct Curl_crtype *crt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/socks_gssapi.c:59,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/socks_gssapi.c:65,1
    - Dst: gss_display_status
      Src: /src/PROJ/curl/lib/socks_gssapi.c:69,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/socks_gssapi.c:74,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:77,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:80,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/socks_gssapi.c:82,1
    - Dst: gss_display_status
      Src: /src/PROJ/curl/lib/socks_gssapi.c:87,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/socks_gssapi.c:92,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:95,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:98,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:100,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/socks_gssapi.c:101,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/socks_gssapi.c:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - data
    - major_status
    - minor_status
    - function
    argTypes:
    - struct Curl_easy*
    - OM_uint32
    - OM_uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 107
    functionName: check_gss_err
    functionSourceFile: /src/PROJ/curl/lib/socks_gssapi.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - failf
    - gss_display_status
    - curlx_dyn_init
    - gss_release_buffer
    - GSS_ERROR
    - curlx_dyn_free
    linkageType: ''
    returnType: int
    signature: "int check_gss_err(struct Curl_easy *data,\n                         OM_uint32
      major_status,\n                         OM_uint32 minor_status,\n                         const
      char *function)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks_gssapi.c:132,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/socks_gssapi.c:145,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/socks_gssapi.c:147,1
    - Dst: gss_import_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:151,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_gssapi.c:155,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks_gssapi.c:156,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks_gssapi.c:160,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:161,1
    - Dst: gss_import_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:164,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:168,1
    - Dst: check_gss_err
      Src: /src/PROJ/curl/lib/socks_gssapi.c:171,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:173,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:174,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socks_gssapi.c:178,1
    - Dst: Curl_gss_init_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:183,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:195,1
    - Dst: check_gss_err
      Src: /src/PROJ/curl/lib/socks_gssapi.c:198,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:202,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:203,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:204,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:205,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/socks_gssapi.c:212,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:213,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_gssapi.c:215,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:218,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:219,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:220,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:221,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_gssapi.c:225,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:229,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:230,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:231,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:232,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:238,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_gssapi.c:252,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:254,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:255,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:256,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:262,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:264,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:265,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:270,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:272,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:273,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:277,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/socks_gssapi.c:278,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_gssapi.c:281,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:283,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:286,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:287,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_gssapi.c:291,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:295,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:296,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:297,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:299,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:306,1
    - Dst: gss_inquire_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:309,1
    - Dst: check_gss_err
      Src: /src/PROJ/curl/lib/socks_gssapi.c:312,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:314,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:315,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:316,1
    - Dst: gss_display_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:319,1
    - Dst: check_gss_err
      Src: /src/PROJ/curl/lib/socks_gssapi.c:321,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:323,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:324,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:325,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:326,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks_gssapi.c:330,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/socks_gssapi.c:333,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:334,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks_gssapi.c:348,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/socks_gssapi.c:383,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:384,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/socks_gssapi.c:388,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:390,1
    - Dst: gss_wrap
      Src: /src/PROJ/curl/lib/socks_gssapi.c:394,1
    - Dst: check_gss_err
      Src: /src/PROJ/curl/lib/socks_gssapi.c:398,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:399,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:401,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:402,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:403,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:406,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/socks_gssapi.c:409,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:410,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_gssapi.c:413,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:416,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:417,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:418,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:423,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_gssapi.c:424,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:427,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:428,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_gssapi.c:433,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:436,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:437,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:438,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:441,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_gssapi.c:444,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:446,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:447,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:453,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:455,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:460,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:462,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:466,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/socks_gssapi.c:467,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_gssapi.c:470,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:472,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_gssapi.c:475,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:479,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:480,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:482,1
    - Dst: gss_unwrap
      Src: /src/PROJ/curl/lib/socks_gssapi.c:487,1
    - Dst: check_gss_err
      Src: /src/PROJ/curl/lib/socks_gssapi.c:491,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:492,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:494,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:495,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:496,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:499,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:503,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:505,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:506,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:510,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/socks_gssapi.c:511,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_gssapi.c:515,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:517,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:519,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_gssapi.c:523,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_gssapi.c:524,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socks_gssapi.c:528,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks_gssapi.c:530,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/socks_gssapi.c:537,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 247
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 540
    functionName: Curl_SOCKS5_gssapi_negotiate
    functionSourceFile: /src/PROJ/curl/lib/socks_gssapi.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_blockread_all
    - gss_inquire_context
    - infof
    - check_gss_err
    - memcpy
    - gss_release_buffer
    - gss_release_name
    - strlen
    - Curl_gss_delete_sec_context
    - Curl_conn_cf_send
    - gss_display_name
    - curlx_nonblock
    - htons
    - Curl_gss_init_sec_context
    - strchr
    - curl_msnprintf
    - gss_unwrap
    - gss_wrap
    - Curl_safefree
    - malloc
    - Curl_memdup
    - ntohs
    - gss_import_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: Curl_parsenetrc
    functionSourceFile: /src/PROJ/curl/lib/netrc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_parsenetrc(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - slots
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: uint_hash_hash
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int uint_hash_hash(unsigned int id, unsigned int slots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:56,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - h
    - slots
    - dtor
    argTypes:
    - struct uint_hash*
    - unsigned int
    - Curl_uint_hash_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: Curl_uint_hash_init
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_uint_hash_init(struct uint_hash *h,\n                         unsigned
      int slots,\n                         Curl_uint_hash_dtor *dtor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/uint-hash.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: uint_hash_mk_entry
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct uint_hash_entry
    signature: struct uint_hash_entry *uint_hash_mk_entry(unsigned int id, void *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:86,1
    - Dst: struct uint_hash*::dtor
      Src: /src/PROJ/curl/lib/uint-hash.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: uint_hash_entry_clear
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - struct uint_hash*::dtor
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void uint_hash_entry_clear(struct uint_hash *h,\n                                  struct
      uint_hash_entry *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint_hash_entry_clear
      Src: /src/PROJ/curl/lib/uint-hash.c:97,1
    - Dst: free
      Src: /src/PROJ/curl/lib/uint-hash.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: uint_hash_entry_destroy
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - free
    - uint_hash_entry_clear
    linkageType: ''
    returnType: void
    signature: "void uint_hash_entry_destroy(struct uint_hash *h,\n                                    struct
      uint_hash_entry *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry**
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: uint_hash_entry_unlink
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void uint_hash_entry_unlink(struct uint_hash *h,\n                                   struct
      uint_hash_entry **he_anchor,\n                                   struct uint_hash_entry
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry**
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: uint_hash_elem_link
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void uint_hash_elem_link(struct uint_hash *h,\n                                struct
      uint_hash_entry **he_anchor,\n                                struct uint_hash_entry
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: CURL_UINT_HASH_SLOT
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UINT_HASH_SLOT(h,id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: CURL_UINT_HASH_SLOT_ADDR
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UINT_HASH_SLOT_ADDR(h,id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:125,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:126,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:127,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/uint-hash.c:129,1
    - Dst: CURL_UINT_HASH_SLOT_ADDR
      Src: /src/PROJ/curl/lib/uint-hash.c:134,1
    - Dst: uint_hash_entry_clear
      Src: /src/PROJ/curl/lib/uint-hash.c:138,1
    - Dst: uint_hash_mk_entry
      Src: /src/PROJ/curl/lib/uint-hash.c:144,1
    - Dst: uint_hash_elem_link
      Src: /src/PROJ/curl/lib/uint-hash.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - h
    - id
    - value
    argTypes:
    - struct uint_hash*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: Curl_uint_hash_set
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - CURL_UINT_HASH_SLOT_ADDR
    - uint_hash_entry_clear
    - calloc
    - DEBUGASSERT
    - uint_hash_elem_link
    - uint_hash_mk_entry
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_hash_set(struct uint_hash *h, unsigned int id, void
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:154,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:155,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:156,1
    - Dst: CURL_UINT_HASH_SLOT_ADDR
      Src: /src/PROJ/curl/lib/uint-hash.c:160,1
    - Dst: uint_hash_entry_unlink
      Src: /src/PROJ/curl/lib/uint-hash.c:164,1
    - Dst: uint_hash_entry_destroy
      Src: /src/PROJ/curl/lib/uint-hash.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - h
    - id
    argTypes:
    - struct uint_hash*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: Curl_uint_hash_remove
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - uint_hash_entry_destroy
    - uint_hash_entry_unlink
    - CURL_UINT_HASH_SLOT_ADDR
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_hash_remove(struct uint_hash *h, unsigned int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:176,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:177,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:180,1
    - Dst: CURL_UINT_HASH_SLOT
      Src: /src/PROJ/curl/lib/uint-hash.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - h
    - id
    argTypes:
    - struct uint_hash*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: Curl_uint_hash_get
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - CURL_UINT_HASH_SLOT
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_uint_hash_get(struct uint_hash *h, unsigned int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:197,1
    - Dst: uint_hash_entry_unlink
      Src: /src/PROJ/curl/lib/uint-hash.c:202,1
    - Dst: uint_hash_entry_destroy
      Src: /src/PROJ/curl/lib/uint-hash.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: uint_hash_clear
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - uint_hash_entry_destroy
    - uint_hash_entry_unlink
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void uint_hash_clear(struct uint_hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint_hash_clear
      Src: /src/PROJ/curl/lib/uint-hash.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: Curl_uint_hash_clear
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - uint_hash_clear
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_uint_hash_clear(struct uint_hash *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:218,1
    - Dst: uint_hash_clear
      Src: /src/PROJ/curl/lib/uint-hash.c:220,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/uint-hash.c:221,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: Curl_uint_hash_destroy
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - uint_hash_clear
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_uint_hash_destroy(struct uint_hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: Curl_uint_hash_count
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_hash_count(struct uint_hash *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-hash.c:240,1
    - Dst: cb
      Src: /src/PROJ/curl/lib/uint-hash.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - h
    - cb
    - user_data
    argTypes:
    - struct uint_hash*
    - Curl_uint_hash_visit_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: Curl_uint_hash_visit
    functionSourceFile: /src/PROJ/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - cb
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_uint_hash_visit(struct uint_hash *h,\n                          Curl_uint_hash_visit_cb
      *cb,\n                          void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/tftp.c:214,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:218,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:243,1
    - Dst: time
      Src: /src/PROJ/curl/lib/tftp.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct tftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 251
    functionName: tftp_set_timeouts
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - infof
    - time
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_set_timeouts(struct tftp_conn *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - num
    argTypes:
    - struct tftp_packet*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: setpacketevent
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setpacketevent(struct tftp_packet *packet, unsigned short num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - num
    argTypes:
    - struct tftp_packet*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: setpacketblock
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setpacketblock(struct tftp_packet *packet, unsigned short num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct tftp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: getrpacketevent
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short getrpacketevent(const struct tftp_packet *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct tftp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: getrpacketblock
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short getrpacketblock(const struct tftp_packet *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/PROJ/curl/lib/tftp.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - maxlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tftp_strnlen
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: size_t tftp_strnlen(const char *string, size_t maxlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tftp_strnlen
      Src: /src/PROJ/curl/lib/tftp.c:295,1
    - Dst: tftp_strnlen
      Src: /src/PROJ/curl/lib/tftp.c:302,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - len
    - option
    - value
    argTypes:
    - char*
    - size_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 310
    functionName: tftp_option_get
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_strnlen
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *tftp_option_get(const char *buf, size_t len,\n                                   const
      char **option, const char **value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tftp_option_get
      Src: /src/PROJ/curl/lib/tftp.c:324,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:326,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:330,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/tftp.c:332,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/tftp.c:334,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:335,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:340,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:344,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:352,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:358,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/tftp.c:361,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/tftp.c:366,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:368,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:371,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/tftp.c:373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - state
    - ptr
    - len
    argTypes:
    - struct tftp_conn*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 379
    functionName: tftp_parse_option_ack
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - tftp_option_get
    - curlx_str_number
    - checkprefix
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_parse_option_ack(struct tftp_conn *state,\n                                      const
      char *ptr, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:384,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/tftp.c:386,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - state
    - csize
    - buf
    - option
    argTypes:
    - struct tftp_conn*
    - size_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: tftp_option_add
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_option_add(struct tftp_conn *state, size_t *csize,\n
      \                               char *buf, const char *option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:398,1
    - Dst: tftp_set_timeouts
      Src: /src/PROJ/curl/lib/tftp.c:401,1
    - Dst: tftp_tx
      Src: /src/PROJ/curl/lib/tftp.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: tftp_connect_for_tx
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_set_timeouts
    - infof
    - tftp_tx
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_connect_for_tx(struct tftp_conn *state,\n                                    tftp_event_t
      event)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:414,1
    - Dst: tftp_set_timeouts
      Src: /src/PROJ/curl/lib/tftp.c:417,1
    - Dst: tftp_rx
      Src: /src/PROJ/curl/lib/tftp.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: tftp_connect_for_rx
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_set_timeouts
    - infof
    - tftp_rx
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_connect_for_rx(struct tftp_conn *state,\n                                    tftp_event_t
      event)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:452,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/tftp.c:454,1
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:458,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:464,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/tftp.c:467,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:472,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:472,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:473,1
    - Dst: free
      Src: /src/PROJ/curl/lib/tftp.c:474,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/tftp.c:478,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:481,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:481,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/tftp.c:487,1
    - Dst: tftp_option_add
      Src: /src/PROJ/curl/lib/tftp.c:491,1
    - Dst: tftp_option_add
      Src: /src/PROJ/curl/lib/tftp.c:495,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/tftp.c:499,1
    - Dst: tftp_option_add
      Src: /src/PROJ/curl/lib/tftp.c:501,1
    - Dst: tftp_option_add
      Src: /src/PROJ/curl/lib/tftp.c:505,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/tftp.c:509,1
    - Dst: tftp_option_add
      Src: /src/PROJ/curl/lib/tftp.c:511,1
    - Dst: tftp_option_add
      Src: /src/PROJ/curl/lib/tftp.c:515,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:519,1
    - Dst: free
      Src: /src/PROJ/curl/lib/tftp.c:520,1
    - Dst: Curl_conn_get_remote_addr
      Src: /src/PROJ/curl/lib/tftp.c:532,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:536,1
    - Dst: CURL_SENDTO_ARG5
      Src: /src/PROJ/curl/lib/tftp.c:538,1
    - Dst: free
      Src: /src/PROJ/curl/lib/tftp.c:540,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:543,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:543,1
    - Dst: tftp_connect_for_tx
      Src: /src/PROJ/curl/lib/tftp.c:550,1
    - Dst: tftp_connect_for_rx
      Src: /src/PROJ/curl/lib/tftp.c:553,1
    - Dst: tftp_connect_for_tx
      Src: /src/PROJ/curl/lib/tftp.c:558,1
    - Dst: tftp_connect_for_rx
      Src: /src/PROJ/curl/lib/tftp.c:562,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:570,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 423
    functionDepth: 6
    functionLinenumber: 423
    functionLinenumberEnd: 575
    functionName: tftp_send_first
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - free
    - setpacketevent
    - failf
    - curl_msnprintf
    - curlx_strerror
    - tftp_option_add
    - Curl_conn_get_remote_addr
    - strlen
    - Curl_urldecode
    - Curl_pgrsSetUploadSize
    - tftp_connect_for_tx
    - CURL_SENDTO_ARG5
    - sendto
    - tftp_connect_for_rx
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_send_first(struct tftp_conn *state,\n                                tftp_event_t
      event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    functionName: CURL_SENDTO_ARG5
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SENDTO_ARG5(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: CURL_SENDTO_ARG5
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SENDTO_ARG5(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 580
    functionName: NEXT_BLOCKNUM
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_BLOCKNUM(x)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getrpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:599,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/PROJ/curl/lib/tftp.c:600,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:607,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:611,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/PROJ/curl/lib/tftp.c:613,1
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:619,1
    - Dst: setpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:620,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:621,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:626,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:626,1
    - Dst: time
      Src: /src/PROJ/curl/lib/tftp.c:637,1
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:644,1
    - Dst: setpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:645,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:646,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:651,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:651,1
    - Dst: time
      Src: /src/PROJ/curl/lib/tftp.c:657,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:663,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/PROJ/curl/lib/tftp.c:665,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:672,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:677,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:677,1
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:684,1
    - Dst: setpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:685,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:686,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:696,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 701
    functionName: tftp_rx
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 1
    functionsReached:
    - infof
    - setpacketevent
    - failf
    - time
    - NEXT_BLOCKNUM
    - curlx_strerror
    - setpacketblock
    - getrpacketblock
    - sendto
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_rx(struct tftp_conn *state, tftp_event_t event)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getrpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:727,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:737,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:742,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:748,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:754,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:755,1
    - Dst: time
      Src: /src/PROJ/curl/lib/tftp.c:764,1
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:771,1
    - Dst: setpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:772,1
    - Dst: Curl_client_read
      Src: /src/PROJ/curl/lib/tftp.c:785,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:793,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:799,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:799,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/tftp.c:804,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:810,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/PROJ/curl/lib/tftp.c:811,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:819,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:825,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:825,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/tftp.c:829,1
    - Dst: setpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:835,1
    - Dst: setpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:836,1
    - Dst: sendto
      Src: /src/PROJ/curl/lib/tftp.c:837,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:846,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 710
    functionDepth: 6
    functionLinenumber: 710
    functionLinenumberEnd: 851
    functionName: tftp_tx
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 1
    functionsReached:
    - infof
    - setpacketevent
    - failf
    - time
    - Curl_pgrsSetUploadCounter
    - curlx_strerror
    - NEXT_BLOCKNUM
    - setpacketblock
    - Curl_client_read
    - getrpacketblock
    - sendto
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_tx(struct tftp_conn *state, tftp_event_t event)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - error
    argTypes:
    - tftp_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 903
    functionName: tftp_translate_code
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_translate_code(tftp_error_t error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/tftp.c:920,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:920,1
    - Dst: tftp_send_first
      Src: /src/PROJ/curl/lib/tftp.c:921,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/tftp.c:924,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:924,1
    - Dst: tftp_rx
      Src: /src/PROJ/curl/lib/tftp.c:925,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/tftp.c:928,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:928,1
    - Dst: tftp_tx
      Src: /src/PROJ/curl/lib/tftp.c:929,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:932,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/tftp.c:935,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:935,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 7
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: tftp_state_machine
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - failf
    - tftp_tx
    - tftp_send_first
    - tftp_rx
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_state_machine(struct tftp_conn *state,\n                                   tftp_event_t
      event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/tftp.c:949,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/tftp.c:950,1
    - Dst: free
      Src: /src/PROJ/curl/lib/tftp.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: tftp_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void tftp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/tftp.c:972,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/tftp.c:974,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/tftp.c:988,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/tftp.c:995,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/tftp.c:1003,1
    - Dst: Curl_conn_get_remote_addr
      Src: /src/PROJ/curl/lib/tftp.c:1012,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/tftp.c:1013,1
    - Dst: tftp_set_timeouts
      Src: /src/PROJ/curl/lib/tftp.c:1020,1
    - Dst: bind
      Src: /src/PROJ/curl/lib/tftp.c:1038,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:1042,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:1043,1
    - Dst: Curl_pgrsStartNow
      Src: /src/PROJ/curl/lib/tftp.c:1049,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1054
    functionName: tftp_connect
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pgrsStartNow
    - tftp_set_timeouts
    - curlx_strerror
    - connclose
    - Curl_conn_get_remote_addr
    - calloc
    - DEBUGASSERT
    - Curl_conn_meta_set
    - bind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/tftp.c:1068,1
    - Dst: Curl_pgrsDone
      Src: /src/PROJ/curl/lib/tftp.c:1073,1
    - Dst: tftp_translate_code
      Src: /src/PROJ/curl/lib/tftp.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1081
    functionName: tftp_done
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pgrsDone
    - tftp_translate_code
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_in
      Src: /src/PROJ/curl/lib/tftp.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1087
    functionName: tftp_pollset
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/PROJ/curl/lib/tftp.c:1104,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/tftp.c:1114,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:1115,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/tftp.c:1123,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:1129,1
    - Dst: getrpacketevent
      Src: /src/PROJ/curl/lib/tftp.c:1135,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/PROJ/curl/lib/tftp.c:1142,1
    - Dst: getrpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:1142,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/tftp.c:1143,1
    - Dst: tftp_state_machine
      Src: /src/PROJ/curl/lib/tftp.c:1147,1
    - Dst: getrpacketblock
      Src: /src/PROJ/curl/lib/tftp.c:1154,1
    - Dst: tftp_strnlen
      Src: /src/PROJ/curl/lib/tftp.c:1158,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:1159,1
    - Dst: tftp_parse_option_ack
      Src: /src/PROJ/curl/lib/tftp.c:1165,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:1174,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/tftp.c:1179,1
    - Dst: tftp_state_machine
      Src: /src/PROJ/curl/lib/tftp.c:1180,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct Curl_easy*
    - struct tftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1096
    functionDepth: 8
    functionLinenumber: 1096
    functionLinenumberEnd: 1185
    functionName: tftp_receive_packet
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - memcpy
    - Curl_pgrsUpdate
    - Curl_client_write
    - tftp_parse_option_ack
    - NEXT_BLOCKNUM
    - getrpacketevent
    - tftp_state_machine
    - memcmp
    - getrpacketblock
    - recvfrom
    - tftp_strnlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_receive_packet(struct Curl_easy *data,\n                                    struct
      tftp_conn *state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/tftp.c:1203,1
    - Dst: time
      Src: /src/PROJ/curl/lib/tftp.c:1210,1
    - Dst: time
      Src: /src/PROJ/curl/lib/tftp.c:1214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1218
    functionName: tftp_state_timeout
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - time
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t tftp_state_timeout(struct tftp_conn *state,\n                                     tftp_event_t
      *event)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/tftp.c:1232,1
    - Dst: tftp_state_timeout
      Src: /src/PROJ/curl/lib/tftp.c:1239,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:1241,1
    - Dst: tftp_state_machine
      Src: /src/PROJ/curl/lib/tftp.c:1245,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/tftp.c:1251,1
    - Dst: SOCKET_READABLE
      Src: /src/PROJ/curl/lib/tftp.c:1255,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/tftp.c:1261,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/tftp.c:1261,1
    - Dst: tftp_receive_packet
      Src: /src/PROJ/curl/lib/tftp.c:1265,1
    - Dst: tftp_state_machine
      Src: /src/PROJ/curl/lib/tftp.c:1268,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/tftp.c:1274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1227
    functionDepth: 9
    functionLinenumber: 1227
    functionLinenumberEnd: 1280
    functionName: tftp_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - failf
    - tftp_receive_packet
    - tftp_state_machine
    - Curl_xfer_setup_nop
    - curlx_strerror
    - Curl_conn_meta_get
    - tftp_state_timeout
    - SOCKET_READABLE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tftp_multi_statemach
      Src: /src/PROJ/curl/lib/tftp.c:1292,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/tftp.c:1295,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:1295,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/tftp.c:1301,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/tftp.c:1304,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/tftp.c:1304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1289
    functionDepth: 10
    functionLinenumber: 1289
    functionLinenumberEnd: 1307
    functionName: tftp_doing
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_pgrsUpdate
    - curlx_now
    - Curl_speedcheck
    - tftp_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/tftp.c:1320,1
    - Dst: tftp_state_machine
      Src: /src/PROJ/curl/lib/tftp.c:1326,1
    - Dst: tftp_multi_statemach
      Src: /src/PROJ/curl/lib/tftp.c:1331,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/tftp.c:1334,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/tftp.c:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1316
    functionDepth: 10
    functionLinenumber: 1316
    functionLinenumberEnd: 1337
    functionName: tftp_perform
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - tftp_state_machine
    - Curl_conn_meta_get
    - tftp_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_perform(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/tftp.c:1353,1
    - Dst: tftp_connect
      Src: /src/PROJ/curl/lib/tftp.c:1359,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/tftp.c:1363,1
    - Dst: tftp_perform
      Src: /src/PROJ/curl/lib/tftp.c:1368,1
    - Dst: tftp_translate_code
      Src: /src/PROJ/curl/lib/tftp.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1350
    functionDepth: 11
    functionLinenumber: 1350
    functionLinenumberEnd: 1377
    functionName: tftp_do
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - tftp_perform
    - tftp_connect
    - tftp_translate_code
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_do(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/tftp.c:1383,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/tftp.c:1388,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/tftp.c:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1398
    functionName: tftp_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: IS_HTTPS_PROXY
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HTTPS_PROXY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: Curl_raw_toupper
    functionSourceFile: /src/PROJ/curl/lib/strcase.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Curl_raw_toupper(char in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Curl_raw_tolower
    functionSourceFile: /src/PROJ/curl/lib/strcase.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Curl_raw_tolower(char in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strcase.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: Curl_strntoupper
    functionSourceFile: /src/PROJ/curl/lib/strcase.c
    functionUses: 2
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: void
    signature: void Curl_strntoupper(char *dest, const char *src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_tolower
      Src: /src/PROJ/curl/lib/strcase.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: Curl_strntolower
    functionSourceFile: /src/PROJ/curl/lib/strcase.c
    functionUses: 6
    functionsReached:
    - Curl_raw_tolower
    linkageType: ''
    returnType: void
    signature: void Curl_strntolower(char *dest, const char *src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/strcase.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: Curl_safecmp
    functionSourceFile: /src/PROJ/curl/lib/strcase.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool Curl_safecmp(char *a, char *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: Curl_timestrcmp
    functionSourceFile: /src/PROJ/curl/lib/strcase.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_timestrcmp(const char *a, const char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: chunk_is_empty
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool chunk_is_empty(const struct buf_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: chunk_is_full
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool chunk_is_full(const struct buf_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: chunk_len
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chunk_len(const struct buf_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: chunk_reset
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chunk_reset(struct buf_chunk *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:58,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/bufq.c:60,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/bufq.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - chunk
    - buf
    - len
    argTypes:
    - struct buf_chunk*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: chunk_append
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t chunk_append(struct buf_chunk *chunk,\n                           const
      unsigned char *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:72,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/bufq.c:77,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/bufq.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - chunk
    - buf
    - len
    argTypes:
    - struct buf_chunk*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: chunk_read
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t chunk_read(struct buf_chunk *chunk,\n                         unsigned
      char *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:97,1
    - Dst: reader
      Src: /src/PROJ/curl/lib/bufq.c:102,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - chunk
    - max_len
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct buf_chunk*
    - size_t
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: chunk_slurpn
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - reader
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode chunk_slurpn(struct buf_chunk *chunk, size_t max_len,\n                             Curl_bufq_reader
      *reader,\n                             void *reader_ctx, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - chunk
    - pbuf
    - plen
    argTypes:
    - struct buf_chunk*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: chunk_peek
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void chunk_peek(const struct buf_chunk *chunk,\n                       const
      unsigned char **pbuf, size_t *plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - chunk
    - offset
    - pbuf
    - plen
    argTypes:
    - struct buf_chunk*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: chunk_peek_at
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void chunk_peek_at(const struct buf_chunk *chunk, size_t offset,\n
      \                         const unsigned char **pbuf, size_t *plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:130,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/bufq.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - chunk
    - amount
    argTypes:
    - struct buf_chunk*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: chunk_skip
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t chunk_skip(struct buf_chunk *chunk, size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/bufq.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - anchor
    argTypes:
    - struct buf_chunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: chunk_list_free
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void chunk_list_free(struct buf_chunk **anchor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:154,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:155,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/bufq.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pool
    - chunk_size
    - spare_max
    argTypes:
    - struct bufc_pool*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: Curl_bufcp_init
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - memset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_bufcp_init(struct bufc_pool *pool,\n                     size_t
      chunk_size, size_t spare_max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/PROJ/curl/lib/bufq.c:170,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/bufq.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - pchunk
    argTypes:
    - struct bufc_pool*
    - struct buf_chunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: bufcp_take
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bufcp_take(struct bufc_pool *pool,\n                           struct
      buf_chunk **pchunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/bufq.c:195,1
    - Dst: chunk_reset
      Src: /src/PROJ/curl/lib/bufq.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pool
    - chunk
    argTypes:
    - struct bufc_pool*
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: bufcp_put
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - free
    linkageType: ''
    returnType: void
    signature: "void bufcp_put(struct bufc_pool *pool,\n                      struct
      buf_chunk *chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_list_free
      Src: /src/PROJ/curl/lib/bufq.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct bufc_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: Curl_bufcp_free
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - chunk_list_free
    linkageType: ''
    returnType: void
    signature: void Curl_bufcp_free(struct bufc_pool *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:214,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:215,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/bufq.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - q
    - pool
    - chunk_size
    - max_chunks
    - opts
    argTypes:
    - struct bufq*
    - struct bufc_pool*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: bufq_init
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - memset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void bufq_init(struct bufq *q, struct bufc_pool *pool,\n                      size_t
      chunk_size, size_t max_chunks, int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_init
      Src: /src/PROJ/curl/lib/bufq.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - chunk_size
    - max_chunks
    - opts
    argTypes:
    - struct bufq*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: Curl_bufq_init2
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 5
    functionsReached:
    - bufq_init
    linkageType: ''
    returnType: void
    signature: "void Curl_bufq_init2(struct bufq *q, size_t chunk_size, size_t max_chunks,\n
      \                    int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_init
      Src: /src/PROJ/curl/lib/bufq.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - chunk_size
    - max_chunks
    argTypes:
    - struct bufq*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: Curl_bufq_init
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - bufq_init
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_init(struct bufq *q, size_t chunk_size, size_t max_chunks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_init
      Src: /src/PROJ/curl/lib/bufq.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - pool
    - max_chunks
    - opts
    argTypes:
    - struct bufq*
    - struct bufc_pool*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: Curl_bufq_initp
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - bufq_init
    linkageType: ''
    returnType: void
    signature: "void Curl_bufq_initp(struct bufq *q, struct bufc_pool *pool,\n                     size_t
      max_chunks, int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_list_free
      Src: /src/PROJ/curl/lib/bufq.c:242,1
    - Dst: chunk_list_free
      Src: /src/PROJ/curl/lib/bufq.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: Curl_bufq_free
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 6
    functionsReached:
    - chunk_list_free
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_free(struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: Curl_bufq_reset
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_reset(struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_len
      Src: /src/PROJ/curl/lib/bufq.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: Curl_bufq_len
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 5
    functionsReached:
    - chunk_len
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_bufq_len(const struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_empty
      Src: /src/PROJ/curl/lib/bufq.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: Curl_bufq_is_empty
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 9
    functionsReached:
    - chunk_is_empty
    linkageType: ''
    returnType: bool
    signature: bool Curl_bufq_is_empty(const struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_full
      Src: /src/PROJ/curl/lib/bufq.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: Curl_bufq_is_full
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - chunk_is_full
    linkageType: ''
    returnType: bool
    signature: bool Curl_bufq_is_full(const struct bufq *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/PROJ/curl/lib/bufq.c:295,1
    - Dst: bufcp_take
      Src: /src/PROJ/curl/lib/bufq.c:303,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/bufq.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 321
    functionName: get_spare
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - bufcp_take
    - chunk_reset
    - calloc
    linkageType: ''
    returnType: struct buf_chunk
    signature: struct buf_chunk *get_spare(struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_empty
      Src: /src/PROJ/curl/lib/bufq.c:327,1
    - Dst: bufcp_put
      Src: /src/PROJ/curl/lib/bufq.c:333,1
    - Dst: free
      Src: /src/PROJ/curl/lib/bufq.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 349
    functionName: prune_head
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - bufcp_put
    - free
    - chunk_is_empty
    linkageType: ''
    returnType: void
    signature: void prune_head(struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_full
      Src: /src/PROJ/curl/lib/bufq.c:355,1
    - Dst: get_spare
      Src: /src/PROJ/curl/lib/bufq.c:357,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: get_non_full_tail
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - chunk_is_full
    - get_spare
    - DEBUGASSERT
    linkageType: ''
    returnType: struct buf_chunk
    signature: struct buf_chunk *get_non_full_tail(struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:379,1
    - Dst: get_non_full_tail
      Src: /src/PROJ/curl/lib/bufq.c:382,1
    - Dst: chunk_append
      Src: /src/PROJ/curl/lib/bufq.c:389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnwritten
    argTypes:
    - struct bufq*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: Curl_bufq_write
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 5
    functionsReached:
    - get_non_full_tail
    - DEBUGASSERT
    - chunk_append
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_write(struct bufq *q,\n                         const
      unsigned char *buf, size_t len,\n                         size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/bufq.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnwritten
    argTypes:
    - struct bufq*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: Curl_bufq_cwrite
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_cwrite(struct bufq *q,\n                          const
      char *buf, size_t len,\n                          size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chunk_read
      Src: /src/PROJ/curl/lib/bufq.c:411,1
    - Dst: prune_head
      Src: /src/PROJ/curl/lib/bufq.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnread
    argTypes:
    - struct bufq*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 420
    functionName: Curl_bufq_read
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - chunk_read
    - prune_head
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_read(struct bufq *q, unsigned char *buf, size_t
      len,\n                        size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/lib/bufq.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnread
    argTypes:
    - struct bufq*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: Curl_bufq_cread
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 3
    functionsReached:
    - Curl_bufq_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_cread(struct bufq *q, char *buf, size_t len,\n
      \                        size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_empty
      Src: /src/PROJ/curl/lib/bufq.c:431,1
    - Dst: prune_head
      Src: /src/PROJ/curl/lib/bufq.c:432,1
    - Dst: chunk_is_empty
      Src: /src/PROJ/curl/lib/bufq.c:434,1
    - Dst: chunk_peek
      Src: /src/PROJ/curl/lib/bufq.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - q
    - pbuf
    - plen
    argTypes:
    - struct bufq*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: Curl_bufq_peek
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 3
    functionsReached:
    - chunk_peek
    - chunk_is_empty
    - prune_head
    linkageType: ''
    returnType: bool
    signature: "bool Curl_bufq_peek(struct bufq *q,\n                    const unsigned
      char **pbuf, size_t *plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk_len
      Src: /src/PROJ/curl/lib/bufq.c:450,1
    - Dst: chunk_peek_at
      Src: /src/PROJ/curl/lib/bufq.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - q
    - offset
    - pbuf
    - plen
    argTypes:
    - struct bufq*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 464
    functionName: Curl_bufq_peek_at
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - chunk_len
    - chunk_peek_at
    linkageType: ''
    returnType: bool
    signature: "bool Curl_bufq_peek_at(struct bufq *q, size_t offset,\n                       const
      unsigned char **pbuf, size_t *plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_skip
      Src: /src/PROJ/curl/lib/bufq.c:471,1
    - Dst: prune_head
      Src: /src/PROJ/curl/lib/bufq.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - q
    - amount
    argTypes:
    - struct bufq*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: Curl_bufq_skip
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 3
    functionsReached:
    - chunk_skip
    - prune_head
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_skip(struct bufq *q, size_t amount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/bufq.c:485,1
    - Dst: writer
      Src: /src/PROJ/curl/lib/bufq.c:488,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/bufq.c:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - q
    - writer
    - writer_ctx
    - pwritten
    argTypes:
    - struct bufq*
    - Curl_bufq_writer*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 477
    functionDepth: 4
    functionLinenumber: 477
    functionLinenumberEnd: 507
    functionName: Curl_bufq_pass
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_skip
    - Curl_bufq_peek
    - writer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_pass(struct bufq *q, Curl_bufq_writer *writer,\n
      \                       void *writer_ctx, size_t *pwritten)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/lib/bufq.c:519,1
    - Dst: Curl_bufq_pass
      Src: /src/PROJ/curl/lib/bufq.c:521,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/bufq.c:533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 6
    argNames:
    - q
    - buf
    - len
    - writer
    - writer_ctx
    - pwritten
    argTypes:
    - struct bufq*
    - unsigned char*
    - size_t
    - Curl_bufq_writer*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 556
    functionName: Curl_bufq_write_pass
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_is_full
    - Curl_bufq_write
    - Curl_bufq_pass
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_write_pass(struct bufq *q,\n                              const
      unsigned char *buf, size_t len,\n                              Curl_bufq_writer
      *writer, void *writer_ctx,\n                              size_t *pwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_non_full_tail
      Src: /src/PROJ/curl/lib/bufq.c:565,1
    - Dst: chunk_slurpn
      Src: /src/PROJ/curl/lib/bufq.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - q
    - max_len
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct bufq*
    - size_t
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 574
    functionName: Curl_bufq_sipn
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - get_non_full_tail
    - chunk_slurpn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_sipn(struct bufq *q, size_t max_len,\n                        Curl_bufq_reader
      *reader, void *reader_ctx,\n                        size_t *pnread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_sipn
      Src: /src/PROJ/curl/lib/bufq.c:593,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufq.c:608,1
    - Dst: chunk_is_full
      Src: /src/PROJ/curl/lib/bufq.c:614,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - q
    - max_len
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct bufq*
    - size_t
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 5
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: bufq_slurpn
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - chunk_is_full
    - DEBUGASSERT
    - Curl_bufq_sipn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bufq_slurpn(struct bufq *q, size_t max_len,\n                            Curl_bufq_reader
      *reader, void *reader_ctx,\n                            size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_slurpn
      Src: /src/PROJ/curl/lib/bufq.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct bufq*
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 6
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: Curl_bufq_slurp
    functionSourceFile: /src/PROJ/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - bufq_slurpn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_slurp(struct bufq *q, Curl_bufq_reader *reader,\n
      \                        void *reader_ctx, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/multi_ntfy.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: mnfty_chunk_create
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct mntfy_chunk
    signature: struct mntfy_chunk *mnfty_chunk_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/multi_ntfy.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mntfy_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mnfty_chunk_destroy
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mnfty_chunk_destroy(struct mntfy_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/multi_ntfy.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mntfy_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: mnfty_chunk_reset
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void mnfty_chunk_reset(struct mntfy_chunk *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - chunk
    - data
    - type
    argTypes:
    - struct mntfy_chunk*
    - struct Curl_easy*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: mntfy_chunk_append
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool mntfy_chunk_append(struct mntfy_chunk *chunk,\n                               struct
      Curl_easy *data,\n                               unsigned int type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mnfty_chunk_create
      Src: /src/PROJ/curl/lib/multi_ntfy.c:88,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ntfy.c:91,1
    - Dst: mnfty_chunk_create
      Src: /src/PROJ/curl/lib/multi_ntfy.c:98,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ntfy.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - mntfy
    argTypes:
    - struct curl_multi_ntfy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: mntfy_non_full_tail
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - mnfty_chunk_create
    - DEBUGASSERT
    linkageType: ''
    returnType: struct mntfy_chunk
    signature: struct mntfy_chunk *mntfy_non_full_tail(struct curl_multi_ntfy *mntfy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi_ntfy.c:117,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi_ntfy.c:119,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ntfy.c:121,1
    - Dst: struct Curl_multi*::ntfy::ntfy_cb
      Src: /src/PROJ/curl/lib/multi_ntfy.c:123,1
    - Dst: mnfty_chunk_reset
      Src: /src/PROJ/curl/lib/multi_ntfy.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - multi
    - chunk
    argTypes:
    - struct Curl_multi*
    - struct mntfy_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: mntfy_chunk_dispatch_all
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_contains
    - struct Curl_multi*::ntfy::ntfy_cb
    - mnfty_chunk_reset
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: "void mntfy_chunk_dispatch_all(struct Curl_multi *multi,\n                                     struct
      mntfy_chunk *chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/multi_ntfy.c:134,1
    - Dst: Curl_uint_bset_init
      Src: /src/PROJ/curl/lib/multi_ntfy.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Curl_mntfy_init
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - memset
    - Curl_uint_bset_init
    linkageType: ''
    returnType: void
    signature: void Curl_mntfy_init(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi_ntfy.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Curl_mntfy_resize
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_resize
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_resize(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mnfty_chunk_destroy
      Src: /src/PROJ/curl/lib/multi_ntfy.c:150,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi_ntfy.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: Curl_mntfy_cleanup
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_destroy
    - mnfty_chunk_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_mntfy_cleanup(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/lib/multi_ntfy.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - multi
    - type
    argTypes:
    - struct Curl_multi*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: Curl_mntfy_enable
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_add
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_enable(struct Curl_multi *multi, unsigned int
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi_ntfy.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - multi
    - type
    argTypes:
    - struct Curl_multi*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: Curl_mntfy_disable
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_disable(struct Curl_multi *multi, unsigned int
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi_ntfy.c:176,1
    - Dst: mntfy_non_full_tail
      Src: /src/PROJ/curl/lib/multi_ntfy.c:178,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ntfy.c:179,1
    - Dst: mntfy_chunk_append
      Src: /src/PROJ/curl/lib/multi_ntfy.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - data
    - type
    argTypes:
    - struct Curl_easy*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: Curl_mntfy_add
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - mntfy_chunk_append
    - Curl_uint_bset_contains
    - CURL_TRC_M
    - mntfy_non_full_tail
    linkageType: ''
    returnType: void
    signature: void Curl_mntfy_add(struct Curl_easy *data, unsigned int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ntfy.c:189,1
    - Dst: mntfy_chunk_dispatch_all
      Src: /src/PROJ/curl/lib/multi_ntfy.c:194,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ntfy.c:195,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ntfy.c:199,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ntfy.c:200,1
    - Dst: mnfty_chunk_destroy
      Src: /src/PROJ/curl/lib/multi_ntfy.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: Curl_mntfy_dispatch_all
    functionSourceFile: /src/PROJ/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - mnfty_chunk_destroy
    - mntfy_chunk_dispatch_all
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_dispatch_all(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_chunks.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ch
    - ignore_body
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: Curl_httpchunk_init
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    linkageType: ''
    returnType: void
    signature: "void Curl_httpchunk_init(struct Curl_easy *data, struct Curl_chunker
      *ch,\n                         bool ignore_body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http_chunks.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ch
    - ignore_body
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: Curl_httpchunk_reset
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_reset
    linkageType: ''
    returnType: void
    signature: "void Curl_httpchunk_reset(struct Curl_easy *data, struct Curl_chunker
      *ch,\n                          bool ignore_body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_chunks.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - ch
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: Curl_httpchunk_free
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void Curl_httpchunk_free(struct Curl_easy *data, struct Curl_chunker
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - ch
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: Curl_httpchunk_is_done
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_httpchunk_is_done(struct Curl_easy *data, struct Curl_chunker
      *ch)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/http_chunks.c:134,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http_chunks.c:136,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/http_chunks.c:147,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:149,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:164,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/lib/http_chunks.c:172,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:173,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/http_chunks.c:191,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/http_chunks.c:207,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/http_chunks.c:212,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http_chunks.c:215,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/http_chunks.c:227,1
    - Dst: Curl_httpchunk_reset
      Src: /src/PROJ/curl/lib/http_chunks.c:239,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_chunks.c:253,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_chunks.c:258,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_chunks.c:258,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http_chunks.c:264,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http_chunks.c:266,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/http_chunks.c:268,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http_chunks.c:273,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http_chunks.c:283,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http_chunks.c:296,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/http_chunks.c:348,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/http_chunks.c:354,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 181
    argCount: 6
    argNames:
    - data
    - ch
    - cw_next
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - struct Curl_cwriter*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 367
    functionName: httpchunk_readwrite
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - failf
    - curlx_sotouz
    - CURL_TRC_WRITE
    - Curl_client_write
    - curlx_str_hex
    - STRCONST
    - curlx_dyn_reset
    - curlx_dyn_len
    - ISXDIGIT
    - Curl_httpchunk_reset
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpchunk_readwrite(struct Curl_easy *data,\n                                    struct
      Curl_chunker *ch,\n                                    struct Curl_cwriter *cw_next,\n
      \                                   const char *buf, size_t blen,\n                                    size_t
      *pconsumed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - code
    argTypes:
    - CHUNKcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 387
    functionName: Curl_chunked_strerror
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Curl_chunked_strerror(CHUNKcode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpchunk_readwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - ch
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: Curl_httpchunk_read
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - httpchunk_readwrite
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_httpchunk_read(struct Curl_easy *data,\n                             struct
      Curl_chunker *ch,\n                             char *buf, size_t blen,\n                             size_t
      *pconsumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_httpchunk_init
      Src: /src/PROJ/curl/lib/http_chunks.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: cw_chunked_init
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_httpchunk_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_chunked_init(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_httpchunk_free
      Src: /src/PROJ/curl/lib/http_chunks.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: cw_chunked_close
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_httpchunk_free
    linkageType: ''
    returnType: void
    signature: "void cw_chunked_close(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/http_chunks.c:428,1
    - Dst: httpchunk_readwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:431,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:436,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:439,1
    - Dst: Curl_chunked_strerror
      Src: /src/PROJ/curl/lib/http_chunks.c:440,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_chunks.c:450,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 459
    functionName: cw_chunked_write
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - Curl_chunked_strerror
    - httpchunk_readwrite
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_chunked_write(struct Curl_easy *data,\n                                 struct
      Curl_cwriter *writer, int type,\n                                 const char
      *buf, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/http_chunks.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: cr_chunked_init
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_chunked_init(struct Curl_easy *data,\n                                struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/http_chunks.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: cr_chunked_close
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: "void cr_chunked_close(struct Curl_easy *data,\n                             struct
      Curl_creader *reader)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/http_chunks.c:509,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:510,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_chunks.c:510,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:513,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_chunks.c:513,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/http_chunks.c:517,1
    - Dst: struct Curl_easy*::set::trailer_callback
      Src: /src/PROJ/curl/lib/http_chunks.c:518,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/http_chunks.c:519,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_chunks.c:522,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_chunks.c:529,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_chunks.c:531,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:535,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_chunks.c:536,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:538,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_chunks.c:538,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:543,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_chunks.c:543,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/http_chunks.c:546,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/http_chunks.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 499
    functionDepth: 6
    functionLinenumber: 499
    functionLinenumberEnd: 550
    functionName: add_last_chunk
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_bufq_cwrite
    - Curl_set_in_callback
    - failf
    - strchr
    - curl_slist_free_all
    - struct Curl_easy*::set::trailer_callback
    - STRCONST
    - strlen
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_last_chunk(struct Curl_easy *data,\n                               struct
      Curl_creader *reader)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_chunks.c:562,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/http_chunks.c:563,1
    - Dst: Curl_creader_read
      Src: /src/PROJ/curl/lib/http_chunks.c:574,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http_chunks.c:586,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:590,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:592,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/http_chunks.c:594,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/http_chunks.c:595,1
    - Dst: add_last_chunk
      Src: /src/PROJ/curl/lib/http_chunks.c:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - data
    - reader
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 552
    functionDepth: 7
    functionLinenumber: 552
    functionLinenumberEnd: 604
    functionName: add_chunk
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - curl_msnprintf
    - CURLMIN
    - DEBUGASSERT
    - CURL_TRC_READ
    - Curl_creader_read
    - add_last_chunk
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_chunk(struct Curl_easy *data,\n                          struct
      Curl_creader *reader,\n                          char *buf, size_t blen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http_chunks.c:618,1
    - Dst: add_chunk
      Src: /src/PROJ/curl/lib/http_chunks.c:620,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http_chunks.c:625,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/http_chunks.c:626,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http_chunks.c:627,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_chunks.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 606
    functionDepth: 8
    functionLinenumber: 606
    functionLinenumberEnd: 638
    functionName: cr_chunked_read
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cread
    - add_chunk
    - Curl_bufq_is_empty
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_chunked_read(struct Curl_easy *data,\n                                struct
      Curl_creader *reader,\n                                char *buf, size_t blen,\n
      \                               size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: cr_chunked_total_length
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_chunked_total_length(struct Curl_easy *data,\n                                          struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/http_chunks.c:669,1
    - Dst: Curl_creader_add
      Src: /src/PROJ/curl/lib/http_chunks.c:672,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/http_chunks.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 6
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: Curl_httpchunk_add_reader
    functionSourceFile: /src/PROJ/curl/lib/http_chunks.c
    functionUses: 1
    functionsReached:
    - Curl_creader_add
    - Curl_creader_create
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_httpchunk_add_reader(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:94,1
    - Dst: Curl_bufq_init
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:96,1
    - Dst: Curl_http_proxy_get_destination
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:98,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: tunnel_stream_init
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init
    - Curl_http_proxy_get_destination
    - Curl_bufq_init2
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_stream_init(struct Curl_cfilter *cf,\n                                   struct
      tunnel_stream *ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_resp_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:113,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:114,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:115,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:116,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: tunnel_stream_clear
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_http_resp_free
    - memset
    - Curl_bufq_free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void tunnel_stream_clear(struct tunnel_stream *ts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:141,1
    - Dst: tunnel_stream_clear
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:142,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:146,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:151,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:156,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:158,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:161,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:164,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - cf
    - ts
    - new_state
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct tunnel_stream*
    - h2_tunnel_state
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 172
    functionName: h2_tunnel_go_state
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - tunnel_stream_clear
    - infof
    - CURL_TRC_CF
    - FALLTHROUGH
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: "void h2_tunnel_go_state(struct Curl_cfilter *cf,\n                               struct
      tunnel_stream *ts,\n                               h2_tunnel_state new_state,\n
      \                              struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_del
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:201,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:203,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:204,1
    - Dst: tunnel_stream_clear
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:205,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: cf_h2_proxy_ctx_clear
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - tunnel_stream_clear
    - nghttp2_session_del
    - Curl_bufq_free
    - memset
    linkageType: ''
    returnType: void
    signature: void cf_h2_proxy_ctx_clear(struct cf_h2_proxy_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_proxy_ctx_clear
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:213,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: cf_h2_proxy_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - free
    - cf_h2_proxy_ctx_clear
    linkageType: ''
    returnType: void
    signature: void cf_h2_proxy_ctx_free(struct cf_h2_proxy_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:225,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - tunnel
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: drain_tunnel
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: void
    signature: "void drain_tunnel(struct Curl_cfilter *cf,\n                         struct
      Curl_easy *data,\n                         struct tunnel_stream *tunnel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:236,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:238,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - buflen
    - pnwritten
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: proxy_h2_nw_out_writer
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_send
    - CF_DATA_CURRENT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_nw_out_writer(void *writer_ctx,\n                                       const
      unsigned char *buf, size_t buflen,\n                                       size_t
      *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_option_new
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:255,1
    - Dst: nghttp2_option_set_no_auto_window_update
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:259,1
    - Dst: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:264,1
    - Dst: nghttp2_session_client_new3
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:266,1
    - Dst: nghttp2_option_del
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - cbs
    argTypes:
    - struct Curl_cfilter*
    - nghttp2_session_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: proxy_h2_client_new
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_option_new
    - nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
    - nghttp2_session_client_new3
    - nghttp2_option_set_no_auto_window_update
    - nghttp2_option_del
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_client_new(struct Curl_cfilter *cf,\n                               nghttp2_session_callbacks
      *cbs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:306,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:307,1
    - Dst: Curl_bufq_init
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:309,1
    - Dst: Curl_bufq_init
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:310,1
    - Dst: tunnel_stream_init
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:312,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:315,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:317,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:321,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:322,1
    - Dst: nghttp2_session_callbacks_set_on_frame_send_callback
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:325,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:328,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:330,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:332,1
    - Dst: proxy_h2_client_new
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:335,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:337,1
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:345,1
    - Dst: nghttp2_submit_settings
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:350,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:352,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:353,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:359,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:362,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:363,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:374,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 377
    functionName: cf_h2_proxy_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - nghttp2_session_callbacks_set_on_frame_send_callback
    - nghttp2_submit_settings
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_set_on_header_callback
    - Curl_multi_max_concurrent_streams
    - nghttp2_session_callbacks_set_send_callback
    - tunnel_stream_init
    - memset
    - nghttp2_strerror
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - DEBUGASSERT
    - Curl_bufq_init
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - nghttp2_session_callbacks_del
    - nghttp2_session_set_local_window_size
    - proxy_h2_client_new
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_ctx_init(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:381,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: proxy_h2_should_close_session
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_want_read
    - nghttp2_session_want_write
    linkageType: ''
    returnType: int
    signature: int proxy_h2_should_close_session(struct cf_h2_proxy_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:393,1
    - Dst: Curl_bufq_pass
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:396,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:400,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:401,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:406,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 408
    functionName: proxy_h2_nw_out_flush
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - Curl_bufq_len
    - CURL_TRC_CF
    - Curl_bufq_pass
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_nw_out_flush(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:424,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:426,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:427,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:429,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:431,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:440,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:441,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:442,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:446,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 452
    functionName: proxy_h2_process_pending_input
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - Curl_bufq_peek
    - nghttp2_session_mem_recv
    - Curl_bufq_len
    - nghttp2_strerror
    - Curl_bufq_skip
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_process_pending_input(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          CURLcode *err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:462,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:463,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:464,1
    - Dst: proxy_h2_process_pending_input
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:465,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:473,1
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:474,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:476,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:477,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:478,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:481,1
    - Dst: proxy_h2_process_pending_input
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:491,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:495,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 500
    functionName: proxy_h2_progress_ingress
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - failf
    - Curl_bufq_is_empty
    - proxy_h2_process_pending_input
    - connclose
    - Curl_bufq_len
    - Curl_bufq_is_full
    - Curl_cf_recv_bufq
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_progress_ingress(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:509,1
    - Dst: nghttp2_session_send
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:510,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:512,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:513,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:514,1
    - Dst: proxy_h2_nw_out_flush
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 6
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: proxy_h2_progress_egress
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_want_write
    - CURL_TRC_CF
    - nghttp2_is_fatal
    - proxy_h2_nw_out_flush
    - nghttp2_strerror
    - nghttp2_session_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_progress_egress(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:526,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:532,1
    - Dst: Curl_bufq_write_pass
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:534,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - h2
    - buf
    - blen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 6
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: on_session_send
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_write_pass
    - failf
    - CF_DATA_CURRENT
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t on_session_send(nghttp2_session *h2,\n                               const
      uint8_t *buf, size_t blen, int flags,\n                               void *userp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:558,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:565,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:572,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:577,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:584,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:586,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:590,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:595,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:601,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:605,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:607,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:613,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - frame
    - buffer
    - blen
    argTypes:
    - nghttp2_frame*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 553
    functionDepth: 6
    functionLinenumber: 553
    functionLinenumberEnd: 622
    functionName: proxy_h2_fr_print
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_msnprintf
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_fr_print(const nghttp2_frame *frame,\n                             char
      *buffer, size_t blen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:629,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:632,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:633,1
    - Dst: proxy_h2_fr_print
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:636,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 624
    functionDepth: 7
    functionLinenumber: 624
    functionLinenumberEnd: 641
    functionName: proxy_h2_on_frame_send
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - proxy_h2_fr_print
    - CURL_TRC_CF
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_trc_cf_is_verbose
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_frame_send(nghttp2_session *session,\n                                  const
      nghttp2_frame *frame,\n                                  void *userp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:650,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:654,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:656,1
    - Dst: proxy_h2_fr_print
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:659,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:661,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:667,1
    - Dst: CURL_WANT_SEND
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:675,1
    - Dst: drain_tunnel
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:676,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:689,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:701,1
    - Dst: CURL_WANT_SEND
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:710,1
    - Dst: drain_tunnel
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:711,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 644
    functionDepth: 7
    functionLinenumber: 644
    functionLinenumberEnd: 718
    functionName: proxy_h2_on_frame_recv
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - proxy_h2_fr_print
    - CURL_TRC_CF
    - CURL_WANT_SEND
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_trc_cf_is_verbose
    - drain_tunnel
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_frame_recv(nghttp2_session *session,\n                                  const
      nghttp2_frame *frame,\n                                  void *userp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:729,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:736,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:738,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:753,1
    - Dst: Curl_http_decode_status
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:759,1
    - Dst: Curl_http_resp_make
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:763,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:768,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:776,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 8
    argNames:
    - session
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 786
    functionName: proxy_h2_on_header
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_http_resp_make
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - memcmp
    - Curl_dynhds_add
    - Curl_http_decode_status
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_header(nghttp2_session *session,\n                              const
      nghttp2_frame *frame,\n                              const uint8_t *name, size_t
      namelen,\n                              const uint8_t *value, size_t valuelen,\n
      \                             uint8_t flags,\n                              void
      *userp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:797,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:809,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:812,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:814,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:820,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 7
    argNames:
    - session
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 788
    functionDepth: 4
    functionLinenumber: 788
    functionLinenumberEnd: 827
    functionName: tunnel_send_callback
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_read
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - nghttp2_session_get_stream_user_data
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tunnel_send_callback(nghttp2_session *session,\n                                    int32_t
      stream_id,\n                                    uint8_t *buf, size_t length,\n
      \                                   uint32_t *data_flags,\n                                    nghttp2_data_source
      *source,\n                                    void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:840,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:845,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - session
    - flags
    - stream_id
    - mem
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 856
    functionName: tunnel_recv_callback
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: int
    signature: "int tunnel_recv_callback(nghttp2_session *session, uint8_t flags,\n
      \                               int32_t stream_id,\n                                const
      uint8_t *mem, size_t len, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:864,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:872,1
    - Dst: nghttp2_http2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - session
    - stream_id
    - error_code
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 878
    functionName: proxy_h2_on_stream_close
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_http2_strerror
    - CF_DATA_CURRENT
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_stream_close(nghttp2_session *session,\n                                    int32_t
      stream_id,\n                                    uint32_t error_code, void *userp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:897,1
    - Dst: Curl_http_req_to_h2
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:898,1
    - Dst: Curl_dynhds_to_nva
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:902,1
    - Dst: nghttp2_submit_request
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:913,1
    - Dst: nghttp2_submit_request
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:917,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:922,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:923,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:930,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 9
    argNames:
    - pstream_id
    - cf
    - data
    - h2
    - req
    - pri_spec
    - stream_user_data
    - read_callback
    - read_ctx
    argTypes:
    - int32_t*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - nghttp2_session*
    - struct httpreq*
    - nghttp2_priority_spec*
    - void*
    - nghttp2_data_source_read_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 934
    functionName: proxy_h2_submit
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_dynhds_to_nva
    - failf
    - Curl_dynhds_init
    - Curl_dynhds_free
    - nghttp2_submit_request
    - Curl_http_req_to_h2
    - nghttp2_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_submit(int32_t *pstream_id,\n                                struct
      Curl_cfilter *cf,\n                                struct Curl_easy *data,\n
      \                               nghttp2_session *h2,\n                                struct
      httpreq *req,\n                                const nghttp2_priority_spec *pri_spec,\n
      \                               void *stream_user_data,\n                               nghttp2_data_source_read_callback
      read_callback,\n                                void *read_ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_proxy_create_CONNECT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:944,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:947,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:951,1
    - Dst: proxy_h2_submit
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:953,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:956,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:957,1
    - Dst: Curl_http_req_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:962,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 936
    functionDepth: 5
    functionLinenumber: 936
    functionLinenumberEnd: 966
    functionName: submit_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_http_req_free
    - infof
    - CURL_TRC_CF
    - failf
    - nghttp2_strerror
    - Curl_http_proxy_create_CONNECT
    - proxy_h2_submit
    - Curl_creader_set_null
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode submit_CONNECT(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct tunnel_stream *ts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:976,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:978,1
    - Dst: h2_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:979,1
    - Dst: Curl_dynhds_cget
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:984,1
    - Dst: Curl_dynhds_cget
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:987,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:991,1
    - Dst: Curl_http_input_auth
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:993,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:999,1
    - Dst: h2_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 1007
    functionName: inspect_response
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - Curl_dynhds_cget
    - DEBUGASSERT
    - Curl_safefree
    - Curl_http_input_auth
    - h2_tunnel_go_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode inspect_response(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct tunnel_stream *ts)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1016,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1017,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1022,1
    - Dst: submit_CONNECT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1023,1
    - Dst: h2_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1026,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1027,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1031,1
    - Dst: proxy_h2_progress_egress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1033,1
    - Dst: h2_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1035,1
    - Dst: h2_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1040,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1046,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1049,1
    - Dst: inspect_response
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1050,1
    - Dst: h2_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1069,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1009
    functionDepth: 7
    functionLinenumber: 1009
    functionLinenumberEnd: 1071
    functionName: H2_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - inspect_response
    - proxy_h2_progress_ingress
    - CURL_TRC_CF
    - FALLTHROUGH
    - proxy_h2_progress_egress
    - DEBUGASSERT
    - submit_CONNECT
    - h2_tunnel_go_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode H2_CONNECT(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct tunnel_stream *ts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1090,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1097,1
    - Dst: cf_h2_proxy_ctx_init
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1099,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1103,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1105,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1107,1
    - Dst: H2_CONNECT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1115,1
    - Dst: Curl_req_soft_reset
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1122,1
    - Dst: Curl_client_reset
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1123,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1073
    functionDepth: 8
    functionLinenumber: 1073
    functionLinenumberEnd: 1127
    functionName: cf_h2_proxy_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_client_reset
    - failf
    - Curl_timeleft
    - Curl_req_soft_reset
    - Curl_conn_cf_connect
    - DEBUGASSERT
    - CF_DATA_RESTORE
    - H2_CONNECT
    - cf_h2_proxy_ctx_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_connect(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1136,1
    - Dst: cf_h2_proxy_ctx_clear
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1137,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1138,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1142
    functionName: cf_h2_proxy_close
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct Curl_cfilter*::next::cft::do_close
    - cf_h2_proxy_ctx_clear
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: void
    signature: void cf_h2_proxy_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_proxy_ctx_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1144
    functionDepth: 5
    functionLinenumber: 1144
    functionLinenumberEnd: 1154
    functionName: cf_h2_proxy_destroy
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - cf_h2_proxy_ctx_free
    linkageType: ''
    returnType: void
    signature: "void cf_h2_proxy_destroy(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1169,1
    - Dst: nghttp2_submit_goaway
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1172,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1177,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1178,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1186,1
    - Dst: proxy_h2_progress_egress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1187,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1188,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1189,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1192,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1193,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1195,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1156
    functionDepth: 7
    functionLinenumber: 1156
    functionLinenumberEnd: 1198
    functionName: cf_h2_proxy_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - proxy_h2_progress_ingress
    - nghttp2_session_want_write
    - failf
    - nghttp2_submit_goaway
    - nghttp2_session_want_read
    - proxy_h2_progress_egress
    - nghttp2_strerror
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_shutdown(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data, bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1204,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1206,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1209
    functionName: cf_h2_proxy_data_pending
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - struct Curl_cfilter*::next::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_proxy_data_pending(struct Curl_cfilter *cf,\n                                     const
      struct Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1217,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1222,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1223,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1224,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1225,1
    - Dst: Curl_pollset_check
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1228,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1233,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1234,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1236,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1240,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1241,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1242,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1244,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1245,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1247,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1251,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1252,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1253,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1254,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1255,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1256,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1257,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1259,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1262
    functionName: cf_h2_proxy_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_conn_cf_get_socket
    - nghttp2_session_want_write
    - CURL_TRC_CF
    - nghttp2_session_get_remote_window_size
    - nghttp2_session_want_read
    - Curl_bufq_is_empty
    - Curl_pollset_set
    - Curl_pollset_check
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_adjust_pollset(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct easy_pollset
      *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1272,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1274,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1278,1
    - Dst: nghttp2_http2_strerror
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1279,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1284,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cf
    - data
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1291
    functionName: h2_handle_tunnel_close
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - connclose
    - failf
    - nghttp2_http2_strerror
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_handle_tunnel_close(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       size_t *pnread)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1300,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1301,1
    - Dst: h2_handle_tunnel_close
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1304,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1307,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1319
    functionName: tunnel_recv
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cread
    - Curl_bufq_is_empty
    - CURL_TRC_CF
    - h2_handle_tunnel_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                           char *buf, size_t len, size_t *pnread)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1331,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1338,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1339,1
    - Dst: tunnel_recv
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1344,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1347,1
    - Dst: nghttp2_session_consume
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1349,1
    - Dst: Curl_1st_fatal
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1352,1
    - Dst: proxy_h2_progress_egress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1352,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1355,1
    - Dst: drain_tunnel
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1359,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1361,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1365
    functionName: cf_h2_proxy_recv
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - proxy_h2_progress_ingress
    - CURL_TRC_CF
    - Curl_1st_fatal
    - Curl_bufq_is_empty
    - proxy_h2_progress_egress
    - nghttp2_session_consume
    - CF_DATA_RESTORE
    - drain_tunnel
    - tunnel_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_recv(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 char *buf, size_t len,\n
      \                                size_t *pnread)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1379,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1391,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1392,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1396,1
    - Dst: nghttp2_session_resume_data
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1398,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1399,1
    - Dst: Curl_1st_fatal
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1405,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1405,1
    - Dst: Curl_1st_fatal
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1406,1
    - Dst: proxy_h2_progress_egress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1406,1
    - Dst: proxy_h2_should_close_session
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1408,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1415,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1421,1
    - Dst: drain_tunnel
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1425,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1427,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1430,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1432,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1433,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1434,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1435,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1367
    functionDepth: 7
    functionLinenumber: 1367
    functionLinenumberEnd: 1437
    functionName: cf_h2_proxy_send
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - nghttp2_session_get_stream_remote_window_size
    - proxy_h2_progress_ingress
    - CURL_TRC_CF
    - nghttp2_session_get_remote_window_size
    - Curl_1st_fatal
    - Curl_bufq_is_empty
    - proxy_h2_progress_egress
    - proxy_h2_should_close_session
    - nghttp2_session_resume_data
    - nghttp2_is_fatal
    - Curl_bufq_len
    - CF_DATA_RESTORE
    - drain_tunnel
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_send(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const void *buf, size_t len,
      bool eos,\n                                 size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1446,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1447,1
    - Dst: nghttp2_session_resume_data
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1449,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1450,1
    - Dst: proxy_h2_progress_egress
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1456,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1459,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1462,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1464,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1465,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1466,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1439
    functionDepth: 7
    functionLinenumber: 1439
    functionLinenumberEnd: 1469
    functionName: cf_h2_proxy_flush
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - nghttp2_session_get_remote_window_size
    - Curl_bufq_is_empty
    - proxy_h2_progress_egress
    - nghttp2_session_resume_data
    - nghttp2_is_fatal
    - Curl_bufq_len
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_flush(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1479,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1490,1
    - Dst: proxy_h2_process_pending_input
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1492,1
    - Dst: proxy_h2_should_close_session
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1471
    functionDepth: 5
    functionLinenumber: 1471
    functionLinenumberEnd: 1506
    functionName: proxy_h2_connisalive
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - proxy_h2_process_pending_input
    - proxy_h2_should_close_session
    - Curl_cf_recv_bufq
    - struct Curl_cfilter*::next::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool proxy_h2_connisalive(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *input_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1517,1
    - Dst: proxy_h2_connisalive
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1518,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1519,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1508
    functionDepth: 6
    functionLinenumber: 1508
    functionLinenumberEnd: 1523
    functionName: cf_h2_proxy_is_alive
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - proxy_h2_connisalive
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_proxy_is_alive(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *input_pending)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1537,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1538,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1539,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1547,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1557
    functionName: cf_h2_proxy_query
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::query
    - Curl_bufq_is_empty
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_query(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int query, int *pres1, void
      *pres2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1571,1
    - Dst: cf_h2_proxy_flush
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1572,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1559
    functionDepth: 8
    functionLinenumber: 1559
    functionLinenumberEnd: 1579
    functionName: cf_h2_proxy_cntrl
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - cf_h2_proxy_flush
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_cntrl(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int event, int arg1, void
      *arg2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1607,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1611,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1615,1
    - Dst: cf_h2_proxy_ctx_free
      Src: /src/PROJ/curl/lib/cf-h2-proxy.c:1620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1599
    functionDepth: 5
    functionLinenumber: 1599
    functionLinenumberEnd: 1622
    functionName: Curl_cf_h2_proxy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - calloc
    - Curl_conn_cf_insert_after
    - cf_h2_proxy_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_h2_proxy_insert_after(struct Curl_cfilter *cf,\n
      \                                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - value
    argTypes:
    - struct Curl_multi*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: mev_in_callback
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mev_in_callback(struct Curl_multi *multi, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - key_length
    - slots_num
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: mev_sh_entry_hash
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mev_sh_entry_hash(void *key, size_t key_length, size_t slots_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - k1
    - k1_len
    - k2
    - k2_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: mev_sh_entry_compare
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mev_sh_entry_compare(void *k1, size_t k1_len,\n                                   void
      *k2, size_t k2_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_destroy
      Src: /src/PROJ/curl/lib/multi_ev.c:87,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi_ev.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - freethis
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: mev_sh_entry_dtor
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_uint_spbset_destroy
    linkageType: ''
    returnType: void
    signature: void mev_sh_entry_dtor(void *freethis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/multi_ev.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sh
    - s
    argTypes:
    - struct Curl_hash*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mev_sh_entry_get
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_pick
    linkageType: ''
    returnType: struct mev_sh_entry
    signature: 'struct mev_sh_entry *

      mev_sh_entry_get(struct Curl_hash *sh, curl_socket_t s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mev_sh_entry_get
      Src: /src/PROJ/curl/lib/multi_ev.c:106,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/multi_ev.c:115,1
    - Dst: Curl_uint_spbset_init
      Src: /src/PROJ/curl/lib/multi_ev.c:119,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/lib/multi_ev.c:122,1
    - Dst: mev_sh_entry_dtor
      Src: /src/PROJ/curl/lib/multi_ev.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sh
    - s
    argTypes:
    - struct Curl_hash*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: mev_sh_entry_add
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_dtor
    - mev_sh_entry_get
    - Curl_uint_spbset_init
    - calloc
    - Curl_hash_add
    linkageType: ''
    returnType: struct mev_sh_entry
    signature: 'struct mev_sh_entry *

      mev_sh_entry_add(struct Curl_hash *sh, curl_socket_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/multi_ev.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - s
    argTypes:
    - struct Curl_multi*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: mev_sh_entry_kill
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    linkageType: ''
    returnType: void
    signature: void mev_sh_entry_kill(struct Curl_multi *multi, curl_socket_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_count
      Src: /src/PROJ/curl/lib/multi_ev.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct mev_sh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: mev_sh_entry_user_count
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_count
    linkageType: ''
    returnType: size_t
    signature: size_t mev_sh_entry_user_count(struct mev_sh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/lib/multi_ev.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - struct mev_sh_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: mev_sh_entry_xfer_known
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_contains
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_xfer_known(struct mev_sh_entry *e,\n                                    struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - conn
    argTypes:
    - struct mev_sh_entry*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: mev_sh_entry_conn_known
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_conn_known(struct mev_sh_entry *e,\n                                    struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:157,1
    - Dst: mev_sh_entry_user_count
      Src: /src/PROJ/curl/lib/multi_ev.c:157,1
    - Dst: Curl_uint_spbset_add
      Src: /src/PROJ/curl/lib/multi_ev.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - struct mev_sh_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: mev_sh_entry_xfer_add
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_add
    - DEBUGASSERT
    - mev_sh_entry_user_count
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_xfer_add(struct mev_sh_entry *e,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:165,1
    - Dst: mev_sh_entry_user_count
      Src: /src/PROJ/curl/lib/multi_ev.c:165,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - conn
    argTypes:
    - struct mev_sh_entry*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: mev_sh_entry_conn_add
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - mev_sh_entry_user_count
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_conn_add(struct mev_sh_entry *e,\n                                  struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_contains
      Src: /src/PROJ/curl/lib/multi_ev.c:177,1
    - Dst: Curl_uint_spbset_remove
      Src: /src/PROJ/curl/lib/multi_ev.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - struct mev_sh_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: mev_sh_entry_xfer_remove
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_contains
    - Curl_uint_spbset_remove
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_xfer_remove(struct mev_sh_entry *e,\n                                     struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - conn
    argTypes:
    - struct mev_sh_entry*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: mev_sh_entry_conn_remove
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_conn_remove(struct mev_sh_entry *e,\n                                     struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mev_sh_entry_get
      Src: /src/PROJ/curl/lib/multi_ev.c:201,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:209,1
    - Dst: mev_in_callback
      Src: /src/PROJ/curl/lib/multi_ev.c:211,1
    - Dst: struct Curl_multi*::socket_cb
      Src: /src/PROJ/curl/lib/multi_ev.c:212,1
    - Dst: mev_in_callback
      Src: /src/PROJ/curl/lib/multi_ev.c:214,1
    - Dst: mev_sh_entry_kill
      Src: /src/PROJ/curl/lib/multi_ev.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - multi
    - data
    - s
    - cause
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: mev_forget_socket
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_kill
    - struct Curl_multi*::socket_cb
    - mev_in_callback
    - mev_sh_entry_get
    - CURL_TRC_M
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_forget_socket(struct Curl_multi *multi,\n                                   struct
      Curl_easy *data,\n                                   curl_socket_t s,\n                                   const
      char *cause)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:236,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:247,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:255,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:262,1
    - Dst: mev_sh_entry_user_count
      Src: /src/PROJ/curl/lib/multi_ev.c:262,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:263,1
    - Dst: mev_sh_entry_user_count
      Src: /src/PROJ/curl/lib/multi_ev.c:263,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:264,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:266,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:279,1
    - Dst: mev_in_callback
      Src: /src/PROJ/curl/lib/multi_ev.c:282,1
    - Dst: struct Curl_multi*::socket_cb
      Src: /src/PROJ/curl/lib/multi_ev.c:283,1
    - Dst: mev_in_callback
      Src: /src/PROJ/curl/lib/multi_ev.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - multi
    - data
    - entry
    - s
    - last_action
    - cur_action
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct mev_sh_entry*
    - curl_socket_t
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 293
    functionName: mev_sh_entry_update
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - struct Curl_multi*::socket_cb
    - mev_in_callback
    - mev_sh_entry_user_count
    - DEBUGASSERT
    - CURL_TRC_M
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_sh_entry_update(struct Curl_multi *multi,\n                                     struct
      Curl_easy *data,\n                                     struct mev_sh_entry *entry,\n
      \                                    curl_socket_t s,\n                                     unsigned
      char last_action,\n                                     unsigned char cur_action)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:314,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:315,1
    - Dst: mev_sh_entry_get
      Src: /src/PROJ/curl/lib/multi_ev.c:324,1
    - Dst: mev_sh_entry_add
      Src: /src/PROJ/curl/lib/multi_ev.c:328,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:331,1
    - Dst: mev_sh_entry_conn_known
      Src: /src/PROJ/curl/lib/multi_ev.c:334,1
    - Dst: mev_sh_entry_xfer_known
      Src: /src/PROJ/curl/lib/multi_ev.c:337,1
    - Dst: mev_sh_entry_conn_add
      Src: /src/PROJ/curl/lib/multi_ev.c:348,1
    - Dst: mev_sh_entry_xfer_add
      Src: /src/PROJ/curl/lib/multi_ev.c:352,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:355,1
    - Dst: Curl_uint_spbset_count
      Src: /src/PROJ/curl/lib/multi_ev.c:359,1
    - Dst: mev_sh_entry_update
      Src: /src/PROJ/curl/lib/multi_ev.c:371,1
    - Dst: mev_sh_entry_get
      Src: /src/PROJ/curl/lib/multi_ev.c:392,1
    - Dst: mev_sh_entry_conn_remove
      Src: /src/PROJ/curl/lib/multi_ev.c:399,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:403,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:405,1
    - Dst: mev_sh_entry_xfer_remove
      Src: /src/PROJ/curl/lib/multi_ev.c:409,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:413,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:415,1
    - Dst: mev_sh_entry_user_count
      Src: /src/PROJ/curl/lib/multi_ev.c:419,1
    - Dst: mev_sh_entry_update
      Src: /src/PROJ/curl/lib/multi_ev.c:421,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:425,1
    - Dst: Curl_uint_spbset_count
      Src: /src/PROJ/curl/lib/multi_ev.c:427,1
    - Dst: mev_forget_socket
      Src: /src/PROJ/curl/lib/multi_ev.c:431,1
    - Dst: Curl_pollset_move
      Src: /src/PROJ/curl/lib/multi_ev.c:438,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 5
    argNames:
    - multi
    - data
    - conn
    - ps
    - prev_ps
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    - struct easy_pollset*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 440
    functionName: mev_pollset_diff
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_conn_remove
    - mev_sh_entry_conn_add
    - mev_sh_entry_add
    - mev_sh_entry_xfer_add
    - mev_sh_entry_conn_known
    - mev_sh_entry_get
    - mev_sh_entry_xfer_known
    - Curl_uint_spbset_count
    - mev_sh_entry_xfer_remove
    - mev_sh_entry_user_count
    - mev_forget_socket
    - DEBUGASSERT
    - mev_sh_entry_update
    - CURL_TRC_M
    - Curl_pollset_move
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_pollset_diff(struct Curl_multi *multi,\n                                  struct
      Curl_easy *data,\n                                  struct connectdata *conn,\n
      \                                 struct easy_pollset *ps,\n                                  struct
      easy_pollset *prev_ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/multi_ev.c:448,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi_ev.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: mev_pollset_dtor
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_cleanup
    - free
    linkageType: ''
    returnType: void
    signature: void mev_pollset_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_create
      Src: /src/PROJ/curl/lib/multi_ev.c:458,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/multi_ev.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: mev_add_new_conn_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_set
    - Curl_pollset_create
    linkageType: ''
    returnType: struct easy_pollset
    signature: 'struct easy_pollset *

      mev_add_new_conn_pollset(struct connectdata *conn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_create
      Src: /src/PROJ/curl/lib/multi_ev.c:471,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/multi_ev.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: mev_add_new_xfer_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - Curl_pollset_create
    linkageType: ''
    returnType: struct easy_pollset
    signature: 'struct easy_pollset *

      mev_add_new_xfer_pollset(struct Curl_easy *data)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/multi_ev.c:485,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/multi_ev.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: mev_get_last_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_meta_get
    linkageType: ''
    returnType: struct easy_pollset
    signature: "struct easy_pollset *\nmev_get_last_pollset(struct Curl_easy *data,\n
      \                    struct connectdata *conn)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/multi_ev.c:501,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/multi_ev.c:503,1
    - Dst: Curl_multi_pollset
      Src: /src/PROJ/curl/lib/multi_ev.c:511,1
    - Dst: mev_get_last_pollset
      Src: /src/PROJ/curl/lib/multi_ev.c:512,1
    - Dst: mev_add_new_conn_pollset
      Src: /src/PROJ/curl/lib/multi_ev.c:516,1
    - Dst: mev_add_new_xfer_pollset
      Src: /src/PROJ/curl/lib/multi_ev.c:518,1
    - Dst: mev_pollset_diff
      Src: /src/PROJ/curl/lib/multi_ev.c:526,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:528,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/multi_ev.c:530,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 532
    functionName: mev_assess
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_init
    - mev_pollset_diff
    - Curl_conn_adjust_pollset
    - mev_get_last_pollset
    - Curl_pollset_cleanup
    - DEBUGASSERT
    - Curl_multi_pollset
    - mev_add_new_conn_pollset
    - mev_add_new_xfer_pollset
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_assess(struct Curl_multi *multi,\n                            struct
      Curl_easy *data,\n                            struct connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_assess
      Src: /src/PROJ/curl/lib/multi_ev.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 5
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: Curl_multi_ev_assess_xfer
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 1
    functionsReached:
    - mev_assess
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assess_xfer(struct Curl_multi *multi,\n                                    struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_assess
      Src: /src/PROJ/curl/lib/multi_ev.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: Curl_multi_ev_assess_conn
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_assess
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assess_conn(struct Curl_multi *multi,\n                                    struct
      Curl_easy *data,\n                                    struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi_ev.c:553,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi_ev.c:555,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/PROJ/curl/lib/multi_ev.c:557,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi_ev.c:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - multi
    - set
    argTypes:
    - struct Curl_multi*
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 547
    functionDepth: 6
    functionLinenumber: 547
    functionLinenumberEnd: 562
    functionName: Curl_multi_ev_assess_xfer_bset
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_first
    - Curl_uint_bset_next
    - Curl_multi_get_easy
    - Curl_multi_ev_assess_xfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assess_xfer_bset(struct Curl_multi *multi,\n
      \                                        struct uint_bset *set)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mev_sh_entry_get
      Src: /src/PROJ/curl/lib/multi_ev.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - multi
    - s
    - user_data
    argTypes:
    - struct Curl_multi*
    - curl_socket_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: Curl_multi_ev_assign
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_get
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assign(struct Curl_multi *multi,\n                               curl_socket_t
      s,\n                               void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:582,1
    - Dst: mev_sh_entry_get
      Src: /src/PROJ/curl/lib/multi_ev.c:583,1
    - Dst: Curl_uint_spbset_first
      Src: /src/PROJ/curl/lib/multi_ev.c:594,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi_ev.c:596,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/multi_ev.c:598,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi_ev.c:601,1
    - Dst: Curl_uint_spbset_remove
      Src: /src/PROJ/curl/lib/multi_ev.c:602,1
    - Dst: Curl_uint_spbset_next
      Src: /src/PROJ/curl/lib/multi_ev.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - multi
    - s
    - run_cpool
    argTypes:
    - struct Curl_multi*
    - curl_socket_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 611
    functionName: Curl_multi_ev_dirty_xfers
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_next
    - Curl_multi_get_easy
    - Curl_multi_mark_dirty
    - mev_sh_entry_get
    - DEBUGASSERT
    - Curl_uint_spbset_remove
    - Curl_uint_spbset_first
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_dirty_xfers(struct Curl_multi *multi,\n                               curl_socket_t
      s,\n                               bool *run_cpool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_forget_socket
      Src: /src/PROJ/curl/lib/multi_ev.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - multi
    - data
    - s
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: Curl_multi_ev_socket_done
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_forget_socket
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_socket_done(struct Curl_multi *multi,\n                               struct
      Curl_easy *data, curl_socket_t s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi_ev.c:622,1
    - Dst: mev_assess
      Src: /src/PROJ/curl/lib/multi_ev.c:624,1
    - Dst: Curl_meta_remove
      Src: /src/PROJ/curl/lib/multi_ev.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 5
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: Curl_multi_ev_xfer_done
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_meta_remove
    - mev_assess
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_xfer_done(struct Curl_multi *multi,\n                             struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_assess
      Src: /src/PROJ/curl/lib/multi_ev.c:633,1
    - Dst: Curl_conn_meta_remove
      Src: /src/PROJ/curl/lib/multi_ev.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 629
    functionDepth: 5
    functionLinenumber: 629
    functionLinenumberEnd: 635
    functionName: Curl_multi_ev_conn_done
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_assess
    - Curl_conn_meta_remove
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_conn_done(struct Curl_multi *multi,\n                             struct
      Curl_easy *data,\n                             struct connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/multi_ev.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - hashsize
    argTypes:
    - struct Curl_multi*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: Curl_multi_ev_init
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: void
    signature: void Curl_multi_ev_init(struct Curl_multi *multi, size_t hashsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/multi_ev.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: Curl_multi_ev_cleanup
    functionSourceFile: /src/PROJ/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_multi_ev_cleanup(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:57,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/socks_sspi.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - data
    - status
    - function
    argTypes:
    - struct Curl_easy*
    - SECURITY_STATUS
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: check_sspi_err
    functionSourceFile: /src/PROJ/curl/lib/socks_sspi.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_sspi_strerror
    linkageType: ''
    returnType: int
    signature: "int check_sspi_err(struct Curl_easy *data,\n                          SECURITY_STATUS
      status,\n                          const char *function)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/socks_sspi.c:103,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/socks_sspi.c:104,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/socks_sspi.c:106,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/socks_sspi.c:135,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/socks_sspi.c:136,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/socks_sspi.c:144,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/socks_sspi.c:145,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/socks_sspi.c:145,1
    - Dst: check_sspi_err
      Src: /src/PROJ/curl/lib/socks_sspi.c:150,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:151,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socks_sspi.c:156,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/socks_sspi.c:163,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/socks_sspi.c:170,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:182,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:184,1
    - Dst: check_sspi_err
      Src: /src/PROJ/curl/lib/socks_sspi.c:187,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:188,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/socks_sspi.c:201,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:202,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_sspi.c:204,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:207,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_sspi.c:212,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:216,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:223,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:228,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_sspi.c:244,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:246,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:254,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:261,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:267,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/socks_sspi.c:268,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_sspi.c:271,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_sspi.c:277,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:281,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:290,1
    - Dst: QueryCredentialsAttributes
      Src: /src/PROJ/curl/lib/socks_sspi.c:293,1
    - Dst: check_sspi_err
      Src: /src/PROJ/curl/lib/socks_sspi.c:296,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:297,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/lib/socks_sspi.c:303,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks_sspi.c:304,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:306,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:308,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks_sspi.c:324,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/socks_sspi.c:360,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:361,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/socks_sspi.c:364,1
    - Dst: check_sspi_err
      Src: /src/PROJ/curl/lib/socks_sspi.c:367,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:368,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_sspi.c:375,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_sspi.c:383,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:389,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_sspi.c:392,1
    - Dst: EncryptMessage
      Src: /src/PROJ/curl/lib/socks_sspi.c:397,1
    - Dst: check_sspi_err
      Src: /src/PROJ/curl/lib/socks_sspi.c:400,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:401,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_sspi.c:413,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:419,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:420,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:422,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:425,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:427,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:429,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/socks_sspi.c:432,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:433,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_sspi.c:436,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:439,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:445,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_sspi.c:446,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:449,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/socks_sspi.c:455,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:458,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:462,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_sspi.c:465,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:467,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:475,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:482,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:488,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/socks_sspi.c:489,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/socks_sspi.c:492,1
    - Dst: Curl_blockread_all
      Src: /src/PROJ/curl/lib/socks_sspi.c:498,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:502,1
    - Dst: DecryptMessage
      Src: /src/PROJ/curl/lib/socks_sspi.c:516,1
    - Dst: check_sspi_err
      Src: /src/PROJ/curl/lib/socks_sspi.c:523,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:524,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:526,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:534,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:537,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:544,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:545,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:547,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks_sspi.c:553,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/socks_sspi.c:558,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/socks_sspi.c:559,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socks_sspi.c:562,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks_sspi.c:564,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/socks_sspi.c:579,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/socks_sspi.c:580,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socks_sspi.c:583,1
    - Dst: free
      Src: /src/PROJ/curl/lib/socks_sspi.c:584,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/socks_sspi.c:585,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/socks_sspi.c:586,1
    - Dst: free
      Src: /src/PROJ/curl/lib/socks_sspi.c:587,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:589,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:591,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:593,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:595,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/socks_sspi.c:597,1
    - Dst: free
      Src: /src/PROJ/curl/lib/socks_sspi.c:598,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 343
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 600
    functionName: Curl_SOCKS5_gssapi_negotiate
    functionSourceFile: /src/PROJ/curl/lib/socks_sspi.c
    functionUses: 0
    functionsReached:
    - check_sspi_err
    - AcquireCredentialsHandle
    - failf
    - Curl_blockread_all
    - CURL_UNCONST
    - curlx_convert_UTF8_to_tchar
    - InitializeSecurityContext
    - FreeCredentialsHandle
    - infof
    - memcpy
    - QueryCredentialsAttributes
    - memset
    - malloc
    - TEXT
    - Curl_conn_cf_send
    - EncryptMessage
    - DeleteSecurityContext
    - curlx_nonblock
    - QueryContextAttributes
    - htons
    - curlx_unicodefree
    - free
    - curl_maprintf
    - curlx_convert_tchar_to_UTF8
    - strchr
    - DecryptMessage
    - Curl_safefree
    - FreeContextBuffer
    - strdup
    - ntohs
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: streamclose
    functionSourceFile: /src/PROJ/curl/lib/connect.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streamclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: connclose
    functionSourceFile: /src/PROJ/curl/lib/connect.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: connkeep
    functionSourceFile: /src/PROJ/curl/lib/connect.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connkeep(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: streamclose
    functionSourceFile: /src/PROJ/curl/lib/connect.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streamclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: connclose
    functionSourceFile: /src/PROJ/curl/lib/connect.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: connkeep
    functionSourceFile: /src/PROJ/curl/lib/connect.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connkeep(x,y)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: Curl_ipv6_scope
    functionSourceFile: /src/PROJ/curl/lib/if2ip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_ipv6_scope(const struct sockaddr *sa)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/PROJ/curl/lib/if2ip.c:115,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/if2ip.c:119,1
    - Dst: Curl_ipv6_scope
      Src: /src/PROJ/curl/lib/if2ip.c:129,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/if2ip.c:156,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/if2ip.c:164,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/if2ip.c:165,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/if2ip.c:170,1
    - Dst: freeifaddrs
      Src: /src/PROJ/curl/lib/if2ip.c:176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 6
    argNames:
    - af
    - remote_scope
    - local_scope_id
    - interf
    - buf
    - buf_size
    argTypes:
    - int
    - "USE_IPV6\n                          unsigned"
    - unsigned int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 180
    functionName: Curl_if2ip
    functionSourceFile: /src/PROJ/curl/lib/if2ip.c
    functionUses: 1
    functionsReached:
    - curlx_inet_ntop
    - Curl_ipv6_scope
    - curl_msnprintf
    - freeifaddrs
    - getifaddrs
    - curl_strequal
    linkageType: ''
    returnType: if2ip_result_t
    signature: "if2ip_result_t Curl_if2ip(int af,\n#ifdef USE_IPV6\n                          unsigned
      int remote_scope,\n                          unsigned int local_scope_id,\n#endif\n
      \                         const char *interf,\n                          char
      *buf, size_t buf_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/if2ip.c:207,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/lib/if2ip.c:211,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/if2ip.c:215,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/if2ip.c:216,1
    - Dst: ioctl
      Src: /src/PROJ/curl/lib/if2ip.c:224,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/if2ip.c:228,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/if2ip.c:236,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/if2ip.c:237,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/if2ip.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - af
    - remote_scope
    - local_scope_id
    - interf
    - buf
    - buf_size
    argTypes:
    - int
    - "USE_IPV6\n                          unsigned"
    - unsigned int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 243
    functionName: Curl_if2ip
    functionSourceFile: /src/PROJ/curl/lib/if2ip.c
    functionUses: 1
    functionsReached:
    - ioctl
    - curlx_inet_ntop
    - memcpy
    - memset
    - CURL_SOCKET
    - strlen
    - sclose
    linkageType: ''
    returnType: if2ip_result_t
    signature: "if2ip_result_t Curl_if2ip(int af,\n#ifdef USE_IPV6\n                          unsigned
      int remote_scope,\n                          unsigned int local_scope_id,\n#endif\n
      \                         const char *interf,\n                          char
      *buf, size_t buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - af
    - remote_scope
    - local_scope_id
    - interf
    - buf
    - buf_size
    argTypes:
    - int
    - "USE_IPV6\n                          unsigned"
    - unsigned int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: Curl_if2ip
    functionSourceFile: /src/PROJ/curl/lib/if2ip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: if2ip_result_t
    signature: "if2ip_result_t Curl_if2ip(int af,\n#ifdef USE_IPV6\n                          unsigned
      int remote_scope,\n                          unsigned int local_scope_id,\n#endif\n
      \                         const char *interf,\n                          char
      *buf, size_t buf_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/cshutdn.c:62,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/cshutdn.c:66,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cshutdn.c:66,1
    - Dst: struct connectdata*::handler::disconnect
      Src: /src/PROJ/curl/lib/cshutdn.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: cshutdn_run_conn_handler
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    - infof
    - DEBUGF
    - struct connectdata*::handler::disconnect
    linkageType: ''
    returnType: void
    signature: "void cshutdn_run_conn_handler(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:86,1
    - Dst: cshutdn_run_conn_handler
      Src: /src/PROJ/curl/lib/cshutdn.c:88,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/cshutdn.c:95,1
    - Dst: Curl_conn_shutdown
      Src: /src/PROJ/curl/lib/cshutdn.c:96,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/cshutdn.c:102,1
    - Dst: Curl_conn_shutdown
      Src: /src/PROJ/curl/lib/cshutdn.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - data
    - conn
    - done
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: cshutdn_run_once
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_connected
    - DEBUGASSERT
    - Curl_conn_shutdown
    - cshutdn_run_conn_handler
    linkageType: ''
    returnType: void
    signature: "void cshutdn_run_once(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:119,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:120,1
    - Dst: cshutdn_run_once
      Src: /src/PROJ/curl/lib/cshutdn.c:121,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:122,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - done
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: Curl_cshutdn_run_once
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - Curl_detach_connection
    - cshutdn_run_once
    - DEBUGASSERT
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_run_once(struct Curl_easy *data,\n                           struct
      connectdata *conn,\n                           bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:135,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:137,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:139,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:148,1
    - Dst: cshutdn_run_conn_handler
      Src: /src/PROJ/curl/lib/cshutdn.c:150,1
    - Dst: cshutdn_run_once
      Src: /src/PROJ/curl/lib/cshutdn.c:154,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:156,1
    - Dst: Curl_conn_close
      Src: /src/PROJ/curl/lib/cshutdn.c:159,1
    - Dst: Curl_conn_close
      Src: /src/PROJ/curl/lib/cshutdn.c:160,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:161,1
    - Dst: Curl_multi_ev_conn_done
      Src: /src/PROJ/curl/lib/cshutdn.c:164,1
    - Dst: Curl_conn_free
      Src: /src/PROJ/curl/lib/cshutdn.c:165,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:168,1
    - Dst: Curl_multi_connchanged
      Src: /src/PROJ/curl/lib/cshutdn.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - data
    - conn
    - do_shutdown
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 171
    functionName: Curl_cshutdn_terminate
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - Curl_detach_connection
    - cshutdn_run_once
    - Curl_multi_ev_conn_done
    - DEBUGASSERT
    - Curl_conn_close
    - cshutdn_run_conn_handler
    - Curl_multi_connchanged
    - CURL_TRC_M
    - Curl_conn_free
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_terminate(struct Curl_easy *data,\n                            struct
      connectdata *conn,\n                            bool do_shutdown)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:180,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:182,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cshutdn.c:183,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:185,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/cshutdn.c:189,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:190,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cshutdn.c:191,1
    - Dst: sigpipe_init
      Src: /src/PROJ/curl/lib/cshutdn.c:192,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/cshutdn.c:193,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/cshutdn.c:194,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/cshutdn.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - cshutdn
    - data
    - destination
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: cshutdn_destroy_oldest
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - strcmp
    - sigpipe_init
    - sigpipe_restore
    - sigpipe_apply
    - Curl_node_remove
    - Curl_cshutdn_terminate
    - Curl_node_next
    - Curl_llist_head
    - SIGPIPE_VARIABLE
    - Curl_node_elem
    linkageType: ''
    returnType: bool
    signature: "bool cshutdn_destroy_oldest(struct cshutdn *cshutdn,\n                                   struct
      Curl_easy *data,\n                                   const char *destination)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cshutdn_destroy_oldest
      Src: /src/PROJ/curl/lib/cshutdn.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - destination
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 8
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: Curl_cshutdn_close_oldest
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_destroy_oldest
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cshutdn_close_oldest(struct Curl_easy *data,\n                               const
      char *destination)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollfds_init
      Src: /src/PROJ/curl/lib/cshutdn.c:221,1
    - Dst: Curl_cshutdn_add_pollfds
      Src: /src/PROJ/curl/lib/cshutdn.c:223,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/cshutdn.c:227,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/cshutdn.c:227,1
    - Dst: Curl_pollfds_cleanup
      Src: /src/PROJ/curl/lib/cshutdn.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cshutdn
    - data
    - timeout_ms
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: cshutdn_wait
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_cshutdn_add_pollfds
    - Curl_poll
    - CURLMIN
    - Curl_pollfds_cleanup
    - Curl_pollfds_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cshutdn_wait(struct cshutdn *cshutdn,\n                             struct
      Curl_easy *data,\n                             int timeout_ms)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:238,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:249,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cshutdn.c:250,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:252,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:253,1
    - Dst: Curl_cshutdn_run_once
      Src: /src/PROJ/curl/lib/cshutdn.c:254,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cshutdn.c:256,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/cshutdn.c:257,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cshutdn.c:263,1
    - Dst: Curl_conn_shutdown_timeleft
      Src: /src/PROJ/curl/lib/cshutdn.c:266,1
    - Dst: Curl_expire_ex
      Src: /src/PROJ/curl/lib/cshutdn.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - cshutdn
    - data
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 235
    functionDepth: 7
    functionLinenumber: 235
    functionLinenumberEnd: 275
    functionName: cshutdn_perform
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_cshutdn_run_once
    - curlx_now
    - Curl_node_remove
    - Curl_llist_count
    - Curl_expire_ex
    - Curl_cshutdn_terminate
    - Curl_node_next
    - Curl_llist_head
    - CURL_TRC_M
    - Curl_node_elem
    - Curl_conn_shutdown_timeleft
    linkageType: ''
    returnType: void
    signature: "void cshutdn_perform(struct cshutdn *cshutdn,\n                            struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cshutdn.c:282,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/cshutdn.c:284,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:286,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:287,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:289,1
    - Dst: sigpipe_init
      Src: /src/PROJ/curl/lib/cshutdn.c:290,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/cshutdn.c:291,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:293,1
    - Dst: cshutdn_perform
      Src: /src/PROJ/curl/lib/cshutdn.c:297,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:299,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:300,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cshutdn.c:305,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cshutdn.c:305,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:307,1
    - Dst: cshutdn_wait
      Src: /src/PROJ/curl/lib/cshutdn.c:313,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:314,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:320,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:322,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cshutdn.c:323,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/cshutdn.c:324,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:325,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:327,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cshutdn.c:327,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/cshutdn.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - cshutdn
    - data
    - timeout_ms
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 278
    functionDepth: 8
    functionLinenumber: 278
    functionLinenumberEnd: 330
    functionName: cshutdn_terminate_all
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_wait
    - curlx_now
    - sigpipe_init
    - sigpipe_restore
    - sigpipe_apply
    - curlx_timediff
    - Curl_node_remove
    - Curl_llist_count
    - Curl_cshutdn_terminate
    - DEBUGASSERT
    - Curl_llist_head
    - SIGPIPE_VARIABLE
    - CURL_TRC_M
    - cshutdn_perform
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: "void cshutdn_terminate_all(struct cshutdn *cshutdn,\n                                  struct
      Curl_easy *data,\n                                  int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:336,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/cshutdn.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cshutdn
    - multi
    argTypes:
    - struct cshutdn*
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: Curl_cshutdn_init
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_llist_init
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int Curl_cshutdn_init(struct cshutdn *cshutdn,\n                      struct
      Curl_multi *multi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/cshutdn.c:352,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cshutdn.c:355,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:361,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cshutdn.c:362,1
    - Dst: cshutdn_terminate_all
      Src: /src/PROJ/curl/lib/cshutdn.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cshutdn
    - data
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 9
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: Curl_cshutdn_destroy
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - getenv
    - cshutdn_terminate_all
    - curlx_str_number
    - Curl_llist_count
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_destroy(struct cshutdn *cshutdn,\n                          struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cshutdn.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: Curl_cshutdn_count
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_llist_count
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_cshutdn_count(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:383,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:385,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cshutdn.c:386,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - destination
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: Curl_cshutdn_dest_count
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_node_next
    - Curl_node_elem
    - Curl_llist_head
    - strcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_cshutdn_dest_count(struct Curl_easy *data,\n                               const
      char *destination)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:402,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:403,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:405,1
    - Dst: Curl_multi_ev_assess_conn
      Src: /src/PROJ/curl/lib/cshutdn.c:406,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cshutdn
    - data
    - conn
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 409
    functionName: cshutdn_update_ev
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_detach_connection
    - DEBUGASSERT
    - Curl_attach_connection
    - Curl_multi_ev_assess_conn
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode cshutdn_update_ev(struct cshutdn *cshutdn,\n                                   struct
      Curl_easy *data,\n                                   struct connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cshutdn.c:423,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:424,1
    - Dst: cshutdn_destroy_oldest
      Src: /src/PROJ/curl/lib/cshutdn.c:426,1
    - Dst: cshutdn_update_ev
      Src: /src/PROJ/curl/lib/cshutdn.c:430,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:431,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/cshutdn.c:433,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/cshutdn.c:438,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/cshutdn.c:439,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cshutdn.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cshutdn
    - conn
    - conns_in_pool
    argTypes:
    - struct cshutdn*
    - struct connectdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 8
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: Curl_cshutdn_add
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_destroy_oldest
    - Curl_llist_append
    - Curl_llist_count
    - Curl_cshutdn_terminate
    - cshutdn_update_ev
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_add(struct cshutdn *cshutdn,\n                      struct
      connectdata *conn,\n                      size_t conns_in_pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cshutdn.c:453,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:454,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:456,1
    - Dst: Curl_cshutdn_run_once
      Src: /src/PROJ/curl/lib/cshutdn.c:458,1
    - Dst: cshutdn_update_ev
      Src: /src/PROJ/curl/lib/cshutdn.c:459,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cshutdn.c:460,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/cshutdn.c:461,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - cshutdn
    - data
    - s
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: cshutdn_multi_socket
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_cshutdn_run_once
    - Curl_node_remove
    - Curl_cshutdn_terminate
    - DEBUGASSERT
    - Curl_llist_head
    - cshutdn_update_ev
    - Curl_node_next
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: "void cshutdn_multi_socket(struct cshutdn *cshutdn,\n                                 struct
      Curl_easy *data,\n                                 curl_socket_t s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cshutdn_perform
      Src: /src/PROJ/curl/lib/cshutdn.c:475,1
    - Dst: cshutdn_multi_socket
      Src: /src/PROJ/curl/lib/cshutdn.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cshutdn
    - data
    - s
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 8
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: Curl_cshutdn_perform
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_multi_socket
    - cshutdn_perform
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_perform(struct cshutdn *cshutdn,\n                          struct
      Curl_easy *data,\n                          curl_socket_t s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:486,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/cshutdn.c:490,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:491,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:492,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:494,1
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/cshutdn.c:497,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:498,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/cshutdn.c:499,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:500,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/cshutdn.c:511,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/cshutdn.c:513,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/cshutdn.c:522,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - cshutdn
    - data
    - read_fd_set
    - write_fd_set
    - maxfd
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - fd_set*
    - fd_set*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 524
    functionName: Curl_cshutdn_setfds
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_init
    - Curl_attach_connection
    - Curl_detach_connection
    - Curl_conn_adjust_pollset
    - Curl_pollset_cleanup
    - Curl_node_next
    - Curl_llist_head
    - FD_SET
    - Curl_pollset_reset
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_setfds(struct cshutdn *cshutdn,\n                         struct
      Curl_easy *data,\n                         fd_set *read_fd_set, fd_set *write_fd_set,\n
      \                        int *maxfd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:533,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/cshutdn.c:539,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:540,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:541,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:542,1
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/cshutdn.c:543,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:544,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/cshutdn.c:545,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:546,1
    - Dst: Curl_waitfds_add_ps
      Src: /src/PROJ/curl/lib/cshutdn.c:549,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/cshutdn.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cshutdn
    - data
    - cwfds
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - struct Curl_waitfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 554
    functionName: Curl_cshutdn_add_waitfds
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_init
    - Curl_waitfds_add_ps
    - Curl_attach_connection
    - Curl_detach_connection
    - Curl_conn_adjust_pollset
    - Curl_pollset_cleanup
    - Curl_node_next
    - Curl_llist_head
    - Curl_pollset_reset
    - Curl_node_elem
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int Curl_cshutdn_add_waitfds(struct cshutdn *cshutdn,\n                                      struct
      Curl_easy *data,\n                                      struct Curl_waitfds
      *cwfds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:562,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/cshutdn.c:567,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cshutdn.c:568,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cshutdn.c:569,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cshutdn.c:570,1
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/cshutdn.c:571,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:572,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/cshutdn.c:573,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/cshutdn.c:574,1
    - Dst: Curl_pollfds_add_ps
      Src: /src/PROJ/curl/lib/cshutdn.c:577,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/cshutdn.c:579,1
    - Dst: Curl_pollfds_cleanup
      Src: /src/PROJ/curl/lib/cshutdn.c:580,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/cshutdn.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cshutdn
    - data
    - cpfds
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - struct curl_pollfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 588
    functionName: Curl_cshutdn_add_pollfds
    functionSourceFile: /src/PROJ/curl/lib/cshutdn.c
    functionUses: 1
    functionsReached:
    - Curl_pollset_init
    - Curl_attach_connection
    - Curl_detach_connection
    - Curl_conn_adjust_pollset
    - Curl_pollfds_add_ps
    - Curl_pollset_cleanup
    - Curl_pollfds_cleanup
    - Curl_node_next
    - Curl_llist_head
    - Curl_pollset_reset
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cshutdn_add_pollfds(struct cshutdn *cshutdn,\n                                  struct
      Curl_easy *data,\n                                  struct curl_pollfds *cpfds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - stat_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: filesize
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filesize(name, stat_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/mime.c:158,1
    - Dst: fread
      Src: /src/PROJ/curl/lib/mime.c:165,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/mime.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: VmsRealFileSize
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - fread
    - curlx_fopen
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t VmsRealFileSize(const char *name,\n                           const
      struct_stat *stat_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VmsRealFileSize
      Src: /src/PROJ/curl/lib/mime.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: VmsSpecialSize
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - VmsRealFileSize
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t VmsSpecialSize(const char *name,\n                                 const
      struct_stat *stat_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - stat_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: filesize
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filesize(name, stat_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_stat
      Src: /src/PROJ/curl/lib/mime.c:208,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/mime.c:214,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/mime.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: vmsfopenread
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_stat
    - curlx_fopen
    linkageType: ''
    returnType: FILE
    signature: FILE * vmsfopenread(const char *file, const char *mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/mime.c:257,1
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/mime.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: Curl_basename
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *Curl_basename(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: basename
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: basename(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - state
    - tok
    - ptr
    argTypes:
    - struct mime_state*
    - enum mimestate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: mimesetstate
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mimesetstate(struct mime_state *state,\n                         enum
      mimestate tok, void *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/mime.c:318,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/mime.c:320,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:320,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/mime.c:325,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/mime.c:327,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/mime.c:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - data
    - src
    - strategy
    argTypes:
    - struct Curl_easy*
    - char*
    - enum mimestrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 331
    functionName: escape_string
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - STRCONST
    - curlx_dyn_add
    linkageType: ''
    returnType: char
    signature: "char *escape_string(struct Curl_easy *data,\n                           const
      char *src, enum mimestrategy strategy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/mime.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - hdr
    - lbl
    - len
    argTypes:
    - struct curl_slist*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: match_header
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: char
    signature: char *match_header(struct curl_slist *hdr, const char *lbl, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match_header
      Src: /src/PROJ/curl/lib/mime.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hdrlist
    - hdr
    - len
    argTypes:
    - struct curl_slist*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: search_header
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - match_header
    linkageType: ''
    returnType: char
    signature: "char *search_header(struct curl_slist *hdrlist,\n                           const
      char *hdr, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mime.c:360,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mime.c:364,1
    - Dst: basename
      Src: /src/PROJ/curl/lib/mime.c:364,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mime.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fullfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 369
    functionName: strippath
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    - basename
    linkageType: ''
    returnType: char
    signature: char *strippath(const char *fullfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct mime_encoder_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: cleanup_encoder_state
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_encoder_state(struct mime_encoder_state *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mime.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - struct curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: encoder_nop_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_nop_read(char *buffer, size_t size, bool ateof,\n                               struct
      curl_mimepart *part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: encoder_nop_size
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t encoder_nop_size(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: encoder_7bit_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_7bit_read(char *buffer, size_t size, bool ateof,\n
      \                               curl_mimepart *part)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 512
    functionName: encoder_base64_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_base64_read(char *buffer, size_t size, bool ateof,\n
      \                                 curl_mimepart *part)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: encoder_base64_size
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t encoder_base64_size(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - st
    - ateof
    - n
    argTypes:
    - struct mime_encoder_state*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 545
    functionName: qp_lookahead_eol
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qp_lookahead_eol(struct mime_encoder_state *st, int ateof, size_t
      n)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: qp_lookahead_eol
      Src: /src/PROJ/curl/lib/mime.c:574,1
    - Dst: qp_lookahead_eol
      Src: /src/PROJ/curl/lib/mime.c:588,1
    - Dst: qp_lookahead_eol
      Src: /src/PROJ/curl/lib/mime.c:613,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/mime.c:622,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mime.c:636,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 647
    functionName: encoder_qp_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - qp_lookahead_eol
    - memcpy
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_qp_read(char *buffer, size_t size, bool ateof,\n                              curl_mimepart
      *part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: encoder_qp_size
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t encoder_qp_size(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/mime.c:663,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mime.c:673,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/mime.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - instream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: mime_mem_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_sotouz
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t mime_mem_read(char *buffer, size_t size, size_t nitems,\n                            void
      *instream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 696
    functionName: mime_mem_seek
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mime_mem_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: mime_mem_free
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void mime_mem_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen_read
      Src: /src/PROJ/curl/lib/mime.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: mime_open_file
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - fopen_read
    linkageType: ''
    returnType: bool
    signature: bool mime_open_file(curl_mimepart *part)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_open_file
      Src: /src/PROJ/curl/lib/mime.c:724,1
    - Dst: fread
      Src: /src/PROJ/curl/lib/mime.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - instream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: mime_file_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_open_file
    - fread
    linkageType: ''
    returnType: size_t
    signature: "size_t mime_file_read(char *buffer, size_t size, size_t nitems,\n
      \                            void *instream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_open_file
      Src: /src/PROJ/curl/lib/mime.c:737,1
    - Dst: curlx_fseek
      Src: /src/PROJ/curl/lib/mime.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 742
    functionName: mime_file_seek
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_open_file
    - curlx_fseek
    linkageType: ''
    returnType: int
    signature: int mime_file_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/mime.c:749,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: mime_file_free
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void mime_file_free(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/mime.c:766,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mime.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - state
    - buffer
    - bufsize
    - bytes
    - numbytes
    - trail
    - traillen
    argTypes:
    - struct mime_state*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 786
    functionName: readback_bytes
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_sotouz
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t readback_bytes(struct mime_state *state,\n                             char
      *buffer, size_t bufsize,\n                             const char *bytes, size_t
      numbytes,\n                             const char *trail, size_t traillen)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mime_subparts_read
      Src: /src/PROJ/curl/lib/mime.c:816,1
    - Dst: feof
      Src: /src/PROJ/curl/lib/mime.c:819,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mime.c:821,1
    - Dst: curl_mimepart*::readfunc
      Src: /src/PROJ/curl/lib/mime.c:829,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - part
    - buffer
    - bufsize
    - hasread
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 851
    functionName: read_part_content
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_subparts_read
    - curl_mimepart*::readfunc
    - FALLTHROUGH
    - feof
    linkageType: ''
    returnType: size_t
    signature: "size_t read_part_content(curl_mimepart *part,\n                                char
      *buffer, size_t bufsize, bool *hasread)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_mimepart*::encoder::encodefunc
      Src: /src/PROJ/curl/lib/mime.c:865,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/mime.c:887,1
    - Dst: read_part_content
      Src: /src/PROJ/curl/lib/mime.c:893,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - part
    - buffer
    - bufsize
    - hasread
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 911
    functionName: read_encoded_part_content
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memmove
    - read_part_content
    - curl_mimepart*::encoder::encodefunc
    linkageType: ''
    returnType: size_t
    signature: "size_t read_encoded_part_content(curl_mimepart *part, char *buffer,\n
      \                                       size_t bufsize, bool *hasread)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:926,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:933,1
    - Dst: match_header
      Src: /src/PROJ/curl/lib/mime.c:936,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:937,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mime.c:940,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:943,1
    - Dst: readback_bytes
      Src: /src/PROJ/curl/lib/mime.c:945,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mime.c:946,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:946,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:948,1
    - Dst: readback_bytes
      Src: /src/PROJ/curl/lib/mime.c:952,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:952,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:953,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:955,1
    - Dst: cleanup_encoder_state
      Src: /src/PROJ/curl/lib/mime.c:958,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:959,1
    - Dst: read_encoded_part_content
      Src: /src/PROJ/curl/lib/mime.c:963,1
    - Dst: read_part_content
      Src: /src/PROJ/curl/lib/mime.c:965,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:968,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/mime.c:971,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mime.c:974,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - part
    - buffer
    - bufsize
    - hasread
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 995
    functionName: readback_part
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mimesetstate
    - match_header
    - FALLTHROUGH
    - read_encoded_part_content
    - STRCONST
    - read_part_content
    - cleanup_encoder_state
    - strlen
    - readback_bytes
    - curlx_fclose
    linkageType: ''
    returnType: size_t
    signature: "size_t readback_part(curl_mimepart *part,\n                            char
      *buffer, size_t bufsize, bool *hasread)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1011,1
    - Dst: readback_bytes
      Src: /src/PROJ/curl/lib/mime.c:1018,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1018,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1019,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1021,1
    - Dst: readback_bytes
      Src: /src/PROJ/curl/lib/mime.c:1025,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1026,1
    - Dst: readback_bytes
      Src: /src/PROJ/curl/lib/mime.c:1028,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1029,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1031,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1036,1
    - Dst: readback_part
      Src: /src/PROJ/curl/lib/mime.c:1039,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1047,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - buffer
    - size
    - nitems
    - instream
    - hasread
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1064
    functionName: mime_subparts_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - readback_bytes
    - mimesetstate
    - readback_part
    - STRCONST
    linkageType: ''
    returnType: size_t
    signature: "size_t mime_subparts_read(char *buffer, size_t size, size_t nitems,\n
      \                                void *instream, bool *hasread)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_encoder_state
      Src: /src/PROJ/curl/lib/mime.c:1073,1
    - Dst: curl_mimepart*::seekfunc
      Src: /src/PROJ/curl/lib/mime.c:1077,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1094,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1098
    functionName: mime_part_rewind
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_mimepart*::seekfunc
    - mimesetstate
    - cleanup_encoder_state
    linkageType: ''
    returnType: int
    signature: int mime_part_rewind(curl_mimepart *part)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mime_part_rewind
      Src: /src/PROJ/curl/lib/mime.c:1113,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1122
    functionName: mime_subparts_seek
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_part_rewind
    - mimesetstate
    linkageType: ''
    returnType: int
    signature: int mime_subparts_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mimepart*::freefunc
      Src: /src/PROJ/curl/lib/mime.c:1128,1
    - Dst: cleanup_encoder_state
      Src: /src/PROJ/curl/lib/mime.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1142
    functionName: cleanup_part_content
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_mimepart*::freefunc
    - cleanup_encoder_state
    linkageType: ''
    returnType: void
    signature: void cleanup_part_content(curl_mimepart *part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1150,1
    - Dst: curl_mime_free
      Src: /src/PROJ/curl/lib/mime.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1153
    functionName: mime_subparts_free
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - cleanup_part_content
    - curl_mime_free
    linkageType: ''
    returnType: void
    signature: void mime_subparts_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: mime_subparts_unbind
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - cleanup_part_content
    linkageType: ''
    returnType: void
    signature: void mime_subparts_unbind(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1171,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/mime.c:1172,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/mime.c:1174,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1175,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1176,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1177,1
    - Dst: Curl_mime_initpart
      Src: /src/PROJ/curl/lib/mime.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1180
    functionName: Curl_mime_cleanpart
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 4
    functionsReached:
    - cleanup_part_content
    - curl_slist_free_all
    - Curl_mime_initpart
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_mime_cleanpart(curl_mimepart *part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mime_subparts_unbind
      Src: /src/PROJ/curl/lib/mime.c:1188,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/mime.c:1192,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mime.c:1193,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mime.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1197
    functionName: curl_mime_free
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 24
    functionsReached:
    - free
    - mime_subparts_unbind
    - Curl_mime_cleanpart
    linkageType: ''
    returnType: void
    signature: void curl_mime_free(curl_mime *mime)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mime.c:1207,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/lib/mime.c:1214,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/lib/mime.c:1217,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/lib/mime.c:1223,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/lib/mime.c:1229,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/lib/mime.c:1230,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/lib/mime.c:1234,1
    - Dst: Curl_mime_duppart
      Src: /src/PROJ/curl/lib/mime.c:1235,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/mime.c:1239,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mime.c:1239,1
    - Dst: Curl_slist_duplicate
      Src: /src/PROJ/curl/lib/mime.c:1246,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/lib/mime.c:1253,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/mime.c:1255,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/lib/mime.c:1262,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/lib/mime.c:1265,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/lib/mime.c:1267,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/mime.c:1271,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - data
    - dst
    - src
    argTypes:
    - struct Curl_easy*
    - curl_mimepart*
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1274
    functionName: Curl_mime_duppart
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 2
    functionsReached:
    - infof
    - DEBUGF
    - curl_mime_data
    - Curl_slist_duplicate
    - curl_mime_headers
    - curl_mime_name
    - curl_mime_data_cb
    - curl_mime_subparts
    - Curl_mime_cleanpart
    - curl_slist_free_all
    - curl_mime_type
    - curl_mime_filename
    - DEBUGASSERT
    - curl_mime_addpart
    - Curl_mime_duppart
    - curl_mime_init
    - curl_mime_filedata
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_mime_duppart(struct Curl_easy *data,\n                           curl_mimepart
      *dst, const curl_mimepart *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/mime.c:1285,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/mime.c:1292,1
    - Dst: Curl_rand_alnum
      Src: /src/PROJ/curl/lib/mime.c:1293,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mime.c:1297,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - easy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1304
    functionName: curl_mime_init
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 21
    functionsReached:
    - mimesetstate
    - free
    - memset
    - Curl_rand_alnum
    - malloc
    linkageType: ''
    returnType: curl_mime
    signature: curl_mime *curl_mime_init(void *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/mime.c:1309,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1312
    functionName: Curl_mime_initpart
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 3
    functionsReached:
    - memset
    - mimesetstate
    linkageType: ''
    returnType: void
    signature: void Curl_mime_initpart(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/mime.c:1322,1
    - Dst: Curl_mime_initpart
      Src: /src/PROJ/curl/lib/mime.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1337
    functionName: curl_mime_addpart
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 21
    functionsReached:
    - malloc
    - Curl_mime_initpart
    linkageType: ''
    returnType: curl_mimepart
    signature: curl_mimepart *curl_mime_addpart(curl_mime *mime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1345,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mime.c:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - part
    - name
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1354
    functionName: curl_mime_name
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 18
    functionsReached:
    - strdup
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_name(curl_mimepart *part, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1362,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mime.c:1365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1371
    functionName: curl_mime_filename
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 6
    functionsReached:
    - strdup
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filename(curl_mimepart *part, const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1380,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mime.c:1384,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/mime.c:1386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - part
    - ptr
    - datasize
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1399
    functionName: curl_mime_data
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 15
    functionsReached:
    - Curl_memdup0
    - cleanup_part_content
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data(curl_mimepart *part,\n                        const
      char *ptr, size_t datasize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1409,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/lib/mime.c:1415,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mime.c:1418,1
    - Dst: S_ISREG
      Src: /src/PROJ/curl/lib/mime.c:1423,1
    - Dst: filesize
      Src: /src/PROJ/curl/lib/mime.c:1424,1
    - Dst: strippath
      Src: /src/PROJ/curl/lib/mime.c:1436,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/lib/mime.c:1440,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mime.c:1441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1447
    functionName: curl_mime_filedata
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 7
    functionsReached:
    - S_ISREG
    - free
    - filesize
    - cleanup_part_content
    - curl_mime_filename
    - curlx_stat
    - strippath
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1455,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/mime.c:1458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - part
    - mimetype
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1464
    functionName: curl_mime_type
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 7
    functionsReached:
    - strdup
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/mime.c:1481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - part
    - encoding
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1487
    functionName: curl_mime_encoder
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 5
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/mime.c:1498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - part
    - headers
    - take_ownership
    argTypes:
    - curl_mimepart*
    - struct curl_slist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1505
    functionName: curl_mime_headers
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 6
    functionsReached:
    - curl_slist_free_all
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_headers(curl_mimepart *part,\n                           struct
      curl_slist *headers, int take_ownership)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - part
    - datasize
    - readfunc
    - seekfunc
    - freefunc
    - arg
    argTypes:
    - curl_mimepart*
    - curl_off_t
    - curl_read_callback
    - curl_seek_callback
    - curl_free_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1528
    functionName: curl_mime_data_cb
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 10
    functionsReached:
    - cleanup_part_content
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data_cb(curl_mimepart *part, curl_off_t datasize,\n
      \                          curl_read_callback readfunc,\n                           curl_seek_callback
      seekfunc,\n                           curl_free_callback freefunc, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/PROJ/curl/lib/mime.c:1543,1
    - Dst: mime_subparts_seek
      Src: /src/PROJ/curl/lib/mime.c:1565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - part
    - subparts
    - take_ownership
    argTypes:
    - curl_mimepart*
    - curl_mime*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1580
    functionName: Curl_mime_set_subparts
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - cleanup_part_content
    - mime_subparts_seek
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_mime_set_subparts(curl_mimepart *part,\n                                curl_mime
      *subparts, int take_ownership)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_set_subparts
      Src: /src/PROJ/curl/lib/mime.c:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - part
    - subparts
    argTypes:
    - curl_mimepart*
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1585
    functionName: curl_mime_subparts
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 6
    functionsReached:
    - Curl_mime_set_subparts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readback_part
      Src: /src/PROJ/curl/lib/mime.c:1602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - instream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1590
    functionDepth: 4
    functionLinenumber: 1590
    functionLinenumberEnd: 1612
    functionName: Curl_mime_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - readback_part
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_mime_read(char *buffer, size_t size, size_t nitems, void
      *instream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_part_rewind
      Src: /src/PROJ/curl/lib/mime.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1619
    functionName: mime_rewind
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_part_rewind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mime_rewind(curl_mimepart *part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_header
      Src: /src/PROJ/curl/lib/mime.c:1628,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mime.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - s
    - overhead
    - skip
    - skiplen
    argTypes:
    - struct curl_slist*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1622
    functionDepth: 2
    functionLinenumber: 1622
    functionLinenumberEnd: 1631
    functionName: slist_size
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - strlen
    - match_header
    linkageType: ''
    returnType: size_t
    signature: "size_t slist_size(struct curl_slist *s,\n                         size_t
      overhead, const char *skip, size_t skiplen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mime_size
      Src: /src/PROJ/curl/lib/mime.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1657
    functionName: multipart_size
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_size
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t multipart_size(curl_mime *mime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multipart_size
      Src: /src/PROJ/curl/lib/mime.c:1665,1
    - Dst: curl_mimepart*::encoder::sizefunc
      Src: /src/PROJ/curl/lib/mime.c:1670,1
    - Dst: slist_size
      Src: /src/PROJ/curl/lib/mime.c:1674,1
    - Dst: slist_size
      Src: /src/PROJ/curl/lib/mime.c:1675,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1660
    functionDepth: 3
    functionLinenumber: 1660
    functionLinenumberEnd: 1680
    functionName: mime_size
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - STRCONST
    - multipart_size
    - curl_mimepart*::encoder::sizefunc
    - slist_size
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t mime_size(curl_mimepart *part)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/mime.c:1690,1
    - Dst: curl_mvaprintf
      Src: /src/PROJ/curl/lib/mime.c:1691,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/mime.c:1692,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/lib/mime.c:1695,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mime.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - slp
    - fmt
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1684
    functionDepth: 5
    functionLinenumber: 1684
    functionLinenumberEnd: 1703
    functionName: Curl_mime_add_header
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - va_end
    - free
    - va_start
    - Curl_slist_append_nodup
    - curl_mvaprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_add_header
      Src: /src/PROJ/curl/lib/mime.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slp
    - type
    - boundary
    argTypes:
    - struct curl_slist**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1706
    functionDepth: 6
    functionLinenumber: 1706
    functionLinenumberEnd: 1712
    functionName: add_content_type
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_mime_add_header
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_content_type(struct curl_slist **slp,\n                                 const
      char *type, const char *boundary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mime.c:1738,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/mime.c:1742,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mime.c:1743,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/mime.c:1745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1750
    functionName: Curl_mime_contenttype
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_strequal
    - strlen
    linkageType: ''
    returnType: char
    signature: char *Curl_mime_contenttype(const char *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/mime.c:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - contenttype
    - target
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1766
    functionName: content_type_match
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool content_type_match(const char *contenttype,\n                               const
      char *target, size_t len)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/mime.c:1781,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1786,1
    - Dst: search_header
      Src: /src/PROJ/curl/lib/mime.c:1791,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1791,1
    - Dst: Curl_mime_contenttype
      Src: /src/PROJ/curl/lib/mime.c:1802,1
    - Dst: Curl_mime_contenttype
      Src: /src/PROJ/curl/lib/mime.c:1804,1
    - Dst: Curl_mime_contenttype
      Src: /src/PROJ/curl/lib/mime.c:1809,1
    - Dst: content_type_match
      Src: /src/PROJ/curl/lib/mime.c:1820,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1820,1
    - Dst: search_header
      Src: /src/PROJ/curl/lib/mime.c:1825,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1825,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/mime.c:1828,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/mime.c:1830,1
    - Dst: escape_string
      Src: /src/PROJ/curl/lib/mime.c:1838,1
    - Dst: escape_string
      Src: /src/PROJ/curl/lib/mime.c:1843,1
    - Dst: Curl_mime_add_header
      Src: /src/PROJ/curl/lib/mime.c:1848,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1857,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mime.c:1858,1
    - Dst: add_content_type
      Src: /src/PROJ/curl/lib/mime.c:1866,1
    - Dst: search_header
      Src: /src/PROJ/curl/lib/mime.c:1872,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1873,1
    - Dst: Curl_mime_add_header
      Src: /src/PROJ/curl/lib/mime.c:1880,1
    - Dst: mimesetstate
      Src: /src/PROJ/curl/lib/mime.c:1890,1
    - Dst: content_type_match
      Src: /src/PROJ/curl/lib/mime.c:1897,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/mime.c:1897,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/PROJ/curl/lib/mime.c:1900,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 89
    argCount: 5
    argNames:
    - data
    - part
    - contenttype
    - disposition
    - strategy
    argTypes:
    - struct Curl_easy*
    - curl_mimepart*
    - char*
    - char*
    - enum mimestrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1768
    functionDepth: 7
    functionLinenumber: 1768
    functionLinenumberEnd: 1907
    functionName: Curl_mime_prepare_headers
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 3
    functionsReached:
    - mimesetstate
    - escape_string
    - Curl_mime_contenttype
    - search_header
    - Curl_mime_add_header
    - Curl_mime_prepare_headers
    - curl_slist_free_all
    - content_type_match
    - add_content_type
    - STRCONST
    - curl_strnequal
    - Curl_safefree
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_mime_prepare_headers(struct Curl_easy *data,\n                                   curl_mimepart
      *part,\n                                   const char *contenttype,\n                                   const
      char *disposition,\n                                   enum mimestrategy strategy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mime_unpause
      Src: /src/PROJ/curl/lib/mime.c:1922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1926
    functionName: mime_unpause
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - mime_unpause
    linkageType: ''
    returnType: void
    signature: void mime_unpause(curl_mimepart *part)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/mime.c:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1939
    functionDepth: 3
    functionLinenumber: 1939
    functionLinenumberEnd: 1948
    functionName: cr_mime_init
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_init(struct Curl_easy *data,\n                             struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/mime.c:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1950
    functionDepth: 2
    functionLinenumber: 1950
    functionLinenumberEnd: 1956
    functionName: cr_mime_close
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: "void cr_mime_close(struct Curl_easy *data,\n                          struct
      Curl_creader *reader)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/mime.c:1972,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/mime.c:1979,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/mime.c:1993,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/lib/mime.c:1994,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/mime.c:2006,1
    - Dst: Curl_mime_read
      Src: /src/PROJ/curl/lib/mime.c:2007,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/mime.c:2010,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/mime.c:2017,1
    - Dst: Curl_mime_read
      Src: /src/PROJ/curl/lib/mime.c:2026,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/mime.c:2028,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2034,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2045,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/mime.c:2055,1
    - Dst: Curl_xfer_pause_send
      Src: /src/PROJ/curl/lib/mime.c:2058,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2063,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2074,1
    - Dst: CURL_TRC_READ
      Src: /src/PROJ/curl/lib/mime.c:2089,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 98
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1959
    functionDepth: 5
    functionLinenumber: 1959
    functionLinenumberEnd: 2093
    functionName: cr_mime_read
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_read
    - failf
    - Curl_bufq_cread
    - Curl_bufq_is_empty
    - Curl_mime_read
    - Curl_xfer_pause_send
    - CURL_TRC_READ
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_read(struct Curl_easy *data,\n                             struct
      Curl_creader *reader,\n                             char *buf, size_t blen,\n
      \                            size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2101
    functionName: cr_mime_needs_rewind
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_mime_needs_rewind(struct Curl_easy *data,\n                                 struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2109
    functionName: cr_mime_total_length
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_mime_total_length(struct Curl_easy *data,\n                                       struct
      Curl_creader *reader)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/mime.c:2125,1
    - Dst: Curl_mime_read
      Src: /src/PROJ/curl/lib/mime.c:2128,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2133,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2111
    functionDepth: 5
    functionLinenumber: 2111
    functionLinenumberEnd: 2151
    functionName: cr_mime_resume_from
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_mime_read
    - curlx_sotouz
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_resume_from(struct Curl_easy *data,\n                                    struct
      Curl_creader *reader,\n                                    curl_off_t offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mime_rewind
      Src: /src/PROJ/curl/lib/mime.c:2160,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mime.c:2162,1
    - Dst: mime_unpause
      Src: /src/PROJ/curl/lib/mime.c:2166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2153
    functionDepth: 3
    functionLinenumber: 2153
    functionLinenumberEnd: 2175
    functionName: cr_mime_cntrl
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_rewind
    - failf
    - mime_unpause
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_cntrl(struct Curl_easy *data,\n                              struct
      Curl_creader *reader,\n                              Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2183
    functionName: cr_mime_is_paused
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_mime_is_paused(struct Curl_easy *data,\n                              struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/PROJ/curl/lib/mime.c:2205,1
    - Dst: mime_rewind
      Src: /src/PROJ/curl/lib/mime.c:2211,1
    - Dst: Curl_creader_free
      Src: /src/PROJ/curl/lib/mime.c:2213,1
    - Dst: mime_size
      Src: /src/PROJ/curl/lib/mime.c:2216,1
    - Dst: Curl_creader_set
      Src: /src/PROJ/curl/lib/mime.c:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - part
    argTypes:
    - struct Curl_easy*
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2199
    functionDepth: 5
    functionLinenumber: 2199
    functionLinenumberEnd: 2219
    functionName: Curl_creader_set_mime
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 2
    functionsReached:
    - Curl_creader_set
    - Curl_creader_free
    - mime_size
    - mime_rewind
    - Curl_creader_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set_mime(struct Curl_easy *data, curl_mimepart
      *part)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2229
    functionName: curl_mime_init
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: curl_mime
    signature: curl_mime *curl_mime_init(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2234
    functionName: curl_mime_free
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_mime_free(curl_mime *mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2240
    functionName: curl_mime_addpart
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: curl_mimepart
    signature: curl_mimepart *curl_mime_addpart(curl_mime *mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - name
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2247
    functionName: curl_mime_name
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_name(curl_mimepart *part, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2254
    functionName: curl_mime_filename
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filename(curl_mimepart *part, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - mimetype
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2261
    functionName: curl_mime_type
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - encoding
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2268
    functionName: curl_mime_encoder
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - part
    - data
    - datasize
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2277
    functionName: curl_mime_data
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data(curl_mimepart *part,\n                        const
      char *data, size_t datasize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2284
    functionName: curl_mime_filedata
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - part
    - datasize
    - readfunc
    - seekfunc
    - freefunc
    - arg
    argTypes:
    - curl_mimepart*
    - curl_off_t
    - curl_read_callback
    - curl_seek_callback
    - curl_free_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2300
    functionName: curl_mime_data_cb
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data_cb(curl_mimepart *part,\n                           curl_off_t
      datasize,\n                           curl_read_callback readfunc,\n                           curl_seek_callback
      seekfunc,\n                           curl_free_callback freefunc,\n                           void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - subparts
    argTypes:
    - curl_mimepart*
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2307
    functionName: curl_mime_subparts
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - part
    - headers
    - take_ownership
    argTypes:
    - curl_mimepart*
    - struct curl_slist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2316
    functionName: curl_mime_headers
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_headers(curl_mimepart *part,\n                           struct
      curl_slist *headers, int take_ownership)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slp
    - fmt
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2323
    functionName: Curl_mime_add_header
    functionSourceFile: /src/PROJ/curl/lib/mime.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: strdup
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: malloc
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 194
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: malloc(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nbelem
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: calloc
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 203
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calloc(nbelem,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: realloc
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: realloc(ptr,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: free
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 679
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: Curl_tcsdup
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Curl_tcsdup
    functionSourceFile: /src/PROJ/curl/lib/curl_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DESKEY
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: DESKEY
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: DESKEY
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DESKEYARG
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEYARG(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: curl_des_set_odd_parity
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_des_set_odd_parity(unsigned char *bytes, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - key_56
    - key
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: extend_key_56_to_64
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extend_key_56_to_64(const unsigned char *key_56, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:193,1
    - Dst: DES_set_odd_parity
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:196,1
    - Dst: DES_set_key_unchecked
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key_56
    - DESKEYARG
    argTypes:
    - unsigned char*
    - DES_key_schedule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: setup_des_key
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - DES_set_odd_parity
    - DES_set_key_unchecked
    - extend_key_56_to_64
    linkageType: ''
    returnType: void
    signature: "void setup_des_key(const unsigned char *key_56,\n                          DES_key_schedule
      DESKEYARG(ks))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:210,1
    - Dst: curl_des_set_odd_parity
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:213,1
    - Dst: des_set_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key_56
    - des
    argTypes:
    - unsigned char*
    - struct des_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: setup_des_key
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - curl_des_set_odd_parity
    - extend_key_56_to_64
    - des_set_key
    linkageType: ''
    returnType: void
    signature: "void setup_des_key(const unsigned char *key_56,\n                          struct
      des_ctx *des)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:228,1
    - Dst: mbedtls_des_key_set_parity
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:231,1
    - Dst: mbedtls_des_init
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:234,1
    - Dst: mbedtls_des_setkey_enc
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:235,1
    - Dst: mbedtls_des_crypt_ecb
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - key_56
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: encrypt_des
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - mbedtls_des_setkey_enc
    - mbedtls_des_key_set_parity
    - mbedtls_des_init
    - extend_key_56_to_64
    - mbedtls_des_crypt_ecb
    linkageType: ''
    returnType: bool
    signature: "bool encrypt_des(const unsigned char *in, unsigned char *out,\n                        const
      unsigned char *key_56)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:252,1
    - Dst: curl_des_set_odd_parity
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:255,1
    - Dst: _CIPHER
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - in
    - out
    - key_56
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: encrypt_des
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - curl_des_set_odd_parity
    - extend_key_56_to_64
    - _CIPHER
    linkageType: ''
    returnType: bool
    signature: "bool encrypt_des(const unsigned char *in, unsigned char *out,\n                        const
      unsigned char *key_56)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:278,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:283,1
    - Dst: extend_key_56_to_64
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:290,1
    - Dst: curl_des_set_odd_parity
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:293,1
    - Dst: CryptImportKey
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:296,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:297,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:302,1
    - Dst: CryptEncrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:305,1
    - Dst: CryptDestroyKey
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:307,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - in
    - out
    - key_56
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 311
    functionName: encrypt_des
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - CryptDestroyKey
    - memcpy
    - CryptAcquireContext
    - extend_key_56_to_64
    - CryptEncrypt
    - curl_des_set_odd_parity
    - memset
    - CryptImportKey
    - CryptReleaseContext
    linkageType: ''
    returnType: bool
    signature: "bool encrypt_des(const unsigned char *in, unsigned char *out,\n                        const
      unsigned char *key_56)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:327,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:327,1
    - Dst: DES_ecb_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:328,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:328,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:329,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:331,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:331,1
    - Dst: DES_ecb_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:332,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:332,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:333,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:335,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:335,1
    - Dst: DES_ecb_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:336,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:336,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:337,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:340,1
    - Dst: des_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:341,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:342,1
    - Dst: des_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:343,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:344,1
    - Dst: des_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:345,1
    - Dst: encrypt_des
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:348,1
    - Dst: encrypt_des
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:349,1
    - Dst: encrypt_des
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - keys
    - plaintext
    - results
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: Curl_ntlm_core_lm_resp
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - des_encrypt
    - DESKEY
    - encrypt_des
    - CURL_UNCONST
    - setup_des_key
    - DES_ecb_encrypt
    linkageType: ''
    returnType: void
    signature: "void Curl_ntlm_core_lm_resp(const unsigned char *keys,\n                            const
      unsigned char *plaintext,\n                            unsigned char *results)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:368,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:368,1
    - Dst: Curl_strntoupper
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:370,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:371,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:379,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:379,1
    - Dst: DES_ecb_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:380,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:380,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:381,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:383,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:383,1
    - Dst: DES_ecb_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:384,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:384,1
    - Dst: DESKEY
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:385,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:388,1
    - Dst: des_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:389,1
    - Dst: setup_des_key
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:390,1
    - Dst: des_encrypt
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:391,1
    - Dst: encrypt_des
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:394,1
    - Dst: encrypt_des
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:395,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - password
    - lmbuffer
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 402
    functionName: Curl_ntlm_core_mk_lm_hash
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_strntoupper
    - DESKEY
    - des_encrypt
    - encrypt_des
    - CURLMIN
    - memset
    - CURL_UNCONST
    - strlen
    - setup_des_key
    - DES_ecb_encrypt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_lm_hash(const char *password,\n                                   unsigned
      char *lmbuffer /* 21 bytes */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - srclen
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: ascii_to_unicode_le
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ascii_to_unicode_le(unsigned char *dest, const char *src,\n                                size_t
      srclen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - srclen
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: ascii_uppercase_to_unicode_le
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: void
    signature: "void ascii_uppercase_to_unicode_le(unsigned char *dest,\n                                          const
      char *src, size_t srclen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:435,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:440,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:440,1
    - Dst: ascii_to_unicode_le
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:444,1
    - Dst: Curl_md4it
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:447,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:449,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - password
    - ntbuffer
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 454
    functionName: Curl_ntlm_core_mk_nt_hash
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 1
    functionsReached:
    - free
    - ascii_to_unicode_le
    - memset
    - strlen
    - malloc
    - Curl_md4it
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_nt_hash(const char *password,\n                                   unsigned
      char *ntbuffer /* 21 bytes */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ft
    - t
    argTypes:
    - struct ms_filetime*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 509
    functionName: time2filetime
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void time2filetime(struct ms_filetime *ft, time_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:528,1
    - Dst: ascii_uppercase_to_unicode_le
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:533,1
    - Dst: ascii_to_unicode_le
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:534,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:536,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - user
    - userlen
    - domain
    - domlen
    - ntlmhash
    - ntlmv2hash
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 541
    functionName: Curl_ntlm_core_mk_ntlmv2_hash
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_hmacit
    - free
    - ascii_to_unicode_le
    - ascii_uppercase_to_unicode_le
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_ntlmv2_hash(const char *user, size_t userlen,\n
      \                                      const char *domain, size_t domlen,\n
      \                                      unsigned char *ntlmhash,\n                                       unsigned
      char *ntlmv2hash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:590,1
    - Dst: time2filetime
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:592,1
    - Dst: time2filetime
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:595,1
    - Dst: time
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:595,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:601,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:606,1
    - Dst: LONGQUARTET
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:613,1
    - Dst: LONGQUARTET
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:614,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:616,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:618,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:621,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:622,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:625,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - ntlmv2hash
    - challenge_client
    - ntlm
    - ntresp
    - ntresp_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - struct ntlmdata*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 560
    functionDepth: 6
    functionLinenumber: 560
    functionLinenumberEnd: 637
    functionName: Curl_ntlm_core_mk_ntlmv2_resp
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - getenv
    - Curl_hmacit
    - free
    - time
    - memcpy
    - curl_msnprintf
    - time2filetime
    - calloc
    - LONGQUARTET
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash,\n
      \                                      unsigned char *challenge_client,\n                                       struct
      ntlmdata *ntlm,\n                                       unsigned char **ntresp,\n
      \                                      unsigned int *ntresp_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:662,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:663,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:665,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:671,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_ntlm_core.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ntlmv2hash
    - challenge_client
    - challenge_server
    - lmresp
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 675
    functionName: Curl_ntlm_core_mk_lmv2_resp
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_hmacit
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_lmv2_resp(unsigned char *ntlmv2hash,\n
      \                                     unsigned char *challenge_client,\n                                      unsigned
      char *challenge_server,\n                                      unsigned char
      *lmresp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: Curl_async_get_impl
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_get_impl(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Curl_async_is_resolved
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_is_resolved(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Curl_async_await
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_await(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: Curl_async_global_init
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_global_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: Curl_async_global_cleanup
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_global_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: Curl_async_shutdown
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_shutdown(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: Curl_async_destroy
    functionSourceFile: /src/PROJ/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_destroy(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - s
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: PINGPONG_SETUP
    functionSourceFile: /src/PROJ/curl/lib/pingpong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PINGPONG_SETUP(pp,s,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: Curl_bufref_init
    functionSourceFile: /src/PROJ/curl/lib/bufref.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_bufref_init(struct bufref *br)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:59,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:60,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:61,1
    - Dst: struct bufref*::dtor
      Src: /src/PROJ/curl/lib/bufref.c:64,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/bufref.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: Curl_bufref_free
    functionSourceFile: /src/PROJ/curl/lib/bufref.c
    functionUses: 4
    functionsReached:
    - struct bufref*::dtor
    - CURL_UNCONST
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_bufref_free(struct bufref *br)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:78,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:79,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/bufref.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - br
    - ptr
    - len
    argTypes:
    - struct bufref*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: Curl_bufref_set
    functionSourceFile: /src/PROJ/curl/lib/bufref.c
    functionUses: 3
    functionsReached:
    - Curl_bufref_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_bufref_set(struct bufref *br, const void *ptr, size_t len,\n
      \                    void (*dtor)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:92,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:93,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: Curl_bufref_ptr
    functionSourceFile: /src/PROJ/curl/lib/bufref.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *Curl_bufref_ptr(const struct bufref *br)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:104,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:105,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: Curl_bufref_len
    functionSourceFile: /src/PROJ/curl/lib/bufref.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_bufref_len(const struct bufref *br)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:115,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:116,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:117,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:118,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/bufref.c:119,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/bufref.c:122,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/bufref.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - br
    - ptr
    - len
    argTypes:
    - struct bufref*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: Curl_bufref_memdup
    functionSourceFile: /src/PROJ/curl/lib/bufref.c
    functionUses: 1
    functionsReached:
    - Curl_memdup0
    - DEBUGASSERT
    - Curl_bufref_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_bufref_memdup(struct bufref *br, const void *ptr, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - enum alpnid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: Curl_alpnid2str
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Curl_alpnid2str(enum alpnid id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:74,1
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:75,1
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct altsvc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: altsvc_free
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void altsvc_free(struct altsvc *as)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/altsvc.c:88,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:91,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:92,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/altsvc.c:113,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/altsvc.c:117,1
    - Dst: altsvc_free
      Src: /src/PROJ/curl/lib/altsvc.c:128,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 8
    argNames:
    - srchost
    - hlen
    - dsthost
    - dlen
    - srcalpnid
    - dstalpnid
    - srcport
    - dstport
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - enum alpnid
    - enum alpnid
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: altsvc_createid
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - Curl_memdup0
    - altsvc_free
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: struct altsvc
    signature: "struct altsvc *altsvc_createid(const char *srchost,\n                                      size_t
      hlen,\n                                      const char *dsthost,\n                                      size_t
      dlen, /* dsthost length */\n                                      enum alpnid
      srcalpnid,\n                                      enum alpnid dstalpnid,\n                                      size_t
      srcport,\n                                      size_t dstport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_alpn2alpnid
      Src: /src/PROJ/curl/lib/altsvc.c:140,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:140,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:140,1
    - Dst: Curl_alpn2alpnid
      Src: /src/PROJ/curl/lib/altsvc.c:142,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:142,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:142,1
    - Dst: altsvc_createid
      Src: /src/PROJ/curl/lib/altsvc.c:145,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:145,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:145,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:146,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - srchost
    - dsthost
    - srcalpn
    - dstalpn
    - srcport
    - dstport
    argTypes:
    - struct Curl_str*
    - struct Curl_str*
    - struct Curl_str*
    - struct Curl_str*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: altsvc_create
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - Curl_alpn2alpnid
    - curlx_strlen
    - altsvc_createid
    - curlx_str
    linkageType: ''
    returnType: struct altsvc
    signature: "struct altsvc *altsvc_create(struct Curl_str *srchost,\n                                    struct
      Curl_str *dsthost,\n                                    struct Curl_str *srcalpn,\n
      \                                   struct Curl_str *dstalpn,\n                                    size_t
      srcport,\n                                    size_t dstport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/lib/altsvc.c:167,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:168,1
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/lib/altsvc.c:169,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:170,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:171,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:172,1
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/lib/altsvc.c:173,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:174,1
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/lib/altsvc.c:175,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:176,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:177,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:178,1
    - Dst: curlx_str_quotedword
      Src: /src/PROJ/curl/lib/altsvc.c:179,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:180,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:181,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/altsvc.c:182,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:183,1
    - Dst: curlx_str_newline
      Src: /src/PROJ/curl/lib/altsvc.c:184,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/altsvc.c:193,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:193,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:193,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:194,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/altsvc.c:195,1
    - Dst: altsvc_create
      Src: /src/PROJ/curl/lib/altsvc.c:196,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/altsvc.c:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 15
    argCount: 2
    argNames:
    - asi
    - line
    argTypes:
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 207
    functionName: altsvc_add
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - altsvc_create
    - curlx_str_newline
    - curlx_str_singlespace
    - curlx_str_number
    - Curl_getdate_capped
    - Curl_llist_append
    - curlx_str
    - curlx_strlen
    - curlx_str_quotedword
    - curlx_str_word
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode altsvc_add(struct altsvcinfo *asi, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:224,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/altsvc.c:225,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/altsvc.c:229,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/altsvc.c:233,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/lib/altsvc.c:235,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/altsvc.c:237,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/altsvc.c:238,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:239,1
    - Dst: altsvc_add
      Src: /src/PROJ/curl/lib/altsvc.c:240,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/altsvc.c:243,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/altsvc.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - asi
    - file
    argTypes:
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 247
    functionName: altsvc_load
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 3
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_str_single
    - curlx_str_passblanks
    - curlx_dyn_init
    - altsvc_add
    - curlx_fopen
    - curlx_dyn_free
    - Curl_get_line
    - curlx_fclose
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode altsvc_load(struct altsvcinfo *asi, const char *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/altsvc.c:260,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/altsvc.c:266,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/altsvc.c:270,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/altsvc.c:276,1
    - Dst: Curl_alpnid2str
      Src: /src/PROJ/curl/lib/altsvc.c:282,1
    - Dst: Curl_alpnid2str
      Src: /src/PROJ/curl/lib/altsvc.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - as
    - fp
    argTypes:
    - struct altsvc*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 294
    functionName: altsvc_out
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - Curl_gmtime
    - Curl_alpnid2str
    - curlx_inet_pton
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode altsvc_out(struct altsvc *as, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/altsvc.c:304,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/altsvc.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 319
    functionName: Curl_altsvc_init
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 4
    functionsReached:
    - Curl_llist_init
    - calloc
    linkageType: ''
    returnType: struct altsvcinfo
    signature: struct altsvcinfo *Curl_altsvc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:326,1
    - Dst: altsvc_load
      Src: /src/PROJ/curl/lib/altsvc.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - asi
    - file
    argTypes:
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 7
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: Curl_altsvc_load
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    - altsvc_load
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_altsvc_load(struct altsvcinfo *asi, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - asi
    - ctrl
    argTypes:
    - struct altsvcinfo*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: Curl_altsvc_ctrl
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_altsvc_ctrl(struct altsvcinfo *asi, const long ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/altsvc.c:350,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/altsvc.c:351,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/altsvc.c:352,1
    - Dst: altsvc_free
      Src: /src/PROJ/curl/lib/altsvc.c:353,1
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:355,1
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - altsvcp
    argTypes:
    - struct altsvcinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 359
    functionName: Curl_altsvc_cleanup
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 3
    functionsReached:
    - free
    - altsvc_free
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: void Curl_altsvc_cleanup(struct altsvcinfo **altsvcp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fopen
      Src: /src/PROJ/curl/lib/altsvc.c:383,1
    - Dst: fputs
      Src: /src/PROJ/curl/lib/altsvc.c:387,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/altsvc.c:390,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/altsvc.c:391,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/altsvc.c:392,1
    - Dst: altsvc_out
      Src: /src/PROJ/curl/lib/altsvc.c:393,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/altsvc.c:397,1
    - Dst: Curl_rename
      Src: /src/PROJ/curl/lib/altsvc.c:398,1
    - Dst: unlink
      Src: /src/PROJ/curl/lib/altsvc.c:402,1
    - Dst: free
      Src: /src/PROJ/curl/lib/altsvc.c:404,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - data
    - altsvc
    - file
    argTypes:
    - struct Curl_easy*
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 364
    functionDepth: 6
    functionLinenumber: 364
    functionLinenumberEnd: 406
    functionName: Curl_altsvc_save
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 2
    functionsReached:
    - altsvc_out
    - fputs
    - Curl_rename
    - free
    - Curl_fopen
    - unlink
    - Curl_node_next
    - Curl_llist_head
    - curlx_fclose
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_altsvc_save(struct Curl_easy *data,\n                          struct
      altsvcinfo *altsvc, const char *file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/altsvc.c:413,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/altsvc.c:414,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/altsvc.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - host
    - check
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 422
    functionName: hostcompare
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool hostcompare(const char *host, const char *check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/altsvc.c:431,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/altsvc.c:432,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/altsvc.c:433,1
    - Dst: hostcompare
      Src: /src/PROJ/curl/lib/altsvc.c:436,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/altsvc.c:437,1
    - Dst: altsvc_free
      Src: /src/PROJ/curl/lib/altsvc.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - asi
    - srcalpnid
    - srchost
    - srcport
    argTypes:
    - struct altsvcinfo*
    - enum alpnid
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: altsvc_flush
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - hostcompare
    - altsvc_free
    - Curl_node_remove
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: "void altsvc_flush(struct altsvcinfo *asi, enum alpnid srcalpnid,\n
      \                        const char *srchost, unsigned short srcport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/altsvc.c:448,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:452,1
    - Dst: time
      Src: /src/PROJ/curl/lib/altsvc.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: altsvc_debugtime
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - getenv
    - time
    - curlx_str_number
    linkageType: ''
    returnType: time_t
    signature: time_t altsvc_debugtime(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: time
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: time(x)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:489,1
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/altsvc.c:492,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/altsvc.c:493,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/altsvc.c:495,1
    - Dst: altsvc_flush
      Src: /src/PROJ/curl/lib/altsvc.c:497,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/altsvc.c:504,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/altsvc.c:507,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/altsvc.c:511,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/altsvc.c:521,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:522,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/altsvc.c:523,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/altsvc.c:525,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/altsvc.c:526,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:528,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:532,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/altsvc.c:533,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/altsvc.c:535,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:538,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:540,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:546,1
    - Dst: Curl_alpn2alpnid
      Src: /src/PROJ/curl/lib/altsvc.c:549,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:549,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:549,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:550,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:553,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:555,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/altsvc.c:556,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/altsvc.c:557,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/altsvc.c:563,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:564,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/altsvc.c:565,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:569,1
    - Dst: curlx_str_assign
      Src: /src/PROJ/curl/lib/altsvc.c:574,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/altsvc.c:574,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/altsvc.c:576,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/altsvc.c:577,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:583,1
    - Dst: altsvc_flush
      Src: /src/PROJ/curl/lib/altsvc.c:590,1
    - Dst: altsvc_createid
      Src: /src/PROJ/curl/lib/altsvc.c:592,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/altsvc.c:592,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:593,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:594,1
    - Dst: time
      Src: /src/PROJ/curl/lib/altsvc.c:598,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/altsvc.c:606,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/altsvc.c:607,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/altsvc.c:608,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/altsvc.c:608,1
    - Dst: Curl_alpnid2str
      Src: /src/PROJ/curl/lib/altsvc.c:609,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/altsvc.c:618,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/altsvc.c:622,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/altsvc.c:624,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 88
    argCount: 6
    argNames:
    - data
    - asi
    - value
    - srcalpnid
    - srchost
    - srcport
    argTypes:
    - struct Curl_easy*
    - struct altsvcinfo*
    - char*
    - enum alpnid
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 631
    functionName: Curl_altsvc_parse
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 2
    functionsReached:
    - curlx_str_cspn
    - infof
    - strlen
    - curlx_str
    - curlx_str_until
    - curlx_str_casecompare
    - altsvc_flush
    - DEBUGASSERT
    - Curl_alpn2alpnid
    - curlx_strlen
    - altsvc_createid
    - Curl_alpnid2str
    - curlx_str_single
    - time
    - strchr
    - curlx_str_assign
    - Curl_llist_append
    - curlx_str_number
    - curlx_str_trimblanks
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_altsvc_parse(struct Curl_easy *data,\n                           struct
      altsvcinfo *asi, const char *value,\n                           enum alpnid
      srcalpnid, const char *srchost,\n                           unsigned short srcport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/lib/altsvc.c:644,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:645,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:646,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/altsvc.c:647,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/altsvc.c:649,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/altsvc.c:650,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/altsvc.c:651,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/altsvc.c:654,1
    - Dst: altsvc_free
      Src: /src/PROJ/curl/lib/altsvc.c:655,1
    - Dst: hostcompare
      Src: /src/PROJ/curl/lib/altsvc.c:659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - asi
    - srcalpnid
    - srchost
    - srcport
    - dstentry
    - versions
    argTypes:
    - struct altsvcinfo*
    - enum alpnid
    - char*
    - int
    - struct altsvc**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 636
    functionDepth: 4
    functionLinenumber: 636
    functionLinenumberEnd: 668
    functionName: Curl_altsvc_lookup
    functionSourceFile: /src/PROJ/curl/lib/altsvc.c
    functionUses: 1
    functionsReached:
    - altsvc_free
    - hostcompare
    - time
    - Curl_node_remove
    - Curl_node_next
    - DEBUGASSERT
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: bool
    signature: "bool Curl_altsvc_lookup(struct altsvcinfo *asi,\n                        enum
      alpnid srcalpnid, const char *srchost,\n                        int srcport,\n
      \                       struct altsvc **dstentry,\n                        const
      int versions)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:59,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:60,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_trc.c:61,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:63,1
    - Dst: fwrite
      Src: /src/PROJ/curl/lib/curl_trc.c:72,1
    - Dst: fwrite
      Src: /src/PROJ/curl/lib/curl_trc.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - data
    - type
    - ptr
    - size
    argTypes:
    - struct Curl_easy*
    - curl_infotype
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: trc_write
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - Curl_set_in_callback
    - CURL_UNCONST
    - Curl_is_in_callback
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void trc_write(struct Curl_easy *data, curl_infotype type,\n                      const
      char *ptr, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: CURL_TRC_IDS
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_IDS(data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:104,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:106,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:109,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - buf
    - maxlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: trc_print_ids
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t trc_print_ids(struct Curl_easy *data, char *buf, size_t maxlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - len
    - maxlen
    - addnl
    argTypes:
    - char*
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: trc_end_buf
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t trc_end_buf(char *buf, size_t len, size_t maxlen, bool addnl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:141,1
    - Dst: CURL_TRC_IDS
      Src: /src/PROJ/curl/lib/curl_trc.c:143,1
    - Dst: trc_print_ids
      Src: /src/PROJ/curl/lib/curl_trc.c:144,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:145,1
    - Dst: trc_end_buf
      Src: /src/PROJ/curl/lib/curl_trc.c:147,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:148,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:150,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:153,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/curl_trc.c:154,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/curl_trc.c:156,1
    - Dst: CURL_TRC_IDS
      Src: /src/PROJ/curl/lib/curl_trc.c:165,1
    - Dst: trc_print_ids
      Src: /src/PROJ/curl/lib/curl_trc.c:166,1
    - Dst: fwrite
      Src: /src/PROJ/curl/lib/curl_trc.c:167,1
    - Dst: fwrite
      Src: /src/PROJ/curl/lib/curl_trc.c:170,1
    - Dst: fwrite
      Src: /src/PROJ/curl/lib/curl_trc.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - data
    - type
    - ptr
    - size
    argTypes:
    - struct Curl_easy*
    - curl_infotype
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 178
    functionName: Curl_debug
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 5
    functionsReached:
    - Curl_set_in_callback
    - fwrite
    - curl_msnprintf
    - CURL_TRC_IDS
    - CURL_UNCONST
    - Curl_is_in_callback
    - trc_print_ids
    - trc_end_buf
    linkageType: ''
    returnType: void
    signature: "void Curl_debug(struct Curl_easy *data, curl_infotype type,\n                const
      char *ptr, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:185,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:185,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:190,1
    - Dst: curl_mvsnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:191,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curl_trc.c:194,1
    - Dst: trc_write
      Src: /src/PROJ/curl/lib/curl_trc.c:199,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: Curl_failf
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - trc_write
    - strcpy
    - strchr
    - va_start
    - DEBUGASSERT
    - curl_mvsnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_failf(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_IDS
      Src: /src/PROJ/curl/lib/curl_trc.c:219,1
    - Dst: trc_print_ids
      Src: /src/PROJ/curl/lib/curl_trc.c:220,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:222,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:225,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:228,1
    - Dst: curl_mvsnprintf
      Src: /src/PROJ/curl/lib/curl_trc.c:230,1
    - Dst: trc_end_buf
      Src: /src/PROJ/curl/lib/curl_trc.c:231,1
    - Dst: trc_write
      Src: /src/PROJ/curl/lib/curl_trc.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - data
    - feat
    - opt_id
    - opt_id_idx
    - fmt
    - ap
    argTypes:
    - struct Curl_easy*
    - struct curl_trc_feat*
    - char*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: trc_infof
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - trc_write
    - curl_msnprintf
    - CURL_TRC_IDS
    - curl_mvsnprintf
    - trc_print_ids
    - trc_end_buf
    linkageType: ''
    returnType: void
    signature: "void trc_infof(struct Curl_easy *data,\n                      struct
      curl_trc_feat *feat,\n                      const char *opt_id, int opt_id_idx,\n
      \                     const char * const fmt, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:237,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:237,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:238,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:240,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:241,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 8
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: Curl_infof
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - va_end
    - Curl_trc_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:249,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:250,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:252,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:253,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - cf
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct Curl_cfilter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 8
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: Curl_trc_cf_infof
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - trc_infof
    - va_start
    - DEBUGASSERT
    - Curl_trc_cf_is_verbose
    linkageType: ''
    returnType: void
    signature: "void Curl_trc_cf_infof(struct Curl_easy *data, const struct Curl_cfilter
      *cf,\n                       const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curl_trc.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: trc_timer_name
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: char
    signature: char *trc_timer_name(int tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:306,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:306,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:307,1
    - Dst: trc_timer_name
      Src: /src/PROJ/curl/lib/curl_trc.c:308,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:310,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:311,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - tid
    - fmt
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 8
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: Curl_trc_timer
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_timer_name
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_timer(struct Curl_easy *data, int tid, const char *fmt,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_TIMER_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:318,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/curl_trc.c:319,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/curl_trc.c:321,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/curl_trc.c:323,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/curl_trc.c:324,1
    - Dst: CURL_TRC_TIMER
      Src: /src/PROJ/curl/lib/curl_trc.c:325,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/curl_trc.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: Curl_trc_easy_timers
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - curlx_timediff_us
    - curlx_now
    - CURL_TRC_TIMER
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    - CURL_TRC_TIMER_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_easy_timers(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curl_trc.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: Curl_trc_mstate_name
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: char
    signature: char *Curl_trc_mstate_name(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:362,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:362,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:363,1
    - Dst: Curl_trc_mstate_name
      Src: /src/PROJ/curl/lib/curl_trc.c:365,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:367,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:368,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 360
    functionDepth: 8
    functionLinenumber: 360
    functionLinenumberEnd: 371
    functionName: Curl_trc_multi
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - Curl_trc_mstate_name
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_multi(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:375,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:375,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:376,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:378,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:379,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 8
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: Curl_trc_read
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_read(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:386,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:386,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:387,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:389,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:390,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 8
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: Curl_trc_write
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_write(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:397,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:397,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:398,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:400,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:401,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 8
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: Curl_trc_dns
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_dns(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:414,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:414,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:415,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:417,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:418,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 8
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: Curl_trc_ftp
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ftp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:432,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:432,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:433,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:435,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:436,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 8
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: Curl_trc_smtp
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_smtp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:450,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:450,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:451,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:453,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:454,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 8
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: Curl_trc_ssls
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ssls(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_trc.c:468,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_trc.c:468,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/PROJ/curl/lib/curl_trc.c:469,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curl_trc.c:471,1
    - Dst: trc_infof
      Src: /src/PROJ/curl/lib/curl_trc.c:472,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curl_trc.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 8
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: Curl_trc_ws
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_end
    - Curl_trc_ft_is_verbose
    - trc_infof
    - strchr
    - va_start
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ws(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curl_trc.c:556,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:557,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curl_trc.c:562,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - token
    - lvl
    argTypes:
    - struct Curl_str*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 568
    functionName: trc_apply_level_by_name
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curlx_str_casecompare
    linkageType: ''
    returnType: void
    signature: void trc_apply_level_by_name(struct Curl_str *token, int lvl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curl_trc.c:574,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curl_trc.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - category
    - lvl
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: trc_apply_level_by_category
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void trc_apply_level_by_category(int category, int lvl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/curl_trc.c:587,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/curl_trc.c:589,1
    - Dst: curlx_str_nudge
      Src: /src/PROJ/curl/lib/curl_trc.c:593,1
    - Dst: curlx_str_nudge
      Src: /src/PROJ/curl/lib/curl_trc.c:596,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:598,1
    - Dst: trc_apply_level_by_category
      Src: /src/PROJ/curl/lib/curl_trc.c:599,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:600,1
    - Dst: trc_apply_level_by_category
      Src: /src/PROJ/curl/lib/curl_trc.c:601,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:602,1
    - Dst: trc_apply_level_by_category
      Src: /src/PROJ/curl/lib/curl_trc.c:603,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:604,1
    - Dst: trc_apply_level_by_category
      Src: /src/PROJ/curl/lib/curl_trc.c:605,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/curl_trc.c:606,1
    - Dst: trc_apply_level_by_name
      Src: /src/PROJ/curl/lib/curl_trc.c:608,1
    - Dst: trc_apply_level_by_name
      Src: /src/PROJ/curl/lib/curl_trc.c:611,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/curl_trc.c:613,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 617
    functionName: trc_opt
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - curlx_str_casecompare
    - trc_apply_level_by_name
    - curlx_str_single
    - trc_apply_level_by_category
    - curlx_str_nudge
    - curlx_str
    - curlx_str_until
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode trc_opt(const char *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trc_opt
      Src: /src/PROJ/curl/lib/curl_trc.c:621,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_trc.c:625,1
    - Dst: trc_opt
      Src: /src/PROJ/curl/lib/curl_trc.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 631
    functionName: Curl_trc_opt
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - trc_opt
    - getenv
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_trc_opt(const char *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_opt
      Src: /src/PROJ/curl/lib/curl_trc.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: Curl_trc_init
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - Curl_trc_opt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_trc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: Curl_trc_init
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_trc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: Curl_infof
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - cf
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct Curl_cfilter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: Curl_trc_cf_infof
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_trc_cf_infof(struct Curl_easy *data, const struct Curl_cfilter
      *cf,\n                       const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: Curl_trc_multi
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_multi(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: Curl_trc_write
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_write(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: Curl_trc_dns
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_dns(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - tid
    - fmt
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: Curl_trc_timer
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_timer(struct Curl_easy *data, int tid, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: Curl_trc_read
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_read(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: Curl_trc_ftp
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ftp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: Curl_trc_smtp
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_smtp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: Curl_trc_ws
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ws(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: Curl_trc_ssls
    functionSourceFile: /src/PROJ/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ssls(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/lib/escape.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - inlength
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: curl_escape
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 1
    functionsReached:
    - curl_easy_escape
    linkageType: ''
    returnType: char
    signature: char *curl_escape(const char *string, int inlength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_unescape
      Src: /src/PROJ/curl/lib/escape.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: curl_unescape
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 1
    functionsReached:
    - curl_easy_unescape
    linkageType: ''
    returnType: char
    signature: char *curl_unescape(const char *string, int length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/escape.c:69,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/escape.c:71,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/escape.c:73,1
    - Dst: ISUNRESERVED
      Src: /src/PROJ/curl/lib/escape.c:79,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/escape.c:81,1
    - Dst: Curl_hexbyte
      Src: /src/PROJ/curl/lib/escape.c:87,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/escape.c:88,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/escape.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - data
    - string
    - inlength
    argTypes:
    - CURL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: curl_easy_escape
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 11
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - ISUNRESERVED
    - Curl_hexbyte
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: "char *curl_easy_escape(CURL *data, const char *string,\n                       int
      inlength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/escape.c:119,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/escape.c:120,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/escape.c:122,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/escape.c:123,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/escape.c:134,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/escape.c:134,1
    - Dst: Curl_hexval
      Src: /src/PROJ/curl/lib/escape.c:136,1
    - Dst: Curl_hexval
      Src: /src/PROJ/curl/lib/escape.c:137,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/escape.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - string
    - length
    - ostring
    - olen
    - ctrl
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - enum urlreject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 161
    functionName: Curl_urldecode
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 7
    functionsReached:
    - Curl_hexval
    - DEBUGASSERT
    - strlen
    - Curl_safefree
    - malloc
    - ISXDIGIT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_urldecode(const char *string, size_t length,\n                        char
      **ostring, size_t *olen,\n                        enum urlreject ctrl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/escape.c:178,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/lib/escape.c:185,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/escape.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - data
    - string
    - length
    - olen
    argTypes:
    - CURL*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: curl_easy_unescape
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 5
    functionsReached:
    - curlx_uztosi
    - Curl_urldecode
    - Curl_safefree
    linkageType: ''
    returnType: char
    signature: "char *curl_easy_unescape(CURL *data, const char *string,\n                         int
      length, int *olen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/escape.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: curl_free
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 56
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void curl_free(void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/escape.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - src
    - len
    - out
    - olen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: Curl_hexencode
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_hexencode(const unsigned char *src, size_t len, /* input
      length */\n                    unsigned char *out, size_t olen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - val
    argTypes:
    - unsigned char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: Curl_hexbyte
    functionSourceFile: /src/PROJ/curl/lib/escape.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_hexbyte(unsigned char *dest, /* must fit two bytes */\n
      \                 unsigned char val)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_gssapi.c:141,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_gssapi.c:142,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_gssapi.c:148,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/curl_gssapi.c:211,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/curl_gssapi.c:217,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/curl_gssapi.c:220,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:228,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curl_gssapi.c:233,1
    - Dst: Curl_gss_alloc
      Src: /src/PROJ/curl/lib/curl_gssapi.c:237,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:239,1
    - Dst: gss_display_name
      Src: /src/PROJ/curl/lib/curl_gssapi.c:249,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/curl_gssapi.c:251,1
    - Dst: Curl_gss_free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:252,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:253,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_gssapi.c:258,1
    - Dst: Curl_gss_free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:259,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:260,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_gssapi.c:266,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/curl_gssapi.c:271,1
    - Dst: Curl_gss_free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:275,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:276,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_gssapi.c:282,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 122
    argCount: 13
    argNames:
    - min
    - initiator_cred_handle
    - context
    - target_name
    - mech_type
    - req_flags
    - time_req
    - input_chan_bindings
    - input_token
    - actual_mech_type
    - output_token
    - ret_flags
    - time_rec
    argTypes:
    - OM_uint32*
    - gss_cred_id_t
    - struct stub_gss_ctx_id_t_desc**
    - gss_name_t
    - gss_OID
    - OM_uint32
    - OM_uint32
    - gss_channel_bindings_t
    - gss_buffer_desc*
    - gss_OID*
    - gss_buffer_desc*
    - OM_uint32*
    - OM_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 102
    functionDepth: 6
    functionLinenumber: 102
    functionLinenumberEnd: 290
    functionName: stub_gss_init_sec_context
    functionSourceFile: /src/PROJ/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - getenv
    - free
    - strcpy
    - Curl_gss_alloc
    - strstr
    - strcmp
    - gss_display_name
    - Curl_gss_free
    - curl_msnprintf
    - gss_release_buffer
    - GSS_ERROR
    - memset
    - calloc
    - strlen
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 stub_gss_init_sec_context(OM_uint32 *min,\n                          gss_cred_id_t
      initiator_cred_handle,\n                          struct stub_gss_ctx_id_t_desc
      **context,\n                          gss_name_t target_name,\n                          const
      gss_OID mech_type,\n                          OM_uint32 req_flags,\n                          OM_uint32
      time_req,\n                          const gss_channel_bindings_t input_chan_bindings,\n
      \                         gss_buffer_desc *input_token,\n                          gss_OID
      *actual_mech_type,\n                          gss_buffer_desc *output_token,\n
      \                         OM_uint32 *ret_flags,\n                          OM_uint32
      *time_rec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_gssapi.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - min
    - context
    - output_token
    argTypes:
    - OM_uint32*
    - struct stub_gss_ctx_id_t_desc**
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: stub_gss_delete_sec_context
    functionSourceFile: /src/PROJ/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 stub_gss_delete_sec_context(OM_uint32 *min,\n                            struct
      stub_gss_ctx_id_t_desc **context,\n                            gss_buffer_t
      output_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_gssapi.c:339,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_gssapi.c:348,1
    - Dst: stub_gss_init_sec_context
      Src: /src/PROJ/curl/lib/curl_gssapi.c:349,1
    - Dst: gss_init_sec_context
      Src: /src/PROJ/curl/lib/curl_gssapi.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 10
    argNames:
    - data
    - minor_status
    - context
    - target_name
    - mech_type
    - input_chan_bindings
    - input_token
    - output_token
    - mutual_auth
    - ret_flags
    argTypes:
    - struct Curl_easy*
    - OM_uint32*
    - gss_ctx_id_t*
    - gss_name_t
    - gss_OID
    - gss_channel_bindings_t
    - gss_buffer_t
    - gss_buffer_t
    - bool
    - OM_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 319
    functionDepth: 7
    functionLinenumber: 319
    functionLinenumberEnd: 377
    functionName: Curl_gss_init_sec_context
    functionSourceFile: /src/PROJ/curl/lib/curl_gssapi.c
    functionUses: 1
    functionsReached:
    - gss_init_sec_context
    - getenv
    - infof
    - stub_gss_init_sec_context
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_init_sec_context(struct Curl_easy *data,\n                                    OM_uint32
      *minor_status,\n                                    gss_ctx_id_t *context,\n
      \                                   gss_name_t target_name,\n                                    gss_OID
      mech_type,\n                                    gss_channel_bindings_t input_chan_bindings,\n
      \                                   gss_buffer_t input_token,\n                                    gss_buffer_t
      output_token,\n                                    const bool mutual_auth,\n
      \                                   OM_uint32 *ret_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_gssapi.c:384,1
    - Dst: stub_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/curl_gssapi.c:385,1
    - Dst: gss_delete_sec_context
      Src: /src/PROJ/curl/lib/curl_gssapi.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - min
    - context
    - output_token
    argTypes:
    - OM_uint32*
    - gss_ctx_id_t*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: Curl_gss_delete_sec_context
    functionSourceFile: /src/PROJ/curl/lib/curl_gssapi.c
    functionUses: 1
    functionsReached:
    - getenv
    - stub_gss_delete_sec_context
    - gss_delete_sec_context
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_delete_sec_context(OM_uint32 *min,\n                                      gss_ctx_id_t
      *context,\n                                      gss_buffer_t output_token)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_display_status
      Src: /src/PROJ/curl/lib/curl_gssapi.c:402,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_gssapi.c:410,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/curl_gssapi.c:415,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/curl_gssapi.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - status
    - type
    - buf
    - len
    argTypes:
    - OM_uint32
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 394
    functionDepth: 6
    functionLinenumber: 394
    functionLinenumberEnd: 419
    functionName: display_gss_error
    functionSourceFile: /src/PROJ/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - GSS_ERROR
    - curl_msnprintf
    - gss_release_buffer
    - gss_display_status
    linkageType: ''
    returnType: size_t
    signature: "size_t display_gss_error(OM_uint32 status, int type,\n                                char
      *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: display_gss_error
      Src: /src/PROJ/curl/lib/curl_gssapi.c:440,1
    - Dst: display_gss_error
      Src: /src/PROJ/curl/lib/curl_gssapi.c:442,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_gssapi.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - prefix
    - major
    - minor
    argTypes:
    - struct Curl_easy*
    - char*
    - OM_uint32
    - OM_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 433
    functionDepth: 7
    functionLinenumber: 433
    functionLinenumberEnd: 449
    functionName: Curl_gss_log_error
    functionSourceFile: /src/PROJ/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - display_gss_error
    - infof
    linkageType: ''
    returnType: void
    signature: "void Curl_gss_log_error(struct Curl_easy *data, const char *prefix,\n
      \                       OM_uint32 major, OM_uint32 minor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psl_free
      Src: /src/PROJ/curl/lib/psl.c:42,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/psl.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pslcache
    argTypes:
    - struct PslCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: Curl_psl_destroy
    functionSourceFile: /src/PROJ/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - psl_free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void Curl_psl_destroy(struct PslCache *pslcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/psl.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: now_seconds
    functionSourceFile: /src/PROJ/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: time_t
    signature: time_t now_seconds(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/psl.c:64,1
    - Dst: now_seconds
      Src: /src/PROJ/curl/lib/psl.c:65,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/psl.c:68,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/psl.c:71,1
    - Dst: now_seconds
      Src: /src/PROJ/curl/lib/psl.c:74,1
    - Dst: psl_latest
      Src: /src/PROJ/curl/lib/psl.c:80,1
    - Dst: psl_builtin
      Src: /src/PROJ/curl/lib/psl.c:89,1
    - Dst: Curl_psl_destroy
      Src: /src/PROJ/curl/lib/psl.c:92,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/psl.c:98,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/psl.c:99,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/psl.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 105
    functionName: Curl_psl_use
    functionSourceFile: /src/PROJ/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - psl_builtin
    - Curl_share_unlock
    - Curl_share_lock
    - psl_latest
    - Curl_psl_destroy
    - now_seconds
    linkageType: ''
    returnType: psl_ctx_t
    signature: psl_ctx_t *Curl_psl_use(struct Curl_easy *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/psl.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Curl_psl_release
    functionSourceFile: /src/PROJ/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_psl_release(struct Curl_easy *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/http1.c:44,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http1.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - max_line_len
    argTypes:
    - struct h1_req_parser*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Curl_h1_req_parse_init
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 1
    functionsReached:
    - memset
    - curlx_dyn_init
    linkageType: ''
    returnType: void
    signature: void Curl_h1_req_parse_init(struct h1_req_parser *parser, size_t max_line_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_req_free
      Src: /src/PROJ/curl/lib/http1.c:52,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http1.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct h1_req_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: Curl_h1_req_parse_free
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 1
    functionsReached:
    - Curl_http_req_free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void Curl_h1_req_parse_free(struct h1_req_parser *parser)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http1.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - options
    argTypes:
    - struct h1_req_parser*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: trim_line
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode trim_line(struct h1_req_parser *parser, int options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http1.c:89,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/http1.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - parser
    - buf
    - buflen
    - err
    argTypes:
    - struct h1_req_parser*
    - char*
    - size_t
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: detect_line
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - memchr
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t detect_line(struct h1_req_parser *parser,\n                           const
      char *buf, const size_t buflen,\n                           CURLcode *err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http1.c:110,1
    - Dst: detect_line
      Src: /src/PROJ/curl/lib/http1.c:113,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http1.c:115,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http1.c:117,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http1.c:120,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http1.c:121,1
    - Dst: trim_line
      Src: /src/PROJ/curl/lib/http1.c:123,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http1.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - parser
    - buf
    - buflen
    - options
    - err
    argTypes:
    - struct h1_req_parser*
    - char*
    - size_t
    - int
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: next_line
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - detect_line
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - trim_line
    - curlx_dyn_reset
    - curlx_dyn_len
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t next_line(struct h1_req_parser *parser,\n                         const
      char *buf, const size_t buflen, int options,\n                         CURLcode
      *err)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http1.c:145,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/http1.c:147,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/http1.c:192,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http1.c:214,1
    - Dst: Curl_is_absolute_url
      Src: /src/PROJ/curl/lib/http1.c:217,1
    - Dst: curl_url
      Src: /src/PROJ/curl/lib/http1.c:220,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http1.c:230,1
    - Dst: Curl_http_req_make2
      Src: /src/PROJ/curl/lib/http1.c:243,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http1.c:248,1
    - Dst: Curl_http_req_make
      Src: /src/PROJ/curl/lib/http1.c:250,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http1.c:255,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 3
    argNames:
    - parser
    - scheme_default
    - options
    argTypes:
    - struct h1_req_parser*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 257
    functionName: start_req
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - strncmp
    - memcpy
    - curl_url
    - Curl_http_req_make2
    - Curl_is_absolute_url
    - DEBUGASSERT
    - memchr
    - strlen
    - Curl_http_req_make
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode start_req(struct h1_req_parser *parser,\n                          const
      char *scheme_default, int options)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: next_line
      Src: /src/PROJ/curl/lib/http1.c:268,1
    - Dst: start_req
      Src: /src/PROJ/curl/lib/http1.c:288,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http1.c:302,1
    - Dst: Curl_dynhds_h1_add_line
      Src: /src/PROJ/curl/lib/http1.c:306,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 6
    argNames:
    - parser
    - buf
    - buflen
    - scheme_default
    - options
    - err
    argTypes:
    - struct h1_req_parser*
    - char*
    - size_t
    - char*
    - int
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 317
    functionName: Curl_h1_req_parse_read
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_h1_add_line
    - curlx_dyn_reset
    - next_line
    - start_req
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t Curl_h1_req_parse_read(struct h1_req_parser *parser,\n                               const
      char *buf, size_t buflen,\n                               const char *scheme_default,
      int options,\n                               CURLcode *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http1.c:324,1
    - Dst: Curl_dynhds_h1_dprint
      Src: /src/PROJ/curl/lib/http1.c:334,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http1.c:338,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http1.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - req
    - http_minor
    - dbuf
    argTypes:
    - struct httpreq*
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: Curl_h1_req_write_head
    functionSourceFile: /src/PROJ/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - curlx_dyn_addn
    - Curl_dynhds_h1_dprint
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_h1_req_write_head(struct httpreq *req, int http_minor,\n
      \                               struct dynbuf *dbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: smb_swap16
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short smb_swap16(unsigned short x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: smb_swap32
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int smb_swap32(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:386,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: smb_swap64
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap32
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t smb_swap64(curl_off_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: smb_swap16
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smb_swap16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: smb_swap32
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smb_swap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: smb_swap64
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smb_swap64(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/smb.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smbc
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - enum smb_conn_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: conn_state
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void conn_state(struct Curl_easy *data, struct smb_conn *smbc,\n                       enum
      smb_conn_state newstate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smb.c:421,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/smb.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - enum smb_req_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: request_state
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: void
    signature: "void request_state(struct Curl_easy *data,\n                          enum
      smb_req_state newstate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/smb.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: smb_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void smb_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smb.c:462,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smb.c:463,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smb.c:464,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smb.c:465,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smb.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: smb_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void smb_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/smb.c:478,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/smb.c:480,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/smb.c:484,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/smb.c:486,1
    - Dst: smb_parse_url_path
      Src: /src/PROJ/curl/lib/smb.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 491
    functionName: smb_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    - smb_parse_url_path
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_setup_connection(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smb.c:496,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/smb.c:509,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/smb.c:512,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/smb.c:517,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/smb.c:520,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/smb.c:522,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/smb.c:526,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/smb.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 539
    functionName: smb_connect
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - connkeep
    - strchr
    - Curl_conn_meta_get
    - malloc
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_connect(struct Curl_easy *data, bool *done)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/smb.c:552,1
    - Dst: Curl_read16_be
      Src: /src/PROJ/curl/lib/smb.c:565,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smb.c:569,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smb.c:574,1
    - Dst: Curl_read16_le
      Src: /src/PROJ/curl/lib/smb.c:587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - data
    - smbc
    - msg
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 596
    functionName: smb_recv_message
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_recv
    - Curl_read16_le
    - failf
    - Curl_read16_be
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_recv_message(struct Curl_easy *data,\n                                 struct
      smb_conn *smbc,\n                                 void **msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - smbc
    argTypes:
    - struct smb_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: smb_pop_message
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smb_pop_message(struct smb_conn *smbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:610,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/smb.c:611,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/smb.c:613,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:616,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:617,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:618,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:619,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - smbc
    - req
    - h
    - cmd
    - len
    argTypes:
    - struct smb_conn*
    - struct smb_request*
    - struct smb_header*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 621
    functionName: smb_format_message
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - memset
    - htons
    - memcpy
    - smb_swap16
    linkageType: ''
    returnType: void
    signature: "void smb_format_message(struct smb_conn *smbc,\n                               struct
      smb_request *req,\n                               struct smb_header *h,\n                               unsigned
      char cmd, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/smb.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - data
    - smbc
    - len
    - upload_size
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 641
    functionName: smb_send
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send(struct Curl_easy *data, struct smb_conn *smbc,\n
      \                        size_t len, size_t upload_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/smb.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - smbc
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 663
    functionName: smb_flush
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_flush(struct Curl_easy *data, struct smb_conn *smbc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smb_format_message
      Src: /src/PROJ/curl/lib/smb.c:671,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smb.c:674,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/smb.c:677,1
    - Dst: smb_send
      Src: /src/PROJ/curl/lib/smb.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - data
    - smbc
    - req
    - cmd
    - msg
    - msg_len
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    - unsigned char
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 680
    functionName: smb_send_message
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send
    - smb_format_message
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_message(struct Curl_easy *data,\n                                 struct
      smb_conn *smbc,\n                                 struct smb_request *req,\n
      \                                unsigned char cmd,\n                                 const
      void *msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 4
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: smb_send_negotiate
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_negotiate(struct Curl_easy *data,\n                                   struct
      smb_conn *smbc,\n                                   struct smb_request *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smb.c:694,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smb.c:695,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:708,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:708,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:709,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:709,1
    - Dst: Curl_ntlm_core_mk_lm_hash
      Src: /src/PROJ/curl/lib/smb.c:713,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/PROJ/curl/lib/smb.c:714,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/PROJ/curl/lib/smb.c:715,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/PROJ/curl/lib/smb.c:716,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:718,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:721,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:722,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:723,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:724,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:725,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:726,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:727,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/smb.c:728,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/smb.c:730,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/smb.c:732,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smb.c:739,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:740,1
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 744
    functionName: smb_send_setup
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_message
    - memcpy
    - smb_swap32
    - Curl_meta_get
    - curl_msnprintf
    - Curl_conn_meta_get
    - memset
    - Curl_ntlm_core_mk_lm_hash
    - strlen
    - Curl_ntlm_core_mk_nt_hash
    - smb_swap16
    - DEBUGASSERT
    - Curl_ntlm_core_lm_resp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_send_setup(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:753,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:753,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:754,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:759,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/smb.c:764,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/smb.c:770,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:771,1
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 775
    functionName: smb_send_tree_connect
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_message
    - curl_msnprintf
    - memset
    - DEBUGASSERT
    - strlen
    - smb_swap16
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_tree_connect(struct Curl_easy *data,\n                                      struct
      smb_conn *smbc,\n                                      struct smb_request *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/smb.c:782,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:787,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:790,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:791,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:793,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:794,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:797,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:798,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:800,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/smb.c:801,1
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: smb_send_open
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_message
    - strcpy
    - smb_swap32
    - memset
    - strlen
    - smb_swap16
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_open(struct Curl_easy *data,\n                              struct
      smb_conn *smbc,\n                              struct smb_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:813,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:815,1
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 818
    functionName: smb_send_close
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - memset
    - smb_send_message
    - smb_swap16
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_close(struct Curl_easy *data,\n                               struct
      smb_conn *smbc,\n                               struct smb_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:825,1
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: smb_send_tree_disconnect
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - memset
    - smb_send_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_tree_disconnect(struct Curl_easy *data,\n                                         struct
      smb_conn *smbc,\n                                         struct smb_request
      *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:837,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:840,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:841,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:842,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:843,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:844,1
    - Dst: smb_send_message
      Src: /src/PROJ/curl/lib/smb.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 830
    functionDepth: 4
    functionLinenumber: 830
    functionLinenumberEnd: 848
    functionName: smb_send_read
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap32
    - memset
    - smb_send_message
    - smb_swap16
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_read(struct Curl_easy *data,\n                              struct
      smb_conn *smbc,\n                              struct smb_request *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/smb.c:862,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:865,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:866,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:867,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:868,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:869,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:870,1
    - Dst: smb_format_message
      Src: /src/PROJ/curl/lib/smb.c:872,1
    - Dst: smb_send
      Src: /src/PROJ/curl/lib/smb.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 876
    functionName: smb_send_write
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_format_message
    - smb_swap32
    - memset
    - smb_swap16
    - smb_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_write(struct Curl_easy *data,\n                               struct
      smb_conn *smbc,\n                               struct smb_request *req)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_read
      Src: /src/PROJ/curl/lib/smb.c:890,1
    - Dst: smb_flush
      Src: /src/PROJ/curl/lib/smb.c:903,1
    - Dst: smb_recv_message
      Src: /src/PROJ/curl/lib/smb.c:912,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - data
    - smbc
    - msg
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 878
    functionDepth: 6
    functionLinenumber: 878
    functionLinenumberEnd: 913
    functionName: smb_send_and_recv
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_flush
    - Curl_client_read
    - smb_recv_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_and_recv(struct Curl_easy *data,\n                                  struct
      smb_conn *smbc, void **msg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smb.c:918,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smb.c:919,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/smb.c:930,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/smb.c:932,1
    - Dst: smb_send_negotiate
      Src: /src/PROJ/curl/lib/smb.c:940,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:942,1
    - Dst: conn_state
      Src: /src/PROJ/curl/lib/smb.c:946,1
    - Dst: smb_send_and_recv
      Src: /src/PROJ/curl/lib/smb.c:950,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:952,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:965,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/smb.c:975,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:979,1
    - Dst: smb_send_setup
      Src: /src/PROJ/curl/lib/smb.c:980,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:982,1
    - Dst: conn_state
      Src: /src/PROJ/curl/lib/smb.c:985,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:990,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:993,1
    - Dst: conn_state
      Src: /src/PROJ/curl/lib/smb.c:994,1
    - Dst: smb_pop_message
      Src: /src/PROJ/curl/lib/smb.c:999,1
    - Dst: smb_pop_message
      Src: /src/PROJ/curl/lib/smb.c:1003,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 915
    functionDepth: 7
    functionLinenumber: 915
    functionLinenumberEnd: 1006
    functionName: smb_connection_state
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_negotiate
    - memcpy
    - smb_pop_message
    - Curl_conn_is_ssl
    - Curl_conn_connect
    - Curl_meta_get
    - smb_swap32
    - smb_send_and_recv
    - smb_send_setup
    - connclose
    - Curl_conn_meta_get
    - smb_swap16
    - conn_state
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_connection_state(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - out
    - timestamp
    argTypes:
    - time_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: get_posix_time
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_posix_time(time_t *out, curl_off_t timestamp)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smb.c:1033,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/smb.c:1034,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smb.c:1047,1
    - Dst: smb_send_tree_connect
      Src: /src/PROJ/curl/lib/smb.c:1053,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:1055,1
    - Dst: request_state
      Src: /src/PROJ/curl/lib/smb.c:1059,1
    - Dst: smb_send_and_recv
      Src: /src/PROJ/curl/lib/smb.c:1063,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:1065,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:1078,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:1082,1
    - Dst: smb_swap32
      Src: /src/PROJ/curl/lib/smb.c:1089,1
    - Dst: smb_swap16
      Src: /src/PROJ/curl/lib/smb.c:1095,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/smb.c:1099,1
    - Dst: smb_swap64
      Src: /src/PROJ/curl/lib/smb.c:1103,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/smb.c:1109,1
    - Dst: get_posix_time
      Src: /src/PROJ/curl/lib/smb.c:1111,1
    - Dst: Curl_read16_le
      Src: /src/PROJ/curl/lib/smb.c:1123,1
    - Dst: Curl_read16_le
      Src: /src/PROJ/curl/lib/smb.c:1125,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smb.c:1129,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/smb.c:1133,1
    - Dst: Curl_read16_le
      Src: /src/PROJ/curl/lib/smb.c:1152,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/smb.c:1156,1
    - Dst: smb_pop_message
      Src: /src/PROJ/curl/lib/smb.c:1173,1
    - Dst: smb_pop_message
      Src: /src/PROJ/curl/lib/smb.c:1177,1
    - Dst: smb_send_open
      Src: /src/PROJ/curl/lib/smb.c:1181,1
    - Dst: smb_send_read
      Src: /src/PROJ/curl/lib/smb.c:1185,1
    - Dst: smb_send_write
      Src: /src/PROJ/curl/lib/smb.c:1189,1
    - Dst: smb_send_close
      Src: /src/PROJ/curl/lib/smb.c:1193,1
    - Dst: smb_send_tree_disconnect
      Src: /src/PROJ/curl/lib/smb.c:1197,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/smb.c:1210,1
    - Dst: request_state
      Src: /src/PROJ/curl/lib/smb.c:1214,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1030
    functionDepth: 7
    functionLinenumber: 1030
    functionLinenumberEnd: 1217
    functionName: smb_request_state
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_read
    - failf
    - smb_pop_message
    - Curl_read16_le
    - Curl_pgrsSetUploadCounter
    - request_state
    - Curl_client_write
    - smb_send_and_recv
    - smb_send_open
    - Curl_conn_meta_get
    - Curl_pgrsSetDownloadSize
    - smb_swap32
    - smb_send_tree_connect
    - connclose
    - Curl_pgrsSetUploadSize
    - smb_swap64
    - smb_send_tree_disconnect
    - get_posix_time
    - Curl_meta_get
    - smb_send_write
    - smb_swap16
    - smb_send_close
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_request_state(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_inout
      Src: /src/PROJ/curl/lib/smb.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: smb_pollset
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_inout
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_pollset(struct Curl_easy *data,\n                            struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/smb.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1236
    functionName: smb_do
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_do(struct Curl_easy *data, bool *done)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/smb.c:1247,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/smb.c:1252,1
    - Dst: free
      Src: /src/PROJ/curl/lib/smb.c:1253,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/smb.c:1257,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/smb.c:1259,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/smb.c:1263,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/smb.c:1264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1278
    functionName: smb_parse_url_path
    functionSourceFile: /src/PROJ/curl/lib/smb.c
    functionUses: 1
    functionsReached:
    - free
    - failf
    - strchr
    - Curl_urldecode
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_parse_url_path(struct Curl_easy *data,\n                                   struct
      smb_conn *smbc,\n                                   struct smb_request *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/progress.c:43,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/progress.c:50,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/progress.c:59,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/progress.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - r
    - seconds
    argTypes:
    - char*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: time2str
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curl_msnprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: void time2str(char *r, curl_off_t seconds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/progress.c:74,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/progress.c:82,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/progress.c:89,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/progress.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - bytes
    - max6
    argTypes:
    - curl_off_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: max6data
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *max6data(curl_off_t bytes, char *max6)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/progress.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/progress.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: Curl_pgrsDone
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - Curl_pgrsUpdate
    linkageType: ''
    returnType: int
    signature: int Curl_pgrsDone(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/progress.c:135,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/progress.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: Curl_pgrsResetTransferSizes
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 2
    functionsReached:
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsResetTransferSizes(struct Curl_easy *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/progress.c:167,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/progress.c:203,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/progress.c:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - data
    - timer
    - timestamp
    argTypes:
    - struct Curl_easy*
    - timerid
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 214
    functionName: Curl_pgrsTimeWas
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curlx_timediff_us
    linkageType: ''
    returnType: void
    signature: "void Curl_pgrsTimeWas(struct Curl_easy *data, timerid timer,\n                      struct
      curltime timestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/progress.c:225,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/PROJ/curl/lib/progress.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - timer
    argTypes:
    - struct Curl_easy*
    - timerid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: Curl_pgrsTime
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 7
    functionsReached:
    - Curl_pgrsTimeWas
    - curlx_now
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime Curl_pgrsTime(struct Curl_easy *data, timerid timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/progress.c:235,1
    - Dst: Curl_ratelimit
      Src: /src/PROJ/curl/lib/progress.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: Curl_pgrsStartNow
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 2
    functionsReached:
    - Curl_ratelimit
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsStartNow(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff_ceil
      Src: /src/PROJ/curl/lib/progress.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - d
    - bytes_per_sec
    - now
    argTypes:
    - struct pgrs_dir*
    - curl_off_t
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: Curl_pgrsLimitWaitTime
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - curlx_timediff_ceil
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_pgrsLimitWaitTime(struct pgrs_dir *d,\n                                  curl_off_t
      bytes_per_sec,\n                                  struct curltime now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: Curl_pgrsSetDownloadCounter
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/progress.c:321,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/progress.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - now
    argTypes:
    - struct Curl_easy*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: Curl_ratelimit
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curlx_timediff
    linkageType: ''
    returnType: void
    signature: void Curl_ratelimit(struct Curl_easy *data, struct curltime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: Curl_pgrsSetUploadCounter
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsSetUploadCounter(struct Curl_easy *data, curl_off_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: Curl_pgrsSetDownloadSize
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsSetDownloadSize(struct Curl_easy *data, curl_off_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: Curl_pgrsSetUploadSize
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sent
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: Curl_pgrsEarlyData
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsEarlyData(struct Curl_easy *data, curl_off_t sent)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - size
    - us
    argTypes:
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: trspeed
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t trspeed(curl_off_t size, /* number of bytes */\n                          curl_off_t
      us)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/progress.c:394,1
    - Dst: trspeed
      Src: /src/PROJ/curl/lib/progress.c:395,1
    - Dst: trspeed
      Src: /src/PROJ/curl/lib/progress.c:396,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/progress.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - data
    - now
    argTypes:
    - struct Curl_easy*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 457
    functionName: progress_calc
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - trspeed
    - curlx_timediff
    - curlx_timediff_us
    linkageType: ''
    returnType: bool
    signature: bool progress_calc(struct Curl_easy *data, struct curltime now)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - total
    - cur
    argTypes:
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: pgrs_est_percent
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t pgrs_est_percent(curl_off_t total, curl_off_t cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pgrs_est_percent
      Src: /src/PROJ/curl/lib/progress.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - d
    - total_known
    - est
    argTypes:
    - struct pgrs_dir*
    - bool
    - struct pgrs_estimate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: pgrs_estimates
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - pgrs_est_percent
    linkageType: ''
    returnType: void
    signature: "void pgrs_estimates(struct pgrs_dir *d,\n                           bool
      total_known,\n                           struct pgrs_estimate *est)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/progress.c:504,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/progress.c:508,1
    - Dst: pgrs_estimates
      Src: /src/PROJ/curl/lib/progress.c:517,1
    - Dst: pgrs_estimates
      Src: /src/PROJ/curl/lib/progress.c:518,1
    - Dst: CURLMAX
      Src: /src/PROJ/curl/lib/progress.c:521,1
    - Dst: time2str
      Src: /src/PROJ/curl/lib/progress.c:523,1
    - Dst: time2str
      Src: /src/PROJ/curl/lib/progress.c:524,1
    - Dst: time2str
      Src: /src/PROJ/curl/lib/progress.c:525,1
    - Dst: pgrs_est_percent
      Src: /src/PROJ/curl/lib/progress.c:544,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/progress.c:546,1
    - Dst: max6data
      Src: /src/PROJ/curl/lib/progress.c:552,1
    - Dst: max6data
      Src: /src/PROJ/curl/lib/progress.c:554,1
    - Dst: max6data
      Src: /src/PROJ/curl/lib/progress.c:556,1
    - Dst: max6data
      Src: /src/PROJ/curl/lib/progress.c:557,1
    - Dst: max6data
      Src: /src/PROJ/curl/lib/progress.c:558,1
    - Dst: max6data
      Src: /src/PROJ/curl/lib/progress.c:562,1
    - Dst: fflush
      Src: /src/PROJ/curl/lib/progress.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 487
    functionDepth: 7
    functionLinenumber: 487
    functionLinenumberEnd: 567
    functionName: progress_meter
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 2
    functionsReached:
    - time2str
    - CURLMAX
    - curl_mfprintf
    - pgrs_est_percent
    - max6data
    - fflush
    - pgrs_estimates
    linkageType: ''
    returnType: void
    signature: void progress_meter(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: progress_meter
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: progress_meter(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/progress.c:584,1
    - Dst: struct Curl_easy*::set::fxferinfo
      Src: /src/PROJ/curl/lib/progress.c:585,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/progress.c:590,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/progress.c:593,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/progress.c:600,1
    - Dst: struct Curl_easy*::set::fprogress
      Src: /src/PROJ/curl/lib/progress.c:601,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/progress.c:606,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/progress.c:609,1
    - Dst: progress_meter
      Src: /src/PROJ/curl/lib/progress.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - data
    - showprogress
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 619
    functionName: pgrsupdate
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::set::fxferinfo
    - progress_meter
    - Curl_set_in_callback
    - failf
    - struct Curl_easy*::set::fprogress
    linkageType: ''
    returnType: int
    signature: int pgrsupdate(struct Curl_easy *data, bool showprogress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/progress.c:623,1
    - Dst: progress_calc
      Src: /src/PROJ/curl/lib/progress.c:624,1
    - Dst: pgrsupdate
      Src: /src/PROJ/curl/lib/progress.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: Curl_pgrsUpdate
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 7
    functionsReached:
    - progress_calc
    - pgrsupdate
    - curlx_now
    linkageType: ''
    returnType: int
    signature: int Curl_pgrsUpdate(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/progress.c:633,1
    - Dst: progress_calc
      Src: /src/PROJ/curl/lib/progress.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: Curl_pgrsUpdate_nometer
    functionSourceFile: /src/PROJ/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - progress_calc
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsUpdate_nometer(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:81,1
    - Dst: GetInterface
      Src: /src/PROJ/curl/lib/amigaos.c:84,1
    - Dst: SocketBaseTags
      Src: /src/PROJ/curl/lib/amigaos.c:88,1
    - Dst: SBTM_SETVAL
      Src: /src/PROJ/curl/lib/amigaos.c:88,1
    - Dst: SBTM_GETREF
      Src: /src/PROJ/curl/lib/amigaos.c:89,1
    - Dst: atexit
      Src: /src/PROJ/curl/lib/amigaos.c:98,1
    - Dst: CloseLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: Curl_amiga_init
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - atexit
    - OpenLibrary
    - SBTM_GETREF
    - SBTM_SETVAL
    - CloseLibrary
    - GetInterface
    - SocketBaseTags
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_amiga_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DropInterface
      Src: /src/PROJ/curl/lib/amigaos.c:112,1
    - Dst: CloseLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Curl_amiga_cleanup
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - DropInterface
    - CloseLibrary
    linkageType: ''
    returnType: void
    signature: void Curl_amiga_cleanup(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/amigaos.c:138,1
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/lib/amigaos.c:140,1
    - Dst: Curl_he2ai
      Src: /src/PROJ/curl/lib/amigaos.c:145,1
    - Dst: free
      Src: /src/PROJ/curl/lib/amigaos.c:147,1
    - Dst: OpenLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:155,1
    - Dst: GetInterface
      Src: /src/PROJ/curl/lib/amigaos.c:157,1
    - Dst: gethostbyname
      Src: /src/PROJ/curl/lib/amigaos.c:159,1
    - Dst: Curl_he2ai
      Src: /src/PROJ/curl/lib/amigaos.c:161,1
    - Dst: DropInterface
      Src: /src/PROJ/curl/lib/amigaos.c:163,1
    - Dst: CloseLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:165,1
    - Dst: gethostbyname
      Src: /src/PROJ/curl/lib/amigaos.c:169,1
    - Dst: Curl_he2ai
      Src: /src/PROJ/curl/lib/amigaos.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 177
    functionName: Curl_ipv4_resolve_r
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 0
    functionsReached:
    - OpenLibrary
    - gethostbyname_r
    - free
    - DropInterface
    - gethostbyname
    - calloc
    - CloseLibrary
    - Curl_he2ai
    - GetInterface
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname,\n
      \                                         int port)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitSelect
      Src: /src/PROJ/curl/lib/amigaos.c:185,1
    - Dst: raise
      Src: /src/PROJ/curl/lib/amigaos.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - errorfds
    - timeout
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: Curl_amiga_select
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 0
    functionsReached:
    - raise
    - WaitSelect
    linkageType: ''
    returnType: int
    signature: "int Curl_amiga_select(int nfds, fd_set *readfds, fd_set *writefds,\n
      \                     fd_set *errorfds, struct timeval *timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: CURL_AMIGA_REQUEST
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AMIGA_REQUEST(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: CURL_AMIGA_REQUEST
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AMIGA_REQUEST(msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: Curl_amiga_cleanup
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - CloseLibrary
    linkageType: ''
    returnType: void
    signature: void Curl_amiga_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenLibrary
      Src: /src/PROJ/curl/lib/amigaos.c:218,1
    - Dst: CURL_AMIGA_REQUEST
      Src: /src/PROJ/curl/lib/amigaos.c:221,1
    - Dst: SocketBaseTags
      Src: /src/PROJ/curl/lib/amigaos.c:225,1
    - Dst: SBTM_SETVAL
      Src: /src/PROJ/curl/lib/amigaos.c:225,1
    - Dst: SBTC_ERRNOPTR
      Src: /src/PROJ/curl/lib/amigaos.c:225,1
    - Dst: SBTM_SETVAL
      Src: /src/PROJ/curl/lib/amigaos.c:226,1
    - Dst: CURL_AMIGA_REQUEST
      Src: /src/PROJ/curl/lib/amigaos.c:228,1
    - Dst: atexit
      Src: /src/PROJ/curl/lib/amigaos.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: Curl_amiga_init
    functionSourceFile: /src/PROJ/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - OpenLibrary
    - CURL_AMIGA_REQUEST
    - SBTM_SETVAL
    - SBTC_ERRNOPTR
    - atexit
    - SocketBaseTags
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_amiga_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: SIGPIPE_VARIABLE
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGPIPE_VARIABLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: SIGPIPE_MEMBER
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGPIPE_MEMBER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/sigpipe.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ig
    argTypes:
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: sigpipe_init
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sigpipe_init(struct sigpipe_ignore *ig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/PROJ/curl/lib/sigpipe.h:60,1
    - Dst: sigaction
      Src: /src/PROJ/curl/lib/sigpipe.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - ig
    argTypes:
    - struct Curl_easy*
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: sigpipe_ignore
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 2
    functionsReached:
    - sigaction
    linkageType: ''
    returnType: void
    signature: "void sigpipe_ignore(struct Curl_easy *data,\n                           struct
      sigpipe_ignore *ig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/PROJ/curl/lib/sigpipe.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ig
    argTypes:
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sigpipe_restore
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 5
    functionsReached:
    - sigaction
    linkageType: ''
    returnType: void
    signature: void sigpipe_restore(struct sigpipe_ignore *ig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/sigpipe.h:84,1
    - Dst: sigpipe_ignore
      Src: /src/PROJ/curl/lib/sigpipe.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - ig
    argTypes:
    - struct Curl_easy*
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sigpipe_apply
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached:
    - sigpipe_restore
    - sigpipe_ignore
    linkageType: ''
    returnType: void
    signature: "void sigpipe_apply(struct Curl_easy *data,\n                          struct
      sigpipe_ignore *ig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: sigpipe_ignore
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_ignore(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: sigpipe_apply
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_apply(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: sigpipe_init
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_init(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: sigpipe_restore
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_restore(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: SIGPIPE_MEMBER
    functionSourceFile: /src/PROJ/curl/lib/sigpipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGPIPE_MEMBER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_threads.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: curl_thread_create_thunk
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void *curl_thread_create_thunk(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curl_threads.c:61,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curl_threads.c:62,1
    - Dst: pthread_create
      Src: /src/PROJ/curl/lib/curl_threads.c:70,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curl_threads.c:72,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_threads.c:79,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_threads.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: Curl_thread_create
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - malloc
    - CURL_SETERRNO
    - pthread_create
    - free
    linkageType: ''
    returnType: curl_thread_t
    signature: "curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T\n                                 (CURL_STDCALL
      *func) (void *), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_detach
      Src: /src/PROJ/curl/lib/curl_threads.c:87,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_threads.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: Curl_thread_destroy
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_detach
    linkageType: ''
    returnType: void
    signature: void Curl_thread_destroy(curl_thread_t *hnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/PROJ/curl/lib/curl_threads.c:95,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_threads.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Curl_thread_join
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int Curl_thread_join(curl_thread_t *hnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/PROJ/curl/lib/curl_threads.c:108,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/curl_threads.c:110,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curl_threads.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: Curl_thread_create
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - CURL_SETERRNO
    - CreateThread
    - GetLastError
    linkageType: ''
    returnType: curl_thread_t
    signature: "curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T\n                                 (CURL_STDCALL
      *func) (void *), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/PROJ/curl/lib/curl_threads.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: Curl_thread_destroy
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void Curl_thread_destroy(curl_thread_t *hnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/PROJ/curl/lib/curl_threads.c:132,1
    - Dst: WaitForSingleObjectEx
      Src: /src/PROJ/curl/lib/curl_threads.c:134,1
    - Dst: Curl_thread_destroy
      Src: /src/PROJ/curl/lib/curl_threads.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: Curl_thread_join
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - WaitForSingleObject
    - Curl_thread_destroy
    - WaitForSingleObjectEx
    linkageType: ''
    returnType: int
    signature: int Curl_thread_join(curl_thread_t *hnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-spbset.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Curl_uint_spbset_init
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_spbset_init(struct uint_spbset *bset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:50,1
    - Dst: Curl_uint_spbset_clear
      Src: /src/PROJ/curl/lib/uint-spbset.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Curl_uint_spbset_destroy
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - Curl_uint_spbset_clear
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_uint_spbset_destroy(struct uint_spbset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_POPCOUNT64
      Src: /src/PROJ/curl/lib/uint-spbset.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: Curl_uint_spbset_count
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - CURL_POPCOUNT64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_spbset_count(struct uint_spbset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: Curl_uint_spbset_empty
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_empty(struct uint_spbset *bset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/uint-spbset.c:88,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-spbset.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: Curl_uint_spbset_clear
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - memset
    - free
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_uint_spbset_clear(struct uint_spbset *bset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/uint-spbset.c:119,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/uint-spbset.c:128,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-spbset.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - bset
    - i
    - grow
    argTypes:
    - struct uint_spbset*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 134
    functionName: uint_spbset_get_chunk
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached:
    - memset
    - calloc
    - memcpy
    linkageType: ''
    returnType: struct uint_spbset_chunk
    signature: 'struct uint_spbset_chunk *

      uint_spbset_get_chunk(struct uint_spbset *bset, unsigned int i, bool grow)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_get_chunk
      Src: /src/PROJ/curl/lib/uint-spbset.c:142,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:146,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_spbset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: Curl_uint_spbset_add
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - uint_spbset_get_chunk
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_add(struct uint_spbset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_get_chunk
      Src: /src/PROJ/curl/lib/uint-spbset.c:159,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:161,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_spbset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: Curl_uint_spbset_remove
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - uint_spbset_get_chunk
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_uint_spbset_remove(struct uint_spbset *bset, unsigned int
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_get_chunk
      Src: /src/PROJ/curl/lib/uint-spbset.c:174,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:176,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-spbset.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_spbset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: Curl_uint_spbset_contains
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - uint_spbset_get_chunk
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_contains(struct uint_spbset *bset, unsigned int
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-spbset.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bset
    - pfirst
    argTypes:
    - struct uint_spbset*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: Curl_uint_spbset_first
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_first(struct uint_spbset *bset, unsigned int
      *pfirst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-spbset.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - chunk
    - pfirst
    argTypes:
    - struct uint_spbset_chunk*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: uint_spbset_chunk_first
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: "bool uint_spbset_chunk_first(struct uint_spbset_chunk *chunk,\n                                    unsigned
      int *pfirst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-spbset.c:229,1
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-spbset.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - chunk
    - last
    - pnext
    argTypes:
    - struct uint_spbset_chunk*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: uint_spbset_chunk_next
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: "bool uint_spbset_chunk_next(struct uint_spbset_chunk *chunk,\n                                   unsigned
      int last,\n                                   unsigned int *pnext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_chunk_next
      Src: /src/PROJ/curl/lib/uint-spbset.c:262,1
    - Dst: uint_spbset_chunk_first
      Src: /src/PROJ/curl/lib/uint-spbset.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - bset
    - last
    - pnext
    argTypes:
    - struct uint_spbset*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 275
    functionName: Curl_uint_spbset_next
    functionSourceFile: /src/PROJ/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - uint_spbset_chunk_first
    - uint_spbset_chunk_next
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_spbset_next(struct uint_spbset *bset, unsigned int
      last,\n                           unsigned int *pnext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/PROJ/curl/lib/http_negotiate.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - neg_ctx
    - proxy
    argTypes:
    - struct connectdata*
    - struct negotiatedata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: http_auth_nego_reset
    functionSourceFile: /src/PROJ/curl/lib/http_negotiate.c
    functionUses: 0
    functionsReached:
    - Curl_auth_cleanup_spnego
    linkageType: ''
    returnType: void
    signature: "void http_auth_nego_reset(struct connectdata *conn,\n                                 struct
      negotiatedata *neg_ctx,\n                                 bool proxy)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_nego_get
      Src: /src/PROJ/curl/lib/http_negotiate.c:92,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_negotiate.c:104,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_negotiate.c:105,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_negotiate.c:107,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_negotiate.c:111,1
    - Dst: http_auth_nego_reset
      Src: /src/PROJ/curl/lib/http_negotiate.c:112,1
    - Dst: http_auth_nego_reset
      Src: /src/PROJ/curl/lib/http_negotiate.c:117,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_negotiate.c:129,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/http_negotiate.c:130,1
    - Dst: Curl_ssl_get_channel_binding
      Src: /src/PROJ/curl/lib/http_negotiate.c:131,1
    - Dst: http_auth_nego_reset
      Src: /src/PROJ/curl/lib/http_negotiate.c:134,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http_negotiate.c:139,1
    - Dst: Curl_auth_decode_spnego_message
      Src: /src/PROJ/curl/lib/http_negotiate.c:144,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http_negotiate.c:148,1
    - Dst: http_auth_nego_reset
      Src: /src/PROJ/curl/lib/http_negotiate.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 4
    argNames:
    - data
    - conn
    - proxy
    - header
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 155
    functionName: Curl_input_negotiate
    functionSourceFile: /src/PROJ/curl/lib/http_negotiate.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_auth_nego_get
    - Curl_ssl_get_channel_binding
    - curlx_str_passblanks
    - curlx_dyn_init
    - Curl_conn_is_ssl
    - Curl_auth_decode_spnego_message
    - http_auth_nego_reset
    - curlx_dyn_free
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_input_negotiate(struct Curl_easy *data, struct connectdata
      *conn,\n                              bool proxy, const char *header)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_nego_get
      Src: /src/PROJ/curl/lib/http_negotiate.c:180,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_negotiate.c:201,1
    - Dst: http_auth_nego_reset
      Src: /src/PROJ/curl/lib/http_negotiate.c:203,1
    - Dst: Curl_input_negotiate
      Src: /src/PROJ/curl/lib/http_negotiate.c:206,1
    - Dst: Curl_auth_create_spnego_message
      Src: /src/PROJ/curl/lib/http_negotiate.c:217,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_negotiate.c:221,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_negotiate.c:226,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_negotiate.c:231,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_negotiate.c:235,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 3
    argNames:
    - data
    - conn
    - proxy
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 266
    functionName: Curl_output_negotiate
    functionSourceFile: /src/PROJ/curl/lib/http_negotiate.c
    functionUses: 1
    functionsReached:
    - infof
    - free
    - Curl_auth_nego_get
    - curl_maprintf
    - Curl_input_negotiate
    - http_auth_nego_reset
    - Curl_auth_create_spnego_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_output_negotiate(struct Curl_easy *data,\n                               struct
      connectdata *conn, bool proxy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitSecurityInterfaceW
      Src: /src/PROJ/curl/lib/curl_sspi.c:66,1
    - Dst: InitSecurityInterface
      Src: /src/PROJ/curl/lib/curl_sspi.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: Curl_sspi_global_init
    functionSourceFile: /src/PROJ/curl/lib/curl_sspi.c
    functionUses: 2
    functionsReached:
    - InitSecurityInterfaceW
    - InitSecurityInterface
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sspi_global_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: Curl_sspi_global_cleanup
    functionSourceFile: /src/PROJ/curl/lib/curl_sspi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_sspi_global_cleanup(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/curl_sspi.c:116,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_sspi.c:119,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/curl_sspi.c:121,1
    - Dst: _tcschr
      Src: /src/PROJ/curl/lib/curl_sspi.c:125,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/curl_sspi.c:125,1
    - Dst: _tcschr
      Src: /src/PROJ/curl/lib/curl_sspi.c:127,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/curl_sspi.c:127,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/curl_sspi.c:136,1
    - Dst: Curl_tcsdup
      Src: /src/PROJ/curl/lib/curl_sspi.c:141,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:143,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/curl_sspi.c:147,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/curl_sspi.c:147,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curl_sspi.c:151,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:153,1
    - Dst: _tcsncpy
      Src: /src/PROJ/curl/lib/curl_sspi.c:156,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/curl_sspi.c:157,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/curl_sspi.c:159,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:162,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/curl_sspi.c:165,1
    - Dst: Curl_tcsdup
      Src: /src/PROJ/curl/lib/curl_sspi.c:168,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:170,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/curl_sspi.c:174,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/curl_sspi.c:174,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 3
    argNames:
    - userp
    - passwdp
    - identity
    argTypes:
    - char*
    - char*
    - SEC_WINNT_AUTH_IDENTITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 188
    functionName: Curl_create_sspi_identity
    functionSourceFile: /src/PROJ/curl/lib/curl_sspi.c
    functionUses: 0
    functionsReached:
    - _tcsncpy
    - curlx_uztoul
    - memset
    - curlx_convert_UTF8_to_tchar
    - _tcslen
    - _tcschr
    - Curl_tcsdup
    - malloc
    - curlx_unicodefree
    - TEXT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_create_sspi_identity(const char *userp, const char *passwdp,\n
      \                                  SEC_WINNT_AUTH_IDENTITY *identity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:202,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:203,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/curl_sspi.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - identity
    argTypes:
    - SEC_WINNT_AUTH_IDENTITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: Curl_sspi_free_identity
    functionSourceFile: /src/PROJ/curl/lib/curl_sspi.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_sspi_free_identity(SEC_WINNT_AUTH_IDENTITY *identity)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/socks.c:140,1
    - Dst: SOCKET_READABLE
      Src: /src/PROJ/curl/lib/socks.c:147,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/socks.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 166
    functionName: Curl_blockread_all
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 2
    functionsReached:
    - Curl_timeleft
    - Curl_conn_cf_recv
    - SOCKET_READABLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_blockread_all(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            char *buf,             /* store
      read data here */\n                            size_t blen,           /* space
      in buf */\n                            size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - c
    - ','
    - d
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: sxstate
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sxstate(x,c,d,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - c
    - ','
    - d
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: sxstate
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sxstate(x,c,d,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sx
    - cf
    - data
    - state
    - lineno
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - enum socks_state_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 200
    functionName: socksstate
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void socksstate(struct socks_state *sx,\n                       struct
      Curl_cfilter *cf,\n                       struct Curl_easy *data,\n                       enum
      socks_state_t state\n#ifdef DEBUG_AND_VERBOSE\n                       , int
      lineno\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - presult
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - CURLproxycode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: socks_failed
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - sxstate
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks_failed(struct socks_state *sx,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 CURLproxycode presult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/socks.c:221,1
    - Dst: Curl_cf_send_bufq
      Src: /src/PROJ/curl/lib/socks.c:222,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:227,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/socks.c:228,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: socks_flush
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_failed
    - failf
    - Curl_bufq_is_empty
    - curl_easy_strerror
    - Curl_cf_send_bufq
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks_flush(struct socks_state *sx,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/socks.c:246,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/PROJ/curl/lib/socks.c:247,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/socks.c:248,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:253,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/socks.c:254,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/socks.c:258,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - sx
    - cf
    - data
    - min_bytes
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: socks_recv
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - Curl_bufq_len
    - failf
    - Curl_cf_recv_bufq
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks_recv(struct socks_state *sx,\n                                struct
      Curl_cfilter *cf,\n                                struct Curl_easy *data,\n
      \                               size_t min_bytes,\n                                bool
      *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sx
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: socks4_req_add_hd
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_req_add_hd(struct socks_state *sx,\n                                       struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks.c:296,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:301,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/socks.c:305,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - sx
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 289
    functionDepth: 6
    functionLinenumber: 289
    functionLinenumberEnd: 318
    functionName: socks4_req_add_user
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_bufq_cwrite
    - strlen
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_req_add_user(struct socks_state *sx,\n                                         struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:334,1
    - Dst: Curl_resolv
      Src: /src/PROJ/curl/lib/socks.c:336,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:339,1
    - Dst: Curl_resolv_check
      Src: /src/PROJ/curl/lib/socks.c:348,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:354,1
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/socks.c:372,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:373,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:377,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/socks.c:381,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:386,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 320
    functionDepth: 5
    functionLinenumber: 320
    functionLinenumberEnd: 392
    functionName: socks4_resolving
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_resolv
    - Curl_resolv_check
    - DEBUGASSERT
    - Curl_resolv_unlink
    - Curl_bufq_write
    - Curl_printable_address
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_resolving(struct socks_state *sx,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data,\n
      \                                     bool *done)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/socks.c:401,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:402,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:406,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:428,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:435,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/socks.c:436,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:439,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:446,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:454,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 469
    functionName: socks4_check_resp
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_bufq_peek
    - DEBUGASSERT
    - Curl_bufq_skip
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_check_resp(struct socks_state *sx,\n                                       struct
      Curl_cfilter *cf,\n                                       struct Curl_easy *data)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:495,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:496,1
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/lib/socks.c:499,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:507,1
    - Dst: socks4_req_add_hd
      Src: /src/PROJ/curl/lib/socks.c:522,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:524,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks.c:531,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:534,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:535,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:537,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:539,1
    - Dst: socks4_req_add_user
      Src: /src/PROJ/curl/lib/socks.c:540,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:542,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/socks.c:543,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:545,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:547,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:551,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:552,1
    - Dst: socks4_resolving
      Src: /src/PROJ/curl/lib/socks.c:555,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:557,1
    - Dst: socks4_req_add_user
      Src: /src/PROJ/curl/lib/socks.c:561,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:563,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:564,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:565,1
    - Dst: socks_flush
      Src: /src/PROJ/curl/lib/socks.c:568,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:570,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:573,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:574,1
    - Dst: socks_recv
      Src: /src/PROJ/curl/lib/socks.c:578,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:580,1
    - Dst: socks4_check_resp
      Src: /src/PROJ/curl/lib/socks.c:583,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:585,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:586,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:587,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:593,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:597,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:598,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 482
    functionDepth: 7
    functionLinenumber: 482
    functionLinenumberEnd: 600
    functionName: socks4_connect
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_recv
    - socks_failed
    - Curl_bufq_cwrite
    - CURL_TRC_CF
    - failf
    - socks4_resolving
    - FALLTHROUGH
    - socks_flush
    - sxstate
    - socks4_check_resp
    - socks4_req_add_user
    - Curl_bufq_reset
    - strlen
    - DEBUGASSERT
    - socks4_req_add_hd
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_connect(struct Curl_cfilter *cf,\n                                    struct
      socks_state *sx,\n                                    struct Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks.c:614,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:615,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks.c:621,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 647
    functionName: socks5_req0_init
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - strlen
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_req0_init(struct Curl_cfilter *cf,\n                                      struct
      socks_state *sx,\n                                      struct Curl_easy *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/socks.c:657,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:658,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:663,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/socks.c:668,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:673,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:677,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:680,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:686,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:689,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:692,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 698
    functionName: socks5_check_resp0
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_skip
    - sxstate
    - Curl_bufq_peek
    - failf
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_check_resp0(struct socks_state *sx,\n                                        struct
      Curl_cfilter *cf,\n                                        struct Curl_easy
      *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks.c:710,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks.c:711,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:714,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:718,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:732,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/socks.c:736,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:741,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/socks.c:745,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:749,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 700
    functionDepth: 6
    functionLinenumber: 700
    functionLinenumberEnd: 751
    functionName: socks5_auth_init
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - failf
    - sxstate
    - strlen
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_auth_init(struct Curl_cfilter *cf,\n                                      struct
      socks_state *sx,\n                                      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/socks.c:762,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:763,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:770,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/socks.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 753
    functionDepth: 4
    functionLinenumber: 753
    functionLinenumberEnd: 776
    functionName: socks5_check_auth_resp
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_skip
    - Curl_bufq_peek
    - failf
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_check_auth_resp(struct socks_state *sx,\n                                            struct
      Curl_cfilter *cf,\n                                            struct Curl_easy
      *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:794,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/socks.c:806,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/socks.c:811,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/socks.c:817,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:826,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:829,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:835,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:838,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 778
    functionDepth: 5
    functionLinenumber: 778
    functionLinenumberEnd: 841
    functionName: socks5_req1_init
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    - strlen
    - Curl_bufq_write
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_req1_init(struct socks_state *sx,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:862,1
    - Dst: Curl_resolv
      Src: /src/PROJ/curl/lib/socks.c:864,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:867,1
    - Dst: Curl_resolv_check
      Src: /src/PROJ/curl/lib/socks.c:876,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:882,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:900,1
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/socks.c:906,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:914,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:924,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:930,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:936,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:941,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/socks.c:949,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/socks.c:957,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 960
    functionName: socks5_resolving
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_resolv
    - Curl_resolv_check
    - DEBUGASSERT
    - Curl_resolv_unlink
    - Curl_bufq_write
    - Curl_printable_address
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_resolving(struct socks_state *sx,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data,\n
      \                                     bool *done)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: socks_recv
      Src: /src/PROJ/curl/lib/socks.c:971,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/socks.c:977,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:978,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:998,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1004,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1036,1
    - Dst: socks_recv
      Src: /src/PROJ/curl/lib/socks.c:1041,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/socks.c:1047,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1048,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 1054
    functionName: socks5_recv_resp1
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_recv
    - Curl_bufq_peek
    - failf
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_recv_resp1(struct socks_state *sx,\n                                       struct
      Curl_cfilter *cf,\n                                       struct Curl_easy *data,\n
      \                                      bool *done)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1072,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1073,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:1077,1
    - Dst: socks5_req0_init
      Src: /src/PROJ/curl/lib/socks.c:1079,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1081,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1082,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1083,1
    - Dst: socks_flush
      Src: /src/PROJ/curl/lib/socks.c:1086,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1088,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1092,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1093,1
    - Dst: socks_recv
      Src: /src/PROJ/curl/lib/socks.c:1096,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1098,1
    - Dst: socks5_check_resp0
      Src: /src/PROJ/curl/lib/socks.c:1101,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1103,1
    - Dst: Curl_SOCKS5_gssapi_negotiate
      Src: /src/PROJ/curl/lib/socks.c:1110,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1112,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1115,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1118,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1120,1
    - Dst: socks5_auth_init
      Src: /src/PROJ/curl/lib/socks.c:1125,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1127,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1128,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1129,1
    - Dst: socks_flush
      Src: /src/PROJ/curl/lib/socks.c:1132,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1134,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1137,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1138,1
    - Dst: socks_recv
      Src: /src/PROJ/curl/lib/socks.c:1141,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1143,1
    - Dst: socks5_check_auth_resp
      Src: /src/PROJ/curl/lib/socks.c:1146,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1148,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1150,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1151,1
    - Dst: socks5_req1_init
      Src: /src/PROJ/curl/lib/socks.c:1154,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1156,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1159,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1163,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1164,1
    - Dst: socks5_resolving
      Src: /src/PROJ/curl/lib/socks.c:1167,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1169,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1172,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1173,1
    - Dst: socks_flush
      Src: /src/PROJ/curl/lib/socks.c:1176,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1178,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1183,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1187,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1188,1
    - Dst: socks5_recv_resp1
      Src: /src/PROJ/curl/lib/socks.c:1191,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1193,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:1196,1
    - Dst: sxstate
      Src: /src/PROJ/curl/lib/socks.c:1197,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/socks.c:1198,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:1204,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:1208,1
    - Dst: socks_failed
      Src: /src/PROJ/curl/lib/socks.c:1209,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1060
    functionDepth: 7
    functionLinenumber: 1060
    functionLinenumberEnd: 1211
    functionName: socks5_connect
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_recv
    - socks_failed
    - Curl_SOCKS5_gssapi_negotiate
    - CURL_TRC_CF
    - failf
    - socks5_auth_init
    - FALLTHROUGH
    - socks5_req0_init
    - sxstate
    - socks_flush
    - socks5_check_auth_resp
    - socks5_req1_init
    - socks5_check_resp0
    - socks5_resolving
    - DEBUGASSERT
    - socks5_recv_resp1
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_connect(struct Curl_cfilter *cf,\n                                    struct
      socks_state *sx,\n                                    struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/socks.c:1217,1
    - Dst: free
      Src: /src/PROJ/curl/lib/socks.c:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    functionName: socks_proxy_cf_free
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void socks_proxy_cf_free(struct Curl_cfilter *cf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/PROJ/curl/lib/socks.c:1245,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/socks.c:1250,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/socks.c:1273,1
    - Dst: socks5_connect
      Src: /src/PROJ/curl/lib/socks.c:1280,1
    - Dst: socks4_connect
      Src: /src/PROJ/curl/lib/socks.c:1285,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/socks.c:1289,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/socks.c:1303,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/PROJ/curl/lib/socks.c:1306,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks.c:1307,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/socks.c:1314,1
    - Dst: socks_proxy_cf_free
      Src: /src/PROJ/curl/lib/socks.c:1318,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1230
    functionDepth: 8
    functionLinenumber: 1230
    functionLinenumberEnd: 1324
    functionName: socks_proxy_cf_connect
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_trc_is_verbose
    - failf
    - socks5_connect
    - Curl_bufq_init2
    - Curl_conn_cf_get_ip_info
    - calloc
    - socks4_connect
    - struct Curl_cfilter*::next::cft::do_connect
    - socks_proxy_cf_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socks_proxy_cf_connect(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       bool *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/socks.c:1336,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:1342,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/socks.c:1343,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/socks.c:1346,1
    - Dst: Curl_pollset_set_in_only
      Src: /src/PROJ/curl/lib/socks.c:1347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1352
    functionName: socks_cf_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set_out_only
    - Curl_pollset_set_in_only
    - Curl_conn_cf_get_socket
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socks_cf_adjust_pollset(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct easy_pollset
      *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:1358,1
    - Dst: socks_proxy_cf_free
      Src: /src/PROJ/curl/lib/socks.c:1360,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/socks.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1362
    functionName: socks_proxy_cf_close
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_close
    - DEBUGASSERT
    - socks_proxy_cf_free
    linkageType: ''
    returnType: void
    signature: "void socks_proxy_cf_close(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socks_proxy_cf_free
      Src: /src/PROJ/curl/lib/socks.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1364
    functionDepth: 3
    functionLinenumber: 1364
    functionLinenumberEnd: 1369
    functionName: socks_proxy_cf_destroy
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_proxy_cf_free
    linkageType: ''
    returnType: void
    signature: "void socks_proxy_cf_destroy(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/socks.c:1387,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/socks.c:1395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1397
    functionName: socks_cf_query
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::query
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socks_cf_query(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               int query, int *pres1, void
      *pres2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/socks.c:1424,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/socks.c:1426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1428
    functionName: Curl_cf_socks_proxy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_socks_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                         struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: SOCKET_READABLE
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET_READABLE(x,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: SOCKET_WRITABLE
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET_WRITABLE(x,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: VALID_SOCK
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SOCK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: FDSET_SOCK
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDSET_SOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: VERIFY_SOCK
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_SOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: VALID_SOCK
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SOCK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: FDSET_SOCK
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDSET_SOCK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: VERIFY_SOCK
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_SOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Curl_pollset_add_in
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_add_in(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Curl_pollset_add_out
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_add_out(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: Curl_pollset_add_inout
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_add_inout(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: Curl_pollset_set_in_only
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_set_in_only(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: Curl_pollset_set_out_only
    functionSourceFile: /src/PROJ/curl/lib/select.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_set_out_only(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CURL_TELOPT
    functionSourceFile: /src/PROJ/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELOPT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CURL_TELOPT
    functionSourceFile: /src/PROJ/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELOPT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: CURL_TELOPT_OK
    functionSourceFile: /src/PROJ/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELOPT_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: CURL_TELCMD_OK
    functionSourceFile: /src/PROJ/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELCMD_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: CURL_TELCMD
    functionSourceFile: /src/PROJ/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELCMD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: CURL_TELCMD
    functionSourceFile: /src/PROJ/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELCMD(x)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ISLOWER
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:87,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:104,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:106,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:108,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:110,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:112,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:114,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:116,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:118,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:120,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - pattern
    - charset
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 127
    functionName: parsekeyword
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ISLOWER
    linkageType: ''
    returnType: int
    signature: int parsekeyword(const unsigned char **pattern, unsigned char *charset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISUPPER
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:132,1
    - Dst: ISLOWER
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:134,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: charclass
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - ISUPPER
    - ISDIGIT
    - ISLOWER
    linkageType: ''
    returnType: char_class
    signature: char_class charclass(unsigned char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:148,1
    - Dst: charclass
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:149,1
    - Dst: charclass
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:154,1
    - Dst: charclass
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pp
    - charset
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: setcharorrange
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - charclass
    linkageType: ''
    returnType: void
    signature: void setcharorrange(const unsigned char **pp, unsigned char *charset)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:170,1
    - Dst: parsekeyword
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:189,1
    - Dst: setcharorrange
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:213,1
    - Dst: setcharorrange
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:219,1
    - Dst: ISPRINT
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:232,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 2
    argNames:
    - p
    - charset
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 254
    functionName: setcharset
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - ISPRINT
    - memset
    - setcharorrange
    - parsekeyword
    linkageType: ''
    returnType: int
    signature: int setcharset(const unsigned char **p, unsigned char *charset)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: loop
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:284,1
    - Dst: setcharset
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:304,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:311,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:313,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:315,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:317,1
    - Dst: ISPRINT
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:319,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:321,1
    - Dst: ISUPPER
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:323,1
    - Dst: ISLOWER
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:325,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:327,1
    - Dst: ISGRAPH
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:329,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 3
    argNames:
    - pattern
    - string
    - maxstars
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 349
    functionName: loop
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 7
    functionsReached:
    - ISDIGIT
    - ISGRAPH
    - ISBLANK
    - ISLOWER
    - ISALNUM
    - setcharset
    - loop
    - ISPRINT
    - ISUPPER
    - ISALPHA
    - ISXDIGIT
    linkageType: ''
    returnType: int
    signature: "int loop(const unsigned char *pattern, const unsigned char *string,\n
      \               int maxstars)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loop
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - pattern
    - string
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: Curl_fnmatch
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 1
    functionsReached:
    - loop
    linkageType: ''
    returnType: int
    signature: int Curl_fnmatch(void *ptr, const char *pattern, const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fnmatch
      Src: /src/PROJ/curl/lib/curl_fnmatch.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - pattern
    - string
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: Curl_fnmatch
    functionSourceFile: /src/PROJ/curl/lib/curl_fnmatch.c
    functionUses: 1
    functionsReached:
    - fnmatch
    linkageType: ''
    returnType: int
    signature: int Curl_fnmatch(void *ptr, const char *pattern, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: Curl_headers_init
    functionSourceFile: /src/PROJ/curl/lib/headers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headers_init(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Curl_headers_push
    functionSourceFile: /src/PROJ/curl/lib/headers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headers_push(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: Curl_headers_cleanup
    functionSourceFile: /src/PROJ/curl/lib/headers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headers_cleanup(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: wakeup_create
    functionSourceFile: /src/PROJ/curl/lib/socketpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wakeup_create(p,nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: wakeup_create
    functionSourceFile: /src/PROJ/curl/lib/socketpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wakeup_create(p,nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: wakeup_create
    functionSourceFile: /src/PROJ/curl/lib/socketpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wakeup_create(p,nb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/share.c:44,1
    - Dst: Curl_dnscache_init
      Src: /src/PROJ/curl/lib/share.c:48,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/lib/share.c:49,1
    - Dst: free
      Src: /src/PROJ/curl/lib/share.c:51,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/share.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: curl_share_init
    functionSourceFile: /src/PROJ/curl/lib/share.c
    functionUses: 12
    functionsReached:
    - getenv
    - free
    - Curl_dnscache_init
    - curl_easy_init
    - calloc
    linkageType: ''
    returnType: CURLSH
    signature: 'CURLSH *

      curl_share_init(void)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SHARE_HANDLE
      Src: /src/PROJ/curl/lib/share.c:78,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/share.c:86,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/share.c:91,1
    - Dst: Curl_cookie_init
      Src: /src/PROJ/curl/lib/share.c:100,1
    - Dst: Curl_hsts_init
      Src: /src/PROJ/curl/lib/share.c:112,1
    - Dst: Curl_ssl_scache_create
      Src: /src/PROJ/curl/lib/share.c:129,1
    - Dst: Curl_cpool_init
      Src: /src/PROJ/curl/lib/share.c:140,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/share.c:159,1
    - Dst: Curl_cookie_cleanup
      Src: /src/PROJ/curl/lib/share.c:168,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/share.c:179,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/PROJ/curl/lib/share.c:189,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/share.c:207,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/share.c:212,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/share.c:217,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/share.c:226,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 100
    argCount: 2
    argNames:
    - sh
    - option
    argTypes:
    - CURLSH*
    - CURLSHoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 229
    functionName: curl_share_setopt
    functionSourceFile: /src/PROJ/curl/lib/share.c
    functionUses: 12
    functionsReached:
    - Curl_hsts_cleanup
    - va_end
    - GOOD_SHARE_HANDLE
    - Curl_cookie_init
    - Curl_hsts_init
    - Curl_ssl_scache_destroy
    - va_start
    - Curl_ssl_scache_create
    - va_arg
    - Curl_cookie_cleanup
    - Curl_cpool_init
    linkageType: ''
    returnType: CURLSHcode
    signature: CURLSHcode curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SHARE_HANDLE
      Src: /src/PROJ/curl/lib/share.c:235,1
    - Dst: struct Curl_share*::lockfunc
      Src: /src/PROJ/curl/lib/share.c:239,1
    - Dst: struct Curl_share*::unlockfunc
      Src: /src/PROJ/curl/lib/share.c:244,1
    - Dst: Curl_cpool_destroy
      Src: /src/PROJ/curl/lib/share.c:249,1
    - Dst: Curl_dnscache_destroy
      Src: /src/PROJ/curl/lib/share.c:252,1
    - Dst: Curl_cookie_cleanup
      Src: /src/PROJ/curl/lib/share.c:255,1
    - Dst: Curl_hsts_cleanup
      Src: /src/PROJ/curl/lib/share.c:259,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/PROJ/curl/lib/share.c:264,1
    - Dst: Curl_psl_destroy
      Src: /src/PROJ/curl/lib/share.c:269,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/share.c:270,1
    - Dst: struct Curl_share*::unlockfunc
      Src: /src/PROJ/curl/lib/share.c:273,1
    - Dst: free
      Src: /src/PROJ/curl/lib/share.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - sh
    argTypes:
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 278
    functionName: curl_share_cleanup
    functionSourceFile: /src/PROJ/curl/lib/share.c
    functionUses: 12
    functionsReached:
    - Curl_hsts_cleanup
    - free
    - GOOD_SHARE_HANDLE
    - Curl_ssl_scache_destroy
    - struct Curl_share*::lockfunc
    - Curl_cpool_destroy
    - Curl_close
    - Curl_psl_destroy
    - struct Curl_share*::unlockfunc
    - Curl_cookie_cleanup
    - Curl_dnscache_destroy
    linkageType: ''
    returnType: CURLSHcode
    signature: CURLSHcode curl_share_cleanup(CURLSH *sh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_share*::lockfunc
      Src: /src/PROJ/curl/lib/share.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - type
    - accesstype
    argTypes:
    - struct Curl_easy*
    - curl_lock_data
    - curl_lock_access
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: Curl_share_lock
    functionSourceFile: /src/PROJ/curl/lib/share.c
    functionUses: 7
    functionsReached:
    - struct Curl_share*::lockfunc
    linkageType: ''
    returnType: CURLSHcode
    signature: "CURLSHcode Curl_share_lock(struct Curl_easy *data, curl_lock_data
      type,\n                curl_lock_access accesstype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_share*::unlockfunc
      Src: /src/PROJ/curl/lib/share.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - type
    argTypes:
    - struct Curl_easy*
    - curl_lock_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: Curl_share_unlock
    functionSourceFile: /src/PROJ/curl/lib/share.c
    functionUses: 8
    functionsReached:
    - struct Curl_share*::unlockfunc
    linkageType: ''
    returnType: CURLSHcode
    signature: CURLSHcode Curl_share_unlock(struct Curl_easy *data, curl_lock_data
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_close
      Src: /src/PROJ/curl/lib/cf-https-connect.c:67,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cf-https-connect.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: cf_hc_baller_reset
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - Curl_conn_cf_close
    linkageType: ''
    returnType: void
    signature: "void cf_hc_baller_reset(struct cf_hc_baller *b,\n                               struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct cf_hc_baller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: cf_hc_baller_is_active
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_hc_baller_is_active(struct cf_hc_baller *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct cf_hc_baller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: cf_hc_baller_has_started
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_hc_baller_has_started(struct cf_hc_baller *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_hc_baller*::cf::cft::query
      Src: /src/PROJ/curl/lib/cf-https-connect.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: cf_hc_baller_reply_ms
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - struct cf_hc_baller*::cf::cft::query
    linkageType: ''
    returnType: int
    signature: "int cf_hc_baller_reply_ms(struct cf_hc_baller *b,\n                                 struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_hc_baller*::cf::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cf-https-connect.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: cf_hc_baller_data_pending
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - struct cf_hc_baller*::cf::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_hc_baller_data_pending(struct cf_hc_baller *b,\n                                      const
      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_needs_flush
      Src: /src/PROJ/curl/lib/cf-https-connect.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: cf_hc_baller_needs_flush
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_needs_flush
    linkageType: ''
    returnType: bool
    signature: "bool cf_hc_baller_needs_flush(struct cf_hc_baller *b,\n                                     struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_cntrl
      Src: /src/PROJ/curl/lib/cf-https-connect.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - b
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: cf_hc_baller_cntrl
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_baller_cntrl(struct cf_hc_baller *b,\n                                   struct
      Curl_easy *data,\n                                   int event, int arg1, void
      *arg2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - b
    - alpn_id
    - def_transport
    argTypes:
    - struct cf_hc_baller*
    - enum alpnid
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: cf_hc_baller_assign
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf_hc_baller_assign(struct cf_hc_baller *b,\n                                enum
      alpnid alpn_id,\n                                unsigned char def_transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-https-connect.c:156,1
    - Dst: Curl_cf_setup_insert_after
      Src: /src/PROJ/curl/lib/cf-https-connect.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - b
    - cf
    - data
    - transport
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: cf_hc_baller_init
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_cf_setup_insert_after
    - curlx_now
    linkageType: ''
    returnType: void
    signature: "void cf_hc_baller_init(struct cf_hc_baller *b,\n                              struct
      Curl_cfilter *cf,\n                              struct Curl_easy *data,\n                              int
      transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/cf-https-connect.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - b
    - cf
    - data
    - done
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: cf_hc_baller_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_baller_connect(struct cf_hc_baller *b,\n                                     struct
      Curl_cfilter *cf,\n                                     struct Curl_easy *data,\n
      \                                    bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_reset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: cf_hc_reset
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_reset
    linkageType: ''
    returnType: void
    signature: void cf_hc_reset(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:210,1
    - Dst: cf_hc_baller_reset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:213,1
    - Dst: cf_hc_baller_reply_ms
      Src: /src/PROJ/curl/lib/cf-https-connect.c:215,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:217,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-https-connect.c:218,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-https-connect.c:218,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:221,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-https-connect.c:222,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-https-connect.c:222,1
    - Dst: Curl_conn_cf_get_alpn_negotiated
      Src: /src/PROJ/curl/lib/cf-https-connect.c:233,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cf-https-connect.c:234,1
    - Dst: Curl_http2_switch_at
      Src: /src/PROJ/curl/lib/cf-https-connect.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - cf
    - data
    - winner
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_hc_baller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 248
    functionName: baller_connected
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_conn_cf_get_alpn_negotiated
    - curlx_now
    - cf_hc_baller_reply_ms
    - strcmp
    - curlx_timediff
    - cf_hc_baller_reset
    - Curl_http2_switch_at
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode baller_connected(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct cf_hc_baller *winner)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_has_started
      Src: /src/PROJ/curl/lib/cf-https-connect.c:261,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:268,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-https-connect.c:272,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:274,1
    - Dst: cf_hc_baller_reply_ms
      Src: /src/PROJ/curl/lib/cf-https-connect.c:281,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:282,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/cf-https-connect.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - cf
    - data
    - idx
    - now
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: time_to_start_next
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_has_started
    - Curl_expire
    - CURL_TRC_CF
    - cf_hc_baller_reply_ms
    - curlx_timediff
    linkageType: ''
    returnType: bool
    signature: "bool time_to_start_next(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               size_t idx, struct curltime
      now)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-https-connect.c:310,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:313,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:315,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:316,1
    - Dst: cf_hc_baller_init
      Src: /src/PROJ/curl/lib/cf-https-connect.c:318,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/cf-https-connect.c:320,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:321,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-https-connect.c:325,1
    - Dst: cf_hc_baller_is_active
      Src: /src/PROJ/curl/lib/cf-https-connect.c:328,1
    - Dst: cf_hc_baller_connect
      Src: /src/PROJ/curl/lib/cf-https-connect.c:329,1
    - Dst: baller_connected
      Src: /src/PROJ/curl/lib/cf-https-connect.c:331,1
    - Dst: time_to_start_next
      Src: /src/PROJ/curl/lib/cf-https-connect.c:336,1
    - Dst: cf_hc_baller_init
      Src: /src/PROJ/curl/lib/cf-https-connect.c:337,1
    - Dst: cf_hc_baller_is_active
      Src: /src/PROJ/curl/lib/cf-https-connect.c:340,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:341,1
    - Dst: cf_hc_baller_connect
      Src: /src/PROJ/curl/lib/cf-https-connect.c:342,1
    - Dst: baller_connected
      Src: /src/PROJ/curl/lib/cf-https-connect.c:344,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:357,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:385,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 387
    functionName: cf_hc_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - CURL_TRC_CF
    - curlx_now
    - FALLTHROUGH
    - baller_connected
    - cf_hc_baller_is_active
    - cf_hc_baller_connect
    - time_to_start_next
    - DEBUGASSERT
    - cf_hc_baller_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:396,1
    - Dst: cf_hc_baller_is_active
      Src: /src/PROJ/curl/lib/cf-https-connect.c:407,1
    - Dst: struct cf_hc_baller*::cf::cft::do_shutdown
      Src: /src/PROJ/curl/lib/cf-https-connect.c:409,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 427
    functionName: cf_hc_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_is_active
    - DEBUGASSERT
    - struct cf_hc_baller*::cf::cft::do_shutdown
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_shutdown(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_is_active
      Src: /src/PROJ/curl/lib/cf-https-connect.c:440,1
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:442,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: cf_hc_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_is_active
    - Curl_conn_cf_adjust_pollset
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_adjust_pollset(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cf-https-connect.c:456,1
    - Dst: cf_hc_baller_data_pending
      Src: /src/PROJ/curl/lib/cf-https-connect.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: cf_hc_data_pending
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_data_pending
    - struct Curl_cfilter*::next::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_hc_data_pending(struct Curl_cfilter *cf,\n                               const
      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:472,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:475,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/PROJ/curl/lib/cf-https-connect.c:476,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/cf-https-connect.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - query
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 482
    functionName: cf_get_max_baller_time
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - memset
    - curlx_timediff_us
    linkageType: ''
    returnType: struct curltime
    signature: "struct curltime cf_get_max_baller_time(struct Curl_cfilter *cf,\n
      \                                             struct Curl_easy *data,\n                                              int
      query)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cf_get_max_baller_time
      Src: /src/PROJ/curl/lib/cf-https-connect.c:495,1
    - Dst: cf_get_max_baller_time
      Src: /src/PROJ/curl/lib/cf-https-connect.c:500,1
    - Dst: cf_hc_baller_needs_flush
      Src: /src/PROJ/curl/lib/cf-https-connect.c:505,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/cf-https-connect.c:516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 518
    functionName: cf_hc_query
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_needs_flush
    - cf_get_max_baller_time
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_query(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int query, int *pres1, void *pres2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_cntrl
      Src: /src/PROJ/curl/lib/cf-https-connect.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 538
    functionName: cf_hc_cntrl
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_cntrl(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int event, int arg1, void *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:542,1
    - Dst: cf_hc_reset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:543,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/cf-https-connect.c:547,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cf-https-connect.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: cf_hc_close
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - cf_hc_reset
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: void cf_hc_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:557,1
    - Dst: cf_hc_reset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:558,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-https-connect.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: cf_hc_destroy
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_reset
    - CURL_TRC_CF
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void cf_hc_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:591,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:592,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:592,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:593,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-https-connect.c:594,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-https-connect.c:599,1
    - Dst: cf_hc_baller_assign
      Src: /src/PROJ/curl/lib/cf-https-connect.c:605,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:606,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-https-connect.c:610,1
    - Dst: cf_hc_reset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:614,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-https-connect.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - pcf
    - data
    - alpnids
    - alpn_count
    - def_transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - enum alpnid*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 620
    functionName: cf_hc_create
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - free
    - cf_hc_reset
    - failf
    - cf_hc_baller_assign
    - CURL_ARRAYSIZE
    - Curl_cf_create
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_create(struct Curl_cfilter **pcf,\n                             struct
      Curl_easy *data,\n                             enum alpnid *alpnids, size_t
      alpn_count,\n                             unsigned char def_transport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-https-connect.c:631,1
    - Dst: cf_hc_create
      Src: /src/PROJ/curl/lib/cf-https-connect.c:632,1
    - Dst: Curl_conn_cf_add
      Src: /src/PROJ/curl/lib/cf-https-connect.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - data
    - conn
    - sockindex
    - alpn_ids
    - alpn_count
    - def_transport
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - enum alpnid*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 638
    functionName: cf_http_connect_add
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_add
    - DEBUGASSERT
    - cf_hc_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_http_connect_add(struct Curl_easy *data,\n                                    struct
      connectdata *conn,\n                                    int sockindex,\n                                    enum
      alpnid *alpn_ids, size_t alpn_count,\n                                    unsigned
      char def_transport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - id
    - list
    - len
    argTypes:
    - enum alpnid
    - enum alpnid*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 649
    functionName: cf_https_alpns_contain
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cf_https_alpns_contain(enum alpnid id,\n                                   enum
      alpnid *list, size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-https-connect.c:662,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:682,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:683,1
    - Dst: cf_https_alpns_contain
      Src: /src/PROJ/curl/lib/cf-https-connect.c:685,1
    - Dst: Curl_conn_may_http3
      Src: /src/PROJ/curl/lib/cf-https-connect.c:689,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:692,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:698,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:704,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:715,1
    - Dst: cf_https_alpns_contain
      Src: /src/PROJ/curl/lib/cf-https-connect.c:717,1
    - Dst: Curl_conn_may_http3
      Src: /src/PROJ/curl/lib/cf-https-connect.c:718,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:720,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:726,1
    - Dst: cf_https_alpns_contain
      Src: /src/PROJ/curl/lib/cf-https-connect.c:728,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:729,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-https-connect.c:732,1
    - Dst: cf_https_alpns_contain
      Src: /src/PROJ/curl/lib/cf-https-connect.c:734,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-https-connect.c:735,1
    - Dst: cf_http_connect_add
      Src: /src/PROJ/curl/lib/cf-https-connect.c:743,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 61
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 750
    functionName: Curl_cf_https_setup
    functionSourceFile: /src/PROJ/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_may_http3
    - CURL_TRC_CF
    - CURL_ARRAYSIZE
    - memset
    - cf_http_connect_add
    - cf_https_alpns_contain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_https_setup(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             int sockindex)"
  - BBCount: 90
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 183
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 332
    functionName: curl_easy_strerror
    functionSourceFile: /src/PROJ/curl/lib/strerror.c
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_easy_strerror(CURLcode error)'
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 392
    functionName: curl_multi_strerror
    functionSourceFile: /src/PROJ/curl/lib/strerror.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_multi_strerror(CURLMcode error)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLSHcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 428
    functionName: curl_share_strerror
    functionSourceFile: /src/PROJ/curl/lib/strerror.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_share_strerror(CURLSHcode error)'
  - BBCount: 35
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 73
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLUcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 542
    functionName: curl_url_strerror
    functionSourceFile: /src/PROJ/curl/lib/strerror.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_url_strerror(CURLUcode error)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/strerror.c:552,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:569,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:570,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:571,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:572,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:573,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:574,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:575,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:576,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:577,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:578,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:579,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:580,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:581,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:582,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:583,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:584,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:585,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:586,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:587,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:588,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:589,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:590,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:591,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:592,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:593,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:594,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:595,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:596,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:597,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:598,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:599,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:600,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:601,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:602,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:603,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:604,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:605,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:606,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:607,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:608,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:609,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:610,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:611,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:612,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:613,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:614,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:615,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:616,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:617,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:618,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:619,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:620,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:621,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:622,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:623,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:624,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:625,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:626,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:627,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:628,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:629,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:630,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:631,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:632,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:633,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:634,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:635,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:636,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:637,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:638,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:639,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:640,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:641,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:642,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:643,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:644,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:645,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:646,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:647,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:648,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:649,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:650,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:651,1
    - Dst: SEC2TXT
      Src: /src/PROJ/curl/lib/strerror.c:652,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/strerror.c:658,1
    - Dst: curlx_get_winapi_error
      Src: /src/PROJ/curl/lib/strerror.c:666,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/strerror.c:667,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/strerror.c:669,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/strerror.c:677,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/strerror.c:678,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/strerror.c:682,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/strerror.c:685,1
    - Dst: SetLastError
      Src: /src/PROJ/curl/lib/strerror.c:686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 112
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - SECURITY_STATUS
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 690
    functionName: Curl_sspi_strerror
    functionSourceFile: /src/PROJ/curl/lib/strerror.c
    functionUses: 1
    functionsReached:
    - CURL_SETERRNO
    - strcpy
    - SetLastError
    - curl_msnprintf
    - SEC2TXT
    - strlen
    - GetLastError
    - curlx_get_winapi_error
    linkageType: ''
    returnType: char
    signature: char *Curl_sspi_strerror(SECURITY_STATUS err, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: SEC2TXT
    functionSourceFile: /src/PROJ/curl/lib/strerror.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC2TXT(sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: Curl_ipv6works
    functionSourceFile: /src/PROJ/curl/lib/hostip.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ipv6works(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: Curl_resolv_check
    functionSourceFile: /src/PROJ/curl/lib/hostip.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_resolv_check(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hash.c:54,1
    - Dst: Curl_hash_start_iterate
      Src: /src/PROJ/curl/lib/hash.c:56,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/hash.c:58,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hash.c:61,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hash.c:63,1
    - Dst: func
      Src: /src/PROJ/curl/lib/hash.c:69,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hash.c:71,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/hash.c:75,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hash.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: Curl_hash_print
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - Curl_hash_next_element
    - func
    - curl_mfprintf
    - Curl_hash_start_iterate
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_print(struct Curl_hash *h,\n                     void
      (*func)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:94,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:95,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:96,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:97,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - h
    - slots
    - hfunc
    - comparator
    - dtor
    argTypes:
    - struct Curl_hash*
    - size_t
    - hash_function
    - comp_function
    - Curl_hash_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: Curl_hash_init
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 7
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_init(struct Curl_hash *h,\n               size_t slots,\n
      \              hash_function hfunc,\n               comp_function comparator,\n
      \              Curl_hash_dtor dtor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/hash.c:118,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hash.c:122,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/hash.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - key
    - key_len
    - p
    - dtor
    argTypes:
    - void*
    - size_t
    - void*
    - Curl_hash_elem_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: hash_elem_create
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - malloc
    - CURL_UNCONST
    - memcpy
    linkageType: ''
    returnType: struct Curl_hash_element
    signature: "struct Curl_hash_element *\nhash_elem_create(const void *key, size_t
      key_len, const void *p,\n                 Curl_hash_elem_dtor dtor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:134,1
    - Dst: struct Curl_hash_element*::dtor
      Src: /src/PROJ/curl/lib/hash.c:137,1
    - Dst: struct Curl_hash*::dtor
      Src: /src/PROJ/curl/lib/hash.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - h
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: hash_elem_clear_ptr
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - struct Curl_hash*::dtor
    - struct Curl_hash_element*::dtor
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void hash_elem_clear_ptr(struct Curl_hash *h,\n                                struct
      Curl_hash_element *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_elem_clear_ptr
      Src: /src/PROJ/curl/lib/hash.c:147,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hash.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: hash_elem_destroy
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - free
    - hash_elem_clear_ptr
    linkageType: ''
    returnType: void
    signature: "void hash_elem_destroy(struct Curl_hash *h,\n                              struct
      Curl_hash_element *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element**
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: hash_elem_unlink
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hash_elem_unlink(struct Curl_hash *h,\n                             struct
      Curl_hash_element **he_anchor,\n                             struct Curl_hash_element
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element**
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: hash_elem_link
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hash_elem_link(struct Curl_hash *h,\n                           struct
      Curl_hash_element **he_anchor,\n                           struct Curl_hash_element
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: CURL_HASH_SLOT
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HASH_SLOT(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: CURL_HASH_SLOT_ADDR
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HASH_SLOT_ADDR(x,y,z)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:176,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:177,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:178,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hash.c:180,1
    - Dst: CURL_HASH_SLOT_ADDR
      Src: /src/PROJ/curl/lib/hash.c:185,1
    - Dst: struct Curl_hash*::comp_func
      Src: /src/PROJ/curl/lib/hash.c:187,1
    - Dst: hash_elem_clear_ptr
      Src: /src/PROJ/curl/lib/hash.c:189,1
    - Dst: hash_elem_create
      Src: /src/PROJ/curl/lib/hash.c:196,1
    - Dst: hash_elem_link
      Src: /src/PROJ/curl/lib/hash.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - h
    - key
    - key_len
    - p
    - dtor
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    - void*
    - Curl_hash_elem_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: Curl_hash_add2
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 3
    functionsReached:
    - struct Curl_hash*::comp_func
    - hash_elem_clear_ptr
    - hash_elem_link
    - calloc
    - DEBUGASSERT
    - CURL_HASH_SLOT_ADDR
    - hash_elem_create
    linkageType: ''
    returnType: void
    signature: "void *Curl_hash_add2(struct Curl_hash *h, void *key, size_t key_len,
      void *p,\n                     Curl_hash_elem_dtor dtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/hash.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - h
    - key
    - key_len
    - p
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Curl_hash_add
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - Curl_hash_add2
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_hash_add(struct Curl_hash *h, void *key, size_t key_len, void *p)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:225,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:226,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:227,1
    - Dst: CURL_HASH_SLOT_ADDR
      Src: /src/PROJ/curl/lib/hash.c:231,1
    - Dst: struct Curl_hash*::comp_func
      Src: /src/PROJ/curl/lib/hash.c:234,1
    - Dst: hash_elem_unlink
      Src: /src/PROJ/curl/lib/hash.c:235,1
    - Dst: hash_elem_destroy
      Src: /src/PROJ/curl/lib/hash.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - h
    - key
    - key_len
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: Curl_hash_delete
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - hash_elem_destroy
    - hash_elem_unlink
    - struct Curl_hash*::comp_func
    - CURL_HASH_SLOT_ADDR
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int Curl_hash_delete(struct Curl_hash *h, void *key, size_t key_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:252,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:253,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:256,1
    - Dst: CURL_HASH_SLOT
      Src: /src/PROJ/curl/lib/hash.c:257,1
    - Dst: struct Curl_hash*::comp_func
      Src: /src/PROJ/curl/lib/hash.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - h
    - key
    - key_len
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: Curl_hash_pick
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 8
    functionsReached:
    - CURL_HASH_SLOT
    - struct Curl_hash*::comp_func
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_hash_pick(struct Curl_hash *h, void *key, size_t key_len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:278,1
    - Dst: Curl_hash_clean
      Src: /src/PROJ/curl/lib/hash.c:280,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/hash.c:281,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: Curl_hash_destroy
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - Curl_hash_clean
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_hash_destroy(struct Curl_hash *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:296,1
    - Dst: hash_elem_unlink
      Src: /src/PROJ/curl/lib/hash.c:301,1
    - Dst: hash_elem_destroy
      Src: /src/PROJ/curl/lib/hash.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 306
    functionName: Curl_hash_clean
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - hash_elem_destroy
    - hash_elem_unlink
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_hash_clean(struct Curl_hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: Curl_hash_count
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_hash_count(struct Curl_hash *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:324,1
    - Dst: comp
      Src: /src/PROJ/curl/lib/hash.c:329,1
    - Dst: hash_elem_unlink
      Src: /src/PROJ/curl/lib/hash.c:331,1
    - Dst: hash_elem_destroy
      Src: /src/PROJ/curl/lib/hash.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - h
    - user
    argTypes:
    - struct Curl_hash*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 338
    functionName: Curl_hash_clean_with_criterium
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - hash_elem_destroy
    - hash_elem_unlink
    - DEBUGASSERT
    - comp
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_clean_with_criterium(struct Curl_hash *h, void *user,\n
      \                              int (*comp)(void *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - key
    - key_length
    - slots_num
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: Curl_hash_str
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_hash_str(void *key, size_t key_length, size_t slots_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/hash.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - k1
    - key1_len
    - k2
    - key2_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: curlx_str_key_compare
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t curlx_str_key_compare(void *k1, size_t key1_len,\n                             void
      *k2, size_t key2_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hash
    - iter
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: Curl_hash_start_iterate
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_start_iterate(struct Curl_hash *hash,\n                             struct
      Curl_hash_iterator *iter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hash.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct Curl_hash_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: Curl_hash_next_element
    functionSourceFile: /src/PROJ/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_hash_element
    signature: 'struct Curl_hash_element *

      Curl_hash_next_element(struct Curl_hash_iterator *iter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: Curl_SOCKS4
    functionSourceFile: /src/PROJ/curl/lib/socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_SOCKS4(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: Curl_SOCKS5
    functionSourceFile: /src/PROJ/curl/lib/socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_SOCKS5(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Curl_SOCKS_getsock
    functionSourceFile: /src/PROJ/curl/lib/socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_SOCKS_getsock(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: Curl_win32_init
    functionSourceFile: /src/PROJ/curl/lib/system_win32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_win32_init(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/PROJ/curl/lib/http2.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - iv
    - data
    argTypes:
    - nghttp2_settings_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: populate_settings
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_max_concurrent_streams
    linkageType: ''
    returnType: size_t
    signature: "size_t populate_settings(nghttp2_settings_entry *iv,\n                                struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: populate_settings
      Src: /src/PROJ/curl/lib/http2.c:121,1
    - Dst: nghttp2_pack_settings_payload
      Src: /src/PROJ/curl/lib/http2.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - binsettings
    - data
    argTypes:
    - uint8_t*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: populate_binsettings
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - populate_settings
    - nghttp2_pack_settings_payload
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t populate_binsettings(uint8_t *binsettings,\n                                    struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufcp_init
      Src: /src/PROJ/curl/lib/http2.c:164,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/http2.c:165,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/http2.c:166,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http2.c:167,1
    - Dst: Curl_uint_hash_init
      Src: /src/PROJ/curl/lib/http2.c:168,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/http2.c:173,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/http2.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - via_h1_upgrade
    argTypes:
    - struct cf_h2_ctx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: cf_h2_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - getenv
    - Curl_bufq_initp
    - curlx_dyn_init
    - curlx_str_number
    - Curl_bufcp_init
    - Curl_uint_hash_init
    linkageType: ''
    returnType: void
    signature: void cf_h2_ctx_init(struct cf_h2_ctx *ctx, bool via_h1_upgrade)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/http2.c:189,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/http2.c:190,1
    - Dst: Curl_bufcp_free
      Src: /src/PROJ/curl/lib/http2.c:191,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http2.c:192,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/PROJ/curl/lib/http2.c:193,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/http2.c:194,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http2.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: cf_h2_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_uint_hash_destroy
    - curlx_dyn_free
    - memset
    - Curl_bufcp_free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cf_h2_ctx_free(struct cf_h2_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_del
      Src: /src/PROJ/curl/lib/http2.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: cf_h2_ctx_close
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_del
    linkageType: ''
    returnType: void
    signature: void cf_h2_ctx_close(struct cf_h2_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: H2_STREAM_CTX
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STREAM_CTX(ctx,data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http2.c:250,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/http2.c:255,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/PROJ/curl/lib/http2.c:257,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http2.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: h2_stream_ctx_create
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_h1_req_parse_init
    - Curl_bufq_initp
    - calloc
    - Curl_dynhds_init
    linkageType: ''
    returnType: struct h2_stream_ctx
    signature: struct h2_stream_ctx *h2_stream_ctx_create(struct cf_h2_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/http2.c:273,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http2.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: free_push_headers
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void free_push_headers(struct h2_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/http2.c:280,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/http2.c:281,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/http2.c:282,1
    - Dst: free_push_headers
      Src: /src/PROJ/curl/lib/http2.c:283,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http2.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: h2_stream_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_dynhds_free
    - free_push_headers
    - Curl_h1_req_parse_free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void h2_stream_ctx_free(struct h2_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:290,1
    - Dst: h2_stream_ctx_free
      Src: /src/PROJ/curl/lib/http2.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: h2_stream_hash_free
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - h2_stream_ctx_free
    linkageType: ''
    returnType: void
    signature: void h2_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: cf_h2_get_desired_local_win
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    linkageType: ''
    returnType: int32_t
    signature: "int32_t cf_h2_get_desired_local_win(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_get_desired_local_win
      Src: /src/PROJ/curl/lib/http2.c:326,1
    - Dst: nghttp2_session_get_stream_effective_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:328,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:331,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:334,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:335,1
    - Dst: nghttp2_submit_window_update
      Src: /src/PROJ/curl/lib/http2.c:338,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:341,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:342,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:346,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:350,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:353,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:354,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - cf
    - data
    - stream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 363
    functionName: cf_h2_update_local_win
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - nghttp2_session_get_stream_effective_local_window_size
    - cf_h2_get_desired_local_win
    - CURL_TRC_CF
    - nghttp2_submit_window_update
    - nghttp2_strerror
    - nghttp2_session_set_local_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_update_local_win(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       struct h2_stream_ctx
      *stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - stream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: cf_h2_update_local_win
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_update_local_win(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       struct h2_stream_ctx
      *stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:387,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:388,1
    - Dst: h2_stream_ctx_create
      Src: /src/PROJ/curl/lib/http2.c:394,1
    - Dst: Curl_uint_hash_set
      Src: /src/PROJ/curl/lib/http2.c:398,1
    - Dst: h2_stream_ctx_free
      Src: /src/PROJ/curl/lib/http2.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cf
    - data
    - pstream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: http2_data_setup
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_set
    - h2_stream_ctx_create
    - H2_STREAM_CTX
    - DEBUGASSERT
    - h2_stream_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_data_setup(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct h2_stream_ctx **pstream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:410,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:412,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:419,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:423,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:427,1
    - Dst: nghttp2_session_send
      Src: /src/PROJ/curl/lib/http2.c:433,1
    - Dst: nw_out_flush
      Src: /src/PROJ/curl/lib/http2.c:434,1
    - Dst: Curl_uint_hash_remove
      Src: /src/PROJ/curl/lib/http2.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 439
    functionName: http2_data_done
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_set_stream_user_data
    - CURL_TRC_CF
    - nghttp2_submit_rst_stream
    - H2_STREAM_CTX
    - DEBUGASSERT
    - Curl_uint_hash_remove
    - nw_out_flush
    - nghttp2_session_send
    linkageType: ''
    returnType: void
    signature: void http2_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_option_new
      Src: /src/PROJ/curl/lib/http2.c:449,1
    - Dst: nghttp2_option_set_no_auto_window_update
      Src: /src/PROJ/curl/lib/http2.c:453,1
    - Dst: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
      Src: /src/PROJ/curl/lib/http2.c:458,1
    - Dst: nghttp2_session_client_new3
      Src: /src/PROJ/curl/lib/http2.c:460,1
    - Dst: nghttp2_option_del
      Src: /src/PROJ/curl/lib/http2.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - cbs
    argTypes:
    - struct Curl_cfilter*
    - nghttp2_session_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 463
    functionName: h2_client_new
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - nghttp2_option_new
    - nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
    - nghttp2_session_client_new3
    - nghttp2_option_set_no_auto_window_update
    - nghttp2_option_del
    linkageType: ''
    returnType: int
    signature: "int h2_client_new(struct Curl_cfilter *cf,\n                         nghttp2_session_callbacks
      *cbs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:503,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:504,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/PROJ/curl/lib/http2.c:506,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:508,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/PROJ/curl/lib/http2.c:512,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/PROJ/curl/lib/http2.c:513,1
    - Dst: nghttp2_session_callbacks_set_on_invalid_frame_recv_callback
      Src: /src/PROJ/curl/lib/http2.c:514,1
    - Dst: nghttp2_session_callbacks_set_on_frame_send_callback
      Src: /src/PROJ/curl/lib/http2.c:517,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/PROJ/curl/lib/http2.c:519,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/PROJ/curl/lib/http2.c:521,1
    - Dst: nghttp2_session_callbacks_set_on_begin_headers_callback
      Src: /src/PROJ/curl/lib/http2.c:522,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/PROJ/curl/lib/http2.c:524,1
    - Dst: nghttp2_session_callbacks_set_error_callback
      Src: /src/PROJ/curl/lib/http2.c:526,1
    - Dst: h2_client_new
      Src: /src/PROJ/curl/lib/http2.c:530,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:532,1
    - Dst: populate_binsettings
      Src: /src/PROJ/curl/lib/http2.c:544,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:546,1
    - Dst: http2_data_setup
      Src: /src/PROJ/curl/lib/http2.c:551,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:554,1
    - Dst: nghttp2_session_upgrade2
      Src: /src/PROJ/curl/lib/http2.c:557,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:561,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:562,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:567,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:570,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:572,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:574,1
    - Dst: populate_settings
      Src: /src/PROJ/curl/lib/http2.c:580,1
    - Dst: nghttp2_submit_settings
      Src: /src/PROJ/curl/lib/http2.c:581,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:584,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:585,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:591,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:594,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:595,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:602,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/PROJ/curl/lib/http2.c:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 609
    functionName: cf_h2_ctx_open
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - h2_client_new
    - failf
    - CURL_TRC_CF
    - nghttp2_session_callbacks_set_on_frame_send_callback
    - populate_binsettings
    - nghttp2_submit_settings
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_session_callbacks_set_send_callback
    - infof
    - nghttp2_session_callbacks_set_on_begin_headers_callback
    - nghttp2_strerror
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_set_stream_user_data
    - http2_data_setup
    - nghttp2_session_upgrade2
    - nghttp2_session_callbacks_set_error_callback
    - nghttp2_session_callbacks_set_on_invalid_frame_recv_callback
    - DEBUGASSERT
    - populate_settings
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - nghttp2_session_callbacks_del
    - nghttp2_session_set_local_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_ctx_open(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/http2.c:616,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/http2.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: should_close_session
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - nghttp2_session_want_read
    - nghttp2_session_want_write
    linkageType: ''
    returnType: int
    signature: int should_close_session(struct cf_h2_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/http2.c:633,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/PROJ/curl/lib/http2.c:634,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:636,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:636,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/http2.c:639,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:640,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:644,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:645,1
    - Dst: nghttp2_session_check_request_allowed
      Src: /src/PROJ/curl/lib/http2.c:649,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http2.c:654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 625
    functionDepth: 4
    functionLinenumber: 625
    functionLinenumberEnd: 658
    functionName: h2_process_pending_input
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - Curl_bufq_peek
    - nghttp2_session_check_request_allowed
    - nghttp2_session_mem_recv
    - connclose
    - Curl_bufq_len
    - nghttp2_strerror
    - Curl_bufq_skip
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_process_pending_input(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/http2.c:674,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/PROJ/curl/lib/http2.c:685,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:687,1
    - Dst: h2_process_pending_input
      Src: /src/PROJ/curl/lib/http2.c:689,1
    - Dst: should_close_session
      Src: /src/PROJ/curl/lib/http2.c:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 5
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: http2_connisalive
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - h2_process_pending_input
    - struct Curl_cfilter*::next::cft::is_alive
    - should_close_session
    - Curl_cf_recv_bufq
    linkageType: ''
    returnType: bool
    signature: "bool http2_connisalive(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                             bool *input_pending)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_ping
      Src: /src/PROJ/curl/lib/http2.c:712,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:714,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:715,1
    - Dst: nghttp2_session_send
      Src: /src/PROJ/curl/lib/http2.c:719,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:721,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 726
    functionName: http2_send_ping
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_ping
    - nghttp2_session_send
    - failf
    - nghttp2_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_send_ping(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_version
      Src: /src/PROJ/curl/lib/http2.c:733,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 6
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: Curl_http2_ver
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_http2_ver(char *p, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:745,1
    - Dst: Curl_cf_send_bufq
      Src: /src/PROJ/curl/lib/http2.c:748,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:752,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:753,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 759
    functionName: nw_out_flush
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - Curl_cf_send_bufq
    - Curl_bufq_is_empty
    - Curl_bufq_len
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode nw_out_flush(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:772,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:778,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/http2.c:781,1
    - Dst: Curl_cf_send_bufq
      Src: /src/PROJ/curl/lib/http2.c:783,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - h2
    - buf
    - blen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 801
    functionName: send_callback
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - failf
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_cf_send_bufq
    - Curl_bufq_write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t send_callback(nghttp2_session *h2,\n                             const
      uint8_t *buf, size_t blen, int flags,\n                             void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/http2.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - struct curl_pushheaders*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 826
    functionName: curl_pushheader_bynum
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 3
    functionsReached:
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/http2.c:842,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http2.c:843,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http2.c:843,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http2.c:850,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/http2.c:852,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - h
    - header
    argTypes:
    - struct curl_pushheaders*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 860
    functionName: curl_pushheader_byname
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 4
    functionsReached:
    - strncmp
    - GOOD_EASY_HANDLE
    - strcmp
    - strchr
    - strlen
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_byname(struct curl_pushheaders *h, const char
      *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_duphandle
      Src: /src/PROJ/curl/lib/http2.c:865,1
    - Dst: http2_data_setup
      Src: /src/PROJ/curl/lib/http2.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 862
    functionDepth: 5
    functionLinenumber: 862
    functionLinenumberEnd: 872
    functionName: h2_duphandle
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - curl_easy_duphandle
    - http2_data_setup
    linkageType: ''
    returnType: struct Curl_easy
    signature: "struct Curl_easy *h2_duphandle(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/PROJ/curl/lib/http2.c:881,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/lib/http2.c:886,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http2.c:888,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/lib/http2.c:895,1
    - Dst: Curl_url_set_authority
      Src: /src/PROJ/curl/lib/http2.c:897,1
    - Dst: curl_pushheader_byname
      Src: /src/PROJ/curl/lib/http2.c:904,1
    - Dst: curl_url_set
      Src: /src/PROJ/curl/lib/http2.c:906,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/http2.c:913,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/http2.c:917,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http2.c:922,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - data
    - hp
    argTypes:
    - struct Curl_easy*
    - struct curl_pushheaders*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 926
    functionName: set_transfer_url
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - free
    - curl_url
    - curl_pushheader_byname
    - Curl_url_set_authority
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: int
    signature: "int set_transfer_url(struct Curl_easy *data,\n                            struct
      curl_pushheaders *hp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_data_done
      Src: /src/PROJ/curl/lib/http2.c:931,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/http2.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - newhandle
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 928
    functionDepth: 5
    functionLinenumber: 928
    functionLinenumberEnd: 933
    functionName: discard_newhandle
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - http2_data_done
    - Curl_close
    linkageType: ''
    returnType: void
    signature: "void discard_newhandle(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *newhandle)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:942,1
    - Dst: h2_duphandle
      Src: /src/PROJ/curl/lib/http2.c:951,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:953,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:958,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:960,1
    - Dst: discard_newhandle
      Src: /src/PROJ/curl/lib/http2.c:961,1
    - Dst: set_transfer_url
      Src: /src/PROJ/curl/lib/http2.c:970,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:972,1
    - Dst: discard_newhandle
      Src: /src/PROJ/curl/lib/http2.c:974,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/http2.c:979,1
    - Dst: struct Curl_easy*::multi::push_cb
      Src: /src/PROJ/curl/lib/http2.c:980,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/http2.c:983,1
    - Dst: free_push_headers
      Src: /src/PROJ/curl/lib/http2.c:986,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:989,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:991,1
    - Dst: discard_newhandle
      Src: /src/PROJ/curl/lib/http2.c:993,1
    - Dst: Curl_multi_add_perform
      Src: /src/PROJ/curl/lib/http2.c:1000,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:1002,1
    - Dst: discard_newhandle
      Src: /src/PROJ/curl/lib/http2.c:1003,1
    - Dst: http2_data_setup
      Src: /src/PROJ/curl/lib/http2.c:1008,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1010,1
    - Dst: discard_newhandle
      Src: /src/PROJ/curl/lib/http2.c:1011,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1016,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1021,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1023,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:1027,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1029,1
    - Dst: discard_newhandle
      Src: /src/PROJ/curl/lib/http2.c:1030,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1040,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 3
    argNames:
    - cf
    - data
    - frame
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - nghttp2_push_promise*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 935
    functionDepth: 6
    functionLinenumber: 935
    functionLinenumberEnd: 1045
    functionName: push_promise
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_set_stream_user_data
    - infof
    - struct Curl_easy*::multi::push_cb
    - Curl_set_in_callback
    - failf
    - CURL_TRC_CF
    - Curl_multi_add_perform
    - http2_data_setup
    - discard_newhandle
    - H2_STREAM_CTX
    - set_transfer_url
    - free_push_headers
    - DEBUGASSERT
    - h2_duphandle
    linkageType: ''
    returnType: int
    signature: "int push_promise(struct Curl_cfilter *cf,\n                        struct
      Curl_easy *data,\n                        const nghttp2_push_promise *frame)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/http2.c:1055,1
    - Dst: cf_h2_update_local_win
      Src: /src/PROJ/curl/lib/http2.c:1057,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1062
    functionName: h2_xfer_write_resp_hd
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_update_local_win
    - Curl_xfer_write_resp_hd
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void h2_xfer_write_resp_hd(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h2_stream_ctx *stream,\n
      \                                 const char *buf, size_t blen, bool eos)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp
      Src: /src/PROJ/curl/lib/http2.c:1072,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1076,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1079,1
    - Dst: Curl_xfer_write_is_paused
      Src: /src/PROJ/curl/lib/http2.c:1082,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1083,1
    - Dst: Curl_xfer_write_is_paused
      Src: /src/PROJ/curl/lib/http2.c:1086,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1087,1
    - Dst: cf_h2_update_local_win
      Src: /src/PROJ/curl/lib/http2.c:1092,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1093
    functionName: h2_xfer_write_resp
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_write_is_paused
    - CURL_TRC_CF
    - nghttp2_submit_rst_stream
    - cf_h2_update_local_win
    - Curl_xfer_write_resp
    linkageType: ''
    returnType: void
    signature: "void h2_xfer_write_resp(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h2_stream_ctx *stream,\n
      \                              const char *buf, size_t blen, bool eos)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1100,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1105,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1111,1
    - Dst: nghttp2_session_get_stream_effective_recv_data_length
      Src: /src/PROJ/curl/lib/http2.c:1113,1
    - Dst: nghttp2_session_get_stream_effective_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:1115,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1119,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/http2.c:1122,1
    - Dst: h2_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/http2.c:1146,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http2.c:1146,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1151,1
    - Dst: push_promise
      Src: /src/PROJ/curl/lib/http2.c:1154,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1156,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1157,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/http2.c:1160,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1163,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1174,1
    - Dst: CURL_WANT_SEND
      Src: /src/PROJ/curl/lib/http2.c:1177,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:1177,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1179,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:1181,1
    - Dst: nghttp2_session_resume_data
      Src: /src/PROJ/curl/lib/http2.c:1183,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/http2.c:1184,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1198,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1201,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1205,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 3
    argNames:
    - cf
    - data
    - frame
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - nghttp2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1095
    functionDepth: 7
    functionLinenumber: 1095
    functionLinenumberEnd: 1208
    functionName: on_stream_frame
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - h2_xfer_write_resp_hd
    - push_promise
    - CURL_TRC_CF
    - nghttp2_session_get_stream_effective_local_window_size
    - nghttp2_session_get_stream_effective_recv_data_length
    - Curl_multi_mark_dirty
    - Curl_bufq_is_empty
    - nghttp2_session_resume_data
    - nghttp2_submit_rst_stream
    - STRCONST
    - nghttp2_is_fatal
    - H2_STREAM_CTX
    - DEBUGASSERT
    - CURL_WANT_SEND
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode on_stream_frame(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                const nghttp2_frame *frame)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1215,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1222,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1229,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1234,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1241,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1243,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1247,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1253,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/http2.c:1260,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/http2.c:1264,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1266,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1272,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - frame
    - buffer
    - blen
    argTypes:
    - nghttp2_frame*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1211
    functionDepth: 6
    functionLinenumber: 1211
    functionLinenumberEnd: 1281
    functionName: fr_print
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_msnprintf
    - memcpy
    linkageType: ''
    returnType: int
    signature: int fr_print(const nghttp2_frame *frame, char *buffer, size_t blen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1288,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1291,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/PROJ/curl/lib/http2.c:1292,1
    - Dst: fr_print
      Src: /src/PROJ/curl/lib/http2.c:1295,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1297,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1302,1
    - Dst: nghttp2_http2_strerror
      Src: /src/PROJ/curl/lib/http2.c:1304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1283
    functionDepth: 7
    functionLinenumber: 1283
    functionLinenumberEnd: 1307
    functionName: on_frame_send
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - failf
    - fr_print
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - nghttp2_http2_strerror
    - Curl_trc_cf_is_verbose
    linkageType: ''
    returnType: int
    signature: "int on_frame_send(nghttp2_session *session, const nghttp2_frame *frame,\n
      \                        void *userp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1315,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1318,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/PROJ/curl/lib/http2.c:1320,1
    - Dst: fr_print
      Src: /src/PROJ/curl/lib/http2.c:1323,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1325,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1331,1
    - Dst: nghttp2_session_get_remote_settings
      Src: /src/PROJ/curl/lib/http2.c:1336,1
    - Dst: nghttp2_session_get_remote_settings
      Src: /src/PROJ/curl/lib/http2.c:1338,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1340,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1342,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1346,1
    - Dst: Curl_multi_connchanged
      Src: /src/PROJ/curl/lib/http2.c:1348,1
    - Dst: CURL_WANT_SEND
      Src: /src/PROJ/curl/lib/http2.c:1355,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1356,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:1365,1
    - Dst: Curl_multi_connchanged
      Src: /src/PROJ/curl/lib/http2.c:1367,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1376,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1378,1
    - Dst: on_stream_frame
      Src: /src/PROJ/curl/lib/http2.c:1382,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1310
    functionDepth: 8
    functionLinenumber: 1310
    functionLinenumberEnd: 1383
    functionName: on_frame_recv
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - Curl_multi_mark_dirty
    - nghttp2_session_get_remote_settings
    - fr_print
    - CURL_WANT_SEND
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_multi_connchanged
    - nghttp2_session_get_stream_user_data
    - on_stream_frame
    - Curl_trc_cf_is_verbose
    linkageType: ''
    returnType: int
    signature: "int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,\n
      \                        void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1394,1
    - Dst: fr_print
      Src: /src/PROJ/curl/lib/http2.c:1400,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1402,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:1403,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1405,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - session
    - frame
    - ngerr
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1385
    functionDepth: 7
    functionLinenumber: 1385
    functionLinenumberEnd: 1416
    functionName: cf_h2_on_invalid_frame_recv
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - fr_print
    - nghttp2_submit_rst_stream
    - H2_STREAM_CTX
    - nghttp2_strerror
    - nghttp2_session_get_stream_user_data
    linkageType: ''
    returnType: int
    signature: "int cf_h2_on_invalid_frame_recv(nghttp2_session *session,\n                                       const
      nghttp2_frame *frame,\n                                       int ngerr, void
      *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1428,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1429,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1429,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1432,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1437,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1437,1
    - Dst: nghttp2_session_consume
      Src: /src/PROJ/curl/lib/http2.c:1440,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1444,1
    - Dst: h2_xfer_write_resp
      Src: /src/PROJ/curl/lib/http2.c:1448,1
    - Dst: nghttp2_session_consume
      Src: /src/PROJ/curl/lib/http2.c:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - session
    - flags
    - stream_id
    - mem
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1418
    functionDepth: 4
    functionLinenumber: 1418
    functionLinenumberEnd: 1453
    functionName: on_data_chunk_recv
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - nghttp2_session_consume
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - nghttp2_session_get_stream_user_data
    - H2_STREAM_CTX
    - h2_xfer_write_resp
    linkageType: ''
    returnType: int
    signature: "int on_data_chunk_recv(nghttp2_session *session, uint8_t flags,\n
      \                             int32_t stream_id,\n                              const
      uint8_t *mem, size_t len, void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1460,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1465,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1468,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1470,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/http2.c:1474,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1478,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1480,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1483,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1485,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1497,1
    - Dst: nghttp2_http2_strerror
      Src: /src/PROJ/curl/lib/http2.c:1498,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1500,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1501,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1504,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:1506,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - session
    - stream_id
    - error_code
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1511
    functionName: on_stream_close
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_set_stream_user_data
    - infof
    - CURL_TRC_CF
    - GOOD_EASY_HANDLE
    - Curl_multi_mark_dirty
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - nghttp2_session_get_stream_user_data
    - H2_STREAM_CTX
    - nghttp2_http2_strerror
    linkageType: ''
    returnType: int
    signature: "int on_stream_close(nghttp2_session *session, int32_t stream_id,\n
      \                          uint32_t error_code, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1522,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1537
    functionName: on_begin_headers
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - H2_STREAM_CTX
    - nghttp2_session_get_stream_user_data
    linkageType: ''
    returnType: int
    signature: "int on_begin_headers(nghttp2_session *session,\n                            const
      nghttp2_frame *frame, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1546,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/http2.c:1547,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - result
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1554
    functionName: cf_h2_header_error
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_rst_stream
    - curl_easy_strerror
    - failf
    linkageType: ''
    returnType: void
    signature: "void cf_h2_header_error(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h2_stream_ctx *stream,\n
      \                              CURLcode result)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1571,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1574,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/http2.c:1575,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1580,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1582,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/http2.c:1592,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http2.c:1595,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http2.c:1600,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/http2.c:1602,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/PROJ/curl/lib/http2.c:1608,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http2.c:1612,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/http2.c:1619,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1630,1
    - Dst: free_push_headers
      Src: /src/PROJ/curl/lib/http2.c:1631,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/http2.c:1635,1
    - Dst: free_push_headers
      Src: /src/PROJ/curl/lib/http2.c:1638,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http2.c:1643,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1651,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http2.c:1653,1
    - Dst: cf_h2_header_error
      Src: /src/PROJ/curl/lib/http2.c:1657,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/http2.c:1665,1
    - Dst: Curl_http_decode_status
      Src: /src/PROJ/curl/lib/http2.c:1668,1
    - Dst: cf_h2_header_error
      Src: /src/PROJ/curl/lib/http2.c:1671,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/http2.c:1674,1
    - Dst: Curl_headers_push
      Src: /src/PROJ/curl/lib/http2.c:1676,1
    - Dst: cf_h2_header_error
      Src: /src/PROJ/curl/lib/http2.c:1678,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http2.c:1681,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1682,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http2.c:1682,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1684,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1686,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http2.c:1686,1
    - Dst: h2_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/http2.c:1688,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http2.c:1688,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http2.c:1689,1
    - Dst: cf_h2_header_error
      Src: /src/PROJ/curl/lib/http2.c:1691,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1695,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1696,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1698,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http2.c:1706,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1707,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1709,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http2.c:1709,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1711,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/http2.c:1713,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http2.c:1713,1
    - Dst: h2_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/http2.c:1715,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http2.c:1715,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http2.c:1716,1
    - Dst: cf_h2_header_error
      Src: /src/PROJ/curl/lib/http2.c:1718,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1722,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:1723,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1725,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 8
    argNames:
    - session
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1557
    functionDepth: 6
    functionLinenumber: 1557
    functionLinenumberEnd: 1729
    functionName: on_header
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - h2_xfer_write_resp_hd
    - strncmp
    - failf
    - CURL_TRC_CF
    - nghttp2_session_get_stream_user_data
    - Curl_dynhds_add
    - memcmp
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - STRCONST
    - curlx_dyn_reset
    - GOOD_EASY_HANDLE
    - Curl_headers_push
    - realloc
    - nghttp2_submit_rst_stream
    - H2_STREAM_CTX
    - DEBUGASSERT
    - free_push_headers
    - curlx_dyn_len
    - CF_DATA_CURRENT
    - curl_strequal
    - free
    - cf_h2_header_error
    - curl_maprintf
    - Curl_multi_mark_dirty
    - curl_msnprintf
    - malloc
    - Curl_http_decode_status
    linkageType: ''
    returnType: int
    signature: "int on_header(nghttp2_session *session, const nghttp2_frame *frame,\n
      \                    const uint8_t *name, size_t namelen,\n                     const
      uint8_t *value, size_t valuelen,\n                     uint8_t flags,\n                     void
      *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/PROJ/curl/lib/http2.c:1753,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1759,1
    - Dst: Curl_bufq_read
      Src: /src/PROJ/curl/lib/http2.c:1763,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1772,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:1775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - session
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1731
    functionDepth: 4
    functionLinenumber: 1731
    functionLinenumberEnd: 1780
    functionName: req_body_read_callback
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_read
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - H2_STREAM_CTX
    - nghttp2_session_get_stream_user_data
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t req_body_read_callback(nghttp2_session *session,\n                                      int32_t
      stream_id,\n                                      uint8_t *buf, size_t length,\n
      \                                     uint32_t *data_flags,\n                                      nghttp2_data_source
      *source,\n                                      void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/http2.c:1789,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - session
    - msg
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1793
    functionName: error_callback
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - CF_DATA_CURRENT
    - failf
    linkageType: ''
    returnType: int
    signature: "int error_callback(nghttp2_session *session,\n                          const
      char *msg,\n                          size_t len,\n                          void
      *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: populate_binsettings
      Src: /src/PROJ/curl/lib/http2.c:1809,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1811,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http2.c:1812,1
    - Dst: curlx_base64url_encode
      Src: /src/PROJ/curl/lib/http2.c:1816,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http2.c:1819,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http2.c:1825,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http2.c:1829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct dynbuf*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1799
    functionDepth: 3
    functionLinenumber: 1799
    functionLinenumberEnd: 1835
    functionName: Curl_http2_request_upgrade
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - free
    - failf
    - curlx_dyn_addf
    - populate_binsettings
    - curlx_dyn_free
    - curlx_base64url_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http2_request_upgrade(struct dynbuf *req,\n                                    struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1846,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http2.c:1848,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1854,1
    - Dst: nghttp2_http2_strerror
      Src: /src/PROJ/curl/lib/http2.c:1856,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1861,1
    - Dst: nghttp2_http2_strerror
      Src: /src/PROJ/curl/lib/http2.c:1862,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1867,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:1872,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/lib/http2.c:1878,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/http2.c:1884,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/lib/http2.c:1885,1
    - Dst: Curl_dynhds_getn
      Src: /src/PROJ/curl/lib/http2.c:1886,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/http2.c:1889,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/http2.c:1890,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/http2.c:1895,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http2.c:1895,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http2.c:1896,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/http2.c:1897,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/http2.c:1898,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/http2.c:1898,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/http2.c:1902,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1911,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - pnlen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1837
    functionDepth: 8
    functionLinenumber: 1837
    functionLinenumberEnd: 1913
    functionName: http2_handle_stream_close
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - failf
    - CURL_TRC_CF
    - curlx_dyn_addf
    - curlx_dyn_init
    - Curl_client_write
    - Curl_dynhds_getn
    - curlx_dyn_free
    - connclose
    - Curl_debug
    - curlx_dyn_reset
    - curlx_dyn_len
    - nghttp2_http2_strerror
    - Curl_dynhds_count
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_handle_stream_close(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          struct h2_stream_ctx
      *stream,\n                                          size_t *pnlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1920
    functionName: sweight_wanted
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sweight_wanted(const struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1927
    functionName: sweight_in_effect
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sweight_in_effect(const struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1940,1
    - Dst: nghttp2_priority_spec_init
      Src: /src/PROJ/curl/lib/http2.c:1942,1
    - Dst: sweight_wanted
      Src: /src/PROJ/curl/lib/http2.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - pri_spec
    argTypes:
    - struct cf_h2_ctx*
    - struct Curl_easy*
    - nghttp2_priority_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1935
    functionDepth: 1
    functionLinenumber: 1935
    functionLinenumberEnd: 1946
    functionName: h2_pri_spec
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_priority_spec_init
    - H2_STREAM_CTX
    - sweight_wanted
    linkageType: ''
    returnType: void
    signature: "void h2_pri_spec(struct cf_h2_ctx *ctx,\n                        struct
      Curl_easy *data,\n                        nghttp2_priority_spec *pri_spec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:1958,1
    - Dst: sweight_wanted
      Src: /src/PROJ/curl/lib/http2.c:1962,1
    - Dst: sweight_in_effect
      Src: /src/PROJ/curl/lib/http2.c:1962,1
    - Dst: h2_pri_spec
      Src: /src/PROJ/curl/lib/http2.c:1968,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1969,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:1970,1
    - Dst: nghttp2_submit_priority
      Src: /src/PROJ/curl/lib/http2.c:1971,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/http2.c:1978,1
    - Dst: nghttp2_session_send
      Src: /src/PROJ/curl/lib/http2.c:1979,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/http2.c:1982,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:1983,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:1984,1
    - Dst: nw_out_flush
      Src: /src/PROJ/curl/lib/http2.c:1992,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1954
    functionDepth: 3
    functionLinenumber: 1954
    functionLinenumberEnd: 1993
    functionName: h2_progress_egress
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 5
    functionsReached:
    - h2_pri_spec
    - sweight_in_effect
    - CURL_TRC_CF
    - nghttp2_session_want_write
    - sweight_wanted
    - nghttp2_is_fatal
    - H2_STREAM_CTX
    - DEBUGASSERT
    - nghttp2_strerror
    - nw_out_flush
    - nghttp2_session_send
    - nghttp2_submit_priority
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_progress_egress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2007,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2011,1
    - Dst: http2_handle_stream_close
      Src: /src/PROJ/curl/lib/http2.c:2012,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2015,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2017,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2022,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 1995
    functionDepth: 9
    functionLinenumber: 1995
    functionLinenumberEnd: 2025
    functionName: stream_recv
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - http2_handle_stream_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode stream_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                           struct h2_stream_ctx *stream,\n                            char
      *buf, size_t len, size_t *pnread)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: should_close_session
      Src: /src/PROJ/curl/lib/http2.c:2036,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2037,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2042,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2043,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2044,1
    - Dst: h2_process_pending_input
      Src: /src/PROJ/curl/lib/http2.c:2045,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2056,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2057,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/http2.c:2063,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:2064,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2068,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/PROJ/curl/lib/http2.c:2072,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:2075,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/http2.c:2076,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2082,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2087,1
    - Dst: h2_process_pending_input
      Src: /src/PROJ/curl/lib/http2.c:2091,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2094,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2095,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2098,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/http2.c:2099,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2102,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 3
    argNames:
    - cf
    - data
    - data_max_bytes
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2027
    functionDepth: 5
    functionLinenumber: 2027
    functionLinenumberEnd: 2104
    functionName: h2_progress_ingress
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 4
    functionsReached:
    - CURL_TRC_CF
    - h2_process_pending_input
    - failf
    - Curl_multi_mark_dirty
    - Curl_bufq_is_empty
    - struct Curl_cfilter*::next::cft::has_data_pending
    - connclose
    - should_close_session
    - Curl_bufq_len
    - H2_STREAM_CTX
    - DEBUGASSERT
    - Curl_cf_recv_bufq
    - curl_easy_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_progress_ingress(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    size_t data_max_bytes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2110,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:2120,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2125,1
    - Dst: stream_recv
      Src: /src/PROJ/curl/lib/http2.c:2127,1
    - Dst: h2_progress_ingress
      Src: /src/PROJ/curl/lib/http2.c:2132,1
    - Dst: stream_recv
      Src: /src/PROJ/curl/lib/http2.c:2136,1
    - Dst: nghttp2_session_consume
      Src: /src/PROJ/curl/lib/http2.c:2143,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2145,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:2146,1
    - Dst: h2_progress_egress
      Src: /src/PROJ/curl/lib/http2.c:2151,1
    - Dst: CURL_WANT_SEND
      Src: /src/PROJ/curl/lib/http2.c:2156,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:2157,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2162,1
    - Dst: nghttp2_session_get_stream_effective_recv_data_length
      Src: /src/PROJ/curl/lib/http2.c:2165,1
    - Dst: nghttp2_session_get_stream_effective_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:2167,1
    - Dst: nghttp2_session_get_local_window_size
      Src: /src/PROJ/curl/lib/http2.c:2169,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2106
    functionDepth: 10
    functionLinenumber: 2106
    functionLinenumberEnd: 2174
    functionName: cf_h2_recv
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - failf
    - CURL_TRC_CF
    - nghttp2_session_get_stream_effective_local_window_size
    - nghttp2_session_get_stream_effective_recv_data_length
    - Curl_multi_mark_dirty
    - nghttp2_session_get_local_window_size
    - h2_progress_egress
    - CURL_WANT_SEND
    - nghttp2_session_consume
    - stream_recv
    - H2_STREAM_CTX
    - h2_progress_ingress
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                          char *buf, size_t len, size_t *pnread)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2192,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2200,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/http2.c:2205,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2212,1
    - Dst: nghttp2_session_resume_data
      Src: /src/PROJ/curl/lib/http2.c:2214,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/http2.c:2215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - void*
    - size_t
    - bool
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2176
    functionDepth: 5
    functionLinenumber: 2176
    functionLinenumberEnd: 2221
    functionName: cf_h2_body_send
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - nghttp2_session_resume_data
    - nghttp2_is_fatal
    - Curl_bufq_write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cf_h2_body_send(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h2_stream_ctx *stream,\n
      \                              const void *buf, size_t blen, bool eos,\n                               CURLcode
      *err)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/http2.c:2241,1
    - Dst: http2_data_setup
      Src: /src/PROJ/curl/lib/http2.c:2243,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/PROJ/curl/lib/http2.c:2247,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2255,1
    - Dst: Curl_http_req_to_h2
      Src: /src/PROJ/curl/lib/http2.c:2257,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/http2.c:2261,1
    - Dst: Curl_dynhds_to_nva
      Src: /src/PROJ/curl/lib/http2.c:2263,1
    - Dst: h2_pri_spec
      Src: /src/PROJ/curl/lib/http2.c:2269,1
    - Dst: nghttp2_session_check_request_allowed
      Src: /src/PROJ/curl/lib/http2.c:2270,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2271,1
    - Dst: nghttp2_submit_request
      Src: /src/PROJ/curl/lib/http2.c:2280,1
    - Dst: nghttp2_submit_request
      Src: /src/PROJ/curl/lib/http2.c:2284,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2289,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:2290,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/http2.c:2297,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2300,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2305,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2311,1
    - Dst: cf_h2_body_send
      Src: /src/PROJ/curl/lib/http2.c:2324,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2335,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http2.c:2337,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/http2.c:2339,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 7
    argNames:
    - pstream
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct h2_stream_ctx**
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2223
    functionDepth: 6
    functionLinenumber: 2223
    functionLinenumberEnd: 2341
    functionName: h2_submit
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - infof
    - h2_pri_spec
    - Curl_dynhds_to_nva
    - CURL_TRC_CF
    - Curl_trc_is_verbose
    - Curl_h1_req_parse_read
    - Curl_dynhds_init
    - Curl_dynhds_free
    - nghttp2_submit_request
    - http2_data_setup
    - nghttp2_session_check_request_allowed
    - cf_h2_body_send
    - Curl_safefree
    - Curl_http_req_to_h2
    - DEBUGASSERT
    - Curl_h1_req_parse_free
    - nghttp2_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_submit(struct h2_stream_ctx **pstream,\n                          struct
      Curl_cfilter *cf, struct Curl_easy *data,\n                          const void
      *buf, size_t len,\n                          bool eos, size_t *pnwritten)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2348,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2353,1
    - Dst: h2_submit
      Src: /src/PROJ/curl/lib/http2.c:2357,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2360,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2367,1
    - Dst: cf_h2_body_send
      Src: /src/PROJ/curl/lib/http2.c:2368,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2369,1
    - Dst: cf_h2_body_send
      Src: /src/PROJ/curl/lib/http2.c:2377,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2378,1
    - Dst: h2_progress_egress
      Src: /src/PROJ/curl/lib/http2.c:2386,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2391,1
    - Dst: should_close_session
      Src: /src/PROJ/curl/lib/http2.c:2400,1
    - Dst: http2_handle_stream_close
      Src: /src/PROJ/curl/lib/http2.c:2404,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2407,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2414,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2419,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2421,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2422,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2423,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2426,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2429,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2430,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2432,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2343
    functionDepth: 9
    functionLinenumber: 2343
    functionLinenumberEnd: 2434
    functionName: cf_h2_send
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - infof
    - h2_submit
    - CURL_TRC_CF
    - nghttp2_session_get_remote_window_size
    - http2_handle_stream_close
    - h2_progress_egress
    - cf_h2_body_send
    - should_close_session
    - H2_STREAM_CTX
    - DEBUGASSERT
    - Curl_bufq_len
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                          const void *buf, size_t len, bool eos,\n                           size_t
      *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2440,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2444,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2445,1
    - Dst: nghttp2_session_resume_data
      Src: /src/PROJ/curl/lib/http2.c:2447,1
    - Dst: nghttp2_is_fatal
      Src: /src/PROJ/curl/lib/http2.c:2448,1
    - Dst: h2_progress_egress
      Src: /src/PROJ/curl/lib/http2.c:2454,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2458,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2462,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2464,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2465,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2466,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2469,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2471,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/http2.c:2472,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2436
    functionDepth: 4
    functionLinenumber: 2436
    functionLinenumberEnd: 2476
    functionName: cf_h2_flush
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - nghttp2_session_get_remote_window_size
    - Curl_bufq_is_empty
    - h2_progress_egress
    - nghttp2_session_resume_data
    - nghttp2_is_fatal
    - H2_STREAM_CTX
    - Curl_bufq_len
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_flush(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/http2.c:2491,1
    - Dst: Curl_pollset_check
      Src: /src/PROJ/curl/lib/http2.c:2492,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2494,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2497,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2498,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/PROJ/curl/lib/http2.c:2500,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/http2.c:2504,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2505,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/http2.c:2507,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2508,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2512,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/http2.c:2513,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2514,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/http2.c:2515,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/http2.c:2516,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2517,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2478
    functionDepth: 2
    functionLinenumber: 2478
    functionLinenumberEnd: 2520
    functionName: cf_h2_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_conn_cf_get_socket
    - nghttp2_session_want_write
    - nghttp2_session_get_remote_window_size
    - nghttp2_session_want_read
    - Curl_bufq_is_empty
    - Curl_pollset_set
    - H2_STREAM_CTX
    - Curl_pollset_check
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_adjust_pollset(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct easy_pollset *ps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/http2.c:2538,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2545,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2546,1
    - Dst: cf_h2_ctx_open
      Src: /src/PROJ/curl/lib/http2.c:2548,1
    - Dst: h2_progress_ingress
      Src: /src/PROJ/curl/lib/http2.c:2555,1
    - Dst: h2_progress_egress
      Src: /src/PROJ/curl/lib/http2.c:2562,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2571,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2572,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2522
    functionDepth: 6
    functionLinenumber: 2522
    functionLinenumberEnd: 2574
    functionName: cf_h2_connect
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    - h2_progress_egress
    - Curl_conn_cf_connect
    - DEBUGASSERT
    - h2_progress_ingress
    - cf_h2_ctx_open
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2583,1
    - Dst: cf_h2_ctx_close
      Src: /src/PROJ/curl/lib/http2.c:2584,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2585,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/http2.c:2589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2576
    functionDepth: 1
    functionLinenumber: 2576
    functionLinenumberEnd: 2590
    functionName: cf_h2_close
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - cf_h2_ctx_close
    - struct Curl_cfilter*::next::cft::do_close
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: void
    signature: void cf_h2_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_ctx_free
      Src: /src/PROJ/curl/lib/http2.c:2598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2592
    functionDepth: 6
    functionLinenumber: 2592
    functionLinenumberEnd: 2601
    functionName: cf_h2_destroy
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_h2_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2616,1
    - Dst: nghttp2_submit_goaway
      Src: /src/PROJ/curl/lib/http2.c:2620,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:2625,1
    - Dst: nghttp2_strerror
      Src: /src/PROJ/curl/lib/http2.c:2626,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/http2.c:2633,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2634,1
    - Dst: h2_progress_egress
      Src: /src/PROJ/curl/lib/http2.c:2635,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/http2.c:2636,1
    - Dst: h2_progress_ingress
      Src: /src/PROJ/curl/lib/http2.c:2637,1
    - Dst: nghttp2_session_want_write
      Src: /src/PROJ/curl/lib/http2.c:2643,1
    - Dst: nghttp2_session_want_read
      Src: /src/PROJ/curl/lib/http2.c:2644,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2645,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2648,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2603
    functionDepth: 6
    functionLinenumber: 2603
    functionLinenumberEnd: 2651
    functionName: cf_h2_shutdown
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - nghttp2_session_want_write
    - failf
    - nghttp2_submit_goaway
    - nghttp2_session_want_read
    - Curl_bufq_is_empty
    - h2_progress_egress
    - nghttp2_strerror
    - h2_progress_ingress
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_shutdown(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data, bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2658,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2660,1
    - Dst: cf_h2_update_local_win
      Src: /src/PROJ/curl/lib/http2.c:2665,1
    - Dst: h2_progress_egress
      Src: /src/PROJ/curl/lib/http2.c:2670,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/http2.c:2678,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2653
    functionDepth: 4
    functionLinenumber: 2653
    functionLinenumberEnd: 2684
    functionName: http2_data_pause
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_multi_mark_dirty
    - h2_progress_egress
    - H2_STREAM_CTX
    - DEBUGASSERT
    - cf_h2_update_local_win
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_data_pause(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool pause)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2695,1
    - Dst: http2_data_pause
      Src: /src/PROJ/curl/lib/http2.c:2700,1
    - Dst: cf_h2_flush
      Src: /src/PROJ/curl/lib/http2.c:2703,1
    - Dst: http2_data_done
      Src: /src/PROJ/curl/lib/http2.c:2706,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/PROJ/curl/lib/http2.c:2711,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2686
    functionDepth: 5
    functionLinenumber: 2686
    functionLinenumberEnd: 2719
    functionName: cf_h2_cntrl
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - http2_data_done
    - cf_h2_flush
    - Curl_conn_set_multiplex
    - http2_data_pause
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_cntrl(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int event, int arg1, void *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2726,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/http2.c:2728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2721
    functionDepth: 2
    functionLinenumber: 2721
    functionLinenumberEnd: 2729
    functionName: cf_h2_data_pending
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - struct Curl_cfilter*::next::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_data_pending(struct Curl_cfilter *cf,\n                               const
      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2740,1
    - Dst: http2_connisalive
      Src: /src/PROJ/curl/lib/http2.c:2741,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2742,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2731
    functionDepth: 6
    functionLinenumber: 2731
    functionLinenumberEnd: 2746
    functionName: cf_h2_is_alive
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - http2_connisalive
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_is_alive(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           bool *input_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2754,1
    - Dst: http2_send_ping
      Src: /src/PROJ/curl/lib/http2.c:2755,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2748
    functionDepth: 1
    functionLinenumber: 2748
    functionLinenumberEnd: 2758
    functionName: cf_h2_keep_alive
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - http2_send_ping
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_keep_alive(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2770,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/http2.c:2772,1
    - Dst: nghttp2_session_check_request_allowed
      Src: /src/PROJ/curl/lib/http2.c:2773,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/http2.c:2775,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/http2.c:2781,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2784,1
    - Dst: H2_STREAM_CTX
      Src: /src/PROJ/curl/lib/http2.c:2789,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2790,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/http2.c:2791,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/http2.c:2804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2760
    functionDepth: 2
    functionLinenumber: 2760
    functionLinenumberEnd: 2806
    functionName: cf_h2_query
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_bufq_is_empty
    - CONN_ATTACHED
    - nghttp2_session_check_request_allowed
    - H2_STREAM_CTX
    - DEBUGASSERT
    - CF_DATA_RESTORE
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_query(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int query, int *pres1, void *pres2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2836,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http2.c:2837,1
    - Dst: cf_h2_ctx_init
      Src: /src/PROJ/curl/lib/http2.c:2840,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/http2.c:2842,1
    - Dst: Curl_conn_cf_add
      Src: /src/PROJ/curl/lib/http2.c:2847,1
    - Dst: cf_h2_ctx_free
      Src: /src/PROJ/curl/lib/http2.c:2851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - sockindex
    - via_h1_upgrade
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2826
    functionDepth: 6
    functionLinenumber: 2826
    functionLinenumberEnd: 2854
    functionName: http2_cfilter_add
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_ctx_free
    - Curl_cf_create
    - calloc
    - DEBUGASSERT
    - cf_h2_ctx_init
    - Curl_conn_cf_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_cfilter_add(struct Curl_cfilter **pcf,\n                                  struct
      Curl_easy *data,\n                                  struct connectdata *conn,\n
      \                                 int sockindex,\n                                  bool
      via_h1_upgrade)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http2.c:2865,1
    - Dst: cf_h2_ctx_init
      Src: /src/PROJ/curl/lib/http2.c:2868,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/http2.c:2870,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/http2.c:2875,1
    - Dst: cf_h2_ctx_free
      Src: /src/PROJ/curl/lib/http2.c:2879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cf
    - data
    - via_h1_upgrade
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2856
    functionDepth: 6
    functionLinenumber: 2856
    functionLinenumberEnd: 2881
    functionName: http2_cfilter_insert_after
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_ctx_free
    - Curl_cf_create
    - calloc
    - Curl_conn_cf_insert_after
    - cf_h2_ctx_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_cfilter_insert_after(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           bool via_h1_upgrade)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http2.c:2885,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2883
    functionDepth: 1
    functionLinenumber: 2883
    functionLinenumberEnd: 2899
    functionName: Curl_http2_may_switch
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_conn_http_version
    linkageType: ''
    returnType: bool
    signature: bool Curl_http2_may_switch(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2906,1
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http2.c:2906,1
    - Dst: http2_cfilter_add
      Src: /src/PROJ/curl/lib/http2.c:2908,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2911,1
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/http2.c:2915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2901
    functionDepth: 7
    functionLinenumber: 2901
    functionLinenumberEnd: 2918
    functionName: Curl_http2_switch
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - http2_cfilter_add
    - Curl_conn_cf_connect
    - Curl_conn_http_version
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http2_switch(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2925,1
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http2.c:2925,1
    - Dst: http2_cfilter_insert_after
      Src: /src/PROJ/curl/lib/http2.c:2927,1
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/http2.c:2935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2920
    functionDepth: 7
    functionLinenumber: 2920
    functionLinenumberEnd: 2938
    functionName: Curl_http2_switch_at
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - Curl_conn_http_version
    - DEBUGASSERT
    - Curl_conn_cf_connect
    - http2_cfilter_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http2_switch_at(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2948,1
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http2.c:2948,1
    - Dst: http2_cfilter_add
      Src: /src/PROJ/curl/lib/http2.c:2950,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http2.c:2953,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http2.c:2955,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/http2.c:2968,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:2971,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http2.c:2975,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http2.c:2980,1
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/http2.c:2986,1
    - Dst: struct Curl_cfilter*::cft::cntrl
      Src: /src/PROJ/curl/lib/http2.c:2988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - mem
    - nread
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2940
    functionDepth: 7
    functionLinenumber: 2940
    functionLinenumberEnd: 2991
    functionName: Curl_http2_upgrade
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - infof
    - CURL_TRC_CF
    - failf
    - http2_cfilter_add
    - Curl_conn_cf_connect
    - Curl_conn_http_version
    - DEBUGASSERT
    - Curl_bufq_write
    - struct Curl_cfilter*::cft::cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http2_upgrade(struct Curl_easy *data,\n                            struct
      connectdata *conn, int sockindex,\n                            const char *mem,
      size_t nread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/PROJ/curl/lib/http2.c:2997,1
    - Dst: Curl_conn_get_stream_error
      Src: /src/PROJ/curl/lib/http2.c:2998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2995
    functionDepth: 2
    functionLinenumber: 2995
    functionLinenumberEnd: 3002
    functionName: Curl_h2_http_1_1_error
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_http_version
    - Curl_conn_get_stream_error
    linkageType: ''
    returnType: bool
    signature: bool Curl_h2_http_1_1_error(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/PROJ/curl/lib/http2.c:3007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - user_data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 3004
    functionDepth: 0
    functionLinenumber: 3004
    functionLinenumberEnd: 3008
    functionName: Curl_nghttp2_malloc
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void *Curl_nghttp2_malloc(size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/PROJ/curl/lib/http2.c:3013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3014
    functionName: Curl_nghttp2_free
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void Curl_nghttp2_free(void *ptr, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ccalloc
      Src: /src/PROJ/curl/lib/http2.c:3019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nmemb
    - size
    - user_data
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3020
    functionName: Curl_nghttp2_calloc
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_ccalloc
    linkageType: ''
    returnType: void
    signature: void *Curl_nghttp2_calloc(size_t nmemb, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_crealloc
      Src: /src/PROJ/curl/lib/http2.c:3025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - user_data
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3026
    functionName: Curl_nghttp2_realloc
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_crealloc
    linkageType: ''
    returnType: void
    signature: void *Curl_nghttp2_realloc(void *ptr, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - struct curl_pushheaders*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3038
    functionName: curl_pushheader_bynum
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - header
    argTypes:
    - struct curl_pushheaders*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3045
    functionName: curl_pushheader_byname
    functionSourceFile: /src/PROJ/curl/lib/http2.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_byname(struct curl_pushheaders *h, const char
      *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: Curl_sndbuf_init
    functionSourceFile: /src/PROJ/curl/lib/cf-socket.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_sndbuf_init(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: setsockopt
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsockopt(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: SET_RCVTIMEO
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RCVTIMEO(tv,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SET_RCVTIMEO
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RCVTIMEO(tv,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SET_RCVTIMEO
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RCVTIMEO(tv,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTMP_Close
      Src: /src/PROJ/curl/lib/curl_rtmp.c:229,1
    - Dst: RTMP_Free
      Src: /src/PROJ/curl/lib/curl_rtmp.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: rtmp_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - RTMP_Close
    - RTMP_Free
    linkageType: ''
    returnType: void
    signature: void rtmp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTMP_Alloc
      Src: /src/PROJ/curl/lib/curl_rtmp.c:236,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/curl_rtmp.c:238,1
    - Dst: RTMP_Init
      Src: /src/PROJ/curl/lib/curl_rtmp.c:241,1
    - Dst: RTMP_SetBufferMS
      Src: /src/PROJ/curl/lib/curl_rtmp.c:242,1
    - Dst: RTMP_SetupURL
      Src: /src/PROJ/curl/lib/curl_rtmp.c:243,1
    - Dst: RTMP_Free
      Src: /src/PROJ/curl/lib/curl_rtmp.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: rtmp_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - RTMP_Init
    - RTMP_Alloc
    - RTMP_SetBufferMS
    - Curl_conn_meta_set
    - RTMP_Free
    - RTMP_SetupURL
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/curl_rtmp.c:253,1
    - Dst: SET_RCVTIMEO
      Src: /src/PROJ/curl/lib/curl_rtmp.c:254,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/curl_rtmp.c:272,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/curl_rtmp.c:273,1
    - Dst: RTMP_Connect1
      Src: /src/PROJ/curl/lib/curl_rtmp.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: rtmp_connect
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - RTMP_Connect1
    - SET_RCVTIMEO
    - setsockopt
    - Curl_conn_meta_get
    - curlx_nonblock
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtmp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/curl_rtmp.c:291,1
    - Dst: RTMP_ConnectStream
      Src: /src/PROJ/curl/lib/curl_rtmp.c:293,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/curl_rtmp.c:297,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/curl_rtmp.c:298,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/curl_rtmp.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: rtmp_do
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_recv
    - Curl_xfer_setup_send
    - RTMP_ConnectStream
    - Curl_conn_meta_get
    - Curl_pgrsSetUploadSize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtmp_do(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: rtmp_done
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/curl_rtmp.c:320,1
    - Dst: Curl_conn_meta_remove
      Src: /src/PROJ/curl/lib/curl_rtmp.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: rtmp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_meta_remove
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/curl_rtmp.c:332,1
    - Dst: RTMP_Read
      Src: /src/PROJ/curl/lib/curl_rtmp.c:341,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/lib/curl_rtmp.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - data
    - sockindex
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 354
    functionName: rtmp_recv
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - RTMP_Read
    - curlx_uztosi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_recv(struct Curl_easy *data, int sockindex, char *buf,\n
      \                         size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/curl_rtmp.c:361,1
    - Dst: RTMP_Write
      Src: /src/PROJ/curl/lib/curl_rtmp.c:370,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/lib/curl_rtmp.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - data
    - sockindex
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: rtmp_send
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - RTMP_Write
    - curlx_uztosi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_send(struct Curl_easy *data, int sockindex,\n                          const
      void *buf, size_t len, bool eos,\n                          size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/curl_rtmp.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - version
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 6
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: Curl_rtmp_version
    functionSourceFile: /src/PROJ/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_rtmp_version(char *version, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: gopher_connect
    functionSourceFile: /src/PROJ/curl/lib/gopher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gopher_connect(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/gopher.c:126,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/gopher.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: gopher_connecting
    functionSourceFile: /src/PROJ/curl/lib/gopher.c
    functionUses: 0
    functionsReached:
    - connclose
    - Curl_conn_connect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gopher_connecting(struct Curl_easy *data, bool *done)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/gopher.c:152,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/gopher.c:155,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/gopher.c:157,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/gopher.c:163,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/gopher.c:164,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/gopher.c:165,1
    - Dst: free
      Src: /src/PROJ/curl/lib/gopher.c:166,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/gopher.c:176,1
    - Dst: free
      Src: /src/PROJ/curl/lib/gopher.c:177,1
    - Dst: curlx_uztosz
      Src: /src/PROJ/curl/lib/gopher.c:183,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/gopher.c:188,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/gopher.c:191,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/gopher.c:193,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/gopher.c:205,1
    - Dst: SOCKET_WRITABLE
      Src: /src/PROJ/curl/lib/gopher.c:219,1
    - Dst: free
      Src: /src/PROJ/curl/lib/gopher.c:230,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/gopher.c:233,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/gopher.c:235,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/gopher.c:238,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/gopher.c:242,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 244
    functionName: gopher_do
    functionSourceFile: /src/PROJ/curl/lib/gopher.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - curl_maprintf
    - Curl_timeleft
    - Curl_xfer_setup_recv
    - Curl_client_write
    - SOCKET_WRITABLE
    - CURL_UNCONST
    - strlen
    - DEBUGASSERT
    - Curl_urldecode
    - curlx_uztosz
    - Curl_xfer_send
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gopher_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/dict.c:117,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/dict.c:125,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/dict.c:127,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/dict.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: unescape_word
    functionSourceFile: /src/PROJ/curl/lib/dict.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - curlx_dyn_addn
    - curlx_dyn_ptr
    linkageType: ''
    returnType: char
    signature: char *unescape_word(const char *input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/dict.c:146,1
    - Dst: curl_mvaprintf
      Src: /src/PROJ/curl/lib/dict.c:147,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/dict.c:148,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/dict.c:153,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/dict.c:158,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/dict.c:163,1
    - Dst: free
      Src: /src/PROJ/curl/lib/dict.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 138
    functionDepth: 8
    functionLinenumber: 138
    functionLinenumberEnd: 178
    functionName: sendf
    functionSourceFile: /src/PROJ/curl/lib/dict.c
    functionUses: 12
    functionsReached:
    - va_end
    - free
    - va_start
    - Curl_debug
    - strlen
    - curl_mvaprintf
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sendf(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/dict.c:196,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dict.c:200,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dict.c:201,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dict.c:202,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:204,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:207,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:210,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:213,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/dict.c:222,1
    - Dst: unescape_word
      Src: /src/PROJ/curl/lib/dict.c:224,1
    - Dst: sendf
      Src: /src/PROJ/curl/lib/dict.c:230,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/dict.c:242,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/dict.c:245,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dict.c:247,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dict.c:248,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/dict.c:249,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:251,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:254,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:257,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/dict.c:265,1
    - Dst: unescape_word
      Src: /src/PROJ/curl/lib/dict.c:267,1
    - Dst: sendf
      Src: /src/PROJ/curl/lib/dict.c:273,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/dict.c:283,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/dict.c:286,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/dict.c:290,1
    - Dst: sendf
      Src: /src/PROJ/curl/lib/dict.c:299,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/dict.c:304,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/dict.c:308,1
    - Dst: free
      Src: /src/PROJ/curl/lib/dict.c:313,1
    - Dst: free
      Src: /src/PROJ/curl/lib/dict.c:314,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 180
    functionDepth: 9
    functionLinenumber: 180
    functionLinenumberEnd: 316
    functionName: dict_do
    functionSourceFile: /src/PROJ/curl/lib/dict.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - failf
    - Curl_xfer_setup_recv
    - strchr
    - sendf
    - curl_strnequal
    - Curl_urldecode
    - unescape_word
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode dict_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/rand.c:70,1
    - Dst: BCryptGenRandom
      Src: /src/PROJ/curl/lib/rand.c:73,1
    - Dst: CryptAcquireContext
      Src: /src/PROJ/curl/lib/rand.c:82,1
    - Dst: CryptGenRandom
      Src: /src/PROJ/curl/lib/rand.c:86,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/rand.c:87,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/rand.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - entropy
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: Curl_win32_random
    functionSourceFile: /src/PROJ/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - CryptGenRandom
    - CryptAcquireContext
    - memset
    - CryptReleaseContext
    - BCryptGenRandom
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_win32_random(unsigned char *entropy, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rand.c:107,1
    - Dst: Curl_win32_random
      Src: /src/PROJ/curl/lib/rand.c:113,1
    - Dst: arc4random
      Src: /src/PROJ/curl/lib/rand.c:121,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/rand.c:122,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rand.c:124,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/rand.c:130,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/rand.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 145
    functionName: weak_random
    functionSourceFile: /src/PROJ/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_win32_random
    - memcpy
    - curlx_now
    - arc4random
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode weak_random(struct Curl_easy *data,\n                            unsigned
      char *entropy,\n                            size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/rand.c:153,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/rand.c:160,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/rand.c:163,1
    - Dst: ntohl
      Src: /src/PROJ/curl/lib/rand.c:164,1
    - Dst: Curl_ssl_random
      Src: /src/PROJ/curl/lib/rand.c:179,1
    - Dst: weak_random
      Src: /src/PROJ/curl/lib/rand.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - data
    - rnd
    - env_override
    argTypes:
    - struct Curl_easy*
    - unsigned int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 183
    functionName: randit
    functionSourceFile: /src/PROJ/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - getenv
    - Curl_ssl_random
    - memcpy
    - weak_random
    - ntohl
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode randit(struct Curl_easy *data, unsigned int *rnd,\n                       bool
      env_override)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rand.c:211,1
    - Dst: randit
      Src: /src/PROJ/curl/lib/rand.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - data
    - env_override
    - rnd
    - num
    argTypes:
    - struct Curl_easy*
    - DEBUGBUILD
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 230
    functionName: Curl_rand_bytes
    functionSourceFile: /src/PROJ/curl/lib/rand.c
    functionUses: 1
    functionsReached:
    - randit
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_rand_bytes(struct Curl_easy *data,\n#ifdef DEBUGBUILD\n
      \                        bool env_override,\n#endif\n                         unsigned
      char *rnd, size_t num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rand.c:243,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/rand.c:248,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rand.c:253,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rand.c:253,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/rand.c:259,1
    - Dst: Curl_hexencode
      Src: /src/PROJ/curl/lib/rand.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - rnd
    - num
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: Curl_rand_hex
    functionSourceFile: /src/PROJ/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - infof
    - DEBUGF
    - memset
    - DEBUGASSERT
    - Curl_hexencode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_rand_hex(struct Curl_easy *data, unsigned char *rnd,\n
      \                      size_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rand.c:281,1
    - Dst: randit
      Src: /src/PROJ/curl/lib/rand.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - rnd
    - num
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: Curl_rand_alnum
    functionSourceFile: /src/PROJ/curl/lib/rand.c
    functionUses: 1
    functionsReached:
    - randit
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_rand_alnum(struct Curl_easy *data, unsigned char *rnd,\n
      \                        size_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/getinfo.c:77,1
    - Dst: free
      Src: /src/PROJ/curl/lib/getinfo.c:80,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/getinfo.c:83,1
    - Dst: Curl_ssl_free_certinfo
      Src: /src/PROJ/curl/lib/getinfo.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 95
    functionName: Curl_initinfo
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 4
    functionsReached:
    - memset
    - free
    - Curl_ssl_free_certinfo
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_initinfo(struct Curl_easy *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: switch
      Src: /src/PROJ/curl/lib/getinfo.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - data
    - info
    - param_charp
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: getinfo_char
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - switch
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_char(struct Curl_easy *data, CURLINFO info,\n                             const
      char **param_charp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: DOUBLE_SECS
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLE_SECS(x)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/getinfo.c:385,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/getinfo.c:388,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 3
    argNames:
    - data
    - info
    - param_offt
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 478
    functionName: getinfo_offt
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,\n                             curl_off_t
      *param_offt)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/getinfo.c:484,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/getinfo.c:487,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:508,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:511,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:514,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:517,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:520,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:523,1
    - Dst: DOUBLE_SECS
      Src: /src/PROJ/curl/lib/getinfo.c:546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - data
    - info
    - param_doublep
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 554
    functionName: getinfo_double
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - DOUBLE_SECS
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_double(struct Curl_easy *data, CURLINFO info,\n                               double
      *param_doublep)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_engines_list
      Src: /src/PROJ/curl/lib/getinfo.c:566,1
    - Dst: Curl_cookie_list
      Src: /src/PROJ/curl/lib/getinfo.c:569,1
    - Dst: Curl_conn_get_ssl_info
      Src: /src/PROJ/curl/lib/getinfo.c:587,1
    - Dst: Curl_ssl_backend
      Src: /src/PROJ/curl/lib/getinfo.c:588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - data
    - info
    - param_slistp
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 598
    functionName: getinfo_slist
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - Curl_conn_get_ssl_info
    - Curl_ssl_backend
    - Curl_ssl_engines_list
    - Curl_cookie_list
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_slist(struct Curl_easy *data, CURLINFO info,\n                              struct
      curl_slist **param_slistp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getconnectinfo
      Src: /src/PROJ/curl/lib/getinfo.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - info
    - param_socketp
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: getinfo_socket
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - Curl_getconnectinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_socket(struct Curl_easy *data, CURLINFO info,\n                               curl_socket_t
      *param_socketp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/getinfo.c:629,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/getinfo.c:634,1
    - Dst: getinfo_char
      Src: /src/PROJ/curl/lib/getinfo.c:636,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/getinfo.c:639,1
    - Dst: getinfo_long
      Src: /src/PROJ/curl/lib/getinfo.c:641,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/getinfo.c:644,1
    - Dst: getinfo_double
      Src: /src/PROJ/curl/lib/getinfo.c:646,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/getinfo.c:649,1
    - Dst: getinfo_offt
      Src: /src/PROJ/curl/lib/getinfo.c:651,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/getinfo.c:654,1
    - Dst: getinfo_slist
      Src: /src/PROJ/curl/lib/getinfo.c:656,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/getinfo.c:659,1
    - Dst: getinfo_socket
      Src: /src/PROJ/curl/lib/getinfo.c:661,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/getinfo.c:668,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - data
    - info
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 671
    functionName: Curl_getinfo
    functionSourceFile: /src/PROJ/curl/lib/getinfo.c
    functionUses: 2
    functionsReached:
    - va_end
    - getinfo_double
    - getinfo_offt
    - va_start
    - va_arg
    - getinfo_slist
    - getinfo_socket
    - getinfo_char
    - getinfo_long
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_getinfo(struct Curl_easy *data, CURLINFO info, ...)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/http_proxy.c:100,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_proxy.c:101,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_proxy.c:102,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_proxy.c:105,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/http_proxy.c:112,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_proxy.c:113,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_proxy.c:134,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_proxy.c:134,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:138,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:141,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:144,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:148,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:150,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:152,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/http_proxy.c:153,1
    - Dst: Curl_auth_allowed_to_host
      Src: /src/PROJ/curl/lib/http_proxy.c:156,1
    - Dst: Curl_dynhds_add
      Src: /src/PROJ/curl/lib/http_proxy.c:159,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/http_proxy.c:159,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/http_proxy.c:159,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 64
    argCount: 4
    argNames:
    - data
    - is_connect
    - httpversion
    - hds
    argTypes:
    - struct Curl_easy*
    - bool
    - int
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 168
    functionName: dynhds_add_custom
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - curlx_str_single
    - Curl_auth_allowed_to_host
    - curlx_str_passblanks
    - curlx_str_cspn
    - curlx_str
    - DEBUGASSERT
    - strlen
    - Curl_dynhds_add
    - curlx_strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode dynhds_add_custom(struct Curl_easy *data,\n                                  bool
      is_connect, int httpversion,\n                                  struct dynhds
      *hds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_proxy.c:174,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_proxy.c:175,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_proxy.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - cf
    - phostname
    - pport
    - pipv6_ip
    argTypes:
    - struct Curl_cfilter*
    - char**
    - int*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: Curl_http_proxy_get_destination
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 1
    functionsReached:
    - strchr
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_proxy_get_destination(struct Curl_cfilter *cf,\n
      \                                        const char **phostname,\n                                         int
      *pport, bool *pipv6_ip)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_proxy_get_destination
      Src: /src/PROJ/curl/lib/http_proxy.c:217,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_proxy.c:221,1
    - Dst: Curl_http_req_make
      Src: /src/PROJ/curl/lib/http_proxy.c:228,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_proxy.c:229,1
    - Dst: Curl_http_output_auth
      Src: /src/PROJ/curl/lib/http_proxy.c:235,1
    - Dst: Curl_checkProxyheaders
      Src: /src/PROJ/curl/lib/http_proxy.c:242,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_proxy.c:242,1
    - Dst: Curl_dynhds_cadd
      Src: /src/PROJ/curl/lib/http_proxy.c:243,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/PROJ/curl/lib/http_proxy.c:249,1
    - Dst: Curl_checkProxyheaders
      Src: /src/PROJ/curl/lib/http_proxy.c:255,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_proxy.c:255,1
    - Dst: Curl_dynhds_cadd
      Src: /src/PROJ/curl/lib/http_proxy.c:257,1
    - Dst: Curl_checkProxyheaders
      Src: /src/PROJ/curl/lib/http_proxy.c:264,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/http_proxy.c:264,1
    - Dst: Curl_dynhds_cadd
      Src: /src/PROJ/curl/lib/http_proxy.c:265,1
    - Dst: dynhds_add_custom
      Src: /src/PROJ/curl/lib/http_proxy.c:270,1
    - Dst: Curl_http_req_free
      Src: /src/PROJ/curl/lib/http_proxy.c:274,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_proxy.c:277,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 4
    argNames:
    - preq
    - cf
    - data
    - http_version_major
    argTypes:
    - struct httpreq**
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 280
    functionName: Curl_http_proxy_create_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 1
    functionsReached:
    - Curl_http_req_free
    - free
    - Curl_checkProxyheaders
    - Curl_dynhds_cadd
    - curl_maprintf
    - dynhds_add_custom
    - Curl_http_proxy_get_destination
    - STRCONST
    - Curl_dynhds_h1_cadd_line
    - Curl_http_output_auth
    - strlen
    - Curl_http_req_make
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_proxy_create_CONNECT(struct httpreq **preq,\n                                        struct
      Curl_cfilter *cf,\n                                        struct Curl_easy
      *data,\n                                        int http_version_major)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http_proxy.c:294,1
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/PROJ/curl/lib/http_proxy.c:296,1
    - Dst: Curl_conn_cf_get_alpn_negotiated
      Src: /src/PROJ/curl/lib/http_proxy.c:303,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_proxy.c:306,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/http_proxy.c:308,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http_proxy.c:310,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http_proxy.c:311,1
    - Dst: Curl_cf_h1_proxy_insert_after
      Src: /src/PROJ/curl/lib/http_proxy.c:312,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http_proxy.c:317,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http_proxy.c:318,1
    - Dst: Curl_cf_h1_proxy_insert_after
      Src: /src/PROJ/curl/lib/http_proxy.c:319,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/http_proxy.c:326,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http_proxy.c:327,1
    - Dst: Curl_cf_h2_proxy_insert_after
      Src: /src/PROJ/curl/lib/http_proxy.c:328,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/http_proxy.c:335,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 282
    functionDepth: 6
    functionLinenumber: 282
    functionLinenumberEnd: 346
    functionName: http_proxy_cf_connect
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_cf_h2_proxy_insert_after
    - Curl_conn_cf_get_alpn_negotiated
    - CURL_TRC_CF
    - strcmp
    - failf
    - Curl_cf_h1_proxy_insert_after
    - struct Curl_cfilter*::next::cft::do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_proxy_cf_connect(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/http_proxy.c:374,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/http_proxy.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: Curl_cf_http_proxy_query
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::query
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_http_proxy_query(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int query, int *pres1, void
      *pres2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http_proxy.c:392,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_proxy.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: http_proxy_cf_destroy
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void http_proxy_cf_destroy(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/http_proxy.c:399,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/http_proxy.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: http_proxy_cf_close
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void http_proxy_cf_close(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/http_proxy.c:432,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/http_proxy.c:437,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/http_proxy.c:441,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_proxy.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 446
    functionName: Curl_cf_http_proxy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - free
    - calloc
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_http_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                        struct Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/imap.c:286,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/imap.c:292,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/imap.c:296,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - line
    - len
    - cmd
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 312
    functionName: imap_matchresp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool imap_matchresp(const char *line, size_t len, const char *cmd)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:324,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/imap.c:325,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/imap.c:329,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/imap.c:330,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/imap.c:336,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/imap.c:337,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/imap.c:341,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/imap.c:343,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/imap.c:352,1
    - Dst: imap_matchresp
      Src: /src/PROJ/curl/lib/imap.c:356,1
    - Dst: imap_matchresp
      Src: /src/PROJ/curl/lib/imap.c:361,1
    - Dst: imap_matchresp
      Src: /src/PROJ/curl/lib/imap.c:362,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:363,1
    - Dst: imap_matchresp
      Src: /src/PROJ/curl/lib/imap.c:364,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:365,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:366,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:367,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:368,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:369,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:370,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:371,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:372,1
    - Dst: imap_matchresp
      Src: /src/PROJ/curl/lib/imap.c:382,1
    - Dst: imap_matchresp
      Src: /src/PROJ/curl/lib/imap.c:387,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/imap.c:405,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:414,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 57
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - resp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 423
    functionName: imap_endofresp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_matchresp
    - failf
    - Curl_meta_get
    - Curl_conn_meta_get
    - DEBUGASSERT
    - memcmp
    - strlen
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: "bool imap_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                          const char *line, size_t len, int *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:434,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:441,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/imap.c:457,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/imap.c:461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 464
    functionName: imap_get_message
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - Curl_conn_meta_get
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - imapc
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 503
    functionName: imap_state
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void imap_state(struct Curl_easy *data,\n                       struct
      imap_conn *imapc,\n                       imapstate newstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:522,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 528
    functionName: imap_perform_capability
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_capability(struct Curl_easy *data,\n                                        struct
      imap_conn *imapc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:540,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: imap_perform_starttls
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_starttls(struct Curl_easy *data,\n                                      struct
      imap_conn *imapc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/imap.c:563,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/PROJ/curl/lib/imap.c:564,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/imap.c:571,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/imap.c:572,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/imap.c:573,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:573,1
    - Dst: imap_perform_capability
      Src: /src/PROJ/curl/lib/imap.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - data
    - imapc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 588
    functionName: imap_perform_upgrade_tls
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_is_ssl
    - Curl_conn_connect
    - imap_perform_capability
    - DEBUGASSERT
    - Curl_ssl_cfilter_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_upgrade_tls(struct Curl_easy *data,\n                                         struct
      imap_conn *imapc,\n                                         struct connectdata
      *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:607,1
    - Dst: imap_atom
      Src: /src/PROJ/curl/lib/imap.c:613,1
    - Dst: imap_atom
      Src: /src/PROJ/curl/lib/imap.c:614,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:617,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:620,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:621,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - imapc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 627
    functionName: imap_perform_login
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_atom
    - free
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_login(struct Curl_easy *data,\n                                   struct
      imap_conn *imapc,\n                                   struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:641,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/imap.c:643,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:649,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 657
    functionName: imap_perform_authenticate
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_authenticate(struct Curl_easy *data,\n                                          const
      char *mech,\n                                          const struct bufref *initresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:670,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/imap.c:675,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/imap.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 677
    functionName: imap_continue_authenticate
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_continue_authenticate(struct Curl_easy *data,\n                                           const
      char *mech,\n                                           const struct bufref
      *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:689,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/imap.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: imap_cancel_authenticate
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_cancel_authenticate(struct Curl_easy *data,\n                                         const
      char *mech)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_can_authenticate
      Src: /src/PROJ/curl/lib/imap.c:714,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:715,1
    - Dst: Curl_sasl_start
      Src: /src/PROJ/curl/lib/imap.c:720,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:724,1
    - Dst: imap_perform_login
      Src: /src/PROJ/curl/lib/imap.c:727,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/PROJ/curl/lib/imap.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 733
    functionName: imap_perform_authentication
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_login
    - Curl_sasl_start
    - imap_state
    - Curl_sasl_is_blocked
    - Curl_sasl_can_authenticate
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_authentication(struct Curl_easy *data,\n                                            struct
      imap_conn *imapc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:749,1
    - Dst: imap_atom
      Src: /src/PROJ/curl/lib/imap.c:753,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/imap.c:754,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:759,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:761,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 768
    functionName: imap_perform_list
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - free
    - imap_state
    - imap_atom
    - imap_sendf
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_list(struct Curl_easy *data,\n                                  struct
      imap_conn *imapc,\n                                  struct IMAP *imap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:784,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:788,1
    - Dst: imap_atom
      Src: /src/PROJ/curl/lib/imap.c:793,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:798,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:800,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 806
    functionName: imap_perform_select
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - imap_atom
    - Curl_safefree
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_select(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc,\n                                    struct IMAP *imap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:824,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:828,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:834,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:838,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:842,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 849
    functionName: imap_perform_fetch
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_fetch(struct Curl_easy *data,\n                                   struct
      imap_conn *imapc,\n                                   struct IMAP *imap)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:867,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/lib/imap.c:878,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/PROJ/curl/lib/imap.c:879,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/imap.c:883,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/imap.c:883,1
    - Dst: Curl_mime_add_header
      Src: /src/PROJ/curl/lib/imap.c:884,1
    - Dst: Curl_creader_set_mime
      Src: /src/PROJ/curl/lib/imap.c:888,1
    - Dst: Curl_creader_client_length
      Src: /src/PROJ/curl/lib/imap.c:891,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/imap.c:896,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:903,1
    - Dst: imap_atom
      Src: /src/PROJ/curl/lib/imap.c:908,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/imap.c:913,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/imap.c:926,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/imap.c:932,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/imap.c:932,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/imap.c:933,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/imap.c:934,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/imap.c:939,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/imap.c:942,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:945,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:946,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/imap.c:949,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:950,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:953,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 857
    functionDepth: 6
    functionLinenumber: 857
    functionLinenumberEnd: 956
    functionName: imap_perform_append
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_creader_client_length
    - Curl_mime_prepare_headers
    - free
    - curlx_dyn_ptr
    - failf
    - Curl_checkheaders
    - Curl_mime_add_header
    - curlx_dyn_init
    - imap_sendf
    - curlx_dyn_free
    - Curl_creader_set_fread
    - STRCONST
    - Curl_creader_set_mime
    - imap_atom
    - curlx_dyn_add
    - curlx_dyn_len
    - imap_state
    - curl_mime_headers
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_append(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc,\n                                    struct IMAP *imap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:972,1
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:977,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 983
    functionName: imap_perform_search
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_search(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc,\n                                    struct IMAP *imap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/PROJ/curl/lib/imap.c:995,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1001
    functionName: imap_perform_logout
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_logout(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1014,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1017,1
    - Dst: imap_perform_capability
      Src: /src/PROJ/curl/lib/imap.c:1021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1022
    functionName: imap_state_servergreet_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - imap_perform_capability
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_servergreet_resp(struct Curl_easy *data,\n                                            struct
      imap_conn *imapc,\n                                            int imapcode,\n
      \                                           imapstate instate)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:1032,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:1060,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:1064,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:1068,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:1072,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/PROJ/curl/lib/imap.c:1080,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/imap.c:1088,1
    - Dst: imap_perform_starttls
      Src: /src/PROJ/curl/lib/imap.c:1092,1
    - Dst: imap_perform_authentication
      Src: /src/PROJ/curl/lib/imap.c:1095,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1097,1
    - Dst: imap_perform_authentication
      Src: /src/PROJ/curl/lib/imap.c:1102,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1105
    functionName: imap_state_capability_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_starttls
    - curlx_dyn_ptr
    - failf
    - Curl_conn_is_ssl
    - Curl_sasl_decode_mech
    - curl_strnequal
    - imap_perform_authentication
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_capability_resp(struct Curl_easy *data,\n                                           struct
      imap_conn *imapc,\n                                           int imapcode,\n
      \                                          imapstate instate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1123,1
    - Dst: imap_perform_authentication
      Src: /src/PROJ/curl/lib/imap.c:1127,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1108
    functionDepth: 4
    functionLinenumber: 1108
    functionLinenumberEnd: 1133
    functionName: imap_state_starttls_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_authentication
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_starttls_resp(struct Curl_easy *data,\n                                         struct
      imap_conn *imapc,\n                                         int imapcode,\n
      \                                        imapstate instate)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_continue
      Src: /src/PROJ/curl/lib/imap.c:1146,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1150,1
    - Dst: imap_perform_login
      Src: /src/PROJ/curl/lib/imap.c:1155,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1166
    functionName: imap_state_auth_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_continue
    - imap_perform_login
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_auth_resp(struct Curl_easy *data,\n                                     struct
      imap_conn *imapc,\n                                     int imapcode,\n                                     imapstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1178,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1186
    functionName: imap_state_login_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_login_resp(struct Curl_easy *data,\n                                      struct
      imap_conn *imapc,\n                                      int imapcode,\n                                      imapstate
      instate)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:1195,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/imap.c:1203,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/imap.c:1205,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/imap.c:1210,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/imap.c:1211,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/imap.c:1216,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1220,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/imap.c:1222,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/imap.c:1225,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/imap.c:1236,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/imap.c:1245,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:1246,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/imap.c:1256,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/imap.c:1260,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/imap.c:1277,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/imap.c:1283,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1286,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/imap.c:1290,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/imap.c:1295,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1189
    functionDepth: 3
    functionLinenumber: 1189
    functionLinenumberEnd: 1305
    functionName: imap_state_listsearch_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_ptr
    - curlx_dyn_tail
    - curlx_str_single
    - Curl_xfer_setup_recv
    - Curl_client_write
    - curlx_str_number
    - Curl_xfer_setup_nop
    - curlx_dyn_reset
    - curlx_dyn_len
    - memchr
    - imap_state
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_listsearch_resp(struct Curl_easy *data,\n                                           struct
      imap_conn *imapc,\n                                           int imapcode,\n
      \                                          imapstate instate)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:1315,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/imap.c:1321,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/imap.c:1323,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/imap.c:1324,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1335,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/imap.c:1340,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/imap.c:1341,1
    - Dst: imap_perform_list
      Src: /src/PROJ/curl/lib/imap.c:1346,1
    - Dst: imap_perform_search
      Src: /src/PROJ/curl/lib/imap.c:1348,1
    - Dst: imap_perform_fetch
      Src: /src/PROJ/curl/lib/imap.c:1350,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - data
    - imapc
    - imap
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1308
    functionDepth: 3
    functionLinenumber: 1308
    functionLinenumberEnd: 1359
    functionName: imap_state_select_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - failf
    - imap_perform_fetch
    - curlx_str_number
    - imap_perform_search
    - strlen
    - DEBUGASSERT
    - checkprefix
    - strdup
    - imap_perform_list
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_select_resp(struct Curl_easy *data,\n                                       struct
      imap_conn *imapc,\n                                       struct IMAP *imap,\n
      \                                      int imapcode,\n                                       imapstate
      instate)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:1369,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/imap.c:1377,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1378,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/imap.c:1384,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/imap.c:1387,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/imap.c:1388,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1393,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/imap.c:1394,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/imap.c:1403,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1412,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/imap.c:1415,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:1416,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1420,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/imap.c:1427,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/imap.c:1432,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/imap.c:1438,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/imap.c:1442,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/imap.c:1447,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1452,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1455
    functionName: imap_state_fetch_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_ptr
    - curlx_dyn_tail
    - curlx_str_single
    - failf
    - Curl_xfer_setup_recv
    - Curl_client_write
    - curlx_str_number
    - Curl_xfer_setup_nop
    - curlx_dyn_reset
    - memchr
    - imap_state
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_fetch_resp(struct Curl_easy *data,\n                                      struct
      imap_conn *imapc,\n                                      int imapcode,\n                                      imapstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1474
    functionName: imap_state_fetch_final_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_fetch_final_resp(struct Curl_easy *data,\n                                            struct
      imap_conn *imapc,\n                                            int imapcode,\n
      \                                           imapstate instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/imap.c:1490,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/imap.c:1493,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1477
    functionDepth: 3
    functionLinenumber: 1477
    functionLinenumberEnd: 1500
    functionName: imap_state_append_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_send
    - imap_state
    - Curl_pgrsSetUploadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_append_resp(struct Curl_easy *data,\n                                       struct
      imap_conn *imapc,\n                                       int imapcode,\n                                       imapstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1519
    functionName: imap_state_append_final_resp
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_append_final_resp(struct Curl_easy *data,\n                                             struct
      imap_conn *imapc,\n                                             int imapcode,\n
      \                                            imapstate instate)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1526,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1527,1
    - Dst: imap_perform_upgrade_tls
      Src: /src/PROJ/curl/lib/imap.c:1538,1
    - Dst: Curl_pp_flushsend
      Src: /src/PROJ/curl/lib/imap.c:1545,1
    - Dst: Curl_pp_readresp
      Src: /src/PROJ/curl/lib/imap.c:1549,1
    - Dst: imap_state_servergreet_resp
      Src: /src/PROJ/curl/lib/imap.c:1563,1
    - Dst: imap_state_capability_resp
      Src: /src/PROJ/curl/lib/imap.c:1568,1
    - Dst: imap_state_starttls_resp
      Src: /src/PROJ/curl/lib/imap.c:1572,1
    - Dst: imap_state_auth_resp
      Src: /src/PROJ/curl/lib/imap.c:1580,1
    - Dst: imap_state_login_resp
      Src: /src/PROJ/curl/lib/imap.c:1584,1
    - Dst: imap_state_listsearch_resp
      Src: /src/PROJ/curl/lib/imap.c:1589,1
    - Dst: imap_state_select_resp
      Src: /src/PROJ/curl/lib/imap.c:1593,1
    - Dst: imap_state_fetch_resp
      Src: /src/PROJ/curl/lib/imap.c:1598,1
    - Dst: imap_state_fetch_final_resp
      Src: /src/PROJ/curl/lib/imap.c:1602,1
    - Dst: imap_state_append_resp
      Src: /src/PROJ/curl/lib/imap.c:1607,1
    - Dst: imap_state_append_final_resp
      Src: /src/PROJ/curl/lib/imap.c:1611,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1618,1
    - Dst: Curl_pp_moredata
      Src: /src/PROJ/curl/lib/imap.c:1621,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1521
    functionDepth: 5
    functionLinenumber: 1521
    functionLinenumberEnd: 1624
    functionName: imap_pp_statemachine
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_state_append_final_resp
    - Curl_pp_moredata
    - imap_state_listsearch_resp
    - imap_perform_upgrade_tls
    - Curl_pp_flushsend
    - imap_state_starttls_resp
    - imap_state_auth_resp
    - imap_state_select_resp
    - imap_state_append_resp
    - Curl_meta_get
    - imap_state_capability_resp
    - imap_state_servergreet_resp
    - Curl_conn_meta_get
    - imap_state_fetch_resp
    - imap_state_login_resp
    - imap_state
    - Curl_pp_readresp
    - imap_state_fetch_final_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_pp_statemachine(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1631,1
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/imap.c:1636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1627
    functionDepth: 3
    functionLinenumber: 1627
    functionLinenumberEnd: 1640
    functionName: imap_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/imap.c:1649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - data
    - imapc
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1642
    functionDepth: 3
    functionLinenumber: 1642
    functionLinenumberEnd: 1652
    functionName: imap_block_statemach
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_block_statemach(struct Curl_easy *data,\n                                     struct
      imap_conn *imapc,\n                                     bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1659,1
    - Dst: Curl_pp_pollset
      Src: /src/PROJ/curl/lib/imap.c:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1661
    functionName: imap_pollset
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1676,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/imap.c:1684,1
    - Dst: imap_parse_url_options
      Src: /src/PROJ/curl/lib/imap.c:1687,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1692,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/imap.c:1695,1
    - Dst: imap_multi_statemach
      Src: /src/PROJ/curl/lib/imap.c:1697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1673
    functionDepth: 4
    functionLinenumber: 1673
    functionLinenumberEnd: 1700
    functionName: imap_connect
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - connkeep
    - imap_parse_url_options
    - strcpy
    - imap_multi_statemach
    - Curl_conn_meta_get
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_connect(struct Curl_easy *data, bool *done)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1716,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1717,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/imap.c:1727,1
    - Dst: IS_MIME_POST
      Src: /src/PROJ/curl/lib/imap.c:1733,1
    - Dst: IS_MIME_POST
      Src: /src/PROJ/curl/lib/imap.c:1738,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1739,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/imap.c:1742,1
    - Dst: imap_state
      Src: /src/PROJ/curl/lib/imap.c:1744,1
    - Dst: imap_block_statemach
      Src: /src/PROJ/curl/lib/imap.c:1749,1
    - Dst: imap_easy_reset
      Src: /src/PROJ/curl/lib/imap.c:1752,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1711
    functionDepth: 4
    functionLinenumber: 1711
    functionLinenumberEnd: 1754
    functionName: imap_done
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_block_statemach
    - Curl_meta_get
    - connclose
    - Curl_conn_meta_get
    - imap_state
    - imap_easy_reset
    - IS_MIME_POST
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1769,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1770,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/imap.c:1773,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1773,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:1787,1
    - Dst: IS_MIME_POST
      Src: /src/PROJ/curl/lib/imap.c:1793,1
    - Dst: imap_perform_append
      Src: /src/PROJ/curl/lib/imap.c:1795,1
    - Dst: imap_perform_list
      Src: /src/PROJ/curl/lib/imap.c:1798,1
    - Dst: imap_perform_fetch
      Src: /src/PROJ/curl/lib/imap.c:1801,1
    - Dst: imap_perform_search
      Src: /src/PROJ/curl/lib/imap.c:1804,1
    - Dst: imap_perform_select
      Src: /src/PROJ/curl/lib/imap.c:1808,1
    - Dst: imap_perform_list
      Src: /src/PROJ/curl/lib/imap.c:1811,1
    - Dst: imap_multi_statemach
      Src: /src/PROJ/curl/lib/imap.c:1817,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/imap.c:1819,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/imap.c:1822,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1822,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 28
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1763
    functionDepth: 7
    functionLinenumber: 1763
    functionLinenumberEnd: 1825
    functionName: imap_perform
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_select
    - infof
    - DEBUGF
    - imap_perform_append
    - imap_perform_fetch
    - Curl_meta_get
    - Curl_conn_is_connected
    - imap_multi_statemach
    - Curl_conn_meta_get
    - imap_perform_search
    - curl_strequal
    - IS_MIME_POST
    - imap_perform_list
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform(struct Curl_easy *data, bool *connected,\n                             bool
      *dophase_done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1838,1
    - Dst: imap_parse_url_path
      Src: /src/PROJ/curl/lib/imap.c:1845,1
    - Dst: imap_parse_custom_request
      Src: /src/PROJ/curl/lib/imap.c:1850,1
    - Dst: imap_regular_transfer
      Src: /src/PROJ/curl/lib/imap.c:1854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1836
    functionDepth: 2
    functionLinenumber: 1836
    functionLinenumberEnd: 1857
    functionName: imap_do
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - imap_parse_url_path
    - imap_regular_transfer
    - imap_parse_custom_request
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1869,1
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/imap.c:1878,1
    - Dst: imap_perform_logout
      Src: /src/PROJ/curl/lib/imap.c:1879,1
    - Dst: imap_block_statemach
      Src: /src/PROJ/curl/lib/imap.c:1880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1866
    functionDepth: 4
    functionLinenumber: 1866
    functionLinenumberEnd: 1884
    functionName: imap_disconnect
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - imap_block_statemach
    - Curl_pp_needs_flush
    - imap_perform_logout
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn, bool dead_connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/imap.c:1895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - imap
    - connected
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1887
    functionDepth: 3
    functionLinenumber: 1887
    functionLinenumberEnd: 1898
    functionName: imap_dophase_done
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_dophase_done(struct Curl_easy *data,\n                                  struct
      IMAP *imap,\n                                  bool connected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/imap.c:1903,1
    - Dst: imap_multi_statemach
      Src: /src/PROJ/curl/lib/imap.c:1909,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/imap.c:1911,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1911,1
    - Dst: imap_dophase_done
      Src: /src/PROJ/curl/lib/imap.c:1913,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/imap.c:1915,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:1915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1901
    functionDepth: 4
    functionLinenumber: 1901
    functionLinenumberEnd: 1919
    functionName: imap_doing
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_meta_get
    - imap_multi_statemach
    - imap_dophase_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/imap.c:1941,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/imap.c:1942,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/imap.c:1943,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/imap.c:1944,1
    - Dst: imap_perform
      Src: /src/PROJ/curl/lib/imap.c:1947,1
    - Dst: imap_dophase_done
      Src: /src/PROJ/curl/lib/imap.c:1951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - imap
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1930
    functionDepth: 8
    functionLinenumber: 1930
    functionLinenumberEnd: 1954
    functionName: imap_regular_transfer
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - imap_dophase_done
    - imap_perform
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_regular_transfer(struct Curl_easy *data,\n                                      struct
      IMAP *imap,\n                                      bool *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1958,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1959,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1960,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1961,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1962,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1963,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1964,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - imap
    argTypes:
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1968
    functionName: imap_easy_reset
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void imap_easy_reset(struct IMAP *imap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imap_easy_reset
      Src: /src/PROJ/curl/lib/imap.c:1975,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1970
    functionDepth: 2
    functionLinenumber: 1970
    functionLinenumberEnd: 1977
    functionName: imap_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_easy_reset
    - free
    linkageType: ''
    returnType: void
    signature: void imap_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_disconnect
      Src: /src/PROJ/curl/lib/imap.c:1984,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/imap.c:1985,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/imap.c:1986,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1979
    functionDepth: 2
    functionLinenumber: 1979
    functionLinenumberEnd: 1988
    functionName: imap_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - free
    - Curl_safefree
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void imap_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/imap.c:1997,1
    - Dst: PINGPONG_SETUP
      Src: /src/PROJ/curl/lib/imap.c:2002,1
    - Dst: Curl_sasl_init
      Src: /src/PROJ/curl/lib/imap.c:2006,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/imap.c:2008,1
    - Dst: Curl_pp_init
      Src: /src/PROJ/curl/lib/imap.c:2009,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/imap.c:2011,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/imap.c:2014,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/imap.c:2016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1990
    functionDepth: 2
    functionLinenumber: 1990
    functionLinenumberEnd: 2020
    functionName: imap_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_init
    - Curl_sasl_init
    - Curl_meta_set
    - curlx_dyn_init
    - PINGPONG_SETUP
    - calloc
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/imap.c:2036,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/imap.c:2039,1
    - Dst: curlx_sltosi
      Src: /src/PROJ/curl/lib/imap.c:2040,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/imap.c:2044,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/imap.c:2047,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/imap.c:2050,1
    - Dst: Curl_pp_vsendf
      Src: /src/PROJ/curl/lib/imap.c:2055,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:2055,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/imap.c:2059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - data
    - imapc
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2030
    functionDepth: 6
    functionLinenumber: 2030
    functionLinenumberEnd: 2062
    functionName: imap_sendf
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 10
    functionsReached:
    - va_end
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curl_msnprintf
    - va_start
    - curlx_dyn_reset
    - DEBUGASSERT
    - Curl_pp_vsendf
    - curlx_sltosi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_sendf(struct Curl_easy *data,\n                           struct
      imap_conn *imapc,\n                           const char *fmt, ...)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/imap.c:2083,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/imap.c:2084,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/imap.c:2087,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/imap.c:2089,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/imap.c:2091,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/imap.c:2096,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/imap.c:2098,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/imap.c:2103,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/imap.c:2106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - str
    - escape_only
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2107
    functionName: imap_atom
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 4
    functionsReached:
    - strcspn
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: char *imap_atom(const char *str, bool escape_only)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/imap.c:2120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2116
    functionDepth: 1
    functionLinenumber: 2116
    functionLinenumberEnd: 2140
    functionName: imap_is_bchar
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    linkageType: ''
    returnType: bool
    signature: bool imap_is_bchar(char ch)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:2167,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/imap.c:2172,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/PROJ/curl/lib/imap.c:2174,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - conn
    - imapc
    argTypes:
    - struct connectdata*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2148
    functionDepth: 1
    functionLinenumber: 2148
    functionLinenumberEnd: 2203
    functionName: imap_parse_url_options
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - Curl_sasl_parse_url_auth_option
    - curl_strnequal
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_parse_url_options(struct connectdata *conn,\n                                       struct
      imap_conn *imapc)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: imap_is_bchar
      Src: /src/PROJ/curl/lib/imap.c:2221,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/imap.c:2230,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/imap.c:2253,1
    - Dst: imap_is_bchar
      Src: /src/PROJ/curl/lib/imap.c:2260,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/imap.c:2264,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:2267,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/imap.c:2271,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/imap.c:2271,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:2281,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/imap.c:2284,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:2288,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:2290,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:2293,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:2296,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/imap.c:2299,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:2303,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:2304,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:2310,1
    - Dst: free
      Src: /src/PROJ/curl/lib/imap.c:2311,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/imap.c:2318,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 2
    argNames:
    - data
    - imap
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2212
    functionDepth: 2
    functionLinenumber: 2212
    functionLinenumberEnd: 2327
    functionName: imap_parse_url_path
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - infof
    - free
    - DEBUGF
    - curlx_str_number
    - curl_strequal
    - Curl_urldecode
    - curl_url_get
    - imap_is_bchar
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_parse_url_path(struct Curl_easy *data,\n                                    struct
      IMAP *imap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/imap.c:2343,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/imap.c:2353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - data
    - imap
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2335
    functionDepth: 2
    functionLinenumber: 2335
    functionLinenumberEnd: 2363
    functionName: imap_parse_custom_request
    functionSourceFile: /src/PROJ/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - strdup
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_parse_custom_request(struct Curl_easy *data,\n                                          struct
      IMAP *imap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: memrchr
    functionSourceFile: /src/PROJ/curl/lib/curl_memrchr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memrchr(x,y,z)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: slist_get_last
    functionSourceFile: /src/PROJ/curl/lib/slist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *slist_get_last(struct curl_slist *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/slist.c:66,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/slist.c:68,1
    - Dst: slist_get_last
      Src: /src/PROJ/curl/lib/slist.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct curl_slist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: Curl_slist_append_nodup
    functionSourceFile: /src/PROJ/curl/lib/slist.c
    functionUses: 3
    functionsReached:
    - malloc
    - slist_get_last
    - DEBUGASSERT
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_slist_append_nodup(struct curl_slist *list,
      char *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/slist.c:94,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/lib/slist.c:99,1
    - Dst: free
      Src: /src/PROJ/curl/lib/slist.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct curl_slist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: curl_slist_append
    functionSourceFile: /src/PROJ/curl/lib/slist.c
    functionUses: 93
    functionsReached:
    - free
    - strdup
    - Curl_slist_append_nodup
    linkageType: ''
    returnType: struct curl_slist
    signature: "struct curl_slist *curl_slist_append(struct curl_slist *list,\n                                     const
      char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/slist.c:117,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/slist.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - inlist
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: Curl_slist_duplicate
    functionSourceFile: /src/PROJ/curl/lib/slist.c
    functionUses: 2
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_slist_duplicate(struct curl_slist *inlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/slist.c:142,1
    - Dst: free
      Src: /src/PROJ/curl/lib/slist.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: curl_slist_free_all
    functionSourceFile: /src/PROJ/curl/lib/slist.c
    functionUses: 111
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void curl_slist_free_all(struct curl_slist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: IS_SEP
    functionSourceFile: /src/PROJ/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SEP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: IS_SEP
    functionSourceFile: /src/PROJ/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SEP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: IS_SEP
    functionSourceFile: /src/PROJ/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SEP(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_fopen.c:64,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/curl_fopen.c:65,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_fopen.c:66,1
    - Dst: IS_SEP
      Src: /src/PROJ/curl/lib/curl_fopen.c:69,1
    - Dst: IS_SEP
      Src: /src/PROJ/curl/lib/curl_fopen.c:72,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/curl_fopen.c:75,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/curl_fopen.c:78,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/curl_fopen.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: dirslash
    functionSourceFile: /src/PROJ/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - IS_SEP
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: char
    signature: char *dirslash(const char *path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/curl_fopen.c:101,1
    - Dst: stat
      Src: /src/PROJ/curl/lib/curl_fopen.c:107,1
    - Dst: fstat
      Src: /src/PROJ/curl/lib/curl_fopen.c:109,1
    - Dst: fileno
      Src: /src/PROJ/curl/lib/curl_fopen.c:109,1
    - Dst: S_ISREG
      Src: /src/PROJ/curl/lib/curl_fopen.c:111,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/curl_fopen.c:114,1
    - Dst: Curl_rand_alnum
      Src: /src/PROJ/curl/lib/curl_fopen.c:117,1
    - Dst: dirslash
      Src: /src/PROJ/curl/lib/curl_fopen.c:121,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/curl_fopen.c:125,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_fopen.c:126,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/curl_fopen.c:137,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/curl_fopen.c:140,1
    - Dst: curlx_fdopen
      Src: /src/PROJ/curl/lib/curl_fopen.c:146,1
    - Dst: close
      Src: /src/PROJ/curl/lib/curl_fopen.c:155,1
    - Dst: unlink
      Src: /src/PROJ/curl/lib/curl_fopen.c:156,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curl_fopen.c:159,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - data
    - filename
    - fh
    - tempname
    argTypes:
    - struct Curl_easy*
    - char*
    - FILE**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 161
    functionName: Curl_fopen
    functionSourceFile: /src/PROJ/curl/lib/curl_fopen.c
    functionUses: 1
    functionsReached:
    - S_ISREG
    - fileno
    - free
    - stat
    - curl_maprintf
    - curlx_fopen
    - fstat
    - close
    - unlink
    - dirslash
    - Curl_rand_alnum
    - curlx_fclose
    - curlx_open
    - curlx_fdopen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_fopen(struct Curl_easy *data, const char *filename,\n
      \                   FILE **fh, char **tempname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/curl_sasl.c:99,1
    - Dst: ISUPPER
      Src: /src/PROJ/curl/lib/curl_sasl.c:107,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/curl_sasl.c:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - maxlen
    - len
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: Curl_sasl_decode_mech
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - ISUPPER
    - ISDIGIT
    - memcmp
    linkageType: ''
    returnType: unsigned short
    signature: "unsigned short Curl_sasl_decode_mech(const char *ptr, size_t maxlen,\n
      \                                    size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/curl_sasl.c:134,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/PROJ/curl/lib/curl_sasl.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sasl
    - value
    - len
    argTypes:
    - struct SASL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: Curl_sasl_parse_url_auth_option
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - strncmp
    - Curl_sasl_decode_mech
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sasl_parse_url_auth_option(struct SASL *sasl,\n                                         const
      char *value, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - sasl
    - data
    - params
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - struct SASLproto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: Curl_sasl_init
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_sasl_init(struct SASL *sasl, struct Curl_easy *data,\n                    const
      struct SASLproto *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sasl
    - data
    - newstate
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - saslstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 228
    functionName: sasl_state
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void sasl_state(struct SASL *sasl, struct Curl_easy *data,\n                       saslstate
      newstate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct SASL*::params::getmessage
      Src: /src/PROJ/curl/lib/curl_sasl.c:238,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/curl_sasl.c:242,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/curl_sasl.c:245,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/curl_sasl.c:247,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/curl_sasl.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - sasl
    - data
    - out
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: get_server_message
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - struct SASL*::params::getmessage
    - Curl_bufref_ptr
    - curlx_base64_decode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode get_server_message(struct SASL *sasl, struct Curl_easy *data,\n
      \                                  struct bufref *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/curl_sasl.c:262,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/curl_sasl.c:263,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/curl_sasl.c:264,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/curl_sasl.c:265,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/curl_sasl.c:270,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/curl_sasl.c:270,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/curl_sasl.c:271,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/curl_sasl.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - sasl
    - msg
    argTypes:
    - struct SASL*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: build_message
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - Curl_bufref_len
    - Curl_bufref_ptr
    - curlx_base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode build_message(struct SASL *sasl, struct bufref *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sasl
    - data
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: Curl_sasl_can_authenticate
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_sasl_can_authenticate(struct SASL *sasl, struct Curl_easy
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_external_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: sasl_choose_external
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_external_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_external(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_gssapi_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:329,1
    - Dst: Curl_auth_user_contains_domain
      Src: /src/PROJ/curl/lib/curl_sasl.c:330,1
    - Dst: Curl_auth_krb5_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:342,1
    - Dst: Curl_auth_create_gssapi_user_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 353
    functionName: sasl_choose_krb5
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_user_contains_domain
    - Curl_auth_krb5_get
    - Curl_auth_create_gssapi_user_message
    - Curl_auth_is_gssapi_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_krb5(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_gsasl_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:364,1
    - Dst: Curl_auth_gsasl_is_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:371,1
    - Dst: Curl_auth_gsasl_is_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:377,1
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/lib/curl_sasl.c:385,1
    - Dst: Curl_auth_gsasl_start
      Src: /src/PROJ/curl/lib/curl_sasl.c:388,1
    - Dst: Curl_auth_gsasl_token
      Src: /src/PROJ/curl/lib/curl_sasl.c:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 395
    functionName: sasl_choose_gsasl
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_gsasl_get
    - Curl_bufref_init
    - Curl_auth_gsasl_token
    - Curl_auth_gsasl_start
    - Curl_auth_gsasl_is_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_gsasl(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_digest_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 419
    functionName: sasl_choose_digest
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_is_digest_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_digest(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_ntlm_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:428,1
    - Dst: Curl_conn_get_current_host
      Src: /src/PROJ/curl/lib/curl_sasl.c:435,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:443,1
    - Dst: Curl_auth_create_ntlm_type1_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 454
    functionName: sasl_choose_ntlm
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_ntlm_type1_message
    - Curl_conn_get_current_host
    - Curl_auth_ntlm_get
    - Curl_auth_is_ntlm_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_ntlm(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_current_host
      Src: /src/PROJ/curl/lib/curl_sasl.c:465,1
    - Dst: Curl_auth_create_oauth_bearer_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 480
    functionName: sasl_choose_oauth
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_oauth_bearer_message
    - Curl_conn_get_current_host
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_oauth(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_xoauth_bearer_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: sasl_choose_oauth2
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_xoauth_bearer_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_oauth2(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_plain_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: sasl_choose_plain
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_plain_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_plain(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_login_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 531
    functionName: sasl_choose_login
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_login_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_login(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_sasl.c:547,1
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/lib/curl_sasl.c:551,1
    - Dst: sasl_choose_external
      Src: /src/PROJ/curl/lib/curl_sasl.c:558,1
    - Dst: sasl_choose_krb5
      Src: /src/PROJ/curl/lib/curl_sasl.c:560,1
    - Dst: sasl_choose_gsasl
      Src: /src/PROJ/curl/lib/curl_sasl.c:563,1
    - Dst: sasl_choose_digest
      Src: /src/PROJ/curl/lib/curl_sasl.c:566,1
    - Dst: sasl_choose_ntlm
      Src: /src/PROJ/curl/lib/curl_sasl.c:569,1
    - Dst: sasl_choose_oauth
      Src: /src/PROJ/curl/lib/curl_sasl.c:571,1
    - Dst: sasl_choose_oauth2
      Src: /src/PROJ/curl/lib/curl_sasl.c:572,1
    - Dst: sasl_choose_plain
      Src: /src/PROJ/curl/lib/curl_sasl.c:573,1
    - Dst: sasl_choose_login
      Src: /src/PROJ/curl/lib/curl_sasl.c:574,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sasl.c:576,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/curl_sasl.c:581,1
    - Dst: build_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:582,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_sasl.c:585,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/curl_sasl.c:585,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/curl_sasl.c:587,1
    - Dst: struct SASL*::params::sendauth
      Src: /src/PROJ/curl/lib/curl_sasl.c:590,1
    - Dst: sasl_state
      Src: /src/PROJ/curl/lib/curl_sasl.c:594,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/curl_sasl.c:594,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/curl_sasl.c:599,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - sasl
    - data
    - force_ir
    - progress
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - bool
    - saslprogress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 601
    functionName: Curl_sasl_start
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - sasl_choose_krb5
    - Curl_bufref_init
    - sasl_choose_external
    - build_message
    - sasl_choose_gsasl
    - sasl_choose_plain
    - memset
    - strlen
    - Curl_bufref_ptr
    - sasl_state
    - struct SASL*::params::sendauth
    - Curl_bufref_len
    - sasl_choose_oauth
    - DEBUGASSERT
    - Curl_bufref_free
    - sasl_choose_ntlm
    - sasl_choose_login
    - sasl_choose_digest
    - sasl_choose_oauth2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sasl_start(struct SASL *sasl, struct Curl_easy *data,\n
      \                        bool force_ir, saslprogress *progress)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_current_host
      Src: /src/PROJ/curl/lib/curl_sasl.c:626,1
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/lib/curl_sasl.c:627,1
    - Dst: Curl_bufref_init
      Src: /src/PROJ/curl/lib/curl_sasl.c:628,1
    - Dst: sasl_state
      Src: /src/PROJ/curl/lib/curl_sasl.c:635,1
    - Dst: sasl_state
      Src: /src/PROJ/curl/lib/curl_sasl.c:642,1
    - Dst: Curl_auth_create_plain_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:651,1
    - Dst: Curl_auth_create_login_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:655,1
    - Dst: Curl_auth_create_login_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:659,1
    - Dst: Curl_auth_create_external_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:662,1
    - Dst: get_server_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:666,1
    - Dst: Curl_auth_gsasl_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:668,1
    - Dst: Curl_auth_gsasl_token
      Src: /src/PROJ/curl/lib/curl_sasl.c:670,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/curl_sasl.c:672,1
    - Dst: get_server_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:678,1
    - Dst: Curl_auth_create_cram_md5_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:680,1
    - Dst: get_server_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:684,1
    - Dst: Curl_auth_create_digest_md5_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:686,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:700,1
    - Dst: Curl_auth_create_ntlm_type1_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:702,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:711,1
    - Dst: get_server_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:713,1
    - Dst: Curl_auth_decode_ntlm_type2_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:715,1
    - Dst: Curl_auth_create_ntlm_type3_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:717,1
    - Dst: Curl_auth_krb5_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:726,1
    - Dst: Curl_auth_create_gssapi_user_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:728,1
    - Dst: get_server_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:736,1
    - Dst: Curl_auth_krb5_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:738,1
    - Dst: Curl_auth_create_gssapi_user_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:744,1
    - Dst: Curl_auth_create_gssapi_security_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:753,1
    - Dst: get_server_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:761,1
    - Dst: Curl_auth_krb5_get
      Src: /src/PROJ/curl/lib/curl_sasl.c:763,1
    - Dst: Curl_auth_create_gssapi_security_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:767,1
    - Dst: Curl_auth_create_oauth_bearer_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:778,1
    - Dst: Curl_auth_create_xoauth_bearer_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:788,1
    - Dst: sasl_state
      Src: /src/PROJ/curl/lib/curl_sasl.c:798,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/curl_sasl.c:803,1
    - Dst: sasl_state
      Src: /src/PROJ/curl/lib/curl_sasl.c:808,1
    - Dst: Curl_sasl_start
      Src: /src/PROJ/curl/lib/curl_sasl.c:819,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/curl_sasl.c:821,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/curl_sasl.c:826,1
    - Dst: struct SASL*::params::cancelauth
      Src: /src/PROJ/curl/lib/curl_sasl.c:831,1
    - Dst: build_message
      Src: /src/PROJ/curl/lib/curl_sasl.c:835,1
    - Dst: struct SASL*::params::contauth
      Src: /src/PROJ/curl/lib/curl_sasl.c:837,1
    - Dst: Curl_bufref_free
      Src: /src/PROJ/curl/lib/curl_sasl.c:845,1
    - Dst: sasl_state
      Src: /src/PROJ/curl/lib/curl_sasl.c:847,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 4
    argNames:
    - sasl
    - data
    - code
    - progress
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - int
    - saslprogress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 608
    functionDepth: 5
    functionLinenumber: 608
    functionLinenumberEnd: 850
    functionName: Curl_sasl_continue
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - failf
    - Curl_auth_create_plain_message
    - struct SASL*::params::contauth
    - Curl_bufref_init
    - Curl_sasl_start
    - Curl_conn_get_current_host
    - Curl_auth_create_gssapi_security_message
    - Curl_auth_decode_ntlm_type2_message
    - Curl_auth_create_cram_md5_message
    - build_message
    - Curl_auth_krb5_get
    - Curl_auth_ntlm_get
    - Curl_auth_create_gssapi_user_message
    - Curl_auth_create_login_message
    - Curl_auth_create_ntlm_type3_message
    - Curl_auth_create_ntlm_type1_message
    - Curl_auth_create_xoauth_bearer_message
    - Curl_auth_create_external_message
    - sasl_state
    - Curl_auth_gsasl_get
    - Curl_bufref_set
    - Curl_auth_gsasl_token
    - Curl_bufref_len
    - Curl_bufref_free
    - Curl_auth_create_digest_md5_message
    - struct SASL*::params::cancelauth
    - get_server_message
    - Curl_auth_create_oauth_bearer_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sasl_continue(struct SASL *sasl, struct Curl_easy *data,\n
      \                           int code, saslprogress *progress)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:873,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:875,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:878,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - data
    - mech
    - enabledmechs
    - built_in
    - platform
    - param_missing
    argTypes:
    - struct Curl_easy*
    - unsigned short
    - unsigned short
    - bool
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 882
    functionName: sasl_unchosen
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void sasl_unchosen(struct Curl_easy *data, unsigned short mech,\n
      \                         unsigned short enabledmechs,\n                          bool
      built_in, bool platform,\n                          const char *param_missing)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:915,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:917,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:920,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_sasl.c:922,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:923,1
    - Dst: Curl_auth_is_gssapi_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:924,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:925,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:927,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:929,1
    - Dst: Curl_auth_is_digest_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:930,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:931,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:933,1
    - Dst: Curl_auth_is_ntlm_supported
      Src: /src/PROJ/curl/lib/curl_sasl.c:934,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:935,1
    - Dst: sasl_unchosen
      Src: /src/PROJ/curl/lib/curl_sasl.c:938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - sasl
    - data
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 946
    functionName: Curl_sasl_is_blocked
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - infof
    - sasl_unchosen
    - Curl_auth_is_digest_supported
    - Curl_auth_is_gssapi_supported
    - Curl_auth_is_ntlm_supported
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sasl_is_blocked(struct SASL *sasl, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD4_Init
      Src: /src/PROJ/curl/lib/md4.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: MD4_Init
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CC_MD4_Init
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD4_Update
      Src: /src/PROJ/curl/lib/md4.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: MD4_Update
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CC_MD4_Update
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD4_Final
      Src: /src/PROJ/curl/lib/md4.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: MD4_Final
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CC_MD4_Final
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/PROJ/curl/lib/md4.c:121,1
    - Dst: CryptCreateHash
      Src: /src/PROJ/curl/lib/md4.c:125,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/md4.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: MD4_Init
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CryptCreateHash
    - CryptAcquireContext
    - CryptReleaseContext
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/md4.c:137,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/md4.c:137,1
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/md4.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: MD4_Update
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CURL_UNCONST
    - CryptHashData
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/md4.c:148,1
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/md4.c:150,1
    - Dst: CryptDestroyHash
      Src: /src/PROJ/curl/lib/md4.c:153,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/md4.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: MD4_Final
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CryptDestroyHash
    - CryptGetHashParam
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_init
      Src: /src/PROJ/curl/lib/md4.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: MD4_Init
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - md4_init
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_update
      Src: /src/PROJ/curl/lib/md4.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: MD4_Update
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - md4_update
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_digest
      Src: /src/PROJ/curl/lib/md4.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: MD4_Final
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - md4_digest
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: MD4_F
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: MD4_G
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: MD4_H
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: MD4_STEP
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_STEP(f, a, b, c, d, x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: MD4_SET
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: MD4_GET
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: MD4_SET
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: MD4_GET
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:289,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:289,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:290,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:290,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:291,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:291,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:292,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:292,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:293,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:293,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:294,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:294,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:295,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:295,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:296,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:296,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:297,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:297,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:298,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:298,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:299,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:299,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:300,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:300,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:301,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:301,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:302,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:302,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:303,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:303,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:304,1
    - Dst: MD4_SET
      Src: /src/PROJ/curl/lib/md4.c:304,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:307,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:307,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:308,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:308,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:309,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:309,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:310,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:310,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:311,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:311,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:312,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:312,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:313,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:313,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:314,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:314,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:315,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:315,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:316,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:316,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:317,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:317,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:318,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:318,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:319,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:319,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:320,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:320,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:321,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:321,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:322,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:322,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:325,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:325,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:326,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:326,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:327,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:327,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:328,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:328,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:329,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:329,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:330,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:330,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:331,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:331,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:332,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:332,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:333,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:333,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:334,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:334,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:335,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:335,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:336,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:336,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:337,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:337,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:338,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:338,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:339,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:339,1
    - Dst: MD4_STEP
      Src: /src/PROJ/curl/lib/md4.c:340,1
    - Dst: MD4_GET
      Src: /src/PROJ/curl/lib/md4.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 356
    functionName: my_md4_body
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 0
    functionsReached:
    - MD4_STEP
    - MD4_SET
    - MD4_GET
    linkageType: ''
    returnType: void
    signature: "void *my_md4_body(MD4_CTX *ctx,\n                               const
      void *data, unsigned long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: MD4_Init
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/md4.c:387,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/md4.c:391,1
    - Dst: my_md4_body
      Src: /src/PROJ/curl/lib/md4.c:394,1
    - Dst: my_md4_body
      Src: /src/PROJ/curl/lib/md4.c:398,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/md4.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 403
    functionName: MD4_Update
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - memcpy
    - my_md4_body
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/md4.c:416,1
    - Dst: my_md4_body
      Src: /src/PROJ/curl/lib/md4.c:417,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/md4.c:422,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:425,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:426,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:427,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:428,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:429,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:430,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:431,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:432,1
    - Dst: my_md4_body
      Src: /src/PROJ/curl/lib/md4.c:434,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:436,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:437,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:438,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:439,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:440,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:441,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:442,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:443,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:444,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:445,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:446,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:447,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:448,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:449,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:450,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md4.c:451,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/md4.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 454
    functionName: MD4_Final
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - curlx_ultouc
    - memset
    - my_md4_body
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD4_Init
      Src: /src/PROJ/curl/lib/md4.c:464,1
    - Dst: MD4_Init
      Src: /src/PROJ/curl/lib/md4.c:466,1
    - Dst: MD4_Update
      Src: /src/PROJ/curl/lib/md4.c:470,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/md4.c:470,1
    - Dst: MD4_Final
      Src: /src/PROJ/curl/lib/md4.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - input
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: Curl_md4it
    functionSourceFile: /src/PROJ/curl/lib/md4.c
    functionUses: 2
    functionsReached:
    - curlx_uztoui
    - MD4_Init
    - MD4_Update
    - MD4_Final
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_md4it(unsigned char *output, const unsigned char *input,\n
      \                   const size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Curl_rtsp_parseheader
    functionSourceFile: /src/PROJ/curl/lib/rtsp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_rtsp_parseheader(x,y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/http_digest.c:61,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/http_digest.c:61,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/http_digest.c:64,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/http_digest.c:65,1
    - Dst: Curl_auth_decode_digest_http_message
      Src: /src/PROJ/curl/lib/http_digest.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - proxy
    - header
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: Curl_input_digest
    functionSourceFile: /src/PROJ/curl/lib/http_digest.c
    functionUses: 1
    functionsReached:
    - ISBLANK
    - curlx_str_passblanks
    - Curl_auth_decode_digest_http_message
    - strlen
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_input_digest(struct Curl_easy *data,\n                           bool
      proxy,\n                           const char *header)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/http_digest.c:113,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/http_digest.c:147,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_digest.c:151,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/http_digest.c:155,1
    - Dst: Curl_auth_create_digest_http_message
      Src: /src/PROJ/curl/lib/http_digest.c:160,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_digest.c:162,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/http_digest.c:166,1
    - Dst: free
      Src: /src/PROJ/curl/lib/http_digest.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - data
    - proxy
    - request
    - uripath
    argTypes:
    - struct Curl_easy*
    - bool
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 175
    functionName: Curl_output_digest
    functionSourceFile: /src/PROJ/curl/lib/http_digest.c
    functionUses: 1
    functionsReached:
    - free
    - curl_maprintf
    - strchr
    - Curl_auth_create_digest_http_message
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_output_digest(struct Curl_easy *data,\n                            bool
      proxy,\n                            const unsigned char *request,\n                            const
      unsigned char *uripath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_digest_cleanup
      Src: /src/PROJ/curl/lib/http_digest.c:179,1
    - Dst: Curl_auth_digest_cleanup
      Src: /src/PROJ/curl/lib/http_digest.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Curl_http_auth_cleanup_digest
    functionSourceFile: /src/PROJ/curl/lib/http_digest.c
    functionUses: 2
    functionsReached:
    - Curl_auth_digest_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_http_auth_cleanup_digest(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - easy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: Curl_psl_use
    functionSourceFile: /src/PROJ/curl/lib/psl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_psl_use(easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/mqtt.c:147,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/mqtt.c:148,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: mqtt_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void mqtt_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: mqtt_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mqtt_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/mqtt.c:166,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/mqtt.c:168,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/mqtt.c:171,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/mqtt.c:174,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/mqtt.c:175,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/mqtt.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: mqtt_setup_conn
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_setup_conn(struct Curl_easy *data,\n                                struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:186,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/mqtt.c:191,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/mqtt.c:194,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/mqtt.c:195,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:198,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:199,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:199,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/mqtt.c:200,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/mqtt.c:203,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/mqtt.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 181
    functionDepth: 8
    functionLinenumber: 181
    functionLinenumberEnd: 209
    functionName: mqtt_send
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - curlx_dyn_addn
    - curlx_now
    - Curl_meta_get
    - Curl_debug
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_send(struct Curl_easy *data,\n                          const
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_in
      Src: /src/PROJ/curl/lib/mqtt.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: mqtt_pollset
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: mqtt_encode_len
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mqtt_encode_len(char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - passwd
    - plen
    - pkt
    - start
    - remain_pos
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: add_passwd
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_passwd(const char *passwd, const size_t plen,\n                      char
      *pkt, const size_t start, int remain_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - username
    - ulen
    - pkt
    - start
    - remain_pos
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: add_user
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_user(const char *username, const size_t ulen,\n                    unsigned
      char *pkt, const size_t start, int remain_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - client_id
    - client_id_len
    - pkt
    - start
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: add_client_id
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_client_id(const char *client_id, const size_t client_id_len,\n
      \                        char *pkt, const size_t start)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - packet
    - remain
    - remain_pos
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 313
    functionName: init_connpack
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int init_connpack(char *packet, char *remain, int remain_pos)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:327,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:333,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:337,1
    - Dst: mqtt_encode_len
      Src: /src/PROJ/curl/lib/mqtt.c:345,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/mqtt.c:353,1
    - Dst: init_connpack
      Src: /src/PROJ/curl/lib/mqtt.c:358,1
    - Dst: Curl_rand_alnum
      Src: /src/PROJ/curl/lib/mqtt.c:360,1
    - Dst: add_client_id
      Src: /src/PROJ/curl/lib/mqtt.c:363,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:363,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:365,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:365,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:369,1
    - Dst: add_user
      Src: /src/PROJ/curl/lib/mqtt.c:379,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:382,1
    - Dst: add_passwd
      Src: /src/PROJ/curl/lib/mqtt.c:390,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:392,1
    - Dst: mqtt_send
      Src: /src/PROJ/curl/lib/mqtt.c:399,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:403,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mqtt.c:404,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/mqtt.c:405,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 315
    functionDepth: 9
    functionLinenumber: 315
    functionLinenumberEnd: 407
    functionName: mqtt_connect
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - failf
    - Curl_safefree
    - add_passwd
    - calloc
    - strlen
    - init_connpack
    - Curl_rand_alnum
    - add_client_id
    - add_user
    - mqtt_send
    - mqtt_encode_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_connect(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mqtt_send
      Src: /src/PROJ/curl/lib/mqtt.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 9
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: mqtt_disconnect
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_disconnect(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:416,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:422,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:428,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/mqtt.c:429,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/mqtt.c:432,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - nbytes
    argTypes:
    - struct Curl_easy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 437
    functionName: mqtt_recv_atleast
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_recv
    - curlx_dyn_addn
    - Curl_meta_get
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_recv_atleast(struct Curl_easy *data, size_t nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:441,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:442,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:444,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/mqtt.c:446,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/mqtt.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - nbytes
    argTypes:
    - struct Curl_easy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: mqtt_recv_consume
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - Curl_meta_get
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: void
    signature: void mqtt_recv_consume(struct Curl_easy *data, size_t nbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:454,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:458,1
    - Dst: mqtt_recv_atleast
      Src: /src/PROJ/curl/lib/mqtt.c:462,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:467,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:467,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/mqtt.c:468,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/mqtt.c:469,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:472,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/mqtt.c:474,1
    - Dst: mqtt_recv_consume
      Src: /src/PROJ/curl/lib/mqtt.c:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 452
    functionDepth: 8
    functionLinenumber: 452
    functionLinenumberEnd: 481
    functionName: mqtt_verify_connack
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - mqtt_recv_consume
    - failf
    - Curl_meta_get
    - mqtt_recv_atleast
    - Curl_debug
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_verify_connack(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:488,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/mqtt.c:489,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:491,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - topic
    - topiclen
    argTypes:
    - struct Curl_easy*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: mqtt_get_topic
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - failf
    - strlen
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_get_topic(struct Curl_easy *data,\n                               char
      **topic, size_t *topiclen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:511,1
    - Dst: mqtt_get_topic
      Src: /src/PROJ/curl/lib/mqtt.c:516,1
    - Dst: mqtt_encode_len
      Src: /src/PROJ/curl/lib/mqtt.c:524,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/mqtt.c:527,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:534,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:539,1
    - Dst: mqtt_send
      Src: /src/PROJ/curl/lib/mqtt.c:542,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:545,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 501
    functionDepth: 9
    functionLinenumber: 501
    functionLinenumberEnd: 548
    functionName: mqtt_subscribe
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - mqtt_get_topic
    - Curl_conn_meta_get
    - mqtt_send
    - malloc
    - mqtt_encode_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_subscribe(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:555,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:557,1
    - Dst: mqtt_recv_atleast
      Src: /src/PROJ/curl/lib/mqtt.c:564,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:569,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:569,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/mqtt.c:570,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/mqtt.c:571,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/mqtt.c:576,1
    - Dst: mqtt_recv_consume
      Src: /src/PROJ/curl/lib/mqtt.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 553
    functionDepth: 8
    functionLinenumber: 553
    functionLinenumberEnd: 583
    functionName: mqtt_verify_suback
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - mqtt_recv_consume
    - Curl_meta_get
    - mqtt_recv_atleast
    - Curl_conn_meta_get
    - Curl_debug
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_verify_suback(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/mqtt.c:600,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:600,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/mqtt.c:604,1
    - Dst: mqtt_get_topic
      Src: /src/PROJ/curl/lib/mqtt.c:608,1
    - Dst: mqtt_encode_len
      Src: /src/PROJ/curl/lib/mqtt.c:613,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/mqtt.c:616,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:624,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:628,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/mqtt.c:630,1
    - Dst: mqtt_send
      Src: /src/PROJ/curl/lib/mqtt.c:632,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:635,1
    - Dst: free
      Src: /src/PROJ/curl/lib/mqtt.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 585
    functionDepth: 9
    functionLinenumber: 585
    functionLinenumberEnd: 638
    functionName: mqtt_publish
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - free
    - memcpy
    - mqtt_get_topic
    - strlen
    - mqtt_send
    - malloc
    - mqtt_encode_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_publish(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - buflen
    - lenbytes
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 658
    functionName: mqtt_decode_len
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mqtt_decode_len(unsigned char *buf,\n                              size_t
      buflen, size_t *lenbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:680,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:681,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - state
    - nextstate
    argTypes:
    - struct Curl_easy*
    - enum mqttstate
    - enum mqttstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 693
    functionName: mqstate
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void mqstate(struct Curl_easy *data,\n                    enum mqttstate
      state,\n                    enum mqttstate nextstate)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:702,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:703,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:706,1
    - Dst: mqtt_verify_suback
      Src: /src/PROJ/curl/lib/mqtt.c:713,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:717,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:725,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:727,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:731,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:742,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:745,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/mqtt.c:749,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mqtt.c:753,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/mqtt.c:760,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:763,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:768,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/mqtt.c:774,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/mqtt.c:777,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:784,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/mqtt.c:788,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 696
    functionDepth: 9
    functionLinenumber: 696
    functionLinenumberEnd: 794
    functionName: mqtt_read_publish
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_recv
    - infof
    - failf
    - curlx_now
    - FALLTHROUGH
    - Curl_meta_get
    - Curl_client_write
    - Curl_conn_meta_get
    - DEBUGASSERT
    - mqtt_verify_suback
    - mqstate
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_read_publish(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:798,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/mqtt.c:804,1
    - Dst: mqtt_connect
      Src: /src/PROJ/curl/lib/mqtt.c:807,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:809,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 796
    functionDepth: 10
    functionLinenumber: 796
    functionLinenumberEnd: 814
    functionName: mqtt_do
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_connect
    - failf
    - curlx_now
    - Curl_meta_get
    - mqstate
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_do(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:819,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/mqtt.c:823,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/mqtt.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 827
    functionName: mqtt_done
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - curlx_dyn_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_done(struct Curl_easy *data,\n                          CURLcode
      status, bool premature)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:832,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:835,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/mqtt.c:843,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/mqtt.c:844,1
    - Dst: mqtt_send
      Src: /src/PROJ/curl/lib/mqtt.c:851,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:855,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 830
    functionDepth: 9
    functionLinenumber: 830
    functionLinenumberEnd: 859
    functionName: mqtt_ping
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_now
    - Curl_meta_get
    - curlx_timediff
    - Curl_conn_meta_get
    - mqtt_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_ping(struct Curl_easy *data)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:863,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/mqtt.c:867,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:874,1
    - Dst: mqtt_send
      Src: /src/PROJ/curl/lib/mqtt.c:876,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/mqtt.c:876,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/mqtt.c:877,1
    - Dst: mqtt_ping
      Src: /src/PROJ/curl/lib/mqtt.c:882,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:886,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/mqtt.c:890,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:894,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/mqtt.c:899,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/mqtt.c:902,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:906,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/mqtt.c:907,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/mqtt.c:910,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/mqtt.c:913,1
    - Dst: mqtt_decode_len
      Src: /src/PROJ/curl/lib/mqtt.c:922,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:925,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:928,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:931,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/mqtt.c:937,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:939,1
    - Dst: mqtt_verify_connack
      Src: /src/PROJ/curl/lib/mqtt.c:943,1
    - Dst: mqtt_publish
      Src: /src/PROJ/curl/lib/mqtt.c:948,1
    - Dst: mqtt_disconnect
      Src: /src/PROJ/curl/lib/mqtt.c:950,1
    - Dst: mqtt_subscribe
      Src: /src/PROJ/curl/lib/mqtt.c:956,1
    - Dst: mqstate
      Src: /src/PROJ/curl/lib/mqtt.c:958,1
    - Dst: mqtt_read_publish
      Src: /src/PROJ/curl/lib/mqtt.c:966,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/mqtt.c:970,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 861
    functionDepth: 10
    functionLinenumber: 861
    functionLinenumberEnd: 978
    functionName: mqtt_doing
    functionSourceFile: /src/PROJ/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_verify_connack
    - failf
    - curlx_now
    - FALLTHROUGH
    - mqtt_publish
    - Curl_conn_meta_get
    - infof
    - curlx_dyn_ptr
    - mqtt_decode_len
    - Curl_debug
    - mqtt_send
    - curlx_dyn_len
    - mqstate
    - Curl_xfer_recv
    - mqtt_read_publish
    - Curl_meta_get
    - mqtt_ping
    - mqtt_subscribe
    - mqtt_disconnect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_doing(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: isatty
    functionSourceFile: /src/PROJ/curl/lib/setup-os400.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: puts
    functionSourceFile: /src/PROJ/curl/lib/setup-os400.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: puts(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Curl_amiga_init
    functionSourceFile: /src/PROJ/curl/lib/amigaos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_amiga_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Curl_amiga_cleanup
    functionSourceFile: /src/PROJ/curl/lib/amigaos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_amiga_cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/openldap.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - li
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct ldapconninfo*
    - ldapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: oldap_state
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void oldap_state(struct Curl_easy *data, struct ldapconninfo *li,\n
      \                       ldapstate newstate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - rc
    - result
    argTypes:
    - int
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: oldap_map_error
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_map_error(int rc, CURLcode result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ldap_url_parse
      Src: /src/PROJ/curl/lib/openldap.c:279,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/openldap.c:286,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - ludp
    argTypes:
    - struct Curl_easy*
    - LDAPURLDesc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 291
    functionName: oldap_url_parse
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - failf
    - ldap_url_parse
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_url_parse(struct Curl_easy *data, LDAPURLDesc **ludp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:297,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/openldap.c:300,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/openldap.c:316,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/PROJ/curl/lib/openldap.c:317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: oldap_parse_login_options
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_parse_url_auth_option
    - Curl_conn_meta_get
    - checkprefix
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_parse_login_options(struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oldap_url_parse
      Src: /src/PROJ/curl/lib/openldap.c:336,1
    - Dst: ldap_free_urldesc
      Src: /src/PROJ/curl/lib/openldap.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: oldap_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_free_urldesc
    - oldap_url_parse
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_setup_connection(struct Curl_easy *data,\n                                       struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:348,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/openldap.c:350,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/openldap.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: oldap_get_message
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - Curl_conn_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:367,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/openldap.c:372,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/openldap.c:375,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/openldap.c:375,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/openldap.c:376,1
    - Dst: ldap_sasl_bind
      Src: /src/PROJ/curl/lib/openldap.c:379,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: oldap_perform_auth
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_map_error
    - Curl_conn_meta_get
    - Curl_bufref_len
    - CURL_UNCONST
    - DEBUGASSERT
    - Curl_bufref_ptr
    - ldap_sasl_bind
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_perform_auth(struct Curl_easy *data, const char *mech,\n
      \                                  const struct bufref *initresp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:392,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/openldap.c:399,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/openldap.c:399,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/openldap.c:400,1
    - Dst: ldap_sasl_bind
      Src: /src/PROJ/curl/lib/openldap.c:403,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 407
    functionName: oldap_continue_auth
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_map_error
    - Curl_conn_meta_get
    - Curl_bufref_len
    - CURL_UNCONST
    - Curl_bufref_ptr
    - ldap_sasl_bind
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_continue_auth(struct Curl_easy *data, const char *mech,\n
      \                                   const struct bufref *resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:415,1
    - Dst: ldap_sasl_bind
      Src: /src/PROJ/curl/lib/openldap.c:421,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 426
    functionName: oldap_cancel_auth
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ldap_sasl_bind
    - oldap_map_error
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_cancel_auth(struct Curl_easy *data, const char *mech)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:432,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/openldap.c:445,1
    - Dst: ldap_sasl_bind
      Src: /src/PROJ/curl/lib/openldap.c:448,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:451,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - ldapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 456
    functionName: oldap_perform_bind
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_map_error
    - oldap_state
    - Curl_conn_meta_get
    - strlen
    - ldap_sasl_bind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_bind(struct Curl_easy *data, ldapstate newstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:462,1
    - Dst: ldap_search_ext
      Src: /src/PROJ/curl/lib/openldap.c:475,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/openldap.c:476,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:479,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 482
    functionName: oldap_perform_mechs
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_map_error
    - oldap_state
    - Curl_conn_meta_get
    - ldap_search_ext
    - CURL_UNCONST
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_mechs(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:488,1
    - Dst: Curl_sasl_start
      Src: /src/PROJ/curl/lib/openldap.c:494,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:496,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/PROJ/curl/lib/openldap.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: oldap_perform_sasl
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_sasl_start
    - Curl_sasl_is_blocked
    - oldap_state
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_sasl(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: ssl_installed
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    linkageType: ''
    returnType: bool
    signature: bool ssl_installed(struct connectdata *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:531,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/openldap.c:537,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:540,1
    - Dst: ldap_get_option
      Src: /src/PROJ/curl/lib/openldap.c:546,1
    - Dst: ber_sockbuf_add_io
      Src: /src/PROJ/curl/lib/openldap.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - ldapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 554
    functionName: oldap_ssl_connect
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_connect
    - oldap_state
    - ber_sockbuf_add_io
    - Curl_conn_meta_get
    - ldap_get_option
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_ssl_connect(struct Curl_easy *data, ldapstate newstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:560,1
    - Dst: ldap_start_tls
      Src: /src/PROJ/curl/lib/openldap.c:565,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:567,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: oldap_perform_starttls
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ldap_start_tls
    - oldap_state
    - oldap_map_error
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_starttls(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/openldap.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: oldap_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void oldap_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_unbind_ext
      Src: /src/PROJ/curl/lib/openldap.c:587,1
    - Dst: free
      Src: /src/PROJ/curl/lib/openldap.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: oldap_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_unbind_ext
    - free
    linkageType: ''
    returnType: void
    signature: void oldap_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/openldap.c:607,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/openldap.c:613,1
    - Dst: ldap_pvt_url_scheme2proto
      Src: /src/PROJ/curl/lib/openldap.c:617,1
    - Dst: Curl_sasl_init
      Src: /src/PROJ/curl/lib/openldap.c:620,1
    - Dst: oldap_parse_login_options
      Src: /src/PROJ/curl/lib/openldap.c:622,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/openldap.c:626,1
    - Dst: ldap_init_fd
      Src: /src/PROJ/curl/lib/openldap.c:637,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:639,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:640,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/openldap.c:647,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/openldap.c:649,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/openldap.c:653,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/openldap.c:657,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/openldap.c:660,1
    - Dst: ldap_get_option
      Src: /src/PROJ/curl/lib/openldap.c:665,1
    - Dst: ber_sockbuf_ctrl
      Src: /src/PROJ/curl/lib/openldap.c:669,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/openldap.c:676,1
    - Dst: oldap_ssl_connect
      Src: /src/PROJ/curl/lib/openldap.c:677,1
    - Dst: oldap_perform_starttls
      Src: /src/PROJ/curl/lib/openldap.c:682,1
    - Dst: oldap_perform_mechs
      Src: /src/PROJ/curl/lib/openldap.c:689,1
    - Dst: oldap_perform_bind
      Src: /src/PROJ/curl/lib/openldap.c:695,1
    - Dst: free
      Src: /src/PROJ/curl/lib/openldap.c:698,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 593
    functionDepth: 6
    functionLinenumber: 593
    functionLinenumberEnd: 700
    functionName: oldap_connect
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - getenv
    - failf
    - oldap_perform_starttls
    - ldap_set_option
    - ldap_pvt_url_scheme2proto
    - ldap_get_option
    - ldap_err2string
    - Curl_conn_meta_set
    - Curl_sasl_init
    - Curl_conn_is_ssl
    - oldap_parse_login_options
    - ber_sockbuf_ctrl
    - ldap_init_fd
    - calloc
    - oldap_ssl_connect
    - free
    - curl_maprintf
    - curlx_str_number
    - oldap_perform_mechs
    - oldap_perform_bind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_connect(struct Curl_easy *data, bool *done)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:707,1
    - Dst: ldap_msgtype
      Src: /src/PROJ/curl/lib/openldap.c:715,1
    - Dst: ldap_get_dn_ber
      Src: /src/PROJ/curl/lib/openldap.c:721,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:723,1
    - Dst: ldap_get_attribute_ber
      Src: /src/PROJ/curl/lib/openldap.c:724,1
    - Dst: ldap_get_attribute_ber
      Src: /src/PROJ/curl/lib/openldap.c:726,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/PROJ/curl/lib/openldap.c:735,1
    - Dst: ber_memfree
      Src: /src/PROJ/curl/lib/openldap.c:740,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/openldap.c:743,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/openldap.c:749,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/openldap.c:750,1
    - Dst: Curl_sasl_can_authenticate
      Src: /src/PROJ/curl/lib/openldap.c:753,1
    - Dst: oldap_perform_sasl
      Src: /src/PROJ/curl/lib/openldap.c:754,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:759,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - data
    - msg
    - code
    argTypes:
    - struct Curl_easy*
    - LDAPMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 703
    functionDepth: 6
    functionLinenumber: 703
    functionLinenumberEnd: 767
    functionName: oldap_state_mechs_resp
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - infof
    - oldap_map_error
    - ldap_get_attribute_ber
    - ber_free
    - FALLTHROUGH
    - Curl_sasl_decode_mech
    - ldap_get_dn_ber
    - ldap_msgtype
    - Curl_conn_meta_get
    - oldap_perform_sasl
    - ber_memfree
    - Curl_sasl_can_authenticate
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_state_mechs_resp(struct Curl_easy *data,\n                                       LDAPMessage
      *msg, int code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:774,1
    - Dst: ldap_parse_sasl_bind_result
      Src: /src/PROJ/curl/lib/openldap.c:782,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:784,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:784,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:785,1
    - Dst: Curl_sasl_continue
      Src: /src/PROJ/curl/lib/openldap.c:788,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:790,1
    - Dst: ber_bvfree
      Src: /src/PROJ/curl/lib/openldap.c:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - msg
    - code
    argTypes:
    - struct Curl_easy*
    - LDAPMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 770
    functionDepth: 6
    functionLinenumber: 770
    functionLinenumberEnd: 796
    functionName: oldap_state_sasl_resp
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - failf
    - oldap_map_error
    - oldap_state
    - ldap_parse_sasl_bind_result
    - Curl_conn_meta_get
    - ldap_err2string
    - Curl_sasl_continue
    - ber_bvfree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_state_sasl_resp(struct Curl_easy *data,\n                                      LDAPMessage
      *msg, int code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:803,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:812,1
    - Dst: ldap_parse_sasl_bind_result
      Src: /src/PROJ/curl/lib/openldap.c:814,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:816,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:817,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:818,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:821,1
    - Dst: ber_bvfree
      Src: /src/PROJ/curl/lib/openldap.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - msg
    - code
    argTypes:
    - struct Curl_easy*
    - LDAPMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 826
    functionName: oldap_state_bind_resp
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - failf
    - oldap_map_error
    - oldap_state
    - ldap_parse_sasl_bind_result
    - Curl_conn_meta_get
    - ldap_err2string
    - ber_bvfree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_state_bind_resp(struct Curl_easy *data, LDAPMessage
      *msg,\n                                      int code)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:832,1
    - Dst: ldap_result
      Src: /src/PROJ/curl/lib/openldap.c:843,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:853,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:854,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:855,1
    - Dst: ldap_parse_result
      Src: /src/PROJ/curl/lib/openldap.c:861,1
    - Dst: USE_SSL
      Src: /src/PROJ/curl/lib/openldap.c:871,1
    - Dst: ssl_installed
      Src: /src/PROJ/curl/lib/openldap.c:872,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/openldap.c:877,1
    - Dst: ldap_msgfree
      Src: /src/PROJ/curl/lib/openldap.c:878,1
    - Dst: oldap_perform_bind
      Src: /src/PROJ/curl/lib/openldap.c:879,1
    - Dst: oldap_ssl_connect
      Src: /src/PROJ/curl/lib/openldap.c:888,1
    - Dst: ssl_installed
      Src: /src/PROJ/curl/lib/openldap.c:889,1
    - Dst: oldap_perform_mechs
      Src: /src/PROJ/curl/lib/openldap.c:891,1
    - Dst: oldap_perform_bind
      Src: /src/PROJ/curl/lib/openldap.c:893,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:899,1
    - Dst: oldap_perform_mechs
      Src: /src/PROJ/curl/lib/openldap.c:901,1
    - Dst: oldap_perform_bind
      Src: /src/PROJ/curl/lib/openldap.c:903,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/PROJ/curl/lib/openldap.c:906,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/openldap.c:909,1
    - Dst: oldap_ssl_connect
      Src: /src/PROJ/curl/lib/openldap.c:911,1
    - Dst: oldap_map_error
      Src: /src/PROJ/curl/lib/openldap.c:913,1
    - Dst: ssl_installed
      Src: /src/PROJ/curl/lib/openldap.c:914,1
    - Dst: oldap_perform_mechs
      Src: /src/PROJ/curl/lib/openldap.c:916,1
    - Dst: oldap_perform_bind
      Src: /src/PROJ/curl/lib/openldap.c:918,1
    - Dst: oldap_state
      Src: /src/PROJ/curl/lib/openldap.c:921,1
    - Dst: oldap_state_mechs_resp
      Src: /src/PROJ/curl/lib/openldap.c:929,1
    - Dst: oldap_state_sasl_resp
      Src: /src/PROJ/curl/lib/openldap.c:932,1
    - Dst: oldap_state_bind_resp
      Src: /src/PROJ/curl/lib/openldap.c:936,1
    - Dst: ldap_msgfree
      Src: /src/PROJ/curl/lib/openldap.c:944,1
    - Dst: ldap_abandon_ext
      Src: /src/PROJ/curl/lib/openldap.c:951,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 828
    functionDepth: 7
    functionLinenumber: 828
    functionLinenumberEnd: 955
    functionName: oldap_connecting
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - failf
    - oldap_map_error
    - FALLTHROUGH
    - oldap_state_sasl_resp
    - ldap_set_option
    - Curl_conn_meta_get
    - ldap_result
    - ldap_err2string
    - Curl_ssl_cfilter_add
    - oldap_state_mechs_resp
    - ldap_msgfree
    - USE_SSL
    - oldap_state_bind_resp
    - ssl_installed
    - ldap_parse_result
    - oldap_ssl_connect
    - oldap_state
    - oldap_perform_mechs
    - oldap_perform_bind
    - ldap_abandon_ext
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_connecting(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:961,1
    - Dst: ssl_installed
      Src: /src/PROJ/curl/lib/openldap.c:969,1
    - Dst: ldap_get_option
      Src: /src/PROJ/curl/lib/openldap.c:971,1
    - Dst: ber_sockbuf_add_io
      Src: /src/PROJ/curl/lib/openldap.c:973,1
    - Dst: ldap_unbind_ext
      Src: /src/PROJ/curl/lib/openldap.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 957
    functionDepth: 3
    functionLinenumber: 957
    functionLinenumberEnd: 981
    functionName: oldap_disconnect
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_unbind_ext
    - ber_sockbuf_add_io
    - Curl_conn_meta_get
    - ldap_get_option
    - ssl_installed
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_disconnect(struct Curl_easy *data,\n                                 struct
      connectdata *conn,\n                                 bool dead_connection)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:986,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/openldap.c:995,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/openldap.c:997,1
    - Dst: oldap_url_parse
      Src: /src/PROJ/curl/lib/openldap.c:999,1
    - Dst: ssl_installed
      Src: /src/PROJ/curl/lib/openldap.c:1004,1
    - Dst: ldap_get_option
      Src: /src/PROJ/curl/lib/openldap.c:1007,1
    - Dst: ber_sockbuf_add_io
      Src: /src/PROJ/curl/lib/openldap.c:1008,1
    - Dst: ldap_free_urldesc
      Src: /src/PROJ/curl/lib/openldap.c:1009,1
    - Dst: ldap_search_ext
      Src: /src/PROJ/curl/lib/openldap.c:1015,1
    - Dst: ldap_free_urldesc
      Src: /src/PROJ/curl/lib/openldap.c:1018,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:1020,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:1020,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/openldap.c:1025,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/openldap.c:1027,1
    - Dst: ldap_abandon_ext
      Src: /src/PROJ/curl/lib/openldap.c:1028,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/openldap.c:1034,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 983
    functionDepth: 3
    functionLinenumber: 983
    functionLinenumberEnd: 1039
    functionName: oldap_do
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - infof
    - connkeep
    - oldap_url_parse
    - failf
    - Curl_meta_set
    - Curl_xfer_setup_recv
    - ber_sockbuf_add_io
    - ldap_free_urldesc
    - Curl_conn_meta_get
    - ldap_get_option
    - ldap_search_ext
    - ldap_err2string
    - calloc
    - ldap_abandon_ext
    - ssl_installed
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:1045,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:1053,1
    - Dst: ldap_abandon_ext
      Src: /src/PROJ/curl/lib/openldap.c:1055,1
    - Dst: Curl_meta_remove
      Src: /src/PROJ/curl/lib/openldap.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - res
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1063
    functionName: oldap_done
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_meta_get
    - ldap_abandon_ext
    - Curl_meta_remove
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_done(struct Curl_easy *data, CURLcode res,\n                           bool
      premature)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/openldap.c:1077,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/openldap.c:1080,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/openldap.c:1083,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - data
    - prefix
    - plen
    - value
    - len
    - suffix
    - slen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1086
    functionName: client_write
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 19
    functionsReached:
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_write(struct Curl_easy *data,\n                             const
      char *prefix, size_t plen,\n                             const char *value,
      size_t len,\n                             const char *suffix, size_t slen)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:1092,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:1093,1
    - Dst: ldap_result
      Src: /src/PROJ/curl/lib/openldap.c:1110,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:1112,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:1112,1
    - Dst: ldap_msgtype
      Src: /src/PROJ/curl/lib/openldap.c:1122,1
    - Dst: ldap_parse_result
      Src: /src/PROJ/curl/lib/openldap.c:1125,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:1127,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:1128,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/openldap.c:1138,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/openldap.c:1139,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/openldap.c:1144,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/openldap.c:1144,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/openldap.c:1150,1
    - Dst: ldap_get_dn_ber
      Src: /src/PROJ/curl/lib/openldap.c:1154,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1160,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1160,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1161,1
    - Dst: ldap_get_attribute_ber
      Src: /src/PROJ/curl/lib/openldap.c:1165,1
    - Dst: ldap_get_attribute_ber
      Src: /src/PROJ/curl/lib/openldap.c:1167,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1175,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1175,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1176,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/openldap.c:1183,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1188,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1188,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1189,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/openldap.c:1196,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/openldap.c:1197,1
    - Dst: ISPRINT
      Src: /src/PROJ/curl/lib/openldap.c:1203,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/openldap.c:1215,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1218,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1218,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1219,1
    - Dst: free
      Src: /src/PROJ/curl/lib/openldap.c:1220,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1223,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1223,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1225,1
    - Dst: ber_memfree
      Src: /src/PROJ/curl/lib/openldap.c:1230,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1233,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1233,1
    - Dst: client_write
      Src: /src/PROJ/curl/lib/openldap.c:1240,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/openldap.c:1240,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/openldap.c:1246,1
    - Dst: ldap_msgfree
      Src: /src/PROJ/curl/lib/openldap.c:1247,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 101
    argCount: 5
    argNames:
    - data
    - sockindex
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1249
    functionName: oldap_recv
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - failf
    - FALLTHROUGH
    - Curl_conn_meta_get
    - curl_strnequal
    - ldap_result
    - ldap_err2string
    - ldap_msgfree
    - infof
    - curlx_base64_encode
    - STRCONST
    - ber_free
    - ldap_parse_result
    - ldap_memfree
    - ldap_get_attribute_ber
    - ldap_get_dn_ber
    - ldap_msgtype
    - ISPRINT
    - free
    - ISBLANK
    - Curl_meta_get
    - client_write
    - ber_memfree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_recv(struct Curl_easy *data, int sockindex, char *buf,\n
      \                          size_t len, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sbiod
    - arg
    argTypes:
    - Sockbuf_IO_Desc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1257
    functionName: ldapsb_tls_setup
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_setup(Sockbuf_IO_Desc *sbiod, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sbiod
    argTypes:
    - Sockbuf_IO_Desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1264
    functionName: ldapsb_tls_remove
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_remove(Sockbuf_IO_Desc *sbiod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sbiod
    argTypes:
    - Sockbuf_IO_Desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1272
    functionName: ldapsb_tls_close
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_close(Sockbuf_IO_Desc *sbiod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/openldap.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sbiod
    - opt
    - arg
    argTypes:
    - Sockbuf_IO_Desc*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1283
    functionName: ldapsb_tls_ctrl
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_data_pending
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_ctrl(Sockbuf_IO_Desc *sbiod, int opt, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:1293,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/openldap.c:1298,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/openldap.c:1303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sbiod
    - buf
    - len
    argTypes:
    - Sockbuf_IO_Desc*
    - void*
    - ber_len_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1309
    functionName: ldapsb_tls_read
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - SET_SOCKERRNO
    linkageType: ''
    returnType: ber_slen_t
    signature: ber_slen_t ldapsb_tls_read(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/openldap.c:1318,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/openldap.c:1323,1
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/openldap.c:1328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sbiod
    - buf
    - len
    argTypes:
    - Sockbuf_IO_Desc*
    - void*
    - ber_len_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1334
    functionName: ldapsb_tls_write
    functionSourceFile: /src/PROJ/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - SET_SOCKERRNO
    linkageType: ''
    returnType: ber_slen_t
    signature: ber_slen_t ldapsb_tls_write(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/formdata.c:75,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/formdata.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - src
    - parent_post
    - httppost
    - last_post
    argTypes:
    - struct FormInfo*
    - struct curl_httppost*
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 113
    functionName: AddHttpPost
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    linkageType: ''
    returnType: struct curl_httppost
    signature: "struct curl_httppost *\nAddHttpPost(struct FormInfo *src,\n            struct
      curl_httppost *parent_post,\n            struct curl_httppost **httppost,\n
      \           struct curl_httppost **last_post)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/formdata.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - value
    - contenttype
    - parent_form_info
    argTypes:
    - char*
    - char*
    - struct FormInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: AddFormInfo
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct FormInfo
    signature: "struct FormInfo *AddFormInfo(char *value,\n                                    char
      *contenttype,\n                                    struct FormInfo *parent_form_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/formdata.c:154,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/formdata.c:158,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/formdata.c:162,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/formdata.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct FormInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: free_formlist
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void free_formlist(struct FormInfo *ptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_contenttype
      Src: /src/PROJ/curl/lib/formdata.c:258,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:265,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/formdata.c:272,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/formdata.c:280,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/formdata.c:281,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/formdata.c:294,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/formdata.c:296,1
    - Dst: AddHttpPost
      Src: /src/PROJ/curl/lib/formdata.c:303,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 41
    argCount: 3
    argNames:
    - first_form
    - httppost
    - last_post
    argTypes:
    - struct FormInfo*
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 313
    functionName: FormAddCheck
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - Curl_mime_contenttype
    - Curl_memdup0
    - memchr
    - strlen
    - Curl_memdup
    - strdup
    - AddHttpPost
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode FormAddCheck(struct FormInfo *first_form,\n                                 struct
      curl_httppost **httppost,\n                                 struct curl_httppost
      **last_post)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_chain
      Src: /src/PROJ/curl/lib/formdata.c:322,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct curl_httppost*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: free_chain
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 1
    functionsReached:
    - free_chain
    - free
    linkageType: ''
    returnType: void
    signature: void free_chain(struct curl_httppost *c)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/formdata.c:349,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/formdata.c:364,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:377,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:388,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/formdata.c:402,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:408,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:420,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/formdata.c:428,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:434,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:443,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:450,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:459,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:461,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:477,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:482,1
    - Dst: AddFormInfo
      Src: /src/PROJ/curl/lib/formdata.c:486,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:488,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:506,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:525,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:541,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:550,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:565,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:569,1
    - Dst: AddFormInfo
      Src: /src/PROJ/curl/lib/formdata.c:573,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:575,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:593,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:610,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/formdata.c:622,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/formdata.c:626,1
    - Dst: FormAddCheck
      Src: /src/PROJ/curl/lib/formdata.c:641,1
    - Dst: free_formlist
      Src: /src/PROJ/curl/lib/formdata.c:646,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:653,1
    - Dst: free_chain
      Src: /src/PROJ/curl/lib/formdata.c:667,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 219
    argCount: 3
    argNames:
    - httppost
    - last_post
    - params
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 670
    functionName: FormAdd
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - free
    - FALLTHROUGH
    - AddFormInfo
    - CURL_UNCONST
    - va_arg
    - calloc
    - free_chain
    - FormAddCheck
    - strdup
    - free_formlist
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode FormAdd(struct curl_httppost **httppost,\n                     struct
      curl_httppost **last_post,\n                     va_list params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/formdata.c:684,1
    - Dst: FormAdd
      Src: /src/PROJ/curl/lib/formdata.c:685,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/formdata.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - httppost
    - last_post
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 688
    functionName: curl_formadd
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 9
    functionsReached:
    - FormAdd
    - va_end
    - va_start
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode curl_formadd(struct curl_httppost **httppost,\n                          struct
      curl_httppost **last_post,\n                          ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_initpart
      Src: /src/PROJ/curl/lib/formdata.c:703,1
    - Dst: Curl_getformdata
      Src: /src/PROJ/curl/lib/formdata.c:704,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/PROJ/curl/lib/formdata.c:706,1
    - Dst: Curl_mime_read
      Src: /src/PROJ/curl/lib/formdata.c:711,1
    - Dst: append
      Src: /src/PROJ/curl/lib/formdata.c:716,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/formdata.c:723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - form
    - arg
    - append
    argTypes:
    - struct curl_httppost*
    - void*
    - curl_formget_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 697
    functionDepth: 5
    functionLinenumber: 697
    functionLinenumberEnd: 725
    functionName: curl_formget
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 3
    functionsReached:
    - Curl_mime_prepare_headers
    - Curl_mime_cleanpart
    - Curl_mime_initpart
    - Curl_getformdata
    - Curl_mime_read
    - append
    linkageType: ''
    returnType: int
    signature: "int curl_formget(struct curl_httppost *form, void *arg,\n                 curl_formget_callback
      append)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_formfree
      Src: /src/PROJ/curl/lib/formdata.c:743,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:746,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:750,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:751,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:752,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - form
    argTypes:
    - struct curl_httppost*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 756
    functionName: curl_formfree
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 7
    functionsReached:
    - free
    - curl_formfree
    linkageType: ''
    returnType: void
    signature: void curl_formfree(struct curl_httppost *form)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/lib/formdata.c:766,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/formdata.c:767,1
    - Dst: curl_mime_name
      Src: /src/PROJ/curl/lib/formdata.c:770,1
    - Dst: free
      Src: /src/PROJ/curl/lib/formdata.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - part
    - name
    - len
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 773
    functionName: setname
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_memdup0
    - curl_mime_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setname(curl_mimepart *part, const char *name, size_t len)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/formdata.c:795,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/lib/formdata.c:800,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/lib/formdata.c:805,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/lib/formdata.c:812,1
    - Dst: setname
      Src: /src/PROJ/curl/lib/formdata.c:816,1
    - Dst: curl_mime_init
      Src: /src/PROJ/curl/lib/formdata.c:818,1
    - Dst: curl_mime_subparts
      Src: /src/PROJ/curl/lib/formdata.c:823,1
    - Dst: curl_mime_addpart
      Src: /src/PROJ/curl/lib/formdata.c:829,1
    - Dst: curl_mime_headers
      Src: /src/PROJ/curl/lib/formdata.c:835,1
    - Dst: curl_mime_type
      Src: /src/PROJ/curl/lib/formdata.c:839,1
    - Dst: setname
      Src: /src/PROJ/curl/lib/formdata.c:843,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/formdata.c:853,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/lib/formdata.c:862,1
    - Dst: curl_mime_filedata
      Src: /src/PROJ/curl/lib/formdata.c:871,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/lib/formdata.c:873,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/lib/formdata.c:876,1
    - Dst: curl_mime_data_cb
      Src: /src/PROJ/curl/lib/formdata.c:884,1
    - Dst: curl_mime_data
      Src: /src/PROJ/curl/lib/formdata.c:893,1
    - Dst: curl_mime_filename
      Src: /src/PROJ/curl/lib/formdata.c:901,1
    - Dst: Curl_mime_cleanpart
      Src: /src/PROJ/curl/lib/formdata.c:906,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 66
    argCount: 4
    argNames:
    - data
    - finalform
    - post
    - fread_func
    argTypes:
    - CURL*
    - curl_mimepart*
    - struct curl_httppost*
    - curl_read_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 909
    functionName: Curl_getformdata
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 2
    functionsReached:
    - setname
    - Curl_mime_cleanpart
    - curl_mime_headers
    - curl_mime_data
    - strcmp
    - curl_mime_subparts
    - curl_mime_data_cb
    - curl_mime_type
    - curl_mime_filename
    - curl_mime_addpart
    - curl_mime_init
    - curl_mime_filedata
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_getformdata(CURL *data,\n                          curl_mimepart
      *finalform,\n                          struct curl_httppost *post,\n                          curl_read_callback
      fread_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - httppost
    - last_post
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 920
    functionName: curl_formadd
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode curl_formadd(struct curl_httppost **httppost,\n                          struct
      curl_httppost **last_post,\n                          ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - form
    - arg
    - append
    argTypes:
    - struct curl_httppost*
    - void*
    - curl_formget_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 929
    functionName: curl_formget
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int curl_formget(struct curl_httppost *form, void *arg,\n                 curl_formget_callback
      append)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - form
    argTypes:
    - struct curl_httppost*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 935
    functionName: curl_formfree
    functionSourceFile: /src/PROJ/curl/lib/formdata.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_formfree(struct curl_httppost *form)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: GOOD_MULTI_HANDLE
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_MULTI_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: GOOD_MULTI_HANDLE
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_MULTI_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/multi.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: before_perform
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    linkageType: ''
    returnType: void
    signature: void before_perform(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/multi.c:130,1
    - Dst: Curl_expire_clear
      Src: /src/PROJ/curl/lib/multi.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: init_completed
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_expire_clear
    - Curl_detach_connection
    linkageType: ''
    returnType: void
    signature: void init_completed(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:168,1
    - Dst: CURL_MSTATE_NAME
      Src: /src/PROJ/curl/lib/multi.c:168,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:170,1
    - Dst: CURL_MSTATE_NAME
      Src: /src/PROJ/curl/lib/multi.c:170,1
    - Dst: CURLM_NTFY
      Src: /src/PROJ/curl/lib/multi.c:176,1
    - Dst: CURLM_NTFY
      Src: /src/PROJ/curl/lib/multi.c:182,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:184,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi.c:184,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:185,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:186,1
    - Dst: Curl_uint_bset_empty
      Src: /src/PROJ/curl/lib/multi.c:188,1
    - Dst: multi_xfer_bufs_free
      Src: /src/PROJ/curl/lib/multi.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - data
    - state
    - lineno
    argTypes:
    - struct Curl_easy*
    - CURLMstate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 200
    functionName: mstate
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multi_xfer_bufs_free
    - Curl_uint_bset_contains
    - CURL_MSTATE_NAME
    - DEBUGASSERT
    - CURLM_NTFY
    - Curl_uint_bset_remove
    - CURL_TRC_M
    - Curl_uint_bset_empty
    linkageType: ''
    returnType: void
    signature: "void mstate(struct Curl_easy *data, CURLMstate state\n#ifdef DEBUGBUILD\n
      \                  , int lineno\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: multistate
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multistate(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: multistate
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multistate(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: ph_freeentry
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void ph_freeentry(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/multi.c:228,1
    - Dst: CURLM_NTFY
      Src: /src/PROJ/curl/lib/multi.c:229,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/multi.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - multi
    - msg
    argTypes:
    - struct Curl_multi*
    - struct Curl_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: multi_addmsg
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_llist_count
    - Curl_llist_append
    - CURLM_NTFY
    linkageType: ''
    returnType: void
    signature: void multi_addmsg(struct Curl_multi *multi, struct Curl_message *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/multi.c:239,1
    - Dst: Curl_dnscache_init
      Src: /src/PROJ/curl/lib/multi.c:246,1
    - Dst: Curl_mntfy_init
      Src: /src/PROJ/curl/lib/multi.c:247,1
    - Dst: Curl_multi_ev_init
      Src: /src/PROJ/curl/lib/multi.c:248,1
    - Dst: Curl_uint_tbl_init
      Src: /src/PROJ/curl/lib/multi.c:249,1
    - Dst: Curl_uint_bset_init
      Src: /src/PROJ/curl/lib/multi.c:250,1
    - Dst: Curl_uint_bset_init
      Src: /src/PROJ/curl/lib/multi.c:251,1
    - Dst: Curl_uint_bset_init
      Src: /src/PROJ/curl/lib/multi.c:252,1
    - Dst: Curl_uint_bset_init
      Src: /src/PROJ/curl/lib/multi.c:253,1
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/multi.c:254,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/multi.c:256,1
    - Dst: Curl_mntfy_resize
      Src: /src/PROJ/curl/lib/multi.c:262,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:263,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:264,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:265,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:266,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/PROJ/curl/lib/multi.c:267,1
    - Dst: curl_easy_init
      Src: /src/PROJ/curl/lib/multi.c:270,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/multi.c:276,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/multi.c:278,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/lib/multi.c:281,1
    - Dst: Curl_cshutdn_init
      Src: /src/PROJ/curl/lib/multi.c:283,1
    - Dst: Curl_cpool_init
      Src: /src/PROJ/curl/lib/multi.c:286,1
    - Dst: Curl_ssl_scache_create
      Src: /src/PROJ/curl/lib/multi.c:289,1
    - Dst: WSACreateEvent
      Src: /src/PROJ/curl/lib/multi.c:296,1
    - Dst: wakeup_create
      Src: /src/PROJ/curl/lib/multi.c:300,1
    - Dst: Curl_multi_ev_cleanup
      Src: /src/PROJ/curl/lib/multi.c:310,1
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/multi.c:311,1
    - Dst: Curl_dnscache_destroy
      Src: /src/PROJ/curl/lib/multi.c:312,1
    - Dst: Curl_cpool_destroy
      Src: /src/PROJ/curl/lib/multi.c:313,1
    - Dst: Curl_cshutdn_destroy
      Src: /src/PROJ/curl/lib/multi.c:314,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/PROJ/curl/lib/multi.c:316,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/multi.c:320,1
    - Dst: Curl_mntfy_cleanup
      Src: /src/PROJ/curl/lib/multi.c:322,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:324,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:325,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:326,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:327,1
    - Dst: Curl_uint_tbl_destroy
      Src: /src/PROJ/curl/lib/multi.c:328,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:330,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 5
    argNames:
    - xfer_table_size
    - ev_hashsize
    - chashsize
    - dnssize
    - sesssize
    argTypes:
    - unsigned int
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 233
    functionDepth: 10
    functionLinenumber: 233
    functionLinenumberEnd: 332
    functionName: Curl_multi_handle
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - getenv
    - Curl_uint_tbl_add
    - Curl_multi_ev_init
    - Curl_uint_tbl_init
    - Curl_uint_bset_init
    - Curl_uint_bset_resize
    - Curl_mntfy_init
    - Curl_llist_init
    - Curl_cpool_destroy
    - Curl_cshutdn_init
    - Curl_dnscache_destroy
    - Curl_mntfy_resize
    - Curl_uint_tbl_resize
    - Curl_uint_tbl_destroy
    - Curl_hash_destroy
    - Curl_dnscache_init
    - Curl_ssl_scache_destroy
    - curl_easy_init
    - Curl_mntfy_cleanup
    - Curl_close
    - Curl_uint_bset_destroy
    - Curl_ssl_scache_create
    - Curl_hash_init
    - calloc
    - WSACreateEvent
    - wakeup_create
    - free
    - Curl_cpool_init
    - Curl_multi_ev_cleanup
    - Curl_cshutdn_destroy
    linkageType: ''
    returnType: struct Curl_multi
    signature: "struct Curl_multi *Curl_multi_handle(unsigned int xfer_table_size,\n
      \                                    size_t ev_hashsize,  /* event hash */\n
      \                                    size_t chashsize, /* connection hash */\n
      \                                    size_t dnssize,   /* dns hash */\n                                     size_t
      sesssize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_handle
      Src: /src/PROJ/curl/lib/multi.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 11
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: curl_multi_init
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 39
    functionsReached:
    - Curl_multi_handle
    linkageType: ''
    returnType: CURLM
    signature: CURLM *curl_multi_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:347,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: multi_warn_debug
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: void multi_warn_debug(struct Curl_multi *multi, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: multi_warn_debug
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_warn_debug(x,y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_capacity
      Src: /src/PROJ/curl/lib/multi.c:361,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:374,1
    - Dst: CURLMAX
      Src: /src/PROJ/curl/lib/multi.c:376,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:398,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:399,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:400,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:401,1
    - Dst: Curl_uint_bset_resize
      Src: /src/PROJ/curl/lib/multi.c:402,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/PROJ/curl/lib/multi.c:403,1
    - Dst: Curl_uint_tbl_add
      Src: /src/PROJ/curl/lib/multi.c:408,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:410,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/PROJ/curl/lib/multi.c:410,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 415
    functionName: multi_xfers_add
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_resize
    - CURLMAX
    - Curl_uint_tbl_add
    - Curl_uint_tbl_capacity
    - Curl_uint_bset_resize
    - Curl_uint_tbl_count
    - DEBUGASSERT
    - CURL_TRC_M
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_xfers_add(struct Curl_multi *multi,\n                                 struct
      Curl_easy *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:424,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:428,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:444,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/PROJ/curl/lib/multi.c:445,1
    - Dst: Curl_uint_bset_clear
      Src: /src/PROJ/curl/lib/multi.c:448,1
    - Dst: Curl_uint_bset_clear
      Src: /src/PROJ/curl/lib/multi.c:449,1
    - Dst: Curl_uint_bset_clear
      Src: /src/PROJ/curl/lib/multi.c:450,1
    - Dst: Curl_uint_bset_clear
      Src: /src/PROJ/curl/lib/multi.c:451,1
    - Dst: curl_multi_cleanup
      Src: /src/PROJ/curl/lib/multi.c:457,1
    - Dst: multi_xfers_add
      Src: /src/PROJ/curl/lib/multi.c:462,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/multi.c:466,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:484,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/lib/multi.c:495,1
    - Dst: Curl_cpool_xfer_init
      Src: /src/PROJ/curl/lib/multi.c:499,1
    - Dst: multi_warn_debug
      Src: /src/PROJ/curl/lib/multi.c:500,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/multi.c:503,1
    - Dst: Curl_update_timer
      Src: /src/PROJ/curl/lib/multi.c:506,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/lib/multi.c:509,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:523,1
    - Dst: Curl_multi_xfers_running
      Src: /src/PROJ/curl/lib/multi.c:524,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - m
    - d
    argTypes:
    - CURLM*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 527
    functionName: curl_multi_add_handle
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 42
    functionsReached:
    - multistate
    - multi_warn_debug
    - GOOD_EASY_HANDLE
    - Curl_uint_tbl_contains
    - Curl_multi_mark_dirty
    - multi_xfers_add
    - Curl_update_timer
    - curl_multi_cleanup
    - Curl_multi_xfers_running
    - Curl_llist_init
    - Curl_uint_tbl_count
    - Curl_uint_bset_add
    - Curl_cpool_xfer_init
    - GOOD_MULTI_HANDLE
    - CURL_TRC_M
    - Curl_uint_tbl_remove
    - Curl_uint_bset_clear
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_add_handle(CURLM *m, CURL *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/multi.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: debug_print_sock_hash
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void debug_print_sock_hash(void *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/multi.c:659,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:661,1
    - Dst: Curl_async_shutdown
      Src: /src/PROJ/curl/lib/multi.c:669,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/multi.c:672,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/multi.c:673,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/multi.c:684,1
    - Dst: struct connectdata*::handler::done
      Src: /src/PROJ/curl/lib/multi.c:691,1
    - Dst: Curl_pgrsDone
      Src: /src/PROJ/curl/lib/multi.c:698,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/multi.c:704,1
    - Dst: Curl_xfer_write_done
      Src: /src/PROJ/curl/lib/multi.c:704,1
    - Dst: Curl_conn_ev_data_done
      Src: /src/PROJ/curl/lib/multi.c:707,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:709,1
    - Dst: Curl_req_done
      Src: /src/PROJ/curl/lib/multi.c:712,1
    - Dst: Curl_cpool_do_locked
      Src: /src/PROJ/curl/lib/multi.c:717,1
    - Dst: Curl_netrc_cleanup
      Src: /src/PROJ/curl/lib/multi.c:720,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 650
    functionDepth: 8
    functionLinenumber: 650
    functionLinenumberEnd: 722
    functionName: multi_done
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_1st_err
    - Curl_cpool_do_locked
    - Curl_conn_ev_data_done
    - Curl_req_done
    - FALLTHROUGH
    - Curl_async_shutdown
    - process_pending_handles
    - Curl_netrc_cleanup
    - memset
    - Curl_pgrsDone
    - struct connectdata*::handler::done
    - Curl_safefree
    - CURL_TRC_M
    - Curl_xfer_write_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multi_done(struct Curl_easy *data,\n                           CURLcode
      status,  /* an error if this is called\n                                                after
      an error was detected */\n                           bool premature)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connclose
      Src: /src/PROJ/curl/lib/multi.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - data
    - userdata
    argTypes:
    - struct connectdata*
    - struct Curl_easy*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 732
    functionName: close_connect_only
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - connclose
    linkageType: ''
    returnType: void
    signature: "void close_connect_only(struct connectdata *conn,\n                               struct
      Curl_easy *data,\n                               void *userdata)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:745,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:749,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:761,1
    - Dst: Curl_uint_tbl_get
      Src: /src/PROJ/curl/lib/multi.c:764,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:765,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/multi.c:781,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:790,1
    - Dst: Curl_expire_clear
      Src: /src/PROJ/curl/lib/multi.c:796,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi.c:799,1
    - Dst: Curl_wildcard_dtor
      Src: /src/PROJ/curl/lib/multi.c:802,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/multi.c:807,1
    - Dst: Curl_multi_ev_xfer_done
      Src: /src/PROJ/curl/lib/multi.c:810,1
    - Dst: Curl_getconnectinfo
      Src: /src/PROJ/curl/lib/multi.c:823,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/multi.c:825,1
    - Dst: Curl_cpool_do_by_id
      Src: /src/PROJ/curl/lib/multi.c:831,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:843,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/multi.c:843,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:844,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/multi.c:847,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:855,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/PROJ/curl/lib/multi.c:855,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/lib/multi.c:856,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:857,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:858,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:859,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:860,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:867,1
    - Dst: Curl_update_timer
      Src: /src/PROJ/curl/lib/multi.c:870,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:875,1
    - Dst: Curl_multi_xfers_running
      Src: /src/PROJ/curl/lib/multi.c:876,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:877,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 2
    argNames:
    - m
    - d
    argTypes:
    - CURLM*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 734
    functionDepth: 9
    functionLinenumber: 734
    functionLinenumberEnd: 879
    functionName: curl_multi_remove_handle
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 61
    functionsReached:
    - Curl_expire_clear
    - Curl_cpool_do_by_id
    - Curl_detach_connection
    - Curl_uint_bset_contains
    - Curl_conn_terminate
    - Curl_node_next
    - Curl_uint_tbl_get
    - CURL_TRC_M
    - multi_done
    - Curl_uint_tbl_contains
    - Curl_llist_head
    - Curl_uint_bset_remove
    - GOOD_EASY_HANDLE
    - Curl_wildcard_dtor
    - Curl_update_timer
    - Curl_node_remove
    - Curl_multi_xfers_running
    - Curl_uint_tbl_count
    - DEBUGASSERT
    - streamclose
    - Curl_node_elem
    - Curl_uint_tbl_remove
    - Curl_multi_ev_xfer_done
    - process_pending_handles
    - Curl_getconnectinfo
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_remove_handle(CURLM *m, CURL *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: Curl_multiplex_wanted
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_multiplex_wanted(const struct Curl_multi *multi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_remove
      Src: /src/PROJ/curl/lib/multi.c:897,1
    - Dst: Curl_uint_spbset_empty
      Src: /src/PROJ/curl/lib/multi.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: Curl_detach_connection
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 14
    functionsReached:
    - Curl_uint_spbset_empty
    - Curl_uint_spbset_remove
    linkageType: ''
    returnType: void
    signature: void Curl_detach_connection(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:912,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:913,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:914,1
    - Dst: Curl_uint_spbset_add
      Src: /src/PROJ/curl/lib/multi.c:916,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:920,1
    - Dst: struct connectdata*::handler::attach
      Src: /src/PROJ/curl/lib/multi.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 924
    functionName: Curl_attach_connection
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 13
    functionsReached:
    - Curl_uint_spbset_add
    - DEBUGASSERT
    - struct connectdata*::handler::attach
    linkageType: ''
    returnType: void
    signature: "void Curl_attach_connection(struct Curl_easy *data,\n                            struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_first_socket
      Src: /src/PROJ/curl/lib/multi.c:930,1
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/multi.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 937
    functionName: mstate_connecting_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    - Curl_conn_get_first_socket
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_connecting_pollset(struct Curl_easy *data,\n                                          struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::proto_pollset
      Src: /src/PROJ/curl/lib/multi.c:946,1
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/multi.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 954
    functionName: mstate_protocol_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    - struct connectdata*::handler::proto_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_protocol_pollset(struct Curl_easy *data,\n                                        struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::doing_pollset
      Src: /src/PROJ/curl/lib/multi.c:962,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/multi.c:963,1
    - Dst: Curl_pollset_add_out
      Src: /src/PROJ/curl/lib/multi.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 970
    functionName: mstate_do_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::doing_pollset
    - CONN_SOCK_IDX_VALID
    - Curl_pollset_add_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_do_pollset(struct Curl_easy *data,\n                                  struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::domore_pollset
      Src: /src/PROJ/curl/lib/multi.c:978,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/multi.c:979,1
    - Dst: Curl_pollset_add_out
      Src: /src/PROJ/curl/lib/multi.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 986
    functionName: mstate_domore_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_out
    - struct connectdata*::handler::domore_pollset
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_domore_pollset(struct Curl_easy *data,\n                                      struct
      easy_pollset *ps)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::perform_pollset
      Src: /src/PROJ/curl/lib/multi.c:995,1
    - Dst: CURL_WANT_RECV
      Src: /src/PROJ/curl/lib/multi.c:999,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/multi.c:999,1
    - Dst: Curl_pollset_add_in
      Src: /src/PROJ/curl/lib/multi.c:1000,1
    - Dst: Curl_req_want_send
      Src: /src/PROJ/curl/lib/multi.c:1004,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/multi.c:1005,1
    - Dst: Curl_pollset_add_out
      Src: /src/PROJ/curl/lib/multi.c:1006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1011
    functionName: mstate_perform_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    - Curl_req_want_send
    - Curl_pollset_add_out
    - CURL_WANT_RECV
    - CONN_SOCK_IDX_VALID
    - struct connectdata*::handler::perform_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_perform_pollset(struct Curl_easy *data,\n                                       struct
      easy_pollset *ps)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/multi.c:1026,1
    - Dst: Curl_resolv_pollset
      Src: /src/PROJ/curl/lib/multi.c:1040,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/multi.c:1048,1
    - Dst: mstate_connecting_pollset
      Src: /src/PROJ/curl/lib/multi.c:1049,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/multi.c:1051,1
    - Dst: mstate_protocol_pollset
      Src: /src/PROJ/curl/lib/multi.c:1059,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/multi.c:1061,1
    - Dst: mstate_do_pollset
      Src: /src/PROJ/curl/lib/multi.c:1066,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/multi.c:1068,1
    - Dst: mstate_domore_pollset
      Src: /src/PROJ/curl/lib/multi.c:1072,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/multi.c:1074,1
    - Dst: mstate_perform_pollset
      Src: /src/PROJ/curl/lib/multi.c:1079,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/PROJ/curl/lib/multi.c:1081,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:1097,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1098,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:1107,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/PROJ/curl/lib/multi.c:1115,1
    - Dst: Curl_xfer_is_too_fast
      Src: /src/PROJ/curl/lib/multi.c:1115,1
    - Dst: Curl_pollset_want_read
      Src: /src/PROJ/curl/lib/multi.c:1116,1
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/multi.c:1117,1
    - Dst: Curl_pollset_want_read
      Src: /src/PROJ/curl/lib/multi.c:1118,1
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/multi.c:1119,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:1120,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/multi.c:1122,1
    - Dst: CURL_TRC_M_is_verbose
      Src: /src/PROJ/curl/lib/multi.c:1126,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/multi.c:1127,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:1130,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/PROJ/curl/lib/multi.c:1132,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/multi.c:1133,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:1136,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:1143,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:1154,1
    - Dst: CURL_TRC_EASY_TIMERS
      Src: /src/PROJ/curl/lib/multi.c:1158,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi.c:1163,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/multi.c:1164,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/multi.c:1165,1
    - Dst: Curl_creader_is_paused
      Src: /src/PROJ/curl/lib/multi.c:1165,1
    - Dst: Curl_conn_is_ip_connected
      Src: /src/PROJ/curl/lib/multi.c:1166,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:1172,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1173,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 98
    argCount: 3
    argNames:
    - data
    - ps
    - caller
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1177
    functionName: Curl_multi_pollset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - mstate_perform_pollset
    - failf
    - Curl_uint_bset_contains
    - Curl_creader_is_paused
    - Curl_xfer_is_blocked
    - CURL_TRC_M
    - infof
    - Curl_conn_data_pending
    - CURL_TRC_EASY_TIMERS
    - Curl_xfer_send_is_paused
    - mstate_do_pollset
    - DEBUGASSERT
    - Curl_resolv_pollset
    - Curl_pollset_reset
    - mstate_connecting_pollset
    - Curl_xfer_is_too_fast
    - Curl_cwriter_is_paused
    - Curl_conn_is_ip_connected
    - Curl_multi_mark_dirty
    - Curl_conn_adjust_pollset
    - Curl_pollset_want_read
    - Curl_llist_count
    - mstate_protocol_pollset
    - mstate_domore_pollset
    - CURL_TRC_M_is_verbose
    - Curl_xfer_recv_is_paused
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps,\n                             const char *caller)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:1192,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/multi.c:1198,1
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi.c:1199,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:1201,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1204,1
    - Dst: Curl_multi_pollset
      Src: /src/PROJ/curl/lib/multi.c:1208,1
    - Dst: FDSET_SOCK
      Src: /src/PROJ/curl/lib/multi.c:1210,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/multi.c:1218,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/multi.c:1220,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi.c:1228,1
    - Dst: Curl_cshutdn_setfds
      Src: /src/PROJ/curl/lib/multi.c:1231,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/multi.c:1235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - m
    - read_fd_set
    - write_fd_set
    - exc_fd_set
    - max_fd
    argTypes:
    - CURLM*
    - fd_set*
    - fd_set*
    - fd_set*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1179
    functionDepth: 4
    functionLinenumber: 1179
    functionLinenumberEnd: 1238
    functionName: curl_multi_fdset
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 5
    functionsReached:
    - Curl_uint_bset_first
    - Curl_pollset_init
    - Curl_cshutdn_setfds
    - FDSET_SOCK
    - Curl_multi_get_easy
    - Curl_uint_bset_next
    - Curl_pollset_cleanup
    - DEBUGASSERT
    - FD_SET
    - GOOD_MULTI_HANDLE
    - Curl_multi_pollset
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_fdset(CURLM *m,\n                           fd_set
      *read_fd_set, fd_set *write_fd_set,\n                           fd_set *exc_fd_set,
      int *max_fd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:1254,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/multi.c:1260,1
    - Dst: Curl_waitfds_init
      Src: /src/PROJ/curl/lib/multi.c:1261,1
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi.c:1262,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:1264,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1266,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:1267,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:1268,1
    - Dst: Curl_multi_pollset
      Src: /src/PROJ/curl/lib/multi.c:1271,1
    - Dst: Curl_waitfds_add_ps
      Src: /src/PROJ/curl/lib/multi.c:1272,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi.c:1274,1
    - Dst: Curl_cshutdn_add_waitfds
      Src: /src/PROJ/curl/lib/multi.c:1277,1
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/multi.c:1285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - m
    - ufds
    - size
    - fd_count
    argTypes:
    - CURLM*
    - struct curl_waitfd*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1240
    functionDepth: 4
    functionLinenumber: 1240
    functionLinenumberEnd: 1287
    functionName: curl_multi_waitfds
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - Curl_uint_bset_first
    - Curl_pollset_init
    - Curl_waitfds_add_ps
    - Curl_multi_get_easy
    - Curl_cshutdn_add_waitfds
    - Curl_uint_bset_next
    - Curl_waitfds_init
    - Curl_pollset_cleanup
    - DEBUGASSERT
    - Curl_uint_bset_remove
    - GOOD_MULTI_HANDLE
    - Curl_multi_pollset
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_waitfds(CURLM *m,\n                             struct
      curl_waitfd *ufds,\n                             unsigned int size,\n                             unsigned
      int *fd_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/PROJ/curl/lib/multi.c:1300,1
    - Dst: CURL_SEND
      Src: /src/PROJ/curl/lib/multi.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: reset_socket_fdwrite
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - CURL_SEND
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void reset_socket_fdwrite(curl_socket_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_wait
      Src: /src/PROJ/curl/lib/multi.c:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - multi
    - extra_fds
    - extra_nfds
    - timeout_ms
    - ret
    argTypes:
    - CURLM*
    - struct curl_waitfd[]
    - unsigned int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1569
    functionName: curl_multi_wait
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 11
    functionsReached:
    - multi_wait
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_wait(CURLM *multi,\n                          struct
      curl_waitfd extra_fds[],\n                          unsigned int extra_nfds,\n
      \                         int timeout_ms,\n                          int *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_wait
      Src: /src/PROJ/curl/lib/multi.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - multi
    - extra_fds
    - extra_nfds
    - timeout_ms
    - ret
    argTypes:
    - CURLM*
    - struct curl_waitfd[]
    - unsigned int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1579
    functionName: curl_multi_poll
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 22
    functionsReached:
    - multi_wait
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_poll(CURLM *multi,\n                          struct
      curl_waitfd extra_fds[],\n                          unsigned int extra_nfds,\n
      \                         int timeout_ms,\n                          int *ret)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:1589,1
    - Dst: WSASetEvent
      Src: /src/PROJ/curl/lib/multi.c:1594,1
    - Dst: wakeup_write
      Src: /src/PROJ/curl/lib/multi.c:1618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - m
    argTypes:
    - CURLM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1637
    functionName: curl_multi_wakeup
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - GOOD_MULTI_HANDLE
    - WSASetEvent
    - wakeup_write
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_wakeup(CURLM *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - multi
    - clear
    argTypes:
    - struct Curl_multi*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1653
    functionName: multi_ischanged
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multi_ischanged(struct Curl_multi *multi, bool clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1665
    functionName: Curl_multi_connchanged
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_multi_connchanged(struct Curl_multi *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_add_handle
      Src: /src/PROJ/curl/lib/multi.c:1676,1
    - Dst: Curl_init_do
      Src: /src/PROJ/curl/lib/multi.c:1683,1
    - Dst: curl_multi_remove_handle
      Src: /src/PROJ/curl/lib/multi.c:1685,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:1690,1
    - Dst: Curl_attach_connection
      Src: /src/PROJ/curl/lib/multi.c:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1667
    functionDepth: 10
    functionLinenumber: 1667
    functionLinenumberEnd: 1695
    functionName: Curl_multi_add_perform
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - multistate
    - Curl_attach_connection
    - curl_multi_remove_handle
    - curl_multi_add_handle
    - Curl_init_do
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_add_perform(struct Curl_multi *multi,\n                                 struct
      Curl_easy *data,\n                                 struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1702,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1703,1
    - Dst: struct connectdata*::handler::do_it
      Src: /src/PROJ/curl/lib/multi.c:1706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1709
    functionName: multi_do
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::do_it
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode multi_do(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::do_more
      Src: /src/PROJ/curl/lib/multi.c:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - complete
    argTypes:
    - struct Curl_easy*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1731
    functionName: multi_do_more
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::do_more
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode multi_do_more(struct Curl_easy *data, int *complete)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/multi.c:1742,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:1751,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/multi.c:1752,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:1754,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/multi.c:1755,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:1759,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/multi.c:1762,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:1765,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/multi.c:1767,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/multi.c:1774,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:1777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - data
    - now
    - stream_error
    - result
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1736
    functionDepth: 9
    functionLinenumber: 1736
    functionLinenumberEnd: 1783
    functionName: multi_handle_timeout
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_timeleft
    - curlx_timediff
    - streamclose
    - multi_done
    linkageType: ''
    returnType: bool
    signature: "bool multi_handle_timeout(struct Curl_easy *data,\n                                 struct
      curltime *now,\n                                 bool *stream_error,\n                                 CURLcode
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::connecting
      Src: /src/PROJ/curl/lib/multi.c:1798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1804
    functionName: protocol_connecting
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::connecting
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode protocol_connecting(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::doing
      Src: /src/PROJ/curl/lib/multi.c:1818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1824
    functionName: protocol_doing
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::doing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode protocol_doing(struct Curl_easy *data, bool *done)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1836,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:1837,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/multi.c:1841,1
    - Dst: struct connectdata*::handler::connect_it
      Src: /src/PROJ/curl/lib/multi.c:1860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - data
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1831
    functionDepth: 2
    functionLinenumber: 1831
    functionLinenumberEnd: 1872
    functionName: protocol_connect
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_connected
    - DEBUGASSERT
    - struct connectdata*::handler::connect_it
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode protocol_connect(struct Curl_easy *data,\n                                 bool
      *protocol_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - value
    argTypes:
    - struct Curl_multi*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1877
    functionName: set_in_callback
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_in_callback(struct Curl_multi *multi, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/PROJ/curl/lib/multi.c:1887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1891
    functionName: multi_posttransfer
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void multi_posttransfer(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_handler*::follow
      Src: /src/PROJ/curl/lib/multi.c:1905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data
    - handler
    - newurl
    - type
    argTypes:
    - struct Curl_easy*
    - struct Curl_handler*
    - char*
    - followtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1907
    functionName: multi_follow
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct Curl_handler*::follow
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multi_follow(struct Curl_easy *data,\n                             const
      struct Curl_handler *handler,\n                             const char *newurl,
      /* the Location: string */\n                             followtype type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsLimitWaitTime
      Src: /src/PROJ/curl/lib/multi.c:1917,1
    - Dst: Curl_pgrsLimitWaitTime
      Src: /src/PROJ/curl/lib/multi.c:1923,1
    - Dst: Curl_ratelimit
      Src: /src/PROJ/curl/lib/multi.c:1929,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:1930,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/multi.c:1932,1
    - Dst: CURLMAX
      Src: /src/PROJ/curl/lib/multi.c:1932,1
    - Dst: Curl_multi_clear_dirty
      Src: /src/PROJ/curl/lib/multi.c:1933,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:1937,1
    - Dst: Curl_ratelimit
      Src: /src/PROJ/curl/lib/multi.c:1938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - data
    - nowp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1941
    functionName: mspeed_check
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_multi_clear_dirty
    - CURLMAX
    - multistate
    - Curl_expire
    - Curl_ratelimit
    - Curl_pgrsLimitWaitTime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mspeed_check(struct Curl_easy *data,\n                             struct
      curltime *nowp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mspeed_check
      Src: /src/PROJ/curl/lib/multi.c:1954,1
    - Dst: Curl_sendrecv
      Src: /src/PROJ/curl/lib/multi.c:1958,1
    - Dst: Curl_retry_request
      Src: /src/PROJ/curl/lib/multi.c:1965,1
    - Dst: Curl_h2_http_1_1_error
      Src: /src/PROJ/curl/lib/multi.c:1980,1
    - Dst: Curl_retry_request
      Src: /src/PROJ/curl/lib/multi.c:1981,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:1984,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/multi.c:1985,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/multi.c:1992,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/multi.c:2020,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2022,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2023,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/multi.c:2025,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2029,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:2038,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2045,1
    - Dst: multi_follow
      Src: /src/PROJ/curl/lib/multi.c:2047,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2049,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:2059,1
    - Dst: multi_follow
      Src: /src/PROJ/curl/lib/multi.c:2062,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2065,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2070,1
    - Dst: mspeed_check
      Src: /src/PROJ/curl/lib/multi.c:2076,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:2078,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 4
    argNames:
    - data
    - nowp
    - stream_errorp
    - resultp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1943
    functionDepth: 9
    functionLinenumber: 1943
    functionLinenumberEnd: 2081
    functionName: state_performing
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_retry_request
    - Curl_cwriter_is_paused
    - infof
    - free
    - multistate
    - multi_follow
    - multi_posttransfer
    - mspeed_check
    - Curl_h2_http_1_1_error
    - Curl_sendrecv
    - streamclose
    - strdup
    - multi_done
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_performing(struct Curl_easy *data,\n                                  struct
      curltime *nowp,\n                                  bool *stream_errorp,\n                                  CURLcode
      *resultp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/multi.c:2093,1
    - Dst: struct Curl_easy*::set::fprereq
      Src: /src/PROJ/curl/lib/multi.c:2094,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/multi.c:2099,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:2101,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2104,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2105,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/multi.c:2113,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2114,1
    - Dst: multi_do
      Src: /src/PROJ/curl/lib/multi.c:2120,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2132,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2135,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2144,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2152,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2157,1
    - Dst: Curl_retry_request
      Src: /src/PROJ/curl/lib/multi.c:2173,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2180,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2181,1
    - Dst: multi_follow
      Src: /src/PROJ/curl/lib/multi.c:2188,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2190,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:2208,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2212,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2214,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 3
    argNames:
    - data
    - stream_errorp
    - resultp
    argTypes:
    - struct Curl_easy*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2083
    functionDepth: 9
    functionLinenumber: 2083
    functionLinenumberEnd: 2221
    functionName: state_do
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_retry_request
    - free
    - multistate
    - Curl_set_in_callback
    - failf
    - struct Curl_easy*::set::fprereq
    - connkeep
    - multi_follow
    - multi_posttransfer
    - multi_do
    - multi_done
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_do(struct Curl_easy *data,\n                          bool
      *stream_errorp,\n                          CURLcode *resultp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2229,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/multi.c:2231,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/multi.c:2234,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/multi.c:2239,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2241,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2242,1
    - Dst: mspeed_check
      Src: /src/PROJ/curl/lib/multi.c:2245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - nowp
    - resultp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2223
    functionDepth: 9
    functionLinenumber: 2223
    functionLinenumberEnd: 2250
    functionName: state_ratelimiting
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsUpdate
    - multi_posttransfer
    - mspeed_check
    - Curl_speedcheck
    - DEBUGASSERT
    - streamclose
    - multi_done
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_ratelimiting(struct Curl_easy *data,\n                                    struct
      curltime *nowp,\n                                    CURLcode *resultp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_resolv_check
      Src: /src/PROJ/curl/lib/multi.c:2261,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/multi.c:2262,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/PROJ/curl/lib/multi.c:2269,1
    - Dst: Curl_once_resolved
      Src: /src/PROJ/curl/lib/multi.c:2277,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2287,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - multi
    - data
    - stream_errorp
    - resultp
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2252
    functionDepth: 6
    functionLinenumber: 2252
    functionLinenumberEnd: 2300
    functionName: state_resolving
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multistate
    - Curl_resolv_check
    - Curl_once_resolved
    - CURL_TRC_DNS
    - Curl_multi_ev_assess_xfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_resolving(struct Curl_multi *multi,\n                                 struct
      Curl_easy *data,\n                                 bool *stream_errorp,\n                                 CURLcode
      *resultp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_connect
      Src: /src/PROJ/curl/lib/multi.c:2312,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2316,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2318,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2319,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/lib/multi.c:2320,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2325,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/multi.c:2328,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2331,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/PROJ/curl/lib/multi.c:2340,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2342,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2344,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - multi
    - data
    - nowp
    - resultp
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct curltime*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2302
    functionDepth: 10
    functionLinenumber: 2302
    functionLinenumberEnd: 2353
    functionName: state_connect
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multistate
    - Curl_connect
    - process_pending_handles
    - Curl_conn_is_multiplex
    - Curl_uint_bset_add
    - Curl_pgrsTime
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_connect(struct Curl_multi *multi,\n                               struct
      Curl_easy *data,\n                               struct curltime *nowp,\n                               CURLcode
      *resultp)"
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:2367,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2374,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2375,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2376,1
    - Dst: multi_warn_debug
      Src: /src/PROJ/curl/lib/multi.c:2379,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2383,1
    - Dst: multi_ischanged
      Src: /src/PROJ/curl/lib/multi.c:2391,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2392,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2393,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2399,1
    - Dst: multi_handle_timeout
      Src: /src/PROJ/curl/lib/multi.c:2407,1
    - Dst: Curl_pretransfer
      Src: /src/PROJ/curl/lib/multi.c:2415,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2420,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/multi.c:2421,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/multi.c:2422,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/multi.c:2427,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/multi.c:2429,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/multi.c:2434,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2436,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/multi.c:2437,1
    - Dst: state_connect
      Src: /src/PROJ/curl/lib/multi.c:2440,1
    - Dst: state_resolving
      Src: /src/PROJ/curl/lib/multi.c:2445,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2451,1
    - Dst: Curl_http_connect
      Src: /src/PROJ/curl/lib/multi.c:2452,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2456,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2465,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/multi.c:2466,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/multi.c:2467,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/PROJ/curl/lib/multi.c:2470,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2472,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2475,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2479,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2480,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2493,1
    - Dst: protocol_connect
      Src: /src/PROJ/curl/lib/multi.c:2498,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2501,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2506,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2511,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2512,1
    - Dst: protocol_connecting
      Src: /src/PROJ/curl/lib/multi.c:2519,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2522,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2527,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2528,1
    - Dst: state_do
      Src: /src/PROJ/curl/lib/multi.c:2534,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2539,1
    - Dst: protocol_doing
      Src: /src/PROJ/curl/lib/multi.c:2540,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2544,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2551,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2552,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2561,1
    - Dst: multi_do_more
      Src: /src/PROJ/curl/lib/multi.c:2562,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2568,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2577,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2578,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2584,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2587,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/multi.c:2591,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/PROJ/curl/lib/multi.c:2592,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2593,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2601,1
    - Dst: state_ratelimiting
      Src: /src/PROJ/curl/lib/multi.c:2607,1
    - Dst: state_performing
      Src: /src/PROJ/curl/lib/multi.c:2611,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2622,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2634,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2641,1
    - Dst: multi_ischanged
      Src: /src/PROJ/curl/lib/multi.c:2659,1
    - Dst: multi_handle_timeout
      Src: /src/PROJ/curl/lib/multi.c:2666,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2682,1
    - Dst: Curl_detach_connection
      Src: /src/PROJ/curl/lib/multi.c:2693,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/multi.c:2694,1
    - Dst: multi_posttransfer
      Src: /src/PROJ/curl/lib/multi.c:2699,1
    - Dst: Curl_pgrsUpdate_nometer
      Src: /src/PROJ/curl/lib/multi.c:2700,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2703,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/multi.c:2707,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/multi.c:2711,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2714,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2725,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:2726,1
    - Dst: struct Curl_easy*::sub_xfer_done
      Src: /src/PROJ/curl/lib/multi.c:2729,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2731,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2735,1
    - Dst: multi_addmsg
      Src: /src/PROJ/curl/lib/multi.c:2746,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2747,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:2749,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2752,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2753,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2754,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/lib/multi.c:2755,1
    - Dst: multi_ischanged
      Src: /src/PROJ/curl/lib/multi.c:2759,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 239
    argCount: 3
    argNames:
    - multi
    - nowp
    - data
    argTypes:
    - struct Curl_multi*
    - struct curltime*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2355
    functionDepth: 11
    functionLinenumber: 2355
    functionLinenumberEnd: 2763
    functionName: multi_runsingle
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_detach_connection
    - FALLTHROUGH
    - protocol_connect
    - state_performing
    - Curl_conn_terminate
    - Curl_uint_bset_add
    - Curl_pgrsTime
    - CURL_TRC_M
    - multi_done
    - multistate
    - multi_warn_debug
    - Curl_pgrsUpdate
    - state_ratelimiting
    - multi_posttransfer
    - Curl_http_connect
    - Curl_uint_bset_remove
    - state_do
    - CONN_SOCK_IDX_VALID
    - struct Curl_easy*::sub_xfer_done
    - multi_addmsg
    - GOOD_EASY_HANDLE
    - protocol_doing
    - Curl_conn_is_multiplex
    - state_connect
    - DEBUGASSERT
    - streamclose
    - multi_handle_timeout
    - state_resolving
    - protocol_connecting
    - multi_do_more
    - Curl_expire
    - Curl_pgrsUpdate_nometer
    - Curl_multi_get_easy
    - Curl_pretransfer
    - Curl_conn_connect
    - process_pending_handles
    - multi_ischanged
    - Curl_xfer_recv_is_paused
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_runsingle(struct Curl_multi *multi,\n                                 struct
      curltime *nowp,\n                                 struct Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/multi.c:2770,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/multi.c:2773,1
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:2775,1
    - Dst: sigpipe_init
      Src: /src/PROJ/curl/lib/multi.c:2784,1
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi.c:2785,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2786,1
    - Dst: Curl_multi_xfers_running
      Src: /src/PROJ/curl/lib/multi.c:2787,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:2789,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2792,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2793,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:2794,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/multi.c:2799,1
    - Dst: multi_runsingle
      Src: /src/PROJ/curl/lib/multi.c:2800,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi.c:2805,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/multi.c:2808,1
    - Dst: Curl_cshutdn_perform
      Src: /src/PROJ/curl/lib/multi.c:2809,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/multi.c:2810,1
    - Dst: multi_ischanged
      Src: /src/PROJ/curl/lib/multi.c:2812,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:2813,1
    - Dst: Curl_mntfy_dispatch_all
      Src: /src/PROJ/curl/lib/multi.c:2816,1
    - Dst: Curl_splaygetbest
      Src: /src/PROJ/curl/lib/multi.c:2829,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/lib/multi.c:2832,1
    - Dst: add_next_timeout
      Src: /src/PROJ/curl/lib/multi.c:2833,1
    - Dst: multi_handle_timeout
      Src: /src/PROJ/curl/lib/multi.c:2837,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:2838,1
    - Dst: move_pending_to_connect
      Src: /src/PROJ/curl/lib/multi.c:2839,1
    - Dst: Curl_multi_xfers_running
      Src: /src/PROJ/curl/lib/multi.c:2846,1
    - Dst: Curl_update_timer
      Src: /src/PROJ/curl/lib/multi.c:2851,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - m
    - running_handles
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2766
    functionDepth: 12
    functionLinenumber: 2766
    functionLinenumberEnd: 2854
    functionName: curl_multi_perform
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 32
    functionsReached:
    - curlx_now
    - move_pending_to_connect
    - CURL_TRC_M
    - infof
    - sigpipe_apply
    - add_next_timeout
    - Curl_uint_bset_remove
    - SIGPIPE_VARIABLE
    - Curl_uint_bset_first
    - Curl_mntfy_dispatch_all
    - sigpipe_init
    - sigpipe_restore
    - Curl_uint_bset_next
    - Curl_cshutdn_perform
    - Curl_update_timer
    - Curl_multi_xfers_running
    - DEBUGASSERT
    - multi_handle_timeout
    - Curl_multi_get_easy
    - process_pending_handles
    - multi_ischanged
    - Curl_splaygetbest
    - Curl_splayget
    - GOOD_MULTI_HANDLE
    - multi_runsingle
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_perform(CURLM *m, int *running_handles)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:2859,1
    - Dst: Curl_uint_tbl_first
      Src: /src/PROJ/curl/lib/multi.c:2869,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:2872,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2877,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2879,1
    - Dst: multi_done
      Src: /src/PROJ/curl/lib/multi.c:2888,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/lib/multi.c:2891,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/multi.c:2899,1
    - Dst: Curl_uint_tbl_next
      Src: /src/PROJ/curl/lib/multi.c:2901,1
    - Dst: Curl_cpool_destroy
      Src: /src/PROJ/curl/lib/multi.c:2904,1
    - Dst: Curl_cshutdn_destroy
      Src: /src/PROJ/curl/lib/multi.c:2905,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2907,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/lib/multi.c:2909,1
    - Dst: Curl_close
      Src: /src/PROJ/curl/lib/multi.c:2910,1
    - Dst: Curl_multi_ev_cleanup
      Src: /src/PROJ/curl/lib/multi.c:2915,1
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/multi.c:2916,1
    - Dst: Curl_dnscache_destroy
      Src: /src/PROJ/curl/lib/multi.c:2917,1
    - Dst: Curl_psl_destroy
      Src: /src/PROJ/curl/lib/multi.c:2918,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/PROJ/curl/lib/multi.c:2920,1
    - Dst: WSACloseEvent
      Src: /src/PROJ/curl/lib/multi.c:2924,1
    - Dst: wakeup_close
      Src: /src/PROJ/curl/lib/multi.c:2927,1
    - Dst: wakeup_close
      Src: /src/PROJ/curl/lib/multi.c:2929,1
    - Dst: multi_xfer_bufs_free
      Src: /src/PROJ/curl/lib/multi.c:2934,1
    - Dst: Curl_mntfy_cleanup
      Src: /src/PROJ/curl/lib/multi.c:2935,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:2937,1
    - Dst: multi_xfer_tbl_dump
      Src: /src/PROJ/curl/lib/multi.c:2938,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:2939,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:2942,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:2943,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:2944,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/PROJ/curl/lib/multi.c:2945,1
    - Dst: Curl_uint_tbl_destroy
      Src: /src/PROJ/curl/lib/multi.c:2946,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:2947,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - m
    argTypes:
    - CURLM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2856
    functionDepth: 10
    functionLinenumber: 2856
    functionLinenumberEnd: 2952
    functionName: curl_multi_cleanup
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 85
    functionsReached:
    - multi_xfer_tbl_dump
    - Curl_cpool_destroy
    - Curl_uint_tbl_first
    - Curl_psl_destroy
    - wakeup_close
    - Curl_dnscache_destroy
    - CURL_TRC_M
    - multi_done
    - Curl_uint_tbl_destroy
    - Curl_hash_destroy
    - Curl_ssl_scache_destroy
    - Curl_mntfy_cleanup
    - Curl_close
    - WSACloseEvent
    - GOOD_EASY_HANDLE
    - Curl_uint_bset_destroy
    - Curl_uint_tbl_count
    - DEBUGASSERT
    - Curl_uint_tbl_remove
    - Curl_uint_tbl_next
    - free
    - multi_xfer_bufs_free
    - GOOD_MULTI_HANDLE
    - Curl_multi_ev_cleanup
    - Curl_cshutdn_destroy
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_cleanup(CURLM *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:2971,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/multi.c:2973,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:2978,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:2980,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/multi.c:2983,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/lib/multi.c:2985,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/multi.c:2985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - m
    - msgs_in_queue
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2964
    functionDepth: 4
    functionLinenumber: 2964
    functionLinenumberEnd: 2990
    functionName: curl_multi_info_read
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 40
    functionsReached:
    - curlx_uztosi
    - Curl_node_remove
    - Curl_llist_count
    - Curl_llist_head
    - GOOD_MULTI_HANDLE
    - Curl_node_elem
    linkageType: ''
    returnType: CURLMsg
    signature: CURLMsg *curl_multi_info_read(CURLM *m, int *msgs_in_queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:2998,1
    - Dst: Curl_multi_ev_socket_done
      Src: /src/PROJ/curl/lib/multi.c:2999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - s
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2993
    functionDepth: 4
    functionLinenumber: 2993
    functionLinenumberEnd: 3002
    functionName: Curl_multi_will_close
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_multi_ev_socket_done
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: void Curl_multi_will_close(struct Curl_easy *data, curl_socket_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:3027,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/multi.c:3028,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:3029,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/multi.c:3030,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/multi.c:3033,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:3039,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:3047,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/multi.c:3049,1
    - Dst: Curl_splayinsert
      Src: /src/PROJ/curl/lib/multi.c:3053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - now
    - multi
    - d
    argTypes:
    - struct curltime
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3016
    functionDepth: 4
    functionLinenumber: 3016
    functionLinenumberEnd: 3057
    functionName: add_next_timeout
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - memcpy
    - curlx_timediff_us
    - Curl_splayinsert
    - Curl_node_remove
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode add_next_timeout(struct curltime now,\n                                  struct
      Curl_multi *multi,\n                                  struct Curl_easy *d)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splaygetbest
      Src: /src/PROJ/curl/lib/multi.c:3081,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/lib/multi.c:3085,1
    - Dst: CURL_TRC_TIMER_is_verbose
      Src: /src/PROJ/curl/lib/multi.c:3089,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:3090,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:3092,1
    - Dst: CURL_TRC_TIMER
      Src: /src/PROJ/curl/lib/multi.c:3093,1
    - Dst: add_next_timeout
      Src: /src/PROJ/curl/lib/multi.c:3097,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/multi.c:3098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - mrc
    argTypes:
    - struct multi_run_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3067
    functionDepth: 5
    functionLinenumber: 3067
    functionLinenumberEnd: 3100
    functionName: multi_mark_expired_as_dirty
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_TIMER
    - Curl_multi_mark_dirty
    - Curl_splaygetbest
    - Curl_llist_head
    - add_next_timeout
    - Curl_splayget
    - Curl_node_elem
    - CURL_TRC_TIMER_is_verbose
    linkageType: ''
    returnType: void
    signature: void multi_mark_expired_as_dirty(struct multi_run_ctx *mrc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi.c:3108,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:3110,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3112,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3115,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi.c:3119,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3121,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/multi.c:3126,1
    - Dst: multi_runsingle
      Src: /src/PROJ/curl/lib/multi.c:3128,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/PROJ/curl/lib/multi.c:3132,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3138,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3139,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi.c:3142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - mrc
    argTypes:
    - struct multi_run_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3102
    functionDepth: 12
    functionLinenumber: 3102
    functionLinenumberEnd: 3147
    functionName: multi_run_dirty
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_first
    - Curl_multi_get_easy
    - Curl_uint_bset_contains
    - Curl_uint_bset_next
    - sigpipe_apply
    - Curl_multi_ev_assess_xfer
    - Curl_uint_bset_remove
    - CURL_TRC_M
    - multi_runsingle
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode multi_run_dirty(struct multi_run_ctx *mrc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/multi.c:3159,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/multi.c:3161,1
    - Dst: sigpipe_init
      Src: /src/PROJ/curl/lib/multi.c:3162,1
    - Dst: curl_multi_perform
      Src: /src/PROJ/curl/lib/multi.c:3166,1
    - Dst: Curl_multi_ev_assess_xfer_bset
      Src: /src/PROJ/curl/lib/multi.c:3170,1
    - Dst: Curl_multi_ev_dirty_xfers
      Src: /src/PROJ/curl/lib/multi.c:3178,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/multi.c:3186,1
    - Dst: multi_mark_expired_as_dirty
      Src: /src/PROJ/curl/lib/multi.c:3190,1
    - Dst: multi_run_dirty
      Src: /src/PROJ/curl/lib/multi.c:3191,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/multi.c:3201,1
    - Dst: multi_mark_expired_as_dirty
      Src: /src/PROJ/curl/lib/multi.c:3202,1
    - Dst: multi_run_dirty
      Src: /src/PROJ/curl/lib/multi.c:3203,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/multi.c:3208,1
    - Dst: Curl_cshutdn_perform
      Src: /src/PROJ/curl/lib/multi.c:3209,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/multi.c:3211,1
    - Dst: multi_ischanged
      Src: /src/PROJ/curl/lib/multi.c:3213,1
    - Dst: process_pending_handles
      Src: /src/PROJ/curl/lib/multi.c:3214,1
    - Dst: Curl_mntfy_dispatch_all
      Src: /src/PROJ/curl/lib/multi.c:3217,1
    - Dst: Curl_multi_xfers_running
      Src: /src/PROJ/curl/lib/multi.c:3220,1
    - Dst: Curl_update_timer
      Src: /src/PROJ/curl/lib/multi.c:3225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - multi
    - checkall
    - s
    - ev_bitmask
    - running_handles
    argTypes:
    - struct Curl_multi*
    - bool
    - curl_socket_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3149
    functionDepth: 13
    functionLinenumber: 3149
    functionLinenumberEnd: 3227
    functionName: multi_socket
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_mntfy_dispatch_all
    - curlx_now
    - Curl_multi_ev_dirty_xfers
    - sigpipe_init
    - sigpipe_restore
    - process_pending_handles
    - sigpipe_apply
    - Curl_cshutdn_perform
    - multi_run_dirty
    - multi_ischanged
    - Curl_update_timer
    - memset
    - Curl_multi_ev_assess_xfer_bset
    - Curl_multi_xfers_running
    - multi_mark_expired_as_dirty
    - curl_multi_perform
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_socket(struct Curl_multi *multi,\n                              bool
      checkall,\n                              curl_socket_t s,\n                              int
      ev_bitmask,\n                              int *running_handles)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:3238,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/multi.c:3244,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3248,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3251,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3254,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3257,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3260,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3263,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3266,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3269,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3274,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3277,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3292,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3299,1
    - Dst: Curl_dnscache_clear
      Src: /src/PROJ/curl/lib/multi.c:3301,1
    - Dst: Curl_cpool_nw_changed
      Src: /src/PROJ/curl/lib/multi.c:3304,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3309,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/multi.c:3312,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/multi.c:3318,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 2
    argNames:
    - m
    - option
    argTypes:
    - CURLM*
    - CURLMoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3230
    functionDepth: 3
    functionLinenumber: 3230
    functionLinenumberEnd: 3320
    functionName: curl_multi_setopt
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 22
    functionsReached:
    - va_end
    - Curl_dnscache_clear
    - va_start
    - Curl_cpool_nw_changed
    - va_arg
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_setopt(CURLM *m,\n                            CURLMoption
      option, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_socket
      Src: /src/PROJ/curl/lib/multi.c:3332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - m
    - s
    - running_handles
    argTypes:
    - CURLM*
    - curl_socket_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3325
    functionDepth: 14
    functionLinenumber: 3325
    functionLinenumberEnd: 3333
    functionName: curl_multi_socket
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multi_socket
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_socket(CURLM *m, curl_socket_t s, int *running_handles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_socket
      Src: /src/PROJ/curl/lib/multi.c:3343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - m
    - s
    - ev_bitmask
    - running_handles
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3335
    functionDepth: 14
    functionLinenumber: 3335
    functionLinenumberEnd: 3344
    functionName: curl_multi_socket_action
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 20
    functionsReached:
    - multi_socket
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_socket_action(CURLM *m, curl_socket_t s,\n                                   int
      ev_bitmask, int *running_handles)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_socket
      Src: /src/PROJ/curl/lib/multi.c:3353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - m
    - running_handles
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3346
    functionDepth: 14
    functionLinenumber: 3346
    functionLinenumberEnd: 3354
    functionName: curl_multi_socket_all
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multi_socket
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_socket_all(CURLM *m, int *running_handles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi.c:3360,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:3362,1
    - Dst: Curl_uint_bset_contains
      Src: /src/PROJ/curl/lib/multi.c:3364,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3367,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3370,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3371,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi.c:3374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3377
    functionName: multi_has_dirties
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_first
    - Curl_multi_get_easy
    - Curl_uint_bset_contains
    - Curl_uint_bset_next
    - Curl_uint_bset_remove
    - CURL_TRC_M
    linkageType: ''
    returnType: bool
    signature: bool multi_has_dirties(struct Curl_multi *multi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: multi_has_dirties
      Src: /src/PROJ/curl/lib/multi.c:3393,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/multi.c:3394,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/multi.c:3400,1
    - Dst: Curl_splay
      Src: /src/PROJ/curl/lib/multi.c:3403,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/multi.c:3411,1
    - Dst: curlx_timediff_ceil
      Src: /src/PROJ/curl/lib/multi.c:3413,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/lib/multi.c:3415,1
    - Dst: Curl_splayget
      Src: /src/PROJ/curl/lib/multi.c:3424,1
    - Dst: CURL_TRC_TIMER_is_verbose
      Src: /src/PROJ/curl/lib/multi.c:3437,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:3439,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:3441,1
    - Dst: CURL_TRC_TIMER
      Src: /src/PROJ/curl/lib/multi.c:3442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - multi
    - expire_time
    - timeout_ms
    argTypes:
    - struct Curl_multi*
    - struct curltime*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3379
    functionDepth: 2
    functionLinenumber: 3379
    functionLinenumberEnd: 3449
    functionName: multi_timeout
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 8
    functionsReached:
    - curlx_timediff_us
    - multi_has_dirties
    - curlx_now
    - CURL_TRC_TIMER
    - Curl_splay
    - curlx_timediff_ceil
    - Curl_llist_head
    - Curl_splayget
    - Curl_node_elem
    - CURL_TRC_TIMER_is_verbose
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_timeout(struct Curl_multi *multi,\n                               struct
      curltime *expire_time,\n                               long *timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:3458,1
    - Dst: multi_timeout
      Src: /src/PROJ/curl/lib/multi.c:3464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - m
    - timeout_ms
    argTypes:
    - CURLM*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3465
      start: 3451
    functionDepth: 1
    functionLinenumber: 3451
    functionLinenumberEnd: 3465
    functionName: curl_multi_timeout
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 4
    functionsReached:
    - GOOD_MULTI_HANDLE
    - multi_timeout
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_timeout(CURLM *m,\n                             long
      *timeout_ms)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: multi_timeout
      Src: /src/PROJ/curl/lib/multi.c:3480,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3489,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3494,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/multi.c:3498,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3502,1
    - Dst: set_in_callback
      Src: /src/PROJ/curl/lib/multi.c:3515,1
    - Dst: struct Curl_multi*::timer_cb
      Src: /src/PROJ/curl/lib/multi.c:3516,1
    - Dst: set_in_callback
      Src: /src/PROJ/curl/lib/multi.c:3517,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3471
    functionDepth: 1
    functionLinenumber: 3471
    functionLinenumberEnd: 3524
    functionName: Curl_update_timer
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 5
    functionsReached:
    - multi_timeout
    - curlx_timediff_us
    - struct Curl_multi*::timer_cb
    - set_in_callback
    - CURL_TRC_M
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_update_timer(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:3537,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/multi.c:3537,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:3538,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/multi.c:3540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - eid
    argTypes:
    - struct Curl_easy*
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3531
    functionDepth: 4
    functionLinenumber: 3531
    functionLinenumberEnd: 3544
    functionName: multi_deltimeout
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: void multi_deltimeout(struct Curl_easy *data, expire_id eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/multi.c:3569,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/multi.c:3572,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/multi.c:3575,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/multi.c:3575,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/multi.c:3576,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/multi.c:3577,1
    - Dst: Curl_llist_insert_next
      Src: /src/PROJ/curl/lib/multi.c:3587,1
    - Dst: CURL_TRC_TIMER
      Src: /src/PROJ/curl/lib/multi.c:3588,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/multi.c:3589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - data
    - stamp
    - eid
    - nowp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - expire_id
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3553
    functionDepth: 2
    functionLinenumber: 3553
    functionLinenumberEnd: 3591
    functionName: multi_addtimeout
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_timediff_us
    - CURL_TRC_TIMER
    - Curl_llist_insert_next
    - curlx_timediff
    - Curl_llist_count
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_addtimeout(struct Curl_easy *data,\n                 struct
      curltime *stamp,\n                 expire_id eid,\n                 const struct
      curltime *nowp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3606,1
    - Dst: multi_deltimeout
      Src: /src/PROJ/curl/lib/multi.c:3618,1
    - Dst: multi_addtimeout
      Src: /src/PROJ/curl/lib/multi.c:3622,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/multi.c:3628,1
    - Dst: Curl_splayremove
      Src: /src/PROJ/curl/lib/multi.c:3639,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:3642,1
    - Dst: Curl_splayset
      Src: /src/PROJ/curl/lib/multi.c:3648,1
    - Dst: Curl_splayinsert
      Src: /src/PROJ/curl/lib/multi.c:3649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - data
    - nowp
    - milli
    - id
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - timediff_t
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3651
      start: 3593
    functionDepth: 5
    functionLinenumber: 3593
    functionLinenumberEnd: 3651
    functionName: Curl_expire_ex
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_splayinsert
    - curlx_timediff
    - Curl_splayset
    - multi_addtimeout
    - DEBUGASSERT
    - Curl_splayremove
    - multi_deltimeout
    linkageType: ''
    returnType: void
    signature: "void Curl_expire_ex(struct Curl_easy *data,\n                    const
      struct curltime *nowp,\n                    timediff_t milli, expire_id id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/multi.c:3666,1
    - Dst: Curl_expire_ex
      Src: /src/PROJ/curl/lib/multi.c:3667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - milli
    - id
    argTypes:
    - struct Curl_easy*
    - timediff_t
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3664
    functionDepth: 6
    functionLinenumber: 3664
    functionLinenumberEnd: 3668
    functionName: Curl_expire
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 7
    functionsReached:
    - Curl_expire_ex
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void Curl_expire(struct Curl_easy *data, timediff_t milli, expire_id
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_deltimeout
      Src: /src/PROJ/curl/lib/multi.c:3679,1
    - Dst: CURL_TRC_TIMER
      Src: /src/PROJ/curl/lib/multi.c:3680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - eid
    argTypes:
    - struct Curl_easy*
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3676
    functionDepth: 5
    functionLinenumber: 3676
    functionLinenumberEnd: 3681
    functionName: Curl_expire_done
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - multi_deltimeout
    - CURL_TRC_TIMER
    linkageType: ''
    returnType: void
    signature: void Curl_expire_done(struct Curl_easy *data, expire_id eid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splayremove
      Src: /src/PROJ/curl/lib/multi.c:3704,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/multi.c:3707,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/multi.c:3710,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:3713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3719
      start: 3688
    functionDepth: 4
    functionLinenumber: 3688
    functionLinenumberEnd: 3719
    functionName: Curl_expire_clear
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 3
    functionsReached:
    - Curl_splayremove
    - Curl_llist_destroy
    - infof
    - CURL_TRC_M
    linkageType: ''
    returnType: bool
    signature: bool Curl_expire_clear(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:3725,1
    - Dst: Curl_multi_ev_assign
      Src: /src/PROJ/curl/lib/multi.c:3728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - m
    - s
    - hashp
    argTypes:
    - CURLM*
    - curl_socket_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3729
      start: 3721
    functionDepth: 3
    functionLinenumber: 3721
    functionLinenumberEnd: 3729
    functionName: curl_multi_assign
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 7
    functionsReached:
    - Curl_multi_ev_assign
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_assign(CURLM *m, curl_socket_t s,\n                            void
      *hashp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3734,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3737,1
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/lib/multi.c:3738,1
    - Dst: multistate
      Src: /src/PROJ/curl/lib/multi.c:3740,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/multi.c:3741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3731
    functionDepth: 1
    functionLinenumber: 3731
    functionLinenumberEnd: 3742
    functionName: move_pending_to_connect
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - multistate
    - Curl_multi_mark_dirty
    - Curl_uint_bset_add
    - DEBUGASSERT
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: void
    signature: "void move_pending_to_connect(struct Curl_multi *multi,\n                                    struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/PROJ/curl/lib/multi.c:3761,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/multi.c:3763,1
    - Dst: move_pending_to_connect
      Src: /src/PROJ/curl/lib/multi.c:3765,1
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:3769,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3770,1
    - Dst: Curl_uint_bset_next
      Src: /src/PROJ/curl/lib/multi.c:3772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3774
      start: 3758
    functionDepth: 2
    functionLinenumber: 3758
    functionLinenumberEnd: 3774
    functionName: process_pending_handles
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 6
    functionsReached:
    - Curl_uint_bset_first
    - Curl_multi_get_easy
    - Curl_uint_bset_next
    - DEBUGASSERT
    - move_pending_to_connect
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: void
    signature: void process_pending_handles(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3776
    functionDepth: 0
    functionLinenumber: 3776
    functionLinenumberEnd: 3780
    functionName: Curl_set_in_callback
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_set_in_callback(struct Curl_easy *data, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3782
    functionDepth: 0
    functionLinenumber: 3782
    functionLinenumberEnd: 3785
    functionName: Curl_is_in_callback
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_is_in_callback(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3791
      start: 3787
    functionDepth: 1
    functionLinenumber: 3787
    functionLinenumberEnd: 3791
    functionName: Curl_multi_max_concurrent_streams
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_multi_max_concurrent_streams(struct Curl_multi *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:3797,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/multi.c:3798,1
    - Dst: Curl_uint_tbl_first
      Src: /src/PROJ/curl/lib/multi.c:3802,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3805,1
    - Dst: Curl_uint_tbl_next
      Src: /src/PROJ/curl/lib/multi.c:3809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3814
      start: 3793
    functionDepth: 2
    functionLinenumber: 3793
    functionLinenumberEnd: 3814
    functionName: curl_multi_get_handles
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - Curl_uint_tbl_count
    - DEBUGASSERT
    - Curl_uint_tbl_first
    - malloc
    - Curl_uint_tbl_next
    linkageType: ''
    returnType: CURL
    signature: CURL **curl_multi_get_handles(CURLM *m)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:3822,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:3829,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/lib/multi.c:3836,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/lib/multi.c:3839,1
    - Dst: Curl_uint_bset_count
      Src: /src/PROJ/curl/lib/multi.c:3842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - m
    - info
    - pvalue
    argTypes:
    - CURLM*
    - CURLMinfo_offt
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3851
      start: 3816
    functionDepth: 1
    functionLinenumber: 3816
    functionLinenumberEnd: 3851
    functionName: curl_multi_get_offt
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - GOOD_MULTI_HANDLE
    - Curl_uint_tbl_count
    - Curl_uint_bset_count
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_get_offt(CURLM *m,\n                              CURLMinfo_offt
      info,\n                              curl_off_t *pvalue)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3856,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3857,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3861,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3865,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3869,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:3876,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/multi.c:3882,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - data
    - pbuf
    - pbuflen
    argTypes:
    - struct Curl_easy*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3853
    functionDepth: 1
    functionLinenumber: 3853
    functionLinenumberEnd: 3895
    functionName: Curl_multi_xfer_buf_borrow
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - malloc
    - failf
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_multi_xfer_buf_borrow(struct Curl_easy *data,\n                                    char
      **pbuf, size_t *pbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3900,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3901,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3904
      start: 3897
    functionDepth: 1
    functionLinenumber: 3897
    functionLinenumberEnd: 3904
    functionName: Curl_multi_xfer_buf_release
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_multi_xfer_buf_release(struct Curl_easy *data, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3909,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3910,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3914,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3918,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3922,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:3929,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/multi.c:3935,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - data
    - pbuf
    - pbuflen
    argTypes:
    - struct Curl_easy*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3906
    functionDepth: 1
    functionLinenumber: 3906
    functionLinenumberEnd: 3948
    functionName: Curl_multi_xfer_ulbuf_borrow
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - malloc
    - failf
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_multi_xfer_ulbuf_borrow(struct Curl_easy *data,\n                                      char
      **pbuf, size_t *pbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3953,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3954,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3957
      start: 3950
    functionDepth: 1
    functionLinenumber: 3950
    functionLinenumberEnd: 3957
    functionName: Curl_multi_xfer_ulbuf_release
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_multi_xfer_ulbuf_release(struct Curl_easy *data, char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3962,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3963,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3966,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3970,1
    - Dst: free
      Src: /src/PROJ/curl/lib/multi.c:3976,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/multi.c:3982,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/multi.c:3984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - data
    - blen
    - pbuf
    argTypes:
    - struct Curl_easy*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3993
      start: 3959
    functionDepth: 1
    functionLinenumber: 3959
    functionLinenumberEnd: 3993
    functionName: Curl_multi_xfer_sockbuf_borrow
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - malloc
    - failf
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_multi_xfer_sockbuf_borrow(struct Curl_easy *data,\n
      \                                       size_t blen, char **pbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3998,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:3999,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:4000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3995
    functionDepth: 1
    functionLinenumber: 3995
    functionLinenumberEnd: 4002
    functionName: Curl_multi_xfer_sockbuf_release
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_multi_xfer_sockbuf_release(struct Curl_easy *data, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/multi.c:4006,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/multi.c:4007,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/multi.c:4010,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/multi.c:4013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4004
    functionDepth: 1
    functionLinenumber: 4004
    functionLinenumberEnd: 4016
    functionName: multi_xfer_bufs_free
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void multi_xfer_bufs_free(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_get
      Src: /src/PROJ/curl/lib/multi.c:4021,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:4022,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/multi.c:4024,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/PROJ/curl/lib/multi.c:4026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - mid
    argTypes:
    - struct Curl_multi*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4018
    functionDepth: 3
    functionLinenumber: 4018
    functionLinenumberEnd: 4028
    functionName: Curl_multi_get_easy
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 11
    functionsReached:
    - Curl_uint_tbl_get
    - CURL_TRC_M
    - Curl_uint_tbl_remove
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: struct Curl_easy
    signature: "struct Curl_easy *Curl_multi_get_easy(struct Curl_multi *multi,\n
      \                                     unsigned int mid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4033
    functionName: Curl_multi_xfers_running
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_multi_xfers_running(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_add
      Src: /src/PROJ/curl/lib/multi.c:4038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4035
    functionDepth: 1
    functionLinenumber: 4035
    functionLinenumberEnd: 4039
    functionName: Curl_multi_mark_dirty
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 16
    functionsReached:
    - Curl_uint_bset_add
    linkageType: ''
    returnType: void
    signature: void Curl_multi_mark_dirty(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_remove
      Src: /src/PROJ/curl/lib/multi.c:4044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4041
    functionDepth: 1
    functionLinenumber: 4041
    functionLinenumberEnd: 4045
    functionName: Curl_multi_clear_dirty
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: void
    signature: void Curl_multi_clear_dirty(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:4051,1
    - Dst: Curl_mntfy_enable
      Src: /src/PROJ/curl/lib/multi.c:4053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - notification
    argTypes:
    - CURLM*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4054
      start: 4047
    functionDepth: 2
    functionLinenumber: 4047
    functionLinenumberEnd: 4054
    functionName: curl_multi_notify_enable
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - GOOD_MULTI_HANDLE
    - Curl_mntfy_enable
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_notify_enable(CURLM *m, unsigned int notification)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/PROJ/curl/lib/multi.c:4060,1
    - Dst: Curl_mntfy_disable
      Src: /src/PROJ/curl/lib/multi.c:4062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - notification
    argTypes:
    - CURLM*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4063
      start: 4056
    functionDepth: 2
    functionLinenumber: 4056
    functionLinenumberEnd: 4063
    functionName: curl_multi_notify_disable
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_mntfy_disable
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_notify_disable(CURLM *m, unsigned int notification)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/multi.c:4073,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/multi.c:4076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - multi
    - mid
    - entry
    argTypes:
    - struct Curl_multi*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4082
      start: 4066
    functionDepth: 5
    functionLinenumber: 4066
    functionLinenumberEnd: 4082
    functionName: multi_xfer_dump
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void multi_xfer_dump(struct Curl_multi *multi, unsigned int mid,\n
      \                           void *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/multi.c:4088,1
    - Dst: Curl_uint_tbl_count
      Src: /src/PROJ/curl/lib/multi.c:4089,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/PROJ/curl/lib/multi.c:4090,1
    - Dst: Curl_uint_tbl_first
      Src: /src/PROJ/curl/lib/multi.c:4091,1
    - Dst: multi_xfer_dump
      Src: /src/PROJ/curl/lib/multi.c:4092,1
    - Dst: Curl_uint_tbl_next
      Src: /src/PROJ/curl/lib/multi.c:4093,1
    - Dst: multi_xfer_dump
      Src: /src/PROJ/curl/lib/multi.c:4094,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/multi.c:4096,1
    - Dst: fflush
      Src: /src/PROJ/curl/lib/multi.c:4097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4098
      start: 4084
    functionDepth: 6
    functionLinenumber: 4084
    functionLinenumberEnd: 4098
    functionName: multi_xfer_tbl_dump
    functionSourceFile: /src/PROJ/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - Curl_uint_tbl_capacity
    - fflush
    - multi_xfer_dump
    - Curl_uint_tbl_count
    - Curl_uint_tbl_first
    - Curl_uint_tbl_next
    linkageType: ''
    returnType: void
    signature: void multi_xfer_tbl_dump(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: appendnl
    functionSourceFile: /src/PROJ/curl/lib/curl_get_line.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: appendnl(b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/curl_get_line.c:46,1
    - Dst: fgets
      Src: /src/PROJ/curl/lib/curl_get_line.c:49,1
    - Dst: feof
      Src: /src/PROJ/curl/lib/curl_get_line.c:51,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_get_line.c:53,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/curl_get_line.c:55,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/curl_get_line.c:61,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/curl_get_line.c:62,1
    - Dst: appendnl
      Src: /src/PROJ/curl/lib/curl_get_line.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - input
    - eof
    argTypes:
    - struct dynbuf*
    - FILE*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: Curl_get_line
    functionSourceFile: /src/PROJ/curl/lib/curl_get_line.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - feof
    - curlx_dyn_reset
    - fgets
    - strlen
    - curlx_dyn_len
    - appendnl
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_get_line(struct dynbuf *buf, FILE *input, bool *eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: FREE_ON_WINLDAP
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_ON_WINLDAP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: LDAP_TRACE
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_TRACE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: LDAP_TRACE
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_TRACE(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/ldap.c:246,1
    - Dst: Curl_create_sspi_identity
      Src: /src/PROJ/curl/lib/ldap.c:271,1
    - Dst: ldap_bind_s
      Src: /src/PROJ/curl/lib/ldap.c:273,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/ldap.c:274,1
    - Dst: ldap_bind_s
      Src: /src/PROJ/curl/lib/ldap.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - server
    - user
    - passwd
    - authflags
    argTypes:
    - LDAP*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 286
    functionName: ldap_win_bind_auth
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - memset
    - Curl_create_sspi_identity
    - Curl_sspi_free_identity
    - ldap_bind_s
    linkageType: ''
    returnType: ULONG
    signature: "ULONG ldap_win_bind_auth(LDAP *server, const char *user,\n                                const
      char *passwd, unsigned long authflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/ldap.c:298,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/ldap.c:299,1
    - Dst: ldap_simple_bind_s
      Src: /src/PROJ/curl/lib/ldap.c:301,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/ldap.c:303,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/ldap.c:304,1
    - Dst: ldap_win_bind_auth
      Src: /src/PROJ/curl/lib/ldap.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - data
    - server
    - user
    - passwd
    argTypes:
    - struct Curl_easy*
    - LDAP*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 313
    functionName: ldap_win_bind
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - ldap_simple_bind_s
    - curlx_convert_UTF8_to_tchar
    - curlx_unicodefree
    - ldap_win_bind_auth
    linkageType: ''
    returnType: ULONG
    signature: "ULONG ldap_win_bind(struct Curl_easy *data, LDAP *server,\n                           const
      char *user, const char *passwd)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/ldap.c:344,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ldap.c:346,1
    - Dst: ldap_url_parse
      Src: /src/PROJ/curl/lib/ldap.c:349,1
    - Dst: ldap_url_parse_low
      Src: /src/PROJ/curl/lib/ldap.c:351,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:354,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:354,1
    - Dst: Curl_conn_get_ip_info
      Src: /src/PROJ/curl/lib/ldap.c:359,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/ldap.c:364,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ldap.c:366,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/ldap.c:370,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:386,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:388,1
    - Dst: ldap_sslinit
      Src: /src/PROJ/curl/lib/ldap.c:394,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:395,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:403,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:404,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:409,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ldap.c:413,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:414,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:416,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:417,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:426,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:428,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:429,1
    - Dst: ldap_init
      Src: /src/PROJ/curl/lib/ldap.c:433,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:435,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:441,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:443,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:444,1
    - Dst: ldap_start_tls_s
      Src: /src/PROJ/curl/lib/ldap.c:449,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:451,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:452,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:463,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:472,1
    - Dst: ldap_init
      Src: /src/PROJ/curl/lib/ldap.c:477,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:479,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:486,1
    - Dst: ldap_win_bind
      Src: /src/PROJ/curl/lib/ldap.c:487,1
    - Dst: ldap_simple_bind_s
      Src: /src/PROJ/curl/lib/ldap.c:489,1
    - Dst: ldap_set_option
      Src: /src/PROJ/curl/lib/ldap.c:493,1
    - Dst: ldap_win_bind
      Src: /src/PROJ/curl/lib/ldap.c:495,1
    - Dst: ldap_simple_bind_s
      Src: /src/PROJ/curl/lib/ldap.c:497,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:502,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:503,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:505,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:506,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/ldap.c:512,1
    - Dst: ldap_search_s
      Src: /src/PROJ/curl/lib/ldap.c:513,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ldap.c:518,1
    - Dst: ldap_err2string
      Src: /src/PROJ/curl/lib/ldap.c:518,1
    - Dst: ldap_first_entry
      Src: /src/PROJ/curl/lib/ldap.c:524,1
    - Dst: ldap_next_entry
      Src: /src/PROJ/curl/lib/ldap.c:526,1
    - Dst: ldap_get_dn
      Src: /src/PROJ/curl/lib/ldap.c:540,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/lib/ldap.c:541,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:543,1
    - Dst: ldap_get_dn
      Src: /src/PROJ/curl/lib/ldap.c:550,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ldap.c:555,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:556,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:559,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:561,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:562,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:563,1
    - Dst: ldap_first_attribute
      Src: /src/PROJ/curl/lib/ldap.c:569,1
    - Dst: ldap_next_attribute
      Src: /src/PROJ/curl/lib/ldap.c:571,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/lib/ldap.c:575,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:578,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ldap.c:587,1
    - Dst: ldap_get_values_len
      Src: /src/PROJ/curl/lib/ldap.c:589,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:592,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:594,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:595,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:596,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:598,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:603,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:605,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:606,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:607,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:609,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:614,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:616,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:617,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:618,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:620,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:626,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/ldap.c:629,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:632,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:633,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:634,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:636,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:642,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:644,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:646,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:647,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:648,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:650,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:658,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:661,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:662,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:663,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:665,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:671,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:673,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:674,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:675,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:677,1
    - Dst: ldap_value_free_len
      Src: /src/PROJ/curl/lib/ldap.c:684,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:688,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/ldap.c:689,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ldap.c:691,1
    - Dst: ber_free
      Src: /src/PROJ/curl/lib/ldap.c:697,1
    - Dst: ldap_msgfree
      Src: /src/PROJ/curl/lib/ldap.c:702,1
    - Dst: LDAP_TRACE
      Src: /src/PROJ/curl/lib/ldap.c:703,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ldap.c:706,1
    - Dst: ldap_free_urldesc
      Src: /src/PROJ/curl/lib/ldap.c:708,1
    - Dst: ldap_unbind_s
      Src: /src/PROJ/curl/lib/ldap.c:710,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/PROJ/curl/lib/ldap.c:712,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/ldap.c:715,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ldap.c:716,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 276
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 719
    functionName: ldap_do
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - ldap_simple_bind_s
    - failf
    - Curl_client_write
    - ldap_set_option
    - FREE_ON_WINLDAP
    - ldap_first_attribute
    - curlx_convert_UTF8_to_tchar
    - ldap_err2string
    - ldap_get_dn
    - ldap_msgfree
    - ldap_url_parse
    - ldap_unbind_s
    - ldap_start_tls_s
    - infof
    - ldap_sslinit
    - ldap_get_values_len
    - Curl_conn_is_ssl
    - curlx_base64_encode
    - ldap_free_urldesc
    - connclose
    - ldap_win_bind
    - strlen
    - ber_free
    - Curl_conn_get_ip_info
    - ldap_next_attribute
    - ldap_next_entry
    - ldap_url_parse_low
    - ldap_init
    - ldap_value_free_len
    - ldap_memfree
    - ldap_search_s
    - Curl_xfer_setup_nop
    - Curl_pgrsSetDownloadCounter
    - curl_strequal
    - free
    - curlx_convert_tchar_to_UTF8
    - LDAP_TRACE
    - ldap_first_entry
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ldap_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/ldap.c:728,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ldap.c:730,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/ldap.c:736,1
    - Dst: curl_mvfprintf
      Src: /src/PROJ/curl/lib/ldap.c:737,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/ldap.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 739
    functionName: ldap_trace_low
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - getenv
    - va_end
    - va_start
    - curlx_str_number
    - curl_mvfprintf
    linkageType: ''
    returnType: void
    signature: void ldap_trace_low(const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:749,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:751,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:753,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:755,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ldap.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 760
    functionName: str2scope
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int str2scope(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ldap.c:767,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ldap.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 773
    functionName: num_entries
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t num_entries(const char *s)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/ldap.c:803,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ldap.c:811,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ldap.c:817,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:819,1
    - Dst: LDAP_TRACE
      Src: /src/PROJ/curl/lib/ldap.c:830,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/ldap.c:833,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/ldap.c:842,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:845,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ldap.c:862,1
    - Dst: num_entries
      Src: /src/PROJ/curl/lib/ldap.c:867,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ldap.c:872,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ldap.c:874,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/ldap.c:886,1
    - Dst: LDAP_TRACE
      Src: /src/PROJ/curl/lib/ldap.c:889,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/ldap.c:892,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/ldap.c:901,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:904,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/ldap.c:915,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ldap.c:925,1
    - Dst: str2scope
      Src: /src/PROJ/curl/lib/ldap.c:930,1
    - Dst: LDAP_TRACE
      Src: /src/PROJ/curl/lib/ldap.c:936,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ldap.c:944,1
    - Dst: LDAP_TRACE
      Src: /src/PROJ/curl/lib/ldap.c:953,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/ldap.c:956,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/ldap.c:965,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:968,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:988,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:989,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 122
    argCount: 3
    argNames:
    - data
    - conn
    - ludp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - LDAPURLDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 992
    functionName: ldap_url_parse2_low
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - free
    - num_entries
    - curlx_str_single
    - strchr
    - curl_strnequal
    - LDAP_TRACE
    - curlx_convert_UTF8_to_tchar
    - calloc
    - str2scope
    - Curl_urldecode
    - curlx_str_until
    - strdup
    linkageType: ''
    returnType: curl_ldap_num_t
    signature: "curl_ldap_num_t ldap_url_parse2_low(struct Curl_easy *data,\n                                           const
      struct connectdata *conn,\n                                           LDAPURLDesc
      *ludp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ldap.c:998,1
    - Dst: ldap_url_parse2_low
      Src: /src/PROJ/curl/lib/ldap.c:1005,1
    - Dst: ldap_free_urldesc_low
      Src: /src/PROJ/curl/lib/ldap.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - conn
    - ludpp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - LDAPURLDesc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1012
    functionName: ldap_url_parse_low
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 1
    functionsReached:
    - ldap_free_urldesc_low
    - calloc
    - ldap_url_parse2_low
    linkageType: ''
    returnType: curl_ldap_num_t
    signature: "curl_ldap_num_t ldap_url_parse_low(struct Curl_easy *data,\n                                          const
      struct connectdata *conn,\n                                          LDAPURLDesc
      **ludpp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/ldap.c:1020,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/ldap.c:1021,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:1023,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:1024,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/ldap.c:1031,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:1033,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:1036,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ldap.c:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ludp
    argTypes:
    - LDAPURLDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1040
    functionName: ldap_free_urldesc_low
    functionSourceFile: /src/PROJ/curl/lib/ldap.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_unicodefree
    linkageType: ''
    returnType: void
    signature: void ldap_free_urldesc_low(LDAPURLDesc *ludp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ipv4_resolve_r
      Src: /src/PROJ/curl/lib/hostip4.c:88,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip4.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: Curl_sync_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/hostip4.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_ipv4_resolve_r
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_sync_getaddrinfo(struct Curl_easy *data,\n
      \                                           const char *hostname,\n                                            int
      port,\n                                            int ip_version)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/hostip4.c:124,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/hostip4.c:128,1
    - Dst: Curl_getaddrinfo_ex
      Src: /src/PROJ/curl/lib/hostip4.c:132,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hostip4.c:142,1
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/lib/hostip4.c:153,1
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/lib/hostip4.c:172,1
    - Dst: gethostbyname_r
      Src: /src/PROJ/curl/lib/hostip4.c:239,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hostip4.c:265,1
    - Dst: gethostbyname
      Src: /src/PROJ/curl/lib/hostip4.c:274,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/hostip4.c:274,1
    - Dst: Curl_he2ai
      Src: /src/PROJ/curl/lib/hostip4.c:280,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hostip4.c:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 288
    functionName: Curl_ipv4_resolve_r
    functionSourceFile: /src/PROJ/curl/lib/hostip4.c
    functionUses: 1
    functionsReached:
    - Curl_getaddrinfo_ex
    - gethostbyname_r
    - free
    - curl_msnprintf
    - memset
    - gethostbyname
    - CURL_UNCONST
    - calloc
    - Curl_he2ai
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname,\n
      \                                         int port)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/curl_gethostname.c:60,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curl_gethostname.c:62,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curl_gethostname.c:63,1
    - Dst: gethostname
      Src: /src/PROJ/curl/lib/curl_gethostname.c:70,1
    - Dst: gethostname
      Src: /src/PROJ/curl/lib/curl_gethostname.c:77,1
    - Dst: gethostname
      Src: /src/PROJ/curl/lib/curl_gethostname.c:79,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curl_gethostname.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - char*
    - GETHOSTNAME_TYPE_ARG2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 97
    functionName: Curl_gethostname
    functionSourceFile: /src/PROJ/curl/lib/curl_gethostname.c
    functionUses: 1
    functionsReached:
    - getenv
    - gethostname
    - strcpy
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: int Curl_gethostname(char * const name, GETHOSTNAME_TYPE_ARG2 namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: Curl_easyopts_check
    functionSourceFile: /src/PROJ/curl/lib/easyoptions.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_easyopts_check(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/curl_range.c:44,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/curl_range.c:47,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/curl_range.c:51,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/curl_range.c:55,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_range.c:55,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/curl_range.c:65,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_range.c:65,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/curl_range.c:81,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_range.c:81,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/curl_range.c:85,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/curl_range.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 92
    functionName: Curl_range
    functionSourceFile: /src/PROJ/curl/lib/curl_range.c
    functionUses: 1
    functionsReached:
    - infof
    - DEBUGF
    - curlx_str_single
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_range(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/hmac.c:65,1
    - Dst: struct HMAC_params*::hinit
      Src: /src/PROJ/curl/lib/hmac.c:76,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:78,1
    - Dst: struct HMAC_params*::hfinal
      Src: /src/PROJ/curl/lib/hmac.c:80,1
    - Dst: struct HMAC_params*::hinit
      Src: /src/PROJ/curl/lib/hmac.c:86,1
    - Dst: struct HMAC_params*::hinit
      Src: /src/PROJ/curl/lib/hmac.c:87,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:92,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:94,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:98,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:99,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hmac.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - hashparams
    - key
    - keylen
    argTypes:
    - struct HMAC_params*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 108
    functionName: Curl_HMAC_init
    functionSourceFile: /src/PROJ/curl/lib/hmac.c
    functionUses: 0
    functionsReached:
    - free
    - struct HMAC_params*::hfinal
    - struct HMAC_params*::hinit
    - struct HMAC_params*::hupdate
    - malloc
    linkageType: ''
    returnType: struct HMAC_context
    signature: "struct HMAC_context *\nCurl_HMAC_init(const struct HMAC_params *hashparams,\n
      \              const unsigned char *key,\n               unsigned int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct HMAC_context*::hash::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctxt
    - ptr
    - len
    argTypes:
    - struct HMAC_context*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: Curl_HMAC_update
    functionSourceFile: /src/PROJ/curl/lib/hmac.c
    functionUses: 0
    functionsReached:
    - struct HMAC_context*::hash::hupdate
    linkageType: ''
    returnType: int
    signature: "int Curl_HMAC_update(struct HMAC_context *ctxt,\n                     const
      unsigned char *ptr,\n                     unsigned int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct HMAC_params*::hfinal
      Src: /src/PROJ/curl/lib/hmac.c:130,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/PROJ/curl/lib/hmac.c:131,1
    - Dst: struct HMAC_params*::hfinal
      Src: /src/PROJ/curl/lib/hmac.c:132,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hmac.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctxt
    - output
    argTypes:
    - struct HMAC_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: Curl_HMAC_final
    functionSourceFile: /src/PROJ/curl/lib/hmac.c
    functionUses: 0
    functionsReached:
    - struct HMAC_params*::hfinal
    - struct HMAC_params*::hupdate
    - free
    linkageType: ''
    returnType: int
    signature: int Curl_HMAC_final(struct HMAC_context *ctxt, unsigned char *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_HMAC_init
      Src: /src/PROJ/curl/lib/hmac.c:160,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/hmac.c:160,1
    - Dst: Curl_HMAC_update
      Src: /src/PROJ/curl/lib/hmac.c:166,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/hmac.c:166,1
    - Dst: Curl_HMAC_final
      Src: /src/PROJ/curl/lib/hmac.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - hashparams
    - key
    - keylen
    - buf
    - buflen
    - output
    argTypes:
    - struct HMAC_params*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: Curl_hmacit
    functionSourceFile: /src/PROJ/curl/lib/hmac.c
    functionUses: 4
    functionsReached:
    - curlx_uztoui
    - Curl_HMAC_update
    - Curl_HMAC_final
    - Curl_HMAC_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hmacit(const struct HMAC_params *hashparams,\n                     const
      unsigned char *key, const size_t keylen,\n                     const unsigned
      char *buf, const size_t buflen,\n                     unsigned char *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/speedcheck.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: Curl_speedinit
    functionSourceFile: /src/PROJ/curl/lib/speedcheck.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_speedinit(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/PROJ/curl/lib/speedcheck.c:45,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/speedcheck.c:56,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/speedcheck.c:60,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/speedcheck.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - data
    - now
    argTypes:
    - struct Curl_easy*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: Curl_speedcheck
    functionSourceFile: /src/PROJ/curl/lib/speedcheck.c
    functionUses: 7
    functionsReached:
    - Curl_expire
    - failf
    - curlx_timediff
    - Curl_xfer_recv_is_paused
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_speedcheck(struct Curl_easy *data,\n                         struct
      curltime now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_init
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: Curl_async_global_init
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - ares_library_init
    linkageType: ''
    returnType: int
    signature: int Curl_async_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_cleanup
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: Curl_async_global_cleanup
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - ares_library_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_async_global_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - impl
    argTypes:
    - struct Curl_easy*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Curl_async_get_impl
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_get_impl(struct Curl_easy *data, void **impl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:128,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:132,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:135,1
    - Dst: Curl_mutex_destroy
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:138,1
    - Dst: free
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:139,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:141,1
    - Dst: wakeup_close
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:144,1
    - Dst: wakeup_close
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:146,1
    - Dst: free
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - paddr_ctx
    - data
    argTypes:
    - struct async_thrdd_addr_ctx**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: addr_ctx_unlink
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - free
    - wakeup_close
    - Curl_mutex_acquire
    - Curl_mutex_destroy
    - Curl_mutex_release
    - DEBUGASSERT
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: "void addr_ctx_unlink(struct async_thrdd_addr_ctx **paddr_ctx,\n                            struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:159,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:168,1
    - Dst: Curl_mutex_init
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:174,1
    - Dst: wakeup_create
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:178,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:189,1
    - Dst: addr_ctx_unlink
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - hints
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 198
    functionName: addr_ctx_create
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - addr_ctx_unlink
    - calloc
    - DEBUGASSERT
    - Curl_mutex_init
    - wakeup_create
    - strdup
    linkageType: ''
    returnType: struct async_thrdd_addr_ctx
    signature: "struct async_thrdd_addr_ctx *\naddr_ctx_create(struct Curl_easy *data,\n
      \               const char *hostname, int port,\n                const struct
      addrinfo *hints)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:213,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:215,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:221,1
    - Dst: Curl_getaddrinfo_ex
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:223,1
    - Dst: Curl_addrinfo_set_port
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:232,1
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:235,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:237,1
    - Dst: wakeup_write
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:246,1
    - Dst: addr_ctx_unlink
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 208
    functionDepth: 6
    functionLinenumber: 208
    functionLinenumberEnd: 257
    functionName: CURL_STDCALL::getaddrinfo_thread
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_getaddrinfo_ex
    - Curl_mutex_acquire
    - wakeup_write
    - Curl_mutex_release
    - curl_msnprintf
    - addr_ctx_unlink
    - Curl_addrinfo_set_port
    linkageType: ''
    returnType: CURL_THREAD_RETURN_T
    signature: CURL_THREAD_RETURN_T CURL_STDCALL getaddrinfo_thread(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:269,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:271,1
    - Dst: Curl_ipv4_resolve_r
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:274,1
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:281,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:283,1
    - Dst: wakeup_write
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:292,1
    - Dst: addr_ctx_unlink
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 302
    functionName: CURL_STDCALL::gethostbyname_thread
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_acquire
    - wakeup_write
    - Curl_mutex_release
    - Curl_ipv4_resolve_r
    - addr_ctx_unlink
    linkageType: ''
    returnType: CURL_THREAD_RETURN_T
    signature: CURL_THREAD_RETURN_T CURL_STDCALL gethostbyname_thread(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ares_destroy
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:316,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:319,1
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:325,1
    - Dst: Curl_multi_will_close
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:328,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:332,1
    - Dst: Curl_thread_join
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:335,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:336,1
    - Dst: Curl_thread_destroy
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:340,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:341,1
    - Dst: addr_ctx_unlink
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 346
    functionName: async_thrdd_destroy
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_acquire
    - Curl_mutex_release
    - Curl_httpsrr_cleanup
    - Curl_thread_destroy
    - addr_ctx_unlink
    - ares_destroy
    - CURL_TRC_DNS
    - Curl_thread_join
    - Curl_multi_will_close
    linkageType: ''
    returnType: void
    signature: void async_thrdd_destroy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_httpsrr_from_ares
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - dnsrec
    argTypes:
    - void*
    - ares_status_t
    - size_t
    - ares_dns_record_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: async_thrdd_rr_done
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_httpsrr_from_ares
    linkageType: ''
    returnType: void
    signature: "void async_thrdd_rr_done(void *user_data, ares_status_t status,\n
      \                               size_t timeouts,\n                                const
      ares_dns_record_t *dnsrec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:370,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:372,1
    - Dst: ares_init_options
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:376,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:382,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:383,1
    - Dst: ares_set_servers_ports_csv
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:384,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:390,1
    - Dst: ares_query_dnsrec
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:393,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - data
    - port
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 364
    functionDepth: 6
    functionLinenumber: 364
    functionLinenumberEnd: 399
    functionName: async_rr_start
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - getenv
    - curl_maprintf
    - ares_init_options
    - ares_query_dnsrec
    - memset
    - ares_set_servers_ports_csv
    - DEBUGASSERT
    - CURL_TRC_DNS
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode async_rr_start(struct Curl_easy *data, int port)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:423,1
    - Dst: async_thrdd_destroy
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:424,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:425,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:427,1
    - Dst: free
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:435,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:436,1
    - Dst: addr_ctx_create
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:440,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:447,1
    - Dst: Curl_thread_create
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:450,1
    - Dst: Curl_thread_create
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:452,1
    - Dst: async_rr_start
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:464,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:465,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:467,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:471,1
    - Dst: async_thrdd_destroy
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:472,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - hints
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 408
    functionDepth: 7
    functionLinenumber: 408
    functionLinenumberEnd: 475
    functionName: async_thrdd_init
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_thread_create
    - CURL_SETERRNO
    - free
    - infof
    - curlx_now
    - async_rr_start
    - async_thrdd_destroy
    - addr_ctx_create
    - DEBUGASSERT
    - CURL_TRC_DNS
    - strdup
    linkageType: ''
    returnType: bool
    signature: "bool async_thrdd_init(struct Curl_easy *data,\n                             const
      char *hostname, int port, int ip_version,\n                             const
      struct addrinfo *hints)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:488,1
    - Dst: Curl_multi_will_close
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:491,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:495,1
    - Dst: Curl_thread_join
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:501,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 477
    functionDepth: 5
    functionLinenumber: 477
    functionLinenumberEnd: 504
    functionName: async_thrdd_shutdown
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_acquire
    - Curl_mutex_release
    - CURL_TRC_DNS
    - Curl_thread_join
    - Curl_multi_will_close
    linkageType: ''
    returnType: void
    signature: void async_thrdd_shutdown(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: async_thrdd_shutdown
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:518,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:521,1
    - Dst: Curl_thread_join
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:522,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:523,1
    - Dst: Curl_async_is_resolved
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - data
    - addr_ctx
    - entry
    argTypes:
    - struct Curl_easy*
    - struct async_thrdd_addr_ctx*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: asyn_thrdd_await
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - async_thrdd_shutdown
    - DEBUGASSERT
    - CURL_TRC_DNS
    - Curl_thread_join
    - Curl_async_is_resolved
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode asyn_thrdd_await(struct Curl_easy *data,\n                                 struct
      async_thrdd_addr_ctx *addr_ctx,\n                                 struct Curl_dns_entry
      **entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_thrdd_shutdown
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 6
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: Curl_async_thrdd_shutdown
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - async_thrdd_shutdown
    linkageType: ''
    returnType: void
    signature: void Curl_async_thrdd_shutdown(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asyn_thrdd_await
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:552,1
    - Dst: async_thrdd_destroy
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 7
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: Curl_async_thrdd_destroy
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - async_thrdd_destroy
    - asyn_thrdd_await
    linkageType: ''
    returnType: void
    signature: void Curl_async_thrdd_destroy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asyn_thrdd_await
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 7
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: Curl_async_await
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - asyn_thrdd_await
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_await(struct Curl_easy *data,\n                          struct
      Curl_dns_entry **entry)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:590,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:595,1
    - Dst: Curl_ares_perform
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:603,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:606,1
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:610,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:612,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:618,1
    - Dst: Curl_expire_done
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:619,1
    - Dst: Curl_dnscache_mk_entry
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:623,1
    - Dst: Curl_httpsrr_dup_move
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:635,1
    - Dst: Curl_dnscache_add
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:644,1
    - Dst: Curl_resolver_error
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:648,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:650,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:652,1
    - Dst: async_thrdd_shutdown
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:654,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:660,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:660,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:676,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 584
    functionDepth: 7
    functionLinenumber: 584
    functionLinenumberEnd: 679
    functionName: Curl_async_is_resolved
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 2
    functionsReached:
    - Curl_expire_done
    - Curl_mutex_acquire
    - Curl_ares_perform
    - Curl_dnscache_add
    - Curl_mutex_release
    - Curl_resolver_error
    - async_thrdd_shutdown
    - curlx_now
    - Curl_expire
    - curlx_timediff
    - Curl_httpsrr_dup_move
    - DEBUGASSERT
    - CURL_TRC_DNS
    - Curl_resolv_unlink
    - Curl_dnscache_mk_entry
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_is_resolved(struct Curl_easy *data,\n                                struct
      Curl_dns_entry **dns)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ares_pollset
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:693,1
    - Dst: Curl_mutex_acquire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:701,1
    - Dst: Curl_mutex_release
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:703,1
    - Dst: Curl_pollset_add_in
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:708,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:711,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:711,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 681
    functionDepth: 7
    functionLinenumber: 681
    functionLinenumberEnd: 724
    functionName: Curl_async_pollset
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - Curl_ares_pollset
    - Curl_pollset_add_in
    - Curl_mutex_acquire
    - Curl_expire
    - Curl_mutex_release
    - curlx_now
    - curlx_timediff
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_pollset(struct Curl_easy *data, struct easy_pollset
      *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_thrdd_init
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:740,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 730
    functionDepth: 8
    functionLinenumber: 730
    functionLinenumberEnd: 748
    functionName: Curl_async_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - async_thrdd_init
    - failf
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_async_getaddrinfo(struct Curl_easy *data,\n
      \                                            const char *hostname,\n                                             int
      port,\n                                             int ip_version,\n                                             int
      *waitp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:765,1
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:767,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:778,1
    - Dst: Curl_conn_get_transport
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:781,1
    - Dst: async_thrdd_init
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:785,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/asyn-thrdd.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 755
    functionDepth: 8
    functionLinenumber: 755
    functionLinenumberEnd: 793
    functionName: Curl_async_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - failf
    - memset
    - async_thrdd_init
    - CURL_TRC_DNS
    - Curl_ipv6works
    - Curl_conn_get_transport
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_async_getaddrinfo(struct Curl_easy *data,\n
      \                                            const char *hostname,\n                                             int
      port,\n                                             int ip_version,\n                                             int
      *waitp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCDynamicStoreCopyProxies
      Src: /src/PROJ/curl/lib/macos.c:47,1
    - Dst: CFRelease
      Src: /src/PROJ/curl/lib/macos.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: Curl_macos_init
    functionSourceFile: /src/PROJ/curl/lib/macos.c
    functionUses: 1
    functionsReached:
    - SCDynamicStoreCopyProxies
    - CFRelease
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_macos_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: STARTS_WITH_DRIVE_PREFIX
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STARTS_WITH_DRIVE_PREFIX(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: STARTS_WITH_URL_DRIVE_PREFIX
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STARTS_WITH_URL_DRIVE_PREFIX(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:97,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:98,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:99,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:100,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:101,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:102,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:103,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:104,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:105,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - u
    argTypes:
    - struct Curl_URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: free_urlhandle
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_urlhandle(struct Curl_URL *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/lib/urlapi.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: find_host_sep
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char
    signature: char *find_host_sep(const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: cc2cu
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc2cu(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_host_sep
      Src: /src/PROJ/curl/lib/urlapi.c:151,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:155,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:162,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:164,1
    - Dst: Curl_hexbyte
      Src: /src/PROJ/curl/lib/urlapi.c:168,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:169,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:172,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - o
    - url
    - len
    - relative
    - query
    argTypes:
    - struct dynbuf*
    - char*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: urlencode_str
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - cc2cu
    - curlx_dyn_addn
    - find_host_sep
    - Curl_hexbyte
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode urlencode_str(struct dynbuf *o, const char *url,\n                               size_t
      len, bool relative,\n                               bool query)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:195,1
    - Dst: STARTS_WITH_DRIVE_PREFIX
      Src: /src/PROJ/curl/lib/urlapi.c:200,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/lib/urlapi.c:203,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/urlapi.c:206,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/urlapi.c:223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 4
    argNames:
    - url
    - buf
    - buflen
    - guess_scheme
    argTypes:
    - char*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: Curl_is_absolute_url
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 3
    functionsReached:
    - STARTS_WITH_DRIVE_PREFIX
    - ISALNUM
    - Curl_strntolower
    - DEBUGASSERT
    - ISALPHA
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_is_absolute_url(const char *url, char *buf, size_t buflen,\n
      \                           bool guess_scheme)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:245,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:246,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:261,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:267,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:274,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:277,1
    - Dst: memrchr
      Src: /src/PROJ/curl/lib/urlapi.c:281,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:282,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:289,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:292,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:294,1
    - Dst: urlencode_str
      Src: /src/PROJ/curl/lib/urlapi.c:295,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:295,1
    - Dst: parseurl_and_replace
      Src: /src/PROJ/curl/lib/urlapi.c:296,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:296,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/urlapi.c:302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - base
    - relurl
    - u
    - flags
    argTypes:
    - char*
    - char*
    - CURLU*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 304
    functionName: redirect_url
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - parseurl_and_replace
    - curlx_dyn_ptr
    - memrchr
    - strchr
    - curlx_dyn_init
    - curlx_dyn_free
    - DEBUGASSERT
    - strlen
    - urlencode_str
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode redirect_url(const char *base, const char *relurl,\n                              CURLU
      *u, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - url
    - urllen
    - allowspace
    argTypes:
    - char*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: Curl_junkscan
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode Curl_junkscan(const char *url, size_t *urllen, bool allowspace)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:354,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/urlapi.c:357,1
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/urlapi.c:368,1
    - Dst: Curl_parse_login_details
      Src: /src/PROJ/curl/lib/urlapi.c:372,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:387,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:392,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:397,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:407,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:408,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - u
    - login
    - len
    - flags
    - offset
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    - unsigned int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 415
    functionName: parse_hostname_login
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - memchr
    - Curl_get_scheme_handler
    - Curl_parse_login_details
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode parse_hostname_login(struct Curl_URL *u,\n                                      const
      char *login,\n                                      size_t len,\n                                      unsigned
      int flags,\n                                      size_t *offset)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:421,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:426,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:439,1
    - Dst: curlx_dyn_setlen
      Src: /src/PROJ/curl/lib/urlapi.c:452,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/urlapi.c:457,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:462,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/urlapi.c:463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - u
    - host
    - has_scheme
    argTypes:
    - struct Curl_URL*
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 469
    functionName: Curl_parse_port
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_setlen
    - free
    - curlx_dyn_ptr
    - curl_maprintf
    - strchr
    - curlx_str_number
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_parse_port(struct Curl_URL *u, struct dynbuf *host,\n
      \                                  bool has_scheme)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:476,1
    - Dst: strspn
      Src: /src/PROJ/curl/lib/urlapi.c:483,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/urlapi.c:493,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/urlapi.c:500,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/urlapi.c:515,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/urlapi.c:517,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - u
    - hostname
    - hlen
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 524
    functionName: ipv6_parse
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_inet_ntop
    - strncmp
    - curlx_inet_pton
    - strspn
    - DEBUGASSERT
    - strlen
    - strdup
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode ipv6_parse(struct Curl_URL *u, char *hostname,\n                            size_t
      hlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:530,1
    - Dst: ipv6_parse
      Src: /src/PROJ/curl/lib/urlapi.c:535,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/urlapi.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - u
    - hostname
    - hlen
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 544
    functionName: hostname_check
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - ipv6_parse
    - strcspn
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode hostname_check(struct Curl_URL *u, char *hostname,\n                                size_t
      hlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:569,1
    - Dst: curlx_str_hex
      Src: /src/PROJ/curl/lib/urlapi.c:582,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/lib/urlapi.c:585,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/urlapi.c:588,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/urlapi.c:614,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/urlapi.c:616,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/urlapi.c:625,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/urlapi.c:626,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/urlapi.c:635,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/urlapi.c:636,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/urlapi.c:646,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/urlapi.c:647,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 657
    functionName: ipv4_normalize
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_str_octal
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curlx_str_hex
    - curlx_str_number
    - curlx_dyn_reset
    linkageType: ''
    returnType: int
    signature: int ipv4_normalize(struct dynbuf *host)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:663,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:664,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/urlapi.c:672,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/urlapi.c:676,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:677,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:678,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 684
    functionName: urldecode_host
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - free
    - strchr
    - cc2cu
    - curlx_dyn_reset
    - Curl_urldecode
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode urldecode_host(struct dynbuf *host)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_hostname_login
      Src: /src/PROJ/curl/lib/urlapi.c:699,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:703,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:705,1
    - Dst: Curl_parse_port
      Src: /src/PROJ/curl/lib/urlapi.c:709,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:713,1
    - Dst: ipv4_normalize
      Src: /src/PROJ/curl/lib/urlapi.c:716,1
    - Dst: ipv6_parse
      Src: /src/PROJ/curl/lib/urlapi.c:720,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:720,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:720,1
    - Dst: urldecode_host
      Src: /src/PROJ/curl/lib/urlapi.c:723,1
    - Dst: hostname_check
      Src: /src/PROJ/curl/lib/urlapi.c:725,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:725,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:725,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 6
    argNames:
    - u
    - auth
    - authlen
    - flags
    - host
    - has_scheme
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    - unsigned int
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 686
    functionDepth: 7
    functionLinenumber: 686
    functionLinenumberEnd: 737
    functionName: parse_authority
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - parse_hostname_login
    - curlx_dyn_ptr
    - ipv6_parse
    - urldecode_host
    - cc2cu
    - curlx_dyn_len
    - ipv4_normalize
    - Curl_parse_port
    - hostname_check
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode parse_authority(struct Curl_URL *u,\n                                 const
      char *auth, size_t authlen,\n                                 unsigned int flags,\n
      \                                struct dynbuf *host,\n                                 bool
      has_scheme)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:745,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:746,1
    - Dst: parse_authority
      Src: /src/PROJ/curl/lib/urlapi.c:748,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:748,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/urlapi.c:751,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:753,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - u
    - authority
    argTypes:
    - CURLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 8
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: Curl_url_set_authority
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_dyn_ptr
    - parse_authority
    - curlx_dyn_init
    - curlx_dyn_free
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode Curl_url_set_authority(CURLU *u, const char *authority)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - str
    - clen
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 779
    functionName: is_dot
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_dot(const char **str, size_t *clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: ISSLASH
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSLASH(x)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:808,1
    - Dst: is_dot
      Src: /src/PROJ/curl/lib/urlapi.c:812,1
    - Dst: ISSLASH
      Src: /src/PROJ/curl/lib/urlapi.c:819,1
    - Dst: is_dot
      Src: /src/PROJ/curl/lib/urlapi.c:827,1
    - Dst: ISSLASH
      Src: /src/PROJ/curl/lib/urlapi.c:831,1
    - Dst: ISSLASH
      Src: /src/PROJ/curl/lib/urlapi.c:840,1
    - Dst: is_dot
      Src: /src/PROJ/curl/lib/urlapi.c:846,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:848,1
    - Dst: ISSLASH
      Src: /src/PROJ/curl/lib/urlapi.c:851,1
    - Dst: is_dot
      Src: /src/PROJ/curl/lib/urlapi.c:861,1
    - Dst: ISSLASH
      Src: /src/PROJ/curl/lib/urlapi.c:861,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:863,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:865,1
    - Dst: memrchr
      Src: /src/PROJ/curl/lib/urlapi.c:866,1
    - Dst: curlx_dyn_setlen
      Src: /src/PROJ/curl/lib/urlapi.c:869,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:877,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:888,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:894,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:895,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/urlapi.c:897,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 3
    argNames:
    - input
    - clen
    - outp
    argTypes:
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 903
    functionName: dedotdotify
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_setlen
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - memrchr
    - curlx_dyn_init
    - is_dot
    - ISSLASH
    - curlx_dyn_len
    - strdup
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST dedotdotify(const char *input, size_t clen, char **outp)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:918,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:920,1
    - Dst: Curl_junkscan
      Src: /src/PROJ/curl/lib/urlapi.c:922,1
    - Dst: Curl_is_absolute_url
      Src: /src/PROJ/curl/lib/urlapi.c:926,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/urlapi.c:931,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/urlapi.c:943,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/PROJ/curl/lib/urlapi.c:978,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:981,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:982,1
    - Dst: strpbrk
      Src: /src/PROJ/curl/lib/urlapi.c:992,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1000,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:1002,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/urlapi.c:1024,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/PROJ/curl/lib/urlapi.c:1029,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/PROJ/curl/lib/urlapi.c:1030,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/PROJ/curl/lib/urlapi.c:1037,1
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/urlapi.c:1060,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/urlapi.c:1090,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/urlapi.c:1098,1
    - Dst: parse_authority
      Src: /src/PROJ/curl/lib/urlapi.c:1105,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1110,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:1112,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:1114,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:1116,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:1118,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:1120,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/urlapi.c:1122,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/urlapi.c:1127,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/urlapi.c:1137,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/urlapi.c:1148,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1156,1
    - Dst: urlencode_str
      Src: /src/PROJ/curl/lib/urlapi.c:1157,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1160,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/urlapi.c:1163,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/urlapi.c:1174,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1183,1
    - Dst: urlencode_str
      Src: /src/PROJ/curl/lib/urlapi.c:1185,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1188,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/urlapi.c:1191,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/urlapi.c:1200,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1210,1
    - Dst: urlencode_str
      Src: /src/PROJ/curl/lib/urlapi.c:1211,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:1214,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1215,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/urlapi.c:1224,1
    - Dst: dedotdotify
      Src: /src/PROJ/curl/lib/urlapi.c:1238,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1244,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1250,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/urlapi.c:1254,1
    - Dst: free_urlhandle
      Src: /src/PROJ/curl/lib/urlapi.c:1255,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 235
    argCount: 3
    argNames:
    - url
    - u
    - flags
    argTypes:
    - char*
    - CURLU*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 905
    functionDepth: 8
    functionLinenumber: 905
    functionLinenumberEnd: 1257
    functionName: parseurl
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_junkscan
    - STARTS_WITH_URL_DRIVE_PREFIX
    - Curl_get_scheme_handler
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - parse_authority
    - curlx_dyn_init
    - strpbrk
    - curlx_dyn_reset
    - checkprefix
    - strcspn
    - dedotdotify
    - DEBUGASSERT
    - curlx_dyn_add
    - Curl_memdup0
    - memchr
    - curlx_dyn_len
    - urlencode_str
    - free
    - free_urlhandle
    - strcmp
    - strchr
    - curlx_dyn_free
    - cc2cu
    - Curl_is_absolute_url
    - strdup
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode parseurl(const char *url, CURLU *u, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/urlapi.c:1267,1
    - Dst: parseurl
      Src: /src/PROJ/curl/lib/urlapi.c:1268,1
    - Dst: free_urlhandle
      Src: /src/PROJ/curl/lib/urlapi.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - url
    - u
    - flags
    argTypes:
    - char*
    - CURLU*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1262
    functionDepth: 9
    functionLinenumber: 1262
    functionLinenumberEnd: 1274
    functionName: parseurl_and_replace
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - memset
    - free_urlhandle
    - parseurl
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode parseurl_and_replace(const char *url, CURLU *u,\n                                      unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/urlapi.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: curl_url
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 38
    functionsReached:
    - calloc
    linkageType: ''
    returnType: CURLU
    signature: CURLU *curl_url(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_urlhandle
      Src: /src/PROJ/curl/lib/urlapi.c:1286,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1289
    functionName: curl_url_cleanup
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 39
    functionsReached:
    - free_urlhandle
    - free
    linkageType: ''
    returnType: void
    signature: void curl_url_cleanup(CURLU *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    functionName: DUP
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUP(dest, src, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/urlapi.c:1302,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1304,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1305,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1306,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1307,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1308,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1309,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1310,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1311,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1312,1
    - Dst: DUP
      Src: /src/PROJ/curl/lib/urlapi.c:1313,1
    - Dst: curl_url_cleanup
      Src: /src/PROJ/curl/lib/urlapi.c:1320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - in
    argTypes:
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1322
    functionName: curl_url_dup
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 3
    functionsReached:
    - curl_url_cleanup
    - DUP
    - calloc
    linkageType: ''
    returnType: CURLU
    signature: CURLU *curl_url_dup(const CURLU *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1326
    functionName: host_decode
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_decode(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1327
    functionName: host_encode
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_encode(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_idn_decode
      Src: /src/PROJ/curl/lib/urlapi.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - host
    - allochost
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1335
    functionName: host_decode
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_idn_decode
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode host_decode(const char *host, char **allochost)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_idn_encode
      Src: /src/PROJ/curl/lib/urlapi.c:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - host
    - allochost
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: host_encode
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_idn_encode
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode host_encode(const char *host, char **allochost)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:1351,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/urlapi.c:1356,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/urlapi.c:1373,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1374,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1385,1
    - Dst: urlencode_str
      Src: /src/PROJ/curl/lib/urlapi.c:1386,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1389,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1390,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/urlapi.c:1393,1
    - Dst: host_decode
      Src: /src/PROJ/curl/lib/urlapi.c:1395,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1398,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/urlapi.c:1403,1
    - Dst: host_encode
      Src: /src/PROJ/curl/lib/urlapi.c:1405,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 6
    argNames:
    - u
    - what
    - ptr
    - part
    - plusdecode
    - flags
    argTypes:
    - CURLU*
    - CURLUPart
    - char*
    - char**
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1414
    functionName: urlget_format
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_init
    - host_decode
    - Curl_memdup0
    - strlen
    - Curl_urldecode
    - Curl_is_ASCII_name
    - host_encode
    - urlencode_str
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode urlget_format(const CURLU *u, CURLUPart what,\n                               const
      char *ptr, char **part,\n                               bool plusdecode, unsigned
      int flags)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/urlapi.c:1431,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/urlapi.c:1432,1
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/urlapi.c:1451,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/urlapi.c:1456,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:1475,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1476,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/urlapi.c:1477,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1480,1
    - Dst: curl_easy_escape
      Src: /src/PROJ/curl/lib/urlapi.c:1484,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/urlapi.c:1489,1
    - Dst: host_decode
      Src: /src/PROJ/curl/lib/urlapi.c:1490,1
    - Dst: Curl_is_ASCII_name
      Src: /src/PROJ/curl/lib/urlapi.c:1496,1
    - Dst: host_encode
      Src: /src/PROJ/curl/lib/urlapi.c:1497,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/urlapi.c:1504,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/urlapi.c:1508,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1524,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 3
    argNames:
    - u
    - part
    - flags
    argTypes:
    - CURLU*
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1416
    functionDepth: 6
    functionLinenumber: 1416
    functionLinenumberEnd: 1530
    functionName: urlget_url
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - curl_maprintf
    - curlx_dyn_init
    - curl_msnprintf
    - host_decode
    - strlen
    - Curl_get_scheme_handler
    - Curl_is_ASCII_name
    - host_encode
    - curl_easy_escape
    - curl_strequal
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode urlget_url(const CURLU *u, char **part, unsigned int flags)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/urlapi.c:1580,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/urlapi.c:1582,1
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/urlapi.c:1589,1
    - Dst: urlget_url
      Src: /src/PROJ/curl/lib/urlapi.c:1616,1
    - Dst: urlget_format
      Src: /src/PROJ/curl/lib/urlapi.c:1622,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 76
    argCount: 4
    argNames:
    - u
    - what
    - part
    - flags
    argTypes:
    - CURLU*
    - CURLUPart
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1532
    functionDepth: 7
    functionLinenumber: 1532
    functionLinenumberEnd: 1625
    functionName: curl_url_get
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 35
    functionsReached:
    - urlget_format
    - curl_msnprintf
    - urlget_url
    - Curl_get_scheme_handler
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_get(const CURLU *u, CURLUPart what,\n                       char
      **part, unsigned int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:1630,1
    - Dst: Curl_get_scheme_handler
      Src: /src/PROJ/curl/lib/urlapi.c:1636,1
    - Dst: ISALPHA
      Src: /src/PROJ/curl/lib/urlapi.c:1641,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/urlapi.c:1644,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - u
    - scheme
    - flags
    argTypes:
    - CURLU*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1627
    functionDepth: 2
    functionLinenumber: 1627
    functionLinenumberEnd: 1655
    functionName: set_url_scheme
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - strlen
    - Curl_get_scheme_handler
    - ISALPHA
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode set_url_scheme(CURLU *u, const char *scheme,\n                                unsigned
      int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/urlapi.c:1661,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/urlapi.c:1664,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/urlapi.c:1667,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - u
    - provided_port
    argTypes:
    - CURLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1657
    functionDepth: 6
    functionLinenumber: 1657
    functionLinenumberEnd: 1674
    functionName: set_url_port
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - free
    - curlx_str_number
    - curl_maprintf
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode set_url_port(CURLU *u, const char *provided_port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/urlapi.c:1691,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1694,1
    - Dst: Curl_is_absolute_url
      Src: /src/PROJ/curl/lib/urlapi.c:1702,1
    - Dst: curl_url_get
      Src: /src/PROJ/curl/lib/urlapi.c:1704,1
    - Dst: parseurl_and_replace
      Src: /src/PROJ/curl/lib/urlapi.c:1705,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:1707,1
    - Dst: redirect_url
      Src: /src/PROJ/curl/lib/urlapi.c:1709,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - u
    - url
    - part_size
    - flags
    argTypes:
    - CURLU*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1676
    functionDepth: 10
    functionLinenumber: 1676
    functionLinenumberEnd: 1712
    functionName: set_url
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - free
    - parseurl_and_replace
    - redirect_url
    - Curl_is_absolute_url
    - DEBUGASSERT
    - curl_url_get
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode set_url(CURLU *u, const char *url, size_t part_size,\n                         unsigned
      int flags)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: free_urlhandle
      Src: /src/PROJ/curl/lib/urlapi.c:1718,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/urlapi.c:1719,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1722,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1726,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1729,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1732,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1735,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1738,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1742,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1745,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1748,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1752,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - u
    - what
    argTypes:
    - CURLU*
    - CURLUPart
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1759
    functionName: urlset_clear
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - memset
    - free_urlhandle
    - Curl_safefree
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode urlset_clear(CURLU *u, CURLUPart what)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1772
    functionName: allowed_in_path
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allowed_in_path(unsigned char x)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: urlset_clear
      Src: /src/PROJ/curl/lib/urlapi.c:1790,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:1792,1
    - Dst: set_url_scheme
      Src: /src/PROJ/curl/lib/urlapi.c:1799,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/urlapi.c:1817,1
    - Dst: set_url_port
      Src: /src/PROJ/curl/lib/urlapi.c:1823,1
    - Dst: set_url
      Src: /src/PROJ/curl/lib/urlapi.c:1841,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/urlapi.c:1845,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1849,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1852,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:1854,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1862,1
    - Dst: ISUNRESERVED
      Src: /src/PROJ/curl/lib/urlapi.c:1866,1
    - Dst: allowed_in_path
      Src: /src/PROJ/curl/lib/urlapi.c:1867,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1872,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:1874,1
    - Dst: Curl_hexbyte
      Src: /src/PROJ/curl/lib/urlapi.c:1878,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1879,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:1881,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/urlapi.c:1887,1
    - Dst: cc2cu
      Src: /src/PROJ/curl/lib/urlapi.c:1889,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1890,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/urlapi.c:1893,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/urlapi.c:1893,1
    - Dst: ISUPPER
      Src: /src/PROJ/curl/lib/urlapi.c:1894,1
    - Dst: ISUPPER
      Src: /src/PROJ/curl/lib/urlapi.c:1894,1
    - Dst: Curl_raw_tolower
      Src: /src/PROJ/curl/lib/urlapi.c:1895,1
    - Dst: Curl_raw_tolower
      Src: /src/PROJ/curl/lib/urlapi.c:1896,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1903,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/urlapi.c:1909,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/urlapi.c:1913,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1915,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/urlapi.c:1919,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/urlapi.c:1922,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/urlapi.c:1924,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1925,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/urlapi.c:1926,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/urlapi.c:1929,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/urlapi.c:1935,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/urlapi.c:1949,1
    - Dst: hostname_check
      Src: /src/PROJ/curl/lib/urlapi.c:1950,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1952,1
    - Dst: hostname_check
      Src: /src/PROJ/curl/lib/urlapi.c:1954,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/urlapi.c:1954,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/urlapi.c:1957,1
    - Dst: free
      Src: /src/PROJ/curl/lib/urlapi.c:1963,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/urlapi.c:1964,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 141
    argCount: 4
    argNames:
    - u
    - what
    - part
    - flags
    argTypes:
    - CURLU*
    - CURLUPart
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1774
    functionDepth: 7
    functionLinenumber: 1774
    functionLinenumberEnd: 1967
    functionName: curl_url_set
    functionSourceFile: /src/PROJ/curl/lib/urlapi.c
    functionUses: 41
    functionsReached:
    - Curl_hexbyte
    - ISUPPER
    - CURL_UNCONST
    - Curl_raw_tolower
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - set_url_scheme
    - curlx_dyn_init
    - strlen
    - ISXDIGIT
    - allowed_in_path
    - hostname_check
    - ISUNRESERVED
    - DEBUGASSERT
    - curlx_dyn_add
    - curlx_dyn_len
    - Curl_urldecode
    - set_url_port
    - free
    - urlset_clear
    - set_url
    - curlx_dyn_free
    - cc2cu
    - Curl_safefree
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_set(CURLU *u, CURLUPart what,\n                       const
      char *part, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Curl_ws_request
    functionSourceFile: /src/PROJ/curl/lib/ws.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ws_request(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: Curl_ws_free
    functionSourceFile: /src/PROJ/curl/lib/ws.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ws_free(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: CPOOL_IS_LOCKED
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPOOL_IS_LOCKED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: CPOOL_LOCK
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPOOL_LOCK(c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: CPOOL_UNLOCK
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPOOL_UNLOCK(c,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/conncache.c:93,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/conncache.c:95,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/conncache.c:98,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/conncache.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: cpool_bundle_create
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_llist_init
    - calloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct cpool_bundle
    signature: struct cpool_bundle *cpool_bundle_create(const char *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:106,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/conncache.c:106,1
    - Dst: free
      Src: /src/PROJ/curl/lib/conncache.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - struct cpool_bundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: cpool_bundle_destroy
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_llist_count
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cpool_bundle_destroy(struct cpool_bundle *bundle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:114,1
    - Dst: Curl_node_llist
      Src: /src/PROJ/curl/lib/conncache.c:114,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/conncache.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bundle
    - conn
    argTypes:
    - struct cpool_bundle*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: cpool_bundle_add
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_llist_append
    - DEBUGASSERT
    - Curl_node_llist
    linkageType: ''
    returnType: void
    signature: "void cpool_bundle_add(struct cpool_bundle *bundle,\n                             struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:124,1
    - Dst: Curl_node_llist
      Src: /src/PROJ/curl/lib/conncache.c:124,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/conncache.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bundle
    - conn
    argTypes:
    - struct cpool_bundle*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: cpool_bundle_remove
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_node_llist
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: "void cpool_bundle_remove(struct cpool_bundle *bundle,\n                                struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpool_bundle_destroy
      Src: /src/PROJ/curl/lib/conncache.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - freethis
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: cpool_bundle_free_entry
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - cpool_bundle_destroy
    linkageType: ''
    returnType: void
    signature: void cpool_bundle_free_entry(void *freethis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/PROJ/curl/lib/conncache.c:139,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cpool
    - idata
    - share
    - size
    argTypes:
    - struct cpool*
    - struct Curl_easy*
    - struct Curl_share*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: Curl_cpool_init
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - Curl_hash_init
    linkageType: ''
    returnType: void
    signature: "void Curl_cpool_init(struct cpool *cpool,\n                     struct
      Curl_easy *idata,\n                     struct Curl_share *share,\n                     size_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_start_iterate
      Src: /src/PROJ/curl/lib/conncache.c:157,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:158,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:159,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/conncache.c:161,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/conncache.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: cpool_get_first
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_next_element
    - Curl_node_elem
    - Curl_llist_head
    - Curl_hash_start_iterate
    linkageType: ''
    returnType: struct connectdata
    signature: struct connectdata *cpool_get_first(struct cpool *cpool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/conncache.c:172,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/conncache.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpool
    - conn
    argTypes:
    - struct cpool*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: cpool_find_bundle
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_pick
    - strlen
    linkageType: ''
    returnType: struct cpool_bundle
    signature: "struct cpool_bundle *cpool_find_bundle(struct cpool *cpool,\n                                              struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/PROJ/curl/lib/conncache.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cpool
    - bundle
    argTypes:
    - struct cpool*
    - struct cpool_bundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: cpool_remove_bundle
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    linkageType: ''
    returnType: void
    signature: "void cpool_remove_bundle(struct cpool *cpool,\n                                struct
      cpool_bundle *bundle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_llist
      Src: /src/PROJ/curl/lib/conncache.c:189,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:190,1
    - Dst: cpool_find_bundle
      Src: /src/PROJ/curl/lib/conncache.c:193,1
    - Dst: cpool_bundle_remove
      Src: /src/PROJ/curl/lib/conncache.c:195,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/conncache.c:196,1
    - Dst: cpool_remove_bundle
      Src: /src/PROJ/curl/lib/conncache.c:197,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cpool
    - conn
    argTypes:
    - struct cpool*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: cpool_remove_conn
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - cpool_find_bundle
    - cpool_remove_bundle
    - cpool_bundle_remove
    - Curl_llist_count
    - DEBUGASSERT
    - Curl_node_llist
    linkageType: ''
    returnType: void
    signature: "void cpool_remove_conn(struct cpool *cpool,\n                              struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGPIPE_VARIABLE
      Src: /src/PROJ/curl/lib/conncache.c:212,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/conncache.c:214,1
    - Dst: sigpipe_init
      Src: /src/PROJ/curl/lib/conncache.c:217,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:218,1
    - Dst: cpool_get_first
      Src: /src/PROJ/curl/lib/conncache.c:219,1
    - Dst: cpool_remove_conn
      Src: /src/PROJ/curl/lib/conncache.c:221,1
    - Dst: sigpipe_apply
      Src: /src/PROJ/curl/lib/conncache.c:222,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/conncache.c:223,1
    - Dst: cpool_discard_conn
      Src: /src/PROJ/curl/lib/conncache.c:224,1
    - Dst: cpool_get_first
      Src: /src/PROJ/curl/lib/conncache.c:225,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:227,1
    - Dst: sigpipe_restore
      Src: /src/PROJ/curl/lib/conncache.c:228,1
    - Dst: Curl_hash_destroy
      Src: /src/PROJ/curl/lib/conncache.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 6
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: Curl_cpool_destroy
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 3
    functionsReached:
    - Curl_hash_destroy
    - sigpipe_init
    - sigpipe_restore
    - CURL_TRC_M
    - sigpipe_apply
    - connclose
    - cpool_discard_conn
    - SIGPIPE_VARIABLE
    - cpool_get_first
    - CPOOL_LOCK
    - cpool_remove_conn
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_destroy(struct cpool *cpool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SHARE_KEEP_CONNECT
      Src: /src/PROJ/curl/lib/conncache.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: cpool_get_instance
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CURL_SHARE_KEEP_CONNECT
    linkageType: ''
    returnType: struct cpool
    signature: struct cpool *cpool_get_instance(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:248,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:250,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:252,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: Curl_cpool_xfer_init
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - DEBUGASSERT
    - CPOOL_UNLOCK
    - cpool_get_instance
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_xfer_init(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpool_bundle_create
      Src: /src/PROJ/curl/lib/conncache.c:273,1
    - Dst: Curl_hash_add
      Src: /src/PROJ/curl/lib/conncache.c:277,1
    - Dst: cpool_bundle_destroy
      Src: /src/PROJ/curl/lib/conncache.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cpool
    - conn
    argTypes:
    - struct cpool*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: cpool_add_bundle
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_add
    - cpool_bundle_destroy
    - cpool_bundle_create
    linkageType: ''
    returnType: struct cpool_bundle
    signature: 'struct cpool_bundle *

      cpool_add_bundle(struct cpool *cpool, struct connectdata *conn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/conncache.c:295,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/conncache.c:296,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/conncache.c:298,1
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/conncache.c:300,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/conncache.c:302,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/conncache.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - struct cpool_bundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: cpool_bundle_get_oldest_idle
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - curlx_now
    - curlx_timediff
    - Curl_node_next
    - Curl_llist_head
    - CONN_INUSE
    - Curl_node_elem
    linkageType: ''
    returnType: struct connectdata
    signature: 'struct connectdata *

      cpool_bundle_get_oldest_idle(struct cpool_bundle *bundle)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/conncache.c:325,1
    - Dst: Curl_hash_start_iterate
      Src: /src/PROJ/curl/lib/conncache.c:326,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:328,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:329,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/conncache.c:333,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/conncache.c:334,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/conncache.c:335,1
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/conncache.c:336,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/conncache.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 347
    functionName: cpool_get_oldest_idle
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - curlx_now
    - Curl_hash_next_element
    - curlx_timediff
    - Curl_node_next
    - Curl_llist_head
    - CONN_INUSE
    - Curl_node_elem
    - Curl_hash_start_iterate
    linkageType: ''
    returnType: struct connectdata
    signature: struct connectdata *cpool_get_oldest_idle(struct cpool *cpool)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:353,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:371,1
    - Dst: cpool_find_bundle
      Src: /src/PROJ/curl/lib/conncache.c:375,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/conncache.c:376,1
    - Dst: Curl_cshutdn_dest_count
      Src: /src/PROJ/curl/lib/conncache.c:377,1
    - Dst: Curl_cshutdn_close_oldest
      Src: /src/PROJ/curl/lib/conncache.c:381,1
    - Dst: cpool_bundle_get_oldest_idle
      Src: /src/PROJ/curl/lib/conncache.c:390,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/conncache.c:394,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/conncache.c:397,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:398,1
    - Dst: cpool_find_bundle
      Src: /src/PROJ/curl/lib/conncache.c:401,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/conncache.c:402,1
    - Dst: Curl_cshutdn_dest_count
      Src: /src/PROJ/curl/lib/conncache.c:404,1
    - Dst: Curl_cshutdn_count
      Src: /src/PROJ/curl/lib/conncache.c:413,1
    - Dst: Curl_cshutdn_close_oldest
      Src: /src/PROJ/curl/lib/conncache.c:417,1
    - Dst: cpool_get_oldest_idle
      Src: /src/PROJ/curl/lib/conncache.c:421,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/conncache.c:425,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:429,1
    - Dst: Curl_cshutdn_count
      Src: /src/PROJ/curl/lib/conncache.c:431,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:440,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 350
    functionDepth: 9
    functionLinenumber: 350
    functionLinenumberEnd: 442
    functionName: Curl_cpool_check_limits
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - Curl_cshutdn_dest_count
    - cpool_find_bundle
    - Curl_cshutdn_count
    - cpool_get_instance
    - Curl_cshutdn_close_oldest
    - CURL_TRC_M
    - cpool_bundle_get_oldest_idle
    - Curl_llist_count
    - cpool_get_oldest_idle
    - Curl_conn_terminate
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: int
    signature: "int Curl_cpool_check_limits(struct Curl_easy *data,\n                            struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:449,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:450,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:452,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:456,1
    - Dst: cpool_find_bundle
      Src: /src/PROJ/curl/lib/conncache.c:457,1
    - Dst: cpool_add_bundle
      Src: /src/PROJ/curl/lib/conncache.c:459,1
    - Dst: cpool_bundle_add
      Src: /src/PROJ/curl/lib/conncache.c:466,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/conncache.c:469,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 476
    functionName: Curl_cpool_add
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - cpool_find_bundle
    - cpool_get_instance
    - cpool_bundle_add
    - cpool_add_bundle
    - CURL_TRC_M
    - DEBUGASSERT
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cpool_add(struct Curl_easy *data,\n                        struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_start_iterate
      Src: /src/PROJ/curl/lib/conncache.c:502,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:504,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:508,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/conncache.c:510,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/conncache.c:514,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/conncache.c:515,1
    - Dst: func
      Src: /src/PROJ/curl/lib/conncache.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - data
    - cpool
    - param
    argTypes:
    - struct Curl_easy*
    - struct cpool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 523
    functionName: cpool_foreach
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - func
    - Curl_hash_next_element
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    - Curl_hash_start_iterate
    linkageType: ''
    returnType: bool
    signature: "bool cpool_foreach(struct Curl_easy *data,\n                          struct
      cpool *cpool,\n                          void *param,\n                          int
      (*func)(struct Curl_easy *data,\n                                      struct
      connectdata *conn, void *param))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:536,1
    - Dst: Curl_multi_xfers_running
      Src: /src/PROJ/curl/lib/conncache.c:540,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/conncache.c:547,1
    - Dst: CPOOL_IS_LOCKED
      Src: /src/PROJ/curl/lib/conncache.c:550,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:552,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/conncache.c:554,1
    - Dst: cpool_get_oldest_idle
      Src: /src/PROJ/curl/lib/conncache.c:557,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:560,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 568
    functionName: Curl_cpool_conn_now_idle
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CPOOL_IS_LOCKED
    - infof
    - curlx_now
    - cpool_get_instance
    - Curl_multi_xfers_running
    - cpool_get_oldest_idle
    - Curl_conn_terminate
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cpool_conn_now_idle(struct Curl_easy *data,\n                              struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:576,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:580,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:581,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:585,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/conncache.c:586,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/conncache.c:587,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/conncache.c:588,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/conncache.c:590,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/conncache.c:592,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/conncache.c:594,1
    - Dst: conn_cb
      Src: /src/PROJ/curl/lib/conncache.c:596,1
    - Dst: done_cb
      Src: /src/PROJ/curl/lib/conncache.c:604,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - data
    - destination
    - conn_cb
    - done_cb
    - userdata
    argTypes:
    - struct Curl_easy*
    - char*
    - Curl_cpool_conn_match_cb*
    - Curl_cpool_done_match_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 608
    functionName: Curl_cpool_find
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - cpool_get_instance
    - Curl_hash_pick
    - done_cb
    - conn_cb
    - CURL_UNCONST
    - DEBUGASSERT
    - strlen
    - Curl_llist_head
    - Curl_node_next
    - CPOOL_LOCK
    - Curl_node_elem
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cpool_find(struct Curl_easy *data,\n                     const
      char *destination,\n                     Curl_cpool_conn_match_cb *conn_cb,\n
      \                    Curl_cpool_done_match_cb *done_cb,\n                     void
      *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:617,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:618,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:619,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:620,1
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/conncache.c:626,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/conncache.c:627,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/conncache.c:629,1
    - Dst: Curl_cshutdn_run_once
      Src: /src/PROJ/curl/lib/conncache.c:648,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:652,1
    - Dst: Curl_cshutdn_add
      Src: /src/PROJ/curl/lib/conncache.c:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - cpool
    - data
    - conn
    - aborted
    argTypes:
    - struct cpool*
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 610
    functionDepth: 9
    functionLinenumber: 610
    functionLinenumberEnd: 655
    functionName: cpool_discard_conn
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - Curl_cshutdn_run_once
    - CONN_ATTACHED
    - Curl_cshutdn_add
    - Curl_cshutdn_terminate
    - DEBUGASSERT
    - CONN_INUSE
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: "void cpool_discard_conn(struct cpool *cpool,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              bool aborted)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:661,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:664,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:665,1
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/conncache.c:671,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:672,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/conncache.c:673,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/conncache.c:673,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/conncache.c:673,1
    - Dst: CPOOL_IS_LOCKED
      Src: /src/PROJ/curl/lib/conncache.c:679,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:681,1
    - Dst: cpool_remove_conn
      Src: /src/PROJ/curl/lib/conncache.c:684,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/conncache.c:685,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/conncache.c:695,1
    - Dst: cpool_discard_conn
      Src: /src/PROJ/curl/lib/conncache.c:697,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/conncache.c:701,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:702,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - data
    - conn
    - aborted
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 657
    functionDepth: 10
    functionLinenumber: 657
    functionLinenumberEnd: 707
    functionName: Curl_conn_terminate
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 8
    functionsReached:
    - infof
    - DEBUGF
    - CPOOL_IS_LOCKED
    - cpool_get_instance
    - CONN_ATTACHED
    - Curl_cshutdn_terminate
    - DEBUGASSERT
    - cpool_discard_conn
    - CONN_INUSE
    - CPOOL_LOCK
    - cpool_remove_conn
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_terminate(struct Curl_easy *data,\n                         struct
      connectdata *conn,\n                         bool aborted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/conncache.c:718,1
    - Dst: Curl_conn_seems_dead
      Src: /src/PROJ/curl/lib/conncache.c:719,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 11
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: cpool_reap_dead_cb
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_conn_seems_dead
    - CONN_INUSE
    - Curl_conn_terminate
    linkageType: ''
    returnType: int
    signature: "int cpool_reap_dead_cb(struct Curl_easy *data,\n                              struct
      connectdata *conn, void *param)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:736,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/conncache.c:743,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:744,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/conncache.c:745,1
    - Dst: cpool_foreach
      Src: /src/PROJ/curl/lib/conncache.c:748,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 753
    functionName: Curl_cpool_prune_dead
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - cpool_foreach
    - curlx_now
    - cpool_get_instance
    - curlx_timediff
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_prune_dead(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_upkeep
      Src: /src/PROJ/curl/lib/conncache.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 762
    functionName: conn_upkeep
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - Curl_conn_upkeep
    linkageType: ''
    returnType: int
    signature: "int conn_upkeep(struct Curl_easy *data,\n                       struct
      connectdata *conn,\n                       void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:766,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/conncache.c:767,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:772,1
    - Dst: cpool_foreach
      Src: /src/PROJ/curl/lib/conncache.c:773,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: Curl_cpool_upkeep
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - cpool_foreach
    - curlx_now
    - cpool_get_instance
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cpool_upkeep(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: cpool_find_conn
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cpool_find_conn(struct Curl_easy *data,\n                           struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:798,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:805,1
    - Dst: cpool_foreach
      Src: /src/PROJ/curl/lib/conncache.c:806,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - conn_id
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 809
    functionName: Curl_cpool_get_conn
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CPOOL_LOCK
    - cpool_foreach
    - CPOOL_UNLOCK
    - cpool_get_instance
    linkageType: ''
    returnType: struct connectdata
    signature: "struct connectdata *Curl_cpool_get_conn(struct Curl_easy *data,\n
      \                                       curl_off_t conn_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct cpool_do_conn_ctx*::cb
      Src: /src/PROJ/curl/lib/conncache.c:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 827
    functionName: cpool_do_conn
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - struct cpool_do_conn_ctx*::cb
    linkageType: ''
    returnType: int
    signature: "int cpool_do_conn(struct Curl_easy *data,\n                         struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:832,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:840,1
    - Dst: cpool_foreach
      Src: /src/PROJ/curl/lib/conncache.c:841,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - conn_id
    - cb
    - cbdata
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    - Curl_cpool_conn_do_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 843
    functionName: Curl_cpool_do_by_id
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - cpool_foreach
    - CPOOL_UNLOCK
    - cpool_get_instance
    linkageType: ''
    returnType: void
    signature: "void Curl_cpool_do_by_id(struct Curl_easy *data, curl_off_t conn_id,\n
      \                        Curl_cpool_conn_do_cb *cb, void *cbdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:849,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:851,1
    - Dst: cb
      Src: /src/PROJ/curl/lib/conncache.c:852,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:853,1
    - Dst: cb
      Src: /src/PROJ/curl/lib/conncache.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - conn
    - cb
    - cbdata
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - Curl_cpool_conn_do_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 857
    functionName: Curl_cpool_do_locked
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - cb
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    - cpool_get_instance
    linkageType: ''
    returnType: void
    signature: "void Curl_cpool_do_locked(struct Curl_easy *data,\n                          struct
      connectdata *conn,\n                          Curl_cpool_conn_do_cb *cb, void
      *cbdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 866
    functionName: cpool_mark_stale
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cpool_mark_stale(struct Curl_easy *data,\n                            struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/PROJ/curl/lib/conncache.c:873,1
    - Dst: Curl_conn_terminate
      Src: /src/PROJ/curl/lib/conncache.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 868
    functionDepth: 11
    functionLinenumber: 868
    functionLinenumberEnd: 878
    functionName: cpool_reap_no_reuse
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CONN_INUSE
    - Curl_conn_terminate
    linkageType: ''
    returnType: int
    signature: "int cpool_reap_no_reuse(struct Curl_easy *data,\n                               struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/PROJ/curl/lib/conncache.c:882,1
    - Dst: CPOOL_LOCK
      Src: /src/PROJ/curl/lib/conncache.c:885,1
    - Dst: cpool_foreach
      Src: /src/PROJ/curl/lib/conncache.c:886,1
    - Dst: cpool_foreach
      Src: /src/PROJ/curl/lib/conncache.c:887,1
    - Dst: CPOOL_UNLOCK
      Src: /src/PROJ/curl/lib/conncache.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 891
    functionName: Curl_cpool_nw_changed
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - cpool_foreach
    - CPOOL_UNLOCK
    - cpool_get_instance
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_nw_changed(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/conncache.c:904,1
    - Dst: Curl_hash_start_iterate
      Src: /src/PROJ/curl/lib/conncache.c:906,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:908,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/conncache.c:915,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/conncache.c:916,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/conncache.c:918,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/conncache.c:920,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/conncache.c:921,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/conncache.c:923,1
    - Dst: Curl_hash_next_element
      Src: /src/PROJ/curl/lib/conncache.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 895
    functionDepth: 5
    functionLinenumber: 895
    functionLinenumberEnd: 927
    functionName: Curl_cpool_print
    functionSourceFile: /src/PROJ/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_hash_next_element
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    - Curl_hash_start_iterate
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_print(struct cpool *cpool)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - now
    - co
    argTypes:
    - time_t
    - struct Cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: cap_expires
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cap_expires(time_t now, struct Cookie *co)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:120,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:121,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:122,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:123,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:124,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - co
    argTypes:
    - struct Cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: freecookie
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freecookie(struct Cookie *co)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:132,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cookie_domain
    - cookie_domain_len
    - hostname
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: cookie_tailmatch
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool cookie_tailmatch(const char *cookie_domain,\n                             size_t
      cookie_domain_len,\n                             const char *hostname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:168,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:175,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:188,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - cookie_path
    - uri_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 211
    functionName: pathmatch
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool pathmatch(const char *cookie_path, const char *uri_path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:222,1
    - Dst: memrchr
      Src: /src/PROJ/curl/lib/cookie.c:223,1
    - Dst: memrchr
      Src: /src/PROJ/curl/lib/cookie.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - domain
    - outlen
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: get_top_domain
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - memrchr
    - strlen
    linkageType: ''
    returnType: char
    signature: char *get_top_domain(const char * const domain, size_t *outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/cookie.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - domain
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: cookie_hash_domain
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: size_t
    signature: size_t cookie_hash_domain(const char *domain, const size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/cookie.c:271,1
    - Dst: get_top_domain
      Src: /src/PROJ/curl/lib/cookie.c:274,1
    - Dst: cookie_hash_domain
      Src: /src/PROJ/curl/lib/cookie.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: cookiehash
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_host_is_ipnum
    - get_top_domain
    - cookie_hash_domain
    linkageType: ''
    returnType: size_t
    signature: size_t cookiehash(const char * const domain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:283,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/cookie.c:296,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - cookie_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionName: sanitize_cookie_path
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_memdup0
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: char *sanitize_cookie_path(const char *cookie_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/cookie.c:315,1
    - Dst: Curl_cookie_init
      Src: /src/PROJ/curl/lib/cookie.c:318,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:325,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/cookie.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: Curl_cookie_loadfiles
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - Curl_share_unlock
    - infof
    - Curl_share_lock
    - Curl_cookie_init
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_loadfiles(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cookie.c:345,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:346,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - str
    - newstr
    - len
    argTypes:
    - char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: strstore
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_memdup0
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void strstore(char **str, const char *newstr, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/lib/cookie.c:366,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:387,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:388,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:389,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cookie.c:392,1
    - Dst: freecookie
      Src: /src/PROJ/curl/lib/cookie.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 405
    functionName: remove_expired
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - time
    - Curl_node_remove
    - freecookie
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: void remove_expired(struct CookieInfo *ci)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:411,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/cookie.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - domain
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: bad_domain
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - memchr
    linkageType: ''
    returnType: bool
    signature: bool bad_domain(const char *domain, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: invalid_octets
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invalid_octets(const char *ptr)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:488,1
    - Dst: time
      Src: /src/PROJ/curl/lib/cookie.c:493,1
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/cookie.c:499,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/cookie.c:502,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/cookie.c:504,1
    - Dst: curlx_str_cspn
      Src: /src/PROJ/curl/lib/cookie.c:506,1
    - Dst: curlx_str_trimblanks
      Src: /src/PROJ/curl/lib/cookie.c:507,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/cookie.c:510,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:510,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:510,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:511,1
    - Dst: curlx_str_init
      Src: /src/PROJ/curl/lib/cookie.c:517,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:525,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:526,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:527,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:527,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:528,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:529,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:529,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:539,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:539,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:541,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:541,1
    - Dst: strstore
      Src: /src/PROJ/curl/lib/cookie.c:556,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:556,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:556,1
    - Dst: strstore
      Src: /src/PROJ/curl/lib/cookie.c:557,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:557,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:557,1
    - Dst: invalid_octets
      Src: /src/PROJ/curl/lib/cookie.c:562,1
    - Dst: invalid_octets
      Src: /src/PROJ/curl/lib/cookie.c:562,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:563,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:567,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:578,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:586,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:594,1
    - Dst: strstore
      Src: /src/PROJ/curl/lib/cookie.c:595,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:595,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:595,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:598,1
    - Dst: sanitize_cookie_path
      Src: /src/PROJ/curl/lib/cookie.c:599,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:603,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:603,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:605,1
    - Dst: curlx_str_nudge
      Src: /src/PROJ/curl/lib/cookie.c:612,1
    - Dst: bad_domain
      Src: /src/PROJ/curl/lib/cookie.c:620,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:620,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:620,1
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/cookie.c:624,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:624,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:627,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:627,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:628,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:629,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:629,1
    - Dst: cookie_tailmatch
      Src: /src/PROJ/curl/lib/cookie.c:630,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:630,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:631,1
    - Dst: strstore
      Src: /src/PROJ/curl/lib/cookie.c:632,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:632,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:632,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:645,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:646,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:650,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:653,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:653,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:664,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cookie.c:667,1
    - Dst: cap_expires
      Src: /src/PROJ/curl/lib/cookie.c:687,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/cookie.c:689,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:689,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:690,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/cookie.c:699,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/cookie.c:699,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:699,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/cookie.c:700,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/cookie.c:701,1
    - Dst: cap_expires
      Src: /src/PROJ/curl/lib/cookie.c:708,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/cookie.c:717,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/cookie.c:723,1
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/cookie.c:732,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:735,1
    - Dst: sanitize_cookie_path
      Src: /src/PROJ/curl/lib/cookie.c:737,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 141
    argCount: 7
    argNames:
    - data
    - co
    - ci
    - ptr
    - domain
    - path
    - secure
    argTypes:
    - struct Curl_easy*
    - struct Cookie*
    - struct CookieInfo*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 754
    functionName: parse_cookie_header
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strstore
    - curlx_str_cspn
    - curlx_str_nudge
    - bad_domain
    - infof
    - memcpy
    - curlx_str_init
    - Curl_getdate_capped
    - strlen
    - curlx_str
    - cookie_tailmatch
    - sanitize_cookie_path
    - curlx_str_casecompare
    - invalid_octets
    - Curl_host_is_ipnum
    - Curl_memdup0
    - memchr
    - curlx_strlen
    - free
    - curlx_str_single
    - time
    - cap_expires
    - curlx_str_number
    - curlx_str_trimblanks
    - strrchr
    - strdup
    linkageType: ''
    returnType: int
    signature: "int parse_cookie_header(struct Curl_easy *data,\n                    struct
      Cookie *co,\n                    struct CookieInfo *ci,\n                    const
      char *ptr,\n                    const char *domain, /* default domain */\n                    const
      char *path,   /* full path used when this cookie is\n                                           set,
      used to get default path for\n                                           the
      cookie unless set */\n                    bool secure)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:777,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/cookie.c:793,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:801,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:811,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:815,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cookie.c:815,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:817,1
    - Dst: sanitize_cookie_path
      Src: /src/PROJ/curl/lib/cookie.c:821,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/cookie.c:828,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/cookie.c:831,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cookie.c:835,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:838,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/cookie.c:846,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:850,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:855,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:857,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/cookie.c:862,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/cookie.c:870,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 4
    argNames:
    - co
    - ci
    - lineptr
    - secure
    argTypes:
    - struct Cookie*
    - struct CookieInfo*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 882
    functionName: parse_netscape
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strcspn
    - strncmp
    - sanitize_cookie_path
    - FALLTHROUGH
    - curlx_str_number
    - curl_strnequal
    - Curl_memdup0
    - strdup
    linkageType: ''
    returnType: int
    signature: "int parse_netscape(struct Cookie *co,\n               struct CookieInfo
      *ci,\n               const char *lineptr,\n               bool secure)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/cookie.c:895,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:895,1
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/cookie.c:897,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:901,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:902,1
    - Dst: Curl_psl_use
      Src: /src/PROJ/curl/lib/cookie.c:904,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/cookie.c:907,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/cookie.c:908,1
    - Dst: psl_is_cookie_domain_acceptable
      Src: /src/PROJ/curl/lib/cookie.c:909,1
    - Dst: Curl_psl_release
      Src: /src/PROJ/curl/lib/cookie.c:910,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:913,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:917,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/cookie.c:926,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:926,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - data
    - co
    - domain
    argTypes:
    - struct Curl_easy*
    - struct Cookie*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 930
    functionName: is_public_suffix
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_host_is_ipnum
    - psl_is_cookie_domain_acceptable
    - Curl_strntolower
    - strlen
    - Curl_psl_use
    - Curl_psl_release
    linkageType: ''
    returnType: int
    signature: "int is_public_suffix(struct Curl_easy *data,\n                 struct
      Cookie *co,\n                 const char *domain)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cookiehash
      Src: /src/PROJ/curl/lib/cookie.c:942,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:943,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:943,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:944,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:945,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/cookie.c:950,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cookie.c:970,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/cookie.c:972,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:976,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/cookie.c:978,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:979,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:986,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/cookie.c:990,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/cookie.c:1002,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1022,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cookie.c:1028,1
    - Dst: freecookie
      Src: /src/PROJ/curl/lib/cookie.c:1031,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 49
    argCount: 5
    argNames:
    - data
    - co
    - ci
    - secure
    - replacep
    argTypes:
    - struct Curl_easy*
    - struct Cookie*
    - struct CookieInfo*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 932
    functionDepth: 4
    functionLinenumber: 932
    functionLinenumberEnd: 1035
    functionName: replace_existing
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - infof
    - strcmp
    - strchr
    - Curl_node_remove
    - freecookie
    - curl_strnequal
    - Curl_node_next
    - cookiehash
    - Curl_llist_head
    - DEBUGASSERT
    - strlen
    - curl_strequal
    - Curl_node_elem
    linkageType: ''
    returnType: int
    signature: "int replace_existing(struct Curl_easy *data,\n                 struct
      Cookie *co,\n                 struct CookieInfo *ci,\n                 bool
      secure,\n                 bool *replacep)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cookie.c:1064,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cookie.c:1065,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cookie.c:1070,1
    - Dst: parse_cookie_header
      Src: /src/PROJ/curl/lib/cookie.c:1075,1
    - Dst: parse_netscape
      Src: /src/PROJ/curl/lib/cookie.c:1077,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:1091,1
    - Dst: remove_expired
      Src: /src/PROJ/curl/lib/cookie.c:1113,1
    - Dst: is_public_suffix
      Src: /src/PROJ/curl/lib/cookie.c:1115,1
    - Dst: replace_existing
      Src: /src/PROJ/curl/lib/cookie.c:1118,1
    - Dst: cookiehash
      Src: /src/PROJ/curl/lib/cookie.c:1122,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/cookie.c:1123,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:1127,1
    - Dst: freecookie
      Src: /src/PROJ/curl/lib/cookie.c:1147,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 8
    argNames:
    - data
    - ci
    - httpheader
    - noexpire
    - lineptr
    - domain
    - path
    - secure
    argTypes:
    - struct Curl_easy*
    - struct CookieInfo*
    - bool
    - bool
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1047
    functionDepth: 6
    functionLinenumber: 1047
    functionLinenumberEnd: 1149
    functionName: Curl_cookie_add
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - parse_netscape
    - infof
    - parse_cookie_header
    - replace_existing
    - strcmp
    - remove_expired
    - Curl_llist_append
    - is_public_suffix
    - freecookie
    - calloc
    - DEBUGASSERT
    - cookiehash
    linkageType: ''
    returnType: struct Cookie
    signature: "struct Cookie *\nCurl_cookie_add(struct Curl_easy *data,\n                struct
      CookieInfo *ci,\n                bool httpheader, /* TRUE if HTTP header-style
      line */\n                bool noexpire, /* if TRUE, skip remove_expired() */\n
      \               const char *lineptr,   /* first character of the line */\n                const
      char *domain, /* default domain */\n                const char *path,   /* full
      path used when this cookie is set,\n                                       used
      to get default path for the cookie\n                                       unless
      set */\n                bool secure)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cookie.c:1177,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/cookie.c:1184,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:1196,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/cookie.c:1199,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:1201,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/cookie.c:1212,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/lib/cookie.c:1214,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/cookie.c:1216,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/cookie.c:1218,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/cookie.c:1222,1
    - Dst: Curl_cookie_add
      Src: /src/PROJ/curl/lib/cookie.c:1225,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cookie.c:1231,1
    - Dst: remove_expired
      Src: /src/PROJ/curl/lib/cookie.c:1237,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/cookie.c:1240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - data
    - file
    - ci
    - newsession
    argTypes:
    - struct Curl_easy*
    - char*
    - struct CookieInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1166
    functionDepth: 7
    functionLinenumber: 1166
    functionLinenumberEnd: 1247
    functionName: Curl_cookie_init
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 5
    functionsReached:
    - infof
    - curlx_dyn_ptr
    - strcmp
    - curlx_str_passblanks
    - curlx_dyn_init
    - remove_expired
    - Curl_cookie_add
    - curlx_fopen
    - curlx_dyn_free
    - Curl_llist_init
    - calloc
    - Curl_get_line
    - curlx_fclose
    - checkprefix
    linkageType: ''
    returnType: struct CookieInfo
    signature: "struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,\n                                    const
      char *file,\n                                    struct CookieInfo *ci,\n                                    bool
      newsession)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1264,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1265,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1271,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1272,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1278,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1286
    functionName: cookie_sort
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int cookie_sort(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1299
    functionName: cookie_sort_ct
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cookie_sort_ct(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/cookie.c:1304,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:1305,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:1306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - host
    argTypes:
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1307
    functionName: Curl_secure_context
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - curl_strequal
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool Curl_secure_context(struct connectdata *conn, const char *host)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/cookie.c:1326,1
    - Dst: cookiehash
      Src: /src/PROJ/curl/lib/cookie.c:1327,1
    - Dst: Curl_secure_context
      Src: /src/PROJ/curl/lib/cookie.c:1329,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/cookie.c:1333,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/cookie.c:1335,1
    - Dst: remove_expired
      Src: /src/PROJ/curl/lib/cookie.c:1339,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:1341,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:1342,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1343,1
    - Dst: cookie_tailmatch
      Src: /src/PROJ/curl/lib/cookie.c:1351,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cookie.c:1351,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/cookie.c:1352,1
    - Dst: pathmatch
      Src: /src/PROJ/curl/lib/cookie.c:1362,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/cookie.c:1367,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:1370,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/cookie.c:1389,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:1393,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:1395,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1396,1
    - Dst: qsort
      Src: /src/PROJ/curl/lib/cookie.c:1399,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/cookie.c:1402,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/cookie.c:1405,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1407,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/cookie.c:1414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - data
    - conn
    - host
    - list
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1320
    functionDepth: 5
    functionLinenumber: 1320
    functionLinenumberEnd: 1416
    functionName: Curl_cookie_getlist
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - Curl_llist_init
    - cookiehash
    - Curl_node_next
    - qsort
    - infof
    - strlen
    - Curl_llist_head
    - cookie_tailmatch
    - Curl_secure_context
    - remove_expired
    - Curl_host_is_ipnum
    - Curl_llist_destroy
    - pathmatch
    - curl_strequal
    - Curl_node_elem
    - free
    - Curl_llist_append
    - Curl_llist_count
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Curl_cookie_getlist(struct Curl_easy *data,\n                        struct
      connectdata *conn,\n                        const char *host,\n                        struct
      Curl_llist *list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:1429,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1430,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:1431,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cookie.c:1432,1
    - Dst: freecookie
      Src: /src/PROJ/curl/lib/cookie.c:1433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1423
    functionDepth: 4
    functionLinenumber: 1423
    functionLinenumberEnd: 1439
    functionName: Curl_cookie_clearall
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - Curl_node_remove
    - freecookie
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_clearall(struct CookieInfo *ci)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:1454,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1458,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:1459,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/cookie.c:1461,1
    - Dst: freecookie
      Src: /src/PROJ/curl/lib/cookie.c:1462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1446
    functionDepth: 4
    functionLinenumber: 1446
    functionLinenumberEnd: 1467
    functionName: Curl_cookie_clearsess
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - Curl_node_remove
    - freecookie
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_clearsess(struct CookieInfo *ci)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cookie_clearall
      Src: /src/PROJ/curl/lib/cookie.c:1477,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 5
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: Curl_cookie_cleanup
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 4
    functionsReached:
    - free
    - Curl_cookie_clearall
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_cleanup(struct CookieInfo *ci)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/cookie.c:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - co
    argTypes:
    - struct Cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1489
    functionDepth: 6
    functionLinenumber: 1489
    functionLinenumberEnd: 1513
    functionName: get_netscape_format
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: char *get_netscape_format(const struct Cookie *co)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: remove_expired
      Src: /src/PROJ/curl/lib/cookie.c:1537,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/cookie.c:1539,1
    - Dst: Curl_fopen
      Src: /src/PROJ/curl/lib/cookie.c:1545,1
    - Dst: fputs
      Src: /src/PROJ/curl/lib/cookie.c:1550,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cookie.c:1561,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:1569,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:1570,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1571,1
    - Dst: qsort
      Src: /src/PROJ/curl/lib/cookie.c:1578,1
    - Dst: get_netscape_format
      Src: /src/PROJ/curl/lib/cookie.c:1581,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1583,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/cookie.c:1587,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1588,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1591,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/cookie.c:1595,1
    - Dst: Curl_rename
      Src: /src/PROJ/curl/lib/cookie.c:1597,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1608,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/cookie.c:1613,1
    - Dst: unlink
      Src: /src/PROJ/curl/lib/cookie.c:1615,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1616,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - data
    - ci
    - filename
    argTypes:
    - struct Curl_easy*
    - struct CookieInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1523
    functionDepth: 7
    functionLinenumber: 1523
    functionLinenumberEnd: 1619
    functionName: cookie_output
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - qsort
    - fputs
    - free
    - Curl_rename
    - curl_mfprintf
    - Curl_fopen
    - strcmp
    - get_netscape_format
    - remove_expired
    - unlink
    - calloc
    - Curl_node_next
    - Curl_llist_head
    - curlx_fclose
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cookie_output(struct Curl_easy *data,\n                              struct
      CookieInfo *ci,\n                              const char *filename)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove_expired
      Src: /src/PROJ/curl/lib/cookie.c:1632,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/cookie.c:1635,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/cookie.c:1636,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/cookie.c:1637,1
    - Dst: get_netscape_format
      Src: /src/PROJ/curl/lib/cookie.c:1641,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/cookie.c:1643,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/lib/cookie.c:1646,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cookie.c:1648,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/cookie.c:1649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1621
    functionDepth: 7
    functionLinenumber: 1621
    functionLinenumberEnd: 1657
    functionName: cookie_list
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - free
    - get_netscape_format
    - remove_expired
    - curl_slist_free_all
    - Curl_node_next
    - Curl_llist_head
    - Curl_slist_append_nodup
    - Curl_node_elem
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *cookie_list(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/cookie.c:1662,1
    - Dst: cookie_list
      Src: /src/PROJ/curl/lib/cookie.c:1663,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/cookie.c:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1659
    functionDepth: 8
    functionLinenumber: 1659
    functionLinenumberEnd: 1666
    functionName: Curl_cookie_list
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - cookie_list
    - Curl_share_lock
    - Curl_share_unlock
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_cookie_list(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/cookie.c:1672,1
    - Dst: cookie_output
      Src: /src/PROJ/curl/lib/cookie.c:1679,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cookie.c:1681,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/cookie.c:1682,1
    - Dst: Curl_cookie_cleanup
      Src: /src/PROJ/curl/lib/cookie.c:1686,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/cookie.c:1689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - data
    - cleanup
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1668
    functionDepth: 8
    functionLinenumber: 1668
    functionLinenumberEnd: 1690
    functionName: Curl_flush_cookies
    functionSourceFile: /src/PROJ/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - infof
    - Curl_share_unlock
    - Curl_share_lock
    - cookie_output
    - curl_easy_strerror
    - Curl_cookie_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_flush_cookies(struct Curl_easy *data, bool cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/lib/hostip6.c:65,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/lib/hostip6.c:68,1
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/hostip6.c:71,1
    - Dst: curl_mprintf
      Src: /src/PROJ/curl/lib/hostip6.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: dump_addrinfo
    functionSourceFile: /src/PROJ/curl/lib/hostip6.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - Curl_printable_address
    linkageType: ''
    returnType: void
    signature: void dump_addrinfo(const struct Curl_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: dump_addrinfo
    functionSourceFile: /src/PROJ/curl/lib/hostip6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dump_addrinfo(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/hostip6.c:103,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/hostip6.c:107,1
    - Dst: Curl_conn_get_transport
      Src: /src/PROJ/curl/lib/hostip6.c:110,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip6.c:118,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/hostip6.c:119,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/hostip6.c:126,1
    - Dst: Curl_getaddrinfo_ex
      Src: /src/PROJ/curl/lib/hostip6.c:130,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/hostip6.c:132,1
    - Dst: Curl_addrinfo_set_port
      Src: /src/PROJ/curl/lib/hostip6.c:137,1
    - Dst: dump_addrinfo
      Src: /src/PROJ/curl/lib/hostip6.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 143
    functionName: Curl_sync_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/hostip6.c
    functionUses: 1
    functionsReached:
    - Curl_getaddrinfo_ex
    - infof
    - curlx_inet_pton
    - dump_addrinfo
    - Curl_addrinfo_set_port
    - curl_msnprintf
    - memset
    - Curl_ipv6works
    - Curl_conn_get_transport
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_sync_getaddrinfo(struct Curl_easy *data,\n
      \                                           const char *hostname,\n                                            int
      port,\n                                            int ip_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: SHORTPAIR
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHORTPAIR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: LONGQUARTET
    functionSourceFile: /src/PROJ/curl/lib/curl_ntlm_core.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGQUARTET(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_thread_stop
      Src: /src/PROJ/curl/lib/dllmain.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: DllMain
    functionSourceFile: /src/PROJ/curl/lib/dllmain.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: BOOL
    signature: BOOL DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/PROJ/curl/lib/setup-vms.h:91,1
    - Dst: decc$translate_vms
      Src: /src/PROJ/curl/lib/setup-vms.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: vms_translate_path
    functionSourceFile: /src/PROJ/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached:
    - strpbrk
    - decc$translate_vms
    linkageType: ''
    returnType: char
    signature: char *vms_translate_path(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __path
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: vms_translate_path
    functionSourceFile: /src/PROJ/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vms_translate_path(__path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decc$getenv
      Src: /src/PROJ/curl/lib/setup-vms.h:123,1
    - Dst: vms_translate_path
      Src: /src/PROJ/curl/lib/setup-vms.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - envvar
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: vms_getenv
    functionSourceFile: /src/PROJ/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached:
    - vms_translate_path
    - decc$getenv
    linkageType: ''
    returnType: char
    signature: char *vms_getenv(const char *envvar)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decc_getpwuid
      Src: /src/PROJ/curl/lib/setup-vms.h:158,1
    - Dst: vms_translate_path
      Src: /src/PROJ/curl/lib/setup-vms.h:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: vms_getpwuid
    functionSourceFile: /src/PROJ/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached:
    - decc_getpwuid
    - vms_translate_path
    linkageType: ''
    returnType: struct passwd
    signature: struct passwd *vms_getpwuid(uid_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - appname
    - flags
    argTypes:
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: CONF_modules_load_file
    functionSourceFile: /src/PROJ/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CONF_modules_load_file(const char *filename,\n                                       const
      char *appname,\n                                       unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-haproxy.c:55,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-haproxy.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_haproxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: cf_haproxy_ctx_reset
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_reset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cf_haproxy_ctx_reset(struct cf_haproxy_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cf-haproxy.c:63,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-haproxy.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_haproxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: cf_haproxy_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void cf_haproxy_ctx_free(struct cf_haproxy_ctx *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-haproxy.c:114,1
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/PROJ/curl/lib/cf-haproxy.c:120,1
    - Dst: cf_haproxy_date_out_set
      Src: /src/PROJ/curl/lib/cf-haproxy.c:126,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-haproxy.c:130,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cf-haproxy.c:132,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/cf-haproxy.c:135,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/cf-haproxy.c:136,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/cf-haproxy.c:144,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cf-haproxy.c:145,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-haproxy.c:151,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cf-haproxy.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 161
    functionName: cf_haproxy_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - Curl_conn_cf_send
    - curlx_dyn_ptr
    - FALLTHROUGH
    - cf_haproxy_date_out_set
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_len
    - struct Curl_cfilter*::next::cft::do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_haproxy_connect(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-haproxy.c:167,1
    - Dst: cf_haproxy_ctx_free
      Src: /src/PROJ/curl/lib/cf-haproxy.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: cf_haproxy_destroy
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_ctx_free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_haproxy_destroy(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-haproxy.c:174,1
    - Dst: cf_haproxy_ctx_reset
      Src: /src/PROJ/curl/lib/cf-haproxy.c:176,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/cf-haproxy.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: cf_haproxy_close
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_ctx_reset
    - struct Curl_cfilter*::next::cft::do_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_haproxy_close(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/cf-haproxy.c:188,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/cf-haproxy.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: cf_haproxy_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set_out_only
    - Curl_conn_cf_get_socket
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_haproxy_adjust_pollset(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-haproxy.c:220,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/cf-haproxy.c:226,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-haproxy.c:228,1
    - Dst: cf_haproxy_ctx_free
      Src: /src/PROJ/curl/lib/cf-haproxy.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pcf
    - data
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: cf_haproxy_create
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - cf_haproxy_ctx_free
    - Curl_cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_haproxy_create(struct Curl_cfilter **pcf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_haproxy_create
      Src: /src/PROJ/curl/lib/cf-haproxy.c:245,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/cf-haproxy.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: Curl_cf_haproxy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_haproxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                     struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Curl_macos_init
    functionSourceFile: /src/PROJ/curl/lib/macos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_macos_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-bset.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Curl_uint_bset_init
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_init(struct uint_bset *bset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-bset.c:50,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/uint-bset.c:52,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/uint-bset.c:57,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/uint-bset.c:58,1
    - Dst: free
      Src: /src/PROJ/curl/lib/uint-bset.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bset
    - nmax
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: Curl_uint_bset_resize
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 4
    functionsReached:
    - free
    - memcpy
    - CURLMIN
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_uint_bset_resize(struct uint_bset *bset, unsigned int
      nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/uint-bset.c:71,1
    - Dst: free
      Src: /src/PROJ/curl/lib/uint-bset.c:72,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-bset.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Curl_uint_bset_destroy
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 4
    functionsReached:
    - memset
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_destroy(struct uint_bset *bset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Curl_uint_bset_capacity
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST unsigned
    signature: UNITTEST unsigned Curl_uint_bset_capacity(struct uint_bset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_POPCOUNT64
      Src: /src/PROJ/curl/lib/uint-bset.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: Curl_uint_bset_count
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 2
    functionsReached:
    - CURL_POPCOUNT64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_bset_count(struct uint_bset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Curl_uint_bset_empty
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_empty(struct uint_bset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/uint-bset.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: Curl_uint_bset_clear
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_clear(struct uint_bset *bset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Curl_uint_bset_add
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_add(struct uint_bset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: Curl_uint_bset_remove
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_remove(struct uint_bset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: Curl_uint_bset_contains
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_contains(struct uint_bset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-bset.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bset
    - pfirst
    argTypes:
    - struct uint_bset*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: Curl_uint_bset_first
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 8
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_first(struct uint_bset *bset, unsigned int *pfirst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-bset.c:170,1
    - Dst: CURL_CTZ64
      Src: /src/PROJ/curl/lib/uint-bset.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - bset
    - last
    - pnext
    argTypes:
    - struct uint_bset*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: Curl_uint_bset_next
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 8
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_bset_next(struct uint_bset *bset, unsigned int last,\n
      \                        unsigned int *pnext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - curl_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: Curl_popcount64
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_popcount64(curl_uint64_t x)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - x
    argTypes:
    - curl_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 242
    functionName: Curl_ctz64
    functionSourceFile: /src/PROJ/curl/lib/uint-bset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_ctz64(curl_uint64_t x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-base.c:94,1
    - Dst: ares_getsock
      Src: /src/PROJ/curl/lib/asyn-base.c:98,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/asyn-base.c:99,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/asyn-base.c:100,1
    - Dst: ARES_GETSOCK_READABLE
      Src: /src/PROJ/curl/lib/asyn-base.c:102,1
    - Dst: ARES_GETSOCK_WRITABLE
      Src: /src/PROJ/curl/lib/asyn-base.c:104,1
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/asyn-base.c:108,1
    - Dst: ares_timeout
      Src: /src/PROJ/curl/lib/asyn-base.c:113,1
    - Dst: curlx_tvtoms
      Src: /src/PROJ/curl/lib/asyn-base.c:116,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/asyn-base.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - data
    - channel
    - ps
    argTypes:
    - struct Curl_easy*
    - ares_channel
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 7
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: Curl_ares_pollset
    functionSourceFile: /src/PROJ/curl/lib/asyn-base.c
    functionUses: 1
    functionsReached:
    - Curl_pollset_change
    - Curl_expire
    - ares_timeout
    - CURL_ARRAYSIZE
    - DEBUGASSERT
    - ares_getsock
    - ARES_GETSOCK_WRITABLE
    - ARES_GETSOCK_READABLE
    - curlx_tvtoms
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ares_pollset(struct Curl_easy *data,\n                           ares_channel
      channel,\n                           struct easy_pollset *ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ares_getsock
      Src: /src/PROJ/curl/lib/asyn-base.c:143,1
    - Dst: ARES_GETSOCK_READABLE
      Src: /src/PROJ/curl/lib/asyn-base.c:148,1
    - Dst: ARES_GETSOCK_WRITABLE
      Src: /src/PROJ/curl/lib/asyn-base.c:152,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/asyn-base.c:163,1
    - Dst: ares_process_fd
      Src: /src/PROJ/curl/lib/asyn-base.c:173,1
    - Dst: ares_process_fd
      Src: /src/PROJ/curl/lib/asyn-base.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - channel
    - timeout_ms
    argTypes:
    - ares_channel
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 184
    functionName: Curl_ares_perform
    functionSourceFile: /src/PROJ/curl/lib/asyn-base.c
    functionUses: 1
    functionsReached:
    - Curl_poll
    - ares_getsock
    - ARES_GETSOCK_WRITABLE
    - ares_process_fd
    - ARES_GETSOCK_READABLE
    linkageType: ''
    returnType: int
    signature: "int Curl_ares_perform(ares_channel channel,\n                      timediff_t
      timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_ares_shutdown
      Src: /src/PROJ/curl/lib/asyn-base.c:197,1
    - Dst: Curl_async_thrdd_shutdown
      Src: /src/PROJ/curl/lib/asyn-base.c:200,1
    - Dst: Curl_doh_cleanup
      Src: /src/PROJ/curl/lib/asyn-base.c:203,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/asyn-base.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 7
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: Curl_async_shutdown
    functionSourceFile: /src/PROJ/curl/lib/asyn-base.c
    functionUses: 3
    functionsReached:
    - Curl_async_thrdd_shutdown
    - Curl_async_ares_shutdown
    - Curl_safefree
    - Curl_doh_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_async_shutdown(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_ares_destroy
      Src: /src/PROJ/curl/lib/asyn-base.c:211,1
    - Dst: Curl_async_thrdd_destroy
      Src: /src/PROJ/curl/lib/asyn-base.c:214,1
    - Dst: Curl_doh_cleanup
      Src: /src/PROJ/curl/lib/asyn-base.c:217,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/asyn-base.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: Curl_async_destroy
    functionSourceFile: /src/PROJ/curl/lib/asyn-base.c
    functionUses: 1
    functionsReached:
    - Curl_async_thrdd_destroy
    - Curl_async_ares_destroy
    - Curl_safefree
    - Curl_doh_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_async_destroy(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: GOOD_SHARE_HANDLE
    functionSourceFile: /src/PROJ/curl/lib/share.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_SHARE_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: CURL_SHARE_KEEP_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/share.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SHARE_KEEP_CONNECT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CURL_SHARE_ssl_scache
    functionSourceFile: /src/PROJ/curl/lib/share.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SHARE_ssl_scache(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - line
    - ','
    - wordlen
    - ','
    - mech
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sasl_mech_equal
    functionSourceFile: /src/PROJ/curl/lib/curl_sasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sasl_mech_equal(line, wordlen, mech)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: Curl_mime_duppart
    functionSourceFile: /src/PROJ/curl/lib/mime.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mime_duppart(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: Curl_mime_set_subparts
    functionSourceFile: /src/PROJ/curl/lib/mime.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mime_set_subparts(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: Curl_mime_prepare_headers
    functionSourceFile: /src/PROJ/curl/lib/mime.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mime_prepare_headers(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: Curl_creader_set_mime
    functionSourceFile: /src/PROJ/curl/lib/mime.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_creader_set_mime(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strequal.c:40,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strequal.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: casecompare
    functionSourceFile: /src/PROJ/curl/lib/strequal.c
    functionUses: 9
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: int
    signature: int casecompare(const char *first, const char *second)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strequal.c:56,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strequal.c:56,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strequal.c:65,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/strequal.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - first
    - second
    - max
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: ncasecompare
    functionSourceFile: /src/PROJ/curl/lib/strequal.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: int
    signature: int ncasecompare(const char *first, const char *second, size_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: casecompare
      Src: /src/PROJ/curl/lib/strequal.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: curl_strequal
    functionSourceFile: /src/PROJ/curl/lib/strequal.c
    functionUses: 43
    functionsReached:
    - casecompare
    linkageType: ''
    returnType: int
    signature: int curl_strequal(const char *first, const char *second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ncasecompare
      Src: /src/PROJ/curl/lib/strequal.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - first
    - second
    - max
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: curl_strnequal
    functionSourceFile: /src/PROJ/curl/lib/strequal.c
    functionUses: 43
    functionsReached:
    - ncasecompare
    linkageType: ''
    returnType: int
    signature: int curl_strnequal(const char *first, const char *second, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: STATUSCODE
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUSCODE(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: LASTLINE
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LASTLINE(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ftp_pasv_verbose
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftp_pasv_verbose(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: FTP_CSTATE
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTP_CSTATE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ftpc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: FTP_CSTATE
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTP_CSTATE(ftpc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:160,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:160,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:163,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - ftpc
    - newstate
    - lineno
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - ftpstate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: ftp_state_low
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_FTP
    - FTP_CSTATE
    linkageType: ''
    returnType: void
    signature: "void ftp_state_low(struct Curl_easy *data,\n                          struct
      ftp_conn *ftpc,\n                          ftpstate newstate\n#ifdef DEBUGBUILD\n
      \                         , int lineno\n#endif\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: ftp_state
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftp_state(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: ftp_state
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftp_state(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:314,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:314,1
    - Dst: Curl_conn_close
      Src: /src/PROJ/curl/lib/ftp.c:315,1
    - Dst: Curl_conn_cf_discard_all
      Src: /src/PROJ/curl/lib/ftp.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: close_secondarysocket
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_FTP
    - Curl_conn_cf_discard_all
    - Curl_conn_close
    - FTP_CSTATE
    linkageType: ''
    returnType: void
    signature: "void close_secondarysocket(struct Curl_easy *data,\n                                  struct
      ftp_conn *ftpc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:333,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ftpc
    argTypes:
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: freedirs
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void freedirs(struct ftp_conn *ftpc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:357,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ftp.c:363,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ftp.c:377,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/ftp.c:386,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ftp.c:393,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:406,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ftp.c:407,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ftp.c:413,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/ftp.c:416,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 419
    functionName: ftp_cw_lc_write
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - DEBUGASSERT
    - Curl_cwriter_write
    - memchr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_cw_lc_write(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer, int type,\n                                const char
      *buf, size_t blen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:451,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:452,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftp.c:453,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:455,1
    - Dst: getftpresponse
      Src: /src/PROJ/curl/lib/ftp.c:456,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/ftp.c:465,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:471,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:481,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:483,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:484,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:486,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:486,1
    - Dst: LASTLINE
      Src: /src/PROJ/curl/lib/ftp.c:491,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:493,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:498,1
    - Dst: getftpresponse
      Src: /src/PROJ/curl/lib/ftp.c:504,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:506,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 515
    functionName: ftp_check_ctrl_on_data_wait
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - infof
    - curlx_dyn_ptr
    - failf
    - getftpresponse
    - curlx_str_number
    - Curl_socket_check
    - LASTLINE
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_check_ctrl_on_data_wait(struct Curl_easy *data,\n                                            struct
      ftp_conn *ftpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:531,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:532,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/ftp.c:539,1
    - Dst: Curl_sndbuf_init
      Src: /src/PROJ/curl/lib/ftp.c:542,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/ftp.c:546,1
    - Dst: Curl_xfer_set_shutdown
      Src: /src/PROJ/curl/lib/ftp.c:547,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/ftp.c:551,1
    - Dst: Curl_xfer_set_shutdown
      Src: /src/PROJ/curl/lib/ftp.c:552,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 559
    functionName: ftp_initiate_transfer
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_FTP
    - Curl_xfer_set_shutdown
    - Curl_xfer_setup_recv
    - Curl_conn_connect
    - Curl_xfer_setup_send
    - Curl_sndbuf_init
    - Curl_pgrsSetUploadSize
    - ftp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_initiate_transfer(struct Curl_easy *data,\n                                      struct
      ftp_conn *ftpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LASTLINE
      Src: /src/PROJ/curl/lib/ftp.c:568,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - code
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 574
    functionName: ftp_endofresp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - LASTLINE
    - curlx_str_number
    linkageType: ''
    returnType: bool
    signature: "bool ftp_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                         const char *line, size_t len, int *code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_readresp
      Src: /src/PROJ/curl/lib/ftp.c:584,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:585,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:601,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - data
    - ftpc
    - sockindex
    - pp
    - ftpcodep
    - size
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    - struct pingpong*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 607
    functionName: ftp_readresp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_readresp
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_readresp(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             int sockindex,\n                             struct
      pingpong *pp,\n                             int *ftpcodep, /* return the ftp-code
      if done */\n                             size_t *size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:631,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:635,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:637,1
    - Dst: Curl_pp_state_timeout
      Src: /src/PROJ/curl/lib/ftp.c:646,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:650,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:672,1
    - Dst: Curl_conn_data_pending
      Src: /src/PROJ/curl/lib/ftp.c:680,1
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/ftp.c:681,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/ftp.c:683,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:685,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/ftp.c:690,1
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/ftp.c:696,1
    - Dst: Curl_pp_flushsend
      Src: /src/PROJ/curl/lib/ftp.c:697,1
    - Dst: ftp_readresp
      Src: /src/PROJ/curl/lib/ftp.c:702,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:706,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:720,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - data
    - nreadp
    - ftpcodep
    argTypes:
    - struct Curl_easy*
    - ssize_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 724
    functionName: getftpresponse
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - Curl_conn_data_pending
    - CURL_TRC_FTP
    - failf
    - Curl_pp_flushsend
    - Curl_pgrsUpdate
    - ftp_readresp
    - Curl_socket_check
    - Curl_pp_state_timeout
    - Curl_conn_meta_get
    - Curl_pp_needs_flush
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getftpresponse(struct Curl_easy *data,\n                               ssize_t
      *nreadp, /* return number of bytes\n                                                   read
      */\n                               int *ftpcodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:730,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - ftpc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 737
    functionName: ftp_state_user
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_user(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/ftp.c:744,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:747,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 752
    functionName: ftp_state_pwd
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - getenv
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_pwd(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:758,1
    - Dst: Curl_pp_pollset
      Src: /src/PROJ/curl/lib/ftp.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 760
    functionName: ftp_pollset
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pollset(struct Curl_easy *data,\n                            struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:766,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:775,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:775,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:780,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/ftp.c:782,1
    - Dst: Curl_pollset_add_in
      Src: /src/PROJ/curl/lib/ftp.c:785,1
    - Dst: Curl_pp_pollset
      Src: /src/PROJ/curl/lib/ftp.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 788
    functionName: ftp_domore_pollset
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    - CURL_TRC_FTP
    - Curl_conn_is_connected
    - Curl_conn_meta_get
    - DEBUGASSERT
    - Curl_pp_pollset
    - FTP_CSTATE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_domore_pollset(struct Curl_easy *data,\n                                   struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:792,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ftpc
    - num
    argTypes:
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: pathlen
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int pathlen(struct ftp_conn *ftpc, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:799,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ftpc
    - num
    argTypes:
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 802
    functionName: pathpiece
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *pathpiece(struct ftp_conn *ftpc, int num)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_mdtm
      Src: /src/PROJ/curl/lib/ftp.c:818,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:821,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:834,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:836,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:843,1
    - Dst: pathlen
      Src: /src/PROJ/curl/lib/ftp.c:844,1
    - Dst: pathpiece
      Src: /src/PROJ/curl/lib/ftp.c:844,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:846,1
    - Dst: ftp_state_mdtm
      Src: /src/PROJ/curl/lib/ftp.c:850,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 855
    functionName: ftp_state_cwd
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - pathpiece
    - DEBUGASSERT
    - pathlen
    - ftp_state
    - ftp_state_mdtm
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_cwd(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc,\n                              struct FTP *ftp)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:901,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftp.c:908,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftp.c:921,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/ftp.c:927,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:936,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftp.c:941,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:946,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/ftp.c:949,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:951,1
    - Dst: Curl_conn_get_remote_addr
      Src: /src/PROJ/curl/lib/ftp.c:972,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:974,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:977,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/ftp.c:980,1
    - Dst: Curl_if2ip
      Src: /src/PROJ/curl/lib/ftp.c:984,1
    - Dst: Curl_ipv6_scope
      Src: /src/PROJ/curl/lib/ftp.c:986,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/ftp.c:1011,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1012,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1013,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/ftp.c:1019,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/ftp.c:1023,1
    - Dst: Curl_resolv_blocking
      Src: /src/PROJ/curl/lib/ftp.c:1035,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:1037,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1042,1
    - Dst: Curl_socket_open
      Src: /src/PROJ/curl/lib/ftp.c:1051,1
    - Dst: Curl_conn_get_transport
      Src: /src/PROJ/curl/lib/ftp.c:1052,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1059,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1060,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:1063,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:1064,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/ftp.c:1068,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/ftp.c:1073,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/ftp.c:1076,1
    - Dst: bind
      Src: /src/PROJ/curl/lib/ftp.c:1079,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:1086,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1087,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/ftp.c:1090,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1091,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1092,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1100,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1101,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1112,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/ftp.c:1122,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1123,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1124,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:1127,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:1128,1
    - Dst: listen
      Src: /src/PROJ/curl/lib/ftp.c:1132,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1133,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1134,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:1137,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:1138,1
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/ftp.c:1144,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/ftp.c:1165,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/ftp.c:1169,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1185,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1189,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1190,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/ftp.c:1211,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1213,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1215,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/ftp.c:1216,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1225,1
    - Dst: Curl_conn_tcp_listen_set
      Src: /src/PROJ/curl/lib/ftp.c:1228,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/ftp.c:1235,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1237,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/ftp.c:1242,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/PROJ/curl/lib/ftp.c:1243,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/ftp.c:1246,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/ftp.c:1247,1
    - Dst: Curl_socket_close
      Src: /src/PROJ/curl/lib/ftp.c:1252,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 225
    argCount: 3
    argNames:
    - data
    - ftpc
    - fcmd
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - ftpport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 863
    functionDepth: 7
    functionLinenumber: 863
    functionLinenumberEnd: 1254
    functionName: ftp_state_use_port
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_if2ip
    - failf
    - curlx_strerror
    - Curl_resolv_blocking
    - Curl_ssl_cfilter_add
    - Curl_pgrsTime
    - Curl_printable_address
    - Curl_pp_sendf
    - infof
    - memcpy
    - Curl_conn_is_ssl
    - Curl_socket_close
    - curl_easy_strerror
    - strlen
    - Curl_conn_get_transport
    - bind
    - FTP_CSTATE
    - CURL_TRC_FTP
    - Curl_conn_get_remote_addr
    - DEBUGASSERT
    - htons
    - Curl_resolv_unlink
    - curlx_inet_ntop
    - Curl_socket_open
    - curlx_inet_pton
    - curlx_str_single
    - Curl_ipv6_scope
    - Curl_expire
    - strchr
    - curl_msnprintf
    - curlx_str_number
    - getsockname
    - listen
    - Curl_conn_tcp_listen_set
    - ftp_state
    - ntohs
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_use_port(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   ftpport fcmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1287,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1290,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - ftpc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1294
    functionName: ftp_state_use_pasv
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - infof
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_use_pasv(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   struct connectdata *conn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1314,1
    - Dst: ftp_state_quote
      Src: /src/PROJ/curl/lib/ftp.c:1315,1
    - Dst: ftp_state_use_port
      Src: /src/PROJ/curl/lib/ftp.c:1319,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1327,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1332,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1334,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1336,1
    - Dst: ftp_state_use_pasv
      Src: /src/PROJ/curl/lib/ftp.c:1339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1303
    functionDepth: 8
    functionLinenumber: 1303
    functionLinenumberEnd: 1342
    functionName: ftp_state_prepare_transfer
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_use_port
    - ftp_state_quote
    - ftp_state_use_pasv
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_prepare_transfer(struct Curl_easy *data,\n                                           struct
      ftp_conn *ftpc,\n                                           struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1355,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1357,1
    - Dst: ftp_state_prepare_transfer
      Src: /src/PROJ/curl/lib/ftp.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1344
    functionDepth: 9
    functionLinenumber: 1344
    functionLinenumberEnd: 1363
    functionName: ftp_state_rest
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - ftp_state_prepare_transfer
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_rest(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1375,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1377,1
    - Dst: ftp_state_rest
      Src: /src/PROJ/curl/lib/ftp.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1365
    functionDepth: 10
    functionLinenumber: 1365
    functionLinenumberEnd: 1383
    functionName: ftp_state_size
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - ftp_state_rest
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_size(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/ftp.c:1411,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/ftp.c:1424,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1434,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:1435,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1385
    functionDepth: 6
    functionLinenumber: 1385
    functionLinenumberEnd: 1441
    functionName: ftp_state_list
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - free
    - curl_maprintf
    - strrchr
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_list(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_quote
      Src: /src/PROJ/curl/lib/ftp.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1449
    functionName: ftp_state_list_prequote
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_quote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_list_prequote(struct Curl_easy *data,\n                                        struct
      ftp_conn *ftpc,\n                                        struct FTP *ftp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_quote
      Src: /src/PROJ/curl/lib/ftp.c:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1457
    functionName: ftp_state_retr_prequote
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_quote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_retr_prequote(struct Curl_easy *data,\n                                        struct
      ftp_conn *ftpc,\n                                        struct FTP *ftp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_quote
      Src: /src/PROJ/curl/lib/ftp.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1465
    functionName: ftp_state_stor_prequote
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_quote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_stor_prequote(struct Curl_easy *data,\n                                        struct
      ftp_conn *ftpc,\n                                        struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftp_need_type
      Src: /src/PROJ/curl/lib/ftp.c:1477,1
    - Dst: ftp_nb_type
      Src: /src/PROJ/curl/lib/ftp.c:1487,1
    - Dst: ftp_state_size
      Src: /src/PROJ/curl/lib/ftp.c:1492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1467
    functionDepth: 11
    functionLinenumber: 1467
    functionLinenumberEnd: 1495
    functionName: ftp_state_type
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_nb_type
    - ftp_state_size
    - ftp_need_type
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_type(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1510,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1513,1
    - Dst: ftp_state_type
      Src: /src/PROJ/curl/lib/ftp.c:1516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1499
    functionDepth: 12
    functionLinenumber: 1499
    functionLinenumberEnd: 1519
    functionName: ftp_state_mdtm
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_state
    - ftp_state_type
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_mdtm(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1549,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1551,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:1560,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/PROJ/curl/lib/ftp.c:1561,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:1563,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1569,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/ftp.c:1578,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/PROJ/curl/lib/ftp.c:1581,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1588,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:1598,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/ftp.c:1601,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1607,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1614,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1617,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - sizechecked
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1523
    functionDepth: 3
    functionLinenumber: 1523
    functionLinenumberEnd: 1620
    functionName: ftp_state_ul_setup
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_set_in_callback
    - failf
    - curlx_sotouz
    - struct Curl_easy*::set::seek_func
    - Curl_xfer_setup_nop
    - struct Curl_easy*::state::fread_func
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_ul_setup(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   struct FTP *ftp,\n                                   bool
      sizechecked)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1675,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1678,1
    - Dst: ftp_state_cwd
      Src: /src/PROJ/curl/lib/ftp.c:1688,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1692,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/ftp.c:1695,1
    - Dst: ftp_state_retr
      Src: /src/PROJ/curl/lib/ftp.c:1696,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1712,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1714,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1717,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1719,1
    - Dst: ftp_state_ul_setup
      Src: /src/PROJ/curl/lib/ftp.c:1725,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1730,1
    - Dst: ftp_state_list
      Src: /src/PROJ/curl/lib/ftp.c:1731,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - init
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1622
    functionDepth: 7
    functionLinenumber: 1622
    functionLinenumberEnd: 1737
    functionName: ftp_state_quote
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 4
    functionsReached:
    - ftp_state_ul_setup
    - ftp_state_list
    - ftp_state_cwd
    - Curl_pp_sendf
    - ftp_state
    - ftp_state_retr
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_quote(struct Curl_easy *data,\n                                struct
      ftp_conn *ftpc,\n                                struct FTP *ftp,\n                                bool
      init,\n                                ftpstate instate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1753,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:1757,1
    - Dst: close_secondarysocket
      Src: /src/PROJ/curl/lib/ftp.c:1760,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:1763,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - data
    - ftpc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1741
    functionDepth: 3
    functionLinenumber: 1741
    functionLinenumberEnd: 1770
    functionName: ftp_epsv_disable
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - close_secondarysocket
    - infof
    - failf
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_epsv_disable(struct Curl_easy *data,\n                                 struct
      ftp_conn *ftpc,\n                                 struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:1786,1
    - Dst: Curl_conn_get_ip_info
      Src: /src/PROJ/curl/lib/ftp.c:1789,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:1791,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - newhostp
    argTypes:
    - struct Curl_easy*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1773
    functionDepth: 2
    functionLinenumber: 1773
    functionLinenumberEnd: 1799
    functionName: ftp_control_addr_dup
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_conn_get_ip_info
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_control_addr_dup(struct Curl_easy *data,\n                                     char
      **newhostp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p
    - array
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1817
    functionName: match_pasv_6nums
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    linkageType: ''
    returnType: bool
    signature: "bool match_pasv_6nums(const char *p,\n                             unsigned
      int *array)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:1831,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftp.c:1836,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftp.c:1842,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:1845,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1846,1
    - Dst: ftp_control_addr_dup
      Src: /src/PROJ/curl/lib/ftp.c:1850,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1858,1
    - Dst: match_pasv_6nums
      Src: /src/PROJ/curl/lib/ftp.c:1877,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1883,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:1891,1
    - Dst: ftp_control_addr_dup
      Src: /src/PROJ/curl/lib/ftp.c:1894,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/ftp.c:1899,1
    - Dst: ftp_epsv_disable
      Src: /src/PROJ/curl/lib/ftp.c:1908,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1911,1
    - Dst: Curl_conn_get_ip_info
      Src: /src/PROJ/curl/lib/ftp.c:1925,1
    - Dst: Curl_resolv_blocking
      Src: /src/PROJ/curl/lib/ftp.c:1930,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1937,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftp.c:1946,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:1950,1
    - Dst: ftp_control_addr_dup
      Src: /src/PROJ/curl/lib/ftp.c:1951,1
    - Dst: Curl_resolv_blocking
      Src: /src/PROJ/curl/lib/ftp.c:1956,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:1960,1
    - Dst: Curl_conn_setup
      Src: /src/PROJ/curl/lib/ftp.c:1966,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:1972,1
    - Dst: ftp_epsv_disable
      Src: /src/PROJ/curl/lib/ftp.c:1973,1
    - Dst: ftp_pasv_verbose
      Src: /src/PROJ/curl/lib/ftp.c:1988,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:1990,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:1992,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:1999,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2002,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1819
    functionDepth: 6
    functionLinenumber: 1819
    functionLinenumberEnd: 2004
    functionName: ftp_state_pasv_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - infof
    - curlx_dyn_ptr
    - free
    - failf
    - curl_maprintf
    - match_pasv_6nums
    - strchr
    - ftp_epsv_disable
    - ftp_pasv_verbose
    - curlx_str_number
    - Curl_resolv_blocking
    - Curl_conn_setup
    - ftp_control_addr_dup
    - DEBUGASSERT
    - ftp_state
    - Curl_conn_get_ip_info
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_pasv_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2021,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2027,1
    - Dst: ftp_state_use_port
      Src: /src/PROJ/curl/lib/ftp.c:2032,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2035,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2036,1
    - Dst: ftp_dophase_done
      Src: /src/PROJ/curl/lib/ftp.c:2037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2006
    functionDepth: 8
    functionLinenumber: 2006
    functionLinenumberEnd: 2041
    functionName: ftp_state_port_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - ftp_state_use_port
    - failf
    - ftp_dophase_done
    - ftp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_port_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2046
    functionName: twodigit
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int twodigit(const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:2051,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2054,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2054,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2055,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2056,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2057,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2058,1
    - Dst: twodigit
      Src: /src/PROJ/curl/lib/ftp.c:2059,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 7
    argNames:
    - p
    - year
    - month
    - day
    - hour
    - minute
    - second
    argTypes:
    - char*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2048
    functionDepth: 1
    functionLinenumber: 2048
    functionLinenumberEnd: 2065
    functionName: ftp_213_date
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - twodigit
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool ftp_213_date(const char *p, int *year, int *month, int *day,\n
      \                        int *hour, int *minute, int *second)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/ftp.c:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2067
    functionDepth: 2
    functionLinenumber: 2067
    functionLinenumberEnd: 2090
    functionName: client_write_header
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_write_header(struct Curl_easy *data,\n                                    char
      *buf, size_t blen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:2106,1
    - Dst: ftp_213_date
      Src: /src/PROJ/curl/lib/ftp.c:2108,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/ftp.c:2111,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/ftp.c:2115,1
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/ftp.c:2140,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/ftp.c:2146,1
    - Dst: client_write_header
      Src: /src/PROJ/curl/lib/ftp.c:2156,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2164,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2169,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2180,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2183,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2189,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2192,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2199,1
    - Dst: ftp_state_type
      Src: /src/PROJ/curl/lib/ftp.c:2204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2092
    functionDepth: 12
    functionLinenumber: 2092
    functionLinenumberEnd: 2207
    functionName: ftp_state_mdtm_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_ptr
    - ftp_213_date
    - ftp_state
    - curl_msnprintf
    - Curl_getdate_capped
    - ftp_state_type
    - Curl_gmtime
    - client_write_header
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_mdtm_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2221,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2225,1
    - Dst: ftp_state_size
      Src: /src/PROJ/curl/lib/ftp.c:2229,1
    - Dst: ftp_state_list
      Src: /src/PROJ/curl/lib/ftp.c:2231,1
    - Dst: ftp_state_retr_prequote
      Src: /src/PROJ/curl/lib/ftp.c:2233,1
    - Dst: ftp_state_stor_prequote
      Src: /src/PROJ/curl/lib/ftp.c:2235,1
    - Dst: ftp_state_list_prequote
      Src: /src/PROJ/curl/lib/ftp.c:2237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2209
    functionDepth: 11
    functionLinenumber: 2209
    functionLinenumberEnd: 2240
    functionName: ftp_state_type_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_list_prequote
    - infof
    - failf
    - ftp_state_retr_prequote
    - ftp_state_list
    - ftp_state_size
    - ftp_state_stor_prequote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_type_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode,\n                                    ftpstate instate)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:2249,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:2249,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2251,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2260,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2272,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2284,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/ftp.c:2296,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2297,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2302,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2307,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2310,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2313,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2317,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - filesize
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2242
    functionDepth: 3
    functionLinenumber: 2242
    functionLinenumberEnd: 2323
    functionName: ftp_state_retr
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - infof
    - CURL_TRC_FTP
    - failf
    - Curl_xfer_setup_nop
    - ftp_state
    - FTP_CSTATE
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_retr(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp,\n                               curl_off_t
      filesize)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:2333,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/ftp.c:2342,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftp.c:2347,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:2352,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2359,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/ftp.c:2368,1
    - Dst: client_write_header
      Src: /src/PROJ/curl/lib/ftp.c:2371,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/ftp.c:2376,1
    - Dst: ftp_state_rest
      Src: /src/PROJ/curl/lib/ftp.c:2377,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/ftp.c:2380,1
    - Dst: ftp_state_retr
      Src: /src/PROJ/curl/lib/ftp.c:2381,1
    - Dst: ftp_state_ul_setup
      Src: /src/PROJ/curl/lib/ftp.c:2385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2325
    functionDepth: 10
    functionLinenumber: 2325
    functionLinenumberEnd: 2389
    functionName: ftp_state_size_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_dyn_ptr
    - failf
    - ftp_state_ul_setup
    - curl_msnprintf
    - curlx_str_number
    - memchr
    - client_write_header
    - ftp_state_retr
    - ftp_state_rest
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_size_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode,\n                                    ftpstate instate)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: client_write_header
      Src: /src/PROJ/curl/lib/ftp.c:2405,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:2405,1
    - Dst: ftp_state_prepare_transfer
      Src: /src/PROJ/curl/lib/ftp.c:2410,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2415,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2419,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2391
    functionDepth: 9
    functionLinenumber: 2391
    functionLinenumberEnd: 2427
    functionName: ftp_state_rest_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_prepare_transfer
    - failf
    - ftp_state
    - strlen
    - client_write_header
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_rest_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode,\n                                    ftpstate instate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2436,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2437,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2445,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:2447,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2452,1
    - Dst: ftp_check_ctrl_on_data_wait
      Src: /src/PROJ/curl/lib/ftp.c:2454,1
    - Dst: ftp_initiate_transfer
      Src: /src/PROJ/curl/lib/ftp.c:2458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2429
    functionDepth: 4
    functionLinenumber: 2429
    functionLinenumberEnd: 2459
    functionName: ftp_state_stor_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - Curl_conn_connect
    - ftp_initiate_transfer
    - ftp_state
    - ftp_check_ctrl_on_data_wait
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_stor_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:2512,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:2517,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftp.c:2519,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/ftp.c:2520,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/ftp.c:2521,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2537,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2540,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:2545,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2550,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2551,1
    - Dst: ftp_check_ctrl_on_data_wait
      Src: /src/PROJ/curl/lib/ftp.c:2553,1
    - Dst: ftp_initiate_transfer
      Src: /src/PROJ/curl/lib/ftp.c:2557,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2563,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2566,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2462
    functionDepth: 4
    functionLinenumber: 2462
    functionLinenumberEnd: 2574
    functionName: ftp_state_get_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - strncmp
    - curlx_dyn_ptr
    - infof
    - curlx_str_single
    - failf
    - Curl_conn_connect
    - curlx_str_number
    - ftp_initiate_transfer
    - curlx_dyn_len
    - ftp_state
    - ftp_check_ctrl_on_data_wait
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_get_resp(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   struct FTP *ftp,\n                                   int
      ftpcode,\n                                   ftpstate instate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2597,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2599,1
    - Dst: ftp_state_pwd
      Src: /src/PROJ/curl/lib/ftp.c:2602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2577
    functionDepth: 4
    functionLinenumber: 2577
    functionLinenumberEnd: 2605
    functionName: ftp_state_loggedin
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_pwd
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_loggedin(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2618,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2621,1
    - Dst: ftp_state_loggedin
      Src: /src/PROJ/curl/lib/ftp.c:2626,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2630,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2633,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2636,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2650,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2654,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2658,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2608
    functionDepth: 5
    functionLinenumber: 2608
    functionLinenumberEnd: 2663
    functionName: ftp_state_user_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - failf
    - ftp_state_loggedin
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_user_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2672,1
    - Dst: ftp_state_loggedin
      Src: /src/PROJ/curl/lib/ftp.c:2676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2666
    functionDepth: 5
    functionLinenumber: 2666
    functionLinenumberEnd: 2679
    functionName: ftp_state_acct_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - failf
    - ftp_state_loggedin
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_acct_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:2689,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/ftp.c:2693,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/ftp.c:2714,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftp.c:2719,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/ftp.c:2725,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:2742,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2745,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2747,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2750,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2752,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2754,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:2755,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2758,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2762,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2764,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2766,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:2767,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/ftp.c:2773,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:2774,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2777,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:2778,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:2778,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2681
    functionDepth: 3
    functionLinenumber: 2681
    functionLinenumberEnd: 2780
    functionName: ftp_pwd_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - free
    - infof
    - CURL_TRC_FTP
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_len
    - ftp_state
    - strdup
    - FTP_CSTATE
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pwd_resp(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             int ftpcode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_user_resp
      Src: /src/PROJ/curl/lib/ftp.c:2794,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2797,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2818,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2822,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2825,1
    - Dst: ftp_state_user
      Src: /src/PROJ/curl/lib/ftp.c:2828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - data
    - conn
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2784
    functionDepth: 6
    functionLinenumber: 2784
    functionLinenumberEnd: 2830
    functionName: ftp_wait_resp
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_user
    - failf
    - ftp_state_user_resp
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_wait_resp(struct Curl_easy *data,\n                              struct
      connectdata *conn,\n                              struct ftp_conn *ftpc,\n                              int
      ftpcode)"
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:2837,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:2838,1
    - Dst: Curl_pp_flushsend
      Src: /src/PROJ/curl/lib/ftp.c:2846,1
    - Dst: ftp_readresp
      Src: /src/PROJ/curl/lib/ftp.c:2848,1
    - Dst: ftp_wait_resp
      Src: /src/PROJ/curl/lib/ftp.c:2855,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/ftp.c:2874,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/PROJ/curl/lib/ftp.c:2875,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:2881,1
    - Dst: ftp_state_user
      Src: /src/PROJ/curl/lib/ftp.c:2885,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2891,1
    - Dst: ftp_state_user
      Src: /src/PROJ/curl/lib/ftp.c:2901,1
    - Dst: ftp_state_user_resp
      Src: /src/PROJ/curl/lib/ftp.c:2907,1
    - Dst: ftp_state_acct_resp
      Src: /src/PROJ/curl/lib/ftp.c:2911,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2916,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2919,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2936,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2938,1
    - Dst: ftp_state_pwd
      Src: /src/PROJ/curl/lib/ftp.c:2941,1
    - Dst: Curl_ssl_cfilter_remove
      Src: /src/PROJ/curl/lib/ftp.c:2952,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:2956,1
    - Dst: ftp_state_pwd
      Src: /src/PROJ/curl/lib/ftp.c:2960,1
    - Dst: ftp_pwd_resp
      Src: /src/PROJ/curl/lib/ftp.c:2964,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftp.c:2969,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/ftp.c:2981,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/ftp.c:2986,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:2988,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2990,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:2994,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:2996,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:3001,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3008,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3009,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3009,1
    - Dst: ftp_state_pwd
      Src: /src/PROJ/curl/lib/ftp.c:3015,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3019,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3020,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3020,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3030,1
    - Dst: ftp_state_quote
      Src: /src/PROJ/curl/lib/ftp.c:3034,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:3050,1
    - Dst: pathlen
      Src: /src/PROJ/curl/lib/ftp.c:3051,1
    - Dst: pathpiece
      Src: /src/PROJ/curl/lib/ftp.c:3052,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3054,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3058,1
    - Dst: ftp_state_mdtm
      Src: /src/PROJ/curl/lib/ftp.c:3068,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:3072,1
    - Dst: pathlen
      Src: /src/PROJ/curl/lib/ftp.c:3073,1
    - Dst: pathpiece
      Src: /src/PROJ/curl/lib/ftp.c:3074,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3082,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3086,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:3088,1
    - Dst: pathlen
      Src: /src/PROJ/curl/lib/ftp.c:3089,1
    - Dst: pathpiece
      Src: /src/PROJ/curl/lib/ftp.c:3090,1
    - Dst: ftp_state_mdtm_resp
      Src: /src/PROJ/curl/lib/ftp.c:3095,1
    - Dst: ftp_state_type_resp
      Src: /src/PROJ/curl/lib/ftp.c:3103,1
    - Dst: ftp_state_size_resp
      Src: /src/PROJ/curl/lib/ftp.c:3109,1
    - Dst: ftp_state_rest_resp
      Src: /src/PROJ/curl/lib/ftp.c:3114,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3120,1
    - Dst: ftp_state_use_pasv
      Src: /src/PROJ/curl/lib/ftp.c:3123,1
    - Dst: ftp_state_pasv_resp
      Src: /src/PROJ/curl/lib/ftp.c:3127,1
    - Dst: ftp_state_port_resp
      Src: /src/PROJ/curl/lib/ftp.c:3131,1
    - Dst: ftp_state_get_resp
      Src: /src/PROJ/curl/lib/ftp.c:3136,1
    - Dst: ftp_state_stor_resp
      Src: /src/PROJ/curl/lib/ftp.c:3140,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3146,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 198
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 2832
    functionDepth: 13
    functionLinenumber: 2832
    functionLinenumberEnd: 3151
    functionName: ftp_pp_statemachine
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_user
    - failf
    - Curl_conn_meta_get
    - pathlen
    - ftp_state_acct_resp
    - Curl_ssl_cfilter_add
    - ftp_state_rest_resp
    - ftp_state_mdtm
    - ftp_state_port_resp
    - Curl_pp_sendf
    - ftp_state_pasv_resp
    - curlx_dyn_ptr
    - Curl_conn_is_ssl
    - Curl_ssl_cfilter_remove
    - ftp_state_get_resp
    - FTP_CSTATE
    - CURL_TRC_FTP
    - ftp_state_quote
    - ftp_state_use_pasv
    - Curl_memdup0
    - ftp_state_pwd
    - curl_strequal
    - free
    - Curl_pp_flushsend
    - pathpiece
    - ftp_readresp
    - Curl_conn_connect
    - Curl_meta_get
    - ftp_pwd_resp
    - ftp_state_type_resp
    - ftp_state_size_resp
    - ftp_state_user_resp
    - ftp_wait_resp
    - ftp_state_mdtm_resp
    - ftp_state
    - ftp_state_stor_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pp_statemachine(struct Curl_easy *data,\n                                    struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - ftpc
    - done
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3155
    functionDepth: 3
    functionLinenumber: 3155
    functionLinenumberEnd: 3167
    functionName: ftp_statemach
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_statemach(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc,\n                              bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:3173,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3170
    functionDepth: 4
    functionLinenumber: 3170
    functionLinenumberEnd: 3175
    functionName: ftp_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 2
    functionsReached:
    - Curl_conn_meta_get
    - ftp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_multi_statemach(struct Curl_easy *data,\n                                    bool
      *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3185,1
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3177
    functionDepth: 3
    functionLinenumber: 3177
    functionLinenumberEnd: 3192
    functionName: ftp_block_statemach
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_FTP
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_block_statemach(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:3207,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/ftp.c:3215,1
    - Dst: PINGPONG_SETUP
      Src: /src/PROJ/curl/lib/ftp.c:3217,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/ftp.c:3219,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:3221,1
    - Dst: Curl_pp_init
      Src: /src/PROJ/curl/lib/ftp.c:3227,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3231,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3202
    functionDepth: 4
    functionLinenumber: 3202
    functionLinenumberEnd: 3236
    functionName: ftp_connect
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - Curl_pp_init
    - connkeep
    - Curl_conn_is_ssl
    - Curl_conn_connect
    - PINGPONG_SETUP
    - Curl_conn_meta_get
    - ftp_state
    - ftp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_connect(struct Curl_easy *data,\n                            bool
      *done)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:3251,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:3252,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/ftp.c:3283,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ftp.c:3289,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:3296,1
    - Dst: struct Curl_easy*::set::chunk_end
      Src: /src/PROJ/curl/lib/ftp.c:3297,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:3298,1
    - Dst: freedirs
      Src: /src/PROJ/curl/lib/ftp.c:3299,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ftp.c:3308,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:3309,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:3318,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:3320,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:3327,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/ftp.c:3328,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3335,1
    - Dst: shutdown
      Src: /src/PROJ/curl/lib/ftp.c:3341,1
    - Dst: Curl_conn_is_setup
      Src: /src/PROJ/curl/lib/ftp.c:3344,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:3347,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3349,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/ftp.c:3350,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ftp.c:3352,1
    - Dst: close_secondarysocket
      Src: /src/PROJ/curl/lib/ftp.c:3356,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/ftp.c:3367,1
    - Dst: getftpresponse
      Src: /src/PROJ/curl/lib/ftp.c:3368,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3371,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ftp.c:3373,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3382,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ftp.c:3383,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3394,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3398,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3417,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3427,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3434,1
    - Dst: ftp_sendquote
      Src: /src/PROJ/curl/lib/ftp.c:3445,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3446,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3446,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 126
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3247
    functionDepth: 5
    functionLinenumber: 3247
    functionLinenumberEnd: 3448
    functionName: ftp_done
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - failf
    - ftp_sendquote
    - curlx_now
    - FALLTHROUGH
    - getftpresponse
    - Curl_conn_meta_get
    - Curl_pp_sendf
    - Curl_conn_is_setup
    - infof
    - struct Curl_easy*::set::chunk_end
    - connclose
    - freedirs
    - strlen
    - curl_easy_strerror
    - FTP_CSTATE
    - CURL_TRC_FTP
    - Curl_memdup0
    - shutdown
    - free
    - close_secondarysocket
    - Curl_set_in_callback
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_done(struct Curl_easy *data, CURLcode status,\n                         bool
      premature)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:3486,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/ftp.c:3488,1
    - Dst: getftpresponse
      Src: /src/PROJ/curl/lib/ftp.c:3489,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:3495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - data
    - ftpc
    - quote
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3459
    functionDepth: 5
    functionLinenumber: 3459
    functionLinenumberEnd: 3504
    functionName: ftp_sendquote
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - getftpresponse
    - curlx_now
    - failf
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_sendquote(struct Curl_easy *data,\n                       struct
      ftp_conn *ftpc,\n                       struct curl_slist *quote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ftpc
    - ascii_wanted
    argTypes:
    - struct ftp_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3516
    functionName: ftp_need_type
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ftp_need_type(struct ftp_conn *ftpc,\n                         bool
      ascii_wanted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3535,1
    - Dst: ftp_state_type_resp
      Src: /src/PROJ/curl/lib/ftp.c:3536,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:3539,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:3541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ascii
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3526
    functionDepth: 12
    functionLinenumber: 3526
    functionLinenumberEnd: 3547
    functionName: ftp_nb_type
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_state
    - ftp_state_type_resp
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_nb_type(struct Curl_easy *data,\n                            struct
      ftp_conn *ftpc,\n                            struct FTP *ftp,\n                            bool
      ascii, ftpstate newstate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_printable_address
      Src: /src/PROJ/curl/lib/ftp.c:3566,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - ai
    - newhost
    - port
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3568
      start: 3559
    functionDepth: 2
    functionLinenumber: 3559
    functionLinenumberEnd: 3568
    functionName: ftp_pasv_verbose
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_printable_address
    linkageType: ''
    returnType: void
    signature: "void ftp_pasv_verbose(struct Curl_easy *data,\n                 struct
      Curl_addrinfo *ai,\n                 char *newhost, /* ASCII version */\n                 int
      port)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:3584,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:3585,1
    - Dst: Curl_conn_is_tcp_listen
      Src: /src/PROJ/curl/lib/ftp.c:3607,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:3608,1
    - Dst: Curl_conn_is_ip_connected
      Src: /src/PROJ/curl/lib/ftp.c:3610,1
    - Dst: ftp_epsv_disable
      Src: /src/PROJ/curl/lib/ftp.c:3614,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3623,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/ftp.c:3645,1
    - Dst: ftp_initiate_transfer
      Src: /src/PROJ/curl/lib/ftp.c:3652,1
    - Dst: ftp_check_ctrl_on_data_wait
      Src: /src/PROJ/curl/lib/ftp.c:3661,1
    - Dst: ftp_nb_type
      Src: /src/PROJ/curl/lib/ftp.c:3667,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3672,1
    - Dst: Curl_range
      Src: /src/PROJ/curl/lib/ftp.c:3683,1
    - Dst: ftp_nb_type
      Src: /src/PROJ/curl/lib/ftp.c:3700,1
    - Dst: ftp_nb_type
      Src: /src/PROJ/curl/lib/ftp.c:3708,1
    - Dst: ftp_nb_type
      Src: /src/PROJ/curl/lib/ftp.c:3712,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3719,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/ftp.c:3726,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3731,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3731,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - data
    - completep
    argTypes:
    - struct Curl_easy*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3581
    functionDepth: 13
    functionLinenumber: 3581
    functionLinenumberEnd: 3736
    functionName: ftp_do_more
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_ip_connected
    - CURL_TRC_FTP
    - ftp_epsv_disable
    - ftp_nb_type
    - Curl_conn_connect
    - Curl_meta_get
    - FTP_CSTATE
    - Curl_conn_is_tcp_listen
    - Curl_xfer_setup_nop
    - Curl_conn_meta_get
    - ftp_initiate_transfer
    - Curl_range
    - ftp_check_ctrl_on_data_wait
    - ftp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ftp_do_more(struct Curl_easy *data, int *completep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3756,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3756,1
    - Dst: ftp_state_quote
      Src: /src/PROJ/curl/lib/ftp.c:3766,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:3771,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/ftp.c:3773,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3776,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3777,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3779,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3780,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:3783,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:3783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3746
    functionDepth: 8
    functionLinenumber: 3746
    functionLinenumberEnd: 3786
    functionName: ftp_perform
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - infof
    - CURL_TRC_FTP
    - ftp_state_quote
    - Curl_conn_is_connected
    - FTP_CSTATE
    - ftp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_perform(struct Curl_easy *data,\n                     struct
      ftp_conn *ftpc,\n                     struct FTP *ftp,\n                     bool
      *connected,  /* connect status after PASV / PORT */\n                     bool
      *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ftp_parselist_data_free
      Src: /src/PROJ/curl/lib/ftp.c:3792,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:3793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3794
    functionName: wc_data_dtor
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_ftp_parselist_data_free
    - free
    linkageType: ''
    returnType: void
    signature: void wc_data_dtor(void *ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/ftp.c:3806,1
    - Dst: ftp_parse_url_path
      Src: /src/PROJ/curl/lib/ftp.c:3811,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:3813,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:3820,1
    - Dst: ftp_parse_url_path
      Src: /src/PROJ/curl/lib/ftp.c:3827,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ftp.c:3835,1
    - Dst: Curl_ftp_parselist_data_alloc
      Src: /src/PROJ/curl/lib/ftp.c:3842,1
    - Dst: ftp_parse_url_path
      Src: /src/PROJ/curl/lib/ftp.c:3856,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:3861,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3876,1
    - Dst: Curl_ftp_parselist_data_free
      Src: /src/PROJ/curl/lib/ftp.c:3881,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:3882,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:3884,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3796
    functionDepth: 1
    functionLinenumber: 3796
    functionLinenumberEnd: 3888
    functionName: init_wc_data
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_ftp_parselist_data_free
    - free
    - ftp_parse_url_path
    - Curl_safefree
    - strrchr
    - calloc
    - Curl_ftp_parselist_data_alloc
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_wc_data(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             struct FTP *ftp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: init_wc_data
      Src: /src/PROJ/curl/lib/ftp.c:3900,1
    - Dst: Curl_ftp_parselist_geterror
      Src: /src/PROJ/curl/lib/ftp.c:3917,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/ftp.c:3922,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/ftp.c:3932,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/ftp.c:3933,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/ftp.c:3935,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:3940,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3943,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:3946,1
    - Dst: struct Curl_easy*::set::chunk_bgn
      Src: /src/PROJ/curl/lib/ftp.c:3947,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/ftp.c:3949,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:3950,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:3953,1
    - Dst: ftp_parse_url_path
      Src: /src/PROJ/curl/lib/ftp.c:3970,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/ftp.c:3975,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/ftp.c:3975,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/ftp.c:3977,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:3989,1
    - Dst: struct Curl_easy*::set::chunk_end
      Src: /src/PROJ/curl/lib/ftp.c:3990,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftp.c:3991,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/ftp.c:3993,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/ftp.c:3993,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/ftp.c:3994,1
    - Dst: Curl_ftp_parselist_geterror
      Src: /src/PROJ/curl/lib/ftp.c:4003,1
    - Dst: struct WildcardData*::dtor
      Src: /src/PROJ/curl/lib/ftp.c:4013,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 87
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 3890
    functionDepth: 6
    functionLinenumber: 3890
    functionLinenumberEnd: 4020
    functionName: wc_statemach
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - free
    - infof
    - Curl_set_in_callback
    - curl_maprintf
    - ftp_parse_url_path
    - struct Curl_easy*::set::chunk_end
    - struct WildcardData*::dtor
    - Curl_ftp_parselist_geterror
    - Curl_node_remove
    - Curl_llist_count
    - init_wc_data
    - Curl_llist_head
    - struct Curl_easy*::set::chunk_bgn
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wc_statemach(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             struct FTP *ftp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4034,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4035,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/ftp.c:4047,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/ftp.c:4052,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/ftp.c:4054,1
    - Dst: wc_statemach
      Src: /src/PROJ/curl/lib/ftp.c:4061,1
    - Dst: ftp_parse_url_path
      Src: /src/PROJ/curl/lib/ftp.c:4071,1
    - Dst: ftp_regular_transfer
      Src: /src/PROJ/curl/lib/ftp.c:4076,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4079
      start: 4031
    functionDepth: 7
    functionLinenumber: 4031
    functionLinenumberEnd: 4079
    functionName: ftp_do
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_create
    - ftp_regular_transfer
    - ftp_parse_url_path
    - Curl_meta_get
    - Curl_conn_meta_get
    - Curl_cwriter_free
    - wc_statemach
    - Curl_cwriter_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ftp_do(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:4097,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/ftp.c:4098,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:4100,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/ftp.c:4101,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/ftp.c:4103,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:4104,1
    - Dst: ftp_state
      Src: /src/PROJ/curl/lib/ftp.c:4108,1
    - Dst: ftp_block_statemach
      Src: /src/PROJ/curl/lib/ftp.c:4110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4091
    functionDepth: 4
    functionLinenumber: 4091
    functionLinenumberEnd: 4114
    functionName: ftp_quit
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_block_statemach
    - CURL_TRC_FTP
    - failf
    - connclose
    - curl_easy_strerror
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_quit(struct Curl_easy *data,\n                         struct
      ftp_conn *ftpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4127,1
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/ftp.c:4139,1
    - Dst: ftp_quit
      Src: /src/PROJ/curl/lib/ftp.c:4143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4123
    functionDepth: 5
    functionLinenumber: 4123
    functionLinenumberEnd: 4145
    functionName: ftp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ftp_quit
    - Curl_pp_needs_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_disconnect(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool dead_connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftp.c:4152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4147
    functionDepth: 0
    functionLinenumber: 4147
    functionLinenumberEnd: 4159
    functionName: numof_slashes
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t numof_slashes(const char *str)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: freedirs
      Src: /src/PROJ/curl/lib/ftp.c:4185,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/ftp.c:4187,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:4189,1
    - Dst: strrchr
      Src: /src/PROJ/curl/lib/ftp.c:4208,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ftp.c:4215,1
    - Dst: numof_slashes
      Src: /src/PROJ/curl/lib/ftp.c:4234,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ftp.c:4241,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftp.c:4247,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/ftp.c:4278,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:4293,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:4295,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/ftp.c:4295,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/ftp.c:4296,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4170
    functionDepth: 2
    functionLinenumber: 4170
    functionLinenumberEnd: 4303
    functionName: ftp_parse_url_path
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 3
    functionsReached:
    - strncmp
    - infof
    - failf
    - strchr
    - numof_slashes
    - strrchr
    - calloc
    - freedirs
    - Curl_urldecode
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_parse_url_path(struct Curl_easy *data,\n                            struct
      ftp_conn *ftpc,\n                            struct FTP *ftp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ftp_do_more
      Src: /src/PROJ/curl/lib/ftp.c:4313,1
    - Dst: close_secondarysocket
      Src: /src/PROJ/curl/lib/ftp.c:4316,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/ftp.c:4323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - connected
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4331
      start: 4306
    functionDepth: 14
    functionLinenumber: 4306
    functionLinenumberEnd: 4331
    functionName: ftp_dophase_done
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - close_secondarysocket
    - ftp_do_more
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_dophase_done(struct Curl_easy *data,\n                                 struct
      ftp_conn *ftpc,\n                                 struct FTP *ftp,\n                                 bool
      connected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4337,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4338,1
    - Dst: ftp_statemach
      Src: /src/PROJ/curl/lib/ftp.c:4343,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:4346,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:4346,1
    - Dst: ftp_dophase_done
      Src: /src/PROJ/curl/lib/ftp.c:4348,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:4350,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:4350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 4334
    functionDepth: 15
    functionLinenumber: 4334
    functionLinenumberEnd: 4353
    functionName: ftp_doing
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_FTP
    - ftp_dophase_done
    - Curl_meta_get
    - Curl_conn_meta_get
    - FTP_CSTATE
    - ftp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_doing(struct Curl_easy *data,\n                          bool
      *dophase_done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/ftp.c:4377,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/ftp.c:4378,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/ftp.c:4379,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/ftp.c:4380,1
    - Dst: ftp_perform
      Src: /src/PROJ/curl/lib/ftp.c:4384,1
    - Dst: ftp_dophase_done
      Src: /src/PROJ/curl/lib/ftp.c:4394,1
    - Dst: freedirs
      Src: /src/PROJ/curl/lib/ftp.c:4400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4403
      start: 4367
    functionDepth: 15
    functionLinenumber: 4367
    functionLinenumberEnd: 4403
    functionName: ftp_regular_transfer
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_dophase_done
    - Curl_pgrsSetUploadCounter
    - freedirs
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadCounter
    - ftp_perform
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_regular_transfer(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc,\n                              struct FTP *ftp,\n                              bool
      *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4410,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:4411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4412
      start: 4405
    functionDepth: 1
    functionLinenumber: 4405
    functionLinenumberEnd: 4412
    functionName: ftp_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void ftp_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freedirs
      Src: /src/PROJ/curl/lib/ftp.c:4419,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4420,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4421,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4422,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4423,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4424,1
    - Dst: Curl_pp_disconnect
      Src: /src/PROJ/curl/lib/ftp.c:4425,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftp.c:4426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4427
      start: 4414
    functionDepth: 2
    functionLinenumber: 4414
    functionLinenumberEnd: 4427
    functionName: ftp_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - freedirs
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void ftp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/ftp.c:4431,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/ftp.c:4434,1
    - Dst: Curl_raw_toupper
      Src: /src/PROJ/curl/lib/ftp.c:4436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - data
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4456
      start: 4429
    functionDepth: 1
    functionLinenumber: 4429
    functionLinenumberEnd: 4456
    functionName: type_url_check
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    - strlen
    - memcmp
    linkageType: ''
    returnType: void
    signature: void type_url_check(struct Curl_easy *data, struct FTP *ftp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ftp.c:4465,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/ftp.c:4467,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ftp.c:4470,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/ftp.c:4472,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:4477,1
    - Dst: Curl_conn_meta_remove
      Src: /src/PROJ/curl/lib/ftp.c:4479,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/ftp.c:4485,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/ftp.c:4487,1
    - Dst: Curl_conn_meta_remove
      Src: /src/PROJ/curl/lib/ftp.c:4488,1
    - Dst: type_url_check
      Src: /src/PROJ/curl/lib/ftp.c:4495,1
    - Dst: CURL_TRC_FTP
      Src: /src/PROJ/curl/lib/ftp.c:4504,1
    - Dst: FTP_CSTATE
      Src: /src/PROJ/curl/lib/ftp.c:4504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4458
    functionDepth: 2
    functionLinenumber: 4458
    functionLinenumberEnd: 4506
    functionName: ftp_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_FTP
    - Curl_meta_set
    - Curl_conn_meta_remove
    - type_url_check
    - calloc
    - Curl_safefree
    - Curl_conn_meta_set
    - strdup
    - FTP_CSTATE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_setup_connection(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4510,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/ftp.c:4511,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/ftp.c:4514,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/ftp.c:4515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - needle
    - conn
    argTypes:
    - struct connectdata*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4521
      start: 4508
    functionDepth: 2
    functionLinenumber: 4508
    functionLinenumberEnd: 4521
    functionName: ftp_conns_match
    functionSourceFile: /src/PROJ/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - Curl_conn_meta_get
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: bool ftp_conns_match(struct connectdata *needle, struct connectdata
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: Curl_hsts_loadcb
    functionSourceFile: /src/PROJ/curl/lib/hsts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_hsts_loadcb(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - save
    - ','
    - cf
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 668
    functionName: CF_DATA_SAVE
    functionSourceFile: /src/PROJ/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_SAVE(save, cf, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cf
    - ','
    - save
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: CF_DATA_RESTORE
    functionSourceFile: /src/PROJ/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_RESTORE(cf, save)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - save
    - ','
    - cf
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: CF_DATA_SAVE
    functionSourceFile: /src/PROJ/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_SAVE(save, cf, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cf
    - ','
    - save
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: CF_DATA_RESTORE
    functionSourceFile: /src/PROJ/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_RESTORE(cf, save)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 693
    functionName: CF_DATA_CURRENT
    functionSourceFile: /src/PROJ/curl/lib/cfilters.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_CURRENT(cf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/rename.c:47,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/rename.c:48,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/rename.c:49,1
    - Dst: MoveFileEx
      Src: /src/PROJ/curl/lib/rename.c:52,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/rename.c:53,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/rename.c:54,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/rename.c:57,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/rename.c:57,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/rename.c:59,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/rename.c:60,1
    - Dst: Sleep
      Src: /src/PROJ/curl/lib/rename.c:63,1
    - Dst: rename
      Src: /src/PROJ/curl/lib/rename.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - oldpath
    - newpath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: Curl_rename
    functionSourceFile: /src/PROJ/curl/lib/rename.c
    functionUses: 2
    functionsReached:
    - curlx_now
    - Sleep
    - curlx_timediff
    - curlx_convert_UTF8_to_tchar
    - MoveFileEx
    - rename
    - curlx_unicodefree
    linkageType: ''
    returnType: int
    signature: int Curl_rename(const char *oldpath, const char *newpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Curl_cookie_list
    functionSourceFile: /src/PROJ/curl/lib/cookie.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_list(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: Curl_cookie_loadfiles
    functionSourceFile: /src/PROJ/curl/lib/cookie.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_loadfiles(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: Curl_cookie_init
    functionSourceFile: /src/PROJ/curl/lib/cookie.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_init(x,y,z,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: Curl_cookie_cleanup
    functionSourceFile: /src/PROJ/curl/lib/cookie.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_cleanup(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: Curl_flush_cookies
    functionSourceFile: /src/PROJ/curl/lib/cookie.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_flush_cookies(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: curl2netrc
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl2netrc(result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/netrc.c:79,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/netrc.c:81,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/lib/netrc.c:89,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/netrc.c:91,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/netrc.c:93,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/netrc.c:96,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/netrc.c:99,1
    - Dst: curl2netrc
      Src: /src/PROJ/curl/lib/netrc.c:100,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/netrc.c:105,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/netrc.c:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - filename
    - filebuf
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 109
    functionName: file2memory
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 3
    functionsReached:
    - curl2netrc
    - curlx_dyn_ptr
    - curlx_str_passblanks
    - curlx_dyn_init
    - curlx_fopen
    - curlx_dyn_free
    - curlx_dyn_add
    - Curl_get_line
    - curlx_fclose
    linkageType: ''
    returnType: NETRCcode
    signature: NETRCcode file2memory(const char *filename, struct dynbuf *filebuf)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/netrc.c:133,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/netrc.c:134,1
    - Dst: file2memory
      Src: /src/PROJ/curl/lib/netrc.c:137,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/netrc.c:143,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/netrc.c:150,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/netrc.c:151,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/netrc.c:177,1
    - Dst: curl2netrc
      Src: /src/PROJ/curl/lib/netrc.c:179,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/netrc.c:214,1
    - Dst: curl2netrc
      Src: /src/PROJ/curl/lib/netrc.c:216,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/netrc.c:228,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/netrc.c:229,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:237,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:242,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/netrc.c:250,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/netrc.c:252,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:254,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:264,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/netrc.c:277,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:280,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/netrc.c:281,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:291,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/netrc.c:292,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:301,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:303,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:305,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/netrc.c:314,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/netrc.c:316,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/netrc.c:318,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/netrc.c:321,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/netrc.c:323,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/netrc.c:336,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/netrc.c:345,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/netrc.c:349,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/netrc.c:364,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:367,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:368,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 201
    argCount: 5
    argNames:
    - store
    - host
    - loginp
    - passwordp
    - netrcfile
    argTypes:
    - struct store_netrc*
    - char*
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 372
    functionName: parsenetrc
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curl2netrc
    - Curl_timestrcmp
    - free
    - curlx_str_passblanks
    - curlx_dyn_init
    - strchr
    - curlx_dyn_free
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    - Curl_safefree
    - file2memory
    - curl_strequal
    - strdup
    linkageType: ''
    returnType: NETRCcode
    signature: "NETRCcode parsenetrc(struct store_netrc *store,\n                            const
      char *host,\n                            char **loginp, /* might point to a
      username */\n                            char **passwordp,\n                            const
      char *netrcfile)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ret
    argTypes:
    - NETRCcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: Curl_netrc_strerror
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Curl_netrc_strerror(NETRCcode ret)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/netrc.c:410,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/netrc.c:412,1
    - Dst: getpwuid_r
      Src: /src/PROJ/curl/lib/netrc.c:419,1
    - Dst: geteuid
      Src: /src/PROJ/curl/lib/netrc.c:419,1
    - Dst: getpwuid
      Src: /src/PROJ/curl/lib/netrc.c:427,1
    - Dst: geteuid
      Src: /src/PROJ/curl/lib/netrc.c:427,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/netrc.c:434,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/netrc.c:445,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:447,1
    - Dst: parsenetrc
      Src: /src/PROJ/curl/lib/netrc.c:451,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:452,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/netrc.c:456,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:458,1
    - Dst: parsenetrc
      Src: /src/PROJ/curl/lib/netrc.c:461,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:462,1
    - Dst: free
      Src: /src/PROJ/curl/lib/netrc.c:465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - store
    - host
    - loginp
    - passwordp
    - netrcfile
    argTypes:
    - struct store_netrc*
    - char*
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 397
    functionDepth: 6
    functionLinenumber: 397
    functionLinenumberEnd: 466
    functionName: Curl_parsenetrc
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 2
    functionsReached:
    - free
    - curl_maprintf
    - geteuid
    - getpwuid_r
    - parsenetrc
    - getpwuid
    - curl_getenv
    linkageType: ''
    returnType: NETRCcode
    signature: "NETRCcode Curl_parsenetrc(struct store_netrc *store, const char *host,\n
      \                         char **loginp, char **passwordp,\n                          const
      char *netrcfile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/netrc.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct store_netrc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: Curl_netrc_init
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 3
    functionsReached:
    - curlx_dyn_init
    linkageType: ''
    returnType: void
    signature: void Curl_netrc_init(struct store_netrc *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/netrc.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct store_netrc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: Curl_netrc_cleanup
    functionSourceFile: /src/PROJ/curl/lib/netrc.c
    functionUses: 3
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void Curl_netrc_cleanup(struct store_netrc *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CURL_SB_CLEAR
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_CLEAR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: CURL_SB_TERM
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_TERM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: CURL_SB_ACCUM
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_ACCUM(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: CURL_SB_GET
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_GET(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: CURL_SB_LEN
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: printoption
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printoption(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/telnet.c:212,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/telnet.c:213,1
    - Dst: free
      Src: /src/PROJ/curl/lib/telnet.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: telnet_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - free
    - curl_slist_free_all
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void telnet_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/telnet.c:222,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/telnet.c:226,1
    - Dst: CURL_SB_CLEAR
      Src: /src/PROJ/curl/lib/telnet.c:231,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/telnet.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 267
    functionName: init_telnet
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - CURL_SB_CLEAR
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode init_telnet(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_local_option
      Src: /src/PROJ/curl/lib/telnet.c:278,1
    - Dst: set_remote_option
      Src: /src/PROJ/curl/lib/telnet.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - tn
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: telnet_negotiate
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - set_local_option
    - set_remote_option
    linkageType: ''
    returnType: void
    signature: void telnet_negotiate(struct Curl_easy *data, struct TELNET *tn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TELCMD_OK
      Src: /src/PROJ/curl/lib/telnet.c:291,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:292,1
    - Dst: CURL_TELCMD
      Src: /src/PROJ/curl/lib/telnet.c:292,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:294,1
    - Dst: CURL_TELOPT_OK
      Src: /src/PROJ/curl/lib/telnet.c:303,1
    - Dst: CURL_TELOPT
      Src: /src/PROJ/curl/lib/telnet.c:304,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:311,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:313,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - data
    - direction
    - cmd
    - option
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 319
    functionName: printoption
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TELCMD
    - CURL_TELCMD_OK
    - CURL_TELOPT_OK
    - CURL_TELOPT
    linkageType: ''
    returnType: void
    signature: "void printoption(struct Curl_easy *data,\n                        const
      char *direction, int cmd, int option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/PROJ/curl/lib/telnet.c:332,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:335,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - cmd
    - option
    argTypes:
    - struct Curl_easy*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: send_negotiation
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - printoption
    - failf
    - swrite
    linkageType: ''
    returnType: void
    signature: void send_negotiation(struct Curl_easy *data, int cmd, int option)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:349,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:388,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - data
    - tn
    - option
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 413
    functionName: set_remote_option
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: "void set_remote_option(struct Curl_easy *data, struct TELNET *tn,\n
      \                      int option, int newstate)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:422,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:425,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 460
    functionName: rec_will
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: void rec_will(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:472,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 501
    functionName: rec_wont
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: void rec_wont(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:511,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:550,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - data
    - tn
    - option
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 575
    functionName: set_local_option
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: "void set_local_option(struct Curl_easy *data, struct TELNET *tn,\n
      \                int option, int newstate)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:584,1
    - Dst: sendsuboption
      Src: /src/PROJ/curl/lib/telnet.c:587,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:592,1
    - Dst: sendsuboption
      Src: /src/PROJ/curl/lib/telnet.c:593,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:596,1
    - Dst: sendsuboption
      Src: /src/PROJ/curl/lib/telnet.c:623,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:629,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 634
    functionName: rec_do
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    - sendsuboption
    linkageType: ''
    returnType: void
    signature: void rec_do(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:646,1
    - Dst: send_negotiation
      Src: /src/PROJ/curl/lib/telnet.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 675
    functionName: rec_dont
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: void rec_dont(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:686,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:694,1
    - Dst: CURL_TELOPT_OK
      Src: /src/PROJ/curl/lib/telnet.c:695,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:696,1
    - Dst: CURL_TELOPT
      Src: /src/PROJ/curl/lib/telnet.c:696,1
    - Dst: CURL_TELCMD_OK
      Src: /src/PROJ/curl/lib/telnet.c:697,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:698,1
    - Dst: CURL_TELCMD
      Src: /src/PROJ/curl/lib/telnet.c:698,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:700,1
    - Dst: CURL_TELOPT_OK
      Src: /src/PROJ/curl/lib/telnet.c:701,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:702,1
    - Dst: CURL_TELOPT
      Src: /src/PROJ/curl/lib/telnet.c:702,1
    - Dst: CURL_TELCMD_OK
      Src: /src/PROJ/curl/lib/telnet.c:703,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:704,1
    - Dst: CURL_TELCMD
      Src: /src/PROJ/curl/lib/telnet.c:704,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:706,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:707,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:716,1
    - Dst: CURL_TELOPT_OK
      Src: /src/PROJ/curl/lib/telnet.c:720,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:726,1
    - Dst: CURL_TELOPT
      Src: /src/PROJ/curl/lib/telnet.c:726,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:729,1
    - Dst: CURL_TELOPT
      Src: /src/PROJ/curl/lib/telnet.c:729,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:734,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:739,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:745,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:748,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:751,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:754,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:761,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:766,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:770,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:773,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:776,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:784,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 4
    argNames:
    - data
    - direction
    - pointer
    - length
    argTypes:
    - struct Curl_easy*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 789
    functionName: printsub
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TELCMD
    - CURL_TELOPT
    - CURL_TELOPT_OK
    - CURL_TELCMD_OK
    linkageType: ''
    returnType: void
    signature: "void printsub(struct Curl_easy *data,\n                     int direction,
      \            /* '<' or '>' */\n                     unsigned char *pointer,
      \   /* where suboption data is */\n                     size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 799
    functionName: str_is_nonascii
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_is_nonascii(const char *str)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: str_is_nonascii
      Src: /src/PROJ/curl/lib/telnet.c:812,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/telnet.c:813,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:813,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:816,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/telnet.c:817,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/telnet.c:819,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/telnet.c:831,1
    - Dst: str_is_nonascii
      Src: /src/PROJ/curl/lib/telnet.c:835,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/telnet.c:840,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/telnet.c:850,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/telnet.c:860,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/telnet.c:861,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/telnet.c:875,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/telnet.c:879,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/telnet.c:880,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/telnet.c:881,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:882,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/telnet.c:897,1
    - Dst: atoi
      Src: /src/PROJ/curl/lib/telnet.c:898,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:908,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:914,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/telnet.c:920,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 2
    argNames:
    - data
    - tn
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 801
    functionDepth: 6
    functionLinenumber: 801
    functionLinenumberEnd: 925
    functionName: check_telnet_options
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - infof
    - str_is_nonascii
    - DEBUGF
    - curl_slist_append
    - curlx_str_single
    - failf
    - strchr
    - curl_msnprintf
    - curl_slist_free_all
    - curlx_str_number
    - curl_strnequal
    - atoi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode check_telnet_options(struct Curl_easy *data,\n                                     struct
      TELNET *tn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/telnet.c:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: bad_option
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool bad_option(const char *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SB_LEN
      Src: /src/PROJ/curl/lib/telnet.c:950,1
    - Dst: printsub
      Src: /src/PROJ/curl/lib/telnet.c:953,1
    - Dst: CURL_SB_LEN
      Src: /src/PROJ/curl/lib/telnet.c:953,1
    - Dst: CURL_SB_GET
      Src: /src/PROJ/curl/lib/telnet.c:954,1
    - Dst: bad_option
      Src: /src/PROJ/curl/lib/telnet.c:956,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/telnet.c:958,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:959,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:962,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/telnet.c:966,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:970,1
    - Dst: printsub
      Src: /src/PROJ/curl/lib/telnet.c:973,1
    - Dst: bad_option
      Src: /src/PROJ/curl/lib/telnet.c:976,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/telnet.c:978,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:979,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:982,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/telnet.c:986,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:989,1
    - Dst: printsub
      Src: /src/PROJ/curl/lib/telnet.c:992,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:995,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/telnet.c:999,1
    - Dst: bad_option
      Src: /src/PROJ/curl/lib/telnet.c:1000,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/telnet.c:1004,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:1006,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:1010,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/telnet.c:1016,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/telnet.c:1019,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1022,1
    - Dst: printsub
      Src: /src/PROJ/curl/lib/telnet.c:1024,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - data
    - tn
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 941
    functionDepth: 6
    functionLinenumber: 941
    functionLinenumberEnd: 1028
    functionName: suboption
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - failf
    - swrite
    - strchr
    - curl_msnprintf
    - CURL_SB_LEN
    - printsub
    - strlen
    - CURL_SB_GET
    - bad_option
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode suboption(struct Curl_easy *data, struct TELNET *tn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SB_CLEAR
      Src: /src/PROJ/curl/lib/telnet.c:1047,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1048,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1049,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1050,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/telnet.c:1053,1
    - Dst: htons
      Src: /src/PROJ/curl/lib/telnet.c:1054,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1057,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1058,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1059,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1060,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1062,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1063,1
    - Dst: CURL_SB_TERM
      Src: /src/PROJ/curl/lib/telnet.c:1064,1
    - Dst: printsub
      Src: /src/PROJ/curl/lib/telnet.c:1067,1
    - Dst: CURL_SB_LEN
      Src: /src/PROJ/curl/lib/telnet.c:1068,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/telnet.c:1071,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1074,1
    - Dst: send_telnet_data
      Src: /src/PROJ/curl/lib/telnet.c:1078,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/telnet.c:1080,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1087
    functionName: sendsuboption
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - failf
    - swrite
    - CURL_SB_TERM
    - CURL_SB_LEN
    - CURL_SB_CLEAR
    - printsub
    - send_telnet_data
    - htons
    - CURL_SB_ACCUM
    linkageType: ''
    returnType: void
    signature: "void sendsuboption(struct Curl_easy *data,\n                          struct
      TELNET *tn, int option)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: startskipping
      Src: /src/PROJ/curl/lib/telnet.c:1124,1
    - Dst: writebyte
      Src: /src/PROJ/curl/lib/telnet.c:1127,1
    - Dst: startskipping
      Src: /src/PROJ/curl/lib/telnet.c:1133,1
    - Dst: writebyte
      Src: /src/PROJ/curl/lib/telnet.c:1138,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/telnet.c:1143,1
    - Dst: CURL_SB_CLEAR
      Src: /src/PROJ/curl/lib/telnet.c:1158,1
    - Dst: writebyte
      Src: /src/PROJ/curl/lib/telnet.c:1163,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:1170,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:1176,1
    - Dst: rec_will
      Src: /src/PROJ/curl/lib/telnet.c:1178,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:1183,1
    - Dst: rec_wont
      Src: /src/PROJ/curl/lib/telnet.c:1185,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:1190,1
    - Dst: rec_do
      Src: /src/PROJ/curl/lib/telnet.c:1192,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:1197,1
    - Dst: rec_dont
      Src: /src/PROJ/curl/lib/telnet.c:1199,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1207,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1222,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1223,1
    - Dst: CURL_SB_TERM
      Src: /src/PROJ/curl/lib/telnet.c:1225,1
    - Dst: printoption
      Src: /src/PROJ/curl/lib/telnet.c:1227,1
    - Dst: suboption
      Src: /src/PROJ/curl/lib/telnet.c:1228,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1234,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1238,1
    - Dst: CURL_SB_ACCUM
      Src: /src/PROJ/curl/lib/telnet.c:1239,1
    - Dst: CURL_SB_TERM
      Src: /src/PROJ/curl/lib/telnet.c:1241,1
    - Dst: suboption
      Src: /src/PROJ/curl/lib/telnet.c:1242,1
    - Dst: bufferflush
      Src: /src/PROJ/curl/lib/telnet.c:1251,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 4
    argNames:
    - data
    - tn
    - inbuf
    - count
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1089
    functionDepth: 7
    functionLinenumber: 1089
    functionLinenumberEnd: 1253
    functionName: telrcv
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - rec_dont
    - suboption
    - writebyte
    - CURL_SB_TERM
    - rec_do
    - rec_wont
    - printoption
    - rec_will
    - CURL_SB_CLEAR
    - DEBUGASSERT
    - bufferflush
    - startskipping
    - CURL_SB_ACCUM
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode telrcv(struct Curl_easy *data,\n                struct TELNET
      *tn,\n                const unsigned char *inbuf, /* Data received from socket
      */\n                ssize_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1110
    functionName: startskipping
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: startskipping()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: writebyte
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writebyte()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1116
    functionName: bufferflush
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bufferflush()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/telnet.c:1267,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/telnet.c:1268,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/telnet.c:1272,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/telnet.c:1274,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/telnet.c:1277,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/telnet.c:1280,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/telnet.c:1283,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/telnet.c:1284,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/telnet.c:1295,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/telnet.c:1302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - data
    - tn
    - buffer
    - nread
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1310
    functionName: send_telnet_data
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - Curl_poll
    - curlx_dyn_uptr
    - curlx_dyn_reset
    - DEBUGASSERT
    - curlx_dyn_len
    - memchr
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_telnet_data(struct Curl_easy *data,\n                                 struct
      TELNET *tn,\n                                 char *buffer, ssize_t nread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_remove
      Src: /src/PROJ/curl/lib/telnet.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1312
    functionDepth: 2
    functionLinenumber: 1312
    functionLinenumberEnd: 1319
    functionName: telnet_done
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - Curl_meta_remove
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode telnet_done(struct Curl_easy *data,\n                            CURLcode
      status, bool premature)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: init_telnet
      Src: /src/PROJ/curl/lib/telnet.c:1350,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/telnet.c:1354,1
    - Dst: check_telnet_options
      Src: /src/PROJ/curl/lib/telnet.c:1358,1
    - Dst: WSACreateEvent
      Src: /src/PROJ/curl/lib/telnet.c:1369,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1371,1
    - Dst: WSAEventSelect
      Src: /src/PROJ/curl/lib/telnet.c:1376,1
    - Dst: WSACloseEvent
      Src: /src/PROJ/curl/lib/telnet.c:1377,1
    - Dst: GetStdHandle
      Src: /src/PROJ/curl/lib/telnet.c:1382,1
    - Dst: GetFileType
      Src: /src/PROJ/curl/lib/telnet.c:1390,1
    - Dst: WaitForMultipleObjects
      Src: /src/PROJ/curl/lib/telnet.c:1405,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/PROJ/curl/lib/telnet.c:1415,1
    - Dst: PeekNamedPipe
      Src: /src/PROJ/curl/lib/telnet.c:1433,1
    - Dst: ReadFile
      Src: /src/PROJ/curl/lib/telnet.c:1443,1
    - Dst: send_telnet_data
      Src: /src/PROJ/curl/lib/telnet.c:1451,1
    - Dst: ReadFile
      Src: /src/PROJ/curl/lib/telnet.c:1462,1
    - Dst: send_telnet_data
      Src: /src/PROJ/curl/lib/telnet.c:1469,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/PROJ/curl/lib/telnet.c:1480,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:1483,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/telnet.c:1492,1
    - Dst: telrcv
      Src: /src/PROJ/curl/lib/telnet.c:1508,1
    - Dst: telnet_negotiate
      Src: /src/PROJ/curl/lib/telnet.c:1518,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/telnet.c:1531,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/telnet.c:1532,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1533,1
    - Dst: WSACloseEvent
      Src: /src/PROJ/curl/lib/telnet.c:1541,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:1542,1
    - Dst: fileno
      Src: /src/PROJ/curl/lib/telnet.c:1554,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1559,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/telnet.c:1566,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:1566,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/telnet.c:1567,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/telnet.c:1574,1
    - Dst: Curl_xfer_recv
      Src: /src/PROJ/curl/lib/telnet.c:1579,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/telnet.c:1590,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/telnet.c:1590,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/telnet.c:1602,1
    - Dst: telrcv
      Src: /src/PROJ/curl/lib/telnet.c:1604,1
    - Dst: telnet_negotiate
      Src: /src/PROJ/curl/lib/telnet.c:1614,1
    - Dst: read
      Src: /src/PROJ/curl/lib/telnet.c:1622,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/PROJ/curl/lib/telnet.c:1627,1
    - Dst: send_telnet_data
      Src: /src/PROJ/curl/lib/telnet.c:1638,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/telnet.c:1644,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/telnet.c:1653,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/telnet.c:1654,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/telnet.c:1655,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/telnet.c:1661,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/telnet.c:1668,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 229
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1671
    functionName: telnet_do
    functionSourceFile: /src/PROJ/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - fileno
    - failf
    - curlx_now
    - FALLTHROUGH
    - Curl_pgrsSetUploadCounter
    - infof
    - DEBUGF
    - Curl_pgrsUpdate
    - Curl_poll
    - ReadFile
    - send_telnet_data
    - GetFileType
    - struct Curl_easy*::state::fread_func
    - WSACloseEvent
    - WSAEventSelect
    - curlx_timediff
    - telnet_negotiate
    - Curl_xfer_setup_nop
    - WSACreateEvent
    - Curl_pgrsSetDownloadCounter
    - read
    - Curl_xfer_recv
    - GetStdHandle
    - WSAEnumNetworkEvents
    - Curl_meta_get
    - check_telnet_options
    - PeekNamedPipe
    - WaitForMultipleObjects
    - telrcv
    - init_telnet
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode telnet_do(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_init
      Src: /src/PROJ/curl/lib/md5.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - md5_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_update
      Src: /src/PROJ/curl/lib/md5.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - inputLen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - md5_update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int inputLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_digest
      Src: /src/PROJ/curl/lib/md5.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - md5_digest
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/PROJ/curl/lib/md5.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/PROJ/curl/lib/md5.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_Update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Final
      Src: /src/PROJ/curl/lib/md5.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_Final
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_MD5_Init
      Src: /src/PROJ/curl/lib/md5.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - wolfSSL_MD5_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_MD5_Update
      Src: /src/PROJ/curl/lib/md5.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - wolfSSL_MD5_Update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_MD5_Final
      Src: /src/PROJ/curl/lib/md5.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - wolfSSL_MD5_Final
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/md5.c:165,1
    - Dst: psa_hash_setup
      Src: /src/PROJ/curl/lib/md5.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - memset
    - psa_hash_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/PROJ/curl/lib/md5.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - psa_hash_update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *data,\n                          unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_finish
      Src: /src/PROJ/curl/lib/md5.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - psa_hash_finish
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD5_Init
      Src: /src/PROJ/curl/lib/md5.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CC_MD5_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD5_Update
      Src: /src/PROJ/curl/lib/md5.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - inputLen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CC_MD5_Update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int inputLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD5_Final
      Src: /src/PROJ/curl/lib/md5.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CC_MD5_Final
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/PROJ/curl/lib/md5.c:225,1
    - Dst: CryptCreateHash
      Src: /src/PROJ/curl/lib/md5.c:229,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/md5.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CryptCreateHash
    - CryptAcquireContext
    - CryptReleaseContext
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/md5.c:244,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/md5.c:244,1
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/md5.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - input
    - inputLen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - CryptHashData
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *in,\n                          const unsigned
      char *input,\n                          unsigned int inputLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/md5.c:254,1
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/md5.c:256,1
    - Dst: CryptDestroyHash
      Src: /src/PROJ/curl/lib/md5.c:258,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/md5.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - digest
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CryptDestroyHash
    - CryptGetHashParam
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: MD5_F
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: MD5_G
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: MD5_H
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: MD5_H2
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_H2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: MD5_I
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_I(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - ','
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: MD5_STEP
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_STEP(f, a, b, c, d, x, t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: MD5_SET
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: MD5_GET
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: MD5_SET
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: MD5_GET
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:379,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:379,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:380,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:380,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:381,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:381,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:382,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:382,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:383,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:383,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:384,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:384,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:385,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:385,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:386,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:386,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:387,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:387,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:388,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:388,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:389,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:389,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:390,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:390,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:391,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:391,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:392,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:392,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:393,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:393,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:394,1
    - Dst: MD5_SET
      Src: /src/PROJ/curl/lib/md5.c:394,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:397,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:397,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:398,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:398,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:399,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:399,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:400,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:400,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:401,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:401,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:402,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:402,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:403,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:403,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:404,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:404,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:405,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:405,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:406,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:406,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:407,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:407,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:408,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:408,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:409,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:409,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:410,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:410,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:411,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:411,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:412,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:412,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:415,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:415,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:416,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:416,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:417,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:417,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:418,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:418,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:419,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:419,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:420,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:420,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:421,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:421,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:422,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:422,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:423,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:423,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:424,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:424,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:425,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:425,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:426,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:426,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:427,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:427,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:428,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:428,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:429,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:429,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:430,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:430,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:433,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:433,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:434,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:434,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:435,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:435,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:436,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:436,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:437,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:437,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:438,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:438,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:439,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:439,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:440,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:440,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:441,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:441,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:442,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:442,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:443,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:443,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:444,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:444,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:445,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:445,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:446,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:446,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:447,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:447,1
    - Dst: MD5_STEP
      Src: /src/PROJ/curl/lib/md5.c:448,1
    - Dst: MD5_GET
      Src: /src/PROJ/curl/lib/md5.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - my_md5_ctx*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 464
    functionName: my_md5_body
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_STEP
    - MD5_GET
    - MD5_SET
    linkageType: ''
    returnType: void
    signature: "void *my_md5_body(my_md5_ctx *ctx,\n                               const
      void *data, unsigned long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 478
    functionName: my_md5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/md5.c:499,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/md5.c:503,1
    - Dst: my_md5_body
      Src: /src/PROJ/curl/lib/md5.c:506,1
    - Dst: my_md5_body
      Src: /src/PROJ/curl/lib/md5.c:510,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/md5.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - in
    - data
    - size
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 515
    functionName: my_md5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - my_md5_body
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *in, const unsigned char *data,\n                          unsigned
      int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/md5.c:529,1
    - Dst: my_md5_body
      Src: /src/PROJ/curl/lib/md5.c:530,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/md5.c:535,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:538,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:539,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:540,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:541,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:542,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:543,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:544,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:545,1
    - Dst: my_md5_body
      Src: /src/PROJ/curl/lib/md5.c:547,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:549,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:550,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:551,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:552,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:553,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:554,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:555,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:556,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:557,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:558,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:559,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:560,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:561,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:562,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:563,1
    - Dst: curlx_ultouc
      Src: /src/PROJ/curl/lib/md5.c:564,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/md5.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - result
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 567
    functionName: my_md5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - curlx_ultouc
    - memset
    - my_md5_body
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *result, void *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_md5_init
      Src: /src/PROJ/curl/lib/md5.c:598,1
    - Dst: my_md5_update
      Src: /src/PROJ/curl/lib/md5.c:600,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/md5.c:600,1
    - Dst: my_md5_final
      Src: /src/PROJ/curl/lib/md5.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - outbuffer
    - input
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 604
    functionName: Curl_md5it
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 1
    functionsReached:
    - curlx_uztoui
    - my_md5_update
    - my_md5_init
    - my_md5_final
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_md5it(unsigned char *outbuffer, const unsigned char
      *input,\n                    const size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/md5.c:611,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/md5.c:616,1
    - Dst: free
      Src: /src/PROJ/curl/lib/md5.c:619,1
    - Dst: free
      Src: /src/PROJ/curl/lib/md5.c:626,1
    - Dst: free
      Src: /src/PROJ/curl/lib/md5.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - md5params
    argTypes:
    - struct MD5_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 632
    functionName: Curl_MD5_init
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: struct MD5_context
    signature: struct MD5_context *Curl_MD5_init(const struct MD5_params *md5params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - struct MD5_context*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: Curl_MD5_update
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_MD5_update(struct MD5_context *context,\n                         const
      unsigned char *data,\n                         unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/md5.c:647,1
    - Dst: free
      Src: /src/PROJ/curl/lib/md5.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - context
    - result
    argTypes:
    - struct MD5_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: Curl_MD5_final
    functionSourceFile: /src/PROJ/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_MD5_final(struct MD5_context *context, unsigned char
      *result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/connect.c:87,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/connect.c:89,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/connect.c:91,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/connect.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: Curl_alpn2alpnid
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 2
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: enum alpnid
    signature: enum alpnid Curl_alpn2alpnid(const char *name, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/connect.c:130,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/connect.c:136,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/connect.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - data
    - nowp
    - duringconnect
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 155
    functionName: Curl_timeleft
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 14
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_timeleft(struct Curl_easy *data,\n                         struct
      curltime *nowp,\n                         bool duringconnect)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:163,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/connect.c:165,1
    - Dst: Curl_expire_ex
      Src: /src/PROJ/curl/lib/connect.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - data
    - sockindex
    - timeout_ms
    - nowp
    argTypes:
    - struct Curl_easy*
    - int
    - int
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: Curl_shutdown_start
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - Curl_expire_ex
    - DEBUGASSERT
    - curlx_now
    linkageType: ''
    returnType: void
    signature: "void Curl_shutdown_start(struct Curl_easy *data, int sockindex,\n
      \                        int timeout_ms, struct curltime *nowp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/connect.c:190,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/connect.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - sockindex
    - nowp
    argTypes:
    - struct connectdata*
    - int
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: Curl_shutdown_timeleft
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_shutdown_timeleft(struct connectdata *conn, int sockindex,\n
      \                                 struct curltime *nowp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/connect.c:209,1
    - Dst: Curl_shutdown_timeleft
      Src: /src/PROJ/curl/lib/connect.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - nowp
    argTypes:
    - struct connectdata*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: Curl_conn_shutdown_timeleft
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - Curl_shutdown_timeleft
    - curlx_now
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_conn_shutdown_timeleft(struct connectdata *conn,\n
      \                                      struct curltime *nowp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/connect.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: Curl_shutdown_clear
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_shutdown_clear(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: Curl_shutdown_started
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_shutdown_started(struct Curl_easy *data, int sockindex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/connect.c:249,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/connect.c:250,1
    - Dst: curlx_inet_ntop
      Src: /src/PROJ/curl/lib/connect.c:258,1
    - Dst: ntohs
      Src: /src/PROJ/curl/lib/connect.c:260,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/connect.c:270,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/connect.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - sa
    - salen
    - addr
    - port
    argTypes:
    - struct sockaddr*
    - curl_socklen_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 285
    functionName: Curl_addr2string
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 5
    functionsReached:
    - curlx_inet_ntop
    - CURL_SETERRNO
    - curl_msnprintf
    - ntohs
    linkageType: ''
    returnType: bool
    signature: "bool Curl_addr2string(struct sockaddr *sa, curl_socklen_t salen,\n
      \                     char *addr, int *port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:296,1
    - Dst: Curl_cpool_get_conn
      Src: /src/PROJ/curl/lib/connect.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - connp
    argTypes:
    - struct Curl_easy*
    - struct connectdata**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: Curl_getconnectinfo
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    - Curl_cpool_get_conn
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,\n                                  struct
      connectdata **connp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:334,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/PROJ/curl/lib/connect.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: reason
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_multiplex
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *reason
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/connect.c:384,1
    - Dst: cf_ip_happy_insert_after
      Src: /src/PROJ/curl/lib/connect.c:390,1
    - Dst: Curl_cf_socks_proxy_insert_after
      Src: /src/PROJ/curl/lib/connect.c:401,1
    - Dst: IS_HTTPS_PROXY
      Src: /src/PROJ/curl/lib/connect.c:411,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/connect.c:412,1
    - Dst: Curl_cf_ssl_proxy_insert_after
      Src: /src/PROJ/curl/lib/connect.c:413,1
    - Dst: Curl_cf_http_proxy_insert_after
      Src: /src/PROJ/curl/lib/connect.c:421,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/connect.c:435,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/connect.c:436,1
    - Dst: Curl_cf_haproxy_insert_after
      Src: /src/PROJ/curl/lib/connect.c:440,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/connect.c:455,1
    - Dst: Curl_cf_ssl_insert_after
      Src: /src/PROJ/curl/lib/connect.c:456,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 78
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 470
    functionName: cf_setup_connect
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_cf_ssl_proxy_insert_after
    - Curl_cf_http_proxy_insert_after
    - failf
    - Curl_conn_is_ssl
    - Curl_cf_haproxy_insert_after
    - IS_HTTPS_PROXY
    - Curl_cf_ssl_insert_after
    - cf_ip_happy_insert_after
    - Curl_conn_cf_connect
    - Curl_cf_socks_proxy_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_setup_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/connect.c:477,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/connect.c:482,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/connect.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 485
    functionName: cf_setup_close
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - struct Curl_cfilter*::next::cft::do_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_setup_close(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/connect.c:492,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/connect.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: cf_setup_destroy
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void cf_setup_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/connect.c:525,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/connect.c:534,1
    - Dst: free
      Src: /src/PROJ/curl/lib/connect.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pcf
    - data
    - transport
    - ssl_mode
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 545
    functionName: cf_setup_create
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - free
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_setup_create(struct Curl_cfilter **pcf,\n                                struct
      Curl_easy *data,\n                                int transport,\n                                int
      ssl_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:556,1
    - Dst: cf_setup_create
      Src: /src/PROJ/curl/lib/connect.c:557,1
    - Dst: Curl_conn_cf_add
      Src: /src/PROJ/curl/lib/connect.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - transport
    - ssl_mode
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: cf_setup_add
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - cf_setup_create
    - Curl_conn_cf_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_setup_add(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             int sockindex,\n                             int
      transport,\n                             int ssl_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:573,1
    - Dst: cf_setup_create
      Src: /src/PROJ/curl/lib/connect.c:574,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/connect.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cf_at
    - data
    - transport
    - ssl_mode
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 580
    functionName: Curl_cf_setup_insert_after
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - cf_setup_create
    - DEBUGASSERT
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_setup_insert_after(struct Curl_cfilter *cf_at,\n
      \                                   struct Curl_easy *data,\n                                    int
      transport,\n                                    int ssl_mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:591,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:592,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/connect.c:594,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:600,1
    - Dst: Curl_cf_https_setup
      Src: /src/PROJ/curl/lib/connect.c:601,1
    - Dst: cf_setup_add
      Src: /src/PROJ/curl/lib/connect.c:609,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/connect.c:615,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/connect.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - dns
    - ssl_mode
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - struct Curl_dns_entry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 620
    functionName: Curl_conn_setup
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 2
    functionsReached:
    - Curl_resolv_unlink
    - DEBUGASSERT
    - Curl_cf_https_setup
    - cf_setup_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_setup(struct Curl_easy *data,\n                         struct
      connectdata *conn,\n                         int sockindex,\n                         struct
      Curl_dns_entry *dns,\n                         int ssl_mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_connchanged
      Src: /src/PROJ/curl/lib/connect.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: Curl_conn_set_multiplex
    functionSourceFile: /src/PROJ/curl/lib/connect.c
    functionUses: 2
    functionsReached:
    - Curl_multi_connchanged
    linkageType: ''
    returnType: void
    signature: void Curl_conn_set_multiplex(struct connectdata *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/pop3.c:286,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/pop3.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 297
    functionName: pop3_is_multiline
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool pop3_is_multiline(const char *cmdline)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:311,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pop3.c:313,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/pop3.c:318,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/pop3.c:340,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - resp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 354
    functionName: pop3_endofresp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool pop3_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                          const char *line, size_t len, int *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:365,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/pop3.c:371,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/pop3.c:387,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/pop3.c:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 394
    functionName: pop3_get_message
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - Curl_conn_meta_get
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:405,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/pop3.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 431
    functionName: pop3_state
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - infof
    linkageType: ''
    returnType: void
    signature: void pop3_state(struct Curl_easy *data, pop3state newstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:443,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:454,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 460
    functionName: pop3_perform_capa
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - pop3_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_capa(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:471,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:478,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: pop3_perform_starttls
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - pop3_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_starttls(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:496,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/pop3.c:503,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/PROJ/curl/lib/pop3.c:504,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pop3.c:511,1
    - Dst: Curl_conn_connect
      Src: /src/PROJ/curl/lib/pop3.c:512,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/pop3.c:513,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/pop3.c:513,1
    - Dst: pop3_perform_capa
      Src: /src/PROJ/curl/lib/pop3.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 527
    functionName: pop3_perform_upgrade_tls
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - pop3_perform_capa
    - Curl_conn_is_ssl
    - Curl_conn_connect
    - Curl_conn_meta_get
    - DEBUGASSERT
    - Curl_ssl_cfilter_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_upgrade_tls(struct Curl_easy *data,\n                                         struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:538,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:547,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:553,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 559
    functionName: pop3_perform_user
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - pop3_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_user(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:571,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:584,1
    - Dst: Curl_MD5_init
      Src: /src/PROJ/curl/lib/pop3.c:590,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/pop3.c:594,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/pop3.c:595,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/pop3.c:595,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/pop3.c:597,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/pop3.c:598,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/pop3.c:598,1
    - Dst: Curl_MD5_final
      Src: /src/PROJ/curl/lib/pop3.c:601,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/pop3.c:605,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:607,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 568
    functionDepth: 6
    functionLinenumber: 568
    functionLinenumberEnd: 613
    functionName: pop3_perform_apop
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_MD5_final
    - pop3_state
    - Curl_MD5_init
    - curl_msnprintf
    - Curl_MD5_update
    - Curl_conn_meta_get
    - curlx_uztoui
    - strlen
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_apop(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:628,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/pop3.c:630,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:637,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 645
    functionName: pop3_perform_auth
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_auth(struct Curl_easy *data,\n                                  const
      char *mech,\n                                  const struct bufref *initresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:658,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:664,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/pop3.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 666
    functionName: pop3_continue_auth
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_continue_auth(struct Curl_easy *data,\n                                   const
      char *mech,\n                                   const struct bufref *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:677,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 684
    functionName: pop3_cancel_auth
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_cancel_auth(struct Curl_easy *data, const char *mech)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:697,1
    - Dst: Curl_sasl_can_authenticate
      Src: /src/PROJ/curl/lib/pop3.c:706,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:707,1
    - Dst: Curl_sasl_start
      Src: /src/PROJ/curl/lib/pop3.c:713,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:717,1
    - Dst: pop3_perform_apop
      Src: /src/PROJ/curl/lib/pop3.c:724,1
    - Dst: pop3_perform_user
      Src: /src/PROJ/curl/lib/pop3.c:729,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/PROJ/curl/lib/pop3.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 694
    functionDepth: 7
    functionLinenumber: 694
    functionLinenumberEnd: 735
    functionName: pop3_perform_authentication
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - pop3_perform_apop
    - Curl_sasl_start
    - Curl_conn_meta_get
    - pop3_perform_user
    - Curl_sasl_is_blocked
    - Curl_sasl_can_authenticate
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_authentication(struct Curl_easy *data,\n                                            struct
      connectdata *conn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:747,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:748,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:770,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:772,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:775,1
    - Dst: pop3_is_multiline
      Src: /src/PROJ/curl/lib/pop3.c:776,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 780
    functionName: pop3_perform_command
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_meta_get
    - Curl_conn_meta_get
    - pop3_is_multiline
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_perform_command(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:791,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:798,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 803
    functionName: pop3_perform_quit
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - pop3_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_quit(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:812,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/pop3.c:820,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:824,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/pop3.c:833,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/pop3.c:836,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/pop3.c:840,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/pop3.c:846,1
    - Dst: pop3_perform_capa
      Src: /src/PROJ/curl/lib/pop3.c:855,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 859
    functionName: pop3_state_servergreet_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - failf
    - pop3_perform_capa
    - Curl_conn_meta_get
    - Curl_memdup0
    - memchr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_servergreet_resp(struct Curl_easy *data,\n                                            int
      pop3code,\n                                            pop3state instate)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:867,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/pop3.c:875,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/pop3.c:881,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/pop3.c:885,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/pop3.c:889,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/pop3.c:902,1
    - Dst: ISNEWLINE
      Src: /src/PROJ/curl/lib/pop3.c:902,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/pop3.c:911,1
    - Dst: ISNEWLINE
      Src: /src/PROJ/curl/lib/pop3.c:912,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/PROJ/curl/lib/pop3.c:916,1
    - Dst: Curl_conn_is_ssl
      Src: /src/PROJ/curl/lib/pop3.c:930,1
    - Dst: pop3_perform_authentication
      Src: /src/PROJ/curl/lib/pop3.c:931,1
    - Dst: pop3_perform_starttls
      Src: /src/PROJ/curl/lib/pop3.c:934,1
    - Dst: pop3_perform_authentication
      Src: /src/PROJ/curl/lib/pop3.c:937,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:939,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 862
    functionDepth: 8
    functionLinenumber: 862
    functionLinenumberEnd: 945
    functionName: pop3_state_capa_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - ISNEWLINE
    - curlx_dyn_ptr
    - failf
    - ISBLANK
    - Curl_conn_is_ssl
    - Curl_sasl_decode_mech
    - Curl_conn_meta_get
    - curl_strnequal
    - pop3_perform_authentication
    - pop3_perform_starttls
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_capa_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:953,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:966,1
    - Dst: pop3_perform_authentication
      Src: /src/PROJ/curl/lib/pop3.c:970,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - data
    - conn
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 948
    functionDepth: 8
    functionLinenumber: 948
    functionLinenumberEnd: 976
    functionName: pop3_state_starttls_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - pop3_state
    - failf
    - pop3_perform_authentication
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_starttls_resp(struct Curl_easy *data,\n                                         struct
      connectdata *conn,\n                                         int pop3code,\n
      \                                        pop3state instate)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:985,1
    - Dst: Curl_sasl_continue
      Src: /src/PROJ/curl/lib/pop3.c:992,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:996,1
    - Dst: pop3_perform_apop
      Src: /src/PROJ/curl/lib/pop3.c:1002,1
    - Dst: pop3_perform_user
      Src: /src/PROJ/curl/lib/pop3.c:1007,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:1009,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 979
    functionDepth: 7
    functionLinenumber: 979
    functionLinenumberEnd: 1018
    functionName: pop3_state_auth_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - failf
    - pop3_perform_apop
    - Curl_conn_meta_get
    - pop3_perform_user
    - Curl_sasl_continue
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_auth_resp(struct Curl_easy *data,\n                                     int
      pop3code,\n                                     pop3state instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:1029,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1037
    functionName: pop3_state_apop_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_apop_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1046,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:1053,1
    - Dst: Curl_pp_sendf
      Src: /src/PROJ/curl/lib/pop3.c:1058,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1063
    functionName: pop3_state_user_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - pop3_state
    - failf
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_user_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/pop3.c:1073,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1066
    functionDepth: 3
    functionLinenumber: 1066
    functionLinenumberEnd: 1081
    functionName: pop3_state_pass_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_pass_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1090,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1091,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1100,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/pop3.c:1116,1
    - Dst: curlx_dyn_tail
      Src: /src/PROJ/curl/lib/pop3.c:1124,1
    - Dst: pop3_write
      Src: /src/PROJ/curl/lib/pop3.c:1128,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/pop3.c:1128,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/pop3.c:1129,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/pop3.c:1135,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1084
    functionDepth: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1146
    functionName: pop3_state_command_resp
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - curlx_dyn_ptr
    - pop3_state
    - Curl_xfer_setup_recv
    - Curl_meta_get
    - Curl_conn_meta_get
    - curlx_dyn_reset
    - curlx_dyn_len
    - pop3_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_command_resp(struct Curl_easy *data,\n                                        int
      pop3code,\n                                        pop3state instate)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1151,1
    - Dst: pop3_perform_upgrade_tls
      Src: /src/PROJ/curl/lib/pop3.c:1165,1
    - Dst: Curl_pp_flushsend
      Src: /src/PROJ/curl/lib/pop3.c:1172,1
    - Dst: Curl_pp_readresp
      Src: /src/PROJ/curl/lib/pop3.c:1176,1
    - Dst: pop3_state_servergreet_resp
      Src: /src/PROJ/curl/lib/pop3.c:1186,1
    - Dst: pop3_state_capa_resp
      Src: /src/PROJ/curl/lib/pop3.c:1190,1
    - Dst: pop3_state_starttls_resp
      Src: /src/PROJ/curl/lib/pop3.c:1194,1
    - Dst: pop3_state_auth_resp
      Src: /src/PROJ/curl/lib/pop3.c:1202,1
    - Dst: pop3_state_apop_resp
      Src: /src/PROJ/curl/lib/pop3.c:1207,1
    - Dst: pop3_state_user_resp
      Src: /src/PROJ/curl/lib/pop3.c:1212,1
    - Dst: pop3_state_pass_resp
      Src: /src/PROJ/curl/lib/pop3.c:1216,1
    - Dst: pop3_state_command_resp
      Src: /src/PROJ/curl/lib/pop3.c:1220,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1224,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1229,1
    - Dst: Curl_pp_moredata
      Src: /src/PROJ/curl/lib/pop3.c:1232,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1148
    functionDepth: 9
    functionLinenumber: 1148
    functionLinenumberEnd: 1235
    functionName: pop3_statemachine
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_moredata
    - pop3_state
    - Curl_pp_flushsend
    - pop3_state_command_resp
    - pop3_state_starttls_resp
    - pop3_perform_upgrade_tls
    - pop3_state_apop_resp
    - Curl_conn_meta_get
    - pop3_state_servergreet_resp
    - pop3_state_user_resp
    - pop3_state_pass_resp
    - Curl_pp_readresp
    - pop3_state_capa_resp
    - pop3_state_auth_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_statemachine(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1242,1
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/pop3.c:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1250
    functionName: pop3_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1257,1
    - Dst: Curl_pp_statemach
      Src: /src/PROJ/curl/lib/pop3.c:1263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1266
    functionName: pop3_block_statemach
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_block_statemach(struct Curl_easy *data,\n                                     struct
      connectdata *conn,\n                                     bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1273,1
    - Dst: Curl_pp_pollset
      Src: /src/PROJ/curl/lib/pop3.c:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1275
    functionName: pop3_pollset
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pp_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1291,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/pop3.c:1299,1
    - Dst: PINGPONG_SETUP
      Src: /src/PROJ/curl/lib/pop3.c:1301,1
    - Dst: Curl_sasl_init
      Src: /src/PROJ/curl/lib/pop3.c:1305,1
    - Dst: Curl_pp_init
      Src: /src/PROJ/curl/lib/pop3.c:1308,1
    - Dst: pop3_parse_url_options
      Src: /src/PROJ/curl/lib/pop3.c:1311,1
    - Dst: pop3_state
      Src: /src/PROJ/curl/lib/pop3.c:1316,1
    - Dst: pop3_multi_statemach
      Src: /src/PROJ/curl/lib/pop3.c:1318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1287
    functionDepth: 4
    functionLinenumber: 1287
    functionLinenumberEnd: 1321
    functionName: pop3_connect
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_init
    - Curl_sasl_init
    - connkeep
    - pop3_state
    - PINGPONG_SETUP
    - Curl_conn_meta_get
    - pop3_multi_statemach
    - pop3_parse_url_options
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1336,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/pop3.c:1344,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/pop3.c:1349,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/pop3.c:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1356
    functionName: pop3_done
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - connclose
    - Curl_meta_get
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1370,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/pop3.c:1375,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/pop3.c:1375,1
    - Dst: pop3_perform_command
      Src: /src/PROJ/curl/lib/pop3.c:1378,1
    - Dst: pop3_multi_statemach
      Src: /src/PROJ/curl/lib/pop3.c:1389,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/pop3.c:1390,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/pop3.c:1393,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/pop3.c:1393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1365
    functionDepth: 5
    functionLinenumber: 1365
    functionLinenumberEnd: 1396
    functionName: pop3_perform
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_meta_get
    - Curl_conn_is_connected
    - pop3_multi_statemach
    - pop3_perform_command
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform(struct Curl_easy *data, bool *connected,\n                             bool
      *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop3_parse_url_path
      Src: /src/PROJ/curl/lib/pop3.c:1413,1
    - Dst: pop3_parse_custom_request
      Src: /src/PROJ/curl/lib/pop3.c:1418,1
    - Dst: pop3_regular_transfer
      Src: /src/PROJ/curl/lib/pop3.c:1422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1425
    functionName: pop3_do
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_parse_url_path
    - pop3_regular_transfer
    - pop3_parse_custom_request
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1437,1
    - Dst: Curl_pp_needs_flush
      Src: /src/PROJ/curl/lib/pop3.c:1448,1
    - Dst: pop3_perform_quit
      Src: /src/PROJ/curl/lib/pop3.c:1449,1
    - Dst: pop3_block_statemach
      Src: /src/PROJ/curl/lib/pop3.c:1450,1
    - Dst: Curl_pp_disconnect
      Src: /src/PROJ/curl/lib/pop3.c:1454,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/pop3.c:1457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1434
    functionDepth: 4
    functionLinenumber: 1434
    functionLinenumberEnd: 1460
    functionName: pop3_disconnect
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_block_statemach
    - Curl_conn_meta_get
    - Curl_pp_disconnect
    - Curl_pp_needs_flush
    - Curl_safefree
    - pop3_perform_quit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn, bool dead_connection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - connected
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1469
    functionName: pop3_dophase_done
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_dophase_done(struct Curl_easy *data, bool connected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop3_multi_statemach
      Src: /src/PROJ/curl/lib/pop3.c:1474,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/pop3.c:1477,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/pop3.c:1477,1
    - Dst: pop3_dophase_done
      Src: /src/PROJ/curl/lib/pop3.c:1479,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/pop3.c:1481,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/pop3.c:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1472
    functionDepth: 4
    functionLinenumber: 1472
    functionLinenumberEnd: 1485
    functionName: pop3_doing
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_multi_statemach
    - infof
    - DEBUGF
    - pop3_dophase_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/pop3.c:1506,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/pop3.c:1507,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/pop3.c:1508,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/pop3.c:1509,1
    - Dst: pop3_perform
      Src: /src/PROJ/curl/lib/pop3.c:1512,1
    - Dst: pop3_dophase_done
      Src: /src/PROJ/curl/lib/pop3.c:1516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1496
    functionDepth: 6
    functionLinenumber: 1496
    functionLinenumberEnd: 1519
    functionName: pop3_regular_transfer
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - pop3_perform
    - pop3_dophase_done
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_regular_transfer(struct Curl_easy *data,\n                                      bool
      *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pop3.c:1526,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/pop3.c:1528,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/pop3.c:1529,1
    - Dst: free
      Src: /src/PROJ/curl/lib/pop3.c:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1531
    functionName: pop3_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void pop3_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/pop3.c:1538,1
    - Dst: Curl_pp_disconnect
      Src: /src/PROJ/curl/lib/pop3.c:1539,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/pop3.c:1540,1
    - Dst: free
      Src: /src/PROJ/curl/lib/pop3.c:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1533
    functionDepth: 2
    functionLinenumber: 1533
    functionLinenumberEnd: 1542
    functionName: pop3_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - free
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void pop3_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/pop3.c:1548,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/pop3.c:1550,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/pop3.c:1553,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/pop3.c:1555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1544
    functionDepth: 2
    functionLinenumber: 1544
    functionLinenumberEnd: 1559
    functionName: pop3_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1569,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/pop3.c:1588,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/PROJ/curl/lib/pop3.c:1589,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/pop3.c:1592,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1619
    functionName: pop3_parse_url_options
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_sasl_parse_url_auth_option
    - Curl_conn_meta_get
    - curl_strnequal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_parse_url_options(struct connectdata *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1630,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/pop3.c:1636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1627
    functionDepth: 2
    functionLinenumber: 1627
    functionLinenumberEnd: 1637
    functionName: pop3_parse_url_path
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_meta_get
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_parse_url_path(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1648,1
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/pop3.c:1655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1658
    functionName: pop3_parse_custom_request
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_meta_get
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_parse_custom_request(struct Curl_easy *data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/pop3.c:1674,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/pop3.c:1698,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/pop3.c:1757,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/pop3.c:1761,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/pop3.c:1781,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/pop3.c:1794,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 4
    argNames:
    - data
    - str
    - nread
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1667
    functionDepth: 2
    functionLinenumber: 1667
    functionLinenumberEnd: 1799
    functionName: pop3_write
    functionSourceFile: /src/PROJ/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_conn_meta_get
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_write(struct Curl_easy *data, const char *str,\n                           size_t
      nread, bool is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - hs
    - index
    - amount
    - e
    - hout
    argTypes:
    - struct Curl_header_store*
    - size_t
    - size_t
    - struct Curl_llist_node*
    - struct curl_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: copy_header_external
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void copy_header_external(struct Curl_header_store *hs,\n                                 size_t
      index,\n                                 size_t amount,\n                                 struct
      Curl_llist_node *e,\n                                 struct curl_header *hout)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/headers.c:79,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/headers.c:87,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/headers.c:87,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/headers.c:88,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/headers.c:89,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/headers.c:106,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/headers.c:106,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/headers.c:107,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/headers.c:108,1
    - Dst: copy_header_external
      Src: /src/PROJ/curl/lib/headers.c:120,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 6
    argNames:
    - easy
    - name
    - nameindex
    - type
    - request
    - hout
    argTypes:
    - CURL*
    - char*
    - size_t
    - unsigned int
    - int
    - struct curl_header**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 124
    functionName: curl_easy_header
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 6
    functionsReached:
    - copy_header_external
    - Curl_llist_count
    - Curl_node_next
    - Curl_llist_head
    - curl_strequal
    - Curl_node_elem
    linkageType: ''
    returnType: CURLHcode
    signature: "CURLHcode curl_easy_header(CURL *easy,\n                           const
      char *name,\n                           size_t nameindex,\n                           unsigned
      int type,\n                           int request,\n                           struct
      curl_header **hout)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/headers.c:149,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/headers.c:152,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/headers.c:157,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/headers.c:160,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/headers.c:168,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/headers.c:172,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/headers.c:172,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/headers.c:173,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/headers.c:174,1
    - Dst: copy_header_external
      Src: /src/PROJ/curl/lib/headers.c:182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - easy
    - type
    - request
    - prev
    argTypes:
    - CURL*
    - unsigned int
    - int
    - struct curl_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 185
    functionName: curl_easy_nextheader
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 4
    functionsReached:
    - copy_header_external
    - Curl_node_next
    - Curl_llist_head
    - curl_strequal
    - Curl_node_elem
    linkageType: ''
    returnType: struct curl_header
    signature: "struct curl_header *curl_easy_nextheader(CURL *easy,\n                                         unsigned
      int type,\n                                         int request,\n                                         struct
      curl_header *prev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/headers.c:191,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/headers.c:211,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/headers.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - header
    - hlen
    - type
    - name
    - value
    argTypes:
    - char*
    - size_t
    - unsigned int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: namevalue
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode namevalue(char *header, size_t hlen, unsigned int type,\n
      \                         char **name, char **value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/headers.c:230,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/headers.c:232,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/headers.c:237,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/headers.c:241,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/headers.c:241,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/headers.c:249,1
    - Dst: Curl_saferealloc
      Src: /src/PROJ/curl/lib/headers.c:252,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/headers.c:262,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/headers.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - data
    - value
    - vlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 269
    functionName: unfold_value
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - Curl_saferealloc
    - memcpy
    - ISBLANK
    - Curl_llist_append
    - Curl_node_remove
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode unfold_value(struct Curl_easy *data, const char *value,\n
      \                            size_t vlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/headers.c:290,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/headers.c:292,1
    - Dst: unfold_value
      Src: /src/PROJ/curl/lib/headers.c:302,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/headers.c:306,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/headers.c:314,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/headers.c:315,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/headers.c:320,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/headers.c:323,1
    - Dst: namevalue
      Src: /src/PROJ/curl/lib/headers.c:326,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/headers.c:334,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/headers.c:338,1
    - Dst: free
      Src: /src/PROJ/curl/lib/headers.c:339,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - data
    - header
    - type
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 342
    functionName: Curl_headers_push
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 1
    functionsReached:
    - free
    - failf
    - ISBLANK
    - memcpy
    - strchr
    - Curl_llist_append
    - unfold_value
    - namevalue
    - Curl_llist_count
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_headers_push(struct Curl_easy *data, const char *header,\n
      \                          unsigned char type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/headers.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: headers_reset
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - Curl_llist_init
    linkageType: ''
    returnType: void
    signature: void headers_reset(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_headers_push
      Src: /src/PROJ/curl/lib/headers.c:367,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/headers.c:368,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/headers.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: hds_cw_collect_write
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - Curl_headers_push
    - CURL_TRC_WRITE
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode hds_cw_collect_write(struct Curl_easy *data,\n                                     struct
      Curl_cwriter *writer, int type,\n                                     const
      char *buf, size_t blen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_name
      Src: /src/PROJ/curl/lib/headers.c:392,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/headers.c:395,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/headers.c:400,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/headers.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: Curl_headers_init
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 2
    functionsReached:
    - Curl_cwriter_get_by_name
    - Curl_cwriter_create
    - Curl_cwriter_free
    - Curl_cwriter_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_headers_init(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/headers.c:417,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/headers.c:418,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/headers.c:419,1
    - Dst: free
      Src: /src/PROJ/curl/lib/headers.c:420,1
    - Dst: headers_reset
      Src: /src/PROJ/curl/lib/headers.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: Curl_headers_cleanup
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 2
    functionsReached:
    - free
    - headers_reset
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_headers_cleanup(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - easy
    - name
    - index
    - origin
    - request
    - hout
    argTypes:
    - CURL*
    - char*
    - size_t
    - unsigned int
    - int
    - struct curl_header**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 442
    functionName: curl_easy_header
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLHcode
    signature: "CURLHcode curl_easy_header(CURL *easy,\n                           const
      char *name,\n                           size_t index,\n                           unsigned
      int origin,\n                           int request,\n                           struct
      curl_header **hout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - easy
    - type
    - request
    - prev
    argTypes:
    - CURL*
    - unsigned int
    - int
    - struct curl_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: curl_easy_nextheader
    functionSourceFile: /src/PROJ/curl/lib/headers.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct curl_header
    signature: "struct curl_header *curl_easy_nextheader(CURL *easy,\n                                         unsigned
      int type,\n                                         int request,\n                                         struct
      curl_header *prev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/hsts.c:59,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/hsts.c:63,1
    - Dst: time
      Src: /src/PROJ/curl/lib/hsts.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: hsts_debugtime
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - getenv
    - time
    - curlx_str_number
    linkageType: ''
    returnType: time_t
    signature: time_t hsts_debugtime(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: time
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: time(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hsts.c:75,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/hsts.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: Curl_hsts_init
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 5
    functionsReached:
    - Curl_llist_init
    - calloc
    linkageType: ''
    returnType: struct hsts
    signature: struct hsts *Curl_hsts_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:84,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/hsts.c:84,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct stsentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: hsts_free
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void hsts_free(struct stsentry *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/hsts.c:94,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/hsts.c:95,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/hsts.c:96,1
    - Dst: hsts_free
      Src: /src/PROJ/curl/lib/hsts.c:97,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:99,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct hsts**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: Curl_hsts_cleanup
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 8
    functionsReached:
    - free
    - hsts_free
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: void Curl_hsts_cleanup(struct hsts **hp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hsts.c:111,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hsts.c:112,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/hsts.c:119,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/hsts.c:123,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:125,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/hsts.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - h
    - hostname
    - hlen
    - subdomains
    - expires
    argTypes:
    - struct hsts*
    - char*
    - size_t
    - bool
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 135
    functionName: hsts_create
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_llist_append
    - calloc
    - Curl_memdup0
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode hsts_create(struct hsts *h,\n                            const
      char *hostname,\n                            size_t hlen,\n                            bool
      subdomains,\n                            curl_off_t expires)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/lib/hsts.c:146,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hsts.c:147,1
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/hsts.c:149,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/hsts.c:155,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/hsts.c:156,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/hsts.c:164,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hsts.c:165,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/hsts.c:167,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/hsts.c:169,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/hsts.c:172,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/hsts.c:186,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/hsts.c:199,1
    - Dst: Curl_hsts
      Src: /src/PROJ/curl/lib/hsts.c:210,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/hsts.c:212,1
    - Dst: hsts_free
      Src: /src/PROJ/curl/lib/hsts.c:213,1
    - Dst: Curl_hsts
      Src: /src/PROJ/curl/lib/hsts.c:225,1
    - Dst: hsts_create
      Src: /src/PROJ/curl/lib/hsts.c:232,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 3
    argNames:
    - h
    - hostname
    - header
    argTypes:
    - struct hsts*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 235
    functionName: Curl_hsts_parse
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - time
    - curlx_str_single
    - curlx_str_passblanks
    - Curl_host_is_ipnum
    - curlx_str_number
    - Curl_hsts
    - Curl_node_remove
    - curl_strnequal
    - hsts_free
    - strlen
    - hsts_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hsts_parse(struct hsts *h, const char *hostname,\n                         const
      char *header)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/lib/hsts.c:248,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/hsts.c:259,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/hsts.c:260,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/hsts.c:262,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/hsts.c:265,1
    - Dst: hsts_free
      Src: /src/PROJ/curl/lib/hsts.c:266,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hsts.c:269,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/hsts.c:273,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/hsts.c:281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - h
    - hostname
    - hlen
    - subdomain
    argTypes:
    - struct hsts*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 286
    functionName: Curl_hsts
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 3
    functionsReached:
    - time
    - Curl_node_remove
    - curl_strnequal
    - hsts_free
    - Curl_node_next
    - Curl_llist_head
    - strlen
    - Curl_node_elem
    linkageType: ''
    returnType: struct stsentry
    signature: "struct stsentry *Curl_hsts(struct hsts *h, const char *hostname,\n
      \                          size_t hlen, bool subdomain)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/hsts.c:301,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hsts.c:302,1
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/hsts.c:306,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/hsts.c:310,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/hsts.c:315,1
    - Dst: struct Curl_easy*::set::hsts_write
      Src: /src/PROJ/curl/lib/hsts.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - data
    - i
    - sts
    - stop
    argTypes:
    - struct Curl_easy*
    - struct curl_index*
    - struct stsentry*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: hsts_push
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - strcpy
    - curl_msnprintf
    - Curl_gmtime
    - CURL_UNCONST
    - strlen
    - struct Curl_easy*::set::hsts_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode hsts_push(struct Curl_easy *data,\n                          struct
      curl_index *i,\n                          struct stsentry *sts,\n                          bool
      *stop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/hsts.c:330,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hsts.c:333,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/hsts.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sts
    - fp
    argTypes:
    - struct stsentry*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: hsts_out
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - Curl_gmtime
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_out(struct stsentry *sts, FILE *fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fopen
      Src: /src/PROJ/curl/lib/hsts.c:369,1
    - Dst: fputs
      Src: /src/PROJ/curl/lib/hsts.c:371,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/hsts.c:374,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/hsts.c:375,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/hsts.c:376,1
    - Dst: hsts_out
      Src: /src/PROJ/curl/lib/hsts.c:377,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/hsts.c:381,1
    - Dst: Curl_rename
      Src: /src/PROJ/curl/lib/hsts.c:382,1
    - Dst: unlink
      Src: /src/PROJ/curl/lib/hsts.c:386,1
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:388,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/hsts.c:393,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/hsts.c:395,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/hsts.c:396,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/hsts.c:398,1
    - Dst: hsts_push
      Src: /src/PROJ/curl/lib/hsts.c:399,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 3
    argNames:
    - data
    - h
    - file
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 348
    functionDepth: 7
    functionLinenumber: 348
    functionLinenumberEnd: 406
    functionName: Curl_hsts_save
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - fputs
    - Curl_rename
    - free
    - Curl_fopen
    - hsts_out
    - hsts_push
    - Curl_llist_count
    - unlink
    - Curl_node_next
    - Curl_llist_head
    - curlx_fclose
    - Curl_node_elem
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hsts_save(struct Curl_easy *data, struct hsts *h,\n
      \                       const char *file)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/lib/hsts.c:418,1
    - Dst: curlx_str_singlespace
      Src: /src/PROJ/curl/lib/hsts.c:419,1
    - Dst: curlx_str_quotedword
      Src: /src/PROJ/curl/lib/hsts.c:420,1
    - Dst: curlx_str_newline
      Src: /src/PROJ/curl/lib/hsts.c:421,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hsts.c:429,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/hsts.c:433,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hsts.c:433,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hsts.c:433,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hsts.c:434,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/hsts.c:436,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/hsts.c:439,1
    - Dst: curlx_str_nudge
      Src: /src/PROJ/curl/lib/hsts.c:442,1
    - Dst: Curl_hsts
      Src: /src/PROJ/curl/lib/hsts.c:446,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hsts.c:446,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hsts.c:446,1
    - Dst: hsts_create
      Src: /src/PROJ/curl/lib/hsts.c:448,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/hsts.c:448,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/hsts.c:448,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/hsts.c:450,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - h
    - line
    argTypes:
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 460
    functionName: hsts_add
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - memcpy
    - strcmp
    - curlx_str_newline
    - curlx_str_singlespace
    - Curl_getdate_capped
    - Curl_hsts
    - curlx_str_nudge
    - hsts_create
    - curlx_str
    - curlx_strlen
    - curlx_str_quotedword
    - curlx_str_word
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_add(struct hsts *h, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hsts.c:471,1
    - Dst: struct Curl_easy*::set::hsts_read
      Src: /src/PROJ/curl/lib/hsts.c:480,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hsts.c:484,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/hsts.c:489,1
    - Dst: hsts_create
      Src: /src/PROJ/curl/lib/hsts.c:492,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hsts.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - data
    - h
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 504
    functionName: hsts_pull
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - Curl_getdate_capped
    - hsts_create
    - strlen
    - DEBUGASSERT
    - struct Curl_easy*::set::hsts_read
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_pull(struct Curl_easy *data, struct hsts *h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/hsts.c:521,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/hsts.c:522,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/hsts.c:526,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/hsts.c:530,1
    - Dst: Curl_get_line
      Src: /src/PROJ/curl/lib/hsts.c:532,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/hsts.c:534,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/hsts.c:535,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/hsts.c:541,1
    - Dst: hsts_add
      Src: /src/PROJ/curl/lib/hsts.c:544,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/hsts.c:547,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/hsts.c:548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - h
    - file
    argTypes:
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 514
    functionDepth: 6
    functionLinenumber: 514
    functionLinenumberEnd: 551
    functionName: hsts_load
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_ptr
    - hsts_add
    - curlx_str_passblanks
    - curlx_dyn_init
    - curlx_fopen
    - curlx_dyn_free
    - strlen
    - Curl_get_line
    - curlx_fclose
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_load(struct hsts *h, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/hsts.c:559,1
    - Dst: hsts_load
      Src: /src/PROJ/curl/lib/hsts.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - h
    - file
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 556
    functionDepth: 7
    functionLinenumber: 556
    functionLinenumberEnd: 562
    functionName: Curl_hsts_loadfile
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - hsts_load
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hsts_loadfile(struct Curl_easy *data,\n                            struct
      hsts *h, const char *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hsts_pull
      Src: /src/PROJ/curl/lib/hsts.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - h
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 6
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: Curl_hsts_loadcb
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - hsts_pull
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_hsts_loadcb(struct Curl_easy *data, struct hsts *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/hsts.c:578,1
    - Dst: Curl_hsts_loadfile
      Src: /src/PROJ/curl/lib/hsts.c:581,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/hsts.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 574
    functionDepth: 8
    functionLinenumber: 574
    functionLinenumberEnd: 586
    functionName: Curl_hsts_loadfiles
    functionSourceFile: /src/PROJ/curl/lib/hsts.c
    functionUses: 1
    functionsReached:
    - Curl_share_unlock
    - Curl_share_lock
    - Curl_hsts_loadfile
    linkageType: ''
    returnType: void
    signature: void Curl_hsts_loadfiles(struct Curl_easy *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_alpn2alpnid
      Src: /src/PROJ/curl/lib/httpsrr.c:59,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/httpsrr.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cp
    - len
    - alpns
    argTypes:
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 75
    functionName: httpsrr_decode_alpn
    functionSourceFile: /src/PROJ/curl/lib/httpsrr.c
    functionUses: 0
    functionsReached:
    - Curl_alpn2alpnid
    - memchr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpsrr_decode_alpn(const char *cp, size_t len,\n                                    unsigned
      char *alpns)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:84,1
    - Dst: httpsrr_decode_alpn
      Src: /src/PROJ/curl/lib/httpsrr.c:87,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:88,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:95,1
    - Dst: free
      Src: /src/PROJ/curl/lib/httpsrr.c:100,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/httpsrr.c:101,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:105,1
    - Dst: free
      Src: /src/PROJ/curl/lib/httpsrr.c:110,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/httpsrr.c:111,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:115,1
    - Dst: free
      Src: /src/PROJ/curl/lib/httpsrr.c:120,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/httpsrr.c:121,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:125,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:131,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:134,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - data
    - hi
    - rrkey
    - val
    - vlen
    argTypes:
    - struct Curl_easy*
    - struct Curl_https_rrinfo*
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 138
    functionName: Curl_httpsrr_set
    functionSourceFile: /src/PROJ/curl/lib/httpsrr.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_memdup
    - CURL_TRC_DNS
    - httpsrr_decode_alpn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_httpsrr_set(struct Curl_easy *data,\n                          struct
      Curl_https_rrinfo *hi,\n                          uint16_t rrkey, const uint8_t
      *val, size_t vlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/httpsrr.c:143,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/httpsrr.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rrinfo
    argTypes:
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Curl_httpsrr_dup_move
    functionSourceFile: /src/PROJ/curl/lib/httpsrr.c
    functionUses: 1
    functionsReached:
    - memset
    - Curl_memdup
    linkageType: ''
    returnType: struct Curl_https_rrinfo
    signature: 'struct Curl_https_rrinfo *

      Curl_httpsrr_dup_move(struct Curl_https_rrinfo *rrinfo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/httpsrr.c:151,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/httpsrr.c:152,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/httpsrr.c:153,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/httpsrr.c:154,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/httpsrr.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rrinfo
    argTypes:
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Curl_httpsrr_cleanup
    functionSourceFile: /src/PROJ/curl/lib/httpsrr.c
    functionUses: 4
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_httpsrr_cleanup(struct Curl_https_rrinfo *rrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_dns_rr_get_opt
      Src: /src/PROJ/curl/lib/httpsrr.c:170,1
    - Dst: Curl_httpsrr_set
      Src: /src/PROJ/curl/lib/httpsrr.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - data
    - rr
    - key
    - idx
    - hinfo
    argTypes:
    - struct Curl_easy*
    - ares_dns_rr_t*
    - ares_dns_rr_key_t
    - size_t
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: httpsrr_opt
    functionSourceFile: /src/PROJ/curl/lib/httpsrr.c
    functionUses: 0
    functionsReached:
    - ares_dns_rr_get_opt
    - Curl_httpsrr_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpsrr_opt(struct Curl_easy *data,\n                            const
      ares_dns_rr_t *rr,\n                            ares_dns_rr_key_t key, size_t
      idx,\n                            struct Curl_https_rrinfo *hinfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ares_dns_record_rr_cnt
      Src: /src/PROJ/curl/lib/httpsrr.c:181,1
    - Dst: ares_dns_record_rr_get_const
      Src: /src/PROJ/curl/lib/httpsrr.c:185,1
    - Dst: ares_dns_rr_get_type
      Src: /src/PROJ/curl/lib/httpsrr.c:186,1
    - Dst: ares_dns_rr_get_str
      Src: /src/PROJ/curl/lib/httpsrr.c:190,1
    - Dst: free
      Src: /src/PROJ/curl/lib/httpsrr.c:192,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/httpsrr.c:193,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:198,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/httpsrr.c:200,1
    - Dst: ares_dns_rr_get_u16
      Src: /src/PROJ/curl/lib/httpsrr.c:201,1
    - Dst: ares_dns_rr_get_opt_cnt
      Src: /src/PROJ/curl/lib/httpsrr.c:202,1
    - Dst: httpsrr_opt
      Src: /src/PROJ/curl/lib/httpsrr.c:204,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/httpsrr.c:210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - data
    - dnsrec
    - hinfo
    argTypes:
    - struct Curl_easy*
    - ares_dns_record_t*
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 174
    functionDepth: 7
    functionLinenumber: 174
    functionLinenumberEnd: 212
    functionName: Curl_httpsrr_from_ares
    functionSourceFile: /src/PROJ/curl/lib/httpsrr.c
    functionUses: 1
    functionsReached:
    - httpsrr_opt
    - free
    - ares_dns_record_rr_get_const
    - ares_dns_record_rr_cnt
    - Curl_safefree
    - ares_dns_rr_get_u16
    - ares_dns_rr_get_type
    - CURL_TRC_DNS
    - ares_dns_rr_get_str
    - ares_dns_rr_get_opt_cnt
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_httpsrr_from_ares(struct Curl_easy *data,\n                                const
      ares_dns_record_t *dnsrec,\n                                struct Curl_https_rrinfo
      *hinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cw-pause.c:55,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/cw-pause.c:59,1
    - Dst: Curl_bufq_init
      Src: /src/PROJ/curl/lib/cw-pause.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - type
    - buflen
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: cw_pause_buf_create
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init
    - calloc
    - Curl_bufq_init2
    linkageType: ''
    returnType: struct cw_pause_buf
    signature: struct cw_pause_buf *cw_pause_buf_create(int type, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/cw-pause.c:70,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cw-pause.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cwbuf
    argTypes:
    - struct cw_pause_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: cw_pause_buf_free
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cw_pause_buf_free(struct cw_pause_buf *cwbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: cw_pause_init
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_pause_init(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_pause_buf_free
      Src: /src/PROJ/curl/lib/cw-pause.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cw_pause_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: cw_pause_bufs_free
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - cw_pause_buf_free
    linkageType: ''
    returnType: void
    signature: void cw_pause_bufs_free(struct cw_pause_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_pause_bufs_free
      Src: /src/PROJ/curl/lib/cw-pause.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: cw_pause_close
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - cw_pause_bufs_free
    linkageType: ''
    returnType: void
    signature: void cw_pause_close(struct Curl_easy *data, struct Curl_cwriter *writer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_content_decoding
      Src: /src/PROJ/curl/lib/cw-pause.c:128,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/cw-pause.c:132,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/cw-pause.c:139,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/cw-pause.c:141,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/cw-pause.c:142,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-pause.c:144,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/cw-pause.c:146,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-pause.c:147,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/cw-pause.c:153,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-pause.c:155,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/cw-pause.c:159,1
    - Dst: cw_pause_buf_free
      Src: /src/PROJ/curl/lib/cw-pause.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - data
    - cw_pause
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 165
    functionName: cw_pause_flush
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 2
    functionsReached:
    - Curl_cwriter_is_content_decoding
    - Curl_cwriter_is_paused
    - CURL_TRC_WRITE
    - Curl_bufq_is_empty
    - Curl_bufq_peek
    - CURLMIN
    - DEBUGASSERT
    - cw_pause_buf_free
    - Curl_bufq_skip
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_pause_flush(struct Curl_easy *data,\n                               struct
      Curl_cwriter *cw_pause)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_content_decoding
      Src: /src/PROJ/curl/lib/cw-pause.c:174,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/cw-pause.c:176,1
    - Dst: cw_pause_flush
      Src: /src/PROJ/curl/lib/cw-pause.c:177,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/PROJ/curl/lib/cw-pause.c:182,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cw-pause.c:184,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/cw-pause.c:188,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/cw-pause.c:191,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-pause.c:192,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/cw-pause.c:207,1
    - Dst: cw_pause_buf_create
      Src: /src/PROJ/curl/lib/cw-pause.c:211,1
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/cw-pause.c:216,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/cw-pause.c:218,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 229
    functionName: cw_pause_write
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_is_content_decoding
    - Curl_cwriter_is_paused
    - cw_pause_flush
    - Curl_bufq_cwrite
    - CURL_TRC_WRITE
    - CURLMIN
    - DEBUGASSERT
    - cw_pause_buf_create
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_pause_write(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer, int type,\n                               const char *buf,
      size_t blen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/PROJ/curl/lib/cw-pause.c:236,1
    - Dst: cw_pause_flush
      Src: /src/PROJ/curl/lib/cw-pause.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: Curl_cw_pause_flush
    functionSourceFile: /src/PROJ/curl/lib/cw-pause.c
    functionUses: 2
    functionsReached:
    - cw_pause_flush
    - Curl_cwriter_get_by_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cw_pause_flush(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: RTP_PKT_LENGTH
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_LENGTH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_out
      Src: /src/PROJ/curl/lib/rtsp.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: rtsp_do_pollset
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_do_pollset(struct Curl_easy *data,\n                                struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/rtsp.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: rtsp_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtsp_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/rtsp.c:173,1
    - Dst: free
      Src: /src/PROJ/curl/lib/rtsp.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: rtsp_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void rtsp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/rtsp.c:183,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/rtsp.c:186,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/rtsp.c:187,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/rtsp.c:190,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/rtsp.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: rtsp_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_alive
      Src: /src/PROJ/curl/lib/rtsp.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - checks_to_perform
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: rtsp_conncheck
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_alive
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rtsp_conncheck(struct Curl_easy *data,\n                                   struct
      connectdata *conn,\n                                   unsigned int checks_to_perform)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/rtsp.c:222,1
    - Dst: Curl_http_connect
      Src: /src/PROJ/curl/lib/rtsp.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: rtsp_connect
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_http_connect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtsp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/rtsp.c:245,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/rtsp.c:246,1
    - Dst: Curl_http_done
      Src: /src/PROJ/curl/lib/rtsp.c:256,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:263,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:269,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 279
    functionName: rtsp_done
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - Curl_meta_get
    - Curl_conn_meta_get
    - Curl_http_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_done(struct Curl_easy *data,\n                          CURLcode
      status, bool premature)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/rtsp.c:295,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/rtsp.c:302,1
    - Dst: Curl_creader_set_buf
      Src: /src/PROJ/curl/lib/rtsp.c:304,1
    - Dst: Curl_creader_set_fread
      Src: /src/PROJ/curl/lib/rtsp.c:308,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/rtsp.c:312,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:321,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:321,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/rtsp.c:322,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:330,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:330,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:331,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:332,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:340,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:340,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:341,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:342,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/rtsp.c:356,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - data
    - rtspreq
    - reqp
    argTypes:
    - struct Curl_easy*
    - Curl_RtspReq
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 358
    functionName: rtsp_setup_body
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - Curl_creader_set_buf
    - curlx_dyn_addf
    - Curl_checkheaders
    - Curl_creader_set_fread
    - STRCONST
    - strlen
    - Curl_creader_set_null
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_setup_body(struct Curl_easy *data,\n                                Curl_RtspReq
      rtspreq,\n                                struct dynbuf *reqp)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/rtsp.c:365,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/rtsp.c:386,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/rtsp.c:395,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:410,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:451,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/rtsp.c:456,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:465,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:480,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:480,1
    - Dst: free
      Src: /src/PROJ/curl/lib/rtsp.c:484,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/rtsp.c:486,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:492,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:504,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:504,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:508,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:508,1
    - Dst: free
      Src: /src/PROJ/curl/lib/rtsp.c:510,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/rtsp.c:512,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:527,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:527,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/rtsp.c:529,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:531,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:531,1
    - Dst: Curl_http_output_auth
      Src: /src/PROJ/curl/lib/rtsp.c:537,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/rtsp.c:548,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:549,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:549,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/rtsp.c:550,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:565,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:565,1
    - Dst: free
      Src: /src/PROJ/curl/lib/rtsp.c:566,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/rtsp.c:567,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:576,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:576,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:577,1
    - Dst: Curl_checkheaders
      Src: /src/PROJ/curl/lib/rtsp.c:581,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:581,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:582,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/rtsp.c:588,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/rtsp.c:600,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/rtsp.c:608,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/rtsp.c:631,1
    - Dst: Curl_add_timecondition
      Src: /src/PROJ/curl/lib/rtsp.c:637,1
    - Dst: Curl_add_custom_headers
      Src: /src/PROJ/curl/lib/rtsp.c:642,1
    - Dst: rtsp_setup_body
      Src: /src/PROJ/curl/lib/rtsp.c:646,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:651,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/rtsp.c:651,1
    - Dst: Curl_xfer_setup_sendrecv
      Src: /src/PROJ/curl/lib/rtsp.c:655,1
    - Dst: Curl_req_send
      Src: /src/PROJ/curl/lib/rtsp.c:658,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:660,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/rtsp.c:670,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/rtsp.c:671,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/rtsp.c:675,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 189
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 360
    functionDepth: 6
    functionLinenumber: 360
    functionLinenumberEnd: 677
    functionName: rtsp_do
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pgrsSetUploadCounter
    - Curl_http_output_auth
    - curlx_dyn_addn
    - rtsp_setup_body
    - curlx_dyn_addf
    - Curl_checkheaders
    - Curl_xfer_setup_sendrecv
    - Curl_pgrsUpdate
    - curlx_dyn_init
    - STRCONST
    - Curl_add_custom_headers
    - Curl_xfer_setup_recv
    - Curl_req_send
    - free
    - curl_maprintf
    - Curl_meta_get
    - curlx_dyn_free
    - Curl_safefree
    - Curl_add_timecondition
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtsp_do(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:694,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/rtsp.c:698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - data
    - rtspc
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct rtsp_conn*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: rtp_write_body_junk
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_client_write
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtp_write_body_junk(struct Curl_easy *data,\n                                    struct
      rtsp_conn *rtspc,\n                                    const char *buf,\n                                    size_t
      blen)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:720,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/rtsp.c:720,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/rtsp.c:724,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rtsp.c:727,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:727,1
    - Dst: rtp_write_body_junk
      Src: /src/PROJ/curl/lib/rtsp.c:745,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:750,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:765,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/rtsp.c:765,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:769,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rtsp.c:771,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:771,1
    - Dst: rtp_write_body_junk
      Src: /src/PROJ/curl/lib/rtsp.c:776,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/rtsp.c:777,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/rtsp.c:785,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:790,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/rtsp.c:802,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:804,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:805,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/rtsp.c:814,1
    - Dst: RTP_PKT_LENGTH
      Src: /src/PROJ/curl/lib/rtsp.c:815,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/rtsp.c:821,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:823,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:826,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rtsp.c:834,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:834,1
    - Dst: rtp_client_write
      Src: /src/PROJ/curl/lib/rtsp.c:836,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/rtsp.c:836,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/rtsp.c:838,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/rtsp.c:844,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/rtsp.c:856,1
    - Dst: rtp_write_body_junk
      Src: /src/PROJ/curl/lib/rtsp.c:862,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 130
    argCount: 5
    argNames:
    - data
    - rtspc
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - struct rtsp_conn*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 703
    functionDepth: 3
    functionLinenumber: 703
    functionLinenumberEnd: 864
    functionName: rtsp_filter_rtp
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - RTP_PKT_LENGTH
    - infof
    - strncmp
    - DEBUGF
    - rtp_write_body_junk
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_len
    - rtp_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_filter_rtp(struct Curl_easy *data,\n                                struct
      rtsp_conn *rtspc,\n                                const char *buf,\n                                size_t
      blen,\n                                size_t *pconsumed)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/rtsp.c:872,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rtsp.c:885,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:885,1
    - Dst: rtsp_filter_rtp
      Src: /src/PROJ/curl/lib/rtsp.c:890,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rtsp.c:897,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:897,1
    - Dst: Curl_http_write_resp_hds
      Src: /src/PROJ/curl/lib/rtsp.c:904,1
    - Dst: rtsp_filter_rtp
      Src: /src/PROJ/curl/lib/rtsp.c:922,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/rtsp.c:934,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:934,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/rtsp.c:939,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 866
    functionDepth: 8
    functionLinenumber: 866
    functionLinenumberEnd: 952
    functionName: rtsp_rtp_write_resp
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_http_write_resp_hds
    - Curl_client_write
    - Curl_conn_meta_get
    - rtsp_filter_rtp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_rtp_write_resp(struct Curl_easy *data,\n                                    const
      char *buf,\n                                    size_t blen,\n                                    bool
      is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtsp_rtp_write_resp
      Src: /src/PROJ/curl/lib/rtsp.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 9
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: rtsp_rtp_write_resp_hd
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - rtsp_rtp_write_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_rtp_write_resp_hd(struct Curl_easy *data,\n                                       const
      char *buf,\n                                       size_t blen,\n                                       bool
      is_eos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:970,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/rtsp.c:987,1
    - Dst: writeit
      Src: /src/PROJ/curl/lib/rtsp.c:988,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/rtsp.c:988,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/rtsp.c:989,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:992,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - data
    - ptr
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 1002
    functionName: rtp_client_write
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 1
    functionsReached:
    - CURL_UNCONST
    - Curl_set_in_callback
    - failf
    - writeit
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtp_client_write(struct Curl_easy *data, const char *ptr,
      size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/rtsp.c:1006,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/rtsp.c:1008,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/rtsp.c:1012,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/rtsp.c:1013,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:1014,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/rtsp.c:1020,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/rtsp.c:1026,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:1029,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/rtsp.c:1047,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/rtsp.c:1048,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/rtsp.c:1049,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/rtsp.c:1060,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/rtsp.c:1065,1
    - Dst: rtsp_parse_transport
      Src: /src/PROJ/curl/lib/rtsp.c:1067,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - data
    - header
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1072
    functionName: Curl_rtsp_parseheader
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 1
    functionsReached:
    - strncmp
    - rtsp_parse_transport
    - failf
    - curlx_str_passblanks
    - Curl_meta_get
    - curlx_str_number
    - strlen
    - Curl_memdup0
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_rtsp_parseheader(struct Curl_easy *data, const char *header)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/rtsp.c:1084,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/rtsp.c:1085,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/rtsp.c:1086,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/rtsp.c:1089,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/rtsp.c:1092,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/rtsp.c:1093,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:1094,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/rtsp.c:1106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - data
    - transport
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1115
    functionName: rtsp_parse_transport
    functionSourceFile: /src/PROJ/curl/lib/rtsp.c
    functionUses: 1
    functionsReached:
    - infof
    - curlx_str_single
    - curlx_str_passblanks
    - strchr
    - curlx_str_number
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtsp_parse_transport(struct Curl_easy *data, const char *transport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_init
      Src: /src/PROJ/curl/lib/asyn-ares.c:126,1
    - Dst: ares_version
      Src: /src/PROJ/curl/lib/asyn-ares.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: Curl_async_global_init
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - ares_version
    - ares_library_init
    linkageType: ''
    returnType: int
    signature: int Curl_async_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_cleanup
      Src: /src/PROJ/curl/lib/asyn-ares.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: Curl_async_global_cleanup
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - ares_library_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_async_global_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:153,1
    - Dst: Curl_multi_will_close
      Src: /src/PROJ/curl/lib/asyn-ares.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - data
    - socket_fd
    - readable
    - writable
    argTypes:
    - void*
    - ares_socket_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: sock_state_cb
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_multi_will_close
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void sock_state_cb(void *data, ares_socket_t socket_fd,\n                          int
      readable, int writable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:169,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:179,1
    - Dst: ares_init_options
      Src: /src/PROJ/curl/lib/asyn-ares.c:185,1
    - Dst: async_ares_set_dns_servers
      Src: /src/PROJ/curl/lib/asyn-ares.c:193,1
    - Dst: Curl_async_ares_set_dns_interface
      Src: /src/PROJ/curl/lib/asyn-ares.c:197,1
    - Dst: Curl_async_ares_set_dns_local_ip4
      Src: /src/PROJ/curl/lib/asyn-ares.c:201,1
    - Dst: Curl_async_ares_set_dns_local_ip6
      Src: /src/PROJ/curl/lib/asyn-ares.c:205,1
    - Dst: ares_destroy
      Src: /src/PROJ/curl/lib/asyn-ares.c:213,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 217
    functionName: async_ares_init
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_async_ares_set_dns_local_ip4
    - async_ares_set_dns_servers
    - ares_init_options
    - Curl_async_ares_set_dns_local_ip6
    - DEBUGASSERT
    - ares_destroy
    - Curl_async_ares_set_dns_interface
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode async_ares_init(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_init
      Src: /src/PROJ/curl/lib/asyn-ares.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: async_ares_init_lazy
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - async_ares_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode async_ares_init_lazy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_init
      Src: /src/PROJ/curl/lib/asyn-ares.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - impl
    argTypes:
    - struct Curl_easy*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: Curl_async_get_impl
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - async_ares_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_get_impl(struct Curl_easy *data, void **impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/asyn-ares.c:245,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/PROJ/curl/lib/asyn-ares.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: async_ares_cleanup
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_freeaddrinfo
    - Curl_httpsrr_cleanup
    linkageType: ''
    returnType: void
    signature: void async_ares_cleanup(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_ares_destroy
      Src: /src/PROJ/curl/lib/asyn-ares.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: Curl_async_ares_shutdown
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - Curl_async_ares_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_async_ares_shutdown(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ares_destroy
      Src: /src/PROJ/curl/lib/asyn-ares.c:267,1
    - Dst: async_ares_cleanup
      Src: /src/PROJ/curl/lib/asyn-ares.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: Curl_async_ares_destroy
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - async_ares_cleanup
    - ares_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_async_ares_destroy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ares_pollset
      Src: /src/PROJ/curl/lib/asyn-ares.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 8
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: Curl_async_pollset
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - Curl_ares_pollset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_pollset(struct Curl_easy *data, struct easy_pollset
      *ps)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:299,1
    - Dst: Curl_ares_perform
      Src: /src/PROJ/curl/lib/asyn-ares.c:307,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/asyn-ares.c:320,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-ares.c:320,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/asyn-ares.c:324,1
    - Dst: ares_cancel
      Src: /src/PROJ/curl/lib/asyn-ares.c:331,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:332,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/asyn-ares.c:338,1
    - Dst: Curl_dnscache_mk_entry
      Src: /src/PROJ/curl/lib/asyn-ares.c:343,1
    - Dst: Curl_httpsrr_dup_move
      Src: /src/PROJ/curl/lib/asyn-ares.c:349,1
    - Dst: Curl_dnscache_add
      Src: /src/PROJ/curl/lib/asyn-ares.c:357,1
    - Dst: ares_strerror
      Src: /src/PROJ/curl/lib/asyn-ares.c:364,1
    - Dst: Curl_resolver_error
      Src: /src/PROJ/curl/lib/asyn-ares.c:365,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/asyn-ares.c:369,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:371,1
    - Dst: async_ares_cleanup
      Src: /src/PROJ/curl/lib/asyn-ares.c:373,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 379
    functionName: Curl_async_is_resolved
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - async_ares_cleanup
    - Curl_resolver_error
    - Curl_ares_perform
    - Curl_dnscache_add
    - curlx_now
    - curlx_timediff
    - ares_cancel
    - memset
    - Curl_httpsrr_dup_move
    - DEBUGASSERT
    - CURL_TRC_DNS
    - Curl_resolv_unlink
    - Curl_dnscache_mk_entry
    - ares_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_is_resolved(struct Curl_easy *data,\n                                struct
      Curl_dns_entry **dns)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-ares.c:398,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:400,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/asyn-ares.c:403,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/asyn-ares.c:406,1
    - Dst: ares_timeout
      Src: /src/PROJ/curl/lib/asyn-ares.c:427,1
    - Dst: Curl_ares_perform
      Src: /src/PROJ/curl/lib/asyn-ares.c:437,1
    - Dst: Curl_async_is_resolved
      Src: /src/PROJ/curl/lib/asyn-ares.c:440,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/asyn-ares.c:444,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-ares.c:447,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/asyn-ares.c:448,1
    - Dst: ares_cancel
      Src: /src/PROJ/curl/lib/asyn-ares.c:467,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 469
    functionName: Curl_async_await
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - Curl_ares_perform
    - curlx_now
    - Curl_timeleft
    - Curl_pgrsUpdate
    - ares_timeout
    - curlx_timediff
    - connclose
    - ares_cancel
    - DEBUGASSERT
    - Curl_async_is_resolved
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_await(struct Curl_easy *data,\n                          struct
      Curl_dns_entry **entry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pbase
    - ai
    argTypes:
    - struct Curl_addrinfo**
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 500
    functionName: async_addr_concat
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void async_addr_concat(struct Curl_addrinfo **pbase,\n                              struct
      Curl_addrinfo *ai)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: async_addr_concat
      Src: /src/PROJ/curl/lib/asyn-ares.c:523,1
    - Dst: Curl_he2ai
      Src: /src/PROJ/curl/lib/asyn-ares.c:524,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:533,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/asyn-ares.c:552,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/asyn-ares.c:591,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/asyn-ares.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - hostent
    argTypes:
    - void*
    - int
    - int
    - struct hostent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 508
    functionDepth: 7
    functionLinenumber: 508
    functionLinenumberEnd: 595
    functionName: async_ares_hostbyname_cb
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - async_addr_concat
    - curlx_now
    - DEBUGASSERT
    - CURL_TRC_DNS
    - Curl_he2ai
    linkageType: ''
    returnType: void
    signature: "void async_ares_hostbyname_cb(void *user_data,\n                                     int
      status,\n                                     int timeouts,\n                                     struct
      hostent *hostent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/asyn-ares.c:635,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/asyn-ares.c:654,1
    - Dst: Curl_freeaddrinfo
      Src: /src/PROJ/curl/lib/asyn-ares.c:668,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ares_addrinfo_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 673
    functionName: async_ares_node2addr
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - malloc
    - Curl_freeaddrinfo
    - memcpy
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      async_ares_node2addr(struct ares_addrinfo_node *node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_node2addr
      Src: /src/PROJ/curl/lib/asyn-ares.c:684,1
    - Dst: ares_freeaddrinfo
      Src: /src/PROJ/curl/lib/asyn-ares.c:685,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - ares_ai
    argTypes:
    - void*
    - int
    - int
    - struct ares_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 692
    functionName: async_ares_addrinfo_cb
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_DNS
    - ares_freeaddrinfo
    - async_ares_node2addr
    linkageType: ''
    returnType: void
    signature: "void async_ares_addrinfo_cb(void *user_data, int status, int timeouts,\n
      \                                  struct ares_addrinfo *ares_ai)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:706,1
    - Dst: ares_dns_record_rr_cnt
      Src: /src/PROJ/curl/lib/asyn-ares.c:710,1
    - Dst: Curl_httpsrr_from_ares
      Src: /src/PROJ/curl/lib/asyn-ares.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - dnsrec
    argTypes:
    - void*
    - ares_status_t
    - size_t
    - ares_dns_record_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 697
    functionDepth: 8
    functionLinenumber: 697
    functionLinenumberEnd: 715
    functionName: async_ares_rr_done
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - ares_dns_record_rr_cnt
    - CURL_TRC_DNS
    - Curl_httpsrr_from_ares
    linkageType: ''
    returnType: void
    signature: "void async_ares_rr_done(void *user_data, ares_status_t status,\n                               size_t
      timeouts,\n                               const ares_dns_record_t *dnsrec)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_init_lazy
      Src: /src/PROJ/curl/lib/asyn-ares.c:738,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/asyn-ares.c:745,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/asyn-ares.c:750,1
    - Dst: free
      Src: /src/PROJ/curl/lib/asyn-ares.c:752,1
    - Dst: CURL_TRC_DNS_is_verbose
      Src: /src/PROJ/curl/lib/asyn-ares.c:764,1
    - Dst: ares_get_servers_csv
      Src: /src/PROJ/curl/lib/asyn-ares.c:765,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:766,1
    - Dst: ares_free_string
      Src: /src/PROJ/curl/lib/asyn-ares.c:767,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/asyn-ares.c:776,1
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/asyn-ares.c:779,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:787,1
    - Dst: Curl_conn_get_transport
      Src: /src/PROJ/curl/lib/asyn-ares.c:792,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/asyn-ares.c:798,1
    - Dst: ares_getaddrinfo
      Src: /src/PROJ/curl/lib/asyn-ares.c:800,1
    - Dst: Curl_ipv6works
      Src: /src/PROJ/curl/lib/asyn-ares.c:806,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:809,1
    - Dst: ares_gethostbyname
      Src: /src/PROJ/curl/lib/asyn-ares.c:810,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:812,1
    - Dst: ares_gethostbyname
      Src: /src/PROJ/curl/lib/asyn-ares.c:814,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:821,1
    - Dst: ares_gethostbyname
      Src: /src/PROJ/curl/lib/asyn-ares.c:823,1
    - Dst: CURL_TRC_DNS
      Src: /src/PROJ/curl/lib/asyn-ares.c:829,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/asyn-ares.c:831,1
    - Dst: ares_query_dnsrec
      Src: /src/PROJ/curl/lib/asyn-ares.c:835,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 726
    functionDepth: 6
    functionLinenumber: 726
    functionLinenumberEnd: 844
    functionName: Curl_async_getaddrinfo
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - free
    - async_ares_init_lazy
    - CURL_TRC_DNS_is_verbose
    - curl_maprintf
    - curl_msnprintf
    - Curl_conn_get_transport
    - ares_query_dnsrec
    - memset
    - ares_free_string
    - ares_getaddrinfo
    - CURL_TRC_DNS
    - Curl_ipv6works
    - ares_get_servers_csv
    - ares_gethostbyname
    - strdup
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_async_getaddrinfo(struct Curl_easy *data,\n
      \                                            const char *hostname,\n                                             int
      port,\n                                             int ip_version,\n                                             int
      *waitp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/asyn-ares.c:861,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/asyn-ares.c:862,1
    - Dst: Curl_async_destroy
      Src: /src/PROJ/curl/lib/asyn-ares.c:867,1
    - Dst: ares_set_servers_ports_csv
      Src: /src/PROJ/curl/lib/asyn-ares.c:876,1
    - Dst: ares_set_servers_csv
      Src: /src/PROJ/curl/lib/asyn-ares.c:878,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/asyn-ares.c:891,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/asyn-ares.c:891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - data
    - reset_on_null
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 900
    functionName: async_ares_set_dns_servers
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - getenv
    - infof
    - DEBUGF
    - Curl_async_destroy
    - ares_set_servers_ports_csv
    - ares_set_servers_csv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode async_ares_set_dns_servers(struct Curl_easy *data,\n                                           bool
      reset_on_null)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_set_dns_servers
      Src: /src/PROJ/curl/lib/asyn-ares.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: Curl_async_ares_set_dns_servers
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - async_ares_set_dns_servers
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_servers(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ares_set_local_dev
      Src: /src/PROJ/curl/lib/asyn-ares.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 926
    functionName: Curl_async_ares_set_dns_interface
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - ares_set_local_dev
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_interface(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/asyn-ares.c:939,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/asyn-ares.c:940,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/asyn-ares.c:940,1
    - Dst: ares_set_local_ip4
      Src: /src/PROJ/curl/lib/asyn-ares.c:947,1
    - Dst: ntohl
      Src: /src/PROJ/curl/lib/asyn-ares.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 955
    functionName: Curl_async_ares_set_dns_local_ip4
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - infof
    - DEBUGF
    - curlx_inet_pton
    - ares_set_local_ip4
    - ntohl
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_local_ip4(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/asyn-ares.c:966,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/asyn-ares.c:969,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/asyn-ares.c:970,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/asyn-ares.c:970,1
    - Dst: ares_set_local_ip6
      Src: /src/PROJ/curl/lib/asyn-ares.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 984
    functionName: Curl_async_ares_set_dns_local_ip6
    functionSourceFile: /src/PROJ/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - infof
    - DEBUGF
    - curlx_inet_pton
    - memset
    - ares_set_local_ip6
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_local_ip6(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:116,1
    - Dst: EVP_DigestInit_ex
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:120,1
    - Dst: EVP_sha512_256
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:120,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:122,1
    - Dst: EVP_MD_CTX_size
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:122,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:124,1
    - Dst: EVP_MD_CTX_block_size
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:124,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: Curl_sha512_256_init
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_size
    - EVP_sha512_256
    - EVP_MD_CTX_block_size
    - EVP_DigestInit_ex
    - EVP_MD_CTX_create
    - DEBUGASSERT
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_init(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: Curl_sha512_256_update
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_update(void *context,\n                                       const
      unsigned char *data,\n                                       size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:174,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:177,1
    - Dst: explicit_memset
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:178,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:180,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 187
    functionName: Curl_sha512_256_finish
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - explicit_memset
    - EVP_MD_CTX_destroy
    - memcpy
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_finish(unsigned char *digest, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:210,1
    - Dst: sha512_256_init
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: Curl_sha512_256_init
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - sha512_256_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_init(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:232,1
    - Dst: sha512_256_update
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: Curl_sha512_256_update
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - sha512_256_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_update(void *context,\n                                       const
      unsigned char *data,\n                                       size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_256_digest
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Curl_sha512_256_finish
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - sha512_256_digest
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_finish(unsigned char *digest,\n                                       void
      *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: CURL_GET_64BIT_BE
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_GET_64BIT_BE(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: CURL_PUT_64BIT_BE
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_PUT_64BIT_BE(ptr,val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - bits
    argTypes:
    - curl_uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: curl_uint64_t::Curl_rotr64
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURL_FORCEINLINE
    signature: "CURL_FORCEINLINE curl_uint64_t Curl_rotr64(curl_uint64_t value,\n
      \                                                 unsigned int bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:416,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:418,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:423,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:424,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:425,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:426,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:427,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:428,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:429,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:430,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:433,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 437
    functionName: Curl_sha512_256_init
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - CURL_UINT64_C
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_init(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:486,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:486,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:487,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:487,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:488,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:488,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:489,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:489,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:490,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:490,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:491,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:491,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:492,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:492,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:493,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:493,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:494,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:494,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:495,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:495,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:496,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:496,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:497,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:497,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:498,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:498,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:499,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:499,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:500,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:500,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:501,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:501,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:502,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:502,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:503,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:503,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:504,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:504,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:505,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:505,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:506,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:506,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:507,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:507,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:508,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:508,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:509,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:509,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:510,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:510,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:511,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:511,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:512,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:512,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:513,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:513,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:514,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:514,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:515,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:515,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:516,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:516,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:517,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:517,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:518,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:518,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:519,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:519,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:520,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:520,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:521,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:521,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:522,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:522,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:523,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:523,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:524,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:524,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:525,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:525,1
    - Dst: SHA2STEP64RV
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:569,1
    - Dst: SHA512_GET_W_FROM_DATA
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:570,1
    - Dst: SHA2STEP64RV
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:586,1
    - Dst: Wgen
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - curl_uint64_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 601
    functionName: Curl_sha512_256_transform
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - Wgen
    - CURL_UINT64_C
    - SHA512_GET_W_FROM_DATA
    - SHA2STEP64RV
    linkageType: ''
    returnType: void
    signature: "void Curl_sha512_256_transform(curl_uint64_t H[SHA512_256_HASH_SIZE_WORDS],\n
      \                              const void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: Sha512_Ch
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha512_Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: Sha512_Maj
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha512_Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: SIG0
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: SIG1
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: sig0
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sig0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: sig1
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sig1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - vA
    - ','
    - vB
    - ','
    - vC
    - ','
    - vD
    - ','
    - vE
    - ','
    - vF
    - ','
    - vG
    - ','
    - vH
    - ','
    - kt
    - ','
    - wt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: SHA2STEP64
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP64(vA,vB,vC,vD,vE,vF,vG,vH,kt,wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - vA
    - ','
    - vB
    - ','
    - vC
    - ','
    - vD
    - ','
    - vE
    - ','
    - vF
    - ','
    - vG
    - ','
    - vH
    - ','
    - kt
    - ','
    - wt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: SHA2STEP64RV
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP64RV(vA,vB,vC,vD,vE,vF,vG,vH,kt,wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: SHA512_GET_W_FROM_DATA
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA512_GET_W_FROM_DATA(buf,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: Wgen
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Wgen(w,t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:621,1
    - Dst: CURL_UINT64_C
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:633,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:640,1
    - Dst: Curl_sha512_256_transform
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:645,1
    - Dst: Curl_sha512_256_transform
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:653,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 665
    functionName: Curl_sha512_256_update
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - Curl_sha512_256_transform
    - CURL_UINT64_C
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_update(void *context,\n                                       const
      unsigned char *data,\n                                       size_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:720,1
    - Dst: Curl_sha512_256_transform
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:723,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:729,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:735,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:739,1
    - Dst: Curl_sha512_256_transform
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:745,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:750,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:751,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:752,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:753,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 759
    functionName: Curl_sha512_256_finish
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - memset
    - Curl_sha512_256_transform
    - CURL_PUT_64BIT_BE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_finish(unsigned char *digest, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256_init
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:777,1
    - Dst: Curl_sha512_256_update
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:781,1
    - Dst: Curl_sha512_256_finish
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:784,1
    - Dst: Curl_sha512_256_finish
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - output
    - input
    - input_size
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 789
    functionName: Curl_sha512_256it
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached:
    - Curl_sha512_256_finish
    - Curl_sha512_256_init
    - Curl_sha512_256_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256it(unsigned char *output, const unsigned char
      *input,\n                           size_t input_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256_update
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: Curl_sha512_256_update_i
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - Curl_sha512_256_update
    linkageType: ''
    returnType: void
    signature: "void Curl_sha512_256_update_i(void *context,\n                                     const
      unsigned char *data,\n                                     unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256_finish
      Src: /src/PROJ/curl/lib/curl_sha512_256.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: Curl_sha512_256_finish_v
    functionSourceFile: /src/PROJ/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - Curl_sha512_256_finish
    linkageType: ''
    returnType: void
    signature: void Curl_sha512_256_finish_v(unsigned char *result, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fileinfo_cleanup
      Src: /src/PROJ/curl/lib/ftplistparser.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - user
    - element
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: fileinfo_dtor
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - Curl_fileinfo_cleanup
    linkageType: ''
    returnType: void
    signature: void fileinfo_dtor(void *user, void *element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/ftplistparser.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wc
    argTypes:
    - struct WildcardData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: Curl_wildcard_init
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 1
    functionsReached:
    - Curl_llist_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_wildcard_init(struct WildcardData *wc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct WildcardData*::dtor
      Src: /src/PROJ/curl/lib/ftplistparser.c:203,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/ftplistparser.c:207,1
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/ftplistparser.c:209,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftplistparser.c:210,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftplistparser.c:212,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftplistparser.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - wcp
    argTypes:
    - struct WildcardData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: Curl_wildcard_dtor
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 2
    functionsReached:
    - Curl_llist_destroy
    - struct WildcardData*::dtor
    - DEBUGASSERT
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_wildcard_dtor(struct WildcardData **wcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/ftplistparser.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: Curl_ftp_parselist_data_alloc
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct ftp_parselist_data
    signature: struct ftp_parselist_data *Curl_ftp_parselist_data_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fileinfo_cleanup
      Src: /src/PROJ/curl/lib/ftplistparser.c:229,1
    - Dst: free
      Src: /src/PROJ/curl/lib/ftplistparser.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parserp
    argTypes:
    - struct ftp_parselist_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: Curl_ftp_parselist_data_free
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_fileinfo_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_ftp_parselist_data_free(struct ftp_parselist_data **parserp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl_data
    argTypes:
    - struct ftp_parselist_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: Curl_ftp_parselist_geterror
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ftp_parselist_geterror(struct ftp_parselist_data *pl_data)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 306
    functionName: ftp_pl_get_permission
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ftp_pl_get_permission(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:320,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftplistparser.c:338,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/ftplistparser.c:339,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/ftplistparser.c:343,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/ftplistparser.c:350,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/ftplistparser.c:353,1
    - Dst: Curl_fileinfo_cleanup
      Src: /src/PROJ/curl/lib/ftplistparser.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - infop
    argTypes:
    - struct Curl_easy*
    - struct fileinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 361
    functionName: ftp_pl_insert_finfo
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - Curl_set_in_callback
    - strstr
    - Curl_llist_append
    - compare
    - Curl_fileinfo_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pl_insert_finfo(struct Curl_easy *data,\n                                    struct
      fileinfo *infop)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - c
    - t
    argTypes:
    - char
    - curlfiletype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: unix_filetype
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode unix_filetype(const char c, curlfiletype *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:402,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:403,1
    - Dst: curlx_dyn_setlen
      Src: /src/PROJ/curl/lib/ftplistparser.c:420,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/ftplistparser.c:424,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/ftplistparser.c:428,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftplistparser.c:429,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/ftplistparser.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 444
    functionName: parse_unix_totalsize
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_dyn_setlen
    - strncmp
    - curlx_dyn_ptr
    - curlx_str_passblanks
    - curlx_dyn_reset
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_totalsize(struct ftp_parselist_data *parser,\n
      \                                    struct fileinfo *infop,\n                                     const
      char c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:450,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftplistparser.c:452,1
    - Dst: ftp_pl_get_permission
      Src: /src/PROJ/curl/lib/ftplistparser.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 474
    functionName: parse_unix_permission
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - strchr
    - curlx_dyn_ptr
    - ftp_pl_get_permission
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_permission(struct ftp_parselist_data *parser,\n
      \                                     struct fileinfo *infop,\n                                      const
      char c)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:480,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:481,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftplistparser.c:486,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/ftplistparser.c:502,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftplistparser.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 517
    functionName: parse_unix_hlinks
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_dyn_ptr
    - curlx_str_number
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_hlinks(struct ftp_parselist_data *parser,\n                                  struct
      fileinfo *infop,\n                                  const char c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:523,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 546
    functionName: parse_unix_user
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_user(struct ftp_parselist_data *parser,\n                                struct
      fileinfo *infop,\n                                const char c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:552,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: parse_unix_group
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_group(struct ftp_parselist_data *parser,\n                                 struct
      fileinfo *infop,\n                                 const char c)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:581,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:582,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftplistparser.c:586,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/lib/ftplistparser.c:601,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftplistparser.c:612,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 618
    functionName: parse_unix_size
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_dyn_ptr
    - curlx_str_numblanks
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_size(struct ftp_parselist_data *parser,\n                                struct
      fileinfo *infop,\n                                const char c)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:624,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:625,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/ftplistparser.c:631,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/ftplistparser.c:645,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/ftplistparser.c:652,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/ftplistparser.c:662,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/ftplistparser.c:668,1
    - Dst: ISALNUM
      Src: /src/PROJ/curl/lib/ftplistparser.c:688,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 693
    functionName: parse_unix_time
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_time(struct ftp_parselist_data *parser,\n                                struct
      fileinfo *infop,\n                                const char c)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:700,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:701,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/PROJ/curl/lib/ftplistparser.c:721,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/PROJ/curl/lib/ftplistparser.c:729,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 695
    functionDepth: 4
    functionLinenumber: 695
    functionLinenumberEnd: 736
    functionName: parse_unix_filename
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - ftp_pl_insert_finfo
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_filename(struct Curl_easy *data,\n                                    struct
      ftp_parselist_data *parser,\n                                    struct fileinfo
      *infop,\n                                    const char c)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:743,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:744,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/PROJ/curl/lib/ftplistparser.c:817,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/PROJ/curl/lib/ftplistparser.c:828,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 840
    functionName: parse_unix_symlink
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - ftp_pl_insert_finfo
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_symlink(struct Curl_easy *data,\n                                   struct
      ftp_parselist_data *parser,\n                                   struct fileinfo
      *infop,\n                                   const char c)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: parse_unix_totalsize
      Src: /src/PROJ/curl/lib/ftplistparser.c:852,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/ftplistparser.c:857,1
    - Dst: unix_filetype
      Src: /src/PROJ/curl/lib/ftplistparser.c:859,1
    - Dst: parse_unix_permission
      Src: /src/PROJ/curl/lib/ftplistparser.c:867,1
    - Dst: parse_unix_hlinks
      Src: /src/PROJ/curl/lib/ftplistparser.c:870,1
    - Dst: parse_unix_user
      Src: /src/PROJ/curl/lib/ftplistparser.c:873,1
    - Dst: parse_unix_group
      Src: /src/PROJ/curl/lib/ftplistparser.c:876,1
    - Dst: parse_unix_size
      Src: /src/PROJ/curl/lib/ftplistparser.c:879,1
    - Dst: parse_unix_time
      Src: /src/PROJ/curl/lib/ftplistparser.c:882,1
    - Dst: parse_unix_filename
      Src: /src/PROJ/curl/lib/ftplistparser.c:885,1
    - Dst: parse_unix_symlink
      Src: /src/PROJ/curl/lib/ftplistparser.c:888,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 842
    functionDepth: 5
    functionLinenumber: 842
    functionLinenumberEnd: 892
    functionName: parse_unix
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - parse_unix_time
    - parse_unix_filename
    - parse_unix_symlink
    - parse_unix_size
    - parse_unix_user
    - parse_unix_group
    - FALLTHROUGH
    - parse_unix_totalsize
    - unix_filetype
    - parse_unix_hlinks
    - parse_unix_permission
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix(struct Curl_easy *data,\n                           struct
      ftp_parselist_data *parser,\n                           struct fileinfo *infop,\n
      \                          const char c)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/ftplistparser.c:900,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/ftplistparser.c:901,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftplistparser.c:908,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/ftplistparser.c:927,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/ftplistparser.c:938,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/ftplistparser.c:956,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/lib/ftplistparser.c:962,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/PROJ/curl/lib/ftplistparser.c:997,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/PROJ/curl/lib/ftplistparser.c:1008,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1024
    functionName: parse_winnt
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - ISBLANK
    - strcmp
    - curlx_str_numblanks
    - strchr
    - ftp_pl_insert_finfo
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_winnt(struct Curl_easy *data,\n                            struct
      ftp_parselist_data *parser,\n                            struct fileinfo *infop,\n
      \                           const char c)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/ftplistparser.c:1049,1
    - Dst: Curl_fileinfo_alloc
      Src: /src/PROJ/curl/lib/ftplistparser.c:1056,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/ftplistparser.c:1063,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/ftplistparser.c:1068,1
    - Dst: parse_unix
      Src: /src/PROJ/curl/lib/ftplistparser.c:1075,1
    - Dst: parse_winnt
      Src: /src/PROJ/curl/lib/ftplistparser.c:1078,1
    - Dst: Curl_fileinfo_cleanup
      Src: /src/PROJ/curl/lib/ftplistparser.c:1097,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - connptr
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1026
    functionDepth: 6
    functionLinenumber: 1026
    functionLinenumberEnd: 1102
    functionName: Curl_ftp_parselist
    functionSourceFile: /src/PROJ/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_dyn_addn
    - parse_winnt
    - Curl_fileinfo_alloc
    - curlx_dyn_init
    - parse_unix
    - Curl_fileinfo_cleanup
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_ftp_parselist(char *buffer, size_t size, size_t nmemb,\n
      \                         void *connptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: Curl_ipv6_scope
    functionSourceFile: /src/PROJ/curl/lib/if2ip.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ipv6_scope(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: Curl_data_priority_add_child
    functionSourceFile: /src/PROJ/curl/lib/url.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_data_priority_add_child(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CURL_UNCONST
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UNCONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CURL_UNCONST
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UNCONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CURL_UNCONST
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UNCONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sread
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sread(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: sread
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sread(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: swrite
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swrite(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: swrite
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swrite(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: CURL_SCLOSE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: CURL_SCLOSE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: CURL_SCLOSE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: CURL_SCLOSE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: CURL_SCLOSE
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: BIT
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: BIT
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: DEBUGF
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: DEBUGF
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: DEBUGASSERT
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 454
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: DEBUGASSERT
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 454
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: SET_SOCKERRNO
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SOCKERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: SET_SOCKERRNO
    functionSourceFile: /src/PROJ/curl/lib/curl_setup_once.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SOCKERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Curl_read16_le
    functionSourceFile: /src/PROJ/curl/lib/curl_endian.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short Curl_read16_le(const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: Curl_read32_le
    functionSourceFile: /src/PROJ/curl/lib/curl_endian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_read32_le(const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Curl_read16_be
    functionSourceFile: /src/PROJ/curl/lib/curl_endian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short Curl_read16_be(const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tunnel_is_established
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tunnel_is_established(struct h1_tunnel_state *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: tunnel_is_failed
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tunnel_is_failed(struct h1_tunnel_state *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:98,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:99,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: tunnel_reinit
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_reset
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_reinit(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              struct h1_tunnel_state *ts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:115,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:119,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:123,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:125,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:126,1
    - Dst: Curl_httpchunk_init
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:127,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:130,1
    - Dst: tunnel_reinit
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - data
    - pts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: tunnel_init
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - infof
    - connkeep
    - failf
    - curlx_dyn_init
    - calloc
    - Curl_httpchunk_init
    - tunnel_reinit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_init(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            struct h1_tunnel_state **pts)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:144,1
    - Dst: tunnel_reinit
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:145,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:149,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:152,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:156,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:161,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:166,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:167,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:170,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:173,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:175,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:176,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - cf
    - ts
    - new_state
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct h1_tunnel_state*
    - h1_tunnel_state
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 186
    functionName: h1_tunnel_go_state
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - FALLTHROUGH
    - curlx_dyn_reset
    - Curl_safefree
    - tunnel_reinit
    linkageType: ''
    returnType: void
    signature: "void h1_tunnel_go_state(struct Curl_cfilter *cf,\n                               struct
      h1_tunnel_state *ts,\n                               h1_tunnel_state new_state,\n
      \                              struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:194,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:195,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:196,1
    - Dst: Curl_httpchunk_free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:197,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: tunnel_free
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - h1_tunnel_go_state
    - Curl_httpchunk_free
    - free
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: "void tunnel_free(struct Curl_cfilter *cf,\n                        struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tunnel_want_send
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tunnel_want_send(struct h1_tunnel_state *ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:220,1
    - Dst: Curl_http_proxy_create_CONNECT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:222,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:226,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:228,1
    - Dst: Curl_h1_req_write_head
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:233,1
    - Dst: Curl_creader_set_null
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:235,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:239,1
    - Dst: Curl_http_req_free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 243
    functionName: start_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_http_req_free
    - infof
    - Curl_h1_req_write_head
    - failf
    - curlx_dyn_reset
    - Curl_safefree
    - Curl_http_proxy_create_CONNECT
    - Curl_creader_set_null
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode start_CONNECT(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              struct h1_tunnel_state *ts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:250,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:251,1
    - Dst: struct Curl_cfilter*::next::cft::do_send
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:262,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:269,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:271,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - cf
    - data
    - ts
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 8
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: send_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_send
    - curlx_dyn_ptr
    - failf
    - Curl_debug
    - DEBUGASSERT
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_CONNECT(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             struct h1_tunnel_state *ts,\n
      \                            bool *done)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:289,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:291,1
    - Dst: Curl_copy_header_value
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:295,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:299,1
    - Dst: Curl_http_input_auth
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:300,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:302,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:307,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:312,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:316,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:317,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:318,1
    - Dst: Curl_compareheader
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:323,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:324,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:324,1
    - Dst: checkprefix
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:326,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:331,1
    - Dst: Curl_compareheader
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:334,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:335,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:336,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:337,1
    - Dst: Curl_httpchunk_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:340,1
    - Dst: Curl_compareheader
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:343,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:344,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:345,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:347,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:350,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:350,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:350,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:351,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 4
    argNames:
    - cf
    - data
    - ts
    - header
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 357
    functionName: on_resp_header
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - free
    - infof
    - strncmp
    - CURL_TRC_CF
    - failf
    - Curl_copy_header_value
    - curlx_str_numblanks
    - checkprefix
    - Curl_httpchunk_reset
    - STRCONST
    - Curl_compareheader
    - strlen
    - Curl_http_input_auth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode on_resp_header(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h1_tunnel_state *ts,\n
      \                              const char *header)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_recv
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:382,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:387,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:401,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:405,1
    - Dst: Curl_httpchunk_read
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:430,1
    - Dst: Curl_httpchunk_is_done
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:433,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:435,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:442,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:443,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:452,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:453,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:456,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:461,1
    - Dst: Curl_bump_headersize
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:465,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:484,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:487,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:493,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:501,1
    - Dst: on_resp_header
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:506,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:510,1
    - Dst: Curl_http_auth_act
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:519,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 4
    argNames:
    - cf
    - data
    - ts
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 359
    functionDepth: 8
    functionLinenumber: 359
    functionLinenumberEnd: 522
    functionName: recv_CONNECT_resp
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - failf
    - CURL_TRC_CF
    - Curl_pgrsUpdate
    - Curl_http_auth_act
    - Curl_conn_recv
    - Curl_client_write
    - Curl_debug
    - curlx_dyn_reset
    - Curl_httpchunk_read
    - DEBUGASSERT
    - curlx_dyn_len
    - on_resp_header
    - Curl_bump_headersize
    - Curl_httpchunk_is_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_CONNECT_resp(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h1_tunnel_state *ts,\n
      \                                 bool *done)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tunnel_is_established
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:532,1
    - Dst: tunnel_is_failed
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:534,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:540,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:542,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:550,1
    - Dst: start_CONNECT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:551,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:554,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:555,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:559,1
    - Dst: send_CONNECT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:560,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:563,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:564,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:568,1
    - Dst: recv_CONNECT_resp
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:569,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:570,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:578,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:579,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:582,1
    - Dst: Curl_req_soft_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:588,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:595,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:596,1
    - Dst: Curl_conn_cf_close
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:597,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:598,1
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:599,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:604,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:615,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:618,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:620,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:621,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:622,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:626,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:627,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:633,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 524
    functionDepth: 9
    functionLinenumber: 524
    functionLinenumberEnd: 635
    functionName: H1_CONNECT
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - FALLTHROUGH
    - infof
    - connkeep
    - Curl_pgrsUpdate
    - Curl_req_soft_reset
    - tunnel_is_failed
    - tunnel_is_established
    - DEBUGASSERT
    - streamclose
    - Curl_conn_cf_close
    - send_CONNECT
    - start_CONNECT
    - Curl_timeleft
    - Curl_conn_cf_connect
    - h1_tunnel_go_state
    - Curl_safefree
    - recv_CONNECT_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode H1_CONNECT(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct h1_tunnel_state *ts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:649,1
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:650,1
    - Dst: tunnel_init
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:656,1
    - Dst: H1_CONNECT
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:664,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:667,1
    - Dst: tunnel_is_established
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:670,1
    - Dst: Curl_req_soft_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:674,1
    - Dst: Curl_client_reset
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:675,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:676,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:677,1
    - Dst: tunnel_free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 637
    functionDepth: 10
    functionLinenumber: 637
    functionLinenumberEnd: 682
    functionName: cf_h1_proxy_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_client_reset
    - tunnel_free
    - CURL_TRC_CF
    - Curl_pgrsSetUploadCounter
    - Curl_req_soft_reset
    - tunnel_init
    - Curl_safefree
    - Curl_pgrsSetDownloadCounter
    - tunnel_is_established
    - struct Curl_cfilter*::next::cft::do_connect
    - H1_CONNECT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h1_proxy_connect(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:694,1
    - Dst: tunnel_want_send
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:700,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:701,1
    - Dst: Curl_pollset_set_in_only
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:703,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 709
    functionName: cf_h1_proxy_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set_out_only
    - Curl_pollset_set_in_only
    - Curl_conn_cf_get_socket
    - tunnel_want_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h1_proxy_adjust_pollset(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct easy_pollset
      *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:714,1
    - Dst: tunnel_free
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: cf_h1_proxy_destroy
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - tunnel_free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_h1_proxy_destroy(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:721,1
    - Dst: h1_tunnel_go_state
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:725,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: cf_h1_proxy_close
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - h1_tunnel_go_state
    - struct Curl_cfilter*::next::cft::do_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_h1_proxy_close(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:758,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/cf-h1-proxy.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: Curl_cf_h1_proxy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/cf-h1-proxy.c
    functionUses: 1
    functionsReached:
    - Curl_cf_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_h1_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: checkprefix
    functionSourceFile: /src/PROJ/curl/lib/strcase.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkprefix(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderVersion
      Src: /src/PROJ/curl/lib/version.c:95,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: brotli_version
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderVersion
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void brotli_version(char *buf, size_t bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_versionNumber
      Src: /src/PROJ/curl/lib/version.c:106,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: zstd_version
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - ZSTD_versionNumber
    linkageType: ''
    returnType: void
    signature: void zstd_version(char *buf, size_t bufsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_option
      Src: /src/PROJ/curl/lib/version.c:120,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:126,1
    - Dst: ldap_memfree
      Src: /src/PROJ/curl/lib/version.c:128,1
    - Dst: ber_memvfree
      Src: /src/PROJ/curl/lib/version.c:129,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: oldap_version
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - ldap_get_option
    - curl_msnprintf
    - ldap_memfree
    - ber_memvfree
    linkageType: ''
    returnType: void
    signature: void oldap_version(char *buf, size_t bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psl_check_version_number
      Src: /src/PROJ/curl/lib/version.c:141,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:142,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:145,1
    - Dst: psl_get_version
      Src: /src/PROJ/curl/lib/version.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: psl_version
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - psl_get_version
    - psl_check_version_number
    linkageType: ''
    returnType: void
    signature: void psl_version(char *buf, size_t bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:158,1
    - Dst: idn2_check_version
      Src: /src/PROJ/curl/lib/version.c:158,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:160,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 6
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: idn_version
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - idn2_check_version
    linkageType: ''
    returnType: void
    signature: void idn_version(char *buf, size_t bufsz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PROJ/curl/lib/version.c:230,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:232,1
    - Dst: Curl_ssl_version
      Src: /src/PROJ/curl/lib/version.c:239,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:243,1
    - Dst: zlibVersion
      Src: /src/PROJ/curl/lib/version.c:243,1
    - Dst: brotli_version
      Src: /src/PROJ/curl/lib/version.c:247,1
    - Dst: zstd_version
      Src: /src/PROJ/curl/lib/version.c:251,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:255,1
    - Dst: ares_version
      Src: /src/PROJ/curl/lib/version.c:256,1
    - Dst: idn_version
      Src: /src/PROJ/curl/lib/version.c:260,1
    - Dst: psl_version
      Src: /src/PROJ/curl/lib/version.c:264,1
    - Dst: Curl_ssh_version
      Src: /src/PROJ/curl/lib/version.c:268,1
    - Dst: Curl_http2_ver
      Src: /src/PROJ/curl/lib/version.c:272,1
    - Dst: Curl_quic_ver
      Src: /src/PROJ/curl/lib/version.c:276,1
    - Dst: Curl_rtmp_version
      Src: /src/PROJ/curl/lib/version.c:280,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:284,1
    - Dst: gsasl_check_version
      Src: /src/PROJ/curl/lib/version.c:285,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:290,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:293,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/version.c:296,1
    - Dst: oldap_version
      Src: /src/PROJ/curl/lib/version.c:301,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/version.c:305,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/version.c:310,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/version.c:319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 326
    functionName: curl_version
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 7
    functionsReached:
    - idn_version
    - getenv
    - Curl_ssh_version
    - zstd_version
    - memcpy
    - Curl_quic_ver
    - Curl_http2_ver
    - curl_msnprintf
    - brotli_version
    - psl_version
    - gsasl_check_version
    - DEBUGASSERT
    - Curl_ssl_version
    - ares_version
    - strlen
    - Curl_rtmp_version
    - oldap_version
    - zlibVersion
    linkageType: ''
    returnType: char
    signature: char *curl_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - curl_version_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: idn_present
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idn_present(curl_version_info_data *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/version.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - curl_version_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: https_proxy_present
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_supports
    linkageType: ''
    returnType: int
    signature: int https_proxy_present(curl_version_info_data *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_supports
      Src: /src/PROJ/curl/lib/version.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - curl_version_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: ech_present
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_supports
    linkageType: ''
    returnType: int
    signature: int ech_present(curl_version_info_data *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - present
    - ','
    - bitmask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: FEATURE
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FEATURE(name, present, bitmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_version
      Src: /src/PROJ/curl/lib/version.c:653,1
    - Dst: zlibVersion
      Src: /src/PROJ/curl/lib/version.c:658,1
    - Dst: ares_version
      Src: /src/PROJ/curl/lib/version.c:664,1
    - Dst: idn2_check_version
      Src: /src/PROJ/curl/lib/version.c:671,1
    - Dst: Curl_ssh_version
      Src: /src/PROJ/curl/lib/version.c:675,1
    - Dst: BrotliDecoderVersion
      Src: /src/PROJ/curl/lib/version.c:680,1
    - Dst: brotli_version
      Src: /src/PROJ/curl/lib/version.c:681,1
    - Dst: ZSTD_versionNumber
      Src: /src/PROJ/curl/lib/version.c:686,1
    - Dst: zstd_version
      Src: /src/PROJ/curl/lib/version.c:687,1
    - Dst: nghttp2_version
      Src: /src/PROJ/curl/lib/version.c:693,1
    - Dst: Curl_quic_ver
      Src: /src/PROJ/curl/lib/version.c:702,1
    - Dst: gsasl_check_version
      Src: /src/PROJ/curl/lib/version.c:709,1
    - Dst: struct feat*::present
      Src: /src/PROJ/curl/lib/version.c:716,1
    - Dst: Curl_rtmp_version
      Src: /src/PROJ/curl/lib/version.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - CURLversion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 627
    functionDepth: 7
    functionLinenumber: 627
    functionLinenumberEnd: 733
    functionName: curl_version_info
    functionSourceFile: /src/PROJ/curl/lib/version.c
    functionUses: 9
    functionsReached:
    - Curl_ssh_version
    - nghttp2_version
    - zstd_version
    - BrotliDecoderVersion
    - Curl_quic_ver
    - Curl_rtmp_version
    - brotli_version
    - ZSTD_versionNumber
    - gsasl_check_version
    - idn2_check_version
    - ares_version
    - Curl_ssl_version
    - struct feat*::present
    - zlibVersion
    linkageType: ''
    returnType: curl_version_info_data
    signature: curl_version_info_data *curl_version_info(CURLversion stamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/lib/select.c:80,1
    - Dst: curlx_mstotv
      Src: /src/PROJ/curl/lib/select.c:84,1
    - Dst: select
      Src: /src/PROJ/curl/lib/select.c:99,1
    - Dst: select
      Src: /src/PROJ/curl/lib/select.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - maxfd
    - fds_read
    - fds_write
    - fds_err
    - timeout_ms
    argTypes:
    - curl_socket_t
    - fd_set*
    - fd_set*
    - fd_set*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: our_select
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - select
    - curlx_mstotv
    - curlx_wait_ms
    linkageType: ''
    returnType: int
    signature: "int our_select(curl_socket_t maxfd,   /* highest socket number */\n
      \                     fd_set *fds_read,      /* sockets ready for reading */\n
      \                     fd_set *fds_write,     /* sockets ready for writing */\n
      \                     fd_set *fds_err,       /* sockets with errors */\n                      timediff_t
      timeout_ms)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/lib/select.c:142,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/select.c:170,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - readfd0
    - readfd1
    - writefd
    - timeout_ms
    argTypes:
    - curl_socket_t
    - curl_socket_t
    - curl_socket_t
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 198
    functionName: Curl_socket_check
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 5
    functionsReached:
    - Curl_poll
    - curlx_wait_ms
    linkageType: ''
    returnType: int
    signature: "int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read
      from */\n                      curl_socket_t readfd1,\n                      curl_socket_t
      writefd, /* socket to write to */\n                      timediff_t timeout_ms)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/lib/select.c:237,1
    - Dst: poll
      Src: /src/PROJ/curl/lib/select.c:258,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/lib/select.c:277,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/lib/select.c:278,1
    - Dst: FD_ZERO
      Src: /src/PROJ/curl/lib/select.c:279,1
    - Dst: VERIFY_SOCK
      Src: /src/PROJ/curl/lib/select.c:286,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/select.c:292,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/select.c:294,1
    - Dst: FD_SET
      Src: /src/PROJ/curl/lib/select.c:296,1
    - Dst: our_select
      Src: /src/PROJ/curl/lib/select.c:306,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/lib/select.c:319,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/lib/select.c:325,1
    - Dst: FD_ISSET
      Src: /src/PROJ/curl/lib/select.c:331,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 86
    argCount: 3
    argNames:
    - ufds
    - nfds
    - timeout_ms
    argTypes:
    - struct pollfd[]
    - unsigned int
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 344
    functionName: Curl_poll
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 8
    functionsReached:
    - VERIFY_SOCK
    - poll
    - FD_ZERO
    - curlx_wait_ms
    - FD_ISSET
    - FD_SET
    - our_select
    linkageType: ''
    returnType: int
    signature: int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:350,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/select.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cpfds
    - static_pfds
    - static_count
    argTypes:
    - struct curl_pollfds*
    - struct pollfd*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: Curl_pollfds_init
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - memset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_pollfds_init(struct curl_pollfds *cpfds,\n                       struct
      pollfd *static_pfds,\n                       unsigned int static_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpfds
    argTypes:
    - struct curl_pollfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: Curl_pollfds_reset
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pollfds_reset(struct curl_pollfds *cpfds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:365,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:367,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/select.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpfds
    argTypes:
    - struct curl_pollfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: Curl_pollfds_cleanup
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 3
    functionsReached:
    - memset
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_pollfds_cleanup(struct curl_pollfds *cpfds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/select.c:377,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/select.c:381,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cpfds
    - inc
    argTypes:
    - struct curl_pollfds*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: cpfds_increase
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cpfds_increase(struct curl_pollfds *cpfds, unsigned int inc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cpfds_increase
      Src: /src/PROJ/curl/lib/select.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - cpfds
    - sock
    - events
    - fold
    argTypes:
    - struct curl_pollfds*
    - curl_socket_t
    - short
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 412
    functionName: cpfds_add_sock
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - cpfds_increase
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cpfds_add_sock(struct curl_pollfds *cpfds,\n                               curl_socket_t
      sock, short events, bool fold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfds_add_sock
      Src: /src/PROJ/curl/lib/select.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cpfds
    - sock
    - events
    argTypes:
    - struct curl_pollfds*
    - curl_socket_t
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: Curl_pollfds_add_sock
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - cpfds_add_sock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollfds_add_sock(struct curl_pollfds *cpfds,\n                               curl_socket_t
      sock, short events)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:425,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:426,1
    - Dst: cpfds_add_sock
      Src: /src/PROJ/curl/lib/select.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - cpfds
    - ps
    argTypes:
    - struct curl_pollfds*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 439
    functionName: Curl_pollfds_add_ps
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - cpfds_add_sock
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollfds_add_ps(struct curl_pollfds *cpfds,\n                             struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:445,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:446,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/select.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cwfds
    - static_wfds
    - static_count
    argTypes:
    - struct Curl_waitfds*
    - struct curl_waitfd*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: Curl_waitfds_init
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 1
    functionsReached:
    - memset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_waitfds_init(struct Curl_waitfds *cwfds,\n                       struct
      curl_waitfd *static_wfds,\n                       unsigned int static_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - cwfds
    - sock
    - events
    argTypes:
    - struct Curl_waitfds*
    - curl_socket_t
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 475
    functionName: cwfds_add_sock
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int cwfds_add_sock(struct Curl_waitfds *cwfds,\n                                   curl_socket_t
      sock, short events)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:483,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:484,1
    - Dst: cwfds_add_sock
      Src: /src/PROJ/curl/lib/select.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cwfds
    - ps
    argTypes:
    - struct Curl_waitfds*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 495
    functionName: Curl_waitfds_add_ps
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - cwfds_add_sock
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int Curl_waitfds_add_ps(struct Curl_waitfds *cwfds,\n                                 struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:502,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:504,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/select.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: Curl_pollset_reset
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 5
    functionsReached:
    - memset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_reset(struct easy_pollset *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/select.c:517,1
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/select.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: Curl_pollset_init
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 8
    functionsReached:
    - CURL_ARRAYSIZE
    - Curl_pollset_reset
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_init(struct easy_pollset *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/select.c:524,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/select.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: Curl_pollset_create
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - Curl_pollset_init
    - calloc
    linkageType: ''
    returnType: struct easy_pollset
    signature: struct easy_pollset *Curl_pollset_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:533,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:536,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:540,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/select.c:543,1
    - Dst: Curl_pollset_reset
      Src: /src/PROJ/curl/lib/select.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: Curl_pollset_cleanup
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 9
    functionsReached:
    - Curl_pollset_reset
    - CURL_ARRAYSIZE
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_cleanup(struct easy_pollset *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_cleanup
      Src: /src/PROJ/curl/lib/select.c:549,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:551,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/select.c:556,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:559,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:560,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/select.c:561,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/select.c:562,1
    - Dst: Curl_pollset_init
      Src: /src/PROJ/curl/lib/select.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - struct easy_pollset*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: Curl_pollset_move
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 1
    functionsReached:
    - Curl_pollset_cleanup
    - Curl_pollset_init
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_move(struct easy_pollset *to, struct easy_pollset
      *from)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:578,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:582,1
    - Dst: VALID_SOCK
      Src: /src/PROJ/curl/lib/select.c:582,1
    - Dst: VALID_SOCK
      Src: /src/PROJ/curl/lib/select.c:583,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:586,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:587,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:588,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/select.c:596,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/select.c:598,1
    - Dst: CURLMAX
      Src: /src/PROJ/curl/lib/select.c:609,1
    - Dst: CURL_TRC_M
      Src: /src/PROJ/curl/lib/select.c:613,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/select.c:617,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/select.c:620,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:622,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/select.c:625,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/select.c:626,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:628,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:631,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:635,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 5
    argNames:
    - data
    - ps
    - sock
    - add_flags
    - remove_flags
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 643
    functionName: Curl_pollset_change
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 4
    functionsReached:
    - VALID_SOCK
    - CURLMAX
    - free
    - memcpy
    - memmove
    - calloc
    - DEBUGASSERT
    - CURL_TRC_M
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollset_change(struct Curl_easy *data,\n                             struct
      easy_pollset *ps, curl_socket_t sock,\n                             int add_flags,
      int remove_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/select.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - ps
    - sock
    - do_in
    - do_out
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: Curl_pollset_set
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 3
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollset_set(struct Curl_easy *data,\n                          struct
      easy_pollset *ps, curl_socket_t sock,\n                          bool do_in,
      bool do_out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:665,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:666,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/lib/select.c:669,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/select.c:671,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/select.c:691,1
    - Dst: free
      Src: /src/PROJ/curl/lib/select.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - data
    - ps
    - timeout_ms
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 694
    functionName: Curl_pollset_poll
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_poll
    - curlx_wait_ms
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int Curl_pollset_poll(struct Curl_easy *data,\n                      struct
      easy_pollset *ps,\n                      timediff_t timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/select.c:703,1
    - Dst: VALID_SOCK
      Src: /src/PROJ/curl/lib/select.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - data
    - ps
    - sock
    - pwant_read
    - pwant_write
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: Curl_pollset_check
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - VALID_SOCK
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_pollset_check(struct Curl_easy *data,\n                        struct
      easy_pollset *ps, curl_socket_t sock,\n                        bool *pwant_read,
      bool *pwant_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ps
    - sock
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: Curl_pollset_want_read
    functionSourceFile: /src/PROJ/curl/lib/select.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_pollset_want_read(struct Curl_easy *data,\n                            struct
      easy_pollset *ps,\n                            curl_socket_t sock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - transport
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: get_cf_create
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: cf_ip_connect_create
    signature: cf_ip_connect_create *get_cf_create(int transport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - transport
    - cf_create
    argTypes:
    - int
    - cf_ip_connect_create*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Curl_debug_set_transport_provider
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 1
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: "void Curl_debug_set_transport_provider(int transport,\n                                       cf_ip_connect_create
      *cf_create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iter
    - list
    - ai_family
    argTypes:
    - struct cf_ai_iter*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: cf_ai_iter_init
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf_ai_iter_init(struct cf_ai_iter *iter,\n                            const
      struct Curl_addrinfo *list,\n                            int ai_family)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct cf_ai_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: cf_ai_iter_next
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *cf_ai_iter_next(struct cf_ai_iter *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct cf_ai_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: cf_ai_iter_has_more
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ai_iter_has_more(struct cf_ai_iter *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:188,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - data
    argTypes:
    - struct cf_ip_attempt*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: cf_ip_attempt_free
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - free
    linkageType: ''
    returnType: void
    signature: "void cf_ip_attempt_free(struct cf_ip_attempt *a,\n                               struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:206,1
    - Dst: struct cf_ip_attempt*::cf_create
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:217,1
    - Dst: cf_ip_attempt_free
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 7
    argNames:
    - pa
    - cf
    - data
    - addr
    - ai_family
    - transport
    - cf_create
    argTypes:
    - struct cf_ip_attempt**
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - int
    - int
    - cf_ip_connect_create*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 233
    functionName: cf_ip_attempt_new
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_attempt_free
    - calloc
    - struct cf_ip_attempt*::cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_attempt_new(struct cf_ip_attempt **pa,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 const struct Curl_addrinfo *addr,\n                                  int
      ai_family,\n                                  int transport,\n                                  cf_ip_connect_create
      *cf_create)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - a
    - data
    - connected
    argTypes:
    - struct cf_ip_attempt*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: cf_ip_attempt_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_attempt_connect(struct cf_ip_attempt *a,\n                                      struct
      Curl_easy *data,\n                                      bool *connected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf_create
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:286,1
    - Dst: cf_ip_attempt_connect
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:294,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - a
    - cf
    - data
    argTypes:
    - struct cf_ip_attempt*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: cf_ip_attempt_restart
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - cf_ip_attempt_connect
    - struct cf_ip_attempt*::cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_attempt_restart(struct cf_ip_attempt *a,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_attempt_free
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:309,1
    - Dst: cf_ip_attempt_free
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cf
    - data
    - bs
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_ip_ballers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: cf_ip_ballers_clear
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_attempt_free
    linkageType: ''
    returnType: void
    signature: "void cf_ip_ballers_clear(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                struct cf_ip_ballers *bs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:321,1
    - Dst: cf_ai_iter_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:329,1
    - Dst: cf_ai_iter_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:337,1
    - Dst: cf_ai_iter_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:339,1
    - Dst: cf_ai_iter_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:342,1
    - Dst: cf_ai_iter_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:344,1
    - Dst: cf_ai_iter_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - bs
    - ip_version
    - addr_list
    - cf_create
    - transport
    - attempt_delay_ms
    argTypes:
    - struct cf_ip_ballers*
    - int
    - struct Curl_addrinfo*
    - cf_ip_connect_create*
    - int
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 351
    functionName: cf_ip_ballers_init
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - memset
    - cf_ai_iter_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_init(struct cf_ip_ballers *bs, int ip_version,\n
      \                                  const struct Curl_addrinfo *addr_list,\n
      \                                  cf_ip_connect_create *cf_create,\n                                   int
      transport,\n                                   timediff_t attempt_delay_ms)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:369,1
    - Dst: cf_ip_attempt_connect
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:377,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:382,1
    - Dst: cf_ip_attempt_free
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:389,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:400,1
    - Dst: cf_ai_iter_has_more
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:410,1
    - Dst: cf_ai_iter_has_more
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:413,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:416,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:419,1
    - Dst: cf_ai_iter_has_more
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:430,1
    - Dst: cf_ai_iter_next
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:431,1
    - Dst: cf_ai_iter_next
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:436,1
    - Dst: cf_ip_attempt_new
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:441,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:443,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:448,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:463,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:466,1
    - Dst: cf_ip_attempt_restart
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:472,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:473,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:479,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:483,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:485,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:492,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:496,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:508,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:510,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:511,1
    - Dst: cf_ai_iter_has_more
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:515,1
    - Dst: cf_ai_iter_has_more
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:518,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:522,1
    - Dst: CURLMAX
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:523,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:524,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:526,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:529,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:531,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 129
    argCount: 4
    argNames:
    - bs
    - cf
    - data
    - connected
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 353
    functionDepth: 7
    functionLinenumber: 353
    functionLinenumberEnd: 535
    functionName: cf_ip_ballers_run
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - infof
    - cf_ip_attempt_restart
    - cf_ip_attempt_free
    - CURL_TRC_CF
    - cf_ip_attempt_connect
    - curlx_now
    - cf_ai_iter_next
    - Curl_expire
    - Curl_timeleft
    - cf_ip_attempt_new
    - curlx_timediff
    - failf
    - CURLMAX
    - CURLMIN
    - DEBUGASSERT
    - cf_ai_iter_has_more
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_run(struct cf_ip_ballers *bs,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 bool *connected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf::cft::do_shutdown
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - bs
    - data
    - done
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 557
    functionName: cf_ip_ballers_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::do_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_shutdown(struct cf_ip_ballers *bs,\n                                       struct
      Curl_easy *data,\n                                       bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bs
    - data
    - ps
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: cf_ip_ballers_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_pollset(struct cf_ip_ballers *bs,\n                                      struct
      Curl_easy *data,\n                                      struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - data
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: cf_ip_ballers_pending
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_ip_ballers_pending(struct cf_ip_ballers *bs,\n                                  const
      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:594,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:596,1
    - Dst: struct cf_ip_attempt*::cf::cft::query
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:597,1
    - Dst: curlx_timediff_us
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - bs
    - data
    - query
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 603
    functionName: cf_ip_ballers_max_time
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - memset
    - struct cf_ip_attempt*::cf::cft::query
    - curlx_timediff_us
    linkageType: ''
    returnType: struct curltime
    signature: "struct curltime cf_ip_ballers_max_time(struct cf_ip_ballers *bs,\n
      \                                             struct Curl_easy *data,\n                                              int
      query)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf::cft::query
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - data
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: cf_ip_ballers_min_reply_ms
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::query
    linkageType: ''
    returnType: int
    signature: "int cf_ip_ballers_min_reply_ms(struct cf_ip_ballers *bs,\n                                      struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_run
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:645,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:664,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:676,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:679,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:685,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:685,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - cf
    - data
    - connected
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 637
    functionDepth: 8
    functionLinenumber: 637
    functionLinenumberEnd: 695
    functionName: is_connected
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 8
    functionsReached:
    - failf
    - curlx_now
    - curl_msnprintf
    - curlx_timediff
    - cf_ip_ballers_run
    - curl_easy_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode is_connected(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *connected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:710,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:712,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:716,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:717,1
    - Dst: cf_ip_ballers_init
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 721
    functionName: start_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - curlx_now
    - Curl_timeleft
    - cf_ip_ballers_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode start_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:728,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:729,1
    - Dst: cf_ip_ballers_clear
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: cf_ip_happy_ctx_clear
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_ballers_clear
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cf_ip_happy_ctx_clear(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:740,1
    - Dst: cf_ip_ballers_shutdown
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:746,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 749
    functionName: cf_ip_happy_shutdown
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_ballers_shutdown
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_shutdown(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_pollset
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:759,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: cf_ip_happy_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_ballers_pollset
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_adjust_pollset(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct easy_pollset
      *ps)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:777,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:782,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:782,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:783,1
    - Dst: start_connect
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:784,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:788,1
    - Dst: is_connected
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:790,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:792,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:793,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:794,1
    - Dst: cf_ip_happy_ctx_clear
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:801,1
    - Dst: Curl_expire_done
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:802,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:805,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:807,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:810,1
    - Dst: Curl_conn_get_current_host
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:813,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:814,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 765
    functionDepth: 9
    functionLinenumber: 765
    functionLinenumberEnd: 827
    functionName: cf_ip_happy_connect
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_expire_done
    - Curl_conn_cf_get_socket
    - CURL_TRC_CF
    - FALLTHROUGH
    - is_connected
    - Curl_conn_get_current_host
    - Curl_conn_cf_get_ip_info
    - DEBUGASSERT
    - start_connect
    - cf_ip_happy_ctx_clear
    - Curl_pgrsTime
    - Curl_trc_cf_is_verbose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_connect(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:834,1
    - Dst: cf_ip_happy_ctx_clear
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:835,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:840,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 843
    functionName: cf_ip_happy_close
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_happy_ctx_clear
    - Curl_conn_cf_discard_chain
    - struct Curl_cfilter*::next::cft::do_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_ip_happy_close(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_pending
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:851,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: cf_ip_happy_data_pending
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    - cf_ip_ballers_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_ip_happy_data_pending(struct Curl_cfilter *cf,\n                                     const
      struct Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_min_reply_ms
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:865,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:866,1
    - Dst: cf_ip_ballers_max_time
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:871,1
    - Dst: cf_ip_ballers_max_time
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:877,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 889
    functionName: cf_ip_happy_query
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::query
    - cf_ip_ballers_min_reply_ms
    - CURL_TRC_CF
    - cf_ip_ballers_max_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_query(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int query, int *pres1, void
      *pres2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:896,1
    - Dst: cf_ip_happy_ctx_clear
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:898,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 902
    functionName: cf_ip_happy_destroy
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_happy_ctx_clear
    - CURL_TRC_CF
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: "void cf_ip_happy_destroy(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:944,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:952,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:956,1
    - Dst: free
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - cf_create
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - cf_ip_connect_create*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 960
    functionName: cf_ip_happy_create
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - free
    - calloc
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_create(struct Curl_cfilter **pcf,\n                                   struct
      Curl_easy *data,\n                                   struct connectdata *conn,\n
      \                                  cf_ip_connect_create *cf_create,\n                                   int
      transport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:971,1
    - Dst: get_cf_create
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:972,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:974,1
    - Dst: cf_ip_happy_create
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:977,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/cf-ip-happy.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cf_at
    - data
    - transport
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 983
    functionName: cf_ip_happy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/cf-ip-happy.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - cf_ip_happy_create
    - get_cf_create
    - DEBUGASSERT
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_insert_after(struct Curl_cfilter *cf_at,\n                                  struct
      Curl_easy *data,\n                                  int transport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/PROJ/curl/lib/sha256.c:88,1
    - Dst: EVP_DigestInit_ex
      Src: /src/PROJ/curl/lib/sha256.c:92,1
    - Dst: EVP_sha256
      Src: /src/PROJ/curl/lib/sha256.c:92,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/PROJ/curl/lib/sha256.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: my_sha256_init
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - EVP_MD_CTX_create
    - EVP_sha256
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/PROJ/curl/lib/sha256.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: my_sha256_update
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *in,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/PROJ/curl/lib/sha256.c:110,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/PROJ/curl/lib/sha256.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - digest
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: my_sha256_final
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/PROJ/curl/lib/sha256.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: my_sha256_init
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/PROJ/curl/lib/sha256.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: my_sha256_update
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_update
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_digest
      Src: /src/PROJ/curl/lib/sha256.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: my_sha256_final
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_digest
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/sha256.c:142,1
    - Dst: psa_hash_setup
      Src: /src/PROJ/curl/lib/sha256.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: my_sha256_init
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - memset
    - psa_hash_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/PROJ/curl/lib/sha256.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: my_sha256_update
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - psa_hash_update
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_finish
      Src: /src/PROJ/curl/lib/sha256.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: my_sha256_final
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - psa_hash_finish
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_SHA256_Init
      Src: /src/PROJ/curl/lib/sha256.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: my_sha256_init
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CC_SHA256_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_SHA256_Update
      Src: /src/PROJ/curl/lib/sha256.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: my_sha256_update
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CC_SHA256_Update
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_SHA256_Final
      Src: /src/PROJ/curl/lib/sha256.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: my_sha256_final
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CC_SHA256_Final
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/PROJ/curl/lib/sha256.c:199,1
    - Dst: CryptCreateHash
      Src: /src/PROJ/curl/lib/sha256.c:203,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/sha256.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: my_sha256_init
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CryptCreateHash
    - CryptAcquireContext
    - CryptReleaseContext
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/sha256.c:218,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/sha256.c:218,1
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/sha256.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: my_sha256_update
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - CryptHashData
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *in,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/sha256.c:229,1
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/sha256.c:231,1
    - Dst: CryptDestroyHash
      Src: /src/PROJ/curl/lib/sha256.c:234,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/sha256.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - digest
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: my_sha256_final
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CryptDestroyHash
    - CryptGetHashParam
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: WPA_GET_BE32
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_GET_BE32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: WPA_PUT_BE32
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_PUT_BE32(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: WPA_PUT_BE64
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_PUT_BE64(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: WPA_PUT_BE64
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_PUT_BE64(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: RORc
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RORc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: Sha256_Ch
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Sha256_Maj
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: Sha256_S
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_S(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: Sha256_R
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_R(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: Sigma0
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: Sigma1
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: Gamma0
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: Gamma1
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/PROJ/curl/lib/sha256.c:339,1
    - Dst: Gamma1
      Src: /src/PROJ/curl/lib/sha256.c:342,1
    - Dst: Gamma0
      Src: /src/PROJ/curl/lib/sha256.c:342,1
    - Dst: RND
      Src: /src/PROJ/curl/lib/sha256.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - struct sha256_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 368
    functionName: sha256_compress
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - Gamma0
    - WPA_GET_BE32
    - RND
    - Gamma1
    linkageType: ''
    returnType: int
    signature: "int sha256_compress(struct sha256_state *md,\n                           const
      unsigned char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: RND
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RND(a,b,c,d,e,f,g,h,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 386
    functionName: my_sha256_init
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress
      Src: /src/PROJ/curl/lib/sha256.c:406,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/sha256.c:413,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/sha256.c:414,1
    - Dst: sha256_compress
      Src: /src/PROJ/curl/lib/sha256.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - in
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 426
    functionName: my_sha256_update
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_compress
    - CURLMIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *in,\n                             unsigned int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress
      Src: /src/PROJ/curl/lib/sha256.c:456,1
    - Dst: WPA_PUT_BE64
      Src: /src/PROJ/curl/lib/sha256.c:466,1
    - Dst: sha256_compress
      Src: /src/PROJ/curl/lib/sha256.c:467,1
    - Dst: WPA_PUT_BE32
      Src: /src/PROJ/curl/lib/sha256.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - out
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 472
    functionName: my_sha256_final
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_compress
    - WPA_PUT_BE64
    - WPA_PUT_BE32
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *out, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_sha256_init
      Src: /src/PROJ/curl/lib/sha256.c:495,1
    - Dst: my_sha256_update
      Src: /src/PROJ/curl/lib/sha256.c:497,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/sha256.c:497,1
    - Dst: my_sha256_final
      Src: /src/PROJ/curl/lib/sha256.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - input
    - length
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 501
    functionName: Curl_sha256it
    functionSourceFile: /src/PROJ/curl/lib/sha256.c
    functionUses: 3
    functionsReached:
    - curlx_uztoui
    - my_sha256_init
    - my_sha256_final
    - my_sha256_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha256it(unsigned char *output, const unsigned char
      *input,\n                       const size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/content_encoding.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: zalloc_cb
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf zalloc_cb(voidpf opaque, unsigned int items, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/content_encoding.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: zfree_cb
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void zfree_cb(voidpf opaque, voidpf ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:113,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - z
    argTypes:
    - struct Curl_easy*
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: process_zlib_error
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode process_zlib_error(struct Curl_easy *data, z_stream *z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/PROJ/curl/lib/content_encoding.c:127,1
    - Dst: process_zlib_error
      Src: /src/PROJ/curl/lib/content_encoding.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - data
    - z
    - zlib_init
    - result
    argTypes:
    - struct Curl_easy*
    - z_stream*
    - zlibInitState*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: exit_zlib
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - process_zlib_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode exit_zlib(struct Curl_easy *data,\n          z_stream *z,
      zlibInitState *zlib_init, CURLcode result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - zp
    argTypes:
    - struct Curl_easy*
    - struct zlib_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: process_trailer
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode process_trailer(struct Curl_easy *data,\n                                struct
      zlib_writer *zp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:174,1
    - Dst: inflate
      Src: /src/PROJ/curl/lib/content_encoding.c:186,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:192,1
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:195,1
    - Dst: process_trailer
      Src: /src/PROJ/curl/lib/content_encoding.c:211,1
    - Dst: inflateReset2
      Src: /src/PROJ/curl/lib/content_encoding.c:217,1
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:227,1
    - Dst: process_zlib_error
      Src: /src/PROJ/curl/lib/content_encoding.c:227,1
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:230,1
    - Dst: process_zlib_error
      Src: /src/PROJ/curl/lib/content_encoding.c:230,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - data
    - writer
    - type
    - started
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - zlibInitState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 242
    functionName: inflate_stream
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - exit_zlib
    - process_zlib_error
    - inflate
    - process_trailer
    - inflateReset2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode inflate_stream(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer, int type,\n                               zlibInitState
      started)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/PROJ/curl/lib/content_encoding.c:256,1
    - Dst: process_zlib_error
      Src: /src/PROJ/curl/lib/content_encoding.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: deflate_do_init
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - inflateInit
    - process_zlib_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode deflate_do_init(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:270,1
    - Dst: process_trailer
      Src: /src/PROJ/curl/lib/content_encoding.c:277,1
    - Dst: inflate_stream
      Src: /src/PROJ/curl/lib/content_encoding.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: deflate_do_write
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - process_trailer
    - Curl_cwriter_write
    - inflate_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode deflate_do_write(struct Curl_easy *data,\n                                 struct
      Curl_cwriter *writer, int type,\n                                 const char
      *buf, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: deflate_do_close
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    linkageType: ''
    returnType: void
    signature: "void deflate_do_close(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/PROJ/curl/lib/content_encoding.c:313,1
    - Dst: process_zlib_error
      Src: /src/PROJ/curl/lib/content_encoding.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: gzip_do_init
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - inflateInit2
    - process_zlib_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gzip_do_init(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:328,1
    - Dst: inflate_stream
      Src: /src/PROJ/curl/lib/content_encoding.c:335,1
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: gzip_do_write
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    - Curl_cwriter_write
    - inflate_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gzip_do_write(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer, int type,\n                              const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/PROJ/curl/lib/content_encoding.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: gzip_do_close
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    linkageType: ''
    returnType: void
    signature: "void gzip_do_close(struct Curl_easy *data,\n                          struct
      Curl_cwriter *writer)"
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - be
    argTypes:
    - BrotliDecoderErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 406
    functionName: brotli_map_error
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode brotli_map_error(BrotliDecoderErrorCode be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderCreateInstance
      Src: /src/PROJ/curl/lib/content_encoding.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: brotli_do_init
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderCreateInstance
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode brotli_do_init(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:430,1
    - Dst: BrotliDecoderDecompressStream
      Src: /src/PROJ/curl/lib/content_encoding.c:439,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:441,1
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/PROJ/curl/lib/content_encoding.c:450,1
    - Dst: brotli_map_error
      Src: /src/PROJ/curl/lib/content_encoding.c:456,1
    - Dst: BrotliDecoderGetErrorCode
      Src: /src/PROJ/curl/lib/content_encoding.c:456,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 461
    functionName: brotli_do_write
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderDecompressStream
    - BrotliDecoderGetErrorCode
    - brotli_map_error
    - BrotliDecoderDestroyInstance
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode brotli_do_write(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer, int type,\n                                const char
      *buf, size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/PROJ/curl/lib/content_encoding.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 473
    functionName: brotli_do_close
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderDestroyInstance
    linkageType: ''
    returnType: void
    signature: "void brotli_do_close(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/PROJ/curl/lib/content_encoding.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: Curl_zstd_alloc
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void *Curl_zstd_alloc(void *opaque, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/PROJ/curl/lib/content_encoding.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - address
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: Curl_zstd_free
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void Curl_zstd_free(void *opaque, void *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_createDStream_advanced
      Src: /src/PROJ/curl/lib/content_encoding.c:515,1
    - Dst: ZSTD_createDStream
      Src: /src/PROJ/curl/lib/content_encoding.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 525
    functionName: zstd_do_init
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - ZSTD_createDStream_advanced
    - ZSTD_createDStream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode zstd_do_init(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:538,1
    - Dst: ZSTD_decompressStream
      Src: /src/PROJ/curl/lib/content_encoding.c:549,1
    - Dst: ZSTD_isError
      Src: /src/PROJ/curl/lib/content_encoding.c:550,1
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 564
    functionName: zstd_do_write
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - ZSTD_decompressStream
    - ZSTD_isError
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode zstd_do_write(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer, int type,\n                              const char *buf,
      size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_freeDStream
      Src: /src/PROJ/curl/lib/content_encoding.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: zstd_do_close
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - ZSTD_freeDStream
    linkageType: ''
    returnType: void
    signature: "void zstd_do_close(struct Curl_easy *data,\n                          struct
      Curl_cwriter *writer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/content_encoding.c:630,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/content_encoding.c:631,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/content_encoding.c:636,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/content_encoding.c:637,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/content_encoding.c:642,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/content_encoding.c:648,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/content_encoding.c:649,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/content_encoding.c:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - blen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 657
    functionName: Curl_all_content_encodings
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 1
    functionsReached:
    - curl_strequal
    - strcpy
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: void
    signature: void Curl_all_content_encodings(char *buf, size_t blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: error_do_init
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode error_do_init(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/PROJ/curl/lib/content_encoding.c:677,1
    - Dst: Curl_all_content_encodings
      Src: /src/PROJ/curl/lib/content_encoding.c:680,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 685
    functionName: error_do_write
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_all_content_encodings
    - failf
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode error_do_write(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer, int type,\n                               const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: error_do_close
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void error_do_close(struct Curl_easy *data,\n                           struct
      Curl_cwriter *writer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/content_encoding.c:713,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/content_encoding.c:714,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/content_encoding.c:722,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/content_encoding.c:723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - name
    - len
    - phase
    argTypes:
    - char*
    - size_t
    - Curl_cwriter_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 727
    functionName: find_unencode_writer
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: struct Curl_cwtype
    signature: "struct Curl_cwtype *find_unencode_writer(const char *name,\n                                                      size_t
      len,\n                                                      Curl_cwriter_phase
      phase)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/content_encoding.c:745,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/content_encoding.c:758,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/content_encoding.c:761,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/content_encoding.c:766,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/content_encoding.c:768,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:772,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:777,1
    - Dst: Curl_cwriter_count
      Src: /src/PROJ/curl/lib/content_encoding.c:784,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:785,1
    - Dst: find_unencode_writer
      Src: /src/PROJ/curl/lib/content_encoding.c:790,1
    - Dst: Curl_cwriter_get_by_type
      Src: /src/PROJ/curl/lib/content_encoding.c:791,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/content_encoding.c:798,1
    - Dst: Curl_cwriter_get_by_name
      Src: /src/PROJ/curl/lib/content_encoding.c:803,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/content_encoding.c:812,1
    - Dst: Curl_cwriter_create
      Src: /src/PROJ/curl/lib/content_encoding.c:820,1
    - Dst: CURL_TRC_WRITE
      Src: /src/PROJ/curl/lib/content_encoding.c:821,1
    - Dst: Curl_cwriter_add
      Src: /src/PROJ/curl/lib/content_encoding.c:826,1
    - Dst: Curl_cwriter_free
      Src: /src/PROJ/curl/lib/content_encoding.c:828,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 3
    argNames:
    - data
    - enclist
    - is_transfer
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 837
    functionName: Curl_build_unencoding_stack
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 2
    functionsReached:
    - Curl_cwriter_create
    - failf
    - ISBLANK
    - Curl_cwriter_get_by_name
    - CURL_TRC_WRITE
    - Curl_cwriter_count
    - curl_strnequal
    - Curl_cwriter_free
    - Curl_cwriter_get_by_type
    - find_unencode_writer
    - Curl_cwriter_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_build_unencoding_stack(struct Curl_easy *data,\n                                     const
      char *enclist, int is_transfer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - enclist
    - is_transfer
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: Curl_build_unencoding_stack
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_build_unencoding_stack(struct Curl_easy *data,\n                                     const
      char *enclist, int is_transfer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/content_encoding.c:852,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/content_encoding.c:853,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/content_encoding.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - blen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 858
    functionName: Curl_all_content_encodings
    functionSourceFile: /src/PROJ/curl/lib/content_encoding.c
    functionUses: 2
    functionsReached:
    - strcpy
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_all_content_encodings(char *buf, size_t blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: compare
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare(i,j)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:54,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:58,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:73,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - i
    - t
    argTypes:
    - struct curltime
    - struct Curl_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 95
    functionName: Curl_splay
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 1
    functionsReached:
    - compare
    linkageType: ''
    returnType: struct Curl_tree
    signature: "struct Curl_tree *Curl_splay(struct curltime i,\n                             struct
      Curl_tree *t)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:110,1
    - Dst: Curl_splay
      Src: /src/PROJ/curl/lib/splay.c:113,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:114,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:115,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - i
    - t
    - node
    argTypes:
    - struct curltime
    - struct Curl_tree*
    - struct Curl_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 150
    functionName: Curl_splayinsert
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 3
    functionsReached:
    - Curl_splay
    - compare
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_tree
    signature: "struct Curl_tree *Curl_splayinsert(struct curltime i,\n                                   struct
      Curl_tree *t,\n                                   struct Curl_tree *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splay
      Src: /src/PROJ/curl/lib/splay.c:168,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:169,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - i
    - t
    - removed
    argTypes:
    - struct curltime
    - struct Curl_tree*
    - struct Curl_tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: Curl_splaygetbest
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 3
    functionsReached:
    - Curl_splay
    - compare
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_tree
    signature: "struct Curl_tree *Curl_splaygetbest(struct curltime i,\n                                    struct
      Curl_tree *t,\n                                    struct Curl_tree **removed)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:221,1
    - Dst: compare
      Src: /src/PROJ/curl/lib/splay.c:223,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:226,1
    - Dst: Curl_splay
      Src: /src/PROJ/curl/lib/splay.c:241,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:242,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:251,1
    - Dst: Curl_splay
      Src: /src/PROJ/curl/lib/splay.c:273,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - t
    - removenode
    - newroot
    argTypes:
    - struct Curl_tree*
    - struct Curl_tree*
    - struct Curl_tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 282
    functionName: Curl_splayremove
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 3
    functionsReached:
    - Curl_splay
    - compare
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int Curl_splayremove(struct Curl_tree *t,\n                     struct
      Curl_tree *removenode,\n                     struct Curl_tree **newroot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - payload
    argTypes:
    - struct Curl_tree*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: Curl_splayset
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_splayset(struct Curl_tree *node, void *payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/splay.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct Curl_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: Curl_splayget
    functionSourceFile: /src/PROJ/curl/lib/splay.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_splayget(struct Curl_tree *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: curl_simple_lock_lock
    functionSourceFile: /src/PROJ/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_lock(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: curl_simple_lock_unlock
    functionSourceFile: /src/PROJ/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_unlock(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange_explicit
      Src: /src/PROJ/curl/lib/easy_lock.h:67,1
    - Dst: atomic_load_explicit
      Src: /src/PROJ/curl/lib/easy_lock.h:70,1
    - Dst: __builtin_ia32_pause
      Src: /src/PROJ/curl/lib/easy_lock.h:73,1
    - Dst: Sleep
      Src: /src/PROJ/curl/lib/easy_lock.h:77,1
    - Dst: sched_yield
      Src: /src/PROJ/curl/lib/easy_lock.h:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - lock
    argTypes:
    - curl_simple_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: curl_simple_lock_lock
    functionSourceFile: /src/PROJ/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached:
    - __builtin_ia32_pause
    - atomic_exchange_explicit
    - Sleep
    - atomic_load_explicit
    - sched_yield
    linkageType: ''
    returnType: CURL_INLINE
    signature: CURL_INLINE curl_simple_lock_lock(curl_simple_lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/PROJ/curl/lib/easy_lock.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - curl_simple_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: curl_simple_lock_unlock
    functionSourceFile: /src/PROJ/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached:
    - atomic_store_explicit
    linkageType: ''
    returnType: CURL_INLINE
    signature: CURL_INLINE curl_simple_lock_unlock(curl_simple_lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: curl_simple_lock_lock
    functionSourceFile: /src/PROJ/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_lock(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: curl_simple_lock_unlock
    functionSourceFile: /src/PROJ/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_unlock(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventfd
      Src: /src/PROJ/curl/lib/socketpair.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - socks
    - nonblocking
    argTypes:
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: Curl_eventfd
    functionSourceFile: /src/PROJ/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - eventfd
    linkageType: ''
    returnType: int
    signature: int Curl_eventfd(curl_socket_t socks[2], bool nonblocking)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/PROJ/curl/lib/socketpair.c:55,1
    - Dst: pipe
      Src: /src/PROJ/curl/lib/socketpair.c:58,1
    - Dst: fcntl
      Src: /src/PROJ/curl/lib/socketpair.c:61,1
    - Dst: fcntl
      Src: /src/PROJ/curl/lib/socketpair.c:62,1
    - Dst: close
      Src: /src/PROJ/curl/lib/socketpair.c:63,1
    - Dst: close
      Src: /src/PROJ/curl/lib/socketpair.c:64,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:70,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:71,1
    - Dst: close
      Src: /src/PROJ/curl/lib/socketpair.c:72,1
    - Dst: close
      Src: /src/PROJ/curl/lib/socketpair.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - socks
    - nonblocking
    argTypes:
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Curl_pipe
    functionSourceFile: /src/PROJ/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - fcntl
    - pipe2
    - close
    - pipe
    - curlx_nonblock
    linkageType: ''
    returnType: int
    signature: int Curl_pipe(curl_socket_t socks[2], bool nonblocking)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SOCKETPAIR
      Src: /src/PROJ/curl/lib/socketpair.c:94,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:98,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:99,1
    - Dst: close
      Src: /src/PROJ/curl/lib/socketpair.c:100,1
    - Dst: close
      Src: /src/PROJ/curl/lib/socketpair.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - domain
    - type
    - protocol
    - socks
    - nonblocking
    argTypes:
    - int
    - int
    - int
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: Curl_socketpair
    functionSourceFile: /src/PROJ/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - CURL_SOCKETPAIR
    - curlx_nonblock
    - close
    linkageType: ''
    returnType: int
    signature: "int Curl_socketpair(int domain, int type, int protocol,\n                    curl_socket_t
      socks[2], bool nonblocking)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/lib/socketpair.c:156,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/socketpair.c:160,1
    - Dst: htonl
      Src: /src/PROJ/curl/lib/socketpair.c:162,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/socketpair.c:173,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/socketpair.c:179,1
    - Dst: bind
      Src: /src/PROJ/curl/lib/socketpair.c:183,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/socketpair.c:185,1
    - Dst: listen
      Src: /src/PROJ/curl/lib/socketpair.c:188,1
    - Dst: CURL_SOCKET
      Src: /src/PROJ/curl/lib/socketpair.c:190,1
    - Dst: connect
      Src: /src/PROJ/curl/lib/socketpair.c:193,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:197,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/socketpair.c:202,1
    - Dst: CURL_ACCEPT
      Src: /src/PROJ/curl/lib/socketpair.c:203,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/socketpair.c:207,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/socketpair.c:213,1
    - Dst: swrite
      Src: /src/PROJ/curl/lib/socketpair.c:217,1
    - Dst: Curl_poll
      Src: /src/PROJ/curl/lib/socketpair.c:225,1
    - Dst: sread
      Src: /src/PROJ/curl/lib/socketpair.c:227,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/socketpair.c:231,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/socketpair.c:231,1
    - Dst: USE_WINSOCK
      Src: /src/PROJ/curl/lib/socketpair.c:234,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/socketpair.c:254,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:261,1
    - Dst: curlx_nonblock
      Src: /src/PROJ/curl/lib/socketpair.c:262,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/socketpair.c:264,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/socketpair.c:268,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/socketpair.c:269,1
    - Dst: sclose
      Src: /src/PROJ/curl/lib/socketpair.c:270,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 90
    argCount: 5
    argNames:
    - domain
    - type
    - protocol
    - socks
    - nonblocking
    argTypes:
    - int
    - int
    - int
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 272
    functionName: Curl_socketpair
    functionSourceFile: /src/PROJ/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - curlx_now
    - sread
    - CURL_ACCEPT
    - memcmp
    - Curl_rand
    - USE_WINSOCK
    - Curl_poll
    - memset
    - bind
    - curlx_timediff
    - setsockopt
    - sclose
    - curlx_nonblock
    - swrite
    - connect
    - getsockname
    - listen
    - CURL_SOCKET
    - htonl
    linkageType: ''
    returnType: int
    signature: "int Curl_socketpair(int domain, int type, int protocol,\n                    curl_socket_t
      socks[2], bool nonblocking)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/strdup.c:48,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/strdup.c:50,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/strdup.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: Curl_strdup
    functionSourceFile: /src/PROJ/curl/lib/strdup.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Curl_strdup(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/PROJ/curl/lib/strdup.c:72,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/strdup.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: Curl_wcsdup
    functionSourceFile: /src/PROJ/curl/lib/strdup.c
    functionUses: 0
    functionsReached:
    - wcslen
    - Curl_memdup
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *Curl_wcsdup(const wchar_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/strdup.c:93,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/strdup.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: Curl_memdup
    functionSourceFile: /src/PROJ/curl/lib/strdup.c
    functionUses: 7
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *Curl_memdup(const void *src, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/strdup.c:114,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/strdup.c:118,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/strdup.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Curl_memdup0
    functionSourceFile: /src/PROJ/curl/lib/strdup.c
    functionUses: 23
    functionsReached:
    - malloc
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *Curl_memdup0(const char *src, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PROJ/curl/lib/strdup.c:141,1
    - Dst: free
      Src: /src/PROJ/curl/lib/strdup.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: Curl_saferealloc
    functionSourceFile: /src/PROJ/curl/lib/strdup.c
    functionUses: 1
    functionsReached:
    - free
    - realloc
    linkageType: ''
    returnType: void
    signature: void *Curl_saferealloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: Curl_setopt_SSLVERSION
    functionSourceFile: /src/PROJ/curl/lib/setopt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_setopt_SSLVERSION(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/PROJ/curl/lib/memdebug.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: curl_dbg_cleanup
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void curl_dbg_cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_FOPEN_LOW
      Src: /src/PROJ/curl/lib/memdebug.c:82,1
    - Dst: setbuf
      Src: /src/PROJ/curl/lib/memdebug.c:88,1
    - Dst: atexit
      Src: /src/PROJ/curl/lib/memdebug.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - logname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: curl_dbg_memdebug
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 2
    functionsReached:
    - CURLX_FOPEN_LOW
    - atexit
    - setbuf
    linkageType: ''
    returnType: void
    signature: void curl_dbg_memdebug(const char *logname)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: curl_dbg_memlimit
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_dbg_memlimit(long limit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:113,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/memdebug.c:116,1
    - Dst: fflush
      Src: /src/PROJ/curl/lib/memdebug.c:118,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/memdebug.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - func
    - line
    - source
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: countcheck
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - fflush
    - curl_dbg_log
    - curl_mfprintf
    linkageType: ''
    returnType: bool
    signature: bool countcheck(const char *func, int line, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:136,1
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:138,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - wantedsize
    - line
    - source
    argTypes:
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: curl_dbg_malloc
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - DEBUGASSERT
    - countcheck
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: ALLOC_FUNC *curl_dbg_malloc(size_t wantedsize, int line, const char
      *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:164,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:165,1
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:167,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - wanted_elements
    - wanted_size
    - line
    - source
    argTypes:
    - size_t
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 184
    functionName: curl_dbg_calloc
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - DEBUGASSERT
    - countcheck
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: "ALLOC_FUNC *curl_dbg_calloc(size_t wanted_elements, size_t wanted_size,\n
      \                     int line, const char *source)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:192,1
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:194,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/memdebug.c:197,1
    - Dst: curl_dbg_malloc
      Src: /src/PROJ/curl/lib/memdebug.c:199,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/memdebug.c:201,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - str
    - line
    - source
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 7
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: curl_dbg_strdup
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - memcpy
    - countcheck
    - curl_dbg_malloc
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: ALLOC_FUNC *curl_dbg_strdup(const char *str, int line, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:217,1
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:219,1
    - Dst: wcslen
      Src: /src/PROJ/curl/lib/memdebug.c:222,1
    - Dst: curl_dbg_malloc
      Src: /src/PROJ/curl/lib/memdebug.c:225,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/memdebug.c:227,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - str
    - line
    - source
    argTypes:
    - wchar_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 234
    functionName: curl_dbg_wcsdup
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - countcheck
    - memcpy
    - curl_dbg_malloc
    - wcslen
    - DEBUGASSERT
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: ALLOC_FUNC *curl_dbg_wcsdup(const wchar_t *str, int line, const char
      *source)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:246,1
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:248,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ptr
    - wantedsize
    - line
    - source
    argTypes:
    - void*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 239
    functionDepth: 6
    functionLinenumber: 239
    functionLinenumberEnd: 276
    functionName: curl_dbg_realloc
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - DEBUGASSERT
    - countcheck
    linkageType: ''
    returnType: void
    signature: "void *curl_dbg_realloc(void *ptr, size_t wantedsize,\n                       int
      line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - line
    - source
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 301
    functionName: curl_dbg_free
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    linkageType: ''
    returnType: void
    signature: void curl_dbg_free(void *ptr, int line, const char *source)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:308,1
    - Dst: socket
      Src: /src/PROJ/curl/lib/memdebug.c:312,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - domain
    - type
    - protocol
    - line
    - source
    argTypes:
    - int
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 6
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: curl_dbg_socket
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - countcheck
    - socket
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t curl_dbg_socket(int domain, int type, int protocol,\n
      \                             int line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:327,1
    - Dst: send
      Src: /src/PROJ/curl/lib/memdebug.c:330,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - sockfd
    - SEND_TYPE_ARG2
    - len
    - flags
    - line
    - source
    argTypes:
    - SEND_TYPE_ARG1
    - SEND_QUAL_ARG2
    - SEND_TYPE_ARG3
    - SEND_TYPE_ARG4
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: curl_dbg_send
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - send
    - curl_dbg_log
    - countcheck
    linkageType: ''
    returnType: SEND_TYPE_RETV
    signature: "SEND_TYPE_RETV curl_dbg_send(SEND_TYPE_ARG1 sockfd,\n                             SEND_QUAL_ARG2
      SEND_TYPE_ARG2 buf,\n                             SEND_TYPE_ARG3 len, SEND_TYPE_ARG4
      flags,\n                             int line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countcheck
      Src: /src/PROJ/curl/lib/memdebug.c:342,1
    - Dst: recv
      Src: /src/PROJ/curl/lib/memdebug.c:345,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - sockfd
    - buf
    - len
    - flags
    - line
    - source
    argTypes:
    - RECV_TYPE_ARG1
    - RECV_TYPE_ARG2
    - RECV_TYPE_ARG3
    - RECV_TYPE_ARG4
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: curl_dbg_recv
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - recv
    - curl_dbg_log
    - countcheck
    linkageType: ''
    returnType: RECV_TYPE_RETV
    signature: "RECV_TYPE_RETV curl_dbg_recv(RECV_TYPE_ARG1 sockfd, RECV_TYPE_ARG2
      buf,\n                             RECV_TYPE_ARG3 len, RECV_TYPE_ARG4 flags,\n
      \                            int line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/PROJ/curl/lib/memdebug.c:358,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - domain
    - type
    - protocol
    - socket_vector
    - line
    - source
    argTypes:
    - int
    - int
    - int
    - curl_socket_t[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: curl_dbg_socketpair
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - socketpair
    - curl_dbg_log
    linkageType: ''
    returnType: int
    signature: "int curl_dbg_socketpair(int domain, int type, int protocol,\n                        curl_socket_t
      socket_vector[2],\n                        int line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/PROJ/curl/lib/memdebug.c:376,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - s
    - saddr
    - saddrlen
    - line
    - source
    argTypes:
    - curl_socket_t
    - void*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: curl_dbg_accept
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - accept
    - curl_dbg_log
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t curl_dbg_accept(curl_socket_t s, void *saddr, void *saddrlen,\n
      \                             int line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accept4
      Src: /src/PROJ/curl/lib/memdebug.c:394,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - s
    - saddr
    - saddrlen
    - flags
    - line
    - source
    argTypes:
    - curl_socket_t
    - void*
    - void*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: curl_dbg_accept4
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - accept4
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t curl_dbg_accept4(curl_socket_t s, void *saddr, void
      *saddrlen,\n                               int flags,\n                               int
      line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sockfd
    - line
    - source
    argTypes:
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: curl_dbg_mark_sclose
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    linkageType: ''
    returnType: void
    signature: void curl_dbg_mark_sclose(curl_socket_t sockfd, int line, const char
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SCLOSE
      Src: /src/PROJ/curl/lib/memdebug.c:415,1
    - Dst: curl_dbg_mark_sclose
      Src: /src/PROJ/curl/lib/memdebug.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sockfd
    - line
    - source
    argTypes:
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: curl_dbg_sclose
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - CURL_SCLOSE
    - curl_dbg_mark_sclose
    linkageType: ''
    returnType: int
    signature: int curl_dbg_sclose(curl_socket_t sockfd, int line, const char *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_FOPEN_LOW
      Src: /src/PROJ/curl/lib/memdebug.c:424,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - file
    - mode
    - line
    - source
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: curl_dbg_fopen
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - CURLX_FOPEN_LOW
    - curl_dbg_log
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: "ALLOC_FUNC *curl_dbg_fopen(const char *file, const char *mode,\n                     int
      line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/PROJ/curl/lib/memdebug.c:437,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - filedes
    - mode
    - line
    - source
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: curl_dbg_fdopen
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - fdopen
    - curl_dbg_log
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: "ALLOC_FUNC *curl_dbg_fdopen(int filedes, const char *mode,\n                      int
      line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/memdebug.c:448,1
    - Dst: curl_dbg_log
      Src: /src/PROJ/curl/lib/memdebug.c:451,1
    - Dst: fclose
      Src: /src/PROJ/curl/lib/memdebug.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - file
    - line
    - source
    argTypes:
    - FILE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: curl_dbg_fclose
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - fclose
    - curl_dbg_log
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curl_dbg_fclose(FILE *file, int line, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/memdebug.c:470,1
    - Dst: curl_mvsnprintf
      Src: /src/PROJ/curl/lib/memdebug.c:471,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/memdebug.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: curl_dbg_log
    functionSourceFile: /src/PROJ/curl/lib/memdebug.c
    functionUses: 19
    functionsReached:
    - va_end
    - va_start
    - curl_mvsnprintf
    linkageType: ''
    returnType: void
    signature: void curl_dbg_log(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Curl_idn_decode
    functionSourceFile: /src/PROJ/curl/lib/idn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_idn_decode(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/request.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct SingleRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Curl_req_init
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_req_init(struct SingleRequest *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_start
      Src: /src/PROJ/curl/lib/request.c:73,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/request.c:78,1
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/lib/request.c:83,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/request.c:85,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/request.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 92
    functionName: Curl_req_soft_reset
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 4
    functionsReached:
    - Curl_client_start
    - Curl_bufq_reset
    - Curl_bufq_init2
    - Curl_bufq_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_soft_reset(struct SingleRequest *req,\n                             struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/request.c:97,1
    - Dst: Curl_req_soft_reset
      Src: /src/PROJ/curl/lib/request.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: Curl_req_start
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_req_soft_reset
    - curlx_now
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_start(struct SingleRequest *req,\n                        struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_flush
      Src: /src/PROJ/curl/lib/request.c:108,1
    - Dst: Curl_client_reset
      Src: /src/PROJ/curl/lib/request.c:109,1
    - Dst: Curl_doh_close
      Src: /src/PROJ/curl/lib/request.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - req
    - data
    - aborted
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: Curl_req_done
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - req_flush
    - Curl_client_reset
    - Curl_doh_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_done(struct SingleRequest *req,\n                       struct
      Curl_easy *data, bool aborted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/request.c:120,1
    - Dst: Curl_client_reset
      Src: /src/PROJ/curl/lib/request.c:121,1
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/lib/request.c:123,1
    - Dst: Curl_doh_close
      Src: /src/PROJ/curl/lib/request.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 166
    functionName: Curl_req_hard_reset
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_doh_close
    - Curl_bufq_reset
    - Curl_client_reset
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_req_hard_reset(struct SingleRequest *req, struct Curl_easy
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/request.c:170,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/request.c:172,1
    - Dst: Curl_client_cleanup
      Src: /src/PROJ/curl/lib/request.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: Curl_req_free
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_client_cleanup
    - Curl_bufq_free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_req_free(struct SingleRequest *req, struct Curl_easy *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/request.c:184,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/request.c:191,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/request.c:194,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:209,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/request.c:210,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/request.c:211,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:211,1
    - Dst: Curl_xfer_send
      Src: /src/PROJ/curl/lib/request.c:214,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/request.c:220,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/request.c:221,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/request.c:224,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/request.c:226,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - hds_len
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 176
    functionDepth: 8
    functionLinenumber: 176
    functionLinenumberEnd: 231
    functionName: xfer_send
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 9
    functionsReached:
    - getenv
    - infof
    - DEBUGF
    - Curl_pgrsSetUploadCounter
    - Curl_bufq_is_empty
    - curlx_str_number
    - CURLMIN
    - Curl_debug
    - Curl_bufq_len
    - DEBUGASSERT
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode xfer_send(struct Curl_easy *data,\n                          const
      char *buf, size_t blen,\n                          size_t hds_len, size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/request.c:239,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/request.c:240,1
    - Dst: xfer_send
      Src: /src/PROJ/curl/lib/request.c:241,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/request.c:245,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/request.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 233
    functionDepth: 9
    functionLinenumber: 233
    functionLinenumberEnd: 255
    functionName: req_send_buffer_flush
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - Curl_bufq_peek
    - Curl_bufq_skip
    - xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_send_buffer_flush(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/request.c:259,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/request.c:263,1
    - Dst: Curl_creader_done
      Src: /src/PROJ/curl/lib/request.c:264,1
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/lib/request.c:267,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:269,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:272,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:275,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/request.c:278,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:278,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:279,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/request.c:279,1
    - Dst: Curl_xfer_send_close
      Src: /src/PROJ/curl/lib/request.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: req_set_upload_done
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_creader_total_length
    - Curl_bufq_is_empty
    - Curl_xfer_send_close
    - Curl_bufq_reset
    - Curl_creader_done
    - DEBUGASSERT
    - Curl_pgrsTime
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_set_upload_done(struct Curl_easy *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:294,1
    - Dst: req_send_buffer_flush
      Src: /src/PROJ/curl/lib/request.c:295,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:298,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/request.c:299,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:299,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/request.c:300,1
    - Dst: Curl_xfer_needs_flush
      Src: /src/PROJ/curl/lib/request.c:304,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/request.c:305,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:305,1
    - Dst: Curl_xfer_flush
      Src: /src/PROJ/curl/lib/request.c:306,1
    - Dst: xfer_send
      Src: /src/PROJ/curl/lib/request.c:312,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/request.c:315,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/request.c:319,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:319,1
    - Dst: Curl_xfer_send_shutdown
      Src: /src/PROJ/curl/lib/request.c:322,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/request.c:324,1
    - Dst: req_set_upload_done
      Src: /src/PROJ/curl/lib/request.c:335,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 287
    functionDepth: 10
    functionLinenumber: 287
    functionLinenumberEnd: 338
    functionName: req_flush
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_xfer_send_shutdown
    - infof
    - DEBUGF
    - Curl_xfer_flush
    - Curl_bufq_is_empty
    - Curl_xfer_needs_flush
    - req_send_buffer_flush
    - Curl_bufq_len
    - DEBUGASSERT
    - req_set_upload_done
    - xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_flush(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_read
      Src: /src/PROJ/curl/lib/request.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: add_from_client
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - Curl_client_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_from_client(void *reader_ctx,\n                                unsigned
      char *buf, size_t buflen,\n                                size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_cwrite
      Src: /src/PROJ/curl/lib/request.c:360,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/request.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - hds_len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: req_send_buffer_add
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode req_send_buffer_add(struct Curl_easy *data,\n                                    const
      char *buf, size_t blen,\n                                    size_t hds_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/request.c:380,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/request.c:381,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:387,1
    - Dst: Curl_creader_total_length
      Src: /src/PROJ/curl/lib/request.c:388,1
    - Dst: xfer_send
      Src: /src/PROJ/curl/lib/request.c:391,1
    - Dst: req_send_buffer_add
      Src: /src/PROJ/curl/lib/request.c:402,1
    - Dst: Curl_req_send_more
      Src: /src/PROJ/curl/lib/request.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - data
    - req
    - httpversion
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 369
    functionDepth: 9
    functionLinenumber: 369
    functionLinenumberEnd: 409
    functionName: Curl_req_send
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_ptr
    - req_send_buffer_add
    - Curl_creader_total_length
    - Curl_bufq_is_empty
    - Curl_req_send_more
    - curlx_dyn_len
    - xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_send(struct Curl_easy *data, struct dynbuf *req,\n
      \                      unsigned char httpversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/request.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: Curl_req_sendbuf_empty
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: bool
    signature: bool Curl_req_sendbuf_empty(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_sendbuf_empty
      Src: /src/PROJ/curl/lib/request.c:424,1
    - Dst: Curl_xfer_needs_flush
      Src: /src/PROJ/curl/lib/request.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: Curl_req_want_send
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 3
    functionsReached:
    - Curl_req_sendbuf_empty
    - Curl_xfer_needs_flush
    linkageType: ''
    returnType: bool
    signature: bool Curl_req_want_send(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_want_send
      Src: /src/PROJ/curl/lib/request.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: Curl_req_done_sending
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_req_want_send
    linkageType: ''
    returnType: bool
    signature: bool Curl_req_done_sending(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send_is_paused
      Src: /src/PROJ/curl/lib/request.c:440,1
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/lib/request.c:441,1
    - Dst: Curl_bufq_sipn
      Src: /src/PROJ/curl/lib/request.c:443,1
    - Dst: req_flush
      Src: /src/PROJ/curl/lib/request.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 433
    functionDepth: 11
    functionLinenumber: 433
    functionLinenumberEnd: 454
    functionName: Curl_req_send_more
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - req_flush
    - Curl_bufq_is_full
    - Curl_bufq_sipn
    - Curl_xfer_send_is_paused
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_req_send_more(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_reset
      Src: /src/PROJ/curl/lib/request.c:459,1
    - Dst: req_set_upload_done
      Src: /src/PROJ/curl/lib/request.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 4
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: Curl_req_abort_sending
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_reset
    - req_set_upload_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_req_abort_sending(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_abort_sending
      Src: /src/PROJ/curl/lib/request.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: Curl_req_stop_send_recv
    functionSourceFile: /src/PROJ/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_req_abort_sending
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_req_stop_send_recv(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: Curl_mutex_init
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_init(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Curl_mutex_acquire
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_acquire(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Curl_mutex_release
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_release(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Curl_mutex_destroy
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_destroy(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: Curl_mutex_init
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_init(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: Curl_mutex_init
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_init(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: Curl_mutex_acquire
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_acquire(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: Curl_mutex_release
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_release(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Curl_mutex_destroy
    functionSourceFile: /src/PROJ/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_destroy(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hostname
    - hostlen
    - pattern
    - patternlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: pmatch
    functionSourceFile: /src/PROJ/curl/lib/vtls/hostcheck.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool pmatch(const char *hostname, size_t hostlen,\n                   const
      char *pattern, size_t patternlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:86,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:87,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:88,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:96,1
    - Dst: pmatch
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:97,1
    - Dst: Curl_host_is_ipnum
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:100,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:105,1
    - Dst: memrchr
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:107,1
    - Dst: pmatch
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:108,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:110,1
    - Dst: pmatch
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - hostname
    - hostlen
    - pattern
    - patternlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 119
    functionName: hostmatch
    functionSourceFile: /src/PROJ/curl/lib/vtls/hostcheck.c
    functionUses: 0
    functionsReached:
    - pmatch
    - strncmp
    - memrchr
    - Curl_host_is_ipnum
    - DEBUGASSERT
    - memchr
    linkageType: ''
    returnType: bool
    signature: "bool hostmatch(const char *hostname,\n                      size_t
      hostlen,\n                      const char *pattern,\n                      size_t
      patternlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostmatch
      Src: /src/PROJ/curl/lib/vtls/hostcheck.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - match
    - matchlen
    - hostname
    - hostlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: Curl_cert_hostcheck
    functionSourceFile: /src/PROJ/curl/lib/vtls/hostcheck.c
    functionUses: 1
    functionsReached:
    - hostmatch
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cert_hostcheck(const char *match, size_t matchlen,\n                         const
      char *hostname, size_t hostlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - b
    argTypes:
    - struct dynbuf*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: spack_enc8
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc8(struct dynbuf *buf, uint8_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint8_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: spack_dec8
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec8(uint8_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct dynbuf*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: spack_enc16
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc16(struct dynbuf *buf, uint16_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint16_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: spack_dec16
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec16(uint16_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct dynbuf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: spack_enc32
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc32(struct dynbuf *buf, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint32_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: spack_dec32
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec32(uint32_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct dynbuf*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: spack_enc64
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc64(struct dynbuf *buf, uint64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint64_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: spack_dec64
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec64(uint64_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:148,1
    - Dst: spack_enc16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:152,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - struct dynbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: spack_encstr16
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_enc16
    - curlx_dyn_addn
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_encstr16(struct dynbuf *buf, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spack_dec16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:166,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - char**
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: spack_decstr16
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_dec16
    - Curl_memdup0
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_decstr16(char **val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spack_enc16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:182,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - data
    - data_len
    argTypes:
    - struct dynbuf*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: spack_encdata16
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_enc16
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode spack_encdata16(struct dynbuf *buf,\n                                const
      uint8_t *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spack_dec16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:197,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - val
    - val_len
    - src
    - end
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: spack_decdata16
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_dec16
    - Curl_memdup0
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode spack_decdata16(uint8_t **val, size_t *val_len,\n                const
      uint8_t **src, const uint8_t *end)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:213,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:214,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:219,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:221,1
    - Dst: spack_encdata16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:223,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:225,1
    - Dst: spack_enc16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:227,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:229,1
    - Dst: spack_enc64
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:231,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:233,1
    - Dst: spack_encstr16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:235,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:241,1
    - Dst: spack_enc32
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:243,1
    - Dst: spack_enc8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:246,1
    - Dst: spack_encdata16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:248,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - data
    - s
    - buf
    argTypes:
    - struct Curl_easy*
    - struct Curl_ssl_session*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 254
    functionName: Curl_ssl_session_pack
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SSLS
    - spack_enc8
    - spack_encdata16
    - spack_enc64
    - DEBUGASSERT
    - spack_encstr16
    - spack_enc16
    - spack_enc32
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_pack(struct Curl_easy *data,\n                               struct
      Curl_ssl_session *s,\n                               struct dynbuf *buf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:269,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:270,1
    - Dst: spack_dec8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:273,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:281,1
    - Dst: spack_dec8
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:288,1
    - Dst: spack_decstr16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:294,1
    - Dst: spack_dec32
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:299,1
    - Dst: spack_dec16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:305,1
    - Dst: spack_decdata16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:311,1
    - Dst: spack_decdata16
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:318,1
    - Dst: spack_dec64
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:325,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:338,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_spack.c:339,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 4
    argNames:
    - data
    - bufv
    - buflen
    - ps
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 344
    functionName: Curl_ssl_session_unpack
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SSLS
    - spack_dec32
    - spack_dec16
    - spack_dec8
    - spack_decstr16
    - calloc
    - DEBUGASSERT
    - spack_dec64
    - spack_decdata16
    - Curl_ssl_session_destroy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_unpack(struct Curl_easy *data,\n                                 const
      void *bufv, size_t buflen,\n                                 struct Curl_ssl_session
      **ps)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_enabled
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:142,1
    - Dst: wolfSSL_get_client_random
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:172,1
    - Dst: Curl_tls_keylog_write
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - ssl
    - id
    - secret
    - secretSz
    - ctx
    argTypes:
    - SSL*
    - int
    - unsigned char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 179
    functionName: wssl_tls13_secret_callback
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write
    - Curl_tls_keylog_enabled
    - wolfSSL_get_client_random
    linkageType: ''
    returnType: int
    signature: "int wssl_tls13_secret_callback(SSL *ssl, int id, const unsigned char
      *secret,\n                           int secretSz, void *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_GetVersion
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:192,1
    - Dst: wolfSSL_get_keys
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:205,1
    - Dst: Curl_tls_keylog_write
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - WOLFSSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 221
    functionName: wssl_log_tls12_secret
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write
    - wolfSSL_GetVersion
    - wolfSSL_get_keys
    linkageType: ''
    returnType: void
    signature: void wssl_log_tls12_secret(WOLFSSL *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:228,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: wssl_do_file_type
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int wssl_do_file_type(const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_set_shutdown
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:260,1
    - Dst: wolfSSL_BIO_set_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - WOLFSSL_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: wssl_bio_cf_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_set_shutdown
    - wolfSSL_BIO_set_data
    linkageType: ''
    returnType: int
    signature: int wssl_bio_cf_create(WOLFSSL_BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - WOLFSSL_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: wssl_bio_cf_destroy
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wssl_bio_cf_destroy(WOLFSSL_BIO *bio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_get_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:275,1
    - Dst: wolfSSL_BIO_get_shutdown
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:284,1
    - Dst: wolfSSL_BIO_set_shutdown
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - WOLFSSL_BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 314
    functionName: wssl_bio_cf_ctrl
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_get_data
    - wolfSSL_BIO_set_shutdown
    - wolfSSL_BIO_get_shutdown
    linkageType: ''
    returnType: long
    signature: long wssl_bio_cf_ctrl(WOLFSSL_BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_get_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:319,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:322,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:326,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:332,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:337,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:339,1
    - Dst: wolfSSL_BIO_clear_retry_flags
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:342,1
    - Dst: wolfSSL_BIO_set_retry_write
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - WOLFSSL_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 352
    functionName: wssl_bio_cf_out_write
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_clear_retry_flags
    - wolfSSL_BIO_get_data
    - Curl_conn_cf_send
    - CURL_TRC_CF
    - wolfSSL_BIO_set_retry_write
    - CF_DATA_CURRENT
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int wssl_bio_cf_out_write(WOLFSSL_BIO *bio,\n                                 const
      char *buf, int blen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_get_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:356,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:359,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:363,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:375,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:377,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:383,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:385,1
    - Dst: wolfSSL_BIO_clear_retry_flags
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:387,1
    - Dst: wolfSSL_BIO_set_retry_read
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - WOLFSSL_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: wssl_bio_cf_in_read
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_clear_retry_flags
    - wolfSSL_BIO_get_data
    - CURL_TRC_CF
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - wolfSSL_BIO_set_retry_read
    - Curl_conn_cf_recv
    - Curl_wssl_setup_x509_store
    linkageType: ''
    returnType: int
    signature: int wssl_bio_cf_in_read(WOLFSSL_BIO *bio, char *buf, int blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_meth_new
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:400,1
    - Dst: wolfSSL_BIO_meth_set_write
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:402,1
    - Dst: wolfSSL_BIO_meth_set_read
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:403,1
    - Dst: wolfSSL_BIO_meth_set_ctrl
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:404,1
    - Dst: wolfSSL_BIO_meth_set_create
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:405,1
    - Dst: wolfSSL_BIO_meth_set_destroy
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: wssl_bio_cf_init_methods
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_meth_set_read
    - wolfSSL_BIO_meth_set_ctrl
    - wolfSSL_BIO_meth_set_destroy
    - wolfSSL_BIO_meth_set_create
    - wolfSSL_BIO_meth_new
    - wolfSSL_BIO_meth_set_write
    linkageType: ''
    returnType: void
    signature: void wssl_bio_cf_init_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_meth_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: wssl_bio_cf_free_methods
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void wssl_bio_cf_free_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: wssl_bio_cf_init_methods
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wssl_bio_cf_init_methods()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: wssl_bio_cf_free_methods
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wssl_bio_cf_free_methods()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_i2d_SSL_SESSION
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:439,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:441,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:445,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:447,1
    - Dst: wolfSSL_i2d_SSL_SESSION
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:451,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:453,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:458,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:460,1
    - Dst: wolfSSL_SESSION_get_max_early_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:465,1
    - Dst: Curl_ssl_session_create2
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:468,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:470,1
    - Dst: wolfSSL_SESSION_get_timeout
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:471,1
    - Dst: Curl_ssl_scache_put
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:476,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 8
    argNames:
    - cf
    - data
    - ssl_peer_key
    - session
    - ietf_tls_id
    - alpn
    - quic_tp
    - quic_tp_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - WOLFSSL_SESSION*
    - int
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 483
    functionName: Curl_wssl_cache_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_create2
    - free
    - Curl_ssl_scache_put
    - failf
    - CURL_TRC_CF
    - time
    - calloc
    - Curl_memdup0
    - wolfSSL_SESSION_get_timeout
    - wolfSSL_SESSION_get_max_early_data
    - wolfSSL_i2d_SSL_SESSION
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_cache_session(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const char *ssl_peer_key,\n
      \                                WOLFSSL_SESSION *session,\n                                 int
      ietf_tls_id,\n                                 const char *alpn,\n                                 unsigned
      char *quic_tp,\n                                 size_t quic_tp_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_app_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:489,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:490,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:493,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:494,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:495,1
    - Dst: Curl_wssl_cache_session
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:497,1
    - Dst: wolfSSL_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - WOLFSSL*
    - WOLFSSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 503
    functionName: wssl_vtls_new_session_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_app_data
    - Curl_wssl_cache_session
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - wolfSSL_version
    linkageType: ''
    returnType: int
    signature: int wssl_vtls_new_session_cb(WOLFSSL *ssl, WOLFSSL_SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_SESSION_get_max_early_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:517,1
    - Dst: wolfSSL_get_session
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:518,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:526,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:528,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:529,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:532,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:536,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 542
    functionName: wssl_on_session_reuse
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - infof
    - CURL_TRC_CF
    - wolfSSL_get_session
    - Curl_alpn_contains_proto
    - strlen
    - wolfSSL_SESSION_get_max_early_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_on_session_reuse(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct alpn_spec *alpns,\n
      \                                     struct Curl_ssl_session *scs,\n                                      bool
      *do_early_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:552,1
    - Dst: Curl_ssl_scache_take
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:556,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:558,1
    - Dst: wolfSSL_d2i_SSL_SESSION
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:562,1
    - Dst: wolfSSL_set_session
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:564,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:566,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:568,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:572,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:576,1
    - Dst: wolfSSL_get_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:576,1
    - Dst: sess_reuse_cb
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:579,1
    - Dst: Curl_alpn_restrict_to
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:589,1
    - Dst: wolfSSL_set_max_early_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:594,1
    - Dst: wolfSSL_SESSION_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:598,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:601,1
    - Dst: Curl_ssl_scache_return
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:605,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 6
    argNames:
    - cf
    - data
    - wss
    - alpns
    - ssl_peer_key
    - sess_reuse_cb
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct wssl_ctx*
    - struct alpn_spec*
    - char*
    - Curl_wssl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 607
    functionName: wssl_setup_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_set_session
    - Curl_alpn_restrict_to
    - infof
    - wolfSSL_set_max_early_data
    - Curl_ssl_session_destroy
    - failf
    - strcmp
    - wolfSSL_get_version
    - Curl_ssl_cf_get_config
    - Curl_ssl_scache_take
    - Curl_ssl_scache_return
    - Curl_alpn_contains_proto
    - DEBUGASSERT
    - wolfSSL_SESSION_free
    - sess_reuse_cb
    - wolfSSL_d2i_SSL_SESSION
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_setup_session(struct Curl_cfilter *cf,\n                   struct
      Curl_easy *data,\n                   struct wssl_ctx *wss,\n                   struct
      alpn_spec *alpns,\n                   const char *ssl_peer_key,\n                   Curl_wssl_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:614,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:620,1
    - Dst: wolfSSL_CTX_load_system_CA_certs
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:631,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:632,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:636,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:639,1
    - Dst: wolfSSL_CTX_load_verify_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:647,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:651,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:656,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:663,1
    - Dst: wolfSSL_CTX_load_verify_locations_ex
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:670,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:678,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:687,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:693,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:695,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - cf
    - data
    - store
    - wssl
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - WOLFSSL_X509_STORE*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 701
    functionName: wssl_populate_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - CURL_TRC_CF
    - wolfSSL_CTX_load_system_CA_certs
    - Curl_ssl_cf_get_config
    - wolfSSL_CTX_load_verify_locations_ex
    - Curl_ssl_cf_get_primary_config
    - wolfSSL_CTX_load_verify_buffer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_populate_x509_store(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         WOLFSSL_X509_STORE
      *store,\n                                         struct wssl_ctx *wssl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:715,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:716,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:716,1
    - Dst: wolfSSL_X509_STORE_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:720,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:722,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 724
    functionName: wssl_x509_share_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_X509_STORE_free
    - free
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void wssl_x509_share_free(void *key, size_t key_len, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:731,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - mb
    argTypes:
    - struct Curl_easy*
    - struct wssl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: wssl_cached_x509_store_expired
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: bool
    signature: "bool wssl_cached_x509_store_expired(const struct Curl_easy *data,\n
      \                              const struct wssl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:745,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - mb
    argTypes:
    - struct Curl_cfilter*
    - struct wssl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 750
    functionName: wssl_cached_x509_store_different
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: bool
    signature: "bool wssl_cached_x509_store_different(struct Curl_cfilter *cf,\n                                 const
      struct wssl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:759,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:760,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:761,1
    - Dst: wssl_cached_x509_store_expired
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:764,1
    - Dst: wssl_cached_x509_store_different
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: wssl_get_cached_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_hash_pick
    - wssl_cached_x509_store_expired
    - CURL_UNCONST
    - DEBUGASSERT
    - wssl_cached_x509_store_different
    linkageType: ''
    returnType: WOLFSSL_X509_STORE
    signature: "WOLFSSL_X509_STORE *wssl_get_cached_x509_store(struct Curl_cfilter
      *cf,\n                                                  const struct Curl_easy
      *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:776,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:780,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:783,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:784,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:788,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:791,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:792,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:795,1
    - Dst: wolfSSL_X509_STORE_up_ref
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:800,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:804,1
    - Dst: wolfSSL_X509_STORE_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:806,1
    - Dst: wolfSSL_X509_STORE_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:812,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:813,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - cf
    - data
    - store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - WOLFSSL_X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 820
    functionName: wssl_set_cached_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_X509_STORE_free
    - free
    - curlx_now
    - Curl_hash_pick
    - Curl_ssl_cf_get_primary_config
    - Curl_hash_add2
    - CURL_UNCONST
    - calloc
    - DEBUGASSERT
    - wolfSSL_X509_STORE_up_ref
    - strdup
    linkageType: ''
    returnType: void
    signature: "void wssl_set_cached_x509_store(struct Curl_cfilter *cf,\n                                       const
      struct Curl_easy *data,\n                                       WOLFSSL_X509_STORE
      *store)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:826,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:827,1
    - Dst: wssl_get_cached_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:842,1
    - Dst: wolfSSL_CTX_get_cert_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:845,1
    - Dst: wolfSSL_X509_STORE_up_ref
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:848,1
    - Dst: wolfSSL_CTX_set_cert_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:849,1
    - Dst: wolfSSL_X509_STORE_new
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:854,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:856,1
    - Dst: wolfSSL_CTX_set_cert_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:859,1
    - Dst: wssl_populate_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:861,1
    - Dst: wssl_set_cached_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:863,1
    - Dst: wolfSSL_CTX_get_cert_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:868,1
    - Dst: wssl_populate_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:869,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - wssl
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 822
    functionDepth: 4
    functionLinenumber: 822
    functionLinenumberEnd: 873
    functionName: Curl_wssl_setup_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 1
    functionsReached:
    - failf
    - Curl_ssl_cf_get_config
    - wolfSSL_CTX_get_cert_store
    - Curl_ssl_cf_get_primary_config
    - wssl_get_cached_x509_store
    - wssl_populate_x509_store
    - wolfSSL_CTX_set_cert_store
    - wolfSSL_X509_STORE_up_ref
    - wolfSSL_X509_STORE_new
    - wssl_set_cached_x509_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_setup_x509_store(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct wssl_ctx *wssl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_cipher_list
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:882,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:884,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:888,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:889,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:894,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tls13
    - buf
    argTypes:
    - bool
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 900
    functionName: wssl_add_default_ciphers
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - strncmp
    - curlx_dyn_addn
    - wolfSSL_get_cipher_list
    - strlen
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode wssl_add_default_ciphers(bool tls13, struct dynbuf *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:912,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:915,1
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:917,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:920,1
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:922,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:926,1
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - version
    argTypes:
    - WOLFSSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 932
    functionName: wssl_legacy_CTX_set_min_proto_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - wolfSSL_CTX_SetMinVersion
    linkageType: ''
    returnType: int
    signature: int wssl_legacy_CTX_set_min_proto_version(WOLFSSL_CTX* ctx, int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - version
    argTypes:
    - WOLFSSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 938
    functionName: wssl_legacy_CTX_set_max_proto_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wssl_legacy_CTX_set_max_proto_version(WOLFSSL_CTX* ctx, int version)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wssl_do_file_type
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:954,1
    - Dst: wolfSSL_CTX_use_certificate_chain_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:960,1
    - Dst: wolfSSL_CTX_use_certificate_chain_file
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:963,1
    - Dst: wolfSSL_CTX_use_certificate_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:967,1
    - Dst: wolfSSL_CTX_use_certificate_file
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:969,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:972,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:976,1
    - Dst: wssl_do_file_type
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:985,1
    - Dst: wolfSSL_CTX_use_PrivateKey_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:988,1
    - Dst: wolfSSL_CTX_use_PrivateKey_file
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:990,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:992,1
    - Dst: wssl_do_file_type
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1000,1
    - Dst: wolfSSL_CTX_use_certificate_chain_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1005,1
    - Dst: wolfSSL_CTX_use_certificate_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1010,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1014,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1018,1
    - Dst: wssl_do_file_type
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1025,1
    - Dst: wolfSSL_CTX_use_PrivateKey_buffer
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1027,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1030,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - data
    - ssl_config
    - wctx
    argTypes:
    - struct Curl_easy*
    - struct ssl_config_data*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 943
    functionDepth: 4
    functionLinenumber: 943
    functionLinenumberEnd: 1036
    functionName: client_certificate
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_use_certificate_buffer
    - failf
    - wolfSSL_CTX_use_certificate_chain_buffer
    - wolfSSL_CTX_use_certificate_file
    - wolfSSL_CTX_use_PrivateKey_file
    - wolfSSL_CTX_use_certificate_chain_file
    - wolfSSL_CTX_use_PrivateKey_buffer
    - wssl_do_file_type
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_certificate(struct Curl_easy *data,\n                                   struct
      ssl_config_data *ssl_config,\n                                   struct wssl_ctx
      *wctx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1047,1
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1050,1
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1053,1
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1057,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1061,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1065,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1072,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1076,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1079,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1082,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1089,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1093,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - data
    - conn_config
    - wctx
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1097
    functionName: ssl_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 3
    functionsReached:
    - wolfSSL_CTX_set_max_proto_version
    - wolfSSL_CTX_set_min_proto_version
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_version(struct Curl_easy *data,\n                            struct
      ssl_primary_config *conn_config,\n                            struct wssl_ctx
      *wctx)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1112,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1124,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1125,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1126,1
    - Dst: Curl_alpn_copy
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1131,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1132,1
    - Dst: Curl_conn_cf_get_transport
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1133,1
    - Dst: wolfSSLv23_client_method
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1136,1
    - Dst: wolfTLS_client_method
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1138,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1141,1
    - Dst: wolfSSL_CTX_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1147,1
    - Dst: wolfSSL_CTX_new
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1149,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1151,1
    - Dst: ssl_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1156,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1164,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1165,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1169,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1178,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1181,1
    - Dst: wssl_add_default_ciphers
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1183,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1187,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1188,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1190,1
    - Dst: wssl_add_default_ciphers
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1193,1
    - Dst: wolfSSL_CTX_set_cipher_list
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1198,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1198,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1199,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1199,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1200,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1204,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1204,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1205,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1211,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1216,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1216,1
    - Dst: wolfSSL_CTX_set1_curves_list
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1225,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1226,1
    - Dst: client_certificate
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1233,1
    - Dst: wolfSSL_CTX_set_verify
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1241,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1247,1
    - Dst: wolfSSL_CTX_UseSNI
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1249,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1251,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1255,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1260,1
    - Dst: wolfSSL_CTX_sess_set_new_cb
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1262,1
    - Dst: cb_setup
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1266,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1274,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1281,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1287,1
    - Dst: wolfSSL_new
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1297,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1299,1
    - Dst: wolfSSL_set_app_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1304,1
    - Dst: wolfSSL_set_quic_use_legacy_codepoint
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1307,1
    - Dst: wolfSSL_UseKeyShare
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1312,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1313,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1319,1
    - Dst: wssl_setup_session
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1321,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1328,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1329,1
    - Dst: wolfSSL_UseALPN
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1331,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1334,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1338,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1343,1
    - Dst: wolfSSL_KeepArrays
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1345,1
    - Dst: wolfSSL_set_tls13_secret_cb
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1347,1
    - Dst: wolfSSL_UseSecureRenegotiation
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1354,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1355,1
    - Dst: ECH_ENABLED
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1362,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1366,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1371,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1378,1
    - Dst: wolfSSL_SetEchConfigsBase64
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1380,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1389,1
    - Dst: Curl_dnscache_get
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1396,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1399,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1413,1
    - Dst: wolfSSL_SetEchConfigs
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1414,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1416,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1424,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1428,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1434,1
    - Dst: wolfSSL_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1438,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1440,1
    - Dst: wolfSSL_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1452,1
    - Dst: wolfSSL_CTX_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1456,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 249
    argCount: 9
    argNames:
    - wctx
    - cf
    - data
    - peer
    - alpns_requested
    - cb_setup
    - cb_user_data
    - ssl_user_data
    - sess_reuse_cb
    argTypes:
    - struct wssl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_wssl_ctx_setup_cb*
    - void*
    - void*
    - Curl_wssl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1102
    functionDepth: 5
    functionLinenumber: 1102
    functionLinenumberEnd: 1460
    functionName: Curl_wssl_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - strncmp
    - cb_setup
    - failf
    - wolfSSL_CTX_set_verify
    - wolfSSL_CTX_UseSNI
    - CURL_TRC_CF
    - Curl_ssl_scache_use
    - Curl_tls_keylog_enabled
    - wssl_setup_session
    - CURL_UNCONST
    - wolfSSL_KeepArrays
    - wolfSSL_set_tls13_secret_cb
    - wolfSSL_set_min_proto_version
    - wolfSSL_free
    - wolfSSL_SetEchConfigsBase64
    - ssl_version
    - wolfSSL_CTX_set_cipher_list
    - wolfTLS_client_method
    - infof
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - wolfSSL_SetEchConfigs
    - wolfSSL_set_quic_use_legacy_codepoint
    - SSL_CTX_set_cipher_list
    - curlx_dyn_init
    - memset
    - strlen
    - wolfSSL_UseALPN
    - Curl_dnscache_get
    - Curl_conn_cf_get_transport
    - wolfSSL_set_app_data
    - client_certificate
    - wolfSSL_UseKeyShare
    - DEBUGASSERT
    - wolfSSLv23_client_method
    - curlx_dyn_add
    - curlx_dyn_len
    - wolfSSL_CTX_sess_set_new_cb
    - ECH_ENABLED
    - Curl_alpn_to_proto_str
    - wolfSSL_CTX_set1_curves_list
    - Curl_resolv_unlink
    - Curl_wssl_setup_x509_store
    - wolfSSL_UseSecureRenegotiation
    - Curl_ssl_cf_get_config
    - wssl_add_default_ciphers
    - Curl_ssl_cf_get_primary_config
    - curlx_dyn_free
    - wolfSSL_CTX_new
    - wolfSSL_new
    - wolfSSL_CTX_free
    - Curl_alpn_copy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_ctx_init(struct wssl_ctx *wctx,\n                            struct
      Curl_cfilter *cf,\n                            struct Curl_easy *data,\n                            struct
      ssl_peer *peer,\n                            const struct alpn_spec *alpns_requested,\n
      \                           Curl_wssl_ctx_setup_cb *cb_setup,\n                            void
      *cb_user_data,\n                            void *ssl_user_data,\n                            Curl_wssl_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1471,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1474,1
    - Dst: Curl_wssl_ctx_init
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1479,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1488,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1489,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1490,1
    - Dst: wolfSSL_check_domain_name
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1497,1
    - Dst: wolfSSL_BIO_new
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1507,1
    - Dst: wolfSSL_BIO_set_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1511,1
    - Dst: wolfSSL_set_bio
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1512,1
    - Dst: wolfSSL_set_fd
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1516,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1517,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1466
    functionDepth: 6
    functionLinenumber: 1466
    functionLinenumberEnd: 1524
    functionName: wssl_connect_step1
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - infof
    - wolfSSL_set_bio
    - Curl_conn_cf_get_socket
    - failf
    - wolfSSL_set_fd
    - Curl_ssl_cf_get_primary_config
    - memset
    - DEBUGASSERT
    - Curl_wssl_ctx_init
    - wolfSSL_check_domain_name
    - wolfSSL_BIO_new
    - wolfSSL_BIO_set_data
    - Curl_alpn_to_proto_str
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode wssl_connect_step1(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1530,1
    - Dst: wolfSSL_ERR_error_string_n
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1533,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - error
    - buf
    - size
    argTypes:
    - unsigned long
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1542
    functionName: wssl_strerror
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_ERR_error_string_n
    - strcpy
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: "char *wssl_strerror(unsigned long error, char *buf,\n                           unsigned
      long size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1551,1
    - Dst: wolfSSL_get_peer_certificate
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1568,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1570,1
    - Dst: wolfSSL_X509_get_der
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1574,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1576,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1580,1
    - Dst: Curl_parseX509
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1581,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1586,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1590,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1594,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1596,1
    - Dst: wolfSSL_FreeX509
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1601,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - cf
    - data
    - wssl
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1603
    functionName: Curl_wssl_verify_pinned
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_FreeX509
    - failf
    - Curl_ssl_cf_is_proxy
    - wolfSSL_get_peer_certificate
    - memset
    - wolfSSL_X509_get_der
    - Curl_parseX509
    - Curl_pin_peer_pubkey
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_verify_pinned(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct wssl_ctx *wssl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1615,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1617,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1620,1
    - Dst: wolfSSL_write_early_data
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1621,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1622,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1625,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1634,1
    - Dst: wssl_strerror
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1635,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1645,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1649,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1650,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1606
    functionDepth: 4
    functionLinenumber: 1606
    functionLinenumberEnd: 1654
    functionName: wssl_send_earlydata
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - infof
    - wssl_strerror
    - Curl_pgrsEarlyData
    - CURL_TRC_CF
    - Curl_bufq_peek
    - Curl_ssl_cf_is_proxy
    - DEBUGASSERT
    - wolfSSL_write_early_data
    - wolfSSL_ERR_clear_error
    - Curl_bufq_skip
    - wolfSSL_get_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_send_earlydata(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1662,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1666,1
    - Dst: wssl_send_earlydata
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1671,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1675,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1678,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1681,1
    - Dst: wolfSSL_connect
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1682,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1687,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1689,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1695,1
    - Dst: wolfSSL_want_read
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1708,1
    - Dst: wolfSSL_want_write
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1709,1
    - Dst: wssl_log_tls12_secret
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1710,1
    - Dst: wolfSSL_FreeArrays
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1713,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1718,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1719,1
    - Dst: wolfSSL_get_peer_certificate
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1727,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1729,1
    - Dst: wolfSSL_X509_check_ip_asc
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1732,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1733,1
    - Dst: wolfSSL_X509_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1737,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1756,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1762,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1767,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1772,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1776,1
    - Dst: wolfSSL_GetEchConfigs
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1796,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1799,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1805,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1808,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1809,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1816,1
    - Dst: wssl_strerror
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1817,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1657
    functionDepth: 5
    functionLinenumber: 1657
    functionLinenumberEnd: 1821
    functionName: wssl_handshake
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_X509_check_ip_asc
    - wolfSSL_want_read
    - CURL_TRC_CF
    - failf
    - Curl_tls_keylog_enabled
    - wolfSSL_get_peer_certificate
    - wolfSSL_FreeArrays
    - wolfSSL_ERR_clear_error
    - wolfSSL_get_error
    - wolfSSL_connect
    - infof
    - wssl_log_tls12_secret
    - wolfSSL_GetEchConfigs
    - curlx_base64_encode
    - wssl_strerror
    - wssl_send_earlydata
    - wolfSSL_want_write
    - DEBUGASSERT
    - Curl_wssl_setup_x509_store
    - free
    - Curl_ssl_cf_get_primary_config
    - wolfSSL_X509_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_handshake(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1834,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1836,1
    - Dst: wolfSSL_write
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1841,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1846,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1870,1
    - Dst: wssl_strerror
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1871,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1882,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1824
    functionDepth: 2
    functionLinenumber: 1824
    functionLinenumberEnd: 1885
    functionName: wssl_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wssl_strerror
    - failf
    - CURL_TRC_CF
    - wolfSSL_write
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    - wolfSSL_get_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_send(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          const void *buf, size_t blen,\n
      \                         size_t *pnwritten)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1899,1
    - Dst: wolfSSL_get_shutdown
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1908,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1911,1
    - Dst: wolfSSL_read
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1912,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1913,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1914,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1919,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1923,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1927,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1938,1
    - Dst: wolfSSL_shutdown
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1939,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1941,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1945,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1946,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1955,1
    - Dst: wolfSSL_read
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1956,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1960,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1963,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1970,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1974,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1978,1
    - Dst: wssl_strerror
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1979,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1887
    functionDepth: 2
    functionLinenumber: 1887
    functionLinenumberEnd: 1989
    functionName: wssl_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wssl_strerror
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::is_alive
    - wolfSSL_get_shutdown
    - wolfSSL_read
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    - wolfSSL_get_error
    - wolfSSL_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool send_shutdown, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:1998,1
    - Dst: wolfSSL_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2001,1
    - Dst: wolfSSL_CTX_free
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2008
    functionName: wssl_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_free
    - wolfSSL_CTX_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void wssl_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2020,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2023,1
    - Dst: wolfSSL_read
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2025,1
    - Dst: wolfSSL_get_error
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2030,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2034,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2040,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2044,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2048,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2052,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2053,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2057,1
    - Dst: wssl_strerror
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2058,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2066,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2010
    functionDepth: 2
    functionLinenumber: 2010
    functionLinenumberEnd: 2068
    functionName: wssl_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wssl_strerror
    - CURL_TRC_CF
    - failf
    - wolfSSL_read
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    - wolfSSL_get_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_recv(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          char *buf, size_t blen,\n                          size_t
      *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2073,1
    - Dst: wolfSSL_lib_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2073,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2070
    functionDepth: 6
    functionLinenumber: 2070
    functionLinenumberEnd: 2077
    functionName: Curl_wssl_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_lib_version
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_wssl_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_open
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2085,1
    - Dst: wolfSSL_Init
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2087,1
    - Dst: wssl_bio_cf_init_methods
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2080
    functionDepth: 1
    functionLinenumber: 2080
    functionLinenumberEnd: 2090
    functionName: wssl_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wssl_bio_cf_init_methods
    - wolfSSL_Init
    - Curl_tls_keylog_open
    linkageType: ''
    returnType: int
    signature: int wssl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wssl_bio_cf_free_methods
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2095,1
    - Dst: wolfSSL_Cleanup
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2096,1
    - Dst: Curl_tls_keylog_close
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2100
    functionName: wssl_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_close
    - wssl_bio_cf_free_methods
    - wolfSSL_Cleanup
    linkageType: ''
    returnType: void
    signature: void wssl_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2110,1
    - Dst: wolfSSL_pending
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2117
    functionName: wssl_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_pending
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool wssl_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2123,1
    - Dst: wolfSSL_get_version
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2124,1
    - Dst: wolfSSL_get_cipher_name
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2125,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - wssl
    argTypes:
    - struct Curl_easy*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2129
    functionName: Curl_wssl_report_handshake
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - infof
    - wolfSSL_get_cipher_name
    - wolfSSL_get_version
    linkageType: ''
    returnType: void
    signature: "void Curl_wssl_report_handshake(struct Curl_easy *data,\n                                struct
      wssl_ctx *wssl)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wssl_connect_step1
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2149,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2158,1
    - Dst: wssl_handshake
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2161,1
    - Dst: Curl_wssl_verify_pinned
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2175,1
    - Dst: wolfSSL_ALPN_GetProtocol
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2187,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2190,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2195,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2197,1
    - Dst: Curl_wssl_report_handshake
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2206,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2211,1
    - Dst: wolfSSL_get_early_data_status
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2213,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2131
    functionDepth: 7
    functionLinenumber: 2131
    functionLinenumberEnd: 2236
    functionName: wssl_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - Curl_wssl_report_handshake
    - failf
    - wolfSSL_get_early_data_status
    - wssl_connect_step1
    - wolfSSL_ALPN_GetProtocol
    - DEBUGASSERT
    - Curl_wssl_verify_pinned
    - wssl_handshake
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_connect(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wc_InitRng
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2243,1
    - Dst: wc_RNG_GenerateBlock
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2247,1
    - Dst: wc_FreeRng
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2252
    functionName: wssl_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_FreeRng
    - wc_RNG_GenerateBlock
    - wc_InitRng
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_random(struct Curl_easy *data,\n                            unsigned
      char *entropy, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_InitSha256
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2261,1
    - Dst: wc_Sha256Update
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2263,1
    - Dst: wc_Sha256Final
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - tmp
    - tmplen
    - sha256sum
    - unused
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2266
    functionName: wssl_sha256sum
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_Sha256Update
    - wc_Sha256Final
    - wc_InitSha256
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_sha256sum(const unsigned char *tmp, /* input */\n                               size_t
      tmplen,\n                               unsigned char *sha256sum /* output */,\n
      \                              size_t unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/wolfssl.c:2272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2275
    functionName: wssl_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *wssl_get_internals(struct ssl_connect_data *connssl,\n                                CURLINFO
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: is_cr_or_lf
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_cr_or_lf(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - haystack
    - haystacklen
    - needle
    - needlelen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: c_memmem
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *c_memmem(const void *haystack, size_t haystacklen,\n                            const
      void *needle, size_t needlelen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:148,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:149,1
    - Dst: c_memmem
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:157,1
    - Dst: is_cr_or_lf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:161,1
    - Dst: c_memmem
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:165,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:170,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:184,1
    - Dst: CryptQueryObject
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:186,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:198,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:202,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:202,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:211,1
    - Dst: CertAddCertificateContextToStore
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:220,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:224,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:227,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:231,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:231,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:247,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 5
    argNames:
    - trust_store
    - ca_buffer
    - ca_buffer_size
    - ca_file_text
    - data
    argTypes:
    - HCERTSTORE
    - char*
    - size_t
    - char*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 258
    functionName: add_certs_data_to_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - c_memmem
    - infof
    - failf
    - curlx_winapi_strerror
    - CertFreeCertificateContext
    - CertAddCertificateContextToStore
    - is_cr_or_lf
    - CryptQueryObject
    - CURL_UNCONST
    - strlen
    - GetLastError
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_certs_data_to_store(HCERTSTORE trust_store,\n                                        const
      char *ca_buffer,\n                                        size_t ca_buffer_size,\n
      \                                       const char *ca_file_text,\n                                        struct
      Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:272,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:275,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:278,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:278,1
    - Dst: CreateFile
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:288,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:297,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:300,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:300,1
    - Dst: GetFileSizeEx
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:305,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:307,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:310,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:310,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:316,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:324,1
    - Dst: ReadFile
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:334,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:337,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:340,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:340,1
    - Dst: add_certs_data_to_store
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:356,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:363,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:365,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:366,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - trust_store
    - ca_file
    - data
    argTypes:
    - HCERTSTORE
    - char*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 369
    functionName: add_certs_file_to_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - add_certs_data_to_store
    - failf
    - curlx_winapi_strerror
    - CloseHandle
    - ReadFile
    - Curl_safefree
    - curlx_convert_UTF8_to_tchar
    - GetFileSizeEx
    - GetLastError
    - malloc
    - curlx_unicodefree
    - CreateFile
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_certs_file_to_store(HCERTSTORE trust_store,\n                                        const
      char *ca_file,\n                                        struct Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CertGetNameString
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:398,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:434,1
    - Dst: wcslen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:437,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:444,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 6
    argNames:
    - data
    - cert_context
    - host_names
    - length
    - alt_name_info
    - Win8_compat
    argTypes:
    - struct Curl_easy*
    - CERT_CONTEXT*
    - LPTSTR
    - DWORD
    - PCERT_ALT_NAME_INFO
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 461
    functionName: cert_get_name_string
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - wcslen
    - infof
    - failf
    - CertGetNameString
    linkageType: ''
    returnType: DWORD
    signature: "DWORD cert_get_name_string(struct Curl_easy *data,\n                                  CERT_CONTEXT
      *cert_context,\n                                  LPTSTR host_names,\n                                  DWORD
      length,\n                                  PCERT_ALT_NAME_INFO alt_name_info,\n
      \                                 BOOL Win8_compat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:475,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:478,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:482,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ip_blob
    - hostname
    argTypes:
    - struct num_ip_data*
    - LPCSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: get_num_host_info
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool get_num_host_info(struct num_ip_data *ip_blob,\n                              LPCSTR
      hostname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:503,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:509,1
    - Dst: CertFindExtension
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:513,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:517,1
    - Dst: CryptDecodeObjectEx
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:521,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - data
    - ctx
    - alt_name_info
    - alt_name_info_size
    argTypes:
    - struct Curl_easy*
    - PCCERT_CONTEXT
    - PCERT_ALT_NAME_INFO*
    - LPDWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 536
    functionName: get_alt_name_info
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - CryptDecodeObjectEx
    - failf
    - CertFindExtension
    linkageType: ''
    returnType: bool
    signature: "bool get_alt_name_info(struct Curl_easy *data,\n                              PCCERT_CONTEXT
      ctx,\n                              PCERT_ALT_NAME_INFO *alt_name_info,\n                              LPDWORD
      alt_name_info_size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CertGetNameString
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:558,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:569,1
    - Dst: Curl_cert_hostcheck
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:575,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:575,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:576,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:577,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:584,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:589,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:593,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:602,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:613,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:619,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:620,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:624,1
    - Dst: get_num_host_info
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:626,1
    - Dst: get_alt_name_info
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:627,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:638,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:641,1
    - Dst: cert_get_name_string
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:652,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:655,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:664,1
    - Dst: cert_get_name_string
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:669,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:675,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:686,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:694,1
    - Dst: Curl_cert_hostcheck
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:700,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:700,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:702,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:710,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:716,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:723,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:728,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:734,1
    - Dst: LocalFree
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:738,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:739,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:742,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 540
    functionDepth: 7
    functionLinenumber: 540
    functionLinenumberEnd: 746
    functionName: Curl_verify_host
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - failf
    - get_alt_name_info
    - cert_get_name_string
    - memcmp
    - Curl_cert_hostcheck
    - LocalFree
    - infof
    - strlen
    - CertGetNameString
    - TEXT
    - QueryContextAttributes
    - curlx_unicodefree
    - curlx_verify_windows_version
    - curlx_convert_tchar_to_UTF8
    - CertFreeCertificateContext
    - get_num_host_info
    - _tcslen
    - Curl_safefree
    - malloc
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_verify_host(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:753,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:754,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:765,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:768,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:774,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:775,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:788,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:790,1
    - Dst: Curl_schannel_get_cached_cert_store
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:796,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:799,1
    - Dst: CertOpenStore
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:803,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:810,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:811,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:811,1
    - Dst: add_certs_data_to_store
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:819,1
    - Dst: add_certs_file_to_store
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:826,1
    - Dst: Curl_schannel_set_cached_cert_store
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:831,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:843,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:847,1
    - Dst: CertCreateCertificateChainEngine
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:862,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:866,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:868,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:868,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:878,1
    - Dst: CertGetCertificateChain
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:881,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:891,1
    - Dst: curlx_winapi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:892,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:892,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:912,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:915,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:917,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:920,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:923,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:925,1
    - Dst: Curl_verify_host
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:933,1
    - Dst: CertFreeCertificateChainEngine
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:939,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:943,1
    - Dst: CertFreeCertificateChain
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:948,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel_verify.c:951,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 95
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 954
    functionName: Curl_verify_certificate
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_verify_host
    - CertCloseStore
    - add_certs_data_to_store
    - infof
    - add_certs_file_to_store
    - Curl_schannel_get_cached_cert_store
    - memset
    - GetLastError
    - CertFreeCertificateChain
    - CertGetCertificateChain
    - DEBUGASSERT
    - QueryContextAttributes
    - CertOpenStore
    - CertCreateCertificateChainEngine
    - curlx_verify_windows_version
    - curlx_winapi_strerror
    - CertFreeCertificateContext
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_get_primary_config
    - Curl_schannel_set_cached_cert_store
    - CertFreeCertificateChainEngine
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_verify_certificate(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:54,1
    - Dst: pthread_mutex_init
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:60,1
    - Dst: CreateMutex
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: Curl_mbedtlsthreadlock_thread_setup
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - CreateMutex
    - calloc
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_thread_setup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:81,1
    - Dst: CloseHandle
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:84,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: Curl_mbedtlsthreadlock_thread_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_mutex_destroy
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_thread_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:98,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:99,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:99,1
    - Dst: WaitForSingleObject
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:104,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:105,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: Curl_mbedtlsthreadlock_lock_function
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - curl_mfprintf
    - DEBUGF
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_lock_function(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:118,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:119,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:119,1
    - Dst: ReleaseMutex
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:124,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:125,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: Curl_mbedtlsthreadlock_unlock_function
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - ReleaseMutex
    - DEBUGF
    - pthread_mutex_unlock
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_unlock_function(int n)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element_
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:220,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - elem
    - beg
    - end
    - lvl
    argTypes:
    - struct Curl_asn1Element*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 245
    functionName: getASN1Element_
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element_
    linkageType: ''
    returnType: char
    signature: "char *getASN1Element_(struct Curl_asn1Element *elem,\n                                   const
      char *beg, const char *end,\n                                   size_t lvl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element_
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - elem
    - beg
    - end
    argTypes:
    - struct Curl_asn1Element*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: getASN1Element
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element_
    linkageType: ''
    returnType: char
    signature: "char *getASN1Element(struct Curl_asn1Element *elem,\n                                  const
      char *beg, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:263,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: searchOID
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    - strcmp
    linkageType: ''
    returnType: struct Curl_OID
    signature: struct Curl_OID *searchOID(const char *oid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - elem
    - beg
    - end
    argTypes:
    - struct Curl_asn1Element*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: Curl_x509_getASN1Element
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_x509_getASN1Element(struct Curl_asn1Element *elem,\n
      \                                 const char *beg, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: bool2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bool2str(struct dynbuf *store,\n                         const
      char *beg, const char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: octet2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode octet2str(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: octet2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: bit2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - octet2str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bit2str(struct dynbuf *store,\n                        const
      char *beg, const char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: octet2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:335,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: int2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - octet2str
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode int2str(struct dynbuf *store,\n                        const
      char *beg, const char *end)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:387,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:399,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:402,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:426,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 4
    argNames:
    - to
    - type
    - from
    - end
    argTypes:
    - struct dynbuf*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 430
    functionName: utf8asn1str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode utf8asn1str(struct dynbuf *to, int type, const char *from,
      const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:449,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 465
    functionName: encodeOID
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode encodeOID(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:480,1
    - Dst: encodeOID
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:481,1
    - Dst: searchOID
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:484,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:484,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:486,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:488,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:488,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:489,1
    - Dst: encodeOID
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - store
    - beg
    - end
    - symbolic
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 496
    functionName: OID2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_add
    - encodeOID
    - searchOID
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode OID2str(struct dynbuf *store,\n                        const
      char *beg, const char *end, bool symbolic)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:511,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:522,1
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:537,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:542,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:568,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 574
    functionName: GTime2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - ISDIGIT
    - curlx_dyn_addf
    - DEBUGASSERT
    - FALLTHROUGH
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode GTime2str(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTime2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: Curl_x509_GTime2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - GTime2str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_x509_GTime2str(struct dynbuf *store,\n                             const
      char *beg, const char *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:604,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 626
    functionName: UTime2str
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode UTime2str(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bool2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:645,1
    - Dst: int2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:649,1
    - Dst: bit2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:652,1
    - Dst: octet2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:655,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:658,1
    - Dst: OID2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:661,1
    - Dst: UTime2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:664,1
    - Dst: GTime2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:667,1
    - Dst: utf8asn1str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - store
    - elem
    - type
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 682
    functionName: ASN1tostr
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - int2str
    - curlx_dyn_addn
    - bit2str
    - utf8asn1str
    - bool2str
    - GTime2str
    - OID2str
    - UTime2str
    - octet2str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ASN1tostr(struct dynbuf *store,\n                          struct
      Curl_asn1Element *elem, int type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:702,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:705,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:711,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:716,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:721,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:725,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:726,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:730,1
    - Dst: ISUPPER
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:739,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:743,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:745,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:751,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:756,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:761,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:764,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:769,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 2
    argNames:
    - store
    - dn
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 689
    functionDepth: 6
    functionLinenumber: 689
    functionLinenumberEnd: 772
    functionName: encodeDN
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_dyn_free
    - ISUPPER
    - curlx_dyn_reset
    - getASN1Element
    - curlx_dyn_add
    - ASN1tostr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode encodeDN(struct dynbuf *store, struct Curl_asn1Element *dn)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:795,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:801,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:805,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:809,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:819,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:823,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:825,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:831,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:833,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:837,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:840,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:843,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:846,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:850,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:853,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:858,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:870,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:877,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:885,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:891,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - cert
    - beg
    - end
    argTypes:
    - struct Curl_X509certificate*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 894
    functionName: Curl_parseX509
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element
    linkageType: ''
    returnType: int
    signature: "int Curl_parseX509(struct Curl_X509certificate *cert,\n                   const
      char *beg, const char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:908,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:915,1
    - Dst: OID2str
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - store
    - param
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 900
    functionDepth: 5
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: dumpAlgo
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - OID2str
    - getASN1Element
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode dumpAlgo(struct dynbuf *store,\n                         struct
      Curl_asn1Element *param,\n                         const char *beg, const char
      *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:931,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - certnum
    - label
    - value
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 934
    functionName: ssl_push_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_push_certinfo_len
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_push_certinfo(struct Curl_easy *data,\n                                  int
      certnum,\n                                  const char *label,\n                                  const
      char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:947,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:948,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:950,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data
    - certnum
    - label
    - ptr
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 957
    functionName: ssl_push_certinfo_dyn
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_push_certinfo_len
    - infof
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_push_certinfo_dyn(struct Curl_easy *data,\n                                      int
      certnum,\n                                      const char *label,\n                                      struct
      dynbuf *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:966,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:970,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:973,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - data
    - certnum
    - label
    - elem
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 959
    functionDepth: 6
    functionLinenumber: 959
    functionLinenumberEnd: 977
    functionName: do_pubkey_field
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - ASN1tostr
    - ssl_push_certinfo_dyn
    - curlx_dyn_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_pubkey_field(struct Curl_easy *data, int certnum,\n                                const
      char *label,\n                                struct Curl_asn1Element *elem)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:990,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:997,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1000,1
    - Dst: ssl_push_certinfo
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1001,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1004,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1009,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1012,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1016,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1032,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1035,1
    - Dst: ssl_push_certinfo
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1036,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1040,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1042,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1044,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1047,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1048,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1050,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1052,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1054,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1056,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1057,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1059,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1065,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1066,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1068,1
    - Dst: getASN1Element
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1070,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1071,1
    - Dst: do_pubkey_field
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1073,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 5
    argNames:
    - data
    - certnum
    - algo
    - param
    - pubkey
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - struct Curl_asn1Element*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 980
    functionDepth: 7
    functionLinenumber: 980
    functionLinenumberEnd: 1079
    functionName: do_pubkey
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - infof
    - curl_msnprintf
    - ssl_push_certinfo
    - getASN1Element
    - curl_strequal
    - do_pubkey_field
    linkageType: ''
    returnType: int
    signature: "int do_pubkey(struct Curl_easy *data, int certnum,\n                     const
      char *algo, struct Curl_asn1Element *param,\n                     struct Curl_asn1Element
      *pubkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeDN
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store
    - dn
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1085
    functionDepth: 7
    functionLinenumber: 1085
    functionLinenumberEnd: 1089
    functionName: DNtostr
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - encodeDN
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode DNtostr(struct dynbuf *store,\n                        struct
      Curl_asn1Element *dn)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1110,1
    - Dst: Curl_parseX509
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1114,1
    - Dst: DNtostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1118,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1122,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1126,1
    - Dst: DNtostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1129,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1133,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1137,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1144,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1147,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1150,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1154,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1158,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1162,1
    - Dst: dumpAlgo
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1165,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1170,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1175,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1178,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1182,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1186,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1189,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1193,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1197,1
    - Dst: dumpAlgo
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1200,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1205,1
    - Dst: do_pubkey
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1211,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1211,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1217,1
    - Dst: ASN1tostr
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1220,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1224,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1228,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1231,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1246,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1249,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1255,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1257,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1261,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1263,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1266,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1270,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/x509asn1.c:1271,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 141
    argCount: 4
    argNames:
    - data
    - certnum
    - beg
    - end
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1091
    functionDepth: 8
    functionLinenumber: 1091
    functionLinenumberEnd: 1273
    functionName: Curl_extract_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - free
    - curlx_dyn_addf
    - DNtostr
    - do_pubkey
    - failf
    - curlx_dyn_init
    - ssl_push_certinfo_dyn
    - curlx_dyn_free
    - curlx_base64_encode
    - curlx_dyn_reset
    - Curl_parseX509
    - dumpAlgo
    - curlx_dyn_add
    - ASN1tostr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_extract_certinfo(struct Curl_easy *data,\n                               int
      certnum,\n                               const char *beg,\n                               const
      char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tls_log_func
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:98,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:102,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/gtls.c:103,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:104,1
    - Dst: gnutls_transport_set_errno
      Src: /src/PROJ/curl/lib/vtls/gtls.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - s
    - buf
    - blen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: gtls_push
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_send
    - CURL_TRC_CF
    - gnutls_transport_set_errno
    - CF_DATA_CURRENT
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gtls_push(void *s, const void *buf, size_t blen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:122,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:126,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/PROJ/curl/lib/vtls/gtls.c:128,1
    - Dst: gnutls_transport_set_errno
      Src: /src/PROJ/curl/lib/vtls/gtls.c:131,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/gtls.c:137,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:138,1
    - Dst: gnutls_transport_set_errno
      Src: /src/PROJ/curl/lib/vtls/gtls.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - s
    - buf
    - blen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: gtls_pull
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_gtls_client_trust_setup
    - gnutls_transport_set_errno
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_conn_cf_recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gtls_pull(void *s, void *buf, size_t blen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:163,1
    - Dst: gnutls_global_set_log_function
      Src: /src/PROJ/curl/lib/vtls/gtls.c:165,1
    - Dst: gnutls_global_set_log_level
      Src: /src/PROJ/curl/lib/vtls/gtls.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: gtls_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_function
    - gnutls_global_set_log_level
    - gnutls_global_init
    linkageType: ''
    returnType: int
    signature: int gtls_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_deinit
      Src: /src/PROJ/curl/lib/vtls/gtls.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: gtls_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void gtls_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/PROJ/curl/lib/vtls/gtls.c:189,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:193,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - text
    - stamp
    argTypes:
    - struct Curl_easy*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: showtime
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_gmtime
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void showtime(struct Curl_easy *data,\n                     const
      char *text,\n                     time_t stamp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/vtls/gtls.c:215,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/vtls/gtls.c:218,1
    - Dst: ftell
      Src: /src/PROJ/curl/lib/vtls/gtls.c:219,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/vtls/gtls.c:220,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/gtls.c:221,1
    - Dst: fread
      Src: /src/PROJ/curl/lib/vtls/gtls.c:223,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:224,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/gtls.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: load_file
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 6
    functionsReached:
    - free
    - ftell
    - curlx_fopen
    - fseek
    - curlx_fclose
    - malloc
    - fread
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t load_file(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gnutls_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: unload_file
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void unload_file(gnutls_datum_t data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:251,1
    - Dst: gnutls_handshake
      Src: /src/PROJ/curl/lib/vtls/gtls.c:256,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/PROJ/curl/lib/vtls/gtls.c:261,1
    - Dst: gnutls_record_get_direction
      Src: /src/PROJ/curl/lib/vtls/gtls.c:268,1
    - Dst: gnutls_error_is_fatal
      Src: /src/PROJ/curl/lib/vtls/gtls.c:272,1
    - Dst: gnutls_alert_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:276,1
    - Dst: gnutls_alert_get_name
      Src: /src/PROJ/curl/lib/vtls/gtls.c:277,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:281,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:283,1
    - Dst: gnutls_alert_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:293,1
    - Dst: gnutls_alert_get_name
      Src: /src/PROJ/curl/lib/vtls/gtls.c:294,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:298,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 305
    functionName: cf_gtls_handshake
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - gnutls_strerror
    - gnutls_alert_get
    - failf
    - gnutls_handshake
    - Curl_gtls_client_trust_setup
    - gnutls_error_is_fatal
    - gnutls_record_get_direction
    - DEBUGASSERT
    - gnutls_alert_get_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_gtls_handshake(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/gtls.c:311,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/gtls.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: gnutls_do_file_type
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: gnutls_x509_crt_fmt_t
    signature: gnutls_x509_crt_fmt_t gnutls_do_file_type(const char *type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:350,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 5
    argNames:
    - data
    - peer
    - conn_config
    - prioritylist
    - tls13support
    argTypes:
    - struct Curl_easy*
    - struct ssl_peer*
    - struct ssl_primary_config*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 401
    functionName: gnutls_set_ssl_version_min_max
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gnutls_set_ssl_version_min_max(struct Curl_easy *data,\n
      \                              struct ssl_peer *peer,\n                               struct
      ssl_primary_config *conn_config,\n                               const char
      **prioritylist,\n                               bool tls13support)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/gtls.c:410,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/PROJ/curl/lib/vtls/gtls.c:414,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:416,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:416,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:417,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/gtls.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - pcreds
    argTypes:
    - struct Curl_easy*
    - struct gtls_shared_creds**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: Curl_gtls_shared_creds_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_strerror
    - failf
    - curlx_now
    - calloc
    - gnutls_certificate_allocate_credentials
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_shared_creds_create(struct Curl_easy *data,\n                                       struct
      gtls_shared_creds **pcreds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - creds
    argTypes:
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: Curl_gtls_shared_creds_up_ref
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_gtls_shared_creds_up_ref(struct gtls_shared_creds *creds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/PROJ/curl/lib/vtls/gtls.c:444,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:445,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pcreds
    argTypes:
    - struct gtls_shared_creds**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: Curl_gtls_shared_creds_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void Curl_gtls_shared_creds_free(struct gtls_shared_creds **pcreds)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:455,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:456,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:461,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:465,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:468,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/PROJ/curl/lib/vtls/gtls.c:471,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:473,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:474,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:476,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/PROJ/curl/lib/vtls/gtls.c:485,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/PROJ/curl/lib/vtls/gtls.c:488,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:493,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:494,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:502,1
    - Dst: gnutls_certificate_set_x509_trust_dir
      Src: /src/PROJ/curl/lib/vtls/gtls.c:507,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:511,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:512,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:520,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:524,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/PROJ/curl/lib/vtls/gtls.c:528,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:531,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:532,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:536,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - cf
    - data
    - creds
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_certificate_credentials_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 540
    functionName: gtls_populate_creds
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - gnutls_strerror
    - failf
    - gnutls_certificate_set_x509_trust_dir
    - gnutls_certificate_set_x509_system_trust
    - Curl_ssl_cf_get_config
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_set_x509_crl_file
    - Curl_ssl_cf_get_primary_config
    - gnutls_certificate_set_verify_flags
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_populate_creds(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    gnutls_certificate_credentials_t
      creds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/gtls.c:549,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vtls/gtls.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sc
    argTypes:
    - struct Curl_easy*
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: gtls_shared_creds_expired
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: bool
    signature: "bool gtls_shared_creds_expired(const struct Curl_easy *data,\n                                      const
      struct gtls_shared_creds *sc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:562,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/gtls.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - sc
    argTypes:
    - struct Curl_cfilter*
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: gtls_shared_creds_different
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - strcmp
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: bool
    signature: "bool gtls_shared_creds_different(struct Curl_cfilter *cf,\n                                        const
      struct gtls_shared_creds *sc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/gtls.c:575,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/gtls.c:576,1
    - Dst: gtls_shared_creds_expired
      Src: /src/PROJ/curl/lib/vtls/gtls.c:579,1
    - Dst: gtls_shared_creds_different
      Src: /src/PROJ/curl/lib/vtls/gtls.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: gtls_get_cached_creds
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_hash_pick
    - gtls_shared_creds_expired
    - CURL_UNCONST
    - gtls_shared_creds_different
    linkageType: ''
    returnType: struct gtls_shared_creds
    signature: 'struct gtls_shared_creds *

      gtls_get_cached_creds(struct Curl_cfilter *cf, struct Curl_easy *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:591,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/gtls.c:591,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: gtls_shared_creds_hash_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_shared_creds_free
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void gtls_shared_creds_hash_free(void *key, size_t key_len, void *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:601,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:603,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:604,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:605,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:606,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/gtls.c:611,1
    - Dst: Curl_gtls_shared_creds_up_ref
      Src: /src/PROJ/curl/lib/vtls/gtls.c:616,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/vtls/gtls.c:619,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/gtls.c:620,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cf
    - data
    - sc
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 626
    functionName: gtls_set_cached_creds
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_cf_get_primary_config
    - Curl_hash_add2
    - Curl_gtls_shared_creds_free
    - CURL_UNCONST
    - DEBUGASSERT
    - Curl_gtls_shared_creds_up_ref
    - strdup
    linkageType: ''
    returnType: void
    signature: "void gtls_set_cached_creds(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct gtls_shared_creds
      *sc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:632,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:633,1
    - Dst: gtls_get_cached_creds
      Src: /src/PROJ/curl/lib/vtls/gtls.c:652,1
    - Dst: Curl_gtls_shared_creds_up_ref
      Src: /src/PROJ/curl/lib/vtls/gtls.c:654,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:655,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:656,1
    - Dst: gnutls_credentials_set
      Src: /src/PROJ/curl/lib/vtls/gtls.c:658,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:661,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:661,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:666,1
    - Dst: gtls_populate_creds
      Src: /src/PROJ/curl/lib/vtls/gtls.c:667,1
    - Dst: gtls_set_cached_creds
      Src: /src/PROJ/curl/lib/vtls/gtls.c:672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - cf
    - data
    - gtls
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct gtls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 675
    functionName: Curl_gtls_client_trust_setup
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 2
    functionsReached:
    - gtls_get_cached_creds
    - CURL_TRC_CF
    - failf
    - gnutls_strerror
    - gtls_set_cached_creds
    - Curl_ssl_cf_get_config
    - gnutls_credentials_set
    - Curl_ssl_cf_get_primary_config
    - Curl_gtls_shared_creds_free
    - Curl_gtls_shared_creds_up_ref
    - gtls_populate_creds
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_client_trust_setup(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct gtls_ctx *gtls)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/gtls.c:693,1
    - Dst: gnutls_session_get_data
      Src: /src/PROJ/curl/lib/vtls/gtls.c:702,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/gtls.c:706,1
    - Dst: gnutls_session_get_data
      Src: /src/PROJ/curl/lib/vtls/gtls.c:711,1
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/PROJ/curl/lib/vtls/gtls.c:712,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:714,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vtls/gtls.c:718,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:720,1
    - Dst: Curl_ssl_session_create2
      Src: /src/PROJ/curl/lib/vtls/gtls.c:725,1
    - Dst: Curl_glts_get_ietf_proto
      Src: /src/PROJ/curl/lib/vtls/gtls.c:726,1
    - Dst: Curl_ssl_scache_put
      Src: /src/PROJ/curl/lib/vtls/gtls.c:732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 8
    argNames:
    - cf
    - data
    - ssl_peer_key
    - session
    - valid_until
    - alpn
    - quic_tp
    - quic_tp_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - gnutls_session_t
    - curl_off_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 736
    functionName: Curl_gtls_cache_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_create2
    - free
    - Curl_ssl_scache_put
    - CURL_TRC_CF
    - gnutls_session_get_data
    - Curl_ssl_scache_use
    - Curl_glts_get_ietf_proto
    - Curl_memdup0
    - malloc
    - gnutls_record_get_max_early_data_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_cache_session(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const char *ssl_peer_key,\n
      \                                gnutls_session_t session,\n                                 curl_off_t
      valid_until,\n                                 const char *alpn,\n                                 unsigned
      char *quic_tp,\n                                 size_t quic_tp_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/PROJ/curl/lib/vtls/gtls.c:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 757
    functionName: Curl_glts_get_ietf_proto
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 1
    functionsReached:
    - gnutls_protocol_get_version
    linkageType: ''
    returnType: int
    signature: int Curl_glts_get_ietf_proto(gnutls_session_t session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gtls_cache_session
      Src: /src/PROJ/curl/lib/vtls/gtls.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - session
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: cf_gtls_update_session_id
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_cache_session
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_gtls_update_session_id(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          gnutls_session_t
      session)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/PROJ/curl/lib/vtls/gtls.c:774,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:779,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:781,1
    - Dst: cf_gtls_update_session_id
      Src: /src/PROJ/curl/lib/vtls/gtls.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - session
    - htype
    - when
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 770
    functionDepth: 4
    functionLinenumber: 770
    functionLinenumberEnd: 794
    functionName: gtls_handshake_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    - CF_DATA_CURRENT
    - CURL_TRC_CF
    - cf_gtls_update_session_id
    linkageType: ''
    returnType: int
    signature: "int gtls_handshake_cb(gnutls_session_t session, unsigned int htype,\n
      \                            unsigned when, unsigned int incoming,\n                             const
      gnutls_datum_t *msg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:802,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:808,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/gtls.c:814,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/gtls.c:816,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/gtls.c:819,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/gtls.c:828,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/gtls.c:829,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:833,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/gtls.c:836,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:842,1
    - Dst: gnutls_priority_set_direct
      Src: /src/PROJ/curl/lib/vtls/gtls.c:843,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:845,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - cf
    - data
    - gtls
    - priority
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct gtls_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 852
    functionName: gtls_set_priority
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_dyn_ptr
    - curlx_dyn_addf
    - failf
    - curlx_dyn_init
    - Curl_ssl_cf_get_primary_config
    - curlx_dyn_free
    - curlx_dyn_len
    - curlx_dyn_add
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_set_priority(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct gtls_ctx *gtls,\n
      \                                 const char *priority)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:860,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:861,1
    - Dst: gtls_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:870,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:873,1
    - Dst: Curl_gtls_shared_creds_create
      Src: /src/PROJ/curl/lib/vtls/gtls.c:880,1
    - Dst: Curl_auth_allowed_to_host
      Src: /src/PROJ/curl/lib/vtls/gtls.c:885,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:886,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/PROJ/curl/lib/vtls/gtls.c:888,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:890,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:891,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/PROJ/curl/lib/vtls/gtls.c:895,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:899,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:900,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:936,1
    - Dst: gnutls_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:938,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:940,1
    - Dst: gnutls_server_name_set
      Src: /src/PROJ/curl/lib/vtls/gtls.c:945,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/gtls.c:946,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:947,1
    - Dst: gnutls_set_default_priority
      Src: /src/PROJ/curl/lib/vtls/gtls.c:953,1
    - Dst: gnutls_check_version
      Src: /src/PROJ/curl/lib/vtls/gtls.c:958,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:966,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:972,1
    - Dst: gnutls_set_ssl_version_min_max
      Src: /src/PROJ/curl/lib/vtls/gtls.c:978,1
    - Dst: gtls_set_priority
      Src: /src/PROJ/curl/lib/vtls/gtls.c:983,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/PROJ/curl/lib/vtls/gtls.c:989,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/gtls.c:993,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/PROJ/curl/lib/vtls/gtls.c:994,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:998,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1001,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1011,1
    - Dst: gnutls_do_file_type
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1015,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1019,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1022,1
    - Dst: gnutls_credentials_set
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1031,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1034,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1034,1
    - Dst: gnutls_credentials_set
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1041,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1044,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1044,1
    - Dst: gnutls_ocsp_status_request_enable_client
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1050,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1053,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 5
    argNames:
    - cf
    - data
    - peer
    - earlydata_max
    - gtls
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - size_t
    - struct gtls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 854
    functionDepth: 5
    functionLinenumber: 854
    functionLinenumberEnd: 1059
    functionName: gtls_client_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - gnutls_set_ssl_version_min_max
    - gnutls_set_default_priority
    - gnutls_do_file_type
    - Curl_gtls_shared_creds_create
    - gnutls_srp_set_client_credentials
    - infof
    - gnutls_strerror
    - strlen
    - gtls_init
    - Curl_auth_allowed_to_host
    - gnutls_check_version
    - gnutls_certificate_set_x509_key_file2
    - curl_strequal
    - Curl_ssl_cf_get_config
    - Curl_gtls_client_trust_setup
    - gnutls_credentials_set
    - Curl_ssl_cf_get_primary_config
    - gnutls_certificate_set_x509_simple_pkcs12_file
    - gnutls_ocsp_status_request_enable_client
    - gtls_set_priority
    - gnutls_server_name_set
    - gnutls_init
    - gnutls_srp_allocate_client_credentials
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_client_init(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct ssl_peer *peer,\n
      \                                size_t earlydata_max,\n                                 struct
      gtls_ctx *gtls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_random
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1068,1
    - Dst: Curl_tls_keylog_write
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - label
    - secret
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1075
    functionName: keylog_callback
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write
    - gnutls_session_get_random
    linkageType: ''
    returnType: int
    signature: "int keylog_callback(gnutls_session_t session, const char *label,\n
      \                          const gnutls_datum_t *secret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1090,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1093,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1095,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1096,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1099,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1103,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1109
    functionName: gtls_on_session_reuse
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - Curl_alpn_contains_proto
    - strlen
    - Curl_alpn_set_negotiated
    - gnutls_record_get_max_early_data_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_on_session_reuse(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct alpn_spec *alpns,\n
      \                                     struct Curl_ssl_session *scs,\n                                      bool
      *do_early_data)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1122,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1123,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1132,1
    - Dst: Curl_alpn_copy
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1133,1
    - Dst: Curl_ssl_scache_take
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1139,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1144,1
    - Dst: gtls_client_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1147,1
    - Dst: gnutls_session_set_data
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1152,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1154,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1156,1
    - Dst: sess_reuse_cb
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1161,1
    - Dst: Curl_alpn_restrict_to
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1168,1
    - Dst: gtls_client_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1176,1
    - Dst: gnutls_session_set_ptr
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1181,1
    - Dst: cb_setup
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1184,1
    - Dst: Curl_tls_keylog_open
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1191,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1192,1
    - Dst: gnutls_session_set_keylog_function
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1193,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1202,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1202,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1205,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1211,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1214,1
    - Dst: Curl_ssl_scache_return
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1219,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 9
    argNames:
    - gctx
    - cf
    - data
    - peer
    - alpns_requested
    - cb_setup
    - cb_user_data
    - ssl_user_data
    - sess_reuse_cb
    argTypes:
    - struct gtls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_gtls_ctx_setup_cb*
    - void*
    - void*
    - Curl_gtls_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1112
    functionDepth: 6
    functionLinenumber: 1112
    functionLinenumberEnd: 1221
    functionName: Curl_gtls_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - cb_setup
    - failf
    - Curl_tls_keylog_open
    - Curl_tls_keylog_enabled
    - gnutls_alpn_set_protocols
    - gnutls_session_set_ptr
    - Curl_alpn_restrict_to
    - gtls_client_init
    - infof
    - Curl_ssl_scache_take
    - strlen
    - Curl_ssl_scache_return
    - CURL_ARRAYSIZE
    - gnutls_session_set_keylog_function
    - DEBUGASSERT
    - gnutls_session_set_data
    - sess_reuse_cb
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_get_primary_config
    - Curl_alpn_contains_proto
    - Curl_alpn_copy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_ctx_init(struct gtls_ctx *gctx,\n                            struct
      Curl_cfilter *cf,\n                            struct Curl_easy *data,\n                            struct
      ssl_peer *peer,\n                            const struct alpn_spec *alpns_requested,\n
      \                           Curl_gtls_ctx_setup_cb *cb_setup,\n                            void
      *cb_user_data,\n                            void *ssl_user_data,\n                            Curl_gtls_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1231,1
    - Dst: Curl_gtls_ctx_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1238,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1252,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1253,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1254,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1258,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1264,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1265,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1223
    functionDepth: 7
    functionLinenumber: 1223
    functionLinenumberEnd: 1269
    functionName: gtls_connect_step1
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - gnutls_transport_set_pull_function
    - memset
    - DEBUGASSERT
    - gnutls_handshake_set_hook_function
    - gnutls_transport_set_ptr
    - Curl_alpn_to_proto_str
    - Curl_gtls_ctx_init
    - gnutls_transport_set_push_function
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gtls_connect_step1(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1295,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1299,1
    - Dst: gnutls_pubkey_export
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1303,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1307,1
    - Dst: gnutls_pubkey_export
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1313,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1320,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1324,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1326,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - data
    - cert
    - pinnedpubkey
    argTypes:
    - struct Curl_easy*
    - gnutls_x509_crt_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1329
    functionName: pkp_pin_peer_pubkey
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_init
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_export
    - gnutls_pubkey_deinit
    - Curl_safefree
    - malloc
    - Curl_pin_peer_pubkey
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pkp_pin_peer_pubkey(struct Curl_easy *data,\n                                    gnutls_x509_crt_t
      cert,\n                                    const char *pinnedpubkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1335,1
    - Dst: gnutls_protocol_get_version
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1337,1
    - Dst: gnutls_cipher_suite_get_name
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1340,1
    - Dst: gnutls_kx_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1340,1
    - Dst: gnutls_cipher_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1341,1
    - Dst: gnutls_mac_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1342,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1344,1
    - Dst: gnutls_protocol_get_name
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - gctx
    argTypes:
    - struct Curl_easy*
    - struct gtls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1351
    functionName: Curl_gtls_report_handshake
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_suite_get_name
    - infof
    - Curl_trc_is_verbose
    - gnutls_kx_get
    - gnutls_protocol_get_name
    - gnutls_mac_get
    - gnutls_protocol_get_version
    - gnutls_cipher_get
    linkageType: ''
    returnType: void
    signature: "void Curl_gtls_report_handshake(struct Curl_easy *data,\n                                struct
      gtls_ctx *gctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1363,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1367,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1367,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1373,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1377,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - peer
    - x509_cert
    - was_verified
    - needs_verified
    argTypes:
    - struct Curl_easy*
    - struct ssl_peer*
    - gnutls_x509_crt_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1382
    functionName: gtls_msg_verify_result
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_strerror
    - failf
    linkageType: ''
    returnType: void
    signature: "void gtls_msg_verify_result(struct Curl_easy *data,\n                                   struct
      ssl_peer *peer,\n                                   gnutls_x509_crt_t x509_cert,\n
      \                                  bool was_verified,\n                                   bool
      needs_verified)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1388,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1395,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1396,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1397,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1400,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1401,1
    - Dst: gnutls_x509_crt_get_dn2
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1403,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1405,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1407,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1409,1
    - Dst: showtime
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1410,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1412,1
    - Dst: showtime
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1413,1
    - Dst: gnutls_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1415,1
    - Dst: gnutls_x509_crt_get_issuer_dn2
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1418,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1420,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1422,1
    - Dst: gnutls_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - data
    - x509_cert
    argTypes:
    - struct Curl_easy*
    - gnutls_x509_crt_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1384
    functionDepth: 7
    functionLinenumber: 1384
    functionLinenumberEnd: 1431
    functionName: gtls_infof_cert
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - gnutls_x509_crt_get_pk_algorithm
    - Curl_trc_is_verbose
    - gnutls_x509_crt_get_dn2
    - gnutls_x509_crt_get_issuer_dn2
    - gnutls_x509_crt_get_version
    - showtime
    - gnutls_pk_algorithm_get_name
    - gnutls_free
    - gnutls_x509_crt_get_activation_time
    - gnutls_x509_crt_get_expiration_time
    linkageType: ''
    returnType: void
    signature: "void gtls_infof_cert(struct Curl_easy *data,\n                            gnutls_x509_crt_t
      x509_cert)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1443,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1446,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1451,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1456,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1458,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1460,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1465,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1518,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1524,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1533,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - data
    - session
    argTypes:
    - struct Curl_easy*
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1535
    functionName: gtls_verify_ocsp_status
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - failf
    - gnutls_ocsp_resp_deinit
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_resp_get_single
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_status_request_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_verify_ocsp_status(struct Curl_easy *data,\n                                        gnutls_session_t
      session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - cf
    - data
    - user_data
    - i
    - pder
    - pder_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1562
    functionName: gtls_chain_get_der
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_chain_get_der(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   void *user_data,\n                                   size_t
      i,\n                                   unsigned char **pder,\n                                   size_t
      *pder_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vtls_apple_verify
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1572,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - cf
    - data
    - peer
    - chain
    - pverified
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct gtls_cert_chain*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1579
    functionName: glts_apple_verify
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_vtls_apple_verify
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glts_apple_verify(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct ssl_peer *peer,\n
      \                                 struct gtls_cert_chain *chain,\n                                  bool
      *pverified)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1605,1
    - Dst: gnutls_cipher_get
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1612,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1618,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1626,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1632,1
    - Dst: Curl_extract_certinfo
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1640,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1656,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1658,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1666,1
    - Dst: glts_apple_verify
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1671,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1675,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1692,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1702,1
    - Dst: gnutls_x509_crt_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1705,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1706,1
    - Dst: gnutls_x509_crt_import
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1715,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1717,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1725,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1729,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1735,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1738,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1740,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1746,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1749,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1752,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1756,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1762,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1765,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1767,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1773,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1776,1
    - Dst: gtls_verify_ocsp_status
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1780,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1785,1
    - Dst: gnutls_x509_crt_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1789,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1790,1
    - Dst: load_file
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1794,1
    - Dst: gnutls_x509_crt_import
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1795,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1797,1
    - Dst: unload_file
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1798,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1800,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1805,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1818,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1833,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1836,1
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1846,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1855,1
    - Dst: gtls_msg_verify_result
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1866,1
    - Dst: pkp_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1871,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1873,1
    - Dst: gtls_infof_cert
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1878,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1882,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1884,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 198
    argCount: 7
    argNames:
    - cf
    - data
    - session
    - config
    - ssl_config
    - peer
    - pinned_key
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_session_t
    - struct ssl_primary_config*
    - struct ssl_config_data*
    - struct ssl_peer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1582
    functionDepth: 9
    functionLinenumber: 1582
    functionLinenumberEnd: 1886
    functionName: Curl_gtls_verifyserver
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_extract_certinfo
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_check_issuer
    - load_file
    - unload_file
    - memcmp
    - gnutls_certificate_get_peers
    - gtls_infof_cert
    - infof
    - gtls_verify_ocsp_status
    - gnutls_x509_crt_check_hostname
    - Curl_ssl_init_certinfo
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_get_subject_alt_name
    - gnutls_cipher_get
    - curlx_inet_pton
    - time
    - glts_apple_verify
    - gtls_msg_verify_result
    - gnutls_x509_crt_init
    - gnutls_certificate_verify_peers2
    - pkp_pin_peer_pubkey
    - gnutls_x509_crt_import
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_verifyserver(struct Curl_cfilter *cf,\n                       struct
      Curl_easy *data,\n                       gnutls_session_t session,\n                       struct
      ssl_primary_config *config,\n                       struct ssl_config_data *ssl_config,\n
      \                      struct ssl_peer *peer,\n                       const
      char *pinned_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1893,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1894,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1896,1
    - Dst: Curl_gtls_verifyserver
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1904,1
    - Dst: gnutls_protocol_get_version
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1912,1
    - Dst: cf_gtls_update_session_id
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - session
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1888
    functionDepth: 10
    functionLinenumber: 1888
    functionLinenumberEnd: 1918
    functionName: gtls_verifyserver
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_is_proxy
    - Curl_gtls_verifyserver
    - Curl_ssl_cf_get_primary_config
    - gnutls_protocol_get_version
    - cf_gtls_update_session_id
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_verifyserver(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  gnutls_session_t session)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1932,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1934,1
    - Dst: gnutls_record_send_early_data
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1935,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1936,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1952,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1921
    functionDepth: 4
    functionLinenumber: 1921
    functionLinenumberEnd: 1958
    functionName: gtls_send_earlydata
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - Curl_bufq_peek
    - gnutls_record_send_early_data
    - DEBUGASSERT
    - Curl_bufq_skip
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_send_earlydata(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1978,1
    - Dst: gtls_connect_step1
      Src: /src/PROJ/curl/lib/vtls/gtls.c:1989,1
    - Dst: gtls_send_earlydata
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2001,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2006,1
    - Dst: cf_gtls_handshake
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2009,1
    - Dst: Curl_gtls_report_handshake
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2020,1
    - Dst: gtls_verifyserver
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2022,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2028,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2034,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2042,1
    - Dst: gnutls_session_get_flags
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2044,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2053,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2062,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 1970
    functionDepth: 11
    functionLinenumber: 1970
    functionLinenumberEnd: 2064
    functionName: gtls_connect_common
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - CURL_TRC_CF
    - gnutls_alpn_get_selected_protocol
    - gtls_send_earlydata
    - gtls_connect_step1
    - gnutls_session_get_flags
    - DEBUGASSERT
    - Curl_gtls_report_handshake
    - gtls_verifyserver
    - cf_gtls_handshake
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_connect_common(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtls_connect_common
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2066
    functionDepth: 12
    functionLinenumber: 2066
    functionLinenumberEnd: 2080
    functionName: gtls_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gtls_connect_common
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_connect(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2089,1
    - Dst: gnutls_record_check_pending
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2082
    functionDepth: 1
    functionLinenumber: 2082
    functionLinenumberEnd: 2095
    functionName: gtls_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - gnutls_record_check_pending
    linkageType: ''
    returnType: bool
    signature: "bool gtls_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2111,1
    - Dst: gnutls_record_send
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2116,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2120,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2121,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2140
    functionName: gtls_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_record_send
    - CURL_UNCONST
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_send(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          const void *buf,\n                          size_t
      blen,\n                          size_t *pnwritten)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2158,1
    - Dst: gnutls_bye
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2173,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2175,1
    - Dst: gnutls_record_get_direction
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2176,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2183,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2184,1
    - Dst: gnutls_record_recv
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2194,1
    - Dst: gnutls_record_get_direction
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2206,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2210,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2211,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2218
    functionName: gtls_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - CURL_TRC_CF
    - gnutls_record_recv
    - gnutls_record_get_direction
    - gnutls_bye
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool send_shutdown, bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2228,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2229,1
    - Dst: gnutls_deinit
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2231,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2235,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2243
    functionName: gtls_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_srp_free_client_credentials
    - CURL_TRC_CF
    - Curl_gtls_shared_creds_free
    - DEBUGASSERT
    - gnutls_deinit
    linkageType: ''
    returnType: void
    signature: "void gtls_close(struct Curl_cfilter *cf,\n                       struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2257,1
    - Dst: gnutls_record_recv
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2259,1
    - Dst: cf_gtls_handshake
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2270,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2276,1
    - Dst: gnutls_strerror
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2277,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2245
    functionDepth: 2
    functionLinenumber: 2245
    functionLinenumberEnd: 2287
    functionName: gtls_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - failf
    - CURL_TRC_CF
    - gnutls_record_recv
    - DEBUGASSERT
    - cf_gtls_handshake
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_recv(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          char *buf, size_t blen,\n                          size_t
      *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2291,1
    - Dst: gnutls_check_version
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2289
    functionDepth: 6
    functionLinenumber: 2289
    functionLinenumberEnd: 2292
    functionName: Curl_gtls_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - gnutls_check_version
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_gtls_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2302
    functionName: gtls_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_random(struct Curl_easy *data,\n                            unsigned
      char *entropy, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2310,1
    - Dst: sha256_update
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2311,1
    - Dst: sha256_digest
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tmp
    - tmplen
    - sha256sum
    - sha256len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2314
    functionName: gtls_sha256sum
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - sha256_digest
    - sha256_update
    - sha256_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_sha256sum(const unsigned char *tmp, /* input */\n                               size_t
      tmplen,\n                               unsigned char *sha256sum, /* output
      */\n                               size_t sha256len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2319
    functionName: gtls_cert_status_request
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gtls_cert_status_request(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/gtls.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2329
    functionName: gtls_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *gtls_get_internals(struct ssl_connect_data *connssl,\n                                CURLINFO
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Curl_mbedtlsthreadlock_thread_setup
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_thread_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Curl_mbedtlsthreadlock_thread_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_thread_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Curl_mbedtlsthreadlock_lock_function
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_lock_function(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: Curl_mbedtlsthreadlock_unlock_function
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_unlock_function(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __data__
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ECH_ENABLED
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECH_ENABLED(__data__)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: Curl_ssl_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: Curl_ssl_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: Curl_ssl_close_all
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_close_all(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: Curl_ssl_set_engine
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_set_engine(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: Curl_ssl_set_engine_default
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_set_engine_default(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: Curl_ssl_engines_list
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_engines_list(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: Curl_ssl_free_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_free_certinfo(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: Curl_ssl_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_random(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: Curl_ssl_cert_status_request
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cert_status_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: Curl_ssl_supports
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_supports(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Curl_ssl_cfilter_add
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cfilter_add(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: Curl_ssl_cfilter_remove
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cfilter_remove(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: Curl_ssl_cf_get_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cf_get_config(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: Curl_ssl_cf_get_primary_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cf_get_primary_config(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rustls_result_is_cert_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - rustls_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: map_error
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 11
    functionsReached:
    - rustls_result_is_cert_error
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode map_error(const rustls_result r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:79,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - rr
    - msg
    argTypes:
    - struct Curl_easy*
    - rustls_result
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: rustls_failf
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_error
    - failf
    linkageType: ''
    returnType: void
    signature: void rustls_failf(struct Curl_easy *data, const rustls_result rr, const
      char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: cr_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool cr_data_pending(struct Curl_cfilter *cf, const struct Curl_easy
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/rustls.c:109,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - userdata
    - buf
    - len
    - out_n
    argTypes:
    - void*
    - uint8_t*
    - uintptr_t
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: read_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 2
    functionsReached:
    - Curl_conn_cf_recv
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: int read_cb(void *userdata, uint8_t *buf, uintptr_t len, uintptr_t
      *out_n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/rustls.c:135,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - userdata
    - buf
    - len
    - out_n
    argTypes:
    - void*
    - uint8_t*
    - uintptr_t
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: write_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 2
    functionsReached:
    - Curl_conn_cf_send
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: int write_cb(void *userdata, const uint8_t *buf, uintptr_t len, uintptr_t
      *out_n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rustls_connection_read_tls
      Src: /src/PROJ/curl/lib/vtls/rustls.c:163,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:171,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/rustls.c:172,1
    - Dst: rustls_connection_process_new_packets
      Src: /src/PROJ/curl/lib/vtls/rustls.c:177,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:179,1
    - Dst: map_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 187
    functionName: tls_recv_more
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - failf
    - rustls_connection_process_new_packets
    - rustls_failf
    - rustls_connection_read_tls
    - map_error
    - curlx_strerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tls_recv_more(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data, CURLcode *err)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:206,1
    - Dst: tls_recv_more
      Src: /src/PROJ/curl/lib/vtls/rustls.c:212,1
    - Dst: rustls_connection_read
      Src: /src/PROJ/curl/lib/vtls/rustls.c:221,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:229,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:236,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 5
    argNames:
    - cf
    - data
    - plainbuf
    - plainlen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 260
    functionName: cr_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - tls_recv_more
    - rustls_failf
    - rustls_connection_read
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \       char *plainbuf, size_t plainlen, size_t *pnread)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rustls_connection_wants_write
      Src: /src/PROJ/curl/lib/vtls/rustls.c:273,1
    - Dst: rustls_connection_write_tls
      Src: /src/PROJ/curl/lib/vtls/rustls.c:274,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:277,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:283,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/rustls.c:284,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:288,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - rconn
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct rustls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 295
    functionName: cr_flush_out
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_connection_write_tls
    - failf
    - CURL_TRC_CF
    - curlx_strerror
    - rustls_connection_wants_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_flush_out(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                            struct rustls_connection *rconn)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:320,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:323,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:325,1
    - Dst: cr_flush_out
      Src: /src/PROJ/curl/lib/vtls/rustls.c:332,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:333,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:349,1
    - Dst: rustls_connection_write
      Src: /src/PROJ/curl/lib/vtls/rustls.c:350,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:352,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:357,1
    - Dst: cr_flush_out
      Src: /src/PROJ/curl/lib/vtls/rustls.c:363,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:379,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - cf
    - data
    - plainbuf
    - plainlen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 382
    functionName: cr_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - failf
    - rustls_failf
    - DEBUGASSERT
    - cr_flush_out
    - rustls_connection_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \       const void *plainbuf, size_t plainlen, size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userdata
    - params
    argTypes:
    - void*
    - rustls_verify_server_cert_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: cr_verify_none
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t cr_verify_none(void *userdata,\n               const rustls_verify_server_cert_params
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/vtls/rustls.c:399,1
    - Dst: fread
      Src: /src/PROJ/curl/lib/vtls/rustls.c:406,1
    - Dst: feof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:407,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/rustls.c:408,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/rustls.c:409,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/rustls.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - filename
    - out
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: read_file_into
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - feof
    - curlx_fopen
    - curlx_fclose
    - fread
    linkageType: ''
    returnType: int
    signature: "int read_file_into(const char *filename,\n               struct dynbuf
      *out)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rustls_default_crypto_provider_ciphersuites_len
      Src: /src/PROJ/curl/lib/vtls/rustls.c:427,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:433,1
    - Dst: rustls_default_crypto_provider_ciphersuites_get
      Src: /src/PROJ/curl/lib/vtls/rustls.c:438,1
    - Dst: rustls_supported_ciphersuite_protocol_version
      Src: /src/PROJ/curl/lib/vtls/rustls.c:439,1
    - Dst: Curl_cipher_suite_walk_str
      Src: /src/PROJ/curl/lib/vtls/rustls.c:456,1
    - Dst: rustls_default_crypto_provider_ciphersuites_get
      Src: /src/PROJ/curl/lib/vtls/rustls.c:461,1
    - Dst: rustls_supported_ciphersuite_get_suite
      Src: /src/PROJ/curl/lib/vtls/rustls.c:462,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:470,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:479,1
    - Dst: rustls_default_crypto_provider_ciphersuites_get
      Src: /src/PROJ/curl/lib/vtls/rustls.c:495,1
    - Dst: rustls_supported_ciphersuite_protocol_version
      Src: /src/PROJ/curl/lib/vtls/rustls.c:496,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 5
    argNames:
    - data
    - ciphers12
    - ciphers13
    - selected
    - selected_size
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - struct rustls_supported_ciphersuite**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 510
    functionName: cr_get_selected_ciphers
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - infof
    - rustls_supported_ciphersuite_get_suite
    - rustls_supported_ciphersuite_protocol_version
    - rustls_default_crypto_provider_ciphersuites_get
    - Curl_cipher_suite_walk_str
    - DEBUGASSERT
    - rustls_default_crypto_provider_ciphersuites_len
    linkageType: ''
    returnType: void
    signature: "void cr_get_selected_ciphers(struct Curl_easy *data,\n                        const
      char *ciphers12,\n                        const char *ciphers13,\n                        const
      struct rustls_supported_ciphersuite **selected,\n                        size_t
      *selected_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:519,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:521,1
    - Dst: Curl_tls_keylog_write
      Src: /src/PROJ/curl/lib/vtls/rustls.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - label
    - client_random
    - client_random_len
    - secret
    - secret_len
    argTypes:
    - struct rustls_str
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 6
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: cr_keylog_log_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write
    - curl_msnprintf
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cr_keylog_log_cb(struct rustls_str label,\n                 const
      uint8_t *client_random, size_t client_random_len,\n                 const uint8_t
      *secret, size_t secret_len)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: rustls_default_crypto_provider_ciphersuites_len
      Src: /src/PROJ/curl/lib/vtls/rustls.c:540,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:557,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/rustls.c:572,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:576,1
    - Dst: ECH_ENABLED
      Src: /src/PROJ/curl/lib/vtls/rustls.c:582,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:585,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/rustls.c:589,1
    - Dst: cr_get_selected_ciphers
      Src: /src/PROJ/curl/lib/vtls/rustls.c:595,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:600,1
    - Dst: rustls_crypto_provider_builder_new_from_default
      Src: /src/PROJ/curl/lib/vtls/rustls.c:605,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:608,1
    - Dst: rustls_crypto_provider_builder_set_cipher_suites
      Src: /src/PROJ/curl/lib/vtls/rustls.c:615,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:620,1
    - Dst: rustls_crypto_provider_builder_build
      Src: /src/PROJ/curl/lib/vtls/rustls.c:626,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:629,1
    - Dst: rustls_client_config_builder_new_custom
      Src: /src/PROJ/curl/lib/vtls/rustls.c:634,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:639,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:646,1
    - Dst: rustls_crypto_provider_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:649,1
    - Dst: rustls_crypto_provider_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:652,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 3
    argNames:
    - data
    - conn_config
    - config_builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct rustls_client_config_builder**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 655
    functionName: init_config_builder
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - failf
    - rustls_crypto_provider_builder_set_cipher_suites
    - FALLTHROUGH
    - rustls_failf
    - rustls_crypto_provider_free
    - rustls_crypto_provider_builder_build
    - rustls_client_config_builder_new_custom
    - ECH_ENABLED
    - rustls_crypto_provider_builder_free
    - cr_get_selected_ciphers
    - malloc
    - rustls_default_crypto_provider_ciphersuites_len
    - rustls_crypto_provider_builder_new_from_default
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder(struct Curl_easy *data,\n                    const
      struct ssl_primary_config *conn_config,\n                    struct rustls_client_config_builder
      **config_builder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/rustls.c:667,1
    - Dst: rustls_client_config_builder_set_alpn_protocols
      Src: /src/PROJ/curl/lib/vtls/rustls.c:669,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/PROJ/curl/lib/vtls/rustls.c:671,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - connssl
    - config_builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_connect_data*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 673
    functionName: init_config_builder_alpn
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_client_config_builder_set_alpn_protocols
    - infof
    - Curl_alpn_to_proto_str
    - strlen
    linkageType: ''
    returnType: void
    signature: "void init_config_builder_alpn(struct Curl_easy *data,\n                         const
      struct ssl_connect_data *connssl,\n                         struct rustls_client_config_builder
      *config_builder)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/rustls.c:685,1
    - Dst: read_file_into
      Src: /src/PROJ/curl/lib/vtls/rustls.c:686,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:687,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_add_crl
      Src: /src/PROJ/curl/lib/vtls/rustls.c:692,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/vtls/rustls.c:694,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/rustls.c:695,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:697,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - conn_config
    - builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct rustls_web_pki_server_cert_verifier_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 705
    functionName: init_config_builder_verifier_crl
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_web_pki_server_cert_verifier_builder_add_crl
    - failf
    - curlx_dyn_init
    - rustls_failf
    - read_file_into
    - curlx_dyn_free
    - curlx_dyn_uptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_verifier_crl(\n  struct Curl_easy *data,\n
      \ const struct ssl_primary_config *conn_config,\n  struct rustls_web_pki_server_cert_verifier_builder
      *builder)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rustls_root_cert_store_builder_new
      Src: /src/PROJ/curl/lib/vtls/rustls.c:720,1
    - Dst: rustls_root_cert_store_builder_add_pem
      Src: /src/PROJ/curl/lib/vtls/rustls.c:722,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:727,1
    - Dst: rustls_root_cert_store_builder_load_roots_from_file
      Src: /src/PROJ/curl/lib/vtls/rustls.c:734,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:738,1
    - Dst: rustls_root_cert_store_builder_build
      Src: /src/PROJ/curl/lib/vtls/rustls.c:745,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:747,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_new
      Src: /src/PROJ/curl/lib/vtls/rustls.c:754,1
    - Dst: init_config_builder_verifier_crl
      Src: /src/PROJ/curl/lib/vtls/rustls.c:757,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_build
      Src: /src/PROJ/curl/lib/vtls/rustls.c:765,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:768,1
    - Dst: rustls_client_config_builder_set_server_verifier
      Src: /src/PROJ/curl/lib/vtls/rustls.c:773,1
    - Dst: rustls_root_cert_store_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:777,1
    - Dst: rustls_root_cert_store_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:780,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:783,1
    - Dst: rustls_server_cert_verifier_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:786,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 5
    argNames:
    - data
    - builder
    - conn_config
    - ca_info_blob
    - ssl_cafile
    argTypes:
    - struct Curl_easy*
    - struct rustls_client_config_builder*
    - struct ssl_primary_config*
    - struct curl_blob*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 790
    functionName: init_config_builder_verifier
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_root_cert_store_free
    - rustls_client_config_builder_set_server_verifier
    - rustls_failf
    - rustls_server_cert_verifier_free
    - init_config_builder_verifier_crl
    - rustls_web_pki_server_cert_verifier_builder_free
    - rustls_root_cert_store_builder_load_roots_from_file
    - rustls_web_pki_server_cert_verifier_builder_new
    - rustls_root_cert_store_builder_build
    - rustls_root_cert_store_builder_new
    - rustls_web_pki_server_cert_verifier_builder_build
    - rustls_root_cert_store_builder_add_pem
    - rustls_root_cert_store_builder_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_verifier(struct Curl_easy *data,\n                             struct
      rustls_client_config_builder *builder,\n                             const struct
      ssl_primary_config *conn_config,\n                             const struct
      curl_blob *ca_info_blob,\n                             const char * const ssl_cafile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rustls_platform_server_cert_verifier
      Src: /src/PROJ/curl/lib/vtls/rustls.c:801,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:803,1
    - Dst: rustls_client_config_builder_set_server_verifier
      Src: /src/PROJ/curl/lib/vtls/rustls.c:808,1
    - Dst: rustls_server_cert_verifier_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - data
    - builder
    argTypes:
    - struct Curl_easy*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 816
    functionName: init_config_builder_platform_verifier
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_failf
    - rustls_client_config_builder_set_server_verifier
    - rustls_server_cert_verifier_free
    - rustls_platform_server_cert_verifier
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_platform_verifier(\n  struct Curl_easy
      *data,\n  struct rustls_client_config_builder *builder)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_open
      Src: /src/PROJ/curl/lib/vtls/rustls.c:824,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/PROJ/curl/lib/vtls/rustls.c:825,1
    - Dst: rustls_client_config_builder_set_key_log
      Src: /src/PROJ/curl/lib/vtls/rustls.c:829,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:833,1
    - Dst: Curl_tls_keylog_close
      Src: /src/PROJ/curl/lib/vtls/rustls.c:834,1
    - Dst: map_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - builder
    argTypes:
    - struct Curl_easy*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 839
    functionName: init_config_builder_keylog
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_open
    - rustls_failf
    - map_error
    - Curl_tls_keylog_enabled
    - rustls_client_config_builder_set_key_log
    - Curl_tls_keylog_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_keylog(struct Curl_easy *data,\n                           struct
      rustls_client_config_builder *builder)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:854,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:859,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/rustls.c:864,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/rustls.c:865,1
    - Dst: read_file_into
      Src: /src/PROJ/curl/lib/vtls/rustls.c:867,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:868,1
    - Dst: read_file_into
      Src: /src/PROJ/curl/lib/vtls/rustls.c:874,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:875,1
    - Dst: rustls_certified_key_build
      Src: /src/PROJ/curl/lib/vtls/rustls.c:880,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/vtls/rustls.c:880,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/rustls.c:881,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/vtls/rustls.c:882,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/rustls.c:883,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:886,1
    - Dst: rustls_certified_key_keys_match
      Src: /src/PROJ/curl/lib/vtls/rustls.c:891,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:893,1
    - Dst: rustls_client_config_builder_set_certified_key
      Src: /src/PROJ/curl/lib/vtls/rustls.c:901,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:905,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:911,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:912,1
    - Dst: rustls_certified_key_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:914,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - data
    - conn_config
    - ssl_config
    - builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct ssl_config_data*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 917
    functionName: init_config_builder_client_auth
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_dyn_init
    - rustls_failf
    - read_file_into
    - curlx_dyn_free
    - curlx_dyn_uptr
    - rustls_certified_key_keys_match
    - curlx_dyn_len
    - rustls_certified_key_free
    - rustls_client_config_builder_set_certified_key
    - rustls_certified_key_build
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_client_auth(struct Curl_easy *data,\n
      \                               const struct ssl_primary_config *conn_config,\n
      \                               const struct ssl_config_data *ssl_config,\n
      \                               struct rustls_client_config_builder *builder)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rustls_supported_hpke
      Src: /src/PROJ/curl/lib/vtls/rustls.c:925,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:934,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:942,1
    - Dst: rustls_client_config_builder_enable_ech_grease
      Src: /src/PROJ/curl/lib/vtls/rustls.c:948,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:950,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:961,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/vtls/rustls.c:966,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:968,1
    - Dst: Curl_dnscache_get
      Src: /src/PROJ/curl/lib/vtls/rustls.c:975,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:979,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:985,1
    - Dst: rustls_client_config_builder_enable_ech
      Src: /src/PROJ/curl/lib/vtls/rustls.c:993,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:998,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1005,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1008,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 3
    argNames:
    - data
    - connssl
    - builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_connect_data*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 1011
    functionName: init_config_builder_ech
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - failf
    - curlx_base64_decode
    - rustls_failf
    - rustls_client_config_builder_enable_ech
    - Curl_dnscache_get
    - rustls_client_config_builder_enable_ech_grease
    - Curl_resolv_unlink
    - rustls_supported_hpke
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_ech(struct Curl_easy *data,\n                        const
      struct ssl_connect_data *connssl,\n                        struct rustls_client_config_builder
      *builder)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1020,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1021,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1032,1
    - Dst: init_config_builder
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1035,1
    - Dst: init_config_builder_alpn
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1041,1
    - Dst: rustls_client_config_builder_dangerous_set_certificate_verifier
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1045,1
    - Dst: init_config_builder_platform_verifier
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1049,1
    - Dst: rustls_client_config_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1051,1
    - Dst: init_config_builder_verifier
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1056,1
    - Dst: rustls_client_config_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1062,1
    - Dst: init_config_builder_client_auth
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1068,1
    - Dst: rustls_client_config_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1073,1
    - Dst: ECH_ENABLED
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1079,1
    - Dst: init_config_builder_ech
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1080,1
    - Dst: rustls_client_config_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1082,1
    - Dst: init_config_builder_keylog
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1088,1
    - Dst: rustls_client_config_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1090,1
    - Dst: rustls_client_config_builder_build
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1094,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1098,1
    - Dst: rustls_client_config_builder_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1099,1
    - Dst: rustls_client_config_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1100,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1104,1
    - Dst: rustls_client_connection_new
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1105,1
    - Dst: rustls_failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1109,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1112,1
    - Dst: rustls_connection_set_userdata
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1113,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - backend
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct rustls_ssl_backend_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1014
    functionDepth: 5
    functionLinenumber: 1014
    functionLinenumberEnd: 1117
    functionName: cr_init_backend
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_client_config_free
    - init_config_builder_platform_verifier
    - init_config_builder_alpn
    - init_config_builder
    - Curl_ssl_cf_get_config
    - rustls_client_config_builder_free
    - init_config_builder_keylog
    - rustls_failf
    - rustls_client_connection_new
    - rustls_connection_set_userdata
    - Curl_ssl_cf_get_primary_config
    - rustls_client_config_builder_build
    - rustls_client_config_builder_dangerous_set_certificate_verifier
    - DEBUGASSERT
    - init_config_builder_client_auth
    - init_config_builder_verifier
    - ECH_ENABLED
    - init_config_builder_ech
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_init_backend(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                struct rustls_ssl_backend_data *const backend)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_connection_get_alpn_protocol
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1127,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cf
    - data
    - rconn
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct rustls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1129
    functionName: cr_set_negotiated_alpn
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_connection_get_alpn_protocol
    - Curl_alpn_set_negotiated
    linkageType: ''
    returnType: void
    signature: "void cr_set_negotiated_alpn(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n  const struct rustls_connection *rconn)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1149,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1151,1
    - Dst: cr_init_backend
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1155,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1157,1
    - Dst: rustls_connection_is_handshaking
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1172,1
    - Dst: cr_set_negotiated_alpn
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1178,1
    - Dst: cr_send
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1179,1
    - Dst: rustls_connection_get_protocol_version
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1190,1
    - Dst: rustls_connection_get_negotiated_ciphersuite_name
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1192,1
    - Dst: rustls_connection_get_negotiated_key_exchange_group_name
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1194,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1200,1
    - Dst: rustls_connection_get_peer_certificate
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1212,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1215,1
    - Dst: rustls_connection_get_peer_certificate
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1223,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1224,1
    - Dst: rustls_certificate_get_der
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1225,1
    - Dst: rustls_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1229,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1230,1
    - Dst: map_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1233,1
    - Dst: Curl_extract_certinfo
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1240,1
    - Dst: rustls_connection_wants_read
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1253,1
    - Dst: rustls_connection_wants_write
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1254,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1256,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1260,1
    - Dst: cr_send
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1261,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1263,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1273,1
    - Dst: tls_recv_more
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1274,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1276,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1292,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1136
    functionDepth: 9
    functionLinenumber: 1136
    functionLinenumberEnd: 1293
    functionName: cr_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - cr_send
    - CURL_TRC_CF
    - failf
    - Curl_extract_certinfo
    - cr_init_backend
    - rustls_connection_get_protocol_version
    - infof
    - rustls_error
    - Curl_ssl_init_certinfo
    - rustls_connection_get_negotiated_ciphersuite_name
    - rustls_connection_is_handshaking
    - DEBUGASSERT
    - rustls_connection_get_peer_certificate
    - rustls_connection_wants_write
    - rustls_connection_get_negotiated_key_exchange_group_name
    - tls_recv_more
    - cr_set_negotiated_alpn
    - map_error
    - rustls_connection_wants_read
    - rustls_certificate_get_der
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_connect(struct Curl_cfilter *cf,\n           struct Curl_easy
      *data, bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1304
    functionName: cr_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *\ncr_get_internals(struct ssl_connect_data *connssl,\n                 CURLINFO
      info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1317,1
    - Dst: rustls_connection_send_close_notify
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1330,1
    - Dst: cr_send
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1334,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1341,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1342,1
    - Dst: cr_recv
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1348,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1358,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1359,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1369
    functionName: cr_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_connection_send_close_notify
    - cr_send
    - CURL_TRC_CF
    - cr_recv
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_shutdown(struct Curl_cfilter *cf,\n            struct
      Curl_easy *data,\n            const bool send_shutdown, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1379,1
    - Dst: rustls_connection_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1381,1
    - Dst: rustls_client_config_free
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1388
    functionName: cr_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_client_config_free
    - rustls_connection_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cr_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_version
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1392,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1390
    functionDepth: 6
    functionLinenumber: 1390
    functionLinenumberEnd: 1394
    functionName: cr_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - rustls_version
    linkageType: ''
    returnType: size_t
    signature: size_t cr_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_default_crypto_provider_random
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1402,1
    - Dst: map_error
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1404
    functionName: cr_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - map_error
    - rustls_default_crypto_provider_random
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_random(struct Curl_easy *data, unsigned char *entropy,
      size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_close
      Src: /src/PROJ/curl/lib/vtls/rustls.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1409
    functionName: cr_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_close
    linkageType: ''
    returnType: void
    signature: void cr_cleanup(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/vtls/keylog.c:51,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/vtls/keylog.c:53,1
    - Dst: setvbuf
      Src: /src/PROJ/curl/lib/vtls/keylog.c:56,1
    - Dst: setvbuf
      Src: /src/PROJ/curl/lib/vtls/keylog.c:58,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/keylog.c:61,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/keylog.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: Curl_tls_keylog_open
    functionSourceFile: /src/PROJ/curl/lib/vtls/keylog.c
    functionUses: 3
    functionsReached:
    - curlx_fopen
    - setvbuf
    - Curl_safefree
    - curl_getenv
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void Curl_tls_keylog_open(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/keylog.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: Curl_tls_keylog_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/keylog.c
    functionUses: 3
    functionsReached:
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void Curl_tls_keylog_close(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Curl_tls_keylog_enabled
    functionSourceFile: /src/PROJ/curl/lib/vtls/keylog.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_tls_keylog_enabled(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/keylog.c:96,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/keylog.c:102,1
    - Dst: fputs
      Src: /src/PROJ/curl/lib/vtls/keylog.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: Curl_tls_keylog_write_line
    functionSourceFile: /src/PROJ/curl/lib/vtls/keylog.c
    functionUses: 0
    functionsReached:
    - fputs
    - strlen
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Curl_tls_keylog_write_line(const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/keylog.c:127,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/keylog.c:133,1
    - Dst: Curl_hexbyte
      Src: /src/PROJ/curl/lib/vtls/keylog.c:138,1
    - Dst: Curl_hexbyte
      Src: /src/PROJ/curl/lib/vtls/keylog.c:145,1
    - Dst: fputs
      Src: /src/PROJ/curl/lib/vtls/keylog.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - label
    - client_random
    - secret
    - secretlen
    argTypes:
    - char*
    - unsigned char[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 155
    functionName: Curl_tls_keylog_write
    functionSourceFile: /src/PROJ/curl/lib/vtls/keylog.c
    functionUses: 4
    functionsReached:
    - fputs
    - Curl_hexbyte
    - strlen
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool Curl_tls_keylog_write(const char *label,\n                      const
      unsigned char client_random[CLIENT_RANDOM_SIZE],\n                      const
      unsigned char *secret, size_t secretlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: SCH_DEV
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: SCH_DEV_SHOWBOOL
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV_SHOWBOOL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SCH_DEV
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: SCH_DEV_SHOWBOOL
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV_SHOWBOOL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buffer
    - BufType
    - BufDataPtr
    - BufByteSize
    argTypes:
    - SecBuffer*
    - unsigned long
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: InitSecBuffer
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InitSecBuffer(SecBuffer *buffer, unsigned long BufType,\n                          void
      *BufDataPtr, unsigned long BufByteSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - desc
    - BufArr
    - NumArrElem
    argTypes:
    - SecBufferDesc*
    - SecBuffer*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: InitSecBufferDesc
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InitSecBufferDesc(SecBufferDesc *desc, SecBuffer *BufArr,\n                              unsigned
      long NumArrElem)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:177,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:190,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:214,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - enabled_protocols
    - cf
    - data
    argTypes:
    - DWORD*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 226
    functionName: schannel_set_ssl_version_min_max
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_verify_windows_version
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_set_ssl_version_min_max(DWORD *enabled_protocols,\n
      \                                struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: CIPHEROPTION
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHEROPTION(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vtls/schannel.c:346,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel.c:347,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel.c:351,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: get_alg_id_by_name
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int get_alg_id_by_name(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vtls/schannel.c:367,1
    - Dst: get_alg_id_by_name
      Src: /src/PROJ/curl/lib/vtls/schannel.c:368,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:372,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:374,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vtls/schannel.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - schannel_cred
    - ciphers
    - algIds
    argTypes:
    - SCHANNEL_CRED*
    - char*
    - ALG_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: set_ssl_ciphers
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - get_alg_id_by_name
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_ssl_ciphers(SCHANNEL_CRED *schannel_cred, char *ciphers,\n
      \               ALG_ID *algIds)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _tcschr
      Src: /src/PROJ/curl/lib/vtls/schannel.c:398,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:398,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:404,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:404,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:406,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:406,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:408,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:408,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:410,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:410,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:412,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:412,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:414,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:414,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:417,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:417,1
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:420,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:420,1
    - Dst: _tcschr
      Src: /src/PROJ/curl/lib/vtls/schannel.c:428,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:428,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/vtls/schannel.c:433,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:436,1
    - Dst: Curl_tcsdup
      Src: /src/PROJ/curl/lib/vtls/schannel.c:437,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - path
    - store_name
    - store_path
    - thumbprint
    argTypes:
    - TCHAR*
    - DWORD*
    - TCHAR**
    - TCHAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 443
    functionName: get_cert_location
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - _tcsncmp
    - _tcslen
    - _tcschr
    - Curl_tcsdup
    - TEXT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode get_cert_location(TCHAR *path, DWORD *store_name, TCHAR **store_path,\n
      \                 TCHAR **thumbprint)"
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:451,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:452,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:466,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:478,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:478,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:485,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:485,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:490,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:490,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:498,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:498,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:504,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:504,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:512,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:515,1
    - Dst: schannel_set_ssl_version_min_max
      Src: /src/PROJ/curl/lib/vtls/schannel.c:525,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:532,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:535,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/vtls/schannel.c:558,1
    - Dst: get_cert_location
      Src: /src/PROJ/curl/lib/vtls/schannel.c:563,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/vtls/schannel.c:567,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:570,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:573,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/schannel.c:579,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:580,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:583,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/schannel.c:585,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:600,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/vtls/schannel.c:603,1
    - Dst: ftell
      Src: /src/PROJ/curl/lib/vtls/schannel.c:605,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/vtls/schannel.c:611,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:613,1
    - Dst: fread
      Src: /src/PROJ/curl/lib/vtls/schannel.c:615,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/schannel.c:617,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:619,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:621,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/schannel.c:631,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:632,1
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/curl/lib/vtls/schannel.c:635,1
    - Dst: PFXImportCertStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:647,1
    - Dst: PFXImportCertStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:650,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:652,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:655,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel.c:657,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:659,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:663,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:671,1
    - Dst: CertFindCertificateInStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:677,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:682,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel.c:684,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:685,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/PROJ/curl/lib/vtls/schannel.c:703,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:704,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/schannel.c:708,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:709,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:710,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:711,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:714,1
    - Dst: CryptStringToBinary
      Src: /src/PROJ/curl/lib/vtls/schannel.c:719,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:725,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:726,1
    - Dst: CertFindCertificateInStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:730,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:734,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:738,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:739,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:749,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:751,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:754,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:756,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:771,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/schannel.c:778,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vtls/schannel.c:799,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:800,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:817,1
    - Dst: set_ssl_ciphers
      Src: /src/PROJ/curl/lib/vtls/schannel.c:821,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:823,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:825,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vtls/schannel.c:839,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:840,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:847,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:851,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:852,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 222
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 446
    functionDepth: 7
    functionLinenumber: 446
    functionLinenumberEnd: 867
    functionName: schannel_acquire_credential_handle
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - AcquireCredentialsHandle
    - failf
    - MultiByteToWideChar
    - CryptStringToBinary
    - curlx_convert_UTF8_to_tchar
    - CURL_UNCONST
    - fseek
    - fread
    - CertCloseStore
    - infof
    - DEBUGF
    - ftell
    - CertFindCertificateInStore
    - schannel_set_ssl_version_min_max
    - curlx_fopen
    - memset
    - strlen
    - GetLastError
    - curlx_fclose
    - PFXImportCertStore
    - set_ssl_ciphers
    - calloc
    - DEBUGASSERT
    - curl_strequal
    - curlx_unicodefree
    - curlx_verify_windows_version
    - free
    - curlx_convert_tchar_to_UTF8
    - CertFreeCertificateContext
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_get_primary_config
    - get_cert_location
    - malloc
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_acquire_credential_handle(struct Curl_cfilter *cf,\n
      \                                  struct Curl_easy *data)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:877,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:879,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:890,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:891,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:891,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:895,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:899,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:915,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:920,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/schannel.c:932,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/schannel.c:934,1
    - Dst: Curl_ssl_scache_get_obj
      Src: /src/PROJ/curl/lib/vtls/schannel.c:935,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:938,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:938,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:942,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:942,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/schannel.c:946,1
    - Dst: schannel_acquire_credential_handle
      Src: /src/PROJ/curl/lib/vtls/schannel.c:951,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/vtls/schannel.c:960,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:967,1
    - Dst: Curl_alpn_to_proto_buf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:996,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:998,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1001,1
    - Dst: curlx_uitous
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1004,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1008,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1009,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1011,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1012,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1015,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1016,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1019,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1020,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1024,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1025,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1038,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1040,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1051,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1060,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1063,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1064,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1067,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1068,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1082,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1083,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1088,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1088,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1092,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1095,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1097,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1102,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1102,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 120
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 869
    functionDepth: 8
    functionLinenumber: 869
    functionLinenumberEnd: 1116
    functionName: schannel_connect_step1
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_scache_unlock
    - failf
    - Curl_ssl_scache_use
    - schannel_acquire_credential_handle
    - curlx_convert_UTF8_to_tchar
    - InitializeSecurityContext
    - curlx_uitous
    - infof
    - DEBUGF
    - memcpy
    - InitSecBuffer
    - InitSecBufferDesc
    - Curl_conn_cf_send
    - Curl_alpn_to_proto_buf
    - calloc
    - DEBUGASSERT
    - Curl_alpn_to_proto_str
    - Curl_ssl_scache_get_obj
    - curlx_verify_windows_version
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_get_primary_config
    - Curl_safefree
    - FreeContextBuffer
    - Curl_ssl_scache_lock
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode schannel_connect_step1(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1124,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1125,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1128,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1129,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1132,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1133,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1147,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - data
    - sspi_status
    argTypes:
    - struct Curl_easy*
    - SECURITY_STATUS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1118
    functionDepth: 7
    functionLinenumber: 1118
    functionLinenumberEnd: 1151
    functionName: schannel_error
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_error(struct Curl_easy *data,\n                               SECURITY_STATUS
      sspi_status)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1159,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1172,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1177,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1177,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1188,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1190,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1200,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1202,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1213,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1217,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1229,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1238,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1238,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1243,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1243,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1248,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1256,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1256,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1260,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1260,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1265,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1265,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1266,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1267,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1268,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1271,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1272,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1273,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1274,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1277,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1282,1
    - Dst: SOCKET_WRITABLE
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1289,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1289,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1290,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1290,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1292,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1296,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1303,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1310,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1310,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1321,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1321,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1325,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1329,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1338,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1352,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1352,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1356,1
    - Dst: schannel_error
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1359,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1364,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1364,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1379,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1404,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1404,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1408,1
    - Dst: schannel_pkp_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1415,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1417,1
    - Dst: Curl_verify_certificate
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1424,1
    - Dst: Curl_verify_host
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1430,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 153
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1153
    functionDepth: 9
    functionLinenumber: 1153
    functionLinenumberEnd: 1433
    functionName: schannel_connect_step2
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - schannel_error
    - failf
    - FALLTHROUGH
    - SOCKET_WRITABLE
    - Curl_ssl_cf_is_proxy
    - SCH_DEV
    - Curl_verify_host
    - Curl_conn_cf_recv
    - InitializeSecurityContext
    - schannel_pkp_pin_peer_pubkey
    - infof
    - DEBUGF
    - memcpy
    - InitSecBuffer
    - FreeContextBuffer
    - InitSecBufferDesc
    - curlx_uztoul
    - Curl_conn_cf_send
    - realloc
    - memmove
    - DEBUGASSERT
    - Curl_verify_certificate
    - Curl_conn_cf_get_socket
    - free
    - Curl_ssl_cf_get_primary_config
    - Curl_safefree
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode schannel_connect_step2(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cert_context
    argTypes:
    - CERT_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1442
    functionName: valid_cert_encoding
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_cert_encoding(const CERT_CONTEXT *cert_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CertEnumCertificatesInStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1456,1
    - Dst: func
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1466,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - context
    - func
    - arg
    argTypes:
    - CERT_CONTEXT*
    - Read_crt_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1472
    functionName: traverse_cert_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - CertEnumCertificatesInStore
    - CertFreeCertificateContext
    - func
    linkageType: ''
    returnType: void
    signature: "void traverse_cert_store(const CERT_CONTEXT *context, Read_crt_func
      func,\n                    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_cert_encoding
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ccert_context
    - reverse_order
    - certs_count
    argTypes:
    - CERT_CONTEXT*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1482
    functionName: cert_counter_callback
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - valid_cert_encoding
    linkageType: ''
    returnType: bool
    signature: "bool cert_counter_callback(const CERT_CONTEXT *ccert_context, bool
      reverse_order,\n                      void *certs_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_cert_encoding
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1498,1
    - Dst: Curl_extract_certinfo
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ccert_context
    - reverse_order
    - raw_arg
    argTypes:
    - CERT_CONTEXT*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1492
    functionDepth: 9
    functionLinenumber: 1492
    functionLinenumberEnd: 1508
    functionName: add_cert_to_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_extract_certinfo
    - valid_cert_encoding
    linkageType: ''
    returnType: bool
    signature: "bool add_cert_to_certinfo(const CERT_CONTEXT *ccert_context, bool
      reverse_order,\n                     void *raw_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1518,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1519,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1521,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sessionid
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1527
    functionName: schannel_session_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - CertCloseStore
    - curlx_unicodefree
    - FreeCredentialsHandle
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void schannel_session_free(void *sessionid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1542,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1543,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1545,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1545,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1555,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1557,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1559,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1561,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1563,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1570,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1575,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1583,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1588,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1591,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1596,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1602,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1603,1
    - Dst: Curl_ssl_scache_add_obj
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1606,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1608,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1616,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1621,1
    - Dst: traverse_cert_store
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1625,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1627,1
    - Dst: traverse_cert_store
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1634,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1637,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1645
    functionName: schannel_connect_step3
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_init_certinfo
    - infof
    - DEBUGF
    - strncmp
    - failf
    - Curl_ssl_scache_unlock
    - traverse_cert_store
    - CertFreeCertificateContext
    - Curl_ssl_scache_use
    - Curl_ssl_scache_add_obj
    - DEBUGASSERT
    - Curl_alpn_set_negotiated
    - QueryContextAttributes
    - Curl_ssl_scache_lock
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode schannel_connect_step3(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: schannel_connect_step1
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1663,1
    - Dst: schannel_connect_step2
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1669,1
    - Dst: schannel_connect_step3
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1675,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1647
    functionDepth: 10
    functionLinenumber: 1647
    functionLinenumberEnd: 1701
    functionName: schannel_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - schannel_connect_step2
    - schannel_connect_step3
    - schannel_connect_step1
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *done)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1727,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1730,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1732,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1732,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1734,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1734,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1736,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1739,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1744,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1745,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1746,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1749,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1751,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1760,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1760,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1762,1
    - Dst: schannel_connect
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1773,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1790,1
    - Dst: SCH_DEV_SHOWBOOL
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1814,1
    - Dst: SCH_DEV_SHOWBOOL
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1815,1
    - Dst: SCH_DEV_SHOWBOOL
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1816,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1822,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1827,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1827,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1829,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1836,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1854,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1854,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1860,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1863,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1863,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1870,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1870,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1877,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1885,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1892,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1894,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 102
    argCount: 3
    argNames:
    - cf
    - data
    - caller
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - enum schannel_renegotiate_caller_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1715
    functionDepth: 11
    functionLinenumber: 1715
    functionLinenumberEnd: 1897
    functionName: schannel_recv_renegotiate
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_conn_cf_get_socket
    - schannel_connect
    - failf
    - curlx_now
    - Curl_pgrsUpdate
    - Curl_timeleft
    - curlx_timediff
    - Curl_socket_check
    - memset
    - SCH_DEV
    - DEBUGASSERT
    - SCH_DEV_SHOWBOOL
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_recv_renegotiate(struct Curl_cfilter *cf, struct
      Curl_easy *data,\n                          enum schannel_renegotiate_caller_t
      caller)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1913,1
    - Dst: schannel_recv_renegotiate
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1917,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1924,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1941,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1947,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1949,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1950,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1951,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1954,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1955,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1958,1
    - Dst: EncryptMessage
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1961,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1990,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:1993,1
    - Dst: SOCKET_WRITABLE
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2000,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2000,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2003,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2008,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2015,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2034,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 1899
    functionDepth: 12
    functionLinenumber: 1899
    functionLinenumberEnd: 2042
    functionName: schannel_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - schannel_recv_renegotiate
    - curlx_uztoul
    - memcpy
    - failf
    - Curl_conn_cf_send
    - InitSecBuffer
    - EncryptMessage
    - Curl_timeleft
    - SOCKET_WRITABLE
    - DEBUGASSERT
    - Curl_safefree
    - malloc
    - QueryContextAttributes
    - InitSecBufferDesc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \             const void *buf, size_t len, size_t *pnwritten)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2063,1
    - Dst: schannel_recv_renegotiate
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2067,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2088,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2088,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2091,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2091,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2097,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2102,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2119,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2123,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2130,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2130,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2134,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2134,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2139,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2145,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2145,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2147,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2149,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2153,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2153,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2158,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2158,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2162,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2162,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2170,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2171,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2174,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2175,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2176,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2177,1
    - Dst: DecryptMessage
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2181,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2191,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2191,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2205,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2209,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2219,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2224,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2224,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2225,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2225,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2232,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2232,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2241,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2247,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2247,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2258,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2260,1
    - Dst: schannel_recv_renegotiate
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2265,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2285,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2294,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2294,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2300,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2301,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2308,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2308,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2311,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2311,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2316,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2316,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2327,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2336,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2337,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2340,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2340,1
    - Dst: SCH_DEV
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2341,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2341,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 173
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2044
    functionDepth: 12
    functionLinenumber: 2044
    functionLinenumberEnd: 2359
    functionName: schannel_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - infof
    - schannel_recv_renegotiate
    - DEBUGF
    - failf
    - curlx_uztoul
    - memcpy
    - InitSecBuffer
    - DecryptMessage
    - realloc
    - Curl_sspi_strerror
    - memmove
    - SCH_DEV
    - DEBUGASSERT
    - Curl_conn_cf_recv
    - InitSecBufferDesc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \             char *buf, size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2361
    functionDepth: 1
    functionLinenumber: 2361
    functionLinenumberEnd: 2379
    functionName: schannel_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool schannel_data_pending(struct Curl_cfilter *cf,\n                                  const
      struct Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2401,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2402,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2409,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2426,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2427,1
    - Dst: ApplyControlToken
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2429,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2434,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2435,1
    - Dst: InitSecBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2441,1
    - Dst: InitSecBufferDesc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2442,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2444,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2461,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2464,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2468,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2469,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2483,1
    - Dst: schannel_recv
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2501,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2506,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2384
    functionDepth: 13
    functionLinenumber: 2384
    functionLinenumberEnd: 2522
    functionName: schannel_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_conn_cf_send
    - schannel_recv
    - failf
    - InitializeSecurityContext
    - CURL_TRC_CF
    - InitSecBuffer
    - Curl_sspi_strerror
    - curl_easy_strerror
    - DEBUGASSERT
    - FreeContextBuffer
    - ApplyControlToken
    - InitSecBufferDesc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_shutdown(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool send_shutdown, bool
      *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2530,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2531,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2535,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2535,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2536,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2537,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2542,1
    - Dst: schannel_session_free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2543,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2544,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2550,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2524
    functionDepth: 2
    functionLinenumber: 2524
    functionLinenumberEnd: 2562
    functionName: schannel_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - schannel_session_free
    - Curl_ssl_scache_unlock
    - DEBUGASSERT
    - DeleteSecurityContext
    - Curl_safefree
    - Curl_ssl_scache_lock
    linkageType: ''
    returnType: void
    signature: void schannel_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2573,1
    - Dst: GetProcAddress
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2574,1
    - Dst: GetModuleHandleA
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2574,1
    - Dst: p_wine_get_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2580,1
    - Dst: atoi
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2582,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2586,1
    - Dst: Curl_sspi_global_init
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2592
    functionName: schannel_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - p_wine_get_version
    - GetProcAddress
    - Curl_sspi_global_init
    - curlx_verify_windows_version
    - CURLX_FUNCTION_CAST
    - atoi
    - GetModuleHandleA
    linkageType: ''
    returnType: int
    signature: int schannel_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sspi_global_cleanup
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2594
    functionDepth: 1
    functionLinenumber: 2594
    functionLinenumberEnd: 2597
    functionName: schannel_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_sspi_global_cleanup
    linkageType: ''
    returnType: void
    signature: void schannel_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2599
    functionDepth: 6
    functionLinenumber: 2599
    functionLinenumberEnd: 2602
    functionName: schannel_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t schannel_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_win32_random
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2610
    functionName: schannel_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_win32_random
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_random(struct Curl_easy *data,\n                                unsigned
      char *entropy, size_t length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2624,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2638,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2644,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2645,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2656,1
    - Dst: Curl_parseX509
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2657,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2662,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2666,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2671,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2676,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - cf
    - data
    - pinnedpubkey
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2612
    functionDepth: 7
    functionLinenumber: 2612
    functionLinenumberEnd: 2679
    functionName: schannel_pkp_pin_peer_pubkey
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 1
    functionsReached:
    - Curl_pin_peer_pubkey
    - failf
    - CertFreeCertificateContext
    - memset
    - Curl_parseX509
    - DEBUGASSERT
    - QueryContextAttributes
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_pkp_pin_peer_pubkey(struct Curl_cfilter *cf,\n                                             struct
      Curl_easy *data,\n                                             const char *pinnedpubkey)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2697,1
    - Dst: CryptAcquireContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2699,1
    - Dst: CryptCreateHash
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2704,1
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2709,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2709,1
    - Dst: CryptHashData
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2711,1
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2716,1
    - Dst: CryptGetHashParam
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2724,1
    - Dst: CryptDestroyHash
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2729,1
    - Dst: CryptReleaseContext
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2732,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 6
    argNames:
    - input
    - inputlen
    - checksum
    - checksumlen
    - provType
    - algId
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - DWORD
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2733
    functionName: schannel_checksum
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - CryptDestroyHash
    - CryptAcquireContext
    - CryptHashData
    - CryptCreateHash
    - memset
    - CURL_UNCONST
    - CryptGetHashParam
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: "void schannel_checksum(const unsigned char *input,\n                              size_t
      inputlen,\n                              unsigned char *checksum,\n                              size_t
      checksumlen,\n                              DWORD provType,\n                              const
      unsigned int algId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schannel_checksum
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - input
    - inputlen
    - sha256sum
    - sha256len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2735
    functionDepth: 2
    functionLinenumber: 2735
    functionLinenumberEnd: 2743
    functionName: schannel_sha256sum
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - schannel_checksum
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_sha256sum(const unsigned char *input,\n                                   size_t
      inputlen,\n                                   unsigned char *sha256sum,\n                                   size_t
      sha256len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2753
    functionName: schannel_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *schannel_get_internals(struct ssl_connect_data *connssl,\n                                    CURLINFO
      info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2758,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2768,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2774,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2775,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2791,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2792,1
    - Dst: schannel_sha256sum
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2802,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2806,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2813,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2755
    functionDepth: 3
    functionLinenumber: 2755
    functionLinenumberEnd: 2819
    functionName: Curl_schannel_get_cached_cert_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 1
    functionsReached:
    - curlx_now
    - Curl_hash_pick
    - strcmp
    - curlx_timediff
    - Curl_ssl_cf_get_primary_config
    - schannel_sha256sum
    - CURL_UNCONST
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: HCERTSTORE
    signature: "HCERTSTORE Curl_schannel_get_cached_cert_store(struct Curl_cfilter
      *cf,\n                                               const struct Curl_easy
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2824,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2825,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2825,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2829,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2831,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2821
    functionDepth: 1
    functionLinenumber: 2821
    functionLinenumberEnd: 2833
    functionName: schannel_cert_share_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - free
    - CertCloseStore
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void schannel_cert_share_free(void *key, size_t key_len, void *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2839,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2846,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2852,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2853,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2856,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2860,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2861,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2864,1
    - Dst: schannel_sha256sum
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2870,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2878,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2887,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2889,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/schannel.c:2891,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - cf
    - data
    - cert_store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - HCERTSTORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2835
    functionDepth: 3
    functionLinenumber: 2835
    functionLinenumberEnd: 2896
    functionName: Curl_schannel_set_cached_cert_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/schannel.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_now
    - Curl_hash_pick
    - Curl_ssl_cf_get_primary_config
    - Curl_hash_add2
    - schannel_sha256sum
    - CURL_UNCONST
    - calloc
    - DEBUGASSERT
    - strdup
    - CertCloseStore
    linkageType: ''
    returnType: bool
    signature: "bool Curl_schannel_set_cached_cert_store(struct Curl_cfilter *cf,\n
      \                                        const struct Curl_easy *data,\n                                         HCERTSTORE
      cert_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: GOOD_SCACHE
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_SCACHE(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:94,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:95,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: cf_ssl_scache_get
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - failf
    - DEBUGASSERT
    - GOOD_SCACHE
    linkageType: ''
    returnType: struct Curl_ssl_scache
    signature: struct Curl_ssl_scache *cf_ssl_scache_get(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:107,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:107,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:108,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:108,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:109,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - udata
    - obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: cf_ssl_scache_session_ldestroy
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void cf_ssl_scache_session_ldestroy(void *udata, void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_session_create2
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - sdata
    - sdata_len
    - ietf_tls_id
    - alpn
    - valid_until
    - earlydata_max
    - psession
    argTypes:
    - void*
    - size_t
    - int
    - char*
    - curl_off_t
    - size_t
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: Curl_ssl_session_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_create2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_create(void *sdata, size_t sdata_len,\n
      \                       int ietf_tls_id, const char *alpn,\n                        curl_off_t
      valid_until, size_t earlydata_max,\n                        struct Curl_ssl_session
      **psession)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:134,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:139,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:141,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:142,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:154,1
    - Dst: cf_ssl_scache_session_ldestroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - sdata
    - sdata_len
    - ietf_tls_id
    - alpn
    - valid_until
    - earlydata_max
    - quic_tp
    - quic_tp_len
    - psession
    argTypes:
    - void*
    - size_t
    - int
    - char*
    - curl_off_t
    - size_t
    - unsigned char*
    - size_t
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 162
    functionName: Curl_ssl_session_create2
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 3
    functionsReached:
    - cf_ssl_scache_session_ldestroy
    - free
    - calloc
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_create2(void *sdata, size_t sdata_len,\n
      \                        int ietf_tls_id, const char *alpn,\n                         curl_off_t
      valid_until, size_t earlydata_max,\n                         unsigned char *quic_tp,
      size_t quic_tp_len,\n                         struct Curl_ssl_session **psession)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_llist
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:168,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:169,1
    - Dst: cf_ssl_scache_session_ldestroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: Curl_ssl_session_destroy
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - cf_ssl_scache_session_ldestroy
    - Curl_node_llist
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_session_destroy(struct Curl_ssl_session *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:178,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:180,1
    - Dst: struct Curl_ssl_scache_peer*::sobj_free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:182,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:186,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:188,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:189,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: cf_ssl_scache_clear_peer
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - struct Curl_ssl_scache_peer*::sobj_free
    - Curl_llist_destroy
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void cf_ssl_scache_clear_peer(struct Curl_ssl_scache_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:200,1
    - Dst: struct Curl_ssl_scache_peer*::sobj_free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - peer
    - sobj
    - sobj_free
    argTypes:
    - struct Curl_ssl_scache_peer*
    - void*
    - Curl_ssl_scache_obj_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: cf_ssl_scache_peer_set_obj
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - struct Curl_ssl_scache_peer*::sobj_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cf_ssl_scache_peer_set_obj(struct Curl_ssl_scache_peer *peer,\n
      \                                      void *sobj,\n                                       Curl_ssl_scache_obj_dtor
      *sobj_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_peer_key_is_global
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: cf_ssl_cache_peer_update
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_ssl_peer_key_is_global
    linkageType: ''
    returnType: void
    signature: void cf_ssl_cache_peer_update(struct Curl_ssl_scache_peer *peer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:232,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:234,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:240,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:241,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:249,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:254,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:259,1
    - Dst: cf_ssl_cache_peer_update
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:264,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:268,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 7
    argNames:
    - peer
    - ssl_peer_key
    - clientcert
    - srp_username
    - srp_password
    - salt
    - hmac
    argTypes:
    - struct Curl_ssl_scache_peer*
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 270
    functionName: cf_ssl_scache_peer_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cf_ssl_cache_peer_update
    - DEBUGASSERT
    - cf_ssl_scache_clear_peer
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_scache_peer_init(struct Curl_ssl_scache_peer *peer,\n
      \                       const char *ssl_peer_key,\n                        const
      char *clientcert,\n                        const char *srp_username,\n                        const
      char *srp_password,\n                        const unsigned char *salt,\n                        const
      unsigned char *hmac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:276,1
    - Dst: Curl_node_llist
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:276,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - peer
    - s
    argTypes:
    - struct Curl_ssl_scache_peer*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: cf_scache_session_remove
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_destroy
    - DEBUGASSERT
    - Curl_node_llist
    linkageType: ''
    returnType: void
    signature: "void cf_scache_session_remove(struct Curl_ssl_scache_peer *peer,\n
      \                                    struct Curl_ssl_session *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - now
    argTypes:
    - struct Curl_ssl_session*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: cf_scache_session_expired
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cf_scache_session_expired(struct Curl_ssl_session *s,\n                                      curl_off_t
      now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:289,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:291,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:292,1
    - Dst: cf_scache_session_expired
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:293,1
    - Dst: cf_scache_session_remove
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - now
    argTypes:
    - struct Curl_ssl_scache_peer*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 6
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: cf_scache_peer_remove_expired
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_scache_session_remove
    - cf_scache_session_expired
    - Curl_node_next
    - Curl_llist_head
    - Curl_node_elem
    linkageType: ''
    returnType: void
    signature: "void cf_scache_peer_remove_expired(struct Curl_ssl_scache_peer *peer,\n
      \                                         curl_off_t now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:300,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:302,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:303,1
    - Dst: cf_scache_session_remove
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: cf_scache_peer_remove_non13
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_scache_session_remove
    - Curl_node_next
    - Curl_node_elem
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: void cf_scache_peer_remove_non13(struct Curl_ssl_scache_peer *peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:318,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:322,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:324,1
    - Dst: Curl_llist_init
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - max_peers
    - max_sessions_per_peer
    - pscache
    argTypes:
    - size_t
    - size_t
    - struct Curl_ssl_scache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 341
    functionName: Curl_ssl_scache_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - free
    - calloc
    - Curl_llist_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_create(size_t max_peers,\n                                size_t
      max_sessions_per_peer,\n                                struct Curl_ssl_scache
      **pscache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:345,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:349,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:351,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - scache
    argTypes:
    - struct Curl_ssl_scache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: Curl_ssl_scache_destroy
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 4
    functionsReached:
    - free
    - cf_ssl_scache_clear_peer
    - GOOD_SCACHE
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_scache_destroy(struct Curl_ssl_scache *scache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:358,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: Curl_ssl_scache_use
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 4
    functionsReached:
    - Curl_ssl_cf_get_config
    - cf_ssl_scache_get
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_scache_use(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SHARE_ssl_scache
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:368,1
    - Dst: Curl_share_lock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: Curl_ssl_scache_lock
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 3
    functionsReached:
    - Curl_share_lock
    - CURL_SHARE_ssl_scache
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_scache_lock(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SHARE_ssl_scache
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:375,1
    - Dst: Curl_share_unlock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: Curl_ssl_scache_unlock
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 3
    functionsReached:
    - Curl_share_unlock
    - CURL_SHARE_ssl_scache
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_scache_unlock(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:391,1
    - Dst: _fullpath
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:394,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:395,1
    - Dst: realpath
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:399,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:401,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - name
    - path
    - is_local
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 411
    functionName: cf_ssl_peer_key_add_path
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - realpath
    - _fullpath
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_peer_key_add_path(struct dynbuf *buf,\n                                         const
      char *name,\n                                         const char *path,\n                                         bool
      *is_local)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:422,1
    - Dst: Curl_sha256it
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:425,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - name
    - blob
    argTypes:
    - struct dynbuf*
    - char*
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 436
    functionName: cf_ssl_peer_key_add_hash
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_sha256it
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_peer_key_add_hash(struct dynbuf *buf,\n                                         const
      char *name,\n                                         struct curl_blob *blob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - peer_key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: cf_ssl_peer_key_is_global
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool cf_ssl_peer_key_is_global(const char *peer_key)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:454,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:461,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:463,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:471,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:474,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:477,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:480,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:487,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:492,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:497,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:503,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:508,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:515,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:521,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:526,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:531,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:536,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:541,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:544,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:547,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:550,1
    - Dst: cf_ssl_peer_key_add_hash
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:554,1
    - Dst: cf_ssl_peer_key_add_hash
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:559,1
    - Dst: cf_ssl_peer_key_add_hash
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:564,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:570,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:576,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:582,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:592,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:596,1
    - Dst: curlx_dyn_take
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:601,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:606,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 160
    argCount: 4
    argNames:
    - cf
    - peer
    - tls_id
    - ppeer_key
    argTypes:
    - struct Curl_cfilter*
    - struct ssl_peer*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 608
    functionName: Curl_ssl_peer_key_make
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addf
    - curlx_dyn_init
    - Curl_ssl_cf_get_primary_config
    - curlx_dyn_free
    - cf_ssl_peer_key_add_hash
    - curlx_dyn_add
    - curlx_dyn_take
    - cf_ssl_peer_key_add_path
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_peer_key_make(struct Curl_cfilter *cf,\n                                const
      struct ssl_peer *peer,\n                                const char *tls_id,\n
      \                               char **ppeer_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:622,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:625,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - peer
    - conn_config
    argTypes:
    - struct Curl_ssl_scache_peer*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 630
    functionName: cf_ssl_scache_match_auth
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_safecmp
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool cf_ssl_scache_match_auth(struct Curl_ssl_scache_peer *peer,\n
      \                                    struct ssl_primary_config *conn_config)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:643,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:647,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:653,1
    - Dst: cf_ssl_scache_match_auth
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:654,1
    - Dst: cf_ssl_scache_match_auth
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:664,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:668,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:669,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:677,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:679,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:681,1
    - Dst: cf_ssl_cache_peer_update
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:686,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:692,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 5
    argNames:
    - data
    - scache
    - ssl_peer_key
    - conn_config
    - ppeer
    argTypes:
    - struct Curl_easy*
    - struct Curl_ssl_scache*
    - char*
    - struct ssl_primary_config*
    - struct Curl_ssl_scache_peer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 695
    functionName: cf_ssl_find_peer_by_key
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SSLS
    - Curl_hmacit
    - cf_ssl_cache_peer_update
    - GOOD_SCACHE
    - strlen
    - memcmp
    - curl_strequal
    - strdup
    - cf_ssl_scache_match_auth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_find_peer_by_key(struct Curl_easy *data,\n                        struct
      Curl_ssl_scache *scache,\n                        const char *ssl_peer_key,\n
      \                       struct ssl_primary_config *conn_config,\n                        struct
      Curl_ssl_scache_peer **ppeer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:712,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:721,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:723,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - scache
    argTypes:
    - struct Curl_ssl_scache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 697
    functionDepth: 5
    functionLinenumber: 697
    functionLinenumberEnd: 725
    functionName: cf_ssl_get_free_peer
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_llist_count
    - cf_ssl_scache_clear_peer
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_ssl_scache_peer
    signature: 'struct Curl_ssl_scache_peer *

      cf_ssl_get_free_peer(struct Curl_ssl_scache *scache)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:739,1
    - Dst: cf_ssl_get_free_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:750,1
    - Dst: cf_ssl_scache_peer_init
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:758,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - data
    - scache
    - ssl_peer_key
    - conn_config
    - ppeer
    argTypes:
    - struct Curl_easy*
    - struct Curl_ssl_scache*
    - char*
    - struct ssl_primary_config*
    - struct Curl_ssl_scache_peer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 727
    functionDepth: 6
    functionLinenumber: 727
    functionLinenumberEnd: 772
    functionName: cf_ssl_add_peer
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_ssl_find_peer_by_key
    - cf_ssl_get_free_peer
    - cf_ssl_scache_peer_init
    - cf_ssl_scache_clear_peer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_add_peer(struct Curl_easy *data,\n                struct
      Curl_ssl_scache *scache,\n                const char *ssl_peer_key,\n                struct
      ssl_primary_config *conn_config,\n                struct Curl_ssl_scache_peer
      **ppeer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:780,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:781,1
    - Dst: cf_scache_peer_remove_expired
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:785,1
    - Dst: cf_scache_peer_remove_non13
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:786,1
    - Dst: Curl_llist_append
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:787,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:788,1
    - Dst: Curl_node_remove
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:789,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - peer
    - s
    - now
    argTypes:
    - struct Curl_ssl_scache_peer*
    - struct Curl_ssl_session*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 774
    functionDepth: 7
    functionLinenumber: 774
    functionLinenumberEnd: 792
    functionName: cf_scache_peer_add_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_llist_destroy
    - cf_scache_peer_remove_expired
    - Curl_llist_append
    - cf_scache_peer_remove_non13
    - Curl_node_remove
    - Curl_llist_count
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: "void cf_scache_peer_add_session(struct Curl_ssl_scache_peer *peer,\n
      \                                      struct Curl_ssl_session *s,\n                                       curl_off_t
      now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:801,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:803,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:807,1
    - Dst: cf_scache_session_expired
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:820,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:821,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:822,1
    - Dst: cf_ssl_add_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:826,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:828,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:829,1
    - Dst: cf_scache_peer_add_session
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:833,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:837,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:841,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:846,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - cf
    - data
    - scache
    - ssl_peer_key
    - s
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct Curl_ssl_scache*
    - char*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 794
    functionDepth: 8
    functionLinenumber: 794
    functionLinenumberEnd: 848
    functionName: cf_scache_add_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SSLS
    - time
    - failf
    - cf_scache_session_expired
    - Curl_ssl_cf_get_primary_config
    - Curl_llist_count
    - cf_scache_peer_add_session
    - cf_ssl_add_peer
    - Curl_ssl_session_destroy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_scache_add_session(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct Curl_ssl_scache
      *scache,\n                                      const char *ssl_peer_key,\n
      \                                     struct Curl_ssl_session *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:855,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:856,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:858,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:861,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:865,1
    - Dst: cf_scache_add_session
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:866,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cf
    - data
    - ssl_peer_key
    - s
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 850
    functionDepth: 9
    functionLinenumber: 850
    functionLinenumberEnd: 869
    functionName: Curl_ssl_scache_put
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - cf_scache_add_session
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - Curl_ssl_scache_lock
    - Curl_ssl_session_destroy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_put(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             const char *ssl_peer_key,\n                             struct
      Curl_ssl_session *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_scache_put
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:879,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - cf
    - data
    - ssl_peer_key
    - s
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 10
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: Curl_ssl_scache_return
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - Curl_ssl_scache_put
    - Curl_ssl_session_destroy
    linkageType: ''
    returnType: void
    signature: "void Curl_ssl_scache_return(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            const char *ssl_peer_key,\n                            struct
      Curl_ssl_session *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:889,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:890,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:900,1
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:901,1
    - Dst: cf_scache_peer_remove_expired
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:904,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:904,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:905,1
    - Dst: Curl_node_take_elem
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:907,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:914,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:918,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:921,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - cf
    - data
    - ssl_peer_key
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 884
    functionDepth: 7
    functionLinenumber: 884
    functionLinenumberEnd: 925
    functionName: Curl_ssl_scache_take
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - CURL_TRC_SSLS
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - time
    - cf_scache_peer_remove_expired
    - Curl_ssl_cf_get_primary_config
    - Curl_llist_count
    - cf_ssl_find_peer_by_key
    - Curl_node_take_elem
    - Curl_llist_head
    - Curl_ssl_scache_lock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_take(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              const char *ssl_peer_key,\n
      \                             struct Curl_ssl_session **ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:933,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:934,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:938,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:939,1
    - Dst: cf_ssl_add_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:946,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:948,1
    - Dst: cf_ssl_scache_peer_set_obj
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:952,1
    - Dst: sobj_free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - cf
    - data
    - ssl_peer_key
    - sobj
    - sobj_free
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - void*
    - Curl_ssl_scache_obj_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 927
    functionDepth: 7
    functionLinenumber: 927
    functionLinenumberEnd: 959
    functionName: Curl_ssl_scache_add_obj
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_SSLS
    - cf_ssl_scache_get
    - cf_ssl_scache_peer_set_obj
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - cf_ssl_add_peer
    - sobj_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_add_obj(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const char *ssl_peer_key,\n
      \                                void *sobj,\n                                 Curl_ssl_scache_obj_dtor
      *sobj_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:965,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:966,1
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:974,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - ssl_peer_key
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 984
    functionName: Curl_ssl_scache_get_obj
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - cf_ssl_find_peer_by_key
    - CURL_TRC_SSLS
    - cf_ssl_scache_get
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: void
    signature: "void *Curl_ssl_scache_get_obj(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              const char *ssl_peer_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:990,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:991,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:999,1
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1000,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1003,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - ssl_peer_key
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 986
    functionDepth: 5
    functionLinenumber: 986
    functionLinenumberEnd: 1005
    functionName: Curl_ssl_scache_remove_all
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - Curl_ssl_cf_get_primary_config
    - cf_ssl_find_peer_by_key
    - Curl_ssl_scache_lock
    - cf_ssl_scache_clear_peer
    linkageType: ''
    returnType: void
    signature: "void Curl_ssl_scache_remove_all(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                const char *ssl_peer_key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1015,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1019,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1023,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1031
    functionName: cf_ssl_scache_peer_set_hmac
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - Curl_hmacit
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cf_ssl_scache_peer_set_hmac(struct Curl_ssl_scache_peer *peer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1043,1
    - Dst: cf_ssl_scache_match_auth
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1050,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1053,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1054,1
    - Dst: Curl_hmacit
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1062,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1065,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1069,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1072,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1073,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - scache
    - salt
    - hmac
    - ppeer
    argTypes:
    - struct Curl_ssl_scache*
    - unsigned char*
    - unsigned char*
    - struct Curl_ssl_scache_peer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1083
    functionName: cf_ssl_find_peer_by_hmac
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_hmacit
    - memcpy
    - GOOD_SCACHE
    - memcmp
    - strlen
    - cf_ssl_scache_match_auth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_find_peer_by_hmac(struct Curl_ssl_scache *scache,\n
      \                        const unsigned char *salt,\n                         const
      unsigned char *hmac,\n                         struct Curl_ssl_scache_peer **ppeer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1090,1
    - Dst: Curl_ssl_session_unpack
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1105,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1109,1
    - Dst: cf_ssl_add_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1113,1
    - Dst: cf_ssl_find_peer_by_hmac
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1127,1
    - Dst: cf_ssl_get_free_peer
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1131,1
    - Dst: cf_ssl_scache_peer_init
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1133,1
    - Dst: cf_scache_peer_add_session
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1142,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1142,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1144,1
    - Dst: Curl_llist_count
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1147,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1152,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1153,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 6
    argNames:
    - data
    - ssl_peer_key
    - shmac
    - shmac_len
    - sdata
    - sdata_len
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1085
    functionDepth: 8
    functionLinenumber: 1085
    functionLinenumberEnd: 1155
    functionName: Curl_ssl_session_import
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_SSLS
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - cf_ssl_scache_peer_init
    - time
    - cf_ssl_get_free_peer
    - Curl_ssl_session_unpack
    - Curl_llist_count
    - cf_scache_peer_add_session
    - cf_ssl_add_peer
    - Curl_ssl_scache_lock
    - Curl_ssl_session_destroy
    - cf_ssl_find_peer_by_hmac
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_import(struct Curl_easy *data,\n                                 const
      char *ssl_peer_key,\n                                 const unsigned char *shmac,
      size_t shmac_len,\n                                 const void *sdata, size_t
      sdata_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1161,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1166,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1174,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1176,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1177,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1186,1
    - Dst: cf_scache_peer_remove_expired
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1187,1
    - Dst: Curl_llist_head
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1188,1
    - Dst: Curl_node_elem
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1192,1
    - Dst: cf_ssl_scache_peer_set_hmac
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1194,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1198,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1199,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1202,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1206,1
    - Dst: Curl_ssl_session_pack
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1207,1
    - Dst: export_fn
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1211,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1212,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1212,1
    - Dst: curlx_dyn_uptr
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1213,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1213,1
    - Dst: Curl_node_next
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1219,1
    - Dst: CURL_TRC_SSLS
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1224,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1228,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1229,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/vtls_scache.c:1230,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 3
    argNames:
    - data
    - export_fn
    - userptr
    argTypes:
    - struct Curl_easy*
    - curl_ssls_export_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1157
    functionDepth: 7
    functionLinenumber: 1157
    functionLinenumberEnd: 1232
    functionName: Curl_ssl_session_export
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - export_fn
    - CURL_TRC_SSLS
    - time
    - cf_ssl_scache_get
    - Curl_ssl_scache_unlock
    - curlx_dyn_init
    - cf_scache_peer_remove_expired
    - curlx_dyn_free
    - curlx_dyn_uptr
    - curlx_dyn_reset
    - Curl_node_next
    - Curl_llist_head
    - cf_ssl_scache_peer_set_hmac
    - curlx_dyn_len
    - Curl_ssl_scache_lock
    - Curl_node_elem
    - Curl_ssl_session_pack
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_export(struct Curl_easy *data,\n                                 curl_ssls_export_cb
      *export_fn,\n                                 void *userptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: CS_ZIP_IDX
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_ZIP_IDX(a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - id
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: CS_ENTRY
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_ENTRY(id, a, b, c, d, e, f, g, h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:562,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:576,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - cs_str
    - cs_len
    - zip
    argTypes:
    - char*
    - size_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 596
    functionName: cs_str_to_zip
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: int
    signature: "int cs_str_to_zip(const char *cs_str, size_t cs_len,\n                         uint8_t
      zip[6])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:626,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:632,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:634,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - zip
    - buf
    - buf_size
    argTypes:
    - uint8_t[]
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 598
    functionDepth: 6
    functionLinenumber: 598
    functionLinenumberEnd: 642
    functionName: cs_zip_to_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: "int cs_zip_to_str(const uint8_t zip[6],\n                         char
      *buf, size_t buf_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cs_str_to_zip
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:649,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - cs_str
    - cs_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: Curl_cipher_suite_lookup_id
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 1
    functionsReached:
    - cs_str_to_zip
    - memcmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Curl_cipher_suite_lookup_id(const char *cs_str, size_t cs_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: cs_is_separator
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cs_is_separator(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_is_separator
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:676,1
    - Dst: cs_is_separator
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:679,1
    - Dst: Curl_cipher_suite_lookup_id
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 5
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: Curl_cipher_suite_walk_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 2
    functionsReached:
    - Curl_cipher_suite_lookup_id
    - cs_is_separator
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Curl_cipher_suite_walk_str(const char **str, const char **end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cs_zip_to_str
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:702,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/cipher_suite.c:705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - id
    - buf
    - buf_size
    - prefer_rfc
    argTypes:
    - uint16_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 684
    functionDepth: 7
    functionLinenumber: 684
    functionLinenumberEnd: 708
    functionName: Curl_cipher_suite_get_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/cipher_suite.c
    functionUses: 1
    functionsReached:
    - cs_zip_to_str
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int Curl_cipher_suite_get_str(uint16_t id, char *buf, size_t buf_size,\n
      \                             bool prefer_rfc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: OSSL_UI_METHOD_CAST
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_UI_METHOD_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: OSSL_UI_METHOD_CAST
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_UI_METHOD_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASN1_STRING_get0_data(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: X509_get0_notBefore
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_notBefore(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: X509_get0_notAfter
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_notAfter(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: OpenSSL_version_num
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OpenSSL_version_num()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: DECLARE_PKEY_PARAM_BIGNUM
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PKEY_PARAM_BIGNUM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: FREE_PKEY_PARAM_BIGNUM
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_PKEY_PARAM_BIGNUM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: DECLARE_PKEY_PARAM_BIGNUM
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PKEY_PARAM_BIGNUM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:261,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/PROJ/curl/lib/vtls/openssl.c:262,1
    - Dst: BIO_reset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - mem
    - label
    - num
    argTypes:
    - struct Curl_easy*
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: push_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_push_certinfo_len
    - BIO_get_mem_data
    - BIO_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode push_certinfo(struct Curl_easy *data,\n                              BIO
      *mem, const char *label, int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:276,1
    - Dst: BN_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:279,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - data
    - mem
    - num
    - type
    - name
    - bn
    argTypes:
    - struct Curl_easy*
    - BIO*
    - int
    - char*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 6
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: pubkey_show
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - BN_print
    - push_certinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pubkey_show(struct Curl_easy *data,\n                            BIO
      *mem,\n                            int num,\n                            const
      char *type,\n                            const char *name,\n                            const
      BIGNUM *bn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _type
    - ','
    - _name
    - ','
    - _num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: print_pubkey_BN
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_pubkey_BN(_type, _name, _num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _type
    - ','
    - _name
    - ','
    - _num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: print_pubkey_BN
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_pubkey_BN(_type, _name, _num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2t_ASN1_OBJECT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:300,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:302,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - buf
    - len
    argTypes:
    - ASN1_OBJECT*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: asn1_object_dump
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - i2t_ASN1_OBJECT
    linkageType: ''
    returnType: int
    signature: int asn1_object_dump(const ASN1_OBJECT *a, char *buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:316,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:316,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:319,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:323,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:325,1
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:328,1
    - Dst: BIO_s_mem
      Src: /src/PROJ/curl/lib/vtls/openssl.c:328,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/PROJ/curl/lib/vtls/openssl.c:333,1
    - Dst: asn1_object_dump
      Src: /src/PROJ/curl/lib/vtls/openssl.c:335,1
    - Dst: X509V3_EXT_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:339,1
    - Dst: ASN1_STRING_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:340,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:340,1
    - Dst: BIO_get_mem_ptr
      Src: /src/PROJ/curl/lib/vtls/openssl.c:342,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/PROJ/curl/lib/vtls/openssl.c:343,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - data
    - certnum
    - extsarg
    argTypes:
    - struct Curl_easy*
    - int
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 350
    functionName: X509V3_ext
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_print
    - X509_EXTENSION_get_data
    - asn1_object_dump
    - X509V3_EXT_print
    - BIO_s_mem
    - sk_X509_EXTENSION_num
    - X509_EXTENSION_get_object
    - STACK_OF
    - CURL_UNCONST
    - BIO_new
    - BIO_free
    - sk_X509_EXTENSION_value
    - Curl_ssl_push_certinfo_len
    - BIO_get_mem_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode X509V3_ext(struct Curl_easy *data,\n                           int
      certnum,\n                           const STACK_OF(X509_EXTENSION) *extsarg)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:357,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:362,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/PROJ/curl/lib/vtls/openssl.c:364,1
    - Dst: sk_X509_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:368,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:370,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:375,1
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:379,1
    - Dst: BIO_s_mem
      Src: /src/PROJ/curl/lib/vtls/openssl.c:379,1
    - Dst: sk_X509_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:385,1
    - Dst: X509_NAME_print_ex
      Src: /src/PROJ/curl/lib/vtls/openssl.c:390,1
    - Dst: X509_get_subject_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:390,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:391,1
    - Dst: X509_NAME_print_ex
      Src: /src/PROJ/curl/lib/vtls/openssl.c:395,1
    - Dst: X509_get_issuer_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:395,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:396,1
    - Dst: BIO_printf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:400,1
    - Dst: X509_get_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:400,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:401,1
    - Dst: X509_get_serialNumber
      Src: /src/PROJ/curl/lib/vtls/openssl.c:405,1
    - Dst: BIO_puts
      Src: /src/PROJ/curl/lib/vtls/openssl.c:407,1
    - Dst: BIO_printf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:409,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:410,1
    - Dst: X509_get0_signature
      Src: /src/PROJ/curl/lib/vtls/openssl.c:420,1
    - Dst: X509_ALGOR_get0
      Src: /src/PROJ/curl/lib/vtls/openssl.c:423,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:424,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:425,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/PROJ/curl/lib/vtls/openssl.c:430,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:432,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:434,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:435,1
    - Dst: X509V3_ext
      Src: /src/PROJ/curl/lib/vtls/openssl.c:441,1
    - Dst: X509_get0_extensions
      Src: /src/PROJ/curl/lib/vtls/openssl.c:441,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:450,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:451,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:454,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:455,1
    - Dst: X509V3_ext
      Src: /src/PROJ/curl/lib/vtls/openssl.c:459,1
    - Dst: ASN1_TIME_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:468,1
    - Dst: X509_get0_notBefore
      Src: /src/PROJ/curl/lib/vtls/openssl.c:468,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:469,1
    - Dst: ASN1_TIME_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:473,1
    - Dst: X509_get0_notAfter
      Src: /src/PROJ/curl/lib/vtls/openssl.c:473,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:474,1
    - Dst: X509_get_pubkey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:478,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:480,1
    - Dst: EVP_PKEY_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:484,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/PROJ/curl/lib/vtls/openssl.c:493,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:501,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:502,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:504,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:505,1
    - Dst: RSA_get0_key
      Src: /src/PROJ/curl/lib/vtls/openssl.c:507,1
    - Dst: BIO_printf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:509,1
    - Dst: BN_num_bits
      Src: /src/PROJ/curl/lib/vtls/openssl.c:509,1
    - Dst: BIO_printf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:511,1
    - Dst: BN_num_bits
      Src: /src/PROJ/curl/lib/vtls/openssl.c:511,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:513,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:516,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:517,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:518,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:519,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/PROJ/curl/lib/vtls/openssl.c:530,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:537,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:538,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:539,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:540,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:542,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:543,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:544,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:545,1
    - Dst: DSA_get0_pqg
      Src: /src/PROJ/curl/lib/vtls/openssl.c:547,1
    - Dst: DSA_get0_key
      Src: /src/PROJ/curl/lib/vtls/openssl.c:548,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:551,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:552,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:553,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:554,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:555,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:556,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:557,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:558,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:567,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:574,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:575,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:576,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:577,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:579,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:580,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:581,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/PROJ/curl/lib/vtls/openssl.c:582,1
    - Dst: DH_get0_pqg
      Src: /src/PROJ/curl/lib/vtls/openssl.c:584,1
    - Dst: DH_get0_key
      Src: /src/PROJ/curl/lib/vtls/openssl.c:585,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:587,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:588,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:589,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:591,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:592,1
    - Dst: print_pubkey_BN
      Src: /src/PROJ/curl/lib/vtls/openssl.c:594,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:595,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:596,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:597,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/PROJ/curl/lib/vtls/openssl.c:598,1
    - Dst: EVP_PKEY_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:603,1
    - Dst: BIO_printf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:608,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:609,1
    - Dst: PEM_write_bio_X509
      Src: /src/PROJ/curl/lib/vtls/openssl.c:613,1
    - Dst: push_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:614,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:618,1
    - Dst: Curl_ssl_free_certinfo
      Src: /src/PROJ/curl/lib/vtls/openssl.c:622,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 173
    argCount: 2
    argNames:
    - data
    - ssl
    argTypes:
    - struct Curl_easy*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 625
    functionName: ossl_certchain
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - EVP_PKEY_get0_DH
    - X509_PUBKEY_get0_param
    - X509_ALGOR_get0
    - BIO_puts
    - ASN1_TIME_print
    - BIO_free
    - SSL_get_peer_cert_chain
    - EVP_PKEY_id
    - DSA_get0_pqg
    - DH_get0_key
    - infof
    - X509_get_pubkey
    - BIO_printf
    - RSA_get0_key
    - X509_get0_extensions
    - EVP_PKEY_free
    - BIO_s_mem
    - i2a_ASN1_OBJECT
    - EVP_PKEY_get0_DSA
    - push_certinfo
    - STACK_OF
    - Curl_ssl_free_certinfo
    - X509_NAME_print_ex
    - Curl_ssl_init_certinfo
    - X509V3_ext
    - EVP_PKEY_get_bn_param
    - FREE_PKEY_PARAM_BIGNUM
    - sk_X509_num
    - DSA_get0_key
    - X509_get_issuer_name
    - X509_get0_notBefore
    - DECLARE_PKEY_PARAM_BIGNUM
    - sk_X509_value
    - print_pubkey_BN
    - BN_num_bits
    - PEM_write_bio_X509
    - DEBUGASSERT
    - X509_get_X509_PUBKEY
    - X509_get0_notAfter
    - X509_get_serialNumber
    - DH_get0_pqg
    - BIO_new
    - X509_get0_signature
    - X509_get_version
    - EVP_PKEY_get0_RSA
    - X509_get_subject_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_certchain(struct Curl_easy *data, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: BIO_set_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_init(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 634
    functionName: BIO_get_data
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_data(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: BIO_set_data
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_data(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 636
    functionName: BIO_get_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_shutdown(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: BIO_set_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_shutdown(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:641,1
    - Dst: BIO_set_init
      Src: /src/PROJ/curl/lib/vtls/openssl.c:642,1
    - Dst: BIO_set_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 648
    functionName: ossl_bio_cf_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_set_data
    - BIO_set_init
    - BIO_set_shutdown
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_create(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: ossl_bio_cf_destroy
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_destroy(BIO *bio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:659,1
    - Dst: BIO_get_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:666,1
    - Dst: BIO_set_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 689
    functionName: ossl_bio_cf_ctrl
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_shutdown
    - BIO_get_data
    - BIO_set_shutdown
    linkageType: ''
    returnType: long
    signature: long ossl_bio_cf_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:693,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:696,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:700,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/openssl.c:704,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:706,1
    - Dst: BIO_clear_retry_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:708,1
    - Dst: BIO_set_retry_write
      Src: /src/PROJ/curl/lib/vtls/openssl.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 716
    functionName: ossl_bio_cf_out_write
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_send
    - CURL_TRC_CF
    - BIO_clear_retry_flags
    - BIO_get_data
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_out_write(BIO *bio, const char *buf, int blen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:720,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:723,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:727,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/openssl.c:734,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:735,1
    - Dst: BIO_clear_retry_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:737,1
    - Dst: BIO_set_retry_read
      Src: /src/PROJ/curl/lib/vtls/openssl.c:741,1
    - Dst: Curl_ssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:753,1
    - Dst: BIO_clear_retry_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:755,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 762
    functionName: ossl_bio_cf_in_read
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - BIO_clear_retry_flags
    - BIO_get_data
    - Curl_ssl_setup_x509_store
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - BIO_set_retry_read
    - Curl_conn_cf_recv
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_in_read(BIO *bio, char *buf, int blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: ossl_bio_cf_method_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *ossl_bio_cf_method_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 785
    functionName: ossl_bio_cf_method_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_bio_cf_method_free(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:790,1
    - Dst: BIO_meth_set_write
      Src: /src/PROJ/curl/lib/vtls/openssl.c:792,1
    - Dst: BIO_meth_set_read
      Src: /src/PROJ/curl/lib/vtls/openssl.c:793,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/PROJ/curl/lib/vtls/openssl.c:794,1
    - Dst: BIO_meth_set_create
      Src: /src/PROJ/curl/lib/vtls/openssl.c:795,1
    - Dst: BIO_meth_set_destroy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 799
    functionName: ossl_bio_cf_method_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_create
    - BIO_meth_set_ctrl
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_read
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *ossl_bio_cf_method_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: ossl_bio_cf_method_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void ossl_bio_cf_method_free(BIO_METHOD *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_write_line
      Src: /src/PROJ/curl/lib/vtls/openssl.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 816
    functionName: ossl_keylog_callback
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write_line
    linkageType: ''
    returnType: void
    signature: void ossl_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:830,1
    - Dst: SSL_get_session
      Src: /src/PROJ/curl/lib/vtls/openssl.c:832,1
    - Dst: ERR_pop_to_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:835,1
    - Dst: SSL_get_client_random
      Src: /src/PROJ/curl/lib/vtls/openssl.c:842,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/PROJ/curl/lib/vtls/openssl.c:844,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:848,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:849,1
    - Dst: ERR_pop_to_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:853,1
    - Dst: Curl_tls_keylog_write
      Src: /src/PROJ/curl/lib/vtls/openssl.c:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - keylog_done
    argTypes:
    - SSL*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 864
    functionName: ossl_log_tls12_secret
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_set_mark
    - memcpy
    - SSL_get_client_random
    - ERR_pop_to_mark
    - Curl_tls_keylog_write
    - SSL_SESSION_get_master_key
    - SSL_get_session
    linkageType: ''
    returnType: void
    signature: void ossl_log_tls12_secret(const SSL *ssl, bool *keylog_done)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 903
    functionName: SSL_ERROR_to_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_ERROR_to_str(int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:910,1
    - Dst: Curl_ossl_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:913,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:914,1
    - Dst: ERR_error_string_n
      Src: /src/PROJ/curl/lib/vtls/openssl.c:924,1
    - Dst: ERR_error_string_n
      Src: /src/PROJ/curl/lib/vtls/openssl.c:926,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:931,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - error
    - buf
    - size
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 936
    functionName: ossl_strerror
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ERR_error_string_n
    - strlen
    - DEBUGASSERT
    - Curl_ossl_version
    linkageType: ''
    returnType: char
    signature: char *ossl_strerror(unsigned long error, char *buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:941,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/lib/vtls/openssl.c:944,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:944,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - num
    - encrypting
    - password
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 951
    functionName: passwd_callback
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - DEBUGASSERT
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: "int passwd_callback(char *buf, int num, int encrypting,\n                           void
      *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_status
      Src: /src/PROJ/curl/lib/vtls/openssl.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: rand_enough
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - RAND_status
    linkageType: ''
    returnType: bool
    signature: bool rand_enough(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand_enough
      Src: /src/PROJ/curl/lib/vtls/openssl.c:967,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:975,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:986,1
    - Dst: curlx_wait_ms
      Src: /src/PROJ/curl/lib/vtls/openssl.c:987,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:990,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:990,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:992,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:992,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:994,1
    - Dst: RAND_add
      Src: /src/PROJ/curl/lib/vtls/openssl.c:997,1
    - Dst: rand_enough
      Src: /src/PROJ/curl/lib/vtls/openssl.c:998,1
    - Dst: RAND_file_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1012,1
    - Dst: RAND_load_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1015,1
    - Dst: rand_enough
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1016,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1021,1
    - Dst: rand_enough
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1022,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 1025
    functionName: ossl_seed
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - RAND_add
    - RAND_load_file
    - infof
    - failf
    - memcpy
    - curlx_now
    - curlx_wait_ms
    - rand_enough
    - RAND_file_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_seed(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1040,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1042,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1044,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1046,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1051
    functionName: ossl_do_file_type
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int ossl_do_file_type(const char *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1062,1
    - Dst: UI_get0_user_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1065,1
    - Dst: UI_get_input_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1066,1
    - Dst: UI_set_result
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1067,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1070,1
    - Dst: UI_method_get_reader
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1074,1
    - Dst: UI_OpenSSL
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1075
    functionName: ssl_ui_reader
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - UI_set_result
    - FALLTHROUGH
    - UI_get0_user_data
    - UI_method_get_reader
    - UI_OpenSSL
    - UI_get_input_flags
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: int ssl_ui_reader(UI *ui, UI_STRING *uis)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1082,1
    - Dst: UI_get0_user_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1085,1
    - Dst: UI_get_input_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1086,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1089,1
    - Dst: UI_method_get_writer
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1093,1
    - Dst: UI_OpenSSL
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1094
    functionName: ssl_ui_writer
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - UI_get0_user_data
    - UI_method_get_writer
    - UI_OpenSSL
    - UI_get_input_flags
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: int ssl_ui_writer(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 3
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: is_pkcs11_uri
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool is_pkcs11_uri(const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1119,1
    - Dst: d2i_X509_bio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1125,1
    - Dst: PEM_read_bio_X509
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1129,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1130,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1142,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1144,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - blob
    - type
    - key_passwd
    argTypes:
    - SSL_CTX*
    - struct curl_blob*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1147
    functionName: use_certificate_blob
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - d2i_X509_bio
    - X509_free
    - BIO_new_mem_buf
    - PEM_read_bio_X509
    - CURL_UNCONST
    - BIO_free
    - SSL_CTX_use_certificate
    linkageType: ''
    returnType: int
    signature: "int use_certificate_blob(SSL_CTX *ctx, const struct curl_blob *blob,\n
      \                               int type, const char *key_passwd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1154,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1159,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1160,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1162,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1169,1
    - Dst: EVP_PKEY_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1170,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - blob
    - type
    - key_passwd
    argTypes:
    - SSL_CTX*
    - struct curl_blob*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1174
    functionName: use_privatekey_blob
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_PrivateKey
    - d2i_PrivateKey_bio
    - PEM_read_bio_PrivateKey
    - BIO_new_mem_buf
    - EVP_PKEY_free
    - CURL_UNCONST
    - BIO_free
    linkageType: ''
    returnType: int
    signature: "int use_privatekey_blob(SSL_CTX *ctx, const struct curl_blob *blob,\n
      \                              int type, const char *key_passwd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1182,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1186,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1188,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1189,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1193,1
    - Dst: ERR_peek_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1195,1
    - Dst: SSL_CTX_clear_chain_certs
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1202,1
    - Dst: PEM_read_bio_X509
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1207,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1208,1
    - Dst: SSL_CTX_add0_chain_cert
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1211,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1212,1
    - Dst: ERR_peek_last_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1218,1
    - Dst: ERR_GET_LIB
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1219,1
    - Dst: ERR_GET_REASON
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1220,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1221,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1227,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - blob
    - key_passwd
    argTypes:
    - SSL_CTX*
    - struct curl_blob*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1230
    functionName: use_certificate_chain_blob
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_peek_last_error
    - ERR_GET_LIB
    - X509_free
    - BIO_new_mem_buf
    - SSL_CTX_add0_chain_cert
    - PEM_read_bio_X509
    - ERR_peek_error
    - ERR_GET_REASON
    - CURL_UNCONST
    - PEM_read_bio_X509_AUX
    - BIO_free
    - SSL_CTX_use_certificate
    - ERR_clear_error
    - SSL_CTX_clear_chain_certs
    linkageType: ''
    returnType: int
    signature: "int use_certificate_chain_blob(SSL_CTX *ctx, const struct curl_blob
      *blob,\n                           const char *key_passwd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1544,1
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1546,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1548,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1550,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1550,1
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1556,1
    - Dst: BIO_s_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1556,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1558,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1560,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1560,1
    - Dst: BIO_read_filename
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1565,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1565,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1566,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1567,1
    - Dst: d2i_PKCS12_bio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1572,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1573,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1576,1
    - Dst: PKCS12_parse
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1581,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1582,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1585,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1585,1
    - Dst: PKCS12_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1587,1
    - Dst: PKCS12_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1591,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1593,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1594,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1597,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1597,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1602,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1603,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1608,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1609,1
    - Dst: sk_X509_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1615,1
    - Dst: sk_X509_pop
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1623,1
    - Dst: SSL_CTX_add_client_CA
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1624,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1625,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1626,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1629,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1630,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1631,1
    - Dst: EVP_PKEY_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1639,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1640,1
    - Dst: sk_X509_pop_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1645,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 5
    argNames:
    - data
    - ctx
    - cert_blob
    - cert_file
    - key_passwd
    argTypes:
    - struct Curl_easy*
    - SSL_CTX*
    - struct curl_blob*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1652
    functionName: pkcs12load
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - failf
    - CURL_UNCONST
    - BIO_free
    - SSL_CTX_add_client_CA
    - SSL_CTX_add_extra_chain_cert
    - BIO_new_mem_buf
    - EVP_PKEY_free
    - BIO_read_filename
    - STACK_OF
    - PKCS12_free
    - d2i_PKCS12_bio
    - SSL_CTX_use_certificate
    - X509_free
    - sk_X509_num
    - SSL_CTX_check_private_key
    - sk_X509_pop
    - BIO_s_file
    - PKCS12_parse
    - ERR_get_error
    - SSL_CTX_use_PrivateKey
    - sk_X509_pop_free
    - BIO_new
    linkageType: ''
    returnType: int
    signature: "int pkcs12load(struct Curl_easy *data,\n                      SSL_CTX*
      ctx,\n                      const struct curl_blob *cert_blob,\n                      const
      char *cert_file,\n                      const char *key_passwd)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_file_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1667,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1678,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1680,1
    - Dst: use_certificate_chain_blob
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1687,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1688,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1690,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1695,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1695,1
    - Dst: use_certificate_blob
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1707,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1708,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1710,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1715,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1715,1
    - Dst: engineload
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1722,1
    - Dst: providerload
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1727,1
    - Dst: pkcs12load
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1732,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1738,1
    - Dst: ossl_do_file_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1747,1
    - Dst: use_privatekey_blob
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1753,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1754,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1756,1
    - Dst: enginecheck
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1763,1
    - Dst: providercheck
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1768,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1774,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1779,1
    - Dst: SSL_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1783,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1785,1
    - Dst: SSL_get_certificate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1789,1
    - Dst: X509_get_pubkey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1792,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1793,1
    - Dst: SSL_get_privatekey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1793,1
    - Dst: EVP_PKEY_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1794,1
    - Dst: SSL_get_privatekey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1801,1
    - Dst: EVP_PKEY_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1804,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1809,1
    - Dst: RSA_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1810,1
    - Dst: RSA_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1812,1
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1817,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1825,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1826,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 97
    argCount: 9
    argNames:
    - data
    - ctx
    - cert_file
    - cert_blob
    - cert_type
    - key_file
    - key_blob
    - key_type
    - key_passwd
    argTypes:
    - struct Curl_easy*
    - SSL_CTX*
    - char*
    - struct curl_blob*
    - char*
    - char*
    - struct curl_blob*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1832
    functionName: client_cert
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - SSL_CTX_use_certificate_chain_file
    - failf
    - SSL_CTX_use_certificate_file
    - RSA_free
    - pkcs12load
    - use_certificate_blob
    - use_privatekey_blob
    - SSL_get_privatekey
    - SSL_new
    - SSL_free
    - EVP_PKEY_id
    - EVP_PKEY_get1_RSA
    - use_certificate_chain_blob
    - X509_get_pubkey
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_check_private_key
    - engineload
    - EVP_PKEY_copy_parameters
    - ERR_get_error
    - SSL_CTX_set_default_passwd_cb
    - SSL_get_certificate
    - providercheck
    - RSA_flags
    - providerload
    - enginecheck
    - SSL_CTX_set_default_passwd_cb_userdata
    - ossl_do_file_type
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_cert(struct Curl_easy *data,\n                            SSL_CTX*
      ctx,\n                            char *cert_file,\n                            const
      struct curl_blob *cert_blob,\n                            const char *cert_type,\n
      \                           char *key_file,\n                            const
      struct curl_blob *key_blob,\n                            const char *key_type,\n
      \                           char *key_passwd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1838,1
    - Dst: BIO_s_mem
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1838,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1846,1
    - Dst: X509_NAME_print_ex
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1847,1
    - Dst: BIO_get_mem_ptr
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1849,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1850,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - d
    argTypes:
    - X509_NAME*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1855
    functionName: x509_name_oneline
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - BIO_s_mem
    - curlx_dyn_reset
    - X509_NAME_print_ex
    - BIO_new
    - BIO_free
    - BIO_get_mem_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode x509_name_oneline(X509_NAME *a, struct dynbuf *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1878,1
    - Dst: OPENSSL_load_builtin_modules
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1880,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1883,1
    - Dst: CONF_modules_load_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1887,1
    - Dst: SSL_load_error_strings
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1893,1
    - Dst: SSLeay_add_ssl_algorithms
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1896,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1899,1
    - Dst: Curl_tls_keylog_open
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1864
    functionDepth: 3
    functionLinenumber: 1864
    functionLinenumberEnd: 1905
    functionName: ossl_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSLeay_add_ssl_algorithms
    - OPENSSL_load_builtin_modules
    - CONF_modules_load_file
    - Curl_tls_keylog_open
    - SSL_load_error_strings
    - OpenSSL_add_all_algorithms
    - ENGINE_load_builtin_engines
    - OPENSSL_init_ssl
    linkageType: ''
    returnType: int
    signature: int ossl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_cleanup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1915,1
    - Dst: ENGINE_cleanup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1919,1
    - Dst: ERR_free_strings
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1923,1
    - Dst: ERR_remove_thread_state
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1926,1
    - Dst: CONF_modules_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1929,1
    - Dst: SSL_COMP_free_compression_methods
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1932,1
    - Dst: Curl_tls_keylog_close
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1908
    functionDepth: 2
    functionLinenumber: 1908
    functionLinenumberEnd: 1937
    functionName: ossl_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_cleanup
    - ERR_free_strings
    - EVP_cleanup
    - CONF_modules_free
    - ERR_remove_thread_state
    - SSL_COMP_free_compression_methods
    - Curl_tls_keylog_close
    linkageType: ''
    returnType: void
    signature: void ossl_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1945,1
    - Dst: ENGINE_finish
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1950,1
    - Dst: ENGINE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1951,1
    - Dst: ENGINE_init
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1954,1
    - Dst: ENGINE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1957,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1958,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1959,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1959,1
    - Dst: ossl_set_provider
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1971,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - data
    - name
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1941
    functionDepth: 2
    functionLinenumber: 1941
    functionLinenumberEnd: 1977
    functionName: ossl_set_engine
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - ERR_get_error
    - failf
    - ENGINE_finish
    - ENGINE_by_id
    - ENGINE_init
    - ossl_set_provider
    - ENGINE_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_set_engine(struct Curl_easy *data, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_default
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1985,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1986,1
    - Dst: ENGINE_get_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1987,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1990,1
    - Dst: ENGINE_get_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:1991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1981
    functionDepth: 1
    functionLinenumber: 1981
    functionLinenumberEnd: 1999
    functionName: ossl_set_engine_default
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - ENGINE_set_default
    - failf
    - ENGINE_get_id
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_set_engine_default(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2010,1
    - Dst: ENGINE_get_next
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2010,1
    - Dst: curl_slist_append
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2011,1
    - Dst: ENGINE_get_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2011,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2003
    functionDepth: 3
    functionLinenumber: 2003
    functionLinenumberEnd: 2021
    functionName: ossl_engines_list
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - ENGINE_get_next
    - ENGINE_get_first
    - curl_slist_free_all
    - ENGINE_get_id
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *ossl_engines_list(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2028,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2032,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2035,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2025
    functionDepth: 1
    functionLinenumber: 2025
    functionLinenumberEnd: 2039
    functionName: ossl_provider_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_unload
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void ossl_provider_cleanup(struct Curl_easy *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_cleanup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2059,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2062,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2065,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2070,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2070,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2070,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2071,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2074,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2078,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2080,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2090,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2091,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2095,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2102,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2105,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2106,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2106,1
    - Dst: ossl_provider_cleanup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2108,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2114,1
    - Dst: ossl_provider_cleanup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2116,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - data
    - iname
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2051
    functionDepth: 2
    functionLinenumber: 2051
    functionLinenumberEnd: 2123
    functionName: ossl_set_provider
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - infof
    - ossl_strerror
    - ERR_get_error
    - curlx_str_single
    - memcpy
    - failf
    - OSSL_LIB_CTX_load_config
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_try_load
    - ossl_provider_cleanup
    - curlx_str
    - OSSL_LIB_CTX_new
    - curlx_strlen
    - curlx_str_until
    - strdup
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_set_provider(struct Curl_easy *data, const char *iname)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2139,1
    - Dst: SSL_get_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2147,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2150,1
    - Dst: SSL_read
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2152,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2153,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2157,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2162,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2166,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2171,1
    - Dst: SSL_get_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2180,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2182,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2183,1
    - Dst: SSL_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2184,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2186,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2190,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2191,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2200,1
    - Dst: SSL_read
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2201,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2202,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2206,1
    - Dst: SSL_shutdown
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2209,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2210,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2212,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2219,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2223,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2229,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2230,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2232,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2233,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2245
    functionName: ossl_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - ERR_get_error
    - CURL_TRC_CF
    - SSL_read
    - struct Curl_cfilter*::next::cft::is_alive
    - SSL_ERROR_to_str
    - SSL_get_error
    - SSL_shutdown
    - DEBUGASSERT
    - SSL_get_shutdown
    - ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool send_shutdown, bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2253,1
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2257,1
    - Dst: SSL_CTX_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2261,1
    - Dst: ossl_bio_cf_method_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2269
    functionName: ossl_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_free
    - DEBUGASSERT
    - ossl_bio_cf_method_free
    linkageType: ''
    returnType: void
    signature: void ossl_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2279,1
    - Dst: ENGINE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2280,1
    - Dst: ossl_provider_cleanup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2287,1
    - Dst: ERR_remove_thread_state
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2296
    functionName: ossl_close_all
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_remove_thread_state
    - ENGINE_free
    - ossl_provider_cleanup
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: void ossl_close_all(struct Curl_easy *data)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2330,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2339,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2344,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2351,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2361,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2362,1
    - Dst: X509_get_ext_d2i
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2367,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2380,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2385,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2395,1
    - Dst: ASN1_STRING_length
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2396,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2409,1
    - Dst: Curl_cert_hostcheck
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2412,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2414,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2422,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2424,1
    - Dst: GENERAL_NAMES_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2432,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2442,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2443,1
    - Dst: X509_get_subject_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2456,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2459,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2469,1
    - Dst: X509_NAME_get_entry
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2469,1
    - Dst: ASN1_STRING_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2476,1
    - Dst: ASN1_STRING_length
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2477,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2478,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2478,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2481,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2487,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2490,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2500,1
    - Dst: Curl_cert_hostcheck
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2504,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2506,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2511,1
    - Dst: OPENSSL_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2514,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 4
    argNames:
    - data
    - conn
    - peer
    - server_cert
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct ssl_peer*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2322
    functionDepth: 6
    functionLinenumber: 2322
    functionLinenumberEnd: 2518
    functionName: ossl_verifyhost
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - failf
    - X509_get_ext_d2i
    - GENERAL_NAMES_free
    - CURL_UNCONST
    - memcmp
    - X509_NAME_get_entry
    - Curl_cert_hostcheck
    - infof
    - OPENSSL_free
    - STACK_OF
    - strlen
    - sk_GENERAL_NAME_value
    - X509_NAME_get_index_by_NID
    - X509_NAME_ENTRY_get_data
    - DEBUGASSERT
    - ASN1_STRING_length
    - sk_GENERAL_NAME_num
    - curlx_inet_pton
    - ASN1_STRING_to_UTF8
    - ASN1_STRING_type
    - X509_get_subject_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_verifyhost(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                struct ssl_peer *peer,\n
      \                               X509 *server_cert)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2536,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2545,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2547,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2550,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2555,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2557,1
    - Dst: OCSP_response_status
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2562,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2564,1
    - Dst: OCSP_response_status_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2565,1
    - Dst: OCSP_response_get1_basic
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2570,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2572,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2577,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2579,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2583,1
    - Dst: OCSP_basic_verify
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2585,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2586,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2592,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2594,1
    - Dst: sk_X509_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2599,1
    - Dst: sk_X509_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2600,1
    - Dst: X509_check_issued
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2601,1
    - Dst: OCSP_cert_to_id
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2605,1
    - Dst: EVP_sha1
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2605,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2609,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2612,1
    - Dst: OCSP_resp_find_status
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2618,1
    - Dst: OCSP_CERTID_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2620,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2622,1
    - Dst: OCSP_check_validity
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2635,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2636,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2641,1
    - Dst: OCSP_cert_status_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2642,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2650,1
    - Dst: OCSP_crl_reason_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2651,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2662,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2663,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 102
    argCount: 3
    argNames:
    - cf
    - data
    - octx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2521
    functionDepth: 1
    functionLinenumber: 2521
    functionLinenumberEnd: 2666
    functionName: verifystatus
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - d2i_OCSP_RESPONSE
    - failf
    - SSL_get_tlsext_status_ocsp_resp
    - SSL_get_peer_cert_chain
    - infof
    - OCSP_response_get1_basic
    - OCSP_basic_verify
    - X509_check_issued
    - STACK_OF
    - OCSP_response_status
    - OCSP_resp_find_status
    - OCSP_BASICRESP_free
    - OCSP_cert_to_id
    - X509_free
    - sk_X509_num
    - OCSP_response_status_str
    - OCSP_check_validity
    - OCSP_cert_status_str
    - sk_X509_value
    - OCSP_crl_reason_str
    - DEBUGASSERT
    - SSL_get1_peer_certificate
    - OCSP_CERTID_free
    - EVP_sha1
    - SSL_CTX_get_cert_store
    - OCSP_RESPONSE_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode verifystatus(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             struct ossl_ctx *octx)"
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 2
    argNames:
    - ssl_ver
    - msg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2753
    functionName: ssl_msg_type
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_msg_type(int ssl_ver, int msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2773
    functionName: tls_rt_type
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tls_rt_type(int type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2789,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2825,1
    - Dst: tls_rt_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2855,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2865,1
    - Dst: ssl_msg_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2869,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2872,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2876,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2879,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 7
    argNames:
    - direction
    - ssl_ver
    - content_type
    - buf
    - len
    - ssl
    - userp
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2778
    functionDepth: 8
    functionLinenumber: 2778
    functionLinenumberEnd: 2882
    functionName: ossl_trace
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_alert_desc_string_long
    - curl_msnprintf
    - tls_rt_type
    - Curl_debug
    - CF_DATA_CURRENT
    - ssl_msg_type
    linkageType: ''
    returnType: void
    signature: "void ossl_trace(int direction, int ssl_ver, int content_type,\n                       const
      void *buf, size_t len, SSL *ssl,\n                       void *userp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2894,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2934,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2968,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - cf
    - ctx
    - ssl_version_min
    argTypes:
    - struct Curl_cfilter*
    - SSL_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2890
    functionDepth: 0
    functionLinenumber: 2890
    functionLinenumberEnd: 2973
    functionName: ossl_set_ssl_version_min_max
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_set_ssl_version_min_max(struct Curl_cfilter *cf, SSL_CTX
      *ctx,\n                             unsigned int ssl_version_min)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:2993,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3005,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3006,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3011,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3014,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3017,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3020,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3029,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3032,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - ctx_options
    - cf
    - data
    argTypes:
    - ctx_option_t*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 2988
    functionDepth: 1
    functionLinenumber: 2988
    functionLinenumberEnd: 3047
    functionName: ossl_set_ssl_version_min_max_legacy
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - FALLTHROUGH
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_set_ssl_version_min_max_legacy(ctx_option_t *ctx_options,\n
      \                                   struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3066,1
    - Dst: i2d_SSL_SESSION
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3072,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3078,1
    - Dst: i2d_SSL_SESSION
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3084,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3091,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3094,1
    - Dst: Curl_ssl_session_create2
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3101,1
    - Dst: time
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3103,1
    - Dst: SSL_SESSION_get_timeout
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3104,1
    - Dst: Curl_ssl_scache_put
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3109,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 8
    argNames:
    - cf
    - data
    - ssl_peer_key
    - session
    - ietf_tls_id
    - alpn
    - quic_tp
    - quic_tp_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - SSL_SESSION*
    - int
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3050
    functionDepth: 10
    functionLinenumber: 3050
    functionLinenumberEnd: 3117
    functionName: Curl_ossl_add_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_create2
    - free
    - Curl_ssl_scache_put
    - time
    - SSL_SESSION_get_max_early_data
    - Curl_ssl_scache_use
    - i2d_SSL_SESSION
    - SSL_SESSION_get_timeout
    - Curl_memdup0
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ossl_add_session(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const char *ssl_peer_key,\n
      \                              SSL_SESSION *session,\n                               int
      ietf_tls_id,\n                               const char *alpn,\n                               unsigned
      char *quic_tp,\n                               size_t quic_tp_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3124,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3126,1
    - Dst: Curl_ossl_add_session
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3128,1
    - Dst: SSL_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - ssl_sessionid
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3122
    functionDepth: 11
    functionLinenumber: 3122
    functionLinenumberEnd: 3133
    functionName: ossl_new_session_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_version
    - Curl_ossl_add_session
    - CF_DATA_CURRENT
    - SSL_get_app_data
    linkageType: ''
    returnType: int
    signature: int ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3140,1
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3149,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3153,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3155,1
    - Dst: sk_X509_INFO_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3160,1
    - Dst: sk_X509_INFO_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3161,1
    - Dst: X509_STORE_add_cert
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3163,1
    - Dst: X509_STORE_add_crl
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3173,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3188,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - store
    - ca_info_blob
    argTypes:
    - X509_STORE*
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3135
    functionDepth: 0
    functionLinenumber: 3135
    functionLinenumberEnd: 3196
    functionName: load_cacert_from_memory
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_crl
    - X509_STORE_add_cert
    - BIO_new_mem_buf
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_pop_free
    - STACK_OF
    - BIO_free
    - sk_X509_INFO_value
    - sk_X509_INFO_num
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode load_cacert_from_memory(X509_STORE *store,\n                                        const
      struct curl_blob *ca_info_blob)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenSystemStoreA
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3209,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3229,1
    - Dst: CertGetNameStringA
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3236,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3238,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3240,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3247,1
    - Dst: CompareFileTime
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3248,1
    - Dst: CompareFileTime
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3249,1
    - Dst: CertGetIntendedKeyUsage
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3253,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3259,1
    - Dst: CertGetEnhancedKeyUsage
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3270,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3272,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3275,1
    - Dst: CertGetEnhancedKeyUsage
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3284,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3289,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3297,1
    - Dst: d2i_X509
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3314,1
    - Dst: X509_STORE_add_cert
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3321,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3323,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3327,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3330,1
    - Dst: CertFreeCertificateContext
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3331,1
    - Dst: CertCloseStore
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3332,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 4
    argNames:
    - data
    - win_store
    - store
    - padded
    argTypes:
    - struct Curl_easy*
    - char*
    - X509_STORE*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3339
    functionName: ossl_win_load_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - CertGetIntendedKeyUsage
    - infof
    - free
    - CertGetNameStringA
    - CompareFileTime
    - failf
    - strcmp
    - GetSystemTimeAsFileTime
    - X509_free
    - CertFreeCertificateContext
    - CertCloseStore
    - CertGetEnhancedKeyUsage
    - GetLastError
    - realloc
    - CertOpenSystemStoreA
    - CertEnumCertificatesInStore
    - d2i_X509
    - X509_STORE_add_cert
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_win_load_store(struct Curl_easy *data,\n                                    const
      char *win_store,\n                                    X509_STORE *store,\n                                    bool
      *padded)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3359,1
    - Dst: ossl_win_load_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3361,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3365,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cf
    - data
    - store
    - padded
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509_STORE*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3341
    functionDepth: 2
    functionLinenumber: 3341
    functionLinenumberEnd: 3374
    functionName: ossl_windows_load_anchors
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_ARRAYSIZE
    - ossl_win_load_store
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_windows_load_anchors(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          X509_STORE *store,\n
      \                                         bool *padded)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3383,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3384,1
    - Dst: ossl_windows_load_anchors
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3396,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3400,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3404,1
    - Dst: load_cacert_from_memory
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3410,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3412,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3416,1
    - Dst: X509_STORE_load_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3424,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3427,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3431,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3433,1
    - Dst: X509_STORE_load_path
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3437,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3440,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3444,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3446,1
    - Dst: X509_STORE_load_locations
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3452,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3455,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3462,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3467,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3469,1
    - Dst: X509_STORE_set_default_paths
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3478,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3479,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3484,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 4
    argNames:
    - cf
    - data
    - octx
    - store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3378
    functionDepth: 3
    functionLinenumber: 3378
    functionLinenumberEnd: 3487
    functionName: ossl_load_trust_anchors
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_path
    - infof
    - ossl_windows_load_anchors
    - failf
    - X509_STORE_load_locations
    - Curl_ssl_cf_get_config
    - X509_STORE_load_file
    - X509_STORE_set_default_paths
    - Curl_ssl_cf_get_primary_config
    - load_cacert_from_memory
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_load_trust_anchors(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct ossl_ctx *octx,\n
      \                                       X509_STORE *store)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3494,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3495,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3501,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3506,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3510,1
    - Dst: ossl_load_trust_anchors
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3511,1
    - Dst: X509_STORE_add_lookup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3519,1
    - Dst: X509_LOOKUP_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3519,1
    - Dst: X509_load_crl_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3521,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3522,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3526,1
    - Dst: X509_STORE_set_flags
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - cf
    - data
    - octx
    - store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3489
    functionDepth: 4
    functionLinenumber: 3489
    functionLinenumberEnd: 3551
    functionName: ossl_populate_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - X509_load_crl_file
    - X509_STORE_add_lookup
    - CURL_TRC_CF
    - failf
    - ossl_load_trust_anchors
    - Curl_ssl_cf_get_config
    - X509_LOOKUP_file
    - Curl_ssl_cf_get_primary_config
    - X509_STORE_set_flags
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_populate_x509_store(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct ossl_ctx *octx,\n
      \                                        X509_STORE *store)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3568,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3569,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3569,1
    - Dst: X509_STORE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3573,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3575,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3565
    functionDepth: 1
    functionLinenumber: 3565
    functionLinenumberEnd: 3577
    functionName: oss_x509_share_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - free
    - X509_STORE_free
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void oss_x509_share_free(void *key, size_t key_len, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3587,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mb
    argTypes:
    - struct Curl_easy*
    - struct ossl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3579
    functionDepth: 1
    functionLinenumber: 3579
    functionLinenumberEnd: 3593
    functionName: ossl_cached_x509_store_expired
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: bool
    signature: "bool ossl_cached_x509_store_expired(const struct Curl_easy *data,\n
      \                              const struct ossl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3599,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - mb
    argTypes:
    - struct Curl_cfilter*
    - struct ossl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3595
    functionDepth: 0
    functionLinenumber: 3595
    functionLinenumberEnd: 3604
    functionName: ossl_cached_x509_store_different
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: bool
    signature: "bool ossl_cached_x509_store_different(struct Curl_cfilter *cf,\n                                 const
      struct ossl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3614,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3616,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3617,1
    - Dst: ossl_cached_x509_store_expired
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3620,1
    - Dst: ossl_cached_x509_store_different
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - pempty
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3606
    functionDepth: 2
    functionLinenumber: 3606
    functionLinenumberEnd: 3627
    functionName: ossl_get_cached_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_hash_pick
    - ossl_cached_x509_store_different
    - CURL_UNCONST
    - DEBUGASSERT
    - ossl_cached_x509_store_expired
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *ossl_get_cached_x509_store(struct Curl_cfilter *cf,\n
      \                                             const struct Curl_easy *data,\n
      \                                             bool *pempty)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3634,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3638,1
    - Dst: Curl_hash_pick
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3641,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3642,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3646,1
    - Dst: Curl_hash_add2
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3649,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3650,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3653,1
    - Dst: X509_STORE_up_ref
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3658,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3662,1
    - Dst: X509_STORE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3664,1
    - Dst: X509_STORE_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3670,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3671,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - cf
    - data
    - store
    - is_empty
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509_STORE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3629
    functionDepth: 3
    functionLinenumber: 3629
    functionLinenumberEnd: 3679
    functionName: ossl_set_cached_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_now
    - Curl_hash_pick
    - X509_STORE_free
    - Curl_ssl_cf_get_primary_config
    - Curl_hash_add2
    - X509_STORE_up_ref
    - CURL_UNCONST
    - calloc
    - DEBUGASSERT
    - strdup
    linkageType: ''
    returnType: void
    signature: "void ossl_set_cached_x509_store(struct Curl_cfilter *cf,\n                                       const
      struct Curl_easy *data,\n                                       X509_STORE *store,\n
      \                                      bool is_empty)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3685,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3686,1
    - Dst: ERR_set_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3701,1
    - Dst: ossl_get_cached_x509_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3703,1
    - Dst: X509_STORE_up_ref
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3704,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3705,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3709,1
    - Dst: ossl_populate_x509_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3711,1
    - Dst: ossl_set_cached_x509_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3713,1
    - Dst: ERR_pop_to_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3717,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - data
    - octx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3681
    functionDepth: 5
    functionLinenumber: 3681
    functionLinenumberEnd: 3720
    functionName: Curl_ssl_setup_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - ERR_set_mark
    - SSL_CTX_set_cert_store
    - ossl_get_cached_x509_store
    - ERR_pop_to_mark
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_get_primary_config
    - X509_STORE_up_ref
    - ossl_populate_x509_store
    - ossl_set_cached_x509_store
    - SSL_CTX_get_cert_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_setup_x509_store(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct ossl_ctx *octx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3729,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3731,1
    - Dst: ossl_populate_x509_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3732,1
    - Dst: ERR_pop_to_mark
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - octx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3722
    functionDepth: 5
    functionLinenumber: 3722
    functionLinenumberEnd: 3737
    functionName: Curl_ssl_setup_x509_store
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - ossl_populate_x509_store
    - ERR_set_mark
    - SSL_CTX_get_cert_store
    - ERR_pop_to_mark
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_setup_x509_store(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct ossl_ctx *octx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3749,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3750,1
    - Dst: Curl_alpn_copy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3755,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3758,1
    - Dst: Curl_ssl_scache_take
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3761,1
    - Dst: d2i_SSL_SESSION
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3769,1
    - Dst: SSL_set_session
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3772,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3773,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3775,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3775,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3779,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3784,1
    - Dst: SSL_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3786,1
    - Dst: sess_reuse_cb
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3789,1
    - Dst: Curl_alpn_restrict_to
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3796,1
    - Dst: SSL_SESSION_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3804,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3807,1
    - Dst: Curl_ssl_scache_return
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3810,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3816,1
    - Dst: Curl_alpn_to_proto_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3817,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3819,1
    - Dst: SSL_set_alpn_protos
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3822,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3823,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 6
    argNames:
    - octx
    - cf
    - data
    - peer
    - alpns_requested
    - sess_reuse_cb
    argTypes:
    - struct ossl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_ossl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3741
    functionDepth: 11
    functionLinenumber: 3741
    functionLinenumberEnd: 3830
    functionName: ossl_init_session_and_alpns
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - d2i_SSL_SESSION
    - ossl_strerror
    - failf
    - Curl_ssl_scache_use
    - SSL_set_session
    - Curl_alpn_restrict_to
    - infof
    - Curl_ssl_scache_take
    - memset
    - Curl_alpn_to_proto_buf
    - Curl_ssl_scache_return
    - SSL_version
    - SSL_set_alpn_protos
    - sess_reuse_cb
    - ERR_get_error
    - Curl_ssl_cf_get_config
    - SSL_SESSION_get_max_early_data
    - Curl_ssl_cf_get_primary_config
    - Curl_alpn_copy
    - SSL_SESSION_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_session_and_alpns(struct ossl_ctx *octx,\n                            struct
      Curl_cfilter *cf,\n                            struct Curl_easy *data,\n                            struct
      ssl_peer *peer,\n                            const struct alpn_spec *alpns_requested,\n
      \                           Curl_ossl_init_session_reuse_cb *sess_reuse_cb)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ECH_ENABLED
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3844,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3848,1
    - Dst: SSL_set_enable_ech_grease
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3850,1
    - Dst: SSL_set_options
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3852,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3861,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3864,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3865,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3867,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3871,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3873,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3875,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3879,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3884,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3887,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3888,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3890,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3897,1
    - Dst: Curl_dnscache_get
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3903,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3906,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3918,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3919,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3920,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3926,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3930,1
    - Dst: Curl_resolv_unlink
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3934,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3939,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3944,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3946,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3950,1
    - Dst: SSL_set_min_proto_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3956,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3957,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 4
    argNames:
    - octx
    - cf
    - data
    - peer
    argTypes:
    - struct ossl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3833
    functionDepth: 4
    functionLinenumber: 3833
    functionLinenumberEnd: 3962
    functionName: ossl_init_ech
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - SSL_ech_set1_server_names
    - Curl_dnscache_get
    - curlx_base64_decode
    - SSL_set_min_proto_version
    - SSL_set_enable_ech_grease
    - SSL_set_options
    - strlen
    - ECH_ENABLED
    - SSL_set1_ech_config_list
    - Curl_resolv_unlink
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_ech(struct ossl_ctx *octx,\n                              struct
      Curl_cfilter *cf,\n                              struct Curl_easy *data,\n                              struct
      ssl_peer *peer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3976,1
    - Dst: SSL_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3977,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3979,1
    - Dst: SSL_set_app_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3983,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3986,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3987,1
    - Dst: SSL_set_connect_state
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3990,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3993,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:3994,1
    - Dst: ossl_init_ech
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4001,1
    - Dst: ossl_init_session_and_alpns
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - octx
    - cf
    - data
    - peer
    - alpns_requested
    - ssl_user_data
    - sess_reuse_cb
    argTypes:
    - struct ossl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - void*
    - Curl_ossl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4009
      start: 3966
    functionDepth: 12
    functionLinenumber: 3966
    functionLinenumberEnd: 4009
    functionName: ossl_init_ssl
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - ossl_init_ech
    - ossl_init_session_and_alpns
    - SSL_set_connect_state
    - SSL_set_tlsext_status_type
    - Curl_ssl_cf_get_primary_config
    - SSL_set_app_data
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_new
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_ssl(struct ossl_ctx *octx,\n                              struct
      Curl_cfilter *cf,\n                              struct Curl_easy *data,\n                              struct
      ssl_peer *peer,\n                              const struct alpn_spec *alpns_requested,\n
      \                             void *ssl_user_data,\n                              Curl_ossl_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4018,1
    - Dst: TLS_client_method
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4034,1
    - Dst: SSLv23_client_method
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4036,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4040,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4043,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4046,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4055,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4060,1
    - Dst: TLS_method
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4062,1
    - Dst: SSLv23_client_method
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4064,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - cf
    - data
    - peer
    - pmethod
    - pssl_version_min
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - SSL_METHOD**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4073
    functionName: ossl_init_method
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - TLS_method
    - failf
    - SSLv23_client_method
    - Curl_ssl_cf_get_primary_config
    - TLS_client_method
    - OSSL_QUIC_client_method
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_method(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct ssl_peer *peer,\n
      \                                const SSL_METHOD **pmethod,\n                                 unsigned
      int *pssl_version_min)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4279
    functionDepth: 0
    functionLinenumber: 4279
    functionLinenumberEnd: 4280
    functionName: OSSL_CURVE_CAST
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CURVE_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4281
    functionDepth: 0
    functionLinenumber: 4281
    functionLinenumberEnd: 4282
    functionName: OSSL_CURVE_CAST
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CURVE_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4292
      start: 4291
    functionDepth: 0
    functionLinenumber: 4291
    functionLinenumberEnd: 4292
    functionName: OSSL_SIGALG_CAST
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SIGALG_CAST(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4391,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4393,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4394,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4397,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4401,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4407
      start: 4379
    functionDepth: 1
    functionLinenumber: 4379
    functionLinenumberEnd: 4407
    functionName: ossl_on_session_reuse
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - Curl_alpn_contains_proto
    - strlen
    - Curl_alpn_set_negotiated
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_on_session_reuse(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct alpn_spec *alpns,\n
      \                                     struct Curl_ssl_session *scs,\n                                      bool
      *do_early_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4413,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4418,1
    - Dst: SSL_get0_group_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4420,1
    - Dst: OBJ_nid2sn
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4423,1
    - Dst: SSL_get_negotiated_group
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4423,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4428,1
    - Dst: SSL_get_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4429,1
    - Dst: SSL_get_cipher
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4430,1
    - Dst: OBJ_nid2sn
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - octx
    argTypes:
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4439
      start: 4409
    functionDepth: 1
    functionLinenumber: 4409
    functionLinenumberEnd: 4439
    functionName: Curl_ossl_report_handshake
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_peer_signature_type_nid
    - infof
    - Curl_trc_is_verbose
    - SSL_get0_group_name
    - SSL_get_negotiated_group
    - SSL_get_cipher
    - OBJ_nid2sn
    - SSL_get_version
    linkageType: ''
    returnType: void
    signature: "void Curl_ossl_report_handshake(struct Curl_easy *data,\n                                struct
      ossl_ctx *octx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4449,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4450,1
    - Dst: Curl_ossl_ctx_init
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4452,1
    - Dst: ossl_bio_cf_method_create
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4459,1
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4462,1
    - Dst: BIO_set_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4466,1
    - Dst: BIO_up_ref
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4473,1
    - Dst: SSL_set0_rbio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4474,1
    - Dst: SSL_set0_wbio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4475,1
    - Dst: SSL_set_bio
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4477,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4483,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4484,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4490
      start: 4441
    functionDepth: 1
    functionLinenumber: 4441
    functionLinenumberEnd: 4490
    functionName: ossl_connect_step1
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_set0_wbio
    - infof
    - BIO_up_ref
    - SSL_set_bio
    - memset
    - DEBUGASSERT
    - BIO_new
    - ossl_bio_cf_method_create
    - Curl_alpn_to_proto_str
    - Curl_ossl_ctx_init
    - BIO_set_data
    - SSL_set0_rbio
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect_step1(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ECH_ENABLED
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4513,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4516,1
    - Dst: SSL_get0_ech_retry_configs
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4518,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4526,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4528,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4529,1
    - Dst: SSL_ech_get1_status
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4531,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4532,1
    - Dst: SSL_ech_accepted
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4535,1
    - Dst: SSL_get_servername_type
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4536,1
    - Dst: SSL_get_servername
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4537,1
    - Dst: SSL_get0_ech_name_override
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4538,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4539,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4545,1
    - Dst: OPENSSL_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - data
    - ssl
    - reason
    argTypes:
    - struct Curl_easy*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4494
    functionDepth: 1
    functionLinenumber: 4494
    functionLinenumberEnd: 4550
    functionName: ossl_trace_ech_retry_configs
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - SSL_ech_get1_status
    - SSL_ech_accepted
    - SSL_get_servername
    - SSL_ech_get1_retry_config
    - OPENSSL_free
    - SSL_get_servername_type
    - curlx_base64_encode
    - SSL_get0_ech_retry_configs
    - ECH_ENABLED
    - SSL_get0_ech_name_override
    linkageType: ''
    returnType: void
    signature: "void ossl_trace_ech_retry_configs(struct Curl_easy *data, SSL* ssl,\n
      \                                        int reason)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4560,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4561,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4562,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4565,1
    - Dst: SSL_connect
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4567,1
    - Dst: Curl_ssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4572,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4582,1
    - Dst: ossl_log_tls12_secret
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4583,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4590,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4591,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4594,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4599,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4605,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4612,1
    - Dst: Curl_xfer_pause_recv
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4613,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4631,1
    - Dst: ERR_GET_LIB
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4634,1
    - Dst: ERR_GET_REASON
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4635,1
    - Dst: SSL_get_verify_result
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4642,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4645,1
    - Dst: X509_verify_cert_error_string
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4646,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4649,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4659,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4660,1
    - Dst: HAVE_BORINGSSL_LIKE
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4665,1
    - Dst: ossl_trace_ech_retry_configs
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4672,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4675,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4676,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4681,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4682,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4696,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4697,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4698,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4704
      start: 4554
    functionDepth: 6
    functionLinenumber: 4554
    functionLinenumberEnd: 4704
    functionName: ossl_connect_step2
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - HAVE_BORINGSSL_LIKE
    - ossl_strerror
    - CURL_TRC_CF
    - failf
    - Curl_tls_keylog_enabled
    - curlx_strerror
    - SSL_get_verify_result
    - SSL_connect
    - ERR_GET_REASON
    - X509_verify_cert_error_string
    - ossl_log_tls12_secret
    - ERR_clear_error
    - ERR_GET_LIB
    - Curl_xfer_pause_recv
    - DEBUGASSERT
    - ossl_trace_ech_retry_configs
    - ERR_get_error
    - Curl_ssl_cf_get_config
    - Curl_ssl_setup_x509_store
    - SSL_ERROR_to_str
    - SSL_get_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect_step2(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_PUBKEY
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4811,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4811,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4815,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4820,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4820,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4833,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4837,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - data
    - cert
    - pinnedpubkey
    argTypes:
    - struct Curl_easy*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4840
      start: 4791
    functionDepth: 1
    functionLinenumber: 4791
    functionLinenumberEnd: 4840
    functionName: ossl_pkp_pin_peer_pubkey
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - free
    - X509_get_X509_PUBKEY
    - i2d_X509_PUBKEY
    - malloc
    - Curl_pin_peer_pubkey
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_pkp_pin_peer_pubkey(struct Curl_easy *data, X509* cert,\n
      \                                        const char *pinnedpubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4848,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4853,1
    - Dst: SSL_get_verify_result
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4856,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4858,1
    - Dst: SSL_get0_verified_chain
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4860,1
    - Dst: sk_X509_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4863,1
    - Dst: sk_X509_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4877,1
    - Dst: X509_get0_pubkey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4881,1
    - Dst: X509_get0_signature
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4885,1
    - Dst: X509_ALGOR_get0
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4886,1
    - Dst: OBJ_obj2txt
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4887,1
    - Dst: EVP_PKEY_bits
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4889,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4893,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4897,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4899,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4902,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - data
    - ssl
    argTypes:
    - struct Curl_easy*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4915
      start: 4846
    functionDepth: 6
    functionLinenumber: 4846
    functionLinenumberEnd: 4915
    functionName: infof_certstack
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_bits
    - infof
    - Curl_trc_is_verbose
    - sk_X509_num
    - EVP_PKEY_get0_type_name
    - curl_msnprintf
    - OBJ_obj2txt
    - sk_X509_value
    - SSL_get_verify_result
    - EVP_PKEY_get_group_name
    - X509_ALGOR_get0
    - STACK_OF
    - SSL_get0_verified_chain
    - X509_get0_signature
    - X509_get0_pubkey
    - SSL_get_peer_cert_chain
    - EVP_PKEY_get_security_bits
    linkageType: ''
    returnType: void
    signature: void infof_certstack(struct Curl_easy *data, const SSL *ssl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4924,1
    - Dst: BIO_new_mem_buf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4933,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4936,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4937,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4937,1
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4943,1
    - Dst: BIO_s_file
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4943,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4945,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4946,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4946,1
    - Dst: BIO_read_filename
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4951,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4953,1
    - Dst: PEM_read_bio_X509
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4961,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4964,1
    - Dst: X509_check_issued
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4970,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4972,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4978,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4984,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4986,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - cf
    - data
    - server_cert
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4988
      start: 4920
    functionDepth: 2
    functionLinenumber: 4920
    functionLinenumberEnd: 4988
    functionName: ossl_check_issuer
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - ossl_strerror
    - ERR_get_error
    - failf
    - BIO_new_mem_buf
    - X509_free
    - BIO_read_filename
    - X509_check_issued
    - PEM_read_bio_X509
    - Curl_ssl_cf_get_primary_config
    - BIO_new
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_check_issuer(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  X509 *server_cert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:4999,1
    - Dst: ossl_pkp_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5006,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - server_cert
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 4990
    functionDepth: 2
    functionLinenumber: 4990
    functionLinenumberEnd: 5011
    functionName: ossl_check_pinned_key
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_pkp_pin_peer_pubkey
    - failf
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_check_pinned_key(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      X509 *server_cert)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5019,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5028,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5031,1
    - Dst: BIO_new
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5032,1
    - Dst: BIO_s_mem
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5032,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5034,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5035,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5035,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5040,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5040,1
    - Dst: x509_name_oneline
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5043,1
    - Dst: X509_get_subject_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5043,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5044,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5044,1
    - Dst: ASN1_TIME_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5046,1
    - Dst: X509_get0_notBefore
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5046,1
    - Dst: BIO_get_mem_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5047,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5048,1
    - Dst: BIO_reset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5049,1
    - Dst: ASN1_TIME_print
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5051,1
    - Dst: X509_get0_notAfter
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5051,1
    - Dst: BIO_get_mem_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5052,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5053,1
    - Dst: BIO_reset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5054,1
    - Dst: x509_name_oneline
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5056,1
    - Dst: X509_get_issuer_name
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5056,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5059,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5063,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5063,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5066,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5067,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - cf
    - data
    - server_cert
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5069
      start: 5015
    functionDepth: 2
    functionLinenumber: 5015
    functionLinenumberEnd: 5069
    functionName: ossl_infof_cert
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - failf
    - Curl_ssl_cf_is_proxy
    - ASN1_TIME_print
    - BIO_free
    - infof
    - x509_name_oneline
    - Curl_trc_is_verbose
    - curlx_dyn_ptr
    - curlx_dyn_init
    - BIO_s_mem
    - BIO_reset
    - X509_get0_notBefore
    - X509_get_issuer_name
    - X509_get0_notAfter
    - BIO_get_mem_data
    - ERR_get_error
    - Curl_ssl_cf_get_primary_config
    - curlx_dyn_free
    - BIO_new
    - X509_get_subject_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_infof_cert(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                X509 *server_cert)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5097,1
    - Dst: i2d_X509
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - cf
    - data
    - user_data
    - i
    - pder
    - pder_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5105
      start: 5079
    functionDepth: 0
    functionLinenumber: 5079
    functionLinenumberEnd: 5105
    functionName: ossl_chain_get_der
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    - sk_X509_value
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_chain_get_der(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   void *user_data,\n                                   size_t
      i,\n                                   unsigned char **pder,\n                                   size_t
      *pder_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5113,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5117,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5118,1
    - Dst: sk_X509_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5119,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5123,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5134,1
    - Dst: Curl_vtls_apple_verify
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - octx
    - peer
    - pverified
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - struct ssl_peer*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 5107
    functionDepth: 0
    functionLinenumber: 5107
    functionLinenumberEnd: 5146
    functionName: ossl_apple_verify
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - sk_X509_num
    - Curl_ssl_cf_get_primary_config
    - SSL_get_tlsext_status_ocsp_resp
    - memset
    - Curl_vtls_apple_verify
    - SSL_get_peer_cert_chain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_apple_verify(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct ossl_ctx *octx,\n
      \                                 struct ssl_peer *peer,\n                                  bool
      *pverified)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5265,1
    - Dst: Curl_ossl_check_peer_cert
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5274,1
    - Dst: Curl_ssl_scache_remove_all
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5258
    functionDepth: 6
    functionLinenumber: 5258
    functionLinenumberEnd: 5280
    functionName: ossl_connect_step3
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_ossl_check_peer_cert
    - DEBUGASSERT
    - Curl_ssl_scache_remove_all
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect_step3(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5293,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5295,1
    - Dst: SSL_write_early_data
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5297,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5298,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5303,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5321,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5323,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5325,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5327,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5328,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5330,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5338,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5339,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5340,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5346,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5347,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5352,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5355,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5358
      start: 5283
    functionDepth: 6
    functionLinenumber: 5283
    functionLinenumberEnd: 5358
    functionName: ossl_send_earlydata
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - ossl_strerror
    - ERR_get_error
    - CURL_TRC_CF
    - failf
    - Curl_bufq_peek
    - curl_msnprintf
    - curlx_strerror
    - SSL_ERROR_to_str
    - SSL_get_error
    - DEBUGASSERT
    - SSL_write_early_data
    - Curl_bufq_skip
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_send_earlydata(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5378,1
    - Dst: ossl_connect_step1
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5379,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5385,1
    - Dst: ossl_send_earlydata
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5391,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5397,1
    - Dst: ossl_connect_step2
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5400,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5406,1
    - Dst: ossl_connect_step3
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5407,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5415,1
    - Dst: SSL_get_early_data_status
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5417,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5424,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5436
      start: 5361
    functionDepth: 7
    functionLinenumber: 5361
    functionLinenumberEnd: 5436
    functionName: ossl_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_send_earlydata
    - CURL_TRC_CF
    - ossl_connect_step1
    - SSL_get_early_data_status
    - ossl_connect_step2
    - DEBUGASSERT
    - ossl_connect_step3
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5438
    functionDepth: 0
    functionLinenumber: 5438
    functionLinenumberEnd: 5444
    functionName: ossl_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ossl_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5464,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5466,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5475,1
    - Dst: SSL_write
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5481,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5486,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5507,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5509,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5511,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5513,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5514,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5516,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5524,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5525,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5526,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5532,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5541
      start: 5446
    functionDepth: 6
    functionLinenumber: 5446
    functionLinenumberEnd: 5541
    functionName: ossl_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - ERR_get_error
    - failf
    - curl_msnprintf
    - SSL_ERROR_to_str
    - curlx_strerror
    - SSL_get_error
    - DEBUGASSERT
    - SSL_write
    - ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_send(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          const void *mem,\n                          size_t
      len,\n                          size_t *pnwritten)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5559,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5562,1
    - Dst: SSL_read
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5566,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5572,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5582,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5600,1
    - Dst: ossl_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5606,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5608,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5610,1
    - Dst: SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5611,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5612,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5623,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5631,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5633,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5636,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5655,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - buffersize
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5658
      start: 5543
    functionDepth: 6
    functionLinenumber: 5543
    functionLinenumberEnd: 5658
    functionName: ossl_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_strerror
    - ERR_get_error
    - failf
    - SSL_read
    - CURL_TRC_CF
    - curl_msnprintf
    - SSL_ERROR_to_str
    - curlx_strerror
    - SSL_get_error
    - connclose
    - DEBUGASSERT
    - ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_recv(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,   /* transfer */\n                          char *buf,                /*
      store read data here */\n                          size_t buffersize,        /*
      max amount to read */\n                          size_t *pnread)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5682,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5691,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5695,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5700,1
    - Dst: X509_get_signature_nid
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5700,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5701,1
    - Dst: EVP_sha256
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5709,1
    - Dst: EVP_get_digestbynid
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5712,1
    - Dst: OBJ_nid2sn
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5714,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5715,1
    - Dst: X509_digest
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5722,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5723,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5729,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5734,1
    - Dst: X509_free
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5737,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - data
    - sockindex
    - binding
    argTypes:
    - struct Curl_easy*
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5746
      start: 5660
    functionDepth: 1
    functionLinenumber: 5660
    functionLinenumberEnd: 5746
    functionName: ossl_get_channel_binding
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - OBJ_find_sigid_algs
    - failf
    - X509_free
    - X509_get_signature_nid
    - strcmp
    - OBJ_nid2sn
    - X509_digest
    - EVP_sha256
    - SSL_get1_peer_certificate
    - EVP_get_digestbynid
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_get_channel_binding(struct Curl_easy *data, int sockindex,\n
      \                                        struct dynbuf *binding)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5753,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5755,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5758,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5760,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5766,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5769,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5772,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5775,1
    - Dst: OpenSSL_version
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5776,1
    - Dst: OpenSSL_version_num
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5784,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5799,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5810
      start: 5748
    functionDepth: 6
    functionLinenumber: 5748
    functionLinenumberEnd: 5810
    functionName: Curl_ossl_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - ISBLANK
    - curl_msnprintf
    - curl_strnequal
    - OpenSSL_version
    - OpenSSL_version_num
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_ossl_version(char *buffer, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seed
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5818,1
    - Dst: rand_enough
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5822,1
    - Dst: RAND_bytes
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5826,1
    - Dst: curlx_uztosi
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5828
      start: 5813
    functionDepth: 2
    functionLinenumber: 5813
    functionLinenumberEnd: 5828
    functionName: ossl_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_seed
    - curlx_uztosi
    - rand_enough
    - RAND_bytes
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_random(struct Curl_easy *data,\n                            unsigned
      char *entropy, size_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5840,1
    - Dst: EVP_DigestInit
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5843,1
    - Dst: EVP_sha256
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5843,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5844,1
    - Dst: EVP_DigestUpdate
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5847,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5848,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tmp
    - tmplen
    - sha256sum
    - unused
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5851
      start: 5831
    functionDepth: 0
    functionLinenumber: 5831
    functionLinenumberEnd: 5851
    functionName: ossl_sha256sum
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_create
    - EVP_DigestInit
    - EVP_sha256
    - EVP_DigestUpdate
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_sha256sum(const unsigned char *tmp, /* input */\n                               size_t
      tmplen,\n                               unsigned char *sha256sum /* output */,\n
      \                              size_t unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5861
      start: 5854
    functionDepth: 0
    functionLinenumber: 5854
    functionLinenumberEnd: 5861
    functionName: ossl_cert_status_request
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ossl_cert_status_request(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/openssl.c:5868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5871
      start: 5863
    functionDepth: 1
    functionLinenumber: 5863
    functionLinenumberEnd: 5871
    functionName: ossl_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *ossl_get_internals(struct ssl_connect_data *connssl,\n                                CURLINFO
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: CLONE_STRING
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_STRING(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: CLONE_BLOB
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_BLOB(var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:109,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:110,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/vtls.c:114,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - struct curl_blob**
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: blobdup
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - malloc
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode blobdup(struct curl_blob **dest,\n                        struct
      curl_blob *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - struct curl_blob*
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: blobcmp
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool blobcmp(struct curl_blob *first, struct curl_blob *second)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - allowed
    - use_alpn
    argTypes:
    - http_majors
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: alpn_get_spec
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct alpn_spec
    signature: 'struct alpn_spec *

      alpn_get_spec(http_majors allowed, bool use_alpn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: Curl_ssl_easy_config_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_easy_config_init(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blobcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:204,1
    - Dst: blobcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:205,1
    - Dst: blobcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:206,1
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:207,1
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:208,1
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:209,1
    - Dst: Curl_safecmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:210,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:212,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:213,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:215,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:216,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:217,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:218,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:219,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:220,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 5
    argCount: 3
    argNames:
    - data
    - c1
    - c2
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 224
    functionName: match_ssl_primary_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    - Curl_safecmp
    - Curl_timestrcmp
    - blobcmp
    linkageType: ''
    returnType: bool
    signature: "bool match_ssl_primary_config(struct Curl_easy *data,\n                         struct
      ssl_primary_config *c1,\n                         struct ssl_primary_config
      *c2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_ssl_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls.c:232,1
    - Dst: match_ssl_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - candidate
    - proxy
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: Curl_ssl_conn_config_match
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - match_ssl_primary_config
    linkageType: ''
    returnType: bool
    signature: "bool Curl_ssl_conn_config_match(struct Curl_easy *data,\n                                struct
      connectdata *candidate,\n                                bool proxy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_BLOB
      Src: /src/PROJ/curl/lib/vtls/vtls.c:252,1
    - Dst: CLONE_BLOB
      Src: /src/PROJ/curl/lib/vtls/vtls.c:253,1
    - Dst: CLONE_BLOB
      Src: /src/PROJ/curl/lib/vtls/vtls.c:254,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:255,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:256,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:257,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:258,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:259,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:260,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:261,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:262,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:263,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:264,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:266,1
    - Dst: CLONE_STRING
      Src: /src/PROJ/curl/lib/vtls/vtls.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - struct ssl_primary_config*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 271
    functionName: clone_ssl_primary_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CLONE_BLOB
    - CLONE_STRING
    linkageType: ''
    returnType: bool
    signature: "bool clone_ssl_primary_config(struct ssl_primary_config *source,\n
      \                                    struct ssl_primary_config *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:275,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:276,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:277,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:278,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:279,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:280,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:281,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:282,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:283,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:284,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:285,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:286,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:287,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:289,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - sslc
    argTypes:
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: free_primary_ssl_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void free_primary_ssl_config(struct ssl_primary_config *sslc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_backend
      Src: /src/PROJ/curl/lib/vtls/vtls.c:302,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/vtls/vtls.c:309,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/vtls/vtls.c:317,1
    - Dst: Curl_ssl_backend
      Src: /src/PROJ/curl/lib/vtls/vtls.c:349,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/vtls/vtls.c:356,1
    - Dst: Curl_setstropt
      Src: /src/PROJ/curl/lib/vtls/vtls.c:365,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 394
    functionName: Curl_ssl_easy_config_complete
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_backend
    - Curl_setstropt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clone_ssl_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls.c:402,1
    - Dst: clone_ssl_primary_config
      Src: /src/PROJ/curl/lib/vtls/vtls.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: Curl_ssl_conn_config_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - clone_ssl_primary_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_conn_config_init(struct Curl_easy *data,\n                                   struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_primary_ssl_config
      Src: /src/PROJ/curl/lib/vtls/vtls.c:414,1
    - Dst: free_primary_ssl_config
      Src: /src/PROJ/curl/lib/vtls/vtls.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: Curl_ssl_conn_config_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - free_primary_ssl_config
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_conn_config_cleanup(struct connectdata *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - for_proxy
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: Curl_ssl_conn_config_update
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_conn_config_update(struct Curl_easy *data, bool for_proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: Curl_ssl_backend
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - multissl_setup
    linkageType: ''
    returnType: curl_sslbackend
    signature: curl_sslbackend Curl_ssl_backend(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PROJ/curl/lib/vtls/vtls.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: Curl_ssl_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - init
    linkageType: ''
    returnType: int
    signature: int Curl_ssl_init(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:481,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 498
    functionName: ssl_prefs_check
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: bool
    signature: bool ssl_prefs_check(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls.c:506,1
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/vtls/vtls.c:512,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls.c:513,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - alpn
    argTypes:
    - struct Curl_easy*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: cf_ctx_new
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - Curl_bufq_init2
    linkageType: ''
    returnType: struct ssl_connect_data
    signature: "struct ssl_connect_data *cf_ctx_new(struct Curl_easy *data,\n                                           const
      struct alpn_spec *alpn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:524,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:525,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:526,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ssl_connect_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: cf_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void cf_ctx_free(struct ssl_connect_data *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_channel_binding
      Src: /src/PROJ/curl/lib/vtls/vtls.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - data
    - sockindex
    - binding
    argTypes:
    - struct Curl_easy*
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: Curl_ssl_get_channel_binding
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - get_channel_binding
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_get_channel_binding(struct Curl_easy *data, int
      sockindex,\n                                      struct dynbuf *binding)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_all
      Src: /src/PROJ/curl/lib/vtls/vtls.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: Curl_ssl_close_all
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - close_all
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_close_all(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/PROJ/curl/lib/vtls/vtls.c:552,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/PROJ/curl/lib/vtls/vtls.c:556,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:557,1
    - Dst: Curl_pollset_set_in_only
      Src: /src/PROJ/curl/lib/vtls/vtls.c:561,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 569
    functionName: Curl_ssl_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set_out_only
    - Curl_pollset_set_in_only
    - Curl_conn_cf_get_socket
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_adjust_pollset(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_engine
      Src: /src/PROJ/curl/lib/vtls/vtls.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - engine
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: Curl_ssl_set_engine
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - set_engine
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_set_engine(struct Curl_easy *data, const char *engine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_engine_default
      Src: /src/PROJ/curl/lib/vtls/vtls.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: Curl_ssl_set_engine_default
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - set_engine_default
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_set_engine_default(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engines_list
      Src: /src/PROJ/curl/lib/vtls/vtls.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: Curl_ssl_engines_list
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - engines_list
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_ssl_engines_list(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multissl_version
      Src: /src/PROJ/curl/lib/vtls/vtls.c:602,1
    - Dst: version
      Src: /src/PROJ/curl/lib/vtls/vtls.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: Curl_ssl_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - version
    - multissl_version
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_version(char *buffer, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/vtls/vtls.c:616,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 624
    functionName: Curl_ssl_free_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 3
    functionsReached:
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_free_certinfo(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_free_certinfo
      Src: /src/PROJ/curl/lib/vtls/vtls.c:632,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - num
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: Curl_ssl_init_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 4
    functionsReached:
    - Curl_ssl_free_certinfo
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_init_certinfo(struct Curl_easy *data, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:659,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/vtls.c:661,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vtls/vtls.c:663,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls.c:664,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls.c:665,1
    - Dst: Curl_slist_append_nodup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:668,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:669,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:671,1
    - Dst: curl_slist_free_all
      Src: /src/PROJ/curl/lib/vtls/vtls.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - data
    - certnum
    - label
    - value
    - valuelen
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 678
    functionName: Curl_ssl_push_certinfo_len
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 4
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curl_slist_free_all
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_add
    - Curl_slist_append_nodup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_push_certinfo_len(struct Curl_easy *data,\n                                    int
      certnum,\n                                    const char *label,\n                                    const
      char *value,\n                                    size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:685,1
    - Dst: random
      Src: /src/PROJ/curl/lib/vtls/vtls.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 690
    functionName: Curl_ssl_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - random
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_random(struct Curl_easy *data,\n                         unsigned
      char *entropy,\n                         size_t length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/vtls.c:708,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:710,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:723,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls.c:736,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vtls/vtls.c:743,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/vtls/vtls.c:744,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:744,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pem
    - der
    - der_len
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 751
    functionName: pubkey_pem_to_der
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - strstr
    - curlx_base64_decode
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pubkey_pem_to_der(const char *pem,\n                                  unsigned
      char **der, size_t *der_len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:773,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/vtls.c:785,1
    - Dst: sha256sum
      Src: /src/PROJ/curl/lib/vtls/vtls.c:788,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vtls/vtls.c:792,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:795,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:800,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:803,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:805,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:811,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:820,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:821,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:832,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:835,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:836,1
    - Dst: curlx_fopen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:845,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vtls/vtls.c:849,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/vtls/vtls.c:852,1
    - Dst: ftell
      Src: /src/PROJ/curl/lib/vtls/vtls.c:854,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/vtls/vtls.c:855,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/vtls/vtls.c:864,1
    - Dst: fread
      Src: /src/PROJ/curl/lib/vtls/vtls.c:875,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vtls/vtls.c:877,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:884,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:884,1
    - Dst: pubkey_pem_to_der
      Src: /src/PROJ/curl/lib/vtls/vtls.c:893,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:893,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:902,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:905,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:906,1
    - Dst: curlx_fclose
      Src: /src/PROJ/curl/lib/vtls/vtls.c:907,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 4
    argNames:
    - data
    - pinnedpubkey
    - pubkey
    - pubkeylen
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 911
    functionName: Curl_pin_peer_pubkey
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 4
    functionsReached:
    - strncmp
    - sha256sum
    - memcmp
    - fseek
    - fread
    - infof
    - ftell
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curlx_fopen
    - curlx_base64_encode
    - strlen
    - curlx_fclose
    - curlx_sotouz
    - strstr
    - curlx_dyn_free
    - Curl_safefree
    - malloc
    - pubkey_pem_to_der
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pin_peer_pubkey(struct Curl_easy *data,\n                              const
      char *pinnedpubkey,\n                              const unsigned char *pubkey,
      size_t pubkeylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cert_status_request
      Src: /src/PROJ/curl/lib/vtls/vtls.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 921
    functionName: Curl_ssl_cert_status_request
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cert_status_request
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_cert_status_request(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:925,1
    - Dst: init
      Src: /src/PROJ/curl/lib/vtls/vtls.c:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: multissl_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - init
    linkageType: ''
    returnType: int
    signature: int multissl_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:935,1
    - Dst: random
      Src: /src/PROJ/curl/lib/vtls/vtls.c:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 938
    functionName: multissl_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - random
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_random(struct Curl_easy *data,\n                                unsigned
      char *entropy, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:943,1
    - Dst: do_connect
      Src: /src/PROJ/curl/lib/vtls/vtls.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 946
    functionName: multissl_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data, bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:952,1
    - Dst: adjust_pollset
      Src: /src/PROJ/curl/lib/vtls/vtls.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 955
    functionName: multissl_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_adjust_pollset(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct easy_pollset
      *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:960,1
    - Dst: get_internals
      Src: /src/PROJ/curl/lib/vtls/vtls.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 963
    functionName: multissl_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - get_internals
    linkageType: ''
    returnType: void
    signature: "void *multissl_get_internals(struct ssl_connect_data *connssl,\n                                    CURLINFO
      info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:967,1
    - Dst: close
      Src: /src/PROJ/curl/lib/vtls/vtls.c:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: multissl_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - close
    linkageType: ''
    returnType: void
    signature: void multissl_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:976,1
    - Dst: recv_plain
      Src: /src/PROJ/curl/lib/vtls/vtls.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 979
    functionName: multissl_recv_plain
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - recv_plain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_recv_plain(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    char *buf, size_t len,
      size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:986,1
    - Dst: send_plain
      Src: /src/PROJ/curl/lib/vtls/vtls.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 989
    functionName: multissl_send_plain
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - send_plain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_send_plain(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    const void *mem, size_t
      len,\n                                    size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1070
    functionName: Curl_ssl_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1094,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1095,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1072
    functionDepth: 6
    functionLinenumber: 1072
    functionLinenumberEnd: 1110
    functionName: multissl_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - version
    - curl_msnprintf
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: size_t multissl_version(char *buffer, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1128,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1131,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1133,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1141,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1144,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - backend
    argTypes:
    - struct Curl_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1154
    functionName: multissl_setup
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 9
    functionsReached:
    - free
    - curl_strequal
    - curl_getenv
    linkageType: ''
    returnType: int
    signature: int multissl_setup(const struct Curl_ssl *backend)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1168,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1178,1
    - Dst: multissl_setup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - id
    - name
    - avail
    argTypes:
    - curl_sslbackend
    - char*
    - curl_ssl_backend***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1158
    functionDepth: 4
    functionLinenumber: 1158
    functionLinenumberEnd: 1185
    functionName: Curl_init_sslset_nolock
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - multissl_setup
    - curl_strequal
    linkageType: ''
    returnType: CURLsslset
    signature: "CURLsslset Curl_init_sslset_nolock(curl_sslbackend id, const char
      *name,\n                                   const curl_ssl_backend ***avail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - id
    - name
    - avail
    argTypes:
    - curl_sslbackend
    - char*
    - curl_ssl_backend***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1195
    functionName: Curl_init_sslset_nolock
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLsslset
    signature: "CURLsslset Curl_init_sslset_nolock(curl_sslbackend id, const char
      *name,\n                                   const curl_ssl_backend ***avail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1203,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1205,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1207,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1210
    functionName: Curl_ssl_peer_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_peer_cleanup(struct ssl_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ssl_connect_data*::ssl_impl::close
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1216,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1221
    functionName: cf_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - Curl_ssl_peer_cleanup
    - struct ssl_connect_data*::ssl_impl::close
    linkageType: ''
    returnType: void
    signature: void cf_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1231,1
    - Dst: curlx_inet_pton
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1240
    functionName: get_peer_type
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    linkageType: ''
    returnType: ssl_peer_type
    signature: ssl_peer_type get_peer_type(const char *hostname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1251,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1252,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1253,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1254,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1262,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1281,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1284,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1287,1
    - Dst: get_peer_type
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1291,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1295,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1299,1
    - Dst: Curl_strntolower
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1302,1
    - Dst: Curl_ssl_peer_key_make
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1307,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1311,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - peer
    - cf
    - tls_id
    - transport
    argTypes:
    - struct ssl_peer*
    - struct Curl_cfilter*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1242
    functionDepth: 4
    functionLinenumber: 1242
    functionLinenumberEnd: 1313
    functionName: Curl_ssl_peer_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_peer_cleanup
    - strcmp
    - get_peer_type
    - Curl_ssl_cf_is_proxy
    - Curl_strntolower
    - Curl_ssl_peer_key_make
    - calloc
    - DEBUGASSERT
    - strlen
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_peer_init(struct ssl_peer *peer,\n                            struct
      Curl_cfilter *cf,\n                            const char *tls_id,\n                            int
      transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1319,1
    - Dst: cf_close
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1320,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1321,1
    - Dst: cf_ctx_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1315
    functionDepth: 3
    functionLinenumber: 1315
    functionLinenumberEnd: 1324
    functionName: ssl_cf_destroy
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - cf_close
    - cf_ctx_free
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: void
    signature: void ssl_cf_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1331,1
    - Dst: cf_close
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1332,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1334,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1336
    functionName: ssl_cf_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - cf_close
    - struct Curl_cfilter*::next::cft::do_close
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: void
    signature: "void ssl_cf_close(struct Curl_cfilter *cf,\n                         struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1357,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1362,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1363,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1364,1
    - Dst: ssl_prefs_check
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1369,1
    - Dst: struct ssl_connect_data*::ssl_impl::version
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1378,1
    - Dst: Curl_ssl_peer_init
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1379,1
    - Dst: struct ssl_connect_data*::ssl_impl::do_connect
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1384,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1389,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1391,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1393,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1397,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1398,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1338
    functionDepth: 5
    functionLinenumber: 1338
    functionLinenumberEnd: 1400
    functionName: ssl_cf_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct ssl_connect_data*::ssl_impl::do_connect
    - CURL_TRC_CF
    - curlx_now
    - ssl_prefs_check
    - DEBUGASSERT
    - struct ssl_connect_data*::ssl_impl::version
    - CF_DATA_RESTORE
    - Curl_ssl_peer_init
    - struct Curl_cfilter*::next::cft::do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_connect(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1410,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1411,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1411,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1415,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cf
    - data
    - buf
    - blen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1402
    functionDepth: 5
    functionLinenumber: 1402
    functionLinenumberEnd: 1422
    functionName: ssl_cf_set_earlydata
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - DEBUGASSERT
    - Curl_bufq_write
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_set_earlydata(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     const void *buf, size_t
      blen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1432,1
    - Dst: ssl_cf_set_earlydata
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1435,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1441,1
    - Dst: ssl_cf_connect
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1444,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1447,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1452,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1453,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1454,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1458,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1459,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1460,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1424
    functionDepth: 6
    functionLinenumber: 1424
    functionLinenumberEnd: 1471
    functionName: ssl_cf_connect_deferred
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_pgrsEarlyData
    - ssl_cf_set_earlydata
    - Curl_ssl_cf_is_proxy
    - ssl_cf_connect
    - Curl_bufq_len
    - DEBUGASSERT
    - Curl_pgrsTimeWas
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_connect_deferred(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        const void *buf, size_t
      blen,\n                                        bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1480,1
    - Dst: struct ssl_connect_data*::ssl_impl::data_pending
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1482,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1485,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1488
    functionName: ssl_cf_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct ssl_connect_data*::ssl_impl::data_pending
    - struct Curl_cfilter*::next::cft::has_data_pending
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: bool
    signature: "bool ssl_cf_data_pending(struct Curl_cfilter *cf,\n                                const
      struct Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1501,1
    - Dst: ssl_cf_connect_deferred
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1505,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1512,1
    - Dst: struct ssl_connect_data*::ssl_impl::send_plain
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1533,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1490
    functionDepth: 7
    functionLinenumber: 1490
    functionLinenumberEnd: 1541
    functionName: ssl_cf_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct ssl_connect_data*::ssl_impl::send_plain
    - ssl_cf_connect_deferred
    - DEBUGASSERT
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_send(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            const void *buf, size_t blen,\n
      \                           bool eos, size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1551,1
    - Dst: ssl_cf_connect_deferred
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1555,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1562,1
    - Dst: struct ssl_connect_data*::ssl_impl::recv_plain
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1565,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1543
    functionDepth: 7
    functionLinenumber: 1543
    functionLinenumberEnd: 1570
    functionName: ssl_cf_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct ssl_connect_data*::ssl_impl::recv_plain
    - ssl_cf_connect_deferred
    - DEBUGASSERT
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_recv(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data, char *buf, size_t len,\n                            size_t
      *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1585,1
    - Dst: struct ssl_connect_data*::ssl_impl::shut_down
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1586,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1587,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1592
    functionName: ssl_cf_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct ssl_connect_data*::ssl_impl::shut_down
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_shutdown(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1602,1
    - Dst: struct ssl_connect_data*::ssl_impl::adjust_pollset
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1603,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1606
    functionName: ssl_cf_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - struct ssl_connect_data*::ssl_impl::adjust_pollset
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_adjust_pollset(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct easy_pollset
      *ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1617,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1623,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1626,1
    - Dst: Curl_ssl_backend
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1627,1
    - Dst: struct ssl_connect_data*::ssl_impl::get_internals
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1628,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1631,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1637,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1639,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1648
    functionName: ssl_cf_query
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_ssl_backend
    - CURL_TRC_CF
    - Curl_ssl_cf_is_proxy
    - DEBUGASSERT
    - CF_DATA_RESTORE
    - struct ssl_connect_data*::ssl_impl::get_internals
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_query(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             int query, int *pres1, void *pres2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1662,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1664,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1672
    functionName: ssl_cf_cntrl
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_cntrl(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             int event, int arg1, void *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1683
    functionName: cf_ssl_is_alive
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool cf_ssl_is_alive(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                           bool *input_pending)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1733,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1738,1
    - Dst: cf_ctx_new
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1739,1
    - Dst: cf_ctx_new
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1741,1
    - Dst: alpn_get_spec
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1741,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1749,1
    - Dst: cf_ctx_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pcf
    - data
    - conn
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1725
    functionDepth: 4
    functionLinenumber: 1725
    functionLinenumberEnd: 1756
    functionName: cf_ssl_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - cf_ctx_new
    - cf_ctx_free
    - alpn_get_spec
    - Curl_cf_create
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_create(struct Curl_cfilter **pcf,\n                              struct
      Curl_easy *data,\n                              struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_create
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1765,1
    - Dst: Curl_conn_cf_add
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1758
    functionDepth: 5
    functionLinenumber: 1758
    functionLinenumberEnd: 1769
    functionName: Curl_ssl_cfilter_add
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 6
    functionsReached:
    - Curl_conn_cf_add
    - cf_ssl_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_cfilter_add(struct Curl_easy *data,\n                              struct
      connectdata *conn,\n                              int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_create
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1777,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1771
    functionDepth: 5
    functionLinenumber: 1771
    functionLinenumberEnd: 1781
    functionName: Curl_cf_ssl_insert_after
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cf_ssl_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_ssl_insert_after(struct Curl_cfilter *cf_at,\n                                  struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_ctx_new
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1804,1
    - Dst: alpn_get_spec
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1804,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1809,1
    - Dst: cf_ctx_free
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pcf
    - data
    - conn
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1785
    functionDepth: 4
    functionLinenumber: 1785
    functionLinenumberEnd: 1816
    functionName: cf_ssl_proxy_create
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - cf_ctx_free
    - Curl_cf_create
    - cf_ctx_new
    - alpn_get_spec
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_proxy_create(struct Curl_cfilter **pcf,\n                                    struct
      Curl_easy *data,\n                                    struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_proxy_create
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1824,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 5
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: Curl_cf_ssl_proxy_insert_after
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - Curl_conn_cf_insert_after
    - cf_ssl_proxy_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_ssl_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                       struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - ssl_option
    argTypes:
    - struct Curl_easy*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1836
    functionName: Curl_ssl_supports
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_supports(struct Curl_easy *data, unsigned int ssl_option)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1852,1
    - Dst: Curl_shutdown_timeleft
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1856,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1860,1
    - Dst: struct ssl_connect_data*::ssl_impl::shut_down
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1865,1
    - Dst: Curl_conn_cf_poll
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1870,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1873,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1879,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1887,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1838
    functionDepth: 2
    functionLinenumber: 1838
    functionLinenumberEnd: 1890
    functionName: vtls_shutdown_blocking
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_shutdown_timeleft
    - failf
    - struct ssl_connect_data*::ssl_impl::shut_down
    - Curl_conn_cf_poll
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vtls_shutdown_blocking(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       bool send_shutdown,
      bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1902,1
    - Dst: Curl_shutdown_start
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1903,1
    - Dst: vtls_shutdown_blocking
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1904,1
    - Dst: Curl_shutdown_clear
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1905,1
    - Dst: Curl_conn_cf_discard
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1908,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - sockindex
    - send_shutdown
    argTypes:
    - struct Curl_easy*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1892
    functionDepth: 7
    functionLinenumber: 1892
    functionLinenumberEnd: 1914
    functionName: Curl_ssl_cfilter_remove
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - vtls_shutdown_blocking
    - Curl_shutdown_clear
    - Curl_conn_cf_discard
    - Curl_shutdown_start
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_cfilter_remove(struct Curl_easy *data,\n                                 int
      sockindex, bool send_shutdown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1919
    functionName: Curl_ssl_cf_is_proxy
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_cf_is_proxy(struct Curl_cfilter *cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1930
    functionName: Curl_ssl_cf_get_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 20
    functionsReached:
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: struct ssl_config_data
    signature: 'struct ssl_config_data *

      Curl_ssl_cf_get_config(struct Curl_cfilter *cf, struct Curl_easy *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1941
    functionName: Curl_ssl_cf_get_primary_config
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 42
    functionsReached:
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: struct ssl_primary_config
    signature: 'struct ssl_primary_config *

      Curl_ssl_cf_get_primary_config(struct Curl_cfilter *cf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1950,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1952,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - spec
    argTypes:
    - struct alpn_proto_buf*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1964
    functionName: Curl_alpn_to_proto_buf
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - memset
    - strlen
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_alpn_to_proto_buf(struct alpn_proto_buf *buf,\n                                const
      struct alpn_spec *spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1972,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1974,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - spec
    argTypes:
    - struct alpn_proto_buf*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1987
    functionName: Curl_alpn_to_proto_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 6
    functionsReached:
    - memset
    - strlen
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_alpn_to_proto_str(struct alpn_proto_buf *buf,\n                                const
      struct alpn_spec *spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1992,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1994,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:1995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - spec
    - proto
    argTypes:
    - struct alpn_spec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1999
    functionName: Curl_alpn_contains_proto
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 5
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool Curl_alpn_contains_proto(const struct alpn_spec *spec,\n                              const
      char *proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2003,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2004,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - spec
    - proto
    argTypes:
    - struct alpn_spec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2009
    functionName: Curl_alpn_restrict_to
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Curl_alpn_restrict_to(struct alpn_spec *spec, const char *proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2014,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - struct alpn_spec*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2017
    functionName: Curl_alpn_copy
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 3
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Curl_alpn_copy(struct alpn_spec *dest, const struct alpn_spec
      *src)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2033,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2040,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2044,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2045,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2046,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2053,1
    - Dst: memchr
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2059,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2060,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2065,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2072,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2074,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2078,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/vtls.c:2080,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 5
    argNames:
    - cf
    - data
    - connssl
    - proto
    - proto_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_connect_data*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2019
    functionDepth: 2
    functionLinenumber: 2019
    functionLinenumberEnd: 2085
    functionName: Curl_alpn_set_negotiated
    functionSourceFile: /src/PROJ/curl/lib/vtls/vtls.c
    functionUses: 7
    functionsReached:
    - infof
    - failf
    - DEBUGASSERT
    - memcmp
    - strlen
    - memchr
    - Curl_memdup0
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_alpn_set_negotiated(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct ssl_connect_data
      *connssl,\n                                  const unsigned char *proto,\n                                  size_t
      proto_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: mbedtls_strerror
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mbedtls_strerror(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:127,1
    - Dst: mbedtls_entropy_init
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:129,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: entropy_init_mutex
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_entropy_init
    - Curl_mbedtlsthreadlock_lock_function
    - Curl_mbedtlsthreadlock_unlock_function
    linkageType: ''
    returnType: void
    signature: void entropy_init_mutex(mbedtls_entropy_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:138,1
    - Dst: mbedtls_entropy_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:140,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: entropy_cleanup_mutex
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_entropy_free
    - Curl_mbedtlsthreadlock_lock_function
    - Curl_mbedtlsthreadlock_unlock_function
    linkageType: ''
    returnType: void
    signature: void entropy_cleanup_mutex(mbedtls_entropy_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:150,1
    - Dst: mbedtls_entropy_func
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:151,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: entropy_func_mutex
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_mbedtlsthreadlock_lock_function
    - Curl_mbedtlsthreadlock_unlock_function
    - mbedtls_entropy_func
    linkageType: ''
    returnType: int
    signature: int entropy_func_mutex(void *data, unsigned char *output, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:169,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - context
    - level
    - f_name
    - line_nb
    - line
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: mbed_debug
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - infof
    - strlen
    linkageType: ''
    returnType: void
    signature: "void mbed_debug(void *context, int level, const char *f_name,\n                       int
      line_nb, const char *line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:182,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:186,1
    - Dst: Curl_conn_cf_send
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:190,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: mbedtls_bio_cf_write
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_send
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int mbedtls_bio_cf_write(void *bio,\n                                const
      unsigned char *buf, size_t blen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:202,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:206,1
    - Dst: Curl_conn_cf_recv
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:213,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: mbedtls_bio_cf_read
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_recv
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: int mbedtls_bio_cf_read(void *bio, unsigned char *buf, size_t blen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:280,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:299,1
    - Dst: mbedtls_ssl_conf_min_tls_version
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:303,1
    - Dst: mbedtls_ssl_conf_max_tls_version
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - data
    - backend
    - conn_config
    argTypes:
    - struct Curl_easy*
    - struct mbed_ssl_backend_data*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 307
    functionName: mbed_set_ssl_version_min_max
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_conf_max_tls_version
    - mbedtls_ssl_conf_min_tls_version
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbed_set_ssl_version_min_max(struct Curl_easy *data,\n                             struct
      mbed_ssl_backend_data *backend,\n                             struct ssl_primary_config
      *conn_config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:319,1
    - Dst: Curl_cipher_suite_get_str
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - id
    - buf
    - buf_size
    - prefer_rfc
    argTypes:
    - uint16_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 8
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: mbed_cipher_suite_get_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - Curl_cipher_suite_get_str
    linkageType: ''
    returnType: int
    signature: "int mbed_cipher_suite_get_str(uint16_t id, char *buf, size_t buf_size,\n
      \                         bool prefer_rfc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cipher_suite_walk_str
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:328,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 6
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: mbed_cipher_suite_walk_str
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - Curl_cipher_suite_walk_str
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mbed_cipher_suite_walk_str(const char **str, const char **end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:455,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:457,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:458,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:460,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:461,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:466,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - crt
    argTypes:
    - struct Curl_easy*
    - mbedtls_x509_crt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 470
    functionName: mbed_dump_cert_info
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - strcspn
    - infof
    - free
    - mbedtls_x509_crt_info
    - malloc
    linkageType: ''
    returnType: void
    signature: void mbed_dump_cert_info(struct Curl_easy *data, const mbedtls_x509_crt
      *crt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_init_certinfo
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:480,1
    - Dst: Curl_extract_certinfo
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - crt
    argTypes:
    - struct Curl_easy*
    - mbedtls_x509_crt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 472
    functionDepth: 9
    functionLinenumber: 472
    functionLinenumberEnd: 487
    functionName: mbed_extract_certinfo
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_init_certinfo
    - Curl_extract_certinfo
    linkageType: ''
    returnType: void
    signature: void mbed_extract_certinfo(struct Curl_easy *data, const mbedtls_x509_crt
      *crt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:493,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:494,1
    - Dst: mbed_dump_cert_info
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:498,1
    - Dst: mbed_extract_certinfo
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:500,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:511,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:512,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ptr
    - crt
    - depth
    - flags
    argTypes:
    - void*
    - mbedtls_x509_crt*
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 489
    functionDepth: 10
    functionLinenumber: 489
    functionLinenumberEnd: 519
    functionName: mbed_verify_cb
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbed_dump_cert_info
    - failf
    - mbedtls_x509_crt_verify_info
    - Curl_ssl_cf_get_primary_config
    - CF_DATA_CURRENT
    - mbed_extract_certinfo
    linkageType: ''
    returnType: int
    signature: "int mbed_verify_cb(void *ptr, mbedtls_x509_crt *crt,\n                          int
      depth, uint32_t *flags)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:967,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:974,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:976,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:987,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:992,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:993,1
    - Dst: mbedtls_strerror
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:994,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:995,1
    - Dst: mbedtls_ssl_get_ciphersuite_id_from_ssl
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1004,1
    - Dst: mbed_cipher_suite_get_str
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1005,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1006,1
    - Dst: mbedtls_ssl_get_version
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1007,1
    - Dst: mbedtls_ssl_get_peer_cert
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1016,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1018,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1022,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1027,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1034,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1039,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1040,1
    - Dst: mbedtls_pk_write_pubkey_der
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1045,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1048,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1054,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1058,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1059,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1060,1
    - Dst: mbedtls_ssl_get_alpn_protocol
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1067,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1069,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1071,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1078,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 958
    functionDepth: 9
    functionLinenumber: 958
    functionLinenumberEnd: 1081
    functionName: mbed_connect_step2
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - failf
    - mbedtls_strerror
    - mbedtls_ssl_get_version_number
    - Curl_ssl_cf_is_proxy
    - mbedtls_ssl_handshake
    - mbedtls_x509_crt_init
    - mbedtls_pk_write_pubkey_der
    - Curl_alpn_set_negotiated
    - infof
    - strlen
    - mbedtls_ssl_get_peer_cert
    - mbedtls_ssl_get_version
    - calloc
    - DEBUGASSERT
    - mbed_cipher_suite_get_str
    - free
    - mbedtls_x509_crt_free
    - mbedtls_x509_crt_parse_der
    - mbedtls_ssl_get_ciphersuite_id_from_ssl
    - malloc
    - mbedtls_ssl_get_alpn_protocol
    - Curl_pin_peer_pubkey
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mbed_connect_step2(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1098,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1099,1
    - Dst: mbedtls_ssl_session_init
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1102,1
    - Dst: mbedtls_ssl_get_session
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1103,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1106,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1111,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1113,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1117,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1123,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1125,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1129,1
    - Dst: Curl_ssl_session_create
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1130,1
    - Dst: Curl_ssl_scache_put
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1136,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1141,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1083
    functionDepth: 10
    functionLinenumber: 1083
    functionLinenumberEnd: 1144
    functionName: mbed_new_session
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_get_session
    - mbedtls_ssl_session_free
    - free
    - Curl_ssl_scache_put
    - failf
    - mbedtls_ssl_get_version_number
    - Curl_ssl_session_create
    - Curl_ssl_scache_use
    - mbedtls_ssl_session_init
    - DEBUGASSERT
    - malloc
    - mbedtls_ssl_session_save
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mbed_new_session(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1157,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1165,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1166,1
    - Dst: mbedtls_ssl_write
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1171,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1178,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1205
    functionName: mbed_send
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_write
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbed_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                         const void *mem, size_t len,\n                          size_t
      *pnwritten)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1219,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1233,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1247,1
    - Dst: mbedtls_ssl_read
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1257,1
    - Dst: mbedtls_ssl_read
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1261,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1272,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1276,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1280,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1284,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1288,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1295
    functionName: mbedtls_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_read
    - DEBUGASSERT
    - CURL_TRC_CF
    - mbedtls_ssl_close_notify
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_shutdown(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool send_shutdown, bool
      *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1304,1
    - Dst: mbedtls_pk_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1306,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1307,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1308,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1310,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1312,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1313,1
    - Dst: mbedtls_ssl_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1314,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1316,1
    - Dst: mbedtls_entropy_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1323
    functionName: mbedtls_close
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_entropy_free
    - mbedtls_x509_crt_free
    - mbedtls_ctr_drbg_free
    - mbedtls_ssl_config_free
    - DEBUGASSERT
    - Curl_safefree
    - mbedtls_x509_crl_free
    - mbedtls_pk_free
    linkageType: ''
    returnType: void
    signature: void mbedtls_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1336,1
    - Dst: mbedtls_ssl_read
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1340,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1344,1
    - Dst: mbed_new_session
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1349,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1350,1
    - Dst: mbedtls_strerror
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1365,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - buffersize
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1325
    functionDepth: 11
    functionLinenumber: 1325
    functionLinenumberEnd: 1373
    functionName: mbed_recv
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - failf
    - mbedtls_strerror
    - FALLTHROUGH
    - mbedtls_ssl_read
    - DEBUGASSERT
    - mbed_new_session
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbed_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                         char *buf, size_t buffersize,\n                          size_t
      *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_version_get_number
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1379,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1380,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1375
    functionDepth: 6
    functionLinenumber: 1375
    functionLinenumberEnd: 1385
    functionName: mbedtls_version
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - mbedtls_version_get_number
    linkageType: ''
    returnType: size_t
    signature: size_t mbedtls_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psa_generate_random
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1397
    functionName: mbedtls_random
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - psa_generate_random
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_random(struct Curl_easy *data,\n                               unsigned
      char *entropy, size_t length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbed_connect_step1
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1416,1
    - Dst: mbed_connect_step2
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1422,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1433,1
    - Dst: mbed_new_session
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1399
    functionDepth: 11
    functionLinenumber: 1399
    functionLinenumberEnd: 1448
    functionName: mbedtls_connect
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_get_version_number
    - mbed_new_session
    - mbed_connect_step1
    - mbed_connect_step2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_connect(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psa_crypto_init
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1457,1
    - Dst: Curl_mbedtlsthreadlock_thread_setup
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1460,1
    - Dst: entropy_init_mutex
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1466
    functionName: mbedtls_init
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - entropy_init_mutex
    - psa_crypto_init
    - Curl_mbedtlsthreadlock_thread_setup
    linkageType: ''
    returnType: int
    signature: int mbedtls_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entropy_cleanup_mutex
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1471,1
    - Dst: Curl_mbedtlsthreadlock_thread_cleanup
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1473,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1475
    functionName: mbedtls_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_psa_crypto_free
    - Curl_mbedtlsthreadlock_thread_cleanup
    - entropy_cleanup_mutex
    linkageType: ''
    returnType: void
    signature: void mbedtls_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1484,1
    - Dst: mbedtls_ssl_get_bytes_avail
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1487
    functionName: mbedtls_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_get_bytes_avail
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool mbedtls_data_pending(struct Curl_cfilter *cf,\n                                 const
      struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_compute
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1497,1
    - Dst: Curl_sha256it
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - input
    - inputlen
    - sha256sum
    - sha256len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1507
    functionName: mbedtls_sha256sum
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_sha256it
    - psa_hash_compute
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_sha256sum(const unsigned char *input,\n                                  size_t
      inputlen,\n                                  unsigned char *sha256sum,\n                                  size_t
      sha256len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vtls/mbedtls.c:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1517
    functionName: mbedtls_get_internals
    functionSourceFile: /src/PROJ/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *mbedtls_get_internals(struct ssl_connect_data *connssl,\n                                   CURLINFO
      info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:58,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:59,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:59,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: Curl_auth_is_gssapi_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_sspi.c
    functionUses: 2
    functionsReached:
    - QuerySecurityPackageInfo
    - CURL_UNCONST
    - TEXT
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_gssapi_supported(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:113,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:120,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:121,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:121,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:124,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:131,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:134,1
    - Dst: Curl_create_sspi_identity
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:143,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:155,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:160,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:161,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:161,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:169,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:175,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:176,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:185,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:185,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:186,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:186,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:195,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:198,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:214,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:215,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:217,1
    - Dst: Curl_bufref_memdup
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:221,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:224,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:226,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 9
    argNames:
    - data
    - userp
    - passwdp
    - service
    - host
    - mutual_auth
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - bool
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 229
    functionName: Curl_auth_create_gssapi_user_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_sspi.c
    functionUses: 2
    functionsReached:
    - QuerySecurityPackageInfo
    - AcquireCredentialsHandle
    - failf
    - Curl_create_sspi_identity
    - CURL_UNCONST
    - memcmp
    - InitializeSecurityContext
    - Curl_bufref_memdup
    - infof
    - memcpy
    - Curl_bufref_ptr
    - malloc
    - TEXT
    - curlx_uztoul
    - Curl_bufref_set
    - Curl_bufref_len
    - calloc
    - DeleteSecurityContext
    - Curl_auth_build_spn
    - FreeContextBuffer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const char *service,\n
      \                                             const char *host,\n                                              const
      bool mutual_auth,\n                                              const struct
      bufref *chlg,\n                                              struct kerberos5data
      *krb5,\n                                              struct bufref *out)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:276,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:277,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:278,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:283,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:298,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:298,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:299,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:299,1
    - Dst: DecryptMessage
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:305,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:307,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:313,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:324,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:328,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:342,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:349,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:350,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:352,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:367,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:370,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:372,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:373,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:387,1
    - Dst: EncryptMessage
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:393,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:396,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:397,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:398,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:409,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:411,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:412,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:413,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:419,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:421,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:423,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:426,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:427,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:428,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:431,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 104
    argCount: 5
    argNames:
    - data
    - authzid
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 433
    functionName: Curl_auth_create_gssapi_security_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_sspi.c
    functionUses: 1
    functionsReached:
    - infof
    - curlx_uztoul
    - free
    - memcpy
    - Curl_bufref_set
    - EncryptMessage
    - DecryptMessage
    - Curl_bufref_len
    - CURL_UNCONST
    - DEBUGASSERT
    - strlen
    - FreeContextBuffer
    - QueryContextAttributes
    - Curl_bufref_ptr
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy
      *data,\n                                                  const char *authzid,\n
      \                                                 const struct bufref *chlg,\n
      \                                                 struct kerberos5data *krb5,\n
      \                                                 struct bufref *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:449,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:450,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:456,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:457,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:462,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:466,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/krb5_sspi.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - krb5
    argTypes:
    - struct kerberos5data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: Curl_auth_cleanup_gssapi
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_sspi.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_sspi_free_identity
    - DeleteSecurityContext
    - Curl_safefree
    - FreeCredentialsHandle
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_gssapi(struct kerberos5data *krb5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: GSS_ERROR
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GSS_ERROR(status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: Curl_auth_is_digest_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_auth_is_digest_supported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: Curl_auth_is_ntlm_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_auth_is_ntlm_supported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: Curl_auth_is_gssapi_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_auth_is_gssapi_supported()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_HMAC_init
      Src: /src/PROJ/curl/lib/vauth/cram.c:69,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/cram.c:71,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/cram.c:71,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/cram.c:76,1
    - Dst: Curl_HMAC_update
      Src: /src/PROJ/curl/lib/vauth/cram.c:77,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/cram.c:77,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/cram.c:78,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/cram.c:78,1
    - Dst: Curl_HMAC_final
      Src: /src/PROJ/curl/lib/vauth/cram.c:81,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/cram.c:84,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/cram.c:92,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/cram.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - chlg
    - userp
    - passwdp
    - out
    argTypes:
    - struct bufref*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: Curl_auth_create_cram_md5_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/cram.c
    functionUses: 1
    functionsReached:
    - curl_maprintf
    - Curl_HMAC_final
    - Curl_bufref_set
    - Curl_HMAC_init
    - curlx_uztoui
    - Curl_HMAC_update
    - Curl_bufref_len
    - strlen
    - Curl_bufref_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_cram_md5_message(const struct bufref *chlg,\n
      \                                          const char *userp,\n                                           const
      char *passwdp,\n                                           struct bufref *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:60,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:61,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:61,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: Curl_auth_is_spnego_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_sspi.c
    functionUses: 1
    functionsReached:
    - QuerySecurityPackageInfo
    - CURL_UNCONST
    - TEXT
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_spnego_supported(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:117,1
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:123,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:130,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:131,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:131,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:134,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:141,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:144,1
    - Dst: Curl_create_sspi_identity
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:153,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:165,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:170,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:171,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:171,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:179,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:187,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:194,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:204,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:218,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:238,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:242,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:252,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:254,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:256,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:257,1
    - Dst: CompleteAuthToken
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:267,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:268,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:270,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:271,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 7
    argNames:
    - data
    - user
    - password
    - service
    - host
    - chlg64
    - nego
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - char*
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 283
    functionName: Curl_auth_decode_spnego_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_sspi.c
    functionUses: 1
    functionsReached:
    - QuerySecurityPackageInfo
    - AcquireCredentialsHandle
    - failf
    - curlx_base64_decode
    - Curl_auth_cleanup_spnego
    - GSS_ERROR
    - Curl_create_sspi_identity
    - CURL_UNCONST
    - InitializeSecurityContext
    - infof
    - malloc
    - TEXT
    - curlx_uztoul
    - calloc
    - Curl_auth_build_spn
    - QueryContextAttributes
    - free
    - CompleteAuthToken
    - FreeContextBuffer
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,\n
      \                                        const char *user,\n                                         const
      char *password,\n                                         const char *service,\n
      \                                        const char *host,\n                                         const
      char *chlg64,\n                                         struct negotiatedata
      *nego)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:305,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - nego
    - outptr
    - outlen
    argTypes:
    - struct negotiatedata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: Curl_auth_create_spnego_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_sspi.c
    functionUses: 1
    functionsReached:
    - curlx_base64_encode
    - free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_spnego_message(struct negotiatedata *nego,\n
      \                                        char **outptr, size_t *outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:330,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:331,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:337,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:338,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:343,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:347,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/spnego_sspi.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - nego
    argTypes:
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 357
    functionName: Curl_auth_cleanup_spnego
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_sspi.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_sspi_free_identity
    - DeleteSecurityContext
    - Curl_safefree
    - FreeCredentialsHandle
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_spnego(struct negotiatedata *nego)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsasl_init
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:49,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:51,1
    - Dst: gsasl_strerror
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:51,1
    - Dst: gsasl_client_start
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:55,1
    - Dst: gsasl_done
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - mech
    - gsasl
    argTypes:
    - struct Curl_easy*
    - char*
    - struct gsasldata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: Curl_auth_gsasl_is_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/gsasl.c
    functionUses: 1
    functionsReached:
    - gsasl_done
    - failf
    - gsasl_init
    - gsasl_client_start
    - gsasl_strerror
    linkageType: ''
    returnType: bool
    signature: "bool Curl_auth_gsasl_is_supported(struct Curl_easy *data,\n                                  const
      char *mech,\n                                  struct gsasldata *gsasl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsasl_step
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:106,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:107,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:107,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:110,1
    - Dst: gsasl_strerror
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:110,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - chlg
    - gsasl
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct gsasldata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: Curl_auth_gsasl_token
    functionSourceFile: /src/PROJ/curl/lib/vauth/gsasl.c
    functionUses: 2
    functionsReached:
    - failf
    - Curl_bufref_set
    - Curl_bufref_len
    - gsasl_step
    - Curl_bufref_ptr
    - gsasl_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_gsasl_token(struct Curl_easy *data,\n                               const
      struct bufref *chlg,\n                               struct gsasldata *gsasl,\n
      \                              struct bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsasl_finish
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:120,1
    - Dst: gsasl_done
      Src: /src/PROJ/curl/lib/vauth/gsasl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gsasl
    argTypes:
    - struct gsasldata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: Curl_auth_gsasl_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vauth/gsasl.c
    functionUses: 0
    functionsReached:
    - gsasl_finish
    - gsasl_done
    linkageType: ''
    returnType: void
    signature: void Curl_auth_gsasl_cleanup(struct gsasldata *gsasl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:68,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:69,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:70,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:78,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - authzid
    - authcid
    - passwd
    - out
    argTypes:
    - char*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: Curl_auth_create_plain_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/cleartext.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_plain_message(const char *authzid,\n                                        const
      char *authcid,\n                                        const char *passwd,\n
      \                                       struct bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:101,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - valuep
    - out
    argTypes:
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Curl_auth_create_login_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/cleartext.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    linkageType: ''
    returnType: void
    signature: void Curl_auth_create_login_message(const char *valuep, struct bufref
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_login_message
      Src: /src/PROJ/curl/lib/vauth/cleartext.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - user
    - out
    argTypes:
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Curl_auth_create_external_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/cleartext.c
    functionUses: 2
    functionsReached:
    - Curl_auth_create_login_message
    linkageType: ''
    returnType: void
    signature: "void Curl_auth_create_external_message(const char *user,\n                                       struct
      bufref *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:64,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:65,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:65,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: Curl_auth_is_digest_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest_sspi.c
    functionUses: 3
    functionsReached:
    - QuerySecurityPackageInfo
    - CURL_UNCONST
    - TEXT
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_digest_supported(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:117,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:118,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:124,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:125,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:125,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:128,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:135,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:138,1
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:143,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:145,1
    - Dst: Curl_create_sspi_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:151,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:153,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:154,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:166,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:167,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:167,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:173,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:174,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:175,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:184,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:184,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:185,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:185,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:193,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:196,1
    - Dst: CompleteAuthToken
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:203,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:209,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:210,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:211,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:212,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:218,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:219,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:226,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:229,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:230,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:233,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:236,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 6
    argNames:
    - data
    - chlg
    - userp
    - passwdp
    - service
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - char*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 93
    functionDepth: 7
    functionLinenumber: 93
    functionLinenumberEnd: 239
    functionName: Curl_auth_create_digest_md5_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest_sspi.c
    functionUses: 1
    functionsReached:
    - QuerySecurityPackageInfo
    - AcquireCredentialsHandle
    - failf
    - Curl_sspi_free_identity
    - Curl_create_sspi_identity
    - CURL_UNCONST
    - InitializeSecurityContext
    - FreeCredentialsHandle
    - infof
    - Curl_bufref_ptr
    - malloc
    - TEXT
    - curlx_uztoul
    - Curl_bufref_set
    - Curl_bufref_len
    - DeleteSecurityContext
    - Curl_auth_build_spn
    - free
    - CompleteAuthToken
    - FreeContextBuffer
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,\n
      \                                            const struct bufref *chlg,\n                                             const
      char *userp,\n                                             const char *passwdp,\n
      \                                            const char *service,\n                                             struct
      bufref *out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:267,1
    - Dst: Curl_auth_digest_get_pair
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:271,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:272,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:275,1
    - Dst: Curl_tcsdup
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:279,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:281,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:285,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:287,1
    - Dst: _tcslen
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:287,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:290,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - chlg
    - identity
    argTypes:
    - char*
    - SEC_WINNT_AUTH_IDENTITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 310
    functionName: Curl_override_sspi_http_realm
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest_sspi.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_uztoul
    - ISBLANK
    - Curl_auth_digest_get_pair
    - curlx_convert_UTF8_to_tchar
    - _tcslen
    - Curl_tcsdup
    - curl_strequal
    - curlx_unicodefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_override_sspi_http_realm(const char *chlg,\n                                       SEC_WINNT_AUTH_IDENTITY
      *identity)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:328,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:341,1
    - Dst: Curl_auth_digest_get_pair
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:344,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:347,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:348,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:353,1
    - Dst: Curl_auth_digest_cleanup
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:361,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - chlg
    - digest
    argTypes:
    - char*
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 374
    functionName: Curl_auth_decode_digest_http_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest_sspi.c
    functionUses: 1
    functionsReached:
    - ISBLANK
    - Curl_auth_digest_get_pair
    - strlen
    - Curl_auth_digest_cleanup
    - curl_strequal
    - Curl_memdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_digest_http_message(const char *chlg,\n
      \                                             struct digestdata *digest)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:417,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:418,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:418,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:421,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:428,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:432,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:441,1
    - Dst: Curl_timestrcmp
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:442,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:444,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:445,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:447,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:448,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:459,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:460,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:460,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:462,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:463,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:463,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:469,1
    - Dst: MakeSignature
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:471,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:476,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:477,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:478,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:492,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:493,1
    - Dst: Curl_create_sspi_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:497,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:498,1
    - Dst: Curl_override_sspi_http_realm
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:503,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:505,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:517,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:520,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:521,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:527,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:530,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:531,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:532,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:538,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:539,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:539,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:544,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:545,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:556,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:558,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:559,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:559,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:570,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:572,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:574,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:576,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:577,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:583,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:585,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:586,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:587,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:592,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:598,1
    - Dst: CompleteAuthToken
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:602,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:608,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:610,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:611,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:613,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:619,1
    - Dst: Curl_sspi_strerror
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:620,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:628,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:629,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:632,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:633,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 144
    argCount: 8
    argNames:
    - data
    - userp
    - passwdp
    - request
    - uripath
    - digest
    - outptr
    - outlen
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - struct digestdata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 642
    functionName: Curl_auth_create_digest_http_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest_sspi.c
    functionUses: 1
    functionsReached:
    - QuerySecurityPackageInfo
    - Curl_timestrcmp
    - failf
    - AcquireCredentialsHandle
    - Curl_sspi_free_identity
    - Curl_create_sspi_identity
    - CURL_UNCONST
    - curlx_convert_UTF8_to_tchar
    - InitializeSecurityContext
    - FreeCredentialsHandle
    - Curl_override_sspi_http_realm
    - infof
    - strlen
    - malloc
    - TEXT
    - curlx_uztoul
    - calloc
    - Curl_memdup0
    - MakeSignature
    - DeleteSecurityContext
    - curlx_unicodefree
    - free
    - CompleteAuthToken
    - Curl_safefree
    - FreeContextBuffer
    - strdup
    - Curl_sspi_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const unsigned
      char *request,\n                                              const unsigned
      char *uripath,\n                                              struct digestdata
      *digest,\n                                              char **outptr, size_t
      *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:657,1
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:664,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:665,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:669,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest_sspi.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - digest
    argTypes:
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 671
    functionName: Curl_auth_digest_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest_sspi.c
    functionUses: 2
    functionsReached:
    - DeleteSecurityContext
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_auth_digest_cleanup(struct digestdata *digest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:69,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:72,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:77,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - user
    - host
    - port
    - bearer
    - out
    argTypes:
    - char*
    - char*
    - long
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: Curl_auth_create_oauth_bearer_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/oauth2.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_oauth_bearer_message(const char *user,\n
      \                                              const char *host,\n                                               const
      long port,\n                                               const char *bearer,\n
      \                                              struct bufref *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:100,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:104,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/oauth2.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - user
    - bearer
    - out
    argTypes:
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: Curl_auth_create_xoauth_bearer_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/oauth2.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_xoauth_bearer_message(const char *user,\n
      \                                               const char *bearer,\n                                                struct
      bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Curl_auth_is_spnego_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_gssapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_spnego_supported(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:110,1
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:118,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:124,1
    - Dst: gss_import_name
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:127,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:130,1
    - Dst: Curl_gss_log_error
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:131,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:134,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:139,1
    - Dst: curlx_base64_decode
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:145,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:152,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:163,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:164,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:165,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:166,1
    - Dst: Curl_gss_init_sec_context
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:172,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:184,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:187,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:189,1
    - Dst: Curl_gss_log_error
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:191,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:199,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:206,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 7
    argNames:
    - data
    - user
    - password
    - service
    - host
    - chlg64
    - nego
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - char*
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 82
    functionDepth: 8
    functionLinenumber: 82
    functionLinenumberEnd: 211
    functionName: Curl_auth_decode_spnego_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_gssapi.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_gss_log_error
    - infof
    - curlx_dyn_ptr
    - curlx_base64_decode
    - Curl_gss_init_sec_context
    - Curl_auth_cleanup_spnego
    - gss_release_buffer
    - GSS_ERROR
    - memset
    - strlen
    - curlx_dyn_len
    - Curl_safefree
    - Curl_auth_build_spn
    - gss_import_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,\n
      \                                        const char *user,\n                                         const
      char *password,\n                                         const char *service,\n
      \                                        const char *host,\n                                         const
      char *chlg64,\n                                         struct negotiatedata
      *nego)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:236,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:241,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - nego
    - outptr
    - outlen
    argTypes:
    - struct negotiatedata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 257
    functionName: Curl_auth_create_spnego_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_gssapi.c
    functionUses: 1
    functionsReached:
    - curlx_base64_encode
    - gss_release_buffer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_spnego_message(struct negotiatedata *nego,\n
      \                                        char **outptr, size_t *outlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:275,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:282,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/vauth/spnego_gssapi.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - nego
    argTypes:
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 299
    functionName: Curl_auth_cleanup_spnego
    functionSourceFile: /src/PROJ/curl/lib/vauth/spnego_gssapi.c
    functionUses: 3
    functionsReached:
    - gss_release_buffer
    - Curl_gss_delete_sec_context
    - gss_release_name
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_spnego(struct negotiatedata *nego)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Curl_auth_is_gssapi_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_gssapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_gssapi_supported(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:108,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:114,1
    - Dst: gss_import_name
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:117,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:119,1
    - Dst: Curl_gss_log_error
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:120,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:123,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:128,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:132,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:133,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:136,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:136,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:137,1
    - Dst: Curl_gss_init_sec_context
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:140,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:151,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:153,1
    - Dst: Curl_gss_log_error
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:155,1
    - Dst: Curl_bufref_memdup
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:162,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:163,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 9
    argNames:
    - data
    - userp
    - passwdp
    - service
    - host
    - mutual_auth
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - bool
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 84
    functionDepth: 8
    functionLinenumber: 84
    functionLinenumberEnd: 169
    functionName: Curl_auth_create_gssapi_user_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_gssapi.c
    functionUses: 2
    functionsReached:
    - free
    - infof
    - Curl_gss_init_sec_context
    - Curl_bufref_set
    - gss_import_name
    - gss_release_buffer
    - Curl_bufref_memdup
    - GSS_ERROR
    - Curl_bufref_len
    - CURL_UNCONST
    - strlen
    - Curl_auth_build_spn
    - Curl_bufref_ptr
    - Curl_gss_log_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const char *service,\n
      \                                             const char *host,\n                                              const
      bool mutual_auth,\n                                              const struct
      bufref *chlg,\n                                              struct kerberos5data
      *krb5,\n                                              struct bufref *out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:207,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:208,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:213,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:213,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:214,1
    - Dst: gss_unwrap
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:217,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:219,1
    - Dst: Curl_gss_log_error
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:220,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:227,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:228,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:239,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:243,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:260,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:261,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:275,1
    - Dst: gss_wrap
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:282,1
    - Dst: GSS_ERROR
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:285,1
    - Dst: Curl_gss_log_error
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:286,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:288,1
    - Dst: Curl_bufref_memdup
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:293,1
    - Dst: gss_release_buffer
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:295,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 5
    argNames:
    - data
    - authzid
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 187
    functionDepth: 8
    functionLinenumber: 187
    functionLinenumberEnd: 301
    functionName: Curl_auth_create_gssapi_security_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_gssapi.c
    functionUses: 1
    functionsReached:
    - infof
    - free
    - memcpy
    - gss_release_buffer
    - Curl_bufref_memdup
    - gss_unwrap
    - GSS_ERROR
    - Curl_bufref_len
    - CURL_UNCONST
    - gss_wrap
    - strlen
    - malloc
    - Curl_bufref_ptr
    - Curl_gss_log_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy
      *data,\n                                                  const char *authzid,\n
      \                                                 const struct bufref *chlg,\n
      \                                                 struct kerberos5data *krb5,\n
      \                                                 struct bufref *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gss_delete_sec_context
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:319,1
    - Dst: gss_release_name
      Src: /src/PROJ/curl/lib/vauth/krb5_gssapi.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - krb5
    argTypes:
    - struct kerberos5data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: Curl_auth_cleanup_gssapi
    functionSourceFile: /src/PROJ/curl/lib/vauth/krb5_gssapi.c
    functionUses: 0
    functionsReached:
    - Curl_gss_delete_sec_context
    - gss_release_name
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_gssapi(struct kerberos5data *krb5)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/vauth.c:64,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/vauth.c:66,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/vauth.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - service
    - host
    - realm
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: Curl_auth_build_spn
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 5
    functionsReached:
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: "char *Curl_auth_build_spn(const char *service, const char *host,\n
      \                         const char *realm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/vauth.c:91,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/PROJ/curl/lib/vauth/vauth.c:98,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/vauth.c:99,1
    - Dst: Curl_tcsdup
      Src: /src/PROJ/curl/lib/vauth/vauth.c:102,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/vauth/vauth.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - service
    - host
    - realm
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: Curl_auth_build_spn
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 5
    functionsReached:
    - free
    - curl_maprintf
    - curlx_convert_UTF8_to_tchar
    - Curl_tcsdup
    - curlx_unicodefree
    linkageType: ''
    returnType: TCHAR
    signature: "TCHAR *Curl_auth_build_spn(const char *service, const char *host,\n
      \                          const char *realm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/PROJ/curl/lib/vauth/vauth.c:135,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/vauth.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: Curl_auth_user_contains_domain
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 1
    functionsReached:
    - strpbrk
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_user_contains_domain(const char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/vauth.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: Curl_auth_allowed_to_host
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 3
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_allowed_to_host(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/vauth.c:171,1
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/PROJ/curl/lib/vauth/vauth.c:172,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/vauth.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: ntlm_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - Curl_auth_cleanup_ntlm
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void ntlm_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vauth/vauth.c:180,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/vauth.c:182,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/vauth/vauth.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - proxy
    argTypes:
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: Curl_auth_ntlm_get
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 4
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    - calloc
    linkageType: ''
    returnType: struct ntlmdata
    signature: struct ntlmdata *Curl_auth_ntlm_get(struct connectdata *conn, bool
      proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_remove
      Src: /src/PROJ/curl/lib/vauth/vauth.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - proxy
    argTypes:
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: Curl_auth_ntlm_remove
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 1
    functionsReached:
    - Curl_conn_meta_remove
    linkageType: ''
    returnType: void
    signature: void Curl_auth_ntlm_remove(struct connectdata *conn, bool proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/vauth.c:205,1
    - Dst: Curl_auth_cleanup_gssapi
      Src: /src/PROJ/curl/lib/vauth/vauth.c:206,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/vauth.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: krb5_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - Curl_auth_cleanup_gssapi
    linkageType: ''
    returnType: void
    signature: void krb5_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vauth/vauth.c:212,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/vauth.c:214,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/vauth/vauth.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: Curl_auth_krb5_get
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 2
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    - calloc
    linkageType: ''
    returnType: struct kerberos5data
    signature: struct kerberos5data *Curl_auth_krb5_get(struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/vauth.c:231,1
    - Dst: Curl_auth_gsasl_cleanup
      Src: /src/PROJ/curl/lib/vauth/vauth.c:232,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/vauth.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: gsasl_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - Curl_auth_gsasl_cleanup
    linkageType: ''
    returnType: void
    signature: void gsasl_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vauth/vauth.c:238,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/vauth.c:240,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/vauth/vauth.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: Curl_auth_gsasl_get
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 2
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    - calloc
    linkageType: ''
    returnType: struct gsasldata
    signature: struct gsasldata *Curl_auth_gsasl_get(struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/vauth.c:257,1
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/PROJ/curl/lib/vauth/vauth.c:258,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/vauth.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: nego_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - Curl_auth_cleanup_spnego
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void nego_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vauth/vauth.c:266,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/vauth.c:268,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/vauth/vauth.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - proxy
    argTypes:
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: Curl_auth_nego_get
    functionSourceFile: /src/PROJ/curl/lib/vauth/vauth.c
    functionUses: 3
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    - calloc
    linkageType: ''
    returnType: struct negotiatedata
    signature: struct negotiatedata *Curl_auth_nego_get(struct connectdata *conn,
      bool proxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:58,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:59,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:59,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: Curl_auth_is_ntlm_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm_sspi.c
    functionUses: 3
    functionsReached:
    - QuerySecurityPackageInfo
    - CURL_UNCONST
    - TEXT
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_ntlm_supported(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:103,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:106,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:107,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:107,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:110,1
    - Dst: FreeContextBuffer
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:117,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:120,1
    - Dst: Curl_create_sspi_identity
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:128,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:140,1
    - Dst: AcquireCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:145,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:146,1
    - Dst: TEXT
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:146,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:154,1
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:158,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:168,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:171,1
    - Dst: CompleteAuthToken
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:179,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 7
    argNames:
    - data
    - userp
    - passwdp
    - service
    - host
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 188
    functionName: Curl_auth_create_ntlm_type1_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm_sspi.c
    functionUses: 3
    functionsReached:
    - QuerySecurityPackageInfo
    - Curl_auth_cleanup_ntlm
    - curlx_uztoul
    - AcquireCredentialsHandle
    - failf
    - Curl_bufref_set
    - Curl_auth_build_spn
    - CompleteAuthToken
    - Curl_create_sspi_identity
    - CURL_UNCONST
    - calloc
    - FreeContextBuffer
    - malloc
    - InitializeSecurityContext
    - TEXT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             const char *service,\n
      \                                            const char *host,\n                                             struct
      ntlmdata *ntlm,\n                                             struct bufref
      *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:212,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:213,1
    - Dst: Curl_memdup0
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:218,1
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:218,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:219,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - type2
    - ntlm
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: Curl_auth_decode_ntlm_type2_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm_sspi.c
    functionUses: 2
    functionsReached:
    - infof
    - Curl_bufref_len
    - Curl_bufref_ptr
    - Curl_memdup0
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,\n
      \                                            const struct bufref *type2,\n                                             struct
      ntlmdata *ntlm)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:270,1
    - Dst: QueryContextAttributes
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:284,1
    - Dst: curlx_uztoul
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:304,1
    - Dst: InitializeSecurityContext
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:307,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:316,1
    - Dst: Curl_bufref_memdup
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:326,1
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 5
    argNames:
    - data
    - userp
    - passwdp
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 329
    functionName: Curl_auth_create_ntlm_type3_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm_sspi.c
    functionUses: 2
    functionsReached:
    - Curl_auth_cleanup_ntlm
    - infof
    - curlx_uztoul
    - QueryContextAttributes
    - InitializeSecurityContext
    - Curl_bufref_memdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             struct ntlmdata
      *ntlm,\n                                             struct bufref *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:345,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:346,1
    - Dst: FreeCredentialsHandle
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:352,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:353,1
    - Dst: Curl_sspi_free_identity
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:358,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:362,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:363,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/ntlm_sspi.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ntlm
    argTypes:
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: Curl_auth_cleanup_ntlm
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm_sspi.c
    functionUses: 3
    functionsReached:
    - free
    - Curl_sspi_free_identity
    - DeleteSecurityContext
    - Curl_safefree
    - FreeCredentialsHandle
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_ntlm(struct ntlmdata *ntlm)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - str
    - value
    - content
    - endptr
    argTypes:
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 140
    functionName: Curl_auth_digest_get_pair
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_auth_digest_get_pair(const char *str, char *value, char
      *content,\n                               const char **endptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: auth_digest_md5_to_ascii
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void auth_digest_md5_to_ascii(unsigned char *source, /* 16 bytes */\n
      \                                    unsigned char *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: auth_digest_sha256_to_ascii
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void auth_digest_sha256_to_ascii(unsigned char *source, /* 32 bytes
      */\n                                        unsigned char *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/digest.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: auth_digest_string_quoted
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: char
    signature: char *auth_digest_string_quoted(const char *source)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/vauth/digest.c:206,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vauth/digest.c:207,1
    - Dst: curlx_str_quotedword
      Src: /src/PROJ/curl/lib/vauth/digest.c:209,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/vauth/digest.c:212,1
    - Dst: curlx_str_cmp
      Src: /src/PROJ/curl/lib/vauth/digest.c:216,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:218,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/digest.c:221,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/vauth/digest.c:221,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:221,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:222,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vauth/digest.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - chlg
    - key
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 233
    functionName: auth_digest_get_key_value
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curlx_str_single
    - memcpy
    - curlx_str_cmp
    - curlx_str
    - curlx_strlen
    - curlx_str_until
    - curlx_str_quotedword
    linkageType: ''
    returnType: bool
    signature: "bool auth_digest_get_key_value(const char *chlg, const char *key,\n
      \                                     char *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/vauth/digest.c:241,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/vauth/digest.c:242,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/vauth/digest.c:244,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/vauth/digest.c:246,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vauth/digest.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - options
    - value
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: auth_digest_get_qop_values
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curlx_str_until
    - curlx_str_casecompare
    - curlx_str_single
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode auth_digest_get_qop_values(const char *options, int *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/digest.c:281,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/digest.c:284,1
    - Dst: auth_digest_get_key_value
      Src: /src/PROJ/curl/lib/vauth/digest.c:288,1
    - Dst: auth_digest_get_key_value
      Src: /src/PROJ/curl/lib/vauth/digest.c:292,1
    - Dst: auth_digest_get_key_value
      Src: /src/PROJ/curl/lib/vauth/digest.c:298,1
    - Dst: auth_digest_get_key_value
      Src: /src/PROJ/curl/lib/vauth/digest.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 9
    argNames:
    - chlgref
    - nonce
    - nlen
    - realm
    - rlen
    - alg
    - alen
    - qop
    - qlen
    argTypes:
    - struct bufref*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 306
    functionName: auth_decode_digest_md5_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_len
    - Curl_bufref_ptr
    - auth_digest_get_key_value
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_decode_digest_md5_message(const struct bufref *chlgref,\n
      \                                              char *nonce, size_t nlen,\n                                               char
      *realm, size_t rlen,\n                                               char *alg,
      size_t alen,\n                                               char *qop, size_t
      qlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: Curl_auth_is_digest_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_digest_supported(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: auth_decode_digest_md5_message
      Src: /src/PROJ/curl/lib/vauth/digest.c:365,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vauth/digest.c:376,1
    - Dst: auth_digest_get_qop_values
      Src: /src/PROJ/curl/lib/vauth/digest.c:380,1
    - Dst: Curl_rand_hex
      Src: /src/PROJ/curl/lib/vauth/digest.c:389,1
    - Dst: Curl_MD5_init
      Src: /src/PROJ/curl/lib/vauth/digest.c:394,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:398,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:399,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:399,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:400,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:401,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:402,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:402,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:403,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:404,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:405,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:405,1
    - Dst: Curl_MD5_final
      Src: /src/PROJ/curl/lib/vauth/digest.c:406,1
    - Dst: Curl_MD5_init
      Src: /src/PROJ/curl/lib/vauth/digest.c:408,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:412,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:413,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:414,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:415,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:415,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:416,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:417,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:418,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:418,1
    - Dst: Curl_MD5_final
      Src: /src/PROJ/curl/lib/vauth/digest.c:419,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:423,1
    - Dst: Curl_auth_build_spn
      Src: /src/PROJ/curl/lib/vauth/digest.c:426,1
    - Dst: Curl_MD5_init
      Src: /src/PROJ/curl/lib/vauth/digest.c:431,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:433,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:438,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:439,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:439,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:440,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:441,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:442,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:442,1
    - Dst: Curl_MD5_final
      Src: /src/PROJ/curl/lib/vauth/digest.c:443,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:446,1
    - Dst: Curl_MD5_init
      Src: /src/PROJ/curl/lib/vauth/digest.c:449,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:451,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:456,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:457,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:458,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:459,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:459,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:460,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:462,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:463,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:463,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:464,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:465,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:466,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:466,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:467,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:468,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vauth/digest.c:469,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:469,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:470,1
    - Dst: Curl_MD5_update
      Src: /src/PROJ/curl/lib/vauth/digest.c:472,1
    - Dst: Curl_MD5_final
      Src: /src/PROJ/curl/lib/vauth/digest.c:473,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:476,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:479,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:484,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/digest.c:489,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:489,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 6
    argNames:
    - data
    - chlg
    - userp
    - passwdp
    - service
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - char*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 339
    functionDepth: 7
    functionLinenumber: 339
    functionLinenumberEnd: 491
    functionName: Curl_auth_create_digest_md5_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - Curl_MD5_final
    - free
    - Curl_MD5_init
    - Curl_rand_hex
    - strcmp
    - curl_maprintf
    - Curl_bufref_set
    - curl_msnprintf
    - Curl_MD5_update
    - auth_digest_get_qop_values
    - curlx_uztoui
    - strlen
    - Curl_auth_build_spn
    - auth_decode_digest_md5_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,\n
      \                                            const struct bufref *chlg,\n                                             const
      char *userp,\n                                             const char *passwdp,\n
      \                                            const char *service,\n                                             struct
      bufref *out)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_digest_cleanup
      Src: /src/PROJ/curl/lib/vauth/digest.c:516,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest.c:523,1
    - Dst: Curl_auth_digest_get_pair
      Src: /src/PROJ/curl/lib/vauth/digest.c:527,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:528,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:529,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest.c:530,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:534,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:535,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:540,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:541,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest.c:542,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:546,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:547,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest.c:548,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:552,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest.c:558,1
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/vauth/digest.c:560,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/vauth/digest.c:561,1
    - Dst: curlx_str_casecompare
      Src: /src/PROJ/curl/lib/vauth/digest.c:563,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vauth/digest.c:566,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest.c:568,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:574,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest.c:575,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:580,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest.c:581,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:586,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:587,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vauth/digest.c:588,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:592,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:594,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:596,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:598,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:600,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:607,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:617,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:618,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/vauth/digest.c:630,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 101
    argCount: 2
    argNames:
    - chlg
    - digest
    argTypes:
    - char*
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 653
    functionName: Curl_auth_decode_digest_http_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_str_casecompare
    - curlx_str_single
    - ISBLANK
    - Curl_auth_digest_get_pair
    - Curl_auth_digest_cleanup
    - curlx_str_until
    - curl_strequal
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_digest_http_message(const char *chlg,\n
      \                                             struct digestdata *digest)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/vauth/digest.c:702,1
    - Dst: Curl_rand_bytes
      Src: /src/PROJ/curl/lib/vauth/digest.c:708,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vauth/digest.c:717,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:726,1
    - Dst: hash
      Src: /src/PROJ/curl/lib/vauth/digest.c:731,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:731,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:732,1
    - Dst: convert_to_ascii
      Src: /src/PROJ/curl/lib/vauth/digest.c:735,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:749,1
    - Dst: hash
      Src: /src/PROJ/curl/lib/vauth/digest.c:754,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:754,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:755,1
    - Dst: convert_to_ascii
      Src: /src/PROJ/curl/lib/vauth/digest.c:758,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:762,1
    - Dst: hash
      Src: /src/PROJ/curl/lib/vauth/digest.c:766,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:766,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:767,1
    - Dst: convert_to_ascii
      Src: /src/PROJ/curl/lib/vauth/digest.c:770,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:786,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vauth/digest.c:790,1
    - Dst: hash
      Src: /src/PROJ/curl/lib/vauth/digest.c:795,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:797,1
    - Dst: convert_to_ascii
      Src: /src/PROJ/curl/lib/vauth/digest.c:800,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:802,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:803,1
    - Dst: hash
      Src: /src/PROJ/curl/lib/vauth/digest.c:810,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:810,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:811,1
    - Dst: convert_to_ascii
      Src: /src/PROJ/curl/lib/vauth/digest.c:814,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:817,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:821,1
    - Dst: hash
      Src: /src/PROJ/curl/lib/vauth/digest.c:827,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:827,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:828,1
    - Dst: convert_to_ascii
      Src: /src/PROJ/curl/lib/vauth/digest.c:831,1
    - Dst: auth_digest_string_quoted
      Src: /src/PROJ/curl/lib/vauth/digest.c:846,1
    - Dst: auth_digest_string_quoted
      Src: /src/PROJ/curl/lib/vauth/digest.c:850,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vauth/digest.c:852,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:857,1
    - Dst: auth_digest_string_quoted
      Src: /src/PROJ/curl/lib/vauth/digest.c:860,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:862,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:863,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:868,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:889,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:900,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:901,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:902,1
    - Dst: auth_digest_string_quoted
      Src: /src/PROJ/curl/lib/vauth/digest.c:910,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:912,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:915,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:916,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:917,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:926,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:927,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/digest.c:936,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/digest.c:937,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/digest.c:946,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 134
    argCount: 8
    argNames:
    - data
    - userp
    - passwdp
    - request
    - uripath
    - digest
    - outptr
    - outlen
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - struct digestdata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 675
    functionDepth: 6
    functionLinenumber: 675
    functionLinenumberEnd: 949
    functionName: auth_create_digest_http_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - free
    - curl_maprintf
    - auth_digest_string_quoted
    - convert_to_ascii
    - curlx_base64_encode
    - memset
    - curl_strequal
    - strlen
    - malloc
    - Curl_rand_bytes
    - hash
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_create_digest_http_message(\n                  struct
      Curl_easy *data,\n                  const char *userp,\n                  const
      char *passwdp,\n                  const unsigned char *request,\n                  const
      unsigned char *uripath,\n                  struct digestdata *digest,\n                  char
      **outptr, size_t *outlen,\n                  void (*convert_to_ascii)(unsigned
      char *, unsigned char *),\n                  CURLcode (*hash)(unsigned char
      *, const unsigned char *,\n                                   const size_t))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: auth_create_digest_http_message
      Src: /src/PROJ/curl/lib/vauth/digest.c:980,1
    - Dst: auth_create_digest_http_message
      Src: /src/PROJ/curl/lib/vauth/digest.c:987,1
    - Dst: auth_create_digest_http_message
      Src: /src/PROJ/curl/lib/vauth/digest.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 8
    argNames:
    - data
    - userp
    - passwdp
    - request
    - uripath
    - digest
    - outptr
    - outlen
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - struct digestdata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 971
    functionDepth: 7
    functionLinenumber: 971
    functionLinenumberEnd: 1003
    functionName: Curl_auth_create_digest_http_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - auth_create_digest_http_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const unsigned
      char *request,\n                                              const unsigned
      char *uripath,\n                                              struct digestdata
      *digest,\n                                              char **outptr, size_t
      *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest.c:1017,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest.c:1018,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest.c:1019,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest.c:1020,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest.c:1021,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/digest.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - digest
    argTypes:
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1028
    functionName: Curl_auth_digest_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vauth/digest.c
    functionUses: 3
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_auth_digest_cleanup(struct digestdata *digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: DEBUG_OUT
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_OUT(x)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:169,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:171,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:173,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:177,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:179,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:181,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:183,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:185,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:187,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:189,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:191,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:193,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:195,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:197,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:199,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:201,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:203,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:205,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:207,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:209,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:211,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:213,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:215,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:217,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:219,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:221,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:223,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:225,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:227,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:229,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 2
    argNames:
    - handle
    - flags
    argTypes:
    - FILE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 230
    functionName: ntlm_print_flags
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void ntlm_print_flags(FILE *handle, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:238,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: ntlm_print_hex
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void ntlm_print_hex(FILE *handle, const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: DEBUG_OUT
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_OUT(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:266,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:267,1
    - Dst: Curl_read16_le
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:274,1
    - Dst: Curl_read32_le
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:275,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:280,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:285,1
    - Dst: Curl_memdup
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - data
    - type2ref
    - ntlm
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 296
    functionName: ntlm_decode_type2_target
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - Curl_read16_le
    - Curl_bufref_len
    - Curl_memdup
    - Curl_bufref_ptr
    - Curl_read32_le
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ntlm_decode_type2_target(struct Curl_easy *data,\n                                         const
      struct bufref *type2ref,\n                                         struct ntlmdata
      *ntlm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: Curl_auth_is_ntlm_supported
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_ntlm_supported(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:366,1
    - Dst: Curl_bufref_len
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:367,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:376,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:377,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:379,1
    - Dst: Curl_read32_le
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:383,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:384,1
    - Dst: ntlm_decode_type2_target
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:387,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:389,1
    - Dst: DEBUG_OUT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:394,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:395,1
    - Dst: ntlm_print_flags
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:396,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:397,1
    - Dst: ntlm_print_hex
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:398,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:399,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - data
    - type2ref
    - ntlm
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 343
    functionDepth: 6
    functionLinenumber: 343
    functionLinenumberEnd: 404
    functionName: Curl_auth_decode_ntlm_type2_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 2
    functionsReached:
    - infof
    - ntlm_print_flags
    - memcpy
    - curl_mfprintf
    - DEBUG_OUT
    - Curl_bufref_len
    - memcmp
    - ntlm_decode_type2_target
    - Curl_bufref_ptr
    - ntlm_print_hex
    - Curl_read32_le
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,\n
      \                                            const struct bufref *type2ref,\n
      \                                            struct ntlmdata *ntlm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - length
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: unicodecpy
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unicodecpy(unsigned char *dest, const char *src, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:474,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:476,1
    - Dst: LONGQUARTET
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:492,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:497,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:498,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:499,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:501,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:502,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:503,1
    - Dst: DEBUG_OUT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:514,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:515,1
    - Dst: LONGQUARTET
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:517,1
    - Dst: ntlm_print_flags
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:527,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:533,1
    - Dst: Curl_bufref_set
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 7
    argNames:
    - data
    - userp
    - passwdp
    - service
    - hostname
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 435
    functionDepth: 6
    functionLinenumber: 435
    functionLinenumberEnd: 538
    functionName: Curl_auth_create_ntlm_type1_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 3
    functionsReached:
    - Curl_auth_cleanup_ntlm
    - ntlm_print_flags
    - curl_mfprintf
    - SHORTPAIR
    - curl_maprintf
    - Curl_bufref_set
    - DEBUG_OUT
    - LONGQUARTET
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             const char *service,\n
      \                                            const char *hostname,\n                                             struct
      ntlmdata *ntlm,\n                                             struct bufref
      *out)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:603,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:604,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:605,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:607,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:617,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:629,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:633,1
    - Dst: Curl_ntlm_core_mk_ntlmv2_hash
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:637,1
    - Dst: Curl_ntlm_core_mk_lmv2_resp
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:643,1
    - Dst: Curl_ntlm_core_mk_ntlmv2_resp
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:649,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:663,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:667,1
    - Dst: Curl_ntlm_core_mk_lm_hash
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:669,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:673,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:694,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:740,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:742,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:743,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:746,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:747,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:748,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:751,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:752,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:753,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:756,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:757,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:758,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:761,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:762,1
    - Dst: SHORTPAIR
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:763,1
    - Dst: LONGQUARTET
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:771,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:773,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:774,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:778,1
    - Dst: DEBUG_OUT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:782,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:783,1
    - Dst: ntlm_print_hex
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:784,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:789,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:793,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:794,1
    - Dst: DEBUG_OUT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:797,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:798,1
    - Dst: ntlm_print_hex
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:799,1
    - Dst: DEBUG_OUT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:802,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:803,1
    - Dst: LONGQUARTET
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:804,1
    - Dst: ntlm_print_flags
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:805,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:806,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:812,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:817,1
    - Dst: unicodecpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:819,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:821,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:825,1
    - Dst: unicodecpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:827,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:829,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:833,1
    - Dst: unicodecpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:835,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:837,1
    - Dst: Curl_bufref_memdup
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:842,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:845,1
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:847,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 108
    argCount: 5
    argNames:
    - data
    - userp
    - passwdp
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 556
    functionDepth: 7
    functionLinenumber: 556
    functionLinenumberEnd: 850
    functionName: Curl_auth_create_ntlm_type3_message
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 2
    functionsReached:
    - failf
    - Curl_ntlm_core_mk_ntlmv2_resp
    - Curl_ntlm_core_mk_lmv2_resp
    - Curl_ntlm_core_mk_lm_hash
    - Curl_bufref_memdup
    - Curl_rand
    - memcpy
    - SHORTPAIR
    - curl_mfprintf
    - memset
    - strlen
    - Curl_ntlm_core_mk_nt_hash
    - Curl_ntlm_core_lm_resp
    - ntlm_print_hex
    - DEBUG_OUT
    - unicodecpy
    - DEBUGASSERT
    - Curl_ntlm_core_mk_ntlmv2_hash
    - Curl_auth_cleanup_ntlm
    - free
    - ntlm_print_flags
    - strchr
    - curl_msnprintf
    - LONGQUARTET
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             struct ntlmdata
      *ntlm,\n                                             struct bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vauth/ntlm.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ntlm
    argTypes:
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Curl_auth_cleanup_ntlm
    functionSourceFile: /src/PROJ/curl/lib/vauth/ntlm.c
    functionUses: 5
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_ntlm(struct ntlmdata *ntlm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: Curl_ssh_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/ssh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssh_init()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:48,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:54,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:58,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:60,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:61,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:66,1
    - Dst: memcmp
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:67,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:68,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:69,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:77,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:78,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:82,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:84,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:89,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:90,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:96,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:97,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:100,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - data
    - homedir
    - path
    argTypes:
    - struct Curl_easy*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 107
    functionName: Curl_getworkingpath
    functionSourceFile: /src/PROJ/curl/lib/vssh/curl_path.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - free
    - curlx_dyn_ptr
    - strcmp
    - curlx_dyn_init
    - DEBUGASSERT
    - memcmp
    - Curl_urldecode
    - curlx_dyn_add
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_getworkingpath(struct Curl_easy *data,\n                             char
      *homedir,  /* when SFTP is used */\n                             char **path)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:117,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:123,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:126,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:142,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:149,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:159,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:161,1
    - Dst: curlx_str_word
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:168,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:171,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:180,1
    - Dst: curlx_str
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:180,1
    - Dst: curlx_strlen
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:180,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:186,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:191,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/curl_path.c:195,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - cpp
    - path
    - homedir
    argTypes:
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 197
    functionName: Curl_get_pathname
    functionSourceFile: /src/PROJ/curl/lib/vssh/curl_path.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - curlx_str_passblanks
    - curlx_dyn_init
    - curlx_str
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_len
    - curlx_dyn_add
    - curlx_strlen
    - curlx_str_word
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_get_pathname(const char **cpp, char **path, const char
      *homedir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: SSH_STRING_FREE_CHAR
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSH_STRING_FREE_CHAR(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: sftp_error_to_CURLE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sftp_error_to_CURLE(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: myssh_to
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myssh_to(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: myssh_to
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myssh_to(x,y,z)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ssh_get_server_publickey
      Src: /src/PROJ/curl/lib/vssh/libssh.c:338,1
    - Dst: ssh_get_publickey_hash
      Src: /src/PROJ/curl/lib/vssh/libssh.c:348,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:351,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:357,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:359,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vssh/libssh.c:361,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:362,1
    - Dst: ssh_session_get_known_hosts_entry
      Src: /src/PROJ/curl/lib/vssh/libssh.c:376,1
    - Dst: ssh_pki_export_pubkey_base64
      Src: /src/PROJ/curl/lib/vssh/libssh.c:382,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:388,1
    - Dst: ssh_key_type
      Src: /src/PROJ/curl/lib/vssh/libssh.c:390,1
    - Dst: ssh_pki_export_pubkey_base64
      Src: /src/PROJ/curl/lib/vssh/libssh.c:433,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:438,1
    - Dst: ssh_key_type
      Src: /src/PROJ/curl/lib/vssh/libssh.c:440,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh.c:464,1
    - Dst: func
      Src: /src/PROJ/curl/lib/vssh/libssh.c:465,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh.c:468,1
    - Dst: ssh_session_update_known_hosts
      Src: /src/PROJ/curl/lib/vssh/libssh.c:472,1
    - Dst: ssh_clean_pubkey_hash
      Src: /src/PROJ/curl/lib/vssh/libssh.c:501,1
    - Dst: ssh_key_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:502,1
    - Dst: ssh_knownhosts_entry_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:504,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 149
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 507
    functionName: myssh_is_known
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_knownhosts_entry_free
    - infof
    - ssh_key_type
    - Curl_set_in_callback
    - failf
    - ssh_get_publickey_hash
    - curl_msnprintf
    - ssh_pki_export_pubkey_base64
    - ssh_clean_pubkey_hash
    - ssh_session_update_known_hosts
    - ssh_key_free
    - strlen
    - ssh_session_get_known_hosts_entry
    - ssh_get_server_publickey
    - curl_strequal
    - func
    linkageType: ''
    returnType: int
    signature: int myssh_is_known(struct Curl_easy *data, struct ssh_conn *sshc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - sshc
    - result
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: myssh_to_ERROR
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_to_ERROR(struct Curl_easy *data,\n                          struct
      ssh_conn *sshc,\n                          CURLcode result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:521,1
    - Dst: sftp_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:523,1
    - Dst: sftp_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: myssh_to_SFTP_CLOSE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_error_to_CURLE
    - sftp_get_error
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_to_SFTP_CLOSE(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:531,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: myssh_to_PASSWD_AUTH
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_to_PASSWD_AUTH(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:541,1
    - Dst: myssh_to_PASSWD_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: myssh_to_KEY_AUTH
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_PASSWD_AUTH
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_to_KEY_AUTH(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:551,1
    - Dst: myssh_to_KEY_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: myssh_to_GSSAPI_AUTH
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_to_KEY_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_to_GSSAPI_AUTH(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:561,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:563,1
    - Dst: sftp_opendir
      Src: /src/PROJ/curl/lib/vssh/libssh.c:571,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:574,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:575,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:576,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 580
    functionName: myssh_in_SFTP_READDIR_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - failf
    - myssh_to_SFTP_CLOSE
    - sftp_opendir
    - ssh_get_error
    - myssh_to
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_INIT(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc,\n                                      struct SSHPROTO *sshp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vssh/libssh.c:588,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:590,1
    - Dst: sftp_readdir
      Src: /src/PROJ/curl/lib/vssh/libssh.c:592,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:596,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:601,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:603,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:607,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:609,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:612,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vssh/libssh.c:619,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:621,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:628,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:632,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:637,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:640,1
    - Dst: sftp_dir_eof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:644,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:645,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:648,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:649,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:650,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 653
    functionName: myssh_in_SFTP_READDIR
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - curl_maprintf
    - sftp_attributes_free
    - Curl_client_write
    - sftp_dir_eof
    - myssh_to_SFTP_CLOSE
    - curlx_dyn_reset
    - sftp_readdir
    - strlen
    - curlx_dyn_add
    - ssh_get_error
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR(struct Curl_easy *data,\n                                 struct
      ssh_conn *sshc,\n                                 struct SSHPROTO *sshp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:659,1
    - Dst: sftp_lstat
      Src: /src/PROJ/curl/lib/vssh/libssh.c:661,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:664,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:665,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:666,1
    - Dst: sftp_readlink
      Src: /src/PROJ/curl/lib/vssh/libssh.c:670,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:675,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:680,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:685,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:687,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:696,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:701,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 708
    functionName: myssh_in_SFTP_READDIR_LINK
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_dyn_addf
    - sftp_attributes_free
    - sftp_lstat
    - myssh_to_SFTP_CLOSE
    - sftp_readlink
    - strlen
    - Curl_safefree
    - ssh_get_error
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_LINK(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/libssh.c:715,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:718,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vssh/libssh.c:719,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vssh/libssh.c:720,1
    - Dst: ssh_string_free_char
      Src: /src/PROJ/curl/lib/vssh/libssh.c:722,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:726,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: myssh_in_SFTP_READDIR_BOTTOM
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - Curl_client_write
    - ssh_string_free_char
    - curlx_dyn_len
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_BOTTOM(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sftp_closedir
      Src: /src/PROJ/curl/lib/vssh/libssh.c:735,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/vssh/libssh.c:739,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 742
    functionName: myssh_in_SFTP_READDIR_DONE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_closedir
    - myssh_to
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_DONE(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sftp_statvfs
      Src: /src/PROJ/curl/lib/vssh/libssh.c:749,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:751,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:752,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:753,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:754,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:766,1
    - Dst: sftp_statvfs_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:784,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:790,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:790,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:791,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:794,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:799,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 744
    functionDepth: 6
    functionLinenumber: 744
    functionLinenumberEnd: 801
    functionName: myssh_in_SFTP_QUOTE_STATVFS
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_statvfs_free
    - free
    - sftp_statvfs
    - failf
    - curl_maprintf
    - Curl_client_write
    - strlen
    - Curl_safefree
    - ssh_get_error
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE_STATVFS(struct Curl_easy *data,\n                                       struct
      ssh_conn *sshc)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_kbdint
      Src: /src/PROJ/curl/lib/vssh/libssh.c:812,1
    - Dst: ssh_userauth_kbdint_getnprompts
      Src: /src/PROJ/curl/lib/vssh/libssh.c:819,1
    - Dst: ssh_userauth_kbdint_setanswer
      Src: /src/PROJ/curl/lib/vssh/libssh.c:823,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:827,1
    - Dst: ssh_userauth_kbdint
      Src: /src/PROJ/curl/lib/vssh/libssh.c:831,1
    - Dst: ssh_userauth_kbdint_getnprompts
      Src: /src/PROJ/curl/lib/vssh/libssh.c:837,1
    - Dst: ssh_userauth_kbdint
      Src: /src/PROJ/curl/lib/vssh/libssh.c:850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - conn
    - sshc
    argTypes:
    - struct connectdata*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 865
    functionName: myssh_auth_interactive
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_userauth_kbdint_getnprompts
    - ssh_userauth_kbdint_setanswer
    - FALLTHROUGH
    - ssh_userauth_kbdint
    linkageType: ''
    returnType: int
    signature: "int myssh_auth_interactive(struct connectdata *conn,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssh_set_log_level
      Src: /src/PROJ/curl/lib/vssh/libssh.c:875,1
    - Dst: ssh_set_blocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:880,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 883
    functionName: myssh_state_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_set_blocking
    - myssh_to
    - ssh_set_log_level
    linkageType: ''
    returnType: void
    signature: "void myssh_state_init(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_connect
      Src: /src/PROJ/curl/lib/vssh/libssh.c:889,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:891,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:893,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:893,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:896,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:897,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 903
    functionName: myssh_in_S_STARTUP
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - infof
    - DEBUGF
    - failf
    - ssh_connect
    - myssh_block2waitfor
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_S_STARTUP(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_none
      Src: /src/PROJ/curl/lib/vssh/libssh.c:911,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:917,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:918,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:922,1
    - Dst: ssh_userauth_list
      Src: /src/PROJ/curl/lib/vssh/libssh.c:927,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:929,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:939,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:940,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:943,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:946,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:949,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:952,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 955
    functionName: myssh_in_AUTHLIST
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - infof
    - ssh_userauth_list
    - ssh_userauth_none
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTHLIST(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:962,1
    - Dst: ssh_userauth_try_publickey
      Src: /src/PROJ/curl/lib/vssh/libssh.c:970,1
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:976,1
    - Dst: ssh_pki_import_privkey_file
      Src: /src/PROJ/curl/lib/vssh/libssh.c:981,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:986,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:988,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:992,1
    - Dst: ssh_userauth_publickey_auto
      Src: /src/PROJ/curl/lib/vssh/libssh.c:995,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1003,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1004,1
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1008,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 957
    functionDepth: 5
    functionLinenumber: 957
    functionLinenumberEnd: 1011
    functionName: myssh_in_AUTH_PKEY_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - infof
    - ssh_pki_import_privkey_file
    - failf
    - myssh_to
    - ssh_userauth_publickey_auto
    - ssh_userauth_try_publickey
    - myssh_to_GSSAPI_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PKEY_INIT(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_publickey
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1016,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1021,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1022,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1026,1
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1013
    functionDepth: 5
    functionLinenumber: 1013
    functionLinenumberEnd: 1029
    functionName: myssh_in_AUTH_PKEY
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - ssh_userauth_publickey
    - myssh_to
    - myssh_to_GSSAPI_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PKEY(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to_KEY_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1036,1
    - Dst: ssh_userauth_gssapi
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1038,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1044,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1045,1
    - Dst: myssh_to_KEY_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1031
    functionDepth: 4
    functionLinenumber: 1031
    functionLinenumberEnd: 1050
    functionName: myssh_in_AUTH_GSSAPI
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - infof
    - ssh_userauth_gssapi
    - myssh_to_KEY_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_GSSAPI(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1056,1
    - Dst: myssh_to_PASSWD_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1060
    functionName: myssh_in_AUTH_KEY_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_PASSWD_AUTH
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_KEY_INIT(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myssh_auth_interactive
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1066,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1071,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1072,1
    - Dst: myssh_to_PASSWD_AUTH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1077
    functionName: myssh_in_AUTH_KEY
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_to
    - myssh_to_PASSWD_AUTH
    - myssh_auth_interactive
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_KEY(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1083,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1086
    functionName: myssh_in_AUTH_PASS_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PASS_INIT(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_password
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1091,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1096,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1097,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1101
    functionName: myssh_in_AUTH_PASS
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_userauth_password
    - myssh_to_ERROR
    - infof
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PASS(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1108,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1109,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1113,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1114,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1119,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1122,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1103
    functionDepth: 3
    functionLinenumber: 1103
    functionLinenumberEnd: 1125
    functionName: myssh_in_AUTH_DONE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - infof
    - failf
    - Curl_pgrsTime
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_DONE(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sftp_stat
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1138,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1142,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1143,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1148,1
    - Dst: sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1173,1
    - Dst: sftp_open
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1175,1
    - Dst: sftp_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1178,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1183,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1187,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1191,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1202,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1203,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1205,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1212,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1213,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1222,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1225,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1232,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1233,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1242,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1243,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1247,1
    - Dst: sftp_seek64
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1250,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1252,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1258,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1261,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1272,1
    - Dst: SSH_VERSION_INT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1273,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1276,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1127
    functionDepth: 3
    functionLinenumber: 1127
    functionLinenumberEnd: 1278
    functionName: myssh_in_UPLOAD_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_xfer_setup_send
    - myssh_to_SFTP_CLOSE
    - sftp_get_error
    - myssh_to
    - struct Curl_easy*::set::seek_func
    - sftp_attributes_free
    - sftp_seek64
    - sftp_stat
    - sftp_open
    - strlen
    - Curl_pgrsSetUploadSize
    - struct Curl_easy*::state::fread_func
    - myssh_to_ERROR
    - SSH_VERSION_INT
    - sftp_close
    - Curl_set_in_callback
    - curlx_sotouz
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: int
    signature: "int myssh_in_UPLOAD_INIT(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc,\n                                struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1286,1
    - Dst: sftp_open
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1288,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1291,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1292,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1294,1
    - Dst: sftp_file_set_nonblocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1296,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1299
    functionName: myssh_in_SFTP_DOWNLOAD_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_close
    - failf
    - myssh_to_SFTP_CLOSE
    - sftp_open
    - sftp_file_set_nonblocking
    - ssh_get_error
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_DOWNLOAD_INIT(struct Curl_easy *data,\n                                       struct
      ssh_conn *sshc,\n                                       struct SSHPROTO *sshp)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sftp_fstat
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1306,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1318,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1321,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1326,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1329,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1330,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1337,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1339,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1341,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1342,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1344,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1346,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1358,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1360,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1368,1
    - Dst: sftp_seek64
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1372,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1374,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1378,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1386,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1388,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1395,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1398,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1404,1
    - Dst: sftp_seek64
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1407,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1409,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1415,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1416,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1417,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1420,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1426,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1301
    functionDepth: 3
    functionLinenumber: 1301
    functionLinenumberEnd: 1429
    functionName: myssh_in_SFTP_DOWNLOAD_STAT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - infof
    - failf
    - curlx_str_single
    - Curl_xfer_setup_recv
    - curlx_str_passblanks
    - curlx_str_numblanks
    - sftp_attributes_free
    - sftp_fstat
    - sftp_seek64
    - curlx_str_number
    - myssh_to_SFTP_CLOSE
    - Curl_xfer_setup_nop
    - myssh_to
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_DOWNLOAD_STAT(struct Curl_easy *data,\n                                       struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1436,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1439,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1441,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1441,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1448,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1455
    functionName: myssh_in_SFTP_CLOSE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - sftp_close
    - DEBUGF
    - Curl_safefree
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_CLOSE(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc,\n                               struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_set_blocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1463,1
    - Dst: SSH_VERSION_INT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1464,1
    - Dst: SFTP_AIO_FREE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1465,1
    - Dst: SFTP_AIO_FREE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1466,1
    - Dst: sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1470,1
    - Dst: sftp_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1475,1
    - Dst: SSH_STRING_FREE_CHAR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1479,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1483
    functionName: myssh_in_SFTP_SHUTDOWN
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_free
    - sftp_close
    - SSH_VERSION_INT
    - SFTP_AIO_FREE
    - ssh_set_blocking
    - SSH_STRING_FREE_CHAR
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_SHUTDOWN(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_set_blocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1489,1
    - Dst: sftp_new
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1491,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1493,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1494,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1495,1
    - Dst: sftp_init
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1498,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1500,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1501,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1502,1
    - Dst: sftp_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1502,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1506
    functionName: myssh_in_SFTP_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_error_to_CURLE
    - myssh_to_ERROR
    - failf
    - sftp_new
    - ssh_set_blocking
    - sftp_init
    - ssh_get_error
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_INIT(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sftp_canonicalize_path
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1512,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1514,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1516,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1517,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1519,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1525,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1525,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1528
    functionName: myssh_in_SFTP_REALPATH
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - free
    - sftp_canonicalize_path
    - DEBUGF
    - infof
    - myssh_to
    - strdup
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_REALPATH(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getworkingpath
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1534,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1537,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1540,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1542,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1530
    functionDepth: 3
    functionLinenumber: 1530
    functionLinenumberEnd: 1547
    functionName: myssh_in_SFTP_QUOTE_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - infof
    - Curl_getworkingpath
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE_INIT(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc,\n                                    struct SSHPROTO *sshp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1553,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1555,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1561
    functionName: myssh_in_SFTP_POSTQUOTE_INIT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_POSTQUOTE_INIT(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1566,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1567,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1568,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1573
    functionName: return_quote_error
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - Curl_safefree
    linkageType: ''
    returnType: int
    signature: "int return_quote_error(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1598,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1600,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1604,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1608,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1609,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1609,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1614,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1614,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1615,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1617,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1622,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1630,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1632,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1633,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1643,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1646,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1648,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1649,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1661,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1662,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1663,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1664,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1665,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1670,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1673,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1675,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1677,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1678,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1684,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1686,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1689,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1690,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1694,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1697,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1699,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1700,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1701,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1707,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1708,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1711,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1713,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1715,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1718,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1722,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1725,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1727,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1728,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1729,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1735,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1736,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1739,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1742,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1743,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1746,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1748,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1749,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1753,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1755,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1756,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1761,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1762,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1763,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1764,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 125
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1575
    functionDepth: 8
    functionLinenumber: 1575
    functionLinenumberEnd: 1768
    functionName: myssh_in_SFTP_QUOTE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_get_pathname
    - free
    - strncmp
    - failf
    - curl_maprintf
    - strchr
    - Curl_client_write
    - return_quote_error
    - Curl_debug
    - strlen
    - Curl_safefree
    - curl_strequal
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc,\n                               struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1773,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1774,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1779,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1783,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1770
    functionDepth: 1
    functionLinenumber: 1770
    functionLinenumberEnd: 1791
    functionName: myssh_in_SFTP_NEXT_QUOTE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - Curl_safefree
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_NEXT_QUOTE(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1815,1
    - Dst: sftp_stat
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1816,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1818,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1819,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1820,1
    - Dst: sftp_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1821,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1822,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1829,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1832,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1833,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1834,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1835,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1836,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1844,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1847,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1848,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1849,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1850,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1851,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1859,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1862,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1863,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1864,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1865,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1866,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1874,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1875,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1878,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1879,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1884,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1889,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1890,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1891,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1899,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1908,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1793
    functionDepth: 5
    functionLinenumber: 1793
    functionLinenumberEnd: 1910
    functionName: myssh_in_SFTP_QUOTE_STAT
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - strncmp
    - curlx_str_octal
    - failf
    - sftp_attributes_free
    - Curl_getdate_capped
    - curlx_str_number
    - sftp_stat
    - sftp_get_error
    - Curl_safefree
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE_STAT(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: myssh_state_init
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1933,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1934,1
    - Dst: myssh_in_S_STARTUP
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1936,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1939,1
    - Dst: myssh_is_known
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1941,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1943,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1946,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1947,1
    - Dst: myssh_in_AUTHLIST
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1949,1
    - Dst: myssh_in_AUTH_PKEY_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1952,1
    - Dst: myssh_in_AUTH_PKEY
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1955,1
    - Dst: myssh_in_AUTH_GSSAPI
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1958,1
    - Dst: myssh_in_AUTH_KEY_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1961,1
    - Dst: myssh_in_AUTH_KEY
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1964,1
    - Dst: myssh_in_AUTH_PASS_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1967,1
    - Dst: myssh_in_AUTH_PASS
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1970,1
    - Dst: myssh_in_AUTH_DONE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1973,1
    - Dst: myssh_in_SFTP_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1976,1
    - Dst: myssh_in_SFTP_REALPATH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1979,1
    - Dst: myssh_in_SFTP_QUOTE_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1982,1
    - Dst: myssh_in_SFTP_POSTQUOTE_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1986,1
    - Dst: myssh_in_SFTP_QUOTE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1989,1
    - Dst: myssh_in_SFTP_NEXT_QUOTE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1993,1
    - Dst: myssh_in_SFTP_QUOTE_STAT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:1996,1
    - Dst: sftp_setstat
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2000,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2005,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2006,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2007,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2008,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2009,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2017,1
    - Dst: sftp_symlink
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2021,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2026,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2027,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2028,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2029,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2030,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2035,1
    - Dst: sftp_mkdir
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2039,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2044,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2045,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2046,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2047,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2052,1
    - Dst: sftp_rename
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2056,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2061,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2062,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2063,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2064,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2065,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2070,1
    - Dst: sftp_rmdir
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2074,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2078,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2079,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2080,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2081,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2086,1
    - Dst: sftp_unlink
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2090,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2094,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2095,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2096,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2097,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2102,1
    - Dst: myssh_in_SFTP_QUOTE_STATVFS
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2106,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2111,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2114,1
    - Dst: sftp_stat
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2124,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2127,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2130,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2136,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2138,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2139,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2141,1
    - Dst: myssh_in_UPLOAD_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2148,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2157,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2159,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2162,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2167,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2175,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2176,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2179,1
    - Dst: sftp_mkdir
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2188,1
    - Dst: sftp_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2198,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2202,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2207,1
    - Dst: myssh_in_SFTP_READDIR_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2211,1
    - Dst: myssh_in_SFTP_READDIR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2215,1
    - Dst: myssh_in_SFTP_READDIR_LINK
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2219,1
    - Dst: myssh_in_SFTP_READDIR_BOTTOM
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2222,1
    - Dst: myssh_in_SFTP_READDIR_DONE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2225,1
    - Dst: myssh_in_SFTP_DOWNLOAD_INIT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2228,1
    - Dst: myssh_in_SFTP_DOWNLOAD_STAT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2232,1
    - Dst: myssh_in_SFTP_CLOSE
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2235,1
    - Dst: myssh_in_SFTP_SHUTDOWN
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2239,1
    - Dst: Curl_getworkingpath
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2247,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2250,1
    - Dst: ssh_set_blocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2255,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2259,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2261,1
    - Dst: ssh_scp_new
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2266,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2267,1
    - Dst: ssh_scp_new
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2271,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2272,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2276,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2277,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2278,1
    - Dst: ssh_scp_init
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2287,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2289,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2290,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2291,1
    - Dst: ssh_scp_push_file64
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2295,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2300,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2301,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2302,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2307,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2316,1
    - Dst: ssh_scp_init
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2322,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2324,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2325,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2326,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2329,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2330,1
    - Dst: ssh_scp_pull_request
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2335,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2337,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2338,1
    - Dst: myssh_to_ERROR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2339,1
    - Dst: ssh_scp_request_get_size
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2344,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2346,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2351,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2356,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2358,1
    - Dst: ssh_scp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2363,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2371,1
    - Dst: ssh_get_error
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2372,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2376,1
    - Dst: ssh_scp_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2381,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2384,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2384,1
    - Dst: ssh_set_blocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2386,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2388,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2389,1
    - Dst: ssh_scp_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2396,1
    - Dst: sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2401,1
    - Dst: sftp_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2405,1
    - Dst: ssh_disconnect
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2409,1
    - Dst: ssh_version
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2410,1
    - Dst: SSH_VERSION_INT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2410,1
    - Dst: Curl_conn_forget_socket
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2414,1
    - Dst: SSH_STRING_FREE_CHAR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2417,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2419,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2420,1
    - Dst: sshc_cleanup
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2422,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2425,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2426,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2429,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2436,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2450,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2450,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 411
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - block
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 1918
    functionDepth: 9
    functionLinenumber: 1918
    functionLinenumberEnd: 2452
    functionName: myssh_statemach_act
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_in_AUTH_KEY_INIT
    - failf
    - myssh_in_SFTP_READDIR_BOTTOM
    - ssh_scp_pull_request
    - FALLTHROUGH
    - myssh_in_SFTP_REALPATH
    - sftp_symlink
    - myssh_to_SFTP_CLOSE
    - Curl_xfer_setup_send
    - sftp_setstat
    - sftp_get_error
    - myssh_in_AUTH_DONE
    - myssh_in_AUTH_PASS_INIT
    - sftp_unlink
    - ssh_get_error
    - myssh_in_SFTP_CLOSE
    - myssh_to
    - myssh_in_SFTP_DOWNLOAD_INIT
    - infof
    - myssh_in_SFTP_QUOTE
    - DEBUGF
    - sftp_rename
    - myssh_in_AUTH_PKEY_INIT
    - sftp_attributes_free
    - ssh_disconnect
    - Curl_conn_forget_socket
    - sftp_stat
    - myssh_in_AUTH_KEY
    - ssh_scp_init
    - memset
    - connclose
    - myssh_in_S_STARTUP
    - myssh_is_known
    - strlen
    - myssh_in_UPLOAD_INIT
    - myssh_in_AUTH_PKEY
    - myssh_in_SFTP_QUOTE_STAT
    - myssh_in_SFTP_READDIR_LINK
    - myssh_in_SFTP_DOWNLOAD_STAT
    - myssh_to_ERROR
    - SSH_VERSION_INT
    - myssh_in_SFTP_QUOTE_INIT
    - ssh_scp_new
    - Curl_xfer_setup_recv
    - Curl_getworkingpath
    - myssh_in_AUTHLIST
    - myssh_in_SFTP_READDIR
    - ssh_set_blocking
    - myssh_in_SFTP_POSTQUOTE_INIT
    - ssh_scp_request_get_size
    - ssh_version
    - sftp_free
    - sftp_close
    - myssh_in_AUTH_PASS
    - myssh_in_SFTP_READDIR_DONE
    - sftp_mkdir
    - myssh_in_SFTP_READDIR_INIT
    - myssh_in_AUTH_GSSAPI
    - strchr
    - ssh_scp_push_file64
    - myssh_in_SFTP_INIT
    - ssh_scp_close
    - sftp_rmdir
    - sshc_cleanup
    - myssh_in_SFTP_NEXT_QUOTE
    - Curl_safefree
    - myssh_in_SFTP_QUOTE_STATVFS
    - SSH_STRING_FREE_CHAR
    - myssh_state_init
    - ssh_scp_free
    - myssh_in_SFTP_SHUTDOWN
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_statemach_act(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc,\n                                    struct SSHPROTO *sshp,\n
      \                                   bool *block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2457
    functionDepth: 2
    functionLinenumber: 2457
    functionLinenumberEnd: 2471
    functionName: myssh_pollset
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_pollset(struct Curl_easy *data,\n                              struct
      easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_get_poll_flags
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - sshc
    - block
    argTypes:
    - struct connectdata*
    - struct ssh_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2487
    functionName: myssh_block2waitfor
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - ssh_get_poll_flags
    linkageType: ''
    returnType: void
    signature: "void myssh_block2waitfor(struct connectdata *conn,\n                                struct
      ssh_conn *sshc,\n                                bool block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2494,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2495,1
    - Dst: myssh_statemach_act
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2502,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2490
    functionDepth: 10
    functionLinenumber: 2490
    functionLinenumberEnd: 2507
    functionName: myssh_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_block2waitfor
    - Curl_conn_meta_get
    - Curl_meta_get
    - myssh_statemach_act
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_multi_statemach(struct Curl_easy *data,\n                                      bool
      *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2520,1
    - Dst: myssh_statemach_act
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2522,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2527,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2530,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2534,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2536,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - disconnect
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2509
    functionDepth: 10
    functionLinenumber: 2509
    functionLinenumberEnd: 2551
    functionName: myssh_block_statemach
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pgrsUpdate
    - Curl_timeleft
    - myssh_statemach_act
    - curlx_now
    - Curl_socket_check
    - Curl_speedcheck
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_block_statemach(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc,\n                                      struct SSHPROTO *sshp,\n
      \                                     bool disconnect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2558,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2560
    functionName: myssh_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void myssh_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sshc_cleanup
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2567,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2569
    functionName: myssh_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - free
    - sshc_cleanup
    linkageType: ''
    returnType: void
    signature: void myssh_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2580,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2584,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2586,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2589,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2595
    functionName: myssh_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_setup_connection(struct Curl_easy *data,\n                                       struct
      connectdata *conn)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2608,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2609,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2618,1
    - Dst: ssh_new
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2629,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2631,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2637,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2638,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2641,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2644,1
    - Dst: ssh_options_parse_config
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2648,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2650,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2654,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2656,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2661,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2662,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2664,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2670,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2671,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2674,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2680,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2683,1
    - Dst: ssh_options_set
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2689,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2692,1
    - Dst: ssh_pki_import_pubkey_file
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2701,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2704,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2712,1
    - Dst: myssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2714,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2604
    functionDepth: 11
    functionLinenumber: 2604
    functionLinenumberEnd: 2717
    functionName: myssh_connect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_options_set
    - infof
    - connkeep
    - failf
    - ssh_new
    - ssh_options_parse_config
    - Curl_meta_get
    - curl_msnprintf
    - ssh_pki_import_pubkey_file
    - Curl_conn_meta_get
    - myssh_multi_statemach
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode myssh_connect(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2724,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2727,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2720
    functionDepth: 11
    functionLinenumber: 2720
    functionLinenumberEnd: 2730
    functionName: scp_doing
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode scp_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2746,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2748,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2748,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2755,1
    - Dst: myssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2757,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2759,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2762,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2741
    functionDepth: 11
    functionLinenumber: 2741
    functionLinenumberEnd: 2766
    functionName: scp_perform
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_is_connected
    - Curl_conn_meta_get
    - myssh_multi_statemach
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_perform(struct Curl_easy *data,\n                     bool
      *connected, bool *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2773,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2785,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2786,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2787,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2788,1
    - Dst: scp_perform
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2791,1
    - Dst: sftp_perform
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2768
    functionDepth: 2
    functionLinenumber: 2768
    functionLinenumberEnd: 2796
    functionName: myssh_do_it
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - sftp_perform
    - scp_perform
    - Curl_conn_meta_get
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode myssh_do_it(struct Curl_easy *data, bool *done)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2802,1
    - Dst: sftp_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2806,1
    - Dst: ssh_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2810,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2815,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2816,1
    - Dst: ssh_string_free_char
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2819,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2823,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2827,1
    - Dst: sftp_attributes_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2831,1
    - Dst: ssh_key_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2835,1
    - Dst: ssh_key_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2839,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2843,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2844,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2845,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2846,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2847,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2848,1
    - Dst: SSH_STRING_FREE_CHAR
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2849,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - sshc
    argTypes:
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2798
    functionDepth: 1
    functionLinenumber: 2798
    functionLinenumberEnd: 2852
    functionName: sshc_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 2
    functionsReached:
    - sftp_free
    - sftp_close
    - sftp_attributes_free
    - curlx_dyn_free
    - ssh_key_free
    - ssh_string_free_char
    - DEBUGASSERT
    - Curl_safefree
    - SSH_STRING_FREE_CHAR
    - ssh_free
    linkageType: ''
    returnType: void
    signature: void sshc_cleanup(struct ssh_conn *sshc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2862,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2863,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2868,1
    - Dst: myssh_block_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2857
    functionDepth: 11
    functionLinenumber: 2857
    functionLinenumberEnd: 2873
    functionName: scp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_meta_get
    - myssh_block_statemach
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_disconnect(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool dead_connection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2882,1
    - Dst: myssh_block_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2886,1
    - Dst: Curl_pgrsDone
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - sshc
    - status
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2877
    functionDepth: 11
    functionLinenumber: 2877
    functionLinenumberEnd: 2896
    functionName: myssh_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - myssh_block_statemach
    - Curl_pgrsDone
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_done(struct Curl_easy *data,\n                           struct
      ssh_conn *sshc,\n                           CURLcode status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2902,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2908,1
    - Dst: myssh_done
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2899
    functionDepth: 12
    functionLinenumber: 2899
    functionLinenumberEnd: 2911
    functionName: scp_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_done
    - Curl_conn_meta_get
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_done(struct Curl_easy *data, CURLcode status,\n                         bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2919,1
    - Dst: ssh_scp_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2928,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2913
    functionDepth: 2
    functionLinenumber: 2913
    functionLinenumberEnd: 2945
    functionName: scp_send
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - myssh_block2waitfor
    - ssh_scp_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_send(struct Curl_easy *data, int sockindex,\n                         const
      void *mem, size_t len, bool eos,\n                         size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2951,1
    - Dst: ssh_scp_read
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2961,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2947
    functionDepth: 2
    functionLinenumber: 2947
    functionLinenumberEnd: 2975
    functionName: scp_recv
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_scp_read
    - Curl_conn_meta_get
    - myssh_block2waitfor
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_recv(struct Curl_easy *data, int sockindex,\n                         char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2995,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2998,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:2998,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3005,1
    - Dst: myssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3008,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3010,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3013,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2990
    functionDepth: 11
    functionLinenumber: 2990
    functionLinenumberEnd: 3017
    functionName: sftp_perform
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_is_connected
    - Curl_conn_meta_get
    - myssh_multi_statemach
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_perform(struct Curl_easy *data,\n                      bool
      *connected,\n                      bool *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3023,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3025,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3020
    functionDepth: 11
    functionLinenumber: 3020
    functionLinenumberEnd: 3028
    functionName: sftp_doing
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_doing(struct Curl_easy *data,\n                           bool
      *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3037,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3038,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3042,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3042,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3046,1
    - Dst: myssh_block_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3047,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3050,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3033
    functionDepth: 11
    functionLinenumber: 3033
    functionLinenumberEnd: 3052
    functionName: sftp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_meta_get
    - Curl_conn_meta_get
    - myssh_block_statemach
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3058,1
    - Dst: myssh_to
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3068,1
    - Dst: myssh_done
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3054
    functionDepth: 12
    functionLinenumber: 3054
    functionLinenumberEnd: 3071
    functionName: sftp_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_done
    - Curl_conn_meta_get
    - myssh_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3079,1
    - Dst: SSH_VERSION_INT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3089,1
    - Dst: sftp_file_set_nonblocking
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3092,1
    - Dst: sftp_aio_begin_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3093,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3098,1
    - Dst: sftp_aio_wait_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3100,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3101,1
    - Dst: sftp_write
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3132,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3074
    functionDepth: 2
    functionLinenumber: 3074
    functionLinenumberEnd: 3149
    functionName: sftp_send
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_aio_wait_write
    - SSH_VERSION_INT
    - FALLTHROUGH
    - Curl_conn_meta_get
    - sftp_aio_begin_write
    - sftp_file_set_nonblocking
    - myssh_block2waitfor
    - sftp_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_send(struct Curl_easy *data, int sockindex,\n                          const
      void *mem, size_t len, bool eos,\n                          size_t *pnwritten)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3159,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3165,1
    - Dst: SSH_VERSION_INT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3171,1
    - Dst: sftp_aio_begin_read
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3172,1
    - Dst: sftp_async_read_begin
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3178,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3183,1
    - Dst: SSH_VERSION_INT
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3187,1
    - Dst: sftp_aio_wait_read
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3188,1
    - Dst: sftp_async_read
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3190,1
    - Dst: myssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3155
    functionDepth: 2
    functionLinenumber: 3155
    functionLinenumberEnd: 3215
    functionName: sftp_recv
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - SSH_VERSION_INT
    - FALLTHROUGH
    - sftp_aio_wait_read
    - sftp_aio_begin_read
    - sftp_async_read
    - Curl_conn_meta_get
    - myssh_block2waitfor
    - sftp_async_read_begin
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_recv(struct Curl_easy *data, int sockindex,\n                          char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_init
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3220,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3221,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3218
    functionDepth: 5
    functionLinenumber: 3218
    functionLinenumberEnd: 3225
    functionName: Curl_ssh_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - ssh_init
    - DEBUGF
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssh_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssh_finalize
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3230
    functionName: Curl_ssh_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - ssh_finalize
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3234,1
    - Dst: ssh_version
      Src: /src/PROJ/curl/lib/vssh/libssh.c:3234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3232
    functionDepth: 6
    functionLinenumber: 3232
    functionLinenumberEnd: 3235
    functionName: Curl_ssh_version
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh.c
    functionUses: 2
    functionsReached:
    - curl_msnprintf
    - ssh_version
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_version(char *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:172,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:173,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:174,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:175,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:176,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:185,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:187,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - name
    - name_len
    - instruction
    - instruction_len
    - num_prompts
    - prompts
    - responses
    - abstract
    argTypes:
    - char*
    - int
    - char*
    - int
    - int
    - LIBSSH2_USERAUTH_KBDINT_PROMPT*
    - LIBSSH2_USERAUTH_KBDINT_RESPONSE*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: kbd_callback
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - curlx_uztoui
    - curl_mfprintf
    - strdup
    - strlen
    linkageType: ''
    returnType: void
    signature: "void kbd_callback(const char *name, int name_len, const char *instruction,\n
      \            int instruction_len, int num_prompts,\n             const LIBSSH2_USERAUTH_KBDINT_PROMPT
      *prompts,\n             LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses,\n             void
      **abstract)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: sftp_libssh2_error_to_CURLE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sftp_libssh2_error_to_CURLE(unsigned long err)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 263
    functionName: libssh2_session_error_to_CURLE
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode libssh2_session_error_to_CURLE(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: LIBSSH2_ALLOC_FUNC
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void LIBSSH2_ALLOC_FUNC(my_libssh2_malloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_crealloc
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: LIBSSH2_REALLOC_FUNC
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_crealloc
    linkageType: ''
    returnType: void
    signature: void LIBSSH2_REALLOC_FUNC(my_libssh2_realloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: LIBSSH2_FREE_FUNC
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void LIBSSH2_FREE_FUNC(my_libssh2_free)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:362,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:362,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - sshc
    - nowstate
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - sshstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 371
    functionName: myssh_state
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void myssh_state(struct Curl_easy *data,\n                        struct
      ssh_conn *sshc,\n                        sshstate nowstate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - easy
    - knownkey
    - foundkey
    - match
    - clientp
    argTypes:
    - CURL*
    - struct curl_khkey*
    - struct curl_khkey*
    - enum curl_khmatch
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: sshkeycallback
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sshkeycallback(CURL *easy,\n                          const struct
      curl_khkey *knownkey, /* known */\n                          const struct curl_khkey
      *foundkey, /* found */\n                          enum curl_khmatch match,\n
      \                         void *clientp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - sshkeytype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 420
    functionName: convert_ssh2_keytype
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum curl_khtype
    signature: enum curl_khtype convert_ssh2_keytype(int sshkeytype)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_hostkey
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:434,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:472,1
    - Dst: libssh2_knownhost_checkp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:480,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:490,1
    - Dst: convert_ssh2_keytype
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:498,1
    - Dst: convert_ssh2_keytype
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:505,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:515,1
    - Dst: func
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:516,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:519,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:529,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:530,1
    - Dst: libssh2_knownhost_del
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:538,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:539,1
    - Dst: libssh2_knownhost_add
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:546,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:553,1
    - Dst: libssh2_knownhost_writefile
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:560,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:564,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 573
    functionName: ssh_knownhost
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_hostkey
    - convert_ssh2_keytype
    - infof
    - Curl_set_in_callback
    - libssh2_knownhost_add
    - FALLTHROUGH
    - libssh2_knownhost_checkp
    - myssh_state
    - libssh2_knownhost_del
    - libssh2_knownhost_writefile
    - func
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_knownhost(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:581,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:583,1
    - Dst: libssh2_hostkey_hash
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:594,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:597,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:600,1
    - Dst: curlx_base64_encode
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:606,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:608,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:613,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:614,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:618,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:635,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:636,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:639,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:640,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:644,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:646,1
    - Dst: libssh2_hostkey_hash
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:653,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:660,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:664,1
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:669,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:671,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:676,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:680,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:683,1
    - Dst: libssh2_session_hostkey
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:692,1
    - Dst: convert_ssh2_keytype
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:695,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:696,1
    - Dst: struct Curl_easy*::set::ssh_hostkeyfunc
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:697,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:699,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:701,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:706,1
    - Dst: ssh_knownhost
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:712,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 575
    functionDepth: 6
    functionLinenumber: 575
    functionLinenumberEnd: 719
    functionName: ssh_check_fingerprint
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_hostkey
    - infof
    - strncmp
    - free
    - failf
    - convert_ssh2_keytype
    - Curl_set_in_callback
    - struct Curl_easy*::set::ssh_hostkeyfunc
    - curl_msnprintf
    - myssh_state
    - libssh2_hostkey_hash
    - curlx_base64_encode
    - ssh_knownhost
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_check_fingerprint(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_knownhost_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:755,1
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:761,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:763,1
    - Dst: atoi
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:767,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:769,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:769,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:770,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:777,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:791,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:814,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:817,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:822,1
    - Dst: libssh2_session_method_pref
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:823,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:828,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:829,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:830,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:834,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 840
    functionName: ssh_force_knownhost_key_type
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - infof
    - libssh2_knownhost_get
    - strncmp
    - failf
    - strstr
    - strcmp
    - libssh2_session_method_pref
    - strlen
    - libssh2_session_error_to_CURLE
    - atoi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_force_knownhost_key_type(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:845,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:846,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 849
    functionName: return_quote_error
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - failf
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode return_quote_error(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:877,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:879,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:883,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:884,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:884,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:889,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:889,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:890,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:892,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:900,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:902,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:910,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:913,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:922,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:923,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:924,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:925,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:926,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:931,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:934,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:935,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:939,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:941,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:942,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:945,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:946,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:950,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:953,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:954,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:958,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:959,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:962,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:964,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:966,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:969,1
    - Dst: Curl_get_pathname
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:973,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:976,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:977,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:981,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:982,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:985,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:987,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:989,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:992,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:994,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:995,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:998,1
    - Dst: return_quote_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1000,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1001,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1005,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1006,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1007,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 851
    functionDepth: 8
    functionLinenumber: 851
    functionLinenumberEnd: 1009
    functionName: sftp_quote
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_get_pathname
    - free
    - strncmp
    - failf
    - curl_maprintf
    - strchr
    - Curl_client_write
    - myssh_state
    - return_quote_error
    - Curl_debug
    - memset
    - strlen
    - Curl_safefree
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_quote(struct Curl_easy *data,\n                           struct
      ssh_conn *sshc,\n                           struct SSHPROTO *sshp)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_stat_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1029,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1030,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1030,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1042,1
    - Dst: libssh2_sftp_open_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1067,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1068,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1068,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1075,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1085,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1090,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1091,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1092,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1093,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1099,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1102,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1105,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1106,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1114,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1116,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1127,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1128,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1130,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1137,1
    - Dst: curlx_sotouz
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1146,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1149,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1150,1
    - Dst: Curl_set_in_callback
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1153,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1159,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1169,1
    - Dst: libssh2_sftp_seek64
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1172,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1177,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1180,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1191,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1193,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1195
    functionName: sftp_upload_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_set_in_callback
    - failf
    - curlx_sotouz
    - libssh2_sftp_last_error
    - libssh2_session_last_errno
    - libssh2_sftp_stat_ex
    - sftp_libssh2_error_to_CURLE
    - struct Curl_easy*::set::seek_func
    - myssh_state
    - Curl_pgrsSetUploadSize
    - libssh2_sftp_seek64
    - Curl_xfer_setup_send
    - curlx_uztoui
    - Curl_multi_mark_dirty
    - sftp_libssh2_strerror
    - strlen
    - struct Curl_easy*::state::fread_func
    - libssh2_sftp_open_ex
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_upload_init(struct Curl_easy *data,\n                 struct
      ssh_conn *sshc,\n                 struct SSHPROTO *sshp,\n                 bool
      *blockp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1207,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1213,1
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1217,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1223,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1226,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1227,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1228,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1231,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1232,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1235,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1239,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1240,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1241,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1242,1
    - Dst: curlx_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1243,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1244,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1247,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1261,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1267,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1268,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1269,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1278,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1279,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1281,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1197
    functionDepth: 6
    functionLinenumber: 1197
    functionLinenumberEnd: 1287
    functionName: ssh_state_pkey_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - free
    - infof
    - strstr
    - curl_maprintf
    - myssh_state
    - Curl_safefree
    - curlx_stat
    - curl_getenv
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_pkey_init(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1308,1
    - Dst: libssh2_sftp_stat_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1313,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1314,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1314,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1322,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1323,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1324,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1330,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1333,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1338,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1342,1
    - Dst: curlx_str_octal
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1346,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1347,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1354,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1357,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1362,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1366,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1367,1
    - Dst: Curl_getdate_capped
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1371,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1372,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1378,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1384,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1393,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1396,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1397,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1289
    functionDepth: 5
    functionLinenumber: 1289
    functionLinenumberEnd: 1399
    functionName: sftp_quote_stat
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strncmp
    - curlx_str_octal
    - failf
    - libssh2_sftp_last_error
    - libssh2_sftp_stat_ex
    - myssh_state
    - Curl_getdate_capped
    - curlx_str_number
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_quote_stat(struct Curl_easy *data,\n                struct
      ssh_conn *sshc,\n                struct SSHPROTO *sshp,\n                bool
      *blockp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_stat_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1408,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1409,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1409,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1426,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1433,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1441,1
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1444,1
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1445,1
    - Dst: curlx_str_numblanks
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1447,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1460,1
    - Dst: libssh2_sftp_seek64
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1474,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1478,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1486,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1496,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1505,1
    - Dst: libssh2_sftp_seek64
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1507,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1514,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1515,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1516,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1519,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1524,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1401
    functionDepth: 3
    functionLinenumber: 1401
    functionLinenumberEnd: 1527
    functionName: sftp_download_stat
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - curlx_str_single
    - Curl_xfer_setup_recv
    - curlx_str_passblanks
    - libssh2_sftp_stat_ex
    - curlx_str_numblanks
    - myssh_state
    - libssh2_sftp_seek64
    - curlx_str_number
    - Curl_xfer_setup_nop
    - curlx_uztoui
    - strlen
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_download_stat(struct Curl_easy *data,\n                   struct
      ssh_conn *sshc,\n                   struct SSHPROTO *sshp,\n                   bool
      *blockp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_readdir_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1535,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1548,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1552,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1557,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1563,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1565,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1568,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1575,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1578,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1579,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1580,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1581,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1582,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1583,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1586
    functionName: sftp_readdir
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - libssh2_sftp_readdir_ex
    - curlx_dyn_addf
    - failf
    - libssh2_sftp_last_error
    - libssh2_session_last_errno
    - sftp_libssh2_error_to_CURLE
    - Curl_client_write
    - myssh_state
    - sftp_libssh2_strerror
    - curlx_dyn_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_readdir(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc,\n                             struct SSHPROTO *sshp,\n                             bool
      *blockp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_set_blocking
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1597,1
    - Dst: ssh_force_knownhost_key_type
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1599,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1601,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1605
    functionName: ssh_state_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - ssh_force_knownhost_key_type
    - myssh_state
    - libssh2_session_set_blocking
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_init(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_handshake
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1611,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1618,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1619,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1621,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1627
    functionName: ssh_state_startup
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - libssh2_session_handshake
    - myssh_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_startup(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_check_fingerprint
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1637,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1629
    functionDepth: 7
    functionLinenumber: 1629
    functionLinenumberEnd: 1641
    functionName: ssh_state_hostkey
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - ssh_check_fingerprint
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_hostkey(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_list
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1657,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1659,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1659,1
    - Dst: libssh2_userauth_authenticated
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1663,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1665,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1666,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1669,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1673,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1674,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1676,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1643
    functionDepth: 2
    functionLinenumber: 1643
    functionLinenumberEnd: 1681
    functionName: ssh_state_authlist
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - libssh2_session_last_errno
    - myssh_state
    - libssh2_userauth_authenticated
    - curlx_uztoui
    - strlen
    - libssh2_userauth_list
    - libssh2_session_error_to_CURLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_authlist(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_publickey_fromfile_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1690,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1692,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1693,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1699,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1700,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1704,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1705,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1716,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1719,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1683
    functionDepth: 2
    functionLinenumber: 1683
    functionLinenumberEnd: 1723
    functionName: ssh_state_auth_pkey
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - infof
    - myssh_state
    - curlx_uztoui
    - strlen
    - Curl_safefree
    - libssh2_userauth_publickey_fromfile_ex
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_pkey(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1729,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1730,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1736
    functionName: ssh_state_auth_pass_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - strstr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_pass_init(struct Curl_easy *data,\n                                         struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_password_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1743,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1744,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1744,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1746,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1746,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1753,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1754,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1738
    functionDepth: 2
    functionLinenumber: 1738
    functionLinenumberEnd: 1760
    functionName: ssh_state_auth_pass
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_state
    - curlx_uztoui
    - libssh2_userauth_password_ex
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_pass(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1766,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1767,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1773
    functionName: ssh_state_auth_host_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - strstr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_host_init(struct Curl_easy *data,\n                                         struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1780,1
    - Dst: libssh2_agent_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1786,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1788,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1790,1
    - Dst: libssh2_agent_connect
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1795,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1799,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1800,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1803,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1809
    functionName: ssh_state_auth_agent_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - libssh2_agent_init
    - strstr
    - myssh_state
    - libssh2_agent_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_agent_init(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_agent_list_identities
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1814,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1819,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1820,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1827
    functionName: ssh_state_auth_agent_list
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_state
    - libssh2_agent_list_identities
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_agent_list(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_agent_get_identity
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1835,1
    - Dst: libssh2_agent_userauth
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1843,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1857,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1859,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1863,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1864,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1867,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1829
    functionDepth: 2
    functionLinenumber: 1829
    functionLinenumberEnd: 1870
    functionName: ssh_state_auth_agent
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - libssh2_agent_get_identity
    - myssh_state
    - libssh2_agent_userauth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_agent(struct Curl_easy *data,\n                                     struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1876,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1877,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1872
    functionDepth: 2
    functionLinenumber: 1872
    functionLinenumberEnd: 1883
    functionName: ssh_state_auth_key_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - strstr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_key_init(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_keyboard_interactive_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1891,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1893,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1894,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1901,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 1906
    functionName: ssh_state_auth_key
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_state
    - curlx_uztoui
    - libssh2_userauth_keyboard_interactive_ex
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_key(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1913,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1914,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1921,1
    - Dst: Curl_pgrsTime
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1923,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1929,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1932,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1908
    functionDepth: 3
    functionLinenumber: 1908
    functionLinenumberEnd: 1935
    functionName: ssh_state_auth_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    - infof
    - myssh_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_done(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1943,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1946,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1950,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1952,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1953,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1937
    functionDepth: 2
    functionLinenumber: 1937
    functionLinenumberEnd: 1958
    functionName: ssh_state_sftp_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - failf
    - libssh2_session_last_errno
    - myssh_state
    - libssh2_sftp_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_init(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1967,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1968,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1968,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1974,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1976,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1977,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1980,1
    - Dst: strdup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1981,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1987,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1990,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1995,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:1995,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2004,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 2006
    functionName: ssh_state_sftp_realpath
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGF
    - libssh2_sftp_symlink_ex
    - infof
    - libssh2_sftp_last_error
    - sftp_libssh2_error_to_CURLE
    - myssh_state
    - curlx_uztoui
    - strlen
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_realpath(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc,\n                                        struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getworkingpath
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2012,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2014,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2019,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2021,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2008
    functionDepth: 3
    functionLinenumber: 2008
    functionLinenumberEnd: 2027
    functionName: ssh_state_sftp_quote_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_getworkingpath
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_init(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc,\n                                          struct SSHPROTO *sshp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2033,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2035,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2029
    functionDepth: 2
    functionLinenumber: 2029
    functionLinenumberEnd: 2041
    functionName: ssh_state_sftp_postquote_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_postquote_init(struct Curl_easy *data,\n                                              struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sftp_quote
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2048,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2043
    functionDepth: 9
    functionLinenumber: 2043
    functionLinenumberEnd: 2054
    functionName: ssh_state_sftp_quote
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - sftp_quote
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote(struct Curl_easy *data,\n                                     struct
      ssh_conn *sshc,\n                                     struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2059,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2060,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2065,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2069,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2077
    functionName: ssh_state_sftp_next_quote
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_next_quote(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sftp_quote_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2084,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2079
    functionDepth: 6
    functionLinenumber: 2079
    functionLinenumberEnd: 2090
    functionName: ssh_state_sftp_quote_stat
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - sftp_quote_stat
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_stat(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc,\n                                          struct SSHPROTO *sshp,\n
      \                                         bool *blockp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_stat_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2097,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2098,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2098,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2105,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2106,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2107,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2108,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2109,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2110,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2092
    functionDepth: 2
    functionLinenumber: 2092
    functionLinenumberEnd: 2116
    functionName: ssh_state_sftp_quote_setstat
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - failf
    - libssh2_sftp_last_error
    - libssh2_sftp_stat_ex
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_setstat(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc,\n                                             struct SSHPROTO
      *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2122,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2123,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2123,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2125,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2125,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2131,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2132,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2133,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2134,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2135,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2136,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2142
    functionName: ssh_state_sftp_quote_symlink
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_symlink_ex
    - failf
    - libssh2_sftp_last_error
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_symlink(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_mkdir_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2147,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2148,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2148,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2154,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2155,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2156,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2157,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2158,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2164
    functionName: ssh_state_sftp_quote_mkdir
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_mkdir_ex
    - failf
    - libssh2_sftp_last_error
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_mkdir(struct Curl_easy *data,\n                                           struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_rename_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2170,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2171,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2171,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2173,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2173,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2182,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2183,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2184,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2185,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2186,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2187,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2166
    functionDepth: 2
    functionLinenumber: 2166
    functionLinenumberEnd: 2193
    functionName: ssh_state_sftp_quote_rename
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - failf
    - libssh2_sftp_last_error
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    - libssh2_sftp_rename_ex
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_rename(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_rmdir_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2198,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2199,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2199,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2204,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2205,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2206,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2207,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2208,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2195
    functionDepth: 2
    functionLinenumber: 2195
    functionLinenumberEnd: 2214
    functionName: ssh_state_sftp_quote_rmdir
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_rmdir_ex
    - failf
    - libssh2_sftp_last_error
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_rmdir(struct Curl_easy *data,\n                                           struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_unlink_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2219,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2220,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2220,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2225,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2226,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2227,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2227,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2228,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2216
    functionDepth: 2
    functionLinenumber: 2216
    functionLinenumberEnd: 2234
    functionName: ssh_state_sftp_quote_unlink
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_unlink_ex
    - failf
    - libssh2_sftp_last_error
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_unlink(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_statvfs
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2240,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2241,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2241,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2248,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2249,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2250,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2251,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2252,1
    - Dst: curl_maprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2263,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2282,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2287,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2287,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2288,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2290,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2236
    functionDepth: 6
    functionLinenumber: 2236
    functionLinenumberEnd: 2297
    functionName: ssh_state_sftp_quote_statvfs
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - free
    - failf
    - libssh2_sftp_last_error
    - curl_maprintf
    - Curl_client_write
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - libssh2_sftp_statvfs
    - strlen
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_statvfs(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_mkdir_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2304,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2305,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2305,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2318,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2322,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2323,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2299
    functionDepth: 2
    functionLinenumber: 2299
    functionLinenumberEnd: 2328
    functionName: ssh_state_sftp_create_dirs_mkdir
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_mkdir_ex
    - libssh2_sftp_last_error
    - sftp_libssh2_error_to_CURLE
    - myssh_state
    - curlx_uztoui
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_create_dirs_mkdir(struct Curl_easy *data,\n
      \                                                struct ssh_conn *sshc,\n                                                 struct
      SSHPROTO *sshp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2334,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2336,1
    - Dst: libssh2_sftp_open_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2345,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2346,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2346,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2350,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2353,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2354,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2355,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2356,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2357,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2330
    functionDepth: 2
    functionLinenumber: 2330
    functionLinenumberEnd: 2361
    functionName: ssh_state_sftp_readdir_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - failf
    - libssh2_sftp_last_error
    - libssh2_session_last_errno
    - sftp_libssh2_error_to_CURLE
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - libssh2_sftp_open_ex
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_readdir_init(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc,\n                                            struct SSHPROTO
      *sshp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2369,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2370,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2372,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2378,1
    - Dst: curlx_dyn_addf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2384,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2386,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2363
    functionDepth: 2
    functionLinenumber: 2363
    functionLinenumberEnd: 2390
    functionName: ssh_state_sftp_readdir_link
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - libssh2_sftp_symlink_ex
    - curlx_dyn_addf
    - myssh_state
    - curlx_dyn_free
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_readdir_link(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc,\n                                            struct SSHPROTO
      *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2409,1
    - Dst: libssh2_scp_recv2
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2410,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2415,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2419,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2421,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2422,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2423,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2429,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2392
    functionDepth: 3
    functionLinenumber: 2392
    functionLinenumberEnd: 2436
    functionName: ssh_state_scp_download_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - libssh2_scp_recv2
    - failf
    - Curl_xfer_setup_recv
    - libssh2_session_last_errno
    - myssh_state
    - memset
    - libssh2_session_error_to_CURLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_scp_download_init(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc,\n                                            struct SSHPROTO
      *sshp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2444,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2450,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2452,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2457,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2459,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2459,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2466,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2473
    functionName: ssh_state_sftp_close
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - infof
    - DEBUGF
    - myssh_state
    - libssh2_sftp_close
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_close(struct Curl_easy *data,\n                                     struct
      ssh_conn *sshc,\n                                     struct SSHPROTO *sshp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2483,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2489,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2491,1
    - Dst: libssh2_sftp_shutdown
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2496,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2501,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2506,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2475
    functionDepth: 2
    functionLinenumber: 2475
    functionLinenumberEnd: 2510
    functionName: ssh_state_sftp_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - infof
    - myssh_state
    - libssh2_sftp_close
    - libssh2_sftp_shutdown
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_shutdown(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_open_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2520,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2521,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2521,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2526,1
    - Dst: libssh2_sftp_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2530,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2531,1
    - Dst: sftp_libssh2_strerror
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2532,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2533,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2534,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2512
    functionDepth: 2
    functionLinenumber: 2512
    functionLinenumberEnd: 2538
    functionName: ssh_state_sftp_download_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - failf
    - libssh2_sftp_last_error
    - libssh2_session_last_errno
    - sftp_libssh2_error_to_CURLE
    - myssh_state
    - curlx_uztoui
    - sftp_libssh2_strerror
    - strlen
    - libssh2_sftp_open_ex
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_download_init(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc,\n                                             struct SSHPROTO
      *sshp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_scp_send64
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2551,1
    - Dst: libssh2_session_last_errno
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2558,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2562,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2564,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2565,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2566,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2577,1
    - Dst: Curl_xfer_setup_send
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2578,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2540
    functionDepth: 3
    functionLinenumber: 2540
    functionLinenumberEnd: 2590
    functionName: ssh_state_scp_upload_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - failf
    - libssh2_session_last_errno
    - Curl_pgrsSetUploadSize
    - myssh_state
    - Curl_xfer_setup_send
    - libssh2_session_error_to_CURLE
    - libssh2_scp_send64
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_scp_upload_init(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc,\n                                          struct SSHPROTO *sshp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_channel_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2600,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2606,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2608,1
    - Dst: libssh2_session_disconnect
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2615,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2621,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2623,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2628,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2592
    functionDepth: 2
    functionLinenumber: 2592
    functionLinenumberEnd: 2632
    functionName: ssh_state_session_disconnect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - infof
    - libssh2_channel_free
    - myssh_state
    - libssh2_session_disconnect
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_session_disconnect(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: ssh_state_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2652,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2655,1
    - Dst: ssh_state_startup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2658,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2661,1
    - Dst: ssh_state_hostkey
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2664,1
    - Dst: ssh_state_authlist
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2668,1
    - Dst: ssh_state_pkey_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2672,1
    - Dst: ssh_state_auth_pkey
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2676,1
    - Dst: ssh_state_auth_pass_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2680,1
    - Dst: ssh_state_auth_pass
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2684,1
    - Dst: ssh_state_auth_host_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2688,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2692,1
    - Dst: ssh_state_auth_agent_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2696,1
    - Dst: ssh_state_auth_agent_list
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2700,1
    - Dst: ssh_state_auth_agent
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2704,1
    - Dst: ssh_state_auth_key_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2708,1
    - Dst: ssh_state_auth_key
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2712,1
    - Dst: ssh_state_auth_done
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2716,1
    - Dst: ssh_state_sftp_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2720,1
    - Dst: ssh_state_sftp_realpath
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2724,1
    - Dst: ssh_state_sftp_quote_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2729,1
    - Dst: ssh_state_sftp_postquote_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2734,1
    - Dst: ssh_state_sftp_quote
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2738,1
    - Dst: ssh_state_sftp_next_quote
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2743,1
    - Dst: ssh_state_sftp_quote_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2747,1
    - Dst: ssh_state_sftp_quote_setstat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2752,1
    - Dst: ssh_state_sftp_quote_symlink
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2757,1
    - Dst: ssh_state_sftp_quote_mkdir
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2761,1
    - Dst: ssh_state_sftp_quote_rename
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2765,1
    - Dst: ssh_state_sftp_quote_rmdir
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2769,1
    - Dst: ssh_state_sftp_quote_unlink
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2773,1
    - Dst: ssh_state_sftp_quote_statvfs
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2777,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2782,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2785,1
    - Dst: libssh2_sftp_stat_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2798,1
    - Dst: curlx_uztoui
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2799,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2799,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2809,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2815,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2817,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2818,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2820,1
    - Dst: sftp_upload_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2827,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2830,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2838,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2840,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2843,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2852,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2856,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2857,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2860,1
    - Dst: ssh_state_sftp_create_dirs_mkdir
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2864,1
    - Dst: ssh_state_sftp_readdir_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2869,1
    - Dst: sftp_readdir
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2874,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2877,1
    - Dst: ssh_state_sftp_readdir_link
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2882,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2891,1
    - Dst: Curl_client_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2893,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2894,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2895,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2898,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2899,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2902,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2903,1
    - Dst: libssh2_sftp_closedir
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2908,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2914,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2915,1
    - Dst: ssh_state_sftp_download_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2920,1
    - Dst: sftp_download_stat
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2925,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2928,1
    - Dst: ssh_state_sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2934,1
    - Dst: ssh_state_sftp_shutdown
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2939,1
    - Dst: Curl_getworkingpath
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2943,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2946,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2952,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2954,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2957,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2960,1
    - Dst: ssh_state_scp_upload_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2965,1
    - Dst: ssh_state_scp_download_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2970,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2976,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2978,1
    - Dst: libssh2_channel_send_eof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2983,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2990,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2992,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:2996,1
    - Dst: libssh2_channel_wait_eof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3001,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3008,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3010,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3013,1
    - Dst: libssh2_channel_wait_closed
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3018,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3025,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3027,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3030,1
    - Dst: libssh2_channel_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3035,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3042,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3044,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3049,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3049,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3050,1
    - Dst: ssh_state_session_disconnect
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3054,1
    - Dst: sshc_cleanup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3058,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3062,1
    - Dst: connclose
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3063,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3065,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3071,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 323
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - block
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 2640
    functionDepth: 10
    functionLinenumber: 2640
    functionLinenumberEnd: 3085
    functionName: ssh_statemachine
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_state_sftp_quote
    - ssh_state_sftp_next_quote
    - ssh_state_authlist
    - ssh_state_auth_agent_list
    - ssh_state_sftp_create_dirs_mkdir
    - FALLTHROUGH
    - ssh_state_auth_pass_init
    - ssh_state_auth_host_init
    - ssh_state_auth_agent
    - sftp_upload_init
    - ssh_state_sftp_readdir_link
    - Curl_client_write
    - sftp_download_stat
    - curlx_uztoui
    - ssh_state_sftp_close
    - libssh2_channel_free
    - ssh_state_sftp_quote_statvfs
    - ssh_state_sftp_quote_mkdir
    - ssh_state_auth_done
    - infof
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - ssh_state_sftp_quote_unlink
    - DEBUGF
    - ssh_state_auth_key
    - connclose
    - ssh_state_session_disconnect
    - ssh_state_auth_pkey
    - curlx_dyn_reset
    - sftp_readdir
    - ssh_state_sftp_realpath
    - strlen
    - libssh2_sftp_closedir
    - ssh_state_scp_upload_init
    - memset
    - ssh_state_sftp_readdir_init
    - libssh2_channel_wait_eof
    - ssh_state_scp_download_init
    - ssh_state_sftp_init
    - ssh_state_sftp_quote_init
    - ssh_state_sftp_shutdown
    - failf
    - libssh2_channel_send_eof
    - myssh_state
    - ssh_state_sftp_quote_rename
    - ssh_state_sftp_quote_symlink
    - ssh_state_hostkey
    - Curl_xfer_setup_nop
    - Curl_getworkingpath
    - libssh2_channel_wait_closed
    - ssh_state_sftp_quote_setstat
    - curlx_dyn_len
    - ssh_state_sftp_quote_rmdir
    - ssh_state_sftp_download_init
    - libssh2_session_last_error
    - ssh_state_auth_key_init
    - ssh_state_startup
    - ssh_state_sftp_quote_stat
    - libssh2_sftp_stat_ex
    - strchr
    - sshc_cleanup
    - ssh_state_init
    - curlx_dyn_free
    - ssh_state_sftp_postquote_init
    - ssh_state_pkey_init
    - ssh_state_auth_pass
    - ssh_state_auth_agent_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_statemachine(struct Curl_easy *data,\n                                 struct
      ssh_conn *sshc,\n                                 struct SSHPROTO *sshp,\n                                 bool
      *block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3089
    functionDepth: 2
    functionLinenumber: 3089
    functionLinenumberEnd: 3101
    functionName: ssh_pollset
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_pollset(struct Curl_easy *data,\n                            struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_block_directions
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - sshc
    - block
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3128
    functionName: ssh_block2waitfor
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 6
    functionsReached:
    - libssh2_session_block_directions
    linkageType: ''
    returnType: void
    signature: "void ssh_block2waitfor(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc,\n                              bool block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3134,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3135,1
    - Dst: ssh_statemachine
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3143,1
    - Dst: ssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3131
    functionDepth: 11
    functionLinenumber: 3131
    functionLinenumberEnd: 3151
    functionName: ssh_multi_statemach
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 5
    functionsReached:
    - Curl_conn_meta_get
    - Curl_meta_get
    - ssh_statemachine
    - ssh_block2waitfor
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3159,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3164,1
    - Dst: ssh_statemachine
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3166,1
    - Dst: Curl_pgrsUpdate
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3171,1
    - Dst: Curl_speedcheck
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3174,1
    - Dst: Curl_timeleft
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3178,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3180,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3184,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3186,1
    - Dst: libssh2_session_block_directions
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3192,1
    - Dst: Curl_socket_check
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - disconnect
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3153
    functionDepth: 11
    functionLinenumber: 3153
    functionLinenumberEnd: 3207
    functionName: ssh_block_statemach
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 3
    functionsReached:
    - ssh_statemachine
    - failf
    - Curl_pgrsUpdate
    - Curl_timeleft
    - curlx_now
    - curlx_timediff
    - Curl_socket_check
    - Curl_speedcheck
    - libssh2_session_block_directions
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_block_statemach(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc,\n                                    struct SSHPROTO *sshp,\n
      \                                   bool disconnect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3214,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3215,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3216,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3209
    functionDepth: 1
    functionLinenumber: 3209
    functionLinenumberEnd: 3218
    functionName: myssh_easy_dtor
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_dyn_free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void myssh_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sshc_cleanup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3225,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3227
    functionName: myssh_conn_dtor
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - free
    - sshc_cleanup
    linkageType: ''
    returnType: void
    signature: void myssh_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3239,1
    - Dst: Curl_conn_meta_set
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3243,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3246,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3250,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3251,1
    - Dst: Curl_meta_set
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3232
    functionDepth: 2
    functionLinenumber: 3232
    functionLinenumberEnd: 3256
    functionName: ssh_setup_connection
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - Curl_conn_meta_set
    - calloc
    - Curl_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_setup_connection(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_sockindex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3266,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3271,1
    - Dst: Curl_conn_recv
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3280,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - sock
    - buffer
    - length
    - flags
    - abstract
    argTypes:
    - libssh2_socket_t
    - void*
    - size_t
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3262
    functionDepth: 8
    functionLinenumber: 3262
    functionLinenumberEnd: 3288
    functionName: ssh_tls_recv
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_sockindex
    - Curl_debug
    - Curl_conn_recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ssh_tls_recv(libssh2_socket_t sock, void *buffer,\n                            size_t
      length, int flags, void **abstract)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_sockindex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3294,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3299,1
    - Dst: Curl_conn_send
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3308,1
    - Dst: Curl_debug
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - sock
    - buffer
    - length
    - flags
    - abstract
    argTypes:
    - libssh2_socket_t
    - void*
    - size_t
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3290
    functionDepth: 8
    functionLinenumber: 3290
    functionLinenumberEnd: 3316
    functionName: ssh_tls_send
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_send
    - Curl_conn_meta_get
    - Curl_conn_sockindex
    - Curl_debug
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ssh_tls_send(libssh2_socket_t sock, const void *buffer,\n
      \                           size_t length, int flags, void **abstract)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3329,1
    - Dst: libssh2_crypto_engine
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3335,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3356,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3365,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3367,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3369,1
    - Dst: libssh2_session_init_ex
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3375,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3380,1
    - Dst: libssh2_session_set_read_timeout
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3387,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3407,1
    - Dst: libssh2_session_callback_set2
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3412,1
    - Dst: libssh2_session_callback_set2
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3415,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3441,1
    - Dst: libssh2_session_callback_set
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3442,1
    - Dst: libssh2_session_callback_set
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3444,1
    - Dst: libssh2_session_flag
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3465,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3466,1
    - Dst: libssh2_knownhost_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3471,1
    - Dst: libssh2_session_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3473,1
    - Dst: libssh2_knownhost_readfile
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3479,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3483,1
    - Dst: libssh2_trace
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3488,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3489,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3492,1
    - Dst: ssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3494,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3323
    functionDepth: 12
    functionLinenumber: 3323
    functionLinenumberEnd: 3497
    functionName: ssh_connect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - libssh2_session_set_read_timeout
    - infof
    - connkeep
    - failf
    - libssh2_trace
    - libssh2_session_flag
    - libssh2_knownhost_readfile
    - myssh_state
    - libssh2_session_init_ex
    - Curl_conn_meta_get
    - ssh_multi_statemach
    - libssh2_session_callback_set2
    - libssh2_session_free
    - libssh2_crypto_engine
    - libssh2_session_callback_set
    - libssh2_knownhost_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3513,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3516,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3516,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3523,1
    - Dst: ssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3526,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3528,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3531,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3508
    functionDepth: 12
    functionLinenumber: 3508
    functionLinenumberEnd: 3535
    functionName: scp_perform
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_is_connected
    - myssh_state
    - Curl_conn_meta_get
    - ssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_perform(struct Curl_easy *data,\n                     bool
      *connected,\n                     bool *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3542,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3545,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3548
      start: 3538
    functionDepth: 12
    functionLinenumber: 3538
    functionLinenumberEnd: 3548
    functionName: scp_doing
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - ssh_multi_statemach
    - DEBUGF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_doing(struct Curl_easy *data,\n                          bool
      *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3560,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3570,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3571,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3572,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3573,1
    - Dst: scp_perform
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3576,1
    - Dst: sftp_perform
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3555
    functionDepth: 2
    functionLinenumber: 3555
    functionLinenumberEnd: 3581
    functionName: ssh_do
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - sftp_perform
    - scp_perform
    - Curl_conn_meta_get
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_pgrsSetDownloadSize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_do(struct Curl_easy *data, bool *done)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_knownhost_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3589,1
    - Dst: libssh2_agent_disconnect
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3594,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3597,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3599,1
    - Dst: libssh2_agent_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3605,1
    - Dst: libssh2_sftp_close
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3615,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3618,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3620,1
    - Dst: libssh2_channel_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3629,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3632,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3634,1
    - Dst: libssh2_sftp_shutdown
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3644,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3647,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3649,1
    - Dst: libssh2_session_free
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3658,1
    - Dst: libssh2_session_last_error
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3661,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3663,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3672,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3673,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3674,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3675,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3676,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3677,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3679,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3680,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3681,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3682,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3683,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 3
    argNames:
    - sshc
    - data
    - block
    argTypes:
    - struct ssh_conn*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3686
      start: 3583
    functionDepth: 1
    functionLinenumber: 3583
    functionLinenumberEnd: 3686
    functionName: sshc_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 4
    functionsReached:
    - libssh2_session_last_error
    - infof
    - libssh2_knownhost_free
    - libssh2_channel_free
    - libssh2_agent_disconnect
    - libssh2_agent_free
    - libssh2_sftp_close
    - libssh2_sftp_shutdown
    - DEBUGASSERT
    - Curl_safefree
    - libssh2_session_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sshc_cleanup(struct ssh_conn *sshc, struct Curl_easy *data,\n
      \                            bool block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3697,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3698,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3703,1
    - Dst: ssh_block_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3704,1
    - Dst: sshc_cleanup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3710
      start: 3692
    functionDepth: 12
    functionLinenumber: 3692
    functionLinenumberEnd: 3710
    functionName: scp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - myssh_state
    - sshc_cleanup
    - Curl_conn_meta_get
    - ssh_block_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_disconnect(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3716,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3717,1
    - Dst: ssh_block_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3725,1
    - Dst: Curl_pgrsDone
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - status
    argTypes:
    - struct Curl_easy*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3714
    functionDepth: 12
    functionLinenumber: 3714
    functionLinenumberEnd: 3734
    functionName: ssh_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 2
    functionsReached:
    - Curl_pgrsDone
    - Curl_conn_meta_get
    - Curl_meta_get
    - ssh_block_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_done(struct Curl_easy *data, CURLcode status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3740,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3744,1
    - Dst: ssh_done
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3747
      start: 3737
    functionDepth: 13
    functionLinenumber: 3737
    functionLinenumberEnd: 3747
    functionName: scp_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ssh_done
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_done(struct Curl_easy *data, CURLcode status,\n                         bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3754,1
    - Dst: libssh2_channel_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3766,1
    - Dst: ssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3768,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3749
    functionDepth: 2
    functionLinenumber: 3749
    functionLinenumberEnd: 3778
    functionName: scp_send
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_channel_write
    - Curl_conn_meta_get
    - ssh_block2waitfor
    - libssh2_session_error_to_CURLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_send(struct Curl_easy *data, int sockindex,\n                         const
      void *mem, size_t len, bool eos,\n                         size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3784,1
    - Dst: libssh2_channel_read
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3795,1
    - Dst: ssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3797,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3806
      start: 3780
    functionDepth: 2
    functionLinenumber: 3780
    functionLinenumberEnd: 3806
    functionName: scp_recv
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ssh_block2waitfor
    - libssh2_channel_read
    - libssh2_session_error_to_CURLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_recv(struct Curl_easy *data, int sockindex,\n                         char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3826,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3829,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3829,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3836,1
    - Dst: ssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3839,1
    - Dst: Curl_conn_is_connected
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3841,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3844,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3821
    functionDepth: 12
    functionLinenumber: 3821
    functionLinenumberEnd: 3848
    functionName: sftp_perform
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 2
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_is_connected
    - myssh_state
    - Curl_conn_meta_get
    - ssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_perform(struct Curl_easy *data,\n                      bool
      *connected,\n                      bool *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_multi_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3854,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3857,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3860
      start: 3851
    functionDepth: 12
    functionLinenumber: 3851
    functionLinenumberEnd: 3860
    functionName: sftp_doing
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - ssh_multi_statemach
    - DEBUGF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_doing(struct Curl_easy *data,\n                           bool
      *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3869,1
    - Dst: Curl_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3870,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3876,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3876,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3877,1
    - Dst: ssh_block_statemach
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3878,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3879,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3879,1
    - Dst: sshc_cleanup
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3865
    functionDepth: 12
    functionLinenumber: 3865
    functionLinenumberEnd: 3885
    functionName: sftp_disconnect
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_meta_get
    - myssh_state
    - sshc_cleanup
    - Curl_conn_meta_get
    - ssh_block_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn, bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3891,1
    - Dst: myssh_state
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3902,1
    - Dst: ssh_done
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3887
    functionDepth: 13
    functionLinenumber: 3887
    functionLinenumberEnd: 3905
    functionName: sftp_done
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ssh_done
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3913,1
    - Dst: libssh2_sftp_write
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3923,1
    - Dst: ssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3925,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3908
    functionDepth: 2
    functionLinenumber: 3908
    functionLinenumberEnd: 3933
    functionName: sftp_send
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - libssh2_sftp_write
    - libssh2_session_error_to_CURLE
    - ssh_block2waitfor
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_send(struct Curl_easy *data, int sockindex,\n                          const
      void *mem, size_t len, bool eos,\n                          size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3943,1
    - Dst: libssh2_sftp_read
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3952,1
    - Dst: ssh_block2waitfor
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3954,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:3959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3963
      start: 3939
    functionDepth: 2
    functionLinenumber: 3939
    functionLinenumberEnd: 3963
    functionName: sftp_recv
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ssh_block2waitfor
    - libssh2_session_error_to_CURLE
    - libssh2_sftp_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_recv(struct Curl_easy *data, int sockindex,\n                          char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 3965
    functionDepth: 0
    functionLinenumber: 3965
    functionLinenumberEnd: 4029
    functionName: sftp_libssh2_strerror
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sftp_libssh2_strerror(unsigned long err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_init
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4033,1
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4034,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4038
      start: 4031
    functionDepth: 5
    functionLinenumber: 4031
    functionLinenumberEnd: 4038
    functionName: Curl_ssh_init
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - DEBUGF
    - libssh2_init
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssh_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_exit
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4043
      start: 4040
    functionDepth: 0
    functionLinenumber: 4040
    functionLinenumberEnd: 4043
    functionName: Curl_ssh_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - libssh2_exit
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4047,1
    - Dst: libssh2_version
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4048
      start: 4045
    functionDepth: 6
    functionLinenumber: 4045
    functionLinenumberEnd: 4048
    functionName: Curl_ssh_version
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 2
    functionsReached:
    - libssh2_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_version(char *buffer, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4056,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4057,1
    - Dst: Curl_conn_meta_get
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4059,1
    - Dst: libssh2_session_abstract
      Src: /src/PROJ/curl/lib/vssh/libssh2.c:4062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4066
      start: 4054
    functionDepth: 2
    functionLinenumber: 4054
    functionLinenumberEnd: 4066
    functionName: ssh_attach
    functionSourceFile: /src/PROJ/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - libssh2_session_abstract
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void ssh_attach(struct Curl_easy *data, struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: curlx_convert_UTF8_to_tchar
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: curlx_convert_tchar_to_UTF8
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: curlx_convert_UTF8_to_tchar
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: curlx_convert_tchar_to_UTF8
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: curlx_unicodefree
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_unicodefree(ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sfcntl
      Src: /src/PROJ/curl/lib/curlx/nonblock.c:52,1
    - Dst: sfcntl
      Src: /src/PROJ/curl/lib/curlx/nonblock.c:64,1
    - Dst: IoctlSocket
      Src: /src/PROJ/curl/lib/curlx/nonblock.c:70,1
    - Dst: ioctl
      Src: /src/PROJ/curl/lib/curlx/nonblock.c:76,1
    - Dst: ioctlsocket
      Src: /src/PROJ/curl/lib/curlx/nonblock.c:82,1
    - Dst: setsockopt
      Src: /src/PROJ/curl/lib/curlx/nonblock.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sockfd
    - nonblock
    argTypes:
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 93
    functionName: curlx_nonblock
    functionSourceFile: /src/PROJ/curl/lib/curlx/nonblock.c
    functionUses: 13
    functionsReached:
    - ioctl
    - ioctlsocket
    - IoctlSocket
    - setsockopt
    - sfcntl
    linkageType: ''
    returnType: int
    signature: "int curlx_nonblock(curl_socket_t sockfd,    /* operate on this */\n
      \                  int nonblock   /* TRUE or FALSE */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SET_SOCKERRNO
      Src: /src/PROJ/curl/lib/curlx/wait.c:68,1
    - Dst: delay
      Src: /src/PROJ/curl/lib/curlx/wait.c:72,1
    - Dst: Sleep
      Src: /src/PROJ/curl/lib/curlx/wait.c:80,1
    - Dst: select
      Src: /src/PROJ/curl/lib/curlx/wait.c:86,1
    - Dst: curlx_mstotv
      Src: /src/PROJ/curl/lib/curlx/wait.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 97
    functionName: curlx_wait_ms
    functionSourceFile: /src/PROJ/curl/lib/curlx/wait.c
    functionUses: 29
    functionsReached:
    - SET_SOCKERRNO
    - Sleep
    - curlx_mstotv
    - select
    - delay
    linkageType: ''
    returnType: int
    signature: int curlx_wait_ms(timediff_t timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton4
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:81,1
    - Dst: inet_pton6
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:83,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: curlx_inet_pton
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_pton.c
    functionUses: 24
    functionsReached:
    - inet_pton6
    - CURL_SETERRNO
    - inet_pton4
    linkageType: ''
    returnType: int
    signature: int curlx_inet_pton(int af, const char *src, void *dst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:112,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 139
    functionName: inet_pton4
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_pton.c
    functionUses: 1
    functionsReached:
    - ISDIGIT
    - memcpy
    linkageType: ''
    returnType: int
    signature: int inet_pton4(const char *src, unsigned char *dst)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:162,1
    - Dst: ISXDIGIT
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:173,1
    - Dst: Curl_hexval
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:175,1
    - Dst: inet_pton4
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:197,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curlx/inet_pton.c:228,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 230
    functionName: inet_pton6
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_pton.c
    functionUses: 1
    functionsReached:
    - memcpy
    - Curl_hexval
    - memset
    - ISXDIGIT
    - inet_pton4
    linkageType: ''
    returnType: int
    signature: int inet_pton6(const char *src, unsigned char *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CURLX_FOPEN_LOW
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_FOPEN_LOW(fname, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: curlx_stat
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_stat(fname, stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: curlx_stat
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_stat(fname, stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - file
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: curlx_fopen
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_fopen(file,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - file
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: curlx_fdopen
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_fdopen(file,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: curlx_fclose
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_fclose(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct Curl_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: curlx_str_init
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curlx_str_init(struct Curl_str *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - str
    - len
    argTypes:
    - struct Curl_str*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: curlx_str_assign
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curlx_str_assign(struct Curl_str *out, const char *str, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:50,1
    - Dst: curlx_str_init
      Src: /src/PROJ/curl/lib/curlx/strparse.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - linep
    - out
    - max
    - delim
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: curlx_str_until
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 14
    functionsReached:
    - curlx_str_init
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int curlx_str_until(const char **linep, struct Curl_str *out,\n                    const
      size_t max, char delim)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/PROJ/curl/lib/curlx/strparse.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - out
    - max
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: curlx_str_word
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 4
    functionsReached:
    - curlx_str_until
    linkageType: ''
    returnType: int
    signature: "int curlx_str_word(const char **linep, struct Curl_str *out,\n                   const
      size_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:82,1
    - Dst: curlx_str_init
      Src: /src/PROJ/curl/lib/curlx/strparse.c:84,1
    - Dst: ISNEWLINE
      Src: /src/PROJ/curl/lib/curlx/strparse.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - linep
    - out
    - max
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: curlx_str_untilnl
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - ISNEWLINE
    - curlx_str_init
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int curlx_str_untilnl(const char **linep, struct Curl_str *out,\n
      \                     const size_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:106,1
    - Dst: curlx_str_init
      Src: /src/PROJ/curl/lib/curlx/strparse.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - linep
    - out
    - max
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: curlx_str_quotedword
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - curlx_str_init
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int curlx_str_quotedword(const char **linep, struct Curl_str *out,\n
      \                        const size_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - linep
    - byte
    argTypes:
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: curlx_str_single
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 37
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_str_single(const char **linep, char byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_single
      Src: /src/PROJ/curl/lib/curlx/strparse.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linep
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: curlx_str_singlespace
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached:
    - curlx_str_single
    linkageType: ''
    returnType: int
    signature: int curlx_str_singlespace(const char **linep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: valid_digit
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: valid_digit(x,m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:166,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:167,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:168,1
    - Dst: valid_digit
      Src: /src/PROJ/curl/lib/curlx/strparse.c:171,1
    - Dst: Curl_hexval
      Src: /src/PROJ/curl/lib/curlx/strparse.c:176,1
    - Dst: valid_digit
      Src: /src/PROJ/curl/lib/curlx/strparse.c:180,1
    - Dst: Curl_hexval
      Src: /src/PROJ/curl/lib/curlx/strparse.c:184,1
    - Dst: valid_digit
      Src: /src/PROJ/curl/lib/curlx/strparse.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - linep
    - nump
    - max
    - base
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: str_num_base
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 0
    functionsReached:
    - valid_digit
    - Curl_hexval
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int str_num_base(const char **linep, curl_off_t *nump, curl_off_t
      max,\n                        int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_num_base
      Src: /src/PROJ/curl/lib/curlx/strparse.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - nump
    - max
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: curlx_str_number
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 71
    functionsReached:
    - str_num_base
    linkageType: ''
    returnType: int
    signature: int curlx_str_number(const char **linep, curl_off_t *nump, curl_off_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_num_base
      Src: /src/PROJ/curl/lib/curlx/strparse.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - nump
    - max
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: curlx_str_hex
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - str_num_base
    linkageType: ''
    returnType: int
    signature: int curlx_str_hex(const char **linep, curl_off_t *nump, curl_off_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_num_base
      Src: /src/PROJ/curl/lib/curlx/strparse.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - nump
    - max
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: curlx_str_octal
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - str_num_base
    linkageType: ''
    returnType: int
    signature: int curlx_str_octal(const char **linep, curl_off_t *nump, curl_off_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_passblanks
      Src: /src/PROJ/curl/lib/curlx/strparse.c:222,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/curlx/strparse.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - char**
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: curlx_str_numblanks
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 8
    functionsReached:
    - curlx_str_passblanks
    - curlx_str_number
    linkageType: ''
    returnType: int
    signature: int curlx_str_numblanks(const char **str, curl_off_t *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:230,1
    - Dst: ISNEWLINE
      Src: /src/PROJ/curl/lib/curlx/strparse.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - linep
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: curlx_str_newline
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 4
    functionsReached:
    - ISNEWLINE
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_str_newline(const char **linep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/strparse.c:243,1
    - Dst: curl_strnequal
      Src: /src/PROJ/curl/lib/curlx/strparse.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - check
    argTypes:
    - struct Curl_str*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: curlx_str_casecompare
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 12
    functionsReached:
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: int
    signature: int curlx_str_casecompare(struct Curl_str *str, const char *check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/strparse.c:252,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/curlx/strparse.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - str
    - check
    argTypes:
    - struct Curl_str*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: curlx_str_cmp
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int curlx_str_cmp(struct Curl_str *str, const char *check)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: curlx_str_nudge
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int curlx_str_nudge(struct Curl_str *str, size_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/strparse.c:277,1
    - Dst: strcspn
      Src: /src/PROJ/curl/lib/curlx/strparse.c:279,1
    - Dst: curlx_str_init
      Src: /src/PROJ/curl/lib/curlx/strparse.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - linep
    - out
    - reject
    argTypes:
    - char**
    - struct Curl_str*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 288
    functionName: curlx_str_cspn
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 6
    functionsReached:
    - strcspn
    - curlx_str_init
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int curlx_str_cspn(const char **linep, struct Curl_str *out,\n                   const
      char *reject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/curlx/strparse.c:293,1
    - Dst: curlx_str_nudge
      Src: /src/PROJ/curl/lib/curlx/strparse.c:294,1
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/curlx/strparse.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct Curl_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: curlx_str_trimblanks
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 8
    functionsReached:
    - curlx_str_nudge
    - ISBLANK
    linkageType: ''
    returnType: void
    signature: void curlx_str_trimblanks(struct Curl_str *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/PROJ/curl/lib/curlx/strparse.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - linep
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: curlx_str_passblanks
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.c
    functionUses: 27
    functionsReached:
    - ISBLANK
    linkageType: ''
    returnType: void
    signature: void curlx_str_passblanks(const char **linep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ulnum
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: curlx_ultouc
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char curlx_ultouc(unsigned long ulnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: curlx_uztosi
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 9
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_uztosi(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: curlx_uztoul
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 14
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long curlx_uztoul(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: curlx_uztoui
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 27
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int curlx_uztoui(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:143,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: curlx_sltosi
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_sltosi(long slnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:165,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: curlx_sltoui
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int curlx_sltoui(long slnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:187,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: curlx_sltous
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short curlx_sltous(long slnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: curlx_uztosz
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t curlx_uztosz(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sonum
    argTypes:
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: curlx_sotouz
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 12
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t curlx_sotouz(curl_off_t sonum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:245,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sznum
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: curlx_sztosi
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_sztosi(ssize_t sznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uinum
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: curlx_uitous
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short curlx_uitous(unsigned int uinum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/warnless.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sinum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: curlx_sitouz
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t curlx_sitouz(int sinum)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/base64.c:83,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curlx/base64.c:106,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curlx/base64.c:112,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curlx/base64.c:113,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curlx/base64.c:168,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src
    - outptr
    - outlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 170
    functionName: curlx_base64_decode
    functionSourceFile: /src/PROJ/curl/lib/curlx/base64.c
    functionUses: 11
    functionsReached:
    - free
    - memcpy
    - memset
    - strlen
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curlx_base64_decode(const char *src,\n                             unsigned
      char **outptr, size_t *outlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/base64.c:188,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/curlx/base64.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 6
    argNames:
    - table64
    - padbyte
    - inputbuff
    - insize
    - outptr
    - outlen
    argTypes:
    - char*
    - unsigned char
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 233
    functionName: base64_encode
    functionSourceFile: /src/PROJ/curl/lib/curlx/base64.c
    functionUses: 17
    functionsReached:
    - malloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode base64_encode(const char *table64,\n                              unsigned
      char padbyte,\n                              const char *inputbuff, size_t insize,\n
      \                             char **outptr, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/PROJ/curl/lib/curlx/base64.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - inputbuff
    - insize
    - outptr
    - outlen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: curlx_base64_encode
    functionSourceFile: /src/PROJ/curl/lib/curlx/base64.c
    functionUses: 17
    functionsReached:
    - base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curlx_base64_encode(const char *inputbuff, size_t insize,\n
      \                            char **outptr, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/PROJ/curl/lib/curlx/base64.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - inputbuff
    - insize
    - outptr
    - outlen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: curlx_base64url_encode
    functionSourceFile: /src/PROJ/curl/lib/curlx/base64.c
    functionUses: 2
    functionsReached:
    - base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curlx_base64url_encode(const char *inputbuff, size_t insize,\n
      \                               char **outptr, size_t *outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageW
      Src: /src/PROJ/curl/lib/curlx/winapi.c:66,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/curlx/winapi.c:68,1
    - Dst: wcstombs
      Src: /src/PROJ/curl/lib/curlx/winapi.c:69,1
    - Dst: strchr
      Src: /src/PROJ/curl/lib/curlx/winapi.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - DWORD
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 86
    functionName: curlx_get_winapi_error
    functionSourceFile: /src/PROJ/curl/lib/curlx/winapi.c
    functionUses: 1
    functionsReached:
    - CURL_ARRAYSIZE
    - wcstombs
    - strchr
    - FormatMessageW
    linkageType: ''
    returnType: char
    signature: char *curlx_get_winapi_error(DWORD err, char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/curlx/winapi.c:90,1
    - Dst: curlx_get_winapi_error
      Src: /src/PROJ/curl/lib/curlx/winapi.c:99,1
    - Dst: SNPRINTF
      Src: /src/PROJ/curl/lib/curlx/winapi.c:106,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/winapi.c:115,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curlx/winapi.c:116,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/winapi.c:121,1
    - Dst: GetLastError
      Src: /src/PROJ/curl/lib/curlx/winapi.c:123,1
    - Dst: SetLastError
      Src: /src/PROJ/curl/lib/curlx/winapi.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - DWORD
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: curlx_winapi_strerror
    functionSourceFile: /src/PROJ/curl/lib/curlx/winapi.c
    functionUses: 4
    functionsReached:
    - CURL_SETERRNO
    - strcpy
    - SetLastError
    - SNPRINTF
    - strlen
    - GetLastError
    - curlx_get_winapi_error
    linkageType: ''
    returnType: char
    signature: char *curlx_winapi_strerror(DWORD err, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fseeki64
      Src: /src/PROJ/curl/lib/curlx/fopen.c:40,1
    - Dst: fseeko
      Src: /src/PROJ/curl/lib/curlx/fopen.c:42,1
    - Dst: fseek
      Src: /src/PROJ/curl/lib/curlx/fopen.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: curlx_fseek
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.c
    functionUses: 4
    functionsReached:
    - _fseeki64
    - fseek
    - fseeko
    linkageType: ''
    returnType: int
    signature: int curlx_fseek(void *stream, curl_off_t offset, int whence)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _tcsncmp
      Src: /src/PROJ/curl/lib/curlx/fopen.c:95,1
    - Dst: _T
      Src: /src/PROJ/curl/lib/curlx/fopen.c:95,1
    - Dst: mbstowcs
      Src: /src/PROJ/curl/lib/curlx/fopen.c:100,1
    - Dst: mbstowcs
      Src: /src/PROJ/curl/lib/curlx/fopen.c:107,1
    - Dst: GetFullPathNameW
      Src: /src/PROJ/curl/lib/curlx/fopen.c:118,1
    - Dst: GetFullPathNameW
      Src: /src/PROJ/curl/lib/curlx/fopen.c:127,1
    - Dst: wcsncmp
      Src: /src/PROJ/curl/lib/curlx/fopen.c:140,1
    - Dst: wcsncmp
      Src: /src/PROJ/curl/lib/curlx/fopen.c:142,1
    - Dst: wcsncmp
      Src: /src/PROJ/curl/lib/curlx/fopen.c:144,1
    - Dst: wcsncmp
      Src: /src/PROJ/curl/lib/curlx/fopen.c:144,1
    - Dst: wcsncmp
      Src: /src/PROJ/curl/lib/curlx/fopen.c:151,1
    - Dst: wcsncpy
      Src: /src/PROJ/curl/lib/curlx/fopen.c:161,1
    - Dst: wcscpy
      Src: /src/PROJ/curl/lib/curlx/fopen.c:162,1
    - Dst: wcsncpy
      Src: /src/PROJ/curl/lib/curlx/fopen.c:174,1
    - Dst: wcscpy
      Src: /src/PROJ/curl/lib/curlx/fopen.c:175,1
    - Dst: wcstombs
      Src: /src/PROJ/curl/lib/curlx/fopen.c:184,1
    - Dst: wcstombs
      Src: /src/PROJ/curl/lib/curlx/fopen.c:191,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TCHAR*
    - TCHAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 208
    functionName: fix_excessive_path
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.c
    functionUses: 0
    functionsReached:
    - _tcsncmp
    - wcscpy
    - wcstombs
    - wcsncmp
    - wcsncpy
    - GetFullPathNameW
    - mbstowcs
    - _T
    linkageType: ''
    returnType: bool
    signature: bool fix_excessive_path(const TCHAR *in, TCHAR **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/PROJ/curl/lib/curlx/fopen.c:218,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curlx/fopen.c:222,1
    - Dst: va_arg
      Src: /src/PROJ/curl/lib/curlx/fopen.c:224,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curlx/fopen.c:225,1
    - Dst: fix_excessive_path
      Src: /src/PROJ/curl/lib/curlx/fopen.c:229,1
    - Dst: _wopen
      Src: /src/PROJ/curl/lib/curlx/fopen.c:233,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curlx/fopen.c:234,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/fopen.c:238,1
    - Dst: fix_excessive_path
      Src: /src/PROJ/curl/lib/curlx/fopen.c:240,1
    - Dst: _open
      Src: /src/PROJ/curl/lib/curlx/fopen.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - filename
    - oflag
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 249
    functionName: curlx_win32_open
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - va_end
    - curlx_convert_UTF8_to_wchar
    - fix_excessive_path
    - va_start
    - _wopen
    - va_arg
    - _open
    - curlx_unicodefree
    linkageType: ''
    returnType: int
    signature: int curlx_win32_open(const char *filename, int oflag, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/PROJ/curl/lib/curlx/fopen.c:258,1
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/PROJ/curl/lib/curlx/fopen.c:259,1
    - Dst: fix_excessive_path
      Src: /src/PROJ/curl/lib/curlx/fopen.c:261,1
    - Dst: _wfopen
      Src: /src/PROJ/curl/lib/curlx/fopen.c:265,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/fopen.c:269,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curlx/fopen.c:270,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curlx/fopen.c:271,1
    - Dst: fix_excessive_path
      Src: /src/PROJ/curl/lib/curlx/fopen.c:273,1
    - Dst: fopen
      Src: /src/PROJ/curl/lib/curlx/fopen.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 283
    functionName: curlx_win32_fopen
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - curlx_convert_UTF8_to_wchar
    - _wfopen
    - fix_excessive_path
    - curlx_unicodefree
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE *curlx_win32_fopen(const char *filename, const char *mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/PROJ/curl/lib/curlx/fopen.c:292,1
    - Dst: fix_excessive_path
      Src: /src/PROJ/curl/lib/curlx/fopen.c:294,1
    - Dst: _wstat
      Src: /src/PROJ/curl/lib/curlx/fopen.c:299,1
    - Dst: _wstati64
      Src: /src/PROJ/curl/lib/curlx/fopen.c:301,1
    - Dst: curlx_unicodefree
      Src: /src/PROJ/curl/lib/curlx/fopen.c:303,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/fopen.c:307,1
    - Dst: fix_excessive_path
      Src: /src/PROJ/curl/lib/curlx/fopen.c:309,1
    - Dst: _stat
      Src: /src/PROJ/curl/lib/curlx/fopen.c:314,1
    - Dst: _stati64
      Src: /src/PROJ/curl/lib/curlx/fopen.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 322
    functionName: curlx_win32_stat
    functionSourceFile: /src/PROJ/curl/lib/curlx/fopen.c
    functionUses: 1
    functionsReached:
    - CURL_SETERRNO
    - curlx_convert_UTF8_to_wchar
    - fix_excessive_path
    - _stat
    - _wstat
    - _stati64
    - curlx_unicodefree
    - _wstati64
    linkageType: ''
    returnType: int
    signature: int curlx_win32_stat(const char *path, struct_stat *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - target_type
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: CURLX_FUNCTION_CAST
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_FUNCTION_CAST(target_type, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: read
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.h
    functionUses: 201
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read(fd, buf, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: write
    functionSourceFile: /src/PROJ/curl/lib/curlx/warnless.h
    functionUses: 210
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write(fd, buf, count)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - tv
    - ms
    argTypes:
    - struct timeval*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: curlx_mstotv
    functionSourceFile: /src/PROJ/curl/lib/curlx/timediff.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval *curlx_mstotv(struct timeval *tv, timediff_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: curlx_tvtoms
    functionSourceFile: /src/PROJ/curl/lib/curlx/timediff.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_tvtoms(struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: CURLX_SET_BINMODE
    functionSourceFile: /src/PROJ/curl/lib/curlx/binmode.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_SET_BINMODE(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CURLX_SET_BINMODE
    functionSourceFile: /src/PROJ/curl/lib/curlx/binmode.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_SET_BINMODE(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CURLX_SET_BINMODE
    functionSourceFile: /src/PROJ/curl/lib/curlx/binmode.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_SET_BINMODE(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: curlx_str
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_str(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: curlx_strlen
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_strlen(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: Curl_hexval
    functionSourceFile: /src/PROJ/curl/lib/curlx/strparse.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_hexval(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/curl/lib/curlx/multibyte.c:48,1
    - Dst: MultiByteToWideChar
      Src: /src/PROJ/curl/lib/curlx/multibyte.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str_utf8
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: curlx_convert_UTF8_to_wchar
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.c
    functionUses: 5
    functionsReached:
    - MultiByteToWideChar
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *curlx_convert_UTF8_to_wchar(const char *str_utf8)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/curl/lib/curlx/multibyte.c:70,1
    - Dst: WideCharToMultiByte
      Src: /src/PROJ/curl/lib/curlx/multibyte.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str_w
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: curlx_convert_wchar_to_UTF8
    functionSourceFile: /src/PROJ/curl/lib/curlx/multibyte.c
    functionUses: 2
    functionsReached:
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: char *curlx_convert_wchar_to_UTF8(const wchar_t *str_w)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:83,1
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:141,1
    - Dst: GetProcAddress
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:142,1
    - Dst: GetModuleHandleA
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:142,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:194,1
    - Dst: VerSetConditionMask
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:204,1
    - Dst: VerSetConditionMask
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:205,1
    - Dst: VerSetConditionMask
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:206,1
    - Dst: VerSetConditionMask
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:207,1
    - Dst: VerSetConditionMask
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:210,1
    - Dst: pRtlVerifyVersionInfo
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:220,1
    - Dst: VerifyVersionInfoW
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:222,1
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:233,1
    - Dst: VerSetConditionMask
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:236,1
    - Dst: pRtlVerifyVersionInfo
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:239,1
    - Dst: VerifyVersionInfoW
      Src: /src/PROJ/curl/lib/curlx/version_win32.c:241,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 5
    argNames:
    - majorVersion
    - minorVersion
    - buildVersion
    - platform
    - condition
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - PlatformIdentifier
    - VersionCondition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 248
    functionName: curlx_verify_windows_version
    functionSourceFile: /src/PROJ/curl/lib/curlx/version_win32.c
    functionUses: 9
    functionsReached:
    - GetProcAddress
    - VerSetConditionMask
    - VerifyVersionInfoW
    - memset
    - pRtlVerifyVersionInfo
    - curlx_verify_windows_version
    - CURLX_FUNCTION_CAST
    - MAKEWORD
    - GetModuleHandleA
    linkageType: ''
    returnType: bool
    signature: "bool curlx_verify_windows_version(const unsigned int majorVersion,\n
      \                                 const unsigned int minorVersion,\n                                  const
      unsigned int buildVersion,\n                                  const PlatformIdentifier
      platform,\n                                  const VersionCondition condition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:44,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:45,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - s
    - toobig
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: curlx_dyn_init
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 101
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void curlx_dyn_init(struct dynbuf *s, size_t toobig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:62,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:63,1
    - Dst: Curl_safefree
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: curlx_dyn_free
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 97
    functionsReached:
    - DEBUGASSERT
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void curlx_dyn_free(struct dynbuf *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:79,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:80,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:81,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:82,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:83,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:84,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:87,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:91,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:111,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:113,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - s
    - mem
    - len
    argTypes:
    - struct dynbuf*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 125
    functionName: dyn_nappend
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 0
    functionsReached:
    - realloc
    - DEBUGASSERT
    - memcpy
    - curlx_dyn_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode dyn_nappend(struct dynbuf *s,\n                            const
      unsigned char *mem, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:134,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: curlx_dyn_reset
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 48
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void curlx_dyn_reset(struct dynbuf *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:147,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:148,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:149,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:155,1
    - Dst: memmove
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - trail
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: curlx_dyn_tail
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 8
    functionsReached:
    - curlx_dyn_reset
    - DEBUGASSERT
    - memmove
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_tail(struct dynbuf *s, size_t trail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:171,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:172,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:173,1
    - Dst: dyn_nappend
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - mem
    - len
    argTypes:
    - struct dynbuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: curlx_dyn_addn
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 95
    functionsReached:
    - DEBUGASSERT
    - dyn_nappend
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_addn(struct dynbuf *s, const void *mem, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:183,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:184,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:185,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:186,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:187,1
    - Dst: dyn_nappend
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - struct dynbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: curlx_dyn_add
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 37
    functionsReached:
    - DEBUGASSERT
    - dyn_nappend
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_add(struct dynbuf *s, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:198,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:199,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:200,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:201,1
    - Dst: curlx_dyn_vprintf
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:202,1
    - Dst: curl_mvaprintf
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:211,1
    - Dst: dyn_nappend
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:214,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:214,1
    - Dst: free
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:215,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - s
    - fmt
    - ap
    argTypes:
    - struct dynbuf*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: curlx_dyn_vaddf
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_dyn_vprintf
    - curlx_dyn_free
    - DEBUGASSERT
    - strlen
    - curl_mvaprintf
    - dyn_nappend
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:231,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:232,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:233,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:234,1
    - Dst: strcmp
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:234,1
    - Dst: va_start
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:235,1
    - Dst: curlx_dyn_vaddf
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:236,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - struct dynbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: curlx_dyn_addf
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 44
    functionsReached:
    - va_end
    - strcmp
    - va_start
    - DEBUGASSERT
    - curlx_dyn_vaddf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_addf(struct dynbuf *s, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:246,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:247,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: curlx_dyn_ptr
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 137
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *curlx_dyn_ptr(const struct dynbuf *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:255,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - s
    - plen
    argTypes:
    - struct dynbuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: curlx_dyn_take
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *curlx_dyn_take(struct dynbuf *s, size_t *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:269,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:270,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: curlx_dyn_uptr
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *curlx_dyn_uptr(const struct dynbuf *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:280,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:281,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: curlx_dyn_len
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 90
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t curlx_dyn_len(const struct dynbuf *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:291,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:292,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/dynbuf.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - set
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: curlx_dyn_setlen
    functionSourceFile: /src/PROJ/curl/lib/curlx/dynbuf.c
    functionUses: 6
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_setlen(struct dynbuf *s, size_t set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_verify_windows_version
      Src: /src/PROJ/curl/lib/curlx/timeval.c:40,1
    - Dst: QueryPerformanceFrequency
      Src: /src/PROJ/curl/lib/curlx/timeval.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: curlx_now_init
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 3
    functionsReached:
    - QueryPerformanceFrequency
    - curlx_verify_windows_version
    linkageType: ''
    returnType: void
    signature: void curlx_now_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/timeval.c:59,1
    - Dst: QueryPerformanceCounter
      Src: /src/PROJ/curl/lib/curlx/timeval.c:60,1
    - Dst: GetTickCount
      Src: /src/PROJ/curl/lib/curlx/timeval.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 80
    functionName: curlx_now
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - QueryPerformanceCounter
    - GetTickCount
    - DEBUGASSERT
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/PROJ/curl/lib/curlx/timeval.c:172,1
    - Dst: mach_absolute_time
      Src: /src/PROJ/curl/lib/curlx/timeval.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: curlx_now
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - mach_absolute_time
    - mach_timebase_info
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PROJ/curl/lib/curlx/timeval.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: curlx_now
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PROJ/curl/lib/curlx/timeval.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: curlx_now
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - time
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - newer
    - older
    argTypes:
    - struct curltime
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: curlx_timediff
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_timediff(struct curltime newer, struct curltime older)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - newer
    - older
    argTypes:
    - struct curltime
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: curlx_timediff_ceil
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_timediff_ceil(struct curltime newer, struct curltime
      older)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - newer
    - older
    argTypes:
    - struct curltime
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: curlx_timediff_us
    functionSourceFile: /src/PROJ/curl/lib/curlx/timeval.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_timediff_us(struct curltime newer, struct curltime
      older)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: curlx_inet_pton
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_pton.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_pton(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: curlx_inet_pton
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_pton.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_pton(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - af
    - ','
    - addr
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: curlx_inet_ntop
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_ntop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_ntop(af,addr,buf,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - af
    - ','
    - addr
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: curlx_inet_ntop
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_ntop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_ntop(af,addr,buf,size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:62,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:72,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:75,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:77,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: inet_ntop4
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_ntop.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - strcpy
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: char
    signature: char *inet_ntop4(const unsigned char *src, char *dst, size_t size)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:110,1
    - Dst: inet_ntop4
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:156,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:159,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:189,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:191,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:195,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 197
    functionName: inet_ntop6
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_ntop.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - strcpy
    - memset
    - strlen
    - inet_ntop4
    linkageType: ''
    returnType: char
    signature: char *inet_ntop6(const unsigned char *src, char *dst, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop4
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:214,1
    - Dst: inet_ntop6
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:216,1
    - Dst: CURL_SETERRNO
      Src: /src/PROJ/curl/lib/curlx/inet_ntop.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - af
    - src
    - buf
    - size
    argTypes:
    - int
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: curlx_inet_ntop
    functionSourceFile: /src/PROJ/curl/lib/curlx/inet_ntop.c
    functionUses: 7
    functionsReached:
    - inet_ntop6
    - CURL_SETERRNO
    - inet_ntop4
    linkageType: ''
    returnType: char
    signature: char *curlx_inet_ntop(int af, const void *src, char *buf, size_t size)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/PROJ/curl/lib/curlx/strerr.c:245,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/curlx/strerr.c:247,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 165
    argCount: 3
    argNames:
    - err
    - buf
    - len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 250
    functionName: get_winsock_error
    functionSourceFile: /src/PROJ/curl/lib/curlx/strerr.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      get_winsock_error(int err, char *buf, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: Curl_vquic_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_vquic_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: osslq_SSL_ERROR_to_str
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *osslq_SSL_ERROR_to_str(int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:140,1
    - Dst: ERR_error_string_n
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:144,1
    - Dst: ERR_error_string_n
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:146,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:151,1
    - Dst: strcpy
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - error
    - buf
    - size
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: osslq_strerror
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - ERR_error_string_n
    - strcpy
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: char
    signature: char *osslq_strerror(unsigned long error, char *buf, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_new
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:164,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:173,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:174,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:184,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:185,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:195,1
    - Dst: BIO_ADDR_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pbio_addr
    - addr
    argTypes:
    - BIO_ADDR**
    - struct Curl_sockaddr_ex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 206
    functionName: make_bio_addr
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_free
    - CURL_UNCONST
    - DEBUGASSERT
    - BIO_ADDR_new
    - BIO_ADDR_rawmake
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode make_bio_addr(BIO_ADDR **pbio_addr,\n                              const
      struct Curl_sockaddr_ex *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:225,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:226,1
    - Dst: SSL_new_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:227,1
    - Dst: SSL_get_stream_id
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:231,1
    - Dst: SSL_set_app_data
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - s
    - conn
    - flags
    - bufcp
    - user_data
    argTypes:
    - struct cf_osslq_stream*
    - SSL*
    - uint64_t
    - struct bufc_pool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: cf_osslq_stream_open
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_id
    - Curl_bufq_initp
    - SSL_new_stream
    - SSL_set_app_data
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_stream_open(struct cf_osslq_stream *s,\n                                     SSL
      *conn,\n                                     uint64_t flags,\n                                     struct
      bufc_pool *bufcp,\n                                     void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_app_data
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:239,1
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:240,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:242,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct cf_osslq_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: cf_osslq_stream_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_set_app_data
    - SSL_free
    - Curl_bufq_free
    - memset
    linkageType: ''
    returnType: void
    signature: void cf_osslq_stream_cleanup(struct cf_osslq_stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct cf_osslq_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: cf_osslq_stream_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void cf_osslq_stream_close(struct cf_osslq_stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_del
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:269,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:270,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:271,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:272,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h3
    argTypes:
    - struct cf_osslq_h3conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: cf_osslq_h3conn_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_del
    - cf_osslq_stream_cleanup
    linkageType: ''
    returnType: void
    signature: void cf_osslq_h3conn_cleanup(struct cf_osslq_h3conn *h3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:305,1
    - Dst: Curl_bufcp_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:306,1
    - Dst: Curl_uint_hash_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_osslq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: cf_osslq_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    - DEBUGASSERT
    - Curl_bufcp_init
    linkageType: ''
    returnType: void
    signature: void cf_osslq_ctx_init(struct cf_osslq_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufcp_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:318,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:319,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:320,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:321,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:322,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_osslq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 5
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: cf_osslq_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_destroy
    - free
    - Curl_ssl_peer_cleanup
    - Curl_bufcp_free
    linkageType: ''
    returnType: void
    signature: void cf_osslq_ctx_free(struct cf_osslq_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_osslq_h3conn_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:331,1
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:332,1
    - Dst: vquic_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_osslq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: cf_osslq_ctx_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_free
    - Curl_vquic_tls_cleanup
    - cf_osslq_h3conn_cleanup
    linkageType: ''
    returnType: void
    signature: void cf_osslq_ctx_close(struct cf_osslq_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:345,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:352,1
    - Dst: SSL_shutdown_ex
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:357,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:360,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:365,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:372,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:377,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:383,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:387,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:392,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:393,1
    - Dst: osslq_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:395,1
    - Dst: osslq_SSL_ERROR_to_str
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:396,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:404,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 406
    functionName: cf_osslq_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - SSL_shutdown_ex
    - osslq_strerror
    - ERR_get_error
    - CURL_TRC_CF
    - osslq_SSL_ERROR_to_str
    - SSL_get_error
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_shutdown(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:413,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:415,1
    - Dst: SSL_shutdown_ex
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:418,1
    - Dst: cf_osslq_ctx_close
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:422,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 427
    functionName: cf_osslq_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - SSL_shutdown_ex
    - cf_osslq_ctx_close
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: void
    signature: void cf_osslq_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:434,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:435,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:437,1
    - Dst: cf_osslq_ctx_close
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:439,1
    - Dst: cf_osslq_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 445
    functionName: cf_osslq_destroy
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - cf_osslq_ctx_close
    - CURL_TRC_CF
    - cf_osslq_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_osslq_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_stream_id
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:453,1
    - Dst: SSL_get_stream_type
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:454,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:462,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:464,1
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:466,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:472,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:473,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:478,1
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - h3
    - stream_ssl
    - cf
    - data
    argTypes:
    - struct cf_osslq_h3conn*
    - SSL*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 484
    functionName: cf_osslq_h3conn_add_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_id
    - Curl_bufq_initp
    - CURL_TRC_CF
    - CURL_ARRAYSIZE
    - SSL_free
    - SSL_get_stream_type
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_h3conn_add_stream(struct cf_osslq_h3conn *h3,\n
      \                                          SSL *stream_ssl,\n                                           struct
      Curl_cfilter *cf,\n                                           struct Curl_easy
      *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:498,1
    - Dst: ERR_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:500,1
    - Dst: ERR_GET_LIB
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:501,1
    - Dst: ERR_GET_REASON
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:502,1
    - Dst: SSL_get_verify_result
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:509,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:512,1
    - Dst: X509_verify_cert_error_string
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:514,1
    - Dst: osslq_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:527,1
    - Dst: osslq_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - cf
    - data
    - detail
    - def_result
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 6
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: cf_osslq_ssl_err
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - osslq_strerror
    - ERR_get_error
    - Curl_ssl_cf_get_config
    - curl_msnprintf
    - SSL_get_verify_result
    - ERR_GET_REASON
    - X509_verify_cert_error_string
    - ERR_GET_LIB
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_ssl_err(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 int detail, CURLcode def_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_verify_peer
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: cf_osslq_verify_peer
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_verify_peer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_verify_peer(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_osslq_stream_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:595,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:596,1
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:597,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:598,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: h3_stream_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_h1_req_parse_free
    - Curl_bufq_free
    - cf_osslq_stream_cleanup
    linkageType: ''
    returnType: void
    signature: void h3_stream_ctx_free(struct h3_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:605,1
    - Dst: h3_stream_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 607
    functionName: h3_stream_hash_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - h3_stream_ctx_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void h3_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:613,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:621,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:627,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:632,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:635,1
    - Dst: Curl_uint_hash_set
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:637,1
    - Dst: h3_stream_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 643
    functionName: h3_data_setup
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_set
    - Curl_bufq_initp
    - Curl_h1_req_parse_init
    - h3_stream_ctx_free
    - calloc
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_setup(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:648,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:652,1
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:655,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:656,1
    - Dst: nghttp3_conn_set_stream_user_data
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:658,1
    - Dst: Curl_uint_hash_remove
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 645
    functionDepth: 4
    functionLinenumber: 645
    functionLinenumberEnd: 664
    functionName: h3_data_done
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_shutdown_stream_read
    - CURL_TRC_CF
    - Curl_uint_hash_remove
    - H3_STREAM_CTX
    - nghttp3_conn_close_stream
    - nghttp3_conn_set_stream_user_data
    linkageType: ''
    returnType: void
    signature: void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 682
    functionName: cf_osslq_find_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_osslq_find_stream(unsigned int mid, void *val, void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:689,1
    - Dst: Curl_uint_hash_visit
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - cf
    - data
    - stream_id
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 712
    functionName: cf_osslq_get_qstream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_uint_hash_visit
    linkageType: ''
    returnType: struct cf_osslq_stream
    signature: "struct cf_osslq_stream *cf_osslq_get_qstream(struct Curl_cfilter *cf,\n
      \                                                   struct Curl_easy *data,\n
      \                                                   int64_t stream_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: h3_data_pause
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_pause(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool pause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:733,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:746,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:750,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: cb_h3_stream_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stream_close(nghttp3_conn *conn, int64_t stream_id,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:767,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:775,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - memlen
    - flow
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 761
    functionDepth: 5
    functionLinenumber: 761
    functionLinenumberEnd: 789
    functionName: write_resp_raw
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode write_resp_raw(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const void *mem, size_t memlen,\n
      \                              bool flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:798,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:807,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:809,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:814,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - conn
    - stream3_id
    - buf
    - buflen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 818
    functionName: cb_h3_recv_data
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - write_resp_raw
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream3_id,\n                           const
      uint8_t *buf, size_t buflen,\n                           void *user_data, void
      *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:827,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - conn
    - stream_id
    - consumed
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: cb_h3_deferred_consume
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id,\n
      \                                 size_t consumed, void *user_data,\n                                  void
      *stream_user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:845,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:846,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:848,1
    - Dst: Curl_http_decode_status
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:864,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:868,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:870,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:871,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:878,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:881,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:885,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:889,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:893,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 8
    argNames:
    - conn
    - sid
    - token
    - name
    - value
    - flags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 837
    functionDepth: 6
    functionLinenumber: 837
    functionLinenumberEnd: 899
    functionName: cb_h3_recv_header
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - nghttp3_rcbuf_get_buf
    - curl_msnprintf
    - write_resp_raw
    - H3_STREAM_CTX
    - Curl_http_decode_status
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_header(nghttp3_conn *conn, int64_t sid,\n                             int32_t
      token, nghttp3_rcbuf *name,\n                             nghttp3_rcbuf *value,
      uint8_t flags,\n                             void *user_data, void *stream_user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:908,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:918,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:923,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - conn
    - sid
    - fin
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 930
    functionName: cb_h3_end_headers
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - write_resp_raw
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_end_headers(nghttp3_conn *conn, int64_t sid,\n                             int
      fin, void *user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:940,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:947,1
    - Dst: cf_osslq_stream_close
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 950
    functionName: cb_h3_stop_sending
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - CURL_TRC_CF
    - cf_osslq_stream_close
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stop_sending(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:959,1
    - Dst: SSL_stream_reset
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:966,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 973
    functionName: cb_h3_reset_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_stream_reset
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_reset_stream(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:984,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1002,1
    - Dst: Curl_bufq_peek_at
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1005,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1007,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1013,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1027,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1032,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1036,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - conn
    - stream_id
    - vec
    - veccnt
    - pflags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - nghttp3_vec*
    - size_t
    - uint32_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 975
    functionDepth: 3
    functionLinenumber: 975
    functionLinenumberEnd: 1039
    functionName: cb_h3_read_req_body
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - CURL_UNCONST
    - Curl_bufq_len
    - Curl_bufq_peek_at
    - DEBUGASSERT
    - H3_STREAM_CTX
    linkageType: ''
    returnType: nghttp3_ssize
    signature: "nghttp3_ssize cb_h3_read_req_body(nghttp3_conn *conn, int64_t stream_id,\n
      \                   nghttp3_vec *vec, size_t veccnt,\n                    uint32_t
      *pflags, void *user_data,\n                    void *stream_user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1048,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1061,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1065,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1066,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - conn
    - stream_id
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1041
    functionDepth: 4
    functionLinenumber: 1041
    functionLinenumberEnd: 1072
    functionName: cb_h3_acked_stream_data
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_resume_stream
    - Curl_bufq_len
    - Curl_bufq_skip
    - H3_STREAM_CTX
    linkageType: ''
    returnType: int
    signature: "int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id,\n
      \                                  uint64_t datalen, void *user_data,\n                                   void
      *stream_user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_settings_default
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1104,1
    - Dst: nghttp3_conn_client_new
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1105,1
    - Dst: Curl_nghttp3_mem
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1108,1
    - Dst: cf_osslq_stream_open
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1115,1
    - Dst: cf_osslq_stream_open
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1122,1
    - Dst: cf_osslq_stream_open
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1129,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1137,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - conn
    - user_data
    argTypes:
    - struct cf_osslq_ctx*
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1097
    functionDepth: 4
    functionLinenumber: 1097
    functionLinenumberEnd: 1152
    functionName: cf_osslq_h3conn_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_settings_default
    - Curl_nghttp3_mem
    - nghttp3_conn_bind_qpack_streams
    - nghttp3_conn_client_new
    - nghttp3_conn_bind_control_stream
    - cf_osslq_stream_open
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_h3conn_init(struct cf_osslq_ctx *ctx, SSL *conn,\n
      \                                    void *user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1165,1
    - Dst: Curl_vquic_tls_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1168,1
    - Dst: vquic_ctx_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1173,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1178,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1183,1
    - Dst: make_bio_addr
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1188,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1190,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1199,1
    - Dst: BIO_new_dgram
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1204,1
    - Dst: BIO_new_dgram
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1206,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1213,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1214,1
    - Dst: SSL_set_blocking_mode
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1218,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1219,1
    - Dst: SSL_set_bio
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1224,1
    - Dst: SSL_set_connect_state
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1226,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1227,1
    - Dst: SSL_set_value_uint
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1230,1
    - Dst: cf_osslq_h3conn_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1233,1
    - Dst: BIO_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1237,1
    - Dst: BIO_ADDR_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1239,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1240,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1242
    functionName: cf_osslq_ctx_start
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_init
    - failf
    - SSL_set_blocking_mode
    - SSL_set_incoming_stream_policy
    - Curl_vquic_tls_init
    - BIO_ADDR_free
    - SSL_set_bio
    - SSL_set_connect_state
    - CURL_TRC_CF
    - make_bio_addr
    - getsockname
    - Curl_cf_socket_peek
    - cf_osslq_h3conn_init
    - DEBUGASSERT
    - SSL_set_value_uint
    - BIO_free
    - BIO_new_dgram
    - SSL_set1_initial_peer_addr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_ctx_start(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read_ex
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1257,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1259,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1264,1
    - Dst: SSL_get_stream_read_state
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1269,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1272,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1277,1
    - Dst: cf_osslq_ssl_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - len
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1250
    functionDepth: 7
    functionLinenumber: 1250
    functionLinenumberEnd: 1291
    functionName: h3_quic_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - SSL_read_ex
    - cf_osslq_ssl_err
    - SSL_get_error
    - SSL_get_stream_read_state
    - SSL_get_stream_read_error_code
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_quic_recv(void *reader_ctx,\n                             unsigned
      char *buf, size_t len,\n                             size_t *pnread)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1305,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1314,1
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1315,1
    - Dst: Curl_bufq_sipn
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1316,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1327,1
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1331,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1332,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1334,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1337,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1338,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1345,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1351,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1356,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1357,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1361,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1364,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1365,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1371,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1374,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1377,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1378,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1387,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 3
    argNames:
    - s
    - cf
    - data
    argTypes:
    - struct cf_osslq_stream*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1390
    functionName: cf_osslq_stream_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - failf
    - Curl_bufq_is_empty
    - Curl_bufq_peek
    - Curl_bufq_sipn
    - nghttp3_strerror
    - Curl_bufq_is_full
    - DEBUGASSERT
    - Curl_bufq_skip
    - nghttp3_conn_read_stream
    - SSL_get_stream_read_error_code
    - nghttp3_conn_close_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_stream_recv(struct cf_osslq_stream *s,\n                                     struct
      Curl_cfilter *cf,\n                                     struct Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_full
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1404,1
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1405,1
    - Dst: cf_osslq_stream_recv
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1398
    functionDepth: 6
    functionLinenumber: 1398
    functionLinenumberEnd: 1413
    functionName: cf_osslq_iter_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - cf_osslq_stream_recv
    - Curl_bufq_is_full
    - Curl_multi_get_easy
    linkageType: ''
    returnType: bool
    signature: bool cf_osslq_iter_recv(unsigned int mid, void *val, void *user_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1424,1
    - Dst: SSL_accept_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1428,1
    - Dst: cf_osslq_h3conn_add_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1433,1
    - Dst: SSL_handle_events
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1438,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1439,1
    - Dst: cf_osslq_ssl_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1440,1
    - Dst: cf_osslq_stream_recv
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1448,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1457,1
    - Dst: Curl_uint_hash_visit
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1461,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1466,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1415
    functionDepth: 7
    functionLinenumber: 1415
    functionLinenumberEnd: 1468
    functionName: cf_progress_ingress
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - SSL_accept_stream
    - cf_osslq_stream_recv
    - cf_osslq_ssl_err
    - SSL_get_error
    - cf_osslq_h3conn_add_stream
    - DEBUGASSERT
    - SSL_handle_events
    - Curl_uint_hash_visit
    - ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_ingress(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1487,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1476
    functionDepth: 4
    functionLinenumber: 1476
    functionLinenumberEnd: 1496
    functionName: cf_osslq_collect_block_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - SSL_as_poll_descriptor
    linkageType: ''
    returnType: bool
    signature: "bool cf_osslq_collect_block_send(unsigned int mid, void *val,\n                                        void
      *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_count
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1514,1
    - Dst: Curl_uint_hash_count
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1515,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1517,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1519,1
    - Dst: realloc
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1526,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1528,1
    - Dst: Curl_uint_hash_visit
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1540,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1544,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1546,1
    - Dst: SSL_poll
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1548,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1557,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1558,1
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1560,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1562,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1563,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1573
    functionName: cf_osslq_check_and_unblock
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_poll
    - free
    - CURL_TRC_CF
    - Curl_multi_mark_dirty
    - realloc
    - Curl_uint_hash_count
    - nghttp3_conn_unblock_stream
    - memset
    - DEBUGASSERT
    - Curl_uint_hash_visit
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_check_and_unblock(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_writev_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1594,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1595,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1597,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1598,1
    - Dst: cf_osslq_get_qstream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1608,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1610,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1616,1
    - Dst: SSL_write_ex2
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1625,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1632,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1637,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1642,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1645,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1649,1
    - Dst: cf_osslq_ssl_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1651,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1660,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1661,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1663,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1664,1
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1668,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1670,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1671,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1675,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1681,1
    - Dst: SSL_stream_conclude
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1682,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1687,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1575
    functionDepth: 7
    functionLinenumber: 1575
    functionLinenumberEnd: 1689
    functionName: h3_send_streams
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_writev_stream
    - nghttp3_conn_add_write_offset
    - failf
    - CURL_TRC_CF
    - curlx_now
    - cf_osslq_get_qstream
    - SSL_write_ex2
    - nghttp3_conn_add_ack_offset
    - SSL_stream_conclude
    - cf_osslq_ssl_err
    - SSL_get_error
    - CURL_ARRAYSIZE
    - nghttp3_strerror
    - DEBUGASSERT
    - nghttp3_conn_block_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_send_streams(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1700,1
    - Dst: h3_send_streams
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1701,1
    - Dst: SSL_handle_events
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1705,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1706,1
    - Dst: cf_osslq_ssl_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1707,1
    - Dst: cf_osslq_check_and_unblock
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1710,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1691
    functionDepth: 8
    functionLinenumber: 1691
    functionLinenumberEnd: 1715
    functionName: cf_progress_egress
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - cf_osslq_ssl_err
    - cf_osslq_check_and_unblock
    - SSL_get_error
    - SSL_handle_events
    - ERR_clear_error
    - h3_send_streams
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_egress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_event_timeout
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1727,1
    - Dst: curlx_tvtoms
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1729,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1732,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1735,1
    - Dst: SSL_get_event_timeout
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1738,1
    - Dst: curlx_tvtoms
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1739,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1743,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1744,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1717
    functionDepth: 7
    functionLinenumber: 1717
    functionLinenumberEnd: 1749
    functionName: check_and_set_expiry
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - SSL_get_event_timeout
    - CURL_TRC_CF
    - cf_progress_ingress
    - cf_progress_egress
    - curlx_tvtoms
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode check_and_set_expiry(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1768,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1774,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1775,1
    - Dst: cf_osslq_ctx_start
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1779,1
    - Dst: SOCKET_READABLE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1785,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1788,1
    - Dst: Curl_vquic_tls_before_recv
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1796,1
    - Dst: ERR_clear_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1800,1
    - Dst: SSL_do_handshake
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1801,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1807,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1808,1
    - Dst: cf_osslq_verify_peer
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1809,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1811,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1814,1
    - Dst: SSL_get_error
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1818,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1822,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1826,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1832,1
    - Dst: cf_osslq_ssl_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1842,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1861,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1862,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1863,1
    - Dst: check_and_set_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1867,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1869,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1870,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1751
    functionDepth: 7
    functionLinenumber: 1751
    functionLinenumberEnd: 1872
    functionName: cf_osslq_connect
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - curlx_now
    - check_and_set_expiry
    - infof
    - connkeep
    - cf_osslq_verify_peer
    - curl_easy_strerror
    - SOCKET_READABLE
    - CF_DATA_RESTORE
    - ERR_clear_error
    - CF_DATA_SAVE
    - curlx_timediff
    - Curl_cf_socket_peek
    - Curl_vquic_tls_before_recv
    - cf_osslq_ctx_start
    - Curl_conn_cf_connect
    - cf_osslq_ssl_err
    - SSL_do_handshake
    - SSL_get_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *done)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1890,1
    - Dst: h3_data_setup
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1892,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1895,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1896,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1902,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1909,1
    - Dst: Curl_http_req_to_h2
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1911,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1917,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1919,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1920,1
    - Dst: Curl_dynhds_getn
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1928,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1936,1
    - Dst: cf_osslq_stream_open
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1937,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1940,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1969,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1974,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1978,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1979,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1987,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1988,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1991,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:1999,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2000,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1874
    functionDepth: 5
    functionLinenumber: 1874
    functionLinenumberEnd: 2002
    functionName: h3_stream_open
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_h1_req_parse_read
    - Curl_dynhds_getn
    - Curl_dynhds_count
    - cf_osslq_stream_open
    - infof
    - Curl_trc_is_verbose
    - Curl_dynhds_free
    - nghttp3_conn_submit_request
    - Curl_h1_req_parse_free
    - nghttp3_strerror
    - DEBUGASSERT
    - Curl_http_req_to_h2
    - free
    - Curl_dynhds_init
    - h3_data_setup
    - malloc
    - H3_STREAM_CTX
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t h3_stream_open(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              const void *buf, size_t len,\n
      \                             CURLcode *err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2009,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2015,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2016,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2017,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2018,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2021,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2025,1
    - Dst: h3_stream_open
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2030,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2032,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2035,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2045,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2051,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2057,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2058,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2063,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2066,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2066,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2069,1
    - Dst: check_and_set_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2069,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2071,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2073,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2004
    functionDepth: 5
    functionLinenumber: 2004
    functionLinenumberEnd: 2075
    functionName: cf_osslq_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_1st_err
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    - cf_progress_ingress
    - h3_stream_open
    - DEBUGASSERT
    - cf_progress_egress
    - nghttp3_conn_resume_stream
    - check_and_set_expiry
    - H3_STREAM_CTX
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                             const void *buf, size_t len, bool eos,\n                              size_t
      *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2085,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2099
    functionName: recv_closed_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_closed_stream(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct h3_stream_ctx *stream,\n
      \                                  size_t *pnread)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2105,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2110,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2111,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2112,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2113,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2114,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2122,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2123,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2125,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2131,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2131,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2136,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2137,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2139,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2146,1
    - Dst: recv_closed_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2150,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2157,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2157,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2158,1
    - Dst: check_and_set_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2158,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2160,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2162,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2101
    functionDepth: 5
    functionLinenumber: 2101
    functionLinenumberEnd: 2164
    functionName: cf_osslq_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_1st_err
    - CURL_TRC_CF
    - Curl_bufq_cread
    - Curl_multi_mark_dirty
    - Curl_bufq_is_empty
    - CF_DATA_RESTORE
    - cf_progress_ingress
    - DEBUGASSERT
    - cf_progress_egress
    - check_and_set_expiry
    - H3_STREAM_CTX
    - recv_closed_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                             char *buf, size_t len, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2174,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2170
    functionDepth: 2
    functionLinenumber: 2170
    functionLinenumberEnd: 2177
    functionName: cf_osslq_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - H3_STREAM_CTX
    linkageType: ''
    returnType: bool
    signature: "bool cf_osslq_data_pending(struct Curl_cfilter *cf,\n                                  const
      struct Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2187,1
    - Dst: h3_data_pause
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2194,1
    - Dst: h3_data_done
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2197,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2200,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2203,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2205,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2212,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2179
    functionDepth: 2
    functionLinenumber: 2179
    functionLinenumberEnd: 2220
    functionName: cf_osslq_cntrl
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - h3_data_done
    - h3_data_pause
    - Curl_conn_set_multiplex
    - Curl_bufq_len
    - CF_DATA_RESTORE
    - nghttp3_conn_resume_stream
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_cntrl(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               int event, int arg1, void *arg2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2230,1
    - Dst: SSL_get_value_uint
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2240,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2243,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2247,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2249,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2249,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2256,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2266,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2267,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2272,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2222
    functionDepth: 2
    functionLinenumber: 2222
    functionLinenumberEnd: 2274
    functionName: cf_osslq_conn_is_alive
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - curlx_now
    - SSL_get_value_uint
    - struct Curl_cfilter*::next::cft::is_alive
    - curlx_timediff
    - cf_progress_ingress
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: bool
    signature: "bool cf_osslq_conn_is_alive(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   bool *input_pending)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2289,1
    - Dst: SSL_net_read_desired
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2290,1
    - Dst: SSL_net_write_desired
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2291,1
    - Dst: Curl_pollset_check
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2297,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2299,1
    - Dst: SSL_net_read_desired
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2300,1
    - Dst: SSL_net_write_desired
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2301,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2276
    functionDepth: 3
    functionLinenumber: 2276
    functionLinenumberEnd: 2309
    functionName: cf_osslq_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set
    - SSL_net_write_desired
    - SSL_net_read_desired
    - Curl_pollset_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_adjust_pollset(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct easy_pollset
      *ps)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_value_uint
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2323,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2325,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2329,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2334,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2339,1
    - Dst: Curl_vquic_tls_get_ssl_info
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2363,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2370,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2380
    functionName: cf_osslq_query
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - SSL_get_value_uint
    - CONN_ATTACHED
    - curlx_timediff
    - DEBUGASSERT
    - struct Curl_cfilter*::next::cft::query
    - Curl_vquic_tls_get_ssl_info
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_query(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               int query, int *pres1, void
      *pres2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2410,1
    - Dst: cf_osslq_ctx_init
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2415,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2417,1
    - Dst: Curl_cf_udp_create
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2422,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2433,1
    - Dst: cf_osslq_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pcf
    - data
    - conn
    - ai
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2400
    functionDepth: 6
    functionLinenumber: 2400
    functionLinenumberEnd: 2438
    functionName: Curl_cf_osslq_create
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - Curl_cf_udp_create
    - cf_osslq_ctx_free
    - Curl_cf_create
    - cf_osslq_ctx_init
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_osslq_create(struct Curl_cfilter **pcf,\n                              struct
      Curl_easy *data,\n                              struct connectdata *conn,\n
      \                             const struct Curl_addrinfo *ai)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2454
    functionName: Curl_conn_is_osslq
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_osslq(const struct Curl_easy *data,\n                        const
      struct connectdata *conn,\n                        int sockindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_version
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2461,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vquic/curl_osslq.c:2462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2459
    functionDepth: 6
    functionLinenumber: 2459
    functionLinenumberEnd: 2463
    functionName: Curl_osslq_ver
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - nghttp3_version
    linkageType: ''
    returnType: void
    signature: void Curl_osslq_ver(char *p, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ossl_version
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:73,1
    - Dst: Curl_gtls_version
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:75,1
    - Dst: Curl_wssl_version
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:77,1
    - Dst: Curl_ssl_peer_init
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:83,1
    - Dst: Curl_ossl_ctx_init
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:89,1
    - Dst: Curl_gtls_ctx_init
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:93,1
    - Dst: Curl_wssl_ctx_init
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - ctx
    - cf
    - data
    - peer
    - alpns
    - cb_setup
    - cb_user_data
    - ssl_user_data
    - session_reuse_cb
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_vquic_tls_ctx_setup*
    - void*
    - void*
    - Curl_vquic_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 60
    functionDepth: 7
    functionLinenumber: 60
    functionLinenumberEnd: 104
    functionName: Curl_vquic_tls_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_ossl_ctx_init
    - Curl_ossl_version
    - Curl_wssl_ctx_init
    - Curl_wssl_version
    - Curl_ssl_peer_init
    - Curl_gtls_version
    - Curl_gtls_ctx_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_vquic_tls_init(struct curl_tls_ctx *ctx,\n                             struct
      Curl_cfilter *cf,\n                             struct Curl_easy *data,\n                             struct
      ssl_peer *peer,\n                             const struct alpn_spec *alpns,\n
      \                            Curl_vquic_tls_ctx_setup *cb_setup,\n                             void
      *cb_user_data, void *ssl_user_data,\n                             Curl_vquic_session_reuse_cb
      *session_reuse_cb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:110,1
    - Dst: SSL_CTX_free
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:112,1
    - Dst: gnutls_deinit
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:115,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:116,1
    - Dst: wolfSSL_free
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:119,1
    - Dst: wolfSSL_CTX_free
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:121,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct curl_tls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: Curl_vquic_tls_cleanup
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_gtls_shared_creds_free
    - SSL_CTX_free
    - memset
    - wolfSSL_free
    - gnutls_deinit
    - wolfSSL_CTX_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void Curl_vquic_tls_cleanup(struct curl_tls_ctx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:132,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:139,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - cf
    - data
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 126
    functionDepth: 6
    functionLinenumber: 126
    functionLinenumberEnd: 153
    functionName: Curl_vquic_tls_before_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_setup_x509_store
    - Curl_gtls_client_trust_setup
    - Curl_wssl_setup_x509_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_vquic_tls_before_recv(struct curl_tls_ctx *ctx,\n                                    struct
      Curl_cfilter *cf,\n                                    struct Curl_easy *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:163,1
    - Dst: Curl_ossl_check_peer_cert
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:169,1
    - Dst: Curl_gtls_verifyserver
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:172,1
    - Dst: wolfSSL_get_peer_certificate
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:181,1
    - Dst: wolfSSL_X509_check_host
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:185,1
    - Dst: strlen
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:185,1
    - Dst: wolfSSL_X509_check_ip_asc
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:189,1
    - Dst: wolfSSL_X509_free
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:192,1
    - Dst: Curl_wssl_verify_pinned
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:195,1
    - Dst: Curl_ssl_scache_remove_all
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - cf
    - data
    - peer
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 155
    functionDepth: 10
    functionLinenumber: 155
    functionLinenumberEnd: 201
    functionName: Curl_vquic_tls_verify_peer
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - wolfSSL_X509_check_ip_asc
    - wolfSSL_X509_check_host
    - Curl_ossl_check_peer_cert
    - Curl_ssl_scache_remove_all
    - wolfSSL_get_peer_certificate
    - Curl_gtls_verifyserver
    - Curl_ssl_cf_get_primary_config
    - strlen
    - Curl_wssl_verify_pinned
    - wolfSSL_X509_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_vquic_tls_verify_peer(struct curl_tls_ctx *ctx,\n                                    struct
      Curl_cfilter *cf,\n                                    struct Curl_easy *data,\n
      \                                   struct ssl_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - give_ssl_ctx
    - info
    argTypes:
    - struct curl_tls_ctx*
    - bool
    - struct curl_tlssessioninfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: Curl_vquic_tls_get_ssl_info
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_vquic_tls_get_ssl_info(struct curl_tls_ctx *ctx,\n                                 bool
      give_ssl_ctx,\n                                 struct curl_tlssessioninfo *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ossl_report_handshake
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:235,1
    - Dst: Curl_gtls_report_handshake
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:237,1
    - Dst: Curl_wssl_report_handshake
      Src: /src/PROJ/curl/lib/vquic/vquic-tls.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cf
    - data
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: Curl_vquic_report_handshake
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic-tls.c
    functionUses: 0
    functionsReached:
    - Curl_wssl_report_handshake
    - Curl_ossl_report_handshake
    - Curl_gtls_report_handshake
    linkageType: ''
    returnType: void
    signature: "void Curl_vquic_report_handshake(struct curl_tls_ctx *ctx,\n                                 struct
      Curl_cfilter *cf,\n                                 struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:81,1
    - Dst: quiche_version
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Curl_quiche_ver
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_quiche_ver(char *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - argp
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: quiche_debug_log
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void quiche_debug_log(const char *line, void *argp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:118,1
    - Dst: quiche_enable_debug_logging
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:121,1
    - Dst: Curl_bufcp_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:125,1
    - Dst: Curl_uint_hash_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_quiche_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: cf_quiche_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_enable_debug_logging
    - DEBUGASSERT
    - Curl_uint_hash_init
    - Curl_bufcp_init
    linkageType: ''
    returnType: void
    signature: void cf_quiche_ctx_init(struct cf_quiche_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:137,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:138,1
    - Dst: vquic_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:139,1
    - Dst: Curl_bufcp_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:140,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:141,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_quiche_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: cf_quiche_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_free
    - free
    - Curl_vquic_tls_cleanup
    - Curl_ssl_peer_cleanup
    - Curl_uint_hash_destroy
    - Curl_bufcp_free
    linkageType: ''
    returnType: void
    signature: void cf_quiche_ctx_free(struct cf_quiche_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_conn_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:149,1
    - Dst: quiche_h3_config_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:153,1
    - Dst: quiche_conn_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:157,1
    - Dst: quiche_config_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_quiche_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: cf_quiche_ctx_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_h3_config_free
    - quiche_h3_conn_free
    - quiche_config_free
    - quiche_conn_free
    linkageType: ''
    returnType: void
    signature: void cf_quiche_ctx_close(struct cf_quiche_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:188,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:189,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: h3_stream_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_bufq_free
    - Curl_h1_req_parse_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_ctx_free(struct h3_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:196,1
    - Dst: h3_stream_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: h3_stream_hash_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - h3_stream_ctx_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void h3_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:216,1
    - Dst: struct cf_quiche_visit_ctx*::cb
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: cf_quiche_stream_do
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - struct cf_quiche_visit_ctx*::cb
    - Curl_multi_get_easy
    linkageType: ''
    returnType: bool
    signature: bool cf_quiche_stream_do(unsigned int mid, void *val, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_visit
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cf
    - multi
    - do_cb
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_multi*
    - cf_quiche_svisit*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: cf_quiche_for_all_streams
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_visit
    linkageType: ''
    returnType: void
    signature: "void cf_quiche_for_all_streams(struct Curl_cfilter *cf,\n                                      struct
      Curl_multi *multi,\n                                      cf_quiche_svisit *do_cb,\n
      \                                     void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:244,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cf
    - sdata
    - stream
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: cf_quiche_do_resume
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_do_resume(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *sdata,\n                                struct h3_stream_ctx *stream,\n
      \                               void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:257,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cf
    - sdata
    - stream
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: cf_quiche_do_expire
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_do_expire(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *sdata,\n                                struct h3_stream_ctx *stream,\n
      \                               void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:266,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:271,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:276,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:278,1
    - Dst: Curl_uint_hash_set
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:280,1
    - Dst: h3_stream_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 286
    functionName: h3_data_setup
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - Curl_uint_hash_set
    - Curl_bufq_initp
    - Curl_h1_req_parse_init
    - h3_stream_ctx_free
    - calloc
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_setup(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:291,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:296,1
    - Dst: quiche_conn_stream_shutdown
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:298,1
    - Dst: quiche_conn_stream_shutdown
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:301,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:306,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:308,1
    - Dst: Curl_uint_hash_remove
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 312
    functionName: h3_data_done
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - quiche_conn_stream_shutdown
    - Curl_uint_hash_remove
    - cf_flush_egress
    - H3_STREAM_CTX
    linkageType: ''
    returnType: void
    signature: void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:317,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:318,1
    - Dst: cf_quiche_for_all_streams
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: cf_quiche_expire_conn_closed
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_quiche_for_all_streams
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_quiche_expire_conn_closed(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:332,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:339,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cf
    - data
    - mem
    - memlen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 350
    functionName: write_resp_raw
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 3
    functionsReached:
    - H3_STREAM_CTX
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode write_resp_raw(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const void *mem, size_t memlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:363,1
    - Dst: strncmp
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:369,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:370,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:372,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:374,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:376,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:379,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:382,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:384,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:386,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:388,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - name
    - name_len
    - value
    - value_len
    - argp
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 395
    functionName: cb_each_header
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - strncmp
    - H3_STREAM_CTX
    - CURL_TRC_CF
    - write_resp_raw
    linkageType: ''
    returnType: int
    signature: "int cb_each_header(uint8_t *name, size_t name_len,\n                          uint8_t
      *value, size_t value_len,\n                          void *argp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:403,1
    - Dst: quiche_h3_recv_body
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - len
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: stream_resp_read
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_h3_recv_body
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode stream_resp_read(void *reader_ctx,\n                                 unsigned
      char *buf, size_t len,\n                                 size_t *pnread)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:423,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:432,1
    - Dst: Curl_bufq_slurp
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:440,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:444,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:446,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 419
    functionDepth: 7
    functionLinenumber: 419
    functionLinenumberEnd: 455
    functionName: cf_recv_body
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - streamclose
    - write_resp_raw
    - Curl_bufq_slurp
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_recv_body(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_event_type
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ev
    argTypes:
    - quiche_h3_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 474
    functionName: cf_ev_name
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_h3_event_type
    linkageType: ''
    returnType: char
    signature: char *cf_ev_name(quiche_h3_event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: cf_ev_name
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf_ev_name(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_event_type
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:490,1
    - Dst: quiche_h3_event_for_each_header
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:495,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:497,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:501,1
    - Dst: cf_recv_body
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:506,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:511,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:515,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:519,1
    - Dst: write_resp_raw
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:521,1
    - Dst: streamclose
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:527,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:531,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:535,1
    - Dst: quiche_h3_event_type
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:536,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - ev
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - quiche_h3_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 479
    functionDepth: 8
    functionLinenumber: 479
    functionLinenumberEnd: 540
    functionName: h3_process_event
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - cf_recv_body
    - quiche_h3_event_type
    - write_resp_raw
    - quiche_h3_event_for_each_header
    - streamclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_process_event(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct h3_stream_ctx *stream,\n
      \                                quiche_h3_event *ev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h3_process_event
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:547,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:548,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:550,1
    - Dst: cf_ev_name
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - ev
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - quiche_h3_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 542
    functionDepth: 9
    functionLinenumber: 542
    functionLinenumberEnd: 554
    functionName: cf_quiche_ev_process
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_ev_name
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    - h3_process_event
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_ev_process(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct h3_stream_ctx
      *stream,\n                                     quiche_h3_event *ev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:570,1
    - Dst: cf_quiche_ev_process
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 10
    functionLinenumber: 564
    functionLinenumberEnd: 576
    functionName: cf_quiche_disp_event
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - cf_quiche_ev_process
    linkageType: ''
    returnType: bool
    signature: bool cf_quiche_disp_event(unsigned int mid, void *val, void *user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_conn_poll
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:587,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:592,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:602,1
    - Dst: cf_quiche_ev_process
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:605,1
    - Dst: quiche_h3_event_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:606,1
    - Dst: Curl_uint_hash_visit
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:613,1
    - Dst: quiche_h3_event_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 578
    functionDepth: 10
    functionLinenumber: 578
    functionLinenumberEnd: 619
    functionName: cf_poll_events
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_h3_event_free
    - CURL_TRC_CF
    - Curl_uint_hash_visit
    - cf_quiche_ev_process
    - quiche_h3_conn_poll
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_poll_events(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_recv
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:648,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:649,1
    - Dst: quiche_conn_is_draining
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:653,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:654,1
    - Dst: quiche_conn_is_closed
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:657,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:658,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:661,1
    - Dst: SSL_get_verify_result
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:665,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:667,1
    - Dst: X509_verify_cert_error_string
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:668,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:671,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:675,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 7
    argNames:
    - buf
    - buflen
    - gso_size
    - remote_addr
    - remote_addrlen
    - ecn
    - userp
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - struct sockaddr_storage*
    - socklen_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 687
    functionName: cf_quiche_recv_pkts
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_is_closed
    - CURL_TRC_CF
    - failf
    - quiche_conn_recv
    - SSL_get_verify_result
    - X509_verify_cert_error_string
    - CURL_UNCONST
    - quiche_conn_is_draining
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_recv_pkts(const unsigned char *buf, size_t buflen,\n
      \                                   size_t gso_size,\n                                    struct
      sockaddr_storage *remote_addr,\n                                    socklen_t
      remote_addrlen, int ecn,\n                                    void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:696,1
    - Dst: Curl_vquic_tls_before_recv
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:697,1
    - Dst: vquic_recv_packets
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:705,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:713,1
    - Dst: cf_quiche_for_all_streams
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:714,1
    - Dst: cf_poll_events
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 689
    functionDepth: 11
    functionLinenumber: 689
    functionLinenumberEnd: 717
    functionName: cf_process_ingress
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - vquic_recv_packets
    - DEBUGASSERT
    - cf_poll_events
    - cf_quiche_for_all_streams
    - Curl_vquic_tls_before_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_process_ingress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_send
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:734,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - userp
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 744
    functionName: read_pkt_to_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_send
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode read_pkt_to_send(void *userp,\n                                 unsigned
      char *buf, size_t buflen,\n                                 size_t *pnread)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_timeout_as_nanos
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:761,1
    - Dst: quiche_conn_on_timeout
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:763,1
    - Dst: quiche_conn_is_closed
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:764,1
    - Dst: quiche_conn_is_timed_out
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:765,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:766,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:768,1
    - Dst: cf_quiche_expire_conn_closed
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:771,1
    - Dst: vquic_flush
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:776,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:779,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:787,1
    - Dst: quiche_conn_max_send_udp_payload_size
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:789,1
    - Dst: Curl_bufq_sipn
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:792,1
    - Dst: vquic_send
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:798,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:801,1
    - Dst: vquic_send
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:811,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:814,1
    - Dst: quiche_conn_timeout_as_nanos
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:824,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:828,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 750
    functionDepth: 7
    functionLinenumber: 750
    functionLinenumberEnd: 830
    functionName: cf_flush_egress
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - quiche_conn_is_closed
    - failf
    - Curl_expire
    - quiche_conn_is_timed_out
    - Curl_bufq_sipn
    - memset
    - cf_quiche_expire_conn_closed
    - vquic_flush
    - quiche_conn_max_send_udp_payload_size
    - vquic_send
    - quiche_conn_timeout_as_nanos
    - quiche_conn_on_timeout
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_flush_egress(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:837,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:840,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:843,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:846,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cf
    - data
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 857
    functionName: recv_closed_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - failf
    - H3_STREAM_CTX
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_closed_stream(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   size_t *pnread)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:863,1
    - Dst: vquic_ctx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:867,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:873,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:874,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:875,1
    - Dst: cf_process_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:881,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:883,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:888,1
    - Dst: Curl_bufq_cread
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:889,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:890,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:898,1
    - Dst: recv_closed_stream
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:902,1
    - Dst: quiche_conn_is_draining
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:903,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:904,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:912,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:912,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:915,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 859
    functionDepth: 12
    functionLinenumber: 859
    functionLinenumberEnd: 919
    functionName: cf_quiche_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_update_time
    - Curl_1st_err
    - CURL_TRC_CF
    - failf
    - Curl_bufq_cread
    - Curl_multi_mark_dirty
    - Curl_bufq_is_empty
    - cf_process_ingress
    - quiche_conn_is_draining
    - cf_flush_egress
    - H3_STREAM_CTX
    - recv_closed_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               char *buf, size_t len, size_t *pnread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_send_body
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:931,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:932,1
    - Dst: quiche_conn_stream_writable
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:936,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:937,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:944,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:949,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:954,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 7
    argNames:
    - cf
    - data
    - stream
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 967
    functionName: cf_quiche_send_body
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_stream_writable
    - CURL_UNCONST
    - CURL_TRC_CF
    - quiche_h3_send_body
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_send_body(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct h3_stream_ctx *stream,\n
      \                                   const void *buf, size_t len, bool eos,\n
      \                                   size_t *pnwritten)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:975,1
    - Dst: h3_data_setup
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:985,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:988,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:989,1
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:992,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:994,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:995,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1002,1
    - Dst: Curl_http_req_to_h2
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1004,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1009,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1011,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1012,1
    - Dst: Curl_dynhds_getn
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1019,1
    - Dst: quiche_h3_send_request
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1033,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1035,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1040,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1046,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1053,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1059,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1060,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1063,1
    - Dst: cf_quiche_send_body
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1073,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1083,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1084,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 969
    functionDepth: 5
    functionLinenumber: 969
    functionLinenumberEnd: 1086
    functionName: h3_open_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - infof
    - free
    - Curl_trc_is_verbose
    - CURL_TRC_CF
    - Curl_h1_req_parse_read
    - Curl_dynhds_init
    - Curl_dynhds_free
    - Curl_dynhds_getn
    - quiche_h3_send_request
    - DEBUGASSERT
    - Curl_http_req_to_h2
    - h3_data_setup
    - malloc
    - cf_quiche_send_body
    - Curl_dynhds_count
    - H3_STREAM_CTX
    - Curl_h1_req_parse_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_open_stream(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const char *buf, size_t blen,
      bool eos,\n                               size_t *pnwritten)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1093,1
    - Dst: vquic_ctx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1097,1
    - Dst: cf_process_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1099,1
    - Dst: h3_open_stream
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1104,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1107,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1119,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1125,1
    - Dst: cf_quiche_send_body
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1131,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1135,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1135,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1088
    functionDepth: 12
    functionLinenumber: 1088
    functionLinenumberEnd: 1141
    functionName: cf_quiche_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_update_time
    - Curl_1st_err
    - CURL_TRC_CF
    - h3_open_stream
    - cf_process_ingress
    - cf_quiche_send_body
    - cf_flush_egress
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               const void *buf, size_t len, bool eos,\n
      \                              size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1147,1
    - Dst: quiche_conn_stream_writable
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    functionName: stream_is_writeable
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_stream_writable
    - H3_STREAM_CTX
    linkageType: ''
    returnType: bool
    signature: "bool stream_is_writeable(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_check
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1164,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1166,1
    - Dst: stream_is_writeable
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1172,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1175,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1153
    functionDepth: 3
    functionLinenumber: 1153
    functionLinenumberEnd: 1180
    functionName: cf_quiche_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set
    - Curl_bufq_is_empty
    - stream_is_writeable
    - Curl_pollset_check
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct easy_pollset
      *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1190,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1193
    functionName: cf_quiche_data_pending
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - H3_STREAM_CTX
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_data_pending(struct Curl_cfilter *cf,\n                                   const
      struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1206
    functionName: h3_data_pause
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_pause(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool pause)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: h3_data_pause
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1221,1
    - Dst: h3_data_done
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1224,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1227,1
    - Dst: cf_quiche_send
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1234,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1235,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1208
    functionDepth: 13
    functionLinenumber: 1208
    functionLinenumberEnd: 1250
    functionName: cf_quiche_cntrl
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - h3_data_done
    - cf_quiche_send
    - CURL_TRC_CF
    - h3_data_pause
    - Curl_conn_set_multiplex
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_cntrl(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int event, int arg1, void
      *arg2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1261,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1262,1
    - Dst: vquic_ctx_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1264,1
    - Dst: quiche_config_new
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1268,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1270,1
    - Dst: quiche_config_enable_pacing
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1273,1
    - Dst: quiche_config_set_initial_max_data
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1274,1
    - Dst: quiche_config_set_initial_max_streams_bidi
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1276,1
    - Dst: quiche_config_set_initial_max_streams_uni
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1277,1
    - Dst: quiche_config_set_initial_max_stream_data_bidi_local
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1278,1
    - Dst: quiche_config_set_initial_max_stream_data_bidi_remote
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1280,1
    - Dst: quiche_config_set_initial_max_stream_data_uni
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1282,1
    - Dst: quiche_config_set_disable_active_migration
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1284,1
    - Dst: quiche_config_set_max_connection_window
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1286,1
    - Dst: quiche_config_set_max_stream_window
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1288,1
    - Dst: quiche_config_set_application_protos
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1289,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1290,1
    - Dst: Curl_vquic_tls_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1294,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1299,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1303,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1307,1
    - Dst: quiche_conn_new_with_tls
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1312,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1320,1
    - Dst: Curl_qlogdir
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1328,1
    - Dst: quiche_conn_set_qlog_fd
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1330,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1335,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1252
    functionDepth: 8
    functionLinenumber: 1252
    functionLinenumberEnd: 1355
    functionName: cf_quiche_ctx_open
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - quiche_config_enable_pacing
    - quiche_config_set_disable_active_migration
    - quiche_config_set_application_protos
    - CURL_UNCONST
    - quiche_config_set_initial_max_stream_data_bidi_remote
    - quiche_config_set_initial_max_stream_data_bidi_local
    - Curl_rand
    - vquic_ctx_init
    - quiche_config_set_max_stream_window
    - Curl_qlogdir
    - quiche_config_set_max_connection_window
    - quiche_config_new
    - quiche_conn_set_qlog_fd
    - Curl_vquic_tls_init
    - Curl_cf_socket_peek
    - DEBUGASSERT
    - quiche_config_set_initial_max_streams_uni
    - quiche_conn_new_with_tls
    - quiche_config_set_initial_max_streams_bidi
    - quiche_config_set_initial_max_data
    - getsockname
    - quiche_config_set_initial_max_stream_data_uni
    - cf_flush_egress
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_ctx_open(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_verify_peer
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1357
    functionDepth: 11
    functionLinenumber: 1357
    functionLinenumberEnd: 1362
    functionName: cf_quiche_verify_peer
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_verify_peer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_verify_peer(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1378,1
    - Dst: vquic_ctx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1384,1
    - Dst: cf_quiche_ctx_open
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1387,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1391,1
    - Dst: cf_process_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1396,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1400,1
    - Dst: quiche_conn_is_established
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1404,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1406,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1407,1
    - Dst: cf_quiche_verify_peer
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1408,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1410,1
    - Dst: quiche_h3_config_new
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1411,1
    - Dst: quiche_h3_conn_new_with_transport
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1418,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1425,1
    - Dst: quiche_conn_is_draining
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1428,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1441,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1442,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1443,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1445,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1445,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1364
    functionDepth: 12
    functionLinenumber: 1364
    functionLinenumberEnd: 1449
    functionName: cf_quiche_connect
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_update_time
    - infof
    - connkeep
    - CURL_TRC_CF
    - quiche_h3_conn_new_with_transport
    - cf_quiche_ctx_open
    - curlx_timediff
    - Curl_conn_cf_connect
    - Curl_cf_socket_peek
    - cf_process_ingress
    - quiche_conn_is_established
    - curl_easy_strerror
    - quiche_conn_is_draining
    - cf_quiche_verify_peer
    - cf_flush_egress
    - quiche_h3_config_new
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_connect(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vquic_ctx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1467,1
    - Dst: quiche_conn_close
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1468,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1470,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1477,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1478,1
    - Dst: cf_flush_egress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1479,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1484,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1487,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1451
    functionDepth: 8
    functionLinenumber: 1451
    functionLinenumberEnd: 1496
    functionName: cf_quiche_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_update_time
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - quiche_conn_close
    - cf_flush_egress
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_shutdown(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data, bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_quiche_shutdown
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1502,1
    - Dst: cf_quiche_ctx_close
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1498
    functionDepth: 9
    functionLinenumber: 1498
    functionLinenumberEnd: 1506
    functionName: cf_quiche_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_quiche_ctx_close
    - cf_quiche_shutdown
    linkageType: ''
    returnType: void
    signature: void cf_quiche_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_quiche_ctx_close
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1512,1
    - Dst: cf_quiche_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1508
    functionDepth: 6
    functionLinenumber: 1508
    functionLinenumberEnd: 1516
    functionName: cf_quiche_destroy
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_quiche_ctx_close
    - cf_quiche_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_quiche_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1526,1
    - Dst: quiche_conn_peer_streams_left_bidi
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1528,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1531,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1533,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1538,1
    - Dst: Curl_vquic_tls_get_ssl_info
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1562,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1569,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1577,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1579
    functionName: cf_quiche_query
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_peer_streams_left_bidi
    - CURL_TRC_CF
    - CONN_ATTACHED
    - curlx_timediff
    - DEBUGASSERT
    - struct Curl_cfilter*::next::cft::query
    - Curl_vquic_tls_get_ssl_info
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_query(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int query, int *pres1, void
      *pres2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_is_closed
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1592,1
    - Dst: quiche_conn_is_timed_out
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1593,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1594,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1596,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1600,1
    - Dst: cf_process_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1581
    functionDepth: 12
    functionLinenumber: 1581
    functionLinenumberEnd: 1616
    functionName: cf_quiche_conn_is_alive
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_is_closed
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::is_alive
    - quiche_conn_is_timed_out
    - cf_process_ingress
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_conn_is_alive(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *input_pending)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1647,1
    - Dst: cf_quiche_ctx_init
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1652,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1654,1
    - Dst: Curl_cf_udp_create
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1659,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1669,1
    - Dst: cf_quiche_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_quiche.c:1671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - pcf
    - data
    - conn
    - ai
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1636
    functionDepth: 6
    functionLinenumber: 1636
    functionLinenumberEnd: 1675
    functionName: Curl_cf_quiche_create
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - Curl_cf_udp_create
    - Curl_cf_create
    - cf_quiche_ctx_init
    - calloc
    - cf_quiche_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_quiche_create(struct Curl_cfilter **pcf,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              const struct Curl_addrinfo *ai)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: H3_STREAM_CTX
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic_int.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H3_STREAM_CTX(ctx,data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_ossl_init
      Src: /src/PROJ/curl/lib/vquic/vquic.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: Curl_vquic_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - ngtcp2_crypto_ossl_init
    linkageType: ''
    returnType: int
    signature: int Curl_vquic_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ngtcp2_ver
      Src: /src/PROJ/curl/lib/vquic/vquic.c:73,1
    - Dst: Curl_osslq_ver
      Src: /src/PROJ/curl/lib/vquic/vquic.c:75,1
    - Dst: Curl_quiche_ver
      Src: /src/PROJ/curl/lib/vquic/vquic.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: Curl_quic_ver
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - Curl_ngtcp2_ver
    - Curl_osslq_ver
    - Curl_quiche_ver
    linkageType: ''
    returnType: void
    signature: void Curl_quic_ver(char *p, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/PROJ/curl/lib/vquic/vquic.c:83,1
    - Dst: getenv
      Src: /src/PROJ/curl/lib/vquic/vquic.c:92,1
    - Dst: curlx_str_number
      Src: /src/PROJ/curl/lib/vquic/vquic.c:95,1
    - Dst: vquic_ctx_update_time
      Src: /src/PROJ/curl/lib/vquic/vquic.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: vquic_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - vquic_ctx_update_time
    - getenv
    - Curl_bufq_init2
    - curlx_str_number
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode vquic_ctx_init(struct cf_quic_ctx *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vquic/vquic.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: vquic_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void vquic_ctx_free(struct cf_quic_ctx *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/vquic.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: vquic_ctx_update_time
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 5
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void vquic_ctx_update_time(struct cf_quic_ctx *qctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/vquic.c:138,1
    - Dst: assert
      Src: /src/PROJ/curl/lib/vquic/vquic.c:148,1
    - Dst: CMSG_SPACE
      Src: /src/PROJ/curl/lib/vquic/vquic.c:148,1
    - Dst: CMSG_SPACE
      Src: /src/PROJ/curl/lib/vquic/vquic.c:149,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/PROJ/curl/lib/vquic/vquic.c:150,1
    - Dst: CMSG_LEN
      Src: /src/PROJ/curl/lib/vquic/vquic.c:153,1
    - Dst: CMSG_DATA
      Src: /src/PROJ/curl/lib/vquic/vquic.c:154,1
    - Dst: sendmsg
      Src: /src/PROJ/curl/lib/vquic/vquic.c:159,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/vquic.c:176,1
    - Dst: send_packet_no_gso
      Src: /src/PROJ/curl/lib/vquic/vquic.c:179,1
    - Dst: FALLTHROUGH
      Src: /src/PROJ/curl/lib/vquic/vquic.c:181,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:183,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:189,1
    - Dst: CURL_SEND
      Src: /src/PROJ/curl/lib/vquic/vquic.c:199,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:210,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 7
    argNames:
    - cf
    - data
    - qctx
    - pkt
    - pktlen
    - gsolen
    - psent
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - uint8_t*
    - size_t
    - size_t
    - size_t*
    assertStmts:
    - condition: (sizeof(msg_ctrl) >= CMSG_SPACE(sizeof(int)))
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
    constantsTouched: []
    func_position:
      end: 225
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 225
    functionName: do_sendmsg
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - FALLTHROUGH
    - CMSG_SPACE
    - assert
    - CMSG_LEN
    - CURL_UNCONST
    - CMSG_FIRSTHDR
    - CURL_SEND
    - sendmsg
    - send_packet_no_gso
    - CMSG_DATA
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_sendmsg(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct cf_quic_ctx *qctx,\n                           const
      uint8_t *pkt, size_t pktlen, size_t gsolen,\n                           size_t
      *psent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/vquic/vquic.c:246,1
    - Dst: do_sendmsg
      Src: /src/PROJ/curl/lib/vquic/vquic.c:247,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - cf
    - data
    - qctx
    - pkt
    - pktlen
    - gsolen
    - psent
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - uint8_t*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 258
    functionName: send_packet_no_gso
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - CURLMIN
    - do_sendmsg
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_packet_no_gso(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct cf_quic_ctx *qctx,\n
      \                                  const uint8_t *pkt, size_t pktlen,\n                                   size_t
      gsolen, size_t *psent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/vquic.c:272,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:274,1
    - Dst: send_packet_no_gso
      Src: /src/PROJ/curl/lib/vquic/vquic.c:280,1
    - Dst: do_sendmsg
      Src: /src/PROJ/curl/lib/vquic/vquic.c:283,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 7
    argNames:
    - cf
    - data
    - qctx
    - pkt
    - pktlen
    - gsolen
    - psent
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - uint8_t*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 291
    functionName: vquic_send_packets
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - do_sendmsg
    - Curl_rand
    - send_packet_no_gso
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_send_packets(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct cf_quic_ctx *qctx,\n
      \                                  const uint8_t *pkt, size_t pktlen,\n                                   size_t
      gsolen, size_t *psent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/PROJ/curl/lib/vquic/vquic.c:301,1
    - Dst: vquic_send_packets
      Src: /src/PROJ/curl/lib/vquic/vquic.c:309,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vquic/vquic.c:312,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vquic/vquic.c:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - qctx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 323
    functionName: vquic_flush
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_skip
    - Curl_bufq_peek
    - vquic_send_packets
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_flush(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                    struct cf_quic_ctx *qctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vquic_flush
      Src: /src/PROJ/curl/lib/vquic/vquic.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cf
    - data
    - qctx
    - gsolen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: vquic_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - vquic_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                   struct cf_quic_ctx *qctx, size_t gsolen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/vquic.c:336,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/vquic.c:336,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/vquic.c:337,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:340,1
    - Dst: vquic_flush
      Src: /src/PROJ/curl/lib/vquic/vquic.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - gsolen
    - tail_len
    - tail_gsolen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: vquic_send_tail_split
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - vquic_flush
    - Curl_bufq_len
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_send_tail_split(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               struct cf_quic_ctx *qctx, size_t gsolen,\n
      \                              size_t tail_len, size_t tail_gsolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_FIRSTHDR
      Src: /src/PROJ/curl/lib/vquic/vquic.c:359,1
    - Dst: CMSG_NXTHDR
      Src: /src/PROJ/curl/lib/vquic/vquic.c:359,1
    - Dst: memcpy
      Src: /src/PROJ/curl/lib/vquic/vquic.c:364,1
    - Dst: CMSG_DATA
      Src: /src/PROJ/curl/lib/vquic/vquic.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct msghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: vquic_msghdr_get_udp_gro
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - memcpy
    - CMSG_NXTHDR
    linkageType: ''
    returnType: size_t
    signature: size_t vquic_msghdr_get_udp_gro(struct msghdr *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/PROJ/curl/lib/vquic/vquic.c:393,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/vquic.c:403,1
    - Dst: Curl_multi_xfer_sockbuf_borrow
      Src: /src/PROJ/curl/lib/vquic/vquic.c:404,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/vquic/vquic.c:412,1
    - Dst: CURLMIN
      Src: /src/PROJ/curl/lib/vquic/vquic.c:412,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/vquic.c:413,1
    - Dst: CMSG_SPACE
      Src: /src/PROJ/curl/lib/vquic/vquic.c:421,1
    - Dst: CMSG_SPACE
      Src: /src/PROJ/curl/lib/vquic/vquic.c:422,1
    - Dst: recvmmsg
      Src: /src/PROJ/curl/lib/vquic/vquic.c:425,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:430,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/vquic.c:435,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:436,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vquic/vquic.c:441,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:442,1
    - Dst: vquic_msghdr_get_udp_gro
      Src: /src/PROJ/curl/lib/vquic/vquic.c:452,1
    - Dst: recv_cb
      Src: /src/PROJ/curl/lib/vquic/vquic.c:457,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:468,1
    - Dst: Curl_multi_xfer_sockbuf_release
      Src: /src/PROJ/curl/lib/vquic/vquic.c:470,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkts_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 472
    functionName: recvmmsg_packets
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_multi_xfer_sockbuf_release
    - CURL_TRC_CF
    - failf
    - Curl_multi_xfer_sockbuf_borrow
    - recv_cb
    - CMSG_SPACE
    - vquic_msghdr_get_udp_gro
    - curlx_strerror
    - Curl_cf_socket_peek
    - CURLMIN
    - memset
    - recvmmsg
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recvmmsg_packets(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct cf_quic_ctx *qctx,\n
      \                                size_t max_pkts,\n                                 vquic_recv_pkts_cb
      *recv_cb, void *userp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/PROJ/curl/lib/vquic/vquic.c:490,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/vquic.c:493,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/vquic.c:497,1
    - Dst: recvmsg
      Src: /src/PROJ/curl/lib/vquic/vquic.c:507,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/vquic.c:516,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:517,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vquic/vquic.c:522,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:523,1
    - Dst: vquic_msghdr_get_udp_gro
      Src: /src/PROJ/curl/lib/vquic/vquic.c:533,1
    - Dst: recv_cb
      Src: /src/PROJ/curl/lib/vquic/vquic.c:538,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:547,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkts_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 550
    functionName: recvmsg_packets
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - recv_cb
    - CMSG_SPACE
    - vquic_msghdr_get_udp_gro
    - curlx_strerror
    - Curl_cf_socket_peek
    - memset
    - DEBUGASSERT
    - recvmsg
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recvmsg_packets(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                struct cf_quic_ctx *qctx,\n
      \                               size_t max_pkts,\n                                vquic_recv_pkts_cb
      *recv_cb, void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/vquic.c:568,1
    - Dst: recvfrom
      Src: /src/PROJ/curl/lib/vquic/vquic.c:570,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:577,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/vquic.c:582,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:583,1
    - Dst: curlx_strerror
      Src: /src/PROJ/curl/lib/vquic/vquic.c:588,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:589,1
    - Dst: recv_cb
      Src: /src/PROJ/curl/lib/vquic/vquic.c:598,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:606,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkts_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 609
    functionName: recvfrom_packets
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - recv_cb
    - curlx_strerror
    - Curl_cf_socket_peek
    - DEBUGASSERT
    - recvfrom
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recvfrom_packets(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct cf_quic_ctx *qctx,\n
      \                                size_t max_pkts,\n                                 vquic_recv_pkts_cb
      *recv_cb, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recvmmsg_packets
      Src: /src/PROJ/curl/lib/vquic/vquic.c:620,1
    - Dst: recvmsg_packets
      Src: /src/PROJ/curl/lib/vquic/vquic.c:622,1
    - Dst: recvfrom_packets
      Src: /src/PROJ/curl/lib/vquic/vquic.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkts_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 634
    functionName: vquic_recv_packets
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - recvmsg_packets
    - recvmmsg_packets
    - recvfrom_packets
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_recv_packets(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            struct cf_quic_ctx *qctx,\n                            size_t
      max_pkts,\n                            vquic_recv_pkts_cb *recv_cb, void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/PROJ/curl/lib/vquic/vquic.c:649,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vquic/vquic.c:655,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vquic/vquic.c:656,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vquic/vquic.c:658,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:661,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vquic/vquic.c:662,1
    - Dst: curlx_dyn_add
      Src: /src/PROJ/curl/lib/vquic/vquic.c:665,1
    - Dst: curlx_open
      Src: /src/PROJ/curl/lib/vquic/vquic.c:668,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vquic/vquic.c:668,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vquic/vquic.c:674,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/vquic.c:675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - data
    - scid
    - scidlen
    - qlogfdp
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 644
    functionDepth: 6
    functionLinenumber: 644
    functionLinenumberEnd: 681
    functionName: Curl_qlogdir
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_dyn_ptr
    - curlx_dyn_init
    - curl_msnprintf
    - curlx_dyn_free
    - curlx_dyn_add
    - curl_getenv
    - curlx_open
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_qlogdir(struct Curl_easy *data,\n                      unsigned
      char *scid,\n                      size_t scidlen,\n                      int
      *qlogfdp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/vquic.c:690,1
    - Dst: Curl_cf_ngtcp2_create
      Src: /src/PROJ/curl/lib/vquic/vquic.c:692,1
    - Dst: Curl_cf_osslq_create
      Src: /src/PROJ/curl/lib/vquic/vquic.c:694,1
    - Dst: Curl_cf_quiche_create
      Src: /src/PROJ/curl/lib/vquic/vquic.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 683
    functionDepth: 7
    functionLinenumber: 683
    functionLinenumberEnd: 704
    functionName: Curl_cf_quic_create
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_cf_ngtcp2_create
    - Curl_cf_osslq_create
    - DEBUGASSERT
    - Curl_cf_quiche_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_quic_create(struct Curl_cfilter **pcf,\n                             struct
      Curl_easy *data,\n                             struct connectdata *conn,\n                             const
      struct Curl_addrinfo *ai,\n                             int transport)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:715,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:720,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/vquic.c:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - conn
    - transport
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 730
    functionName: Curl_conn_may_http3
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_may_http3(struct Curl_easy *data,\n                             const
      struct connectdata *conn,\n                             unsigned char transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/PROJ/curl/lib/vquic/vquic.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - user_data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 738
    functionName: vquic_ngtcp2_malloc
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void *vquic_ngtcp2_malloc(size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/PROJ/curl/lib/vquic/vquic.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 744
    functionName: vquic_ngtcp2_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void vquic_ngtcp2_free(void *ptr, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ccalloc
      Src: /src/PROJ/curl/lib/vquic/vquic.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nmemb
    - size
    - user_data
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: vquic_ngtcp2_calloc
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_ccalloc
    linkageType: ''
    returnType: void
    signature: void *vquic_ngtcp2_calloc(size_t nmemb, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_crealloc
      Src: /src/PROJ/curl/lib/vquic/vquic.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - user_data
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: vquic_ngtcp2_realloc
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_crealloc
    linkageType: ''
    returnType: void
    signature: void *vquic_ngtcp2_realloc(void *ptr, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: Curl_ngtcp2_mem
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ngtcp2_mem
    signature: struct ngtcp2_mem *Curl_ngtcp2_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: Curl_nghttp3_mem
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct nghttp3_mem
    signature: struct nghttp3_mem *Curl_nghttp3_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/PROJ/curl/lib/vquic/vquic.c:797,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/vquic.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - transport
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: Curl_conn_may_http3
    functionSourceFile: /src/PROJ/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - infof
    - DEBUGF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_may_http3(struct Curl_easy *data,\n                             const
      struct connectdata *conn,\n                             unsigned char transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_version
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:110,1
    - Dst: nghttp3_version
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:111,1
    - Dst: curl_msnprintf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: Curl_ngtcp2_ver
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - ngtcp2_version
    - curl_msnprintf
    - nghttp3_version
    linkageType: ''
    returnType: void
    signature: void Curl_ngtcp2_ver(char *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:165,1
    - Dst: Curl_bufcp_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:169,1
    - Dst: curlx_dyn_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:171,1
    - Dst: Curl_uint_hash_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_ngtcp2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: cf_ngtcp2_ctx_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    - curlx_dyn_init
    - DEBUGASSERT
    - Curl_bufcp_init
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_ctx_init(struct cf_ngtcp2_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:179,1
    - Dst: vquic_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:180,1
    - Dst: Curl_bufcp_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:181,1
    - Dst: curlx_dyn_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:182,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:183,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:184,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_ngtcp2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 5
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: cf_ngtcp2_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_free
    - free
    - Curl_vquic_tls_cleanup
    - Curl_ssl_peer_cleanup
    - Curl_uint_hash_destroy
    - curlx_dyn_free
    - Curl_bufcp_free
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_ctx_free(struct cf_ngtcp2_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_remote_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:206,1
    - Dst: ngtcp2_conn_set_keep_alive_timeout
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:208,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:209,1
    - Dst: Curl_uint_hash_count
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:211,1
    - Dst: ngtcp2_conn_set_keep_alive_timeout
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:212,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:213,1
    - Dst: ngtcp2_conn_set_keep_alive_timeout
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:218,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 224
    functionName: cf_ngtcp2_setup_keep_alive
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_set_keep_alive_timeout
    - Curl_uint_hash_count
    - CURL_TRC_CF
    - ngtcp2_conn_get_remote_transport_params
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_setup_keep_alive(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:256,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:257,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: h3_stream_ctx_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 4
    functionsReached:
    - free
    - Curl_bufq_free
    - Curl_h1_req_parse_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_ctx_free(struct h3_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:264,1
    - Dst: h3_stream_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: h3_stream_hash_free
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - h3_stream_ctx_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void h3_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:272,1
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:280,1
    - Dst: Curl_bufq_initp
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:286,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:289,1
    - Dst: Curl_uint_hash_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:291,1
    - Dst: h3_stream_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:292,1
    - Dst: Curl_uint_hash_count
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:296,1
    - Dst: cf_ngtcp2_setup_keep_alive
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: h3_data_setup
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - Curl_uint_hash_set
    - Curl_bufq_initp
    - Curl_h1_req_parse_init
    - h3_stream_ctx_free
    - Curl_uint_hash_count
    - calloc
    - H3_STREAM_CTX
    - cf_ngtcp2_setup_keep_alive
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_setup(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - value
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: cf_ngtcp2_sfind
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ngtcp2_sfind(unsigned int mid, void *value, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_visit
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stream_id
    argTypes:
    - struct cf_ngtcp2_ctx*
    - curl_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: cf_ngtcp2_get_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_visit
    linkageType: ''
    returnType: struct h3_stream_ctx
    signature: 'struct h3_stream_ctx *

      cf_ngtcp2_get_stream(struct cf_ngtcp2_ctx *ctx, curl_int64_t stream_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_stream_user_data
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:336,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stream_id
    argTypes:
    - struct cf_ngtcp2_ctx*
    - curl_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: cf_ngtcp2_get_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - ngtcp2_conn_get_stream_user_data
    linkageType: ''
    returnType: struct h3_stream_ctx
    signature: "struct h3_stream_ctx *cf_ngtcp2_get_stream(struct cf_ngtcp2_ctx *ctx,\n
      \                                                 curl_int64_t stream_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:351,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:352,1
    - Dst: nghttp3_conn_set_stream_user_data
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:356,1
    - Dst: ngtcp2_conn_set_stream_user_data
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:357,1
    - Dst: ngtcp2_conn_shutdown_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:359,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:361,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cf
    - data
    - stream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 366
    functionName: cf_ngtcp2_stream_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - ngtcp2_conn_shutdown_stream
    - DEBUGASSERT
    - cf_progress_egress
    - ngtcp2_conn_set_stream_user_data
    - nghttp3_conn_set_stream_user_data
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_stream_close(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct h3_stream_ctx *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:371,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:374,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:376,1
    - Dst: Curl_uint_hash_remove
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:377,1
    - Dst: Curl_uint_hash_count
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:378,1
    - Dst: cf_ngtcp2_setup_keep_alive
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 381
    functionName: h3_data_done
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - CURL_TRC_CF
    - Curl_uint_hash_count
    - cf_ngtcp2_stream_close
    - Curl_uint_hash_remove
    - H3_STREAM_CTX
    - cf_ngtcp2_setup_keep_alive
    linkageType: ''
    returnType: void
    signature: void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vquic_ctx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pktx
    - cf
    argTypes:
    - struct pkt_io_ctx*
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: pktx_update_time
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_update_time
    linkageType: ''
    returnType: void
    signature: "void pktx_update_time(struct pkt_io_ctx *pktx,\n                             struct
      Curl_cfilter *cf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_storage_zero
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:410,1
    - Dst: pktx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pktx
    - cf
    - data
    argTypes:
    - struct pkt_io_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: pktx_init
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_storage_zero
    - pktx_update_time
    linkageType: ''
    returnType: void
    signature: "void pktx_init(struct pkt_io_ctx *pktx,\n                      struct
      Curl_cfilter *cf,\n                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn_ref
    argTypes:
    - ngtcp2_crypto_conn_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: get_conn
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_conn
    signature: ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:433,1
    - Dst: curl_mvfprintf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:434,1
    - Dst: va_end
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:435,1
    - Dst: curl_mfprintf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - user_data
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: quic_printf
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - va_end
    - curl_mvfprintf
    - va_start
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void quic_printf(void *user_data, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:447,1
    - Dst: close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - user_data
    - flags
    - data
    - datalen
    argTypes:
    - void*
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 454
    functionName: qlog_callback
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - write
    - close
    linkageType: ''
    returnType: void
    signature: "void qlog_callback(void *user_data, uint32_t flags,\n                          const
      void *data, size_t datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_settings_default
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:463,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - data
    - pktx
    argTypes:
    - struct cf_ngtcp2_ctx*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 492
    functionName: quic_settings
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_transport_params_default
    - ngtcp2_settings_default
    linkageType: ''
    returnType: void
    signature: "void quic_settings(struct cf_ngtcp2_ctx *ctx,\n                          struct
      Curl_easy *data,\n                          struct pkt_io_ctx *pktx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:504,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:505,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:506,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:510,1
    - Dst: Curl_vquic_report_handshake
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:512,1
    - Dst: Curl_vquic_tls_verify_peer
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:514,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:517,1
    - Dst: ngtcp2_conn_get_remote_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:519,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:520,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:524,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:533,1
    - Dst: SSL_get_early_data_status
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:537,1
    - Dst: gnutls_session_get_flags
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:541,1
    - Dst: wolfSSL_get_early_data_status
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:547,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:550,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:554,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - tconn
    - user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 497
    functionDepth: 11
    functionLinenumber: 497
    functionLinenumberEnd: 561
    functionName: cf_ngtcp2_handshake_completed
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsEarlyData
    - Curl_vquic_report_handshake
    - Curl_trc_is_verbose
    - CURL_TRC_CF
    - curlx_now
    - Curl_vquic_tls_verify_peer
    - ngtcp2_conn_get_remote_transport_params
    - curlx_timediff
    - SSL_get_early_data_status
    - wolfSSL_get_early_data_status
    - gnutls_session_get_flags
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_pgrsTimeWas
    linkageType: ''
    returnType: int
    signature: int cf_ngtcp2_handshake_completed(ngtcp2_conn *tconn, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: cf_ngtcp2_err_is_fatal
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ngtcp2_err_is_fatal(int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ccerr_set_tls_alert
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:579,1
    - Dst: ngtcp2_conn_get_tls_alert
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:580,1
    - Dst: ngtcp2_ccerr_set_liberr
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:584,1
    - Dst: cf_ngtcp2_err_is_fatal
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:587,1
    - Dst: cf_ngtcp2_conn_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - code
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: cf_ngtcp2_err_set
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ccerr_set_tls_alert
    - cf_ngtcp2_conn_close
    - ngtcp2_conn_get_tls_alert
    - cf_ngtcp2_err_is_fatal
    - ngtcp2_ccerr_set_liberr
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_err_set(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data, int code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: cf_ngtcp2_h3_err_is_fatal
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ngtcp2_h3_err_is_fatal(int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:602,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:603,1
    - Dst: cf_ngtcp2_h3_err_is_fatal
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:605,1
    - Dst: cf_ngtcp2_conn_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - code
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: cf_ngtcp2_h3_err_set
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - cf_ngtcp2_conn_close
    - nghttp3_err_infer_quic_app_error_code
    - cf_ngtcp2_h3_err_is_fatal
    - ngtcp2_ccerr_set_application_error
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_h3_err_set(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data, int code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_read_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:624,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:626,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:628,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:631,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:633,1
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:643,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - tconn
    - flags
    - sid
    - offset
    - buf
    - buflen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 647
    functionName: cb_recv_stream_data
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_extend_max_offset
    - CURL_TRC_CF
    - ngtcp2_conn_extend_max_stream_offset
    - CF_DATA_CURRENT
    - nghttp3_conn_read_stream
    - H3_STREAM_CTX
    linkageType: ''
    returnType: int
    signature: "int cb_recv_stream_data(ngtcp2_conn *tconn, uint32_t flags,\n                               int64_t
      sid, uint64_t offset,\n                               const uint8_t *buf, size_t
      buflen,\n                               void *user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tconn
    - stream_id
    - offset
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 669
    functionName: cb_acked_stream_data_offset
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_add_ack_offset
    linkageType: ''
    returnType: int
    signature: "int cb_acked_stream_data_offset(ngtcp2_conn *tconn, int64_t stream_id,\n
      \                           uint64_t offset, uint64_t datalen, void *user_data,\n
      \                           void *stream_user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:684,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:692,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:693,1
    - Dst: cf_ngtcp2_h3_err_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - tconn
    - flags
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 702
    functionName: cb_stream_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - nghttp3_conn_close_stream
    - CURL_TRC_CF
    - cf_ngtcp2_h3_err_set
    linkageType: ''
    returnType: int
    signature: "int cb_stream_close(ngtcp2_conn *tconn, uint32_t flags,\n                           int64_t
      sid, uint64_t app_error_code,\n                           void *user_data, void
      *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:718,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tconn
    - sid
    - final_size
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 725
    functionName: cb_stream_reset
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_shutdown_stream_read
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_stream_reset(ngtcp2_conn *tconn, int64_t sid,\n                           uint64_t
      final_size, uint64_t app_error_code,\n                           void *user_data,
      void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - tconn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 744
    functionName: cb_stream_stop_sending
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: "int cb_stream_stop_sending(ngtcp2_conn *tconn, int64_t stream_id,\n
      \                                 uint64_t app_error_code, void *user_data,\n
      \                                 void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:752,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tconn
    - max_streams
    - user_data
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 761
    functionName: cb_extend_max_local_streams_bidi
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_extend_max_local_streams_bidi(ngtcp2_conn *tconn,\n                                            uint64_t
      max_streams,\n                                            void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:775,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:779,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:781,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - tconn
    - stream_id
    - max_data
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 787
    functionName: cb_extend_max_stream_data
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_multi_mark_dirty
    - nghttp3_conn_unblock_stream
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_extend_max_stream_data(ngtcp2_conn *tconn, int64_t stream_id,\n
      \                                    uint64_t max_data, void *user_data,\n                                     void
      *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:795,1
    - Dst: memset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - destlen
    - rand_ctx
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_rand_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 801
    functionName: cb_rand
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - memset
    linkageType: ''
    returnType: void
    signature: "void cb_rand(uint8_t *dest, size_t destlen,\n                    const
      ngtcp2_rand_ctx *rand_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:811,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tconn
    - cid
    - token
    - cidlen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 821
    functionName: cb_get_new_connection_id
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    linkageType: ''
    returnType: int
    signature: "int cb_get_new_connection_id(ngtcp2_conn *tconn, ngtcp2_cid *cid,\n
      \                                   uint8_t *token, size_t cidlen,\n                                    void
      *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:828,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:834,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:835,1
    - Dst: init_ngh3_conn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - tconn
    - level
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 841
    functionName: cb_recv_rx_key
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - init_ngh3_conn
    - CF_DATA_CURRENT
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int cb_recv_rx_key(ngtcp2_conn *tconn, ngtcp2_encryption_level level,\n
      \                         void *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:914,1
    - Dst: pktx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:918,1
    - Dst: ngtcp2_conn_get_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:921,1
    - Dst: ngtcp2_conn_handle_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:925,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:927,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:928,1
    - Dst: cf_ngtcp2_err_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:929,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:932,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:935,1
    - Dst: ngtcp2_conn_get_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:939,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 905
    functionDepth: 7
    functionLinenumber: 905
    functionLinenumberEnd: 952
    functionName: check_and_set_expiry
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 3
    functionsReached:
    - ngtcp2_conn_handle_expiry
    - failf
    - Curl_expire
    - ngtcp2_conn_get_expiry
    - pktx_init
    - cf_ngtcp2_err_set
    - ngtcp2_strerror
    - cf_progress_ingress
    - cf_progress_egress
    - pktx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode check_and_set_expiry(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct pkt_io_ctx *pktx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_check
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:965,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:966,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:970,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:974,1
    - Dst: ngtcp2_conn_get_cwnd_left
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:975,1
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:976,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:981,1
    - Dst: Curl_pollset_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:983,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:984,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 987
    functionName: cf_ngtcp2_adjust_pollset
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - ngtcp2_conn_get_cwnd_left
    - Curl_bufq_is_empty
    - Curl_pollset_set
    - Curl_pollset_check
    - CF_DATA_RESTORE
    - H3_STREAM_CTX
    - ngtcp2_conn_get_max_data_left
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:997,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1010,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1014,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1018
    functionName: cb_h3_stream_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stream_close(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1032,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1037
    functionName: h3_xfer_write_resp_hd
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_write_resp_hd
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void h3_xfer_write_resp_hd(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h3_stream_ctx *stream,\n
      \                                 const char *buf, size_t blen, bool eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1051,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1058
    functionName: h3_xfer_write_resp
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_xfer_write_resp
    linkageType: ''
    returnType: void
    signature: "void h3_xfer_write_resp(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h3_stream_ctx *stream,\n
      \                              const char *buf, size_t blen, bool eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1067,1
    - Dst: h3_xfer_write_resp
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1075,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1077,1
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1079,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1080,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - conn
    - stream3_id
    - buf
    - blen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1060
    functionDepth: 3
    functionLinenumber: 1060
    functionLinenumberEnd: 1084
    functionName: cb_h3_recv_data
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_extend_max_offset
    - H3_STREAM_CTX
    - CURL_TRC_CF
    - ngtcp2_conn_extend_max_stream_offset
    - h3_xfer_write_resp
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream3_id,\n                           const
      uint8_t *buf, size_t blen,\n                           void *user_data, void
      *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1097,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - conn
    - stream3_id
    - consumed
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1100
    functionName: cb_h3_deferred_consume
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_extend_max_offset
    - ngtcp2_conn_extend_max_stream_offset
    linkageType: ''
    returnType: int
    signature: "int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream3_id,\n
      \                                 size_t consumed, void *user_data,\n                                  void
      *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1109,1
    - Dst: h3_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1118,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1118,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1120,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - conn
    - sid
    - fin
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1102
    functionDepth: 4
    functionLinenumber: 1102
    functionLinenumberEnd: 1127
    functionName: cb_h3_end_headers
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_multi_mark_dirty
    - h3_xfer_write_resp_hd
    - STRCONST
    - H3_STREAM_CTX
    linkageType: ''
    returnType: int
    signature: "int cb_h3_end_headers(nghttp3_conn *conn, int64_t sid,\n                             int
      fin, void *user_data, void *stream_user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1137,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1138,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1140,1
    - Dst: Curl_http_decode_status
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1154,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1158,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1159,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1159,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1161,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1164,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1164,1
    - Dst: h3_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1166,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1166,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1167,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1168,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1169,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1176,1
    - Dst: curlx_dyn_reset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1179,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1180,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1183,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1183,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1185,1
    - Dst: curlx_dyn_addn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1188,1
    - Dst: STRCONST
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1188,1
    - Dst: h3_xfer_write_resp_hd
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1190,1
    - Dst: curlx_dyn_ptr
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1190,1
    - Dst: curlx_dyn_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 8
    argNames:
    - conn
    - sid
    - token
    - name
    - value
    - flags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1194
    functionName: cb_h3_recv_header
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - CURL_TRC_CF
    - nghttp3_rcbuf_get_buf
    - h3_xfer_write_resp_hd
    - STRCONST
    - curlx_dyn_reset
    - curlx_dyn_len
    - H3_STREAM_CTX
    - Curl_http_decode_status
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_header(nghttp3_conn *conn, int64_t sid,\n                             int32_t
      token, nghttp3_rcbuf *name,\n                             nghttp3_rcbuf *value,
      uint8_t flags,\n                             void *user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_shutdown_stream_read
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1213
    functionName: cb_h3_stop_sending
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stop_sending(nghttp3_conn *conn, int64_t stream_id,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_shutdown_stream_write
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1226,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1234
    functionName: cb_h3_reset_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_shutdown_stream_write
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_reset_stream(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_streams_uni_left
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1266,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1267,1
    - Dst: nghttp3_settings_default
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1271,1
    - Dst: nghttp3_conn_client_new
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1273,1
    - Dst: Curl_nghttp3_mem
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1276,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1279,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1283,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1285,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1286,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1290,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1292,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1293,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1297,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1299,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1300,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1304,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1306,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1307,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1311,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1314,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1320
    functionName: init_ngh3_conn
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - failf
    - nghttp3_settings_default
    - Curl_nghttp3_mem
    - nghttp3_conn_bind_qpack_streams
    - nghttp3_conn_client_new
    - ngtcp2_conn_open_uni_stream
    - ngtcp2_conn_get_streams_uni_left
    - ngtcp2_strerror
    - nghttp3_conn_bind_control_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_ngh3_conn(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1331,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1348
    functionName: recv_closed_stream
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - failf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recv_closed_stream(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h3_stream_ctx *stream,\n
      \                                 CURLcode *err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1355,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1363,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1364,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1365,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1366,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1367,1
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1376,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1383,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1389,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1390,1
    - Dst: recv_closed_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1395,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1403,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1403,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1404,1
    - Dst: check_and_set_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1404,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1406,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1408,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1351
    functionDepth: 5
    functionLinenumber: 1351
    functionLinenumberEnd: 1410
    functionName: cf_ngtcp2_recv
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_1st_err
    - CURL_TRC_CF
    - pktx_init
    - CF_DATA_RESTORE
    - cf_ngtcp2_stream_close
    - cf_progress_ingress
    - DEBUGASSERT
    - cf_progress_egress
    - check_and_set_expiry
    - H3_STREAM_CTX
    - recv_closed_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               char *buf, size_t blen, size_t *pnread)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1419,1
    - Dst: Curl_bufq_skip
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1432,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1436,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - conn
    - stream_id
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1412
    functionDepth: 4
    functionLinenumber: 1412
    functionLinenumberEnd: 1443
    functionName: cb_h3_acked_req_body
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_resume_stream
    - Curl_bufq_len
    - Curl_bufq_skip
    - H3_STREAM_CTX
    linkageType: ''
    returnType: int
    signature: "int cb_h3_acked_req_body(nghttp3_conn *conn, int64_t stream_id,\n
      \                               uint64_t datalen, void *user_data,\n                                void
      *stream_user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1454,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1472,1
    - Dst: Curl_bufq_peek_at
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1475,1
    - Dst: CURL_UNCONST
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1477,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1483,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1497,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1502,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - conn
    - stream_id
    - vec
    - veccnt
    - pflags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - nghttp3_vec*
    - size_t
    - uint32_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1445
    functionDepth: 3
    functionLinenumber: 1445
    functionLinenumberEnd: 1509
    functionName: cb_h3_read_req_body
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - CURL_UNCONST
    - Curl_bufq_len
    - Curl_bufq_peek_at
    - DEBUGASSERT
    - H3_STREAM_CTX
    linkageType: ''
    returnType: nghttp3_ssize
    signature: "nghttp3_ssize cb_h3_read_req_body(nghttp3_conn *conn, int64_t stream_id,\n
      \                   nghttp3_vec *vec, size_t veccnt,\n                    uint32_t
      *pflags, void *user_data,\n                    void *stream_user_data)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1530,1
    - Dst: h3_data_setup
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1532,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1535,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1536,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1542,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1551,1
    - Dst: Curl_http_req_to_h2
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1553,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1558,1
    - Dst: Curl_dynhds_count
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1560,1
    - Dst: malloc
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1561,1
    - Dst: Curl_dynhds_getn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1568,1
    - Dst: ngtcp2_conn_open_bidi_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1576,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1578,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1609,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1614,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1618,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1619,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1622,1
    - Dst: Curl_trc_is_verbose
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1627,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1628,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1631,1
    - Dst: free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1638,1
    - Dst: Curl_dynhds_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1639,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1511
    functionDepth: 5
    functionLinenumber: 1511
    functionLinenumberEnd: 1641
    functionName: h3_stream_open
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_h1_req_parse_read
    - ngtcp2_conn_open_bidi_stream
    - Curl_dynhds_getn
    - Curl_dynhds_count
    - infof
    - Curl_trc_is_verbose
    - Curl_dynhds_free
    - nghttp3_conn_submit_request
    - Curl_h1_req_parse_free
    - nghttp3_strerror
    - DEBUGASSERT
    - Curl_http_req_to_h2
    - free
    - Curl_dynhds_init
    - cf_ngtcp2_stream_close
    - h3_data_setup
    - malloc
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_stream_open(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const void *buf, size_t len,\n
      \                              size_t *pnwritten)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1648,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1653,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1654,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1655,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1656,1
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1657,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1667,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1673,1
    - Dst: h3_stream_open
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1677,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1679,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1682,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1685,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1686,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1697,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1703,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1709,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1714,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1715,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1720,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1726,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1727,1
    - Dst: Curl_1st_err
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1730,1
    - Dst: check_and_set_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1730,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1732,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1734,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1643
    functionDepth: 5
    functionLinenumber: 1643
    functionLinenumberEnd: 1736
    functionName: cf_ngtcp2_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - Curl_1st_err
    - CURL_TRC_CF
    - pktx_init
    - CF_DATA_RESTORE
    - cf_ngtcp2_stream_close
    - cf_progress_ingress
    - h3_stream_open
    - DEBUGASSERT
    - cf_progress_egress
    - nghttp3_conn_resume_stream
    - check_and_set_expiry
    - H3_STREAM_CTX
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               const void *buf, size_t len, bool eos,\n
      \                              size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1752,1
    - Dst: ngtcp2_addr_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1754,1
    - Dst: ngtcp2_addr_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1756,1
    - Dst: ngtcp2_conn_read_pkt
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1762,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1765,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1766,1
    - Dst: cf_ngtcp2_err_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - buf
    - buflen
    - gso_size
    - remote_addr
    - remote_addrlen
    - ecn
    - userp
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - struct sockaddr_storage*
    - socklen_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1738
    functionDepth: 2
    functionLinenumber: 1738
    functionLinenumberEnd: 1777
    functionName: cf_ngtcp2_recv_pkts
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_addr_init
    - CURL_TRC_CF
    - ngtcp2_conn_read_pkt
    - cf_ngtcp2_err_set
    - ngtcp2_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_recv_pkts(const unsigned char *buf, size_t buflen,\n
      \                                   size_t gso_size,\n                                    struct
      sockaddr_storage *remote_addr,\n                                    socklen_t
      remote_addrlen, int ecn,\n                                    void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1788,1
    - Dst: pktx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1792,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1793,1
    - Dst: Curl_vquic_tls_before_recv
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1796,1
    - Dst: vquic_recv_packets
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1779
    functionDepth: 7
    functionLinenumber: 1779
    functionLinenumberEnd: 1802
    functionName: cf_progress_ingress
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 7
    functionsReached:
    - ngtcp2_path_storage_zero
    - vquic_recv_packets
    - pktx_init
    - Curl_vquic_tls_before_recv
    - pktx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_ingress(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct pkt_io_ctx *pktx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1836,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1837,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1838,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1840,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1841,1
    - Dst: cf_ngtcp2_h3_err_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1842,1
    - Dst: ngtcp2_conn_writev_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1849,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1861,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1862,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1863,1
    - Dst: cf_ngtcp2_get_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1865,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1872,1
    - Dst: nghttp3_conn_shutdown_stream_write
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1873,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1879,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1883,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1884,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1885,1
    - Dst: cf_ngtcp2_err_set
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1886,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1893,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1895,1
    - Dst: nghttp3_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1896,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 4
    argNames:
    - userp
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1808
    functionDepth: 4
    functionLinenumber: 1808
    functionLinenumberEnd: 1907
    functionName: read_pkt_to_send
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_writev_stream
    - nghttp3_conn_add_write_offset
    - failf
    - CURL_TRC_CF
    - nghttp3_conn_shutdown_stream_write
    - cf_ngtcp2_err_set
    - cf_ngtcp2_h3_err_set
    - CURL_ARRAYSIZE
    - nghttp3_strerror
    - ngtcp2_conn_writev_stream
    - ngtcp2_strerror
    - DEBUGASSERT
    - cf_ngtcp2_get_stream
    - nghttp3_conn_block_stream
    - ngtcp2_conn_get_max_data_left
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode read_pkt_to_send(void *userp,\n                                 unsigned
      char *buf, size_t buflen,\n                                 size_t *pnread)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1923,1
    - Dst: pktx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1927,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1928,1
    - Dst: vquic_flush
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1931,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1934,1
    - Dst: ngtcp2_conn_get_max_tx_udp_payload_size
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1951,1
    - Dst: ngtcp2_conn_get_path_max_tx_udp_payload_size
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1953,1
    - Dst: ngtcp2_conn_get_send_quantum
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1954,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1955,1
    - Dst: Curl_bufq_sipn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1959,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1966,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1970,1
    - Dst: vquic_send_tail_split
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1982,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:1986,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2002,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2004,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2005,1
    - Dst: vquic_send
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2006,1
    - Dst: Curl_expire
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2009,1
    - Dst: pktx_update_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2014,1
    - Dst: ngtcp2_conn_update_pkt_tx_time
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2015,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1909
    functionDepth: 7
    functionLinenumber: 1909
    functionLinenumberEnd: 2018
    functionName: cf_progress_egress
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 7
    functionsReached:
    - ngtcp2_path_storage_zero
    - Curl_expire
    - ngtcp2_conn_get_path_max_tx_udp_payload_size
    - ngtcp2_conn_get_send_quantum
    - CURL_TRC_CF
    - vquic_send_tail_split
    - pktx_init
    - Curl_bufq_is_empty
    - ngtcp2_conn_update_pkt_tx_time
    - Curl_bufq_sipn
    - vquic_flush
    - Curl_bufq_len
    - DEBUGASSERT
    - vquic_send
    - ngtcp2_conn_get_max_tx_udp_payload_size
    - pktx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_egress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct pkt_io_ctx *pktx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2020
    functionDepth: 2
    functionLinenumber: 2020
    functionLinenumberEnd: 2030
    functionName: h3_data_pause
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_pause(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool pause)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2040,1
    - Dst: h3_data_pause
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2047,1
    - Dst: h3_data_done
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2050,1
    - Dst: H3_STREAM_CTX
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2053,1
    - Dst: Curl_bufq_len
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2056,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2058,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2065,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2071,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2032
    functionDepth: 2
    functionLinenumber: 2032
    functionLinenumberEnd: 2073
    functionName: cf_ngtcp2_cntrl
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - h3_data_done
    - h3_data_pause
    - Curl_conn_set_multiplex
    - Curl_bufq_len
    - CF_DATA_RESTORE
    - nghttp3_conn_resume_stream
    - H3_STREAM_CTX
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_cntrl(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int event, int arg1, void
      *arg2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2082,1
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2085,1
    - Dst: vquic_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2086,1
    - Dst: nghttp3_conn_del
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2088,1
    - Dst: ngtcp2_conn_del
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2092,1
    - Dst: ngtcp2_crypto_ossl_ctx_del
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_ngtcp2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2075
    functionDepth: 3
    functionLinenumber: 2075
    functionLinenumberEnd: 2102
    functionName: cf_ngtcp2_ctx_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_free
    - Curl_vquic_tls_cleanup
    - ngtcp2_conn_del
    - nghttp3_conn_del
    - close
    - ngtcp2_crypto_ossl_ctx_del
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_ctx_close(struct cf_ngtcp2_ctx *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2117,1
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2119,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2125,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2126,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2127,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2128,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2129,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2134,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2140,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2140,1
    - Dst: ngtcp2_conn_write_connection_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2142,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2147,1
    - Dst: Curl_bufq_write
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2158,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2161,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2172,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2173,1
    - Dst: vquic_flush
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2174,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2176,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2181,1
    - Dst: Curl_bufq_is_empty
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2187,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2190,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2195,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2104
    functionDepth: 5
    functionLinenumber: 2104
    functionLinenumberEnd: 2197
    functionName: cf_ngtcp2_shutdown
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - ngtcp2_conn_write_connection_close
    - CURL_TRC_CF
    - pktx_init
    - Curl_bufq_is_empty
    - vquic_flush
    - DEBUGASSERT
    - cf_progress_egress
    - CF_DATA_RESTORE
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_shutdown(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data, bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_ngtcp2_shutdown
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2199
    functionDepth: 6
    functionLinenumber: 2199
    functionLinenumberEnd: 2204
    functionName: cf_ngtcp2_conn_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - cf_ngtcp2_shutdown
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_conn_close(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2211,1
    - Dst: cf_ngtcp2_conn_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2213,1
    - Dst: cf_ngtcp2_ctx_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2214,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2215,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2206
    functionDepth: 7
    functionLinenumber: 2206
    functionLinenumberEnd: 2219
    functionName: cf_ngtcp2_close
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - cf_ngtcp2_conn_close
    - cf_ngtcp2_ctx_close
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2223,1
    - Dst: cf_ngtcp2_close
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2225,1
    - Dst: cf_ngtcp2_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2221
    functionDepth: 8
    functionLinenumber: 2221
    functionLinenumberEnd: 2229
    functionName: cf_ngtcp2_destroy
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - cf_ngtcp2_ctx_free
    - cf_ngtcp2_close
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2242,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2245,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2253,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2256,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2257,1
    - Dst: Curl_ossl_add_session
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2263,1
    - Dst: SSL_version
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ssl
    - ssl_sessionid
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2235
    functionDepth: 11
    functionLinenumber: 2235
    functionLinenumberEnd: 2268
    functionName: quic_ossl_new_session_cb
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - SSL_get_app_data
    - CURL_TRC_CF
    - ngtcp2_conn_encode_0rtt_transport_params
    - ngtcp2_strerror
    - SSL_version
    - CF_DATA_CURRENT
    - Curl_ossl_add_session
    linkageType: ''
    returnType: int
    signature: int quic_ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - mtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2288
    functionName: gtls_hs_msg_name
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gtls_hs_msg_name(int mtype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2294,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2301,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2302,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2305,1
    - Dst: gtls_hs_msg_name
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2306,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2314,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2317,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2318,1
    - Dst: Curl_gtls_cache_session
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - session
    - htype
    - when
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2290
    functionDepth: 3
    functionLinenumber: 2290
    functionLinenumberEnd: 2332
    functionName: quic_gtls_handshake_cb
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    - CURL_TRC_CF
    - gtls_hs_msg_name
    - ngtcp2_conn_encode_0rtt_transport_params
    - ngtcp2_strerror
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_gtls_cache_session
    linkageType: ''
    returnType: int
    signature: "int quic_gtls_handshake_cb(gnutls_session_t session, unsigned int
      htype,\n                                  unsigned when, unsigned int incoming,\n
      \                                 const gnutls_datum_t *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_app_data
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2338,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2341,1
    - Dst: CF_DATA_CURRENT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2344,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2345,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2352,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2355,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2356,1
    - Dst: Curl_wssl_cache_session
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2361,1
    - Dst: wolfSSL_version
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - WOLFSSL*
    - WOLFSSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2336
    functionDepth: 3
    functionLinenumber: 2336
    functionLinenumberEnd: 2367
    functionName: wssl_quic_new_session_cb
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - wolfSSL_get_app_data
    - Curl_wssl_cache_session
    - ngtcp2_conn_encode_0rtt_transport_params
    - ngtcp2_strerror
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - wolfSSL_version
    linkageType: ''
    returnType: int
    signature: int wssl_quic_new_session_cb(WOLFSSL *ssl, WOLFSSL_SESSION *session)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_boringssl_configure_client_context
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2378,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2380,1
    - Dst: ngtcp2_crypto_quictls_configure_client_context
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2386,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2387,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2391,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2396,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2399,1
    - Dst: ngtcp2_crypto_gnutls_configure_client_session
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2403,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2404,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2407,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2408,1
    - Dst: ngtcp2_crypto_wolfssl_configure_client_context
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2414,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2415,1
    - Dst: Curl_ssl_scache_use
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2418,1
    - Dst: wolfSSL_CTX_sess_set_new_cb
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - cf
    - data
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2370
    functionDepth: 3
    functionLinenumber: 2370
    functionLinenumberEnd: 2424
    functionName: cf_ngtcp2_tls_ctx_setup
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_boringssl_configure_client_context
    - SSL_CTX_set_session_cache_mode
    - failf
    - ngtcp2_crypto_wolfssl_configure_client_context
    - Curl_ssl_scache_use
    - ngtcp2_crypto_quictls_configure_client_context
    - SSL_CTX_sess_set_new_cb
    - gnutls_handshake_set_hook_function
    - ngtcp2_crypto_gnutls_configure_client_session
    - wolfSSL_CTX_sess_set_new_cb
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_tls_ctx_setup(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2441,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2453,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2455,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2456,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2459,1
    - Dst: ngtcp2_conn_decode_and_set_0rtt_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2463,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2466,1
    - Dst: ngtcp2_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2467,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2469,1
    - Dst: init_ngh3_conn
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2426
    functionDepth: 2
    functionLinenumber: 2426
    functionLinenumberEnd: 2486
    functionName: cf_ngtcp2_on_session_reuse
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - init_ngh3_conn
    - Curl_alpn_contains_proto
    - ngtcp2_strerror
    - ngtcp2_conn_decode_and_set_0rtt_transport_params
    - gnutls_record_get_max_early_data_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_on_session_reuse(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct alpn_spec
      *alpns,\n                                           struct Curl_ssl_session
      *scs,\n                                           bool *do_early_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2503,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2505,1
    - Dst: Curl_rand
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2510,1
    - Dst: Curl_qlogdir
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2514,1
    - Dst: quic_settings
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2516,1
    - Dst: vquic_ctx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2518,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2522,1
    - Dst: getsockname
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2525,1
    - Dst: ngtcp2_addr_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2530,1
    - Dst: ngtcp2_addr_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2533,1
    - Dst: ngtcp2_conn_client_new
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2536,1
    - Dst: Curl_ngtcp2_mem
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2540,1
    - Dst: Curl_vquic_tls_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2547,1
    - Dst: ngtcp2_crypto_ossl_ctx_new
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2555,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2556,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2559,1
    - Dst: ngtcp2_crypto_ossl_configure_client_session
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2560,1
    - Dst: failf
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2561,1
    - Dst: SSL_set_quic_use_legacy_codepoint
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2565,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2566,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2568,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2570,1
    - Dst: ngtcp2_ccerr_default
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2575,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2491
    functionDepth: 8
    functionLinenumber: 2491
    functionLinenumberEnd: 2578
    functionName: cf_connect_start
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - ngtcp2_ccerr_default
    - vquic_ctx_init
    - ngtcp2_addr_init
    - failf
    - Curl_vquic_tls_init
    - ngtcp2_conn_set_tls_native_handle
    - SSL_set_quic_use_legacy_codepoint
    - Curl_cf_socket_peek
    - getsockname
    - ngtcp2_conn_client_new
    - DEBUGASSERT
    - Curl_qlogdir
    - Curl_ngtcp2_mem
    - ngtcp2_crypto_ossl_configure_client_session
    - ngtcp2_crypto_ossl_ctx_new
    - quic_settings
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_connect_start(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct pkt_io_ctx *pktx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2597,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2603,1
    - Dst: pktx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2604,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2606,1
    - Dst: cf_connect_start
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2610,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2617,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2622,1
    - Dst: cf_progress_egress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2626,1
    - Dst: ngtcp2_conn_get_handshake_completed
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2630,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2633,1
    - Dst: connkeep
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2636,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2642,1
    - Dst: ngtcp2_conn_get_ccerr
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2643,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2647,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2652,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2656,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2660,1
    - Dst: Curl_cf_socket_peek
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2674,1
    - Dst: infof
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2675,1
    - Dst: curl_easy_strerror
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2676,1
    - Dst: check_and_set_expiry
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2680,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2683,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2684,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2580
    functionDepth: 9
    functionLinenumber: 2580
    functionLinenumberEnd: 2686
    functionName: cf_ngtcp2_connect
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - infof
    - ngtcp2_conn_get_handshake_completed
    - CURL_TRC_CF
    - connkeep
    - curlx_now
    - cf_connect_start
    - ngtcp2_conn_get_ccerr
    - pktx_init
    - ngtcp2_conn_in_draining_period
    - Curl_conn_cf_connect
    - Curl_cf_socket_peek
    - cf_progress_ingress
    - curl_easy_strerror
    - cf_progress_egress
    - CF_DATA_RESTORE
    - check_and_set_expiry
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_connect(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool *done)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2697,1
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2698,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2708,1
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2715,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2716,1
    - Dst: CONN_ATTACHED
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2718,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2719,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2724,1
    - Dst: Curl_vquic_tls_get_ssl_info
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2748,1
    - Dst: DEBUGASSERT
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2755,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2763,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2688
    functionDepth: 2
    functionLinenumber: 2688
    functionLinenumberEnd: 2765
    functionName: cf_ngtcp2_query
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - CONN_ATTACHED
    - curlx_timediff
    - DEBUGASSERT
    - CF_DATA_RESTORE
    - struct Curl_cfilter*::next::cft::query
    - Curl_vquic_tls_get_ssl_info
    - Curl_multi_max_concurrent_streams
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_query(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int query, int *pres1, void
      *pres2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2776,1
    - Dst: ngtcp2_conn_get_remote_transport_params
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2783,1
    - Dst: curlx_timediff
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2785,1
    - Dst: curlx_now
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2785,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2794,1
    - Dst: cf_progress_ingress
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2804,1
    - Dst: CURL_TRC_CF
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2805,1
    - Dst: CF_DATA_RESTORE
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2810,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2767
    functionDepth: 2
    functionLinenumber: 2767
    functionLinenumberEnd: 2812
    functionName: cf_ngtcp2_conn_is_alive
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_SAVE
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::is_alive
    - curlx_now
    - ngtcp2_conn_get_remote_transport_params
    - curlx_timediff
    - cf_progress_ingress
    - CF_DATA_RESTORE
    linkageType: ''
    returnType: bool
    signature: "bool cf_ngtcp2_conn_is_alive(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *input_pending)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2842,1
    - Dst: cf_ngtcp2_ctx_init
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2847,1
    - Dst: Curl_cf_create
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2849,1
    - Dst: Curl_cf_udp_create
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2854,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2864,1
    - Dst: cf_ngtcp2_ctx_free
      Src: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c:2866,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pcf
    - data
    - conn
    - ai
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2832
    functionDepth: 6
    functionLinenumber: 2832
    functionLinenumberEnd: 2869
    functionName: Curl_cf_ngtcp2_create
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - Curl_conn_cf_discard_chain
    - cf_ngtcp2_ctx_init
    - cf_ngtcp2_ctx_free
    - Curl_cf_udp_create
    - Curl_cf_create
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_ngtcp2_create(struct Curl_cfilter **pcf,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              const struct Curl_addrinfo *ai)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2885
    functionName: Curl_conn_is_ngtcp2
    functionSourceFile: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_ngtcp2(const struct Curl_easy *data,\n                         const
      struct connectdata *conn,\n                         int sockindex)"
Fuzzer filename: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- gnutls/crypto.h
- openssl/ssl.h
- proj/internal/lru_cache.hpp
- socketpair.h
- ../vauth/vauth.h
- warnless.h
- proj/coordinateoperation.hpp
- qadrt.h
- ../curl_sha512_256.h
- llist.h
- wolfssl/error-ssl.h
- clocale
- cmath
- openssl/bn.h
- proto/dos.h
- netinet/udp.h
- nettle/md5.h
- tif_jpeg.c
- math.h
- os400sys.h
- tif_ovrcache.h
- tool_cfgable.h
- wkt_parser.hpp
- wkt1_parser.h
- lzma.h
- gssapi/gssapi_alloc.h
- mbedtls/psa_util.h
- proj/io.hpp
- vtls/cipher_suite.h
- vtls/vtls_scache.h
- proj/internal/coordinatesystem_internal.hpp
- rpc.h
- curl_sspi.h
- nghttp3/nghttp3.h
- tif_dir.h
- cshutdn.h
- proj/common.hpp
- tif_hash_set.h
- webp/decode.h
- ../curl_gethostname.h
- tool_cb_wrt.h
- dos.h
- test_primitives.hpp
- memory
- ../curlx/timeval.h
- openssl/md5.h
- sys/resource.h
- list
- ../curl_trc.h
- ev.h
- uv.h
- tiffiop.h
- tool_xattr.h
- sys/mman.h
- openssl/err.h
- Iphlpapi.h
- ../formdata.h
- ../vtls/vtls.h
- ../vtls/keylog.h
- exec/types.h
- xtiffio.h
- shlobj.h
- curl_addrinfo.h
- proj_strtod.h
- curl_setup_once.h
- curl_get_line.h
- curl_fopen.h
- curl/multi.h
- ctype.h
- X11/Xproto.h
- security.h
- PROJ_DB_SQL_MD5.h
- tidy/tidy.h
- cw-pause.h
- vquic_int.h
- tinshift_json_impl.hpp
- setup-win32.h
- curl_hmac.h
- mbedtls/error.h
- httpsrr.h
- xtiffiop.h
- ares.h
- rasterfile.h
- tif_fax3.h
- curlx/version_win32.h
- ftp.h
- Security/Security.h
- valarray
- unixlib.h
- milib.h
- http_digest.h
- curlx/nonblock.h
- istream
- vssh/ssh.h
- ccsidcurl.h
- openssl/core_names.h
- mbedtls/des.h
- openssl/tls1.h
- share.h
- multiif.h
- defmodel_exceptions.hpp
- tool_writeout.h
- tiff.h
- ../cf-socket.h
- urlapi.h
- stsdef.h
- cstdio
- stdlib.h
- GLUT/glut.h
- openssl/dh.h
- libssh2_sftp.h
- iostream
- openssl/x509.h
- ngtcp2/ngtcp2.h
- wait.h
- ifaddrs.h
- proj/internal/datum_internal.hpp
- descrip
- iostream.h
- setup-vms.h
- mbedtls/net_sockets.h
- curl_sha512_256.h
- apr_want.h
- unitprotos.h
- sys/sockio.h
- vendor/nlohmann/json.hpp
- tool_version.h
- winerror.h
- geod_interface.h
- hostip.h
- vtls_spack.h
- uint-hash.h
- testutil.h
- sqlite3.h
- GL/gl.h
- curlx/timediff.h
- curlx/timeval.h
- commdlg.h
- setup-os400.h
- tif_imageiter.h
- fopen.h
- proj_experimental.h
- file.h
- config-plan9.h
- quadtree.hpp
- ../curlx/inet_pton.h
- amigaos.h
- fnmatch.h
- http_log.h
- pj_list.h
- system_win32.h
- iosfwd
- libdeflate.h
- sys/epoll.h
- typecheck-gcc.h
- tool_operate.h
- x509asn1.h
- tiffstream.h
- openssl/ui.h
- tiffio.hxx
- mbedtls/version.h
- bsdsocket/socketbasetags.h
- memdebug.h
- curl_printf.h
- curl_config.h
- nettle/des.h
- proj/coordinates.hpp
- coordinateoperation_internal.hpp
- wolfssl/ssl.h
- curl_path.h
- tool_cb_soc.h
- zstd.h
- stdexcept
- curl_mem_undef.h
- schnlsp.h
- operationmethod_private.hpp
- functional
- tinshift_json.hpp
- tool_parsecfg.h
- ../curl_ctype.h
- malloc.h
- assert.h
- cf-ip-happy.h
- proj/internal/io_internal.hpp
- wolfssl/openssl/ssl.h
- extra/strdup.h
- idn2.h
- wolfssl/quic.h
- tool_cb_rea.h
- config-win32.h
- parsedate.h
- operation/oputils.hpp
- defmodel.hpp
- base64.h
- version_win32.h
- openssl.h
- rand.h
- ../escape.h
- Lerc_c_api.h
- numeric
- curlmsg.h
- pwd.h
- LIBJPEG_12_PATH
- tool_libinfo.h
- sys/extattr.h
- proto/bsdsocket.h
- ../curlx/base64.h
- gnutls/abstract.h
- sys/ioctl.h
- ../strdup.h
- tool_ipfs.h
- libpsl.h
- TiffLib/tiffio.h
- ../curl_hmac.h
- xtifficon.h
- utility
- setopt.h
- cstdint
- easyoptions.h
- apr_strings.h
- arpa_telnet.h
- tool_operhlp.h
- tool_getparam.h
- vtls/x509asn1.h
- tidy/tidybuffio.h
- ../http.h
- curl_memory.h
- webp/encode.h
- speedcheck.h
- curlx/strparse.h
- brotli/decode.h
- psa/crypto_config.h
- keylog.h
- var.h
- cstddef
- tool_paramhlp.h
- windowsx.h
- curlx/multibyte.h
- curlx/strerr.h
- mutex
- socks.h
- tiffio.h
- stdio.h
- ../progress.h
- proj/metadata.hpp
- cf-haproxy.h
- strcase.h
- io.hpp
- miptrnam.h
- defmodel_impl.hpp
- openssl/store.h
- sys/utime.h
- stdbool.h
- openssl/rand.h
- locale.h
- memory.h
- curl_threads.h
- _mingw.h
- tool_main.h
- bufq.h
- proj_config.h
- curl_gethostname.h
- libssh2.h
- curl_md4.h
- sys/un.h
- coordinateoperation.hpp
- curl/curl.h
- curlx/winapi.h
- mbedtls/ctr_drbg.h
- coordinatesystem.hpp
- urlapi-int.h
- mach-o/dyld.h
- apr_cstr.h
- tool_msgs.h
- openssl/ocsp.h
- if2ip.h
- operation/esriparammappings.hpp
- openssl/opensslv.h
- sys/select.h
- memvfs.h
- wincrypt.h
- expat.h
- complex
- openssl/md4.h
- functypes.h
- curlx/wait.h
- ../curlx/version_win32.h
- mprintf.h
- arpa/inet.h
- tool_formparse.h
- sys/time.h
- sys/socket.h
- altsvc.h
- strings.h
- tif_predict.h
- ../hash.h
- ../sendf.h
- easyif.h
- proj.h
- tool_filetime.h
- poll.h
- content_encoding.h
- gss.h
- vtls/vtls.h
- hash.h
- libssh/libssh.h
- lwip/init.h
- ../parsedate.h
- sys/param.h
- metadata.hpp
- ../curlx/wait.h
- ../vtls/vtls_scache.h
- tool_vms.h
- event2/event.h
- tool_getpass.h
- ../system_win32.h
- crs.hpp
- conncache.h
- ../multiif.h
- X11/keysymdef.h
- config-mac.h
- sys/xattr.h
- escape.h
- X11/Xaw/Form.h
- tool_progress.h
- ../curl_sasl.h
- vectorofvaluesparams.hpp
- X11/Xaw/Label.h
- libintl.h
- descrip.h
- libxml/uri.h
- sspi.h
- macos.h
- ../setopt.h
- ngtcp2/ngtcp2_crypto_ossl.h
- starlet
- tool_hugehelp.h
- ngtcp2/ngtcp2_crypto_gnutls.h
- curlver.h
- digest.h
- ../transfer.h
- fabdef.h
- cf-socket.h
- sys/poll.h
- urldata.h
- util.hpp
- hostcheck.h
- vquic.h
- tool_setopt.h
- curl_fnmatch.h
- netinet/in6.h
- tool_setup.h
- curl/curlver.h
- ../vtls/wolfssl.h
- CommonCrypto/CommonDigest.h
- connect.h
- inet_pton.h
- http_negotiate.h
- utils.h
- stropts.h
- tcp.h
- StdAfx.h
- ngtcp2/ngtcp2_crypto.h
- tool_stderr.h
- netinet/in.h
- tool_cb_dbg.h
- iconv.h
- wkt2_generated_parser.h
- ostream
- tool_cb_hdr.h
- vssh/curl_path.h
- wolfssl/version.h
- ../curlx/strerr.h
- tftp.h
- websockets.h
- select.h
- multi_ev.h
- cctype
- gsasl.h
- mach/mach_time.h
- file_embed/proj_db.h
- optargpm.h
- http_proxy.h
- asyn.h
- ../curlx/winapi.h
- progress.h
- ngtcp2/ngtcp2_crypto_quictls.h
- geodesic.h
- mbedtls.h
- gtest_include.h
- openssl/ech.h
- setjmp.h
- wkt1_generated_parser.h
- libport.h
- jerror.h
- slist.h
- timeval.h
- ../vtls/openssl.h
- sys/cdefs.h
- proj_symbol_rename.h
- array
- tool_util.h
- wchar.h
- ../curlx/warnless.h
- net/if.h
- winapi.h
- curl/stdcheaders.h
- multibyte.h
- curl/urlapi.h
- curlx/curlx.h
- gnutls/x509.h
- ../curl_ntlm_core.h
- curlx/dynbuf.h
- amitcp/socketbasetags.h
- tif_config.h
- windows.h
- X11/Xaw/List.h
- sockaddr.h
- wolfssl/openssl/des.h
- nghttp2/nghttp2.h
- ../urldata.h
- optional
- cfilters.h
- wkt2_parser.h
- strerror.h
- psa/crypto.h
- openssl/rsa.h
- exec/execbase.h
- pingpong.h
- testtrace.h
- tool_ssls.h
- openssl/conf.h
- curl_md5.h
- openssl/pkcs12.h
- http.h
- mbedtls/entropy.h
- tool_urlglob.h
- timediff.h
- langinfo.h
- winber.h
- vauth.h
- curlmsg_vms.h
- terminal.h
- tlhelp32.h
- apr_optional_hooks.h
- wolfssl/openssl/md4.h
- openssl/engine.h
- rustls.h
- openssl/evp.h
- proj/internal/include_nlohmann_json.hpp
- dynhds.h
- limits.h
- tool_doswin.h
- gnutls/ocsp.h
- ssh.h
- nn.hpp
- curl_ctype.h
- time.h
- extra/stricmp.h
- string
- ctime
- ../strerror.h
- curl_ldap.h
- mbedtls/debug.h
- tool_helpers.h
- sendf.h
- unitcheck.h
- mime.h
- openssl/crypto.h
- ConditionalMacros.h
- gskssl.h
- unicode/uidna.h
- proto/exec.h
- ../curl_printf.h
- ../llist.h
- stdarg.h
- transfer.h
- tool_writeout_json.h
- iomanip
- ftplistparser.h
- glib.h
- utime.h
- direct.h
- sys/timeb.h
- ../bufref.h
- emscripten/fetch.h
- noproxy.h
- fileinfo.h
- librtmp/rtmp.h
- proj/crs.hpp
- http_aws_sigv4.h
- stdint.h
- multihandle.h
- sigpipe.h
- mbedtls_threadlock.h
- openssl/dsa.h
- transformations/defmodel.hpp
- map
- netinet/tcp.h
- alloca.h
- proj/coordinatesystem.hpp
- cstring
- rename.h
- filemanager.hpp
- X11/Xatom.h
- sqlite3_utils.hpp
- qsoasync.h
- uvcode.h
- in.h
- smtp.h
- vtls_int.h
- file_embed/embedded_resources.c
- curl_ngtcp2.h
- floss.h
- sys/wait.h
- telnet.h
- nonblock.h
- ../speedcheck.h
- io.h
- ngtcp2/ngtcp2_crypto_wolfssl.h
- grids.hpp
- event2/event_struct.h
- sstream
- iterator
- stack
- linux/tcp.h
- schannel_int.h
- diblib.h
- errno.h
- first.h
- nettle/md4.h
- vtls_scache.h
- ldap.h
- type_traits
- proj_internal.h
- sys/timerfd.h
- rtsp.h
- gopher.h
- datum.hpp
- gtest/gtest.h
- strerr.h
- X11/Shell.h
- http_request.h
- cassert
- ../curl_memory.h
- proj/datum.hpp
- getinfo.h
- curlx/inet_pton.h
- http_ntlm.h
- nlohmann/json.hpp
- mbedtls/x509.h
- curl_sasl.h
- tuple
- pixrect/pixrect_hs.h
- operation/coordinateoperation_internal.hpp
- openssl/des.h
- pop3.h
- vtls/hostcheck.h
- ../curl_setup.h
- tool_bname.h
- algorithm
- ../vtls/gtls.h
- iodef
- lnmdef.h
- config-riscos.h
- http2.h
- test_arrays.h
- lber.h
- openssl/opensslconf.h
- gssapi.h
- proj/internal/crs_internal.hpp
- tool_easysrc.h
- bufref.h
- libxml/HTMLparser.h
- ../curlx/fopen.h
- vquic/vquic.h
- ../http1.h
- ../curl_sha256.h
- ../vtls/vtls_int.h
- header.h
- gtk/gtk.h
- emmintrin.h
- http_chunks.h
- uint-spbset.h
- openssl/bio.h
- tool_help.h
- exception
- wolfssl/openssl/rand.h
- ../curl_memrchr.h
- tool_strdup.h
- tool_dirhie.h
- apps/projapps_lib.h
- curl_range.h
- wolfssl/openssl/md5.h
- ../strcase.h
- operation/parammappings.hpp
- strparse.h
- curl_ntlm_core.h
- ../share.h
- curl/mprintf.h
- curl_setup.h
- cf-h1-proxy.h
- multi_ntfy.h
- ../hostip.h
- ../slist.h
- curl_sha256.h
- coordinateoperation_private.hpp
- proj/internal/tracing.hpp
- gtls.h
- inttypes.h
- unordered_map
- vector
- binmode.h
- jbig.h
- curlx/warnless.h
- bcrypt.h
- openssl/buffer.h
- vquic-tls.h
- curl_osslq.h
- easy_lock.h
- sys/stat.h
- ../curlx/multibyte.h
- gnutls/gnutls.h
- emess.h
- t4.h
- formdata.h
- ../memdebug.h
- httpd.h
- stabs.h
- ../curlx/dynbuf.h
- ws2tcpip.h
- mbedtls/ssl.h
- tchar.h
- X11/cursorfont.h
- tool_findfile.h
- lwip/sockets.h
- SystemConfiguration/SCDynamicStoreCopySpecific.h
- gssapi/gssapi.h
- ../uint-hash.h
- gl/image.h
- openssl/provider.h
- openssl/pem.h
- curl_rtmp.h
- nettle/sha.h
- wolfssl.h
- libgen.h
- config-os400.h
- ../bufq.h
- jpeglib.h
- termio.h
- signal.h
- http1.h
- TiffLib/tiff.h
- slist_wc.h
- libxml/xpath.h
- winldap.h
- GL/glut.h
- cf-h2-proxy.h
- libssh/sftp.h
- fcntl.h
- tifftest.h
- string.h
- dlfcn.h
- schannel.h
- ../curl_md5.h
- wolfssl/options.h
- imap.h
- lwip/netdb.h
- curl_trc.h
- float.h
- common.hpp
- transformations/tinshift_json.hpp
- vauth/vauth.h
- inet_ntop.h
- embedded_resources.h
- OpenGL/gl.h
- ../curl_endian.h
- tiffvers.h
- TargetConditionals.h
- oputils.hpp
- cipher_suite.h
- ../cfilters.h
- X11/Intrinsic.h
- locale
- uint-table.h
- tool_cb_see.h
- limits
- set
- gl.h
- curlx/fopen.h
- splay.h
- ../curl_gssapi.h
- X11/StringDefs.h
- ../url.h
- curlx/base64.h
- apr_optional.h
- proj/util.hpp
- sys/filio.h
- sched.h
- proj_json_streaming_writer.hpp
- config2setopts.h
- options.h
- sys/sysctl.h
- tool_cb_prg.h
- uint-bset.h
- fake_addrinfo.h
- ares_version.h
- new
- curl.h
- dict.h
- zlib.h
- tinshift_iface.hpp
- cstdarg
- iphlpapi.h
- quiche.h
- mqtt.h
- ios
- winapifamily.h
- cf-https-connect.h
- nettle/sha2.h
- libclidef.h
- hsts.h
- cookie.h
- cw-out.h
- curlx/inet_ntop.h
- tiffconf.h
- idn.h
- subauth.h
- system.h
- ngtcp2/ngtcp2_crypto_boringssl.h
- stddef.h
- doh.h
- netrc.h
- chrono
- apr_time.h
- dirent.h
- url.h
- multi.h
- ../curl_sspi.h
- curl_gssapi.h
- dynbuf.h
- termios.h
- conio.h
- initializer_list
- apple.h
- tinshift_json_exceptions.hpp
- ../sockaddr.h
- headers.h
- mih/callpgmv.h
- thread
- http_protocol.h
- tool_sdecls.h
- esriparammappings.hpp
- cstdlib
- pthread.h
- smb.h
- strdup.h
- sys/types.h
- request.h
- winsock2.h
- ws.h
- stdatomic.h
- libport_config.h
- fstream
- cipher.mih
- psl.h
- ../curlx/strparse.h
- ../connect.h
- curl_memrchr.h
- ../select.h
- proj_constants.h
- projapps_lib.h
- tinshift_gpkg.hpp
- netdb.h
- curl_endian.h
- curl_quiche.h
- proj/internal/internal.hpp
- openssl/ossl_typ.h
- easy.h
- openssl/x509v3.h
- parammappings.hpp
- geodesic.c
- ldap_ssl.h
- ../rand.h
- forward_list
- inet.h
- vtls.h
- curl/system.h
- unistd.h
- sys/eventfd.h
report: name
sources:
- function_names:
  - usage
  - main
  source_file: /src/PROJ/test/benchmark/bench_proj_trans.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_transform
  - main
  source_file: /src/PROJ/test/postinstall/cpp_app/cpp_app.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_transform
  - main
  source_file: /src/PROJ/test/postinstall/c_app/c_app.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  - main
  source_file: /src/PROJ/test/fuzzers/proj_crs_to_crs_fuzzer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - main
  source_file: /src/PROJ/test/unit/test_fork.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_projinfo_lib.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - swap_words
  - noop_curl_write_func
  - TEST
  - silent_logger
  - TEST
  - TEST
  - Event::~Event()
  - OpenEvent
  - CloseEvent
  - GetHeaderValueEvent
  - ReadRangeEvent
  - allConsumedAndNoError
  - open_cbk
  - close_cbk
  - get_header_value_cbk
  - read_range_cbk
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - dummy_open_cbk
  - dummy_close_cbk
  - dummy_get_header_value_cbk
  - dummy_read_range_cbk
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - swap_words
  - noop_curl_write_func
  - TEST
  - silent_logger
  - TEST
  - TEST
  - Event::~Event()
  - OpenEvent
  - CloseEvent
  - GetHeaderValueEvent
  - ReadRangeEvent
  - allConsumedAndNoError
  - open_cbk
  - close_cbk
  - get_header_value_cbk
  - read_range_cbk
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - dummy_open_cbk
  - dummy_close_cbk
  - dummy_get_header_value_cbk
  - dummy_read_range_cbk
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_network.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IS_LSB
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/PROJ/test/unit/test_network.cpp
      type_or_value: (1 == (reinterpret_cast<const unsigned char *>(&byte_order_test))[0])
    - item_type: preproc_def
      name: IS_LSB
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/PROJ/test/unit/test_network.cpp
      type_or_value: (1 == (reinterpret_cast<const unsigned char *>(&byte_order_test))[0])
    structs:
    - fields:
      - name: type
        type: std::string
      - name: '*ctx'
        type: PJ_CONTEXT
      item_type: struct
      name: Event
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: url
        type: std::string
      - name: offset
        type: unsigned long long
      - name: size_to_read
        type: size_t
      - name: response
        type: std::vector<unsigned char>
      - name: errorMsg
        type: std::string
      - name: file_id
        type: int
      item_type: struct
      name: OpenEvent
      pos:
        line_end: 225
        line_start: 216
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: file_id
        type: int
      item_type: struct
      name: CloseEvent
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: file_id
        type: int
      - name: key
        type: std::string
      - name: value
        type: std::string
      item_type: struct
      name: GetHeaderValueEvent
      pos:
        line_end: 239
        line_start: 233
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: offset
        type: unsigned long long
      - name: size_to_read
        type: size_t
      - name: response
        type: std::vector<unsigned char>
      - name: errorMsg
        type: std::string
      - name: file_id
        type: int
      item_type: struct
      name: ReadRangeEvent
      pos:
        line_end: 249
        line_start: 241
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields: []
      item_type: struct
      name: File
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: events
        type: std::vector<std::unique_ptr<Event>>
      - name: nextEvent
        type: size_t
      - name: error
        type: bool
      - name: mapIdToHandle
        type: std::map<int, PROJ_NETWORK_HANDLE *>
      item_type: struct
      name: ExchangeWithCallback
      pos:
        line_end: 262
        line_start: 253
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: in_open
        type: bool
      - name: in_read
        type: bool
      - name: in_write
        type: bool
      - name: in_seek
        type: bool
      - name: in_tell
        type: bool
      - name: in_close
        type: bool
      - name: in_exists
        type: bool
      - name: in_mkdir
        type: bool
      - name: in_unlink
        type: bool
      - name: in_rename
        type: bool
      item_type: struct
      name: UserData
      pos:
        line_end: 2072
        line_start: 2061
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: type
        type: std::string
      - name: '*ctx'
        type: PJ_CONTEXT
      item_type: struct
      name: Event
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: url
        type: std::string
      - name: offset
        type: unsigned long long
      - name: size_to_read
        type: size_t
      - name: response
        type: std::vector<unsigned char>
      - name: errorMsg
        type: std::string
      - name: file_id
        type: int
      item_type: struct
      name: OpenEvent
      pos:
        line_end: 225
        line_start: 216
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: file_id
        type: int
      item_type: struct
      name: CloseEvent
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: file_id
        type: int
      - name: key
        type: std::string
      - name: value
        type: std::string
      item_type: struct
      name: GetHeaderValueEvent
      pos:
        line_end: 239
        line_start: 233
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: offset
        type: unsigned long long
      - name: size_to_read
        type: size_t
      - name: response
        type: std::vector<unsigned char>
      - name: errorMsg
        type: std::string
      - name: file_id
        type: int
      item_type: struct
      name: ReadRangeEvent
      pos:
        line_end: 249
        line_start: 241
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields: []
      item_type: struct
      name: File
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: events
        type: std::vector<std::unique_ptr<Event>>
      - name: nextEvent
        type: size_t
      - name: error
        type: bool
      - name: mapIdToHandle
        type: std::map<int, PROJ_NETWORK_HANDLE *>
      item_type: struct
      name: ExchangeWithCallback
      pos:
        line_end: 262
        line_start: 253
        source_file: /src/PROJ/test/unit/test_network.cpp
    - fields:
      - name: in_open
        type: bool
      - name: in_read
        type: bool
      - name: in_write
        type: bool
      - name: in_seek
        type: bool
      - name: in_tell
        type: bool
      - name: in_close
        type: bool
      - name: in_exists
        type: bool
      - name: in_mkdir
        type: bool
      - name: in_unlink
        type: bool
      - name: in_rename
        type: bool
      item_type: struct
      name: UserData
      pos:
        line_end: 2072
        line_start: 2061
        source_file: /src/PROJ/test/unit/test_network.cpp
    typedefs: []
    union: []
- function_names:
  - ComparePROJString
  source_file: /src/PROJ/test/unit/test_primitives.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CApi::DummyLogFunction
  - CApi::SetUp
  - CApi::TearDown
  - CApi::createBoundCRS
  - CApi::createProjectedCRS
  - CApi::createDerivedProjectedCRS
  - CApi::createVerticalCRS
  - CApi::createCompoundCRS
  - CApi::ObjectKeeper
  - ~ObjectKeeper()
  - CApi::clear
  - CApi::ObjectKeeper
  - '&operator=(const ObjectKeeper &)'
  - CApi::PjContextKeeper
  - ~PjContextKeeper()
  - CApi::PjContextKeeper
  - '&operator=(const PjContextKeeper &)'
  - CApi::ContextKeeper
  - ~ContextKeeper()
  - CApi::ContextKeeper
  - '&operator=(const ContextKeeper &)'
  - CApi::ObjListKeeper
  - ~ObjListKeeper()
  - CApi::ObjListKeeper
  - '&operator=(const ObjListKeeper &)'
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - ListFreer
  - ~ListFreer()
  - ListFreer
  - '&operator=(const ListFreer &)'
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - check_axis_is_latitude
  - check_axis_is_longitude
  - check_axis_is_height
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - CApi::DummyLogFunction
  - CApi::SetUp
  - CApi::TearDown
  - CApi::createBoundCRS
  - CApi::createProjectedCRS
  - CApi::createDerivedProjectedCRS
  - CApi::createVerticalCRS
  - CApi::createCompoundCRS
  - CApi::ObjectKeeper
  - ~ObjectKeeper()
  - CApi::clear
  - CApi::ObjectKeeper
  - '&operator=(const ObjectKeeper &)'
  - CApi::PjContextKeeper
  - ~PjContextKeeper()
  - CApi::PjContextKeeper
  - '&operator=(const PjContextKeeper &)'
  - CApi::ContextKeeper
  - ~ContextKeeper()
  - CApi::ContextKeeper
  - '&operator=(const ContextKeeper &)'
  - CApi::ObjListKeeper
  - ~ObjListKeeper()
  - CApi::ObjListKeeper
  - '&operator=(const ObjListKeeper &)'
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - ListFreer
  - ~ListFreer()
  - ListFreer
  - '&operator=(const ListFreer &)'
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - check_axis_is_latitude
  - check_axis_is_longitude
  - check_axis_is_height
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/PROJ/test/unit/test_c_api.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*m_obj'
        type: PJ
      item_type: struct
      name: ObjectKeeper
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_ctxt'
        type: PJ_CONTEXT
      item_type: struct
      name: PjContextKeeper
      pos:
        line_end: 168
        line_start: 161
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_op_ctxt'
        type: PJ_OPERATION_FACTORY_CONTEXT
      item_type: struct
      name: ContextKeeper
      pos:
        line_end: 178
        line_start: 170
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_res'
        type: PJ_OBJ_LIST
      item_type: struct
      name: ObjListKeeper
      pos:
        line_end: 187
        line_start: 180
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: list
        type: PROJ_STRING_LIST
      item_type: struct
      name: ListFreer
      pos:
        line_end: 1508
        line_start: 1502
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_obj'
        type: PJ
      item_type: struct
      name: ObjectKeeper
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_ctxt'
        type: PJ_CONTEXT
      item_type: struct
      name: PjContextKeeper
      pos:
        line_end: 168
        line_start: 161
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_op_ctxt'
        type: PJ_OPERATION_FACTORY_CONTEXT
      item_type: struct
      name: ContextKeeper
      pos:
        line_end: 178
        line_start: 170
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: '*m_res'
        type: PJ_OBJ_LIST
      item_type: struct
      name: ObjListKeeper
      pos:
        line_end: 187
        line_start: 180
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    - fields:
      - name: list
        type: PROJ_STRING_LIST
      item_type: struct
      name: ListFreer
      pos:
        line_end: 1508
        line_start: 1502
        source_file: /src/PROJ/test/unit/test_c_api.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createGeocentricDatumWGS84
  - createGeocentricKM
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createUTM31_WGS84
  - createUTM32_WGS84
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - buildCRSFromProjStrThroughWKT
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createVerticalCRS
  - TEST
  - createBoundVerticalCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - derivedGeographicCRS_with_to_wgs84_to_geographicCRS::run
  - "derivedGeographicCRS_with_to_wgs84_to_geographicCRS::\n    ~derivedGeographicCRS_with_to_wgs84_to_geographicCRS()"
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_operationfactory.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - checkEPSG_4326
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - checkEPSG_4979
  - TEST
  - TEST
  - checkGeocentric
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - checkProjected
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_io.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*esriProjectionName'
        type: char
      - name: esriParams
        type: std::vector<std::pair<const char *, double>>
      - name: '*wkt2ProjectionName'
        type: char
      - name: wkt2Params
        type: std::vector<std::pair<const char *, double>>
      item_type: struct
      name: "esriProjDefs[] = {\n\n    {\"Plate_Carree\",\n     {{\"False_Easting\",
        1}, {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Equidistant
        Cylindrical\",\n     {\n         {\"Latitude of 1st standard parallel\", 0},\n
        \        {\"Longitude of natural origin\", 3},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Equidistant_Cylindrical\",\n
        \    {\n         {\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n
        \        {\"Central_Meridian\", 3},\n         {\"Standard_Parallel_1\", 4},\n
        \    },\n     \"Equidistant Cylindrical\",\n     {\n         {\"Latitude of
        1st standard parallel\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Miller_Cylindrical\",\n     {{\"False_Easting\", 1}, {\"False_Northing\",
        2}, {\"Central_Meridian\", 3}},\n     \"Miller Cylindrical\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Mercator\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\",
        4}},\n     \"Mercator (variant B)\",\n     {\n         {\"Latitude of 1st
        standard parallel\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Gauss_Kruger\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\",
        5}},\n     \"Transverse Mercator\",\n     {\n         {\"Latitude of natural
        origin\", 5},\n         {\"Longitude of natural origin\", 3},\n         {\"Scale
        factor at natural origin\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Transverse_Mercator\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Scale_Factor\",
        4},\n      {\"Latitude_Of_Origin\", 5}},\n     \"Transverse Mercator\",\n
        \    {\n         {\"Latitude of natural origin\", 5},\n         {\"Longitude
        of natural origin\", 3},\n         {\"Scale factor at natural origin\", 4},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Transverse_Mercator_Complex\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\",
        5}},\n     \"Transverse Mercator\",\n     {\n         {\"Latitude of natural
        origin\", 5},\n         {\"Longitude of natural origin\", 3},\n         {\"Scale
        factor at natural origin\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Albers\",\n     {{\"False_Easting\", 1},\n
        \     {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\",
        4},\n      {\"Standard_Parallel_2\", 5},\n      {\"Latitude_Of_Origin\", 6}},\n
        \    \"Albers Equal Area\",\n     {\n         {\"Latitude of false origin\",
        6},\n         {\"Longitude of false origin\", 3},\n         {\"Latitude of
        1st standard parallel\", 4},\n         {\"Latitude of 2nd standard parallel\",
        5},\n         {\"Easting at false origin\", 1},\n         {\"Northing at false
        origin\", 2},\n     }},\n\n    {\"Sinusoidal\",\n     {{\"False_Easting\",
        1}, {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Sinusoidal\",\n
        \    {\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Mollweide\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Mollweide\",\n     {\n         {\"Longitude of natural origin\",
        3},\n         {\"False easting\", 1},\n         {\"False northing\", 2},\n
        \    }},\n\n    {\"Eckert_I\",\n     {{\"False_Easting\", 1}, {\"False_Northing\",
        2}, {\"Central_Meridian\", 3}},\n     \"Eckert I\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    // skipping Eckert_II to Eckert_VI\n\n    {\"Gall_Stereographic\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Gall Stereographic\",\n     {\n         {\"Longitude of natural
        origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Patterson\",\n     {{\"False_Easting\", 1}, {\"False_Northing\",
        2}, {\"Central_Meridian\", 3}},\n     \"Patterson\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Natural_Earth\",\n     {{\"False_Easting\",
        1}, {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Natural Earth\",\n
        \    {\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Natural_Earth_II\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Natural Earth II\",\n     {\n         {\"Longitude of natural
        origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Compact_Miller\",\n     {{\"False_Easting\", 1}, {\"False_Northing\",
        2}, {\"Central_Meridian\", 3}},\n     \"Compact Miller\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Times\",\n     {{\"False_Easting\", 1},
        {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Times\",\n     {\n
        \        {\"Longitude of natural origin\", 3},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Flat_Polar_Quartic\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Flat Polar Quartic\",\n     {\n         {\"Longitude of natural
        origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Behrmann\",\n     {{\"False_Easting\", 1}, {\"False_Northing\",
        2}, {\"Central_Meridian\", 3}},\n     \"Lambert Cylindrical Equal Area\",\n
        \    {\n         {\"Latitude of 1st standard parallel\", 30},\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Winkel_I\",\n     {\n         {\"False_Easting\",
        1},\n         {\"False_Northing\", 2},\n         {\"Central_Meridian\", 3},\n
        \        {\"Standard_Parallel_1\", 4},\n     },\n     \"Winkel I\",\n     {\n
        \        {\"Longitude of natural origin\", 3},\n         {\"Latitude of 1st
        standard parallel\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Winkel_II\",\n     {\n         {\"False_Easting\",
        1},\n         {\"False_Northing\", 2},\n         {\"Central_Meridian\", 3},\n
        \        {\"Standard_Parallel_1\", 4},\n     },\n     \"Winkel II\",\n     {\n
        \        {\"Longitude of natural origin\", 3},\n         {\"Latitude of 1st
        standard parallel\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Lambert_Conformal_Conic\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\",
        4},\n      {\"Scale_Factor\", 5},\n      {\"Latitude_Of_Origin\", 4}},\n     \"Lambert
        Conic Conformal (1SP)\",\n     {\n         {\"Latitude of natural origin\",
        4},\n         {\"Longitude of natural origin\", 3},\n         {\"Scale factor
        at natural origin\", 5},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Lambert_Conformal_Conic\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\",
        4},\n      {\"Standard_Parallel_2\", 5},\n      {\"Latitude_Of_Origin\", 6}},\n
        \    \"Lambert Conic Conformal (2SP)\",\n     {\n         {\"Latitude of false
        origin\", 6},\n         {\"Longitude of false origin\", 3},\n         {\"Latitude
        of 1st standard parallel\", 4},\n         {\"Latitude of 2nd standard parallel\",
        5},\n         {\"Easting at false origin\", 1},\n         {\"Northing at false
        origin\", 2},\n     }},\n\n    // Unusual variant of above with Scale_Factor=1\n
        \   {\"Lambert_Conformal_Conic\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\", 4},\n
        \     {\"Standard_Parallel_2\", 5},\n      {\"Scale_Factor\", 1.0},\n      {\"Latitude_Of_Origin\",
        6}},\n     \"Lambert Conic Conformal (2SP)\",\n     {\n         {\"Latitude
        of false origin\", 6},\n         {\"Longitude of false origin\", 3},\n         {\"Latitude
        of 1st standard parallel\", 4},\n         {\"Latitude of 2nd standard parallel\",
        5},\n         {\"Easting at false origin\", 1},\n         {\"Northing at false
        origin\", 2},\n     }},\n\n    {\"Polyconic\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Latitude_Of_Origin\",
        4}},\n     \"American Polyconic\",\n     {\n         {\"Latitude of natural
        origin\", 4},\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Quartic_Authalic\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Quartic Authalic\",\n     {\n         {\"Longitude of natural
        origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Loximuthal\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Central_Parallel\", 4}},\n
        \    \"Loximuthal\",\n     {\n         {\"Latitude of natural origin\", 4},\n
        \        {\"Longitude of natural origin\", 3},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Bonne\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\",
        4}},\n     \"Bonne\",\n     {\n         {\"Latitude of natural origin\", 4},\n
        \        {\"Longitude of natural origin\", 3},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Hotine_Oblique_Mercator_Two_Point_Natural_Origin\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Latitude_Of_1st_Point\",
        3},\n      {\"Latitude_Of_2nd_Point\", 4},\n      {\"Scale_Factor\", 5},\n
        \     {\"Longitude_Of_1st_Point\", 6},\n      {\"Longitude_Of_2nd_Point\",
        7},\n      {\"Latitude_Of_Center\", 8}},\n     \"Hotine Oblique Mercator Two
        Point Natural Origin\",\n     {\n         {\"Latitude of projection centre\",
        8},\n         {\"Latitude of 1st point\", 3},\n         {\"Longitude of 1st
        point\", 6},\n         {\"Latitude of 2nd point\", 4},\n         {\"Longitude
        of 2nd point\", 7},\n         {\"Scale factor at projection centre\", 5},\n
        \        {\"Easting at projection centre\", 1},\n         {\"Northing at projection
        centre\", 2},\n     }},\n\n    {\"Stereographic\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Scale_Factor\",
        4},\n      {\"Latitude_Of_Origin\", 5}},\n     \"Stereographic\",\n     {\n
        \        {\"Latitude of natural origin\", 5},\n         {\"Longitude of natural
        origin\", 3},\n         {\"Scale factor at natural origin\", 4},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    // Non
        standard parameter names longitude_of_center/latitude_of_center\n    // used
        in https://github.com/OSGeo/PROJ/issues/3210\n    {\"Stereographic\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"longitude_of_center\", 3},\n
        \     {\"Scale_Factor\", 4},\n      {\"latitude_of_center\", 5}},\n     \"Stereographic\",\n
        \    {\n         {\"Latitude of natural origin\", 5},\n         {\"Longitude
        of natural origin\", 3},\n         {\"Scale factor at natural origin\", 4},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Stereographic\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\",
        90}},\n     \"Polar Stereographic (variant A)\",\n     {\n         {\"Latitude
        of natural origin\", 90},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"Scale factor at natural origin\", 4},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Stereographic\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\", -90}},\n
        \    \"Polar Stereographic (variant A)\",\n     {\n         {\"Latitude of
        natural origin\", -90},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"Scale factor at natural origin\", 4},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Equidistant_Conic\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Standard_Parallel_1\", 4},\n      {\"Standard_Parallel_2\",
        5},\n      {\"Latitude_Of_Origin\", 6}},\n     \"Equidistant Conic\",\n     {\n
        \        {\"Latitude of false origin\", 6},\n         {\"Longitude of false
        origin\", 3},\n         {\"Latitude of 1st standard parallel\", 4},\n         {\"Latitude
        of 2nd standard parallel\", 5},\n         {\"Easting at false origin\", 1},\n
        \        {\"Northing at false origin\", 2},\n     }},\n\n    {\"Cassini\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Scale_Factor\", 1},\n      {\"Latitude_Of_Origin\", 4}},\n     \"Cassini-Soldner\",\n
        \    {\n         {\"Latitude of natural origin\", 4},\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Van_der_Grinten_I\",\n     {{\"False_Easting\",
        1}, {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Van Der Grinten\",\n
        \    {\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Robinson\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Robinson\",\n     {\n         {\"Longitude of natural origin\",
        3},\n         {\"False easting\", 1},\n         {\"False northing\", 2},\n
        \    }},\n\n    {\"Two_Point_Equidistant\",\n     {{\"False_Easting\", 1},\n
        \     {\"False_Northing\", 2},\n      {\"Latitude_Of_1st_Point\", 3},\n      {\"Latitude_Of_2nd_Point\",
        4},\n      {\"Longitude_Of_1st_Point\", 5},\n      {\"Longitude_Of_2nd_Point\",
        6}},\n     \"Two Point Equidistant\",\n     {\n         {\"Latitude of 1st
        point\", 3},\n         {\"Longitude of 1st point\", 5},\n         {\"Latitude
        of 2nd point\", 4},\n         {\"Longitude of 2nd point\", 6},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Azimuthal_Equidistant\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Latitude_Of_Origin\", 4}},\n     \"Azimuthal Equidistant\",\n
        \    {\n         {\"Latitude of natural origin\", 4},\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Lambert_Azimuthal_Equal_Area\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Latitude_Of_Origin\",
        4}},\n     \"Lambert Azimuthal Equal Area\",\n     {\n         {\"Latitude
        of natural origin\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Cylindrical_Equal_Area\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\", 4}},\n
        \    \"Lambert Cylindrical Equal Area\",\n     {\n         {\"Latitude of
        1st standard parallel\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   // Untested: Hotine_Oblique_Mercator_Two_Point_Center\n\n    {\"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Scale_Factor\",
        3},\n      {\"Azimuth\", 4},\n      {\"Longitude_Of_Center\", 5},\n      {\"Latitude_Of_Center\",
        6}},\n     \"Hotine Oblique Mercator (variant A)\",\n     {\n         {\"Latitude
        of projection centre\", 6},\n         {\"Longitude of projection centre\",
        5},\n         {\"Azimuth at projection centre\", 4},\n         {\"Angle from
        Rectified to Skew Grid\", 4},\n         {\"Scale factor at projection centre\",
        3},\n         {\"False easting\", 1},\n         {\"False northing\", 2},\n
        \    }},\n\n    {\"Hotine_Oblique_Mercator_Azimuth_Center\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Scale_Factor\", 3},\n      {\"Azimuth\",
        4},\n      {\"Longitude_Of_Center\", 5},\n      {\"Latitude_Of_Center\", 6}},\n
        \    \"Hotine Oblique Mercator (variant B)\",\n     {\n         {\"Latitude
        of projection centre\", 6},\n         {\"Longitude of projection centre\",
        5},\n         {\"Azimuth at projection centre\", 4},\n         {\"Angle from
        Rectified to Skew Grid\", 4},\n         {\"Scale factor at projection centre\",
        3},\n         {\"Easting at projection centre\", 1},\n         {\"Northing
        at projection centre\", 2},\n     }},\n\n    {\"Double_Stereographic\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\", 5}},\n     \"Oblique
        Stereographic\",\n     {\n         {\"Latitude of natural origin\", 5},\n
        \        {\"Longitude of natural origin\", 3},\n         {\"Scale factor at
        natural origin\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Krovak\",\n     {{\"False_Easting\", 1},\n
        \     {\"False_Northing\", 2},\n      {\"Pseudo_Standard_Parallel_1\", 3},\n
        \     {\"Scale_Factor\", 4},\n      {\"Azimuth\", 5},\n      {\"Longitude_Of_Center\",
        6},\n      {\"Latitude_Of_Center\", 7},\n      {\"X_Scale\", 1},\n      {\"Y_Scale\",
        1},\n      {\"XY_Plane_Rotation\", 0}},\n     \"Krovak\",\n     {\n         {\"Latitude
        of projection centre\", 7},\n         {\"Longitude of origin\", 6},\n         {\"Co-latitude
        of cone axis\", 5},\n         {\"Latitude of pseudo standard parallel\", 3},\n
        \        {\"Scale factor on pseudo standard parallel\", 4},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Krovak\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Pseudo_Standard_Parallel_1\",
        3},\n      {\"Scale_Factor\", 4},\n      {\"Azimuth\", 5},\n      {\"Longitude_Of_Center\",
        6},\n      {\"Latitude_Of_Center\", 7},\n      {\"X_Scale\", -1},\n      {\"Y_Scale\",
        1},\n      {\"XY_Plane_Rotation\", 90}},\n     \"Krovak (North Orientated)\",\n
        \    {\n         {\"Latitude of projection centre\", 7},\n         {\"Longitude
        of origin\", 6},\n         {\"Co-latitude of cone axis\", 5},\n         {\"Latitude
        of pseudo standard parallel\", 3},\n         {\"Scale factor on pseudo standard
        parallel\", 4},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"New_Zealand_Map_Grid\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Longitude_Of_Origin\", 3},\n
        \     {\"Latitude_Of_Origin\", 4}},\n     \"New Zealand Map Grid\",\n     {\n
        \        {\"Latitude of natural origin\", 4},\n         {\"Longitude of natural
        origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Orthographic\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Longitude_Of_Center\", 3},\n      {\"Latitude_Of_Center\", 4}},\n
        \    \"Orthographic (Spherical)\",\n     {\n         {\"Latitude of natural
        origin\", 4},\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Local\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Scale_Factor\",
        1.25},\n      {\"Azimuth\", 15},\n      {\"Longitude_Of_Center\", 3},\n      {\"Latitude_Of_Center\",
        4}},\n     \"Local Orthographic\",\n     {\n         {\"Latitude of projection
        centre\", 4},\n         {\"Longitude of projection centre\", 3},\n         {\"Azimuth
        at projection centre\", 15},\n         {\"Scale factor at projection centre\",
        1.25},\n         {\"Easting at projection centre\", 1},\n         {\"Northing
        at projection centre\", 2},\n     }},\n\n    {\"Winkel_Tripel\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\",
        4}},\n     \"Winkel Tripel\",\n     {\n         {\"Longitude of natural origin\",
        3},\n         {\"Latitude of 1st standard parallel\", 4},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Aitoff\",\n
        \    {{\"False_Easting\", 1}, {\"False_Northing\", 2}, {\"Central_Meridian\",
        3}},\n     \"Aitoff\",\n     {\n         {\"Longitude of natural origin\",
        3},\n         {\"False easting\", 1},\n         {\"False northing\", 2},\n
        \    }},\n\n    {\"Craster_Parabolic\",\n     {{\"False_Easting\", 1}, {\"False_Northing\",
        2}, {\"Central_Meridian\", 3}},\n     \"Craster Parabolic\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Gnomonic\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Longitude_Of_Center\", 3},\n
        \     {\"Latitude_Of_Center\", 4}},\n     \"Gnomonic\",\n     {\n         {\"Latitude
        of natural origin\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Stereographic_North_Pole\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Standard_Parallel_1\", 4}},\n
        \    \"Polar Stereographic (variant B)\",\n     {\n         {\"Latitude of
        standard parallel\", 4},\n         {\"Longitude of origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Stereographic_South_Pole\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Standard_Parallel_1\", -4}},\n     \"Polar Stereographic (variant
        B)\",\n     {\n         {\"Latitude of standard parallel\", -4},\n         {\"Longitude
        of origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Rectified_Skew_Orthomorphic_Natural_Origin\",\n     {\n
        \        {\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n         {\"Scale_Factor\",
        3},\n         {\"Azimuth\", 4},\n         {\"Longitude_Of_Center\", 5},\n
        \        {\"Latitude_Of_Center\", 6},\n         {\"XY_Plane_Rotation\", 7},\n
        \    },\n     \"Hotine Oblique Mercator (variant A)\",\n     {\n         {\"Latitude
        of projection centre\", 6},\n         {\"Longitude of projection centre\",
        5},\n         {\"Azimuth at projection centre\", 4},\n         {\"Angle from
        Rectified to Skew Grid\", 7},\n         {\"Scale factor at projection centre\",
        3},\n         {\"False easting\", 1},\n         {\"False northing\", 2},\n
        \    }},\n\n    // Temptative mapping\n    {\"Rectified_Skew_Orthomorphic_Center\",\n
        \    {\n         {\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n
        \        {\"Scale_Factor\", 3},\n         {\"Azimuth\", 4},\n         {\"Longitude_Of_Center\",
        5},\n         {\"Latitude_Of_Center\", 6},\n         {\"XY_Plane_Rotation\",
        7},\n     },\n     \"Hotine Oblique Mercator (variant B)\",\n     {\n         {\"Latitude
        of projection centre\", 6},\n         {\"Longitude of projection centre\",
        5},\n         {\"Azimuth at projection centre\", 4},\n         {\"Angle from
        Rectified to Skew Grid\", 7},\n         {\"Scale factor at projection centre\",
        3},\n         {\"Easting at projection centre\", 1},\n         {\"Northing
        at projection centre\", 2},\n     }},\n\n    {\"Goode_Homolosine\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Option\",
        0.0}},\n     \"Goode Homolosine\",\n     {\n         {\"Longitude of natural
        origin\", 3},\n         {\"False easting\", 1},\n         {\"False northing\",
        2},\n     }},\n\n    {\"Goode_Homolosine\",\n     {{\"False_Easting\", 1},\n
        \     {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Option\",
        1.0}},\n     \"Interrupted Goode Homolosine\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Goode_Homolosine\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\", 3},\n      {\"Option\",
        2.0}},\n     \"Interrupted Goode Homolosine Ocean\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Equidistant_Cylindrical_Ellipsoidal\",\n
        \    {\n         {\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n
        \        {\"Central_Meridian\", 3},\n         {\"Standard_Parallel_1\", 4},\n
        \    },\n     \"Equidistant Cylindrical\",\n     {\n         {\"Latitude of
        1st standard parallel\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Laborde_Oblique_Mercator\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Scale_Factor\", 3},\n      {\"Azimuth\", 4},\n      {\"Longitude_Of_Center\",
        5},\n      {\"Latitude_Of_Center\", 6}},\n     \"Laborde Oblique Mercator\",\n
        \    {\n         {\"Latitude of projection centre\", 6},\n         {\"Longitude
        of projection centre\", 5},\n         {\"Azimuth at projection centre\", 4},\n
        \        {\"Scale factor at projection centre\", 3},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Mercator_Variant_A\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Scale_Factor\",
        3},\n      {\"Central_Meridian\", 4}},\n     \"Mercator (variant A)\",\n     {\n
        \        {\"Longitude of natural origin\", 4},\n         {\"Scale factor at
        natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Mercator_Variant_C\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Standard_Parallel_1\", 3},\n
        \     {\"Central_Meridian\", 4}},\n     \"Mercator (variant B)\",\n     {\n
        \        {\"Latitude of 1st standard parallel\", 3},\n         {\"Longitude
        of natural origin\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Transverse_Cylindrical_Equal_Area\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\", 5}},\n     \"Transverse
        Cylindrical Equal Area\",\n     {\n         {\"Latitude of natural origin\",
        5},\n         {\"Longitude of natural origin\", 3},\n         {\"Scale factor
        at natural origin\", 4},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Gnomonic_Ellipsoidal\",\n     {{\"False_Easting\",
        1},\n      {\"False_Northing\", 2},\n      {\"Longitude_Of_Center\", 3},\n
        \     {\"Latitude_Of_Center\", 4}},\n     \"Gnomonic\",\n     {\n         {\"Latitude
        of natural origin\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Wagner_IV\",\n     {{\"False_Easting\", 1},\n      {\"False_Northing\",
        2},\n      {\"Central_Meridian\", 3},\n      {\"Latitude_Of_Center\", 0}},\n
        \    \"Wagner IV\",\n     {\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Wagner_V\",\n     {{\"False_Easting\", 1}, {\"False_Northing\", 2},
        {\"Central_Meridian\", 3}},\n     \"Wagner V\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"False easting\", 1},\n         {\"False
        northing\", 2},\n     }},\n\n    {\"Wagner_VII\",\n     {{\"False_Easting\",
        1}, {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Wagner VII\",\n
        \    {\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Geostationary_Satellite\",\n
        \    {\n         {\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n
        \        {\"Longitude_Of_Center\", 3},\n         {\"Height\", 4},\n         {\"Option\",
        0.0},\n     },\n     \"Geostationary Satellite (Sweep Y)\",\n     {\n         {\"Longitude
        of natural origin\", 3},\n         {\"Satellite Height\", 4},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Mercator_Auxiliary_Sphere\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Standard_Parallel_1\", 4},\n      {\"Auxiliary_Sphere_Type\",
        0}},\n     \"Popular Visualisation Pseudo Mercator\",\n     {\n         {\"Latitude
        of natural origin\", 4},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"False easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n
        \   {\"Vertical_Near_Side_Perspective\",\n     {{\"False_Easting\", 1},\n
        \     {\"False_Northing\", 2},\n      {\"Longitude_Of_Center\", 3},\n      {\"Latitude_Of_Center\",
        4},\n      {\"Height\", 5}},\n     \"Vertical Perspective\",\n     {\n         {\"Latitude
        of topocentric origin\", 4},\n         {\"Longitude of topocentric origin\",
        3},\n         {\"Viewpoint height\", 5},\n         {\"False easting\", 1},\n
        \        {\"False northing\", 2},\n     }},\n\n    {\"Equal_Earth\",\n     {{\"False_Easting\",
        1}, {\"False_Northing\", 2}, {\"Central_Meridian\", 3}},\n     \"Equal Earth\",\n
        \    {\n         {\"Longitude of natural origin\", 3},\n         {\"False
        easting\", 1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Peirce_Quincuncial\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\", 5},\n      {\"Option\",
        0}},\n     \"Peirce Quincuncial (Square)\",\n     {\n         {\"Latitude
        of natural origin\", 5},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"Scale factor at natural origin\", 4},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\"Peirce_Quincuncial\",\n
        \    {{\"False_Easting\", 1},\n      {\"False_Northing\", 2},\n      {\"Central_Meridian\",
        3},\n      {\"Scale_Factor\", 4},\n      {\"Latitude_Of_Origin\", 5},\n      {\"Option\",
        1}},\n     \"Peirce Quincuncial (Diamond)\",\n     {\n         {\"Latitude
        of natural origin\", 5},\n         {\"Longitude of natural origin\", 3},\n
        \        {\"Scale factor at natural origin\", 4},\n         {\"False easting\",
        1},\n         {\"False northing\", 2},\n     }},\n\n    {\n        \"Unknown_Method\",\n
        \       {{\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n         {\"Longitude_Of_Origin\",
        3},\n         {\"Latitude_Of_Origin\", 4}},\n        \"Unknown_Method\",\n
        \       {{\"False_Easting\", 1},\n         {\"False_Northing\", 2},\n         {\"Longitude_Of_Origin\",
        3},\n         {\"Latitude_Of_Origin\", 4}},\n    },\n}"
      pos:
        line_end: 6994
        line_start: 6989
        source_file: /src/PROJ/test/unit/test_io.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/proj_angular_io_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/test/unit/gtest_include.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - createTmpFile
  - createTempDict
  - MyUnlink
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createTmpFile
  - createTempDict
  - MyUnlink
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/proj_context_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*got_ctx'
        type: PJ_CONTEXT
      - name: dirname
        type: std::string
      - name: tmpFilename
        type: std::string
      item_type: struct
      name: FinderData
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/PROJ/test/unit/proj_context_test.cpp
    - fields:
      - name: '*got_ctx'
        type: PJ_CONTEXT
      - name: dirname
        type: std::string
      - name: tmpFilename
        type: std::string
      item_type: struct
      name: FinderData
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/PROJ/test/unit/proj_context_test.cpp
    typedefs: []
    union: []
- function_names:
  - TINShiftEvaluator::~TINShiftEvaluator()
  - getMinValidContent
  - TEST
  - getMinValidContent
  - TEST
  source_file: /src/PROJ/test/unit/test_tinshift.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TINSHIFT_JSON_NAMESPACE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/test/unit/test_tinshift.cpp
      type_or_value: TestTINShift
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/proj_errno_string_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GridTest::DummyLogFunction
  - GridTest::SetUp
  - GridTest::TearDown
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - GridTest::DummyLogFunction
  - GridTest::SetUp
  - GridTest::TearDown
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/PROJ/test/unit/test_grids.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/pj_phi2_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - gieTest::DummyLogFunction
  - gieTest::SetUp
  - gieTest::TearDown
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - test_time
  - TEST
  - test_date
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - gieTest::DummyLogFunction
  - gieTest::SetUp
  - gieTest::TearDown
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - test_time
  - TEST
  - test_date
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/gie_self_tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UnrelatedObject
  - _isEquivalentTo
  - createUnrelatedObject
  - UnrelatedObject
  - _isEquivalentTo
  - createUnrelatedObject
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_datum.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: UnrelatedObject
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/PROJ/test/unit/test_datum.cpp
    - fields: []
      item_type: struct
      name: UnrelatedObject
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/PROJ/test/unit/test_datum.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_misc.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_util.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/test/unit/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/test/unit/include_proj_h_from_c.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getMinValidContent
  - getFullValidContent
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - RadToDeg
  - TEST
  - getLongLatOffset
  - getZOffset
  - getLongLatZOffset
  - name
  - GridSet
  - gridAt
  - open
  - isGeographicCRS
  - log
  - DeltaLongLatToEastingNorthing
  - TEST
  - getEastingNorthingOffset
  - getZOffset
  - getEastingNorthingZOffset
  - name
  - GridSet
  - gridAt
  - open
  - isGeographicCRS
  - log
  - geographicToGeocentric
  - geocentricToGeographic
  - TEST
  - getEastingNorthingOffset
  - name
  - GridSet
  - gridAt
  - open
  - isGeographicCRS
  - log
  - getMinValidContent
  - getFullValidContent
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - RadToDeg
  - TEST
  - getLongLatOffset
  - getZOffset
  - getLongLatZOffset
  - name
  - GridSet
  - gridAt
  - open
  - isGeographicCRS
  - log
  - DeltaLongLatToEastingNorthing
  - TEST
  - getEastingNorthingOffset
  - getZOffset
  - getEastingNorthingZOffset
  - name
  - GridSet
  - gridAt
  - open
  - isGeographicCRS
  - log
  - geographicToGeocentric
  - geocentricToGeographic
  - TEST
  - getEastingNorthingOffset
  - name
  - GridSet
  - gridAt
  - open
  - isGeographicCRS
  - log
  source_file: /src/PROJ/test/unit/test_defmodel.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFORMATON_MODEL_NAMESPACE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
      type_or_value: TestDeformationModel
    structs:
    - fields: []
      item_type: struct
      name: Grid
      pos:
        line_end: 786
        line_start: 741
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: grid
        type: Grid
      item_type: struct
      name: GridSet
      pos:
        line_end: 804
        line_start: 788
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 818
        line_start: 806
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: Grid
      pos:
        line_end: 1145
        line_start: 1086
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: grid
        type: Grid
      item_type: struct
      name: GridSet
      pos:
        line_end: 1161
        line_start: 1147
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 1217
        line_start: 1163
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: longitude
        type: double
      - name: lat
        type: double
      - name: expected_de
        type: double
      - name: expected_dn
        type: double
      - name: expected_dz
        type: double
      - name: '*displacement_type'
        type: char
      - name: '*interpolation_method'
        type: char
      item_type: struct
      name: "testPoints[] = {\n        {gridMinX - extraPointX * gridResX - 1e-11,\n
        \        gridMinY - extraPointY * gridResY - 1e-11, 0.4, -0.2, 0, \"horizontal\",\n
        \        \"bilinear\"},\n        {gridMinX, gridMinY, 0.4, -0.2, 0, \"horizontal\",
        \"bilinear\"},\n        {gridMaxX, gridMinY, 0.5, -0.25, 0, \"horizontal\",
        \"bilinear\"},\n        {gridMinX, gridMaxY, 0.8, -0.4, 0, \"horizontal\",
        \"bilinear\"},\n        {gridMaxX, gridMaxY, 1, -0.3, 0, \"horizontal\", \"bilinear\"},\n
        \       {gridMaxX + 1e-11, gridMaxY + 1e-11, 1, -0.3, 0, \"horizontal\",\n
        \        \"bilinear\"},\n        {165.9, -37.3, 0.70833334, -0.32083334, 0,
        \"horizontal\", \"bilinear\"},\n        {165.9, -37.3, 0.70833334, -0.32083334,
        0.4525, \"3d\", \"bilinear\"},\n\n        {gridMinX, gridMinY, 0.4, -0.2,
        0, \"horizontal\", \"geocentric_bilinear\"},\n        {gridMaxX, gridMinY,
        0.5, -0.25, 0, \"horizontal\",\n         \"geocentric_bilinear\"},\n        {gridMinX,
        gridMaxY, 0.8, -0.4, 0, \"horizontal\", \"geocentric_bilinear\"},\n        {gridMaxX,
        gridMaxY, 1, -0.3, 0, \"horizontal\", \"geocentric_bilinear\"},\n        {165.9,
        -37.3, 0.7083692044608846, -0.3209642339711405, 0, \"horizontal\",\n         \"geocentric_bilinear\"},\n
        \       {165.9, -37.3, 0.7083692044608846, -0.3209642339711405, 0.4525, \"3d\",\n
        \        \"geocentric_bilinear\"},\n    }"
      pos:
        line_end: 1233
        line_start: 1225
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: Grid
      pos:
        line_end: 1439
        line_start: 1415
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: grid
        type: Grid
      item_type: struct
      name: GridSet
      pos:
        line_end: 1455
        line_start: 1441
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 1469
        line_start: 1457
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: Grid
      pos:
        line_end: 786
        line_start: 741
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: grid
        type: Grid
      item_type: struct
      name: GridSet
      pos:
        line_end: 804
        line_start: 788
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 818
        line_start: 806
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: Grid
      pos:
        line_end: 1145
        line_start: 1086
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: grid
        type: Grid
      item_type: struct
      name: GridSet
      pos:
        line_end: 1161
        line_start: 1147
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 1217
        line_start: 1163
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: longitude
        type: double
      - name: lat
        type: double
      - name: expected_de
        type: double
      - name: expected_dn
        type: double
      - name: expected_dz
        type: double
      - name: '*displacement_type'
        type: char
      - name: '*interpolation_method'
        type: char
      item_type: struct
      name: "testPoints[] = {\n        {gridMinX - extraPointX * gridResX - 1e-11,\n
        \        gridMinY - extraPointY * gridResY - 1e-11, 0.4, -0.2, 0, \"horizontal\",\n
        \        \"bilinear\"},\n        {gridMinX, gridMinY, 0.4, -0.2, 0, \"horizontal\",
        \"bilinear\"},\n        {gridMaxX, gridMinY, 0.5, -0.25, 0, \"horizontal\",
        \"bilinear\"},\n        {gridMinX, gridMaxY, 0.8, -0.4, 0, \"horizontal\",
        \"bilinear\"},\n        {gridMaxX, gridMaxY, 1, -0.3, 0, \"horizontal\", \"bilinear\"},\n
        \       {gridMaxX + 1e-11, gridMaxY + 1e-11, 1, -0.3, 0, \"horizontal\",\n
        \        \"bilinear\"},\n        {165.9, -37.3, 0.70833334, -0.32083334, 0,
        \"horizontal\", \"bilinear\"},\n        {165.9, -37.3, 0.70833334, -0.32083334,
        0.4525, \"3d\", \"bilinear\"},\n\n        {gridMinX, gridMinY, 0.4, -0.2,
        0, \"horizontal\", \"geocentric_bilinear\"},\n        {gridMaxX, gridMinY,
        0.5, -0.25, 0, \"horizontal\",\n         \"geocentric_bilinear\"},\n        {gridMinX,
        gridMaxY, 0.8, -0.4, 0, \"horizontal\", \"geocentric_bilinear\"},\n        {gridMaxX,
        gridMaxY, 1, -0.3, 0, \"horizontal\", \"geocentric_bilinear\"},\n        {165.9,
        -37.3, 0.7083692044608846, -0.3209642339711405, 0, \"horizontal\",\n         \"geocentric_bilinear\"},\n
        \       {165.9, -37.3, 0.7083692044608846, -0.3209642339711405, 0.4525, \"3d\",\n
        \        \"geocentric_bilinear\"},\n    }"
      pos:
        line_end: 1233
        line_start: 1225
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: Grid
      pos:
        line_end: 1439
        line_start: 1415
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields:
      - name: grid
        type: Grid
      item_type: struct
      name: GridSet
      pos:
        line_end: 1455
        line_start: 1441
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    - fields: []
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 1469
        line_start: 1457
        source_file: /src/PROJ/test/unit/test_defmodel.cpp
    typedefs: []
    union: []
- function_names:
  - ObjectKeeper
  - ~ObjectKeeper()
  - ObjectKeeper
  - '&operator=(const ObjectKeeper &)'
  - PjContextKeeper
  - ~PjContextKeeper()
  - PjContextKeeper
  - '&operator=(const PjContextKeeper &)'
  - ObjectKeeper
  - ~ObjectKeeper()
  - ObjectKeeper
  - '&operator=(const ObjectKeeper &)'
  - PjContextKeeper
  - ~PjContextKeeper()
  - PjContextKeeper
  - '&operator=(const PjContextKeeper &)'
  - createVerticalCRS
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_coordinates.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*m_obj'
        type: PJ
      item_type: struct
      name: ObjectKeeper
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/PROJ/test/unit/test_coordinates.cpp
    - fields:
      - name: '*m_ctxt'
        type: PJ_CONTEXT
      item_type: struct
      name: PjContextKeeper
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/PROJ/test/unit/test_coordinates.cpp
    - fields:
      - name: '*m_obj'
        type: PJ
      item_type: struct
      name: ObjectKeeper
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/PROJ/test/unit/test_coordinates.cpp
    - fields:
      - name: '*m_ctxt'
        type: PJ_CONTEXT
      item_type: struct
      name: PjContextKeeper
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/PROJ/test/unit/test_coordinates.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - in
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - FactoryWithTmpDatabase::SetUp
  - FactoryWithTmpDatabase::TearDown
  - FactoryWithTmpDatabase::createStructure
  - FactoryWithTmpDatabase::populateWithFakeEPSG
  - FactoryWithTmpDatabase::createSourceTargetPivotCRS
  - FactoryWithTmpDatabase::createTransformationForPivotTesting
  - FactoryWithTmpDatabase::checkSourceToOther
  - FactoryWithTmpDatabase::execute
  - FactoryWithTmpDatabase::last_error
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - in
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - FactoryWithTmpDatabase::SetUp
  - FactoryWithTmpDatabase::TearDown
  - FactoryWithTmpDatabase::createStructure
  - FactoryWithTmpDatabase::populateWithFakeEPSG
  - FactoryWithTmpDatabase::createSourceTargetPivotCRS
  - FactoryWithTmpDatabase::createTransformationForPivotTesting
  - FactoryWithTmpDatabase::checkSourceToOther
  - FactoryWithTmpDatabase::execute
  - FactoryWithTmpDatabase::last_error
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_factory.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UnrelatedObject
  - _isEquivalentTo
  - createUnrelatedObject
  - UnrelatedObject
  - _isEquivalentTo
  - createUnrelatedObject
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createGeocentricDatumWGS84
  - createGeocentricKM
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createVerticalCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - geographicCRSInvalidEccentricity
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_operation.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: UnrelatedObject
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/PROJ/test/unit/test_operation.cpp
    - fields: []
      item_type: struct
      name: UnrelatedObject
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/PROJ/test/unit/test_operation.cpp
    typedefs: []
    union: []
- function_names:
  - UnrelatedObject
  - _isEquivalentTo
  - createUnrelatedObject
  - UnrelatedObject
  - _isEquivalentTo
  - createUnrelatedObject
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createGeocentric
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createProjected
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createVerticalCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createCompoundCRS
  - createDerivedProjectedCRS
  - createDerivedProjectedCRSNorthingEasting
  - createDerivedVerticalCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createDerivedGeographicCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createDerivedGeodeticCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createDateTimeTemporalCS
  - createDateTimeTemporalCRS
  - TEST
  - TEST
  - createTemporalCountCRSWithConvFactor
  - TEST
  - createTemporalCountCRSWithoutConvFactor
  - TEST
  - createTemporalMeasureCRSWithoutConvFactor
  - TEST
  - createEngineeringCRS
  - TEST
  - TEST
  - TEST
  - createParametricCS
  - createParametricCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createDerivedEngineeringCRS
  - TEST
  - TEST
  - createDerivedParametricCRS
  - TEST
  - TEST
  - createDerivedTemporalCRS
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_crs.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: UnrelatedObject
      pos:
        line_end: 64
        line_start: 56
        source_file: /src/PROJ/test/unit/test_crs.cpp
    - fields: []
      item_type: struct
      name: UnrelatedObject
      pos:
        line_end: 64
        line_start: 56
        source_file: /src/PROJ/test/unit/test_crs.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  - equals
  - equals
  - getBBox
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_metadata.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/PROJ/test/unit/test_common.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proj_list_ellps
  source_file: /src/PROJ/src/ellps.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/embedded_resources.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_get_datums_ref
  - proj_list_prime_meridians
  source_file: /src/PROJ/src/datums.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_wkt_parse_context
  - pj_wkt_parse_context
  - '&operator=(const pj_wkt_parse_context &)'
  source_file: /src/PROJ/src/wkt_parser.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pszInput'
        type: char
      - name: '*pszLastSuccess'
        type: char
      - name: '*pszNext'
        type: char
      - name: errorMsg
        type: std::string
      item_type: struct
      name: pj_wkt_parse_context
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/PROJ/src/wkt_parser.hpp
    typedefs: []
    union: []
- function_names:
  - pj_msfn
  source_file: /src/PROJ/src/msfn.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/wkt1_parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: pj_wkt1_parse_context
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/PROJ/src/wkt1_parser.h
      type: pj_wkt1_parse_context
    union: []
- function_names:
  - pj_datum_set
  source_file: /src/PROJ/src/datum_set.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEC_TO_RAD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/src/datum_set.cpp
      type_or_value: '4.84813681109535993589914102357e-6'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PROJ_HEAD
  - PROJ_HEAD
  - PROJ_HEAD
  - proj_list_operations
  source_file: /src/PROJ/src/list.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FileManager::FileManager
  - '&name() const'
  source_file: /src/PROJ/src/filemanager.hpp
  types:
    enum:
    - enumerators:
      - name: READ_ONLY
      - name: READ_UPDATE
      - name: CREATE
      item_type: enum
      name: FileAccess
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/PROJ/src/filemanager.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Step
  - Step
  - Step
  - '&operator=(const Step &)'
  - ~Step()
  - Step
  - Step
  - Step
  - '&operator=(const Step &)'
  - ~Step()
  - pipeline_reassign_context
  - pipeline_forward_4d
  - pipeline_reverse_4d
  - pipeline_forward_3d
  - pipeline_reverse_3d
  - pipeline_forward
  - pipeline_reverse
  - destructor
  - argc_params
  - argv_params
  - set_ellipsoid
  - push
  - pop
  - setup_pushpop
  source_file: /src/PROJ/src/pipeline.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pj'
        type: PJ
      - name: omit_fwd
        type: bool
      - name: omit_inv
        type: bool
      item_type: struct
      name: Step
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/PROJ/src/pipeline.cpp
    - fields:
      - name: '**argv'
        type: char
      - name: '**current_argv'
        type: char
      - name: steps
        type: std::vector<Step>
      - name: stack[4]
        type: std::stack<double>
      item_type: struct
      name: Pipeline
      pos:
        line_end: 139
        line_start: 134
        source_file: /src/PROJ/src/pipeline.cpp
    - fields:
      - name: v1
        type: bool
      - name: v2
        type: bool
      - name: v3
        type: bool
      - name: v4
        type: bool
      item_type: struct
      name: PushPop
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/PROJ/src/pipeline.cpp
    - fields:
      - name: '*pj'
        type: PJ
      - name: omit_fwd
        type: bool
      - name: omit_inv
        type: bool
      item_type: struct
      name: Step
      pos:
        line_end: 132
        line_start: 116
        source_file: /src/PROJ/src/pipeline.cpp
    - fields:
      - name: '**argv'
        type: char
      - name: '**current_argv'
        type: char
      - name: steps
        type: std::vector<Step>
      - name: stack[4]
        type: std::stack<double>
      item_type: struct
      name: Pipeline
      pos:
        line_end: 139
        line_start: 134
        source_file: /src/PROJ/src/pipeline.cpp
    - fields:
      - name: v1
        type: bool
      - name: v2
        type: bool
      - name: v3
        type: bool
      - name: v4
        type: bool
      item_type: struct
      name: PushPop
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/PROJ/src/pipeline.cpp
    typedefs: []
    union: []
- function_names:
  - pj_list_linear_units
  - proj_list_units
  - pj_list_angular_units
  - proj_list_angular_units
  source_file: /src/PROJ/src/units.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GRAD_TO_RAD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/src/units.cpp
      type_or_value: '0.015707963267948967'
    structs: []
    typedefs: []
    union: []
- function_names:
  - inv_prepare
  - inv_finalize
  - error_or_coord
  - pj_inv
  - pj_inv3d
  - pj_inv4d
  source_file: /src/PROJ/src/inv.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INPUT_UNITS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/src/inv.cpp
      type_or_value: P->right
    - item_type: preproc_def
      name: OUTPUT_UNITS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/inv.cpp
      type_or_value: P->left
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_generic_inverse_2d
  source_file: /src/PROJ/src/generic_inverse.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proj_geod
  - proj_geod_direct
  - proj_lp_dist
  - proj_lpz_dist
  - proj_xy_dist
  - proj_xyz_dist
  source_file: /src/PROJ/src/dist.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_min
  - simple_max
  - find_previous_index
  - antimeridian_min
  - antimeridian_max
  - contains_north_pole
  - contains_south_pole
  - get_input_crs
  - get_output_crs
  - is_geocentric
  - target_crs_lon_lat_order
  - proj_trans_bounds
  - proj_trans_bounds_3D
  source_file: /src/PROJ/src/trans_bounds.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/wkt1_generated_parser.h
  types:
    enum:
    - enumerators:
      - name: T_INVERSE_MT
        value: '260'
      - name: T_GEOGCS
        value: '264'
      - name: T_VERT_CS
        value: '272'
      - name: T_UNIT
        value: '268'
      - name: T_COMPD_CS
        value: '276'
      - name: T_LOCAL_CS
        value: '280'
      - name: T_STRING
        value: '284'
      - name: T_IDENTIFIER
        value: '286'
      - name: T_PASSTHROUGH_MT
        value: '261'
      - name: T_DATUM
        value: '265'
      - name: T_VERTCS
        value: '273'
      - name: T_LINUNIT
        value: '269'
      - name: T_AXIS
        value: '277'
      - name: T_LOCAL_DATUM
        value: '281'
      - name: T_NUMBER
        value: '285'
      - name: END
        value: '0'
      - name: T_PROJCS
        value: '262'
      - name: T_SPHEROID
        value: '266'
      - name: T_GEOCCS
        value: '270'
      - name: T_VERT_DATUM
        value: '274'
      - name: T_TOWGS84
        value: '278'
      - name: T_PARAMETER
        value: '282'
      - name: T_PARAM_MT
        value: '258'
      - name: T_CONCAT_MT
        value: '259'
      - name: T_PROJECTION
        value: '263'
      - name: T_PRIMEM
        value: '267'
      - name: T_AUTHORITY
        value: '271'
      - name: T_VDATUM
        value: '275'
      - name: T_FITTED_CS
        value: '279'
      - name: T_EXTENSION
        value: '283'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 81
        line_start: 49
        source_file: /src/PROJ/src/wkt1_generated_parser.h
    preproc_defs:
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/src/wkt1_generated_parser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/src/wkt1_generated_parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/src/wkt1_generated_parser.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/PROJ/src/wkt1_generated_parser.h
      type: int
    union: []
- function_names:
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YYSIZEOF
  - YY_
  - YY_
  - YYUSE
  - YY_INITIAL_VALUE
  - YY_ASSERT
  - YYSTACK_BYTES
  - YYSTACK_RELOCATE
  - YYCOPY
  - YYCOPY
  - YYTRANSLATE
  - yypact_value_is_default
  - yytable_value_is_error
  - YYRECOVERING
  - YYBACKUP
  - YYDPRINTF
  - YY_LOCATION_PRINT
  - YY_SYMBOL_PRINT
  - yy_symbol_value_print
  - yy_symbol_print
  - yy_stack_print
  - YY_STACK_PRINT
  - yy_reduce_print
  - YY_REDUCE_PRINT
  - yystrlen
  - yystrlen
  - yystpcpy
  - yytnamerr
  - yysyntax_error
  - YYCASE_
  - yydestruct
  - yyparse
  - YYPOPSTACK
  source_file: /src/PROJ/src/wkt2_generated_parser.c
  types:
    enum:
    - enumerators:
      - name: T_ELLIPSOID
        value: '270'
      - name: T_AREA
        value: '286'
      - name: T_COORDINATEMETADATA
        value: '332'
      - name: T_ENSEMBLE
        value: '316'
      - name: T_CONCATENATEDOPERATION
        value: '300'
      - name: T_VERTICALDATUM
        value: '348'
      - name: T_SPHERICAL
        value: '362'
      - name: T_SOUTHSOUTHWEST
        value: '378'
      - name: T_DISPLAYRIGHT
        value: '394'
      - name: T_PDATUM
        value: '323'
      - name: T_TIMEORIGIN
        value: '307'
      - name: T_PRIMEM
        value: '261'
      - name: T_ORDER
        value: '277'
      - name: T_COMPOUNDCRS
        value: '293'
      - name: T_wraparound
        value: '339'
      - name: T_AFFINE
        value: '355'
      - name: T_NORTH
        value: '369'
      - name: T_UP
        value: '385'
      - name: T_STARBOARD
        value: '401'
      - name: T_UNSIGNED_INTEGER_DIFFERENT_ONE_TWO_THREE
        value: '410'
      - name: END
        value: '0'
      - name: T_SCALEUNIT
        value: '268'
      - name: T_BASEGEOGCRS
        value: '284'
      - name: T_EPOCH
        value: '330'
      - name: T_MODEL
        value: '314'
      - name: T_TRF
        value: '346'
      - name: T_PARAMETRIC
        value: '360'
      - name: T_SOUTHSOUTHEAST
        value: '376'
      - name: T_ROWPOSITIVE
        value: '392'
      - name: T_UNSPECIFIED
        value: '408'
      - name: T_EDATUM
        value: '321'
      - name: T_DATUM
        value: '259'
      - name: T_MERIDIAN
        value: '275'
      - name: T_VDATUM
        value: '291'
      - name: T_TDATUM
        value: '305'
      - name: T_RANGEMEANING
        value: '337'
      - name: T_ENGINEERINGCRS
        value: '353'
      - name: T_ORDINAL
        value: '367'
      - name: T_NORTHWEST
        value: '383'
      - name: T_AFT
        value: '399'
      - name: T_LENGTHUNIT
        value: '266'
      - name: T_REMARK
        value: '282'
      - name: T_BASEPARAMCRS
        value: '328'
      - name: T_INTERPOLATIONCRS
        value: '298'
      - name: T_DYNAMIC
        value: '312'
      - name: T_PRIMEMERIDIAN
        value: '344'
      - name: T_ELLIPSOIDAL
        value: '358'
      - name: T_EASTSOUTHEAST
        value: '374'
      - name: T_COLUMNPOSITIVE
        value: '390'
      - name: T_FUTURE
        value: '406'
      - name: T_PROJCRS
        value: '273'
      - name: T_URI
        value: '289'
      - name: T_DERIVEDPROJCRS
        value: '319'
      - name: T_ABRIDGEDTRANSFORMATION
        value: '303'
      - name: T_AXISMINVALUE
        value: '335'
      - name: T_TEMPORALQUANTITY
        value: '351'
      - name: T_TEMPORALCOUNT
        value: '365'
      - name: T_WEST
        value: '381'
      - name: T_DISPLAYDOWN
        value: '397'
      - name: T_BASEVERTCRS
        value: '326'
      - name: T_SOURCECRS
        value: '296'
      - name: T_TIMEEXTENT
        value: '310'
      - name: T_PARAMETER
        value: '264'
      - name: T_CONVERSION
        value: '280'
      - name: T_GEODETICDATUM
        value: '342'
      - name: T_CARTESIAN
        value: '356'
      - name: T_EASTNORTHEAST
        value: '372'
      - name: T_GEOCENTRICY
        value: '388'
      - name: T_TOWARDS
        value: '404'
      - name: T_STEP
        value: '301'
      - name: T_CS
        value: '271'
      - name: T_BBOX
        value: '287'
      - name: T_POINTMOTIONOPERATION
        value: '333'
      - name: T_MEMBER
        value: '317'
      - name: T_VRF
        value: '349'
      - name: T_VERTICAL
        value: '363'
      - name: T_SOUTHWEST
        value: '379'
      - name: T_DISPLAYLEFT
        value: '395'
      - name: T_UNIT
        value: '262'
      - name: T_ANCHOR
        value: '278'
      - name: T_PARAMETERFILE
        value: '294'
      - name: T_PARAMETRICCRS
        value: '324'
      - name: T_TIMECRS
        value: '308'
      - name: T_DEFININGTRANSFORMATION
        value: '340'
      - name: T_NORTHNORTHEAST
        value: '370'
      - name: T_DOWN
        value: '386'
      - name: T_CLOCKWISE
        value: '402'
      - name: T_TIMEUNIT
        value: '269'
      - name: T_SCOPE
        value: '285'
      - name: T_COORDEPOCH
        value: '331'
      - name: T_VELOCITYGRID
        value: '315'
      - name: T_VERTICALCRS
        value: '347'
      - name: T_POLAR
        value: '361'
      - name: T_SOUTH
        value: '377'
      - name: T_ROWNEGATIVE
        value: '393'
      - name: T_STRING
        value: '409'
      - name: T_ENGCRS
        value: '322'
      - name: T_SPHEROID
        value: '260'
      - name: T_BEARING
        value: '276'
      - name: T_GEOIDMODEL
        value: '292'
      - name: T_CALENDAR
        value: '306'
      - name: T_exact
        value: '338'
      - name: T_PARAMETRICDATUM
        value: '354'
      - name: T_TEMPORALDATETIME
        value: '368'
      - name: T_NORTHNORTHWEST
        value: '384'
      - name: T_PORT
        value: '400'
      - name: T_BASETIMECRS
        value: '329'
      - name: T_OPERATIONACCURACY
        value: '299'
      - name: T_FRAMEEPOCH
        value: '313'
      - name: T_ANGLEUNIT
        value: '267'
      - name: T_GEOGCRS
        value: '283'
      - name: T_GEOGRAPHICCRS
        value: '345'
      - name: T_LINEAR
        value: '359'
      - name: T_SOUTHEAST
        value: '375'
      - name: T_COLUMNNEGATIVE
        value: '391'
      - name: T_PAST
        value: '407'
      - name: T_PROJECTION
        value: '258'
      - name: T_BASEGEODCRS
        value: '274'
      - name: T_VERTCRS
        value: '290'
      - name: T_BASEPROJCRS
        value: '320'
      - name: T_DERIVINGCONVERSION
        value: '304'
      - name: T_AXISMAXVALUE
        value: '336'
      - name: T_ENGINEERINGDATUM
        value: '352'
      - name: T_TEMPORALMEASURE
        value: '366'
      - name: T_WESTNORTHWEST
        value: '382'
      - name: T_FORWARD
        value: '398'
      - name: T_GEODCRS
        value: '265'
      - name: T_METHOD
        value: '281'
      - name: T_TARGETCRS
        value: '297'
      - name: T_BASEENGCRS
        value: '327'
      - name: T_USAGE
        value: '311'
      - name: T_PROJECTEDCRS
        value: '343'
      - name: T_CYLINDRICAL
        value: '357'
      - name: T_EAST
        value: '373'
      - name: T_GEOCENTRICZ
        value: '389'
      - name: T_AWAYFROM
        value: '405'
      - name: T_ID
        value: '272'
      - name: T_CITATION
        value: '288'
      - name: T_ENSEMBLEACCURACY
        value: '318'
      - name: T_BOUNDCRS
        value: '302'
      - name: T_VERSION
        value: '334'
      - name: T_TIMEDATUM
        value: '350'
      - name: T_TEMPORAL
        value: '364'
      - name: T_WESTSOUTHWEST
        value: '380'
      - name: T_DISPLAYUP
        value: '396'
      - name: T_VERTICALEXTENT
        value: '309'
      - name: T_AXIS
        value: '263'
      - name: T_ANCHOREPOCH
        value: '279'
      - name: T_COORDINATEOPERATION
        value: '295'
      - name: T_PARAMETRICUNIT
        value: '325'
      - name: T_GEODETICCRS
        value: '341'
      - name: T_NORTHEAST
        value: '371'
      - name: T_GEOCENTRICX
        value: '387'
      - name: T_COUNTERCLOCKWISE
        value: '403'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 305
        line_start: 149
        source_file: /src/PROJ/src/wkt2_generated_parser.c
    preproc_defs:
    - item_type: preproc_def
      name: YYBISON
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYBISON_VERSION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '"3.5.1"'
    - item_type: preproc_def
      name: YYSKELETON_NAME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '"yacc.c"'
    - item_type: preproc_def
      name: YYPURE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPUSH
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYPULL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: yyparse
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: pj_wkt2_parse
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: pj_wkt2_lex
    - item_type: preproc_def
      name: yyerror
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: pj_wkt2_error
    - item_type: preproc_def
      name: yydebug
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: pj_wkt2_debug
    - item_type: preproc_def
      name: yynerrs
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: pj_wkt2_nerrs
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: ((void*)0)
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __PTRDIFF_TYPE__
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __PTRDIFF_MAX__
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: ptrdiff_t
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: PTRDIFF_MAX
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: long
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __SIZE_TYPE__
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: unsigned
    - item_type: preproc_def
      name: YYSIZE_MAXIMUM
      pos:
        line_end: 416
        line_start: 411
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: "YY_CAST (YYPTRDIFF_T,                                 \\\n           (YYPTRDIFF_MAXIMUM
        < YY_CAST (YYSIZE_T, -1)  \\\n            ? YYPTRDIFF_MAXIMUM                         \\\n
        \           : YY_CAST (YYSIZE_T, -1)))"
    - item_type: preproc_def
      name: YY_ATTRIBUTE_PURE
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: YY_ATTRIBUTE_UNUSED
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __attribute__ ((__unused__))
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 466
        line_start: 462
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")              \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wmaybe-uninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_END
      pos:
        line_end: 468
        line_start: 466
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_BEGIN
      pos:
        line_end: 483
        line_start: 480
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                            \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuseless-cast\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_END
      pos:
        line_end: 485
        line_start: 483
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: _alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: alloca
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '4032 '
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: YYMALLOC
    - item_type: preproc_def
      name: YYSTACK_FREE
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: YYFREE
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: YYSIZE_MAXIMUM
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: free
    - item_type: preproc_def
      name: YYSTACK_GAP_MAXIMUM
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: (YYSIZEOF (union yyalloc) - 1)
    - item_type: preproc_def
      name: YYCOPY_NEEDED
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYFINAL
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '106'
    - item_type: preproc_def
      name: YYLAST
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '3517'
    - item_type: preproc_def
      name: YYNTOKENS
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '171'
    - item_type: preproc_def
      name: YYNNTS
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '375'
    - item_type: preproc_def
      name: YYNRULES
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '750'
    - item_type: preproc_def
      name: YYNSTATES
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1531'
    - item_type: preproc_def
      name: YYUNDEFTOK
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYMAXUTOK
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '410'
    - item_type: preproc_def
      name: YYPACT_NINF
      pos:
        line_end: 1039
        line_start: 1038
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: (-1291)
    - item_type: preproc_def
      name: YYTABLE_NINF
      pos:
        line_end: 1044
        line_start: 1043
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: (-691)
    - item_type: preproc_def
      name: yyerrok
      pos:
        line_end: 2494
        line_start: 2493
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: (yyerrstatus = 0)
    - item_type: preproc_def
      name: yyclearin
      pos:
        line_end: 2495
        line_start: 2494
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: (yychar = YYEMPTY)
    - item_type: preproc_def
      name: YYEMPTY
      pos:
        line_end: 2496
        line_start: 2495
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: YYEOF
      pos:
        line_end: 2497
        line_start: 2496
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYACCEPT
      pos:
        line_end: 2499
        line_start: 2498
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: goto yyacceptlab
    - item_type: preproc_def
      name: YYABORT
      pos:
        line_end: 2500
        line_start: 2499
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: goto yyabortlab
    - item_type: preproc_def
      name: YYERROR
      pos:
        line_end: 2501
        line_start: 2500
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: goto yyerrorlab
    - item_type: preproc_def
      name: YYTERROR
      pos:
        line_end: 2524
        line_start: 2523
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERRCODE
      pos:
        line_end: 2525
        line_start: 2524
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '256'
    - item_type: preproc_def
      name: YYFPRINTF
      pos:
        line_end: 2534
        line_start: 2533
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: fprintf
    - item_type: preproc_def
      name: YYINITDEPTH
      pos:
        line_end: 2664
        line_start: 2663
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '200'
    - item_type: preproc_def
      name: YYMAXDEPTH
      pos:
        line_end: 2675
        line_start: 2674
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: yystpcpy
      pos:
        line_end: 2699
        line_start: 2698
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: stpcpy
    - item_type: preproc_def
      name: YYSYNTAX_ERROR
      pos:
        line_end: 3244
        line_start: 3242
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type_or_value: "yysyntax_error (&yymsg_alloc, &yymsg, \\\n                                        yyssp,
        yytoken)"
    structs: []
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: int
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: __INT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: int_least8_t
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: signed char
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: __INT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: int_least16_t
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: short
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: __UINT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: uint_least8_t
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: unsigned char
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: __UINT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: uint_least16_t
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: unsigned short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: int
    - item_type: typedef
      name: yy_state_t
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: yytype_int16
    - item_type: typedef
      name: yy_state_fast_t
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/PROJ/src/wkt2_generated_parser.c
      type: int
    union:
    - fields:
      - name: yyss_alloc
        type: yy_state_t
      - name: yyvs_alloc
        type: YYSTYPE
      item_type: union
      name: yyalloc
      pos:
        line_end: 571
        line_start: 567
        source_file: /src/PROJ/src/wkt2_generated_parser.c
- function_names:
  - proj_mdist_ini
  - proj_mdist
  - proj_inv_mdist
  source_file: /src/PROJ/src/proj_mdist.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/proj_mdist.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/proj_mdist.cpp
      type_or_value: 1e-14
    structs:
    - fields:
      - name: nb
        type: int
      - name: es
        type: double
      - name: E
        type: double
      - name: b[1]
        type: double
      item_type: struct
      name: MDIST
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/PROJ/src/proj_mdist.cpp
    - fields:
      - name: nb
        type: int
      - name: es
        type: double
      - name: E
        type: double
      - name: b[1]
        type: double
      item_type: struct
      name: MDIST
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/PROJ/src/proj_mdist.cpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/proj_experimental.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_sinhpsi2tanphi
  - pj_phi2
  source_file: /src/PROJ/src/phi2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_zpoly1
  - pj_zpolyd1
  source_file: /src/PROJ/src/zpoly1.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_get_embedded_proj_db
  - pj_get_embedded_proj_db
  source_file: /src/PROJ/src/embedded_resources.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/proj_constants.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TRANSVERSE_MERCATOR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Transverse Mercator"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TRANSVERSE_MERCATOR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9807'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TRANSVERSE_MERCATOR_3D
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Transverse Mercator (3D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TRANSVERSE_MERCATOR_3D
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1111'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TRANSVERSE_MERCATOR_SOUTH_ORIENTATED
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Transverse Mercator (South Orientated)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TRANSVERSE_MERCATOR_SOUTH_ORIENTATED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9808'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_TWO_POINT_EQUIDISTANT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Two Point Equidistant"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_1SP
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Conic Conformal (1SP)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9801'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_1SP_VARIANT_B
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Conic Conformal (1SP variant B)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP_VARIANT_B
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1102'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NZMG
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"New Zealand Map Grid"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NZMG
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9811'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TUNISIA_MAPPING_GRID
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Tunisia Mapping Grid"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TUNISIA_MAPPING_GRID
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9816'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TUNISIA_MINING_GRID
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Tunisia Mining Grid"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TUNISIA_MINING_GRID
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9816'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_ALBERS_EQUAL_AREA
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Albers Equal Area"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_ALBERS_EQUAL_AREA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9822'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_2SP
      pos:
        line_end: 69
        line_start: 67
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Conic Conformal (2SP)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_2SP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9802'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_2SP_BELGIUM
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Conic Conformal (2SP Belgium)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_2SP_BELGIUM
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9803'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_2SP_MICHIGAN
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Conic Conformal (2SP Michigan)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_2SP_MICHIGAN
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1051'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_AZIMUTHAL_EQUIDISTANT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Azimuthal Equidistant"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_AZIMUTHAL_EQUIDISTANT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1125'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MODIFIED_AZIMUTHAL_EQUIDISTANT
      pos:
        line_end: 84
        line_start: 82
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Modified Azimuthal Equidistant"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MODIFIED_AZIMUTHAL_EQUIDISTANT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9832'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GUAM_PROJECTION
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Guam Projection"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GUAM_PROJECTION
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9831'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_BONNE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Bonne"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_BONNE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9827'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_COMPACT_MILLER
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Compact Miller"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL
      pos:
        line_end: 96
        line_start: 94
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Cylindrical Equal Area (Spherical)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9834'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA
      pos:
        line_end: 100
        line_start: 98
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Cylindrical Equal Area"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9835'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_CASSINI_SOLDNER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Cassini-Soldner"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_CASSINI_SOLDNER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9806'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_HYPERBOLIC_CASSINI_SOLDNER
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Hyperbolic Cassini-Soldner"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_HYPERBOLIC_CASSINI_SOLDNER
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9833'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_EQUIDISTANT_CONIC
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Equidistant Conic"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_EQUIDISTANT_CONIC
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Equidistant Conic"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_EQUIDISTANT_CONIC
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1119'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ECKERT_I
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Eckert I"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ECKERT_II
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Eckert II"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ECKERT_III
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Eckert III"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ECKERT_IV
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Eckert IV"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ECKERT_V
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Eckert V"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ECKERT_VI
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Eckert VI"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_EQUIDISTANT_CYLINDRICAL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Equidistant Cylindrical"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1028'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_EQUIDISTANT_CYLINDRICAL_SPHERICAL
      pos:
        line_end: 130
        line_start: 128
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Equidistant Cylindrical (Spherical)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL_SPHERICAL
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1029'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_FLAT_POLAR_QUARTIC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Flat Polar Quartic"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GALL_STEREOGRAPHIC
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Gall Stereographic"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GOODE_HOMOLOSINE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Goode Homolosine"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_INTERRUPTED_GOODE_HOMOLOSINE
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Interrupted Goode Homolosine"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_INTERRUPTED_GOODE_HOMOLOSINE_OCEAN
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Interrupted Goode Homolosine Ocean"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GEOSTATIONARY_SATELLITE_SWEEP_X
      pos:
        line_end: 146
        line_start: 144
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geostationary Satellite (Sweep X)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GEOSTATIONARY_SATELLITE_SWEEP_Y
      pos:
        line_end: 149
        line_start: 147
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geostationary Satellite (Sweep Y)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GAUSS_SCHREIBER_TRANSVERSE_MERCATOR
      pos:
        line_end: 152
        line_start: 150
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Gauss Schreiber Transverse Mercator"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GNOMONIC
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Gnomonic"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_A
      pos:
        line_end: 157
        line_start: 155
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Hotine Oblique Mercator (variant A)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_A
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9812'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_B
      pos:
        line_end: 161
        line_start: 159
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Hotine Oblique Mercator (variant B)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_B
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9815'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Hotine Oblique Mercator Two Point Natural Origin"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_INTERNATIONAL_MAP_WORLD_POLYCONIC
      pos:
        line_end: 168
        line_start: 166
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"International Map of the World Polyconic"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_KROVAK_NORTH_ORIENTED
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Krovak (North Orientated)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_KROVAK_NORTH_ORIENTED
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1041'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_KROVAK
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Krovak"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_KROVAK
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9819'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_KROVAK_MODIFIED
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Krovak Modified"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_KROVAK_MODIFIED
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1042'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_KROVAK_MODIFIED_NORTH_ORIENTED
      pos:
        line_end: 180
        line_start: 178
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Krovak Modified (North Orientated)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_KROVAK_MODIFIED_NORTH_ORIENTED
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1043'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_AZIMUTHAL_EQUAL_AREA
      pos:
        line_end: 184
        line_start: 182
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Azimuthal Equal Area"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_AZIMUTHAL_EQUAL_AREA
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9820'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LAMBERT_AZIMUTHAL_EQUAL_AREA_SPHERICAL
      pos:
        line_end: 188
        line_start: 186
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Lambert Azimuthal Equal Area (Spherical)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LAMBERT_AZIMUTHAL_EQUAL_AREA_SPHERICAL
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1027'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_MILLER_CYLINDRICAL
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Miller Cylindrical"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MERCATOR_VARIANT_A
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9804'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MERCATOR_VARIANT_A
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Mercator (variant A)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MERCATOR_VARIANT_B
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9805'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MERCATOR_VARIANT_B
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Mercator (variant B)"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POPULAR_VISUALISATION_PSEUDO_MERCATOR
      pos:
        line_end: 200
        line_start: 198
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Popular Visualisation Pseudo Mercator"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POPULAR_VISUALISATION_PSEUDO_MERCATOR
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MERCATOR_SPHERICAL
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Mercator (Spherical)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MERCATOR_SPHERICAL
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1026'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_MOLLWEIDE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Mollweide"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_NATURAL_EARTH
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Natural Earth"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_NATURAL_EARTH_II
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Natural Earth II"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_OBLIQUE_STEREOGRAPHIC
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Oblique Stereographic"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_OBLIQUE_STEREOGRAPHIC
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9809'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_ORTHOGRAPHIC
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Orthographic"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_ORTHOGRAPHIC
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9840'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LOCAL_ORTHOGRAPHIC
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Local Orthographic"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LOCAL_ORTHOGRAPHIC
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1130'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_ORTHOGRAPHIC_SPHERICAL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Orthographic (Spherical)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_PATTERSON
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Patterson"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_AMERICAN_POLYCONIC
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"American Polyconic"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_AMERICAN_POLYCONIC
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9818'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A
      pos:
        line_end: 228
        line_start: 226
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Polar Stereographic (variant A)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9810'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POLAR_STEREOGRAPHIC_VARIANT_B
      pos:
        line_end: 232
        line_start: 230
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Polar Stereographic (variant B)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POLAR_STEREOGRAPHIC_VARIANT_B
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9829'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_ROBINSON
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Robinson"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_SINUSOIDAL
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Sinusoidal"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_STEREOGRAPHIC
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Stereographic"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_TIMES
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Times"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_VAN_DER_GRINTEN
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Van Der Grinten"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_I
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner I"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_II
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner II"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_III
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner III"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_IV
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner IV"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_V
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner V"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_VI
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner VI"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_WAGNER_VII
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Wagner VII"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_QUADRILATERALIZED_SPHERICAL_CUBE
      pos:
        line_end: 254
        line_start: 252
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Quadrilateralized Spherical Cube"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_S2
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"S2"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_SPHERICAL_CROSS_TRACK_HEIGHT
      pos:
        line_end: 259
        line_start: 257
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Spherical Cross-Track Height"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_EQUAL_EARTH
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Equal Earth"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_EQUAL_EARTH
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1078'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LABORDE_OBLIQUE_MERCATOR
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Laborde Oblique Mercator"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LABORDE_OBLIQUE_MERCATOR
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9813'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICAL_PERSPECTIVE
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Perspective"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICAL_PERSPECTIVE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9838'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_POLE_ROTATION_GRIB_CONVENTION
      pos:
        line_end: 271
        line_start: 269
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Pole rotation (GRIB convention)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_POLE_ROTATION_NETCDF_CF_CONVENTION
      pos:
        line_end: 274
        line_start: 272
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Pole rotation (netCDF CF convention)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COLOMBIA_URBAN
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1052'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COLOMBIA_URBAN
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Colombia Urban"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_PEIRCE_QUINCUNCIAL_SQUARE
      pos:
        line_end: 280
        line_start: 278
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Peirce Quincuncial (Square)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_PEIRCE_QUINCUNCIAL_DIAMOND
      pos:
        line_end: 282
        line_start: 280
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Peirce Quincuncial (Diamond)"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_COLATITUDE_CONE_AXIS
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Co-latitude of cone axis"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_COLATITUDE_CONE_AXIS
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1036'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN
      pos:
        line_end: 292
        line_start: 290
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of natural origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8801'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN
      pos:
        line_end: 296
        line_start: 294
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude of natural origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8802'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN
      pos:
        line_end: 300
        line_start: 298
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Scale factor at natural origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8805'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_FALSE_EASTING
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"False easting"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_FALSE_EASTING
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8806'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_FALSE_NORTHING
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"False northing"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_FALSE_NORTHING
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8807'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE
      pos:
        line_end: 310
        line_start: 308
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of projection centre"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8811'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_PROJECTION_CENTRE
      pos:
        line_end: 314
        line_start: 312
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude of projection centre"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8812'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_AZIMUTH_INITIAL_LINE
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Azimuth of initial line"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8813'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_AZIMUTH_PROJECTION_CENTRE
      pos:
        line_end: 323
        line_start: 321
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Azimuth at projection centre"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_AZIMUTH_PROJECTION_CENTRE
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8813'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID
      pos:
        line_end: 327
        line_start: 325
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Angle from Rectified to Skew Grid"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8814'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE
      pos:
        line_end: 332
        line_start: 330
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Scale factor on initial line"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8815'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SCALE_FACTOR_PROJECTION_CENTRE
      pos:
        line_end: 337
        line_start: 335
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Scale factor at projection centre"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SCALE_FACTOR_PROJECTION_CENTRE
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8815'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_EASTING_PROJECTION_CENTRE
      pos:
        line_end: 341
        line_start: 339
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Easting at projection centre"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8816'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_NORTHING_PROJECTION_CENTRE
      pos:
        line_end: 345
        line_start: 343
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Northing at projection centre"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8817'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL
      pos:
        line_end: 349
        line_start: 347
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of pseudo standard parallel"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8818'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL
      pos:
        line_end: 353
        line_start: 351
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Scale factor on pseudo standard parallel"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8819'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of false origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8821'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_FALSE_ORIGIN
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude of false origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8822'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL
      pos:
        line_end: 363
        line_start: 361
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of 1st standard parallel"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8823'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_2ND_STD_PARALLEL
      pos:
        line_end: 367
        line_start: 365
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of 2nd standard parallel"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8824'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Easting at false origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8826'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_NORTHING_FALSE_ORIGIN
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Northing at false origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8827'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_STD_PARALLEL
      pos:
        line_end: 377
        line_start: 375
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of standard parallel"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_STD_PARALLEL
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8832'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_OF_ORIGIN
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude of origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8833'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ELLIPSOID_SCALE_FACTOR
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ellipsoid scaling factor"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ELLIPSOID_SCALE_FACTOR
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1038'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_TOPOGRAPHIC_ORIGIN
      pos:
        line_end: 387
        line_start: 385
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of topocentric origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_TOPOGRAPHIC_ORIGIN
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8834'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_TOPOGRAPHIC_ORIGIN
      pos:
        line_end: 391
        line_start: 389
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude of topocentric origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_TOPOGRAPHIC_ORIGIN
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8835'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ELLIPSOIDAL_HEIGHT_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 395
        line_start: 393
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ellipsoidal height of topocentric origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ELLIPSOIDAL_HEIGHT_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8836'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_VIEWPOINT_HEIGHT
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Viewpoint height"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_VIEWPOINT_HEIGHT
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8840'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_PROJECTION_PLANE_ORIGIN_HEIGHT
      pos:
        line_end: 402
        line_start: 400
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Projection plane origin height"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_PROJECTION_PLANE_ORIGIN_HEIGHT
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1039'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_GEOCENTRIC
      pos:
        line_end: 410
        line_start: 408
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation (geocentric domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_GEOCENTRIC
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1032'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_FULL_MATRIX_GEOCENTRIC
      pos:
        line_end: 414
        line_start: 412
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation full matrix (geocen)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_FULL_MATRIX_GEOCENTRIC
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1132'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_GEOGRAPHIC_2D
      pos:
        line_end: 418
        line_start: 416
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation (geog2D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_GEOGRAPHIC_2D
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9607'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_FULL_MATRIX_GEOGRAPHIC_2D
      pos:
        line_end: 422
        line_start: 420
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation full matrix (geog2D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_FULL_MATRIX_GEOGRAPHIC_2D
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1133'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_FULL_MATRIX_GEOGRAPHIC_3D
      pos:
        line_end: 426
        line_start: 424
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation full matrix (geog3D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_FULL_MATRIX_GEOGRAPHIC_3D
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1140'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_GEOGRAPHIC_3D
      pos:
        line_end: 430
        line_start: 428
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation (geog3D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_GEOGRAPHIC_3D
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1038'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_COORDINATE_FRAME_GEOG3D_TO_COMPOUND
      pos:
        line_end: 434
        line_start: 432
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Coordinate Frame rotation (geog3D to compound)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_COORDINATE_FRAME_GEOG3D_TO_COMPOUND
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1149'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POSITION_VECTOR_GEOCENTRIC
      pos:
        line_end: 438
        line_start: 436
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Position Vector transformation (geocentric domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POSITION_VECTOR_GEOCENTRIC
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1033'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POSITION_VECTOR_GEOGRAPHIC_2D
      pos:
        line_end: 442
        line_start: 440
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Position Vector transformation (geog2D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POSITION_VECTOR_GEOGRAPHIC_2D
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9606'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POSITION_VECTOR_GEOGRAPHIC_3D
      pos:
        line_end: 446
        line_start: 444
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Position Vector transformation (geog3D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POSITION_VECTOR_GEOGRAPHIC_3D
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1037'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATION_GEOCENTRIC
      pos:
        line_end: 450
        line_start: 448
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translations (geocentric domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATION_GEOCENTRIC
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1031'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATION_GEOGRAPHIC_2D
      pos:
        line_end: 454
        line_start: 452
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translations (geog2D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATION_GEOGRAPHIC_2D
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9603'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATION_GEOGRAPHIC_3D
      pos:
        line_end: 458
        line_start: 456
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translations (geog3D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATION_GEOGRAPHIC_3D
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1035'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TIME_DEPENDENT_POSITION_VECTOR_GEOCENTRIC
      pos:
        line_end: 462
        line_start: 460
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Time-dependent Position Vector tfm (geocentric)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TIME_DEPENDENT_POSITION_VECTOR_GEOCENTRIC
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1053'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TIME_DEPENDENT_POSITION_VECTOR_GEOGRAPHIC_2D
      pos:
        line_end: 466
        line_start: 464
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Time-dependent Position Vector tfm (geog2D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TIME_DEPENDENT_POSITION_VECTOR_GEOGRAPHIC_2D
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1054'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TIME_DEPENDENT_POSITION_VECTOR_GEOGRAPHIC_3D
      pos:
        line_end: 470
        line_start: 468
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Time-dependent Position Vector tfm (geog3D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TIME_DEPENDENT_POSITION_VECTOR_GEOGRAPHIC_3D
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1055'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TIME_DEPENDENT_COORDINATE_FRAME_GEOCENTRIC
      pos:
        line_end: 474
        line_start: 472
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Time-dependent Coordinate Frame rotation  geocen)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TIME_DEPENDENT_COORDINATE_FRAME_GEOCENTRIC
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1056'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TIME_DEPENDENT_COORDINATE_FRAME_GEOGRAPHIC_2D
      pos:
        line_end: 478
        line_start: 476
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Time-dependent Coordinate Frame rotation (geog2D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TIME_DEPENDENT_COORDINATE_FRAME_GEOGRAPHIC_2D
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1057'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_TIME_DEPENDENT_COORDINATE_FRAME_GEOGRAPHIC_3D
      pos:
        line_end: 482
        line_start: 480
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Time-dependent Coordinate Frame rotation (geog3D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_TIME_DEPENDENT_COORDINATE_FRAME_GEOGRAPHIC_3D
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1058'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY_BADEKAS_CF_GEOCENTRIC
      pos:
        line_end: 486
        line_start: 484
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky-Badekas (CF geocentric domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY_BADEKAS_CF_GEOCENTRIC
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1034'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY_BADEKAS_PV_GEOCENTRIC
      pos:
        line_end: 490
        line_start: 488
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky-Badekas (PV geocentric domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY_BADEKAS_PV_GEOCENTRIC
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1061'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY_BADEKAS_CF_GEOGRAPHIC_3D
      pos:
        line_end: 494
        line_start: 492
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky-Badekas (CF geog3D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY_BADEKAS_CF_GEOGRAPHIC_3D
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1039'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY_BADEKAS_PV_GEOGRAPHIC_3D
      pos:
        line_end: 498
        line_start: 496
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky-Badekas (PV geog3D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY_BADEKAS_PV_GEOGRAPHIC_3D
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1062'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY_BADEKAS_CF_GEOGRAPHIC_2D
      pos:
        line_end: 502
        line_start: 500
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky-Badekas (CF geog2D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY_BADEKAS_CF_GEOGRAPHIC_2D
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9636'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY_BADEKAS_PV_GEOGRAPHIC_2D
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky-Badekas (PV geog2D domain)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY_BADEKAS_PV_GEOGRAPHIC_2D
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1063'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_X_AXIS_TRANSLATION
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8605'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_Y_AXIS_TRANSLATION
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8606'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_Z_AXIS_TRANSLATION
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8607'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_X_AXIS_ROTATION
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8608'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_Y_AXIS_ROTATION
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8609'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_Z_AXIS_ROTATION
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8610'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SCALE_DIFFERENCE
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8611'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_X_AXIS_TRANSLATION
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1040'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_Y_AXIS_TRANSLATION
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1041'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_Z_AXIS_TRANSLATION
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1042'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_X_AXIS_ROTATION
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1043'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_Y_AXIS_ROTATION
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1044'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_Z_AXIS_ROTATION
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1045'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_RATE_SCALE_DIFFERENCE
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1046'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_REFERENCE_EPOCH
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1047'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_TRANSFORMATION_REFERENCE_EPOCH
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1049'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_X_AXIS_TRANSLATION
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"X-axis translation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_Y_AXIS_TRANSLATION
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Y-axis translation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_Z_AXIS_TRANSLATION
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Z-axis translation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_X_AXIS_ROTATION
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"X-axis rotation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_Y_AXIS_ROTATION
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Y-axis rotation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_Z_AXIS_ROTATION
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Z-axis rotation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SCALE_DIFFERENCE
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Scale difference"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_X_AXIS_TRANSLATION
      pos:
        line_end: 535
        line_start: 533
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of X-axis translation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_Y_AXIS_TRANSLATION
      pos:
        line_end: 537
        line_start: 535
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of Y-axis translation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_Z_AXIS_TRANSLATION
      pos:
        line_end: 539
        line_start: 537
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of Z-axis translation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_X_AXIS_ROTATION
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of X-axis rotation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_Y_AXIS_ROTATION
      pos:
        line_end: 543
        line_start: 541
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of Y-axis rotation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_Z_AXIS_ROTATION
      pos:
        line_end: 545
        line_start: 543
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of Z-axis rotation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_RATE_SCALE_DIFFERENCE
      pos:
        line_end: 547
        line_start: 545
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rate of change of Scale difference"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_REFERENCE_EPOCH
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Parameter reference epoch"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ORDINATE_1_EVAL_POINT
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8617'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ORDINATE_2_EVAL_POINT
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8618'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ORDINATE_3_EVAL_POINT
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8667'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ORDINATE_1_EVAL_POINT
      pos:
        line_end: 555
        line_start: 553
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ordinate 1 of evaluation point"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ORDINATE_2_EVAL_POINT
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ordinate 2 of evaluation point"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ORDINATE_3_EVAL_POINT
      pos:
        line_end: 559
        line_start: 557
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ordinate 3 of evaluation point"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_TRANSFORMATION_REFERENCE_EPOCH
      pos:
        line_end: 562
        line_start: 560
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Transformation reference epoch"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_MOLODENSKY
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Molodensky"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_MOLODENSKY
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9604'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_ABRIDGED_MOLODENSKY
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Abridged Molodensky"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_ABRIDGED_MOLODENSKY
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9605'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SEMI_MAJOR_AXIS_DIFFERENCE
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8654'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_FLATTENING_DIFFERENCE
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8655'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SEMI_MAJOR_AXIS_DIFFERENCE
      pos:
        line_end: 574
        line_start: 572
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Semi-major axis length difference"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_FLATTENING_DIFFERENCE
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Flattening difference"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_SOUTH_POLE_LATITUDE_GRIB_CONVENTION
      pos:
        line_end: 578
        line_start: 576
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude of the southern pole (GRIB convention)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_SOUTH_POLE_LONGITUDE_GRIB_CONVENTION
      pos:
        line_end: 581
        line_start: 579
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude of the southern pole (GRIB convention)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_AXIS_ROTATION_GRIB_CONVENTION
      pos:
        line_end: 584
        line_start: 582
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Axis rotation (GRIB convention)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_GRID_NORTH_POLE_LATITUDE_NETCDF_CONVENTION
      pos:
        line_end: 587
        line_start: 585
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Grid north pole latitude (netCDF CF convention)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_GRID_NORTH_POLE_LONGITUDE_NETCDF_CONVENTION
      pos:
        line_end: 590
        line_start: 588
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Grid north pole longitude (netCDF CF convention)"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_NORTH_POLE_GRID_LONGITUDE_NETCDF_CONVENTION
      pos:
        line_end: 593
        line_start: 591
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"North pole grid longitude (netCDF CF convention)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NTV1
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9614'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NTV1
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"NTv1"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NTV2
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9615'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NTV2
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"NTv2"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_LONGITUDE_DIFFERENCE_FILE
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8656'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_LONGITUDE_DIFFERENCE_FILE
      pos:
        line_end: 605
        line_start: 603
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude and longitude difference file"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOID_CORRECTION_FILENAME
      pos:
        line_end: 608
        line_start: 606
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geoid (height correction) model file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOID_CORRECTION_FILENAME
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8666'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATION_BY_GRID_INTERPOLATION_IGN
      pos:
        line_end: 613
        line_start: 611
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translation by Grid Interpolation (IGN)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATION_BY_GRID_INTERPOLATION_IGN
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1087'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATIONS_GEOG2D_DOMAIN_BY_GRID_IGN
      pos:
        line_end: 618
        line_start: 616
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translations (geog2D domain) by grid (IGN)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATIONS_GEOG2D_DOMAIN_BY_GRID_IGN
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1087'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOCENTRIC_TRANSLATION_FILE
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8727'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOCENTRIC_TRANSLATION_FILE
      pos:
        line_end: 623
        line_start: 621
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translation file"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS
      pos:
        line_end: 626
        line_start: 624
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"EPSG code for Interpolation CRS"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1048'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POINT_MOTION_BY_GRID_CANADA_NTV2_VEL
      pos:
        line_end: 632
        line_start: 630
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Point motion by grid (Canada NTv2_Vel)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POINT_MOTION_BY_GRID_CANADA_NTV2_VEL
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1070'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POINT_MOTION_BY_GRID_CANADA_NEU_DOMAIN_NTV2_VEL
      pos:
        line_end: 637
        line_start: 635
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Point motion by grid (NEU domain) (NTv2_Vel)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POINT_MOTION_BY_GRID_CANADA_NEU_DOMAIN_NTV2_VEL
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1141'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POINT_MOTION_GEOG3D_DOMAIN_USING_NEU_VELOCITY_GRID_NTV2_VEL
      pos:
        line_end: 642
        line_start: 640
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Point motion (geog3D domain) using NEU velocity grid (NTv2_Vel)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POINT_MOTION_GEOG3D_DOMAIN_USING_NEU_VELOCITY_GRID_NTV2_VEL
      pos:
        line_end: 644
        line_start: 642
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1141'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_POINT_MOTION_VELOCITY_GRID_FILE
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1050'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_POINT_MOTION_VELOCITY_GRID_FILE
      pos:
        line_end: 648
        line_start: 646
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Point motion velocity grid file"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POINT_MOTION_GEOCEN_DOMAIN_USING_NEU_VELOCITY_GRID_GRAVSOFT
      pos:
        line_end: 651
        line_start: 649
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1139'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POINT_MOTION_GEOCEN_DOMAIN_USING_NEU_VELOCITY_GRID_GRAVSOFT
      pos:
        line_end: 653
        line_start: 651
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Point motion (geocen domain) using NEU velocity grid (Gravsoft)"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_POINT_MOTION_VELOCITY_NORTH_GRID_FILE
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1072'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_POINT_MOTION_VELOCITY_NORTH_GRID_FILE
      pos:
        line_end: 657
        line_start: 655
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Point motion velocity north grid file"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATIONS_BY_GRID_GTG_AND_GEOCENTRIC_TRANSLATIONS_NEU_VELOCITIES_GTG
      pos:
        line_end: 660
        line_start: 658
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1142'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATIONS_BY_GRID_GTG_AND_GEOCENTRIC_TRANSLATIONS_NEU_VELOCITIES_GTG
      pos:
        line_end: 663
        line_start: 660
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: "\"Geocen translations by grid (gtg) & Geocen translations NEU
        \"                                          \\\n    \"velocities (gtg)\""
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_POSITION_VECTOR_GEOCENTRIC_AND_GEOCENTRIC_TRANSLATIONS_NEU_VELOCITIES_GTG
      pos:
        line_end: 666
        line_start: 664
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1143'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_POSITION_VECTOR_GEOCENTRIC_AND_GEOCENTRIC_TRANSLATIONS_NEU_VELOCITIES_GTG
      pos:
        line_end: 668
        line_start: 666
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Position Vector (geocen) & Geocen translations NEU velocities
        (gtg)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TRANSLATIONS_USING_NEU_VELOCITY_GRID_GTG
      pos:
        line_end: 671
        line_start: 669
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1144'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TRANSLATIONS_USING_NEU_VELOCITY_GRID_GTG
      pos:
        line_end: 673
        line_start: 671
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric translations using NEU velocity grid (gtg)"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SOURCE_EPOCH
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1068'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SOURCE_EPOCH
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Source epoch"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_TARGET_EPOCH
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1069'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_TARGET_EPOCH
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Target epoch"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NEW_ZEALAND_DEFORMATION_MODEL
      pos:
        line_end: 684
        line_start: 682
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"New Zealand Deformation Model"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NEW_ZEALAND_DEFORMATION_MODEL
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1079'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC3D_OFFSET_BY_VELOCITY_GRID_NRCAN
      pos:
        line_end: 692
        line_start: 690
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic3D Offset by velocity grid (NRCan byn)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC3D_OFFSET_BY_VELOCITY_GRID_NRCAN
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1114'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC3D_OFFSET_BY_VELOCITY_GRID_NTV2_VEL
      pos:
        line_end: 696
        line_start: 694
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic3D Offset by velocity grid (NTv2_Vel)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC3D_OFFSET_BY_VELOCITY_GRID_NTV2_VEL
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1114'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICAL_OFFSET_BY_VELOCITY_GRID_NRCAN
      pos:
        line_end: 703
        line_start: 701
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by velocity grid (NRCan NTv2_Vel)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICAL_OFFSET_BY_VELOCITY_GRID_NRCAN
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1113'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICAL_OFFSET_USING_NEU_VELOCITY_GRID_NTV2_VEL
      pos:
        line_end: 709
        line_start: 707
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset using NEU velocity grid (NTv2_Vel)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICAL_OFFSET_USING_NEU_VELOCITY_GRID_NTV2_VEL
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1113'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC3D_TO_GRAVITYRELATEDHEIGHT
      pos:
        line_end: 715
        line_start: 713
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic3D to GravityRelatedHeight"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC3D_TO_GRAVITYRELATEDHEIGHT
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1136'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC3D_TO_GEOG2D_GRAVITYRELATEDHEIGHT
      pos:
        line_end: 719
        line_start: 717
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geog3D to Geog2D+GravityRelatedHeight"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC3D_TO_GEOG2D_GRAVITYRELATEDHEIGHT
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1131'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_HEIGHT_TO_GEOG3D
      pos:
        line_end: 725
        line_start: 723
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"GravityRelatedHeight to Geographic3D"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_CTABLE2
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"CTABLE2"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_HORIZONTAL_SHIFT_GTIFF
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"HORIZONTAL_SHIFT_GTIFF"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GENERAL_SHIFT_GTIFF
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"GENERAL_SHIFT_GTIFF"'
    - item_type: preproc_def
      name: PROJ_WKT2_PARAMETER_LATITUDE_LONGITUDE_ELLIPOISDAL_HEIGHT_DIFFERENCE_FILE
      pos:
        line_end: 734
        line_start: 732
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude, longitude and ellipsoidal height difference file"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTCON
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9658'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTCON_OLDNAME
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"VERTCON"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTCON
      pos:
        line_end: 741
        line_start: 739
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (VERTCON)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_NZLVD
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1071'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_NZLVD
      pos:
        line_end: 745
        line_start: 743
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (NZLVD)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_BEV_AT
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1080'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_BEV_AT
      pos:
        line_end: 749
        line_start: 747
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (BEV AT)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_GTX
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1084'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_GTX
      pos:
        line_end: 753
        line_start: 751
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (gtx)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_ASC
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1085'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_ASC
      pos:
        line_end: 757
        line_start: 755
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (asc)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_GTG
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1129'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_GTG
      pos:
        line_end: 761
        line_start: 759
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (gtg)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_PL_TXT
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1101'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_PL_TXT
      pos:
        line_end: 765
        line_start: 763
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (PL txt)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALGRID_NRCAN_BYN
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1112'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALGRID_NRCAN_BYN
      pos:
        line_end: 771
        line_start: 769
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by Grid Interpolation (NRCan byn)"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_VERTICAL_OFFSET_FILE
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical offset file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_VERTICAL_OFFSET_FILE
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8732'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICALCHANGE_BY_GEOID_GRID_DIFFERENCE_NRCAN
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1126'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICALCHANGE_BY_GEOID_GRID_DIFFERENCE_NRCAN
      pos:
        line_end: 778
        line_start: 776
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical change by geoid grid difference (NRCan)"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOID_MODEL_DIFFERENCE_FILE
      pos:
        line_end: 781
        line_start: 779
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geoid model difference file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOID_MODEL_DIFFERENCE_FILE
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1063'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NADCON
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9613'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NADCON
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"NADCON"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_DIFFERENCE_FILE
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude difference file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_DIFFERENCE_FILE
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8657'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_DIFFERENCE_FILE
      pos:
        line_end: 793
        line_start: 791
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude difference file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_DIFFERENCE_FILE
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8658'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NADCON5_2D
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1074'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NADCON5_2D
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"NADCON5 (2D)"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ELLIPSOIDAL_HEIGHT_DIFFERENCE_FILE
      pos:
        line_end: 800
        line_start: 798
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ellipsoidal height difference file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ELLIPSOIDAL_HEIGHT_DIFFERENCE_FILE
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1058'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_NADCON5_3D
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1075'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_NADCON5_3D
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"NADCON5 (3D)"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICAL_OFFSET_BY_TIN_INTERPOLATION_JSON
      pos:
        line_end: 811
        line_start: 809
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset by TIN Interpolation (JSON)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICAL_OFFSET_BY_TIN_INTERPOLATION_JSON
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1137'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_CARTESIAN_GRID_OFFSETS_BY_TIN_INTERPOLATION_JSON
      pos:
        line_end: 815
        line_start: 813
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Cartesian Grid Offsets by TIN Interpolation (JSON)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_CARTESIAN_GRID_OFFSETS_BY_TIN_INTERPOLATION_JSON
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1138'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC2D_OFFSETS_BY_TIN_INTERPOLATION_JSON
      pos:
        line_end: 819
        line_start: 817
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic2D Offsets by TIN Interpolation (JSON)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC2D_OFFSETS_BY_TIN_INTERPOLATION_JSON
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1145'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_TIN_OFFSET_FILE
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"TIN offset file"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_TIN_OFFSET_FILE
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1064'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1069'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_CHANGE_VERTICAL_UNIT
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Change of Vertical Unit"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT_NO_CONV_FACTOR
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1104'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_CHANGE_VERTICAL_UNIT_NO_CONV_FACTOR
      pos:
        line_end: 832
        line_start: 830
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Change of Vertical Unit"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_UNIT_CONVERSION_SCALAR
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Unit conversion scalar"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_UNIT_CONVERSION_SCALAR
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1051'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_LONGITUDE_ROTATION
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9601'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_LONGITUDE_ROTATION
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude rotation"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICAL_OFFSET
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9616'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICAL_OFFSET
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_VERTICAL_OFFSET_AND_SLOPE
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1046'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_VERTICAL_OFFSET_AND_SLOPE
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset and Slope"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC2D_OFFSETS
      pos:
        line_end: 848
        line_start: 847
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9619'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC2D_OFFSETS
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic2D offsets"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC2D_WITH_HEIGHT_OFFSETS
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9618'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC2D_WITH_HEIGHT_OFFSETS
      pos:
        line_end: 853
        line_start: 851
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic2D with Height Offsets"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC3D_OFFSETS
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9660'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC3D_OFFSETS
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic3D offsets"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC_GEOCENTRIC
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9602'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC_GEOCENTRIC
      pos:
        line_end: 860
        line_start: 858
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic/geocentric conversions"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LATITUDE_OFFSET
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Latitude offset"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LATITUDE_OFFSET
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8601'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_LONGITUDE_OFFSET
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Longitude offset"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_LONGITUDE_OFFSET
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8602'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_VERTICAL_OFFSET
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Vertical Offset"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_VERTICAL_OFFSET
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8603'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOID_HEIGHT
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geoid height"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOID_HEIGHT
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8604'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOID_UNDULATION
      pos:
        line_end: 875
        line_start: 874
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geoid undulation"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOID_UNDULATION
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8604'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_INCLINATION_IN_LATITUDE
      pos:
        line_end: 878
        line_start: 877
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Inclination in latitude"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_INCLINATION_IN_LATITUDE
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8730'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_INCLINATION_IN_LONGITUDE
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Inclination in longitude"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_INCLINATION_IN_LONGITUDE
      pos:
        line_end: 882
        line_start: 881
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8731'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS
      pos:
        line_end: 885
        line_start: 883
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"EPSG code for Horizontal CRS"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1037'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_AFFINE_PARAMETRIC_TRANSFORMATION
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9624'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_AFFINE_PARAMETRIC_TRANSFORMATION
      pos:
        line_end: 892
        line_start: 890
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Affine parametric transformation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_A0
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"A0"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_A0
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8623'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_A1
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"A1"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_A1
      pos:
        line_end: 898
        line_start: 897
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8624'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_A2
      pos:
        line_end: 900
        line_start: 899
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"A2"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_A2
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8625'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_B0
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"B0"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_B0
      pos:
        line_end: 904
        line_start: 903
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8639'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_B1
      pos:
        line_end: 906
        line_start: 905
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"B1"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_B1
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8640'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_B2
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"B2"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_B2
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8641'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_3D_AFFINE_PARAMETRIC_TRANSFORMATION
      pos:
        line_end: 913
        line_start: 911
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"3D Affine parametric transformation"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_A3
      pos:
        line_end: 915
        line_start: 914
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"A3"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_B3
      pos:
        line_end: 916
        line_start: 915
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"B3"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_C0
      pos:
        line_end: 917
        line_start: 916
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"C0"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_C1
      pos:
        line_end: 918
        line_start: 917
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"C1"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_C2
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"C2"'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_PARAMETER_C3
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"C3"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_SIMILARITY_TRANSFORMATION
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9621'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_SIMILARITY_TRANSFORMATION
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Similarity transformation"'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ORDINATE_1_EVAL_POINT_TARGET_CRS
      pos:
        line_end: 928
        line_start: 926
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ordinate 1 of evaluation point in target CRS"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ORDINATE_1_EVAL_POINT_TARGET_CRS
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8621'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ORDINATE_2_EVAL_POINT_TARGET_CRS
      pos:
        line_end: 932
        line_start: 930
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Ordinate 2 of evaluation point in target CRS"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ORDINATE_2_EVAL_POINT_TARGET_CRS
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8622'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_SCALE_FACTOR_FOR_SOURCE_CRS_AXES
      pos:
        line_end: 936
        line_start: 934
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Scale factor for source CRS axes"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_SCALE_FACTOR_FOR_SOURCE_CRS_AXES
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1061'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_ROTATION_ANGLE_OF_SOURCE_CRS_AXES
      pos:
        line_end: 940
        line_start: 938
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Rotation angle of source CRS axes"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_ROTATION_ANGLE_OF_SOURCE_CRS_AXES
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8614'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_AXIS_ORDER_REVERSAL_2D
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9843'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_AXIS_ORDER_REVERSAL_2D
      pos:
        line_end: 946
        line_start: 945
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Axis Order Reversal (2D)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_AXIS_ORDER_REVERSAL_3D
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9844'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_AXIS_ORDER_REVERSAL_3D
      pos:
        line_end: 950
        line_start: 948
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Axis Order Reversal (Geographic3D horizontal)"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_HEIGHT_DEPTH_REVERSAL
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '1068'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_HEIGHT_DEPTH_REVERSAL
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Height Depth Reversal"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_CARTESIAN_GRID_OFFSETS
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9656'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_CARTESIAN_GRID_OFFSETS
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Cartesian Grid Offsets"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_EASTING_OFFSET
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8728'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_EASTING_OFFSET
      pos:
        line_end: 963
        line_start: 962
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Easting offset"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_NORTHING_OFFSET
      pos:
        line_end: 965
        line_start: 964
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8729'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_NORTHING_OFFSET
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Northing offset"'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOCENTRIC_TOPOCENTRIC
      pos:
        line_end: 971
        line_start: 969
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric/topocentric conversions"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOCENTRIC_TOPOCENTRIC
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9836'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOCENTRIC_X_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 975
        line_start: 973
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric X of topocentric origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOCENTRIC_X_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8837'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOCENTRIC_Y_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 979
        line_start: 977
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric Y of topocentric origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOCENTRIC_Y_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 980
        line_start: 979
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8838'
    - item_type: preproc_def
      name: EPSG_NAME_PARAMETER_GEOCENTRIC_Z_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 983
        line_start: 981
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geocentric Z of topocentric origin"'
    - item_type: preproc_def
      name: EPSG_CODE_PARAMETER_GEOCENTRIC_Z_TOPOCENTRIC_ORIGIN
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '8839'
    - item_type: preproc_def
      name: EPSG_NAME_METHOD_GEOGRAPHIC_TOPOCENTRIC
      pos:
        line_end: 989
        line_start: 987
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic/topocentric conversions"'
    - item_type: preproc_def
      name: EPSG_CODE_METHOD_GEOGRAPHIC_TOPOCENTRIC
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '9837'
    - item_type: preproc_def
      name: PROJ_WKT2_NAME_METHOD_GEOGRAPHIC_GEOCENTRIC_LATITUDE
      pos:
        line_end: 995
        line_start: 993
        source_file: /src/PROJ/src/proj_constants.h
      type_or_value: '"Geographic latitude / Geocentric latitude"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - srat
  - pj_gauss_ini
  - pj_gauss
  - pj_inv_gauss
  source_file: /src/PROJ/src/gauss.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/src/gauss.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: DEL_TOL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/src/gauss.cpp
      type_or_value: 1e-14
    structs:
    - fields:
      - name: C
        type: double
      - name: K
        type: double
      - name: e
        type: double
      - name: ratexp
        type: double
      item_type: struct
      name: GAUSS
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/PROJ/src/gauss.cpp
    - fields:
      - name: C
        type: double
      - name: K
        type: double
      - name: e
        type: double
      - name: ratexp
        type: double
      item_type: struct
      name: GAUSS
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/PROJ/src/gauss.cpp
    typedefs: []
    union: []
- function_names:
  - swap_words
  - ExtentAndRes::computeInvRes
  - ExtentAndRes::fullWorldLongitude
  - ExtentAndRes::contains
  - ExtentAndRes::intersects
  - Grid::Grid
  - Grid::~Grid()
  - VerticalShiftGrid::VerticalShiftGrid
  - VerticalShiftGrid::~VerticalShiftGrid()
  - globalExtent
  - NullVerticalShiftGrid::NullVerticalShiftGrid
  - NullVerticalShiftGrid::isNullGrid
  - NullVerticalShiftGrid::isNodata
  - NullVerticalShiftGrid::reassign_context
  - NullVerticalShiftGrid::hasChanged
  - '&metadataItem(const std::string &, int) const override'
  - NullVerticalShiftGrid::valueAt
  - FloatLineCache::FloatLineCache
  - FloatLineCache::insert
  - FloatLineCache::get
  - GTXVerticalShiftGrid::GTXVerticalShiftGrid
  - '&operator=(const GTXVerticalShiftGrid &)'
  - GTXVerticalShiftGrid::GTXVerticalShiftGrid
  - '&metadataItem(const std::string &, int) const override'
  - GTXVerticalShiftGrid::reassign_context
  - GTXVerticalShiftGrid::hasChanged
  - GTXVerticalShiftGrid::~GTXVerticalShiftGrid()
  - GTXVerticalShiftGrid::open
  - GTXVerticalShiftGrid::valueAt
  - GTXVerticalShiftGrid::isNodata
  - VerticalShiftGridSet::VerticalShiftGridSet
  - VerticalShiftGridSet::~VerticalShiftGridSet()
  - IsTIFF
  - BlockCache::insert
  - BlockCache::get
  - GTiffGrid::GTiffGrid
  - '&operator=(const GTiffGrid &)'
  - GTiffGrid::samplesPerPixel
  - GTiffGrid::subfileType
  - GTiffGrid::reassign_context
  - GTiffGrid::hasChanged
  - GTiffGrid::GTiffGrid
  - GTiffGrid::~GTiffGrid()
  - GTiffGrid::readValue
  - GTiffGrid::valueAt
  - GTiffGrid::valuesAt
  - GTiffGrid::isNodata
  - "&GTiffGrid::metadataItem(const std::string &key,\n                                           int
    sample) const"
  - GTiffDataset::GTiffDataset
  - '&operator=(const GTiffDataset &)'
  - GTiffDataset::tiffReadProc
  - GTiffDataset::tiffWriteProc
  - GTiffDataset::tiffSeekProc
  - GTiffDataset::tiffCloseProc
  - GTiffDataset::tiffSizeProc
  - GTiffDataset::tiffMapProc
  - GTiffDataset::tiffUnmapProc
  - GTiffDataset::GTiffDataset
  - GTiffDataset::reassign_context
  - GTiffDataset::~GTiffDataset()
  - OneTimeTIFFTagInit::GTiffTagExtender
  - OneTimeTIFFTagInit::OneTimeTIFFTagInit
  - GTiffDataset::openTIFF
  - GTiffDataset::nextGrid
  - GTiffVGridShiftSet::GTiffVGridShiftSet
  - GTiffVGridShiftSet::reassign_context
  - GTiffVGridShiftSet::reopen
  - insertIntoHierarchy
  - GTiffVGrid::valueAt
  - GTiffVGrid::isNodata
  - "&metadataItem(const std::string &key,\n                                    int
    sample = -1) const override"
  - GTiffVGrid::reassign_context
  - GTiffVGrid::hasChanged
  - GTiffVGridShiftSet::~GTiffVGridShiftSet()
  - GTiffVGrid::GTiffVGrid
  - GTiffVGrid::~GTiffVGrid()
  - GTiffVGrid::insertGrid
  - GTiffVGridShiftSet::open
  - VerticalShiftGridSet::open
  - VerticalShiftGridSet::reopen
  - isPointInExtent
  - VerticalShiftGrid::gridAt
  - VerticalShiftGridSet::gridAt
  - VerticalShiftGridSet::reassign_context
  - HorizontalShiftGrid::HorizontalShiftGrid
  - HorizontalShiftGrid::~HorizontalShiftGrid()
  - HorizontalShiftGridSet::HorizontalShiftGridSet
  - HorizontalShiftGridSet::~HorizontalShiftGridSet()
  - NullHorizontalShiftGrid::NullHorizontalShiftGrid
  - NullHorizontalShiftGrid::isNullGrid
  - NullHorizontalShiftGrid::reassign_context
  - NullHorizontalShiftGrid::hasChanged
  - '&metadataItem(const std::string &, int) const override'
  - NullHorizontalShiftGrid::valueAt
  - to_double
  - NTv1Grid::NTv1Grid
  - '&operator=(const NTv1Grid &)'
  - NTv1Grid::NTv1Grid
  - NTv1Grid::reassign_context
  - NTv1Grid::hasChanged
  - '&metadataItem(const std::string &, int) const override'
  - NTv1Grid::~NTv1Grid()
  - NTv1Grid::open
  - NTv1Grid::valueAt
  - CTable2Grid::CTable2Grid
  - '&operator=(const CTable2Grid &)'
  - CTable2Grid::CTable2Grid
  - CTable2Grid::reassign_context
  - CTable2Grid::hasChanged
  - '&metadataItem(const std::string &, int) const override'
  - CTable2Grid::~CTable2Grid()
  - CTable2Grid::open
  - CTable2Grid::valueAt
  - NTv2GridSet::NTv2GridSet
  - '&operator=(const NTv2GridSet &)'
  - NTv2GridSet::NTv2GridSet
  - NTv2GridSet::reassign_context
  - NTv2Grid::NTv2Grid
  - '&operator=(const NTv2Grid &)'
  - NTv2Grid::NTv2Grid
  - '&metadataItem(const std::string &, int) const override'
  - NTv2Grid::setCache
  - NTv2Grid::reassign_context
  - NTv2Grid::hasChanged
  - NTv2Grid::valueAt
  - NTv2GridSet::~NTv2GridSet()
  - NTv2GridSet::open
  - GTiffHGridShiftSet::GTiffHGridShiftSet
  - GTiffHGridShiftSet::reassign_context
  - GTiffHGridShiftSet::reopen
  - "&metadataItem(const std::string &key,\n                                    int
    sample = -1) const override"
  - GTiffHGrid::reassign_context
  - GTiffHGrid::hasChanged
  - GTiffHGridShiftSet::~GTiffHGridShiftSet()
  - GTiffHGrid::GTiffHGrid
  - GTiffHGrid::~GTiffHGrid()
  - GTiffHGrid::valueAt
  - GTiffHGrid::insertGrid
  - GTiffHGridShiftSet::open
  - HorizontalShiftGridSet::open
  - HorizontalShiftGridSet::reopen
  - HorizontalShiftGrid::gridAt
  - HorizontalShiftGridSet::gridAt
  - HorizontalShiftGridSet::reassign_context
  - GTiffGenericGridShiftSet::GTiffGenericGridShiftSet
  - GTiffGenericGridShiftSet::reassign_context
  - GTiffGenericGridShiftSet::reopen
  - GTiffGenericGrid::samplesPerPixel
  - GTiffGenericGrid::unit
  - GTiffGenericGrid::description
  - "&metadataItem(const std::string &key,\n                                    int
    sample = -1) const override"
  - '&type() const override'
  - GTiffGenericGrid::setFirstGrid
  - GTiffGenericGrid::reassign_context
  - GTiffGenericGrid::hasChanged
  - GTiffGenericGrid::GTiffGenericGrid
  - '&operator=(const GTiffGenericGrid &)'
  - GTiffGenericGridShiftSet::~GTiffGenericGridShiftSet()
  - GTiffGenericGrid::GTiffGenericGrid
  - GTiffGenericGrid::~GTiffGenericGrid()
  - GTiffGenericGrid::valueAt
  - GTiffGenericGrid::valuesAt
  - GTiffGenericGrid::insertGrid
  - NullGenericShiftGrid::NullGenericShiftGrid
  - NullGenericShiftGrid::isNullGrid
  - '&type() const override'
  - NullGenericShiftGrid::samplesPerPixel
  - NullGenericShiftGrid::unit
  - NullGenericShiftGrid::description
  - '&metadataItem(const std::string &, int) const override'
  - NullGenericShiftGrid::reassign_context
  - NullGenericShiftGrid::hasChanged
  - NullGenericShiftGrid::valueAt
  - GTiffGenericGridShiftSet::open
  - GenericShiftGrid::GenericShiftGrid
  - GenericShiftGrid::~GenericShiftGrid()
  - GenericShiftGrid::valuesAt
  - GenericShiftGridSet::GenericShiftGridSet
  - GenericShiftGridSet::~GenericShiftGridSet()
  - GenericShiftGridSet::open
  - GenericShiftGridSet::reopen
  - GenericShiftGrid::gridAt
  - GenericShiftGridSet::gridAt
  - GenericShiftGridSet::gridAt
  - GenericShiftGridSet::reassign_context
  - pj_generic_grid_init
  - findGrid
  - getListOfGridSets
  - pj_hgrid_init
  - pj_hgrid_interpolate
  - pj_hgrid_apply_internal
  - pj_hgrid_apply
  - pj_hgrid_value
  - read_vgrid_value
  - pj_vgrid_init
  - pj_vgrid_value
  - pj_find_generic_grid
  - pj_bilinear_interpolation_three_samples
  - PJ_GRID_INFO::proj_grid_info
  - proj_init_info
  source_file: /src/PROJ/src/grids.cpp
  types:
    enum:
    - enumerators:
      - name: Int16
      - name: Float32
      - name: UInt16
      - name: Int32
      - name: UInt32
      - name: Float64
      item_type: enum
      name: TIFFDataType
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/PROJ/src/grids.cpp
    preproc_defs:
    - item_type: preproc_def
      name: IS_LSB
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/PROJ/src/grids.cpp
      type_or_value: (1 == (reinterpret_cast<const unsigned char *>(&byte_order_test))[0])
    - item_type: preproc_def
      name: REL_TOLERANCE_HGRIDSHIFT
      pos:
        line_end: 2760
        line_start: 2759
        source_file: /src/PROJ/src/grids.cpp
      type_or_value: 1e-5
    - item_type: preproc_def
      name: MAX_ITERATIONS
      pos:
        line_end: 3399
        line_start: 3398
        source_file: /src/PROJ/src/grids.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 3400
        line_start: 3399
        source_file: /src/PROJ/src/grids.cpp
      type_or_value: 1e-12
    structs:
    - fields:
      - name: lam
        type: int32_t
      item_type: struct
      name: ILP
      pos:
        line_end: 3322
        line_start: 3320
        source_file: /src/PROJ/src/grids.cpp
    typedefs:
    - item_type: typedef
      name: Key
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/PROJ/src/grids.cpp
      type: uint64_t
    - item_type: typedef
      name: Key
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/PROJ/src/grids.cpp
      type: uint64_t
    union: []
- function_names:
  - pj_atof
  - replace_point_by_locale_point
  - pj_strtod
  source_file: /src/PROJ/src/strtod.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proj_coord
  - pj_opposite_direction
  - proj_angular_input
  - proj_angular_output
  - proj_degree_input
  - proj_degree_output
  - proj_torad
  - proj_todeg
  - proj_dmstor
  - proj_rtodms
  - proj_rtodms2
  source_file: /src/PROJ/src/coordinates.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_clone_paralist
  - pj_clear_initcache
  - pj_search_initcache
  - pj_insert_initcache
  source_file: /src/PROJ/src/initcache.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_tsfn
  source_file: /src/PROJ/src/tsfn.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_sqlite3_vfs
  - SQLite3VFS::SQLite3VFS
  - '&operator=(const SQLite3VFS &)'
  - SQLite3VFS::raw
  - SQLiteStatement::SQLiteStatement
  - '&operator=(const SQLiteStatement &)'
  - ~SQLiteStatement()
  - SQLiteStatement::execute
  - SQLiteStatement::bindNull
  - SQLiteStatement::bindText
  - SQLiteStatement::bindInt64
  - SQLiteStatement::bindBlob
  - SQLiteStatement::getText
  - SQLiteStatement::getInt64
  - SQLiteStatement::getBlob
  - SQLiteStatement::reset
  - SQLiteStatement::resetResIndex
  source_file: /src/PROJ/src/sqlite3_utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/proj_symbol_rename.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: geod_direct
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_direct
    - item_type: preproc_def
      name: geod_directline
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_directline
    - item_type: preproc_def
      name: geod_gendirect
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_gendirect
    - item_type: preproc_def
      name: geod_gendirectline
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_gendirectline
    - item_type: preproc_def
      name: geod_geninverse
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_geninverse
    - item_type: preproc_def
      name: geod_genposition
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_genposition
    - item_type: preproc_def
      name: geod_gensetdistance
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_gensetdistance
    - item_type: preproc_def
      name: geod_init
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_init
    - item_type: preproc_def
      name: geod_inverse
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_inverse
    - item_type: preproc_def
      name: geod_inverseline
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_inverseline
    - item_type: preproc_def
      name: geod_lineinit
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_lineinit
    - item_type: preproc_def
      name: geod_polygon_addedge
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_addedge
    - item_type: preproc_def
      name: geod_polygon_addpoint
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_addpoint
    - item_type: preproc_def
      name: geod_polygonarea
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygonarea
    - item_type: preproc_def
      name: geod_polygon_clear
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_clear
    - item_type: preproc_def
      name: geod_polygon_compute
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_compute
    - item_type: preproc_def
      name: geod_polygon_init
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_init
    - item_type: preproc_def
      name: geod_polygon_testedge
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_testedge
    - item_type: preproc_def
      name: geod_polygon_testpoint
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_polygon_testpoint
    - item_type: preproc_def
      name: geod_position
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_position
    - item_type: preproc_def
      name: geod_setdistance
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_geod_setdistance
    - item_type: preproc_def
      name: proj_alter_id
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_alter_id
    - item_type: preproc_def
      name: proj_alter_name
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_alter_name
    - item_type: preproc_def
      name: proj_angular_input
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_angular_input
    - item_type: preproc_def
      name: proj_angular_output
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_angular_output
    - item_type: preproc_def
      name: proj_area_create
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_area_create
    - item_type: preproc_def
      name: proj_area_destroy
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_area_destroy
    - item_type: preproc_def
      name: proj_area_set_bbox
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_area_set_bbox
    - item_type: preproc_def
      name: proj_area_set_name
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_area_set_name
    - item_type: preproc_def
      name: proj_as_projjson
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_as_projjson
    - item_type: preproc_def
      name: proj_as_proj_string
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_as_proj_string
    - item_type: preproc_def
      name: proj_assign_context
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_assign_context
    - item_type: preproc_def
      name: proj_as_wkt
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_as_wkt
    - item_type: preproc_def
      name: proj_celestial_body_list_destroy
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_celestial_body_list_destroy
    - item_type: preproc_def
      name: proj_cleanup
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_cleanup
    - item_type: preproc_def
      name: proj_clone
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_clone
    - item_type: preproc_def
      name: proj_concatoperation_get_step
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_concatoperation_get_step
    - item_type: preproc_def
      name: proj_concatoperation_get_step_count
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_concatoperation_get_step_count
    - item_type: preproc_def
      name: proj_context_clone
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_clone
    - item_type: preproc_def
      name: proj_context_create
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_create
    - item_type: preproc_def
      name: proj_context_destroy
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_destroy
    - item_type: preproc_def
      name: proj_context_errno
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_errno
    - item_type: preproc_def
      name: proj_context_errno_string
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_errno_string
    - item_type: preproc_def
      name: proj_context_get_database_metadata
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_get_database_metadata
    - item_type: preproc_def
      name: proj_context_get_database_path
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_get_database_path
    - item_type: preproc_def
      name: proj_context_get_database_structure
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_get_database_structure
    - item_type: preproc_def
      name: proj_context_get_url_endpoint
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_get_url_endpoint
    - item_type: preproc_def
      name: proj_context_get_use_proj4_init_rules
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_get_use_proj4_init_rules
    - item_type: preproc_def
      name: proj_context_get_user_writable_directory
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_get_user_writable_directory
    - item_type: preproc_def
      name: proj_context_guess_wkt_dialect
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_guess_wkt_dialect
    - item_type: preproc_def
      name: proj_context_is_network_enabled
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_is_network_enabled
    - item_type: preproc_def
      name: proj_context_set_autoclose_database
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_autoclose_database
    - item_type: preproc_def
      name: proj_context_set_ca_bundle_path
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_ca_bundle_path
    - item_type: preproc_def
      name: proj_context_set_database_path
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_database_path
    - item_type: preproc_def
      name: proj_context_set_enable_network
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_enable_network
    - item_type: preproc_def
      name: proj_context_set_fileapi
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_fileapi
    - item_type: preproc_def
      name: proj_context_set_file_finder
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_file_finder
    - item_type: preproc_def
      name: proj_context_set_network_callbacks
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_network_callbacks
    - item_type: preproc_def
      name: proj_context_set_search_paths
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_search_paths
    - item_type: preproc_def
      name: proj_context_set_sqlite3_vfs_name
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_sqlite3_vfs_name
    - item_type: preproc_def
      name: proj_context_set_url_endpoint
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_url_endpoint
    - item_type: preproc_def
      name: proj_context_set_user_writable_directory
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_set_user_writable_directory
    - item_type: preproc_def
      name: proj_context_use_proj4_init_rules
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_context_use_proj4_init_rules
    - item_type: preproc_def
      name: proj_convert_conversion_to_other_method
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_convert_conversion_to_other_method
    - item_type: preproc_def
      name: proj_coord
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coord
    - item_type: preproc_def
      name: proj_coordinate_metadata_create
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordinate_metadata_create
    - item_type: preproc_def
      name: proj_coordinate_metadata_get_epoch
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordinate_metadata_get_epoch
    - item_type: preproc_def
      name: proj_coordoperation_create_inverse
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_create_inverse
    - item_type: preproc_def
      name: proj_coordoperation_get_accuracy
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_accuracy
    - item_type: preproc_def
      name: proj_coordoperation_get_grid_used
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_grid_used
    - item_type: preproc_def
      name: proj_coordoperation_get_grid_used_count
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_grid_used_count
    - item_type: preproc_def
      name: proj_coordoperation_get_method_info
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_method_info
    - item_type: preproc_def
      name: proj_coordoperation_get_param
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_param
    - item_type: preproc_def
      name: proj_coordoperation_get_param_count
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_param_count
    - item_type: preproc_def
      name: proj_coordoperation_get_param_index
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_param_index
    - item_type: preproc_def
      name: proj_coordoperation_get_towgs84_values
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_get_towgs84_values
    - item_type: preproc_def
      name: proj_coordoperation_has_ballpark_transformation
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_has_ballpark_transformation
    - item_type: preproc_def
      name: proj_coordoperation_is_instantiable
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_is_instantiable
    - item_type: preproc_def
      name: proj_coordoperation_requires_per_coordinate_input_time
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_coordoperation_requires_per_coordinate_input_time
    - item_type: preproc_def
      name: proj_create
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create
    - item_type: preproc_def
      name: proj_create_argv
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_argv
    - item_type: preproc_def
      name: proj_create_cartesian_2D_cs
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_cartesian_2D_cs
    - item_type: preproc_def
      name: proj_create_compound_crs
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_compound_crs
    - item_type: preproc_def
      name: proj_create_conversion
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion
    - item_type: preproc_def
      name: proj_create_conversion_albers_equal_area
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_albers_equal_area
    - item_type: preproc_def
      name: proj_create_conversion_american_polyconic
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_american_polyconic
    - item_type: preproc_def
      name: proj_create_conversion_azimuthal_equidistant
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_azimuthal_equidistant
    - item_type: preproc_def
      name: proj_create_conversion_bonne
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_bonne
    - item_type: preproc_def
      name: proj_create_conversion_cassini_soldner
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_cassini_soldner
    - item_type: preproc_def
      name: proj_create_conversion_eckert_i
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_eckert_i
    - item_type: preproc_def
      name: proj_create_conversion_eckert_ii
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_eckert_ii
    - item_type: preproc_def
      name: proj_create_conversion_eckert_iii
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_eckert_iii
    - item_type: preproc_def
      name: proj_create_conversion_eckert_iv
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_eckert_iv
    - item_type: preproc_def
      name: proj_create_conversion_eckert_v
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_eckert_v
    - item_type: preproc_def
      name: proj_create_conversion_eckert_vi
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_eckert_vi
    - item_type: preproc_def
      name: proj_create_conversion_equal_earth
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_equal_earth
    - item_type: preproc_def
      name: proj_create_conversion_equidistant_conic
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_equidistant_conic
    - item_type: preproc_def
      name: proj_create_conversion_equidistant_cylindrical
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_equidistant_cylindrical
    - item_type: preproc_def
      name: proj_create_conversion_equidistant_cylindrical_spherical
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_equidistant_cylindrical_spherical
    - item_type: preproc_def
      name: proj_create_conversion_gall
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_gall
    - item_type: preproc_def
      name: proj_create_conversion_gauss_schreiber_transverse_mercator
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_gauss_schreiber_transverse_mercator
    - item_type: preproc_def
      name: proj_create_conversion_geostationary_satellite_sweep_x
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_geostationary_satellite_sweep_x
    - item_type: preproc_def
      name: proj_create_conversion_geostationary_satellite_sweep_y
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_geostationary_satellite_sweep_y
    - item_type: preproc_def
      name: proj_create_conversion_gnomonic
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_gnomonic
    - item_type: preproc_def
      name: proj_create_conversion_goode_homolosine
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_goode_homolosine
    - item_type: preproc_def
      name: proj_create_conversion_guam_projection
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_guam_projection
    - item_type: preproc_def
      name: proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
    - item_type: preproc_def
      name: proj_create_conversion_hotine_oblique_mercator_variant_a
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_hotine_oblique_mercator_variant_a
    - item_type: preproc_def
      name: proj_create_conversion_hotine_oblique_mercator_variant_b
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_hotine_oblique_mercator_variant_b
    - item_type: preproc_def
      name: proj_create_conversion_international_map_world_polyconic
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_international_map_world_polyconic
    - item_type: preproc_def
      name: proj_create_conversion_interrupted_goode_homolosine
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_interrupted_goode_homolosine
    - item_type: preproc_def
      name: proj_create_conversion_krovak
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_krovak
    - item_type: preproc_def
      name: proj_create_conversion_krovak_north_oriented
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_krovak_north_oriented
    - item_type: preproc_def
      name: proj_create_conversion_laborde_oblique_mercator
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_laborde_oblique_mercator
    - item_type: preproc_def
      name: proj_create_conversion_lambert_azimuthal_equal_area
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_azimuthal_equal_area
    - item_type: preproc_def
      name: proj_create_conversion_lambert_conic_conformal_1sp
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_conic_conformal_1sp
    - item_type: preproc_def
      name: proj_create_conversion_lambert_conic_conformal_1sp_variant_b
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_conic_conformal_1sp_variant_b
    - item_type: preproc_def
      name: proj_create_conversion_lambert_conic_conformal_2sp
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_conic_conformal_2sp
    - item_type: preproc_def
      name: proj_create_conversion_lambert_conic_conformal_2sp_belgium
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_conic_conformal_2sp_belgium
    - item_type: preproc_def
      name: proj_create_conversion_lambert_conic_conformal_2sp_michigan
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_conic_conformal_2sp_michigan
    - item_type: preproc_def
      name: proj_create_conversion_lambert_cylindrical_equal_area
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_cylindrical_equal_area
    - item_type: preproc_def
      name: proj_create_conversion_lambert_cylindrical_equal_area_spherical
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_lambert_cylindrical_equal_area_spherical
    - item_type: preproc_def
      name: proj_create_conversion_local_orthographic
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_local_orthographic
    - item_type: preproc_def
      name: proj_create_conversion_mercator_variant_a
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_mercator_variant_a
    - item_type: preproc_def
      name: proj_create_conversion_mercator_variant_b
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_mercator_variant_b
    - item_type: preproc_def
      name: proj_create_conversion_miller_cylindrical
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_miller_cylindrical
    - item_type: preproc_def
      name: proj_create_conversion_mollweide
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_mollweide
    - item_type: preproc_def
      name: proj_create_conversion_new_zealand_mapping_grid
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_new_zealand_mapping_grid
    - item_type: preproc_def
      name: proj_create_conversion_oblique_stereographic
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_oblique_stereographic
    - item_type: preproc_def
      name: proj_create_conversion_orthographic
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_orthographic
    - item_type: preproc_def
      name: proj_create_conversion_polar_stereographic_variant_a
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_polar_stereographic_variant_a
    - item_type: preproc_def
      name: proj_create_conversion_polar_stereographic_variant_b
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_polar_stereographic_variant_b
    - item_type: preproc_def
      name: proj_create_conversion_pole_rotation_grib_convention
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_pole_rotation_grib_convention
    - item_type: preproc_def
      name: proj_create_conversion_pole_rotation_netcdf_cf_convention
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_pole_rotation_netcdf_cf_convention
    - item_type: preproc_def
      name: proj_create_conversion_popular_visualisation_pseudo_mercator
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_popular_visualisation_pseudo_mercator
    - item_type: preproc_def
      name: proj_create_conversion_quadrilateralized_spherical_cube
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_quadrilateralized_spherical_cube
    - item_type: preproc_def
      name: proj_create_conversion_robinson
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_robinson
    - item_type: preproc_def
      name: proj_create_conversion_sinusoidal
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_sinusoidal
    - item_type: preproc_def
      name: proj_create_conversion_spherical_cross_track_height
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_spherical_cross_track_height
    - item_type: preproc_def
      name: proj_create_conversion_stereographic
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_stereographic
    - item_type: preproc_def
      name: proj_create_conversion_transverse_mercator
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_transverse_mercator
    - item_type: preproc_def
      name: proj_create_conversion_transverse_mercator_south_oriented
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_transverse_mercator_south_oriented
    - item_type: preproc_def
      name: proj_create_conversion_tunisia_mapping_grid
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_tunisia_mapping_grid
    - item_type: preproc_def
      name: proj_create_conversion_tunisia_mining_grid
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_tunisia_mining_grid
    - item_type: preproc_def
      name: proj_create_conversion_two_point_equidistant
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_two_point_equidistant
    - item_type: preproc_def
      name: proj_create_conversion_utm
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_utm
    - item_type: preproc_def
      name: proj_create_conversion_van_der_grinten
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_van_der_grinten
    - item_type: preproc_def
      name: proj_create_conversion_vertical_perspective
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_vertical_perspective
    - item_type: preproc_def
      name: proj_create_conversion_wagner_i
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_i
    - item_type: preproc_def
      name: proj_create_conversion_wagner_ii
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_ii
    - item_type: preproc_def
      name: proj_create_conversion_wagner_iii
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_iii
    - item_type: preproc_def
      name: proj_create_conversion_wagner_iv
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_iv
    - item_type: preproc_def
      name: proj_create_conversion_wagner_v
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_v
    - item_type: preproc_def
      name: proj_create_conversion_wagner_vi
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_vi
    - item_type: preproc_def
      name: proj_create_conversion_wagner_vii
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_conversion_wagner_vii
    - item_type: preproc_def
      name: proj_create_crs_to_crs
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_crs_to_crs
    - item_type: preproc_def
      name: proj_create_crs_to_crs_from_pj
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_crs_to_crs_from_pj
    - item_type: preproc_def
      name: proj_create_cs
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_cs
    - item_type: preproc_def
      name: proj_create_derived_geographic_crs
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_derived_geographic_crs
    - item_type: preproc_def
      name: proj_create_derived_projected_crs
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_derived_projected_crs
    - item_type: preproc_def
      name: proj_create_ellipsoidal_2D_cs
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_ellipsoidal_2D_cs
    - item_type: preproc_def
      name: proj_create_ellipsoidal_3D_cs
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_ellipsoidal_3D_cs
    - item_type: preproc_def
      name: proj_create_engineering_crs
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_engineering_crs
    - item_type: preproc_def
      name: proj_create_from_database
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_from_database
    - item_type: preproc_def
      name: proj_create_from_name
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_from_name
    - item_type: preproc_def
      name: proj_create_from_wkt
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_from_wkt
    - item_type: preproc_def
      name: proj_create_geocentric_crs
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_geocentric_crs
    - item_type: preproc_def
      name: proj_create_geocentric_crs_from_datum
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_geocentric_crs_from_datum
    - item_type: preproc_def
      name: proj_create_geographic_crs
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_geographic_crs
    - item_type: preproc_def
      name: proj_create_geographic_crs_from_datum
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_geographic_crs_from_datum
    - item_type: preproc_def
      name: proj_create_linear_3D_affine_parametric_conversion
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_linear_3D_affine_parametric_conversion
    - item_type: preproc_def
      name: proj_create_linear_affine_parametric_conversion
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_linear_affine_parametric_conversion
    - item_type: preproc_def
      name: proj_create_operation_factory_context
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_operation_factory_context
    - item_type: preproc_def
      name: proj_create_operations
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_operations
    - item_type: preproc_def
      name: proj_create_projected_crs
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_projected_crs
    - item_type: preproc_def
      name: proj_create_transformation
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_transformation
    - item_type: preproc_def
      name: proj_create_vertical_crs
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_vertical_crs
    - item_type: preproc_def
      name: proj_create_vertical_crs_ex
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_create_vertical_crs_ex
    - item_type: preproc_def
      name: proj_crs_add_horizontal_derived_conversion
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_add_horizontal_derived_conversion
    - item_type: preproc_def
      name: proj_crs_alter_cs_angular_unit
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_alter_cs_angular_unit
    - item_type: preproc_def
      name: proj_crs_alter_cs_linear_unit
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_alter_cs_linear_unit
    - item_type: preproc_def
      name: proj_crs_alter_geodetic_crs
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_alter_geodetic_crs
    - item_type: preproc_def
      name: proj_crs_alter_parameters_linear_unit
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_alter_parameters_linear_unit
    - item_type: preproc_def
      name: proj_crs_create_bound_crs
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_create_bound_crs
    - item_type: preproc_def
      name: proj_crs_create_bound_crs_to_WGS84
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_create_bound_crs_to_WGS84
    - item_type: preproc_def
      name: proj_crs_create_bound_vertical_crs
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_create_bound_vertical_crs
    - item_type: preproc_def
      name: proj_crs_create_projected_3D_crs_from_2D
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_create_projected_3D_crs_from_2D
    - item_type: preproc_def
      name: proj_crs_demote_to_2D
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_demote_to_2D
    - item_type: preproc_def
      name: proj_crs_get_coordinate_system
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_coordinate_system
    - item_type: preproc_def
      name: proj_crs_get_coordoperation
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_coordoperation
    - item_type: preproc_def
      name: proj_crs_get_datum
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_datum
    - item_type: preproc_def
      name: proj_crs_get_datum_ensemble
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_datum_ensemble
    - item_type: preproc_def
      name: proj_crs_get_datum_forced
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_datum_forced
    - item_type: preproc_def
      name: proj_crs_get_geodetic_crs
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_geodetic_crs
    - item_type: preproc_def
      name: proj_crs_get_horizontal_datum
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_horizontal_datum
    - item_type: preproc_def
      name: proj_crs_get_sub_crs
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_get_sub_crs
    - item_type: preproc_def
      name: proj_crs_has_point_motion_operation
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_has_point_motion_operation
    - item_type: preproc_def
      name: proj_crs_info_list_destroy
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_info_list_destroy
    - item_type: preproc_def
      name: proj_crs_is_derived
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_is_derived
    - item_type: preproc_def
      name: proj_crs_promote_to_3D
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_crs_promote_to_3D
    - item_type: preproc_def
      name: proj_cs_get_axis_count
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_cs_get_axis_count
    - item_type: preproc_def
      name: proj_cs_get_axis_info
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_cs_get_axis_info
    - item_type: preproc_def
      name: proj_cs_get_type
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_cs_get_type
    - item_type: preproc_def
      name: proj_datum_ensemble_get_accuracy
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_datum_ensemble_get_accuracy
    - item_type: preproc_def
      name: proj_datum_ensemble_get_member
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_datum_ensemble_get_member
    - item_type: preproc_def
      name: proj_datum_ensemble_get_member_count
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_datum_ensemble_get_member_count
    - item_type: preproc_def
      name: proj_degree_input
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_degree_input
    - item_type: preproc_def
      name: proj_degree_output
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_degree_output
    - item_type: preproc_def
      name: proj_destroy
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_destroy
    - item_type: preproc_def
      name: proj_dmstor
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_dmstor
    - item_type: preproc_def
      name: proj_download_file
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_download_file
    - item_type: preproc_def
      name: proj_dynamic_datum_get_frame_reference_epoch
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_dynamic_datum_get_frame_reference_epoch
    - item_type: preproc_def
      name: proj_ellipsoid_get_parameters
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_ellipsoid_get_parameters
    - item_type: preproc_def
      name: proj_errno
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_errno
    - item_type: preproc_def
      name: proj_errno_reset
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_errno_reset
    - item_type: preproc_def
      name: proj_errno_restore
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_errno_restore
    - item_type: preproc_def
      name: proj_errno_set
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_errno_set
    - item_type: preproc_def
      name: proj_errno_string
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_errno_string
    - item_type: preproc_def
      name: proj_factors
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_factors
    - item_type: preproc_def
      name: proj_geod
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_geod
    - item_type: preproc_def
      name: proj_geod_direct
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_geod_direct
    - item_type: preproc_def
      name: proj_get_area_of_use
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_area_of_use
    - item_type: preproc_def
      name: proj_get_area_of_use_ex
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_area_of_use_ex
    - item_type: preproc_def
      name: proj_get_authorities_from_database
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_authorities_from_database
    - item_type: preproc_def
      name: proj_get_celestial_body_list_from_database
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_celestial_body_list_from_database
    - item_type: preproc_def
      name: proj_get_celestial_body_name
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_celestial_body_name
    - item_type: preproc_def
      name: proj_get_codes_from_database
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_codes_from_database
    - item_type: preproc_def
      name: proj_get_crs_info_list_from_database
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_crs_info_list_from_database
    - item_type: preproc_def
      name: proj_get_crs_list_parameters_create
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_crs_list_parameters_create
    - item_type: preproc_def
      name: proj_get_crs_list_parameters_destroy
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_crs_list_parameters_destroy
    - item_type: preproc_def
      name: proj_get_domain_count
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_domain_count
    - item_type: preproc_def
      name: proj_get_ellipsoid
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_ellipsoid
    - item_type: preproc_def
      name: proj_get_geoid_models_from_database
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_geoid_models_from_database
    - item_type: preproc_def
      name: proj_get_id_auth_name
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_id_auth_name
    - item_type: preproc_def
      name: proj_get_id_code
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_id_code
    - item_type: preproc_def
      name: proj_get_insert_statements
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_insert_statements
    - item_type: preproc_def
      name: proj_get_name
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_name
    - item_type: preproc_def
      name: proj_get_non_deprecated
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_non_deprecated
    - item_type: preproc_def
      name: proj_get_prime_meridian
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_prime_meridian
    - item_type: preproc_def
      name: proj_get_remarks
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_remarks
    - item_type: preproc_def
      name: proj_get_scope
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_scope
    - item_type: preproc_def
      name: proj_get_scope_ex
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_scope_ex
    - item_type: preproc_def
      name: proj_get_source_crs
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_source_crs
    - item_type: preproc_def
      name: proj_get_suggested_operation
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_suggested_operation
    - item_type: preproc_def
      name: proj_get_target_crs
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_target_crs
    - item_type: preproc_def
      name: proj_get_type
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_type
    - item_type: preproc_def
      name: proj_get_units_from_database
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_get_units_from_database
    - item_type: preproc_def
      name: proj_grid_cache_clear
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_cache_clear
    - item_type: preproc_def
      name: proj_grid_cache_set_enable
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_cache_set_enable
    - item_type: preproc_def
      name: proj_grid_cache_set_filename
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_cache_set_filename
    - item_type: preproc_def
      name: proj_grid_cache_set_max_size
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_cache_set_max_size
    - item_type: preproc_def
      name: proj_grid_cache_set_ttl
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_cache_set_ttl
    - item_type: preproc_def
      name: proj_grid_get_info_from_database
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_get_info_from_database
    - item_type: preproc_def
      name: proj_grid_info
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_grid_info
    - item_type: preproc_def
      name: proj_identify
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_identify
    - item_type: preproc_def
      name: proj_info
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_info
    - item_type: preproc_def
      name: projinfo
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_projinfo
    - item_type: preproc_def
      name: proj_init_info
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_init_info
    - item_type: preproc_def
      name: proj_insert_object_session_create
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_insert_object_session_create
    - item_type: preproc_def
      name: proj_insert_object_session_destroy
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_insert_object_session_destroy
    - item_type: preproc_def
      name: proj_int_list_destroy
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_int_list_destroy
    - item_type: preproc_def
      name: proj_is_crs
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_is_crs
    - item_type: preproc_def
      name: proj_is_deprecated
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_is_deprecated
    - item_type: preproc_def
      name: proj_is_derived_crs
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_is_derived_crs
    - item_type: preproc_def
      name: proj_is_download_needed
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_is_download_needed
    - item_type: preproc_def
      name: proj_is_equivalent_to
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_is_equivalent_to
    - item_type: preproc_def
      name: proj_is_equivalent_to_with_ctx
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_is_equivalent_to_with_ctx
    - item_type: preproc_def
      name: proj_list_angular_units
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_angular_units
    - item_type: preproc_def
      name: proj_list_destroy
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_destroy
    - item_type: preproc_def
      name: proj_list_ellps
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_ellps
    - item_type: preproc_def
      name: proj_list_get
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_get
    - item_type: preproc_def
      name: proj_list_get_count
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_get_count
    - item_type: preproc_def
      name: proj_list_operations
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_operations
    - item_type: preproc_def
      name: proj_list_prime_meridians
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_prime_meridians
    - item_type: preproc_def
      name: proj_list_units
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_list_units
    - item_type: preproc_def
      name: proj_log_func
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_log_func
    - item_type: preproc_def
      name: proj_log_level
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_log_level
    - item_type: preproc_def
      name: proj_lp_dist
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_lp_dist
    - item_type: preproc_def
      name: proj_lpz_dist
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_lpz_dist
    - item_type: preproc_def
      name: proj_normalize_for_visualization
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_normalize_for_visualization
    - item_type: preproc_def
      name: proj_operation_factory_context_destroy
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_destroy
    - item_type: preproc_def
      name: proj_operation_factory_context_set_allow_ballpark_transformations
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_allow_ballpark_transformations
    - item_type: preproc_def
      name: proj_operation_factory_context_set_allowed_intermediate_crs
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_allowed_intermediate_crs
    - item_type: preproc_def
      name: proj_operation_factory_context_set_allow_use_intermediate_crs
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_allow_use_intermediate_crs
    - item_type: preproc_def
      name: proj_operation_factory_context_set_area_of_interest
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_area_of_interest
    - item_type: preproc_def
      name: proj_operation_factory_context_set_area_of_interest_name
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_area_of_interest_name
    - item_type: preproc_def
      name: proj_operation_factory_context_set_crs_extent_use
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_crs_extent_use
    - item_type: preproc_def
      name: proj_operation_factory_context_set_desired_accuracy
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_desired_accuracy
    - item_type: preproc_def
      name: proj_operation_factory_context_set_discard_superseded
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_discard_superseded
    - item_type: preproc_def
      name: proj_operation_factory_context_set_grid_availability_use
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_grid_availability_use
    - item_type: preproc_def
      name: proj_operation_factory_context_set_spatial_criterion
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_spatial_criterion
    - item_type: preproc_def
      name: proj_operation_factory_context_set_use_proj_alternative_grid_names
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_operation_factory_context_set_use_proj_alternative_grid_names
    - item_type: preproc_def
      name: proj_pj_info
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_pj_info
    - item_type: preproc_def
      name: proj_prime_meridian_get_parameters
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_prime_meridian_get_parameters
    - item_type: preproc_def
      name: proj_query_geodetic_crs_from_datum
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_query_geodetic_crs_from_datum
    - item_type: preproc_def
      name: proj_roundtrip
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_roundtrip
    - item_type: preproc_def
      name: proj_rtodms
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_rtodms
    - item_type: preproc_def
      name: proj_rtodms2
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_rtodms2
    - item_type: preproc_def
      name: proj_string_destroy
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_string_destroy
    - item_type: preproc_def
      name: proj_string_list_destroy
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_string_list_destroy
    - item_type: preproc_def
      name: proj_suggests_code_for
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_suggests_code_for
    - item_type: preproc_def
      name: proj_todeg
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_todeg
    - item_type: preproc_def
      name: proj_torad
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_torad
    - item_type: preproc_def
      name: proj_trans
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_trans
    - item_type: preproc_def
      name: proj_trans_array
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_trans_array
    - item_type: preproc_def
      name: proj_trans_bounds
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_trans_bounds
    - item_type: preproc_def
      name: proj_trans_bounds_3D
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_trans_bounds_3D
    - item_type: preproc_def
      name: proj_trans_generic
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_trans_generic
    - item_type: preproc_def
      name: proj_trans_get_last_used_operation
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_trans_get_last_used_operation
    - item_type: preproc_def
      name: proj_unit_list_destroy
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_unit_list_destroy
    - item_type: preproc_def
      name: proj_uom_get_info_from_database
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_uom_get_info_from_database
    - item_type: preproc_def
      name: proj_xy_dist
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_xy_dist
    - item_type: preproc_def
      name: proj_xyz_dist
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_proj_xyz_dist
    - item_type: preproc_def
      name: pj_release
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/PROJ/src/proj_symbol_rename.h
      type_or_value: internal_pj_release
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_get_ctx
  - proj_assign_context
  - pj_ctx::createDefault
  - pj_ctx::get_cpp_context
  - pj_ctx::set_search_paths
  - pj_ctx::set_ca_bundle_path
  - pj_ctx::pj_ctx
  - pj_get_default_ctx
  - pj_ctx::~pj_ctx()
  - proj_context_clone
  - proj_errno
  - proj_context_errno
  - proj_errno_set
  - proj_errno_restore
  - proj_errno_reset
  - proj_context_create
  - proj_context_destroy
  - proj_context_use_proj4_init_rules
  - EQUAL
  - proj_context_get_use_proj4_init_rules
  source_file: /src/PROJ/src/ctx.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - skip_prep_fin
  - cs2cs_emulation_setup
  - pj_create_internal
  - proj_create_argv
  - pj_create_argv_internal
  source_file: /src/PROJ/src/create.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_wkt_error
  source_file: /src/PROJ/src/wkt_parser.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_strdup
  - free_params
  - proj_destroy
  - PJconsts::PJconsts
  - PJconsts::copyStateFrom
  - pj_new
  - pj_default_destructor
  - proj_cleanup
  source_file: /src/PROJ/src/malloc.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proj_errno_string
  - proj_context_errno_string
  source_file: /src/PROJ/src/strerrno.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: num
        type: int
      - name: '*str'
        type: char
      item_type: struct
      name: "error_strings[] = {\n\n    {PROJ_ERR_INVALID_OP_WRONG_SYNTAX, _(\"Invalid
        PROJ string syntax\")},\n    {PROJ_ERR_INVALID_OP_MISSING_ARG, _(\"Missing
        argument\")},\n    {PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE, _(\"Invalid value
        for an argument\")},\n    {PROJ_ERR_INVALID_OP_MUTUALLY_EXCLUSIVE_ARGS,\n
        \    _(\"Mutually exclusive arguments\")},\n    {PROJ_ERR_INVALID_OP_FILE_NOT_FOUND_OR_INVALID,\n
        \    _(\"File not found or invalid\")},\n    {PROJ_ERR_COORD_TRANSFM_INVALID_COORD,
        _(\"Invalid coordinate\")},\n    {PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN,\n
        \    _(\"Point outside of projection domain\")},\n    {PROJ_ERR_COORD_TRANSFM_NO_OPERATION,\n
        \    _(\"No operation matching criteria found for coordinate\")},\n    {PROJ_ERR_COORD_TRANSFM_OUTSIDE_GRID,\n
        \    _(\"Coordinate to transform falls outside grid\")},\n    {PROJ_ERR_COORD_TRANSFM_GRID_AT_NODATA,\n
        \    _(\"Coordinate to transform falls into a grid cell that evaluates to
        \"\n       \"nodata\")},\n    {PROJ_ERR_COORD_TRANSFM_NO_CONVERGENCE,\n     _(\"Iterative
        method fails to converge on coordinate to transform\")},\n    {PROJ_ERR_COORD_TRANSFM_MISSING_TIME,\n
        \    _(\"Coordinate to transform lacks time\")},\n    {PROJ_ERR_OTHER_API_MISUSE,
        _(\"API misuse\")},\n    {PROJ_ERR_OTHER_NO_INVERSE_OP, _(\"No inverse operation\")},\n
        \   {PROJ_ERR_OTHER_NETWORK_ERROR,\n     _(\"Network error when accessing
        a remote resource\")},\n}"
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/PROJ/src/strerrno.cpp
    typedefs: []
    union: []
- function_names:
  - set_rtodms
  - rtodms
  source_file: /src/PROJ/src/rtodms.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GEODESIC_VERSION_NUM
  source_file: /src/PROJ/src/geodesic.h
  types:
    enum:
    - enumerators:
      - name: GEOD_NONE
        value: 0U
      - name: GEOD_LATITUDE
        value: 1U<<7  | 0U
      - name: GEOD_DISTANCE
        value: 1U<<10 | 1U<<0
      - name: GEOD_AZIMUTH
        value: 1U<<9  | 0U
      - name: GEOD_LONGITUDE
        value: 1U<<8  | 1U<<3
      - name: GEOD_DISTANCE_IN
        value: 1U<<11 | 1U<<0 | 1U<<1
      - name: GEOD_REDUCEDLENGTH
        value: 1U<<12 | 1U<<0 | 1U<<2
      - name: GEOD_GEODESICSCALE
        value: 1U<<13 | 1U<<0 | 1U<<2
      - name: GEOD_AREA
        value: 1U<<14 | 1U<<4
      - name: GEOD_ALL
        value: 0x7F80U| 0x1FU
      item_type: enum
      name: geod_mask
      pos:
        line_end: 820
        line_start: 809
        source_file: /src/PROJ/src/geodesic.h
    - enumerators:
      - name: GEOD_NOFLAGS
        value: 0U
      - name: GEOD_ARCMODE
        value: 1U<<0
      - name: GEOD_LONG_UNROLL
        value: 1U<<15
      item_type: enum
      name: geod_flags
      pos:
        line_end: 830
        line_start: 826
        source_file: /src/PROJ/src/geodesic.h
    preproc_defs:
    - item_type: preproc_def
      name: GEODESIC_H
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GEODESIC_VERSION_MAJOR
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GEODESIC_VERSION_MINOR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GEODESIC_VERSION_PATCH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GEODESIC_VERSION
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: "GEODESIC_VERSION_NUM(GEODESIC_VERSION_MAJOR, \\\n                      GEODESIC_VERSION_MINOR,
        \\\n                      GEODESIC_VERSION_PATCH)"
    - item_type: preproc_def
      name: GEOD_DLL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: GEOD_DLL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/src/geodesic.h
      type_or_value: __attribute__ ((visibility("default")))
    structs:
    - fields:
      - name: a
        type: double
      - name: f
        type: double
      - name: f1
        type: double
      - name: A3x[6]
        type: double
      item_type: struct
      name: geod_geodesic
      pos:
        line_end: 92
        line_start: 85
        source_file: /src/PROJ/src/geodesic.h
    - fields:
      - name: lat1
        type: double
      - name: lon1
        type: double
      - name: azi1
        type: double
      - name: a
        type: double
      - name: f
        type: double
      - name: salp1
        type: double
      - name: calp1
        type: double
      - name: a13
        type: double
      - name: s13
        type: double
      - name: b
        type: double
      - name: C1a[6+1]
        type: double
      - name: caps
        type: unsigned
      item_type: struct
      name: geod_geodesicline
      pos:
        line_end: 116
        line_start: 99
        source_file: /src/PROJ/src/geodesic.h
    - fields:
      - name: lat
        type: double
      - name: lon
        type: double
      - name: lat0
        type: double
      - name: lon0
        type: double
      - name: A[2]
        type: double
      - name: P[2]
        type: double
      - name: polyline
        type: int
      - name: crossings
        type: int
      - name: num
        type: unsigned
      item_type: struct
      name: geod_polygon
      pos:
        line_end: 135
        line_start: 123
        source_file: /src/PROJ/src/geodesic.h
    typedefs: []
    union: []
- function_names:
  - PJCoordOperation::~PJCoordOperation()
  - PJCoordOperation::isInstantiable
  - isSpecialCaseForNAD83_to_NAD83HARN
  - isSpecialCaseForGDA94_to_WGS84
  - isSpecialCaseForWGS84_to_GDA2020
  - PJCoordOperation::PJCoordOperation
  source_file: /src/PROJ/src/coord_operation.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CPLAssert
  - CPLSPrintf
  - CPLJSonStreamingWriter::~CPLJSonStreamingWriter()
  - CPLJSonStreamingWriter::Print
  - CPLJSonStreamingWriter::SetIndentationSize
  - CPLJSonStreamingWriter::IncIndent
  - CPLJSonStreamingWriter::DecIndent
  - CPLJSonStreamingWriter::FormatString
  - CPLJSonStreamingWriter::EmitCommaIfNeeded
  - CPLJSonStreamingWriter::StartObj
  - CPLJSonStreamingWriter::EndObj
  - CPLJSonStreamingWriter::StartArray
  - CPLJSonStreamingWriter::EndArray
  - CPLJSonStreamingWriter::AddObjKey
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::AddUnquoted
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::Add
  - CPLJSonStreamingWriter::AddNull
  source_file: /src/PROJ/src/proj_json_streaming_writer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPLIsNan
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/src/proj_json_streaming_writer.cpp
      type_or_value: std::isnan
    - item_type: preproc_def
      name: CPLIsInf
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/src/proj_json_streaming_writer.cpp
      type_or_value: std::isinf
    - item_type: preproc_def
      name: CPL_FRMT_GIB
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/src/proj_json_streaming_writer.cpp
      type_or_value: '"%lld"'
    - item_type: preproc_def
      name: CPL_FRMT_GUIB
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/src/proj_json_streaming_writer.cpp
      type_or_value: '"%llu"'
    structs: []
    typedefs:
    - item_type: typedef
      name: GUIntBig
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/src/proj_json_streaming_writer.cpp
      type: uint64_t
    union: []
- function_names:
  - pj_enfn
  - pj_mlfn
  - pj_inv_mlfn
  source_file: /src/PROJ/src/mlfn.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ExtentAndRes
  - Grid
  - width
  - height
  - extentAndRes
  - name
  - isNullGrid
  - VerticalShiftGrid
  - VerticalShiftGridSet
  - name
  - format
  - std::grids
  - HorizontalShiftGrid
  - HorizontalShiftGridSet
  - name
  - format
  - std::grids
  - GenericShiftGrid
  - GenericShiftGridSet
  - name
  - format
  - std::grids
  source_file: /src/PROJ/src/grids.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ListOfHGrids
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/PROJ/src/grids.hpp
      type: vector<std::unique_ptr<HorizontalShiftGridSet>>
    - item_type: typedef
      name: ListOfVGrids
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/PROJ/src/grids.hpp
      type: vector<std::unique_ptr<VerticalShiftGridSet>>
    - item_type: typedef
      name: ListOfGenericGrids
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/PROJ/src/grids.hpp
      type: vector<std::unique_ptr<GenericShiftGridSet>>
    union: []
- function_names:
  - STR_HELPER
  - STR
  - sleep_ms
  - NetworkChunkCache::Key
  - operator==(const Key &other) const
  - operator()(const Key &k) const
  - DiskChunkCache::DiskChunkCache
  - '&operator=(const DiskChunkCache &)'
  - DiskChunkCache::handle
  - pj_context_get_grid_cache_is_enabled
  - pj_context_get_grid_cache_max_size
  - pj_context_get_grid_cache_ttl
  - DiskChunkCache::open
  - DiskChunkCache::DiskChunkCache
  - DiskChunkCache::initialize
  - DiskChunkCache::createDBStructure
  - DiskChunkCache::checkConsistency
  - DiskChunkCache::commitAndClose
  - DiskChunkCache::~DiskChunkCache()
  - DiskChunkCache::closeAndUnlink
  - DiskChunkCache::prepare
  - DiskChunkCache::get_links
  - DiskChunkCache::update_links_of_prev_and_next_links
  - DiskChunkCache::update_linked_chunks
  - DiskChunkCache::update_linked_chunks_head_tail
  - DiskChunkCache::move_to_head
  - DiskChunkCache::move_to_tail
  - NetworkChunkCache::insert
  - NetworkChunkCache::get
  - NetworkChunkCache::get
  - NetworkChunkCache::clearMemoryCache
  - NetworkChunkCache::clearDiskChunkCache
  - NetworkFilePropertiesCache::insert
  - NetworkFilePropertiesCache::tryGet
  - NetworkFilePropertiesCache::clearMemoryCache
  - NetworkFile::NetworkFile
  - '&operator=(const NetworkFile &)'
  - NetworkFile::NetworkFile
  - NetworkFile::write
  - NetworkFile::hasChanged
  - NetworkFile::get_props_from_headers
  - NetworkFile::open
  - pj_network_file_open
  - NetworkFile::read
  - NetworkFile::seek
  - NetworkFile::tell
  - NetworkFile::~NetworkFile()
  - NetworkFile::reassign_context
  - CurlFileHandle
  - '&operator=(const CurlFileHandle &)'
  - GetExecutableName
  - checkRet
  - CHECK_RET
  - pj_context_get_bundle_path
  - pj_context_get_native_ca
  - CurlFileHandle::CurlFileHandle
  - CurlFileHandle::~CurlFileHandle()
  - pj_curl_write_func
  - GetNewRetryDelay
  - CurlFileHandle::open
  - pj_curl_close
  - pj_curl_read_range
  - pj_curl_get_header_value
  - EmscriptenFileHandle
  - '&operator=(const EmscriptenFileHandle &)'
  - EmscriptenFileHandle::EmscriptenFileHandle
  - EmscriptenFileHandle::~EmscriptenFileHandle()
  - GetNewRetryDelay
  - TRACE_FETCH
  - pj_emscripten_read_range
  - pj_emscripten_get_header_value
  - pj_emscripten_close
  - EmscriptenFileHandle::open
  - no_op_network_open
  - no_op_network_close
  - FileManager::fillDefaultNetworkInterface
  - FileManager::clearMemoryCache
  - nfm_is_tilde_slash
  - nfm_is_rel_or_absolute_filename
  - build_url
  - proj_context_set_network_callbacks
  - proj_context_set_enable_network
  - proj_context_is_network_enabled
  - proj_context_set_url_endpoint
  - proj_grid_cache_set_enable
  - proj_grid_cache_set_filename
  - proj_grid_cache_set_max_size
  - proj_grid_cache_set_ttl
  - proj_grid_cache_clear
  - proj_is_download_needed
  - nfm_getDBcontext
  - proj_download_file
  - pj_context_get_grid_cache_filename
  source_file: /src/PROJ/src/networkfilemanager.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INVALIDATED_SQL_LITERAL
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/PROJ/src/networkfilemanager.cpp
      type_or_value: '"''invalidated''"'
    - item_type: preproc_def
      name: DO_TRACE_FETCH
      pos:
        line_end: 2001
        line_start: 2000
        source_file: /src/PROJ/src/networkfilemanager.cpp
      type_or_value: '0'
    structs:
    - fields:
      - name: size
        type: unsigned long long
      - name: lastChecked
        type: time_t
      - name: lastModified
        type: std::string
      - name: etag
        type: std::string
      item_type: struct
      name: FileProperties
      pos:
        line_end: 123
        line_start: 118
        source_file: /src/PROJ/src/networkfilemanager.cpp
    - fields:
      - name: url
        type: std::string
      - name: chunkIdx
        type: unsigned long long
      item_type: struct
      name: Key
      pos:
        line_end: 152
        line_start: 143
        source_file: /src/PROJ/src/networkfilemanager.cpp
    - fields: []
      item_type: struct
      name: KeyHasher
      pos:
        line_end: 159
        line_start: 154
        source_file: /src/PROJ/src/networkfilemanager.cpp
    - fields:
      - name: m_url
        type: std::string
      - name: '*m_handle'
        type: CURL
      - name: m_headers
        type: std::string
      - name: m_lastval
        type: std::string
      - name: m_useragent
        type: std::string
      - name: m_szCurlErrBuf[CURL_ERROR_SIZE + 1]
        type: char
      - name: "*\n    open(PJ_CONTEXT *, const char *url, unsigned long long offset,\n
          \        size_t size_to_read, void *buffer, size_t *out_size_read,\n         size_t
          error_string_max_size, char *out_error_string, void *)"
        type: PROJ_NETWORK_HANDLE
      item_type: struct
      name: CurlFileHandle
      pos:
        line_end: 1535
        line_start: 1517
        source_file: /src/PROJ/src/networkfilemanager.cpp
    - fields:
      - name: '*m_ctx'
        type: PJ_CONTEXT
      - name: m_url
        type: std::string
      - name: m_headers
        type: std::unordered_map<std::string, std::string>
      - name: m_lastval
        type: std::string
      - name: m_useragent
        type: std::string
      - name: "*\n    open(PJ_CONTEXT *, const char *url, unsigned long long offset,\n
          \        size_t size_to_read, void *buffer, size_t *out_size_read,\n         size_t
          error_string_max_size, char *out_error_string, void *)"
        type: PROJ_NETWORK_HANDLE
      item_type: struct
      name: EmscriptenFileHandle
      pos:
        line_end: 1961
        line_start: 1945
        source_file: /src/PROJ/src/networkfilemanager.cpp
    typedefs: []
    union: []
- function_names:
  - SQLite3VFS::SQLite3VFS
  - SQLite3VFS::~SQLite3VFS()
  - SQLite3VFS::name
  - VFSClose
  - VSFNoOpLockUnlockSync
  - ~pj_sqlite3_customvfs() override
  - ~pj_sqlite3_customvfs() override
  - VFSCustomOpen
  - VFSCustomAccess
  - projSqlite3LogCallback
  - InstallSqliteLogger
  - '&GetSingleton()'
  - InstallSqliteLogger
  - '&GetSingleton()'
  - SQLite3VFS::create
  - VFSNetworkClose
  - VFSNetworkRead
  - VFSNetworkWrite
  - VFSNetworkFileSize
  - VFSNetworkTruncate
  - VFSNetworkSync
  - VFSNetworkLock
  - VFSNetworkUnlock
  - VFSNetworkCheckReservedLock
  - VFSNetworkFileControl
  - VFSNetworkSectorSize
  - VFSNetworkDeviceCharacteristics
  - VFSNetworkOpen
  - VFSNetworkFullPathname
  - VFSNetworkAccess
  - VFSNetworkDelete
  - SQLite3VFS::createNetwork
  - pj_sqlite3_memvfs::~pj_sqlite3_memvfs()
  - SQLite3VFS::createMem
  - SQLiteStatement::SQLiteStatement
  source_file: /src/PROJ/src/sqlite3_utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*defaultVFS'
        type: sqlite3_vfs
      - name: fakeSync
        type: bool
      - name: fakeLock
        type: bool
      item_type: struct
      name: pj_sqlite3_customvfs_appdata
      pos:
        line_end: 102
        line_start: 98
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    - fields: []
      item_type: struct
      name: pj_sqlite3_customvfs
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    - fields:
      - name: '*defaultVFS'
        type: sqlite3_vfs
      - name: fakeSync
        type: bool
      - name: fakeLock
        type: bool
      item_type: struct
      name: pj_sqlite3_customvfs_appdata
      pos:
        line_end: 102
        line_start: 98
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    - fields: []
      item_type: struct
      name: pj_sqlite3_customvfs
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    - fields: []
      item_type: struct
      name: InstallSqliteLogger
      pos:
        line_end: 179
        line_start: 168
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    - fields: []
      item_type: struct
      name: InstallSqliteLogger
      pos:
        line_end: 179
        line_start: 168
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    - fields: []
      item_type: struct
      name: pj_sqlite3_memvfs
      pos:
        line_end: 435
        line_start: 433
        source_file: /src/PROJ/src/sqlite3_utils.cpp
    typedefs:
    - item_type: typedef
      name: (*ClosePtr)(sqlite3_file *)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/PROJ/src/sqlite3_utils.cpp
      type: int
    union: []
- function_names:
  - aasin
  - aacos
  - asqrt
  - aatan2
  source_file: /src/PROJ/src/aasincos.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ONE_TOL
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/aasincos.cpp
      type_or_value: '1.00000000000001'
    - item_type: preproc_def
      name: ATOL
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/aasincos.cpp
      type_or_value: 1e-50
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_wkt1_error
  - pj_wkt1_parse
  - PAIR
  - pj_wkt1_lex
  source_file: /src/PROJ/src/wkt1_parser.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: pj_wkt1_parse_context
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/PROJ/src/wkt1_parser.cpp
    - fields:
      - name: '*pszToken'
        type: char
      - name: nTokenVal
        type: int
      item_type: struct
      name: osr_cs_wkt_tokens
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/PROJ/src/wkt1_parser.cpp
    typedefs: []
    union: []
- function_names:
  - CPLJSonStreamingWriter
  - State
  - SetPrettyFormatting
  - GetString
  - Add
  - Add
  - ObjectContext
  - ObjectContext
  - ObjectContext
  - ObjectContext
  - ~ObjectContext()
  - MakeObjectContext
  - ArrayContext
  - ArrayContext
  - ArrayContext
  - ArrayContext
  - ~ArrayContext()
  - MakeArrayContext
  - GetNewLine
  - SetNewline
  source_file: /src/PROJ/src/proj_json_streaming_writer.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bIsObj
        type: bool
      - name: bFirstChild
        type: bool
      item_type: struct
      name: State
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/PROJ/src/proj_json_streaming_writer.hpp
    typedefs:
    - item_type: typedef
      name: GUInt64
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/PROJ/src/proj_json_streaming_writer.hpp
      type: uint64_t
    union: []
- function_names:
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YYSIZEOF
  - YY_
  - YY_
  - YYUSE
  - YY_INITIAL_VALUE
  - YY_ASSERT
  - YYSTACK_BYTES
  - YYSTACK_RELOCATE
  - YYCOPY
  - YYCOPY
  - YYTRANSLATE
  - yypact_value_is_default
  - yytable_value_is_error
  - YYRECOVERING
  - YYBACKUP
  - YYDPRINTF
  - YY_LOCATION_PRINT
  - YY_SYMBOL_PRINT
  - yy_symbol_value_print
  - yy_symbol_print
  - yy_stack_print
  - YY_STACK_PRINT
  - yy_reduce_print
  - YY_REDUCE_PRINT
  - yystrlen
  - yystrlen
  - yystpcpy
  - yytnamerr
  - yysyntax_error
  - YYCASE_
  - yydestruct
  - yyparse
  - YYPOPSTACK
  source_file: /src/PROJ/src/wkt1_generated_parser.c
  types:
    enum:
    - enumerators:
      - name: T_CONCAT_MT
        value: '259'
      - name: T_PROJECTION
        value: '263'
      - name: T_PRIMEM
        value: '267'
      - name: T_VDATUM
        value: '275'
      - name: T_AUTHORITY
        value: '271'
      - name: T_FITTED_CS
        value: '279'
      - name: T_EXTENSION
        value: '283'
      - name: END
        value: '0'
      - name: T_INVERSE_MT
        value: '260'
      - name: T_GEOGCS
        value: '264'
      - name: T_VERT_CS
        value: '272'
      - name: T_UNIT
        value: '268'
      - name: T_COMPD_CS
        value: '276'
      - name: T_LOCAL_CS
        value: '280'
      - name: T_STRING
        value: '284'
      - name: T_PASSTHROUGH_MT
        value: '261'
      - name: T_DATUM
        value: '265'
      - name: T_VERTCS
        value: '273'
      - name: T_LINUNIT
        value: '269'
      - name: T_AXIS
        value: '277'
      - name: T_LOCAL_DATUM
        value: '281'
      - name: T_NUMBER
        value: '285'
      - name: T_PARAM_MT
        value: '258'
      - name: T_PROJCS
        value: '262'
      - name: T_SPHEROID
        value: '266'
      - name: T_GEOCCS
        value: '270'
      - name: T_VERT_DATUM
        value: '274'
      - name: T_TOWGS84
        value: '278'
      - name: T_PARAMETER
        value: '282'
      - name: T_IDENTIFIER
        value: '286'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 181
        line_start: 149
        source_file: /src/PROJ/src/wkt1_generated_parser.c
    preproc_defs:
    - item_type: preproc_def
      name: YYBISON
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYBISON_VERSION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '"3.5.1"'
    - item_type: preproc_def
      name: YYSKELETON_NAME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '"yacc.c"'
    - item_type: preproc_def
      name: YYPURE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPUSH
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYPULL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: yyparse
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: pj_wkt1_parse
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: pj_wkt1_lex
    - item_type: preproc_def
      name: yyerror
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: pj_wkt1_error
    - item_type: preproc_def
      name: yydebug
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: pj_wkt1_debug
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: ((void*)0)
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __PTRDIFF_TYPE__
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __PTRDIFF_MAX__
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: ptrdiff_t
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: PTRDIFF_MAX
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: long
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __SIZE_TYPE__
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: unsigned
    - item_type: preproc_def
      name: YYSIZE_MAXIMUM
      pos:
        line_end: 292
        line_start: 287
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: "YY_CAST (YYPTRDIFF_T,                                 \\\n           (YYPTRDIFF_MAXIMUM
        < YY_CAST (YYSIZE_T, -1)  \\\n            ? YYPTRDIFF_MAXIMUM                         \\\n
        \           : YY_CAST (YYSIZE_T, -1)))"
    - item_type: preproc_def
      name: YY_ATTRIBUTE_PURE
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: YY_ATTRIBUTE_UNUSED
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __attribute__ ((__unused__))
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 342
        line_start: 338
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")              \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wmaybe-uninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_END
      pos:
        line_end: 344
        line_start: 342
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_BEGIN
      pos:
        line_end: 359
        line_start: 356
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                            \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuseless-cast\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_END
      pos:
        line_end: 361
        line_start: 359
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: _alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: alloca
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '4032 '
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: YYMALLOC
    - item_type: preproc_def
      name: YYSTACK_FREE
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: YYFREE
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: YYSIZE_MAXIMUM
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: free
    - item_type: preproc_def
      name: YYSTACK_GAP_MAXIMUM
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: (YYSIZEOF (union yyalloc) - 1)
    - item_type: preproc_def
      name: YYCOPY_NEEDED
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYFINAL
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '32'
    - item_type: preproc_def
      name: YYLAST
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '255'
    - item_type: preproc_def
      name: YYNTOKENS
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '37'
    - item_type: preproc_def
      name: YYNNTS
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '72'
    - item_type: preproc_def
      name: YYNRULES
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '114'
    - item_type: preproc_def
      name: YYNSTATES
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '289'
    - item_type: preproc_def
      name: YYUNDEFTOK
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYMAXUTOK
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '286'
    - item_type: preproc_def
      name: YYPACT_NINF
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: (-131)
    - item_type: preproc_def
      name: YYTABLE_NINF
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: yyerrok
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: (yyerrstatus = 0)
    - item_type: preproc_def
      name: yyclearin
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: (yychar = YYEMPTY)
    - item_type: preproc_def
      name: YYEMPTY
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: YYEOF
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYACCEPT
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: goto yyacceptlab
    - item_type: preproc_def
      name: YYABORT
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: goto yyabortlab
    - item_type: preproc_def
      name: YYERROR
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: goto yyerrorlab
    - item_type: preproc_def
      name: YYTERROR
      pos:
        line_end: 892
        line_start: 891
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERRCODE
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '256'
    - item_type: preproc_def
      name: YYFPRINTF
      pos:
        line_end: 902
        line_start: 901
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: fprintf
    - item_type: preproc_def
      name: YYINITDEPTH
      pos:
        line_end: 1032
        line_start: 1031
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '200'
    - item_type: preproc_def
      name: YYMAXDEPTH
      pos:
        line_end: 1043
        line_start: 1042
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: yystpcpy
      pos:
        line_end: 1067
        line_start: 1066
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: stpcpy
    - item_type: preproc_def
      name: YYSYNTAX_ERROR
      pos:
        line_end: 1612
        line_start: 1610
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type_or_value: "yysyntax_error (&yymsg_alloc, &yymsg, \\\n                                        yyssp,
        yytoken)"
    structs: []
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: int
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: __INT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: int_least8_t
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: signed char
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: __INT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: int_least16_t
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: short
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: __UINT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: uint_least8_t
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: unsigned char
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: __UINT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: uint_least16_t
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: unsigned short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: int
    - item_type: typedef
      name: yy_state_t
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: yytype_int16
    - item_type: typedef
      name: yy_state_fast_t
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/PROJ/src/wkt1_generated_parser.c
      type: int
    union:
    - fields:
      - name: yyss_alloc
        type: yy_state_t
      - name: yyvs_alloc
        type: YYSTYPE
      item_type: union
      name: yyalloc
      pos:
        line_end: 447
        line_start: 443
        source_file: /src/PROJ/src/wkt1_generated_parser.c
- function_names:
  - pj_coord_has_nans
  - pj_get_suggested_operation
  - pj_warn_about_missing_grid
  - proj_trans
  - proj_trans_get_last_used_operation
  - proj_trans_array
  - proj_trans_generic
  - coord_is_all_nans
  - proj_roundtrip
  source_file: /src/PROJ/src/trans.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - name_
  - File::~File()
  - File::read_line
  - utf8decode
  - utf8towc
  - UTF8ToWString
  - utf8fromwc
  - WStringToUTF8
  - Win32Recode
  - FileWin32::FileWin32
  - '&operator=(const FileWin32 &)'
  - FileWin32::FileWin32
  - FileWin32::reassign_context
  - FileWin32::hasChanged
  - FileWin32::~FileWin32()
  - FileWin32::read
  - FileWin32::write
  - FileWin32::seek
  - FileWin32::tell
  - FileWin32::open
  - FileStdio::FileStdio
  - '&operator=(const FileStdio &)'
  - FileStdio::FileStdio
  - FileStdio::reassign_context
  - FileStdio::hasChanged
  - FileStdio::~FileStdio()
  - FileStdio::read
  - FileStdio::write
  - FileStdio::seek
  - FileStdio::tell
  - FileStdio::open
  - FileApiAdapter::FileApiAdapter
  - '&operator=(const FileApiAdapter &)'
  - FileApiAdapter::FileApiAdapter
  - FileApiAdapter::reassign_context
  - FileApiAdapter::hasChanged
  - FileApiAdapter::~FileApiAdapter()
  - FileApiAdapter::read
  - FileApiAdapter::write
  - FileApiAdapter::seek
  - FileApiAdapter::tell
  - FileApiAdapter::open
  - FileMemory::FileMemory
  - '&operator=(const FileMemory &)'
  - FileMemory::FileMemory
  - FileMemory::tell
  - FileMemory::reassign_context
  - FileMemory::hasChanged
  - FileMemory::open
  - FileMemory::read
  - FileMemory::write
  - FileMemory::seek
  - FileManager::open
  - FileManager::exists
  - FileManager::mkdir
  - FileManager::unlink
  - FileManager::rename
  - FileManager::getProjDataEnvVar
  - CreateDirectoryRecursively
  - proj_context_set_fileapi
  - proj_context_set_sqlite3_vfs_name
  - proj_context_set_user_writable_directory
  - proj_context_get_url_endpoint
  - is_tilde_slash
  - is_rel_or_absolute_filename
  - pj_get_relative_share_proj_internal_no_check
  - pj_get_relative_share_proj_internal_check_exists
  - pj_get_relative_share_proj
  - get_path_from_relative_share_proj
  - dontReadUserWritableDirectory
  - pj_open_lib_internal
  - pj_get_default_searchpaths
  - pj_open_file_with_manager
  - getDBcontext
  - "NS_PROJ::FileManager::open_resource_file(PJ_CONTEXT *ctx, const char *name,\n
    \                                        char *out_full_filename,\n                                         size_t
    out_full_filename_size)"
  - pj_find_file
  - trim
  - pj_load_ini
  - proj_context_set_file_finder
  - proj_context_set_search_paths
  - proj_context_set_ca_bundle_path
  - pj_stderr_proj_lib_deprecation_warning
  source_file: /src/PROJ/src/filemanager.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UWP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/src/filemanager.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: UWP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/src/filemanager.cpp
      type_or_value: '0'
    - item_type: preproc_def
      name: ERRORS_TO_ISO8859_1
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/src/filemanager.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: ERRORS_TO_CP1252
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/src/filemanager.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: STRICT_RFC3629
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/src/filemanager.cpp
      type_or_value: '0'
    structs:
    - fields: []
      item_type: struct
      name: NonValidUTF8Exception
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/PROJ/src/filemanager.cpp
    typedefs: []
    union: []
- function_names:
  - pj_left
  - pj_right
  - proj_coord_error
  - pj_approx_2D_trans
  - pj_approx_3D_trans
  - pj_has_inverse
  - proj_context_set
  - proj_context_inherit
  - pj_chomp
  - pj_shrink
  - pj_trim_argc
  - unquote_string
  - pj_trim_argv
  - pj_double_quote_string_param_if_needed
  - pj_make_args
  - proj_context_errno_set
  source_file: /src/PROJ/src/internal.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR_HELPER
  - STR
  - pj_get_release
  source_file: /src/PROJ/src/release.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROJ_GIT_REV_STR
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/release.cpp
      type_or_value: '" (" PROJ_GIT_HASH ")"'
    - item_type: preproc_def
      name: PROJ_GIT_REV_STR
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/release.cpp
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ORIGVFS
  - memClose
  - memRead
  - memWrite
  - memTruncate
  - memSync
  - memFileSize
  - memLock
  - memUnlock
  - memCheckReservedLock
  - memFileControl
  - memSectorSize
  - memDeviceCharacteristics
  - memShmMap
  - memShmLock
  - memShmBarrier
  - memShmUnmap
  - memFetch
  - memUnfetch
  - memOpen
  - memDelete
  - memAccess
  - memFullPathname
  - memDlOpen
  - memDlError
  - (*memDlSym(sqlite3_vfs *pVfs, void *p, const char *zSym))(void)
  - memDlClose
  - memRandomness
  - memSleep
  - memCurrentTime
  - memGetLastError
  - memCurrentTimeInt64
  - pj_sqlite3_memvfs_init
  - pj_sqlite3_memvfs_deallocate_user_data
  source_file: /src/PROJ/src/memvfs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buffer'
        type: unsigned char
      - name: bufferSize
        type: size_t
      - name: '*pBaseVFS'
        type: sqlite3_vfs
      item_type: struct
      name: MemVfsAppData
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PROJ/src/memvfs.c
    - fields:
      - name: base
        type: sqlite3_file
      - name: sz
        type: sqlite3_int64
      - name: szMax
        type: sqlite3_int64
      - name: '*aData'
        type: unsigned char
      item_type: struct
      name: MemFile
      pos:
        line_end: 81
        line_start: 76
        source_file: /src/PROJ/src/memvfs.c
    typedefs:
    - item_type: typedef
      name: MemVfs
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/PROJ/src/memvfs.c
      type: sqlite3_vfs
    - item_type: typedef
      name: MemFile
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/PROJ/src/memvfs.c
      type: MemFile
    union: []
- function_names:
  - fwd_prepare
  - fwd_finalize
  - error_or_coord
  - pj_fwd
  - pj_fwd3d
  - pj_fwd4d
  source_file: /src/PROJ/src/fwd.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INPUT_UNITS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/fwd.cpp
      type_or_value: P->left
    - item_type: preproc_def
      name: OUTPUT_UNITS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/fwd.cpp
      type_or_value: P->right
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_deriv
  source_file: /src/PROJ/src/deriv.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - isContainedBy
  - overlaps
  - contains
  - operator!=(const RectObj &other) const
  - QuadTree::Node
  - QuadTree::QuadTree
  - QuadTree::insert
  - QuadTree::search
  - QuadTree::search
  - QuadTree::splitBounds
  - QuadTree::insert
  - QuadTree::search
  - QuadTree::search
  source_file: /src/PROJ/src/quadtree.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: minx
        type: double
      - name: miny
        type: double
      - name: maxx
        type: double
      - name: maxy
        type: double
      item_type: struct
      name: RectObj
      pos:
        line_end: 81
        line_start: 53
        source_file: /src/PROJ/src/quadtree.hpp
    - fields:
      - name: rect
        type: RectObj
      - name: features
        type: std::vector<std::pair<Feature, RectObj>>
      - name: subnodes
        type: std::vector<Node>
      item_type: struct
      name: Node
      pos:
        line_end: 95
        line_start: 86
        source_file: /src/PROJ/src/quadtree.hpp
    typedefs: []
    union: []
- function_names:
  - pj_mkparam
  - pj_mkparam_ws
  - pj_param_exists
  - pj_param
  - pj_parse_t_final
  source_file: /src/PROJ/src/param.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PROJ_DEPRECATED
  - PROJ_DEPRECATED
  - PROJ_DEPRECATED
  - PROJ_DEPRECATED
  - PROJ_DEPRECATED
  - PROJ_DEPRECATED
  - PROJ_DEPRECATED
  - PROJ_COMPUTE_VERSION
  - PROJ_AT_LEAST_VERSION
  source_file: /src/PROJ/src/proj.h
  types:
    enum:
    - enumerators:
      - name: PJ_LOG_NONE
        value: '0'
      - name: PJ_LOG_TELL
        value: '4'
      - name: PJ_LOG_DEBUG
        value: '2'
      - name: PJ_LOG_ERROR
        value: '1'
      - name: PJ_LOG_TRACE
        value: '3'
      - name: PJ_LOG_DEBUG_MAJOR
        value: '2'
      - name: PJ_LOG_DEBUG_MINOR
        value: '3'
      item_type: enum
      name: PJ_LOG_LEVEL
      pos:
        line_end: 380
        line_start: 372
        source_file: /src/PROJ/src/proj.h
    - enumerators:
      - name: PROJ_OPEN_ACCESS_READ_ONLY
      - name: PROJ_OPEN_ACCESS_CREATE
      - name: PROJ_OPEN_ACCESS_READ_UPDATE
      item_type: enum
      name: PROJ_OPEN_ACCESS
      pos:
        line_end: 442
        line_start: 431
        source_file: /src/PROJ/src/proj.h
    - enumerators:
      - name: PJ_FWD
        value: '1'
      - name: PJ_INV
        value: '-1'
      - name: PJ_IDENT
        value: '0'
      item_type: enum
      name: PJ_DIRECTION
      pos:
        line_end: 619
        line_start: 615
        source_file: /src/PROJ/src/proj.h
    preproc_defs:
    - item_type: preproc_def
      name: PROJ_DLL
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/PROJ/src/proj.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: PROJ_DLL
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/PROJ/src/proj.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: PROJ_DLL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/src/proj.h
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: PROJ_VERSION_MAJOR
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/src/proj.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PROJ_VERSION_MINOR
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/src/proj.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PROJ_VERSION_PATCH
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/src/proj.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PROJ_VERSION_NUMBER
      pos:
        line_end: 188
        line_start: 185
        source_file: /src/PROJ/src/proj.h
      type_or_value: "PROJ_COMPUTE_VERSION(PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR,
        \              \\\n                         PROJ_VERSION_PATCH)"
    - item_type: preproc_def
      name: PJ_DEFAULT_CTX
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/PROJ/src/proj.h
      type_or_value: nullptr
    - item_type: preproc_def
      name: PJ_DEFAULT_CTX
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/PROJ/src/proj.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PROJ_ERR_INVALID_OP
      pos:
        line_end: 717
        line_start: 714
        source_file: /src/PROJ/src/proj.h
      type_or_value: '1024 '
    - item_type: preproc_def
      name: PROJ_ERR_INVALID_OP_WRONG_SYNTAX
      pos:
        line_end: 720
        line_start: 717
        source_file: /src/PROJ/src/proj.h
      type_or_value: "(PROJ_ERR_INVALID_OP +                                                     \\\n
        \    1) "
    - item_type: preproc_def
      name: PROJ_ERR_INVALID_OP_MISSING_ARG
      pos:
        line_end: 722
        line_start: 720
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_INVALID_OP + 2) '
    - item_type: preproc_def
      name: PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE
      pos:
        line_end: 725
        line_start: 722
        source_file: /src/PROJ/src/proj.h
      type_or_value: "(PROJ_ERR_INVALID_OP +                                                     \\\n
        \    3) "
    - item_type: preproc_def
      name: PROJ_ERR_INVALID_OP_MUTUALLY_EXCLUSIVE_ARGS
      pos:
        line_end: 727
        line_start: 725
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_INVALID_OP + 4) '
    - item_type: preproc_def
      name: PROJ_ERR_INVALID_OP_FILE_NOT_FOUND_OR_INVALID
      pos:
        line_end: 730
        line_start: 727
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_INVALID_OP + 5) '
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM
      pos:
        line_end: 734
        line_start: 732
        source_file: /src/PROJ/src/proj.h
      type_or_value: '2048 '
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_INVALID_COORD
      pos:
        line_end: 736
        line_start: 734
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_COORD_TRANSFM + 1) '
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN
      pos:
        line_end: 741
        line_start: 736
        source_file: /src/PROJ/src/proj.h
      type_or_value: "(PROJ_ERR_COORD_TRANSFM +                                                  \\\n
        \    2) "
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_NO_OPERATION
      pos:
        line_end: 746
        line_start: 741
        source_file: /src/PROJ/src/proj.h
      type_or_value: "(PROJ_ERR_COORD_TRANSFM +                                                  \\\n
        \    3) "
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_OUTSIDE_GRID
      pos:
        line_end: 749
        line_start: 746
        source_file: /src/PROJ/src/proj.h
      type_or_value: "(PROJ_ERR_COORD_TRANSFM +                                                  \\\n
        \    4) "
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_GRID_AT_NODATA
      pos:
        line_end: 752
        line_start: 749
        source_file: /src/PROJ/src/proj.h
      type_or_value: "(PROJ_ERR_COORD_TRANSFM +                                                  \\\n
        \    5) "
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_NO_CONVERGENCE
      pos:
        line_end: 754
        line_start: 752
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_COORD_TRANSFM + 6) '
    - item_type: preproc_def
      name: PROJ_ERR_COORD_TRANSFM_MISSING_TIME
      pos:
        line_end: 757
        line_start: 754
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_COORD_TRANSFM + 7) '
    - item_type: preproc_def
      name: PROJ_ERR_OTHER
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/PROJ/src/proj.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: PROJ_ERR_OTHER_API_MISUSE
      pos:
        line_end: 762
        line_start: 760
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_OTHER + 1) '
    - item_type: preproc_def
      name: PROJ_ERR_OTHER_NO_INVERSE_OP
      pos:
        line_end: 764
        line_start: 762
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_OTHER + 2) '
    - item_type: preproc_def
      name: PROJ_ERR_OTHER_NETWORK_ERROR
      pos:
        line_end: 766
        line_start: 764
        source_file: /src/PROJ/src/proj.h
      type_or_value: '(PROJ_ERR_OTHER + 3) '
    structs:
    - fields:
      - name: meridional_scale
        type: double
      - name: parallel_scale
        type: double
      - name: areal_scale
        type: double
      - name: angular_distortion
        type: double
      - name: meridian_parallel_angle
        type: double
      - name: meridian_convergence
        type: double
      - name: tissot_semimajor
        type: double
      - name: tissot_semiminor
        type: double
      - name: dx_dlam
        type: double
      - name: dy_dlam
        type: double
      item_type: struct
      name: P5_FACTORS
      pos:
        line_end: 219
        line_start: 205
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*id'
        type: char
      - name: '*(*proj)(PJ *)'
        type: PJ
      - name: '*const *descr'
        type: char
      item_type: struct
      name: PJ_LIST
      pos:
        line_end: 245
        line_start: 241
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*id'
        type: char
      - name: '*major'
        type: char
      - name: '*ell'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: PJ_ELLPS
      pos:
        line_end: 254
        line_start: 249
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*id'
        type: char
      - name: '*to_meter'
        type: char
      - name: '*name'
        type: char
      - name: factor
        type: double
      item_type: struct
      name: PJ_UNITS
      pos:
        line_end: 262
        line_start: 257
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*id'
        type: char
      - name: '*defn'
        type: char
      item_type: struct
      name: PJ_PRIME_MERIDIANS
      pos:
        line_end: 268
        line_start: 265
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: x
        type: double
      item_type: struct
      name: PJ_XYZT
      pos:
        line_end: 274
        line_start: 272
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: u
        type: double
      item_type: struct
      name: PJ_UVWT
      pos:
        line_end: 277
        line_start: 275
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: lam
        type: double
      item_type: struct
      name: PJ_LPZT
      pos:
        line_end: 280
        line_start: 278
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: o
        type: double
      item_type: struct
      name: PJ_OPK
      pos:
        line_end: 283
        line_start: 281
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: e
        type: double
      item_type: struct
      name: PJ_ENU
      pos:
        line_end: 286
        line_start: 284
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: s
        type: double
      item_type: struct
      name: PJ_GEOD
      pos:
        line_end: 289
        line_start: 287
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: u
        type: double
      item_type: struct
      name: PJ_UV
      pos:
        line_end: 294
        line_start: 292
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: x
        type: double
      item_type: struct
      name: PJ_XY
      pos:
        line_end: 297
        line_start: 295
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: lam
        type: double
      item_type: struct
      name: PJ_LP
      pos:
        line_end: 300
        line_start: 298
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: x
        type: double
      item_type: struct
      name: PJ_XYZ
      pos:
        line_end: 304
        line_start: 302
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: u
        type: double
      item_type: struct
      name: PJ_UVW
      pos:
        line_end: 307
        line_start: 305
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: lam
        type: double
      item_type: struct
      name: PJ_LPZ
      pos:
        line_end: 310
        line_start: 308
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: major
        type: int
      - name: minor
        type: int
      - name: patch
        type: int
      - name: '*release'
        type: char
      - name: '*version'
        type: char
      - name: '*searchpath'
        type: char
      - name: '*const *paths'
        type: char
      - name: path_count
        type: size_t
      item_type: struct
      name: PJ_INFO
      pos:
        line_end: 343
        line_start: 331
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*id'
        type: char
      - name: '*description'
        type: char
      - name: '*definition'
        type: char
      - name: has_inverse
        type: int
      - name: accuracy
        type: double
      item_type: struct
      name: PJ_PROJ_INFO
      pos:
        line_end: 352
        line_start: 345
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: gridname[32]
        type: char
      - name: filename[260]
        type: char
      - name: format[8]
        type: char
      - name: lowerleft
        type: PJ_LP
      - name: upperright
        type: PJ_LP
      - name: n_lon
        type: int
      - name: cs_lon
        type: double
      item_type: struct
      name: PJ_GRID_INFO
      pos:
        line_end: 362
        line_start: 354
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: name[32]
        type: char
      - name: filename[260]
        type: char
      - name: version[32]
        type: char
      - name: origin[32]
        type: char
      - name: lastupdate[16]
        type: char
      item_type: struct
      name: PJ_INIT_INFO
      pos:
        line_end: 370
        line_start: 364
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: version
        type: int
      - name: "*(*open_cbk)(PJ_CONTEXT *ctx, const char *filename,\n                                  PROJ_OPEN_ACCESS
          access, void *user_data)"
        type: PROJ_FILE_HANDLE
      - name: "(*read_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, void *buffer,\n                       size_t
          sizeBytes, void *user_data)"
        type: size_t
      - name: "(*write_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, const void *buffer,\n
          \                       size_t sizeBytes, void *user_data)"
        type: size_t
      - name: "(*seek_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, long long offset,\n
          \                   int whence, void *user_data)"
        type: int
      - name: "(*tell_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *,\n                                   void
          *user_data)"
        type: unsigned long long
      - name: (*close_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, void *user_data)
        type: void
      - name: (*exists_cbk)(PJ_CONTEXT *ctx, const char *filename, void *user_data)
        type: int
      - name: (*mkdir_cbk)(PJ_CONTEXT *ctx, const char *filename, void *user_data)
        type: int
      - name: (*unlink_cbk)(PJ_CONTEXT *ctx, const char *filename, void *user_data)
        type: int
      - name: "(*rename_cbk)(PJ_CONTEXT *ctx, const char *oldPath, const char *newPath,\n
          \                     void *user_data)"
        type: int
      item_type: struct
      name: PROJ_FILE_API
      pos:
        line_end: 487
        line_start: 445
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*auth_name'
        type: char
      - name: '*code'
        type: char
      - name: '*name'
        type: char
      - name: type
        type: PJ_TYPE
      - name: deprecated
        type: int
      - name: bbox_valid
        type: int
      - name: west_lon_degree
        type: double
      - name: south_lat_degree
        type: double
      - name: east_lon_degree
        type: double
      - name: north_lat_degree
        type: double
      - name: '*area_name'
        type: char
      - name: '*projection_method_name'
        type: char
      - name: '*celestial_body_name'
        type: char
      item_type: struct
      name: PROJ_CRS_INFO
      pos:
        line_end: 1074
        line_start: 1042
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*types'
        type: PJ_TYPE
      - name: typesCount
        type: size_t
      - name: crs_area_of_use_contains_bbox
        type: int
      - name: bbox_valid
        type: int
      - name: west_lon_degree
        type: double
      - name: south_lat_degree
        type: double
      - name: east_lon_degree
        type: double
      - name: north_lat_degree
        type: double
      - name: allow_deprecated
        type: int
      - name: '*celestial_body_name'
        type: char
      item_type: struct
      name: PROJ_CRS_LIST_PARAMETERS
      pos:
        line_end: 1113
        line_start: 1081
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*auth_name'
        type: char
      - name: '*code'
        type: char
      - name: '*name'
        type: char
      - name: '*category'
        type: char
      - name: conv_factor
        type: double
      - name: '*proj_short_name'
        type: char
      - name: deprecated
        type: int
      item_type: struct
      name: PROJ_UNIT_INFO
      pos:
        line_end: 1145
        line_start: 1121
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*auth_name'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: PROJ_CELESTIAL_BODY_INFO
      pos:
        line_end: 1160
        line_start: 1153
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*name'
        type: char
      - name: '*abbreviation'
        type: char
      - name: '*direction'
        type: char
      - name: '*unit_name'
        type: char
      - name: unit_conv_factor
        type: double
      - name: unit_type
        type: PJ_UNIT_TYPE
      item_type: struct
      name: PJ_AXIS_DESCRIPTION
      pos:
        line_end: 1604
        line_start: 1586
        source_file: /src/PROJ/src/proj.h
    - fields:
      - name: '*name'
        type: char
      - name: '*auth_name'
        type: char
      - name: '*code'
        type: char
      - name: value
        type: double
      - name: '*unit_name'
        type: char
      - name: unit_conv_factor
        type: double
      - name: unit_type
        type: PJ_UNIT_TYPE
      item_type: struct
      name: PJ_PARAM_DESCRIPTION
      pos:
        line_end: 1659
        line_start: 1638
        source_file: /src/PROJ/src/proj.h
    typedefs:
    - item_type: typedef
      name: PJ_COORD
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/PROJ/src/proj.h
      type: PJ_COORD
    - item_type: typedef
      name: PJ_AREA
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/PROJ/src/proj.h
      type: PJ_AREA
    - item_type: typedef
      name: PJ_FACTORS
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/PROJ/src/proj.h
      type: P5_FACTORS
    - item_type: typedef
      name: PJ
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/PROJ/src/proj.h
      type: PJconsts
    - item_type: typedef
      name: PJ_INFO
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/PROJ/src/proj.h
      type: PJ_INFO
    - item_type: typedef
      name: PJ_PROJ_INFO
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/PROJ/src/proj.h
      type: PJ_PROJ_INFO
    - item_type: typedef
      name: PJ_GRID_INFO
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/PROJ/src/proj.h
      type: PJ_GRID_INFO
    - item_type: typedef
      name: PJ_INIT_INFO
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/PROJ/src/proj.h
      type: PJ_INIT_INFO
    - item_type: typedef
      name: PJ_OPERATIONS
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/PROJ/src/proj.h
      type: PJ_LIST
    - item_type: typedef
      name: PJ_ELLPS
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/PROJ/src/proj.h
      type: PJ_ELLPS
    - item_type: typedef
      name: PJ_UNITS
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/PROJ/src/proj.h
      type: PJ_UNITS
    - item_type: typedef
      name: PJ_PRIME_MERIDIANS
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/PROJ/src/proj.h
      type: PJ_PRIME_MERIDIANS
    - item_type: typedef
      name: (*PJ_LOG_FUNCTION)(void *, int, const char *)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/PROJ/src/proj.h
      type: void
    - item_type: typedef
      name: PJ_CONTEXT
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/PROJ/src/proj.h
      type: pj_ctx
    - item_type: typedef
      name: "*(*proj_file_finder)(PJ_CONTEXT *ctx, const char *,\n                                        void
        *user_data)"
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/PROJ/src/proj.h
      type: char
    - item_type: typedef
      name: PROJ_FILE_HANDLE
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/PROJ/src/proj.h
      type: PROJ_FILE_HANDLE
    - item_type: typedef
      name: PROJ_NETWORK_HANDLE
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/PROJ/src/proj.h
      type: PROJ_NETWORK_HANDLE
    - item_type: typedef
      name: "*(*proj_network_open_cbk_type)(\n    PJ_CONTEXT *ctx, const char *url,
        unsigned long long offset,\n    size_t size_to_read, void *buffer, size_t
        *out_size_read,\n    size_t error_string_max_size, char *out_error_string,
        void *user_data)"
      pos:
        line_end: 518
        line_start: 515
        source_file: /src/PROJ/src/proj.h
      type: PROJ_NETWORK_HANDLE
    - item_type: typedef
      name: "(*proj_network_close_cbk_type)(PJ_CONTEXT *ctx,\n                                            PROJ_NETWORK_HANDLE
        *handle,\n                                            void *user_data)"
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/PROJ/src/proj.h
      type: void
    - item_type: typedef
      name: "*(*proj_network_get_header_value_cbk_type)(\n    PJ_CONTEXT *ctx, PROJ_NETWORK_HANDLE
        *handle, const char *header_name,\n    void *user_data)"
      pos:
        line_end: 528
        line_start: 526
        source_file: /src/PROJ/src/proj.h
      type: char
    - item_type: typedef
      name: "(*proj_network_read_range_type)(\n    PJ_CONTEXT *ctx, PROJ_NETWORK_HANDLE
        *handle, unsigned long long offset,\n    size_t size_to_read, void *buffer,
        size_t error_string_max_size,\n    char *out_error_string, void *user_data)"
      pos:
        line_end: 546
        line_start: 543
        source_file: /src/PROJ/src/proj.h
      type: size_t
    - item_type: typedef
      name: PJ_DIRECTION
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/PROJ/src/proj.h
      type: PJ_DIRECTION
    - item_type: typedef
      name: '**PROJ_STRING_LIST'
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/PROJ/src/proj.h
      type: char
    - item_type: typedef
      name: PJ_OBJ_LIST
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/PROJ/src/proj.h
      type: PJ_OBJ_LIST
    - item_type: typedef
      name: PJ_INSERT_SESSION
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/PROJ/src/proj.h
      type: PJ_INSERT_SESSION
    - item_type: typedef
      name: PJ_OPERATION_FACTORY_CONTEXT
      pos:
        line_end: 1358
        line_start: 1358
        source_file: /src/PROJ/src/proj.h
      type: PJ_OPERATION_FACTORY_CONTEXT
    union:
    - fields:
      - name: v[4]
        type: double
      - name: xyzt
        type: PJ_XYZT
      - name: uvwt
        type: PJ_UVWT
      - name: lpzt
        type: PJ_LPZT
      - name: geod
        type: PJ_GEOD
      - name: opk
        type: PJ_OPK
      - name: enu
        type: PJ_ENU
      - name: xyz
        type: PJ_XYZ
      - name: uvw
        type: PJ_UVW
      - name: lpz
        type: PJ_LPZ
      - name: xy
        type: PJ_XY
      - name: uv
        type: PJ_UV
      - name: lp
        type: PJ_LP
      item_type: union
      name: PJ_COORD
      pos:
        line_end: 329
        line_start: 314
        source_file: /src/PROJ/src/proj.h
- function_names:
  - Init
  - sq
  - sumx
  - polyvalx
  - swapx
  - norm2
  - AngNormalize
  - LatFix
  - AngDiff
  - AngRound
  - sincosdx
  - sincosde
  - atan2dx
  - geod_init
  - geod_lineinit_int
  - geod_lineinit
  - geod_gendirectline
  - geod_directline
  - geod_genposition
  - geod_setdistance
  - geod_setarc
  - geod_gensetdistance
  - geod_position
  - geod_gendirect
  - geod_direct
  - geod_geninverse_int
  - geod_geninverse
  - geod_inverseline
  - geod_inverse
  - SinCosSeries
  - Lengths
  - Astroid
  - InverseStart
  - Lambda12
  - A3f
  - C3f
  - C4f
  - A1m1f
  - C1f
  - C1pf
  - A2m1f
  - C2f
  - A3coeff
  - C3coeff
  - C4coeff
  - transit
  - transitdirect
  - accini
  - acccopy
  - accadd
  - accsum
  - accneg
  - accrem
  - geod_polygon_init
  - geod_polygon_clear
  - geod_polygon_addpoint
  - geod_polygon_addedge
  - geod_polygon_compute
  - geod_polygon_testpoint
  - geod_polygon_testedge
  - geod_polygonarea
  - areareduceA
  - areareduceB
  source_file: /src/PROJ/src/geodesic.c
  types:
    enum:
    - enumerators:
      - name: 'FALSE'
        value: '0'
      - name: 'TRUE'
        value: '1'
      item_type: enum
      name: booly
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/PROJ/src/geodesic.c
    - enumerators:
      - name: qd
        value: '90'
      - name: td
        value: 2 * hd
      - name: hd
        value: 2 * qd
      item_type: enum
      name: dms
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/PROJ/src/geodesic.c
    - enumerators:
      - name: CAP_NONE
        value: 0U
      - name: CAP_C1p
        value: 1U<<1
      - name: CAP_C2
        value: 1U<<2
      - name: CAP_C3
        value: 1U<<3
      - name: CAP_C1
        value: 1U<<0
      - name: CAP_C4
        value: 1U<<4
      - name: CAP_ALL
        value: 0x1FU
      - name: OUT_ALL
        value: 0x7F80U
      item_type: enum
      name: captype
      pos:
        line_end: 100
        line_start: 91
        source_file: /src/PROJ/src/geodesic.c
    preproc_defs:
    - item_type: preproc_def
      name: NULLPTR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: NULLPTR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: NULLPTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: '0'
    - item_type: preproc_def
      name: GEOGRAPHICLIB_GEODESIC_ORDER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: nA1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nC1
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nC1p
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nA2
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nC2
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nA3
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nA3x
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: nA3
    - item_type: preproc_def
      name: nC3
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nC3x
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: ((nC3 * (nC3 - 1)) / 2)
    - item_type: preproc_def
      name: nC4
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: GEOGRAPHICLIB_GEODESIC_ORDER
    - item_type: preproc_def
      name: nC4x
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: ((nC4 * (nC4 + 1)) / 2)
    - item_type: preproc_def
      name: nC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/src/geodesic.c
      type_or_value: (GEOGRAPHICLIB_GEODESIC_ORDER + 1)
    structs: []
    typedefs:
    - item_type: typedef
      name: boolx
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/PROJ/src/geodesic.c
      type: int
    union: []
- function_names: []
  source_file: /src/PROJ/src/pj_list.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_ellipsoid
  - ellps_ellps
  - ellps_size
  - ellps_shape
  - ellps_spherification
  - pj_get_param
  - pj_param_value
  - pj_find_ellps
  - pj_inherit_ellipsoid_def
  - pj_calc_ellipsoid_params
  - pj_ell_set
  source_file: /src/PROJ/src/ell_set.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proj_area_create
  - proj_area_set_bbox
  - proj_area_set_name
  - proj_area_destroy
  source_file: /src/PROJ/src/area.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dmstor
  - dmstor_ctx
  - proj_strtod
  source_file: /src/PROJ/src/dmstor.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_WORK
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/dmstor.cpp
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - adjlon
  source_file: /src/PROJ/src/adjlon.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - path_append
  - proj_info
  - pj_clear_proj_info
  - proj_pj_info
  source_file: /src/PROJ/src/info.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - string_to_paralist
  - get_init_string
  - get_init
  - append_default_ellipsoid_to_paralist
  - pj_expand_init_internal
  - pj_expand_init
  - locate_constructor
  - pj_init_ctx_with_allow_init_epsg
  source_file: /src/PROJ/src/init.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LINE_LENGTH
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/src/init.cpp
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_stderr_logger
  - pj_log_active
  - pj_vlog
  - pj_log
  - proj_log_level
  - proj_log_error
  - proj_log_debug
  - proj_context_log_debug
  - proj_log_trace
  - proj_log_func
  source_file: /src/PROJ/src/log.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CPLGettimeofday
  - tracing::CPLGettimeofday
  - tracing::Singleton
  - '&operator=(const Singleton &)'
  - tracing::Singleton::Singleton
  - Singleton::~Singleton()
  - tracing::getSingleton
  - tracing::Singleton::logTraceRaw
  - tracing::logTrace
  - tracing::EnterBlock::EnterBlock
  - EnterBlock::~EnterBlock()
  - tracing::CPLGettimeofday
  - tracing::Singleton
  - '&operator=(const Singleton &)'
  - tracing::Singleton::Singleton
  - Singleton::~Singleton()
  - tracing::getSingleton
  - tracing::Singleton::logTraceRaw
  - tracing::logTrace
  - tracing::EnterBlock::EnterBlock
  - EnterBlock::~EnterBlock()
  source_file: /src/PROJ/src/tracing.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPLTimeVal
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/src/tracing.cpp
      type_or_value: timeval
    structs:
    - fields:
      - name: tv_sec
        type: time_t
      - name: tv_usec
        type: long
      item_type: struct
      name: CPLTimeVal
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/PROJ/src/tracing.cpp
    - fields:
      - name: '*f'
        type: FILE
      - name: callLevel
        type: int
      - name: minDelayMicroSec
        type: int
      - name: startTimeStamp
        type: long long
      - name: componentsWhiteList
        type: std::string
      - name: componentsBlackList
        type: std::string
      - name: logTraceRaw(const std::string &str)
        type: void
      item_type: struct
      name: Singleton
      pos:
        line_end: 87
        line_start: 72
        source_file: /src/PROJ/src/tracing.cpp
    - fields:
      - name: msg_
        type: std::string
      - name: startTimeStamp_
        type: CPLTimeVal
      item_type: struct
      name: EnterBlock::Private
      pos:
        line_end: 183
        line_start: 180
        source_file: /src/PROJ/src/tracing.cpp
    - fields:
      - name: tv_sec
        type: time_t
      - name: tv_usec
        type: long
      item_type: struct
      name: CPLTimeVal
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/PROJ/src/tracing.cpp
    - fields:
      - name: '*f'
        type: FILE
      - name: callLevel
        type: int
      - name: minDelayMicroSec
        type: int
      - name: startTimeStamp
        type: long long
      - name: componentsWhiteList
        type: std::string
      - name: componentsBlackList
        type: std::string
      - name: logTraceRaw(const std::string &str)
        type: void
      item_type: struct
      name: Singleton
      pos:
        line_end: 87
        line_start: 72
        source_file: /src/PROJ/src/tracing.cpp
    - fields:
      - name: msg_
        type: std::string
      - name: startTimeStamp_
        type: CPLTimeVal
      item_type: struct
      name: EnterBlock::Private
      pos:
        line_end: 183
        line_start: 180
        source_file: /src/PROJ/src/tracing.cpp
    typedefs: []
    union: []
- function_names:
  - STATIC_ASSERT
  - PJ_TODEG
  - PJ_TORAD
  - MIN
  - MAX
  - ABS
  - _
  - PJCoordOperation
  - PJCoordOperation
  - PJCoordOperation
  - '&operator=(const PJCoordOperation &)'
  - operator==(const PJCoordOperation &other) const
  - operator!=(const PJCoordOperation &other) const
  - PJconsts
  - '&operator=(const PJconsts &)'
  - pj_ctx
  - pj_ctx
  - PROJ_HEAD
  - OPERATION
  - PJ_CONVERSION
  - PJ_TRANSFORMATION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/proj_internal.h
  types:
    enum:
    - enumerators:
      - name: PJ_IO_UNITS_WHATEVER
        value: '0'
      - name: PJ_IO_UNITS_CLASSIC
        value: '1'
      - name: PJ_IO_UNITS_PROJECTED
        value: '2'
      - name: PJ_IO_UNITS_CARTESIAN
        value: '3'
      - name: PJ_IO_UNITS_RADIANS
        value: '4'
      - name: PJ_IO_UNITS_DEGREES
        value: '5'
      item_type: enum
      name: pj_io_units
      pos:
        line_end: 200
        line_start: 191
        source_file: /src/PROJ/src/proj_internal.h
    - enumerators:
      - name: AUTO
      - name: EVENDEN_SNYDER
      - name: PODER_ENGSAGER
      item_type: enum
      name: TMercAlgo
      pos:
        line_end: 453
        line_start: 448
        source_file: /src/PROJ/src/proj_internal.h
    - enumerators:
      - name: GEOGRAPHIC
      - name: GEOCENTRIC
      - name: PARAMETRIC
      - name: CONFORMAL
      - name: RECTIFYING
      - name: AUTHALIC
      - name: NUMBER
      - name: ORDER
        value: '6'
      item_type: enum
      name: AuxLat
      pos:
        line_end: 465
        line_start: 455
        source_file: /src/PROJ/src/proj_internal.h
    preproc_defs:
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '[[fallthrough]]'
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '[[gnu::fallthrough]]'
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '[[clang::fallthrough]]'
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: ((void)0)
    - item_type: preproc_def
      name: PJ_EPS_LAT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: 1e-12
    - item_type: preproc_def
      name: C_NAMESPACE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: extern "C"
    - item_type: preproc_def
      name: C_NAMESPACE_VAR
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: extern "C"
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_PATH_FILENAME
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: M_PI
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '3.14159265358979323846'
    - item_type: preproc_def
      name: M_1_PI
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '0.318309886183790671538'
    - item_type: preproc_def
      name: M_PI_2
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '1.57079632679489661923'
    - item_type: preproc_def
      name: M_PI_4
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '0.78539816339744830962'
    - item_type: preproc_def
      name: M_2_PI
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '0.63661977236758134308'
    - item_type: preproc_def
      name: M_SQRT2
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '1.41421356237309504880'
    - item_type: preproc_def
      name: M_FORTPI
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: 'M_PI_4                    '
    - item_type: preproc_def
      name: M_HALFPI
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: 'M_PI_2                    '
    - item_type: preproc_def
      name: M_PI_HALFPI
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '4.71238898038468985769 '
    - item_type: preproc_def
      name: M_TWOPI
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '6.28318530717958647693 '
    - item_type: preproc_def
      name: M_TWO_D_PI
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: 'M_2_PI                     '
    - item_type: preproc_def
      name: M_TWOPI_HALFPI
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '7.85398163397448309616 '
    - item_type: preproc_def
      name: ID_TAG_MAX
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '50'
    - item_type: preproc_def
      name: DIR_CHAR
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: DIR_CHAR
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '''/'''
    - item_type: preproc_def
      name: PJD_UNKNOWN
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PJD_3PARAM
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PJD_7PARAM
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PJD_GRIDSHIFT
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PJD_WGS84
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: PJ_LOCALE_SAFE
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RAD_TO_DEG
      pos:
        line_end: 1036
        line_start: 1035
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '57.295779513082321'
    - item_type: preproc_def
      name: DEG_TO_RAD
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/PROJ/src/proj_internal.h
      type_or_value: '.017453292519943296'
    structs:
    - fields:
      - name: r
        type: double
      item_type: struct
      name: COMPLEX
      pos:
        line_end: 248
        line_start: 246
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: ll_long
        type: double
      - name: ll_lat
        type: double
      - name: ur_long
        type: double
      - name: ur_lat
        type: double
      item_type: struct
      name: PJ_REGION_S
      pos:
        line_end: 270
        line_start: 265
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: bbox_set
        type: bool
      - name: west_lon_degree
        type: double
      - name: south_lat_degree
        type: double
      - name: east_lon_degree
        type: double
      - name: north_lat_degree
        type: double
      - name: name
        type: std::string
      item_type: struct
      name: PJ_AREA
      pos:
        line_end: 279
        line_start: 272
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: idxInOriginalList
        type: int
      - name: minxSrc
        type: double
      - name: minySrc
        type: double
      - name: maxxSrc
        type: double
      - name: maxySrc
        type: double
      - name: minxDst
        type: double
      - name: minyDst
        type: double
      - name: maxxDst
        type: double
      - name: maxyDst
        type: double
      - name: '*pj'
        type: PJ
      - name: name
        type: std::string
      - name: accuracy
        type: double
      - name: pseudoArea
        type: double
      - name: areaName
        type: std::string
      - name: isOffshore
        type: bool
      - name: isUnknownAreaName
        type: bool
      - name: isPriorityOp
        type: bool
      - name: srcIsLonLatDegree
        type: bool
      - name: srcIsLatLonDegree
        type: bool
      - name: dstIsLonLatDegree
        type: bool
      - name: dstIsLatLonDegree
        type: bool
      - name: '*pjSrcGeocentricToLonLat'
        type: PJ
      - name: '*pjDstGeocentricToLonLat'
        type: PJ
      - name: isInstantiable() const
        type: bool
      - name: INSTANTIABLE_STATUS_UNKNOWN
        type: int
      - name: isInstantiableCached
        type: int
      item_type: struct
      name: PJCoordOperation
      pos:
        line_end: 446
        line_start: 318
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: '*short_name'
        type: char
      - name: '*descr'
        type: char
      - name: '*params'
        type: paralist
      - name: '*def_full'
        type: char
      - name: '*parent'
        type: PJconsts
      - name: '*def_size'
        type: char
      - name: '*def_shape'
        type: char
      - name: '*def_spherification'
        type: char
      - name: '*def_ellps'
        type: char
      - name: '*geod'
        type: struct geod_geodesic
      - name: '*opaque'
        type: void
      - name: inverted
        type: int
      - name: (*fwd)(PJ_LP, PJ *)
        type: PJ_XY
      - name: (*inv)(PJ_XY, PJ *)
        type: PJ_LP
      - name: (*fwd3d)(PJ_LPZ, PJ *)
        type: PJ_XYZ
      - name: (*inv3d)(PJ_XYZ, PJ *)
        type: PJ_LPZ
      - name: fwd4d
        type: PJ_OPERATOR
      - name: inv4d
        type: PJ_OPERATOR
      - name: destructor
        type: PJ_DESTRUCTOR
      - name: (*reassign_context)(PJ *, PJ_CONTEXT *)
        type: void
      - name: a
        type: double
      - name: b
        type: double
      - name: ra
        type: double
      - name: rb
        type: double
      - name: alpha
        type: double
      - name: e
        type: double
      - name: es
        type: double
      - name: e2
        type: double
      - name: e2s
        type: double
      - name: e3
        type: double
      - name: e3s
        type: double
      - name: one_es
        type: double
      - name: rone_es
        type: double
      - name: f
        type: double
      - name: f2
        type: double
      - name: n
        type: double
      - name: rf
        type: double
      - name: rf2
        type: double
      - name: rn
        type: double
      - name: J
        type: double
      - name: es_orig
        type: double
      - name: a_orig
        type: double
      - name: over
        type: int
      - name: geoc
        type: int
      - name: is_latlong
        type: int
      - name: is_geocent
        type: int
      - name: need_ellps
        type: int
      - name: skip_fwd_prepare
        type: int
      - name: skip_fwd_finalize
        type: int
      - name: skip_inv_prepare
        type: int
      - name: skip_inv_finalize
        type: int
      - name: left
        type: enum pj_io_units
      - name: right
        type: enum pj_io_units
      - name: '*axisswap'
        type: PJ
      - name: '*cart'
        type: PJ
      - name: '*cart_wgs84'
        type: PJ
      - name: '*helmert'
        type: PJ
      - name: '*hgridshift'
        type: PJ
      - name: '*vgridshift'
        type: PJ
      - name: lam0
        type: double
      - name: phi0
        type: double
      - name: x0
        type: double
      - name: y0
        type: double
      - name: z0
        type: double
      - name: t0
        type: double
      - name: k0
        type: double
      - name: to_meter
        type: double
      - name: vto_meter
        type: double
      - name: datum_type
        type: int
      - name: datum_params[7]
        type: double
      - name: has_geoid_vgrids
        type: int
      - name: '*hgrids_legacy'
        type: void
      - name: '*vgrids_legacy'
        type: void
      - name: from_greenwich
        type: double
      - name: long_wrap_center
        type: double
      - name: is_long_wrap_set
        type: int
      - name: axis[4]
        type: char
      - name: iso_obj
        type: NS_PROJ::util::BaseObjectPtr
      - name: iso_obj_is_coordinate_operation
        type: bool
      - name: coordinateEpoch
        type: double
      - name: hasCoordinateEpoch
        type: bool
      - name: lastWKT
        type: std::string
      - name: lastPROJString
        type: std::string
      - name: lastJSONString
        type: std::string
      - name: gridsNeededAsked
        type: bool
      - name: gridsNeeded
        type: std::vector<NS_PROJ::operation::GridDescription>
      - name: type
        type: PJ_TYPE
      - name: alternativeCoordinateOperations
        type: std::vector<PJCoordOperation>
      - name: iCurCoordOp
        type: int
      - name: errorIfBestTransformationNotAvailable
        type: bool
      - name: warnIfBestTransformationNotAvailable
        type: bool
      - name: skipNonInstantiable
        type: bool
      - name: '*cached_op_for_proj_factors'
        type: PJ
      - name: copyStateFrom(const PJconsts &)
        type: void
      item_type: struct
      name: PJconsts
      pos:
        line_end: 704
        line_start: 468
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: '*next'
        type: paralist
      - name: used
        type: char
      item_type: struct
      name: ARG_list
      pos:
        line_end: 719
        line_start: 707
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: '*id'
        type: char
      - name: '*defn'
        type: char
      - name: '*ellipse_id'
        type: char
      - name: '*comments'
        type: char
      item_type: struct
      name: PJ_DATUMS
      pos:
        line_end: 732
        line_start: 727
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: x_l
        type: double
      - name: y_l
        type: double
      item_type: struct
      name: DERIVS
      pos:
        line_end: 737
        line_start: 734
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: der
        type: struct DERIVS
      - name: h
        type: double
      - name: omega
        type: double
      - name: conv
        type: double
      - name: s
        type: double
      - name: a
        type: double
      - name: code
        type: int
      item_type: struct
      name: FACTORS
      pos:
        line_end: 747
        line_start: 739
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: enabled
        type: bool
      - name: open
        type: proj_network_open_cbk_type
      - name: close
        type: proj_network_close_cbk_type
      - name: get_header_value
        type: proj_network_get_header_value_cbk_type
      - name: read_range
        type: proj_network_read_range_type
      - name: '*user_data'
        type: void
      item_type: struct
      name: projNetworkCallbacksAndData
      pos:
        line_end: 761
        line_start: 754
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: enabled
        type: bool
      - name: filename
        type: std::string
      - name: max_size
        type: long long
      - name: ttl
        type: int
      item_type: struct
      name: projGridChunkCache
      pos:
        line_end: 768
        line_start: 763
        source_file: /src/PROJ/src/proj_internal.h
    - fields:
      - name: "*(*open_cbk)(PJ_CONTEXT *ctx, const char *filename,\n                                  PROJ_OPEN_ACCESS
          access,\n                                  void *user_data)"
        type: PROJ_FILE_HANDLE
      - name: "(*read_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, void *buffer,\n                       size_t
          size, void *user_data)"
        type: size_t
      - name: "(*write_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, const void *buffer,\n
          \                       size_t size, void *user_data)"
        type: size_t
      - name: "(*seek_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *, long long offset,\n
          \                   int whence, void *user_data)"
        type: int
      - name: "(*tell_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *,\n                                   void
          *user_data)"
        type: unsigned long long
      - name: "(*close_cbk)(PJ_CONTEXT *ctx, PROJ_FILE_HANDLE *,\n                      void
          *user_data)"
        type: void
      - name: "(*exists_cbk)(PJ_CONTEXT *ctx, const char *filename,\n                      void
          *user_data)"
        type: int
      - name: "(*mkdir_cbk)(PJ_CONTEXT *ctx, const char *filename,\n                     void
          *user_data)"
        type: int
      - name: "(*unlink_cbk)(PJ_CONTEXT *ctx, const char *filename,\n                      void
          *user_data)"
        type: int
      - name: "(*rename_cbk)(PJ_CONTEXT *ctx, const char *oldPath, const char *newPath,\n
          \                     void *user_data)"
        type: int
      - name: '*user_data'
        type: void
      item_type: struct
      name: projFileApiCallbackAndData
      pos:
        line_end: 795
        line_start: 770
        source_file: /src/PROJ/src/proj_internal.h
    typedefs:
    - item_type: typedef
      name: PJ_Region
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/PROJ/src/proj_internal.h
      type: PJ_REGION_S
    - item_type: typedef
      name: paralist
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/PROJ/src/proj_internal.h
      type: ARG_list
    - item_type: typedef
      name: PJ
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/PROJ/src/proj_internal.h
      type: PJconsts
    - item_type: typedef
      name: PJ_COORD
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/PROJ/src/proj_internal.h
      type: PJ_COORD
    - item_type: typedef
      name: '*(*PJ_CONSTRUCTOR)(PJ *)'
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/PROJ/src/proj_internal.h
      type: PJ
    - item_type: typedef
      name: '*(*PJ_DESTRUCTOR)(PJ *, int)'
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/PROJ/src/proj_internal.h
      type: PJ
    - item_type: typedef
      name: (*PJ_OPERATOR)(PJ_COORD &, PJ *)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/PROJ/src/proj_internal.h
      type: void
    union:
    - fields:
      - name: f
        type: double
      - name: i
        type: int
      - name: '*s'
        type: char
      item_type: union
      name: PROJVALUE
      pos:
        line_end: 725
        line_start: 721
        source_file: /src/PROJ/src/proj_internal.h
- function_names: []
  source_file: /src/PROJ/src/memvfs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_factors
  - proj_factors
  source_file: /src/PROJ/src/factors.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_H
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/factors.cpp
      type_or_value: '1e-5 '
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/factors.cpp
      type_or_value: '1.0e-12'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_conformal_lat
  - pj_conformal_lat_inverse
  - pj_authalic_lat_q
  - PROJ_AUTHALIC_SERIES_VALID
  - pj_authalic_lat_compute_coeffs
  - pj_authalic_lat
  - pj_authalic_lat_inverse
  - pj_auxlat_coeffs
  - pj_polyval
  - pj_clenshaw
  - pj_auxlat_convert
  - pj_auxlat_convert
  - pj_auxlat_convert
  - pj_rectifying_radius
  source_file: /src/PROJ/src/latitudes.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_add_type_crs_if_needed
  - reproject_bbox
  - add_coord_op_to_list
  - ObjectKeeper
  - ~ObjectKeeper()
  - ObjectKeeper
  - '&operator=(const ObjectKeeper &)'
  - ObjectKeeper
  - ~ObjectKeeper()
  - ObjectKeeper
  - '&operator=(const ObjectKeeper &)'
  - create_operation_to_geog_crs
  - create_operation_geocentric_crs_to_geog_crs
  - proj_create_crs_to_crs
  - pj_create_prepared_operations
  - getOptionValue
  - proj_create_crs_to_crs_from_pj
  source_file: /src/PROJ/src/crs_to_crs.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*m_obj'
        type: PJ
      item_type: struct
      name: ObjectKeeper
      pos:
        line_end: 169
        line_start: 163
        source_file: /src/PROJ/src/crs_to_crs.cpp
    - fields:
      - name: '*m_obj'
        type: PJ
      item_type: struct
      name: ObjectKeeper
      pos:
        line_end: 169
        line_start: 163
        source_file: /src/PROJ/src/crs_to_crs.cpp
    typedefs: []
    union: []
- function_names:
  - pj_acquire_lock
  - pj_release_lock
  source_file: /src/PROJ/src/mutex.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/wkt2_parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: pj_wkt2_parse_context
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/PROJ/src/wkt2_parser.h
      type: pj_wkt2_parse_context
    union: []
- function_names:
  - pr_list
  - pj_pr_list
  - pj_get_def
  source_file: /src/PROJ/src/pr_list.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINE_LEN
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/pr_list.cpp
      type_or_value: '72'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/wkt2_generated_parser.h
  types:
    enum:
    - enumerators:
      - name: T_TIMEUNIT
        value: '269'
      - name: T_GEOGCRS
        value: '283'
      - name: T_OPERATIONACCURACY
        value: '299'
      - name: T_VELOCITYGRID
        value: '315'
      - name: T_COORDEPOCH
        value: '331'
      - name: T_GEOGRAPHICCRS
        value: '345'
      - name: T_POLAR
        value: '361'
      - name: T_SOUTH
        value: '377'
      - name: T_COLUMNNEGATIVE
        value: '391'
      - name: T_PAST
        value: '407'
      - name: T_SPHEROID
        value: '260'
      - name: T_BEARING
        value: '276'
      - name: T_VERTCRS
        value: '290'
      - name: T_CALENDAR
        value: '306'
      - name: T_ENGCRS
        value: '322'
      - name: T_AXISMAXVALUE
        value: '336'
      - name: T_ENGINEERINGDATUM
        value: '352'
      - name: T_TEMPORALDATETIME
        value: '368'
      - name: T_NORTHNORTHWEST
        value: '384'
      - name: T_FORWARD
        value: '398'
      - name: T_UNSIGNED_INTEGER_DIFFERENT_ONE_TWO_THREE
        value: '410'
      - name: T_FRAMEEPOCH
        value: '313'
      - name: T_BASETIMECRS
        value: '329'
      - name: T_ANGLEUNIT
        value: '267'
      - name: T_METHOD
        value: '281'
      - name: T_TARGETCRS
        value: '297'
      - name: T_PROJECTEDCRS
        value: '343'
      - name: T_LINEAR
        value: '359'
      - name: T_SOUTHEAST
        value: '375'
      - name: T_AWAYFROM
        value: '405'
      - name: T_DERIVINGCONVERSION
        value: '304'
      - name: T_BASEGEODCRS
        value: '274'
      - name: T_CITATION
        value: '288'
      - name: T_BASEPROJCRS
        value: '320'
      - name: T_VERSION
        value: '334'
      - name: T_TIMEDATUM
        value: '350'
      - name: T_TEMPORALMEASURE
        value: '366'
      - name: T_WESTNORTHWEST
        value: '382'
      - name: T_DISPLAYUP
        value: '396'
      - name: END
        value: '0'
      - name: T_GEODCRS
        value: '265'
      - name: T_ANCHOREPOCH
        value: '279'
      - name: T_COORDINATEOPERATION
        value: '295'
      - name: T_USAGE
        value: '311'
      - name: T_BASEENGCRS
        value: '327'
      - name: T_GEODETICCRS
        value: '341'
      - name: T_CYLINDRICAL
        value: '357'
      - name: T_EAST
        value: '373'
      - name: T_GEOCENTRICZ
        value: '389'
      - name: T_BOUNDCRS
        value: '302'
      - name: T_ENSEMBLEACCURACY
        value: '318'
      - name: T_ID
        value: '272'
      - name: T_AREA
        value: '286'
      - name: T_VERTICALDATUM
        value: '348'
      - name: T_TEMPORAL
        value: '364'
      - name: T_WESTSOUTHWEST
        value: '380'
      - name: T_DISPLAYRIGHT
        value: '394'
      - name: T_AXIS
        value: '263'
      - name: T_ORDER
        value: '277'
      - name: T_COMPOUNDCRS
        value: '293'
      - name: T_VERTICALEXTENT
        value: '309'
      - name: T_PARAMETRICUNIT
        value: '325'
      - name: T_wraparound
        value: '339'
      - name: T_AFFINE
        value: '355'
      - name: T_NORTHEAST
        value: '371'
      - name: T_GEOCENTRICX
        value: '387'
      - name: T_STARBOARD
        value: '401'
      - name: T_ENSEMBLE
        value: '316'
      - name: T_COORDINATEMETADATA
        value: '332'
      - name: T_ELLIPSOID
        value: '270'
      - name: T_BASEGEOGCRS
        value: '284'
      - name: T_CONCATENATEDOPERATION
        value: '300'
      - name: T_TRF
        value: '346'
      - name: T_SPHERICAL
        value: '362'
      - name: T_SOUTHSOUTHWEST
        value: '378'
      - name: T_ROWPOSITIVE
        value: '392'
      - name: T_UNSPECIFIED
        value: '408'
      - name: T_PRIMEM
        value: '261'
      - name: T_VDATUM
        value: '291'
      - name: T_TIMEORIGIN
        value: '307'
      - name: T_PDATUM
        value: '323'
      - name: T_RANGEMEANING
        value: '337'
      - name: T_ENGINEERINGCRS
        value: '353'
      - name: T_NORTH
        value: '369'
      - name: T_UP
        value: '385'
      - name: T_AFT
        value: '399'
      - name: T_PROJECTION
        value: '258'
      - name: T_SCALEUNIT
        value: '268'
      - name: T_REMARK
        value: '282'
      - name: T_INTERPOLATIONCRS
        value: '298'
      - name: T_MODEL
        value: '314'
      - name: T_EPOCH
        value: '330'
      - name: T_PRIMEMERIDIAN
        value: '344'
      - name: T_PARAMETRIC
        value: '360'
      - name: T_SOUTHSOUTHEAST
        value: '376'
      - name: T_FUTURE
        value: '406'
      - name: T_TDATUM
        value: '305'
      - name: T_DATUM
        value: '259'
      - name: T_MERIDIAN
        value: '275'
      - name: T_URI
        value: '289'
      - name: T_EDATUM
        value: '321'
      - name: T_AXISMINVALUE
        value: '335'
      - name: T_TEMPORALQUANTITY
        value: '351'
      - name: T_ORDINAL
        value: '367'
      - name: T_NORTHWEST
        value: '383'
      - name: T_DISPLAYDOWN
        value: '397'
      - name: T_DYNAMIC
        value: '312'
      - name: T_BASEPARAMCRS
        value: '328'
      - name: T_LENGTHUNIT
        value: '266'
      - name: T_CONVERSION
        value: '280'
      - name: T_SOURCECRS
        value: '296'
      - name: T_GEODETICDATUM
        value: '342'
      - name: T_ELLIPSOIDAL
        value: '358'
      - name: T_EASTSOUTHEAST
        value: '374'
      - name: T_COLUMNPOSITIVE
        value: '390'
      - name: T_TOWARDS
        value: '404'
      - name: T_COUNTERCLOCKWISE
        value: '403'
      - name: T_PROJCRS
        value: '273'
      - name: T_BBOX
        value: '287'
      - name: T_ABRIDGEDTRANSFORMATION
        value: '303'
      - name: T_DERIVEDPROJCRS
        value: '319'
      - name: T_VRF
        value: '349'
      - name: T_TEMPORALCOUNT
        value: '365'
      - name: T_WEST
        value: '381'
      - name: T_DISPLAYLEFT
        value: '395'
      - name: T_PARAMETER
        value: '264'
      - name: T_ANCHOR
        value: '278'
      - name: T_PARAMETERFILE
        value: '294'
      - name: T_TIMEEXTENT
        value: '310'
      - name: T_BASEVERTCRS
        value: '326'
      - name: T_DEFININGTRANSFORMATION
        value: '340'
      - name: T_CARTESIAN
        value: '356'
      - name: T_EASTNORTHEAST
        value: '372'
      - name: T_GEOCENTRICY
        value: '388'
      - name: T_CLOCKWISE
        value: '402'
      - name: T_STEP
        value: '301'
      - name: T_MEMBER
        value: '317'
      - name: T_POINTMOTIONOPERATION
        value: '333'
      - name: T_CS
        value: '271'
      - name: T_SCOPE
        value: '285'
      - name: T_VERTICALCRS
        value: '347'
      - name: T_VERTICAL
        value: '363'
      - name: T_SOUTHWEST
        value: '379'
      - name: T_ROWNEGATIVE
        value: '393'
      - name: T_STRING
        value: '409'
      - name: T_PARAMETRICCRS
        value: '324'
      - name: T_UNIT
        value: '262'
      - name: T_GEOIDMODEL
        value: '292'
      - name: T_TIMECRS
        value: '308'
      - name: T_exact
        value: '338'
      - name: T_PARAMETRICDATUM
        value: '354'
      - name: T_NORTHNORTHEAST
        value: '370'
      - name: T_DOWN
        value: '386'
      - name: T_PORT
        value: '400'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 205
        line_start: 49
        source_file: /src/PROJ/src/wkt2_generated_parser.h
    preproc_defs:
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/src/wkt2_generated_parser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/src/wkt2_generated_parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/src/wkt2_generated_parser.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/PROJ/src/wkt2_generated_parser.h
      type: int
    union: []
- function_names:
  - pj_wkt2_error
  - pj_wkt2_parse
  - PAIR
  - pj_wkt2_lex
  source_file: /src/PROJ/src/wkt2_parser.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: pj_wkt2_parse_context
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/PROJ/src/wkt2_parser.cpp
    - fields:
      - name: '*pszToken'
        type: char
      - name: nTokenVal
        type: int
      item_type: struct
      name: wkt2_tokens
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/PROJ/src/wkt2_parser.cpp
    typedefs: []
    union: []
- function_names:
  - TestThread
  - WinTestThread
  - PosixTestThread
  - do_main
  - main
  source_file: /src/PROJ/src/tests/multistresstest.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: num_threads
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/src/tests/multistresstest.cpp
      type_or_value: '10'
    structs:
    - fields:
      - name: '*src_def'
        type: char
      - name: '*dst_def'
        type: char
      - name: src
        type: PJ_COORD
      - name: dst
        type: PJ_COORD
      - name: dst_error
        type: int
      - name: skip
        type: int
      item_type: struct
      name: TestItem
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/PROJ/src/tests/multistresstest.cpp
    typedefs: []
    union: []
- function_names:
  - equiv
  - checkEquals
  - check
  - checksincosd
  - main
  source_file: /src/PROJ/src/tests/geodsigntest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: geod_Init
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: Init
    - item_type: preproc_def
      name: geod_sum
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: sumx
    - item_type: preproc_def
      name: geod_AngNormalize
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: AngNormalize
    - item_type: preproc_def
      name: geod_AngDiff
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: AngDiff
    - item_type: preproc_def
      name: geod_AngRound
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: AngRound
    - item_type: preproc_def
      name: geod_sincosd
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: sincosdx
    - item_type: preproc_def
      name: geod_atan2d
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: atan2dx
    - item_type: preproc_def
      name: nullptr
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: '0'
    - item_type: preproc_def
      name: OLD_BUGGY_REMQUO
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: T
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/PROJ/src/tests/geodsigntest.c
      type: double
    union: []
- function_names:
  - checkEquals
  - checkNaN
  - testinverse
  - testdirect
  - testarcdirect
  - GeodSolve0
  - GeodSolve1
  - GeodSolve2
  - GeodSolve4
  - GeodSolve5
  - GeodSolve6
  - GeodSolve9
  - GeodSolve10
  - GeodSolve11
  - GeodSolve12
  - GeodSolve14
  - GeodSolve15
  - GeodSolve17
  - GeodSolve26
  - GeodSolve28
  - GeodSolve33
  - GeodSolve55
  - GeodSolve59
  - GeodSolve61
  - GeodSolve65
  - GeodSolve67
  - GeodSolve71
  - GeodSolve73
  - planimeter
  - polylength
  - GeodSolve74
  - GeodSolve76
  - GeodSolve78
  - GeodSolve80
  - GeodSolve84
  - GeodSolve92
  - GeodSolve94
  - GeodSolve96
  - GeodSolve99
  - GeodSolve100
  - Planimeter0
  - Planimeter5
  - Planimeter6
  - Planimeter12
  - Planimeter12r
  - Planimeter13
  - Planimeter15
  - Planimeter19
  - Planimeter21
  - Planimeter29
  - main
  source_file: /src/PROJ/src/tests/geodtest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: nullptr
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/tests/geodtest.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - validate_form_string_for_numbers
  - MY_FPRINTF0
  - MY_FPRINTF0
  - MY_FPRINTF
  - parseInt
  - limited_fprintf_for_number
  source_file: /src/PROJ/src/apps/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geodesic
  source_file: /src/PROJ/src/apps/geod_interface.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GEOD_EXTERN
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: extern
    - item_type: preproc_def
      name: geod_a
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.A
    - item_type: preproc_def
      name: geod_f
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.FLAT
    - item_type: preproc_def
      name: lam1
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.LAM1
    - item_type: preproc_def
      name: phi1
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.PHI1
    - item_type: preproc_def
      name: al12
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.ALPHA12
    - item_type: preproc_def
      name: lam2
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.LAM2
    - item_type: preproc_def
      name: phi2
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.PHI2
    - item_type: preproc_def
      name: al21
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.ALPHA21
    - item_type: preproc_def
      name: geod_S
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/apps/geod_interface.h
      type_or_value: GEODESIC.DIST
    structs: []
    typedefs: []
    union: []
- function_names:
  - Stream::doit
  - Stream::Stream
  - Stream::Stream
  - '&operator=(const Stream &)'
  - '&operator=(Stream &&)'
  - Stream::Stream
  - '&operator<<(std::ostream &(*func)(std::ostream &))'
  - '&operator<<(const T &t)'
  - Streamer
  - Stream::doit
  - Stream::Stream
  - Stream::Stream
  - '&operator=(const Stream &)'
  - '&operator=(Stream &&)'
  - Stream::Stream
  - '&operator<<(std::ostream &(*func)(std::ostream &))'
  - '&operator<<(const T &t)'
  - Streamer
  - usage
  - un_c_ify_string
  - c_ify_string
  - makeBboxFilter
  - buildObject
  - outputObject
  - outputOperationSummary
  - is3DCRS
  - outputOperations
  - suggestCompletion
  - main_projinfo
  - projinfo
  source_file: /src/PROJ/src/apps/projinfo_lib.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: quiet
        type: bool
      - name: PROJ5
        type: bool
      - name: WKT2_2019
        type: bool
      - name: WKT2_2019_SIMPLIFIED
        type: bool
      - name: WKT2_2015
        type: bool
      - name: WKT2_2015_SIMPLIFIED
        type: bool
      - name: WKT1_GDAL
        type: bool
      - name: WKT1_ESRI
        type: bool
      - name: PROJJSON
        type: bool
      - name: SQL
        type: bool
      - name: c_ify
        type: bool
      - name: singleLine
        type: bool
      - name: strict
        type: bool
      - name: ballparkAllowed
        type: bool
      - name: allowEllipsoidalHeightAsVerticalCRS
        type: bool
      - name: outputAuthName
        type: std::string
      - name: outputCode
        type: std::string
      - name: allowedAuthorities
        type: std::vector<std::string>
      item_type: struct
      name: OutputOptions
      pos:
        line_end: 88
        line_start: 69
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    - fields:
      - name: quiet
        type: bool
      - name: PROJ5
        type: bool
      - name: WKT2_2019
        type: bool
      - name: WKT2_2019_SIMPLIFIED
        type: bool
      - name: WKT2_2015
        type: bool
      - name: WKT2_2015_SIMPLIFIED
        type: bool
      - name: WKT1_GDAL
        type: bool
      - name: WKT1_ESRI
        type: bool
      - name: PROJJSON
        type: bool
      - name: SQL
        type: bool
      - name: c_ify
        type: bool
      - name: singleLine
        type: bool
      - name: strict
        type: bool
      - name: ballparkAllowed
        type: bool
      - name: allowEllipsoidalHeightAsVerticalCRS
        type: bool
      - name: outputAuthName
        type: std::string
      - name: outputCode
        type: std::string
      - name: allowedAuthorities
        type: std::vector<std::string>
      item_type: struct
      name: OutputOptions
      pos:
        line_end: 88
        line_start: 69
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    - fields:
      - name: cout
        type: Stream<PJ_PROJINFO_LOG_LEVEL_INFO>
      - name: cwarn
        type: Stream<PJ_PROJINFO_LOG_LEVEL_WARN>
      - name: cerr
        type: Stream<PJ_PROJINFO_LOG_LEVEL_ERR>
      item_type: struct
      name: Streamer
      pos:
        line_end: 136
        line_start: 92
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    - fields:
      - name: cout
        type: Stream<PJ_PROJINFO_LOG_LEVEL_INFO>
      - name: cwarn
        type: Stream<PJ_PROJINFO_LOG_LEVEL_WARN>
      - name: cerr
        type: Stream<PJ_PROJINFO_LOG_LEVEL_ERR>
      item_type: struct
      name: Streamer
      pos:
        line_end: 136
        line_start: 92
        source_file: /src/PROJ/src/apps/projinfo_lib.cpp
    typedefs: []
    union: []
- function_names:
  - ParsingException::ParsingException
  - ParsingException::what
  - ParsingException::ParsingException
  - ParsingException::what
  - usage
  - get_bbox
  - main
  source_file: /src/PROJ/src/apps/projsync.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/apps/utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - logger
  - print
  - main
  - column
  - column
  - cold
  - parse_input_line
  source_file: /src/PROJ/src/apps/cct.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SET_BINARY_MODE
  - PJ_INVERSE
  - process
  - vprocess
  - main
  source_file: /src/PROJ/src/apps/proj.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LINE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/apps/proj.cpp
      type_or_value: '1000'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: (*fwd)(PJ_LP, PJ *)
        type: PJ_XY
      - name: (*inv)(PJ_XY, PJ *)
        type: PJ_LP
      item_type: union
      name: proj
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/PROJ/src/apps/proj.cpp
- function_names:
  - opt_filename
  - opt_eof
  - opt_record
  - opt_input_loop
  - opt_is_flag
  - opt_raise_flag
  - opt_ordinal
  - opt_given
  - opt_arg
  - opt_strip_path
  - opt_parse
  source_file: /src/PROJ/src/apps/optargpm.h
  types:
    enum:
    - enumerators:
      - name: optargs_file_format_text
        value: '0'
      - name: optargs_file_format_binary
        value: '1'
      item_type: enum
      name: OPTARGS_FILE_FORMAT
      pos:
        line_end: 201
        line_start: 198
        source_file: /src/PROJ/src/apps/optargpm.h
    preproc_defs:
    - item_type: preproc_def
      name: OPTARG_SIZE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PROJ/src/apps/optargpm.h
      type_or_value: '256'
    structs:
    - fields:
      - name: argc
        type: int
      - name: '**argv'
        type: char
      - name: '*input'
        type: FILE
      - name: input_index
        type: int
      - name: record_index
        type: int
      - name: '*progname'
        type: char
      - name: flaglevel[21]
        type: char
      - name: '*optarg[OPTARG_SIZE]'
        type: char
      - name: '*flags'
        type: char
      - name: '*keys'
        type: char
      - name: "*\n        *longflags"
        type: char
      - name: "*\n        *longkeys"
        type: char
      item_type: struct
      name: OPTARGS
      pos:
        line_end: 243
        line_start: 220
        source_file: /src/PROJ/src/apps/optargpm.h
    typedefs:
    - item_type: typedef
      name: OPTARGS
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/PROJ/src/apps/optargpm.h
      type: OPTARGS
    union: []
- function_names: []
  source_file: /src/PROJ/src/apps/projapps_lib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*projinfo_cb_t)(PJ_PROJINFO_LOG_LEVEL level, const char *msg,\n                              void
        *user_data)"
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/src/apps/projapps_lib.h
      type: void
    union: []
- function_names:
  - printLL
  - do_arc
  - do_geod
  - process
  - main
  source_file: /src/PROJ/src/apps/geod.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXLINE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/apps/geod.cpp
      type_or_value: '200'
    - item_type: preproc_def
      name: MAX_PARGS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/apps/geod.cpp
      type_or_value: '50'
    - item_type: preproc_def
      name: TAB
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/apps/geod.cpp
      type_or_value: putchar('\t')
    structs: []
    typedefs: []
    union: []
- function_names:
  - EMESS_PRINT_FUNC_FORMAT
  source_file: /src/PROJ/src/apps/emess.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*File_name'
        type: char
      - name: File_line
        type: int
      item_type: struct
      name: EMESS
      pos:
        line_end: 9
        line_start: 4
        source_file: /src/PROJ/src/apps/emess.h
    typedefs: []
    union: []
- function_names:
  - process
  - instantiate_crs
  - get_geog_crs_proj_string_from_proj_crs
  - is3DCRS
  - main
  source_file: /src/PROJ/src/apps/cs2cs.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LINE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/apps/cs2cs.cpp
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - proj_strtod
  - proj_atof
  - un_underscore
  - thetest
  - test
  - main
  source_file: /src/PROJ/src/apps/proj_strtod.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geod_set
  source_file: /src/PROJ/src/apps/geod_set.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geod_ini
  - geod_pre
  - geod_for
  - geod_inv
  source_file: /src/PROJ/src/apps/geod_interface.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/apps/proj_strtod.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - another_failure
  - another_skip
  - another_success
  - another_succeeding_failure
  - another_failing_failure
  - another_succeeding_roundtrip
  - another_failing_roundtrip
  - process_file
  - column
  - strtod_scaled
  - banner
  - tolerance
  - use_proj4_init_rules
  - ignore
  - require_grid
  - direction
  - finish_previous_operation
  - operation
  - isLatOrNorthingFirst
  - crs_to_crs_operation
  - crs_src
  - crs_dst
  - torad_coord
  - todeg_coord
  - parse_coord
  - accept
  - roundtrip
  - expect_message
  - expect_message_cannot_parse
  - expect_failure_with_errno_message
  - expect
  - verbose
  - echo
  - skip
  - dispatch
  - list_err_codes
  - err_const_from_errno
  - errno_from_err_const
  - errmsg
  - ffio_create
  - ffio_destroy
  - at_decorative_element
  - at_tag
  - at_end_delimiter
  - nextline
  - step_into_gie_block
  - skip_to_next_tag
  - append_args
  - get_inp
  source_file: /src/PROJ/src/apps/gie.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SKIP
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/src/apps/gie.cpp
      type_or_value: '-1'
    - item_type: preproc_def
      name: MAX_OPERATION
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/src/apps/gie.cpp
      type_or_value: '10000'
    structs:
    - fields:
      - name: '*f'
        type: FILE
      - name: '*const *tags'
        type: char
      - name: '*tag'
        type: char
      - name: '*args'
        type: char
      - name: '*next_args'
        type: char
      - name: n_tags
        type: size_t
      - name: args_size
        type: size_t
      - name: next_args_size
        type: size_t
      - name: argc
        type: size_t
      - name: lineno
        type: size_t
      - name: level
        type: size_t
      - name: strict_mode
        type: bool
      item_type: struct
      name: ffio
      pos:
        line_end: 143
        line_start: 130
        source_file: /src/PROJ/src/apps/gie.cpp
    - fields:
      - name: operation[MAX_OPERATION + 1]
        type: char
      - name: crs_dst[MAX_OPERATION + 1]
        type: char
      - name: crs_src[MAX_OPERATION + 1]
        type: char
      - name: '*P'
        type: PJ
      - name: crs_dst_is_lat_lon_or_y_x
        type: bool
      - name: a
        type: PJ_COORD
      - name: dir
        type: PJ_DIRECTION
      - name: verbosity
        type: int
      - name: skip
        type: int
      - name: op_id
        type: int
      - name: op_ok
        type: int
      - name: total_ok
        type: int
      - name: grand_ok
        type: int
      - name: operation_lineno
        type: size_t
      - name: dimensions_given
        type: size_t
      - name: tolerance
        type: double
      - name: use_proj4_init_rules
        type: int
      - name: ignore
        type: int
      - name: skip_test
        type: int
      - name: '*curr_file'
        type: char
      - name: '*fout'
        type: FILE
      item_type: struct
      name: gie_ctx
      pos:
        line_end: 217
        line_start: 195
        source_file: /src/PROJ/src/apps/gie.cpp
    - fields:
      - name: '*the_err_const'
        type: char
      - name: the_errno
        type: int
      item_type: struct
      name: "lookup[] = {\n\n    {\"invalid_op\", PROJ_ERR_INVALID_OP},\n    {\"invalid_op_wrong_syntax\",
        PROJ_ERR_INVALID_OP_WRONG_SYNTAX},\n    {\"invalid_op_missing_arg\", PROJ_ERR_INVALID_OP_MISSING_ARG},\n
        \   {\"invalid_op_illegal_arg_value\", PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE},\n
        \   {\"invalid_op_mutually_exclusive_args\",\n     PROJ_ERR_INVALID_OP_MUTUALLY_EXCLUSIVE_ARGS},\n
        \   {\"invalid_op_file_not_found_or_invalid\",\n     PROJ_ERR_INVALID_OP_FILE_NOT_FOUND_OR_INVALID},\n
        \   {\"coord_transfm\", PROJ_ERR_COORD_TRANSFM},\n    {\"coord_transfm_invalid_coord\",
        PROJ_ERR_COORD_TRANSFM_INVALID_COORD},\n    {\"coord_transfm_outside_projection_domain\",\n
        \    PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN},\n    {\"coord_transfm_no_operation\",
        PROJ_ERR_COORD_TRANSFM_NO_OPERATION},\n    {\"coord_transfm_outside_grid\",
        PROJ_ERR_COORD_TRANSFM_OUTSIDE_GRID},\n    {\"coord_transfm_grid_at_nodata\",
        PROJ_ERR_COORD_TRANSFM_GRID_AT_NODATA},\n    {\"coord_transfm_missing_time\",
        PROJ_ERR_COORD_TRANSFM_MISSING_TIME},\n    {\"other\", PROJ_ERR_OTHER},\n
        \   {\"api_misuse\", PROJ_ERR_OTHER_API_MISUSE},\n    {\"no_inverse_op\",
        PROJ_ERR_OTHER_NO_INVERSE_OP},\n    {\"network_error\", PROJ_ERR_OTHER_NETWORK_ERROR},\n}"
      pos:
        line_end: 1281
        line_start: 1276
        source_file: /src/PROJ/src/apps/gie.cpp
    - fields:
      - name: '*the_err_const'
        type: char
      - name: the_errno
        type: int
      item_type: struct
      name: "lookup[] = {\n\n    {\"invalid_op\", PROJ_ERR_INVALID_OP},\n    {\"invalid_op_wrong_syntax\",
        PROJ_ERR_INVALID_OP_WRONG_SYNTAX},\n    {\"invalid_op_missing_arg\", PROJ_ERR_INVALID_OP_MISSING_ARG},\n
        \   {\"invalid_op_illegal_arg_value\", PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE},\n
        \   {\"invalid_op_mutually_exclusive_args\",\n     PROJ_ERR_INVALID_OP_MUTUALLY_EXCLUSIVE_ARGS},\n
        \   {\"invalid_op_file_not_found_or_invalid\",\n     PROJ_ERR_INVALID_OP_FILE_NOT_FOUND_OR_INVALID},\n
        \   {\"coord_transfm\", PROJ_ERR_COORD_TRANSFM},\n    {\"coord_transfm_invalid_coord\",
        PROJ_ERR_COORD_TRANSFM_INVALID_COORD},\n    {\"coord_transfm_outside_projection_domain\",\n
        \    PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN},\n    {\"coord_transfm_no_operation\",
        PROJ_ERR_COORD_TRANSFM_NO_OPERATION},\n    {\"coord_transfm_outside_grid\",
        PROJ_ERR_COORD_TRANSFM_OUTSIDE_GRID},\n    {\"coord_transfm_grid_at_nodata\",
        PROJ_ERR_COORD_TRANSFM_GRID_AT_NODATA},\n    {\"coord_transfm_missing_time\",
        PROJ_ERR_COORD_TRANSFM_MISSING_TIME},\n    {\"other\", PROJ_ERR_OTHER},\n
        \   {\"api_misuse\", PROJ_ERR_OTHER_API_MISUSE},\n    {\"no_inverse_op\",
        PROJ_ERR_OTHER_NO_INVERSE_OP},\n    {\"network_error\", PROJ_ERR_OTHER_NETWORK_ERROR},\n}"
      pos:
        line_end: 1281
        line_start: 1276
        source_file: /src/PROJ/src/apps/gie.cpp
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/src/apps/projinfo.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - emess
  source_file: /src/PROJ/src/apps/emess.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eqdc_e_forward
  - eqdc_e_inverse
  - pj_eqdc_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eqdc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/eqdc.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: phi1
        type: double
      - name: phi2
        type: double
      - name: n
        type: double
      - name: rho
        type: double
      - name: rho0
        type: double
      - name: c
        type: double
      - name: '*en'
        type: double
      - name: ellips
        type: int
      item_type: struct
      name: pj_eqdc_data
      pos:
        line_end: 19
        line_start: 10
        source_file: /src/PROJ/src/projections/eqdc.cpp
    - fields:
      - name: phi1
        type: double
      - name: phi2
        type: double
      - name: n
        type: double
      - name: rho
        type: double
      - name: rho0
        type: double
      - name: c
        type: double
      - name: '*en'
        type: double
      - name: ellips
        type: int
      item_type: struct
      name: pj_eqdc_data
      pos:
        line_end: 19
        line_start: 10
        source_file: /src/PROJ/src/projections/eqdc.cpp
    typedefs: []
    union: []
- function_names:
  - lask_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/lask.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: a10
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '0.975534'
    - item_type: preproc_def
      name: a12
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '-0.119161'
    - item_type: preproc_def
      name: a32
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '-0.0143059'
    - item_type: preproc_def
      name: a14
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '-0.0547009'
    - item_type: preproc_def
      name: b01
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '1.00384'
    - item_type: preproc_def
      name: b21
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '0.0802894'
    - item_type: preproc_def
      name: b03
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '0.0998909'
    - item_type: preproc_def
      name: b41
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '0.000199025'
    - item_type: preproc_def
      name: b23
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '-0.0285500'
    - item_type: preproc_def
      name: b05
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/lask.cpp
      type_or_value: '-0.0491032'
    structs: []
    typedefs: []
    union: []
- function_names:
  - natearth2_s_forward
  - natearth2_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/natearth2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: A0
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '0.84719'
    - item_type: preproc_def
      name: A1
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '-0.13063'
    - item_type: preproc_def
      name: A2
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '-0.04515'
    - item_type: preproc_def
      name: A3
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '0.05494'
    - item_type: preproc_def
      name: A4
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '-0.02326'
    - item_type: preproc_def
      name: A5
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '0.00331'
    - item_type: preproc_def
      name: B0
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '1.01183'
    - item_type: preproc_def
      name: B1
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '-0.02625'
    - item_type: preproc_def
      name: B2
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '0.01926'
    - item_type: preproc_def
      name: B3
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '-0.00396'
    - item_type: preproc_def
      name: C0
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: B0
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: (9 * B1)
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: (11 * B2)
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: (13 * B3)
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: 1e-11
    - item_type: preproc_def
      name: MAX_Y
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: (0.84719 * 0.535117535153096 * M_PI)
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/src/projections/natearth2.cpp
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eqc_s_forward
  - eqc_s_inverse
  - eqc_e_forward
  - eqc_e_inverse
  - pj_eqc_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eqc.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rc
        type: double
      - name: M0
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_eqc_data
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/PROJ/src/projections/eqc.cpp
    - fields:
      - name: rc
        type: double
      - name: M0
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_eqc_data
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/PROJ/src/projections/eqc.cpp
    typedefs: []
    union: []
- function_names:
  - eck4_s_forward
  - eck4_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eck4.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - putp6_s_forward
  - putp6_s_inverse
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/putp6.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/putp6.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/putp6.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: CON_POLE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/projections/putp6.cpp
      type_or_value: '1.732050807568877 '
    structs:
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_putp6
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/putp6.cpp
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_putp6
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/putp6.cpp
    typedefs: []
    union: []
- function_names:
  - wag7_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/wag7.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vandg2_s_forward
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/vandg2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/vandg2.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: vdg3
        type: int
      item_type: struct
      name: pj_vandg2
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/vandg2.cpp
    - fields:
      - name: vdg3
        type: int
      item_type: struct
      name: pj_vandg2
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/vandg2.cpp
    typedefs: []
    union: []
- function_names:
  - eqearth_e_forward
  - eqearth_e_inverse
  - destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eqearth.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: A1
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: '1.340264'
    - item_type: preproc_def
      name: A2
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: '-0.081106'
    - item_type: preproc_def
      name: A3
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: '0.000893'
    - item_type: preproc_def
      name: A4
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: '0.003796'
    - item_type: preproc_def
      name: M
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: (sqrt(3.0) / 2.0)
    - item_type: preproc_def
      name: MAX_Y
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: '1.3173627591574 '
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: 1e-11
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/src/projections/eqearth.cpp
      type_or_value: '12'
    structs:
    - fields:
      - name: qp
        type: double
      - name: rqda
        type: double
      - name: '*apa'
        type: double
      item_type: struct
      name: pj_eqearth
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/PROJ/src/projections/eqearth.cpp
    - fields:
      - name: qp
        type: double
      - name: rqda
        type: double
      - name: '*apa'
        type: double
      item_type: struct
      name: pj_eqearth
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/PROJ/src/projections/eqearth.cpp
    typedefs: []
    union: []
- function_names:
  - comill_s_forward
  - comill_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/comill.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: K1
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: '0.9902'
    - item_type: preproc_def
      name: K2
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: '0.1604'
    - item_type: preproc_def
      name: K3
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: '-0.03054'
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: K1
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: (3 * K2)
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: (5 * K3)
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: 1e-11
    - item_type: preproc_def
      name: MAX_Y
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: (0.6000207669862655 * M_PI)
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/comill.cpp
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - aitoff_s_forward
  - aitoff_s_inverse
  - pj_aitoff_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/aitoff.cpp
  types:
    enum:
    - enumerators:
      - name: AITOFF
        value: '0'
      - name: WINKEL_TRIPEL
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/PROJ/src/projections/aitoff.cpp
    - enumerators:
      - name: AITOFF
        value: '0'
      - name: WINKEL_TRIPEL
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/PROJ/src/projections/aitoff.cpp
    preproc_defs: []
    structs:
    - fields:
      - name: cosphi1
        type: double
      - name: mode
        type: enum pj_aitoff_ns::Mode
      item_type: struct
      name: pj_aitoff_data
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/PROJ/src/projections/aitoff.cpp
    - fields:
      - name: cosphi1
        type: double
      - name: mode
        type: enum pj_aitoff_ns::Mode
      item_type: struct
      name: pj_aitoff_data
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/PROJ/src/projections/aitoff.cpp
    typedefs: []
    union: []
- function_names:
  - mbtfpq_s_forward
  - mbtfpq_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/mbtfpq.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: 1e-7
    - item_type: preproc_def
      name: ONETOL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '1.000001'
    - item_type: preproc_def
      name: C
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '1.70710678118654752440'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '0.58578643762690495119'
    - item_type: preproc_def
      name: FYC
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '1.87475828462269495505'
    - item_type: preproc_def
      name: RYC
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '0.53340209679417701685'
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '0.31245971410378249250'
    - item_type: preproc_def
      name: RXC
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/mbtfpq.cpp
      type_or_value: '3.20041258076506210122'
    structs: []
    typedefs: []
    union: []
- function_names:
  - collg_s_forward
  - collg_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/collg.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/collg.cpp
      type_or_value: '1.12837916709551257390'
    - item_type: preproc_def
      name: FYC
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/collg.cpp
      type_or_value: '1.77245385090551602729'
    - item_type: preproc_def
      name: ONEEPS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/collg.cpp
      type_or_value: '1.0000001'
    structs: []
    typedefs: []
    union: []
- function_names:
  - crast_s_forward
  - crast_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/crast.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XM
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/crast.cpp
      type_or_value: '0.97720502380583984317'
    - item_type: preproc_def
      name: RXM
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/crast.cpp
      type_or_value: '1.02332670794648848847'
    - item_type: preproc_def
      name: YM
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/crast.cpp
      type_or_value: '3.06998012383946546542'
    - item_type: preproc_def
      name: RYM
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/crast.cpp
      type_or_value: '0.32573500793527994772'
    - item_type: preproc_def
      name: THIRD
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/crast.cpp
      type_or_value: '0.333333333333333333'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nsper_s_forward
  - nsper_s_inverse
  - nsper_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/nsper.cpp
  types:
    enum:
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: EQUIT
        value: '2'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/PROJ/src/projections/nsper.cpp
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: EQUIT
        value: '2'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/PROJ/src/projections/nsper.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/projections/nsper.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: height
        type: double
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: p
        type: double
      - name: rp
        type: double
      - name: pn1
        type: double
      - name: pfact
        type: double
      - name: h
        type: double
      - name: cg
        type: double
      - name: sg
        type: double
      - name: sw
        type: double
      - name: cw
        type: double
      - name: mode
        type: enum pj_nsper_ns::Mode
      - name: tilt
        type: int
      item_type: struct
      name: pj_nsper_data
      pos:
        line_end: 31
        line_start: 16
        source_file: /src/PROJ/src/projections/nsper.cpp
    - fields:
      - name: height
        type: double
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: p
        type: double
      - name: rp
        type: double
      - name: pn1
        type: double
      - name: pfact
        type: double
      - name: h
        type: double
      - name: cg
        type: double
      - name: sg
        type: double
      - name: sw
        type: double
      - name: cw
        type: double
      - name: mode
        type: enum pj_nsper_ns::Mode
      - name: tilt
        type: int
      item_type: struct
      name: pj_nsper_data
      pos:
        line_end: 31
        line_start: 16
        source_file: /src/PROJ/src/projections/nsper.cpp
    typedefs: []
    union: []
- function_names:
  - qsc_fwd_equat_face_theta
  - qsc_shift_longitude_origin
  - qsc_e_forward
  - qsc_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/qsc.cpp
  types:
    enum:
    - enumerators:
      - name: FACE_FRONT
        value: '0'
      - name: FACE_RIGHT
        value: '1'
      - name: FACE_LEFT
        value: '3'
      - name: FACE_BACK
        value: '2'
      - name: FACE_TOP
        value: '4'
      - name: FACE_BOTTOM
        value: '5'
      item_type: enum
      name: Face
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/PROJ/src/projections/qsc.cpp
    - enumerators:
      - name: FACE_FRONT
        value: '0'
      - name: FACE_RIGHT
        value: '1'
      - name: FACE_LEFT
        value: '3'
      - name: FACE_BACK
        value: '2'
      - name: FACE_TOP
        value: '4'
      - name: FACE_BOTTOM
        value: '5'
      item_type: enum
      name: Face
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/PROJ/src/projections/qsc.cpp
    - enumerators:
      - name: AREA_0
        value: '0'
      - name: AREA_1
        value: '1'
      - name: AREA_2
        value: '2'
      - name: AREA_3
        value: '3'
      item_type: enum
      name: Area
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/PROJ/src/projections/qsc.cpp
    - enumerators:
      - name: AREA_0
        value: '0'
      - name: AREA_1
        value: '1'
      - name: AREA_2
        value: '2'
      - name: AREA_3
        value: '3'
      item_type: enum
      name: Area
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/PROJ/src/projections/qsc.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/src/projections/qsc.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: face
        type: enum pj_qsc_ns::Face
      - name: a_squared
        type: double
      - name: b
        type: double
      - name: one_minus_f
        type: double
      - name: one_minus_f_squared
        type: double
      item_type: struct
      name: pj_qsc_data
      pos:
        line_end: 66
        line_start: 60
        source_file: /src/PROJ/src/projections/qsc.cpp
    - fields:
      - name: face
        type: enum pj_qsc_ns::Face
      - name: a_squared
        type: double
      - name: b
        type: double
      - name: one_minus_f
        type: double
      - name: one_minus_f_squared
        type: double
      item_type: struct
      name: pj_qsc_data
      pos:
        line_end: 66
        line_start: 60
        source_file: /src/PROJ/src/projections/qsc.cpp
    typedefs: []
    union: []
- function_names:
  - laea_e_forward
  - laea_s_forward
  - laea_e_inverse
  - laea_s_inverse
  - pj_laea_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/laea.cpp
  types:
    enum:
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 8
        line_start: 8
        source_file: /src/PROJ/src/projections/laea.cpp
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 8
        line_start: 8
        source_file: /src/PROJ/src/projections/laea.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/laea.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: sinb1
        type: double
      - name: cosb1
        type: double
      - name: xmf
        type: double
      - name: ymf
        type: double
      - name: mmf
        type: double
      - name: qp
        type: double
      - name: dd
        type: double
      - name: rq
        type: double
      - name: '*apa'
        type: double
      - name: mode
        type: enum pj_laea_ns::Mode
      item_type: struct
      name: pj_laea_data
      pos:
        line_end: 23
        line_start: 12
        source_file: /src/PROJ/src/projections/laea.cpp
    - fields:
      - name: sinb1
        type: double
      - name: cosb1
        type: double
      - name: xmf
        type: double
      - name: ymf
        type: double
      - name: mmf
        type: double
      - name: qp
        type: double
      - name: dd
        type: double
      - name: rq
        type: double
      - name: '*apa'
        type: double
      - name: mode
        type: enum pj_laea_ns::Mode
      item_type: struct
      name: pj_laea_data
      pos:
        line_end: 23
        line_start: 12
        source_file: /src/PROJ/src/projections/laea.cpp
    typedefs: []
    union: []
- function_names:
  - vandg4_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/vandg4.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/vandg4.cpp
      type_or_value: 1e-10
    structs: []
    typedefs: []
    union: []
- function_names:
  - natearth_s_forward
  - natearth_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/natearth.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: A0
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '0.8707'
    - item_type: preproc_def
      name: A1
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '-0.131979'
    - item_type: preproc_def
      name: A2
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '-0.013791'
    - item_type: preproc_def
      name: A3
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '0.003971'
    - item_type: preproc_def
      name: A4
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '-0.001529'
    - item_type: preproc_def
      name: B0
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '1.007226'
    - item_type: preproc_def
      name: B1
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '0.015085'
    - item_type: preproc_def
      name: B2
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '-0.044475'
    - item_type: preproc_def
      name: B3
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '0.028874'
    - item_type: preproc_def
      name: B4
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '-0.005916'
    - item_type: preproc_def
      name: C0
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: B0
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: (3 * B1)
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: (7 * B2)
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: (9 * B3)
    - item_type: preproc_def
      name: C4
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: (11 * B4)
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: 1e-11
    - item_type: preproc_def
      name: MAX_Y
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: (0.8707 * 0.52 * M_PI)
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/src/projections/natearth.cpp
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - patterson_s_forward
  - patterson_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/patterson.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: K1
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '1.0148'
    - item_type: preproc_def
      name: K2
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '0.23185'
    - item_type: preproc_def
      name: K3
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '-0.14499'
    - item_type: preproc_def
      name: K4
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '0.02406'
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: K1
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: (5.0 * K2)
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: (7.0 * K3)
    - item_type: preproc_def
      name: C4
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: (9.0 * K4)
    - item_type: preproc_def
      name: EPS11
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '1.0e-11'
    - item_type: preproc_def
      name: MAX_Y
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '1.790857183'
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/projections/patterson.cpp
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - hammer_s_forward
  - hammer_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/hammer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/hammer.cpp
      type_or_value: '1.0e-10'
    structs:
    - fields:
      - name: w
        type: double
      - name: m
        type: double
      item_type: struct
      name: pq_hammer
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/PROJ/src/projections/hammer.cpp
    - fields:
      - name: w
        type: double
      - name: m
        type: double
      item_type: struct
      name: pq_hammer
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/PROJ/src/projections/hammer.cpp
    typedefs: []
    union: []
- function_names:
  - tcc_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/tcc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/tcc.cpp
      type_or_value: '1.e-10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sign
  - rotate
  - get_rotate_index
  - pnpoly
  - in_image
  - auth_lat
  - healpix_sphere
  - healpix_spherhealpix_e_inverse
  - vector_add
  - vector_sub
  - dot_product
  - get_cap
  - combine_caps
  - s_healpix_forward
  - e_healpix_forward
  - s_healpix_inverse
  - e_healpix_inverse
  - s_rhealpix_forward
  - e_rhealpix_forward
  - s_rhealpix_inverse
  - e_rhealpix_inverse
  - pj_healpix_data_destructor
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/healpix.cpp
  types:
    enum:
    - enumerators:
      - name: north
      - name: south
      - name: equatorial
      item_type: enum
      name: Region
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/PROJ/src/projections/healpix.cpp
    preproc_defs:
    - item_type: preproc_def
      name: R1
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/PROJ/src/projections/healpix.cpp
      type_or_value: "{                                                                          \\\n
        \       {0, -1}, { 1, 0 }                                                      \\\n
        \   }"
    - item_type: preproc_def
      name: R2
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/PROJ/src/projections/healpix.cpp
      type_or_value: "{                                                                          \\\n
        \       {-1, 0}, { 0, -1 }                                                     \\\n
        \   }"
    - item_type: preproc_def
      name: R3
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/PROJ/src/projections/healpix.cpp
      type_or_value: "{                                                                          \\\n
        \       {0, 1}, { -1, 0 }                                                      \\\n
        \   }"
    - item_type: preproc_def
      name: IDENT
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/PROJ/src/projections/healpix.cpp
      type_or_value: "{                                                                          \\\n
        \       {1, 0}, { 0, 1 }                                                       \\\n
        \   }"
    - item_type: preproc_def
      name: ROT
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/PROJ/src/projections/healpix.cpp
      type_or_value: '{ IDENT, R1, R2, R3, R3, R2, R1 }'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/src/projections/healpix.cpp
      type_or_value: 1e-15
    structs:
    - fields:
      - name: north_square
        type: int
      - name: south_square
        type: int
      - name: rot_xy
        type: double
      - name: qp
        type: double
      - name: '*apa'
        type: double
      item_type: struct
      name: pj_healpix_data
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/PROJ/src/projections/healpix.cpp
    - fields:
      - name: north_square
        type: int
      - name: south_square
        type: int
      - name: rot_xy
        type: double
      - name: qp
        type: double
      - name: '*apa'
        type: double
      item_type: struct
      name: pj_healpix_data
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/PROJ/src/projections/healpix.cpp
    - fields:
      - name: cn
        type: int
      - name: x
        type: double
      - name: region
        type: enum Region { north, south, equatorial }
      item_type: struct
      name: CapMap
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/PROJ/src/projections/healpix.cpp
    typedefs: []
    union: []
- function_names:
  - igh_s_forward
  - igh_s_inverse
  - pj_igh_data_destructor
  - pj_igh_setup_zone
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/igh.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pj[12]'
        type: struct PJconsts
      - name: dy0
        type: double
      item_type: struct
      name: pj_igh_data
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/PROJ/src/projections/igh.cpp
    - fields:
      - name: '*pj[12]'
        type: struct PJconsts
      - name: dy0
        type: double
      item_type: struct
      name: pj_igh_data
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/PROJ/src/projections/igh.cpp
    typedefs: []
    union: []
- function_names:
  - imoll_s_forward
  - imoll_s_inverse
  - pj_imoll_destructor
  - setup_zone
  - compute_zone_offset
  - compute_zone_x_boundary
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/imoll.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pj[6]'
        type: struct PJconsts
      - name: boundary12
        type: double
      - name: boundary34
        type: double
      - name: boundary45
        type: double
      - name: boundary56
        type: double
      item_type: struct
      name: pj_imoll_data
      pos:
        line_end: 37
        line_start: 30
        source_file: /src/PROJ/src/projections/imoll.cpp
    - fields:
      - name: '*pj[6]'
        type: struct PJconsts
      - name: boundary12
        type: double
      - name: boundary34
        type: double
      - name: boundary45
        type: double
      - name: boundary56
        type: double
      item_type: struct
      name: pj_imoll_data
      pos:
        line_end: 37
        line_start: 30
        source_file: /src/PROJ/src/projections/imoll.cpp
    typedefs: []
    union: []
- function_names:
  - hatano_s_forward
  - hatano_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/hatano.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: 1e-7
    - item_type: preproc_def
      name: ONETOL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '1.000001'
    - item_type: preproc_def
      name: CN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '2.67595'
    - item_type: preproc_def
      name: CSz
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '2.43763'
    - item_type: preproc_def
      name: RCN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '0.37369906014686373063'
    - item_type: preproc_def
      name: RCS
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '0.41023453108141924738'
    - item_type: preproc_def
      name: FYCN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '1.75859'
    - item_type: preproc_def
      name: FYCS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '1.93052'
    - item_type: preproc_def
      name: RYCN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '0.56863737426006061674'
    - item_type: preproc_def
      name: RYCS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '0.51799515156538134803'
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '0.85'
    - item_type: preproc_def
      name: RXC
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/projections/hatano.cpp
      type_or_value: '1.17647058823529411764'
    structs: []
    typedefs: []
    union: []
- function_names:
  - putp5_s_forward
  - putp5_s_inverse
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/putp5.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/putp5.cpp
      type_or_value: '1.01346'
    - item_type: preproc_def
      name: D
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/putp5.cpp
      type_or_value: '1.2158542'
    structs:
    - fields:
      - name: A
        type: double
      item_type: struct
      name: pj_putp5_data
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/putp5.cpp
    - fields:
      - name: A
        type: double
      item_type: struct
      name: pj_putp5_data
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/putp5.cpp
    typedefs: []
    union: []
- function_names:
  - bipc_s_forward
  - bipc_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/bipc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: ONEEPS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.000000001'
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: lamB
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: -.34894976726250681539
    - item_type: preproc_def
      name: n
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.63055844881274687180'
    - item_type: preproc_def
      name: F
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.89724742567461030582'
    - item_type: preproc_def
      name: Azab
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.81650043674686363166'
    - item_type: preproc_def
      name: Azba
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.82261843856185925133'
    - item_type: preproc_def
      name: T
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.27246578267089012270'
    - item_type: preproc_def
      name: rhoc
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.20709121521568721927'
    - item_type: preproc_def
      name: cAzc
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.69691523038678375519'
    - item_type: preproc_def
      name: sAzc
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.71715351331143607555'
    - item_type: preproc_def
      name: C45
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.70710678118654752469'
    - item_type: preproc_def
      name: S45
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.70710678118654752410'
    - item_type: preproc_def
      name: C20
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '.93969262078590838411'
    - item_type: preproc_def
      name: S20
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: -.34202014332566873287
    - item_type: preproc_def
      name: R110
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.91986217719376253360'
    - item_type: preproc_def
      name: R104
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/projections/bipc.cpp
      type_or_value: '1.81514242207410275904'
    structs:
    - fields:
      - name: noskew
        type: int
      item_type: struct
      name: pj_bipc_data
      pos:
        line_end: 33
        line_start: 31
        source_file: /src/PROJ/src/projections/bipc.cpp
    - fields:
      - name: noskew
        type: int
      item_type: struct
      name: pj_bipc_data
      pos:
        line_end: 33
        line_start: 31
        source_file: /src/PROJ/src/projections/bipc.cpp
    typedefs: []
    union: []
- function_names:
  - rpoly_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/rpoly.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/projections/rpoly.cpp
      type_or_value: 1e-9
    structs:
    - fields:
      - name: phi1
        type: double
      - name: fxa
        type: double
      - name: fxb
        type: double
      - name: mode
        type: int
      item_type: struct
      name: pj_rpoly_data
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/PROJ/src/projections/rpoly.cpp
    - fields:
      - name: phi1
        type: double
      - name: fxa
        type: double
      - name: fxb
        type: double
      - name: mode
        type: int
      item_type: struct
      name: pj_rpoly_data
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/PROJ/src/projections/rpoly.cpp
    typedefs: []
    union: []
- function_names:
  - latlong_forward
  - latlong_inverse
  - latlong_forward_3d
  - latlong_inverse_3d
  - latlong_forward_4d
  - latlong_inverse_4d
  - latlong_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/latlong.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - approx_e_fwd
  - tmerc_spherical_fwd
  - approx_e_inv
  - tmerc_spherical_inv
  - destructor
  - setup_approx
  - clenS
  - exact_e_fwd
  - exact_e_inv
  - setup_exact
  - auto_e_fwd
  - auto_e_inv
  - setup
  - getAlgoFromParams
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/tmerc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: FC1
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '1.'
    - item_type: preproc_def
      name: FC2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.5'
    - item_type: preproc_def
      name: FC3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.16666666666666666666'
    - item_type: preproc_def
      name: FC4
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.08333333333333333333'
    - item_type: preproc_def
      name: FC5
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.05'
    - item_type: preproc_def
      name: FC6
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.03333333333333333333'
    - item_type: preproc_def
      name: FC7
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.02380952380952380952'
    - item_type: preproc_def
      name: FC8
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '.01785714285714285714'
    - item_type: preproc_def
      name: PROJ_ETMERC_ORDER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/src/projections/tmerc.cpp
      type_or_value: '6'
    structs:
    - fields:
      - name: esp
        type: double
      - name: ml0
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: EvendenSnyder
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/PROJ/src/projections/tmerc.cpp
    - fields:
      - name: Qn
        type: double
      - name: Zb
        type: double
      - name: cgb[6]
        type: double
      - name: cbg[6]
        type: double
      - name: utg[6]
        type: double
      - name: gtu[6]
        type: double
      item_type: struct
      name: PoderEngsager
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/PROJ/src/projections/tmerc.cpp
    - fields:
      - name: approx
        type: EvendenSnyder
      - name: exact
        type: PoderEngsager
      item_type: struct
      name: tmerc_data
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/PROJ/src/projections/tmerc.cpp
    - fields:
      - name: esp
        type: double
      - name: ml0
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: EvendenSnyder
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/PROJ/src/projections/tmerc.cpp
    - fields:
      - name: Qn
        type: double
      - name: Zb
        type: double
      - name: cgb[6]
        type: double
      - name: cbg[6]
        type: double
      - name: utg[6]
        type: double
      - name: gtu[6]
        type: double
      item_type: struct
      name: PoderEngsager
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/PROJ/src/projections/tmerc.cpp
    - fields:
      - name: approx
        type: EvendenSnyder
      - name: exact
        type: PoderEngsager
      item_type: struct
      name: tmerc_data
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/PROJ/src/projections/tmerc.cpp
    typedefs: []
    union: []
- function_names:
  - mill_s_forward
  - mill_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/mill.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - urmfps_s_forward
  - urmfps_s_inverse
  - urmfps_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/urmfps.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C_x
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/urmfps.cpp
      type_or_value: '0.8773826753'
    - item_type: preproc_def
      name: Cy
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/urmfps.cpp
      type_or_value: '1.139753528477'
    structs:
    - fields:
      - name: n
        type: double
      item_type: struct
      name: pj_urmfps
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/PROJ/src/projections/urmfps.cpp
    - fields:
      - name: n
        type: double
      item_type: struct
      name: pj_urmfps
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/PROJ/src/projections/urmfps.cpp
    typedefs: []
    union: []
- function_names:
  - tobmerc_s_forward
  - tobmerc_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/tobmerc.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Abs
  - LargestAbsComponent
  - STtoUV
  - UVtoST
  - FaceUVtoXYZ
  - FaceUVtoXYZ
  - ValidFaceXYZtoUV
  - ValidFaceXYZtoUV
  - GetFace
  - XYZtoFaceUV
  - XYZtoFaceUV
  - FaceXYZtoUV
  - FaceXYZtoUV
  - UVtoSphereXYZ
  - s2_forward
  - s2_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/s2.cpp
  types:
    enum:
    - enumerators:
      - name: FACE_FRONT
        value: '0'
      - name: FACE_LEFT
        value: '4'
      - name: FACE_RIGHT
        value: '1'
      - name: FACE_TOP
        value: '2'
      - name: FACE_BACK
        value: '3'
      - name: FACE_BOTTOM
        value: '5'
      item_type: enum
      name: Face
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/PROJ/src/projections/s2.cpp
    - enumerators:
      - name: FACE_FRONT
        value: '0'
      - name: FACE_LEFT
        value: '4'
      - name: FACE_RIGHT
        value: '1'
      - name: FACE_TOP
        value: '2'
      - name: FACE_BACK
        value: '3'
      - name: FACE_BOTTOM
        value: '5'
      item_type: enum
      name: Face
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/PROJ/src/projections/s2.cpp
    - enumerators:
      - name: Linear
      - name: Quadratic
      - name: NoUVtoST
      - name: Tangent
      item_type: enum
      name: S2ProjectionType
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/PROJ/src/projections/s2.cpp
    - enumerators:
      - name: AREA_0
        value: '0'
      - name: AREA_3
        value: '3'
      - name: AREA_1
        value: '1'
      - name: AREA_2
        value: '2'
      item_type: enum
      name: Area
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/PROJ/src/projections/s2.cpp
    - enumerators:
      - name: AREA_0
        value: '0'
      - name: AREA_3
        value: '3'
      - name: AREA_1
        value: '1'
      - name: AREA_2
        value: '2'
      item_type: enum
      name: Area
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/PROJ/src/projections/s2.cpp
    preproc_defs: []
    structs:
    - fields:
      - name: face
        type: enum Face
      - name: a_squared
        type: double
      - name: one_minus_f
        type: double
      - name: one_minus_f_squared
        type: double
      - name: UVtoST
        type: S2ProjectionType
      item_type: struct
      name: pj_s2
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/PROJ/src/projections/s2.cpp
    - fields:
      - name: face
        type: enum Face
      - name: a_squared
        type: double
      - name: one_minus_f
        type: double
      - name: one_minus_f_squared
        type: double
      - name: UVtoST
        type: S2ProjectionType
      item_type: struct
      name: pj_s2
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/PROJ/src/projections/s2.cpp
    typedefs: []
    union: []
- function_names:
  - wag3_s_forward
  - wag3_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/wag3.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TWOTHIRD
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/wag3.cpp
      type_or_value: '0.6666666666666666666667'
    structs:
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_wag3
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/PROJ/src/projections/wag3.cpp
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_wag3
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/PROJ/src/projections/wag3.cpp
    typedefs: []
    union: []
- function_names:
  - destructor
  - e_guam_fwd
  - aeqd_e_forward
  - aeqd_s_forward
  - e_guam_inv
  - aeqd_e_inverse
  - aeqd_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/aeqd.cpp
  types:
    enum:
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PROJ/src/projections/aeqd.cpp
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PROJ/src/projections/aeqd.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/src/projections/aeqd.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/src/projections/aeqd.cpp
      type_or_value: '1.e-14'
    structs:
    - fields:
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: '*en'
        type: double
      - name: M1
        type: double
      - name: N1
        type: double
      - name: Mp
        type: double
      - name: He
        type: double
      - name: G
        type: double
      - name: mode
        type: enum ::pj_aeqd_ns::Mode
      - name: g
        type: struct geod_geodesic
      item_type: struct
      name: pj_aeqd_data
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/PROJ/src/projections/aeqd.cpp
    - fields:
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: '*en'
        type: double
      - name: M1
        type: double
      - name: N1
        type: double
      - name: Mp
        type: double
      - name: He
        type: double
      - name: G
        type: double
      - name: mode
        type: enum ::pj_aeqd_ns::Mode
      - name: g
        type: struct geod_geodesic
      item_type: struct
      name: pj_aeqd_data
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/PROJ/src/projections/aeqd.cpp
    typedefs: []
    union: []
- function_names:
  - wag2_s_forward
  - wag2_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/wag2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C_x
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/wag2.cpp
      type_or_value: '0.92483'
    - item_type: preproc_def
      name: C_y
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/wag2.cpp
      type_or_value: '1.38725'
    - item_type: preproc_def
      name: C_p1
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/wag2.cpp
      type_or_value: '0.88022'
    - item_type: preproc_def
      name: C_p2
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/wag2.cpp
      type_or_value: '0.88550'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbtfpp_s_forward
  - mbtfpp_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/mbtfpp.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CSy
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/mbtfpp.cpp
      type_or_value: '.95257934441568037152'
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/mbtfpp.cpp
      type_or_value: '.92582009977255146156'
    - item_type: preproc_def
      name: FYC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/mbtfpp.cpp
      type_or_value: '3.40168025708304504493'
    - item_type: preproc_def
      name: C23
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/mbtfpp.cpp
      type_or_value: '.66666666666666666666'
    - item_type: preproc_def
      name: C13
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/mbtfpp.cpp
      type_or_value: '.33333333333333333333'
    - item_type: preproc_def
      name: ONEEPS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/mbtfpp.cpp
      type_or_value: '1.0000001'
    structs: []
    typedefs: []
    union: []
- function_names:
  - larr_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/larr.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIXTH
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/larr.cpp
      type_or_value: '.16666666666666666'
    structs: []
    typedefs: []
    union: []
- function_names:
  - phi12
  - loc_for
  - imw_p_e_forward
  - imw_p_e_inverse
  - xy
  - pj_imw_p_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/imw_p.cpp
  types:
    enum:
    - enumerators:
      - name: NONE_IS_ZERO
        value: '0'
      - name: PHI_1_IS_ZERO
        value: '1'
      - name: PHI_2_IS_ZERO
        value: '-1'
      item_type: enum
      name: Mode
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/PROJ/src/projections/imw_p.cpp
    - enumerators:
      - name: NONE_IS_ZERO
        value: '0'
      - name: PHI_1_IS_ZERO
        value: '1'
      - name: PHI_2_IS_ZERO
        value: '-1'
      item_type: enum
      name: Mode
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/PROJ/src/projections/imw_p.cpp
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/imw_p.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/imw_p.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: P
        type: double
      - name: phi_1
        type: double
      - name: '*en'
        type: double
      - name: mode
        type: enum Mode
      item_type: struct
      name: pj_imw_p_data
      pos:
        line_end: 28
        line_start: 23
        source_file: /src/PROJ/src/projections/imw_p.cpp
    - fields:
      - name: P
        type: double
      - name: phi_1
        type: double
      - name: '*en'
        type: double
      - name: mode
        type: enum Mode
      item_type: struct
      name: pj_imw_p_data
      pos:
        line_end: 28
        line_start: 23
        source_file: /src/PROJ/src/projections/imw_p.cpp
    typedefs: []
    union: []
- function_names:
  - august_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/august.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/august.cpp
      type_or_value: '1.333333333333333'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_aea_destructor
  - aea_e_forward
  - aea_e_inverse
  - setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/aea.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/src/projections/aea.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: TOL7
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/src/projections/aea.cpp
      type_or_value: '1.e-7'
    structs:
    - fields:
      - name: ec
        type: double
      - name: n
        type: double
      - name: c
        type: double
      - name: dd
        type: double
      - name: n2
        type: double
      - name: rho0
        type: double
      - name: rho
        type: double
      - name: phi1
        type: double
      - name: phi2
        type: double
      - name: ellips
        type: int
      - name: '*apa'
        type: double
      - name: qp
        type: double
      item_type: struct
      name: pj_aea
      pos:
        line_end: 55
        line_start: 42
        source_file: /src/PROJ/src/projections/aea.cpp
    - fields:
      - name: ec
        type: double
      - name: n
        type: double
      - name: c
        type: double
      - name: dd
        type: double
      - name: n2
        type: double
      - name: rho0
        type: double
      - name: rho
        type: double
      - name: phi1
        type: double
      - name: phi2
        type: double
      - name: ellips
        type: int
      - name: '*apa'
        type: double
      - name: qp
        type: double
      item_type: struct
      name: pj_aea
      pos:
        line_end: 55
        line_start: 42
        source_file: /src/PROJ/src/projections/aea.cpp
    typedefs: []
    union: []
- function_names:
  - labrd_e_forward
  - labrd_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/labrd.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/labrd.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: kRg
        type: double
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/PROJ/src/projections/labrd.cpp
    - fields:
      - name: kRg
        type: double
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/PROJ/src/projections/labrd.cpp
    typedefs: []
    union: []
- function_names:
  - ocea_s_forward
  - ocea_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/ocea.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rok
        type: double
      - name: rtk
        type: double
      - name: sinphi
        type: double
      - name: cosphi
        type: double
      item_type: struct
      name: pj_ocea
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/PROJ/src/projections/ocea.cpp
    - fields:
      - name: rok
        type: double
      - name: rtk
        type: double
      - name: sinphi
        type: double
      - name: cosphi
        type: double
      item_type: struct
      name: pj_ocea
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/PROJ/src/projections/ocea.cpp
    typedefs: []
    union: []
- function_names:
  - cea_e_forward
  - cea_s_forward
  - cea_e_inverse
  - cea_s_inverse
  - pj_cea_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/cea.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/cea.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: qp
        type: double
      - name: '*apa'
        type: double
      item_type: struct
      name: pj_cea_data
      pos:
        line_end: 10
        line_start: 7
        source_file: /src/PROJ/src/projections/cea.cpp
    - fields:
      - name: qp
        type: double
      - name: '*apa'
        type: double
      item_type: struct
      name: pj_cea_data
      pos:
        line_end: 10
        line_start: 7
        source_file: /src/PROJ/src/projections/cea.cpp
    typedefs: []
    union: []
- function_names:
  - seraz0
  - som_e_forward
  - som_e_inverse
  - som_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/som.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/src/projections/som.cpp
      type_or_value: 1e-7
    structs:
    - fields:
      - name: a2
        type: double
      - name: q
        type: double
      - name: alf
        type: double
      item_type: struct
      name: pj_som_data
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/PROJ/src/projections/som.cpp
    - fields:
      - name: a2
        type: double
      - name: q
        type: double
      - name: alf
        type: double
      item_type: struct
      name: pj_som_data
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/PROJ/src/projections/som.cpp
    typedefs: []
    union: []
- function_names:
  - putp2_s_forward
  - putp2_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/putp2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C_x
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/putp2.cpp
      type_or_value: '1.89490'
    - item_type: preproc_def
      name: C_y
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/putp2.cpp
      type_or_value: '1.71848'
    - item_type: preproc_def
      name: C_p
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/putp2.cpp
      type_or_value: '0.6141848493043784'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/putp2.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/putp2.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: PI_DIV_3
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/putp2.cpp
      type_or_value: '1.0471975511965977'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gstmerc_s_forward
  - gstmerc_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/gstmerc.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lamc
        type: double
      - name: phic
        type: double
      - name: c
        type: double
      - name: n1
        type: double
      - name: n2
        type: double
      - name: XS
        type: double
      - name: YS
        type: double
      item_type: struct
      name: pj_gstmerc_data
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PROJ/src/projections/gstmerc.cpp
    - fields:
      - name: lamc
        type: double
      - name: phic
        type: double
      - name: c
        type: double
      - name: n1
        type: double
      - name: n2
        type: double
      - name: XS
        type: double
      - name: YS
        type: double
      item_type: struct
      name: pj_gstmerc_data
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PROJ/src/projections/gstmerc.cpp
    typedefs: []
    union: []
- function_names:
  - lagrng_s_forward
  - lagrng_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/lagrng.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/lagrng.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: a1
        type: double
      - name: a2
        type: double
      - name: hrw
        type: double
      - name: hw
        type: double
      - name: rw
        type: double
      - name: w
        type: double
      item_type: struct
      name: pj_lagrng
      pos:
        line_end: 19
        line_start: 12
        source_file: /src/PROJ/src/projections/lagrng.cpp
    - fields:
      - name: a1
        type: double
      - name: a2
        type: double
      - name: hrw
        type: double
      - name: hw
        type: double
      - name: rw
        type: double
      - name: w
        type: double
      item_type: struct
      name: pj_lagrng
      pos:
        line_end: 19
        line_start: 12
        source_file: /src/PROJ/src/projections/lagrng.cpp
    typedefs: []
    union: []
- function_names:
  - times_s_forward
  - times_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/times.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - omerc_e_forward
  - omerc_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/omerc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/src/projections/omerc.cpp
      type_or_value: '1.e-7'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/src/projections/omerc.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: A
        type: double
      - name: v_pole_n
        type: double
      - name: no_rot
        type: int
      item_type: struct
      name: pj_omerc_data
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/PROJ/src/projections/omerc.cpp
    - fields:
      - name: A
        type: double
      - name: v_pole_n
        type: double
      - name: no_rot
        type: int
      item_type: struct
      name: pj_omerc_data
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/PROJ/src/projections/omerc.cpp
    typedefs: []
    union: []
- function_names:
  - eck2_s_forward
  - eck2_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eck2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/eck2.cpp
      type_or_value: '0.46065886596178063902'
    - item_type: preproc_def
      name: FYC
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/eck2.cpp
      type_or_value: '1.44720250911653531871'
    - item_type: preproc_def
      name: C13
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/eck2.cpp
      type_or_value: '0.33333333333333333333'
    - item_type: preproc_def
      name: ONEEPS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/eck2.cpp
      type_or_value: '1.0000001'
    structs: []
    typedefs: []
    union: []
- function_names:
  - boggs_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/boggs.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/projections/boggs.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/boggs.cpp
      type_or_value: 1e-7
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/boggs.cpp
      type_or_value: '2.00276'
    - item_type: preproc_def
      name: FXC2
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/boggs.cpp
      type_or_value: '1.11072'
    - item_type: preproc_def
      name: FYC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/boggs.cpp
      type_or_value: '0.49931'
    structs: []
    typedefs: []
    union: []
- function_names:
  - V
  - DV
  - robin_s_forward
  - robin_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/robin.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FXC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '0.8487'
    - item_type: preproc_def
      name: FYC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '1.3523'
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '11.45915590261646417544'
    - item_type: preproc_def
      name: RC1
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '0.08726646259971647884'
    - item_type: preproc_def
      name: NODES
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '18'
    - item_type: preproc_def
      name: ONEEPS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '1.000001'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/src/projections/robin.cpp
      type_or_value: '100'
    structs:
    - fields:
      - name: c0
        type: float
      item_type: struct
      name: COEFS
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/PROJ/src/projections/robin.cpp
    - fields:
      - name: c0
        type: float
      item_type: struct
      name: COEFS
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/PROJ/src/projections/robin.cpp
    typedefs: []
    union: []
- function_names:
  - spilhaus_forward
  - spilhaus_inverse
  - spilhaus_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/spilhaus.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cosalpha
        type: double
      - name: sinalpha
        type: double
      - name: beta
        type: double
      - name: lambda_0
        type: double
      - name: conformal_distortion
        type: double
      - name: cosrot
        type: double
      - name: sinrot
        type: double
      - name: '*adams_ws2'
        type: PJ
      item_type: struct
      name: pj_spilhaus_data
      pos:
        line_end: 37
        line_start: 28
        source_file: /src/PROJ/src/projections/spilhaus.cpp
    - fields:
      - name: cosalpha
        type: double
      - name: sinalpha
        type: double
      - name: beta
        type: double
      - name: lambda_0
        type: double
      - name: conformal_distortion
        type: double
      - name: cosrot
        type: double
      - name: sinrot
        type: double
      - name: '*adams_ws2'
        type: PJ
      item_type: struct
      name: pj_spilhaus_data
      pos:
        line_end: 37
        line_start: 28
        source_file: /src/PROJ/src/projections/spilhaus.cpp
    typedefs: []
    union: []
- function_names:
  - calcofi_e_forward
  - calcofi_s_forward
  - calcofi_e_inverse
  - calcofi_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/calcofi.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: DEG_TO_LINE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '5'
    - item_type: preproc_def
      name: DEG_TO_STATION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '15'
    - item_type: preproc_def
      name: LINE_TO_RAD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '0.0034906585039886592'
    - item_type: preproc_def
      name: STATION_TO_RAD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '0.0011635528346628863'
    - item_type: preproc_def
      name: PT_O_LINE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '80                    '
    - item_type: preproc_def
      name: PT_O_STATION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '60                 '
    - item_type: preproc_def
      name: PT_O_LAMBDA
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '-2.1144663887911301 '
    - item_type: preproc_def
      name: PT_O_PHI
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '0.59602993955606354    '
    - item_type: preproc_def
      name: ROTATION_ANGLE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/src/projections/calcofi.cpp
      type_or_value: '0.52359877559829882 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - poly_e_forward
  - poly_s_forward
  - poly_e_inverse
  - poly_s_inverse
  - pj_poly_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/poly.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/src/projections/poly.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: CONV
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/src/projections/poly.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: N_ITER
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/src/projections/poly.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: I_ITER
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/src/projections/poly.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: ITOL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/src/projections/poly.cpp
      type_or_value: '1.e-12'
    structs:
    - fields:
      - name: ml0
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_poly_data
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/PROJ/src/projections/poly.cpp
    - fields:
      - name: ml0
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_poly_data
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/PROJ/src/projections/poly.cpp
    typedefs: []
    union: []
- function_names:
  - fahey_s_forward
  - fahey_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/fahey.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/fahey.cpp
      type_or_value: 1e-6
    structs: []
    typedefs: []
    union: []
- function_names:
  - wink1_s_forward
  - wink1_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/wink1.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cosphi1
        type: double
      item_type: struct
      name: pj_wink1_data
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/wink1.cpp
    - fields:
      - name: cosphi1
        type: double
      item_type: struct
      name: pj_wink1_data
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/wink1.cpp
    typedefs: []
    union: []
- function_names:
  - sterea_e_forward
  - sterea_e_inverse
  - destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/sterea.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: phic0
        type: double
      - name: cosc0
        type: double
      - name: R2
        type: double
      - name: '*en'
        type: void
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/PROJ/src/projections/sterea.cpp
    - fields:
      - name: phic0
        type: double
      - name: cosc0
        type: double
      - name: R2
        type: double
      - name: '*en'
        type: void
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/PROJ/src/projections/sterea.cpp
    typedefs: []
    union: []
- function_names:
  - eck1_s_forward
  - eck1_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eck1.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FC
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/projections/eck1.cpp
      type_or_value: '0.92131773192356127802'
    - item_type: preproc_def
      name: RP
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/eck1.cpp
      type_or_value: '0.31830988618379067154'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ccon_forward
  - ccon_inverse
  - pj_ccon_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/ccon.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/ccon.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: phi1
        type: double
      - name: ctgphi1
        type: double
      - name: sinphi1
        type: double
      - name: cosphi1
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_ccon_data
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/PROJ/src/projections/ccon.cpp
    - fields:
      - name: phi1
        type: double
      - name: ctgphi1
        type: double
      - name: sinphi1
        type: double
      - name: cosphi1
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_ccon_data
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/PROJ/src/projections/ccon.cpp
    typedefs: []
    union: []
- function_names:
  - merc_e_forward
  - merc_s_forward
  - merc_e_inverse
  - merc_s_inverse
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/merc.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - o_forward
  - t_forward
  - o_inverse
  - t_inverse
  - destructor
  - paralist_params_argc
  - ob_tran_target_params
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/ob_tran.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/ob_tran.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: '*link'
        type: struct PJconsts
      - name: lamp
        type: double
      - name: cphip
        type: double
      item_type: struct
      name: pj_ob_tran_data
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/PROJ/src/projections/ob_tran.cpp
    - fields:
      - name: '*link'
        type: struct PJconsts
      - name: lamp
        type: double
      - name: cphip
        type: double
      item_type: struct
      name: pj_ob_tran_data
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/PROJ/src/projections/ob_tran.cpp
    - fields:
      - name: argc
        type: int
      - name: '**argv'
        type: char
      item_type: struct
      name: ARGS
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/PROJ/src/projections/ob_tran.cpp
    typedefs: []
    union: []
- function_names:
  - airy_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/airy.cpp
  types:
    enum:
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: S_POLE
        value: '1'
      - name: OBLIQ
        value: '3'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/PROJ/src/projections/airy.cpp
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: S_POLE
        value: '1'
      - name: OBLIQ
        value: '3'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/PROJ/src/projections/airy.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/src/projections/airy.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: p_halfpi
        type: double
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: Cb
        type: double
      - name: mode
        type: enum Mode
      - name: no_cut
        type: int
      item_type: struct
      name: pj_airy
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/PROJ/src/projections/airy.cpp
    - fields:
      - name: p_halfpi
        type: double
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: Cb
        type: double
      - name: mode
        type: enum Mode
      - name: no_cut
        type: int
      item_type: struct
      name: pj_airy
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/PROJ/src/projections/airy.cpp
    typedefs: []
    union: []
- function_names:
  - somerc_e_forward
  - somerc_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/somerc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/somerc.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/somerc.cpp
      type_or_value: '6'
    structs:
    - fields:
      - name: K
        type: double
      item_type: struct
      name: pj_somerc
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/somerc.cpp
    - fields:
      - name: K
        type: double
      item_type: struct
      name: pj_somerc
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/somerc.cpp
    typedefs: []
    union: []
- function_names:
  - denoy_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/denoy.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C0
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/denoy.cpp
      type_or_value: '0.95'
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/denoy.cpp
      type_or_value: '-0.08333333333333333333'
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/denoy.cpp
      type_or_value: '0.00166666666666666666'
    - item_type: preproc_def
      name: D1
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/denoy.cpp
      type_or_value: '0.9'
    - item_type: preproc_def
      name: D5
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/denoy.cpp
      type_or_value: '0.03'
    structs: []
    typedefs: []
    union: []
- function_names:
  - putp4p_s_forward
  - putp4p_s_inverse
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/putp4p.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_putp4p_data
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/putp4p.cpp
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_putp4p_data
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/src/projections/putp4p.cpp
    typedefs: []
    union: []
- function_names:
  - lcc_e_forward
  - lcc_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/lcc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/lcc.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: phi1
        type: double
      - name: phi2
        type: double
      - name: n
        type: double
      - name: rho0
        type: double
      - name: c
        type: double
      item_type: struct
      name: pj_lcc_data
      pos:
        line_end: 18
        line_start: 12
        source_file: /src/PROJ/src/projections/lcc.cpp
    - fields:
      - name: phi1
        type: double
      - name: phi2
        type: double
      - name: n
        type: double
      - name: rho0
        type: double
      - name: c
        type: double
      item_type: struct
      name: pj_lcc_data
      pos:
        line_end: 18
        line_start: 12
        source_file: /src/PROJ/src/projections/lcc.cpp
    typedefs: []
    union: []
- function_names:
  - gn_sinu_e_forward
  - gn_sinu_e_inverse
  - gn_sinu_s_forward
  - gn_sinu_s_inverse
  - pj_gn_sinu_destructor
  - pj_gn_sinu_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/gn_sinu.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/gn_sinu.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/gn_sinu.cpp
      type_or_value: '8'
    - item_type: preproc_def
      name: LOOP_TOL
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/gn_sinu.cpp
      type_or_value: 1e-7
    structs:
    - fields:
      - name: '*en'
        type: double
      - name: m
        type: double
      item_type: struct
      name: pj_gn_sinu_data
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/PROJ/src/projections/gn_sinu.cpp
    - fields:
      - name: '*en'
        type: double
      - name: m
        type: double
      item_type: struct
      name: pj_gn_sinu_data
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/PROJ/src/projections/gn_sinu.cpp
    typedefs: []
    union: []
- function_names:
  - nicol_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/nicol.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/nicol.cpp
      type_or_value: 1e-10
    structs: []
    typedefs: []
    union: []
- function_names:
  - sch_inverse3d
  - sch_forward3d
  - pj_sch_destructor
  - pj_sch_setup
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/sch.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: plat
        type: double
      - name: plon
        type: double
      - name: phdg
        type: double
      - name: h0
        type: double
      - name: transMat[9]
        type: double
      - name: xyzoff[3]
        type: double
      - name: rcurv
        type: double
      - name: '*cart'
        type: PJ
      - name: '*cart_sph'
        type: PJ
      item_type: struct
      name: pj_sch_data
      pos:
        line_end: 52
        line_start: 42
        source_file: /src/PROJ/src/projections/sch.cpp
    - fields:
      - name: plat
        type: double
      - name: plon
        type: double
      - name: phdg
        type: double
      - name: h0
        type: double
      - name: transMat[9]
        type: double
      - name: xyzoff[3]
        type: double
      - name: rcurv
        type: double
      - name: '*cart'
        type: PJ
      - name: '*cart_sph'
        type: PJ
      item_type: struct
      name: pj_sch_data
      pos:
        line_end: 52
        line_start: 42
        source_file: /src/PROJ/src/projections/sch.cpp
    typedefs: []
    union: []
- function_names:
  - fS
  - fSp
  - lcca_e_forward
  - lcca_e_inverse
  - pj_lcca_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/lcca.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/src/projections/lcca.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: DEL_TOL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/src/projections/lcca.cpp
      type_or_value: 1e-12
    structs:
    - fields:
      - name: '*en'
        type: double
      - name: r0
        type: double
      - name: C
        type: double
      item_type: struct
      name: pj_lcca_data
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PROJ/src/projections/lcca.cpp
    - fields:
      - name: '*en'
        type: double
      - name: r0
        type: double
      - name: C
        type: double
      item_type: struct
      name: pj_lcca_data
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PROJ/src/projections/lcca.cpp
    typedefs: []
    union: []
- function_names:
  - rouss_e_forward
  - rouss_e_inverse
  - pj_rouss_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/rouss.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: s0
        type: double
      - name: A1
        type: double
      - name: B1
        type: double
      - name: C1
        type: double
      - name: D1
        type: double
      - name: '*en'
        type: void
      item_type: struct
      name: pj_rouss_data
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/PROJ/src/projections/rouss.cpp
    - fields:
      - name: s0
        type: double
      - name: A1
        type: double
      - name: B1
        type: double
      - name: C1
        type: double
      - name: D1
        type: double
      - name: '*en'
        type: void
      item_type: struct
      name: pj_rouss_data
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/PROJ/src/projections/rouss.cpp
    typedefs: []
    union: []
- function_names:
  - nell_h_s_forward
  - nell_h_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/nell_h.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/nell_h.cpp
      type_or_value: '9'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/nell_h.cpp
      type_or_value: 1e-7
    structs: []
    typedefs: []
    union: []
- function_names:
  - ell_int_5
  - adams_forward
  - adams_inverse
  - peirce_q_square_inverse
  - peirce_q_diamond_inverse
  - pj_adams_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/adams.cpp
  types:
    enum:
    - enumerators:
      - name: GUYOU
      - name: ADAMS_WS2
      - name: ADAMS_WS1
      - name: PEIRCE_Q
      - name: ADAMS_HEMI
      item_type: enum
      name: projection_type
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/PROJ/src/projections/adams.cpp
    - enumerators:
      - name: PEIRCE_Q_SQUARE
      - name: PEIRCE_Q_SHEMISPHERE
      - name: PEIRCE_Q_NHEMISPHERE
      - name: PEIRCE_Q_DIAMOND
      - name: PEIRCE_Q_HORIZONTAL
      - name: PEIRCE_Q_VERTICAL
      item_type: enum
      name: peirce_shape
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/PROJ/src/projections/adams.cpp
    - enumerators:
      - name: GUYOU
      - name: ADAMS_WS2
      - name: ADAMS_WS1
      - name: PEIRCE_Q
      - name: ADAMS_HEMI
      item_type: enum
      name: projection_type
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/PROJ/src/projections/adams.cpp
    - enumerators:
      - name: PEIRCE_Q_SQUARE
      - name: PEIRCE_Q_SHEMISPHERE
      - name: PEIRCE_Q_NHEMISPHERE
      - name: PEIRCE_Q_DIAMOND
      - name: PEIRCE_Q_HORIZONTAL
      - name: PEIRCE_Q_VERTICAL
      item_type: enum
      name: peirce_shape
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/PROJ/src/projections/adams.cpp
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/src/projections/adams.cpp
      type_or_value: 1e-9
    - item_type: preproc_def
      name: RSQRT2
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/src/projections/adams.cpp
      type_or_value: '0.7071067811865475244008443620'
    structs:
    - fields:
      - name: mode
        type: projection_type
      - name: pqshape
        type: peirce_shape
      - name: scrollx
        type: double
      - name: scrolly
        type: double
      item_type: struct
      name: pj_adams_data
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/PROJ/src/projections/adams.cpp
    - fields:
      - name: mode
        type: projection_type
      - name: pqshape
        type: peirce_shape
      - name: scrollx
        type: double
      - name: scrolly
        type: double
      item_type: struct
      name: pj_adams_data
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/PROJ/src/projections/adams.cpp
    typedefs: []
    union: []
- function_names:
  - bonne_e_forward
  - bonne_s_forward
  - bonne_s_inverse
  - bonne_e_inverse
  - pj_bonne_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/bonne.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/bonne.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: phi1
        type: double
      - name: cphi1
        type: double
      - name: am1
        type: double
      - name: m1
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_bonne_data
      pos:
        line_end: 17
        line_start: 11
        source_file: /src/PROJ/src/projections/bonne.cpp
    - fields:
      - name: phi1
        type: double
      - name: cphi1
        type: double
      - name: am1
        type: double
      - name: m1
        type: double
      - name: '*en'
        type: double
      item_type: struct
      name: pj_bonne_data
      pos:
        line_end: 17
        line_start: 11
        source_file: /src/PROJ/src/projections/bonne.cpp
    typedefs: []
    union: []
- function_names:
  - moll_s_forward
  - moll_s_inverse
  - setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/moll.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/moll.cpp
      type_or_value: '30'
    - item_type: preproc_def
      name: LOOP_TOL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/moll.cpp
      type_or_value: 1e-7
    structs:
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_moll_data
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/PROJ/src/projections/moll.cpp
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_moll_data
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/PROJ/src/projections/moll.cpp
    typedefs: []
    union: []
- function_names:
  - tcea_s_forward
  - tcea_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/tcea.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - putp3_s_forward
  - putp3_s_inverse
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/putp3.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/putp3.cpp
      type_or_value: '0.79788456'
    - item_type: preproc_def
      name: RPISQ
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/putp3.cpp
      type_or_value: '0.1013211836'
    structs:
    - fields:
      - name: A
        type: double
      item_type: struct
      name: pj_putp3_data
      pos:
        line_end: 9
        line_start: 7
        source_file: /src/PROJ/src/projections/putp3.cpp
    - fields:
      - name: A
        type: double
      item_type: struct
      name: pj_putp3_data
      pos:
        line_end: 9
        line_start: 7
        source_file: /src/PROJ/src/projections/putp3.cpp
    typedefs: []
    union: []
- function_names:
  - nzmg_e_forward
  - nzmg_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/nzmg.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPSLN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/src/projections/nzmg.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: SEC5_TO_RAD
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/src/projections/nzmg.cpp
      type_or_value: '0.4848136811095359935899141023'
    - item_type: preproc_def
      name: RAD_TO_SEC5
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/src/projections/nzmg.cpp
      type_or_value: '2.062648062470963551564733573'
    - item_type: preproc_def
      name: Nbf
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/src/projections/nzmg.cpp
      type_or_value: '5'
    - item_type: preproc_def
      name: Ntpsi
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/src/projections/nzmg.cpp
      type_or_value: '9'
    - item_type: preproc_def
      name: Ntphi
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/src/projections/nzmg.cpp
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - loxim_s_forward
  - loxim_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/loxim.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/loxim.cpp
      type_or_value: 1e-8
    structs:
    - fields:
      - name: phi1
        type: double
      - name: cosphi1
        type: double
      - name: tanphi1
        type: double
      item_type: struct
      name: pj_loxim_data
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/PROJ/src/projections/loxim.cpp
    - fields:
      - name: phi1
        type: double
      - name: cosphi1
        type: double
      - name: tanphi1
        type: double
      item_type: struct
      name: pj_loxim_data
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/PROJ/src/projections/loxim.cpp
    typedefs: []
    union: []
- function_names:
  - forward_error
  - ortho_s_forward
  - ortho_s_inverse
  - ortho_e_forward
  - ortho_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/ortho.cpp
  types:
    enum:
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: EQUIT
        value: '2'
      - name: S_POLE
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 9
        line_start: 9
        source_file: /src/PROJ/src/projections/ortho.cpp
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: EQUIT
        value: '2'
      - name: S_POLE
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 9
        line_start: 9
        source_file: /src/PROJ/src/projections/ortho.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/ortho.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: nu0
        type: double
      - name: y_shift
        type: double
      - name: y_scale
        type: double
      - name: mode
        type: enum pj_ortho_ns::Mode
      - name: sinalpha
        type: double
      - name: cosalpha
        type: double
      item_type: struct
      name: pj_ortho_data
      pos:
        line_end: 22
        line_start: 13
        source_file: /src/PROJ/src/projections/ortho.cpp
    - fields:
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: nu0
        type: double
      - name: y_shift
        type: double
      - name: y_scale
        type: double
      - name: mode
        type: enum pj_ortho_ns::Mode
      - name: sinalpha
        type: double
      - name: cosalpha
        type: double
      item_type: struct
      name: pj_ortho_data
      pos:
        line_end: 22
        line_start: 13
        source_file: /src/PROJ/src/projections/ortho.cpp
    typedefs: []
    union: []
- function_names:
  - tpeqd_s_forward
  - tpeqd_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/tpeqd.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cp1
        type: double
      - name: hz0
        type: double
      item_type: struct
      name: pj_tpeqd
      pos:
        line_end: 13
        line_start: 10
        source_file: /src/PROJ/src/projections/tpeqd.cpp
    - fields:
      - name: cp1
        type: double
      - name: hz0
        type: double
      item_type: struct
      name: pj_tpeqd
      pos:
        line_end: 13
        line_start: 10
        source_file: /src/PROJ/src/projections/tpeqd.cpp
    typedefs: []
    union: []
- function_names:
  - geos_s_forward
  - geos_e_forward
  - geos_s_inverse
  - geos_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/geos.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: h
        type: double
      - name: radius_p
        type: double
      - name: radius_p2
        type: double
      - name: radius_p_inv2
        type: double
      - name: radius_g
        type: double
      - name: radius_g_1
        type: double
      - name: C
        type: double
      - name: flip_axis
        type: int
      item_type: struct
      name: pj_geos_data
      pos:
        line_end: 47
        line_start: 38
        source_file: /src/PROJ/src/projections/geos.cpp
    - fields:
      - name: h
        type: double
      - name: radius_p
        type: double
      - name: radius_p2
        type: double
      - name: radius_p_inv2
        type: double
      - name: radius_g
        type: double
      - name: radius_g_1
        type: double
      - name: C
        type: double
      - name: flip_axis
        type: int
      item_type: struct
      name: pj_geos_data
      pos:
        line_end: 47
        line_start: 38
        source_file: /src/PROJ/src/projections/geos.cpp
    typedefs: []
    union: []
- function_names:
  - initialize
  - mat_mult
  - vec_mult
  - transform
  - initialize
  - mat_mult
  - vec_mult
  - transform
  - det
  - is_point_in_face
  - get_ico_face_index
  - get_dym_face_index
  - ico_to_dym
  - dym_to_ico
  - cartesian_to_ico
  - airocean_forward
  - airocean_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/airocean.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: p1
        type: PJ_XYZ
      - name: p2
        type: PJ_XYZ
      - name: p3
        type: PJ_XYZ
      item_type: struct
      name: pj_face
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PROJ/src/projections/airocean.cpp
    - fields:
      - name: p1
        type: PJ_XYZ
      - name: p2
        type: PJ_XYZ
      - name: p3
        type: PJ_XYZ
      item_type: struct
      name: pj_face
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PROJ/src/projections/airocean.cpp
    - fields:
      - name: ico_faces[23]
        type: pj_face
      - name: ico_centers[23]
        type: PJ_XYZ
      - name: ico_normals[23]
        type: PJ_XYZ
      - name: airocean_faces[23]
        type: pj_face
      - name: ico_air_trans[23][4][4]
        type: double
      - name: air_ico_trans[23][4][4]
        type: double
      item_type: struct
      name: pj_airocean_data
      pos:
        line_end: 632
        line_start: 587
        source_file: /src/PROJ/src/projections/airocean.cpp
    - fields:
      - name: ico_faces[23]
        type: pj_face
      - name: ico_centers[23]
        type: PJ_XYZ
      - name: ico_normals[23]
        type: PJ_XYZ
      - name: airocean_faces[23]
        type: pj_face
      - name: ico_air_trans[23][4][4]
        type: double
      - name: air_ico_trans[23][4][4]
        type: double
      item_type: struct
      name: pj_airocean_data
      pos:
        line_end: 632
        line_start: 587
        source_file: /src/PROJ/src/projections/airocean.cpp
    typedefs: []
    union: []
- function_names:
  - mbt_fps_s_forward
  - mbt_fps_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/mbt_fps.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: LOOP_TOL
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: 1e-7
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '0.45503'
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '1.36509'
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '1.41546'
    - item_type: preproc_def
      name: C_x
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '0.22248'
    - item_type: preproc_def
      name: C_y
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '1.44492'
    - item_type: preproc_def
      name: C1_2
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/mbt_fps.cpp
      type_or_value: '0.33333333333333333333333333'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bacon_s_forward
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/bacon.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HLFPI2
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/projections/bacon.cpp
      type_or_value: '2.46740110027233965467 '
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/bacon.cpp
      type_or_value: 1e-10
    structs:
    - fields:
      - name: bacn
        type: int
      - name: ortl
        type: int
      item_type: struct
      name: pj_bacon
      pos:
        line_end: 14
        line_start: 11
        source_file: /src/PROJ/src/projections/bacon.cpp
    - fields:
      - name: bacn
        type: int
      - name: ortl
        type: int
      item_type: struct
      name: pj_bacon
      pos:
        line_end: 14
        line_start: 11
        source_file: /src/PROJ/src/projections/bacon.cpp
    typedefs: []
    union: []
- function_names:
  - bertin1953_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/bertin1953.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cos_delta_phi
        type: double
      item_type: struct
      name: pj_bertin1953
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/PROJ/src/projections/bertin1953.cpp
    - fields:
      - name: cos_delta_phi
        type: double
      item_type: struct
      name: pj_bertin1953
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/PROJ/src/projections/bertin1953.cpp
    typedefs: []
    union: []
- function_names:
  - igh_o_s_forward
  - igh_o_s_inverse
  - pj_igh_o_destructor
  - pj_igh_o_setup_zone
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/igh_o.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pj[12]'
        type: struct PJconsts
      - name: dy0
        type: double
      item_type: struct
      name: pj_igh_o_data
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/PROJ/src/projections/igh_o.cpp
    - fields:
      - name: '*pj[12]'
        type: struct PJconsts
      - name: dy0
        type: double
      item_type: struct
      name: pj_igh_o_data
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/PROJ/src/projections/igh_o.cpp
    typedefs: []
    union: []
- function_names:
  - fouc_s_s_forward
  - fouc_s_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/fouc_s.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/fouc_s.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: LOOP_TOL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/fouc_s.cpp
      type_or_value: 1e-7
    structs:
    - fields:
      - name: n
        type: double
      item_type: struct
      name: pj_fouc_s_data
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/PROJ/src/projections/fouc_s.cpp
    - fields:
      - name: n
        type: double
      item_type: struct
      name: pj_fouc_s_data
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/PROJ/src/projections/fouc_s.cpp
    typedefs: []
    union: []
- function_names:
  - oea_s_forward
  - oea_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/oea.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: theta
        type: double
      - name: m
        type: double
      - name: two_r_m
        type: double
      - name: cp0
        type: double
      item_type: struct
      name: pj_oea
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/PROJ/src/projections/oea.cpp
    - fields:
      - name: theta
        type: double
      - name: m
        type: double
      - name: two_r_m
        type: double
      - name: cp0
        type: double
      item_type: struct
      name: pj_oea
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/PROJ/src/projections/oea.cpp
    typedefs: []
    union: []
- function_names:
  - sts_s_forward
  - sts_s_inverse
  - setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/sts.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: C_x
        type: double
      - name: tan_mode
        type: int
      item_type: struct
      name: pj_sts
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/PROJ/src/projections/sts.cpp
    - fields:
      - name: C_x
        type: double
      - name: tan_mode
        type: int
      item_type: struct
      name: pj_sts
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/PROJ/src/projections/sts.cpp
    typedefs: []
    union: []
- function_names:
  - nell_s_forward
  - nell_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/nell.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/nell.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: LOOP_TOL
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/nell.cpp
      type_or_value: 1e-7
    structs: []
    typedefs: []
    union: []
- function_names:
  - cc_s_forward
  - cc_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/cc.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/cc.cpp
      type_or_value: '1.e-10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eck5_s_forward
  - eck5_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eck5.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XF
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/eck5.cpp
      type_or_value: '0.44101277172455148219'
    - item_type: preproc_def
      name: RXF
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/eck5.cpp
      type_or_value: '2.26750802723822639137'
    - item_type: preproc_def
      name: YF
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/eck5.cpp
      type_or_value: '0.88202554344910296438'
    - item_type: preproc_def
      name: RYF
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/eck5.cpp
      type_or_value: '1.13375401361911319568'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gins8_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/gins8.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Cl
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/projections/gins8.cpp
      type_or_value: '0.000952426'
    - item_type: preproc_def
      name: Cp
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/gins8.cpp
      type_or_value: '0.162388'
    - item_type: preproc_def
      name: C12
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/gins8.cpp
      type_or_value: '0.08333333333333333'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vandg_s_forward
  - vandg_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/vandg.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: THIRD
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: '.33333333333333333333'
    - item_type: preproc_def
      name: C2_27
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: .07407407407407407407   // 2/27
    - item_type: preproc_def
      name: PI4_3
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: 4.18879020478639098458  // 4*pi/3
    - item_type: preproc_def
      name: PISQ
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: 9.86960440108935861869   // pi^2
    - item_type: preproc_def
      name: TPISQ
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: 19.73920880217871723738 // 2*pi^2
    - item_type: preproc_def
      name: HPISQ
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/vandg.cpp
      type_or_value: 4.93480220054467930934  // pi^2/2
    structs: []
    typedefs: []
    union: []
- function_names:
  - urm5_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/urm5.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: m
        type: double
      item_type: struct
      name: pj_urm5
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/urm5.cpp
    - fields:
      - name: m
        type: double
      item_type: struct
      name: pj_urm5
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/urm5.cpp
    typedefs: []
    union: []
- function_names:
  - wink2_s_forward
  - wink2_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/wink2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PROJ/src/projections/wink2.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: LOOP_TOL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/src/projections/wink2.cpp
      type_or_value: 1e-7
    structs:
    - fields:
      - name: cosphi1
        type: double
      item_type: struct
      name: pj_wink2_data
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/wink2.cpp
    - fields:
      - name: cosphi1
        type: double
      item_type: struct
      name: pj_wink2_data
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/PROJ/src/projections/wink2.cpp
    typedefs: []
    union: []
- function_names:
  - imoll_o_s_forward
  - imoll_o_s_inverse
  - pj_imoll_o_destructor
  - pj_imoll_o_setup_zone
  - pj_imoll_o_compute_zone_offset
  - pj_imoll_o_compute_zone_x_boundary
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/imoll_o.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pj[6]'
        type: struct PJconsts
      - name: boundary12
        type: double
      - name: boundary23
        type: double
      - name: boundary45
        type: double
      - name: boundary56
        type: double
      item_type: struct
      name: pj_imoll_o_data
      pos:
        line_end: 39
        line_start: 32
        source_file: /src/PROJ/src/projections/imoll_o.cpp
    - fields:
      - name: '*pj[6]'
        type: struct PJconsts
      - name: boundary12
        type: double
      - name: boundary23
        type: double
      - name: boundary45
        type: double
      - name: boundary56
        type: double
      item_type: struct
      name: pj_imoll_o_data
      pos:
        line_end: 39
        line_start: 32
        source_file: /src/PROJ/src/projections/imoll_o.cpp
    typedefs: []
    union: []
- function_names:
  - eck3_s_forward
  - eck3_s_inverse
  - setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/eck3.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/PROJ/src/projections/eck3.cpp
    - fields:
      - name: C_x
        type: double
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/PROJ/src/projections/eck3.cpp
    typedefs: []
    union: []
- function_names:
  - gall_s_forward
  - gall_s_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/gall.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: YF
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PROJ/src/projections/gall.cpp
      type_or_value: '1.70710678118654752440'
    - item_type: preproc_def
      name: XF
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/gall.cpp
      type_or_value: '0.70710678118654752440'
    - item_type: preproc_def
      name: RYF
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/gall.cpp
      type_or_value: '0.58578643762690495119'
    - item_type: preproc_def
      name: RXF
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/gall.cpp
      type_or_value: '1.41421356237309504880'
    structs: []
    typedefs: []
    union: []
- function_names:
  - col_urban_forward
  - col_urban_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/col_urban.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: h0
        type: double
      - name: rho0
        type: double
      - name: A
        type: double
      - name: B
        type: double
      - name: C
        type: double
      - name: D
        type: double
      item_type: struct
      name: pj_col_urban
      pos:
        line_end: 23
        line_start: 16
        source_file: /src/PROJ/src/projections/col_urban.cpp
    - fields:
      - name: h0
        type: double
      - name: rho0
        type: double
      - name: A
        type: double
      - name: B
        type: double
      - name: C
        type: double
      - name: D
        type: double
      item_type: struct
      name: pj_col_urban
      pos:
        line_end: 23
        line_start: 16
        source_file: /src/PROJ/src/projections/col_urban.cpp
    typedefs: []
    union: []
- function_names:
  - cass_e_forward
  - cass_s_forward
  - cass_e_inverse
  - cass_s_inverse
  - pj_cass_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/cass.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/cass.cpp
      type_or_value: '.16666666666666666666'
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/cass.cpp
      type_or_value: '.00833333333333333333'
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/cass.cpp
      type_or_value: '.04166666666666666666'
    - item_type: preproc_def
      name: C4
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/cass.cpp
      type_or_value: '.33333333333333333333'
    - item_type: preproc_def
      name: C5
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/src/projections/cass.cpp
      type_or_value: '.06666666666666666666'
    structs:
    - fields:
      - name: '*en'
        type: double
      - name: m0
        type: double
      - name: hyperbolic
        type: bool
      item_type: struct
      name: cass_data
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PROJ/src/projections/cass.cpp
    - fields:
      - name: '*en'
        type: double
      - name: m0
        type: double
      - name: hyperbolic
        type: bool
      item_type: struct
      name: cass_data
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PROJ/src/projections/cass.cpp
    typedefs: []
    union: []
- function_names:
  - ssfn_
  - stere_e_forward
  - stere_s_forward
  - stere_e_inverse
  - stere_s_inverse
  - stere_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/stere.cpp
  types:
    enum:
    - enumerators:
      - name: S_POLE
        value: '0'
      - name: EQUIT
        value: '3'
      - name: OBLIQ
        value: '2'
      - name: N_POLE
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/PROJ/src/projections/stere.cpp
    - enumerators:
      - name: S_POLE
        value: '0'
      - name: EQUIT
        value: '3'
      - name: OBLIQ
        value: '2'
      - name: N_POLE
        value: '1'
      item_type: enum
      name: Mode
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/PROJ/src/projections/stere.cpp
    preproc_defs:
    - item_type: preproc_def
      name: sinph0
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/src/projections/stere.cpp
      type_or_value: static_cast<struct pj_stere *>(P->opaque)->sinX1
    - item_type: preproc_def
      name: cosph0
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/src/projections/stere.cpp
      type_or_value: static_cast<struct pj_stere *>(P->opaque)->cosX1
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/src/projections/stere.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/src/projections/stere.cpp
      type_or_value: '1.e-8'
    - item_type: preproc_def
      name: NITER
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/src/projections/stere.cpp
      type_or_value: '8'
    - item_type: preproc_def
      name: CONV
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/src/projections/stere.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: phits
        type: double
      - name: sinX1
        type: double
      - name: cosX1
        type: double
      - name: akm1
        type: double
      - name: mode
        type: enum Mode
      item_type: struct
      name: pj_stere
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/PROJ/src/projections/stere.cpp
    - fields:
      - name: phits
        type: double
      - name: sinX1
        type: double
      - name: cosX1
        type: double
      - name: akm1
        type: double
      - name: mode
        type: enum Mode
      item_type: struct
      name: pj_stere
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/PROJ/src/projections/stere.cpp
    typedefs: []
    union: []
- function_names:
  - mod_ster_e_forward
  - mod_ster_e_inverse
  - mod_ster_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/mod_ster.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPSLN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PROJ/src/projections/mod_ster.cpp
      type_or_value: 1e-12
    structs:
    - fields:
      - name: '*zcoeff'
        type: COMPLEX
      - name: cchio
        type: double
      - name: n
        type: int
      item_type: struct
      name: pj_mod_ster_data
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/PROJ/src/projections/mod_ster.cpp
    - fields:
      - name: '*zcoeff'
        type: COMPLEX
      - name: cchio
        type: double
      - name: n
        type: int
      item_type: struct
      name: pj_mod_ster_data
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/PROJ/src/projections/mod_ster.cpp
    typedefs: []
    union: []
- function_names:
  - phi12
  - sconics_s_forward
  - sconics_s_inverse
  - pj_sconics_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/sconics.cpp
  types:
    enum:
    - enumerators:
      - name: EULER
        value: '0'
      - name: MURD1
        value: '1'
      - name: MURD2
        value: '2'
      - name: MURD3
        value: '3'
      - name: PCONIC
        value: '4'
      - name: TISSOT
        value: '5'
      - name: VITK1
        value: '6'
      item_type: enum
      name: Type
      pos:
        line_end: 15
        line_start: 7
        source_file: /src/PROJ/src/projections/sconics.cpp
    - enumerators:
      - name: EULER
        value: '0'
      - name: MURD1
        value: '1'
      - name: MURD2
        value: '2'
      - name: MURD3
        value: '3'
      - name: PCONIC
        value: '4'
      - name: TISSOT
        value: '5'
      - name: VITK1
        value: '6'
      item_type: enum
      name: Type
      pos:
        line_end: 15
        line_start: 7
        source_file: /src/PROJ/src/projections/sconics.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/projections/sconics.cpp
      type_or_value: '1.e-10'
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/projections/sconics.cpp
      type_or_value: 1e-10
    - item_type: preproc_def
      name: LINE2
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/src/projections/sconics.cpp
      type_or_value: '"\n\tConic, Sph\n\tlat_1= and lat_2="'
    structs:
    - fields:
      - name: n
        type: double
      - name: rho_c
        type: double
      - name: rho_0
        type: double
      - name: sig
        type: double
      - name: c1
        type: double
      - name: type
        type: enum pj_sconics_ns::Type
      item_type: struct
      name: pj_sconics_data
      pos:
        line_end: 26
        line_start: 19
        source_file: /src/PROJ/src/projections/sconics.cpp
    - fields:
      - name: n
        type: double
      - name: rho_c
        type: double
      - name: rho_0
        type: double
      - name: sig
        type: double
      - name: c1
        type: double
      - name: type
        type: enum pj_sconics_ns::Type
      item_type: struct
      name: pj_sconics_data
      pos:
        line_end: 26
        line_start: 19
        source_file: /src/PROJ/src/projections/sconics.cpp
    typedefs: []
    union: []
- function_names:
  - gnom_s_forward
  - gnom_s_inverse
  - gnom_e_forward
  - gnom_e_inverse
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/gnom.cpp
  types:
    enum:
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/PROJ/src/projections/gnom.cpp
    - enumerators:
      - name: N_POLE
        value: '0'
      - name: OBLIQ
        value: '3'
      - name: S_POLE
        value: '1'
      - name: EQUIT
        value: '2'
      item_type: enum
      name: Mode
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/PROJ/src/projections/gnom.cpp
    preproc_defs:
    - item_type: preproc_def
      name: EPS10
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/src/projections/gnom.cpp
      type_or_value: '1.e-10'
    structs:
    - fields:
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: mode
        type: enum pj_gnom_ns::Mode
      - name: g
        type: struct geod_geodesic
      item_type: struct
      name: pj_gnom_data
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/PROJ/src/projections/gnom.cpp
    - fields:
      - name: sinph0
        type: double
      - name: cosph0
        type: double
      - name: mode
        type: enum pj_gnom_ns::Mode
      - name: g
        type: struct geod_geodesic
      item_type: struct
      name: pj_gnom_data
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/PROJ/src/projections/gnom.cpp
    typedefs: []
    union: []
- function_names:
  - goode_s_forward
  - goode_s_inverse
  - goode_destructor
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/goode.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Y_COR
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PROJ/src/projections/goode.cpp
      type_or_value: '0.05280'
    - item_type: preproc_def
      name: PHI_LIM
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/src/projections/goode.cpp
      type_or_value: '0.71093078197902358062'
    structs:
    - fields:
      - name: '*sinu'
        type: PJ
      - name: '*moll'
        type: PJ
      item_type: struct
      name: pj_goode_data
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/PROJ/src/projections/goode.cpp
    - fields:
      - name: '*sinu'
        type: PJ
      - name: '*moll'
        type: PJ
      item_type: struct
      name: pj_goode_data
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/PROJ/src/projections/goode.cpp
    typedefs: []
    union: []
- function_names:
  - vect
  - lc
  - chamb_s_forward
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/chamb.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THIRD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/src/projections/chamb.cpp
      type_or_value: '0.333333333333333333'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/src/projections/chamb.cpp
      type_or_value: 1e-9
    structs:
    - fields:
      - name: r
        type: double
      item_type: struct
      name: VECT
      pos:
        line_end: 10
        line_start: 8
        source_file: /src/PROJ/src/projections/chamb.cpp
    - fields:
      - name: c[3]
        type: "struct { /* control point data */\n        double phi, lam;\n        double
          cosphi, sinphi;\n        VECT v;\n        PJ_XY p;\n    }"
      - name: p
        type: PJ_XY
      - name: beta_0
        type: double
      item_type: struct
      name: pj_chamb
      pos:
        line_end: 21
        line_start: 12
        source_file: /src/PROJ/src/projections/chamb.cpp
    - fields:
      - name: c[3]
        type: "struct { /* control point data */\n        double phi, lam;\n        double
          cosphi, sinphi;\n        VECT v;\n        PJ_XY p;\n    }"
      - name: p
        type: PJ_XY
      - name: beta_0
        type: double
      item_type: struct
      name: pj_chamb
      pos:
        line_end: 21
        line_start: 12
        source_file: /src/PROJ/src/projections/chamb.cpp
    typedefs: []
    union: []
- function_names:
  - pj_modified_krovak::mod_krovak_compute_dx_dy
  - pj_modified_krovak::mod_krovak_compute_dx_dy
  - krovak_e_forward
  - krovak_e_inverse
  - krovak_setup
  - PJ_PROJECTION
  - PJ_PROJECTION
  source_file: /src/PROJ/src/projections/krovak.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/src/projections/krovak.cpp
      type_or_value: 1e-15
    - item_type: preproc_def
      name: UQ
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/src/projections/krovak.cpp
      type_or_value: '1.04216856380474 '
    - item_type: preproc_def
      name: S0
      pos:
        line_end: 92
        line_start: 90
        source_file: /src/PROJ/src/projections/krovak.cpp
      type_or_value: '1.37008346281555 '
    - item_type: preproc_def
      name: MAX_ITER
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/src/projections/krovak.cpp
      type_or_value: '100'
    structs:
    - fields:
      - name: alpha
        type: double
      - name: k
        type: double
      - name: n
        type: double
      - name: rho0
        type: double
      - name: ad
        type: double
      - name: easting_northing
        type: bool
      - name: modified
        type: bool
      item_type: struct
      name: pj_krovak_data
      pos:
        line_end: 104
        line_start: 96
        source_file: /src/PROJ/src/projections/krovak.cpp
    - fields:
      - name: alpha
        type: double
      - name: k
        type: double
      - name: n
        type: double
      - name: rho0
        type: double
      - name: ad
        type: double
      - name: easting_northing
        type: bool
      - name: modified
        type: bool
      item_type: struct
      name: pj_krovak_data
      pos:
        line_end: 104
        line_start: 96
        source_file: /src/PROJ/src/projections/krovak.cpp
    typedefs: []
    union: []
- function_names:
  - hex_xy
  - hex_iso
  - hexbin2
  - az_adjustment
  - isea_triangle_xy
  - safeArcSin
  - safeArcCos
  - isea_snyder_forward
  - snyder_ctran
  - isea_ctran
  - isea_grid_init
  - isea_orient_isea
  - isea_orient_pole
  - isea_transform
  - DOWNTRI
  - isea_rotate
  - isea_tri_plane
  - isea_ptdd
  - isea_dddi_ap3odd
  - isea_dddi
  - isea_ptdi
  - isea_hex
  - isea_forward
  - isea_s_forward
  - PJ_PROJECTION
  - ISEAPlanarProjection::ISEAPlanarProjection
  - ISEAPlanarProjection::cartesianToGeo
  - ISEAPlanarProjection::icosahedronToSphere
  - ISEAPlanarProjection::revertOrientation
  - ISEAPlanarProjection::faceOrientation
  - pj_isea_data::initialize
  - ISEAPlanarProjection::ISEAPlanarProjection
  - ISEAPlanarProjection::cartesianToGeo
  - ISEAPlanarProjection::icosahedronToSphere
  - ISEAPlanarProjection::revertOrientation
  - ISEAPlanarProjection::faceOrientation
  - pj_isea_data::initialize
  - isea_s_inverse
  source_file: /src/PROJ/src/projections/isea.cpp
  types:
    enum:
    - enumerators:
      - name: ISEA_PLANE
      - name: ISEA_HEX
      - name: ISEA_Q2DD
      - name: ISEA_Q2DI
      item_type: enum
      name: isea_address_form
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/PROJ/src/projections/isea.cpp
    - enumerators:
      - name: ISEA_PLANE
      - name: ISEA_HEX
      - name: ISEA_Q2DD
      - name: ISEA_Q2DI
      item_type: enum
      name: isea_address_form
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/PROJ/src/projections/isea.cpp
    preproc_defs:
    - item_type: preproc_def
      name: DEG36
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.62831853071795864768'
    - item_type: preproc_def
      name: DEG72
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '1.25663706143591729537'
    - item_type: preproc_def
      name: DEG90
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: M_PI_2
    - item_type: preproc_def
      name: DEG108
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '1.88495559215387594306'
    - item_type: preproc_def
      name: DEG120
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '2.09439510239319549229'
    - item_type: preproc_def
      name: DEG144
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '2.51327412287183459075'
    - item_type: preproc_def
      name: DEG180
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: M_PI
    - item_type: preproc_def
      name: ISEA_SCALE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.8301572857837594396028083'
    - item_type: preproc_def
      name: V_LAT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.46364760899944494524'
    - item_type: preproc_def
      name: E_RAD
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.91843818701052843323'
    - item_type: preproc_def
      name: F_RAD
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.18871053078356206978'
    - item_type: preproc_def
      name: sdc2vos
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.6523581397843681859886783'
    - item_type: preproc_def
      name: tang
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: 0.76393202250021030358019673567 // tan(sdc2vos)
    - item_type: preproc_def
      name: tan30
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: 0.57735026918962576450914878 // tan(DEG_TO_RAD * 30)
    - item_type: preproc_def
      name: cotTheta
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (1.0 / tan30)
    - item_type: preproc_def
      name: cosG
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.80901699437494742410229341718281905886'
    - item_type: preproc_def
      name: sinG
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.587785252292473129168705954639072768597652'
    - item_type: preproc_def
      name: cosSDC2VoS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '0.7946544722917661229596057297879189448539'
    - item_type: preproc_def
      name: sinGcosSDC2VoS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (sinG * cosSDC2VoS) // sin G cos g
    - item_type: preproc_def
      name: SQRT3
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '1.73205080756887729352744634150587236694280525381038'
    - item_type: preproc_def
      name: sin60
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (SQRT3 / 2.0)
    - item_type: preproc_def
      name: cos30
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (SQRT3 / 2.0)
    - item_type: preproc_def
      name: TABLE_G
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (tang * sin60)
    - item_type: preproc_def
      name: RprimeOverR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: 0.9103832815095032 // R' / R
    - item_type: preproc_def
      name: TABLE_H
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (0.25 * tang)
    - item_type: preproc_def
      name: ISEA_STD_LAT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '1.01722196792335072101'
    - item_type: preproc_def
      name: ISEA_STD_LONG
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '.19634954084936207740'
    - item_type: preproc_def
      name: numIcosahedronFaces
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: SAFE_ARC_EPSILON
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: 1E-15
    - item_type: preproc_def
      name: Min
      pos:
        line_end: 1076
        line_start: 1075
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: std::min
    - item_type: preproc_def
      name: Max
      pos:
        line_end: 1077
        line_start: 1076
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: std::max
    - item_type: preproc_def
      name: inf
      pos:
        line_end: 1079
        line_start: 1078
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: std::numeric_limits<double>::infinity()
    - item_type: preproc_def
      name: precision
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (DEG_TO_RAD * 1e-11)
    - item_type: preproc_def
      name: precisionPerDefinition
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (DEG_TO_RAD * 1e-5)
    - item_type: preproc_def
      name: AzMax
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (DEG_TO_RAD * 120)
    - item_type: preproc_def
      name: westVertexLon
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (DEG_TO_RAD * -144)
    - item_type: preproc_def
      name: sr
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: -sin60 // sin(-60)
    - item_type: preproc_def
      name: cr
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: 0.5    // cos(-60)
    - item_type: preproc_def
      name: shearX
      pos:
        line_end: 1116
        line_start: 1115
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (1.0 / SQRT3)
    - item_type: preproc_def
      name: sr
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: -sin60 // sin(-60)
    - item_type: preproc_def
      name: cr
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: 0.5    // cos(-60)
    - item_type: preproc_def
      name: shearX
      pos:
        line_end: 1116
        line_start: 1115
        source_file: /src/PROJ/src/projections/isea.cpp
      type_or_value: (1.0 / SQRT3)
    structs:
    - fields:
      - name: lat
        type: double
      item_type: struct
      name: GeoPoint
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: iso
        type: int
      - name: x
        type: long
      item_type: struct
      name: hex
      pos:
        line_end: 145
        line_start: 142
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: lat
        type: double
      item_type: struct
      name: GeoPoint
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: iso
        type: int
      - name: x
        type: long
      item_type: struct
      name: hex
      pos:
        line_end: 145
        line_start: 142
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: s
        type: double
      item_type: struct
      name: isea_sincos
      pos:
        line_end: 237
        line_start: 235
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: x
        type: double
      item_type: struct
      name: isea_pt
      pos:
        line_end: 241
        line_start: 239
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: s
        type: double
      item_type: struct
      name: isea_sincos
      pos:
        line_end: 237
        line_start: 235
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: x
        type: double
      item_type: struct
      name: isea_pt
      pos:
        line_end: 241
        line_start: 239
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: o_lat
        type: double
      - name: aperture
        type: int
      - name: resolution
        type: int
      - name: output
        type: isea_address_form
      - name: triangle
        type: int
      - name: quad
        type: int
      - name: vertexLatSinCos[numIcosahedronFaces]
        type: isea_sincos
      - name: R2
        type: double
      - name: Rprime
        type: double
      - name: Rprime2X
        type: double
      - name: RprimeTang
        type: double
      - name: Rprime2Tan2g
        type: double
      - name: triTang
        type: double
      - name: centerToBase
        type: double
      - name: triWidth
        type: double
      - name: yOffsets[4]
        type: double
      - name: xo
        type: double
      - name: sx
        type: double
      - name: '*p'
        type: ISEAPlanarProjection
      - name: initialize(const PJ *P)
        type: void
      item_type: struct
      name: pj_isea_data
      pos:
        line_end: 335
        line_start: 312
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: o_lat
        type: double
      - name: aperture
        type: int
      - name: resolution
        type: int
      - name: output
        type: isea_address_form
      - name: triangle
        type: int
      - name: quad
        type: int
      - name: vertexLatSinCos[numIcosahedronFaces]
        type: isea_sincos
      - name: R2
        type: double
      - name: Rprime
        type: double
      - name: Rprime2X
        type: double
      - name: RprimeTang
        type: double
      - name: Rprime2Tan2g
        type: double
      - name: triTang
        type: double
      - name: centerToBase
        type: double
      - name: triWidth
        type: double
      - name: yOffsets[4]
        type: double
      - name: xo
        type: double
      - name: sx
        type: double
      - name: '*p'
        type: ISEAPlanarProjection
      - name: initialize(const PJ *P)
        type: void
      item_type: struct
      name: pj_isea_data
      pos:
        line_end: 335
        line_start: 312
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: face
        type: int
      - name: x
        type: double
      item_type: struct
      name: ISEAFacePoint
      pos:
        line_end: 1093
        line_start: 1090
        source_file: /src/PROJ/src/projections/isea.cpp
    - fields:
      - name: face
        type: int
      - name: x
        type: double
      item_type: struct
      name: ISEAFacePoint
      pos:
        line_end: 1093
        line_start: 1090
        source_file: /src/PROJ/src/projections/isea.cpp
    typedefs: []
    union: []
- function_names:
  - topocentric_fwd
  - topocentric_inv
  source_file: /src/PROJ/src/conversions/topocentric.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: X0
        type: double
      - name: Y0
        type: double
      - name: Z0
        type: double
      - name: sinphi0
        type: double
      - name: cosphi0
        type: double
      - name: sinlam0
        type: double
      - name: coslam0
        type: double
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/PROJ/src/conversions/topocentric.cpp
    - fields:
      - name: X0
        type: double
      - name: Y0
        type: double
      - name: Z0
        type: double
      - name: sinphi0
        type: double
      - name: cosphi0
        type: double
      - name: sinlam0
        type: double
      - name: coslam0
        type: double
      item_type: struct
      name: pj_opaque
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/PROJ/src/conversions/topocentric.cpp
    typedefs: []
    union: []
- function_names:
  - is_leap_year
  - days_in_year
  - days_in_month
  - daynumber_in_year
  - mjd_to_mjd
  - decimalyear_to_mjd
  - mjd_to_decimalyear
  - gps_week_to_mjd
  - mjd_to_gps_week
  - yyyymmdd_to_mjd
  - mjd_to_yyyymmdd
  - forward_2d
  - reverse_2d
  - forward_3d
  - reverse_3d
  - forward_4d
  - reverse_4d
  - get_unit_conversion_factor
  source_file: /src/PROJ/src/conversions/unitconvert.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: t_in
        type: tconvert
      - name: t_out
        type: tconvert
      - name: '*name'
        type: char
      item_type: struct
      name: TIME_UNITS
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/PROJ/src/conversions/unitconvert.cpp
    - fields:
      - name: '*id'
        type: char
      - name: t_in
        type: tconvert
      - name: t_out
        type: tconvert
      - name: '*name'
        type: char
      item_type: struct
      name: TIME_UNITS
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/PROJ/src/conversions/unitconvert.cpp
    - fields:
      - name: t_in_id
        type: int
      - name: t_out_id
        type: int
      - name: xy_factor
        type: double
      - name: z_factor
        type: double
      item_type: struct
      name: pj_opaque_unitconvert
      pos:
        line_end: 92
        line_start: 87
        source_file: /src/PROJ/src/conversions/unitconvert.cpp
    - fields:
      - name: t_in_id
        type: int
      - name: t_out_id
        type: int
      - name: xy_factor
        type: double
      - name: z_factor
        type: double
      item_type: struct
      name: pj_opaque_unitconvert
      pos:
        line_end: 92
        line_start: 87
        source_file: /src/PROJ/src/conversions/unitconvert.cpp
    typedefs:
    - item_type: typedef
      name: (*tconvert)(double)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/PROJ/src/conversions/unitconvert.cpp
      type: double
    union: []
- function_names:
  - set_fwd_inv
  source_file: /src/PROJ/src/conversions/set.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: v1
        type: bool
      - name: v2
        type: bool
      - name: v3
        type: bool
      - name: v4
        type: bool
      - name: v1_val
        type: double
      - name: v2_val
        type: double
      - name: v3_val
        type: double
      - name: v4_val
        type: double
      item_type: struct
      name: Set
      pos:
        line_end: 18
        line_start: 9
        source_file: /src/PROJ/src/conversions/set.cpp
    - fields:
      - name: v1
        type: bool
      - name: v2
        type: bool
      - name: v3
        type: bool
      - name: v4
        type: bool
      - name: v1_val
        type: double
      - name: v2_val
        type: double
      - name: v3_val
        type: double
      - name: v4_val
        type: double
      item_type: struct
      name: Set
      pos:
        line_end: 18
        line_start: 9
        source_file: /src/PROJ/src/conversions/set.cpp
    typedefs: []
    union: []
- function_names:
  - forward
  - inverse
  source_file: /src/PROJ/src/conversions/geocent.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sign
  - pj_axisswap_forward_2d
  - pj_axisswap_reverse_2d
  - pj_axisswap_forward_3d
  - pj_axisswap_reverse_3d
  - swap_xy_4d
  - pj_axisswap_forward_4d
  - pj_axisswap_reverse_4d
  source_file: /src/PROJ/src/conversions/axisswap.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: axis[4]
        type: unsigned int
      - name: sign[4]
        type: int
      item_type: struct
      name: pj_axisswap_data
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/PROJ/src/conversions/axisswap.cpp
    - fields:
      - name: axis[4]
        type: unsigned int
      - name: sign[4]
        type: int
      item_type: struct
      name: pj_axisswap_data
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/PROJ/src/conversions/axisswap.cpp
    typedefs: []
    union: []
- function_names:
  - normal_radius_of_curvature
  - geocentric_radius
  - cartesian
  - geodetic
  - cart_forward
  - cart_reverse
  source_file: /src/PROJ/src/conversions/cart.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - noop
  source_file: /src/PROJ/src/conversions/noop.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_geocentric_latitude
  - forward
  - inverse
  - PJ_CONVERSION
  source_file: /src/PROJ/src/conversions/geoc.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - SQLValues
  - SQLValues
  - SQLValues
  - '&type() const'
  - '&stringValue() const'
  - intValue
  - doubleValue
  - PROJ_SQLITE_GetValAsDouble
  - PROJ_SQLITE_pseudo_area_from_swne
  - PROJ_SQLITE_intersects_bbox
  - SQLiteHandle::SQLiteHandle
  - '&operator=(const SQLiteHandle &)'
  - SQLiteHandle::SQLiteHandle
  - '&path() const'
  - SQLiteHandle::handle
  - SQLiteHandle::isValid
  - SQLiteHandle::invalidate
  - SQLiteHandle::getLayoutVersionMajor
  - SQLiteHandle::getLayoutVersionMinor
  - SQLiteHandle::~SQLiteHandle()
  - SQLiteHandle::open
  - SQLiteHandle::initFromExisting
  - SQLiteHandle::initFromExistingUniquePtr
  - SQLiteHandle::run
  - SQLiteHandle::run
  - SQLiteHandle::checkDatabaseLayout
  - SQLiteHandle::initialize
  - '&SQLiteHandleCache::get()'
  - SQLiteHandleCache::clear
  - SQLiteHandleCache::getHandle
  - SQLiteHandleCache::invalidateHandles
  - pjCtxt
  - setPjCtxt
  - '&getPath() const'
  - RecursionDetector
  - ~RecursionDetector()
  - '&getMapCanonicalizeGRFName()'
  - Private
  - '&operator=(const Private &)'
  - DatabaseContext::Private::Private()
  - DatabaseContext::Private::~Private()
  - DatabaseContext::Private::closeDB() noexcept
  - DatabaseContext::Private::clearCaches()
  - '&DatabaseContext::Private::handle()'
  - "DatabaseContext::Private::insertIntoCache(LRUCacheOfObjects &cache,\n                                               const
    std::string &code,\n                                               const util::BaseObjectPtr
    &obj)"
  - "DatabaseContext::Private::getFromCache(LRUCacheOfObjects &cache,\n                                            const
    std::string &code,\n                                            util::BaseObjectPtr
    &obj)"
  - "DatabaseContext::Private::getCRSToCRSCoordOpFromCache(\n    const std::string
    &code,\n    std::vector<operation::CoordinateOperationNNPtr> &list)"
  - "DatabaseContext::Private::cache(\n    const std::string &code,\n    const std::vector<operation::CoordinateOperationNNPtr>
    &list)"
  - DatabaseContext::Private::getCRSFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    crs::CRSNNPtr &crs)"
  - DatabaseContext::Private::getUOMFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    common::UnitOfMeasureNNPtr &uom)"
  - DatabaseContext::Private::getGeodeticDatumFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(\n    const std::string &code, const datum::GeodeticReferenceFrameNNPtr
    &datum)"
  - DatabaseContext::Private::getDatumEnsembleFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(\n    const std::string &code, const datum::DatumEnsembleNNPtr
    &datumEnsemble)"
  - DatabaseContext::Private::getEllipsoidFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    datum::EllipsoidNNPtr &ellps)"
  - DatabaseContext::Private::getPrimeMeridianFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    datum::PrimeMeridianNNPtr &pm)"
  - "DatabaseContext::Private::getCoordinateSystemFromCache(\n    const std::string
    &code)"
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    cs::CoordinateSystemNNPtr &cs)"
  - DatabaseContext::Private::getExtentFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    metadata::ExtentNNPtr &extent)"
  - "DatabaseContext::Private::getGridInfoFromCache(const std::string &code,\n                                                    GridInfoCache
    &info)"
  - DatabaseContext::Private::evictGridInfoFromCache(const std::string &code)
  - "DatabaseContext::Private::cache(const std::string &code,\n                                     const
    GridInfoCache &info)"
  - "DatabaseContext::Private::open(const std::string &databasePath,\n                                    PJ_CONTEXT
    *ctx)"
  - DatabaseContext::Private::setHandle(sqlite3 *sqlite_handle)
  - DatabaseContext::Private::getDatabaseStructure()
  - "DatabaseContext::Private::attachExtraDatabases(\n    const std::vector<std::string>
    &auxiliaryDatabasePaths)"
  - "DatabaseContext::Private::run(const std::string &sql,\n                                           const
    ListOfParams &parameters,\n                                           bool useMaxFloatPrecision)"
  - formatStatement
  - "DatabaseContext::Private::appendSql(\n    std::vector<std::string> &sqlStatements,
    const std::string &sql)"
  - identifyFromNameOrCode
  - identifyFromNameOrCode
  - identifyFromNameOrCode
  - identifyFromNameOrCode
  - identifyFromNameOrCode
  - identifyFromNameOrCode
  - identifyFromNameOrCode
  - getCSDatabaseType
  - "DatabaseContext::Private::findFreeCode(const std::string &tableName,\n                                       const
    std::string &authName,\n                                       const std::string
    &codePrototype)"
  - getUnitDatabaseType
  - "DatabaseContext::Private::identify(const DatabaseContextNNPtr &dbContext,\n                                        const
    common::UnitOfMeasure &obj,\n                                        std::string
    &authName,\n                                        std::string &code)"
  - "DatabaseContext::Private::identifyOrInsert(\n    const DatabaseContextNNPtr &dbContext,
    const common::UnitOfMeasure &unit,\n    const std::string &ownerAuthName, std::string
    &authName, std::string &code,\n    std::vector<std::string> &sqlStatements)"
  - "DatabaseContext::Private::identify(const DatabaseContextNNPtr &dbContext,\n                                        const
    cs::CoordinateSystemNNPtr &obj,\n                                        std::string
    &authName,\n                                        std::string &code)"
  - "DatabaseContext::Private::identifyOrInsert(\n    const DatabaseContextNNPtr &dbContext,
    const cs::CoordinateSystemNNPtr &obj,\n    const std::string &ownerType, const
    std::string &ownerAuthName,\n    const std::string &ownerCode, std::string &authName,
    std::string &code,\n    std::vector<std::string> &sqlStatements)"
  - addAllowedAuthoritiesCond
  - "DatabaseContext::Private::identifyOrInsertUsages(\n    const common::ObjectUsageNNPtr
    &obj, const std::string &tableName,\n    const std::string &authName, const std::string
    &code,\n    const std::vector<std::string> &allowedAuthorities,\n    std::vector<std::string>
    &sqlStatements)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::PrimeMeridianNNPtr
    &pm, const std::string &authName,\n    const std::string &code, bool /*numericCode*/,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::EllipsoidNNPtr
    &ellipsoid, const std::string &authName,\n    const std::string &code, bool /*numericCode*/,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - anchorEpochToStr
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::GeodeticReferenceFrameNNPtr
    &datum,\n    const std::string &authName, const std::string &code, bool numericCode,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::DatumEnsembleNNPtr
    &ensemble, const std::string &authName,\n    const std::string &code, bool numericCode,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::GeodeticCRSNNPtr
    &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::ProjectedCRSNNPtr
    &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const datum::VerticalReferenceFrameNNPtr
    &datum,\n    const std::string &authName, const std::string &code,\n    bool /*
    numericCode */,\n    const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::VerticalCRSNNPtr
    &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - "DatabaseContext::Private::getInsertStatementsFor(\n    const crs::CompoundCRSNNPtr
    &crs, const std::string &authName,\n    const std::string &code, bool numericCode,\n
    \   const std::vector<std::string> &allowedAuthorities)"
  - DatabaseContext::~DatabaseContext()
  - DatabaseContext::DatabaseContext
  - DatabaseContext::create
  - DatabaseContext::getAuthorities
  - DatabaseContext::getDatabaseStructure
  - '&DatabaseContext::getPath() const'
  - DatabaseContext::getMetadata
  - DatabaseContext::startInsertStatementsSession
  - DatabaseContext::suggestsCodeFor
  - DatabaseContext::getInsertStatementsFor
  - DatabaseContext::stopInsertStatementsSession
  - DatabaseContext::create
  - DatabaseContext::getSqliteHandle
  - DatabaseContext::lookForGridAlternative
  - makeCachedGridKey
  - DatabaseContext::invalidateGridInfo
  - DatabaseContext::lookForGridInfo
  - DatabaseContext::getQueryCounter
  - DatabaseContext::isKnownName
  - DatabaseContext::getProjGridName
  - DatabaseContext::getOldProjGridName
  - getUniqueEsriAlias
  - DatabaseContext::getAliasFromOfficialName
  - DatabaseContext::getAliases
  - DatabaseContext::getName
  - DatabaseContext::getTextDefinition
  - DatabaseContext::getAllowedAuthorities
  - DatabaseContext::getNonDeprecated
  - '&

    DatabaseContext::Private::getCacheAuthNameWithVersion()'
  - DatabaseContext::getAuthorityAndVersion
  - DatabaseContext::getVersionedAuthority
  - DatabaseContext::getVersionedAuthoritiesFromName
  - DatabaseContext::getTransformationsForGridName
  - DatabaseContext::toWGS84AutocorrectWrongValues
  - Private
  - '&authority() PROJ_PURE_DEFN'
  - '&context() PROJ_PURE_DEFN'
  - setThis
  - getSharedFromThis
  - createFactory
  - hasAuthorityRestriction
  - "AuthorityFactory::Private::run(const std::string &sql,\n                                            const
    ListOfParams &parameters)"
  - "AuthorityFactory::Private::runWithCodeParam(const std::string &sql,\n                                            const
    std::string &code)"
  - "AuthorityFactory::Private::runWithCodeParam(const char *sql,\n                                            const
    std::string &code)"
  - "AuthorityFactory::Private::createUnitOfMeasure(const std::string &auth_name,\n
    \                                              const std::string &code)"
  - "AuthorityFactory::Private::createProperties(\n    const std::string &code, const
    std::string &name, bool deprecated,\n    const std::vector<ObjectDomainNNPtr>
    &usages)"
  - "AuthorityFactory::Private::createPropertiesSearchUsages(\n    const std::string
    &table_name, const std::string &code,\n    const std::string &name, bool deprecated)"
  - "AuthorityFactory::Private::createPropertiesSearchUsages(\n    const std::string
    &table_name, const std::string &code,\n    const std::string &name, bool deprecated,
    const std::string &remarks)"
  - "AuthorityFactory::Private::rejectOpDueToMissingGrid(\n    const operation::CoordinateOperationNNPtr
    &op,\n    bool considerKnownGridsAsAvailable)"
  - DisableNetwork
  - ~DisableNetwork()
  - AuthorityFactory::~AuthorityFactory()
  - AuthorityFactory::AuthorityFactory
  - AuthorityFactory::create
  - '&AuthorityFactory::databaseContext() const'
  - AuthorityFactory::CRSInfo::CRSInfo()
  - AuthorityFactory::createObject
  - buildFactoryException
  - AuthorityFactory::createExtent
  - AuthorityFactory::createUnitOfMeasure
  - normalizeMeasure
  - AuthorityFactory::createPrimeMeridian
  - AuthorityFactory::identifyBodyFromSemiMajorAxis
  - AuthorityFactory::createEllipsoid
  - AuthorityFactory::createGeodeticDatum
  - AuthorityFactory::createGeodeticDatumOrEnsemble
  - AuthorityFactory::createVerticalDatum
  - AuthorityFactory::createVerticalDatumOrEnsemble
  - AuthorityFactory::createEngineeringDatum
  - AuthorityFactory::createDatumEnsemble
  - AuthorityFactory::createDatum
  - createMeridian
  - AuthorityFactory::createCoordinateSystem
  - AuthorityFactory::createGeodeticCRS
  - AuthorityFactory::createGeographicCRS
  - cloneWithProps
  - AuthorityFactory::createGeodeticCRS
  - AuthorityFactory::createVerticalCRS
  - AuthorityFactory::createEngineeringCRS
  - AuthorityFactory::createConversion
  - AuthorityFactory::createProjectedCRS
  - AuthorityFactory::Private::createProjectedCRSBegin(const std::string &code)
  - "AuthorityFactory::Private::createProjectedCRSEnd(const std::string &code,\n                                                 const
    SQLResultSet &res)"
  - AuthorityFactory::createDerivedProjectedCRS
  - "AuthorityFactory::Private::createDerivedProjectedCRSBegin(\n    const std::string
    &code)"
  - "AuthorityFactory::Private::createDerivedProjectedCRSEnd(\n    const std::string
    &code, const SQLResultSet &res)"
  - AuthorityFactory::createCompoundCRS
  - AuthorityFactory::createCoordinateReferenceSystem
  - AuthorityFactory::createCoordinateReferenceSystem
  - AuthorityFactory::createCoordinateMetadata
  - createMapNameEPSGCode
  - createOpParamNameEPSGCode
  - createLength
  - createAngle
  - AuthorityFactory::createCoordinateOperation
  - AuthorityFactory::createCoordinateOperation
  - AuthorityFactory::createFromCoordinateReferenceSystemCodes
  - AuthorityFactory::getGeoidModels
  - AuthorityFactory::createFromCoordinateReferenceSystemCodes
  - useIrrelevantPivot
  - AuthorityFactory::createFromCRSCodesWithIntermediates
  - AuthorityFactory::createBetweenGeodeticCRSWithDatumBasedIntermediates
  - '&AuthorityFactory::getAuthority()'
  - AuthorityFactory::getAuthorityCodes
  - AuthorityFactory::getDescriptionText
  - AuthorityFactory::getCRSInfoList
  - AuthorityFactory::UnitInfo::UnitInfo()
  - AuthorityFactory::CelestialBodyInfo::CelestialBodyInfo()
  - AuthorityFactory::getUnitList
  - AuthorityFactory::getCelestialBodyList
  - AuthorityFactory::getOfficialNameFromAlias
  - AuthorityFactory::createObjectsFromName
  - AuthorityFactory::createObjectsFromNameEx
  - AuthorityFactory::listAreaOfUseFromName
  - AuthorityFactory::createEllipsoidFromExisting
  - AuthorityFactory::createGeodeticCRSFromDatum
  - AuthorityFactory::createGeodeticCRSFromDatum
  - AuthorityFactory::createVerticalCRSFromDatum
  - AuthorityFactory::createGeodeticCRSFromEllipsoid
  - buildSqlLookForAuthNameCode
  - AuthorityFactory::createProjectedCRSFromExisting
  - AuthorityFactory::createCompoundCRSFromExisting
  - AuthorityFactory::getTransformationsForGeoid
  - AuthorityFactory::getPointMotionOperationsFor
  - FactoryException::FactoryException
  - FactoryException::FactoryException
  - FactoryException::~FactoryException()
  - FactoryException::FactoryException
  - Private
  - NoSuchAuthorityCodeException::NoSuchAuthorityCodeException
  - NoSuchAuthorityCodeException::~NoSuchAuthorityCodeException()
  - NoSuchAuthorityCodeException::NoSuchAuthorityCodeException
  - '&NoSuchAuthorityCodeException::getAuthority() const'
  - '&NoSuchAuthorityCodeException::getAuthorityCode() const'
  - pj_clear_sqlite_cache
  source_file: /src/PROJ/src/iso19111/factory.cpp
  types:
    enum:
    - enumerators:
      - name: STRING
      - name: DOUBLE
      - name: INT
      item_type: enum
      name: Type
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/PROJ/src/iso19111/factory.cpp
    preproc_defs:
    - item_type: preproc_def
      name: GEOG_2D_SINGLE_QUOTED
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/src/iso19111/factory.cpp
      type_or_value: '"''geographic 2D''"'
    - item_type: preproc_def
      name: GEOG_3D_SINGLE_QUOTED
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/src/iso19111/factory.cpp
      type_or_value: '"''geographic 3D''"'
    - item_type: preproc_def
      name: GEOCENTRIC_SINGLE_QUOTED
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/src/iso19111/factory.cpp
      type_or_value: '"''geocentric''"'
    - item_type: preproc_def
      name: SQLITE_DETERMINISTIC
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/PROJ/src/iso19111/factory.cpp
      type_or_value: '0'
    structs:
    - fields:
      - name: type_
        type: Type
      - name: str_
        type: std::string
      - name: int_
        type: int
      - name: double_
        type: double
      item_type: struct
      name: SQLValues
      pos:
        line_end: 161
        line_start: 133
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: open(const std::string &databasePath, PJ_CONTEXT *ctx)
        type: void
      - name: setHandle(sqlite3 *sqlite_handle)
        type: void
      - name: '&handle()'
        type: std::shared_ptr<SQLiteHandle>
      - name: "run(const std::string &sql,\n                     const ListOfParams
          &parameters = ListOfParams(),\n                     bool useMaxFloatPrecision
          = false)"
        type: SQLResultSet
      - name: getDatabaseStructure()
        type: std::vector<std::string>
      - name: "attachExtraDatabases(\n        const std::vector<std::string> &auxiliaryDatabasePaths)"
        type: void
      - name: getUOMFromCache(const std::string &code)
        type: common::UnitOfMeasurePtr
      - name: cache(const std::string &code, const common::UnitOfMeasureNNPtr &uom)
        type: void
      - name: getCRSFromCache(const std::string &code)
        type: crs::CRSPtr
      - name: cache(const std::string &code, const crs::CRSNNPtr &crs)
        type: void
      - name: getGeodeticDatumFromCache(const std::string &code)
        type: datum::GeodeticReferenceFramePtr
      - name: "cache(const std::string &code,\n               const datum::GeodeticReferenceFrameNNPtr
          &datum)"
        type: void
      - name: getDatumEnsembleFromCache(const std::string &code)
        type: datum::DatumEnsemblePtr
      - name: "cache(const std::string &code,\n               const datum::DatumEnsembleNNPtr
          &datumEnsemble)"
        type: void
      - name: getEllipsoidFromCache(const std::string &code)
        type: datum::EllipsoidPtr
      - name: cache(const std::string &code, const datum::EllipsoidNNPtr &ellipsoid)
        type: void
      - name: getPrimeMeridianFromCache(const std::string &code)
        type: datum::PrimeMeridianPtr
      - name: cache(const std::string &code, const datum::PrimeMeridianNNPtr &pm)
        type: void
      - name: getCoordinateSystemFromCache(const std::string &code)
        type: cs::CoordinateSystemPtr
      - name: cache(const std::string &code, const cs::CoordinateSystemNNPtr &cs)
        type: void
      - name: getExtentFromCache(const std::string &code)
        type: metadata::ExtentPtr
      - name: cache(const std::string &code, const metadata::ExtentNNPtr &extent)
        type: void
      - name: "getCRSToCRSCoordOpFromCache(\n        const std::string &code,\n        std::vector<operation::CoordinateOperationNNPtr>
          &list)"
        type: bool
      - name: "cache(const std::string &code,\n               const std::vector<operation::CoordinateOperationNNPtr>
          &list)"
        type: void
      - name: getGridInfoFromCache(const std::string &code, GridInfoCache &info)
        type: bool
      - name: evictGridInfoFromCache(const std::string &code)
        type: void
      - name: cache(const std::string &code, const GridInfoCache &info)
        type: void
      - name: '&getCacheAuthNameWithVersion()'
        type: std::vector<VersionedAuthName>
      - name: self_
        type: std::weak_ptr<DatabaseContext>
      - name: databasePath_
        type: std::string
      - name: auxiliaryDatabasePaths_
        type: std::vector<std::string>
      - name: sqlite_handle_
        type: std::shared_ptr<SQLiteHandle>
      - name: queryCounter_
        type: unsigned int
      - name: mapSqlToStatement_
        type: std::map<std::string, sqlite3_stmt *>
      - name: '*pjCtxt_'
        type: PJ_CONTEXT
      - name: recLevel_
        type: int
      - name: detach_
        type: bool
      - name: lastMetadataValue_
        type: std::string
      - name: mapCanonicalizeGRFName_
        type: std::map<std::string, std::list<SQLRow>>
      - name: memoryDbForInsertPath_
        type: std::string
      - name: memoryDbHandle_
        type: std::unique_ptr<SQLiteHandle>
      - name: CACHE_SIZE
        type: size_t
      - name: cacheUOM_
        type: LRUCacheOfObjects
      - name: cacheCRS_
        type: LRUCacheOfObjects
      - name: cacheEllipsoid_
        type: LRUCacheOfObjects
      - name: cacheGeodeticDatum_
        type: LRUCacheOfObjects
      - name: cacheDatumEnsemble_
        type: LRUCacheOfObjects
      - name: cachePrimeMeridian_
        type: LRUCacheOfObjects
      - name: cacheCS_
        type: LRUCacheOfObjects
      - name: cacheExtent_
        type: LRUCacheOfObjects
      - name: cacheCRSToCrsCoordOp_
        type: lru11::Cache<std::string, std::vector<operation::CoordinateOperationNNPtr>>
      - name: cacheGridInfo_
        type: lru11::Cache<std::string, GridInfoCache>
      - name: cacheAllowedAuthorities_
        type: std::map<std::string, std::vector<std::string>>
      - name: cacheAliasNames_
        type: lru11::Cache<std::string, std::list<std::string>>
      - name: cacheNames_
        type: lru11::Cache<std::string, std::string>
      - name: cacheAuthNameWithVersion_
        type: std::vector<VersionedAuthName>
      - name: "insertIntoCache(LRUCacheOfObjects &cache,\n                                const
          std::string &code,\n                                const util::BaseObjectPtr
          &obj)"
        type: void
      - name: "getFromCache(LRUCacheOfObjects &cache, const std::string &code,\n                             util::BaseObjectPtr
          &obj)"
        type: void
      - name: closeDB() noexcept
        type: void
      - name: clearCaches()
        type: void
      - name: "findFreeCode(const std::string &tableName,\n                             const
          std::string &authName,\n                             const std::string &codePrototype)"
        type: std::string
      - name: "identify(const DatabaseContextNNPtr &dbContext,\n                  const
          cs::CoordinateSystemNNPtr &obj, std::string &authName,\n                  std::string
          &code)"
        type: void
      - name: "identifyOrInsert(const DatabaseContextNNPtr &dbContext,\n                          const
          cs::CoordinateSystemNNPtr &obj,\n                          const std::string
          &ownerType,\n                          const std::string &ownerAuthName,\n
          \                         const std::string &ownerCode, std::string &authName,\n
          \                         std::string &code,\n                          std::vector<std::string>
          &sqlStatements)"
        type: void
      - name: "identify(const DatabaseContextNNPtr &dbContext,\n                  const
          common::UnitOfMeasure &obj, std::string &authName,\n                  std::string
          &code)"
        type: void
      - name: "identifyOrInsert(const DatabaseContextNNPtr &dbContext,\n                          const
          common::UnitOfMeasure &unit,\n                          const std::string
          &ownerAuthName,\n                          std::string &authName, std::string
          &code,\n                          std::vector<std::string> &sqlStatements)"
        type: void
      - name: "appendSql(std::vector<std::string> &sqlStatements,\n                   const
          std::string &sql)"
        type: void
      - name: "identifyOrInsertUsages(const common::ObjectUsageNNPtr &obj,\n                           const
          std::string &tableName,\n                           const std::string &authName,
          const std::string &code,\n                           const std::vector<std::string>
          &allowedAuthorities,\n                           std::vector<std::string>
          &sqlStatements)"
        type: void
      - name: "getInsertStatementsFor(const datum::PrimeMeridianNNPtr &pm,\n                           const
          std::string &authName, const std::string &code,\n                           bool
          numericCode,\n                           const std::vector<std::string>
          &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const datum::EllipsoidNNPtr &ellipsoid,\n                           const
          std::string &authName, const std::string &code,\n                           bool
          numericCode,\n                           const std::vector<std::string>
          &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const datum::GeodeticReferenceFrameNNPtr &datum,\n
          \                          const std::string &authName, const std::string
          &code,\n                           bool numericCode,\n                           const
          std::vector<std::string> &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const datum::DatumEnsembleNNPtr &ensemble,\n
          \                          const std::string &authName, const std::string
          &code,\n                           bool numericCode,\n                           const
          std::vector<std::string> &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const crs::GeodeticCRSNNPtr &crs,\n                           const
          std::string &authName, const std::string &code,\n                           bool
          numericCode,\n                           const std::vector<std::string>
          &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const crs::ProjectedCRSNNPtr &crs,\n                           const
          std::string &authName, const std::string &code,\n                           bool
          numericCode,\n                           const std::vector<std::string>
          &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const datum::VerticalReferenceFrameNNPtr &datum,\n
          \                          const std::string &authName, const std::string
          &code,\n                           bool numericCode,\n                           const
          std::vector<std::string> &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const crs::VerticalCRSNNPtr &crs,\n                           const
          std::string &authName, const std::string &code,\n                           bool
          numericCode,\n                           const std::vector<std::string>
          &allowedAuthorities)"
        type: std::vector<std::string>
      - name: "getInsertStatementsFor(const crs::CompoundCRSNNPtr &crs,\n                           const
          std::string &authName, const std::string &code,\n                           bool
          numericCode,\n                           const std::vector<std::string>
          &allowedAuthorities)"
        type: std::vector<std::string>
      item_type: struct
      name: DatabaseContext::Private
      pos:
        line_end: 981
        line_start: 707
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: dbContext_
        type: DatabaseContextNNPtr
      item_type: struct
      name: RecursionDetector
      pos:
        line_end: 749
        line_start: 734
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: fullFilename
        type: std::string
      - name: packageName
        type: std::string
      - name: url
        type: std::string
      - name: found
        type: bool
      - name: directDownload
        type: bool
      - name: openLicense
        type: bool
      - name: gridAvailable
        type: bool
      item_type: struct
      name: GridInfoCache
      pos:
        line_end: 818
        line_start: 810
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: versionedAuthName
        type: std::string
      - name: authName
        type: std::string
      - name: version
        type: std::string
      - name: priority
        type: int
      item_type: struct
      name: VersionedAuthName
      pos:
        line_end: 832
        line_start: 827
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: name
        type: std::string
      - name: isTable
        type: bool
      - name: sql
        type: std::string
      - name: columns
        type: std::vector<std::string>
      item_type: struct
      name: TableStructure
      pos:
        line_end: 1327
        line_start: 1322
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: "rejectOpDueToMissingGrid(const operation::CoordinateOperationNNPtr
          &op,\n                                  bool considerKnownGridsAsAvailable)"
        type: bool
      - name: "createUnitOfMeasure(const std::string &auth_name,\n                                      const
          std::string &code)"
        type: UnitOfMeasure
      - name: "createProperties(const std::string &code, const std::string &name,\n
          \                    bool deprecated,\n                     const std::vector<ObjectDomainNNPtr>
          &usages)"
        type: util::PropertyMap
      - name: "createPropertiesSearchUsages(const std::string &table_name,\n                                 const
          std::string &code,\n                                 const std::string &name,
          bool deprecated)"
        type: util::PropertyMap
      - name: "createPropertiesSearchUsages(\n        const std::string &table_name,
          const std::string &code,\n        const std::string &name, bool deprecated,
          const std::string &remarks)"
        type: util::PropertyMap
      - name: "run(const std::string &sql,\n                     const ListOfParams
          &parameters = ListOfParams())"
        type: SQLResultSet
      - name: "runWithCodeParam(const std::string &sql,\n                                  const
          std::string &code)"
        type: SQLResultSet
      - name: runWithCodeParam(const char *sql, const std::string &code)
        type: SQLResultSet
      - name: createProjectedCRSBegin(const std::string &code)
        type: SQLResultSet
      - name: "createProjectedCRSEnd(const std::string &code,\n                                                 const
          SQLResultSet &res)"
        type: crs::ProjectedCRSNNPtr
      - name: createDerivedProjectedCRSBegin(const std::string &code)
        type: SQLResultSet
      - name: "createDerivedProjectedCRSEnd(const std::string &code,\n                                 const
          SQLResultSet &res)"
        type: crs::DerivedProjectedCRSNNPtr
      - name: context_
        type: DatabaseContextNNPtr
      - name: authority_
        type: std::string
      - name: thisFactory_
        type: std::weak_ptr<AuthorityFactory>
      item_type: struct
      name: AuthorityFactory::Private
      pos:
        line_end: 4160
        line_start: 4089
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: '&m_dbContext'
        type: DatabaseContextNNPtr
      - name: m_old_network_enabled
        type: bool
      item_type: struct
      name: DisableNetwork
      pos:
        line_end: 4342
        line_start: 4319
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: situation
        type: std::string
      - name: table_name
        type: std::string
      - name: auth_name
        type: std::string
      - name: code
        type: std::string
      - name: name
        type: std::string
      - name: west
        type: double
      - name: south
        type: double
      - name: east
        type: double
      - name: north
        type: double
      item_type: struct
      name: TrfmInfo
      pos:
        line_end: 8243
        line_start: 8233
        source_file: /src/PROJ/src/iso19111/factory.cpp
    - fields:
      - name: authority_
        type: std::string
      - name: code_
        type: std::string
      item_type: struct
      name: NoSuchAuthorityCodeException::Private
      pos:
        line_end: 10626
        line_start: 10620
        source_file: /src/PROJ/src/iso19111/factory.cpp
    typedefs:
    - item_type: typedef
      name: VersionedAuthNamePriority
      pos:
        line_end: 3951
        line_start: 3951
        source_file: /src/PROJ/src/iso19111/factory.cpp
      type: pair<std::string, int>
    - item_type: typedef
      name: TableType
      pos:
        line_end: 9373
        line_start: 9373
        source_file: /src/PROJ/src/iso19111/factory.cpp
      type: pair<std::string, std::string>
    union: []
- function_names:
  - coordinates
  - Private
  - Private
  - CoordinateMetadata::CoordinateMetadata
  - CoordinateMetadata::CoordinateMetadata
  - CoordinateMetadata::~CoordinateMetadata()
  - CoordinateMetadata::create
  - CoordinateMetadata::create
  - CoordinateMetadata::create
  - '&CoordinateMetadata::crs()'
  - '&

    CoordinateMetadata::coordinateEpoch()'
  - CoordinateMetadata::coordinateEpochAsDecimalYear
  - CoordinateMetadata::promoteTo3D
  - CoordinateMetadata::_exportToWKT
  - CoordinateMetadata::_exportToJSON
  source_file: /src/PROJ/src/iso19111/coordinates.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: crs_
        type: crs::CRSNNPtr
      - name: coordinateEpoch_
        type: util::optional<common::DataEpoch>
      item_type: struct
      name: CoordinateMetadata::Private
      pos:
        line_end: 61
        line_start: 54
        source_file: /src/PROJ/src/iso19111/coordinates.cpp
    typedefs: []
    union: []
- function_names:
  - PROJ_NO_INLINE::proj_log_error
  - PROJ_NO_INLINE::proj_log_debug
  - to_string_list
  - proj_context_delete_cpp_context
  - projCppContext::projCppContext
  - projCppContext::toVector
  - projCppContext::clone
  - projCppContext::getDatabaseContext
  - DatabaseContextNNPtr::getDBcontext
  - DatabaseContextPtr::getDBcontextNoException
  - pj_obj_create
  - PJ_OBJ_LIST
  - PJ_OBJ_LIST
  - '&operator=(const PJ_OBJ_LIST &)'
  - PJ_OBJ_LIST::~PJ_OBJ_LIST()
  - SANITIZE_CTX
  - proj_context_set_autoclose_database
  - proj_context_set_database_path
  - proj_context_get_database_path
  - proj_context_get_database_metadata
  - proj_context_get_database_structure
  - proj_context_guess_wkt_dialect
  - getOptionValue
  - proj_clone
  - proj_create
  - proj_create_from_wkt
  - proj_create_from_database
  - get_unit_category
  - proj_uom_get_info_from_database
  - proj_grid_get_info_from_database
  - proj_query_geodetic_crs_from_datum
  - convertPJObjectTypeToObjectType
  - proj_create_from_name
  - proj_get_type
  - proj_is_deprecated
  - proj_get_non_deprecated
  - proj_is_equivalent_to_internal
  - proj_is_equivalent_to
  - proj_is_equivalent_to_with_ctx
  - proj_is_crs
  - proj_get_name
  - proj_get_remarks
  - proj_get_id_auth_name
  - proj_get_id_code
  - proj_as_wkt
  - proj_as_proj_string
  - proj_as_projjson
  - proj_get_domain_count
  - proj_get_scope
  - proj_get_scope_ex
  - proj_get_area_of_use
  - proj_get_area_of_use_ex
  - extractGeodeticCRS
  - proj_crs_get_geodetic_crs
  - proj_crs_is_derived
  - proj_crs_is_dynamic
  - proj_crs_get_sub_crs
  - proj_crs_create_bound_crs
  - proj_crs_create_bound_crs_to_WGS84
  - proj_crs_create_bound_vertical_crs
  - proj_get_ellipsoid
  - proj_get_celestial_body_name
  - proj_crs_get_horizontal_datum
  - proj_ellipsoid_get_parameters
  - proj_get_prime_meridian
  - proj_prime_meridian_get_parameters
  - proj_get_source_crs
  - proj_get_target_crs
  - proj_identify
  - proj_int_list_destroy
  - proj_get_authorities_from_database
  - proj_get_codes_from_database
  - proj_get_celestial_body_list_from_database
  - proj_celestial_body_list_destroy
  - proj_string_list_destroy
  - proj_get_crs_list_parameters_create
  - proj_get_crs_list_parameters_destroy
  - proj_get_crs_info_list_from_database
  - proj_crs_info_list_destroy
  - proj_get_units_from_database
  - proj_unit_list_destroy
  - proj_crs_get_coordoperation
  - proj_coordoperation_get_method_info
  - createPropertyMapName
  - createLinearUnit
  - createAngularUnit
  - createGeodeticReferenceFrame
  - proj_create_geographic_crs
  - proj_create_geographic_crs_from_datum
  - proj_create_geocentric_crs
  - proj_create_geocentric_crs_from_datum
  - proj_create_derived_geographic_crs
  - proj_is_derived_crs
  - proj_create_vertical_crs
  - proj_create_vertical_crs_ex
  - proj_create_compound_crs
  - proj_alter_name
  - proj_alter_id
  - proj_crs_alter_geodetic_crs
  - proj_crs_alter_cs_angular_unit
  - proj_crs_alter_cs_linear_unit
  - proj_crs_alter_parameters_linear_unit
  - proj_crs_promote_to_3D
  - proj_crs_create_projected_3D_crs_from_2D
  - proj_crs_demote_to_2D
  - proj_create_engineering_crs
  - setSingleOperationElements
  - proj_create_conversion
  - proj_create_transformation
  - proj_convert_conversion_to_other_method
  - createAxis
  - proj_create_cs
  - proj_create_cartesian_2D_cs
  - proj_create_ellipsoidal_2D_cs
  - proj_create_ellipsoidal_3D_cs
  - proj_create_projected_crs
  - proj_create_conversion
  - proj_create_conversion_utm
  - proj_create_conversion_transverse_mercator
  - proj_create_conversion_gauss_schreiber_transverse_mercator
  - proj_create_conversion_transverse_mercator_south_oriented
  - proj_create_conversion_two_point_equidistant
  - proj_create_conversion_tunisia_mining_grid
  - proj_create_conversion_tunisia_mapping_grid
  - proj_create_conversion_albers_equal_area
  - proj_create_conversion_lambert_conic_conformal_1sp
  - proj_create_conversion_lambert_conic_conformal_1sp_variant_b
  - proj_create_conversion_lambert_conic_conformal_2sp
  - proj_create_conversion_lambert_conic_conformal_2sp_michigan
  - proj_create_conversion_lambert_conic_conformal_2sp_belgium
  - proj_create_conversion_azimuthal_equidistant
  - proj_create_conversion_guam_projection
  - proj_create_conversion_bonne
  - proj_create_conversion_lambert_cylindrical_equal_area_spherical
  - proj_create_conversion_lambert_cylindrical_equal_area
  - proj_create_conversion_cassini_soldner
  - proj_create_conversion_equidistant_conic
  - proj_create_conversion_eckert_i
  - proj_create_conversion_eckert_ii
  - proj_create_conversion_eckert_iii
  - proj_create_conversion_eckert_iv
  - proj_create_conversion_eckert_v
  - proj_create_conversion_eckert_vi
  - proj_create_conversion_equidistant_cylindrical
  - proj_create_conversion_equidistant_cylindrical_spherical
  - proj_create_conversion_gall
  - proj_create_conversion_goode_homolosine
  - proj_create_conversion_interrupted_goode_homolosine
  - proj_create_conversion_geostationary_satellite_sweep_x
  - proj_create_conversion_geostationary_satellite_sweep_y
  - proj_create_conversion_gnomonic
  - proj_create_conversion_hotine_oblique_mercator_variant_a
  - proj_create_conversion_hotine_oblique_mercator_variant_b
  - proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin
  - proj_create_conversion_laborde_oblique_mercator
  - proj_create_conversion_international_map_world_polyconic
  - proj_create_conversion_krovak_north_oriented
  - proj_create_conversion_krovak
  - proj_create_conversion_lambert_azimuthal_equal_area
  - proj_create_conversion_miller_cylindrical
  - proj_create_conversion_mercator_variant_a
  - proj_create_conversion_mercator_variant_b
  - proj_create_conversion_popular_visualisation_pseudo_mercator
  - proj_create_conversion_mollweide
  - proj_create_conversion_new_zealand_mapping_grid
  - proj_create_conversion_oblique_stereographic
  - proj_create_conversion_orthographic
  - proj_create_conversion_local_orthographic
  - proj_create_conversion_american_polyconic
  - proj_create_conversion_polar_stereographic_variant_a
  - proj_create_conversion_polar_stereographic_variant_b
  - proj_create_conversion_robinson
  - proj_create_conversion_sinusoidal
  - proj_create_conversion_stereographic
  - proj_create_conversion_van_der_grinten
  - proj_create_conversion_wagner_i
  - proj_create_conversion_wagner_ii
  - proj_create_conversion_wagner_iii
  - proj_create_conversion_wagner_iv
  - proj_create_conversion_wagner_v
  - proj_create_conversion_wagner_vi
  - proj_create_conversion_wagner_vii
  - proj_create_conversion_quadrilateralized_spherical_cube
  - proj_create_conversion_spherical_cross_track_height
  - proj_create_conversion_equal_earth
  - proj_create_conversion_vertical_perspective
  - proj_create_conversion_pole_rotation_grib_convention
  - proj_create_conversion_pole_rotation_netcdf_cf_convention
  - proj_coordoperation_is_instantiable
  - proj_coordoperation_has_ballpark_transformation
  - proj_coordoperation_requires_per_coordinate_input_time
  - proj_coordoperation_get_param_count
  - proj_coordoperation_get_param_index
  - proj_coordoperation_get_param
  - proj_coordoperation_get_towgs84_values
  - proj_coordoperation_get_grid_used_count
  - proj_coordoperation_get_grid_used
  - PJ_OPERATION_FACTORY_CONTEXT
  - PJ_OPERATION_FACTORY_CONTEXT
  - "&\n    operator=(const PJ_OPERATION_FACTORY_CONTEXT &)"
  - proj_create_operation_factory_context
  - proj_operation_factory_context_destroy
  - proj_operation_factory_context_set_desired_accuracy
  - proj_operation_factory_context_set_area_of_interest
  - proj_operation_factory_context_set_area_of_interest_name
  - proj_operation_factory_context_set_crs_extent_use
  - proj_operation_factory_context_set_spatial_criterion
  - proj_operation_factory_context_set_grid_availability_use
  - proj_operation_factory_context_set_use_proj_alternative_grid_names
  - proj_operation_factory_context_set_allow_use_intermediate_crs
  - proj_operation_factory_context_set_allowed_intermediate_crs
  - proj_operation_factory_context_set_discard_superseded
  - proj_operation_factory_context_set_allow_ballpark_transformations
  - PJ_OPERATION_LIST
  - '&operator=(const PJ_OPERATION_LIST &)'
  - PJ_OPERATION_LIST::PJ_OPERATION_LIST
  - PJ_OPERATION_LIST::~PJ_OPERATION_LIST()
  - '&

    PJ_OPERATION_LIST::getPreparedOperations(PJ_CONTEXT *ctx)'
  - proj_create_operations
  - proj_get_suggested_operation
  - proj_list_get_count
  - proj_list_get
  - proj_list_destroy
  - proj_coordoperation_get_accuracy
  - proj_crs_get_datum
  - proj_crs_get_datum_ensemble
  - proj_datum_ensemble_get_member_count
  - proj_datum_ensemble_get_accuracy
  - proj_datum_ensemble_get_member
  - proj_crs_get_datum_forced
  - proj_dynamic_datum_get_frame_reference_epoch
  - proj_crs_get_coordinate_system
  - proj_cs_get_type
  - proj_cs_get_axis_count
  - proj_cs_get_axis_info
  - proj_normalize_for_visualization
  - proj_coordoperation_create_inverse
  - proj_concatoperation_get_step_count
  - proj_concatoperation_get_step
  - proj_insert_object_session_create
  - proj_insert_object_session_destroy
  - proj_suggests_code_for
  - proj_string_destroy
  - proj_get_insert_statements
  - TempSessionHolder
  - '&operator=(const TempSessionHolder &)'
  - TempSessionHolder
  - ~TempSessionHolder()
  - GetTempSession
  - proj_get_geoid_models_from_database
  - proj_coordinate_metadata_create
  - proj_coordinate_metadata_get_epoch
  - proj_crs_has_point_motion_operation
  - createScaleUnit
  - proj_create_linear_affine_parametric_conversion
  - proj_create_linear_3D_affine_parametric_conversion
  - proj_create_derived_projected_crs
  - proj_crs_add_horizontal_derived_conversion
  source_file: /src/PROJ/src/iso19111/c_api.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: objects
        type: std::vector<IdentifiedObjectNNPtr>
      item_type: struct
      name: PJ_OBJ_LIST
      pos:
        line_end: 309
        line_start: 298
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    - fields:
      - name: operationContext
        type: CoordinateOperationContextNNPtr
      item_type: struct
      name: PJ_OPERATION_FACTORY_CONTEXT
      pos:
        line_end: 8022
        line_start: 8010
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    - fields:
      - name: '*source_crs'
        type: PJ
      - name: '*target_crs'
        type: PJ
      - name: hasPreparedOperation
        type: bool
      - name: preparedOperations
        type: std::vector<PJCoordOperation>
      - name: '&getPreparedOperations(PJ_CONTEXT *ctx)'
        type: std::vector<PJCoordOperation>
      item_type: struct
      name: PJ_OPERATION_LIST
      pos:
        line_end: 8510
        line_start: 8494
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      item_type: struct
      name: PJ_INSERT_SESSION
      pos:
        line_end: 9429
        line_start: 9425
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    - fields:
      - name: '*m_ctx'
        type: PJ_CONTEXT
      - name: '*m_tempSession'
        type: PJ_INSERT_SESSION
      item_type: struct
      name: TempSessionHolder
      pos:
        line_end: 9632
        line_start: 9610
        source_file: /src/PROJ/src/iso19111/c_api.cpp
    typedefs: []
    union: []
- function_names:
  - nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::metadata::Citation>>::~nn()
  - nn<NS_PROJ::metadata::ExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicBoundingBoxPtr>::~nn()
  - nn<NS_PROJ::metadata::GeographicExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::VerticalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::TemporalExtentPtr>::~nn()
  - nn<NS_PROJ::metadata::IdentifierPtr>::~nn()
  - nn<NS_PROJ::metadata::PositionalAccuracyPtr>::~nn()
  - namespace
  - Citation::Citation
  - Citation::Citation
  - Citation::Citation
  - Citation::~Citation()
  - '&Citation::operator=(const Citation &other)'
  - '&Citation::title()'
  - GeographicExtent::GeographicExtent
  - GeographicExtent::~GeographicExtent()
  - Private
  - GeographicBoundingBox::GeographicBoundingBox
  - GeographicBoundingBox::~GeographicBoundingBox()
  - GeographicBoundingBox::westBoundLongitude
  - GeographicBoundingBox::southBoundLatitude
  - GeographicBoundingBox::eastBoundLongitude
  - GeographicBoundingBox::northBoundLatitude
  - GeographicBoundingBox::create
  - GeographicBoundingBox::_isEquivalentTo
  - GeographicBoundingBox::contains
  - GeographicBoundingBox::Private::intersects(const Private &other) const
  - GeographicBoundingBox::intersects
  - GeographicBoundingBox::intersection
  - GeographicBoundingBox::Private::intersection(const Private &otherExtent) const
  - Private
  - VerticalExtent::VerticalExtent
  - VerticalExtent::~VerticalExtent()
  - VerticalExtent::minimumValue
  - VerticalExtent::maximumValue
  - '&VerticalExtent::unit()'
  - VerticalExtent::create
  - VerticalExtent::_isEquivalentTo
  - VerticalExtent::contains
  - VerticalExtent::intersects
  - Private
  - TemporalExtent::TemporalExtent
  - TemporalExtent::~TemporalExtent()
  - '&TemporalExtent::start()'
  - '&TemporalExtent::stop()'
  - TemporalExtent::create
  - TemporalExtent::_isEquivalentTo
  - TemporalExtent::contains
  - TemporalExtent::intersects
  - Extent::Extent
  - Extent::Extent
  - Extent::~Extent()
  - '&Extent::description()'
  - '&

    Extent::geographicElements()'
  - '&

    Extent::verticalElements()'
  - '&

    Extent::temporalElements()'
  - Extent::create
  - Extent::createFromBBOX
  - Extent::_isEquivalentTo
  - Extent::contains
  - Extent::intersects
  - Extent::intersection
  - Private
  - Private
  - "Identifier::Private::setProperties(\n    const PropertyMap &properties)"
  - Identifier::Identifier
  - Identifier::Identifier
  - Identifier::Identifier
  - Identifier::~Identifier()
  - Identifier::create
  - Identifier::createFromDescription
  - '&Identifier::authority()'
  - '&Identifier::code()'
  - '&Identifier::codeSpace()'
  - '&Identifier::version()'
  - '&Identifier::description()'
  - '&Identifier::uri()'
  - Identifier::_exportToWKT
  - Identifier::_exportToJSON
  - isIgnoredChar
  - lower
  - get_ascii_replacement
  - matchesLowerCase
  - isdigit
  - Identifier::canonicalizeName
  - Identifier::isEquivalentName
  - Identifier::isEquivalentName
  - PositionalAccuracy::PositionalAccuracy
  - PositionalAccuracy::~PositionalAccuracy()
  - '&PositionalAccuracy::value()'
  - PositionalAccuracy::create
  source_file: /src/PROJ/src/iso19111/metadata.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: title
        type: optional<std::string>
      item_type: struct
      name: Citation::Private
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields: []
      item_type: struct
      name: GeographicExtent::Private
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: west_
        type: double
      - name: south_
        type: double
      - name: east_
        type: double
      - name: north_
        type: double
      - name: intersects(const Private &other) const
        type: bool
      - name: intersection(const Private &other) const
        type: std::unique_ptr<Private>
      item_type: struct
      name: GeographicBoundingBox::Private
      pos:
        line_end: 149
        line_start: 137
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: minimum_
        type: double
      - name: maximum_
        type: double
      - name: unit_
        type: common::UnitOfMeasureNNPtr
      item_type: struct
      name: VerticalExtent::Private
      pos:
        line_end: 506
        line_start: 498
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: start_
        type: std::string
      - name: stop_
        type: std::string
      item_type: struct
      name: TemporalExtent::Private
      pos:
        line_end: 603
        line_start: 597
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: description_
        type: optional<std::string>
      - name: geographicElements_
        type: std::vector<GeographicExtentNNPtr>
      - name: verticalElements_
        type: std::vector<VerticalExtentNNPtr>
      - name: temporalElements_
        type: std::vector<TemporalExtentNNPtr>
      item_type: struct
      name: Extent::Private
      pos:
        line_end: 680
        line_start: 675
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: authority_
        type: optional<Citation>
      - name: code_
        type: std::string
      - name: codeSpace_
        type: optional<std::string>
      - name: version_
        type: optional<std::string>
      - name: description_
        type: optional<std::string>
      - name: uri_
        type: optional<std::string>
      - name: setProperties(const PropertyMap &properties)
        type: void
      item_type: struct
      name: Identifier::Private
      pos:
        line_end: 932
        line_start: 914
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: '*utf8'
        type: char
      - name: ascii
        type: char
      item_type: struct
      name: utf8_to_lower
      pos:
        line_end: 1227
        line_start: 1224
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    - fields:
      - name: value_
        type: std::string
      item_type: struct
      name: PositionalAccuracy::Private
      pos:
        line_end: 1526
        line_start: 1524
        source_file: /src/PROJ/src/iso19111/metadata.cpp
    typedefs: []
    union: []
- function_names:
  - nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - nn<NS_PROJ::cs::MeridianPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemAxisPtr>::~nn()
  - nn<NS_PROJ::cs::CoordinateSystemPtr>::~nn()
  - nn<NS_PROJ::cs::SphericalCSPtr>::~nn()
  - nn<NS_PROJ::cs::EllipsoidalCSPtr>::~nn()
  - nn<NS_PROJ::cs::CartesianCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalCountCSPtr>::~nn()
  - nn<NS_PROJ::cs::TemporalMeasureCSPtr>::~nn()
  - nn<NS_PROJ::cs::DateTimeTemporalCSPtr>::~nn()
  - nn<NS_PROJ::cs::VerticalCSPtr>::~nn()
  - nn<NS_PROJ::cs::ParametricCSPtr>::~nn()
  - nn<NS_PROJ::cs::OrdinalCSPtr>::~nn()
  - namespace
  - Private
  - Meridian::Meridian
  - Meridian::Meridian
  - Meridian::~Meridian()
  - '&Meridian::longitude()'
  - Meridian::create
  - Meridian::_exportToWKT
  - Meridian::_exportToJSON
  - CoordinateSystemAxis::CoordinateSystemAxis
  - CoordinateSystemAxis::CoordinateSystemAxis
  - CoordinateSystemAxis::~CoordinateSystemAxis()
  - '&CoordinateSystemAxis::abbreviation()'
  - '&CoordinateSystemAxis::direction()'
  - '&CoordinateSystemAxis::unit()'
  - '&

    CoordinateSystemAxis::minimumValue()'
  - '&

    CoordinateSystemAxis::maximumValue()'
  - '&

    CoordinateSystemAxis::rangeMeaning()'
  - '&CoordinateSystemAxis::meridian()'
  - CoordinateSystemAxis::create
  - CoordinateSystemAxis::create
  - CoordinateSystemAxis::_exportToWKT
  - CoordinateSystemAxis::normalizeAxisName
  - CoordinateSystemAxis::_exportToWKT
  - CoordinateSystemAxis::_exportToJSON
  - CoordinateSystemAxis::_isEquivalentTo
  - CoordinateSystemAxis::alterUnit
  - Private
  - CoordinateSystem::CoordinateSystem
  - CoordinateSystem::CoordinateSystem
  - CoordinateSystem::~CoordinateSystem()
  - '&

    CoordinateSystem::axisList()'
  - CoordinateSystem::_exportToWKT
  - CoordinateSystem::_exportToJSON
  - CoordinateSystem::_isEquivalentTo
  - InvalidCoordinateSystem::InvalidCoordinateSystem
  - InvalidCoordinateSystem::InvalidCoordinateSystem
  - InvalidCoordinateSystem::InvalidCoordinateSystem
  - InvalidCoordinateSystem::~InvalidCoordinateSystem()
  - SphericalCS::~SphericalCS()
  - SphericalCS::SphericalCS
  - SphericalCS::SphericalCS
  - SphericalCS::create
  - SphericalCS::create
  - EllipsoidalCS::~EllipsoidalCS()
  - EllipsoidalCS::EllipsoidalCS
  - EllipsoidalCS::EllipsoidalCS
  - EllipsoidalCS::create
  - EllipsoidalCS::create
  - CoordinateSystemAxis::createLAT_NORTH
  - CoordinateSystemAxis::createLONG_EAST
  - EllipsoidalCS::createLatitudeLongitude
  - EllipsoidalCS::createLatitudeLongitudeEllipsoidalHeight
  - EllipsoidalCS::createLongitudeLatitude
  - EllipsoidalCS::createLongitudeLatitudeEllipsoidalHeight
  - EllipsoidalCS::axisOrder
  - EllipsoidalCS::alterAngularUnit
  - EllipsoidalCS::alterLinearUnit
  - VerticalCS::~VerticalCS()
  - VerticalCS::VerticalCS
  - VerticalCS::VerticalCS
  - VerticalCS::create
  - VerticalCS::createGravityRelatedHeight
  - VerticalCS::alterUnit
  - CartesianCS::~CartesianCS()
  - CartesianCS::CartesianCS
  - CartesianCS::CartesianCS
  - CartesianCS::create
  - CartesianCS::create
  - CartesianCS::createEastingNorthing
  - CartesianCS::createNorthingEasting
  - CartesianCS::createWestingSouthing
  - CartesianCS::createNorthPoleEastingSouthNorthingSouth
  - CartesianCS::createSouthPoleEastingNorthNorthingNorth
  - CartesianCS::createGeocentric
  - CartesianCS::alterUnit
  - AffineCS::~AffineCS()
  - AffineCS::AffineCS
  - AffineCS::create
  - AffineCS::create
  - AffineCS::alterUnit
  - OrdinalCS::~OrdinalCS()
  - OrdinalCS::OrdinalCS
  - OrdinalCS::OrdinalCS
  - OrdinalCS::create
  - ParametricCS::~ParametricCS()
  - ParametricCS::ParametricCS
  - ParametricCS::ParametricCS
  - ParametricCS::create
  - AxisDirection::AxisDirection
  - AxisDirection::valueOf
  - RangeMeaning::RangeMeaning
  - RangeMeaning::RangeMeaning
  - RangeMeaning::valueOf
  - AxisDirectionWKT1::AxisDirectionWKT1
  - AxisDirectionWKT1::valueOf
  - TemporalCS::~TemporalCS()
  - TemporalCS::TemporalCS
  - DateTimeTemporalCS::~DateTimeTemporalCS()
  - DateTimeTemporalCS::DateTimeTemporalCS
  - DateTimeTemporalCS::create
  - DateTimeTemporalCS::getWKT2Type
  - TemporalCountCS::~TemporalCountCS()
  - TemporalCountCS::TemporalCountCS
  - TemporalCountCS::create
  - TemporalCountCS::getWKT2Type
  - TemporalMeasureCS::~TemporalMeasureCS()
  - TemporalMeasureCS::TemporalMeasureCS
  - TemporalMeasureCS::create
  - TemporalMeasureCS::getWKT2Type
  source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: longitude_
        type: common::Angle
      item_type: struct
      name: Meridian::Private
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - fields:
      - name: abbreviation
        type: std::string
      - name: '*direction'
        type: AxisDirection
      - name: unit
        type: common::UnitOfMeasure
      - name: rangeMeaning
        type: util::optional<RangeMeaning>
      - name: minimumValue
        type: util::optional<double>
      - name: maximumValue
        type: util::optional<double>
      - name: meridian
        type: MeridianPtr
      item_type: struct
      name: CoordinateSystemAxis::Private
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    - fields:
      - name: axisList
        type: std::vector<CoordinateSystemAxisNNPtr>
      item_type: struct
      name: CoordinateSystem::Private
      pos:
        line_end: 594
        line_start: 589
        source_file: /src/PROJ/src/iso19111/coordinatesystem.cpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - replaceAll
  - EQUALN
  - ci_equal
  - ci_equal
  - ci_equal
  - ci_less
  - tolower
  - toupper
  - stripQuotes
  - ci_find
  - ci_find
  - ci_starts_with
  - ci_starts_with
  - ends_with
  - c_locale_stod
  - c_locale_stod
  - split
  - split
  - toString
  - toString
  - toString
  - toString
  - concat
  - concat
  - getRoundedEpochInDecimalYear
  source_file: /src/PROJ/src/iso19111/internal.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WKTConstants::createAndAddToConstantList
  - DEFINE_WKT_CONSTANT
  source_file: /src/PROJ/src/iso19111/static.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M_PI
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/src/iso19111/static.cpp
      type_or_value: '3.14159265358979323846'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nn<NS_PROJ::datum::DatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumPtr>::~nn()
  - nn<NS_PROJ::datum::DatumEnsemblePtr>::~nn()
  - nn<NS_PROJ::datum::PrimeMeridianPtr>::~nn()
  - nn<NS_PROJ::datum::EllipsoidPtr>::~nn()
  - nn<NS_PROJ::datum::GeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicGeodeticReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::VerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::DynamicVerticalReferenceFramePtr>::~nn()
  - nn<NS_PROJ::datum::EngineeringDatumPtr>::~nn()
  - nn<NS_PROJ::datum::TemporalDatumPtr>::~nn()
  - nn<NS_PROJ::datum::ParametricDatumPtr>::~nn()
  - namespace
  - createMapNameEPSGCode
  - Datum::Private::exportAnchorDefinition(io::WKTFormatter *formatter) const
  - Datum::Private::exportAnchorEpoch(io::WKTFormatter *formatter) const
  - "Datum::Private::exportAnchorDefinition(\n    io::JSONFormatter *formatter) const"
  - Datum::Private::exportAnchorEpoch(io::JSONFormatter *formatter) const
  - Datum::Datum
  - Datum::Datum
  - Datum::~Datum()
  - '&Datum::anchorDefinition() const'
  - '&Datum::anchorEpoch() const'
  - '&Datum::publicationDate() const'
  - '&Datum::conventionalRS() const'
  - Datum::setAnchor
  - Datum::setAnchorEpoch
  - Datum::setProperties
  - Datum::_isEquivalentTo
  - Private
  - PrimeMeridian::PrimeMeridian
  - PrimeMeridian::PrimeMeridian
  - PrimeMeridian::~PrimeMeridian()
  - '&PrimeMeridian::longitude()'
  - PrimeMeridian::create
  - PrimeMeridian::createGREENWICH
  - PrimeMeridian::createREFERENCE_MERIDIAN
  - PrimeMeridian::createPARIS
  - PrimeMeridian::_exportToWKT
  - PrimeMeridian::_exportToJSON
  - PrimeMeridian::getPROJStringWellKnownName
  - PrimeMeridian::_exportToPROJString
  - PrimeMeridian::_isEquivalentTo
  - Private
  - Private
  - Private
  - Ellipsoid::Ellipsoid
  - Ellipsoid::Ellipsoid
  - Ellipsoid::Ellipsoid
  - Ellipsoid::Ellipsoid
  - Ellipsoid::~Ellipsoid()
  - Ellipsoid::Ellipsoid
  - '&Ellipsoid::semiMajorAxis()'
  - '&

    Ellipsoid::inverseFlattening()'
  - '&

    Ellipsoid::semiMinorAxis()'
  - Ellipsoid::isSphere
  - '&

    Ellipsoid::semiMedianAxis()'
  - Ellipsoid::computedInverseFlattening
  - Ellipsoid::squaredEccentricity
  - Ellipsoid::computeSemiMinorAxis
  - '&Ellipsoid::celestialBody()'
  - Ellipsoid::createSphere
  - Ellipsoid::createFlattenedSphere
  - Ellipsoid::createTwoAxis
  - Ellipsoid::createCLARKE_1866
  - Ellipsoid::createWGS84
  - Ellipsoid::createGRS1980
  - Ellipsoid::_exportToWKT
  - Ellipsoid::_exportToJSON
  - Ellipsoid::lookForProjWellKnownEllps
  - Ellipsoid::_exportToPROJString
  - Ellipsoid::identify
  - Ellipsoid::_isEquivalentTo
  - Ellipsoid::guessBodyName
  - Private
  - GeodeticReferenceFrame::GeodeticReferenceFrame
  - GeodeticReferenceFrame::GeodeticReferenceFrame
  - GeodeticReferenceFrame::~GeodeticReferenceFrame()
  - '&

    GeodeticReferenceFrame::primeMeridian()'
  - '&GeodeticReferenceFrame::ellipsoid()'
  - GeodeticReferenceFrame::create
  - GeodeticReferenceFrame::create
  - GeodeticReferenceFrame::createEPSG_6267
  - GeodeticReferenceFrame::createEPSG_6269
  - GeodeticReferenceFrame::createEPSG_6326
  - GeodeticReferenceFrame::_exportToWKT
  - GeodeticReferenceFrame::_exportToJSON
  - GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck
  - GeodeticReferenceFrame::_isEquivalentTo
  - GeodeticReferenceFrame::hasEquivalentNameToUsingAlias
  - Private
  - DynamicGeodeticReferenceFrame::DynamicGeodeticReferenceFrame
  - DynamicGeodeticReferenceFrame::DynamicGeodeticReferenceFrame
  - DynamicGeodeticReferenceFrame::~DynamicGeodeticReferenceFrame()
  - '&

    DynamicGeodeticReferenceFrame::frameReferenceEpoch() const'
  - '&

    DynamicGeodeticReferenceFrame::deformationModelName() const'
  - DynamicGeodeticReferenceFrame::_isEquivalentTo
  - DynamicGeodeticReferenceFrame::_exportToWKT
  - DynamicGeodeticReferenceFrame::create
  - Private
  - DatumEnsemble::DatumEnsemble
  - DatumEnsemble::DatumEnsemble
  - DatumEnsemble::~DatumEnsemble()
  - '&DatumEnsemble::datums() const'
  - '&

    DatumEnsemble::positionalAccuracy() const'
  - DatumEnsemble::ensembleNameToNonEnsembleName
  - DatumEnsemble::asDatum
  - DatumEnsemble::_exportToWKT
  - DatumEnsemble::_exportToJSON
  - DatumEnsemble::create
  - RealizationMethod::RealizationMethod
  - '&

    RealizationMethod::operator=(const RealizationMethod &other)'
  - VerticalReferenceFrame::VerticalReferenceFrame
  - VerticalReferenceFrame::~VerticalReferenceFrame()
  - '&

    VerticalReferenceFrame::realizationMethod() const'
  - VerticalReferenceFrame::create
  - VerticalReferenceFrame::create
  - '&VerticalReferenceFrame::getWKT1DatumType() const'
  - VerticalReferenceFrame::_exportToWKT
  - VerticalReferenceFrame::_exportToJSON
  - VerticalReferenceFrame::isEquivalentToNoExactTypeCheck
  - VerticalReferenceFrame::_isEquivalentTo
  - Private
  - DynamicVerticalReferenceFrame::DynamicVerticalReferenceFrame
  - DynamicVerticalReferenceFrame::DynamicVerticalReferenceFrame
  - DynamicVerticalReferenceFrame::~DynamicVerticalReferenceFrame()
  - '&

    DynamicVerticalReferenceFrame::frameReferenceEpoch() const'
  - '&

    DynamicVerticalReferenceFrame::deformationModelName() const'
  - DynamicVerticalReferenceFrame::_isEquivalentTo
  - DynamicVerticalReferenceFrame::_exportToWKT
  - DynamicVerticalReferenceFrame::create
  - Private
  - TemporalDatum::TemporalDatum
  - TemporalDatum::~TemporalDatum()
  - '&TemporalDatum::temporalOrigin() const'
  - '&TemporalDatum::calendar() const'
  - TemporalDatum::create
  - TemporalDatum::_exportToWKT
  - TemporalDatum::_exportToJSON
  - TemporalDatum::_isEquivalentTo
  - EngineeringDatum::EngineeringDatum
  - EngineeringDatum::~EngineeringDatum()
  - EngineeringDatum::create
  - EngineeringDatum::_exportToWKT
  - EngineeringDatum::_exportToJSON
  - EngineeringDatum::_isEquivalentTo
  - ParametricDatum::ParametricDatum
  - ParametricDatum::~ParametricDatum()
  - ParametricDatum::create
  - ParametricDatum::_exportToWKT
  - ParametricDatum::_exportToJSON
  - ParametricDatum::_isEquivalentTo
  source_file: /src/PROJ/src/iso19111/datum.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: anchorDefinition
        type: util::optional<std::string>
      - name: anchorEpoch
        type: std::shared_ptr<util::optional<common::Measure>>
      - name: publicationDate
        type: util::optional<common::DateTime>
      - name: conventionalRS
        type: common::IdentifiedObjectPtr
      - name: exportAnchorDefinition(io::WKTFormatter *formatter) const
        type: void
      - name: exportAnchorEpoch(io::WKTFormatter *formatter) const
        type: void
      - name: exportAnchorDefinition(io::JSONFormatter *formatter) const
        type: void
      - name: exportAnchorEpoch(io::JSONFormatter *formatter) const
        type: void
      item_type: struct
      name: Datum::Private
      pos:
        line_end: 108
        line_start: 90
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: longitude_
        type: common::Angle
      item_type: struct
      name: PrimeMeridian::Private
      pos:
        line_end: 337
        line_start: 333
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: semiMajorAxis_
        type: common::Length
      - name: inverseFlattening_
        type: util::optional<common::Scale>
      - name: semiMinorAxis_
        type: util::optional<common::Length>
      - name: semiMedianAxis_
        type: util::optional<common::Length>
      - name: celestialBody_
        type: std::string
      item_type: struct
      name: Ellipsoid::Private
      pos:
        line_end: 592
        line_start: 570
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: primeMeridian_
        type: PrimeMeridianNNPtr
      - name: ellipsoid_
        type: EllipsoidNNPtr
      item_type: struct
      name: GeodeticReferenceFrame::Private
      pos:
        line_end: 1225
        line_start: 1218
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: frameReferenceEpoch
        type: common::Measure
      - name: deformationModelName
        type: util::optional<std::string>
      item_type: struct
      name: DynamicGeodeticReferenceFrame::Private
      pos:
        line_end: 1720
        line_start: 1714
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: datums
        type: std::vector<DatumNNPtr>
      - name: positionalAccuracy
        type: metadata::PositionalAccuracyNNPtr
      item_type: struct
      name: DatumEnsemble::Private
      pos:
        line_end: 1869
        line_start: 1862
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: realizationMethod_
        type: util::optional<RealizationMethod>
      - name: wkt1DatumType_
        type: std::string
      item_type: struct
      name: VerticalReferenceFrame::Private
      pos:
        line_end: 2186
        line_start: 2181
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: frameReferenceEpoch
        type: common::Measure
      - name: deformationModelName
        type: util::optional<std::string>
      item_type: struct
      name: DynamicVerticalReferenceFrame::Private
      pos:
        line_end: 2420
        line_start: 2414
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields:
      - name: temporalOrigin_
        type: common::DateTime
      - name: calendar_
        type: std::string
      item_type: struct
      name: TemporalDatum::Private
      pos:
        line_end: 2566
        line_start: 2559
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields: []
      item_type: struct
      name: EngineeringDatum::Private
      pos:
        line_end: 2704
        line_start: 2704
        source_file: /src/PROJ/src/iso19111/datum.cpp
    - fields: []
      item_type: struct
      name: ParametricDatum::Private
      pos:
        line_end: 2800
        line_start: 2800
        source_file: /src/PROJ/src/iso19111/datum.cpp
    typedefs: []
    union: []
- function_names:
  - nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - nn<NS_PROJ::common::IdentifiedObjectPtr>::~nn()
  - nn<NS_PROJ::common::ObjectDomainPtr>::~nn()
  - nn<NS_PROJ::common::ObjectUsagePtr>::~nn()
  - nn<NS_PROJ::common::UnitOfMeasurePtr>::~nn()
  - namespace
  - Private
  - UnitOfMeasure::UnitOfMeasure
  - UnitOfMeasure::UnitOfMeasure
  - UnitOfMeasure::~UnitOfMeasure()
  - '&UnitOfMeasure::operator=(const UnitOfMeasure &other)'
  - UnitOfMeasure::create
  - '&UnitOfMeasure::name()'
  - UnitOfMeasure::conversionToSI
  - UnitOfMeasure::type
  - '&UnitOfMeasure::codeSpace()'
  - '&UnitOfMeasure::code()'
  - UnitOfMeasure::_exportToWKT
  - UnitOfMeasure::_exportToJSON
  - UnitOfMeasure::operator==(const UnitOfMeasure &other)
  - UnitOfMeasure::operator!=(const UnitOfMeasure &other)
  - UnitOfMeasure::exportToPROJString
  - UnitOfMeasure::_isEquivalentTo
  - Private
  - Measure::Measure
  - Measure::Measure
  - Measure::~Measure()
  - '&Measure::unit()'
  - Measure::getSIValue
  - Measure::value
  - Measure::convertToUnit
  - Measure::operator==(const Measure &other)
  - Measure::_isEquivalentTo
  - Scale::Scale
  - Scale::Scale
  - Scale::Scale
  - Scale::~Scale()
  - Angle::Angle
  - Angle::Angle
  - Angle::Angle
  - Angle::~Angle()
  - Length::Length
  - Length::Length
  - Length::Length
  - Length::~Length()
  - Private
  - DateTime::DateTime
  - DateTime::DateTime
  - DateTime::DateTime
  - '&DateTime::operator=(const DateTime &other)'
  - DateTime::~DateTime()
  - DateTime::create
  - DateTime::isISO_8601
  - DateTime::toString
  - IdentifiedObject::IdentifiedObject
  - IdentifiedObject::IdentifiedObject
  - IdentifiedObject::~IdentifiedObject()
  - '&IdentifiedObject::name()'
  - '&IdentifiedObject::nameStr()'
  - '&

    IdentifiedObject::identifiers()'
  - '&

    IdentifiedObject::aliases()'
  - IdentifiedObject::alias
  - IdentifiedObject::getEPSGCode
  - '&IdentifiedObject::remarks()'
  - IdentifiedObject::isDeprecated
  - "IdentifiedObject::Private::setName(\n    const PropertyMap &properties)"
  - "IdentifiedObject::Private::setIdentifiers(\n    const PropertyMap &properties)"
  - "IdentifiedObject::Private::setAliases(\n    const PropertyMap &properties)"
  - IdentifiedObject::setProperties
  - IdentifiedObject::formatID
  - IdentifiedObject::formatRemarks
  - IdentifiedObject::formatID
  - IdentifiedObject::formatRemarks
  - IdentifiedObject::_isEquivalentTo
  - IdentifiedObject::_isEquivalentTo
  - IdentifiedObject::hasEquivalentNameToUsingAlias
  - Private
  - ObjectDomain::ObjectDomain
  - ObjectDomain::ObjectDomain
  - ObjectDomain::~ObjectDomain()
  - '&ObjectDomain::scope()'
  - '&ObjectDomain::domainOfValidity()'
  - ObjectDomain::create
  - ObjectDomain::_exportToWKT
  - ObjectDomain::_exportToJSON
  - ObjectDomain::_isEquivalentTo
  - ObjectUsage::ObjectUsage
  - ObjectUsage::ObjectUsage
  - ObjectUsage::~ObjectUsage()
  - '&ObjectUsage::domains()'
  - ObjectUsage::setProperties
  - ObjectUsage::baseExportToWKT
  - ObjectUsage::baseExportToJSON
  - ObjectUsage::_isEquivalentTo
  - Private
  - DataEpoch::DataEpoch
  - DataEpoch::DataEpoch
  - DataEpoch::DataEpoch
  - DataEpoch::~DataEpoch()
  - '&DataEpoch::coordinateEpoch() const'
  source_file: /src/PROJ/src/iso19111/common.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: name_
        type: std::string
      - name: toSI_
        type: double
      - name: type_
        type: UnitOfMeasure::Type
      - name: codeSpace_
        type: std::string
      - name: code_
        type: std::string
      item_type: struct
      name: UnitOfMeasure::Private
      pos:
        line_end: 83
        line_start: 71
        source_file: /src/PROJ/src/iso19111/common.cpp
    - fields:
      - name: value_
        type: double
      - name: unit_
        type: UnitOfMeasure
      item_type: struct
      name: Measure::Private
      pos:
        line_end: 365
        line_start: 359
        source_file: /src/PROJ/src/iso19111/common.cpp
    - fields:
      - name: str_
        type: std::string
      item_type: struct
      name: DateTime::Private
      pos:
        line_end: 547
        line_start: 543
        source_file: /src/PROJ/src/iso19111/common.cpp
    - fields:
      - name: name
        type: IdentifierNNPtr
      - name: identifiers
        type: std::vector<IdentifierNNPtr>
      - name: aliases
        type: std::vector<GenericNameNNPtr>
      - name: remarks
        type: std::string
      - name: isDeprecated
        type: bool
      - name: setIdentifiers(const PropertyMap &properties)
        type: void
      - name: setName(const PropertyMap &properties)
        type: void
      - name: setAliases(const PropertyMap &properties)
        type: void
      item_type: struct
      name: IdentifiedObject::Private
      pos:
        line_end: 618
        line_start: 608
        source_file: /src/PROJ/src/iso19111/common.cpp
    - fields:
      - name: scope_
        type: optional<std::string>
      - name: domainOfValidity_
        type: ExtentPtr
      item_type: struct
      name: ObjectDomain::Private
      pos:
        line_end: 964
        line_start: 958
        source_file: /src/PROJ/src/iso19111/common.cpp
    - fields:
      - name: domains_
        type: std::vector<ObjectDomainNNPtr>
      item_type: struct
      name: ObjectUsage::Private
      pos:
        line_end: 1159
        line_start: 1157
        source_file: /src/PROJ/src/iso19111/common.cpp
    - fields:
      - name: coordinateEpoch_
        type: Measure
      item_type: struct
      name: DataEpoch::Private
      pos:
        line_end: 1312
        line_start: 1307
        source_file: /src/PROJ/src/iso19111/common.cpp
    typedefs: []
    union: []
- function_names:
  - nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - nn<NS_PROJ::util::BaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::BoxedValuePtr>::~nn()
  - nn<NS_PROJ::util::ArrayOfBaseObjectPtr>::~nn()
  - nn<NS_PROJ::util::LocalNamePtr>::~nn()
  - nn<NS_PROJ::util::GenericNamePtr>::~nn()
  - nn<NS_PROJ::util::NameSpacePtr>::~nn()
  - namespace
  - BaseObject::BaseObject
  - BaseObject::~BaseObject()
  - BaseObjectNNPtr::~BaseObjectNNPtr()
  - '&BaseObject::operator=(BaseObject &&)'
  - BaseObject::assignSelf
  - BaseObject::shared_from_this
  - Private
  - Private
  - Private
  - BoxedValue::BoxedValue
  - BoxedValue::BoxedValue
  - BoxedValue::BoxedValue
  - BoxedValue::BoxedValue
  - BoxedValue::BoxedValue
  - BoxedValue::BoxedValue
  - BoxedValue::~BoxedValue()
  - '&BoxedValue::type() const'
  - '&BoxedValue::stringValue() const'
  - BoxedValue::integerValue
  - BoxedValue::booleanValue
  - ArrayOfBaseObject::ArrayOfBaseObject
  - ArrayOfBaseObject::~ArrayOfBaseObject()
  - ArrayOfBaseObject::add
  - ArrayOfBaseObject::begin
  - ArrayOfBaseObject::end
  - ArrayOfBaseObject::empty
  - ArrayOfBaseObject::create
  - set
  - PropertyMap::PropertyMap
  - PropertyMap::PropertyMap
  - PropertyMap::~PropertyMap()
  - PropertyMap::get
  - PropertyMap::unset
  - "&PropertyMap::set(const std::string &key,\n                              const
    BaseObjectNNPtr &val)"
  - '&PropertyMap::set(const std::string &key, const std::string &val)'
  - '&PropertyMap::set(const std::string &key, const char *val)'
  - '&PropertyMap::set(const std::string &key, int val)'
  - '&PropertyMap::set(const std::string &key, bool val)'
  - "&PropertyMap::set(const std::string &key,\n                              const
    std::vector<std::string> &arrayIn)"
  - PropertyMap::getStringValue
  - PropertyMap::getStringValue
  - GenericName::GenericName
  - GenericName::GenericName
  - GenericName::~GenericName()
  - NameSpace::NameSpace
  - NameSpace::NameSpace
  - NameSpace::~NameSpace()
  - NameSpace::isGlobal
  - NameSpace::getGlobalFromThis
  - '&NameSpace::name() const'
  - '&NameSpace::separator() const'
  - NameSpace::createGLOBAL
  - LocalName::LocalName
  - LocalName::LocalName
  - LocalName::LocalName
  - LocalName::~LocalName()
  - LocalName::scope
  - LocalName::toFullyQualifiedName
  - LocalName::toString
  - NameFactory::createNameSpace
  - NameFactory::createLocalName
  - NameFactory::createGenericName
  - CodeList::~CodeList()
  - '&CodeList::operator=(const CodeList &other)'
  - Exception::Exception
  - Exception::Exception
  - Exception::Exception
  - Exception::~Exception()
  - Exception::what
  - InvalidValueTypeException::InvalidValueTypeException
  - InvalidValueTypeException::InvalidValueTypeException
  - InvalidValueTypeException::~InvalidValueTypeException()
  - InvalidValueTypeException::InvalidValueTypeException
  - UnsupportedOperationException::UnsupportedOperationException
  - UnsupportedOperationException::UnsupportedOperationException
  - UnsupportedOperationException::~UnsupportedOperationException()
  - UnsupportedOperationException::UnsupportedOperationException
  - IComparable::~IComparable()
  - IComparable::isEquivalentTo
  source_file: /src/PROJ/src/iso19111/util.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: self_
        type: std::weak_ptr<BaseObject>
      item_type: struct
      name: BaseObject::Private
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PROJ/src/iso19111/util.cpp
    - fields:
      - name: type_
        type: BoxedValue::Type
      - name: stringValue_
        type: std::string
      - name: integerValue_
        type: int
      - name: booleanValue_
        type: bool
      item_type: struct
      name: BoxedValue::Private
      pos:
        line_end: 130
        line_start: 116
        source_file: /src/PROJ/src/iso19111/util.cpp
    - fields:
      - name: values_
        type: std::vector<BaseObjectNNPtr>
      item_type: struct
      name: ArrayOfBaseObject::Private
      pos:
        line_end: 198
        line_start: 196
        source_file: /src/PROJ/src/iso19111/util.cpp
    - fields:
      - name: list_
        type: std::list<std::pair<std::string, BaseObjectNNPtr>>
      item_type: struct
      name: PropertyMap::Private
      pos:
        line_end: 264
        line_start: 251
        source_file: /src/PROJ/src/iso19111/util.cpp
    - fields: []
      item_type: struct
      name: GenericName::Private
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/PROJ/src/iso19111/util.cpp
    - fields:
      - name: name
        type: GenericNamePtr
      - name: isGlobal
        type: bool
      - name: separator
        type: std::string
      - name: separatorHead
        type: std::string
      item_type: struct
      name: NameSpace::Private
      pos:
        line_end: 441
        line_start: 436
        source_file: /src/PROJ/src/iso19111/util.cpp
    - fields:
      - name: scope
        type: NameSpacePtr
      - name: name
        type: std::string
      item_type: struct
      name: LocalName::Private
      pos:
        line_end: 500
        line_start: 497
        source_file: /src/PROJ/src/iso19111/util.cpp
    typedefs: []
    union: []
- function_names:
  - nn<NS_PROJ::crs::CRSPtr>::~nn()
  - nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CRSPtr>::~nn()
  - nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CRSPtr>::~nn()
  - nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CRSPtr>::~nn()
  - nn<NS_PROJ::crs::SingleCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::GeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::VerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::CompoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::TemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::EngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::ParametricCRSPtr>::~nn()
  - nn<NS_PROJ::crs::BoundCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeodeticCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedGeographicCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedProjectedCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedVerticalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedTemporalCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedEngineeringCRSPtr>::~nn()
  - nn<NS_PROJ::crs::DerivedParametricCRSPtr>::~nn()
  - setNonStandardProperties
  - CRS::CRS
  - CRS::CRS
  - CRS::~CRS()
  - CRS::hasImplicitCS
  - CRS::hasOver
  - '&CRS::canonicalBoundCRS()'
  - CRS::isDynamic
  - CRS::extractGeodeticCRS
  - CRS::extractGeodeticCRSRaw
  - '&CRS::getExtensionProj4() const noexcept'
  - CRS::extractGeographicCRS
  - createPropertyMap
  - CRS::alterGeodeticCRS
  - CRS::alterCSLinearUnit
  - CRS::extractVerticalCRS
  - CRS::createBoundCRSToWGS84IfPossible
  - CRS::stripVerticalComponent
  - CRS::shallowClone
  - CRS::allowNonConformantWKT1Export
  - CRS::attachOriginalCompoundCRS
  - CRS::alterName
  - CRS::alterId
  - mustAxisOrderBeSwitchedForVisualizationInternal
  - CRS::mustAxisOrderBeSwitchedForVisualization
  - CRS::setProperties
  - CRS::applyAxisOrderReversal
  - CRS::normalizeForVisualization
  - CRS::identify
  - CRS::getNonDeprecated
  - CRS::getOriginatingAuthName
  - CRS::promoteTo3D
  - CRS::promoteTo3D
  - CRS::demoteTo2D
  - CRS::_identify
  - Private
  - SingleCRS::SingleCRS
  - SingleCRS::SingleCRS
  - SingleCRS::~SingleCRS()
  - '&SingleCRS::datum()'
  - '&SingleCRS::datumEnsemble()'
  - SingleCRS::datumNonNull
  - '&SingleCRS::coordinateSystem()'
  - SingleCRS::baseIsEquivalentTo
  - SingleCRS::exportDatumOrDatumEnsembleToWkt
  - Private
  - checkEnsembleForGeodeticCRS
  - GeodeticCRS::GeodeticCRS
  - GeodeticCRS::GeodeticCRS
  - GeodeticCRS::GeodeticCRS
  - GeodeticCRS::GeodeticCRS
  - GeodeticCRS::~GeodeticCRS()
  - GeodeticCRS::_shallowClone
  - '&GeodeticCRS::datum()'
  - GeodeticCRS::datumNonNull
  - oneDatum
  - '&GeodeticCRS::primeMeridian()'
  - '&GeodeticCRS::ellipsoid()'
  - '&

    GeodeticCRS::velocityModel()'
  - GeodeticCRS::isGeocentric
  - GeodeticCRS::isSphericalPlanetocentric
  - GeodeticCRS::create
  - GeodeticCRS::create
  - GeodeticCRS::create
  - GeodeticCRS::create
  - exportAsESRIWktCompoundCRSWithEllipsoidalHeight
  - exportAsWKT1CompoundCRSWithEllipsoidalHeight
  - GeodeticCRS::_exportToWKT
  - GeodeticCRS::addGeocentricUnitConversionIntoPROJString
  - GeodeticCRS::addAxisSwap
  - GeodeticCRS::addAngularUnitConvertAndAxisSwap
  - GeodeticCRS::_exportToPROJString
  - GeodeticCRS::addDatumInfoToPROJString
  - GeodeticCRS::_exportToJSONInternal
  - GeodeticCRS::_exportToJSON
  - getStandardCriterion
  - GeodeticCRS::_isEquivalentTo
  - GeodeticCRS::_isEquivalentToNoTypeCheck
  - createMapNameEPSGCode
  - GeodeticCRS::createEPSG_4978
  - hasCodeCompatibleOfAuthorityFactory
  - hasCodeCompatibleOfAuthorityFactory
  - GeodeticCRS::identify
  - GeodeticCRS::_identify
  - Private
  - GeographicCRS::GeographicCRS
  - GeographicCRS::GeographicCRS
  - GeographicCRS::~GeographicCRS()
  - GeographicCRS::_shallowClone
  - '&GeographicCRS::coordinateSystem()'
  - GeographicCRS::create
  - GeographicCRS::create
  - GeographicCRS::is2DPartOf3D
  - GeographicCRS::_isEquivalentTo
  - GeographicCRS::createEPSG_4267
  - GeographicCRS::createEPSG_4269
  - GeographicCRS::createEPSG_4326
  - GeographicCRS::createOGC_CRS84
  - GeographicCRS::createEPSG_4979
  - GeographicCRS::createEPSG_4807
  - GeographicCRS::demoteTo2D
  - GeographicCRS::_exportToPROJString
  - GeographicCRS::_exportToJSON
  - checkEnsembleForVerticalCRS
  - VerticalCRS::VerticalCRS
  - VerticalCRS::VerticalCRS
  - VerticalCRS::~VerticalCRS()
  - VerticalCRS::_shallowClone
  - VerticalCRS::datum
  - '&

    VerticalCRS::geoidModel()'
  - '&

    VerticalCRS::velocityModel()'
  - VerticalCRS::coordinateSystem
  - VerticalCRS::datumNonNull
  - VerticalCRS::_exportToWKT
  - VerticalCRS::_exportToPROJString
  - VerticalCRS::_exportToJSON
  - VerticalCRS::addLinearUnitConvert
  - VerticalCRS::create
  - VerticalCRS::create
  - VerticalCRS::_isEquivalentTo
  - VerticalCRS::identify
  - VerticalCRS::_identify
  - Private
  - Private
  - DerivedCRS::DerivedCRS
  - DerivedCRS::~DerivedCRS()
  - '&DerivedCRS::baseCRS()'
  - DerivedCRS::derivingConversion
  - '&

    DerivedCRS::derivingConversionRef()'
  - DerivedCRS::_isEquivalentTo
  - DerivedCRS::setDerivingConversionCRS
  - DerivedCRS::baseExportToWKT
  - DerivedCRS::_exportToJSON
  - Private
  - '&baseCRS() const'
  - '&coordinateSystem() const'
  - ProjectedCRS::ProjectedCRS
  - ProjectedCRS::ProjectedCRS
  - ProjectedCRS::~ProjectedCRS()
  - ProjectedCRS::_shallowClone
  - '&ProjectedCRS::baseCRS()'
  - '&ProjectedCRS::coordinateSystem()'
  - ProjectedCRS::_exportToWKT
  - ProjectedCRS::_exportToJSON
  - ProjectedCRS::_exportToPROJString
  - ProjectedCRS::create
  - ProjectedCRS::_isEquivalentTo
  - ProjectedCRS::alterParametersLinearUnit
  - ProjectedCRS::addUnitConvertAndAxisSwap
  - ProjectedCRS::addUnitConvertAndAxisSwap
  - ProjectedCRS::identify
  - ProjectedCRS::demoteTo2D
  - ProjectedCRS::_identify
  - InvalidCompoundCRSException::InvalidCompoundCRSException
  - InvalidCompoundCRSException::InvalidCompoundCRSException
  - InvalidCompoundCRSException::~InvalidCompoundCRSException()
  - InvalidCompoundCRSException::InvalidCompoundCRSException
  - CompoundCRS::CompoundCRS
  - CompoundCRS::CompoundCRS
  - CompoundCRS::~CompoundCRS()
  - CompoundCRS::_shallowClone
  - '&

    CompoundCRS::componentReferenceSystems()'
  - CompoundCRS::create
  - CompoundCRS::createLax
  - CompoundCRS::_exportToWKT
  - CompoundCRS::_exportToJSON
  - CompoundCRS::_exportToPROJString
  - CompoundCRS::_isEquivalentTo
  - CompoundCRS::identify
  - CompoundCRS::_identify
  - BoundCRS::Private
  - baseCRS
  - hubCRS
  - transformation
  - "BoundCRS::Private::Private(\n    const CRSNNPtr &baseCRSIn, const CRSNNPtr &hubCRSIn,\n
    \   const operation::TransformationNNPtr &transformationIn)"
  - BoundCRS::BoundCRS
  - BoundCRS::BoundCRS
  - BoundCRS::~BoundCRS()
  - BoundCRS::shallowCloneAsBoundCRS
  - BoundCRS::_shallowClone
  - '&BoundCRS::baseCRS()'
  - CRS::setCanonicalBoundCRS
  - BoundCRS::baseCRSWithCanonicalBoundCRS
  - '&BoundCRS::hubCRS()'
  - '&

    BoundCRS::transformation()'
  - BoundCRS::create
  - BoundCRS::create
  - BoundCRS::createFromTOWGS84
  - BoundCRS::createFromNadgrids
  - BoundCRS::isTOWGS84Compatible
  - BoundCRS::getHDatumPROJ4GRIDS
  - BoundCRS::getVDatumPROJ4GRIDS
  - BoundCRS::_exportToWKT
  - BoundCRS::_exportToJSON
  - BoundCRS::_exportToPROJString
  - BoundCRS::_isEquivalentTo
  - BoundCRS::_identify
  - DerivedGeodeticCRS::~DerivedGeodeticCRS()
  - DerivedGeodeticCRS::DerivedGeodeticCRS
  - DerivedGeodeticCRS::DerivedGeodeticCRS
  - DerivedGeodeticCRS::DerivedGeodeticCRS
  - DerivedGeodeticCRS::_shallowClone
  - DerivedGeodeticCRS::baseCRS
  - DerivedGeodeticCRS::create
  - DerivedGeodeticCRS::create
  - DerivedGeodeticCRS::_exportToWKT
  - DerivedGeodeticCRS::_exportToPROJString
  - DerivedGeodeticCRS::_isEquivalentTo
  - DerivedGeodeticCRS::_identify
  - DerivedGeographicCRS::~DerivedGeographicCRS()
  - DerivedGeographicCRS::DerivedGeographicCRS
  - DerivedGeographicCRS::DerivedGeographicCRS
  - DerivedGeographicCRS::_shallowClone
  - DerivedGeographicCRS::baseCRS
  - DerivedGeographicCRS::create
  - DerivedGeographicCRS::_exportToWKT
  - DerivedGeographicCRS::_exportToPROJString
  - DerivedGeographicCRS::_isEquivalentTo
  - DerivedGeographicCRS::demoteTo2D
  - DerivedGeographicCRS::_identify
  - DerivedProjectedCRS::~DerivedProjectedCRS()
  - DerivedProjectedCRS::DerivedProjectedCRS
  - DerivedProjectedCRS::DerivedProjectedCRS
  - DerivedProjectedCRS::_shallowClone
  - DerivedProjectedCRS::baseCRS
  - DerivedProjectedCRS::create
  - DerivedProjectedCRS::demoteTo2D
  - DerivedProjectedCRS::_exportToWKT
  - DerivedProjectedCRS::_isEquivalentTo
  - DerivedProjectedCRS::addUnitConvertAndAxisSwap
  - TemporalCRS::~TemporalCRS()
  - TemporalCRS::TemporalCRS
  - TemporalCRS::TemporalCRS
  - TemporalCRS::_shallowClone
  - TemporalCRS::datum
  - TemporalCRS::coordinateSystem
  - TemporalCRS::create
  - TemporalCRS::_exportToWKT
  - TemporalCRS::_exportToJSON
  - TemporalCRS::_isEquivalentTo
  - EngineeringCRS::~EngineeringCRS()
  - EngineeringCRS::EngineeringCRS
  - EngineeringCRS::EngineeringCRS
  - EngineeringCRS::_shallowClone
  - EngineeringCRS::datum
  - EngineeringCRS::create
  - EngineeringCRS::_exportToWKT
  - EngineeringCRS::_exportToJSON
  - EngineeringCRS::_isEquivalentTo
  - ParametricCRS::~ParametricCRS()
  - ParametricCRS::ParametricCRS
  - ParametricCRS::ParametricCRS
  - ParametricCRS::_shallowClone
  - ParametricCRS::datum
  - ParametricCRS::coordinateSystem
  - ParametricCRS::create
  - ParametricCRS::_exportToWKT
  - ParametricCRS::_exportToJSON
  - ParametricCRS::_isEquivalentTo
  - DerivedVerticalCRS::~DerivedVerticalCRS()
  - DerivedVerticalCRS::DerivedVerticalCRS
  - DerivedVerticalCRS::DerivedVerticalCRS
  - DerivedVerticalCRS::_shallowClone
  - DerivedVerticalCRS::baseCRS
  - DerivedVerticalCRS::create
  - DerivedVerticalCRS::_exportToWKT
  - DerivedVerticalCRS::_exportToPROJString
  - DerivedVerticalCRS::_isEquivalentTo
  - DerivedVerticalCRS::_identify
  - DerivedCRSTemplate<DerivedCRSTraits>::~DerivedCRSTemplate()
  - DerivedCRSTemplate<DerivedCRSTraits>::DerivedCRSTemplate
  - DerivedCRSTemplate<DerivedCRSTraits>::DerivedCRSTemplate
  - DerivedCRSTemplate<DerivedCRSTraits>::baseCRS
  - DerivedCRSTemplate<DerivedCRSTraits>::_shallowClone
  - DerivedCRSTemplate<DerivedCRSTraits>::create
  - DerivedCRSTemplate<DerivedCRSTraits>::className
  - DerivedCRSTemplateCheckExportToWKT
  - DerivedCRSTemplate<DerivedCRSTraits>::_exportToWKT
  - DerivedCRSTemplate<DerivedCRSTraits>::_isEquivalentTo
  - '&DerivedEngineeringCRSTraits::CRSName()'
  - '&DerivedEngineeringCRSTraits::WKTKeyword()'
  - '&DerivedEngineeringCRSTraits::WKTBaseKeyword()'
  - '&DerivedParametricCRSTraits::CRSName()'
  - '&DerivedParametricCRSTraits::WKTKeyword()'
  - '&DerivedParametricCRSTraits::WKTBaseKeyword()'
  - '&DerivedTemporalCRSTraits::CRSName()'
  - '&DerivedTemporalCRSTraits::WKTKeyword()'
  - '&DerivedTemporalCRSTraits::WKTBaseKeyword()'
  source_file: /src/PROJ/src/iso19111/crs.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: canonicalBoundCRS_
        type: BoundCRSPtr
      - name: extensionProj4_
        type: std::string
      - name: implicitCS_
        type: bool
      - name: over_
        type: bool
      - name: allowNonConformantWKT1Export_
        type: bool
      - name: originalCompoundCRS_
        type: CompoundCRSPtr
      item_type: struct
      name: CRS::Private
      pos:
        line_end: 139
        line_start: 101
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: datum
        type: datum::DatumPtr
      - name: datumEnsemble
        type: datum::DatumEnsemblePtr
      - name: coordinateSystem
        type: cs::CoordinateSystemNNPtr
      item_type: struct
      name: SingleCRS::Private
      pos:
        line_end: 1584
        line_start: 1570
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: velocityModel
        type: std::vector<operation::PointMotionOperationNNPtr>
      - name: datum_
        type: datum::GeodeticReferenceFramePtr
      item_type: struct
      name: GeodeticCRS::Private
      pos:
        line_end: 1751
        line_start: 1745
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: coordinateSystem_
        type: cs::EllipsoidalCSNNPtr
      item_type: struct
      name: GeographicCRS::Private
      pos:
        line_end: 3103
        line_start: 3098
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: geoidModel
        type: std::vector<operation::TransformationNNPtr>
      - name: velocityModel
        type: std::vector<operation::PointMotionOperationNNPtr>
      item_type: struct
      name: VerticalCRS::Private
      pos:
        line_end: 3489
        line_start: 3486
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: baseCRS_
        type: SingleCRSNNPtr
      - name: derivingConversion_
        type: operation::ConversionNNPtr
      item_type: struct
      name: DerivedCRS::Private
      pos:
        line_end: 4089
        line_start: 4076
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: baseCRS_
        type: GeodeticCRSNNPtr
      - name: cs_
        type: cs::CartesianCSNNPtr
      item_type: struct
      name: ProjectedCRS::Private
      pos:
        line_end: 4259
        line_start: 4250
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields:
      - name: components_
        type: std::vector<CRSNNPtr>
      item_type: struct
      name: CompoundCRS::Private
      pos:
        line_end: 5243
        line_start: 5241
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: DerivedGeodeticCRS::Private
      pos:
        line_end: 6392
        line_start: 6392
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: DerivedGeographicCRS::Private
      pos:
        line_end: 6573
        line_start: 6573
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: DerivedProjectedCRS::Private
      pos:
        line_end: 6768
        line_start: 6768
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: TemporalCRS::Private
      pos:
        line_end: 6979
        line_start: 6979
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: EngineeringCRS::Private
      pos:
        line_end: 7109
        line_start: 7109
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: ParametricCRS::Private
      pos:
        line_end: 7287
        line_start: 7287
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: DerivedVerticalCRS::Private
      pos:
        line_end: 7419
        line_start: 7419
        source_file: /src/PROJ/src/iso19111/crs.cpp
    - fields: []
      item_type: struct
      name: DerivedCRSTemplate<DerivedCRSTraits>::Private
      pos:
        line_end: 7563
        line_start: 7563
        source_file: /src/PROJ/src/iso19111/crs.cpp
    typedefs:
    - item_type: typedef
      name: Pair
      pos:
        line_end: 2769
        line_start: 2769
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<GeodeticCRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 3084
        line_start: 3084
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<CRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 3955
        line_start: 3955
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<VerticalCRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 4062
        line_start: 4062
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<CRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 4858
        line_start: 4858
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<ProjectedCRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 5205
        line_start: 5205
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<CRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 5595
        line_start: 5595
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<CompoundCRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 5789
        line_start: 5789
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<CRSNNPtr, int>
    - item_type: typedef
      name: Pair
      pos:
        line_end: 6236
        line_start: 6236
        source_file: /src/PROJ/src/iso19111/crs.cpp
      type: pair<CRSNNPtr, int>
    union: []
- function_names:
  - nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
    > >::~nn()
  - nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
    > >::~nn()
  - nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
    > >::~nn()
  - nn<NS_PROJ::io::DatabaseContextPtr>::~nn()
  - nn<NS_PROJ::io::AuthorityFactoryPtr>::~nn()
  - nn<std::shared_ptr<NS_PROJ::io::IPROJStringExportable>>::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::PROJStringFormatter, std::default_delete<NS_PROJ::io::PROJStringFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTFormatter, std::default_delete<NS_PROJ::io::WKTFormatter>
    > >::~nn()
  - nn<std::unique_ptr<NS_PROJ::io::WKTNode, std::default_delete<NS_PROJ::io::WKTNode>
    > >::~nn()
  - namespace
  - IWKTExportable::~IWKTExportable()
  - IWKTExportable::exportToWKT
  - WKTFormatter::create
  - WKTFormatter::create
  - WKTFormatter::~WKTFormatter()
  - '&WKTFormatter::setMultiLine(bool multiLine) noexcept'
  - '&WKTFormatter::setIndentationWidth(int width) noexcept'
  - '&

    WKTFormatter::setOutputAxis(OutputAxisRule outputAxisIn) noexcept'
  - '&WKTFormatter::setStrict(bool strictIn) noexcept'
  - WKTFormatter::isStrict
  - '&

    WKTFormatter::setAllowEllipsoidalHeightAsVerticalCRS(bool allow) noexcept'
  - WKTFormatter::isAllowedEllipsoidalHeightAsVerticalCRS
  - '&WKTFormatter::setAllowLINUNITNode(bool allow) noexcept'
  - WKTFormatter::isAllowedLINUNITNode
  - '&WKTFormatter::toString() const'
  - WKTFormatter::WKTFormatter
  - '&WKTFormatter::setOutputId(bool outputIdIn)'
  - WKTFormatter::Private::addNewLine()
  - WKTFormatter::Private::addIndentation()
  - WKTFormatter::enter
  - WKTFormatter::leave
  - WKTFormatter::isAtTopLevel
  - WKTFormatter::startNode
  - WKTFormatter::endNode
  - '&WKTFormatter::simulCurNodeHasId()'
  - WKTFormatter::Private::startNewChild()
  - WKTFormatter::addQuotedString
  - WKTFormatter::addQuotedString
  - WKTFormatter::add
  - WKTFormatter::add
  - normalizeExponent
  - normalizeExponent
  - normalizeSerializedString
  - WKTFormatter::add
  - WKTFormatter::pushOutputUnit
  - WKTFormatter::popOutputUnit
  - WKTFormatter::outputUnit
  - WKTFormatter::pushOutputId
  - WKTFormatter::popOutputId
  - WKTFormatter::outputId
  - WKTFormatter::pushHasId
  - WKTFormatter::popHasId
  - WKTFormatter::pushDisableUsage
  - WKTFormatter::popDisableUsage
  - WKTFormatter::outputUsage
  - WKTFormatter::pushAxisLinearUnit
  - WKTFormatter::popAxisLinearUnit
  - '&WKTFormatter::axisLinearUnit() const'
  - WKTFormatter::pushAxisAngularUnit
  - WKTFormatter::popAxisAngularUnit
  - '&WKTFormatter::axisAngularUnit() const'
  - WKTFormatter::outputAxis
  - WKTFormatter::outputAxisOrder
  - WKTFormatter::primeMeridianOmittedIfGreenwich
  - WKTFormatter::ellipsoidUnitOmittedIfMetre
  - WKTFormatter::primeMeridianOrParameterUnitOmittedIfSameAsAxis
  - WKTFormatter::outputCSUnitOnlyOnceIfSame
  - WKTFormatter::forceUNITKeyword
  - WKTFormatter::primeMeridianInDegree
  - WKTFormatter::idOnTopLevelOnly
  - WKTFormatter::topLevelHasId
  - WKTFormatter::version
  - WKTFormatter::use2019Keywords
  - WKTFormatter::useESRIDialect
  - '&WKTFormatter::databaseContext() const'
  - WKTFormatter::setAbridgedTransformation
  - WKTFormatter::abridgedTransformation
  - WKTFormatter::setUseDerivingConversion
  - WKTFormatter::useDerivingConversion
  - WKTFormatter::setTOWGS84Parameters
  - '&WKTFormatter::getTOWGS84Parameters() const'
  - WKTFormatter::setVDatumExtension
  - '&WKTFormatter::getVDatumExtension() const'
  - WKTFormatter::setHDatumExtension
  - '&WKTFormatter::getHDatumExtension() const'
  - WKTFormatter::setGeogCRSOfCompoundCRS
  - '&WKTFormatter::getGeogCRSOfCompoundCRS() const'
  - WKTFormatter::morphNameToESRI
  - WKTFormatter::ingestWKTNode
  - isNull
  - Private
  - '&value() PROJ_PURE_DEFN'
  - '&children() PROJ_PURE_DEFN'
  - childrenSize
  - GP
  - "&\nWKTNode::Private::lookForChild(const std::string &childName,\n                               int
    occurrence) const noexcept"
  - '&

    WKTNode::Private::lookForChild(const std::string &name) const noexcept'
  - "&\nWKTNode::Private::lookForChild(const std::string &name,\n                               const
    std::string &name2) const noexcept"
  - "&\nWKTNode::Private::lookForChild(const std::string &name,\n                               const
    std::string &name2,\n                               const std::string &name3)
    const noexcept"
  - "&WKTNode::Private::lookForChild(\n    const std::string &name, const std::string
    &name2, const std::string &name3,\n    const std::string &name4) const noexcept"
  - WKTNode::WKTNode
  - WKTNode::~WKTNode()
  - WKTNode::addChild
  - "&WKTNode::lookForChild(const std::string &childName,\n                                        int
    occurrence) const noexcept"
  - WKTNode::countChildrenOfName
  - '&WKTNode::value() const'
  - '&WKTNode::children() const'
  - skipSpace
  - WKTNode::createFrom
  - WKTNode::createFrom
  - escapeIfQuotedString
  - WKTNode::toString
  - "operator()(const std::string &lhs,\n                        const std::string
    &rhs) const noexcept"
  - Private
  - ~Private()
  - Private
  - '&operator=(const Private &)'
  - WKTParser::WKTParser
  - WKTParser::~WKTParser()
  - '&WKTParser::setStrict(bool strict)'
  - '&WKTParser::setUnsetIdentifiersIfIncompatibleDef(bool unset)'
  - WKTParser::warningList
  - WKTParser::grammarErrorList
  - WKTParser::Private::emitRecoverableWarning(const std::string &errorMsg)
  - WKTParser::Private::emitGrammarError(const std::string &errorMsg)
  - asDouble
  - ThrowNotEnoughChildren
  - ThrowNotRequiredNumberOfChildren
  - ThrowMissing
  - ThrowNotExpectedCSType
  - buildRethrow
  - WKTParser::Private::stripQuotes(const WKTNodeNNPtr &node)
  - WKTParser::Private::asDouble(const WKTNodeNNPtr &node)
  - "WKTParser::Private::buildId(const WKTNodeNNPtr &parentNode,\n                                          const
    WKTNodeNNPtr &node,\n                                          bool tolerant,
    bool removeInverseOf)"
  - "&WKTParser::Private::buildProperties(const WKTNodeNNPtr &node,\n                                                 bool
    removeInverseOf,\n                                                 bool hasName)"
  - WKTParser::Private::buildObjectDomain(const WKTNodeNNPtr &node)
  - "WKTParser::Private::buildUnit(const WKTNodeNNPtr &node,\n                                            UnitOfMeasure::Type
    type)"
  - "WKTParser::Private::buildUnitInSubNode(const WKTNodeNNPtr &node,\n                                                     UnitOfMeasure::Type
    type)"
  - WKTParser::Private::buildEllipsoid(const WKTNodeNNPtr &node)
  - "WKTParser::Private::buildPrimeMeridian(\n    const WKTNodeNNPtr &node, const
    UnitOfMeasure &defaultAngularUnit)"
  - WKTParser::Private::getAnchor(const WKTNodeNNPtr &node)
  - WKTParser::Private::getAnchorEpoch(const WKTNodeNNPtr &node)
  - fixupPrimeMeridan
  - "WKTParser::Private::buildGeodeticReferenceFrame(\n    const WKTNodeNNPtr &node,
    const PrimeMeridianNNPtr &primeMeridian,\n    const WKTNodeNNPtr &dynamicNode)"
  - "WKTParser::Private::buildDatumEnsemble(const WKTNodeNNPtr &node,\n                                       const
    PrimeMeridianPtr &primeMeridian,\n                                       bool
    expectEllipsoid)"
  - WKTParser::Private::buildMeridian(const WKTNodeNNPtr &node)
  - ThrowParsingExceptionMissingUNIT
  - "WKTParser::Private::buildAxis(const WKTNodeNNPtr &node,\n                              const
    UnitOfMeasure &unitIn,\n                              const UnitOfMeasure::Type
    &unitType,\n                              bool isGeocentric, int expectedOrderNum)"
  - ThrowParsingException
  - buildParsingExceptionInvalidAxisCount
  - "WKTParser::Private::emitRecoverableMissingUNIT(\n    const std::string &parentNodeName,
    const UnitOfMeasure &fallbackUnit)"
  - "WKTParser::Private::buildCS(const WKTNodeNNPtr &node, /* maybe null */\n                            const
    WKTNodeNNPtr &parentNode,\n                            const UnitOfMeasure &defaultAngularUnit)"
  - WKTParser::Private::getExtensionProj4(const WKTNode::Private *nodeP)
  - "WKTParser::Private::addExtensionProj4ToProp(const WKTNode::Private *nodeP,\n
    \                                                PropertyMap &props)"
  - "WKTParser::Private::buildGeodeticCRS(const WKTNodeNNPtr &node,\n                                     bool
    forceGeocentricIfNoCs)"
  - WKTParser::Private::buildDerivedGeodeticCRS(const WKTNodeNNPtr &node)
  - "WKTParser::Private::guessUnitForParameter(\n    const std::string &paramName,
    const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
  - isEPSGCodeForInterpolationParameter
  - isIntegerParameter
  - "WKTParser::Private::consumeParameters(\n    const WKTNodeNNPtr &node, bool isAbridged,\n
    \   std::vector<OperationParameterNNPtr> &parameters,\n    std::vector<ParameterValueNNPtr>
    &values,\n    const UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure
    &defaultAngularUnit)"
  - "WKTParser::Private::buildConversion(const WKTNodeNNPtr &node,\n                                    const
    UnitOfMeasure &defaultLinearUnit,\n                                    const UnitOfMeasure
    &defaultAngularUnit)"
  - dealWithEPSGCodeForInterpolationCRSParameter
  - WKTParser::Private::buildCoordinateOperation(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildPointMotionOperation(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildConcatenatedOperation(const WKTNodeNNPtr &node)
  - "WKTParser::Private::hasWebMercPROJ4String(\n    const WKTNodeNNPtr &projCRSNode,
    const WKTNodeNNPtr &projectionNode)"
  - selectSphericalOrEllipsoidal
  - "*WKTParser::Private::getESRIMapping(\n    const WKTNodeNNPtr &projCRSNode, const
    WKTNodeNNPtr &projectionNode,\n    std::map<std::string, std::string, ci_less_struct>
    &mapParamNameToValue)"
  - "WKTParser::Private::buildProjectionFromESRI(\n    const GeodeticCRSNNPtr &baseGeodCRS,
    const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode, const
    UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit,\n
    \   const ESRIMethodMapping *esriMapping,\n    std::map<std::string, std::string,
    ci_less_struct> &mapParamNameToValue)"
  - "WKTParser::Private::buildProjectionFromESRI(\n    const GeodeticCRSNNPtr &baseGeodCRS,
    const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode, const
    UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
  - "WKTParser::Private::buildProjection(\n    const GeodeticCRSNNPtr &baseGeodCRS,
    const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode, const
    UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
  - "WKTParser::Private::projectionGetParameter(const WKTNodeNNPtr &projCRSNode,\n
    \                                          const char *paramName)"
  - "WKTParser::Private::buildProjectionStandard(\n    const GeodeticCRSNNPtr &baseGeodCRS,
    const WKTNodeNNPtr &projCRSNode,\n    const WKTNodeNNPtr &projectionNode, const
    UnitOfMeasure &defaultLinearUnit,\n    const UnitOfMeasure &defaultAngularUnit)"
  - createPseudoMercator
  - WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node)
  - "WKTParser::Private::parseDynamic(const WKTNodeNNPtr &dynamicNode,\n                                      double
    &frameReferenceEpoch,\n                                      util::optional<std::string>
    &modelName)"
  - "WKTParser::Private::buildVerticalReferenceFrame(\n    const WKTNodeNNPtr &node,
    const WKTNodeNNPtr &dynamicNode)"
  - WKTParser::Private::buildTemporalDatum(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildEngineeringDatum(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildParametricDatum(const WKTNodeNNPtr &node)
  - createBoundCRSSourceTransformationCRS
  - WKTParser::Private::buildVerticalCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildDerivedVerticalCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildCompoundCRS(const WKTNodeNNPtr &node)
  - buildTransformationForBoundCRS
  - WKTParser::Private::buildBoundCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildTemporalCS(const WKTNodeNNPtr &parentNode)
  - WKTParser::Private::buildTemporalCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildDerivedTemporalCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildEngineeringCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildEngineeringCRSFromLocalCS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildDerivedEngineeringCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildParametricCS(const WKTNodeNNPtr &parentNode)
  - WKTParser::Private::buildParametricCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildDerivedParametricCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildDerivedProjectedCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::buildCoordinateMetadata(const WKTNodeNNPtr &node)
  - isGeodeticCRS
  - WKTParser::Private::buildCRS(const WKTNodeNNPtr &node)
  - WKTParser::Private::build(const WKTNodeNNPtr &node)
  - JSONParser::getAnchor
  - JSONParser::getAnchorEpoch
  - JSONParser::buildEngineeringDatum
  - JSONParser::buildParametricDatum
  - JSONParser::buildTemporalDatum
  - JSONParser::buildCRS
  - JSONParser::buildDerivedCRS
  - JSONParser::emitRecoverableWarning
  - JSONParser::JSONParser
  - '&operator=(const JSONParser &)'
  - JSONParser::JSONParser
  - '&attachDatabaseContext(const DatabaseContextPtr &dbContext)'
  - '&attachContext(PJ_CONTEXT *ctx)'
  - JSONParser::getString
  - JSONParser::getObject
  - JSONParser::getArray
  - JSONParser::getInteger
  - JSONParser::getNumber
  - JSONParser::getUnit
  - JSONParser::getName
  - JSONParser::getType
  - JSONParser::getLength
  - JSONParser::getMeasure
  - JSONParser::buildObjectDomain
  - JSONParser::buildId
  - JSONParser::buildProperties
  - JSONParser::create
  - JSONParser::buildGeodeticDatumOrDatumEnsemble
  - JSONParser::buildGeographicCRS
  - JSONParser::buildGeodeticCRS
  - JSONParser::buildProjectedCRS
  - JSONParser::buildVerticalCRS
  - JSONParser::buildCRS
  - JSONParser::buildCompoundCRS
  - JSONParser::buildConversion
  - JSONParser::buildBoundCRS
  - JSONParser::buildTransformation
  - JSONParser::buildPointMotionOperation
  - JSONParser::buildConcatenatedOperation
  - JSONParser::buildCoordinateMetadata
  - JSONParser::buildMeridian
  - JSONParser::buildAxis
  - JSONParser::buildCS
  - JSONParser::buildDatumEnsemble
  - JSONParser::buildGeodeticReferenceFrame
  - JSONParser::buildDynamicGeodeticReferenceFrame
  - JSONParser::buildVerticalReferenceFrame
  - JSONParser::buildDynamicVerticalReferenceFrame
  - JSONParser::buildPrimeMeridian
  - JSONParser::buildEllipsoid
  - isCRSURL
  - importFromCRSURL
  - importFromWMSAUTO
  - createFromURNPart
  - createFromUserInput
  - createFromUserInput
  - createFromUserInput
  - WKTParser::createFromWKT
  - '&

    WKTParser::attachDatabaseContext(const DatabaseContextPtr &dbContext)'
  - WKTParser::guessDialect
  - FormattingException::FormattingException
  - FormattingException::FormattingException
  - FormattingException::FormattingException
  - FormattingException::~FormattingException()
  - FormattingException::Throw
  - FormattingException::Throw
  - ParsingException::ParsingException
  - ParsingException::ParsingException
  - ParsingException::ParsingException
  - ParsingException::~ParsingException()
  - IPROJStringExportable::~IPROJStringExportable()
  - IPROJStringExportable::exportToPROJString
  - KeyValue
  - KeyValue
  - keyEquals
  - equals
  - operator==(const KeyValue &other) const noexcept
  - operator!=(const KeyValue &other) const noexcept
  - hasKey
  - Step::KeyValue::KeyValue(const char *keyIn, const std::string &valueIn)
  - PROJStringFormatter::PROJStringFormatter
  - PROJStringFormatter::~PROJStringFormatter()
  - PROJStringFormatter::create
  - PROJStringFormatter::setUseApproxTMerc
  - '&

    PROJStringFormatter::setMultiLine(bool multiLine) noexcept'
  - '&

    PROJStringFormatter::setIndentationWidth(int width) noexcept'
  - '&

    PROJStringFormatter::setMaxLineLength(int maxLineLength) noexcept'
  - '&PROJStringFormatter::toString() const'
  - PROJStringFormatter::convention
  - PROJStringFormatter::getStepCount
  - PROJStringFormatter::getUseApproxTMerc
  - PROJStringFormatter::setCoordinateOperationOptimizations
  - PROJStringFormatter::Private::appendToResult(const char *str)
  - PROJStringSyntaxParser
  - PROJStringFormatter::ingestPROJString
  - PROJStringFormatter::setCRSExport
  - PROJStringFormatter::getCRSExport
  - PROJStringFormatter::startInversion
  - PROJStringFormatter::stopInversion
  - PROJStringFormatter::isInverted
  - PROJStringFormatter::Private::addStep()
  - PROJStringFormatter::addStep
  - PROJStringFormatter::addStep
  - PROJStringFormatter::setCurrentStepInverted
  - PROJStringFormatter::hasParam
  - PROJStringFormatter::addNoDefs
  - PROJStringFormatter::getAddNoDefs
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - formatToString
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::addParam
  - PROJStringFormatter::setTOWGS84Parameters
  - '&PROJStringFormatter::getTOWGS84Parameters() const'
  - PROJStringFormatter::getUsedGridNames
  - PROJStringFormatter::requiresPerCoordinateInputTime
  - PROJStringFormatter::setVDatumExtension
  - '&PROJStringFormatter::getVDatumExtension() const'
  - '&PROJStringFormatter::getGeoidCRSValue() const'
  - PROJStringFormatter::setHDatumExtension
  - '&PROJStringFormatter::getHDatumExtension() const'
  - PROJStringFormatter::setGeogCRSOfCompoundCRS
  - '&

    PROJStringFormatter::getGeogCRSOfCompoundCRS() const'
  - PROJStringFormatter::setOmitProjLongLatIfPossible
  - PROJStringFormatter::omitProjLongLatIfPossible
  - PROJStringFormatter::pushOmitZUnitConversion
  - PROJStringFormatter::popOmitZUnitConversion
  - PROJStringFormatter::omitZUnitConversion
  - PROJStringFormatter::pushOmitHorizontalConversionInVertTransformation
  - PROJStringFormatter::popOmitHorizontalConversionInVertTransformation
  - PROJStringFormatter::omitHorizontalConversionInVertTransformation
  - PROJStringFormatter::setLegacyCRSToCRSContext
  - PROJStringFormatter::getLegacyCRSToCRSContext
  - '&PROJStringFormatter::setNormalizeOutput()'
  - '&PROJStringFormatter::databaseContext() const'
  - hasParamValue
  - getGlobalParamValue
  - getParamValue
  - '&getParamValueK(Step &step)'
  - hasUnusedParameters
  - PROJStringParser::PROJStringParser
  - PROJStringParser::~PROJStringParser()
  - '&

    PROJStringParser::attachDatabaseContext(const DatabaseContextPtr &dbContext)'
  - '&PROJStringParser::attachContext(PJ_CONTEXT *ctx)'
  - '&PROJStringParser::setUsePROJ4InitRules(bool enable)'
  - PROJStringParser::warningList
  - getLinearUnits
  - getLinearUnits
  - _buildUnit
  - _buildUnit
  - "PROJStringParser::Private::buildUnit(Step &step,\n                                     const
    std::string &unitsParamName,\n                                     const std::string
    &toMeterParamName)"
  - isGeographicStep
  - isGeocentricStep
  - isTopocentricStep
  - isProjectedStep
  - createMapWithUnknownName
  - PROJStringParser::Private::buildPrimeMeridian(Step &step)
  - PROJStringParser::Private::guessBodyName(double a)
  - PROJStringParser::Private::buildDatum(Step &step, const std::string &title)
  - createAxis
  - "PROJStringParser::Private::processAxisSwap(Step &step,\n                                           const
    UnitOfMeasure &unit,\n                                           int iAxisSwap,
    AxisType axisType,\n                                           bool ignorePROJAxis)"
  - "PROJStringParser::Private::buildEllipsoidalCS(\n    int iStep, int iUnitConvert,
    int iAxisSwap, bool ignorePROJAxis)"
  - "PROJStringParser::Private::buildSphericalCS(\n    int iStep, int iUnitConvert,
    int iAxisSwap, bool ignorePROJAxis)"
  - getNumericValue
  - ignoreRetVal
  - ignoreRetVal
  - "PROJStringParser::Private::buildGeodeticCRS(\n    int iStep, int iUnitConvert,
    int iAxisSwap, bool ignorePROJAxis)"
  - PROJStringParser::Private::buildGeocentricCRS(int iStep, int iUnitConvert)
  - "PROJStringParser::Private::buildBoundOrCompoundCRSIfNeeded(int iStep,\n                                                           CRSNNPtr
    crs)"
  - getAngularValue
  - is_in_stringlist
  - "PROJStringParser::Private::buildProjectedCRS(int iStep,\n                                             const
    GeodeticCRSNNPtr &geodCRS,\n                                             int iUnitConvert,
    int iAxisSwap)"
  - getExtent
  - PJContextHolder
  - ~PJContextHolder()
  - PJContextHolder
  - '&operator=(const PJContextHolder &)'
  - PJContextHolder
  - ~PJContextHolder()
  - PJContextHolder
  - '&operator=(const PJContextHolder &)'
  - PROJStringParser::createFromPROJString
  - BackupContextErrno
  - ~BackupContextErrno()
  - BackupContextErrno
  - "&\n                operator=(const BackupContextErrno &)"
  - setMessage
  - log
  - pushOutputId
  - popOutputId
  - JSONFormatter::create
  - '&JSONFormatter::setMultiLine(bool multiLine) noexcept'
  - '&JSONFormatter::setIndentationWidth(int width) noexcept'
  - '&JSONFormatter::setSchema(const std::string &schema) noexcept'
  - JSONFormatter::JSONFormatter
  - JSONFormatter::~JSONFormatter()
  - JSONFormatter::writer
  - '&JSONFormatter::databaseContext() const'
  - JSONFormatter::outputId
  - JSONFormatter::outputUsage
  - JSONFormatter::setAllowIDInImmediateChild
  - JSONFormatter::setOmitTypeInImmediateChild
  - "JSONFormatter::ObjectContext::ObjectContext(JSONFormatter &formatter,\n                                            const
    char *objectType, bool hasId)"
  - JSONFormatter::ObjectContext::~ObjectContext()
  - JSONFormatter::setAbridgedTransformation
  - JSONFormatter::abridgedTransformation
  - JSONFormatter::setAbridgedTransformationWriteSourceCRS
  - JSONFormatter::abridgedTransformationWriteSourceCRS
  - '&JSONFormatter::toString() const'
  - IJSONExportable::~IJSONExportable()
  - IJSONExportable::exportToJSON
  source_file: /src/PROJ/src/iso19111/io.cpp
  types:
    enum:
    - enumerators:
      - name: REGULAR
      - name: SOUTH_POLE
      - name: NORTH_POLE
      item_type: enum
      name: AxisType
      pos:
        line_end: 10780
        line_start: 10780
        source_file: /src/PROJ/src/iso19111/io.cpp
    preproc_defs:
    - item_type: preproc_def
      name: PROJJSON_DEFAULT_VERSION
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/src/iso19111/io.cpp
      type_or_value: JSONFormatter::PROJJSON_v0_7
    structs:
    - fields:
      - name: params_
        type: Params
      - name: dbContext_
        type: DatabaseContextPtr
      - name: indentLevel_
        type: int
      - name: level_
        type: int
      - name: stackHasChild_
        type: std::vector<bool>
      - name: stackHasId_
        type: std::vector<bool>
      - name: stackEmptyKeyword_
        type: std::vector<bool>
      - name: stackDisableUsage_
        type: std::vector<bool>
      - name: outputUnitStack_
        type: std::vector<bool>
      - name: outputIdStack_
        type: std::vector<bool>
      - name: axisLinearUnitStack_
        type: std::vector<UnitOfMeasureNNPtr>
      - name: axisAngularUnitStack_
        type: std::vector<UnitOfMeasureNNPtr>
      - name: abridgedTransformation_
        type: bool
      - name: useDerivingConversion_
        type: bool
      - name: toWGS84Parameters_
        type: std::vector<double>
      - name: hDatumExtension_
        type: std::string
      - name: vDatumExtension_
        type: std::string
      - name: geogCRSOfCompoundCRS_
        type: crs::GeographicCRSPtr
      - name: result_
        type: std::string
      - name: addNewLine()
        type: void
      - name: addIndentation()
        type: void
      - name: startNewChild()
        type: void
      item_type: struct
      name: WKTFormatter::Private
      pos:
        line_end: 185
        line_start: 136
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: convention_
        type: WKTFormatter::Convention
      - name: version_
        type: WKTFormatter::Version
      - name: multiLine_
        type: bool
      - name: strict_
        type: bool
      - name: indentWidth_
        type: int
      - name: idOnTopLevelOnly_
        type: bool
      - name: outputAxisOrder_
        type: bool
      - name: primeMeridianOmittedIfGreenwich_
        type: bool
      - name: ellipsoidUnitOmittedIfMetre_
        type: bool
      - name: primeMeridianOrParameterUnitOmittedIfSameAsAxis_
        type: bool
      - name: forceUNITKeyword_
        type: bool
      - name: outputCSUnitOnlyOnceIfSame_
        type: bool
      - name: primeMeridianInDegree_
        type: bool
      - name: use2019Keywords_
        type: bool
      - name: useESRIDialect_
        type: bool
      - name: allowEllipsoidalHeightAsVerticalCRS_
        type: bool
      - name: allowLINUNITNode_
        type: bool
      - name: outputAxis_
        type: OutputAxisRule
      item_type: struct
      name: Params
      pos:
        line_end: 156
        line_start: 137
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: value_
        type: std::string
      - name: children_
        type: std::vector<WKTNodeNNPtr>
      - name: "&lookForChild(const std::string &childName,\n                                     int
          occurrence) const noexcept"
        type: WKTNodeNNPtr
      - name: '&lookForChild(const std::string &name) const noexcept'
        type: WKTNodeNNPtr
      - name: "&lookForChild(const std::string &name,\n                                     const
          std::string &name2) const noexcept"
        type: WKTNodeNNPtr
      - name: "&lookForChild(const std::string &name,\n                                     const
          std::string &name2,\n                                     const std::string
          &name3) const noexcept"
        type: WKTNodeNNPtr
      - name: "&lookForChild(const std::string &name,\n                                     const
          std::string &name2,\n                                     const std::string
          &name3,\n                                     const std::string &name4)
          const noexcept"
        type: WKTNodeNNPtr
      item_type: struct
      name: WKTNode::Private
      pos:
        line_end: 941
        line_start: 903
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: strict_
        type: bool
      - name: unsetIdentifiersIfIncompatibleDef_
        type: bool
      - name: warningList_
        type: std::list<std::string>
      - name: grammarErrorList_
        type: std::list<std::string>
      - name: toWGS84Parameters_
        type: std::vector<double>
      - name: datumPROJ4Grids_
        type: std::string
      - name: esriStyle_
        type: bool
      - name: maybeEsriStyle_
        type: bool
      - name: dbContext_
        type: DatabaseContextPtr
      - name: geogCRSOfCompoundCRS_
        type: crs::GeographicCRSPtr
      - name: MAX_PROPERTY_SIZE
        type: unsigned int
      - name: properties_
        type: std::vector<std::unique_ptr<PropertyMap>>
      - name: emitRecoverableWarning(const std::string &warningMsg)
        type: void
      - name: emitGrammarError(const std::string &errorMsg)
        type: void
      - name: "emitRecoverableMissingUNIT(const std::string &parentNodeName,\n                                    const
          UnitOfMeasure &fallbackUnit)"
        type: void
      - name: build(const WKTNodeNNPtr &node)
        type: BaseObjectNNPtr
      - name: "buildId(const WKTNodeNNPtr &parentNode,\n                          const
          WKTNodeNNPtr &node, bool tolerant,\n                          bool removeInverseOf)"
        type: IdentifierPtr
      - name: "&buildProperties(const WKTNodeNNPtr &node,\n                                 bool
          removeInverseOf = false,\n                                 bool hasName
          = true)"
        type: PropertyMap
      - name: buildObjectDomain(const WKTNodeNNPtr &node)
        type: ObjectDomainPtr
      - name: stripQuotes(const WKTNodeNNPtr &node)
        type: std::string
      - name: asDouble(const WKTNodeNNPtr &node)
        type: double
      - name: "buildUnit(const WKTNodeNNPtr &node,\n              UnitOfMeasure::Type
          type = UnitOfMeasure::Type::UNKNOWN)"
        type: UnitOfMeasure
      - name: "buildUnitInSubNode(\n        const WKTNodeNNPtr &node,\n        common::UnitOfMeasure::Type
          type = UnitOfMeasure::Type::UNKNOWN)"
        type: UnitOfMeasure
      - name: buildEllipsoid(const WKTNodeNNPtr &node)
        type: EllipsoidNNPtr
      - name: "buildPrimeMeridian(const WKTNodeNNPtr &node,\n                       const
          UnitOfMeasure &defaultAngularUnit)"
        type: PrimeMeridianNNPtr
      - name: getAnchor(const WKTNodeNNPtr &node)
        type: optional<std::string>
      - name: getAnchorEpoch(const WKTNodeNNPtr &node)
        type: optional<common::Measure>
      - name: "parseDynamic(const WKTNodeNNPtr &dynamicNode,\n                             double
          &frameReferenceEpoch,\n                             util::optional<std::string>
          &modelName)"
        type: void
      - name: "buildGeodeticReferenceFrame(const WKTNodeNNPtr &node,\n                                const
          PrimeMeridianNNPtr &primeMeridian,\n                                const
          WKTNodeNNPtr &dynamicNode)"
        type: GeodeticReferenceFrameNNPtr
      - name: "buildDatumEnsemble(const WKTNodeNNPtr &node,\n                                          const
          PrimeMeridianPtr &primeMeridian,\n                                          bool
          expectEllipsoid)"
        type: DatumEnsembleNNPtr
      - name: buildMeridian(const WKTNodeNNPtr &node)
        type: MeridianNNPtr
      - name: "buildAxis(const WKTNodeNNPtr &node,\n                                        const
          UnitOfMeasure &unitIn,\n                                        const UnitOfMeasure::Type
          &unitType,\n                                        bool isGeocentric,\n
          \                                       int expectedOrderNum)"
        type: CoordinateSystemAxisNNPtr
      - name: "buildCS(const WKTNodeNNPtr &node, /* maybe null */\n                                  const
          WKTNodeNNPtr &parentNode,\n                                  const UnitOfMeasure
          &defaultAngularUnit)"
        type: CoordinateSystemNNPtr
      - name: "buildGeodeticCRS(const WKTNodeNNPtr &node,\n                                      bool
          forceGeocentricIfNoCs = false)"
        type: GeodeticCRSNNPtr
      - name: buildDerivedGeodeticCRS(const WKTNodeNNPtr &node)
        type: CRSNNPtr
      - name: "guessUnitForParameter(const std::string &paramName,\n                          const
          UnitOfMeasure &defaultLinearUnit,\n                          const UnitOfMeasure
          &defaultAngularUnit)"
        type: UnitOfMeasure
      - name: "consumeParameters(const WKTNodeNNPtr &node, bool isAbridged,\n                           std::vector<OperationParameterNNPtr>
          &parameters,\n                           std::vector<ParameterValueNNPtr>
          &values,\n                           const UnitOfMeasure &defaultLinearUnit,\n
          \                          const UnitOfMeasure &defaultAngularUnit)"
        type: void
      - name: getExtensionProj4(const WKTNode::Private *nodeP)
        type: std::string
      - name: "addExtensionProj4ToProp(const WKTNode::Private *nodeP,\n                                        PropertyMap
          &props)"
        type: void
      - name: "buildConversion(const WKTNodeNNPtr &node,\n                                    const
          UnitOfMeasure &defaultLinearUnit,\n                                    const
          UnitOfMeasure &defaultAngularUnit)"
        type: ConversionNNPtr
      - name: "hasWebMercPROJ4String(const WKTNodeNNPtr &projCRSNode,\n                                      const
          WKTNodeNNPtr &projectionNode)"
        type: bool
      - name: "projectionGetParameter(const WKTNodeNNPtr &projCRSNode,\n                                              const
          char *paramName)"
        type: std::string
      - name: "buildProjection(const GeodeticCRSNNPtr &baseGeodCRS,\n                                    const
          WKTNodeNNPtr &projCRSNode,\n                                    const WKTNodeNNPtr
          &projectionNode,\n                                    const UnitOfMeasure
          &defaultLinearUnit,\n                                    const UnitOfMeasure
          &defaultAngularUnit)"
        type: ConversionNNPtr
      - name: "buildProjectionStandard(const GeodeticCRSNNPtr &baseGeodCRS,\n                            const
          WKTNodeNNPtr &projCRSNode,\n                            const WKTNodeNNPtr
          &projectionNode,\n                            const UnitOfMeasure &defaultLinearUnit,\n
          \                           const UnitOfMeasure &defaultAngularUnit)"
        type: ConversionNNPtr
      - name: "*\n    getESRIMapping(const WKTNodeNNPtr &projCRSNode,\n                   const
          WKTNodeNNPtr &projectionNode,\n                   std::map<std::string,
          std::string, ci_less_struct>\n                       &mapParamNameToValue)"
        type: ESRIMethodMapping
      - name: "buildProjectionFromESRI(const GeodeticCRSNNPtr &baseGeodCRS,\n                            const
          WKTNodeNNPtr &projCRSNode,\n                            const WKTNodeNNPtr
          &projectionNode,\n                            const UnitOfMeasure &defaultLinearUnit,\n
          \                           const UnitOfMeasure &defaultAngularUnit,\n                            const
          ESRIMethodMapping *esriMapping,\n                            std::map<std::string,
          std::string, ci_less_struct>\n                                &mapParamNameToValue)"
        type: ConversionNNPtr
      - name: "buildProjectionFromESRI(const GeodeticCRSNNPtr &baseGeodCRS,\n                            const
          WKTNodeNNPtr &projCRSNode,\n                            const WKTNodeNNPtr
          &projectionNode,\n                            const UnitOfMeasure &defaultLinearUnit,\n
          \                           const UnitOfMeasure &defaultAngularUnit)"
        type: ConversionNNPtr
      - name: buildProjectedCRS(const WKTNodeNNPtr &node)
        type: ProjectedCRSNNPtr
      - name: "buildVerticalReferenceFrame(const WKTNodeNNPtr &node,\n                                const
          WKTNodeNNPtr &dynamicNode)"
        type: VerticalReferenceFrameNNPtr
      - name: buildTemporalDatum(const WKTNodeNNPtr &node)
        type: TemporalDatumNNPtr
      - name: buildEngineeringDatum(const WKTNodeNNPtr &node)
        type: EngineeringDatumNNPtr
      - name: buildParametricDatum(const WKTNodeNNPtr &node)
        type: ParametricDatumNNPtr
      - name: buildVerticalCRS(const WKTNodeNNPtr &node)
        type: CRSNNPtr
      - name: buildDerivedVerticalCRS(const WKTNodeNNPtr &node)
        type: DerivedVerticalCRSNNPtr
      - name: buildCompoundCRS(const WKTNodeNNPtr &node)
        type: CRSNNPtr
      - name: buildBoundCRS(const WKTNodeNNPtr &node)
        type: BoundCRSNNPtr
      - name: buildTemporalCS(const WKTNodeNNPtr &parentNode)
        type: TemporalCSNNPtr
      - name: buildTemporalCRS(const WKTNodeNNPtr &node)
        type: TemporalCRSNNPtr
      - name: buildDerivedTemporalCRS(const WKTNodeNNPtr &node)
        type: DerivedTemporalCRSNNPtr
      - name: buildEngineeringCRS(const WKTNodeNNPtr &node)
        type: EngineeringCRSNNPtr
      - name: buildEngineeringCRSFromLocalCS(const WKTNodeNNPtr &node)
        type: EngineeringCRSNNPtr
      - name: buildDerivedEngineeringCRS(const WKTNodeNNPtr &node)
        type: DerivedEngineeringCRSNNPtr
      - name: buildParametricCS(const WKTNodeNNPtr &parentNode)
        type: ParametricCSNNPtr
      - name: buildParametricCRS(const WKTNodeNNPtr &node)
        type: ParametricCRSNNPtr
      - name: buildDerivedParametricCRS(const WKTNodeNNPtr &node)
        type: DerivedParametricCRSNNPtr
      - name: buildDerivedProjectedCRS(const WKTNodeNNPtr &node)
        type: DerivedProjectedCRSNNPtr
      - name: buildCRS(const WKTNodeNNPtr &node)
        type: CRSPtr
      - name: buildCoordinateOperation(const WKTNodeNNPtr &node)
        type: TransformationNNPtr
      - name: buildPointMotionOperation(const WKTNodeNNPtr &node)
        type: PointMotionOperationNNPtr
      - name: buildConcatenatedOperation(const WKTNodeNNPtr &node)
        type: ConcatenatedOperationNNPtr
      - name: buildCoordinateMetadata(const WKTNodeNNPtr &node)
        type: CoordinateMetadataNNPtr
      item_type: struct
      name: WKTParser::Private
      pos:
        line_end: 1468
        line_start: 1256
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields: []
      item_type: struct
      name: ci_less_struct
      pos:
        line_end: 1263
        line_start: 1258
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: '*name'
        type: char
      - name: deg
        type: int
      - name: min
        type: int
      - name: sec
        type: double
      item_type: struct
      name: "primeMeridiansDMS[] = {\n                {\"Lisbon\", -9, 7, 54.862},
        \ {\"Bogota\", -74, 4, 51.3},\n                {\"Madrid\", -3, 41, 14.55},
        \ {\"Rome\", 12, 27, 8.4},\n                {\"Bern\", 7, 26, 22.5},      {\"Jakarta\",
        106, 48, 27.79},\n                {\"Ferro\", -17, 40, 0},      {\"Brussels\",
        4, 22, 4.71},\n                {\"Stockholm\", 18, 3, 29.8}, {\"Athens\",
        23, 42, 58.815},\n                {\"Oslo\", 10, 43, 22.5},     {\"Paris RGS\",
        2, 20, 13.95},\n                {\"Paris_RGS\", 2, 20, 13.95}}"
      pos:
        line_end: 2186
        line_start: 2181
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: name
        type: std::string
      - name: isInit
        type: bool
      - name: inverted
        type: bool
      - name: paramValues
        type: std::vector<KeyValue>
      item_type: struct
      name: Step
      pos:
        line_end: 8742
        line_start: 8696
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: key
        type: std::string
      - name: value
        type: std::string
      - name: usedByParser
        type: bool
      item_type: struct
      name: KeyValue
      pos:
        line_end: 8730
        line_start: 8701
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: convention_
        type: PROJStringFormatter::Convention
      - name: toWGS84Parameters_
        type: std::vector<double>
      - name: vDatumExtension_
        type: std::string
      - name: geoidCRSValue_
        type: std::string
      - name: hDatumExtension_
        type: std::string
      - name: geogCRSOfCompoundCRS_
        type: crs::GeographicCRSPtr
      - name: steps_
        type: std::list<Step>
      - name: globalParamValues_
        type: std::vector<Step::KeyValue>
      - name: inversionStack_
        type: std::vector<InversionStackElt>
      - name: omitProjLongLatIfPossible_
        type: bool
      - name: omitZUnitConversion_
        type: std::vector<bool>
      - name: omitHorizontalConversionInVertTransformation_
        type: std::vector<bool>
      - name: dbContext_
        type: DatabaseContextPtr
      - name: useApproxTMerc_
        type: bool
      - name: addNoDefs_
        type: bool
      - name: coordOperationOptimizations_
        type: bool
      - name: crsExport_
        type: bool
      - name: legacyCRSToCRSContext_
        type: bool
      - name: multiLine_
        type: bool
      - name: normalizeOutput_
        type: bool
      - name: indentWidth_
        type: int
      - name: indentLevel_
        type: int
      - name: maxLineLength_
        type: int
      - name: result_
        type: std::string
      - name: appendToResult(const char *str)
        type: void
      - name: addStep()
        type: void
      item_type: struct
      name: PROJStringFormatter::Private
      pos:
        line_end: 8787
        line_start: 8747
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: startIter
        type: std::list<Step>::iterator
      - name: iterValid
        type: bool
      - name: currentInversionState
        type: bool
      item_type: struct
      name: InversionStackElt
      pos:
        line_end: 8763
        line_start: 8759
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: dbContext_
        type: DatabaseContextPtr
      - name: '*ctx_'
        type: PJ_CONTEXT
      - name: usePROJ4InitRules_
        type: bool
      - name: warningList_
        type: std::vector<std::string>
      - name: projString_
        type: std::string
      - name: steps_
        type: std::vector<Step>
      - name: globalParamValues_
        type: std::vector<Step::KeyValue>
      - name: title_
        type: std::string
      - name: ignoreNadgrids_
        type: bool
      - name: guessBodyName(double a)
        type: std::string
      - name: buildPrimeMeridian(Step &step)
        type: PrimeMeridianNNPtr
      - name: "buildDatum(Step &step,\n                                           const
          std::string &title)"
        type: GeodeticReferenceFrameNNPtr
      - name: "buildGeodeticCRS(int iStep, int iUnitConvert,\n                                      int
          iAxisSwap, bool ignorePROJAxis)"
        type: GeodeticCRSNNPtr
      - name: buildGeocentricCRS(int iStep, int iUnitConvert)
        type: GeodeticCRSNNPtr
      - name: "buildProjectedCRS(int iStep, const GeodeticCRSNNPtr &geogCRS,\n                               int
          iUnitConvert, int iAxisSwap)"
        type: CRSNNPtr
      - name: buildBoundOrCompoundCRSIfNeeded(int iStep, CRSNNPtr crs)
        type: CRSNNPtr
      - name: "buildUnit(Step &step, const std::string &unitsParamName,\n                            const
          std::string &toMeterParamName)"
        type: UnitOfMeasure
      - name: "processAxisSwap(Step &step, const UnitOfMeasure &unit, int iAxisSwap,\n
          \                   AxisType axisType, bool ignorePROJAxis)"
        type: std::vector<CoordinateSystemAxisNNPtr>
      - name: "buildEllipsoidalCS(int iStep, int iUnitConvert,\n                                          int
          iAxisSwap, bool ignorePROJAxis)"
        type: EllipsoidalCSNNPtr
      - name: "buildSphericalCS(int iStep, int iUnitConvert,\n                                      int
          iAxisSwap, bool ignorePROJAxis)"
        type: SphericalCSNNPtr
      item_type: struct
      name: PROJStringParser::Private
      pos:
        line_end: 10791
        line_start: 10681
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: '*projName'
        type: char
      - name: '*convToMeter'
        type: char
      - name: '*name'
        type: char
      - name: epsgCode
        type: int
      item_type: struct
      name: LinearUnitDesc
      pos:
        line_end: 10859
        line_start: 10854
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: '*projName'
        type: char
      - name: '*gcsName'
        type: char
      - name: gcsCode
        type: int
      - name: '*datumName'
        type: char
      - name: datumCode
        type: int
      - name: '*ellipsoidName'
        type: char
      - name: ellipsoidCode
        type: int
      - name: a
        type: double
      - name: rf
        type: double
      item_type: struct
      name: DatumDesc
      pos:
        line_end: 10980
        line_start: 10970
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: '*ctx_'
        type: PJ_CONTEXT
      - name: bFree_
        type: bool
      item_type: struct
      name: PJContextHolder
      pos:
        line_end: 12441
        line_start: 12430
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: '*ctx_'
        type: PJ_CONTEXT
      - name: bFree_
        type: bool
      item_type: struct
      name: PJContextHolder
      pos:
        line_end: 12441
        line_start: 12430
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: '*m_ctxt'
        type: PJ_CONTEXT
      - name: m_last_errno
        type: int
      item_type: struct
      name: BackupContextErrno
      pos:
        line_end: 12534
        line_start: 12520
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: msg
        type: std::string
      item_type: struct
      name: Logger
      pos:
        line_end: 12767
        line_start: 12751
        source_file: /src/PROJ/src/iso19111/io.cpp
    - fields:
      - name: writer_
        type: CPLJSonStreamingWriter
      - name: dbContext_
        type: DatabaseContextPtr
      - name: stackHasId_
        type: std::vector<bool>
      - name: outputIdStack_
        type: std::vector<bool>
      - name: allowIDInImmediateChild_
        type: bool
      - name: omitTypeInImmediateChild_
        type: bool
      - name: abridgedTransformation_
        type: bool
      - name: abridgedTransformationWriteSourceCRS_
        type: bool
      - name: schema_
        type: std::string
      item_type: struct
      name: JSONFormatter::Private
      pos:
        line_end: 12987
        line_start: 12970
        source_file: /src/PROJ/src/iso19111/io.cpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - PROJBasedOperation::~PROJBasedOperation()
  - PROJBasedOperation::PROJBasedOperation
  - PROJBasedOperation::create
  - PROJBasedOperation::create
  - PROJBasedOperation::inverse
  - PROJBasedOperation::_exportToWKT
  - PROJBasedOperation::_exportToJSON
  - PROJBasedOperation::_exportToPROJString
  - PROJBasedOperation::_shallowClone
  - PROJBasedOperation::gridsNeeded
  source_file: /src/PROJ/src/iso19111/operation/projbasedoperation.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/PROJ/src/iso19111/operation/esriparammappings.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*esri_name'
        type: char
      - name: '*wkt2_name'
        type: char
      - name: epsg_code
        type: int
      - name: '*fixed_value'
        type: char
      - name: is_fixed_value
        type: bool
      item_type: struct
      name: ESRIParamMapping
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/PROJ/src/iso19111/operation/esriparammappings.hpp
    - fields:
      - name: '*esri_name'
        type: char
      - name: '*wkt2_name'
        type: char
      - name: epsg_code
        type: int
      - name: '*const params'
        type: ESRIParamMapping
      item_type: struct
      name: ESRIMethodMapping
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/PROJ/src/iso19111/operation/esriparammappings.hpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - Transformation::Transformation
  - Transformation::~Transformation()
  - Transformation::Transformation
  - '&Transformation::sourceCRS()'
  - '&Transformation::targetCRS()'
  - Transformation::shallowClone
  - Transformation::_shallowClone
  - Transformation::promoteTo3D
  - Transformation::demoteTo2D
  - Transformation::getTOWGS84Parameters
  - Transformation::create
  - Transformation::create
  - createSevenParamsTransform
  - getTransformationType
  - useOperationMethodEPSGCodeIfPresent
  - Transformation::createGeocentricTranslations
  - Transformation::createPositionVector
  - Transformation::createCoordinateFrameRotation
  - createFifteenParamsTransform
  - Transformation::createTimeDependentPositionVector
  - Transformation::createTimeDependentCoordinateFrameRotation
  - _createMolodensky
  - Transformation::createMolodensky
  - Transformation::createAbridgedMolodensky
  - Transformation::createTOWGS84
  - Transformation::createNTv2
  - _createGravityRelatedHeightToGeographic3D
  - Transformation::createGravityRelatedHeightToGeographic3D
  - Transformation::createVERTCON
  - buildAccuracyZero
  - Transformation::createLongitudeRotation
  - Transformation::createGeographic2DOffsets
  - Transformation::createGeographic3DOffsets
  - Transformation::createGeographic2DWithHeightOffsets
  - Transformation::createCartesianGridOffsets
  - Transformation::createVerticalOffset
  - Transformation::createChangeVerticalUnit
  - negate
  - createApproximateInverseIfPossible
  - "Transformation::Private::registerInv(const Transformation *thisIn,\n                                     TransformationNNPtr
    invTransform)"
  - Transformation::inverse
  - Transformation::inverseAsTransformation
  - InverseTransformation::InverseTransformation
  - InverseTransformation::~InverseTransformation()
  - InverseTransformation::create
  - InverseTransformation::inverseAsTransformation
  - InverseTransformation::_exportToWKT
  - InverseTransformation::_shallowClone
  - Transformation::_exportToWKT
  - Transformation::_exportToJSON
  - Transformation::_exportToPROJString
  source_file: /src/PROJ/src/iso19111/operation/transformation.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: forwardOperation_
        type: TransformationPtr
      - name: "registerInv(const Transformation *thisIn,\n                                           TransformationNNPtr
          invTransform)"
        type: TransformationNNPtr
      item_type: struct
      name: Transformation::Private
      pos:
        line_end: 83
        line_start: 77
        source_file: /src/PROJ/src/iso19111/operation/transformation.cpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - buildParameterValueFromMeasure
  - VectorOfValues::VectorOfValues
  - VectorOfValues::~VectorOfValues()
  - createParams
  - createParams
  - createParams
  - createParams
  - createParams
  - VectorOfParameters::~VectorOfParameters()
  source_file: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operation::getProjectionMethodMappings
  - METHOD_NAME_CODE
  - operation::getMethodNameCodes
  - PARAM_NAME_CODE
  - operation::getParamNameCodes
  - operation::getOtherMethodMappings
  - operation::getMapping
  - operation::getMapping
  - operation::getMappingFromWKT1
  - operation::getMapping
  - operation::getMappingsFromPROJName
  - operation::getMapping
  - operation::getMappingFromWKT1
  - operation::getProjectionMethodMappings
  - METHOD_NAME_CODE
  - operation::getMethodNameCodes
  - PARAM_NAME_CODE
  - operation::getParamNameCodes
  - operation::getOtherMethodMappings
  - operation::getMapping
  - operation::getMapping
  - operation::getMappingFromWKT1
  - operation::getMapping
  - operation::getMappingsFromPROJName
  - operation::getMapping
  - operation::getMappingFromWKT1
  source_file: /src/PROJ/src/iso19111/operation/parammappings.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - Conversion::Conversion
  - Conversion::Conversion
  - Conversion::~Conversion()
  - Conversion::shallowClone
  - Conversion::_shallowClone
  - Conversion::alterParametersLinearUnit
  - Conversion::create
  - Conversion::create
  - getUTMConversionProperty
  - createConversion
  - Conversion::create
  - Conversion::create
  - Conversion::createUTM
  - Conversion::createTransverseMercator
  - Conversion::createGaussSchreiberTransverseMercator
  - Conversion::createTransverseMercatorSouthOriented
  - Conversion::createTwoPointEquidistant
  - Conversion::createTunisiaMappingGrid
  - Conversion::createTunisiaMiningGrid
  - Conversion::createAlbersEqualArea
  - Conversion::createLambertConicConformal_1SP
  - Conversion::createLambertConicConformal_1SP_VariantB
  - Conversion::createLambertConicConformal_2SP
  - Conversion::createLambertConicConformal_2SP_Michigan
  - Conversion::createLambertConicConformal_2SP_Belgium
  - Conversion::createAzimuthalEquidistant
  - Conversion::createGuamProjection
  - Conversion::createBonne
  - Conversion::createLambertCylindricalEqualAreaSpherical
  - Conversion::createLambertCylindricalEqualArea
  - Conversion::createCassiniSoldner
  - Conversion::createEquidistantConic
  - Conversion::createEckertI
  - Conversion::createEckertII
  - Conversion::createEckertIII
  - Conversion::createEckertIV
  - Conversion::createEckertV
  - Conversion::createEckertVI
  - Conversion::createEquidistantCylindrical
  - Conversion::createEquidistantCylindricalSpherical
  - Conversion::createGall
  - Conversion::createGoodeHomolosine
  - Conversion::createInterruptedGoodeHomolosine
  - Conversion::createGeostationarySatelliteSweepX
  - Conversion::createGeostationarySatelliteSweepY
  - Conversion::createGnomonic
  - Conversion::createHotineObliqueMercatorVariantA
  - Conversion::createHotineObliqueMercatorVariantB
  - Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin
  - Conversion::createLabordeObliqueMercator
  - Conversion::createInternationalMapWorldPolyconic
  - Conversion::createKrovakNorthOriented
  - Conversion::createKrovak
  - Conversion::createLambertAzimuthalEqualArea
  - Conversion::createMillerCylindrical
  - Conversion::createMercatorVariantA
  - Conversion::createMercatorVariantB
  - Conversion::createPopularVisualisationPseudoMercator
  - Conversion::createMercatorSpherical
  - Conversion::createMollweide
  - Conversion::createNewZealandMappingGrid
  - Conversion::createObliqueStereographic
  - Conversion::createOrthographic
  - Conversion::createLocalOrthographic
  - Conversion::createAmericanPolyconic
  - Conversion::createPolarStereographicVariantA
  - Conversion::createPolarStereographicVariantB
  - Conversion::createRobinson
  - Conversion::createSinusoidal
  - Conversion::createStereographic
  - Conversion::createVanDerGrinten
  - Conversion::createWagnerI
  - Conversion::createWagnerII
  - Conversion::createWagnerIII
  - Conversion::createWagnerIV
  - Conversion::createWagnerV
  - Conversion::createWagnerVI
  - Conversion::createWagnerVII
  - Conversion::createQuadrilateralizedSphericalCube
  - Conversion::createSphericalCrossTrackHeight
  - Conversion::createEqualEarth
  - Conversion::createVerticalPerspective
  - Conversion::createPoleRotationGRIBConvention
  - Conversion::createPoleRotationNetCDFCFConvention
  - Conversion::createChangeVerticalUnit
  - Conversion::createChangeVerticalUnit
  - Conversion::createHeightDepthReversal
  - Conversion::createAxisOrderReversal
  - Conversion::createGeographicGeocentric
  - Conversion::createGeographicGeocentric
  - Conversion::createGeographicGeocentricLatitude
  - InverseConversion::InverseConversion
  - InverseConversion::~InverseConversion()
  - InverseConversion::inverseAsConversion
  - InverseConversion::create
  - InverseConversion::_shallowClone
  - isAxisOrderReversal2D
  - isAxisOrderReversal3D
  - isAxisOrderReversal
  - Conversion::inverse
  - msfn
  - tsfn
  - lcc_1sp_to_2sp_f
  - find_zero_lcc_1sp_to_2sp_f
  - DegToRad
  - RadToDeg
  - Conversion::convertToOtherMethod
  - getESRIMapping
  - getESRIMethodNameAndParams
  - Conversion::getESRIMethodName
  - Conversion::getWKT1GDALMethodName
  - Conversion::_exportToWKT
  - Conversion::_exportToJSON
  - createPROJ4WebMercator
  - createPROJExtensionFromCustomProj
  - Conversion::addWKTExtensionNode
  - Conversion::_exportToPROJString
  - Conversion::isUTM
  - Conversion::identify
  - Conversion::createGeographic2DOffsets
  - Conversion::createGeographic3DOffsets
  - Conversion::createGeographic2DWithHeightOffsets
  - Conversion::createVerticalOffset
  - Conversion::createAffineParametric
  - Conversion::createAffineParametric
  source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: Conversion::Private
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/PROJ/src/iso19111/operation/conversion.cpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - InvalidOperationEmptyIntersection::InvalidOperationEmptyIntersection
  - InvalidOperationEmptyIntersection::InvalidOperationEmptyIntersection
  - InvalidOperationEmptyIntersection::~InvalidOperationEmptyIntersection()
  - GridDescription::GridDescription
  - GridDescription::~GridDescription()
  - GridDescription::GridDescription
  - GridDescription::GridDescription
  - CoordinateOperation::CoordinateOperation
  - CoordinateOperation::CoordinateOperation
  - CoordinateOperation::~CoordinateOperation()
  - '&

    CoordinateOperation::operationVersion() const'
  - '&

    CoordinateOperation::coordinateOperationAccuracies() const'
  - CoordinateOperation::sourceCRS
  - CoordinateOperation::targetCRS
  - '&CoordinateOperation::interpolationCRS() const'
  - '&

    CoordinateOperation::sourceCoordinateEpoch() const'
  - '&

    CoordinateOperation::targetCoordinateEpoch() const'
  - CoordinateOperation::setWeakSourceTargetCRS
  - CoordinateOperation::setCRSs
  - CoordinateOperation::setCRSsUpdateInverse
  - CoordinateOperation::setInterpolationCRS
  - CoordinateOperation::setCRSs
  - CoordinateOperation::setSourceCoordinateEpoch
  - CoordinateOperation::setTargetCoordinateEpoch
  - CoordinateOperation::setAccuracies
  - CoordinateOperation::isPROJInstantiable
  - CoordinateOperation::hasBallparkTransformation
  - CoordinateOperation::setHasBallparkTransformation
  - CoordinateOperation::requiresPerCoordinateInputTime
  - CoordinateOperation::setRequiresPerCoordinateInputTime
  - CoordinateOperation::setProperties
  - CoordinateOperation::normalizeForVisualization
  - CoordinateOperation::coordinateTransformer
  - CoordinateOperation::shallowClone
  - CoordinateTransformer::CoordinateTransformer
  - CoordinateTransformer::~CoordinateTransformer()
  - CoordinateTransformer::create
  - CoordinateTransformer::transform
  - OperationMethod::OperationMethod
  - OperationMethod::OperationMethod
  - OperationMethod::~OperationMethod()
  - '&OperationMethod::formula()'
  - '&

    OperationMethod::formulaCitation()'
  - '&

    OperationMethod::parameters()'
  - OperationMethod::create
  - OperationMethod::create
  - OperationMethod::getEPSGCode
  - OperationMethod::_exportToWKT
  - OperationMethod::_exportToJSON
  - OperationMethod::_isEquivalentTo
  - GeneralParameterValue::GeneralParameterValue
  - GeneralParameterValue::GeneralParameterValue
  - GeneralParameterValue::~GeneralParameterValue()
  - Private
  - OperationParameterValue::OperationParameterValue
  - OperationParameterValue::OperationParameterValue
  - OperationParameterValue::create
  - OperationParameterValue::~OperationParameterValue()
  - '&

    OperationParameterValue::parameter()'
  - '&

    OperationParameterValue::parameterValue()'
  - OperationParameterValue::_exportToWKT
  - OperationParameterValue::_exportToWKT
  - OperationParameterValue::_exportToJSON
  - OperationParameterValue::convertFromAbridged
  - OperationParameterValue::_isEquivalentTo
  - GeneralOperationParameter::GeneralOperationParameter
  - GeneralOperationParameter::GeneralOperationParameter
  - GeneralOperationParameter::~GeneralOperationParameter()
  - OperationParameter::OperationParameter
  - OperationParameter::OperationParameter
  - OperationParameter::~OperationParameter()
  - OperationParameter::create
  - OperationParameter::_isEquivalentTo
  - OperationParameter::_exportToWKT
  - OperationParameter::getNameForEPSGCode
  - OperationParameter::getEPSGCode
  - Private
  - SingleOperation::SingleOperation
  - SingleOperation::~SingleOperation()
  - '&

    SingleOperation::parameterValues()'
  - '&SingleOperation::method()'
  - SingleOperation::setParameterValues
  - "&\nSingleOperation::parameterValue(const std::string &paramName,\n                                int
    epsg_code) const noexcept"
  - '&

    SingleOperation::parameterValue(int epsg_code) const noexcept'
  - "&\nSingleOperation::parameterValueMeasure(const std::string &paramName,\n                                       int
    epsg_code) const noexcept"
  - '&

    SingleOperation::parameterValueMeasure(int epsg_code) const noexcept'
  - SingleOperation::parameterValueNumericAsSI
  - SingleOperation::parameterValueNumeric
  - SingleOperation::parameterValueNumeric
  - SingleOperation::createPROJBased
  - SingleOperation::_isEquivalentTo
  - SingleOperation::_isEquivalentTo
  - SingleOperation::gridsNeeded
  - SingleOperation::validateParameters
  - SingleOperation::isLongitudeRotation
  - _getNTv1Filename
  - _getNTv2Filename
  - '&Transformation::getPROJ4NadgridsCompatibleFilename() const'
  - _getCTABLE2Filename
  - _getHorizontalShiftGTIFFFilename
  - _getGeocentricTranslationFilename
  - _getGeographic3DOffsetByVelocityGridFilename
  - _getVerticalOffsetByVelocityGridFilename
  - _getHeightToGeographic3DFilename
  - Transformation::isGeographic3DToGravityRelatedHeight
  - '&Transformation::getHeightToGeographic3DFilename() const'
  - createSimilarPropertiesOperation
  - createNTv1
  - createSimilarPropertiesMethod
  - isRegularVerticalGridMethod
  - SingleOperation::substitutePROJAlternativeGridNames
  - InvalidOperation::InvalidOperation
  - InvalidOperation::InvalidOperation
  - InvalidOperation::InvalidOperation
  - InvalidOperation::~InvalidOperation()
  - SingleOperation::createOperationParameterValueFromInterpolationCRS
  - SingleOperation::exportTransformationToWKT
  - extractGeographicCRSIfGeographicCRSOrEquivalent
  - ThrowExceptionNotGeodeticGeographic
  - setupPROJGeodeticSourceCRS
  - setupPROJGeodeticTargetCRS
  - SingleOperation::exportToPROJStringChangeVerticalUnit
  - SingleOperation::exportToPROJStringGeneric
  - InverseCoordinateOperation::~InverseCoordinateOperation()
  - InverseCoordinateOperation::InverseCoordinateOperation
  - InverseCoordinateOperation::setPropertiesFromForward
  - InverseCoordinateOperation::inverse
  - InverseCoordinateOperation::_exportToPROJString
  - InverseCoordinateOperation::_isEquivalentTo
  - PointMotionOperation::~PointMotionOperation()
  - PointMotionOperation::create
  - PointMotionOperation::create
  - PointMotionOperation::PointMotionOperation
  - PointMotionOperation::PointMotionOperation
  - PointMotionOperation::inverse
  - PointMotionOperation::substitutePROJAlternativeGridNames
  - '&PointMotionOperation::sourceCRS()'
  - PointMotionOperation::shallowClone
  - PointMotionOperation::_shallowClone
  - PointMotionOperation::cloneWithEpochs
  - PointMotionOperation::_exportToWKT
  - PointMotionOperation::_exportToPROJString
  - PointMotionOperation::_exportToJSON
  source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pj_'
        type: PJ
      item_type: struct
      name: CoordinateTransformer::Private
      pos:
        line_end: 519
        line_start: 517
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - fields: []
      item_type: struct
      name: GeneralParameterValue::Private
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - fields:
      - name: parameter
        type: OperationParameterNNPtr
      - name: parameterValue
        type: ParameterValueNNPtr
      item_type: struct
      name: OperationParameterValue::Private
      pos:
        line_end: 860
        line_start: 853
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - fields: []
      item_type: struct
      name: GeneralOperationParameter::Private
      pos:
        line_end: 1105
        line_start: 1105
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - fields: []
      item_type: struct
      name: OperationParameter::Private
      pos:
        line_end: 1127
        line_start: 1127
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - fields:
      - name: parameterValues_
        type: std::vector<GeneralParameterValueNNPtr>
      - name: method_
        type: OperationMethodNNPtr
      item_type: struct
      name: SingleOperation::Private
      pos:
        line_end: 1243
        line_start: 1237
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    - fields:
      - name: methodEPSGCode
        type: int
      - name: gridFilenameParamEPSGCode
        type: int
      - name: '*gridFilenameParamName'
        type: char
      item_type: struct
      name: "gridTransformations[] = {\n        {EPSG_CODE_METHOD_NEW_ZEALAND_DEFORMATION_MODEL,\n
        \        EPSG_CODE_PARAMETER_POINT_MOTION_VELOCITY_GRID_FILE,\n         EPSG_NAME_PARAMETER_POINT_MOTION_VELOCITY_GRID_FILE},\n
        \       {EPSG_CODE_METHOD_CARTESIAN_GRID_OFFSETS_BY_TIN_INTERPOLATION_JSON,\n
        \        EPSG_CODE_PARAMETER_TIN_OFFSET_FILE,\n         EPSG_NAME_PARAMETER_TIN_OFFSET_FILE},\n
        \       {EPSG_CODE_METHOD_VERTICAL_OFFSET_BY_TIN_INTERPOLATION_JSON,\n         EPSG_CODE_PARAMETER_TIN_OFFSET_FILE,\n
        \        EPSG_NAME_PARAMETER_TIN_OFFSET_FILE},\n        {EPSG_CODE_METHOD_GEOGRAPHIC2D_OFFSETS_BY_TIN_INTERPOLATION_JSON,\n
        \        EPSG_CODE_PARAMETER_TIN_OFFSET_FILE,\n         EPSG_NAME_PARAMETER_TIN_OFFSET_FILE},\n
        \   }"
      pos:
        line_end: 2782
        line_start: 2778
        source_file: /src/PROJ/src/iso19111/operation/singleoperation.cpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - '&forwardOperation() const'
  - InverseConversion::_exportToWKT
  - InverseConversion::_exportToJSON
  - InverseConversion::_exportToPROJString
  - InverseConversion::_isEquivalentTo
  - InverseConversion::inverse
  - InverseConversion::gridsNeeded
  - InverseTransformation::_exportToPROJString
  - InverseTransformation::_exportToJSON
  - InverseTransformation::_isEquivalentTo
  - InverseTransformation::inverse
  - InverseTransformation::gridsNeeded
  - PROJBasedOperation::PROJBasedOperation
  source_file: /src/PROJ/src/iso19111/operation/coordinateoperation_internal.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - VectorOfValues
  - VectorOfValues
  - VectorOfValues
  - VectorOfValues
  - VectorOfParameters
  - VectorOfParameters
  - VectorOfParameters
  source_file: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: VectorOfValues
      pos:
        line_end: 53
        line_start: 43
        source_file: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    - fields: []
      item_type: struct
      name: VectorOfParameters
      pos:
        line_end: 91
        line_start: 83
        source_file: /src/PROJ/src/iso19111/operation/vectorofvaluesparams.hpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - CRSStrongRef
  - Private
  - Private
  - '&operator=(const Private &)'
  source_file: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: operationVersion_
        type: util::optional<std::string>
      - name: coordinateOperationAccuracies_
        type: std::vector<metadata::PositionalAccuracyNNPtr>
      - name: sourceCRSWeak_
        type: std::weak_ptr<crs::CRS>
      - name: targetCRSWeak_
        type: std::weak_ptr<crs::CRS>
      - name: interpolationCRS_
        type: crs::CRSPtr
      - name: sourceCoordinateEpoch_
        type: std::shared_ptr<util::optional<common::DataEpoch>>
      - name: targetCoordinateEpoch_
        type: std::shared_ptr<util::optional<common::DataEpoch>>
      - name: hasBallparkTransformation_
        type: bool
      - name: requiresPerCoordinateInputTime_
        type: bool
      - name: strongRef_
        type: std::unique_ptr<CRSStrongRef>
      item_type: struct
      name: CoordinateOperation::Private
      pos:
        line_end: 83
        line_start: 42
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    - fields:
      - name: sourceCRS_
        type: crs::CRSNNPtr
      - name: targetCRS_
        type: crs::CRSNNPtr
      item_type: struct
      name: CRSStrongRef
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperation_private.hpp
    typedefs: []
    union: []
- function_names:
  - operation::getEsriMappings
  - operation::getMappingsFromESRI
  - operation::getEsriMappings
  - operation::getMappingsFromESRI
  source_file: /src/PROJ/src/iso19111/operation/esriparammappings.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - Private
  - Private
  - ConcatenatedOperation::~ConcatenatedOperation()
  - ConcatenatedOperation::ConcatenatedOperation
  - ConcatenatedOperation::ConcatenatedOperation
  - '&

    ConcatenatedOperation::operations() const'
  - areCRSMoreOrLessEquivalent
  - ConcatenatedOperation::create
  - ConcatenatedOperation::setCRSsUpdateInverse
  - ConcatenatedOperation::fixSteps
  - ConcatenatedOperation::createComputeMetadata
  - ConcatenatedOperation::inverse
  - ConcatenatedOperation::_exportToWKT
  - ConcatenatedOperation::_exportToJSON
  - ConcatenatedOperation::_shallowClone
  - ConcatenatedOperation::_exportToPROJString
  - ConcatenatedOperation::_isEquivalentTo
  - ConcatenatedOperation::gridsNeeded
  source_file: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: operations_
        type: std::vector<CoordinateOperationNNPtr>
      - name: computedName_
        type: bool
      item_type: struct
      name: ConcatenatedOperation::Private
      pos:
        line_end: 81
        line_start: 74
        source_file: /src/PROJ/src/iso19111/operation/concatenatedoperation.cpp
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/PROJ/src/iso19111/operation/parammappings.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wkt2_name'
        type: char
      - name: epsg_code
        type: int
      - name: '*wkt1_name'
        type: char
      - name: unit_type
        type: common::UnitOfMeasure::Type
      - name: '*proj_name'
        type: char
      item_type: struct
      name: ParamMapping
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/PROJ/src/iso19111/operation/parammappings.hpp
    - fields:
      - name: '*wkt2_name'
        type: char
      - name: epsg_code
        type: int
      - name: '*wkt1_name'
        type: char
      - name: '*proj_name_main'
        type: char
      - name: '*proj_name_aux'
        type: char
      - name: '*const *params'
        type: ParamMapping
      item_type: struct
      name: MethodMapping
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/PROJ/src/iso19111/operation/parammappings.hpp
    - fields:
      - name: '*name'
        type: char
      - name: epsg_code
        type: int
      item_type: struct
      name: MethodNameCode
      pos:
        line_end: 84
        line_start: 81
        source_file: /src/PROJ/src/iso19111/operation/parammappings.hpp
    - fields:
      - name: '*name'
        type: char
      - name: epsg_code
        type: int
      item_type: struct
      name: ParamNameCode
      pos:
        line_end: 91
        line_start: 88
        source_file: /src/PROJ/src/iso19111/operation/parammappings.hpp
    typedefs: []
    union: []
- function_names:
  - operation::createOpParamNameEPSGCode
  - operation::createMethodMapNameEPSGCode
  - operation::createMapNameEPSGCode
  - operation::createMapNameEPSGCode
  - operation::addDomains
  - operation::getCRSQualifierStr
  - operation::buildOpName
  - operation::addModifiedIdentifier
  - operation::createPropertiesForInverse
  - operation::createPropertiesForInverse
  - operation::addDefaultNameIfNeeded
  - operation::createEntryEqParam
  - operation::buildSetEquivalentParameters
  - operation::areEquivalentParameters
  - operation::isTimeDependent
  - operation::computeConcatenatedName
  - operation::getExtent
  - operation::getExtent
  - operation::getExtentPossiblySynthetized
  - operation::getExtent
  - operation::getAccuracy
  - operation::getAccuracy
  - operation::exportSourceCRSAndTargetCRSToWKT
  - operation::createOpParamNameEPSGCode
  - operation::createMethodMapNameEPSGCode
  - operation::createMapNameEPSGCode
  - operation::createMapNameEPSGCode
  - operation::addDomains
  - operation::getCRSQualifierStr
  - operation::buildOpName
  - operation::addModifiedIdentifier
  - operation::createPropertiesForInverse
  - operation::createPropertiesForInverse
  - operation::addDefaultNameIfNeeded
  - operation::createEntryEqParam
  - operation::buildSetEquivalentParameters
  - operation::areEquivalentParameters
  - operation::isTimeDependent
  - operation::computeConcatenatedName
  - operation::getExtent
  - operation::getExtent
  - operation::getExtentPossiblySynthetized
  - operation::getExtent
  - operation::getAccuracy
  - operation::getAccuracy
  - operation::exportSourceCRSAndTargetCRSToWKT
  source_file: /src/PROJ/src/iso19111/operation/oputils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/PROJ/src/iso19111/operation/oputils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - Private
  - Private
  - Private
  - Private
  - ParameterValue::~ParameterValue()
  - ParameterValue::ParameterValue
  - ParameterValue::ParameterValue
  - ParameterValue::ParameterValue
  - ParameterValue::ParameterValue
  - ParameterValue::create
  - ParameterValue::create
  - ParameterValue::create
  - ParameterValue::createFilename
  - ParameterValue::create
  - ParameterValue::create
  - '&ParameterValue::type()'
  - '&ParameterValue::value()'
  - '&ParameterValue::stringValue()'
  - '&ParameterValue::valueFile()'
  - ParameterValue::integerValue
  - ParameterValue::booleanValue
  - ParameterValue::_exportToWKT
  - ParameterValue::_isEquivalentTo
  source_file: /src/PROJ/src/iso19111/operation/parametervalue.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type_
        type: ParameterValue::Type
      - name: measure_
        type: std::unique_ptr<common::Measure>
      - name: stringValue_
        type: std::unique_ptr<std::string>
      - name: integerValue_
        type: int
      - name: booleanValue_
        type: bool
      item_type: struct
      name: ParameterValue::Private
      pos:
        line_end: 74
        line_start: 54
        source_file: /src/PROJ/src/iso19111/operation/parametervalue.cpp
    typedefs: []
    union: []
- function_names:
  - dumpWKT
  - dumpWKT
  - dumpWKT
  - dumpWKT
  - dumpWKT
  - namespace
  - objectAsStr
  - getPseudoArea
  - Private
  - Private
  - CoordinateOperationContext::~CoordinateOperationContext()
  - CoordinateOperationContext::CoordinateOperationContext
  - CoordinateOperationContext::CoordinateOperationContext
  - '&

    CoordinateOperationContext::getAuthorityFactory() const'
  - '&

    CoordinateOperationContext::getAreaOfInterest() const'
  - CoordinateOperationContext::setAreaOfInterest
  - CoordinateOperationContext::getDesiredAccuracy
  - CoordinateOperationContext::setDesiredAccuracy
  - CoordinateOperationContext::getAllowBallparkTransformations
  - CoordinateOperationContext::setAllowBallparkTransformations
  - CoordinateOperationContext::setSourceAndTargetCRSExtentUse
  - CoordinateOperationContext::getSourceAndTargetCRSExtentUse
  - CoordinateOperationContext::setSpatialCriterion
  - CoordinateOperationContext::getSpatialCriterion
  - CoordinateOperationContext::setUsePROJAlternativeGridNames
  - CoordinateOperationContext::getUsePROJAlternativeGridNames
  - CoordinateOperationContext::getDiscardSuperseded
  - CoordinateOperationContext::setDiscardSuperseded
  - CoordinateOperationContext::setGridAvailabilityUse
  - CoordinateOperationContext::getGridAvailabilityUse
  - CoordinateOperationContext::setAllowUseIntermediateCRS
  - CoordinateOperationContext::getAllowUseIntermediateCRS
  - CoordinateOperationContext::setIntermediateCRS
  - '&

    CoordinateOperationContext::getIntermediateCRS() const'
  - CoordinateOperationContext::setSourceCoordinateEpoch
  - '&

    CoordinateOperationContext::getSourceCoordinateEpoch() const'
  - CoordinateOperationContext::setTargetCoordinateEpoch
  - '&

    CoordinateOperationContext::getTargetCoordinateEpoch() const'
  - CoordinateOperationContext::create
  - CoordinateOperationContext::clone
  - Context
  - disallowEmptyIntersection
  - CoordinateOperationFactory::~CoordinateOperationFactory()
  - CoordinateOperationFactory::CoordinateOperationFactory
  - CoordinateOperationFactory::createOperation
  - isNullTransformation
  - PrecomputedOpCharacteristics
  - PrecomputedOpCharacteristics
  - SortFunction
  - compare
  - "operator()(const CoordinateOperationNNPtr &a,\n                    const CoordinateOperationNNPtr
    &b) const"
  - SortFunction
  - '&operator=(const SortFunction &)'
  - SortFunction
  - '&operator=(SortFunction &&)'
  - getStepCount
  - getTransformationStepCount
  - FilterResults
  - '&andSort()'
  - '&getRes()'
  - computeAreaOfInterest
  - filterOut
  - sort
  - removeSyntheticNullTransforms
  - removeUninterestingOps
  - removeDuplicateOps
  - filterAndSort
  - applyInverse
  - "CoordinateOperationFactory::Private::buildCRSIds(\n    const crs::CRSNNPtr &crs,
    Private::Context &context,\n    std::list<std::pair<std::string, std::string>>
    &ids)"
  - getCandidateAuthorities
  - "CoordinateOperationFactory::Private::findOpsInRegistryDirect(\n    const crs::CRSNNPtr
    &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context &context, bool
    &resNonEmptyBeforeFiltering)"
  - "CoordinateOperationFactory::Private::findOpsInRegistryDirectTo(\n    const crs::CRSNNPtr
    &targetCRS, Private::Context &context)"
  - findCandidateGeodCRSForDatum
  - isSameGeodeticDatum
  - "CoordinateOperationFactory::Private::findsOpsInRegistryWithIntermediate(\n    const
    crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
    &context,\n    bool useCreateBetweenGeodeticCRSWithDatumBasedIntermediates)"
  - AntiRecursionGuard
  - ~AntiRecursionGuard()
  - createBallparkGeographicOffset
  - MyPROJStringExportableGeodToGeod
  - _exportToPROJString
  - MyPROJStringExportableGeodToGeod::~MyPROJStringExportableGeodToGeod()
  - MyPROJStringExportableHorizVertical
  - _exportToPROJString
  - MyPROJStringExportableHorizVertical::~MyPROJStringExportableHorizVertical()
  - MyPROJStringExportableHorizVerticalHorizPROJBased
  - _exportToPROJString
  - "MyPROJStringExportableHorizVerticalHorizPROJBased::\n    ~MyPROJStringExportableHorizVerticalHorizPROJBased()"
  - MyPROJStringExportableHorizNullVertical
  - _exportToPROJString
  - "MyPROJStringExportableHorizNullVertical::\n    ~MyPROJStringExportableHorizNullVertical()"
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableGeodToGeod>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVertical>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizVerticalHorizPROJBased>>::~nn()
  - nn<std::shared_ptr<NS_PROJ::operation::MyPROJStringExportableHorizNullVertical>>::~nn()
  - namespace
  - buildTransfName
  - buildConvName
  - createPROJBased
  - createGeodToGeodPROJBased
  - getRemarks
  - createHorizVerticalPROJBased
  - createHorizVerticalHorizPROJBased
  - createHorizNullVerticalPROJBased
  - "CoordinateOperationFactory::Private::createOperationsGeogToGeog(\n    std::vector<CoordinateOperationNNPtr>
    &res, const crs::CRSNNPtr &sourceCRS,\n    const crs::CRSNNPtr &targetCRS, Private::Context
    &context,\n    const crs::GeographicCRS *geogSrc, const crs::GeographicCRS *geogDst,\n
    \   bool forceBallpark)"
  - hasIdentifiers
  - "CoordinateOperationFactory::Private::setCRSs(\n    CoordinateOperation *co, const
    crs::CRSNNPtr &sourceCRS,\n    const crs::CRSNNPtr &targetCRS)"
  - hasResultSetOnlyResultsWithPROJStep
  - "CoordinateOperationFactory::Private::createOperationsWithDatumPivot(\n    std::vector<CoordinateOperationNNPtr>
    &res, const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
    &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
    &targetEpoch,\n    const crs::GeodeticCRS *geodSrc, const crs::GeodeticCRS *geodDst,\n
    \   Private::Context &context)"
  - CreateOperationsWithDatumPivotAntiRecursion
  - ~CreateOperationsWithDatumPivotAntiRecursion()
  - createBallparkGeocentricTranslation
  - "CoordinateOperationFactory::Private::hasPerfectAccuracyResult(\n    const std::vector<CoordinateOperationNNPtr>
    &res, const Context &context)"
  - "CoordinateOperationFactory::Private::createOperations(\n    const crs::CRSNNPtr
    &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n    const
    crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch> &targetEpoch,\n
    \   Private::Context &context)"
  - RecLevelIncrementer
  - ~RecLevelIncrementer()
  - "CoordinateOperationFactory::Private::createOperationsFromProj4Ext(\n    const
    crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const crs::BoundCRS
    *boundSrc, const crs::BoundCRS *boundDst,\n    std::vector<CoordinateOperationNNPtr>
    &res)"
  - "CoordinateOperationFactory::Private::hasTooSmallAreas(\n    const std::vector<CoordinateOperationNNPtr>
    &ops,\n    const Private::Context &context)"
  - isDatumInEnsemble
  - useOnlyIntermediateCRSThroughDatumEnsembleNullOp
  - useOnlyReplacedOperations
  - "CoordinateOperationFactory::Private::createOperationsEnsembleCRSToOtherGeodCRS(\n
    \   const crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch>
    &sourceEpoch,\n    const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
    &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
    \   const crs::GeodeticCRS *geodDst)"
  - AntiRecursionGuard
  - ~AntiRecursionGuard()
  - "CoordinateOperationFactory::Private::createOperationsFromDatabase(\n    const
    crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n
    \   const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
    &targetEpoch,\n    Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
    \   const crs::GeodeticCRS *geodDst, const crs::GeographicCRS *geogSrc,\n    const
    crs::GeographicCRS *geogDst, const crs::VerticalCRS *vertSrc,\n    const crs::VerticalCRS
    *vertDst,\n    std::vector<CoordinateOperationNNPtr> &res)"
  - findCandidateVertCRSForDatum
  - "CoordinateOperationFactory::Private::createOperationsGeogToVertFromGeoid(\n    const
    crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    const crs::VerticalCRS
    *vertDst, Private::Context &context)"
  - "CoordinateOperationFactory::Private::\n    createOperationsGeogToVertWithIntermediateVert(\n
    \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
    &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
    &targetEpoch,\n        const crs::VerticalCRS *vertDst, Private::Context &context)"
  - AntiRecursionGuard
  - ~AntiRecursionGuard()
  - "CoordinateOperationFactory::Private::\n    createOperationsVertToVertWithIntermediateVert(\n
    \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
    &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
    &targetEpoch,\n        const crs::VerticalCRS *vertSrc, const crs::VerticalCRS
    *vertDst,\n        Private::Context &context)"
  - AntiRecursionGuard
  - ~AntiRecursionGuard()
  - "CoordinateOperationFactory::Private::\n    createOperationsGeogToVertWithAlternativeGeog(\n
    \       const crs::CRSNNPtr &sourceCRS, // geographic CRS\n        const crs::CRSNNPtr
    &targetCRS, // vertical CRS\n        Private::Context &context)"
  - AntiRecursionGuard
  - ~AntiRecursionGuard()
  - "CoordinateOperationFactory::Private::\n    createOperationsFromDatabaseWithVertCRS(\n
    \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
    &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
    &targetEpoch,\n        Private::Context &context, const crs::GeographicCRS *geogSrc,\n
    \       const crs::GeographicCRS *geogDst, const crs::VerticalCRS *vertSrc,\n
    \       const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
    &res)"
  - "CoordinateOperationFactory::Private::createOperationsGeodToGeod(\n    const crs::CRSNNPtr
    &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context &context, const
    crs::GeodeticCRS *geodSrc,\n    const crs::GeodeticCRS *geodDst, std::vector<CoordinateOperationNNPtr>
    &res,\n    bool forceBallpark)"
  - "CoordinateOperationFactory::Private::\n    createOperationsFromSphericalPlanetocentric(\n
    \       const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
    &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
    &targetEpoch,\n        Private::Context &context, const crs::GeodeticCRS *geodSrc,\n
    \       std::vector<CoordinateOperationNNPtr> &res)"
  - "CoordinateOperationFactory::Private::\n    createOperationsFromBoundOfSphericalPlanetocentric(\n
    \       const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n        Private::Context
    &context, const crs::BoundCRS *boundSrc,\n        const crs::GeodeticCRSNNPtr
    &geodSrcBase,\n        std::vector<CoordinateOperationNNPtr> &res)"
  - "CoordinateOperationFactory::Private::createOperationsDerivedTo(\n    const crs::CRSNNPtr
    & /*sourceCRS*/,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n
    \   const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
    &targetEpoch,\n    Private::Context &context, const crs::DerivedCRS *derivedSrc,\n
    \   std::vector<CoordinateOperationNNPtr> &res)"
  - "CoordinateOperationFactory::Private::createOperationsBoundToGeog(\n    const
    crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
    &context, const crs::BoundCRS *boundSrc,\n    const crs::GeographicCRS *geogDst,\n
    \   std::vector<CoordinateOperationNNPtr> &res)"
  - "CoordinateOperationFactory::Private::createOperationsBoundToVert(\n    const
    crs::CRSNNPtr & /*sourceCRS*/, const crs::CRSNNPtr &targetCRS,\n    Private::Context
    &context, const crs::BoundCRS *boundSrc,\n    const crs::VerticalCRS *vertDst,\n
    \   std::vector<CoordinateOperationNNPtr> &res)"
  - getBallparkTransformationVertToVert
  - "CoordinateOperationFactory::Private::createOperationsVertToVert(\n    const crs::CRSNNPtr
    &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context &context, const
    crs::VerticalCRS *vertSrc,\n    const crs::VerticalCRS *vertDst,\n    std::vector<CoordinateOperationNNPtr>
    &res)"
  - "CoordinateOperationFactory::Private::createOperationsVertToGeog(\n    const crs::CRSNNPtr
    &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n    const
    crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch> &targetEpoch,\n
    \   Private::Context &context, const crs::VerticalCRS *vertSrc,\n    const crs::GeographicCRS
    *geogDst,\n    std::vector<CoordinateOperationNNPtr> &res)"
  - "CoordinateOperationFactory::Private::createOperationsVertToGeogSynthetized(\n
    \   const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
    &context, const crs::VerticalCRS *vertSrc,\n    const crs::GeographicCRS *geogDst,\n
    \   std::vector<CoordinateOperationNNPtr> &res)"
  - "CoordinateOperationFactory::Private::createOperationsBoundToBound(\n    const
    crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
    &context, const crs::BoundCRS *boundSrc,\n    const crs::BoundCRS *boundDst, std::vector<CoordinateOperationNNPtr>
    &res)"
  - getOps
  - normalize2D3DInName
  - useCompatibleTransformationsForSameSourceTarget
  - getInterpolationGeogCRS
  - "CoordinateOperationFactory::Private::createOperationsCompoundToGeog(\n    const
    crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n
    \   const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
    &targetEpoch,\n    Private::Context &context, const crs::CompoundCRS *compoundSrc,\n
    \   const crs::GeographicCRS *geogDst,\n    std::vector<CoordinateOperationNNPtr>
    &res)"
  - SetSkipHorizontalTransform
  - ~SetSkipHorizontalTransform()
  - SetGeogCRSOfVertCRS
  - ~SetGeogCRSOfVertCRS()
  - "CoordinateOperationFactory::Private::createOperationsToGeod(\n    const crs::CRSNNPtr
    &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n    const
    crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch> &targetEpoch,\n
    \   Private::Context &context, const crs::GeodeticCRS *geodDst,\n    std::vector<CoordinateOperationNNPtr>
    &res)"
  - "CoordinateOperationFactory::Private::createOperationsCompoundToCompound(\n    const
    crs::CRSNNPtr &sourceCRS,\n    const util::optional<common::DataEpoch> &sourceEpoch,\n
    \   const crs::CRSNNPtr &targetCRS,\n    const util::optional<common::DataEpoch>
    &targetEpoch,\n    Private::Context &context, const crs::CompoundCRS *compoundSrc,\n
    \   const crs::CompoundCRS *compoundDst,\n    std::vector<CoordinateOperationNNPtr>
    &res)"
  - "CoordinateOperationFactory::Private::createOperationsBoundToCompound(\n    const
    crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n    Private::Context
    &context, const crs::BoundCRS *boundSrc,\n    const crs::CompoundCRS *compoundDst,\n
    \   std::vector<CoordinateOperationNNPtr> &res)"
  - CoordinateOperationFactory::createOperations
  - CoordinateOperationFactory::createOperations
  - CoordinateOperationFactory::createOperations
  - CoordinateOperationFactory::createOperations
  - CoordinateOperationFactory::create
  - crs::CRS::getResolvedCRS
  - crs::CRS::getResolvedCRS
  source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: authorityFactory_
        type: io::AuthorityFactoryPtr
      - name: extent_
        type: metadata::ExtentPtr
      - name: accuracy_
        type: double
      - name: sourceAndTargetCRSExtentUse_
        type: SourceTargetCRSExtentUse
      - name: spatialCriterion_
        type: SpatialCriterion
      - name: usePROJNames_
        type: bool
      - name: gridAvailabilityUse_
        type: GridAvailabilityUse
      - name: allowUseIntermediateCRS_
        type: IntermediateCRSUse
      - name: intermediateCRSAuthCodes_
        type: std::vector<std::pair<std::string, std::string>>
      - name: discardSuperseded_
        type: bool
      - name: allowBallpark_
        type: bool
      - name: sourceCoordinateEpoch_
        type: std::shared_ptr<util::optional<common::DataEpoch>>
      - name: targetCoordinateEpoch_
        type: std::shared_ptr<util::optional<common::DataEpoch>>
      item_type: struct
      name: CoordinateOperationContext::Private
      pos:
        line_end: 190
        line_start: 166
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: "createOperations(const crs::CRSNNPtr &sourceCRS,\n                     const
          util::optional<common::DataEpoch> &sourceEpoch,\n                     const
          crs::CRSNNPtr &targetCRS,\n                     const util::optional<common::DataEpoch>
          &targetEpoch,\n                     Context &context)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "buildCRSIds(const crs::CRSNNPtr &crs, Private::Context &context,\n
          \               std::list<std::pair<std::string, std::string>> &ids)"
        type: void
      - name: "findOpsInRegistryDirect(\n        const crs::CRSNNPtr &sourceCRS, const
          crs::CRSNNPtr &targetCRS,\n        Private::Context &context, bool &resNonEmptyBeforeFiltering)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "findOpsInRegistryDirectTo(const crs::CRSNNPtr &targetCRS,\n                              Private::Context
          &context)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "findsOpsInRegistryWithIntermediate(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context,\n        bool
          useCreateBetweenGeodeticCRSWithDatumBasedIntermediates)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "hasTooSmallAreas(const std::vector<CoordinateOperationNNPtr> &ops,\n
          \                    const Private::Context &context)"
        type: bool
      - name: "createOperationsFromProj4Ext(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        const crs::BoundCRS *boundSrc,
          const crs::BoundCRS *boundDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsEnsembleCRSToOtherGeodCRS(\n        const crs::CRSNNPtr
          &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
          \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::GeodeticCRS
          *geodSrc,\n        const crs::GeodeticCRS *geodDst)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "createOperationsFromDatabase(\n        const crs::CRSNNPtr &sourceCRS,\n
          \       const util::optional<common::DataEpoch> &sourceEpoch,\n        const
          crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::GeodeticCRS
          *geodSrc,\n        const crs::GeodeticCRS *geodDst, const crs::GeographicCRS
          *geogSrc,\n        const crs::GeographicCRS *geogDst, const crs::VerticalCRS
          *vertSrc,\n        const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: bool
      - name: "createOperationsGeogToVertFromGeoid(const crs::CRSNNPtr &sourceCRS,\n
          \                                       const crs::CRSNNPtr &targetCRS,\n
          \                                       const crs::VerticalCRS *vertDst,\n
          \                                       Context &context)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "createOperationsGeogToVertWithIntermediateVert(\n        const crs::CRSNNPtr
          &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
          \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        const crs::VerticalCRS *vertDst, Context &context)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "createOperationsGeogToVertWithAlternativeGeog(\n        const crs::CRSNNPtr
          &sourceCRS, const crs::CRSNNPtr &targetCRS,\n        Context &context)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "createOperationsVertToVertWithIntermediateVert(\n        const crs::CRSNNPtr
          &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
          \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        const crs::VerticalCRS *vertSrc, const crs::VerticalCRS
          *vertDst,\n        Context &context)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "createOperationsFromDatabaseWithVertCRS(\n        const crs::CRSNNPtr
          &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
          \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::GeographicCRS
          *geogSrc,\n        const crs::GeographicCRS *geogDst, const crs::VerticalCRS
          *vertSrc,\n        const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsGeodToGeod(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context, const
          crs::GeodeticCRS *geodSrc,\n        const crs::GeodeticCRS *geodDst,\n        std::vector<CoordinateOperationNNPtr>
          &res, bool forceBallpark)"
        type: void
      - name: "createOperationsFromSphericalPlanetocentric(\n        const crs::CRSNNPtr
          &sourceCRS,\n        const util::optional<common::DataEpoch> &sourceEpoch,\n
          \       const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::GeodeticCRS
          *geodSrc,\n        std::vector<CoordinateOperationNNPtr> &res)"
        type: void
      - name: "createOperationsFromBoundOfSphericalPlanetocentric(\n        const
          crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n        Private::Context
          &context, const crs::BoundCRS *boundSrc,\n        const crs::GeodeticCRSNNPtr
          &geodSrcBase,\n        std::vector<CoordinateOperationNNPtr> &res)"
        type: void
      - name: "createOperationsDerivedTo(\n        const crs::CRSNNPtr &sourceCRS,\n
          \       const util::optional<common::DataEpoch> &sourceEpoch,\n        const
          crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::DerivedCRS
          *derivedSrc,\n        std::vector<CoordinateOperationNNPtr> &res)"
        type: void
      - name: "createOperationsBoundToGeog(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context, const
          crs::BoundCRS *boundSrc,\n        const crs::GeographicCRS *geogDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsBoundToVert(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context, const
          crs::BoundCRS *boundSrc,\n        const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsVertToVert(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context, const
          crs::VerticalCRS *vertSrc,\n        const crs::VerticalCRS *vertDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsVertToGeog(\n        const crs::CRSNNPtr &sourceCRS,\n
          \       const util::optional<common::DataEpoch> &sourceEpoch,\n        const
          crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::VerticalCRS
          *vertSrc,\n        const crs::GeographicCRS *geogDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsVertToGeogSynthetized(\n        const crs::CRSNNPtr
          &sourceCRS, const crs::CRSNNPtr &targetCRS,\n        Private::Context &context,
          const crs::VerticalCRS *vertSrc,\n        const crs::GeographicCRS *geogDst,\n
          \       std::vector<CoordinateOperationNNPtr> &res)"
        type: void
      - name: "createOperationsBoundToBound(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context, const
          crs::BoundCRS *boundSrc,\n        const crs::BoundCRS *boundDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsCompoundToGeog(\n        const crs::CRSNNPtr &sourceCRS,\n
          \       const util::optional<common::DataEpoch> &sourceEpoch,\n        const
          crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::CompoundCRS
          *compoundSrc,\n        const crs::GeographicCRS *geogDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsToGeod(const crs::CRSNNPtr &sourceCRS,\n                           const
          util::optional<common::DataEpoch> &sourceEpoch,\n                           const
          crs::CRSNNPtr &targetCRS,\n                           const util::optional<common::DataEpoch>
          &targetEpoch,\n                           Private::Context &context,\n                           const
          crs::GeodeticCRS *geodDst,\n                           std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsCompoundToCompound(\n        const crs::CRSNNPtr &sourceCRS,\n
          \       const util::optional<common::DataEpoch> &sourceEpoch,\n        const
          crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        Private::Context &context, const crs::CompoundCRS
          *compoundSrc,\n        const crs::CompoundCRS *compoundDst,\n        std::vector<CoordinateOperationNNPtr>
          &res)"
        type: void
      - name: "createOperationsBoundToCompound(\n        const crs::CRSNNPtr &sourceCRS,
          const crs::CRSNNPtr &targetCRS,\n        Private::Context &context, const
          crs::BoundCRS *boundSrc,\n        const crs::CompoundCRS *compoundDst,\n
          \       std::vector<CoordinateOperationNNPtr> &res)"
        type: void
      - name: "createOperationsGeogToGeog(\n        std::vector<CoordinateOperationNNPtr>
          &res,\n        const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS,\n
          \       Private::Context &context, const crs::GeographicCRS *geogSrc,\n
          \       const crs::GeographicCRS *geogDst, bool forceBallpark)"
        type: std::vector<CoordinateOperationNNPtr>
      - name: "createOperationsWithDatumPivot(\n        std::vector<CoordinateOperationNNPtr>
          &res,\n        const crs::CRSNNPtr &sourceCRS,\n        const util::optional<common::DataEpoch>
          &sourceEpoch,\n        const crs::CRSNNPtr &targetCRS,\n        const util::optional<common::DataEpoch>
          &targetEpoch,\n        const crs::GeodeticCRS *geodSrc, const crs::GeodeticCRS
          *geodDst,\n        Context &context)"
        type: void
      - name: "hasPerfectAccuracyResult(const std::vector<CoordinateOperationNNPtr>
          &res,\n                             const Context &context)"
        type: bool
      - name: "setCRSs(CoordinateOperation *co, const crs::CRSNNPtr &sourceCRS,\n
          \                       const crs::CRSNNPtr &targetCRS)"
        type: void
      item_type: struct
      name: CoordinateOperationFactory::Private
      pos:
        line_end: 807
        line_start: 547
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&extent1'
        type: metadata::ExtentPtr
      - name: '&extent2'
        type: metadata::ExtentPtr
      - name: '&context'
        type: CoordinateOperationContextNNPtr
      - name: inCreateOperationsWithDatumPivotAntiRecursion
        type: bool
      - name: inCreateOperationsWithIntermediate
        type: bool
      - name: inCreateOperationsGeogToGeogWithAlternativeGeog
        type: bool
      - name: inCreateOperationsGeogToVertWithAlternativeGeog
        type: bool
      - name: inCreateOperationsGeogToVertWithIntermediateVert
        type: bool
      - name: inCreateOperationsVertToVertWithIntermediateVert
        type: bool
      - name: skipHorizontalTransformation
        type: bool
      - name: nRecLevelCreateOperations
        type: int
      - name: cacheNameToCRS
        type: "std::map<std::pair<io::AuthorityFactory::ObjectType, std::string>,\n
          \                std::list<std::pair<std::string, std::string>>>"
      - name: geogCRSOfVertCRSStack
        type: std::vector<crs::GeographicCRSNNPtr>
      item_type: struct
      name: Context
      pos:
        line_end: 592
        line_start: 549
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: area_
        type: double
      - name: accuracy_
        type: double
      - name: isPROJExportable_
        type: bool
      - name: hasGrids_
        type: bool
      - name: gridsAvailable_
        type: bool
      - name: gridsKnown_
        type: bool
      - name: stepCount_
        type: size_t
      - name: projStepCount_
        type: size_t
      - name: isApprox_
        type: bool
      - name: hasBallparkVertical_
        type: bool
      - name: isNullTransformation_
        type: bool
      - name: hasXYZGridshift_
        type: bool
      - name: is_ETRS89_XXX_to_ETRS89_YYY_
        type: bool
      - name: uses_ETRF2000_
        type: bool
      - name: uses_ETRS89_to_ETRS89_XXX_generic_
        type: bool
      item_type: struct
      name: PrecomputedOpCharacteristics
      pos:
        line_end: 906
        line_start: 863
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&map'
        type: std::map<CoordinateOperation *, PrecomputedOpCharacteristics>
      - name: BALLPARK_GEOGRAPHIC_OFFSET_FROM
        type: std::string
      item_type: struct
      name: SortFunction
      pos:
        line_end: 1178
        line_start: 912
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&sourceList'
        type: std::vector<CoordinateOperationNNPtr>
      - name: '&context'
        type: CoordinateOperationContextNNPtr
      - name: '&extent1'
        type: metadata::ExtentPtr
      - name: '&extent2'
        type: metadata::ExtentPtr
      - name: areaOfInterest
        type: metadata::ExtentPtr
      - name: areaOfInterestUserSpecified
        type: bool
      - name: desiredAccuracy
        type: double
      - name: sourceAndTargetCRSExtentUse
        type: CoordinateOperationContext::SourceTargetCRSExtentUse
      - name: hasOpThatContainsAreaOfInterestAndNoGrid
        type: bool
      - name: res
        type: std::vector<CoordinateOperationNNPtr>
      item_type: struct
      name: FilterResults
      pos:
        line_end: 1716
        line_start: 1210
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: AntiRecursionGuard
      pos:
        line_end: 2093
        line_start: 2082
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: geodSrc
        type: crs::GeodeticCRSPtr
      - name: geodDst
        type: crs::GeodeticCRSPtr
      item_type: struct
      name: MyPROJStringExportableGeodToGeod
      pos:
        line_end: 2377
        line_start: 2357
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: horizTransform
        type: CoordinateOperationPtr
      - name: verticalTransform
        type: CoordinateOperationPtr
      - name: geogDst
        type: crs::GeographicCRSPtr
      item_type: struct
      name: MyPROJStringExportableHorizVertical
      pos:
        line_end: 2416
        line_start: 2383
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: opSrcCRSToGeogCRS
        type: CoordinateOperationPtr
      - name: verticalTransform
        type: CoordinateOperationPtr
      - name: opGeogCRStoDstCRS
        type: CoordinateOperationPtr
      - name: interpolationCRS
        type: crs::SingleCRSPtr
      item_type: struct
      name: MyPROJStringExportableHorizVerticalHorizPROJBased
      pos:
        line_end: 2561
        line_start: 2423
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: horizTransform
        type: CoordinateOperationPtr
      item_type: struct
      name: MyPROJStringExportableHorizNullVertical
      pos:
        line_end: 2584
        line_start: 2568
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: CreateOperationsWithDatumPivotAntiRecursion
      pos:
        line_end: 3192
        line_start: 3180
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context_'
        type: Private::Context
      item_type: struct
      name: RecLevelIncrementer
      pos:
        line_end: 3612
        line_start: 3603
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: AntiRecursionGuard
      pos:
        line_end: 4078
        line_start: 4055
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: AntiRecursionGuard
      pos:
        line_end: 4897
        line_start: 4886
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: AntiRecursionGuard
      pos:
        line_end: 4975
        line_start: 4964
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: AntiRecursionGuard
      pos:
        line_end: 5092
        line_start: 5081
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      item_type: struct
      name: SetSkipHorizontalTransform
      pos:
        line_end: 6757
        line_start: 6745
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    - fields:
      - name: '&context'
        type: Context
      - name: hasPushed
        type: bool
      item_type: struct
      name: SetGeogCRSOfVertCRS
      pos:
        line_end: 6775
        line_start: 6759
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
    typedefs:
    - item_type: typedef
      name: PairOfTransforms
      pos:
        line_end: 6927
        line_start: 6925
        source_file: /src/PROJ/src/iso19111/operation/coordinateoperationfactory.cpp
      type: "pair<std::vector<CoordinateOperationNNPtr>,\n                          std::vector<CoordinateOperationNNPtr>>"
    union: []
- function_names:
  - namespace
  source_file: /src/PROJ/src/iso19111/operation/operationmethod_private.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: formula_
        type: util::optional<std::string>
      - name: formulaCitation_
        type: util::optional<metadata::Citation>
      - name: parameters_
        type: std::vector<GeneralOperationParameterNNPtr>
      - name: projMethodOverride_
        type: std::string
      item_type: struct
      name: OperationMethod::Private
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/PROJ/src/iso19111/operation/operationmethod_private.hpp
    typedefs: []
    union: []
- function_names:
  - TINSHIFT_JSON_NAMESPACE::ParsingException::ParsingException
  - TINSHIFT_JSON_NAMESPACE::ParsingException::what
  - TINSHIFT_JSON_NAMESPACE::ParsingException::ParsingException
  - TINSHIFT_JSON_NAMESPACE::ParsingException::what
  source_file: /src/PROJ/src/transformations/tinshift_json_exceptions.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - forward_4d
  - forward_3d
  - forward_2d
  - reverse_4d
  - reverse_3d
  - reverse_2d
  - initQ
  - computeReverseParameters
  source_file: /src/PROJ/src/transformations/affine.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARCSEC_TO_RAD
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/src/transformations/affine.cpp
      type_or_value: (DEG_TO_RAD / 3600.0)
    structs:
    - fields:
      - name: s11
        type: double
      - name: s12
        type: double
      - name: s13
        type: double
      - name: s21
        type: double
      - name: s22
        type: double
      - name: s23
        type: double
      - name: s31
        type: double
      - name: s32
        type: double
      - name: s33
        type: double
      - name: tscale
        type: double
      item_type: struct
      name: pj_affine_coeffs
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/PROJ/src/transformations/affine.cpp
    - fields:
      - name: s11
        type: double
      - name: s12
        type: double
      - name: s13
        type: double
      - name: s21
        type: double
      - name: s22
        type: double
      - name: s23
        type: double
      - name: s31
        type: double
      - name: s32
        type: double
      - name: s33
        type: double
      - name: tscale
        type: double
      item_type: struct
      name: pj_affine_coeffs
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/PROJ/src/transformations/affine.cpp
    - fields:
      - name: xoff
        type: double
      - name: yoff
        type: double
      - name: zoff
        type: double
      - name: toff
        type: double
      - name: forward
        type: struct pj_affine_coeffs
      - name: reverse
        type: struct pj_affine_coeffs
      item_type: struct
      name: pj_opaque_affine
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/PROJ/src/transformations/affine.cpp
    - fields:
      - name: xoff
        type: double
      - name: yoff
        type: double
      - name: zoff
        type: double
      - name: toff
        type: double
      - name: forward
        type: struct pj_affine_coeffs
      - name: reverse
        type: struct pj_affine_coeffs
      item_type: struct
      name: pj_opaque_affine
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/PROJ/src/transformations/affine.cpp
    typedefs: []
    union: []
- function_names:
  - deal_with_vertcon_gtx_hack
  - pj_vgridshift_forward_3d
  - pj_vgridshift_reverse_3d
  - pj_vgridshift_forward_4d
  - pj_vgridshift_reverse_4d
  - pj_vgridshift_destructor
  - pj_vgridshift_reassign_context
  - pj_clear_vgridshift_knowngrids_cache
  source_file: /src/PROJ/src/transformations/vgridshift.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: t_final
        type: double
      - name: t_epoch
        type: double
      - name: forward_multiplier
        type: double
      - name: grids
        type: ListOfVGrids
      - name: defer_grid_opening
        type: bool
      - name: error_code_in_defer_grid_opening
        type: int
      item_type: struct
      name: vgridshiftData
      pos:
        line_end: 25
        line_start: 18
        source_file: /src/PROJ/src/transformations/vgridshift.cpp
    - fields:
      - name: t_final
        type: double
      - name: t_epoch
        type: double
      - name: forward_multiplier
        type: double
      - name: grids
        type: ListOfVGrids
      - name: defer_grid_opening
        type: bool
      - name: error_code_in_defer_grid_opening
        type: int
      item_type: struct
      name: vgridshiftData
      pos:
        line_end: 25
        line_start: 18
        source_file: /src/PROJ/src/transformations/vgridshift.cpp
    typedefs: []
    union: []
- function_names:
  - get_grid_values
  - SQUARE
  - iterative_adjustment
  - direct_adjustment
  - pj_xyzgridshift_forward_3d
  - pj_xyzgridshift_reverse_3d
  - pj_xyzgridshift_destructor
  - pj_xyzgridshift_reassign_context
  source_file: /src/PROJ/src/transformations/xyzgridshift.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*cart'
        type: PJ
      - name: grid_ref_is_input
        type: bool
      - name: grids
        type: ListOfGenericGrids
      - name: defer_grid_opening
        type: bool
      - name: error_code_in_defer_grid_opening
        type: int
      - name: multiplier
        type: double
      item_type: struct
      name: xyzgridshiftData
      pos:
        line_end: 49
        line_start: 42
        source_file: /src/PROJ/src/transformations/xyzgridshift.cpp
    - fields:
      - name: '*cart'
        type: PJ
      - name: grid_ref_is_input
        type: bool
      - name: grids
        type: ListOfGenericGrids
      - name: defer_grid_opening
        type: bool
      - name: error_code_in_defer_grid_opening
        type: int
      - name: multiplier
        type: double
      item_type: struct
      name: xyzgridshiftData
      pos:
        line_end: 49
        line_start: 42
        source_file: /src/PROJ/src/transformations/xyzgridshift.cpp
    typedefs: []
    union: []
- function_names:
  - RN
  - RM
  - calc_standard_params
  - calc_abridged_params
  - pj_molodensky_forward_2d
  - pj_molodensky_reverse_2d
  - pj_molodensky_forward_3d
  - pj_molodensky_forward_4d
  - pj_molodensky_reverse_3d
  - pj_molodensky_reverse_4d
  source_file: /src/PROJ/src/transformations/molodensky.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dx
        type: double
      - name: dy
        type: double
      - name: dz
        type: double
      - name: da
        type: double
      - name: df
        type: double
      - name: abridged
        type: int
      item_type: struct
      name: pj_opaque_molodensky
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/PROJ/src/transformations/molodensky.cpp
    - fields:
      - name: dx
        type: double
      - name: dy
        type: double
      - name: dz
        type: double
      - name: da
        type: double
      - name: df
        type: double
      - name: abridged
        type: int
      item_type: struct
      name: pj_opaque_molodensky
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/PROJ/src/transformations/molodensky.cpp
    typedefs: []
    union: []
- function_names:
  - Grid
  - checkHorizontal
  - getLongLatOffset
  - getZOffset
  - getEastingNorthingOffset
  - getLongLatZOffset
  - getEastingNorthingZOffset
  - name
  - Grid
  - '&operator=(const Grid &)'
  - GridSet
  - gridAt
  - GridSet
  - '&operator=(const GridSet &)'
  - EvaluatorIface
  - ~EvaluatorIface()
  - open
  - isGeographicCRS
  - geographicToGeocentric
  - geocentricToGeographic
  - log
  - EvaluatorIface
  - '&operator=(const EvaluatorIface &)'
  - defmodelData
  - defmodelData
  - '&operator=(const defmodelData &)'
  - Grid
  - checkHorizontal
  - getLongLatOffset
  - getZOffset
  - getEastingNorthingOffset
  - getLongLatZOffset
  - getEastingNorthingZOffset
  - name
  - Grid
  - '&operator=(const Grid &)'
  - GridSet
  - gridAt
  - GridSet
  - '&operator=(const GridSet &)'
  - EvaluatorIface
  - ~EvaluatorIface()
  - open
  - isGeographicCRS
  - geographicToGeocentric
  - geocentricToGeographic
  - log
  - EvaluatorIface
  - '&operator=(const EvaluatorIface &)'
  - defmodelData
  - defmodelData
  - '&operator=(const defmodelData &)'
  - destructor
  - forward_4d
  - reverse_4d
  - reassign_context
  source_file: /src/PROJ/src/transformations/defmodel.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: '*realGrid'
        type: NS_PROJ::GenericShiftGrid
      - name: checkedHorizontal
        type: bool
      - name: checkedVertical
        type: bool
      - name: sampleX
        type: int
      - name: sampleY
        type: int
      - name: sampleZ
        type: int
      item_type: struct
      name: Grid
      pos:
        line_end: 206
        line_start: 46
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: realGridSet
        type: std::unique_ptr<NS_PROJ::GenericShiftGridSet>
      - name: mapGrids
        type: std::map<const NS_PROJ::GenericShiftGrid *, std::unique_ptr<Grid>>
      item_type: struct
      name: GridSet
      pos:
        line_end: 239
        line_start: 208
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: '*cart'
        type: PJ
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 318
        line_start: 241
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: evaluator
        type: std::unique_ptr<Evaluator<Grid, GridSet, EvaluatorIface>>
      - name: evaluatorIface
        type: EvaluatorIface
      item_type: struct
      name: defmodelData
      pos:
        line_end: 329
        line_start: 320
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: '*realGrid'
        type: NS_PROJ::GenericShiftGrid
      - name: checkedHorizontal
        type: bool
      - name: checkedVertical
        type: bool
      - name: sampleX
        type: int
      - name: sampleY
        type: int
      - name: sampleZ
        type: int
      item_type: struct
      name: Grid
      pos:
        line_end: 206
        line_start: 46
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: realGridSet
        type: std::unique_ptr<NS_PROJ::GenericShiftGridSet>
      - name: mapGrids
        type: std::map<const NS_PROJ::GenericShiftGrid *, std::unique_ptr<Grid>>
      item_type: struct
      name: GridSet
      pos:
        line_end: 239
        line_start: 208
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: '*ctx'
        type: PJ_CONTEXT
      - name: '*cart'
        type: PJ
      item_type: struct
      name: EvaluatorIface
      pos:
        line_end: 318
        line_start: 241
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    - fields:
      - name: evaluator
        type: std::unique_ptr<Evaluator<Grid, GridSet, EvaluatorIface>>
      - name: evaluatorIface
        type: EvaluatorIface
      item_type: struct
      name: defmodelData
      pos:
        line_end: 329
        line_start: 320
        source_file: /src/PROJ/src/transformations/defmodel.cpp
    typedefs: []
    union: []
- function_names:
  - TINShiftEvaluator::~TINShiftEvaluator()
  - tinshiftData
  - tinshiftData
  - '&operator=(const tinshiftData &)'
  - tinshiftData
  - tinshiftData
  - '&operator=(const tinshiftData &)'
  - pj_tinshift_destructor
  - tinshift_forward_4d
  - tinshift_reverse_4d
  source_file: /src/PROJ/src/transformations/tinshift.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: evaluator
        type: std::unique_ptr<TINShiftEvaluator>
      item_type: struct
      name: tinshiftData
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/PROJ/src/transformations/tinshift.cpp
    - fields:
      - name: evaluator
        type: std::unique_ptr<TINShiftEvaluator>
      item_type: struct
      name: tinshiftData
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/PROJ/src/transformations/tinshift.cpp
    typedefs: []
    union: []
- function_names:
  - '&fileType() const'
  - '&formatVersion() const'
  - '&name() const'
  - '&version() const'
  - '&license() const'
  - '&description() const'
  - '&publicationDate() const'
  - '&fallbackStrategy() const'
  - '&authority() const'
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::links
  - '&inputCRS() const'
  - '&outputCRS() const'
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformHorizontalComponent
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformVerticalComponent
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::verticesColumnCount
  - '&vertices() const'
  - '&triangles() const'
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::TINShiftJSONFile
  - '&file() const'
  - '&fileType() const'
  - '&formatVersion() const'
  - '&name() const'
  - '&version() const'
  - '&license() const'
  - '&description() const'
  - '&publicationDate() const'
  - '&fallbackStrategy() const'
  - '&authority() const'
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::links
  - '&inputCRS() const'
  - '&outputCRS() const'
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformHorizontalComponent
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::transformVerticalComponent
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::verticesColumnCount
  - '&vertices() const'
  - '&triangles() const'
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::TINShiftJSONFile
  - '&file() const'
  source_file: /src/PROJ/src/transformations/tinshift_json.hpp
  types:
    enum:
    - enumerators:
      - name: FALLBACK_NONE
      - name: FALLBACK_NEAREST_CENTROID
      - name: FALLBACK_NEAREST_SIDE
      item_type: enum
      name: FallbackStrategy
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    - enumerators:
      - name: FALLBACK_NONE
      - name: FALLBACK_NEAREST_CENTROID
      - name: FALLBACK_NEAREST_SIDE
      item_type: enum
      name: FallbackStrategy
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    preproc_defs:
    - item_type: preproc_def
      name: TINSHIFT_JSON_NAMESPACE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
      type_or_value: TINShiftJSON
    structs:
    - fields:
      - name: name
        type: std::string
      - name: url
        type: std::string
      - name: address
        type: std::string
      - name: email
        type: std::string
      item_type: struct
      name: Authority
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    - fields:
      - name: href
        type: std::string
      - name: rel
        type: std::string
      - name: type
        type: std::string
      - name: title
        type: std::string
      item_type: struct
      name: Link
      pos:
        line_end: 131
        line_start: 118
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    - fields:
      - name: idx1
        type: unsigned
      - name: idx2
        type: unsigned
      - name: idx3
        type: unsigned
      item_type: struct
      name: VertexIndices
      pos:
        line_end: 184
        line_start: 177
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    - fields:
      - name: name
        type: std::string
      - name: url
        type: std::string
      - name: address
        type: std::string
      - name: email
        type: std::string
      item_type: struct
      name: Authority
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    - fields:
      - name: href
        type: std::string
      - name: rel
        type: std::string
      - name: type
        type: std::string
      - name: title
        type: std::string
      item_type: struct
      name: Link
      pos:
        line_end: 131
        line_start: 118
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    - fields:
      - name: idx1
        type: unsigned
      - name: idx2
        type: unsigned
      - name: idx3
        type: unsigned
      item_type: struct
      name: VertexIndices
      pos:
        line_end: 184
        line_start: 177
        source_file: /src/PROJ/src/transformations/tinshift_json.hpp
    typedefs: []
    union: []
- function_names:
  - operator!=(const IXY &other) const
  - gridshiftData::checkGridTypes
  - gridshiftData::findGrid
  - gridshiftData::grid_interpolate
  - normalizeX
  - gridshiftData::grid_apply_internal
  - gridshiftData::loadGridsIfNeeded
  - gridshiftData::apply
  - operator!=(const IXY &other) const
  - gridshiftData::checkGridTypes
  - gridshiftData::findGrid
  - gridshiftData::grid_interpolate
  - normalizeX
  - gridshiftData::grid_apply_internal
  - gridshiftData::loadGridsIfNeeded
  - gridshiftData::apply
  - pj_gridshift_forward_3d
  - pj_gridshift_reverse_3d
  - pj_gridshift_destructor
  - pj_gridshift_reassign_context
  - pj_clear_gridshift_knowngrids_cache
  source_file: /src/PROJ/src/transformations/gridshift.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REL_TOLERANCE_HGRIDSHIFT
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/src/transformations/gridshift.cpp
      type_or_value: 1e-5
    - item_type: preproc_def
      name: MAX_ITERATIONS
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/PROJ/src/transformations/gridshift.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/PROJ/src/transformations/gridshift.cpp
      type_or_value: 1e-12
    - item_type: preproc_def
      name: REL_TOLERANCE_HGRIDSHIFT
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/src/transformations/gridshift.cpp
      type_or_value: 1e-5
    - item_type: preproc_def
      name: MAX_ITERATIONS
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/PROJ/src/transformations/gridshift.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/PROJ/src/transformations/gridshift.cpp
      type_or_value: 1e-12
    structs:
    - fields:
      - name: x
        type: int32_t
      item_type: struct
      name: IXY
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - fields:
      - name: idxSampleX
        type: int
      - name: idxSampleY
        type: int
      - name: idxSampleZ
        type: int
      - name: eastingNorthingOffset
        type: bool
      - name: bilinearInterpolation
        type: bool
      - name: shifts
        type: std::vector<float>
      - name: swapXYInRes
        type: bool
      - name: idxSampleXYZ
        type: std::vector<int>
      - name: lastIdxXY
        type: IXY
      item_type: struct
      name: GridInfo
      pos:
        line_end: 75
        line_start: 65
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - fields:
      - name: m_grids
        type: ListOfGenericGrids
      - name: m_defer_grid_opening
        type: bool
      - name: m_error_code_in_defer_grid_opening
        type: int
      - name: m_bHasHorizontalOffset
        type: bool
      - name: m_bHasGeographic3DOffset
        type: bool
      - name: m_bHasEllipsoidalHeightOffset
        type: bool
      - name: m_bHasVerticalToVertical
        type: bool
      - name: m_bHasGeographicToVertical
        type: bool
      - name: m_mainGridTypeIsGeographic3DOffset
        type: bool
      - name: m_skip_z_transform
        type: bool
      - name: m_mainGridType
        type: std::string
      - name: m_auxGridType
        type: std::string
      - name: m_interpolation
        type: std::string
      - name: m_cacheGridInfo
        type: std::map<const GenericShiftGrid *, GridInfo>
      - name: m_offsetX
        type: double
      - name: m_offsetY
        type: double
      - name: checkGridTypes(PJ *P, bool &isProjectedCoord)
        type: bool
      - name: loadGridsIfNeeded(PJ *P)
        type: bool
      - name: "*findGrid(const std::string &type,\n                                     const
          PJ_XYZ &input,\n                                     GenericShiftGridSet
          *&gridSetOut) const"
        type: GenericShiftGrid
      - name: "grid_interpolate(PJ_CONTEXT *ctx, const std::string &type, PJ_XY xy,\n
          \                           const GenericShiftGrid *grid,\n                            bool
          &biquadraticInterpolationOut)"
        type: PJ_XYZ
      - name: "grid_apply_internal(PJ_CONTEXT *ctx, const std::string &type,\n                               bool
          isVerticalOnly, const PJ_XYZ in,\n                               PJ_DIRECTION
          direction,\n                               const GenericShiftGrid *grid,\n
          \                              GenericShiftGridSet *gridset, bool &shouldRetry)"
        type: PJ_XYZ
      - name: apply(PJ *P, PJ_DIRECTION dir, PJ_XYZ xyz)
        type: PJ_XYZ
      item_type: struct
      name: gridshiftData
      pos:
        line_end: 122
        line_start: 79
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - fields:
      - name: x
        type: int32_t
      item_type: struct
      name: IXY
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - fields:
      - name: idxSampleX
        type: int
      - name: idxSampleY
        type: int
      - name: idxSampleZ
        type: int
      - name: eastingNorthingOffset
        type: bool
      - name: bilinearInterpolation
        type: bool
      - name: shifts
        type: std::vector<float>
      - name: swapXYInRes
        type: bool
      - name: idxSampleXYZ
        type: std::vector<int>
      - name: lastIdxXY
        type: IXY
      item_type: struct
      name: GridInfo
      pos:
        line_end: 75
        line_start: 65
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    - fields:
      - name: m_grids
        type: ListOfGenericGrids
      - name: m_defer_grid_opening
        type: bool
      - name: m_error_code_in_defer_grid_opening
        type: int
      - name: m_bHasHorizontalOffset
        type: bool
      - name: m_bHasGeographic3DOffset
        type: bool
      - name: m_bHasEllipsoidalHeightOffset
        type: bool
      - name: m_bHasVerticalToVertical
        type: bool
      - name: m_bHasGeographicToVertical
        type: bool
      - name: m_mainGridTypeIsGeographic3DOffset
        type: bool
      - name: m_skip_z_transform
        type: bool
      - name: m_mainGridType
        type: std::string
      - name: m_auxGridType
        type: std::string
      - name: m_interpolation
        type: std::string
      - name: m_cacheGridInfo
        type: std::map<const GenericShiftGrid *, GridInfo>
      - name: m_offsetX
        type: double
      - name: m_offsetY
        type: double
      - name: checkGridTypes(PJ *P, bool &isProjectedCoord)
        type: bool
      - name: loadGridsIfNeeded(PJ *P)
        type: bool
      - name: "*findGrid(const std::string &type,\n                                     const
          PJ_XYZ &input,\n                                     GenericShiftGridSet
          *&gridSetOut) const"
        type: GenericShiftGrid
      - name: "grid_interpolate(PJ_CONTEXT *ctx, const std::string &type, PJ_XY xy,\n
          \                           const GenericShiftGrid *grid,\n                            bool
          &biquadraticInterpolationOut)"
        type: PJ_XYZ
      - name: "grid_apply_internal(PJ_CONTEXT *ctx, const std::string &type,\n                               bool
          isVerticalOnly, const PJ_XYZ in,\n                               PJ_DIRECTION
          direction,\n                               const GenericShiftGrid *grid,\n
          \                              GenericShiftGridSet *gridset, bool &shouldRetry)"
        type: PJ_XYZ
      - name: apply(PJ *P, PJ_DIRECTION dir, PJ_XYZ xyz)
        type: PJ_XYZ
      item_type: struct
      name: gridshiftData
      pos:
        line_end: 122
        line_start: 79
        source_file: /src/PROJ/src/transformations/gridshift.cpp
    typedefs: []
    union: []
- function_names:
  - pj_hgridshift_forward_3d
  - pj_hgridshift_reverse_3d
  - pj_hgridshift_forward_4d
  - pj_hgridshift_reverse_4d
  - pj_hgridshift_destructor
  - pj_hgridshift_reassign_context
  - pj_clear_hgridshift_knowngrids_cache
  source_file: /src/PROJ/src/transformations/hgridshift.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: t_final
        type: double
      - name: t_epoch
        type: double
      - name: grids
        type: ListOfHGrids
      - name: defer_grid_opening
        type: bool
      - name: error_code_in_defer_grid_opening
        type: int
      item_type: struct
      name: hgridshiftData
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/PROJ/src/transformations/hgridshift.cpp
    - fields:
      - name: t_final
        type: double
      - name: t_epoch
        type: double
      - name: grids
        type: ListOfHGrids
      - name: defer_grid_opening
        type: bool
      - name: error_code_in_defer_grid_opening
        type: int
      item_type: struct
      name: hgridshiftData
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/PROJ/src/transformations/hgridshift.cpp
    typedefs: []
    union: []
- function_names:
  - DEFORMATON_MODEL_NAMESPACE::DegToRad
  - DEFORMATON_MODEL_NAMESPACE::GridEx
  - DEFORMATON_MODEL_NAMESPACE::getBilinearGeocentric
  - DEFORMATON_MODEL_NAMESPACE::getDisplacementType
  - DEFORMATON_MODEL_NAMESPACE::ComponentEx
  - DEFORMATON_MODEL_NAMESPACE::evaluateAt
  - DEFORMATON_MODEL_NAMESPACE::clearGridCache
  - DEFORMATON_MODEL_NAMESPACE::ISO8601ToDecimalYear
  - DEFORMATON_MODEL_NAMESPACE::Epoch::Epoch
  - DEFORMATON_MODEL_NAMESPACE::Epoch::toDecimalYear
  - DEFORMATON_MODEL_NAMESPACE::getString
  - DEFORMATON_MODEL_NAMESPACE::getReqString
  - DEFORMATON_MODEL_NAMESPACE::getOptString
  - DEFORMATON_MODEL_NAMESPACE::getDouble
  - DEFORMATON_MODEL_NAMESPACE::getReqDouble
  - DEFORMATON_MODEL_NAMESPACE::getOptDouble
  - DEFORMATON_MODEL_NAMESPACE::getObjectMember
  - DEFORMATON_MODEL_NAMESPACE::getArrayMember
  - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
  - DEFORMATON_MODEL_NAMESPACE::Component::parse
  - Component::ConstantTimeFunction::evaluateAt(double) const
  - Component::VelocityTimeFunction::evaluateAt(double dt) const
  - Component::StepTimeFunction::evaluateAt(double dt) const
  - Component::ReverseStepTimeFunction::evaluateAt(double dt) const
  - Component::PiecewiseTimeFunction::evaluateAt(double dt) const
  - Component::ExponentialTimeFunction::evaluateAt(double dt) const
  - DEFORMATON_MODEL_NAMESPACE::DeltaEastingNorthingToLongLat
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::Evaluator
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
  - DEFORMATON_MODEL_NAMESPACE::shortName
  - DEFORMATON_MODEL_NAMESPACE::toString
  - DEFORMATON_MODEL_NAMESPACE::bboxCheck
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::inverse
  - DEFORMATON_MODEL_NAMESPACE::DegToRad
  - DEFORMATON_MODEL_NAMESPACE::GridEx
  - DEFORMATON_MODEL_NAMESPACE::getBilinearGeocentric
  - DEFORMATON_MODEL_NAMESPACE::getDisplacementType
  - DEFORMATON_MODEL_NAMESPACE::ComponentEx
  - DEFORMATON_MODEL_NAMESPACE::evaluateAt
  - DEFORMATON_MODEL_NAMESPACE::clearGridCache
  - DEFORMATON_MODEL_NAMESPACE::ISO8601ToDecimalYear
  - DEFORMATON_MODEL_NAMESPACE::Epoch::Epoch
  - DEFORMATON_MODEL_NAMESPACE::Epoch::toDecimalYear
  - DEFORMATON_MODEL_NAMESPACE::getString
  - DEFORMATON_MODEL_NAMESPACE::getReqString
  - DEFORMATON_MODEL_NAMESPACE::getOptString
  - DEFORMATON_MODEL_NAMESPACE::getDouble
  - DEFORMATON_MODEL_NAMESPACE::getReqDouble
  - DEFORMATON_MODEL_NAMESPACE::getOptDouble
  - DEFORMATON_MODEL_NAMESPACE::getObjectMember
  - DEFORMATON_MODEL_NAMESPACE::getArrayMember
  - DEFORMATON_MODEL_NAMESPACE::MasterFile::parse
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::parse
  - DEFORMATON_MODEL_NAMESPACE::Component::parse
  - Component::ConstantTimeFunction::evaluateAt(double) const
  - Component::VelocityTimeFunction::evaluateAt(double dt) const
  - Component::StepTimeFunction::evaluateAt(double dt) const
  - Component::ReverseStepTimeFunction::evaluateAt(double dt) const
  - Component::PiecewiseTimeFunction::evaluateAt(double dt) const
  - Component::ExponentialTimeFunction::evaluateAt(double dt) const
  - DEFORMATON_MODEL_NAMESPACE::DeltaEastingNorthingToLongLat
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::Evaluator
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::clearGridCache
  - DEFORMATON_MODEL_NAMESPACE::shortName
  - DEFORMATON_MODEL_NAMESPACE::toString
  - DEFORMATON_MODEL_NAMESPACE::bboxCheck
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::forward
  - DEFORMATON_MODEL_NAMESPACE::Evaluator<Grid, GridSet, EvaluatorIface>::inverse
  source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
  types:
    enum:
    - enumerators:
      - name: NONE
      - name: VERTICAL
      - name: HORIZONTAL
      - name: THREE_D
      item_type: enum
      name: DisplacementType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
    - enumerators:
      - name: NONE
      - name: VERTICAL
      - name: HORIZONTAL
      - name: THREE_D
      item_type: enum
      name: DisplacementType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: '*grid'
        type: Grid
      - name: smallResx
        type: bool
      - name: sinhalfresx
        type: double
      - name: coshalfresx
        type: double
      - name: sinresy
        type: double
      - name: cosresy
        type: double
      - name: last_ix0
        type: int
      - name: last_iy0
        type: int
      - name: dX00
        type: double
      - name: dY00
        type: double
      - name: dZ00
        type: double
      - name: dX01
        type: double
      - name: dY01
        type: double
      - name: dZ01
        type: double
      - name: dX10
        type: double
      - name: dY10
        type: double
      - name: dZ10
        type: double
      - name: dX11
        type: double
      - name: dY11
        type: double
      - name: dZ11
        type: double
      - name: sinphi0
        type: double
      - name: cosphi0
        type: double
      - name: sinphi1
        type: double
      - name: cosphi1
        type: double
      item_type: struct
      name: GridEx
      pos:
        line_end: 170
        line_start: 63
        source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
    - fields:
      - name: '&component'
        type: Component
      - name: isBilinearInterpolation
        type: bool
      - name: displacementType
        type: DisplacementType
      - name: gridSet
        type: std::unique_ptr<GridSet>
      - name: mapGrids
        type: std::map<const Grid *, GridEx<Grid>>
      - name: mCachedDt
        type: double
      - name: mCachedValue
        type: double
      item_type: struct
      name: ComponentEx
      pos:
        line_end: 219
        line_start: 175
        source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
    - fields:
      - name: '*grid'
        type: Grid
      - name: smallResx
        type: bool
      - name: sinhalfresx
        type: double
      - name: coshalfresx
        type: double
      - name: sinresy
        type: double
      - name: cosresy
        type: double
      - name: last_ix0
        type: int
      - name: last_iy0
        type: int
      - name: dX00
        type: double
      - name: dY00
        type: double
      - name: dZ00
        type: double
      - name: dX01
        type: double
      - name: dY01
        type: double
      - name: dZ01
        type: double
      - name: dX10
        type: double
      - name: dY10
        type: double
      - name: dZ10
        type: double
      - name: dX11
        type: double
      - name: dY11
        type: double
      - name: dZ11
        type: double
      - name: sinphi0
        type: double
      - name: cosphi0
        type: double
      - name: sinphi1
        type: double
      - name: cosphi1
        type: double
      item_type: struct
      name: GridEx
      pos:
        line_end: 170
        line_start: 63
        source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
    - fields:
      - name: '&component'
        type: Component
      - name: isBilinearInterpolation
        type: bool
      - name: displacementType
        type: DisplacementType
      - name: gridSet
        type: std::unique_ptr<GridSet>
      - name: mapGrids
        type: std::map<const Grid *, GridEx<Grid>>
      - name: mCachedDt
        type: double
      - name: mCachedValue
        type: double
      item_type: struct
      name: ComponentEx
      pos:
        line_end: 219
        line_start: 175
        source_file: /src/PROJ/src/transformations/defmodel_impl.hpp
    typedefs: []
    union: []
- function_names:
  - horner_dealloc
  - horner_calloc
  - horner_number_of_real_coefficients
  - horner_number_of_complex_coefficients
  - horner_free
  - horner_alloc
  - double_real_horner_eval
  - single_real_horner_eval
  - complex_horner_eval
  - generate_error_coords
  - coords_out_of_range
  - real_default_impl
  - real_iterative_inverse_impl
  - horner_forward_4d
  - horner_inverse_4d
  - horner_iterative_inverse_4d
  - complex_default_impl
  - complex_iterative_inverse_impl
  - complex_horner_forward_4d
  - complex_horner_inverse_4d
  - complex_horner_iterative_inverse_4d
  - horner_freeup
  - parse_coefs
  - PJ_PROJECTION
  source_file: /src/PROJ/src/transformations/horner.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: uneg
        type: int
      - name: vneg
        type: int
      - name: order
        type: uint32_t
      - name: range
        type: double
      - name: has_inv
        type: bool
      - name: inverse_tolerance
        type: double
      - name: '*fwd_u'
        type: double
      - name: '*fwd_v'
        type: double
      - name: '*inv_u'
        type: double
      - name: '*inv_v'
        type: double
      - name: '*fwd_c'
        type: double
      - name: '*inv_c'
        type: double
      - name: '*fwd_origin'
        type: PJ_UV
      - name: '*inv_origin'
        type: PJ_UV
      item_type: struct
      name: horner
      pos:
        line_end: 118
        line_start: 97
        source_file: /src/PROJ/src/transformations/horner.cpp
    - fields:
      - name: uneg
        type: int
      - name: vneg
        type: int
      - name: order
        type: uint32_t
      - name: range
        type: double
      - name: has_inv
        type: bool
      - name: inverse_tolerance
        type: double
      - name: '*fwd_u'
        type: double
      - name: '*fwd_v'
        type: double
      - name: '*inv_u'
        type: double
      - name: '*inv_v'
        type: double
      - name: '*fwd_c'
        type: double
      - name: '*inv_c'
        type: double
      - name: '*fwd_origin'
        type: PJ_UV
      - name: '*inv_origin'
        type: PJ_UV
      item_type: struct
      name: horner
      pos:
        line_end: 118
        line_start: 97
        source_file: /src/PROJ/src/transformations/horner.cpp
    typedefs:
    - item_type: typedef
      name: HORNER
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/PROJ/src/transformations/horner.cpp
      type: horner
    union: []
- function_names:
  - get_forward_offset
  - forward_3d
  - reverse_3d
  source_file: /src/PROJ/src/transformations/vertoffset.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARCSEC_TO_RAD
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/src/transformations/vertoffset.cpp
      type_or_value: (DEG_TO_RAD / 3600.0)
    structs:
    - fields:
      - name: slope_lon
        type: double
      - name: slope_lat
        type: double
      - name: zoff
        type: double
      - name: rho0
        type: double
      - name: nu0
        type: double
      item_type: struct
      name: pj_opaque_vertoffset
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/PROJ/src/transformations/vertoffset.cpp
    - fields:
      - name: slope_lon
        type: double
      - name: slope_lat
        type: double
      - name: zoff
        type: double
      - name: rho0
        type: double
      - name: nu0
        type: double
      item_type: struct
      name: pj_opaque_vertoffset
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/PROJ/src/transformations/vertoffset.cpp
    typedefs: []
    union: []
- function_names:
  - update_parameters
  - build_rot_matrix
  - helmert_forward
  - helmert_reverse
  - helmert_forward_3d
  - helmert_reverse_3d
  - helmert_forward_4d
  - helmert_reverse_4d
  - init_helmert_six_parameters
  - read_convention
  source_file: /src/PROJ/src/transformations/helmert.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R00
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[0][0])
    - item_type: preproc_def
      name: R01
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[0][1])
    - item_type: preproc_def
      name: R02
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[0][2])
    - item_type: preproc_def
      name: R10
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[1][0])
    - item_type: preproc_def
      name: R11
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[1][1])
    - item_type: preproc_def
      name: R12
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[1][2])
    - item_type: preproc_def
      name: R20
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[2][0])
    - item_type: preproc_def
      name: R21
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[2][1])
    - item_type: preproc_def
      name: R22
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (Q->R[2][2])
    - item_type: preproc_def
      name: ARCSEC_TO_RAD
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/PROJ/src/transformations/helmert.cpp
      type_or_value: (DEG_TO_RAD / 3600.0)
    structs:
    - fields:
      - name: xyz
        type: PJ_XYZ
      - name: xyz_0
        type: PJ_XYZ
      - name: dxyz
        type: PJ_XYZ
      - name: refp
        type: PJ_XYZ
      - name: opk
        type: PJ_OPK
      - name: opk_0
        type: PJ_OPK
      - name: dopk
        type: PJ_OPK
      - name: scale
        type: double
      - name: scale_0
        type: double
      - name: dscale
        type: double
      - name: theta
        type: double
      - name: theta_0
        type: double
      - name: dtheta
        type: double
      - name: R[3][3]
        type: double
      - name: t_epoch
        type: double
      - name: no_rotation
        type: int
      - name: is_position_vector
        type: int
      item_type: struct
      name: pj_opaque_helmert
      pos:
        line_end: 83
        line_start: 62
        source_file: /src/PROJ/src/transformations/helmert.cpp
    - fields:
      - name: xyz
        type: PJ_XYZ
      - name: xyz_0
        type: PJ_XYZ
      - name: dxyz
        type: PJ_XYZ
      - name: refp
        type: PJ_XYZ
      - name: opk
        type: PJ_OPK
      - name: opk_0
        type: PJ_OPK
      - name: dopk
        type: PJ_OPK
      - name: scale
        type: double
      - name: scale_0
        type: double
      - name: dscale
        type: double
      - name: theta
        type: double
      - name: theta_0
        type: double
      - name: dtheta
        type: double
      - name: R[3][3]
        type: double
      - name: t_epoch
        type: double
      - name: no_rotation
        type: int
      - name: is_position_vector
        type: int
      item_type: struct
      name: pj_opaque_helmert
      pos:
        line_end: 83
        line_start: 62
        source_file: /src/PROJ/src/transformations/helmert.cpp
    typedefs: []
    union: []
- function_names:
  - DEFORMATON_MODEL_NAMESPACE::ParsingException::ParsingException
  - DEFORMATON_MODEL_NAMESPACE::ParsingException::what
  - DEFORMATON_MODEL_NAMESPACE::UnimplementedException::UnimplementedException
  - DEFORMATON_MODEL_NAMESPACE::UnimplementedException::what
  - DEFORMATON_MODEL_NAMESPACE::EvaluatorException::EvaluatorException
  - DEFORMATON_MODEL_NAMESPACE::EvaluatorException::what
  - DEFORMATON_MODEL_NAMESPACE::ParsingException::ParsingException
  - DEFORMATON_MODEL_NAMESPACE::ParsingException::what
  - DEFORMATON_MODEL_NAMESPACE::UnimplementedException::UnimplementedException
  - DEFORMATON_MODEL_NAMESPACE::UnimplementedException::what
  - DEFORMATON_MODEL_NAMESPACE::EvaluatorException::EvaluatorException
  - DEFORMATON_MODEL_NAMESPACE::EvaluatorException::what
  source_file: /src/PROJ/src/transformations/defmodel_exceptions.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/src/transformations/tinshift_iface.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TINShiftGeopackageException::TINShiftGeopackageException
  - TINShiftGeopackageFile::hasHorizontalTransformation
  - TINShiftGeopackageFile::hasVerticalTransformation
  - TINShiftGeopackageFile::hasOffsetZ
  - TINShiftGeopackageFile::TINShiftGeopackageFile
  - TINShiftGeopackageFile::TINShiftGeopackageFile
  - '&operator=(const TINShiftGeopackageFile &)'
  source_file: /src/PROJ/src/transformations/tinshift_gpkg.hpp
  types:
    enum:
    - enumerators:
      - name: FALLBACK_NONE
      - name: FALLBACK_NEAREST_SIDE
      - name: FALLBACK_NEAREST_CENTROID
      item_type: enum
      name: FallbackStrategy
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/PROJ/src/transformations/tinshift_gpkg.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TINSHIFT_JSON_NAMESPACE::getString
  - TINSHIFT_JSON_NAMESPACE::getReqString
  - TINSHIFT_JSON_NAMESPACE::getOptString
  - TINSHIFT_JSON_NAMESPACE::getArrayMember
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
  - TINSHIFT_JSON_NAMESPACE::GetBounds
  - TINSHIFT_JSON_NAMESPACE::BuildQuadTree
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::TINShiftJSONEvaluator
  - TINSHIFT_JSON_NAMESPACE::sqr
  - TINSHIFT_JSON_NAMESPACE::squared_distance
  - TINSHIFT_JSON_NAMESPACE::distance_point_segment
  - TINSHIFT_JSON_NAMESPACE::FindTriangle
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::forward
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::inverse
  - TINSHIFT_JSON_NAMESPACE::getString
  - TINSHIFT_JSON_NAMESPACE::getReqString
  - TINSHIFT_JSON_NAMESPACE::getOptString
  - TINSHIFT_JSON_NAMESPACE::getArrayMember
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONFile::parse
  - TINSHIFT_JSON_NAMESPACE::GetBounds
  - TINSHIFT_JSON_NAMESPACE::BuildQuadTree
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::TINShiftJSONEvaluator
  - TINSHIFT_JSON_NAMESPACE::sqr
  - TINSHIFT_JSON_NAMESPACE::squared_distance
  - TINSHIFT_JSON_NAMESPACE::distance_point_segment
  - TINSHIFT_JSON_NAMESPACE::FindTriangle
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::forward
  - TINSHIFT_JSON_NAMESPACE::TINShiftJSONEvaluator::inverse
  source_file: /src/PROJ/src/transformations/tinshift_json_impl.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pj_deformation_get_grid_values
  - pj_deformation_get_grid_shift
  - pj_deformation_reverse_shift
  - pj_deformation_forward_3d
  - pj_deformation_forward_4d
  - pj_deformation_reverse_3d
  - pj_deformation_reverse_4d
  - pj_deformation_destructor
  source_file: /src/PROJ/src/transformations/deformation.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/src/transformations/deformation.cpp
      type_or_value: 1e-8
    - item_type: preproc_def
      name: MAX_ITERATIONS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/src/transformations/deformation.cpp
      type_or_value: '10'
    structs:
    - fields:
      - name: dt
        type: double
      - name: t_epoch
        type: double
      - name: '*cart'
        type: PJ
      - name: grids
        type: ListOfGenericGrids
      - name: hgrids
        type: ListOfHGrids
      - name: vgrids
        type: ListOfVGrids
      item_type: struct
      name: deformationData
      pos:
        line_end: 77
        line_start: 70
        source_file: /src/PROJ/src/transformations/deformation.cpp
    - fields:
      - name: dt
        type: double
      - name: t_epoch
        type: double
      - name: '*cart'
        type: PJ
      - name: grids
        type: ListOfGenericGrids
      - name: hgrids
        type: ListOfHGrids
      - name: vgrids
        type: ListOfVGrids
      item_type: struct
      name: deformationData
      pos:
        line_end: 77
        line_start: 70
        source_file: /src/PROJ/src/transformations/deformation.cpp
    typedefs: []
    union: []
- function_names:
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minx
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::miny
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxx
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxy
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minxNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minyNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxxNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxyNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::SpatialExtent
  - '&toString() const'
  - '&description() const'
  - '&extent() const'
  - '&displacementType() const'
  - '&uncertaintyType() const'
  - DEFORMATON_MODEL_NAMESPACE::Component::horizontalUncertainty
  - DEFORMATON_MODEL_NAMESPACE::Component::verticalUncertainty
  - '&spatialModel() const'
  - DEFORMATON_MODEL_NAMESPACE::Component::TimeFunction
  - DEFORMATON_MODEL_NAMESPACE::Component::timeFunction
  - DEFORMATON_MODEL_NAMESPACE::Component::Component
  - Component::TimeFunction::~TimeFunction()
  - '&fileType() const'
  - '&formatVersion() const'
  - '&name() const'
  - '&version() const'
  - '&license() const'
  - '&description() const'
  - '&publicationDate() const'
  - '&authority() const'
  - DEFORMATON_MODEL_NAMESPACE::MasterFile::links
  - '&sourceCRS() const'
  - '&targetCRS() const'
  - '&definitionCRS() const'
  - '&referenceEpoch() const'
  - '&uncertaintyReferenceEpoch() const'
  - '&horizontalOffsetUnit() const'
  - '&verticalOffsetUnit() const'
  - '&horizontalUncertaintyType() const'
  - '&horizontalUncertaintyUnit() const'
  - '&verticalUncertaintyType() const'
  - '&verticalUncertaintyUnit() const'
  - '&horizontalOffsetMethod() const'
  - '&extent() const'
  - '&timeExtent() const'
  - '&components() const'
  - DEFORMATON_MODEL_NAMESPACE::MasterFile::MasterFile
  - DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
  - DEFORMATON_MODEL_NAMESPACE::getZOffset
  - DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
  - DEFORMATON_MODEL_NAMESPACE::getLongLatZOffset
  - DEFORMATON_MODEL_NAMESPACE::getEastingNorthingZOffset
  - DEFORMATON_MODEL_NAMESPACE::name
  - DEFORMATON_MODEL_NAMESPACE::gridAt
  - DEFORMATON_MODEL_NAMESPACE::open
  - DEFORMATON_MODEL_NAMESPACE::geographicToGeocentric
  - DEFORMATON_MODEL_NAMESPACE::geocentricToGeographic
  - DEFORMATON_MODEL_NAMESPACE::isGeographicCRS
  - DEFORMATON_MODEL_NAMESPACE::log
  - DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
  - DEFORMATON_MODEL_NAMESPACE::Evaluator::isGeographicCRS
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minx
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::miny
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxx
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxy
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minxNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::minyNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxxNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::maxyNormalized
  - DEFORMATON_MODEL_NAMESPACE::SpatialExtent::SpatialExtent
  - '&toString() const'
  - '&description() const'
  - '&extent() const'
  - '&displacementType() const'
  - '&uncertaintyType() const'
  - DEFORMATON_MODEL_NAMESPACE::Component::horizontalUncertainty
  - DEFORMATON_MODEL_NAMESPACE::Component::verticalUncertainty
  - '&spatialModel() const'
  - DEFORMATON_MODEL_NAMESPACE::Component::TimeFunction
  - DEFORMATON_MODEL_NAMESPACE::Component::timeFunction
  - DEFORMATON_MODEL_NAMESPACE::Component::Component
  - Component::TimeFunction::~TimeFunction()
  - '&fileType() const'
  - '&formatVersion() const'
  - '&name() const'
  - '&version() const'
  - '&license() const'
  - '&description() const'
  - '&publicationDate() const'
  - '&authority() const'
  - DEFORMATON_MODEL_NAMESPACE::MasterFile::links
  - '&sourceCRS() const'
  - '&targetCRS() const'
  - '&definitionCRS() const'
  - '&referenceEpoch() const'
  - '&uncertaintyReferenceEpoch() const'
  - '&horizontalOffsetUnit() const'
  - '&verticalOffsetUnit() const'
  - '&horizontalUncertaintyType() const'
  - '&horizontalUncertaintyUnit() const'
  - '&verticalUncertaintyType() const'
  - '&verticalUncertaintyUnit() const'
  - '&horizontalOffsetMethod() const'
  - '&extent() const'
  - '&timeExtent() const'
  - '&components() const'
  - DEFORMATON_MODEL_NAMESPACE::MasterFile::MasterFile
  - DEFORMATON_MODEL_NAMESPACE::getLongLatOffset
  - DEFORMATON_MODEL_NAMESPACE::getZOffset
  - DEFORMATON_MODEL_NAMESPACE::getEastingNorthingOffset
  - DEFORMATON_MODEL_NAMESPACE::getLongLatZOffset
  - DEFORMATON_MODEL_NAMESPACE::getEastingNorthingZOffset
  - DEFORMATON_MODEL_NAMESPACE::name
  - DEFORMATON_MODEL_NAMESPACE::gridAt
  - DEFORMATON_MODEL_NAMESPACE::open
  - DEFORMATON_MODEL_NAMESPACE::geographicToGeocentric
  - DEFORMATON_MODEL_NAMESPACE::geocentricToGeographic
  - DEFORMATON_MODEL_NAMESPACE::isGeographicCRS
  - DEFORMATON_MODEL_NAMESPACE::log
  - DEFORMATON_MODEL_NAMESPACE::Evaluator::forward
  - DEFORMATON_MODEL_NAMESPACE::Evaluator::isGeographicCRS
  source_file: /src/PROJ/src/transformations/defmodel.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFORMATON_MODEL_NAMESPACE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/src/transformations/defmodel.hpp
      type_or_value: DeformationModel
    structs:
    - fields:
      - name: type
        type: std::string
      - name: interpolationMethod
        type: std::string
      - name: filename
        type: std::string
      - name: md5Checksum
        type: std::string
      item_type: struct
      name: SpatialModel
      pos:
        line_end: 178
        line_start: 162
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: type
        type: std::string
      - name: evaluateAt(double dt) const
        type: double
      item_type: struct
      name: TimeFunction
      pos:
        line_end: 193
        line_start: 184
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: ConstantTimeFunction
      pos:
        line_end: 197
        line_start: 194
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: referenceEpoch
        type: Epoch
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: VelocityTimeFunction
      pos:
        line_end: 203
        line_start: 198
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: stepEpoch
        type: Epoch
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: StepTimeFunction
      pos:
        line_end: 210
        line_start: 205
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: stepEpoch
        type: Epoch
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: ReverseStepTimeFunction
      pos:
        line_end: 217
        line_start: 212
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: beforeFirst
        type: std::string
      - name: afterLast
        type: std::string
      - name: model
        type: std::vector<EpochScaleFactorTuple>
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: PiecewiseTimeFunction
      pos:
        line_end: 245
        line_start: 219
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: epoch
        type: Epoch
      - name: scaleFactor
        type: double
      item_type: struct
      name: EpochScaleFactorTuple
      pos:
        line_end: 234
        line_start: 228
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: referenceEpoch
        type: Epoch
      - name: endEpoch
        type: Epoch
      - name: relaxationConstant
        type: double
      - name: beforeScaleFactor
        type: double
      - name: initialScaleFactor
        type: double
      - name: finalScaleFactor
        type: double
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: ExponentialTimeFunction
      pos:
        line_end: 267
        line_start: 247
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: name
        type: std::string
      - name: url
        type: std::string
      - name: address
        type: std::string
      - name: email
        type: std::string
      item_type: struct
      name: Authority
      pos:
        line_end: 331
        line_start: 326
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: href
        type: std::string
      - name: rel
        type: std::string
      - name: type
        type: std::string
      - name: title
        type: std::string
      item_type: struct
      name: Link
      pos:
        line_end: 350
        line_start: 337
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: first
        type: Epoch
      - name: last
        type: Epoch
      item_type: struct
      name: TimeExtent
      pos:
        line_end: 428
        line_start: 425
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: minx
        type: double
      - name: miny
        type: double
      - name: resx
        type: double
      - name: resy
        type: double
      - name: width
        type: int
      - name: height
        type: int
      item_type: struct
      name: GridPrototype
      pos:
        line_end: 525
        line_start: 469
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields: []
      item_type: struct
      name: GridSetPrototype
      pos:
        line_end: 538
        line_start: 531
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields: []
      item_type: struct
      name: EvaluatorIfacePrototype
      pos:
        line_end: 577
        line_start: 545
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: type
        type: std::string
      - name: interpolationMethod
        type: std::string
      - name: filename
        type: std::string
      - name: md5Checksum
        type: std::string
      item_type: struct
      name: SpatialModel
      pos:
        line_end: 178
        line_start: 162
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: type
        type: std::string
      - name: evaluateAt(double dt) const
        type: double
      item_type: struct
      name: TimeFunction
      pos:
        line_end: 193
        line_start: 184
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: ConstantTimeFunction
      pos:
        line_end: 197
        line_start: 194
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: referenceEpoch
        type: Epoch
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: VelocityTimeFunction
      pos:
        line_end: 203
        line_start: 198
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: stepEpoch
        type: Epoch
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: StepTimeFunction
      pos:
        line_end: 210
        line_start: 205
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: stepEpoch
        type: Epoch
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: ReverseStepTimeFunction
      pos:
        line_end: 217
        line_start: 212
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: beforeFirst
        type: std::string
      - name: afterLast
        type: std::string
      - name: model
        type: std::vector<EpochScaleFactorTuple>
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: PiecewiseTimeFunction
      pos:
        line_end: 245
        line_start: 219
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: epoch
        type: Epoch
      - name: scaleFactor
        type: double
      item_type: struct
      name: EpochScaleFactorTuple
      pos:
        line_end: 234
        line_start: 228
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: referenceEpoch
        type: Epoch
      - name: endEpoch
        type: Epoch
      - name: relaxationConstant
        type: double
      - name: beforeScaleFactor
        type: double
      - name: initialScaleFactor
        type: double
      - name: finalScaleFactor
        type: double
      - name: evaluateAt(double dt) const override
        type: double
      item_type: struct
      name: ExponentialTimeFunction
      pos:
        line_end: 267
        line_start: 247
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: name
        type: std::string
      - name: url
        type: std::string
      - name: address
        type: std::string
      - name: email
        type: std::string
      item_type: struct
      name: Authority
      pos:
        line_end: 331
        line_start: 326
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: href
        type: std::string
      - name: rel
        type: std::string
      - name: type
        type: std::string
      - name: title
        type: std::string
      item_type: struct
      name: Link
      pos:
        line_end: 350
        line_start: 337
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: first
        type: Epoch
      - name: last
        type: Epoch
      item_type: struct
      name: TimeExtent
      pos:
        line_end: 428
        line_start: 425
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields:
      - name: minx
        type: double
      - name: miny
        type: double
      - name: resx
        type: double
      - name: resy
        type: double
      - name: width
        type: int
      - name: height
        type: int
      item_type: struct
      name: GridPrototype
      pos:
        line_end: 525
        line_start: 469
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields: []
      item_type: struct
      name: GridSetPrototype
      pos:
        line_end: 538
        line_start: 531
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    - fields: []
      item_type: struct
      name: EvaluatorIfacePrototype
      pos:
        line_end: 577
        line_start: 545
        source_file: /src/PROJ/src/transformations/defmodel.hpp
    typedefs: []
    union: []
- function_names:
  - TINShiftGeopackageException::what
  - TINShiftGeopackageFile::open
  - TINShiftGeopackageFile::~TINShiftGeopackageFile()
  - getString
  - getReqString
  - getReqDouble
  - getReqInt
  - getArrayMember
  - getString
  - getReqString
  - getReqDouble
  - getReqInt
  - getArrayMember
  - TINShiftGeopackageFile::getMetadata
  - TINShiftGeopackageFile::prepareDatabaseQuery
  - swap_words
  - sqr
  - squared_distance
  - sq_distance_point_segment
  - TINShiftGeopackageFile::findTriangle
  - TINShiftGeopackageEvaluator::TINShiftGeopackageEvaluator
  - TINShiftGeopackageEvaluator::transform
  - TINShiftGeopackageEvaluator::forward
  - TINShiftGeopackageEvaluator::inverse
  source_file: /src/PROJ/src/transformations/tinshift_gpkg.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IS_LSB
      pos:
        line_end: 430
        line_start: 428
        source_file: /src/PROJ/src/transformations/tinshift_gpkg.cpp
      type_or_value: (1 == (reinterpret_cast<const unsigned char *>(&byte_order_test))[0])
    structs: []
    typedefs: []
    union: []
- function_names:
  - WKTFormatter
  - PROJStringFormatter
  - ObjectContext
  - ObjectContext
  - ObjectContext::MakeObjectContext
  - JSONFormatter
  - IJSONExportable
  - util::Exception
  - util::Exception
  - IWKTExportable
  - IPROJStringExportable
  - DatabaseContext
  - AuthorityFactory
  - util::Exception
  - NoSuchAuthorityCodeException
  source_file: /src/PROJ/include/proj/io.hpp
  types:
    enum:
    - enumerators:
      - name: 'YES'
      - name: WKT1_GDAL_EPSG_STYLE
      - name: 'NO'
      item_type: enum
      name: OutputAxisRule
      pos:
        line_end: 263
        line_start: 255
        source_file: /src/PROJ/include/proj/io.hpp
    - enumerators:
      - name: WKT1
      - name: WKT2
      item_type: enum
      name: Version
      pos:
        line_end: 369
        line_start: 364
        source_file: /src/PROJ/include/proj/io.hpp
    - enumerators:
      - name: CONCATENATED_OPERATION
      - name: DYNAMIC_GEODETIC_REFERENCE_FRAME
      - name: DYNAMIC_VERTICAL_REFERENCE_FRAME
      - name: DATUM_ENSEMBLE
      - name: COORDINATE_OPERATION
      - name: TRANSFORMATION
      - name: CONVERSION
      - name: COMPOUND_CRS
      - name: ENGINEERING_CRS
      - name: DERIVED_PROJECTED_CRS
      - name: PRIME_MERIDIAN
      - name: GEODETIC_REFERENCE_FRAME
      - name: DATUM
      - name: VERTICAL_REFERENCE_FRAME
      - name: ELLIPSOID
      - name: ENGINEERING_DATUM
      - name: CRS
      - name: GEODETIC_CRS
      - name: GEOCENTRIC_CRS
      - name: GEOGRAPHIC_CRS
      - name: PROJECTED_CRS
      - name: VERTICAL_CRS
      - name: GEOGRAPHIC_3D_CRS
      - name: GEOGRAPHIC_2D_CRS
      item_type: enum
      name: ObjectType
      pos:
        line_end: 1153
        line_start: 1099
        source_file: /src/PROJ/include/proj/io.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: '&m_formatter'
        type: JSONFormatter
      item_type: struct
      name: ObjectContext
      pos:
        line_end: 568
        line_start: 559
        source_file: /src/PROJ/include/proj/io.hpp
    - fields:
      - name: authName
        type: std::string
      - name: code
        type: std::string
      - name: name
        type: std::string
      - name: type
        type: ObjectType
      - name: deprecated
        type: bool
      - name: bbox_valid
        type: bool
      - name: west_lon_degree
        type: double
      - name: south_lat_degree
        type: double
      - name: east_lon_degree
        type: double
      - name: north_lat_degree
        type: double
      - name: areaName
        type: std::string
      - name: projectionMethodName
        type: std::string
      - name: celestialBodyName
        type: std::string
      item_type: struct
      name: CRSInfo
      pos:
        line_end: 1197
        line_start: 1164
        source_file: /src/PROJ/include/proj/io.hpp
    - fields:
      - name: authName
        type: std::string
      - name: code
        type: std::string
      - name: name
        type: std::string
      - name: category
        type: std::string
      - name: convFactor
        type: double
      - name: projShortName
        type: std::string
      - name: deprecated
        type: bool
      item_type: struct
      name: UnitInfo
      pos:
        line_end: 1224
        line_start: 1202
        source_file: /src/PROJ/include/proj/io.hpp
    - fields:
      - name: authName
        type: std::string
      - name: name
        type: std::string
      item_type: struct
      name: CelestialBodyInfo
      pos:
        line_end: 1237
        line_start: 1229
        source_file: /src/PROJ/include/proj/io.hpp
    typedefs:
    - item_type: typedef
      name: PairObjectName
      pos:
        line_end: 1342
        line_start: 1341
        source_file: /src/PROJ/include/proj/io.hpp
      type: pair<common::IdentifiedObjectNNPtr, std::string>
    union: []
- function_names:
  - coordinates
  source_file: /src/PROJ/include/proj/coordinates.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - SingleCRS
  - GeographicCRS
  - SingleCRS
  - className
  - SingleCRS
  - SingleCRS
  - SingleCRS
  - util::Exception
  - _exportToJSON
  - className
  - _exportToJSON
  - className
  - DerivedProjectedCRS
  - className
  - _exportToJSON
  - className
  - _exportToJSON
  - DerivedEngineeringCRSTraits
  - DerivedParametricCRSTraits
  - DerivedTemporalCRSTraits
  source_file: /src/PROJ/include/proj/crs.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: BaseNNPtr
      pos:
        line_end: 1414
        line_start: 1414
        source_file: /src/PROJ/include/proj/crs.hpp
      type: nn<std::shared_ptr<BaseType>>
    - item_type: typedef
      name: CSNNPtr
      pos:
        line_end: 1416
        line_start: 1416
        source_file: /src/PROJ/include/proj/crs.hpp
      type: nn<std::shared_ptr<CSType>>
    - item_type: typedef
      name: BaseType
      pos:
        line_end: 1482
        line_start: 1482
        source_file: /src/PROJ/include/proj/crs.hpp
      type: EngineeringCRS
    - item_type: typedef
      name: CSType
      pos:
        line_end: 1483
        line_start: 1483
        source_file: /src/PROJ/include/proj/crs.hpp
      type: CoordinateSystem
    - item_type: typedef
      name: BaseType
      pos:
        line_end: 1520
        line_start: 1520
        source_file: /src/PROJ/include/proj/crs.hpp
      type: ParametricCRS
    - item_type: typedef
      name: CSType
      pos:
        line_end: 1521
        line_start: 1521
        source_file: /src/PROJ/include/proj/crs.hpp
      type: ParametricCS
    - item_type: typedef
      name: BaseType
      pos:
        line_end: 1557
        line_start: 1557
        source_file: /src/PROJ/include/proj/crs.hpp
      type: TemporalCRS
    - item_type: typedef
      name: CSType
      pos:
        line_end: 1558
        line_start: 1558
        source_file: /src/PROJ/include/proj/crs.hpp
      type: TemporalCS
    union: []
- function_names:
  - PROJ_FRIEND
  - PROJ_FRIEND_OPTIONAL
  - namespace
  - NN_NO_CHECK
  - isOfExactType
  - optional::optional
  - optional::optional
  - optional::optional
  - optional::optional
  - optional::optional
  - '&operator=(const T &val)'
  - '&operator=(T &&val) noexcept'
  - '&operator=(const optional &)'
  - '&operator=(optional &&other) noexcept'
  - '*operator->()'
  - '&operator*()'
  - '*operator->() const'
  - '&operator*() const'
  - operator bool() const noexcept
  - optional::has_value
  - BaseObjectNNPtr
  - BaseObjectNNPtr
  - BaseObjectNNPtr
  - BaseObjectNNPtr
  - '&operator=(const BaseObjectNNPtr &)'
  - BaseObject
  - IComparable
  - '&operator=(const BoxedValue &)'
  - '&operator=(const ArrayOfBaseObject &other)'
  - ArrayOfBaseObject::PropertyMap::set
  - '&operator=(const PropertyMap &)'
  - ArrayOfBaseObject::PropertyMap::GenericName::scope
  - ArrayOfBaseObject::PropertyMap::GenericName::toFullyQualifiedName
  - '&operator=(const GenericName &other)'
  - '&toString() PROJ_PURE_DECL'
  - operator std::string()
  - operator==(const CodeList &other)
  - operator!=(const CodeList &other)
  - ArrayOfBaseObject::PropertyMap::CodeList::CodeList
  - ArrayOfBaseObject::PropertyMap::CodeList::CodeList
  - UnsupportedOperationException
  source_file: /src/PROJ/include/proj/util.hpp
  types:
    enum:
    - enumerators:
      - name: STRING
      - name: INTEGER
      - name: BOOLEAN
      item_type: enum
      name: Type
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/PROJ/include/proj/util.hpp
    preproc_defs:
    - item_type: preproc_def
      name: PROJ_DLL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: PROJ_DLL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: PROJ_DLL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: PROJ_MSVC_DLL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: PROJ_DLL
    - item_type: preproc_def
      name: PROJ_GCC_DLL
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: PROJ_DLL
    - item_type: preproc_def
      name: PROJ_INTERNAL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: __attribute__((visibility("hidden")))
    - item_type: preproc_def
      name: PROJ_FOR_TEST
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: PROJ_DLL
    - item_type: preproc_def
      name: NS_PROJ
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: osgeo::internalproj
    - item_type: preproc_def
      name: NS_PROJ_START
      pos:
        line_end: 100
        line_start: 97
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "namespace osgeo {                                                          \\\n
        \   namespace internalproj {"
    - item_type: preproc_def
      name: NS_PROJ_END
      pos:
        line_end: 103
        line_start: 100
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "}                                                                          \\\n
        \   }"
    - item_type: preproc_def
      name: NS_PROJ
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: osgeo::proj
    - item_type: preproc_def
      name: NS_PROJ_START
      pos:
        line_end: 109
        line_start: 106
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "namespace osgeo {                                                          \\\n
        \   namespace proj {"
    - item_type: preproc_def
      name: NS_PROJ_END
      pos:
        line_end: 112
        line_start: 109
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "}                                                                          \\\n
        \   }"
    - item_type: preproc_def
      name: PROJ_OPAQUE_PRIVATE_DATA
      pos:
        line_end: 128
        line_start: 116
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "private:                                                                     \\\n
        \   struct PROJ_INTERNAL Private;                                              \\\n
        \   std::unique_ptr<Private> d;                                                \\\n
        \                                                                              \\\n
        \ protected:                                                                   \\\n
        \   PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); }           \\\n
        \   PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \\\n
        \       return d.get();                                                        \\\n
        \   }                                                                          \\\n
        \                                                                              \\\n
        \ private:"
    - item_type: preproc_def
      name: INLINED_MAKE_SHARED
      pos:
        line_end: 142
        line_start: 131
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "template <typename T, typename... Args>                                    \\\n
        \   static std::shared_ptr<T> make_shared(Args &&...args) {                    \\\n
        \       return std::shared_ptr<T>(new T(std::forward<Args>(args)...));         \\\n
        \   }                                                                          \\\n
        \   template <typename T, typename... Args>                                    \\\n
        \   static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \\\n
        \       return util::nn_shared_ptr<T>(                                         \\\n
        \           util::i_promise_i_checked_for_null,                                \\\n
        \           std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \\\n
        \   }"
    - item_type: preproc_def
      name: INLINED_MAKE_UNIQUE
      pos:
        line_end: 150
        line_start: 145
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: "template <typename T, typename... Args>                                    \\\n
        \   static std::unique_ptr<T> make_unique(Args &&...args) {                    \\\n
        \       return std::unique_ptr<T>(new T(std::forward<Args>(args)...));         \\\n
        \   }"
    - item_type: preproc_def
      name: PROJ_PRIVATE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: public
    - item_type: preproc_def
      name: PROJ_NO_INLINE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: PROJ_NO_RETURN
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: __attribute__((noreturn))
    - item_type: preproc_def
      name: PROJ_PURE_DECL
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: const noexcept __attribute__((pure))
    - item_type: preproc_def
      name: PROJ_PURE_DECL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: const noexcept
    - item_type: preproc_def
      name: PROJ_PURE_DEFN
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: const noexcept
    - item_type: preproc_def
      name: PROJ_NOEXCEPT
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/include/proj/util.hpp
      type_or_value: noexcept
    structs:
    - fields: []
      item_type: struct
      name: remove_cvref
      pos:
        line_end: 219
        line_start: 217
        source_file: /src/PROJ/include/proj/util.hpp
    - fields:
      - name: BaseObjectNNPtr()
        type: PROJ_DLL
      item_type: struct
      name: BaseObjectNNPtr
      pos:
        line_end: 327
        line_start: 304
        source_file: /src/PROJ/include/proj/util.hpp
    typedefs:
    - item_type: typedef
      name: type
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/PROJ/include/proj/util.hpp
      type: remove_cv_t
    union: []
- function_names:
  - namespace
  - util::BaseObject
  - GeographicBoundingBox
  - util::BaseObject
  source_file: /src/PROJ/include/proj/metadata.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - Datum
  - GeodeticReferenceFrame
  - DynamicGeodeticReferenceFrame
  - util::CodeList
  - DynamicVerticalReferenceFrame
  - ParametricDatum
  source_file: /src/PROJ/include/proj/datum.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '&operator=(const Measure &)'
  - Scale::Scale
  - '&operator=(const Scale &)'
  - Angle::Angle
  - '&operator=(const Angle &)'
  - Length::Length
  - '&operator=(const Length &)'
  - '&operator=(const DataEpoch &other)'
  - ''
  - ''
  - '&operator=(const ObjectUsage &other)'
  source_file: /src/PROJ/include/proj/common.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '&operator*() const'
  - '*operator->() const'
  - operator const PtrType &() const &
  - operator PtrType &&() &&
  - '&as_nullable() const &'
  - '&&as_nullable() &&'
  - dropbox::oxygen::nn::nn
  - '&operator=(std::nullptr_t)'
  - dropbox::oxygen::nn::nn
  - '&operator=(PtrType)'
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::get
  - operator==(const nn<L> &l, const R &r)
  - operator==(const L &l, const nn<R> &r)
  - operator==(const nn<L> &l, const nn<R> &r)
  - operator<(const nn<L> &l, const R &r)
  - operator<(const L &l, const nn<R> &r)
  - operator<(const nn<L> &l, const nn<R> &r)
  - '&operator<<(std::ostream &os, const nn<T> &p)'
  - NN_DERIVED_OPERATORS
  - dropbox::oxygen::nn_make_unique
  - dropbox::oxygen::nn_make_shared
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_static_pointer_cast
  - dropbox::oxygen::nn_dynamic_pointer_cast
  - dropbox::oxygen::nn_const_pointer_cast
  - '&operator*() const'
  - '*operator->() const'
  - operator const PtrType &() const &
  - operator PtrType &&() &&
  - '&as_nullable() const &'
  - '&&as_nullable() &&'
  - dropbox::oxygen::nn::nn
  - '&operator=(std::nullptr_t)'
  - dropbox::oxygen::nn::nn
  - '&operator=(PtrType)'
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::get
  - operator==(const nn<L> &l, const R &r)
  - operator==(const L &l, const nn<R> &r)
  - operator==(const nn<L> &l, const nn<R> &r)
  - operator<(const nn<L> &l, const R &r)
  - operator<(const L &l, const nn<R> &r)
  - operator<(const nn<L> &l, const nn<R> &r)
  - '&operator<<(std::ostream &os, const nn<T> &p)'
  - NN_DERIVED_OPERATORS
  - dropbox::oxygen::nn_make_unique
  - dropbox::oxygen::nn_make_shared
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_static_pointer_cast
  - dropbox::oxygen::nn_dynamic_pointer_cast
  - dropbox::oxygen::nn_const_pointer_cast
  - '&operator*() const'
  - '*operator->() const'
  - operator const PtrType &() const &
  - operator PtrType &&() &&
  - '&as_nullable() const &'
  - '&&as_nullable() &&'
  - dropbox::oxygen::nn::nn
  - '&operator=(std::nullptr_t)'
  - dropbox::oxygen::nn::nn
  - '&operator=(PtrType)'
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::get
  - operator==(const nn<L> &l, const R &r)
  - operator==(const L &l, const nn<R> &r)
  - operator==(const nn<L> &l, const nn<R> &r)
  - operator<(const nn<L> &l, const R &r)
  - operator<(const L &l, const nn<R> &r)
  - operator<(const nn<L> &l, const nn<R> &r)
  - '&operator<<(std::ostream &os, const nn<T> &p)'
  - NN_DERIVED_OPERATORS
  - dropbox::oxygen::nn_make_unique
  - dropbox::oxygen::nn_make_shared
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_static_pointer_cast
  - dropbox::oxygen::nn_dynamic_pointer_cast
  - dropbox::oxygen::nn_const_pointer_cast
  - '&operator*() const'
  - '*operator->() const'
  - operator const PtrType &() const &
  - operator PtrType &&() &&
  - '&as_nullable() const &'
  - '&&as_nullable() &&'
  - dropbox::oxygen::nn::nn
  - '&operator=(std::nullptr_t)'
  - dropbox::oxygen::nn::nn
  - '&operator=(PtrType)'
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::nn
  - dropbox::oxygen::nn::get
  - operator==(const nn<L> &l, const R &r)
  - operator==(const L &l, const nn<R> &r)
  - operator==(const nn<L> &l, const nn<R> &r)
  - operator<(const nn<L> &l, const R &r)
  - operator<(const L &l, const nn<R> &r)
  - operator<(const nn<L> &l, const nn<R> &r)
  - '&operator<<(std::ostream &os, const nn<T> &p)'
  - NN_DERIVED_OPERATORS
  - dropbox::oxygen::nn_make_unique
  - dropbox::oxygen::nn_make_shared
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_enable_shared_from_this::nn_shared_from_this
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_addr
  - dropbox::oxygen::nn_static_pointer_cast
  - dropbox::oxygen::nn_dynamic_pointer_cast
  - dropbox::oxygen::nn_const_pointer_cast
  - operator()(const argument_type &obj) const
  - operator()(const argument_type &obj) const
  - NN_CHECK_ASSERT
  - NN_CHECK_THROW
  source_file: /src/PROJ/include/proj/nn.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: i_promise_i_checked_for_null_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn<nn<PtrType>>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: i_promise_i_checked_for_null_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn<nn<PtrType>>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: i_promise_i_checked_for_null_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn<nn<PtrType>>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: i_promise_i_checked_for_null_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: element_type<Pointee *>
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: is_nn<nn<PtrType>>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: hash<::dropbox::oxygen::nn<T>>
      pos:
        line_end: 344
        line_start: 338
        source_file: /src/PROJ/include/proj/nn.hpp
    - fields: []
      item_type: struct
      name: hash<::dropbox::oxygen::nn<T>>
      pos:
        line_end: 344
        line_start: 338
        source_file: /src/PROJ/include/proj/nn.hpp
    typedefs: []
    union: []
- function_names:
  - namespace
  - util::Exception
  - AxisDirection::AxisDirection
  - '&operator=(const AxisDirection &)'
  - AxisDirection::AxisDirection
  - '&operator=(AxisDirection &&)'
  source_file: /src/PROJ/include/proj/coordinatesystem.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - operator<(const GridDescription &other) const
  - operation::CoordinateTransformer
  - operator<(const GridDescription &other) const
  - operation::CoordinateTransformer
  - common::IdentifiedObject
  - GeneralOperationParameter
  - OperationParameterValue
  - util::Exception
  - CoordinateOperation
  - SingleOperation
  - PointMotionOperation
  - ConcatenatedOperation
  - CoordinateOperationFactory
  source_file: /src/PROJ/include/proj/coordinateoperation.hpp
  types:
    enum:
    - enumerators:
      - name: NONE
      - name: BOTH
      - name: INTERSECTION
      - name: SMALLEST
      item_type: enum
      name: SourceTargetCRSExtentUse
      pos:
        line_end: 2006
        line_start: 1995
        source_file: /src/PROJ/include/proj/coordinateoperation.hpp
    - enumerators:
      - name: STRICT_CONTAINMENT
      - name: PARTIAL_INTERSECTION
      item_type: enum
      name: SpatialCriterion
      pos:
        line_end: 2021
        line_start: 2013
        source_file: /src/PROJ/include/proj/coordinateoperation.hpp
    - enumerators:
      - name: USE_FOR_SORTING
      - name: DISCARD_OPERATION_IF_MISSING_GRID
      - name: IGNORE_GRID_AVAILABILITY
      - name: KNOWN_AVAILABLE
      item_type: enum
      name: GridAvailabilityUse
      pos:
        line_end: 2053
        line_start: 2036
        source_file: /src/PROJ/include/proj/coordinateoperation.hpp
    - enumerators:
      - name: ALWAYS
      - name: NEVER
      - name: IF_NO_DIRECT_TRANSFORMATION
      item_type: enum
      name: IntermediateCRSUse
      pos:
        line_end: 2070
        line_start: 2060
        source_file: /src/PROJ/include/proj/coordinateoperation.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: shortName
        type: std::string
      - name: fullName
        type: std::string
      - name: packageName
        type: std::string
      - name: url
        type: std::string
      - name: directDownload
        type: bool
      - name: openLicense
        type: bool
      - name: available
        type: bool
      - name: GridDescription()
        type: PROJ_DLL
      - name: GridDescription()
        type: PROJ_DLL
      - name: GridDescription(const GridDescription &)
        type: PROJ_DLL
      - name: GridDescription(GridDescription &&) noexcept
        type: PROJ_DLL
      item_type: struct
      name: GridDescription
      pos:
        line_end: 97
        line_start: 76
        source_file: /src/PROJ/include/proj/coordinateoperation.hpp
    - fields:
      - name: shortName
        type: std::string
      - name: fullName
        type: std::string
      - name: packageName
        type: std::string
      - name: url
        type: std::string
      - name: directDownload
        type: bool
      - name: openLicense
        type: bool
      - name: available
        type: bool
      - name: GridDescription()
        type: PROJ_DLL
      - name: GridDescription()
        type: PROJ_DLL
      - name: GridDescription(const GridDescription &)
        type: PROJ_DLL
      - name: GridDescription(GridDescription &&) noexcept
        type: PROJ_DLL
      item_type: struct
      name: GridDescription
      pos:
        line_end: 97
        line_start: 76
        source_file: /src/PROJ/include/proj/coordinateoperation.hpp
    typedefs: []
    union: []
- function_names:
  - namespace
  source_file: /src/PROJ/include/proj/internal/coordinatesystem_internal.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/include/proj/internal/datum_internal.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNKNOWN_ENGINEERING_DATUM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/include/proj/internal/datum_internal.hpp
      type_or_value: '"Unknown engineering datum"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/include/proj/internal/include_nlohmann_json.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: nlohmann
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/include/proj/internal/include_nlohmann_json.hpp
      type_or_value: proj_nlohmann
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - internal::down_cast
  - internal::starts_with
  - internal::starts_with
  - internal::down_cast
  - internal::starts_with
  - internal::starts_with
  source_file: /src/PROJ/include/proj/internal/internal.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/include/proj/internal/internal.hpp
      type_or_value: '[[fallthrough]]'
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/include/proj/internal/internal.hpp
      type_or_value: '[[gnu::fallthrough]]'
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/include/proj/internal/internal.hpp
      type_or_value: '[[clang::fallthrough]]'
    - item_type: preproc_def
      name: PROJ_FALLTHROUGH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/include/proj/internal/internal.hpp
      type_or_value: ((void)0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - TRACING_MERGE
  - TRACING_UNIQUE_NAME
  - ENTER_BLOCK
  - ENTER_FUNCTION
  - logTrace
  - ENTER_BLOCK
  - ENTER_FUNCTION
  source_file: /src/PROJ/include/proj/internal/tracing.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - NullLock::lock
  - NullLock::unlock
  - NullLock::try_lock
  - KeyNotFound::KeyNotFound
  - KeyNotFound::~KeyNotFound()
  - KeyValuePair
  - Cache::Cache
  - ~Cache()
  - Cache::size
  - Cache::empty
  - Cache::clear
  - Cache::insert
  - Cache::tryGet
  - '&get(const Key &key)'
  - Cache::getPtr
  - Cache::getCopy
  - Cache::remove
  - Cache::contains
  - Cache::getMaxSize
  - Cache::getElasticity
  - Cache::getMaxAllowedSize
  - Cache::cwalk
  - Cache::prune
  - Cache::Cache
  - '&operator=(const Cache &)'
  source_file: /src/PROJ/include/proj/internal/lru_cache.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: key
        type: K
      - name: value
        type: V
      item_type: struct
      name: KeyValuePair
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/PROJ/include/proj/internal/lru_cache.hpp
    typedefs:
    - item_type: typedef
      name: node_type
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/PROJ/include/proj/internal/lru_cache.hpp
      type: KeyValuePair
    - item_type: typedef
      name: list_type
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/PROJ/include/proj/internal/lru_cache.hpp
      type: list<KeyValuePair<Key, Value>>
    - item_type: typedef
      name: map_type
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/PROJ/include/proj/internal/lru_cache.hpp
      type: Map
    - item_type: typedef
      name: lock_type
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/PROJ/include/proj/internal/lru_cache.hpp
      type: Lock
    union: []
- function_names: []
  source_file: /src/PROJ/include/proj/internal/crs_internal.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NORMALIZED_AXIS_ORDER_SUFFIX_STR
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/PROJ/include/proj/internal/crs_internal.hpp
      type_or_value: '" (with axis order normalized for visualization)"'
    - item_type: preproc_def
      name: AXIS_ORDER_REVERSED_SUFFIX_STR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/include/proj/internal/crs_internal.hpp
      type_or_value: '" (with axis order reversed)"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - '&constants()'
  - projCppContext
  - projCppContext
  - getDbPath
  - getAuxDbPaths
  - getDatabaseContextIfOpen
  - closeDb
  source_file: /src/PROJ/include/proj/internal/io_internal.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CRS_SUBTYPE_GEOG_2D
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"geographic 2D"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_GEOG_3D
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"geographic 3D"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_GEOCENTRIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"geocentric"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_OTHER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"other"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_PROJECTED
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"projected"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_DERIVED_PROJECTED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"derived projected"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_ENGINEERING
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"engineering"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_VERTICAL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"vertical"'
    - item_type: preproc_def
      name: CRS_SUBTYPE_COMPOUND
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/include/proj/internal/io_internal.hpp
      type_or_value: '"compound"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator size_t() const
  - operator size_t() const
  - operator size_t() const
  - operator size_t() const
  - JSON_HEDLEY_STRINGIFY_EX
  - JSON_HEDLEY_STRINGIFY
  - JSON_HEDLEY_CONCAT_EX
  - JSON_HEDLEY_CONCAT
  - JSON_HEDLEY_CONCAT3_EX
  - JSON_HEDLEY_CONCAT3
  - JSON_HEDLEY_VERSION_ENCODE
  - JSON_HEDLEY_VERSION_DECODE_MAJOR
  - JSON_HEDLEY_VERSION_DECODE_MINOR
  - JSON_HEDLEY_VERSION_DECODE_REVISION
  - JSON_HEDLEY_GNUC_VERSION_CHECK
  - JSON_HEDLEY_GNUC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_INTEL_VERSION_CHECK
  - JSON_HEDLEY_INTEL_VERSION_CHECK
  - JSON_HEDLEY_PGI_VERSION_CHECK
  - JSON_HEDLEY_PGI_VERSION_CHECK
  - JSON_HEDLEY_SUNPRO_VERSION_CHECK
  - JSON_HEDLEY_SUNPRO_VERSION_CHECK
  - JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
  - JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
  - JSON_HEDLEY_ARM_VERSION_CHECK
  - JSON_HEDLEY_ARM_VERSION_CHECK
  - JSON_HEDLEY_IBM_VERSION_CHECK
  - JSON_HEDLEY_IBM_VERSION_CHECK
  - JSON_HEDLEY_TI_VERSION_CHECK
  - JSON_HEDLEY_TI_VERSION_CHECK
  - JSON_HEDLEY_TI_CL2000_VERSION_CHECK
  - JSON_HEDLEY_TI_CL2000_VERSION_CHECK
  - JSON_HEDLEY_TI_CL430_VERSION_CHECK
  - JSON_HEDLEY_TI_CL430_VERSION_CHECK
  - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
  - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
  - JSON_HEDLEY_TI_CL6X_VERSION_CHECK
  - JSON_HEDLEY_TI_CL6X_VERSION_CHECK
  - JSON_HEDLEY_TI_CL7X_VERSION_CHECK
  - JSON_HEDLEY_TI_CL7X_VERSION_CHECK
  - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
  - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
  - JSON_HEDLEY_CRAY_VERSION_CHECK
  - JSON_HEDLEY_CRAY_VERSION_CHECK
  - JSON_HEDLEY_IAR_VERSION_CHECK
  - JSON_HEDLEY_IAR_VERSION_CHECK
  - JSON_HEDLEY_TINYC_VERSION_CHECK
  - JSON_HEDLEY_TINYC_VERSION_CHECK
  - JSON_HEDLEY_DMC_VERSION_CHECK
  - JSON_HEDLEY_DMC_VERSION_CHECK
  - JSON_HEDLEY_COMPCERT_VERSION_CHECK
  - JSON_HEDLEY_COMPCERT_VERSION_CHECK
  - JSON_HEDLEY_PELLES_VERSION_CHECK
  - JSON_HEDLEY_PELLES_VERSION_CHECK
  - JSON_HEDLEY_GCC_VERSION_CHECK
  - JSON_HEDLEY_GCC_VERSION_CHECK
  - JSON_HEDLEY_HAS_ATTRIBUTE
  - JSON_HEDLEY_HAS_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_ATTRIBUTE
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
  - JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_HAS_BUILTIN
  - JSON_HEDLEY_HAS_BUILTIN
  - JSON_HEDLEY_GNUC_HAS_BUILTIN
  - JSON_HEDLEY_GNUC_HAS_BUILTIN
  - JSON_HEDLEY_GCC_HAS_BUILTIN
  - JSON_HEDLEY_GCC_HAS_BUILTIN
  - JSON_HEDLEY_HAS_FEATURE
  - JSON_HEDLEY_HAS_FEATURE
  - JSON_HEDLEY_GNUC_HAS_FEATURE
  - JSON_HEDLEY_GNUC_HAS_FEATURE
  - JSON_HEDLEY_GCC_HAS_FEATURE
  - JSON_HEDLEY_GCC_HAS_FEATURE
  - JSON_HEDLEY_HAS_EXTENSION
  - JSON_HEDLEY_HAS_EXTENSION
  - JSON_HEDLEY_GNUC_HAS_EXTENSION
  - JSON_HEDLEY_GNUC_HAS_EXTENSION
  - JSON_HEDLEY_GCC_HAS_EXTENSION
  - JSON_HEDLEY_GCC_HAS_EXTENSION
  - JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_HAS_WARNING
  - JSON_HEDLEY_HAS_WARNING
  - JSON_HEDLEY_GNUC_HAS_WARNING
  - JSON_HEDLEY_GNUC_HAS_WARNING
  - JSON_HEDLEY_GCC_HAS_WARNING
  - JSON_HEDLEY_GCC_HAS_WARNING
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_CONST_CAST
  - JSON_HEDLEY_CONST_CAST
  - JSON_HEDLEY_CONST_CAST
  - JSON_HEDLEY_REINTERPRET_CAST
  - JSON_HEDLEY_REINTERPRET_CAST
  - JSON_HEDLEY_STATIC_CAST
  - JSON_HEDLEY_STATIC_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_PRAGMA
  - JSON_HEDLEY_PRAGMA
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_UNAVAILABLE
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_SENTINEL
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_UNREACHABLE
  - JSON_HEDLEY_UNREACHABLE
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_UNREACHABLE_RETURN
  - JSON_HEDLEY_UNREACHABLE_RETURN
  - JSON_HEDLEY_UNREACHABLE_RETURN
  - JSON_HEDLEY_UNREACHABLE
  - JSON_HEDLEY_NON_NULL
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_UNPREDICTABLE
  - JSON_HEDLEY_PREDICT
  - JSON_HEDLEY_PREDICT_TRUE
  - JSON_HEDLEY_PREDICT_FALSE
  - JSON_HEDLEY_LIKELY
  - JSON_HEDLEY_UNLIKELY
  - JSON_HEDLEY_PREDICT
  - JSON_HEDLEY_PREDICT_TRUE
  - JSON_HEDLEY_PREDICT_FALSE
  - JSON_HEDLEY_LIKELY
  - JSON_HEDLEY_UNLIKELY
  - JSON_HEDLEY_PREDICT
  - JSON_HEDLEY_PREDICT_TRUE
  - JSON_HEDLEY_PREDICT_FALSE
  - JSON_HEDLEY_LIKELY
  - JSON_HEDLEY_UNLIKELY
  - JSON_HEDLEY_UNPREDICTABLE
  - JSON_HEDLEY_ARRAY_PARAM
  - JSON_HEDLEY_IS_CONSTANT
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTANT
  - JSON_HEDLEY_REQUIRE_CONSTEXPR
  - JSON_HEDLEY_IS_CONSTANT
  - JSON_HEDLEY_REQUIRE_CONSTEXPR
  - JSON_HEDLEY_STATIC_ASSERT
  - JSON_HEDLEY_STATIC_ASSERT
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_REQUIRE
  - JSON_HEDLEY_REQUIRE_MSG
  - JSON_HEDLEY_REQUIRE
  - JSON_HEDLEY_REQUIRE_MSG
  - JSON_HEDLEY_FLAGS_CAST
  - JSON_HEDLEY_FLAGS_CAST
  - JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
  - JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
  - JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
  - JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_CLANG_HAS_BUILTIN
  - JSON_HEDLEY_CLANG_HAS_FEATURE
  - JSON_HEDLEY_CLANG_HAS_EXTENSION
  - JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_CLANG_HAS_WARNING
  - JSON_THROW
  - JSON_CATCH
  - JSON_INTERNAL_CATCH
  - JSON_THROW
  - JSON_CATCH
  - JSON_INTERNAL_CATCH
  - JSON_ASSERT
  - NLOHMANN_JSON_SERIALIZE_ENUM
  - NLOHMANN_JSON_EXPAND
  - NLOHMANN_JSON_GET_MACRO
  - NLOHMANN_JSON_PASTE
  - NLOHMANN_JSON_PASTE2
  - NLOHMANN_JSON_PASTE3
  - NLOHMANN_JSON_PASTE4
  - NLOHMANN_JSON_PASTE5
  - NLOHMANN_JSON_PASTE6
  - NLOHMANN_JSON_PASTE7
  - NLOHMANN_JSON_PASTE8
  - NLOHMANN_JSON_PASTE9
  - NLOHMANN_JSON_PASTE10
  - NLOHMANN_JSON_PASTE11
  - NLOHMANN_JSON_PASTE12
  - NLOHMANN_JSON_PASTE13
  - NLOHMANN_JSON_PASTE14
  - NLOHMANN_JSON_PASTE15
  - NLOHMANN_JSON_PASTE16
  - NLOHMANN_JSON_PASTE17
  - NLOHMANN_JSON_PASTE18
  - NLOHMANN_JSON_PASTE19
  - NLOHMANN_JSON_PASTE20
  - NLOHMANN_JSON_PASTE21
  - NLOHMANN_JSON_PASTE22
  - NLOHMANN_JSON_PASTE23
  - NLOHMANN_JSON_PASTE24
  - NLOHMANN_JSON_PASTE25
  - NLOHMANN_JSON_PASTE26
  - NLOHMANN_JSON_PASTE27
  - NLOHMANN_JSON_PASTE28
  - NLOHMANN_JSON_PASTE29
  - NLOHMANN_JSON_PASTE30
  - NLOHMANN_JSON_PASTE31
  - NLOHMANN_JSON_PASTE32
  - NLOHMANN_JSON_PASTE33
  - NLOHMANN_JSON_PASTE34
  - NLOHMANN_JSON_PASTE35
  - NLOHMANN_JSON_PASTE36
  - NLOHMANN_JSON_PASTE37
  - NLOHMANN_JSON_PASTE38
  - NLOHMANN_JSON_PASTE39
  - NLOHMANN_JSON_PASTE40
  - NLOHMANN_JSON_PASTE41
  - NLOHMANN_JSON_PASTE42
  - NLOHMANN_JSON_PASTE43
  - NLOHMANN_JSON_PASTE44
  - NLOHMANN_JSON_PASTE45
  - NLOHMANN_JSON_PASTE46
  - NLOHMANN_JSON_PASTE47
  - NLOHMANN_JSON_PASTE48
  - NLOHMANN_JSON_PASTE49
  - NLOHMANN_JSON_PASTE50
  - NLOHMANN_JSON_PASTE51
  - NLOHMANN_JSON_PASTE52
  - NLOHMANN_JSON_PASTE53
  - NLOHMANN_JSON_PASTE54
  - NLOHMANN_JSON_PASTE55
  - NLOHMANN_JSON_PASTE56
  - NLOHMANN_JSON_PASTE57
  - NLOHMANN_JSON_PASTE58
  - NLOHMANN_JSON_PASTE59
  - NLOHMANN_JSON_PASTE60
  - NLOHMANN_JSON_PASTE61
  - NLOHMANN_JSON_PASTE62
  - NLOHMANN_JSON_PASTE63
  - NLOHMANN_JSON_PASTE64
  - NLOHMANN_JSON_TO
  - NLOHMANN_JSON_FROM
  - NLOHMANN_DEFINE_TYPE_INTRUSIVE
  - NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE
  - nlohmann::detail::exception::what
  - "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
  - nlohmann::detail::exception::name
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::parse_error
  - nlohmann::detail::parse_error::position_string
  - nlohmann::detail::invalid_iterator::create
  - "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        : exception(id_,
    what_arg)"
  - nlohmann::detail::type_error::create
  - "(3)\n    type_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::out_of_range::create
  - "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::other_error::create
  - "(3)\n    other_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::exception::what
  - "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
  - nlohmann::detail::exception::name
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::parse_error
  - nlohmann::detail::parse_error::position_string
  - nlohmann::detail::invalid_iterator::create
  - "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        : exception(id_,
    what_arg)"
  - nlohmann::detail::type_error::create
  - "(3)\n    type_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::out_of_range::create
  - "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::other_error::create
  - "(3)\n    other_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::exception::what
  - "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
  - nlohmann::detail::exception::name
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::parse_error
  - nlohmann::detail::parse_error::position_string
  - nlohmann::detail::invalid_iterator::create
  - "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        : exception(id_,
    what_arg)"
  - nlohmann::detail::type_error::create
  - "(3)\n    type_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::out_of_range::create
  - "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::other_error::create
  - "(3)\n    other_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::exception::what
  - "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
  - nlohmann::detail::exception::name
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::create
  - nlohmann::detail::parse_error::parse_error
  - nlohmann::detail::parse_error::position_string
  - nlohmann::detail::invalid_iterator::create
  - "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        : exception(id_,
    what_arg)"
  - nlohmann::detail::type_error::create
  - "(3)\n    type_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::out_of_range::create
  - "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::other_error::create
  - "(3)\n    other_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - nlohmann::detail::size
  - nlohmann::detail::size
  - nlohmann::detail::size
  - nlohmann::detail::size
  - nlohmann::detail::nonesuch
  - ~nonesuch()
  - nlohmann::detail::nonesuch
  - nlohmann::detail::nonesuch
  - operator=(nonesuch const&)
  - operator=(nonesuch&&)
  - nlohmann::detail::nonesuch
  - ~nonesuch()
  - nlohmann::detail::nonesuch
  - nlohmann::detail::nonesuch
  - operator=(nonesuch const&)
  - operator=(nonesuch&&)
  - nlohmann::detail::nonesuch
  - ~nonesuch()
  - nlohmann::detail::nonesuch
  - nlohmann::detail::nonesuch
  - operator=(nonesuch const&)
  - operator=(nonesuch&&)
  - nlohmann::detail::nonesuch
  - ~nonesuch()
  - nlohmann::detail::nonesuch
  - nlohmann::detail::nonesuch
  - operator=(nonesuch const&)
  - operator=(nonesuch&&)
  - operator<(const value_t lhs, const value_t rhs) noexcept
  - operator<(const value_t lhs, const value_t rhs) noexcept
  - operator<(const value_t lhs, const value_t rhs) noexcept
  - operator<(const value_t lhs, const value_t rhs) noexcept
  - nlohmann::detail::from_json
  - nlohmann::detail::get_arithmetic_value
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_tuple_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
    val)))\n    -> decltype(from_json(j, val), void())"
  - nlohmann::detail::from_json
  - nlohmann::detail::get_arithmetic_value
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_tuple_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
    val)))\n    -> decltype(from_json(j, val), void())"
  - nlohmann::detail::from_json
  - nlohmann::detail::get_arithmetic_value
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_tuple_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
    val)))\n    -> decltype(from_json(j, val), void())"
  - nlohmann::detail::from_json
  - nlohmann::detail::get_arithmetic_value
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json_array_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json_tuple_impl
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - nlohmann::detail::from_json
  - "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
    val)))\n    -> decltype(from_json(j, val), void())"
  - nlohmann::detail::int_to_string
  - nlohmann::detail::iteration_proxy_value::iteration_proxy_value
  - '& operator*()'
  - '& operator++()'
  - operator==(const iteration_proxy_value& o) const
  - operator!=(const iteration_proxy_value& o) const
  - '& key() const'
  - nlohmann::detail::iteration_proxy_value::value
  - nlohmann::detail::iteration_proxy::iteration_proxy
  - nlohmann::detail::iteration_proxy::begin
  - nlohmann::detail::iteration_proxy::end
  - nlohmann::detail::get
  - nlohmann::detail::get
  - nlohmann::detail::int_to_string
  - nlohmann::detail::iteration_proxy_value::iteration_proxy_value
  - '& operator*()'
  - '& operator++()'
  - operator==(const iteration_proxy_value& o) const
  - operator!=(const iteration_proxy_value& o) const
  - '& key() const'
  - nlohmann::detail::iteration_proxy_value::value
  - nlohmann::detail::iteration_proxy::iteration_proxy
  - nlohmann::detail::iteration_proxy::begin
  - nlohmann::detail::iteration_proxy::end
  - nlohmann::detail::get
  - nlohmann::detail::get
  - nlohmann::detail::int_to_string
  - nlohmann::detail::iteration_proxy_value::iteration_proxy_value
  - '& operator*()'
  - '& operator++()'
  - operator==(const iteration_proxy_value& o) const
  - operator!=(const iteration_proxy_value& o) const
  - '& key() const'
  - nlohmann::detail::iteration_proxy_value::value
  - nlohmann::detail::iteration_proxy::iteration_proxy
  - nlohmann::detail::iteration_proxy::begin
  - nlohmann::detail::iteration_proxy::end
  - nlohmann::detail::get
  - nlohmann::detail::get
  - nlohmann::detail::int_to_string
  - nlohmann::detail::iteration_proxy_value::iteration_proxy_value
  - '& operator*()'
  - '& operator++()'
  - operator==(const iteration_proxy_value& o) const
  - operator!=(const iteration_proxy_value& o) const
  - '& key() const'
  - nlohmann::detail::iteration_proxy_value::value
  - nlohmann::detail::iteration_proxy::iteration_proxy
  - nlohmann::detail::iteration_proxy::begin
  - nlohmann::detail::iteration_proxy::end
  - nlohmann::detail::get
  - nlohmann::detail::get
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json_tuple_impl
  - nlohmann::detail::to_json
  - "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))\n
    \   -> decltype(to_json(j, std::forward<T>(val)), void())"
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json_tuple_impl
  - nlohmann::detail::to_json
  - "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))\n
    \   -> decltype(to_json(j, std::forward<T>(val)), void())"
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json_tuple_impl
  - nlohmann::detail::to_json
  - "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))\n
    \   -> decltype(to_json(j, std::forward<T>(val)), void())"
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::construct
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json
  - nlohmann::detail::to_json_tuple_impl
  - nlohmann::detail::to_json
  - "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))\n
    \   -> decltype(to_json(j, std::forward<T>(val)), void())"
  - nlohmann::from_json
  - nlohmann::to_json
  - nlohmann::from_json
  - nlohmann::to_json
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - operator==(const byte_container_with_subtype& rhs) const
  - operator!=(const byte_container_with_subtype& rhs) const
  - nlohmann::byte_container_with_subtype::set_subtype
  - nlohmann::byte_container_with_subtype::subtype
  - nlohmann::byte_container_with_subtype::has_subtype
  - nlohmann::byte_container_with_subtype::clear_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - nlohmann::byte_container_with_subtype::byte_container_with_subtype
  - operator==(const byte_container_with_subtype& rhs) const
  - operator!=(const byte_container_with_subtype& rhs) const
  - nlohmann::byte_container_with_subtype::set_subtype
  - nlohmann::byte_container_with_subtype::subtype
  - nlohmann::byte_container_with_subtype::has_subtype
  - nlohmann::byte_container_with_subtype::clear_subtype
  - nlohmann::detail::combine
  - nlohmann::detail::hash
  - nlohmann::detail::combine
  - nlohmann::detail::hash
  - nlohmann::detail::combine
  - nlohmann::detail::hash
  - nlohmann::detail::combine
  - nlohmann::detail::hash
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - '& operator=(const file_input_adapter&)'
  - '& operator=(file_input_adapter&&)'
  - nlohmann::detail::file_input_adapter::get_character
  - ~input_stream_adapter()
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - '& operator=(input_stream_adapter&)'
  - '& operator=(input_stream_adapter&& rhs)'
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::iterator_input_adapter
  - nlohmann::detail::iterator_input_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::empty
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
  - nlohmann::detail::wide_string_input_adapter::get_character
  - nlohmann::detail::wide_string_input_adapter::fill_buffer
  - nlohmann::detail::create
  - nlohmann::detail::create
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - '&& get()'
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - '& operator=(const file_input_adapter&)'
  - '& operator=(file_input_adapter&&)'
  - nlohmann::detail::file_input_adapter::get_character
  - ~input_stream_adapter()
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - '& operator=(input_stream_adapter&)'
  - '& operator=(input_stream_adapter&& rhs)'
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::iterator_input_adapter
  - nlohmann::detail::iterator_input_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::empty
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
  - nlohmann::detail::wide_string_input_adapter::get_character
  - nlohmann::detail::wide_string_input_adapter::fill_buffer
  - nlohmann::detail::create
  - nlohmann::detail::create
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - '&& get()'
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - '& operator=(const file_input_adapter&)'
  - '& operator=(file_input_adapter&&)'
  - nlohmann::detail::file_input_adapter::get_character
  - ~input_stream_adapter()
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - '& operator=(input_stream_adapter&)'
  - '& operator=(input_stream_adapter&& rhs)'
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::iterator_input_adapter
  - nlohmann::detail::iterator_input_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::empty
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
  - nlohmann::detail::wide_string_input_adapter::get_character
  - nlohmann::detail::wide_string_input_adapter::fill_buffer
  - nlohmann::detail::create
  - nlohmann::detail::create
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - '&& get()'
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - nlohmann::detail::file_input_adapter::file_input_adapter
  - '& operator=(const file_input_adapter&)'
  - '& operator=(file_input_adapter&&)'
  - nlohmann::detail::file_input_adapter::get_character
  - ~input_stream_adapter()
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - '& operator=(input_stream_adapter&)'
  - '& operator=(input_stream_adapter&& rhs)'
  - nlohmann::detail::input_stream_adapter::input_stream_adapter
  - nlohmann::detail::input_stream_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::iterator_input_adapter
  - nlohmann::detail::iterator_input_adapter::get_character
  - nlohmann::detail::iterator_input_adapter::empty
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::fill_buffer
  - nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
  - nlohmann::detail::wide_string_input_adapter::get_character
  - nlohmann::detail::wide_string_input_adapter::fill_buffer
  - nlohmann::detail::create
  - nlohmann::detail::create
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - nlohmann::detail::span_input_adapter::span_input_adapter
  - '&& get()'
  - ~json_sax()
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - '& operator=(const json_sax_dom_parser&)'
  - '& operator=(json_sax_dom_parser&&)'
  - ~json_sax_dom_parser()
  - nlohmann::detail::json_sax_dom_parser::null
  - nlohmann::detail::json_sax_dom_parser::boolean
  - nlohmann::detail::json_sax_dom_parser::number_integer
  - nlohmann::detail::json_sax_dom_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_parser::number_float
  - nlohmann::detail::json_sax_dom_parser::string
  - nlohmann::detail::json_sax_dom_parser::binary
  - nlohmann::detail::json_sax_dom_parser::start_object
  - nlohmann::detail::json_sax_dom_parser::key
  - nlohmann::detail::json_sax_dom_parser::end_object
  - nlohmann::detail::json_sax_dom_parser::start_array
  - nlohmann::detail::json_sax_dom_parser::end_array
  - nlohmann::detail::json_sax_dom_parser::parse_error
  - nlohmann::detail::json_sax_dom_parser::is_errored
  - BasicJsonType* handle_value(Value&& v)
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - '& operator=(const json_sax_dom_callback_parser&)'
  - '& operator=(json_sax_dom_callback_parser&&)'
  - ~json_sax_dom_callback_parser()
  - nlohmann::detail::json_sax_dom_callback_parser::null
  - nlohmann::detail::json_sax_dom_callback_parser::boolean
  - nlohmann::detail::json_sax_dom_callback_parser::number_integer
  - nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_callback_parser::number_float
  - nlohmann::detail::json_sax_dom_callback_parser::string
  - nlohmann::detail::json_sax_dom_callback_parser::binary
  - nlohmann::detail::json_sax_dom_callback_parser::start_object
  - nlohmann::detail::json_sax_dom_callback_parser::key
  - nlohmann::detail::json_sax_dom_callback_parser::end_object
  - nlohmann::detail::json_sax_dom_callback_parser::start_array
  - nlohmann::detail::json_sax_dom_callback_parser::end_array
  - nlohmann::detail::json_sax_dom_callback_parser::parse_error
  - nlohmann::detail::json_sax_dom_callback_parser::is_errored
  - nlohmann::detail::json_sax_dom_callback_parser::handle_value
  - nlohmann::detail::json_sax_acceptor::null
  - nlohmann::detail::json_sax_acceptor::boolean
  - nlohmann::detail::json_sax_acceptor::number_integer
  - nlohmann::detail::json_sax_acceptor::number_unsigned
  - nlohmann::detail::json_sax_acceptor::number_float
  - nlohmann::detail::json_sax_acceptor::string
  - nlohmann::detail::json_sax_acceptor::binary
  - nlohmann::detail::json_sax_acceptor::start_object
  - nlohmann::detail::json_sax_acceptor::key
  - nlohmann::detail::json_sax_acceptor::end_object
  - nlohmann::detail::json_sax_acceptor::start_array
  - nlohmann::detail::json_sax_acceptor::end_array
  - nlohmann::detail::json_sax_acceptor::parse_error
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - '& operator=(const json_sax_dom_parser&)'
  - '& operator=(json_sax_dom_parser&&)'
  - ~json_sax_dom_parser()
  - nlohmann::detail::json_sax_dom_parser::null
  - nlohmann::detail::json_sax_dom_parser::boolean
  - nlohmann::detail::json_sax_dom_parser::number_integer
  - nlohmann::detail::json_sax_dom_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_parser::number_float
  - nlohmann::detail::json_sax_dom_parser::string
  - nlohmann::detail::json_sax_dom_parser::binary
  - nlohmann::detail::json_sax_dom_parser::start_object
  - nlohmann::detail::json_sax_dom_parser::key
  - nlohmann::detail::json_sax_dom_parser::end_object
  - nlohmann::detail::json_sax_dom_parser::start_array
  - nlohmann::detail::json_sax_dom_parser::end_array
  - nlohmann::detail::json_sax_dom_parser::parse_error
  - nlohmann::detail::json_sax_dom_parser::is_errored
  - BasicJsonType* handle_value(Value&& v)
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - '& operator=(const json_sax_dom_callback_parser&)'
  - '& operator=(json_sax_dom_callback_parser&&)'
  - ~json_sax_dom_callback_parser()
  - nlohmann::detail::json_sax_dom_callback_parser::null
  - nlohmann::detail::json_sax_dom_callback_parser::boolean
  - nlohmann::detail::json_sax_dom_callback_parser::number_integer
  - nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_callback_parser::number_float
  - nlohmann::detail::json_sax_dom_callback_parser::string
  - nlohmann::detail::json_sax_dom_callback_parser::binary
  - nlohmann::detail::json_sax_dom_callback_parser::start_object
  - nlohmann::detail::json_sax_dom_callback_parser::key
  - nlohmann::detail::json_sax_dom_callback_parser::end_object
  - nlohmann::detail::json_sax_dom_callback_parser::start_array
  - nlohmann::detail::json_sax_dom_callback_parser::end_array
  - nlohmann::detail::json_sax_dom_callback_parser::parse_error
  - nlohmann::detail::json_sax_dom_callback_parser::is_errored
  - nlohmann::detail::json_sax_dom_callback_parser::handle_value
  - nlohmann::detail::json_sax_acceptor::null
  - nlohmann::detail::json_sax_acceptor::boolean
  - nlohmann::detail::json_sax_acceptor::number_integer
  - nlohmann::detail::json_sax_acceptor::number_unsigned
  - nlohmann::detail::json_sax_acceptor::number_float
  - nlohmann::detail::json_sax_acceptor::string
  - nlohmann::detail::json_sax_acceptor::binary
  - nlohmann::detail::json_sax_acceptor::start_object
  - nlohmann::detail::json_sax_acceptor::key
  - nlohmann::detail::json_sax_acceptor::end_object
  - nlohmann::detail::json_sax_acceptor::start_array
  - nlohmann::detail::json_sax_acceptor::end_array
  - nlohmann::detail::json_sax_acceptor::parse_error
  - ~json_sax()
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - '& operator=(const json_sax_dom_parser&)'
  - '& operator=(json_sax_dom_parser&&)'
  - ~json_sax_dom_parser()
  - nlohmann::detail::json_sax_dom_parser::null
  - nlohmann::detail::json_sax_dom_parser::boolean
  - nlohmann::detail::json_sax_dom_parser::number_integer
  - nlohmann::detail::json_sax_dom_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_parser::number_float
  - nlohmann::detail::json_sax_dom_parser::string
  - nlohmann::detail::json_sax_dom_parser::binary
  - nlohmann::detail::json_sax_dom_parser::start_object
  - nlohmann::detail::json_sax_dom_parser::key
  - nlohmann::detail::json_sax_dom_parser::end_object
  - nlohmann::detail::json_sax_dom_parser::start_array
  - nlohmann::detail::json_sax_dom_parser::end_array
  - nlohmann::detail::json_sax_dom_parser::parse_error
  - nlohmann::detail::json_sax_dom_parser::is_errored
  - BasicJsonType* handle_value(Value&& v)
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - '& operator=(const json_sax_dom_callback_parser&)'
  - '& operator=(json_sax_dom_callback_parser&&)'
  - ~json_sax_dom_callback_parser()
  - nlohmann::detail::json_sax_dom_callback_parser::null
  - nlohmann::detail::json_sax_dom_callback_parser::boolean
  - nlohmann::detail::json_sax_dom_callback_parser::number_integer
  - nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_callback_parser::number_float
  - nlohmann::detail::json_sax_dom_callback_parser::string
  - nlohmann::detail::json_sax_dom_callback_parser::binary
  - nlohmann::detail::json_sax_dom_callback_parser::start_object
  - nlohmann::detail::json_sax_dom_callback_parser::key
  - nlohmann::detail::json_sax_dom_callback_parser::end_object
  - nlohmann::detail::json_sax_dom_callback_parser::start_array
  - nlohmann::detail::json_sax_dom_callback_parser::end_array
  - nlohmann::detail::json_sax_dom_callback_parser::parse_error
  - nlohmann::detail::json_sax_dom_callback_parser::is_errored
  - nlohmann::detail::json_sax_dom_callback_parser::handle_value
  - nlohmann::detail::json_sax_acceptor::null
  - nlohmann::detail::json_sax_acceptor::boolean
  - nlohmann::detail::json_sax_acceptor::number_integer
  - nlohmann::detail::json_sax_acceptor::number_unsigned
  - nlohmann::detail::json_sax_acceptor::number_float
  - nlohmann::detail::json_sax_acceptor::string
  - nlohmann::detail::json_sax_acceptor::binary
  - nlohmann::detail::json_sax_acceptor::start_object
  - nlohmann::detail::json_sax_acceptor::key
  - nlohmann::detail::json_sax_acceptor::end_object
  - nlohmann::detail::json_sax_acceptor::start_array
  - nlohmann::detail::json_sax_acceptor::end_array
  - nlohmann::detail::json_sax_acceptor::parse_error
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
  - '& operator=(const json_sax_dom_parser&)'
  - '& operator=(json_sax_dom_parser&&)'
  - ~json_sax_dom_parser()
  - nlohmann::detail::json_sax_dom_parser::null
  - nlohmann::detail::json_sax_dom_parser::boolean
  - nlohmann::detail::json_sax_dom_parser::number_integer
  - nlohmann::detail::json_sax_dom_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_parser::number_float
  - nlohmann::detail::json_sax_dom_parser::string
  - nlohmann::detail::json_sax_dom_parser::binary
  - nlohmann::detail::json_sax_dom_parser::start_object
  - nlohmann::detail::json_sax_dom_parser::key
  - nlohmann::detail::json_sax_dom_parser::end_object
  - nlohmann::detail::json_sax_dom_parser::start_array
  - nlohmann::detail::json_sax_dom_parser::end_array
  - nlohmann::detail::json_sax_dom_parser::parse_error
  - nlohmann::detail::json_sax_dom_parser::is_errored
  - BasicJsonType* handle_value(Value&& v)
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - '& operator=(const json_sax_dom_callback_parser&)'
  - '& operator=(json_sax_dom_callback_parser&&)'
  - ~json_sax_dom_callback_parser()
  - nlohmann::detail::json_sax_dom_callback_parser::null
  - nlohmann::detail::json_sax_dom_callback_parser::boolean
  - nlohmann::detail::json_sax_dom_callback_parser::number_integer
  - nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
  - nlohmann::detail::json_sax_dom_callback_parser::number_float
  - nlohmann::detail::json_sax_dom_callback_parser::string
  - nlohmann::detail::json_sax_dom_callback_parser::binary
  - nlohmann::detail::json_sax_dom_callback_parser::start_object
  - nlohmann::detail::json_sax_dom_callback_parser::key
  - nlohmann::detail::json_sax_dom_callback_parser::end_object
  - nlohmann::detail::json_sax_dom_callback_parser::start_array
  - nlohmann::detail::json_sax_dom_callback_parser::end_array
  - nlohmann::detail::json_sax_dom_callback_parser::parse_error
  - nlohmann::detail::json_sax_dom_callback_parser::is_errored
  - nlohmann::detail::json_sax_dom_callback_parser::handle_value
  - nlohmann::detail::json_sax_acceptor::null
  - nlohmann::detail::json_sax_acceptor::boolean
  - nlohmann::detail::json_sax_acceptor::number_integer
  - nlohmann::detail::json_sax_acceptor::number_unsigned
  - nlohmann::detail::json_sax_acceptor::number_float
  - nlohmann::detail::json_sax_acceptor::string
  - nlohmann::detail::json_sax_acceptor::binary
  - nlohmann::detail::json_sax_acceptor::start_object
  - nlohmann::detail::json_sax_acceptor::key
  - nlohmann::detail::json_sax_acceptor::end_object
  - nlohmann::detail::json_sax_acceptor::start_array
  - nlohmann::detail::json_sax_acceptor::end_array
  - nlohmann::detail::json_sax_acceptor::parse_error
  - nlohmann::detail::lexer_base::token_type_name
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - '& operator=(lexer&)'
  - '& operator=(lexer&&)'
  - ~lexer()
  - nlohmann::detail::lexer::get_decimal_point
  - nlohmann::detail::lexer::get_codepoint
  - nlohmann::detail::lexer::next_byte_in_range
  - nlohmann::detail::lexer::scan_string
  - nlohmann::detail::lexer::scan_comment
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::scan_number
  - nlohmann::detail::lexer_base::token_type_name
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - '& operator=(lexer&)'
  - '& operator=(lexer&&)'
  - ~lexer()
  - nlohmann::detail::lexer::get_decimal_point
  - nlohmann::detail::lexer::get_codepoint
  - nlohmann::detail::lexer::next_byte_in_range
  - nlohmann::detail::lexer::scan_string
  - nlohmann::detail::lexer::scan_comment
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::scan_number
  - nlohmann::detail::lexer_base::token_type_name
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - '& operator=(lexer&)'
  - '& operator=(lexer&&)'
  - ~lexer()
  - nlohmann::detail::lexer::get_decimal_point
  - nlohmann::detail::lexer::get_codepoint
  - nlohmann::detail::lexer::next_byte_in_range
  - nlohmann::detail::lexer::scan_string
  - nlohmann::detail::lexer::scan_comment
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::scan_number
  - nlohmann::detail::lexer_base::token_type_name
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - nlohmann::detail::lexer::lexer
  - '& operator=(lexer&)'
  - '& operator=(lexer&&)'
  - ~lexer()
  - nlohmann::detail::lexer::get_decimal_point
  - nlohmann::detail::lexer::get_codepoint
  - nlohmann::detail::lexer::next_byte_in_range
  - nlohmann::detail::lexer::scan_string
  - nlohmann::detail::lexer::scan_comment
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::strtof
  - nlohmann::detail::lexer::scan_number
  - reset
  - get
  - unget
  - add
  - get_number_unsigned
  - get_number_float
  - get_string
  - get_position
  - get_token_string
  - get_error_message
  - skip_bom
  - skip_whitespace
  - scan
  - nlohmann::detail::little_endianess
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - '& operator=(const binary_reader&)'
  - '& operator=(binary_reader&&)'
  - ~binary_reader()
  - "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
    sax_,\n                   const bool strict = true,\n                   const
    cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - nlohmann::detail::binary_reader::parse_bson_internal
  - nlohmann::detail::binary_reader::get_bson_cstr
  - nlohmann::detail::binary_reader::get_bson_string
  - nlohmann::detail::binary_reader::get_bson_binary
  - nlohmann::detail::binary_reader::parse_bson_element_internal
  - nlohmann::detail::binary_reader::parse_bson_element_list
  - nlohmann::detail::binary_reader::parse_bson_array
  - nlohmann::detail::binary_reader::parse_cbor_internal
  - nlohmann::detail::binary_reader::get_cbor_string
  - nlohmann::detail::binary_reader::get_cbor_binary
  - nlohmann::detail::binary_reader::get_cbor_array
  - nlohmann::detail::binary_reader::get_cbor_object
  - nlohmann::detail::binary_reader::parse_msgpack_internal
  - nlohmann::detail::binary_reader::get_msgpack_string
  - nlohmann::detail::binary_reader::get_msgpack_binary
  - nlohmann::detail::binary_reader::get_msgpack_array
  - nlohmann::detail::binary_reader::get_msgpack_object
  - nlohmann::detail::binary_reader::parse_ubjson_internal
  - nlohmann::detail::binary_reader::get_ubjson_string
  - nlohmann::detail::binary_reader::get_ubjson_size_value
  - nlohmann::detail::binary_reader::get_ubjson_size_type
  - nlohmann::detail::binary_reader::get_ubjson_value
  - nlohmann::detail::binary_reader::get_ubjson_array
  - nlohmann::detail::binary_reader::get_ubjson_object
  - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
  - nlohmann::detail::binary_reader::get
  - nlohmann::detail::binary_reader::get_ignore_noop
  - nlohmann::detail::binary_reader::get_number
  - nlohmann::detail::binary_reader::get_string
  - nlohmann::detail::binary_reader::get_binary
  - "(3)\n    bool unexpect_eof(const input_format_t format, const char* context)
    const"
  - nlohmann::detail::binary_reader::get_token_string
  - nlohmann::detail::binary_reader::exception_message
  - nlohmann::detail::little_endianess
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - '& operator=(const binary_reader&)'
  - '& operator=(binary_reader&&)'
  - ~binary_reader()
  - "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
    sax_,\n                   const bool strict = true,\n                   const
    cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - nlohmann::detail::binary_reader::parse_bson_internal
  - nlohmann::detail::binary_reader::get_bson_cstr
  - nlohmann::detail::binary_reader::get_bson_string
  - nlohmann::detail::binary_reader::get_bson_binary
  - nlohmann::detail::binary_reader::parse_bson_element_internal
  - nlohmann::detail::binary_reader::parse_bson_element_list
  - nlohmann::detail::binary_reader::parse_bson_array
  - nlohmann::detail::binary_reader::parse_cbor_internal
  - nlohmann::detail::binary_reader::get_cbor_string
  - nlohmann::detail::binary_reader::get_cbor_binary
  - nlohmann::detail::binary_reader::get_cbor_array
  - nlohmann::detail::binary_reader::get_cbor_object
  - nlohmann::detail::binary_reader::parse_msgpack_internal
  - nlohmann::detail::binary_reader::get_msgpack_string
  - nlohmann::detail::binary_reader::get_msgpack_binary
  - nlohmann::detail::binary_reader::get_msgpack_array
  - nlohmann::detail::binary_reader::get_msgpack_object
  - nlohmann::detail::binary_reader::parse_ubjson_internal
  - nlohmann::detail::binary_reader::get_ubjson_string
  - nlohmann::detail::binary_reader::get_ubjson_size_value
  - nlohmann::detail::binary_reader::get_ubjson_size_type
  - nlohmann::detail::binary_reader::get_ubjson_value
  - nlohmann::detail::binary_reader::get_ubjson_array
  - nlohmann::detail::binary_reader::get_ubjson_object
  - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
  - nlohmann::detail::binary_reader::get
  - nlohmann::detail::binary_reader::get_ignore_noop
  - nlohmann::detail::binary_reader::get_number
  - nlohmann::detail::binary_reader::get_string
  - nlohmann::detail::binary_reader::get_binary
  - "(3)\n    bool unexpect_eof(const input_format_t format, const char* context)
    const"
  - nlohmann::detail::binary_reader::get_token_string
  - nlohmann::detail::binary_reader::exception_message
  - nlohmann::detail::little_endianess
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - '& operator=(const binary_reader&)'
  - '& operator=(binary_reader&&)'
  - ~binary_reader()
  - "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
    sax_,\n                   const bool strict = true,\n                   const
    cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - nlohmann::detail::binary_reader::parse_bson_internal
  - nlohmann::detail::binary_reader::get_bson_cstr
  - nlohmann::detail::binary_reader::get_bson_string
  - nlohmann::detail::binary_reader::get_bson_binary
  - nlohmann::detail::binary_reader::parse_bson_element_internal
  - nlohmann::detail::binary_reader::parse_bson_element_list
  - nlohmann::detail::binary_reader::parse_bson_array
  - nlohmann::detail::binary_reader::parse_cbor_internal
  - nlohmann::detail::binary_reader::get_cbor_string
  - nlohmann::detail::binary_reader::get_cbor_binary
  - nlohmann::detail::binary_reader::get_cbor_array
  - nlohmann::detail::binary_reader::get_cbor_object
  - nlohmann::detail::binary_reader::parse_msgpack_internal
  - nlohmann::detail::binary_reader::get_msgpack_string
  - nlohmann::detail::binary_reader::get_msgpack_binary
  - nlohmann::detail::binary_reader::get_msgpack_array
  - nlohmann::detail::binary_reader::get_msgpack_object
  - nlohmann::detail::binary_reader::parse_ubjson_internal
  - nlohmann::detail::binary_reader::get_ubjson_string
  - nlohmann::detail::binary_reader::get_ubjson_size_value
  - nlohmann::detail::binary_reader::get_ubjson_size_type
  - nlohmann::detail::binary_reader::get_ubjson_value
  - nlohmann::detail::binary_reader::get_ubjson_array
  - nlohmann::detail::binary_reader::get_ubjson_object
  - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
  - nlohmann::detail::binary_reader::get
  - nlohmann::detail::binary_reader::get_ignore_noop
  - nlohmann::detail::binary_reader::get_number
  - nlohmann::detail::binary_reader::get_string
  - nlohmann::detail::binary_reader::get_binary
  - "(3)\n    bool unexpect_eof(const input_format_t format, const char* context)
    const"
  - nlohmann::detail::binary_reader::get_token_string
  - nlohmann::detail::binary_reader::exception_message
  - nlohmann::detail::little_endianess
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - nlohmann::detail::binary_reader::binary_reader
  - '& operator=(const binary_reader&)'
  - '& operator=(binary_reader&&)'
  - ~binary_reader()
  - "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
    sax_,\n                   const bool strict = true,\n                   const
    cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - nlohmann::detail::binary_reader::parse_bson_internal
  - nlohmann::detail::binary_reader::get_bson_cstr
  - nlohmann::detail::binary_reader::get_bson_string
  - nlohmann::detail::binary_reader::get_bson_binary
  - nlohmann::detail::binary_reader::parse_bson_element_internal
  - nlohmann::detail::binary_reader::parse_bson_element_list
  - nlohmann::detail::binary_reader::parse_bson_array
  - nlohmann::detail::binary_reader::parse_cbor_internal
  - nlohmann::detail::binary_reader::get_cbor_string
  - nlohmann::detail::binary_reader::get_cbor_binary
  - nlohmann::detail::binary_reader::get_cbor_array
  - nlohmann::detail::binary_reader::get_cbor_object
  - nlohmann::detail::binary_reader::parse_msgpack_internal
  - nlohmann::detail::binary_reader::get_msgpack_string
  - nlohmann::detail::binary_reader::get_msgpack_binary
  - nlohmann::detail::binary_reader::get_msgpack_array
  - nlohmann::detail::binary_reader::get_msgpack_object
  - nlohmann::detail::binary_reader::parse_ubjson_internal
  - nlohmann::detail::binary_reader::get_ubjson_string
  - nlohmann::detail::binary_reader::get_ubjson_size_value
  - nlohmann::detail::binary_reader::get_ubjson_size_type
  - nlohmann::detail::binary_reader::get_ubjson_value
  - nlohmann::detail::binary_reader::get_ubjson_array
  - nlohmann::detail::binary_reader::get_ubjson_object
  - nlohmann::detail::binary_reader::get_ubjson_high_precision_number
  - nlohmann::detail::binary_reader::get
  - nlohmann::detail::binary_reader::get_ignore_noop
  - nlohmann::detail::binary_reader::get_number
  - nlohmann::detail::binary_reader::get_string
  - nlohmann::detail::binary_reader::get_binary
  - "(3)\n    bool unexpect_eof(const input_format_t format, const char* context)
    const"
  - nlohmann::detail::binary_reader::get_token_string
  - nlohmann::detail::binary_reader::exception_message
  - nlohmann::detail::parser::parser
  - nlohmann::detail::parser::parse
  - nlohmann::detail::parser::accept
  - "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
  - nlohmann::detail::parser::sax_parse_internal
  - nlohmann::detail::parser::get_token
  - nlohmann::detail::parser::exception_message
  - nlohmann::detail::parser::parser
  - nlohmann::detail::parser::parse
  - nlohmann::detail::parser::accept
  - "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
  - nlohmann::detail::parser::sax_parse_internal
  - nlohmann::detail::parser::get_token
  - nlohmann::detail::parser::exception_message
  - nlohmann::detail::parser::parser
  - nlohmann::detail::parser::parse
  - nlohmann::detail::parser::accept
  - "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
  - nlohmann::detail::parser::sax_parse_internal
  - nlohmann::detail::parser::get_token
  - nlohmann::detail::parser::exception_message
  - nlohmann::detail::parser::parser
  - nlohmann::detail::parser::parse
  - nlohmann::detail::parser::accept
  - "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
  - nlohmann::detail::parser::sax_parse_internal
  - nlohmann::detail::parser::get_token
  - nlohmann::detail::parser::exception_message
  - nlohmann::detail::primitive_iterator_t::get_value
  - nlohmann::detail::primitive_iterator_t::set_begin
  - nlohmann::detail::primitive_iterator_t::set_end
  - nlohmann::detail::primitive_iterator_t::is_begin
  - nlohmann::detail::primitive_iterator_t::is_end
  - operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator+(difference_type n) noexcept
  - operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - '& operator++() noexcept'
  - operator++(int) noexcept
  - '& operator--() noexcept'
  - operator--(int) noexcept
  - '& operator+=(difference_type n) noexcept'
  - '& operator-=(difference_type n) noexcept'
  - nlohmann::detail::primitive_iterator_t::get_value
  - nlohmann::detail::primitive_iterator_t::set_begin
  - nlohmann::detail::primitive_iterator_t::set_end
  - nlohmann::detail::primitive_iterator_t::is_begin
  - nlohmann::detail::primitive_iterator_t::is_end
  - operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator+(difference_type n) noexcept
  - operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - '& operator++() noexcept'
  - operator++(int) noexcept
  - '& operator--() noexcept'
  - operator--(int) noexcept
  - '& operator+=(difference_type n) noexcept'
  - '& operator-=(difference_type n) noexcept'
  - nlohmann::detail::primitive_iterator_t::get_value
  - nlohmann::detail::primitive_iterator_t::set_begin
  - nlohmann::detail::primitive_iterator_t::set_end
  - nlohmann::detail::primitive_iterator_t::is_begin
  - nlohmann::detail::primitive_iterator_t::is_end
  - operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator+(difference_type n) noexcept
  - operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - '& operator++() noexcept'
  - operator++(int) noexcept
  - '& operator--() noexcept'
  - operator--(int) noexcept
  - '& operator+=(difference_type n) noexcept'
  - '& operator-=(difference_type n) noexcept'
  - nlohmann::detail::primitive_iterator_t::get_value
  - nlohmann::detail::primitive_iterator_t::set_begin
  - nlohmann::detail::primitive_iterator_t::set_end
  - nlohmann::detail::primitive_iterator_t::is_begin
  - nlohmann::detail::primitive_iterator_t::is_end
  - operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator+(difference_type n) noexcept
  - operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - '& operator++() noexcept'
  - operator++(int) noexcept
  - '& operator--() noexcept'
  - operator--(int) noexcept
  - '& operator+=(difference_type n) noexcept'
  - '& operator-=(difference_type n) noexcept'
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
    other) noexcept'
  - nlohmann::detail::iter_impl::set_begin
  - nlohmann::detail::iter_impl::set_end
  - operator*() const
  - operator->() const
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - operator==(const iter_impl& other) const
  - operator!=(const iter_impl& other) const
  - operator<(const iter_impl& other) const
  - operator<=(const iter_impl& other) const
  - operator>(const iter_impl& other) const
  - operator>=(const iter_impl& other) const
  - '& operator+=(difference_type i)'
  - '& operator-=(difference_type i)'
  - operator+(difference_type i) const
  - operator+(difference_type i, const iter_impl& it)
  - operator-(difference_type i) const
  - operator-(const iter_impl& other) const
  - operator[](difference_type n) const
  - '& key() const'
  - nlohmann::detail::iter_impl::value
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
    other) noexcept'
  - nlohmann::detail::iter_impl::set_begin
  - nlohmann::detail::iter_impl::set_end
  - operator*() const
  - operator->() const
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - operator==(const iter_impl& other) const
  - operator!=(const iter_impl& other) const
  - operator<(const iter_impl& other) const
  - operator<=(const iter_impl& other) const
  - operator>(const iter_impl& other) const
  - operator>=(const iter_impl& other) const
  - '& operator+=(difference_type i)'
  - '& operator-=(difference_type i)'
  - operator+(difference_type i) const
  - operator+(difference_type i, const iter_impl& it)
  - operator-(difference_type i) const
  - operator-(const iter_impl& other) const
  - operator[](difference_type n) const
  - '& key() const'
  - nlohmann::detail::iter_impl::value
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
    other) noexcept'
  - nlohmann::detail::iter_impl::set_begin
  - nlohmann::detail::iter_impl::set_end
  - operator*() const
  - operator->() const
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - operator==(const iter_impl& other) const
  - operator!=(const iter_impl& other) const
  - operator<(const iter_impl& other) const
  - operator<=(const iter_impl& other) const
  - operator>(const iter_impl& other) const
  - operator>=(const iter_impl& other) const
  - '& operator+=(difference_type i)'
  - '& operator-=(difference_type i)'
  - operator+(difference_type i) const
  - operator+(difference_type i, const iter_impl& it)
  - operator-(difference_type i) const
  - operator-(const iter_impl& other) const
  - operator[](difference_type n) const
  - '& key() const'
  - nlohmann::detail::iter_impl::value
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
  - nlohmann::detail::iter_impl::iter_impl
  - '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
    other) noexcept'
  - nlohmann::detail::iter_impl::set_begin
  - nlohmann::detail::iter_impl::set_end
  - operator*() const
  - operator->() const
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - operator==(const iter_impl& other) const
  - operator!=(const iter_impl& other) const
  - operator<(const iter_impl& other) const
  - operator<=(const iter_impl& other) const
  - operator>(const iter_impl& other) const
  - operator>=(const iter_impl& other) const
  - '& operator+=(difference_type i)'
  - '& operator-=(difference_type i)'
  - operator+(difference_type i) const
  - operator+(difference_type i, const iter_impl& it)
  - operator-(difference_type i) const
  - operator-(const iter_impl& other) const
  - operator[](difference_type n) const
  - '& key() const'
  - nlohmann::detail::iter_impl::value
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - '& operator+=(difference_type i)'
  - operator+(difference_type i) const
  - operator-(difference_type i) const
  - operator-(const json_reverse_iterator& other) const
  - operator[](difference_type n) const
  - nlohmann::detail::json_reverse_iterator::key
  - nlohmann::detail::json_reverse_iterator::value
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - '& operator+=(difference_type i)'
  - operator+(difference_type i) const
  - operator-(difference_type i) const
  - operator-(const json_reverse_iterator& other) const
  - operator[](difference_type n) const
  - nlohmann::detail::json_reverse_iterator::key
  - nlohmann::detail::json_reverse_iterator::value
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - '& operator+=(difference_type i)'
  - operator+(difference_type i) const
  - operator-(difference_type i) const
  - operator-(const json_reverse_iterator& other) const
  - operator[](difference_type n) const
  - nlohmann::detail::json_reverse_iterator::key
  - nlohmann::detail::json_reverse_iterator::value
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
  - operator++(int)
  - '& operator++()'
  - operator--(int)
  - '& operator--()'
  - '& operator+=(difference_type i)'
  - operator+(difference_type i) const
  - operator-(difference_type i) const
  - operator-(const json_reverse_iterator& other) const
  - operator[](difference_type n) const
  - nlohmann::detail::json_reverse_iterator::key
  - nlohmann::detail::json_reverse_iterator::value
  - nlohmann::json_pointer::top
  - nlohmann::json_pointer::json_pointer
  - nlohmann::json_pointer::to_string
  - operator std::string() const
  - '& operator/=(const json_pointer& ptr)'
  - '& operator/=(std::string token)'
  - '& operator/=(std::size_t array_idx)'
  - "operator/(const json_pointer& lhs,\n                                  const json_pointer&
    rhs)"
  - operator/(const json_pointer& ptr, std::string token)
  - operator/(const json_pointer& ptr, std::size_t array_idx)
  - nlohmann::json_pointer::parent_pointer
  - nlohmann::json_pointer::pop_back
  - '& back() const'
  - nlohmann::json_pointer::push_back
  - nlohmann::json_pointer::push_back
  - nlohmann::json_pointer::empty
  - nlohmann::json_pointer::array_index
  - nlohmann::json_pointer::JSON_CATCH
  - (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
  - (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
  - nlohmann::get_and_create
  - nlohmann::get_unchecked
  - nlohmann::get_checked
  - nlohmann::get_unchecked
  - nlohmann::get_checked
  - nlohmann::contains
  - nlohmann::split
  - nlohmann::replace_substring
  - nlohmann::escape
  - nlohmann::unescape
  - nlohmann::flatten
  - nlohmann::unflatten
  - "operator==(json_pointer const& lhs,\n                           json_pointer
    const& rhs) noexcept"
  - "operator!=(json_pointer const& lhs,\n                           json_pointer
    const& rhs) noexcept"
  - nlohmann::json_pointer::top
  - nlohmann::json_pointer::json_pointer
  - nlohmann::json_pointer::to_string
  - operator std::string() const
  - '& operator/=(const json_pointer& ptr)'
  - '& operator/=(std::string token)'
  - '& operator/=(std::size_t array_idx)'
  - "operator/(const json_pointer& lhs,\n                                  const json_pointer&
    rhs)"
  - operator/(const json_pointer& ptr, std::string token)
  - operator/(const json_pointer& ptr, std::size_t array_idx)
  - nlohmann::json_pointer::parent_pointer
  - nlohmann::json_pointer::pop_back
  - '& back() const'
  - nlohmann::json_pointer::push_back
  - nlohmann::json_pointer::push_back
  - nlohmann::json_pointer::empty
  - nlohmann::json_pointer::array_index
  - nlohmann::json_pointer::JSON_CATCH
  - (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
  - (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
  - nlohmann::get_and_create
  - nlohmann::get_unchecked
  - nlohmann::get_checked
  - nlohmann::get_unchecked
  - nlohmann::get_checked
  - nlohmann::contains
  - nlohmann::split
  - nlohmann::replace_substring
  - nlohmann::escape
  - nlohmann::unescape
  - nlohmann::flatten
  - nlohmann::unflatten
  - "operator==(json_pointer const& lhs,\n                           json_pointer
    const& rhs) noexcept"
  - "operator!=(json_pointer const& lhs,\n                           json_pointer
    const& rhs) noexcept"
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - '& operator=(const json_ref&)'
  - '& operator=(json_ref&&)'
  - ~json_ref()
  - nlohmann::detail::json_ref::moved_or_copied
  - '& operator*() const'
  - '* operator->() const'
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - '& operator=(const json_ref&)'
  - '& operator=(json_ref&&)'
  - ~json_ref()
  - nlohmann::detail::json_ref::moved_or_copied
  - '& operator*() const'
  - '* operator->() const'
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - '& operator=(const json_ref&)'
  - '& operator=(json_ref&&)'
  - ~json_ref()
  - nlohmann::detail::json_ref::moved_or_copied
  - '& operator*() const'
  - '* operator->() const'
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - nlohmann::detail::json_ref::json_ref
  - '& operator=(const json_ref&)'
  - '& operator=(json_ref&&)'
  - ~json_ref()
  - nlohmann::detail::json_ref::moved_or_copied
  - '& operator*() const'
  - '* operator->() const'
  - ~output_adapter_protocol()
  - nlohmann::detail::output_vector_adapter::output_vector_adapter
  - nlohmann::detail::output_vector_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_stream_adapter::output_stream_adapter
  - nlohmann::detail::output_stream_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_string_adapter::output_string_adapter
  - nlohmann::detail::output_string_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - operator output_adapter_t<CharType>()
  - ~output_adapter_protocol()
  - nlohmann::detail::output_vector_adapter::output_vector_adapter
  - nlohmann::detail::output_vector_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_stream_adapter::output_stream_adapter
  - nlohmann::detail::output_stream_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_string_adapter::output_string_adapter
  - nlohmann::detail::output_string_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - operator output_adapter_t<CharType>()
  - ~output_adapter_protocol()
  - nlohmann::detail::output_vector_adapter::output_vector_adapter
  - nlohmann::detail::output_vector_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_stream_adapter::output_stream_adapter
  - nlohmann::detail::output_stream_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_string_adapter::output_string_adapter
  - nlohmann::detail::output_string_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - operator output_adapter_t<CharType>()
  - ~output_adapter_protocol()
  - nlohmann::detail::output_vector_adapter::output_vector_adapter
  - nlohmann::detail::output_vector_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_stream_adapter::output_stream_adapter
  - nlohmann::detail::output_stream_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_string_adapter::output_string_adapter
  - nlohmann::detail::output_string_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - nlohmann::detail::output_adapter::output_adapter
  - operator output_adapter_t<CharType>()
  - nlohmann::detail::binary_writer::binary_writer
  - nlohmann::detail::binary_writer::write_bson
  - nlohmann::detail::binary_writer::write_cbor
  - nlohmann::detail::binary_writer::write_msgpack
  - nlohmann::detail::binary_writer::write_ubjson
  - nlohmann::detail::binary_writer::calc_bson_entry_header_size
  - nlohmann::detail::binary_writer::write_bson_entry_header
  - nlohmann::detail::binary_writer::write_bson_boolean
  - nlohmann::detail::binary_writer::write_bson_double
  - nlohmann::detail::binary_writer::calc_bson_string_size
  - nlohmann::detail::binary_writer::write_bson_string
  - nlohmann::detail::binary_writer::write_bson_null
  - nlohmann::detail::binary_writer::calc_bson_integer_size
  - nlohmann::detail::binary_writer::write_bson_integer
  - nlohmann::detail::binary_writer::calc_bson_unsigned_size
  - nlohmann::detail::binary_writer::write_bson_unsigned
  - nlohmann::detail::binary_writer::write_bson_object_entry
  - nlohmann::detail::binary_writer::calc_bson_array_size
  - nlohmann::detail::binary_writer::calc_bson_binary_size
  - nlohmann::detail::binary_writer::write_bson_array
  - nlohmann::detail::binary_writer::write_bson_binary
  - nlohmann::detail::binary_writer::calc_bson_element_size
  - nlohmann::detail::binary_writer::write_bson_element
  - nlohmann::detail::binary_writer::calc_bson_object_size
  - nlohmann::detail::binary_writer::write_bson_object
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::ubjson_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::write_number
  - nlohmann::detail::binary_writer::write_compact_float
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::binary_writer
  - nlohmann::detail::binary_writer::write_bson
  - nlohmann::detail::binary_writer::write_cbor
  - nlohmann::detail::binary_writer::write_msgpack
  - nlohmann::detail::binary_writer::write_ubjson
  - nlohmann::detail::binary_writer::calc_bson_entry_header_size
  - nlohmann::detail::binary_writer::write_bson_entry_header
  - nlohmann::detail::binary_writer::write_bson_boolean
  - nlohmann::detail::binary_writer::write_bson_double
  - nlohmann::detail::binary_writer::calc_bson_string_size
  - nlohmann::detail::binary_writer::write_bson_string
  - nlohmann::detail::binary_writer::write_bson_null
  - nlohmann::detail::binary_writer::calc_bson_integer_size
  - nlohmann::detail::binary_writer::write_bson_integer
  - nlohmann::detail::binary_writer::calc_bson_unsigned_size
  - nlohmann::detail::binary_writer::write_bson_unsigned
  - nlohmann::detail::binary_writer::write_bson_object_entry
  - nlohmann::detail::binary_writer::calc_bson_array_size
  - nlohmann::detail::binary_writer::calc_bson_binary_size
  - nlohmann::detail::binary_writer::write_bson_array
  - nlohmann::detail::binary_writer::write_bson_binary
  - nlohmann::detail::binary_writer::calc_bson_element_size
  - nlohmann::detail::binary_writer::write_bson_element
  - nlohmann::detail::binary_writer::calc_bson_object_size
  - nlohmann::detail::binary_writer::write_bson_object
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::ubjson_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::write_number
  - nlohmann::detail::binary_writer::write_compact_float
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::binary_writer
  - nlohmann::detail::binary_writer::write_bson
  - nlohmann::detail::binary_writer::write_cbor
  - nlohmann::detail::binary_writer::write_msgpack
  - nlohmann::detail::binary_writer::write_ubjson
  - nlohmann::detail::binary_writer::calc_bson_entry_header_size
  - nlohmann::detail::binary_writer::write_bson_entry_header
  - nlohmann::detail::binary_writer::write_bson_boolean
  - nlohmann::detail::binary_writer::write_bson_double
  - nlohmann::detail::binary_writer::calc_bson_string_size
  - nlohmann::detail::binary_writer::write_bson_string
  - nlohmann::detail::binary_writer::write_bson_null
  - nlohmann::detail::binary_writer::calc_bson_integer_size
  - nlohmann::detail::binary_writer::write_bson_integer
  - nlohmann::detail::binary_writer::calc_bson_unsigned_size
  - nlohmann::detail::binary_writer::write_bson_unsigned
  - nlohmann::detail::binary_writer::write_bson_object_entry
  - nlohmann::detail::binary_writer::calc_bson_array_size
  - nlohmann::detail::binary_writer::calc_bson_binary_size
  - nlohmann::detail::binary_writer::write_bson_array
  - nlohmann::detail::binary_writer::write_bson_binary
  - nlohmann::detail::binary_writer::calc_bson_element_size
  - nlohmann::detail::binary_writer::write_bson_element
  - nlohmann::detail::binary_writer::calc_bson_object_size
  - nlohmann::detail::binary_writer::write_bson_object
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::ubjson_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::write_number
  - nlohmann::detail::binary_writer::write_compact_float
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::binary_writer
  - nlohmann::detail::binary_writer::write_bson
  - nlohmann::detail::binary_writer::write_cbor
  - nlohmann::detail::binary_writer::write_msgpack
  - nlohmann::detail::binary_writer::write_ubjson
  - nlohmann::detail::binary_writer::calc_bson_entry_header_size
  - nlohmann::detail::binary_writer::write_bson_entry_header
  - nlohmann::detail::binary_writer::write_bson_boolean
  - nlohmann::detail::binary_writer::write_bson_double
  - nlohmann::detail::binary_writer::calc_bson_string_size
  - nlohmann::detail::binary_writer::write_bson_string
  - nlohmann::detail::binary_writer::write_bson_null
  - nlohmann::detail::binary_writer::calc_bson_integer_size
  - nlohmann::detail::binary_writer::write_bson_integer
  - nlohmann::detail::binary_writer::calc_bson_unsigned_size
  - nlohmann::detail::binary_writer::write_bson_unsigned
  - nlohmann::detail::binary_writer::write_bson_object_entry
  - nlohmann::detail::binary_writer::calc_bson_array_size
  - nlohmann::detail::binary_writer::calc_bson_binary_size
  - nlohmann::detail::binary_writer::write_bson_array
  - nlohmann::detail::binary_writer::write_bson_binary
  - nlohmann::detail::binary_writer::calc_bson_element_size
  - nlohmann::detail::binary_writer::write_bson_element
  - nlohmann::detail::binary_writer::calc_bson_object_size
  - nlohmann::detail::binary_writer::write_bson_object
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_cbor_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::get_msgpack_float_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
  - nlohmann::detail::binary_writer::ubjson_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::get_ubjson_float_prefix
  - nlohmann::detail::binary_writer::write_number
  - nlohmann::detail::binary_writer::write_compact_float
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::binary_writer::to_char_type
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::dtoa_impl::reinterpret_bits
  - nlohmann::detail::dtoa_impl::diyfp
  - nlohmann::detail::dtoa_impl::sub
  - nlohmann::detail::dtoa_impl::mul
  - nlohmann::detail::dtoa_impl::normalize
  - nlohmann::detail::dtoa_impl::normalize_to
  - nlohmann::detail::dtoa_impl::compute_boundaries
  - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
  - nlohmann::detail::dtoa_impl::find_largest_pow10
  - nlohmann::detail::dtoa_impl::grisu2_round
  - nlohmann::detail::dtoa_impl::grisu2_digit_gen
  - nlohmann::detail::dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - nlohmann::detail::dtoa_impl::append_exponent
  - nlohmann::detail::dtoa_impl::format_buffer
  - nlohmann::detail::serializer::serializer
  - nlohmann::detail::serializer::serializer
  - '& operator=(const serializer&)'
  - nlohmann::detail::serializer::serializer
  - '& operator=(serializer&&)'
  - ~serializer()
  - nlohmann::detail::serializer::dump
  - nlohmann::detail::serializer::dump_escaped
  - nlohmann::detail::serializer::count_digits
  - nlohmann::detail::serializer::dump_integer
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::decode
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::serializer
  - nlohmann::detail::serializer::serializer
  - '& operator=(const serializer&)'
  - nlohmann::detail::serializer::serializer
  - '& operator=(serializer&&)'
  - ~serializer()
  - nlohmann::detail::serializer::dump
  - nlohmann::detail::serializer::dump_escaped
  - nlohmann::detail::serializer::count_digits
  - nlohmann::detail::serializer::dump_integer
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::decode
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::serializer
  - nlohmann::detail::serializer::serializer
  - '& operator=(const serializer&)'
  - nlohmann::detail::serializer::serializer
  - '& operator=(serializer&&)'
  - ~serializer()
  - nlohmann::detail::serializer::dump
  - nlohmann::detail::serializer::dump_escaped
  - nlohmann::detail::serializer::count_digits
  - nlohmann::detail::serializer::dump_integer
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::decode
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::serializer
  - nlohmann::detail::serializer::serializer
  - '& operator=(const serializer&)'
  - nlohmann::detail::serializer::serializer
  - '& operator=(serializer&&)'
  - ~serializer()
  - nlohmann::detail::serializer::dump
  - nlohmann::detail::serializer::dump_escaped
  - nlohmann::detail::serializer::count_digits
  - nlohmann::detail::serializer::dump_integer
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::dump_float
  - nlohmann::detail::serializer::decode
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::detail::serializer::remove_sign
  - nlohmann::ordered_map
  - nlohmann::ordered_map
  - nlohmann::ordered_map
  - nlohmann::emplace
  - '& operator[](const Key& key)'
  - '& operator[](const Key& key) const'
  - '& at(const Key& key)'
  - '& at(const Key& key) const'
  - nlohmann::erase
  - nlohmann::erase
  - nlohmann::count
  - nlohmann::find
  - nlohmann::find
  - nlohmann::insert
  - nlohmann::insert
  - nlohmann::ordered_map
  - nlohmann::ordered_map
  - nlohmann::ordered_map
  - nlohmann::emplace
  - '& operator[](const Key& key)'
  - '& operator[](const Key& key) const'
  - '& at(const Key& key)'
  - '& at(const Key& key) const'
  - nlohmann::erase
  - nlohmann::erase
  - nlohmann::count
  - nlohmann::find
  - nlohmann::find
  - nlohmann::insert
  - nlohmann::insert
  - nlohmann::basic_json
  - nlohmann::parser
  - nlohmann::get_allocator
  - nlohmann::meta
  - nlohmann::create
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::destroy
  - nlohmann::assert_invariant
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::binary
  - nlohmann::binary
  - nlohmann::binary
  - nlohmann::binary
  - nlohmann::array
  - nlohmann::object
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - "& operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
    \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
    \       std::is_nothrow_move_assignable<json_value>::value\n    )"
  - ~basic_json() noexcept
  - nlohmann::type
  - nlohmann::is_primitive
  - nlohmann::is_structured
  - nlohmann::is_null
  - nlohmann::is_boolean
  - nlohmann::is_number
  - nlohmann::is_number_integer
  - nlohmann::is_number_unsigned
  - nlohmann::is_number_float
  - nlohmann::is_object
  - nlohmann::is_array
  - nlohmann::is_string
  - nlohmann::is_binary
  - nlohmann::is_discarded
  - operator value_t() const noexcept
  - nlohmann::basic_json
  - nlohmann::parser
  - nlohmann::get_allocator
  - nlohmann::meta
  - nlohmann::create
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::json_value
  - nlohmann::destroy
  - nlohmann::assert_invariant
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::binary
  - nlohmann::binary
  - nlohmann::binary
  - nlohmann::binary
  - nlohmann::array
  - nlohmann::object
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - nlohmann::basic_json
  - "& operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
    \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
    \       std::is_nothrow_move_assignable<json_value>::value\n    )"
  - ~basic_json() noexcept
  - nlohmann::type
  - nlohmann::is_primitive
  - nlohmann::is_structured
  - nlohmann::is_null
  - nlohmann::is_boolean
  - nlohmann::is_number
  - nlohmann::is_number_integer
  - nlohmann::is_number_unsigned
  - nlohmann::is_number_float
  - nlohmann::is_object
  - nlohmann::is_array
  - nlohmann::is_string
  - nlohmann::is_binary
  - nlohmann::is_discarded
  - operator value_t() const noexcept
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_ref_impl
  - get
  - get
  - get
  - get_to
  - get_to
  - get_to
  - get_ptr
  - get_ptr
  - get
  - get
  - get_ref
  - get_ref
  - ValueType
  - get_binary
  - get_binary
  - at
  - JSON_CATCH
  - at
  - JSON_CATCH
  - at
  - JSON_CATCH
  - at
  - JSON_CATCH
  - operator[](size_type idx)
  - operator[](size_type idx) const
  - operator[](const typename object_t::key_type& key)
  - operator[](const typename object_t::key_type& key) const
  - "(2)\n    reference operator[](T* key)"
  - "(2)\n    const_reference operator[](T* key) const"
  - value
  - value
  - value
  - JSON_INTERNAL_CATCH
  - value
  - front
  - front
  - back
  - back
  - erase
  - erase
  - erase
  - erase
  - find
  - find
  - count
  - contains
  - contains
  - begin
  - begin
  - cbegin
  - end
  - end
  - cend
  - rbegin
  - rbegin
  - rend
  - rend
  - crbegin
  - crend
  - iterator_wrapper
  - iterator_wrapper
  - items
  - items
  - empty
  - size
  - max_size
  - clear
  - push_back
  - operator+=(basic_json&& val)
  - push_back
  - operator+=(const basic_json& val)
  - push_back
  - operator+=(const typename object_t::value_type& val)
  - push_back
  - operator+=(initializer_list_t init)
  - emplace_back
  - emplace
  - insert_iterator
  - insert
  - insert
  - insert
  - insert
  - insert
  - insert
  - update
  - update
  - swap
  - swap
  - swap
  - swap
  - swap
  - swap
  - swap
  - operator==(const_reference lhs, const ScalarType rhs) noexcept
  - operator==(const ScalarType lhs, const_reference rhs) noexcept
  - operator!=(const_reference lhs, const_reference rhs) noexcept
  - operator!=(const_reference lhs, const ScalarType rhs) noexcept
  - operator!=(const ScalarType lhs, const_reference rhs) noexcept
  - operator<(const_reference lhs, const_reference rhs) noexcept
  - operator<(const_reference lhs, const ScalarType rhs) noexcept
  - operator<(const ScalarType lhs, const_reference rhs) noexcept
  - operator<=(const_reference lhs, const_reference rhs) noexcept
  - operator<=(const_reference lhs, const ScalarType rhs) noexcept
  - operator<=(const ScalarType lhs, const_reference rhs) noexcept
  - operator>(const_reference lhs, const_reference rhs) noexcept
  - operator>(const_reference lhs, const ScalarType rhs) noexcept
  - operator>(const ScalarType lhs, const_reference rhs) noexcept
  - operator>=(const_reference lhs, const_reference rhs) noexcept
  - operator>=(const_reference lhs, const ScalarType rhs) noexcept
  - operator>=(const ScalarType lhs, const_reference rhs) noexcept
  - '& operator<<(std::ostream& o, const basic_json& j)'
  - parse
  - parse
  - accept
  - accept
  - accept
  - sax_parse
  - sax_parse
  - sax_parse
  - type_name
  - to_cbor
  - to_cbor
  - to_msgpack
  - to_msgpack
  - to_msgpack
  - to_ubjson
  - to_ubjson
  - to_ubjson
  - to_bson
  - to_bson
  - to_bson
  - from_cbor
  - from_cbor
  - from_cbor
  - from_cbor
  - from_msgpack
  - from_msgpack
  - from_msgpack
  - from_msgpack
  - from_ubjson
  - from_ubjson
  - from_ubjson
  - from_ubjson
  - from_bson
  - from_bson
  - from_bson
  - from_bson
  - operator[](const json_pointer& ptr)
  - operator[](const json_pointer& ptr) const
  - at
  - at
  - flatten
  - unflatten
  - patch
  - diff
  - merge_patch
  - std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
  - operator()(const nlohmann::json& j) const
  - "operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
    rhs) const noexcept"
  - std::swap
  - operator()(const nlohmann::json& j) const
  - "operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
    rhs) const noexcept"
  - std::swap
  - operator "" _json(const char* s, std::size_t n)
  - operator "" _json_pointer(const char* s, std::size_t n)
  source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
  types:
    enum:
    - enumerators:
      - name: 'null'
      - name: object
      - name: boolean
      - name: string
      - name: array
      - name: number_integer
      - name: number_unsigned
      - name: number_float
      - name: binary
      - name: discarded
      item_type: enum
      name: value_t
      pos:
        line_end: 3388
        line_start: 3376
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: 'null'
      - name: object
      - name: boolean
      - name: string
      - name: array
      - name: number_integer
      - name: number_unsigned
      - name: number_float
      - name: binary
      - name: discarded
      item_type: enum
      name: value_t
      pos:
        line_end: 3388
        line_start: 3376
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: 'null'
      - name: object
      - name: boolean
      - name: string
      - name: array
      - name: number_integer
      - name: number_unsigned
      - name: number_float
      - name: binary
      - name: discarded
      item_type: enum
      name: value_t
      pos:
        line_end: 3388
        line_start: 3376
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: 'null'
      - name: object
      - name: boolean
      - name: string
      - name: array
      - name: number_integer
      - name: number_unsigned
      - name: number_float
      - name: binary
      - name: discarded
      item_type: enum
      name: value_t
      pos:
        line_end: 3388
        line_start: 3376
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: json
      - name: bson
      - name: cbor
      - name: ubjson
      - name: msgpack
      item_type: enum
      name: input_format_t
      pos:
        line_end: 4743
        line_start: 4743
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: json
      - name: bson
      - name: cbor
      - name: ubjson
      - name: msgpack
      item_type: enum
      name: input_format_t
      pos:
        line_end: 4743
        line_start: 4743
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: json
      - name: bson
      - name: cbor
      - name: ubjson
      - name: msgpack
      item_type: enum
      name: input_format_t
      pos:
        line_end: 4743
        line_start: 4743
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: json
      - name: bson
      - name: cbor
      - name: ubjson
      - name: msgpack
      item_type: enum
      name: input_format_t
      pos:
        line_end: 4743
        line_start: 4743
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: uninitialized
      - name: literal_false
      - name: literal_true
      - name: value_string
      - name: literal_null
      - name: value_unsigned
      - name: value_integer
      - name: value_float
      - name: begin_array
      - name: begin_object
      - name: end_array
      - name: name_separator
      - name: literal_or_value
      - name: end_object
      - name: parse_error
      - name: end_of_input
      - name: value_separator
      item_type: enum
      name: token_type
      pos:
        line_end: 5927
        line_start: 5908
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: uninitialized
      - name: literal_false
      - name: literal_true
      - name: value_string
      - name: literal_null
      - name: value_unsigned
      - name: value_integer
      - name: value_float
      - name: begin_array
      - name: begin_object
      - name: end_array
      - name: name_separator
      - name: literal_or_value
      - name: end_object
      - name: parse_error
      - name: end_of_input
      - name: value_separator
      item_type: enum
      name: token_type
      pos:
        line_end: 5927
        line_start: 5908
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: uninitialized
      - name: literal_false
      - name: literal_true
      - name: value_string
      - name: literal_null
      - name: value_unsigned
      - name: value_integer
      - name: value_float
      - name: begin_array
      - name: begin_object
      - name: end_array
      - name: name_separator
      - name: literal_or_value
      - name: end_object
      - name: parse_error
      - name: end_of_input
      - name: value_separator
      item_type: enum
      name: token_type
      pos:
        line_end: 5927
        line_start: 5908
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: uninitialized
      - name: literal_false
      - name: literal_true
      - name: value_string
      - name: literal_null
      - name: value_unsigned
      - name: value_integer
      - name: value_float
      - name: begin_array
      - name: begin_object
      - name: end_array
      - name: name_separator
      - name: literal_or_value
      - name: end_object
      - name: parse_error
      - name: end_of_input
      - name: value_separator
      item_type: enum
      name: token_type
      pos:
        line_end: 5927
        line_start: 5908
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: error
      - name: ignore
      item_type: enum
      name: cbor_tag_handler_t
      pos:
        line_end: 7671
        line_start: 7667
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: error
      - name: ignore
      item_type: enum
      name: cbor_tag_handler_t
      pos:
        line_end: 7671
        line_start: 7667
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: error
      - name: ignore
      item_type: enum
      name: cbor_tag_handler_t
      pos:
        line_end: 7671
        line_start: 7667
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: error
      - name: ignore
      item_type: enum
      name: cbor_tag_handler_t
      pos:
        line_end: 7671
        line_start: 7667
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: object_start
      - name: object_end
      - name: key
      - name: array_end
      - name: array_start
      - name: value
      item_type: enum
      name: parse_event_t
      pos:
        line_end: 10150
        line_start: 10136
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: object_start
      - name: object_end
      - name: key
      - name: array_end
      - name: array_start
      - name: value
      item_type: enum
      name: parse_event_t
      pos:
        line_end: 10150
        line_start: 10136
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: object_start
      - name: object_end
      - name: key
      - name: array_end
      - name: array_start
      - name: value
      item_type: enum
      name: parse_event_t
      pos:
        line_end: 10150
        line_start: 10136
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: object_start
      - name: object_end
      - name: key
      - name: array_end
      - name: array_start
      - name: value
      item_type: enum
      name: parse_event_t
      pos:
        line_end: 10150
        line_start: 10136
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: strict
      - name: replace
      - name: ignore
      item_type: enum
      name: error_handler_t
      pos:
        line_end: 15473
        line_start: 15468
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: strict
      - name: replace
      - name: ignore
      item_type: enum
      name: error_handler_t
      pos:
        line_end: 15473
        line_start: 15468
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: strict
      - name: replace
      - name: ignore
      item_type: enum
      name: error_handler_t
      pos:
        line_end: 15473
        line_start: 15468
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: strict
      - name: replace
      - name: ignore
      item_type: enum
      name: error_handler_t
      pos:
        line_end: 15473
        line_start: 15468
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - enumerators:
      - name: add
      - name: replace
      - name: remove
      - name: copy
      - name: move
      - name: test
      - name: invalid
      item_type: enum
      name: patch_operations
      pos:
        line_end: 24667
        line_start: 24667
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    preproc_defs:
    - item_type: preproc_def
      name: NLOHMANN_JSON_VERSION_MAJOR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: '3'
    - item_type: preproc_def
      name: NLOHMANN_JSON_VERSION_MINOR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: '9'
    - item_type: preproc_def
      name: NLOHMANN_JSON_VERSION_PATCH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HEDLEY_VERSION
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: '13'
    - item_type: preproc_def
      name: JSON_HEDLEY_GNUC_VERSION
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
    - item_type: preproc_def
      name: JSON_HEDLEY_GNUC_VERSION
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_MSVC_VERSION
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER
        % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_MSVC_VERSION
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER
        % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
    - item_type: preproc_def
      name: JSON_HEDLEY_MSVC_VERSION
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_INTEL_VERSION
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER
        % 100, __INTEL_COMPILER_UPDATE)
    - item_type: preproc_def
      name: JSON_HEDLEY_INTEL_VERSION
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER
        % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_PGI_VERSION
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10)
        + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C
        >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C
        >> 4) & 0xf, (__SUNPRO_C) & 0xf)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10)
        + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC
        >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC
        >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
    - item_type: preproc_def
      name: JSON_HEDLEY_EMSCRIPTEN_VERSION
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__,
        __EMSCRIPTEN_tiny__)
    - item_type: preproc_def
      name: JSON_HEDLEY_ARM_VERSION
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION
        % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_ARM_VERSION
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION
        % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_IBM_VERSION
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__,
        __ibmxl_modification__)
    - item_type: preproc_def
      name: JSON_HEDLEY_IBM_VERSION
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__
        >> 8) & 0xff)
    - item_type: preproc_def
      name: JSON_HEDLEY_IBM_VERSION
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_VERSION
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL2000_VERSION
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL430_VERSION
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_ARMCL_VERSION
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL6X_VERSION
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL7X_VERSION
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CLPRU_VERSION
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_CRAY_VERSION
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
    - item_type: preproc_def
      name: JSON_HEDLEY_CRAY_VERSION
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_IAR_VERSION
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000)
        % 1000), (__VER__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_IAR_VERSION
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(VER / 100, __VER__ % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_TINYC_VERSION
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100)
        % 10, __TINYC__ % 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_DMC_VERSION
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf,
        __DMC__ & 0xf)
    - item_type: preproc_def
      name: JSON_HEDLEY_COMPCERT_VERSION
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__
        / 100) % 100, __COMPCERT_VERSION__ % 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_PELLES_VERSION
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_GCC_VERSION
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_GNUC_VERSION
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("clang diagnostic push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("clang diagnostic pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 912
        line_start: 911
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(push)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 913
        line_start: 912
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(pop)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 915
        line_start: 914
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("GCC diagnostic push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 916
        line_start: 915
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("GCC diagnostic pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 918
        line_start: 917
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __pragma(warning(push))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(push)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(pop)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 946
        line_start: 945
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(disable:1478 1786)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 1215,1444")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __pragma(warning(disable:4996))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 965
        line_start: 964
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 1291,1718")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 971
        line_start: 970
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress=Pe1444,Pe1215")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 973
        line_start: 972
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warn(disable:2241)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(disable:161)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 1675")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __pragma(warning(disable:4068))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 163")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 163")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress=Pe161")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1009
        line_start: 1008
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1011
        line_start: 1010
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(disable:1292)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1015
        line_start: 1014
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __pragma(warning(disable:5030))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1017
        line_start: 1016
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 1097")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1019
        line_start: 1018
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("error_messages(off,attrskipunsup)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress 1173")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1026
        line_start: 1025
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("diag_suppress=Pe1097")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      pos:
        line_end: 1035
        line_start: 1034
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("warning(disable:2203 2331)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      pos:
        line_end: 1039
        line_start: 1038
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1119
        line_start: 1118
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1122
        line_start: 1121
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1141
        line_start: 1140
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__warn_unused_result__))
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1144
        line_start: 1143
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Check_return_
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1168
        line_start: 1167
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __noreturn
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1170
        line_start: 1169
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1172
        line_start: 1171
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Noreturn
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1174
        line_start: 1173
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1192
        line_start: 1191
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1194
        line_start: 1193
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("does_not_return")
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1196
        line_start: 1195
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("FUNC_NEVER_RETURNS;")
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1200
        line_start: 1199
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute((noreturn))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_ESCAPE
      pos:
        line_end: 1211
        line_start: 1210
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__noescape__))
    - item_type: preproc_def
      name: JSON_HEDLEY_CONSTEXPR
      pos:
        line_end: 1336
        line_start: 1335
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
    - item_type: preproc_def
      name: JSON_HEDLEY_MALLOC
      pos:
        line_end: 1428
        line_start: 1427
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: JSON_HEDLEY_MALLOC
      pos:
        line_end: 1430
        line_start: 1429
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("returns_new_memory")
    - item_type: preproc_def
      name: JSON_HEDLEY_MALLOC
      pos:
        line_end: 1432
        line_start: 1431
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(restrict)
    - item_type: preproc_def
      name: JSON_HEDLEY_PURE
      pos:
        line_end: 1459
        line_start: 1458
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__pure__))
    - item_type: preproc_def
      name: JSON_HEDLEY_PURE
      pos:
        line_end: 1461
        line_start: 1460
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("does_not_write_global_data")
    - item_type: preproc_def
      name: JSON_HEDLEY_PURE
      pos:
        line_end: 1468
        line_start: 1467
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("FUNC_IS_PURE;")
    - item_type: preproc_def
      name: JSON_HEDLEY_CONST
      pos:
        line_end: 1495
        line_start: 1494
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__const__))
    - item_type: preproc_def
      name: JSON_HEDLEY_CONST
      pos:
        line_end: 1498
        line_start: 1497
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("no_side_effect")
    - item_type: preproc_def
      name: JSON_HEDLEY_CONST
      pos:
        line_end: 1500
        line_start: 1499
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_PURE
    - item_type: preproc_def
      name: JSON_HEDLEY_RESTRICT
      pos:
        line_end: 1507
        line_start: 1506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: restrict
    - item_type: preproc_def
      name: JSON_HEDLEY_RESTRICT
      pos:
        line_end: 1522
        line_start: 1521
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __restrict
    - item_type: preproc_def
      name: JSON_HEDLEY_RESTRICT
      pos:
        line_end: 1524
        line_start: 1523
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Restrict
    - item_type: preproc_def
      name: JSON_HEDLEY_INLINE
      pos:
        line_end: 1535
        line_start: 1534
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: inline
    - item_type: preproc_def
      name: JSON_HEDLEY_INLINE
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __inline__
    - item_type: preproc_def
      name: JSON_HEDLEY_INLINE
      pos:
        line_end: 1549
        line_start: 1548
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __inline
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1575
        line_start: 1574
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__always_inline__)) JSON_HEDLEY_INLINE
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __forceinline
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1587
        line_start: 1586
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("FUNC_ALWAYS_INLINE;")
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1589
        line_start: 1588
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("inline=forced")
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1591
        line_start: 1590
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_INLINE
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1615
        line_start: 1614
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__noinline__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1617
        line_start: 1616
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(noinline)
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1619
        line_start: 1618
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("noinline")
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1621
        line_start: 1620
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("FUNC_CANNOT_INLINE;")
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1623
        line_start: 1622
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Pragma("inline=never")
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1625
        line_start: 1624
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute((noinline))
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1627
        line_start: 1626
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(noinline)
    - item_type: preproc_def
      name: JSON_HEDLEY_PUBLIC
      pos:
        line_end: 1643
        line_start: 1642
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: JSON_HEDLEY_IMPORT
      pos:
        line_end: 1644
        line_start: 1643
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: JSON_HEDLEY_PRIVATE
      pos:
        line_end: 1660
        line_start: 1659
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__visibility__("hidden")))
    - item_type: preproc_def
      name: JSON_HEDLEY_PUBLIC
      pos:
        line_end: 1661
        line_start: 1660
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: JSON_HEDLEY_IMPORT
      pos:
        line_end: 1666
        line_start: 1665
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: extern
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_THROW
      pos:
        line_end: 1676
        line_start: 1675
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__nothrow__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_THROW
      pos:
        line_end: 1680
        line_start: 1679
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(nothrow)
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 1691
        line_start: 1690
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__fallthrough__))
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 1693
        line_start: 1692
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 1695
        line_start: 1694
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 1697
        line_start: 1696
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __fallthrough
    - item_type: preproc_def
      name: JSON_HEDLEY_RETURNS_NON_NULL
      pos:
        line_end: 1708
        line_start: 1707
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__returns_nonnull__))
    - item_type: preproc_def
      name: JSON_HEDLEY_RETURNS_NON_NULL
      pos:
        line_end: 1710
        line_start: 1709
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: _Ret_notnull_
    - item_type: preproc_def
      name: JSON_HEDLEY_BEGIN_C_DECLS
      pos:
        line_end: 1828
        line_start: 1827
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: JSON_HEDLEY_END_C_DECLS
      pos:
        line_end: 1829
        line_start: 1828
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: '}'
    - item_type: preproc_def
      name: JSON_HEDLEY_C_DECL
      pos:
        line_end: 1830
        line_start: 1829
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: extern "C"
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 1862
        line_start: 1861
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 1864
        line_start: 1863
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 1866
        line_start: 1865
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_HEDLEY_STATIC_CAST(void*, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 1869
        line_start: 1868
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 1871
        line_start: 1870
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: ((void*) 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_FLAGS
      pos:
        line_end: 1948
        line_start: 1947
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __attribute__((__flag_enum__))
    - item_type: preproc_def
      name: JSON_HEDLEY_EMPTY_BASES
      pos:
        line_end: 1969
        line_start: 1968
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: __declspec(empty_bases)
    - item_type: preproc_def
      name: JSON_TRY
      pos:
        line_end: 2066
        line_start: 2065
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: try
    - item_type: preproc_def
      name: JSON_TRY
      pos:
        line_end: 2072
        line_start: 2071
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: if(true)
    - item_type: preproc_def
      name: JSON_THROW
      pos:
        line_end: 2080
        line_start: 2079
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_THROW_USER
    - item_type: preproc_def
      name: JSON_TRY
      pos:
        line_end: 2084
        line_start: 2083
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_TRY_USER
    - item_type: preproc_def
      name: JSON_CATCH
      pos:
        line_end: 2088
        line_start: 2087
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_CATCH_USER
    - item_type: preproc_def
      name: JSON_INTERNAL_CATCH
      pos:
        line_end: 2090
        line_start: 2089
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_CATCH_USER
    - item_type: preproc_def
      name: JSON_INTERNAL_CATCH
      pos:
        line_end: 2094
        line_start: 2093
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: JSON_INTERNAL_CATCH_USER
    - item_type: preproc_def
      name: NLOHMANN_BASIC_JSON_TPL_DECLARATION
      pos:
        line_end: 2144
        line_start: 2136
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: "template<template<typename, typename, typename...> class ObjectType,
        \  \\\n             template<typename, typename...> class ArrayType,              \\\n
        \            class StringType, class BooleanType, class NumberIntegerType,
        \\\n             class NumberUnsignedType, class NumberFloatType,              \\\n
        \            template<typename> class AllocatorType,                       \\\n
        \            template<typename, typename = void> class JSONSerializer,     \\\n
        \            class BinaryType>"
    - item_type: preproc_def
      name: NLOHMANN_BASIC_JSON_TPL
      pos:
        line_end: 2149
        line_start: 2145
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: "basic_json<ObjectType, ArrayType, StringType, BooleanType,             \\\n
        \   NumberIntegerType, NumberUnsignedType, NumberFloatType,                \\\n
        \   AllocatorType, JSONSerializer, BinaryType>"
    - item_type: preproc_def
      name: JSON_USE_IMPLICIT_CONVERSIONS
      pos:
        line_end: 2306
        line_start: 2305
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_EXPLICIT
      pos:
        line_end: 2312
        line_start: 2311
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
      type_or_value: explicit
    structs:
    - fields:
      - name: chars_read_total
        type: std::size_t
      - name: chars_read_current_line
        type: std::size_t
      - name: lines_read
        type: std::size_t
      item_type: struct
      name: position_t
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: chars_read_total
        type: std::size_t
      - name: chars_read_current_line
        type: std::size_t
      - name: lines_read
        type: std::size_t
      item_type: struct
      name: position_t
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: chars_read_total
        type: std::size_t
      - name: chars_read_current_line
        type: std::size_t
      - name: lines_read
        type: std::size_t
      item_type: struct
      name: position_t
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: chars_read_total
        type: std::size_t
      - name: chars_read_current_line
        type: std::size_t
      - name: lines_read
        type: std::size_t
      item_type: struct
      name: position_t
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: index_sequence
      pos:
        line_end: 2694
        line_start: 2686
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
      pos:
        line_end: 2701
        line_start: 2700
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence
      pos:
        line_end: 2706
        line_start: 2704
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<0>
      pos:
        line_end: 2708
        line_start: 2708
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<1>
      pos:
        line_end: 2709
        line_start: 2709
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag
      pos:
        line_end: 2715
        line_start: 2715
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag<0>
      pos:
        line_end: 2716
        line_start: 2716
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: T
      item_type: struct
      name: static_const
      pos:
        line_end: 2723
        line_start: 2720
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: index_sequence
      pos:
        line_end: 2694
        line_start: 2686
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
      pos:
        line_end: 2701
        line_start: 2700
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence
      pos:
        line_end: 2706
        line_start: 2704
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<0>
      pos:
        line_end: 2708
        line_start: 2708
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<1>
      pos:
        line_end: 2709
        line_start: 2709
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag
      pos:
        line_end: 2715
        line_start: 2715
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag<0>
      pos:
        line_end: 2716
        line_start: 2716
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: T
      item_type: struct
      name: static_const
      pos:
        line_end: 2723
        line_start: 2720
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: index_sequence
      pos:
        line_end: 2694
        line_start: 2686
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
      pos:
        line_end: 2701
        line_start: 2700
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence
      pos:
        line_end: 2706
        line_start: 2704
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<0>
      pos:
        line_end: 2708
        line_start: 2708
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<1>
      pos:
        line_end: 2709
        line_start: 2709
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag
      pos:
        line_end: 2715
        line_start: 2715
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag<0>
      pos:
        line_end: 2716
        line_start: 2716
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: T
      item_type: struct
      name: static_const
      pos:
        line_end: 2723
        line_start: 2720
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: index_sequence
      pos:
        line_end: 2694
        line_start: 2686
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
      pos:
        line_end: 2701
        line_start: 2700
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence
      pos:
        line_end: 2706
        line_start: 2704
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<0>
      pos:
        line_end: 2708
        line_start: 2708
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_index_sequence<1>
      pos:
        line_end: 2709
        line_start: 2709
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag
      pos:
        line_end: 2715
        line_start: 2715
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag<0>
      pos:
        line_end: 2716
        line_start: 2716
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: T
      item_type: struct
      name: static_const
      pos:
        line_end: 2723
        line_start: 2720
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_void
      pos:
        line_end: 2752
        line_start: 2749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_void
      pos:
        line_end: 2752
        line_start: 2749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_void
      pos:
        line_end: 2752
        line_start: 2749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: make_void
      pos:
        line_end: 2752
        line_start: 2749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_types
      pos:
        line_end: 2765
        line_start: 2765
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "iterator_types <\n    It,\n    void_t<typename It::difference_type, typename
        It::value_type, typename It::pointer,\n    typename It::reference, typename
        It::iterator_category >>"
      pos:
        line_end: 2778
        line_start: 2768
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits
      pos:
        line_end: 2785
        line_start: 2783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      pos:
        line_end: 2791
        line_start: 2788
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits<T*, enable_if_t<std::is_object<T>::value>>
      pos:
        line_end: 2801
        line_start: 2794
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_types
      pos:
        line_end: 2765
        line_start: 2765
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "iterator_types <\n    It,\n    void_t<typename It::difference_type, typename
        It::value_type, typename It::pointer,\n    typename It::reference, typename
        It::iterator_category >>"
      pos:
        line_end: 2778
        line_start: 2768
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits
      pos:
        line_end: 2785
        line_start: 2783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      pos:
        line_end: 2791
        line_start: 2788
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits<T*, enable_if_t<std::is_object<T>::value>>
      pos:
        line_end: 2801
        line_start: 2794
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_types
      pos:
        line_end: 2765
        line_start: 2765
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "iterator_types <\n    It,\n    void_t<typename It::difference_type, typename
        It::value_type, typename It::pointer,\n    typename It::reference, typename
        It::iterator_category >>"
      pos:
        line_end: 2778
        line_start: 2768
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits
      pos:
        line_end: 2785
        line_start: 2783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      pos:
        line_end: 2791
        line_start: 2788
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits<T*, enable_if_t<std::is_object<T>::value>>
      pos:
        line_end: 2801
        line_start: 2794
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_types
      pos:
        line_end: 2765
        line_start: 2765
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "iterator_types <\n    It,\n    void_t<typename It::difference_type, typename
        It::value_type, typename It::pointer,\n    typename It::reference, typename
        It::iterator_category >>"
      pos:
        line_end: 2778
        line_start: 2768
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits
      pos:
        line_end: 2785
        line_start: 2783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      pos:
        line_end: 2791
        line_start: 2788
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits<T*, enable_if_t<std::is_object<T>::value>>
      pos:
        line_end: 2801
        line_start: 2794
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: nonesuch
      pos:
        line_end: 2830
        line_start: 2822
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector
      pos:
        line_end: 2840
        line_start: 2836
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector<Default, void_t<Op<Args...>>, Op, Args...>
      pos:
        line_end: 2847
        line_start: 2843
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: nonesuch
      pos:
        line_end: 2830
        line_start: 2822
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector
      pos:
        line_end: 2840
        line_start: 2836
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector<Default, void_t<Op<Args...>>, Op, Args...>
      pos:
        line_end: 2847
        line_start: 2843
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: nonesuch
      pos:
        line_end: 2830
        line_start: 2822
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector
      pos:
        line_end: 2840
        line_start: 2836
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector<Default, void_t<Op<Args...>>, Op, Args...>
      pos:
        line_end: 2847
        line_start: 2843
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: nonesuch
      pos:
        line_end: 2830
        line_start: 2822
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector
      pos:
        line_end: 2840
        line_start: 2836
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: detector<Default, void_t<Op<Args...>>, Op, Args...>
      pos:
        line_end: 2847
        line_start: 2843
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_basic_json
      pos:
        line_end: 2976
        line_start: 2976
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref
      pos:
        line_end: 2989
        line_start: 2989
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref<json_ref<T>>
      pos:
        line_end: 2992
        line_start: 2992
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_from_json
      pos:
        line_end: 3033
        line_start: 3033
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_getable
      pos:
        line_end: 3043
        line_start: 3040
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "has_from_json < BasicJsonType, T,\n           enable_if_t < !is_basic_json<T>::value
        >>"
      pos:
        line_end: 3054
        line_start: 3046
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_non_default_from_json
      pos:
        line_end: 3059
        line_start: 3059
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3069
        line_start: 3062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_to_json
      pos:
        line_end: 3074
        line_start: 3074
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3084
        line_start: 3077
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_traits
      pos:
        line_end: 3092
        line_start: 3092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_iterator_traits<iterator_traits<T>>
      pos:
        line_end: 3107
        line_start: 3095
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type
      pos:
        line_end: 3112
        line_start: 3112
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type<T, decltype(void(sizeof(T)))>
      pos:
        line_end: 3115
        line_start: 3115
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type_impl
      pos:
        line_end: 3119
        line_start: 3119
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_object_type_impl <\n    BasicJsonType, CompatibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&\n
        \   is_detected<key_type_t, CompatibleObjectType>::value >>"
      pos:
        line_end: 3136
        line_start: 3122
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type
      pos:
        line_end: 3140
        line_start: 3139
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type_impl
      pos:
        line_end: 3144
        line_start: 3144
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_object_type_impl <\n    BasicJsonType, ConstructibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&\n
        \   is_detected<key_type_t, ConstructibleObjectType>::value >>"
      pos:
        line_end: 3168
        line_start: 3147
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type
      pos:
        line_end: 3173
        line_start: 3171
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type_impl
      pos:
        line_end: 3177
        line_start: 3177
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_string_type_impl <\n    BasicJsonType, CompatibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, CompatibleStringType>::value >>"
      pos:
        line_end: 3187
        line_start: 3180
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type_impl
      pos:
        line_end: 3195
        line_start: 3195
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_constructible_string_type_impl <\n    BasicJsonType, ConstructibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, ConstructibleStringType>::value >>"
      pos:
        line_end: 3206
        line_start: 3198
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type_impl
      pos:
        line_end: 3213
        line_start: 3213
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_array_type_impl <\n    BasicJsonType, CompatibleArrayType,\n
        \   enable_if_t < is_detected<value_type_t, CompatibleArrayType>::value&&\n
        \   is_detected<iterator_t, CompatibleArrayType>::value&&\n// This is needed
        because json_reverse_iterator has a ::iterator type...\n// Therefore it is
        detected as a CompatibleArrayType.\n// The real fix would be to have an Iterable
        concept.\n    !is_iterator_traits <\n    iterator_traits<CompatibleArrayType
        >>::value >>"
      pos:
        line_end: 3229
        line_start: 3216
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type
      pos:
        line_end: 3233
        line_start: 3232
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type_impl
      pos:
        line_end: 3236
        line_start: 3236
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t<std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value
        >>"
      pos:
        line_end: 3243
        line_start: 3239
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t < !std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value&&\n
        \   std::is_default_constructible<ConstructibleArrayType>::value&&\n(std::is_move_assignable<ConstructibleArrayType>::value
        ||\n std::is_copy_assignable<ConstructibleArrayType>::value)&&\nis_detected<value_type_t,
        ConstructibleArrayType>::value&&\nis_detected<iterator_t, ConstructibleArrayType>::value&&\nis_complete_type
        <\ndetected_t<value_type_t, ConstructibleArrayType >>::value >>"
      pos:
        line_end: 3272
        line_start: 3246
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type
      pos:
        line_end: 3276
        line_start: 3275
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type_impl
      pos:
        line_end: 3280
        line_start: 3280
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_integer_type_impl <\n    RealIntegerType, CompatibleNumberIntegerType,\n
        \   enable_if_t < std::is_integral<RealIntegerType>::value&&\n    std::is_integral<CompatibleNumberIntegerType>::value&&\n
        \   !std::is_same<bool, CompatibleNumberIntegerType>::value >>"
      pos:
        line_end: 3298
        line_start: 3283
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type
      pos:
        line_end: 3303
        line_start: 3301
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type_impl
      pos:
        line_end: 3306
        line_start: 3306
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_type_impl <\n    BasicJsonType, CompatibleType,\n    enable_if_t<is_complete_type<CompatibleType>::value
        >>"
      pos:
        line_end: 3315
        line_start: 3309
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type
      pos:
        line_end: 3319
        line_start: 3318
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction
      pos:
        line_end: 3322
        line_start: 3322
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1>
      pos:
        line_end: 3323
        line_start: 3323
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1, Bn...>
      pos:
        line_end: 3326
        line_start: 3325
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple
      pos:
        line_end: 3329
        line_start: 3329
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple<T1, std::tuple<Args...>>
      pos:
        line_end: 3332
        line_start: 3332
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_basic_json
      pos:
        line_end: 2976
        line_start: 2976
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref
      pos:
        line_end: 2989
        line_start: 2989
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref<json_ref<T>>
      pos:
        line_end: 2992
        line_start: 2992
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_from_json
      pos:
        line_end: 3033
        line_start: 3033
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_getable
      pos:
        line_end: 3043
        line_start: 3040
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "has_from_json < BasicJsonType, T,\n           enable_if_t < !is_basic_json<T>::value
        >>"
      pos:
        line_end: 3054
        line_start: 3046
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_non_default_from_json
      pos:
        line_end: 3059
        line_start: 3059
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3069
        line_start: 3062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_to_json
      pos:
        line_end: 3074
        line_start: 3074
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3084
        line_start: 3077
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_traits
      pos:
        line_end: 3092
        line_start: 3092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_iterator_traits<iterator_traits<T>>
      pos:
        line_end: 3107
        line_start: 3095
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type
      pos:
        line_end: 3112
        line_start: 3112
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type<T, decltype(void(sizeof(T)))>
      pos:
        line_end: 3115
        line_start: 3115
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type_impl
      pos:
        line_end: 3119
        line_start: 3119
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_object_type_impl <\n    BasicJsonType, CompatibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&\n
        \   is_detected<key_type_t, CompatibleObjectType>::value >>"
      pos:
        line_end: 3136
        line_start: 3122
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type
      pos:
        line_end: 3140
        line_start: 3139
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type_impl
      pos:
        line_end: 3144
        line_start: 3144
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_object_type_impl <\n    BasicJsonType, ConstructibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&\n
        \   is_detected<key_type_t, ConstructibleObjectType>::value >>"
      pos:
        line_end: 3168
        line_start: 3147
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type
      pos:
        line_end: 3173
        line_start: 3171
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type_impl
      pos:
        line_end: 3177
        line_start: 3177
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_string_type_impl <\n    BasicJsonType, CompatibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, CompatibleStringType>::value >>"
      pos:
        line_end: 3187
        line_start: 3180
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type_impl
      pos:
        line_end: 3195
        line_start: 3195
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_constructible_string_type_impl <\n    BasicJsonType, ConstructibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, ConstructibleStringType>::value >>"
      pos:
        line_end: 3206
        line_start: 3198
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type_impl
      pos:
        line_end: 3213
        line_start: 3213
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_array_type_impl <\n    BasicJsonType, CompatibleArrayType,\n
        \   enable_if_t < is_detected<value_type_t, CompatibleArrayType>::value&&\n
        \   is_detected<iterator_t, CompatibleArrayType>::value&&\n// This is needed
        because json_reverse_iterator has a ::iterator type...\n// Therefore it is
        detected as a CompatibleArrayType.\n// The real fix would be to have an Iterable
        concept.\n    !is_iterator_traits <\n    iterator_traits<CompatibleArrayType
        >>::value >>"
      pos:
        line_end: 3229
        line_start: 3216
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type
      pos:
        line_end: 3233
        line_start: 3232
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type_impl
      pos:
        line_end: 3236
        line_start: 3236
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t<std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value
        >>"
      pos:
        line_end: 3243
        line_start: 3239
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t < !std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value&&\n
        \   std::is_default_constructible<ConstructibleArrayType>::value&&\n(std::is_move_assignable<ConstructibleArrayType>::value
        ||\n std::is_copy_assignable<ConstructibleArrayType>::value)&&\nis_detected<value_type_t,
        ConstructibleArrayType>::value&&\nis_detected<iterator_t, ConstructibleArrayType>::value&&\nis_complete_type
        <\ndetected_t<value_type_t, ConstructibleArrayType >>::value >>"
      pos:
        line_end: 3272
        line_start: 3246
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type
      pos:
        line_end: 3276
        line_start: 3275
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type_impl
      pos:
        line_end: 3280
        line_start: 3280
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_integer_type_impl <\n    RealIntegerType, CompatibleNumberIntegerType,\n
        \   enable_if_t < std::is_integral<RealIntegerType>::value&&\n    std::is_integral<CompatibleNumberIntegerType>::value&&\n
        \   !std::is_same<bool, CompatibleNumberIntegerType>::value >>"
      pos:
        line_end: 3298
        line_start: 3283
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type
      pos:
        line_end: 3303
        line_start: 3301
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type_impl
      pos:
        line_end: 3306
        line_start: 3306
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_type_impl <\n    BasicJsonType, CompatibleType,\n    enable_if_t<is_complete_type<CompatibleType>::value
        >>"
      pos:
        line_end: 3315
        line_start: 3309
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type
      pos:
        line_end: 3319
        line_start: 3318
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction
      pos:
        line_end: 3322
        line_start: 3322
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1>
      pos:
        line_end: 3323
        line_start: 3323
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1, Bn...>
      pos:
        line_end: 3326
        line_start: 3325
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple
      pos:
        line_end: 3329
        line_start: 3329
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple<T1, std::tuple<Args...>>
      pos:
        line_end: 3332
        line_start: 3332
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_basic_json
      pos:
        line_end: 2976
        line_start: 2976
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref
      pos:
        line_end: 2989
        line_start: 2989
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref<json_ref<T>>
      pos:
        line_end: 2992
        line_start: 2992
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_from_json
      pos:
        line_end: 3033
        line_start: 3033
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_getable
      pos:
        line_end: 3043
        line_start: 3040
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "has_from_json < BasicJsonType, T,\n           enable_if_t < !is_basic_json<T>::value
        >>"
      pos:
        line_end: 3054
        line_start: 3046
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_non_default_from_json
      pos:
        line_end: 3059
        line_start: 3059
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3069
        line_start: 3062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_to_json
      pos:
        line_end: 3074
        line_start: 3074
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3084
        line_start: 3077
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_traits
      pos:
        line_end: 3092
        line_start: 3092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_iterator_traits<iterator_traits<T>>
      pos:
        line_end: 3107
        line_start: 3095
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type
      pos:
        line_end: 3112
        line_start: 3112
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type<T, decltype(void(sizeof(T)))>
      pos:
        line_end: 3115
        line_start: 3115
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type_impl
      pos:
        line_end: 3119
        line_start: 3119
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_object_type_impl <\n    BasicJsonType, CompatibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&\n
        \   is_detected<key_type_t, CompatibleObjectType>::value >>"
      pos:
        line_end: 3136
        line_start: 3122
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type
      pos:
        line_end: 3140
        line_start: 3139
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type_impl
      pos:
        line_end: 3144
        line_start: 3144
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_object_type_impl <\n    BasicJsonType, ConstructibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&\n
        \   is_detected<key_type_t, ConstructibleObjectType>::value >>"
      pos:
        line_end: 3168
        line_start: 3147
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type
      pos:
        line_end: 3173
        line_start: 3171
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type_impl
      pos:
        line_end: 3177
        line_start: 3177
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_string_type_impl <\n    BasicJsonType, CompatibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, CompatibleStringType>::value >>"
      pos:
        line_end: 3187
        line_start: 3180
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type_impl
      pos:
        line_end: 3195
        line_start: 3195
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_constructible_string_type_impl <\n    BasicJsonType, ConstructibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, ConstructibleStringType>::value >>"
      pos:
        line_end: 3206
        line_start: 3198
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type_impl
      pos:
        line_end: 3213
        line_start: 3213
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_array_type_impl <\n    BasicJsonType, CompatibleArrayType,\n
        \   enable_if_t < is_detected<value_type_t, CompatibleArrayType>::value&&\n
        \   is_detected<iterator_t, CompatibleArrayType>::value&&\n// This is needed
        because json_reverse_iterator has a ::iterator type...\n// Therefore it is
        detected as a CompatibleArrayType.\n// The real fix would be to have an Iterable
        concept.\n    !is_iterator_traits <\n    iterator_traits<CompatibleArrayType
        >>::value >>"
      pos:
        line_end: 3229
        line_start: 3216
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type
      pos:
        line_end: 3233
        line_start: 3232
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type_impl
      pos:
        line_end: 3236
        line_start: 3236
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t<std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value
        >>"
      pos:
        line_end: 3243
        line_start: 3239
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t < !std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value&&\n
        \   std::is_default_constructible<ConstructibleArrayType>::value&&\n(std::is_move_assignable<ConstructibleArrayType>::value
        ||\n std::is_copy_assignable<ConstructibleArrayType>::value)&&\nis_detected<value_type_t,
        ConstructibleArrayType>::value&&\nis_detected<iterator_t, ConstructibleArrayType>::value&&\nis_complete_type
        <\ndetected_t<value_type_t, ConstructibleArrayType >>::value >>"
      pos:
        line_end: 3272
        line_start: 3246
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type
      pos:
        line_end: 3276
        line_start: 3275
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type_impl
      pos:
        line_end: 3280
        line_start: 3280
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_integer_type_impl <\n    RealIntegerType, CompatibleNumberIntegerType,\n
        \   enable_if_t < std::is_integral<RealIntegerType>::value&&\n    std::is_integral<CompatibleNumberIntegerType>::value&&\n
        \   !std::is_same<bool, CompatibleNumberIntegerType>::value >>"
      pos:
        line_end: 3298
        line_start: 3283
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type
      pos:
        line_end: 3303
        line_start: 3301
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type_impl
      pos:
        line_end: 3306
        line_start: 3306
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_type_impl <\n    BasicJsonType, CompatibleType,\n    enable_if_t<is_complete_type<CompatibleType>::value
        >>"
      pos:
        line_end: 3315
        line_start: 3309
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type
      pos:
        line_end: 3319
        line_start: 3318
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction
      pos:
        line_end: 3322
        line_start: 3322
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1>
      pos:
        line_end: 3323
        line_start: 3323
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1, Bn...>
      pos:
        line_end: 3326
        line_start: 3325
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple
      pos:
        line_end: 3329
        line_start: 3329
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple<T1, std::tuple<Args...>>
      pos:
        line_end: 3332
        line_start: 3332
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_basic_json
      pos:
        line_end: 2976
        line_start: 2976
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref
      pos:
        line_end: 2989
        line_start: 2989
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref<json_ref<T>>
      pos:
        line_end: 2992
        line_start: 2992
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_from_json
      pos:
        line_end: 3033
        line_start: 3033
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_getable
      pos:
        line_end: 3043
        line_start: 3040
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "has_from_json < BasicJsonType, T,\n           enable_if_t < !is_basic_json<T>::value
        >>"
      pos:
        line_end: 3054
        line_start: 3046
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_non_default_from_json
      pos:
        line_end: 3059
        line_start: 3059
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3069
        line_start: 3062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: has_to_json
      pos:
        line_end: 3074
        line_start: 3074
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3084
        line_start: 3077
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_traits
      pos:
        line_end: 3092
        line_start: 3092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_iterator_traits<iterator_traits<T>>
      pos:
        line_end: 3107
        line_start: 3095
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type
      pos:
        line_end: 3112
        line_start: 3112
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type<T, decltype(void(sizeof(T)))>
      pos:
        line_end: 3115
        line_start: 3115
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type_impl
      pos:
        line_end: 3119
        line_start: 3119
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_object_type_impl <\n    BasicJsonType, CompatibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&\n
        \   is_detected<key_type_t, CompatibleObjectType>::value >>"
      pos:
        line_end: 3136
        line_start: 3122
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type
      pos:
        line_end: 3140
        line_start: 3139
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type_impl
      pos:
        line_end: 3144
        line_start: 3144
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_object_type_impl <\n    BasicJsonType, ConstructibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&\n
        \   is_detected<key_type_t, ConstructibleObjectType>::value >>"
      pos:
        line_end: 3168
        line_start: 3147
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type
      pos:
        line_end: 3173
        line_start: 3171
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type_impl
      pos:
        line_end: 3177
        line_start: 3177
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_string_type_impl <\n    BasicJsonType, CompatibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, CompatibleStringType>::value >>"
      pos:
        line_end: 3187
        line_start: 3180
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_string_type
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type_impl
      pos:
        line_end: 3195
        line_start: 3195
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_constructible_string_type_impl <\n    BasicJsonType, ConstructibleStringType,\n
        \   enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,\n
        \   value_type_t, ConstructibleStringType>::value >>"
      pos:
        line_end: 3206
        line_start: 3198
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_string_type
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type_impl
      pos:
        line_end: 3213
        line_start: 3213
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_array_type_impl <\n    BasicJsonType, CompatibleArrayType,\n
        \   enable_if_t < is_detected<value_type_t, CompatibleArrayType>::value&&\n
        \   is_detected<iterator_t, CompatibleArrayType>::value&&\n// This is needed
        because json_reverse_iterator has a ::iterator type...\n// Therefore it is
        detected as a CompatibleArrayType.\n// The real fix would be to have an Iterable
        concept.\n    !is_iterator_traits <\n    iterator_traits<CompatibleArrayType
        >>::value >>"
      pos:
        line_end: 3229
        line_start: 3216
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type
      pos:
        line_end: 3233
        line_start: 3232
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type_impl
      pos:
        line_end: 3236
        line_start: 3236
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t<std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value
        >>"
      pos:
        line_end: 3243
        line_start: 3239
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t < !std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value&&\n
        \   std::is_default_constructible<ConstructibleArrayType>::value&&\n(std::is_move_assignable<ConstructibleArrayType>::value
        ||\n std::is_copy_assignable<ConstructibleArrayType>::value)&&\nis_detected<value_type_t,
        ConstructibleArrayType>::value&&\nis_detected<iterator_t, ConstructibleArrayType>::value&&\nis_complete_type
        <\ndetected_t<value_type_t, ConstructibleArrayType >>::value >>"
      pos:
        line_end: 3272
        line_start: 3246
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type
      pos:
        line_end: 3276
        line_start: 3275
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type_impl
      pos:
        line_end: 3280
        line_start: 3280
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_integer_type_impl <\n    RealIntegerType, CompatibleNumberIntegerType,\n
        \   enable_if_t < std::is_integral<RealIntegerType>::value&&\n    std::is_integral<CompatibleNumberIntegerType>::value&&\n
        \   !std::is_same<bool, CompatibleNumberIntegerType>::value >>"
      pos:
        line_end: 3298
        line_start: 3283
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type
      pos:
        line_end: 3303
        line_start: 3301
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type_impl
      pos:
        line_end: 3306
        line_start: 3306
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_type_impl <\n    BasicJsonType, CompatibleType,\n    enable_if_t<is_complete_type<CompatibleType>::value
        >>"
      pos:
        line_end: 3315
        line_start: 3309
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type
      pos:
        line_end: 3319
        line_start: 3318
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction
      pos:
        line_end: 3322
        line_start: 3322
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1>
      pos:
        line_end: 3323
        line_start: 3323
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B1, Bn...>
      pos:
        line_end: 3326
        line_start: 3325
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple
      pos:
        line_end: 3329
        line_start: 3329
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple<T1, std::tuple<Args...>>
      pos:
        line_end: 3332
        line_start: 3332
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: from_json_fn
      pos:
        line_end: 3792
        line_start: 3783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: from_json_fn
      pos:
        line_end: 3792
        line_start: 3783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: from_json_fn
      pos:
        line_end: 3792
        line_start: 3783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: from_json_fn
      pos:
        line_end: 3792
        line_start: 3783
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::boolean>
      pos:
        line_end: 4025
        line_start: 4016
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::string>
      pos:
        line_end: 4055
        line_start: 4028
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::binary>
      pos:
        line_end: 4077
        line_start: 4058
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_float>
      pos:
        line_end: 4089
        line_start: 4080
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_unsigned>
      pos:
        line_end: 4101
        line_start: 4092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_integer>
      pos:
        line_end: 4113
        line_start: 4104
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::array>
      pos:
        line_end: 4172
        line_start: 4116
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::object>
      pos:
        line_end: 4204
        line_start: 4175
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: to_json_fn
      pos:
        line_end: 4354
        line_start: 4346
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::boolean>
      pos:
        line_end: 4025
        line_start: 4016
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::string>
      pos:
        line_end: 4055
        line_start: 4028
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::binary>
      pos:
        line_end: 4077
        line_start: 4058
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_float>
      pos:
        line_end: 4089
        line_start: 4080
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_unsigned>
      pos:
        line_end: 4101
        line_start: 4092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_integer>
      pos:
        line_end: 4113
        line_start: 4104
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::array>
      pos:
        line_end: 4172
        line_start: 4116
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::object>
      pos:
        line_end: 4204
        line_start: 4175
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: to_json_fn
      pos:
        line_end: 4354
        line_start: 4346
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::boolean>
      pos:
        line_end: 4025
        line_start: 4016
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::string>
      pos:
        line_end: 4055
        line_start: 4028
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::binary>
      pos:
        line_end: 4077
        line_start: 4058
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_float>
      pos:
        line_end: 4089
        line_start: 4080
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_unsigned>
      pos:
        line_end: 4101
        line_start: 4092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_integer>
      pos:
        line_end: 4113
        line_start: 4104
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::array>
      pos:
        line_end: 4172
        line_start: 4116
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::object>
      pos:
        line_end: 4204
        line_start: 4175
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: to_json_fn
      pos:
        line_end: 4354
        line_start: 4346
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::boolean>
      pos:
        line_end: 4025
        line_start: 4016
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::string>
      pos:
        line_end: 4055
        line_start: 4028
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::binary>
      pos:
        line_end: 4077
        line_start: 4058
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_float>
      pos:
        line_end: 4089
        line_start: 4080
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_unsigned>
      pos:
        line_end: 4101
        line_start: 4092
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_integer>
      pos:
        line_end: 4113
        line_start: 4104
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::array>
      pos:
        line_end: 4172
        line_start: 4116
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::object>
      pos:
        line_end: 4204
        line_start: 4175
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: to_json_fn
      pos:
        line_end: 4354
        line_start: 4346
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: adl_serializer
      pos:
        line_end: 4404
        line_start: 4369
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: adl_serializer
      pos:
        line_end: 4404
        line_start: 4369
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 4>
      pos:
        line_end: 4938
        line_start: 4883
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 2>
      pos:
        line_end: 5000
        line_start: 4941
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory
      pos:
        line_end: 5059
        line_start: 5049
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_of_multibyte
      pos:
        line_end: 5069
        line_start: 5062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory<IteratorType, enable_if_t<is_iterator_of_multibyte<IteratorType>::value>>
      pos:
        line_end: 5083
        line_start: 5072
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 4>
      pos:
        line_end: 4938
        line_start: 4883
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 2>
      pos:
        line_end: 5000
        line_start: 4941
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory
      pos:
        line_end: 5059
        line_start: 5049
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_of_multibyte
      pos:
        line_end: 5069
        line_start: 5062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory<IteratorType, enable_if_t<is_iterator_of_multibyte<IteratorType>::value>>
      pos:
        line_end: 5083
        line_start: 5072
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 4>
      pos:
        line_end: 4938
        line_start: 4883
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 2>
      pos:
        line_end: 5000
        line_start: 4941
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory
      pos:
        line_end: 5059
        line_start: 5049
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_of_multibyte
      pos:
        line_end: 5069
        line_start: 5062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory<IteratorType, enable_if_t<is_iterator_of_multibyte<IteratorType>::value>>
      pos:
        line_end: 5083
        line_start: 5072
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 4>
      pos:
        line_end: 4938
        line_start: 4883
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 2>
      pos:
        line_end: 5000
        line_start: 4941
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory
      pos:
        line_end: 5059
        line_start: 5049
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_of_multibyte
      pos:
        line_end: 5069
        line_start: 5062
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory<IteratorType, enable_if_t<is_iterator_of_multibyte<IteratorType>::value>>
      pos:
        line_end: 5083
        line_start: 5072
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: null()
        type: bool
      - name: boolean(bool val)
        type: bool
      - name: number_integer(number_integer_t val)
        type: bool
      - name: number_unsigned(number_unsigned_t val)
        type: bool
      - name: number_float(number_float_t val, const string_t& s)
        type: bool
      - name: string(string_t& val)
        type: bool
      - name: binary(binary_t& val)
        type: bool
      - name: start_object(std::size_t elements)
        type: bool
      - name: key(string_t& val)
        type: bool
      - name: end_object()
        type: bool
      - name: start_array(std::size_t elements)
        type: bool
      - name: end_array()
        type: bool
      - name: "parse_error(std::size_t position,\n                             const
          std::string& last_token,\n                             const detail::exception&
          ex)"
        type: bool
      item_type: struct
      name: json_sax
      pos:
        line_end: 5308
        line_start: 5201
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: null()
        type: bool
      - name: boolean(bool val)
        type: bool
      - name: number_integer(number_integer_t val)
        type: bool
      - name: number_unsigned(number_unsigned_t val)
        type: bool
      - name: number_float(number_float_t val, const string_t& s)
        type: bool
      - name: string(string_t& val)
        type: bool
      - name: binary(binary_t& val)
        type: bool
      - name: start_object(std::size_t elements)
        type: bool
      - name: key(string_t& val)
        type: bool
      - name: end_object()
        type: bool
      - name: start_array(std::size_t elements)
        type: bool
      - name: end_array()
        type: bool
      - name: "parse_error(std::size_t position,\n                             const
          std::string& last_token,\n                             const detail::exception&
          ex)"
        type: bool
      item_type: struct
      name: json_sax
      pos:
        line_end: 5308
        line_start: 5201
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_sax
      pos:
        line_end: 7600
        line_start: 7572
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_sax_static_asserts
      pos:
        line_end: 7654
        line_start: 7603
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_sax
      pos:
        line_end: 7600
        line_start: 7572
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_sax_static_asserts
      pos:
        line_end: 7654
        line_start: 7603
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_sax
      pos:
        line_end: 7600
        line_start: 7572
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_sax_static_asserts
      pos:
        line_end: 7654
        line_start: 7603
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_sax
      pos:
        line_end: 7600
        line_start: 7572
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: is_sax_static_asserts
      pos:
        line_end: 7654
        line_start: 7603
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: object_iterator
        type: typename BasicJsonType::object_t::iterator
      - name: array_iterator
        type: typename BasicJsonType::array_t::iterator
      - name: primitive_iterator
        type: primitive_iterator_t
      item_type: struct
      name: internal_iterator
      pos:
        line_end: 10757
        line_start: 10749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: object_iterator
        type: typename BasicJsonType::object_t::iterator
      - name: array_iterator
        type: typename BasicJsonType::array_t::iterator
      - name: primitive_iterator
        type: primitive_iterator_t
      item_type: struct
      name: internal_iterator
      pos:
        line_end: 10757
        line_start: 10749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: object_iterator
        type: typename BasicJsonType::object_t::iterator
      - name: array_iterator
        type: typename BasicJsonType::array_t::iterator
      - name: primitive_iterator
        type: primitive_iterator_t
      item_type: struct
      name: internal_iterator
      pos:
        line_end: 10757
        line_start: 10749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: object_iterator
        type: typename BasicJsonType::object_t::iterator
      - name: array_iterator
        type: typename BasicJsonType::array_t::iterator
      - name: primitive_iterator
        type: primitive_iterator_t
      item_type: struct
      name: internal_iterator
      pos:
        line_end: 10757
        line_start: 10749
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: write_character(CharType c)
        type: void
      - name: write_characters(const CharType* s, std::size_t length)
        type: void
      item_type: struct
      name: output_adapter_protocol
      pos:
        line_end: 12636
        line_start: 12631
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: write_character(CharType c)
        type: void
      - name: write_characters(const CharType* s, std::size_t length)
        type: void
      item_type: struct
      name: output_adapter_protocol
      pos:
        line_end: 12636
        line_start: 12631
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: write_character(CharType c)
        type: void
      - name: write_characters(const CharType* s, std::size_t length)
        type: void
      item_type: struct
      name: output_adapter_protocol
      pos:
        line_end: 12636
        line_start: 12631
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: write_character(CharType c)
        type: void
      - name: write_characters(const CharType* s, std::size_t length)
        type: void
      item_type: struct
      name: output_adapter_protocol
      pos:
        line_end: 12636
        line_start: 12631
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 14504
        line_start: 14388
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 14511
        line_start: 14506
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 14650
        line_start: 14645
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: ordered_map
      pos:
        line_end: 16558
        line_start: 16404
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: ordered_map
      pos:
        line_end: 16558
        line_start: 16404
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: hash<nlohmann::json>
      pos:
        line_end: 25198
        line_start: 25187
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: less<::nlohmann::detail::value_t>
      pos:
        line_end: 25215
        line_start: 25204
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: hash<nlohmann::json>
      pos:
        line_end: 25198
        line_start: 25187
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields: []
      item_type: struct
      name: less<::nlohmann::detail::value_t>
      pos:
        line_end: 25215
        line_start: 25204
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    typedefs: []
    union:
    - fields:
      - name: '* object'
        type: object_t
      - name: '* array'
        type: array_t
      - name: '* string'
        type: string_t
      - name: '* binary'
        type: binary_t
      - name: boolean
        type: boolean_t
      - name: number_integer
        type: number_integer_t
      - name: number_unsigned
        type: number_unsigned_t
      - name: number_float
        type: number_float_t
      item_type: union
      name: json_value
      pos:
        line_end: 17698
        line_start: 17449
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
    - fields:
      - name: '* object'
        type: object_t
      - name: '* array'
        type: array_t
      - name: '* string'
        type: string_t
      - name: '* binary'
        type: binary_t
      - name: boolean
        type: boolean_t
      - name: number_integer
        type: number_integer_t
      - name: number_unsigned
        type: number_unsigned_t
      - name: number_float
        type: number_float_t
      item_type: union
      name: json_value
      pos:
        line_end: 17698
        line_start: 17449
        source_file: /src/PROJ/include/proj/internal/vendor/nlohmann/json.hpp
- function_names:
  - main
  source_file: /src/PROJ/examples/pj_obs_api_mini_demo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/examples/crs_to_geodetic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/examples/EPSG_4326_to_32631.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/placeholder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - howmany
  - streq
  - strneq
  - main
  - SCALE
  - SWAP
  - processCompressOptions
  - usage
  source_file: /src/PROJ/libtiff/archive/tools/ras2tiff.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - main
  - usage
  - svRGBSeparate
  - svRGBContig
  - CVT
  - svGrey
  - MIN
  - ABS
  - tiffsv
  source_file: /src/PROJ/libtiff/archive/tools/sgisv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RED
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PROJ/libtiff/archive/tools/sgisv.c
      type_or_value: 'CVT(28)   '
    - item_type: preproc_def
      name: GREEN
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/PROJ/libtiff/archive/tools/sgisv.c
      type_or_value: 'CVT(59) '
    - item_type: preproc_def
      name: BLUE
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/libtiff/archive/tools/sgisv.c
      type_or_value: 'CVT(11)  '
    structs: []
    typedefs:
    - item_type: typedef
      name: char
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/PROJ/libtiff/archive/tools/sgisv.c
      type: unsigned char unsigned
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PROJ/libtiff/archive/tools/sgisv.c
      type: unsigned long
    union: []
- function_names:
  - abs
  - pct
  - main
  - setupLuma
  - setupLumaTables
  - V2Code
  - Code2V
  - CLAMP
  - check
  source_file: /src/PROJ/libtiff/archive/tools/ycbcr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LumaRed
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/PROJ/libtiff/archive/tools/ycbcr.c
      type_or_value: ycbcrCoeffs[0]
    - item_type: preproc_def
      name: LumaGreen
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/PROJ/libtiff/archive/tools/ycbcr.c
      type_or_value: ycbcrCoeffs[1]
    - item_type: preproc_def
      name: LumaBlue
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/PROJ/libtiff/archive/tools/ycbcr.c
      type_or_value: ycbcrCoeffs[2]
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAS_MAGIC
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '"\x59\xa6\x6a\x95"'
    - item_type: preproc_def
      name: RAS_MAGIC_INV
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '"\x95\x6a\xa6\x59"'
    - item_type: preproc_def
      name: RT_OLD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '0               '
    - item_type: preproc_def
      name: RT_STANDARD
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '1          '
    - item_type: preproc_def
      name: RT_BYTE_ENCODED
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '2      '
    - item_type: preproc_def
      name: RT_EXPERIMENTAL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '0xffff '
    - item_type: preproc_def
      name: RMT_RAW
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RMT_NONE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '0      '
    - item_type: preproc_def
      name: RMT_EQUAL_RGB
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
      type_or_value: '1 '
    structs:
    - fields:
      - name: ras_magic[4]
        type: char
      - name: ras_width
        type: int32_t
      - name: ras_height
        type: int32_t
      - name: ras_depth
        type: int32_t
      - name: ras_length
        type: int32_t
      - name: ras_type
        type: int32_t
      - name: ras_maptype
        type: int32_t
      - name: ras_maplength
        type: int32_t
      item_type: struct
      name: rasterfile
      pos:
        line_end: 16
        line_start: 5
        source_file: /src/PROJ/libtiff/archive/tools/rasterfile.h
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - main
  - processCompressOptions
  - cpContig
  - cpSeparate
  - usage
  source_file: /src/PROJ/libtiff/archive/tools/sgi2tiff.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - makegamtab
  - usage
  - main
  - processCompressOptions
  - convert
  - checksignature
  - readscreen
  - readgifimage
  - readextension
  - readraster
  - process
  - initcolors
  - rasterize
  - DRAWSEGMENT
  source_file: /src/PROJ/libtiff/archive/tools/gif2tiff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GIFGAMMA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/archive/tools/gif2tiff.c
      type_or_value: '(1.5) '
    - item_type: preproc_def
      name: IMAX
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/archive/tools/gif2tiff.c
      type_or_value: '0xffff    '
    - item_type: preproc_def
      name: EXTRAFUDGE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/archive/tools/gif2tiff.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: COLSIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/libtiff/archive/tools/gif2tiff.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - rearrangePixels
  - processCompressOptions
  - usage
  source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
  types:
    enum:
    - enumerators:
      - name: BMPT_WIN4
      - name: BMPT_WIN5
      - name: BMPT_OS22
      - name: BMPT_OS21
      item_type: enum
      name: BMPType
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    - enumerators:
      - name: BMPC_RGB
        value: 0L
      - name: BMPC_RLE4
        value: 2L
      - name: BMPC_BITFIELDS
        value: 3L
      - name: BMPC_RLE8
        value: 1L
      - name: BMPC_JPEG
        value: 4L
      - name: BMPC_PNG
        value: 5L
      item_type: enum
      name: BMPComprMethod
      pos:
        line_end: 106
        line_start: 94
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    - enumerators:
      - name: BMPLT_CALIBRATED_RGB
        value: '0'
      - name: BMPLT_DEVICE_CMYK
        value: '2'
      - name: BMPLT_DEVICE_RGB
        value: '1'
      item_type: enum
      name: BMPLCSType
      pos:
        line_end: 115
        line_start: 108
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    preproc_defs:
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
      type_or_value: '0'
    structs:
    - fields:
      - name: iCIEX
        type: int32_t
      - name: iCIEY
        type: int32_t
      - name: iCIEZ
        type: int32_t
      item_type: struct
      name: BMPCIEXYZ
      pos:
        line_end: 122
        line_start: 117
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    - fields:
      - name: iCIERed
        type: BMPCIEXYZ
      - name: iCIEGreen
        type: BMPCIEXYZ
      - name: iCIEBlue
        type: BMPCIEXYZ
      item_type: struct
      name: BMPCIEXYZTriple
      pos:
        line_end: 130
        line_start: 124
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    - fields:
      - name: bType[2]
        type: char
      - name: iSize
        type: uint32_t
      - name: iReserved1
        type: uint16_t
      - name: iReserved2
        type: uint16_t
      - name: iOffBits
        type: uint32_t
      item_type: struct
      name: BMPFileHeader
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    - fields:
      - name: iSize
        type: uint32_t
      - name: iWidth
        type: int32_t
      - name: iHeight
        type: int32_t
      - name: iPlanes
        type: int16_t
      - name: iBitCount
        type: int16_t
      - name: iCompression
        type: uint32_t
      - name: iSizeImage
        type: uint32_t
      - name: iXPelsPerMeter
        type: int32_t
      - name: iYPelsPerMeter
        type: int32_t
      - name: iClrUsed
        type: uint32_t
      - name: iClrImportant
        type: int32_t
      - name: iRedMask
        type: int32_t
      - name: iGreenMask
        type: int32_t
      - name: iBlueMask
        type: int32_t
      - name: iAlphaMask
        type: int32_t
      - name: iCSType
        type: uint32_t
      - name: sEndpoints
        type: BMPCIEXYZTriple
      - name: iGammaRed
        type: int32_t
      - name: iGammaGreen
        type: int32_t
      - name: iGammaBlue
        type: int32_t
      item_type: struct
      name: BMPInfoHeader
      pos:
        line_end: 196
        line_start: 147
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    - fields:
      - name: bBlue
        type: char
      - name: bGreen
        type: char
      - name: bRed
        type: char
      - name: bReserved
        type: char
      item_type: struct
      name: BMPColorEntry
      pos:
        line_end: 216
        line_start: 210
        source_file: /src/PROJ/libtiff/archive/tools/bmp2tiff.c
    typedefs: []
    union: []
- function_names:
  - N
  - _XTIFFInitialize
  - _XTIFFDefaultDirectory
  - main
  source_file: /src/PROJ/libtiff/test/rational_precision2double.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GOTOFAILURE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: TIFFTAG_RATIONAL_DOUBLE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '60000'
    - item_type: preproc_def
      name: TIFFTAG_SRATIONAL_DOUBLE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '60001'
    - item_type: preproc_def
      name: TIFFTAG_RATIONAL_C0_DOUBLE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '60002'
    - item_type: preproc_def
      name: TIFFTAG_SRATIONAL_C16_DOUBLE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '60003'
    - item_type: preproc_def
      name: STRSIZE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: N_SIZE
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '400'
    - item_type: preproc_def
      name: VARIABLE_ARRAY_SIZE
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RATIONAL_EPS
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '(1.0 / 30000.0) '
    - item_type: preproc_def
      name: PIXAR_FOVCOT_VAL
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '5.123456789123456789'
    - item_type: preproc_def
      name: STONITS_VAL
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '6.123456789123456789'
    - item_type: preproc_def
      name: SHADOWSCALE_VAL
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '15.123456789123456789'
    - item_type: preproc_def
      name: BESTQUALITYSCALE_VAL
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: '17.123456789123456789'
    - item_type: preproc_def
      name: BASELINEEXPOSURE_VAL
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
      type_or_value: (-3.14159265358979323846)
    structs: []
    typedefs: []
    union:
    - fields:
      - name: Int32
        type: int32_t
      - name: Short1
        type: short
      - name: Short2[2]
        type: short
      - name: Char[4]
        type: char
      item_type: union
      name: auxInt32Union
      pos:
        line_end: 338
        line_start: 332
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
    - fields:
      - name: dbl
        type: double
      - name: flt1
        type: float
      - name: flt2
        type: float
      item_type: union
      name: auxDblUnion
      pos:
        line_end: 344
        line_start: 339
        source_file: /src/PROJ/libtiff/test/rational_precision2double.c
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/ascii_tag.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/libtiff/test/ascii_tag.c
      type_or_value: (sizeof(ascii_tags) / sizeof(ascii_tags[0]))
    structs:
    - fields:
      - name: tag
        type: ttag_t
      - name: '*value'
        type: char
      item_type: struct
      name: "ascii_tags[] = {{TIFFTAG_DOCUMENTNAME, \"Test TIFF image\"},\n                  {TIFFTAG_IMAGEDESCRIPTION,
        \"Temporary test image\"},\n                  {TIFFTAG_MAKE, \"This is not
        scanned image\"},\n                  {TIFFTAG_MODEL, \"No scanner\"},\n                  {TIFFTAG_PAGENAME,
        \"Test page\"},\n                  {TIFFTAG_SOFTWARE, \"Libtiff library\"},\n
        \                 {TIFFTAG_DATETIME, \"2004:09:10 16:09:00\"},\n                  {TIFFTAG_ARTIST,
        \"Andrey V. Kiselev\"},\n                  {TIFFTAG_HOSTCOMPUTER, \"Debian
        GNU/Linux (Sarge)\"},\n                  {TIFFTAG_TARGETPRINTER, \"No printer\"},\n
        \                 {TIFFTAG_COPYRIGHT, \"Copyright (c) 2004, Andrey Kiselev\"},\n
        \                 {TIFFTAG_FAXSUBADDRESS, \"Fax subaddress\"},\n                  /*
        DGN tags */\n                  {TIFFTAG_UNIQUECAMERAMODEL, \"No camera\"},\n
        \                 {TIFFTAG_CAMERASERIALNUMBER, \"1234567890\"}}"
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/PROJ/libtiff/test/ascii_tag.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/custom_dir.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/test/custom_dir.c
      type_or_value: '3 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/strip_rw.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/test/test_arrays.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/libtiff/test/test_arrays.h
      type_or_value: '37'
    - item_type: preproc_def
      name: YSIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/libtiff/test/test_arrays.h
      type_or_value: '23'
    structs: []
    typedefs: []
    union: []
- function_names:
  - myErrorHandler
  - test_error_handler
  - test_TIFFOpenOptionsSetMaxSingleMemAlloc
  - test_TIFFOpenOptionsSetMaxCumulatedMemAlloc
  - test_header_byte_order
  - open_file_and_write
  - test_TIFFheader_swapping
  - main
  source_file: /src/PROJ/libtiff/test/test_open_options.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ERROR_STRING_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/test/test_open_options.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: VALUE_SAMPLESPERPIXEL
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/libtiff/test/test_open_options.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: VALUE_SAMPLESPERPIXEL
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/libtiff/test/test_open_options.c
      type_or_value: '10000'
    structs:
    - fields:
      - name: '*buffer'
        type: char
      - name: buffer_size
        type: size_t
      - name: '*tif_got_from_callback'
        type: TIFF
      - name: module[64]
        type: char
      item_type: struct
      name: MyErrorHandlerUserDataStruct
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/PROJ/libtiff/test/test_open_options.c
    typedefs: []
    union: []
- function_names:
  - TIFFmax
  - TIFFmin
  - TIFFSetField_M
  - TIFFGetField_M
  - TIFFOpen_M
  - TIFFWriteDirectory_M
  - TIFFCheckpointDirectory_M
  - TIFFSetDirectory_M
  - TIFFWriteScanline_M
  - write_image_data
  - write_data_to_current_directory
  - PACK
  - checkRasterContents
  - printRaster
  - testRGBAImageReadFunctions
  - testRGBAImageReadWithOffsets
  - test_ReadRGBAImage
  - checkOpenLogFile
  - main
  source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GOTOFAILURE
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: "{                                                                          \\\n
        \   }"
    - item_type: preproc_def
      name: GOTOFAILURE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: BPS
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: A1
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: (((uint32_t)0xffL) << 24)
    - item_type: preproc_def
      name: RASTER_MEMSETVAL
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: '0xba'
    - item_type: preproc_def
      name: NUMP
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
      type_or_value: '4'
    structs:
    - fields:
      - name: x
        type: uint32_t
      - name: y
        type: uint32_t
      item_type: struct
      name: Coordinate
      pos:
        line_end: 458
        line_start: 454
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
    typedefs: []
    union:
    - fields:
      - name: u8[4]
        type: uint8_t
      - name: u32
        type: uint32_t
      item_type: union
      name: RasterPixel
      pos:
        line_end: 453
        line_start: 449
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
    - fields:
      - name: u8[4]
        type: uint8_t
      - name: u32
        type: uint32_t
      item_type: union
      name: u
      pos:
        line_end: 673
        line_start: 669
        source_file: /src/PROJ/libtiff/test/test_RGBAImage.c
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/long_tag.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/test/long_tag.c
      type_or_value: (sizeof(long_tags) / sizeof(long_tags[0]))
    structs:
    - fields:
      - name: tag
        type: ttag_t
      - name: count
        type: short
      - name: value
        type: uint32_t
      item_type: struct
      name: Tags
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/PROJ/libtiff/test/long_tag.c
    typedefs: []
    union: []
- function_names:
  - GOTOFAILURE
  - setup_transfer_functions
  - read_check_transferfunctions
  - write_basic_IFD_data
  - main
  source_file: /src/PROJ/libtiff/test/test_transferfunction_write_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test
  - main
  source_file: /src/PROJ/libtiff/test/defer_strile_loading.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK_TYPE
  source_file: /src/PROJ/libtiff/test/testtypes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/test/test_arrays.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/test_append_to_strip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_packbits
  - rewrite_test
  - main
  source_file: /src/PROJ/libtiff/test/rewrite_tag.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_strips
  - read_strips
  - create_image_striped
  - read_image_striped
  source_file: /src/PROJ/libtiff/test/strip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/test/tifftest.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/short_tag.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/test/short_tag.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: NSINGLETAGS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/libtiff/test/short_tag.c
      type_or_value: (sizeof(short_single_tags) / sizeof(short_single_tags[0]))
    - item_type: preproc_def
      name: NPAIREDTAGS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/libtiff/test/short_tag.c
      type_or_value: (sizeof(short_paired_tags) / sizeof(short_paired_tags[0]))
    structs:
    - fields:
      - name: tag
        type: ttag_t
      - name: value
        type: uint16_t
      item_type: struct
      name: "short_single_tags[] = {{TIFFTAG_COMPRESSION, COMPRESSION_NONE},\n                         {TIFFTAG_FILLORDER,
        FILLORDER_MSB2LSB},\n                         {TIFFTAG_ORIENTATION, ORIENTATION_BOTRIGHT},\n
        \                        {TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH},\n                         {TIFFTAG_MINSAMPLEVALUE,
        23},\n                         {TIFFTAG_MAXSAMPLEVALUE, 241},\n                         {TIFFTAG_INKSET,
        INKSET_MULTIINK},\n                         {TIFFTAG_NUMBEROFINKS, SPP},\n
        \                        {TIFFTAG_SAMPLEFORMAT, SAMPLEFORMAT_UINT}}"
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/PROJ/libtiff/test/short_tag.c
    - fields:
      - name: tag
        type: ttag_t
      - name: values[2]
        type: uint16_t
      item_type: struct
      name: "short_paired_tags[] = {{TIFFTAG_PAGENUMBER, {1, 1}},\n                         {TIFFTAG_HALFTONEHINTS,
        {0, 255}},\n                         {TIFFTAG_DOTRANGE, {8, 16}},\n                         {TIFFTAG_YCBCRSUBSAMPLING,
        {2, 1}}}"
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/PROJ/libtiff/test/short_tag.c
    typedefs: []
    union: []
- function_names:
  - CheckCurDirNum
  - TIFFWriteDirectory_M
  - TIFFCheckpointDirectory_M
  - TIFFSetDirectory_M
  - CHECKCURDIRNUM_M
  - write_data_to_current_directory
  - write_directory_to_closed_file
  - count_directories
  - is_requested_directory
  - get_dir_offsets
  - test_arbitrary_directrory_loading
  - test_SubIFD_directrory_handling
  - test_SetSubDirectory_failure
  - test_rewrite_lastdir_offset
  - test_lastdir_offset
  - write_EXIF_data_to_current_directory
  - test_current_dirnum_incrementing
  - TIFFReadFile_M
  - TIFFWriteFile_M
  - TIFFSeekFile_M
  - test_curdircount_setting
  - test_solitary_custom_directory
  - main
  source_file: /src/PROJ/libtiff/test/test_directory.c
  types:
    enum:
    - enumerators:
      - name: DirWalkMode_ReadDirectory
      - name: DirWalkMode_SetDirectory_Reverse
      - name: DirWalkMode_SetDirectory
      item_type: enum
      name: DirWalkMode
      pos:
        line_end: 283
        line_start: 278
        source_file: /src/PROJ/libtiff/test/test_directory.c
    preproc_defs:
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/test/test_directory.c
      type_or_value: '3            '
    - item_type: preproc_def
      name: N_DIRECTORIES
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/test/test_directory.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: NUMBER_OF_SUBIFDs
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/PROJ/libtiff/test/test_directory.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NUMBER_OF_SUBIFDs2
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/PROJ/libtiff/test/test_directory.c
      type_or_value: '1'
    - item_type: preproc_def
      name: N_DIRECTORIES_2
      pos:
        line_end: 1581
        line_start: 1580
        source_file: /src/PROJ/libtiff/test/test_directory.c
      type_or_value: '2'
    - item_type: preproc_def
      name: N_DIRECTORIES_2
      pos:
        line_end: 2111
        line_start: 2110
        source_file: /src/PROJ/libtiff/test/test_directory.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test
  - main
  source_file: /src/PROJ/libtiff/test/defer_strile_writing.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFmax
  - TIFFmin
  - write_image_data
  - write_data_to_current_directory
  - write_EXIF_data_to_current_directory
  - is_requested_directory
  - test_IFD_enlargement
  - test_EXIF_enlargement
  - test_SubIFD_enlargement
  - test_CheckpointDirectory
  - test_OddDataSizes
  - main
  source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: BPS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: NUMIFDsMAX
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '4'
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LENGTH
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NUMBER_OF_DIRS
      pos:
        line_end: 1186
        line_start: 1185
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NUMBER_OF_SUBIFDs
      pos:
        line_end: 1187
        line_start: 1186
        source_file: /src/PROJ/libtiff/test/test_IFD_enlargement.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_requested_directory
  - test_subifd_loop
  - main
  source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMBER_OF_SUBIFDs
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/libtiff/test/test_ifd_loop_detection.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_cluster
  - check_rgb_pixel
  - check_rgba_pixel
  - main
  source_file: /src/PROJ/libtiff/test/raw_decode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - N
  - extender
  - writeTestTiff
  - main
  source_file: /src/PROJ/libtiff/test/test_signed_tags.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FAULT_RETURN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/libtiff/test/test_signed_tags.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OK_RETURN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/libtiff/test/test_signed_tags.c
      type_or_value: '0'
    - item_type: preproc_def
      name: GOTOFAILURE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/test/test_signed_tags.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: FIELD_IGNORE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/test/test_signed_tags.c
      type_or_value: '0 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GOTOFAILURE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: GOTOFAILURE_GPS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: GOTOFAILURE_ALL_EXIF
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: STRSIZE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: N_SIZE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '120'
    - item_type: preproc_def
      name: VARIABLE_ARRAY_SIZE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RATIONAL_EPS
      pos:
        line_end: 230
        line_start: 228
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '(1.0 / 30000.0) '
    - item_type: preproc_def
      name: PIXAR_FOVCOT_VAL
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '5.123456789123456789'
    - item_type: preproc_def
      name: STONITS_VAL
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '6.123456789123456789'
    - item_type: preproc_def
      name: BESTQUALITYSCALE_VAL
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '15.3'
    - item_type: preproc_def
      name: GPSHPOSITIONINGERROR_VAL
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
      type_or_value: '0.369'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: Int32
        type: int32_t
      - name: Short1
        type: short
      - name: Short2[2]
        type: short
      - name: Char[4]
        type: char
      item_type: union
      name: unionInt32
      pos:
        line_end: 213
        line_start: 207
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
    - fields:
      - name: dbl
        type: double
      - name: flt1
        type: float
      - name: flt2
        type: float
      item_type: union
      name: auxDblUnion
      pos:
        line_end: 219
        line_start: 214
        source_file: /src/PROJ/libtiff/test/custom_dir_EXIF_231.c
- function_names:
  - CheckShortField
  - CheckShortPairedField
  - CheckLongField
  source_file: /src/PROJ/libtiff/test/check_tag.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NUM_ELEMENTS
  - main
  - check_tag_definitions
  - write_test_tiff
  - testPasscountFlag
  - write_all_tags
  - tagIsInList
  - read_all_tags
  source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GOTOFAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: goto failure;
    - item_type: preproc_def
      name: SPP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: STRSIZE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: N_SIZE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: '400'
    - item_type: preproc_def
      name: VARIABLE_ARRAY_SIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NINKS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RATIONAL_EPS
      pos:
        line_end: 1309
        line_start: 1307
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
      type_or_value: '(1.0 / 30000.0) '
    structs: []
    typedefs: []
    union:
    - fields:
      - name: Int32
        type: int32_t
      - name: Short1
        type: short
      - name: Short2[2]
        type: short
      - name: Char[4]
        type: char
      item_type: union
      name: unionInt32
      pos:
        line_end: 1297
        line_start: 1291
        source_file: /src/PROJ/libtiff/test/test_write_read_tags.c
- function_names:
  - PrivateErrorHandler
  - main
  - usage
  - ShowStrip
  - TIFFReadContigStripData
  - TIFFReadSeparateStripData
  - ShowTile
  - TIFFReadContigTileData
  - TIFFReadSeparateTileData
  - TIFFReadData
  - ShowRawBytes
  - ShowRawWords
  - TIFFReadRawDataStriped
  - TIFFReadRawDataTiled
  - TIFFReadRawData
  - tiffinfo
  source_file: /src/PROJ/libtiff/tools/tiffinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/tiffinfo.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/tools/tiffinfo.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/libtiff/tools/tiffinfo.c
      type_or_value: (256 * 1024 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - limitMalloc
  - main
  - checkImage
  - PSUNITS
  - PhotoshopBanner
  - setupPageState
  - isCCITTCompression
  - get_subimage_count
  - exportMaskedImage
  - psRotateImage
  - psScaleImage
  - psPageSize
  - psMaskImage
  - psStart
  - get_viewport
  - TIFF2PS
  - PSHead
  - PSTail
  - checkcmap
  - PS_Lvl2colorspace
  - CVT
  - PS_Lvl2ImageDict
  - PS_FlipBytes
  - PS_Lvl2page
  - PSpage
  - PSColorContigPreamble
  - PSColorSeparatePreamble
  - DOBREAK
  - puthex
  - PSDataColorContig
  - PSDataColorSeparate
  - PUTRGBHEX
  - PSDataPalette
  - CVT
  - PSDataBW
  - PSRawDataBW
  - Ascii85Init
  - Ascii85Encode
  - Ascii85Put
  - Ascii85Flush
  - Ascii85EncodeBlock
  - usage
  source_file: /src/PROJ/libtiff/tools/tiff2ps.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: (256 * 1024 * 1024)
    - item_type: preproc_def
      name: PS_UNIT_SIZE
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: 72.0F
    - item_type: preproc_def
      name: MAXLINE
      pos:
        line_end: 2408
        line_start: 2407
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: '36'
    - item_type: preproc_def
      name: A85BREAKCNTR
      pos:
        line_end: 3291
        line_start: 3290
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: ascii85breaklen
    - item_type: preproc_def
      name: A85BREAKLEN
      pos:
        line_end: 3292
        line_start: 3291
        source_file: /src/PROJ/libtiff/tools/tiff2ps.c
      type_or_value: (2 * MAXLINE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - usage
  - checkEOF
  - tiffcmp
  - pack
  - CmpShortField
  - CmpShortField2
  - CmpLongField
  - CmpFloatField
  - CmpStringField
  - CmpShortArrayField
  - cmptags
  - ContigCompare
  - PrintIntDiff
  - PrintFloatDiff
  - SeparateCompare
  - checkTag
  - CHECK
  - CheckShortTag
  - CheckShort2Tag
  - CheckShortArrayTag
  - CheckLongTag
  - CheckFloatTag
  - CheckStringTag
  - leof
  source_file: /src/PROJ/libtiff/tools/tiffcmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/tools/tiffcmp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/tiffcmp.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - limitMalloc
  - nextSrcImage
  - openSrcImage
  - main
  - processZIPOptions
  - processLERCOptions
  - processG3Options
  - processCompressOptions
  - usage
  - CopyField
  - CopyField2
  - CopyField3
  - CopyField4
  - cpTag
  - CopyTag
  - tiffcp
  - DECLAREcpFunc
  - DECLAREreadFunc
  - DECLAREwriteFunc
  - DECLAREcpFunc
  - subtract
  - lineSubtractFn
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - cpStripToTile
  - cpContigBufToSeparateBuf
  - cpSeparateBufToContigBuf
  - cpImage
  - DECLAREreadFunc
  - DECLAREreadFunc
  - _TIFFCastSSizeToUInt32
  - DECLAREreadFunc
  - DECLAREreadFunc
  - DECLAREwriteFunc
  - DECLAREwriteFunc
  - DECLAREwriteFunc
  - DECLAREwriteFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - DECLAREcpFunc
  - pickCopyFunc
  - pack
  source_file: /src/PROJ/libtiff/tools/tiffcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: (256 * 1024 * 1024)
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: (sizeof(tags) / sizeof(tags[0]))
    - item_type: preproc_def
      name: T
      pos:
        line_end: 2300
        line_start: 2299
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: F
      pos:
        line_end: 2301
        line_start: 2300
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type_or_value: '0'
    structs:
    - fields:
      - name: tag
        type: uint16_t
      - name: count
        type: uint16_t
      - name: type
        type: TIFFDataType
      item_type: struct
      name: cpTag
      pos:
        line_end: 788
        line_start: 783
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
    typedefs:
    - item_type: typedef
      name: "(*copyFunc)(TIFF *in, TIFF *out, uint32_t l, uint32_t w,\n                        uint16_t
        samplesperpixel)"
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type: int
    - item_type: typedef
      name: (*readFunc)(TIFF *, uint8_t *, uint32_t, uint32_t, tsample_t)
      pos:
        line_end: 1178
        line_start: 1178
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type: int
    - item_type: typedef
      name: (*writeFunc)(TIFF *, uint8_t *, uint32_t, uint32_t, tsample_t)
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type: int
    - item_type: typedef
      name: biasFn(void *image, void *bias, uint32_t pixels)
      pos:
        line_end: 1222
        line_start: 1222
        source_file: /src/PROJ/libtiff/tools/tiffcp.c
      type: void
    union: []
- function_names:
  - streq
  - strneq
  - checkcmap
  - CopyField
  - CopyField3
  - main
  - CVT
  - processCompressOptions
  - CopyField
  - CopyField2
  - CopyField3
  - CopyField4
  - cpTag
  - cpTags
  - usage
  source_file: /src/PROJ/libtiff/tools/pal2rgb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/tools/pal2rgb.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/pal2rgb.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/PROJ/libtiff/tools/pal2rgb.c
      type_or_value: (sizeof(tags) / sizeof(tags[0]))
    structs:
    - fields:
      - name: tag
        type: uint16_t
      - name: count
        type: uint16_t
      - name: type
        type: TIFFDataType
      item_type: struct
      name: cpTag
      pos:
        line_end: 404
        line_start: 399
        source_file: /src/PROJ/libtiff/tools/pal2rgb.c
    typedefs: []
    union: []
- function_names:
  - TIFFftell
  - TIFFfseek
  - TIFFftell
  - usage
  - GetField
  - limitMalloc
  - main
  source_file: /src/PROJ/libtiff/tools/tiffset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/tiffset.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/tools/tiffset.c
      type_or_value: '1'
    - item_type: preproc_def
      name: offset
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/PROJ/libtiff/tools/tiffset.c
      type_or_value: ', whence)'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/libtiff/tools/tiffset.c
      type_or_value: (256 * 1024 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - CopyField
  - howmany
  - roundup
  - main
  - setupLuma
  - V2Code
  - setupLumaTables
  - cvtClump
  - cvtStrip
  - cvtRaster
  - tiffcvt
  - usage
  source_file: /src/PROJ/libtiff/tools/rgb2ycbcr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/tools/rgb2ycbcr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/rgb2ycbcr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LumaRed
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/libtiff/tools/rgb2ycbcr.c
      type_or_value: ycbcrCoeffs[0]
    - item_type: preproc_def
      name: LumaGreen
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/libtiff/tools/rgb2ycbcr.c
      type_or_value: ycbcrCoeffs[1]
    - item_type: preproc_def
      name: LumaBlue
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/libtiff/tools/rgb2ycbcr.c
      type_or_value: ycbcrCoeffs[2]
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - cleanup_and_exit
  - initImage
  - prevImage
  - nextImage
  - setWindowSize
  - raster_draw
  - raster_reshape
  - raster_keys
  - raster_special
  - usage
  - photoArg
  source_file: /src/PROJ/libtiff/tools/tiffgt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/tools/tiffgt.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/libtiff/tools/tiffgt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TITLE_LENGTH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/libtiff/tools/tiffgt.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CopyField
  - CopyField2
  - CopyField3
  - limitMalloc
  - limitRealloc
  - main
  - newfilename
  - tiffcp
  - cpStrips
  - cpTiles
  - usage
  source_file: /src/PROJ/libtiff/tools/tiffsplit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/libtiff/tools/tiffsplit.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/libtiff/tools/tiffsplit.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PATH_LENGTH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/tools/tiffsplit.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/tools/tiffsplit.c
      type_or_value: (256 * 1024 * 1024)
    - item_type: preproc_def
      name: MAXFILES
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/libtiff/tools/tiffsplit.c
      type_or_value: '17576'
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - CopyField
  - main
  - SCALE
  - processCompressOptions
  - usage
  - get_histogram
  - largest_box
  - splitbox
  - shrinkbox
  - create_colorcell
  - map_colortable
  - quant
  - SWAP
  - GetInputLine
  - GetComponent
  - quant_fsdither
  source_file: /src/PROJ/libtiff/tools/tiffmedian.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_CMAP_SIZE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '256'
    - item_type: preproc_def
      name: COLOR_DEPTH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_COLOR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '256'
    - item_type: preproc_def
      name: B_DEPTH
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: B_LEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: (1L << B_DEPTH)
    - item_type: preproc_def
      name: C_DEPTH
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '2'
    - item_type: preproc_def
      name: C_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: '(1L << C_DEPTH) '
    - item_type: preproc_def
      name: COLOR_SHIFT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
      type_or_value: (COLOR_DEPTH - B_DEPTH)
    structs:
    - fields:
      - name: '*next'
        type: struct colorbox
      - name: rmin
        type: int
      - name: gmin
        type: int
      - name: bmin
        type: int
      - name: total
        type: uint32_t
      item_type: struct
      name: colorbox
      pos:
        line_end: 83
        line_start: 76
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
    - fields:
      - name: num_ents
        type: int
      - name: entries[MAX_CMAP_SIZE][2]
        type: int
      item_type: struct
      name: C_cell
      pos:
        line_end: 89
        line_start: 85
        source_file: /src/PROJ/libtiff/tools/tiffmedian.c
    typedefs: []
    union: []
- function_names:
  - streq
  - FillTable
  - WriteTable
  - main
  source_file: /src/PROJ/libtiff/tools/mkg3states.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: uint16_t
      - name: val
        type: uint16_t
      item_type: struct
      name: proto
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/PROJ/libtiff/tools/mkg3states.c
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  - ord
  - dump
  - ReadDirectory
  - PrintTag
  - PrintType
  - PrintASCII
  - PrintData
  - ReadError
  - vError
  - Error
  - Fatal
  source_file: /src/PROJ/libtiff/tools/tiffdump.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
      type_or_value: '1'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NWIDTHS
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
      type_or_value: (sizeof(datawidth) / sizeof(datawidth[0]))
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
      type_or_value: (sizeof(tagnames) / sizeof(tagnames[0]))
    - item_type: preproc_def
      name: NTYPES
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
      type_or_value: (sizeof(typenames) / sizeof(typenames[0]))
    structs:
    - fields:
      - name: tag
        type: uint16_t
      - name: '*name'
        type: char
      item_type: struct
      name: tagname
      pos:
        line_end: 563
        line_start: 559
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
    typedefs: []
    union:
    - fields:
      - name: classic
        type: TIFFHeaderClassic
      - name: big
        type: TIFFHeaderBig
      - name: common
        type: TIFFHeaderCommon
      item_type: union
      name: hdr
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/PROJ/libtiff/tools/tiffdump.c
- function_names:
  - TIFFhowmany
  - TIFFhowmany8
  - limitMalloc
  - readContigTilesIntoBuffer
  - readSeparateTilesIntoBuffer
  - writeBufferToContigStrips
  - writeBufferToSeparateStrips
  - writeBufferToContigTiles
  - writeBufferToSeparateTiles
  - processG3Options
  - processCompressOptions
  - usage
  - CopyField
  - CopyField2
  - CopyField3
  - CopyField4
  - cpTag
  - CopyTag
  - process_command_opts
  - update_output_file
  - main
  - dump_data
  - dump_byte
  - dump_short
  - dump_long
  - dump_wide
  - dump_info
  - dump_buffer
  - extractContigSamplesBytes
  - extractContigSamples8bits
  - extractContigSamples16bits
  - extractContigSamples24bits
  - extractContigSamples32bits
  - extractContigSamplesShifted8bits
  - extractContigSamplesShifted16bits
  - extractContigSamplesShifted24bits
  - extractContigSamplesShifted32bits
  - extractContigSamplesToBuffer
  - extractContigSamplesToTileBuffer
  - readContigStripsIntoBuffer
  - combineSeparateSamplesBytes
  - combineSeparateSamples8bits
  - combineSeparateSamples16bits
  - combineSeparateSamples24bits
  - combineSeparateSamples32bits
  - combineSeparateTileSamplesBytes
  - combineSeparateTileSamples8bits
  - combineSeparateTileSamples16bits
  - combineSeparateTileSamples24bits
  - combineSeparateTileSamples32bits
  - readSeparateStripsIntoBuffer
  - get_page_geometry
  - initPageSetup
  - initImageData
  - initCropMasks
  - initDumpOptions
  - computeInputPixelOffsets
  - getCropOffsets
  - computeOutputPixelOffsets
  - loadImage
  - correct_orientation
  - extractCompositeRegions
  - extractSeparateRegion
  - extractImageSection
  - writeSelections
  - writeImageSections
  - writeSingleSection
  - createImageSection
  - processCropSelections
  - createCroppedImage
  - writeCroppedImage
  - rotateContigSamples8bits
  - rotateContigSamples16bits
  - rotateContigSamples24bits
  - rotateContigSamples32bits
  - rotateImage
  - reverseSamples8bits
  - reverseSamples16bits
  - reverseSamples24bits
  - reverseSamples32bits
  - reverseSamplesBytes
  - mirrorImage
  - invertImage
  source_file: /src/PROJ/libtiff/tools/tiffcrop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EDGE_TOP
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EDGE_LEFT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EDGE_BOTTOM
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EDGE_RIGHT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EDGE_CENTER
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MIRROR_HORIZ
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MIRROR_VERT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MIRROR_BOTH
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ROTATECW_90
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ROTATECW_180
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ROTATECW_270
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '32'
    - item_type: preproc_def
      name: ROTATE_ANY
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: (ROTATECW_90 | ROTATECW_180 | ROTATECW_270)
    - item_type: preproc_def
      name: CROP_NONE
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: CROP_MARGINS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: CROP_WIDTH
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2    '
    - item_type: preproc_def
      name: CROP_LENGTH
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: CROP_ZONES
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8    '
    - item_type: preproc_def
      name: CROP_REGIONS
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: CROP_ROTATE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '32'
    - item_type: preproc_def
      name: CROP_MIRROR
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '64'
    - item_type: preproc_def
      name: CROP_INVERT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '128'
    - item_type: preproc_def
      name: ONE_FILE_COMPOSITE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0       '
    - item_type: preproc_def
      name: ONE_FILE_SEPARATED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: FILE_PER_IMAGE_COMPOSITE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: FILE_PER_IMAGE_SEPARATED
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: FILE_PER_SELECTION
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '4       '
    - item_type: preproc_def
      name: COMPOSITE_IMAGES
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: SEPARATED_IMAGES
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: STRIP
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TILE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MAX_REGIONS
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8   '
    - item_type: preproc_def
      name: MAX_OUTBUFFS
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8  '
    - item_type: preproc_def
      name: MAX_SECTIONS
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '32 '
    - item_type: preproc_def
      name: MAX_IMAGES
      pos:
        line_end: 220
        line_start: 217
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2048              '
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: MAX_BITS_PER_SAMPLE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '64  '
    - item_type: preproc_def
      name: MAX_EXPORT_PAGES
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '999999 '
    - item_type: preproc_def
      name: DUMP_NONE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DUMP_TEXT
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DUMP_RAW
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TIFF_DIR_MAX
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '65534'
    - item_type: preproc_def
      name: MAX_MODESTRING_LEN
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '9'
    - item_type: preproc_def
      name: NUM_BUFF_OVERSIZE_BYTES
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_PAPERNAMES
      pos:
        line_end: 345
        line_start: 342
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '(sizeof(PaperTable) / sizeof(PaperTable[0])) '
    - item_type: preproc_def
      name: MAX_PAPERNAME_LENGTH
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '15'
    - item_type: preproc_def
      name: DEFAULT_RESUNIT
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: RESUNIT_INCH
    - item_type: preproc_def
      name: DEFAULT_PAGE_HEIGHT
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '14.0'
    - item_type: preproc_def
      name: DEFAULT_PAGE_WIDTH
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8.5'
    - item_type: preproc_def
      name: DEFAULT_RESOLUTION
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '300'
    - item_type: preproc_def
      name: DEFAULT_PAPER_SIZE
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '"legal"'
    - item_type: preproc_def
      name: ORIENTATION_NONE
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ORIENTATION_PORTRAIT
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ORIENTATION_LANDSCAPE
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ORIENTATION_SEASCAPE
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ORIENTATION_AUTO
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PAGE_MODE_NONE
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PAGE_MODE_RESOLUTION
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PAGE_MODE_PAPERSIZE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PAGE_MODE_MARGINS
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PAGE_MODE_ROWSCOLS
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: INVERT_DATA_ONLY
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '10'
    - item_type: preproc_def
      name: INVERT_DATA_AND_TAG
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: (256 * 1024 * 1024)
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 1832
        line_start: 1831
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: (sizeof(tags) / sizeof(tags[0]))
    - item_type: preproc_def
      name: FILENUM_MAX_LENGTH
      pos:
        line_end: 2539
        line_start: 2538
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
      type_or_value: (1 + 6 + 1 + 4 + 1)
    structs:
    - fields:
      - name: tmargin
        type: uint32_t
      - name: lmargin
        type: uint32_t
      - name: bmargin
        type: uint32_t
      - name: rmargin
        type: uint32_t
      - name: crop_width
        type: uint32_t
      - name: crop_length
        type: uint32_t
      - name: startx
        type: uint32_t
      - name: endx
        type: uint32_t
      - name: starty
        type: uint32_t
      - name: endy
        type: uint32_t
      item_type: struct
      name: offset
      pos:
        line_end: 250
        line_start: 238
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: size
        type: size_t
      - name: '*buffer'
        type: unsigned char
      item_type: struct
      name: buffinfo
      pos:
        line_end: 262
        line_start: 258
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: position
        type: int
      - name: total
        type: int
      item_type: struct
      name: zone
      pos:
        line_end: 268
        line_start: 264
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: x1
        type: uint32_t
      - name: x2
        type: uint32_t
      - name: y1
        type: uint32_t
      - name: y2
        type: uint32_t
      - name: position
        type: int
      - name: total
        type: int
      - name: buffsize
        type: uint32_t
      item_type: struct
      name: pageseg
      pos:
        line_end: 279
        line_start: 270
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: X1
        type: double
      - name: X2
        type: double
      - name: Y1
        type: double
      - name: Y2
        type: double
      item_type: struct
      name: coordpairs
      pos:
        line_end: 287
        line_start: 281
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: x1
        type: uint32_t
      - name: x2
        type: uint32_t
      - name: y1
        type: uint32_t
      - name: y2
        type: uint32_t
      - name: width
        type: uint32_t
      - name: length
        type: uint32_t
      - name: buffsize
        type: uint32_t
      item_type: struct
      name: region
      pos:
        line_end: 298
        line_start: 289
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: width
        type: double
      - name: length
        type: double
      - name: margins[4]
        type: double
      - name: xres
        type: float
      - name: yres
        type: float
      - name: combined_width
        type: uint32_t
      - name: combined_length
        type: uint32_t
      - name: bufftotal
        type: uint32_t
      - name: img_mode
        type: uint16_t
      - name: exp_mode
        type: uint16_t
      - name: crop_mode
        type: uint16_t
      - name: res_unit
        type: uint16_t
      - name: edge_ref
        type: uint16_t
      - name: rotation
        type: uint16_t
      - name: mirror
        type: uint16_t
      - name: invert
        type: uint16_t
      - name: photometric
        type: uint16_t
      - name: selections
        type: uint16_t
      - name: regions
        type: uint16_t
      - name: regionlist[MAX_REGIONS]
        type: struct region
      - name: zones
        type: uint16_t
      - name: zonelist[MAX_REGIONS]
        type: struct zone
      - name: corners[MAX_REGIONS]
        type: struct coordpairs
      item_type: struct
      name: crop_mask
      pos:
        line_end: 340
        line_start: 305
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: name[MAX_PAPERNAME_LENGTH]
        type: char
      - name: width
        type: double
      - name: length
        type: double
      - name: asratio
        type: double
      item_type: struct
      name: paperdef
      pos:
        line_end: 373
        line_start: 367
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: xres
        type: float
      - name: yres
        type: float
      - name: width
        type: uint32_t
      - name: length
        type: uint32_t
      - name: res_unit
        type: uint16_t
      - name: bps
        type: uint16_t
      - name: spp
        type: uint16_t
      - name: planar
        type: uint16_t
      - name: photometric
        type: uint16_t
      - name: orientation
        type: uint16_t
      - name: compression
        type: uint16_t
      - name: adjustments
        type: uint16_t
      item_type: struct
      name: image_data
      pos:
        line_end: 444
        line_start: 430
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: name[16]
        type: char
      - name: width
        type: double
      - name: length
        type: double
      - name: hmargin
        type: double
      - name: vmargin
        type: double
      - name: hres
        type: double
      - name: vres
        type: double
      - name: mode
        type: uint32_t
      - name: res_unit
        type: uint16_t
      - name: rows
        type: unsigned int
      - name: cols
        type: unsigned int
      - name: orient
        type: unsigned int
      item_type: struct
      name: pagedef
      pos:
        line_end: 461
        line_start: 447
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: debug
        type: int
      - name: format
        type: int
      - name: level
        type: int
      - name: mode[4]
        type: char
      - name: infilename[PATH_MAX + 1]
        type: char
      - name: outfilename[PATH_MAX + 1]
        type: char
      - name: '*infile'
        type: FILE
      - name: '*outfile'
        type: FILE
      item_type: struct
      name: dump_opts
      pos:
        line_end: 473
        line_start: 463
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    - fields:
      - name: tag
        type: uint16_t
      - name: count
        type: uint16_t
      - name: type
        type: TIFFDataType
      item_type: struct
      name: cpTag
      pos:
        line_end: 1796
        line_start: 1791
        source_file: /src/PROJ/libtiff/tools/tiffcrop.c
    typedefs: []
    union: []
- function_names:
  - printruns
  - emitFont
  - printTIF
  - GetPageNumber
  - findPage
  - fax2ps
  - pcompar
  - main
  - usage
  source_file: /src/PROJ/libtiff/tools/fax2ps.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/tools/fax2ps.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/tools/fax2ps.c
      type_or_value: '1'
    structs:
    - fields:
      - name: white
        type: char
      - name: width
        type: unsigned short
      item_type: struct
      name: "WBarr[] = {{'d', 'n', 512}, {'e', 'o', 256}, {'f', 'p', 128},\n                 {'g',
        'q', 64},  {'h', 'r', 32},  {'i', 's', 16},\n                 {'j', 't', 8},
        \  {'k', 'u', 4},   {'l', 'v', 2},\n                 {'m', 'w', 1}}"
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/PROJ/libtiff/tools/fax2ps.c
    typedefs: []
    union: []
- function_names:
  - main
  - swapBytesInScanline
  - guessSize
  - correlation
  - processCompressOptions
  - usage
  source_file: /src/PROJ/libtiff/tools/raw2tiff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/libtiff/tools/raw2tiff.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/libtiff/tools/raw2tiff.c
      type_or_value: '1'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/libtiff/tools/raw2tiff.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - TIFFhowmany8
  - main
  - CopyField
  - CopyField2
  - CopyField3
  - CopyField4
  - cpTag
  - cpTags
  - cpStrips
  - cpTiles
  - cpIFD
  - setupBitsTables
  - clamp
  - expFill
  - setupCmap
  - initScale
  - setupStepTables
  - setrow
  - setImage1
  - setImage
  - generateThumbnail
  - usage
  source_file: /src/PROJ/libtiff/tools/thumbnail.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/tools/thumbnail.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/thumbnail.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/libtiff/tools/thumbnail.c
      type_or_value: (sizeof(tags) / sizeof(tags[0]))
    - item_type: preproc_def
      name: M_E
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/PROJ/libtiff/tools/thumbnail.c
      type_or_value: '2.7182818284590452354'
    structs:
    - fields:
      - name: tag
        type: uint16_t
      - name: count
        type: uint16_t
      - name: type
        type: TIFFDataType
      item_type: struct
      name: cpTag
      pos:
        line_end: 257
        line_start: 252
        source_file: /src/PROJ/libtiff/tools/thumbnail.c
    typedefs: []
    union: []
- function_names:
  - TIFFhowmany8
  - main
  - copyFaxFile
  - usage
  source_file: /src/PROJ/libtiff/tools/fax2tiff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/tools/fax2tiff.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/tools/fax2tiff.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: fh
        type: thandle_t
      - name: fd
        type: int
      item_type: union
      name: _FAX_Client_Data
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/PROJ/libtiff/tools/fax2tiff.c
- function_names:
  - streq
  - CopyField
  - howmany
  - roundup
  - main
  - cvt_by_tile
  - cvt_by_strip
  - cvt_whole_image
  - tiffcvt
  - usage
  source_file: /src/PROJ/libtiff/tools/tiff2rgba.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/tools/tiff2rgba.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/tiff2rgba.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/libtiff/tools/tiff2rgba.c
      type_or_value: (256 * 1024 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - CopyField
  - fsdither
  - processG3Options
  - processCompressOptions
  - main
  - usage
  source_file: /src/PROJ/libtiff/tools/tiffdither.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/tools/tiffdither.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/tools/tiffdither.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - pack_none
  - pack_swab
  - pack_bytes
  - pack_words
  - BadPPM
  - multiply_ms
  - main
  - processG3Options
  - processCompressOptions
  - usage
  source_file: /src/PROJ/libtiff/tools/ppm2tiff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/libtiff/tools/ppm2tiff.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/tools/ppm2tiff.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _TIFFCastSSizeToUInt32
  - check_snprintf_ret
  - add_t2pWriteFile_check
  - add_t2pWriteFile_check_2
  - t2p_disable
  - t2p_enable
  - t2pReadFile
  - t2pWriteFile
  - t2pSeekFile
  - t2p_readproc
  - t2p_writeproc
  - t2p_seekproc
  - t2p_closeproc
  - t2p_sizeproc
  - t2p_mapproc
  - t2p_unmapproc
  - checkAdd64
  - checkMultiply64
  - main
  - usage_info
  - tiff2pdf_match_paper_size
  - t2p_init
  - t2p_free
  - t2p_validate
  - t2p_read_tiff_init
  - t2p_cmp_t2p_page
  - t2p_read_tiff_data
  - t2p_set_tiff_datasize
  - t2p_read_tiff_size
  - t2p_read_tiff_size_tile
  - t2p_tile_is_right_edge
  - t2p_tile_is_bottom_edge
  - t2p_tile_is_edge
  - t2p_tile_is_corner_edge
  - t2p_readwrite_pdf_image
  - t2p_readwrite_pdf_image_tile
  - t2p_process_ojpeg_tables
  - t2p_process_jpeg_strip
  - t2p_tile_collapse_left
  - t2p_write_advance_directory
  - t2p_sample_planar_separate_to_contig
  - t2p_sample_realize_palette
  - t2p_sample_abgr_to_rgb
  - t2p_sample_rgbaa_to_rgb
  - t2p_sample_rgba_to_rgb
  - t2p_sample_lab_signed_to_unsigned
  - t2p_write_pdf_header
  - t2p_write_pdf_obj_start
  - t2p_write_pdf_obj_end
  - t2p_write_pdf_name
  - t2p_write_pdf_string
  - t2p_write_pdf_stream
  - t2p_write_pdf_stream_start
  - t2p_write_pdf_stream_end
  - t2p_write_pdf_stream_dict
  - t2p_write_pdf_stream_dict_start
  - t2p_write_pdf_stream_dict_end
  - t2p_write_pdf_stream_length
  - t2p_write_pdf_catalog
  - t2p_write_pdf_info
  - t2p_pdf_currenttime
  - t2p_pdf_tifftime
  - t2p_write_pdf_pages
  - t2p_write_pdf_page
  - t2p_compose_pdf_page
  - t2p_compose_pdf_page_orient
  - t2p_compose_pdf_page_orient_flip
  - t2p_write_pdf_page_content_stream
  - t2p_write_pdf_xobject_stream_dict
  - normalizePoint
  - t2p_write_pdf_xobject_cs
  - t2p_write_pdf_transfer
  - t2p_write_pdf_transfer_dict
  - t2p_write_pdf_transfer_stream
  - t2p_write_pdf_xobject_calcs
  - t2p_write_pdf_xobject_icccs
  - t2p_write_pdf_xobject_icccs_dict
  - t2p_write_pdf_xobject_icccs_stream
  - t2p_write_pdf_xobject_palettecs_stream
  - t2p_write_pdf_xobject_decode
  - t2p_write_pdf_xobject_stream_filter
  - t2p_write_pdf_xreftable
  - t2p_write_pdf_trailer
  - t2p_write_pdf
  source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIFF2PDF_MODULE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '"tiff2pdf"'
    - item_type: preproc_def
      name: PS_UNIT_SIZE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: 72.0F
    - item_type: preproc_def
      name: TIFF_DIR_MAX
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '65534'
    - item_type: preproc_def
      name: DEFAULT_MAX_MALLOC
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: (256 * 1024 * 1024)
    - item_type: preproc_def
      name: TIFF2PDF_FILEID_SIZE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '33'
    - item_type: preproc_def
      name: TIFF2PDF_DATETIME_SIZE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '17'
    - item_type: preproc_def
      name: TIFF2PDF_CREATOR_SIZE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TIFF2PDF_AUTHOR_SIZE
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TIFF2PDF_TITLE_SIZE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TIFF2PDF_SUBJECT_SIZE
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TIFF2PDF_KEYWORDS_SIZE
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
      type_or_value: '512'
    structs:
    - fields:
      - name: page_directory
        type: tdir_t
      - name: page_number
        type: uint32_t
      - name: page_tilecount
        type: ttile_t
      - name: page_extra
        type: uint32_t
      item_type: struct
      name: T2P_PAGE
      pos:
        line_end: 147
        line_start: 141
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
    - fields:
      - name: x1
        type: float
      - name: y1
        type: float
      - name: x2
        type: float
      - name: y2
        type: float
      - name: mat[9]
        type: float
      item_type: struct
      name: T2P_BOX
      pos:
        line_end: 157
        line_start: 150
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
    - fields:
      - name: tile_box
        type: T2P_BOX
      item_type: struct
      name: T2P_TILE
      pos:
        line_end: 163
        line_start: 160
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
    - fields:
      - name: tiles_tilecount
        type: ttile_t
      - name: tiles_tilewidth
        type: uint32_t
      - name: tiles_tilelength
        type: uint32_t
      - name: tiles_tilecountx
        type: uint32_t
      - name: tiles_tilecounty
        type: uint32_t
      - name: tiles_edgetilewidth
        type: uint32_t
      - name: tiles_edgetilelength
        type: uint32_t
      - name: '*tiles_tiles'
        type: T2P_TILE
      item_type: struct
      name: T2P_TILES
      pos:
        line_end: 176
        line_start: 166
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
    - fields:
      - name: t2p_error
        type: t2p_err_t
      - name: '*tiff_pages'
        type: T2P_PAGE
      - name: '*tiff_tiles'
        type: T2P_TILES
      - name: tiff_pagecount
        type: tdir_t
      - name: tiff_compression
        type: uint16_t
      - name: tiff_photometric
        type: uint16_t
      - name: tiff_fillorder
        type: uint16_t
      - name: tiff_bitspersample
        type: uint16_t
      - name: tiff_samplesperpixel
        type: uint16_t
      - name: tiff_planar
        type: uint16_t
      - name: tiff_width
        type: uint32_t
      - name: tiff_length
        type: uint32_t
      - name: tiff_xres
        type: float
      - name: tiff_yres
        type: float
      - name: tiff_orientation
        type: uint16_t
      - name: tiff_dataoffset
        type: toff_t
      - name: tiff_datasize
        type: tsize_t
      - name: tiff_maxdatasize
        type: tsize_t
      - name: tiff_resunit
        type: uint16_t
      - name: pdf_centimeters
        type: uint16_t
      - name: pdf_overrideres
        type: uint16_t
      - name: pdf_overridepagesize
        type: uint16_t
      - name: pdf_defaultxres
        type: float
      - name: pdf_defaultyres
        type: float
      - name: pdf_xres
        type: float
      - name: pdf_yres
        type: float
      - name: pdf_defaultpagewidth
        type: float
      - name: pdf_defaultpagelength
        type: float
      - name: pdf_pagewidth
        type: float
      - name: pdf_pagelength
        type: float
      - name: pdf_imagewidth
        type: float
      - name: pdf_imagelength
        type: float
      - name: pdf_image_fillpage
        type: int
      - name: pdf_mediabox
        type: T2P_BOX
      - name: pdf_imagebox
        type: T2P_BOX
      - name: pdf_majorversion
        type: uint16_t
      - name: pdf_minorversion
        type: uint16_t
      - name: pdf_catalog
        type: uint32_t
      - name: pdf_pages
        type: uint32_t
      - name: pdf_info
        type: uint32_t
      - name: pdf_palettecs
        type: uint32_t
      - name: pdf_fitwindow
        type: uint16_t
      - name: pdf_startxref
        type: uint32_t
      - name: pdf_fileid[TIFF2PDF_FILEID_SIZE]
        type: char
      - name: pdf_datetime[TIFF2PDF_DATETIME_SIZE]
        type: char
      - name: pdf_creator[TIFF2PDF_CREATOR_SIZE]
        type: char
      - name: pdf_creator_set
        type: int
      - name: pdf_author[TIFF2PDF_AUTHOR_SIZE]
        type: char
      - name: pdf_author_set
        type: int
      - name: pdf_title[TIFF2PDF_TITLE_SIZE]
        type: char
      - name: pdf_title_set
        type: int
      - name: pdf_subject[TIFF2PDF_SUBJECT_SIZE]
        type: char
      - name: pdf_subject_set
        type: int
      - name: pdf_keywords[TIFF2PDF_KEYWORDS_SIZE]
        type: char
      - name: pdf_keywords_set
        type: int
      - name: pdf_colorspace
        type: t2p_cs_t
      - name: pdf_colorspace_invert
        type: uint16_t
      - name: pdf_switchdecode
        type: uint16_t
      - name: pdf_palettesize
        type: uint16_t
      - name: '*pdf_palette'
        type: unsigned char
      - name: pdf_labrange[4]
        type: int
      - name: pdf_defaultcompression
        type: t2p_compress_t
      - name: pdf_defaultcompressionquality
        type: uint16_t
      - name: pdf_compression
        type: t2p_compress_t
      - name: pdf_compressionquality
        type: uint16_t
      - name: pdf_nopassthrough
        type: uint16_t
      - name: pdf_transcode
        type: t2p_transcode_t
      - name: pdf_sample
        type: t2p_sample_t
      - name: '*pdf_xrefoffsets'
        type: uint32_t
      - name: pdf_xrefcount
        type: uint32_t
      - name: pdf_page
        type: tdir_t
      - name: tiff_whitechromaticities[2]
        type: float
      - name: tiff_primarychromaticities[6]
        type: float
      - name: tiff_referenceblackwhite[2]
        type: float
      - name: '*tiff_transferfunction[3]'
        type: uint16_t
      - name: pdf_image_interpolate
        type: int
      - name: tiff_transferfunctioncount
        type: uint16_t
      - name: pdf_icccs
        type: uint32_t
      - name: tiff_iccprofilelength
        type: uint32_t
      - name: tiff_iccprofile
        type: tdata_t
      - name: '*outputfile'
        type: FILE
      - name: outputdisable
        type: int
      - name: outputwritten
        type: tsize_t
      item_type: struct
      name: T2P
      pos:
        line_end: 281
        line_start: 179
        source_file: /src/PROJ/libtiff/tools/tiff2pdf.c
    typedefs: []
    union: []
- function_names:
  - PCT
  - compresscontig
  - compresssep
  - checkcmap
  - compresspalette
  - main
  - pack
  - CVT
  - processCompressOptions
  - CopyField
  - CopyField2
  - CopyField3
  - CopyField4
  - cpTag
  - cpTags
  - usage
  source_file: /src/PROJ/libtiff/tools/tiff2bw.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/libtiff/tools/tiff2bw.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXIT_FAILURE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/tools/tiff2bw.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/PROJ/libtiff/tools/tiff2bw.c
      type_or_value: (sizeof(tags) / sizeof(tags[0]))
    structs:
    - fields:
      - name: tag
        type: uint16_t
      - name: count
        type: uint16_t
      - name: type
        type: TIFFDataType
      item_type: struct
      name: cpTag
      pos:
        line_end: 480
        line_start: 475
        source_file: /src/PROJ/libtiff/tools/tiff2bw.c
    typedefs: []
    union: []
- function_names:
  - getopt
  source_file: /src/PROJ/libtiff/port/getopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BADCH
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/libtiff/port/getopt.c
      type_or_value: (int)'?'
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/port/getopt.c
      type_or_value: (int)':'
    - item_type: preproc_def
      name: EMSG
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/libtiff/port/getopt.c
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/port/libport_config.vc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/port/libport.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - libport_dummy_function
  source_file: /src/PROJ/libtiff/port/dummy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFHashSetHashPointer
  - TIFFHashSetEqualPointer
  - TIFFHashSetNew
  - TIFFHashSetSize
  - TIFFHashSetGetNewListElt
  - TIFFHashSetReturnListElt
  - TIFFHashSetClearInternal
  - TIFFListDestroy
  - TIFFHashSetDestroy
  - TIFFHashSetClear
  - TIFFHashSetForeach
  - TIFFHashSetRehash
  - TIFFHashSetFindPtr
  - TIFFHashSetInsert
  - TIFFHashSetLookup
  - TIFFHashSetRemoveInternal
  - TIFFHashSetRemove
  - TIFFHashSetRemoveDeferRehash
  source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pData'
        type: void
      - name: '*psNext'
        type: struct _TIFFList
      item_type: struct
      name: _TIFFList
      pos:
        line_end: 52
        line_start: 42
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    - fields:
      - name: fnHashFunc
        type: TIFFHashSetHashFunc
      - name: fnEqualFunc
        type: TIFFHashSetEqualFunc
      - name: fnFreeEltFunc
        type: TIFFHashSetFreeEltFunc
      - name: '**tabList'
        type: TIFFList
      - name: nSize
        type: int
      - name: nIndiceAllocatedSize
        type: int
      - name: nAllocatedSize
        type: int
      - name: '*psRecyclingList'
        type: TIFFList
      - name: nRecyclingListSize
        type: int
      - name: bRehash
        type: bool
      item_type: struct
      name: _TIFFHashSet
      pos:
        line_end: 69
        line_start: 54
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
    typedefs:
    - item_type: typedef
      name: TIFFList
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.c
      type: _TIFFList
    union: []
- function_names:
  - EndOfData
  - NeedBits8
  - NeedBits16
  - GetBits
  - ClrBits
  - LOOKUP8
  - LOOKUP16
  - SETVALUE
  - LOOKUP8
  - LOOKUP16
  - SETVALUE
  - SYNC_EOL
  - CLEANUP_RUNS
  - EXPAND1D
  - EXPAND2D
  source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S_Null
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_Pass
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '1'
    - item_type: preproc_def
      name: S_Horiz
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '2'
    - item_type: preproc_def
      name: S_V0
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '3'
    - item_type: preproc_def
      name: S_VR
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '4'
    - item_type: preproc_def
      name: S_VL
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '5'
    - item_type: preproc_def
      name: S_Ext
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '6'
    - item_type: preproc_def
      name: S_TermW
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '7'
    - item_type: preproc_def
      name: S_TermB
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '8'
    - item_type: preproc_def
      name: S_MakeUpW
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '9'
    - item_type: preproc_def
      name: S_MakeUpB
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '10'
    - item_type: preproc_def
      name: S_MakeUp
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '11'
    - item_type: preproc_def
      name: S_EOL
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DEBUG_SHOW
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: 'putchar(BitAcc & (1 << t) ? ''1'' : ''0'')'
    - item_type: preproc_def
      name: CHECK_b1
      pos:
        line_end: 455
        line_start: 437
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type_or_value: "do                                                                         \\\n
        \   {                                                                          \\\n
        \       if (pa != thisrun)                                                     \\\n
        \           while (b1 <= a0 && b1 < lastx)                                     \\\n
        \           {                                                                  \\\n
        \               if (pb + 1 >= sp->refruns + sp->nruns)                         \\\n
        \               {                                                              \\\n
        \                   TIFFErrorExtR(                                             \\\n
        \                       tif, module, \"Buffer overflow at line %u of %s %u\",
        \   \\\n                        sp->line, isTiled(tif) ? \"tile\" : \"strip\",
        \            \\\n                        isTiled(tif) ? tif->tif_curtile :
        tif->tif_curstrip);  \\\n                    return (-1);                                               \\\n
        \               }                                                              \\\n
        \               b1 += pb[0] + pb[1];                                           \\\n
        \               pb += 2;                                                       \\\n
        \           }                                                                  \\\n
        \   } while (0)"
    structs:
    - fields:
      - name: State
        type: unsigned char
      - name: Width
        type: unsigned char
      - name: Param
        type: uint32_t
      item_type: struct
      name: TIFFFaxTabEnt
      pos:
        line_end: 93
        line_start: 87
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
    typedefs:
    - item_type: typedef
      name: "(*TIFFFaxFillFunc)(unsigned char *, uint32_t *, uint32_t *,\n                                uint32_t)"
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.h
      type: void
    union: []
- function_names:
  - TIFFSetWarningHandler
  - TIFFSetWarningHandlerExt
  - TIFFWarning
  - TIFFWarningExt
  - TIFFWarningExtR
  source_file: /src/PROJ/libtiff/libtiff/tif_warning.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFReadAndRealloc
  - TIFFFillStripPartial
  - TIFFSeek
  - TIFFReadScanline
  - TIFFReadEncodedStripGetStripSize
  - TIFFReadEncodedStrip
  - _TIFFReadEncodedStripAndAllocBuffer
  - TIFFReadRawStrip1
  - TIFFReadRawStripOrTile2
  - TIFFReadRawStrip
  - NoSanitizeSubUInt64
  - TIFFFillStrip
  - TIFFReadTile
  - TIFFReadEncodedTile
  - _TIFFReadTileAndAllocBuffer
  - _TIFFReadEncodedTileAndAllocBuffer
  - TIFFReadRawTile1
  - TIFFReadRawTile
  - TIFFFillTile
  - TIFFReadBufferSetup
  - TIFFStartStrip
  - TIFFStartTile
  - TIFFCheckRead
  - TIFFReadFromUserBuffer
  - _TIFFNoPostDecode
  - _TIFFSwab16BitData
  - _TIFFSwab24BitData
  - _TIFFSwab32BitData
  - _TIFFSwab64BitData
  source_file: /src/PROJ/libtiff/libtiff/tif_read.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NOSTRIP
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
      type_or_value: '((uint32_t)(-1)) '
    - item_type: preproc_def
      name: NOTILE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
      type_or_value: '((uint32_t)(-1))  '
    - item_type: preproc_def
      name: INITIAL_THRESHOLD
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
      type_or_value: (1024 * 1024)
    - item_type: preproc_def
      name: THRESHOLD_MULTIPLIER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_THRESHOLD
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
      type_or_value: "(THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER
        *      \\\n     INITIAL_THRESHOLD)"
    - item_type: preproc_def
      name: TIFF_INT64_MAX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/libtiff/tif_read.c
      type_or_value: ((((int64_t)0x7FFFFFFF) << 32) | 0xFFFFFFFF)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/uvcode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UV_SQSIZ
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/PROJ/libtiff/libtiff/uvcode.h
      type_or_value: (float)0.003500
    - item_type: preproc_def
      name: UV_NDIVS
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PROJ/libtiff/libtiff/uvcode.h
      type_or_value: '16289'
    - item_type: preproc_def
      name: UV_VSTART
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/PROJ/libtiff/libtiff/uvcode.h
      type_or_value: (float)0.016940
    - item_type: preproc_def
      name: UV_NVS
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/PROJ/libtiff/libtiff/uvcode.h
      type_or_value: '163'
    structs:
    - fields:
      - name: ustart
        type: float
      - name: nus
        type: short
      item_type: struct
      name: "uv_row[UV_NVS] = {\n    {(float)0.247663, 4, 0},       {(float)0.243779,
        6, 4},\n    {(float)0.241684, 7, 10},      {(float)0.237874, 9, 17},\n    {(float)0.235906,
        10, 26},     {(float)0.232153, 12, 36},\n    {(float)0.228352, 14, 48},     {(float)0.226259,
        15, 62},\n    {(float)0.222371, 17, 77},     {(float)0.220410, 18, 94},\n
        \   {(float)0.214710, 21, 112},    {(float)0.212714, 22, 133},\n    {(float)0.210721,
        23, 155},    {(float)0.204976, 26, 178},\n    {(float)0.202986, 27, 204},
        \   {(float)0.199245, 29, 231},\n    {(float)0.195525, 31, 260},    {(float)0.193560,
        32, 291},\n    {(float)0.189878, 34, 323},    {(float)0.186216, 36, 357},\n
        \   {(float)0.186216, 36, 393},    {(float)0.182592, 38, 429},\n    {(float)0.179003,
        40, 467},    {(float)0.175466, 42, 507},\n    {(float)0.172001, 44, 549},
        \   {(float)0.172001, 44, 593},\n    {(float)0.168612, 46, 637},    {(float)0.168612,
        46, 683},\n    {(float)0.163575, 49, 729},    {(float)0.158642, 52, 778},\n
        \   {(float)0.158642, 52, 830},    {(float)0.158642, 52, 882},\n    {(float)0.153815,
        55, 934},    {(float)0.153815, 55, 989},\n    {(float)0.149097, 58, 1044},
        \  {(float)0.149097, 58, 1102},\n    {(float)0.142746, 62, 1160},   {(float)0.142746,
        62, 1222},\n    {(float)0.142746, 62, 1284},   {(float)0.138270, 65, 1346},\n
        \   {(float)0.138270, 65, 1411},   {(float)0.138270, 65, 1476},\n    {(float)0.132166,
        69, 1541},   {(float)0.132166, 69, 1610},\n    {(float)0.126204, 73, 1679},
        \  {(float)0.126204, 73, 1752},\n    {(float)0.126204, 73, 1825},   {(float)0.120381,
        77, 1898},\n    {(float)0.120381, 77, 1975},   {(float)0.120381, 77, 2052},\n
        \   {(float)0.120381, 77, 2129},   {(float)0.112962, 82, 2206},\n    {(float)0.112962,
        82, 2288},   {(float)0.112962, 82, 2370},\n    {(float)0.107450, 86, 2452},
        \  {(float)0.107450, 86, 2538},\n    {(float)0.107450, 86, 2624},   {(float)0.107450,
        86, 2710},\n    {(float)0.100343, 91, 2796},   {(float)0.100343, 91, 2887},\n
        \   {(float)0.100343, 91, 2978},   {(float)0.095126, 95, 3069},\n    {(float)0.095126,
        95, 3164},   {(float)0.095126, 95, 3259},\n    {(float)0.095126, 95, 3354},
        \  {(float)0.088276, 100, 3449},\n    {(float)0.088276, 100, 3549},  {(float)0.088276,
        100, 3649},\n    {(float)0.088276, 100, 3749},  {(float)0.081523, 105, 3849},\n
        \   {(float)0.081523, 105, 3954},  {(float)0.081523, 105, 4059},\n    {(float)0.081523,
        105, 4164},  {(float)0.074861, 110, 4269},\n    {(float)0.074861, 110, 4379},
        \ {(float)0.074861, 110, 4489},\n    {(float)0.074861, 110, 4599},  {(float)0.068290,
        115, 4709},\n    {(float)0.068290, 115, 4824},  {(float)0.068290, 115, 4939},\n
        \   {(float)0.068290, 115, 5054},  {(float)0.063573, 119, 5169},\n    {(float)0.063573,
        119, 5288},  {(float)0.063573, 119, 5407},\n    {(float)0.063573, 119, 5526},
        \ {(float)0.057219, 124, 5645},\n    {(float)0.057219, 124, 5769},  {(float)0.057219,
        124, 5893},\n    {(float)0.057219, 124, 6017},  {(float)0.050985, 129, 6141},\n
        \   {(float)0.050985, 129, 6270},  {(float)0.050985, 129, 6399},\n    {(float)0.050985,
        129, 6528},  {(float)0.050985, 129, 6657},\n    {(float)0.044859, 134, 6786},
        \ {(float)0.044859, 134, 6920},\n    {(float)0.044859, 134, 7054},  {(float)0.044859,
        134, 7188},\n    {(float)0.040571, 138, 7322},  {(float)0.040571, 138, 7460},\n
        \   {(float)0.040571, 138, 7598},  {(float)0.040571, 138, 7736},\n    {(float)0.036339,
        142, 7874},  {(float)0.036339, 142, 8016},\n    {(float)0.036339, 142, 8158},
        \ {(float)0.036339, 142, 8300},\n    {(float)0.032139, 146, 8442},  {(float)0.032139,
        146, 8588},\n    {(float)0.032139, 146, 8734},  {(float)0.032139, 146, 8880},\n
        \   {(float)0.027947, 150, 9026},  {(float)0.027947, 150, 9176},\n    {(float)0.027947,
        150, 9326},  {(float)0.023739, 154, 9476},\n    {(float)0.023739, 154, 9630},
        \ {(float)0.023739, 154, 9784},\n    {(float)0.023739, 154, 9938},  {(float)0.019504,
        158, 10092},\n    {(float)0.019504, 158, 10250}, {(float)0.019504, 158, 10408},\n
        \   {(float)0.016976, 161, 10566}, {(float)0.016976, 161, 10727},\n    {(float)0.016976,
        161, 10888}, {(float)0.016976, 161, 11049},\n    {(float)0.012639, 165, 11210},
        {(float)0.012639, 165, 11375},\n    {(float)0.012639, 165, 11540}, {(float)0.009991,
        168, 11705},\n    {(float)0.009991, 168, 11873}, {(float)0.009991, 168, 12041},\n
        \   {(float)0.009016, 170, 12209}, {(float)0.009016, 170, 12379},\n    {(float)0.009016,
        170, 12549}, {(float)0.006217, 173, 12719},\n    {(float)0.006217, 173, 12892},
        {(float)0.005097, 175, 13065},\n    {(float)0.005097, 175, 13240}, {(float)0.005097,
        175, 13415},\n    {(float)0.003909, 177, 13590}, {(float)0.003909, 177, 13767},\n
        \   {(float)0.002340, 177, 13944}, {(float)0.002389, 170, 14121},\n    {(float)0.001068,
        164, 14291}, {(float)0.001653, 157, 14455},\n    {(float)0.000717, 150, 14612},
        {(float)0.001614, 143, 14762},\n    {(float)0.000270, 136, 14905}, {(float)0.000484,
        129, 15041},\n    {(float)0.001103, 123, 15170}, {(float)0.001242, 115, 15293},\n
        \   {(float)0.001188, 109, 15408}, {(float)0.001011, 103, 15517},\n    {(float)0.000709,
        97, 15620},  {(float)0.000301, 89, 15717},\n    {(float)0.002416, 82, 15806},
        \ {(float)0.003251, 76, 15888},\n    {(float)0.003246, 69, 15964},  {(float)0.004141,
        62, 16033},\n    {(float)0.005963, 55, 16095},  {(float)0.008839, 47, 16150},\n
        \   {(float)0.010490, 40, 16197},  {(float)0.016994, 31, 16237},\n    {(float)0.023659,
        21, 16268},\n}"
      pos:
        line_end: 9
        line_start: 5
        source_file: /src/PROJ/libtiff/libtiff/uvcode.h
    typedefs: []
    union: []
- function_names:
  - REPEAT
  - horizontalAccumulateF
  - horizontalAccumulate12
  - CLAMP12
  - horizontalAccumulate16
  - horizontalAccumulate11
  - horizontalAccumulate8
  - horizontalAccumulate8abgr
  - PixarLogMakeTables
  - PixarLogDecoderState
  - PixarLogEncoderState
  - PixarLogGuessDataFmt
  - multiply_ms
  - add_ms
  - PixarLogFixupTags
  - PixarLogSetupDecode
  - PixarLogPreDecode
  - PixarLogDecode
  - PixarLogSetupEncode
  - PixarLogPreEncode
  - horizontalDifferenceF
  - CLAMP
  - horizontalDifference16
  - CLAMP
  - horizontalDifference8
  - CLAMP
  - PixarLogEncode
  - PixarLogPostEncode
  - PixarLogClose
  - PixarLogCleanup
  - PixarLogVSetField
  - PixarLogVGetField
  - TIFFInitPixarLog
  source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TSIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '2048   '
    - item_type: preproc_def
      name: TSIZEP1
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '2049 '
    - item_type: preproc_def
      name: ONE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '1250     '
    - item_type: preproc_def
      name: RATIO
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '1.004  '
    - item_type: preproc_def
      name: CODE_MASK
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '0x7ff '
    - item_type: preproc_def
      name: SCALE12
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: 2048.0F
    - item_type: preproc_def
      name: PLSTATE_INIT
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_UNKNOWN
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
      type_or_value: '-1'
    structs:
    - fields:
      - name: predict
        type: TIFFPredictorState
      - name: stream
        type: z_stream
      - name: tbuf_size
        type: tmsize_t
      - name: '*tbuf'
        type: uint16_t
      - name: stride
        type: uint16_t
      - name: state
        type: int
      - name: user_datafmt
        type: int
      - name: quality
        type: int
      - name: vgetparent
        type: TIFFVSetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      - name: '*ToLinearF'
        type: float
      - name: '*ToLinear16'
        type: uint16_t
      - name: '*ToLinear8'
        type: unsigned char
      - name: '*FromLT2'
        type: uint16_t
      - name: '*From14'
        type: uint16_t
      - name: '*From8'
        type: uint16_t
      item_type: struct
      name: PixarLogState
      pos:
        line_end: 544
        line_start: 522
        source_file: /src/PROJ/libtiff/libtiff/tif_pixarlog.c
    typedefs: []
    union: []
- function_names:
  - MAXCODE
  - LZWState
  - LZWDecoderState
  - LZWEncoderState
  - LZWFixupTags
  - LZWSetupDecode
  - LZWPreDecode
  - GetNextData
  - GetNextData
  - GetNextData
  - GetNextData
  - GetNextData
  - GetNextData
  - GetNextData
  - GetNextCodeLZW
  - LZWDecode
  - NextCode
  - GetNextCodeCompat
  - LZWDecodeCompat
  - LZWSetupEncode
  - LZWPreEncode
  - CALCRATIO
  - PutNextCode
  - LZWEncode
  - LZWPostEncode
  - cl_hash
  - LZWCleanup
  - TIFFInitLZW
  source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZEOF_WORDTYPE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: SIZEOF_SIZE_T
    - item_type: preproc_def
      name: BITS_MIN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '9  '
    - item_type: preproc_def
      name: BITS_MAX
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: CODE_CLEAR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '256 '
    - item_type: preproc_def
      name: CODE_EOI
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '257   '
    - item_type: preproc_def
      name: CODE_FIRST
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '258 '
    - item_type: preproc_def
      name: CODE_MAX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: MAXCODE(BITS_MAX)
    - item_type: preproc_def
      name: HSIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '9001L '
    - item_type: preproc_def
      name: HSHIFT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: (13 - 8)
    - item_type: preproc_def
      name: CSIZE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: (MAXCODE(BITS_MAX) + 1024L)
    - item_type: preproc_def
      name: CSIZE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: (MAXCODE(BITS_MAX) + 1L)
    - item_type: preproc_def
      name: lzw_nbits
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: base.nbits
    - item_type: preproc_def
      name: lzw_maxcode
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: base.maxcode
    - item_type: preproc_def
      name: lzw_free_ent
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: base.free_ent
    - item_type: preproc_def
      name: lzw_nextdata
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: base.nextdata
    - item_type: preproc_def
      name: lzw_nextbits
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: base.nextbits
    - item_type: preproc_def
      name: CHECK_GAP
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type_or_value: '10000      '
    structs:
    - fields:
      - name: predict
        type: TIFFPredictorState
      - name: nbits
        type: unsigned short
      - name: maxcode
        type: unsigned short
      - name: free_ent
        type: unsigned short
      - name: nextdata
        type: WordType
      - name: nextbits
        type: long
      - name: rw_mode
        type: int
      item_type: struct
      name: LZWBaseState
      pos:
        line_end: 99
        line_start: 88
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - fields:
      - name: hash
        type: long
      - name: code
        type: hcode_t
      item_type: struct
      name: hash_t
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - fields:
      - name: '*next'
        type: struct code_ent
      - name: length
        type: unsigned short
      - name: firstchar
        type: unsigned char
      - name: value
        type: unsigned char
      - name: repeated
        type: bool
      item_type: struct
      name: code_ent
      pos:
        line_end: 128
        line_start: 120
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    - fields:
      - name: base
        type: LZWBaseState
      - name: dec_nbitsmask
        type: long
      - name: dec_restart
        type: tmsize_t
      - name: dec_bitsleft
        type: uint64_t
      - name: old_tif_rawcc
        type: tmsize_t
      - name: dec_decode
        type: decodeFunc
      - name: '*dec_codep'
        type: code_t
      - name: '*dec_oldcodep'
        type: code_t
      - name: '*dec_free_entp'
        type: code_t
      - name: '*dec_maxcodep'
        type: code_t
      - name: '*dec_codetab'
        type: code_t
      - name: read_error
        type: int
      - name: enc_oldcode
        type: int
      - name: enc_checkpoint
        type: tmsize_t
      - name: enc_ratio
        type: tmsize_t
      - name: enc_incount
        type: tmsize_t
      - name: enc_outcount
        type: tmsize_t
      - name: '*enc_rawlimit'
        type: uint8_t
      - name: '*enc_hashtab'
        type: hash_t
      item_type: struct
      name: LZWCodecState
      pos:
        line_end: 160
        line_start: 132
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
    typedefs:
    - item_type: typedef
      name: WordType
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type: size_t
    - item_type: typedef
      name: hcode_t
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type: uint16_t
    - item_type: typedef
      name: (*decodeFunc)(TIFF *, uint8_t *, tmsize_t, uint16_t)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/PROJ/libtiff/libtiff/tif_lzw.c
      type: int
    union: []
- function_names:
  - TIFFSwabShort
  - TIFFSwabLong
  - TIFFSwabLong8
  - TIFFSwabArrayOfShort
  - TIFFSwabArrayOfTriples
  - TIFFSwabArrayOfLong
  - TIFFSwabArrayOfLong8
  - TIFFSwabFloat
  - TIFFSwabArrayOfFloat
  - TIFFSwabDouble
  - TIFFSwabArrayOfDouble
  - TIFFGetBitRevTable
  - TIFFReverseBits
  source_file: /src/PROJ/libtiff/libtiff/tif_swab.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFNoEncode
  - _TIFFNoRowEncode
  - _TIFFNoStripEncode
  - _TIFFNoTileEncode
  - TIFFNoDecode
  - _TIFFNoFixupTags
  - _TIFFNoRowDecode
  - _TIFFNoStripDecode
  - _TIFFNoTileDecode
  - _TIFFNoSeek
  - _TIFFNoPreCode
  - _TIFFtrue
  - _TIFFvoid
  - _TIFFSetDefaultCompressionState
  - TIFFSetCompressionScheme
  - TIFFFindCODEC
  - TIFFRegisterCODEC
  - TIFFUnRegisterCODEC
  - TIFFGetConfiguredCODECs
  source_file: /src/PROJ/libtiff/libtiff/tif_compress.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct _codec
      - name: '*info'
        type: TIFFCodec
      item_type: struct
      name: _codec
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/PROJ/libtiff/libtiff/tif_compress.c
    typedefs: []
    union: []
- function_names:
  - TIFFGetTagListCount
  - TIFFGetTagListEntry
  - TIFFAccessTagMethods
  - TIFFGetClientInfo
  - TIFFSetClientInfo
  source_file: /src/PROJ/libtiff/libtiff/tif_extension.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setByteArray
  - _TIFFsetByteArray
  - _TIFFsetByteArrayExt
  - _TIFFsetNString
  - _TIFFsetShortArray
  - _TIFFsetShortArrayExt
  - _TIFFsetLongArray
  - _TIFFsetLongArrayExt
  - _TIFFsetLong8Array
  - _TIFFsetFloatArray
  - _TIFFsetFloatArrayExt
  - _TIFFsetDoubleArray
  - _TIFFsetDoubleArrayExt
  - setDoubleArrayOneValue
  - setExtraSamples
  - countInkNamesString
  - _TIFFVSetField
  - OkToChangeTag
  - TIFFSetField
  - TIFFUnsetField
  - TIFFVSetField
  - _TIFFVGetField
  - TIFFGetField
  - TIFFVGetField
  - CleanupField
  - TIFFFreeDirectory
  - TIFFSetTagExtender
  - TIFFCreateDirectory
  - TIFFCreateCustomDirectory
  - TIFFCreateEXIFDirectory
  - TIFFCreateGPSDirectory
  - TIFFDefaultDirectory
  - TIFFAdvanceDirectory
  - TIFFNumberOfDirectories
  - TIFFSetDirectory
  - TIFFSetSubDirectory
  - TIFFCurrentDirOffset
  - TIFFLastDirectory
  - TIFFUnlinkDirectory
  source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DATATYPE_VOID
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: DATATYPE_INT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: DATATYPE_UINT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: DATATYPE_IEEEFP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: EXTRASAMPLE_COREL_UNASSALPHA
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.c
      type_or_value: '999'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/t4.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EOL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/libtiff/t4.h
      type_or_value: '0x001 '
    - item_type: preproc_def
      name: G3CODE_EOL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/libtiff/t4.h
      type_or_value: '-1     '
    - item_type: preproc_def
      name: G3CODE_INVALID
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/libtiff/t4.h
      type_or_value: '-2 '
    - item_type: preproc_def
      name: G3CODE_EOF
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/libtiff/libtiff/t4.h
      type_or_value: '-3     '
    - item_type: preproc_def
      name: G3CODE_INCOMP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/libtiff/t4.h
      type_or_value: '-4  '
    structs:
    - fields:
      - name: length
        type: unsigned short
      - name: code
        type: unsigned short
      - name: runlen
        type: short
      item_type: struct
      name: tableentry
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/PROJ/libtiff/libtiff/t4.h
    typedefs: []
    union: []
- function_names:
  - JBIGSetupDecode
  - JBIGDecode
  - JBIGSetupEncode
  - JBIGCopyEncodedData
  - JBIGOutputBie
  - JBIGEncode
  - TIFFInitJBIG
  source_file: /src/PROJ/libtiff/libtiff/tif_jbig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SETPIXEL
  - NeXTDecode
  - NeXTPreDecode
  - TIFFInitNeXT
  source_file: /src/PROJ/libtiff/libtiff/tif_next.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LITERALROW
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/libtiff/tif_next.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: LITERALSPAN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/libtiff/tif_next.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: WHITE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/libtiff/libtiff/tif_next.c
      type_or_value: ((1 << 2) - 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/libtiff/mkspans.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFGetR
  - TIFFGetG
  - TIFFGetB
  - TIFFGetA
  - TIFF_ATTRIBUTE
  source_file: /src/PROJ/libtiff/libtiff/tiffio.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFF_TMSIZE_T_MAX
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (tmsize_t)(SIZE_MAX >> 1)
    - item_type: preproc_def
      name: TIFFPRINT_NONE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x0           '
    - item_type: preproc_def
      name: TIFFPRINT_STRIPS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x1         '
    - item_type: preproc_def
      name: TIFFPRINT_CURVES
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x2         '
    - item_type: preproc_def
      name: TIFFPRINT_COLORMAP
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x4       '
    - item_type: preproc_def
      name: TIFFPRINT_JPEGQTABLES
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x100  '
    - item_type: preproc_def
      name: TIFFPRINT_JPEGACTABLES
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x200 '
    - item_type: preproc_def
      name: TIFFPRINT_JPEGDCTABLES
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0x200 '
    - item_type: preproc_def
      name: D65_X0
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (95.0470F)
    - item_type: preproc_def
      name: D65_Y0
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (100.0F)
    - item_type: preproc_def
      name: D65_Z0
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (108.8827F)
    - item_type: preproc_def
      name: D50_X0
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (96.4250F)
    - item_type: preproc_def
      name: D50_Y0
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (100.0F)
    - item_type: preproc_def
      name: D50_Z0
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: (82.4680F)
    - item_type: preproc_def
      name: CIELABTORGB_TABLE_RANGE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '1500'
    - item_type: preproc_def
      name: LOGLUV_PUBLIC
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TIFF_ANY
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: 'TIFF_NOTYPE '
    - item_type: preproc_def
      name: TIFF_VARIABLE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '-1     '
    - item_type: preproc_def
      name: TIFF_SPP
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '-2          '
    - item_type: preproc_def
      name: TIFF_VARIABLE2
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '-3    '
    - item_type: preproc_def
      name: FIELD_CUSTOM
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '65'
    - item_type: preproc_def
      name: U_NEU
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0.210526316'
    - item_type: preproc_def
      name: V_NEU
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '0.473684211'
    - item_type: preproc_def
      name: UVSCALE
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type_or_value: '410.'
    structs:
    - fields:
      - name: d_mat[3][3]
        type: float
      - name: d_YCR
        type: float
      - name: d_YCG
        type: float
      - name: d_YCB
        type: float
      - name: d_Vrwr
        type: uint32_t
      - name: d_Vrwg
        type: uint32_t
      - name: d_Vrwb
        type: uint32_t
      - name: d_Y0R
        type: float
      - name: d_Y0G
        type: float
      - name: d_Y0B
        type: float
      - name: d_gammaR
        type: float
      - name: d_gammaG
        type: float
      - name: d_gammaB
        type: float
      item_type: struct
      name: TIFFDisplay
      pos:
        line_end: 154
        line_start: 139
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: '*clamptab'
        type: TIFFRGBValue
      - name: '*Cr_r_tab'
        type: int
      - name: '*Cb_b_tab'
        type: int
      - name: '*Cr_g_tab'
        type: int32_t
      - name: '*Cb_g_tab'
        type: int32_t
      - name: '*Y_tab'
        type: int32_t
      item_type: struct
      name: TIFFYCbCrToRGB
      pos:
        line_end: 176
        line_start: 168
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: range
        type: int
      - name: rstep
        type: float
      - name: X0
        type: float
      - name: display
        type: TIFFDisplay
      - name: Yr2r[CIELABTORGB_TABLE_RANGE + 1]
        type: float
      - name: Yg2g[CIELABTORGB_TABLE_RANGE + 1]
        type: float
      - name: Yb2b[CIELABTORGB_TABLE_RANGE + 1]
        type: float
      item_type: struct
      name: TIFFCIELabToRGB
      pos:
        line_end: 188
        line_start: 178
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: '*tif'
        type: TIFF
      - name: stoponerr
        type: int
      - name: isContig
        type: int
      - name: alpha
        type: int
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: bitspersample
        type: uint16_t
      - name: samplesperpixel
        type: uint16_t
      - name: orientation
        type: uint16_t
      - name: req_orientation
        type: uint16_t
      - name: photometric
        type: uint16_t
      - name: '*redcmap'
        type: uint16_t
      - name: '*greencmap'
        type: uint16_t
      - name: '*bluecmap'
        type: uint16_t
      - name: (*get)(TIFFRGBAImage *, uint32_t *, uint32_t, uint32_t)
        type: int
      - name: put
        type: "union\n    {\n        void (*any)(TIFFRGBAImage *);\n        tileContigRoutine
          contig;\n        tileSeparateRoutine separate;\n    }"
      - name: '*Map'
        type: TIFFRGBValue
      - name: '**BWmap'
        type: uint32_t
      - name: '**PALmap'
        type: uint32_t
      - name: '*ycbcr'
        type: TIFFYCbCrToRGB
      - name: '*cielab'
        type: TIFFCIELabToRGB
      - name: '*UaToAa'
        type: uint8_t
      - name: '*Bitdepth16To8'
        type: uint8_t
      - name: row_offset
        type: int
      - name: col_offset
        type: int
      item_type: struct
      name: _TIFFRGBAImage
      pos:
        line_end: 250
        line_start: 214
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: '*name'
        type: char
      - name: scheme
        type: uint16_t
      - name: init
        type: TIFFInitMethod
      item_type: struct
      name: TIFFCodec
      pos:
        line_end: 274
        line_start: 269
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: uNum
        type: uint32_t
      - name: uDenom
        type: uint32_t
      item_type: struct
      name: TIFFRational_t
      pos:
        line_end: 280
        line_start: 276
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: vsetfield
        type: TIFFVSetMethod
      - name: vgetfield
        type: TIFFVGetMethod
      - name: printdir
        type: TIFFPrintMethod
      item_type: struct
      name: TIFFTagMethods
      pos:
        line_end: 377
        line_start: 372
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    - fields:
      - name: field_tag
        type: uint32_t
      - name: field_readcount
        type: short
      - name: field_writecount
        type: short
      - name: field_type
        type: TIFFDataType
      - name: field_bit
        type: unsigned short
      - name: field_oktochange
        type: unsigned char
      - name: field_passcount
        type: unsigned char
      - name: '*field_name'
        type: char
      item_type: struct
      name: TIFFFieldInfo
      pos:
        line_end: 662
        line_start: 652
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
    typedefs:
    - item_type: typedef
      name: TIFF
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: tiff
    - item_type: typedef
      name: tmsize_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: TIFF_SSIZE_T
    - item_type: typedef
      name: toff_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: uint64_t
    - item_type: typedef
      name: tdir_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: uint32_t
    - item_type: typedef
      name: ttag_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: uint32_t
    - item_type: typedef
      name: tsample_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: uint16_t
    - item_type: typedef
      name: tstrile_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: uint32_t
    - item_type: typedef
      name: tstrip_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: tstrile_t
    - item_type: typedef
      name: ttile_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: tstrile_t
    - item_type: typedef
      name: tsize_t
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: tmsize_t
    - item_type: typedef
      name: '*tdata_t'
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: thandle_t
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: HFILE
    - item_type: typedef
      name: '*thandle_t'
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: TIFFRGBValue
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: unsigned char
    - item_type: typedef
      name: TIFFRGBAImage
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: _TIFFRGBAImage
    - item_type: typedef
      name: "(*tileContigRoutine)(TIFFRGBAImage *, uint32_t *, uint32_t,\n                                  uint32_t,
        uint32_t, uint32_t, int32_t,\n                                  int32_t, unsigned
        char *)"
      pos:
        line_end: 206
        line_start: 204
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: "(*tileSeparateRoutine)(TIFFRGBAImage *, uint32_t *, uint32_t,\n                                    uint32_t,
        uint32_t, uint32_t, int32_t,\n                                    int32_t,
        unsigned char *, unsigned char *,\n                                    unsigned
        char *, unsigned char *)"
      pos:
        line_end: 210
        line_start: 207
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: (*TIFFInitMethod)(TIFF *, int)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: int
    - item_type: typedef
      name: (*TIFFErrorHandler)(const char *, const char *, va_list)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: "(*TIFFErrorHandlerExt)(thandle_t, const char *, const char *,\n                                        va_list)"
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: "(*TIFFErrorHandlerExtR)(TIFF *, void *user_data, const char *,\n                                        const
        char *, va_list)"
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: int
    - item_type: typedef
      name: (*TIFFReadWriteProc)(thandle_t, void *, tmsize_t)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: tmsize_t
    - item_type: typedef
      name: (*TIFFSeekProc)(thandle_t, toff_t, int)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: toff_t
    - item_type: typedef
      name: (*TIFFCloseProc)(thandle_t)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: int
    - item_type: typedef
      name: (*TIFFSizeProc)(thandle_t)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: toff_t
    - item_type: typedef
      name: (*TIFFMapFileProc)(thandle_t, void **base, toff_t *size)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: int
    - item_type: typedef
      name: (*TIFFUnmapFileProc)(thandle_t, void *base, toff_t size)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: (*TIFFExtendProc)(TIFF *)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: TIFFField
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: _TIFFField
    - item_type: typedef
      name: TIFFFieldArray
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: _TIFFFieldArray
    - item_type: typedef
      name: (*TIFFVSetMethod)(TIFF *, uint32_t, va_list)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: int
    - item_type: typedef
      name: (*TIFFVGetMethod)(TIFF *, uint32_t, va_list)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: int
    - item_type: typedef
      name: (*TIFFPrintMethod)(TIFF *, FILE *, long)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: void
    - item_type: typedef
      name: TIFFOpenOptions
      pos:
        line_end: 515
        line_start: 515
        source_file: /src/PROJ/libtiff/libtiff/tiffio.h
      type: TIFFOpenOptions
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: TIFFHashSet
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.h
      type: _TIFFHashSet
    - item_type: typedef
      name: (*TIFFHashSetHashFunc)(const void *elt)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.h
      type: unsigned long
    - item_type: typedef
      name: (*TIFFHashSetEqualFunc)(const void *elt1, const void *elt2)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.h
      type: bool
    - item_type: typedef
      name: (*TIFFHashSetFreeEltFunc)(void *elt)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.h
      type: void
    - item_type: typedef
      name: (*TIFFHashSetIterEltFunc)(void *elt, void *user_data)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/PROJ/libtiff/libtiff/tif_hash_set.h
      type: int
    union: []
- function_names:
  - WRITECHECKSTRIPS
  - WRITECHECKTILES
  - BUFFERCHECK
  - TIFFWriteScanline
  - _TIFFReserveLargeEnoughWriteBuffer
  - TIFFWriteEncodedStrip
  - TIFFWriteRawStrip
  - TIFFWriteTile
  - TIFFWriteEncodedTile
  - TIFFWriteRawTile
  - isUnspecified
  - TIFFSetupStrips
  - TIFFWriteCheck
  - TIFFWriteBufferSetup
  - TIFFGrowStrips
  - TIFFAppendToStrip
  - TIFFFlushData1
  - TIFFSetWriteOffset
  source_file: /src/PROJ/libtiff/libtiff/tif_write.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRIPINCR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/libtiff/libtiff/tif_write.c
      type_or_value: '20 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFRGBAImageOK
  - TIFFRGBAImageEnd
  - isCCITTCompression
  - TIFFRGBAImageBegin
  - TIFFRGBAImageGet
  - TIFFReadRGBAImageOriented
  - TIFFReadRGBAImage
  - setorientation
  - gtTileContig
  - gtTileSeparate
  - gtStripContig
  - gtStripSeparate
  - REPEAT8
  - REPEAT4
  - REPEAT2
  - CASE8
  - CASE4
  - UNROLL8
  - UNROLL4
  - UNROLL2
  - SKEW
  - SKEW4
  - PACK
  - PACK4
  - W2B
  - PACKW
  - PACKW4
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLARESepPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - YCbCrtoRGB
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLAREContigPutFunc
  - DECLARESepPutFunc
  - isInRefBlackWhiteRange
  - initYCbCrConversion
  - initCIELabConversion
  - makebwmap
  - GREY
  - setupMap
  - checkcmap
  - cvtcmap
  - CVT
  - makecmap
  - CMAP
  - buildMap
  - PickContigCase
  - PickSeparateCase
  - BuildMapUaToAa
  - BuildMapBitdepth16To8
  - TIFFReadRGBAStrip
  - TIFFReadRGBAStripExt
  - TIFFReadRGBATile
  - TIFFReadRGBATileExt
  source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLIP_VERTICALLY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: FLIP_HORIZONTALLY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: EMSG_BUF_SIZE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: A1
      pos:
        line_end: 1578
        line_start: 1577
        source_file: /src/PROJ/libtiff/libtiff/tif_getimage.c
      type_or_value: (((uint32_t)0xffL) << 24)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/tif_fax3sm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - streq
  - strneq
  - isPseudoTag
  - isTiled
  - isMapped
  - isFillOrder
  - isUpSampled
  - TIFFReadFile
  - TIFFWriteFile
  - TIFFSeekFile
  - TIFFCloseFile
  - TIFFGetFileSize
  - TIFFMapFileContents
  - TIFFUnmapFileContents
  - ReadOK
  - SeekOK
  - WriteOK
  - TIFFhowmany_32
  - TIFFhowmany_32_maxuint_compat
  - TIFFhowmany8_32
  - TIFFroundup_32
  - TIFFhowmany_64
  - TIFFhowmany8_64
  - TIFFroundup_64
  - TIFFSafeMultiply
  - TIFFmax
  - TIFFmin
  - TIFFArrayCount
  - fseek
  - ftell
  - _TIFF_lseek_f
  - _TIFF_fseek_f
  - _TIFF_fstat_f
  source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRIP_SIZE_DEFAULT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: TIFF_MAX_DIR_COUNT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '1048576'
    - item_type: preproc_def
      name: TIFF_NON_EXISTENT_DIR_NUMBER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: UINT_MAX
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TIFF_FILLORDER
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00003U   '
    - item_type: preproc_def
      name: TIFF_DIRTYHEADER
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00004U '
    - item_type: preproc_def
      name: TIFF_DIRTYDIRECT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00008U '
    - item_type: preproc_def
      name: TIFF_BUFFERSETUP
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00010U '
    - item_type: preproc_def
      name: TIFF_CODERSETUP
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00020U  '
    - item_type: preproc_def
      name: TIFF_BEENWRITING
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00040U '
    - item_type: preproc_def
      name: TIFF_SWAB
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00080U        '
    - item_type: preproc_def
      name: TIFF_NOBITREV
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00100U    '
    - item_type: preproc_def
      name: TIFF_MYBUFFER
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00200U    '
    - item_type: preproc_def
      name: TIFF_ISTILED
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00400U     '
    - item_type: preproc_def
      name: TIFF_MAPPED
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x00800U      '
    - item_type: preproc_def
      name: TIFF_POSTENCODE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x01000U  '
    - item_type: preproc_def
      name: TIFF_INSUBIFD
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x02000U    '
    - item_type: preproc_def
      name: TIFF_UPSAMPLED
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x04000U   '
    - item_type: preproc_def
      name: TIFF_STRIPCHOP
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x08000U   '
    - item_type: preproc_def
      name: TIFF_HEADERONLY
      pos:
        line_end: 134
        line_start: 132
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x10000U '
    - item_type: preproc_def
      name: TIFF_NOREADRAW
      pos:
        line_end: 136
        line_start: 134
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x20000U '
    - item_type: preproc_def
      name: TIFF_INCUSTOMIFD
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x40000U '
    - item_type: preproc_def
      name: TIFF_BIGTIFF
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x80000U     '
    - item_type: preproc_def
      name: TIFF_BUF4WRITE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x100000U  '
    - item_type: preproc_def
      name: TIFF_DIRTYSTRIP
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x200000U '
    - item_type: preproc_def
      name: TIFF_PERSAMPLE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x400000U  '
    - item_type: preproc_def
      name: TIFF_BUFFERMMAP
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x800000U '
    - item_type: preproc_def
      name: TIFF_DEFERSTRILELOAD
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x1000000U '
    - item_type: preproc_def
      name: TIFF_LAZYSTRILELOAD
      pos:
        line_end: 149
        line_start: 145
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x2000000U '
    - item_type: preproc_def
      name: TIFF_CHOPPEDUPARRAYS
      pos:
        line_end: 152
        line_start: 149
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: '0x4000000U '
    - item_type: preproc_def
      name: offset
      pos:
        line_end: 365
        line_start: 363
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: ', whence)'
    - item_type: preproc_def
      name: offset
      pos:
        line_end: 368
        line_start: 366
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: ', whence)'
    - item_type: preproc_def
      name: stat_buff
      pos:
        line_end: 370
        line_start: 368
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: )
    - item_type: preproc_def
      name: _TIFF_stat_s
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: struct _stati64
    - item_type: preproc_def
      name: _TIFF_off_t
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: __int64
    - item_type: preproc_def
      name: _TIFF_stat_s
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: struct stat
    - item_type: preproc_def
      name: _TIFF_off_t
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: off_t
    - item_type: preproc_def
      name: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
      pos:
        line_end: 391
        line_start: 389
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type_or_value: __attribute__((no_sanitize("unsigned-integer-overflow")))
    structs:
    - fields:
      - name: '*next'
        type: struct client_info
      - name: '*data'
        type: void
      - name: '*name'
        type: char
      item_type: struct
      name: client_info
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
    - fields:
      - name: offset
        type: uint64_t
      - name: dirNumber
        type: tdir_t
      item_type: struct
      name: TIFFOffsetAndDirNumber
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
    - fields:
      - name: '*tif_name'
        type: char
      - name: tif_fd
        type: int
      - name: tif_mode
        type: int
      - name: tif_flags
        type: uint32_t
      - name: tif_diroff
        type: uint64_t
      - name: tif_nextdiroff
        type: uint64_t
      - name: tif_lastdiroff
        type: uint64_t
      - name: '*tif_map_dir_offset_to_number'
        type: TIFFHashSet
      - name: '*tif_map_dir_number_to_offset'
        type: TIFFHashSet
      - name: tif_setdirectory_force_absolute
        type: int
      - name: tif_dir
        type: TIFFDirectory
      - name: tif_customdir
        type: TIFFDirectory
      - name: tif_header
        type: TIFFHeaderUnion
      - name: tif_header_size
        type: uint16_t
      - name: tif_row
        type: uint32_t
      - name: tif_curdir
        type: tdir_t
      - name: tif_curdircount
        type: tdir_t
      - name: tif_curstrip
        type: uint32_t
      - name: tif_curoff
        type: uint64_t
      - name: tif_lastvalidoff
        type: uint64_t
      - name: tif_dataoff
        type: uint64_t
      - name: tif_nsubifd
        type: uint16_t
      - name: tif_subifdoff
        type: uint64_t
      - name: tif_col
        type: uint32_t
      - name: tif_curtile
        type: uint32_t
      - name: tif_tilesize
        type: tmsize_t
      - name: tif_decodestatus
        type: int
      - name: tif_fixuptags
        type: TIFFBoolMethod
      - name: tif_setupdecode
        type: TIFFBoolMethod
      - name: tif_predecode
        type: TIFFPreMethod
      - name: tif_setupencode
        type: TIFFBoolMethod
      - name: tif_encodestatus
        type: int
      - name: tif_preencode
        type: TIFFPreMethod
      - name: tif_postencode
        type: TIFFBoolMethod
      - name: tif_decoderow
        type: TIFFCodeMethod
      - name: tif_encoderow
        type: TIFFCodeMethod
      - name: tif_decodestrip
        type: TIFFCodeMethod
      - name: tif_encodestrip
        type: TIFFCodeMethod
      - name: tif_decodetile
        type: TIFFCodeMethod
      - name: tif_encodetile
        type: TIFFCodeMethod
      - name: tif_close
        type: TIFFVoidMethod
      - name: tif_seek
        type: TIFFSeekMethod
      - name: tif_cleanup
        type: TIFFVoidMethod
      - name: tif_defstripsize
        type: TIFFStripMethod
      - name: tif_deftilesize
        type: TIFFTileMethod
      - name: '*tif_data'
        type: uint8_t
      - name: tif_scanlinesize
        type: tmsize_t
      - name: tif_scanlineskew
        type: tmsize_t
      - name: '*tif_rawdata'
        type: uint8_t
      - name: tif_rawdatasize
        type: tmsize_t
      - name: tif_rawdataoff
        type: tmsize_t
      - name: tif_rawdataloaded
        type: tmsize_t
      - name: '*tif_rawcp'
        type: uint8_t
      - name: tif_rawcc
        type: tmsize_t
      - name: '*tif_base'
        type: uint8_t
      - name: tif_size
        type: tmsize_t
      - name: tif_mapproc
        type: TIFFMapFileProc
      - name: tif_unmapproc
        type: TIFFUnmapFileProc
      - name: tif_clientdata
        type: thandle_t
      - name: tif_readproc
        type: TIFFReadWriteProc
      - name: tif_writeproc
        type: TIFFReadWriteProc
      - name: tif_seekproc
        type: TIFFSeekProc
      - name: tif_closeproc
        type: TIFFCloseProc
      - name: tif_sizeproc
        type: TIFFSizeProc
      - name: tif_postdecode
        type: TIFFPostMethod
      - name: '**tif_fields'
        type: TIFFField
      - name: tif_nfields
        type: size_t
      - name: '*tif_foundfield'
        type: TIFFField
      - name: tif_tagmethods
        type: TIFFTagMethods
      - name: '*tif_clientinfo'
        type: TIFFClientInfoLink
      - name: '*tif_fieldscompat'
        type: TIFFFieldArray
      - name: tif_nfieldscompat
        type: size_t
      - name: tif_errorhandler
        type: TIFFErrorHandlerExtR
      - name: '*tif_errorhandler_user_data'
        type: void
      - name: tif_warnhandler
        type: TIFFErrorHandlerExtR
      - name: '*tif_warnhandler_user_data'
        type: void
      - name: tif_max_single_mem_alloc
        type: tmsize_t
      - name: tif_max_cumulated_mem_alloc
        type: tmsize_t
      - name: tif_cur_cumulated_mem_alloc
        type: tmsize_t
      - name: tif_warn_about_unknown_tags
        type: int
      item_type: struct
      name: tiff
      pos:
        line_end: 261
        line_start: 111
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
    - fields:
      - name: errorhandler
        type: TIFFErrorHandlerExtR
      - name: '*errorhandler_user_data'
        type: void
      - name: warnhandler
        type: TIFFErrorHandlerExtR
      - name: '*warnhandler_user_data'
        type: void
      - name: max_single_mem_alloc
        type: tmsize_t
      - name: max_cumulated_mem_alloc
        type: tmsize_t
      - name: warn_about_unknown_tags
        type: int
      item_type: struct
      name: TIFFOpenOptions
      pos:
        line_end: 272
        line_start: 263
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
    typedefs:
    - item_type: typedef
      name: tidataval_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: unsigned char
    - item_type: typedef
      name: '*tidata_t'
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: tidataval_t
    - item_type: typedef
      name: (*TIFFVoidMethod)(TIFF *)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: void
    - item_type: typedef
      name: (*TIFFBoolMethod)(TIFF *)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: int
    - item_type: typedef
      name: (*TIFFPreMethod)(TIFF *, uint16_t)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: int
    - item_type: typedef
      name: "(*TIFFCodeMethod)(TIFF *tif, uint8_t *buf, tmsize_t size,\n                              uint16_t
        sample)"
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: int
    - item_type: typedef
      name: (*TIFFSeekMethod)(TIFF *, uint32_t)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: int
    - item_type: typedef
      name: (*TIFFPostMethod)(TIFF *tif, uint8_t *buf, tmsize_t size)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: void
    - item_type: typedef
      name: (*TIFFStripMethod)(TIFF *, uint32_t)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: uint32_t
    - item_type: typedef
      name: (*TIFFTileMethod)(TIFF *, uint32_t *, uint32_t *)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: void
    - item_type: typedef
      name: TIFFOffsetAndDirNumber
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: TIFFOffsetAndDirNumber
    - item_type: typedef
      name: TIFFIOSize_t
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: unsigned int
    - item_type: typedef
      name: TIFFIOSize_t
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
      type: size_t
    union:
    - fields:
      - name: common
        type: TIFFHeaderCommon
      - name: classic
        type: TIFFHeaderClassic
      - name: big
        type: TIFFHeaderBig
      item_type: union
      name: TIFFHeaderUnion
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/PROJ/libtiff/libtiff/tiffiop.h
- function_names:
  - thandle_from_int
  - thandle_to_int
  - _tiffReadProc
  - _tiffWriteProc
  - _tiffSeekProc
  - _tiffCloseProc
  - _tiffSizeProc
  - _tiffMapProc
  - _tiffUnmapProc
  - TIFFFdOpen
  - TIFFFdOpenExt
  - TIFFOpen
  - TIFFOpenExt
  - TIFFOpenW
  - TIFFOpenWExt
  - _TIFFmalloc
  - _TIFFcalloc
  - _TIFFfree
  - _TIFFrealloc
  - _TIFFmemset
  - _TIFFmemcpy
  - _TIFFmemcmp
  - Win32WarningHandler
  - Win32ErrorHandler
  source_file: /src/PROJ/libtiff/libtiff/tif_win32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _notConfigured
  - NotConfigured
  - TIFFIsCODECConfigured
  source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFFInitLZW
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitPackBits
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitThunderScan
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitNeXT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitJPEG
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitOJPEG
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitCCITTRLE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitCCITTRLEW
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitCCITTFax3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitCCITTFax4
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitJBIG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitZIP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitPixarLog
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitSGILog
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitLERC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitLZMA
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitZSTD
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    - item_type: preproc_def
      name: TIFFInitWebP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/libtiff/libtiff/tif_codec.c
      type_or_value: NotConfigured
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/tiff.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFF_VERSION_CLASSIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42'
    - item_type: preproc_def
      name: TIFF_VERSION_BIG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '43'
    - item_type: preproc_def
      name: TIFF_BIGENDIAN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x4d4d'
    - item_type: preproc_def
      name: TIFF_LITTLEENDIAN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x4949'
    - item_type: preproc_def
      name: MDI_LITTLEENDIAN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x5045'
    - item_type: preproc_def
      name: MDI_BIGENDIAN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x4550'
    - item_type: preproc_def
      name: TIFF_GCC_DEPRECATED
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: __attribute__((deprecated))
    - item_type: preproc_def
      name: TIFF_MSC_DEPRECATED
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: "__declspec(deprecated(\"libtiff type deprecated; please use
        corresponding \" \\\n                          \"C99 stdint.h type\"))"
    - item_type: preproc_def
      name: TIFFTAG_SUBFILETYPE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '254       '
    - item_type: preproc_def
      name: FILETYPE_REDUCEDIMAGE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x1     '
    - item_type: preproc_def
      name: FILETYPE_PAGE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x2             '
    - item_type: preproc_def
      name: FILETYPE_MASK
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x4             '
    - item_type: preproc_def
      name: TIFFTAG_OSUBFILETYPE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '255      '
    - item_type: preproc_def
      name: OFILETYPE_IMAGE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1             '
    - item_type: preproc_def
      name: OFILETYPE_REDUCEDIMAGE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2      '
    - item_type: preproc_def
      name: OFILETYPE_PAGE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3              '
    - item_type: preproc_def
      name: TIFFTAG_IMAGEWIDTH
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '256        '
    - item_type: preproc_def
      name: TIFFTAG_IMAGELENGTH
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '257       '
    - item_type: preproc_def
      name: TIFFTAG_BITSPERSAMPLE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '258     '
    - item_type: preproc_def
      name: TIFFTAG_COMPRESSION
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '259       '
    - item_type: preproc_def
      name: COMPRESSION_NONE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1            '
    - item_type: preproc_def
      name: COMPRESSION_CCITTRLE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2        '
    - item_type: preproc_def
      name: COMPRESSION_CCITTFAX3
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3       '
    - item_type: preproc_def
      name: COMPRESSION_CCITT_T4
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3        '
    - item_type: preproc_def
      name: COMPRESSION_CCITTFAX4
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4       '
    - item_type: preproc_def
      name: COMPRESSION_CCITT_T6
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4        '
    - item_type: preproc_def
      name: COMPRESSION_LZW
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5             '
    - item_type: preproc_def
      name: COMPRESSION_OJPEG
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '6           '
    - item_type: preproc_def
      name: COMPRESSION_JPEG
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '7            '
    - item_type: preproc_def
      name: COMPRESSION_T85
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '9             '
    - item_type: preproc_def
      name: COMPRESSION_T43
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '10            '
    - item_type: preproc_def
      name: COMPRESSION_NEXT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32766        '
    - item_type: preproc_def
      name: COMPRESSION_CCITTRLEW
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32771   '
    - item_type: preproc_def
      name: COMPRESSION_PACKBITS
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32773    '
    - item_type: preproc_def
      name: COMPRESSION_THUNDERSCAN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32809 '
    - item_type: preproc_def
      name: COMPRESSION_IT8CTPAD
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32895 '
    - item_type: preproc_def
      name: COMPRESSION_IT8LW
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32896    '
    - item_type: preproc_def
      name: COMPRESSION_IT8MP
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32897    '
    - item_type: preproc_def
      name: COMPRESSION_IT8BL
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32898    '
    - item_type: preproc_def
      name: COMPRESSION_PIXARFILM
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32908 '
    - item_type: preproc_def
      name: COMPRESSION_PIXARLOG
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32909  '
    - item_type: preproc_def
      name: COMPRESSION_DEFLATE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32946   '
    - item_type: preproc_def
      name: COMPRESSION_ADOBE_DEFLATE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: COMPRESSION_DCS
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32947      '
    - item_type: preproc_def
      name: COMPRESSION_JBIG
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34661     '
    - item_type: preproc_def
      name: COMPRESSION_SGILOG
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34676   '
    - item_type: preproc_def
      name: COMPRESSION_SGILOG24
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34677 '
    - item_type: preproc_def
      name: COMPRESSION_JP2000
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34712   '
    - item_type: preproc_def
      name: COMPRESSION_LERC
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34887     '
    - item_type: preproc_def
      name: COMPRESSION_LZMA
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34925             '
    - item_type: preproc_def
      name: COMPRESSION_ZSTD
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50000             '
    - item_type: preproc_def
      name: COMPRESSION_WEBP
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50001             '
    - item_type: preproc_def
      name: COMPRESSION_JXL
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50002              '
    - item_type: preproc_def
      name: COMPRESSION_JXL_DNG_1_7
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52546      '
    - item_type: preproc_def
      name: TIFFTAG_PHOTOMETRIC
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '262            '
    - item_type: preproc_def
      name: PHOTOMETRIC_MINISWHITE
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0           '
    - item_type: preproc_def
      name: PHOTOMETRIC_MINISBLACK
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1           '
    - item_type: preproc_def
      name: PHOTOMETRIC_RGB
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2                  '
    - item_type: preproc_def
      name: PHOTOMETRIC_PALETTE
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3              '
    - item_type: preproc_def
      name: PHOTOMETRIC_MASK
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4                 '
    - item_type: preproc_def
      name: PHOTOMETRIC_SEPARATED
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5            '
    - item_type: preproc_def
      name: PHOTOMETRIC_YCBCR
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '6                '
    - item_type: preproc_def
      name: PHOTOMETRIC_CIELAB
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '8               '
    - item_type: preproc_def
      name: PHOTOMETRIC_ICCLAB
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '9               '
    - item_type: preproc_def
      name: PHOTOMETRIC_ITULAB
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '10              '
    - item_type: preproc_def
      name: PHOTOMETRIC_CFA
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32803              '
    - item_type: preproc_def
      name: PHOTOMETRIC_LOGL
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32844             '
    - item_type: preproc_def
      name: PHOTOMETRIC_LOGLUV
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32845           '
    - item_type: preproc_def
      name: TIFFTAG_THRESHHOLDING
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '263          '
    - item_type: preproc_def
      name: THRESHHOLD_BILEVEL
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1               '
    - item_type: preproc_def
      name: THRESHHOLD_HALFTONE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2              '
    - item_type: preproc_def
      name: THRESHHOLD_ERRORDIFFUSE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3          '
    - item_type: preproc_def
      name: TIFFTAG_CELLWIDTH
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '264              '
    - item_type: preproc_def
      name: TIFFTAG_CELLLENGTH
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '265             '
    - item_type: preproc_def
      name: TIFFTAG_FILLORDER
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '266              '
    - item_type: preproc_def
      name: FILLORDER_MSB2LSB
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                '
    - item_type: preproc_def
      name: FILLORDER_LSB2MSB
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2                '
    - item_type: preproc_def
      name: TIFFTAG_DOCUMENTNAME
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '269           '
    - item_type: preproc_def
      name: TIFFTAG_IMAGEDESCRIPTION
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '270       '
    - item_type: preproc_def
      name: TIFFTAG_MAKE
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '271                   '
    - item_type: preproc_def
      name: TIFFTAG_MODEL
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '272                  '
    - item_type: preproc_def
      name: TIFFTAG_STRIPOFFSETS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '273           '
    - item_type: preproc_def
      name: TIFFTAG_ORIENTATION
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '274            '
    - item_type: preproc_def
      name: ORIENTATION_TOPLEFT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1              '
    - item_type: preproc_def
      name: ORIENTATION_TOPRIGHT
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2             '
    - item_type: preproc_def
      name: ORIENTATION_BOTRIGHT
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3             '
    - item_type: preproc_def
      name: ORIENTATION_BOTLEFT
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4              '
    - item_type: preproc_def
      name: ORIENTATION_LEFTTOP
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5              '
    - item_type: preproc_def
      name: ORIENTATION_RIGHTTOP
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '6             '
    - item_type: preproc_def
      name: ORIENTATION_RIGHTBOT
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '7             '
    - item_type: preproc_def
      name: ORIENTATION_LEFTBOT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '8              '
    - item_type: preproc_def
      name: TIFFTAG_SAMPLESPERPIXEL
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '277        '
    - item_type: preproc_def
      name: TIFFTAG_ROWSPERSTRIP
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '278           '
    - item_type: preproc_def
      name: TIFFTAG_STRIPBYTECOUNTS
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '279        '
    - item_type: preproc_def
      name: TIFFTAG_MINSAMPLEVALUE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '280         '
    - item_type: preproc_def
      name: TIFFTAG_MAXSAMPLEVALUE
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '281         '
    - item_type: preproc_def
      name: TIFFTAG_XRESOLUTION
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '282            '
    - item_type: preproc_def
      name: TIFFTAG_YRESOLUTION
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '283            '
    - item_type: preproc_def
      name: TIFFTAG_PLANARCONFIG
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '284           '
    - item_type: preproc_def
      name: PLANARCONFIG_CONTIG
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1              '
    - item_type: preproc_def
      name: PLANARCONFIG_SEPARATE
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2            '
    - item_type: preproc_def
      name: TIFFTAG_PAGENAME
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '285               '
    - item_type: preproc_def
      name: TIFFTAG_XPOSITION
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '286              '
    - item_type: preproc_def
      name: TIFFTAG_YPOSITION
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '287              '
    - item_type: preproc_def
      name: TIFFTAG_FREEOFFSETS
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '288            '
    - item_type: preproc_def
      name: TIFFTAG_FREEBYTECOUNTS
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '289         '
    - item_type: preproc_def
      name: TIFFTAG_GRAYRESPONSEUNIT
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '290       '
    - item_type: preproc_def
      name: GRAYRESPONSEUNIT_10S
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1             '
    - item_type: preproc_def
      name: GRAYRESPONSEUNIT_100S
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2            '
    - item_type: preproc_def
      name: GRAYRESPONSEUNIT_1000S
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3           '
    - item_type: preproc_def
      name: GRAYRESPONSEUNIT_10000S
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4          '
    - item_type: preproc_def
      name: GRAYRESPONSEUNIT_100000S
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5         '
    - item_type: preproc_def
      name: TIFFTAG_GRAYRESPONSECURVE
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '291      '
    - item_type: preproc_def
      name: TIFFTAG_GROUP3OPTIONS
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '292          '
    - item_type: preproc_def
      name: TIFFTAG_T4OPTIONS
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '292              '
    - item_type: preproc_def
      name: GROUP3OPT_2DENCODING
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x1           '
    - item_type: preproc_def
      name: GROUP3OPT_UNCOMPRESSED
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x2         '
    - item_type: preproc_def
      name: GROUP3OPT_FILLBITS
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x4             '
    - item_type: preproc_def
      name: TIFFTAG_GROUP4OPTIONS
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '293          '
    - item_type: preproc_def
      name: TIFFTAG_T6OPTIONS
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '293              '
    - item_type: preproc_def
      name: GROUP4OPT_UNCOMPRESSED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x2         '
    - item_type: preproc_def
      name: TIFFTAG_RESOLUTIONUNIT
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '296         '
    - item_type: preproc_def
      name: RESUNIT_NONE
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                     '
    - item_type: preproc_def
      name: RESUNIT_INCH
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2                     '
    - item_type: preproc_def
      name: RESUNIT_CENTIMETER
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3               '
    - item_type: preproc_def
      name: TIFFTAG_PAGENUMBER
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '297             '
    - item_type: preproc_def
      name: TIFFTAG_COLORRESPONSEUNIT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '300      '
    - item_type: preproc_def
      name: COLORRESPONSEUNIT_10S
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1            '
    - item_type: preproc_def
      name: COLORRESPONSEUNIT_100S
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2           '
    - item_type: preproc_def
      name: COLORRESPONSEUNIT_1000S
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3          '
    - item_type: preproc_def
      name: COLORRESPONSEUNIT_10000S
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4         '
    - item_type: preproc_def
      name: COLORRESPONSEUNIT_100000S
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5        '
    - item_type: preproc_def
      name: TIFFTAG_TRANSFERFUNCTION
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '301       '
    - item_type: preproc_def
      name: TIFFTAG_SOFTWARE
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '305               '
    - item_type: preproc_def
      name: TIFFTAG_DATETIME
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '306               '
    - item_type: preproc_def
      name: TIFFTAG_ARTIST
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '315                 '
    - item_type: preproc_def
      name: TIFFTAG_HOSTCOMPUTER
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '316           '
    - item_type: preproc_def
      name: TIFFTAG_PREDICTOR
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '317              '
    - item_type: preproc_def
      name: PREDICTOR_NONE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                   '
    - item_type: preproc_def
      name: PREDICTOR_HORIZONTAL
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2             '
    - item_type: preproc_def
      name: PREDICTOR_FLOATINGPOINT
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3          '
    - item_type: preproc_def
      name: TIFFTAG_WHITEPOINT
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '318             '
    - item_type: preproc_def
      name: TIFFTAG_PRIMARYCHROMATICITIES
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '319  '
    - item_type: preproc_def
      name: TIFFTAG_COLORMAP
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '320               '
    - item_type: preproc_def
      name: TIFFTAG_HALFTONEHINTS
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '321          '
    - item_type: preproc_def
      name: TIFFTAG_TILEWIDTH
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '322              '
    - item_type: preproc_def
      name: TIFFTAG_TILELENGTH
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '323             '
    - item_type: preproc_def
      name: TIFFTAG_TILEOFFSETS
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '324            '
    - item_type: preproc_def
      name: TIFFTAG_TILEBYTECOUNTS
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '325         '
    - item_type: preproc_def
      name: TIFFTAG_BADFAXLINES
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '326            '
    - item_type: preproc_def
      name: TIFFTAG_CLEANFAXDATA
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '327           '
    - item_type: preproc_def
      name: CLEANFAXDATA_CLEAN
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0               '
    - item_type: preproc_def
      name: CLEANFAXDATA_REGENERATED
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1         '
    - item_type: preproc_def
      name: CLEANFAXDATA_UNCLEAN
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2             '
    - item_type: preproc_def
      name: TIFFTAG_CONSECUTIVEBADFAXLINES
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '328 '
    - item_type: preproc_def
      name: TIFFTAG_SUBIFD
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '330                 '
    - item_type: preproc_def
      name: TIFFTAG_INKSET
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '332                 '
    - item_type: preproc_def
      name: INKSET_CMYK
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                      '
    - item_type: preproc_def
      name: INKSET_MULTIINK
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2                  '
    - item_type: preproc_def
      name: TIFFTAG_INKNAMES
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '333               '
    - item_type: preproc_def
      name: TIFFTAG_NUMBEROFINKS
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '334           '
    - item_type: preproc_def
      name: TIFFTAG_DOTRANGE
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '336               '
    - item_type: preproc_def
      name: TIFFTAG_TARGETPRINTER
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '337          '
    - item_type: preproc_def
      name: TIFFTAG_EXTRASAMPLES
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '338           '
    - item_type: preproc_def
      name: EXTRASAMPLE_UNSPECIFIED
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0          '
    - item_type: preproc_def
      name: EXTRASAMPLE_ASSOCALPHA
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1           '
    - item_type: preproc_def
      name: EXTRASAMPLE_UNASSALPHA
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2           '
    - item_type: preproc_def
      name: TIFFTAG_SAMPLEFORMAT
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '339           '
    - item_type: preproc_def
      name: SAMPLEFORMAT_UINT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                '
    - item_type: preproc_def
      name: SAMPLEFORMAT_INT
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2                 '
    - item_type: preproc_def
      name: SAMPLEFORMAT_IEEEFP
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3              '
    - item_type: preproc_def
      name: SAMPLEFORMAT_VOID
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4                '
    - item_type: preproc_def
      name: SAMPLEFORMAT_COMPLEXINT
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5          '
    - item_type: preproc_def
      name: SAMPLEFORMAT_COMPLEXIEEEFP
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '6       '
    - item_type: preproc_def
      name: TIFFTAG_SMINSAMPLEVALUE
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '340        '
    - item_type: preproc_def
      name: TIFFTAG_SMAXSAMPLEVALUE
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '341        '
    - item_type: preproc_def
      name: TIFFTAG_CLIPPATH
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '343               '
    - item_type: preproc_def
      name: TIFFTAG_XCLIPPATHUNITS
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '344         '
    - item_type: preproc_def
      name: TIFFTAG_YCLIPPATHUNITS
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '345         '
    - item_type: preproc_def
      name: TIFFTAG_INDEXED
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '346                '
    - item_type: preproc_def
      name: TIFFTAG_JPEGTABLES
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '347             '
    - item_type: preproc_def
      name: TIFFTAG_OPIPROXY
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '351               '
    - item_type: preproc_def
      name: TIFFTAG_GLOBALPARAMETERSIFD
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '400 '
    - item_type: preproc_def
      name: TIFFTAG_PROFILETYPE
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '401         '
    - item_type: preproc_def
      name: PROFILETYPE_UNSPECIFIED
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0       '
    - item_type: preproc_def
      name: PROFILETYPE_G3_FAX
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1            '
    - item_type: preproc_def
      name: TIFFTAG_FAXPROFILE
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '402          '
    - item_type: preproc_def
      name: FAXPROFILE_S
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                  '
    - item_type: preproc_def
      name: FAXPROFILE_F
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2                  '
    - item_type: preproc_def
      name: FAXPROFILE_J
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3                  '
    - item_type: preproc_def
      name: FAXPROFILE_C
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4                  '
    - item_type: preproc_def
      name: FAXPROFILE_L
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5                  '
    - item_type: preproc_def
      name: FAXPROFILE_M
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '6                  '
    - item_type: preproc_def
      name: TIFFTAG_CODINGMETHODS
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '403       '
    - item_type: preproc_def
      name: CODINGMETHODS_T4_1D
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '(1 << 1)    '
    - item_type: preproc_def
      name: CODINGMETHODS_T4_2D
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '(1 << 2)    '
    - item_type: preproc_def
      name: CODINGMETHODS_T6
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '(1 << 3)       '
    - item_type: preproc_def
      name: CODINGMETHODS_T85
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '(1 << 4)      '
    - item_type: preproc_def
      name: CODINGMETHODS_T42
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '(1 << 5)      '
    - item_type: preproc_def
      name: CODINGMETHODS_T43
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '(1 << 6)      '
    - item_type: preproc_def
      name: TIFFTAG_VERSIONYEAR
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '404         '
    - item_type: preproc_def
      name: TIFFTAG_MODENUMBER
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '405          '
    - item_type: preproc_def
      name: TIFFTAG_DECODE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '433              '
    - item_type: preproc_def
      name: TIFFTAG_IMAGEBASECOLOR
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '434      '
    - item_type: preproc_def
      name: TIFFTAG_T82OPTIONS
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '435          '
    - item_type: preproc_def
      name: TIFFTAG_JPEGPROC
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '512               '
    - item_type: preproc_def
      name: JPEGPROC_BASELINE
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1                '
    - item_type: preproc_def
      name: JPEGPROC_LOSSLESS
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '14               '
    - item_type: preproc_def
      name: TIFFTAG_JPEGIFOFFSET
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '513           '
    - item_type: preproc_def
      name: TIFFTAG_JPEGIFBYTECOUNT
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '514        '
    - item_type: preproc_def
      name: TIFFTAG_JPEGRESTARTINTERVAL
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '515    '
    - item_type: preproc_def
      name: TIFFTAG_JPEGLOSSLESSPREDICTORS
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '517 '
    - item_type: preproc_def
      name: TIFFTAG_JPEGPOINTTRANSFORM
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '518     '
    - item_type: preproc_def
      name: TIFFTAG_JPEGQTABLES
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '519            '
    - item_type: preproc_def
      name: TIFFTAG_JPEGDCTABLES
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '520           '
    - item_type: preproc_def
      name: TIFFTAG_JPEGACTABLES
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '521           '
    - item_type: preproc_def
      name: TIFFTAG_YCBCRCOEFFICIENTS
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '529      '
    - item_type: preproc_def
      name: TIFFTAG_YCBCRSUBSAMPLING
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '530       '
    - item_type: preproc_def
      name: TIFFTAG_YCBCRPOSITIONING
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '531       '
    - item_type: preproc_def
      name: YCBCRPOSITION_CENTERED
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1           '
    - item_type: preproc_def
      name: YCBCRPOSITION_COSITED
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2            '
    - item_type: preproc_def
      name: TIFFTAG_REFERENCEBLACKWHITE
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '532    '
    - item_type: preproc_def
      name: TIFFTAG_STRIPROWCOUNTS
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '559         '
    - item_type: preproc_def
      name: TIFFTAG_XMLPACKET
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '700              '
    - item_type: preproc_def
      name: TIFFTAG_OPIIMAGEID
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32781           '
    - item_type: preproc_def
      name: TIFFTAG_TIFFANNOTATIONDATA
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32932'
    - item_type: preproc_def
      name: TIFFTAG_REFPTS
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32953            '
    - item_type: preproc_def
      name: TIFFTAG_REGIONTACKPOINT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32954   '
    - item_type: preproc_def
      name: TIFFTAG_REGIONWARPCORNERS
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32955 '
    - item_type: preproc_def
      name: TIFFTAG_REGIONAFFINE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32956      '
    - item_type: preproc_def
      name: TIFFTAG_MATTEING
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32995   '
    - item_type: preproc_def
      name: TIFFTAG_DATATYPE
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32996   '
    - item_type: preproc_def
      name: TIFFTAG_IMAGEDEPTH
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32997 '
    - item_type: preproc_def
      name: TIFFTAG_TILEDEPTH
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '32998  '
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_IMAGEFULLWIDTH
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33300  '
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_IMAGEFULLLENGTH
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33301 '
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_TEXTUREFORMAT
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33302 '
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_WRAPMODES
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33303     '
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_FOVCOT
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33304        '
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33305'
    - item_type: preproc_def
      name: TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33306'
    - item_type: preproc_def
      name: TIFFTAG_WRITERSERIALNUMBER
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33405  '
    - item_type: preproc_def
      name: TIFFTAG_CFAREPEATPATTERNDIM
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33421 '
    - item_type: preproc_def
      name: TIFFTAG_CFAPATTERN
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33422          '
    - item_type: preproc_def
      name: TIFFTAG_BATTERYLEVEL
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33423        '
    - item_type: preproc_def
      name: TIFFTAG_COPYRIGHT
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33432 '
    - item_type: preproc_def
      name: TIFFTAG_MD_FILETAG
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33445    '
    - item_type: preproc_def
      name: TIFFTAG_MD_SCALEPIXEL
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33446 '
    - item_type: preproc_def
      name: TIFFTAG_MD_COLORTABLE
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33447 '
    - item_type: preproc_def
      name: TIFFTAG_MD_LABNAME
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33448    '
    - item_type: preproc_def
      name: TIFFTAG_MD_SAMPLEINFO
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33449 '
    - item_type: preproc_def
      name: TIFFTAG_MD_PREPDATE
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33450   '
    - item_type: preproc_def
      name: TIFFTAG_MD_PREPTIME
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33451   '
    - item_type: preproc_def
      name: TIFFTAG_MD_FILEUNITS
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33452  '
    - item_type: preproc_def
      name: TIFFTAG_RICHTIFFIPTC
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33723'
    - item_type: preproc_def
      name: TIFFTAG_INGR_PACKET_DATA_TAG
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33918       '
    - item_type: preproc_def
      name: TIFFTAG_INGR_FLAG_REGISTERS
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33919        '
    - item_type: preproc_def
      name: TIFFTAG_IRASB_TRANSORMATION_MATRIX
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33920 '
    - item_type: preproc_def
      name: TIFFTAG_MODELTIEPOINTTAG
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33922           '
    - item_type: preproc_def
      name: TIFFTAG_IT8SITE
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34016                     '
    - item_type: preproc_def
      name: TIFFTAG_IT8COLORSEQUENCE
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34017            '
    - item_type: preproc_def
      name: TIFFTAG_IT8HEADER
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34018                   '
    - item_type: preproc_def
      name: TIFFTAG_IT8RASTERPADDING
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34019            '
    - item_type: preproc_def
      name: TIFFTAG_IT8BITSPERRUNLENGTH
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34020         '
    - item_type: preproc_def
      name: TIFFTAG_IT8BITSPEREXTENDEDRUNLENGTH
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34021 '
    - item_type: preproc_def
      name: TIFFTAG_IT8COLORTABLE
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34022               '
    - item_type: preproc_def
      name: TIFFTAG_IT8IMAGECOLORINDICATOR
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34023      '
    - item_type: preproc_def
      name: TIFFTAG_IT8BKGCOLORINDICATOR
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34024        '
    - item_type: preproc_def
      name: TIFFTAG_IT8IMAGECOLORVALUE
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34025          '
    - item_type: preproc_def
      name: TIFFTAG_IT8BKGCOLORVALUE
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34026            '
    - item_type: preproc_def
      name: TIFFTAG_IT8PIXELINTENSITYRANGE
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34027      '
    - item_type: preproc_def
      name: TIFFTAG_IT8TRANSPARENCYINDICATOR
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34028    '
    - item_type: preproc_def
      name: TIFFTAG_IT8COLORCHARACTERIZATION
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34029    '
    - item_type: preproc_def
      name: TIFFTAG_IT8HCUSAGE
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34030                  '
    - item_type: preproc_def
      name: TIFFTAG_IT8TRAPINDICATOR
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34031            '
    - item_type: preproc_def
      name: TIFFTAG_IT8CMYKEQUIVALENT
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34032           '
    - item_type: preproc_def
      name: TIFFTAG_FRAMECOUNT
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34232             '
    - item_type: preproc_def
      name: TIFFTAG_MODELTRANSFORMATIONTAG
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34264 '
    - item_type: preproc_def
      name: TIFFTAG_PHOTOSHOP
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34377'
    - item_type: preproc_def
      name: TIFFTAG_EXIFIFD
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34665 '
    - item_type: preproc_def
      name: TIFFTAG_ICCPROFILE
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34675 '
    - item_type: preproc_def
      name: TIFFTAG_IMAGELAYER
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34732 '
    - item_type: preproc_def
      name: TIFFTAG_JBIGOPTIONS
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34750 '
    - item_type: preproc_def
      name: TIFFTAG_GPSIFD
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34853      '
    - item_type: preproc_def
      name: TIFFTAG_FAXRECVPARAMS
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34908 '
    - item_type: preproc_def
      name: TIFFTAG_FAXSUBADDRESS
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34909 '
    - item_type: preproc_def
      name: TIFFTAG_FAXRECVTIME
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34910   '
    - item_type: preproc_def
      name: TIFFTAG_FAXDCS
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34911        '
    - item_type: preproc_def
      name: TIFFTAG_STONITS
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37439 '
    - item_type: preproc_def
      name: TIFFTAG_FEDEX_EDR
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34929                '
    - item_type: preproc_def
      name: TIFFTAG_IMAGESOURCEDATA
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37724          '
    - item_type: preproc_def
      name: TIFFTAG_INTEROPERABILITYIFD
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '40965      '
    - item_type: preproc_def
      name: TIFFTAG_GDAL_METADATA
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42112            '
    - item_type: preproc_def
      name: TIFFTAG_GDAL_NODATA
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42113              '
    - item_type: preproc_def
      name: TIFFTAG_OCE_SCANJOB_DESCRIPTION
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50215  '
    - item_type: preproc_def
      name: TIFFTAG_OCE_APPLICATION_SELECTOR
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50216 '
    - item_type: preproc_def
      name: TIFFTAG_OCE_IDENTIFICATION_NUMBER
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50217'
    - item_type: preproc_def
      name: TIFFTAG_OCE_IMAGELOGIC_CHARACTERISTICS
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50218'
    - item_type: preproc_def
      name: TIFFTAG_LERC_PARAMETERS
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50674 '
    - item_type: preproc_def
      name: TIFFTAG_DNGVERSION
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50706           '
    - item_type: preproc_def
      name: TIFFTAG_DNGBACKWARDVERSION
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50707   '
    - item_type: preproc_def
      name: TIFFTAG_UNIQUECAMERAMODEL
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50708    '
    - item_type: preproc_def
      name: TIFFTAG_LOCALIZEDCAMERAMODEL
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50709 '
    - item_type: preproc_def
      name: TIFFTAG_CFAPLANECOLOR
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50710        '
    - item_type: preproc_def
      name: TIFFTAG_CFALAYOUT
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50711            '
    - item_type: preproc_def
      name: TIFFTAG_LINEARIZATIONTABLE
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50712   '
    - item_type: preproc_def
      name: TIFFTAG_BLACKLEVELREPEATDIM
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50713  '
    - item_type: preproc_def
      name: TIFFTAG_BLACKLEVEL
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50714           '
    - item_type: preproc_def
      name: TIFFTAG_BLACKLEVELDELTAH
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50715     '
    - item_type: preproc_def
      name: TIFFTAG_BLACKLEVELDELTAV
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50716     '
    - item_type: preproc_def
      name: TIFFTAG_WHITELEVEL
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50717           '
    - item_type: preproc_def
      name: TIFFTAG_DEFAULTSCALE
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50718         '
    - item_type: preproc_def
      name: TIFFTAG_DEFAULTCROPORIGIN
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50719    '
    - item_type: preproc_def
      name: TIFFTAG_DEFAULTCROPSIZE
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50720      '
    - item_type: preproc_def
      name: TIFFTAG_COLORMATRIX1
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50721         '
    - item_type: preproc_def
      name: TIFFTAG_COLORMATRIX2
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50722         '
    - item_type: preproc_def
      name: TIFFTAG_CAMERACALIBRATION1
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50723   '
    - item_type: preproc_def
      name: TIFFTAG_CAMERACALIBRATION2
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50724   '
    - item_type: preproc_def
      name: TIFFTAG_REDUCTIONMATRIX1
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50725     '
    - item_type: preproc_def
      name: TIFFTAG_REDUCTIONMATRIX2
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50726     '
    - item_type: preproc_def
      name: TIFFTAG_ANALOGBALANCE
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50727        '
    - item_type: preproc_def
      name: TIFFTAG_ASSHOTNEUTRAL
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50728        '
    - item_type: preproc_def
      name: TIFFTAG_ASSHOTWHITEXY
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50729        '
    - item_type: preproc_def
      name: TIFFTAG_BASELINEEXPOSURE
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50730     '
    - item_type: preproc_def
      name: TIFFTAG_BASELINENOISE
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50731        '
    - item_type: preproc_def
      name: TIFFTAG_BASELINESHARPNESS
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50732    '
    - item_type: preproc_def
      name: TIFFTAG_BAYERGREENSPLIT
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50733'
    - item_type: preproc_def
      name: TIFFTAG_LINEARRESPONSELIMIT
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50734     '
    - item_type: preproc_def
      name: TIFFTAG_CAMERASERIALNUMBER
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50735      '
    - item_type: preproc_def
      name: TIFFTAG_LENSINFO
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50736                '
    - item_type: preproc_def
      name: TIFFTAG_CHROMABLURRADIUS
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50737        '
    - item_type: preproc_def
      name: TIFFTAG_ANTIALIASSTRENGTH
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50738       '
    - item_type: preproc_def
      name: TIFFTAG_SHADOWSCALE
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50739             '
    - item_type: preproc_def
      name: TIFFTAG_DNGPRIVATEDATA
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50740          '
    - item_type: preproc_def
      name: TIFFTAG_MAKERNOTESAFETY
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50741         '
    - item_type: preproc_def
      name: TIFFTAG_CALIBRATIONILLUMINANT1
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50778  '
    - item_type: preproc_def
      name: TIFFTAG_CALIBRATIONILLUMINANT2
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50779  '
    - item_type: preproc_def
      name: TIFFTAG_BESTQUALITYSCALE
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50780        '
    - item_type: preproc_def
      name: TIFFTAG_RAWDATAUNIQUEID
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50781         '
    - item_type: preproc_def
      name: TIFFTAG_ORIGINALRAWFILENAME
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50827     '
    - item_type: preproc_def
      name: TIFFTAG_ORIGINALRAWFILEDATA
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50828     '
    - item_type: preproc_def
      name: TIFFTAG_ACTIVEAREA
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50829              '
    - item_type: preproc_def
      name: TIFFTAG_MASKEDAREAS
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50830             '
    - item_type: preproc_def
      name: TIFFTAG_ASSHOTICCPROFILE
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50831        '
    - item_type: preproc_def
      name: TIFFTAG_ASSHOTPREPROFILEMATRIX
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50832  '
    - item_type: preproc_def
      name: TIFFTAG_CURRENTICCPROFILE
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50833       '
    - item_type: preproc_def
      name: TIFFTAG_CURRENTPREPROFILEMATRIX
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50834 '
    - item_type: preproc_def
      name: TIFFTAG_COLORIMETRICREFERENCE
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50879       '
    - item_type: preproc_def
      name: TIFFTAG_CAMERACALIBRATIONSIGNATURE
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50931  '
    - item_type: preproc_def
      name: TIFFTAG_PROFILECALIBRATIONSIGNATURE
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50932 '
    - item_type: preproc_def
      name: TIFFTAG_ASSHOTPROFILENAME
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50934           '
    - item_type: preproc_def
      name: TIFFTAG_NOISEREDUCTIONAPPLIED
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50935       '
    - item_type: preproc_def
      name: TIFFTAG_PROFILENAME
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50936                 '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEHUESATMAPDIMS
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50937        '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEHUESATMAPDATA1
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50938       '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEHUESATMAPDATA2
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50939       '
    - item_type: preproc_def
      name: TIFFTAG_PROFILETONECURVE
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50940            '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEEMBEDPOLICY
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50941          '
    - item_type: preproc_def
      name: TIFFTAG_PROFILECOPYRIGHT
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50942            '
    - item_type: preproc_def
      name: TIFFTAG_FORWARDMATRIX1
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50964              '
    - item_type: preproc_def
      name: TIFFTAG_FORWARDMATRIX2
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50965              '
    - item_type: preproc_def
      name: TIFFTAG_PREVIEWAPPLICATIONNAME
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50966      '
    - item_type: preproc_def
      name: TIFFTAG_PREVIEWAPPLICATIONVERSION
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50967   '
    - item_type: preproc_def
      name: TIFFTAG_PREVIEWSETTINGSNAME
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50968         '
    - item_type: preproc_def
      name: TIFFTAG_PREVIEWSETTINGSDIGEST
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50969       '
    - item_type: preproc_def
      name: TIFFTAG_PREVIEWCOLORSPACE
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50970           '
    - item_type: preproc_def
      name: TIFFTAG_PREVIEWDATETIME
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50971             '
    - item_type: preproc_def
      name: TIFFTAG_RAWIMAGEDIGEST
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50972              '
    - item_type: preproc_def
      name: TIFFTAG_ORIGINALRAWFILEDIGEST
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50973       '
    - item_type: preproc_def
      name: TIFFTAG_SUBTILEBLOCKSIZE
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50974            '
    - item_type: preproc_def
      name: TIFFTAG_ROWINTERLEAVEFACTOR
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50975         '
    - item_type: preproc_def
      name: TIFFTAG_PROFILELOOKTABLEDIMS
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50981        '
    - item_type: preproc_def
      name: TIFFTAG_PROFILELOOKTABLEDATA
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50982        '
    - item_type: preproc_def
      name: TIFFTAG_OPCODELIST1
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51008  '
    - item_type: preproc_def
      name: TIFFTAG_OPCODELIST2
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51009  '
    - item_type: preproc_def
      name: TIFFTAG_OPCODELIST3
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51022  '
    - item_type: preproc_def
      name: TIFFTAG_NOISEPROFILE
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51041 '
    - item_type: preproc_def
      name: TIFFTAG_DEFAULTUSERCROP
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51125              '
    - item_type: preproc_def
      name: TIFFTAG_DEFAULTBLACKRENDER
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51110           '
    - item_type: preproc_def
      name: TIFFTAG_BASELINEEXPOSUREOFFSET
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51109       '
    - item_type: preproc_def
      name: TIFFTAG_PROFILELOOKTABLEENCODING
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51108     '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEHUESATMAPENCODING
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51107     '
    - item_type: preproc_def
      name: TIFFTAG_ORIGINALDEFAULTFINALSIZE
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51089     '
    - item_type: preproc_def
      name: TIFFTAG_ORIGINALBESTQUALITYFINALSIZE
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51090 '
    - item_type: preproc_def
      name: TIFFTAG_ORIGINALDEFAULTCROPSIZE
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51091      '
    - item_type: preproc_def
      name: TIFFTAG_NEWRAWIMAGEDIGEST
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51111            '
    - item_type: preproc_def
      name: TIFFTAG_RAWTOPREVIEWGAIN
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51112             '
    - item_type: preproc_def
      name: TIFFTAG_DEPTHFORMAT
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51177      '
    - item_type: preproc_def
      name: TIFFTAG_DEPTHNEAR
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51178        '
    - item_type: preproc_def
      name: TIFFTAG_DEPTHFAR
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51179         '
    - item_type: preproc_def
      name: TIFFTAG_DEPTHUNITS
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51180       '
    - item_type: preproc_def
      name: TIFFTAG_DEPTHMEASURETYPE
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51181 '
    - item_type: preproc_def
      name: TIFFTAG_ENHANCEPARAMS
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '51182    '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEGAINTABLEMAP
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52525    '
    - item_type: preproc_def
      name: TIFFTAG_SEMANTICNAME
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52526           '
    - item_type: preproc_def
      name: TIFFTAG_SEMANTICINSTANCEID
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52528     '
    - item_type: preproc_def
      name: TIFFTAG_MASKSUBAREA
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52536            '
    - item_type: preproc_def
      name: TIFFTAG_RGBTABLES
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52543              '
    - item_type: preproc_def
      name: TIFFTAG_CALIBRATIONILLUMINANT3
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52529 '
    - item_type: preproc_def
      name: TIFFTAG_COLORMATRIX3
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52531           '
    - item_type: preproc_def
      name: TIFFTAG_CAMERACALIBRATION3
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52530     '
    - item_type: preproc_def
      name: TIFFTAG_REDUCTIONMATRIX3
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52538       '
    - item_type: preproc_def
      name: TIFFTAG_PROFILEHUESATMAPDATA3
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52537  '
    - item_type: preproc_def
      name: TIFFTAG_FORWARDMATRIX3
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52532         '
    - item_type: preproc_def
      name: TIFFTAG_ILLUMINANTDATA1
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52533        '
    - item_type: preproc_def
      name: TIFFTAG_ILLUMINANTDATA2
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '52534        '
    - item_type: preproc_def
      name: TIFFTAG_ILLUMINANTDATA3
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '53535        '
    - item_type: preproc_def
      name: TIFFTAG_EP_CFAREPEATPATTERNDIM
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33421      '
    - item_type: preproc_def
      name: TIFFTAG_EP_CFAPATTERN
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33422               '
    - item_type: preproc_def
      name: TIFFTAG_EP_BATTERYLEVEL
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33423             '
    - item_type: preproc_def
      name: TIFFTAG_EP_INTERLACE
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34857                '
    - item_type: preproc_def
      name: TIFFTAG_EP_IPTC_NAA
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33723                 '
    - item_type: preproc_def
      name: TIFFTAG_EP_TIMEZONEOFFSET
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34858           '
    - item_type: preproc_def
      name: TIFFTAG_EP_SELFTIMERMODE
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34859            '
    - item_type: preproc_def
      name: TIFFTAG_EP_FLASHENERGY
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37387              '
    - item_type: preproc_def
      name: TIFFTAG_EP_SPATIALFREQUENCYRESPONSE
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37388 '
    - item_type: preproc_def
      name: TIFFTAG_EP_NOISE
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37389                    '
    - item_type: preproc_def
      name: TIFFTAG_EP_FOCALPLANEXRESOLUTION
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37390    '
    - item_type: preproc_def
      name: TIFFTAG_EP_FOCALPLANEYRESOLUTION
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37391    '
    - item_type: preproc_def
      name: TIFFTAG_EP_FOCALPLANERESOLUTIONUNIT
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37392 '
    - item_type: preproc_def
      name: TIFFTAG_EP_IMAGENUMBER
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37393              '
    - item_type: preproc_def
      name: TIFFTAG_EP_SECURITYCLASSIFICATION
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37394   '
    - item_type: preproc_def
      name: TIFFTAG_EP_IMAGEHISTORY
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37395             '
    - item_type: preproc_def
      name: TIFFTAG_EP_EXPOSUREINDEX
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37397            '
    - item_type: preproc_def
      name: TIFFTAG_EP_STANDARDID
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37398               '
    - item_type: preproc_def
      name: TIFFTAG_EP_SENSINGMETHOD
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37399            '
    - item_type: preproc_def
      name: TIFFTAG_EP_EXPOSURETIME
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33434             '
    - item_type: preproc_def
      name: TIFFTAG_EP_FNUMBER
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33437                  '
    - item_type: preproc_def
      name: TIFFTAG_EP_EXPOSUREPROGRAM
      pos:
        line_end: 657
        line_start: 656
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34850          '
    - item_type: preproc_def
      name: TIFFTAG_EP_SPECTRALSENSITIVITY
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34852      '
    - item_type: preproc_def
      name: TIFFTAG_EP_ISOSPEEDRATINGS
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34855          '
    - item_type: preproc_def
      name: TIFFTAG_EP_OECF
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34856                     '
    - item_type: preproc_def
      name: TIFFTAG_EP_DATETIMEORIGINAL
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36867         '
    - item_type: preproc_def
      name: TIFFTAG_EP_COMPRESSEDBITSPERPIXEL
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37122   '
    - item_type: preproc_def
      name: TIFFTAG_EP_SHUTTERSPEEDVALUE
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37377        '
    - item_type: preproc_def
      name: TIFFTAG_EP_APERTUREVALUE
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37378            '
    - item_type: preproc_def
      name: TIFFTAG_EP_BRIGHTNESSVALUE
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37379          '
    - item_type: preproc_def
      name: TIFFTAG_EP_EXPOSUREBIASVALUE
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37380        '
    - item_type: preproc_def
      name: TIFFTAG_EP_MAXAPERTUREVALUE
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37381         '
    - item_type: preproc_def
      name: TIFFTAG_EP_SUBJECTDISTANCE
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37382          '
    - item_type: preproc_def
      name: TIFFTAG_EP_METERINGMODE
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37383             '
    - item_type: preproc_def
      name: TIFFTAG_EP_LIGHTSOURCE
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37384              '
    - item_type: preproc_def
      name: TIFFTAG_EP_FLASH
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37385                    '
    - item_type: preproc_def
      name: TIFFTAG_EP_FOCALLENGTH
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37386              '
    - item_type: preproc_def
      name: TIFFTAG_EP_SUBJECTLOCATION
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37396          '
    - item_type: preproc_def
      name: TIFFTAG_RPCCOEFFICIENT
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50844       '
    - item_type: preproc_def
      name: TIFFTAG_ALIAS_LAYER_METADATA
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50784 '
    - item_type: preproc_def
      name: TIFFTAG_TIFF_RSID
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50908           '
    - item_type: preproc_def
      name: TIFFTAG_GEO_METADATA
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50909        '
    - item_type: preproc_def
      name: TIFFTAG_EXTRACAMERAPROFILES
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '50933 '
    - item_type: preproc_def
      name: TIFFTAG_DCSHUESHIFTVALUES
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65535 '
    - item_type: preproc_def
      name: TIFFTAG_FAXMODE
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65536        '
    - item_type: preproc_def
      name: FAXMODE_CLASSIC
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0000       '
    - item_type: preproc_def
      name: FAXMODE_NORTC
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0001         '
    - item_type: preproc_def
      name: FAXMODE_NOEOL
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0002         '
    - item_type: preproc_def
      name: FAXMODE_BYTEALIGN
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0004     '
    - item_type: preproc_def
      name: FAXMODE_WORDALIGN
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0008     '
    - item_type: preproc_def
      name: FAXMODE_CLASSF
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: 'FAXMODE_NORTC '
    - item_type: preproc_def
      name: TIFFTAG_JPEGQUALITY
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65537    '
    - item_type: preproc_def
      name: TIFFTAG_JPEGCOLORMODE
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65538  '
    - item_type: preproc_def
      name: JPEGCOLORMODE_RAW
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0000     '
    - item_type: preproc_def
      name: JPEGCOLORMODE_RGB
      pos:
        line_end: 708
        line_start: 707
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0001     '
    - item_type: preproc_def
      name: TIFFTAG_JPEGTABLESMODE
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65539 '
    - item_type: preproc_def
      name: JPEGTABLESMODE_QUANT
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0001  '
    - item_type: preproc_def
      name: JPEGTABLESMODE_HUFF
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0002   '
    - item_type: preproc_def
      name: TIFFTAG_FAXFILLFUNC
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65540     '
    - item_type: preproc_def
      name: TIFFTAG_PIXARLOGDATAFMT
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65549 '
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_8BIT
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0        '
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_8BITABGR
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_11BITLOG
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2    '
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_12BITPICIO
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_16BIT
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4       '
    - item_type: preproc_def
      name: PIXARLOGDATAFMT_FLOAT
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5       '
    - item_type: preproc_def
      name: TIFFTAG_DCSIMAGERTYPE
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65550     '
    - item_type: preproc_def
      name: DCSIMAGERMODEL_M3
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0             '
    - item_type: preproc_def
      name: DCSIMAGERMODEL_M5
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1             '
    - item_type: preproc_def
      name: DCSIMAGERMODEL_M6
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2             '
    - item_type: preproc_def
      name: DCSIMAGERFILTER_IR
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0            '
    - item_type: preproc_def
      name: DCSIMAGERFILTER_MONO
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1          '
    - item_type: preproc_def
      name: DCSIMAGERFILTER_CFA
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2           '
    - item_type: preproc_def
      name: DCSIMAGERFILTER_OTHER
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3         '
    - item_type: preproc_def
      name: TIFFTAG_DCSINTERPMODE
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65551     '
    - item_type: preproc_def
      name: DCSINTERPMODE_NORMAL
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x0        '
    - item_type: preproc_def
      name: DCSINTERPMODE_PREVIEW
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0x1       '
    - item_type: preproc_def
      name: TIFFTAG_DCSBALANCEARRAY
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65552   '
    - item_type: preproc_def
      name: TIFFTAG_DCSCORRECTMATRIX
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65553  '
    - item_type: preproc_def
      name: TIFFTAG_DCSGAMMA
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65554          '
    - item_type: preproc_def
      name: TIFFTAG_DCSTOESHOULDERPTS
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65555 '
    - item_type: preproc_def
      name: TIFFTAG_DCSCALIBRATIONFD
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65556  '
    - item_type: preproc_def
      name: TIFFTAG_ZIPQUALITY
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65557      '
    - item_type: preproc_def
      name: TIFFTAG_PIXARLOGQUALITY
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65558 '
    - item_type: preproc_def
      name: TIFFTAG_DCSCLIPRECTANGLE
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65559 '
    - item_type: preproc_def
      name: TIFFTAG_SGILOGDATAFMT
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65560    '
    - item_type: preproc_def
      name: SGILOGDATAFMT_FLOAT
      pos:
        line_end: 744
        line_start: 743
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0          '
    - item_type: preproc_def
      name: SGILOGDATAFMT_16BIT
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1          '
    - item_type: preproc_def
      name: SGILOGDATAFMT_RAW
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2            '
    - item_type: preproc_def
      name: SGILOGDATAFMT_8BIT
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3           '
    - item_type: preproc_def
      name: TIFFTAG_SGILOGENCODE
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65561     '
    - item_type: preproc_def
      name: SGILOGENCODE_NODITHER
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0        '
    - item_type: preproc_def
      name: SGILOGENCODE_RANDITHER
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: TIFFTAG_LZMAPRESET
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65562       '
    - item_type: preproc_def
      name: TIFFTAG_PERSAMPLE
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65563        '
    - item_type: preproc_def
      name: PERSAMPLE_MERGED
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0             '
    - item_type: preproc_def
      name: PERSAMPLE_MULTI
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1              '
    - item_type: preproc_def
      name: TIFFTAG_ZSTD_LEVEL
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65564       '
    - item_type: preproc_def
      name: TIFFTAG_LERC_VERSION
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65565     '
    - item_type: preproc_def
      name: LERC_VERSION_2_4
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TIFFTAG_LERC_ADD_COMPRESSION
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65566 '
    - item_type: preproc_def
      name: LERC_ADD_COMPRESSION_NONE
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LERC_ADD_COMPRESSION_DEFLATE
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LERC_ADD_COMPRESSION_ZSTD
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TIFFTAG_LERC_MAXZERROR
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65567   '
    - item_type: preproc_def
      name: TIFFTAG_WEBP_LEVEL
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65568       '
    - item_type: preproc_def
      name: TIFFTAG_WEBP_LOSSLESS
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65569    '
    - item_type: preproc_def
      name: TIFFTAG_WEBP_LOSSLESS_EXACT
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65571  '
    - item_type: preproc_def
      name: TIFFTAG_DEFLATE_SUBCODEC
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '65570 '
    - item_type: preproc_def
      name: DEFLATE_SUBCODEC_ZLIB
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFLATE_SUBCODEC_LIBDEFLATE
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EXIFTAG_EXPOSURETIME
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33434             '
    - item_type: preproc_def
      name: EXIFTAG_FNUMBER
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '33437                  '
    - item_type: preproc_def
      name: EXIFTAG_EXPOSUREPROGRAM
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34850          '
    - item_type: preproc_def
      name: EXIFTAG_SPECTRALSENSITIVITY
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34852      '
    - item_type: preproc_def
      name: EXIFTAG_ISOSPEEDRATINGS
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34855          '
    - item_type: preproc_def
      name: EXIFTAG_PHOTOGRAPHICSENSITIVITY
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34855  '
    - item_type: preproc_def
      name: EXIFTAG_OECF
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34856                     '
    - item_type: preproc_def
      name: EXIFTAG_EXIFVERSION
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36864              '
    - item_type: preproc_def
      name: EXIFTAG_DATETIMEORIGINAL
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36867         '
    - item_type: preproc_def
      name: EXIFTAG_DATETIMEDIGITIZED
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36868        '
    - item_type: preproc_def
      name: EXIFTAG_COMPONENTSCONFIGURATION
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37121  '
    - item_type: preproc_def
      name: EXIFTAG_COMPRESSEDBITSPERPIXEL
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37122   '
    - item_type: preproc_def
      name: EXIFTAG_SHUTTERSPEEDVALUE
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37377        '
    - item_type: preproc_def
      name: EXIFTAG_APERTUREVALUE
      pos:
        line_end: 788
        line_start: 787
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37378            '
    - item_type: preproc_def
      name: EXIFTAG_BRIGHTNESSVALUE
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37379          '
    - item_type: preproc_def
      name: EXIFTAG_EXPOSUREBIASVALUE
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37380        '
    - item_type: preproc_def
      name: EXIFTAG_MAXAPERTUREVALUE
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37381         '
    - item_type: preproc_def
      name: EXIFTAG_SUBJECTDISTANCE
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37382          '
    - item_type: preproc_def
      name: EXIFTAG_METERINGMODE
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37383             '
    - item_type: preproc_def
      name: EXIFTAG_LIGHTSOURCE
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37384              '
    - item_type: preproc_def
      name: EXIFTAG_FLASH
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37385                    '
    - item_type: preproc_def
      name: EXIFTAG_FOCALLENGTH
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37386              '
    - item_type: preproc_def
      name: EXIFTAG_SUBJECTAREA
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37396              '
    - item_type: preproc_def
      name: EXIFTAG_MAKERNOTE
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37500                '
    - item_type: preproc_def
      name: EXIFTAG_USERCOMMENT
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37510              '
    - item_type: preproc_def
      name: EXIFTAG_SUBSECTIME
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37520               '
    - item_type: preproc_def
      name: EXIFTAG_SUBSECTIMEORIGINAL
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37521       '
    - item_type: preproc_def
      name: EXIFTAG_SUBSECTIMEDIGITIZED
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37522      '
    - item_type: preproc_def
      name: EXIFTAG_FLASHPIXVERSION
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '40960          '
    - item_type: preproc_def
      name: EXIFTAG_COLORSPACE
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '40961               '
    - item_type: preproc_def
      name: EXIFTAG_PIXELXDIMENSION
      pos:
        line_end: 805
        line_start: 804
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '40962          '
    - item_type: preproc_def
      name: EXIFTAG_PIXELYDIMENSION
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '40963          '
    - item_type: preproc_def
      name: EXIFTAG_RELATEDSOUNDFILE
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '40964         '
    - item_type: preproc_def
      name: EXIFTAG_FLASHENERGY
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41483              '
    - item_type: preproc_def
      name: EXIFTAG_SPATIALFREQUENCYRESPONSE
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41484 '
    - item_type: preproc_def
      name: EXIFTAG_FOCALPLANEXRESOLUTION
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41486    '
    - item_type: preproc_def
      name: EXIFTAG_FOCALPLANEYRESOLUTION
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41487    '
    - item_type: preproc_def
      name: EXIFTAG_FOCALPLANERESOLUTIONUNIT
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41488 '
    - item_type: preproc_def
      name: EXIFTAG_SUBJECTLOCATION
      pos:
        line_end: 813
        line_start: 812
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41492          '
    - item_type: preproc_def
      name: EXIFTAG_EXPOSUREINDEX
      pos:
        line_end: 814
        line_start: 813
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41493            '
    - item_type: preproc_def
      name: EXIFTAG_SENSINGMETHOD
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41495            '
    - item_type: preproc_def
      name: EXIFTAG_FILESOURCE
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41728               '
    - item_type: preproc_def
      name: EXIFTAG_SCENETYPE
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41729                '
    - item_type: preproc_def
      name: EXIFTAG_CFAPATTERN
      pos:
        line_end: 818
        line_start: 817
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41730               '
    - item_type: preproc_def
      name: EXIFTAG_CUSTOMRENDERED
      pos:
        line_end: 819
        line_start: 818
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41985           '
    - item_type: preproc_def
      name: EXIFTAG_EXPOSUREMODE
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41986             '
    - item_type: preproc_def
      name: EXIFTAG_WHITEBALANCE
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41987             '
    - item_type: preproc_def
      name: EXIFTAG_DIGITALZOOMRATIO
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41988         '
    - item_type: preproc_def
      name: EXIFTAG_FOCALLENGTHIN35MMFILM
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41989    '
    - item_type: preproc_def
      name: EXIFTAG_SCENECAPTURETYPE
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41990         '
    - item_type: preproc_def
      name: EXIFTAG_GAINCONTROL
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41991              '
    - item_type: preproc_def
      name: EXIFTAG_CONTRAST
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41992                 '
    - item_type: preproc_def
      name: EXIFTAG_SATURATION
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41993               '
    - item_type: preproc_def
      name: EXIFTAG_SHARPNESS
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41994                '
    - item_type: preproc_def
      name: EXIFTAG_DEVICESETTINGDESCRIPTION
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41995 '
    - item_type: preproc_def
      name: EXIFTAG_SUBJECTDISTANCERANGE
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '41996     '
    - item_type: preproc_def
      name: EXIFTAG_IMAGEUNIQUEID
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42016            '
    - item_type: preproc_def
      name: EXIFTAG_SENSITIVITYTYPE
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34864           '
    - item_type: preproc_def
      name: EXIFTAG_STANDARDOUTPUTSENSITIVITY
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34865 '
    - item_type: preproc_def
      name: EXIFTAG_RECOMMENDEDEXPOSUREINDEX
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34866  '
    - item_type: preproc_def
      name: EXIFTAG_ISOSPEED
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34867                  '
    - item_type: preproc_def
      name: EXIFTAG_ISOSPEEDLATITUDEYYY
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34868       '
    - item_type: preproc_def
      name: EXIFTAG_ISOSPEEDLATITUDEZZZ
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '34869       '
    - item_type: preproc_def
      name: EXIFTAG_OFFSETTIME
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36880                '
    - item_type: preproc_def
      name: EXIFTAG_OFFSETTIMEORIGINAL
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36881        '
    - item_type: preproc_def
      name: EXIFTAG_OFFSETTIMEDIGITIZED
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '36882       '
    - item_type: preproc_def
      name: EXIFTAG_TEMPERATURE
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37888               '
    - item_type: preproc_def
      name: EXIFTAG_HUMIDITY
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37889                  '
    - item_type: preproc_def
      name: EXIFTAG_PRESSURE
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37890                  '
    - item_type: preproc_def
      name: EXIFTAG_WATERDEPTH
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37891                '
    - item_type: preproc_def
      name: EXIFTAG_ACCELERATION
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37892              '
    - item_type: preproc_def
      name: EXIFTAG_CAMERAELEVATIONANGLE
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '37893'
    - item_type: preproc_def
      name: EXIFTAG_CAMERAOWNERNAME
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42032  '
    - item_type: preproc_def
      name: EXIFTAG_BODYSERIALNUMBER
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42033 '
    - item_type: preproc_def
      name: EXIFTAG_LENSSPECIFICATION
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42034'
    - item_type: preproc_def
      name: EXIFTAG_LENSMAKE
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42035                            '
    - item_type: preproc_def
      name: EXIFTAG_LENSMODEL
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42036                           '
    - item_type: preproc_def
      name: EXIFTAG_LENSSERIALNUMBER
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42037                    '
    - item_type: preproc_def
      name: EXIFTAG_GAMMA
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42240                               '
    - item_type: preproc_def
      name: EXIFTAG_COMPOSITEIMAGE
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42080                      '
    - item_type: preproc_def
      name: EXIFTAG_SOURCEIMAGENUMBEROFCOMPOSITEIMAGE
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42081   '
    - item_type: preproc_def
      name: EXIFTAG_SOURCEEXPOSURETIMESOFCOMPOSITEIMAGE
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '42082 '
    - item_type: preproc_def
      name: GPSTAG_VERSIONID
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '0             '
    - item_type: preproc_def
      name: GPSTAG_LATITUDEREF
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '1           '
    - item_type: preproc_def
      name: GPSTAG_LATITUDE
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '2              '
    - item_type: preproc_def
      name: GPSTAG_LONGITUDEREF
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '3          '
    - item_type: preproc_def
      name: GPSTAG_LONGITUDE
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '4             '
    - item_type: preproc_def
      name: GPSTAG_ALTITUDEREF
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '5           '
    - item_type: preproc_def
      name: GPSTAG_ALTITUDE
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '6              '
    - item_type: preproc_def
      name: GPSTAG_TIMESTAMP
      pos:
        line_end: 874
        line_start: 873
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '7             '
    - item_type: preproc_def
      name: GPSTAG_SATELLITES
      pos:
        line_end: 875
        line_start: 874
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '8            '
    - item_type: preproc_def
      name: GPSTAG_STATUS
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '9                '
    - item_type: preproc_def
      name: GPSTAG_MEASUREMODE
      pos:
        line_end: 877
        line_start: 876
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '10          '
    - item_type: preproc_def
      name: GPSTAG_DOP
      pos:
        line_end: 878
        line_start: 877
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '11                  '
    - item_type: preproc_def
      name: GPSTAG_SPEEDREF
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '12             '
    - item_type: preproc_def
      name: GPSTAG_SPEED
      pos:
        line_end: 880
        line_start: 879
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '13                '
    - item_type: preproc_def
      name: GPSTAG_TRACKREF
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '14             '
    - item_type: preproc_def
      name: GPSTAG_TRACK
      pos:
        line_end: 882
        line_start: 881
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '15                '
    - item_type: preproc_def
      name: GPSTAG_IMGDIRECTIONREF
      pos:
        line_end: 883
        line_start: 882
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '16      '
    - item_type: preproc_def
      name: GPSTAG_IMGDIRECTION
      pos:
        line_end: 884
        line_start: 883
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '17         '
    - item_type: preproc_def
      name: GPSTAG_MAPDATUM
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '18             '
    - item_type: preproc_def
      name: GPSTAG_DESTLATITUDEREF
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '19      '
    - item_type: preproc_def
      name: GPSTAG_DESTLATITUDE
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '20         '
    - item_type: preproc_def
      name: GPSTAG_DESTLONGITUDEREF
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '21     '
    - item_type: preproc_def
      name: GPSTAG_DESTLONGITUDE
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '22        '
    - item_type: preproc_def
      name: GPSTAG_DESTBEARINGREF
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '23       '
    - item_type: preproc_def
      name: GPSTAG_DESTBEARING
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '24          '
    - item_type: preproc_def
      name: GPSTAG_DESTDISTANCEREF
      pos:
        line_end: 892
        line_start: 891
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '25      '
    - item_type: preproc_def
      name: GPSTAG_DESTDISTANCE
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '26         '
    - item_type: preproc_def
      name: GPSTAG_PROCESSINGMETHOD
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '27     '
    - item_type: preproc_def
      name: GPSTAG_AREAINFORMATION
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '28      '
    - item_type: preproc_def
      name: GPSTAG_DATESTAMP
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '29            '
    - item_type: preproc_def
      name: GPSTAG_DIFFERENTIAL
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '30         '
    - item_type: preproc_def
      name: GPSTAG_GPSHPOSITIONINGERROR
      pos:
        line_end: 898
        line_start: 897
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type_or_value: '31 '
    structs:
    - fields:
      - name: tiff_magic
        type: uint16_t
      - name: tiff_version
        type: uint16_t
      item_type: struct
      name: TIFFHeaderCommon
      pos:
        line_end: 108
        line_start: 104
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
    - fields:
      - name: tiff_magic
        type: uint16_t
      - name: tiff_version
        type: uint16_t
      - name: tiff_diroff
        type: uint32_t
      item_type: struct
      name: TIFFHeaderClassic
      pos:
        line_end: 114
        line_start: 109
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
    - fields:
      - name: tiff_magic
        type: uint16_t
      - name: tiff_version
        type: uint16_t
      - name: tiff_offsetsize
        type: uint16_t
      - name: tiff_unused
        type: uint16_t
      - name: tiff_diroff
        type: uint64_t
      item_type: struct
      name: TIFFHeaderBig
      pos:
        line_end: 122
        line_start: 115
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
    typedefs:
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: TIFF_MSC_DEPRECATED
    - item_type: typedef
      name: uint16_vap
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/PROJ/libtiff/libtiff/tiff.h
      type: int
    union: []
- function_names:
  - PredictorState
  - PredictorSetup
  - PredictorSetupDecode
  - PredictorSetupEncode
  - REPEAT4
  - PredictorDecodeRow
  - PredictorDecodeTile
  - horDiff8
  - horDiff16
  - swabHorDiff16
  - horDiff32
  - swabHorDiff32
  - horDiff64
  - swabHorDiff64
  - fpDiff
  - PredictorEncodeRow
  - PredictorEncodeTile
  - PredictorVSetField
  - PredictorVGetField
  - PredictorPrintDir
  - TIFFPredictorInit
  - TIFFPredictorCleanup
  source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OP
      pos:
        line_end: 561
        line_start: 555
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
      type_or_value: "do                                                                         \\\n
        \   {                                                                          \\\n
        \       cp[1] = (uint8_t)((cp[1] + cp[0]) & 0xff);                             \\\n
        \       ++cp;                                                                  \\\n
        \   } while (0)"
    - item_type: preproc_def
      name: FIELD_PREDICTOR
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.c
      type_or_value: '(FIELD_CODEC + 0) '
    structs: []
    typedefs: []
    union: []
- function_names:
  - SETJMP
  - LONGJMP
  - JState
  - TIFFjpeg_error_exit
  - TIFFjpeg_output_message
  - TIFFjpeg_progress_monitor
  - CALLJPEG
  - CALLVJPEG
  - TIFFjpeg_create_compress
  - TIFFjpeg_create_decompress
  - TIFFjpeg_set_defaults
  - TIFFjpeg_set_colorspace
  - TIFFjpeg_set_quality
  - TIFFjpeg_suppress_tables
  - TIFFjpeg_start_compress
  - TIFFjpeg_write_scanlines
  - TIFFjpeg_write_raw_data
  - TIFFjpeg_finish_compress
  - TIFFjpeg_write_tables
  - TIFFjpeg_read_header
  - TIFFjpeg_has_multiple_scans
  - TIFFjpeg_start_decompress
  - TIFFjpeg_read_scanlines
  - TIFFjpeg_read_raw_data
  - TIFFjpeg_finish_decompress
  - TIFFjpeg_abort
  - TIFFjpeg_destroy
  - TIFFjpeg_alloc_sarray
  - std_init_destination
  - std_empty_output_buffer
  - std_term_destination
  - TIFFjpeg_data_dest
  - tables_init_destination
  - tables_empty_output_buffer
  - tables_term_destination
  - TIFFjpeg_tables_dest
  - std_init_source
  - std_fill_input_buffer
  - std_skip_input_data
  - std_term_source
  - TIFFjpeg_data_src
  - tables_init_source
  - TIFFjpeg_tables_src
  - alloc_downsampled_buffers
  - JPEGFixupTags
  - JPEGFixupTagsSubsampling
  - JPEGFixupTagsSubsamplingSec
  - JPEGFixupTagsSubsamplingReadByte
  - JPEGFixupTagsSubsamplingReadWord
  - JPEGFixupTagsSubsamplingSkip
  - JPEGSetupDecode
  - TIFFJPEGIsFullStripRequired
  - JPEGPreDecode
  - JPEGDecode
  - JPEGDecode
  - DecodeRowError
  - JPEGDecodeRaw
  - unsuppress_quant_table
  - suppress_quant_table
  - unsuppress_huff_table
  - suppress_huff_table
  - prepare_JPEGTables
  - TIFF_std_huff_tables
  - JPEGSetupEncode
  - JPEGPreEncode
  - JPEGEncode
  - JPEGEncodeRaw
  - JPEGPostEncode
  - JPEGCleanup
  - JPEGResetUpsampled
  - JPEGVSetField
  - JPEGVGetField
  - JPEGPrintDir
  - JPEGDefaultStripSize
  - JPEGDefaultTileSize
  - JPEGInitializeLibJPEG
  - TIFFInitJPEGCommon
  - TIFFInitJPEG
  source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BITS_IN_JSAMPLE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '12'
    - item_type: preproc_def
      name: TIFF_JSAMPLE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: J12SAMPLE
    - item_type: preproc_def
      name: TIFF_JSAMPARRAY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: J12SAMPARRAY
    - item_type: preproc_def
      name: TIFF_JSAMPIMAGE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: J12SAMPIMAGE
    - item_type: preproc_def
      name: TIFF_JSAMPROW
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: J12SAMPROW
    - item_type: preproc_def
      name: BITS_IN_JSAMPLE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '8'
    - item_type: preproc_def
      name: TIFF_JSAMPLE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPLE
    - item_type: preproc_def
      name: TIFF_JSAMPARRAY
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPARRAY
    - item_type: preproc_def
      name: TIFF_JSAMPIMAGE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPIMAGE
    - item_type: preproc_def
      name: TIFF_JSAMPROW
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPROW
    - item_type: preproc_def
      name: TIFF_JSAMPLE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPLE
    - item_type: preproc_def
      name: TIFF_JSAMPARRAY
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPARRAY
    - item_type: preproc_def
      name: TIFF_JSAMPIMAGE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPIMAGE
    - item_type: preproc_def
      name: TIFF_JSAMPROW
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: JSAMPROW
    - item_type: preproc_def
      name: JPEG_LIB_MK1_OR_12BIT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JPEG_LIB_MK1_OR_12BIT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '1'
    - item_type: preproc_def
      name: width_in_blocks
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: width_in_data_units
    - item_type: preproc_def
      name: JMP_BUF
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: jmp_buf
    - item_type: preproc_def
      name: FIELD_JPEGTABLES
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: (FIELD_CODEC + 0)
    - item_type: preproc_def
      name: JPEG_MARKER_SOF0
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xC0'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF1
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xC1'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF2
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xC2'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF9
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xC9'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF10
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xCA'
    - item_type: preproc_def
      name: JPEG_MARKER_DHT
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xC4'
    - item_type: preproc_def
      name: JPEG_MARKER_SOI
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xD8'
    - item_type: preproc_def
      name: JPEG_MARKER_SOS
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xDA'
    - item_type: preproc_def
      name: JPEG_MARKER_DQT
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xDB'
    - item_type: preproc_def
      name: JPEG_MARKER_DRI
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xDD'
    - item_type: preproc_def
      name: JPEG_MARKER_APP0
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xE0'
    - item_type: preproc_def
      name: JPEG_MARKER_COM
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '0xFE'
    - item_type: preproc_def
      name: TIFF_JPEG_MAX_MEMORY_TO_USE
      pos:
        line_end: 2767
        line_start: 2766
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: SIZE_OF_JPEGTABLES
      pos:
        line_end: 2890
        line_start: 2889
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type_or_value: '2000'
    structs:
    - fields:
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      - name: printdir
        type: TIFFPrintMethod
      - name: defsparent
        type: TIFFStripMethod
      - name: deftparent
        type: TIFFTileMethod
      - name: '*jpegtables'
        type: void
      - name: jpegtables_length
        type: uint32_t
      - name: jpegquality
        type: int
      - name: jpegcolormode
        type: int
      - name: jpegtablesmode
        type: int
      - name: ycbcrsampling_fetched
        type: int
      - name: max_allowed_scan_number
        type: int
      - name: has_warned_about_progressive_mode
        type: int
      item_type: struct
      name: JPEGOtherSettings
      pos:
        line_end: 67
        line_start: 49
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    - fields:
      - name: cinfo
        type: "union\n    {\n        struct jpeg_compress_struct c;\n        struct
          jpeg_decompress_struct d;\n        struct jpeg_common_struct comm;\n    }"
      - name: cinfo_initialized
        type: int
      - name: err
        type: jpeg_error_mgr
      - name: exit_jmpbuf
        type: JMP_BUF
      - name: progress
        type: struct jpeg_progress_mgr
      - name: dest
        type: jpeg_destination_mgr
      - name: src
        type: jpeg_source_mgr
      - name: '*tif'
        type: TIFF
      - name: photometric
        type: uint16_t
      - name: h_sampling
        type: uint16_t
      - name: v_sampling
        type: uint16_t
      - name: bytesperline
        type: tmsize_t
      - name: ds_buffer[MAX_COMPONENTS]
        type: TIFF_JSAMPARRAY
      - name: scancount
        type: int
      - name: samplesperclump
        type: int
      - name: otherSettings
        type: JPEGOtherSettings
      - name: encode_raw_error
        type: int
      item_type: struct
      name: JPEGState
      pos:
        line_end: 210
        line_start: 176
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    - fields:
      - name: '*tif'
        type: TIFF
      - name: '*buffer'
        type: void
      - name: buffersize
        type: uint32_t
      - name: '*buffercurrentbyte'
        type: uint8_t
      - name: bufferbytesleft
        type: uint32_t
      - name: fileoffset
        type: uint64_t
      - name: filebytesleft
        type: uint64_t
      - name: filepositioned
        type: uint8_t
      item_type: struct
      name: JPEGFixupTagsSubsamplingData
      pos:
        line_end: 770
        line_start: 760
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
    typedefs:
    - item_type: typedef
      name: jpeg_destination_mgr
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type: jpeg_destination_mgr
    - item_type: typedef
      name: jpeg_source_mgr
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type: jpeg_source_mgr
    - item_type: typedef
      name: jpeg_error_mgr
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg.c
      type: jpeg_error_mgr
    union: []
- function_names:
  - TIFFComputeStrip
  - TIFFNumberOfStrips
  - TIFFVStripSize64
  - TIFFVStripSize
  - TIFFRawStripSize64
  - TIFFRawStripSize
  - TIFFStripSize64
  - TIFFStripSize
  - TIFFDefaultStripSize
  - _TIFFDefaultStripSize
  - TIFFScanlineSize64
  - TIFFScanlineSize
  - TIFFRasterScanlineSize64
  - TIFFRasterScanlineSize
  source_file: /src/PROJ/libtiff/libtiff/tif_strip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - td_lfind
  - _TIFFGetFields
  - _TIFFGetExifFields
  - _TIFFGetGpsFields
  - _TIFFSetupFields
  - tagCompare
  - tagNameCompare
  - _TIFFMergeFields
  - _TIFFPrintFieldInfo
  - TIFFDataWidth
  - TIFFFieldSetGetSize
  - TIFFFieldSetGetCountSize
  - TIFFFindField
  - _TIFFFindFieldByName
  - TIFFFieldWithTag
  - TIFFFieldWithName
  - TIFFFieldTag
  - TIFFFieldName
  - TIFFFieldDataType
  - TIFFFieldPassCount
  - TIFFFieldReadCount
  - TIFFFieldWriteCount
  - TIFFFieldIsAnonymous
  - _TIFFFindOrRegisterField
  - _TIFFCreateAnonField
  - _TIFFSetGetType
  - TIFFMergeFieldInfo
  - _TIFFCheckFieldIsValidForCodec
  source_file: /src/PROJ/libtiff/libtiff/tif_dirinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFSetErrorHandler
  - TIFFSetErrorHandlerExt
  - TIFFError
  - TIFFErrorExt
  - _TIFFErrorEarly
  - TIFFErrorExtR
  source_file: /src/PROJ/libtiff/libtiff/tif_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SAFE_MSG
  - GetZIPState
  - ZIPDecoderState
  - ZIPEncoderState
  - ZIPFixupTags
  - ZIPSetupDecode
  - TIFF_MIN_UINT64
  - TIFF_CLAMP_UINT64_TO_INT32_MAX
  - ZIPPreDecode
  - ZIPDecode
  - ZIPSetupEncode
  - ZIPPreEncode
  - ZIPEncode
  - ZIPPostEncode
  - ZIPCleanup
  - ZIPVSetField
  - ZIPVGetField
  - TIFF_zalloc
  - TIFF_zfree
  - TIFFInitZIP
  source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBDEFLATE_MAX_COMPRESSION_LEVEL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
      type_or_value: '12'
    - item_type: preproc_def
      name: ZSTATE_INIT_DECODE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ZSTATE_INIT_ENCODE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: predict
        type: TIFFPredictorState
      - name: stream
        type: z_stream
      - name: read_error
        type: int
      - name: zipquality
        type: int
      - name: state
        type: int
      - name: subcodec
        type: int
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      item_type: struct
      name: ZIPState
      pos:
        line_end: 85
        line_start: 65
        source_file: /src/PROJ/libtiff/libtiff/tif_zip.c
    typedefs: []
    union: []
- function_names:
  - TIFFReadUInt64
  - TIFFReadDirEntryByte
  - TIFFReadDirEntrySbyte
  - TIFFReadDirEntryShort
  - TIFFReadDirEntrySshort
  - TIFFReadDirEntryLong
  - TIFFReadDirEntrySlong
  - TIFFReadDirEntryLong8
  - TIFFReadDirEntrySlong8
  - TIFFReadDirEntryFloat
  - TIFFReadDirEntryDouble
  - TIFFReadDirEntryIfd8
  - TIFFReadDirEntryDataAndRealloc
  - TIFFReadDirEntryArrayWithLimit
  - TIFFReadDirEntryArray
  - TIFFReadDirEntryByteArray
  - TIFFReadDirEntrySbyteArray
  - TIFFReadDirEntryShortArray
  - TIFFReadDirEntrySshortArray
  - TIFFReadDirEntryLongArray
  - TIFFReadDirEntrySlongArray
  - TIFFReadDirEntryLong8ArrayWithLimit
  - TIFFReadDirEntryLong8Array
  - TIFFReadDirEntrySlong8Array
  - TIFFReadDirEntryFloatArray
  - TIFFReadDirEntryDoubleArray
  - TIFFReadDirEntryIfd8Array
  - TIFFReadDirEntryPersampleShort
  - TIFFReadDirEntryCheckedByte
  - TIFFReadDirEntryCheckedSbyte
  - TIFFReadDirEntryCheckedShort
  - TIFFReadDirEntryCheckedSshort
  - TIFFReadDirEntryCheckedLong
  - TIFFReadDirEntryCheckedSlong
  - TIFFReadDirEntryCheckedLong8
  - TIFFReadDirEntryCheckedSlong8
  - TIFFReadDirEntryCheckedRational
  - TIFFReadDirEntryCheckedSrational
  - TIFFReadDirEntryCheckedRationalDirect
  - TIFFReadDirEntryCheckedFloat
  - TIFFReadDirEntryCheckedDouble
  - TIFFReadDirEntryCheckRangeByteSbyte
  - TIFFReadDirEntryCheckRangeByteShort
  - TIFFReadDirEntryCheckRangeByteSshort
  - TIFFReadDirEntryCheckRangeByteLong
  - TIFFReadDirEntryCheckRangeByteSlong
  - TIFFReadDirEntryCheckRangeByteLong8
  - TIFFReadDirEntryCheckRangeByteSlong8
  - TIFFReadDirEntryCheckRangeSbyteByte
  - TIFFReadDirEntryCheckRangeSbyteShort
  - TIFFReadDirEntryCheckRangeSbyteSshort
  - TIFFReadDirEntryCheckRangeSbyteLong
  - TIFFReadDirEntryCheckRangeSbyteSlong
  - TIFFReadDirEntryCheckRangeSbyteLong8
  - TIFFReadDirEntryCheckRangeSbyteSlong8
  - TIFFReadDirEntryCheckRangeShortSbyte
  - TIFFReadDirEntryCheckRangeShortSshort
  - TIFFReadDirEntryCheckRangeShortLong
  - TIFFReadDirEntryCheckRangeShortSlong
  - TIFFReadDirEntryCheckRangeShortLong8
  - TIFFReadDirEntryCheckRangeShortSlong8
  - TIFFReadDirEntryCheckRangeSshortShort
  - TIFFReadDirEntryCheckRangeSshortLong
  - TIFFReadDirEntryCheckRangeSshortSlong
  - TIFFReadDirEntryCheckRangeSshortLong8
  - TIFFReadDirEntryCheckRangeSshortSlong8
  - TIFFReadDirEntryCheckRangeLongSbyte
  - TIFFReadDirEntryCheckRangeLongSshort
  - TIFFReadDirEntryCheckRangeLongSlong
  - TIFFReadDirEntryCheckRangeLongLong8
  - TIFFReadDirEntryCheckRangeLongSlong8
  - TIFFReadDirEntryCheckRangeSlongLong
  - TIFFReadDirEntryCheckRangeSlongLong8
  - TIFFReadDirEntryCheckRangeSlongSlong8
  - TIFFReadDirEntryCheckRangeLong8Sbyte
  - TIFFReadDirEntryCheckRangeLong8Sshort
  - TIFFReadDirEntryCheckRangeLong8Slong
  - TIFFReadDirEntryCheckRangeLong8Slong8
  - TIFFReadDirEntryCheckRangeSlong8Long8
  - TIFFReadDirEntryData
  - TIFFReadDirEntryOutputErr
  - _TIFFGetMaxColorChannels
  - ByteCountLooksBad
  - EvaluateIFDdatasizeReading
  - cmpTIFFEntryOffsetAndLength
  - CalcFinalIFDdatasizeReading
  - TIFFReadDirectory
  - TIFFReadDirectoryCheckOrder
  - TIFFReadDirectoryFindEntry
  - TIFFReadDirectoryFindFieldInfo
  - TIFFReadCustomDirectory
  - TIFFReadEXIFDirectory
  - TIFFReadGPSDirectory
  - EstimateStripByteCounts
  - MissingRequired
  - hashFuncOffsetToNumber
  - equalFuncOffsetToNumber
  - hashFuncNumberToOffset
  - equalFuncNumberToOffset
  - _TIFFCheckDirNumberAndOffset
  - _TIFFGetDirNumberFromOffset
  - _TIFFGetOffsetFromDirNumber
  - _TIFFRemoveEntryFromDirectoryListByOffset
  - CheckDirCount
  - TIFFFetchDirectory
  - TIFFFetchNormalTag
  - TIFFFetchStripThing
  - TIFFFetchSubjectDistance
  - allocChoppedUpStripArrays
  - ChopUpSingleUncompressedStrip
  - TryChopUpUncompressedBigTiff
  - _TIFFUnsanitizedAddUInt64AndInt
  - _TIFFPartialReadStripArray
  - _TIFFFetchStrileValue
  - TIFF_MAX
  - TIFF_MIN
  - _TIFFGetStrileOffsetOrByteCountValue
  - TIFFGetStrileOffset
  - TIFFGetStrileOffsetWithErr
  - TIFFGetStrileByteCount
  - TIFFGetStrileByteCountWithErr
  - _TIFFFillStriles
  - _TIFFFillStrilesInternal
  source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
  types:
    enum:
    - enumerators:
      - name: TIFFReadDirEntryErrOk
        value: '0'
      - name: TIFFReadDirEntryErrType
        value: '2'
      - name: TIFFReadDirEntryErrCount
        value: '1'
      - name: TIFFReadDirEntryErrRange
        value: '4'
      - name: TIFFReadDirEntryErrIo
        value: '3'
      - name: TIFFReadDirEntryErrPsdif
        value: '5'
      - name: TIFFReadDirEntryErrSizesan
        value: '6'
      - name: TIFFReadDirEntryErrAlloc
        value: '7'
      item_type: enum
      name: TIFFReadDirEntryErr
      pos:
        line_end: 66
        line_start: 56
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    preproc_defs:
    - item_type: preproc_def
      name: FAILED_FII
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
      type_or_value: ((uint32_t)-1)
    - item_type: preproc_def
      name: INITIAL_THRESHOLD
      pos:
        line_end: 1185
        line_start: 1184
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
      type_or_value: (1024 * 1024)
    - item_type: preproc_def
      name: THRESHOLD_MULTIPLIER
      pos:
        line_end: 1186
        line_start: 1185
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_THRESHOLD
      pos:
        line_end: 1189
        line_start: 1186
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
      type_or_value: "(THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER
        *      \\\n     INITIAL_THRESHOLD)"
    - item_type: preproc_def
      name: MAX_SIZE_TAG_DATA
      pos:
        line_end: 1251
        line_start: 1250
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
      type_or_value: 2147483647U
    - item_type: preproc_def
      name: IO_CACHE_PAGE_SIZE
      pos:
        line_end: 8046
        line_start: 8045
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: d
        type: double
      - name: l
        type: uint64_t
      - name: i[2]
        type: uint32_t
      - name: s[4]
        type: uint16_t
      - name: c[8]
        type: uint8_t
      item_type: union
      name: _UInt64Aligned_t
      pos:
        line_end: 276
        line_start: 269
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
    - fields:
      - name: f
        type: float
      - name: i
        type: uint32_t
      item_type: union
      name: float_union
      pos:
        line_end: 3510
        line_start: 3506
        source_file: /src/PROJ/libtiff/libtiff/tif_dirread.c
- function_names:
  - _tiffosReadProc
  - _tiffisReadProc
  - _tiffosWriteProc
  - _tiffisWriteProc
  - _tiffosSeekProc
  - _tiffisSeekProc
  - _tiffosSizeProc
  - _tiffisSizeProc
  - _tiffosCloseProc
  - _tiffisCloseProc
  - _tiffDummyMapProcCxx
  - _tiffDummyUnmapProcCxx
  - _tiffStreamOpen
  - TIFFStreamOpen
  - TIFFStreamOpen
  source_file: /src/PROJ/libtiff/libtiff/tif_stream.cxx
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*stream'
        type: istream
      - name: start_pos
        type: ios::pos_type
      item_type: struct
      name: tiffis_data
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    - fields:
      - name: '*stream'
        type: ostream
      - name: start_pos
        type: ios::pos_type
      item_type: struct
      name: tiffos_data
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/PROJ/libtiff/libtiff/tif_stream.cxx
    typedefs: []
    union: []
- function_names:
  - LState
  - DecoderState
  - EncoderState
  - TWebPDatasetWriter
  - TWebPEncode
  - TWebPDecode
  - TWebPFixupTags
  - TWebPSetupDecode
  - TWebPPreDecode
  - TWebPSetupEncode
  - TWebPPreEncode
  - TWebPPostEncode
  - TWebPCleanup
  - TWebPVSetField
  - TWebPVGetField
  - TIFFInitWebP
  source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LSTATE_INIT_DECODE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LSTATE_INIT_ENCODE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: nSamples
        type: uint16_t
      - name: read_error
        type: int
      - name: lossless
        type: int
      - name: lossless_exact
        type: int
      - name: quality_level
        type: int
      - name: sPicture
        type: WebPPicture
      - name: sEncoderConfig
        type: WebPConfig
      - name: '*pBuffer'
        type: uint8_t
      - name: buffer_offset
        type: unsigned int
      - name: buffer_size
        type: unsigned int
      - name: '*psDecoder'
        type: WebPIDecoder
      - name: sDecBuffer
        type: WebPDecBuffer
      - name: last_y
        type: int
      - name: state
        type: int
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      item_type: struct
      name: WebPState
      pos:
        line_end: 69
        line_start: 45
        source_file: /src/PROJ/libtiff/libtiff/tif_webp.c
    typedefs: []
    union: []
- function_names:
  - PackBitsPreEncode
  - PackBitsPostEncode
  - PackBitsEncode
  - PackBitsEncodeChunk
  - PackBitsDecode
  - TIFFInitPackBits
  source_file: /src/PROJ/libtiff/libtiff/tif_packbits.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SETPIXEL
  - ThunderSetupDecode
  - ThunderDecode
  - ThunderDecodeRow
  - TIFFInitThunderScan
  source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THUNDER_DATA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '0x3f '
    - item_type: preproc_def
      name: THUNDER_CODE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '0xc0 '
    - item_type: preproc_def
      name: THUNDER_RUN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '0x00        '
    - item_type: preproc_def
      name: THUNDER_2BITDELTAS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: DELTA2_SKIP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '2           '
    - item_type: preproc_def
      name: THUNDER_3BITDELTAS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '0x80 '
    - item_type: preproc_def
      name: DELTA3_SKIP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '4           '
    - item_type: preproc_def
      name: THUNDER_RAW
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/libtiff/tif_thunder.c
      type_or_value: '0xc0        '
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFGetVersion
  source_file: /src/PROJ/libtiff/libtiff/tif_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _tiffReadProc
  - _tiffWriteProc
  - _tiffSeekProc
  - _tiffCloseProc
  - _tiffSizeProc
  - _tiffMapProc
  - _tiffUnmapProc
  - _tiffMapProc
  - _tiffUnmapProc
  - TIFFFdOpen
  - TIFFFdOpenExt
  - TIFFOpen
  - TIFFOpenExt
  - TIFFOpenW
  - TIFFOpenWExt
  - _TIFFmalloc
  - _TIFFcalloc
  - _TIFFfree
  - _TIFFrealloc
  - _TIFFmemset
  - _TIFFmemcpy
  - _TIFFmemcmp
  - unixWarningHandler
  - unixErrorHandler
  source_file: /src/PROJ/libtiff/libtiff/tif_unix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFF_IO_MAX
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/libtiff/libtiff/tif_unix.c
      type_or_value: 2147483647U
    structs: []
    typedefs: []
    union:
    - fields:
      - name: fd
        type: int
      - name: h
        type: thandle_t
      item_type: union
      name: fd_as_handle_union
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/PROJ/libtiff/libtiff/tif_unix.c
- function_names:
  - TIFFComputeTile
  - TIFFCheckTile
  - TIFFNumberOfTiles
  - TIFFTileRowSize64
  - TIFFTileRowSize
  - TIFFVTileSize64
  - TIFFVTileSize
  - TIFFTileSize64
  - TIFFTileSize
  - TIFFDefaultTileSize
  - _TIFFDefaultTileSize
  source_file: /src/PROJ/libtiff/libtiff/tif_tile.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _TIFFPrintField
  - _TIFFPrettyPrintField
  - TIFFPrintDirectory
  - _TIFFprintAscii
  - _TIFFprintAsciiBounded
  - _TIFFprintAsciiTag
  source_file: /src/PROJ/libtiff/libtiff/tif_print.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NPHOTONAMES
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/libtiff/libtiff/tif_print.c
      type_or_value: (sizeof(photoNames) / sizeof(photoNames[0]))
    - item_type: preproc_def
      name: NORIENTNAMES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/libtiff/libtiff/tif_print.c
      type_or_value: (sizeof(orientNames) / sizeof(orientNames[0]))
    - item_type: preproc_def
      name: NTAGS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/libtiff/libtiff/tif_print.c
      type_or_value: (sizeof(tagnames) / sizeof(tagnames[0]))
    structs:
    - fields:
      - name: tag
        type: uint16_t
      - name: '*name'
        type: char
      item_type: struct
      name: tagname
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PROJ/libtiff/libtiff/tif_print.c
    typedefs: []
    union: []
- function_names:
  - DecoderState
  - EncoderState
  - LogL16Decode
  - LogLuvDecode24
  - LogLuvDecode32
  - LogLuvDecodeStrip
  - LogLuvDecodeTile
  - LogL16Encode
  - LogLuvEncode24
  - LogLuvEncode32
  - LogLuvEncodeStrip
  - LogLuvEncodeTile
  - log2
  - exp2
  - _TIFFRand
  - tiff_itrunc
  - LogL16toY
  - LogL16fromY
  - L16toY
  - L16toGry
  - L16fromY
  - XYZtoRGB24
  - LogL10toY
  - LogL10fromY
  - uv2ang
  - oog_encode
  - uv_encode
  - uv_decode
  - LogLuv24toXYZ
  - LogLuv24fromXYZ
  - Luv24toXYZ
  - Luv24toLuv48
  - Luv24toRGB
  - Luv24fromXYZ
  - Luv24fromLuv48
  - LogLuv32toXYZ
  - LogLuv32fromXYZ
  - Luv32toXYZ
  - Luv32toLuv48
  - Luv32toRGB
  - Luv32fromXYZ
  - Luv32fromLuv48
  - _logLuvNop
  - LogL16GuessDataFmt
  - PACK
  - multiply_ms
  - LogL16InitState
  - LogLuvGuessDataFmt
  - PACK
  - LogLuvInitState
  - LogLuvFixupTags
  - LogLuvSetupDecode
  - LogLuvSetupEncode
  - LogLuvClose
  - LogLuvCleanup
  - LogLuvVSetField
  - LogLuvVGetField
  - TIFFInitSGILog
  source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SGILOGDATAFMT_UNKNOWN
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: MINRUN
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: U_NEU
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '0.210526316'
    - item_type: preproc_def
      name: V_NEU
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '0.473684211'
    - item_type: preproc_def
      name: UVSCALE
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '410.'
    - item_type: preproc_def
      name: M_LN2
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '0.69314718055994530942'
    - item_type: preproc_def
      name: M_PI
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '3.14159265358979323846'
    - item_type: preproc_def
      name: TIFF_RAND_MAX
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: NANGLES
      pos:
        line_end: 904
        line_start: 903
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type_or_value: '100'
    structs:
    - fields:
      - name: encoder_state
        type: int
      - name: user_datafmt
        type: int
      - name: encode_meth
        type: int
      - name: pixel_size
        type: int
      - name: '*tbuf'
        type: uint8_t
      - name: tbuflen
        type: tmsize_t
      - name: (*tfunc)(LogLuvState *, uint8_t *, tmsize_t)
        type: void
      - name: vgetparent
        type: TIFFVSetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      item_type: struct
      name: logLuvState
      pos:
        line_end: 172
        line_start: 159
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
    typedefs:
    - item_type: typedef
      name: LogLuvState
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/PROJ/libtiff/libtiff/tif_luv.c
      type: logLuvState
    union: []
- function_names:
  - BITn
  - BITFIELDn
  - TIFFFieldSet
  - TIFFSetFieldBit
  - TIFFClrFieldBit
  - FieldSet
  - ResetFieldBit
  source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIELDSET_ITEMS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FIELD_IGNORE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FIELD_IMAGEDIMENSIONS
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FIELD_TILEDIMENSIONS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FIELD_RESOLUTION
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FIELD_POSITION
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FIELD_SUBFILETYPE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '5'
    - item_type: preproc_def
      name: FIELD_BITSPERSAMPLE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '6'
    - item_type: preproc_def
      name: FIELD_COMPRESSION
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '7'
    - item_type: preproc_def
      name: FIELD_PHOTOMETRIC
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FIELD_THRESHHOLDING
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '9'
    - item_type: preproc_def
      name: FIELD_FILLORDER
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '10'
    - item_type: preproc_def
      name: FIELD_ORIENTATION
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '15'
    - item_type: preproc_def
      name: FIELD_SAMPLESPERPIXEL
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '16'
    - item_type: preproc_def
      name: FIELD_ROWSPERSTRIP
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '17'
    - item_type: preproc_def
      name: FIELD_MINSAMPLEVALUE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '18'
    - item_type: preproc_def
      name: FIELD_MAXSAMPLEVALUE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '19'
    - item_type: preproc_def
      name: FIELD_PLANARCONFIG
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '20'
    - item_type: preproc_def
      name: FIELD_RESOLUTIONUNIT
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '22'
    - item_type: preproc_def
      name: FIELD_PAGENUMBER
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '23'
    - item_type: preproc_def
      name: FIELD_STRIPBYTECOUNTS
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '24'
    - item_type: preproc_def
      name: FIELD_STRIPOFFSETS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '25'
    - item_type: preproc_def
      name: FIELD_COLORMAP
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '26'
    - item_type: preproc_def
      name: FIELD_EXTRASAMPLES
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '31'
    - item_type: preproc_def
      name: FIELD_SAMPLEFORMAT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FIELD_SMINSAMPLEVALUE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '33'
    - item_type: preproc_def
      name: FIELD_SMAXSAMPLEVALUE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '34'
    - item_type: preproc_def
      name: FIELD_IMAGEDEPTH
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '35'
    - item_type: preproc_def
      name: FIELD_TILEDEPTH
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '36'
    - item_type: preproc_def
      name: FIELD_HALFTONEHINTS
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '37'
    - item_type: preproc_def
      name: FIELD_YCBCRSUBSAMPLING
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '39'
    - item_type: preproc_def
      name: FIELD_YCBCRPOSITIONING
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '40'
    - item_type: preproc_def
      name: FIELD_REFBLACKWHITE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '41'
    - item_type: preproc_def
      name: FIELD_TRANSFERFUNCTION
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '44'
    - item_type: preproc_def
      name: FIELD_INKNAMES
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '46'
    - item_type: preproc_def
      name: FIELD_SUBIFD
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '49'
    - item_type: preproc_def
      name: FIELD_NUMBEROFINKS
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '50'
    - item_type: preproc_def
      name: FIELD_CODEC
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '66 '
    - item_type: preproc_def
      name: FIELD_PSEUDO
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FIELD_LAST
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
      type_or_value: (32 * FIELDSET_ITEMS - 1)
    structs:
    - fields:
      - name: '*info'
        type: TIFFField
      - name: count
        type: int
      - name: '*value'
        type: void
      item_type: struct
      name: TIFFTagValue
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
    - fields:
      - name: tdir_tag
        type: uint16_t
      - name: tdir_type
        type: uint16_t
      - name: tdir_count
        type: uint64_t
      - name: tdir_offset
        type: "union\n    {\n        uint16_t toff_short;\n        uint32_t toff_long;\n
          \       uint64_t toff_long8;\n    }"
      - name: tdir_ignore
        type: uint8_t
      item_type: struct
      name: TIFFDirEntry
      pos:
        line_end: 65
        line_start: 52
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
    - fields:
      - name: offset
        type: uint64_t
      - name: length
        type: uint64_t
      item_type: struct
      name: TIFFEntryOffsetAndLength
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
    - fields:
      - name: td_fieldsset[FIELDSET_ITEMS]
        type: uint32_t
      - name: td_imagewidth
        type: uint32_t
      - name: td_tilewidth
        type: uint32_t
      - name: td_subfiletype
        type: uint32_t
      - name: td_bitspersample
        type: uint16_t
      - name: td_sampleformat
        type: uint16_t
      - name: td_compression
        type: uint16_t
      - name: td_photometric
        type: uint16_t
      - name: td_threshholding
        type: uint16_t
      - name: td_fillorder
        type: uint16_t
      - name: td_orientation
        type: uint16_t
      - name: td_samplesperpixel
        type: uint16_t
      - name: td_rowsperstrip
        type: uint32_t
      - name: td_minsamplevalue
        type: uint16_t
      - name: '*td_sminsamplevalue'
        type: double
      - name: '*td_smaxsamplevalue'
        type: double
      - name: td_xresolution
        type: float
      - name: td_resolutionunit
        type: uint16_t
      - name: td_planarconfig
        type: uint16_t
      - name: td_xposition
        type: float
      - name: td_pagenumber[2]
        type: uint16_t
      - name: '*td_colormap[3]'
        type: uint16_t
      - name: td_halftonehints[2]
        type: uint16_t
      - name: td_extrasamples
        type: uint16_t
      - name: '*td_sampleinfo'
        type: uint16_t
      - name: td_stripsperimage
        type: uint32_t
      - name: td_nstrips
        type: uint32_t
      - name: '*td_stripoffset_p'
        type: uint64_t
      - name: '*td_stripbytecount_p'
        type: uint64_t
      - name: td_stripoffsetbyteallocsize
        type: uint32_t
      - name: td_stripoffset_entry
        type: TIFFDirEntry
      - name: td_stripbytecount_entry
        type: TIFFDirEntry
      - name: td_nsubifd
        type: uint16_t
      - name: '*td_subifd'
        type: uint64_t
      - name: td_ycbcrsubsampling[2]
        type: uint16_t
      - name: td_ycbcrpositioning
        type: uint16_t
      - name: '*td_transferfunction[3]'
        type: uint16_t
      - name: '*td_refblackwhite'
        type: float
      - name: td_inknameslen
        type: int
      - name: '*td_inknames'
        type: char
      - name: td_numberofinks
        type: uint16_t
      - name: td_customValueCount
        type: int
      - name: '*td_customValues'
        type: TIFFTagValue
      - name: td_deferstrilearraywriting
        type: unsigned char
      - name: td_iswrittentofile
        type: unsigned char
      - name: td_dirdatasize_write
        type: uint64_t
      - name: td_dirdatasize_read
        type: uint64_t
      - name: td_dirdatasize_Noffsets
        type: uint32_t
      - name: '*td_dirdatasize_offsets'
        type: TIFFEntryOffsetAndLength
      item_type: struct
      name: TIFFDirectory
      pos:
        line_end: 164
        line_start: 76
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
    - fields:
      - name: type
        type: TIFFFieldArrayType
      - name: allocated_size
        type: uint32_t
      - name: count
        type: uint32_t
      - name: '*fields'
        type: TIFFField
      item_type: struct
      name: _TIFFFieldArray
      pos:
        line_end: 327
        line_start: 319
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
    - fields:
      - name: field_tag
        type: uint32_t
      - name: field_readcount
        type: short
      - name: field_writecount
        type: short
      - name: field_type
        type: TIFFDataType
      - name: field_anonymous
        type: uint32_t
      - name: set_get_field_type
        type: TIFFSetGetFieldType
      - name: field_bit
        type: unsigned short
      - name: field_oktochange
        type: unsigned char
      - name: field_passcount
        type: unsigned char
      - name: '*field_name'
        type: char
      - name: '*field_subfields'
        type: TIFFFieldArray
      item_type: struct
      name: _TIFFField
      pos:
        line_end: 345
        line_start: 329
        source_file: /src/PROJ/libtiff/libtiff/tif_dir.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/tif_predict.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: predictor
        type: int
      - name: stride
        type: tmsize_t
      - name: rowsize
        type: tmsize_t
      - name: encoderow
        type: TIFFCodeMethod
      - name: encodestrip
        type: TIFFCodeMethod
      - name: encodetile
        type: TIFFCodeMethod
      - name: encodepfunc
        type: TIFFEncodeDecodeMethod
      - name: decoderow
        type: TIFFCodeMethod
      - name: decodestrip
        type: TIFFCodeMethod
      - name: decodetile
        type: TIFFCodeMethod
      - name: decodepfunc
        type: TIFFEncodeDecodeMethod
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      - name: printdir
        type: TIFFPrintMethod
      - name: setupdecode
        type: TIFFBoolMethod
      - name: setupencode
        type: TIFFBoolMethod
      item_type: struct
      name: TIFFPredictorState
      pos:
        line_end: 62
        line_start: 41
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.h
    typedefs:
    - item_type: typedef
      name: (*TIFFEncodeDecodeMethod)(TIFF *tif, uint8_t *buf, tmsize_t size)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PROJ/libtiff/libtiff/tif_predict.h
      type: int
    union: []
- function_names:
  - DumpFixupTags
  - DumpModeEncode
  - DumpModeDecode
  - DumpModeSeek
  - TIFFInitDumpMode
  source_file: /src/PROJ/libtiff/libtiff/tif_dumpmode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GetLZMAState
  - LZMADecoderState
  - LZMAEncoderState
  - LZMAStrerror
  - LZMAFixupTags
  - LZMASetupDecode
  - LZMAPreDecode
  - LZMADecode
  - LZMASetupEncode
  - LZMAPreEncode
  - LZMAEncode
  - LZMAPostEncode
  - LZMACleanup
  - LZMAVSetField
  - LZMAVGetField
  - TIFFInitLZMA
  source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LSTATE_INIT_DECODE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LSTATE_INIT_ENCODE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: predict
        type: TIFFPredictorState
      - name: read_error
        type: int
      - name: stream
        type: lzma_stream
      - name: filters[LZMA_FILTERS_MAX + 1]
        type: lzma_filter
      - name: opt_delta
        type: lzma_options_delta
      - name: opt_lzma
        type: lzma_options_lzma
      - name: preset
        type: int
      - name: check
        type: lzma_check
      - name: state
        type: int
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      item_type: struct
      name: LZMAState
      pos:
        line_end: 60
        line_start: 43
        source_file: /src/PROJ/libtiff/libtiff/tif_lzma.c
    typedefs: []
    union: []
- function_names:
  - GetZSTDState
  - ZSTDDecoderState
  - ZSTDEncoderState
  - ZSTDFixupTags
  - ZSTDSetupDecode
  - ZSTDPreDecode
  - ZSTDDecode
  - ZSTDSetupEncode
  - ZSTDPreEncode
  - ZSTDEncode
  - ZSTDPostEncode
  - ZSTDCleanup
  - ZSTDVSetField
  - ZSTDVGetField
  - TIFFInitZSTD
  source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LSTATE_INIT_DECODE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LSTATE_INIT_ENCODE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: predict
        type: TIFFPredictorState
      - name: '*dstream'
        type: ZSTD_DStream
      - name: '*cstream'
        type: ZSTD_CStream
      - name: compression_level
        type: int
      - name: out_buffer
        type: ZSTD_outBuffer
      - name: state
        type: int
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      item_type: struct
      name: ZSTDState
      pos:
        line_end: 54
        line_start: 41
        source_file: /src/PROJ/libtiff/libtiff/tif_zstd.c
    typedefs: []
    union: []
- function_names:
  - TIFFCIELabToXYZ
  - TIFFCIELab16ToXYZ
  - RINT
  - TIFFXYZToRGB
  - TIFFCIELabToRGBInit
  - FIX
  - Code2V
  - CLAMP
  - HICLAMP
  - TIFFYCbCrtoRGB
  - CLAMPw
  - TIFFYCbCrToRGBInit
  source_file: /src/PROJ/libtiff/libtiff/tif_color.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHIFT
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/libtiff/libtiff/tif_color.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ONE_HALF
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/libtiff/libtiff/tif_color.c
      type_or_value: ((int32_t)(1 << (SHIFT - 1)))
    - item_type: preproc_def
      name: LumaRed
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/libtiff/libtiff/tif_color.c
      type_or_value: luma[0]
    - item_type: preproc_def
      name: LumaGreen
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/PROJ/libtiff/libtiff/tif_color.c
      type_or_value: luma[1]
    - item_type: preproc_def
      name: LumaBlue
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/libtiff/libtiff/tif_color.c
      type_or_value: luma[2]
    structs: []
    typedefs: []
    union: []
- function_names:
  - Fax3State
  - DecoderState
  - EncoderState
  - is2DEncoding
  - isAligned
  - DECLARE_STATE
  - DECLARE_STATE_2D
  - CACHE_STATE
  - UNCACHE_STATE
  - Fax3PreDecode
  - Fax3Unexpected
  - unexpected
  - Fax3Extension
  - extension
  - Fax3BadLength
  - badlength
  - Fax3PrematureEOF
  - prematureEOF
  - Fax3TryG3WithoutEOL
  - tryG3WithoutEOL
  - CheckReachedCounters
  - Fax3Decode1D
  - SWAP
  - Fax3Decode2D
  - FILL
  - ZERO
  - _TIFFFax3fillruns
  - Fax3FixupTags
  - Fax3SetupState
  - Fax3FlushBits
  - _FlushBits
  - _PutBits
  - Fax3PutBits
  - putcode
  - DEBUG_COLOR
  - DEBUG_PRINT
  - putspan
  - Fax3PutEOL
  - Fax3PreEncode
  - find0span
  - find1span
  - finddiff
  - finddiff2
  - Fax3Encode1DRow
  - Fax3Encode2DRow
  - PIXEL
  - Fax3Encode
  - Fax3PostEncode
  - _Fax3Close
  - Fax3Close
  - Fax3Cleanup
  - Fax3VSetField
  - Fax3VGetField
  - Fax3PrintDir
  - InitCCITTFax3
  - TIFFInitCCITTFax3
  - SWAP
  - Fax4Decode
  - Fax4Encode
  - Fax4PostEncode
  - TIFFInitCCITTFax4
  - Fax3DecodeRLE
  - TIFFInitCCITTRLE
  - TIFFInitCCITTRLEW
  source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EOF_REACHED_COUNT_THRESHOLD
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: FIELD_BADFAXLINES
      pos:
        line_end: 1333
        line_start: 1332
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
      type_or_value: (FIELD_CODEC + 0)
    - item_type: preproc_def
      name: FIELD_CLEANFAXDATA
      pos:
        line_end: 1334
        line_start: 1333
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
      type_or_value: (FIELD_CODEC + 1)
    - item_type: preproc_def
      name: FIELD_BADFAXRUN
      pos:
        line_end: 1335
        line_start: 1334
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
      type_or_value: (FIELD_CODEC + 2)
    - item_type: preproc_def
      name: FIELD_OPTIONS
      pos:
        line_end: 1337
        line_start: 1336
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
      type_or_value: (FIELD_CODEC + 7)
    structs:
    - fields:
      - name: rw_mode
        type: int
      - name: mode
        type: int
      - name: rowbytes
        type: tmsize_t
      - name: rowpixels
        type: uint32_t
      - name: cleanfaxdata
        type: uint16_t
      - name: badfaxrun
        type: uint32_t
      - name: badfaxlines
        type: uint32_t
      - name: groupoptions
        type: uint32_t
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      - name: printdir
        type: TIFFPrintMethod
      item_type: struct
      name: Fax3BaseState
      pos:
        line_end: 70
        line_start: 55
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    - fields:
      - name: b
        type: Fax3BaseState
      - name: '*bitmap'
        type: unsigned char
      - name: data
        type: uint32_t
      - name: bit
        type: int
      - name: EOLcnt
        type: int
      - name: eofReachedCount
        type: int
      - name: eolReachedCount
        type: int
      - name: unexpectedReachedCount
        type: int
      - name: fill
        type: TIFFFaxFillFunc
      - name: '*runs'
        type: uint32_t
      - name: nruns
        type: uint32_t
      - name: '*refruns'
        type: uint32_t
      - name: '*curruns'
        type: uint32_t
      - name: tag
        type: Ttag
      - name: '*refline'
        type: unsigned char
      - name: k
        type: int
      - name: maxk
        type: int
      - name: line
        type: int
      item_type: struct
      name: Fax3CodecState
      pos:
        line_end: 106
        line_start: 78
        source_file: /src/PROJ/libtiff/libtiff/tif_fax3.c
    typedefs: []
    union: []
- function_names:
  - TIFFWriteDirectory
  - TIFFDeferStrileArrayWriting
  - TIFFCheckpointDirectory
  - TIFFWriteCustomDirectory
  - TIFFRewriteDirectorySec
  - TIFFRewriteDirectory
  - TIFFWriteDirectorySec
  - TIFFClampDoubleToInt8
  - TIFFClampDoubleToInt16
  - TIFFClampDoubleToInt32
  - TIFFClampDoubleToUInt8
  - TIFFClampDoubleToUInt16
  - TIFFClampDoubleToUInt32
  - TIFFWriteDirectoryTagSampleformatArray
  - TIFFWriteDirectoryTagAscii
  - TIFFWriteDirectoryTagUndefinedArray
  - TIFFWriteDirectoryTagByteArray
  - TIFFWriteDirectoryTagSbyteArray
  - TIFFWriteDirectoryTagShort
  - TIFFWriteDirectoryTagShortArray
  - TIFFWriteDirectoryTagShortPerSample
  - TIFFWriteDirectoryTagSshortArray
  - TIFFWriteDirectoryTagLong
  - TIFFWriteDirectoryTagLongArray
  - TIFFWriteDirectoryTagSlongArray
  - TIFFWriteDirectoryTagLong8Array
  - TIFFWriteDirectoryTagSlong8Array
  - TIFFWriteDirectoryTagRational
  - TIFFWriteDirectoryTagRationalArray
  - TIFFWriteDirectoryTagSrationalArray
  - TIFFWriteDirectoryTagRationalDoubleArray
  - TIFFWriteDirectoryTagSrationalDoubleArray
  - TIFFWriteDirectoryTagFloatArray
  - TIFFWriteDirectoryTagDoubleArray
  - TIFFWriteDirectoryTagIfdArray
  - TIFFWriteDirectoryTagShortLong
  - _WriteAsType
  - WriteAsLong8
  - WriteAsLong4
  - TIFFWriteDirectoryTagLongLong8Array
  - TIFFWriteDirectoryTagIfdIfd8Array
  - EvaluateIFDdatasizeWrite
  - TIFFWriteDirectoryTagColormap
  - TIFFWriteDirectoryTagTransferfunction
  - TIFFWriteDirectoryTagSubifd
  - TIFFWriteDirectoryTagCheckedAscii
  - TIFFWriteDirectoryTagCheckedUndefinedArray
  - TIFFWriteDirectoryTagCheckedByteArray
  - TIFFWriteDirectoryTagCheckedSbyteArray
  - TIFFWriteDirectoryTagCheckedShort
  - TIFFWriteDirectoryTagCheckedShortArray
  - TIFFWriteDirectoryTagCheckedSshortArray
  - TIFFWriteDirectoryTagCheckedLong
  - TIFFWriteDirectoryTagCheckedLongArray
  - TIFFWriteDirectoryTagCheckedSlongArray
  - TIFFWriteDirectoryTagCheckedLong8Array
  - TIFFWriteDirectoryTagCheckedSlong8Array
  - TIFFWriteDirectoryTagCheckedRational
  - TIFFWriteDirectoryTagCheckedRationalArray
  - TIFFWriteDirectoryTagCheckedSrationalArray
  - TIFFWriteDirectoryTagCheckedRationalDoubleArray
  - TIFFWriteDirectoryTagCheckedSrationalDoubleArray
  - ToRationalEuclideanGCD
  - DoubleToRational
  - DoubleToSrational
  - TIFFWriteDirectoryTagCheckedFloatArray
  - TIFFWriteDirectoryTagCheckedDoubleArray
  - TIFFWriteDirectoryTagCheckedIfdArray
  - TIFFWriteDirectoryTagCheckedIfd8Array
  - TIFFWriteDirectoryTagData
  - TIFFLinkDirectory
  - _TIFFRewriteField
  source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ITERATIONS
      pos:
        line_end: 2756
        line_start: 2755
        source_file: /src/PROJ/libtiff/libtiff/tif_dirwrite.c
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFFlush
  - TIFFForceStrileArrayWriting
  - TIFFFlushData
  source_file: /src/PROJ/libtiff/libtiff/tif_flush.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFReInitJPEG_12
  source_file: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFFInitJPEG
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c
      type_or_value: TIFFInitJPEG_12
    - item_type: preproc_def
      name: TIFFJPEGIsFullStripRequired
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PROJ/libtiff/libtiff/tif_jpeg_12.c
      type_or_value: TIFFJPEGIsFullStripRequired_12
    structs: []
    typedefs: []
    union: []
- function_names:
  - TIFFCleanup
  - _TIFFCleanupIFDOffsetAndNumberMaps
  - TIFFClose
  source_file: /src/PROJ/libtiff/libtiff/tif_close.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LERC_AT_LEAST_VERSION
  - GetLERCState
  - LERCDecoderState
  - LERCEncoderState
  - LERCFixupTags
  - LERCSetupDecode
  - GetLercDataType
  - SetupBuffers
  - LERCPreDecode
  - LERCDecode
  - LERCSetupEncode
  - LERCPreEncode
  - LERCEncode
  - LERCPostEncode
  - LERCCleanup
  - LERCVSetFieldBase
  - LERCVSetField
  - LERCVGetField
  - TIFFInitLERC
  source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBDEFLATE_MAX_COMPRESSION_LEVEL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LSTATE_INIT_DECODE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LSTATE_INIT_ENCODE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: maxzerror
        type: double
      - name: lerc_version
        type: int
      - name: additional_compression
        type: int
      - name: zstd_compress_level
        type: int
      - name: zipquality
        type: int
      - name: state
        type: int
      - name: segment_width
        type: uint32_t
      - name: segment_height
        type: uint32_t
      - name: uncompressed_size
        type: unsigned int
      - name: uncompressed_alloc
        type: unsigned int
      - name: '*uncompressed_buffer'
        type: uint8_t
      - name: uncompressed_offset
        type: unsigned int
      - name: '*uncompressed_buffer_multiband'
        type: uint8_t
      - name: uncompressed_buffer_multiband_alloc
        type: unsigned int
      - name: mask_size
        type: unsigned int
      - name: '*mask_buffer'
        type: uint8_t
      - name: compressed_size
        type: unsigned int
      - name: '*compressed_buffer'
        type: void
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      item_type: struct
      name: LERCState
      pos:
        line_end: 89
        line_start: 56
        source_file: /src/PROJ/libtiff/libtiff/tif_lerc.c
    typedefs: []
    union: []
- function_names:
  - _TIFFMultiply32
  - _TIFFMultiply64
  - _TIFFMultiplySSize
  - _TIFFCastUInt64ToSSize
  - _TIFFCheckRealloc
  - _TIFFCheckMalloc
  - TIFFDefaultTransferFunction
  - TIFFDefaultRefBlackWhite
  - TIFFVGetFieldDefaulted
  - TIFFGetFieldDefaulted
  - _TIFFClampDoubleToFloat
  - _TIFFClampDoubleToUInt32
  - _TIFFSeekOK
  source_file: /src/PROJ/libtiff/libtiff/tif_aux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/libtiff/tiffio.hxx
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _tiffDummyMapProc
  - _tiffDummyUnmapProc
  - _TIFFgetMode
  - TIFFOpenOptionsAlloc
  - TIFFOpenOptionsFree
  - TIFFOpenOptionsSetMaxSingleMemAlloc
  - TIFFOpenOptionsSetMaxCumulatedMemAlloc
  - TIFFOpenOptionsSetWarnAboutUnknownTags
  - TIFFOpenOptionsSetErrorHandlerExtR
  - TIFFOpenOptionsSetWarningHandlerExtR
  - _TIFFEmitErrorAboveMaxSingleMemAlloc
  - _TIFFEmitErrorAboveMaxCumulatedMemAlloc
  - _TIFFmallocExt
  - _TIFFcallocExt
  - _TIFFreallocExt
  - _TIFFfreeExt
  - TIFFClientOpen
  - TIFFClientOpenExt
  - TIFFFileName
  - TIFFSetFileName
  - TIFFFileno
  - TIFFSetFileno
  - TIFFClientdata
  - TIFFSetClientdata
  - TIFFGetMode
  - TIFFSetMode
  - TIFFIsTiled
  - TIFFCurrentRow
  - TIFFCurrentDirectory
  - TIFFCurrentStrip
  - TIFFCurrentTile
  - TIFFIsByteSwapped
  - TIFFIsUpSampled
  - TIFFIsMSB2LSB
  - TIFFIsBigEndian
  - TIFFIsBigTIFF
  - TIFFGetReadProc
  - TIFFGetWriteProc
  - TIFFGetSeekProc
  - TIFFGetCloseProc
  - TIFFGetSizeProc
  - TIFFGetMapFileProc
  - TIFFGetUnmapFileProc
  source_file: /src/PROJ/libtiff/libtiff/tif_open.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEADING_AREA_TO_STORE_ALLOC_SIZE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
      type_or_value: (2 * SIZEOF_SIZE_T)
    structs: []
    typedefs: []
    union:
    - fields:
      - name: a8[2]
        type: uint8_t
      - name: a16
        type: uint16_t
      item_type: union
      name: n
      pos:
        line_end: 328
        line_start: 324
        source_file: /src/PROJ/libtiff/libtiff/tif_open.c
- function_names:
  - SETJMP
  - LONGJMP
  - TIFFInitOJPEG
  - OJPEGVGetField
  - OJPEGVSetField
  - OJPEGPrintDir
  - OJPEGFixupTags
  - OJPEGSetupDecode
  - OJPEGPreDecode
  - OJPEGPreDecodeSkipRaw
  - OJPEGPreDecodeSkipScanlines
  - OJPEGDecode
  - OJPEGDecodeRaw
  - OJPEGDecodeScanlines
  - OJPEGPostDecode
  - OJPEGSetupEncode
  - OJPEGPreEncode
  - OJPEGEncode
  - OJPEGPostEncode
  - OJPEGCleanup
  - OJPEGSubsamplingCorrect
  - OJPEGReadHeaderInfo
  - OJPEGReadSecondarySos
  - OJPEGWriteHeaderInfo
  - OJPEGLibjpegSessionAbort
  - OJPEGReadHeaderInfoSec
  - OJPEGReadHeaderInfoSecStreamDri
  - OJPEGReadHeaderInfoSecStreamDqt
  - OJPEGReadHeaderInfoSecStreamDht
  - OJPEGReadHeaderInfoSecStreamSof
  - OJPEGReadHeaderInfoSecStreamSos
  - OJPEGReadHeaderInfoSecTablesQTable
  - OJPEGReadHeaderInfoSecTablesDcTable
  - OJPEGReadHeaderInfoSecTablesAcTable
  - OJPEGReadBufferFill
  - OJPEGReadByte
  - OJPEGReadBytePeek
  - OJPEGReadByteAdvance
  - OJPEGReadWord
  - OJPEGReadBlock
  - OJPEGReadSkip
  - OJPEGWriteStream
  - OJPEGWriteStreamSoi
  - OJPEGWriteStreamQTable
  - OJPEGWriteStreamDcTable
  - OJPEGWriteStreamAcTable
  - OJPEGWriteStreamDri
  - OJPEGWriteStreamSof
  - OJPEGWriteStreamSos
  - OJPEGWriteStreamCompressed
  - OJPEGWriteStreamRst
  - OJPEGWriteStreamEoi
  - jpeg_create_decompress_encap
  - jpeg_read_header_encap
  - jpeg_start_decompress_encap
  - jpeg_read_scanlines_encap
  - jpeg_read_raw_data_encap
  - jpeg_encap_unwind
  - OJPEGLibjpegJpegErrorMgrOutputMessage
  - OJPEGLibjpegJpegErrorMgrErrorExit
  - OJPEGLibjpegJpegSourceMgrInitSource
  - OJPEGLibjpegJpegSourceMgrFillInputBuffer
  - OJPEGLibjpegJpegSourceMgrSkipInputData
  - OJPEGLibjpegJpegSourceMgrResyncToRestart
  - OJPEGLibjpegJpegSourceMgrTermSource
  source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JMP_BUF
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: jmp_buf
    - item_type: preproc_def
      name: OJPEG_BUFFER
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF0
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xC0'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF1
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xC1'
    - item_type: preproc_def
      name: JPEG_MARKER_SOF3
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xC3'
    - item_type: preproc_def
      name: JPEG_MARKER_DHT
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xC4'
    - item_type: preproc_def
      name: JPEG_MARKER_RST0
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: 0XD0
    - item_type: preproc_def
      name: JPEG_MARKER_SOI
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xD8'
    - item_type: preproc_def
      name: JPEG_MARKER_EOI
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xD9'
    - item_type: preproc_def
      name: JPEG_MARKER_SOS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xDA'
    - item_type: preproc_def
      name: JPEG_MARKER_DQT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xDB'
    - item_type: preproc_def
      name: JPEG_MARKER_DRI
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xDD'
    - item_type: preproc_def
      name: JPEG_MARKER_APP0
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xE0'
    - item_type: preproc_def
      name: JPEG_MARKER_COM
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: '0xFE'
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGINTERCHANGEFORMAT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 0)
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGINTERCHANGEFORMATLENGTH
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 1)
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGQTABLES
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 2)
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGDCTABLES
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 3)
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGACTABLES
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 4)
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGPROC
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 5)
    - item_type: preproc_def
      name: FIELD_OJPEG_JPEGRESTARTINTERVAL
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type_or_value: (FIELD_CODEC + 6)
    structs:
    - fields:
      - name: '*tif'
        type: TIFF
      - name: decoder_ok
        type: int
      - name: error_in_raw_data_decoding
        type: int
      - name: vgetparent
        type: TIFFVGetMethod
      - name: vsetparent
        type: TIFFVSetMethod
      - name: printdir
        type: TIFFPrintMethod
      - name: file_size
        type: uint64_t
      - name: image_width
        type: uint32_t
      - name: image_length
        type: uint32_t
      - name: strile_width
        type: uint32_t
      - name: strile_length
        type: uint32_t
      - name: strile_length_total
        type: uint32_t
      - name: samples_per_pixel
        type: uint8_t
      - name: plane_sample_offset
        type: uint8_t
      - name: samples_per_pixel_per_plane
        type: uint8_t
      - name: jpeg_interchange_format
        type: uint64_t
      - name: jpeg_interchange_format_length
        type: uint64_t
      - name: jpeg_proc
        type: uint8_t
      - name: subsamplingcorrect
        type: uint8_t
      - name: subsamplingcorrect_done
        type: uint8_t
      - name: subsampling_tag
        type: uint8_t
      - name: subsampling_hor
        type: uint8_t
      - name: subsampling_ver
        type: uint8_t
      - name: subsampling_force_desubsampling_inside_decompression
        type: uint8_t
      - name: qtable_offset_count
        type: uint8_t
      - name: dctable_offset_count
        type: uint8_t
      - name: actable_offset_count
        type: uint8_t
      - name: qtable_offset[3]
        type: uint64_t
      - name: dctable_offset[3]
        type: uint64_t
      - name: actable_offset[3]
        type: uint64_t
      - name: '*qtable[4]'
        type: uint8_t
      - name: '*dctable[4]'
        type: uint8_t
      - name: '*actable[4]'
        type: uint8_t
      - name: restart_interval
        type: uint16_t
      - name: restart_index
        type: uint8_t
      - name: sof_log
        type: uint8_t
      - name: sof_marker_id
        type: uint8_t
      - name: sof_x
        type: uint32_t
      - name: sof_y
        type: uint32_t
      - name: sof_c[3]
        type: uint8_t
      - name: sof_hv[3]
        type: uint8_t
      - name: sof_tq[3]
        type: uint8_t
      - name: sos_cs[3]
        type: uint8_t
      - name: sos_tda[3]
        type: uint8_t
      - name: sos_end[3]
        type: "struct\n    {\n        uint8_t log;\n        OJPEGStateInBufferSource
          in_buffer_source;\n        uint32_t in_buffer_next_strile;\n        uint64_t
          in_buffer_file_pos;\n        uint64_t in_buffer_file_togo;\n    }"
      - name: readheader_done
        type: uint8_t
      - name: writeheader_done
        type: uint8_t
      - name: write_cursample
        type: uint16_t
      - name: write_curstrile
        type: uint32_t
      - name: libjpeg_session_active
        type: uint8_t
      - name: libjpeg_jpeg_query_style
        type: uint8_t
      - name: libjpeg_jpeg_error_mgr
        type: jpeg_error_mgr
      - name: libjpeg_jpeg_decompress_struct
        type: jpeg_decompress_struct
      - name: libjpeg_jpeg_source_mgr
        type: jpeg_source_mgr
      - name: subsampling_convert_log
        type: uint8_t
      - name: subsampling_convert_ylinelen
        type: uint32_t
      - name: subsampling_convert_ylines
        type: uint32_t
      - name: subsampling_convert_clinelen
        type: uint32_t
      - name: subsampling_convert_clines
        type: uint32_t
      - name: subsampling_convert_ybuflen
        type: uint32_t
      - name: subsampling_convert_cbuflen
        type: uint32_t
      - name: subsampling_convert_ycbcrbuflen
        type: uint32_t
      - name: '*subsampling_convert_ycbcrbuf'
        type: uint8_t
      - name: '*subsampling_convert_ybuf'
        type: uint8_t
      - name: '*subsampling_convert_cbbuf'
        type: uint8_t
      - name: '*subsampling_convert_crbuf'
        type: uint8_t
      - name: subsampling_convert_ycbcrimagelen
        type: uint32_t
      - name: '**subsampling_convert_ycbcrimage'
        type: uint8_t
      - name: subsampling_convert_clinelenout
        type: uint32_t
      - name: subsampling_convert_state
        type: uint32_t
      - name: bytes_per_line
        type: uint32_t
      - name: lines_per_strile
        type: uint32_t
      - name: in_buffer_source
        type: OJPEGStateInBufferSource
      - name: in_buffer_next_strile
        type: uint32_t
      - name: in_buffer_strile_count
        type: uint32_t
      - name: in_buffer_file_pos
        type: uint64_t
      - name: in_buffer_file_pos_log
        type: uint8_t
      - name: in_buffer_file_togo
        type: uint64_t
      - name: in_buffer_togo
        type: uint16_t
      - name: '*in_buffer_cur'
        type: uint8_t
      - name: in_buffer[OJPEG_BUFFER]
        type: uint8_t
      - name: out_state
        type: OJPEGStateOutState
      - name: out_buffer[OJPEG_BUFFER]
        type: uint8_t
      - name: '*skip_buffer'
        type: uint8_t
      item_type: struct
      name: OJPEGState
      pos:
        line_end: 353
        line_start: 255
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
    typedefs:
    - item_type: typedef
      name: jpeg_source_mgr
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type: jpeg_source_mgr
    - item_type: typedef
      name: jpeg_error_mgr
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type: jpeg_error_mgr
    - item_type: typedef
      name: jpeg_common_struct
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type: jpeg_common_struct
    - item_type: typedef
      name: jpeg_decompress_struct
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/PROJ/libtiff/libtiff/tif_ojpeg.c
      type: jpeg_decompress_struct
    union: []
- function_names:
  - main
  - SetUpTIFFDirectory
  - WriteImage
  source_file: /src/PROJ/libtiff/contrib/tags/maketif.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PROJ/libtiff/contrib/tags/maketif.c
      type_or_value: '20'
    - item_type: preproc_def
      name: HEIGHT
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PROJ/libtiff/contrib/tags/maketif.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PARENT
  - TIFFMEMBER
  - XTIFFDIR
  source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_XFIELD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XFIELD_BASE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: (FIELD_LAST - NUM_XFIELD)
    - item_type: preproc_def
      name: FIELD_EXAMPLE_MULTI
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: (XFIELD_BASE + 0)
    - item_type: preproc_def
      name: FIELD_EXAMPLE_SINGLE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: (XFIELD_BASE + 1)
    - item_type: preproc_def
      name: FIELD_EXAMPLE_ASCII
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: (XFIELD_BASE + 2)
    - item_type: preproc_def
      name: XTIFFP_PRINT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: XTIFF_INITIALIZED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type_or_value: '0x80000000'
    structs:
    - fields:
      - name: xd_num_multi
        type: uint16_t
      - name: '*xd_example_multi'
        type: double
      - name: xd_example_single
        type: uint32_t
      - name: '*xd_example_ascii'
        type: char
      item_type: struct
      name: XTIFFDirectory
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
    - fields:
      - name: '*xtif_tif'
        type: TIFF
      - name: xtif_flags
        type: uint32_t
      - name: xtif_dir
        type: XTIFFDirectory
      - name: xtif_vsetfield
        type: TIFFVSetMethod
      - name: xtif_vgetfield
        type: TIFFVGetMethod
      - name: xtif_printdir
        type: TIFFPrintMethod
      item_type: struct
      name: xtiff
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
    typedefs:
    - item_type: typedef
      name: XTIFFDirectory
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type: XTIFFDirectory
    - item_type: typedef
      name: xtiff
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffiop.h
      type: xtiff
    union: []
- function_names:
  - N
  - _XTIFFPrintDirectory
  - _XTIFFVSetField
  - _XTIFFVGetField
  - CleanupField
  - _XTIFFFreeDirectory
  - _XTIFFLocalDefaultDirectory
  - _XTIFFDefaultDirectory
  - _XTIFFInitialize
  - XTIFFOpen
  - XTIFFFdOpen
  - XTIFFClose
  source_file: /src/PROJ/libtiff/contrib/tags/xtif_dir.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/contrib/tags/xtiffio.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFFTAG_EXAMPLE_MULTI
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffio.h
      type_or_value: '61234'
    - item_type: preproc_def
      name: TIFFTAG_EXAMPLE_SINGLE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffio.h
      type_or_value: '61235'
    - item_type: preproc_def
      name: TIFFTAG_EXAMPLE_ASCII
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffio.h
      type_or_value: '61236'
    - item_type: preproc_def
      name: TIFFPRINT_MYMULTIDOUBLES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/libtiff/contrib/tags/xtiffio.h
      type_or_value: '0x80000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/contrib/tags/listtif.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CheckMalloc
  - TIFFReadPrivateDataSubDirectory
  - EstimateStripByteCounts
  - MissingRequired
  - CheckDirCount
  - TIFFFetchData
  - TIFFFetchString
  - cvtRational
  - TIFFFetchRational
  - TIFFFetchFloat
  - TIFFFetchByteArray
  - TIFFFetchShortArray
  - TIFFFetchShortPair
  - TIFFFetchLongArray
  - TIFFFetchRationalArray
  - TIFFFetchFloatArray
  - TIFFFetchDoubleArray
  - TIFFFetchAnyArray
  - TIFFFetchNormalSubTag
  - NITEMS
  - TIFFFetchPerSampleShorts
  - TIFFFetchPerSampleAnys
  - TIFFFetchStripThing
  - NITEMS
  - TIFFFetchExtraSamples
  - TIFFFetchRefBlackWhite
  - ChopUpSingleUncompressedStrip
  source_file: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IGNORE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/contrib/pds/tif_pdsdirread.c
      type_or_value: '0 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - isCCITTCompression
  - TIFFImageIterBegin
  - TIFFImageIterGet
  - TIFFImageIterEnd
  - TIFFReadImageIter
  - gtTileContig
  - gtTileSeparate
  - gtStripContig
  - gtStripSeparate
  - DECLAREContigCallbackFunc
  - DECLARESepCallbackFunc
  - main
  source_file: /src/PROJ/libtiff/contrib/pds/tif_imageiter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WriteRationalPair
  - TIFFWriteRational
  - TIFFWritePrivateDataSubDirectory
  - TIFFWriteNormalSubTag
  - WRITEF
  - TIFFSetupShortLong
  - TIFFWriteRational
  - NITEMS
  - TIFFWritePerSampleShorts
  - TIFFWritePerSampleAnys
  - TIFFSetupShortPair
  - TIFFWriteShortTable
  - TIFFWriteByteArray
  - TIFFWriteShortArray
  - TIFFWriteLongArray
  - TIFFWriteRationalArray
  - TIFFWriteFloatArray
  - TIFFWriteDoubleArray
  - TIFFWriteAnyArray
  - TIFFWriteTransferFunction
  - TIFFWriteData
  - TIFFLinkDirectory
  - HDROFF
  source_file: /src/PROJ/libtiff/contrib/pds/tif_pdsdirwrite.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLAREContigCallbackFunc
  - DECLARESepCallbackFunc
  source_file: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tif'
        type: TIFF
      - name: stoponerr
        type: int
      - name: isContig
        type: int
      - name: alpha
        type: int
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: bitspersample
        type: uint16_t
      - name: samplesperpixel
        type: uint16_t
      - name: orientation
        type: uint16_t
      - name: photometric
        type: uint16_t
      - name: '*redcmap'
        type: uint16_t
      - name: '*greencmap'
        type: uint16_t
      - name: '*bluecmap'
        type: uint16_t
      - name: (*get)(TIFFImageIter *, void *udata, uint32_t, uint32_t)
        type: int
      - name: callback
        type: "union\n    {\n        void (*any)(TIFFImageIter *);\n        ImageIterTileContigRoutine
          contig;\n        ImageIterTileSeparateRoutine separate;\n    }"
      item_type: struct
      name: _TIFFImageIter
      pos:
        line_end: 50
        line_start: 27
        source_file: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
    typedefs:
    - item_type: typedef
      name: TIFFImageIter
      pos:
        line_end: 0
        line_start: 0
        source_file: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
      type: _TIFFImageIter
    - item_type: typedef
      name: "(*ImageIterTileContigRoutine)(TIFFImageIter *, void *, uint32_t,\n                                           uint32_t,
        uint32_t, uint32_t,\n                                           int32_t, unsigned
        char *)"
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
      type: void
    - item_type: typedef
      name: "(*ImageIterTileSeparateRoutine)(TIFFImageIter *, void *, uint32_t,\n
        \                                            uint32_t, uint32_t, uint32_t,\n
        \                                            int32_t, unsigned char *,\n                                             unsigned
        char *, unsigned char *,\n                                             unsigned
        char *)"
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PROJ/libtiff/contrib/pds/tif_imageiter.h
      type: void
    union: []
- function_names:
  - __TIFFSafeMultiply
  - handle_error
  - LLVMFuzzerTestOneInput
  - CPL_IGNORE_RET_VAL
  - Usage
  - main
  source_file: /src/PROJ/libtiff/contrib/oss-fuzz/tiff_read_rgba_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c
      type_or_value: '512'
    - item_type: preproc_def
      name: HEIGHT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-bi.c
      type_or_value: WIDTH
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCALE
  - main
  - Usage
  source_file: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c
      type_or_value: '512'
    - item_type: preproc_def
      name: HEIGHT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-palette.c
      type_or_value: WIDTH
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROUND
  - main
  - Usage
  source_file: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMSIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
      type_or_value: '256'
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
      type_or_value: '525'
    - item_type: preproc_def
      name: HEIGHT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TIFF_GAMMA
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-rgb.c
      type_or_value: '2.2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - Usage
  source_file: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c
      type_or_value: '512'
    - item_type: preproc_def
      name: HEIGHT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/libtiff/contrib/dbs/tiff-grayscale.c
      type_or_value: WIDTH
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/patchlevel.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATCHLEVEL
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/patchlevel.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROUND
  - SCALE
  - MCHECK
  - MIN
  - MAX
  - PP
  - PP
  - main
  - OpenTIFFFile
  - GetTIFFHeader
  - SetNameLabel
  - CheckAndCorrectColormap
  - SimpleGammaCorrection
  - GetVisual
  - GetTIFFImage
  - CreateXImage
  - QuitProc
  - NextProc
  - PreviousProc
  - ResizeProc
  - Usage
  source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIFF_GAMMA
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
      type_or_value: '"2.2" '
    - item_type: preproc_def
      name: VIEWPORT_WIDTH
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
      type_or_value: '700'
    - item_type: preproc_def
      name: VIEWPORT_HEIGHT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
      type_or_value: '500'
    - item_type: preproc_def
      name: KEY_TRANSLATE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
      type_or_value: '20'
    structs:
    - fields:
      - name: help
        type: Boolean
      - name: gamma
        type: float
      - name: usePixmap
        type: Boolean
      - name: viewportWidth
        type: uint32_t
      - name: viewportHeight
        type: uint32_t
      - name: translate
        type: int
      - name: verbose
        type: Boolean
      item_type: struct
      name: AppData
      pos:
        line_end: 147
        line_start: 138
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtiff.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtifficon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: xtifficon_width
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtifficon.h
      type_or_value: '32'
    - item_type: preproc_def
      name: xtifficon_height
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/PROJ/libtiff/contrib/dbs/xtiff/xtifficon.h
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mfs_open
  - mfs_lseek
  - mfs_read
  - mfs_write
  - mfs_size
  - mfs_map
  - mfs_unmap
  - mfs_close
  - extend_mem_file
  - mem_init
  source_file: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_BUFFS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
      type_or_value: '20'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/libtiff/contrib/mfs/mfs_file.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - TiffStream::TiffStream
  - TiffStream::~TiffStream()
  - TiffStream::makeFileStream
  - TiffStream::makeFileStream
  - TiffStream::makeFileStream
  - TiffStream::read
  - TiffStream::write
  - TiffStream::seek
  - TiffStream::close
  - TiffStream::size
  - TiffStream::map
  - TiffStream::unmap
  - TiffStream::getSize
  - TiffStream::tell
  - TiffStream::seekInt
  - TiffStream::isOpen
  source_file: /src/PROJ/libtiff/contrib/stream/tiffstream.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TiffStream::getTiffHandle
  - TiffStream::getStreamLength
  source_file: /src/PROJ/libtiff/contrib/stream/tiffstream.h
  types:
    enum:
    - enumerators:
      - name: beg
      - name: end
      - name: cur
      item_type: enum
      name: SeekDir
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/PROJ/libtiff/contrib/stream/tiffstream.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CVT
  - usage
  source_file: /src/PROJ/libtiff/contrib/ras/tif2ras.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'True'
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/libtiff/contrib/ras/tif2ras.c
      type_or_value: (1)
    - item_type: preproc_def
      name: 'False'
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/libtiff/contrib/ras/tif2ras.c
      type_or_value: (0)
    structs: []
    typedefs:
    - item_type: typedef
      name: boolean
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/PROJ/libtiff/contrib/ras/tif2ras.c
      type: int
    union: []
- function_names:
  - SCALE
  - usage
  source_file: /src/PROJ/libtiff/contrib/ras/ras2tif.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'True'
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/libtiff/contrib/ras/ras2tif.c
      type_or_value: (1)
    - item_type: preproc_def
      name: 'False'
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/libtiff/contrib/ras/ras2tif.c
      type_or_value: (0)
    structs: []
    typedefs:
    - item_type: typedef
      name: boolean
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/PROJ/libtiff/contrib/ras/ras2tif.c
      type: int
    union: []
- function_names:
  - formatString
  - convertHTMLcodes
  - formatIPTC
  - super_fgets
  - main
  - sindex
  - chstore
  - tokenizer
  source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRNICMP
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: strnicmp
    - item_type: preproc_def
      name: STRNICMP
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: strncasecmp
    - item_type: preproc_def
      name: BUFFER_SZ
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: IN_WHITE
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IN_TOKEN
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IN_QUOTE
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IN_OZONE
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
      type_or_value: '3'
    structs:
    - fields:
      - name: id
        type: short
      - name: '*name'
        type: char
      item_type: struct
      name: _tag_spec
      pos:
        line_end: 30
        line_start: 25
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    - fields:
      - name: len
        type: short
      - name: '*code'
        type: char
      item_type: struct
      name: _html_code
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/PROJ/libtiff/contrib/iptcutil/iptcutil.c
    typedefs: []
    union: []
- function_names:
  - IS_WIN30_DIB
  - CVT
  - LoadTIFFinDIB
  - checkcmap
  - CreateDIB
  - FindDIBBits
  - PaletteSize
  - DIBNumColors
  source_file: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HDIB
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PROJ/libtiff/contrib/win_dib/tiff2dib.c
      type_or_value: HANDLE
    structs: []
    typedefs: []
    union: []
- function_names:
  - MyWarningHandler
  - MyErrorHandler
  - ChkTIFF
  - ReadTIFF
  - TIFFRGBA2DIB
  - DECLAREContigPutFunc
  - DECLARESepPutFunc
  - DibInstallHack
  - DECLAREContigPutFunc
  - setorientation
  - getStripContig1Bit
  source_file: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tif
        type: TIFFRGBAImage
      - name: dibinstalled
        type: int
      item_type: struct
      name: TIFFDibImage
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
    typedefs:
    - item_type: typedef
      name: u_char
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/PROJ/libtiff/contrib/win_dib/Tiffile.cpp
      type: unsigned char
    union: []
- function_names: []
  source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nXSize
        type: uint32_t
      - name: nYSize
        type: uint32_t
      - name: nBitsPerPixel
        type: uint16_t
      - name: nSamples
        type: uint16_t
      - name: nPlanarConfig
        type: uint16_t
      - name: nBlockXSize
        type: uint32_t
      - name: nBlockYSize
        type: uint32_t
      - name: nBytesPerBlock
        type: toff_t
      - name: nBytesPerRow
        type: toff_t
      - name: nBlocksPerRow
        type: int
      - name: nBlocksPerColumn
        type: int
      - name: nBlockOffset
        type: int
      - name: '*pabyRow1Blocks'
        type: unsigned char
      - name: '*pabyRow2Blocks'
        type: unsigned char
      - name: nDirOffset
        type: toff_t
      - name: '*hTIFF'
        type: TIFF
      - name: bTiled
        type: int
      item_type: struct
      name: TIFFOvrCache
      pos:
        line_end: 68
        line_start: 44
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.h
    typedefs: []
    union: []
- function_names:
  - TIFFCreateOvrCache
  - TIFFWriteOvrRow
  - TIFFGetOvrBlock
  - TIFFGetOvrBlock_Subsampled
  - TIFFDestroyOvrCache
  source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_ovrcache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/libtiff/contrib/addtiffo/addtiffo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MIN
  - MAX
  - TIFF_WriteOverview
  - TIFF_GetSourceSamples
  - TIFF_SetSample
  - TIFF_DownSample
  - TIFF_DownSample_Subsampled
  - TIFF_ProcessFullResBlock
  - TIFFBuildOverviews
  source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIFF_DIR_MAX
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/libtiff/contrib/addtiffo/tif_overview.c
      type_or_value: '65534'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/tests/cmake/test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curltest_post_config
  - curltest_hooks
  - duration_parse
  - status_from_str
  - curltest_echo_handler
  - curltest_tweak_handler
  - curltest_put_handler
  - curltest_1_1_required
  - brigade_env_var
  - curltest_sslinfo_handler
  source_file: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECS_PER_HOUR
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
      type_or_value: (60*60)
    - item_type: preproc_def
      name: SECS_PER_DAY
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/tests/http/testenv/mod_curltest/mod_curltest.c
      type_or_value: (24*SECS_PER_HOUR)
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1518_write_cb
  - test_lib1518
  source_file: /src/PROJ/curl/tests/libtest/lib1518.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_fnmatch
  - test_lib574
  source_file: /src/PROJ/curl/tests/libtest/lib574.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tst_opensocket
  - tst_closesocket
  - setupcallbacks
  - test_lib500
  source_file: /src/PROJ/curl/tests/libtest/lib500.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib573
  source_file: /src/PROJ/curl/tests/libtest/lib573.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1956
  source_file: /src/PROJ/curl/tests/libtest/lib1956.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3010
  source_file: /src/PROJ/curl/tests/libtest/lib3010.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - select_wrapper
  - cgetopt
  - memory_tracking_init
  - memory_tracking_init
  - hexdump
  - ws_send_ping
  - ws_recv_pong
  - ws_close
  - main
  source_file: /src/PROJ/curl/tests/libtest/first.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2502
  source_file: /src/PROJ/curl/tests/libtest/lib2502.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1955
  source_file: /src/PROJ/curl/tests/libtest/lib1955.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1939
  source_file: /src/PROJ/curl/tests/libtest/lib1939.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTP_PKT_CHANNEL
  - RTP_PKT_LENGTH
  - rtp_write
  - test_lib571
  source_file: /src/PROJ/curl/tests/libtest/lib571.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTP_DATA_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/tests/libtest/lib571.c
      type_or_value: '12'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_setopt
  - test_multi_setopt
  - exe_easy_init
  - res_easy_init
  - chk_easy_init
  - easy_init
  - exe_multi_init
  - res_multi_init
  - chk_multi_init
  - multi_init
  - exe_easy_setopt
  - res_easy_setopt
  - chk_easy_setopt
  - easy_setopt
  - exe_multi_setopt
  - res_multi_setopt
  - chk_multi_setopt
  - multi_setopt
  - exe_multi_add_handle
  - res_multi_add_handle
  - chk_multi_add_handle
  - multi_add_handle
  - exe_multi_remove_handle
  - res_multi_remove_handle
  - chk_multi_remove_handle
  - multi_remove_handle
  - exe_multi_perform
  - res_multi_perform
  - chk_multi_perform
  - multi_perform
  - exe_multi_fdset
  - res_multi_fdset
  - chk_multi_fdset
  - multi_fdset
  - exe_multi_timeout
  - res_multi_timeout
  - chk_multi_timeout
  - multi_timeout
  - exe_multi_poll
  - res_multi_poll
  - chk_multi_poll
  - multi_poll
  - exe_multi_wakeup
  - res_multi_wakeup
  - chk_multi_wakeup
  - multi_wakeup
  - exe_select_test
  - res_select_test
  - chk_select_test
  - select_test
  - start_test_timing
  - exe_test_timedout
  - res_test_timedout
  - res_test_timedout_custom
  - chk_test_timedout
  - abort_on_test_timeout
  - abort_on_test_timeout_custom
  - exe_global_init
  - res_global_init
  - chk_global_init
  - global_init
  source_file: /src/PROJ/curl/tests/libtest/first.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ERR_MAJOR_BAD
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE20
    - item_type: preproc_def
      name: TEST_ERR_RUNS_FOREVER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE24
    - item_type: preproc_def
      name: TEST_ERR_EASY_INIT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE29
    - item_type: preproc_def
      name: TEST_ERR_MULTI
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE32
    - item_type: preproc_def
      name: TEST_ERR_NUM_HANDLES
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE34
    - item_type: preproc_def
      name: TEST_ERR_SELECT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE40
    - item_type: preproc_def
      name: TEST_ERR_SUCCESS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE41
    - item_type: preproc_def
      name: TEST_ERR_FAILURE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE44
    - item_type: preproc_def
      name: TEST_ERR_USAGE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE46
    - item_type: preproc_def
      name: TEST_ERR_FOPEN
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE50
    - item_type: preproc_def
      name: TEST_ERR_FSTAT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE51
    - item_type: preproc_def
      name: TEST_ERR_BAD_TIMEOUT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE57
    - item_type: preproc_def
      name: TEST_HANG_TIMEOUT
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: '60 * 1000  '
    - item_type: preproc_def
      name: NO_SUPPORT_BUILT_IN
      pos:
        line_end: 523
        line_start: 517
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: "{                                             \\\n    (void)URL;
        \                                 \\\n    curl_mfprintf(stderr, \"Missing
        support\\n\"); \\\n    return CURLE_UNSUPPORTED_PROTOCOL;          \\\n  }"
    - item_type: preproc_def
      name: NUM_HANDLES
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type_or_value: '4  '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: ptr
        type: entry_func_t
      item_type: struct
      name: entry_s
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/PROJ/curl/tests/libtest/first.h
    typedefs:
    - item_type: typedef
      name: (*entry_func_t)(const char *)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/PROJ/curl/tests/libtest/first.h
      type: CURLcode
    union: []
- function_names:
  - test_lib562
  source_file: /src/PROJ/curl/tests/libtest/lib562.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib661
  source_file: /src/PROJ/curl/tests/libtest/lib661.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - descr_flags
  - send_header
  - recv_header
  - send_chunk
  - recv_chunk
  - recv_frame
  - test_lib2700
  source_file: /src/PROJ/curl/tests/libtest/lib2700.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1937
  source_file: /src/PROJ/curl/tests/libtest/lib1937.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - header
  - test_lib1556
  source_file: /src/PROJ/curl/tests/libtest/lib1556.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: largest
        type: size_t
      item_type: struct
      name: headerinfo
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib1556.c
    typedefs: []
    union: []
- function_names:
  - test_lib1906
  source_file: /src/PROJ/curl/tests/libtest/lib1906.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - prereq_callback
  - test_lib2082
  source_file: /src/PROJ/curl/tests/libtest/lib2082.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prereq_retcode
        type: int
      - name: ipv6
        type: int
      item_type: struct
      name: prcs
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/PROJ/curl/tests/libtest/lib2082.c
    typedefs: []
    union: []
- function_names:
  - test_lib560
  source_file: /src/PROJ/curl/tests/libtest/lib560.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t667_read_cb
  - test_lib667
  source_file: /src/PROJ/curl/tests/libtest/lib667.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      item_type: struct
      name: t667_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib667.c
    typedefs: []
    union: []
- function_names:
  - test_lib658
  source_file: /src/PROJ/curl/tests/libtest/lib658.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib567
  source_file: /src/PROJ/curl/tests/libtest/lib567.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1517_read_cb
  - test_lib1517
  source_file: /src/PROJ/curl/tests/libtest/lib1517.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t1517_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib1517.c
    typedefs: []
    union: []
- function_names:
  - test_lib1902
  source_file: /src/PROJ/curl/tests/libtest/lib1902.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib543
  source_file: /src/PROJ/curl/tests/libtest/lib543.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1911
  source_file: /src/PROJ/curl/tests/libtest/lib1911.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_INPUT_LENGTH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/tests/libtest/lib1911.c
      type_or_value: '8000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - KN
  - t1541_geterr
  - report_time
  - check_time
  - check_time0
  - t1541_header_callback
  - t1541_write_cb
  - test_lib1541
  source_file: /src/PROJ/curl/tests/libtest/lib1541.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: hd_count
        type: int
      - name: bd_count
        type: int
      - name: result
        type: CURLcode
      item_type: struct
      name: t1541_transfer_status
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib1541.c
    typedefs: []
    union: []
- function_names:
  - test_lib1977
  source_file: /src/PROJ/curl/tests/libtest/lib1977.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1500
  source_file: /src/PROJ/curl/tests/libtest/lib1500.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib568
  source_file: /src/PROJ/curl/tests/libtest/lib568.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1662_read_cb
  - test_lib1662
  source_file: /src/PROJ/curl/tests/libtest/lib1662.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t1662_WriteThis
      pos:
        line_end: 27
        line_start: 25
        source_file: /src/PROJ/curl/tests/libtest/lib1662.c
    typedefs: []
    union: []
- function_names:
  - test_lib3103
  source_file: /src/PROJ/curl/tests/libtest/lib3103.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3027
  source_file: /src/PROJ/curl/tests/libtest/lib3027.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1598_trailers_callback
  - test_lib1598
  source_file: /src/PROJ/curl/tests/libtest/lib1598.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib559
  source_file: /src/PROJ/curl/tests/libtest/lib559.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1534
  source_file: /src/PROJ/curl/tests/libtest/lib1534.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1528
  source_file: /src/PROJ/curl/tests/libtest/lib1528.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t547_read_cb
  - t547_ioctl_callback
  - test_lib547
  source_file: /src/PROJ/curl/tests/libtest/lib547.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T547_DATALEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/tests/libtest/lib547.c
      type_or_value: (sizeof(t547_uploadthis)-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - progressKiller
  - test_lib1513
  source_file: /src/PROJ/curl/tests/libtest/lib1513.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1568
  source_file: /src/PROJ/curl/tests/libtest/lib1568.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t670_read_cb
  - t670_xferinfo
  - test_lib670
  source_file: /src/PROJ/curl/tests/libtest/lib670.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PAUSE_TIME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib670.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: origin
        type: time_t
      - name: count
        type: int
      item_type: struct
      name: t670_ReadThis
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/PROJ/curl/tests/libtest/lib670.c
    typedefs: []
    union: []
- function_names:
  - t3033_req_test
  - test_lib3033
  source_file: /src/PROJ/curl/tests/libtest/lib3033.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1545
  source_file: /src/PROJ/curl/tests/libtest/lib1545.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t599_progress_callback
  - test_lib599
  source_file: /src/PROJ/curl/tests/libtest/lib599.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t3034_read_cb
  - test_lib3034
  source_file: /src/PROJ/curl/tests/libtest/lib3034.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1531
  source_file: /src/PROJ/curl/tests/libtest/lib1531.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_data
  - t1533_read_cb
  - t1533_write_cb
  - perform_and_check_connections
  - test_lib1533
  source_file: /src/PROJ/curl/tests/libtest/lib1533.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: response_received
        type: int
      - name: paused
        type: int
      - name: remaining_bytes
        type: size_t
      item_type: struct
      name: cb_data
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib1533.c
    typedefs: []
    union: []
- function_names:
  - t537_store_errmsg
  - t537_close_file_descriptors
  - t537_fopen_works
  - test_lib537
  - test_lib537
  source_file: /src/PROJ/curl/tests/libtest/lib537.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T537_SAFETY_MARGIN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/tests/libtest/lib537.c
      type_or_value: (11)
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib537.c
      type_or_value: '"NUL"'
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/tests/libtest/lib537.c
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: LIMIT_CAP
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/tests/libtest/lib537.c
      type_or_value: (256*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3208
  source_file: /src/PROJ/curl/tests/libtest/lib3208.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1959
  source_file: /src/PROJ/curl/tests/libtest/lib1959.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib589
  source_file: /src/PROJ/curl/tests/libtest/lib589.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1970
  source_file: /src/PROJ/curl/tests/libtest/lib1970.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1502
  source_file: /src/PROJ/curl/tests/libtest/lib1502.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2402
  source_file: /src/PROJ/curl/tests/libtest/lib2402.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_ws_data_m2_check_recv
  - test_ws_data_m2_echo
  - test_ws_data_m1_read
  - test_ws_data_m1_write
  - test_ws_data_m1_echo
  - test_ws_data_usage
  - test_cli_ws_data
  source_file: /src/PROJ/curl/tests/libtest/cli_ws_data.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*send_buf'
        type: char
      - name: '*recv_buf'
        type: char
      - name: send_len
        type: size_t
      - name: recv_len
        type: size_t
      - name: nframes
        type: int
      - name: read_calls
        type: int
      - name: write_calls
        type: int
      - name: frames_read
        type: int
      - name: frames_written
        type: int
      item_type: struct
      name: test_ws_m1_ctx
      pos:
        line_end: 203
        line_start: 191
        source_file: /src/PROJ/curl/tests/libtest/cli_ws_data.c
    typedefs: []
    union: []
- function_names:
  - t1526_read_cb
  - test_lib1526
  source_file: /src/PROJ/curl/tests/libtest/lib1526.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t506_test_lock
  - t506_test_unlock
  - sethost
  - t506_test_fire
  - test_lib506
  source_file: /src/PROJ/curl/tests/libtest/lib506.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREADS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/tests/libtest/lib506.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*share'
        type: CURLSH
      - name: '*url'
        type: char
      item_type: struct
      name: t506_Tdata
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/PROJ/curl/tests/libtest/lib506.c
    - fields:
      - name: '*text'
        type: char
      - name: counter
        type: int
      item_type: struct
      name: t506_userdata
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/PROJ/curl/tests/libtest/lib506.c
    typedefs: []
    union: []
- function_names:
  - test_lib598
  source_file: /src/PROJ/curl/tests/libtest/lib598.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1576_read_cb
  - t1576_seek_callback
  - test_lib1576
  source_file: /src/PROJ/curl/tests/libtest/lib1576.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1972
  source_file: /src/PROJ/curl/tests/libtest/lib1972.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3104
  source_file: /src/PROJ/curl/tests/libtest/lib3104.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1974
  source_file: /src/PROJ/curl/tests/libtest/lib1974.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3105
  source_file: /src/PROJ/curl/tests/libtest/lib3105.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1538
  source_file: /src/PROJ/curl/tests/libtest/lib1538.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib544
  source_file: /src/PROJ/curl/tests/libtest/lib544.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1501
  source_file: /src/PROJ/curl/tests/libtest/lib1501.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1553_xferinfo
  - test_lib1553
  source_file: /src/PROJ/curl/tests/libtest/lib1553.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib526
  source_file: /src/PROJ/curl/tests/libtest/lib526.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1905
  source_file: /src/PROJ/curl/tests/libtest/lib1905.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib556
  source_file: /src/PROJ/curl/tests/libtest/lib556.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1916
  source_file: /src/PROJ/curl/tests/libtest/lib1916.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proxystat
  - test_lib536
  source_file: /src/PROJ/curl/tests/libtest/lib536.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib502
  source_file: /src/PROJ/curl/tests/libtest/lib502.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1542
  source_file: /src/PROJ/curl/tests/libtest/lib1542.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t508_read_cb
  - test_lib508
  source_file: /src/PROJ/curl/tests/libtest/lib508.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t508_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib508.c
    typedefs: []
    union: []
- function_names:
  - is_chain_in_order
  - wrfu
  - test_lib3102
  source_file: /src/PROJ/curl/tests/libtest/lib3102.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1903
  source_file: /src/PROJ/curl/tests/libtest/lib1903.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - debug_dump
  - libtest_debug_cb
  - log_line_start
  - cli_debug_cb
  source_file: /src/PROJ/curl/tests/libtest/testtrace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1935
  source_file: /src/PROJ/curl/tests/libtest/lib1935.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - loadfile
  - test_cert_blob
  - test_lib678
  source_file: /src/PROJ/curl/tests/libtest/lib678.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib652
  source_file: /src/PROJ/curl/tests/libtest/lib652.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1514_read_cb
  - test_lib1514
  source_file: /src/PROJ/curl/tests/libtest/lib1514.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t1514_WriteThis
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/PROJ/curl/tests/libtest/lib1514.c
    typedefs: []
    union: []
- function_names:
  - t1525_read_cb
  - test_lib1525
  source_file: /src/PROJ/curl/tests/libtest/lib1525.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1933
  source_file: /src/PROJ/curl/tests/libtest/lib1933.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1532
  source_file: /src/PROJ/curl/tests/libtest/lib1532.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1900
  source_file: /src/PROJ/curl/tests/libtest/lib1900.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - recv_any
  - t2304_websocket
  - test_lib2304
  source_file: /src/PROJ/curl/tests/libtest/lib2304.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fail_if
  - fail_unless
  - verify_memory
  - fail
  - abort_if
  - abort_unless
  - unittest_abort
  - UNITTEST_BEGIN
  source_file: /src/PROJ/curl/tests/libtest/unitcheck.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNITTEST_BEGIN_SIMPLE
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/PROJ/curl/tests/libtest/unitcheck.h
      type_or_value: "(void)arg;                                    \\\n  {"
    - item_type: preproc_def
      name: unit_test_abort
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/PROJ/curl/tests/libtest/unitcheck.h
      type_or_value: ":                                \\\n  return (CURLcode)unitfail;"
    - item_type: preproc_def
      name: unit_test_abort
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/PROJ/curl/tests/libtest/unitcheck.h
      type_or_value: ":                                \\\n  stopfunc;                                     \\\n
        \ return (CURLcode)unitfail;"
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1599
  source_file: /src/PROJ/curl/tests/libtest/lib1599.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1973
  source_file: /src/PROJ/curl/tests/libtest/lib1973.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1571
  source_file: /src/PROJ/curl/tests/libtest/lib1571.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib516
  source_file: /src/PROJ/curl/tests/libtest/lib516.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib751
  source_file: /src/PROJ/curl/tests/libtest/lib751.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1934
  source_file: /src/PROJ/curl/tests/libtest/lib1934.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib520
  source_file: /src/PROJ/curl/tests/libtest/lib520.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_transfer_for_easy_u
  - my_write_u_cb
  - my_read_cb
  - my_progress_u_cb
  - setup_hx_upload
  - usage_hx_upload
  - test_cli_hx_upload
  source_file: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: size_t
      - name: '*curl'
        type: CURL
      - name: '*method'
        type: char
      - name: filename[128]
        type: char
      - name: '*mime'
        type: curl_mime
      - name: '*out'
        type: FILE
      - name: send_total
        type: curl_off_t
      - name: recv_size
        type: curl_off_t
      - name: send_size
        type: curl_off_t
      - name: fail_at
        type: curl_off_t
      - name: pause_at
        type: curl_off_t
      - name: abort_at
        type: curl_off_t
      - name: started
        type: int
      - name: paused
        type: int
      - name: resumed
        type: int
      - name: done
        type: int
      item_type: struct
      name: transfer_u
      pos:
        line_end: 47
        line_start: 30
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_upload.c
    typedefs: []
    union: []
- function_names:
  - checkparts
  - checkurl
  - part2id
  - updateurl
  - set_url
  - setget_parts
  - set_parts
  - get_url
  - get_parts
  - append
  - scopeid
  - get_nothing
  - clear_url
  - huge
  - urldup
  - test_lib1560
  source_file: /src/PROJ/curl/tests/libtest/lib1560.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: part
        type: CURLUPart
      - name: '*name'
        type: char
      item_type: struct
      name: part
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*set'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: setflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: redircase
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*set'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: setflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      - name: pcode
        type: CURLUcode
      item_type: struct
      name: setcase
      pos:
        line_end: 106
        line_start: 98
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*set'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: setflags
        type: unsigned int
      - name: getflags
        type: unsigned int
      - name: pcode
        type: CURLUcode
      item_type: struct
      name: setgetcase
      pos:
        line_end: 116
        line_start: 108
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: getflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: testcase
      pos:
        line_end: 124
        line_start: 118
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: getflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: urltestcase
      pos:
        line_end: 132
        line_start: 126
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*q'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: qflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: querycase
      pos:
        line_end: 141
        line_start: 134
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    - fields:
      - name: part
        type: CURLUPart
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: clearurlcase
      pos:
        line_end: 148
        line_start: 143
        source_file: /src/PROJ/curl/tests/libtest/lib1560.c
    typedefs: []
    union: []
- function_names:
  - hstsread
  - hstsreadfail
  - hstswrite
  - test_lib1915
  source_file: /src/PROJ/curl/tests/libtest/lib1915.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: index
        type: int
      item_type: struct
      name: state
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/PROJ/curl/tests/libtest/lib1915.c
    - fields:
      - name: '*name'
        type: char
      - name: '*exp'
        type: char
      item_type: struct
      name: entry
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/PROJ/curl/tests/libtest/lib1915.c
    typedefs: []
    union: []
- function_names:
  - test_check
  - test_run_check
  - emptyWriteFunc
  - set_easy
  - test_run
  - empty_multi_test
  - test_lib2405
  source_file: /src/PROJ/curl/tests/libtest/lib2405.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_it
  - test_lib695
  source_file: /src/PROJ/curl/tests/libtest/lib695.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1551
  source_file: /src/PROJ/curl/tests/libtest/lib1551.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1564
  source_file: /src/PROJ/curl/tests/libtest/lib1564.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WAKEUP_NUM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib1564.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib504
  source_file: /src/PROJ/curl/tests/libtest/lib504.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib597
  source_file: /src/PROJ/curl/tests/libtest/lib597.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1597
  source_file: /src/PROJ/curl/tests/libtest/lib1597.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: '*exp'
        type: CURLcode
      item_type: struct
      name: pair
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/PROJ/curl/tests/libtest/lib1597.c
    typedefs: []
    union: []
- function_names:
  - test_lib525
  source_file: /src/PROJ/curl/tests/libtest/lib525.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib570
  source_file: /src/PROJ/curl/tests/libtest/lib570.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib549
  source_file: /src/PROJ/curl/tests/libtest/lib549.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1908
  source_file: /src/PROJ/curl/tests/libtest/lib1908.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1509
  - WriteOutput
  - WriteHeader
  source_file: /src/PROJ/curl/tests/libtest/lib1509.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1947_write_cb
  - test_lib1947
  source_file: /src/PROJ/curl/tests/libtest/lib1947.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_tse_cb
  - tse_add_transfer
  - test_cli_tls_session_reuse
  source_file: /src/PROJ/curl/tests/libtest/cli_tls_session_reuse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback
  - test_lib2032
  source_file: /src/PROJ/curl/tests/libtest/lib2032.c
  types:
    enum:
    - enumerators:
      - name: ReadyForNewHandle
      - name: NeedSocketForNewHandle
      - name: NoMoreHandles
      item_type: enum
      name: HandleState
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/PROJ/curl/tests/libtest/lib2032.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EASY_HANDLES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib2032.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tutil_suburl
  - tutil_rlim2str
  source_file: /src/PROJ/curl/tests/libtest/testutil.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - free_callback
  - t654_read_cb
  - test_lib654
  source_file: /src/PROJ/curl/tests/libtest/lib654.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      - name: freecount
        type: int
      item_type: struct
      name: t654_WriteThis
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib654.c
    typedefs: []
    union: []
- function_names:
  - test_lib514
  source_file: /src/PROJ/curl/tests/libtest/lib514.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1301_fail_unless
  - test_lib1301
  source_file: /src/PROJ/curl/tests/libtest/lib1301.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib521
  source_file: /src/PROJ/curl/tests/libtest/lib521.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2404
  source_file: /src/PROJ/curl/tests/libtest/lib2404.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1591_read_cb
  - t1591_trailers_callback
  - test_lib1591
  source_file: /src/PROJ/curl/tests/libtest/lib1591.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pingpong
  - test_cli_ws_pingpong
  source_file: /src/PROJ/curl/tests/libtest/cli_ws_pingpong.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dload_progress_cb
  - t1523_write_cb
  - run
  - test_lib1523
  source_file: /src/PROJ/curl/tests/libtest/lib1523.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_httppost_callback
  - t1308_fail_unless
  - test_lib1308
  source_file: /src/PROJ/curl/tests/libtest/lib1308.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - custom_calloc
  - custom_malloc
  - custom_strdup
  - custom_realloc
  - custom_free
  - test_lib509
  source_file: /src/PROJ/curl/tests/libtest/lib509.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t2301_websocket
  - t2301_write_cb
  - test_lib2301
  source_file: /src/PROJ/curl/tests/libtest/lib2301.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib512
  source_file: /src/PROJ/curl/tests/libtest/lib512.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t530_tag
  - t530_msg
  - t530_removeFd
  - t530_addFd
  - t530_curlSocketCallback
  - t530_curlTimerCallback
  - t530_checkForCompletion
  - t530_getMicroSecondTimeout
  - t530_updateFdSet
  - socket_action
  - t530_checkFdSet
  - testone
  - test_lib530
  source_file: /src/PROJ/curl/tests/libtest/lib530.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: socket_calls
        type: int
      - name: max_socket_calls
        type: int
      - name: timer_calls
        type: int
      - name: max_timer_calls
        type: int
      - name: buf[1024]
        type: char
      item_type: struct
      name: t530_ctx
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib530.c
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: count
        type: int
      - name: max_count
        type: int
      item_type: struct
      name: t530_Sockets
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/PROJ/curl/tests/libtest/lib530.c
    - fields:
      - name: read
        type: struct t530_Sockets
      item_type: struct
      name: t530_ReadWriteSockets
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/PROJ/curl/tests/libtest/lib530.c
    typedefs: []
    union: []
- function_names:
  - test_lib1938
  source_file: /src/PROJ/curl/tests/libtest/lib1938.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - myreadfunc
  - test_lib553
  source_file: /src/PROJ/curl/tests/libtest/lib553.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POSTLEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/tests/libtest/lib553.c
      type_or_value: '40960'
    - item_type: preproc_def
      name: NUM_HEADERS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/tests/libtest/lib553.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZE_HEADERS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/tests/libtest/lib553.c
      type_or_value: '5000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib674
  source_file: /src/PROJ/curl/tests/libtest/lib674.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1535
  source_file: /src/PROJ/curl/tests/libtest/lib1535.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_transfer_for_easy_d
  - my_write_d_cb
  - my_progress_d_cb
  - setup_hx_download
  - usage_hx_download
  - test_cli_hx_download
  source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: size_t
      - name: '*curl'
        type: CURL
      - name: filename[128]
        type: char
      - name: '*out'
        type: FILE
      - name: recv_size
        type: curl_off_t
      - name: fail_at
        type: curl_off_t
      - name: pause_at
        type: curl_off_t
      - name: abort_at
        type: curl_off_t
      - name: started
        type: int
      - name: paused
        type: int
      - name: resumed
        type: int
      - name: done
        type: int
      - name: checked_ssl
        type: int
      - name: result
        type: CURLcode
      item_type: struct
      name: transfer_d
      pos:
        line_end: 66
        line_start: 51
        source_file: /src/PROJ/curl/tests/libtest/cli_hx_download.c
    typedefs: []
    union: []
- function_names:
  - send_request
  - send_wrong_password
  - send_right_password
  - parse_auth_name
  - test_lib2023
  source_file: /src/PROJ/curl/tests/libtest/lib2023.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage_h2_pausing
  - cb
  - test_cli_h2_pausing
  source_file: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: size_t
      - name: paused
        type: int
      - name: resumed
        type: int
      - name: errored
        type: int
      - name: fail_write
        type: int
      - name: '*curl'
        type: CURL
      item_type: struct
      name: handle
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/PROJ/curl/tests/libtest/cli_h2_pausing.c
    typedefs: []
    union: []
- function_names:
  - chunk_bgn
  - chunk_end
  - test_lib576
  source_file: /src/PROJ/curl/tests/libtest/lib576.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: remains
        type: int
      - name: print_content
        type: int
      item_type: struct
      name: chunk_data
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib576.c
    typedefs: []
    union: []
- function_names:
  - test_lib539
  source_file: /src/PROJ/curl/tests/libtest/lib539.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib590
  source_file: /src/PROJ/curl/tests/libtest/lib590.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t518_store_errmsg
  - t518_close_file_descriptors
  - t518_fopen_works
  - t518_test_rlimit
  - test_lib518
  - test_lib518
  source_file: /src/PROJ/curl/tests/libtest/lib518.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T518_SAFETY_MARGIN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/tests/libtest/lib518.c
      type_or_value: (16)
    - item_type: preproc_def
      name: NUM_OPEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/tests/libtest/lib518.c
      type_or_value: (FD_SETSIZE + 10)
    - item_type: preproc_def
      name: NUM_NEEDED
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib518.c
      type_or_value: (NUM_OPEN + T518_SAFETY_MARGIN)
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/tests/libtest/lib518.c
      type_or_value: '"NUL"'
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/tests/libtest/lib518.c
      type_or_value: '"/dev/null"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib523
  source_file: /src/PROJ/curl/tests/libtest/lib523.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib515
  source_file: /src/PROJ/curl/tests/libtest/lib515.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib591
  source_file: /src/PROJ/curl/tests/libtest/lib591.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - opensocket
  - test_lib1530
  source_file: /src/PROJ/curl/tests/libtest/lib1530.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib507
  source_file: /src/PROJ/curl/tests/libtest/lib507.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - resolver_alloc_cb_fail
  - resolver_alloc_cb_pass
  - test_lib655
  source_file: /src/PROJ/curl/tests/libtest/lib655.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1557
  source_file: /src/PROJ/curl/tests/libtest/lib1557.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1506
  source_file: /src/PROJ/curl/tests/libtest/lib1506.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1552
  source_file: /src/PROJ/curl/tests/libtest/lib1552.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3100
  source_file: /src/PROJ/curl/tests/libtest/lib3100.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib572
  source_file: /src/PROJ/curl/tests/libtest/lib572.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1510
  source_file: /src/PROJ/curl/tests/libtest/lib1510.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1593
  source_file: /src/PROJ/curl/tests/libtest/lib1593.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1978
  source_file: /src/PROJ/curl/tests/libtest/lib1978.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t555_read_cb
  - t555_ioctl_callback
  - test_lib555
  source_file: /src/PROJ/curl/tests/libtest/lib555.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T555_DATALEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/tests/libtest/lib555.c
      type_or_value: (sizeof(t555_uploadthis)-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1936
  source_file: /src/PROJ/curl/tests/libtest/lib1936.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1527_read_cb
  - test_lib1527
  source_file: /src/PROJ/curl/tests/libtest/lib1527.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1964
  source_file: /src/PROJ/curl/tests/libtest/lib1964.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t513_read_cb
  - test_lib513
  source_file: /src/PROJ/curl/tests/libtest/lib513.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/tests/libtest/testutil.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_memory_callback
  - test_thread
  - t3207_test_lock
  - t3207_test_unlock
  - execute
  - execute
  - test_lib3207
  source_file: /src/PROJ/curl/tests/libtest/lib3207.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREAD_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/tests/libtest/lib3207.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PER_THREAD_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/tests/libtest/lib3207.c
      type_or_value: '8'
    structs:
    - fields:
      - name: '*URL'
        type: char
      - name: '*share'
        type: CURLSH
      - name: result
        type: CURLcode
      - name: thread_id
        type: size_t
      - name: '*contents'
        type: struct curl_slist
      item_type: struct
      name: Ctx
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/PROJ/curl/tests/libtest/lib3207.c
    typedefs: []
    union: []
- function_names:
  - please_continue
  - t1540_header_callback
  - t1540_write_cb
  - test_lib1540
  source_file: /src/PROJ/curl/tests/libtest/lib1540.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: halted
        type: int
      - name: counter
        type: int
      - name: please
        type: int
      item_type: struct
      name: t1540_transfer_status
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/PROJ/curl/tests/libtest/lib1540.c
    typedefs: []
    union: []
- function_names:
  - test_lib677
  source_file: /src/PROJ/curl/tests/libtest/lib677.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1512
  source_file: /src/PROJ/curl/tests/libtest/lib1512.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1958
  source_file: /src/PROJ/curl/tests/libtest/lib1958.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1485_header_callback
  - t1485_write_cb
  - test_lib1485
  source_file: /src/PROJ/curl/tests/libtest/lib1485.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: out_len
        type: curl_off_t
      - name: hd_line
        type: size_t
      - name: result
        type: CURLcode
      - name: http_status
        type: int
      item_type: struct
      name: t1485_transfer_status
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib1485.c
    typedefs: []
    union: []
- function_names:
  - test_lib583
  source_file: /src/PROJ/curl/tests/libtest/lib583.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1582
  source_file: /src/PROJ/curl/tests/libtest/lib1582.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/tests/libtest/memptr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1918
  source_file: /src/PROJ/curl/tests/libtest/lib1918.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1507_read_cb
  - test_lib1507
  source_file: /src/PROJ/curl/tests/libtest/lib1507.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1569
  source_file: /src/PROJ/curl/tests/libtest/lib1569.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1558
  source_file: /src/PROJ/curl/tests/libtest/lib1558.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib542
  source_file: /src/PROJ/curl/tests/libtest/lib542.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_one_request
  - test_lib1515
  source_file: /src/PROJ/curl/tests/libtest/lib1515.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_TIMEOUT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib1515.c
      type_or_value: 1L
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib501
  source_file: /src/PROJ/curl/tests/libtest/lib501.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3101
  source_file: /src/PROJ/curl/tests/libtest/lib3101.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1910
  source_file: /src/PROJ/curl/tests/libtest/lib1910.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sockopt_766
  - test_lib766
  source_file: /src/PROJ/curl/tests/libtest/lib766.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t578_progress_callback
  - test_lib578
  source_file: /src/PROJ/curl/tests/libtest/lib578.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib558
  source_file: /src/PROJ/curl/tests/libtest/lib558.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1919
  source_file: /src/PROJ/curl/tests/libtest/lib1919.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - progressCallback
  - test_lib1555
  source_file: /src/PROJ/curl/tests/libtest/lib1555.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1537
  source_file: /src/PROJ/curl/tests/libtest/lib1537.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t552_read_cb
  - t552_write_cb
  - ioctl_callback
  - test_lib552
  source_file: /src/PROJ/curl/tests/libtest/lib552.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t582_removeFd
  - t582_addFd
  - t582_curlSocketCallback
  - t582_curlTimerCallback
  - t582_checkForCompletion
  - t582_getMicroSecondTimeout
  - t582_updateFdSet
  - notifyCurl
  - t582_checkFdSet
  - test_lib582
  source_file: /src/PROJ/curl/tests/libtest/lib582.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: count
        type: int
      - name: max_count
        type: int
      item_type: struct
      name: t582_Sockets
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib582.c
    - fields:
      - name: read
        type: struct t582_Sockets
      item_type: struct
      name: t582_ReadWriteSockets
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/PROJ/curl/tests/libtest/lib582.c
    typedefs: []
    union: []
- function_names:
  - test_lib1529
  source_file: /src/PROJ/curl/tests/libtest/lib1529.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1957
  source_file: /src/PROJ/curl/tests/libtest/lib1957.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1565_run_thread
  - test_lib1565
  - test_lib1565
  source_file: /src/PROJ/curl/tests/libtest/lib1565.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONN_NUM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/tests/libtest/lib1565.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TIME_BETWEEN_START_SECS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/tests/libtest/lib1565.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1940_write_cb
  - t1940_showem
  - test_lib1940
  source_file: /src/PROJ/curl/tests/libtest/lib1940.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib505
  source_file: /src/PROJ/curl/tests/libtest/lib505.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1907
  source_file: /src/PROJ/curl/tests/libtest/lib1907.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1508
  source_file: /src/PROJ/curl/tests/libtest/lib1508.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1554_test_lock
  - t1554_test_unlock
  - test_lib1554
  source_file: /src/PROJ/curl/tests/libtest/lib1554.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init
  - loop
  - test_lib540
  source_file: /src/PROJ/curl/tests/libtest/lib540.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1511
  source_file: /src/PROJ/curl/tests/libtest/lib1511.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3025
  source_file: /src/PROJ/curl/tests/libtest/lib3025.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1559
  source_file: /src/PROJ/curl/tests/libtest/lib1559.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_h2_upg_extreme_cb
  - test_cli_h2_upgrade_extreme
  source_file: /src/PROJ/curl/tests/libtest/cli_h2_upgrade_extreme.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1549
  source_file: /src/PROJ/curl/tests/libtest/lib1549.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib541
  source_file: /src/PROJ/curl/tests/libtest/lib541.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib533
  source_file: /src/PROJ/curl/tests/libtest/lib533.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib503
  source_file: /src/PROJ/curl/tests/libtest/lib503.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib659
  source_file: /src/PROJ/curl/tests/libtest/lib659.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1971_read_cb
  - test_lib1971
  source_file: /src/PROJ/curl/tests/libtest/lib1971.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1520_read_cb
  - test_lib1520
  source_file: /src/PROJ/curl/tests/libtest/lib1520.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lines_read
        type: int
      item_type: struct
      name: upload_status
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib1520.c
    typedefs: []
    union: []
- function_names:
  - setup_h2_serverpush
  - server_push_callback
  - test_cli_h2_serverpush
  source_file: /src/PROJ/curl/tests/libtest/cli_h2_serverpush.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1945_showem
  - t1945_write_cb
  - test_lib1945
  source_file: /src/PROJ/curl/tests/libtest/lib1945.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib524
  source_file: /src/PROJ/curl/tests/libtest/lib524.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib519
  source_file: /src/PROJ/curl/tests/libtest/lib519.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/tests/libtest/testtrace.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tracetime
        type: bool
      - name: nohex
        type: bool
      item_type: struct
      name: libtest_trace_cfg
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/PROJ/curl/tests/libtest/testtrace.h
    typedefs: []
    union: []
- function_names:
  - t586_test_lock
  - t586_test_unlock
  - t586_test_fire
  - test_lib586
  source_file: /src/PROJ/curl/tests/libtest/lib586.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREADS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib586.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*share'
        type: CURLSH
      - name: '*url'
        type: char
      item_type: struct
      name: t586_Tdata
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/PROJ/curl/tests/libtest/lib586.c
    - fields:
      - name: '*text'
        type: char
      - name: counter
        type: int
      item_type: struct
      name: t586_userdata
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib586.c
    typedefs: []
    union: []
- function_names:
  - t3026_run_thread
  - test_lib3026
  - t3026_run_thread
  - test_lib3026
  - test_lib3026
  source_file: /src/PROJ/curl/tests/libtest/lib3026.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_THREADS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PROJ/curl/tests/libtest/lib3026.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - t643_read_cb
  - t643_test_once
  - t643_cyclic_add
  - test_lib643
  source_file: /src/PROJ/curl/tests/libtest/lib643.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      item_type: struct
      name: t643_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib643.c
    typedefs: []
    union: []
- function_names:
  - test_lib694
  source_file: /src/PROJ/curl/tests/libtest/lib694.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib666
  source_file: /src/PROJ/curl/tests/libtest/lib666.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_757
  - read_757
  - seek_757
  - test_lib757
  source_file: /src/PROJ/curl/tests/libtest/lib757.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DATA757
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/tests/libtest/lib757.c
      type_or_value: '"<title>fun-times</title>"'
    - item_type: preproc_def
      name: DATALEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/tests/libtest/lib757.c
      type_or_value: (sizeof(DATA757) - 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib676
  source_file: /src/PROJ/curl/tests/libtest/lib676.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - put_callback
  - test_lib1948
  source_file: /src/PROJ/curl/tests/libtest/lib1948.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: put_buffer
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/PROJ/curl/tests/libtest/lib1948.c
    typedefs: []
    union: []
- function_names:
  - test_lib1536
  source_file: /src/PROJ/curl/tests/libtest/lib1536.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib511
  source_file: /src/PROJ/curl/tests/libtest/lib511.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib653
  source_file: /src/PROJ/curl/tests/libtest/lib653.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t554_read_cb
  - t587_read_cb
  - t554_test_once
  - test_lib554
  source_file: /src/PROJ/curl/tests/libtest/lib554.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t554_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib554.c
    typedefs: []
    union: []
- function_names:
  - test_lib517
  source_file: /src/PROJ/curl/tests/libtest/lib517.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: output
        type: time_t
      item_type: struct
      name: dcheck
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/PROJ/curl/tests/libtest/lib517.c
    typedefs: []
    union: []
- function_names:
  - writedata
  - onetest
  - test_lib1156
  source_file: /src/PROJ/curl/tests/libtest/lib1156.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F_RESUME
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 0)        '
    - item_type: preproc_def
      name: F_HTTP416
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 1)        '
    - item_type: preproc_def
      name: F_FAIL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 2)        '
    - item_type: preproc_def
      name: F_CONTENTRANGE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 3)        '
    - item_type: preproc_def
      name: F_IGNOREBODY
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 4)        '
    structs:
    - fields:
      - name: flags
        type: unsigned int
      - name: result
        type: CURLcode
      item_type: struct
      name: testparams
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/PROJ/curl/tests/libtest/lib1156.c
    typedefs: []
    union: []
- function_names:
  - t1901_read_cb
  - test_lib1901
  source_file: /src/PROJ/curl/tests/libtest/lib1901.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_err
  - test_lib1912
  source_file: /src/PROJ/curl/tests/libtest/lib1912.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t510_read_cb
  - test_lib510
  source_file: /src/PROJ/curl/tests/libtest/lib510.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: counter
        type: int
      item_type: struct
      name: t510_WriteThis
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib510.c
    typedefs: []
    union: []
- function_names:
  - test_lib569
  source_file: /src/PROJ/curl/tests/libtest/lib569.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1592
  source_file: /src/PROJ/curl/tests/libtest/lib1592.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - progress_final_report
  - t579_progress_callback
  - t579_read_cb
  - test_lib579
  source_file: /src/PROJ/curl/tests/libtest/lib579.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: counter
        type: int
      item_type: struct
      name: t579_WriteThis
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib579.c
    typedefs: []
    union: []
- function_names:
  - test_lib566
  source_file: /src/PROJ/curl/tests/libtest/lib566.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unsigned_short_formatting
  - test_signed_short_formatting
  - test_unsigned_int_formatting
  - test_signed_int_formatting
  - test_unsigned_long_formatting
  - test_signed_long_formatting
  - test_curl_off_t_formatting
  - string_check_low
  - string_check
  - strlen_check_low
  - strlen_check
  - test_string_formatting
  - test_pos_arguments
  - test_width_precision
  - test_weird_arguments
  - test_float_formatting
  - test_oct_hex_formatting
  - test_return_codes
  - test_lib557
  source_file: /src/PROJ/curl/tests/libtest/lib557.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFSZ
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
      type_or_value: '256'
    - item_type: preproc_def
      name: SPACE60
      pos:
        line_end: 1193
        line_start: 1192
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
      type_or_value: '"                                                            "'
    - item_type: preproc_def
      name: SPACE300
      pos:
        line_end: 1194
        line_start: 1193
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
      type_or_value: SPACE60 SPACE60 SPACE60 SPACE60 SPACE60
    - item_type: preproc_def
      name: OK325
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
      type_or_value: SPACE300 "                        0"
    - item_type: preproc_def
      name: MAXIMIZE
      pos:
        line_end: 1350
        line_start: 1349
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
      type_or_value: '-1.7976931348623157081452E+308'
    structs:
    - fields:
      - name: num
        type: unsigned short
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: unsshort_st
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: short
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: sigshort_st
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: unsigned int
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: unsint_st
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: int
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: sigint_st
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: unsigned long
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: unslong_st
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: long
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: siglong_st
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: curl_off_t
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: curloff_st
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/PROJ/curl/tests/libtest/lib557.c
    typedefs: []
    union: []
- function_names:
  - test_lib1913
  source_file: /src/PROJ/curl/tests/libtest/lib1913.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t753_write_cb
  - t753_hd_cb
  - t753_setup
  - test_lib753
  source_file: /src/PROJ/curl/tests/libtest/lib753.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*name'
        type: char
      - name: pause
        type: bool
      - name: is_paused
        type: bool
      - name: seen_welcome
        type: bool
      item_type: struct
      name: t753_transfer_status
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/PROJ/curl/tests/libtest/lib753.c
    typedefs: []
    union: []
- function_names:
  - test_lib575
  source_file: /src/PROJ/curl/tests/libtest/lib575.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t668_read_cb
  - test_lib668
  source_file: /src/PROJ/curl/tests/libtest/lib668.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      item_type: struct
      name: t668_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib668.c
    typedefs: []
    union: []
- function_names:
  - count_chars
  - test_lib650
  source_file: /src/PROJ/curl/tests/libtest/lib650.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_callback
  - progress_callback
  - usage_upload_pausing
  - test_cli_upload_pausing
  source_file: /src/PROJ/curl/tests/libtest/cli_upload_pausing.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib651
  source_file: /src/PROJ/curl/tests/libtest/lib651.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - closesocket_cb
  - socket_cb
  - sockopt_cb
  - my_inet_pton
  - my_inet_pton
  - test_lib1960
  - test_lib1960
  source_file: /src/PROJ/curl/tests/libtest/lib1960.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1594
  source_file: /src/PROJ/curl/tests/libtest/lib1594.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sockopt_callback
  - test_lib1522
  source_file: /src/PROJ/curl/tests/libtest/lib1522.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t758_tag
  - t758_msg
  - t758_removeFd
  - t758_addFd
  - t758_curlSocketCallback
  - t758_curlTimerCallback
  - t758_cert_verify_callback
  - t758_set_ssl_ctx_callback
  - t758_checkForCompletion
  - t758_getMicroSecondTimeout
  - t758_updateFdSet
  - t758_saction
  - t758_checkFdSet
  - t758_one
  - test_lib758
  - test_lib758
  source_file: /src/PROJ/curl/tests/libtest/lib758.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: socket_calls
        type: int
      - name: max_socket_calls
        type: int
      - name: timer_calls
        type: int
      - name: max_timer_calls
        type: int
      - name: fake_async_cert_verification_pending
        type: int
      - name: fake_async_cert_verification_finished
        type: int
      - name: number_of_cert_verify_callbacks
        type: int
      - name: buf[1024]
        type: char
      item_type: struct
      name: t758_ctx
      pos:
        line_end: 56
        line_start: 47
        source_file: /src/PROJ/curl/tests/libtest/lib758.c
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: count
        type: int
      - name: max_count
        type: int
      item_type: struct
      name: t758_Sockets
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/PROJ/curl/tests/libtest/lib758.c
    - fields:
      - name: read
        type: struct t758_Sockets
      item_type: struct
      name: t758_ReadWriteSockets
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/PROJ/curl/tests/libtest/lib758.c
    typedefs: []
    union: []
- function_names:
  - test_lib1550
  source_file: /src/PROJ/curl/tests/libtest/lib1550.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2306
  source_file: /src/PROJ/curl/tests/libtest/lib2306.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flush_data
  - add_data
  - t2302_write_cb
  - test_lib2302
  source_file: /src/PROJ/curl/tests/libtest/lib2302.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIB2302_BUFSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/tests/libtest/lib2302.c
      type_or_value: (1024 * 1024)
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*buf'
        type: char
      - name: blen
        type: size_t
      - name: nwrites
        type: size_t
      - name: has_meta
        type: int
      - name: meta_flags
        type: int
      item_type: struct
      name: ws_data
      pos:
        line_end: 34
        line_start: 27
        source_file: /src/PROJ/curl/tests/libtest/lib2302.c
    typedefs: []
    union: []
- function_names:
  - test_lib1567
  source_file: /src/PROJ/curl/tests/libtest/lib1567.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1975_read_cb
  - test_lib1975
  source_file: /src/PROJ/curl/tests/libtest/lib1975.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb_curl
  - test_lib2308
  source_file: /src/PROJ/curl/tests/libtest/lib2308.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib564
  source_file: /src/PROJ/curl/tests/libtest/lib564.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb_ignore
  - test_lib2309
  source_file: /src/PROJ/curl/tests/libtest/lib2309.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_tool1394
  source_file: /src/PROJ/curl/tests/tunit/tool1394.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getflagstr
  - getcurlcodestr
  - test_tool1604
  source_file: /src/PROJ/curl/tests/tunit/tool1604.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: flags
        type: int
      - name: '*expected_output'
        type: char
      - name: expected_result
        type: SANITIZEcode
      item_type: struct
      name: data
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/PROJ/curl/tests/tunit/tool1604.c
    typedefs: []
    union: []
- function_names:
  - test_tool1621
  source_file: /src/PROJ/curl/tests/tunit/tool1621.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*output'
        type: char
      item_type: struct
      name: checkthis
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/PROJ/curl/tests/tunit/tool1621.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/tests/server/first.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_STRNICMP
  - CURL_STRNICMP
  - CURL_STRNICMP
  - CURL_STRNICMP
  source_file: /src/PROJ/curl/tests/server/first.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/tests/server/first.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: GPE_NO_BUFFER_SPACE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/tests/server/first.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: GPE_OUT_OF_MEMORY
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/tests/server/first.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: GPE_OK
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/tests/server/first.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GPE_END_OF_FILE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/tests/server/first.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SERVERLOGS_LOCKDIR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/curl/tests/server/first.h
      type_or_value: '"lock"  '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: ptr
        type: entry_func_t
      item_type: struct
      name: entry_s
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/PROJ/curl/tests/server/first.h
    typedefs:
    - item_type: typedef
      name: (*entry_func_t)(int, char **)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/PROJ/curl/tests/server/first.h
      type: int
    union:
    - fields:
      - name: sa
        type: struct sockaddr
      - name: sa4
        type: struct sockaddr_in
      item_type: union
      name: srvr_sockaddr_union_t
      pos:
        line_end: 115
        line_start: 106
        source_file: /src/PROJ/curl/tests/server/first.h
- function_names:
  - EAT_SPACE
  - EAT_WORD
  - show
  - show
  - line_length
  - readline
  - appenddata
  - decodedata
  - getpart
  source_file: /src/PROJ/curl/tests/server/getpart.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TAG_LEN
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/curl/tests/server/getpart.c
      type_or_value: '200'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: sig
        type: ssize_t
      - name: uns
        type: size_t
      item_type: union
      name: len
      pos:
        line_end: 257
        line_start: 254
        source_file: /src/PROJ/curl/tests/server/getpart.c
- function_names:
  - socket_domain_is_ip
  - parse_cmdfile
  - sws_parse_servercmd
  - sws_ProcessRequest
  - sws_storerequest
  - init_httprequest
  - sws_get_request
  - sws_send_doc
  - connect_to
  - data_or_ctrl
  - http_connect
  - http_upgrade
  - accept_connection
  - service_connection
  - test_sws
  source_file: /src/PROJ/curl/tests/server/sws.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SLEEP_TIME_MS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '250'
    - item_type: preproc_def
      name: RCMD_NORMALREQ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: RCMD_IDLE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: RCMD_STREAM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: MAX_SOCKETS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SWSVERSION
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"curl test suite HTTP server/0.1"'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"server.input"'
    - item_type: preproc_def
      name: RESPONSE_DUMP
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"server.response"'
    - item_type: preproc_def
      name: REQUEST_PROXY_DUMP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"proxy.input"'
    - item_type: preproc_def
      name: RESPONSE_PROXY_DUMP
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"proxy.response"'
    - item_type: preproc_def
      name: MAXDOCNAMELEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '140000'
    - item_type: preproc_def
      name: MAXDOCNAMELEN_TXT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"139999"'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '256'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE_TXT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"255"'
    - item_type: preproc_def
      name: CMD_AUTH_REQUIRED
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"auth_required"'
    - item_type: preproc_def
      name: CMD_IDLE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"idle"'
    - item_type: preproc_def
      name: CMD_STREAM
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"stream"'
    - item_type: preproc_def
      name: CMD_CONNECTIONMONITOR
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"connection-monitor"'
    - item_type: preproc_def
      name: CMD_UPGRADE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"upgrade"'
    - item_type: preproc_def
      name: CMD_SWSCLOSE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"swsclose"'
    - item_type: preproc_def
      name: CMD_NOEXPECT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"no-expect"'
    - item_type: preproc_def
      name: END_OF_HEADERS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '"\r\n\r\n"'
    - item_type: preproc_def
      name: SWS_CTRL
      pos:
        line_end: 1383
        line_start: 1382
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SWS_DATA
      pos:
        line_end: 1384
        line_start: 1383
        source_file: /src/PROJ/curl/tests/server/sws.c
      type_or_value: '1'
    structs:
    - fields:
      - name: reqbuf[2*1024*1024]
        type: char
      - name: connect_request
        type: bool
      - name: connect_port
        type: unsigned short
      - name: checkindex
        type: size_t
      - name: offset
        type: size_t
      - name: testno
        type: long
      - name: partno
        type: long
      - name: open
        type: bool
      - name: auth_req
        type: bool
      - name: auth
        type: bool
      - name: cl
        type: size_t
      - name: digest
        type: bool
      - name: ntlm
        type: bool
      - name: delay
        type: int
      - name: writedelay
        type: int
      - name: skip
        type: int
      - name: rcmd
        type: int
      - name: prot_version
        type: int
      - name: callcount
        type: int
      - name: skipall
        type: bool
      - name: noexpect
        type: bool
      - name: connmon
        type: bool
      - name: upgrade
        type: bool
      - name: upgrade_request
        type: bool
      - name: close
        type: bool
      - name: done_processing
        type: int
      item_type: struct
      name: sws_httprequest
      pos:
        line_end: 85
        line_start: 52
        source_file: /src/PROJ/curl/tests/server/sws.c
    typedefs: []
    union: []
- function_names:
  - read_wincon
  - write_wincon
  - fullread
  - fullwrite
  - read_stdin
  - write_stdout
  - lograw
  - read_data_block
  - select_ws_wait_thread
  - select_ws_wait
  - select_ws
  - SOCKFILT_select
  - SOCKFILT_select
  - disc_handshake
  - juggle
  - test_sockfilt
  source_file: /src/PROJ/curl/tests/server/sockfilt.c
  types:
    enum:
    - enumerators:
      - name: PASSIVE_LISTEN
      - name: PASSIVE_CONNECT
      - name: ACTIVE_DISCONNECT
      - name: ACTIVE
      item_type: enum
      name: sockmode
      pos:
        line_end: 101
        line_start: 96
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
      type_or_value: '17010'
    - item_type: preproc_def
      name: SOCKFILT_read
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
      type_or_value: read_wincon
    - item_type: preproc_def
      name: SOCKFILT_write
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
      type_or_value: write_wincon
    - item_type: preproc_def
      name: SOCKFILT_read
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
      type_or_value: read
    - item_type: preproc_def
      name: SOCKFILT_write
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
      type_or_value: write
    - item_type: preproc_def
      name: CURL_WIN32_EPIPE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
      type_or_value: '109'
    structs:
    - fields:
      - name: handle
        type: HANDLE
      - name: signal
        type: HANDLE
      - name: abort
        type: HANDLE
      item_type: struct
      name: select_ws_wait_data
      pos:
        line_end: 423
        line_start: 419
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
    - fields:
      - name: fd
        type: int
      - name: wsastate
        type: long
      - name: wsasock
        type: curl_socket_t
      - name: wsaevent
        type: WSAEVENT
      - name: signal
        type: HANDLE
      - name: thread
        type: HANDLE
      item_type: struct
      name: select_ws_data
      pos:
        line_end: 598
        line_start: 591
        source_file: /src/PROJ/curl/tests/server/sockfilt.c
    typedefs: []
    union: []
- function_names:
  - socksd_resetdefaults
  - shortval
  - socksd_getconfig
  - socksconnect
  - socks4
  - sockit
  - tunnel
  - socksd_incoming
  - test_socksd
  source_file: /src/PROJ/curl/tests/server/socksd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_VERSION
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CONFIG_NMETHODS_MIN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: CONFIG_NMETHODS_MAX
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CONFIG_RESPONSEVERSION
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: CONFIG_VERSION
    - item_type: preproc_def
      name: CONFIG_RESPONSEMETHOD
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: CONFIG_REQCMD
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: CONFIG_PORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: backendport
    - item_type: preproc_def
      name: CONFIG_ADDR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: backendaddr
    - item_type: preproc_def
      name: CONFIG_CONNECTREP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SOCKS5_VERSION
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SOCKS5_NMETHODS
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: SOCKS5_REQCMD
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS5_RESERVED
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SOCKS5_ATYP
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SOCKS5_DSTADDR
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SOCKS5_REP
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS5_BNDADDR
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SOCKS5_ULEN
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS5_UNAME
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SOCKS4_CD
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS4_DSTPORT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/curl/tests/server/socksd.c
      type_or_value: '2'
    structs:
    - fields:
      - name: version
        type: unsigned char
      - name: nmethods_min
        type: unsigned char
      - name: nmethods_max
        type: unsigned char
      - name: responseversion
        type: unsigned char
      - name: responsemethod
        type: unsigned char
      - name: reqcmd
        type: unsigned char
      - name: connectrep
        type: unsigned char
      - name: port
        type: unsigned short
      - name: addr[32]
        type: char
      - name: user[256]
        type: char
      - name: password[256]
        type: char
      item_type: struct
      name: socksd_configurable
      pos:
        line_end: 76
        line_start: 63
        source_file: /src/PROJ/curl/tests/server/socksd.c
    - fields:
      - name: fromremote
        type: size_t
      - name: fromclient
        type: size_t
      - name: remotefd
        type: curl_socket_t
      - name: clientfd
        type: curl_socket_t
      - name: used
        type: bool
      item_type: struct
      name: perclient
      pos:
        line_end: 555
        line_start: 549
        source_file: /src/PROJ/curl/tests/server/socksd.c
    typedefs: []
    union: []
- function_names:
  - data_to_hex
  - loghex
  - logmsg
  - byteval
  - win32_perror
  - win32_cleanup
  - win32_init
  - test2fopen
  - t_getpid
  - t_getpid
  - our_getpid
  - write_pidfile
  - write_portfile
  - set_advisor_read_lock
  - clear_advisor_read_lock
  - exit_signal_handler
  - ctrl_event_handler
  - main_window_proc
  - main_window_loop
  - set_signal
  - install_signal_handlers
  - restore_signal_handlers
  - bind_unix_socket
  - sockdaemon
  source_file: /src/PROJ/curl/tests/server/util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIG_ERR
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/PROJ/curl/tests/server/util.c
      type_or_value: ((SIGHANDLER_T)(size_t)-1)
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/PROJ/curl/tests/server/util.c
      type_or_value: S_IREAD | S_IWRITE
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/PROJ/curl/tests/server/util.c
      type_or_value: S_IRUSR | S_IWUSR
    structs: []
    typedefs:
    - item_type: typedef
      name: (*SIGHANDLER_T)(int)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/PROJ/curl/tests/server/util.c
      type: void
    union: []
- function_names:
  - get16bit
  - qname
  - type2string
  - store_incoming
  - add_answer
  - send_response
  - read_instructions
  - test_dnsd
  source_file: /src/PROJ/curl/tests/server/dnsd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QTYPE_A
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: QTYPE_AAAA
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: '28'
    - item_type: preproc_def
      name: QTYPE_HTTPS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: '0x41'
    - item_type: preproc_def
      name: SENDTO3
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: int
    - item_type: preproc_def
      name: SENDTO3
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: size_t
    - item_type: preproc_def
      name: INSTRUCTIONS
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: '"dnsd.cmd"'
    - item_type: preproc_def
      name: MAX_ALPN
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/curl/tests/server/dnsd.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mysignal
  - timer
  - justtimeout
  - rw_init
  - w_init
  - r_init
  - readit
  - read_ahead
  - writeit
  - write_behind
  - synchnet
  - do_tftp
  - tftpd_parse_servercmd
  - validate_access
  - sendtftp
  - recvtftp
  - nak
  source_file: /src/PROJ/curl/tests/server/tftpd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEGSIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '512 '
    - item_type: preproc_def
      name: PACKED_STRUCT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: __attribute__((__packed__))
    - item_type: preproc_def
      name: th_stuff
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: th_block
    - item_type: preproc_def
      name: th_code
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: th_block
    - item_type: preproc_def
      name: th_msg
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: th_data
    - item_type: preproc_def
      name: TFTP_EUNDEF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TFTP_ENOTFOUND
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TFTP_EACCESS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TFTP_ENOSPACE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TFTP_EBADOP
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TFTP_EBADID
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TFTP_EEXISTS
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TFTP_ENOUSER
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PKTSIZE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '(SEGSIZE + 4)  '
    - item_type: preproc_def
      name: BF_ALLOC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '-3       '
    - item_type: preproc_def
      name: BF_FREE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '-2       '
    - item_type: preproc_def
      name: opcode_RRQ
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: opcode_WRQ
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: opcode_DATA
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: opcode_ACK
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: opcode_ERROR
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TIMEOUT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/curl/tests/server/tftpd.c
      type_or_value: '"server.input"'
    structs:
    - fields:
      - name: th_opcode
        type: unsigned short
      - name: th_block
        type: unsigned short
      - name: th_data[1]
        type: char
      item_type: struct
      name: tftphdr
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/PROJ/curl/tests/server/tftpd.c
    - fields:
      - name: '*buffer'
        type: char
      - name: bufsize
        type: size_t
      - name: '*rptr'
        type: char
      - name: rcount
        type: size_t
      - name: testno
        type: long
      - name: ofile
        type: int
      - name: writedelay
        type: int
      item_type: struct
      name: testcase
      pos:
        line_end: 123
        line_start: 114
        source_file: /src/PROJ/curl/tests/server/tftpd.c
    - fields:
      - name: '*f_mode'
        type: char
      - name: f_convert
        type: int
      item_type: struct
      name: formats
      pos:
        line_end: 128
        line_start: 125
        source_file: /src/PROJ/curl/tests/server/tftpd.c
    - fields:
      - name: e_code
        type: int
      - name: e_msg[STRERROR_LEN]
        type: char
      item_type: struct
      name: errmsg
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/PROJ/curl/tests/server/tftpd.c
    - fields:
      - name: counter
        type: int
      - name: buf
        type: tftphdr_storage_t
      item_type: struct
      name: bf
      pos:
        line_end: 148
        line_start: 145
        source_file: /src/PROJ/curl/tests/server/tftpd.c
    typedefs: []
    union:
    - fields:
      - name: hdr
        type: struct tftphdr
      - name: storage[PKTSIZE]
        type: char
      item_type: union
      name: tftphdr_storage_t
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/PROJ/curl/tests/server/tftpd.c
- function_names:
  - SET_RTP_PKT_CHN
  - SET_RTP_PKT_LEN
  - rtspd_ProcessRequest
  - rtspd_storerequest
  - rtspd_get_request
  - rtspd_send_doc
  - test_rtspd
  source_file: /src/PROJ/curl/tests/server/rtspd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RCMD_NORMALREQ
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: RCMD_IDLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: RCMD_STREAM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: RTSPDVERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"curl test suite RTSP server/0.1"'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"server.input"'
    - item_type: preproc_def
      name: RESPONSE_DUMP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"server.response"'
    - item_type: preproc_def
      name: MAXDOCNAMELEN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '140000'
    - item_type: preproc_def
      name: MAXDOCNAMELEN_TXT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"139999"'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '256'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE_TXT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"255"'
    - item_type: preproc_def
      name: CMD_AUTH_REQUIRED
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"auth_required"'
    - item_type: preproc_def
      name: CMD_IDLE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"idle"'
    - item_type: preproc_def
      name: CMD_STREAM
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"stream"'
    - item_type: preproc_def
      name: END_OF_HEADERS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '"\r\n\r\n"'
    - item_type: preproc_def
      name: RTP_DATA_SIZE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/tests/server/rtspd.c
      type_or_value: '12'
    structs:
    - fields:
      - name: reqbuf[150000]
        type: char
      - name: checkindex
        type: size_t
      - name: offset
        type: size_t
      - name: testno
        type: long
      - name: partno
        type: long
      - name: open
        type: bool
      - name: auth_req
        type: bool
      - name: auth
        type: bool
      - name: cl
        type: size_t
      - name: digest
        type: bool
      - name: ntlm
        type: bool
      - name: pipe
        type: int
      - name: skip
        type: int
      - name: rcmd
        type: int
      - name: protocol
        type: reqprot_t
      - name: prot_version
        type: int
      - name: pipelining
        type: bool
      - name: '*rtp_buffer'
        type: char
      - name: rtp_buffersize
        type: size_t
      item_type: struct
      name: rtspd_httprequest
      pos:
        line_end: 82
        line_start: 57
        source_file: /src/PROJ/curl/tests/server/rtspd.c
    typedefs: []
    union: []
- function_names:
  - mqttd_resetdefaults
  - mqttd_getconfig
  - logprotocol
  - connack
  - suback
  - puback
  - disconnect
  - encode_length
  - decode_length
  - publish
  - fixedheader
  - mqttit
  - mqttd_incoming
  - test_mqttd
  source_file: /src/PROJ/curl/tests/server/mqttd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MQTT_MSG_CONNECT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MQTT_MSG_CONNACK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: MQTT_MSG_PUBLISH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: MQTT_MSG_SUBSCRIBE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: MQTT_MSG_SUBACK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '0x90'
    - item_type: preproc_def
      name: MQTT_MSG_DISCONNECT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '"server.input"'
    - item_type: preproc_def
      name: CONFIG_VERSION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_TOPIC_LENGTH
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: MAX_CLIENT_ID_LENGTH
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/PROJ/curl/tests/server/mqttd.c
      type_or_value: '32'
    structs:
    - fields:
      - name: version
        type: unsigned char
      - name: publish_before_suback
        type: bool
      - name: short_publish
        type: bool
      - name: excessive_remaining
        type: bool
      - name: error_connack
        type: unsigned char
      - name: testnum
        type: int
      item_type: struct
      name: mqttd_configurable
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/PROJ/curl/tests/server/mqttd.c
    typedefs: []
    union: []
- function_names:
  - test_resolve
  source_file: /src/PROJ/curl/tests/server/resolve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit3200
  source_file: /src/PROJ/curl/tests/unit/unit3200.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C64
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/tests/unit/unit3200.c
      type_or_value: '"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"'
    - item_type: preproc_def
      name: C256
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/tests/unit/unit3200.c
      type_or_value: C64 C64 C64 C64
    - item_type: preproc_def
      name: C1024
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/tests/unit/unit3200.c
      type_or_value: C256 C256 C256 C256
    - item_type: preproc_def
      name: C4096
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/tests/unit/unit3200.c
      type_or_value: C1024 C1024 C1024 C1024
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1600_setup
  - t1600_stop
  - test_unit1600
  source_file: /src/PROJ/curl/tests/unit/unit1600.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1303_setup
  - t1303_stop
  - NOW
  - TIMEOUTS
  - test_unit1303
  source_file: /src/PROJ/curl/tests/unit/unit1303.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BASE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/tests/unit/unit1303.c
      type_or_value: '1000000'
    structs:
    - fields:
      - name: now_s
        type: int
      - name: now_us
        type: int
      - name: timeout_ms
        type: unsigned int
      - name: connecttimeout_ms
        type: unsigned int
      - name: connecting
        type: bool
      - name: result
        type: timediff_t
      - name: '*comment'
        type: char
      item_type: struct
      name: timetest
      pos:
        line_end: 84
        line_start: 76
        source_file: /src/PROJ/curl/tests/unit/unit1303.c
    typedefs: []
    union: []
- function_names:
  - t1664_setup
  - test_unit1664
  source_file: /src/PROJ/curl/tests/unit/unit1664.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: max
        type: curl_off_t
      item_type: struct
      name: t
      pos:
        line_end: 204
        line_start: 201
        source_file: /src/PROJ/curl/tests/unit/unit1664.c
    - fields:
      - name: '*str'
        type: char
      - name: max
        type: curl_off_t
      item_type: struct
      name: t
      pos:
        line_end: 237
        line_start: 234
        source_file: /src/PROJ/curl/tests/unit/unit1664.c
    - fields:
      - name: '*str'
        type: char
      - name: max
        type: curl_off_t
      item_type: struct
      name: t
      pos:
        line_end: 277
        line_start: 274
        source_file: /src/PROJ/curl/tests/unit/unit1664.c
    typedefs: []
    union: []
- function_names:
  - ret2name
  - test_unit1307
  - testcase
  - test_unit1307
  source_file: /src/PROJ/curl/tests/unit/unit1307.c
  types:
    enum:
    - enumerators:
      - name: SYSTEM_CUSTOM
      - name: SYSTEM_MACOS
      - name: SYSTEM_LINUX
      item_type: enum
      name: system
      pos:
        line_end: 272
        line_start: 268
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
    preproc_defs:
    - item_type: preproc_def
      name: MATCH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: CURL_FNMATCH_MATCH
    - item_type: preproc_def
      name: NOMATCH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: CURL_FNMATCH_NOMATCH
    - item_type: preproc_def
      name: LINUX_DIFFER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: LINUX_SHIFT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LINUX_MATCH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_MATCH << LINUX_SHIFT) | LINUX_DIFFER)
    - item_type: preproc_def
      name: LINUX_NOMATCH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_NOMATCH << LINUX_SHIFT) | LINUX_DIFFER)
    - item_type: preproc_def
      name: LINUX_FAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_FAIL << LINUX_SHIFT) | LINUX_DIFFER)
    - item_type: preproc_def
      name: MAC_DIFFER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: MAC_SHIFT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAC_MATCH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_MATCH << MAC_SHIFT) | MAC_DIFFER)
    - item_type: preproc_def
      name: MAC_NOMATCH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_NOMATCH << MAC_SHIFT) | MAC_DIFFER)
    - item_type: preproc_def
      name: MAC_FAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_FAIL << MAC_SHIFT) | MAC_DIFFER)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1397
  source_file: /src/PROJ/curl/tests/unit/unit1397.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*host'
        type: char
      - name: '*pattern'
        type: char
      - name: match
        type: bool
      item_type: struct
      name: testcase
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/PROJ/curl/tests/unit/unit1397.c
    typedefs: []
    union: []
- function_names:
  - splayprint
  - test_unit1309
  source_file: /src/PROJ/curl/tests/unit/unit1309.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_NODES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/tests/unit/unit1309.c
      type_or_value: '50'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1302
  source_file: /src/PROJ/curl/tests/unit/unit1302.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: ilen
        type: size_t
      - name: '*output'
        type: char
      - name: olen
        type: size_t
      item_type: struct
      name: etest
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/PROJ/curl/tests/unit/unit1302.c
    typedefs: []
    union: []
- function_names:
  - test_unit1330
  source_file: /src/PROJ/curl/tests/unit/unit1330.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1607_setup
  - test_unit1607
  - IPV6ONLY
  - IPV6ONLY
  source_file: /src/PROJ/curl/tests/unit/unit1607.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*optval'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: permanent
        type: bool
      - name: '*address[10]'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 64
        line_start: 51
        source_file: /src/PROJ/curl/tests/unit/unit1607.c
    typedefs: []
    union: []
- function_names:
  - test_unit1651
  source_file: /src/PROJ/curl/tests/unit/unit1651.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1608_setup
  - test_unit1608
  - test_unit1608
  source_file: /src/PROJ/curl/tests/unit/unit1608.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_eq
  - parse_success
  - test_unit2603
  source_file: /src/PROJ/curl/tests/unit/unit2603.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**input'
        type: char
      - name: '*default_scheme'
        type: char
      - name: '*method'
        type: char
      - name: '*scheme'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: header_count
        type: size_t
      - name: input_remain
        type: size_t
      item_type: struct
      name: tcase
      pos:
        line_end: 59
        line_start: 50
        source_file: /src/PROJ/curl/tests/unit/unit2603.c
    typedefs: []
    union: []
- function_names:
  - test_unit1655
  source_file: /src/PROJ/curl/tests/unit/unit1655.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: expected_result
        type: DOHcode
      item_type: struct
      name: test
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/PROJ/curl/tests/unit/unit1655.c
    - fields:
      - name: dohbuffer[255 + 16]
        type: unsigned char
      - name: canary1
        type: unsigned char
      - name: canary2
        type: unsigned char
      - name: canary3
        type: unsigned char
      item_type: struct
      name: demo
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/PROJ/curl/tests/unit/unit1655.c
    typedefs: []
    union: []
- function_names:
  - test_unit2604
  source_file: /src/PROJ/curl/tests/unit/unit2604.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SA60
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/tests/unit/unit2604.c
      type_or_value: '"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"'
    - item_type: preproc_def
      name: SA540
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/tests/unit/unit2604.c
      type_or_value: SA60 SA60 SA60 SA60 SA60 SA60 SA60 SA60 SA60
    structs:
    - fields:
      - name: '*cp'
        type: char
      - name: '*expect'
        type: char
      - name: '*next'
        type: char
      - name: '*home'
        type: char
      - name: result
        type: CURLcode
      item_type: struct
      name: set
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/PROJ/curl/tests/unit/unit2604.c
    typedefs: []
    union: []
- function_names:
  - t1605_setup
  - t1605_stop
  - test_unit1605
  source_file: /src/PROJ/curl/tests/unit/unit1605.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - checksize
  - test_unit3214
  source_file: /src/PROJ/curl/tests/unit/unit3214.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CURL_EASY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '5800'
    - item_type: preproc_def
      name: MAX_CONNECTDATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '1300'
    - item_type: preproc_def
      name: MAX_CURL_MULTI
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '850'
    - item_type: preproc_def
      name: MAX_CURL_HTTPPOST
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '112'
    - item_type: preproc_def
      name: MAX_CURL_SLIST
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_KHKEY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MAX_CURL_HSTSENTRY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '40'
    - item_type: preproc_def
      name: MAX_CURL_INDEX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_MIME
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '96'
    - item_type: preproc_def
      name: MAX_CURL_MIMEPART
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '440'
    - item_type: preproc_def
      name: MAX_CURL_CERTINFO
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_TLSSESSIONINFO
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_BLOB
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MAX_CURLMSG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MAX_CURL_HEADER
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/tests/unit/unit3214.c
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1980
  source_file: /src/PROJ/curl/tests/unit/unit1980.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*testname'
        type: char
      - name: '*query_part'
        type: char
      - name: '*canonical_query'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/PROJ/curl/tests/unit/unit1980.c
    typedefs: []
    union: []
- function_names:
  - test_free
  - t1661_setup
  - t1661_stop
  - test_unit1661
  source_file: /src/PROJ/curl/tests/unit/unit1661.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_Curl_llist_dtor
  - test_unit1300
  source_file: /src/PROJ/curl/tests/unit/unit1300.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1611
  source_file: /src/PROJ/curl/tests/unit/unit1611.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1660
  - showsts
  - test_unit1660
  - struct
  source_file: /src/PROJ/curl/tests/unit/unit1660.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1601
  source_file: /src/PROJ/curl/tests/unit/unit1601.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1603_mydtor
  - my_elem_dtor
  - t1603_setup
  - t1603_stop
  - test_unit1603
  source_file: /src/PROJ/curl/tests/unit/unit1603.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1396_setup
  - t1396_stop
  - test_unit1396
  source_file: /src/PROJ/curl/tests/unit/unit1396.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: inlen
        type: int
      - name: '*out'
        type: char
      - name: outlen
        type: int
      item_type: struct
      name: test
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/PROJ/curl/tests/unit/unit1396.c
    typedefs: []
    union: []
- function_names:
  - t3212_setup
  - t3212_stop
  - test_unit3212
  source_file: /src/PROJ/curl/tests/unit/unit3212.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TBL_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/tests/unit/unit3212.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1609_setup
  - test_unit1609
  source_file: /src/PROJ/curl/tests/unit/unit1609.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*optval'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: '*address[10]'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 84
        line_start: 74
        source_file: /src/PROJ/curl/tests/unit/unit1609.c
    typedefs: []
    union: []
- function_names:
  - test_unit1654
  source_file: /src/PROJ/curl/tests/unit/unit1654.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1979
  source_file: /src/PROJ/curl/tests/unit/unit1979.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*testname'
        type: char
      - name: normalize
        type: bool
      - name: '*url_part'
        type: char
      - name: '*canonical_url'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/PROJ/curl/tests/unit/unit1979.c
    typedefs: []
    union: []
- function_names:
  - test_unit1398
  source_file: /src/PROJ/curl/tests/unit/unit1398.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1615
  source_file: /src/PROJ/curl/tests/unit/unit1615.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1650
  source_file: /src/PROJ/curl/tests/unit/unit1650.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_PREAMBLE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00"'
    - item_type: preproc_def
      name: LABEL_TEST
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x04\x74\x65\x73\x74"'
    - item_type: preproc_def
      name: LABEL_HOST
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x04\x68\x6f\x73\x74"'
    - item_type: preproc_def
      name: LABEL_NAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x04\x6e\x61\x6d\x65"'
    - item_type: preproc_def
      name: DNSA_TYPE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x01"'
    - item_type: preproc_def
      name: DNSAAAA_TYPE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x1c"'
    - item_type: preproc_def
      name: DNSA_EPILOGUE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x00\x00" DNSA_TYPE "\x00\x01"'
    - item_type: preproc_def
      name: DNSAAAA_EPILOGUE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: '"\x00\x00" DNSAAAA_TYPE "\x00\x01"'
    - item_type: preproc_def
      name: DNS_Q1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: DNS_PREAMBLE LABEL_TEST LABEL_HOST LABEL_NAME DNSA_EPILOGUE
    - item_type: preproc_def
      name: DNS_Q2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: DNS_PREAMBLE LABEL_TEST LABEL_HOST LABEL_NAME DNSAAAA_EPILOGUE
    - item_type: preproc_def
      name: DNS_FOO_EXAMPLE_COM
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
      type_or_value: "\"\\x00\\x00\\x01\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\x00\\x00\\x03\\x66\\x6f\\x6f\"
        \\\n  \"\\x07\\x65\\x78\\x61\\x6d\\x70\\x6c\\x65\\x03\\x63\\x6f\\x6d\\x00\\x00\\x01\\x00\"
        \\\n  \"\\x01\\xc0\\x0c\\x00\\x01\\x00\\x01\\x00\\x00\\x00\\x37\\x00\\x04\\x7f\\x00\\x00\"
        \\\n  \"\\x01\""
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: DNStype
      - name: '*packet'
        type: char
      - name: size
        type: size_t
      - name: rc
        type: DOHcode
      item_type: struct
      name: dohrequest
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
    - fields:
      - name: '*packet'
        type: char
      - name: size
        type: size_t
      - name: type
        type: DNStype
      - name: rc
        type: DOHcode
      - name: '*out'
        type: char
      item_type: struct
      name: dohresp
      pos:
        line_end: 73
        line_start: 64
        source_file: /src/PROJ/curl/tests/unit/unit1650.c
    typedefs: []
    union: []
- function_names:
  - make1657_nested
  - do_test1657
  - test_unit1657
  - test_unit1657
  source_file: /src/PROJ/curl/tests/unit/unit1657.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*setbuf)(const struct test1657_spec *spec, struct dynbuf *buf)
        type: CURLcode
      - name: n
        type: size_t
      - name: exp_result
        type: CURLcode
      item_type: struct
      name: test1657_spec
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/PROJ/curl/tests/unit/unit1657.c
    typedefs: []
    union: []
- function_names:
  - t1616_mydtor
  - t1616_setup
  - t1616_stop
  - test_unit1616
  source_file: /src/PROJ/curl/tests/unit/unit1616.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1610_setup
  - test_unit1610
  source_file: /src/PROJ/curl/tests/unit/unit1610.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1304_stop
  - test_unit1304
  - test_unit1304
  source_file: /src/PROJ/curl/tests/unit/unit1304.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - free_and_clear
  - parse_port
  - test_unit1653
  source_file: /src/PROJ/curl/tests/unit/unit1653.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit2602
  source_file: /src/PROJ/curl/tests/unit/unit2602.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test
  - test_unit1656
  - test_unit1656
  source_file: /src/PROJ/curl/tests/unit/unit1656.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*exp_output'
        type: char
      - name: exp_result
        type: CURLcode
      item_type: struct
      name: test_spec
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/PROJ/curl/tests/unit/unit1656.c
    typedefs: []
    union: []
- function_names:
  - fake_t_startsingle_time
  - usec_matches_seconds
  - expect_timer_seconds
  - test_unit1399
  source_file: /src/PROJ/curl/tests/unit/unit1399.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tail_err
  - dump_bufq
  - check_bufq
  - test_unit2601
  source_file: /src/PROJ/curl/tests/unit/unit2601.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1602_mydtor
  - t1602_setup
  - t1602_stop
  - test_unit1602
  source_file: /src/PROJ/curl/tests/unit/unit1602.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit3205
  source_file: /src/PROJ/curl/tests/unit/unit3205.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: uint16_t
      - name: '*rfc'
        type: char
      - name: '*openssl'
        type: char
      item_type: struct
      name: test_cs_entry
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/PROJ/curl/tests/unit/unit3205.c
    - fields:
      - name: id
        type: uint16_t
      - name: '*str'
        type: char
      item_type: struct
      name: test_str_entry
      pos:
        line_end: 442
        line_start: 439
        source_file: /src/PROJ/curl/tests/unit/unit3205.c
    typedefs: []
    union: []
- function_names:
  - debugf_cb
  - t1652_setup
  - t1652_stop
  - verify
  - test_unit1652
  source_file: /src/PROJ/curl/tests/unit/unit1652.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1614
  source_file: /src/PROJ/curl/tests/unit/unit1614.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*a'
        type: char
      - name: '*n'
        type: char
      - name: bits
        type: unsigned int
      - name: match
        type: bool
      item_type: struct
      name: check
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/PROJ/curl/tests/unit/unit1614.c
    - fields:
      - name: '*a'
        type: char
      - name: '*n'
        type: char
      - name: match
        type: bool
      item_type: struct
      name: noproxy
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/PROJ/curl/tests/unit/unit1614.c
    typedefs: []
    union: []
- function_names:
  - test_unit1395
  source_file: /src/PROJ/curl/tests/unit/unit1395.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*output'
        type: char
      item_type: struct
      name: dotdot
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/PROJ/curl/tests/unit/unit1395.c
    typedefs: []
    union: []
- function_names:
  - t1305_setup
  - t1305_stop
  - fake_ai
  - create_node
  - test_unit1305
  source_file: /src/PROJ/curl/tests/unit/unit1305.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1620_setup
  - t1620_parse
  - test_unit1620
  source_file: /src/PROJ/curl/tests/unit/unit1620.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_spbset
  - test_unit3213
  source_file: /src/PROJ/curl/tests/unit/unit3213.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1658_setup
  - rrresults
  - test_unit1658
  - test_unit1658
  source_file: /src/PROJ/curl/tests/unit/unit1658.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*dns'
        type: unsigned char
      - name: len
        type: size_t
      - name: '*expect'
        type: char
      item_type: struct
      name: test
      pos:
        line_end: 128
        line_start: 123
        source_file: /src/PROJ/curl/tests/unit/unit1658.c
    typedefs: []
    union: []
- function_names:
  - test_unit1323
  - struct
  source_file: /src/PROJ/curl/tests/unit/unit1323.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t2600_setup
  - t2600_stop
  - cf_test_destroy
  - cf_test_connect
  - cf_test_adjust_pollset
  - cf_test_create
  - check_result
  - test_connect
  - test_unit2600
  source_file: /src/PROJ/curl/tests/unit/unit2600.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TURL
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
      type_or_value: '"http://test.com:123"'
    - item_type: preproc_def
      name: R_FAIL
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
      type_or_value: CURLE_COULDNT_CONNECT
    - item_type: preproc_def
      name: TC_TMOT
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
      type_or_value: '90000  '
    - item_type: preproc_def
      name: CNCT_TMOT
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
      type_or_value: '60000  '
    structs:
    - fields:
      - name: id
        type: int
      - name: '*url'
        type: char
      - name: '*resolve_info'
        type: char
      - name: ip_version
        type: long
      - name: connect_timeout_ms
        type: timediff_t
      - name: he_timeout_ms
        type: timediff_t
      - name: cf4_fail_delay_ms
        type: timediff_t
      - name: cf6_fail_delay_ms
        type: timediff_t
      - name: exp_cf4_creations
        type: int
      - name: exp_cf6_creations
        type: int
      - name: min_duration_ms
        type: timediff_t
      - name: max_duration_ms
        type: timediff_t
      - name: exp_result
        type: CURLcode
      - name: '*pref_family'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 88
        line_start: 72
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
    - fields:
      - name: '*family'
        type: char
      - name: creations
        type: int
      - name: first_created
        type: timediff_t
      - name: last_created
        type: timediff_t
      item_type: struct
      name: ai_family_stats
      pos:
        line_end: 95
        line_start: 90
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
    - fields:
      - name: result
        type: CURLcode
      - name: started
        type: struct curltime
      - name: ended
        type: struct curltime
      - name: cf4
        type: struct ai_family_stats
      - name: cf6
        type: struct ai_family_stats
      item_type: struct
      name: test_result
      pos:
        line_end: 103
        line_start: 97
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
    - fields:
      - name: idx
        type: int
      - name: ai_family
        type: int
      - name: transport
        type: int
      - name: id[16]
        type: char
      - name: started
        type: struct curltime
      - name: fail_delay_ms
        type: timediff_t
      - name: '*stats'
        type: struct ai_family_stats
      item_type: struct
      name: cf_test_ctx
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/PROJ/curl/tests/unit/unit2600.c
    typedefs: []
    union: []
- function_names:
  - check_set
  - test_unit3211
  source_file: /src/PROJ/curl/tests/unit/unit3211.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1612
  source_file: /src/PROJ/curl/tests/unit/unit1612.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1606_setup
  - t1606_stop
  - runawhile
  - test_unit1606
  source_file: /src/PROJ/curl/tests/unit/unit1606.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1663_setup
  - t1663_parse
  - test_unit1663
  source_file: /src/PROJ/curl/tests/unit/unit1663.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/packages/OS400/curlmain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_ifs
  - parse_command_line
  - main
  source_file: /src/PROJ/curl/packages/OS400/curlcl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLPGM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/packages/OS400/curlcl.c
      type_or_value: '"CURL"'
    structs:
    - fields:
      - name: len
        type: short
      - name: string[5000]
        type: char
      item_type: struct
      name: vary2
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/PROJ/curl/packages/OS400/curlcl.c
    - fields:
      - name: '*pgm'
        type: char
      - name: '*cmdargs'
        type: struct vary2
      item_type: struct
      name: arguments
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/PROJ/curl/packages/OS400/curlcl.c
    typedefs: []
    union: []
- function_names:
  - ICONV_OPEN_ERROR
  - makeOS400IconvCode
  - iconv_open_CCSID
  - convert
  - dynconvert
  - slist_convert
  - keyed_string
  - curl_to_ccsid
  - curl_from_ccsid
  - curl_version_ccsid
  - curl_easy_escape_ccsid
  - curl_easy_unescape_ccsid
  - curl_slist_append_ccsid
  - curl_getdate_ccsid
  - convert_version_info_string
  - curl_version_info_ccsid
  - curl_easy_strerror_ccsid
  - curl_share_strerror_ccsid
  - curl_multi_strerror_ccsid
  - curl_url_strerror_ccsid
  - curl_certinfo_free_all
  - curl_easy_getinfo_ccsid
  - Curl_is_formadd_string
  - Curl_formadd_release_local
  - Curl_formadd_convert
  - curl_formadd_ccsid
  - Curl_formget_callback_ccsid
  - curl_formget_ccsid
  - curl_easy_setopt_ccsid
  - curl_form_long_value
  - curl_easy_setopt_RPGnum_
  - curl_multi_setopt_RPGnum_
  - curl_pushheader_bynum_cssid
  - curl_pushheader_byname_ccsid
  - mime_string_call
  - curl_mime_name_ccsid
  - curl_mime_filename_ccsid
  - curl_mime_type_ccsid
  - curl_mime_encoder_ccsid
  - curl_mime_filedata_ccsid
  - curl_mime_data_ccsid
  - curl_url_get_ccsid
  - curl_url_set_ccsid
  - curl_easy_option_by_name_ccsid
  - curl_easy_option_get_name_ccsid
  - curl_easy_header_ccsid
  source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
      type_or_value: '((size_t) ~0)   '
    - item_type: preproc_def
      name: ASCII_CCSID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
      type_or_value: '819     '
    - item_type: preproc_def
      name: NOCONV_CCSID
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
      type_or_value: '65535   '
    - item_type: preproc_def
      name: ICONV_ID_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
      type_or_value: '32      '
    - item_type: preproc_def
      name: ALLOC_GRANULE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
      type_or_value: '8       '
    structs:
    - fields:
      - name: append
        type: curl_formget_callback
      - name: '*                arg'
        type: void
      - name: ccsid
        type: unsigned int
      item_type: struct
      name: cfcdata
      pos:
        line_end: 1020
        line_start: 1016
        source_file: /src/PROJ/curl/packages/OS400/ccsidcurl.c
    typedefs: []
    union: []
- function_names:
  - thdbufdestroy
  - terminate
  - get_buffer
  - buffer_unthreaded
  - buffer_threaded
  - buffer_undef
  - set_thread_string
  - Curl_getnameinfo_a
  - Curl_getaddrinfo_a
  - Curl_gss_convert_in_place
  - Curl_gss_import_name_a
  - Curl_gss_display_status_a
  - Curl_gss_init_sec_context_a
  - Curl_gss_delete_sec_context_a
  - Curl_ldap_init_a
  - Curl_ldap_simple_bind_s_a
  - Curl_ldap_search_s_a
  - Curl_ldap_get_values_len_a
  - Curl_ldap_err2string_a
  - Curl_ldap_get_dn_a
  - Curl_ldap_first_attribute_a
  - Curl_ldap_next_attribute_a
  - sockaddr2ebcdic
  - sockaddr2ascii
  - Curl_os400_connect
  - Curl_os400_bind
  - Curl_os400_sendto
  - Curl_os400_recvfrom
  - Curl_os400_getpeername
  - Curl_os400_getsockname
  - Curl_os400_zlibVersion
  - Curl_os400_inflateInit_
  - Curl_os400_inflateInit2_
  - Curl_os400_inflate
  - Curl_os400_inflateEnd
  source_file: /src/PROJ/curl/packages/OS400/os400sys.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_BYTE_GAIN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/packages/OS400/os400sys.c
      type_or_value: '1024    '
    structs:
    - fields:
      - name: size
        type: unsigned long
      - name: '*buf'
        type: char
      item_type: struct
      name: buffer_t
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/PROJ/curl/packages/OS400/os400sys.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/packages/OS400/os400sys.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CONV_EXPANSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/packages/OS400/os400sys.h
      type_or_value: '4       '
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_trnlnm
  - $DESCRIPTOR
  - sys_crelnm
  - set_feature_default
  - set_feature_default
  - set_features
  source_file: /src/PROJ/curl/packages/vms/curl_crtl_init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENABLE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/packages/vms/curl_crtl_init.c
      type_or_value: '"ENABLE"'
    - item_type: preproc_def
      name: DISABLE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/packages/vms/curl_crtl_init.c
      type_or_value: '"DISABLE"'
    - item_type: preproc_def
      name: ENABLE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/packages/vms/curl_crtl_init.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: DISABLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/packages/vms/curl_crtl_init.c
      type_or_value: '0'
    structs:
    - fields:
      - name: buflen
        type: unsigned short int
      - name: itmcode
        type: unsigned short int
      - name: '*bufadr'
        type: void
      - name: '*retlen'
        type: unsigned short int
      item_type: struct
      name: itmlst_3
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/PROJ/curl/packages/vms/curl_crtl_init.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/packages/vms/curlmsg_vms.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/packages/vms/vms_eco_level.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMS_ECO_LEVEL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/packages/vms/vms_eco_level.h
      type_or_value: '"0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/packages/vms/report_openssl_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/packages/vms/curlmsg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_FACILITY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '3841'
    - item_type: preproc_def
      name: CURL_OK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756553'
    - item_type: preproc_def
      name: CURL_UNSUPPORTED_PROTOCOL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756562'
    - item_type: preproc_def
      name: CURL_FAILED_INIT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756570'
    - item_type: preproc_def
      name: CURL_URL_MALFORMAT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756578'
    - item_type: preproc_def
      name: CURL_OBSOLETE4
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756586'
    - item_type: preproc_def
      name: CURL_COULDNT_RESOLVE_PROXY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756594'
    - item_type: preproc_def
      name: CURL_COULDNT_RESOLVE_HOST
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756602'
    - item_type: preproc_def
      name: CURL_COULDNT_CONNECT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756610'
    - item_type: preproc_def
      name: CURL_WEIRD_SERVER_REPLY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756618'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_SERVER_REPLY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: CURL_WEIRD_SERVER_REPLY
    - item_type: preproc_def
      name: CURL_FTP_ACCESS_DENIED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756626'
    - item_type: preproc_def
      name: CURL_OBSOLETE10
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756634'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_PASS_REPLY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756642'
    - item_type: preproc_def
      name: CURL_OBSOLETE12
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756650'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_PASV_REPLY
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756658'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_227_FORMAT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756666'
    - item_type: preproc_def
      name: CURL_FTP_CANT_GET_HOST
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756674'
    - item_type: preproc_def
      name: CURL_OBSOLETE16
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756682'
    - item_type: preproc_def
      name: CURL_FTP_COULDNT_SET_TYPE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756690'
    - item_type: preproc_def
      name: CURL_PARTIAL_FILE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756698'
    - item_type: preproc_def
      name: CURL_FTP_COULDNT_RETR_FILE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756706'
    - item_type: preproc_def
      name: CURL_OBSOLETE20
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756714'
    - item_type: preproc_def
      name: CURL_QUOTE_ERROR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756722'
    - item_type: preproc_def
      name: CURL_HTTP_RETURNED_ERROR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756730'
    - item_type: preproc_def
      name: CURL_WRITE_ERROR
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756738'
    - item_type: preproc_def
      name: CURL_OBSOLETE24
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756746'
    - item_type: preproc_def
      name: CURL_UPLOAD_FAILED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756754'
    - item_type: preproc_def
      name: CURL_READ_ERROR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756762'
    - item_type: preproc_def
      name: CURL_OUT_OF_MEMORY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756770'
    - item_type: preproc_def
      name: CURL_OPERATION_TIMEOUTED
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756778'
    - item_type: preproc_def
      name: CURL_OBSOLETE29
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756786'
    - item_type: preproc_def
      name: CURL_FTP_PORT_FAILED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756794'
    - item_type: preproc_def
      name: CURL_FTP_COULDNT_USE_REST
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756802'
    - item_type: preproc_def
      name: CURL_OBSOLETE32
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756810'
    - item_type: preproc_def
      name: CURL_RANGE_ERROR
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756818'
    - item_type: preproc_def
      name: CURL_HTTP_POST_ERROR
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756826'
    - item_type: preproc_def
      name: CURL_SSL_CONNECT_ERROR
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756834'
    - item_type: preproc_def
      name: CURL_BAD_DOWNLOAD_RESUME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756842'
    - item_type: preproc_def
      name: CURL_FILE_COULDNT_READ_FILE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756850'
    - item_type: preproc_def
      name: CURL_LDAP_CANNOT_BIND
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756858'
    - item_type: preproc_def
      name: CURL_LDAP_SEARCH_FAILED
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756866'
    - item_type: preproc_def
      name: CURL_OBSOLETE40
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756874'
    - item_type: preproc_def
      name: CURL_FUNCTION_NOT_FOUND
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756882'
    - item_type: preproc_def
      name: CURL_ABORTED_BY_CALLBACK
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756890'
    - item_type: preproc_def
      name: CURL_BAD_FUNCTION_ARGUMENT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756898'
    - item_type: preproc_def
      name: CURL_OBSOLETE44
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756906'
    - item_type: preproc_def
      name: CURL_INTERFACE_FAILED
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756914'
    - item_type: preproc_def
      name: CURL_OBSOLETE46
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756922'
    - item_type: preproc_def
      name: CURL_TOO_MANY_REDIRECTS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756930'
    - item_type: preproc_def
      name: CURL_UNKNOWN_TELNET_OPTION
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756938'
    - item_type: preproc_def
      name: CURL_TELNET_OPTION_SYNTAX
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756946'
    - item_type: preproc_def
      name: CURL_OBSOLETE50
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756954'
    - item_type: preproc_def
      name: CURL_PEER_FAILED_VERIF
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756962'
    - item_type: preproc_def
      name: CURL_GOT_NOTHING
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756970'
    - item_type: preproc_def
      name: CURL_SSL_ENGINE_NOTFOUND
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756978'
    - item_type: preproc_def
      name: CURL_SSL_ENGINE_SETFAILED
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756986'
    - item_type: preproc_def
      name: CURL_SEND_ERROR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251756994'
    - item_type: preproc_def
      name: CURL_RECV_ERROR
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757002'
    - item_type: preproc_def
      name: CURL_OBSOLETE57
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757010'
    - item_type: preproc_def
      name: CURL_SSL_CERTPROBLEM
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757018'
    - item_type: preproc_def
      name: CURL_SSL_CIPHER
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757026'
    - item_type: preproc_def
      name: CURL_SSL_CACERT
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757034'
    - item_type: preproc_def
      name: CURL_BAD_CONTENT_ENCODING
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757042'
    - item_type: preproc_def
      name: CURL_LDAP_INVALID_URL
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757050'
    - item_type: preproc_def
      name: CURL_FILESIZE_EXCEEDED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757058'
    - item_type: preproc_def
      name: CURL_USE_SSL_FAILED
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757066'
    - item_type: preproc_def
      name: CURL_SEND_FAIL_REWIND
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757074'
    - item_type: preproc_def
      name: CURL_SSL_ENGINE_INITFAILED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757082'
    - item_type: preproc_def
      name: CURL_LOGIN_DENIED
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757090'
    - item_type: preproc_def
      name: CURL_TFTP_NOTFOUND
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757098'
    - item_type: preproc_def
      name: CURL_TFTP_PERM
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757106'
    - item_type: preproc_def
      name: CURL_REMOTE_DISK_FULL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757114'
    - item_type: preproc_def
      name: CURL_TFTP_ILLEGAL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757122'
    - item_type: preproc_def
      name: CURL_TFTP_UNKNOWNID
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757130'
    - item_type: preproc_def
      name: CURL_REMOTE_FILE_EXISTS
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757138'
    - item_type: preproc_def
      name: CURL_TFTP_NOSUCHUSER
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757146'
    - item_type: preproc_def
      name: CURL_CONV_FAILED
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757154'
    - item_type: preproc_def
      name: CURL_CONV_REQD
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757162'
    - item_type: preproc_def
      name: CURL_SSL_CACERT_BADFILE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757170'
    - item_type: preproc_def
      name: CURL_REMOTE_FILE_NOT_FOUND
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757178'
    - item_type: preproc_def
      name: CURL_SSH
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757186'
    - item_type: preproc_def
      name: CURL_SSL_SHUTDOWN_FAILED
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757194'
    - item_type: preproc_def
      name: CURL_AGAIN
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757202'
    - item_type: preproc_def
      name: CURL_SSL_CRL_BADFILE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757210'
    - item_type: preproc_def
      name: CURL_SSL_ISSUER_ERROR
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757218'
    - item_type: preproc_def
      name: CURL_CURL_LAST
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/curl/packages/vms/curlmsg.h
      type_or_value: '251757226'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_dirhie.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getfiletime
  - setfiletime
  source_file: /src/PROJ/curl/src/tool_filetime.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writeTime
  - urlpart
  - certinfo
  - writeString
  - writeLong
  - writeOffset
  - matchvar
  - outtime
  - separator
  - output_header
  - ourWriteOut
  source_file: /src/PROJ/curl/src/tool_writeout.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_WRITEOUT_NAME_LENGTH
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/PROJ/curl/src/tool_writeout.c
      type_or_value: '24'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: num
        type: int
      item_type: struct
      name: httpmap
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/PROJ/curl/src/tool_writeout.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_ssls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tvrealnow
  - tvrealnow
  - struplocompare
  - struplocompare4sort
  - _lseeki64
  - tool_ftruncate64
  - tool_execpath
  source_file: /src/PROJ/curl/src/tool_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - config_alloc
  - free_config_fields
  - config_free
  - globalconf_init
  - free_globalconfig
  - globalconf_free
  source_file: /src/PROJ/curl/src/tool_cfgable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getpass_r
  - getpass_r
  - ttyecho
  - getpass_r
  source_file: /src/PROJ/curl/src/tool_getpass.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: struct_term
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/src/tool_getpass.c
      type_or_value: struct termios
    - item_type: preproc_def
      name: struct_term
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/src/tool_getpass.c
      type_or_value: struct termio
    structs:
    - fields:
      - name: iosb$w_status
        type: short int
      - name: iosb$w_bcnt
        type: short int
      - name: unused
        type: int
      item_type: struct
      name: _iosb
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/PROJ/curl/src/tool_getpass.c
    typedefs: []
    union: []
- function_names:
  - fwrite_xattr
  source_file: /src/PROJ/curl/src/tool_xattr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_rea.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - exit
  - VMS_STS
  source_file: /src/PROJ/curl/src/tool_vms.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMSSTS_HIDE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/src/tool_vms.h
      type_or_value: VMS_STS(1,0,0,0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_strdup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_dbg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_writeout.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: writeoutid
      - name: ci
        type: CURLINFO
      - name: "(*writefunc)(FILE *stream, const struct writeoutvar *wovar,\n                   struct
          per_transfer *per, CURLcode per_result,\n                   bool use_json)"
        type: int
      item_type: struct
      name: writeoutvar
      pos:
        line_end: 112
        line_start: 105
        source_file: /src/PROJ/curl/src/tool_writeout.h
    typedefs: []
    union: []
- function_names:
  - tool_seek_cb
  source_file: /src/PROJ/curl/src/tool_cb_see.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OUR_MAX_SEEK_L
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/src/tool_cb_see.c
      type_or_value: 2147483647L - 1L
    - item_type: preproc_def
      name: OUR_MAX_SEEK_O
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/src/tool_cb_see.c
      type_or_value: 0x7FFFFFFF - 0x1
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_urlglob.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GLOB_PATTERN_NUM
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/src/tool_urlglob.h
      type_or_value: '30'
    structs:
    - fields:
      - name: type
        type: globtype
      - name: globindex
        type: int
      - name: c
        type: "union {\n    struct {\n      char **elem;\n      curl_off_t size;\n
          \     curl_off_t idx;\n    } set;\n    struct {\n      int min;\n      int
          max;\n      int letter;\n      unsigned char step;\n    } ascii;\n    struct
          {\n      curl_off_t min;\n      curl_off_t max;\n      curl_off_t idx;\n
          \     curl_off_t step;\n      int npad;\n    } num;\n  }"
      item_type: struct
      name: URLPattern
      pos:
        line_end: 57
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_urlglob.h
    - fields:
      - name: buf
        type: struct dynbuf
      - name: '*pattern'
        type: struct URLPattern
      - name: palloc
        type: size_t
      - name: size
        type: size_t
      - name: beenhere
        type: char
      - name: '*error'
        type: char
      - name: pos
        type: size_t
      item_type: struct
      name: URLGlob
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/PROJ/curl/src/tool_urlglob.h
    typedefs: []
    union: []
- function_names:
  - BIT
  - BIT
  - checkprefix
  - tool_safefree
  source_file: /src/PROJ/curl/src/tool_cfgable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FAIL_NONE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/src/tool_cfgable.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FAIL_WITH_BODY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/src/tool_cfgable.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL_WO_BODY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/src/tool_cfgable.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*urlnode'
        type: struct getout
      - name: inglob
        type: struct URLGlob
      - name: urlglob
        type: struct URLGlob
      - name: '*httpgetfields'
        type: char
      - name: '*uploadfile'
        type: char
      - name: upnum
        type: curl_off_t
      - name: upidx
        type: curl_off_t
      - name: urlnum
        type: curl_off_t
      - name: urlidx
        type: curl_off_t
      item_type: struct
      name: State
      pos:
        line_end: 58
        line_start: 48
        source_file: /src/PROJ/curl/src/tool_cfgable.h
    - fields:
      - name: postdata
        type: struct dynbuf
      - name: '*useragent'
        type: char
      - name: '*cookies'
        type: struct curl_slist
      - name: '*cookiejar'
        type: char
      - name: '*cookiefiles'
        type: struct curl_slist
      - name: '*altsvc'
        type: char
      - name: '*hsts'
        type: char
      - name: '*proto_str'
        type: char
      - name: '*proto_redir_str'
        type: char
      - name: '*proto_default'
        type: char
      - name: resume_from
        type: curl_off_t
      - name: '*postfields'
        type: char
      - name: '*referer'
        type: char
      - name: '*query'
        type: char
      - name: max_filesize
        type: curl_off_t
      - name: '*output_dir'
        type: char
      - name: '*headerfile'
        type: char
      - name: '*ftpport'
        type: char
      - name: '*iface'
        type: char
      - name: '*range'
        type: char
      - name: '*dns_servers'
        type: char
      - name: '*dns_interface'
        type: char
      - name: '*dns_ipv4_addr'
        type: char
      - name: '*dns_ipv6_addr'
        type: char
      - name: '*userpwd'
        type: char
      - name: '*login_options'
        type: char
      - name: '*tls_username'
        type: char
      - name: '*tls_password'
        type: char
      - name: '*tls_authtype'
        type: char
      - name: '*proxy_tls_username'
        type: char
      - name: '*proxy_tls_password'
        type: char
      - name: '*proxy_tls_authtype'
        type: char
      - name: '*proxyuserpwd'
        type: char
      - name: '*proxy'
        type: char
      - name: '*noproxy'
        type: char
      - name: '*knownhosts'
        type: char
      - name: '*mail_from'
        type: char
      - name: '*mail_rcpt'
        type: struct curl_slist
      - name: '*mail_auth'
        type: char
      - name: '*sasl_authzid'
        type: char
      - name: '*netrc_file'
        type: char
      - name: '*url_list'
        type: struct getout
      - name: '*url_last'
        type: struct getout
      - name: '*url_get'
        type: struct getout
      - name: '*url_out'
        type: struct getout
      - name: '*url_ul'
        type: struct getout
      - name: num_urls
        type: size_t
      - name: '*doh_url'
        type: char
      - name: '*cipher_list'
        type: char
      - name: '*proxy_cipher_list'
        type: char
      - name: '*cipher13_list'
        type: char
      - name: '*proxy_cipher13_list'
        type: char
      - name: '*cert'
        type: char
      - name: '*proxy_cert'
        type: char
      - name: '*cert_type'
        type: char
      - name: '*proxy_cert_type'
        type: char
      - name: '*cacert'
        type: char
      - name: '*proxy_cacert'
        type: char
      - name: '*capath'
        type: char
      - name: '*proxy_capath'
        type: char
      - name: '*crlfile'
        type: char
      - name: '*proxy_crlfile'
        type: char
      - name: '*pinnedpubkey'
        type: char
      - name: '*proxy_pinnedpubkey'
        type: char
      - name: '*key'
        type: char
      - name: '*proxy_key'
        type: char
      - name: '*key_type'
        type: char
      - name: '*proxy_key_type'
        type: char
      - name: '*key_passwd'
        type: char
      - name: '*proxy_key_passwd'
        type: char
      - name: '*pubkey'
        type: char
      - name: '*hostpubmd5'
        type: char
      - name: '*hostpubsha256'
        type: char
      - name: '*engine'
        type: char
      - name: '*etag_save_file'
        type: char
      - name: '*etag_compare_file'
        type: char
      - name: '*customrequest'
        type: char
      - name: '*ssl_ec_curves'
        type: char
      - name: '*ssl_signature_algorithms'
        type: char
      - name: '*krblevel'
        type: char
      - name: '*request_target'
        type: char
      - name: '*writeout'
        type: char
      - name: '*quote'
        type: struct curl_slist
      - name: '*postquote'
        type: struct curl_slist
      - name: '*prequote'
        type: struct curl_slist
      - name: '*headers'
        type: struct curl_slist
      - name: '*proxyheaders'
        type: struct curl_slist
      - name: '*mimeroot'
        type: struct tool_mime
      - name: '*mimecurrent'
        type: struct tool_mime
      - name: '*mimepost'
        type: curl_mime
      - name: '*telnet_options'
        type: struct curl_slist
      - name: '*resolve'
        type: struct curl_slist
      - name: '*connect_to'
        type: struct curl_slist
      - name: '*preproxy'
        type: char
      - name: '*proxy_service_name'
        type: char
      - name: '*service_name'
        type: char
      - name: '*ftp_account'
        type: char
      - name: '*ftp_alternative_to_user'
        type: char
      - name: '*oauth_bearer'
        type: char
      - name: '*unix_socket_path'
        type: char
      - name: '*haproxy_clientip'
        type: char
      - name: '*aws_sigv4'
        type: char
      - name: '*ech'
        type: char
      - name: '*ech_config'
        type: char
      - name: '*ech_public'
        type: char
      - name: '*prev'
        type: struct OperationConfig
      - name: '*next'
        type: struct OperationConfig
      - name: condtime
        type: curl_off_t
      - name: sendpersecond
        type: curl_off_t
      - name: recvpersecond
        type: curl_off_t
      - name: proxy_ssl_version
        type: long
      - name: ip_version
        type: long
      - name: create_file_mode
        type: long
      - name: low_speed_limit
        type: long
      - name: low_speed_time
        type: long
      - name: ip_tos
        type: long
      - name: vlan_priority
        type: long
      - name: localport
        type: long
      - name: localportrange
        type: long
      - name: authtype
        type: unsigned long
      - name: timeout_ms
        type: long
      - name: connecttimeout_ms
        type: long
      - name: maxredirs
        type: long
      - name: httpversion
        type: long
      - name: socks5_auth
        type: unsigned long
      - name: req_retry
        type: long
      - name: retry_delay_ms
        type: long
      - name: retry_maxtime_ms
        type: long
      - name: mime_options
        type: unsigned long
      - name: tftp_blksize
        type: long
      - name: alivetime
        type: long
      - name: alivecnt
        type: long
      - name: gssapi_delegation
        type: long
      - name: expect100timeout_ms
        type: long
      - name: happy_eyeballs_timeout_ms
        type: long
      - name: timecond
        type: unsigned long
      - name: followlocation
        type: long
      - name: httpreq
        type: HttpReq
      - name: proxyver
        type: long
      - name: ftp_ssl_ccc_mode
        type: long
      - name: ftp_filemethod
        type: long
      - name: file_clobber_mode
        type: "enum {\n    CLOBBER_DEFAULT, /* Provides compatibility with previous
          versions of curl,\n                        by using the default behavior
          for -o, -O, and -J.\n                        If those options would have
          overwritten files, like\n                        -o and -O would, then overwrite
          them. In the case of\n                        -J, this will not overwrite
          any files. */\n    CLOBBER_NEVER, /* If the file exists, always fail */\n
          \   CLOBBER_ALWAYS /* If the file exists, always overwrite it */\n  }"
      - name: upload_flags
        type: unsigned char
      - name: porttouse
        type: unsigned short
      - name: ssl_version
        type: unsigned char
      - name: ssl_version_max
        type: unsigned char
      - name: fail
        type: unsigned char
      item_type: struct
      name: OperationConfig
      pos:
        line_end: 326
        line_start: 64
        source_file: /src/PROJ/curl/src/tool_cfgable.h
    - fields:
      - name: '*buf'
        type: wchar_t
      - name: len
        type: DWORD
      item_type: struct
      name: termout
      pos:
        line_end: 332
        line_start: 329
        source_file: /src/PROJ/curl/src/tool_cfgable.h
    - fields:
      - name: state
        type: struct State
      - name: '*trace_dump'
        type: char
      - name: '*trace_stream'
        type: FILE
      - name: '*libcurl'
        type: char
      - name: '*ssl_sessions'
        type: char
      - name: '*variables'
        type: struct tool_var
      - name: '*first'
        type: struct OperationConfig
      - name: '*current'
        type: struct OperationConfig
      - name: '*last'
        type: struct OperationConfig
      - name: ms_per_transfer
        type: timediff_t
      - name: tracetype
        type: trace
      - name: progressmode
        type: int
      - name: parallel_host
        type: unsigned short
      - name: parallel_max
        type: unsigned short
      - name: verbosity
        type: unsigned char
      item_type: struct
      name: GlobalConfig
      pos:
        line_end: 371
        line_start: 335
        source_file: /src/PROJ/curl/src/tool_cfgable.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_see.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_hugehelp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - basename
  source_file: /src/PROJ/curl/src/tool_bname.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - easysrc_init
  - easysrc_perform
  source_file: /src/PROJ/curl/src/tool_easysrc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_checkfds
  - main_checkfds
  - memory_tracking_init
  - memory_tracking_init
  source_file: /src/PROJ/curl/src/tool_main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_USED
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/src/tool_main.c
      type_or_value: __attribute__((used))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_help.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLHELP_AUTH
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 0u)
    - item_type: preproc_def
      name: CURLHELP_CONNECTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 1u)
    - item_type: preproc_def
      name: CURLHELP_CURL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 2u)
    - item_type: preproc_def
      name: CURLHELP_DEPRECATED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 3u)
    - item_type: preproc_def
      name: CURLHELP_DNS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 4u)
    - item_type: preproc_def
      name: CURLHELP_FILE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 5u)
    - item_type: preproc_def
      name: CURLHELP_FTP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 6u)
    - item_type: preproc_def
      name: CURLHELP_GLOBAL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 7u)
    - item_type: preproc_def
      name: CURLHELP_HTTP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 8u)
    - item_type: preproc_def
      name: CURLHELP_IMAP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 9u)
    - item_type: preproc_def
      name: CURLHELP_IMPORTANT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 10u)
    - item_type: preproc_def
      name: CURLHELP_LDAP
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 11u)
    - item_type: preproc_def
      name: CURLHELP_OUTPUT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 12u)
    - item_type: preproc_def
      name: CURLHELP_POP3
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 13u)
    - item_type: preproc_def
      name: CURLHELP_POST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 14u)
    - item_type: preproc_def
      name: CURLHELP_PROXY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 15u)
    - item_type: preproc_def
      name: CURLHELP_SCP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 16u)
    - item_type: preproc_def
      name: CURLHELP_SFTP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 17u)
    - item_type: preproc_def
      name: CURLHELP_SMTP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 18u)
    - item_type: preproc_def
      name: CURLHELP_SSH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 19u)
    - item_type: preproc_def
      name: CURLHELP_TELNET
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 20u)
    - item_type: preproc_def
      name: CURLHELP_TFTP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 21u)
    - item_type: preproc_def
      name: CURLHELP_TIMEOUT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 22u)
    - item_type: preproc_def
      name: CURLHELP_TLS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 23u)
    - item_type: preproc_def
      name: CURLHELP_UPLOAD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 24u)
    - item_type: preproc_def
      name: CURLHELP_VERBOSE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (1u << 25u)
    - item_type: preproc_def
      name: CURLHELP_ALL
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/src/tool_help.h
      type_or_value: (0xfffffffu)
    structs:
    - fields:
      - name: '*trigger'
        type: char
      - name: tlen
        type: size_t
      - name: '*arg'
        type: char
      - name: flen
        type: size_t
      - name: '*endarg'
        type: char
      - name: elen
        type: size_t
      - name: olen
        type: size_t
      - name: rbuf[40]
        type: char
      - name: obuf[160]
        type: char
      - name: show
        type: unsigned char
      item_type: struct
      name: scan_ctx
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_help.h
    - fields:
      - name: '*opt'
        type: char
      - name: '*desc'
        type: char
      - name: categories
        type: unsigned int
      item_type: struct
      name: helptxt
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/PROJ/curl/src/tool_help.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_sdecls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      - name: bytes
        type: curl_off_t
      - name: init
        type: curl_off_t
      item_type: struct
      name: OutStruct
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/PROJ/curl/src/tool_sdecls.h
    - fields:
      - name: '*next'
        type: struct getout
      - name: '*url'
        type: char
      - name: '*outfile'
        type: char
      - name: '*infile'
        type: char
      - name: num
        type: curl_off_t
      item_type: struct
      name: getout
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/PROJ/curl/src/tool_sdecls.h
    typedefs: []
    union: []
- function_names:
  - mkdir
  - show_dir_errno
  - create_dir_hierarchy
  source_file: /src/PROJ/curl/src/tool_dirhie.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F_OK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/src/tool_dirhie.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PATH_DELIMITERS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/src/tool_dirhie.c
      type_or_value: '"\\/"'
    - item_type: preproc_def
      name: PATH_DELIMITERS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/src/tool_dirhie.c
      type_or_value: DIR_CHAR
    structs: []
    typedefs: []
    union: []
- function_names:
  - hms_for_sec
  - log_line_start
  - tool_debug_cb
  - dump
  source_file: /src/PROJ/curl/src/tool_cb_dbg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRC_IDS_FORMAT_IDS_1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/src/tool_cb_dbg.c
      type_or_value: '"[%" CURL_FORMAT_CURL_OFF_T "-x] "'
    - item_type: preproc_def
      name: TRC_IDS_FORMAT_IDS_2
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/PROJ/curl/src/tool_cb_dbg.c
      type_or_value: "\"[%\" CURL_FORMAT_CURL_OFF_T \"-%\" \\\n                                   CURL_FORMAT_CURL_OFF_T
        \"] \""
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_libcurl_info
  - proto_token
  source_file: /src/PROJ/curl/src/tool_libinfo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*proto_name'
        type: char
      - name: '**proto_tokenp'
        type: char
      item_type: struct
      name: proto_name_tokenp
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/PROJ/curl/src/tool_libinfo.c
    - fields:
      - name: '*feature_name'
        type: char
      - name: '*feature_presentp'
        type: bool
      - name: feature_bitmask
        type: int
      item_type: struct
      name: feature_name_presentp
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/PROJ/curl/src/tool_libinfo.c
    typedefs: []
    union: []
- function_names:
  - my_setopt
  - my_setopt_long
  - my_setopt_offt
  - my_setopt_str
  - my_setopt_enum
  - my_setopt_SSLVERSION
  - my_setopt_bitmask
  - my_setopt_mimepost
  - my_setopt_slist
  - my_setopt
  - my_setopt_long
  - my_setopt_offt
  - my_setopt_str
  - my_setopt_enum
  - my_setopt_SSLVERSION
  - my_setopt_bitmask
  - my_setopt_mimepost
  - my_setopt_slist
  source_file: /src/PROJ/curl/src/tool_setopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_HSTS_CTRL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLHSTS
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_HTTP_VERSION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_HTTP_VERSION
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_HTTPAUTH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLAUTH
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_SSLVERSION
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_SSLVERSION
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXY_SSLVERSION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_SSLVERSION
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_TIMECONDITION
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_TIMECOND
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_FTP_SSL_CCC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLFTPSSL_CCC
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_USE_SSL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLUSESSL
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_SSL_OPTIONS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLSSLOPT
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXY_SSL_OPTIONS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLSSLOPT
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_NETRC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_NETRC
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXYTYPE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLPROXY
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXYAUTH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLAUTH
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_SOCKS5_AUTH
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLAUTH
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: long
      item_type: struct
      name: NameValue
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/PROJ/curl/src/tool_setopt.h
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned long
      item_type: struct
      name: NameValueUnsigned
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/PROJ/curl/src/tool_setopt.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_operhlp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_main.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAXREDIRS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: 50L
    - item_type: preproc_def
      name: RETRY_SLEEP_DEFAULT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: '1000L   '
    - item_type: preproc_def
      name: RETRY_SLEEP_MAX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: '600000L '
    - item_type: preproc_def
      name: MAX_PARALLEL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: PARALLEL_DEFAULT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_PARALLEL_HOST
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: PARALLEL_HOST_DEFAULT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/src/tool_main.h
      type_or_value: '0 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_operate.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct per_transfer
      - name: '*prev'
        type: struct per_transfer
      - name: '*config'
        type: struct OperationConfig
      - name: '*certinfo'
        type: struct curl_certinfo
      - name: '*curl'
        type: CURL
      - name: retry_remaining
        type: long
      - name: retry_sleep_default
        type: long
      - name: retry_sleep
        type: long
      - name: num_retries
        type: long
      - name: start
        type: struct curltime
      - name: retrystart
        type: struct curltime
      - name: '*url'
        type: char
      - name: urlnum
        type: curl_off_t
      - name: '*outfile'
        type: char
      - name: infd
        type: int
      - name: progressbar
        type: struct ProgressData
      - name: outs
        type: struct OutStruct
      - name: heads
        type: struct OutStruct
      - name: etag_save
        type: struct OutStruct
      - name: hdrcbdata
        type: struct HdrCbData
      - name: num_headers
        type: long
      - name: startat
        type: time_t
      - name: dltotal
        type: curl_off_t
      - name: dlnow
        type: curl_off_t
      - name: ultotal
        type: curl_off_t
      - name: ulnow
        type: curl_off_t
      - name: uploadfilesize
        type: curl_off_t
      - name: uploadedsofar
        type: curl_off_t
      - name: '*uploadfile'
        type: char
      - name: errorbuffer[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: per_transfer
      pos:
        line_end: 78
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_operate.h
    typedefs: []
    union: []
- function_names:
  - NV
  - NV1
  - c_escape
  - tool_setopt_enum
  - tool_setopt_SSLVERSION
  - tool_setopt_bitmask
  - libcurl_generate_slist
  - libcurl_generate_mime_part
  - libcurl_generate_mime
  - tool_setopt_mimepost
  - tool_setopt_slist
  - tool_setopt_long
  - tool_setopt_offt
  - tool_setopt
  source_file: /src/PROJ/curl/src/tool_setopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NVEND
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/src/tool_setopt.c
      type_or_value: '{NULL, 0}         '
    - item_type: preproc_def
      name: MAX_STRING_LENGTH_OUTPUT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/curl/src/tool_setopt.c
      type_or_value: '2000'
    - item_type: preproc_def
      name: ZERO_TERMINATED
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/curl/src/tool_setopt.c
      type_or_value: '-1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_getout
  - ISCRLF
  - memcrlf
  - file2string
  - file2memory_range
  - file2memory
  - getnum
  - str2num
  - oct2nummax
  - str2unum
  - str2unummax
  - secs2ms
  - protoset_index
  - protoset_set
  - protoset_clear
  - proto2num
  - check_protocol
  - str2offset
  - checkpasswd
  - add2list
  - ftpfilemethod
  - ftpcccmethod
  - delegation
  - my_useragent
  - isheadersep
  - inlist
  - get_args
  - str2tls_max
  source_file: /src/PROJ/curl/src/tool_paramhlp.c
  types:
    enum:
    - enumerators:
      - name: allow
      - name: set
      - name: deny
      item_type: enum
      name: e_action
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/PROJ/curl/src/tool_paramhlp.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILE2STRING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/src/tool_paramhlp.c
      type_or_value: MAX_FILE2MEMORY
    - item_type: preproc_def
      name: MAX_PROTOSTRING
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/PROJ/curl/src/tool_paramhlp.c
      type_or_value: '(64*11) '
    - item_type: preproc_def
      name: MAX_USERPWDLENGTH
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/PROJ/curl/src/tool_paramhlp.c
      type_or_value: (100*1024)
    structs:
    - fields:
      - name: '*tls_max_str'
        type: char
      - name: tls_max
        type: unsigned char
      item_type: struct
      name: s_tls_max
      pos:
        line_end: 729
        line_start: 726
        source_file: /src/PROJ/curl/src/tool_paramhlp.c
    typedefs: []
    union: []
- function_names:
  - waitfd
  - tool_read_cb
  - tool_readbusy_cb
  source_file: /src/PROJ/curl/src/tool_cb_rea.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getstr
  - getstrn
  - parse_cert_parameter
  - replace_url_encoded_space_by_plus
  - GetFileAndPassword
  - GetSizeParameter
  - cleanarg
  - cleanarg
  - data_urlencode
  - sethttpver
  - set_trace_config
  - findarg
  - findshortopt
  - find_tos
  - url_query
  - set_data
  - set_rate
  - findlongopt
  - add_url
  - parse_url
  - parse_localport
  - parse_continue_at
  - parse_ech
  - parse_header
  - parse_output
  - parse_remote_name
  - parse_quote
  - parse_range
  - parse_upload_file
  - parse_verbose
  - parse_writeout
  - parse_time_cond
  - parse_upload_flags
  - togglebit
  - opt_depr
  - opt_sslver
  - opt_none
  - opt_bool
  - opt_file
  - opt_string
  - has_leading_unicode
  - getparameter
  - parse_args
  source_file: /src/PROJ/curl/src/tool_getparam.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALLOW_BLANK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/src/tool_getparam.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: DENY_BLANK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/src/tool_getparam.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: MAX_DATAURLENCODE
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/PROJ/curl/src/tool_getparam.c
      type_or_value: (500*1024*1024)
    - item_type: preproc_def
      name: MAX_QUERY_LEN
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/PROJ/curl/src/tool_getparam.c
      type_or_value: '100000 '
    - item_type: preproc_def
      name: MAX_OPTION_LEN
      pos:
        line_end: 2833
        line_start: 2832
        source_file: /src/PROJ/curl/src/tool_getparam.c
      type_or_value: '26'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned char
      item_type: struct
      name: TOSEntry
      pos:
        line_end: 801
        line_start: 798
        source_file: /src/PROJ/curl/src/tool_getparam.c
    - fields:
      - name: '*name'
        type: char
      - name: len
        type: size_t
      - name: flag
        type: unsigned char
      item_type: struct
      name: flagmap
      pos:
        line_end: 1614
        line_start: 1610
        source_file: /src/PROJ/curl/src/tool_getparam.c
    typedefs: []
    union: []
- function_names:
  - main
  - CURL_STRICMP
  - CURL_STRICMP
  - CURL_STRICMP
  - CURL_STRICMP
  - CURL_STRICMP
  - isatty
  - _get_osfhandle
  - _getch
  - ftruncate
  source_file: /src/PROJ/curl/src/tool_setup.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/src/tool_setup.h
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: UNPRINTABLE_CHAR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/src/tool_setup.h
      type_or_value: '''.'''
    - item_type: preproc_def
      name: tool_nop_stmt
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/src/tool_setup.h
      type_or_value: do { } while(0)
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/src/tool_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TOOL_FTRUNCATE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/src/tool_setup.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - strdup
  - memdup0
  source_file: /src/PROJ/curl/src/tool_strdup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - max5data
  - xferinfo_cb
  - time2str
  - add_offt
  - progress_meter
  - progress_finalize
  source_file: /src/PROJ/curl/src/tool_progress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPEEDCNT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/src/tool_progress.c
      type_or_value: '10'
    structs:
    - fields:
      - name: dl
        type: curl_off_t
      - name: ul
        type: curl_off_t
      - name: stamp
        type: struct curltime
      item_type: struct
      name: speedcount
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/PROJ/curl/src/tool_progress.c
    typedefs: []
    union: []
- function_names:
  - globerror
  - glob_fixed
  - multiply
  - glob_set
  - glob_range
  - peek_ipv6
  - glob_parse
  - glob_inuse
  - glob_url
  - glob_cleanup
  - glob_next_url
  - glob_match_url
  source_file: /src/PROJ/curl/src/tool_urlglob.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_IP6LEN
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/curl/src/tool_urlglob.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_OUTPUT_GLOB_LENGTH
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/PROJ/curl/src/tool_urlglob.c
      type_or_value: (1024*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - clean_getout
  - output_expected
  - stdin_upload
  - urlerr_cvt
  - add_file_name_to_url
  - get_url_file_name
  source_file: /src/PROJ/curl/src/tool_operhlp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_doswin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SANITIZE_ALLOW_PATH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/src/tool_doswin.h
      type_or_value: '(1<<1)  '
    - item_type: preproc_def
      name: SANITIZE_ALLOW_RESERVED
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_doswin.h
      type_or_value: '(1<<2)  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ARGTYPE
  - convert_UTF8_to_tchar
  - convert_tchar_to_UTF8
  - unicodefree
  - convert_UTF8_to_tchar
  - convert_tchar_to_UTF8
  - unicodefree
  source_file: /src/PROJ/curl/src/tool_getparam.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARG_NONE
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: ARG_BOOL
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: ARG_STRG
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: ARG_FILE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: ARG_TYPEMASK
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: ARG_DEPR
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: ARG_CLEAR
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: ARG_TLS
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: ARG_NO
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/PROJ/curl/src/tool_getparam.h
      type_or_value: '0x80 '
    structs:
    - fields:
      - name: '*lname'
        type: char
      - name: desc
        type: unsigned char
      - name: letter
        type: char
      - name: cmd
        type: unsigned short
      item_type: struct
      name: LongShort
      pos:
        line_end: 333
        line_start: 328
        source_file: /src/PROJ/curl/src/tool_getparam.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/slist_wc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first'
        type: struct curl_slist
      - name: '*last'
        type: struct curl_slist
      item_type: struct
      name: slist_wc
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/PROJ/curl/src/slist_wc.h
    typedefs: []
    union: []
- function_names:
  - voutf
  - notef
  - warnf
  - helpf
  - errorf
  source_file: /src/PROJ/curl/src/tool_msgs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WARN_PREFIX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/src/tool_msgs.c
      type_or_value: '"Warning: "'
    - item_type: preproc_def
      name: NOTE_PREFIX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_msgs.c
      type_or_value: '"Note: "'
    - item_type: preproc_def
      name: ERROR_PREFIX
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/src/tool_msgs.c
      type_or_value: '"curl: "'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_address_family
  - sockopt_callback
  - ssl_backend
  - url_proto_and_rewrite
  - ssh_setopts
  - tlsversion
  - ssl_setopts
  - http_setopts
  - cookie_setopts
  - tcp_setopts
  - ftp_setopts
  - gen_trace_setopts
  - gen_cb_setopts
  - proxy_setopts
  - tls_srp_setopts
  - config2setopts
  source_file: /src/PROJ/curl/src/config2setopts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/src/config2setopts.c
      type_or_value: 102400L
    - item_type: preproc_def
      name: SOL_IP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/src/config2setopts.c
      type_or_value: IPPROTO_IP
    - item_type: preproc_def
      name: MAX_COOKIE_LINE
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/PROJ/curl/src/config2setopts.c
      type_or_value: '8200'
    structs: []
    typedefs: []
    union: []
- function_names:
  - easysrc_free
  - easysrc_add
  - easysrc_addf
  - easysrc_init
  - easysrc_perform
  - easysrc_cleanup
  - dumpeasysrc
  source_file: /src/PROJ/curl/src/tool_easysrc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_progress.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_write_headers
  - tool_header_cb
  - parse_filename
  - write_linked_location
  source_file: /src/PROJ/curl/src/tool_cb_hdr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOLD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[1m"'
    - item_type: preproc_def
      name: BOLDOFF
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[22m"'
    - item_type: preproc_def
      name: BOLD
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[1m"'
    - item_type: preproc_def
      name: BOLDOFF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[0m"'
    - item_type: preproc_def
      name: LINK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b]8;;"'
    - item_type: preproc_def
      name: LINKST
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b\\"'
    - item_type: preproc_def
      name: LINKOFF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/src/tool_cb_hdr.c
      type_or_value: LINK LINKST
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_ssls_easy
  - tool_ssls_load
  - tool_ssls_exp
  - tool_ssls_save
  source_file: /src/PROJ/curl/src/tool_ssls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SSLS_LINE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_ssls.c
      type_or_value: (64 * 1024)
    structs:
    - fields:
      - name: '*fp'
        type: FILE
      - name: exported
        type: int
      item_type: struct
      name: tool_ssls_ctx
      pos:
        line_end: 134
        line_start: 131
        source_file: /src/PROJ/curl/src/tool_ssls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_NAME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: '"curl"'
    - item_type: preproc_def
      name: CURL_COPYRIGHT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: LIBCURL_COPYRIGHT
    - item_type: preproc_def
      name: CURL_VERSION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION
    - item_type: preproc_def
      name: CURL_VERSION_MAJOR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION_MAJOR
    - item_type: preproc_def
      name: CURL_VERSION_MINOR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION_MINOR
    - item_type: preproc_def
      name: CURL_VERSION_PATCH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION_PATCH
    - item_type: preproc_def
      name: CURL_ID
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_version.h
      type_or_value: CURL_NAME " " CURL_VERSION " (" CURL_OS ") "
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/config2setopts.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_findfile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLRC_DOTSCORE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/src/tool_findfile.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURLRC_DOTSCORE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_findfile.h
      type_or_value: '1 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - slist_wc_append
  - slist_wc_free_all
  source_file: /src/PROJ/curl/src/slist_wc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_vms_shell
  - vms_special_exit
  - decc_init
  source_file: /src/PROJ/curl/src/tool_vms.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: int
      item_type: struct
      name: decc_feat_t
      pos:
        line_end: 125
        line_start: 122
        source_file: /src/PROJ/curl/src/tool_vms.c
    typedefs: []
    union: []
- function_names:
  - varcleanup
  - varcontent
  - ENDOFFUNC
  - FUNCMATCH
  - varfunc
  - varexpand
  - addvariable
  - setvariable
  source_file: /src/PROJ/curl/src/var.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EXPAND_CONTENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '10000000'
    - item_type: preproc_def
      name: MAX_VAR_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: FUNC_TRIM
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '"trim"'
    - item_type: preproc_def
      name: FUNC_TRIM_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: (sizeof(FUNC_TRIM) - 1)
    - item_type: preproc_def
      name: FUNC_JSON
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '"json"'
    - item_type: preproc_def
      name: FUNC_JSON_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: (sizeof(FUNC_JSON) - 1)
    - item_type: preproc_def
      name: FUNC_URL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '"url"'
    - item_type: preproc_def
      name: FUNC_URL_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: (sizeof(FUNC_URL) - 1)
    - item_type: preproc_def
      name: FUNC_B64
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '"b64"'
    - item_type: preproc_def
      name: FUNC_B64_LEN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: (sizeof(FUNC_B64) - 1)
    - item_type: preproc_def
      name: FUNC_64DEC
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '"64dec" '
    - item_type: preproc_def
      name: FUNC_64DEC_LEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: (sizeof(FUNC_64DEC) - 1)
    - item_type: preproc_def
      name: MAX_FILENAME
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/PROJ/curl/src/var.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_ipfs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_GATEWAY_URL_LEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/src/tool_ipfs.h
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_category
  - get_category_content
  - get_categories
  - get_categories_list
  - inithelpscan
  - helpscan
  - tool_help
  - is_debug
  - tool_version_info
  - tool_list_engines
  source_file: /src/PROJ/curl/src/tool_help.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*opt'
        type: char
      - name: '*desc'
        type: char
      - name: category
        type: unsigned int
      item_type: struct
      name: category_descriptors
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/PROJ/curl/src/tool_help.c
    typedefs: []
    union: []
- function_names:
  - checkhome
  - findfile
  source_file: /src/PROJ/curl/src/tool_findfile.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*env'
        type: char
      - name: '*append'
        type: char
      - name: withoutdot
        type: bool
      item_type: struct
      name: finder
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/PROJ/curl/src/tool_findfile.c
    typedefs: []
    union: []
- function_names:
  - is_fatal_error
  - is_pkcs11_uri
  - vms_realfilesize
  - VmsSpecialSize
  - add_per_transfer
  - del_per_transfer
  - pre_transfer
  - single_transfer_cleanup
  - is_outfile_auto_resumable
  - retrycheck
  - post_per_transfer
  - set_cert_types
  - append2query
  - etag_compare
  - etag_store
  - setup_headerfile
  - setup_outfile
  - check_stdin_upload
  - single_transfer
  - add_parallel_transfers
  - on_uv_socket
  - on_uv_timeout
  - cb_timeout
  - create_context
  - close_cb
  - destroy_context
  - cb_socket
  - parallel_event
  - check_finished
  - mnotify
  - parallel_transfers
  - serial_transfers
  - is_using_schannel
  - cacertpaths
  - transfer_per_config
  - create_transfer
  - run_all_transfers
  - operate
  source_file: /src/PROJ/curl/src/tool_operate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_CA_CERT_ERRORMSG
      pos:
        line_end: 107
        line_start: 101
        source_file: /src/PROJ/curl/src/tool_operate.c
      type_or_value: "\"More details here: https://curl.se/docs/sslcerts.html\\n\\n\"
        \             \\\n  \"curl failed to verify the legitimacy of the server and
        therefore \"      \\\n  \"could not\\nestablish a secure connection to it.
        To learn more about \"   \\\n  \"this situation and\\nhow to fix it, please
        visit the webpage mentioned \" \\\n  \"above.\\n\""
    - item_type: preproc_def
      name: DEBUG_UV
      pos:
        line_end: 1521
        line_start: 1520
        source_file: /src/PROJ/curl/src/tool_operate.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*multi'
        type: CURLM
      - name: '*share'
        type: CURLSH
      - name: mcode
        type: CURLMcode
      - name: result
        type: CURLcode
      - name: still_running
        type: int
      - name: start
        type: struct curltime
      - name: more_transfers
        type: bool
      - name: added_transfers
        type: bool
      - name: wrapitup
        type: bool
      - name: wrapitup_processed
        type: bool
      - name: tick
        type: time_t
      item_type: struct
      name: parastate
      pos:
        line_end: 1516
        line_start: 1502
        source_file: /src/PROJ/curl/src/tool_operate.c
    - fields:
      - name: timeout
        type: uv_timer_t
      - name: '*loop'
        type: uv_loop_t
      - name: '*s'
        type: struct parastate
      item_type: struct
      name: datauv
      pos:
        line_end: 1527
        line_start: 1523
        source_file: /src/PROJ/curl/src/tool_operate.c
    - fields:
      - name: poll_handle
        type: uv_poll_t
      - name: sockfd
        type: curl_socket_t
      - name: '*uv'
        type: struct datauv
      item_type: struct
      name: contextuv
      pos:
        line_end: 1533
        line_start: 1529
        source_file: /src/PROJ/curl/src/tool_operate.c
    typedefs: []
    union: []
- function_names:
  - fly
  - update_width
  - tool_progress_cb
  - progressbarinit
  source_file: /src/PROJ/curl/src/tool_cb_prg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_BARLENGTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_cb_prg.c
      type_or_value: '400'
    - item_type: preproc_def
      name: MIN_BARLENGTH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/src/tool_cb_prg.c
      type_or_value: '20'
    - item_type: preproc_def
      name: CURL_OFF_T_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/src/tool_cb_prg.c
      type_or_value: '0x7FFFFFFFFFFFFFFF'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_USE_LFN
  - CURL_USE_LFN
  - S_ISCHR
  - S_ISCHR
  - sanitize_file_name
  - truncate_dryrun
  - msdosify
  - rename_if_reserved_dos
  - __crt0_glob_function
  - FindWin32CACert
  - GetLoadedModulePaths
  - restore_terminal
  - signal_handler
  - init_terminal
  - win32_init
  - win_stdin_thread_func
  - win32_stdin_read_thread
  source_file: /src/PROJ/curl/src/tool_doswin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/src/tool_doswin.c
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: ENABLE_VIRTUAL_TERMINAL_PROCESSING
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/PROJ/curl/src/tool_doswin.c
      type_or_value: '0x0004'
    structs:
    - fields:
      - name: hStdOut
        type: HANDLE
      - name: dwOutputMode
        type: DWORD
      - name: valid
        type: LONG
      item_type: struct
      name: TerminalSettings
      pos:
        line_end: 672
        line_start: 668
        source_file: /src/PROJ/curl/src/tool_doswin.c
    - fields:
      - name: stdin_handle
        type: HANDLE
      - name: socket_l
        type: curl_socket_t
      item_type: struct
      name: win_thread_data
      pos:
        line_end: 754
        line_start: 747
        source_file: /src/PROJ/curl/src/tool_doswin.c
    typedefs: []
    union: []
- function_names:
  - tool_mime_new
  - tool_mime_new_parts
  - tool_mime_new_data
  - uztoso
  - tool_mime_new_filedata
  - tool_mime_free
  - tool_mime_stdin_read
  - tool_mime_stdin_seek
  - tool2curlparts
  - tool2curlmime
  - get_param_word
  - slist_append
  - read_field_headers
  - get_param_part
  - SET_TOOL_MIME_PTR
  - formparse
  source_file: /src/PROJ/curl/src/tool_formparse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MASK_UCOFFT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/src/tool_formparse.c
      type_or_value: ((unsigned CURL_TYPEOF_CURL_OFF_T)~0)
    - item_type: preproc_def
      name: CURL_MASK_SCOFFT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/src/tool_formparse.c
      type_or_value: (CURL_MASK_UCOFFT >> 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_socket_open_mptcp_cb
  source_file: /src/PROJ/curl/src/tool_cb_soc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPPROTO_MPTCP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/src/tool_cb_soc.c
      type_or_value: '262'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_hdr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*config'
        type: struct OperationConfig
      - name: '*outs'
        type: struct OutStruct
      - name: '*heads'
        type: struct OutStruct
      - name: '*etag_save'
        type: struct OutStruct
      - name: '*headlist'
        type: struct curl_slist
      - name: honor_cd_filename
        type: bool
      item_type: struct
      name: HdrCbData
      pos:
        line_end: 49
        line_start: 42
        source_file: /src/PROJ/curl/src/tool_cb_hdr.h
    typedefs: []
    union: []
- function_names:
  - tool_init_stderr
  - tool_set_stderr_file
  source_file: /src/PROJ/curl/src/tool_stderr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/src/curlinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stripcredentials
  - xattr
  - fwrite_xattr
  source_file: /src/PROJ/curl/src/tool_xattr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*attr'
        type: char
      - name: info
        type: CURLINFO
      item_type: struct
      name: xattr_mapping
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/PROJ/curl/src/tool_xattr.c
    typedefs: []
    union: []
- function_names:
  - tool_create_output_file
  - win_console
  - IS_TRAILING_BYTE
  - tool_write_cb
  source_file: /src/PROJ/curl/src/tool_cb_wrt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_cb_wrt.c
      type_or_value: S_IREAD | S_IWRITE
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/src/tool_cb_wrt.c
      type_or_value: S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_parsecfg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_MAX_LEVELS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/src/tool_parsecfg.h
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_writeout_json.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jsonquoted
  - jsonWriteString
  - ourWriteOutJSON
  - headerJSON
  source_file: /src/PROJ/curl/src/tool_writeout_json.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_JSON_STRING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/src/tool_writeout_json.c
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_terminal_columns
  source_file: /src/PROJ/curl/src/terminal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_libinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/var.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct tool_var
      - name: '*content'
        type: char
      - name: clen
        type: size_t
      - name: name[1]
        type: char
      item_type: struct
      name: tool_var
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/PROJ/curl/src/var.h
    typedefs: []
    union: []
- function_names:
  - param2text
  - SetHTTPrequest
  - customrequest_helper
  source_file: /src/PROJ/curl/src/tool_helpers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_wrt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_listhelp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/terminal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setfiletime
  source_file: /src/PROJ/curl/src/tool_filetime.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_formparse.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kind
        type: toolmimekind
      - name: '*parent'
        type: struct tool_mime
      - name: '*prev'
        type: struct tool_mime
      - name: '*data'
        type: char
      - name: '*name'
        type: char
      - name: '*filename'
        type: char
      - name: '*type'
        type: char
      - name: '*encoder'
        type: char
      - name: '*headers'
        type: struct curl_slist
      - name: '*subparts'
        type: struct tool_mime
      - name: origin
        type: curl_off_t
      - name: size
        type: curl_off_t
      - name: curpos
        type: curl_off_t
      item_type: struct
      name: tool_mime
      pos:
        line_end: 57
        line_start: 39
        source_file: /src/PROJ/curl/src/tool_formparse.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_msgs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - has_trailing_slash
  - ipfs_gateway
  - ipfs_url_rewrite
  source_file: /src/PROJ/curl/src/tool_ipfs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_soc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_basename
  source_file: /src/PROJ/curl/src/tool_bname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_paramhlp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILE2MEMORY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/src/tool_paramhlp.h
      type_or_value: (16LL*1024*1024*1024)
    - item_type: preproc_def
      name: MAX_FILE2MEMORY
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/src/tool_paramhlp.h
      type_or_value: (INT_MAX)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_stderr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_getpass.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISSEP
  - unslashquote
  - parseconfig
  - get_line
  - my_get_line
  source_file: /src/PROJ/curl/src/tool_parsecfg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CONFIG_LINE_LENGTH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/src/tool_parsecfg.c
      type_or_value: (10*1024*1024)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/src/tool_cb_prg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_PROGRESS_STATS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/src/tool_cb_prg.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CURL_PROGRESS_BAR
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/src/tool_cb_prg.h
      type_or_value: '1'
    structs:
    - fields:
      - name: calls
        type: int
      - name: prev
        type: curl_off_t
      - name: prevtime
        type: struct curltime
      - name: width
        type: int
      - name: '*out'
        type: FILE
      - name: initial_size
        type: curl_off_t
      - name: tick
        type: unsigned int
      - name: bar
        type: int
      - name: barmove
        type: int
      item_type: struct
      name: ProgressData
      pos:
        line_end: 40
        line_start: 30
        source_file: /src/PROJ/curl/src/tool_cb_prg.h
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-uidl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_ADDR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
      type_or_value: '"<ursel@example.org>"'
    - item_type: preproc_def
      name: SENDER_ADDR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
      type_or_value: '"<kurt@example.org>"'
    - item_type: preproc_def
      name: TO_ADDR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
      type_or_value: '"Ursel " FROM_ADDR'
    - item_type: preproc_def
      name: SENDER_MAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
      type_or_value: '"Kurt " SENDER_ADDR'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
      type_or_value: '"A Receiver " TO_ADDR'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/PROJ/curl/docs/examples/smtp-authzid.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-create.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/httpput-postfields.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-multi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/docs/examples/smtp-multi.c
      type_or_value: '"<sender@example.com>"'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/docs/examples/smtp-multi.c
      type_or_value: '"<recipient@example.com>"'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/docs/examples/smtp-multi.c
      type_or_value: '"<info@example.com>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/PROJ/curl/docs/examples/smtp-multi.c
    typedefs: []
    union: []
- function_names:
  - read_cb
  - sftpGetRemoteFileSize
  - sftpResumeUpload
  - main
  source_file: /src/PROJ/curl/docs/examples/sftpuploadresume.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/sessioninfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-fetch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pull_one_url
  - main
  source_file: /src/PROJ/curl/docs/examples/multithread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/docs/examples/multithread.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-store.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/https.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/postinmemory.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: MemoryStruct
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/PROJ/curl/docs/examples/postinmemory.c
    typedefs: []
    union: []
- function_names:
  - dump
  - my_trace
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-debugcallback.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/docs/examples/multi-debugcallback.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - dumpNode
  - main
  source_file: /src/PROJ/curl/docs/examples/htmltidy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/rtsp-options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/protofeats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_cookies
  - main
  source_file: /src/PROJ/curl/docs/examples/cookie_interface.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/docs/examples/cookie_interface.c
      type_or_value: _snprintf
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-delete.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/default-scheme.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mycase
  - mcode_or_die
  - multi_timer_cb
  - check_multi_info
  - event_cb
  - timer_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - xferinfo_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - clean_fifo
  - main
  source_file: /src/PROJ/curl/docs/examples/hiperfifo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/docs/examples/hiperfifo.c
      type_or_value: 'stdout '
    structs:
    - fields:
      - name: '*evbase'
        type: struct event_base
      - name: fifo_event
        type: struct event
      - name: timer_event
        type: struct event
      - name: '*multi'
        type: CURLM
      - name: still_running
        type: int
      - name: '*input'
        type: FILE
      - name: stopped
        type: int
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 88
        line_start: 80
        source_file: /src/PROJ/curl/docs/examples/hiperfifo.c
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/PROJ/curl/docs/examples/hiperfifo.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*curl'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: ev
        type: struct event
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 106
        line_start: 99
        source_file: /src/PROJ/curl/docs/examples/hiperfifo.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-noop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/chkspeed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: URL_BASE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: '"http://speedtest.your.domain/"'
    - item_type: preproc_def
      name: URL_1M
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_1M.bin"
    - item_type: preproc_def
      name: URL_2M
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_2M.bin"
    - item_type: preproc_def
      name: URL_5M
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_5M.bin"
    - item_type: preproc_def
      name: URL_10M
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_10M.bin"
    - item_type: preproc_def
      name: URL_20M
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_20M.bin"
    - item_type: preproc_def
      name: URL_50M
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_50M.bin"
    - item_type: preproc_def
      name: URL_100M
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_100M.bin"
    - item_type: preproc_def
      name: CHKSPEED_VERSION
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/docs/examples/chkspeed.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_lock
  - my_unlock
  - main
  source_file: /src/PROJ/curl/docs/examples/shared-connection-cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/http-post.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/smtp-ssl.c
      type_or_value: '"<sender@example.com>"'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/smtp-ssl.c
      type_or_value: '"<recipient@example.com>"'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/docs/examples/smtp-ssl.c
      type_or_value: '"<info@example.com>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/PROJ/curl/docs/examples/smtp-ssl.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-retr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pull_one_url
  - main
  source_file: /src/PROJ/curl/docs/examples/threaded-ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/threaded-ssl.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - gettimeofday
  - my_gettimeofday
  - dump
  - my_trace
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/http2-upload.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
      type_or_value: _fileno
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: CURLPIPE_MULTIPLEX
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
      type_or_value: 0L
    - item_type: preproc_def
      name: WIN32_FT_OFFSET
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
      type_or_value: (116444736000000000)
    structs:
    - fields:
      - name: '*in'
        type: FILE
      - name: '*out'
        type: FILE
      - name: bytes_read
        type: size_t
      - name: '*curl'
        type: CURL
      - name: num
        type: int
      item_type: struct
      name: input
      pos:
        line_end: 92
        line_start: 86
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
    typedefs: []
    union:
    - fields:
      - name: ns100
        type: CURL_TYPEOF_CURL_OFF_T
      - name: ft
        type: FILETIME
      item_type: union
      name: _now
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/PROJ/curl/docs/examples/http2-upload.c
- function_names: []
  source_file: /src/PROJ/curl/docs/examples/fileupload.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/docs/examples/fileupload.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/docs/examples/fileupload.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/docs/examples/fileupload.c
      type_or_value: _fileno
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/http3-present.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-authzid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - write_cb
  - closecb
  - opensocket
  - sockopt_callback
  - main
  source_file: /src/PROJ/curl/docs/examples/externalsocket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: close
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/docs/examples/externalsocket.c
      type_or_value: closesocket
    - item_type: preproc_def
      name: IPADDR
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/docs/examples/externalsocket.c
      type_or_value: '"127.0.0.1"'
    - item_type: preproc_def
      name: PORTNUM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/docs/examples/externalsocket.c
      type_or_value: '80'
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/docs/examples/externalsocket.c
      type_or_value: '0xffffffff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/simple.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/websocket-cb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-multi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/persistent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump
  - my_trace
  - main
  source_file: /src/PROJ/curl/docs/examples/debug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: trace_ascii
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/PROJ/curl/docs/examples/debug.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-double.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/altsvc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getcontentlengthfunc
  - write_cb
  - read_cb
  - upload
  - main
  source_file: /src/PROJ/curl/docs/examples/ftpuploadresume.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/simplepost.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_response
  - main
  source_file: /src/PROJ/curl/docs/examples/ftpgetresp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FTPBODY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/docs/examples/ftpgetresp.c
      type_or_value: '"ftp-list"'
    - item_type: preproc_def
      name: FTPHEADERS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/docs/examples/ftpgetresp.c
      type_or_value: '"ftp-responses"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/keepalive.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-tls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/postit2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/connect-to.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-authzid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: WriteThis
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/ftpuploadfrommem.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/interface.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-append.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/docs/examples/imap-append.c
      type_or_value: '"<sender@example.org>"'
    - item_type: preproc_def
      name: TO
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/imap-append.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: CC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/imap-append.c
      type_or_value: '"<info@example.org>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/PROJ/curl/docs/examples/imap-append.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/unixsocket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ABSTRACT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/docs/examples/unixsocket.c
      type_or_value: '"http-unix-domain"'
    - item_type: preproc_def
      name: PATH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/docs/examples/unixsocket.c
      type_or_value: '"/tmp/http-unix-domain"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - run_one
  - pull_one_url
  - pulse_bar
  - create_thread
  - cb_delete
  - main
  source_file: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/smooth-gtk-thread.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/url2file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-search.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/getredirect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-expn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-single.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/ftp-delete.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writefunction
  - sslctx_function
  - main
  source_file: /src/PROJ/curl/docs/examples/usercertinmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump
  - my_trace
  - setup
  - server_push_callback
  - main
  source_file: /src/PROJ/curl/docs/examples/http2-serverpush.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/docs/examples/http2-serverpush.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: OUTPUTFILE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/docs/examples/http2-serverpush.c
      type_or_value: '"dl"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-copy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-legacy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_HANDLE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/multi-legacy.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: FTP_HANDLE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/docs/examples/multi-legacy.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: HANDLECOUNT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/docs/examples/multi-legacy.c
      type_or_value: '2   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/sslbackend.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/websocket-updown.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: buf[1024]
        type: char
      - name: blen
        type: size_t
      - name: nsent
        type: size_t
      item_type: struct
      name: read_ctx
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/PROJ/curl/docs/examples/websocket-updown.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/getinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_ADDR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
      type_or_value: '"<sender@example.org>"'
    - item_type: preproc_def
      name: TO_ADDR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: CC_ADDR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
      type_or_value: '"<info@example.org>"'
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
      type_or_value: '"Sender Person " FROM_ADDR'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
      type_or_value: '"A Receiver " TO_ADDR'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
      type_or_value: '"John CC Smith " CC_ADDR'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/PROJ/curl/docs/examples/smtp-mail.c
    typedefs: []
    union: []
- function_names:
  - COMPARE
  - COMPARE
  - Context
  - writer
  - init
  - StartElement
  - EndElement
  - handleCharacters
  - Characters
  - cdata
  - parseHtml
  - main
  source_file: /src/PROJ/curl/docs/examples/htmltitle.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: addTitle
        type: bool
      - name: title
        type: std::string
      item_type: struct
      name: Context
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/PROJ/curl/docs/examples/htmltitle.cpp
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-post.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/parseurl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-lsub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_seek
  - read_cb
  source_file: /src/PROJ/curl/docs/examples/anyauthput.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/docs/examples/anyauthput.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/docs/examples/anyauthput.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/anyauthput.c
      type_or_value: _fileno
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-multi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/httpcustomheader.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - ip_list_append
  - ip_list_free_all
  - free_connection_filter
  - ip_match
  - is_ipv4_mapped_ipv6_address
  - opensocket
  - main
  source_file: /src/PROJ/curl/docs/examples/block_ip.c
  types:
    enum:
    - enumerators:
      - name: CONNECTION_FILTER_BLACKLIST
      - name: CONNECTION_FILTER_WHITELIST
      item_type: enum
      name: connection_filter_t
      pos:
        line_end: 94
        line_start: 91
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
      type_or_value: '0x0600  '
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: family
        type: int
      - name: netaddr
        type: "union netaddr {\n    struct in_addr ipv4;\n#ifdef AF_INET6\n    struct
          in6_addr ipv6;\n#endif\n  }"
      - name: maskbits
        type: int
      - name: '*next'
        type: struct ip
      item_type: struct
      name: ip
      pos:
        line_end: 89
        line_start: 71
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
    - fields:
      - name: '*list'
        type: struct ip
      - name: type
        type: enum connection_filter_t
      - name: verbose
        type: int
      item_type: struct
      name: connection_filter
      pos:
        line_end: 106
        line_start: 96
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
    typedefs: []
    union:
    - fields:
      - name: ipv4
        type: struct in_addr
      item_type: union
      name: netaddr
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/PROJ/curl/docs/examples/block_ip.c
- function_names:
  - write_cb
  - add_transfer
  - main
  source_file: /src/PROJ/curl/docs/examples/10-at-a-time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PARALLEL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/docs/examples/10-at-a-time.c
      type_or_value: '10  '
    - item_type: preproc_def
      name: NUM_URLS
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/docs/examples/10-at-a-time.c
      type_or_value: sizeof(urls)/sizeof(char *)
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/range.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/http-options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-mime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/smtp-mime.c
      type_or_value: '"<sender@example.org>"'
    - item_type: preproc_def
      name: TO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/smtp-mime.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: CC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/smtp-mime.c
      type_or_value: '"<info@example.org>"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wait_on_socket
  - main
  source_file: /src/PROJ/curl/docs/examples/sendrecv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_curl_context
  - curl_close_cb
  - destroy_curl_context
  - add_download
  - check_multi_info
  - on_uv_socket
  - on_uv_timeout
  - cb_timeout
  - cb_socket
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-uv.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: timeout
        type: uv_timer_t
      - name: '*loop'
        type: uv_loop_t
      - name: '*multi'
        type: CURLM
      item_type: struct
      name: datauv
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/PROJ/curl/docs/examples/multi-uv.c
    - fields:
      - name: poll_handle
        type: uv_poll_t
      - name: sockfd
        type: curl_socket_t
      - name: '*uv'
        type: struct datauv
      item_type: struct
      name: curl_context
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/PROJ/curl/docs/examples/multi-uv.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/getreferrer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/ftpget.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: FtpFile
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/PROJ/curl/docs/examples/ftpget.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-examine.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_curl_context
  - destroy_curl_context
  - add_download
  - check_multi_info
  - curl_perform
  - on_timeout
  - start_timeout
  - handle_socket
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-event.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*event'
        type: struct event
      - name: sockfd
        type: curl_socket_t
      item_type: struct
      name: curl_context
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/PROJ/curl/docs/examples/multi-event.c
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/sepheaders.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/post-callback.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: WriteThis
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/post-callback.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/urlapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-tls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - init_memory
  - setup
  - server_push_callback
  - main
  source_file: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILES
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: Memory
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/PROJ/curl/docs/examples/http2-pushinmemory.c
    typedefs: []
    union: []
- function_names:
  - sleep
  - ping
  - recv_pong
  - websocket_close
  - websocket
  - main
  source_file: /src/PROJ/curl/docs/examples/websocket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  source_file: /src/PROJ/curl/docs/examples/httpput.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/docs/examples/httpput.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/docs/examples/httpput.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/docs/examples/httpput.c
      type_or_value: _fileno
    structs: []
    typedefs: []
    union: []
- function_names:
  - mcode_or_die
  - check_multi_info
  - timer_cb
  - update_timeout_cb
  - event_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - xferinfo_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - main
  source_file: /src/PROJ/curl/docs/examples/ghiper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
      type_or_value: 'g_print   '
    - item_type: preproc_def
      name: SHOW_VERBOSE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
      type_or_value: '0L   '
    - item_type: preproc_def
      name: SHOW_PROGRESS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: BUF_SIZE
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*multi'
        type: CURLM
      - name: timer_event
        type: guint
      - name: still_running
        type: int
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*curl'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: '*ch'
        type: GIOChannel
      - name: ev
        type: guint
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 95
        line_start: 87
        source_file: /src/PROJ/curl/docs/examples/ghiper.c
    typedefs: []
    union: []
- function_names:
  - throw_away
  - main
  source_file: /src/PROJ/curl/docs/examples/ftpgetinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-formadd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/address-scope.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - startElement
  - characterDataHandler
  - endElement
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/xmlstream.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: MemoryStruct
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/xmlstream.c
    - fields:
      - name: ok
        type: int
      - name: tags
        type: size_t
      - name: depth
        type: size_t
      - name: characters
        type: struct MemoryStruct
      item_type: struct
      name: ParserStruct
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/PROJ/curl/docs/examples/xmlstream.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/resolve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/http3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hstsread
  - hstswrite
  - main
  source_file: /src/PROJ/curl/docs/examples/hsts-preload.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*exp'
        type: char
      item_type: struct
      name: entry
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/PROJ/curl/docs/examples/hsts-preload.c
    - fields:
      - name: index
        type: int
      item_type: struct
      name: state
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/hsts-preload.c
    typedefs: []
    union: []
- function_names:
  - mem_reset
  - mem_need
  - mem_addn
  - mem_add
  - mem_addf
  - mydebug
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/log_failed_transfers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/docs/examples/log_failed_transfers.c
      type_or_value: _stricmp
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/docs/examples/log_failed_transfers.c
      type_or_value: _strnicmp
    - item_type: preproc_def
      name: unlink
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/docs/examples/log_failed_transfers.c
      type_or_value: _unlink
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: mem
      pos:
        line_end: 63
        line_start: 56
        source_file: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    - fields:
      - name: '*url'
        type: char
      - name: log
        type: struct mem
      - name: '*bodyfp'
        type: FILE
      - name: '*curl'
        type: CURL
      item_type: struct
      name: transfer
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/PROJ/curl/docs/examples/log_failed_transfers.c
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/getinmemory.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: MemoryStruct
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/PROJ/curl/docs/examples/getinmemory.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-vrfy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/postit2-formadd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-top.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/smtp-tls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/smtp-tls.c
      type_or_value: '"<sender@example.com>"'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/smtp-tls.c
      type_or_value: '"<recipient@example.com>"'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/docs/examples/smtp-tls.c
      type_or_value: '"<info@example.com>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/PROJ/curl/docs/examples/smtp-tls.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/localport.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/netrc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/sftpget.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: FtpFile
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/PROJ/curl/docs/examples/sftpget.c
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/headerapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - main
  - write_cb
  - SyncTime_CURL_WriteHeader
  - SyncTime_CURL_Init
  - SyncTime_CURL_Fetch
  - showUsage
  - conf_init
  - main
  source_file: /src/PROJ/curl/docs/examples/synctime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/docs/examples/synctime.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: MAX_STRING
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/docs/examples/synctime.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_STRING1
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/docs/examples/synctime.c
      type_or_value: MAX_STRING + 1
    - item_type: preproc_def
      name: SYNCTIME_UA
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/docs/examples/synctime.c
      type_or_value: '"synctime/1.0"'
    - item_type: preproc_def
      name: HTTP_COMMAND_HEAD
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/curl/docs/examples/synctime.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HTTP_COMMAND_GET
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/docs/examples/synctime.c
      type_or_value: '1'
    structs:
    - fields:
      - name: http_proxy[MAX_STRING1]
        type: char
      - name: proxy_user[MAX_STRING1]
        type: char
      - name: timeserver[MAX_STRING1]
        type: char
      item_type: struct
      name: conf
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/PROJ/curl/docs/examples/synctime.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-noop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - file_is_coming
  - file_is_downloaded
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/ftp-wildcard.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*output'
        type: FILE
      item_type: struct
      name: callback_data
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/PROJ/curl/docs/examples/ftp-wildcard.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/maxconnects.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/imap-ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - read_cb
  source_file: /src/PROJ/curl/docs/examples/ftpupload.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: _fileno
    - item_type: preproc_def
      name: LOCAL_FILE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: '"/tmp/uploadthis.txt"'
    - item_type: preproc_def
      name: UPLOAD_FILE_AS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: '"while-uploading.txt"'
    - item_type: preproc_def
      name: REMOTE_URL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: '"ftp://example.com/"  UPLOAD_FILE_AS'
    - item_type: preproc_def
      name: RENAME_FILE_TO
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/docs/examples/ftpupload.c
      type_or_value: '"renamed-and-fine.txt"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mycase
  - mcode_or_die
  - multi_timer_cb
  - check_multi_info
  - event_cb
  - timer_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - prog_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - clean_fifo
  - sigint_handler
  - main
  source_file: /src/PROJ/curl/docs/examples/ephiperfifo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/docs/examples/ephiperfifo.c
      type_or_value: 'stdout '
    structs:
    - fields:
      - name: epfd
        type: int
      - name: tfd
        type: int
      - name: fifofd
        type: int
      - name: '*multi'
        type: CURLM
      - name: still_running
        type: int
      - name: '*input'
        type: FILE
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 88
        line_start: 81
        source_file: /src/PROJ/curl/docs/examples/ephiperfifo.c
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/PROJ/curl/docs/examples/ephiperfifo.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*curl'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/PROJ/curl/docs/examples/ephiperfifo.c
    typedefs: []
    union: []
- function_names:
  - multi_timer_cb
  - mcode_or_die
  - check_multi_info
  - event_cb
  - timer_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - xferinfo_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - main
  source_file: /src/PROJ/curl/docs/examples/evhiperfifo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/docs/examples/evhiperfifo.c
      type_or_value: 'stdout '
    structs:
    - fields:
      - name: '*loop'
        type: struct ev_loop
      - name: fifo_event
        type: struct ev_io
      - name: timer_event
        type: struct ev_timer
      - name: '*multi'
        type: CURLM
      - name: still_running
        type: int
      - name: '*input'
        type: FILE
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 88
        line_start: 81
        source_file: /src/PROJ/curl/docs/examples/evhiperfifo.c
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/PROJ/curl/docs/examples/evhiperfifo.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*curl'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: ev
        type: struct ev_io
      - name: evset
        type: int
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 107
        line_start: 99
        source_file: /src/PROJ/curl/docs/examples/evhiperfifo.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/ipv6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - dump
  - my_trace
  - setup
  - main
  source_file: /src/PROJ/curl/docs/examples/http2-download.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/docs/examples/http2-download.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: CURLPIPE_MULTIPLEX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/docs/examples/http2-download.c
      type_or_value: 0L
    structs:
    - fields:
      - name: '*out'
        type: FILE
      - name: '*curl'
        type: CURL
      - name: num
        type: int
      item_type: struct
      name: transfer
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/PROJ/curl/docs/examples/http2-download.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/simplessl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-stat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/certinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sighandler
  - write_cb
  - make_handle
  - follow_links
  - is_html
  - main
  source_file: /src/PROJ/curl/docs/examples/crawler.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: memory
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/PROJ/curl/docs/examples/crawler.c
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/PROJ/curl/docs/examples/ftpsget.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: FtpFile
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/PROJ/curl/docs/examples/ftpsget.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/multi-app.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_HANDLE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/docs/examples/multi-app.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: FTP_HANDLE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/docs/examples/multi-app.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: HANDLECOUNT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/docs/examples/multi-app.c
      type_or_value: '2   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - xferinfo
  - main
  source_file: /src/PROJ/curl/docs/examples/progressfunc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/docs/examples/progressfunc.c
      type_or_value: '3000000'
    - item_type: preproc_def
      name: STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/docs/examples/progressfunc.c
      type_or_value: '6000'
    structs:
    - fields:
      - name: lastruntime
        type: curl_off_t
      - name: '*curl'
        type: CURL
      item_type: struct
      name: myprogress
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/PROJ/curl/docs/examples/progressfunc.c
    typedefs: []
    union: []
- function_names:
  - write_cb
  - sslctx_function
  - main
  source_file: /src/PROJ/curl/docs/examples/cacertinmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ossl_valsize_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/PROJ/curl/docs/examples/cacertinmem.c
      type: size_t
    - item_type: typedef
      name: ossl_valsize_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/curl/docs/examples/cacertinmem.c
      type: int
    union: []
- function_names:
  - main
  source_file: /src/PROJ/curl/docs/examples/pop3-dele.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_VERSION_BITS
  - CURL_AT_LEAST_VERSION
  source_file: /src/PROJ/curl/include/curl/curlver.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBCURL_COPYRIGHT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '"Daniel Stenberg, <daniel@haxx.se>."'
    - item_type: preproc_def
      name: LIBCURL_VERSION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '"8.17.0-DEV"'
    - item_type: preproc_def
      name: LIBCURL_VERSION_MAJOR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '8'
    - item_type: preproc_def
      name: LIBCURL_VERSION_MINOR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '17'
    - item_type: preproc_def
      name: LIBCURL_VERSION_PATCH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIBCURL_VERSION_NUM
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '0x081100'
    - item_type: preproc_def
      name: LIBCURL_TIMESTAMP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/include/curl/curlver.h
      type_or_value: '"[unreleased]"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/include/curl/urlapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLU_DEFAULT_PORT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<0)       '
    - item_type: preproc_def
      name: CURLU_NO_DEFAULT_PORT
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<1)    '
    - item_type: preproc_def
      name: CURLU_DEFAULT_SCHEME
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<2)     '
    - item_type: preproc_def
      name: CURLU_NON_SUPPORT_SCHEME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: CURLU_PATH_AS_IS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<4)         '
    - item_type: preproc_def
      name: CURLU_DISALLOW_USER
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<5)      '
    - item_type: preproc_def
      name: CURLU_URLDECODE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<6)          '
    - item_type: preproc_def
      name: CURLU_URLENCODE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<7)          '
    - item_type: preproc_def
      name: CURLU_APPENDQUERY
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<8)        '
    - item_type: preproc_def
      name: CURLU_GUESS_SCHEME
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<9)       '
    - item_type: preproc_def
      name: CURLU_NO_AUTHORITY
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<10)      '
    - item_type: preproc_def
      name: CURLU_ALLOW_SPACE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<11)       '
    - item_type: preproc_def
      name: CURLU_PUNYCODE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<12)          '
    - item_type: preproc_def
      name: CURLU_PUNY2IDN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<13)          '
    - item_type: preproc_def
      name: CURLU_GET_EMPTY
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<14)         '
    - item_type: preproc_def
      name: CURLU_NO_GUESS_SCHEME
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type_or_value: '(1<<15)   '
    structs: []
    typedefs:
    - item_type: typedef
      name: CURLU
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/PROJ/curl/include/curl/urlapi.h
      type: Curl_URL
    union: []
- function_names: []
  source_file: /src/PROJ/curl/include/curl/easy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_BLOB_COPY
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/include/curl/easy.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_BLOB_NOCOPY
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/include/curl/easy.h
      type_or_value: '0 '
    structs:
    - fields:
      - name: '*data'
        type: void
      - name: len
        type: size_t
      - name: flags
        type: unsigned int
      item_type: struct
      name: curl_blob
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/PROJ/curl/include/curl/easy.h
    typedefs: []
    union: []
- function_names:
  - CURL_DEPRECATED
  - CURL_IGNORE_DEPRECATION
  - CURL_IGNORE_DEPRECATION
  - CURL_IGNORE_DEPRECATION
  - CURL_HAS_DECLSPEC_ATTRIBUTE
  - CURL_HAS_DECLSPEC_ATTRIBUTE
  - CURLOPT
  - CURLOPTDEPRECATED
  - curl_easy_setopt
  - curl_easy_getinfo
  - curl_share_setopt
  - curl_multi_setopt
  source_file: /src/PROJ/curl/include/curl/curl.h
  types:
    enum:
    - enumerators:
      - name: CURLKHTYPE_UNKNOWN
      - name: CURLKHTYPE_RSA
      - name: CURLKHTYPE_RSA1
      - name: CURLKHTYPE_ECDSA
      - name: CURLKHTYPE_DSS
      - name: CURLKHTYPE_ED25519
      item_type: enum
      name: curl_khtype
      pos:
        line_end: 871
        line_start: 864
        source_file: /src/PROJ/curl/include/curl/curl.h
    - enumerators:
      - name: CURLKHSTAT_FINE_ADD_TO_FILE
      - name: CURLKHSTAT_REJECT
      - name: CURLKHSTAT_FINE
      - name: CURLKHSTAT_DEFER
      - name: CURLKHSTAT_FINE_REPLACE
      - name: CURLKHSTAT_LAST
      item_type: enum
      name: curl_khstat
      pos:
        line_end: 891
        line_start: 882
        source_file: /src/PROJ/curl/include/curl/curl.h
    - enumerators:
      - name: CURLKHMATCH_OK
      - name: CURLKHMATCH_MISSING
      - name: CURLKHMATCH_MISMATCH
      - name: CURLKHMATCH_LAST
      item_type: enum
      name: curl_khmatch
      pos:
        line_end: 899
        line_start: 894
        source_file: /src/PROJ/curl/include/curl/curl.h
    - enumerators:
      - name: CURL_NETRC_LAST
        value: '3'
      item_type: enum
      name: CURL_NETRC_OPTION
      pos:
        line_end: 2363
        line_start: 2359
        source_file: /src/PROJ/curl/include/curl/curl.h
    - enumerators:
      - name: CURL_TLSAUTH_LAST
        value: '2'
      item_type: enum
      name: CURL_TLSAUTH
      pos:
        line_end: 2393
        line_start: 2389
        source_file: /src/PROJ/curl/include/curl/curl.h
    preproc_defs:
    - item_type: preproc_def
      name: CURL_EXTERN
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: CURL_EXTERN
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: CURL_EXTERN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURL_EXTERN_SYMBOL
    - item_type: preproc_def
      name: CURL_SOCKET_BAD
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: INVALID_SOCKET
    - item_type: preproc_def
      name: CURL_SOCKET_BAD
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: CURLSSLBACKEND_AWSLC
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_OPENSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_BORINGSSL
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_OPENSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_LIBRESSL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_OPENSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_CYASSL
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_WOLFSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_DARWINSSL
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_SECURETRANSPORT
    - item_type: preproc_def
      name: CURLFOLLOW_ALL
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFOLLOW_OBEYCODE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURLFOLLOW_FIRSTONLY
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_HTTPPOST_FILENAME
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURL_HTTPPOST_READFILE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURL_HTTPPOST_PTRNAME
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURL_HTTPPOST_PTRCONTENTS
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURL_HTTPPOST_BUFFER
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURL_HTTPPOST_PTRBUFFER
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: CURL_HTTPPOST_CALLBACK
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: CURL_HTTPPOST_LARGE
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: CURL_PROGRESSFUNC_CONTINUE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x10000001'
    - item_type: preproc_def
      name: CURL_MAX_READ_SIZE
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (10*1024*1024)
    - item_type: preproc_def
      name: CURL_MAX_WRITE_SIZE
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: CURL_MAX_HTTP_HEADER
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (100*1024)
    - item_type: preproc_def
      name: CURL_WRITEFUNC_PAUSE
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x10000001'
    - item_type: preproc_def
      name: CURL_WRITEFUNC_ERROR
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0xFFFFFFFF'
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_FILENAME
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_FILETYPE
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_TIME
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_PERM
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_UID
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_GID
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_SIZE
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_HLINKCOUNT
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: CURL_CHUNK_BGN_FUNC_OK
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_CHUNK_BGN_FUNC_FAIL
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_CHUNK_BGN_FUNC_SKIP
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURL_CHUNK_END_FUNC_OK
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_CHUNK_END_FUNC_FAIL
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_FNMATCHFUNC_MATCH
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CURL_FNMATCHFUNC_NOMATCH
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_FNMATCHFUNC_FAIL
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURL_SEEKFUNC_OK
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_SEEKFUNC_FAIL
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_SEEKFUNC_CANTSEEK
      pos:
        line_end: 384
        line_start: 382
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURL_READFUNC_ABORT
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x10000000'
    - item_type: preproc_def
      name: CURL_READFUNC_PAUSE
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x10000001'
    - item_type: preproc_def
      name: CURL_TRAILERFUNC_OK
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_TRAILERFUNC_ABORT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_SOCKOPT_OK
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_SOCKOPT_ERROR
      pos:
        line_end: 421
        line_start: 419
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_SOCKOPT_ALREADY_CONNECTED
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_PREREQFUNC_OK
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_PREREQFUNC_ABORT
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURLE_FUNCTION_NOT_FOUND
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE41
    - item_type: preproc_def
      name: CURLE_HTTP_POST_ERROR
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE34
    - item_type: preproc_def
      name: CURLE_OBSOLETE16
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_HTTP2
    - item_type: preproc_def
      name: CURLE_OBSOLETE10
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_FTP_ACCEPT_FAILED
    - item_type: preproc_def
      name: CURLE_OBSOLETE12
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_FTP_ACCEPT_TIMEOUT
    - item_type: preproc_def
      name: CURLOPT_ENCODING
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_ACCEPT_ENCODING
    - item_type: preproc_def
      name: CURLE_FTP_WEIRD_SERVER_REPLY
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_WEIRD_SERVER_REPLY
    - item_type: preproc_def
      name: CURLE_SSL_CACERT
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_PEER_FAILED_VERIFICATION
    - item_type: preproc_def
      name: CURLE_UNKNOWN_TELNET_OPTION
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_UNKNOWN_OPTION
    - item_type: preproc_def
      name: CURLE_TELNET_OPTION_SYNTAX
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_SETOPT_OPTION_SYNTAX
    - item_type: preproc_def
      name: CURLE_SSL_PEER_CERTIFICATE
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_PEER_FAILED_VERIFICATION
    - item_type: preproc_def
      name: CURLE_OBSOLETE
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 'CURLE_OBSOLETE50 '
    - item_type: preproc_def
      name: CURLE_BAD_PASSWORD_ENTERED
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE46
    - item_type: preproc_def
      name: CURLE_BAD_CALLING_ORDER
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE44
    - item_type: preproc_def
      name: CURLE_FTP_USER_PASSWORD_INCORRECT
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE10
    - item_type: preproc_def
      name: CURLE_FTP_CANT_RECONNECT
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE16
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_GET_SIZE
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE32
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_SET_ASCII
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE29
    - item_type: preproc_def
      name: CURLE_FTP_WEIRD_USER_REPLY
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE12
    - item_type: preproc_def
      name: CURLE_FTP_WRITE_ERROR
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE20
    - item_type: preproc_def
      name: CURLE_LIBRARY_NOT_FOUND
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE40
    - item_type: preproc_def
      name: CURLE_MALFORMAT_USER
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE24
    - item_type: preproc_def
      name: CURLE_SHARE_IN_USE
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE57
    - item_type: preproc_def
      name: CURLE_URL_MALFORMAT_USER
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_NOT_BUILT_IN
    - item_type: preproc_def
      name: CURLE_FTP_ACCESS_DENIED
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_REMOTE_ACCESS_DENIED
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_SET_BINARY
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_FTP_COULDNT_SET_TYPE
    - item_type: preproc_def
      name: CURLE_FTP_QUOTE_ERROR
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_QUOTE_ERROR
    - item_type: preproc_def
      name: CURLE_TFTP_DISKFULL
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_REMOTE_DISK_FULL
    - item_type: preproc_def
      name: CURLE_TFTP_EXISTS
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_REMOTE_FILE_EXISTS
    - item_type: preproc_def
      name: CURLE_HTTP_RANGE_ERROR
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_RANGE_ERROR
    - item_type: preproc_def
      name: CURLE_FTP_SSL_FAILED
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_USE_SSL_FAILED
    - item_type: preproc_def
      name: CURLE_OPERATION_TIMEOUTED
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OPERATION_TIMEDOUT
    - item_type: preproc_def
      name: CURLE_HTTP_NOT_FOUND
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_HTTP_RETURNED_ERROR
    - item_type: preproc_def
      name: CURLE_HTTP_PORT_FAILED
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_INTERFACE_FAILED
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_STOR_FILE
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_UPLOAD_FAILED
    - item_type: preproc_def
      name: CURLE_FTP_PARTIAL_FILE
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_PARTIAL_FILE
    - item_type: preproc_def
      name: CURLE_FTP_BAD_DOWNLOAD_RESUME
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_BAD_DOWNLOAD_RESUME
    - item_type: preproc_def
      name: CURLE_LDAP_INVALID_URL
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE62
    - item_type: preproc_def
      name: CURLE_CONV_REQD
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE76
    - item_type: preproc_def
      name: CURLE_CONV_FAILED
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE75
    - item_type: preproc_def
      name: CURLE_ALREADY_COMPLETE
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '99999'
    - item_type: preproc_def
      name: CURLOPT_FILE
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 'CURLOPT_WRITEDATA '
    - item_type: preproc_def
      name: CURLOPT_INFILE
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 'CURLOPT_READDATA '
    - item_type: preproc_def
      name: CURLOPT_WRITEHEADER
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_HEADERDATA
    - item_type: preproc_def
      name: CURLOPT_WRITEINFO
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_OBSOLETE40
    - item_type: preproc_def
      name: CURLOPT_CLOSEPOLICY
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_OBSOLETE72
    - item_type: preproc_def
      name: CURLOPT_OBSOLETE72
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '9999'
    - item_type: preproc_def
      name: CURLOPT_OBSOLETE40
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '9999'
    - item_type: preproc_def
      name: CURLPROXY_HTTP
      pos:
        line_end: 792
        line_start: 790
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLPROXY_HTTP_1_0
      pos:
        line_end: 794
        line_start: 792
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLPROXY_HTTPS
      pos:
        line_end: 796
        line_start: 794
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLPROXY_HTTPS2
      pos:
        line_end: 798
        line_start: 796
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS4
      pos:
        line_end: 800
        line_start: 798
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '4L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS5
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '5L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS4A
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '6L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS5_HOSTNAME
      pos:
        line_end: 805
        line_start: 802
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '7L '
    - item_type: preproc_def
      name: CURLAUTH_NONE
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: ((unsigned long)0)
    - item_type: preproc_def
      name: CURLAUTH_BASIC
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<0)
    - item_type: preproc_def
      name: CURLAUTH_DIGEST
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<1)
    - item_type: preproc_def
      name: CURLAUTH_NEGOTIATE
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<2)
    - item_type: preproc_def
      name: CURLAUTH_GSSNEGOTIATE
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLAUTH_NEGOTIATE
    - item_type: preproc_def
      name: CURLAUTH_GSSAPI
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLAUTH_NEGOTIATE
    - item_type: preproc_def
      name: CURLAUTH_NTLM
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<3)
    - item_type: preproc_def
      name: CURLAUTH_DIGEST_IE
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<4)
    - item_type: preproc_def
      name: CURLAUTH_NTLM_WB
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<5)
    - item_type: preproc_def
      name: CURLAUTH_BEARER
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<6)
    - item_type: preproc_def
      name: CURLAUTH_AWS_SIGV4
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<7)
    - item_type: preproc_def
      name: CURLAUTH_ONLY
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<31)
    - item_type: preproc_def
      name: CURLAUTH_ANY
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (~CURLAUTH_DIGEST_IE)
    - item_type: preproc_def
      name: CURLAUTH_ANYSAFE
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
    - item_type: preproc_def
      name: CURLSSH_AUTH_ANY
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '~0L     '
    - item_type: preproc_def
      name: CURLSSH_AUTH_NONE
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L      '
    - item_type: preproc_def
      name: CURLSSH_AUTH_PUBLICKEY
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<0) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_PASSWORD
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<1) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_HOST
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<2) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_KEYBOARD
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<3) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_AGENT
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<4) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_GSSAPI
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<5) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_DEFAULT
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLSSH_AUTH_ANY
    - item_type: preproc_def
      name: CURLGSSAPI_DELEGATION_NONE
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L      '
    - item_type: preproc_def
      name: CURLGSSAPI_DELEGATION_POLICY_FLAG
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<0) '
    - item_type: preproc_def
      name: CURLGSSAPI_DELEGATION_FLAG
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<1) '
    - item_type: preproc_def
      name: CURL_ERROR_SIZE
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '256'
    - item_type: preproc_def
      name: CURLUSESSL_NONE
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLUSESSL_TRY
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLUSESSL_CONTROL
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLUSESSL_ALL
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURLSSLOPT_ALLOW_BEAST
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLSSLOPT_NO_REVOKE
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLSSLOPT_NO_PARTIALCHAIN
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLSSLOPT_REVOKE_BEST_EFFORT
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLSSLOPT_NATIVE_CA
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLSSLOPT_AUTO_CLIENT_CERT
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<5)
    - item_type: preproc_def
      name: CURLSSLOPT_EARLYDATA
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<6)
    - item_type: preproc_def
      name: CURL_HET_DEFAULT
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 200L
    - item_type: preproc_def
      name: CURL_UPKEEP_INTERVAL_DEFAULT
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 60000L
    - item_type: preproc_def
      name: CURLFTPSSL_NONE
      pos:
        line_end: 977
        line_start: 976
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_NONE
    - item_type: preproc_def
      name: CURLFTPSSL_TRY
      pos:
        line_end: 978
        line_start: 977
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_TRY
    - item_type: preproc_def
      name: CURLFTPSSL_CONTROL
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_CONTROL
    - item_type: preproc_def
      name: CURLFTPSSL_ALL
      pos:
        line_end: 980
        line_start: 979
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_ALL
    - item_type: preproc_def
      name: CURLFTPSSL_LAST
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_LAST
    - item_type: preproc_def
      name: curl_ftpssl
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: curl_usessl
    - item_type: preproc_def
      name: CURLFTPSSL_CCC_NONE
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTPSSL_CCC_PASSIVE
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTPSSL_CCC_ACTIVE
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTPAUTH_DEFAULT
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTPAUTH_SSL
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTPAUTH_TLS
      pos:
        line_end: 997
        line_start: 996
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTP_CREATE_DIR_NONE
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTP_CREATE_DIR
      pos:
        line_end: 1007
        line_start: 1004
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTP_CREATE_DIR_RETRY
      pos:
        line_end: 1009
        line_start: 1007
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_DEFAULT
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_MULTICWD
      pos:
        line_end: 1018
        line_start: 1016
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_NOCWD
      pos:
        line_end: 1019
        line_start: 1018
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_SINGLECWD
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURLHEADER_UNIFIED
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLHEADER_SEPARATE
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLALTSVC_READONLYFILE
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLALTSVC_H1
      pos:
        line_end: 1032
        line_start: 1031
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLALTSVC_H2
      pos:
        line_end: 1033
        line_start: 1032
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLALTSVC_H3
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<5)
    - item_type: preproc_def
      name: CURLULFLAG_ANSWERED
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLULFLAG_DELETED
      pos:
        line_end: 1038
        line_start: 1037
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLULFLAG_DRAFT
      pos:
        line_end: 1039
        line_start: 1038
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLULFLAG_FLAGGED
      pos:
        line_end: 1040
        line_start: 1039
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLULFLAG_SEEN
      pos:
        line_end: 1041
        line_start: 1040
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLHSTS_ENABLE
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLHSTS_READONLYFILE
      pos:
        line_end: 1071
        line_start: 1070
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLPROTO_HTTP
      pos:
        line_end: 1075
        line_start: 1074
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLPROTO_HTTPS
      pos:
        line_end: 1076
        line_start: 1075
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLPROTO_FTP
      pos:
        line_end: 1077
        line_start: 1076
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLPROTO_FTPS
      pos:
        line_end: 1078
        line_start: 1077
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLPROTO_SCP
      pos:
        line_end: 1079
        line_start: 1078
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLPROTO_SFTP
      pos:
        line_end: 1080
        line_start: 1079
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<5)
    - item_type: preproc_def
      name: CURLPROTO_TELNET
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<6)
    - item_type: preproc_def
      name: CURLPROTO_LDAP
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<7)
    - item_type: preproc_def
      name: CURLPROTO_LDAPS
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<8)
    - item_type: preproc_def
      name: CURLPROTO_DICT
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<9)
    - item_type: preproc_def
      name: CURLPROTO_FILE
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<10)
    - item_type: preproc_def
      name: CURLPROTO_TFTP
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<11)
    - item_type: preproc_def
      name: CURLPROTO_IMAP
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<12)
    - item_type: preproc_def
      name: CURLPROTO_IMAPS
      pos:
        line_end: 1088
        line_start: 1087
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<13)
    - item_type: preproc_def
      name: CURLPROTO_POP3
      pos:
        line_end: 1089
        line_start: 1088
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<14)
    - item_type: preproc_def
      name: CURLPROTO_POP3S
      pos:
        line_end: 1090
        line_start: 1089
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<15)
    - item_type: preproc_def
      name: CURLPROTO_SMTP
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<16)
    - item_type: preproc_def
      name: CURLPROTO_SMTPS
      pos:
        line_end: 1092
        line_start: 1091
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<17)
    - item_type: preproc_def
      name: CURLPROTO_RTSP
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<18)
    - item_type: preproc_def
      name: CURLPROTO_RTMP
      pos:
        line_end: 1094
        line_start: 1093
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<19)
    - item_type: preproc_def
      name: CURLPROTO_RTMPT
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<20)
    - item_type: preproc_def
      name: CURLPROTO_RTMPE
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<21)
    - item_type: preproc_def
      name: CURLPROTO_RTMPTE
      pos:
        line_end: 1097
        line_start: 1096
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<22)
    - item_type: preproc_def
      name: CURLPROTO_RTMPS
      pos:
        line_end: 1098
        line_start: 1097
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<23)
    - item_type: preproc_def
      name: CURLPROTO_RTMPTS
      pos:
        line_end: 1099
        line_start: 1098
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<24)
    - item_type: preproc_def
      name: CURLPROTO_GOPHER
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<25)
    - item_type: preproc_def
      name: CURLPROTO_SMB
      pos:
        line_end: 1101
        line_start: 1100
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<26)
    - item_type: preproc_def
      name: CURLPROTO_SMBS
      pos:
        line_end: 1102
        line_start: 1101
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<27)
    - item_type: preproc_def
      name: CURLPROTO_MQTT
      pos:
        line_end: 1103
        line_start: 1102
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<28)
    - item_type: preproc_def
      name: CURLPROTO_GOPHERS
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1L<<29)
    - item_type: preproc_def
      name: CURLPROTO_ALL
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(~0L) '
    - item_type: preproc_def
      name: CURLOPTTYPE_LONG
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURLOPTTYPE_OBJECTPOINT
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: CURLOPTTYPE_FUNCTIONPOINT
      pos:
        line_end: 1111
        line_start: 1110
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '20000'
    - item_type: preproc_def
      name: CURLOPTTYPE_OFF_T
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '30000'
    - item_type: preproc_def
      name: CURLOPTTYPE_BLOB
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '40000'
    - item_type: preproc_def
      name: CURLOPTTYPE_STRINGPOINT
      pos:
        line_end: 1125
        line_start: 1124
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_OBJECTPOINT
    - item_type: preproc_def
      name: CURLOPTTYPE_SLISTPOINT
      pos:
        line_end: 1128
        line_start: 1127
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_OBJECTPOINT
    - item_type: preproc_def
      name: CURLOPTTYPE_CBPOINT
      pos:
        line_end: 1131
        line_start: 1130
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_OBJECTPOINT
    - item_type: preproc_def
      name: CURLOPTTYPE_VALUES
      pos:
        line_end: 1134
        line_start: 1133
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_LONG
    - item_type: preproc_def
      name: CURLOPT_POST301
      pos:
        line_end: 2271
        line_start: 2270
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_POSTREDIR
    - item_type: preproc_def
      name: CURLOPT_SSLKEYPASSWD
      pos:
        line_end: 2276
        line_start: 2275
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_KEYPASSWD
    - item_type: preproc_def
      name: CURLOPT_FTPAPPEND
      pos:
        line_end: 2277
        line_start: 2276
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_APPEND
    - item_type: preproc_def
      name: CURLOPT_FTPLISTONLY
      pos:
        line_end: 2278
        line_start: 2277
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_DIRLISTONLY
    - item_type: preproc_def
      name: CURLOPT_FTP_SSL
      pos:
        line_end: 2279
        line_start: 2278
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_USE_SSL
    - item_type: preproc_def
      name: CURLOPT_SSLCERTPASSWD
      pos:
        line_end: 2283
        line_start: 2282
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_KEYPASSWD
    - item_type: preproc_def
      name: CURLOPT_KRB4LEVEL
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_KRBLEVEL
    - item_type: preproc_def
      name: CURLOPT_FTP_RESPONSE_TIMEOUT
      pos:
        line_end: 2287
        line_start: 2286
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_SERVER_RESPONSE_TIMEOUT
    - item_type: preproc_def
      name: CURLOPT_MAIL_RCPT_ALLLOWFAILS
      pos:
        line_end: 2290
        line_start: 2289
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_MAIL_RCPT_ALLOWFAILS
    - item_type: preproc_def
      name: CURL_IPRESOLVE_WHATEVER
      pos:
        line_end: 2302
        line_start: 2300
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURL_IPRESOLVE_V4
      pos:
        line_end: 2303
        line_start: 2302
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_IPRESOLVE_V6
      pos:
        line_end: 2304
        line_start: 2303
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLOPT_RTSPHEADER
      pos:
        line_end: 2307
        line_start: 2306
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLOPT_HTTPHEADER
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_NONE
      pos:
        line_end: 2312
        line_start: 2309
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_1_0
      pos:
        line_end: 2313
        line_start: 2312
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_1_1
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2_0
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2TLS
      pos:
        line_end: 2317
        line_start: 2315
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '4L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
      pos:
        line_end: 2319
        line_start: 2317
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '5L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_3
      pos:
        line_end: 2323
        line_start: 2319
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '30L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_3ONLY
      pos:
        line_end: 2326
        line_start: 2323
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '31L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_LAST
      pos:
        line_end: 2327
        line_start: 2326
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '32L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2
      pos:
        line_end: 2332
        line_start: 2331
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURL_HTTP_VERSION_2_0
    - item_type: preproc_def
      name: CURL_RTSPREQ_NONE
      pos:
        line_end: 2338
        line_start: 2337
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_RTSPREQ_OPTIONS
      pos:
        line_end: 2339
        line_start: 2338
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_RTSPREQ_DESCRIBE
      pos:
        line_end: 2340
        line_start: 2339
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_RTSPREQ_ANNOUNCE
      pos:
        line_end: 2341
        line_start: 2340
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_RTSPREQ_SETUP
      pos:
        line_end: 2342
        line_start: 2341
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 4L
    - item_type: preproc_def
      name: CURL_RTSPREQ_PLAY
      pos:
        line_end: 2343
        line_start: 2342
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 5L
    - item_type: preproc_def
      name: CURL_RTSPREQ_PAUSE
      pos:
        line_end: 2344
        line_start: 2343
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 6L
    - item_type: preproc_def
      name: CURL_RTSPREQ_TEARDOWN
      pos:
        line_end: 2345
        line_start: 2344
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 7L
    - item_type: preproc_def
      name: CURL_RTSPREQ_GET_PARAMETER
      pos:
        line_end: 2346
        line_start: 2345
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 8L
    - item_type: preproc_def
      name: CURL_RTSPREQ_SET_PARAMETER
      pos:
        line_end: 2347
        line_start: 2346
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 9L
    - item_type: preproc_def
      name: CURL_RTSPREQ_RECORD
      pos:
        line_end: 2348
        line_start: 2347
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 10L
    - item_type: preproc_def
      name: CURL_RTSPREQ_RECEIVE
      pos:
        line_end: 2349
        line_start: 2348
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 11L
    - item_type: preproc_def
      name: CURL_RTSPREQ_LAST
      pos:
        line_end: 2350
        line_start: 2349
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '12L '
    - item_type: preproc_def
      name: CURL_NETRC_IGNORED
      pos:
        line_end: 2354
        line_start: 2352
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURL_NETRC_OPTIONAL
      pos:
        line_end: 2356
        line_start: 2354
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_NETRC_REQUIRED
      pos:
        line_end: 2359
        line_start: 2356
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURL_SSLVERSION_DEFAULT
      pos:
        line_end: 2366
        line_start: 2365
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1
      pos:
        line_end: 2367
        line_start: 2366
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_SSLVERSION_SSLv2
      pos:
        line_end: 2368
        line_start: 2367
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_SSLVERSION_SSLv3
      pos:
        line_end: 2369
        line_start: 2368
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_0
      pos:
        line_end: 2370
        line_start: 2369
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 4L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_1
      pos:
        line_end: 2371
        line_start: 2370
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 5L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_2
      pos:
        line_end: 2372
        line_start: 2371
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 6L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_3
      pos:
        line_end: 2373
        line_start: 2372
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 7L
    - item_type: preproc_def
      name: CURL_SSLVERSION_LAST
      pos:
        line_end: 2375
        line_start: 2374
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '8L '
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_NONE
      pos:
        line_end: 2377
        line_start: 2376
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_DEFAULT
      pos:
        line_end: 2378
        line_start: 2377
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1   << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_0
      pos:
        line_end: 2379
        line_start: 2378
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_0 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_1
      pos:
        line_end: 2380
        line_start: 2379
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_1 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_2
      pos:
        line_end: 2381
        line_start: 2380
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_2 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_3
      pos:
        line_end: 2382
        line_start: 2381
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_3 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_LAST
      pos:
        line_end: 2385
        line_start: 2384
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_LAST    << 16)
    - item_type: preproc_def
      name: CURL_TLSAUTH_NONE
      pos:
        line_end: 2387
        line_start: 2386
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_TLSAUTH_SRP
      pos:
        line_end: 2388
        line_start: 2387
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_REDIR_GET_ALL
      pos:
        line_end: 2401
        line_start: 2400
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_REDIR_POST_301
      pos:
        line_end: 2402
        line_start: 2401
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_REDIR_POST_302
      pos:
        line_end: 2403
        line_start: 2402
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_REDIR_POST_303
      pos:
        line_end: 2404
        line_start: 2403
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 4L
    - item_type: preproc_def
      name: CURL_REDIR_POST_ALL
      pos:
        line_end: 2406
        line_start: 2404
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303)
    - item_type: preproc_def
      name: CURL_TIMECOND_NONE
      pos:
        line_end: 2408
        line_start: 2407
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_TIMECOND_IFMODSINCE
      pos:
        line_end: 2409
        line_start: 2408
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_TIMECOND_IFUNMODSINCE
      pos:
        line_end: 2410
        line_start: 2409
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_TIMECOND_LASTMOD
      pos:
        line_end: 2411
        line_start: 2410
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_ZERO_TERMINATED
      pos:
        line_end: 2421
        line_start: 2420
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: ((size_t) -1)
    - item_type: preproc_def
      name: CURLMIMEOPT_FORMESCAPE
      pos:
        line_end: 2433
        line_start: 2432
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1L<<0) '
    - item_type: preproc_def
      name: CURLINFO_STRING
      pos:
        line_end: 2894
        line_start: 2893
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: CURLINFO_LONG
      pos:
        line_end: 2895
        line_start: 2894
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x200000'
    - item_type: preproc_def
      name: CURLINFO_DOUBLE
      pos:
        line_end: 2896
        line_start: 2895
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x300000'
    - item_type: preproc_def
      name: CURLINFO_SLIST
      pos:
        line_end: 2897
        line_start: 2896
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x400000'
    - item_type: preproc_def
      name: CURLINFO_PTR
      pos:
        line_end: 2898
        line_start: 2897
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x400000 '
    - item_type: preproc_def
      name: CURLINFO_SOCKET
      pos:
        line_end: 2899
        line_start: 2898
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x500000'
    - item_type: preproc_def
      name: CURLINFO_OFF_T
      pos:
        line_end: 2900
        line_start: 2899
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x600000'
    - item_type: preproc_def
      name: CURLINFO_MASK
      pos:
        line_end: 2901
        line_start: 2900
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0x0fffff'
    - item_type: preproc_def
      name: CURLINFO_TYPEMASK
      pos:
        line_end: 2902
        line_start: 2901
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0xf00000'
    - item_type: preproc_def
      name: CURLINFO_HTTP_CODE
      pos:
        line_end: 3004
        line_start: 3003
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLINFO_RESPONSE_CODE
    - item_type: preproc_def
      name: CURL_GLOBAL_SSL
      pos:
        line_end: 3018
        line_start: 3017
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: CURL_GLOBAL_WIN32
      pos:
        line_end: 3019
        line_start: 3018
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURL_GLOBAL_ALL
      pos:
        line_end: 3020
        line_start: 3019
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
    - item_type: preproc_def
      name: CURL_GLOBAL_NOTHING
      pos:
        line_end: 3021
        line_start: 3020
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_GLOBAL_DEFAULT
      pos:
        line_end: 3022
        line_start: 3021
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURL_GLOBAL_ALL
    - item_type: preproc_def
      name: CURL_GLOBAL_ACK_EINTR
      pos:
        line_end: 3023
        line_start: 3022
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLVERSION_NOW
      pos:
        line_end: 3115
        line_start: 3114
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: CURLVERSION_TWELFTH
    - item_type: preproc_def
      name: CURL_VERSION_IPV6
      pos:
        line_end: 3181
        line_start: 3180
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<0)  '
    - item_type: preproc_def
      name: CURL_VERSION_KERBEROS4
      pos:
        line_end: 3183
        line_start: 3181
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<1)  '
    - item_type: preproc_def
      name: CURL_VERSION_SSL
      pos:
        line_end: 3184
        line_start: 3183
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<2)  '
    - item_type: preproc_def
      name: CURL_VERSION_LIBZ
      pos:
        line_end: 3185
        line_start: 3184
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<3)  '
    - item_type: preproc_def
      name: CURL_VERSION_NTLM
      pos:
        line_end: 3186
        line_start: 3185
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<4)  '
    - item_type: preproc_def
      name: CURL_VERSION_GSSNEGOTIATE
      pos:
        line_end: 3188
        line_start: 3186
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<5)  '
    - item_type: preproc_def
      name: CURL_VERSION_DEBUG
      pos:
        line_end: 3189
        line_start: 3188
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<6)  '
    - item_type: preproc_def
      name: CURL_VERSION_ASYNCHDNS
      pos:
        line_end: 3190
        line_start: 3189
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<7)  '
    - item_type: preproc_def
      name: CURL_VERSION_SPNEGO
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<8)  '
    - item_type: preproc_def
      name: CURL_VERSION_LARGEFILE
      pos:
        line_end: 3192
        line_start: 3191
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<9)  '
    - item_type: preproc_def
      name: CURL_VERSION_IDN
      pos:
        line_end: 3194
        line_start: 3192
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<10) '
    - item_type: preproc_def
      name: CURL_VERSION_SSPI
      pos:
        line_end: 3195
        line_start: 3194
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<11) '
    - item_type: preproc_def
      name: CURL_VERSION_CONV
      pos:
        line_end: 3196
        line_start: 3195
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<12) '
    - item_type: preproc_def
      name: CURL_VERSION_CURLDEBUG
      pos:
        line_end: 3197
        line_start: 3196
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<13) '
    - item_type: preproc_def
      name: CURL_VERSION_TLSAUTH_SRP
      pos:
        line_end: 3198
        line_start: 3197
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<14) '
    - item_type: preproc_def
      name: CURL_VERSION_NTLM_WB
      pos:
        line_end: 3200
        line_start: 3198
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<15) '
    - item_type: preproc_def
      name: CURL_VERSION_HTTP2
      pos:
        line_end: 3201
        line_start: 3200
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<16) '
    - item_type: preproc_def
      name: CURL_VERSION_GSSAPI
      pos:
        line_end: 3202
        line_start: 3201
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<17) '
    - item_type: preproc_def
      name: CURL_VERSION_KERBEROS5
      pos:
        line_end: 3203
        line_start: 3202
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<18) '
    - item_type: preproc_def
      name: CURL_VERSION_UNIX_SOCKETS
      pos:
        line_end: 3204
        line_start: 3203
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<19) '
    - item_type: preproc_def
      name: CURL_VERSION_PSL
      pos:
        line_end: 3206
        line_start: 3204
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<20) '
    - item_type: preproc_def
      name: CURL_VERSION_HTTPS_PROXY
      pos:
        line_end: 3207
        line_start: 3206
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<21) '
    - item_type: preproc_def
      name: CURL_VERSION_MULTI_SSL
      pos:
        line_end: 3208
        line_start: 3207
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<22) '
    - item_type: preproc_def
      name: CURL_VERSION_BROTLI
      pos:
        line_end: 3209
        line_start: 3208
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<23) '
    - item_type: preproc_def
      name: CURL_VERSION_ALTSVC
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<24) '
    - item_type: preproc_def
      name: CURL_VERSION_HTTP3
      pos:
        line_end: 3211
        line_start: 3210
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<25) '
    - item_type: preproc_def
      name: CURL_VERSION_ZSTD
      pos:
        line_end: 3212
        line_start: 3211
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<26) '
    - item_type: preproc_def
      name: CURL_VERSION_UNICODE
      pos:
        line_end: 3213
        line_start: 3212
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<27) '
    - item_type: preproc_def
      name: CURL_VERSION_HSTS
      pos:
        line_end: 3214
        line_start: 3213
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<28) '
    - item_type: preproc_def
      name: CURL_VERSION_GSASL
      pos:
        line_end: 3215
        line_start: 3214
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<29) '
    - item_type: preproc_def
      name: CURL_VERSION_THREADSAFE
      pos:
        line_end: 3216
        line_start: 3215
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: '(1<<30) '
    - item_type: preproc_def
      name: CURLPAUSE_RECV
      pos:
        line_end: 3261
        line_start: 3260
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLPAUSE_RECV_CONT
      pos:
        line_end: 3262
        line_start: 3261
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (0)
    - item_type: preproc_def
      name: CURLPAUSE_SEND
      pos:
        line_end: 3264
        line_start: 3263
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLPAUSE_SEND_CONT
      pos:
        line_end: 3265
        line_start: 3264
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (0)
    - item_type: preproc_def
      name: CURLPAUSE_ALL
      pos:
        line_end: 3267
        line_start: 3266
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURLPAUSE_RECV|CURLPAUSE_SEND)
    - item_type: preproc_def
      name: CURLPAUSE_CONT
      pos:
        line_end: 3268
        line_start: 3267
        source_file: /src/PROJ/curl/include/curl/curl.h
      type_or_value: (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT)
    structs:
    - fields:
      - name: '*next'
        type: struct curl_httppost
      - name: '*name'
        type: char
      - name: namelength
        type: long
      - name: '*contents'
        type: char
      - name: contentslength
        type: long
      - name: '*buffer'
        type: char
      - name: bufferlength
        type: long
      - name: '*contenttype'
        type: char
      - name: '*contentheader'
        type: struct curl_slist
      - name: '*more'
        type: struct curl_httppost
      - name: flags
        type: long
      - name: '*showfilename'
        type: char
      - name: '*userp'
        type: void
      - name: contentlen
        type: curl_off_t
      item_type: struct
      name: curl_httppost
      pos:
        line_end: 229
        line_start: 187
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: '*filename'
        type: char
      - name: filetype
        type: curlfiletype
      - name: time
        type: time_t
      - name: perm
        type: unsigned int
      - name: uid
        type: int
      - name: gid
        type: int
      - name: size
        type: curl_off_t
      - name: hardlinks
        type: long int
      - name: strings
        type: "struct {\n    /* If some of these fields is not NULL, it is a pointer
          to b_data. */\n    char *time;\n    char *perm;\n    char *user;\n    char
          *group;\n    char *target; /* pointer to the target filename of a symlink
          */\n  }"
      - name: flags
        type: unsigned int
      - name: '*b_data'
        type: char
      - name: b_size
        type: size_t
      - name: b_used
        type: size_t
      item_type: struct
      name: curl_fileinfo
      pos:
        line_end: 342
        line_start: 316
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: family
        type: int
      - name: socktype
        type: int
      - name: protocol
        type: int
      - name: addrlen
        type: unsigned int
      - name: addr
        type: struct sockaddr
      item_type: struct
      name: curl_sockaddr
      pos:
        line_end: 435
        line_start: 427
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: '*key'
        type: char
      - name: len
        type: size_t
      - name: keytype
        type: enum curl_khtype
      item_type: struct
      name: curl_khkey
      pos:
        line_end: 878
        line_start: 873
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: size_t
      - name: includeSubDomains
        type: unsigned int
      - name: expire[18]
        type: char
      item_type: struct
      name: curl_hstsentry
      pos:
        line_end: 1047
        line_start: 1042
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: index
        type: size_t
      - name: total
        type: size_t
      item_type: struct
      name: curl_index
      pos:
        line_end: 1052
        line_start: 1049
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: option
        type: CURLformoption
      - name: '*value'
        type: char
      item_type: struct
      name: curl_forms
      pos:
        line_end: 2590
        line_start: 2587
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: '*data'
        type: char
      - name: '*next'
        type: struct curl_slist
      item_type: struct
      name: curl_slist
      pos:
        line_end: 2800
        line_start: 2797
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: id
        type: curl_sslbackend
      - name: '*name'
        type: char
      item_type: struct
      name: curl_ssl_backend
      pos:
        line_end: 2831
        line_start: 2828
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: num_of_certs
        type: int
      - name: '**certinfo'
        type: struct curl_slist
      item_type: struct
      name: curl_certinfo
      pos:
        line_end: 2883
        line_start: 2877
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: backend
        type: curl_sslbackend
      - name: '*internals'
        type: void
      item_type: struct
      name: curl_tlssessioninfo
      pos:
        line_end: 2891
        line_start: 2888
        source_file: /src/PROJ/curl/include/curl/curl.h
    - fields:
      - name: age
        type: CURLversion
      - name: '*version'
        type: char
      - name: version_num
        type: unsigned int
      - name: '*host'
        type: char
      - name: features
        type: int
      - name: '*ssl_version'
        type: char
      - name: ssl_version_num
        type: long
      - name: '*libz_version'
        type: char
      - name: '* const *protocols'
        type: char
      - name: '*ares'
        type: char
      - name: ares_num
        type: int
      - name: '*libidn'
        type: char
      - name: iconv_ver_num
        type: int
      - name: '*libssh_version'
        type: char
      - name: brotli_ver_num
        type: unsigned int
      - name: '*brotli_version'
        type: char
      - name: nghttp2_ver_num
        type: unsigned int
      - name: '*nghttp2_version'
        type: char
      - name: '*quic_version'
        type: char
      - name: '*cainfo'
        type: char
      - name: '*capath'
        type: char
      - name: zstd_ver_num
        type: unsigned int
      - name: '*zstd_version'
        type: char
      - name: '*hyper_version'
        type: char
      - name: '*gsasl_version'
        type: char
      - name: '* const *feature_names'
        type: char
      - name: '*rtmp_version'
        type: char
      item_type: struct
      name: curl_version_info_data
      pos:
        line_end: 3177
        line_start: 3116
        source_file: /src/PROJ/curl/include/curl/curl.h
    typedefs:
    - item_type: typedef
      name: CURL
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: CURLSH
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: curl_socket_t
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: SOCKET
    - item_type: typedef
      name: curl_socket_t
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_progress_callback)(void *clientp,\n                                      double
        dltotal,\n                                      double dlnow,\n                                      double
        ultotal,\n                                      double ulnow)"
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_xferinfo_callback)(void *clientp,\n                                      curl_off_t
        dltotal,\n                                      curl_off_t dlnow,\n                                      curl_off_t
        ultotal,\n                                      curl_off_t ulnow)"
      pos:
        line_end: 251
        line_start: 247
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_write_callback)(char *buffer,\n                                      size_t
        size,\n                                      size_t nitems,\n                                      void
        *outstream)"
      pos:
        line_end: 286
        line_start: 283
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: size_t
    - item_type: typedef
      name: "(*curl_resolver_start_callback)(void *resolver_state,\n                                            void
        *reserved, void *userdata)"
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_chunk_bgn_callback)(const void *transfer_info,\n                                        void
        *ptr,\n                                        int remains)"
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: long
    - item_type: typedef
      name: (*curl_chunk_end_callback)(void *ptr)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: long
    - item_type: typedef
      name: "(*curl_fnmatch_callback)(void *ptr,\n                                     const
        char *pattern,\n                                     const char *string)"
      pos:
        line_end: 377
        line_start: 375
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_seek_callback)(void *instream,\n                                  curl_off_t
        offset,\n                                  int origin)"
      pos:
        line_end: 386
        line_start: 384
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_read_callback)(char *buffer,\n                                     size_t
        size,\n                                     size_t nitems,\n                                     void
        *instream)"
      pos:
        line_end: 405
        line_start: 402
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: size_t
    - item_type: typedef
      name: "(*curl_trailer_callback)(struct curl_slist **list,\n                                     void
        *userdata)"
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_sockopt_callback)(void *clientp,\n                                     curl_socket_t
        curlfd,\n                                     curlsocktype purpose)"
      pos:
        line_end: 425
        line_start: 423
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_opensocket_callback)(void *clientp,\n                            curlsocktype
        purpose,\n                            struct curl_sockaddr *address)"
      pos:
        line_end: 440
        line_start: 437
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: curl_socket_t
    - item_type: typedef
      name: (*curl_closesocket_callback)(void *clientp, curl_socket_t item)
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_ioctl_callback)(CURL *handle,\n                                         int
        cmd,\n                                         void *clientp)"
      pos:
        line_end: 460
        line_start: 458
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: curlioerr
    - item_type: typedef
      name: '*(*curl_malloc_callback)(size_t size)'
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: (*curl_free_callback)(void *ptr)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: '*(*curl_realloc_callback)(void *ptr, size_t size)'
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: '*(*curl_strdup_callback)(const char *str)'
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: char
    - item_type: typedef
      name: '*(*curl_calloc_callback)(size_t nmemb, size_t size)'
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: "(*curl_debug_callback)\n       (CURL *handle,      /* the handle/transfer
        this concerns */\n        curl_infotype type, /* what kind of data */\n        char
        *data,        /* points to the data */\n        size_t size,       /* size
        of the data pointed to */\n        void *userptr)"
      pos:
        line_end: 495
        line_start: 490
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_prereq_callback)(void *clientp,\n                                    char
        *conn_primary_ip,\n                                    char *conn_local_ip,\n
        \                                   int conn_primary_port,\n                                    int
        conn_local_port)"
      pos:
        line_end: 502
        line_start: 498
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: (*curl_conv_callback)(char *buffer, size_t length)
      pos:
        line_end: 781
        line_start: 781
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: CURLcode
    - item_type: typedef
      name: "(*curl_ssl_ctx_callback)(CURL *curl,    /* easy handle */\n                                          void
        *ssl_ctx, /* actually an OpenSSL\n                                                            or
        wolfSSL SSL_CTX,\n                                                            or
        an mbedTLS\n                                                          mbedtls_ssl_config
        */\n                                          void *userptr)"
      pos:
        line_end: 788
        line_start: 783
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: CURLcode
    - item_type: typedef
      name: "(*curl_sshkeycallback) (CURL *easy,     /* easy handle */\n                          const
        struct curl_khkey *knownkey, /* known */\n                          const
        struct curl_khkey *foundkey, /* found */\n                          enum curl_khmatch,
        /* libcurl's view on the keys */\n                          void *clientp)"
      pos:
        line_end: 906
        line_start: 901
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_sshhostkeycallback) (void *clientp,/* custom pointer passed */\n
        \                                           /* with CURLOPT_SSH_HOSTKEYDATA
        */\n                          int keytype, /* CURLKHTYPE */\n                          const
        char *key, /* hostkey to check */\n                          size_t keylen)"
      pos:
        line_end: 914
        line_start: 909
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_hstsread_callback)(CURL *easy,\n                                              struct
        curl_hstsentry *e,\n                                              void *userp)"
      pos:
        line_end: 1062
        line_start: 1060
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: CURLSTScode
    - item_type: typedef
      name: "(*curl_hstswrite_callback)(CURL *easy,\n                                               struct
        curl_hstsentry *e,\n                                               struct
        curl_index *i,\n                                               void *userp)"
      pos:
        line_end: 1066
        line_start: 1063
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: CURLSTScode
    - item_type: typedef
      name: curl_mime
      pos:
        line_end: 2428
        line_start: 2428
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: curl_mime
    - item_type: typedef
      name: curl_mimepart
      pos:
        line_end: 2429
        line_start: 2429
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: curl_mimepart
    - item_type: typedef
      name: "(*curl_formget_callback)(void *arg, const char *buf,\n                                        size_t
        len)"
      pos:
        line_end: 2646
        line_start: 2645
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: size_t
    - item_type: typedef
      name: curl_ssl_backend
      pos:
        line_end: 2832
        line_start: 2832
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: curl_ssl_backend
    - item_type: typedef
      name: "(*curl_lock_function)(CURL *handle,\n                                   curl_lock_data
        data,\n                                   curl_lock_access locktype,\n                                   void
        *userptr)"
      pos:
        line_end: 3057
        line_start: 3054
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: "(*curl_unlock_function)(CURL *handle,\n                                     curl_lock_data
        data,\n                                     void *userptr)"
      pos:
        line_end: 3060
        line_start: 3058
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: curl_version_info_data
      pos:
        line_end: 3178
        line_start: 3178
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: curl_version_info_data
    - item_type: typedef
      name: "curl_ssls_export_cb(CURL *handle,\n                                     void
        *userptr,\n                                     const char *session_key,\n
        \                                    const unsigned char *shmac,\n                                     size_t
        shmac_len,\n                                     const unsigned char *sdata,\n
        \                                    size_t sdata_len,\n                                     curl_off_t
        valid_until,\n                                     int ietf_tls_id,\n                                     const
        char *alpn,\n                                     size_t earlydata_max)"
      pos:
        line_end: 3296
        line_start: 3286
        source_file: /src/PROJ/curl/include/curl/curl.h
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/PROJ/curl/include/curl/options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLOT_FLAG_ALIAS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/include/curl/options.h
      type_or_value: (1<<0)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: CURLoption
      - name: type
        type: curl_easytype
      - name: flags
        type: unsigned int
      item_type: struct
      name: curl_easyoption
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/PROJ/curl/include/curl/options.h
    typedefs: []
    union: []
- function_names:
  - curl_easy_setopt
  - curl_easy_getinfo
  - curl_multi_setopt
  - curlcheck_multicb_data_option
  - curlcheck_charpp_option
  - curlcheck_multitimer_cb
  - curlcheck_multisocket_cb
  - curlcheck_multipush_cb
  - curlcheck_multinotify_cb
  - curl_share_setopt
  - CURLWARNING
  - curlcheck_long_option
  - curlcheck_off_t_option
  - curlcheck_curl_option
  - curlcheck_string_option
  - curlcheck_write_cb_option
  - curlcheck_conv_cb_option
  - curlcheck_cb_data_option
  - curlcheck_postfields_option
  - curlcheck_slist_option
  - curlcheck_string_info
  - curlcheck_long_info
  - curlcheck_double_info
  - curlcheck_slist_info
  - curlcheck_tlssessioninfo_info
  - curlcheck_certinfo_info
  - curlcheck_socket_info
  - curlcheck_off_t_info
  - curlcheck_any_ptr
  - curlcheck_NULL
  - curlcheck_ptr
  - curlcheck_ptrptr
  - curlcheck_arr
  - curlcheck_string
  - curlcheck_curl
  - curlcheck_long
  - curlcheck_off_t
  - curlcheck_error_buffer
  - curlcheck_cb_data
  - curlcheck_cb_data
  - curlcheck_FILE
  - curlcheck_postfields
  - curlcheck_cb_compatible
  - curlcheck_resolver_start_callback
  - curlcheck_read_cb
  - curlcheck_write_cb
  - curlcheck_ioctl_cb
  - curlcheck_sockopt_cb
  - curlcheck_opensocket_cb
  - curlcheck_progress_cb
  - curlcheck_xferinfo_cb
  - curlcheck_debug_cb
  - curlcheck_ssl_ctx_cb
  - curlcheck_conv_cb
  - curlcheck_seek_cb
  - curlcheck_chunk_bgn_cb
  - curlcheck_chunk_end_cb
  - curlcheck_close_socket_cb
  - curlcheck_fnmatch_cb
  - curlcheck_hstsread_cb
  - curlcheck_hstswrite_cb
  - curlcheck_ssh_hostkey_cb
  - curlcheck_ssh_key_cb
  - curlcheck_interleave_cb
  - curlcheck_prereq_cb
  - curlcheck_trailer_cb
  source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*Wcurl_read_callback1)(char *, size_t, size_t, void *)
      pos:
        line_end: 723
        line_start: 723
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback2)(char *, size_t, size_t, const void *)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback3)(char *, size_t, size_t, FILE *)
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback4)(void *, size_t, size_t, void *)
      pos:
        line_end: 726
        line_start: 726
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback5)(void *, size_t, size_t, const void *)
      pos:
        line_end: 727
        line_start: 727
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback6)(void *, size_t, size_t, FILE *)
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback1)(const char *, size_t, size_t, void *)
      pos:
        line_end: 741
        line_start: 741
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: "(*Wcurl_write_callback2)(const char *, size_t, size_t,\n                                       const
        void *)"
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback3)(const char *, size_t, size_t, FILE *)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback4)(const void *, size_t, size_t, void *)
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: "(*Wcurl_write_callback5)(const void *, size_t, size_t,\n                                       const
        void *)"
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback6)(const void *, size_t, size_t, FILE *)
      pos:
        line_end: 748
        line_start: 748
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_ioctl_callback1)(CURL *, int, void *)
      pos:
        line_end: 758
        line_start: 758
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_ioctl_callback2)(CURL *, int, const void *)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_ioctl_callback3)(CURL *, curliocmd, void *)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_ioctl_callback4)(CURL *, curliocmd, const void *)
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_sockopt_callback1)(void *, curl_socket_t, curlsocktype)
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_sockopt_callback2)(const void *, curl_socket_t,\n                                      curlsocktype)"
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback1)\n  (void *, curlsocktype, struct curl_sockaddr
        *)"
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback2)\n  (void *, curlsocktype, const struct
        curl_sockaddr *)"
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback3)\n  (const void *, curlsocktype, struct
        curl_sockaddr *)"
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback4)\n  (const void *, curlsocktype, const struct
        curl_sockaddr *)"
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_progress_callback1)(void *,\n    double, double, double, double)"
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_progress_callback2)(const void *,\n    double, double, double,
        double)"
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback1) (CURL *,\n    curl_infotype, char *, size_t,
        void *)"
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback2) (CURL *,\n    curl_infotype, char *, size_t,
        const void *)"
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback3) (CURL *,\n    curl_infotype, const char *, size_t,
        void *)"
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback4) (CURL *,\n    curl_infotype, const char *, size_t,
        const void *)"
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback5) (CURL *,\n    curl_infotype, unsigned char *,
        size_t, void *)"
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback6) (CURL *,\n    curl_infotype, unsigned char *,
        size_t, const void *)"
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback7) (CURL *,\n    curl_infotype, const unsigned
        char *, size_t, void *)"
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback8) (CURL *,\n    curl_infotype, const unsigned
        char *, size_t, const void *)"
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback1)(CURL *, void *, void *)
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback2)(CURL *, void *, const void *)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback3)(CURL *, const void *, void *)
      pos:
        line_end: 851
        line_start: 851
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: "(*Wcurl_ssl_ctx_callback4)(CURL *, const void *,\n                                            const
        void *)"
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback5)(CURL *, SSL_CTX *, void *)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback6)(CURL *, SSL_CTX *, const void *)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback7)(CURL *, const SSL_CTX *, void *)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: "(*Wcurl_ssl_ctx_callback8)(CURL *, const SSL_CTX *,\n                                            const
        void *)"
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback5
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback6
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback7
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback8
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: (*Wcurl_conv_callback1)(char *, size_t length)
      pos:
        line_end: 878
        line_start: 878
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_conv_callback2)(const char *, size_t length)
      pos:
        line_end: 879
        line_start: 879
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_conv_callback3)(void *, size_t length)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_conv_callback4)(const void *, size_t length)
      pos:
        line_end: 881
        line_start: 881
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_seek_callback1)(void *, curl_off_t, int)
      pos:
        line_end: 889
        line_start: 889
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_seek_callback2)(const void *, curl_off_t, int)
      pos:
        line_end: 890
        line_start: 890
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: "(*Wcurl_chunk_bgn_callback1)(struct curl_fileinfo *,\n                                          void
        *, int)"
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: long
    - item_type: typedef
      name: (*Wcurl_chunk_bgn_callback2)(void *, void *, int)
      pos:
        line_end: 900
        line_start: 900
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: long
    - item_type: typedef
      name: "(*Wcurl_interleave_callback1)(void *p, size_t s,\n                                             size_t
        n, void *u)"
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: "(*Wcurl_interleave_callback2)(char *p, size_t s,\n                                             size_t
        n, void *u)"
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/PROJ/curl/include/curl/typecheck-gcc.h
      type: size_t
    union: []
- function_names: []
  source_file: /src/PROJ/curl/include/curl/stdcheaders.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_POPCOUNT64
  - CURL_CTZ64
  - CURL_POPCOUNT64
  - CURL_CTZ64
  source_file: /src/PROJ/curl/include/curl/system.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: PRId64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: PRIu64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: PRId64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: PRIu64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/PROJ/curl/include/curl/system.h
      type_or_value: int
    structs: []
    typedefs:
    - item_type: typedef
      name: curl_socklen_t
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/PROJ/curl/include/curl/system.h
      type: CURL_TYPEOF_CURL_SOCKLEN_T
    - item_type: typedef
      name: curl_off_t
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/PROJ/curl/include/curl/system.h
      type: CURL_TYPEOF_CURL_OFF_T
    union: []
- function_names:
  - CURL_TEMP_PRINTF
  - CURL_TEMP_PRINTF
  source_file: /src/PROJ/curl/include/curl/mprintf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/include/curl/websockets.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLWS_TEXT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLWS_BINARY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURLWS_CONT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLWS_CLOSE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURLWS_PING
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURLWS_OFFSET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: CURLWS_PONG
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: CURLWS_RAW_MODE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLWS_NOAUTOPONG
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/include/curl/websockets.h
      type_or_value: (1L<<1)
    structs:
    - fields:
      - name: age
        type: int
      - name: flags
        type: int
      - name: offset
        type: curl_off_t
      - name: bytesleft
        type: curl_off_t
      - name: len
        type: size_t
      item_type: struct
      name: curl_ws_frame
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/PROJ/curl/include/curl/websockets.h
    typedefs: []
    union: []
- function_names:
  - curl_multi_socket
  source_file: /src/PROJ/curl/include/curl/multi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLM_CALL_MULTI_SOCKET
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: CURLM_CALL_MULTI_PERFORM
    - item_type: preproc_def
      name: CURLPIPE_NOTHING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLPIPE_HTTP1
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURLPIPE_MULTIPLEX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_WAIT_POLLIN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: CURL_WAIT_POLLPRI
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: CURL_WAIT_POLLOUT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: CURL_POLL_NONE
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_POLL_IN
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_POLL_OUT
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_POLL_INOUT
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CURL_POLL_REMOVE
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_SOCKET_TIMEOUT
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: CURL_SOCKET_BAD
    - item_type: preproc_def
      name: CURL_CSELECT_IN
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CURL_CSELECT_OUT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: CURL_CSELECT_ERR
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: CURLMNWC_CLEAR_CONNS
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLMNWC_CLEAR_DNS
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURL_PUSH_OK
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_PUSH_DENY
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PUSH_ERROROUT
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURLMNOTIFY_INFO_READ
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURLMNOTIFY_EASY_DONE
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/PROJ/curl/include/curl/multi.h
      type_or_value: '1'
    structs:
    - fields:
      - name: msg
        type: CURLMSG
      - name: '*easy_handle'
        type: CURL
      - name: data
        type: "union {\n    void *whatever;    /* message-specific data */\n    CURLcode
          result;   /* return code for transfer */\n  }"
      item_type: struct
      name: CURLMsg
      pos:
        line_end: 103
        line_start: 96
        source_file: /src/PROJ/curl/include/curl/multi.h
    - fields:
      - name: fd
        type: curl_socket_t
      - name: events
        type: short
      - name: revents
        type: short
      item_type: struct
      name: curl_waitfd
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/PROJ/curl/include/curl/multi.h
    typedefs:
    - item_type: typedef
      name: CURLM
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/PROJ/curl/include/curl/multi.h
      type: void
    - item_type: typedef
      name: CURLMsg
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/PROJ/curl/include/curl/multi.h
      type: CURLMsg
    - item_type: typedef
      name: "(*curl_socket_callback)(CURL *easy,      /* easy handle */\n                                    curl_socket_t
        s, /* socket */\n                                    int what,        /* see
        above */\n                                    void *userp,     /* private
        callback\n                                                        pointer
        */\n                                    void *socketp)"
      pos:
        line_end: 299
        line_start: 294
        source_file: /src/PROJ/curl/include/curl/multi.h
      type: int
    - item_type: typedef
      name: "(*curl_multi_timer_callback)(CURLM *multi,    /* multi handle */\n                                         long
        timeout_ms, /* see above */\n                                         void
        *userp)"
      pos:
        line_end: 313
        line_start: 311
        source_file: /src/PROJ/curl/include/curl/multi.h
      type: int
    - item_type: typedef
      name: "(*curl_push_callback)(CURL *parent,\n                                  CURL
        *easy,\n                                  size_t num_headers,\n                                  struct
        curl_pushheaders *headers,\n                                  void *userp)"
      pos:
        line_end: 512
        line_start: 508
        source_file: /src/PROJ/curl/include/curl/multi.h
      type: int
    - item_type: typedef
      name: "(*curl_notify_callback)(CURLM *multi,\n                                     unsigned
        int notification,\n                                     CURL *easy,\n                                     void
        *user_data)"
      pos:
        line_end: 540
        line_start: 537
        source_file: /src/PROJ/curl/include/curl/multi.h
      type: void
    union: []
- function_names: []
  source_file: /src/PROJ/curl/include/curl/header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLH_HEADER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/include/curl/header.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: CURLH_TRAILER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/include/curl/header.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: CURLH_CONNECT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/include/curl/header.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: CURLH_1XX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/include/curl/header.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: CURLH_PSEUDO
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/include/curl/header.h
      type_or_value: '(1<<4) '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: amount
        type: size_t
      - name: index
        type: size_t
      - name: origin
        type: unsigned int
      - name: '*anchor'
        type: void
      item_type: struct
      name: curl_header
      pos:
        line_end: 37
        line_start: 30
        source_file: /src/PROJ/curl/include/curl/header.h
    typedefs: []
    union: []
- function_names:
  - calc
  - showtable
  - main
  source_file: /src/PROJ/curl/scripts/schemetable.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*n'
        type: char
      - name: '*ifdef'
        type: char
      item_type: struct
      name: detail
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/PROJ/curl/scripts/schemetable.c
    typedefs: []
    union: []
- function_names:
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - check
  - main
  - check
  - main
  - main
  - main
  - main
  - main
  - main
  - enquote
  - expand
  - main
  - enquote
  - expand
  - main
  source_file: /src/PROJ/curl/CMake/CurlTests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LARGE_OFF_T
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/curl/CMake/CurlTests.c
      type_or_value: (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
    structs: []
    typedefs: []
    union: []
- function_names:
  - cw_out_buf_create
  - cw_out_buf_free
  - cw_out_init
  - cw_out_bufs_free
  - cw_out_bufs_len
  - cw_out_close
  - cw_get_writefunc
  - cw_out_cb_write
  - cw_out_ptr_flush
  - cw_out_buf_flush
  - cw_out_flush_chain
  - cw_out_append
  - cw_out_do_write
  - cw_out_write
  - Curl_cw_out_is_paused
  - cw_out_flush
  - Curl_cw_out_unpause
  - Curl_cw_out_done
  source_file: /src/PROJ/curl/lib/cw-out.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct cw_out_buf
      - name: b
        type: struct dynbuf
      - name: type
        type: cw_out_type
      item_type: struct
      name: cw_out_buf
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/PROJ/curl/lib/cw-out.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: '*buf'
        type: struct cw_out_buf
      item_type: struct
      name: cw_out_ctx
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/PROJ/curl/lib/cw-out.c
    typedefs: []
    union: []
- function_names:
  - show_resolve_info
  - Curl_printable_address
  - create_dnscache_id
  - dnscache_entry_is_stale
  - dnscache_prune
  - dnscache_get
  - dnscache_lock
  - dnscache_unlock
  - Curl_dnscache_prune
  - Curl_dnscache_clear
  - fetch_addr
  - Curl_dnscache_get
  - num_addresses
  - Curl_shuffle_addr
  - Curl_dnscache_mk_entry
  - dnscache_add_addr
  - Curl_dnscache_add
  - get_localhost6
  - get_localhost6
  - get_localhost
  - Curl_ipv6works
  - Curl_host_is_ipnum
  - tailmatch
  - convert_ipaddr_direct
  - can_resolve_ip_version
  - store_negative_resolve
  - Curl_resolv
  - Curl_resolv_blocking
  - alarmfunc
  - Curl_resolv_timeout
  - dnscache_entry_free
  - Curl_resolv_unlink
  - dnscache_entry_dtor
  - Curl_dnscache_init
  - Curl_dnscache_destroy
  - Curl_loadhostpairs
  - show_resolve_info
  - Curl_resolv_check
  - Curl_resolv_pollset
  - Curl_once_resolved
  - Curl_resolver_error
  source_file: /src/PROJ/curl/lib/hostip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HOSTCACHE_LEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/hostip.c
      type_or_value: '(255 + 7) '
    - item_type: preproc_def
      name: MAX_DNS_CACHE_SIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/hostip.c
      type_or_value: '29999'
    structs:
    - fields:
      - name: now
        type: struct curltime
      - name: oldest_ms
        type: timediff_t
      - name: max_age_ms
        type: timediff_t
      item_type: struct
      name: dnscache_prune_data
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/PROJ/curl/lib/hostip.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/easyoptions.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_POPCOUNT64
  - CURL_CTZ64
  source_file: /src/PROJ/curl/lib/uint-bset.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*slots'
        type: curl_uint64_t
      - name: nslots
        type: unsigned int
      - name: first_slot_used
        type: unsigned int
      item_type: struct
      name: uint_bset
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/PROJ/curl/lib/uint-bset.h
    typedefs: []
    union: []
- function_names:
  - r_freeaddrinfo
  - async_addrinfo_cb
  - mk_getaddrinfo
  - r_getaddrinfo
  source_file: /src/PROJ/curl/lib/fake_addrinfo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*result'
        type: struct ares_addrinfo
      item_type: struct
      name: context
      pos:
        line_end: 50
        line_start: 48
        source_file: /src/PROJ/curl/lib/fake_addrinfo.c
    typedefs: []
    union: []
- function_names:
  - Curl_pp_state_timeout
  - Curl_pp_statemach
  - Curl_pp_init
  - Curl_pp_vsendf
  - Curl_pp_sendf
  - pingpong_read
  - Curl_pp_readresp
  - Curl_pp_pollset
  - Curl_pp_needs_flush
  - Curl_pp_flushsend
  - Curl_pp_disconnect
  - Curl_pp_moredata
  source_file: /src/PROJ/curl/lib/pingpong.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_http2_may_switch
  - Curl_http2_request_upgrade
  - Curl_http2_switch
  - Curl_http2_upgrade
  - Curl_h2_http_1_1_error
  source_file: /src/PROJ/curl/lib/http2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAX_CONCURRENT_STREAMS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/http2.h
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_hmac.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_MD5_LENGTH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/curl_hmac.h
      type_or_value: '16'
    structs:
    - fields:
      - name: hinit
        type: HMAC_hinit
      - name: hupdate
        type: HMAC_hupdate
      - name: hfinal
        type: HMAC_hfinal
      - name: ctxtsize
        type: unsigned int
      - name: maxkeylen
        type: unsigned int
      - name: resultlen
        type: unsigned int
      item_type: struct
      name: HMAC_params
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/PROJ/curl/lib/curl_hmac.h
    - fields:
      - name: '*hash'
        type: struct HMAC_params
      - name: '*hashctxt1'
        type: void
      - name: '*hashctxt2'
        type: void
      item_type: struct
      name: HMAC_context
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/PROJ/curl/lib/curl_hmac.h
    typedefs:
    - item_type: typedef
      name: (*HMAC_hinit)(void *context)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PROJ/curl/lib/curl_hmac.h
      type: CURLcode
    - item_type: typedef
      name: "(*HMAC_hupdate)(void *context,\n                                const
        unsigned char *data,\n                                unsigned int len)"
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/PROJ/curl/lib/curl_hmac.h
      type: void
    - item_type: typedef
      name: (*HMAC_hfinal)(unsigned char *result, void *context)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/PROJ/curl/lib/curl_hmac.h
      type: void
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/ftp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_FTP_EASY
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/lib/ftp.h
      type_or_value: '"meta:proto:ftp:easy"'
    - item_type: preproc_def
      name: CURL_META_FTP_CONN
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/curl/lib/ftp.h
      type_or_value: '"meta:proto:ftp:conn"'
    - item_type: preproc_def
      name: DEFAULT_ACCEPT_TIMEOUT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/lib/ftp.h
      type_or_value: '60000 '
    structs:
    - fields:
      - name: '*parser'
        type: struct ftp_parselist_data
      - name: backup
        type: "struct {\n    curl_write_callback write_function;\n    FILE *file_descriptor;\n
          \ }"
      item_type: struct
      name: ftp_wc
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/PROJ/curl/lib/ftp.h
    - fields:
      - name: '*path'
        type: char
      - name: '*pathalloc'
        type: char
      - name: transfer
        type: curl_pp_transfer
      - name: downloadsize
        type: curl_off_t
      item_type: struct
      name: FTP
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/PROJ/curl/lib/ftp.h
    - fields:
      - name: start
        type: int
      - name: len
        type: int
      item_type: struct
      name: pathcomp
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/PROJ/curl/lib/ftp.h
    - fields:
      - name: pp
        type: struct pingpong
      - name: '*account'
        type: char
      - name: '*alternative_to_user'
        type: char
      - name: '*entrypath'
        type: char
      - name: '*file'
        type: char
      - name: '*rawpath'
        type: char
      - name: '*dirs'
        type: struct pathcomp
      - name: '*prevpath'
        type: char
      - name: transfertype
        type: char
      - name: '*server_os'
        type: char
      - name: known_filesize
        type: curl_off_t
      - name: count1
        type: int
      - name: count2
        type: int
      - name: count3
        type: int
      - name: dirdepth
        type: unsigned short
      - name: cwdcount
        type: unsigned short
      - name: state
        type: unsigned char
      - name: use_ssl
        type: unsigned char
      - name: ccc
        type: unsigned char
      item_type: struct
      name: ftp_conn
      pos:
        line_end: 167
        line_start: 127
        source_file: /src/PROJ/curl/lib/ftp.h
    typedefs:
    - item_type: typedef
      name: ftpstate
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/PROJ/curl/lib/ftp.h
      type: unsigned char
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_range.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/bufq.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFQ_OPT_NONE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/bufq.h
      type_or_value: (0)
    - item_type: preproc_def
      name: BUFQ_OPT_SOFT_LIMIT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/lib/bufq.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: BUFQ_OPT_NO_SPARES
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/bufq.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: '*next'
        type: struct buf_chunk
      - name: dlen
        type: size_t
      - name: r_offset
        type: size_t
      - name: w_offset
        type: size_t
      - name: x
        type: "union {\n    unsigned char data[1]; /* the buffer for `dlen` bytes
          */\n    void *dummy;           /* alignment */\n  }"
      item_type: struct
      name: buf_chunk
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/PROJ/curl/lib/bufq.h
    - fields:
      - name: '*spare'
        type: struct buf_chunk
      - name: chunk_size
        type: size_t
      - name: spare_count
        type: size_t
      - name: spare_max
        type: size_t
      item_type: struct
      name: bufc_pool
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/PROJ/curl/lib/bufq.h
    - fields:
      - name: '*head'
        type: struct buf_chunk
      - name: '*tail'
        type: struct buf_chunk
      - name: '*spare'
        type: struct buf_chunk
      - name: '*pool'
        type: struct bufc_pool
      - name: chunk_count
        type: size_t
      - name: max_chunks
        type: size_t
      - name: chunk_size
        type: size_t
      - name: opts
        type: int
      item_type: struct
      name: bufq
      pos:
        line_end: 102
        line_start: 93
        source_file: /src/PROJ/curl/lib/bufq.h
    typedefs:
    - item_type: typedef
      name: "Curl_bufq_writer(void *writer_ctx,\n                                  const
        unsigned char *buf, size_t len,\n                                  size_t
        *pwritten)"
      pos:
        line_end: 209
        line_start: 207
        source_file: /src/PROJ/curl/lib/bufq.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_bufq_reader(void *reader_ctx,\n                                  unsigned
        char *buf, size_t len,\n                                  size_t *pnread)"
      pos:
        line_end: 224
        line_start: 222
        source_file: /src/PROJ/curl/lib/bufq.h
      type: CURLcode
    union: []
- function_names:
  - file_cleanup
  - file_easy_dtor
  - file_setup_connection
  - file_connect
  - file_done
  - file_disconnect
  - file_upload
  - file_do
  source_file: /src/PROJ/curl/lib/file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOS_FILESYSTEM
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/file.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AMIGA_FILESYSTEM
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/file.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_META_FILE_EASY
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/file.c
      type_or_value: '"meta:proto:file:easy"'
    - item_type: preproc_def
      name: DIRSEP
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/curl/lib/file.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: DIRSEP
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/curl/lib/file.c
      type_or_value: '''/'''
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*freepath'
        type: char
      - name: fd
        type: int
      item_type: struct
      name: FILEPROTO
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/PROJ/curl/lib/file.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/bufref.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*dtor)(void *)
        type: void
      - name: '*ptr'
        type: unsigned char
      - name: len
        type: size_t
      item_type: struct
      name: bufref
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/PROJ/curl/lib/bufref.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http1.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H1_PARSE_OPT_NONE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/http1.h
      type_or_value: (0)
    - item_type: preproc_def
      name: H1_PARSE_OPT_STRICT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/http1.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: H1_PARSE_DEFAULT_MAX_LINE_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/http1.h
      type_or_value: DYN_HTTP_REQUEST
    structs:
    - fields:
      - name: '*req'
        type: struct httpreq
      - name: scratch
        type: struct dynbuf
      - name: scratch_skip
        type: size_t
      - name: '*line'
        type: char
      - name: max_line_len
        type: size_t
      - name: line_len
        type: size_t
      item_type: struct
      name: h1_req_parser
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/PROJ/curl/lib/http1.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http_ntlm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_fileinfo_alloc
  - Curl_fileinfo_cleanup
  source_file: /src/PROJ/curl/lib/fileinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/dict.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/strdup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_cidr4_match
  - Curl_cidr6_match
  - Curl_check_noproxy
  source_file: /src/PROJ/curl/lib/noproxy.c
  types:
    enum:
    - enumerators:
      - name: TYPE_HOST
      - name: TYPE_IPV4
      - name: TYPE_IPV6
      item_type: enum
      name: nametype
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/PROJ/curl/lib/noproxy.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLM_NTFY
  source_file: /src/PROJ/curl/lib/multi_ntfy.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ntfy_cb
        type: curl_notify_callback
      - name: '*ntfy_cb_data'
        type: void
      - name: enabled
        type: struct uint_bset
      - name: failure
        type: CURLMcode
      - name: '*head'
        type: struct mntfy_chunk
      - name: '*tail'
        type: struct mntfy_chunk
      item_type: struct
      name: curl_multi_ntfy
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/PROJ/curl/lib/multi_ntfy.h
    typedefs: []
    union: []
- function_names:
  - IDN2_LOOKUP
  - IDN2_LOOKUP
  - iconv_to_utf8
  - mac_idn_to_ascii
  - mac_ascii_to_idn
  - win32_idn_to_ascii
  - win32_ascii_to_idn
  - Curl_is_ASCII_name
  - idn_decode
  - idn_encode
  - Curl_idn_decode
  - Curl_idn_encode
  - Curl_free_idnconverted_hostname
  - Curl_idnconvert_hostname
  source_file: /src/PROJ/curl/lib/idn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HOST_LENGTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/idn.c
      type_or_value: '512'
    - item_type: preproc_def
      name: IDN_MAX_LENGTH
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/curl/lib/idn.c
      type_or_value: '255'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_http_neg_init
  - Curl_http_setup_conn
  - Curl_checkProxyheaders
  - Curl_checkProxyheaders
  - http_header_is_empty
  - copy_custom_value
  - Curl_copy_header_value
  - http_output_basic
  - http_output_bearer
  - pickoneauth
  - http_perhapsrewind
  - Curl_http_auth_act
  - output_auth_headers
  - Curl_http_output_auth
  - authcmp
  - auth_spnego
  - auth_ntlm
  - auth_digest
  - auth_basic
  - auth_bearer
  - Curl_http_input_auth
  - http_should_fail
  - http_switch_to_get
  - Curl_http_follow
  - Curl_compareheader
  - Curl_http_connect
  - Curl_http_do_pollset
  - Curl_http_done
  - http_may_use_1_1
  - http_request_version
  - get_http_string
  - Curl_add_custom_headers
  - Curl_add_timecondition
  - Curl_add_timecondition
  - Curl_http_method
  - http_useragent
  - http_set_aptr_host
  - http_target
  - set_post_reader
  - set_reader
  - http_resume
  - http_req_set_TE
  - addexpect
  - http_add_content_hds
  - http_cookies
  - http_cookies
  - http_range
  - http_firstwrite
  - http_check_new_conn
  - http_add_connection_hd
  - http_add_hd
  - Curl_http
  - checkprefixmax
  - checkhttpprefix
  - checkrtspprefix
  - checkprotoprefix
  - HD_IS
  - HD_VAL
  - HD_IS_AND_SAYS
  - http_header_a
  - http_header_c
  - http_header_l
  - http_header_p
  - http_header_r
  - http_header_s
  - http_header_t
  - http_header_w
  - http_header
  - http_statusline
  - http_size
  - verify_header
  - Curl_bump_headersize
  - http_write_header
  - http_on_response
  - http_rw_hd
  - http_parse_headers
  - Curl_http_write_resp_hd
  - Curl_http_write_resp_hds
  - Curl_http_write_resp
  - Curl_http_decode_status
  - Curl_http_req_make
  - req_assign_url_authority
  - req_assign_url_path
  - Curl_http_req_make2
  - Curl_http_req_free
  - h2_permissible_field
  - http_TE_has_token
  - Curl_http_req_to_h2
  - Curl_http_resp_make
  - Curl_http_resp_free
  - http_exp100_continue
  - cr_exp100_read
  - cr_exp100_done
  - http_exp100_add_reader
  - http_exp100_got100
  - http_exp100_is_waiting
  - http_exp100_send_anyway
  - http_exp100_is_selected
  source_file: /src/PROJ/curl/lib/http.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: size_t
      item_type: struct
      name: name_const
      pos:
        line_end: 4720
        line_start: 4717
        source_file: /src/PROJ/curl/lib/http.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: start
        type: struct curltime
      - name: state
        type: enum expect100
      item_type: struct
      name: cr_exp100_ctx
      pos:
        line_end: 4888
        line_start: 4884
        source_file: /src/PROJ/curl/lib/http.c
    typedefs: []
    union: []
- function_names:
  - GOOD_EASY_HANDLE
  - GOOD_EASY_HANDLE
  - CONN_IS_PROXIED
  - CONN_IS_PROXIED
  - CURL_WANT_SEND
  - CURL_WANT_RECV
  - CONN_INUSE
  - CONN_ATTACHED
  - CONN_SOCK_IDX_VALID
  - CURL_CONN_HOST_DISPNAME
  - CURL_CONN_HOST_DISPNAME
  - IS_MIME_POST
  - IS_MIME_POST
  source_file: /src/PROJ/curl/lib/urldata.h
  types:
    enum:
    - enumerators:
      - name: STRING_CUSTOMREQUEST
      - name: STRING_SET_URL
      - name: STRING_NOPROXY
      - name: STRING_AWS_SIGV4
      - name: STRING_SSL_CRLFILE_PROXY
      - name: STRING_KEY
      - name: STRING_SSL_CRLFILE
      - name: STRING_DEVICE
      - name: STRING_LAST
      - name: STRING_SSL_EC_CURVES
      - name: STRING_TLSAUTH_USERNAME
      - name: STRING_OPTIONS
      - name: STRING_LASTZEROTERMINATED
      - name: STRING_FTP_ALTERNATIVE_TO_USER
      - name: STRING_SSL_PINNEDPUBLICKEY_PROXY
      - name: STRING_SSH_HOST_PUBLIC_KEY_SHA256
      - name: STRING_TLSAUTH_USERNAME_PROXY
      - name: STRING_SSL_PINNEDPUBLICKEY
      - name: STRING_KEY_PROXY
      - name: STRING_PROXYUSERNAME
      - name: STRING_ALTSVC
      - name: STRING_TLSAUTH_PASSWORD
      - name: STRING_ECH_CONFIG
      - name: STRING_TLSAUTH_PASSWORD_PROXY
      - name: STRING_CERT
      - name: STRING_SSL_CIPHER_LIST
      - name: STRING_KEY_PASSWD_PROXY
      - name: STRING_FTPPORT
      - name: STRING_SSL_CIPHER_LIST_PROXY
      - name: STRING_SSH_KNOWNHOSTS
      - name: STRING_MAIL_AUTH
      - name: STRING_PROXY
      - name: STRING_USERNAME
      - name: STRING_RTSP_TRANSPORT
      - name: STRING_HAPROXY_CLIENT_IP
      - name: STRING_SSL_SIGNATURE_ALGORITHMS
      - name: STRING_SSH_PUBLIC_KEY
      - name: STRING_ENCODING
      - name: STRING_SET_RANGE
      - name: STRING_COOKIE
      - name: STRING_SSL_CAPATH
      - name: STRING_CERT_PROXY
      - name: STRING_SSL_CAPATH_PROXY
      - name: STRING_PRE_PROXY
      - name: STRING_PASSWORD
      - name: STRING_DNS_LOCAL_IP4
      - name: STRING_BEARER
      - name: STRING_DOH
      - name: STRING_SASL_AUTHZID
      - name: STRING_COOKIEJAR
      - name: STRING_SSL_CAFILE
      - name: STRING_CERT_TYPE_PROXY
      - name: STRING_SSL_CAFILE_PROXY
      - name: STRING_SSH_HOST_PUBLIC_KEY_MD5
      - name: STRING_FTP_ACCOUNT
      - name: STRING_HSTS
      - name: STRING_USERAGENT
      - name: STRING_RTSP_SESSION_ID
      - name: STRING_DNS_INTERFACE
      - name: STRING_TARGET
      - name: STRING_ECH_PUBLIC
      - name: STRING_SSL_ISSUERCERT_PROXY
      - name: STRING_KEY_PASSWD
      - name: STRING_SSL_ISSUERCERT
      - name: STRING_INTERFACE
      - name: STRING_SSL_ENGINE
      - name: STRING_RTSP_STREAM_URI
      - name: STRING_MAIL_FROM
      - name: STRING_PROXY_SERVICE_NAME
      - name: STRING_KEY_TYPE
      - name: STRING_SERVICE_NAME
      - name: STRING_BINDHOST
      - name: STRING_SSH_PRIVATE_KEY
      - name: STRING_DNS_SERVERS
      - name: STRING_SET_REFERER
      - name: STRING_PROXYPASSWORD
      - name: STRING_UNIX_SOCKET_PATH
      - name: STRING_DNS_LOCAL_IP6
      - name: STRING_COPYPOSTFIELDS
      - name: STRING_DEFAULT_PROTOCOL
      - name: STRING_NETRC_FILE
      - name: STRING_SSL_CIPHER13_LIST_PROXY
      - name: STRING_CERT_TYPE
      - name: STRING_SSL_CIPHER13_LIST
      - name: STRING_KEY_TYPE_PROXY
      item_type: enum
      name: dupstring
      pos:
        line_end: 1296
        line_start: 1165
        source_file: /src/PROJ/curl/lib/urldata.h
    - enumerators:
      - name: BLOB_CERT
      - name: BLOB_CERT_PROXY
      - name: BLOB_CAINFO
      - name: BLOB_SSL_ISSUERCERT
      - name: BLOB_KEY
      - name: BLOB_KEY_PROXY
      - name: BLOB_SSL_ISSUERCERT_PROXY
      - name: BLOB_CAINFO_PROXY
      - name: BLOB_LAST
      item_type: enum
      name: dupblob
      pos:
        line_end: 1310
        line_start: 1298
        source_file: /src/PROJ/curl/lib/urldata.h
    preproc_defs:
    - item_type: preproc_def
      name: PORT_FTP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '21'
    - item_type: preproc_def
      name: PORT_FTPS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '990'
    - item_type: preproc_def
      name: PORT_TELNET
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '23'
    - item_type: preproc_def
      name: PORT_HTTP
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '80'
    - item_type: preproc_def
      name: PORT_HTTPS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '443'
    - item_type: preproc_def
      name: PORT_DICT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '2628'
    - item_type: preproc_def
      name: PORT_LDAP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '389'
    - item_type: preproc_def
      name: PORT_LDAPS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '636'
    - item_type: preproc_def
      name: PORT_TFTP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '69'
    - item_type: preproc_def
      name: PORT_SSH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '22'
    - item_type: preproc_def
      name: PORT_IMAP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '143'
    - item_type: preproc_def
      name: PORT_IMAPS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '993'
    - item_type: preproc_def
      name: PORT_POP3
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '110'
    - item_type: preproc_def
      name: PORT_POP3S
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '995'
    - item_type: preproc_def
      name: PORT_SMB
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '445'
    - item_type: preproc_def
      name: PORT_SMBS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '445'
    - item_type: preproc_def
      name: PORT_SMTP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '25'
    - item_type: preproc_def
      name: PORT_SMTPS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '465 '
    - item_type: preproc_def
      name: PORT_RTSP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '554'
    - item_type: preproc_def
      name: PORT_RTMP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '1935'
    - item_type: preproc_def
      name: PORT_RTMPT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: PORT_HTTP
    - item_type: preproc_def
      name: PORT_RTMPS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: PORT_HTTPS
    - item_type: preproc_def
      name: PORT_GOPHER
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '70'
    - item_type: preproc_def
      name: PORT_MQTT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '1883'
    - item_type: preproc_def
      name: CURLECH_DISABLE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLECH_GREASE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURLECH_ENABLE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLECH_HARD
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURLECH_CLA_CFG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURLPROTO_WS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1L<<30)
    - item_type: preproc_def
      name: CURLPROTO_WSS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: ((curl_prot_t)1<<31)
    - item_type: preproc_def
      name: CURLPROTO_WS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLPROTO_WSS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLPROTO_REDIR
      pos:
        line_end: 82
        line_start: 80
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: "(CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FTP | \\\n                         CURLPROTO_FTPS)"
    - item_type: preproc_def
      name: CURLPROTO_MASK
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (0x3ffffff)
    - item_type: preproc_def
      name: CURL_DEFAULT_USER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '"anonymous"'
    - item_type: preproc_def
      name: CURL_DEFAULT_PASSWORD
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '"ftp@example.com"'
    - item_type: preproc_def
      name: PROTO_FAMILY_HTTP
      pos:
        line_end: 111
        line_start: 109
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: "(CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_WS| \\\n                           CURLPROTO_WSS)"
    - item_type: preproc_def
      name: PROTO_FAMILY_FTP
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (CURLPROTO_FTP|CURLPROTO_FTPS)
    - item_type: preproc_def
      name: PROTO_FAMILY_POP3
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (CURLPROTO_POP3|CURLPROTO_POP3S)
    - item_type: preproc_def
      name: PROTO_FAMILY_SMB
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (CURLPROTO_SMB|CURLPROTO_SMBS)
    - item_type: preproc_def
      name: PROTO_FAMILY_SMTP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (CURLPROTO_SMTP|CURLPROTO_SMTPS)
    - item_type: preproc_def
      name: PROTO_FAMILY_SSH
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (CURLPROTO_SCP|CURLPROTO_SFTP)
    - item_type: preproc_def
      name: CURL_LIST_ONLY_PROTOCOL
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_CONNCACHE_SIZE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_IPADR_LEN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")
    - item_type: preproc_def
      name: RESP_TIMEOUT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (60*1000)
    - item_type: preproc_def
      name: CURL_MAX_INPUT_LENGTH
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '8000000'
    - item_type: preproc_def
      name: READBUFFER_SIZE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: CURL_MAX_WRITE_SIZE
    - item_type: preproc_def
      name: READBUFFER_MAX
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: CURL_MAX_READ_SIZE
    - item_type: preproc_def
      name: READBUFFER_MIN
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: UPLOADBUFFER_DEFAULT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '65536'
    - item_type: preproc_def
      name: UPLOADBUFFER_MAX
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (2*1024*1024)
    - item_type: preproc_def
      name: UPLOADBUFFER_MIN
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: CURL_MAX_WRITE_SIZE
    - item_type: preproc_def
      name: CURLEASY_MAGIC_NUMBER
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: 0xc0dedbadU
    - item_type: preproc_def
      name: KEEP_NONE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KEEP_RECV
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: KEEP_SEND
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: KEEP_RECV_HOLD
      pos:
        line_end: 426
        line_start: 424
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: KEEP_SEND_HOLD
      pos:
        line_end: 428
        line_start: 426
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: KEEP_RECV_PAUSE
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: KEEP_SEND_PAUSE
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<5) '
    - item_type: preproc_def
      name: KEEP_SEND_TIMED
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: KEEP_RECVBITS
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (KEEP_RECV | KEEP_RECV_HOLD | KEEP_RECV_PAUSE)
    - item_type: preproc_def
      name: KEEP_SENDBITS
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (KEEP_SEND | KEEP_SEND_HOLD | KEEP_SEND_PAUSE)
    - item_type: preproc_def
      name: FIRSTSOCKET
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SECONDARYSOCKET
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTOPT_NONE
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '0             '
    - item_type: preproc_def
      name: PROTOPT_SSL
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<0)         '
    - item_type: preproc_def
      name: PROTOPT_DUAL
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<1)        '
    - item_type: preproc_def
      name: PROTOPT_CLOSEACTION
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: PROTOPT_DIRLOCK
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: PROTOPT_NONETWORK
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<4)   '
    - item_type: preproc_def
      name: PROTOPT_NEEDSPWD
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<5)    '
    - item_type: preproc_def
      name: PROTOPT_NOURLQUERY
      pos:
        line_end: 567
        line_start: 565
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<6)   '
    - item_type: preproc_def
      name: PROTOPT_CREDSPERREQUEST
      pos:
        line_end: 569
        line_start: 567
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<7) '
    - item_type: preproc_def
      name: PROTOPT_ALPN
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<8) '
    - item_type: preproc_def
      name: PROTOPT_URLOPTIONS
      pos:
        line_end: 573
        line_start: 571
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<10) '
    - item_type: preproc_def
      name: PROTOPT_PROXY_AS_HTTP
      pos:
        line_end: 576
        line_start: 573
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<11) '
    - item_type: preproc_def
      name: PROTOPT_WILDCARD
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<12)    '
    - item_type: preproc_def
      name: PROTOPT_USERPWDCTRL
      pos:
        line_end: 579
        line_start: 577
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<13) '
    - item_type: preproc_def
      name: PROTOPT_NOTCPPROXY
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<14)  '
    - item_type: preproc_def
      name: PROTOPT_SSL_REUSE
      pos:
        line_end: 583
        line_start: 580
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<15)   '
    - item_type: preproc_def
      name: CONNCHECK_NONE
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '0                 '
    - item_type: preproc_def
      name: CONNCHECK_ISDEAD
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<0)          '
    - item_type: preproc_def
      name: CONNCHECK_KEEPALIVE
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<1)       '
    - item_type: preproc_def
      name: CONNRESULT_NONE
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '0                '
    - item_type: preproc_def
      name: CONNRESULT_DEAD
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(1<<0)           '
    - item_type: preproc_def
      name: TRNSPRT_TCP
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TRNSPRT_UDP
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TRNSPRT_QUIC
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TRNSPRT_UNIX
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '6'
    - item_type: preproc_def
      name: CURR_TIME
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '(5 + 1) '
    - item_type: preproc_def
      name: CREDS_NONE
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CREDS_URL
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CREDS_OPTION
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CREDS_NETRC
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: LIBCURL_NAME
      pos:
        line_end: 1706
        line_start: 1705
        source_file: /src/PROJ/curl/lib/urldata.h
      type_or_value: '"libcurl"'
    structs:
    - fields:
      - name: '*CApath'
        type: char
      - name: '*CAfile'
        type: char
      - name: '*issuercert'
        type: char
      - name: '*clientcert'
        type: char
      - name: '*cipher_list'
        type: char
      - name: '*cipher_list13'
        type: char
      - name: '*signature_algorithms'
        type: char
      - name: '*pinned_key'
        type: char
      - name: '*CRLfile'
        type: char
      - name: '*cert_blob'
        type: struct curl_blob
      - name: '*ca_info_blob'
        type: struct curl_blob
      - name: '*issuercert_blob'
        type: struct curl_blob
      - name: '*curves'
        type: char
      - name: version_max
        type: unsigned int
      - name: ssl_options
        type: unsigned char
      - name: version
        type: unsigned char
      item_type: struct
      name: ssl_primary_config
      pos:
        line_end: 260
        line_start: 235
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: primary
        type: struct ssl_primary_config
      - name: certverifyresult
        type: long
      - name: fsslctx
        type: curl_ssl_ctx_callback
      - name: '*fsslctxp'
        type: void
      - name: '*cert_type'
        type: char
      - name: '*key'
        type: char
      - name: '*key_blob'
        type: struct curl_blob
      - name: '*key_type'
        type: char
      - name: '*key_passwd'
        type: char
      item_type: struct
      name: ssl_config_data
      pos:
        line_end: 285
        line_start: 262
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: ca_cache_timeout
        type: int
      item_type: struct
      name: ssl_general_config
      pos:
        line_end: 289
        line_start: 287
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields: []
      item_type: struct
      name: digestdata
      pos:
        line_end: 318
        line_start: 297
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields: []
      item_type: struct
      name: ConnectBits
      pos:
        line_end: 408
        line_start: 346
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: '*rawalloc'
        type: char
      - name: '*encalloc'
        type: char
      - name: '*name'
        type: char
      - name: '*dispname'
        type: char
      item_type: struct
      name: hostname
      pos:
        line_end: 415
        line_start: 410
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: '*scheme'
        type: char
      - name: "(*setup_connection)(struct Curl_easy *data,\n                               struct
          connectdata *conn)"
        type: CURLcode
      - name: (*do_it)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: (*done)(struct Curl_easy *, CURLcode, bool)
        type: CURLcode
      - name: (*do_more)(struct Curl_easy *, int *)
        type: CURLcode
      - name: (*connect_it)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: (*connecting)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: (*doing)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: "(*proto_pollset)(struct Curl_easy *data,\n                            struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*doing_pollset)(struct Curl_easy *data,\n                            struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*domore_pollset)(struct Curl_easy *data,\n                            struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*perform_pollset)(struct Curl_easy *data,\n                              struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*disconnect)(struct Curl_easy *, struct connectdata *,\n                         bool
          dead_connection)"
        type: CURLcode
      - name: "(*write_resp)(struct Curl_easy *data, const char *buf, size_t blen,\n
          \                        bool is_eos)"
        type: CURLcode
      - name: "(*write_resp_hd)(struct Curl_easy *data,\n                            const
          char *hd, size_t hdlen, bool is_eos)"
        type: CURLcode
      - name: "(*connection_check)(struct Curl_easy *data,\n                                   struct
          connectdata *conn,\n                                   unsigned int checks_to_perform)"
        type: unsigned int
      - name: (*attach)(struct Curl_easy *data, struct connectdata *conn)
        type: void
      - name: "(*follow)(struct Curl_easy *data, const char *newurl,\n                     followtype
          type)"
        type: CURLcode
      - name: defport
        type: int
      - name: protocol
        type: curl_prot_t
      - name: family
        type: curl_prot_t
      - name: flags
        type: unsigned int
      item_type: struct
      name: Curl_handler
      pos:
        line_end: 551
        line_start: 456
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: remote_ip[MAX_IPADR_LEN]
        type: char
      - name: local_ip[MAX_IPADR_LEN]
        type: char
      - name: remote_port
        type: int
      - name: local_port
        type: int
      item_type: struct
      name: ip_quadruple
      pos:
        line_end: 596
        line_start: 591
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: host
        type: struct hostname
      - name: port
        type: int
      - name: proxytype
        type: unsigned char
      - name: '*user'
        type: char
      - name: '*passwd'
        type: char
      item_type: struct
      name: proxy_info
      pos:
        line_end: 604
        line_start: 598
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: cpool_node
        type: struct Curl_llist_node
      - name: cshutdn_node
        type: struct Curl_llist_node
      - name: fclosesocket
        type: curl_closesocket_callback
      - name: '*closesocket_client'
        type: void
      - name: connection_id
        type: curl_off_t
      - name: '*destination'
        type: char
      - name: meta_hash
        type: struct Curl_hash
      - name: host
        type: struct hostname
      - name: '*hostname_resolve'
        type: char
      - name: '*secondaryhostname'
        type: char
      - name: conn_to_host
        type: struct hostname
      - name: '*user'
        type: char
      - name: '*passwd'
        type: char
      - name: '*options'
        type: char
      - name: '*sasl_authzid'
        type: char
      - name: '*oauth_bearer'
        type: char
      - name: created
        type: struct curltime
      - name: lastused
        type: struct curltime
      - name: sock[2]
        type: curl_socket_t
      - name: '*cfilter[2]'
        type: struct Curl_cfilter
      - name: '*recv[2]'
        type: Curl_recv
      - name: '*send[2]'
        type: Curl_send
      - name: recv_idx
        type: int
      - name: send_idx
        type: int
      - name: shutdown
        type: "struct {\n    struct curltime start[2]; /* when filter shutdown started
          */\n    timediff_t timeout_ms; /* 0 means no timeout */\n  }"
      - name: ssl_config
        type: struct ssl_primary_config
      - name: bits
        type: struct ConnectBits
      - name: '*handler'
        type: struct Curl_handler
      - name: '*given'
        type: struct Curl_handler
      - name: keepalive
        type: struct curltime
      - name: xfers_attached
        type: struct uint_spbset
      - name: '*attached_multi'
        type: struct Curl_multi
      - name: '*localdev'
        type: char
      - name: localportrange
        type: unsigned short
      - name: waitfor
        type: int
      - name: remote_port
        type: int
      - name: conn_to_port
        type: int
      - name: localport
        type: unsigned short
      - name: secondary_port
        type: unsigned short
      - name: transport_wanted
        type: unsigned char
      - name: ip_version
        type: unsigned char
      - name: httpversion_seen
        type: unsigned char
      - name: connect_only
        type: unsigned char
      - name: gssapi_delegation
        type: unsigned char
      item_type: struct
      name: connectdata
      pos:
        line_end: 746
        line_start: 615
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: httpcode
        type: int
      - name: httpproxycode
        type: int
      - name: httpversion
        type: int
      - name: filetime
        type: time_t
      - name: request_size
        type: curl_off_t
      - name: proxyauthavail
        type: unsigned long
      - name: httpauthavail
        type: unsigned long
      - name: proxyauthpicked
        type: unsigned long
      - name: httpauthpicked
        type: unsigned long
      - name: numconnects
        type: long
      - name: '*contenttype'
        type: char
      - name: '*wouldredirect'
        type: char
      - name: retry_after
        type: curl_off_t
      - name: header_size
        type: unsigned int
      - name: primary
        type: struct ip_quadruple
      - name: conn_remote_port
        type: int
      - name: '*conn_scheme'
        type: char
      - name: conn_protocol
        type: unsigned int
      - name: certs
        type: struct curl_certinfo
      - name: pxcode
        type: CURLproxycode
      item_type: struct
      name: PureInfo
      pos:
        line_end: 801
        line_start: 766
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: start
        type: struct curltime
      - name: start_size
        type: curl_off_t
      item_type: struct
      name: pgrs_measure
      pos:
        line_end: 806
        line_start: 803
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: total_size
        type: curl_off_t
      - name: cur_size
        type: curl_off_t
      - name: speed
        type: curl_off_t
      - name: limit
        type: struct pgrs_measure
      item_type: struct
      name: pgrs_dir
      pos:
        line_end: 813
        line_start: 808
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: lastshow
        type: time_t
      - name: ul
        type: struct pgrs_dir
      - name: dl
        type: struct pgrs_dir
      - name: current_speed
        type: curl_off_t
      - name: earlydata_sent
        type: curl_off_t
      - name: timespent
        type: timediff_t
      - name: t_postqueue
        type: timediff_t
      - name: t_nslookup
        type: timediff_t
      - name: t_connect
        type: timediff_t
      - name: t_appconnect
        type: timediff_t
      - name: t_pretransfer
        type: timediff_t
      - name: t_posttransfer
        type: timediff_t
      - name: t_starttransfer
        type: timediff_t
      - name: t_redirect
        type: timediff_t
      - name: start
        type: struct curltime
      - name: t_startsingle
        type: struct curltime
      - name: t_startop
        type: struct curltime
      - name: t_startqueue
        type: struct curltime
      - name: t_acceptdata
        type: struct curltime
      - name: speeder[ CURR_TIME ]
        type: curl_off_t
      - name: speeder_time[ CURR_TIME ]
        type: struct curltime
      - name: speeder_c
        type: unsigned char
      item_type: struct
      name: Progress
      pos:
        line_end: 852
        line_start: 815
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: want
        type: unsigned long
      - name: picked
        type: unsigned long
      - name: avail
        type: unsigned long
      item_type: struct
      name: auth
      pos:
        line_end: 882
        line_start: 870
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: '*next'
        type: struct Curl_data_prio_node
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: Curl_data_prio_node
      pos:
        line_end: 888
        line_start: 885
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: weight
        type: int
      item_type: struct
      name: Curl_data_priority
      pos:
        line_end: 905
        line_start: 895
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: list
        type: struct Curl_llist_node
      - name: time
        type: struct curltime
      - name: eid
        type: expire_id
      item_type: struct
      name: time_node
      pos:
        line_end: 943
        line_start: 939
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: '*scheme'
        type: char
      - name: '*hostname'
        type: char
      - name: '*port'
        type: char
      - name: '*user'
        type: char
      - name: '*password'
        type: char
      - name: '*options'
        type: char
      - name: '*path'
        type: char
      - name: '*query'
        type: char
      item_type: struct
      name: urlpieces
      pos:
        line_end: 955
        line_start: 946
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: keeps_speed
        type: struct curltime
      - name: lastconnect_id
        type: curl_off_t
      - name: recent_conn_id
        type: curl_off_t
      - name: headerb
        type: struct dynbuf
      - name: '*hstslist'
        type: struct curl_slist
      - name: current_speed
        type: curl_off_t
      - name: '*first_host'
        type: char
      - name: first_remote_port
        type: int
      - name: first_remote_protocol
        type: curl_prot_t
      - name: os_errno
        type: int
      - name: requests
        type: int
      - name: authhost
        type: struct auth
      - name: authproxy
        type: struct auth
      - name: '*dns[2]'
        type: struct Curl_dns_entry
      - name: expiretime
        type: struct curltime
      - name: timenode
        type: struct Curl_tree
      - name: timeoutlist
        type: struct Curl_llist
      - name: expires[EXPIRE_LAST]
        type: struct time_node
      - name: '*most_recent_ftp_entrypath'
        type: char
      - name: '*range'
        type: char
      - name: resume_from
        type: curl_off_t
      - name: infilesize
        type: curl_off_t
      - name: fread_func
        type: curl_read_callback
      - name: '*in'
        type: void
      - name: '*uh'
        type: CURLU
      - name: up
        type: struct urlpieces
      - name: '*url'
        type: char
      - name: '*referer'
        type: char
      - name: '*resolve'
        type: struct curl_slist
      - name: aptr
        type: "struct dynamically_allocated_data {\n    char *uagent;\n    char *accept_encoding;\n
          \   char *userpwd;\n    char *rangeline;\n    char *ref;\n    char *host;\n#ifndef
          CURL_DISABLE_COOKIES\n    char *cookiehost;\n#endif\n#ifndef CURL_DISABLE_RTSP\n
          \   char *rtsp_transport;\n#endif\n\n    /* transfer credentials */\n    char
          *user;\n    char *passwd;\n#ifndef CURL_DISABLE_PROXY\n    char *proxyuserpwd;\n
          \   char *proxyuser;\n    char *proxypasswd;\n#endif\n  }"
      - name: followlocation
        type: unsigned short
      - name: retrycount
        type: unsigned char
      - name: httpreq
        type: unsigned char
      - name: creds_from
        type: unsigned int
      item_type: struct
      name: UrlState
      pos:
        line_end: 1152
        line_start: 962
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: '*uagent'
        type: char
      - name: '*accept_encoding'
        type: char
      - name: '*userpwd'
        type: char
      - name: '*rangeline'
        type: char
      - name: '*ref'
        type: char
      - name: '*host'
        type: char
      - name: '*user'
        type: char
      - name: '*passwd'
        type: char
      item_type: struct
      name: dynamically_allocated_data
      pos:
        line_end: 1098
        line_start: 1076
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: '*err'
        type: FILE
      - name: '*debugdata'
        type: void
      - name: '*errorbuffer'
        type: char
      - name: '*out'
        type: void
      - name: '*in_set'
        type: void
      - name: '*writeheader'
        type: void
      - name: httpauth
        type: unsigned long
      - name: proxyauth
        type: unsigned long
      - name: '*postfields'
        type: void
      - name: seek_func
        type: curl_seek_callback
      - name: postfieldsize
        type: curl_off_t
      - name: fwrite_func
        type: curl_write_callback
      - name: fwrite_header
        type: curl_write_callback
      - name: fwrite_rtp
        type: curl_write_callback
      - name: fread_func_set
        type: curl_read_callback
      - name: fprogress
        type: curl_progress_callback
      - name: fxferinfo
        type: curl_xferinfo_callback
      - name: fdebug
        type: curl_debug_callback
      - name: ioctl_func
        type: curl_ioctl_callback
      - name: fsockopt
        type: curl_sockopt_callback
      - name: '*sockopt_client'
        type: void
      - name: fopensocket
        type: curl_opensocket_callback
      - name: '*opensocket_client'
        type: void
      - name: fclosesocket
        type: curl_closesocket_callback
      - name: '*closesocket_client'
        type: void
      - name: fprereq
        type: curl_prereq_callback
      - name: '*prereq_userp'
        type: void
      - name: '*seek_client'
        type: void
      - name: '*progress_client'
        type: void
      - name: '*ioctl_client'
        type: void
      - name: conn_max_idle_ms
        type: timediff_t
      - name: conn_max_age_ms
        type: timediff_t
      - name: filesize
        type: curl_off_t
      - name: low_speed_limit
        type: long
      - name: low_speed_time
        type: long
      - name: max_send_speed
        type: curl_off_t
      - name: max_recv_speed
        type: curl_off_t
      - name: set_resume_from
        type: curl_off_t
      - name: '*headers'
        type: struct curl_slist
      - name: '*httppost'
        type: struct curl_httppost
      - name: '*resolve'
        type: struct curl_slist
      - name: '*connect_to'
        type: struct curl_slist
      - name: timevalue
        type: time_t
      - name: ssl
        type: struct ssl_config_data
      - name: general_ssl
        type: struct ssl_general_config
      - name: dns_cache_timeout_ms
        type: timediff_t
      - name: buffer_size
        type: unsigned int
      - name: upload_buffer_size
        type: unsigned int
      - name: '*private_data'
        type: void
      - name: max_filesize
        type: curl_off_t
      - name: new_file_perms
        type: unsigned int
      - name: '*str[STRING_LAST]'
        type: char
      - name: '*blobs[BLOB_LAST]'
        type: struct curl_blob
      - name: allowed_protocols
        type: curl_prot_t
      - name: redir_protocols
        type: curl_prot_t
      - name: timeout
        type: timediff_t
      - name: connecttimeout
        type: timediff_t
      - name: happy_eyeballs_timeout
        type: timediff_t
      - name: server_response_timeout
        type: timediff_t
      - name: shutdowntimeout
        type: timediff_t
      - name: tcp_keepidle
        type: int
      - name: tcp_keepintvl
        type: int
      - name: tcp_keepcnt
        type: int
      - name: resolver_start
        type: curl_resolver_start_callback
      - name: '*resolver_start_client'
        type: void
      - name: upkeep_interval_ms
        type: long
      - name: '*uh'
        type: CURLU
      - name: maxconnects
        type: unsigned int
      - name: maxredirs
        type: short
      - name: expect_100_timeout
        type: unsigned short
      - name: use_port
        type: unsigned short
      - name: use_ssl
        type: unsigned char
      - name: keep_post
        type: char
      - name: timecondition
        type: unsigned char
      - name: method
        type: unsigned char
      - name: httpwant
        type: unsigned char
      - name: ipver
        type: unsigned char
      - name: upload_flags
        type: unsigned char
      - name: http_follow_mode
        type: unsigned char
      item_type: struct
      name: UserDefined
      pos:
        line_end: 1614
        line_start: 1313
        source_file: /src/PROJ/curl/lib/urldata.h
    - fields:
      - name: magic
        type: unsigned int
      - name: id
        type: curl_off_t
      - name: mid
        type: unsigned int
      - name: master_mid
        type: unsigned int
      - name: '*sub_xfer_done'
        type: multi_sub_xfer_done_cb
      - name: '*conn'
        type: struct connectdata
      - name: mstate
        type: CURLMstate
      - name: result
        type: CURLcode
      - name: msg
        type: struct Curl_message
      - name: '*multi'
        type: struct Curl_multi
      - name: '*multi_easy'
        type: struct Curl_multi
      - name: '*share'
        type: struct Curl_share
      - name: meta_hash
        type: struct Curl_hash
      - name: req
        type: struct SingleRequest
      - name: set
        type: struct UserDefined
      - name: progress
        type: struct Progress
      - name: state
        type: struct UrlState
      - name: info
        type: struct PureInfo
      - name: tsi
        type: struct curl_tlssessioninfo
      item_type: struct
      name: Curl_easy
      pos:
        line_end: 1703
        line_start: 1638
        source_file: /src/PROJ/curl/lib/urldata.h
    typedefs:
    - item_type: typedef
      name: curl_prot_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/PROJ/curl/lib/urldata.h
      type: curl_off_t
    - item_type: typedef
      name: curl_prot_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/PROJ/curl/lib/urldata.h
      type: unsigned int
    - item_type: typedef
      name: "(Curl_send)(struct Curl_easy *data,   /* transfer */\n                             int
        sockindex,            /* socketindex */\n                             const
        void *buf,          /* data to write */\n                             size_t
        len,               /* amount to send */\n                             bool
        eos,                 /* last chunk */\n                             size_t
        *pnwritten)"
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/PROJ/curl/lib/urldata.h
      type: CURLcode
    - item_type: typedef
      name: "(Curl_recv)(struct Curl_easy *data,   /* transfer */\n                             int
        sockindex,            /* socketindex */\n                             char
        *buf,                /* store data here */\n                             size_t
        len,               /* max amount to read */\n                             size_t
        *pnread)"
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/PROJ/curl/lib/urldata.h
      type: CURLcode
    - item_type: typedef
      name: "multi_sub_xfer_done_cb(struct Curl_easy *master_easy,\n                                    struct
        Curl_easy *sub_easy,\n                                    CURLcode result)"
      pos:
        line_end: 1626
        line_start: 1624
        source_file: /src/PROJ/curl/lib/urldata.h
      type: void
    union: []
- function_names:
  - ISLOWHEXALHA
  - ISUPHEXALHA
  - ISLOWCNTRL
  - IS7F
  - ISLOWPRINT
  - ISPRINT
  - ISGRAPH
  - ISCNTRL
  - ISALPHA
  - ISXDIGIT
  - ISODIGIT
  - ISALNUM
  - ISUPPER
  - ISLOWER
  - ISDIGIT
  - ISBLANK
  - ISSPACE
  - ISURLPUNTCS
  - ISUNRESERVED
  - ISNEWLINE
  source_file: /src/PROJ/curl/lib/curl_ctype.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VERIFYNODE
  - verifynode
  - VERIFYNODE
  - Curl_llist_init
  - Curl_llist_insert_next
  - Curl_llist_append
  - Curl_node_take_elem
  - Curl_node_uremove
  - Curl_node_remove
  - Curl_llist_destroy
  - Curl_llist_head
  - Curl_llist_tail
  - Curl_llist_count
  - Curl_node_elem
  - Curl_node_next
  - Curl_node_prev
  - Curl_node_llist
  source_file: /src/PROJ/curl/lib/llist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LLISTINIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/llist.c
      type_or_value: '0x100cc001 '
    - item_type: preproc_def
      name: NODEINIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/llist.c
      type_or_value: '0x12344321 '
    - item_type: preproc_def
      name: NODEREM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/llist.c
      type_or_value: '0x54321012 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_CONC_MACROS_
  - CURL_CONC_MACROS
  - CURL_PRINTF
  - CURL_PRINTF
  - select
  - select
  - lseek
  - fstat
  - lseek
  - fstat
  - lseek
  - CURL_UINT64_C
  - select
  - ioctl
  - FALLTHROUGH
  - FALLTHROUGH
  - raise
  - CURL_SETERRNO
  - strerror
  - CURL_SETERRNO
  - S_ISREG
  - S_ISDIR
  - CURLMAX
  - CURLMIN
  - STRCONST
  - CURL_ARRAYSIZE
  - Curl_safefree
  - ALLOC_SIZE
  - ALLOC_SIZE2
  - ALLOC_SIZE
  - ALLOC_SIZE2
  - sclose
  - fake_sclose
  - CURL_GETADDRINFO
  - CURL_FREEADDRINFO
  - CURL_SOCKET
  - CURL_SOCKETPAIR
  - CURL_ACCEPT
  - CURL_ACCEPT4
  - CURL_SEND
  - CURL_RECV
  - sclose
  - fake_sclose
  source_file: /src/PROJ/curl/lib/curl_setup.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: availability
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: curl_pp_attribute_disabled
    - item_type: preproc_def
      name: availability
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: curl_pp_attribute_disabled
    - item_type: preproc_def
      name: TARGET_OS_OSX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: TARGET_OS_MAC
    - item_type: preproc_def
      name: USE_IPV6
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_ALTSVC
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_COOKIES
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_BASIC_AUTH
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_BEARER_AUTH
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_AWS
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_DOH
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_FORM_API
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_HEADERS_API
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_HSTS
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_HTTP_AUTH
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_TEMP_PRINTF
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: CURL_PRINTF
    - item_type: preproc_def
      name: __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
      pos:
        line_end: 379
        line_start: 377
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
    - item_type: preproc_def
      name: USE_RESOLVE_ON_IPS
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_MACOS_CALL_COPYPROXIES
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: struct_stat
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: struct _stati64
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: (__int64)-1
    - item_type: preproc_def
      name: struct_stat
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: struct _stat
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: (long)-1
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: (offset_t)-1
    - item_type: preproc_def
      name: struct_stat
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: struct stat
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: (off_t)-1
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_SOCKET_T
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_CURL_SOCKET_T
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FMT_SOCKET_T
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: FMT_SOCKET_T
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"zd"'
    - item_type: preproc_def
      name: FMT_SOCKET_T
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"qd"'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_OFF_T_MAX
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0x7FFFFFFFFFFFFFFF'
    - item_type: preproc_def
      name: CURL_OFF_T_MIN
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: (-CURL_OFF_T_MAX - 1)
    - item_type: preproc_def
      name: CURL_UINT64_SUFFIX
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: CURL_SUFFIX_CURL_OFF_TU
    - item_type: preproc_def
      name: FMT_PRId64
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_T
    - item_type: preproc_def
      name: FMT_PRIu64
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_TU
    - item_type: preproc_def
      name: FMT_OFF_T
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_T
    - item_type: preproc_def
      name: FMT_OFF_TU
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_TU
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: UINT_MAX
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: INT_MIN
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0xFFFFFFFFFFFFFFFF'
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0x7FFFFFFFFFFFFFFF'
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: (-TIME_T_MAX - 1)
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: 18446744073709551615U
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: 4294967295U
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '9223372036854775807'
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '2147483647'
    - item_type: preproc_def
      name: GETHOSTNAME_TYPE_ARG2
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: int
    - item_type: preproc_def
      name: GETHOSTNAME_TYPE_ARG2
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: size_t
    - item_type: preproc_def
      name: DIR_CHAR
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: DIR_CHAR
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"/"'
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: CURL_NORETURN
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: CURL_NORETURN
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: getenv
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: 'curl_getenv  '
    - item_type: preproc_def
      name: errno
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EINTR
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAGAIN
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '11'
    - item_type: preproc_def
      name: ENOMEM
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EACCES
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EEXIST
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '17'
    - item_type: preproc_def
      name: EISDIR
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '21'
    - item_type: preproc_def
      name: EINVAL
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '22'
    - item_type: preproc_def
      name: ENOSPC
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '28'
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Curl_nop_stmt
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: do { } while(0)
    - item_type: preproc_def
      name: SHUT_RD
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SHUT_WR
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SHUT_RDWR
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: fileno(stdin)
    - item_type: preproc_def
      name: STDOUT_FILENO
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: fileno(stdout)
    - item_type: preproc_def
      name: STDERR_FILENO
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: fileno(stderr)
    - item_type: preproc_def
      name: CURL_O_BINARY
      pos:
        line_end: 900
        line_start: 899
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: O_BINARY
    - item_type: preproc_def
      name: CURL_O_BINARY
      pos:
        line_end: 902
        line_start: 901
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FOPEN_READTEXT
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"rt"'
    - item_type: preproc_def
      name: FOPEN_WRITETEXT
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"wt"'
    - item_type: preproc_def
      name: FOPEN_APPENDTEXT
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"at"'
    - item_type: preproc_def
      name: FOPEN_READTEXT
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"rt"'
    - item_type: preproc_def
      name: FOPEN_WRITETEXT
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"w"'
    - item_type: preproc_def
      name: FOPEN_APPENDTEXT
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: FOPEN_READTEXT
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"r"'
    - item_type: preproc_def
      name: FOPEN_WRITETEXT
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"w"'
    - item_type: preproc_def
      name: FOPEN_APPENDTEXT
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: ADDRESS_FAMILY
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: sa_family_t
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: unsigned char
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 938
        line_start: 937
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: STRERROR_LEN
      pos:
        line_end: 956
        line_start: 955
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '256'
    - item_type: preproc_def
      name: ALLOC_FUNC
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: ALLOC_FUNC
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: ALLOC_FUNC
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __declspec(restrict)
    - item_type: preproc_def
      name: CURL_GETADDRINFO
      pos:
        line_end: 1103
        line_start: 1102
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: getaddrinfo
    - item_type: preproc_def
      name: CURL_FREEADDRINFO
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: freeaddrinfo
    - item_type: preproc_def
      name: CURL_SOCKET
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: socket
    - item_type: preproc_def
      name: CURL_SOCKETPAIR
      pos:
        line_end: 1107
        line_start: 1106
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: socketpair
    - item_type: preproc_def
      name: CURL_ACCEPT
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: accept
    - item_type: preproc_def
      name: CURL_ACCEPT4
      pos:
        line_end: 1111
        line_start: 1110
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: accept4
    - item_type: preproc_def
      name: CURL_SEND
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: send
    - item_type: preproc_def
      name: CURL_RECV
      pos:
        line_end: 1114
        line_start: 1113
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: recv
    - item_type: preproc_def
      name: UNITTEST
      pos:
        line_end: 1129
        line_start: 1128
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: static
    - item_type: preproc_def
      name: UNIX_PATH_MAX
      pos:
        line_end: 1163
        line_start: 1162
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: '108'
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1188
        line_start: 1187
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: 'inline '
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1192
        line_start: 1191
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: 'inline '
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: 'inline '
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __inline__
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1200
        line_start: 1199
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type_or_value: __inline
    structs:
    - fields:
      - name: sun_family
        type: CURL_SA_FAMILY_T
      - name: sun_path[UNIX_PATH_MAX]
        type: char
      item_type: struct
      name: sockaddr_un
      pos:
        line_end: 1167
        line_start: 1164
        source_file: /src/PROJ/curl/lib/curl_setup.h
    typedefs:
    - item_type: typedef
      name: curl_uint64_t
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: unsigned CURL_TYPEOF_CURL_OFF_T
    - item_type: typedef
      name: curl_int64_t
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: CURL_TYPEOF_CURL_OFF_T
    - item_type: typedef
      name: '*(*curl_malloc_callback)(size_t size)'
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: void
    - item_type: typedef
      name: (*curl_free_callback)(void *ptr)
      pos:
        line_end: 965
        line_start: 965
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: void
    - item_type: typedef
      name: '*(*curl_realloc_callback)(void *ptr, size_t size)'
      pos:
        line_end: 966
        line_start: 966
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: void
    - item_type: typedef
      name: '*(*curl_strdup_callback)(const char *str)'
      pos:
        line_end: 967
        line_start: 967
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: char
    - item_type: typedef
      name: '*(*curl_calloc_callback)(size_t nmemb, size_t size)'
      pos:
        line_end: 968
        line_start: 968
        source_file: /src/PROJ/curl/lib/curl_setup.h
      type: void
    union: []
- function_names:
  - Curl_freeaddrinfo
  - Curl_getaddrinfo_ex
  - Curl_he2ai
  - Curl_ip2addr
  - Curl_str2addr
  - Curl_unix2addr
  - curl_dbg_freeaddrinfo
  - curl_dbg_getaddrinfo
  - Curl_addrinfo_set_port
  source_file: /src/PROJ/curl/lib/curl_addrinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: vqualifier
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/curl_addrinfo.c
      type_or_value: volatile
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_TRC_M_is_verbose
  - CURL_TRC_DNS_is_verbose
  - CURL_TRC_TIMER_is_verbose
  - infof
  - CURL_TRC_M
  - CURL_TRC_CF
  - CURL_TRC_WRITE
  - CURL_TRC_READ
  - CURL_TRC_DNS
  - CURL_TRC_TIMER
  - CURL_TRC_FTP
  - CURL_TRC_SMTP
  - CURL_TRC_SSLS
  - CURL_TRC_WS
  - Curl_trc_is_verbose
  - Curl_trc_cf_is_verbose
  - Curl_trc_ft_is_verbose
  - CURL_MSTATE_NAME
  - CURL_TRC_EASY_TIMERS
  - Curl_trc_is_verbose
  - Curl_trc_cf_is_verbose
  - Curl_trc_ft_is_verbose
  - CURL_MSTATE_NAME
  - CURL_TRC_EASY_TIMERS
  source_file: /src/PROJ/curl/lib/curl_trc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: failf
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_failf
    - item_type: preproc_def
      name: CURL_LOG_LVL_NONE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_LOG_LVL_INFO
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: infof
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_infof
    - item_type: preproc_def
      name: CURL_TRC_M
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_multi
    - item_type: preproc_def
      name: CURL_TRC_CF
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_cf_infof
    - item_type: preproc_def
      name: CURL_TRC_WRITE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_write
    - item_type: preproc_def
      name: CURL_TRC_READ
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_read
    - item_type: preproc_def
      name: CURL_TRC_DNS
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_dns
    - item_type: preproc_def
      name: CURL_TRC_TIMER
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_timer
    - item_type: preproc_def
      name: CURL_TRC_FTP
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_ftp
    - item_type: preproc_def
      name: CURL_TRC_SMTP
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_smtp
    - item_type: preproc_def
      name: CURL_TRC_SSLS
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_ssls
    - item_type: preproc_def
      name: CURL_TRC_WS
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/curl/lib/curl_trc.h
      type_or_value: Curl_trc_ws
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: log_level
        type: int
      item_type: struct
      name: curl_trc_feat
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/PROJ/curl/lib/curl_trc.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cf-h1-proxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_headersep
  source_file: /src/PROJ/curl/lib/transfer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/config-os400.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '"OS/400"'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ALARM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPEERNAME
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETSOCKNAME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG_LONG
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '8'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_CA_BUNDLE
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/curl/lib/config-os400.h
      type_or_value: '"/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_rand
  - Curl_rand
  source_file: /src/PROJ/curl/lib/rand.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GetEnv
  - curl_getenv
  source_file: /src/PROJ/curl/lib/getenv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/strerror.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_win32_init
  - CURL_TEXT
  - CURL_TEXT
  - Curl_win32_cleanup
  - curl_load_library
  source_file: /src/PROJ/curl/lib/system_win32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOAD_WITH_ALTERED_SEARCH_PATH
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/PROJ/curl/lib/system_win32.c
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: LOAD_LIBRARY_SEARCH_SYSTEM32
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/PROJ/curl/lib/system_win32.c
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: LOADLIBARYEX
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/curl/lib/system_win32.c
      type_or_value: L"LoadLibraryExW"
    - item_type: preproc_def
      name: LOADLIBARYEX
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/curl/lib/system_win32.c
      type_or_value: '"LoadLibraryExW"'
    - item_type: preproc_def
      name: LOADLIBARYEX
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/curl/lib/system_win32.c
      type_or_value: '"LoadLibraryExA"'
    structs: []
    typedefs:
    - item_type: typedef
      name: (APIENTRY *LOADLIBRARYEX_FN)(LPCTSTR, HANDLE, DWORD)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/PROJ/curl/lib/system_win32.c
      type: HMODULE
    union: []
- function_names:
  - Curl_uint_tbl_init
  - uint_tbl_clear_rows
  - Curl_uint_tbl_resize
  - Curl_uint_tbl_destroy
  - Curl_uint_tbl_clear
  - Curl_uint_tbl_capacity
  - Curl_uint_tbl_count
  - Curl_uint_tbl_get
  - Curl_uint_tbl_add
  - Curl_uint_tbl_remove
  - Curl_uint_tbl_contains
  - uint_tbl_next_at
  - Curl_uint_tbl_first
  - Curl_uint_tbl_next
  source_file: /src/PROJ/curl/lib/uint-table.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_TBL_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/uint-table.c
      type_or_value: '0x62757473'
    structs: []
    typedefs: []
    union: []
- function_names:
  - lookup
  - curl_easy_option_by_name
  - curl_easy_option_by_id
  - curl_easy_option_next
  - curl_easy_option_by_name
  - curl_easy_option_by_id
  - curl_easy_option_next
  source_file: /src/PROJ/curl/lib/easygetopt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_checkheaders
  - data_pending
  - Curl_meets_timecondition
  - xfer_recv_shutdown
  - xfer_recv_shutdown_started
  - Curl_xfer_send_shutdown
  - xfer_recv_resp
  - sendrecv_dl
  - sendrecv_ul
  - Curl_sendrecv
  - Curl_init_CONNECT
  - Curl_pretransfer
  - Curl_retry_request
  - xfer_setup
  - Curl_xfer_setup_nop
  - Curl_xfer_setup_sendrecv
  - Curl_xfer_setup_send
  - Curl_xfer_setup_recv
  - Curl_xfer_set_shutdown
  - Curl_xfer_write_resp
  - Curl_xfer_write_is_paused
  - Curl_xfer_write_resp_hd
  - Curl_xfer_write_done
  - Curl_xfer_needs_flush
  - Curl_xfer_flush
  - Curl_xfer_send
  - Curl_xfer_recv
  - Curl_xfer_send_close
  - Curl_xfer_is_blocked
  - Curl_xfer_send_is_paused
  - Curl_xfer_recv_is_paused
  - Curl_xfer_pause_send
  - Curl_xfer_pause_recv
  - Curl_xfer_is_too_fast
  source_file: /src/PROJ/curl/lib/transfer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONN_MAX_RETRIES
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/PROJ/curl/lib/transfer.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - entry_new
  - entry_append
  - entry_free
  - Curl_dynhds_init
  - Curl_dynhds_free
  - Curl_dynhds_reset
  - Curl_dynhds_count
  - Curl_dynhds_set_opts
  - Curl_dynhds_getn
  - Curl_dynhds_get
  - Curl_dynhds_cget
  - Curl_dynhds_add
  - Curl_dynhds_cadd
  - Curl_dynhds_h1_add_line
  - Curl_dynhds_h1_cadd_line
  - Curl_dynhds_contains
  - Curl_dynhds_ccontains
  - Curl_dynhds_count_name
  - Curl_dynhds_ccount_name
  - Curl_dynhds_set
  - Curl_dynhds_remove
  - Curl_dynhds_cremove
  - Curl_dynhds_h1_dprint
  - Curl_dynhds_to_nva
  source_file: /src/PROJ/curl/lib/dynhds.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/uint-hash.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**table'
        type: struct uint_hash_entry
      - name: '*dtor'
        type: Curl_uint_hash_dtor
      - name: slots
        type: unsigned int
      - name: size
        type: unsigned int
      item_type: struct
      name: uint_hash
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/PROJ/curl/lib/uint-hash.h
    typedefs:
    - item_type: typedef
      name: Curl_uint_hash_dtor(unsigned int id, void *value)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/PROJ/curl/lib/uint-hash.h
      type: void
    - item_type: typedef
      name: "Curl_uint_hash_visit_cb(unsigned int id, void *value,\n                                     void
        *user_data)"
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/uint-hash.h
      type: bool
    union: []
- function_names:
  - OUTCHAR
  - dollarstring
  - is_arg_used
  - mark_arg_used
  - parsefmt
  - out_double
  - out_number
  - out_string
  - out_pointer
  - formatf
  - addbyter
  - curl_mvsnprintf
  - curl_msnprintf
  - alloc_addbyter
  - curlx_dyn_vprintf
  - curl_mvaprintf
  - curl_maprintf
  - storebuffer
  - curl_msprintf
  - fputc_wrapper
  - curl_mprintf
  - curl_mfprintf
  - curl_mvsprintf
  - curl_mvprintf
  - curl_mvfprintf
  source_file: /src/PROJ/curl/lib/mprintf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LONG_LONG_TYPE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: long long
    - item_type: preproc_def
      name: LONG_LONG_TYPE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: __int64
    - item_type: preproc_def
      name: mp_intmax_t
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: LONG_LONG_TYPE
    - item_type: preproc_def
      name: mp_uintmax_t
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: unsigned LONG_LONG_TYPE
    - item_type: preproc_def
      name: mp_intmax_t
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: long
    - item_type: preproc_def
      name: mp_uintmax_t
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: unsigned long
    - item_type: preproc_def
      name: BUFFSIZE
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '326 '
    - item_type: preproc_def
      name: MAX_PARAMETERS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: MAX_SEGMENTS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: PFMT_OK
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PFMT_DOLLAR
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: PFMT_DOLLARWIDTH
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: PFMT_DOLLARPREC
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: PFMT_MANYARGS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: PFMT_PREC
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: PFMT_PRECMIX
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: PFMT_WIDTH
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: PFMT_INPUTGAP
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: PFMT_WIDTHARG
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '9 '
    - item_type: preproc_def
      name: PFMT_PRECARG
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: PFMT_MANYSEGS
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/curl/lib/mprintf.c
      type_or_value: '11 '
    structs:
    - fields:
      - name: type
        type: FormatType
      - name: val
        type: "union {\n    const char *str;\n    void *ptr;\n    mp_intmax_t nums;
          /* signed */\n    mp_uintmax_t numu; /* unsigned */\n    double dnum;\n
          \ }"
      item_type: struct
      name: va_input
      pos:
        line_end: 138
        line_start: 129
        source_file: /src/PROJ/curl/lib/mprintf.c
    - fields:
      - name: width
        type: int
      - name: precision
        type: int
      - name: flags
        type: unsigned int
      - name: input
        type: unsigned int
      - name: '*start'
        type: char
      - name: outlen
        type: size_t
      item_type: struct
      name: outsegment
      pos:
        line_end: 150
        line_start: 143
        source_file: /src/PROJ/curl/lib/mprintf.c
    - fields:
      - name: '*buffer'
        type: char
      - name: length
        type: size_t
      - name: max
        type: size_t
      item_type: struct
      name: nsprintf
      pos:
        line_end: 156
        line_start: 152
        source_file: /src/PROJ/curl/lib/mprintf.c
    - fields:
      - name: '*b'
        type: struct dynbuf
      - name: merr
        type: char
      item_type: struct
      name: asprintf
      pos:
        line_end: 161
        line_start: 158
        source_file: /src/PROJ/curl/lib/mprintf.c
    - fields:
      - name: width
        type: int
      - name: prec
        type: int
      - name: flags
        type: unsigned int
      item_type: struct
      name: mproperty
      pos:
        line_end: 625
        line_start: 621
        source_file: /src/PROJ/curl/lib/mprintf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/pop3.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setopt_set_timeout_sec
  - setopt_set_timeout_ms
  - Curl_setstropt
  - Curl_setblobopt
  - setstropt_userpwd
  - setstropt_interface
  - C_SSLVERSION_VALUE
  - C_SSLVERSION_MAX_VALUE
  - protocol2num
  - httpauth
  - setopt_HTTP_VERSION
  - Curl_setopt_SSLVERSION
  - setopt_RTSP_REQUEST
  - set_ssl_options
  - setopt_bool
  - value_range
  - setopt_long
  - setopt_slist
  - setopt_pointers
  - cookielist
  - cookiefile
  - setopt_cptr
  - setopt_func
  - setopt_offt
  - setopt_blob
  - Curl_vsetopt
  - curl_easy_setopt
  source_file: /src/PROJ/curl/lib/setopt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HMAC_SHA256
  - sha256_to_hex
  - find_date_hdr
  - trim_headers
  - compare_header_names
  - merge_duplicate_headers
  - make_headers
  - parse_content_sha_hdr
  - calc_payload_hash
  - calc_s3_payload_hash
  - compare_func
  - canon_path
  - canon_query
  - Curl_output_aws_sigv4
  - pair_array_free
  - dyn_array_free
  - split_to_dyn_array
  - is_reserved_char
  - uri_encode_path
  - encode_query_component
  - http_aws_decode_encode
  - should_urlencode
  source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIMESTAMP_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: '17'
    - item_type: preproc_def
      name: SHA256_HEX_LENGTH
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: (2 * CURL_SHA256_DIGEST_LENGTH + 1)
    - item_type: preproc_def
      name: MAX_QUERY_COMPONENTS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_SIGV4_LEN
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: '64'
    - item_type: preproc_def
      name: DATE_HDR_KEY_LEN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: (MAX_SIGV4_LEN + sizeof("X--Date"))
    - item_type: preproc_def
      name: DATE_FULL_HDR_LEN
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: (DATE_HDR_KEY_LEN + TIMESTAMP_SIZE + 1)
    - item_type: preproc_def
      name: CONTENT_SHA256_KEY_LEN
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: (MAX_SIGV4_LEN + sizeof("X--Content-Sha256"))
    - item_type: preproc_def
      name: CONTENT_SHA256_HDR_LEN
      pos:
        line_end: 409
        line_start: 407
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: "(CONTENT_SHA256_KEY_LEN + 2 + \\\n                                SHA256_HEX_LENGTH)"
    - item_type: preproc_def
      name: S3_UNSIGNED_PAYLOAD
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: '"UNSIGNED-PAYLOAD"'
    - item_type: preproc_def
      name: SPLIT_BY
      pos:
        line_end: 1019
        line_start: 1018
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
      type_or_value: '''&'''
    structs:
    - fields:
      - name: key
        type: struct dynbuf
      - name: value
        type: struct dynbuf
      item_type: struct
      name: pair
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/PROJ/curl/lib/http_aws_sigv4.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_HTTP_V1x
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: CURL_HTTP_V2x
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: CURL_HTTP_V3x
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: CURLAUTH_PICKNONE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '(1<<30) '
    - item_type: preproc_def
      name: MAX_INITIAL_POST_SIZE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: EXPECT_100_THRESHOLD
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: (1024*1024)
    - item_type: preproc_def
      name: MAX_HTTP_RESP_HEADER_SIZE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: (300*1024)
    - item_type: preproc_def
      name: MAX_HTTP_RESP_HEADER_COUNT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '5000'
    - item_type: preproc_def
      name: HTTP_PSEUDO_METHOD
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '":method"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_SCHEME
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '":scheme"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_AUTHORITY
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '":authority"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_PATH
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '":path"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_STATUS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/PROJ/curl/lib/http.h
      type_or_value: '":status"'
    structs:
    - fields:
      - name: rcvd_min
        type: unsigned char
      - name: wanted
        type: http_majors
      - name: allowed
        type: http_majors
      item_type: struct
      name: http_negotiation
      pos:
        line_end: 80
        line_start: 72
        source_file: /src/PROJ/curl/lib/http.h
    - fields:
      - name: headers
        type: struct dynhds
      - name: trailers
        type: struct dynhds
      - name: '*scheme'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: method[1]
        type: char
      item_type: struct
      name: httpreq
      pos:
        line_end: 226
        line_start: 219
        source_file: /src/PROJ/curl/lib/http.h
    - fields:
      - name: status
        type: int
      - name: '*description'
        type: char
      - name: headers
        type: struct dynhds
      - name: trailers
        type: struct dynhds
      - name: '*prev'
        type: struct http_resp
      item_type: struct
      name: http_resp
      pos:
        line_end: 276
        line_start: 270
        source_file: /src/PROJ/curl/lib/http.h
    typedefs:
    - item_type: typedef
      name: http_majors
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/PROJ/curl/lib/http.h
      type: unsigned char
    union: []
- function_names:
  - Curl_doh
  - Curl_doh_is_resolved
  source_file: /src/PROJ/curl/lib/doh.h
  types:
    enum:
    - enumerators:
      - name: DOH_SLOT_IPV4
        value: '0'
      - name: DOH_SLOT_COUNT
      - name: DOH_SLOT_HTTPS_RR
        value: '2'
      - name: DOH_SLOT_IPV6
        value: '1'
      item_type: enum
      name: doh_slot_num
      pos:
        line_end: 80
        line_start: 61
        source_file: /src/PROJ/curl/lib/doh.h
    preproc_defs:
    - item_type: preproc_def
      name: CURL_EZM_DOH_PROBE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: '"ezm:doh-p"'
    - item_type: preproc_def
      name: DOH_MAX_DNSREQ_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: (256 + 16)
    - item_type: preproc_def
      name: DOH_MAX_ADDR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: '24'
    - item_type: preproc_def
      name: DOH_MAX_CNAME
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DOH_MAX_HTTPS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: '4'
    - item_type: preproc_def
      name: COMMA_CHAR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: ''','''
    - item_type: preproc_def
      name: BACKSLASH_CHAR
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/PROJ/curl/lib/doh.h
      type_or_value: '''\\'''
    structs:
    - fields:
      - name: req_body[DOH_MAX_DNSREQ_SIZE]
        type: unsigned char
      - name: '*req_hds'
        type: struct curl_slist
      - name: resp_body
        type: struct dynbuf
      - name: req_body_len
        type: size_t
      - name: dnstype
        type: DNStype
      item_type: struct
      name: doh_request
      pos:
        line_end: 95
        line_start: 89
        source_file: /src/PROJ/curl/lib/doh.h
    - fields:
      - name: probe_mid
        type: unsigned int
      - name: body
        type: struct dynbuf
      - name: dnstype
        type: DNStype
      - name: result
        type: CURLcode
      item_type: struct
      name: doh_response
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/PROJ/curl/lib/doh.h
    - fields:
      - name: probe_resp[DOH_SLOT_COUNT]
        type: struct doh_response
      - name: pending
        type: unsigned int
      - name: port
        type: int
      - name: '*host'
        type: char
      item_type: struct
      name: doh_probes
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/PROJ/curl/lib/doh.h
    - fields:
      - name: type
        type: int
      - name: ip
        type: "union {\n    unsigned char v4[4]; /* network byte order */\n    unsigned
          char v6[16];\n  }"
      item_type: struct
      name: dohaddr
      pos:
        line_end: 137
        line_start: 131
        source_file: /src/PROJ/curl/lib/doh.h
    - fields:
      - name: len
        type: uint16_t
      - name: '*val'
        type: unsigned char
      item_type: struct
      name: dohhttps_rr
      pos:
        line_end: 151
        line_start: 148
        source_file: /src/PROJ/curl/lib/doh.h
    - fields:
      - name: cname[DOH_MAX_CNAME]
        type: struct dynbuf
      - name: addr[DOH_MAX_ADDR]
        type: struct dohaddr
      - name: numaddr
        type: int
      - name: ttl
        type: unsigned int
      - name: numcname
        type: int
      item_type: struct
      name: dohentry
      pos:
        line_end: 164
        line_start: 154
        source_file: /src/PROJ/curl/lib/doh.h
    typedefs: []
    union: []
- function_names:
  - global_init_lock
  - global_init_unlock
  - global_init
  - curl_global_init
  - curl_global_init_mem
  - curl_global_cleanup
  - curl_global_trace
  - curl_global_sslset
  - curl_easy_init
  - events_timer
  - poll2cselect
  - socketcb2poll
  - events_socket
  - events_setup
  - populate_fds
  - poll_fds
  - wait_or_timeout
  - easy_events
  - easy_events
  - easy_transfer
  - easy_perform
  - curl_easy_perform
  - curl_easy_perform_ev
  - curl_easy_cleanup
  - curl_easy_getinfo
  - dupset
  - dupeasy_meta_freeentry
  - curl_easy_duphandle
  - curl_easy_reset
  - curl_easy_pause
  - easy_connection
  - curl_easy_recv
  - Curl_connect_only_attach
  - Curl_senddata
  - curl_easy_send
  - curl_easy_upkeep
  - curl_easy_ssls_import
  - curl_easy_ssls_export
  - Curl_meta_set
  - Curl_meta_remove
  - Curl_meta_get
  - Curl_meta_reset
  source_file: /src/PROJ/curl/lib/easy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: system_strdup
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/lib/easy.c
      type_or_value: _strdup
    - item_type: preproc_def
      name: system_strdup
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/easy.c
      type_or_value: Curl_strdup
    - item_type: preproc_def
      name: system_strdup
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/lib/easy.c
      type_or_value: strdup
    - item_type: preproc_def
      name: DEBUG_EV_POLL
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/PROJ/curl/lib/easy.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*next'
        type: struct socketmonitor
      - name: socket
        type: struct pollfd
      item_type: struct
      name: socketmonitor
      pos:
        line_end: 384
        line_start: 381
        source_file: /src/PROJ/curl/lib/easy.c
    - fields:
      - name: ms
        type: long
      - name: msbump
        type: bool
      - name: num_sockets
        type: int
      - name: '*list'
        type: struct socketmonitor
      - name: running_handles
        type: int
      item_type: struct
      name: events
      pos:
        line_end: 392
        line_start: 386
        source_file: /src/PROJ/curl/lib/easy.c
    typedefs: []
    union: []
- function_names:
  - Curl_memrchr
  source_file: /src/PROJ/curl/lib/curl_memrchr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_input_ntlm
  - Curl_output_ntlm
  source_file: /src/PROJ/curl/lib/http_ntlm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strdup
  - malloc
  - calloc
  - realloc
  - free
  - Curl_tcsdup
  - Curl_tcsdup
  source_file: /src/PROJ/curl/lib/memdebug.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/imap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMAP_TYPE_CLEARTEXT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/imap.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: IMAP_TYPE_SASL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/imap.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: IMAP_TYPE_NONE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/imap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IMAP_TYPE_ANY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/imap.h
      type_or_value: (IMAP_TYPE_CLEARTEXT|IMAP_TYPE_SASL)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/config-riscos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: '"ARM-RISC OS"'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: size_t
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/curl/lib/config-riscos.h
      type_or_value: ssize_t
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/rename.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/parsedate.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/hash.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct Curl_hash_element
      - name: '*ptr'
        type: void
      - name: dtor
        type: Curl_hash_elem_dtor
      - name: key_len
        type: size_t
      - name: key[1]
        type: char
      item_type: struct
      name: Curl_hash_element
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/PROJ/curl/lib/hash.h
    - fields:
      - name: '**table'
        type: struct Curl_hash_element
      - name: hash_func
        type: hash_function
      - name: comp_func
        type: comp_function
      - name: dtor
        type: Curl_hash_dtor
      - name: slots
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: Curl_hash
      pos:
        line_end: 71
        line_start: 57
        source_file: /src/PROJ/curl/lib/hash.h
    - fields:
      - name: '*hash'
        type: struct Curl_hash
      - name: slot_index
        type: size_t
      - name: '*current'
        type: struct Curl_hash_element
      item_type: struct
      name: Curl_hash_iterator
      pos:
        line_end: 80
        line_start: 73
        source_file: /src/PROJ/curl/lib/hash.h
    typedefs:
    - item_type: typedef
      name: "(*hash_function) (void *key,\n                                 size_t
        key_length,\n                                 size_t slots_num)"
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/PROJ/curl/lib/hash.h
      type: size_t
    - item_type: typedef
      name: "(*comp_function) (void *key1,\n                                 size_t
        key1_len,\n                                 void *key2,\n                                 size_t
        key2_len)"
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/PROJ/curl/lib/hash.h
      type: size_t
    - item_type: typedef
      name: (*Curl_hash_dtor)(void *)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/PROJ/curl/lib/hash.h
      type: void
    - item_type: typedef
      name: (*Curl_hash_elem_dtor)(void *key, size_t key_len, void *p)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/PROJ/curl/lib/hash.h
      type: void
    union: []
- function_names:
  - doh_strerror
  - doh_req_encode
  - doh_probe_write_cb
  - doh_print_buf
  - doh_probe_done
  - doh_probe_dtor
  - ERROR_CHECK_SETOPT
  - doh_probe_run
  - Curl_doh
  - doh_skipqname
  - doh_get16bit
  - doh_get32bit
  - doh_store_a
  - doh_store_aaaa
  - doh_store_https
  - doh_store_cname
  - doh_rdata
  - de_init
  - doh_resp_decode
  - doh_show
  - doh2ai
  - doh_type2name
  - de_cleanup
  - doh_decode_rdata_name
  - doh_resp_decode_httpsrr
  - doh_print_httpsrr
  - Curl_doh_is_resolved
  - Curl_doh_close
  - Curl_doh_cleanup
  source_file: /src/PROJ/curl/lib/doh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CLASS_IN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/doh.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LOCAL_PB_HEXMAX
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/curl/lib/doh.c
      type_or_value: '400'
    structs: []
    typedefs: []
    union: []
- function_names:
  - checkday
  - checkmonth
  - checktz
  - skip
  - time2epoch
  - oneortwodigit
  - match_time
  - parsedate
  - parsedate
  - curl_getdate
  - Curl_getdate_capped
  - Curl_gmtime
  source_file: /src/PROJ/curl/lib/parsedate.c
  types:
    enum:
    - enumerators:
      - name: DATE_MDAY
      - name: DATE_TIME
      - name: DATE_YEAR
      item_type: enum
      name: assume
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/PROJ/curl/lib/parsedate.c
    preproc_defs:
    - item_type: preproc_def
      name: PARSEDATE_OK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/lib/parsedate.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PARSEDATE_FAIL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/lib/parsedate.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: PARSEDATE_LATER
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/parsedate.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PARSEDATE_SOONER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/lib/parsedate.c
      type_or_value: '2'
    - item_type: preproc_def
      name: tDAYZONE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/lib/parsedate.c
      type_or_value: '-60       '
    - item_type: preproc_def
      name: NAME_LEN
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/curl/lib/parsedate.c
      type_or_value: '12'
    structs:
    - fields:
      - name: name[5]
        type: char
      - name: offset
        type: int
      item_type: struct
      name: tzinfo
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/PROJ/curl/lib/parsedate.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_printf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MERR_OK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/curl/lib/curl_printf.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MERR_MEM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/curl_printf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MERR_TOO_LARGE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/curl_printf.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_endofresp
  - smtp_get_message
  - smtp_state
  - smtp_perform_ehlo
  - smtp_perform_helo
  - smtp_perform_starttls
  - smtp_perform_upgrade_tls
  - smtp_perform_auth
  - smtp_continue_auth
  - smtp_cancel_auth
  - smtp_perform_authentication
  - smtp_perform_command
  - smtp_perform_mail
  - smtp_perform_rcpt_to
  - smtp_perform_quit
  - smtp_state_servergreet_resp
  - smtp_state_starttls_resp
  - smtp_state_ehlo_resp
  - smtp_state_helo_resp
  - smtp_state_auth_resp
  - smtp_state_command_resp
  - smtp_state_mail_resp
  - smtp_state_rcpt_resp
  - smtp_state_data_resp
  - smtp_state_postdata_resp
  - smtp_pp_statemachine
  - smtp_multi_statemach
  - smtp_block_statemach
  - smtp_pollset
  - smtp_connect
  - smtp_done
  - smtp_perform
  - smtp_do
  - smtp_disconnect
  - smtp_dophase_done
  - smtp_doing
  - smtp_regular_transfer
  - smtp_easy_dtor
  - smtp_conn_dtor
  - smtp_setup_connection
  - smtp_parse_url_options
  - smtp_parse_url_path
  - smtp_parse_custom_request
  - smtp_parse_address
  - cr_eob_init
  - cr_eob_close
  - cr_eob_read
  - cr_eob_total_length
  - cr_eob_add
  source_file: /src/PROJ/curl/lib/smtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_SMTP_EASY
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/smtp.c
      type_or_value: '"meta:proto:smtp:easy"'
    - item_type: preproc_def
      name: CURL_META_SMTP_CONN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/smtp.c
      type_or_value: '"meta:proto:smtp:conn"'
    - item_type: preproc_def
      name: SMTP_EOB
      pos:
        line_end: 1954
        line_start: 1953
        source_file: /src/PROJ/curl/lib/smtp.c
      type_or_value: '"\r\n.\r\n"'
    - item_type: preproc_def
      name: SMTP_EOB_FIND_LEN
      pos:
        line_end: 1955
        line_start: 1954
        source_file: /src/PROJ/curl/lib/smtp.c
      type_or_value: '3'
    structs:
    - fields:
      - name: pp
        type: struct pingpong
      - name: sasl
        type: struct SASL
      - name: state
        type: smtpstate
      - name: '*domain'
        type: char
      item_type: struct
      name: smtp_conn
      pos:
        line_end: 128
        line_start: 116
        source_file: /src/PROJ/curl/lib/smtp.c
    - fields:
      - name: transfer
        type: curl_pp_transfer
      - name: '*custom'
        type: char
      - name: '*rcpt'
        type: struct curl_slist
      - name: rcpt_last_error
        type: int
      - name: eob
        type: size_t
      item_type: struct
      name: SMTP
      pos:
        line_end: 144
        line_start: 134
        source_file: /src/PROJ/curl/lib/smtp.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: buf
        type: struct bufq
      - name: n_eob
        type: size_t
      - name: eob
        type: size_t
      item_type: struct
      name: cr_eob_ctx
      pos:
        line_end: 1931
        line_start: 1922
        source_file: /src/PROJ/curl/lib/smtp.c
    typedefs: []
    union: []
- function_names:
  - ws_frame_name_of_op
  - ws_frame_firstbyte2flags
  - ws_frame_flags2firstbyte
  - ws_dec_info
  - ws_dec_next_frame
  - ws_dec_reset
  - ws_dec_init
  - ws_dec_read_head
  - ws_dec_pass_payload
  - ws_dec_pass
  - update_meta
  - ws_cw_init
  - ws_cw_close
  - ws_enc_add_cntrl
  - ws_payload_remain
  - ws_cw_dec_next
  - ws_cw_write
  - ws_enc_info
  - ws_enc_reset
  - ws_enc_init
  - ws_enc_add_frame
  - ws_enc_write_head
  - ws_enc_write_payload
  - ws_enc_add_pending
  - ws_enc_send
  - cr_ws_init
  - cr_ws_close
  - cr_ws_read
  - Curl_ws_request
  - ws_conn_dtor
  - Curl_ws_accept
  - ws_client_collect
  - nw_in_recv
  - curl_ws_recv
  - ws_flush
  - ws_send_raw_blocking
  - ws_send_raw
  - curl_ws_send
  - ws_setup_conn
  - curl_ws_meta
  - curl_ws_start_frame
  - curl_ws_recv
  - curl_ws_send
  - curl_ws_meta
  - curl_ws_start_frame
  source_file: /src/PROJ/curl/lib/ws.c
  types:
    enum:
    - enumerators:
      - name: WS_DEC_INIT
      - name: WS_DEC_PAYLOAD
      - name: WS_DEC_HEAD
      item_type: enum
      name: ws_dec_state
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/PROJ/curl/lib/ws.c
    preproc_defs:
    - item_type: preproc_def
      name: WSBIT_FIN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x80)
    - item_type: preproc_def
      name: WSBIT_RSV1
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x40)
    - item_type: preproc_def
      name: WSBIT_RSV2
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x20)
    - item_type: preproc_def
      name: WSBIT_RSV3
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x10)
    - item_type: preproc_def
      name: WSBIT_RSV_MASK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (WSBIT_RSV1 | WSBIT_RSV2 | WSBIT_RSV3)
    - item_type: preproc_def
      name: WSBIT_OPCODE_CONT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x0)
    - item_type: preproc_def
      name: WSBIT_OPCODE_TEXT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x1)
    - item_type: preproc_def
      name: WSBIT_OPCODE_BIN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x2)
    - item_type: preproc_def
      name: WSBIT_OPCODE_CLOSE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x8)
    - item_type: preproc_def
      name: WSBIT_OPCODE_PING
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0x9)
    - item_type: preproc_def
      name: WSBIT_OPCODE_PONG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0xa)
    - item_type: preproc_def
      name: WSBIT_OPCODE_MASK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: (0xf)
    - item_type: preproc_def
      name: WSBIT_MASK
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: WS_CHUNK_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: WS_CHUNK_COUNT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: '2'
    - item_type: preproc_def
      name: WS_MAX_CNTRL_LEN
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/ws.c
      type_or_value: '125'
    structs:
    - fields:
      - name: frame_age
        type: int
      - name: frame_flags
        type: int
      - name: payload_offset
        type: curl_off_t
      - name: payload_len
        type: curl_off_t
      - name: head[10]
        type: unsigned char
      - name: head_len
        type: int
      - name: state
        type: enum ws_dec_state
      - name: cont_flags
        type: int
      item_type: struct
      name: ws_decoder
      pos:
        line_end: 96
        line_start: 87
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: payload_len
        type: curl_off_t
      - name: payload_remain
        type: curl_off_t
      - name: xori
        type: unsigned int
      - name: mask[4]
        type: unsigned char
      - name: firstbyte
        type: unsigned char
      item_type: struct
      name: ws_encoder
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: type
        type: unsigned int
      - name: payload_len
        type: size_t
      - name: payload[WS_MAX_CNTRL_LEN]
        type: unsigned char
      item_type: struct
      name: ws_cntrl_frame
      pos:
        line_end: 116
        line_start: 112
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: dec
        type: struct ws_decoder
      - name: enc
        type: struct ws_encoder
      - name: recvbuf
        type: struct bufq
      - name: sendbuf
        type: struct bufq
      - name: recvframe
        type: struct curl_ws_frame
      - name: pending
        type: struct ws_cntrl_frame
      - name: sendbuf_payload
        type: size_t
      item_type: struct
      name: websocket
      pos:
        line_end: 129
        line_start: 120
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: buf
        type: struct bufq
      item_type: struct
      name: ws_cw_ctx
      pos:
        line_end: 587
        line_start: 584
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*ws'
        type: struct websocket
      - name: '*next_writer'
        type: struct Curl_cwriter
      - name: cw_type
        type: int
      item_type: struct
      name: ws_cw_dec_ctx
      pos:
        line_end: 610
        line_start: 605
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: super
        type: struct Curl_creader
      item_type: struct
      name: cr_ws_ctx
      pos:
        line_end: 1121
        line_start: 1117
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: '*name'
        type: char
      - name: '*val'
        type: char
      item_type: struct
      name: wsfield
      pos:
        line_end: 1240
        line_start: 1237
        source_file: /src/PROJ/curl/lib/ws.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*ws'
        type: struct websocket
      - name: '*buffer'
        type: unsigned char
      - name: buflen
        type: size_t
      - name: bufidx
        type: size_t
      - name: frame_age
        type: int
      - name: frame_flags
        type: int
      - name: payload_offset
        type: curl_off_t
      - name: payload_len
        type: curl_off_t
      - name: written
        type: bool
      item_type: struct
      name: ws_collect
      pos:
        line_end: 1462
        line_start: 1451
        source_file: /src/PROJ/curl/lib/ws.c
    typedefs:
    - item_type: typedef
      name: "ws_write_payload(const unsigned char *buf, size_t buflen,\n                                  int
        frame_age, int frame_flags,\n                                  curl_off_t
        payload_offset,\n                                  curl_off_t payload_len,\n
        \                                 void *userp,\n                                  size_t
        *pnwritten)"
      pos:
        line_end: 332
        line_start: 327
        source_file: /src/PROJ/curl/lib/ws.c
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/slist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_ipv6_v6only
  - tcpnodelay
  - nosigpipe
  - nosigpipe
  - KEEPALIVE_FACTOR
  - tcpkeepalive
  - sock_assign_addr
  - socket_open
  - Curl_socket_open
  - socket_close
  - Curl_socket_close
  - Curl_sndbuf_init
  - Curl_parse_interface
  - bindlocal
  - verifyconnect
  - socket_connect_result
  - cf_socket_ctx_init
  - cf_socket_close
  - cf_socket_shutdown
  - cf_socket_destroy
  - set_local_ip
  - set_remote_ip
  - cf_socket_open
  - do_connect
  - cf_tcp_connect
  - cf_socket_adjust_pollset
  - win_update_sndbuf_size
  - cf_socket_send
  - cf_socket_recv
  - cf_socket_update_data
  - cf_socket_active
  - cf_socket_cntrl
  - cf_socket_conn_is_alive
  - cf_socket_query
  - Curl_cf_tcp_create
  - cf_udp_setup_quic
  - cf_udp_connect
  - Curl_cf_udp_create
  - Curl_cf_unix_create
  - cf_tcp_accept_timeleft
  - cf_tcp_set_accepted_remote_ip
  - cf_tcp_accept_connect
  - Curl_conn_tcp_listen_set
  - Curl_conn_is_tcp_listen
  - cf_is_socket
  - Curl_cf_socket_peek
  source_file: /src/PROJ/curl/lib/cf-socket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIO_KEEPALIVE_VALS
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PROJ/curl/lib/cf-socket.c
      type_or_value: _WSAIOW(IOC_VENDOR,4)
    - item_type: preproc_def
      name: SIO_IDEAL_SEND_BACKLOG_QUERY
      pos:
        line_end: 1422
        line_start: 1421
        source_file: /src/PROJ/curl/lib/cf-socket.c
      type_or_value: '0x4004747B'
    structs:
    - fields:
      - name: onoff
        type: u_long
      - name: keepalivetime
        type: u_long
      - name: keepaliveinterval
        type: u_long
      item_type: struct
      name: tcp_keepalive
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/PROJ/curl/lib/cf-socket.c
    - fields:
      - name: transport
        type: int
      - name: addr
        type: struct Curl_sockaddr_ex
      - name: sock
        type: curl_socket_t
      - name: ip
        type: struct ip_quadruple
      - name: started_at
        type: struct curltime
      - name: connected_at
        type: struct curltime
      - name: first_byte_at
        type: struct curltime
      - name: error
        type: int
      item_type: struct
      name: cf_socket_ctx
      pos:
        line_end: 950
        line_start: 926
        source_file: /src/PROJ/curl/lib/cf-socket.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/urlapi-int.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_protocol_family
  - Curl_freeset
  - up_free
  - Curl_close
  - Curl_init_userdefined
  - easy_meta_freeentry
  - Curl_open
  - Curl_conn_free
  - xfer_may_multiplex
  - proxy_info_matches
  - socks_proxy_info_matches
  - proxy_info_matches
  - socks_proxy_info_matches
  - conn_maxage
  - Curl_conn_seems_dead
  - Curl_conn_upkeep
  - ssh_config_matches
  - url_match_connect_config
  - url_match_fully_connected
  - url_match_multi
  - url_match_multiplex_needs
  - url_match_multiplex_limits
  - url_match_ssl_use
  - url_match_proxy_use
  - url_match_proxy_use
  - url_match_http_multiplex
  - url_match_http_version
  - url_match_http_multiplex
  - url_match_http_version
  - url_match_proto_config
  - url_match_auth
  - url_match_destination
  - url_match_ssl_config
  - url_match_auth_ntlm
  - url_match_auth_ntlm
  - url_match_conn
  - url_match_result
  - ConnectionExists
  - allocate_conn
  - Curl_get_scheme_handler
  - Curl_getn_scheme_handler
  - findprotocol
  - Curl_uc_to_curlcode
  - zonefrom_url
  - if
  - zonefrom_url
  - parseurlandfillconn
  - setup_range
  - setup_connection_internals
  - detect_proxy
  - parse_proxy_auth
  - create_conn_helper_init_proxy
  - Curl_parse_login_details
  - parse_remote_port
  - str_has_ctrl
  - override_login
  - set_login
  - parse_connect_to_host_port
  - parse_connect_to_string
  - parse_connect_to_slist
  - resolve_unix
  - resolve_server
  - url_move_hostname
  - reuse_conn
  - conn_meta_freeentry
  - create_conn
  - Curl_setup_conn
  - Curl_connect
  - Curl_init_do
  - priority_remove_child
  - Curl_data_priority_add_child
  - data_priority_cleanup
  - Curl_data_priority_clear_state
  - Curl_conn_meta_set
  - Curl_conn_meta_remove
  - Curl_conn_meta_get
  - Curl_1st_err
  - Curl_1st_fatal
  source_file: /src/PROJ/curl/lib/url.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNIX_SOCKET_PREFIX
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PROJ/curl/lib/url.c
      type_or_value: '"localhost"'
    - item_type: preproc_def
      name: MAX_URL_LEN
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/PROJ/curl/lib/url.c
      type_or_value: '0xffff'
    structs:
    - fields:
      - name: '*found'
        type: struct connectdata
      - name: '*data'
        type: struct Curl_easy
      - name: '*needle'
        type: struct connectdata
      item_type: struct
      name: url_conn_match
      pos:
        line_end: 800
        line_start: 787
        source_file: /src/PROJ/curl/lib/url.c
    typedefs: []
    union: []
- function_names:
  - Curl_cf_def_close
  - Curl_cf_def_shutdown
  - Curl_cf_def_adjust_pollset
  - Curl_cf_def_data_pending
  - Curl_cf_def_send
  - Curl_cf_def_recv
  - Curl_cf_def_conn_is_alive
  - Curl_cf_def_conn_keep_alive
  - Curl_cf_def_query
  - Curl_conn_cf_discard_chain
  - Curl_conn_cf_discard_all
  - Curl_conn_close
  - Curl_conn_shutdown
  - Curl_cf_recv
  - Curl_cf_send
  - cf_bufq_reader
  - Curl_cf_recv_bufq
  - cf_bufq_writer
  - Curl_cf_send_bufq
  - Curl_cf_create
  - Curl_conn_cf_add
  - Curl_conn_cf_insert_after
  - Curl_conn_cf_discard
  - Curl_conn_cf_connect
  - Curl_conn_cf_close
  - Curl_conn_cf_send
  - Curl_conn_cf_recv
  - cf_verboseconnect
  - Curl_conn_connect
  - Curl_conn_is_setup
  - Curl_conn_is_connected
  - Curl_conn_is_ip_connected
  - cf_is_ssl
  - Curl_conn_is_ssl
  - Curl_conn_get_ssl_info
  - Curl_conn_get_ip_info
  - Curl_conn_is_multiplex
  - Curl_conn_get_transport
  - Curl_conn_get_alpn_negotiated
  - Curl_conn_http_version
  - Curl_conn_data_pending
  - Curl_conn_cf_needs_flush
  - Curl_conn_needs_flush
  - Curl_conn_cf_adjust_pollset
  - Curl_conn_adjust_pollset
  - Curl_conn_cf_poll
  - Curl_conn_get_current_host
  - Curl_cf_def_cntrl
  - Curl_conn_cf_cntrl
  - Curl_conn_cf_get_socket
  - Curl_conn_cf_get_transport
  - Curl_conn_cf_get_alpn_negotiated
  - cf_get_remote_addr
  - Curl_conn_cf_get_ip_info
  - Curl_conn_get_first_socket
  - Curl_conn_get_remote_addr
  - Curl_conn_forget_socket
  - cf_cntrl_all
  - Curl_conn_ev_data_setup
  - Curl_conn_flush
  - Curl_conn_ev_data_done_send
  - Curl_conn_ev_data_done
  - Curl_conn_ev_data_pause
  - cf_cntrl_update_info
  - conn_report_connect_stats
  - Curl_conn_is_alive
  - Curl_conn_keep_alive
  - Curl_conn_get_max_concurrent
  - Curl_conn_get_stream_error
  - Curl_conn_sockindex
  - Curl_conn_recv
  - Curl_conn_send
  source_file: /src/PROJ/curl/lib/cfilters.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CF_CONN_NUM_POLLS_ON_STACK
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/PROJ/curl/lib/cfilters.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*cf'
        type: struct Curl_cfilter
      item_type: struct
      name: cf_io_ctx
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/PROJ/curl/lib/cfilters.c
    typedefs: []
    union: []
- function_names:
  - Curl_client_write
  - cl_reset_writer
  - cl_reset_reader
  - Curl_client_cleanup
  - Curl_client_reset
  - Curl_client_start
  - Curl_creader_will_rewind
  - Curl_creader_set_rewind
  - Curl_cwriter_write
  - Curl_cwriter_def_init
  - Curl_cwriter_def_write
  - Curl_cwriter_def_close
  - get_max_body_write_len
  - cw_download_write
  - cw_raw_write
  - Curl_cwriter_create
  - Curl_cwriter_free
  - Curl_cwriter_count
  - do_init_writer_stack
  - Curl_cwriter_add
  - Curl_cwriter_get_by_name
  - Curl_cwriter_get_by_type
  - Curl_cwriter_is_content_decoding
  - Curl_cwriter_is_paused
  - Curl_cwriter_unpause
  - Curl_creader_read
  - Curl_creader_clear_eos
  - Curl_creader_def_init
  - Curl_creader_def_close
  - Curl_creader_def_read
  - Curl_creader_def_needs_rewind
  - Curl_creader_def_total_length
  - Curl_creader_def_resume_from
  - Curl_creader_def_cntrl
  - Curl_creader_def_is_paused
  - Curl_creader_def_done
  - cr_in_init
  - cr_in_read
  - cr_in_needs_rewind
  - cr_in_total_length
  - cr_in_resume_from
  - cr_in_rewind
  - cr_in_cntrl
  - cr_in_is_paused
  - Curl_creader_create
  - Curl_creader_free
  - cr_lc_init
  - cr_lc_close
  - cr_lc_read
  - cr_lc_total_length
  - cr_lc_add
  - do_init_reader_stack
  - Curl_creader_set_fread
  - Curl_creader_add
  - Curl_creader_set
  - Curl_client_read
  - Curl_creader_needs_rewind
  - cr_null_read
  - cr_null_total_length
  - Curl_creader_set_null
  - cr_buf_read
  - cr_buf_needs_rewind
  - cr_buf_cntrl
  - cr_buf_total_length
  - cr_buf_resume_from
  - Curl_creader_set_buf
  - Curl_creader_total_length
  - Curl_creader_client_length
  - Curl_creader_resume_from
  - Curl_creader_unpause
  - Curl_creader_is_paused
  - Curl_creader_done
  - Curl_creader_get_by_type
  source_file: /src/PROJ/curl/lib/sendf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      item_type: struct
      name: cw_download_ctx
      pos:
        line_end: 232
        line_start: 229
        source_file: /src/PROJ/curl/lib/sendf.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: read_cb
        type: curl_read_callback
      - name: '*cb_user_data'
        type: void
      - name: total_len
        type: curl_off_t
      - name: read_len
        type: curl_off_t
      - name: error_result
        type: CURLcode
      item_type: struct
      name: cr_in_ctx
      pos:
        line_end: 644
        line_start: 633
        source_file: /src/PROJ/curl/lib/sendf.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: buf
        type: struct bufq
      item_type: struct
      name: cr_lc_ctx
      pos:
        line_end: 985
        line_start: 979
        source_file: /src/PROJ/curl/lib/sendf.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: '*buf'
        type: char
      - name: blen
        type: size_t
      - name: index
        type: size_t
      item_type: struct
      name: cr_buf_ctx
      pos:
        line_end: 1295
        line_start: 1290
        source_file: /src/PROJ/curl/lib/sendf.c
    typedefs: []
    union: []
- function_names:
  - check_gss_err
  - Curl_SOCKS5_gssapi_negotiate
  source_file: /src/PROJ/curl/lib/socks_gssapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_GSS_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/socks_gssapi.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/config-plan9.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILDING_LIBCURL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_CA_BUNDLE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '"/sys/lib/tls/ca.pem"'
    - item_type: preproc_def
      name: CURL_CA_PATH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '"/sys/lib/tls"'
    - item_type: preproc_def
      name: CURL_STATICLIB
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_IPV6
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_LDAP
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NEED_REENTRANT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '"plan9"'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_ALARM
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ARPA_INET_H
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BASENAME
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BOOL_T
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FREEADDRINFO
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETEUID
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETHOSTNAME
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPPID
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPWUID
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GMTIME_R
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_NTOP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_PTON
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIBGEN_H
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIBZ
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LONGLONG
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETDB_H
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETINET_IN_H
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETINET_TCP_H
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PWD_H
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SELECT_H
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_OPENSSL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PIPE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POLL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POLL_H
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_H
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETLOCALE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGACTION
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGSETJMP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKET
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDBOOL_H
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRCASECMP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRDUP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_TIMEVAL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_IOCTL_H
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_PARAM_H
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_RESOURCE_H
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UN_H
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_TERMIOS_H
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME_H
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POSIX_STRERROR_R
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRERROR_R
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MANUAL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/lib/config-plan9.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_parsenetrc
  source_file: /src/PROJ/curl/lib/netrc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: filebuf
        type: struct dynbuf
      - name: '*filename'
        type: char
      item_type: struct
      name: store_netrc
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/PROJ/curl/lib/netrc.h
    typedefs: []
    union: []
- function_names:
  - uint_hash_hash
  - Curl_uint_hash_init
  - uint_hash_mk_entry
  - uint_hash_entry_clear
  - uint_hash_entry_destroy
  - uint_hash_entry_unlink
  - uint_hash_elem_link
  - CURL_UINT_HASH_SLOT
  - CURL_UINT_HASH_SLOT_ADDR
  - Curl_uint_hash_set
  - Curl_uint_hash_remove
  - Curl_uint_hash_get
  - uint_hash_clear
  - Curl_uint_hash_clear
  - Curl_uint_hash_destroy
  - Curl_uint_hash_count
  - Curl_uint_hash_visit
  source_file: /src/PROJ/curl/lib/uint-hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINTHASHINIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/uint-hash.c
      type_or_value: '0x7117e779'
    structs:
    - fields:
      - name: '*next'
        type: struct uint_hash_entry
      - name: '*value'
        type: void
      - name: id
        type: unsigned int
      item_type: struct
      name: uint_hash_entry
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/PROJ/curl/lib/uint-hash.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/sendf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLIENTWRITE_BODY
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: CLIENTWRITE_INFO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: CLIENTWRITE_HEADER
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: CLIENTWRITE_STATUS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: CLIENTWRITE_CONNECT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: CLIENTWRITE_1XX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<5) '
    - item_type: preproc_def
      name: CLIENTWRITE_TRAILER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<6) '
    - item_type: preproc_def
      name: CLIENTWRITE_EOS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<7) '
    - item_type: preproc_def
      name: CLIENTWRITE_0LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/sendf.h
      type_or_value: '(1<<8) '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*alias'
        type: char
      - name: "(*do_init)(struct Curl_easy *data,\n                      struct Curl_cwriter
          *writer)"
        type: CURLcode
      - name: "(*do_write)(struct Curl_easy *data,\n                       struct
          Curl_cwriter *writer, int type,\n                       const char *buf,
          size_t nbytes)"
        type: CURLcode
      - name: "(*do_close)(struct Curl_easy *data,\n                   struct Curl_cwriter
          *writer)"
        type: void
      - name: cwriter_size
        type: size_t
      item_type: struct
      name: Curl_cwtype
      pos:
        line_end: 118
        line_start: 107
        source_file: /src/PROJ/curl/lib/sendf.h
    - fields:
      - name: '*cwt'
        type: struct Curl_cwtype
      - name: '*next'
        type: struct Curl_cwriter
      - name: '*ctx'
        type: void
      - name: phase
        type: Curl_cwriter_phase
      item_type: struct
      name: Curl_cwriter
      pos:
        line_end: 131
        line_start: 126
        source_file: /src/PROJ/curl/lib/sendf.h
    - fields:
      - name: '*name'
        type: char
      - name: (*do_init)(struct Curl_easy *data, struct Curl_creader *reader)
        type: CURLcode
      - name: "(*do_read)(struct Curl_easy *data, struct Curl_creader *reader,\n                      char
          *buf, size_t blen, size_t *nread, bool *eos)"
        type: CURLcode
      - name: (*do_close)(struct Curl_easy *data, struct Curl_creader *reader)
        type: void
      - name: (*needs_rewind)(struct Curl_easy *data, struct Curl_creader *reader)
        type: bool
      - name: "(*total_length)(struct Curl_easy *data,\n                             struct
          Curl_creader *reader)"
        type: curl_off_t
      - name: "(*resume_from)(struct Curl_easy *data,\n                          struct
          Curl_creader *reader, curl_off_t offset)"
        type: CURLcode
      - name: "(*cntrl)(struct Curl_easy *data, struct Curl_creader *reader,\n                    Curl_creader_cntrl
          opcode)"
        type: CURLcode
      - name: (*is_paused)(struct Curl_easy *data, struct Curl_creader *reader)
        type: bool
      - name: "(*done)(struct Curl_easy *data,\n               struct Curl_creader
          *reader, int premature)"
        type: void
      - name: creader_size
        type: size_t
      item_type: struct
      name: Curl_crtype
      pos:
        line_end: 229
        line_start: 212
        source_file: /src/PROJ/curl/lib/sendf.h
    - fields:
      - name: '*crt'
        type: struct Curl_crtype
      - name: '*next'
        type: struct Curl_creader
      - name: '*ctx'
        type: void
      - name: phase
        type: Curl_creader_phase
      item_type: struct
      name: Curl_creader
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/PROJ/curl/lib/sendf.h
    typedefs: []
    union: []
- function_names:
  - tftp_set_timeouts
  - setpacketevent
  - setpacketblock
  - getrpacketevent
  - getrpacketblock
  - tftp_strnlen
  - tftp_option_get
  - tftp_parse_option_ack
  - tftp_option_add
  - tftp_connect_for_tx
  - tftp_connect_for_rx
  - tftp_send_first
  - CURL_SENDTO_ARG5
  - CURL_SENDTO_ARG5
  - NEXT_BLOCKNUM
  - tftp_rx
  - tftp_tx
  - tftp_translate_code
  - tftp_state_machine
  - tftp_conn_dtor
  - tftp_connect
  - tftp_done
  - tftp_pollset
  - tftp_receive_packet
  - tftp_state_timeout
  - tftp_multi_statemach
  - tftp_doing
  - tftp_perform
  - tftp_do
  - tftp_setup_connection
  source_file: /src/PROJ/curl/lib/tftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TFTP_BLKSIZE_DEFAULT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/tftp.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TFTP_OPTION_BLKSIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/tftp.c
      type_or_value: '"blksize"'
    - item_type: preproc_def
      name: TFTP_OPTION_TSIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/tftp.c
      type_or_value: '"tsize"'
    - item_type: preproc_def
      name: TFTP_OPTION_INTERVAL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/tftp.c
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: CURL_META_TFTP_CONN
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/lib/tftp.c
      type_or_value: '"meta:proto:tftp:conn"'
    structs:
    - fields:
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: tftp_packet
      pos:
        line_end: 121
        line_start: 119
        source_file: /src/PROJ/curl/lib/tftp.c
    - fields:
      - name: local_addr
        type: struct Curl_sockaddr_storage
      - name: remote_addr
        type: struct Curl_sockaddr_storage
      - name: rpacket
        type: struct tftp_packet
      - name: spacket
        type: struct tftp_packet
      - name: state
        type: tftp_state_t
      - name: mode
        type: tftp_mode_t
      - name: error
        type: tftp_error_t
      - name: event
        type: tftp_event_t
      - name: '*data'
        type: struct Curl_easy
      - name: sockfd
        type: curl_socket_t
      - name: retries
        type: int
      - name: retry_time
        type: int
      - name: retry_max
        type: int
      - name: rx_time
        type: time_t
      - name: remote_addrlen
        type: curl_socklen_t
      - name: rbytes
        type: int
      - name: sbytes
        type: size_t
      - name: blksize
        type: unsigned int
      - name: requested_blksize
        type: unsigned int
      - name: block
        type: unsigned short
      item_type: struct
      name: tftp_conn
      pos:
        line_end: 148
        line_start: 126
        source_file: /src/PROJ/curl/lib/tftp.c
    typedefs: []
    union: []
- function_names:
  - IS_HTTPS_PROXY
  source_file: /src/PROJ/curl/lib/http_proxy.h
  types:
    enum:
    - enumerators:
      - name: HEADER_SERVER
      - name: HEADER_PROXY
      - name: HEADER_CONNECT
      item_type: enum
      name: Curl_proxy_use
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/PROJ/curl/lib/http_proxy.h
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_TIMEOUT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/http_proxy.h
      type_or_value: (3600*1000)
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_raw_toupper
  - Curl_raw_tolower
  - Curl_strntoupper
  - Curl_strntolower
  - Curl_safecmp
  - Curl_timestrcmp
  source_file: /src/PROJ/curl/lib/strcase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - chunk_is_empty
  - chunk_is_full
  - chunk_len
  - chunk_reset
  - chunk_append
  - chunk_read
  - chunk_slurpn
  - chunk_peek
  - chunk_peek_at
  - chunk_skip
  - chunk_list_free
  - Curl_bufcp_init
  - bufcp_take
  - bufcp_put
  - Curl_bufcp_free
  - bufq_init
  - Curl_bufq_init2
  - Curl_bufq_init
  - Curl_bufq_initp
  - Curl_bufq_free
  - Curl_bufq_reset
  - Curl_bufq_len
  - Curl_bufq_is_empty
  - Curl_bufq_is_full
  - get_spare
  - prune_head
  - get_non_full_tail
  - Curl_bufq_write
  - Curl_bufq_cwrite
  - Curl_bufq_read
  - Curl_bufq_cread
  - Curl_bufq_peek
  - Curl_bufq_peek_at
  - Curl_bufq_skip
  - Curl_bufq_pass
  - Curl_bufq_write_pass
  - Curl_bufq_sipn
  - bufq_slurpn
  - Curl_bufq_slurp
  source_file: /src/PROJ/curl/lib/bufq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mnfty_chunk_create
  - mnfty_chunk_destroy
  - mnfty_chunk_reset
  - mntfy_chunk_append
  - mntfy_non_full_tail
  - mntfy_chunk_dispatch_all
  - Curl_mntfy_init
  - Curl_mntfy_resize
  - Curl_mntfy_cleanup
  - Curl_mntfy_enable
  - Curl_mntfy_disable
  - Curl_mntfy_add
  - Curl_mntfy_dispatch_all
  source_file: /src/PROJ/curl/lib/multi_ntfy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MNTFY_CHUNK_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/multi_ntfy.c
      type_or_value: '128'
    structs:
    - fields:
      - name: mid
        type: unsigned int
      - name: type
        type: unsigned int
      item_type: struct
      name: mntfy_entry
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/PROJ/curl/lib/multi_ntfy.c
    - fields:
      - name: '*next'
        type: struct mntfy_chunk
      - name: r_offset
        type: size_t
      - name: w_offset
        type: size_t
      - name: entries[CURL_MNTFY_CHUNK_SIZE]
        type: struct mntfy_entry
      item_type: struct
      name: mntfy_chunk
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/PROJ/curl/lib/multi_ntfy.c
    typedefs: []
    union: []
- function_names:
  - Curl_httpchunk_init
  - Curl_httpchunk_reset
  - Curl_httpchunk_free
  - Curl_httpchunk_is_done
  - httpchunk_readwrite
  - Curl_chunked_strerror
  - Curl_httpchunk_read
  - cw_chunked_init
  - cw_chunked_close
  - cw_chunked_write
  - cr_chunked_init
  - cr_chunked_close
  - add_last_chunk
  - add_chunk
  - cr_chunked_read
  - cr_chunked_total_length
  - Curl_httpchunk_add_reader
  source_file: /src/PROJ/curl/lib/http_chunks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_CHUNKED_MINLEN
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/PROJ/curl/lib/http_chunks.c
      type_or_value: (1024)
    - item_type: preproc_def
      name: CURL_CHUNKED_MAXLEN
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/PROJ/curl/lib/http_chunks.c
      type_or_value: (64 * 1024)
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: ch
        type: struct Curl_chunker
      item_type: struct
      name: chunked_writer
      pos:
        line_end: 399
        line_start: 396
        source_file: /src/PROJ/curl/lib/http_chunks.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: chunkbuf
        type: struct bufq
      item_type: struct
      name: chunked_reader
      pos:
        line_end: 479
        line_start: 474
        source_file: /src/PROJ/curl/lib/http_chunks.c
    typedefs: []
    union: []
- function_names:
  - tunnel_stream_init
  - tunnel_stream_clear
  - h2_tunnel_go_state
  - CF_CTX_CALL_DATA
  - cf_h2_proxy_ctx_clear
  - cf_h2_proxy_ctx_free
  - drain_tunnel
  - proxy_h2_nw_out_writer
  - proxy_h2_client_new
  - cf_h2_proxy_ctx_init
  - proxy_h2_should_close_session
  - proxy_h2_nw_out_flush
  - proxy_h2_process_pending_input
  - proxy_h2_progress_ingress
  - proxy_h2_progress_egress
  - on_session_send
  - proxy_h2_fr_print
  - proxy_h2_on_frame_send
  - proxy_h2_on_frame_recv
  - proxy_h2_on_header
  - tunnel_send_callback
  - tunnel_recv_callback
  - proxy_h2_on_stream_close
  - proxy_h2_submit
  - submit_CONNECT
  - inspect_response
  - H2_CONNECT
  - cf_h2_proxy_connect
  - cf_h2_proxy_close
  - cf_h2_proxy_destroy
  - cf_h2_proxy_shutdown
  - cf_h2_proxy_data_pending
  - cf_h2_proxy_adjust_pollset
  - h2_handle_tunnel_close
  - tunnel_recv
  - cf_h2_proxy_recv
  - cf_h2_proxy_send
  - cf_h2_proxy_flush
  - proxy_h2_connisalive
  - cf_h2_proxy_is_alive
  - cf_h2_proxy_query
  - cf_h2_proxy_cntrl
  - Curl_cf_h2_proxy_insert_after
  source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_H2_CHUNK_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: (16*1024)
    - item_type: preproc_def
      name: PROXY_HTTP2_HUGE_WINDOW_SIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: (100 * 1024 * 1024)
    - item_type: preproc_def
      name: H2_TUNNEL_WINDOW_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: PROXY_H2_NW_RECV_CHUNKS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: (H2_TUNNEL_WINDOW_SIZE / PROXY_H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: PROXY_H2_NW_SEND_CHUNKS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_TUNNEL_RECV_CHUNKS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: (H2_TUNNEL_WINDOW_SIZE / PROXY_H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: H2_TUNNEL_SEND_CHUNKS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
      type_or_value: ((128 * 1024) / PROXY_H2_CHUNK_SIZE)
    structs:
    - fields:
      - name: '*resp'
        type: struct http_resp
      - name: recvbuf
        type: struct bufq
      - name: sendbuf
        type: struct bufq
      - name: '*authority'
        type: char
      - name: stream_id
        type: int32_t
      - name: error
        type: uint32_t
      - name: state
        type: h2_tunnel_state
      item_type: struct
      name: tunnel_stream
      pos:
        line_end: 81
        line_start: 70
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
    - fields:
      - name: '*h2'
        type: nghttp2_session
      - name: call_data
        type: struct cf_call_data
      - name: inbufq
        type: struct bufq
      - name: outbufq
        type: struct bufq
      - name: tunnel
        type: struct tunnel_stream
      - name: goaway_error
        type: int32_t
      - name: last_stream_id
        type: int32_t
      item_type: struct
      name: cf_h2_proxy_ctx
      pos:
        line_end: 188
        line_start: 173
        source_file: /src/PROJ/curl/lib/cf-h2-proxy.c
    typedefs: []
    union: []
- function_names:
  - mev_in_callback
  - mev_sh_entry_hash
  - mev_sh_entry_compare
  - mev_sh_entry_dtor
  - mev_sh_entry_get
  - mev_sh_entry_add
  - mev_sh_entry_kill
  - mev_sh_entry_user_count
  - mev_sh_entry_xfer_known
  - mev_sh_entry_conn_known
  - mev_sh_entry_xfer_add
  - mev_sh_entry_conn_add
  - mev_sh_entry_xfer_remove
  - mev_sh_entry_conn_remove
  - mev_forget_socket
  - mev_sh_entry_update
  - mev_pollset_diff
  - mev_pollset_dtor
  - mev_add_new_conn_pollset
  - mev_add_new_xfer_pollset
  - mev_get_last_pollset
  - mev_assess
  - Curl_multi_ev_assess_xfer
  - Curl_multi_ev_assess_conn
  - Curl_multi_ev_assess_xfer_bset
  - Curl_multi_ev_assign
  - Curl_multi_ev_dirty_xfers
  - Curl_multi_ev_socket_done
  - Curl_multi_ev_xfer_done
  - Curl_multi_ev_conn_done
  - Curl_multi_ev_init
  - Curl_multi_ev_cleanup
  source_file: /src/PROJ/curl/lib/multi_ev.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: xfers
        type: struct uint_spbset
      - name: '*conn'
        type: struct connectdata
      - name: '*user_data'
        type: void
      - name: action
        type: unsigned int
      - name: readers
        type: unsigned int
      - name: writers
        type: unsigned int
      item_type: struct
      name: mev_sh_entry
      pos:
        line_end: 66
        line_start: 56
        source_file: /src/PROJ/curl/lib/multi_ev.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_ldap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_sspi_err
  - Curl_SOCKS5_gssapi_negotiate
  source_file: /src/PROJ/curl/lib/socks_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cf-haproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - streamclose
  - connclose
  - connkeep
  - streamclose
  - connclose
  - connkeep
  source_file: /src/PROJ/curl/lib/connect.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_CONNECT_TIMEOUT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/connect.h
      type_or_value: '300000 '
    - item_type: preproc_def
      name: DEFAULT_SHUTDOWN_TIMEOUT_MS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/connect.h
      type_or_value: (2 * 1000)
    - item_type: preproc_def
      name: CONNCTRL_KEEP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/connect.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CONNCTRL_CONNECTION
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/lib/connect.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CONNCTRL_STREAM
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/connect.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ipv6_scope
  - Curl_if2ip
  - Curl_if2ip
  - Curl_if2ip
  source_file: /src/PROJ/curl/lib/if2ip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_gssapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GSSAUTH_P_NONE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/curl_gssapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GSSAUTH_P_INTEGRITY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/curl_gssapi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GSSAUTH_P_PRIVACY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/curl_gssapi.h
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_endian.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/progress.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cshutdn_run_conn_handler
  - cshutdn_run_once
  - Curl_cshutdn_run_once
  - Curl_cshutdn_terminate
  - cshutdn_destroy_oldest
  - Curl_cshutdn_close_oldest
  - cshutdn_wait
  - cshutdn_perform
  - cshutdn_terminate_all
  - Curl_cshutdn_init
  - Curl_cshutdn_destroy
  - Curl_cshutdn_count
  - Curl_cshutdn_dest_count
  - cshutdn_update_ev
  - Curl_cshutdn_add
  - cshutdn_multi_socket
  - Curl_cshutdn_perform
  - Curl_cshutdn_setfds
  - Curl_cshutdn_add_waitfds
  - Curl_cshutdn_add_pollfds
  source_file: /src/PROJ/curl/lib/cshutdn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_POLLS_ON_STACK
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/lib/cshutdn.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - filesize
  - VmsRealFileSize
  - VmsSpecialSize
  - filesize
  - vmsfopenread
  - Curl_basename
  - basename
  - mimesetstate
  - escape_string
  - match_header
  - search_header
  - strippath
  - cleanup_encoder_state
  - encoder_nop_read
  - encoder_nop_size
  - encoder_7bit_read
  - encoder_base64_read
  - encoder_base64_size
  - qp_lookahead_eol
  - encoder_qp_read
  - encoder_qp_size
  - mime_mem_read
  - mime_mem_seek
  - mime_mem_free
  - mime_open_file
  - mime_file_read
  - mime_file_seek
  - mime_file_free
  - readback_bytes
  - read_part_content
  - read_encoded_part_content
  - readback_part
  - mime_subparts_read
  - mime_part_rewind
  - mime_subparts_seek
  - cleanup_part_content
  - mime_subparts_free
  - mime_subparts_unbind
  - Curl_mime_cleanpart
  - curl_mime_free
  - Curl_mime_duppart
  - curl_mime_init
  - Curl_mime_initpart
  - curl_mime_addpart
  - curl_mime_name
  - curl_mime_filename
  - curl_mime_data
  - curl_mime_filedata
  - curl_mime_type
  - curl_mime_encoder
  - curl_mime_headers
  - curl_mime_data_cb
  - Curl_mime_set_subparts
  - curl_mime_subparts
  - Curl_mime_read
  - mime_rewind
  - slist_size
  - multipart_size
  - mime_size
  - Curl_mime_add_header
  - add_content_type
  - Curl_mime_contenttype
  - content_type_match
  - Curl_mime_prepare_headers
  - mime_unpause
  - cr_mime_init
  - cr_mime_close
  - cr_mime_read
  - cr_mime_needs_rewind
  - cr_mime_total_length
  - cr_mime_resume_from
  - cr_mime_cntrl
  - cr_mime_is_paused
  - Curl_creader_set_mime
  - curl_mime_init
  - curl_mime_free
  - curl_mime_addpart
  - curl_mime_name
  - curl_mime_filename
  - curl_mime_type
  - curl_mime_encoder
  - curl_mime_data
  - curl_mime_filedata
  - curl_mime_data_cb
  - curl_mime_subparts
  - curl_mime_headers
  - Curl_mime_add_header
  source_file: /src/PROJ/curl/lib/mime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_OK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: '4'
    - item_type: preproc_def
      name: READ_ERROR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: ((size_t) -1)
    - item_type: preproc_def
      name: STOP_FILLING
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: ((size_t) -2)
    - item_type: preproc_def
      name: QP_OK
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: QP_SP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: '2       '
    - item_type: preproc_def
      name: QP_CR
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: '3       '
    - item_type: preproc_def
      name: QP_LF
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: '4       '
    - item_type: preproc_def
      name: fopen_read
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: curlx_fopen
    - item_type: preproc_def
      name: fopen_read
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/curl/lib/mime.c
      type_or_value: vmsfopenread
    structs:
    - fields:
      - name: '*extension'
        type: char
      - name: '*type'
        type: char
      item_type: struct
      name: ContentType
      pos:
        line_end: 1722
        line_start: 1719
        source_file: /src/PROJ/curl/lib/mime.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: '*part'
        type: curl_mimepart
      - name: total_len
        type: curl_off_t
      - name: read_len
        type: curl_off_t
      - name: error_result
        type: CURLcode
      - name: tmpbuf
        type: struct bufq
      item_type: struct
      name: cr_mime_ctx
      pos:
        line_end: 1936
        line_start: 1927
        source_file: /src/PROJ/curl/lib/mime.c
    typedefs: []
    union: []
- function_names:
  - strdup
  - malloc
  - calloc
  - realloc
  - free
  - Curl_tcsdup
  - Curl_tcsdup
  source_file: /src/PROJ/curl/lib/curl_memory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DESKEY
  - DESKEY
  - DESKEY
  - DESKEYARG
  - curl_des_set_odd_parity
  - extend_key_56_to_64
  - setup_des_key
  - setup_des_key
  - encrypt_des
  - encrypt_des
  - encrypt_des
  - Curl_ntlm_core_lm_resp
  - Curl_ntlm_core_mk_lm_hash
  - ascii_to_unicode_le
  - ascii_uppercase_to_unicode_le
  - Curl_ntlm_core_mk_nt_hash
  - time2filetime
  - Curl_ntlm_core_mk_ntlmv2_hash
  - Curl_ntlm_core_mk_ntlmv2_resp
  - Curl_ntlm_core_mk_lmv2_resp
  source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DES_set_key_unchecked
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: (void)DES_set_key
    - item_type: preproc_def
      name: DES_key_schedule
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: WOLFSSL_DES_key_schedule
    - item_type: preproc_def
      name: DES_cblock
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: WOLFSSL_DES_cblock
    - item_type: preproc_def
      name: DES_set_odd_parity
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_set_odd_parity
    - item_type: preproc_def
      name: DES_set_key
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_set_key
    - item_type: preproc_def
      name: DES_set_key_unchecked
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_set_key_unchecked
    - item_type: preproc_def
      name: DES_ecb_encrypt
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_ecb_encrypt
    - item_type: preproc_def
      name: NTLMv2_BLOB_SIGNATURE
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: '"\x01\x01\x00\x00"'
    - item_type: preproc_def
      name: NTLMv2_BLOB_LEN
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
      type_or_value: (44 -16 + ntlm->target_info_len + 4)
    structs:
    - fields:
      - name: hdr
        type: BLOBHEADER
      - name: len
        type: unsigned int
      - name: key[8]
        type: char
      item_type: struct
      name: blob
      pos:
        line_end: 273
        line_start: 269
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
    - fields:
      - name: dwLowDateTime
        type: unsigned int
      - name: dwHighDateTime
        type: unsigned int
      item_type: struct
      name: ms_filetime
      pos:
        line_end: 464
        line_start: 461
        source_file: /src/PROJ/curl/lib/curl_ntlm_core.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/content_encoding.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_async_get_impl
  - Curl_async_is_resolved
  - Curl_async_await
  - Curl_async_global_init
  - Curl_async_global_cleanup
  - Curl_async_shutdown
  - Curl_async_destroy
  source_file: /src/PROJ/curl/lib/asyn.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: channel
        type: ares_channel
      - name: num_pending
        type: int
      - name: '*temp_ai'
        type: struct Curl_addrinfo
      - name: ares_status
        type: int
      - name: result
        type: CURLcode
      item_type: struct
      name: async_ares_ctx
      pos:
        line_end: 153
        line_start: 140
        source_file: /src/PROJ/curl/lib/asyn.h
    - fields:
      - name: thread_hnd
        type: curl_thread_t
      - name: '*hostname'
        type: char
      - name: mutx
        type: curl_mutex_t
      - name: '*res'
        type: struct Curl_addrinfo
      - name: start
        type: struct curltime
      - name: interval_end
        type: timediff_t
      - name: poll_interval
        type: unsigned int
      - name: port
        type: int
      - name: sock_error
        type: int
      - name: ref_count
        type: int
      item_type: struct
      name: async_thrdd_addr_ctx
      pos:
        line_end: 197
        line_start: 177
        source_file: /src/PROJ/curl/lib/asyn.h
    - fields:
      - name: '*addr'
        type: struct async_thrdd_addr_ctx
      item_type: struct
      name: async_thrdd_ctx
      pos:
        line_end: 214
        line_start: 200
        source_file: /src/PROJ/curl/lib/asyn.h
    - fields:
      - name: '*dns'
        type: struct Curl_dns_entry
      - name: '*hostname'
        type: char
      - name: port
        type: int
      - name: ip_version
        type: int
      item_type: struct
      name: Curl_async
      pos:
        line_end: 255
        line_start: 241
        source_file: /src/PROJ/curl/lib/asyn.h
    typedefs: []
    union: []
- function_names:
  - PINGPONG_SETUP
  source_file: /src/PROJ/curl/lib/pingpong.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nread_resp
        type: size_t
      - name: '*sendthis'
        type: char
      - name: sendleft
        type: size_t
      - name: sendsize
        type: size_t
      - name: response
        type: struct curltime
      - name: sendbuf
        type: struct dynbuf
      - name: recvbuf
        type: struct dynbuf
      - name: overflow
        type: size_t
      - name: nfinal
        type: size_t
      - name: (*statemachine)(struct Curl_easy *data, struct connectdata *conn)
        type: CURLcode
      - name: "(*endofresp)(struct Curl_easy *data, struct connectdata *conn,\n                    const
          char *ptr, size_t len, int *code)"
        type: bool
      item_type: struct
      name: pingpong
      pos:
        line_end: 71
        line_start: 48
        source_file: /src/PROJ/curl/lib/pingpong.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http_digest.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_bufref_init
  - Curl_bufref_free
  - Curl_bufref_set
  - Curl_bufref_ptr
  - Curl_bufref_len
  - Curl_bufref_memdup
  source_file: /src/PROJ/curl/lib/bufref.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIGNATURE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/bufref.c
      type_or_value: '0x5c48e9b2    '
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_alpnid2str
  - altsvc_free
  - altsvc_createid
  - altsvc_create
  - altsvc_add
  - altsvc_load
  - altsvc_out
  - Curl_altsvc_init
  - Curl_altsvc_load
  - Curl_altsvc_ctrl
  - Curl_altsvc_cleanup
  - Curl_altsvc_save
  - hostcompare
  - altsvc_flush
  - altsvc_debugtime
  - time
  - Curl_altsvc_parse
  - Curl_altsvc_lookup
  source_file: /src/PROJ/curl/lib/altsvc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ALTSVC_LINE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/altsvc.c
      type_or_value: '4095'
    - item_type: preproc_def
      name: MAX_ALTSVC_DATELEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/altsvc.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_ALTSVC_HOSTLEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/altsvc.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAX_ALTSVC_ALPNLEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/altsvc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: H3VERSION
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/altsvc.c
      type_or_value: '"h3"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - trc_write
  - CURL_TRC_IDS
  - trc_print_ids
  - trc_end_buf
  - Curl_debug
  - Curl_failf
  - trc_infof
  - Curl_infof
  - Curl_trc_cf_infof
  - trc_timer_name
  - Curl_trc_timer
  - Curl_trc_easy_timers
  - Curl_trc_mstate_name
  - Curl_trc_multi
  - Curl_trc_read
  - Curl_trc_write
  - Curl_trc_dns
  - Curl_trc_ftp
  - Curl_trc_smtp
  - Curl_trc_ssls
  - Curl_trc_ws
  - trc_apply_level_by_name
  - trc_apply_level_by_category
  - trc_opt
  - Curl_trc_opt
  - Curl_trc_init
  - Curl_trc_init
  - Curl_infof
  - Curl_trc_cf_infof
  - Curl_trc_multi
  - Curl_trc_write
  - Curl_trc_dns
  - Curl_trc_timer
  - Curl_trc_read
  - Curl_trc_ftp
  - Curl_trc_smtp
  - Curl_trc_ws
  - Curl_trc_ssls
  source_file: /src/PROJ/curl/lib/curl_trc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRC_LINE_MAX
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: CURL_TRC_FMT_IDSC
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: '"[x-%" CURL_FORMAT_CURL_OFF_T "] "'
    - item_type: preproc_def
      name: CURL_TRC_FMT_IDSD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: '"[%" CURL_FORMAT_CURL_OFF_T "-x] "'
    - item_type: preproc_def
      name: CURL_TRC_FMT_IDSDC
      pos:
        line_end: 88
        line_start: 86
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: "\"[%\" CURL_FORMAT_CURL_OFF_T \"-%\" \\\n                            CURL_FORMAT_CURL_OFF_T
        \"] \""
    - item_type: preproc_def
      name: TRC_CT_NONE
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TRC_CT_PROTOCOL
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: (1<<(0))
    - item_type: preproc_def
      name: TRC_CT_NETWORK
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: (1<<(1))
    - item_type: preproc_def
      name: TRC_CT_PROXY
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: (1<<(2))
    - item_type: preproc_def
      name: TRC_CT_INTERNALS
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/PROJ/curl/lib/curl_trc.c
      type_or_value: (1<<(3))
    structs:
    - fields:
      - name: '*feat'
        type: struct curl_trc_feat
      - name: category
        type: unsigned int
      item_type: struct
      name: trc_feat_def
      pos:
        line_end: 486
        line_start: 483
        source_file: /src/PROJ/curl/lib/curl_trc.c
    - fields:
      - name: '*cft'
        type: struct Curl_cftype
      - name: category
        type: unsigned int
      item_type: struct
      name: trc_cft_def
      pos:
        line_end: 514
        line_start: 511
        source_file: /src/PROJ/curl/lib/curl_trc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/formdata.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelength
        type: size_t
      - name: '*value'
        type: char
      - name: contentslength
        type: curl_off_t
      - name: '*contenttype'
        type: char
      - name: '*buffer'
        type: char
      - name: bufferlength
        type: size_t
      - name: '*showfilename'
        type: char
      - name: '*userp'
        type: char
      - name: '*contentheader'
        type: struct curl_slist
      - name: '*more'
        type: struct FormInfo
      - name: flags
        type: unsigned char
      item_type: struct
      name: FormInfo
      pos:
        line_end: 49
        line_start: 31
        source_file: /src/PROJ/curl/lib/formdata.h
    typedefs: []
    union: []
- function_names:
  - curl_escape
  - curl_unescape
  - curl_easy_escape
  - Curl_urldecode
  - curl_easy_unescape
  - curl_free
  - Curl_hexencode
  - Curl_hexbyte
  source_file: /src/PROJ/curl/lib/escape.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/setup-win32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKET
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: LWIP_POSIX_SOCKETS_IO_NAMES
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: size_t
    - item_type: preproc_def
      name: USE_WINSOCK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '2'
    - item_type: preproc_def
      name: _WIN32_WINNT_WINXP
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0501   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WS03
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0502   '
    - item_type: preproc_def
      name: _WIN32_WINNT_VISTA
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0600   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WS08
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0600   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WIN7
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0601   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WIN8
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0602   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WINBLUE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0603   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WIN10
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/lib/setup-win32.h
      type_or_value: '0x0A00   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - stub_gss_init_sec_context
  - stub_gss_delete_sec_context
  - Curl_gss_init_sec_context
  - Curl_gss_delete_sec_context
  - display_gss_error
  - Curl_gss_log_error
  source_file: /src/PROJ/curl/lib/curl_gssapi.c
  types:
    enum:
    - enumerators:
      - name: STUB_GSS_OK
        value: '0'
      - name: STUB_GSS_NO_MEMORY
      - name: STUB_GSS_INVALID_CREDS
      - name: STUB_GSS_INVALID_ARGS
      - name: STUB_GSS_INVALID_CTX
      - name: STUB_GSS_SERVER_ERR
      - name: STUB_GSS_NO_MECH
      - name: STUB_GSS_LAST
      item_type: enum
      name: min_err_code
      pos:
        line_end: 85
        line_start: 76
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
    preproc_defs:
    - item_type: preproc_def
      name: Curl_gss_alloc
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
      type_or_value: (malloc)
    - item_type: preproc_def
      name: Curl_gss_free
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
      type_or_value: (free)
    - item_type: preproc_def
      name: Curl_gss_alloc
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
      type_or_value: gssalloc_malloc
    - item_type: preproc_def
      name: Curl_gss_free
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
      type_or_value: gssalloc_free
    - item_type: preproc_def
      name: CURL_ALIGN8
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
      type_or_value: __attribute__((aligned(8)))
    - item_type: preproc_def
      name: GSS_LOG_BUFFER_LEN
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: sent
        type: enum { STUB_GSS_NONE, STUB_GSS_KRB5, STUB_GSS_NTLM1, STUB_GSS_NTLM3
          }
      - name: have_krb5
        type: int
      - name: have_ntlm
        type: int
      - name: flags
        type: OM_uint32
      - name: creds[250]
        type: char
      item_type: struct
      name: stub_gss_ctx_id_t_desc
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/PROJ/curl/lib/curl_gssapi.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cw-out.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_psl_destroy
  - now_seconds
  - Curl_psl_use
  - Curl_psl_release
  source_file: /src/PROJ/curl/lib/psl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/request.h
  types:
    enum:
    - enumerators:
      - name: EXP100_SEND_DATA
      - name: EXP100_SENDING_REQUEST
      - name: EXP100_AWAITING_CONTINUE
      - name: EXP100_FAILED
      item_type: enum
      name: expect100
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/PROJ/curl/lib/request.h
    - enumerators:
      - name: UPGR101_NONE
      - name: UPGR101_H2
      - name: UPGR101_RECEIVED
      - name: UPGR101_WS
      item_type: enum
      name: upgrade101
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/PROJ/curl/lib/request.h
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: curl_off_t
      - name: maxdownload
        type: curl_off_t
      - name: bytecount
        type: curl_off_t
      - name: writebytecount
        type: curl_off_t
      - name: start
        type: struct curltime
      - name: headerbytecount
        type: unsigned int
      - name: allheadercount
        type: unsigned int
      - name: deductheadercount
        type: unsigned int
      - name: headerline
        type: int
      - name: offset
        type: curl_off_t
      - name: httpcode
        type: int
      - name: keepon
        type: int
      - name: httpversion_sent
        type: unsigned char
      - name: httpversion
        type: unsigned char
      - name: upgr101
        type: enum upgrade101
      - name: '*writer_stack'
        type: struct Curl_cwriter
      - name: '*reader_stack'
        type: struct Curl_creader
      - name: sendbuf
        type: struct bufq
      - name: sendbuf_hds_len
        type: size_t
      - name: timeofdoc
        type: time_t
      - name: '*location'
        type: char
      - name: '*newurl'
        type: char
      item_type: struct
      name: SingleRequest
      pos:
        line_end: 132
        line_start: 58
        source_file: /src/PROJ/curl/lib/request.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/tftp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TFTP_BLKSIZE_MIN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/tftp.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TFTP_BLKSIZE_MAX
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/tftp.h
      type_or_value: '65464'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_h1_req_parse_init
  - Curl_h1_req_parse_free
  - trim_line
  - detect_line
  - next_line
  - start_req
  - Curl_h1_req_parse_read
  - Curl_h1_req_write_head
  source_file: /src/PROJ/curl/lib/http1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H1_MAX_URL_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/http1.c
      type_or_value: (8*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - smb_swap16
  - smb_swap32
  - smb_swap64
  - smb_swap16
  - smb_swap32
  - smb_swap64
  - conn_state
  - request_state
  - smb_easy_dtor
  - smb_conn_dtor
  - smb_setup_connection
  - smb_connect
  - smb_recv_message
  - smb_pop_message
  - smb_format_message
  - smb_send
  - smb_flush
  - smb_send_message
  - smb_send_negotiate
  - smb_send_setup
  - smb_send_tree_connect
  - smb_send_open
  - smb_send_close
  - smb_send_tree_disconnect
  - smb_send_read
  - smb_send_write
  - smb_send_and_recv
  - smb_connection_state
  - get_posix_time
  - smb_request_state
  - smb_pollset
  - smb_do
  - smb_parse_url_path
  source_file: /src/PROJ/curl/lib/smb.c
  types:
    enum:
    - enumerators:
      - name: SMB_NOT_CONNECTED
        value: '0'
      - name: SMB_NEGOTIATE
      - name: SMB_SETUP
      - name: SMB_CONNECTING
      - name: SMB_CONNECTED
      item_type: enum
      name: smb_conn_state
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/PROJ/curl/lib/smb.c
    - enumerators:
      - name: SMB_REQUESTING
      - name: SMB_UPLOAD
      - name: SMB_OPEN
      - name: SMB_DOWNLOAD
      - name: SMB_TREE_CONNECT
      - name: SMB_CLOSE
      - name: SMB_TREE_DISCONNECT
      - name: SMB_DONE
      item_type: enum
      name: smb_req_state
      pos:
        line_end: 89
        line_start: 80
        source_file: /src/PROJ/curl/lib/smb.c
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_SMB_EASY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '"meta:proto:smb:easy"'
    - item_type: preproc_def
      name: CURL_META_SMB_CONN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '"meta:proto:smb:conn"'
    - item_type: preproc_def
      name: PACK
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: __attribute__((packed))
    - item_type: preproc_def
      name: SMB_COM_CLOSE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SMB_COM_READ_ANDX
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x2e'
    - item_type: preproc_def
      name: SMB_COM_WRITE_ANDX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x2f'
    - item_type: preproc_def
      name: SMB_COM_TREE_DISCONNECT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x71'
    - item_type: preproc_def
      name: SMB_COM_NEGOTIATE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x72'
    - item_type: preproc_def
      name: SMB_COM_SETUP_ANDX
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x73'
    - item_type: preproc_def
      name: SMB_COM_TREE_CONNECT_ANDX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x75'
    - item_type: preproc_def
      name: SMB_COM_NT_CREATE_ANDX
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0xa2'
    - item_type: preproc_def
      name: SMB_COM_NO_ANDX_COMMAND
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: SMB_WC_CLOSE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SMB_WC_READ_ANDX
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SMB_WC_WRITE_ANDX
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SMB_WC_SETUP_ANDX
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SMB_WC_TREE_CONNECT_ANDX
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SMB_WC_NT_CREATE_ANDX
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x18'
    - item_type: preproc_def
      name: SMB_FLAGS_CANONICAL_PATHNAMES
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: SMB_FLAGS_CASELESS_PATHNAMES
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SMB_FLAGS2_IS_LONG_NAME
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: SMB_FLAGS2_KNOWS_LONG_NAME
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: SMB_CAP_LARGE_FILES
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SMB_GENERIC_WRITE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x40000000'
    - item_type: preproc_def
      name: SMB_GENERIC_READ
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: SMB_FILE_SHARE_ALL
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SMB_FILE_OPEN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SMB_FILE_OVERWRITE_IF
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SMB_ERR_NOACCESS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x00050001'
    - item_type: preproc_def
      name: MAX_PAYLOAD_SIZE
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: MAX_MESSAGE_SIZE
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: (MAX_PAYLOAD_SIZE + 0x1000)
    - item_type: preproc_def
      name: CLIENTNAME
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '"curl"'
    - item_type: preproc_def
      name: SERVICENAME
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/PROJ/curl/lib/smb.c
      type_or_value: '"?????"'
    structs:
    - fields:
      - name: state
        type: enum smb_conn_state
      - name: '*user'
        type: char
      - name: '*domain'
        type: char
      - name: '*share'
        type: char
      - name: challenge[8]
        type: unsigned char
      - name: session_key
        type: unsigned int
      - name: uid
        type: unsigned short
      - name: '*recv_buf'
        type: char
      - name: '*send_buf'
        type: char
      - name: upload_size
        type: size_t
      - name: send_size
        type: size_t
      - name: sent
        type: size_t
      - name: got
        type: size_t
      item_type: struct
      name: smb_conn
      pos:
        line_end: 77
        line_start: 63
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: state
        type: enum smb_req_state
      - name: '*path'
        type: char
      - name: tid
        type: unsigned short
      - name: fid
        type: unsigned short
      - name: result
        type: CURLcode
      item_type: struct
      name: smb_request
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: nbt_type
        type: unsigned char
      - name: nbt_flags
        type: unsigned char
      - name: nbt_length
        type: unsigned short
      - name: magic[4]
        type: unsigned char
      - name: command
        type: unsigned char
      - name: status
        type: unsigned int
      - name: flags
        type: unsigned char
      - name: flags2
        type: unsigned short
      - name: pid_high
        type: unsigned short
      - name: signature[8]
        type: unsigned char
      - name: pad
        type: unsigned short
      - name: tid
        type: unsigned short
      - name: pid
        type: unsigned short
      - name: uid
        type: unsigned short
      - name: mid
        type: unsigned short
      item_type: struct
      name: smb_header
      pos:
        line_end: 161
        line_start: 145
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: h
        type: struct smb_header
      - name: word_count
        type: unsigned char
      - name: dialect_index
        type: unsigned short
      - name: security_mode
        type: unsigned char
      - name: max_mpx_count
        type: unsigned short
      - name: max_number_vcs
        type: unsigned short
      - name: max_buffer_size
        type: unsigned int
      - name: max_raw_size
        type: unsigned int
      - name: session_key
        type: unsigned int
      - name: capabilities
        type: unsigned int
      - name: system_time_low
        type: unsigned int
      - name: system_time_high
        type: unsigned int
      - name: server_time_zone
        type: unsigned short
      - name: encryption_key_length
        type: unsigned char
      - name: byte_count
        type: unsigned short
      - name: bytes[1]
        type: char
      item_type: struct
      name: smb_negotiate_response
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: command
        type: unsigned char
      - name: pad
        type: unsigned char
      - name: offset
        type: unsigned short
      item_type: struct
      name: andx
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: max_buffer_size
        type: unsigned short
      - name: max_mpx_count
        type: unsigned short
      - name: vc_number
        type: unsigned short
      - name: session_key
        type: unsigned int
      - name: lengths[2]
        type: unsigned short
      - name: pad
        type: unsigned int
      - name: capabilities
        type: unsigned int
      - name: byte_count
        type: unsigned short
      - name: bytes[1024]
        type: char
      item_type: struct
      name: smb_setup
      pos:
        line_end: 200
        line_start: 188
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: flags
        type: unsigned short
      - name: pw_len
        type: unsigned short
      - name: byte_count
        type: unsigned short
      - name: bytes[1024]
        type: char
      item_type: struct
      name: smb_tree_connect
      pos:
        line_end: 209
        line_start: 202
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: pad
        type: unsigned char
      - name: name_length
        type: unsigned short
      - name: flags
        type: unsigned int
      - name: root_fid
        type: unsigned int
      - name: access
        type: unsigned int
      - name: allocation_size
        type: curl_off_t
      - name: ext_file_attributes
        type: unsigned int
      - name: share_access
        type: unsigned int
      - name: create_disposition
        type: unsigned int
      - name: create_options
        type: unsigned int
      - name: impersonation_level
        type: unsigned int
      - name: security_flags
        type: unsigned char
      - name: byte_count
        type: unsigned short
      - name: bytes[1024]
        type: char
      item_type: struct
      name: smb_nt_create
      pos:
        line_end: 228
        line_start: 211
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: h
        type: struct smb_header
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: op_lock_level
        type: unsigned char
      - name: fid
        type: unsigned short
      - name: create_disposition
        type: unsigned int
      - name: create_time
        type: curl_off_t
      - name: last_access_time
        type: curl_off_t
      - name: last_write_time
        type: curl_off_t
      - name: last_change_time
        type: curl_off_t
      - name: ext_file_attributes
        type: unsigned int
      - name: allocation_size
        type: curl_off_t
      - name: end_of_file
        type: curl_off_t
      item_type: struct
      name: smb_nt_create_response
      pos:
        line_end: 245
        line_start: 230
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: fid
        type: unsigned short
      - name: offset
        type: unsigned int
      - name: max_bytes
        type: unsigned short
      - name: min_bytes
        type: unsigned short
      - name: timeout
        type: unsigned int
      - name: remaining
        type: unsigned short
      - name: offset_high
        type: unsigned int
      - name: byte_count
        type: unsigned short
      item_type: struct
      name: smb_read
      pos:
        line_end: 258
        line_start: 247
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: h
        type: struct smb_header
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: fid
        type: unsigned short
      - name: offset
        type: unsigned int
      - name: timeout
        type: unsigned int
      - name: write_mode
        type: unsigned short
      - name: remaining
        type: unsigned short
      - name: pad
        type: unsigned short
      - name: data_length
        type: unsigned short
      - name: data_offset
        type: unsigned short
      - name: offset_high
        type: unsigned int
      - name: byte_count
        type: unsigned short
      - name: pad2
        type: unsigned char
      item_type: struct
      name: smb_write
      pos:
        line_end: 275
        line_start: 260
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: fid
        type: unsigned short
      - name: last_mtime
        type: unsigned int
      - name: byte_count
        type: unsigned short
      item_type: struct
      name: smb_close
      pos:
        line_end: 282
        line_start: 277
        source_file: /src/PROJ/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: byte_count
        type: unsigned short
      item_type: struct
      name: smb_tree_disconnect
      pos:
        line_end: 287
        line_start: 284
        source_file: /src/PROJ/curl/lib/smb.c
    typedefs: []
    union: []
- function_names:
  - time2str
  - max6data
  - Curl_pgrsDone
  - Curl_pgrsResetTransferSizes
  - Curl_pgrsTimeWas
  - Curl_pgrsTime
  - Curl_pgrsStartNow
  - Curl_pgrsLimitWaitTime
  - Curl_pgrsSetDownloadCounter
  - Curl_ratelimit
  - Curl_pgrsSetUploadCounter
  - Curl_pgrsSetDownloadSize
  - Curl_pgrsSetUploadSize
  - Curl_pgrsEarlyData
  - trspeed
  - progress_calc
  - pgrs_est_percent
  - pgrs_estimates
  - progress_meter
  - progress_meter
  - pgrsupdate
  - Curl_pgrsUpdate
  - Curl_pgrsUpdate_nometer
  source_file: /src/PROJ/curl/lib/progress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_RATE_LIMIT_PERIOD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/progress.c
      type_or_value: '3000'
    structs:
    - fields:
      - name: secs
        type: curl_off_t
      - name: percent
        type: curl_off_t
      item_type: struct
      name: pgrs_estimate
      pos:
        line_end: 463
        line_start: 460
        source_file: /src/PROJ/curl/lib/progress.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/escape.h
  types:
    enum:
    - enumerators:
      - name: REJECT_NADA
        value: '2'
      - name: REJECT_CTRL
      - name: REJECT_ZERO
      item_type: enum
      name: urlreject
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/PROJ/curl/lib/escape.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_amiga_init
  - Curl_amiga_cleanup
  - Curl_ipv4_resolve_r
  - Curl_amiga_select
  - CURL_AMIGA_REQUEST
  - CURL_AMIGA_REQUEST
  - Curl_amiga_cleanup
  - Curl_amiga_init
  source_file: /src/PROJ/curl/lib/amigaos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_BSDSOCKET_GETHOSTBYNAME_R
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/amigaos.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: HAVE_BSDSOCKET_GETADDRINFO
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/amigaos.c
      type_or_value: '0x02'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SIGPIPE_VARIABLE
  - SIGPIPE_MEMBER
  - sigpipe_init
  - sigpipe_ignore
  - sigpipe_restore
  - sigpipe_apply
  - sigpipe_ignore
  - sigpipe_apply
  - sigpipe_init
  - sigpipe_restore
  - SIGPIPE_MEMBER
  source_file: /src/PROJ/curl/lib/sigpipe.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: old_pipe_act
        type: struct sigaction
      item_type: struct
      name: sigpipe_ignore
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/PROJ/curl/lib/sigpipe.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/config-win32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VS2012_MIN_TARGET
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: VS2012_DEF_TARGET
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: VS2012_MIN_TARGET
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '0x0600  '
    - item_type: preproc_def
      name: VS2012_DEF_TARGET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '0x0602  '
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: VS2012_DEF_TARGET
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: VS2012_DEF_TARGET
    - item_type: preproc_def
      name: VS2008_MIN_TARGET
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: VS2008_DEF_TARGET
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: VS2008_DEF_TARGET
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: VS2008_DEF_TARGET
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_IO_H
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDBOOL_H
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_PARAM_H
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UTIME_H
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIBGEN_H
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BOOL_T
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_CLOSESOCKET
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPEERNAME
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETSOCKNAME
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETHOSTNAME
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_IOCTLSOCKET
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_IOCTLSOCKET_FIONBIO
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETLOCALE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETMODE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE__SETMODE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKET
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRDUP
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_SNPRINTF
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BASENAME
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: __int64
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: HAVE_LONGLONG
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_FREEADDRINFO
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO_THREADSAFE
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_SOCKADDR_STORAGE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_TIMEVAL
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _FILE_OFFSET_BITS
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '64'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: USE_THREADS_WIN32
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LDAP_URL_PARSE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LDAP_SSL
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_WIN32_LDAP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"arm-pc-win32ce"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"i386-pc-win32ce"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"i386-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"x86_64-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"ia64-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"thumbv7a-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"aarch64-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '"unknown-pc-win32"'
    - item_type: preproc_def
      name: CURL_DISABLE_FILE
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_TELNET
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_LDAP
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/PROJ/curl/lib/config-win32.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_thread_create_thunk
  - Curl_thread_create
  - Curl_thread_destroy
  - Curl_thread_join
  - Curl_thread_create
  - Curl_thread_destroy
  - Curl_thread_join
  source_file: /src/PROJ/curl/lib/curl_threads.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*func)(void *)
        type: unsigned int
      - name: '*arg'
        type: void
      item_type: struct
      name: Curl_actual_call
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/PROJ/curl/lib/curl_threads.c
    typedefs: []
    union: []
- function_names:
  - Curl_uint_spbset_init
  - Curl_uint_spbset_destroy
  - Curl_uint_spbset_count
  - Curl_uint_spbset_empty
  - Curl_uint_spbset_clear
  - uint_spbset_get_chunk
  - Curl_uint_spbset_add
  - Curl_uint_spbset_remove
  - Curl_uint_spbset_contains
  - Curl_uint_spbset_first
  - uint_spbset_chunk_first
  - uint_spbset_chunk_next
  - Curl_uint_spbset_next
  source_file: /src/PROJ/curl/lib/uint-spbset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_SPBSET_MAGIC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/uint-spbset.c
      type_or_value: '0x70737362'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cshutdn.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct Curl_llist
      - name: '*multi'
        type: struct Curl_multi
      item_type: struct
      name: cshutdn
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/PROJ/curl/lib/cshutdn.h
    typedefs: []
    union: []
- function_names:
  - http_auth_nego_reset
  - Curl_input_negotiate
  - Curl_output_negotiate
  source_file: /src/PROJ/curl/lib/http_negotiate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_sspi_global_init
  - Curl_sspi_global_cleanup
  - Curl_create_sspi_identity
  - Curl_sspi_free_identity
  source_file: /src/PROJ/curl/lib/curl_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_blockread_all
  - sxstate
  - sxstate
  - socksstate
  - socks_failed
  - socks_flush
  - socks_recv
  - socks4_req_add_hd
  - socks4_req_add_user
  - socks4_resolving
  - socks4_check_resp
  - socks4_connect
  - socks5_req0_init
  - socks5_check_resp0
  - socks5_auth_init
  - socks5_check_auth_resp
  - socks5_req1_init
  - socks5_resolving
  - socks5_recv_resp1
  - socks5_connect
  - socks_proxy_cf_free
  - socks_proxy_cf_connect
  - socks_cf_adjust_pollset
  - socks_proxy_cf_close
  - socks_proxy_cf_destroy
  - socks_cf_query
  - Curl_cf_socks_proxy_insert_after
  source_file: /src/PROJ/curl/lib/socks.c
  types:
    enum:
    - enumerators:
      - name: SOCKS_ST_INIT
      - name: SOCKS4_ST_RECV
      - name: SOCKS4_ST_SEND
      - name: SOCKS4_ST_RESOLVING
      - name: SOCKS4_ST_START
      - name: SOCKS5_ST_START
      - name: SOCKS5_ST_REQ0_SEND
      - name: SOCKS5_ST_RESP0_RECV
      - name: SOCKS5_ST_GSSAPI_INIT
      - name: SOCKS5_ST_AUTH_INIT
      - name: SOCKS5_ST_AUTH_SEND
      - name: SOCKS5_ST_RESP1_RECV
      - name: SOCKS5_ST_AUTH_RECV
      - name: SOCKS5_ST_REQ1_INIT
      - name: SOCKS_ST_FAILED
      - name: SOCKS_ST_SUCCESS
      - name: SOCKS5_ST_RESOLVING
      - name: SOCKS5_ST_REQ1_SEND
      item_type: enum
      name: socks_state_t
      pos:
        line_end: 78
        line_start: 56
        source_file: /src/PROJ/curl/lib/socks.c
    preproc_defs:
    - item_type: preproc_def
      name: SOCKS_CHUNK_SIZE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/lib/socks.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SOCKS_CHUNKS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/lib/socks.c
      type_or_value: '1'
    structs:
    - fields:
      - name: state
        type: enum socks_state_t
      - name: iobuf
        type: struct bufq
      - name: '*hostname'
        type: char
      - name: remote_port
        type: int
      - name: '*proxy_user'
        type: char
      - name: '*proxy_password'
        type: char
      - name: presult
        type: CURLproxycode
      - name: version
        type: unsigned char
      item_type: struct
      name: socks_state
      pos:
        line_end: 119
        line_start: 107
        source_file: /src/PROJ/curl/lib/socks.c
    typedefs: []
    union: []
- function_names:
  - SOCKET_READABLE
  - SOCKET_WRITABLE
  - VALID_SOCK
  - FDSET_SOCK
  - VERIFY_SOCK
  - VALID_SOCK
  - FDSET_SOCK
  - VERIFY_SOCK
  - Curl_pollset_add_in
  - Curl_pollset_add_out
  - Curl_pollset_add_inout
  - Curl_pollset_set_in_only
  - Curl_pollset_set_out_only
  source_file: /src/PROJ/curl/lib/select.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLLIN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: POLLPRI
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: POLLOUT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: POLLERR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: POLLHUP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: POLLNVAL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: POLLRDNORM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: POLLIN
    - item_type: preproc_def
      name: POLLWRNORM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: POLLOUT
    - item_type: preproc_def
      name: POLLRDBAND
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: POLLPRI
    - item_type: preproc_def
      name: CURL_CSELECT_IN2
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: (CURL_CSELECT_ERR << 1)
    - item_type: preproc_def
      name: EZ_POLLSET_DEF_COUNT
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_EASY_POLLSET_MAGIC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/curl/lib/select.h
      type_or_value: '0x7a657370'
    structs:
    - fields:
      - name: fd
        type: curl_socket_t
      - name: events
        type: short
      - name: revents
        type: short
      item_type: struct
      name: pollfd
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/PROJ/curl/lib/select.h
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: '*actions'
        type: unsigned char
      - name: n
        type: unsigned int
      - name: count
        type: unsigned int
      - name: def_sockets[EZ_POLLSET_DEF_COUNT]
        type: curl_socket_t
      - name: def_actions[EZ_POLLSET_DEF_COUNT]
        type: unsigned char
      item_type: struct
      name: easy_pollset
      pos:
        line_end: 129
        line_start: 119
        source_file: /src/PROJ/curl/lib/select.h
    - fields:
      - name: '*pfds'
        type: struct pollfd
      - name: n
        type: unsigned int
      - name: count
        type: unsigned int
      item_type: struct
      name: curl_pollfds
      pos:
        line_end: 202
        line_start: 197
        source_file: /src/PROJ/curl/lib/select.h
    - fields:
      - name: '*wfds'
        type: struct curl_waitfd
      - name: n
        type: unsigned int
      - name: count
        type: unsigned int
      item_type: struct
      name: Curl_waitfds
      pos:
        line_end: 222
        line_start: 218
        source_file: /src/PROJ/curl/lib/select.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/multiif.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/gopher.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/llist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*_head'
        type: struct Curl_llist_node
      - name: '*_tail'
        type: struct Curl_llist_node
      - name: _dtor
        type: Curl_llist_dtor
      - name: _size
        type: size_t
      item_type: struct
      name: Curl_llist
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/PROJ/curl/lib/llist.h
    - fields:
      - name: '*_list'
        type: struct Curl_llist
      - name: '*_ptr'
        type: void
      - name: '*_prev'
        type: struct Curl_llist_node
      - name: '*_next'
        type: struct Curl_llist_node
      item_type: struct
      name: Curl_llist_node
      pos:
        line_end: 52
        line_start: 44
        source_file: /src/PROJ/curl/lib/llist.h
    typedefs:
    - item_type: typedef
      name: (*Curl_llist_dtor)(void *user, void *elem)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/PROJ/curl/lib/llist.h
      type: void
    union: []
- function_names:
  - CURL_TELOPT
  - CURL_TELOPT
  - CURL_TELOPT_OK
  - CURL_TELCMD_OK
  - CURL_TELCMD
  - CURL_TELCMD
  source_file: /src/PROJ/curl/lib/arpa_telnet.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_TELOPT_BINARY
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: CURL_TELOPT_ECHO
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: CURL_TELOPT_SGA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: CURL_TELOPT_EXOPL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '255  '
    - item_type: preproc_def
      name: CURL_TELOPT_TTYPE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '24  '
    - item_type: preproc_def
      name: CURL_TELOPT_NAWS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '31  '
    - item_type: preproc_def
      name: CURL_TELOPT_XDISPLOC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '35 '
    - item_type: preproc_def
      name: CURL_TELOPT_NEW_ENVIRON
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '39  '
    - item_type: preproc_def
      name: CURL_NEW_ENV_VAR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_NEW_ENV_VALUE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TELOPT_MAXIMUM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: CURL_TELOPT_NEW_ENVIRON
    - item_type: preproc_def
      name: CURL_NTELOPTS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '40'
    - item_type: preproc_def
      name: CURL_xEOF
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '236 '
    - item_type: preproc_def
      name: CURL_SE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '240 '
    - item_type: preproc_def
      name: CURL_NOP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '241 '
    - item_type: preproc_def
      name: CURL_DM
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '242 '
    - item_type: preproc_def
      name: CURL_GA
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '249 '
    - item_type: preproc_def
      name: CURL_SB
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '250 '
    - item_type: preproc_def
      name: CURL_WILL
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '251 '
    - item_type: preproc_def
      name: CURL_WONT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '252 '
    - item_type: preproc_def
      name: CURL_DO
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '253 '
    - item_type: preproc_def
      name: CURL_DONT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '254 '
    - item_type: preproc_def
      name: CURL_IAC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '255 '
    - item_type: preproc_def
      name: CURL_TELCMD_MINIMUM
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: 'CURL_xEOF '
    - item_type: preproc_def
      name: CURL_TELCMD_MAXIMUM
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: 'CURL_IAC  '
    - item_type: preproc_def
      name: CURL_TELQUAL_IS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_TELQUAL_SEND
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TELQUAL_INFO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_TELQUAL_NAME
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PROJ/curl/lib/arpa_telnet.h
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - parsekeyword
  - charclass
  - setcharorrange
  - setcharset
  - loop
  - Curl_fnmatch
  - Curl_fnmatch
  source_file: /src/PROJ/curl/lib/curl_fnmatch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLFNM_CHARSET_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (sizeof(char) * 256)
    - item_type: preproc_def
      name: CURLFNM_CHSET_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 15)
    - item_type: preproc_def
      name: CURLFNM_NEGATE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: CURLFNM_CHARSET_LEN
    - item_type: preproc_def
      name: CURLFNM_ALNUM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 1)
    - item_type: preproc_def
      name: CURLFNM_DIGIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 2)
    - item_type: preproc_def
      name: CURLFNM_XDIGIT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 3)
    - item_type: preproc_def
      name: CURLFNM_ALPHA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 4)
    - item_type: preproc_def
      name: CURLFNM_PRINT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 5)
    - item_type: preproc_def
      name: CURLFNM_BLANK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 6)
    - item_type: preproc_def
      name: CURLFNM_LOWER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 7)
    - item_type: preproc_def
      name: CURLFNM_GRAPH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 8)
    - item_type: preproc_def
      name: CURLFNM_SPACE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 9)
    - item_type: preproc_def
      name: CURLFNM_UPPER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 10)
    - item_type: preproc_def
      name: SETCHARSET_OK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SETCHARSET_FAIL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/curl_fnmatch.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_headers_init
  - Curl_headers_push
  - Curl_headers_cleanup
  source_file: /src/PROJ/curl/lib/headers.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: node
        type: struct Curl_llist_node
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: request
        type: int
      - name: type
        type: unsigned char
      - name: buffer[1]
        type: char
      item_type: struct
      name: Curl_header_store
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/PROJ/curl/lib/headers.h
    typedefs: []
    union: []
- function_names:
  - wakeup_create
  - wakeup_create
  - wakeup_create
  source_file: /src/PROJ/curl/lib/socketpair.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: wakeup_write
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: write
    - item_type: preproc_def
      name: wakeup_read
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: read
    - item_type: preproc_def
      name: wakeup_close
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: close
    - item_type: preproc_def
      name: wakeup_write
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: write
    - item_type: preproc_def
      name: wakeup_read
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: read
    - item_type: preproc_def
      name: wakeup_close
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: close
    - item_type: preproc_def
      name: wakeup_write
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: swrite
    - item_type: preproc_def
      name: wakeup_read
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: sread
    - item_type: preproc_def
      name: wakeup_close
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: sclose
    - item_type: preproc_def
      name: SOCKETPAIR_FAMILY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: SOCKETPAIR_FAMILY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: SOCKETPAIR_TYPE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: (SOCK_STREAM | SOCK_CLOEXEC)
    - item_type: preproc_def
      name: SOCKETPAIR_TYPE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/socketpair.h
      type_or_value: SOCK_STREAM
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_share_init
  - curl_share_setopt
  - curl_share_cleanup
  - Curl_share_lock
  - Curl_share_unlock
  source_file: /src/PROJ/curl/lib/share.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cf_hc_baller_reset
  - cf_hc_baller_is_active
  - cf_hc_baller_has_started
  - cf_hc_baller_reply_ms
  - cf_hc_baller_data_pending
  - cf_hc_baller_needs_flush
  - cf_hc_baller_cntrl
  - cf_hc_baller_assign
  - cf_hc_baller_init
  - cf_hc_baller_connect
  - cf_hc_reset
  - baller_connected
  - time_to_start_next
  - cf_hc_connect
  - cf_hc_shutdown
  - cf_hc_adjust_pollset
  - cf_hc_data_pending
  - cf_get_max_baller_time
  - cf_hc_query
  - cf_hc_cntrl
  - cf_hc_close
  - cf_hc_destroy
  - cf_hc_create
  - cf_http_connect_add
  - cf_https_alpns_contain
  - Curl_cf_https_setup
  source_file: /src/PROJ/curl/lib/cf-https-connect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*cf'
        type: struct Curl_cfilter
      - name: result
        type: CURLcode
      - name: started
        type: struct curltime
      - name: reply_ms
        type: int
      - name: transport
        type: unsigned char
      - name: alpn_id
        type: enum alpnid
      item_type: struct
      name: cf_hc_baller
      pos:
        line_end: 60
        line_start: 51
        source_file: /src/PROJ/curl/lib/cf-https-connect.c
    - fields:
      - name: state
        type: cf_hc_state
      - name: started
        type: struct curltime
      - name: result
        type: CURLcode
      - name: ballers[2]
        type: struct cf_hc_baller
      - name: baller_count
        type: size_t
      - name: soft_eyeballs_timeout_ms
        type: timediff_t
      - name: hard_eyeballs_timeout_ms
        type: timediff_t
      item_type: struct
      name: cf_hc_ctx
      pos:
        line_end: 122
        line_start: 114
        source_file: /src/PROJ/curl/lib/cf-https-connect.c
    typedefs: []
    union: []
- function_names:
  - curl_easy_strerror
  - curl_multi_strerror
  - curl_share_strerror
  - curl_url_strerror
  - Curl_sspi_strerror
  - SEC2TXT
  source_file: /src/PROJ/curl/lib/strerror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ipv6works
  - Curl_resolv_check
  source_file: /src/PROJ/curl/lib/hostip.h
  types:
    enum:
    - enumerators:
      - name: ALPN_none
        value: '0'
      - name: ALPN_h2
        value: CURLALTSVC_H2
      - name: ALPN_h1
        value: CURLALTSVC_H1
      - name: ALPN_h3
        value: CURLALTSVC_H3
      item_type: enum
      name: alpnid
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/PROJ/curl/lib/hostip.h
    preproc_defs:
    - item_type: preproc_def
      name: CURL_HOSTENT_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/hostip.h
      type_or_value: '9000'
    - item_type: preproc_def
      name: CURL_TIMEOUT_RESOLVE
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/PROJ/curl/lib/hostip.h
      type_or_value: '300 '
    structs:
    - fields:
      - name: '*addr'
        type: struct Curl_addrinfo
      - name: timestamp
        type: struct curltime
      - name: refcount
        type: size_t
      - name: hostport
        type: int
      - name: hostname[1]
        type: char
      item_type: struct
      name: Curl_dns_entry
      pos:
        line_end: 75
        line_start: 62
        source_file: /src/PROJ/curl/lib/hostip.h
    - fields:
      - name: entries
        type: struct Curl_hash
      item_type: struct
      name: Curl_dnscache
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/PROJ/curl/lib/hostip.h
    typedefs: []
    union: []
- function_names:
  - Curl_hash_print
  - Curl_hash_init
  - hash_elem_create
  - hash_elem_clear_ptr
  - hash_elem_destroy
  - hash_elem_unlink
  - hash_elem_link
  - CURL_HASH_SLOT
  - CURL_HASH_SLOT_ADDR
  - Curl_hash_add2
  - Curl_hash_add
  - Curl_hash_delete
  - Curl_hash_pick
  - Curl_hash_destroy
  - Curl_hash_clean
  - Curl_hash_count
  - Curl_hash_clean_with_criterium
  - Curl_hash_str
  - curlx_str_key_compare
  - Curl_hash_start_iterate
  - Curl_hash_next_element
  source_file: /src/PROJ/curl/lib/hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASHINIT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/hash.c
      type_or_value: '0x7017e781'
    - item_type: preproc_def
      name: ITERINIT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/hash.c
      type_or_value: '0x5FEDCBA9'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cf-h2-proxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/functypes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: size_t
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/lib/functypes.h
      type_or_value: ssize_t
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/altsvc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*host'
        type: char
      - name: port
        type: unsigned short
      - name: alpnid
        type: enum alpnid
      item_type: struct
      name: althost
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/PROJ/curl/lib/altsvc.h
    - fields:
      - name: src
        type: struct althost
      - name: dst
        type: struct althost
      - name: expires
        type: time_t
      - name: node
        type: struct Curl_llist_node
      - name: prio
        type: unsigned int
      item_type: struct
      name: altsvc
      pos:
        line_end: 44
        line_start: 37
        source_file: /src/PROJ/curl/lib/altsvc.h
    - fields:
      - name: '*filename'
        type: char
      - name: list
        type: struct Curl_llist
      - name: flags
        type: long
      item_type: struct
      name: altsvcinfo
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/PROJ/curl/lib/altsvc.h
    typedefs: []
    union: []
- function_names:
  - Curl_SOCKS4
  - Curl_SOCKS5
  - Curl_SOCKS_getsock
  source_file: /src/PROJ/curl/lib/socks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_win32_init
  source_file: /src/PROJ/curl/lib/system_win32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: int(WINAPI *IF_NAMETOINDEX_FN)(const char *)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/PROJ/curl/lib/system_win32.h
      type: unsigned
    union: []
- function_names:
  - populate_settings
  - populate_binsettings
  - CF_CTX_CALL_DATA
  - cf_h2_ctx_init
  - cf_h2_ctx_free
  - cf_h2_ctx_close
  - H2_STREAM_CTX
  - h2_stream_ctx_create
  - free_push_headers
  - h2_stream_ctx_free
  - h2_stream_hash_free
  - cf_h2_get_desired_local_win
  - cf_h2_update_local_win
  - cf_h2_update_local_win
  - http2_data_setup
  - http2_data_done
  - h2_client_new
  - cf_h2_ctx_open
  - should_close_session
  - h2_process_pending_input
  - http2_connisalive
  - http2_send_ping
  - Curl_http2_ver
  - nw_out_flush
  - send_callback
  - curl_pushheader_bynum
  - curl_pushheader_byname
  - h2_duphandle
  - set_transfer_url
  - discard_newhandle
  - push_promise
  - h2_xfer_write_resp_hd
  - h2_xfer_write_resp
  - on_stream_frame
  - fr_print
  - on_frame_send
  - on_frame_recv
  - cf_h2_on_invalid_frame_recv
  - on_data_chunk_recv
  - on_stream_close
  - on_begin_headers
  - cf_h2_header_error
  - on_header
  - req_body_read_callback
  - error_callback
  - Curl_http2_request_upgrade
  - http2_handle_stream_close
  - sweight_wanted
  - sweight_in_effect
  - h2_pri_spec
  - h2_progress_egress
  - stream_recv
  - h2_progress_ingress
  - cf_h2_recv
  - cf_h2_body_send
  - h2_submit
  - cf_h2_send
  - cf_h2_flush
  - cf_h2_adjust_pollset
  - cf_h2_connect
  - cf_h2_close
  - cf_h2_destroy
  - cf_h2_shutdown
  - http2_data_pause
  - cf_h2_cntrl
  - cf_h2_data_pending
  - cf_h2_is_alive
  - cf_h2_keep_alive
  - cf_h2_query
  - http2_cfilter_add
  - http2_cfilter_insert_after
  - Curl_http2_may_switch
  - Curl_http2_switch
  - Curl_http2_switch_at
  - Curl_http2_upgrade
  - Curl_h2_http_1_1_error
  - Curl_nghttp2_malloc
  - Curl_nghttp2_free
  - Curl_nghttp2_calloc
  - Curl_nghttp2_realloc
  - curl_pushheader_bynum
  - curl_pushheader_byname
  source_file: /src/PROJ/curl/lib/http2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NGHTTP2_HAS_SET_LOCAL_WINDOW_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_CHUNK_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H2_CONN_WINDOW_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: H2_NW_RECV_CHUNKS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (H2_CONN_WINDOW_SIZE / H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: H2_NW_SEND_CHUNKS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_STREAM_WINDOW_SIZE_MAX
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: H2_STREAM_WINDOW_SIZE_INITIAL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: H2_STREAM_WINDOW_SIZE_INITIAL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: H2_STREAM_WINDOW_SIZE_MAX
    - item_type: preproc_def
      name: H2_STREAM_SEND_CHUNKS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: ((64 * 1024) / H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: H2_STREAM_POOL_SPARES
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (H2_CONN_WINDOW_SIZE / H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: HTTP2_HUGE_WINDOW_SIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: (100 * H2_STREAM_WINDOW_SIZE_MAX)
    - item_type: preproc_def
      name: H2_SETTINGS_IV_LEN
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: H2_BINSETTINGS_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: '80'
    - item_type: preproc_def
      name: MAX_ACC
      pos:
        line_end: 2296
        line_start: 2295
        source_file: /src/PROJ/curl/lib/http2.c
      type_or_value: '60000  '
    structs:
    - fields:
      - name: '*h2'
        type: nghttp2_session
      - name: call_data
        type: struct cf_call_data
      - name: inbufq
        type: struct bufq
      - name: outbufq
        type: struct bufq
      - name: stream_bufcp
        type: struct bufc_pool
      - name: scratch
        type: struct dynbuf
      - name: streams
        type: struct uint_hash
      - name: drain_total
        type: size_t
      - name: max_concurrent_streams
        type: uint32_t
      - name: goaway_error
        type: uint32_t
      - name: remote_max_sid
        type: int32_t
      - name: local_max_sid
        type: int32_t
      item_type: struct
      name: cf_h2_ctx
      pos:
        line_end: 152
        line_start: 126
        source_file: /src/PROJ/curl/lib/http2.c
    - fields:
      - name: sendbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: resp_trailers
        type: struct dynhds
      - name: resp_hds_len
        type: size_t
      - name: nrcvd_data
        type: curl_off_t
      - name: '**push_headers'
        type: char
      - name: push_headers_used
        type: size_t
      - name: push_headers_alloc
        type: size_t
      - name: status_code
        type: int
      - name: error
        type: uint32_t
      - name: xfer_result
        type: CURLcode
      - name: local_window_size
        type: int32_t
      - name: id
        type: int32_t
      item_type: struct
      name: h2_stream_ctx
      pos:
        line_end: 238
        line_start: 214
        source_file: /src/PROJ/curl/lib/http2.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*stream'
        type: struct h2_stream_ctx
      - name: '*frame'
        type: nghttp2_push_promise
      item_type: struct
      name: curl_pushheaders
      pos:
        line_end: 809
        line_start: 805
        source_file: /src/PROJ/curl/lib/http2.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/easyif.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_sndbuf_init
  source_file: /src/PROJ/curl/lib/cf-socket.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: curl_sa_addr
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/cf-socket.h
      type_or_value: addr.sa
    - item_type: preproc_def
      name: curl_sa_addrbuf
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/cf-socket.h
      type_or_value: addr.buf
    structs:
    - fields:
      - name: family
        type: int
      - name: socktype
        type: int
      - name: protocol
        type: int
      - name: addrlen
        type: unsigned int
      - name: addr
        type: "union {\n    struct sockaddr sa;\n    struct Curl_sockaddr_storage
          buf;\n  }"
      item_type: struct
      name: Curl_sockaddr_ex
      pos:
        line_end: 53
        line_start: 44
        source_file: /src/PROJ/curl/lib/cf-socket.h
    typedefs: []
    union: []
- function_names:
  - setsockopt
  - SET_RCVTIMEO
  - SET_RCVTIMEO
  - SET_RCVTIMEO
  - rtmp_conn_dtor
  - rtmp_setup_connection
  - rtmp_connect
  - rtmp_do
  - rtmp_done
  - rtmp_disconnect
  - rtmp_recv
  - rtmp_send
  - Curl_rtmp_version
  source_file: /src/PROJ/curl/lib/curl_rtmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEF_BUFTIME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/curl_rtmp.c
      type_or_value: '(2*60*60*1000)    '
    - item_type: preproc_def
      name: CURL_META_RTMP_CONN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/curl_rtmp.c
      type_or_value: '"meta:proto:rtmp:conn"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gopher_connect
  - gopher_connecting
  - gopher_do
  source_file: /src/PROJ/curl/lib/gopher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - unescape_word
  - sendf
  - dict_do
  source_file: /src/PROJ/curl/lib/dict.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_MATCH
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '"/MATCH:"'
    - item_type: preproc_def
      name: DICT_MATCH2
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '"/M:"'
    - item_type: preproc_def
      name: DICT_MATCH3
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '"/FIND:"'
    - item_type: preproc_def
      name: DICT_DEFINE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '"/DEFINE:"'
    - item_type: preproc_def
      name: DICT_DEFINE2
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '"/D:"'
    - item_type: preproc_def
      name: DICT_DEFINE3
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '"/LOOKUP:"'
    - item_type: preproc_def
      name: DYN_DICT_WORD
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/dict.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_win32_random
  - weak_random
  - randit
  - Curl_rand_bytes
  - Curl_rand_hex
  - Curl_rand_alnum
  source_file: /src/PROJ/curl/lib/rand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BCRYPT_USE_SYSTEM_PREFERRED_RNG
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/rand.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: STATUS_SUCCESS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/rand.c
      type_or_value: ((NTSTATUS)0x00000000L)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/splay.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*smaller'
        type: struct Curl_tree
      - name: '*larger'
        type: struct Curl_tree
      - name: '*samen'
        type: struct Curl_tree
      - name: '*samep'
        type: struct Curl_tree
      - name: key
        type: struct curltime
      - name: '*ptr'
        type: void
      item_type: struct
      name: Curl_tree
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/PROJ/curl/lib/splay.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/speedcheck.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_initinfo
  - getinfo_char
  - DOUBLE_SECS
  - getinfo_offt
  - getinfo_double
  - getinfo_slist
  - getinfo_socket
  - Curl_getinfo
  source_file: /src/PROJ/curl/lib/getinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*to_ulong'
        type: unsigned long
      - name: '*to_long'
        type: long
      item_type: union
      name: lptr
      pos:
        line_end: 204
        line_start: 201
        source_file: /src/PROJ/curl/lib/getinfo.c
    - fields:
      - name: '*to_certinfo'
        type: struct curl_certinfo
      - name: '*to_slist'
        type: struct curl_slist
      item_type: union
      name: ptr
      pos:
        line_end: 561
        line_start: 558
        source_file: /src/PROJ/curl/lib/getinfo.c
- function_names: []
  source_file: /src/PROJ/curl/lib/conncache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPOOL_LIMIT_OK
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/lib/conncache.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CPOOL_LIMIT_DEST
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/conncache.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CPOOL_LIMIT_TOTAL
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/conncache.h
      type_or_value: '2'
    structs:
    - fields:
      - name: dest2bundle
        type: struct Curl_hash
      - name: num_conn
        type: size_t
      - name: next_connection_id
        type: curl_off_t
      - name: next_easy_id
        type: curl_off_t
      - name: last_cleanup
        type: struct curltime
      - name: '*idata'
        type: struct Curl_easy
      - name: '*share'
        type: struct Curl_share
      item_type: struct
      name: cpool
      pos:
        line_end: 61
        line_start: 50
        source_file: /src/PROJ/curl/lib/conncache.h
    typedefs:
    - item_type: typedef
      name: "Curl_cpool_conn_match_cb(struct connectdata *conn,\n                                      void
        *userdata)"
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/conncache.h
      type: bool
    - item_type: typedef
      name: Curl_cpool_done_match_cb(bool result, void *userdata)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/PROJ/curl/lib/conncache.h
      type: bool
    - item_type: typedef
      name: "Curl_cpool_conn_do_cb(struct connectdata *conn,\n                                   struct
        Curl_easy *data,\n                                   void *cbdata)"
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/PROJ/curl/lib/conncache.h
      type: void
    union: []
- function_names:
  - dynhds_add_custom
  - Curl_http_proxy_get_destination
  - Curl_http_proxy_create_CONNECT
  - http_proxy_cf_connect
  - Curl_cf_http_proxy_query
  - http_proxy_cf_destroy
  - http_proxy_cf_close
  - Curl_cf_http_proxy_insert_after
  source_file: /src/PROJ/curl/lib/http_proxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: httpversion
        type: int
      item_type: struct
      name: cf_proxy_ctx
      pos:
        line_end: 201
        line_start: 198
        source_file: /src/PROJ/curl/lib/http_proxy.c
    typedefs: []
    union: []
- function_names:
  - imap_matchresp
  - imap_endofresp
  - imap_get_message
  - imap_state
  - imap_perform_capability
  - imap_perform_starttls
  - imap_perform_upgrade_tls
  - imap_perform_login
  - imap_perform_authenticate
  - imap_continue_authenticate
  - imap_cancel_authenticate
  - imap_perform_authentication
  - imap_perform_list
  - imap_perform_select
  - imap_perform_fetch
  - imap_perform_append
  - imap_perform_search
  - imap_perform_logout
  - imap_state_servergreet_resp
  - imap_state_capability_resp
  - imap_state_starttls_resp
  - imap_state_auth_resp
  - imap_state_login_resp
  - imap_state_listsearch_resp
  - imap_state_select_resp
  - imap_state_fetch_resp
  - imap_state_fetch_final_resp
  - imap_state_append_resp
  - imap_state_append_final_resp
  - imap_pp_statemachine
  - imap_multi_statemach
  - imap_block_statemach
  - imap_pollset
  - imap_connect
  - imap_done
  - imap_perform
  - imap_do
  - imap_disconnect
  - imap_dophase_done
  - imap_doing
  - imap_regular_transfer
  - imap_easy_reset
  - imap_easy_dtor
  - imap_conn_dtor
  - imap_setup_connection
  - imap_sendf
  - imap_atom
  - imap_is_bchar
  - imap_parse_url_options
  - imap_parse_url_path
  - imap_parse_custom_request
  source_file: /src/PROJ/curl/lib/imap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_IMAP_EASY
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/imap.c
      type_or_value: '"meta:proto:imap:easy"'
    - item_type: preproc_def
      name: CURL_META_IMAP_CONN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/imap.c
      type_or_value: '"meta:proto:imap:conn"'
    - item_type: preproc_def
      name: IMAP_RESP_OK
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/PROJ/curl/lib/imap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IMAP_RESP_NOT_OK
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/curl/lib/imap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IMAP_RESP_PREAUTH
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/PROJ/curl/lib/imap.c
      type_or_value: '3'
    structs:
    - fields:
      - name: pp
        type: struct pingpong
      - name: sasl
        type: struct SASL
      - name: dyn
        type: struct dynbuf
      - name: '*mailbox'
        type: char
      - name: state
        type: imapstate
      - name: mb_uidvalidity
        type: unsigned int
      - name: resptag[5]
        type: char
      - name: preftype
        type: unsigned char
      - name: cmdid
        type: unsigned char
      item_type: struct
      name: imap_conn
      pos:
        line_end: 128
        line_start: 112
        source_file: /src/PROJ/curl/lib/imap.c
    - fields:
      - name: transfer
        type: curl_pp_transfer
      - name: '*mailbox'
        type: char
      - name: '*uid'
        type: char
      - name: '*mindex'
        type: char
      - name: '*section'
        type: char
      - name: '*partial'
        type: char
      - name: '*query'
        type: char
      - name: '*custom'
        type: char
      - name: '*custom_params'
        type: char
      - name: uidvalidity
        type: unsigned int
      item_type: struct
      name: IMAP
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/PROJ/curl/lib/imap.c
    - fields:
      - name: bit
        type: int
      - name: '*flag'
        type: char
      item_type: struct
      name: ulbits
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/PROJ/curl/lib/imap.c
    typedefs: []
    union: []
- function_names:
  - memrchr
  source_file: /src/PROJ/curl/lib/curl_memrchr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/httpsrr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MAXLEN_host_name
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '253'
    - item_type: preproc_def
      name: MAX_HTTPSRR_ALPNS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_MANDATORY
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_ALPN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_NO_DEF_ALPN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_PORT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_IPV4
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_ECH
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_IPV6
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/httpsrr.h
      type_or_value: '0x06'
    structs:
    - fields:
      - name: '*rrname'
        type: char
      - name: '*target'
        type: char
      - name: '*ipv4hints'
        type: unsigned char
      - name: ipv4hints_len
        type: size_t
      - name: '*echconfiglist'
        type: unsigned char
      - name: echconfiglist_len
        type: size_t
      - name: '*ipv6hints'
        type: unsigned char
      - name: ipv6hints_len
        type: size_t
      - name: alpns[MAX_HTTPSRR_ALPNS]
        type: unsigned char
      - name: port
        type: int
      - name: priority
        type: uint16_t
      item_type: struct
      name: Curl_https_rrinfo
      pos:
        line_end: 57
        line_start: 39
        source_file: /src/PROJ/curl/lib/httpsrr.h
    typedefs: []
    union: []
- function_names:
  - slist_get_last
  - Curl_slist_append_nodup
  - curl_slist_append
  - Curl_slist_duplicate
  - curl_slist_free_all
  source_file: /src/PROJ/curl/lib/slist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_SEP
  - IS_SEP
  - IS_SEP
  - dirslash
  - Curl_fopen
  source_file: /src/PROJ/curl/lib/curl_fopen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/curl_fopen.c
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/curl_fopen.c
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/curl_fopen.c
      type_or_value: '"/"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_sasl_decode_mech
  - Curl_sasl_parse_url_auth_option
  - Curl_sasl_init
  - sasl_state
  - get_server_message
  - build_message
  - Curl_sasl_can_authenticate
  - sasl_choose_external
  - sasl_choose_krb5
  - sasl_choose_gsasl
  - sasl_choose_digest
  - sasl_choose_ntlm
  - sasl_choose_oauth
  - sasl_choose_oauth2
  - sasl_choose_plain
  - sasl_choose_login
  - Curl_sasl_start
  - Curl_sasl_continue
  - sasl_unchosen
  - Curl_sasl_is_blocked
  source_file: /src/PROJ/curl/lib/curl_sasl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SASL_KERBEROS5
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_KERBEROS5
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: CURL_SASL_GASL
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_GASL
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: CURL_SASL_DIGEST
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_DIGEST
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: CURL_SASL_NTLM
      pos:
        line_end: 904
        line_start: 903
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_NTLM
      pos:
        line_end: 906
        line_start: 905
        source_file: /src/PROJ/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: len
        type: size_t
      - name: bit
        type: unsigned short
      item_type: struct
      name: "mechtable[] = {\n  { \"LOGIN\",        5,  SASL_MECH_LOGIN },\n  { \"PLAIN\",
        \       5,  SASL_MECH_PLAIN },\n  { \"CRAM-MD5\",     8,  SASL_MECH_CRAM_MD5
        },\n  { \"DIGEST-MD5\",   10, SASL_MECH_DIGEST_MD5 },\n  { \"GSSAPI\",       6,
        \ SASL_MECH_GSSAPI },\n  { \"EXTERNAL\",     8,  SASL_MECH_EXTERNAL },\n  {
        \"NTLM\",         4,  SASL_MECH_NTLM },\n  { \"XOAUTH2\",      7,  SASL_MECH_XOAUTH2
        },\n  { \"OAUTHBEARER\",  11, SASL_MECH_OAUTHBEARER },\n  { \"SCRAM-SHA-1\",
        \ 11, SASL_MECH_SCRAM_SHA_1 },\n  { \"SCRAM-SHA-256\",13, SASL_MECH_SCRAM_SHA_256
        },\n  { ZERO_NULL,      0,  0 }\n}"
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/PROJ/curl/lib/curl_sasl.c
    - fields:
      - name: '*sasl'
        type: struct SASL
      - name: '*conn'
        type: struct connectdata
      - name: '*user'
        type: char
      - name: enabledmechs
        type: unsigned short
      - name: '*mech'
        type: char
      - name: state1
        type: saslstate
      - name: state2
        type: saslstate
      - name: resp
        type: struct bufref
      - name: result
        type: CURLcode
      item_type: struct
      name: sasl_ctx
      pos:
        line_end: 307
        line_start: 297
        source_file: /src/PROJ/curl/lib/curl_sasl.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/fileinfo.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: info
        type: struct curl_fileinfo
      - name: list
        type: struct Curl_llist_node
      - name: buf
        type: struct dynbuf
      item_type: struct
      name: fileinfo
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/PROJ/curl/lib/fileinfo.h
    typedefs: []
    union: []
- function_names:
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_F
  - MD4_G
  - MD4_H
  - MD4_STEP
  - MD4_SET
  - MD4_GET
  - MD4_SET
  - MD4_GET
  - my_md4_body
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - Curl_md4it
  source_file: /src/PROJ/curl/lib/md4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD4_CTX
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/md4.c
      type_or_value: WOLFSSL_MD4_CTX
    - item_type: preproc_def
      name: MD4_Init
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/md4.c
      type_or_value: wolfSSL_MD4_Init
    - item_type: preproc_def
      name: MD4_Update
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/md4.c
      type_or_value: wolfSSL_MD4_Update
    - item_type: preproc_def
      name: MD4_Final
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/md4.c
      type_or_value: wolfSSL_MD4_Final
    structs:
    - fields:
      - name: hCryptProv
        type: HCRYPTPROV
      - name: hHash
        type: HCRYPTHASH
      item_type: struct
      name: md4_ctx
      pos:
        line_end: 112
        line_start: 109
        source_file: /src/PROJ/curl/lib/md4.c
    - fields:
      - name: lo
        type: MD4_u32plus
      - name: a
        type: MD4_u32plus
      - name: buffer[64]
        type: unsigned char
      - name: block[16]
        type: MD4_u32plus
      item_type: struct
      name: md4_ctx
      pos:
        line_end: 214
        line_start: 209
        source_file: /src/PROJ/curl/lib/md4.c
    typedefs:
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/PROJ/curl/lib/md4.c
      type: CC_MD4_CTX
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/PROJ/curl/lib/md4.c
      type: md4_ctx
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/PROJ/curl/lib/md4.c
      type: md4_ctx
    - item_type: typedef
      name: MD4_u32plus
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/PROJ/curl/lib/md4.c
      type: unsigned int
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/PROJ/curl/lib/md4.c
      type: md4_ctx
    union: []
- function_names:
  - Curl_rtsp_parseheader
  source_file: /src/PROJ/curl/lib/rtsp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/mqtt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_sspi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECURITY_WIN32
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SP_NAME_DIGEST
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '"WDigest"'
    - item_type: preproc_def
      name: SP_NAME_NTLM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '"NTLM"'
    - item_type: preproc_def
      name: SP_NAME_NEGOTIATE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '"Negotiate"'
    - item_type: preproc_def
      name: SP_NAME_KERBEROS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '"Kerberos"'
    - item_type: preproc_def
      name: ISC_REQ_USE_HTTP_STYLE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: ISC_RET_REPLAY_DETECT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: ISC_RET_SEQUENCE_DETECT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: ISC_RET_CONFIDENTIALITY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: ISC_RET_ALLOCATED_MEMORY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: ISC_RET_STREAM
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: SEC_E_INSUFFICIENT_MEMORY
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090300L)
    - item_type: preproc_def
      name: SEC_E_INVALID_HANDLE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090301L)
    - item_type: preproc_def
      name: SEC_E_UNSUPPORTED_FUNCTION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090302L)
    - item_type: preproc_def
      name: SEC_E_TARGET_UNKNOWN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090303L)
    - item_type: preproc_def
      name: SEC_E_INTERNAL_ERROR
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090304L)
    - item_type: preproc_def
      name: SEC_E_SECPKG_NOT_FOUND
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090305L)
    - item_type: preproc_def
      name: SEC_E_NOT_OWNER
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090306L)
    - item_type: preproc_def
      name: SEC_E_CANNOT_INSTALL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090307L)
    - item_type: preproc_def
      name: SEC_E_INVALID_TOKEN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090308L)
    - item_type: preproc_def
      name: SEC_E_CANNOT_PACK
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090309L)
    - item_type: preproc_def
      name: SEC_E_QOP_NOT_SUPPORTED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030AL)
    - item_type: preproc_def
      name: SEC_E_NO_IMPERSONATION
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030BL)
    - item_type: preproc_def
      name: SEC_E_LOGON_DENIED
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030CL)
    - item_type: preproc_def
      name: SEC_E_UNKNOWN_CREDENTIALS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030DL)
    - item_type: preproc_def
      name: SEC_E_NO_CREDENTIALS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030EL)
    - item_type: preproc_def
      name: SEC_E_MESSAGE_ALTERED
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030FL)
    - item_type: preproc_def
      name: SEC_E_OUT_OF_SEQUENCE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090310L)
    - item_type: preproc_def
      name: SEC_E_NO_AUTHENTICATING_AUTHORITY
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090311L)
    - item_type: preproc_def
      name: SEC_E_BAD_PKGID
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090316L)
    - item_type: preproc_def
      name: SEC_E_CONTEXT_EXPIRED
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090317L)
    - item_type: preproc_def
      name: SEC_E_INCOMPLETE_MESSAGE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090318L)
    - item_type: preproc_def
      name: SEC_E_INCOMPLETE_CREDENTIALS
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090320L)
    - item_type: preproc_def
      name: SEC_E_BUFFER_TOO_SMALL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090321L)
    - item_type: preproc_def
      name: SEC_E_WRONG_PRINCIPAL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090322L)
    - item_type: preproc_def
      name: SEC_E_TIME_SKEW
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090324L)
    - item_type: preproc_def
      name: SEC_E_UNTRUSTED_ROOT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090325L)
    - item_type: preproc_def
      name: SEC_E_ILLEGAL_MESSAGE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090326L)
    - item_type: preproc_def
      name: SEC_E_CERT_UNKNOWN
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090327L)
    - item_type: preproc_def
      name: SEC_E_CERT_EXPIRED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090328L)
    - item_type: preproc_def
      name: SEC_E_ENCRYPT_FAILURE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090329L)
    - item_type: preproc_def
      name: SEC_E_DECRYPT_FAILURE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090330L)
    - item_type: preproc_def
      name: SEC_E_ALGORITHM_MISMATCH
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090331L)
    - item_type: preproc_def
      name: SEC_E_SECURITY_QOS_FAILED
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090332L)
    - item_type: preproc_def
      name: SEC_E_UNFINISHED_CONTEXT_DELETED
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090333L)
    - item_type: preproc_def
      name: SEC_E_NO_TGT_REPLY
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090334L)
    - item_type: preproc_def
      name: SEC_E_NO_IP_ADDRESSES
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090335L)
    - item_type: preproc_def
      name: SEC_E_WRONG_CREDENTIAL_HANDLE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090336L)
    - item_type: preproc_def
      name: SEC_E_CRYPTO_SYSTEM_INVALID
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090337L)
    - item_type: preproc_def
      name: SEC_E_MAX_REFERRALS_EXCEEDED
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090338L)
    - item_type: preproc_def
      name: SEC_E_MUST_BE_KDC
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090339L)
    - item_type: preproc_def
      name: SEC_E_STRONG_CRYPTO_NOT_SUPPORTED
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033AL)
    - item_type: preproc_def
      name: SEC_E_TOO_MANY_PRINCIPALS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033BL)
    - item_type: preproc_def
      name: SEC_E_NO_PA_DATA
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033CL)
    - item_type: preproc_def
      name: SEC_E_PKINIT_NAME_MISMATCH
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033DL)
    - item_type: preproc_def
      name: SEC_E_SMARTCARD_LOGON_REQUIRED
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033EL)
    - item_type: preproc_def
      name: SEC_E_SHUTDOWN_IN_PROGRESS
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033FL)
    - item_type: preproc_def
      name: SEC_E_KDC_INVALID_REQUEST
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090340L)
    - item_type: preproc_def
      name: SEC_E_KDC_UNABLE_TO_REFER
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090341L)
    - item_type: preproc_def
      name: SEC_E_KDC_UNKNOWN_ETYPE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090342L)
    - item_type: preproc_def
      name: SEC_E_UNSUPPORTED_PREAUTH
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090343L)
    - item_type: preproc_def
      name: SEC_E_DELEGATION_REQUIRED
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090345L)
    - item_type: preproc_def
      name: SEC_E_BAD_BINDINGS
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090346L)
    - item_type: preproc_def
      name: SEC_E_MULTIPLE_ACCOUNTS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090347L)
    - item_type: preproc_def
      name: SEC_E_NO_KERB_KEY
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090348L)
    - item_type: preproc_def
      name: SEC_E_CERT_WRONG_USAGE
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090349L)
    - item_type: preproc_def
      name: SEC_E_DOWNGRADE_DETECTED
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090350L)
    - item_type: preproc_def
      name: SEC_E_SMARTCARD_CERT_REVOKED
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090351L)
    - item_type: preproc_def
      name: SEC_E_ISSUING_CA_UNTRUSTED
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090352L)
    - item_type: preproc_def
      name: SEC_E_REVOCATION_OFFLINE_C
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090353L)
    - item_type: preproc_def
      name: SEC_E_PKINIT_CLIENT_FAILURE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090354L)
    - item_type: preproc_def
      name: SEC_E_SMARTCARD_CERT_EXPIRED
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090355L)
    - item_type: preproc_def
      name: SEC_E_NO_S4U_PROT_SUPPORT
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090356L)
    - item_type: preproc_def
      name: SEC_E_CROSSREALM_DELEGATION_FAILURE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090357L)
    - item_type: preproc_def
      name: SEC_E_REVOCATION_OFFLINE_KDC
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090358L)
    - item_type: preproc_def
      name: SEC_E_ISSUING_CA_UNTRUSTED_KDC
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090359L)
    - item_type: preproc_def
      name: SEC_E_KDC_CERT_EXPIRED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035AL)
    - item_type: preproc_def
      name: SEC_E_KDC_CERT_REVOKED
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035BL)
    - item_type: preproc_def
      name: SEC_E_INVALID_PARAMETER
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035DL)
    - item_type: preproc_def
      name: SEC_E_DELEGATION_POLICY
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035EL)
    - item_type: preproc_def
      name: SEC_E_POLICY_NLTM_ONLY
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035FL)
    - item_type: preproc_def
      name: SEC_I_CONTINUE_NEEDED
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090312L)
    - item_type: preproc_def
      name: SEC_I_COMPLETE_NEEDED
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090313L)
    - item_type: preproc_def
      name: SEC_I_COMPLETE_AND_CONTINUE
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090314L)
    - item_type: preproc_def
      name: SEC_I_LOCAL_LOGON
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090315L)
    - item_type: preproc_def
      name: SEC_I_CONTEXT_EXPIRED
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090317L)
    - item_type: preproc_def
      name: SEC_I_INCOMPLETE_CREDENTIALS
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090320L)
    - item_type: preproc_def
      name: SEC_I_RENEGOTIATE
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090321L)
    - item_type: preproc_def
      name: SEC_I_NO_LSA_CONTEXT
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090323L)
    - item_type: preproc_def
      name: SEC_I_SIGNATURE_NEEDED
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x0009035CL)
    - item_type: preproc_def
      name: CRYPT_E_NOT_IN_REVOCATION_DATABASE
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80092014L)
    - item_type: preproc_def
      name: KERB_WRAP_NO_ENCRYPT
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/PROJ/curl/lib/curl_sspi.h
      type_or_value: '0x80000001'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_input_digest
  - Curl_output_digest
  - Curl_http_auth_cleanup_digest
  source_file: /src/PROJ/curl/lib/http_digest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_psl_use
  source_file: /src/PROJ/curl/lib/psl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSL_TTL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/psl.h
      type_or_value: '(72 * 3600)     '
    structs:
    - fields:
      - name: '*psl'
        type: psl_ctx_t
      - name: expires
        type: time_t
      item_type: struct
      name: PslCache
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/PROJ/curl/lib/psl.h
    typedefs: []
    union: []
- function_names:
  - mqtt_easy_dtor
  - mqtt_conn_dtor
  - mqtt_setup_conn
  - mqtt_send
  - mqtt_pollset
  - mqtt_encode_len
  - add_passwd
  - add_user
  - add_client_id
  - init_connpack
  - mqtt_connect
  - mqtt_disconnect
  - mqtt_recv_atleast
  - mqtt_recv_consume
  - mqtt_verify_connack
  - mqtt_get_topic
  - mqtt_subscribe
  - mqtt_verify_suback
  - mqtt_publish
  - mqtt_decode_len
  - mqstate
  - mqtt_read_publish
  - mqtt_do
  - mqtt_done
  - mqtt_ping
  - mqtt_doing
  source_file: /src/PROJ/curl/lib/mqtt.c
  types:
    enum:
    - enumerators:
      - name: MQTT_FIRST
      - name: MQTT_SUBACK_COMING
      - name: MQTT_REMAINING_LENGTH
      - name: MQTT_CONNACK
      - name: MQTT_SUBACK
      - name: MQTT_PUBWAIT
      - name: MQTT_PUB_REMAIN
      - name: MQTT_NOSTATE
      item_type: enum
      name: mqttstate
      pos:
        line_end: 76
        line_start: 66
        source_file: /src/PROJ/curl/lib/mqtt.c
    preproc_defs:
    - item_type: preproc_def
      name: MQTT_MSG_CONNECT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MQTT_MSG_PUBLISH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: MQTT_MSG_SUBSCRIBE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: MQTT_MSG_SUBACK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '0x90'
    - item_type: preproc_def
      name: MQTT_MSG_DISCONNECT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: MQTT_MSG_PINGRESP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '0xD0'
    - item_type: preproc_def
      name: MQTT_CONNACK_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MQTT_SUBACK_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MQTT_CLIENTID_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: CURL_META_MQTT_EASY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '"meta:proto:mqtt:easy"'
    - item_type: preproc_def
      name: CURL_META_MQTT_CONN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/mqtt.c
      type_or_value: '"meta:proto:mqtt:conn"'
    structs:
    - fields:
      - name: state
        type: enum mqttstate
      - name: nextstate
        type: enum mqttstate
      - name: packetid
        type: unsigned int
      item_type: struct
      name: mqtt_conn
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/PROJ/curl/lib/mqtt.c
    - fields:
      - name: sendbuf
        type: struct dynbuf
      - name: recvbuf
        type: struct dynbuf
      - name: npacket
        type: size_t
      - name: remaining_length
        type: size_t
      - name: pkt_hd[4]
        type: unsigned char
      - name: lastTime
        type: struct curltime
      - name: firstbyte
        type: unsigned char
      item_type: struct
      name: MQTT
      pos:
        line_end: 96
        line_start: 86
        source_file: /src/PROJ/curl/lib/mqtt.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_mem_undef.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isatty
  - puts
  source_file: /src/PROJ/curl/lib/setup-os400.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NI_MAXHOST
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: '1025'
    - item_type: preproc_def
      name: NI_MAXSERV
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: '32'
    - item_type: preproc_def
      name: getaddrinfo
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_getaddrinfo_a
    - item_type: preproc_def
      name: getnameinfo
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_getnameinfo_a
    - item_type: preproc_def
      name: gss_import_name
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_gss_import_name_a
    - item_type: preproc_def
      name: gss_display_status
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_gss_display_status_a
    - item_type: preproc_def
      name: gss_init_sec_context
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_gss_init_sec_context_a
    - item_type: preproc_def
      name: gss_delete_sec_context
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_gss_delete_sec_context_a
    - item_type: preproc_def
      name: BerValue
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: struct berval
    - item_type: preproc_def
      name: ldap_url_parse
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: ldap_url_parse_utf8
    - item_type: preproc_def
      name: ldap_init
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_init_a
    - item_type: preproc_def
      name: ldap_simple_bind_s
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_simple_bind_s_a
    - item_type: preproc_def
      name: ldap_search_s
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_search_s_a
    - item_type: preproc_def
      name: ldap_get_values_len
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_get_values_len_a
    - item_type: preproc_def
      name: ldap_err2string
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_err2string_a
    - item_type: preproc_def
      name: ldap_get_dn
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_get_dn_a
    - item_type: preproc_def
      name: ldap_first_attribute
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_first_attribute_a
    - item_type: preproc_def
      name: ldap_next_attribute
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_next_attribute_a
    - item_type: preproc_def
      name: connect
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_connect
    - item_type: preproc_def
      name: bind
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_bind
    - item_type: preproc_def
      name: sendto
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_sendto
    - item_type: preproc_def
      name: recvfrom
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_recvfrom
    - item_type: preproc_def
      name: getpeername
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_getpeername
    - item_type: preproc_def
      name: getsockname
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_getsockname
    - item_type: preproc_def
      name: zlibVersion
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_zlibVersion
    - item_type: preproc_def
      name: inflateInit_
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflateInit_
    - item_type: preproc_def
      name: inflateInit2_
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflateInit2_
    - item_type: preproc_def
      name: inflate
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflate
    - item_type: preproc_def
      name: inflateEnd
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflateEnd
    structs: []
    typedefs:
    - item_type: typedef
      name: u_int32_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PROJ/curl/lib/setup-os400.h
      type: unsigned long
    union: []
- function_names:
  - Curl_amiga_init
  - Curl_amiga_cleanup
  source_file: /src/PROJ/curl/lib/amigaos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_fopen.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - oldap_state
  - oldap_map_error
  - oldap_url_parse
  - oldap_parse_login_options
  - oldap_setup_connection
  - oldap_get_message
  - oldap_perform_auth
  - oldap_continue_auth
  - oldap_cancel_auth
  - oldap_perform_bind
  - oldap_perform_mechs
  - oldap_perform_sasl
  - ssl_installed
  - oldap_ssl_connect
  - oldap_perform_starttls
  - oldap_easy_dtor
  - oldap_conn_dtor
  - oldap_connect
  - oldap_state_mechs_resp
  - oldap_state_sasl_resp
  - oldap_state_bind_resp
  - oldap_connecting
  - oldap_disconnect
  - oldap_do
  - oldap_done
  - client_write
  - oldap_recv
  - ldapsb_tls_setup
  - ldapsb_tls_remove
  - ldapsb_tls_close
  - ldapsb_tls_ctrl
  - ldapsb_tls_read
  - ldapsb_tls_write
  source_file: /src/PROJ/curl/lib/openldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_LDAP_EASY
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/curl/lib/openldap.c
      type_or_value: '"meta:proto:ldap:easy"'
    - item_type: preproc_def
      name: CURL_META_LDAP_CONN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/curl/lib/openldap.c
      type_or_value: '"meta:proto:ldap:conn"'
    structs:
    - fields:
      - name: sasl
        type: struct SASL
      - name: '*ld'
        type: LDAP
      - name: '*recv'
        type: Curl_recv
      - name: '*send'
        type: Curl_send
      - name: '*servercred'
        type: struct berval
      - name: state
        type: ldapstate
      - name: proto
        type: int
      - name: msgid
        type: int
      item_type: struct
      name: ldapconninfo
      pos:
        line_end: 198
        line_start: 189
        source_file: /src/PROJ/curl/lib/openldap.c
    - fields:
      - name: msgid
        type: int
      - name: nument
        type: int
      item_type: struct
      name: ldapreqinfo
      pos:
        line_end: 203
        line_start: 200
        source_file: /src/PROJ/curl/lib/openldap.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/smtp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AddHttpPost
  - AddFormInfo
  - free_formlist
  - FormAddCheck
  - free_chain
  - FormAdd
  - curl_formadd
  - curl_formget
  - curl_formfree
  - setname
  - Curl_getformdata
  - curl_formadd
  - curl_formget
  - curl_formfree
  source_file: /src/PROJ/curl/lib/formdata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPPOST_PTRNAME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_PTRNAME
    - item_type: preproc_def
      name: HTTPPOST_FILENAME
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_FILENAME
    - item_type: preproc_def
      name: HTTPPOST_PTRCONTENTS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_PTRCONTENTS
    - item_type: preproc_def
      name: HTTPPOST_READFILE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_READFILE
    - item_type: preproc_def
      name: HTTPPOST_PTRBUFFER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_PTRBUFFER
    - item_type: preproc_def
      name: HTTPPOST_CALLBACK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_CALLBACK
    - item_type: preproc_def
      name: HTTPPOST_BUFFER
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_BUFFER
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_MULTI_HANDLE
  - GOOD_MULTI_HANDLE
  - before_perform
  - init_completed
  - mstate
  - multistate
  - multistate
  - ph_freeentry
  - multi_addmsg
  - Curl_multi_handle
  - curl_multi_init
  - multi_warn_debug
  - multi_warn_debug
  - multi_xfers_add
  - curl_multi_add_handle
  - debug_print_sock_hash
  - multi_done
  - close_connect_only
  - curl_multi_remove_handle
  - Curl_multiplex_wanted
  - Curl_detach_connection
  - Curl_attach_connection
  - mstate_connecting_pollset
  - mstate_protocol_pollset
  - mstate_do_pollset
  - mstate_domore_pollset
  - mstate_perform_pollset
  - Curl_multi_pollset
  - curl_multi_fdset
  - curl_multi_waitfds
  - reset_socket_fdwrite
  - curl_multi_wait
  - curl_multi_poll
  - curl_multi_wakeup
  - multi_ischanged
  - Curl_multi_connchanged
  - Curl_multi_add_perform
  - multi_do
  - multi_do_more
  - multi_handle_timeout
  - protocol_connecting
  - protocol_doing
  - protocol_connect
  - set_in_callback
  - multi_posttransfer
  - multi_follow
  - mspeed_check
  - state_performing
  - state_do
  - state_ratelimiting
  - state_resolving
  - state_connect
  - multi_runsingle
  - curl_multi_perform
  - curl_multi_cleanup
  - curl_multi_info_read
  - Curl_multi_will_close
  - add_next_timeout
  - multi_mark_expired_as_dirty
  - multi_run_dirty
  - multi_socket
  - curl_multi_setopt
  - curl_multi_socket
  - curl_multi_socket_action
  - curl_multi_socket_all
  - multi_has_dirties
  - multi_timeout
  - curl_multi_timeout
  - Curl_update_timer
  - multi_deltimeout
  - multi_addtimeout
  - Curl_expire_ex
  - Curl_expire
  - Curl_expire_done
  - Curl_expire_clear
  - curl_multi_assign
  - move_pending_to_connect
  - process_pending_handles
  - Curl_set_in_callback
  - Curl_is_in_callback
  - Curl_multi_max_concurrent_streams
  - curl_multi_get_handles
  - curl_multi_get_offt
  - Curl_multi_xfer_buf_borrow
  - Curl_multi_xfer_buf_release
  - Curl_multi_xfer_ulbuf_borrow
  - Curl_multi_xfer_ulbuf_release
  - Curl_multi_xfer_sockbuf_borrow
  - Curl_multi_xfer_sockbuf_release
  - multi_xfer_bufs_free
  - Curl_multi_get_easy
  - Curl_multi_xfers_running
  - Curl_multi_mark_dirty
  - Curl_multi_clear_dirty
  - curl_multi_notify_enable
  - curl_multi_notify_disable
  - multi_xfer_dump
  - multi_xfer_tbl_dump
  source_file: /src/PROJ/curl/lib/multi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_XFER_TABLE_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '512'
    - item_type: preproc_def
      name: CURL_SOCKET_HASH_TABLE_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '911'
    - item_type: preproc_def
      name: CURL_CONNECTION_HASH_SIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '97'
    - item_type: preproc_def
      name: CURL_DNS_HASH_SIZE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '71'
    - item_type: preproc_def
      name: CURL_TLS_SESSION_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '25'
    - item_type: preproc_def
      name: CURL_MULTI_HANDLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '0x000bab1e'
    - item_type: preproc_def
      name: NUM_POLLS_ON_STACK
      pos:
        line_end: 1305
        line_start: 1304
        source_file: /src/PROJ/curl/lib/multi.c
      type_or_value: '10'
    structs:
    - fields: []
      item_type: struct
      name: multi_done_ctx
      pos:
        line_end: 546
        line_start: 544
        source_file: /src/PROJ/curl/lib/multi.c
    - fields:
      - name: '*multi'
        type: struct Curl_multi
      - name: now
        type: struct curltime
      - name: run_xfers
        type: size_t
      - name: run_cpool
        type: bool
      item_type: struct
      name: multi_run_ctx
      pos:
        line_end: 3064
        line_start: 3058
        source_file: /src/PROJ/curl/lib/multi.c
    typedefs:
    - item_type: typedef
      name: (*init_multistate_func)(struct Curl_easy *data)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/PROJ/curl/lib/multi.c
      type: void
    union: []
- function_names:
  - appendnl
  - Curl_get_line
  source_file: /src/PROJ/curl/lib/curl_get_line.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/smb.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FREE_ON_WINLDAP
  - LDAP_TRACE
  - LDAP_TRACE
  - ldap_win_bind_auth
  - ldap_win_bind
  - ldap_do
  - ldap_trace_low
  - str2scope
  - num_entries
  - ldap_url_parse2_low
  - ldap_url_parse_low
  - ldap_free_urldesc_low
  source_file: /src/PROJ/curl/lib/ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_DEPRECATED
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: '1      '
    - item_type: preproc_def
      name: curl_ldap_num_t
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: ULONG
    - item_type: preproc_def
      name: curl_ldap_num_t
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: int
    - item_type: preproc_def
      name: LDAPURLDesc
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: struct ldap_urldesc
    - item_type: preproc_def
      name: ldap_free_urldesc
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: ldap_free_urldesc_low
    - item_type: preproc_def
      name: ldap_err2string
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: ldap_err2stringA
    - item_type: preproc_def
      name: LDAP_OPT_ON
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: ((void *)(size_t)1)
    - item_type: preproc_def
      name: LDAP_OPT_OFF
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/lib/ldap.c
      type_or_value: ((void *)(size_t)0)
    structs:
    - fields:
      - name: '*lud_host'
        type: char
      - name: lud_port
        type: int
      - name: lud_scope
        type: int
      - name: '**lud_exts'
        type: char
      - name: lud_attrs_dups
        type: size_t
      item_type: struct
      name: ldap_urldesc
      pos:
        line_end: 132
        line_start: 112
        source_file: /src/PROJ/curl/lib/ldap.c
    typedefs: []
    union: []
- function_names:
  - Curl_sync_getaddrinfo
  - Curl_ipv4_resolve_r
  source_file: /src/PROJ/curl/lib/hostip4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_gethostname
  source_file: /src/PROJ/curl/lib/curl_gethostname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_get_line.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_easyopts_check
  source_file: /src/PROJ/curl/lib/easyoptions.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_range
  source_file: /src/PROJ/curl/lib/curl_range.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_HMAC_init
  - Curl_HMAC_update
  - Curl_HMAC_final
  - Curl_hmacit
  source_file: /src/PROJ/curl/lib/hmac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_speedinit
  - Curl_speedcheck
  source_file: /src/PROJ/curl/lib/speedcheck.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/uint-spbset.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_SPBSET_CH_SLOTS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/uint-spbset.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_UINT_SPBSET_CH_MASK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/uint-spbset.h
      type_or_value: ((CURL_UINT_SPBSET_CH_SLOTS * 64) - 1)
    structs:
    - fields:
      - name: '*next'
        type: struct uint_spbset_chunk
      - name: slots[CURL_UINT_SPBSET_CH_SLOTS]
        type: curl_uint64_t
      - name: offset
        type: unsigned int
      item_type: struct
      name: uint_spbset_chunk
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/PROJ/curl/lib/uint-spbset.h
    - fields:
      - name: head
        type: struct uint_spbset_chunk
      item_type: struct
      name: uint_spbset
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/PROJ/curl/lib/uint-spbset.h
    typedefs: []
    union: []
- function_names:
  - Curl_async_global_init
  - Curl_async_global_cleanup
  - Curl_async_get_impl
  - addr_ctx_unlink
  - addr_ctx_create
  - CURL_STDCALL::getaddrinfo_thread
  - CURL_STDCALL::gethostbyname_thread
  - async_thrdd_destroy
  - async_thrdd_rr_done
  - async_rr_start
  - async_thrdd_init
  - async_thrdd_shutdown
  - asyn_thrdd_await
  - Curl_async_thrdd_shutdown
  - Curl_async_thrdd_destroy
  - Curl_async_await
  - Curl_async_is_resolved
  - Curl_async_pollset
  - Curl_async_getaddrinfo
  - Curl_async_getaddrinfo
  source_file: /src/PROJ/curl/lib/asyn-thrdd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESOLVER_ENOMEM
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/asyn-thrdd.c
      type_or_value: 'EAI_MEMORY  '
    - item_type: preproc_def
      name: RESOLVER_ENOMEM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/asyn-thrdd.c
      type_or_value: SOCKENOMEM
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_macos_init
  source_file: /src/PROJ/curl/lib/macos.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cw-pause.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STARTS_WITH_DRIVE_PREFIX
  - STARTS_WITH_URL_DRIVE_PREFIX
  - free_urlhandle
  - find_host_sep
  - cc2cu
  - urlencode_str
  - Curl_is_absolute_url
  - redirect_url
  - Curl_junkscan
  - parse_hostname_login
  - Curl_parse_port
  - ipv6_parse
  - hostname_check
  - ipv4_normalize
  - urldecode_host
  - parse_authority
  - Curl_url_set_authority
  - is_dot
  - ISSLASH
  - dedotdotify
  - parseurl
  - parseurl_and_replace
  - curl_url
  - curl_url_cleanup
  - DUP
  - curl_url_dup
  - host_decode
  - host_encode
  - host_decode
  - host_encode
  - urlget_format
  - urlget_url
  - curl_url_get
  - set_url_scheme
  - set_url_port
  - set_url
  - urlset_clear
  - allowed_in_path
  - curl_url_set
  source_file: /src/PROJ/curl/lib/urlapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SCHEME_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: '40'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: (AF_INET + 1)
    - item_type: preproc_def
      name: DEFAULT_SCHEME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: '"https"'
    - item_type: preproc_def
      name: HOST_ERROR
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: '-1 '
    - item_type: preproc_def
      name: HOST_NAME
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HOST_IPV4
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HOST_IPV6
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/PROJ/curl/lib/urlapi.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*scheme'
        type: char
      - name: '*user'
        type: char
      - name: '*password'
        type: char
      - name: '*options'
        type: char
      - name: '*host'
        type: char
      - name: '*zoneid'
        type: char
      - name: '*port'
        type: char
      - name: '*path'
        type: char
      - name: '*query'
        type: char
      - name: '*fragment'
        type: char
      - name: portnum
        type: unsigned short
      item_type: struct
      name: Curl_URL
      pos:
        line_end: 87
        line_start: 72
        source_file: /src/PROJ/curl/lib/urlapi.c
    typedefs: []
    union: []
- function_names:
  - Curl_ws_request
  - Curl_ws_free
  source_file: /src/PROJ/curl/lib/ws.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_PROTO_WS_CONN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/ws.h
      type_or_value: '"meta:proto:ws:conn"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/ftplistparser.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*pattern'
        type: char
      - name: filelist
        type: struct Curl_llist
      - name: '*ftpwc'
        type: struct ftp_wc
      - name: dtor
        type: wildcard_dtor
      - name: state
        type: unsigned char
      item_type: struct
      name: WildcardData
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/PROJ/curl/lib/ftplistparser.h
    typedefs:
    - item_type: typedef
      name: (*wildcard_dtor)(void *ptr)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/PROJ/curl/lib/ftplistparser.h
      type: void
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/telnet.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CPOOL_IS_LOCKED
  - CPOOL_LOCK
  - CPOOL_UNLOCK
  - cpool_bundle_create
  - cpool_bundle_destroy
  - cpool_bundle_add
  - cpool_bundle_remove
  - cpool_bundle_free_entry
  - Curl_cpool_init
  - cpool_get_first
  - cpool_find_bundle
  - cpool_remove_bundle
  - cpool_remove_conn
  - Curl_cpool_destroy
  - cpool_get_instance
  - Curl_cpool_xfer_init
  - cpool_add_bundle
  - cpool_bundle_get_oldest_idle
  - cpool_get_oldest_idle
  - Curl_cpool_check_limits
  - Curl_cpool_add
  - cpool_foreach
  - Curl_cpool_conn_now_idle
  - Curl_cpool_find
  - cpool_discard_conn
  - Curl_conn_terminate
  - cpool_reap_dead_cb
  - Curl_cpool_prune_dead
  - conn_upkeep
  - Curl_cpool_upkeep
  - cpool_find_conn
  - Curl_cpool_get_conn
  - cpool_do_conn
  - Curl_cpool_do_by_id
  - Curl_cpool_do_locked
  - cpool_mark_stale
  - cpool_reap_no_reuse
  - Curl_cpool_nw_changed
  - Curl_cpool_print
  source_file: /src/PROJ/curl/lib/conncache.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: conns
        type: struct Curl_llist
      - name: dest_len
        type: size_t
      - name: dest[1]
        type: char
      item_type: struct
      name: cpool_bundle
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/PROJ/curl/lib/conncache.c
    - fields:
      - name: now
        type: struct curltime
      item_type: struct
      name: cpool_reaper_ctx
      pos:
        line_end: 711
        line_start: 709
        source_file: /src/PROJ/curl/lib/conncache.c
    - fields:
      - name: id
        type: curl_off_t
      - name: '*conn'
        type: struct connectdata
      item_type: struct
      name: cpool_find_ctx
      pos:
        line_end: 780
        line_start: 777
        source_file: /src/PROJ/curl/lib/conncache.c
    - fields:
      - name: id
        type: curl_off_t
      - name: '*cb'
        type: Curl_cpool_conn_do_cb
      - name: '*cbdata'
        type: void
      item_type: struct
      name: cpool_do_conn_ctx
      pos:
        line_end: 814
        line_start: 810
        source_file: /src/PROJ/curl/lib/conncache.c
    typedefs: []
    union: []
- function_names:
  - cap_expires
  - freecookie
  - cookie_tailmatch
  - pathmatch
  - get_top_domain
  - cookie_hash_domain
  - cookiehash
  - sanitize_cookie_path
  - Curl_cookie_loadfiles
  - strstore
  - remove_expired
  - bad_domain
  - invalid_octets
  - parse_cookie_header
  - parse_netscape
  - is_public_suffix
  - replace_existing
  - Curl_cookie_add
  - Curl_cookie_init
  - cookie_sort
  - cookie_sort_ct
  - Curl_secure_context
  - Curl_cookie_getlist
  - Curl_cookie_clearall
  - Curl_cookie_clearsess
  - Curl_cookie_cleanup
  - get_netscape_format
  - cookie_output
  - cookie_list
  - Curl_cookie_list
  - Curl_flush_cookies
  source_file: /src/PROJ/curl/lib/cookie.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COOKIES_MAXAGE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: (400*24*3600)
    - item_type: preproc_def
      name: CERR_OK
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CERR_TOO_LONG
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: CERR_TAB
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: CERR_TOO_BIG
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: CERR_BAD
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: CERR_NO_SEP
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: CERR_NO_NAME_VALUE
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: CERR_INVALID_OCTET
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: CERR_BAD_SECURE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: CERR_OUT_OF_MEMORY
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '9'
    - item_type: preproc_def
      name: CERR_NO_TAILMATCH
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CERR_COMMENT
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: CERR_RANGE
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: CERR_FIELDS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '13 '
    - item_type: preproc_def
      name: CERR_PSL
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '14 '
    - item_type: preproc_def
      name: CERR_LIVE_WINS
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_DATE_LENGTH
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/PROJ/curl/lib/cookie.c
      type_or_value: '80'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/uint-table.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**rows'
        type: void
      - name: '*entry_dtor'
        type: Curl_uint_tbl_entry_dtor
      - name: nrows
        type: unsigned int
      - name: nentries
        type: unsigned int
      - name: last_key_added
        type: unsigned int
      item_type: struct
      name: uint_tbl
      pos:
        line_end: 41
        line_start: 32
        source_file: /src/PROJ/curl/lib/uint-table.h
    typedefs:
    - item_type: typedef
      name: Curl_uint_tbl_entry_dtor(unsigned int key, void *entry)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/PROJ/curl/lib/uint-table.h
      type: void
    union: []
- function_names:
  - dump_addrinfo
  - dump_addrinfo
  - Curl_sync_getaddrinfo
  source_file: /src/PROJ/curl/lib/hostip6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SHORTPAIR
  - LONGQUARTET
  source_file: /src/PROJ/curl/lib/curl_ntlm_core.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http_aws_sigv4.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DllMain
  source_file: /src/PROJ/curl/lib/dllmain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vms_translate_path
  - vms_translate_path
  - vms_getenv
  - vms_getpwuid
  - CONF_modules_load_file
  source_file: /src/PROJ/curl/lib/setup-vms.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: getenv
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: decc_getenv
    - item_type: preproc_def
      name: getpwuid
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: decc_getpwuid
    - item_type: preproc_def
      name: getenv
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: vms_getenv
    - item_type: preproc_def
      name: getpwuid
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: vms_getpwuid
    - item_type: preproc_def
      name: sys$assign
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SYS$ASSIGN
    - item_type: preproc_def
      name: sys$dassgn
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SYS$DASSGN
    - item_type: preproc_def
      name: sys$qiow
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SYS$QIOW
    - item_type: preproc_def
      name: decc_getpwuid
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: DECC$__LONG_GID_GETPWUID
    - item_type: preproc_def
      name: decc_getpwuid
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: decc$__32_getpwuid
    - item_type: preproc_def
      name: decc_getpwuid
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: decc$getpwuid
    - item_type: preproc_def
      name: ASN1_INTEGER_get
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ASN1_INTEGER_GET
    - item_type: preproc_def
      name: ASN1_STRING_data
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_DATA
    - item_type: preproc_def
      name: ASN1_STRING_length
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_LENGTH
    - item_type: preproc_def
      name: ASN1_STRING_print
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_PRINT
    - item_type: preproc_def
      name: ASN1_STRING_to_UTF8
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_TO_UTF8
    - item_type: preproc_def
      name: ASN1_STRING_type
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_TYPE
    - item_type: preproc_def
      name: BIO_ctrl
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: BIO_CTRL
    - item_type: preproc_def
      name: BIO_free
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: BIO_FREE
    - item_type: preproc_def
      name: BIO_new
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: BIO_NEW
    - item_type: preproc_def
      name: BIO_s_mem
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: BIO_S_MEM
    - item_type: preproc_def
      name: BN_bn2bin
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: BN_BN2BIN
    - item_type: preproc_def
      name: BN_num_bits
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: BN_NUM_BITS
    - item_type: preproc_def
      name: CRYPTO_cleanup_all_ex_data
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: CRYPTO_CLEANUP_ALL_EX_DATA
    - item_type: preproc_def
      name: CRYPTO_free
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: CRYPTO_FREE
    - item_type: preproc_def
      name: CRYPTO_malloc
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: CRYPTO_MALLOC
    - item_type: preproc_def
      name: CONF_modules_load_file
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: CONF_MODULES_LOAD_FILE
    - item_type: preproc_def
      name: CONF_MFLAGS_IGNORE_MISSING_FILE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: DES_ecb_encrypt
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: DES_ECB_ENCRYPT
    - item_type: preproc_def
      name: DES_set_key
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: DES_SET_KEY
    - item_type: preproc_def
      name: DES_set_odd_parity
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: DES_SET_ODD_PARITY
    - item_type: preproc_def
      name: ENGINE_ctrl
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_CTRL
    - item_type: preproc_def
      name: ENGINE_ctrl_cmd
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_CTRL_CMD
    - item_type: preproc_def
      name: ENGINE_finish
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_FINISH
    - item_type: preproc_def
      name: ENGINE_free
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_FREE
    - item_type: preproc_def
      name: ENGINE_get_first
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_GET_FIRST
    - item_type: preproc_def
      name: ENGINE_get_id
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_GET_ID
    - item_type: preproc_def
      name: ENGINE_get_next
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_GET_NEXT
    - item_type: preproc_def
      name: ENGINE_init
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_INIT
    - item_type: preproc_def
      name: ENGINE_load_builtin_engines
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_LOAD_BUILTIN_ENGINES
    - item_type: preproc_def
      name: ENGINE_load_private_key
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_LOAD_PRIVATE_KEY
    - item_type: preproc_def
      name: ENGINE_set_default
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ENGINE_SET_DEFAULT
    - item_type: preproc_def
      name: ERR_clear_error
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_CLEAR_ERROR
    - item_type: preproc_def
      name: ERR_error_string
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_ERROR_STRING
    - item_type: preproc_def
      name: ERR_error_string_n
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_ERROR_STRING_N
    - item_type: preproc_def
      name: ERR_free_strings
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_FREE_STRINGS
    - item_type: preproc_def
      name: ERR_get_error
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_GET_ERROR
    - item_type: preproc_def
      name: ERR_peek_error
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_PEEK_ERROR
    - item_type: preproc_def
      name: ERR_remove_state
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ERR_REMOVE_STATE
    - item_type: preproc_def
      name: EVP_PKEY_copy_parameters
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: EVP_PKEY_COPY_PARAMETERS
    - item_type: preproc_def
      name: EVP_PKEY_free
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: EVP_PKEY_FREE
    - item_type: preproc_def
      name: EVP_cleanup
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: EVP_CLEANUP
    - item_type: preproc_def
      name: GENERAL_NAMES_free
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: GENERAL_NAMES_FREE
    - item_type: preproc_def
      name: i2d_X509_PUBKEY
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: I2D_X509_PUBKEY
    - item_type: preproc_def
      name: MD4_Final
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: MD4_FINAL
    - item_type: preproc_def
      name: MD4_Init
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: MD4_INIT
    - item_type: preproc_def
      name: MD4_Update
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: MD4_UPDATE
    - item_type: preproc_def
      name: MD5_Final
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: MD5_FINAL
    - item_type: preproc_def
      name: MD5_Init
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: MD5_INIT
    - item_type: preproc_def
      name: MD5_Update
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: MD5_UPDATE
    - item_type: preproc_def
      name: OPENSSL_add_all_algo_noconf
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: OPENSSL_ADD_ALL_ALGO_NOCONF
    - item_type: preproc_def
      name: OPENSSL_load_builtin_modules
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: OPENSSL_LOAD_BUILTIN_MODULES
    - item_type: preproc_def
      name: PEM_read_X509
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: PEM_READ_X509
    - item_type: preproc_def
      name: PEM_write_bio_X509
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: PEM_WRITE_BIO_X509
    - item_type: preproc_def
      name: PKCS12_free
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: PKCS12_FREE
    - item_type: preproc_def
      name: PKCS12_parse
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: PKCS12_PARSE
    - item_type: preproc_def
      name: RAND_add
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: RAND_ADD
    - item_type: preproc_def
      name: RAND_bytes
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: RAND_BYTES
    - item_type: preproc_def
      name: RAND_file_name
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: RAND_FILE_NAME
    - item_type: preproc_def
      name: RAND_load_file
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: RAND_LOAD_FILE
    - item_type: preproc_def
      name: RAND_status
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: RAND_STATUS
    - item_type: preproc_def
      name: SSL_CIPHER_get_name
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CIPHER_GET_NAME
    - item_type: preproc_def
      name: SSL_CTX_add_client_CA
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_ADD_CLIENT_CA
    - item_type: preproc_def
      name: SSL_CTX_callback_ctrl
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_CALLBACK_CTRL
    - item_type: preproc_def
      name: SSL_CTX_check_private_key
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_CHECK_PRIVATE_KEY
    - item_type: preproc_def
      name: SSL_CTX_ctrl
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_CTRL
    - item_type: preproc_def
      name: SSL_CTX_free
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_FREE
    - item_type: preproc_def
      name: SSL_CTX_get_cert_store
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_GET_CERT_STORE
    - item_type: preproc_def
      name: SSL_CTX_load_verify_locations
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_LOAD_VERIFY_LOCATIONS
    - item_type: preproc_def
      name: SSL_CTX_new
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_NEW
    - item_type: preproc_def
      name: SSL_CTX_set_cipher_list
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_CIPHER_LIST
    - item_type: preproc_def
      name: SSL_CTX_set_def_passwd_cb_ud
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_DEF_PASSWD_CB_UD
    - item_type: preproc_def
      name: SSL_CTX_set_default_passwd_cb
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_DEFAULT_PASSWD_CB
    - item_type: preproc_def
      name: SSL_CTX_set_msg_callback
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_MSG_CALLBACK
    - item_type: preproc_def
      name: SSL_CTX_set_verify
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_VERIFY
    - item_type: preproc_def
      name: SSL_CTX_use_PrivateKey
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_PRIVATEKEY
    - item_type: preproc_def
      name: SSL_CTX_use_PrivateKey_file
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_PRIVATEKEY_FILE
    - item_type: preproc_def
      name: SSL_CTX_use_cert_chain_file
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_CERT_CHAIN_FILE
    - item_type: preproc_def
      name: SSL_CTX_use_certificate
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_CERTIFICATE
    - item_type: preproc_def
      name: SSL_CTX_use_certificate_file
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_CERTIFICATE_FILE
    - item_type: preproc_def
      name: SSL_SESSION_free
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_SESSION_FREE
    - item_type: preproc_def
      name: SSL_connect
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_CONNECT
    - item_type: preproc_def
      name: SSL_free
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_FREE
    - item_type: preproc_def
      name: SSL_get1_session
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET1_SESSION
    - item_type: preproc_def
      name: SSL_get_certificate
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_CERTIFICATE
    - item_type: preproc_def
      name: SSL_get_current_cipher
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_CURRENT_CIPHER
    - item_type: preproc_def
      name: SSL_get_error
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_ERROR
    - item_type: preproc_def
      name: SSL_get_peer_cert_chain
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_PEER_CERT_CHAIN
    - item_type: preproc_def
      name: SSL_get_peer_certificate
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_PEER_CERTIFICATE
    - item_type: preproc_def
      name: SSL_get_privatekey
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_PRIVATEKEY
    - item_type: preproc_def
      name: SSL_get_session
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_SESSION
    - item_type: preproc_def
      name: SSL_get_shutdown
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_SHUTDOWN
    - item_type: preproc_def
      name: SSL_get_verify_result
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_GET_VERIFY_RESULT
    - item_type: preproc_def
      name: SSL_library_init
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_LIBRARY_INIT
    - item_type: preproc_def
      name: SSL_load_error_strings
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_LOAD_ERROR_STRINGS
    - item_type: preproc_def
      name: SSL_new
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_NEW
    - item_type: preproc_def
      name: SSL_peek
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_PEEK
    - item_type: preproc_def
      name: SSL_pending
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_PENDING
    - item_type: preproc_def
      name: SSL_read
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_READ
    - item_type: preproc_def
      name: SSL_set_connect_state
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_SET_CONNECT_STATE
    - item_type: preproc_def
      name: SSL_set_fd
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_SET_FD
    - item_type: preproc_def
      name: SSL_set_session
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_SET_SESSION
    - item_type: preproc_def
      name: SSL_shutdown
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_SHUTDOWN
    - item_type: preproc_def
      name: SSL_version
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_VERSION
    - item_type: preproc_def
      name: SSL_write
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSL_WRITE
    - item_type: preproc_def
      name: SSLeay
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSLEAY
    - item_type: preproc_def
      name: SSLv23_client_method
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSLV23_CLIENT_METHOD
    - item_type: preproc_def
      name: SSLv3_client_method
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SSLV3_CLIENT_METHOD
    - item_type: preproc_def
      name: TLSv1_client_method
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: TLSV1_CLIENT_METHOD
    - item_type: preproc_def
      name: UI_create_method
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_CREATE_METHOD
    - item_type: preproc_def
      name: UI_destroy_method
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_DESTROY_METHOD
    - item_type: preproc_def
      name: UI_get0_user_data
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_GET0_USER_DATA
    - item_type: preproc_def
      name: UI_get_input_flags
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_GET_INPUT_FLAGS
    - item_type: preproc_def
      name: UI_get_string_type
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_GET_STRING_TYPE
    - item_type: preproc_def
      name: UI_create_method
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_CREATE_METHOD
    - item_type: preproc_def
      name: UI_destroy_method
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_DESTROY_METHOD
    - item_type: preproc_def
      name: UI_method_get_closer
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_CLOSER
    - item_type: preproc_def
      name: UI_method_get_opener
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_OPENER
    - item_type: preproc_def
      name: UI_method_get_reader
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_READER
    - item_type: preproc_def
      name: UI_method_get_writer
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_WRITER
    - item_type: preproc_def
      name: UI_method_set_closer
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_CLOSER
    - item_type: preproc_def
      name: UI_method_set_opener
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_OPENER
    - item_type: preproc_def
      name: UI_method_set_reader
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_READER
    - item_type: preproc_def
      name: UI_method_set_writer
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_WRITER
    - item_type: preproc_def
      name: UI_OpenSSL
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_OPENSSL
    - item_type: preproc_def
      name: UI_set_result
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: UI_SET_RESULT
    - item_type: preproc_def
      name: X509V3_EXT_print
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509V3_EXT_PRINT
    - item_type: preproc_def
      name: X509_EXTENSION_get_critical
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_EXTENSION_GET_CRITICAL
    - item_type: preproc_def
      name: X509_EXTENSION_get_data
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_EXTENSION_GET_DATA
    - item_type: preproc_def
      name: X509_EXTENSION_get_object
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_EXTENSION_GET_OBJECT
    - item_type: preproc_def
      name: X509_LOOKUP_file
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_LOOKUP_FILE
    - item_type: preproc_def
      name: X509_NAME_ENTRY_get_data
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_NAME_ENTRY_GET_DATA
    - item_type: preproc_def
      name: X509_NAME_get_entry
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_NAME_GET_ENTRY
    - item_type: preproc_def
      name: X509_NAME_get_index_by_NID
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_NAME_GET_INDEX_BY_NID
    - item_type: preproc_def
      name: X509_NAME_print_ex
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_NAME_PRINT_EX
    - item_type: preproc_def
      name: X509_STORE_CTX_get_current_cert
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_STORE_CTX_GET_CURRENT_CERT
    - item_type: preproc_def
      name: X509_STORE_add_lookup
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_STORE_ADD_LOOKUP
    - item_type: preproc_def
      name: X509_STORE_set_flags
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_STORE_SET_FLAGS
    - item_type: preproc_def
      name: X509_check_issued
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_CHECK_ISSUED
    - item_type: preproc_def
      name: X509_free
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_FREE
    - item_type: preproc_def
      name: X509_get_ext_d2i
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_GET_EXT_D2I
    - item_type: preproc_def
      name: X509_get_issuer_name
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_GET_ISSUER_NAME
    - item_type: preproc_def
      name: X509_get_pubkey
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_GET_PUBKEY
    - item_type: preproc_def
      name: X509_get_serialNumber
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_GET_SERIALNUMBER
    - item_type: preproc_def
      name: X509_get_subject_name
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_GET_SUBJECT_NAME
    - item_type: preproc_def
      name: X509_load_crl_file
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_LOAD_CRL_FILE
    - item_type: preproc_def
      name: X509_verify_cert_error_string
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: X509_VERIFY_CERT_ERROR_STRING
    - item_type: preproc_def
      name: d2i_PKCS12_fp
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: D2I_PKCS12_FP
    - item_type: preproc_def
      name: i2t_ASN1_OBJECT
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: I2T_ASN1_OBJECT
    - item_type: preproc_def
      name: sk_num
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SK_NUM
    - item_type: preproc_def
      name: sk_pop
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SK_POP
    - item_type: preproc_def
      name: sk_pop_free
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SK_POP_FREE
    - item_type: preproc_def
      name: sk_value
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SK_VALUE
    - item_type: preproc_def
      name: SHA256_Final
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SHA256_FINAL
    - item_type: preproc_def
      name: SHA256_Init
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SHA256_INIT
    - item_type: preproc_def
      name: SHA256_Update
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: SHA256_UPDATE
    - item_type: preproc_def
      name: USE_UPPERCASE_GSSAPI
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: '1'
    - item_type: preproc_def
      name: gss_seal
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: GSS_SEAL
    - item_type: preproc_def
      name: gss_unseal
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: GSS_UNSEAL
    - item_type: preproc_def
      name: USE_UPPERCASE_KRBAPI
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: '1'
    - item_type: preproc_def
      name: inflate
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: INFLATE
    - item_type: preproc_def
      name: inflateEnd
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: INFLATEEND
    - item_type: preproc_def
      name: inflateInit2_
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: INFLATEINIT2_
    - item_type: preproc_def
      name: inflateInit_
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: INFLATEINIT_
    - item_type: preproc_def
      name: zlibVersion
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: ZLIBVERSION
    - item_type: preproc_def
      name: OpenSSL_add_all_algorithms
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/PROJ/curl/lib/setup-vms.h
      type_or_value: OPENSSL_ADD_ALL_ALGORITHMS
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_fnmatch.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_FNMATCH_MATCH
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PROJ/curl/lib/curl_fnmatch.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_FNMATCH_NOMATCH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/curl_fnmatch.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_FNMATCH_FAIL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/curl_fnmatch.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cf_haproxy_ctx_reset
  - cf_haproxy_ctx_free
  - cf_haproxy_connect
  - cf_haproxy_destroy
  - cf_haproxy_close
  - cf_haproxy_adjust_pollset
  - cf_haproxy_create
  - Curl_cf_haproxy_insert_after
  source_file: /src/PROJ/curl/lib/cf-haproxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: int
      - name: data_out
        type: struct dynbuf
      item_type: struct
      name: cf_haproxy_ctx
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/PROJ/curl/lib/cf-haproxy.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_sha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SHA256_DIGEST_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/curl_sha256.h
      type_or_value: '32 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/noproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/multihandle.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLPIPE_ANY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/multihandle.h
      type_or_value: (CURLPIPE_MULTIPLEX)
    - item_type: preproc_def
      name: INITIAL_MAX_CONCURRENT_STREAMS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/multihandle.h
      type_or_value: ((1U << 31) - 1)
    - item_type: preproc_def
      name: IPV6_UNKNOWN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/PROJ/curl/lib/multihandle.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IPV6_DEAD
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/lib/multihandle.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IPV6_WORKS
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/curl/lib/multihandle.h
      type_or_value: '2'
    structs:
    - fields:
      - name: list
        type: struct Curl_llist_node
      - name: extmsg
        type: struct CURLMsg
      item_type: struct
      name: Curl_message
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/PROJ/curl/lib/multihandle.h
    - fields:
      - name: magic
        type: unsigned int
      - name: xfers_alive
        type: unsigned int
      - name: xfers_total_ever
        type: curl_off_t
      - name: xfers
        type: struct uint_tbl
      - name: process
        type: struct uint_bset
      - name: dirty
        type: struct uint_bset
      - name: pending
        type: struct uint_bset
      - name: msgsent
        type: struct uint_bset
      - name: msglist
        type: struct Curl_llist
      - name: '*admin'
        type: struct Curl_easy
      - name: socket_cb
        type: curl_socket_callback
      - name: '*socket_userp'
        type: void
      - name: push_cb
        type: curl_push_callback
      - name: '*push_userp'
        type: void
      - name: dnscache
        type: struct Curl_dnscache
      - name: '*ssl_scache'
        type: struct Curl_ssl_scache
      - name: '*timetree'
        type: struct Curl_tree
      - name: '*xfer_buf'
        type: char
      - name: xfer_buf_len
        type: size_t
      - name: '*xfer_ulbuf'
        type: char
      - name: xfer_ulbuf_len
        type: size_t
      - name: '*xfer_sockbuf'
        type: char
      - name: xfer_sockbuf_len
        type: size_t
      - name: ev
        type: struct curl_multi_ev
      - name: ntfy
        type: struct curl_multi_ntfy
      - name: proto_hash
        type: struct Curl_hash
      - name: cshutdn
        type: struct cshutdn
      - name: cpool
        type: struct cpool
      - name: max_host_connections
        type: long
      - name: max_total_connections
        type: long
      - name: timer_cb
        type: curl_multi_timer_callback
      - name: '*timer_userp'
        type: void
      - name: last_timeout_ms
        type: long
      - name: last_expire_ts
        type: struct curltime
      - name: max_concurrent_streams
        type: unsigned int
      - name: maxconnects
        type: unsigned int
      - name: ipv6_up
        type: unsigned char
      item_type: struct
      name: Curl_multi
      pos:
        line_end: 195
        line_start: 85
        source_file: /src/PROJ/curl/lib/multihandle.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_gethostname.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOSTNAME_MAX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/curl_gethostname.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_sha512_256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_LENGTH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/curl_sha512_256.h
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_macos_init
  source_file: /src/PROJ/curl/lib/macos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_uint_bset_init
  - Curl_uint_bset_resize
  - Curl_uint_bset_destroy
  - Curl_uint_bset_capacity
  - Curl_uint_bset_count
  - Curl_uint_bset_empty
  - Curl_uint_bset_clear
  - Curl_uint_bset_add
  - Curl_uint_bset_remove
  - Curl_uint_bset_contains
  - Curl_uint_bset_first
  - Curl_uint_bset_next
  - Curl_popcount64
  - Curl_ctz64
  source_file: /src/PROJ/curl/lib/uint-bset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_BSET_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/uint-bset.c
      type_or_value: '0x62757473'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ares_pollset
  - Curl_ares_perform
  - Curl_async_shutdown
  - Curl_async_destroy
  source_file: /src/PROJ/curl/lib/asyn-base.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_SHARE_HANDLE
  - CURL_SHARE_KEEP_CONNECT
  - CURL_SHARE_ssl_scache
  source_file: /src/PROJ/curl/lib/share.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_GOOD_SHARE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/share.h
      type_or_value: '0x7e117a1e'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: specifier
        type: unsigned int
      - name: dirty
        type: unsigned int
      - name: lockfunc
        type: curl_lock_function
      - name: unlockfunc
        type: curl_unlock_function
      - name: '*clientdata'
        type: void
      - name: '*admin'
        type: struct Curl_easy
      - name: cpool
        type: struct cpool
      - name: dnscache
        type: struct Curl_dnscache
      item_type: struct
      name: Curl_share
      pos:
        line_end: 66
        line_start: 43
        source_file: /src/PROJ/curl/lib/share.h
    typedefs: []
    union: []
- function_names:
  - sasl_mech_equal
  source_file: /src/PROJ/curl/lib/curl_sasl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SASL_MECH_LOGIN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SASL_MECH_PLAIN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SASL_MECH_CRAM_MD5
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: SASL_MECH_DIGEST_MD5
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: SASL_MECH_GSSAPI
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: SASL_MECH_EXTERNAL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: SASL_MECH_NTLM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: SASL_MECH_XOAUTH2
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: SASL_MECH_OAUTHBEARER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: SASL_MECH_SCRAM_SHA_1
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: SASL_MECH_SCRAM_SHA_256
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: SASL_AUTH_NONE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SASL_AUTH_ANY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: SASL_AUTH_DEFAULT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: (SASL_AUTH_ANY & ~SASL_MECH_EXTERNAL)
    - item_type: preproc_def
      name: SASL_MECH_STRING_LOGIN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"LOGIN"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_PLAIN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"PLAIN"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_CRAM_MD5
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"CRAM-MD5"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_DIGEST_MD5
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"DIGEST-MD5"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_GSSAPI
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"GSSAPI"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_EXTERNAL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"EXTERNAL"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_NTLM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"NTLM"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_XOAUTH2
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"XOAUTH2"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_OAUTHBEARER
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"OAUTHBEARER"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_SCRAM_SHA_1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"SCRAM-SHA-1"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_SCRAM_SHA_256
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '"SCRAM-SHA-256"'
    - item_type: preproc_def
      name: SASL_FLAG_BASE64
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/curl_sasl.h
      type_or_value: '0x0001  '
    structs:
    - fields:
      - name: '*service'
        type: char
      - name: "(*sendauth)(struct Curl_easy *data, const char *mech,\n                       const
          struct bufref *ir)"
        type: CURLcode
      - name: "(*contauth)(struct Curl_easy *data, const char *mech,\n                       const
          struct bufref *contauth)"
        type: CURLcode
      - name: (*cancelauth)(struct Curl_easy *data, const char *mech)
        type: CURLcode
      - name: (*getmessage)(struct Curl_easy *data, struct bufref *out)
        type: CURLcode
      - name: maxirlen
        type: size_t
      - name: contcode
        type: int
      - name: finalcode
        type: int
      - name: defmechs
        type: unsigned short
      - name: flags
        type: unsigned short
      item_type: struct
      name: SASLproto
      pos:
        line_end: 117
        line_start: 97
        source_file: /src/PROJ/curl/lib/curl_sasl.h
    - fields:
      - name: '*params'
        type: struct SASLproto
      - name: state
        type: saslstate
      - name: '*curmech'
        type: char
      - name: authmechs
        type: unsigned short
      - name: prefmech
        type: unsigned short
      - name: authused
        type: unsigned short
      item_type: struct
      name: SASL
      pos:
        line_end: 130
        line_start: 120
        source_file: /src/PROJ/curl/lib/curl_sasl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/multi_ev.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_MEV_POLLSET
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/multi_ev.h
      type_or_value: '"meta:mev:ps"'
    structs:
    - fields:
      - name: sh_entries
        type: struct Curl_hash
      item_type: struct
      name: curl_multi_ev
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/PROJ/curl/lib/multi_ev.h
    typedefs: []
    union: []
- function_names:
  - Curl_mime_duppart
  - Curl_mime_set_subparts
  - Curl_mime_prepare_headers
  - Curl_creader_set_mime
  source_file: /src/PROJ/curl/lib/mime.h
  types:
    enum:
    - enumerators:
      - name: MIMEKIND_NONE
        value: '0'
      - name: MIMEKIND_DATA
      - name: MIMEKIND_MULTIPART
      - name: MIMEKIND_CALLBACK
      - name: MIMEKIND_FILE
      - name: MIMEKIND_LAST
      item_type: enum
      name: mimekind
      pos:
        line_end: 50
        line_start: 43
        source_file: /src/PROJ/curl/lib/mime.h
    - enumerators:
      - name: MIMESTATE_BEGIN
      - name: MIMESTATE_USERHEADERS
      - name: MIMESTATE_CURLHEADERS
      - name: MIMESTATE_BODY
      - name: MIMESTATE_EOH
      - name: MIMESTATE_BOUNDARY1
      - name: MIMESTATE_BOUNDARY2
      - name: MIMESTATE_CONTENT
      - name: MIMESTATE_END
      - name: MIMESTATE_LAST
      item_type: enum
      name: mimestate
      pos:
        line_end: 64
        line_start: 53
        source_file: /src/PROJ/curl/lib/mime.h
    - enumerators:
      - name: MIMESTRATEGY_MAIL
      - name: MIMESTRATEGY_LAST
      - name: MIMESTRATEGY_FORM
      item_type: enum
      name: mimestrategy
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/PROJ/curl/lib/mime.h
    preproc_defs:
    - item_type: preproc_def
      name: MIME_BOUNDARY_DASHES
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '24  '
    - item_type: preproc_def
      name: MIME_RAND_BOUNDARY_CHARS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '22  '
    - item_type: preproc_def
      name: MAX_ENCODED_LINE_LENGTH
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '76  '
    - item_type: preproc_def
      name: ENCODING_BUFFER_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '256 '
    - item_type: preproc_def
      name: MIME_USERHEADERS_OWNER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: MIME_BODY_ONLY
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: MIME_FAST_READ
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FILE_CONTENTTYPE_DEFAULT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '"application/octet-stream"'
    - item_type: preproc_def
      name: MULTIPART_CONTENTTYPE_DEFAULT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '"multipart/mixed"'
    - item_type: preproc_def
      name: DISPOSITION_DEFAULT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: '"attachment"'
    - item_type: preproc_def
      name: MIME_BOUNDARY_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: (MIME_BOUNDARY_DASHES + MIME_RAND_BOUNDARY_CHARS)
    - item_type: preproc_def
      name: Curl_mime_read
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/lib/mime.h
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: '*   name'
        type: char
      - name: "(*encodefunc)(char *buffer, size_t size, bool ateof,\n                               curl_mimepart
          *part)"
        type: size_t
      - name: (*sizefunc)(curl_mimepart *part)
        type: curl_off_t
      item_type: struct
      name: mime_encoder
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/PROJ/curl/lib/mime.h
    - fields:
      - name: pos
        type: size_t
      - name: bufbeg
        type: size_t
      - name: bufend
        type: size_t
      - name: buf[ENCODING_BUFFER_SIZE]
        type: char
      item_type: struct
      name: mime_encoder_state
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/PROJ/curl/lib/mime.h
    - fields:
      - name: state
        type: enum mimestate
      - name: '*ptr'
        type: void
      - name: offset
        type: curl_off_t
      item_type: struct
      name: mime_state
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/PROJ/curl/lib/mime.h
    - fields:
      - name: '*parent'
        type: curl_mimepart
      - name: '*firstpart'
        type: curl_mimepart
      - name: '*lastpart'
        type: curl_mimepart
      - name: boundary[MIME_BOUNDARY_LEN + 1]
        type: char
      - name: state
        type: struct mime_state
      item_type: struct
      name: curl_mime
      pos:
        line_end: 106
        line_start: 100
        source_file: /src/PROJ/curl/lib/mime.h
    - fields:
      - name: '*parent'
        type: curl_mime
      - name: '*nextpart'
        type: curl_mimepart
      - name: kind
        type: enum mimekind
      - name: flags
        type: unsigned int
      - name: '*data'
        type: char
      - name: readfunc
        type: curl_read_callback
      - name: seekfunc
        type: curl_seek_callback
      - name: freefunc
        type: curl_free_callback
      - name: '*arg'
        type: void
      - name: '*fp'
        type: FILE
      - name: '*curlheaders'
        type: struct curl_slist
      - name: '*userheaders'
        type: struct curl_slist
      - name: '*mimetype'
        type: char
      - name: '*filename'
        type: char
      - name: '*name'
        type: char
      - name: datasize
        type: curl_off_t
      - name: state
        type: struct mime_state
      - name: '*encoder'
        type: struct mime_encoder
      - name: encstate
        type: struct mime_encoder_state
      - name: lastreadstatus
        type: size_t
      item_type: struct
      name: curl_mimepart
      pos:
        line_end: 130
        line_start: 109
        source_file: /src/PROJ/curl/lib/mime.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/fake_addrinfo.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_FAKE_GETADDRINFO
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/fake_addrinfo.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/config-mac.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '"mac"'
    - item_type: preproc_def
      name: HAVE_LONGLONG
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MANUAL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETINET_IN_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETDB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ARPA_INET_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NET_IF_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME_H
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UTIME_H
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_IOCTL_H
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ALARM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_TIMEVAL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGACTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_LDAP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_IOCTL_FIONBIO
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: size_t
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/config-mac.h
      type_or_value: ssize_t
    structs: []
    typedefs: []
    union: []
- function_names:
  - casecompare
  - ncasecompare
  - curl_strequal
  - curl_strnequal
  source_file: /src/PROJ/curl/lib/strequal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STATUSCODE
  - LASTLINE
  - ftp_pasv_verbose
  - FTP_CSTATE
  - FTP_CSTATE
  - ftp_state_low
  - ftp_state
  - ftp_state
  - close_secondarysocket
  - freedirs
  - ftp_cw_lc_write
  - ftp_check_ctrl_on_data_wait
  - ftp_initiate_transfer
  - ftp_endofresp
  - ftp_readresp
  - getftpresponse
  - ftp_state_user
  - ftp_state_pwd
  - ftp_pollset
  - ftp_domore_pollset
  - pathlen
  - pathpiece
  - ftp_state_cwd
  - ftp_state_use_port
  - ftp_state_use_pasv
  - ftp_state_prepare_transfer
  - ftp_state_rest
  - ftp_state_size
  - ftp_state_list
  - ftp_state_list_prequote
  - ftp_state_retr_prequote
  - ftp_state_stor_prequote
  - ftp_state_type
  - ftp_state_mdtm
  - ftp_state_ul_setup
  - ftp_state_quote
  - ftp_epsv_disable
  - ftp_control_addr_dup
  - match_pasv_6nums
  - ftp_state_pasv_resp
  - ftp_state_port_resp
  - twodigit
  - ftp_213_date
  - client_write_header
  - ftp_state_mdtm_resp
  - ftp_state_type_resp
  - ftp_state_retr
  - ftp_state_size_resp
  - ftp_state_rest_resp
  - ftp_state_stor_resp
  - ftp_state_get_resp
  - ftp_state_loggedin
  - ftp_state_user_resp
  - ftp_state_acct_resp
  - ftp_pwd_resp
  - ftp_wait_resp
  - ftp_pp_statemachine
  - ftp_statemach
  - ftp_multi_statemach
  - ftp_block_statemach
  - ftp_connect
  - ftp_done
  - ftp_sendquote
  - ftp_need_type
  - ftp_nb_type
  - ftp_pasv_verbose
  - ftp_do_more
  - ftp_perform
  - wc_data_dtor
  - init_wc_data
  - wc_statemach
  - ftp_do
  - ftp_quit
  - ftp_disconnect
  - numof_slashes
  - ftp_parse_url_path
  - ftp_dophase_done
  - ftp_doing
  - ftp_regular_transfer
  - ftp_easy_dtor
  - ftp_conn_dtor
  - type_url_check
  - ftp_setup_connection
  - ftp_conns_match
  source_file: /src/PROJ/curl/lib/ftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NI_MAXHOST
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/ftp.c
      type_or_value: '1025'
    - item_type: preproc_def
      name: INET_ADDRSTRLEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/ftp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CURL_FTP_HTTPSTYLE_HEAD
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/PROJ/curl/lib/ftp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FTP_MAX_DIR_DEPTH
      pos:
        line_end: 4161
        line_start: 4160
        source_file: /src/PROJ/curl/lib/ftp.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: newline_pending
        type: bool
      item_type: struct
      name: ftp_cw_lc_ctx
      pos:
        line_end: 348
        line_start: 345
        source_file: /src/PROJ/curl/lib/ftp.c
    typedefs: []
    union: []
- function_names:
  - Curl_hsts_loadcb
  source_file: /src/PROJ/curl/lib/hsts.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: node
        type: struct Curl_llist_node
      - name: '*host'
        type: char
      - name: expires
        type: curl_off_t
      item_type: struct
      name: stsentry
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/PROJ/curl/lib/hsts.h
    - fields:
      - name: list
        type: struct Curl_llist
      - name: '*filename'
        type: char
      - name: flags
        type: unsigned int
      item_type: struct
      name: hsts
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/PROJ/curl/lib/hsts.h
    typedefs: []
    union: []
- function_names:
  - CF_DATA_SAVE
  - CF_DATA_RESTORE
  - CF_DATA_SAVE
  - CF_DATA_RESTORE
  - CF_DATA_CURRENT
  source_file: /src/PROJ/curl/lib/cfilters.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CF_CTRL_DATA_SETUP
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: CF_CTRL_DATA_PAUSE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '6  '
    - item_type: preproc_def
      name: CF_CTRL_DATA_DONE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: CF_CTRL_DATA_DONE_SEND
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: CF_CTRL_CONN_INFO_UPDATE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '(256+0) '
    - item_type: preproc_def
      name: CF_CTRL_FORGET_SOCKET
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '(256+1) '
    - item_type: preproc_def
      name: CF_CTRL_FLUSH
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '(256+2) '
    - item_type: preproc_def
      name: CF_QUERY_MAX_CONCURRENT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: CF_QUERY_CONNECT_REPLY_MS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: CF_QUERY_SOCKET
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: CF_QUERY_TIMER_CONNECT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: CF_QUERY_TIMER_APPCONNECT
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: CF_QUERY_STREAM_ERROR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '6  '
    - item_type: preproc_def
      name: CF_QUERY_NEED_FLUSH
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: CF_QUERY_IP_INFO
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: CF_QUERY_HTTP_VERSION
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '9  '
    - item_type: preproc_def
      name: CF_QUERY_REMOTE_ADDR
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '10  '
    - item_type: preproc_def
      name: CF_QUERY_HOST_PORT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '11  '
    - item_type: preproc_def
      name: CF_QUERY_SSL_INFO
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '12  '
    - item_type: preproc_def
      name: CF_QUERY_SSL_CTX_INFO
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '13  '
    - item_type: preproc_def
      name: CF_QUERY_TRANSPORT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '14  '
    - item_type: preproc_def
      name: CF_QUERY_ALPN_NEGOTIATED
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '15  '
    - item_type: preproc_def
      name: CF_TYPE_IP_CONNECT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: CF_TYPE_SSL
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: CF_TYPE_MULTIPLEX
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: CF_TYPE_PROXY
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: CF_TYPE_HTTP
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: CURL_CF_SSL_DEFAULT
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: CURL_CF_SSL_DISABLE
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_CF_SSL_ENABLE
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/curl/lib/cfilters.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: log_level
        type: int
      - name: '*destroy'
        type: Curl_cft_destroy_this
      - name: '*do_connect'
        type: Curl_cft_connect
      - name: '*do_close'
        type: Curl_cft_close
      - name: '*do_shutdown'
        type: Curl_cft_shutdown
      - name: '*adjust_pollset'
        type: Curl_cft_adjust_pollset
      - name: '*has_data_pending'
        type: Curl_cft_data_pending
      - name: '*do_send'
        type: Curl_cft_send
      - name: '*do_recv'
        type: Curl_cft_recv
      - name: '*cntrl'
        type: Curl_cft_cntrl
      - name: '*is_alive'
        type: Curl_cft_conn_is_alive
      - name: '*keep_alive'
        type: Curl_cft_conn_keep_alive
      - name: '*query'
        type: Curl_cft_query
      item_type: struct
      name: Curl_cftype
      pos:
        line_end: 227
        line_start: 211
        source_file: /src/PROJ/curl/lib/cfilters.h
    - fields:
      - name: '*cft'
        type: struct Curl_cftype
      - name: '*next'
        type: struct Curl_cfilter
      - name: '*ctx'
        type: void
      - name: '*conn'
        type: struct connectdata
      - name: sockindex
        type: int
      item_type: struct
      name: Curl_cfilter
      pos:
        line_end: 238
        line_start: 230
        source_file: /src/PROJ/curl/lib/cfilters.h
    - fields:
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: cf_call_data
      pos:
        line_end: 649
        line_start: 644
        source_file: /src/PROJ/curl/lib/cfilters.h
    typedefs:
    - item_type: typedef
      name: "Curl_cft_destroy_this(struct Curl_cfilter *cf,\n                                       struct
        Curl_easy *data)"
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: void
    - item_type: typedef
      name: "Curl_cft_close(struct Curl_cfilter *cf,\n                                struct
        Curl_easy *data)"
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: void
    - item_type: typedef
      name: "Curl_cft_shutdown(struct Curl_cfilter *cf,\n                                   struct
        Curl_easy *data,\n                                   bool *done)"
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_connect(struct Curl_cfilter *cf,\n                                  struct
        Curl_easy *data,\n                                  bool *done)"
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
        Curl_easy *data,\n                                         struct easy_pollset
        *ps)"
      pos:
        line_end: 84
        line_start: 82
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_data_pending(struct Curl_cfilter *cf,\n                                       const
        struct Curl_easy *data)"
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: bool
    - item_type: typedef
      name: "Curl_cft_send(struct Curl_cfilter *cf,\n                               struct
        Curl_easy *data, /* transfer */\n                               const void
        *buf,        /* data to write */\n                               size_t len,
        \            /* amount to write */\n                               bool eos,
        \              /* last chunk */\n                               size_t *pnwritten)"
      pos:
        line_end: 94
        line_start: 89
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_recv(struct Curl_cfilter *cf,\n                               struct
        Curl_easy *data, /* transfer */\n                               char *buf,
        \             /* store data here */\n                               size_t
        len,             /* amount to read */\n                               size_t
        *pnread)"
      pos:
        line_end: 100
        line_start: 96
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_conn_is_alive(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        bool *input_pending)"
      pos:
        line_end: 104
        line_start: 102
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: bool
    - item_type: typedef
      name: "Curl_cft_conn_keep_alive(struct Curl_cfilter *cf,\n                                          struct
        Curl_easy *data)"
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_cntrl(struct Curl_cfilter *cf,\n                                struct
        Curl_easy *data,\n                                int event, int arg1, void
        *arg2)"
      pos:
        line_end: 135
        line_start: 133
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_query(struct Curl_cfilter *cf,\n                                struct
        Curl_easy *data,\n                                int query, int *pres1, void
        *pres2)"
      pos:
        line_end: 190
        line_start: 188
        source_file: /src/PROJ/curl/lib/cfilters.h
      type: CURLcode
    union: []
- function_names:
  - Curl_rename
  source_file: /src/PROJ/curl/lib/rename.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_cookie_list
  - Curl_cookie_loadfiles
  - Curl_cookie_init
  - Curl_cookie_cleanup
  - Curl_flush_cookies
  source_file: /src/PROJ/curl/lib/cookie.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COOKIE_PREFIX__SECURE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: COOKIE_PREFIX__HOST
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: COOKIE_HASH_SIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: '63'
    - item_type: preproc_def
      name: MAX_COOKIE_LINE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: '5000'
    - item_type: preproc_def
      name: MAX_NAME
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAX_SET_COOKIE_AMOUNT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_COOKIE_HEADER_LEN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: '8190'
    - item_type: preproc_def
      name: MAX_COOKIE_SEND_AMOUNT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PROJ/curl/lib/cookie.h
      type_or_value: '150'
    structs:
    - fields:
      - name: node
        type: struct Curl_llist_node
      - name: getnode
        type: struct Curl_llist_node
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: '*path'
        type: char
      - name: '*spath'
        type: char
      - name: '*domain'
        type: char
      - name: expires
        type: curl_off_t
      - name: creationtime
        type: unsigned int
      item_type: struct
      name: Cookie
      pos:
        line_end: 47
        line_start: 31
        source_file: /src/PROJ/curl/lib/cookie.h
    - fields:
      - name: cookielist[COOKIE_HASH_SIZE]
        type: struct Curl_llist
      - name: next_expiration
        type: curl_off_t
      - name: numcookies
        type: unsigned int
      - name: lastct
        type: unsigned int
      item_type: struct
      name: CookieInfo
      pos:
        line_end: 66
        line_start: 58
        source_file: /src/PROJ/curl/lib/cookie.h
    typedefs: []
    union: []
- function_names:
  - curl2netrc
  - file2memory
  - parsenetrc
  - Curl_netrc_strerror
  - Curl_parsenetrc
  - Curl_netrc_init
  - Curl_netrc_cleanup
  source_file: /src/PROJ/curl/lib/netrc.c
  types:
    enum:
    - enumerators:
      - name: NOTHING
      - name: HOSTVALID
      - name: MACDEF
      - name: HOSTFOUND
      item_type: enum
      name: host_lookup_state
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/PROJ/curl/lib/netrc.c
    - enumerators:
      - name: NONE
      - name: PASSWORD
      - name: LOGIN
      item_type: enum
      name: found_state
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/PROJ/curl/lib/netrc.c
    preproc_defs:
    - item_type: preproc_def
      name: FOUND_LOGIN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/netrc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FOUND_PASSWORD
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/netrc.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MAX_NETRC_LINE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/netrc.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: MAX_NETRC_FILE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/netrc.c
      type_or_value: (128*1024)
    - item_type: preproc_def
      name: MAX_NETRC_TOKEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/netrc.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_SB_CLEAR
  - CURL_SB_TERM
  - CURL_SB_ACCUM
  - CURL_SB_GET
  - CURL_SB_LEN
  - printoption
  - telnet_easy_dtor
  - init_telnet
  - telnet_negotiate
  - printoption
  - send_negotiation
  - set_remote_option
  - rec_will
  - rec_wont
  - set_local_option
  - rec_do
  - rec_dont
  - printsub
  - str_is_nonascii
  - check_telnet_options
  - bad_option
  - suboption
  - sendsuboption
  - telrcv
  - startskipping
  - writebyte
  - bufferflush
  - send_telnet_data
  - telnet_done
  - telnet_do
  source_file: /src/PROJ/curl/lib/telnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUBBUFSIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '512'
    - item_type: preproc_def
      name: CURL_NO
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_YES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_WANTYES
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_WANTNO
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CURL_EMPTY
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_OPPOSITE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_META_TELNET_EASY
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/lib/telnet.c
      type_or_value: '"meta:proto:telnet:easy"'
    structs:
    - fields:
      - name: please_negotiate
        type: int
      - name: already_negotiated
        type: int
      - name: us[256]
        type: int
      - name: usq[256]
        type: int
      - name: us_preferred[256]
        type: int
      - name: him[256]
        type: int
      - name: himq[256]
        type: int
      - name: him_preferred[256]
        type: int
      - name: subnegotiation[256]
        type: int
      - name: '*subopt_ttype'
        type: char
      - name: '*subopt_xdisploc'
        type: char
      - name: subopt_wsx
        type: unsigned short
      - name: subopt_wsy
        type: unsigned short
      - name: telrcv_state
        type: TelnetReceive
      - name: '*telnet_vars'
        type: struct curl_slist
      - name: out
        type: struct dynbuf
      - name: subbuffer[SUBBUFSIZE]
        type: unsigned char
      - name: '*subpointer'
        type: unsigned char
      item_type: struct
      name: TELNET
      pos:
        line_end: 141
        line_start: 120
        source_file: /src/PROJ/curl/lib/telnet.c
    typedefs: []
    union: []
- function_names:
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - MD5_F
  - MD5_G
  - MD5_H
  - MD5_H2
  - MD5_I
  - MD5_STEP
  - MD5_SET
  - MD5_GET
  - MD5_SET
  - MD5_GET
  - my_md5_body
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - Curl_md5it
  - Curl_MD5_init
  - Curl_MD5_update
  - Curl_MD5_final
  source_file: /src/PROJ/curl/lib/md5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: my_md5_ctx
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/curl/lib/md5.c
      type_or_value: CC_MD5_CTX
    structs:
    - fields:
      - name: hCryptProv
        type: HCRYPTPROV
      - name: hHash
        type: HCRYPTHASH
      item_type: struct
      name: md5_ctx
      pos:
        line_end: 218
        line_start: 215
        source_file: /src/PROJ/curl/lib/md5.c
    - fields:
      - name: lo
        type: MD5_u32plus
      - name: a
        type: MD5_u32plus
      - name: buffer[64]
        type: unsigned char
      - name: block[16]
        type: MD5_u32plus
      item_type: struct
      name: md5_ctx
      pos:
        line_end: 299
        line_start: 294
        source_file: /src/PROJ/curl/lib/md5.c
    typedefs:
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/PROJ/curl/lib/md5.c
      type: md5_ctx
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/PROJ/curl/lib/md5.c
      type: MD5_CTX
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/PROJ/curl/lib/md5.c
      type: WOLFSSL_MD5_CTX
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/PROJ/curl/lib/md5.c
      type: psa_hash_operation_t
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/PROJ/curl/lib/md5.c
      type: md5_ctx
    - item_type: typedef
      name: MD5_u32plus
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/PROJ/curl/lib/md5.c
      type: unsigned int
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/PROJ/curl/lib/md5.c
      type: md5_ctx
    union: []
- function_names:
  - Curl_alpn2alpnid
  - Curl_timeleft
  - Curl_shutdown_start
  - Curl_shutdown_timeleft
  - Curl_conn_shutdown_timeleft
  - Curl_shutdown_clear
  - Curl_shutdown_started
  - Curl_addr2string
  - Curl_getconnectinfo
  - reason
  - cf_setup_connect
  - cf_setup_close
  - cf_setup_destroy
  - cf_setup_create
  - cf_setup_add
  - Curl_cf_setup_insert_after
  - Curl_conn_setup
  - Curl_conn_set_multiplex
  source_file: /src/PROJ/curl/lib/connect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: cf_setup_state
      - name: ssl_mode
        type: int
      - name: transport
        type: int
      item_type: struct
      name: cf_setup_ctx
      pos:
        line_end: 362
        line_start: 358
        source_file: /src/PROJ/curl/lib/connect.c
    typedefs: []
    union: []
- function_names:
  - pop3_is_multiline
  - pop3_endofresp
  - pop3_get_message
  - pop3_state
  - pop3_perform_capa
  - pop3_perform_starttls
  - pop3_perform_upgrade_tls
  - pop3_perform_user
  - pop3_perform_apop
  - pop3_perform_auth
  - pop3_continue_auth
  - pop3_cancel_auth
  - pop3_perform_authentication
  - pop3_perform_command
  - pop3_perform_quit
  - pop3_state_servergreet_resp
  - pop3_state_capa_resp
  - pop3_state_starttls_resp
  - pop3_state_auth_resp
  - pop3_state_apop_resp
  - pop3_state_user_resp
  - pop3_state_pass_resp
  - pop3_state_command_resp
  - pop3_statemachine
  - pop3_multi_statemach
  - pop3_block_statemach
  - pop3_pollset
  - pop3_connect
  - pop3_done
  - pop3_perform
  - pop3_do
  - pop3_disconnect
  - pop3_dophase_done
  - pop3_doing
  - pop3_regular_transfer
  - pop3_easy_dtor
  - pop3_conn_dtor
  - pop3_setup_connection
  - pop3_parse_url_options
  - pop3_parse_url_path
  - pop3_parse_custom_request
  - pop3_write
  source_file: /src/PROJ/curl/lib/pop3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POP3_TYPE_CLEARTEXT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: POP3_TYPE_APOP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: POP3_TYPE_SASL
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: POP3_TYPE_NONE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: POP3_TYPE_ANY
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: (POP3_TYPE_CLEARTEXT|POP3_TYPE_APOP|POP3_TYPE_SASL)
    - item_type: preproc_def
      name: POP3_EOB
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: '"\x0d\x0a\x2e\x0d\x0a"'
    - item_type: preproc_def
      name: POP3_EOB_LEN
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CURL_META_POP3_EASY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: '"meta:proto:pop3:easy"'
    - item_type: preproc_def
      name: CURL_META_POP3_CONN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/lib/pop3.c
      type_or_value: '"meta:proto:pop3:conn"'
    structs:
    - fields:
      - name: transfer
        type: curl_pp_transfer
      - name: '*id'
        type: char
      - name: '*custom'
        type: char
      item_type: struct
      name: POP3
      pos:
        line_end: 109
        line_start: 105
        source_file: /src/PROJ/curl/lib/pop3.c
    - fields:
      - name: pp
        type: struct pingpong
      - name: state
        type: pop3state
      - name: eob
        type: size_t
      - name: strip
        type: size_t
      - name: sasl
        type: struct SASL
      - name: '*apoptimestamp'
        type: char
      - name: authtypes
        type: unsigned char
      - name: preftype
        type: unsigned char
      item_type: struct
      name: pop3_conn
      pos:
        line_end: 144
        line_start: 131
        source_file: /src/PROJ/curl/lib/pop3.c
    - fields:
      - name: '*name'
        type: char
      - name: nlen
        type: unsigned short
      item_type: struct
      name: pop3_cmd
      pos:
        line_end: 256
        line_start: 251
        source_file: /src/PROJ/curl/lib/pop3.c
    typedefs: []
    union: []
- function_names:
  - copy_header_external
  - curl_easy_header
  - curl_easy_nextheader
  - namevalue
  - unfold_value
  - Curl_headers_push
  - headers_reset
  - hds_cw_collect_write
  - Curl_headers_init
  - Curl_headers_cleanup
  - curl_easy_header
  - curl_easy_nextheader
  source_file: /src/PROJ/curl/lib/headers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      item_type: struct
      name: hds_cw_collect_ctx
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/PROJ/curl/lib/headers.c
    typedefs: []
    union: []
- function_names:
  - hsts_debugtime
  - time
  - Curl_hsts_init
  - hsts_free
  - Curl_hsts_cleanup
  - hsts_create
  - Curl_hsts_parse
  - Curl_hsts
  - hsts_push
  - hsts_out
  - Curl_hsts_save
  - hsts_add
  - hsts_pull
  - hsts_load
  - Curl_hsts_loadfile
  - Curl_hsts_loadcb
  - Curl_hsts_loadfiles
  source_file: /src/PROJ/curl/lib/hsts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HSTS_LINE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/hsts.c
      type_or_value: '4095'
    - item_type: preproc_def
      name: MAX_HSTS_HOSTLEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/hsts.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAX_HSTS_DATELEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/hsts.c
      type_or_value: '256'
    - item_type: preproc_def
      name: UNLIMITED
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/hsts.c
      type_or_value: '"unlimited"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - httpsrr_decode_alpn
  - Curl_httpsrr_set
  - Curl_httpsrr_dup_move
  - Curl_httpsrr_cleanup
  - httpsrr_opt
  - Curl_httpsrr_from_ares
  source_file: /src/PROJ/curl/lib/httpsrr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cw_pause_buf_create
  - cw_pause_buf_free
  - cw_pause_init
  - cw_pause_bufs_free
  - cw_pause_close
  - cw_pause_flush
  - cw_pause_write
  - Curl_cw_pause_flush
  source_file: /src/PROJ/curl/lib/cw-pause.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CW_PAUSE_BUF_CHUNK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/cw-pause.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: CW_PAUSE_DEC_WRITE_CHUNK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/cw-pause.c
      type_or_value: (4096)
    structs:
    - fields:
      - name: '*next'
        type: struct cw_pause_buf
      - name: b
        type: struct bufq
      - name: type
        type: int
      item_type: struct
      name: cw_pause_buf
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/PROJ/curl/lib/cw-pause.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: '*buf'
        type: struct cw_pause_buf
      - name: buf_total
        type: size_t
      item_type: struct
      name: cw_pause_ctx
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/PROJ/curl/lib/cw-pause.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/sockaddr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: buffer
        type: "union {\n    struct sockaddr sa;\n    struct sockaddr_in sa_in;\n#ifdef
          USE_IPV6\n    struct sockaddr_in6 sa_in6;\n#endif\n#ifdef HAVE_STRUCT_SOCKADDR_STORAGE\n
          \   struct sockaddr_storage sa_stor;\n#else\n    char cbuf[256];   /* this
          should be big enough to fit a lot */\n#endif\n  }"
      item_type: struct
      name: Curl_sockaddr_storage
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/PROJ/curl/lib/sockaddr.h
    typedefs: []
    union: []
- function_names:
  - RTP_PKT_LENGTH
  - rtsp_do_pollset
  - rtsp_easy_dtor
  - rtsp_conn_dtor
  - rtsp_setup_connection
  - rtsp_conncheck
  - rtsp_connect
  - rtsp_done
  - rtsp_setup_body
  - rtsp_do
  - rtp_write_body_junk
  - rtsp_filter_rtp
  - rtsp_rtp_write_resp
  - rtsp_rtp_write_resp_hd
  - rtp_client_write
  - Curl_rtsp_parseheader
  - rtsp_parse_transport
  source_file: /src/PROJ/curl/lib/rtsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_RTSP_EASY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/rtsp.c
      type_or_value: '"meta:proto:rtsp:easy"'
    - item_type: preproc_def
      name: CURL_META_RTSP_CONN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PROJ/curl/lib/rtsp.c
      type_or_value: '"meta:proto:rtsp:conn"'
    - item_type: preproc_def
      name: MAX_RTP_BUFFERSIZE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/curl/lib/rtsp.c
      type_or_value: '1000000 '
    structs:
    - fields:
      - name: buf
        type: struct dynbuf
      - name: rtp_channel
        type: int
      - name: rtp_len
        type: size_t
      - name: state
        type: rtp_parse_st
      item_type: struct
      name: rtsp_conn
      pos:
        line_end: 69
        line_start: 63
        source_file: /src/PROJ/curl/lib/rtsp.c
    - fields:
      - name: CSeq_sent
        type: long
      - name: CSeq_recv
        type: long
      item_type: struct
      name: RTSP
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/PROJ/curl/lib/rtsp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cf-ip-happy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "cf_ip_connect_create(struct Curl_cfilter **pcf,\n                                      struct
        Curl_easy *data,\n                                      struct connectdata
        *conn,\n                                      const struct Curl_addrinfo *ai,\n
        \                                     int transport)"
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/PROJ/curl/lib/cf-ip-happy.h
      type: CURLcode
    union: []
- function_names:
  - Curl_async_global_init
  - Curl_async_global_cleanup
  - sock_state_cb
  - async_ares_init
  - async_ares_init_lazy
  - Curl_async_get_impl
  - async_ares_cleanup
  - Curl_async_ares_shutdown
  - Curl_async_ares_destroy
  - Curl_async_pollset
  - Curl_async_is_resolved
  - Curl_async_await
  - async_addr_concat
  - async_ares_hostbyname_cb
  - async_ares_node2addr
  - async_ares_addrinfo_cb
  - async_ares_rr_done
  - Curl_async_getaddrinfo
  - async_ares_set_dns_servers
  - Curl_async_ares_set_dns_servers
  - Curl_async_ares_set_dns_interface
  - Curl_async_ares_set_dns_local_ip4
  - Curl_async_ares_set_dns_local_ip6
  source_file: /src/PROJ/curl/lib/asyn-ares.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_CARES_IPV6
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_SERVERS_CSV
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_LOCAL_DEV
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_SET_LOCAL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_PORTS_CSV
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_GETADDRINFO
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAPPY_EYEBALLS_DNS_TIMEOUT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '5000'
    - item_type: preproc_def
      name: CARES_TIMEOUT_PER_ATTEMPT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/asyn-ares.c
      type_or_value: '2000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http_chunks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHUNK_MAXNUM_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/http_chunks.h
      type_or_value: (SIZEOF_CURL_OFF_T * 2)
    structs:
    - fields:
      - name: datasize
        type: curl_off_t
      - name: state
        type: ChunkyState
      - name: last_code
        type: CHUNKcode
      - name: trailer
        type: struct dynbuf
      - name: hexindex
        type: unsigned char
      - name: hexbuffer[CHUNK_MAXNUM_LEN + 1]
        type: char
      item_type: struct
      name: Curl_chunker
      pos:
        line_end: 100
        line_start: 92
        source_file: /src/PROJ/curl/lib/http_chunks.h
    typedefs: []
    union: []
- function_names:
  - Curl_sha512_256_init
  - Curl_sha512_256_update
  - Curl_sha512_256_finish
  - Curl_sha512_256_init
  - Curl_sha512_256_update
  - Curl_sha512_256_finish
  - CURL_GET_64BIT_BE
  - CURL_PUT_64BIT_BE
  - curl_uint64_t::Curl_rotr64
  - Curl_sha512_256_init
  - Curl_sha512_256_transform
  - Sha512_Ch
  - Sha512_Maj
  - SIG0
  - SIG1
  - sig0
  - sig1
  - SHA2STEP64
  - SHA2STEP64RV
  - SHA512_GET_W_FROM_DATA
  - Wgen
  - Curl_sha512_256_update
  - Curl_sha512_256_finish
  - Curl_sha512_256it
  - Curl_sha512_256_update_i
  - Curl_sha512_256_finish_v
  source_file: /src/PROJ/curl/lib/curl_sha512_256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_OPENSSL_SHA512_256
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_SHA512_256_IMPLEMENTATION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NEED_NETBSD_SHA512_256_WORKAROUND
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GNUTLS_SHA512_256
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '128'
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: CURL_SHA512_256_DIGEST_LENGTH
    - item_type: preproc_def
      name: CURL_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: SHA512_256_BLOCK_SIZE
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: SHA512_256_DIGEST_SIZE
    - item_type: preproc_def
      name: CURL_FORCEINLINE
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: CURL_INLINE __attribute__((always_inline))
    - item_type: preproc_def
      name: CURL_FORCEINLINE
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: __forceinline
    - item_type: preproc_def
      name: CURL_FORCEINLINE
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: CURL_INLINE
    - item_type: preproc_def
      name: SHA512_256_WORD_SIZE_BITS
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '64'
    - item_type: preproc_def
      name: SHA512_256_BYTES_IN_WORD
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_WORD_SIZE_BITS / 8)
    - item_type: preproc_def
      name: SHA512_256_HASH_SIZE_WORDS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SHA512_256_DIGEST_SIZE_WORDS
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_HASH_SIZE_WORDS  / 2)
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_DIGEST_SIZE_WORDS * SHA512_256_BYTES_IN_WORD)
    - item_type: preproc_def
      name: SHA512_256_BLOCK_SIZE_BITS
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: CURL_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: SHA512_256_BLOCK_SIZE_WORDS
      pos:
        line_end: 370
        line_start: 368
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_BLOCK_SIZE_BITS / SHA512_256_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD_BITS
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: '128'
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_SIZE_OF_LEN_ADD_BITS / 8)
    structs:
    - fields:
      - name: H[SHA512_256_HASH_SIZE_WORDS]
        type: curl_uint64_t
      - name: buffer[SHA512_256_BLOCK_SIZE_WORDS]
        type: curl_uint64_t
      - name: count
        type: curl_uint64_t
      - name: count_bits_hi
        type: curl_uint64_t
      item_type: struct
      name: Curl_sha512_256ctx
      pos:
        line_end: 396
        line_start: 374
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
    typedefs:
    - item_type: typedef
      name: '*Curl_sha512_256_ctx'
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type: EVP_MD_CTX
    - item_type: typedef
      name: Curl_sha512_256_ctx
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type: sha512_256_ctx
    - item_type: typedef
      name: Curl_sha512_256_ctx
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/PROJ/curl/lib/curl_sha512_256.c
      type: Curl_sha512_256ctx
    union: []
- function_names:
  - fileinfo_dtor
  - Curl_wildcard_init
  - Curl_wildcard_dtor
  - Curl_ftp_parselist_data_alloc
  - Curl_ftp_parselist_data_free
  - Curl_ftp_parselist_geterror
  - ftp_pl_get_permission
  - ftp_pl_insert_finfo
  - unix_filetype
  - parse_unix_totalsize
  - parse_unix_permission
  - parse_unix_hlinks
  - parse_unix_user
  - parse_unix_group
  - parse_unix_size
  - parse_unix_time
  - parse_unix_filename
  - parse_unix_symlink
  - parse_unix
  - parse_winnt
  - Curl_ftp_parselist
  source_file: /src/PROJ/curl/lib/ftplistparser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FTP_LP_MALFORMATED_PERM
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/curl/lib/ftplistparser.c
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: MAX_FTPLIST_BUFFER
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/PROJ/curl/lib/ftplistparser.c
      type_or_value: '10000 '
    structs:
    - fields:
      - name: os_type
        type: "enum {\n    OS_TYPE_UNKNOWN = 0,\n    OS_TYPE_UNIX,\n    OS_TYPE_WIN_NT\n
          \ }"
      - name: state
        type: "union {\n    struct {\n      pl_unix_mainstate main;\n      pl_unix_substate
          sub;\n    } UNIX;\n\n    struct {\n      pl_winNT_mainstate main;\n      pl_winNT_substate
          sub;\n    } NT;\n  }"
      - name: error
        type: CURLcode
      - name: '*file_data'
        type: struct fileinfo
      - name: item_length
        type: unsigned int
      - name: item_offset
        type: size_t
      - name: offsets
        type: "struct {\n    size_t filename;\n    size_t user;\n    size_t group;\n
          \   size_t time;\n    size_t perm;\n    size_t symlink_target;\n  }"
      item_type: struct
      name: ftp_parselist_data
      pos:
        line_end: 179
        line_start: 148
        source_file: /src/PROJ/curl/lib/ftplistparser.c
    typedefs: []
    union:
    - fields:
      - name: total_dirsize
        type: "enum {\n    PL_UNIX_TOTALSIZE_INIT = 0,\n    PL_UNIX_TOTALSIZE_READING\n
          \ }"
      - name: hlinks
        type: "enum {\n    PL_UNIX_HLINKS_PRESPACE = 0,\n    PL_UNIX_HLINKS_NUMBER\n
          \ }"
      - name: user
        type: "enum {\n    PL_UNIX_USER_PRESPACE = 0,\n    PL_UNIX_USER_PARSING\n
          \ }"
      - name: group
        type: "enum {\n    PL_UNIX_GROUP_PRESPACE = 0,\n    PL_UNIX_GROUP_NAME\n  }"
      - name: size
        type: "enum {\n    PL_UNIX_SIZE_PRESPACE = 0,\n    PL_UNIX_SIZE_NUMBER\n  }"
      - name: time
        type: "enum {\n    PL_UNIX_TIME_PREPART1 = 0,\n    PL_UNIX_TIME_PART1,\n    PL_UNIX_TIME_PREPART2,\n
          \   PL_UNIX_TIME_PART2,\n    PL_UNIX_TIME_PREPART3,\n    PL_UNIX_TIME_PART3\n
          \ }"
      - name: filename
        type: "enum {\n    PL_UNIX_FILENAME_PRESPACE = 0,\n    PL_UNIX_FILENAME_NAME,\n
          \   PL_UNIX_FILENAME_WINDOWSEOL\n  }"
      - name: symlink
        type: "enum {\n    PL_UNIX_SYMLINK_PRESPACE = 0,\n    PL_UNIX_SYMLINK_NAME,\n
          \   PL_UNIX_SYMLINK_PRETARGET1,\n    PL_UNIX_SYMLINK_PRETARGET2,\n    PL_UNIX_SYMLINK_PRETARGET3,\n
          \   PL_UNIX_SYMLINK_PRETARGET4,\n    PL_UNIX_SYMLINK_TARGET,\n    PL_UNIX_SYMLINK_WINDOWSEOL\n
          \ }"
      item_type: union
      name: pl_unix_substate
      pos:
        line_end: 122
        line_start: 71
        source_file: /src/PROJ/curl/lib/ftplistparser.c
    - fields:
      - name: time
        type: "enum {\n    PL_WINNT_TIME_PRESPACE = 0,\n    PL_WINNT_TIME_TIME\n  }"
      - name: dirorsize
        type: "enum {\n    PL_WINNT_DIRORSIZE_PRESPACE = 0,\n    PL_WINNT_DIRORSIZE_CONTENT\n
          \ }"
      - name: filename
        type: "enum {\n    PL_WINNT_FILENAME_PRESPACE = 0,\n    PL_WINNT_FILENAME_CONTENT,\n
          \   PL_WINNT_FILENAME_WINEOL\n  }"
      item_type: union
      name: pl_winNT_substate
      pos:
        line_end: 145
        line_start: 131
        source_file: /src/PROJ/curl/lib/ftplistparser.c
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_md5.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD5_DIGEST_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/curl_md5.h
      type_or_value: '16'
    structs:
    - fields:
      - name: md5_init_func
        type: Curl_MD5_init_func
      - name: md5_update_func
        type: Curl_MD5_update_func
      - name: md5_final_func
        type: Curl_MD5_final_func
      - name: md5_ctxtsize
        type: unsigned int
      - name: md5_resultlen
        type: unsigned int
      item_type: struct
      name: MD5_params
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/PROJ/curl/lib/curl_md5.h
    - fields:
      - name: '*md5_hash'
        type: struct MD5_params
      - name: '*md5_hashctx'
        type: void
      item_type: struct
      name: MD5_context
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/PROJ/curl/lib/curl_md5.h
    typedefs:
    - item_type: typedef
      name: (*Curl_MD5_init_func)(void *context)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/PROJ/curl/lib/curl_md5.h
      type: CURLcode
    - item_type: typedef
      name: "(*Curl_MD5_update_func)(void *context,\n                                     const
        unsigned char *data,\n                                     unsigned int len)"
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/PROJ/curl/lib/curl_md5.h
      type: void
    - item_type: typedef
      name: (*Curl_MD5_final_func)(unsigned char *result, void *context)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/PROJ/curl/lib/curl_md5.h
      type: void
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/cf-https-connect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ipv6_scope
  source_file: /src/PROJ/curl/lib/if2ip.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPV6_SCOPE_GLOBAL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '0       '
    - item_type: preproc_def
      name: IPV6_SCOPE_LINKLOCAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: IPV6_SCOPE_SITELOCAL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '2       '
    - item_type: preproc_def
      name: IPV6_SCOPE_UNIQUELOCAL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '3       '
    - item_type: preproc_def
      name: IPV6_SCOPE_NODELOCAL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '4       '
    - item_type: preproc_def
      name: IFNAMSIZ
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IFHWADDRLEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ifr_name
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifrn.ifrn_name '
    - item_type: preproc_def
      name: ifr_addr
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_addr '
    - item_type: preproc_def
      name: ifr_broadaddr
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_broadaddr '
    - item_type: preproc_def
      name: ifr_netmask
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_netmask '
    - item_type: preproc_def
      name: ifr_flags
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_flags '
    - item_type: preproc_def
      name: ifr_hwaddr
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_hwaddr '
    - item_type: preproc_def
      name: ifr_metric
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_metric '
    - item_type: preproc_def
      name: ifr_mtu
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_mtu '
    - item_type: preproc_def
      name: SIOCGIFADDR
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/if2ip.h
      type_or_value: '_IOW(''s'', 102, struct ifreq) '
    structs:
    - fields:
      - name: ifr_ifrn
        type: "union {\n    char ifrn_name[IFNAMSIZ]; /* if name, e.g. \"en0\" */\n
          \ }"
      - name: ifr_ifru
        type: "union {\n   struct sockaddr ifru_addr;\n   struct sockaddr ifru_broadaddr;\n
          \  struct sockaddr ifru_netmask;\n   struct sockaddr ifru_hwaddr;\n   short
          ifru_flags;\n   int ifru_metric;\n   int ifru_mtu;\n }"
      item_type: struct
      name: ifreq
      pos:
        line_end: 73
        line_start: 57
        source_file: /src/PROJ/curl/lib/if2ip.h
    typedefs: []
    union: []
- function_names:
  - Curl_data_priority_add_child
  source_file: /src/PROJ/curl/lib/url.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_DEFAULT_PROXY_PORT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/url.h
      type_or_value: '1080 '
    - item_type: preproc_def
      name: CURL_DEFAULT_HTTPS_PROXY_PORT
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/PROJ/curl/lib/url.h
      type_or_value: '443 '
    structs: []
    typedefs:
    - item_type: typedef
      name: Curl_meta_dtor(void *key, size_t key_len, void *meta_data)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/PROJ/curl/lib/url.h
      type: void
    union: []
- function_names:
  - CURL_UNCONST
  - CURL_UNCONST
  - CURL_UNCONST
  - sread
  - sread
  - swrite
  - swrite
  - CURL_SCLOSE
  - CURL_SCLOSE
  - CURL_SCLOSE
  - CURL_SCLOSE
  - CURL_SCLOSE
  - BIT
  - BIT
  - DEBUGF
  - DEBUGF
  - DEBUGASSERT
  - DEBUGASSERT
  - SET_SOCKERRNO
  - SET_SOCKERRNO
  source_file: /src/PROJ/curl/lib/curl_setup_once.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCHANNEL_USE_BLACKLISTS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OLD_APP32_64BIT_OFF_T
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: _APP32_64BIT_OFF_T
    - item_type: preproc_def
      name: _APP32_64BIT_OFF_T
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: OLD_APP32_64BIT_OFF_T
    - item_type: preproc_def
      name: SEND_4TH_ARG
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: MSG_NOSIGNAL
    - item_type: preproc_def
      name: SEND_4TH_ARG
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: '0'
    - item_type: preproc_def
      name: sfcntl
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: lwip_fcntl
    - item_type: preproc_def
      name: sfcntl
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: fcntl
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: bool_false
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: bool_true
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: 'true'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: 'false'
    - item_type: preproc_def
      name: SOCKERRNO
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: ((int)WSAGetLastError())
    - item_type: preproc_def
      name: SOCKERRNO
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: (errno)
    - item_type: preproc_def
      name: SOCKEACCES
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEACCES
    - item_type: preproc_def
      name: SOCKEADDRINUSE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEADDRINUSE
    - item_type: preproc_def
      name: SOCKEADDRNOTAVAIL
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEADDRNOTAVAIL
    - item_type: preproc_def
      name: SOCKEAFNOSUPPORT
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEAFNOSUPPORT
    - item_type: preproc_def
      name: SOCKEBADF
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEBADF
    - item_type: preproc_def
      name: SOCKECONNREFUSED
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAECONNREFUSED
    - item_type: preproc_def
      name: SOCKECONNRESET
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAECONNRESET
    - item_type: preproc_def
      name: SOCKEINPROGRESS
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEINPROGRESS
    - item_type: preproc_def
      name: SOCKEINTR
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEINTR
    - item_type: preproc_def
      name: SOCKEINVAL
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEINVAL
    - item_type: preproc_def
      name: SOCKEISCONN
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEISCONN
    - item_type: preproc_def
      name: SOCKEMSGSIZE
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEMSGSIZE
    - item_type: preproc_def
      name: SOCKENOMEM
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSA_NOT_ENOUGH_MEMORY
    - item_type: preproc_def
      name: SOCKETIMEDOUT
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAETIMEDOUT
    - item_type: preproc_def
      name: SOCKEWOULDBLOCK
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: WSAEWOULDBLOCK
    - item_type: preproc_def
      name: SOCKEACCES
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EACCES
    - item_type: preproc_def
      name: SOCKEADDRINUSE
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EADDRINUSE
    - item_type: preproc_def
      name: SOCKEADDRNOTAVAIL
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EADDRNOTAVAIL
    - item_type: preproc_def
      name: SOCKEAFNOSUPPORT
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EAFNOSUPPORT
    - item_type: preproc_def
      name: SOCKEBADF
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EBADF
    - item_type: preproc_def
      name: SOCKECONNREFUSED
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: ECONNREFUSED
    - item_type: preproc_def
      name: SOCKECONNRESET
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: ECONNRESET
    - item_type: preproc_def
      name: SOCKEINPROGRESS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EINPROGRESS
    - item_type: preproc_def
      name: SOCKEINTR
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EINTR
    - item_type: preproc_def
      name: SOCKEINVAL
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EINVAL
    - item_type: preproc_def
      name: SOCKEISCONN
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EISCONN
    - item_type: preproc_def
      name: SOCKEMSGSIZE
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EMSGSIZE
    - item_type: preproc_def
      name: SOCKENOMEM
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: ENOMEM
    - item_type: preproc_def
      name: SOCKETIMEDOUT
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: ETIMEDOUT
    - item_type: preproc_def
      name: SOCKEWOULDBLOCK
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: argv_item_t
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: __char_ptr32
    - item_type: preproc_def
      name: argv_item_t
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: wchar_t *
    - item_type: preproc_def
      name: argv_item_t
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: char *
    - item_type: preproc_def
      name: ZERO_NULL
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type_or_value: '0'
    structs:
    - fields:
      - name: tv_sec
        type: long
      - name: tv_usec
        type: long
      item_type: struct
      name: timeval
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
    typedefs:
    - item_type: typedef
      name: bool
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type: int
    - item_type: typedef
      name: bit
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type: bool
    - item_type: typedef
      name: bit
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/PROJ/curl/lib/curl_setup_once.h
      type: unsigned int
    union: []
- function_names:
  - Curl_read16_le
  - Curl_read32_le
  - Curl_read16_be
  source_file: /src/PROJ/curl/lib/curl_endian.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tunnel_is_established
  - tunnel_is_failed
  - tunnel_reinit
  - tunnel_init
  - h1_tunnel_go_state
  - tunnel_free
  - tunnel_want_send
  - start_CONNECT
  - send_CONNECT
  - on_resp_header
  - recv_CONNECT_resp
  - H1_CONNECT
  - cf_h1_proxy_connect
  - cf_h1_proxy_adjust_pollset
  - cf_h1_proxy_destroy
  - cf_h1_proxy_close
  - Curl_cf_h1_proxy_insert_after
  source_file: /src/PROJ/curl/lib/cf-h1-proxy.c
  types:
    enum:
    - enumerators:
      - name: KEEPON_DONE
      - name: KEEPON_CONNECT
      - name: KEEPON_IGNORE
      item_type: enum
      name: keeponval
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/PROJ/curl/lib/cf-h1-proxy.c
    preproc_defs:
    - item_type: preproc_def
      name: SELECT_OK
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/PROJ/curl/lib/cf-h1-proxy.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SELECT_ERROR
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/PROJ/curl/lib/cf-h1-proxy.c
      type_or_value: '1'
    structs:
    - fields:
      - name: rcvbuf
        type: struct dynbuf
      - name: request_data
        type: struct dynbuf
      - name: nsent
        type: size_t
      - name: headerlines
        type: size_t
      - name: ch
        type: struct Curl_chunker
      - name: keepon
        type: "enum keeponval {\n    KEEPON_DONE,\n    KEEPON_CONNECT,\n    KEEPON_IGNORE\n
          \ }"
      - name: cl
        type: curl_off_t
      - name: tunnel_state
        type: h1_tunnel_state
      item_type: struct
      name: h1_tunnel_state
      pos:
        line_end: 78
        line_start: 63
        source_file: /src/PROJ/curl/lib/cf-h1-proxy.c
    typedefs: []
    union: []
- function_names:
  - checkprefix
  source_file: /src/PROJ/curl/lib/strcase.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - brotli_version
  - zstd_version
  - oldap_version
  - psl_version
  - idn_version
  - curl_version
  - idn_present
  - https_proxy_present
  - ech_present
  - FEATURE
  - curl_version_info
  source_file: /src/PROJ/curl/lib/version.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERSION_PARTS
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/PROJ/curl/lib/version.c
      type_or_value: '16 '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*present)(curl_version_info_data *info)
        type: int
      - name: bitmask
        type: int
      item_type: struct
      name: feat
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/PROJ/curl/lib/version.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_addrinfo.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ai_flags
        type: int
      - name: ai_family
        type: int
      - name: ai_socktype
        type: int
      - name: ai_protocol
        type: int
      - name: ai_addrlen
        type: curl_socklen_t
      - name: '*ai_canonname'
        type: char
      - name: '*ai_addr'
        type: struct sockaddr
      - name: '*ai_next'
        type: struct Curl_addrinfo
      item_type: struct
      name: Curl_addrinfo
      pos:
        line_end: 60
        line_start: 51
        source_file: /src/PROJ/curl/lib/curl_addrinfo.h
    typedefs: []
    union: []
- function_names:
  - our_select
  - Curl_socket_check
  - Curl_poll
  - Curl_pollfds_init
  - Curl_pollfds_reset
  - Curl_pollfds_cleanup
  - cpfds_increase
  - cpfds_add_sock
  - Curl_pollfds_add_sock
  - Curl_pollfds_add_ps
  - Curl_waitfds_init
  - cwfds_add_sock
  - Curl_waitfds_add_ps
  - Curl_pollset_reset
  - Curl_pollset_init
  - Curl_pollset_create
  - Curl_pollset_cleanup
  - Curl_pollset_move
  - Curl_pollset_change
  - Curl_pollset_set
  - Curl_pollset_poll
  - Curl_pollset_check
  - Curl_pollset_want_read
  source_file: /src/PROJ/curl/lib/select.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/dynhds.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DYNHDS_OPT_NONE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/dynhds.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DYNHDS_OPT_LOWERCASE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/dynhds.h
      type_or_value: (1 << 0)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: namelen
        type: size_t
      - name: valuelen
        type: size_t
      item_type: struct
      name: dynhds_entry
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/PROJ/curl/lib/dynhds.h
    - fields:
      - name: '**hds'
        type: struct dynhds_entry
      - name: hds_len
        type: size_t
      - name: hds_allc
        type: size_t
      - name: max_entries
        type: size_t
      - name: strs_len
        type: size_t
      - name: max_strs_size
        type: size_t
      - name: opts
        type: int
      item_type: struct
      name: dynhds
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/PROJ/curl/lib/dynhds.h
    typedefs: []
    union: []
- function_names:
  - get_cf_create
  - Curl_debug_set_transport_provider
  - cf_ai_iter_init
  - cf_ai_iter_next
  - cf_ai_iter_has_more
  - cf_ip_attempt_free
  - cf_ip_attempt_new
  - cf_ip_attempt_connect
  - cf_ip_attempt_restart
  - cf_ip_ballers_clear
  - cf_ip_ballers_init
  - cf_ip_ballers_run
  - cf_ip_ballers_shutdown
  - cf_ip_ballers_pollset
  - cf_ip_ballers_pending
  - cf_ip_ballers_max_time
  - cf_ip_ballers_min_reply_ms
  - is_connected
  - start_connect
  - cf_ip_happy_ctx_clear
  - cf_ip_happy_shutdown
  - cf_ip_happy_adjust_pollset
  - cf_ip_happy_connect
  - cf_ip_happy_close
  - cf_ip_happy_data_pending
  - cf_ip_happy_query
  - cf_ip_happy_destroy
  - cf_ip_happy_create
  - cf_ip_happy_insert_after
  source_file: /src/PROJ/curl/lib/cf-ip-happy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: transport
        type: int
      - name: '*cf_create'
        type: cf_ip_connect_create
      item_type: struct
      name: transport_provider
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/PROJ/curl/lib/cf-ip-happy.c
    - fields:
      - name: '*head'
        type: struct Curl_addrinfo
      - name: '*last'
        type: struct Curl_addrinfo
      - name: ai_family
        type: int
      - name: n
        type: int
      item_type: struct
      name: cf_ai_iter
      pos:
        line_end: 120
        line_start: 115
        source_file: /src/PROJ/curl/lib/cf-ip-happy.c
    - fields:
      - name: '*next'
        type: struct cf_ip_attempt
      - name: '*addr'
        type: struct Curl_addrinfo
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*cf_create'
        type: cf_ip_connect_create
      - name: started
        type: struct curltime
      - name: result
        type: CURLcode
      - name: ai_family
        type: int
      - name: transport
        type: int
      - name: error
        type: int
      item_type: struct
      name: cf_ip_attempt
      pos:
        line_end: 180
        line_start: 166
        source_file: /src/PROJ/curl/lib/cf-ip-happy.c
    - fields:
      - name: '*running'
        type: struct cf_ip_attempt
      - name: '*winner'
        type: struct cf_ip_attempt
      - name: addr_iter
        type: struct cf_ai_iter
      - name: '*cf_create'
        type: cf_ip_connect_create
      - name: started
        type: struct curltime
      - name: last_attempt_started
        type: struct curltime
      - name: attempt_delay_ms
        type: timediff_t
      - name: last_attempt_ai_family
        type: int
      - name: transport
        type: int
      item_type: struct
      name: cf_ip_ballers
      pos:
        line_end: 267
        line_start: 254
        source_file: /src/PROJ/curl/lib/cf-ip-happy.c
    - fields:
      - name: transport
        type: int
      - name: '*cf_create'
        type: cf_ip_connect_create
      - name: state
        type: cf_connect_state
      - name: ballers
        type: struct cf_ip_ballers
      - name: started
        type: struct curltime
      item_type: struct
      name: cf_ip_happy_ctx
      pos:
        line_end: 633
        line_start: 627
        source_file: /src/PROJ/curl/lib/cf-ip-happy.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/http_negotiate.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - WPA_GET_BE32
  - WPA_PUT_BE32
  - WPA_PUT_BE64
  - WPA_PUT_BE64
  - RORc
  - Sha256_Ch
  - Sha256_Maj
  - Sha256_S
  - Sha256_R
  - Sigma0
  - Sigma1
  - Gamma0
  - Gamma1
  - sha256_compress
  - RND
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - Curl_sha256it
  source_file: /src/PROJ/curl/lib/sha256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CALG_SHA_256
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/PROJ/curl/lib/sha256.c
      type_or_value: '0x0000800c'
    - item_type: preproc_def
      name: CURL_SHA256_BLOCK_SIZE
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/PROJ/curl/lib/sha256.c
      type_or_value: '64'
    structs:
    - fields:
      - name: '*openssl_ctx'
        type: EVP_MD_CTX
      item_type: struct
      name: ossl_sha256_ctx
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/PROJ/curl/lib/sha256.c
    - fields:
      - name: hCryptProv
        type: HCRYPTPROV
      - name: hHash
        type: HCRYPTHASH
      item_type: struct
      name: sha256_ctx
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/PROJ/curl/lib/sha256.c
    - fields:
      - name: state[8]
        type: unsigned long
      - name: buf[64]
        type: unsigned char
      item_type: struct
      name: sha256_state
      pos:
        line_end: 292
        line_start: 284
        source_file: /src/PROJ/curl/lib/sha256.c
    typedefs:
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/PROJ/curl/lib/sha256.c
      type: ossl_sha256_ctx
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/PROJ/curl/lib/sha256.c
      type: sha256_ctx
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/PROJ/curl/lib/sha256.c
      type: psa_hash_operation_t
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/PROJ/curl/lib/sha256.c
      type: CC_SHA256_CTX
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/PROJ/curl/lib/sha256.c
      type: sha256_ctx
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/PROJ/curl/lib/sha256.c
      type: sha256_state
    union: []
- function_names:
  - zalloc_cb
  - zfree_cb
  - process_zlib_error
  - exit_zlib
  - process_trailer
  - inflate_stream
  - deflate_do_init
  - deflate_do_write
  - deflate_do_close
  - gzip_do_init
  - gzip_do_write
  - gzip_do_close
  - brotli_map_error
  - brotli_do_init
  - brotli_do_write
  - brotli_do_close
  - Curl_zstd_alloc
  - Curl_zstd_free
  - zstd_do_init
  - zstd_do_write
  - zstd_do_close
  - Curl_all_content_encodings
  - error_do_init
  - error_do_write
  - error_do_close
  - find_unencode_writer
  - Curl_build_unencoding_stack
  - Curl_build_unencoding_stack
  - Curl_all_content_encodings
  source_file: /src/PROJ/curl/lib/content_encoding.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTENT_ENCODING_DEFAULT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/content_encoding.c
      type_or_value: '"identity"'
    - item_type: preproc_def
      name: MAX_ENCODE_STACK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/content_encoding.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DECOMPRESS_BUFFER_SIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/content_encoding.c
      type_or_value: '16384 '
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: zlib_init
        type: zlibInitState
      - name: buffer[DECOMPRESS_BUFFER_SIZE]
        type: char
      - name: trailerlen
        type: uInt
      - name: z
        type: z_stream
      item_type: struct
      name: zlib_writer
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/PROJ/curl/lib/content_encoding.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: buffer[DECOMPRESS_BUFFER_SIZE]
        type: char
      - name: '*br'
        type: BrotliDecoderState
      item_type: struct
      name: brotli_writer
      pos:
        line_end: 367
        line_start: 363
        source_file: /src/PROJ/curl/lib/content_encoding.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: '*zds'
        type: ZSTD_DStream
      - name: buffer[DECOMPRESS_BUFFER_SIZE]
        type: char
      item_type: struct
      name: zstd_writer
      pos:
        line_end: 490
        line_start: 486
        source_file: /src/PROJ/curl/lib/content_encoding.c
    typedefs: []
    union: []
- function_names:
  - compare
  - Curl_splay
  - Curl_splayinsert
  - Curl_splaygetbest
  - Curl_splayremove
  - Curl_splayset
  - Curl_splayget
  source_file: /src/PROJ/curl/lib/splay.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_md4.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD4_DIGEST_LENGTH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/curl_md4.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curl_rtmp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_simple_lock_lock
  - curl_simple_lock_unlock
  - curl_simple_lock_lock
  - curl_simple_lock_unlock
  - curl_simple_lock_lock
  - curl_simple_lock_unlock
  source_file: /src/PROJ/curl/lib/easy_lock.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: curl_simple_lock
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/easy_lock.h
      type_or_value: SRWLOCK
    - item_type: preproc_def
      name: CURL_SIMPLE_LOCK_INIT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/easy_lock.h
      type_or_value: SRWLOCK_INIT
    - item_type: preproc_def
      name: curl_simple_lock
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/easy_lock.h
      type_or_value: atomic_int
    - item_type: preproc_def
      name: CURL_SIMPLE_LOCK_INIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/easy_lock.h
      type_or_value: '0'
    - item_type: preproc_def
      name: curl_simple_lock
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/easy_lock.h
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: CURL_SIMPLE_LOCK_INIT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/lib/easy_lock.h
      type_or_value: PTHREAD_MUTEX_INITIALIZER
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_eventfd
  - Curl_pipe
  - Curl_socketpair
  - Curl_socketpair
  source_file: /src/PROJ/curl/lib/socketpair.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INADDR_LOOPBACK
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/lib/socketpair.c
      type_or_value: '0x7f000001'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: inaddr
        type: struct sockaddr_in
      - name: addr
        type: struct sockaddr
      item_type: union
      name: a
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/PROJ/curl/lib/socketpair.c
- function_names:
  - Curl_strdup
  - Curl_wcsdup
  - Curl_memdup
  - Curl_memdup0
  - Curl_saferealloc
  source_file: /src/PROJ/curl/lib/strdup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_setopt_SSLVERSION
  source_file: /src/PROJ/curl/lib/setopt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/getinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_dbg_cleanup
  - curl_dbg_memdebug
  - curl_dbg_memlimit
  - countcheck
  - curl_dbg_malloc
  - curl_dbg_calloc
  - curl_dbg_strdup
  - curl_dbg_wcsdup
  - curl_dbg_realloc
  - curl_dbg_free
  - curl_dbg_socket
  - curl_dbg_send
  - curl_dbg_recv
  - curl_dbg_socketpair
  - curl_dbg_accept
  - curl_dbg_accept4
  - curl_dbg_mark_sclose
  - curl_dbg_sclose
  - curl_dbg_fopen
  - curl_dbg_fdopen
  - curl_dbg_fclose
  - curl_dbg_log
  source_file: /src/PROJ/curl/lib/memdebug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: mem[1]
        type: "union {\n    curl_off_t o;\n    double d;\n    void *p;\n  }"
      item_type: struct
      name: memdebug
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/PROJ/curl/lib/memdebug.c
    typedefs: []
    union: []
- function_names:
  - Curl_idn_decode
  source_file: /src/PROJ/curl/lib/idn.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_req_init
  - Curl_req_soft_reset
  - Curl_req_start
  - Curl_req_done
  - Curl_req_hard_reset
  - Curl_req_free
  - xfer_send
  - req_send_buffer_flush
  - req_set_upload_done
  - req_flush
  - add_from_client
  - req_send_buffer_add
  - Curl_req_send
  - Curl_req_sendbuf_empty
  - Curl_req_want_send
  - Curl_req_done_sending
  - Curl_req_send_more
  - Curl_req_abort_sending
  - Curl_req_stop_send_recv
  source_file: /src/PROJ/curl/lib/request.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_mutex_init
  - Curl_mutex_acquire
  - Curl_mutex_release
  - Curl_mutex_destroy
  - Curl_mutex_init
  - Curl_mutex_init
  - Curl_mutex_acquire
  - Curl_mutex_release
  - Curl_mutex_destroy
  source_file: /src/PROJ/curl/lib/curl_threads.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_THREAD_RETURN_T
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: curl_mutex_t
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: curl_thread_t
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: pthread_t *
    - item_type: preproc_def
      name: curl_thread_t_null
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: (pthread_t *)0
    - item_type: preproc_def
      name: CURL_THREAD_RETURN_T
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: DWORD
    - item_type: preproc_def
      name: CURL_STDCALL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: WINAPI
    - item_type: preproc_def
      name: curl_mutex_t
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: CRITICAL_SECTION
    - item_type: preproc_def
      name: curl_thread_t
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: HANDLE
    - item_type: preproc_def
      name: curl_thread_t_null
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/curl_threads.h
      type_or_value: (HANDLE)0
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/openssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL_get1_peer_certificate
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/PROJ/curl/lib/vtls/openssl.h
      type_or_value: SSL_get_peer_certificate
    structs:
    - fields:
      - name: '* ssl_ctx'
        type: SSL_CTX
      - name: '*     ssl'
        type: SSL
      - name: '*bio_method'
        type: BIO_METHOD
      - name: io_result
        type: CURLcode
      - name: blocked_ssl_write_len
        type: int
      item_type: struct
      name: ossl_ctx
      pos:
        line_end: 85
        line_start: 69
        source_file: /src/PROJ/curl/lib/vtls/openssl.h
    typedefs:
    - item_type: typedef
      name: "Curl_ossl_ctx_setup_cb(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data)"
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/PROJ/curl/lib/vtls/openssl.h
      type: CURLcode
    - item_type: typedef
      name: Curl_ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/PROJ/curl/lib/vtls/openssl.h
      type: int
    - item_type: typedef
      name: "Curl_ossl_init_session_reuse_cb(struct Curl_cfilter *cf,\n                                                 struct
        Curl_easy *data,\n                                                 struct
        alpn_spec *alpns,\n                                                 struct
        Curl_ssl_session *scs,\n                                                 bool
        *do_early_data)"
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/PROJ/curl/lib/vtls/openssl.h
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/mbedtls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pmatch
  - hostmatch
  - Curl_cert_hostcheck
  source_file: /src/PROJ/curl/lib/vtls/hostcheck.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/wolfssl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ssl_ctx'
        type: struct WOLFSSL_CTX
      - name: '*ssl'
        type: struct WOLFSSL
      - name: io_result
        type: CURLcode
      - name: hs_result
        type: CURLcode
      - name: io_send_blocked_len
        type: int
      item_type: struct
      name: wssl_ctx
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.h
    typedefs:
    - item_type: typedef
      name: "Curl_wssl_ctx_setup_cb(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data)"
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_wssl_init_session_reuse_cb(struct Curl_cfilter *cf,\n                                                 struct
        Curl_easy *data,\n                                                 struct
        alpn_spec *alpns,\n                                                 struct
        Curl_ssl_session *scs,\n                                                 bool
        *do_early_data)"
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.h
      type: CURLcode
    union: []
- function_names:
  - spack_enc8
  - spack_dec8
  - spack_enc16
  - spack_dec16
  - spack_enc32
  - spack_dec32
  - spack_enc64
  - spack_dec64
  - spack_encstr16
  - spack_decstr16
  - spack_encdata16
  - spack_decdata16
  - Curl_ssl_session_pack
  - Curl_ssl_session_unpack
  source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UINT16_MAX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: CURL_SPACK_VERSION
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CURL_SPACK_IETF_ID
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: CURL_SPACK_VALID_UNTIL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: CURL_SPACK_TICKET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: CURL_SPACK_ALPN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: CURL_SPACK_EARLYDATA
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: CURL_SPACK_QUICTP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x07'
    structs: []
    typedefs:
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type: unsigned char
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type: unsigned __int16
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type: unsigned __int32
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/PROJ/curl/lib/vtls/vtls_spack.c
      type: unsigned __int64
    union: []
- function_names:
  - wssl_tls13_secret_callback
  - wssl_log_tls12_secret
  - wssl_do_file_type
  - wssl_bio_cf_create
  - wssl_bio_cf_destroy
  - wssl_bio_cf_ctrl
  - wssl_bio_cf_out_write
  - wssl_bio_cf_in_read
  - wssl_bio_cf_init_methods
  - wssl_bio_cf_free_methods
  - wssl_bio_cf_init_methods
  - wssl_bio_cf_free_methods
  - Curl_wssl_cache_session
  - wssl_vtls_new_session_cb
  - wssl_on_session_reuse
  - wssl_setup_session
  - wssl_populate_x509_store
  - wssl_x509_share_free
  - wssl_cached_x509_store_expired
  - wssl_cached_x509_store_different
  - wssl_get_cached_x509_store
  - wssl_set_cached_x509_store
  - Curl_wssl_setup_x509_store
  - wssl_add_default_ciphers
  - wssl_legacy_CTX_set_min_proto_version
  - wssl_legacy_CTX_set_max_proto_version
  - client_certificate
  - ssl_version
  - Curl_wssl_ctx_init
  - wssl_connect_step1
  - wssl_strerror
  - Curl_wssl_verify_pinned
  - wssl_send_earlydata
  - wssl_handshake
  - wssl_send
  - wssl_shutdown
  - wssl_close
  - wssl_recv
  - Curl_wssl_version
  - wssl_init
  - wssl_cleanup
  - wssl_data_pending
  - Curl_wssl_report_handshake
  - wssl_connect
  - wssl_random
  - wssl_sha256sum
  - wssl_get_internals
  source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_GET_CLOSE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_GET_CLOSE
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_SET_CLOSE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_SET_CLOSE
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_FLUSH
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_FLUSH
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_DUP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_DUP
    - item_type: preproc_def
      name: wolfSSL_BIO_set_retry_write
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_set_retry_write
    - item_type: preproc_def
      name: wolfSSL_BIO_set_retry_read
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_set_retry_read
    - item_type: preproc_def
      name: MPROTO_WSSL_X509_KEY
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: '"tls:wssl:x509:share"'
    - item_type: preproc_def
      name: wolfSSL_CTX_set_min_proto_version
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: wssl_legacy_CTX_set_min_proto_version
    - item_type: preproc_def
      name: wolfSSL_CTX_set_max_proto_version
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: wssl_legacy_CTX_set_max_proto_version
    - item_type: preproc_def
      name: QUIC_GROUPS
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: '"P-256:P-384:P-521"'
    - item_type: preproc_def
      name: MAX_CIPHER_LEN
      pos:
        line_end: 1173
        line_start: 1172
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: group
        type: word16
      - name: '*name'
        type: char
      item_type: struct
      name: group_name_map
      pos:
        line_end: 238
        line_start: 235
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
    - fields:
      - name: '*CAfile'
        type: char
      - name: '*store'
        type: WOLFSSL_X509_STORE
      - name: time
        type: struct curltime
      item_type: struct
      name: wssl_x509_share
      pos:
        line_end: 709
        line_start: 705
        source_file: /src/PROJ/curl/lib/vtls/wolfssl.c
    typedefs: []
    union: []
- function_names:
  - is_cr_or_lf
  - c_memmem
  - add_certs_data_to_store
  - add_certs_file_to_store
  - cert_get_name_string
  - get_num_host_info
  - get_alt_name_info
  - Curl_verify_host
  - Curl_verify_certificate
  source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BACKEND
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: ((struct schannel_ssl_backend_data *)connssl->backend)
    - item_type: preproc_def
      name: CERT_QUERY_OBJECT_BLOB
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: CERT_QUERY_CONTENT_CERT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CERT_QUERY_CONTENT_FLAG_CERT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: (1 << CERT_QUERY_CONTENT_CERT)
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_BINARY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_BASE64_ENCODED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_FLAG_ALL
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: "(1 << CERT_QUERY_FORMAT_BINARY) |              \\\n  (1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
        |      \\\n  (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)"
    - item_type: preproc_def
      name: CERT_CHAIN_REVOCATION_CHECK_CHAIN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x20000000'
    - item_type: preproc_def
      name: CERT_NAME_DISABLE_IE4_UTF8_FLAG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: CERT_TRUST_IS_OFFLINE_REVOCATION
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: MAX_CAFILE_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '1048576 '
    - item_type: preproc_def
      name: BEGIN_CERT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '"-----BEGIN CERTIFICATE-----"'
    - item_type: preproc_def
      name: END_CERT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '"\n-----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x00000001'
    structs:
    - fields:
      - name: cbSize
        type: DWORD
      - name: hRestrictedRoot
        type: HCERTSTORE
      - name: hRestrictedTrust
        type: HCERTSTORE
      - name: hRestrictedOther
        type: HCERTSTORE
      - name: cAdditionalStore
        type: DWORD
      - name: '*rghAdditionalStore'
        type: HCERTSTORE
      - name: dwFlags
        type: DWORD
      - name: dwUrlRetrievalTimeout
        type: DWORD
      - name: MaximumCachedCertificates
        type: DWORD
      - name: CycleDetectionModulus
        type: DWORD
      - name: hExclusiveRoot
        type: HCERTSTORE
      - name: hExclusiveTrustedPeople
        type: HCERTSTORE
      - name: dwExclusiveFlags
        type: DWORD
      item_type: struct
      name: cert_chain_engine_config_win8
      pos:
        line_end: 91
        line_start: 77
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
    - fields:
      - name: cbSize
        type: DWORD
      - name: hRestrictedRoot
        type: HCERTSTORE
      - name: hRestrictedTrust
        type: HCERTSTORE
      - name: hRestrictedOther
        type: HCERTSTORE
      - name: cAdditionalStore
        type: DWORD
      - name: '*rghAdditionalStore'
        type: HCERTSTORE
      - name: dwFlags
        type: DWORD
      - name: dwUrlRetrievalTimeout
        type: DWORD
      - name: MaximumCachedCertificates
        type: DWORD
      - name: CycleDetectionModulus
        type: DWORD
      - name: hExclusiveRoot
        type: HCERTSTORE
      - name: hExclusiveTrustedPeople
        type: HCERTSTORE
      item_type: struct
      name: cert_chain_engine_config_win7
      pos:
        line_end: 112
        line_start: 99
        source_file: /src/PROJ/curl/lib/vtls/schannel_verify.c
    typedefs: []
    union: []
- function_names:
  - Curl_mbedtlsthreadlock_thread_setup
  - Curl_mbedtlsthreadlock_thread_cleanup
  - Curl_mbedtlsthreadlock_lock_function
  - Curl_mbedtlsthreadlock_unlock_function
  source_file: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBEDTLS_MUTEX_T
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: MBEDTLS_MUTEX_T
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
      type_or_value: HANDLE
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/rustls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getASN1Element_
  - getASN1Element
  - searchOID
  - Curl_x509_getASN1Element
  - bool2str
  - octet2str
  - bit2str
  - int2str
  - utf8asn1str
  - encodeOID
  - OID2str
  - GTime2str
  - Curl_x509_GTime2str
  - UTime2str
  - ASN1tostr
  - encodeDN
  - Curl_parseX509
  - dumpAlgo
  - ssl_push_certinfo
  - ssl_push_certinfo_dyn
  - do_pubkey_field
  - do_pubkey
  - DNtostr
  - Curl_extract_certinfo
  source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_ASN1_MAX
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '((size_t) 0x40000)      '
    - item_type: preproc_def
      name: CURL_ASN1_BOOLEAN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_ASN1_INTEGER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_ASN1_BIT_STRING
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CURL_ASN1_OCTET_STRING
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_ASN1_NULL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CURL_ASN1_OBJECT_IDENTIFIER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '6'
    - item_type: preproc_def
      name: CURL_ASN1_ENUMERATED
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CURL_ASN1_UTF8_STRING
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '12'
    - item_type: preproc_def
      name: CURL_ASN1_NUMERIC_STRING
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '18'
    - item_type: preproc_def
      name: CURL_ASN1_PRINTABLE_STRING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '19'
    - item_type: preproc_def
      name: CURL_ASN1_TELETEX_STRING
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '20'
    - item_type: preproc_def
      name: CURL_ASN1_IA5_STRING
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '22'
    - item_type: preproc_def
      name: CURL_ASN1_UTC_TIME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '23'
    - item_type: preproc_def
      name: CURL_ASN1_GENERALIZED_TIME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '24'
    - item_type: preproc_def
      name: CURL_ASN1_VISIBLE_STRING
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '26'
    - item_type: preproc_def
      name: CURL_ASN1_UNIVERSAL_STRING
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '28'
    - item_type: preproc_def
      name: CURL_ASN1_BMP_STRING
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '30'
    - item_type: preproc_def
      name: CURL_ASN1_MAX_RECURSIONS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*numoid'
        type: char
      - name: '*textoid'
        type: char
      item_type: struct
      name: Curl_OID
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.c
    typedefs: []
    union: []
- function_names:
  - tls_log_func
  - gtls_push
  - gtls_pull
  - gtls_init
  - gtls_cleanup
  - showtime
  - load_file
  - unload_file
  - cf_gtls_handshake
  - gnutls_do_file_type
  - gnutls_set_ssl_version_min_max
  - Curl_gtls_shared_creds_create
  - Curl_gtls_shared_creds_up_ref
  - Curl_gtls_shared_creds_free
  - gtls_populate_creds
  - gtls_shared_creds_expired
  - gtls_shared_creds_different
  - gtls_get_cached_creds
  - gtls_shared_creds_hash_free
  - gtls_set_cached_creds
  - Curl_gtls_client_trust_setup
  - Curl_gtls_cache_session
  - Curl_glts_get_ietf_proto
  - cf_gtls_update_session_id
  - gtls_handshake_cb
  - gtls_set_priority
  - gtls_client_init
  - keylog_callback
  - gtls_on_session_reuse
  - Curl_gtls_ctx_init
  - gtls_connect_step1
  - pkp_pin_peer_pubkey
  - Curl_gtls_report_handshake
  - gtls_msg_verify_result
  - gtls_infof_cert
  - gtls_verify_ocsp_status
  - gtls_chain_get_der
  - glts_apple_verify
  - Curl_gtls_verifyserver
  - gtls_verifyserver
  - gtls_send_earlydata
  - gtls_connect_common
  - gtls_connect
  - gtls_data_pending
  - gtls_send
  - gtls_shutdown
  - gtls_close
  - gtls_recv
  - Curl_gtls_version
  - gtls_random
  - gtls_sha256sum
  - gtls_cert_status_request
  - gtls_get_internals
  source_file: /src/PROJ/curl/lib/vtls/gtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUTLS_CIPHERS
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
      type_or_value: '"NORMAL:-ARCFOUR-128:-CTYPE-ALL:+CTYPE-X509"'
    - item_type: preproc_def
      name: GNUTLS_SRP
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
      type_or_value: '"+SRP"'
    - item_type: preproc_def
      name: QUIC_PRIORITY
      pos:
        line_end: 328
        line_start: 323
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
      type_or_value: "\"NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+AES-256-GCM:\"
        \\\n  \"+CHACHA20-POLY1305:+AES-128-CCM:-GROUP-ALL:+GROUP-SECP256R1:\" \\\n
        \ \"+GROUP-X25519:+GROUP-SECP384R1:+GROUP-SECP521R1:\" \\\n  \"%DISABLE_TLS13_COMPAT_MODE\""
    - item_type: preproc_def
      name: MPROTO_GTLS_X509_KEY
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
      type_or_value: '"tls:gtls:x509:share"'
    - item_type: preproc_def
      name: use_addr
      pos:
        line_end: 1826
        line_start: 1825
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
      type_or_value: in6_addr
    - item_type: preproc_def
      name: use_addr
      pos:
        line_end: 1828
        line_start: 1827
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
      type_or_value: in_addr
    structs:
    - fields:
      - name: gtls
        type: struct gtls_ctx
      item_type: struct
      name: gtls_ssl_backend_data
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
    - fields:
      - name: '*certs'
        type: gnutls_datum_t
      - name: num_certs
        type: unsigned int
      item_type: struct
      name: gtls_cert_chain
      pos:
        line_end: 1539
        line_start: 1536
        source_file: /src/PROJ/curl/lib/vtls/gtls.c
    typedefs: []
    union: []
- function_names:
  - Curl_mbedtlsthreadlock_thread_setup
  - Curl_mbedtlsthreadlock_thread_cleanup
  - Curl_mbedtlsthreadlock_lock_function
  - Curl_mbedtlsthreadlock_unlock_function
  source_file: /src/PROJ/curl/lib/vtls/mbedtls_threadlock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ECH_ENABLED
  - Curl_ssl_init
  - Curl_ssl_cleanup
  - Curl_ssl_close_all
  - Curl_ssl_set_engine
  - Curl_ssl_set_engine_default
  - Curl_ssl_engines_list
  - Curl_ssl_free_certinfo
  - Curl_ssl_random
  - Curl_ssl_cert_status_request
  - Curl_ssl_supports
  - Curl_ssl_cfilter_add
  - Curl_ssl_cfilter_remove
  - Curl_ssl_cf_get_config
  - Curl_ssl_cf_get_primary_config
  source_file: /src/PROJ/curl/lib/vtls/vtls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSLSUPP_CA_PATH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: SSLSUPP_CERTINFO
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: SSLSUPP_PINNEDPUBKEY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: SSLSUPP_SSL_CTX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: SSLSUPP_HTTPS_PROXY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: SSLSUPP_TLS13_CIPHERSUITES
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<5) '
    - item_type: preproc_def
      name: SSLSUPP_CAINFO_BLOB
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: SSLSUPP_ECH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: SSLSUPP_CA_CACHE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: SSLSUPP_CIPHER_LIST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<9) '
    - item_type: preproc_def
      name: SSLSUPP_SIGNATURE_ALGORITHMS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '(1<<10) '
    - item_type: preproc_def
      name: ALPN_ACCEPTED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: server accepted "'
    - item_type: preproc_def
      name: VTLS_INFOF_NO_ALPN
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: server did not agree on a protocol. Uses default."'
    - item_type: preproc_def
      name: VTLS_INFOF_ALPN_OFFER_1STR
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: curl offers %s"'
    - item_type: preproc_def
      name: VTLS_INFOF_ALPN_ACCEPTED
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: ALPN_ACCEPTED "%.*s"
    - item_type: preproc_def
      name: VTLS_INFOF_NO_ALPN_DEFERRED
      pos:
        line_end: 65
        line_start: 63
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: deferred handshake for early data without specific protocol."'
    - item_type: preproc_def
      name: VTLS_INFOF_ALPN_DEFERRED
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: deferred handshake for early data using ''%.*s''."'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_UNKNOWN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_SSL3
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0x0300'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0x0301'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1_1
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0x0302'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1_2
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0x0303'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1_3
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0x0304'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_DTLS1
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0xFEFF'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_DTLS1_2
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '0xFEFD'
    - item_type: preproc_def
      name: MAX_PINNED_PUBKEY_SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '1048576 '
    - item_type: preproc_def
      name: CURL_X509_STR_MAX
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '100000'
    - item_type: preproc_def
      name: SSL_CB_MAX_SIZE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '85'
    - item_type: preproc_def
      name: SSL_SHUTDOWN_TIMEOUT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
      type_or_value: '10000 '
    structs:
    - fields:
      - name: '*hostname'
        type: char
      - name: '*dispname'
        type: char
      - name: '*sni'
        type: char
      - name: '*scache_key'
        type: char
      - name: type
        type: ssl_peer_type
      - name: port
        type: int
      - name: transport
        type: int
      item_type: struct
      name: ssl_peer
      pos:
        line_end: 92
        line_start: 84
        source_file: /src/PROJ/curl/lib/vtls/vtls.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/apple.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUPPORTS_SecTrustEvaluateWithError
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/vtls/apple.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQUIRES_SecTrustEvaluateWithError
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/vtls/apple.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUPPORTS_SecOCSP
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/vtls/apple.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - map_error
  - rustls_failf
  - cr_data_pending
  - read_cb
  - write_cb
  - tls_recv_more
  - cr_recv
  - cr_flush_out
  - cr_send
  - cr_verify_none
  - read_file_into
  - cr_get_selected_ciphers
  - cr_keylog_log_cb
  - init_config_builder
  - init_config_builder_alpn
  - init_config_builder_verifier_crl
  - init_config_builder_verifier
  - init_config_builder_platform_verifier
  - init_config_builder_keylog
  - init_config_builder_client_auth
  - init_config_builder_ech
  - cr_init_backend
  - cr_set_negotiated_alpn
  - cr_connect
  - cr_get_internals
  - cr_shutdown
  - cr_close
  - cr_version
  - cr_random
  - cr_cleanup
  source_file: /src/PROJ/curl/lib/vtls/rustls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*config'
        type: struct rustls_client_config
      - name: '*conn'
        type: struct rustls_connection
      - name: plain_out_buffered
        type: size_t
      item_type: struct
      name: rustls_ssl_backend_data
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/PROJ/curl/lib/vtls/rustls.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: io_ctx
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/PROJ/curl/lib/vtls/rustls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/gtls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: creds
        type: gnutls_certificate_credentials_t
      - name: '*CAfile'
        type: char
      - name: time
        type: struct curltime
      - name: refcount
        type: size_t
      item_type: struct
      name: gtls_shared_creds
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/PROJ/curl/lib/vtls/gtls.h
    - fields:
      - name: session
        type: gnutls_session_t
      - name: '*shared_creds'
        type: struct gtls_shared_creds
      - name: io_result
        type: CURLcode
      item_type: struct
      name: gtls_ctx
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/PROJ/curl/lib/vtls/gtls.h
    typedefs:
    - item_type: typedef
      name: "Curl_gtls_ctx_setup_cb(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data)"
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/PROJ/curl/lib/vtls/gtls.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_gtls_init_session_reuse_cb(struct Curl_cfilter *cf,\n                                                 struct
        Curl_easy *data,\n                                                 struct
        alpn_spec *alpns,\n                                                 struct
        Curl_ssl_session *scs,\n                                                 bool
        *do_early_data)"
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/PROJ/curl/lib/vtls/gtls.h
      type: CURLcode
    union: []
- function_names:
  - Curl_tls_keylog_open
  - Curl_tls_keylog_close
  - Curl_tls_keylog_enabled
  - Curl_tls_keylog_write_line
  - Curl_tls_keylog_write
  source_file: /src/PROJ/curl/lib/vtls/keylog.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCH_DEV
  - SCH_DEV_SHOWBOOL
  - SCH_DEV
  - SCH_DEV_SHOWBOOL
  - InitSecBuffer
  - InitSecBufferDesc
  - schannel_set_ssl_version_min_max
  - CIPHEROPTION
  - get_alg_id_by_name
  - set_ssl_ciphers
  - get_cert_location
  - schannel_acquire_credential_handle
  - schannel_connect_step1
  - schannel_error
  - schannel_connect_step2
  - valid_cert_encoding
  - traverse_cert_store
  - cert_counter_callback
  - add_cert_to_certinfo
  - schannel_session_free
  - schannel_connect_step3
  - schannel_connect
  - schannel_recv_renegotiate
  - schannel_send
  - schannel_recv
  - schannel_data_pending
  - schannel_shutdown
  - schannel_close
  - schannel_init
  - schannel_cleanup
  - schannel_version
  - schannel_random
  - schannel_pkp_pin_peer_pubkey
  - schannel_checksum
  - schannel_sha256sum
  - schannel_get_internals
  - Curl_schannel_get_cached_cert_store
  - schannel_cert_share_free
  - Curl_schannel_set_cached_cert_store
  source_file: /src/PROJ/curl/lib/vtls/schannel.c
  types:
    enum:
    - enumerators:
      - name: SCH_RENEG_CALLER_IS_RECV
      - name: SCH_RENEG_CALLER_IS_SEND
      item_type: enum
      name: schannel_renegotiate_caller_t
      pos:
        line_end: 1705
        line_start: 1702
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
    preproc_defs:
    - item_type: preproc_def
      name: SP_PROT_TLS1_0_CLIENT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: SP_PROT_TLS1_CLIENT
    - item_type: preproc_def
      name: SP_PROT_TLS1_1_CLIENT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: SP_PROT_TLS1_2_CLIENT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: SP_PROT_TLS1_3_CLIENT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: SCH_USE_STRONG_CRYPTO
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '0x00400000'
    - item_type: preproc_def
      name: SECBUFFER_ALERT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '17'
    - item_type: preproc_def
      name: CURL_SCHANNEL_BUFFER_INIT_SIZE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: CURL_SCHANNEL_BUFFER_FREE_SIZE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: CERT_THUMBPRINT_STR_LEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '40'
    - item_type: preproc_def
      name: CERT_THUMBPRINT_DATA_LEN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '20'
    - item_type: preproc_def
      name: CALG_SHA_256
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '0x0000800c'
    - item_type: preproc_def
      name: ALG_CLASS_DHASH
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: ALG_CLASS_HASH
    - item_type: preproc_def
      name: PKCS12_NO_PERSIST_KEY
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: CERT_FIND_HAS_PRIVATE_KEY
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: (21 << CERT_COMPARE_SHIFT)
    - item_type: preproc_def
      name: MPROTO_SCHANNEL_CERT_SHARE_KEY
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '"tls:schannel:cert:share"'
    - item_type: preproc_def
      name: NUM_CIPHERS
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '47 '
    - item_type: preproc_def
      name: MAX_RENEG_BLOCK_TIME
      pos:
        line_end: 1708
        line_start: 1707
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type_or_value: '(7 * 1000) '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: int
      item_type: struct
      name: algo
      pos:
        line_end: 232
        line_start: 229
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: result
        type: CURLcode
      - name: idx
        type: int
      - name: certs_count
        type: int
      item_type: struct
      name: Adder_args
      pos:
        line_end: 1489
        line_start: 1483
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
    typedefs:
    - item_type: typedef
      name: "(*Read_crt_func)(const CERT_CONTEXT *ccert_context,\n                             bool
        reverse_order, void *arg)"
      pos:
        line_end: 1444
        line_start: 1443
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type: bool
    - item_type: typedef
      name: '*(APIENTRY *WINE_GET_VERSION_FN)(void)'
      pos:
        line_end: 2566
        line_start: 2566
        source_file: /src/PROJ/curl/lib/vtls/schannel.c
      type: char
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/cipher_suite.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_SCACHE
  - cf_ssl_scache_get
  - cf_ssl_scache_session_ldestroy
  - Curl_ssl_session_create
  - Curl_ssl_session_create2
  - Curl_ssl_session_destroy
  - cf_ssl_scache_clear_peer
  - cf_ssl_scache_peer_set_obj
  - cf_ssl_cache_peer_update
  - cf_ssl_scache_peer_init
  - cf_scache_session_remove
  - cf_scache_session_expired
  - cf_scache_peer_remove_expired
  - cf_scache_peer_remove_non13
  - Curl_ssl_scache_create
  - Curl_ssl_scache_destroy
  - Curl_ssl_scache_use
  - Curl_ssl_scache_lock
  - Curl_ssl_scache_unlock
  - cf_ssl_peer_key_add_path
  - cf_ssl_peer_key_add_hash
  - cf_ssl_peer_key_is_global
  - Curl_ssl_peer_key_make
  - cf_ssl_scache_match_auth
  - cf_ssl_find_peer_by_key
  - cf_ssl_get_free_peer
  - cf_ssl_add_peer
  - cf_scache_peer_add_session
  - cf_scache_add_session
  - Curl_ssl_scache_put
  - Curl_ssl_scache_return
  - Curl_ssl_scache_take
  - Curl_ssl_scache_add_obj
  - Curl_ssl_scache_get_obj
  - Curl_ssl_scache_remove_all
  - cf_ssl_scache_peer_set_hmac
  - cf_ssl_find_peer_by_hmac
  - Curl_ssl_session_import
  - Curl_ssl_session_export
  source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SCACHE_MAGIC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
      type_or_value: '0x000e1551'
    - item_type: preproc_def
      name: CURL_SSLS_LOCAL_SUFFIX
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
      type_or_value: '":L"'
    - item_type: preproc_def
      name: CURL_SSLS_GLOBAL_SUFFIX
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
      type_or_value: '":G"'
    - item_type: preproc_def
      name: CURL_SSL_TICKET_MAX
      pos:
        line_end: 1009
        line_start: 1008
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
      type_or_value: (16*1024)
    structs:
    - fields:
      - name: '*ssl_peer_key'
        type: char
      - name: '*clientcert'
        type: char
      - name: '*srp_username'
        type: char
      - name: '*srp_password'
        type: char
      - name: sessions
        type: struct Curl_llist
      - name: '*sobj'
        type: void
      - name: '*sobj_free'
        type: Curl_ssl_scache_obj_dtor
      - name: key_salt[CURL_SHA256_DIGEST_LENGTH]
        type: unsigned char
      - name: key_hmac[CURL_SHA256_DIGEST_LENGTH]
        type: unsigned char
      - name: max_sessions
        type: size_t
      - name: age
        type: long
      item_type: struct
      name: Curl_ssl_scache_peer
      pos:
        line_end: 71
        line_start: 57
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*peers'
        type: struct Curl_ssl_scache_peer
      - name: peer_count
        type: size_t
      - name: default_lifetime_secs
        type: int
      - name: age
        type: long
      item_type: struct
      name: Curl_ssl_scache
      pos:
        line_end: 83
        line_start: 77
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/schannel.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CF_CTX_CALL_DATA
  source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALPN_HTTP_1_1_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ALPN_HTTP_1_1
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '"http/1.1"'
    - item_type: preproc_def
      name: ALPN_H2_LENGTH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ALPN_H2
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '"h2"'
    - item_type: preproc_def
      name: ALPN_H3_LENGTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ALPN_H3
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '"h3"'
    - item_type: preproc_def
      name: ALPN_NAME_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '10'
    - item_type: preproc_def
      name: ALPN_ENTRIES_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ALPN_PROTO_BUF_MAX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: (ALPN_ENTRIES_MAX * (ALPN_NAME_MAX + 1))
    - item_type: preproc_def
      name: CURL_SSL_IO_NEED_NONE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: (0)
    - item_type: preproc_def
      name: CURL_SSL_IO_NEED_RECV
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURL_SSL_IO_NEED_SEND
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURL_SSL_EARLY_MAX
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
      type_or_value: (64*1024)
    structs:
    - fields:
      - name: entries[ALPN_ENTRIES_MAX][ALPN_NAME_MAX]
        type: char
      - name: count
        type: size_t
      item_type: struct
      name: alpn_spec
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
    - fields:
      - name: data[ALPN_PROTO_BUF_MAX]
        type: unsigned char
      - name: len
        type: int
      item_type: struct
      name: alpn_proto_buf
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
    - fields:
      - name: '*ssl_impl'
        type: struct Curl_ssl
      - name: peer
        type: struct ssl_peer
      - name: '*alpn'
        type: struct alpn_spec
      - name: '*backend'
        type: void
      - name: call_data
        type: struct cf_call_data
      - name: handshake_done
        type: struct curltime
      - name: negotiated
        type: "struct {\n    char *alpn;                     /* ALPN value or NULL
          */\n  }"
      - name: earlydata
        type: struct bufq
      - name: earlydata_max
        type: size_t
      - name: earlydata_skip
        type: size_t
      - name: state
        type: ssl_connection_state
      - name: connecting_state
        type: ssl_connect_state
      - name: earlydata_state
        type: ssl_earlydata_state
      - name: io_need
        type: int
      item_type: struct
      name: ssl_connect_data
      pos:
        line_end: 130
        line_start: 108
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
    - fields:
      - name: info
        type: curl_ssl_backend
      - name: supports
        type: unsigned int
      - name: sizeof_ssl_backend_data
        type: size_t
      - name: (*init)(void)
        type: int
      - name: (*cleanup)(void)
        type: void
      - name: (*version)(char *buffer, size_t size)
        type: size_t
      - name: "(*shut_down)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                        bool
          send_shutdown, bool *done)"
        type: CURLcode
      - name: "(*data_pending)(struct Curl_cfilter *cf,\n                       const
          struct Curl_easy *data)"
        type: bool
      - name: "(*random)(struct Curl_easy *data, unsigned char *entropy,\n                     size_t
          length)"
        type: CURLcode
      - name: (*cert_status_request)(void)
        type: bool
      - name: "(*do_connect)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                         bool
          *done)"
        type: CURLcode
      - name: "(*adjust_pollset)(struct Curl_cfilter *cf, struct Curl_easy *data,\n
          \                            struct easy_pollset *ps)"
        type: CURLcode
      - name: '*(*get_internals)(struct ssl_connect_data *connssl, CURLINFO info)'
        type: void
      - name: (*close)(struct Curl_cfilter *cf, struct Curl_easy *data)
        type: void
      - name: (*close_all)(struct Curl_easy *data)
        type: void
      - name: (*set_engine)(struct Curl_easy *data, const char *engine)
        type: CURLcode
      - name: (*set_engine_default)(struct Curl_easy *data)
        type: CURLcode
      - name: '*(*engines_list)(struct Curl_easy *data)'
        type: struct curl_slist
      - name: "(*sha256sum)(const unsigned char *input, size_t inputlen,\n                    unsigned
          char *sha256sum, size_t sha256sumlen)"
        type: CURLcode
      - name: "(*recv_plain)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                         char
          *buf, size_t len, size_t *pnread)"
        type: CURLcode
      - name: "(*send_plain)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                         const
          void *mem, size_t len, size_t *pnwritten)"
        type: CURLcode
      - name: "(*get_channel_binding)(struct Curl_easy *data, int sockindex,\n                                  struct
          dynbuf *binding)"
        type: CURLcode
      item_type: struct
      name: Curl_ssl
      pos:
        line_end: 192
        line_start: 140
        source_file: /src/PROJ/curl/lib/vtls/vtls_int.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/apple.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "Curl_vtls_get_cert_der(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data,\n
        \                                       size_t i,\n                                        unsigned
        char **pder,\n                                        size_t *pder_len)"
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/PROJ/curl/lib/vtls/apple.h
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/vtls_spack.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/vtls_scache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SCACHE_MAX_13_LIFETIME_SEC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.h
      type_or_value: (60*60*24*7)
    - item_type: preproc_def
      name: CURL_SCACHE_MAX_12_LIFETIME_SEC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.h
      type_or_value: (60*60*24)
    structs:
    - fields:
      - name: '*sdata'
        type: void
      - name: sdata_len
        type: size_t
      - name: valid_until
        type: curl_off_t
      - name: ietf_tls_id
        type: int
      - name: '*alpn'
        type: char
      - name: earlydata_max
        type: size_t
      - name: '*quic_tp'
        type: unsigned char
      - name: quic_tp_len
        type: size_t
      - name: list
        type: struct Curl_llist_node
      item_type: struct
      name: Curl_ssl_session
      pos:
        line_end: 132
        line_start: 122
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.h
    typedefs:
    - item_type: typedef
      name: Curl_ssl_scache_obj_dtor(void *sobj)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/PROJ/curl/lib/vtls/vtls_scache.h
      type: void
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
  types:
    enum:
    - enumerators:
      - name: TlsParametersCngAlgUsageKeyExchange
      - name: TlsParametersCngAlgUsageSignature
      - name: TlsParametersCngAlgUsageCipher
      - name: TlsParametersCngAlgUsageDigest
      - name: TlsParametersCngAlgUsageCertSig
      item_type: enum
      name: _eTlsAlgorithmUsage
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    preproc_defs:
    - item_type: preproc_def
      name: CERT_STORE_PROV_MEMORY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: ((LPCSTR)(size_t)2)
    - item_type: preproc_def
      name: CERT_STORE_PROV_SYSTEM_A
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: ((LPCSTR)(size_t)9)
    - item_type: preproc_def
      name: CERT_STORE_PROV_SYSTEM_W
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: ((LPCSTR)(size_t)10)
    - item_type: preproc_def
      name: SCH_CREDENTIALS_VERSION
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: '0x00000005'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_PARAMETERS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_ALPN_IDS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_CRYPTO_SETTINGS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_CHAINING_MODES
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    structs:
    - fields:
      - name: eAlgorithmUsage
        type: eTlsAlgorithmUsage
      - name: strCngAlgId
        type: UNICODE_STRING
      - name: cChainingModes
        type: DWORD
      - name: rgstrChainingModes
        type: PUNICODE_STRING
      - name: dwMinBitLength
        type: DWORD
      - name: dwMaxBitLength
        type: DWORD
      item_type: struct
      name: _CRYPTO_SETTINGS
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: cAlpnIds
        type: DWORD
      - name: rgstrAlpnIds
        type: PUNICODE_STRING
      - name: grbitDisabledProtocols
        type: DWORD
      - name: cDisabledCrypto
        type: DWORD
      - name: pDisabledCrypto
        type: PCRYPTO_SETTINGS
      - name: dwFlags
        type: DWORD
      item_type: struct
      name: _TLS_PARAMETERS
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: dwVersion
        type: DWORD
      - name: dwCredFormat
        type: DWORD
      - name: cCreds
        type: DWORD
      - name: '* paCred'
        type: PCCERT_CONTEXT
      - name: hRootStore
        type: HCERTSTORE
      - name: cMappers
        type: DWORD
      - name: '**aphMappers'
        type: struct _HMAPPER
      - name: dwSessionLifespan
        type: DWORD
      - name: dwFlags
        type: DWORD
      - name: cTlsParameters
        type: DWORD
      - name: pTlsParameters
        type: PTLS_PARAMETERS
      item_type: struct
      name: _SCH_CREDENTIALS
      pos:
        line_end: 91
        line_start: 77
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: cred_handle
        type: CredHandle
      - name: '*sni_hostname'
        type: TCHAR
      - name: client_cert_store
        type: HCERTSTORE
      - name: refcount
        type: int
      item_type: struct
      name: Curl_schannel_cred
      pos:
        line_end: 105
        line_start: 100
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: ctxt_handle
        type: CtxtHandle
      item_type: struct
      name: Curl_schannel_ctxt
      pos:
        line_end: 109
        line_start: 107
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: '*cred'
        type: struct Curl_schannel_cred
      - name: '*ctxt'
        type: struct Curl_schannel_ctxt
      - name: stream_sizes
        type: SecPkgContext_StreamSizes
      - name: encdata_length
        type: size_t
      - name: encdata_offset
        type: size_t
      - name: '*encdata_buffer'
        type: unsigned char
      - name: req_flags
        type: unsigned long
      - name: recv_unrecoverable_err
        type: CURLcode
      - name: renegotiate_state
        type: "struct schannel_renegotiate_state {\n    bool started;\n    struct
          curltime start_time;\n    int io_need;\n  }"
      item_type: struct
      name: schannel_ssl_backend_data
      pos:
        line_end: 136
        line_start: 111
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: started
        type: bool
      - name: start_time
        type: struct curltime
      - name: io_need
        type: int
      item_type: struct
      name: schannel_renegotiate_state
      pos:
        line_end: 128
        line_start: 124
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: CAinfo_blob_digest[CURL_SHA256_DIGEST_LENGTH]
        type: unsigned char
      - name: CAinfo_blob_size
        type: size_t
      - name: '*CAfile'
        type: char
      - name: cert_store
        type: HCERTSTORE
      - name: time
        type: struct curltime
      item_type: struct
      name: schannel_cert_share
      pos:
        line_end: 146
        line_start: 138
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    - fields:
      - name: size
        type: DWORD
      - name: bData
        type: "union {\n    struct in_addr  ia;  /* 04 bytes */\n    struct in6_addr
          ia6; /* 16 bytes */\n  }"
      item_type: struct
      name: num_ip_data
      pos:
        line_end: 157
        line_start: 151
        source_file: /src/PROJ/curl/lib/vtls/schannel_int.h
    typedefs: []
    union: []
- function_names:
  - CS_ZIP_IDX
  - CS_ENTRY
  - cs_str_to_zip
  - cs_zip_to_str
  - Curl_cipher_suite_lookup_id
  - cs_is_separator
  - Curl_cipher_suite_walk_str
  - Curl_cipher_suite_get_str
  source_file: /src/PROJ/curl/lib/vtls/cipher_suite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CS_LIST_LEN
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/PROJ/curl/lib/vtls/cipher_suite.c
      type_or_value: CURL_ARRAYSIZE(cs_list)
    structs:
    - fields:
      - name: id
        type: uint16_t
      - name: zip[6]
        type: uint8_t
      item_type: struct
      name: cs_entry
      pos:
        line_end: 156
        line_start: 153
        source_file: /src/PROJ/curl/lib/vtls/cipher_suite.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/hostcheck.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/x509asn1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*header'
        type: char
      - name: '*beg'
        type: char
      - name: '*end'
        type: char
      - name: eclass
        type: unsigned char
      - name: tag
        type: unsigned char
      item_type: struct
      name: Curl_asn1Element
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.h
    - fields:
      - name: certificate
        type: struct Curl_asn1Element
      - name: version
        type: struct Curl_asn1Element
      - name: serialNumber
        type: struct Curl_asn1Element
      - name: signatureAlgorithm
        type: struct Curl_asn1Element
      - name: signature
        type: struct Curl_asn1Element
      - name: issuer
        type: struct Curl_asn1Element
      - name: notBefore
        type: struct Curl_asn1Element
      - name: notAfter
        type: struct Curl_asn1Element
      - name: subject
        type: struct Curl_asn1Element
      - name: subjectPublicKeyInfo
        type: struct Curl_asn1Element
      - name: subjectPublicKeyAlgorithm
        type: struct Curl_asn1Element
      - name: subjectPublicKey
        type: struct Curl_asn1Element
      - name: issuerUniqueID
        type: struct Curl_asn1Element
      - name: subjectUniqueID
        type: struct Curl_asn1Element
      - name: extensions
        type: struct Curl_asn1Element
      item_type: struct
      name: Curl_X509certificate
      pos:
        line_end: 66
        line_start: 50
        source_file: /src/PROJ/curl/lib/vtls/x509asn1.h
    typedefs: []
    union: []
- function_names:
  - OSSL_UI_METHOD_CAST
  - OSSL_UI_METHOD_CAST
  - ASN1_STRING_get0_data
  - X509_get0_notBefore
  - X509_get0_notAfter
  - OpenSSL_version_num
  - DECLARE_PKEY_PARAM_BIGNUM
  - FREE_PKEY_PARAM_BIGNUM
  - DECLARE_PKEY_PARAM_BIGNUM
  - push_certinfo
  - pubkey_show
  - print_pubkey_BN
  - print_pubkey_BN
  - asn1_object_dump
  - X509V3_ext
  - ossl_certchain
  - BIO_set_init
  - BIO_get_data
  - BIO_set_data
  - BIO_get_shutdown
  - BIO_set_shutdown
  - ossl_bio_cf_create
  - ossl_bio_cf_destroy
  - ossl_bio_cf_ctrl
  - ossl_bio_cf_out_write
  - ossl_bio_cf_in_read
  - ossl_bio_cf_method_create
  - ossl_bio_cf_method_free
  - ossl_bio_cf_method_create
  - ossl_bio_cf_method_free
  - ossl_keylog_callback
  - ossl_log_tls12_secret
  - SSL_ERROR_to_str
  - ossl_strerror
  - passwd_callback
  - rand_enough
  - ossl_seed
  - ossl_do_file_type
  - ssl_ui_reader
  - ssl_ui_writer
  - is_pkcs11_uri
  - use_certificate_blob
  - use_privatekey_blob
  - use_certificate_chain_blob
  - pkcs12load
  - client_cert
  - x509_name_oneline
  - ossl_init
  - ossl_cleanup
  - ossl_set_engine
  - ossl_set_engine_default
  - ossl_engines_list
  - ossl_provider_cleanup
  - ossl_set_provider
  - ossl_shutdown
  - ossl_close
  - ossl_close_all
  - ossl_verifyhost
  - verifystatus
  - ssl_msg_type
  - tls_rt_type
  - ossl_trace
  - ossl_set_ssl_version_min_max
  - ossl_set_ssl_version_min_max_legacy
  - Curl_ossl_add_session
  - ossl_new_session_cb
  - load_cacert_from_memory
  - ossl_win_load_store
  - ossl_windows_load_anchors
  - ossl_load_trust_anchors
  - ossl_populate_x509_store
  - oss_x509_share_free
  - ossl_cached_x509_store_expired
  - ossl_cached_x509_store_different
  - ossl_get_cached_x509_store
  - ossl_set_cached_x509_store
  - Curl_ssl_setup_x509_store
  - Curl_ssl_setup_x509_store
  - ossl_init_session_and_alpns
  - ossl_init_ech
  - ossl_init_ssl
  - ossl_init_method
  - OSSL_CURVE_CAST
  - OSSL_CURVE_CAST
  - OSSL_SIGALG_CAST
  - ossl_on_session_reuse
  - Curl_ossl_report_handshake
  - ossl_connect_step1
  - ossl_trace_ech_retry_configs
  - ossl_connect_step2
  - ossl_pkp_pin_peer_pubkey
  - infof_certstack
  - ossl_check_issuer
  - ossl_check_pinned_key
  - ossl_infof_cert
  - ossl_chain_get_der
  - ossl_apple_verify
  - ossl_connect_step3
  - ossl_send_earlydata
  - ossl_connect
  - ossl_data_pending
  - ossl_send
  - ossl_recv
  - ossl_get_channel_binding
  - Curl_ossl_version
  - ossl_random
  - ossl_sha256sum
  - ossl_cert_status_request
  - ossl_get_internals
  source_file: /src/PROJ/curl/lib/vtls/openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_SSL_CTX_SET_DEFAULT_READ_BUFFER_LEN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_X509_GET0_EXTENSIONS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_OPAQUE_EVP_PKEY
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_OPAQUE_RSA_DSA_DH
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_ERR_REMOVE_THREAD_STATE_DEPRECATED
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SSL_COMP_FREE_COMPRESSION_METHODS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_EVP_PKEY_GET_PARAMS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"LibreSSL"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"BoringSSL"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"AWS-LC"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"quictls"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"OpenSSL"'
    - item_type: preproc_def
      name: ossl_valsize_t
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: numcert_t
    - item_type: preproc_def
      name: DEFAULT_CIPHER_SELECTION
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: DEFAULT_CIPHER_SELECTION
      pos:
        line_end: 235
        line_start: 233
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH"'
    - item_type: preproc_def
      name: HAVE_RANDOM_INIT_BY_DEFAULT
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_ALLOWED_CERT_AMOUNT
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '100'
    - item_type: preproc_def
      name: RAND_LOAD_LENGTH
      pos:
        line_end: 1006
        line_start: 1005
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SSL_FILETYPE_ENGINE
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '42'
    - item_type: preproc_def
      name: SSL_FILETYPE_PKCS12
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '43'
    - item_type: preproc_def
      name: SSL_FILETYPE_PROVIDER
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '44'
    - item_type: preproc_def
      name: MAX_PROVIDER_LEN
      pos:
        line_end: 2041
        line_start: 2040
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: MPROTO_OSSL_X509_KEY
      pos:
        line_end: 3556
        line_start: 3555
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '"tls:ossl:x509:share"'
    - item_type: preproc_def
      name: EVP_PKEY_get_security_bits
      pos:
        line_end: 4891
        line_start: 4890
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: EVP_PKEY_security_bits
    - item_type: preproc_def
      name: MAX_CERT_NAME_LENGTH
      pos:
        line_end: 5014
        line_start: 5013
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type_or_value: '2048'
    structs:
    - fields:
      - name: '*cert_id'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: params
      pos:
        line_end: 1402
        line_start: 1399
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
    - fields:
      - name: '*CAfile'
        type: char
      - name: '*store'
        type: X509_STORE
      - name: time
        type: struct curltime
      item_type: struct
      name: ossl_x509_share
      pos:
        line_end: 3562
        line_start: 3557
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
    - fields:
      - name: '*sk'
        type: STACK_OF
      - name: num_certs
        type: size_t
      item_type: struct
      name: ossl_certs_ctx
      pos:
        line_end: 5076
        line_start: 5073
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
    typedefs:
    - item_type: typedef
      name: numcert_t
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: size_t
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: uint32_t
    - item_type: typedef
      name: numcert_t
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: int
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: unsigned long
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2976
        line_start: 2976
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: uint32_t
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2978
        line_start: 2978
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: uint64_t
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2981
        line_start: 2981
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: unsigned long
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2983
        line_start: 2983
        source_file: /src/PROJ/curl/lib/vtls/openssl.c
      type: long
    union: []
- function_names:
  - CLONE_STRING
  - CLONE_BLOB
  - blobdup
  - blobcmp
  - alpn_get_spec
  - Curl_ssl_easy_config_init
  - match_ssl_primary_config
  - Curl_ssl_conn_config_match
  - clone_ssl_primary_config
  - free_primary_ssl_config
  - Curl_ssl_easy_config_complete
  - Curl_ssl_conn_config_init
  - Curl_ssl_conn_config_cleanup
  - Curl_ssl_conn_config_update
  - Curl_ssl_backend
  - Curl_ssl_init
  - ssl_prefs_check
  - cf_ctx_new
  - cf_ctx_free
  - Curl_ssl_get_channel_binding
  - Curl_ssl_close_all
  - Curl_ssl_adjust_pollset
  - Curl_ssl_set_engine
  - Curl_ssl_set_engine_default
  - Curl_ssl_engines_list
  - Curl_ssl_version
  - Curl_ssl_free_certinfo
  - Curl_ssl_init_certinfo
  - Curl_ssl_push_certinfo_len
  - Curl_ssl_random
  - pubkey_pem_to_der
  - Curl_pin_peer_pubkey
  - Curl_ssl_cert_status_request
  - multissl_init
  - multissl_random
  - multissl_connect
  - multissl_adjust_pollset
  - multissl_get_internals
  - multissl_close
  - multissl_recv_plain
  - multissl_send_plain
  - Curl_ssl_cleanup
  - multissl_version
  - multissl_setup
  - Curl_init_sslset_nolock
  - Curl_init_sslset_nolock
  - Curl_ssl_peer_cleanup
  - cf_close
  - get_peer_type
  - Curl_ssl_peer_init
  - ssl_cf_destroy
  - ssl_cf_close
  - ssl_cf_connect
  - ssl_cf_set_earlydata
  - ssl_cf_connect_deferred
  - ssl_cf_data_pending
  - ssl_cf_send
  - ssl_cf_recv
  - ssl_cf_shutdown
  - ssl_cf_adjust_pollset
  - ssl_cf_query
  - ssl_cf_cntrl
  - cf_ssl_is_alive
  - cf_ssl_create
  - Curl_ssl_cfilter_add
  - Curl_cf_ssl_insert_after
  - cf_ssl_proxy_create
  - Curl_cf_ssl_proxy_insert_after
  - Curl_ssl_supports
  - vtls_shutdown_blocking
  - Curl_ssl_cfilter_remove
  - Curl_ssl_cf_is_proxy
  - Curl_ssl_cf_get_config
  - Curl_ssl_cf_get_primary_config
  - Curl_alpn_to_proto_buf
  - Curl_alpn_to_proto_str
  - Curl_alpn_contains_proto
  - Curl_alpn_restrict_to
  - Curl_alpn_copy
  - Curl_alpn_set_negotiated
  source_file: /src/PROJ/curl/lib/vtls/vtls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vtls/keylog.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYLOG_LABEL_MAXLEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/vtls/keylog.h
      type_or_value: (sizeof("CLIENT_HANDSHAKE_TRAFFIC_SECRET") - 1)
    - item_type: preproc_def
      name: CLIENT_RANDOM_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/vtls/keylog.h
      type_or_value: '32'
    - item_type: preproc_def
      name: SECRET_MAXLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PROJ/curl/lib/vtls/keylog.h
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbedtls_strerror
  - entropy_init_mutex
  - entropy_cleanup_mutex
  - entropy_func_mutex
  - mbed_debug
  - mbedtls_bio_cf_write
  - mbedtls_bio_cf_read
  - mbed_set_ssl_version_min_max
  - mbed_cipher_suite_get_str
  - mbed_cipher_suite_walk_str
  - mbed_dump_cert_info
  - mbed_extract_certinfo
  - mbed_verify_cb
  - mbed_connect_step2
  - mbed_new_session
  - mbed_send
  - mbedtls_shutdown
  - mbedtls_close
  - mbed_recv
  - mbedtls_version
  - mbedtls_random
  - mbedtls_connect
  - mbedtls_init
  - mbedtls_cleanup
  - mbedtls_data_pending
  - mbedtls_sha256sum
  - mbedtls_get_internals
  source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSA_PUB_DER_MAX_BYTES
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
      type_or_value: (38 + 2 * MBEDTLS_MPI_MAX_SIZE)
    - item_type: preproc_def
      name: ECP_PUB_DER_MAX_BYTES
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
      type_or_value: (30 + 2 * MBEDTLS_ECP_MAX_BYTES)
    - item_type: preproc_def
      name: PUB_DER_MAX_BYTES
      pos:
        line_end: 245
        line_start: 243
        source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
      type_or_value: "(RSA_PUB_DER_MAX_BYTES > ECP_PUB_DER_MAX_BYTES ? \\\n                             RSA_PUB_DER_MAX_BYTES
        : ECP_PUB_DER_MAX_BYTES)"
    - item_type: preproc_def
      name: mbed_cipher_suite_get_str
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
      type_or_value: Curl_cipher_suite_get_str
    - item_type: preproc_def
      name: mbed_cipher_suite_walk_str
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
      type_or_value: Curl_cipher_suite_walk_str
    structs:
    - fields:
      - name: ssl
        type: mbedtls_ssl_context
      - name: cacert
        type: mbedtls_x509_crt
      - name: clicert
        type: mbedtls_x509_crt
      - name: pk
        type: mbedtls_pk_context
      - name: config
        type: mbedtls_ssl_config
      - name: '*ciphersuites'
        type: int
      - name: send_blocked_len
        type: size_t
      item_type: struct
      name: mbed_ssl_backend_data
      pos:
        line_end: 107
        line_start: 86
        source_file: /src/PROJ/curl/lib/vtls/mbedtls.c
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_gssapi_supported
  - Curl_auth_create_gssapi_user_message
  - Curl_auth_create_gssapi_security_message
  - Curl_auth_cleanup_gssapi
  source_file: /src/PROJ/curl/lib/vauth/krb5_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GSS_ERROR
  - Curl_auth_is_digest_supported
  - Curl_auth_is_ntlm_supported
  - Curl_auth_is_gssapi_supported
  source_file: /src/PROJ/curl/lib/vauth/vauth.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_GSASL_CONN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:gsasl:conn"'
    - item_type: preproc_def
      name: CURL_META_NTLM_CONN
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:ntml:conn"'
    - item_type: preproc_def
      name: CURL_META_NTLM_PROXY_CONN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:ntml-proxy:conn"'
    - item_type: preproc_def
      name: CURL_META_KRB5_CONN
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:krb5:conn"'
    - item_type: preproc_def
      name: CURL_META_NEGO_CONN
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:nego:conn"'
    - item_type: preproc_def
      name: CURL_META_NEGO_PROXY_CONN
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:nego-proxy:conn"'
    structs:
    - fields:
      - name: '*ctx'
        type: Gsasl
      - name: '*client'
        type: Gsasl_session
      item_type: struct
      name: gsasldata
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
    - fields: []
      item_type: struct
      name: ntlmdata
      pos:
        line_end: 185
        line_start: 162
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
    - fields: []
      item_type: struct
      name: kerberos5data
      pos:
        line_end: 259
        line_start: 246
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
    - fields: []
      item_type: struct
      name: negotiatedata
      pos:
        line_end: 331
        line_start: 302
        source_file: /src/PROJ/curl/lib/vauth/vauth.h
    typedefs: []
    union: []
- function_names:
  - Curl_auth_create_cram_md5_message
  source_file: /src/PROJ/curl/lib/vauth/cram.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vauth/digest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIGEST_MAX_VALUE_LENGTH
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/vauth/digest.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DIGEST_MAX_CONTENT_LENGTH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/vauth/digest.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_spnego_supported
  - Curl_auth_decode_spnego_message
  - Curl_auth_create_spnego_message
  - Curl_auth_cleanup_spnego
  source_file: /src/PROJ/curl/lib/vauth/spnego_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_gsasl_is_supported
  - Curl_auth_gsasl_token
  - Curl_auth_gsasl_cleanup
  source_file: /src/PROJ/curl/lib/vauth/gsasl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_create_plain_message
  - Curl_auth_create_login_message
  - Curl_auth_create_external_message
  source_file: /src/PROJ/curl/lib/vauth/cleartext.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_digest_supported
  - Curl_auth_create_digest_md5_message
  - Curl_override_sspi_http_realm
  - Curl_auth_decode_digest_http_message
  - Curl_auth_create_digest_http_message
  - Curl_auth_digest_cleanup
  source_file: /src/PROJ/curl/lib/vauth/digest_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_create_oauth_bearer_message
  - Curl_auth_create_xoauth_bearer_message
  source_file: /src/PROJ/curl/lib/vauth/oauth2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_spnego_supported
  - Curl_auth_decode_spnego_message
  - Curl_auth_create_spnego_message
  - Curl_auth_cleanup_spnego
  source_file: /src/PROJ/curl/lib/vauth/spnego_gssapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_gssapi_supported
  - Curl_auth_create_gssapi_user_message
  - Curl_auth_create_gssapi_security_message
  - Curl_auth_cleanup_gssapi
  source_file: /src/PROJ/curl/lib/vauth/krb5_gssapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_build_spn
  - Curl_auth_build_spn
  - Curl_auth_user_contains_domain
  - Curl_auth_allowed_to_host
  - ntlm_conn_dtor
  - Curl_auth_ntlm_get
  - Curl_auth_ntlm_remove
  - krb5_conn_dtor
  - Curl_auth_krb5_get
  - gsasl_conn_dtor
  - Curl_auth_gsasl_get
  - nego_conn_dtor
  - Curl_auth_nego_get
  source_file: /src/PROJ/curl/lib/vauth/vauth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_ntlm_supported
  - Curl_auth_create_ntlm_type1_message
  - Curl_auth_decode_ntlm_type2_message
  - Curl_auth_create_ntlm_type3_message
  - Curl_auth_cleanup_ntlm
  source_file: /src/PROJ/curl/lib/vauth/ntlm_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_digest_get_pair
  - auth_digest_md5_to_ascii
  - auth_digest_sha256_to_ascii
  - auth_digest_string_quoted
  - auth_digest_get_key_value
  - auth_digest_get_qop_values
  - auth_decode_digest_md5_message
  - Curl_auth_is_digest_supported
  - Curl_auth_create_digest_md5_message
  - Curl_auth_decode_digest_http_message
  - auth_create_digest_http_message
  - Curl_auth_create_digest_http_message
  - Curl_auth_digest_cleanup
  source_file: /src/PROJ/curl/lib/vauth/digest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESSION_ALGO
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: ALGO_MD5
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ALGO_MD5SESS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: (ALGO_MD5 | SESSION_ALGO)
    - item_type: preproc_def
      name: ALGO_SHA256
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ALGO_SHA256SESS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: (ALGO_SHA256 | SESSION_ALGO)
    - item_type: preproc_def
      name: ALGO_SHA512_256
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ALGO_SHA512_256SESS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: (ALGO_SHA512_256 | SESSION_ALGO)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_AUTH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_AUTH_INT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_AUTH_CONF
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_STRING_AUTH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '"auth"'
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_STRING_AUTH_INT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '"auth-int"'
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_STRING_AUTH_CONF
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/vauth/digest.c
      type_or_value: '"auth-conf"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEBUG_OUT
  - ntlm_print_flags
  - ntlm_print_hex
  - DEBUG_OUT
  - ntlm_decode_type2_target
  - Curl_auth_is_ntlm_supported
  - Curl_auth_decode_ntlm_type2_message
  - unicodecpy
  - Curl_auth_create_ntlm_type1_message
  - Curl_auth_create_ntlm_type3_message
  - Curl_auth_cleanup_ntlm
  source_file: /src/PROJ/curl/lib/vauth/ntlm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_ME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NTLM_BUFSIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_UNICODE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_OEM
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_TARGET
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_SIGN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_SEAL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_DATAGRAM_STYLE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_LM_KEY
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_NTLM_KEY
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_ANONYMOUS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_DOMAIN_SUPPLIED
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_WORKSTATION_SUPPLIED
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_LOCAL_CALL
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_ALWAYS_SIGN
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: NTLMFLAG_TARGET_TYPE_DOMAIN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: NTLMFLAG_TARGET_TYPE_SERVER
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<17)
    - item_type: preproc_def
      name: NTLMFLAG_TARGET_TYPE_SHARE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_NTLM2_KEY
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<19)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_INIT_RESPONSE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<20)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_ACCEPT_RESPONSE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<21)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_NONNT_SESSION_KEY
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<22)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_TARGET_INFO
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<23)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_128
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<29)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_KEY_EXCHANGE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<30)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_56
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: (1<<31)
    - item_type: preproc_def
      name: NTLMSSP_SIGNATURE
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PROJ/curl/lib/vauth/ntlm.c
      type_or_value: '"\x4e\x54\x4c\x4d\x53\x53\x50"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ssh_init
  source_file: /src/PROJ/curl/lib/vssh/ssh.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_SSH_EASY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/vssh/ssh.h
      type_or_value: '"meta:proto:ssh:easy"'
    - item_type: preproc_def
      name: CURL_META_SSH_CONN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/vssh/ssh.h
      type_or_value: '"meta:proto:ssh:conn"'
    - item_type: preproc_def
      name: CURL_PATH_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PROJ/curl/lib/vssh/ssh.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*path'
        type: char
      item_type: struct
      name: SSHPROTO
      pos:
        line_end: 134
        line_start: 121
        source_file: /src/PROJ/curl/lib/vssh/ssh.h
    - fields:
      - name: '*authlist'
        type: char
      - name: '*passphrase'
        type: char
      - name: '*rsa_pub'
        type: char
      - name: '*rsa'
        type: char
      - name: state
        type: sshstate
      - name: nextstate
        type: sshstate
      - name: '*quote_item'
        type: struct curl_slist
      - name: '*quote_path1'
        type: char
      - name: '*quote_path2'
        type: char
      - name: '*homedir'
        type: char
      - name: secondCreateDirs
        type: int
      - name: orig_waitfor
        type: int
      - name: '*slash_pos'
        type: char
      item_type: struct
      name: ssh_conn
      pos:
        line_end: 214
        line_start: 138
        source_file: /src/PROJ/curl/lib/vssh/ssh.h
    typedefs: []
    union: []
- function_names:
  - Curl_getworkingpath
  - Curl_get_pathname
  source_file: /src/PROJ/curl/lib/vssh/curl_path.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SSHPATH_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/vssh/curl_path.c
      type_or_value: '100000 '
    - item_type: preproc_def
      name: MAX_PATHLENGTH
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PROJ/curl/lib/vssh/curl_path.c
      type_or_value: '65535 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSH_STRING_FREE_CHAR
  - sftp_error_to_CURLE
  - myssh_to
  - myssh_to
  - myssh_is_known
  - myssh_to_ERROR
  - myssh_to_SFTP_CLOSE
  - myssh_to_PASSWD_AUTH
  - myssh_to_KEY_AUTH
  - myssh_to_GSSAPI_AUTH
  - myssh_in_SFTP_READDIR_INIT
  - myssh_in_SFTP_READDIR
  - myssh_in_SFTP_READDIR_LINK
  - myssh_in_SFTP_READDIR_BOTTOM
  - myssh_in_SFTP_READDIR_DONE
  - myssh_in_SFTP_QUOTE_STATVFS
  - myssh_auth_interactive
  - myssh_state_init
  - myssh_in_S_STARTUP
  - myssh_in_AUTHLIST
  - myssh_in_AUTH_PKEY_INIT
  - myssh_in_AUTH_PKEY
  - myssh_in_AUTH_GSSAPI
  - myssh_in_AUTH_KEY_INIT
  - myssh_in_AUTH_KEY
  - myssh_in_AUTH_PASS_INIT
  - myssh_in_AUTH_PASS
  - myssh_in_AUTH_DONE
  - myssh_in_UPLOAD_INIT
  - myssh_in_SFTP_DOWNLOAD_INIT
  - myssh_in_SFTP_DOWNLOAD_STAT
  - myssh_in_SFTP_CLOSE
  - myssh_in_SFTP_SHUTDOWN
  - myssh_in_SFTP_INIT
  - myssh_in_SFTP_REALPATH
  - myssh_in_SFTP_QUOTE_INIT
  - myssh_in_SFTP_POSTQUOTE_INIT
  - return_quote_error
  - myssh_in_SFTP_QUOTE
  - myssh_in_SFTP_NEXT_QUOTE
  - myssh_in_SFTP_QUOTE_STAT
  - myssh_statemach_act
  - myssh_pollset
  - myssh_block2waitfor
  - myssh_multi_statemach
  - myssh_block_statemach
  - myssh_easy_dtor
  - myssh_conn_dtor
  - myssh_setup_connection
  - myssh_connect
  - scp_doing
  - scp_perform
  - myssh_do_it
  - sshc_cleanup
  - scp_disconnect
  - myssh_done
  - scp_done
  - scp_send
  - scp_recv
  - sftp_perform
  - sftp_doing
  - sftp_disconnect
  - sftp_done
  - sftp_send
  - sftp_recv
  - Curl_ssh_init
  - Curl_ssh_cleanup
  - Curl_ssh_version
  source_file: /src/PROJ/curl/lib/vssh/libssh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSH_S_IFMT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PROJ/curl/lib/vssh/libssh.c
      type_or_value: '00170000'
    - item_type: preproc_def
      name: SSH_S_IFLNK
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PROJ/curl/lib/vssh/libssh.c
      type_or_value: '0120000'
    - item_type: preproc_def
      name: CURL_LIBSSH_VFS_SIZE_MASK
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/PROJ/curl/lib/vssh/libssh.c
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_LIBSSH_VFS_SIZE_MASK
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/PROJ/curl/lib/vssh/libssh.c
      type_or_value: PRIu64
    structs: []
    typedefs: []
    union: []
- function_names:
  - kbd_callback
  - sftp_libssh2_error_to_CURLE
  - libssh2_session_error_to_CURLE
  - LIBSSH2_ALLOC_FUNC
  - LIBSSH2_REALLOC_FUNC
  - LIBSSH2_FREE_FUNC
  - myssh_state
  - sshkeycallback
  - convert_ssh2_keytype
  - ssh_knownhost
  - ssh_check_fingerprint
  - ssh_force_knownhost_key_type
  - return_quote_error
  - sftp_quote
  - sftp_upload_init
  - ssh_state_pkey_init
  - sftp_quote_stat
  - sftp_download_stat
  - sftp_readdir
  - ssh_state_init
  - ssh_state_startup
  - ssh_state_hostkey
  - ssh_state_authlist
  - ssh_state_auth_pkey
  - ssh_state_auth_pass_init
  - ssh_state_auth_pass
  - ssh_state_auth_host_init
  - ssh_state_auth_agent_init
  - ssh_state_auth_agent_list
  - ssh_state_auth_agent
  - ssh_state_auth_key_init
  - ssh_state_auth_key
  - ssh_state_auth_done
  - ssh_state_sftp_init
  - ssh_state_sftp_realpath
  - ssh_state_sftp_quote_init
  - ssh_state_sftp_postquote_init
  - ssh_state_sftp_quote
  - ssh_state_sftp_next_quote
  - ssh_state_sftp_quote_stat
  - ssh_state_sftp_quote_setstat
  - ssh_state_sftp_quote_symlink
  - ssh_state_sftp_quote_mkdir
  - ssh_state_sftp_quote_rename
  - ssh_state_sftp_quote_rmdir
  - ssh_state_sftp_quote_unlink
  - ssh_state_sftp_quote_statvfs
  - ssh_state_sftp_create_dirs_mkdir
  - ssh_state_sftp_readdir_init
  - ssh_state_sftp_readdir_link
  - ssh_state_scp_download_init
  - ssh_state_sftp_close
  - ssh_state_sftp_shutdown
  - ssh_state_sftp_download_init
  - ssh_state_scp_upload_init
  - ssh_state_session_disconnect
  - ssh_statemachine
  - ssh_pollset
  - ssh_block2waitfor
  - ssh_multi_statemach
  - ssh_block_statemach
  - myssh_easy_dtor
  - myssh_conn_dtor
  - ssh_setup_connection
  - ssh_tls_recv
  - ssh_tls_send
  - ssh_connect
  - scp_perform
  - scp_doing
  - ssh_do
  - sshc_cleanup
  - scp_disconnect
  - ssh_done
  - scp_done
  - scp_send
  - scp_recv
  - sftp_perform
  - sftp_doing
  - sftp_disconnect
  - sftp_done
  - sftp_send
  - sftp_recv
  - sftp_libssh2_strerror
  - Curl_ssh_init
  - Curl_ssh_cleanup
  - Curl_ssh_version
  - ssh_attach
  source_file: /src/PROJ/curl/lib/vssh/libssh2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_LIBSSH2_VFS_SIZE_MASK
      pos:
        line_end: 2258
        line_start: 2257
        source_file: /src/PROJ/curl/lib/vssh/libssh2.c
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_LIBSSH2_VFS_SIZE_MASK
      pos:
        line_end: 2260
        line_start: 2259
        source_file: /src/PROJ/curl/lib/vssh/libssh2.c
      type_or_value: '"llu"'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*recvp'
        type: void
      - name: (*recvptr)(libssh2_socket_t, void *, size_t, int, void **)
        type: ssize_t
      item_type: union
      name: receive
      pos:
        line_end: 3429
        line_start: 3426
        source_file: /src/PROJ/curl/lib/vssh/libssh2.c
    - fields:
      - name: '*sendp'
        type: void
      - name: (*sendptr)(libssh2_socket_t, const void *, size_t, int, void **)
        type: ssize_t
      item_type: union
      name: transfer
      pos:
        line_end: 3433
        line_start: 3430
        source_file: /src/PROJ/curl/lib/vssh/libssh2.c
- function_names: []
  source_file: /src/PROJ/curl/lib/vssh/curl_path.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/strerr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/wait.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/timediff.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FMT_TIMEDIFF_T
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/curlx/timediff.h
      type_or_value: FMT_OFF_T
    - item_type: preproc_def
      name: TIMEDIFF_T_MAX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/curlx/timediff.h
      type_or_value: CURL_OFF_T_MAX
    - item_type: preproc_def
      name: TIMEDIFF_T_MIN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/curlx/timediff.h
      type_or_value: CURL_OFF_T_MIN
    structs: []
    typedefs:
    - item_type: typedef
      name: timediff_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/PROJ/curl/lib/curlx/timediff.h
      type: curl_off_t
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/winapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINAPI_ERROR_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/curlx/winapi.h
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/nonblock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_convert_UTF8_to_tchar
  - curlx_convert_tchar_to_UTF8
  - curlx_convert_UTF8_to_tchar
  - curlx_convert_tchar_to_UTF8
  - curlx_unicodefree
  source_file: /src/PROJ/curl/lib/curlx/multibyte.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*tchar_ptr'
        type: unsigned short
      - name: '*const_tchar_ptr'
        type: unsigned short
      - name: '*tbyte_ptr'
        type: unsigned short
      - name: '*const_tbyte_ptr'
        type: unsigned short
      item_type: union
      name: xcharp_u
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/PROJ/curl/lib/curlx/multibyte.h
    - fields:
      - name: '*tchar_ptr'
        type: char
      - name: '*const_tchar_ptr'
        type: char
      - name: '*tbyte_ptr'
        type: unsigned char
      - name: '*const_tbyte_ptr'
        type: unsigned char
      item_type: union
      name: xcharp_u
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/PROJ/curl/lib/curlx/multibyte.h
- function_names:
  - curlx_nonblock
  source_file: /src/PROJ/curl/lib/curlx/nonblock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_wait_ms
  source_file: /src/PROJ/curl/lib/curlx/wait.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_inet_pton
  - inet_pton4
  - inet_pton6
  source_file: /src/PROJ/curl/lib/curlx/inet_pton.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN6ADDRSZ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/curlx/inet_pton.c
      type_or_value: '16'
    - item_type: preproc_def
      name: INADDRSZ
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/curlx/inet_pton.c
      type_or_value: '4'
    - item_type: preproc_def
      name: INT16SZ
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/curlx/inet_pton.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/curlx/inet_pton.c
      type_or_value: (AF_INET + 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLX_FOPEN_LOW
  - curlx_stat
  - curlx_stat
  - curlx_fopen
  - curlx_fdopen
  - curlx_fclose
  source_file: /src/PROJ/curl/lib/curlx/fopen.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: curlx_open
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/curlx/fopen.h
      type_or_value: curlx_win32_open
    - item_type: preproc_def
      name: CURLX_FOPEN_LOW
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/curlx/fopen.h
      type_or_value: fopen
    - item_type: preproc_def
      name: curlx_open
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/curlx/fopen.h
      type_or_value: open
    - item_type: preproc_def
      name: curlx_fopen
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PROJ/curl/lib/curlx/fopen.h
      type_or_value: CURLX_FOPEN_LOW
    - item_type: preproc_def
      name: curlx_fdopen
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/curlx/fopen.h
      type_or_value: fdopen
    - item_type: preproc_def
      name: curlx_fclose
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/curlx/fopen.h
      type_or_value: fclose
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/version_win32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/timeval.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tv_sec
        type: time_t
      - name: tv_usec
        type: int
      item_type: struct
      name: curltime
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/PROJ/curl/lib/curlx/timeval.h
    typedefs: []
    union: []
- function_names:
  - curlx_str_init
  - curlx_str_assign
  - curlx_str_until
  - curlx_str_word
  - curlx_str_untilnl
  - curlx_str_quotedword
  - curlx_str_single
  - curlx_str_singlespace
  - valid_digit
  - str_num_base
  - curlx_str_number
  - curlx_str_hex
  - curlx_str_octal
  - curlx_str_numblanks
  - curlx_str_newline
  - curlx_str_casecompare
  - curlx_str_cmp
  - curlx_str_nudge
  - curlx_str_cspn
  - curlx_str_trimblanks
  - curlx_str_passblanks
  source_file: /src/PROJ/curl/lib/curlx/strparse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_ultouc
  - curlx_uztosi
  - curlx_uztoul
  - curlx_uztoui
  - curlx_sltosi
  - curlx_sltoui
  - curlx_sltous
  - curlx_uztosz
  - curlx_sotouz
  - curlx_sztosi
  - curlx_uitous
  - curlx_sitouz
  source_file: /src/PROJ/curl/lib/curlx/warnless.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MASK_UCHAR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned char)~0)
    - item_type: preproc_def
      name: CURL_MASK_USHORT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned short)~0)
    - item_type: preproc_def
      name: CURL_MASK_UINT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned int)~0)
    - item_type: preproc_def
      name: CURL_MASK_SINT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: (CURL_MASK_UINT >> 1)
    - item_type: preproc_def
      name: CURL_MASK_ULONG
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned long)~0)
    - item_type: preproc_def
      name: CURL_MASK_USIZE_T
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: ((size_t)~0)
    - item_type: preproc_def
      name: CURL_MASK_SSIZE_T
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PROJ/curl/lib/curlx/warnless.c
      type_or_value: (CURL_MASK_USIZE_T >> 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_base64_decode
  - base64_encode
  - curlx_base64_encode
  - curlx_base64url_encode
  source_file: /src/PROJ/curl/lib/curlx/base64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_get_winapi_error
  - curlx_winapi_strerror
  source_file: /src/PROJ/curl/lib/curlx/winapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/curlx/winapi.c
      type_or_value: curl_msnprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PROJ/curl/lib/curlx/winapi.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PROJ/curl/lib/curlx/winapi.c
      type_or_value: snprintf
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_fseek
  - fix_excessive_path
  - curlx_win32_open
  - curlx_win32_fopen
  - curlx_win32_stat
  source_file: /src/PROJ/curl/lib/curlx/fopen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLX_FUNCTION_CAST
  - read
  - write
  source_file: /src/PROJ/curl/lib/curlx/warnless.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DYNBUF_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (SIZE_MAX/2)
    - item_type: preproc_def
      name: DYN_DOH_RESPONSE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '3000'
    - item_type: preproc_def
      name: DYN_DOH_CNAME
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DYN_PAUSE_BUFFER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (64 * 1024 * 1024)
    - item_type: preproc_def
      name: DYN_HAXPROXY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: DYN_HTTP_REQUEST
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (1024*1024)
    - item_type: preproc_def
      name: DYN_APRINTF
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '8000000'
    - item_type: preproc_def
      name: DYN_RTSP_REQ_HEADER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_TRAILERS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_PROXY_CONNECT_HEADERS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: DYN_QLOG_NAME
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: DYN_H1_TRAILER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: DYN_PINGPPONG_CMD
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_IMAP_CMD
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_MQTT_RECV
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_MQTT_SEND
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '0xFFFFFFF'
    - item_type: preproc_def
      name: DYN_CRLFILE_SIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '(400*1024*1024) '
    - item_type: preproc_def
      name: DYN_CERTFILE_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '(100*1024) '
    - item_type: preproc_def
      name: DYN_KEYFILE_SIZE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
      type_or_value: '(100*1024) '
    structs:
    - fields:
      - name: '*bufr'
        type: char
      - name: leng
        type: size_t
      - name: allc
        type: size_t
      - name: toobig
        type: size_t
      item_type: struct
      name: dynbuf
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.h
    typedefs: []
    union: []
- function_names:
  - curlx_mstotv
  - curlx_tvtoms
  source_file: /src/PROJ/curl/lib/curlx/timediff.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLX_SET_BINMODE
  - CURLX_SET_BINMODE
  - CURLX_SET_BINMODE
  source_file: /src/PROJ/curl/lib/curlx/binmode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_str
  - curlx_strlen
  - Curl_hexval
  source_file: /src/PROJ/curl/lib/curlx/strparse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRE_OK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STRE_BIG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRE_SHORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: STRE_BEGQUOTE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '3'
    - item_type: preproc_def
      name: STRE_ENDQUOTE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '4'
    - item_type: preproc_def
      name: STRE_BYTE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '5'
    - item_type: preproc_def
      name: STRE_NEWLINE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '6'
    - item_type: preproc_def
      name: STRE_OVERFLOW
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '7'
    - item_type: preproc_def
      name: STRE_NO_NUM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
      type_or_value: '8'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: Curl_str
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/PROJ/curl/lib/curlx/strparse.h
    typedefs: []
    union: []
- function_names:
  - curlx_convert_UTF8_to_wchar
  - curlx_convert_wchar_to_UTF8
  source_file: /src/PROJ/curl/lib/curlx/multibyte.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/curlx.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_verify_windows_version
  source_file: /src/PROJ/curl/lib/curlx/version_win32.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dwOSVersionInfoSize
        type: ULONG
      - name: dwMajorVersion
        type: ULONG
      - name: dwMinorVersion
        type: ULONG
      - name: dwBuildNumber
        type: ULONG
      - name: dwPlatformId
        type: ULONG
      - name: szCSDVersion[128]
        type: WCHAR
      - name: wServicePackMajor
        type: USHORT
      - name: wServicePackMinor
        type: USHORT
      - name: wSuiteMask
        type: USHORT
      - name: wProductType
        type: UCHAR
      - name: wReserved
        type: UCHAR
      item_type: struct
      name: OUR_OSVERSIONINFOEXW
      pos:
        line_end: 50
        line_start: 38
        source_file: /src/PROJ/curl/lib/curlx/version_win32.c
    typedefs:
    - item_type: typedef
      name: "(APIENTRY *RTLVERIFYVERSIONINFO_FN)\n    (struct OUR_OSVERSIONINFOEXW
        *, ULONG, ULONGLONG)"
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/PROJ/curl/lib/curlx/version_win32.c
      type: LONG
    union: []
- function_names:
  - curlx_dyn_init
  - curlx_dyn_free
  - dyn_nappend
  - curlx_dyn_reset
  - curlx_dyn_tail
  - curlx_dyn_addn
  - curlx_dyn_add
  - curlx_dyn_vaddf
  - curlx_dyn_addf
  - curlx_dyn_ptr
  - curlx_dyn_take
  - curlx_dyn_uptr
  - curlx_dyn_len
  - curlx_dyn_setlen
  source_file: /src/PROJ/curl/lib/curlx/dynbuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_FIRST_ALLOC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DYNINIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/curlx/dynbuf.c
      type_or_value: '0xbee51da '
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_now_init
  - curlx_now
  - curlx_now
  - curlx_now
  - curlx_now
  - curlx_timediff
  - curlx_timediff_ceil
  - curlx_timediff_us
  source_file: /src/PROJ/curl/lib/curlx/timeval.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/curlx/base64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MAX_BASE64_INPUT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/curlx/base64.h
      type_or_value: '16000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_inet_pton
  - curlx_inet_pton
  source_file: /src/PROJ/curl/lib/curlx/inet_pton.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_inet_ntop
  - curlx_inet_ntop
  source_file: /src/PROJ/curl/lib/curlx/inet_ntop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_ntop4
  - inet_ntop6
  - curlx_inet_ntop
  source_file: /src/PROJ/curl/lib/curlx/inet_ntop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN6ADDRSZ
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PROJ/curl/lib/curlx/inet_ntop.c
      type_or_value: '16'
    - item_type: preproc_def
      name: INT16SZ
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PROJ/curl/lib/curlx/inet_ntop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PROJ/curl/lib/curlx/inet_ntop.c
      type_or_value: (AF_INET + 1)
    structs:
    - fields:
      - name: base
        type: int
      - name: len
        type: int
      item_type: struct
      name: best
      pos:
        line_end: 101
        line_start: 98
        source_file: /src/PROJ/curl/lib/curlx/inet_ntop.c
    typedefs: []
    union: []
- function_names:
  - get_winsock_error
  source_file: /src/PROJ/curl/lib/curlx/strerr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PROJ/curl/lib/curlx/strerr.c
      type_or_value: curl_msnprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PROJ/curl/lib/curlx/strerr.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PROJ/curl/lib/curlx/strerr.c
      type_or_value: snprintf
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vquic/curl_osslq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vquic/curl_quiche.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_vquic_init
  source_file: /src/PROJ/curl/lib/vquic/vquic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CF_CTX_CALL_DATA
  - osslq_SSL_ERROR_to_str
  - osslq_strerror
  - make_bio_addr
  - cf_osslq_stream_open
  - cf_osslq_stream_cleanup
  - cf_osslq_stream_close
  - cf_osslq_h3conn_cleanup
  - cf_osslq_ctx_init
  - cf_osslq_ctx_free
  - cf_osslq_ctx_close
  - cf_osslq_shutdown
  - cf_osslq_close
  - cf_osslq_destroy
  - cf_osslq_h3conn_add_stream
  - cf_osslq_ssl_err
  - cf_osslq_verify_peer
  - h3_stream_ctx_free
  - h3_stream_hash_free
  - h3_data_setup
  - h3_data_done
  - cf_osslq_find_stream
  - cf_osslq_get_qstream
  - h3_data_pause
  - cb_h3_stream_close
  - write_resp_raw
  - cb_h3_recv_data
  - cb_h3_deferred_consume
  - cb_h3_recv_header
  - cb_h3_end_headers
  - cb_h3_stop_sending
  - cb_h3_reset_stream
  - cb_h3_read_req_body
  - cb_h3_acked_stream_data
  - cf_osslq_h3conn_init
  - cf_osslq_ctx_start
  - h3_quic_recv
  - cf_osslq_stream_recv
  - cf_osslq_iter_recv
  - cf_progress_ingress
  - cf_osslq_collect_block_send
  - cf_osslq_check_and_unblock
  - h3_send_streams
  - cf_progress_egress
  - check_and_set_expiry
  - cf_osslq_connect
  - h3_stream_open
  - cf_osslq_send
  - recv_closed_stream
  - cf_osslq_recv
  - cf_osslq_data_pending
  - cf_osslq_cntrl
  - cf_osslq_conn_is_alive
  - cf_osslq_adjust_pollset
  - cf_osslq_query
  - Curl_cf_osslq_create
  - Curl_conn_is_osslq
  - Curl_osslq_ver
  source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H3_STREAM_WINDOW_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_CHUNK_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_POOL_SPARES
      pos:
        line_end: 76
        line_start: 74
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE ) / 2
    - item_type: preproc_def
      name: H3_STREAM_RECV_CHUNKS
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    - item_type: preproc_def
      name: H3_STREAM_SEND_CHUNKS
      pos:
        line_end: 82
        line_start: 80
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    - item_type: preproc_def
      name: H3_ALPN
      pos:
        line_end: 1167
        line_start: 1166
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type_or_value: '"\x2h3"'
    structs:
    - fields:
      - name: id
        type: curl_int64_t
      - name: '*ssl'
        type: SSL
      - name: recvbuf
        type: struct bufq
      item_type: struct
      name: cf_osslq_stream
      pos:
        line_end: 216
        line_start: 208
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*conn'
        type: nghttp3_conn
      - name: settings
        type: nghttp3_settings
      - name: s_ctrl
        type: struct cf_osslq_stream
      - name: s_qpack_enc
        type: struct cf_osslq_stream
      - name: s_qpack_dec
        type: struct cf_osslq_stream
      - name: remote_ctrl[3]
        type: struct cf_osslq_stream
      - name: remote_ctrl_n
        type: size_t
      item_type: struct
      name: cf_osslq_h3conn
      pos:
        line_end: 261
        line_start: 253
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: q
        type: struct cf_quic_ctx
      - name: peer
        type: struct ssl_peer
      - name: tls
        type: struct curl_tls_ctx
      - name: call_data
        type: struct cf_call_data
      - name: h3
        type: struct cf_osslq_h3conn
      - name: started_at
        type: struct curltime
      - name: handshake_at
        type: struct curltime
      - name: first_byte_at
        type: struct curltime
      - name: stream_bufcp
        type: struct bufc_pool
      - name: streams
        type: struct uint_hash
      - name: max_stream_window
        type: size_t
      - name: '*poll_items'
        type: SSL_POLL_ITEM
      - name: '**curl_items'
        type: struct Curl_easy
      - name: items_max
        type: size_t
      item_type: struct
      name: cf_osslq_ctx
      pos:
        line_end: 298
        line_start: 277
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: s
        type: struct cf_osslq_stream
      - name: sendbuf
        type: struct bufq
      - name: recvbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: sendbuf_len_in_flight
        type: size_t
      - name: recv_buf_nonflow
        type: size_t
      - name: error3
        type: curl_uint64_t
      - name: upload_left
        type: curl_off_t
      - name: download_recvd
        type: curl_off_t
      - name: status_code
        type: int
      item_type: struct
      name: h3_stream_ctx
      pos:
        line_end: 590
        line_start: 574
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: stream_id
        type: curl_int64_t
      - name: '*stream'
        type: struct h3_stream_ctx
      item_type: struct
      name: cf_ossq_find_ctx
      pos:
        line_end: 668
        line_start: 665
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: '*s'
        type: struct cf_osslq_stream
      item_type: struct
      name: h3_quic_recv_ctx
      pos:
        line_end: 1247
        line_start: 1243
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*multi'
        type: struct Curl_multi
      - name: result
        type: CURLcode
      item_type: struct
      name: cf_ossq_recv_ctx
      pos:
        line_end: 1395
        line_start: 1391
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*ctx'
        type: struct cf_osslq_ctx
      - name: '*multi'
        type: struct Curl_multi
      - name: n
        type: size_t
      item_type: struct
      name: cf_ossq_fill_ctx
      pos:
        line_end: 1473
        line_start: 1469
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
    typedefs:
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type: uint32_t
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/PROJ/curl/lib/vquic/curl_osslq.c
      type: unsigned long
    union: []
- function_names:
  - Curl_vquic_tls_init
  - Curl_vquic_tls_cleanup
  - Curl_vquic_tls_before_recv
  - Curl_vquic_tls_verify_peer
  - Curl_vquic_tls_get_ssl_info
  - Curl_vquic_report_handshake
  source_file: /src/PROJ/curl/lib/vquic/vquic-tls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_quiche_ver
  - quiche_debug_log
  - cf_quiche_ctx_init
  - cf_quiche_ctx_free
  - cf_quiche_ctx_close
  - h3_stream_ctx_free
  - h3_stream_hash_free
  - cf_quiche_stream_do
  - cf_quiche_for_all_streams
  - cf_quiche_do_resume
  - cf_quiche_do_expire
  - h3_data_setup
  - h3_data_done
  - cf_quiche_expire_conn_closed
  - write_resp_raw
  - cb_each_header
  - stream_resp_read
  - cf_recv_body
  - cf_ev_name
  - cf_ev_name
  - h3_process_event
  - cf_quiche_ev_process
  - cf_quiche_disp_event
  - cf_poll_events
  - cf_quiche_recv_pkts
  - cf_process_ingress
  - read_pkt_to_send
  - cf_flush_egress
  - recv_closed_stream
  - cf_quiche_recv
  - cf_quiche_send_body
  - h3_open_stream
  - cf_quiche_send
  - stream_is_writeable
  - cf_quiche_adjust_pollset
  - cf_quiche_data_pending
  - h3_data_pause
  - cf_quiche_cntrl
  - cf_quiche_ctx_open
  - cf_quiche_verify_peer
  - cf_quiche_connect
  - cf_quiche_shutdown
  - cf_quiche_close
  - cf_quiche_destroy
  - cf_quiche_query
  - cf_quiche_conn_is_alive
  - Curl_cf_quiche_create
  source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_H3_NO_ERROR
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type_or_value: (0x0100)
    - item_type: preproc_def
      name: QUIC_MAX_STREAMS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type_or_value: (100)
    - item_type: preproc_def
      name: H3_STREAM_WINDOW_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_CHUNK_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_POOL_SPARES
      pos:
        line_end: 70
        line_start: 68
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE ) / 2
    - item_type: preproc_def
      name: H3_STREAM_RECV_CHUNKS
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    structs:
    - fields:
      - name: q
        type: struct cf_quic_ctx
      - name: peer
        type: struct ssl_peer
      - name: tls
        type: struct curl_tls_ctx
      - name: '*qconn'
        type: quiche_conn
      - name: '*cfg'
        type: quiche_config
      - name: '*h3c'
        type: quiche_h3_conn
      - name: '*h3config'
        type: quiche_h3_config
      - name: scid[QUICHE_MAX_CONN_ID_LEN]
        type: uint8_t
      - name: started_at
        type: struct curltime
      - name: handshake_at
        type: struct curltime
      - name: stream_bufcp
        type: struct bufc_pool
      - name: streams
        type: struct uint_hash
      - name: data_recvd
        type: curl_off_t
      item_type: struct
      name: cf_quiche_ctx
      pos:
        line_end: 101
        line_start: 83
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: id
        type: curl_uint64_t
      - name: recvbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: error3
        type: curl_uint64_t
      item_type: struct
      name: h3_stream_ctx
      pos:
        line_end: 183
        line_start: 171
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*multi'
        type: struct Curl_multi
      - name: '*cb'
        type: cf_quiche_svisit
      - name: '*user_data'
        type: void
      item_type: struct
      name: cf_quiche_visit_ctx
      pos:
        line_end: 209
        line_start: 204
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: cb_ctx
      pos:
        line_end: 354
        line_start: 351
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: stream_id
        type: curl_uint64_t
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*multi'
        type: struct Curl_multi
      - name: '*ev'
        type: quiche_h3_event
      - name: result
        type: CURLcode
      item_type: struct
      name: cf_quich_disp_ctx
      pos:
        line_end: 561
        line_start: 555
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: pkts
        type: int
      item_type: struct
      name: recv_ctx
      pos:
        line_end: 624
        line_start: 620
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: send_info
        type: quiche_send_info
      item_type: struct
      name: read_ctx
      pos:
        line_end: 722
        line_start: 718
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
    typedefs:
    - item_type: typedef
      name: "cf_quiche_svisit(struct Curl_cfilter *cf,\n                              struct
        Curl_easy *sdata,\n                              struct h3_stream_ctx *stream,\n
        \                             void *user_data)"
      pos:
        line_end: 202
        line_start: 199
        source_file: /src/PROJ/curl/lib/vquic/curl_quiche.c
      type: bool
    union: []
- function_names:
  - H3_STREAM_CTX
  source_file: /src/PROJ/curl/lib/vquic/vquic_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PKT_BURST
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PROJ/curl/lib/vquic/vquic_int.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_UDP_PAYLOAD_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PROJ/curl/lib/vquic/vquic_int.h
      type_or_value: '1452'
    structs:
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: local_addr
        type: struct sockaddr_storage
      - name: local_addrlen
        type: socklen_t
      - name: sendbuf
        type: struct bufq
      - name: first_byte_at
        type: struct curltime
      - name: last_op
        type: struct curltime
      - name: last_io
        type: struct curltime
      - name: gsolen
        type: size_t
      - name: split_len
        type: size_t
      - name: split_gsolen
        type: size_t
      item_type: struct
      name: cf_quic_ctx
      pos:
        line_end: 51
        line_start: 34
        source_file: /src/PROJ/curl/lib/vquic/vquic_int.h
    typedefs:
    - item_type: typedef
      name: "vquic_recv_pkts_cb(const unsigned char *buf, size_t buflen,\n                                    size_t
        gso_size,\n                                    struct sockaddr_storage *remote_addr,\n
        \                                   socklen_t remote_addrlen, int ecn,\n                                    void
        *userp)"
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/PROJ/curl/lib/vquic/vquic_int.h
      type: CURLcode
    union: []
- function_names:
  - Curl_vquic_init
  - Curl_quic_ver
  - vquic_ctx_init
  - vquic_ctx_free
  - vquic_ctx_update_time
  - do_sendmsg
  - send_packet_no_gso
  - vquic_send_packets
  - vquic_flush
  - vquic_send
  - vquic_send_tail_split
  - vquic_msghdr_get_udp_gro
  - recvmmsg_packets
  - recvmsg_packets
  - recvfrom_packets
  - vquic_recv_packets
  - Curl_qlogdir
  - Curl_cf_quic_create
  - Curl_conn_may_http3
  - vquic_ngtcp2_malloc
  - vquic_ngtcp2_free
  - vquic_ngtcp2_calloc
  - vquic_ngtcp2_realloc
  - Curl_ngtcp2_mem
  - Curl_nghttp3_mem
  - Curl_conn_may_http3
  source_file: /src/PROJ/curl/lib/vquic/vquic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NW_CHUNK_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: NW_SEND_CHUNKS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VQUIC_SEND_METHOD
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '"sendmsg"'
    - item_type: preproc_def
      name: VQUIC_SEND_METHOD
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '"send"'
    - item_type: preproc_def
      name: MMSG_NUM
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '16'
    - item_type: preproc_def
      name: UDP_GRO_CNT_MAX
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MMSG_NUM
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '64'
    - item_type: preproc_def
      name: UDP_GRO_CNT_MAX
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MSG_BUF_SIZE
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/PROJ/curl/lib/vquic/vquic.c
      type_or_value: (UDP_GRO_CNT_MAX * 1500)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PROJ/curl/lib/vquic/vquic-tls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: curl_tls_ctx
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/PROJ/curl/lib/vquic/vquic-tls.h
    typedefs:
    - item_type: typedef
      name: "Curl_vquic_tls_ctx_setup(struct Curl_cfilter *cf,\n                                          struct
        Curl_easy *data,\n                                          void *cb_user_data)"
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/PROJ/curl/lib/vquic/vquic-tls.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_vquic_session_reuse_cb(struct Curl_cfilter *cf,\n                                             struct
        Curl_easy *data,\n                                             struct alpn_spec
        *alpns,\n                                             struct Curl_ssl_session
        *scs,\n                                             bool *do_early_data)"
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/PROJ/curl/lib/vquic/vquic-tls.h
      type: CURLcode
    union: []
- function_names:
  - Curl_ngtcp2_ver
  - CF_CTX_CALL_DATA
  - cf_ngtcp2_ctx_init
  - cf_ngtcp2_ctx_free
  - cf_ngtcp2_setup_keep_alive
  - h3_stream_ctx_free
  - h3_stream_hash_free
  - h3_data_setup
  - cf_ngtcp2_sfind
  - cf_ngtcp2_get_stream
  - cf_ngtcp2_get_stream
  - cf_ngtcp2_stream_close
  - h3_data_done
  - pktx_update_time
  - pktx_init
  - get_conn
  - quic_printf
  - qlog_callback
  - quic_settings
  - cf_ngtcp2_handshake_completed
  - cf_ngtcp2_err_is_fatal
  - cf_ngtcp2_err_set
  - cf_ngtcp2_h3_err_is_fatal
  - cf_ngtcp2_h3_err_set
  - cb_recv_stream_data
  - cb_acked_stream_data_offset
  - cb_stream_close
  - cb_stream_reset
  - cb_stream_stop_sending
  - cb_extend_max_local_streams_bidi
  - cb_extend_max_stream_data
  - cb_rand
  - cb_get_new_connection_id
  - cb_recv_rx_key
  - check_and_set_expiry
  - cf_ngtcp2_adjust_pollset
  - cb_h3_stream_close
  - h3_xfer_write_resp_hd
  - h3_xfer_write_resp
  - cb_h3_recv_data
  - cb_h3_deferred_consume
  - cb_h3_end_headers
  - cb_h3_recv_header
  - cb_h3_stop_sending
  - cb_h3_reset_stream
  - init_ngh3_conn
  - recv_closed_stream
  - cf_ngtcp2_recv
  - cb_h3_acked_req_body
  - cb_h3_read_req_body
  - h3_stream_open
  - cf_ngtcp2_send
  - cf_ngtcp2_recv_pkts
  - cf_progress_ingress
  - read_pkt_to_send
  - cf_progress_egress
  - h3_data_pause
  - cf_ngtcp2_cntrl
  - cf_ngtcp2_ctx_close
  - cf_ngtcp2_shutdown
  - cf_ngtcp2_conn_close
  - cf_ngtcp2_close
  - cf_ngtcp2_destroy
  - quic_ossl_new_session_cb
  - gtls_hs_msg_name
  - quic_gtls_handshake_cb
  - wssl_quic_new_session_cb
  - cf_ngtcp2_tls_ctx_setup
  - cf_ngtcp2_on_session_reuse
  - cf_connect_start
  - cf_ngtcp2_connect
  - cf_ngtcp2_query
  - cf_ngtcp2_conn_is_alive
  - Curl_cf_ngtcp2_create
  - Curl_conn_is_ngtcp2
  source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QUIC_MAX_STREAMS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (256*1024)
    - item_type: preproc_def
      name: QUIC_HANDSHAKE_TIMEOUT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (10*NGTCP2_SECONDS)
    - item_type: preproc_def
      name: H3_STREAM_WINDOW_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_CHUNK_SIZE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_POOL_SPARES
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE ) / 2
    - item_type: preproc_def
      name: H3_STREAM_SEND_CHUNKS
      pos:
        line_end: 102
        line_start: 100
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    - item_type: preproc_def
      name: MAX_PKT_BURST
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: '10'
    structs:
    - fields:
      - name: q
        type: struct cf_quic_ctx
      - name: peer
        type: struct ssl_peer
      - name: tls
        type: struct curl_tls_ctx
      - name: connected_path
        type: ngtcp2_path
      - name: '*qconn'
        type: ngtcp2_conn
      - name: dcid
        type: ngtcp2_cid
      - name: scid
        type: ngtcp2_cid
      - name: version
        type: uint32_t
      - name: settings
        type: ngtcp2_settings
      - name: transport_params
        type: ngtcp2_transport_params
      - name: last_error
        type: ngtcp2_ccerr
      - name: conn_ref
        type: ngtcp2_crypto_conn_ref
      - name: call_data
        type: struct cf_call_data
      - name: '*h3conn'
        type: nghttp3_conn
      - name: h3settings
        type: nghttp3_settings
      - name: started_at
        type: struct curltime
      - name: handshake_at
        type: struct curltime
      - name: stream_bufcp
        type: struct bufc_pool
      - name: scratch
        type: struct dynbuf
      - name: streams
        type: struct uint_hash
      - name: max_stream_window
        type: size_t
      - name: used_bidi_streams
        type: uint64_t
      - name: max_bidi_streams
        type: uint64_t
      - name: earlydata_max
        type: size_t
      - name: earlydata_skip
        type: size_t
      - name: tls_vrfy_result
        type: CURLcode
      - name: qlogfd
        type: int
      item_type: struct
      name: cf_ngtcp2_ctx
      pos:
        line_end: 153
        line_start: 115
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    - fields:
      - name: id
        type: curl_int64_t
      - name: sendbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: sendbuf_len_in_flight
        type: size_t
      - name: error3
        type: curl_uint64_t
      - name: upload_left
        type: curl_off_t
      - name: status_code
        type: int
      - name: xfer_result
        type: CURLcode
      item_type: struct
      name: h3_stream_ctx
      pos:
        line_end: 251
        line_start: 237
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    - fields:
      - name: stream_id
        type: curl_int64_t
      - name: '*stream'
        type: struct h3_stream_ctx
      - name: mid
        type: unsigned int
      item_type: struct
      name: cf_ngtcp2_sfind_ctx
      pos:
        line_end: 306
        line_start: 302
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: ts
        type: ngtcp2_tstamp
      - name: ps
        type: ngtcp2_path_storage
      item_type: struct
      name: pkt_io_ctx
      pos:
        line_end: 391
        line_start: 386
        source_file: /src/PROJ/curl/lib/vquic/curl_ngtcp2.c
    typedefs: []
    union: []
